← --library
이과 · 02이과

선형대수학 및 텐서 해석

Linear Algebra & Tensors

단계1단계2단계3단계4단계5

선형대수학 2단계: 고유값·대각화·직교화·최소제곱법


1부. 이론적 기초 — 왜 이 개념들이 존재하는가?

변환의 "고집스러운 방향"이라는 아이디어

1단계에서 너는 행렬을 **선형 변환(Linear Transformation)**으로 이해하는 법을 배웠다. 행렬 는 어떤 벡터 를 받아서 새로운 벡터 로 보낸다. 대부분의 벡터는 변환 후 방향이 완전히 바뀐다. 그런데 자연 속에는 — 그리고 수학 속에도 — 변환을 해도 방향이 바뀌지 않는 특별한 벡터들이 존재한다. 스케일(크기)만 바뀌고, 벡터가 가리키는 방향 자체는 그대로다. 이것이 바로 **고유벡터(Eigenvector)**의 핵심 아이디어다. "Eigen"이라는 단어는 독일어로 "자기 자신의(own)"라는 뜻이다. 즉 고유벡터란, 변환 행렬 에 대해 자기 자신의 방향을 고수하는 벡터다.

이 아이디어를 아주 구체적으로 상상해보자. 기타 줄을 손가락으로 튕기면 수천 가지 진동이 동시에 일어나는 것처럼 보이지만, 실제로는 그 진동이 특정 주파수(고유 주파수)들의 합성이다. 각각의 고유 주파수가 "방향을 고집하는 방식"으로 진동하고, 다른 주파수와 섞이지 않는다. 양자역학에서 전자의 에너지 레벨도, 교량의 공진 주파수도, 구글의 PageRank 알고리즘도 — 모두 이 고유값·고유벡터 개념으로 설명된다(Strang, Linear Algebra and Its Applications, 4th ed., Chapter 6).

[노트 기록] 핵심 직관: 행렬 에 의한 변환에서, "방향이 안 바뀌고 크기만 λ배로 바뀌는 벡터 v"가 고유벡터다. 기호로:

직교성이 왜 그렇게 강력한가?

이제 다른 질문을 해보자. 너는 지금 3D 공간에서 축, 축, 축이 서로 수직(직교)인 덕분에 얼마나 계산이 편한지 당연하게 여기고 있다. 만약 기저 벡터들이 서로 비스듬히 놓여 있다면? 한 방향으로의 이동이 다른 방향에 영향을 주기 때문에 계산이 극적으로 복잡해진다. 공학자와 수학자들은 이 교훈을 일반화해서, 어떤 벡터들의 집합도 서로 직교하는 집합으로 바꿀 수 있는 체계적인 알고리즘을 만들었다. 그것이 **그람-슈미트 직교화(Gram-Schmidt Orthogonalization)**다. Jørgen Pedersen Gram(1882)과 Erhard Schmidt(1907)의 이름을 딴 이 방법은, 임의의 선형 독립 벡터 집합을 받아 정규 직교 기저(orthonormal basis)로 바꾸어준다.

직교성의 또 다른 실용적 힘은 **투영(Projection)**에서 나온다. 어떤 직선 위에 점 하나를 "수직으로 내려뜨린다"는 개념 — 이것이 최소제곱법의 기하학적 핵심이다. 실험 데이터는 항상 오차를 품고 있어서, 정확한 해가 존재하지 않는 연립방정식이 된다. 이때 "가장 덜 틀린 해"를 찾는 방법이 **최소제곱법(Least Squares)**이다. 통계학의 회귀분석(regression), 기계학습의 선형 모델, GPS 위치 추정 — 모두 이 원리에서 출발한다(Golub & Van Loan, Matrix Computations, 4th ed.).


2부. 본 내용 — 개념과 기술적 세부사항

고유값과 고유벡터: 정의에서 계산까지

정의를 다시 명확히 쓴다. 행렬 에 대해, 영벡터가 아닌 벡터 와 스칼라 가 다음을 만족할 때: 고유벡터, 를 **고유값(Eigenvalue)**이라 한다. 이 식을 변형하면 이 되는데, 여기서 이라는 조건을 위해서는 행렬 역행렬을 가지면 안 된다. 1단계에서 배운 것을 기억해라 — 역행렬이 없다는 것은 과 동치다.

