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