La.svd of a symmetric matrix
On Jan 16, 2010, at 8:10 AM, Stefano Sofia wrote:
Dear R list users, the singluar value decomposition of a symmetric matrix M is UDV^(T), where U = V. La.svd(M) gives as output three elements: the diagonal of D and the two orthogonal matrices u and vt (which is already the transpose of v). I noticed that the transpose of vt is not exactly u. Why is that?
Well, it would have been u and t(vt) that you might have been thinking
should be equal. And they are equal up to an orthonormal transformation.
> samp <-sample(1:100, 9)
> M <- matrix(samp,3)+matrix(samp,3,byrow=T)
> all.equal( La.svd(M)$vt *c(1,-1,1) , t(La.svd(M)$u) )
[1] "Mean relative difference: 0.6169069"
> M
[,1] [,2] [,3]
[1,] 66 101 95
[2,] 101 76 104
[3,] 95 104 26
> La.svd(M)$vt
[,1] [,2] [,3]
[1,] -0.5853410 -0.6225788 -0.51939540
[2,] 0.2966601 0.4317295 -0.85182300
[3,] 0.7545652 -0.6526908 -0.06801466
> t(La.svd(M)$u)
[,1] [,2] [,3]
[1,] -0.5853410 -0.6225788 -0.51939540
[2,] -0.2966601 -0.4317295 0.85182300
[3,] -0.7545652 0.6526908 0.06801466
> all.equal( La.svd(M)$vt *c(1,-1,-1) , t(La.svd(M)$u) )
[1] TRUE
And, of course, numerical accuracy gets in the way of exact equality:
> La.svd(M)$vt *c(1,-1,-1) == t(La.svd(M)$u)
[,1] [,2] [,3]
[1,] FALSE FALSE FALSE
[2,] FALSE FALSE FALSE
[3,] TRUE FALSE TRUE
David. > > thank you for your attention and your help > Stefano > > AVVISO IMPORTANTE: Questo messaggio di posta elettronica pu? > contenere informazioni confidenziali, pertanto ? destinato solo a > persone autorizzate alla ricezione. I messaggi di posta elettronica > per i client di Regione Marche possono contenere informazioni > confidenziali e con privilegi legali. Se non si ? il destinatario > specificato, non leggere, copiare, inoltrare o archiviare questo > messaggio. Se si ? ricevuto questo messaggio per errore, inoltrarlo > al mittente ed eliminarlo completamente dal sistema del proprio > computer. Ai sensi dell'art. 6 della DGR n. 1394/2008 si segnala > che, in caso di necessit? ed urgenza, la risposta al presente > messaggio di posta elettronica pu? essere visionata da persone > estranee al destinatario. > IMPORTANT NOTICE: This e-mail message is intended to be received > only by persons entitled to receive the confidential information it > may contain. E-mail messages to clients of Regione Marche may > contain information that is confidential and legally privileged. > Please do not read, copy, forward, or store this message unless you > are an intended recipient of it. If you have received this message > in error, please forward it to the sender and delete it completely > from your computer system. > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. David Winsemius, MD Heritage Laboratories West Hartford, CT