1

ランダムな 2x2 ZYZ 回転行列からオイラー角を見つけるにはどうすればよいですか? すべての SU(2) 行列は、ZYZ 分解を使用して、オイラー角に基づく 3 つの行列の積として分解できることがわかっています。ウィキペディアでオイラー角について:

「同様の 3 角度分解が、複雑な 2D 空間における回転の特別なユニタリ グループである SU(2) に適用されますが、β の範囲が 0 から 2π であるという違いがあります。これらはオイラー角とも呼ばれます。」

私はmatlabで方程式系を試してみましたが、場合によっては解決策が見つかりました(パウリ行列)が、他の多くの場合はそうではありませんでした。ランダムな SU(2) 行列を見つけることはありません。

誰でも一般的なアプローチを知っていますか?私はすでに 3x3 マトリックスを実行する方法を見つけましたが、2x2 ZYZ については知りませんでした。

よろしくお願いします!

4

1 に答える 1

0

Haifeng GONG によって書かれたhttps://groups.google.com/forum/?fromgroups=#!topic/mathtools/q25a5WoG6Eoから(自分で見つけたのではありませんか):

function orthm = ang2orth(ang) 

sa = sin(ang(2)); ca = cos(ang(2)); 
sb = sin(ang(1)); cb = cos(ang(1)); 
sc = sin(ang(3)); cc = cos(ang(3)); 

ra = [  ca,  sa,  0; ... 
       -sa,  ca,  0; ... 
         0,   0,  1]; 
rb = [  cb,  0,  sb; ... 
         0,  1,  0; ... 
       -sb,  0,  cb]; 
rc = [  1,   0,   0; ... 
        0,   cc, sc;... 
        0,  -sc, cc]; 
orthm = rc*rb*ra; 

function ang = orth2ang(orthm) 
ang(1) = asin(orthm(1,3)); %Wei du 
ang(2) = angle( orthm(1,1:2)*[1 ;i] ); %Jing Du 
yz = orthm* ... 
    [orthm(1,:)',... 
     [-sin(ang(2)); cos(ang(2)); 0],... 
     [-sin(ang(1))*cos(ang(2)); -sin(ang(1)*sin(ang(2))); 
cos(ang(1))] ]; 

ang(3) = angle(yz(2,2:3)* [1; i]); % Xuan Du 

ここここ で見られるようにThere is an isomorphism between SO(3) and SU(2)

ここに画像の説明を入力

于 2013-01-30T22:26:55.967 に答える