테마 선택

📚 지식 노트

AI·하드웨어·주변기기·게임·컴퓨터 시스템·이론 컴퓨터 과학·수학·개발과 운영·보안·응용 분야에 대해 알아 두면 좋은 내용을 정리한 노트다. 위에서 분야를 고르고 아래에서 노트를 고른다.

선형대수

벡터와 행렬을 숫자 표가 아니라 '공간을 옮기는 함수'로 보면 연립방정식, 행렬식, 역행렬, 부분 공간, 투영과 최소제곱, 고윳값이 한 줄로 이어진다. 2×2와 3×3 예를 손으로 계산하며 원리를 따라간다.

목차 (12)
  1. 벡터: 덧셈, 스칼라배, 크기
  2. 선형 결합과 생성
  3. 일차 독립, 기저, 차원
  4. 행렬과 행렬 곱: 선형 변환으로 보기
  5. 연립방정식과 가우스 소거
  6. 행렬식: 넓이·부피의 배율과 방향
  7. 역행렬과 계수
  8. 영공간과 열공간: 계수–영공간 정리
  9. 내적, 직교, 투영
  10. 최소제곱: 맞지 않는 방정식의 가장 좋은 답
  11. 고윳값과 고유벡터
  12. 핵심 자료

벡터: 덧셈, 스칼라배, 크기

벡터는 숫자를 순서대로 늘어놓은 것이고, 평면에서는 원점에서 한 점으로 가는 화살표로 그린다. a = (3, 4)는 오른쪽으로 3, 위로 4이다. 선형대수에서 벡터로 하는 기본 연산은 두 가지뿐이다.

  • 덧셈: 성분끼리 더한다. a + b = (3, 4) + (2, −1) = (5, 3). 그림으로는 a의 끝에 b의 꼬리를 이은 곳이고, a와 b로 만든 평행사변형의 대각선이다.
  • 스칼라배: 모든 성분에 같은 수를 곱한다. 2b = (4, −2). 같은 직선 위에서 길이만 바뀌고, 음수를 곱하면 방향이 뒤집힌다.

벡터의 크기(노름)는 피타고라스 정리로 ‖a‖ = √(3² + 4²) = 5다. 3차원이든 1000차원이든 성분 제곱의 합의 제곱근이다. 크기로 나눠 길이를 1로 맞춘 벡터를 단위 벡터라 하고, 방향만 나타낼 때 쓴다.

왼쪽: 벡터 a와 b를 이어 붙이면 평행사변형의 대각선 a + b가 된다. 오른쪽: b를 2배 하면 같은 방향으로 두 배 길어지고, −1배 하면 반대로 뒤집힌다덧셈: 꼬리에 머리 잇기a = (3, 4)b = (2, −1)a + b = (5, 3)‖a‖ = 5스칼라배: 늘이기·뒤집기b2b = (4, −2)−b
왼쪽: 덧셈은 꼬리에 머리를 잇는 것이고, 순서를 바꿔도 같은 점에 닿는다(점선 평행사변형). 오른쪽: 스칼라배는 원점을 지나는 같은 직선 위에서만 움직인다.

선형 결합과 생성

벡터에 스칼라를 곱해 더한 c₁v₁ + c₂v₂ + …를 선형 결합이라 한다. v₁ = (2, 1), v₂ = (1, 2)로 점 (4, 5)에 닿으려면 c₁·(2, 1) + c₂·(1, 2) = (4, 5), 곧 2c₁ + c₂ = 4, c₁ + 2c₂ = 5를 풀면 된다. 답은 c₁ = 1, c₂ = 2다. "벡터의 조합으로 목표에 닿는가"가 곧 "연립방정식에 해가 있는가"라는 것이 선형대수의 첫 번째 연결이다.

계수 c를 모든 실수로 바꿔 가며 만들 수 있는 점 전체를 생성(span)이라 한다. v₁, v₂는 방향이 달라 평면 전체를 생성한다. 반면 두 벡터가 같은 직선 위에 있으면 무엇을 곱해 더해도 그 직선을 벗어나지 못한다. 3차원에서 벡터 두 개는 기껏해야 평면을, 세 개가 있어야 공간 전체를 생성할 수 있다.

