Operators

eigenvalues_general_matrix (Operator)

Name

eigenvalues_general_matrix — Compute the eigenvalues and optionally the eigenvectors of a general matrix.

Signature

eigenvalues_general_matrix( : : MatrixID, ComputeEigenvectors : EigenvaluesRealID, EigenvaluesImagID, EigenvectorsRealID, EigenvectorsImagID)

Description

The operator eigenvalues_general_matrix computes all eigenvalues and, optionally, the left or right eigenvectors of a square, general Matrix. The matrix is defined by the matrix handle MatrixID. The computed eigenvectors have the norm 1.

The operator generates the new matrices EigenvaluesReal and EigenvaluesImag with the real and the imaginary parts of the computed eigenvalues. Each matrix has one column and n rows, where n is the number of rows of the input Matrix. In contrast to the operator eigenvalues_symmetric_matrix, the order of the eigenvalues is not defined. The operator returns the matrix handles EigenvaluesRealID and EigenvaluesImagID. If desired, the real and imaginary parts of the computed eigenvectors are stored in the new matrices EigenvectorsReal and EigenvectorsImag. For this, the operator returns valid matrix handles EigenvectorsRealID and EigenvectorsImagID. Access to the elements of the matrix is possible e.g. with the operator get_full_matrix.

The computation type of eigenvectors can be selected via the parameter ComputeEigenvectors. If ComputeEigenvectors = 'none', no eigenvectors are computed. If 'left' is selected, the left eigenvalues are computed. If 'right' is selected, the right eigenvalues are computed.

Example:

Execution Information

• Multithreading type: reentrant (runs in parallel with non-exclusive operators).
• Processed without parallelization.

Parameters

MatrixID (input_control)  matrix (integer)

Matrix handle of the input matrix.

ComputeEigenvectors (input_control)  string (string)

Computation of the eigenvectors.

Default value: 'none'

List of values: 'left', 'none', 'right'

EigenvaluesRealID (output_control)  matrix (integer)

Matrix handle with the real parts of the eigenvalues.

EigenvaluesImagID (output_control)  matrix (integer)

Matrix handle with the imaginary parts of the eigenvalues.

EigenvectorsRealID (output_control)  matrix (integer)

Matrix handle with the real parts of the eigenvectors.

EigenvectorsImagID (output_control)  matrix (integer)

Matrix handle with the imaginary parts of the eigenvectors.

Result

If the parameters are valid, the operator eigenvalues_general_matrix returns the value 2 (H_MSG_TRUE). If necessary, an exception is raised.