我有这段代码可以计算复数的复幂:
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编写过类似的东西?我不太担心速度,更担心准确性。