Inverse matrices, column space and null space
역행렬, 열 공간 및 귀무 공간
역행렬(inverse matrix)
이론 키워드 : 열공간, 계수(rank), 영공간(null space)
역행렬 계산 방법 키워드 : "가우스 소거법(Gaussian elimination)", ",행 사다리꼴(Row echelon form)" *따로 찾아볼 것.
이번 강의 의도 : 직관적으로 역행렬을 이해하는 것.
선형대수가 훨씬 광범위하게 적용가능하다고 하는 주된 이유 :
어떤 방정식계이든지 해결할 수 있기 때문이다.
방정식계란?
미지수인 변수 리스트와 변수들과 관련된 방정식의 리스트를 가졌을 때를 말해.
많은 상황에서, 이런 방정식들은 상당히 복잡해.
<운이 나쁜 경우>
하지만, 운이 좋으면 이렇게 어떤 특정한 형태로 다룰 수 있어.
<운이 좋은 경우>
각 방정식 내에서, 각 변수들의 역할은 어떤 상수를 스케일링하는 거야.
그리고 스케일 된 변수들을 서로 더하는게 전부야.
지수함수나 어떤 특이한 함수같은 건 없어. 두 변수를 서로 곱하는 것도 없고 말야.
특수한 방정식 : "선형 방정식계(linear systemp of equations)"
변수 조직화 :
좌항 : 변수, 같은 변수 끼리 열 맞춤
우항 : 상수
이렇게 하다보면 숫자가 0인 변수도 있어서
하나의 방정식에 어떤 변수가 없을 때도 있지
<숫자가 0인 변수가 있는 방정식>
모든 방정식들을 하나의 벡터방정식으로!
1.
상수 계수만을 모아서 행렬 만들기
2.
변수들을 모아서 벡터 만들기
⇒ 행렬 벡터 곱셈하면 다른 상수벡터랑 같아진다.
행렬 A는 어떤 선형변환을 나타내고, 그럼 Ax = v를 푸는 것은 변환 후에는 벡터 v가 되는 벡터 x가 있는지 찾아보는게 돼.
벡터 v는 x벡터에 A라는 상수 행렬을 곱한 것이다.
<2x2 행렬 A인 방정식의 해를 찾는 과정>
행렬 구조 : 2x2행렬
v와 x벡터 : 2차원 벡터
방정식의 해를 찾는 방법
행렬 A변환이 모든 공간을 더 낮은 차원으로 축소시키는지, 선이나 점같은 공간으로, 아니면, 공간 전부가 그대로 남는지를 알아보는게 시작점이야.
지난 동영상에서 다룬 말을 빌리자면, 행렬 A의 행렬식 값이 0인지, 아니면 0값이 아닌지로 나누는 것과 같아.
행렬식 값이 0이 아닌 경우
공간을 제로 영역으로 축소시키지 않는 경우야
이 경우, 특정v 벡터로 변할 수 있는 벡터는 항상 하나만 있어.(일대일 대응 변환)
변환을 역방향으로 돌리면 찾을 수 있어.
뒤로 감기처럼 플레이하며 벡터 v가 어디로 가는지 따라가 보면
벡터 x를 찾을 수 있을거야.
Ax = v에서 x를 말야.
역행렬
역으로 변환하는 것
일반적으로 "A의 역행렬(the inverse of A)"이라고 해.
A의 윗첨자로 -1을 표시해놓지.
ex)
•
베이스 : A가 반 시계 방향으로 90도 회전이라면,
역 :시계방향으로 90도 회전일거야
•
행렬 A가 j-hat을 오른쪽 한칸만큼 기울이는 반환이라면
역 : 은 j-hat 왼쪽 방향으로 한칸만큼 기울이는 변환이야.
항등 변환 :
A역행렬 곱하기 A행렬은 아무것도 바꾸지 않는 행렬과 같다는 것.
i hat과 j-hat을 이동시키지 않고 놔두지.그래서 그대로 (1,0), (0,1)이야
자 다시한번, 기하학적으로 이 말이 무슨 뜻이냐면,
v벡터에 역변환을 가한거야.
유일한 해가 존재하는 경우(대부분)
1.
행렬식 값이 0이 아닌 경우
2.
m개의 미지수에 n개의 방정식을 가졌을 때 m = n일 경우
변환A가 공간을 더 낮은 차원으로 뭉게지지 않는 한(행렬식 값이 0이 아닌 경우),
이 역행렬의 속성은 A를 적용한 뒤, A의 역행렬을 적용하면, 아무것도 변하지 않는 거지 그리고 이방정식을 푼다는 것은, 역행렬을V벡터에 곱하는 것이고,
*역행렬이 존재한다는 것
역행렬이 존재한다는 것은 행렬식값이 0이 아니란 말과 동치입니다.
AB=C를 만족하는 행렬 A,B,C가 있다고 하면,
det(A)det(B)=det(C) (det는 행렬식)를 만족해야 합니다.
따라서 역행렬이 존재한다면, 역행렬의 행렬식이 0이 절대로 될 수 없습니다.
직관적으로 이해
행렬식 값이 0인 것으로 인해 선이나 점으로 차원이 뭉게졌을 때 그것을 다시 역행렬로 변환할 수 있는 것은 적어도 그 함수가 할 수 있는 일이 아니기 때문에 행렬식 값이 0이면 역행렬이 될 수 없다.
베이스 : 면
변환 후 : 선
선 → 면 (역행렬 변환 과정에서) 선이 면으로 가려면 하나의 온전한 선, 선을 이루는 모든 벡터로 바꿔야 면이 한다. 하지만 함수는 하나의 입력을 받아 하나의 출력만 만들기 때문에 차원이 바뀌면 힘들다.
해는 여전히 존재할 수 있긴하다!
역행렬이 없다고 해도 해가 존재 하지 않는 것은 아니다. 예를 들어 면→선으로 변환 했다고 쳐도 그 선에서 해를 구할 수 있기 때문이다.
행렬식 값이 0인 3차원 공간에서 해 찾기
•
공간을 하나의 선으로 수축하는 경우가 공간을 평면하는 수축하는 경우보다 더 힘들기 때문에
3x3행렬을 예를 들면 공간을 면으로 수축하는 것 보다 공간을 선으로 수축하는 경우가 더 힘들기 때문에 힘들다.(둘다 행렬식 값이 0이지만)
이 경우 우리는 단순히 "행렬식 0(zero determinant)"보다 더 정확한 표현이 필요한 거 같아.
랭크(rank)
랭크 = 1 : 변환의 결과가 선, 즉 1차
랭크 = 2 : 모든 벡터가 2차원 평면
랭크의 의미 : 변환 결과의 차원의 수
예를 들어, 2x2행렬의 경우에, 최대로 될 수 있는 랭크는 2야.
2x2행렬 : 온전한 2차원 공간을 만들 수 있고 행렬식 값이 0이 아님 → 랭크 2
3x3행렬 : 온전한 3차원 공간을 만들 수 있고 행렬식 값이 0이 아님 → 랭크 3
그러나 3x3행렬에서, 랭크가 2라는 말은 공간이 붕괴(축소)했음을 말해.
"열 공간(column space)" :
•
행렬이 가능한 결과의 집합 (선이든 평면이든 3차원공간이든)
•
행렬의 열들의 확장공간
•
열 공간의 차원 수
이런 이름이 붙어진 이유 :
1.
행렬의 열들은 기저벡터의 변환 후 위치이다.
행렬의 열들은 기저벡터의 변환 후 위치이고, 이 변환 후 기저벡터들의 확장공간은 가능한 모든 결과공간을 알려준다.
즉, 열 공간(column space)란, 행렬의 열들의 확장공간이야.
그래서, 랭크의 좀 더 정확한 정의는 열공간의 차원 수야.
full rank(온전한 랭크)
•
랭크가 높아질수록, 열의 갯수와 같다는 의미
•
영 벡터(zero vector)는 어느 열공간에든지 포함되어 있음(선형변환은 반드시 원점이 고정되어 있어야 하기 때문이야.)
(참고 : 앞선 "linear tranformation"챕터 확인)
온전한 랭크(full rank)인 변환에서, 원점으로 변하는 벡터는 영벡터 뿐이다.
but 온전한 랭크가 아닌 더 작은 차원으로 축소되는 경우 원점으로 변하는 벡터는 더 생긴다.
2차원 → 1차원인 경우 : 서로 다른 방향을 가리키는 벡터들이지만 같이 원점으로 뭉게지는 수 많은 벡터들이 있다.
3차원 → 2차원인 경우 : 3차원 변환이 평면으로 축소되는 예를 들면, 마찬가지로 원점으로 이동하는 선의 수많은 벡터들이 존재한다. 3차원 변환이 공간을 선으로 축소 시킨다면, 한 평면의 모든 벡터들이 원점으로 이동하게 된다.
⇒ 이렇게 원점으로 이동되는 벡터들의 집합을 그 행렬의 "영공간(null space)" 혹은 커널(kernel)"이라고 부른다.
영공간, 커널(널(null)이 되는 모든 벡터의 공간) : 온전한 랭크가 아닌 행렬에서 차원 붕괴 시 원점으로 이동되는 벡터들의 집합
선형 방정식계 용어로 말하면, 벡터v가 영벡터인 경우, 영공간(null space)모두가 해가 될 수 있어.
x = 0/A (해는 모든 실수)
훑어보기
그럼 좀 더 높여서 훑어보자.
선형방정식계가 기하학적으로 어떻게 생각할 수 있는지 정리해보자.
각 계(system)는 선형변환과 같은 것을 가지고 그와 관련된 선형 변환의 일종, 그 변환 역변환을 가지면, 계(system)를 풀기 위해 역변환을 사용하면 돼.
그게 안된다면, 열공간(column space)이라는 개념이 해의 존재 여부를 알려줄거야. 영공간(null space)라는 개념이 주는 것은 모든 가능한 해집합이 어떻게 될지를 알려줘.