두 벡터 v₁ = (2, 1), v₂ = (1, 2)의 배수 조합이 평면을 덮는 기울어진 격자를 만들고, 점 (4, 5)에는 v₁ 한 번과 v₂ 두 번으로 닿는다v₁v₂2v₂(4, 5)c₁·v₁ + c₂·v₂ = (4, 5)v₁ = (2, 1), v₂ = (1, 2)2c₁ + c₂ = 4, c₁ + 2c₂ = 5→ c₁ = 1, c₂ = 2c₁, c₂를 실수로 바꾸면평면의 모든 점에 닿는다= 생성(span)이 평면 전체
v₁과 v₂의 정수배 조합이 만드는 기울어진 격자. 격자점 하나하나가 (c₁, c₂) 한 쌍이고, 격자 사이의 점은 c를 소수로 바꾸면 닿는다.

일차 독립, 기저, 차원

벡터들이 일차 독립이라는 것은 c₁v₁ + c₂v₂ + … = 0이 되는 방법이 모든 c가 0인 것뿐이라는 뜻이다. 어느 하나도 나머지의 조합으로 만들 수 없어 쓸모없는 벡터가 없다. (1, 2)과 (2, 4)은 2·(1, 2) − (2, 4) = 0이라 일차 종속이다. 둘째 벡터가 새로운 방향을 하나도 보태지 못한다.

공간을 생성하면서 일차 독립인 벡터 묶음을 기저라 하고, 기저에 든 벡터의 수를 차원이라 한다. 기저는 여러 가지지만 개수는 늘 같다. 평면의 기저는 언제나 두 개라서, 평면 위 벡터 세 개는 반드시 종속이다. 기저를 정하면 모든 벡터가 계수 목록(좌표) 하나로 정확히 한 가지로 적힌다. 앞 절의 점 (4, 5)은 표준 기저로는 (4, 5), 기저 v₁, v₂로는 [1, 2]다. 같은 점을 다른 기저로 적는 일이 좌표 변환이다.

왼쪽: 방향이 다른 두 벡터가 넓이 있는 평행사변형을 만든다. 오른쪽: 한 벡터가 다른 벡터의 두 배라 둘 다 같은 직선 위에 있다독립: det = 5 ≠ 0(3, 1)(1, 2)계수 2 → 평면 전체, 기저가 된다종속: det = 0(1, 2)(2, 4) = 2·(1, 2)계수 1 → 직선 하나뿐
왼쪽: 두 열로 만든 행렬의 행렬식이 0이 아니면 평행사변형에 넓이가 있고 두 벡터는 기저가 된다. 오른쪽: 행렬식이 0이면 평행사변형이 선분으로 납작해진다.

행렬과 행렬 곱: 선형 변환으로 보기

행렬 A와 벡터 x의 곱 Ax는 A의 열들을 x의 성분만큼 섞은 선형 결합이다. [a b; c d]·(x, y) = x·(a, c) + y·(b, d). 그래서 e₁ = (1, 0)을 넣으면 첫째 열이, e₂ = (0, 1)을 넣으면 둘째 열이 나온다. 행렬은 "기저 벡터를 어디로 보낼지"를 적어 둔 표이고, 나머지 모든 점은 그 조합이므로 따라 움직인다. 직선은 직선으로, 원점은 원점으로, 평행한 격자는 평행한 격자로 가는 이런 함수를 선형 변환이라 한다.

행렬 곱 BA는 "A를 한 다음 B를 하는" 변환 하나다. 성분으로는 (BA)의 i행 j열 = B의 i행과 A의 j열의 내적이고, 열로 보면 BA의 j열 = B·(A의 j열)이다. 밀기 A = [1 1; 0 1]와 90° 회전 B = [0 −1; 1 0]에서 BA = [0 −1; 1 1], AB = [1 −1; 1 0]로 다르다. 같은 점 (2, 1)도 BA로는 (−1, 3), AB로는 (1, 2)로 간다. 행렬 곱은 결합 법칙 (CB)A = C(BA)는 성립하지만 교환 법칙은 성립하지 않는다.

