Post date: Jun 19, 2014 10:56:39 AM
매스매티카는 먼가 내가 수학적으로 문제를 풀어야 할 때 간단하면서도 빨리 결과를 알 수 있게 해준다.
간단하게 촐스키 분해(Cholesky Decomposition)를 매스매티카로 해보려 한다.
먼저 위키(Wiki)에서 행렬과 예제를 그림으로 아래와 같이 가지고 왔다.
다음, 매스매티카 노트에 아래와 같이 입력한다.
CholeskyDecomposition[{{25, 15, -5}, {15, 18, 0}, {-5, 0, 11}}]
{{5, 3, -1}, {0, 3, 1}, {0, 0, 3}}
이건 상부삼각행렬 값이다. 하부삼각행렬 L을 구해보자
ConjugateTranspose[{{5, 3, -1}, {0, 3, 1}, {0, 0, 3}}]
{{5, 0, 0}, {3, 3, 0}, {-1, 1, 3}}
음.. 벌써 끝이다, 원래대로 한다면 LU곱을 구하고 대각선 Lkk 와 Lik를 구해야 하는데, 매스매티카로 하니 순식 간에 값이 구해졌다.
이번에는 매스매티카(앞으론 줄여서 매카라, 반복의 미학을 제거)의 많은 장점 중에 하나인 프로그래밍 할 때 쓰는 변수의 활용을 해보겠다.
만약 값을 저장할 수 있는 변수가 없다면, 수 많은 노가다성 타이핑을 일일히 반복적으로 해야 할 것인데, 이런 기능이 있어 수고를 덜어 주고 있다.