2. 역행렬
1) 역행렬이란
- A가 n×m 행렬일 경우 AB=BA=I를 만족하는 행렬 B
- A,의 역행렬은 A^(-1)이라고 표현

- detA는 a의 행렬식
- adjA는 행렬 A의 원소들에 대응하는 여인수들로 된 행렬의 전치행렬

- 보기 2와 같이 detA가 0일 경우 역행렬이 존재하지 않음.
- 행렬 A의 역행렬이 존재할 경우

- 보기 3과 같이 연립방정식의 해를 구할 수 있음.
2) 역행렬구하기
- 2 x 2 행렬의 역행렬

- 3 x 3 행렬의 역행렬

3) 가우스-조르당 방법을 이용한 역행렬
- Ax=b의 역행렬식은 Ax=Ib와 같음
- 두 행렬 A와 I에서 기본행연산을 수행하더라도 등식은 성립
-
행렬 A에 가우스 조르당법을 적용하여 행렬 A를 단위행렬로 만들고, 행렬 I에 같은 연산과정을 적용
- Ax=Ib의 행렬식은 Ix=Cb형태의 행렬식을 구함
- x=Cb 이므로 C=A^(-1)
4) MATLAB을 이용한 가우스-조르당 방법으로 역행렬 구하기
function b = mat_inv2(a)
% Find dimensions of input matrix
[r,c] = size(a);
% If input matrix is not square, stop function
if r ~ = c
disp(‘Olny Square Matrices, please’)
b = [];
return
end
% Target identity matrix to be transformed into the output
% inverse matrix
b = eye(r);
%The following code actually performs the matrix inversion
for j = 1 : r
for i = j : r
if a(i,j) ~= 0
for k = 1 : r
s = a(j,k); a(j,k) = a(i,k); a(i,k) = s;
s = b(j,k); b(j,k) = b(i,k); b(i,k) = s;
end
t = 1/a(j,j);
for k = 1 : r
a(j,k) = t * a(j,k);
b(j,k) = t * b(j,k);
end
for L = 1 : r
if L ~= j
t = -a(L,j);
for k = 1 : r
a(L.k) = a(L,k) + t * a(j,k);
b(L,k) = b(L,k) + t * b(j,k);
end
end
end
end
break
end
% Display warning if a row full of zeros is found
if a(i,j) == 0
disp(‘Warning: Singular Matrix’)
b = ‘error’;
return
end
end
% Show the evolution of the input matrix, so that we can
% confirm that it became an identity matrix.
a

'수학 > 수치해석' 카테고리의 다른 글
13차시 - 수치적분(1) (0) | 2020.03.30 |
---|---|
12차시 - 수치미분 (0) | 2020.03.24 |
11차시 - 반복법과 역행렬 (1) (0) | 2020.03.17 |
10차시 - 선형연립방정식과 해 (3) (0) | 2020.03.14 |
10차시 - 선형연립방정식과 해 (2) (0) | 2020.03.13 |