[ADMB Users] ADMB-RE fitting failure in 11 but not in 10.1

Tim Miller timothy.j.miller at noaa.gov
Thu Dec 6 08:47:39 PST 2012

Dear Users,

During the fitting of a random effects model in version 11 (Windows 7, 
MinGW GCC-4.5.2), I get a failure with error message:

Error in matrix inverse -- matrix singular in solve(dmatrix)

This occurs before a .par file is written. In 10.1 convergence is fine. 
The error doesn't occur in 11 when I use the sparse hessian option 
-shess and in that case I get the same result as 10.1 (with or without 

I think I have traced it to the solve function in ludcmp_solve.cpp just 
by searching for the error text in all the source code files and I think 
the error occurs when checking the determinant.  In version 11 the 
function appears to check whether exp(sum(log(fabs(determinant 
components)))) == 0.0 whereas in 10.1 it checks product(determinant 
components) == 0.0.

Assuming I have traced the source of the error correctly, why is the 
newer determinant checking method better than that in 10.1? If it is 
better, maybe there is a way to continue on rather than exiting on the 

I could provide the tpl/dat files, but fitting the model without -shess 
is annoying because it takes a while to get to the error.


More information about the Users mailing list