Re: singular value decompostion [message #16176 is a reply to message #16035] |
Thu, 01 July 1999 00:00   |
Dave Bazell
Messages: 2 Registered: July 1999
|
Junior Member |
|
|
H T Onishi wrote:
> This is not a complete answer but perhaps adds some insight.
>
> First of all I believe that your U from Matlab is in error. The .46 should
> be -.46.
>
> Second, if you define x as below and then do svdc,x,w,u,v,/col and then
> stuff w into the diagonal elements of a 4x4 array, say ww, and finally
> compute u # ww # transpose(v), you will get x back.
>
> x = u # ww # transpose(v)
>
> as it should.
>
> Unfortunately the # operator in IDL does the row/col reversal from
> "standard" matrix multiplication.
>
> However, if you compute transpose(v) ## w ## u then you will also get x
> back. Since ## computes the "standard" matrix multiply this means that
>
> u from Matlab = transpose(v) from IDL
> v from Matlab = transpose(u) from IDL
>
> both of which are true for the non-singular vectors with the exception of
> sign differences. I don't think that the sign differences are important
> since these vectors will span the same subspaces of a 4 dimensional real
> vector space.
>
> Finally, regarding the column vectors in U from Matlab which do not
> correspond to the column vectors in transpose(V) from IDL, these vectors
> span the two dimensional null space for this particular linear
> transformation and they are therefore arbitrary within this null space as
> long as they are normalized and orthogonal. Another way of putting this is
> that the two null col vectors in U can be combined linearly to give the two
> col vectors in transpose(V). Try this out. (This is how I decided that the
> .46 should be -.46)
>
> Howard Onishi
Thanks, that clarifies some points. You were correct, I copied down a .46
rather than a -.46.
I will run through your exercise to make sure I understand correctly.
Do you have any experience with Principal component analysis and how that can
be done with SVD?
Thanks again,
Dave
|
|
|