generalized_eigenvalues_general_matrixT_generalized_eigenvalues_general_matrixGeneralizedEigenvaluesGeneralMatrixGeneralizedEigenvaluesGeneralMatrixgeneralized_eigenvalues_general_matrix (Operator)

Name

generalized_eigenvalues_general_matrixT_generalized_eigenvalues_general_matrixGeneralizedEigenvaluesGeneralMatrixGeneralizedEigenvaluesGeneralMatrixgeneralized_eigenvalues_general_matrix — Berechnet die generalisierten Eigenwerte und optional die generalisierten Eigenvektoren allgemeiner Matrizen.

Signatur

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   (Nur Windows)

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]

Beschreibung

Der Operator generalized_eigenvalues_general_matrixgeneralized_eigenvalues_general_matrixGeneralizedEigenvaluesGeneralMatrixGeneralizedEigenvaluesGeneralMatrixGeneralizedEigenvaluesGeneralMatrixgeneralized_eigenvalues_general_matrix berechnet alle generalisierten Eigenwerte und optional die rechten oder linken generalisierten Eigenvektoren der quadratischen, allgemeinen Eingangsmatrizen MatrixA und MatrixB. Beide Eingabematrizen müssen die gleichen Dimensionen besitzen. Die Eingangsmatrizen sind durch die Matrix Handle MatrixAIDMatrixAIDMatrixAIDMatrixAIDmatrixAIDmatrix_aid und MatrixBIDMatrixBIDMatrixBIDMatrixBIDmatrixBIDmatrix_bid definiert. Die berechneten Eigenvektoren sind auf die Länge 1 normiert.

Der Operator generiert die neuen Matrizen EigenvaluesReal und EigenvaluesImag mit den Real- und Imaginärteilen der berechneten Eigenwerte. Jede Matrix besteht aus einer Spalte und n Zeilen, wobei n die Anzahl der Zeilen oder Spalten der Eingabematrizen ist. Im Gegensatz zu dem Operator generalized_eigenvalues_symmetric_matrixgeneralized_eigenvalues_symmetric_matrixGeneralizedEigenvaluesSymmetricMatrixGeneralizedEigenvaluesSymmetricMatrixGeneralizedEigenvaluesSymmetricMatrixgeneralized_eigenvalues_symmetric_matrix ist die Reihenfolge der generalisierten Eigenwerte nicht definiert. Der Operator gibt die Matrix Handles EigenvaluesRealIDEigenvaluesRealIDEigenvaluesRealIDEigenvaluesRealIDeigenvaluesRealIDeigenvalues_real_id und EigenvaluesImagIDEigenvaluesImagIDEigenvaluesImagIDEigenvaluesImagIDeigenvaluesImagIDeigenvalues_imag_id zurück. Die Real- und Imaginärteile der zugehörigen Eigenvektoren werden, falls gewünscht, in den neuen Matrizen EigenvectorsReal und EigenvectorsImag gespeichert. In diesem Fall enthält die j-te Spalte der Matrizen der Eigenvektoren den zugehörigen Eigenvektor zum j-ten Eigenwert. Zusätzlich werden die gültigen Matrix Handles EigenvectorsRealIDEigenvectorsRealIDEigenvectorsRealIDEigenvectorsRealIDeigenvectorsRealIDeigenvectors_real_id und EigenvectorsImagIDEigenvectorsImagIDEigenvectorsImagIDEigenvectorsImagIDeigenvectorsImagIDeigenvectors_imag_id zurückgegeben. Zugriff auf die Elemente der Matrizen ist z.B. mit dem Operator get_full_matrixget_full_matrixGetFullMatrixGetFullMatrixGetFullMatrixget_full_matrix oder get_sub_matrixget_sub_matrixGetSubMatrixGetSubMatrixGetSubMatrixget_sub_matrix möglich.

Der Berechnungstyp der Eigenvektoren kann über den Parameter ComputeEigenvectorsComputeEigenvectorsComputeEigenvectorsComputeEigenvectorscomputeEigenvectorscompute_eigenvectors gewählt werden. Wenn ComputeEigenvectorsComputeEigenvectorsComputeEigenvectorsComputeEigenvectorscomputeEigenvectorscompute_eigenvectors = 'none'"none""none""none""none""none" eingestellt ist, werden keine Eigenvektoren berechnet, und der Operator wird schneller. In diesen Fall sind die Matrix Handles EigenvectorsRealIDEigenvectorsRealIDEigenvectorsRealIDEigenvectorsRealIDeigenvectorsRealIDeigenvectors_real_id und EigenvectorsImagIDEigenvectorsImagIDEigenvectorsImagIDEigenvectorsImagIDeigenvectorsImagIDeigenvectors_imag_id ungültig. Sollen die rechten generalisierten Eigenvektoren ausgegeben werden, so ist 'right'"right""right""right""right""right" zu wählen. Die Formel für die Berechnung lautet wobei den -ten (komplexen) Eigenwert und den zugehörigen (komplexen) Eigenvektor darstellt.

Sind die linken generalisierten Eigenvektoren gewünscht, muss 'left'"left""left""left""left""left" gewählt werden. Die Formel für die Berechnung lautet wobei die Konjugiert-Transponierte von darstellt.

Beispiel:

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

Ausführungsinformationen

Parameter

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

Matrix Handle der Eingabematrix A.

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

Matrix Handle der Eingabematrix B.

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

Berechnung der Eigenvektoren.

Defaultwert: 'none' "none" "none" "none" "none" "none"

Werteliste: 'left'"left""left""left""left""left", 'none'"none""none""none""none""none", 'right'"right""right""right""right""right"

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

Matrix Handle mit den Realteilen der Eigenwerte.

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

Matrix Handle mit den Imaginärteilen der Eigenwerte.

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

Matrix Handle mit den Realteilen der Eigenvektoren.

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

Matrix Handle mit den Imaginärteilen der Eigenvektoren.

Ergebnis

Sind die Parameterwerte korrekt, dann liefert generalized_eigenvalues_general_matrixgeneralized_eigenvalues_general_matrixGeneralizedEigenvaluesGeneralMatrixGeneralizedEigenvaluesGeneralMatrixGeneralizedEigenvaluesGeneralMatrixgeneralized_eigenvalues_general_matrix den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

create_matrixcreate_matrixCreateMatrixCreateMatrixCreateMatrixcreate_matrix

Nachfolger

get_full_matrixget_full_matrixGetFullMatrixGetFullMatrixGetFullMatrixget_full_matrix, get_value_matrixget_value_matrixGetValueMatrixGetValueMatrixGetValueMatrixget_value_matrix, get_diagonal_matrixget_diagonal_matrixGetDiagonalMatrixGetDiagonalMatrixGetDiagonalMatrixget_diagonal_matrix

Siehe auch

generalized_eigenvalues_symmetric_matrixgeneralized_eigenvalues_symmetric_matrixGeneralizedEigenvaluesSymmetricMatrixGeneralizedEigenvaluesSymmetricMatrixGeneralizedEigenvaluesSymmetricMatrixgeneralized_eigenvalues_symmetric_matrix, eigenvalues_symmetric_matrixeigenvalues_symmetric_matrixEigenvaluesSymmetricMatrixEigenvaluesSymmetricMatrixEigenvaluesSymmetricMatrixeigenvalues_symmetric_matrix, eigenvalues_general_matrixeigenvalues_general_matrixEigenvaluesGeneralMatrixEigenvaluesGeneralMatrixEigenvaluesGeneralMatrixeigenvalues_general_matrix

Literatur

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.

Modul

Foundation