[R] problem to solve a matrix

Prof Brian Ripley ripley at stats.ox.ac.uk
Tue Nov 2 17:50:13 CET 2004


On Tue, 2 Nov 2004, Eve Mathieu wrote:

> Dear R group,
> 
> I have to solve a hessian matrix 40*40, called M, in order to obtain the 
> standart deviations of estimators.
> 
> When I use the function solve(M), I have the following error message: 
> "Error in solve.default(M) : Lapack routine dgesv: system is exactly singular"

Note that a Hessian matrix is symmetric and positive definite, so 
special-purpose methods are appropriate.  But that warning normally means 
exactly what it says: the matrix is singular and hence not invertible.

> Do you know an alternative approach which could succeed? I have found some 
> information about the function "ginv" (library MASS), has someone already 
> used it in such a situation?

Yes, for an exactly singular Hessian, but I knew why it was singular and 
that I wanted to ignore the two singular directions since variation along 
them would be removed at a later stage.

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595




More information about the R-help mailing list