cancel
Showing results for
Did you mean:
cancel
Showing results for
Did you mean:

Community Tip - Stay updated on what is happening on the PTC Community by subscribing to PTC Community Announcements. X

5-Regular Member

## Orthogonal left/right eigenvectors

Hello, community!

So far faced nonsymmetric matrix. Normally diagonalization of this kind matrices goes through transposed left and nontransposed right eigenvectors. With the command L=eigenvecs(A,"L") and R=eigenvecs(A,"R") we are supposed to get orthogonal eigen space. This functions do not provide orthogonality in some cases. But if restoring the eigenvectors by each eigenvalue, it is.

Does anyone know if there is something special I'm missing about left-right eigenvectors commands?

1 ACCEPTED SOLUTION

Accepted Solutions
23-Emerald III
(To:kmakhov)

I thinks this should do it.

First read the help on eigenvals en eigenvecs:

• eigenvals(M)—Returns a vector whose elements are the eigenvalues of M.
• eigenvec(M, z)—Returns a single normalized eigenvector associated with eigenvalue z of M. The eigenvector is normalized to unit length. The eigenvec functions uses an inverse iteration algorithm.
• eigenvecs(M, ["L"])—Returns a matrix containing all normalized eigenvectors of the matrix M. The nth column of the returned matrix is an eigenvector corresponding to the nth eigenvalue returned by eigenvals. The right eigenvector is returned by default. The eigenvecs function can also return the left eigenvector, satisfying vH · M = z · vH, where H indicates conjugate transpose (of v in this case).

Further information on the 'conjugate transpose' is found in the help on the svds() function:

• svds(A)—Returns a vector containing the singular values of A, the positive square roots of the eigenvalues of matrix AH·A, where AH is the conjugate transpose of A. You can compute AH using the transpose and complex conjugate operators as follows.

Success!
Luc

2 REPLIES 2
23-Emerald III
(To:kmakhov)

I thinks this should do it.

First read the help on eigenvals en eigenvecs:

• eigenvals(M)—Returns a vector whose elements are the eigenvalues of M.
• eigenvec(M, z)—Returns a single normalized eigenvector associated with eigenvalue z of M. The eigenvector is normalized to unit length. The eigenvec functions uses an inverse iteration algorithm.
• eigenvecs(M, ["L"])—Returns a matrix containing all normalized eigenvectors of the matrix M. The nth column of the returned matrix is an eigenvector corresponding to the nth eigenvalue returned by eigenvals. The right eigenvector is returned by default. The eigenvecs function can also return the left eigenvector, satisfying vH · M = z · vH, where H indicates conjugate transpose (of v in this case).

Further information on the 'conjugate transpose' is found in the help on the svds() function:

• svds(A)—Returns a vector containing the singular values of A, the positive square roots of the eigenvalues of matrix AH·A, where AH is the conjugate transpose of A. You can compute AH using the transpose and complex conjugate operators as follows.

Success!
Luc

5-Regular Member
(To:LucMeekes)

Dear Luc

Thank you for the explanation. Indeed I was missing the point about the conjugate transpose when finding left eigenvectors.

Normally when working with the dynamic analisys I diagonalized the matrices (with the symmetric ones you do it with the right eigenvectors only) easily for the convolution integral to get the responce of the structure to the certain force function. But now I see that for nonsymmetric things it turns to be much harder, since these matrices are not always (I would say almost never) diagonalized with the left/right eigenvectors.

I appreciate if you can give an idea about in which direction to think or a short practical case.

I'm reading Wilkinson and the other literature for the dynamic analisys. But the math they provide seems to me very chalenging.

Regards,

Kirill

Announcements
Top Tags