6. 행렬 연산
가. 전치 행렬 – transpose(A) 또는 A’, (ctranspose: 켤레 복소수의 전치 행렬)
예) >> A=[1,2,3;4,5,6;7,8,9];
>> transpose(A)
ans = [1,4,7;2,5,8;3,6,9]
나. 역행렬 – inv(A)
다. 행렬식 – det(A)
예) >> syms k1, k2, k3
>> k = [(k1+k2+k3),-(k2+k3);-k3,(k2+k3)]
k = [ k1+k2+k3, -k2-k3]
[ -k3, k2+k3]
>> det(k)
ans = k1*k2+k1*k3+k2^2+k2*k3
라. 계수 – rank(A) : 원래 행렬의 행이나 열의 수에서 reduced row echelon form 행렬에서 행의
요소가 모두 0인 행의 수를 뺀 값. (rref : reduced row echelon form 행렬 생성)
예) >> a=[1,-2,3;2,-5,1;1,-4,-7]
>> rank(a)
ans = 2
>> rref(a)
ans = [1,0,13;0,1,5;0,0,0] %rref에서 행의 요소가 모두 0인 행은 3행 뿐임.
마. trace – trace(A) : 행렬의 대각 요소의 합
바. 대각 행렬 – diag(A) : 대각 성분을 제외한 모든 요소가 0인 행렬
사. 삼각 인수 분해
1. [L,U,P] = lu(A). (L: 하삼각 행렬, U: 상삼각 행렬, P:순열 행렬), PA = LU
2. [Lp U] = lu(A). (Lp: permuted 하삼각 행렬, U: 상삼각 행렬), Lp = inv(P)*L
아. 직교 인수 분해 – [Q,R,E] = qr(A) (Q: unitary 행렬, R: 상삼각 행렬, E: 순열행렬), AE = QR
자. Cholesky 인수 분해 – [R,p,S] = chol(A) (R: 상삼각 행렬)
차. 고유치와 고유 벡터 – [X,lamda] = eig(A), (X: 고유벡터, lamda: 고유치)
– A*X = lamda*X, X가 0이 아닌 해를 갖기 위한 lamda 값을 고유치, X를 고유벡터라 함.
– (A-lamda*I)X = 0, det(A-lamda*I) = 0, (poly: 행렬의 특성 방정식)
카. 놈(norm)
1. 벡터 norm – norm(x,p): sum(abs(x).^p)^(1/p)와 같음. norm(x,inf) = max(abs(x))
2. 행렬 norm – norm(A,1): 열의 절대값의 합 중 가장 큰 값, max(sum(abs(A)))와 같음.
norm(A,inf): 행의 절대값의 합 중 가장 큰 값, max(sum(abs(A’)))
norm(A,’fro’): 모든 요소의 제곱의 합에 대한 제곱근, sqrt(sum(diag(A’*A)))
norm(A) 또는 norm(A,2): 행렬 A의 가장 큰 singular value, max(svd(A))
답글 보고 블로그에 오게 되었는데 조회수가 굉장하네요. 그리고 수학도 잘하시나봐요. 부럽습니다. +_+ 전공도 저와 비슷한 이과 계열이신듯 하신데 앞으로 좋은 인연 만들어 보아요. ㅎ
굉장하다뇨^^..한가지 팁(?)을 알려드리자면,
저는 네이버에 등록했구요.(잘 해주는 것 같아요.)
올블로그넷이랑 블로그코리아도 등록했어요.
다음은 안했는데 거기에도 등록하면 방문자가 많을 거에요.
아 그리고 저는 공대생…잘 한다기 보다 피할 수 없는 운명(?)인가봐요.^^