1. 개요
| 고유값 문제 Eigenvalue Problem | |
|---|---|
| 표준형 | Ax = λx |
| 일반화형 | Ax = λBx |
| 조밀행렬 | QR 알고리즘(LAPACK) |
| 희소행렬 | 거듭제곱법, 란초스, 아놀디(ARPACK) |
| 섭동 한계 | 대칭 |Δλ| ≤ ‖ΔA‖ / 비대칭 κ(V)‖ΔA‖ |
| 등장 분야 | 모드 해석, 좌굴, 밴드 구조 |
행렬을 통과시켜도 방향이 안 바뀌는 벡터가 있다. 걔가 그 행렬의 본질이다.
고유값 문제(eigenvalue problem)는 정방행렬 에 대해 를 만족하는 스칼라 (고유값, eigenvalue)와 영벡터가 아닌 벡터 (고유벡터, eigenvector)를 찾는 문제다. 기하학적으로 고유벡터는 선형변환 를 가해도 방향이 바뀌지 않고 오직 배만큼 늘어나거나 줄어드는 특별한 방향이며, 고유값은 그 배율이다. 이 단순한 정의가 모드 해석, 좌굴, 밴드 구조 계산, 주성분 분석, 양자역학의 에너지 준위까지 온갖 수치해석 문제의 심장에 자리한다.
수학적으로는 특성방정식 의 근이 고유값이다. 하지만 이 다항식을 손으로 푸는 건 4×4만 넘어가도 지옥이고1, 수치적으로는 아예 하면 안 되는 짓이다(아래 § 검산에서 숫자로 확인한다). 실무에서는 전적으로 반복 알고리즘에 맡긴다. “고유값은 신에게 맡긴다”는 짤이 괜히 나온 게 아니다.
2. 표준 고유값 문제와 일반화 고유값 문제
가장 기본형은 표준 고유값 문제다.
그런데 유한요소법 기반 구조해석에서는 두 개의 행렬이 등장하는 일반화 고유값 문제(generalized eigenvalue problem)를 만난다.
진동 모드 해석에서는 가 강성행렬 , 가 질량행렬 이 되어 형태로 나타난다. 여기서 고유값 은 고유진동수의 제곱, 고유벡터 는 진동 모드 형상이다. 만약 가 대칭 양정치라면 촐레스키 분해 로 꼴의 표준형으로 바꿀 수 있지만, 실무 솔버는 대개 일반화형을 직접 다루는 알고리즘(LAPACK의 dsygv, QZ 알고리즘)을 쓴다.
손으로 끝까지 따라갈 수 있는 최소 예제가 하나 있다. 질량 두 개가 스프링 로 벽-질량-질량 순서로 묶인 2자유도 계는 , 이고, 고유값은
이다. 즉 — 황금비 와 그 역수가 그대로 튀어나온다2. 이 예제는 아래 § 검산에서 알고리즘 수렴률을 재는 눈금자로 쓴다.
대칭 행렬의 고유값은 항상 실수이고 고유벡터는 서로 직교한다. 구조·양자 문제의 행렬이 대부분 대칭(에르미트)인 것은 축복인데, 덕분에 안정적이고 빠른 전용 알고리즘을 쓸 수 있다.
3. 알고리즘: QR 반복부터 란초스까지
고유값을 구하는 수치 방법은 크게 조밀행렬용과 희소행렬용으로 나뉜다.
**QR 알고리즘**은 조밀행렬의 모든 고유값을 구하는 표준 도구다. 행렬을 QR 분해하고 순서를 뒤집어 곱하는 를 반복하면, 행렬이 점점 상삼각(대칭이면 대각) 형태로 수렴하며 대각 성분에 고유값이 드러난다. 실전에서는 먼저 하우스홀더 변환으로 헤센베르크(대칭이면 삼중대각) 형태로 줄인 뒤 시프트를 걸어 수렴을 가속한다 — 1961년 프랜시스(Francis)가 정리한 이 조합이 60여 년을 버틴 구조다. LAPACK이 이걸 극도로 최적화해 놨기 때문에, 수천 차원까지는 그냥 라이브러리를 부르면 끝난다3.
큰 희소행렬에서 고유값 몇 개만 필요할 때는 크리로프 부분공간법 계열이 답이다.
- 거듭제곱법(power iteration): 를 반복하면 절댓값이 가장 큰 고유값의 고유벡터로 수렴한다. 구글의 초기 페이지랭크가 바로 이 원리였다.
- 란초스 알고리즘: 대칭(에르미트) 행렬 전용. 크리로프 부분공간을 만들며 원 행렬을 작은 삼중대각 행렬로 사영해, 극단 고유값 몇 개를 빠르게 뽑는다. 밴드 구조 계산과 대규모 진동 해석의 주력.
- 아놀디 알고리즘: 비대칭 행렬용 일반화. 삼중대각이 아니라 헤센베르크 행렬로 사영되므로 3항 점화식이 깨지고 직교화 비용을 다 물어야 한다. ARPACK의 심장이 이것(정확히는 암시적 재시작 아놀디, IRAM)이며, 유체 유동의 선형 안정성 해석 등에 쓰인다.
- 역반복법과 shift-invert: 에 거듭제곱법을 걸면 에 가장 가까운 고유값이 가장 큰 고유값으로 바뀌어 먼저 수렴한다. 스펙트럼 내부의 특정 대역만 뽑는 표준 트릭이고, 대가는 매 반복 선형계 한 번( 또는 전처리 반복)이다.
행렬 전체를 다루지 않고 “행렬-벡터 곱 만 계산할 수 있으면 된다”는 점이 크리로프 방법의 강력함이다. 수백만 차원 희소행렬에서 저주파 모드 몇 개만 뽑는 문제가 이 방식으로 실용화된다.
4. 어디서 튀어나오는가: 모드·좌굴·밴드구조
고유값 문제가 특히 자주 출몰하는 세 현장이 있다.
진동 모드 해석: 구조물이 스스로 진동하려는 고유진동수와 그 모양(모드 형상)을 의 고유값·고유벡터로 얻는다. 외력 주파수가 고유진동수에 근접하면 공진(resonance)이 일어나 구조물이 박살 나므로, 설계 단계에서 반드시 확인한다. 타코마 다리 붕괴가 교과서적 반면교사다4.
좌굴 해석: 압축 하중을 받는 기둥·판이 어느 순간 갑자기 옆으로 휘어 무너지는 좌굴 임계하중은 형태의 일반화 고유값 문제로 구한다. 여기서 는 기하강성행렬, 최소 고유값 가 좌굴 안전계수, 고유벡터가 좌굴 모드 형상이다.
밴드 구조 계산: 결정 속 전자의 에너지 준위는 주기적 퍼텐셜에 대한 슈뢰딩거 방정식을 이산화한 일반화 고유값 문제 로 얻는다. 각 파수벡터 마다 고유값을 풀어 에너지-운동량 관계를 그린 것이 밴드 구조이며, 반도체가 도체인지 절연체인지가 여기서 판가름 난다. 밀도범함수이론 계산의 알맹이가 바로 이 고유값 문제 반복이다.
5. 검산
말로 “불안정하다”고 하면 안 믿는 사람이 많으니 숫자를 박아 둔다. 아래는 모두 배정밀도로 직접 돌린 결과다.
특성방정식을 풀면 안 되는 이유. 윌킨슨(Wilkinson)의 고전적 반례5는 다. 고유값(=근)은 정수 1부터 20까지로 완벽하게 떨어져 있다. 여기서 계수 에 만 더한다 — 상대 섭동 , 배정밀도 반올림보다 겨우 몇 자리 큰 양이다. 결과:
| 원래 근 | 섭동 후 |
|---|---|
| 1 ~ 6 | 변화 없음 (소수 4자리까지 동일) |
| 8, 9 | 8.0072, 8.9173 |
| 10, 11 | 10.0953 ± 0.6436i (복소쌍) |
| 16, 17 | 16.7307 ± 2.8126i |
| 20 | 20.8469 |
정수 근 열 개가 복소 평면으로 날아갔다. 반면 같은 고유값을 갖는 대각행렬 에 같은 크기의 섭동을 주면 고유값은 수준으로만 움직인다. 즉 나쁜 것은 고유값이 아니라 다항식 계수라는 표현이다.
대칭이 얌전한 이유. 대칭(에르미트)이면 바일(Weyl)의 부등식으로 가 보장된다. 증폭 계수가 1이다. 일반(대각화 가능) 행렬에서는 바우어-파이크 정리가 를 줄 뿐이고, 여기서 는 고유벡터 행렬의 조건수다. 에서 이면 — 고유값이 가까워질수록 고유벡터가 평행해지고 그만큼 증폭된다.
결함행렬의 법칙. 극단은 고유벡터가 아예 부족한 경우다. 조르당 표준형 블록의 모서리에 을 넣으면 고유값은 만큼 흩어진다. , (배정밀도 반올림!)이면 — 입력 오차를 배 증폭한 것이다. 비정규 행렬에서 고유값 하나하나를 신뢰하지 말라는 경고가 여기서 나온다.
수렴률은 고유값 간격이 정한다. 앞의 2자유도 예제 에 거듭제곱법을 걸고 레일리 몫 으로 고유값을 추정하면, 대칭이므로 오차가 비 로 줄어야 한다. 실측: 1스텝 → 2스텝 (비 0.0215) → 5스텝 → 10스텝에 배정밀도 한계. 이론과 실측이 세 자리까지 맞는다. 고유값이 뭉쳐 있으면() 이 비가 1에 붙어 수렴이 기어간다는 뜻이기도 하다 — shift-invert가 필요한 진짜 이유다.
6. 수치적 주의사항
- 특성방정식을 직접 풀지 마라. 위 윌킨슨 예제가 답이다. 반드시 QR·란초스 같은 반복법을 쓴다. 역설적으로 QR 알고리즘은 컴패니언 행렬을 거쳐 다항식 근 찾기에 쓰이는 쪽이 더 안전하다.
- 결함행렬(defective matrix). 고유값이 중복되면 고유벡터가 부족해 대각화가 불가능하고, 이 경우 조르당 표준형을 써야 한다. 다만 조르당 형태는 수치적으로 계산 불가능에 가까워, 실무에서는 슈어 분해로 우회한다.
- 고유벡터는 고유값보다 민감하다. 고유값 자체는 후진 오차 해석 관점에서 안정적으로 나와도, 두 고유값이 가까우면 그 둘이 펼치는 부분공간만 신뢰할 수 있고 개별 고유벡터는 둘 사이에서 자유롭게 섞인다. 모드 형상 하나를 들고 와서 해석하기 전에 고유값 간격을 먼저 본다.
- 수렴 판정. 크리로프 방법은 요구하는 고유값 개수와 전처리기, 재시작 전략에 따라 성능이 천차만별이다. 잔차 는 싸게 구할 수 있으니 반드시 확인하고, 내부 고유값이 필요하면 ARPACK의 shift-invert 모드를 쓴다.
7. 관련 문서
- 모드 해석 · 좌굴
- 밴드 구조 계산 · 밀도범함수이론
- 강성행렬 · 유한요소법
- QR 알고리즘 · 하우스홀더 변환
- 거듭제곱법 · 역반복법 · 레일리 몫
- 란초스 알고리즘 · 아놀디 알고리즘
- 크리로프 부분공간법 · 희소행렬
- 조르당 표준형 · 비정규 행렬 · 조건수
- LAPACK · ARPACK
- LU 분해 · 촐레스키 분해 · 가우스 소거법
- 슈뢰딩거 방정식 · 주성분 분석 · 특이값 분해
8. Footnotes
-
5차 이상 다항식은 근의 공식이 존재하지 않는다(아벨-루피니 정리). 즉 5×5 행렬부터는 고유값을 유한 번의 사칙연산과 거듭제곱근으로 표현하는 것 자체가 원리적으로 불가능하다. 반복법이 선택이 아니라 필연인 이유. ↩
-
우연이 아니다. 특성방정식이 이고, 을 쓰면 임이 바로 나온다. 2자유도 숙제에서 이 보이면 계산을 맞게 한 것이니 안심해도 된다. ↩
-
numpy.linalg.eig한 줄이 사실은 수십 년간 다져진 LAPACK의dgeev/dsyev를 부르는 것이다. 이 한 줄 뒤에 하우스홀더 변환과 시프트 QR과 밸런싱이 숨어 있다. 편함에 감사하며 살자. ↩ -
흔히 공진으로만 설명되지만 실제 타코마 붕괴는 플러터(flutter)라는 유체-구조 연성 불안정에 가깝다. 그래도 “고유진동수 근처는 위험하다”는 교훈 자체는 유효하다. 학부 강의의 단골 낚시. ↩
-
윌킨슨 본인이 이 다항식을 “perfidious polynomial”(배신하는 다항식)이라 불렀다. 근이 깔끔한 정수인데도 계수 표현이 배신한다는 뜻이다. 교훈: 수학적으로 동등한 두 표현이 수치적으로 동등하다는 보장은 전혀 없다. ↩
이 문서의 주요 출처
- Francis (1961), The QR Transformation: A Unitary Analogue to the LR Transformation - Part 1, Comput. J. 4(3), 265-271
- Lanczos (1950), An Iteration Method for the Solution of the Eigenvalue Problem of Linear Differential and Integral Operators, J. Res. Natl. Bur. Stand. 45, 255-282
- Arnoldi (1951), The Principle of Minimized Iterations in the Solution of the Matrix Eigenvalue Problem, Quart. Appl. Math. 9(1), 17-29
- Bauer & Fike (1960), Norms and Exclusion Theorems, Numer. Math. 2, 137-141
- Anderson et al., LAPACK Users' Guide, 3rd ed. (SIAM, 1999) - 2.3 대칭/비대칭 고유문제 드라이버 루틴
- Lehoucq, Sorensen & Yang, ARPACK Users' Guide (SIAM, 1998) - 암시적 재시작 아놀디와 shift-invert 모드
의견을 반영할게요. 감사합니다.