ClassesClasses | | Operators

generalized_eigenvalues_general_matrixT_generalized_eigenvalues_general_matrixGeneralizedEigenvaluesGeneralMatrixGeneralizedEigenvaluesGeneralMatrix (Operator)

Name

generalized_eigenvalues_general_matrixT_generalized_eigenvalues_general_matrixGeneralizedEigenvaluesGeneralMatrixGeneralizedEigenvaluesGeneralMatrix — Compute the generalized eigenvalues and optionally the generalized eigenvectors of general matrices.

Signature

generalized_eigenvalues_general_matrix( : : MatrixAID, MatrixBID, ComputeEigenvectors : EigenvaluesRealID, EigenvaluesImagID, EigenvectorsRealID, EigenvectorsImagID)

Herror T_generalized_eigenvalues_general_matrix(const Htuple MatrixAID, const Htuple MatrixBID, const Htuple ComputeEigenvectors, Htuple* EigenvaluesRealID, Htuple* EigenvaluesImagID, Htuple* EigenvectorsRealID, Htuple* EigenvectorsImagID)

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)

Description

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:

Execution Information

Parameters

MatrixAIDMatrixAIDMatrixAIDMatrixAIDmatrixAID (input_control)  matrix HMatrix, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Matrix handle of the input matrix A.

MatrixBIDMatrixBIDMatrixBIDMatrixBIDmatrixBID (input_control)  matrix HMatrix, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Matrix handle of the input matrix B.

ComputeEigenvectorsComputeEigenvectorsComputeEigenvectorsComputeEigenvectorscomputeEigenvectors (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

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"

EigenvaluesRealIDEigenvaluesRealIDEigenvaluesRealIDEigenvaluesRealIDeigenvaluesRealID (output_control)  matrix HMatrix, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Matrix handle with the real parts of the eigenvalues.

EigenvaluesImagIDEigenvaluesImagIDEigenvaluesImagIDEigenvaluesImagIDeigenvaluesImagID (output_control)  matrix HMatrix, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Matrix handle with the imaginary parts of the eigenvalues.

EigenvectorsRealIDEigenvectorsRealIDEigenvectorsRealIDEigenvectorsRealIDeigenvectorsRealID (output_control)  matrix HMatrix, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Matrix handle with the real parts of the eigenvectors.

EigenvectorsImagIDEigenvectorsImagIDEigenvectorsImagIDEigenvectorsImagIDeigenvectorsImagID (output_control)  matrix HMatrix, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Matrix handle with the imaginary parts of the eigenvectors.

Result

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.

Possible Predecessors

create_matrixcreate_matrixCreateMatrixCreateMatrixCreateMatrix

Possible Successors

get_full_matrixget_full_matrixGetFullMatrixGetFullMatrixGetFullMatrix, get_value_matrixget_value_matrixGetValueMatrixGetValueMatrixGetValueMatrix, get_diagonal_matrixget_diagonal_matrixGetDiagonalMatrixGetDiagonalMatrixGetDiagonalMatrix

See also

generalized_eigenvalues_symmetric_matrixgeneralized_eigenvalues_symmetric_matrixGeneralizedEigenvaluesSymmetricMatrixGeneralizedEigenvaluesSymmetricMatrixGeneralizedEigenvaluesSymmetricMatrix, eigenvalues_symmetric_matrixeigenvalues_symmetric_matrixEigenvaluesSymmetricMatrixEigenvaluesSymmetricMatrixEigenvaluesSymmetricMatrix, eigenvalues_general_matrixeigenvalues_general_matrixEigenvaluesGeneralMatrixEigenvaluesGeneralMatrixEigenvaluesGeneralMatrix

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


ClassesClasses | | Operators