본문
자바 JAMA 라이브러리로 행렬 계산하기
참고로 A*B를 연산하고 싶다면 A.times(B)처럼 순서대로 적어주면 된다, 따라서 아래에서는 A'*A=I이므로 연산은 matInv.times(mat)으로 이루어 진것이다. 아무튼 이 라이브러리를 사용하여 프로젝트를 진행할 수 있었다.
import java.util.Random; import Jama.Matrix; public class HelloJama { public static void main(String[] args) { Matrix mat = random(5,2); mat.print(5, 5); Matrix matInv=mat.inverse(); matInv.print(5, 5); matInv.times(mat).print(5, 5); } public static Matrix random(int i, int j) { Matrix matrix = new Matrix(i, j); double ad[][] = matrix.getArray(); Random rn = new Random(); for(int k = 0; k < i; k++) { for(int l = 0; l < j; l++) ad[k][l] = rn.nextInt()%100; } return matrix; } }
==========================================
57.00000 -17.00000
57.00000 -65.00000
-38.00000 91.00000
84.00000 -34.00000
64.00000 88.00000
0.00297 0.00230 -0.00087 0.00425 0.00482
-0.00005 -0.00243 0.00398 -0.00052 0.00525
1.00000 0.00000
0.00000 1.00000
댓글