Cholesky

Calcula la descomposición de Cholesky.

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

Parámetros

L

[out]  Matriz triangular inferior.

Valor retornado

Retorna true en el caso de éxito, de lo contrario, false.

Observación

Retorna la expansión de Cholesky, L * L.H, de una matriz cuadrada A, donde L es la matriz rectangular inferior y .H es la matriz conjugada hermitiana (que es la transposición habitual cuando A es real). A debe ser hermitiana (simétrica, si es real) y positivamente definida. La función no comprueba si A es hermitiana o no. Además, solo se utilizan los elementos rectangulares inferiores y diagonales de A. De hecho, solo se retorna L.

Ejemplo:

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