본문 바로가기

선형대수학

[Lecture 3] MIT Linear Algebra - Gilbert Strang

lecture 3 : Multiplication and Inverse Matrix

 

Multiplication

이 강의에서는 매트릭스의 곱을 다양한 관점에서 설명한다.

1. Element 관점의 접근

독학을 하면 매트릭스 곱에 대해서 이렇게 제일 먼저 생각하게 되는 것 같다.

A와 B를 matrix 곱셈 했을 때, 결과물인 C의 3 row, 4 col 는 A의 3 row와 B의 4 column의 곱의 합이다.

 

 

2. Column 관점의 접근

A와 B를 곱해 나온 C의 column을 시작으로 생각해보자.

C의 2번째 column은 A의 각 행에 B의 2번째 column을 곱한 결과물들이다.

즉, C의 column들은 A의 column들의 조합이라고 할 수 있다.

왜 A의 column들의 조합이라고 말할 수 있냐면, 

1번 방법과 같이 element 곱 방법으로 C의 2번째 column이 어떻게 계산되었는지 살펴보자.

 

b12, b22 와 같은 b 출신 애들은 어쩐지 계수같은 역할처럼 고정이 되어있고, a 출신 애들은 row 마다 바뀌고 있다.

따라서 위를 아래처럼 쓸 수 있다.

이렇게 쓸 수 있기 때문에, C의 특정 column은 A의 column들의 조합이다. 그리고 그 조합의 계수는?

C의 특정 column => 예를들어 2번 째 column 이라면, b의 2번째 column의 요소들이 그 계수가 된다. 

 

 

3. Row 관점의 접근

이번에는 row 관점에서 생각해보자.

A와 B의 곱인 C의 특정 row를 기준으로 걔가 어떻게 만들어졌는지 생각해보면 된다.

C의 2번째 row를 보자. C의 2번째 row의 각 요소들은, A의 2번째 row에 B의 column을 곱한 결과다.

즉, 아래와 같이 나타낼 수 있게 된다.

위에서 column 관점에서 살펴볼 때와 달리, 여기에서는 A출신 요소들이 일종의 계수 역할을 한다.

C의 column 번호가 달라질 때 마다 b도 달라지고, a들은 고정이다.

따라서 아래와 같이 쓸 수 있다.

column 형태로 나타나지긴 했지만, B 매트릭스 안에서 보면 b11, b12 .... b14 는 B의 1번째 row이다.

즉, C의 특정 row는 B의 row들의 조합임을 알 수 있다.

그리고 그 조합의 계수는, a의 row이다.

예를들어 C의 두번째 row는? B의 row들의 조합이되, a의 두 번째 row를 계수로 가진다.

 

 

이렇게 세가지 형태의 multiplication을 알아보았다.

row multiply column을 하면, 1번 방식처럼 number, 하나의 element 요소가 나온다.

그럼 column multiply row를 하면 어떻게 될까?

바로 full-size matrix가 나온다.

 

위와 같이 A의 첫번째 column, B의 두번째 row에 대해 곱셈연산을 해본다고 치자.

column multiply row 연산을 진행하면, full-size matrix가 나오는데 이때에 full-size란

column과 row를 추출하기 전 원본 사이즈의 A 와 B를 곱했을 때 나오는 그 사이즈가

하나의 column과 하나의 row를 추출해서 걔네끼리만 곱해도 나온다는 뜻이다.

 

이를 이용하여 4번째 multiplication 접근 방법을 소개한다.

 

4. Sum 관점의 접근

어떤 두 matrix A, B를 곱한 결과 AB는 sum of (A의 columns) x (B의 rows) 이다.

위와 같은 matrix A, B가 있다고 하자.

이때 이 둘의 곱 AB는 A의 column과 B의 row를 곱한 것의 합으로 나타낼 수 있다.

이때 곱의 결과로 나와진 matrix는, 각 row별로 방향이 같은 것을 알 수 있다.

