# eigenvectors of complex matrix

Hi!

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

A=matrix(CDF,[[2-i,0,i],[0,1+i,0],[i,0,2-i]]).


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 close merge delete

Do you know what is an eigenvector?

( 2015-10-14 07:11:41 -0500 )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.

( 2015-10-14 08:20:20 -0500 )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.

( 2015-10-14 10:28:43 -0500 )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.

( 2015-10-14 16:16:47 -0500 )edit
1

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).

( 2015-10-14 20:12:36 -0500 )edit

Sort by ยป oldest newest most voted

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)]

more