Borrar filtros
Borrar filtros

generalized eignvalues/eignvectors

2 visualizaciones (últimos 30 días)
MA
MA el 4 de Sept. de 2020
Comentada: MA el 5 de Sept. de 2020
I want to solve the following generalized eignvalues/eignvector problem:
A*w=D*B*w
Where A is my first square matrix and B my second one, D is the eignvalues and w contains the eignvectors.
I tried to look at https://www.mathworks.com/help/matlab/ref/eig.html#d120e309738 but I did not get the same form I want.
is it just enough to state my problem as the following:
[w,D]=eig(A,B)
or there is another solution. Any suggestion? Thanks very much
  3 comentarios
David Goodmanson
David Goodmanson el 5 de Sept. de 2020
Hello MA,
For the w matrix, one finds column eigenvectors, each with its own eigenvalue, and concatenates them to produce w. Is it the case that for each eigenevector u and its associated eigenvalue lambda, you are solving the equation
A*u = lamda*B*u?
Because if so, the correct resulting equation is
A*w = B*w*D
where D is the diagonal matrix of eigenvalues, and it multiplies on the right. You obtain the generalized eigenvalue form that is solved by Matlab.
Bruno Luong
Bruno Luong el 5 de Sept. de 2020
Editada: Bruno Luong el 5 de Sept. de 2020
The left eigen vectors
w'A= lamdda*w'*B % marix equation: W'*A = D*W'*B
can also be returned by MATLAB with 3-output syntax of EIG
[~,D,W] = eig(A,B)
w is columns of W, lambda diagonal elements of D.
Note that both left/right can be also obtained by Schur's decomposition with MATLAB QZ, but this is another topic.

Iniciar sesión para comentar.

Respuestas (1)

Asad (Mehrzad) Khoddam
Asad (Mehrzad) Khoddam el 4 de Sept. de 2020
If you multiply both sides by inv(D) we will have:
B*w = inv(D) * A * B
So you can use:
[w, invD] = eig(B, A);
D = inv(InvD);
  3 comentarios
Asad (Mehrzad) Khoddam
Asad (Mehrzad) Khoddam el 5 de Sept. de 2020
Yes, you are right
MA
MA el 5 de Sept. de 2020
Thanks for your answers.

Iniciar sesión para comentar.

Categorías

Más información sobre Mathematics en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by