ClassesClassesClassesClasses | | | | Operators

generalized_eigenvalues_symmetric_matrixgeneralized_eigenvalues_symmetric_matrixGeneralizedEigenvaluesSymmetricMatrixgeneralized_eigenvalues_symmetric_matrixGeneralizedEigenvaluesSymmetricMatrixGeneralizedEigenvaluesSymmetricMatrix (Operator)

Name

generalized_eigenvalues_symmetric_matrixgeneralized_eigenvalues_symmetric_matrixGeneralizedEigenvaluesSymmetricMatrixgeneralized_eigenvalues_symmetric_matrixGeneralizedEigenvaluesSymmetricMatrixGeneralizedEigenvaluesSymmetricMatrix — Compute the generalized eigenvalues and optionally generalized eigenvectors of symmetric input matrices.

Signature

generalized_eigenvalues_symmetric_matrix( : : MatrixAID, MatrixBID, ComputeEigenvectors : EigenvaluesID, EigenvectorsID)

Herror generalized_eigenvalues_symmetric_matrix(const Hlong MatrixAID, const Hlong MatrixBID, const char* ComputeEigenvectors, Hlong* EigenvaluesID, Hlong* EigenvectorsID)

Herror T_generalized_eigenvalues_symmetric_matrix(const Htuple MatrixAID, const Htuple MatrixBID, const Htuple ComputeEigenvectors, Htuple* EigenvaluesID, Htuple* EigenvectorsID)

Herror generalized_eigenvalues_symmetric_matrix(const HTuple& MatrixAID, const HTuple& MatrixBID, const HTuple& ComputeEigenvectors, Hlong* EigenvaluesID, Hlong* EigenvectorsID)

HMatrix HMatrix::GeneralizedEigenvaluesSymmetricMatrix(const HMatrix& MatrixBID, const HTuple& ComputeEigenvectors, HMatrix* EigenvectorsID) const

void GeneralizedEigenvaluesSymmetricMatrix(const HTuple& MatrixAID, const HTuple& MatrixBID, const HTuple& ComputeEigenvectors, HTuple* EigenvaluesID, HTuple* EigenvectorsID)

HMatrix HMatrix::GeneralizedEigenvaluesSymmetricMatrix(const HMatrix& MatrixBID, const HString& ComputeEigenvectors, HMatrix* EigenvectorsID) const

HMatrix HMatrix::GeneralizedEigenvaluesSymmetricMatrix(const HMatrix& MatrixBID, const char* ComputeEigenvectors, HMatrix* EigenvectorsID) const

void HOperatorSetX.GeneralizedEigenvaluesSymmetricMatrix(
[in] VARIANT MatrixAID, [in] VARIANT MatrixBID, [in] VARIANT ComputeEigenvectors, [out] VARIANT* EigenvaluesID, [out] VARIANT* EigenvectorsID)

IHMatrixX* HMatrixX.GeneralizedEigenvaluesSymmetricMatrix(
[in] IHMatrixX* MatrixBID, [in] BSTR ComputeEigenvectors, [out] IHMatrixX*EigenvectorsID)

static void HOperatorSet.GeneralizedEigenvaluesSymmetricMatrix(HTuple matrixAID, HTuple matrixBID, HTuple computeEigenvectors, out HTuple eigenvaluesID, out HTuple eigenvectorsID)

HMatrix HMatrix.GeneralizedEigenvaluesSymmetricMatrix(HMatrix matrixBID, string computeEigenvectors, out HMatrix eigenvectorsID)

Description

