[ADMB Users] sparse matrix inverse

dave fournier davef at otter-rsch.com
Thu Sep 2 11:03:28 PDT 2010


I thought maybe I should explain what is going on here.

It is not really necessary to invert the sparse Hessian.
The Hessian comes up in 2 calculations.  Let H
denote the Hessian.  One needs log(det(inv(H))), but this can be
calculated from the sparse choleski decomposition of H.
One also needs   inv(H)*L_{xu}
where L{xu} is the second crossed derivatives of the log likelihood
wrt the fixed effects x and the random effects u.  If there are
10000 random effects and 10 fixed effects this is a 10000 x 10 matrix
and one needs to do just 10 "solves"

       solve(H,L_{xu})

which can also be done using the sparse choleski decomposition.
The reason it is in my code and not the free code is that after 
delivering the code
to the ADMB foundation
it was necessary to make changes to help existing users so the two code 
bases
forked at that point. Now they will need to be merged again for these
features to be included in the free code.




More information about the Users mailing list