Equation system involving InverseDigamma(Digamma(a+1)-b*k)-1

In summary, the conversation discusses how to solve for the values of a and b given N, E, and K using the inverse digamma function and a numerical approach with Python, Matlab, or Mathematica. Pseudo code is provided to search for the best A and B values, but an analytic solution is also welcomed.
  • #1
243
3
How would one go about solving this for a and b given N, E and K?

n(0) + n(1) + … + n(K) = N
n(0)*0 + n(1)*1 + … + n(K)*K = E

Where n(k) = InverseDigamma(Digamma(a+1)-b*k)-1
 
Mathematics news on Phys.org
  • #2
I think it would have to be done numerically using Python, Matlab, or Mathematica.

Mathematica has a digamma function:

https://mathworld.wolfram.com/DigammaFunction.html

and Matlab has a digamma function:

https://www.mathworks.com/help/matlab/ref/psi.html

and Python has a version of the digamma function:

https://docs.scipy.org/doc/scipy/reference/generated/scipy.special.digamma.html

Here's some pseudo code to search for the best A, B values across a range of A, B values. It's not the fastest or the best way, and the pseudo-code needs to be written in either Python, Matlab, or Mathematica to find the answer you're looking for.

Also, the means of determining closeness could be better implemented with perhaps some other distance measurement more suited to this search.

Code:
given N , E , K

A = 0
B = 0

NDIFF= max_float_value
EDIFF = max_float_value

for a in range(a_min,a_max,a_step)

    for b in range(b_min,b_max,b_step)

        for k = 0 to K:

            X = (a+1)-b*k
            NK = inverse_digamma(digamma(X))
            N2 = N2 + NK
            E2 = E2 +k*NK

        if ((N2-N)^2+(E2-E)^2) < (NDIFF^2+EDIFF^2):
            NDIFF = (N2 - N)
            EDIFF = (E2 - E)
            A = a
            B = b

print "NDIFF = " NDIFF
print "EDIFF = " EDIFF
print "A = ". A, "  B = ", B
 
Last edited:
  • #3
Thanks, i'll try that.
If anyone has ideas for an analytic solution, just shoot :)
 

Suggested for: Equation system involving InverseDigamma(Digamma(a+1)-b*k)-1

Replies
7
Views
641
Replies
1
Views
911
Replies
11
Views
2K
Replies
1
Views
669
Replies
10
Views
2K
Replies
2
Views
739
Replies
1
Views
686
Replies
1
Views
586
Replies
2
Views
863
Replies
3
Views
1K
Back
Top