Operator Reference

generalized_eigenvalues_symmetric_matrixT_generalized_eigenvalues_symmetric_matrixGeneralizedEigenvaluesSymmetricMatrixGeneralizedEigenvaluesSymmetricMatrixgeneralized_eigenvalues_symmetric_matrix (Operator)

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

Signature

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

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

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

HMatrix HMatrix::GeneralizedEigenvaluesSymmetricMatrix(const HMatrix& MatrixBID, const wchar_t* ComputeEigenvectors, HMatrix* EigenvectorsID) const   ( Windows only)

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)

def generalized_eigenvalues_symmetric_matrix(matrix_aid: HHandle, matrix_bid: HHandle, compute_eigenvectors: str) -> Tuple[HHandle, HHandle]

Description

The operator generalized_eigenvalues_symmetric_matrixgeneralized_eigenvalues_symmetric_matrixGeneralizedEigenvaluesSymmetricMatrixGeneralizedEigenvaluesSymmetricMatrixgeneralized_eigenvalues_symmetric_matrix computes all generalized eigenvalues and, optionally, generalized eigenvectors of the symmetric matrix MatrixA and the symmetric positive definite matrix MatrixB. Both matrices must have identical dimensions. The matrices are defined by the matrix handles MatrixAIDMatrixAIDMatrixAIDmatrixAIDmatrix_aid and MatrixBIDMatrixBIDMatrixBIDmatrixBIDmatrix_bid. On output, a new matrix Eigenvalues with the generalized eigenvalues in ascending order and, optionally, a new matrix Eigenvectors with the generalized eigenvectors is created. Each jth column of the matrix Eigenvectors contains the related eigenvector to the jth eigenvalue. The operator returns the matrix handles EigenvaluesIDEigenvaluesIDEigenvaluesIDeigenvaluesIDeigenvalues_id and EigenvectorsIDEigenvectorsIDEigenvectorsIDeigenvectorsIDeigenvectors_id of the matrices Eigenvalues and Eigenvectors. Access to the elements of the matrices is possible, e.g., with the operator get_full_matrixget_full_matrixGetFullMatrixGetFullMatrixget_full_matrix or get_sub_matrixget_sub_matrixGetSubMatrixGetSubMatrixget_sub_matrix.

The computation of generalized eigenvectors can be selected via ComputeEigenvectorsComputeEigenvectorsComputeEigenvectorscomputeEigenvectorscompute_eigenvectors = 'true'"true""true""true""true". The formula for the calculation of the result is with representing the th eigenvalue and represents the corresponding eigenvector.

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

Example:

ComputeEigenvectorsComputeEigenvectorsComputeEigenvectorscomputeEigenvectorscompute_eigenvectors = 'true'"true""true""true""true"

Attention

The upper triangular parts of the input matrices MatrixA and MatrixB 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 MatrixA or MatrixB are not of the specified type, an exception is raised.

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

MatrixAIDMatrixAIDMatrixAIDmatrixAIDmatrix_aid (input_control)  matrix HMatrix, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Matrix handle of the symmetric input matrix A.

MatrixBIDMatrixBIDMatrixBIDmatrixBIDmatrix_bid (input_control)  matrix HMatrix, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Matrix handle of the symmetric positive definite input matrix B.

ComputeEigenvectorsComputeEigenvectorsComputeEigenvectorscomputeEigenvectorscompute_eigenvectors (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Computation of the eigenvectors.

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

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

EigenvaluesIDEigenvaluesIDEigenvaluesIDeigenvaluesIDeigenvalues_id (output_control)  matrix HMatrix, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Matrix handle with the eigenvalues.

EigenvectorsIDEigenvectorsIDEigenvectorsIDeigenvectorsIDeigenvectors_id (output_control)  matrix HMatrix, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Matrix handle with the eigenvectors.

Result

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

Possible Predecessors

create_matrixcreate_matrixCreateMatrixCreateMatrixcreate_matrix

Possible Successors

get_full_matrixget_full_matrixGetFullMatrixGetFullMatrixget_full_matrix, get_value_matrixget_value_matrixGetValueMatrixGetValueMatrixget_value_matrix

Alternatives

generalized_eigenvalues_general_matrixgeneralized_eigenvalues_general_matrixGeneralizedEigenvaluesGeneralMatrixGeneralizedEigenvaluesGeneralMatrixgeneralized_eigenvalues_general_matrix

See also

eigenvalues_symmetric_matrixeigenvalues_symmetric_matrixEigenvaluesSymmetricMatrixEigenvaluesSymmetricMatrixeigenvalues_symmetric_matrix, eigenvalues_general_matrixeigenvalues_general_matrixEigenvaluesGeneralMatrixEigenvaluesGeneralMatrixeigenvalues_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