2010.11.15 17:09


행렬식. 행렬식. 행렬식. 행렬식.
공대생이라면..
지겹도록 들었을 것이다.


하지만 행렬식이 무엇이냐 ?
물어보면
대답할 줄 아는 사람은 몇명 없다.
그냥 행렬식은 익숙하나 정확한 개념이 안잡혔기 때문에.


나 역시도 모르기때문에 이렇게 행렬식에 대해서 자세히 알아볼려고 한다.
자 그럼 행렬식에 대해서 알아보자 ㅋ




행렬식 [行列式] determinant


보통 det 라 많이 부르는 행렬식의 정의를 보면 ?

G.W 라이프니츠 가 연립방정식의 해법의 연구에서 고안한 것으로, 대수학에서 n형과 n열의 정방행렬 A와 관련된 식을 일컫는다.
단지 연립방정식을 구하기 위해서 이것을 만들었다는 건가 ㅡㅡ



그냥 구하면 되지 왜 구지 행렬이란것을 만들어서 사용하니 ?

우리는 미지수가 2개의 연립방정식은 풀기 쉽지만 , 만약 미지수가 10개라면 ?
답이 없습니다.
손으로 풀다간 죽습니다..

한가지 예를 들어 나로호를 지금 아 올릴려고 합니다. 그런데
행성궤도를 계산해야하는데 연립 방정식으로 풀어야 합니다.
근데 미지수가 몇 백만개가 넘는 다는데요 어떻게 하시겠습니까?

바보 같이 그걸 우리가 왜해
컴퓨터가 다알아서 해줄건데.ㅋㅋㅋㅋ 바보니 ?
컴퓨터가 해주는 건 나도 아는데 어떻게 입력할건데?

맞습니다. 이제 짐작이 가십니까?
컴퓨터가 이해 할 수 있는 식으로 표현을 할려고 하는데
그게 행렬이라는 식으로 바꿔서 
컴퓨터에 입력을 한다는 것입니다.

한 마디로 말해서 공대생은 수학을 컴퓨터가 풀 수 있는 방법으로 바꾸기 위해서 행렬을 배운다는 것입니다.



그럼 행렬식은 어떻게 구하나요?

자 그럼 우리가 고등학교 때 배웠던 행렬에 대해서 잠간 생각 해봅시다.


먼저 1차 행렬

|a|  의 행렬식은 ?              답  :  a



그럼 2차행렬

| a  b |
| c  d |   의 행렬식은 ?       답 : ad - bc



.......... 여기서부터는 대학 수준입니다.  .................


그럼 3차 행렬
| a  b  c |
| d  e  f  |
| g  h  i  |  의 행렬식은 ?    

네 답을 못하는 분들이 많을 것입니다.

이 것의 답은 
aei + cdh + bfg - ceg - bdi - afh 입니다.
<틀려서 올바르게 수정하였습니다^^ 틀린부분 조언 감사합니다.>


마추신 분들은 보통 Sarrus 전개를 이용해서 구하셨을 것입니다.


Sarrus 전개란 ?

Sarrus란 사람이 행렬식을 좀더 쉽게 구하기 위하여 아래 그림과 같이



행렬을 연장하여 대각선 방향으로 반대각선 방향의 차가 행렬식의 값과 같다는것을 나타낸 것 
(하지만 이는 3차까지만 적용이 가능하다는 것)

우리는 보통 위 그림 보다는 아래 그림과 같이 외우고 있습니다.





앗 그럼 4차 이상은 어떻게 구하나요 (여인수 전개) ?

4차 이상부터는 여인수 전개를 통하여 구합니다.

여인수(cofactor) 전개를 알기 전에
먼저 소행렬 식부터 알아 봅시다.

소행렬식이란 ?
이것 역시  G.W. 라이프니치가 연립 방정식 해법 연구중 하나로 고안한 행렬식중 하나입니다.

N차 정사각 행렬에 대해서 임의의 행렬원소 Aij 가 있다면 i와 j에 해당하는 행과 열을 제거해서 얻을수 있는
N-1차 행렬의 행렬식을 원소 Aij의 소행렬식이라 표현합니다.

예를 들어보면
다음과 같은 3차 행렬식 A가 있다면


a11 를 원소로 하는 소행렬식 D11을 구할려면



2차 행렬이 나오는데 이를 M11 라 합니다.
M11 의 행렬식값은 D11 으로 아래와 같이 


소행렬식의 값을 구할 수 있습니다.


여기서 라이프니치는
일반적으로 Mij 와 Aij의 관계는 
 가 성립하는 관계를 얻을 수 있습니다.


그러면 행렬 A의 모든 성분들의 소행렬식을

행에대해서


열에대해서

 
전개를 한 것에 대해서 합을 구하여 행렬식 값을 구하는 방법을  

여인수 전개라고 합니다.

여기서 어떠한 행이나 열로 해도 같은 결과를 같습니다.
이는 수학적 귀납적 용법으로 증명이 가능하다고 합니다. (궁금하시면 해보세용)

그래서 일반적으로 보통 1행에서 대해서 많이 구합니다.

|A| = a11A11 + a12A12 + a13A13 이런식으로



말로 설명하니 좀 이해가 안가시죠?  예를 들어서 설명해보겠습니다.

3차행렬식을 바로 Sarrus전개를 이용하지 않고
3차행렬식을 여인수 전개를 이용해서 2차로 줄이고 
2차행렬식을 Sarrus 전개식을 이용해서 행렬식값을 구하는 것을 표현해보겠습니다.





1. Sarrus 전개 방식을 이용한다면 바로 답은 : 
(a11*a22*a33) + (a12*a23*a31) + (a13*a21*a32) - (a13*a22*a31) - (a12*a21*a33) - (a11*a23*a32)


2. 여인수 전개 방식을 이용한다면 (1행 단위로 구분을 지어서 해보겠습니다. 아무것이나 해도 결과는 같습니다. )


M11 값은   
  

이런식으로 M12, M13을 구하고


대입을 해보면




이렇게 행렬식 값을 구하고 전개하면


이를 다시 풀면
(a11*a22*a33) + (a12*a23*a31) + (a13*a21*a32) - (a13*a22*a31) - (a12*a21*a33) - (a11*a23*a32)


3 결과 :

여인수전개  방법과 Sarrus 전개 방법이 같다는 결과를 볼 수 있습니다.

이젠 3차 이상의 행렬값은 어떻게 구하는지 아시겠죠?




이론만 알면 무엇합니까 ㅡ,.ㅡ 한번 코딩한번 해보죠 ^^ (실전에 써야죵 ㅋㅋㅋ)


Posted by 차출발 차출발