MF_detwEdit
| MD_detwEdit |
ME_detwEdit |
MCF_detwEdit |
MCD_detwEdit |
MCE_detwEdit |
MCFb_det |
MCDb_det |
MCEb_det |
MFb_detwEdit
| MDb_detwEdit |
MEb_detwEdit |
MCFb_detwEdit |
MCDb_detwEdit |
MCEb_detwEdit |
MFb_det_sizeBuf
| MDb_det_sizeBuf |
MEb_det_sizeBuf |
MCFb_det_sizeBuf |
MCDb_det_sizeBuf |
MCEb_det_sizeBuf |
MFsym_det
| MDsym_det |
MEsym_det |
|
Funktion | Determinante einer Quadratmatrix |
|
Syntax C/C++ | #include <MFstd.h>
float MF_det( fMatrix MA, ui len );
float MFb_det( fMatrix MA, ui len, fVector Buf );
fComplex MCF_det( cfMatrix MA, ui len );
fComplex MCFb_det( cfMatrix MA, ui len, cfVector Buf );
ui MFb_det_sizeBuf( ui len );
float MFsym_det( fMatrix MA, ui len ); |
C++ MatObj | #include <OptiVec.h>
T matrix<T>::det();
T matrix<T>::b_det( vector<T>& Buf );
complex<T> matrix<complex<T>>::det();
complex<T> matrix<complex<T>>::b_det( vector<complex<T>>& Buf );
ui matrix<T>::b_det_sizeBuf( const ui len );
T matrix<T>::sym_det();
|
Pascal/Delphi | uses MFstd;
function MF_det( MA:fMatrix; len:UIntSize ):Single;
function MFb_det( MA:fMatrix; len:UIntSize; Buf:fVector ):Single;
function MCF_det( MA:cfMatrix; len:UIntSize ):fComplex;
function MCFb_det( MA:cfMatrix; len:UIntSize; Buf:cfVector ):fComplex;
function MFb_det_sizeBuf( len:UIntSize ):UIntSize;
function MFsym_det( MA:fMatrix; len:UIntSize ):Single;
|
|
Beschreibung | Die Determinante von MA wird berechnet. Für große Matrizen geschieht dies im Normalfall durch MF_det über LU-Faktorisierung. Kleine Matrizen werden individuell behandelt. Im Spezialfall symmetrischer Matrizen kann die Determinante auch ungefähr doppelt so schnell durch MFsym_det berechnet werden.
MF_det benötigt Pufferspeicher. Die "Normal-Versionen" (Präfix MF_, MCF_ usw.) allozieren ihn selbst, während die Versionen mit den Präfixen MFb_, MCFb_ etc. als zusätzliches Aufruf-Argument einen Vektor Buf übernehmen. Die erforderliche Größe von Buf kann mittels Aufruf von MFb_det_sizeBuf() abgefragt werden (Angabe nicht in byte, sondern als Zahl der Elemente von Buf im jeweiligen Datentyp!).
Wie erwähnt kann die Determinante einer symmetrischen Matrix u.U. wesentlich schneller mittels MFsym_det berechnet werden. Die Syntax von MFsym_det ist identisch mit MF_inv. Diese Funktion versucht zunächst Cholesky-Faktorisierung. Nur falls diese nicht erfolgreich ist (sich die Eingabe-Matrix also als nicht-positiv-definit herausstellt), wird doch der Weg über LUD beschritten. |
|
Rückgabewert | Determinante der Matrix |
|
|