ClassesClassesClassesClasses | | | | Operators

generalized_eigenvalues_general_matrixgeneralized_eigenvalues_general_matrixGeneralizedEigenvaluesGeneralMatrixgeneralized_eigenvalues_general_matrixGeneralizedEigenvaluesGeneralMatrixGeneralizedEigenvaluesGeneralMatrix (Operator)

Name

generalized_eigenvalues_general_matrixgeneralized_eigenvalues_general_matrixGeneralizedEigenvaluesGeneralMatrixgeneralized_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 generalized_eigenvalues_general_matrix(const Hlong MatrixAID, const Hlong MatrixBID, const char* ComputeEigenvectors, Hlong* EigenvaluesRealID, Hlong* EigenvaluesImagID, Hlong* EigenvectorsRealID, Hlong* EigenvectorsImagID)

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

Herror generalized_eigenvalues_general_matrix(const HTuple& MatrixAID, const HTuple& MatrixBID, const HTuple& ComputeEigenvectors, Hlong* EigenvaluesRealID, Hlong* EigenvaluesImagID, Hlong* EigenvectorsRealID, Hlong* EigenvectorsImagID)

HMatrix HMatrix::GeneralizedEigenvaluesGeneralMatrix(const HMatrix& MatrixBID, const HTuple& ComputeEigenvectors, HMatrix* EigenvaluesImagID, HMatrix* EigenvectorsRealID, HMatrix* EigenvectorsImagID) const

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 HOperatorSetX.GeneralizedEigenvaluesGeneralMatrix(
[in] VARIANT MatrixAID, [in] VARIANT MatrixBID, [in] VARIANT ComputeEigenvectors, [out] VARIANT* EigenvaluesRealID, [out] VARIANT* EigenvaluesImagID, [out] VARIANT* EigenvectorsRealID, [out] VARIANT* EigenvectorsImagID)

IHMatrixX* HMatrixX.GeneralizedEigenvaluesGeneralMatrix(
[in] IHMatrixX* MatrixBID, [in] BSTR ComputeEigenvectors, [out] IHMatrixX*EigenvaluesImagID, [out] IHMatrixX*EigenvectorsRealID, [out] IHMatrixX*EigenvectorsImagID)

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_matrixGeneralizedEigenvaluesGeneralMatrixgeneralized_eigenvalues_general_matrixGeneralizedEigenvaluesGeneralMatrixGeneralizedEigenvaluesGeneralMatrix computes all generalized eigenvalues and, optionally, the left or right generalized eigenvectors of the square, general matrices MatrixAMatrixAMatrixAMatrixAMatrixAmatrixA and MatrixBMatrixBMatrixBMatrixBMatrixBmatrixB. Both matrices must have identical dimensions. The matrices are defined by the matrix handles MatrixAIDMatrixAIDMatrixAIDMatrixAIDMatrixAIDmatrixAID and MatrixBIDMatrixBIDMatrixBIDMatrixBIDMatrixBIDmatrixBID. The computed eigenvectors have the norm 1.

The operator generates the new matrices EigenvaluesRealEigenvaluesRealEigenvaluesRealEigenvaluesRealEigenvaluesRealeigenvaluesReal and EigenvaluesImagEigenvaluesImagEigenvaluesImagEigenvaluesImagEigenvaluesImageigenvaluesImag 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_matrixGeneralizedEigenvaluesSymmetricMatrixgeneralized_eigenvalues_symmetric_matrixGeneralizedEigenvaluesSymmetricMatrixGeneralizedEigenvaluesSymmetricMatrix, the order of the generalized eigenvalues is not defined. The operator returns the matrix handles EigenvaluesRealIDEigenvaluesRealIDEigenvaluesRealIDEigenvaluesRealIDEigenvaluesRealIDeigenvaluesRealID and EigenvaluesImagIDEigenvaluesImagIDEigenvaluesImagIDEigenvaluesImagIDEigenvaluesImagIDeigenvaluesImagID. If desired, the real and imaginary parts of the respective eigenvectors are stored in the new matrices EigenvectorsRealEigenvectorsRealEigenvectorsRealEigenvectorsRealEigenvectorsRealeigenvectorsReal and EigenvectorsImagEigenvectorsImagEigenvectorsImagEigenvectorsImagEigenvectorsImageigenvectorsImag. 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 EigenvectorsRealIDEigenvectorsRealIDEigenvectorsRealIDEigenvectorsRealIDEigenvectorsRealIDeigenvectorsRealID and EigenvectorsImagIDEigenvectorsImagIDEigenvectorsImagIDEigenvectorsImagIDEigenvectorsImagIDeigenvectorsImagID. Access to the elements of the matrix is possible, e.g., with the operator get_full_matrixget_full_matrixGetFullMatrixget_full_matrixGetFullMatrixGetFullMatrix or get_sub_matrixget_sub_matrixGetSubMatrixget_sub_matrixGetSubMatrixGetSubMatrix.

