38
이산수학 5. 행렬 1

이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

5장. 행렬

1

Page 2: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

출처

본 강좌 자료는 이산수학 (2학년 / 3학점/ 3시간 / 이론) 수업에서

사용한 교재 [이산수학 (수학으로 이해하는 디지털 논리), 한빛

아카데미 출판사] 의 내용 등을 출처로 작성하였음을 알리는 바입니다.

2

Page 3: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

학습 목표

■ 행렬을 사용한 연립방정식 의 표현법 이해

■ 분석적 방법을 이용한 선형 연립방정식의 해를 구하는 문제 이해

3

Page 4: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

학습 내용

■ 선형 연립방정식의 해를 구하는 문제

◻ 역행렬 이용

◻ 행렬 이용한 Gauss-Jordan 알고리즘

◻ 후진대입법 이용한 Gauss 소거법 알고리즘

■ 행렬 연산, 행렬식, 여인수 행렬, 전치행렬, 역행렬, 가우스 행렬, 단위 행렬 등 이해

4

Page 5: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

행렬의 응용 분야

■ 선형대수(Linear Algebra)

■ 수치해석(Numerical Analysis)

■ 컴퓨터 그래픽(Computer Graphics)

■ 네트워크 설계(Network Design)

■ 인공지능 (Artificial Intelligence)

■ 논리회로 (Digital Logic) 등

5

Page 6: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

선형 연립방정식의 해법

■ 자연과학 또는 사회과학의 여러 현상들을 수학모델링 하면 미분방정식 또는 편 미분방정식 등으로 표현되는데, 이것을 컴퓨터 프로그래밍하기 전에 대부분의 경우 많은 미지수를 가진 선형 또는 비선형 연립방정식으로 표현.

■ 선형 연립방정식은 행렬로 표현되며, 이것을 다루는 많은 프로그래밍 패키지들이 존재.

■ 선형 연립방정식은 과학계산에 있어서, 손으로 문제를 풀 수 있는 경우는, 기껏해야 4~5개 정도이며, 미지수가 많아지면, 거의 계산이 불가능.

■ 𝑛개의 미지수를 가진 선형 연립방정식 풀이 방법

◻ Gauss-Jordan, Gauss 소거법

◻ 적은 오차를 갖는 선형연립방정식의 해를 구하기 위해 수치해석 법

6

Page 7: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

일차 선형 방정식(first order linear equation)

■ 형식 ∶ 𝑎1𝑥1+𝑎2𝑥2+…+𝑎𝑛𝑥𝑛=𝑏

◻ 𝑎1, 𝑎2, … , 𝑎𝑛 : 계수(coefficient)

◻ 𝑏 ∶ 상수(constant)

◻ 𝑥1, 𝑥2, … , 𝑥𝑛 : 미지수(unknown variable)

■ 예: 𝑥 + 2𝑦 − 𝑧 = 9 , 𝑥1−𝑥2 + 4𝑥3 = 0 , 1

3𝑥 = 3𝑦

7

Page 8: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

𝒎 × 𝒏 행렬 A (Matrix)

■ 𝑚 :행의 개수, 𝑛 ∶열의 개수

■ 정방행렬 ( square matrix)

◻ 𝑚 = 𝑛

𝑨 = 𝑎𝑖𝑗 𝑚×𝑛 =

𝑎11 𝑎12 ⋯𝑎1𝑗 ⋯ 𝑎1𝑛

𝑎21 𝑎22 ⋯𝑎2𝑗 ⋯ 𝑎2𝑛

⋮ 𝑎𝑖1 𝑎𝑖2 ⋯ 𝑎𝑖𝑗 ⋯ 𝑎𝑖𝑛

⋮𝑎𝑚1 𝑎𝑚2 ⋯ 𝑎𝑚𝑗 ⋯ 𝑎𝑚𝑛

8

Page 9: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

선형 연립방정식의 𝒎 × 𝒏 행렬식 표현

■ 𝑛 개의 미지수를 갖는 𝑚 개의 선형 연립 방정식의 행렬

