| 고유값 문제 Eigenvalue Problem | |
|---|---|
| 표준형 | $A\mathbf{x} = \lambda \mathbf{x}$ |
| 일반화형 | $A\mathbf{x} = \lambda B\mathbf{x}$ |
| 주요 알고리즘 | QR 반복, 랭초스, 아놀디, 멱승법 |
| 등장 분야 | 모드 해석, 좌굴, 밴드 구조 |
1. 개요[편집]
행렬을 통과시켜도 방향이 안 바뀌는 벡터가 있다. 걔가 그 행렬의 본질이다.
고유값 문제(eigenvalue problem)는 정방행렬 에 대해 를 만족하는 스칼라 (고유값, eigenvalue)와 영벡터가 아닌 벡터 (고유벡터, eigenvector)를 찾는 문제다. 기하학적으로 고유벡터는 선형변환 를 가해도 방향이 바뀌지 않고 오직 배만큼 늘어나거나 줄어드는 특별한 방향이며, 고유값은 그 배율이다. 이 단순한 정의가 모드 해석, 좌굴, 밴드 구조 계산, 주성분 분석, 양자역학의 에너지 준위까지 온갖 시뮬레이션 문제의 심장에 자리한다.
수학적으로는 특성방정식 의 근이 고유값이다. 하지만 이 다항식을 손으로 푸는 건 4×4만 넘어가도 지옥이라1, 실무에서는 전적으로 수치 알고리즘에 맡긴다. “고유값은 신에게 맡긴다”는 짤이 괜히 나온 게 아니다.
2. 표준 고유값 문제와 일반화 고유값 문제[편집]
가장 기본형은 표준 고유값 문제다.
그런데 유한요소법 기반 구조해석에서는 두 개의 행렬이 등장하는 일반화 고유값 문제(generalized eigenvalue problem)를 만난다.
진동 모드 해석에서는 가 강성행렬 , 가 질량행렬 이 되어 형태로 나타난다. 여기서 고유값 은 고유진동수의 제곱, 고유벡터 는 진동 모드 형상이다. 만약 가 대칭 양정치라면 콜레스키 분해로 표준형으로 변환할 수 있지만, 실무 솔버는 대개 일반화형을 직접 다루는 알고리즘을 쓴다.
대칭 행렬의 고유값은 항상 실수이고 고유벡터는 서로 직교한다. 구조·양자 문제의 행렬이 대부분 대칭(에르미트)인 것은 축복인데, 덕분에 안정적이고 빠른 전용 알고리즘을 쓸 수 있다.
3. 알고리즘: QR 반복부터 랭초스까지[편집]
고유값을 구하는 수치 방법은 크게 조밀행렬용과 희소행렬용으로 나뉜다.
QR 알고리즘은 조밀행렬의 모든 고유값을 구하는 표준 도구다. 행렬을 QR 분해하고 순서를 뒤집어 곱하는 를 반복하면, 행렬이 점점 상삼각(대칭이면 대각) 형태로 수렴하며 대각 성분에 고유값이 드러난다. 실전에서는 먼저 헤센베르크(또는 삼중대각) 형태로 변환한 뒤 시프트를 걸어 수렴을 가속한다. LAPACK이 이걸 극도로 최적화해 놨기 때문에, 수천 차원까지는 그냥 라이브러리를 부르면 끝난다2.
큰 희소행렬에서 고유값 몇 개만 필요할 때는 크리로프 부분공간법 계열이 답이다.
- 멱승법(power iteration): 를 반복하면 절댓값이 가장 큰 고유값의 고유벡터로 수렴한다. 구글의 초기 페이지랭크가 바로 이 원리였다.
- 랭초스(Lanczos) 알고리즘: 대칭(에르미트) 행렬 전용. 크리로프 부분공간을 만들며 원 행렬을 작은 삼중대각 행렬로 사영해, 극단 고유값 몇 개를 빠르게 뽑는다. 밴드 구조 계산과 대규모 진동 해석의 주력.
- 아놀디(Arnoldi) 알고리즘: 비대칭 행렬용 일반화. 유명한 ARPACK 라이브러리의 심장이며, 유동 안정성 해석 등에 쓰인다.
행렬 전체를 다루지 않고 “행렬 곱 만 계산할 수 있으면 된다”는 점이 크리로프 방법의 강력함이다. 수백만 차원 희소행렬에서 저주파 모드 몇 개만 뽑는 문제가 이 방식으로 실용화된다.
4. 어디서 튀어나오는가: 모드·좌굴·밴드구조[편집]
고유값 문제가 특히 자주 출몰하는 세 현장이 있다.
진동 모드 해석: 구조물이 스스로 진동하려는 고유진동수와 그 모양(모드 형상)을 의 고유값·고유벡터로 얻는다. 외력 주파수가 고유진동수에 근접하면 공진이 일어나 구조물이 박살 나므로, 설계 단계에서 반드시 확인한다. 타코마 다리 붕괴가 교과서적 반면교사다3.
좌굴 해석: 압축 하중을 받는 기둥·판이 어느 순간 갑자기 옆으로 휘어 무너지는 좌굴 임계하중은 형태의 일반화 고유값 문제로 구한다. 여기서 는 기하강성행렬, 최소 고유값 가 좌굴 안전계수, 고유벡터가 좌굴 모드 형상이다.
밴드 구조 계산: 결정 속 전자의 에너지 준위는 주기적 퍼텐셜에 대한 슈뢰딩거 방정식을 이산화한 일반화 고유값 문제 로 얻는다. 각 파수벡터 마다 고유값을 풀어 에너지-운동량 관계를 그린 것이 밴드 구조이며, 반도체가 도체인지 절연체인지가 여기서 판가름 난다. 밀도범함수이론 계산의 알맹이가 바로 이 고유값 문제 반복이다.
5. 조건수와 수치적 주의사항[편집]
고유값 문제는 순진하게 접근하면 배신당하기 쉽다. 특히 다음에 유의해야 한다.
- 특성방정식을 직접 풀지 마라. 다항식 근 찾기는 수치적으로 극도로 불안정하다(윌킨슨의 악명 높은 다항식 예제가 이를 증명한다). 반드시 QR·랭초스 같은 반복법을 쓴다.
- 결함행렬(defective matrix). 고유값이 중복되면 고유벡터가 부족해 대각화가 불가능하고, 이 경우 조르당 표준형을 써야 한다. 비대칭 문제에서 이런 함정이 도사린다.
- 조건수. 비대칭 행렬은 고유값이 입력 섭동에 민감할 수 있어, 작은 수치 오차가 고유값을 크게 흔든다. 대칭 문제가 훨씬 얌전한 것은 이 때문이다.
- 수렴 판정. 크리로프 방법은 요구하는 고유값 개수와 전처리기, 재시작 전략에 따라 성능이 천차만별이다. ARPACK의 shift-invert 모드가 내부 고유값을 뽑는 표준 트릭이다.
6. 관련 문서[편집]
7. Footnotes[편집]
-
5차 이상 다항식은 근의 공식이 존재하지 않는다(아벨-루피니 정리). 즉 5×5 행렬부터는 고유값을 유한 번의 사칙연산과 거듭제곱근으로 표현하는 것 자체가 원리적으로 불가능하다. 반복법이 선택이 아니라 필연인 이유. ↩
-
numpy.linalg.eig한 줄이 사실은 수십 년간 다져진 LAPACK의dgeev/dsyev를 부르는 것이다. 이 한 줄 뒤에 하우스홀더 변환과 시프트 QR과 발라스 스케일링이 숨어 있다. 편함에 감사하며 살자. ↩ -
흔히 공진으로만 설명되지만 실제 타코마 붕괴는 플러터(flutter)라는 유체-구조 연성 불안정에 가깝다. 그래도 “고유진동수 근처는 위험하다”는 교훈 자체는 유효하다. 학부 강의의 단골 낚시. ↩