고유값과 고유벡터 계산의 정확도를 높이기 위해 일반적인 입력 행렬에 대해 균형잡힌 행렬을 출력합니다. 데이터를 행렬 배열 입력에 연결하여 사용할 다형성 인스턴스를 결정하거나 인스턴스를 수동으로 선택합니다.

[고유값과 고유벡터] VI를 사용하여 균형된 행렬의 고유값과 고유벡터를 얻을 수 있습니다.


icon

입력/출력

  • c2ddbl.png 입력 행렬

    입력 행렬은 균형을 잡기 위한 실수 일반 행렬입니다.

  • cu16.png 작업

    작업은 행렬 균형 연산의 타입을 지정합니다.

    0치환과 스케일이 모두 안됨
    1치환은 되지만 스케일은 안됨
    2스케일은 되지만 치환은 안됨
    3치환과 스케일이 모두 됨(기본)
  • i2ddbl.png 균형된 행렬

    균형된 행렬입력 행렬과 같은 고유값을 포함합니다.

  • ii32.png 낮은 인덱스

    낮은 인덱스균형된 행렬의 형태를 나타냅니다.

    균형 행렬(i, j) = i > j , 0 ≤ j < 인덱스 낮음인경우 0입니다. 작업치환과 스케일이 모두 안됨이나 스케일은 되지만 치환은 안됨으로 설정하는 경우, 낮은 인덱스는 0이 됩니다.

  • ii32.png 높은 인덱스

    높은 인덱스균형된 행렬의 형태를 나타냅니다.

    I > j이고 인덱스가 높으면 균형 행렬( i , j) = 0, 인덱스가 낮으면 n - 1입니다. 작업치환과 스케일이 모두 안됨이나 스케일은 되지만 치환은 안됨으로 설정하는 경우, 높은 인덱스n – 1이 됩니다.

  • ii32.png 에러

    에러는 VI로부터 모든 에러 또는 경고를 반환합니다. 에러[에러 코드를 에러 클러스터로] VI에 연결하여 에러 코드 또는 경고를 에러 클러스터로 변환할 수 있습니다.

  • i1ddbl.png 스케일

    스케일은 순열과 스케일링 전환율에 대한 세부사항을 반환합니다.

    p_j가 행과 j번째 열로 바뀐 행과 열의 인덱스이고 d_j가 행과 j번째 열의 균형을 잡는데 사용된 스케일링 전환율인 경우, 다음 방정식은 VI가 어떻게 스케일의 값을 계산하는지를 정의합니다. J = 0, 1, ...,ilo - 1,ihi + 1, ..., n - 1의 경우Scalej =pj j =ilo,ilo + 1, ...,ihi의 경우Scalej =dj 여기서ilo는 인덱스가 낮고 ihi는 인덱스가 높은경우입니다.

  • 다음 유사 변환 중 하나 또는 양쪽 모두를 사용하여 행렬 A의 균형을 만들고 고유값과 고유벡터 계산의 정확도를 개선할 수 있습니다:

    • 행렬 A를 상위 삼각형 형태의 블록으로 치환합니다.
    • 행렬 A'를 스케일하여 행렬 A'22의 노름을 감소시킵니다.

    행렬 A 치환

    다음 식은 행렬 A의 상위 삼각형 형태의 블록으로 치환을 정의합니다.

    이 때 P는 치환 행렬, A'11A'33는 상위 삼각형, PTP의 전치행렬입니다.

    A'11A'33의 대각 원소는 A의 고유값입니다. 가운데 대각 블록 A'22A'에 대해 열(행)의 낮은 인덱스에서 시작하여 열(행)의 높은 인덱스에서 끝납니다. A의 적절한 치환이 존재하지 않는 경우, 다음 조건은 참입니다:

    • A'22A의 전체입니다.
    • 낮은 인덱스 = 0.
    • 높은 인덱스 = n - 1.

    행렬 A' 스케일링

    다음 식은 행렬 A'22의 노름을 감소시키기 위한 행렬 A' 의 스케일링을 정의합니다.

    따라서 ||A"22|| < ||A'22||이 되며, 이에 따라 고유값과 고유벡터 계산의 정확도에 대한 반올림 에러의 영향을 감소시킵니다.

    다음 블록다이어그램은 행렬 A의 고유값과 고유벡터를 계산하는 VI에 [행렬 균형] VI와 [원래의 고유벡터로 변환] VI를 사용하는 것을 나타냅니다.