Version:

Last Modified: March 15, 2017

Finds the eigenvalues and right eigenvectors of a square matrix.

Use the Back Transform Eigenvectors node after balancing a matrix with the Matrix Balance node and computing the eigenvectors of the balanced matrix with the Eigenvalues and Vectors node. Use the outputs of the Matrix Balance node and the Eigenvalues and Vectors node as the inputs of the Back Transform Eigenvectors node.

Type of the input matrix.

Specifying the matrix type allows this node to execute more quickly by avoiding unnecessary computations, which could introduce numerical inaccuracy.

A symmetric matrix or Hermitian matrix needs less computation than a general matrix.

Name | Value | Description |
---|---|---|

General | 0 | A matrix that is not symmetric or Hermitian. |

Symmetric or Hermitian | 1 | A matrix that is symmetric if it is real or Hermitian if it is complex. |

**Default: **General

An *n*-by-*n* square matrix, where *n* is the number of rows and columns of the input matrix.

This input accepts a 2D array of double-precision, floating point numbers or 2D array of complex double-precision, floating point numbers.

A value specifying whether this node computes eigenvalues and vectors.

Name | Value | Description |
---|---|---|

Eigenvalues | 0 | The node computes only the eigenvalues of the input matrix. |

Eigenvalues and Vectors | 1 | The node computes both the eigenvalues and the eigenvectors of the input matrix. |

**Default: **Eigenvalues and Vectors

Error conditions that occur before this node runs.

The node responds to this input according to standard error behavior.

Standard Error Behavior

Many nodes provide an **error in** input and an **error out** output so that the node can respond to and communicate errors that occur while code is running. The value of **error in** specifies whether an error occurred before the node runs. Most nodes respond to values of **error in** in a standard, predictable way.

**Default: **No error

A complex vector of *n* elements that contains all of the computed eigenvalues of the input matrix. The input matrix could have complex eigenvalues if it is not symmetric or Hermitian.

An *n*-by-*n* complex matrix containing all of the computed eigenvectors of the input matrix.

The *i*^{th} column of this output is the eigenvector corresponding to the *i*^{th} component of **eigenvalues**. Each eigenvector is normalized so that its Euclidean norm equals 1.

If **output option** is Eigenvalues, this output is an empty array.

Error information.

The node produces this output according to standard error behavior.

Standard Error Behavior

**error in** input and an **error out** output so that the node can respond to and communicate errors that occur while code is running. The value of **error in** specifies whether an error occurred before the node runs. Most nodes respond to values of **error in** in a standard, predictable way.

The eigenvalue problem is to determine the nontrivial solutions to the equation:

*A**x* = λ*x*

where

*A*is an*n*-by-*n*square matrix*x*is a vector with*n*elements- λ is a scalar

The *n* values of λ that satisfy the equation are the eigenvalues of *A* and the corresponding values of *x* are the right eigenvectors of *n*. A real, symmetric matrix always has real eigenvalues and eigenvectors.

This node returns the real eigenvalues in ascending order if the input matrix is a real symmetric matrix or a Hermitian matrix.

**Where This Node Can Run: **

Desktop OS: Windows

FPGA: This product does not support FPGA devices