Operator Reference

eigenvalues_symmetric_matrixT_eigenvalues_symmetric_matrixEigenvaluesSymmetricMatrixEigenvaluesSymmetricMatrixeigenvalues_symmetric_matrix (Operator)

eigenvalues_symmetric_matrixT_eigenvalues_symmetric_matrixEigenvaluesSymmetricMatrixEigenvaluesSymmetricMatrixeigenvalues_symmetric_matrix — Compute the eigenvalues and optionally eigenvectors of a symmetric matrix.

Signature

eigenvalues_symmetric_matrix( : : MatrixID, ComputeEigenvectors : EigenvaluesID, EigenvectorsID)

Herror T_eigenvalues_symmetric_matrix(const Htuple MatrixID, const Htuple ComputeEigenvectors, Htuple* EigenvaluesID, Htuple* EigenvectorsID)

void EigenvaluesSymmetricMatrix(const HTuple& MatrixID, const HTuple& ComputeEigenvectors, HTuple* EigenvaluesID, HTuple* EigenvectorsID)

HMatrix HMatrix::EigenvaluesSymmetricMatrix(const HString& ComputeEigenvectors, HMatrix* EigenvectorsID) const

HMatrix HMatrix::EigenvaluesSymmetricMatrix(const char* ComputeEigenvectors, HMatrix* EigenvectorsID) const

HMatrix HMatrix::EigenvaluesSymmetricMatrix(const wchar_t* ComputeEigenvectors, HMatrix* EigenvectorsID) const   ( Windows only)

static void HOperatorSet.EigenvaluesSymmetricMatrix(HTuple matrixID, HTuple computeEigenvectors, out HTuple eigenvaluesID, out HTuple eigenvectorsID)

HMatrix HMatrix.EigenvaluesSymmetricMatrix(string computeEigenvectors, out HMatrix eigenvectorsID)

def eigenvalues_symmetric_matrix(matrix_id: HHandle, compute_eigenvectors: str) -> Tuple[HHandle, HHandle]

Description

The operator eigenvalues_symmetric_matrixeigenvalues_symmetric_matrixEigenvaluesSymmetricMatrixEigenvaluesSymmetricMatrixeigenvalues_symmetric_matrix computes all eigenvalues and, optionally, eigenvectors of the symmetric Matrix. The matrix is defined by the matrix handle MatrixIDMatrixIDMatrixIDmatrixIDmatrix_id. On output, a new matrix Eigenvalues with the eigenvalues in ascending order and, optionally, a new matrix Eigenvectors with the eigenvectors is created. 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.

The computation of eigenvectors can be selected via ComputeEigenvectorsComputeEigenvectorsComputeEigenvectorscomputeEigenvectorscompute_eigenvectors = 'true'"true""true""true""true" or ComputeEigenvectorsComputeEigenvectorsComputeEigenvectorscomputeEigenvectorscompute_eigenvectors = 'false'"false""false""false""false".

Example:

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

Attention

The upper triangular part of the input Matrix must contain the relevant information of the matrix. The strictly lower triangular part of the matrix is not referenced. If the referenced part of the input Matrix is 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

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

Matrix handle of the input matrix.

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 eigenvalues_symmetric_matrixeigenvalues_symmetric_matrixEigenvaluesSymmetricMatrixEigenvaluesSymmetricMatrixeigenvalues_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

eigenvalues_general_matrixeigenvalues_general_matrixEigenvaluesGeneralMatrixEigenvaluesGeneralMatrixeigenvalues_general_matrix

See also

generalized_eigenvalues_symmetric_matrixgeneralized_eigenvalues_symmetric_matrixGeneralizedEigenvaluesSymmetricMatrixGeneralizedEigenvaluesSymmetricMatrixgeneralized_eigenvalues_symmetric_matrix, generalized_eigenvalues_general_matrixgeneralized_eigenvalues_general_matrixGeneralizedEigenvaluesGeneralMatrixGeneralizedEigenvaluesGeneralMatrixgeneralized_eigenvalues_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