Name
generalized_eigenvalues_general_matrixT_generalized_eigenvalues_general_matrixGeneralizedEigenvaluesGeneralMatrixGeneralizedEigenvaluesGeneralMatrix — Compute the generalized eigenvalues and optionally the generalized
eigenvectors of general matrices.
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
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)
The operator generalized_eigenvalues_general_matrixgeneralized_eigenvalues_general_matrixGeneralizedEigenvaluesGeneralMatrixGeneralizedEigenvaluesGeneralMatrixGeneralizedEigenvaluesGeneralMatrix
computes all generalized eigenvalues and, optionally, the left
or right generalized eigenvectors of the square, general matrices
MatrixAMatrixAMatrixAMatrixAmatrixA and MatrixBMatrixBMatrixBMatrixBmatrixB. Both matrices must have
identical dimensions. The matrices are defined by the matrix
handles MatrixAIDMatrixAIDMatrixAIDMatrixAIDmatrixAID and MatrixBIDMatrixBIDMatrixBIDMatrixBIDmatrixBID. The computed
eigenvectors have the norm 1.
The operator generates the new matrices EigenvaluesRealEigenvaluesRealEigenvaluesRealEigenvaluesRealeigenvaluesReal
and EigenvaluesImagEigenvaluesImagEigenvaluesImagEigenvaluesImageigenvaluesImag 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_matrixgeneralized_eigenvalues_symmetric_matrixGeneralizedEigenvaluesSymmetricMatrixGeneralizedEigenvaluesSymmetricMatrixGeneralizedEigenvaluesSymmetricMatrix, the order of the
generalized eigenvalues is not defined.
The operator returns the matrix handles
EigenvaluesRealIDEigenvaluesRealIDEigenvaluesRealIDEigenvaluesRealIDeigenvaluesRealID and EigenvaluesImagIDEigenvaluesImagIDEigenvaluesImagIDEigenvaluesImagIDeigenvaluesImagID. If
desired, the real and imaginary parts of the respective
eigenvectors are stored in the new matrices
EigenvectorsRealEigenvectorsRealEigenvectorsRealEigenvectorsRealeigenvectorsReal and EigenvectorsImagEigenvectorsImagEigenvectorsImagEigenvectorsImageigenvectorsImag. 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
EigenvectorsRealIDEigenvectorsRealIDEigenvectorsRealIDEigenvectorsRealIDeigenvectorsRealID and EigenvectorsImagIDEigenvectorsImagIDEigenvectorsImagIDEigenvectorsImagIDeigenvectorsImagID.
Access to the elements of the matrix is possible, e.g., with the
operator get_full_matrixget_full_matrixGetFullMatrixGetFullMatrixGetFullMatrix or get_sub_matrixget_sub_matrixGetSubMatrixGetSubMatrixGetSubMatrix.
The computation type of eigenvectors can be selected via the
parameter ComputeEigenvectorsComputeEigenvectorsComputeEigenvectorsComputeEigenvectorscomputeEigenvectors. If
ComputeEigenvectorsComputeEigenvectorsComputeEigenvectorsComputeEigenvectorscomputeEigenvectors = 'none'"none""none""none""none", no eigenvectors
are computed and the operator is faster. For this, the matrix
handles EigenvectorsRealIDEigenvectorsRealIDEigenvectorsRealIDEigenvectorsRealIDeigenvectorsRealID and EigenvectorsImagIDEigenvectorsImagIDEigenvectorsImagIDEigenvectorsImagIDeigenvectorsImagID
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
If 'left'"left""left""left""left" is selected, the left generalized eigenvalues
are computed. The formula for the calculation of the result is
Example:
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Matrix handle of the input matrix A.
Matrix handle of the input matrix B.
Computation of the eigenvectors.
Default value:
'none'
"none"
"none"
"none"
"none"
List of values: 'left'"left""left""left""left", 'none'"none""none""none""none", 'right'"right""right""right""right"
Matrix handle with the real parts of the
eigenvalues.
Matrix handle with the imaginary parts of the
eigenvalues.
Matrix handle with the real parts of the
eigenvectors.
Matrix handle with the imaginary parts of the
eigenvectors.
If the parameters are valid, the operator
generalized_eigenvalues_general_matrixgeneralized_eigenvalues_general_matrixGeneralizedEigenvaluesGeneralMatrixGeneralizedEigenvaluesGeneralMatrixGeneralizedEigenvaluesGeneralMatrix returns the value
2 (H_MSG_TRUE). If necessary, an exception is raised.
create_matrixcreate_matrixCreateMatrixCreateMatrixCreateMatrix
get_full_matrixget_full_matrixGetFullMatrixGetFullMatrixGetFullMatrix,
get_value_matrixget_value_matrixGetValueMatrixGetValueMatrixGetValueMatrix,
get_diagonal_matrixget_diagonal_matrixGetDiagonalMatrixGetDiagonalMatrixGetDiagonalMatrix
generalized_eigenvalues_symmetric_matrixgeneralized_eigenvalues_symmetric_matrixGeneralizedEigenvaluesSymmetricMatrixGeneralizedEigenvaluesSymmetricMatrixGeneralizedEigenvaluesSymmetricMatrix,
eigenvalues_symmetric_matrixeigenvalues_symmetric_matrixEigenvaluesSymmetricMatrixEigenvaluesSymmetricMatrixEigenvaluesSymmetricMatrix,
eigenvalues_general_matrixeigenvalues_general_matrixEigenvaluesGeneralMatrixEigenvaluesGeneralMatrixEigenvaluesGeneralMatrix
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.
Foundation