The operator generalized_eigenvalues_symmetric_matrixgeneralized_eigenvalues_symmetric_matrixGeneralizedEigenvaluesSymmetricMatrixgeneralized_eigenvalues_symmetric_matrixGeneralizedEigenvaluesSymmetricMatrixGeneralizedEigenvaluesSymmetricMatrix computes all generalized eigenvalues and, optionally, generalized eigenvectors of the symmetric matrix MatrixAMatrixAMatrixAMatrixAMatrixAmatrixA and the symmetric positive definite matrix MatrixBMatrixBMatrixBMatrixBMatrixBmatrixB. Both matrices must have identical dimensions. The matrices are defined by the matrix handles MatrixAIDMatrixAIDMatrixAIDMatrixAIDMatrixAIDmatrixAID and MatrixBIDMatrixBIDMatrixBIDMatrixBIDMatrixBIDmatrixBID. On output, a new matrix EigenvaluesEigenvaluesEigenvaluesEigenvaluesEigenvalueseigenvalues with the generalized eigenvalues in ascending order and, optionally, a new matrix EigenvectorsEigenvectorsEigenvectorsEigenvectorsEigenvectorseigenvectors with the generalized eigenvectors is created. Each jth column of the matrix EigenvectorsEigenvectorsEigenvectorsEigenvectorsEigenvectorseigenvectors contains the related eigenvector to the jth eigenvalue. The operator returns the matrix handles EigenvaluesIDEigenvaluesIDEigenvaluesIDEigenvaluesIDEigenvaluesIDeigenvaluesID and EigenvectorsIDEigenvectorsIDEigenvectorsIDEigenvectorsIDEigenvectorsIDeigenvectorsID of the matrices EigenvaluesEigenvaluesEigenvaluesEigenvaluesEigenvalueseigenvalues and EigenvectorsEigenvectorsEigenvectorsEigenvectorsEigenvectorseigenvectors. Access to the elements of the matrices is possible, e.g., with the operator get_full_matrixget_full_matrixGetFullMatrixget_full_matrixGetFullMatrixGetFullMatrix or get_sub_matrixget_sub_matrixGetSubMatrixget_sub_matrixGetSubMatrixGetSubMatrix.

The computation of generalized eigenvectors can be selected via ComputeEigenvectorsComputeEigenvectorsComputeEigenvectorsComputeEigenvectorsComputeEigenvectorscomputeEigenvectors = 'true'"true""true""true""true""true". The formula for the calculation of the result is

  MatrixA * x  = lambda  * MatrixB * x  ,
             j         j              j

  with lambda  representing the jth eigenvalue and x  represents
             j                                      j

  the corresponding eigenvector.

If ComputeEigenvectorsComputeEigenvectorsComputeEigenvectorsComputeEigenvectorsComputeEigenvectorscomputeEigenvectors = 'false'"false""false""false""false""false", no generalized eigenvectors are computed. For this, the matrix handle EigenvectorsIDEigenvectorsIDEigenvectorsIDEigenvectorsIDEigenvectorsIDeigenvectorsID is invalid.

Example:


            /  4.0 -3.0  2.0  \                /   6.0   5.0   3.0  \
  MatrixA = | -3.0  1.0  4.0  |      MatrixB = |   5.0   7.0   3.0  |
            \  2.0  4.0  8.0  /                \   3.0   3.0   4.0  /

  ComputeEigenvectors = 'true'

                     / -0.4463 \
  ->   Eigenvalues = |  1.8747 |
                     \  4.5472 /

                      / -0.1579   0.1851  -0.6358  \
       Eigenvectors = | -0.3377  -0.2568   0.4311  |
                      \  0.2382   0.5065   0.3185  /

Attention

The upper triangular parts of the input matrices MatrixAMatrixAMatrixAMatrixAMatrixAmatrixA and MatrixBMatrixBMatrixBMatrixBMatrixBmatrixB must contain the relevant information of the matrices. The strictly lower triangular parts of the matrices are not referenced. If the referenced parts of the input matrices MatrixAMatrixAMatrixAMatrixAMatrixAmatrixA or MatrixBMatrixBMatrixBMatrixBMatrixBmatrixB are not of the specified type, an exception is raised.

Parallelization

Parameters

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

Matrix handle of the symmetric input matrix A.

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

Matrix handle of the symmetric positive definite input matrix B.

ComputeEigenvectorsComputeEigenvectorsComputeEigenvectorsComputeEigenvectorsComputeEigenvectorscomputeEigenvectors (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Computation of the eigenvectors.

Default value: 'false' "false" "false" "false" "false" "false"

List of values: 'false'"false""false""false""false""false", 'true'"true""true""true""true""true"

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

Matrix handle with the eigenvalues.

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

Matrix handle with the eigenvectors.

Result

If the parameters are valid, the operator generalized_eigenvalues_symmetric_matrixgeneralized_eigenvalues_symmetric_matrixGeneralizedEigenvaluesSymmetricMatrixgeneralized_eigenvalues_symmetric_matrixGeneralizedEigenvaluesSymmetricMatrixGeneralizedEigenvaluesSymmetricMatrix 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

Alternatives

generalized_eigenvalues_general_matrixgeneralized_eigenvalues_general_matrixGeneralizedEigenvaluesGeneralMatrixgeneralized_eigenvalues_general_matrixGeneralizedEigenvaluesGeneralMatrixGeneralizedEigenvaluesGeneralMatrix

See also

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