방향이 같다는 것이 무슨 뜻이냐면, 각 row를 벡터 삼아 평면위에 그리면 모든 벡터의 방향이 똑같다는 것이다.

또 column별로 벡터 삼아 평면 위에 그려도 두 개의 column이 같은 방향이다.

 

이것은 AB의 곱에서 B의 두번째 row가 [0  0]라서,  A의 두번째 col과 B의 두번째 row의 곱이 반영되지 않고

AB의 곱이 A의 첫번째 col, B의 첫번째 row의 곱으로만 표현이 되었기 때문이다.

 

5. Block 관점의 접근 (Block multiplication)

 

Block 관점의 접근은, 어떻게 보면 1번과 맥락이 같다.

다만 곱해지는 대상이 하나의 element가 아니고 여러 element의 네모 블럭이라고 보면 된다.

큰 사이즈의 matrix를 다룰때 일일히 계산하는 것보다 한결 간편해보인다.

 

 

Inverses 

다음은, Inverse에 대해 설명한다. 

Inverses 부분에서는 matrix들이 square matrices라 가정하고 진행한다.

matrix A와 그 inverse matrix인 A-1를 곱하면, Identity matrix I가 나오고, 이는 순서를 바꾸어 곱해도 마찬가지이다. 

왜 square matrices 가정이 필요한지 느낌이 온다. 순서를 바꾸어 곱해도 I가 나와야 하는데 직사각 matrix라면, 순서를 바꾸었을 때 사이즈가 맞지 않아 곱셈이 되지 않는 경우가 있다.

 

위의 공식에는 전제가 있다. 바로, If A-1 is exists 이다.

matrix에 따라서 inverse가 존재하지 않는 matrix도 있고, 따라서 위의 공식을 쓰기 위해서는 반드시 

matrix A의 inverse 인 A-1가 존재해야 한다. 

그리고 그런 경우를 A가 invertible하다, A는 non-sigular 이다. 라고 한다. 

 

그럼 A가 non-invertible하고 sigular한 경우는 뭘까?

바로 위와 같은 경우다. determinant 개념을 배웠다면, 이때 A의 det가 0임을 알수 있을 것이다. 1x6 - 3x2 = 0 

A와 다른 matrix (즉, A의 inverse matrix) 를 곱했을 때 Identity matrix가 나와야한다. 그게 저~위에 썼던 공식이니까!

근데 A matrix를 보면, 두 개의 column [1 2], [3 6] 를 각각 벡터처럼 바라봤을 때 방향이 같은 것을 알 수 있다. 

근데 우리가 2번에서 공부한것처럼, A와 B의 곱의 결과인 AB matrix의 column은, A matrix column들의 조합이었다.

 

그럼 A의 column인 [1 2], [3 6]을 B의 column을 계수삼아 조합해서 Identity matrix의 column인 [1 0]을 만들어야 하는데 그게 어떻게 가능하냐는 것이다.

우리가 마치 [1 0]을 아무리 곱하고 나눠도 그게 절대 [1 1], 즉 방향이 다른 벡터는 될 수 없는 것처럼 말이다.

즉, non-invertible하고 singular 하다는 것은 그 matrix의 column 조합으로는 죽어도 Identity matrix의 column이 나오지 않는다는 뜻이다.

 

앞에서 det 얘기를 잠깐 했는데, det로 이렇게 matrix가 non-invertible, sigular 인것을 알 수 있다.

근데 det 말고도 가능한 방법이 또 있는데, 바로 Ax=0을 판별하는 것이다.

 

위와 같은 matrix A에 column [3  -1]을 곱한다고 생각해보자. 계산하면 바로 나오겠지만 [0  0] column이 그 결과다.

이처럼 어떤 matrix A에 특정 column을 곱했더니 0 column 이 나온다 => A는 non-invertible, singular이다.

 

