# 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 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?

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

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

( 2015-10-14 23:16:47 +0100 )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-15 03:12:36 +0100 )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

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

## Stats

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

Seen: 1,335 times

Last updated: Oct 19 '15