정사각 격자가 밀기 변환으로 기울어지고, 이어서 90도 회전한다. 기저 벡터 두 개가 가는 곳이 합친 행렬의 열이다A = [1 1; 0 1]밀기B = [0 −1; 1 0]90° 회전BA = [0 −1; 1 1]e₁ → (0, 1)e₂ → (−1, 1)I = [1 0; 0 1]
1 / 4

처음 격자. 파란 화살표가 e₁ = (1, 0), 빨간 화살표가 e₂ = (0, 1)이고, 칠한 칸이 단위 정사각형이다.

2×2 행렬을 '격자를 옮기는 함수'로 보면 행렬 곱은 변환을 차례로 잇는 것이다. 오른쪽에 먼저 하는 변환을 두어 BA는 'A 다음 B'로 읽는다.

행렬 곱에는 모양 규칙이 있다. m×n 행렬은 n×p 행렬과만 곱할 수 있고 결과는 m×p다. 앞 행렬의 행과 뒤 행렬의 열이 같은 길이여야 내적이 되기 때문이다. 곱의 전치와 역행렬은 순서가 뒤집힌다. (AB)ᵀ = BᵀAᵀ이고 (AB)⁻¹ = B⁻¹A⁻¹이다. AB는 B를 먼저 하고 A를 하는 변환이니, 되돌릴 때는 나중에 한 A부터 되돌려야 한다. 양말을 신고 신발을 신었으면 신발부터 벗는 것과 같다.

곱셈은 결합 법칙이 성립해 (AB)C = A(BC)지만, 괄호를 어디에 두느냐에 따라 계산량이 크게 다르다. p×q 행렬과 q×r 행렬을 곱하는 데는 곱셈이 pqr번 든다. A가 10×30, B가 30×5, C가 5×60이면 (AB)C는 1,500 + 3,000 = 4,500번, A(BC)는 9,000 + 18,000 = 27,000번으로 여섯 배다. 같은 이유로 n×n 행렬 두 개를 벡터 하나에 한 번만 적용할 거라면 A(Bx)로 벡터에 하나씩 곱하는 편(n²씩 두 번)이 AB를 먼저 만드는 것(n³)보다 싸다. 반대로 정점 수천 개에 같은 변환을 쓸 때는 곱을 한 번 만들어 여러 번 다시 쓰니 미리 곱해 둔다.

3D 그래픽스는 이동까지 행렬 곱 하나로 하려고 4×4 동차 좌표 행렬을 쓰고, 모델·뷰·투영 행렬을 미리 곱해 정점마다 한 번만 곱한다. 그 이야기는 컴퓨터 그래픽스 노트와 게임 개발 수학 노트의 변환 순서 절에 있다.

연립방정식과 가우스 소거

식 세 개, 미지수 세 개인 연립방정식은 Ax = b로 쓴다. 행렬로 보면 두 가지 그림이 있다. 행 그림은 식 하나가 3차원의 평면 하나이고 해는 세 평면이 만나는 점이다. 열 그림은 A의 세 열을 x, y, z배 해서 더해 b를 만드는 문제다. 앞 절의 선형 결합이 바로 이것이다.

푸는 방법은 중학교 때의 "한 식에 다른 식의 배수를 빼서 미지수 없애기"를 체계화한 가우스 소거다. 계수와 우변을 모은 첨가 행렬에 세 가지 행 연산(한 행에서 다른 행의 배수 빼기, 두 행 바꾸기, 한 행에 0이 아닌 수 곱하기)만 해서 왼쪽 아래를 0으로 만든다. 이 연산들은 해를 바꾸지 않는다. 위 삼각 꼴이 되면 마지막 식부터 하나씩 풀어 올라간다(후진 대입).

