먼저 알아야 할 것
- 벡터, 내적과 노름, 선형독립 (공학수학 선형대수학): ‘벡터, 직선과 평면’ 단원 앞부분의 좌표, 벡터 연산, 내적, 선형독립, 기저
- 행렬과 행렬-벡터 곱, 행렬 곱셈과 전치 (공학수학 선형대수학): ‘행렬’ 단원의 행렬 종류, 곱셈, 전치, 블록 분할
- 행렬식, 역행렬, 대각화와 행렬 거듭제곱 (공학수학 선형대수학): ‘행렬’ 단원 전체. 문서의
과목별 관점에 여인수 전개, 부분 피벗팅 가우스–조르당, 대각화 예가 있다 - 직교성과 직교 사영 (공학수학 선형대수학): ‘직교 행렬과 좌표계’ 단원의 직교 행렬과 두 정리. 문서의
과목별 관점에 있다 - 추상 벡터공간과 베지어 곡선 (공학수학 선형대수학): ‘곡선’ 단원의 베지어 곡선. 문서의
과목별 관점에 기하 행렬 \(M_B\)와 끝 접선이 있다 - 주성분 분석 (공학수학 확률과 통계): ‘경계 볼륨과 PCA’ 단원의 PCA
- LU 분해 (공학수학 선형대수학): ‘삼각 행렬과 LU 분해’ 단원 전체. 문서의
과목별 관점에 있다 - 도함수의 활용과 최적화 (공학수학 미분적분학): ‘1차원 최적화’ 단원 앞부분의 극값 판정. 문서의
과목별 관점에 있다 - 헤세 행렬과 극값 판정, 경사 하강법 (공학수학 미분적분학): ‘다차원 최적화’ 단원의 헤세 판정·중심 차분과 기울기·최급상승법. 문서의
과목별 관점에 있다 - 선형 근사와 뉴턴 방법 (공학수학 미분적분학): ‘비선형 방정식 1’ 단원의 뉴턴-랩슨 방법. 문서의
과목별 관점에 있다 - 미분방정식과 오일러 방법, 테일러 급수 (공학수학 미분적분학): ‘미분방정식 1’ 단원의 오일러 방법(문서의
과목별 관점)과 테일러 급수 - 최소제곱법 (공학수학 선형대수학): ‘최소제곱법’ 단원의 오차 노름, 최소제곱 직선과 포물선. 문서의
과목별 관점에 있다 - 선형변환, 기저 변환 (공학수학 선형대수학): ‘기하 변환’과 ‘직교 행렬과 좌표계’ 단원의 변환과 좌표계
벡터, 직선과 평면
읽기 전에
- \(y = mx + b\)로 수직선 \(x = 3\)을 적을 수 있을까? → 직선과 평면의 방정식
- 두 벡터에 모두 수직인 벡터를 계산 한 번으로 만들 수 있을까? → 외적
| 번호 | 개념 | 한 줄 | 개념 코드 | 연습 |
|---|---|---|---|---|
| 01 | 외적 | 두 벡터에 모두 수직, 길이는 평행사변형 넓이, 오른손 법칙 | verify | — |
| 02 | 직선과 평면의 방정식 | 직선 \(\mathbf x = \mathbf a u + \mathbf b\), 평면 \((\mathbf x - \mathbf x_0)\cdot\mathbf n = 0\), 부호로 어느 쪽인지 | verify | — |
떠올려 보기: 노트를 닫고 직선의 매개변수 식, 평면의 법선 식, 점이 어느 쪽인지 판정하는 법, 직선과 평면의 교점 공식을 한 장에 써 본다.
행렬
개념: 이 묶음는 공학수학 선형대수학 문서에 과목별 관점으로 합쳤다(위 ‘먼저 알아야 할 것’). 고윳값 정의는 고윳값과 고유벡터에 있다.
기하 변환
| 번호 | 개념 | 한 줄 | 개념 코드 | 연습 |
|---|---|---|---|---|
| 03 | 기하 변환의 종류 | 무엇을 지키나: 강체(거리) ⊂ 닮음(각) ⊂ 아핀(평행) ⊂ 사영(곧은 선) | fig1 · plot · verify | — |
| 04 | 동차 좌표 | 끝에 1을 붙여 평행이동도 행렬 곱. 오른쪽 행렬이 먼저 | fig1 · plot · verify | 동차 좌표 예제 사다리 · 문제 코드 |
떠올려 보기: 노트를 닫고 강체·닮음·아핀·사영 변환을 ‘지키는 것’으로 포함 관계 그림을 그리고, 점 \(P\) 중심 회전을 동차 좌표 행렬 곱으로 써 본다.
직교 행렬과 좌표계
읽기 전에
| 번호 | 개념 | 한 줄 | 개념 코드 | 연습 |
|---|---|---|---|---|
| 05 | 법선 벡터의 변환 | 법선은 \((M^{-1})^\top\)로. 직교 행렬이면 \(M\) 그대로 | fig1 · plot · verify | — |
| 06 | 좌표계 변환 | 원점을 빼고 새 축마다 내적: \(X' = R^{-1}T^{-1}X\) | verify | — |
떠올려 보기: 노트를 닫고 직교 행렬의 정의와 두 정리(정규직교 열, 길이·각 보존), 법선 변환식, 좌표계 변환 \(X' = R^{-1}T^{-1}X\)를 써 본다.
반사, 회전, 투영
읽기 전에
- 비스듬한 축을 중심으로 돌리는 행렬을 기본 회전만으로 만들 수 있을까? → 임의 축 회전
- 세 각도로 자세를 적으면 무엇이 문제일까? → 오일러 각과 짐벌 잠금
- 철길이 멀리서 한 점으로 모여 보이는 것을 행렬로 쓸 수 있을까? → 평행 투영과 원근 투영
| 번호 | 개념 | 한 줄 | 개념 코드 | 연습 |
|---|---|---|---|---|
| 07 | 반사와 반전 | 축으로 옮기기 → 축에 대해 부호 뒤집기 → 되돌리기 | fig1 · plot · verify | — |
| 08 | 임의 축 회전 | 다섯 단계로 축을 \(x\)축에 맞추거나 로드리게스 공식 하나로 | verify | 임의 축 회전 예제 사다리 · 문제 코드 |
| 09 | 오일러 각과 짐벌 잠금 | 기본 회전 세 번. 가운데가 90°이면 자유도 하나를 잃는다 | verify | — |
| 10 | 쿼터니언 | \(q = (\cos\frac\theta2, \sin\frac\theta2\mathbf n)\), \(q\mathbf v\bar q\). 짐벌 잠금 없음, 매끄러운 보간 | verify | — |
| 11 | 평행 투영과 원근 투영 | 평행은 크기 그대로, 원근은 \(z\)로 나눠 먼 것이 작게 | fig1 · plot · verify | — |
| 12 | 점·직선·평면 사이의 거리와 교점 | 사영을 빼고 남은 수직 부분, 편미분 0, 법선과의 내적 | verify | — |
떠올려 보기: 노트를 닫고 회전을 나타내는 세 방법(기본 회전의 곱, 축-각과 로드리게스, 쿼터니언)을 장단점과 함께 표로 쓰고, 원근 투영 행렬을 써 본다.
곡선
읽기 전에
| 번호 | 개념 | 한 줄 | 개념 코드 | 연습 |
|---|---|---|---|---|
| 13 | 3차 보간 곡선 | 네 점을 \(u = 0, \frac13, \frac23, 1\)에서 지나게. \(\mathbf p(u) = \mathbf u^\top M_I\mathbf p\) | fig1 · fig2 · plot · verify | — |
| 14 | 에르미트 곡선 | 끝점 둘과 끝 접선 둘로. 이음점 기울기를 맞출 수 있다 | fig1 · plot · verify | — |
| 15 | 곡선의 연속성 | \(C^0\) 이어짐, \(C^1\) 속도, \(C^2\) 가속도, \(G^1\) 방향만 | fig1 · plot · verify | — |
| 16 | B-스플라인 | 점을 지나지 않고 근처를 지나며 \(C^2\), 점 하나는 조각 넷에만 | fig1 · plot · verify | B-스플라인 예제 사다리 · 문제 코드 |
떠올려 보기: 노트를 닫고 3차 보간·에르미트·베지어·B-스플라인을 ‘무엇으로 정하나, 점을 지나나, 이음점 연속성, 블렌딩 함수가 0 이상인가’ 네 칸의 표로 쓰고, 네 기하 행렬 \(M_I, M_H, M_B, M_S\)가 같은 틀 \(\mathbf u^\top M\mathbf p\)에서 나온다는 것을 설명해 본다.
곡면
읽기 전에
- 네 꼭짓점만으로 휘어진 곡면을 만들 수 있을까? → 매개변수 곡면 패치
- 곡선을 화면에 그리려면 몇 개의 선분으로 나눠야 할까? → 베지어 곡선의 세분화
| 번호 | 개념 | 한 줄 | 개념 코드 | 연습 |
|---|---|---|---|---|
| 17 | 매개변수 곡면 패치 | \(u\), \(v\) 두 방향: 쌍선형, 쌍3차(꼬임 벡터), 베지어, 스플라인 | fig1 · plot · verify | — |
| 18 | 베지어 곡선의 세분화 | 중점만으로 반씩 나눠 평평할 때까지. 다른 곡선은 \(M_B^{-1}M\)으로 바꿔서 | fig1 · plot · verify | — |
떠올려 보기: 노트를 닫고 곡면 패치 네 종류의 식과 장단점, 베지어 곡선을 반으로 나누는 중점 계산 세 단계를 써 본다.
경계 볼륨과 PCA
읽기 전에
- 비스듬히 길쭉한 물체를 감싸는 가장 작은 상자는 어느 방향일까? → 경계 볼륨
| 번호 | 개념 | 한 줄 | 개념 코드 | 연습 |
|---|---|---|---|---|
| 19 | 경계 볼륨 | 물체를 감싸는 상자. PCA 방향으로 돌리면 꼭 맞는다 | fig1 · plot · verify | — |
떠올려 보기: 노트를 닫고 점 네 개로 평균, 공분산, 고유벡터, 상자의 폭을 구하는 순서를 처음부터 써 본다.
삼각 행렬과 LU 분해
개념: 이 묶음는 공학수학 LU 분해의 과목별 관점으로 합쳤다(삼각 연립방정식, 둘리틀 방법, 오차 줄이기, 역행렬).
반복법
읽기 전에
- 미지수가 10만 개인 연립방정식을 소거법 대신 ‘대충 넣고 고치기’로 풀 수 있을까? → 야코비 방법과 가우스-자이델 방법
- 식의 순서를 바꾸기만 해도 반복법이 실패할 수 있을까? → 야코비 방법과 가우스-자이델 방법
| 번호 | 개념 | 한 줄 | 개념 코드 | 연습 |
|---|---|---|---|---|
| 20 | 야코비 방법과 가우스-자이델 방법 | 식마다 자기 변수로 풀어 되풀이. 대각 우세면 수렴, 가우스-자이델이 더 빠름 | fig1 · impl · plot | 야코비와 가우스-자이델 예제 사다리 · 문제 코드 |
떠올려 보기: 노트를 닫고 야코비와 가우스-자이델의 갱신식, 수렴 조건, 이완 계수의 세 범위를 쓰고, 예의 3×3 계를 한 회차씩 돌려 본다.
보간
읽기 전에
- 표에 1, 1.1, 1.2, 1.3의 값만 있을 때 1.15의 값을 짐작하려면? → 다항식 보간
- 점을 하나 더 얻었을 때 보간 다항식을 처음부터 다시 구해야 할까? → 뉴턴 다항식과 분할 차분
- 두 방향 사이를 직선으로 섞으면 무엇이 문제일까? → 구면 선형 보간
| 번호 | 개념 | 한 줄 | 개념 코드 | 연습 |
|---|---|---|---|---|
| 21 | 다항식 보간 | \(n + 1\)개 점을 지나는 \(n\)차 이하 다항식은 하나. 라그랑주 \(\sum y_iL_i\) | fig1 · plot · verify | — |
| 22 | 뉴턴 다항식과 분할 차분 | 항 하나씩 덧붙이는 꼴. 계수는 분할 차분표의 대각선 | fig1 · impl · plot | — |
| 23 | 구면 선형 보간 | 사잇각을 \(\theta t\)로 고르게. 쌍선형·삼선형은 축마다 선형 보간 | fig1 · plot · verify | — |
떠올려 보기: 노트를 닫고 라그랑주와 뉴턴 꼴을 같은 세 점으로 각각 만들어 같은 다항식인지 확인하고, 선형 보간·정규화 선형 보간·구면 선형 보간의 차이를 그림으로 그려 본다.
최소제곱법
읽기 전에
- 지수 곡선을 최소제곱으로 맞추려는데 정규방정식이 일차가 아니다. 어떻게 할까? → 자료 선형화
| 번호 | 개념 | 한 줄 | 개념 코드 | 연습 |
|---|---|---|---|---|
| 24 | 자료 선형화 | 축을 바꿔 직선으로 편 뒤 최소제곱. 원래 오차의 최소는 아니다 | fig1 · plot · verify | — |
떠올려 보기: 노트를 닫고 오차 노름 세 가지, 최소제곱 직선의 정규방정식, 지수·로그·분수 모형의 선형화 표를 써 본다.
1차원 최적화
읽기 전에
| 번호 | 개념 | 한 줄 | 개념 코드 | 연습 |
|---|---|---|---|---|
| 25 | 황금분할 탐색 | 단봉 함수에서 두 점 비교로 구간을 0.618배씩. 회차당 계산 한 번 | fig1 · impl · plot | — |
| 26 | 피보나치 탐색 | 비율을 \(F_{n-k-1}/F_{n-k}\)로 바꿔 회차 수를 미리 정함. 마지막 폭 \((b - a)/F_n\) | fig1 · impl · plot | — |
떠올려 보기: 노트를 닫고 황금분할 탐색의 \(r^2 + r - 1 = 0\)이 어디서 나오는지 그림으로 설명하고, 피보나치 탐색의 회차 수를 허용 오차에서 정하는 법을 써 본다.
다차원 최적화
읽기 전에
- 미분할 수 없는 두 변수 함수의 최댓값은 어떻게 찾을까? → 직접 탐색법
| 번호 | 개념 | 한 줄 | 개념 코드 | 연습 |
|---|---|---|---|---|
| 27 | 직접 탐색법 | 도함수 없이: 무작위로 찍기, 한 변수씩, 지나온 방향으로 한 번 더 | fig1 · impl · plot | — |
떠올려 보기: 노트를 닫고 직접 탐색 세 가지와 기울기 방법(최급상승법), 2변수 헤세 판정 \(\lvert H\rvert\)를 한 장에 정리해 본다.
비선형 방정식 1
| 번호 | 개념 | 한 줄 | 개념 코드 | 연습 |
|---|---|---|---|---|
| 28 | 이분법 | 부호가 다른 구간을 반씩. 늘 수렴하지만 느림 | fig1 · impl · plot | — |
| 29 | 할선법 | 뉴턴의 도함수를 두 점의 기울기로. 근을 사이에 둘 필요 없음 | fig1 · impl · plot | — |
떠올려 보기: 노트를 닫고 이분법·뉴턴·할선법의 갱신식, 멈추는 기준, 장점과 단점을 표로 쓴다.
비선형 방정식 2
읽기 전에
- \(x^2 - x - 2 = 0\)을 \(x = g(x)\)로 바꾸는 방법에 따라 결과가 달라질까? → 고정점 반복
- 비선형 방정식 두 개를 동시에 푸는 데 뉴턴 방법을 쓸 수 있을까? → 다변수 뉴턴 방법
- 근 찾기 방법 네 개 중 무엇을 고를지 가르는 질문은? → 근 찾기 방법 비교
| 번호 | 개념 | 한 줄 | 개념 코드 | 연습 |
|---|---|---|---|---|
| 30 | 고정점 반복 | \(x = g(x)\)를 되풀이. 근 근처에서 \(\lvert g'\rvert < 1\)이면 선형 수렴 | fig1 · fig2 · impl · plot | — |
| 31 | 다변수 뉴턴 방법 | 각 식을 평면으로 근사해 연립 일차방정식을 풀며 이동. 이차 수렴 | fig1 · impl · plot | — |
| 32 | 근 찾기 방법 비교 | 가르는 질문: 근이 있는 구간을 아는가, 도함수를 아는가 | fig1 · plot · verify | — |
떠올려 보기: 노트를 닫고 고정점 반복의 수렴 조건을 평균값 정리로 설명하고, 다변수 뉴턴 방법의 한 걸음을 행렬로 써 본다.
미분방정식 1
| 번호 | 개념 | 한 줄 | 개념 코드 | 연습 |
|---|---|---|---|---|
| 33 | 테일러 급수 방법 | 한 걸음을 고계 도함수까지 넣은 테일러 급수로. \(k = 1\)이면 오일러 | fig1 · impl · plot | — |
| 34 | 룽게-쿠타 방법 | 미분 대신 여러 곳의 기울기를 무게 평균. RK4는 4번 재서 4차 | fig1 · impl · plot | 룽게-쿠타 예제 사다리 · 문제 코드 |
떠올려 보기: 노트를 닫고 2차 RK의 두 조건 \(w_1 + w_2 = 1\), \(aw_2 = \frac12\)를 테일러 전개로 끌어내고, RK4의 네 기울기를 써 본다.
미분방정식 2
읽기 전에
| 번호 | 개념 | 한 줄 | 개념 코드 | 연습 |
|---|---|---|---|---|
| 35 | 연립 상미분방정식 | 미지 함수를 벡터로 묶어 같은 공식. 고계는 \(z = y'\)로 1계 연립 | fig1 · impl · plot | — |
| 36 | 사격법 | 모르는 처음 기울기를 짐작해 쏘고 끝점에 맞게 고치기 | fig1 · impl · plot | — |
| 37 | 유한 차분법 | 미분을 이웃 점 차이로 바꿔 삼중대각 연립방정식 하나로 | fig1 · impl · plot | — |
떠올려 보기: 노트를 닫고 같은 막대 문제를 사격법과 유한 차분법으로 각각 푸는 순서를 쓰고, 두 방법이 비선형일 때 어떻게 달라지는지 비교해 본다.
다른 과목과의 연결
- 쿼터니언 ↔ 덧셈정리 ↔ 복소수 곱 ↔ 회전 행렬 (공학수학): 복소수 곱이 2차원 회전이듯 쿼터니언 곱이 3차원 회전이다
- 베지어 곡선의 세분화 ↔ 재귀와 백트래킹 (알고리즘): 반으로 나눠 스스로를 다시 부르고, 평평하면 멈춘다
- 경계 볼륨 ↔ 차원의 저주 (데이터 과학): 같은 PCA를 그래픽스는 상자 방향 찾기에, 데이터 과학은 차원 줄이기에 쓴다
- 뉴턴 다항식과 분할 차분 ↔ 동적 계획법 (알고리즘): 앞 열의 결과로 다음 열을 채우는 표
- 야코비 방법과 가우스-자이델 방법 ↔ PageRank (공학수학): 둘 다 같은 식을 되풀이해 고정점으로 다가간다
- 이분법 ↔ 매개변수 탐색 ↔ 사잇값 정리 (알고리즘): 같은 ‘부호가 바뀌는 곳을 반씩 좁히기’
- 피보나치 탐색 ↔ 선형 점화식 (공학수학): \(F_{n-1}/F_n\)이 황금비로 가는 것이 두 탐색이 거의 같은 이유
- 연립 상미분방정식 ↔ 1계 선형 미분방정식 (신호 및 시스템): 같은 미분방정식을 식으로 푸는 쪽과 수치로 푸는 쪽
- 외적 ↔ 계산 기하 기초 (알고리즘): 외적의 \(z\) 성분 부호로 꺾는 방향을 판정한다
흐름
graph TD
C1["01 외적"]
C2["02 직선과 평면의 방정식"]
C3["03 기하 변환의 종류"]
C4["04 동차 좌표"]
C5["05 법선 벡터의 변환"]
C6["06 좌표계 변환"]
C7["07 반사와 반전"]
C8["08 임의 축 회전"]
C9["09 오일러 각과 짐벌 잠금"]
C10["10 쿼터니언"]
C11["11 평행 투영과 원근 투영"]
C12["12 점·직선·평면 사이의 거리와 교점"]
C13["13 3차 보간 곡선"]
C14["14 에르미트 곡선"]
C15["15 곡선의 연속성"]
C16["16 B-스플라인"]
C17["17 매개변수 곡면 패치"]
C18["18 베지어 곡선의 세분화"]
C19["19 경계 볼륨"]
C20["20 야코비 방법과 가우스-자이델 방법"]
C21["21 다항식 보간"]
C22["22 뉴턴 다항식과 분할 차분"]
C23["23 구면 선형 보간"]
C24["24 자료 선형화"]
C25["25 황금분할 탐색"]
C26["26 피보나치 탐색"]
C27["27 직접 탐색법"]
C28["28 이분법"]
C29["29 할선법"]
C30["30 고정점 반복"]
C31["31 다변수 뉴턴 방법"]
C32["32 근 찾기 방법 비교"]
C33["33 테일러 급수 방법"]
C34["34 룽게-쿠타 방법"]
C35["35 연립 상미분방정식"]
C36["36 사격법"]
C37["37 유한 차분법"]
C1 --> C2
C3 --> C4
C2 --> C5
C4 --> C5
C4 --> C6
C1 --> C6
C4 --> C7
C4 --> C8
C1 --> C8
C8 --> C9
C9 --> C10
C4 --> C11
C3 --> C11
C2 --> C12
C2 --> C13
C13 --> C14
C14 --> C15
C15 --> C16
C14 --> C17
C16 --> C17
C16 --> C18
C17 --> C18
C6 --> C19
C13 --> C21
C21 --> C22
C10 --> C23
C21 --> C23
C25 --> C26
C25 --> C27
C22 --> C29
C28 --> C30
C30 --> C31
C28 --> C32
C29 --> C32
C30 --> C32
C33 --> C34
C34 --> C35
C35 --> C36
C29 --> C36
C36 --> C37