generalized_eigenvalues_general_matrixT_generalized_eigenvalues_general_matrixGeneralizedEigenvaluesGeneralMatrixGeneralizedEigenvaluesGeneralMatrixgeneralized_eigenvalues_general_matrix (算子)

名称

generalized_eigenvalues_general_matrixT_generalized_eigenvalues_general_matrixGeneralizedEigenvaluesGeneralMatrixGeneralizedEigenvaluesGeneralMatrixgeneralized_eigenvalues_general_matrix — 计算通用矩阵的广义特征值和可选的广义特征向量。

签名

generalized_eigenvalues_general_matrix( : : MatrixAID, MatrixBID, ComputeEigenvectors : EigenvaluesRealID, EigenvaluesImagID, EigenvectorsRealID, EigenvectorsImagID)

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

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 HMatrix::GeneralizedEigenvaluesGeneralMatrix(const HMatrix& MatrixBID, const wchar_t* ComputeEigenvectors, HMatrix* EigenvaluesRealID, HMatrix* EigenvaluesImagID, HMatrix* EigenvectorsRealID, HMatrix* EigenvectorsImagID) const   ( Windows only)

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)

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

描述

算子 generalized_eigenvalues_general_matrixgeneralized_eigenvalues_general_matrixGeneralizedEigenvaluesGeneralMatrixGeneralizedEigenvaluesGeneralMatrixGeneralizedEigenvaluesGeneralMatrixgeneralized_eigenvalues_general_matrix computes all generalized eigenvalues and, optionally, the left or right generalized eigenvectors of the square, general matrices MatrixA and MatrixB. Both matrices must have identical dimensions. The matrices are defined by the matrix handles MatrixAIDMatrixAIDMatrixAIDMatrixAIDmatrixAIDmatrix_aid and MatrixBIDMatrixBIDMatrixBIDMatrixBIDmatrixBIDmatrix_bid. The computed eigenvectors have the norm 1.

The operator generates the new matrices EigenvaluesReal and EigenvaluesImag 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_matrixGeneralizedEigenvaluesSymmetricMatrixGeneralizedEigenvaluesSymmetricMatrixGeneralizedEigenvaluesSymmetricMatrixgeneralized_eigenvalues_symmetric_matrix, the order of the generalized eigenvalues is not defined. The operator returns the matrix handles EigenvaluesRealIDEigenvaluesRealIDEigenvaluesRealIDEigenvaluesRealIDeigenvaluesRealIDeigenvalues_real_id and EigenvaluesImagIDEigenvaluesImagIDEigenvaluesImagIDEigenvaluesImagIDeigenvaluesImagIDeigenvalues_imag_id. If desired, the real and imaginary parts of the respective eigenvectors are stored in the new matrices EigenvectorsReal and EigenvectorsImag. 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 EigenvectorsRealIDEigenvectorsRealIDEigenvectorsRealIDEigenvectorsRealIDeigenvectorsRealIDeigenvectors_real_id and EigenvectorsImagIDEigenvectorsImagIDEigenvectorsImagIDEigenvectorsImagIDeigenvectorsImagIDeigenvectors_imag_id. Access to the elements of the matrix is possible, e.g., with the operator get_full_matrixget_full_matrixGetFullMatrixGetFullMatrixGetFullMatrixget_full_matrix or get_sub_matrixget_sub_matrixGetSubMatrixGetSubMatrixGetSubMatrixget_sub_matrix

The computation type of eigenvectors can be selected via the parameter ComputeEigenvectorsComputeEigenvectorsComputeEigenvectorsComputeEigenvectorscomputeEigenvectorscompute_eigenvectors. If ComputeEigenvectorsComputeEigenvectorsComputeEigenvectorsComputeEigenvectorscomputeEigenvectorscompute_eigenvectors = 'none'"none""none""none""none""none", no eigenvectors are computed and the operator is faster. For this, the matrix handles EigenvectorsRealIDEigenvectorsRealIDEigenvectorsRealIDEigenvectorsRealIDeigenvectorsRealIDeigenvectors_real_id and EigenvectorsImagIDEigenvectorsImagIDEigenvectorsImagIDEigenvectorsImagIDeigenvectorsImagIDeigenvectors_imag_id 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 with representing the th (complex) eigenvalue and represents the corresponding (complex) eigenvector.

