Message Boards Message Boards

0
|
3987 Views
|
2 Replies
|
1 Total Likes
View groups...
Share
Share this post:

Matrix diagonalization by eigen decomposition

Posted 4 years ago

Hey! Let A be n×n matrix. I am looking for its D eigenvalue- and X eigenvector matrices for which: X×D÷X = A, what's more f(A) = X×f(D)÷X.

In this example:

A = {{1,2},{3,2}}

Let's determine its eigenvectors and -values:

{Da, Xa} = Eigensystem[{{1, 2}, {3, 2}}]

The output: {{4, -1}, {{2, 3}, {-1, 1}}} where the eigenvalues are correct and the eigenvectors are not! Because:

Xa*DiagonalMatrix[Da]/Xa returns {{4, 0}, {0, -1}} 

which differs to matrix A. I would like to get {{-1,2/3},{1,1}} as eigenvectors. How to solve the problem?

(I would like to use it for iteration of bigger Carleman matrices. Thank you!)

POSTED BY: Kristóf Vörös
2 Replies

You are right. I just misused the functions. Now it works:

Xb = Transpose[Eigenvectors[A]]

Db = DiagonalMatrix[Eigenvalues[A]]

And Xb.Db.Inverse[Xb] returns A as it should be. Thank you!

POSTED BY: Kristóf Vörös

One can checkthe documentation for Eigensystem for how to get the diagonalization: "The eigenvalues and eigenvectors satisfy the matrix equation m.Transpose[vectors]==Transpose[vectors].DiagonalMatrix[values]. »"

The eigenvectors in this example are quite correct, by the way. Stating otherwise is simply misrepresenting the situation.

POSTED BY: Daniel Lichtblau
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract