Download - 4 장 . 선형방정식의 해법과 응용 (1~3 장 까지의 내용 review)

Transcript
Page 1: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

4 장 . 선형방정식의 해법과 응용(1~3 장 까지의 내용 review 포함 )

최 윤정

Page 2: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

Contents

4.1 가우스 소거법을 이용한 선형방정식의 해법

• 첨가행렬로의 표현

• 가우스 - 조단 소거법에 의한 선형방정식의 해법

• LU- 분해법에 의한 선형방정식의 해법

- 두리틀 , 촐스키

4.2 선형방정식의 다양한 응용들

• 여러 가지 응용들

• 화학방정식 / 교통 흐름 / 마르코프 체인 / 암호 해독 등에 응용

Page 3: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

3

4.1.1 첨가행렬로의 표현

Page 4: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

4

4.1.1 첨가행렬로의 표현

Page 5: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

5

4.1.1 첨가행렬로의 표현

Page 6: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

6

4.1.2 가우스 - 조단 소거법에 의한 선형방정식의 해법

Page 7: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

7

4.1.2 가우스 - 조단 소거법에 의한 선형방정식의 해법

Page 8: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

8

4.1.2 가우스 - 조단 소거법에 의한 선형방정식의 해법

Page 9: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

9

4.1.2 가우스 - 조단 소거법에 의한 선형방정식의 해법

Page 10: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

10

4.1.2 가우스 - 조단 소거법에 의한 선형방정식의 해법

Page 11: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

11

Page 12: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

12

4.1.2 가우스 - 조단 소거법에 의한 선형방정식의 해법

Page 13: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

행렬의 계수와 연립방정식의 해의 관계

• 다른 형식으로 정의해도 좋습니다 .

13

m 행 n 열의 A

Page 14: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

가우스소거법 : 첨가행렬과 RREF 를 이용한 풀이방법

>>A = [ 1 3 -2 0 2 0 ;

2 6 -5 -2 4 -3;

0 0 5 10 0 15 ;

2 6 0 8 4 18 ];

>>b = [ 0 -1 5 6 ]’;

>>C = [A b];

>> rank(A)

>> rank(C)

이 때 rank(C) < 4 보다 작으므로 무수히

많은 해를 갖는다 . 14

>> rref(C)

위 결과에 대해 다시 정리

>> syms r s t

>> x2 = r; x4=s ; x5=t;

x6=1/3;

>> x1=-3*x2-4*x4 - 2*x5;

>> x3 = -2*x4;

>> sol = [x1 x2 x3 x4 x5 x6]

Page 15: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

상수항이 0 일 때와 0 이 아닐 때를 함께 비교해보세요 .

1) 2x –y =0

x + 3y =0

2) 2x –y =0

4x -2y =0

15

>>A= [ 2 -1; 1 3];

>>rref(A)

>>b=[0 0]’

>>rref([A,b])

>>A= [ 2 -1; 4 -2];

>>rref(A)

>>b=[0 0]’

>>rref([A,b])

• 무수히 많은 해를 가지는 경우

• rank(A) < n

ans =

1 0 0 0 1 0

ans =

1 -1/2 0 0 0 0

Page 16: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

LU-Decomposition

• Ax = b 에서 A = L U 로 인수분해하여 중간해를 구한 후 , 다시 원래의 해를 구하는 방법 .

• L = 하부삼각행렬 , U = 상부삼각행렬

• 두리틀 (Doolittle method), 촐스키 (cholesky), 크라우트 (crout)

• 조사해보기 .

진행방법

• Step1 : Ax = b 를 LUx = b 로 치환

• Step2 : Ux = y 로 두고 , Ly = b 로 대체

• Step3: Ly=b 에 대하여 y 를 구하고

• Step4 Ux=y 를 대입하여 x 에 대한 최종해를 구한다 .16

http://numericalmethodsece101.weebly.com/doolittlersquos-method.html

Page 17: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

예제 4-8

• x1 + x2 + x3 = 7

• x1 + 2x2 + 2x3=7

• x1 + 2x2 + 3x3=5

• Step1 : Ax = b 의 형태로 .

17

1 1 11 2 21 2 3

x1

X2

x3

=775

1 1 11 2 21 2 3

a1 0 0b1 b2 0c1 c2 c3

a'1 a'2 a'3 0 b'1 b'20 0 c'1

• Step2 : A = LU 의 형태로 !

a1 0 0b1 b2 0c1 c2 c3

a'1 a'2 a'3 0 b'1 b'20 0 c'1

x1

X2

x3

=775

• Step3 : LUx = b 에서 Ux 를 y 로 치환 !

a1 0 0b1 b2 0c1 c2 c3

=y1

y2

y3

775

a1 y1 = 7b1 y1 + b2 y2 = 7