■ 행렬 𝐵 와 행렬 𝐴 을 함께 결합하여 행렬 표시( 𝐴:𝐵 , augmented matrix )

𝑎11𝑥1 + 𝑎12𝑥2 +…+ 𝑎1𝑛𝑥𝑛 = 𝑏1

𝑎21𝑥1 + 𝑎22𝑥2 +…+ 𝑎2𝑛𝑥𝑛 = 𝑏2

𝑎𝑚1𝑥1 + 𝑎𝑚2𝑥2 +…+𝑎𝑚𝑛𝑥𝑛 = 𝑏2

𝑨 =

𝑎11 ⋯ 𝑎1𝑛

⋮ ⋱ ⋮𝑎𝑚1 ⋯ 𝑎𝑚𝑛

, 𝒙 =

𝑥1

⋮𝑥𝑚

, 𝑩 =

𝑏1

⋮𝑏𝑚

, [𝑨: 𝑩] =

𝑎11 ⋯ 𝑎1𝑛

⋮ ⋱ ⋮𝑎𝑚1 ⋯ 𝑎𝑚𝑛

𝑏1

⋮ 𝑏2

9

𝑨𝒙 = 𝑩

Page 10: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

예제

■ 다음 3차 선형 연립방정식을 행렬식으로 표현하시오.

2𝑥1 + 6𝑥2 −2𝑥3 = 7

−3𝑥1 −3𝑥2 +𝑥3 = 0

4𝑥2 +5𝑥3 = −1

(풀이)

10

2 6 −2

−3 −3 10 4 5

𝑥1 𝑥2

𝑥3

=70

−1, [𝑨:𝑩] =

2 6 −2

−3 −3 10 4 5

7

0−1

Page 11: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

𝒏 × 𝒏 선형 연립방정식의 해

■ 𝑛 × 𝑛 선형 연립 방정식을 동시에 만족하는 𝑛개의 𝑥𝑖 값들의 집합을 이 방정식의 해 : { 𝑥𝑖

| 1 ≤ 𝑖 ≤ 𝑛 }

11

𝑎11𝑥1 + 𝑎12𝑥2 +…+ 𝑎1𝑛𝑥𝑛 = 𝑏1

𝑎21𝑥1 + 𝑎22𝑥2 +…+ 𝑎2𝑛𝑥𝑛 = 𝑏2

⋮ 𝑎𝑛1𝑥1 + 𝑎𝑛2𝑥2 +…+𝑎𝑛𝑛𝑥𝑛 = 𝑏2

Page 12: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

행렬의 동치

■ 두 행렬의 동치

◻ 두 행렬의 행의 개수와 열의 개수가 동일.

◻ 각 행렬의 각 위치의 해당 원소의 값이 동일

■ 𝑎𝑖𝑗 = 𝑏𝑖𝑗, ∀ 1 ≤ 𝑖 ≤ 𝑛, 1 ≤ 𝑗 ≤ 𝑚

𝑎11 ⋯ 𝑎1𝑚

⋮ ⋱ ⋮𝑎𝑛1 ⋯ 𝑎𝑛𝑚

𝑏11 ⋯ 𝑏1𝑚

⋮ ⋱ ⋮𝑏𝑛1 ⋯ 𝑏𝑛𝑚

=

12

Page 13: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

행렬의 종류(1)

■ 영 행렬(zero matrix)

◻ 행렬의 모든 원소가 0 인 행렬

■ 대각 행렬 (diagonal matrix)

◻ 정방행렬에서 대각원소 𝑎11, 𝑎22, … , 𝑎𝑛𝑛을 제외한 모든 원소가 0인 행렬

■ 단위행렬 (Unit Matrix, Identity Matrix)

◻ 대각행렬에서 대각원소가 모두 1인 행렬

𝐴=

𝑎11 00…0

𝑎22

…0

… 0………

0…

𝑎𝑛𝑛

대각행렬, 𝐴=

1 00…0

1…0

… 0………

0…1

단위행렬

13

Page 14: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

행렬의 종류(2)

