smooth eigenvector
- To: mathgroup at smc.vnet.net
- Subject: [mg51577] smooth eigenvector
- From: acsl at dee.ufrj.br (Antonio Carlos Siqueira)
- Date: Sat, 23 Oct 2004 00:22:15 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Dear All I have to calculate the eigenvector/values of a matrix wich varies with the frequency, as a result some eigenvalues switch places between frequency samples causing the eigenvector to switchover. In fact even when the eigenvalues do not switch among themselves I find a switchover as any complex number times a eigenvector is still a suitable eigenvector. This behavior is troublesome as I need to fit the eigenvectors as a smooth frequency functions. To obtain smooth eigenvectors I can use FindRoot, using the eigenvalue and eigenvector equations and imposing the constraint that the module of any eigenvector is 1, Apply[Plus,V^2]-1==0, where V is an eigenvector. One problem is that this procedure is very time consuming, around 50 times slower than conventional eigensystem. Wouldn´t be a way to avoid this switchover using Eigensystem? Below there is a sample of my humble code Do[{w = 2 Pi f[[nm]], eq1 = Append[(Prod[w] - x*IdentityMatrix[6]).V, -1 + Apply[Plus, V^2]], sol = FindRoot[eq1, xvar], lambda[[nm]] = x /. sol, Tvsc[[nm]] = Flatten[Table[v[i] /. sol, {i, 1, 6}]], var = Join[Table[{v[i], Tvsc[[nm]]}, {i, 1, 6}], {{x, lambda[[nm]]}}]}, {nm, 2, nf}]] Thanks for your time Antonio Carlos