The computation type of eigenvectors can be selected via the parameter ComputeEigenvectorsComputeEigenvectorsComputeEigenvectorsComputeEigenvectorsComputeEigenvectorscomputeEigenvectors. If ComputeEigenvectorsComputeEigenvectorsComputeEigenvectorsComputeEigenvectorsComputeEigenvectorscomputeEigenvectors = 'none'"none""none""none""none""none", no eigenvectors are computed and the operator is faster. For this, the matrix handles EigenvectorsRealIDEigenvectorsRealIDEigenvectorsRealIDEigenvectorsRealIDEigenvectorsRealIDeigenvectorsRealID and EigenvectorsImagIDEigenvectorsImagIDEigenvectorsImagIDEigenvectorsImagIDEigenvectorsImagIDeigenvectorsImagID are invalid. If 'right'"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""left" is selected, the left generalized eigenvalues are computed. The formula for the calculation of the result is

Example:

Parallelization

Parameters

MatrixAIDMatrixAIDMatrixAIDMatrixAIDMatrixAIDmatrixAID (input_control)  matrix HMatrix, HTupleHTupleHMatrix, HTupleHMatrixX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Matrix handle of the input matrix A.

MatrixBIDMatrixBIDMatrixBIDMatrixBIDMatrixBIDmatrixBID (input_control)  matrix HMatrix, HTupleHTupleHMatrix, HTupleHMatrixX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Matrix handle of the input matrix B.

ComputeEigenvectorsComputeEigenvectorsComputeEigenvectorsComputeEigenvectorsComputeEigenvectorscomputeEigenvectors (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (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"

EigenvaluesRealIDEigenvaluesRealIDEigenvaluesRealIDEigenvaluesRealIDEigenvaluesRealIDeigenvaluesRealID (output_control)  matrix HMatrix, HTupleHTupleHMatrix, HTupleHMatrixX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Matrix handle with the real parts of the eigenvalues.

EigenvaluesImagIDEigenvaluesImagIDEigenvaluesImagIDEigenvaluesImagIDEigenvaluesImagIDeigenvaluesImagID (output_control)  matrix HMatrix, HTupleHTupleHMatrix, HTupleHMatrixX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Matrix handle with the imaginary parts of the eigenvalues.

EigenvectorsRealIDEigenvectorsRealIDEigenvectorsRealIDEigenvectorsRealIDEigenvectorsRealIDeigenvectorsRealID (output_control)  matrix HMatrix, HTupleHTupleHMatrix, HTupleHMatrixX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Matrix handle with the real parts of the eigenvectors.

EigenvectorsImagIDEigenvectorsImagIDEigenvectorsImagIDEigenvectorsImagIDEigenvectorsImagIDeigenvectorsImagID (output_control)  matrix HMatrix, HTupleHTupleHMatrix, HTupleHMatrixX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Matrix handle with the imaginary parts of the eigenvectors.

Result

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

Possible Predecessors

create_matrixcreate_matrixCreateMatrixcreate_matrixCreateMatrixCreateMatrix

Possible Successors

get_full_matrixget_full_matrixGetFullMatrixget_full_matrixGetFullMatrixGetFullMatrix, get_value_matrixget_value_matrixGetValueMatrixget_value_matrixGetValueMatrixGetValueMatrix, get_diagonal_matrixget_diagonal_matrixGetDiagonalMatrixget_diagonal_matrixGetDiagonalMatrixGetDiagonalMatrix

See also

generalized_eigenvalues_symmetric_matrixgeneralized_eigenvalues_symmetric_matrixGeneralizedEigenvaluesSymmetricMatrixgeneralized_eigenvalues_symmetric_matrixGeneralizedEigenvaluesSymmetricMatrixGeneralizedEigenvaluesSymmetricMatrix, eigenvalues_symmetric_matrixeigenvalues_symmetric_matrixEigenvaluesSymmetricMatrixeigenvalues_symmetric_matrixEigenvaluesSymmetricMatrixEigenvaluesSymmetricMatrix, eigenvalues_general_matrixeigenvalues_general_matrixEigenvaluesGeneralMatrixeigenvalues_general_matrixEigenvaluesGeneralMatrixEigenvaluesGeneralMatrix

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


ClassesClassesClassesClasses | | | | Operators