■ 𝑛 × 𝑚 행렬 𝐴 = [𝑎𝑖𝑗] 의 전치 행렬 (Transpose matrix)

◻ 𝐴𝑇 =[𝑏𝑖𝑗]로 표시

◻ 행렬 𝐴의 행과 열을 바꾼 𝑚 × 𝑛 행렬

◻ 모든 𝑖, 𝑗 에 대하여 전치행렬의 원소 𝑏𝑖𝑗=𝑎𝑗𝑖 인 행렬

𝐴 =

𝑎11 𝑎21𝑎21

…𝑎𝑛1

𝑎22

…𝑎𝑛2

… 𝑎1𝑚………

𝑎2𝑚

…𝑎𝑛𝑚

⇒ 𝐴𝑇=

𝑏11 𝑏21

𝑏21

…𝑏𝑚1

𝑏22

…𝑏𝑛2

… 𝑏1𝑛………

𝑏2𝑛

…𝑏𝑚𝑛

14

Page 15: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

행렬의 덧셈연산

■ 임의의 두 행렬 𝐴= 𝑎𝑖𝑗 와 B= 𝑏𝑖𝑗 의 덧셈 연산

◻ A 행렬의 행의 수 = 𝐵 행렬의 행의 수

◻ A 행렬의 열의 수 = 𝐵 행렬의 열의 수

◻ 𝐴 + 𝐵 =[𝑐𝑖𝑗]=[𝑎𝑖𝑗 + 𝑏𝑖𝑗], 모든 𝑖, 𝑗 에 대하여

𝐴 + 𝐵 =

𝑎11 𝑎21𝑎21

…𝑎𝑛1

𝑎22

…𝑎𝑛2

… 𝑎1𝑚………

𝑎2𝑚

…𝑎𝑛𝑚

+

𝑏11 𝑏21

𝑏21

…𝑏𝑛1

𝑏22

…𝑏𝑛2

… 𝑏1𝑚………

𝑏2𝑚

…𝑏𝑛𝑚

=

𝑐11 𝑐21𝑐21

…𝑐𝑛1

𝑐22

…𝑐𝑛2

… 𝑐1𝑚………

𝑐2𝑚

…𝑐𝑛𝑚

15

Page 16: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

행렬의 스칼라곱(scalar product) 연산

■ 행렬 𝐴 = 𝑎𝑖𝑗 의 모든 원소에 실수 𝑘를 곱하는 연산

■ 𝐴𝑘 = 𝑘𝐴 =[𝑘𝑎𝑖𝑗]

𝑘𝐴=𝑘

𝑎11 𝑎12𝑎21

…𝑎𝑛1

𝑎22

…𝑎𝑛2

… 𝑎1𝑚………

𝑎2𝑚

…𝑎𝑛𝑚

=

𝑘𝑎11 𝑘𝑎12

𝑘𝑎21

…𝑘𝑎𝑛1

𝑘𝑎22

…𝑘𝑎𝑛2

… 𝑘𝑎1𝑚………

𝑘𝑎2𝑚

…𝑘𝑎𝑛𝑚

16

Page 17: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

행렬의 곱셈 연산

■ 𝑚 × 𝑘 행렬 𝐴 = 𝑎𝑖𝑗 와 𝑙 × 𝑛 행렬 𝐵 = 𝑏𝑖𝑗 에 대하여 k = 𝑙 일 때,

𝑚 × 𝑛 행렬 𝐴𝐵 = 𝑐𝑖𝑗 의 각 원소는 다음과 같이 계산한다.

𝐴𝐵=

𝑎11 𝑎12𝑎21

…𝑎𝑚1

𝑎22

…𝑎𝑚2

… 𝑎1𝑘………

𝑎2𝑘

…𝑎𝑚𝑘

𝑏11 𝑏12

𝑏21

…𝑏𝑙1

𝑏22

…𝑏𝑙2

… 𝑏1𝑛………

𝑏2𝑛

…𝑏𝑙𝑛

=

𝑐11 𝑐12𝑐21

…𝑐𝑚1

𝑐22

…𝑐𝑚2