3행 4열 첨가 행렬에 행 연산을 차례로 해 왼쪽 아래가 0인 위 삼각 꼴로 만들고, 오른쪽에 아래 행부터 푼 z, y, x가 나온다xyz우변R1R2R3111621−111−12511160−1−3−111−125R2 ← R2 − 2R111160−1−3−110−21−1R3 ← R3 − R111160−1−3−1100721R3 ← R3 − 2R27z = 21 → z = 3−y − 3·3 = −11 → y = 2x + 2 + 3 = 6 → x = 1후진 대입: 아래 행부터
1 / 5

연립방정식 x + y + z = 6, 2x + y − z = 1, x − y + 2z = 5를 계수와 우변만 모은 첨가 행렬로 쓴다. 세로줄 오른쪽이 우변이다.

가우스 소거로 3원 연립방정식 풀기. 행 연산 세 번으로 위 삼각 행렬을 만들면 해 (1, 2, 3)가 차례로 나온다.

대각선의 피벗이 0이 되면 아래 행과 바꾸고, 바꿀 행조차 없으면 그 열의 미지수는 마음대로 정할 수 있는 자유 변수가 되어 해가 없거나 무수히 많다. n×n 행렬을 소거하는 데는 곱셈이 대략 n³/3번 든다. 컴퓨터에서는 반올림 오차가 커지지 않도록 그 열에서 절댓값이 가장 큰 수를 피벗으로 고르고(부분 피벗팅), 소거 과정을 하삼각·상삼각 행렬의 곱 A = LU로 저장해 두어 b만 바뀔 때 다시 쓴다.

행렬식: 넓이·부피의 배율과 방향

2×2 행렬이 단위 정사각형을 보내는 평행사변형의 넓이가 행렬식이다. det [a b; c d] = ad − bc. [3 1; 1 2]는 det = 5, 곧 모든 도형의 넓이를 5배로 만든다. 두 열의 순서를 바꾼 [1 3; 2 1]는 같은 평행사변형을 만들지만 det = -5다. 부호는 방향을 나타낸다. e₁에서 e₂로 도는 방향(반시계)이 변환 뒤에도 유지되면 +, 거울에 비친 것처럼 뒤집히면 −다.

두 패널에 같은 모양의 평행사변형이 있다. 왼쪽은 첫째 열에서 둘째 열로 반시계 방향으로 돌아 행렬식이 5, 오른쪽은 열 순서가 바뀌어 시계 방향이고 행렬식이 −5다det [3 1; 1 2] = 5Ae₁ → Ae₂ 방향: 반시계(그대로)넓이 5Ae₁Ae₂det [1 3; 2 1] = −5Ae₁ → Ae₂ 방향: 시계(뒤집힘)넓이 5Ae₁Ae₂
같은 두 벡터로 만든 넓이 5인 평행사변형. 왼쪽은 Ae₁(파랑)에서 Ae₂(빨강)로 반시계로 돌아 det = 5, 오른쪽은 열 순서가 바뀌어 시계로 돌아 det = −5다. 점선 정사각형이 원래의 단위 정사각형이다.

3×3 행렬식은 단위 정육면체가 가는 평행육면체의 부피(와 방향)다. 손으로는 소거한 뒤 피벗을 곱하는 것이 가장 빠르다. 앞 절의 계수 행렬은 피벗이 1, −1, 7이라 det = −7이다(행을 바꾸면 부호가 한 번씩 바뀐다). 중요한 성질 세 가지가 있다.

  • det(AB) = det(A)·det(B): 변환을 이으면 배율도 곱해진다.
  • det(A) = 0이면 공간이 한 차원 이상 납작해져 부피가 0이 된다. 이때 열들은 종속이고 역행렬이 없다.
  • 삼각 행렬의 행렬식은 대각선의 곱이다. 그래서 소거가 계산 방법이 된다.

역행렬과 계수

역행렬 A⁻¹은 A가 한 일을 되돌리는 변환이다. A⁻¹A = AA⁻¹ = I(아무것도 안 하는 단위 행렬). 2×2는 공식이 있다. [a b; c d]⁻¹ = (1/(ad − bc))·[d −b; −c a]. A = [3 1; 1 2]이면 A⁻¹ = (1/5)·[2 −1; −1 3] = [0.4 −0.2; −0.2 0.6]이고, A가 x = (1, 1)을 (4, 3)로 보내면 A⁻¹은 (4, 3)을 다시 (1, 1)로 돌려놓는다.