c1 y1 + c2 y2 + c3 y3 = 5

• Step4 : Ux 대신 y 를 대입하여 L y = b

……..

Page 18: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

18

>> [L U]=lu(A) 를 이용하여 L 과 U 를 구해보세요 .

Page 19: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

19

Page 20: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

20

Page 21: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

LU 분해론 – 두리틀 알고리즘http://www.engr.colostate.edu/~thompson/hPage/CourseMat/Tutorials/CompMethods/doolittle.pdf

• 수치해석에서 다루긴 하지만 알고리즘에 따라 구현해보겠습니다 .

• A = LU . 정방행렬 이므로 m=n

21

l11 0 … 0l21 l22 … 0…lm1 lm2 … lm3

u11 u12 … u1n

0 u21 … u2n

… 0 0 … umn

=a11 a12 … a1n

a21 a22 … a2n

am1 am2 … amn

* a ij  = ∑𝑘=1

𝑛

𝐿𝑖𝑘∗𝑈𝑘𝑗❑

2 -1 -1-4 6 1-4 -2 6

L 의 대각원소를 1 로 만들어 주고 시작한다 ...

Page 22: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

LU 분해론 – 두리틀 알고리즘

일반적인 Step :

1. 하삼각행렬 (L 행렬 ) 의 대각을 1 로 정한다 . L[i,i]=(1)

2. 상삼각행렬의 1 행의 값을 원 행렬의 1 행과 동일하기 때문에 대입을 한다 .

3. 구하고자 하는 행렬의 값을 대각으로 나눈다 .       ( 대각을 기준으로 위는 U 를 구하고 , 아래는 L 를 구한다 .)

            3-1. 대각의 위쪽 : L[i,j]U[i,j] = a(ji)-sum(L[i,j-1]U[i-1,j])

                  -> A[j,i] 에서 L 은 (i j-1) 까지와 U 은 (i-1 j) 까지의 합을 뺀다 .

            3-2. 대각의 아래쪽 : L[i,j]U[i,j] = a(ji)-sum(L[i,j-1]U[i-1,j])

                    -> A[j,i] 에서 L 은 (i j-1) 까지와 U 은 (i-1 j) 까지의 합을 뺀다 .

  4. 대각으로 나눈다 .( 대각을 기준으로 위는 U 를 구하고 , 아래는 L 를 구한다 .)

            4-1. 대각의 위쪽은 U[i,j)]= A[i,j] - ' 생각 3' 에서 구한값을 뺀다 .

            4-2. 대각의 아래쪽은 L[i,j] = (A]i,j]-' 생각 3' 구한 합 )/U(ji)

22

Page 23: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

23

jiii

ji

ii kiikii

Page 24: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

코드로 확인하고 , lu() 와 비교해봅니다 .

24

function my_lu(A)[m,n]=size(A) if( m ~= n) error(‘ 정방행렬이 아닙니다 .’)endL=eye(n);U=zeros(n,n) %LU 분해for i = 1:n U(i,i)=A(i,i) - L(i, 1:i-1) * U(1:i- 1, i); for j= i+1:n U(i,j)= A(i,j) - L(i,1:i-1) * U(1:i-1,j); L(j,i)= (A(j,i) - L(j,1:i-1) * U(1:i-1, i)) / U(i,i); endend% 출력해보고LU% 확인해보세요A2= L*UA

>>A=[1 2 3; 4 5 6; 7 8 9] ;Ax=B

>>my_lu(A)

>>lu(A)

Page 25: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

LU- 분해론에 대하여 . 좀더 찾아보세요 .

• 원 행렬 A 를 L 과 U 의 두 개의 단순한 문제로 바꾸어 ( 물론 분해연산은 필요합니다 .)

• 순서대로 대입하는 것과 거꾸로 대입하는 방법을 몇 번함으로써 ( 역행렬의 존재와 상관없이 ) 너무도 쉽게 풀 수 있게 된다 .

• 이것이 Von Neumann 과 함께 최초의 stored-program 컴퓨터를 개발한 Alan Turing 이 1948 년에 소개한 LU- 분해이며 그 후 10 년만에 ,

주어진 행렬를 그와 닮음인 (similar) block 대각 행렬로 수렴시키는 QR-factorization 을 이용한 QR-algorithm 이 F. H. Wilkinson 과 House-

holder 등의 기여로 개발되었으며

• 이러한 분해이론은 그후 Cholesky 분해 , Polar Decomposition, Singular Value Decomposition, L D LT Decomposition 등으로 다양한

연구의 한 분야가 되어 오고 있다 .

• 실제로 , 이 기간동안 행렬이론의 기존의 또 , 새로운 지식은 선형계획법 , 비선형계획법 , Markov Chain, 암호이론 , 인구문제 , 교통문제 ,