그럼 왜 이런 특성이 성립되는 걸까?

위와 같은 식을 간단하게 쓰면 Ax = 0 이다. 이때 A가 invertible하다고 가정해보자. 그럼 inverse matrix인 A-1가 있겠지?

그 A-1를 Ax = 0의 양변에 곱해보자.

A-1Ax = A-10 이 된다.  A-1A는 순서 상관없이 곱하면 Identity matrix가 되니까, 좌변에는 x 벡터가 남는다.

근데 우변을 보면, A-1 를 곱했건 어쨌건 0 column 이 있으므로 여전히 0 column이 된다.

 

즉, x = 0 라는 해괴한 식이 나타나게 되고, 이게 말이 안되므로 Ax = 0 이 성립한다면 A는 non-invertible이자 sigular다.

 

 

다시 matrix A가 invertible, non-singular한 상황으로 돌아가보자.

A가 위와 같다고 가정해보자.

matrix A-1 의 요소들이 무엇인지 모르므로, 미지수로 두고 위와 같이 쓸 수 있다.

이때 우리는 A-1가 뭔지, 즉 a,b,c,d 들이 정확히 뭔지 구하고 싶다.

 

1. 연립방정식으로 푼다. 

matrix multiplication에서 나왔던 3번 방법과 같다

A x (A-1의 column j) = (I의 column j)

 미지수 네개, 식 네개니까 연립방정식으로 풀 수 있다!

 

2. Gauss - Jordan (solve 2 equations at once!)

보다 간편한 방법이다. 실제로 대학강의에서는 이 연산을 엄청 초반에 배웠던거같기도 하다. 

많이쓰이니까 그랬겠지? 싶다.

 

먼저, 두 matrix A와 I를 합친다! 옆으로 나란히 합치는게 포인트.

골자는 이 상태에서 elimination을 진행하되, 앞의 A matrix 부분이 소거되도록 elimination을 진행하면

뒤의 Identity matrix 부분은 A의 inverse matrix로 바뀐다는 것이다.

 

elimination을 진행하면 위와 같다. 

먼저 2번째 row를 소거하기 위해 1 row x 2를 2 row에서 빼고,

1 row의 2 column도 제거하기 위해 1 row에서 2 row x 3을 뺀다.

그렇게 elimination을 진행해서, 본래 A matrix가 있던 부분이 Identity matrix로 바뀌고 나면

그 다음에 있던 Identity matrix 자리에는 웬 새로운 matrix가 생기게 되는데 얘가 바로 A의 inverse matrix다! 

 

이 Gauss-Jordan은 왜 성립하게 되는걸까?

elimination을 한 과정을 간단하게 한줄로 나타내면 위와 같다. 

지난 시간 (lecture 2)에서 elimination도 일종의 matrix를 곱하는 것과 같다 라는 설명이 나왔다.

따라서 어떤 elimination 과정을 거쳤든, 그것은 하나의 큰 Elimination matrix로 나타낼 수 있다.

A I 를 나란히 쓴 직사각 matrix에 elimination matrix를 곱하면, [A   I] 가 [I    ?] 로 바뀐다.

여기서 ?는 A-1 여야 하지만, 우리가 뭔지 모르는 미지 행렬이므로 ?라고 두었다.

여기서는 위의 block multiplication을 생각하면 편하다.

E[A  I] = [EA  EI] = [I   ?] 에서

EA = I가 되려면 E는 A-1 가 되어야한다. 즉, 우리가 A를 I로 만들기 위해 진행한 elimination matrix들을 다~ 곱하면

그게 즉 A의 inverse matrix 가 된다는 소리!

 

또, EI = ? 에서 우리는 ?가 정확히 뭔지는 모르지만, A-1 여야 한다는 점을 알 수 있다.

따라서 E = A-1 라는 것이 한번 더 입증된다.

 

 

하 ... lecture 3 끝.