Gilbert Strang, Linear Algebra and Learning from Data, 2019. Part I — Highlights of Linear Algebra, I.1 — Multiplication Ax Using Columns of A, pp. 2–8
쪽수는 책에 인쇄된 번호입니다. 제공된 스캔본에서는 I.1이 PDF 뷰어의 9–12번째 페이지에 걸쳐 있습니다. 이 글의 주 예제는 계산 과정을 쉽게 따라갈 수 있도록 직접 구성했습니다.
행렬곱 Ax를 계산할 줄 안다고 해서, 그 결과가 어떤 벡터가 될 수 있는지 바로 알 수 있는 것은 아닙니다. 이번 글에서는 입력 x를 자유롭게 바꿀 때 출력 Ax가 어디까지 움직일 수 있는가를 살펴봅니다. 이 질문을 따라가면 열공간, 기저, 랭크, 행렬 분해가 하나로 연결됩니다.
1. 행렬과 벡터의 곱은 열의 선형결합이다
실수 행렬 A∈Rm×n의 열을 a1,…,an이라고 쓰겠습니다. 각 aj는 m개의 성분을 가진 벡터이고, 입력 x∈Rn은 열마다 곱할 계수를 담습니다.
A=[a1a2⋯an],Ax=x1a1+x2a2+⋯+xnan.
오른쪽 식은 벡터의 선형결합입니다. 계수는 음수나 0이어도 되고, 합이 1일 필요도 없습니다. 행렬의 각 행과 x를 내적해서 구하는 성분
(Ax)i=j=1∑naijxj
도 같은 계산입니다. 열의 관점은 여러 성분을 묶어 하나의 출력 벡터로 이해하게 해 줍니다. 교재 I.1, pp. 2–3의 출발점이 바로 이 해석입니다.
행렬의 크기도 확인할 수 있습니다. (3×3)(3×1)의 결과는 3×1입니다. 일반적으로 A는 Rn의 입력을 Rm의 출력으로 보냅니다.
2. 모든 출력이 모이면 열공간이 된다
입력을 하나로 고정하지 않고 모든 x∈Rn을 넣어 봅시다. 얻을 수 있는 출력 전체가 A의 열공간입니다.
Col(A)={Ax:x∈Rn}=span{a1,…,an}⊆Rm.
Strang은 열공간을 C(A)라고도 씁니다. 이 글에서는 나중에 등장하는 행렬 C와 구별하기 위해 Col(A)를 사용합니다.
이 집합에는 원점이 들어 있습니다. A0=0이기 때문입니다. 두 출력 Ax,Ay의 선형결합도
αAx+βAy=A(αx+βy)
처럼 다시 출력으로 나타낼 수 있습니다. 따라서 열공간은 Rm의 부분공간입니다.
주 예제에서는 a3=2a1+a2입니다. 이를 대입하면
Ax=(x1+2x3)a1+(x2+x3)a2.
세 번째 열을 사용하더라도 처음 두 열의 선형결합 범위를 벗어나지 않습니다. s=x1+2x3, t=x2+x3라고 두면
Col(A)=⎩⎨⎧⎣⎡sts+t⎦⎤:s,t∈R⎭⎬⎫.
이는 R3 전체가 아니라 b3=b1+b2를 만족하는 원점 통과 평면입니다. 반대로 이 평면의 임의의 점은 x=(s,t,0)T를 넣어 얻을 수 있으므로, 포함 관계뿐 아니라 집합의 일치까지 확인한 셈입니다.
3. Ax = b의 해가 존재한다는 뜻
열공간의 정의를 방정식의 언어로 읽으면 다음과 같습니다.
Ax=b의해가존재한다⟺b∈Col(A).
주 예제에서 b=(4,3,7)T는 평면 위에 있습니다. 해를 구하면
x1+2x3=4,x2+x3=3
이므로, x3=t를 자유롭게 정할 수 있습니다.
x=⎣⎡430⎦⎤t⎣⎡−2−11⎦⎤,t∈R.
반면 b=(0,0,1)T는 b3=b1+b2를 만족하지 않으므로 해가 없습니다. 이 경우에는 계산을 시작하기 전에 해가 없다는 것을 판단할 수 있습니다.
여기서 해의 존재와 유일성은 별개의 문제입니다. 열공간은 만들 수 있는 출력의 범위를 말합니다. 서로 다른 입력이 같은 출력으로 가는지는 열 사이의 선형관계와 연결됩니다. 위에서 자유롭게 더한 (−2,−1,1)T는 Az=0을 만족하는 영공간의 벡터입니다. 영공간과 네 가지 기본 부분공간은 교재 I.3에서 더 자세히 다룹니다.
4. 선형독립, 기저, 랭크
벡터 c1,…,cr가 선형독립이라는 말은
α1c1+⋯+αrcr=0⟹α1=⋯=αr=0
이라는 뜻입니다. 한 벡터를 나머지 벡터의 선형결합으로 표현할 수 있다면 선형종속입니다. 벡터가 서로 다르다는 사실만으로 선형독립을 결론 낼 수는 없습니다.
어떤 공간의 기저가 되려면 두 조건을 함께 만족해야 합니다.
선택한 벡터들이 선형독립이다.
그 벡터들의 선형결합으로 공간의 모든 벡터를 만들 수 있다.
주 예제의 a1,a2는 첫째·둘째 성분을 보면 선형독립임을 알 수 있습니다. 두 열이 전체 열공간을 생성하므로 열공간의 기저입니다. 기저에 포함되는 벡터 수가 공간의 차원이고, 열공간의 차원을 행렬의 랭크라고 합니다.
rank(A)=dimCol(A)=r,0≤r≤min(m,n).
따라서 주 예제의 랭크는 2입니다. 기저를 다른 벡터들로 선택할 수는 있어도 그 개수는 변하지 않습니다. 교재 I.1, p. 4에서 강조하는 구별입니다.
랭크
R3 안에서 열공간의 모습
0
영벡터 하나
1
원점을 지나는 직선
2
원점을 지나는 평면
3
R3 전체
일반적인 m×n 행렬에서는 r=m이면 모든 b∈Rm에 대해 해가 존재하고, r=n이면 해가 존재할 때 유일합니다. 정사각행렬에서는 두 조건이 합쳐져 가역성과 연결됩니다.
5. 독립인 열과 조합 계수를 분리하면 A = CR
랭크가 r인 행렬에서 열공간의 기저가 되는 실제 열 r개를 뽑아 C에 모읍니다. 그러면 A의 각 열은 C의 열들의 선형결합으로 유일하게 표현됩니다. 그 계수들을 열별로 모은 행렬이 R입니다.
m×nA=m×rCr×nR.
주 예제에서는
C=⎣⎡101011⎦⎤,R=[100121].
R의 첫째 열 (1,0)T는 a1을, 둘째 열 (0,1)T는 a2를, 셋째 열 (2,1)T는 2a1+a2를 만들라는 뜻입니다. 따라서 CR=A입니다.
RnRRrCCol(A)⊆Rm.
이 그림에서 R은 입력을 기저에 대한 좌표로 바꾸고, C는 그 좌표를 실제 출력 벡터로 만듭니다. 주 예제에서는 Rx=(x1+2x3,x2+x3)T입니다.
기저 열을 원래 순서대로 왼쪽부터 선택하면 R은 A의 기약 행 사다리꼴에서 영행을 제거한 행렬과 일치합니다. 다른 기저 열이나 순서를 택해도 A=CR은 가능하지만, 그때의 R을 항상 같은 기약 행 사다리꼴이라고 부를 수는 없습니다.
열공간은 Rm에, 행공간은 Rn에 있습니다. 두 공간이 같다는 주장이 아니라 차원이 같다는 정리를 증명하려는 것입니다.
A=CR을 행의 관점으로 읽어 봅시다. A의 i번째 행은 R의 행들을 C의 i번째 행에 적힌 계수로 조합한 결과입니다. R에는 r개의 행만 있으므로
Row(A)⊆Row(R),dimRow(A)≤r=dimCol(A).
이 논리는 모든 행렬에 적용됩니다. 이번에는 AT에 똑같이 적용하면 반대 방향의 부등식을 얻습니다.
dimCol(A)=dimRow(AT)≤dimCol(AT)=dimRow(A).
두 부등식을 합치면
dimRow(A)=dimCol(A).
주 예제에서 셋째 행은 첫째 행과 둘째 행의 합입니다. 따라서 독립인 행도 두 개입니다. 그러나 행공간의 벡터는 z3=2z1+z2를 만족하고, 열공간의 벡터는 b3=b1+b2를 만족합니다. 차원이 같더라도 다른 평면일 수 있다는 것을 직접 확인할 수 있습니다.
7. 랭크 1 행렬이 행렬곱의 구성 요소가 된다
영벡터가 아닌 u∈Rm, v∈Rp에 대해 외적uvT를 생각해 봅시다.
uvT=[v1uv2u⋯vpu].
모든 열이 u의 배수이고 적어도 하나는 0이 아니므로 랭크는 1입니다. 둘 중 하나가 영벡터라면 결과는 영행렬이고 랭크는 0입니다.
주 예제의 CR도 두 외적의 합으로 쓸 수 있습니다.
A=⎣⎡101⎦⎤[102]+⎣⎡011⎦⎤[011].
일반적으로 A∈Rm×n, B∈Rn×p일 때
AB=k=1∑nA:,kBk,:.
각 항은 A의 열 하나와 B의 행 하나를 곱한 m×p 행렬입니다. 이것이 강의 마지막의 행렬곱 해석이며, 교재 I.2, p. 9로 이어집니다. 표준적인 두 계산 방식 모두 스칼라 곱셈을 mnp번 수행합니다. 외적 표현은 계산량을 저절로 줄이기보다는 결과를 작은 랭크의 구성 요소로 이해하게 해 줍니다.
8. 실제 행도 보존하고 싶다면 CMR 분해
A=CR의 C는 원래 행렬에서 뽑은 열이지만, R의 행은 일반적으로 원래 행렬에서 그대로 뽑은 행이 아닙니다. 교재 I.1, p. 8은 실제 행도 선택하는 분해를 소개합니다.
독립인 열을 모은 C∈Rm×r와 독립인 실제 행을 모은 R∈Rr×n 사이에 적절한 r×r 행렬 M을 넣으면
A=CMR.
선택한 행과 열이 만나는 r×r 부분행렬을 W라고 하면, 정확한 랭크가 r이고 두 선택이 각각 기저를 이룰 때 W는 가역이고 M=W−1입니다. 이를 확인하려면 A=CR에서 선택한 행만 남겨 R=WR를 얻고, R=W−1R를 대입하면 됩니다.
주 예제에서 C는 그대로 두고, 실제 행 중 첫째·셋째 행을 선택합시다.
R=[110123],W=[1101],M=[1−101].
곱하면 MR=R이므로 다시 A=CMR을 얻습니다. 강의에서는 가운데 행렬을 U라고 쓰는 CUR 표기도 소개합니다. 임의로 일부 행과 열을 고르기만 하면 항상 정확히 복원되는 것은 아니며, 위 설명에서는 랭크와 독립성 조건이 중요합니다.
9. 데이터 분석으로 이어지는 두 가지 관찰
행렬의 열공간을 알고 싶다면 여러 입력을 한꺼번에 넣을 수도 있습니다. Ω∈Rn×k를 임의의 입력들을 모은 행렬이라고 하면
Y=AΩ⟹Col(Y)⊆Col(A).
입력을 무작위로 고르는 생각은 이후 Lecture 13의 무작위화 선형대수로 연결됩니다. 여기서 바로 보장되는 것은 포함 관계입니다. 표본 수가 부족하거나 선택이 좋지 않으면 전체 열공간을 찾지 못할 수도 있습니다.
같은 이유로 크기가 맞는 B,D,x에 대해 ABDx=A(BDx)는 항상 Col(A) 안에 있습니다. 가장 왼쪽 행렬이 허용하는 출력 공간을 곱셈 전체가 벗어날 수 없다는 뜻입니다.
10. Lecture 1 지정 연습문제 풀이
출처는 교재 Problem Set I.1, pp. 6–7의 1, 4, 9, 18번입니다. 문제 번호는 공식 강의 페이지에서도 확인할 수 있습니다. 아래에는 풀이에 필요한 상황만 간단히 적고 계산을 정리했습니다.