최적화이론 , 수치해석학등의 다양한 연구분야를 개척하고 발전시키는데 큰 기여를 기여했던 것이다 .

• 우리 사회의 여러 문제를 수학적으로 표현하여 수학 문제로 바꾸어 놓은 후 , 그 문제를 선형화하여 일차연립방정식과 관련된 문제로 바꾼 후 , 행렬에

대한 지식을 이용하여 쉽게 해를 구한 다음 그 해를 원래 사회문제에 대한 답으로 해석하는 것이 바로 수학의 역할 중의 하나이다 .

• 이 과정에서 선형성에 근거한 컴퓨터를 만들었으며 그러한 컴퓨터의 발전과 더불어 선형대수학을 포함한 선형대수학의 연구와 이용이 20 세기 후반에

가히 폭발적으로 활발해졌다………

• ( … )

25

Page 26: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

* 행렬식의 활용 : 보간다항식

• * 보간다항식 : n 개의 점을 지나는 n-1 차 다항식

• P(x) = a0 + a1x1 + … + an-2x n-2 + an-1x n-1

= an-1x n-1 + an-2x n-2 + …..+ a1x1 + a0

• 반데르몽드 행렬을 이용할 수 있습니다 .

26

Page 27: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

네 점을 지나는 3 차 보간다항식 구하기

• (-1, 3), ( 0,4), (1,2), (3, 6)

det(A) !=0 이므로 유일한 해

>>format rat

>>rref([A b]) =

27

1 -1 1 -1 1 0 0 01 1 1 11 3 9 27

a0

a1

a2

a3

3426

A x b

1 0 0 0 40 1 0 0 -29/240 0 1 0 -3/20 0 0 1 17/24

=

P(x) = a0 + a1x1 + a2x2 + a3x3 에 대입

= 4 - 29/24 x1 - 3/2x2 + 17/24x3

1 x1 x2 x3

방법 1: polyfit(X, Y, 3) //X,Y 를 지나는 3 차 다항식의 계수구하기방법 2: A = [ X.^3 X.^2 X [1 1 1 1]’ ] 로 생성한 후 구하기 .

방법 3: 반데르몽드 함수 이용해보기>> X=[-1 0 1 3];

>> A=vander(X)

A =

-1 1 -1 1

0 0 0 1

1 1 1 1

27 9 3 1

>> y=[3 4 2 6]’;

>> C= inv(A)*y 또는 rref([A y])

17/24

-3/2

-29/24

4

>> syms x

>> S=C(4) + C(3).*x.^1 + C(2).*x.^2 + C(1)*x.^3

>> ezplot(S)

an-1x n-1 + an-2x n-2 +… + a0 의 형태

x3 x2 x1

1

Page 28: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

행렬식도 활용할 수 있습니다 .

• 직선방정식 : y= ax + b

• 원 방정식 : (x-a)2+(x-b)2 = r 2

a(x2 + y2 ) + bx + cy + d=0

• 원을 제외한 2 차 곡선의 방정식 : 포물선 , 타원 , 쌍곡선 등

c1x2 + c2xy +c3 y2 + c4x + c15y + c16 = 0

28

Page 29: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

직선의 방정식 : y= ax + b

• ax + by + c = 0 ---1)

• 서로 다른 두 점 (x1, y1) (x2, y2) 를 지나는 직선의 방정식은 주어진 직선 위에 있으므로

• ax1 + by1 + c =0 ---2)

• ax2 + by2 + c =0 ---3)

• 즉 , 이 세 방정식은 변수 a,b,c 에 대한 연립방정식이 된다 .

• Ax = b 에서 b=0 인 동차연립방정식에서 자명해 ( 미지수가 모두 0) 를 가지지 않으려면 , 그리고 직선은 무수히 많은 해를 가지므로 |A| = 0 이 되어야 한다 .

• 따라서 =0 을 구한다 .

• x*(y1-y2) - y*(x1-x2) + x1y2-y1x2 =0 ^^

• 29

x y 1 x1 y1 1 x2 y2 1

Page 30: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

두 점 ( 9 -7), (-8 3) 을 지나는 직선방정식

= 0 을 구한다 .

1 행에 대핸 여인자 전개에 의한 행렬식 구하기

det(A) = sum(akj*Akj) ( k=1 부터 n 까지 )

따라서 x * -10 - y * 17 - 29 = 0

>> syms x y

>> X=[9 -8] ; Y=[-7 3];

>> [X; Y]’

