# eig

Eigenvalues and eigenvectors of symbolic matrix

## Syntax

``lambda = eig(A)``
``[V,D] = eig(A)``
``[V,D,P] = eig(A)``
``lambda = eig(vpa(A))``
``[V,D] = eig(vpa(A))``

## Description

example

````lambda = eig(A)` returns a symbolic vector containing the eigenvalues of the square symbolic matrix `A`.```

example

````[V,D] = eig(A)` returns matrices V and D. The columns of `V` present eigenvectors of `A`. The diagonal matrix `D` contains eigenvalues. If the resulting `V` has the same size as `A`, the matrix `A` has a full set of linearly independent eigenvectors that satisfy `A*V = V*D`.```
````[V,D,P] = eig(A)` returns a vector of indices `P`. The length of `P` equals to the total number of linearly independent eigenvectors, so that `A*V = V*D(P,P)`.```

example

````lambda = eig(vpa(A))` returns numeric eigenvalues using variable-precision arithmetic.```
````[V,D] = eig(vpa(A))` also returns numeric eigenvectors.```

## Examples

collapse all

Compute eigenvalues for the magic square of order 5.

```M = sym(magic(5)); eig(M)```
```ans = 65 (625/2 - (5*3145^(1/2))/2)^(1/2) ((5*3145^(1/2))/2 + 625/2)^(1/2) -(625/2 - (5*3145^(1/2))/2)^(1/2) -((5*3145^(1/2))/2 + 625/2)^(1/2)```

Compute numeric eigenvalues for the magic square of order 5 using variable-precision arithmetic.

```M = magic(sym(5)); eig(vpa(M))```
```ans = 65.0 21.27676547147379553062642669797423 13.12628093070921880252564308594914 -13.126280930709218802525643085949 -21.276765471473795530626426697974```

Compute the eigenvalues and eigenvectors for one of the MATLAB® test matrices.

`A = sym(gallery(5))`
```A = [ -9, 11, -21, 63, -252] [ 70, -69, 141, -421, 1684] [ -575, 575, -1149, 3451, -13801] [ 3891, -3891, 7782, -23345, 93365] [ 1024, -1024, 2048, -6144, 24572] ```
`[v, lambda] = eig(A)`
```v = 0 21/256 -71/128 973/256 1 lambda = [ 0, 0, 0, 0, 0] [ 0, 0, 0, 0, 0] [ 0, 0, 0, 0, 0] [ 0, 0, 0, 0, 0] [ 0, 0, 0, 0, 0]```

## Input Arguments

collapse all

Matrix, specified as a symbolic matrix.

## Limitations

Matrix computations involving many symbolic variables can be slow. To increase the computational speed, reduce the number of symbolic variables by substituting the given values for some variables.