ClassesClassesClassesClasses | | | | Operators

eigenvalues_general_matrixeigenvalues_general_matrixEigenvaluesGeneralMatrixeigenvalues_general_matrixEigenvaluesGeneralMatrixEigenvaluesGeneralMatrix (Operator)

Name

eigenvalues_general_matrixeigenvalues_general_matrixEigenvaluesGeneralMatrixeigenvalues_general_matrixEigenvaluesGeneralMatrixEigenvaluesGeneralMatrix — Compute the eigenvalues and optionally the eigenvectors of a general matrix.

Signature

eigenvalues_general_matrix( : : MatrixID, ComputeEigenvectors : EigenvaluesRealID, EigenvaluesImagID, EigenvectorsRealID, EigenvectorsImagID)

Herror eigenvalues_general_matrix(const Hlong MatrixID, const char* ComputeEigenvectors, Hlong* EigenvaluesRealID, Hlong* EigenvaluesImagID, Hlong* EigenvectorsRealID, Hlong* EigenvectorsImagID)

Herror T_eigenvalues_general_matrix(const Htuple MatrixID, const Htuple ComputeEigenvectors, Htuple* EigenvaluesRealID, Htuple* EigenvaluesImagID, Htuple* EigenvectorsRealID, Htuple* EigenvectorsImagID)

Herror eigenvalues_general_matrix(const HTuple& MatrixID, const HTuple& ComputeEigenvectors, Hlong* EigenvaluesRealID, Hlong* EigenvaluesImagID, Hlong* EigenvectorsRealID, Hlong* EigenvectorsImagID)

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

void EigenvaluesGeneralMatrix(const HTuple& MatrixID, const HTuple& ComputeEigenvectors, HTuple* EigenvaluesRealID, HTuple* EigenvaluesImagID, HTuple* EigenvectorsRealID, HTuple* EigenvectorsImagID)

void HMatrix::EigenvaluesGeneralMatrix(const HString& ComputeEigenvectors, HMatrix* EigenvaluesRealID, HMatrix* EigenvaluesImagID, HMatrix* EigenvectorsRealID, HMatrix* EigenvectorsImagID) const

void HMatrix::EigenvaluesGeneralMatrix(const char* ComputeEigenvectors, HMatrix* EigenvaluesRealID, HMatrix* EigenvaluesImagID, HMatrix* EigenvectorsRealID, HMatrix* EigenvectorsImagID) const

void HOperatorSetX.EigenvaluesGeneralMatrix(
[in] VARIANT MatrixID, [in] VARIANT ComputeEigenvectors, [out] VARIANT* EigenvaluesRealID, [out] VARIANT* EigenvaluesImagID, [out] VARIANT* EigenvectorsRealID, [out] VARIANT* EigenvectorsImagID)

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

static void HOperatorSet.EigenvaluesGeneralMatrix(HTuple matrixID, HTuple computeEigenvectors, out HTuple eigenvaluesRealID, out HTuple eigenvaluesImagID, out HTuple eigenvectorsRealID, out HTuple eigenvectorsImagID)

void HMatrix.EigenvaluesGeneralMatrix(string computeEigenvectors, out HMatrix eigenvaluesRealID, out HMatrix eigenvaluesImagID, out HMatrix eigenvectorsRealID, out HMatrix eigenvectorsImagID)

Description

The operator eigenvalues_general_matrixeigenvalues_general_matrixEigenvaluesGeneralMatrixeigenvalues_general_matrixEigenvaluesGeneralMatrixEigenvaluesGeneralMatrix computes all eigenvalues and, optionally, the left or right eigenvectors of a square, general MatrixMatrixMatrixMatrixMatrixmatrix. The matrix is defined by the matrix handle MatrixIDMatrixIDMatrixIDMatrixIDMatrixIDmatrixID. 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 of the input MatrixMatrixMatrixMatrixMatrixmatrix. In contrast to the operator eigenvalues_symmetric_matrixeigenvalues_symmetric_matrixEigenvaluesSymmetricMatrixeigenvalues_symmetric_matrixEigenvaluesSymmetricMatrixEigenvaluesSymmetricMatrix, the order of the eigenvalues is not defined. The operator returns the matrix handles EigenvaluesRealIDEigenvaluesRealIDEigenvaluesRealIDEigenvaluesRealIDEigenvaluesRealIDeigenvaluesRealID and EigenvaluesImagIDEigenvaluesImagIDEigenvaluesImagIDEigenvaluesImagIDEigenvaluesImagIDeigenvaluesImagID. If desired, the real and imaginary parts of the computed eigenvectors are stored in the new matrices EigenvectorsRealEigenvectorsRealEigenvectorsRealEigenvectorsRealEigenvectorsRealeigenvectorsReal and EigenvectorsImagEigenvectorsImagEigenvectorsImagEigenvectorsImagEigenvectorsImageigenvectorsImag. For this, the operator returns valid 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.

The computation type of eigenvectors can be selected via the parameter ComputeEigenvectorsComputeEigenvectorsComputeEigenvectorsComputeEigenvectorsComputeEigenvectorscomputeEigenvectors. If ComputeEigenvectorsComputeEigenvectorsComputeEigenvectorsComputeEigenvectorsComputeEigenvectorscomputeEigenvectors = 'none'"none""none""none""none""none", no eigenvectors are computed. If 'left'"left""left""left""left""left" is selected, the left eigenvalues are computed. If 'right'"right""right""right""right""right" is selected, the right eigenvalues are computed.

Example:


           /  6.0  4.0 -8.0  \
  Matrix = |  5.0  7.0  3.0  |     ComputeEigenvectors = 'right'
           \  4.0 -1.0  4.0  /

                         /  3.3110 \                      /  5.4143  \
  ->   EigenvaluesReal = |  3.3110 |    EigenvaluesImag = | -5.4143  |
                         \ 10.3781 /                      \  0.0     /

                          /  0.6353   0.6353   0.4813  \
       EigenvectorsReal = | -0.4764   0.4764   0.8605  |
                          \ -0.0246  -0.0246   0.1669  /

                          /  0.0      0.0      0.0  \
       EigenvectorsImag = | -0.2485   0.2485   0.0  |
                          \ -0.5542   0.5542   0.0  /

Parallelization

Parameters

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

Matrix handle of the input matrix.

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

eigenvalues_symmetric_matrixeigenvalues_symmetric_matrixEigenvaluesSymmetricMatrixeigenvalues_symmetric_matrixEigenvaluesSymmetricMatrixEigenvaluesSymmetricMatrix, generalized_eigenvalues_symmetric_matrixgeneralized_eigenvalues_symmetric_matrixGeneralizedEigenvaluesSymmetricMatrixgeneralized_eigenvalues_symmetric_matrixGeneralizedEigenvaluesSymmetricMatrixGeneralizedEigenvaluesSymmetricMatrix, generalized_eigenvalues_general_matrixgeneralized_eigenvalues_general_matrixGeneralizedEigenvaluesGeneralMatrixgeneralized_eigenvalues_general_matrixGeneralizedEigenvaluesGeneralMatrixGeneralizedEigenvaluesGeneralMatrix

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