행렬식으로 나누므로 det = 0이면 역행렬이 없다. C = [1 2; 2 4]는 둘째 열이 첫째 열의 2배라, 평면 전체를 직선 y = 2x 위로 짓누른다. (2, 0)과 (0, 1)이 모두 (2, 4)로 가니, (2, 4)를 받았을 때 어디서 왔는지 알 길이 없다.

왼쪽: 점 (1, 1)이 A를 지나 (4, 3)으로 갔다가 역행렬로 다시 돌아온다. 오른쪽: 점 (2, 0)과 (0, 1)이 C를 지나 똑같이 (2, 4)로 가서, 어느 쪽에서 왔는지 알 수 없다A = [3 1; 1 2], det 5A⁻¹ = [0.4 −0.2; −0.2 0.6]AA⁻¹x = (1, 1)Ax = (4, 3)C = [1 2; 2 4], det 0두 입력이 한 점으로 → 되돌릴 수 없다C의 열공간 y = 2x(2, 0)(0, 1)(2, 4)
왼쪽: det ≠ 0인 변환은 서로 다른 점을 서로 다른 점으로 보내므로 되돌릴 수 있다. 오른쪽: det = 0인 변환은 여러 점을 한 점으로 겹쳐 정보를 잃는다.

변환 뒤에 남는 차원의 수, 곧 서로 독립인 열(또는 행)의 수가 계수(rank)다. 소거했을 때 피벗의 개수와 같다. n×n 행렬에서는 아래가 모두 같은 말이다: 역행렬이 있다 ⇔ det ≠ 0 ⇔ 계수가 n ⇔ 열들이 일차 독립 ⇔ Ax = 0의 해가 x = 0뿐 ⇔ 모든 b에 대해 Ax = b의 해가 하나뿐. 실제 계산에서는 A⁻¹을 구해 b에 곱하기보다 소거(LU)로 Ax = b를 바로 푸는 쪽이 빠르고 오차도 적다.

영공간과 열공간: 계수–영공간 정리

m×n 행렬 A에는 중요한 부분 공간이 둘 있다.

  • 열공간 C(A): Ax로 만들 수 있는 모든 출력, 곧 열들의 생성. Ax = b는 b가 열공간에 있을 때만 해가 있다. 열공간의 차원이 계수다.
  • 영공간 N(A): Ax = 0이 되는 모든 입력 x. 변환이 0으로 짓누르는 방향들이다.

둘 사이에는 계수–영공간 정리가 있다. 계수 + 영공간의 차원 = 열의 수 n. 입력의 n차원 가운데 일부는 출력으로 살아남고(계수), 나머지는 0으로 사라진다(영공간)는 차원 보존이다. 3×3 행렬 [1 2 3; 2 1 0; 3 3 3]은 셋째 행이 첫째·둘째 행의 합이라 계수가 2다. 그래서 영공간은 1차원이고, 실제로 (1, −2, 1)을 넣으면 (0, 0, 0)이 나온다. 열공간은 3차원 속의 평면으로, b가 (1, 1, −1)과 직교할 때(b₁ + b₂ − b₃ = 0)만 해가 있다.

왼쪽 입력 평면에 원점을 지나는 직선(영공간)과 그와 평행한 직선이 있고, 평행한 직선 위의 세 점이 모두 오른쪽 출력 평면의 한 점 (2, 4)로 간다. 출력은 원점을 지나는 직선 y = 2x 위에만 있다입력 평면계수 1 + 영공간 차원 1 = 열 2개x + 2y = 2영공간 x + 2y = 0C출력 평면C = [1 2; 2 4](2, 4)0열공간 y = 2x
C = [1 2; 2 4]의 두 부분 공간. 입력 평면에서 영공간(파랑 직선) 위의 점은 모두 0으로 가고, 그와 평행한 직선(빨강 점선) 위의 점은 모두 출력의 한 점으로 간다. 출력은 열공간 직선 위에만 놓인다.

