Borrar filtros
Borrar filtros

Singular Matrix

6 visualizaciones (últimos 30 días)
Panos
Panos el 10 de Mzo. de 2012
Hello all!
I am trying to do a left hand inversion (using backslash operator) but I get the following message:
Matrix is singular to working precision. RCOND=NaN
What can I do to avoid this and make the operation? The matrix is 1500x1500 and has a lot of zeros...
Thank you.

Respuestas (2)

William
William el 10 de Mzo. de 2012
The matrix you are working with is not full rank or no independent. This means that some columns or rows within the matrix are functions of others. The best way to figure out which columns or rows are the problems is to delete a row or column and use rank() to see if the number returned is the minimum number of rows or columns. once this is true than you have an independent matrix and the operation should work.
If this doesn't make sense try searching for "Matrix independence" on google
Hope this helps
  5 comentarios
Walter Roberson
Walter Roberson el 13 de Oct. de 2012
Please expand on "still it doesn't work"
Venkat R
Venkat R el 14 de Oct. de 2012
Expanding I am using two software packages to compute GMM
1. First one gives (at the Expectation Maximization stage)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
2. The other gives
??? Error using ==> chol Matrix must be positive definite.
Although both the packages work fine for a sample 2x1000 matrix fine.
3. I even tried
[vec,val] = eig(dscr);
val(val<0) = eps;
dscr1 = vec*val*vec';
as mentioned in
But the same 1) and 2) are continuing
regards,
Venkat

Iniciar sesión para comentar.


Panos
Panos el 11 de Mzo. de 2012
Thank you for your answer William!
The problem was that some rows of the matrix had NaN entries. Consequently, the inverse could not be calculated by MatLab. By using rank I identified them (the result was NaN istead of the minimum rows/columns) and I found a bug to my model. Thanks again!

Categorías

Más información sobre Operating on Diagonal Matrices en Help Center y File Exchange.

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by