public static ComplexD Pow(ComplexD a, double b) { double num = Math.Atan2(a.imag, a.real); double num2 = Math.Pow(a.Mag2(), b * 0.5); return new ComplexD(num2 * Math.Cos(num * b), num2 * Math.Sin(num * b)); }