들어가며¶
이 교재는 Gilbert Strang의 MIT 18.06 선형대수 강의 34개를 다룬다. 강의 하나가 두 개의 문서로 되어 있다.
Lxx_theory.md
개념을 설명하고 수식을 한 줄씩 유도한다. 번호가 붙은 수식은 본문 어디에서나 (8) 처럼 다시 가리킬 수 있고, 다른 강의의 수식도 참조할 수 있다.
Lxx_lab.ipynb
같은 내용을 numpy 로 직접 계산해 본다. 3차원 그림은 마우스로 회전시킬 수 있고,
계수를 슬라이더로 바꿔 가며 결과를 확인할 수 있다.
서술 파트를 먼저 읽고 실습 파트로 넘어가는 순서를 권한다. 실습 파트는 서술 파트에서 다룬 내용을 코드로 옮긴 것이라, 서술을 건너뛰면 계산 예제만 남는다.
다루는 내용¶
전반부(L1~L17)는 를 푸는 문제를 다룬다. 연립방정식을 푸는 방법에서 시작해서, 해가 어떤 형태를 갖는지, 해가 없을 때는 어떻게 하는지까지 간다. 후반부(L18~L34)는 행렬 자체를 분해하는 문제를 다룬다. 조건이 붙은 분해에서 시작해서 조건이 없는 분해(SVD)까지 간다.
| 구간 | 주제 |
|---|---|
| L1~L4 | 연립방정식을 푸는 방법 — 소거법, LU 분해 |
| L5~L13 | 해가 사는 공간 — 부분공간, 영공간, 기저, 차원, 랭크 |
| L14~L17 | 직교와 투영 — 해가 없을 때의 최소제곱, 그람-슈미트 |
| L18~L20 | 행렬식 |
| L21~L25 | 고윳값과 고유벡터 — 대각화, 미분방정식, 대칭행렬 |
| L26~L29 | 복소행렬과 푸리에, 양의 정부호, 조르당 형, SVD |
| L30~L34 | 선형변환, 기저 변환, 의사역행렬, 전체 정리 |
표기 약속¶
전 강의에서 아래 표기와 색을 그대로 쓴다.
| 대상 | 표기 | 색 |
|---|---|---|
| 정의역 쪽 벡터 | 파랑 #1f77b4 | |
| 치역 쪽 벡터 | , | 주황 #ff7f0e |
| 오차 · 잔차 | 빨강 #d62728 (점선) | |
| 열공간 · 행공간 | , | 청록 반투명 |
| 영공간 · 좌영공간 | , | 회색 반투명 |
| 전치 | ||
| 랭크 |
그림을 그릴 때는 두 가지를 지킨다.
좌표축은 생략하지 않는다. 부분공간이 원점을 지나는지가 이 교재에서 자주 다루는 논점이다.
3차원 그림의 종횡비는 정육면체로 고정한다. 그렇지 않으면 직교인 두 벡터가 직교로 보이지 않는다.
3차원 그림은 보는 각도에 따라 다르게 보인다. 평면이 선처럼 납작하게 보이거나, 만나는 점이 다른 도형에 가려지는 일이 흔하다. 실습 파트의 그림은 회전시킬 수 있게 해 두었으니 여러 각도에서 확인하기를 권한다.
실습 환경¶
실습 노트북을 직접 실행하려면 파이썬 환경이 필요하다. 저장소의 SETUP.md 에 자세히 적어 두었고,
요약하면 다음과 같다.
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt모든 노트북은 공통 시각화 모듈을 불러오는 것으로 시작한다.
from linalg_viz import COLORS, arrow, plane, line, layout3d이 모듈은 저장소의 linalg_viz/ 에 있고 pip install -r requirements.txt 가 함께 설치한다.
강의마다 화살표를 그리는 코드를 다시 쓰면 정작 봐야 할 내용이 묻히기 때문에 따로 뺐다.
함수 이름은 영문이 기준이며 화살표, 평면, 무대 같은 한글 별칭도 함께 제공한다.
집필 상태¶
한 강의씩 서술 파트와 실습 파트를 채워 나간다.
| 강의 | 서술 | 실습 |
|---|---|---|
| L1 · 연립방정식의 기하학 | 완료 | 완료 |
| L2 · 소거법과 행렬 | 완료 | 완료 |
| L3 · 행렬 곱셈과 역행렬 | 완료 | 완료 |
| L4 · A = LU 분해 | 완료 | 완료 |
| L5 · 전치, 순열, 벡터공간 | 완료 | 완료 |
| L6 · 열공간과 영공간 | 완료 | 완료 |
| L7 · Ax = 0 풀기 | 완료 | 완료 |
| L8 · Ax = b 풀기 | 완료 | 완료 |
| L9 · 독립, 기저, 차원 | 완료 | 완료 |
| L10 · 네 개의 기본 부분공간 | 완료 | 완료 |
| L11 · 행렬공간과 랭크 1 행렬 | 완료 | 완료 |
| L12 · 그래프와 네트워크 | 완료 | 완료 |
| L13 · 중간 정리 — 행렬 해부 | 완료 | 완료 |
| L14 · 직교 벡터와 직교 부분공간 | 완료 | 완료 |
| L15 · 부분공간으로의 투영 | 완료 | 완료 |
| L16 · 투영행렬과 최소제곱 | 완료 | 완료 |
| L17 · 직교행렬과 그람-슈미트 | 완료 | 완료 |
| L18 · 행렬식의 성질 | 완료 | 완료 |
| L19 · 행렬식 공식과 여인수 | 완료 | 완료 |
| L20 · 크래머 공식, 역행렬, 부피 | 완료 | 완료 |
| L21 · 고윳값과 고유벡터 | 완료 | 완료 |
| L22 · 대각화와 A의 거듭제곱 | 완료 | 완료 |
| L23 · 미분방정식과 exp(At) | 완료 | 완료 |
| L24 · 마코브 행렬 | 완료 | 완료 |
| L25 · 대칭행렬과 스펙트럼 정리 | 완료 | 완료 |
| L26 · 복소 행렬과 푸리에 변환 | 완료 | 완료 |
| L27 · 양의 정부호 행렬과 최소값 | 완료 | 완료 |
| L28 · 유사 행렬과 조르당 표준형 | 완료 | 완료 |
| L29 · 특이값 분해 (SVD) | 완료 | 완료 |
| L30 · 선형변환과 그 행렬 | 완료 | 완료 |
| L31 · 기저 변환과 영상 압축 | 완료 | 완료 |
| L32 · 중간 정리 — 행렬 진단 | 완료 | 완료 |
| L33 · 좌·우 역행렬과 의사역행렬 | 완료 | 완료 |
| L34 · 전체 정리 — 다섯 개의 분해 | 완료 | 완료 |
| 보강 1 · 주성분분석과 SVD | 완료 | 완료 |
| 보강 2 · 수치선형대수 입문 | 완료 | 완료 |
| 보강 3 · 그래프 라플라시안 | 완료 | 완료 |
| 보강 4-1 · 받아 적기와 옮겨 적기 (문제 24) | 완료 | 완료 |
| 보강 4-2 · 미지수와 기준을 만들기 (문제 22) | 완료 | 완료 |
| 보강 4-3 · 의심한다 (문제 14) | 완료 | 완료 |
본편 34강과 보강편 3편이 모두 채워졌다. 보강편은 배운 것을 밖으로 들고 나가는 자리였다. 자료를 줄이고(보강 1), 계산이 무너지는 자리를 재고(보강 2), 그래프를 잘랐다(보강 3).
이어지는 9막 문제편은 방향을 뒤집는다. 지금까지는 행렬이 주어진 뒤의 이야기였다면, 여기서는 경제와 산업 현장의 상황을 보고 그것이 선형대수 문제임을 알아채는 훈련을 한다. 경제학과 산업공학에서 가져온 60문제를 세 편에 나눠 담았다.
보강 4-1 (문제 1–24) — 받아 적는다, 옮겨 적는다
보강 4-2 (문제 25–46) — 미지수를 만든다, 기준을 만든다
보강 4-3 (문제 47–60) — 의심한다
이로써 전체 40편이 모두 채워졌다.
Lecture 1. 연립방정식의 기하학 부터 시작하면 된다.