해가 있을 때 모든 해는 "특수해 하나 + 영공간의 아무 벡터"다. 영공간 방향으로 움직여도 Ax는 그대로이기 때문이다. 그림에서 빨강 점선 위의 세 점이 모두 x + 2y = 2의 해인 것이 이 구조다.

내적, 직교, 투영

내적 a·b = a₁b₁ + a₂b₂ + …는 길이와 각도를 함께 담는다. a·b = ‖a‖‖b‖cos θ라서, a·a = ‖a‖²이고 a·b = 0이면 두 벡터가 직교(수직)다. a = (3, 1), b = (2, 3)는 a·b = 9, 사이각은 약 37.9°다. 임베딩 비교에 쓰는 코사인 유사도는 AI를 위한 수학 노트에서 다룬다.

b를 a 방향 직선 위로 투영하면 그 직선에서 b와 가장 가까운 점 p = (a·b / a·a)·a = (9/10)·a = (2.7, 0.9)이 나온다. 남은 성분 b − p는 a와 직교한다. 이 "투영하고 남은 것은 직교한다"는 성질로, 독립인 벡터 묶음을 서로 직교하는 길이 1의 묶음(정규 직교 기저)으로 바꾸는 것이 그람–슈미트 과정이다.

두 벡터 v₁, v₂에서 v₂의 v₁ 방향 투영을 빼 수직인 u₂를 얻고, 두 벡터를 길이 1로 줄여 서로 수직인 q₁, q₂를 만든다v₁v₂pu₂q₁q₂v₁ = (3, 1), v₂ = (2, 3)p = (v₁·v₂ / v₁·v₁)·v₁= (9/10)·v₁ = (2.7, 0.9)u₂ = v₂ − p = (−0.7, 2.1)u₂·v₁ = 0 (직교)q₁ = v₁/‖v₁‖ = (0.949, 0.316)q₂ = u₂/‖u₂‖ = (−0.316, 0.949)
1 / 4

v₁ = (3, 1), v₂ = (2, 3). 둘은 독립이지만 직교하지 않는다(v₁·v₂ = 9). 같은 평면을 직교하는 두 방향으로 다시 잡고 싶다.

그람–슈미트 과정. 벡터가 더 있으면 앞서 만든 q들 방향의 투영을 모두 빼고 남은 것을 정규화하기를 되풀이한다. 점선 원은 반지름 1이다.

3차원에서도 같다. (1, 1, 0), (1, 0, 1), (0, 1, 1)에서 시작하면 (0.707, 0.707, 0), (0.408, −0.408, 0.816), (−0.577, 0.577, 0.577)이 나온다. 정규 직교 기저를 열로 모은 행렬 Q는 QᵀQ = I라 역행렬이 전치 행렬이고, 길이와 각도를 바꾸지 않는다(회전·반사). 그람–슈미트를 행렬로 적은 것이 A = QR 분해다.

3차원에는 내적 말고 두 벡터에 모두 수직인 벡터를 내는 외적 a × b도 있다. 길이가 두 벡터가 만드는 평행사변형의 넓이이고, 면의 법선과 좌우 판정에 쓰는 모습은 게임 개발 수학 노트에 있다.

최소제곱: 맞지 않는 방정식의 가장 좋은 답

점 (0, 1), (1, 3), (2, 2), (3, 4)을 모두 지나는 직선 y = c + mx는 없다. 식이 넷인데 미지수는 c, m 둘이라, Ax = y(A의 행은 [1 xᵢ])에 해가 없다. 기하로 말하면 y가 A의 열공간 밖에 있다. 그렇다면 열공간에서 y와 가장 가까운 점, 곧 y의 투영을 답으로 삼는다. 이때 잔차 y − Ax̂는 열공간과 직교하므로 Aᵀ(y − Ax̂) = 0, 정리하면 정규 방정식 AᵀA·x̂ = Aᵀy다.

