generalized_eigenvalues_general_matrix T_generalized_eigenvalues_general_matrix GeneralizedEigenvaluesGeneralMatrix GeneralizedEigenvaluesGeneralMatrix generalized_eigenvalues_general_matrix (Operator)
generalized_eigenvalues_general_matrix T_generalized_eigenvalues_general_matrix GeneralizedEigenvaluesGeneralMatrix GeneralizedEigenvaluesGeneralMatrix generalized_eigenvalues_general_matrix
— Compute the generalized eigenvalues and optionally the generalized
eigenvectors of general matrices.
Signature
void GeneralizedEigenvaluesGeneralMatrix (const HTuple& MatrixAID , const HTuple& MatrixBID , const HTuple& ComputeEigenvectors , HTuple* EigenvaluesRealID , HTuple* EigenvaluesImagID , HTuple* EigenvectorsRealID , HTuple* EigenvectorsImagID )
void HMatrix ::GeneralizedEigenvaluesGeneralMatrix (const HMatrix& MatrixBID , const HString& ComputeEigenvectors , HMatrix* EigenvaluesRealID , HMatrix* EigenvaluesImagID , HMatrix* EigenvectorsRealID , HMatrix* EigenvectorsImagID ) const
void HMatrix ::GeneralizedEigenvaluesGeneralMatrix (const HMatrix& MatrixBID , const char* ComputeEigenvectors , HMatrix* EigenvaluesRealID , HMatrix* EigenvaluesImagID , HMatrix* EigenvectorsRealID , HMatrix* EigenvectorsImagID ) const
void HMatrix ::GeneralizedEigenvaluesGeneralMatrix (const HMatrix& MatrixBID , const wchar_t* ComputeEigenvectors , HMatrix* EigenvaluesRealID , HMatrix* EigenvaluesImagID , HMatrix* EigenvectorsRealID , HMatrix* EigenvectorsImagID ) const
(
Windows only)
static void HOperatorSet .GeneralizedEigenvaluesGeneralMatrix (HTuple matrixAID , HTuple matrixBID , HTuple computeEigenvectors , out HTuple eigenvaluesRealID , out HTuple eigenvaluesImagID , out HTuple eigenvectorsRealID , out HTuple eigenvectorsImagID )
void HMatrix .GeneralizedEigenvaluesGeneralMatrix (HMatrix matrixBID , string computeEigenvectors , out HMatrix eigenvaluesRealID , out HMatrix eigenvaluesImagID , out HMatrix eigenvectorsRealID , out HMatrix eigenvectorsImagID )
Description
The operator generalized_eigenvalues_general_matrix generalized_eigenvalues_general_matrix GeneralizedEigenvaluesGeneralMatrix GeneralizedEigenvaluesGeneralMatrix generalized_eigenvalues_general_matrix
computes all generalized eigenvalues and, optionally, the left
or right generalized eigenvectors of the square, general matrices
MatrixA
and MatrixB
. Both matrices must have
identical dimensions. The matrices are defined by the matrix
handles MatrixAID MatrixAID MatrixAID matrixAID matrix_aid
and MatrixBID MatrixBID MatrixBID matrixBID matrix_bid
. 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 or columns of the input
matrices. In contrast to the operator
generalized_eigenvalues_symmetric_matrix generalized_eigenvalues_symmetric_matrix GeneralizedEigenvaluesSymmetricMatrix GeneralizedEigenvaluesSymmetricMatrix generalized_eigenvalues_symmetric_matrix
, the order of the
generalized eigenvalues is not defined.
The operator returns the matrix handles
EigenvaluesRealID EigenvaluesRealID EigenvaluesRealID eigenvaluesRealID eigenvalues_real_id
and EigenvaluesImagID EigenvaluesImagID EigenvaluesImagID eigenvaluesImagID eigenvalues_imag_id
. If
desired, the real and imaginary parts of the respective
eigenvectors are stored in the new matrices
EigenvectorsReal
and EigenvectorsImag
. Here,
the jth column of the matrices of eigenvectors contains the
related eigenvector to the jth eigenvalue. For this, the
operator returns additionally the matrix handles
EigenvectorsRealID EigenvectorsRealID EigenvectorsRealID eigenvectorsRealID eigenvectors_real_id
and 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 get_full_matrix
or get_sub_matrix get_sub_matrix GetSubMatrix GetSubMatrix get_sub_matrix
.
The computation type of eigenvectors can be selected via the
parameter ComputeEigenvectors ComputeEigenvectors ComputeEigenvectors computeEigenvectors compute_eigenvectors
. If
ComputeEigenvectors ComputeEigenvectors ComputeEigenvectors computeEigenvectors compute_eigenvectors
= 'none' "none" "none" "none" "none" , no eigenvectors
are computed and the operator is faster. For this, the matrix
handles EigenvectorsRealID EigenvectorsRealID EigenvectorsRealID eigenvectorsRealID eigenvectors_real_id
and EigenvectorsImagID EigenvectorsImagID EigenvectorsImagID eigenvectorsImagID eigenvectors_imag_id
are invalid. If 'right' "right" "right" "right" "right" is selected, the right generalized
eigenvalues are computed. The formula for the calculation of the
result is
with
representing the
th (complex) eigenvalue
and
represents the corresponding (complex) eigenvector.
If 'left' "left" "left" "left" "left" is selected, the left generalized eigenvalues
are computed. The formula for the calculation of the result is
with
represents the conjugate-transposed of
.
Example:
ComputeEigenvectors ComputeEigenvectors ComputeEigenvectors computeEigenvectors compute_eigenvectors
= 'right' "right" "right" "right" "right"
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
MatrixAID MatrixAID MatrixAID matrixAID matrix_aid
(input_control) matrix →
HMatrix , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Matrix handle of the input matrix A.
MatrixBID MatrixBID MatrixBID matrixBID matrix_bid
(input_control) matrix →
HMatrix , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Matrix handle of the input matrix B.
ComputeEigenvectors ComputeEigenvectors ComputeEigenvectors computeEigenvectors compute_eigenvectors
(input_control) string →
HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Computation of the eigenvectors.
Default:
'none'
"none"
"none"
"none"
"none"
List of values:
'left' "left" "left" "left" "left" , 'none' "none" "none" "none" "none" , 'right' "right" "right" "right" "right"
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 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 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 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
generalized_eigenvalues_general_matrix generalized_eigenvalues_general_matrix GeneralizedEigenvaluesGeneralMatrix GeneralizedEigenvaluesGeneralMatrix generalized_eigenvalues_general_matrix
returns the value
2 (
H_MSG_TRUE )
. If necessary, an exception is raised.
Possible Predecessors
create_matrix create_matrix CreateMatrix CreateMatrix create_matrix
Possible Successors
get_full_matrix get_full_matrix GetFullMatrix GetFullMatrix get_full_matrix
,
get_value_matrix get_value_matrix GetValueMatrix GetValueMatrix get_value_matrix
,
get_diagonal_matrix get_diagonal_matrix GetDiagonalMatrix GetDiagonalMatrix get_diagonal_matrix
See also
generalized_eigenvalues_symmetric_matrix generalized_eigenvalues_symmetric_matrix GeneralizedEigenvaluesSymmetricMatrix GeneralizedEigenvaluesSymmetricMatrix generalized_eigenvalues_symmetric_matrix
,
eigenvalues_symmetric_matrix eigenvalues_symmetric_matrix EigenvaluesSymmetricMatrix EigenvaluesSymmetricMatrix eigenvalues_symmetric_matrix
,
eigenvalues_general_matrix eigenvalues_general_matrix EigenvaluesGeneralMatrix EigenvaluesGeneralMatrix 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