### The Maxima on-line user's manual

Algebra Calculator

#### Eigenvectors

Function: eigenvectors (<M>)

Function: eivects (<M>) Computes eigenvectors of the matrix <M>. The return value is a list of two elements. The first is a list of the eigenvalues of <M> and a list of the multiplicities of the eigenvalues. The second is a list of lists of eigenvectors. There is one list of eigenvectors for each eigenvalue. There may be one or more eigenvectors in each list.

eivects is a synonym for eigenvectors.

The flags that affect this function are:

nondiagonalizable is set to true or false depending on whether the matrix is nondiagonalizable or diagonalizable after eigenvectors returns.

hermitianmatrix when true, causes the degenerate eigenvectors of the Hermitian matrix to be orthogonalized using the Gram-Schmidt algorithm.

knowneigvals when true causes the eigen package to assume the eigenvalues of the matrix are known to the user and stored under the global name listeigvals. listeigvals should be set to a list similar to the output eigenvalues.

The function algsys is used here to solve for the eigenvectors. Sometimes if the eigenvalues are messy, algsys may not be able to find a solution. In some cases, it may be possible to simplify the eigenvalues by first finding them using eigenvalues command and then using other functions to reduce them to something simpler. Following simplification, eigenvectors can be called again with the knowneigvals flag set to true.

Examples:

A matrix which has just one eigenvector per eigenvalue.

(%i1) M1 : matrix ([11, -1], [1, 7]);
[ 11  - 1 ]
(%o1)                      [         ]
[ 1    7  ]
(%i2) [vals, vecs] : eigenvectors (M1);
(%o2) [[[9 - sqrt(3), sqrt(3) + 9], [1, 1]],
[[[1, sqrt(3) + 2]], [[1, 2 - sqrt(3)]]]]
(%i3) for i thru length (vals[1]) do disp (val[i] = vals[1][i],
mult[i] = vals[2][i], vec[i] = vecs[i]);
val  = 9 - sqrt(3)
1

mult = 1 1

vec = [[1, sqrt(3) + 2]] 1

val = sqrt(3) + 9 2

mult = 1 2

vec = [[1, 2 - sqrt(3)]] 2

(%o3)                         done

A matrix which has two eigenvectors for one eigenvalue (namely 2).

(%i1) M1 : matrix ([0, 1, 0, 0], [0, 0, 0, 0], [0, 0, 2, 0], [0, 0, 0, 2]);
[ 0  1  0  0 ]
[            ]
[ 0  0  0  0 ]
(%o1)                    [            ]
[ 0  0  2  0 ]
[            ]
[ 0  0  0  2 ]
(%i2) [vals, vecs] : eigenvectors (M1);
(%o2) [[[0, 2], [2, 2]], [[[1, 0, 0, 0]],
[[0, 0, 1, 0], [0, 0, 0, 1]]]]
(%i3) for i thru length (vals[1]) do disp (val[i] = vals[1][i],
mult[i] = vals[2][i], vec[i] = vecs[i]);
val  = 0
1

mult = 2 1

vec = [[1, 0, 0, 0]] 1

val = 2 2

mult = 2 2

vec = [[0, 0, 1, 0], [0, 0, 0, 1]] 2

(%o3)                         done

There are also some inexact matches for eigenvectors. Try ?? eigenvectors to see them.

(%o1)                                true
(%i2)

### Related Examples

##### eigenvectors-matrix

H: matrix([E1, g], [g...

J: eigenvectors(H);

norm(J[2][1]);

Calculate

##### eigenvectors-matrix

K: matrix([-k1-k3,0,0...

[val,vec]: eigenvecto...

Calculate

##### eigenvectors-invert-matrix

A:matrix([-19/6,11/3]...

eigenvectors(A);

T:matrix([-5,1],[1/2,...

Calculate

##### eigenvectors-matrix

A:matrix([D*o*o, k_12...

eigenvectors(A);

Calculate

##### eigenvectors-invert-matrix

A : matrix([-4,15],[-...

eigenvectors(A);

P:matrix([1,1],[1/3,2...

Calculate

##### eigenvectors-matrix

m1:matrix([4, 0, 1], ...

[vals,vecs]:eigenvect...

Calculate

##### eigenvectors-exp-imagpart-matrix-realpart

A:matrix([3, 5], [-5,...

b(t):=matrix([exp(-t...

eigenvectors(A);

Calculate

##### eigenvectors-matrix

A: matrix ([-19/6, 22...

eigenvectors (A);

Calculate

##### eigenvectors-is-matrix-ratsimp-sqrt-tex-transpose

H: matrix([E1, g], [g...

J: eigenvectors(H);

v: J[2][1][1];

Calculate

##### eigenvectors-kronecker_product-matrix-product

I: matrix([1,0],[0,1]);

S_z: matrix([1,0],[0,...

S_x: matrix([0,1],[1,...

Calculate