계산하면 AᵀA = [4 6; 6 14], Aᵀy = (10, 19)이고, 풀면 c = 1.3, m = 0.8다. 잔차 −0.3, 0.9, −0.9, 0.3의 제곱합 1.8이 이 직선보다 작은 직선은 없다. 잔차의 합이 0이고 잔차와 x의 내적도 0인 것이 직교 조건 그 자체다.

점 네 개와 그 사이를 지나는 직선, 그리고 각 점에서 직선까지의 세로 잔차. 오른쪽에 정규 방정식의 계산이 있다01231234−0.3+0.9−0.9+0.3A = [1 xᵢ], 미지수 (c, m)AᵀA = [4 6; 6 14]Aᵀy = (10, 19)AᵀA·(c, m) = Aᵀy 풀기→ y = 1.3 + 0.8x잔차 제곱합 1.8잔차 합 0, 잔차·x 합 0= 잔차가 A의 열과 직교
최소제곱 직선과 세로 잔차(빨강 점선). 오른쪽은 정규 방정식으로 계산한 과정이다. 잔차를 제곱해 더하므로 크게 벗어난 점에 끌려가기 쉽다.

선형 회귀가 바로 이 계산이고, 특징이 여러 개여도 A의 열이 늘어날 뿐 식은 같다. AᵀA를 직접 만들면 조건수가 제곱되어 오차가 커지므로, 라이브러리는 QR 분해나 SVD로 푼다. 특징끼리 거의 겹쳐 AᵀA가 특이에 가까울 때의 문제와 규제는 AI를 위한 수학 노트의 연립방정식과 계수 절에 있다.

고윳값과 고유벡터

변환을 해도 방향이 바뀌지 않고 길이만 λ배가 되는 벡터, 곧 Av = λv인 0이 아닌 v가 고유벡터이고 λ가 고윳값이다. (A − λI)v = 0에 0이 아닌 해가 있어야 하므로 A − λI가 특이, 곧 det(A − λI) = 0이다. A = [2 1; 1 2]이면 (2 − λ)² − 1 = λ² − 4λ + 3 = 0에서 λ = 3, 1이고, 고유벡터는 각각 (1, 1)과 (1, −1) 방향이다.

점선 단위원 위의 네 벡터와 A를 곱한 결과. 0°와 90° 벡터는 방향이 꺾이고, 45° 벡터는 같은 방향으로 3배, 135° 벡터는 그대로 1배다. 단위원은 대각선으로 늘어난 타원이 된다(2, 1)3배(1, 2)1배A = [2 1; 1 2]det(A − λI) = λ² − 4λ + 3 = 0λ = 3: v = (0.707, 0.707)λ = 1: v = (0.707, −0.707)A = PDP⁻¹, D = diag(3, 1)A¹⁰ = P·D¹⁰·P⁻¹= [29525 29524; 29524 29525]회색 화살표: 단위 벡터 v색 화살표: Av
A = [2 1; 1 2]가 단위 벡터(회색)를 보내는 곳(색). (1, 0)과 (0, 1)은 방향이 꺾이지만(빨강), 대각선 두 방향은 같은 직선 위에 머문다(파랑). 단위원은 고유벡터 방향으로 3배, 1배 늘어난 타원이 된다.

고유벡터로 기저를 바꾸면 행렬이 대각 행렬이 된다. A = PDP⁻¹(P의 열은 고유벡터, D는 고윳값을 대각선에 둔 행렬). 그러면 거듭제곱이 쉬워진다. Aⁿ = PDⁿP⁻¹이고 Dⁿ은 대각선만 n제곱하면 되므로, A¹⁰ = [29525 29524; 29524 29525]이 3¹⁰ = 59049에서 바로 나온다. 피보나치 수열도 (Fₙ₊₁, Fₙ) = [1 1; 1 0]·(Fₙ, Fₙ₋₁)로 쓰면 이 행렬의 고윳값 1.618(황금비)와 −0.618로 대각화되어, F₂₀ = 6765이 φ²⁰/√5를 반올림한 값과 같다.