>> A = [x y ; [X; Y]']

>> A =[A, [1 1 1]’]

>> det(A)

>> ezplot(det(A))30

x y 1 9 -7 1 -8 3 1

A = [ x, y][ 9, -7][ -8, 3]

A =[ x, y, 1][ 9, -7, 1][ -8, 3, 1]

- 10*x - 17*y - 29

Page 31: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

원의 방정식 : a(x2 + y2 )+ bx + cy + d=0

• 서로 다른 세 점 ( x1, y1) (x2, y2) (x3, y3) 이 한 원 위에 있다고 가정하면 , a, b, c ,d 에

대한 연립방정식을 얻을 수 있고 , 이때

• a,b,c,d 가 모두 0 인 자명해를 가지면 원은 존재하지 않는다 .

• 원은 무수히 많은 해를 가지므로 이 선형시스템의 행렬식은 0 이다 .

• a(x12 + y12 )+ bx1 + cy1 + d=0

• a(x22 + y22 )+ bx2 + cy2 + d=0

• a(x32 + y32 )+ bx3 + cy3 + d=0

31

x2+y2 x y 1

x12+y12 x1 y1 1 x22+y22 x2 y2 1 x32+y32 x3 y3 1

=0

Page 32: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

세 점 (1,7) (4,-3) (2,3) 을 지나는 원의 방정식

>> syms x y

>> point=[1 7; 4 -3; 2, 3];

>> X=point(:,1) ; Y=pont( : , 2);

A = [ x^2 + y^2 x y ;

X.^2 + Y.^2 X Y ]

>>A=[A, [ 1 1 1 1]’]

A =

[ x^2 + y^2, x, y 1]

[ 50, 1, 7, 1]

[ 25, 4, -3, 1]

[ 13, 2, 3, 1]

>> det(A)

ans =

- 2*x^2 + 270*x - 2*y^2 + 86*y – 772

>> ezplot(det(A))

>> ezplot(det(A),[-20 140], [-60 100])32

Page 33: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

2 차 곡선 방정식 : 원이 아닌 타원 , 쌍곡선 , 포물선

• 어떤 소행성의 궤도 위에 있는 5 개의 점 (5.764, 0.648) (6.268, 1.202)

(6.759, 1.823) ( 7.168, 2.526) (7.480, 3.380) 을 지나는 궤도 방정식

33

x2 xy y2 x y 1

. . . . . . . . . . . . . . . . . .

=0

x2 xy y2 x y 133.224 3.735 0.42 5.764 0.648 139.514 7.556 1.44 6.286 1.202 145.685 12.332 3.32 6.759 1.823 151.38 18.106 6.38 7.168 2.526 155.95 25.133 11.29 7.48 3.36 1

Page 34: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

34

입력과 계산의 편의를 위해 열벡터로 변환하기 .

>> X = [ 7.4800 , 7.1680, 6.7590, 6.2860, 5.7640 ]’;

>> Y = [ 3.3800, 2.5260, 1.8230, 1.2020, 0.6480 ]’;

>> D=[X.^2 X.*Y Y.^2 X Y ]

D =

55.9504 25.2824 11.4244 7.4800 3.3800

51.3802 18.1064 6.3807 7.1680 2.5260

45.6841 12.3217 3.3233 6.7590 1.8230

39.5138 7.5558 1.4448 6.2860 1.2020

33.2237 3.7351 0.4199 5.7640 0.6480

>> C = [ 1 1 1 1 1]’ ;

>> D =[ D, C] ;

>> syms x, y;

>> A=[ x^2 x*y y^2 x y 1 ];

>> F = [A ; D] ;

>> ezplot(det(F), [0 10], [-2 6])

>> hold on, plot(X,Y,'Marker','diamond','LineWidth',2,'LineStyle',':','Color',[1 0 0]);

Plot 은 plot 에디터에서 ..

Page 35: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

35

Page 36: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

응용하기 화학방정식

교통 흐름

마르코프 체인

암호 해독

키르히호프 법칙

실제로는 훨씬 더 많아요

36

Page 37: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

37

4.2.1 여러 가지 응용들

Page 38: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

38

4.2.1 여러 가지 응용들

Page 39: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

39

Page 40: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

40

Page 41: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

41

4.2.2 화학방정식에 응용 1

Page 42: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

42

Page 43: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

43

Page 44: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

44

4.2.2 화학방정식에 응용 2

Page 45: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

45

4.2.2 화학방정식에 응용

Page 46: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

46

4.2.3 교통 흐름에 응용

Page 47: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

47

4.2.3 교통 흐름에 응용

Page 48: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

48

Page 49: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

49

Page 50: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

50

Page 51: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

51

4.2.4 마르코프 체인에 응용

Page 52: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

52

Page 53: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

53

Page 54: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

54

Page 55: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

55

Page 56: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

56

4.2.5 암호 해독에 응용

Page 57: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

57

4.2.5 암호 해독에 응용

Page 58: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

4.2.6 키르히호프 법칙에 응용

58

Page 59: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

59

Page 60: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

60

Page 61: 4 장 .   선형방정식의 해법과 응용 (1~3 장 까지의 내용  review)

61