RE: [Q] symbolic SVD?
- To: mathgroup at smc.vnet.net
- Subject: [mg26852] RE: [mg26809] [Q] symbolic SVD?
- From: Mikael Adlers <mikael at mathcore.com>
- Date: Thu, 25 Jan 2001 01:13:29 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
Hi, since the SVD and eigenvalue problem is closely related it is possible to use the function Eigenvalues/Eigenvectors to compute the symbolic singular values and vectors for low dimensional matrices. (However, I should not recommend if since the expressions will be quite awfull.) Let A = U S Transpose[V] be the singular value decomposition of A (A mxn matrix, U orthonormal mxm S diagonal mxn and V orthonormal nxn) then the following relation is true Sqrt[Eigenvalues[Transpose[A].A]] = Singular values of A Eigenvectors[Transpose[A].A] = 'almost' the right singular vectors to A (V) Eigenvectors[A.Transpose[A]] = 'almost' the left singular vectors to A (U) To obtain the singular vectors youll have to normalize the vector length to 1 (by e.g. U = DiagonalMatrix[1/(VectorNorm[#,2]&)/@U].U ) Hope this helps, /Mikael ------------------------------------------------------------------ Mikael Adlers, Ph.D. email: mikael at mathcore.com MathCore AB phone: +4613 32 85 07 Teknikringen 1F fax: 21 27 01 SE-583 30 Linköping, Sweden > -----Original Message----- > From: research at proton.csl.uiuc.edu To: mathgroup at smc.vnet.net > [mailto:research at proton.csl.uiuc.edu] > Sent: den 24 januari 2001 10:19 > To: mathgroup at smc.vnet.net > Subject: [mg26852] [mg26809] [Q] symbolic SVD? > > > > > Sorry about reposting. > I've not received any reply yet, > and I tried several ways, but I couldn't get a clue, either. > So if anyone can help, that would be appreciated. > > ------------------------------------------------------------- > > I've used 'symbolic' calculation in mathematica in many ways, > but this time, > I wonder if mathematica can solve symbolic matrix operation. > Specifically, > > m = {{a, b}, > {c, d}, > {e, f}} > > SingluarValues[m] > > returns > > SingularValues::"svdf": "SingularValues has received a matrix > with infinite precision." > > (a,b,c,d,e,f are all symbolics.) > I need to do several symbolic matrix operations such as > SingularValues. > Is there any way to do that? > Thank you. >