모든 행렬이 실수 고윳값을 갖지는 않는다. 90° 회전 [0 −1; 1 0]은 어떤 방향도 그대로 두지 않으므로 실수 고유벡터가 없다(고윳값은 ±i). 반대로 대칭 행렬은 늘 실수 고윳값과 서로 직교하는 고유벡터를 가져, 회전 → 축마다 늘이기 → 되돌리기로 깔끔하게 분해된다(스펙트럼 정리). 자료의 공분산 행렬에 이를 쓴 것이 주성분 분석이고, 정사각이 아닌 행렬로 넓힌 것이 SVD다. 둘은 AI를 위한 수학 노트에서 다룬다.

큰 행렬의 고윳값은 특성 방정식으로 구하지 않는다. 가장 단순한 방법은 거듭제곱 반복이다. 아무 벡터에 A를 곱하고 길이를 1로 맞추기를 되풀이하면, 매번 가장 큰 고윳값 방향 성분이 다른 성분보다 |λ₁/λ₂|배씩 더 커져 결국 그 고유벡터만 남는다. 실제 수치 라이브러리는 이를 발전시킨 QR 알고리즘을 쓴다.

단위 벡터가 0도에서 출발해 26.6도, 38.7도, 42.9도, 44.3도로 돌며 점선으로 그린 45도 고유벡터 방향에 다가간다. 오른쪽 표에 각도와 고윳값 추정이 있다고유벡터 45°x₀x₁x₂x₃x₄k각도λ 추정00.0°2.0000126.6°2.8000238.7°2.9756342.9°2.9973444.3°2.9997
1 / 5

x₀ = (1, 0)에서 출발한다. 이 벡터는 고유벡터 (1, 1)/√2 성분과 (1, −1)/√2 성분을 반씩 섞은 것이다. 추정 고윳값(레일리 몫 xᵀAx)은 2.000.

거듭제곱 반복으로 A = [2 1; 1 2]의 가장 큰 고윳값 3 찾기. 수렴 속도는 두 고윳값의 비 1/3가 정한다. 웹 페이지 순위를 매기는 페이지랭크가 이 방법을 쓴다.

핵심 자료

자료요지링크
MIT OCW 18.06SC Linear Algebra (Gilbert Strang)연립방정식과 소거, 네 가지 부분 공간, 직교와 최소제곱, 행렬식, 고윳값, SVD까지 강의 영상과 문제 풀이로 공부하는 대표 강좌.MIT OpenCourseWare
Gilbert Strang — Introduction to Linear Algebra위 강좌의 교재. 열 그림(열의 선형 결합)과 네 부분 공간으로 선형대수 전체를 잇는다. 책 누리집에 장별 요약과 연습 문제가 있다.MIT 수학과
3Blue1Brown — Essence of linear algebra벡터·생성·선형 변환·행렬 곱·행렬식·고유벡터를 격자가 움직이는 애니메이션으로 보여 준다. 이 노트의 "행렬 = 변환" 관점이 여기서 왔다.3Blue1Brown
Interactive Linear Algebra (Margalit · Rabinoff)조지아 공대의 무료 온라인 교재. 생성·선형 독립·변환·고윳값을 직접 움직여 보는 그림과 함께 설명한다.Georgia Tech
Sheldon Axler — Linear Algebra Done Right행렬식을 뒤로 미루고 벡터 공간과 선형 사상에서 출발하는 증명 중심 교재. 4판을 무료(오픈 액세스)로 공개했다.저자 누리집
Wikipedia — Matrix chain multiplication곱하는 순서(괄호)에 따라 계산량이 달라지는 예와, 가장 싼 순서를 동적 계획법으로 찾는 문제.Wikipedia
Wikipedia — Transpose전치 행렬의 성질, 특히 곱의 전치가 순서를 뒤집은 (AB)ᵀ = BᵀAᵀ라는 것.Wikipedia
Wikipedia — Invertible matrix역행렬이 있을 조건들과 (AB)⁻¹ = B⁻¹A⁻¹ 같은 성질을 모은 항목.Wikipedia