Skip to content

Commit ce9310d

Browse files
committed
fixed inverse gamma gradient functions
1 parent 84c2b06 commit ce9310d

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

pymc/flib.f

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2792,7 +2792,7 @@ SUBROUTINE igamma_grad_x(x,alpha,beta,n,na,nb,gradxlike)
27922792
if (not_scalar_b) beta_tmp = beta(i)
27932793

27942794

2795-
gradxlike(i) = -(alpha_tmp + 1.0)/x(i) + 1.0d0/beta_tmp/x(i)**2
2795+
gradxlike(i) = -(alpha_tmp + 1.0)/x(i) + beta_tmp/x(i)**2
27962796

27972797
enddo
27982798

@@ -2849,7 +2849,7 @@ SUBROUTINE igamma_grad_alpha(x,alpha,beta,n,na,nb,gradalphalike)
28492849
if (not_scalar_b) beta_tmp = beta(i)
28502850

28512851

2852-
gradalpha = -dlog(x(i)) - psi(alpha_tmp) - dlog(beta_tmp)
2852+
gradalpha = -dlog(x(i)) - psi(alpha_tmp) + dlog(beta_tmp)
28532853

28542854
if (not_scalar_a) then
28552855
gradalphalike(i) = gradalpha
@@ -2909,7 +2909,7 @@ SUBROUTINE igamma_grad_beta(x,alpha,beta,n,na,nb,gradbetalike)
29092909
if (not_scalar_a) alpha_tmp = alpha(i)
29102910
if (not_scalar_b) beta_tmp = beta(i)
29112911

2912-
gradbeta = 1d0/(x(i) * beta_tmp**2) - alpha_tmp/beta_tmp
2912+
gradbeta = alpha_tmp/beta_tmp - 1d0/x(i)
29132913

29142914
if (not_scalar_a) then
29152915
gradbetalike(i) = gradbeta

0 commit comments

Comments
 (0)