이것을 **특성방정식(Characteristic Equation)**이라 한다. 이 방정식을 풀어서 나오는 값들이 고유값이고, 각 에 대입해서 나오는 해공간이 **고유공간(Eigenspace)**이다.

[노트 기록] 2×2 예시 전체 과정: 특성방정식: 따라서 . 일 때: 일 때: 비슷하게 →

중요한 검산 습관을 반드시 가져라. 를 구한 후, 반드시 에 대입해서 양변이 같은지 확인해라. 위 예에서 — 맞다. 이 검산을 빠뜨리면 부호 실수나 계산 실수를 잡아내지 못한다. 고유값과 고유벡터 계산에서 가장 흔한 실수는 대신 를 쓰거나, 가우스 소거 중에 부호를 틀리는 것이다. 풀고 나서 반드시 한 번 대입 검산하는 것을 원칙으로 삼아라.

행렬의 대각화

고유값과 고유벡터를 구하는 이유의 핵심은 **대각화(Diagonalization)**다. 만약 행렬 개의 선형 독립인 고유벡터 을 가진다면, 이 고유벡터들을 열로 가지는 행렬 을 구성하면: 이 성립한다. 는 대각선에 고유값만 있는 **대각 행렬(Diagonal Matrix)**이다. 대각 행렬이 왜 좋냐면 — 거듭제곱 계산을 보라: 를 100번 곱하는 것이 를 100번 곱하는 것으로 단순해진다. 이것이 대각화의 힘이다.

대각화 가능 조건은 즉시 판단할 수 있어야 한다. 행렬 가 대각화 가능(diagonalizable)하려면, 행렬이 개의 선형 독립인 고유벡터를 가져야 한다. 각 고유값에 대해, 대수적 중복도(algebraic multiplicity, 특성방정식에서 근의 중복 횟수)와 기하학적 중복도(geometric multiplicity, 고유공간의 차원)가 같아야 한다. 만약 대수적 중복도가 기하학적 중복도보다 크다면, 그 행렬은 대각화 불가능이다. 이런 행렬을 **결함 행렬(Defective Matrix)**이라 한다.

[노트 기록] 대각화 가능 판별 체크리스트: (1) 특성방정식을 풀어 모든 고유값을 구한다. (2) 중복 고유값이 있으면 각 고유값의 고유공간 차원을 계산한다. (3) 모든 고유값에서 dim(eigenspace) = algebraic multiplicity이면 → 대각화 가능. 하나라도 작으면 → 대각화 불가능.

대칭행렬의 특별한 보장: 실수 성분의 대칭행렬 는 항상 (1) 모든 고유값이 실수이고 (2) 서로 다른 고유값에 대한 고유벡터들이 직교한다. 따라서 대칭행렬은 항상 직교 대각화(orthogonal diagonalization)가 가능하다. 이것을 **스펙트럼 정리(Spectral Theorem)**라 한다. 물리학에서 관측 가능한 양(에너지, 위치)을 나타내는 행렬이 반드시 에르미트(실수의 경우 대칭) 행렬이어야 하는 이유가 바로 이 보장 때문이다 — 측정값이 복소수일 수는 없으니까.

내적 공간과 직교성

"두 벡터가 직교한다"는 것의 수학적 정의는 **내적(Inner Product)**을 통해 만들어진다. 실수 공간 에서 두 벡터 의 내적은: 그리고 두 벡터가 **직교(orthogonal)**하다는 것은 을 의미한다. 벡터의 **노름(norm)**은 이며, 노름이 1인 벡터를 **단위벡터(unit vector)**라 한다. 서로 직교하면서 각자 단위벡터인 집합을 **정규 직교 집합(Orthonormal Set)**이라 한다.

내적의 중요한 기하학적 해석: . 즉 내적은 두 벡터 사이의 각도 정보를 담고 있다. 이면 이므로 내적이 0 — 이것이 직교의 수학적 정의다.

직교 행렬(Orthogonal Matrix): 열들이 정규 직교인 행렬 , 즉 라는 아름다운 성질을 가진다. 역행렬을 구하는 복잡한 계산이 전치 행렬로 대체된다. 직교 행렬에 의한 변환은 길이와 각도를 보존한다 — 회전(rotation)과 반사(reflection)가 바로 이런 변환이다.

