행렬 균형
- 업데이트 날짜:2025-07-30
- 2분 (읽기 시간)
고유값과 고유벡터 계산의 정확도를 높이기 위해 일반적인 입력 행렬에 대해 균형잡힌 행렬을 출력합니다. 데이터를 행렬 배열 입력에 연결하여 사용할 다형성 인스턴스를 결정하거나 인스턴스를 수동으로 선택합니다.
[고유값과 고유벡터] VI를 사용하여 균형된 행렬의 고유값과 고유벡터를 얻을 수 있습니다.

다음 유사 변환 중 하나 또는 양쪽 모두를 사용하여 행렬 A의 균형을 만들고 고유값과 고유벡터 계산의 정확도를 개선할 수 있습니다:
- 행렬 A를 상위 삼각형 형태의 블록으로 치환합니다.
- 행렬 A'를 스케일하여 행렬 A'22의 노름을 감소시킵니다.
행렬 A 치환
다음 식은 행렬 A의 상위 삼각형 형태의 블록으로 치환을 정의합니다.

이 때 P는 치환 행렬, A'11과 A'33는 상위 삼각형, PT는 P의 전치행렬입니다.
A'11과 A'33의 대각 원소는 A의 고유값입니다. 가운데 대각 블록 A'22는 A'에 대해 열(행)의 낮은 인덱스에서 시작하여 열(행)의 높은 인덱스에서 끝납니다. A의 적절한 치환이 존재하지 않는 경우, 다음 조건은 참입니다:
- A'22는 A의 전체입니다.
- 낮은 인덱스 = 0.
- 높은 인덱스 = n - 1.
행렬 A' 스케일링
다음 식은 행렬 A'22의 노름을 감소시키기 위한 행렬 A' 의 스케일링을 정의합니다.

따라서 ||A"22|| < ||A'22||이 되며, 이에 따라 고유값과 고유벡터 계산의 정확도에 대한 반올림 에러의 영향을 감소시킵니다.
다음 블록다이어그램은 행렬 A의 고유값과 고유벡터를 계산하는 VI에 [행렬 균형] VI와 [원래의 고유벡터로 변환] VI를 사용하는 것을 나타냅니다.
