선형연립방정식 가우스소거법

29
연립 방적식. 가우스 소거법 판별식. 구경원(돼지고기) 2011.09.24

Upload: kyeongwon-koo

Post on 08-Jul-2015

4.029 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 선형연립방정식 가우스소거법

연립 방적식. 가우스 소거법판별식.

구경원(돼지고기)

2011.09.24

Page 2: 선형연립방정식 가우스소거법

선형 연립 방적식• 두 개 이상의 미지수를 포함하는 방정식의 조를 말한다.

• 미지수의 개수가 n 이고 최고의 m 차수 일 때, 그 연립방정식을 연립 n원 m차 방정식이라고 한다.

1n1n1,m11,1m01,0m1m

1n1n1,11,101,01

1n1n0,10,100,00

xaxaxab

xaxaxab

xaxaxab

Page 3: 선형연립방정식 가우스소거법

해집합

• 연립방정식에 대해서 가능한 모든 해답의 집합을 “해집합” 이라고 한다.

}7

1x,

7

5{x 해집합

2x3x

12xx

10

10

10

존재한다. 무수히 해가

dczbyax

이다. 공집합"" 않는 존재하지 해가

2xx

1xx

10

10

Page 4: 선형연립방정식 가우스소거법

• Ax = b

• 주어진 A와 b에 대해서 x는 무엇인가

1m

1

0

1n

1

0

1n1,m 1,1m1,0m

1n1,1,11,0

1n0, 0,10,0

b

b

b

x

x

x

a a a

a a a

a a a

1n1n1,m11,1m01,0m1m

1n1n1,11,101,01

1n1n0,10,100,00

xaxaxab

xaxaxab

xaxaxab

Page 5: 선형연립방정식 가우스소거법

선형 연립 방정식 풀기

1 0 0

a 1 0

a a 1

1n1,

1n0, 0,1

1n1m

1n1n1,11

1n1n0,10,100

xb

xaxb

xaxaxb

• 를 통해서 한 개의 미지수 해를 구할 수 잇다.

• 구해진 미지수의 해를 이전 공식에 대입해서 또 다른 해를 구할수 있다.

• 위의 과정을 연쇄적으로 반복해서 해 집합을 구할 수 있다.

• 이러한 행렬을 행 사다리꼴 이라고 한다.

1n1m xb

Page 6: 선형연립방정식 가우스소거법

행 사다리꼴

• 만야 임의의 행이 모두가 0이라면, 행렬에서 임의의 0이 아닌 행들 아래로 내릴수 있다. 다른 말로 하자면, 모든 0인 행렬은 행렬의 아래쪽에 놓인다.

• 임의의 행의 0이 아닌 첫 번째 원소는 1 이어야 한다.

• 각 선두 1은 이전 행의 선두 1보다 오른쪽에 있어야한다.

기약 행 사다리꼴(축약된 행 사다리꼴)

• 선두 1을 가지는 각 열은 다른 행들에서는 0이어야 한다.

Page 7: 선형연립방정식 가우스소거법

기본 행 연산• 선형 연립 방적식을 풀기 위해서 선형 시스템의 성질을 보존하

는 행렬을 사용할 필요가 있다.

• 이러한 이유로 기본 행 연산 이라고 불리는 세가지 변한들 중에하나를 수행하는 행렬들로 제한된다.

0 0

1 0 0

0 0 1

1 0 0

0 1 0

0 k 1

1 0 0

0 a 0

0 0 1

1

두번째 행에 스칼라 a를 곱한다.

두번째 행에 k배를 해서 첫번째 행에 더한다.

두번째 행에 k배를 해서 첫번째 행에 더한다.

Page 8: 선형연립방정식 가우스소거법

가우스 소거법

1. 행렬 A와 벡터 b를 첨가 행렬 이라고 불리는결합 한다.

2.기본 행 연산을 첨가 행렬에 수행한다.

- 선형 연립 방정식의 해를 얻거나 유일 해를 얻거나 유일 해를 계산하는 것이 가능한지, 해가없는지, 무한한 해가 존재하는지 알 수 있다

Page 9: 선형연립방정식 가우스소거법

순서도1. 열p 에서 가장 큰 절대 값을 가지고 있는 원소

를 찾는다.

2. 만약 최대값이 0이라면 중단한다.

3. 만약 최대값이 p번째 행에 있지 않다면 행을 교환한다.

4. 중심 원소를 1로 만든다.

5. 아래 열 성분들을 지운다.

( 기준 열에 원소들이 0이 되도록 현재 행에서 p 번째 행에 특정값을 곱해서 뺀다)

6. 후 대입법을 수행한다.

Page 10: 선형연립방정식 가우스소거법

5

5

3

1 3- 1

2 1 2

9 6 3

3

5

5

9 6 3

2 1 2

1 3 1

3 9z 6y3x

5 2z y2x

5 z 3yx

1번째 열을 살펴보면 최대원소가 3번째 행의 3이다.

따라서 3번째와 1번째 행을 교체한다.

Page 11: 선형연립방정식 가우스소거법

4

5

1

2- 5- 0

4- 5- 0

3 2 1

3

5

1

1 3- 1

4- 5- 0

3 2 1

3

5

1

1 3- 1

2 1 2

3 2 1중심 원소를 1로 만들기 위

해서 새로운 1번째 행에1/3으로 스케일 한다.

2번째 행의 1번째 원소는2이다. 1번째 행에 -2를

곱해서 그것을 2번째 행에더하자.

3번째 행에 대해서도 마찬가지로 -1을 스케일해서

더하자.

Page 12: 선형연립방정식 가우스소거법

21

53-

1

1 0 0

54 1 0

3 2 1

1

53-

1

2 0 0

54 1 0

3 2 1

4

53-

1

2- 5- 0

54 1 0

3 2 1

다른 행과 열에 대해서도똑같이 반복 계산 해준다.

행 사다리꼴 완성.

Page 13: 선형연립방정식 가우스소거법

3/2

3(1/2)1)2(1

3z2y1x

1

4/5(1/2)3/5

4/5z3/5y

1/2z

3/54/5zy

13z2yx

21

53-

1

1 0 0

54 1 0

3 2 1

Page 14: 선형연립방정식 가우스소거법

행렬의 역

b = Ax 방정식 풀기

양변을 A로 나누면 x = b/A

하지만 행렬은 나눗셈 연산을 가지지 않는다.

그래서 필요한 것이 행렬의 역 행렬 이다.

n*n 행렬 M의 역행렬은 이라고 표기한다.

역 행렬이 존재하는 행렬을 가역 행렬이라고 한다.

존재 하지 않는 행렬을 특이 행렬 이라고 한다.

1M

Page 15: 선형연립방정식 가우스소거법

행렬의 곱셈에서의 역원

역원의 역원은 원본 행렬이다.

행렬이 정방 행렬이라고 역 행렬을 가지는 건 아니다.

IA1

AI1

AA

A)(A

AA

)(AA

11

1

111

I

I

Page 16: 선형연립방정식 가우스소거법

가우스 소거법을 이용하여 역 행렬을 구할 수 있다.

00

0

0

1

0

0

1

eAx

곱하면 A를양변에 . . . . ,0}이며,{1,0,... . .e 여기서

eAx

하면 x열을 번째 첫 의A

Page 17: 선형연립방정식 가우스소거법

1 0 0

3 31 0

2- 0 21

1 0 0

0 1 0

0 0 1

지운다. 성분을 더해 행에 두번째 곱해서 3을 행에 마지막

지우고 성분을 더해 행에 첫번째 곱해서 2를- 행에 마지막 넘어가서 열로 번째 세

1 0 0

0 31 0

0 0 21

1 0 0

3 1 0

2 0 1

해준다 스케일 1 /3 행을 두번째 넘어가서 열로 번째 두

0이므로 성분들이 아닌 성분이 중심 열에서 번째 첫

1 0 0

0 1 0

0 0 21

1 0 0

9 3 0

2 0 1

스케일한다 1/2로 행을 번째 첫

1 0 0

0 1 0

0 0 1

1 0 0

9 3 0

4 0 2

Page 18: 선형연립방정식 가우스소거법

- 가우스 소거법이 역원을 구하는 데에 유용하기는하지만 많은 행렬들의 역원을 구하는 데에는 필요하지 않다.

- 게임에서 다루는 행렬들의 대부분은 간단한 역원을 가지고, 그 행렬의 형태를 아는 것이 역원을 계산 하는 것을 명백히 해준다.

1. 행렬 A가 직교행렬 이면, 역원은 전치행렬이다.

TAA 1

0 0 1

1 0 0

0 1 0

0 1 0

0 0 1

1 0 01

Page 19: 선형연립방정식 가우스소거법

2. 0이 아닌 요소들을 가지는 대각행렬

3. 대각은 모두 1이고 한 열 또는 한 행은 0이 아니다.

4. A행렬과 B행렬이 가역행렬이다.

c1 0 0

0 b1 0

0 0 a1

c 0 0

0 b 0

0 0 a1

1 0 0

y 1 0

x 0 1

1 0 0

y 1 0

x 0 11

111 ABAB)(

Page 20: 선형연립방정식 가우스소거법

행렬식=판별식(determinate)정방행렬의 요소들을 평가한 결과인 스칼라 양이다.

행렬에 의해서 변화된 벡터의 크기가 얼마나 변화 하는가의 일반

적인 측정 단위로서 작동한다.

det(A) 또는 |A| 로 표기하며,

두 번째는 행렬의 요소들을 보여줄 때 종종 사용된다.

2*2 행렬의 열 들을 취하고 그것을 평행사변형의 변이면,

평행사변형의 면적과 동일

3*3행렬의 경우 판별식의 절대값은

기저벡터들로 구성된 평행육면체의 부피와 동일

Page 21: 선형연립방정식 가우스소거법

여인수. 의a 성분 )는Adet(1)(

마이너. 의a 성분 는 )Adet(

행렬. 부분 구성한 제외해서 열을 j번째 행과 i번째 A에서는A

)Adet(1)(adet(A)

정의 재귀적 기준으로 를 j 열

)Adet(1)(adet(A)

정의. 재귀적 표준적인 선택해서 i를 행렬 임의의

ji ,ji ,

~j )( i

ji ,ji ,

~

ji ,

~

ji ,

~j )( i

n

1i

ji ,

ji ,

~j )( i

n

1j

ji ,

Page 22: 선형연립방정식 가우스소거법

예제

6 3

4 2

5 3

3 2

5 6

3 4

?

5 6 3

3 4 2

2 1 1

det

1행과 1열을 제거한 부분행렬

1행과 2열을 제거한 부분행렬

1행과 3열을 제거한 부분행렬

Page 23: 선형연립방정식 가우스소거법

eg)c(dhfg)b(difh)a(ei

h g

e ddetc

i g

f ddetb

i h

f edeta

i h g

f e d

c b a

det

bcadcdetbddetad c

b adet

16 3

4 22

5 3

3 21

5 6

3 41det(A)

판별식 3행렬의*3 일반적으로

판별식 2행렬의*2 일반적으로

det(A)

1)2.det(A

B)det(A)det(1.det(AB)

1

Page 24: 선형연립방정식 가우스소거법

- 2*2, 3*3 행렬의 판별식 계산은 단순하다.

- 하지만 큰 행렬의 경우, 재귀적인 정의는 다루기 힘들어지고 계산비용도 측정 불가능한 시간이 소모될 수있다.

- 부동소수점 정밀도 문제들을 야기할 수도 있다.

판별식과 기본 행 연산들

- 행에 k를 곱하는 것판별식에 k를 곱한다.-한 행의 곱한 결과를 다른 행에 더하는 것아무런 영향이 없다.-행들을 교환하는 것판별식의 부호가 바뀐다.

Page 25: 선형연립방정식 가우스소거법

12 1

3 1

13 1

2 1

21 1

4 2

교체한다. 행을 두번째 행과 첫번째

없다. 영향이 아무런 판별식에

것은 더하는 행에 다른 또 한것을 곱을 임의의 한행에

더한다. 행에 두번째 해서 두배를 행에 첫번째

11 1

2 1

곱한다 k를 판별식에도

마찬가지로 곱하면 행에 임의의 k를 스칼라

곱한다. 1/2를 행에 번째 첫

Page 26: 선형연립방정식 가우스소거법

수반행렬과 역원

- 여인수 행렬

- 여인수 행렬의 전치가 수반 행렬

- 스위스 수학자인 가브리엘 크래머는 행렬의 역을 다음과 같이 수반 행렬로 계산 할 수 있다는 것을 증명 했다.

- Ax = b 에서 b가 영행렬이 아니고 A가 역행렬이 존재할 때 Ax = b는 유일한 해를 가진다.

)Adet(1)(C ji ,

~j )( i

ji ,

adjA

adj1 Adet(A)

1A

Page 27: 선형연립방정식 가우스소거법
Page 28: 선형연립방정식 가우스소거법

• 많은 그래픽 엔진들이 역원을 구하기 위해서 크래머의 방법을 사용하고 있다.

• 3 * 3, 4 * 4 행렬에 대해서는 크래머의 방법이 가우스 소거법 보다 더 빠르다

Page 29: 선형연립방정식 가우스소거법

•END