그람-슈미트 직교화: 단계별 알고리즘

선형 독립인 벡터들의 집합 가 주어졌을 때, 이를 정규 직교 집합 으로 바꾸는 과정이다.

[노트 기록] 그람-슈미트 알고리즘:

1단계: , 정규화:

2단계: 에서 방향의 성분을 빼낸다.

3단계: 에서 방향의 성분을 모두 빼낸다.

이 과정을 반복한다. 핵심 아이디어는 "새 벡터에서 이미 직교화된 방향들의 그림자를 모두 지운다"는 것이다. 실수 방지 포인트: 정규화(÷ 노름)는 반드시 각 단계에서 로 바꾼 후 다음 단계에 사용해야 한다. 정규화하지 않은 를 다음 단계에서 사용하면 공식의 계수가 틀어진다.

그람-슈미트 과정은 사실 **QR 분해(QR Decomposition)**와 직결된다. 행렬 의 열들에 그람-슈미트를 적용하면 이 되는데, 는 정규 직교 열을 가지고 은 상삼각(upper triangular) 행렬이다. 이것은 5단계에서 다시 만날 개념이다.

최소제곱법: 해가 없는 방정식의 "최선의 해"

개의 방정식과 개의 미지수로 이루어진 연립방정식 에서, (방정식이 미지수보다 많은 과결정 시스템, overdetermined system)이면 일반적으로 정확한 해는 존재하지 않는다. 실험 데이터에서 항상 이 상황이 벌어진다 — 측정점이 100개인데 우리가 찾으려는 직선의 매개변수는 2개뿐이므로. 이때 우리가 찾는 것은 잔차(residual) 의 노름을 최소화하는 , 즉 다.

기하학적으로 이해해보자. 가 가질 수 있는 모든 벡터의 집합은 의 **열공간(Column Space)**이다. 벡터 는 이 열공간 안에 없을 수도 있다. 열공간 안에서 에 가장 가까운 점은 를 열공간에 **수직으로 투영(project)**한 점이다. 이 투영된 점을 라 하면, 잔차 의 열공간에 수직이어야 한다. 즉 의 모든 열 에 대해 , 행렬 표기로:

이것을 **법선 방정식(Normal Equation)**이라 한다. 가 역행렬을 가지면(= 의 열들이 선형 독립이면) 유일한 최소제곱 해 가 존재한다.

[노트 기록] 최소제곱 핵심 구조:

  • 문제: (, , 해 없음)
  • 법선 방정식:
  • 해: (의 열이 선형독립일 때)
  • 기하학적 의미: 의 열공간에 투영한 점을 만드는 계수다.

실제 응용: 2차원 데이터점들 에 직선 를 fitting할 때, 이것은 정확히 최소제곱 문제다. 개의 점에 대해 , , 로 쓰면, 법선 방정식을 풀어 최적 기울기 와 절편 를 얻는다. 이것이 통계학에서 배우는 **선형회귀(Linear Regression)**의 수학적 본질이다.


3부. 프로젝트 — 스스로 부딪혀라

다음 문제들은 순서대로 풀어라. 정답은 주어지지 않는다. 각 문제를 충분히 씨름한 후 다음으로 넘어가라. 막히면 힌트에 있는 개념을 다시 2부에서 찾아 읽어라. 전체 풀이 예상 시간은 약 40분이다.


프로젝트 A. 고유값·고유벡터·대각화 (약 15분)

[문제 A-1] 다음 행렬 의 고유값과 고유벡터를 구하라. 그리고 고유벡터들이 서로 직교하는지 내적을 계산해서 확인하라. 마지막으로, "왜 이 행렬은 직교 고유벡터를 반드시 가지는가?"를 2부의 개념과 연결해서 한 문장으로 설명하라.

[문제 A-2] 다음 두 행렬 중 어느 것이 대각화 가능한지 판별하라. 판별 결과를 위의 체크리스트에 따라 단계별로 논증하고, 대각화 가능한 행렬에 대해서는 실제로 , 를 구성하라. 힌트: 중복 고유값을 가진 경우 고유공간의 차원을 반드시 계산하라.

