Ask Your Question

eigenvectors of complex matrix

asked 2015-10-14 09:11:18 +0100

ismon gravatar image

updated 2023-05-19 22:10:17 +0100

FrédéricC gravatar image


I would like to find the complex eigenvectors of this matrix:


I have used the command A.eigenvectors_right() and I get the following eigenvectors (rounded off):

(-0.70711+9.4136e-17i , 0 , 0.70711), (0,1,0), (0.70711 , 0 , 0.70711)

In my checklist I should get the vectors: t1(-1,0,1), t2(0,1,0), t3*(1,0,1), where the t-values are complex factors.

How do I compute this kind of result?

Sincerly Simon

edit retag flag offensive close merge delete


Do you know what is an eigenvector?

vdelecroix gravatar imagevdelecroix ( 2015-10-14 14:11:41 +0100 )edit

It is the vector that corresponds to a given eigenvalue. It represents the vector by which translation to the same vectorspace can be done by a translation matrix or a eigenvalue. Eigenvectors can generate a basis for the vectorspace, with no higher dimension than the original vectorspace. I'm sorry if the explanation is not all correct, I'm used to discuss linear algebra in danish.

Anyways, how does your question answer mine?

ismon gravatar imageismon ( 2015-10-14 15:20:20 +0100 )edit

I think that @vdelecroix's point is that eigenvectors are not unique. Your checklist and the eigenvectors you got from Sage obtain exactly the same eigenspaces, so you are both right.

kcrisman gravatar imagekcrisman ( 2015-10-14 17:28:43 +0100 )edit

The question is not whether my checklist answers or the output from sage is correct, I know they both are! My question is how to formulate a command in sage so that the result will be of the same form as that in my checklist. It's not a question of getting a correct answer, but of how the output is displayed.

ismon gravatar imageismon ( 2015-10-14 23:16:47 +0100 )edit

There are hundreds of different ways to write down eigenvectors. None of them is canonical. You should explain with more details what you want as output (not only an example).

vdelecroix gravatar imagevdelecroix ( 2015-10-15 03:12:36 +0100 )edit

1 Answer

Sort by » oldest newest most voted

answered 2015-10-19 04:54:11 +0100

tmonteil gravatar image

updated 2015-10-19 04:55:17 +0100

What you get from Sage are vectors of euclidean norm one:

sage: [vector(CDF,i[1][0]).norm() for i in A.eigenvectors_right()]
[1.0, 1.0, 1.0]

If i try to interpret your checklist, it seems that you want to get eigenvectors of infinite norm 1. For this, you can normalize the given solution as follows:

sage: [vector(CDF,i[1][0])/vector(CDF,i[1][0]).norm(p = Infinity) for i in A.eigenvectors_right()]
[(1.0, 0.0, 0.9999999999999998),
 (1.0, 0.0, -0.9999999999999998 - 2.2570079093579266e-16*I),
 (0.0, 1.0, 0.0)]
edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2015-10-14 09:11:18 +0100

Seen: 1,437 times

Last updated: Oct 19 '15