다이어리/다이어리

MATLAB에서의 특이한 행렬 연산

Jae-seong Yoo 2013. 1. 8. 23:59

MATLAB에서 R로 번역하는 작업을 하고 있는데, 행렬연산 부분에서 특이한 것이 하나 있네요.

A 라는 행렬이

1 2 3

4 5 6

-1 -2 -3

로 주어졌을 때,

MATLAB에서 A^2 는 R에서 A %*% A를 의미하게 됩니다.


그런데 MATLAB에서 A^0.5 하면

ans =

0.6137 + 0.2419i 0.7280 - 0.4078i 0.8422 - 1.0576i

1.9555 + 0.0759i 2.3195 - 0.1280i 2.6835 - 0.3319i

-0.6137 - 0.2419i -0.7280 + 0.4078i -0.8422 + 1.0576i

이런 식으로 복소수 결과가 나오는데, R에서는 나오지 않는군요.

R의 matrixcalc 패키지에 power 함수를 써도 마찬가지고요.


수학적 이론을 갖고... 그러니까 A = PDP^(-1)으로 해보려 해도, D^0.5 라는걸 결국 계산해야하기 때문에 허탕이네요.

대체 이거 뭐고, 이걸 어떻게 해결하는게 좋을까요?