X
PrevPrev Go to previous topic
NextNext Go to next topic
Last Post 06 Aug 2012 03:17 PM by  anon
Anyone knows how to get eigenvectors and eigenvalues for singular matrix in IDL?
 3 Replies
Sort:
You are not authorized to post a reply.
Author Messages

anon



New Member


Posts:
New Member


--
06 Aug 2012 03:17 PM
    Anyone knows how to get eigenvectors and eigenvalues for singular n*n matrix in IDL? The singular matrix is not positive definite or semi-definite either, so the SVD does not equal eigendecomposition. Any ideas? In matlab, eigs could provide some eigenvalues for singular matrix. But in IDL it always gives me error when using any eig related command.

    Deleted User



    New Member


    Posts:
    New Member


    --
    07 Aug 2012 01:21 PM
    Can you provide an example of your singular matrix and what IDL functions you used and what error you are running into? Also what version of IDL are you using? Perhaps whatever you are running into has been fixed....

    Deleted User



    New Member


    Posts:
    New Member


    --
    08 Aug 2012 10:12 AM
    I am using IDL 8.0.1, I used LA_EIGENPROBLEM/HQR & EIGENVEC, cause the matrix I am using is an upper triangular adjacency matrix, it is asymmetrical and not full rank. But I then realized it was not because of it is singular, but its eigenvalues are all zero. But I then went back to test both LA_EIGENQL AND EIGENQL with matrix like: [0 2 3 4 5 0 0 5 6 7 0 0 0 5 7 0 0 0 5 6 0 0 0 0 0] LA_EIGENQL works, it gives : 0.000000 0.000000 0.000000 0.000000 5.00000 but for EIGENQL , ENVI> % EIGENQL: Input array must be symmetric. In IDL help, both LA_EIGENQL AND EIGENQL requires an n-by-n real symmetric or complex Hermitian array A. I wonder why they give me different results. Thanks.

    Deleted User



    New Member


    Posts:
    New Member


    --
    17 Aug 2012 03:15 PM
    Hi Florrie, The IDL documentation says that the matrix, for both functions, has to be a symetric array. So, I'm not sure why the LA_EIGENQL is actually given an answer at all: the input matrix needs to be "an n-by-n real symmetric or complex Hermitian array A". Is the result you see the correct answer?, ie. is the set of eigenvalues, i.e [0.000000 0.000000 0.000000 0.000000 5.00000 ], correct? For the other function, EIGENQL, the matrix just need to be symetric. See that the two examples are using symetric matrixes. Cheers, Fernando
    You are not authorized to post a reply.