주요 콘텐츠

bdschur

블록 대각 슈어 분해

설명

[T,B,BLKS] = bdschur(A,CONDMAX)B = T–1 AT가 블록 대각 행렬이고 각 대각 블록이 준 상부 삼각 슈어 행렬이 되는 변환 행렬 T를 계산합니다.

[T,B] = bdschur(A,[],BLKS)는 원하는 블록 크기를 사전 지정합니다. 이 구문을 사용할 경우 입력 행렬 A는 이미 슈어 형식이어야 합니다.

입력 인수

모두 축소

블록 대각 슈어 분해를 수행할 행렬로, 실수 값 또는 복소수 값 정사각 행렬로 지정됩니다.

T의 조건수에 대한 상한으로, 1보다 큰 실수형 스칼라로 지정됩니다. 역행렬에 대해 블록 크기와 T의 조건 간의 상호 절충을 제어하려면 CONDMAX를 사용하십시오. CONDMAX 값이 클수록 블록의 크기는 작아지고 T의 조건은 더 나빠집니다.

출력 인수

모두 축소

블록 대각화 변환으로, 행렬로 반환됩니다.

B = T–1 AT를 충족하는 블록 대각 행렬.

블록 대각 분해의 블록 크기로, 벡터로 반환됩니다.

알고리즘

bdschur(A,CONDMAX)는 먼저 A를 슈어 형식으로 줄인 다음(schur 참조), 고유값을 구분하기 위해 비대각선 블록을 0으로 처리하려고 합니다. 반복되는 고유값이 있거나 서로 가까운 고유값들이 무리지어 있는 경우 구분을 위해서는 조건수가 CONDMAX를 초과하는 조건이 나쁜 변환이 필요할 수 있습니다. 그러면 이러한 고유값은 크기가 1 또는 2보다 큰 대각선 블록으로 함께 유지됩니다. bdschur는 변환 V의 조건수에 대한 제약 조건이 있는 eig의 한 가지 버전으로 볼 수 있습니다. eig는 자명하지 않은 조르당 블록이 있는 행렬에 대해 수치적 특이 행렬 V를 반환할 수 있지만 bdschur는 이러한 블록을 함께 유지하고 나머지 스펙트럼과만 구분합니다. 안전하게 대각화 가능한 행렬의 경우 eigbdschur는 동일한 결과를 생성합니다.

버전 내역

R2008a에 개발됨

모두 확장

참고 항목

|