Cholesky

Calcule la décomposition de Cholesky.

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

Paramètres

L key

[out]  Matrice triangulaire inférieure.

Valeur de Retour

Renvoie true en cas de succès, false sinon.

Note

Retourne la décomposition de Cholesky, L * L.H, de la matrice carrée a, où L est triangulaire inférieur et .H est l'opérateur de transposition conjuguée (qui est la transposition ordinaire si a est à valeur réelle). a doit être Hermitien (symétrique si à valeur réelle) et défini positif. Aucune vérification n'est effectuée pour vérifier que a est Hermitien ou pas. De plus, seuls les éléments triangulaires inférieurs et diagonaux de a sont utilisés. Seul L est réellement retourné.

Exemple

  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]]
  */