複素数の複素ベキを計算する次のコードがあります。
var ss = a.re*a.re + a.im*a.im;
var arg1 = math.arg(a);
var mag = Math.pow(ss,b.re/2) * Math.exp(-b.im*arg1);
var arg = b.re*arg1 + (b.im * Math.log(ss))/2;
return math.complex(mag*Math.cos(arg), mag*Math.sin(arg));
(複素数は {re: 1, im: 1} のように見え、math.arg は単に Math.atan2(n.im.n.re) を返します。math.complex は複素数のコンストラクタです)
特に複雑というわけではなく、私は効率/精度分析に精通していません。
特に複素数の整数べき乗については、二項展開を使用するとより正確に結果を得ることができるため、より良い結果を得たいと考えています。自分で作成する前に、すでにjavascriptで書かれたようなものを持っている人はいますか? 私は速度についてはあまり心配していませんが、精度についてはもっと心配しています。