eigenvalues_general_matrix T_eigenvalues_general_matrix EigenvaluesGeneralMatrix EigenvaluesGeneralMatrix eigenvalues_general_matrix (Operator)
Name
eigenvalues_general_matrix T_eigenvalues_general_matrix EigenvaluesGeneralMatrix EigenvaluesGeneralMatrix eigenvalues_general_matrix
— Compute the eigenvalues and optionally the eigenvectors of a general
matrix.
Signature
void EigenvaluesGeneralMatrix (const HTuple& MatrixID , const HTuple& ComputeEigenvectors , HTuple* EigenvaluesRealID , HTuple* EigenvaluesImagID , HTuple* EigenvectorsRealID , HTuple* EigenvectorsImagID )
void HMatrix ::EigenvaluesGeneralMatrix (const HString& ComputeEigenvectors , HMatrix* EigenvaluesRealID , HMatrix* EigenvaluesImagID , HMatrix* EigenvectorsRealID , HMatrix* EigenvectorsImagID ) const
void HMatrix ::EigenvaluesGeneralMatrix (const char* ComputeEigenvectors , HMatrix* EigenvaluesRealID , HMatrix* EigenvaluesImagID , HMatrix* EigenvectorsRealID , HMatrix* EigenvectorsImagID ) const
void HMatrix ::EigenvaluesGeneralMatrix (const wchar_t* ComputeEigenvectors , HMatrix* EigenvaluesRealID , HMatrix* EigenvaluesImagID , HMatrix* EigenvectorsRealID , HMatrix* EigenvectorsImagID ) const
(Windows only)
Description
The operator eigenvalues_general_matrix eigenvalues_general_matrix EigenvaluesGeneralMatrix EigenvaluesGeneralMatrix EigenvaluesGeneralMatrix eigenvalues_general_matrix
computes all
eigenvalues and, optionally, the left or right eigenvectors of a
square, general Matrix Matrix Matrix Matrix matrix matrix
. The matrix is defined by the
matrix handle MatrixID MatrixID MatrixID MatrixID matrixID matrix_id
. The computed eigenvectors have the
norm 1.
The operator generates the new matrices EigenvaluesReal EigenvaluesReal EigenvaluesReal EigenvaluesReal eigenvaluesReal eigenvalues_real
and EigenvaluesImag EigenvaluesImag EigenvaluesImag EigenvaluesImag eigenvaluesImag eigenvalues_imag
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 Matrix Matrix Matrix matrix matrix
.
In contrast to the operator eigenvalues_symmetric_matrix eigenvalues_symmetric_matrix EigenvaluesSymmetricMatrix EigenvaluesSymmetricMatrix EigenvaluesSymmetricMatrix eigenvalues_symmetric_matrix
,
the order of the eigenvalues is not defined.
The operator returns the matrix handles EigenvaluesRealID EigenvaluesRealID EigenvaluesRealID EigenvaluesRealID eigenvaluesRealID eigenvalues_real_id
and EigenvaluesImagID EigenvaluesImagID EigenvaluesImagID EigenvaluesImagID eigenvaluesImagID eigenvalues_imag_id
. If desired, the real and imaginary
parts of the computed eigenvectors are stored in the new matrices
EigenvectorsReal EigenvectorsReal EigenvectorsReal EigenvectorsReal eigenvectorsReal eigenvectors_real
and EigenvectorsImag EigenvectorsImag EigenvectorsImag EigenvectorsImag eigenvectorsImag eigenvectors_imag
. For
this, the operator returns valid matrix handles
EigenvectorsRealID EigenvectorsRealID EigenvectorsRealID EigenvectorsRealID eigenvectorsRealID eigenvectors_real_id
and EigenvectorsImagID EigenvectorsImagID EigenvectorsImagID EigenvectorsImagID eigenvectorsImagID eigenvectors_imag_id
.
Access to the elements of the matrix is possible e.g. with the
operator get_full_matrix get_full_matrix GetFullMatrix GetFullMatrix GetFullMatrix get_full_matrix
.
The computation type of eigenvectors can be selected via the
parameter ComputeEigenvectors ComputeEigenvectors ComputeEigenvectors ComputeEigenvectors computeEigenvectors compute_eigenvectors
. If
ComputeEigenvectors ComputeEigenvectors ComputeEigenvectors ComputeEigenvectors computeEigenvectors compute_eigenvectors
= 'none' "none" "none" "none" "none" "none" , no eigenvectors are
computed. If 'left' "left" "left" "left" "left" "left" is selected, the left eigenvalues are
computed. If 'right' "right" "right" "right" "right" "right" is selected, the right eigenvalues are
computed.
Example:
Execution Information
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
Multithreading scope: global (may be called from any thread).
Processed without parallelization.
Parameters
MatrixID MatrixID MatrixID MatrixID matrixID matrix_id
(input_control) matrix →
HMatrix , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Matrix handle of the input matrix.
ComputeEigenvectors ComputeEigenvectors ComputeEigenvectors ComputeEigenvectors computeEigenvectors compute_eigenvectors
(input_control) string →
HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Computation of the eigenvectors.
Default value:
'none'
"none"
"none"
"none"
"none"
"none"
List of values: 'left' "left" "left" "left" "left" "left" , 'none' "none" "none" "none" "none" "none" , 'right' "right" "right" "right" "right" "right"
EigenvaluesRealID EigenvaluesRealID EigenvaluesRealID EigenvaluesRealID eigenvaluesRealID eigenvalues_real_id
(output_control) matrix →
HMatrix , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Matrix handle with the real parts of the
eigenvalues.
EigenvaluesImagID EigenvaluesImagID EigenvaluesImagID EigenvaluesImagID eigenvaluesImagID eigenvalues_imag_id
(output_control) matrix →
HMatrix , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Matrix handle with the imaginary parts of the
eigenvalues.
EigenvectorsRealID EigenvectorsRealID EigenvectorsRealID EigenvectorsRealID eigenvectorsRealID eigenvectors_real_id
(output_control) matrix →
HMatrix , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Matrix handle with the real parts of the
eigenvectors.
EigenvectorsImagID EigenvectorsImagID EigenvectorsImagID EigenvectorsImagID eigenvectorsImagID eigenvectors_imag_id
(output_control) matrix →
HMatrix , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Matrix handle with the imaginary parts of the
eigenvectors.
Result
If the parameters are valid, the operator
eigenvalues_general_matrix eigenvalues_general_matrix EigenvaluesGeneralMatrix EigenvaluesGeneralMatrix EigenvaluesGeneralMatrix eigenvalues_general_matrix
returns the value 2 (H_MSG_TRUE). If
necessary, an exception is raised.
Possible Predecessors
create_matrix create_matrix CreateMatrix CreateMatrix CreateMatrix create_matrix
Possible Successors
get_full_matrix get_full_matrix GetFullMatrix GetFullMatrix GetFullMatrix get_full_matrix
,
get_value_matrix get_value_matrix GetValueMatrix GetValueMatrix GetValueMatrix get_value_matrix
,
get_diagonal_matrix get_diagonal_matrix GetDiagonalMatrix GetDiagonalMatrix GetDiagonalMatrix get_diagonal_matrix
See also
eigenvalues_symmetric_matrix eigenvalues_symmetric_matrix EigenvaluesSymmetricMatrix EigenvaluesSymmetricMatrix EigenvaluesSymmetricMatrix eigenvalues_symmetric_matrix
,
generalized_eigenvalues_symmetric_matrix generalized_eigenvalues_symmetric_matrix GeneralizedEigenvaluesSymmetricMatrix GeneralizedEigenvaluesSymmetricMatrix GeneralizedEigenvaluesSymmetricMatrix generalized_eigenvalues_symmetric_matrix
,
generalized_eigenvalues_general_matrix generalized_eigenvalues_general_matrix GeneralizedEigenvaluesGeneralMatrix GeneralizedEigenvaluesGeneralMatrix GeneralizedEigenvaluesGeneralMatrix generalized_eigenvalues_general_matrix
References
David Poole: “Linear Algebra: A Modern Introduction”; Thomson;
Belmont; 2006.
Gene H. Golub, Charles F. van Loan: “Matrix Computations”; The
Johns Hopkins University Press; Baltimore and London; 1996.
Module
Foundation