Main Content

cdf2rdf

복소수 대각 형식(Complex Diagonal Form)을 실수 블록 대각 형식(Real Block Diagonal Form)으로 변환

설명

예제

[Vnew,Dnew] = cdf2rdf(V,D)는 실수 행렬 X에 대해 [V,D] = eig(X) 또는 [V,D] = eigs(X,___)의 출력값을 복소수 대각 형식에서 실수 대각 형식으로 변환합니다. 이 연산은 X의 고유값이 D에서 표현되는 방식을 변환하고 X*Vnew = Vnew*Dnew가 되도록 V를 변환합니다.

  • 복소수 대각 형식에서 D는 주대각선에 켤레 복소수 고유값 쌍이 있는 대각 행렬입니다.

    [λ1a+biabic+dicdi]

    대각선에 있는 고유값 중 일부는 실수일 수 있지만, 켤레 복소수 고유값 쌍은 나란히 인접해 있다고 가정됩니다.

  • 실수 대각 형식에서 Dnew는 대각선에 실수 고유값이 있고, 복소수 고유값은 주대각선을 따라 배치된 2×2 실수 블록으로 표현됩니다.

    [λ1abbacddc]

예제

모두 축소

실수 행렬의 고유값과 고유벡터를 계산하고 켤레 복소수 고유값 쌍을 실수 블록으로 변환합니다.

실수 행렬의 고유값과 고유벡터를 찾습니다.

X = [1   1   1   1   1 
     0   4   5   1   1 
     0  -5   4   1   1 
     0   0   2   3   1
     0   0  -3  -2   1];
[V,D] = eig(X)
V = 5×5 complex

   1.0000 + 0.0000i  -0.0179 - 0.1351i  -0.0179 + 0.1351i   0.1593 - 0.4031i   0.1593 + 0.4031i
   0.0000 + 0.0000i   0.0130 - 0.6214i   0.0130 + 0.6214i   0.0704 - 0.0267i   0.0704 + 0.0267i
   0.0000 + 0.0000i   0.6363 + 0.0000i   0.6363 + 0.0000i  -0.1261 + 0.1032i  -0.1261 - 0.1032i
   0.0000 + 0.0000i   0.1045 - 0.2087i   0.1045 + 0.2087i  -0.2279 - 0.4161i  -0.2279 + 0.4161i
   0.0000 + 0.0000i  -0.1156 + 0.3497i  -0.1156 - 0.3497i   0.7449 + 0.0000i   0.7449 + 0.0000i

D = 5×5 complex

   1.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   3.8801 + 5.1046i   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   3.8801 - 5.1046i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i   2.1199 + 0.7018i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i   2.1199 - 0.7018i

D는 하나의 실수 고유값과 두 쌍의 켤레 복소수 고유값을 포함합니다.

Dnew가 실수 블록 대각 형식이고 VnewX*Vnew = Vnew*Dnew를 충족하도록 VD를 변환합니다.

[Vnew,Dnew] = cdf2rdf(V,D)
Vnew = 5×5

    1.0000   -0.0253   -0.1911    0.2253   -0.5701
         0    0.0184   -0.8789    0.0996   -0.0378
         0    0.8999         0   -0.1784    0.1459
         0    0.1478   -0.2951   -0.3222   -0.5885
         0   -0.1634    0.4946    1.0534         0

Dnew = 5×5

    1.0000         0         0         0         0
         0    3.8801    5.1046         0         0
         0   -5.1046    3.8801         0         0
         0         0         0    2.1199    0.7018
         0         0         0   -0.7018    2.1199

Dnew에는 여전히 실수 고유값이 있지만 켤레 복소수 고유값 쌍은 2×2 블록으로 대체되었습니다.

입력 인수

모두 축소

우고유벡터 행렬로, [V,D] = eig(X) 또는 [V,D] = eigs(X,___)가 반환하는 행렬로 지정됩니다.

데이터형: single | double
복소수 지원 여부:

대각 고유값 행렬로, [V,D] = eig(X) 또는 [V,D] = eigs(X,___)가 반환하는 행렬로 지정됩니다. D의 대각선에 있는 고유값 중 일부는 실수일 수 있지만, 켤레 복소수 고유값 쌍은 나란히 인접해 있다고 가정됩니다.

eigs가 고유값과 고유벡터의 부분 집합을 반환하므로 요청된 고유값 개수는 켤레 복소수 쌍의 절반을 포함할 수도 있습니다. D 입력값이 불완전한 켤레 복소수 쌍을 포함하는 경우 cdf2rdf는 오류를 반환합니다.

데이터형: single | double
복소수 지원 여부:

출력 인수

모두 축소

변환된 우고유벡터 행렬로, 행렬로 반환됩니다. V의 고유벡터는 X*Vnew = Vnew*Dnew가 성립하도록 변환됩니다. 입력 고유벡터 행렬 V가 유니타리 행렬이면 Vnew도 유니타리 행렬입니다. 변환 후에는 Vnew의 개별 열은 더 이상 X의 고유벡터가 아니지만 Dnew의 2×2 블록과 관련된 Vnew의 각 벡터 쌍의 범위는 불변 벡터입니다.

변환된 대각 고유값 행렬로, 블록 대각 실수 행렬로 반환됩니다. D의 켤레 복소수 고유값 쌍은 Dnew의 대각선을 따라 배치된 2×2 실수 블록으로 대체됩니다.

확장 기능

버전 내역

R2006a 이전에 개발됨

모두 확장

참고 항목

| |