… 𝑐1𝑛………

𝑐2𝑛

…𝑐𝑚𝑛

,

𝑐𝑖𝑗 = 𝑎𝑖1𝑏1𝑗 + 𝑎𝑖2𝑏2𝑗 + ⋯+ 𝑎𝑖𝑘𝑏𝑘𝑗 = 𝑘𝑠=1 𝑎𝑖𝑠𝑏𝑠𝑗

17

Page 18: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

행렬연산의 성질

■ 행렬 𝐴 , 𝐵, 𝐶, 𝐼(단위행렬), 0(영행렬)에 대하여 다음과 같은 성질이

성립한다.

덧셈 연산 성질 스칼라곱 연산 성질

곱셈 연산 성질

𝐴 + 𝐵 = 𝐵 + 𝐴 −1 𝐴 = −𝐴 𝐴(𝐵𝐶) = (𝐴𝐵)𝐶

𝐴 + (𝐵 + 𝐶) = (𝐴 + 𝐵) + 𝐶 𝑘 𝐴 + 𝐵 = 𝑘𝐴 + 𝑘𝐵 𝐴(𝐵 + 𝐶) = 𝐴𝐵 + 𝐴𝐶

𝐵 + 𝐶 𝐴 = 𝐵𝐴 + 𝐶𝐴

𝐴 + 𝑂 = 𝑂 + 𝐴 = 𝐴 𝑘 + 𝑙 𝐴 = 𝑘𝐴 + 𝑙𝐴 𝐼𝐴 = 𝐴𝐼 = 𝐴

𝐴 + −𝐴 = −𝐴 + 𝐴 = 0 𝑘𝑙 𝐴 = 𝑘(𝑙𝐴) 𝑘 𝐴𝐵 = 𝑘𝐴 𝐵 = 𝐴(𝑘𝐵)

18

Page 19: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

예제

■ 행렬 𝐴 , 𝐵, 𝐶가 다음과 같을 때, 행렬 연산을 하시오.

𝐴 =1 34 6

𝐵 = 1 0 29 3 84 7 5

𝐶 = 0 6 13 5 2

(1) 𝐴C (2) 𝐶𝐵 (3) 𝐴2 (4) −2C

19

Page 20: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

행렬식(Determinant)

■ 𝑛 × 𝑛 정방행렬 𝐴 = 𝑎𝑖𝑗 에 대한 행렬식

|𝐴|= det(𝐴 ) =

𝑎11 𝑎12 𝑎21

…𝑎𝑛1

𝑎22

…𝑎𝑛2

𝑎1𝑗 𝑎12

𝑎2𝑗

… 𝑎𝑛𝑗

𝑎22

…𝑎𝑛2

= 𝑎1𝑗𝐶1𝑗 + 𝑎2𝑗𝐶2𝑗+…+ 𝑎𝑛𝑗𝐶𝑛𝑗 (𝑗열을 기준)

◻ 여인수(Cofactor) : 𝐶𝑖𝑗=(−1)𝑖+𝑗det(𝑴𝑖𝑗)

◻ 소행렬 minor matrix ∶ 𝑴𝑖𝑗은 정방행렬 A 의 𝑖 행과 𝑗열을

제거해서 얻은 𝑛 − 1 × 𝑛 − 1 행렬

20

Page 21: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

예제

■ 다음 행렬의 행렬식을 계산하시오.

(1) 𝐴 =3 12 −1

(2) 𝐵 =3 −1 −2

−4 2 11 4 −3

(풀이) 1열을 기준으로 전개한다.

(1) det(𝐴)=3× −1 + (−2)×(1) = −3 − 2 = −5

(2) det(𝐵)=(3)(-6-4) + (-1)(-4)(3+8) + (1)(1)(-1+4) =17

21

Page 22: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

역행렬

■ 정방행렬 A 에 대해 𝐴𝐵 = 𝐵𝐴 = 𝐼 를 만족하는 행렬 𝐵 를 역행렬

■ A−1로 표시

■ AA−1= A−1𝐴 = 𝐼