[문제 A-3] 대각화 가능한 행렬 에 대해 (이 행렬의 고유값과 고유벡터는 2부 예시에서 구해두었다), 을 이용해 계산하라. 직접 를 10번 곱하는 것보다 왜 이 방법이 훨씬 효율적인지 계산 횟수 측면에서 논하라.


프로젝트 B. 그람-슈미트 직교화 (약 10분)

[문제 B-1] 다음 벡터들에 그람-슈미트 과정을 적용하여 정규 직교 집합을 구하라. 각 단계에서 정규화를 빠뜨리지 마라. 마지막에 구한 세 벡터의 모든 내적 쌍(, , )이 0인지 검산하라.

[문제 B-2] 위 B-1에서 구한 를 열로 가지는 행렬 를 만들어라. 를 직접 계산하고 결과가 무엇인지 말하라. 이 결과로부터 을 구하는 가장 빠른 방법은 무엇인가?


프로젝트 C. 최소제곱법 — 데이터 피팅 (약 15분)

어떤 센서가 다음과 같은 측정값을 출력했다. 시간 에 따른 온도 의 데이터다:

(초) 1 2 3 4
(°C) 3.1 4.9 7.2 8.8

[문제 C-1] 이 데이터에 선형 모델 를 fitting하려 한다. 행렬 와 벡터 를 설정하고, 법선 방정식 를 세워라. (여기서 )

[문제 C-2] C-1에서 세운 법선 방정식을 풀어서 최적 기울기 와 절편 를 구하라. 행렬이므로 1단계에서 배운 역행렬 공식(의 경우)을 사용해라.

[문제 C-3] 일 때 센서가 를 측정했다. 너의 모델이 예측하는 값과 실제 측정값의 차이(잔차)를 계산하라. 이 잔차가 발생하는 이유를 "열공간에의 투영"이라는 개념으로 설명하라.

[문제 C-4 — 심화] 만약 이 데이터에 선형 모델 대신 이차 모델 를 fitting하려 한다면, 행렬 는 어떻게 바뀌어야 하는가? 새 를 설정하라. (풀이는 필요 없고, 행렬 구조만 제시해도 된다. 왜 이것도 여전히 최소제곱 문제인지 한 문장으로 설명하라.)


프로젝트 D. 통합 — 고유값과 시스템 안정성 (약 5분, 깊이 생각하기)

[문제 D-1] 어떤 동역학 시스템의 상태가 매 스텝마다 행렬 에 의해 업데이트된다고 하자. 즉 . 의 고유값을 구하고, 일 때 가 어떤 벡터로 수렴하는지, 혹은 발산하는지를 고유값의 크기를 근거로 논증하라. (힌트: 에서 이면 이다. 각 고유값의 절댓값을 확인하라.)


4부. 평가 기준

이 2단계에서 네 답안은 다음 기준으로 평가된다. 스스로 채점해보라.

고유값 연산 정확도 (30점): 특성방정식을 올바르게 세웠는가? 고유값을 정확히 구했는가? 고유벡터를 구하고 반드시 검산을 수행했는가?

대각화 판단 능력 (20점): 체크리스트에 따라 단계적으로 판별했는가? 결함 행렬(defective matrix)을 올바르게 식별했는가? 결론을 명확하게 진술했는가?

최소제곱 응용력 (30점): 법선 방정식을 올바르게 유도했는가? 데이터로부터 를 올바르게 설정했는가? 기하학적 의미(투영)를 언어로 설명할 수 있는가?

보고서 논리 (20점): 계산 결과를 단순 나열하지 않고 개념과 연결해 설명했는가? 각 단계에서 "왜?"라는 질문에 답했는가? 2부의 개념 용어를 정확하게 사용했는가?


마지막 말: 오늘 배운 세 가지 — 고유값 분해, 직교화, 최소제곱 — 는 사실 하나의 거대한 이야기를 이루고 있다. 행렬을 고유벡터 기저로 표현하면 대각화가 되고(계산이 쉬워지고), 그 기저가 직교하면 더욱 아름다운 구조를 얻으며(스펙트럼 정리), 방정식의 해가 없을 때는 직교 투영이 최선의 해를 준다(최소제곱). 3단계에서 만날 SVD와 PCA는 이 세 아이디어를 하나의 강력한 분해(decomposition)로 통합한다. 지금 여기서 흔들리지 않아야 그 다음이 보인다.

← 단계 1단계 3