[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference rusure::math

Title:Mathematics at DEC
Moderator:RUSURE::EDP
Created:Mon Feb 03 1986
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:2083
Total number of notes:14613

1362.0. "Getting proper vectors from a BIG matrix?" by CRIME::BIJAOUI (Real problems are in Beirut) Sun Dec 30 1990 19:12

    Hello,
    
    I have currently data sorted in a big matrix (~600*450). This data
    correspond to some real information. I would like to sort these data in
    order to obtain another interpretation of this information. 
    This may not sound too realistic, but I guess worth spending a few hrs
    on it. Actually, it will be worth after examination of the results.
    So, I have this matrix, which actually representes a series of vectors
    (600) in a 450-dimensional space.
    What I'd like to do it to compute the proper vectors, and get the
    definition of each of the vectors in the bse of the proper vectors,
    rather than in the base of the canonic vectors.
    Is this realistic (my algebra knowledge is quite old) ?
    Are there any programs that would help me achieving this ?
    
    
    Thanx for helping,
    Regards,
    Pierre.
T.RTitleUserPersonal
Name
DateLines
1362.1ALLVAX::JROTHSaturday alley up to Sunday streetSun Dec 30 1990 22:0233
    Are you trying to do principal component analysis?  If so, the
    "proper name" for what you want is are the "principal components"
    (good thinking!), rather than the eigenvectors per se.

    If this is indeed the case, then you may be in luck in that
    what you really want are the dominant components and not all
    of them.  There are efficient ways to obtain these and they
    involve what are known as Lanczos methods, which are a kind of
    generalization of the old power method for obtaining the dominant
    eigenvalue and its eigenvector.

    I've never worked on this type of problem myself so I can't
    recommend software packages off the top of my head, but I can give
    some pointers.

    Take a look in netlib (there are pointers elsewhere in this file) -
    this is a collection of mathematical routines, including the pieces
    of LINPACK and EISPACK.  Another possibility is statlib, a similar
    server containing statistical routines.

    Books which explain the computations are Golub and Van Loan's
    "Matrix Computation" and Parlett's book "The Symmetric Eigenvalue
    Problem".  Even if you wanted to just bruteforce it, you could
    try doing a SVD on the matrix and see what happens.  It's about
    2 meg, so by todays standards that's a "small matrix".

    If you need an SVD routine to try or want any clarification, let me
    know since I probably have the small matrix code online.  What I don't
    have is the Lanczos iteration stuff, but that stuff is not all that
    hard to code if you had to - as long as you don't need to write
    library grade software you can get away with a lot...

    - Jim