엔지니어가 되고 싶은 공돌이

03. 행렬(Matrix) 본문

Mathematics/Numerical Analysis

03. 행렬(Matrix)

Geca 2024. 7. 12. 12:56

 

3. 1. 행렬(Matrix)

 

- 전치행렬(Transpose Matrix, AT): n X m 행렬 A가 있을 때, 행과 열을 바꾼 m X n 행렬.

 

- 대칭행렬(Symmetric Matrix): A = AT 인 행렬.

 

- 대각행렬(Diagonal Matrix): n-square Matrix에서 대각원소 a11, a22, … , ann 이외의 모든 원소가 0인 행렬.

 

- 단위행렬(Identity Matrix, I): Diagonal Matrix에서 대각원소가 모두 1인 행렬.

 

 

- 역행렬(Inverse Matrix, A-1): square Matrix A에 대해 AB = BA = I 를 만족하게 하는 Matrix B.

 

- 행렬식을 이용한 역행렬 A-1 = [Aij]T / det(A).

 

 

- 행렬식(Determinant, | A | or det(A) )

 

 

- 소행렬(Minor Matix: Mij): n-square Matrix에서 i번째 항과 j번째 열을 제거해서 얻은 (n-1) X (n-1) 행렬.

 

- 여인수(Cofactor: Aij): Aij = (-1)i+j det(Mij).

 

 

- 여러 개의 선형방정식이 있을 때, 이를 모아서 Augmented Matrix로 표현하고, 기본 행 연산(Elementary Row Operations)을 반복해서 해를 구할 수 있다.

 

 

- 기본 행 연산(Elementary Row Operations).

 

  1) 두 행을 교환한다.

 

  2) 하나의 행에 0이 아닌 상수를 곱한다.

 

  3) 하나의 행에 0이 아닌 상수를 곱하고 다른 행에 더한다.

 


 

3. 2. 가우스 소거법(Gauss Elimination)

 

- Elementary Row Operations을 반복하여 Augmented Matrix를 Upper Triangular Matrix로 바꾸고 역대입법을 이용해서 해를 구한다.

 

1) 만약 a11 = 0 이면, ak1 ≠ 0을 찾아서 1행과 k행을 교환.

 

2) 기본행 연산을 적용해서 a21 = … = ai1 = … = an1 = 0 으로 만든다.

 

3) 만약 a22 = 0 이면, ak2 ≠ 0을 찾아서 2행과 k행을 교환.

 

4) 기본행 연산을 적용해서 a32 = … = ai2 = … = an2 = 0 으로 만든다.

 

5) 위 과정을 여러 번 반복해서 Upper Triangular Matrix를 얻는다.

 

 

for j = 1 to n-1

   for i = j + 1 to n

      i row = i row + j row X (-aij / ajj).

 

 

6) row 행의 끝부터 역대입법을 통해 변수의 값을 계산한다.

 

 

- 부분피벗 가우스 소거법(Partial Pivoting Gauss Elimination Method).

 

Gauss Elimination을 하기 전에 절대 값이 가장 큰 항을 찾아서 그 항이 속한 행과 첫번 째 행을 먼저 바꾼 후 소거법을 실행하면 오차를 줄일 수 있다.

 

컴퓨터에서 연산을 할 때는 자릿수를 맞춰주기 위해 곱셈이나 나눗셈을 실행해야 하는데 첫 항에 큰 값을넣고 연산을 진행하게 되면 곱셈 연산이 아닌 나눗셈 연산을 수행하게 되어 더 낮은 자릿 수에서 연산을 진행하게 되므로 오차의 자릿수가 달라져 오차가 줄어들게 된다.

 

 

- 가우스 소거법의 계산량.

 

  1) 전체적으로 필요한 곱셈 수 O(n3 / 3).

 

  2) 기억용량: n2.

 


 

3. 3. 가우스 조르단 소거법(Gauss-Jordan Elimination)

 

- Elementary Row Operations을 반복하여 Augmented Matrix를 Upper Triangular Matrix로 바꾸고 다시, Identity Matrix로 바꾼다.

 


Comments