orthogonal_decompose_matrix T_orthogonal_decompose_matrix OrthogonalDecomposeMatrix OrthogonalDecomposeMatrix orthogonal_decompose_matrix (Operator)
Name
orthogonal_decompose_matrix T_orthogonal_decompose_matrix OrthogonalDecomposeMatrix OrthogonalDecomposeMatrix orthogonal_decompose_matrix — Führt eine orthogonale Zerlegung einer Matrix durch.
Signatur
void OrthogonalDecomposeMatrix (const HTuple& MatrixID , const HTuple& DecompositionType , const HTuple& OutputMatricesType , const HTuple& ComputeOrthogonal , HTuple* MatrixOrthogonalID , HTuple* MatrixTriangularID )
HMatrix HMatrix ::OrthogonalDecomposeMatrix (const HString& DecompositionType , const HString& OutputMatricesType , const HString& ComputeOrthogonal , HMatrix* MatrixTriangularID ) const
HMatrix HMatrix ::OrthogonalDecomposeMatrix (const char* DecompositionType , const char* OutputMatricesType , const char* ComputeOrthogonal , HMatrix* MatrixTriangularID ) const
HMatrix HMatrix ::OrthogonalDecomposeMatrix (const wchar_t* DecompositionType , const wchar_t* OutputMatricesType , const wchar_t* ComputeOrthogonal , HMatrix* MatrixTriangularID ) const
(Nur Windows)
Beschreibung
Der Operator orthogonal_decompose_matrix orthogonal_decompose_matrix OrthogonalDecomposeMatrix OrthogonalDecomposeMatrix OrthogonalDecomposeMatrix orthogonal_decompose_matrix zerlegt die Matrix
Matrix, die durch das Matrix Handle MatrixID MatrixID MatrixID MatrixID matrixID matrix_id
gegeben ist. Es werden die Matrizen MatrixOrthogonal und
MatrixTriangular generiert und die Ergebnisse in diesen
gespeichert. Der Operator gibt die Matrix Handles
MatrixOrthogonalID MatrixOrthogonalID MatrixOrthogonalID MatrixOrthogonalID matrixOrthogonalID matrix_orthogonal_id und MatrixTriangularID MatrixTriangularID MatrixTriangularID MatrixTriangularID matrixTriangularID matrix_triangular_id dieser
zwei Matrizen zurück. Zugriff auf die Elemente der Matrizen ist
z.B. mit dem Operator get_full_matrix get_full_matrix GetFullMatrix GetFullMatrix GetFullMatrix get_full_matrix möglich.
Alle Ergebnisse der Zerlegung werden in den Matrizen
MatrixOrthogonal und MatrixTriangular
gespeichert, wenn der Parameter OutputMatricesType OutputMatricesType OutputMatricesType OutputMatricesType outputMatricesType output_matrices_type =
'full' "full" "full" "full" "full" "full" ist. Ist OutputMatricesType OutputMatricesType OutputMatricesType OutputMatricesType outputMatricesType output_matrices_type =
'reduced' "reduced" "reduced" "reduced" "reduced" "reduced" , wird nur ein Teil der Ergebniselemente in den
Matrizen MatrixOrthogonal und MatrixTriangular
gespeichert. Die Dimension dieser Matrizen ist kleiner als für
OutputMatricesType OutputMatricesType OutputMatricesType OutputMatricesType outputMatricesType output_matrices_type = 'full' "full" "full" "full" "full" "full" .
Beide Ausgabematrizen werden mit dem Parameter
ComputeOrthogonal ComputeOrthogonal ComputeOrthogonal ComputeOrthogonal computeOrthogonal compute_orthogonal = 'true' "true" "true" "true" "true" "true" berechnet. Für
ComputeOrthogonal ComputeOrthogonal ComputeOrthogonal ComputeOrthogonal computeOrthogonal compute_orthogonal = 'false' "false" "false" "false" "false" "false" wird nur die Matrix
MatrixTriangular berechnet. Die Laufzeit ist daher kürzer.
Der Zerlegungstyp der Matrix wird über den Parameter
DecompositionType DecompositionType DecompositionType DecompositionType decompositionType decomposition_type gewählt. Für DecompositionType DecompositionType DecompositionType DecompositionType decompositionType decomposition_type
= 'qr' "qr" "qr" "qr" "qr" "qr" wird eine QR Zerlegung (Quadratic/Right) oder für
DecompositionType DecompositionType DecompositionType DecompositionType decompositionType decomposition_type = 'ql' "ql" "ql" "ql" "ql" "ql" wird eine QL Zerlegung
(Quadratic/Left) berechnet. Die Zerlegung wird beschrieben als
Beispiel:
DecompositionType DecompositionType DecompositionType DecompositionType decompositionType decomposition_type = 'qr' "qr" "qr" "qr" "qr" "qr" ,
OutputMatricesType OutputMatricesType OutputMatricesType OutputMatricesType outputMatricesType output_matrices_type = 'full' "full" "full" "full" "full" "full"
Beispiel:
DecompositionType DecompositionType DecompositionType DecompositionType decompositionType decomposition_type = 'qr' "qr" "qr" "qr" "qr" "qr" ,
OutputMatricesType OutputMatricesType OutputMatricesType OutputMatricesType outputMatricesType output_matrices_type = 'reduced' "reduced" "reduced" "reduced" "reduced" "reduced"
Beispiel:
DecompositionType DecompositionType DecompositionType DecompositionType decompositionType decomposition_type = 'ql' "ql" "ql" "ql" "ql" "ql" ,
OutputMatricesType OutputMatricesType OutputMatricesType OutputMatricesType outputMatricesType output_matrices_type = 'full' "full" "full" "full" "full" "full"
Beispiel:
DecompositionType DecompositionType DecompositionType DecompositionType decompositionType decomposition_type = 'ql' "ql" "ql" "ql" "ql" "ql" ,
OutputMatricesType OutputMatricesType OutputMatricesType OutputMatricesType outputMatricesType output_matrices_type = 'reduced' "reduced" "reduced" "reduced" "reduced" "reduced"
Für DecompositionType DecompositionType DecompositionType DecompositionType decompositionType decomposition_type = 'rq' "rq" "rq" "rq" "rq" "rq" wird eine RQ
Zerlegung (Right/Quadratic) oder für DecompositionType DecompositionType DecompositionType DecompositionType decompositionType decomposition_type
= 'lq' "lq" "lq" "lq" "lq" "lq" wird eine LQ Zerlegung (Left/Quadratic) berechnet.
Die Zerlegung wird beschrieben als
Beispiel:
DecompositionType DecompositionType DecompositionType DecompositionType decompositionType decomposition_type = 'rq' "rq" "rq" "rq" "rq" "rq" ,
OutputMatricesType OutputMatricesType OutputMatricesType OutputMatricesType outputMatricesType output_matrices_type = 'full' "full" "full" "full" "full" "full"
Beispiel:
DecompositionType DecompositionType DecompositionType DecompositionType decompositionType decomposition_type = 'rq' "rq" "rq" "rq" "rq" "rq" ,
OutputMatricesType OutputMatricesType OutputMatricesType OutputMatricesType outputMatricesType output_matrices_type = 'reduced' "reduced" "reduced" "reduced" "reduced" "reduced"
Beispiel:
DecompositionType DecompositionType DecompositionType DecompositionType decompositionType decomposition_type = 'lq' "lq" "lq" "lq" "lq" "lq" ,
OutputMatricesType OutputMatricesType OutputMatricesType OutputMatricesType outputMatricesType output_matrices_type = 'full' "full" "full" "full" "full" "full"
Beispiel:
DecompositionType DecompositionType DecompositionType DecompositionType decompositionType decomposition_type = 'lq' "lq" "lq" "lq" "lq" "lq" ,
OutputMatricesType OutputMatricesType OutputMatricesType OutputMatricesType outputMatricesType output_matrices_type = 'reduced' "reduced" "reduced" "reduced" "reduced" "reduced"
Es ist zu beachten, dass in den Beispielen Unterschiede in der
Bedeutung der Werte in den Ausgabematrizen zu finden sind: Die
Ergebnisse der Elemente sind per Definition ein bestimmter Wert,
wenn dieser als ganze Zahl dargestellt ist, z.B. 0 oder 1. Der Wert
ist berechnet, wenn er als Gleitpunktzahl dargestellt ist, z.B. 0.0
oder 1.0.
Ausführungsinformationen
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
Wird ohne Parallelisierung verarbeitet.
Parameter
MatrixID MatrixID MatrixID MatrixID matrixID matrix_id (input_control) matrix → HMatrix , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Matrix Handle der Eingabematrix.
DecompositionType DecompositionType DecompositionType DecompositionType decompositionType decomposition_type (input_control) string → HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Zerlegungsmethode.
Defaultwert:
'qr'
"qr"
"qr"
"qr"
"qr"
"qr"
Werteliste: 'lq' "lq" "lq" "lq" "lq" "lq" , 'ql' "ql" "ql" "ql" "ql" "ql" , 'qr' "qr" "qr" "qr" "qr" "qr" , 'rq' "rq" "rq" "rq" "rq" "rq"
OutputMatricesType OutputMatricesType OutputMatricesType OutputMatricesType outputMatricesType output_matrices_type (input_control) string → HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Typ der Ausgabematrizen.
Defaultwert:
'full'
"full"
"full"
"full"
"full"
"full"
Werteliste: 'full' "full" "full" "full" "full" "full" , 'reduced' "reduced" "reduced" "reduced" "reduced" "reduced"
ComputeOrthogonal ComputeOrthogonal ComputeOrthogonal ComputeOrthogonal computeOrthogonal compute_orthogonal (input_control) string → HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Berechnung der orthogonalen Matrix.
Defaultwert:
'true'
"true"
"true"
"true"
"true"
"true"
Werteliste: 'false' "false" "false" "false" "false" "false" , 'true' "true" "true" "true" "true" "true"
MatrixOrthogonalID MatrixOrthogonalID MatrixOrthogonalID MatrixOrthogonalID matrixOrthogonalID matrix_orthogonal_id (output_control) matrix → HMatrix , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Matrix Handle mit dem orthogonalen Teil der
zerlegten Eingabematrix.
MatrixTriangularID MatrixTriangularID MatrixTriangularID MatrixTriangularID matrixTriangularID matrix_triangular_id (output_control) matrix → HMatrix , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Matrix Handle mit dem triangulären Teil der
zerlegten Eingabematrix.
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
orthogonal_decompose_matrix orthogonal_decompose_matrix OrthogonalDecomposeMatrix OrthogonalDecomposeMatrix OrthogonalDecomposeMatrix orthogonal_decompose_matrix den Wert 2 (H_MSG_TRUE ). Gegebenenfalls
wird eine Fehlerbehandlung durchgeführt.
Vorgänger
create_matrix create_matrix CreateMatrix CreateMatrix CreateMatrix create_matrix
Nachfolger
get_full_matrix get_full_matrix GetFullMatrix GetFullMatrix GetFullMatrix get_full_matrix ,
get_value_matrix get_value_matrix GetValueMatrix GetValueMatrix GetValueMatrix get_value_matrix
Siehe auch
decompose_matrix decompose_matrix DecomposeMatrix DecomposeMatrix DecomposeMatrix decompose_matrix ,
solve_matrix solve_matrix SolveMatrix SolveMatrix SolveMatrix solve_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