■ det(A) ≠ 0

■ 만일 역행렬이 존재하면 유일하게 하나 존재한다.

■ 행렬 A을 가역행렬(invertible matrix) 또는 정칙행렬(nonsingular

matrix)이라 한다.

22

Page 23: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

행렬식을 이용한 역행렬 계산

■ 행렬 𝑨 가 정칙행렬인 경우 행렬식 𝒅𝒆𝒕(𝑨) ≠0 이다.

𝑨−𝟏= 𝟏

𝒅𝒆𝒕(𝑨)𝑪𝒊𝒋

𝑻

◻ 𝑪𝒊𝒋𝑻 : 여인수 행렬 𝑪𝒊𝒋 에 대한 전치행렬

◻ 𝑪𝒊𝒋 =(−𝟏)𝒊+𝒋𝐝𝐞𝐭(𝑴𝒊𝒋)

23

Page 24: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

예제

■ 다음 행렬 A =1 −1 22 1 −34 1 1

의 역행렬을 구하시오.

(풀이) 1열 기준으로 전개

(1) det 𝐴 = 𝑎11𝐶11 + 𝑎12𝐶12 + 𝑎13𝐶13 = 𝐶11 − 𝐶12 + 2𝐶13

= −1 1+1 det 𝑀11 − (−1)1+2det (𝑀12)+2(−1)1+3det (𝑀13 =

1 −31 1

+2 −34 1

+ 22 14 1

= 1 ∙ 1 − −3 ∙ 1 + 2 ∙ 1 − −3 ∙ 4 +

2 2 ∙ 1 − 1 ∙ 4 = 14. ∴ det 𝐴 ≠0 즉, 정칙행렬이다.

24

Page 25: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

(2) 여인수 계산

𝐶11 = −1 1+1 det 𝑀11 =1 −31 1

= 1 ∙ 1 − (−3) ∙ 1 = 4

𝐶12= −1 1+2 det 𝑀12 = −2 −34 1

= − 2 ∙ 1 − −3 ∙ 4 = −14

𝐶13 = −1 1+3 det 𝑀13 =2 14 1

= 2 ∙ 1 − 1 ∙ 4 = 2

𝐶21 = −1 2+1 det 𝑀21 = −−1 21 1

= −((−1)1 ∙ 1 − 2 ∙ 1) =3

𝐶22 = −1 2+2 det 𝑀22 =1 24 1

= 1 ∙ 1 − 2 ∙ 4 = −7

𝐶23 = −1 2+3 det 𝑀23 = −1 −14 1

= − 1 ∙ 1 − −1 ∙ 4 = −5

𝐶31 = −1 3+1det 𝑀31 =−1 21 −3

= (−1) ∙ (−3) − 2 ∙ 1 = 1

𝐶32 = −1 3+2 det 𝑀32 = −1 22 −3

= − 1 ∙ (−3) − 2 ∙ 2 = 7

𝐶33 = −1 3+3 det 𝑀33 =1 −12 1

= 1 ∙ 1 − (−1) ∙ 2 = 3

(3) 여인수 행렬의 전치행렬을 이용한 역행렬 계산

𝐶𝑖𝑗 =4 −14 −23 −7 −51 7 3

, 𝐶𝒊𝒋𝑻=

4 3 1−14 −7 7−2 −5 3

∴ 𝐴−1 =1

14

4 3 1−14 −7 7−2 −5 3

=

2/7 3/14 1/14−1 −1/2 1/2

−1/7 −5/14 3/14

25

Page 26: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

1차 선형연립방정식의 해법(1)

■ 1차 선형연립방정식 𝑨𝒙 = 𝑩의 계수행렬 𝑨가 정칙행렬인 경우

연립방정식의 해는 다음과 같다.

𝒙 = 𝑨−𝟏 𝑩

26

𝑨 =

𝑎11 ⋯ 𝑎1𝑛

⋮ ⋱ ⋮𝑎𝑛1 ⋯ 𝑎𝑛𝑛

, 𝒙 =

𝑥1

⋮𝑥𝑛

, 𝑩 =

𝑏1

⋮𝑏𝑛

Page 27: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

문제

■ 1차 선형연립 방정식에 대하여 역행렬을 구하여 해를 구하라.

𝑥1+ 𝑥2 + 2𝑥3 = 92𝑥1+ 4𝑥2 − 3𝑥3 = 13𝑥1+ 6𝑥2 − 5𝑥3 = 0

27

Page 28: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

1차 선형연립방정식의 해법(2)

■ Gauss-Jordan 알고리즘

■ 기본 행 연산을 사용하여 augmented matrix [𝑨:𝑩]의 계수행렬 𝑨

부분을 대각행렬로 만들어 연립방정식의 해를 구하는 방법

■ 선형 방정식이 미지수 한 개만을 갖도록 다른 미지수 소거

28

[𝑨:𝑩] =

𝑎11 ⋯ 𝑎1𝑛

⋮ ⋱ ⋮𝑎𝑛1 ⋯ 𝑎𝑛𝑛

𝑏1

⋮ 𝑏𝑛

Page 29: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

기본 행 연산(elementary row operation)의 정의

■ 주어진 행렬에 대한 다음과 같은 연산을 기본 행 연산.

◻행의 순서를 바꾸기

◻행에 임의의 상수 k 곱하기

◻행에 다른 행을 k 곱하여 더하기

29

Page 30: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

기본 행 연산을 사용하여 대각행렬로 만들기

1. 𝑎11 을 제외하고, 첫 번째 열에 남아 있는 다른 원소들을 0으로 만든다.

(즉, 다른 방정식에서 미지수 𝑥1을 소거)

2. 𝑎22 을 제외하고, 두 번째 열에 남아 있는 다른 원소들을 0으로 만든다.

(즉, 다른 방정식에서 미지수 𝑥2을 소거)

3. 위의 과정을 남아있는 나머지 열에 대하여 반복한다. 즉, 𝑎𝑗𝑗 을

제외하고, 𝑗 번째 열에 남아 있는 다른 원소들을 0으로 만든다. (즉, 다른

방정식에서 미지수 𝑥𝑗을 소거)

30

Page 31: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

예제

■ 연립 1차 방정식을 Gauss-Jordan방법으로 해를 구하라.

𝑥1+ 𝑥2+ 2𝑥3 = 92𝑥1+ 4𝑥2 − 3𝑥3 = 13𝑥1+ 6𝑥2 − 5𝑥3 = 0

(풀이) Let 𝐴: 𝐵 =

1 1 22 4 −33 6 −5

910

① 2행 ← 1행 ×(−2)+2행 : 1 1 20 2 −73 6 −5

9

−170

② 3행 ← 1행 ×(−3)+3행 : 1 1 20 2 −70 3 −11

9

−17−18

31

Page 32: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

③ 1행 ← 2행 ×(−1

2)+1행 :

1 011

2

0 2 −70 3 −11

35

2

−17−27

④ 3행 ← 2행 ×(−3

2)+3행 :

1 011

2

0 2 −7

0 0 −1

2

35

2

−17

−3

2

⑤ 1행 ← 3행 ×(11)+1행 :

1 0 00 2 −7

0 0 −1

2

1−17

−3

2

⑥ 2행 ← 3행 ×(−14)+2행 :

1 0 00 2 0

0 0 −1

2

14

−3

2

⑦ − 1

2 𝑥3

= − 3

2 , 2 𝑥2

= 4, 1𝑥1 = 1 ∴ 𝑥1 =3, 𝑥2=2, 𝑥3 = 1

32

Page 33: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

Gauss-Jordan 알고리즘 단점

■ 𝑛 × 𝑛 1차 선형 연립방정식의 해를 구하기 위해 , 𝑂(𝑛2 ) 의

곱셈연산이 필요.

■ 대안: 가우스 소거법 알고리즘

◻ 가우스 행렬 (Gauss matrix):연립방정식을 상삼각형 (upper

triangle) 형태로 표현

◻후진대입법(backward substitution): 삼각화된 연립방정식을

마지막 방정식에서 시작하여 차례로 대입하여 모든 미지수의

해를 구하는 방식

33

Page 34: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

프로그래밍 문제

■ Gauss-Jordan 알고리즘을 이용하여 1차 선형연립방정식의 해를 구하는 프로그램 작성하기

■요구조건:

◻ Input 데이터 : 프로그램 실행 중에 행렬의 크기와 Augmented matrix 데이터를 입력 받기

◻ Output 데이터:

1. 출력 예시처럼 입력 정보와 해를 출력하기

2. 프로그램의 running time 계산하기

34

Page 35: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

1차 선형연립방정식의 해법(3)

■ Gauss 소거법 알고리즘

■ 기본 행 연산을 사용하여 augmented matrix의 계수행렬 부분을

상삼각 행렬(upper triangular matrix)로 만들고 미지수를 유도하기 위해

후진 대입법을 사용하여 연립방정식의 해를 구하는 방법

■ 계수행렬의 대각원소를 기준으로 아래쪽 원소들은 모두 0으로 만든

후 위쪽 원소들은 계수들로 남겨놓으며, 마지막 방정식에서 하나의

미지수만 남을 때까지 위의 소거 과정을 수행하여 다음과 같은

형태의 첨가행렬로 변환 𝑎11 𝑎12

0…0

𝑎22

…0

… 𝑎1𝑛………

𝑎2𝑛

…𝑎𝑛𝑛

𝑏1

𝑏2

…𝑏𝑛

35

Page 36: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

예제 ■ 다음 연립 1차 방정식을 가우스 소거법으로 해를 구하라.

𝑥1 + 𝑥2 + 2𝑥3 = 92𝑥1+ 4𝑥2 − 3𝑥3 = 13𝑥1+ 6𝑥2 − 5𝑥3 = 0

(풀이) [𝑨:𝑩]= 1 1 22 4 −33 6 −5

910

① 2행 ← 1행 ×(−1)+2행 : 1 1 20 2 −73 6 −5

9

−170

② 3행 ← 1행 ×(−3)+3행 : 1 1 20 2 −70 3 −11

9

−1727

③ 3행 ← 2행 ×(−3

2)+3행 :

1 1 20 2 −7

0 0 −1

2

9−17

−3

2

𝑥1+ 𝑥2+2𝑥3 = 92𝑥2 − 7𝑥3= − 17

−1

2𝑥3 = −

3

2

∴ 𝑥1 = 1, 𝑥2 = 2, 𝑥3 = 3

36

Page 37: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

프로그래밍 문제

■ Gauss-Jordan 알고리즘과 Gauss 소거법을 이용하여 1차

선형연립방정식의 해를 구하는 프로그램 작성하기

■ 요구조건:

◻ Input 데이터 : 프로그램 실행 중에 행렬의 크기와 Augmented

matrix 데이터를 입력 받기

◻ Output 데이터:

1. 출력 예시처럼 입력 정보와 해를 출력하기

2. 프로그램의 running time 계산하기

37

Page 38: 이산수학 - contents.kocw.netcontents.kocw.net/KOCW/document/2015/shinhan/kimeuhee/5.pdf · 수치해석(Numerical Analysis) 컴퓨터 그래픽(Computer Graphics) 네트워크

이산수학

Gauss 소거법 알고리즘의 단점

■ 방정식의 개수가 수십 개인 작은 연립 일차 방정식에서 상당히

정확한 해를 제공한다.

■ 미지수의 개수가 수백~수천 개 이상인 연립 방정식에서는

1) 산술 연산의 수가 많아 계산 시간이 많이 걸린다.

2) 개별 연산에서 발생하는 오차가 누적되어 상당히 부정확한 해를

구하게 된다.

■ 대안 : 반복 계산법

1) 허용되는 오차를 조절함으로써 산술 연산의 수를 조정할 수 있다.

2) 이를 통해 실질적으로는 오차가 적은 해를 빠르게 구할 수 있다.

3) 반복 계산법의 종류: Jacobi 법, Gauss-Seidal법, SOR법

38