If 'left'"left""left""left""left""left" is selected, the left generalized eigenvalues are computed. The formula for the calculation of the result is with represents the conjugate-transposed of

示例:

ComputeEigenvectorsComputeEigenvectorsComputeEigenvectorsComputeEigenvectorscomputeEigenvectorscompute_eigenvectors = 'right'"right""right""right""right""right"

执行信息

参数

MatrixAIDMatrixAIDMatrixAIDMatrixAIDmatrixAIDmatrix_aid (输入控制)  matrix HMatrix, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Matrix handle of the input matrix A.

MatrixBIDMatrixBIDMatrixBIDMatrixBIDmatrixBIDmatrix_bid (输入控制)  matrix HMatrix, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Matrix handle of the input matrix B.

ComputeEigenvectorsComputeEigenvectorsComputeEigenvectorsComputeEigenvectorscomputeEigenvectorscompute_eigenvectors (输入控制)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Computation of the eigenvectors.

默认值: 'none' "none" "none" "none" "none" "none"

值列表: 'left'"left""left""left""left""left", 'none'"none""none""none""none""none", 'right'"right""right""right""right""right"

EigenvaluesRealIDEigenvaluesRealIDEigenvaluesRealIDEigenvaluesRealIDeigenvaluesRealIDeigenvalues_real_id (输出控制)  matrix HMatrix, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Matrix handle with the real parts of the eigenvalues.

EigenvaluesImagIDEigenvaluesImagIDEigenvaluesImagIDEigenvaluesImagIDeigenvaluesImagIDeigenvalues_imag_id (输出控制)  matrix HMatrix, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Matrix handle with the imaginary parts of the eigenvalues.

EigenvectorsRealIDEigenvectorsRealIDEigenvectorsRealIDEigenvectorsRealIDeigenvectorsRealIDeigenvectors_real_id (输出控制)  matrix HMatrix, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Matrix handle with the real parts of the eigenvectors.

EigenvectorsImagIDEigenvectorsImagIDEigenvectorsImagIDEigenvectorsImagIDeigenvectorsImagIDeigenvectors_imag_id (输出控制)  matrix HMatrix, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Matrix handle with the imaginary parts of the eigenvectors.

结果

如果参数有效,算子 generalized_eigenvalues_general_matrixgeneralized_eigenvalues_general_matrixGeneralizedEigenvaluesGeneralMatrixGeneralizedEigenvaluesGeneralMatrixGeneralizedEigenvaluesGeneralMatrixgeneralized_eigenvalues_general_matrix 返回值 2 ( H_MSG_TRUE )。如有必要,则抛出异常。

可能的前趋

create_matrixcreate_matrixCreateMatrixCreateMatrixCreateMatrixcreate_matrix

可能的后继

get_full_matrixget_full_matrixGetFullMatrixGetFullMatrixGetFullMatrixget_full_matrix, get_value_matrixget_value_matrixGetValueMatrixGetValueMatrixGetValueMatrixget_value_matrix, get_diagonal_matrixget_diagonal_matrixGetDiagonalMatrixGetDiagonalMatrixGetDiagonalMatrixget_diagonal_matrix

另见

generalized_eigenvalues_symmetric_matrixgeneralized_eigenvalues_symmetric_matrixGeneralizedEigenvaluesSymmetricMatrixGeneralizedEigenvaluesSymmetricMatrixGeneralizedEigenvaluesSymmetricMatrixgeneralized_eigenvalues_symmetric_matrix, eigenvalues_symmetric_matrixeigenvalues_symmetric_matrixEigenvaluesSymmetricMatrixEigenvaluesSymmetricMatrixEigenvaluesSymmetricMatrixeigenvalues_symmetric_matrix, eigenvalues_general_matrixeigenvalues_general_matrixEigenvaluesGeneralMatrixEigenvaluesGeneralMatrixEigenvaluesGeneralMatrixeigenvalues_general_matrix

参考文献

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.

模块

基础