Cholesky

Berechnen der Cholesky-Zerlegung.

bool matrix::Cholesky(
  matrix&  L      // Matrix
   );

Parameter

L

[out] Untere Dreiecksmatrix.

Rückgabewert

Gibt bei Erfolg true zurück, andernfalls false.

Hinweis

Gibt die Cholesky-Zerlegung, L * L.H, der quadratischen Matrix a zurück, wobei L eine untere Dreiecksmatrix und .H der Operator für die konjugierte Transponierung ist (der die gewöhnliche Transponierung ist, wenn a reellwertig ist). a muss hermitesch sein (symmetrisch, wenn reellwertig) und positiv-definit. Es wird nicht geprüft, ob a hermitesch ist oder nicht. Außerdem werden nur die unteren Dreiecks- und Diagonalelemente von a verwendet. Nur L wird tatsächlich zurückgegeben.

Beispiel

  matrix matrix_a= {{5.7998084, -2.1825367}, {-2.18253679.85910595}};
  matrix matrix_l;
  Print("matrix_a\n"matrix_a);
 
  matrix_a.Cholesky(matrix_l);
  Print("matrix_l\n"matrix_l);
  Print("check\n"matrix_l.MatMul(matrix_l.Transpose()));
  
  /*
  matrix_a
  [[5.7998084,-2.1825367]
   [-2.1825367,9.85910595]]
  matrix_l
  [[2.408279136645086,0]
   [-0.9062640068544704,3.006291985133859]]
  check
  [[5.7998084,-2.1825367]
   [-2.1825367,9.85910595]]
  */