MF_det MD_det ME_det
MCF_det MCD_det MCE_det
MF_detwEdit MD_detwEdit ME_detwEdit
MCF_detwEdit MCD_detwEdit MCE_detwEdit
   
MFb_det MDb_det MEb_det
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
FunktionDeterminante 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/Delphiuses 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;
BeschreibungDie 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ückgabewertDeterminante der Matrix
QuerverweisMF_LUdecompose,   MF_CholeskyLdecompose,   MF_solve,   Kap. 10

MatrixLib Inhaltsverzeichnis  OptiVec Home