Cholesky

촐레스키 분해를 계산

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

매개 변수

L key

[out】 하부 삼각 행렬.

반환값

성공하면 true를 반환하고 그렇지 않으면 false를 반환.

참조

정사각 행렬 a의 촐레스키 분해 L * LH를 반환합니다. 여기서 L은 하부 삼각 행렬이고 .H는 켤레 전치 연산자(a가 실원소인 경우 일반 전치 연산자임)입니다. a는 에르미트(실원소이면 대칭)이고 양정행렬이여야 합니다. a가 Hermitian인지 여부를 확인하기 위한 검사는 수행되지 않습니다. 또한 a의 하부 삼각 요소와 대각선 요소만 사용됩니다. L만 실제로 반환됩니다.

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