/// <summary> /// 复数平方根 /// </summary> public static Complex Sqrt(Complex c) { double x = c.Re, y = c.Im, mod = c.GetMod(); int sign = y < 0 ? -1 : 1; double re = _halfOfSqrt2 * Math.Sqrt(mod + x), im = _halfOfSqrt2 * sign * Math.Sqrt(mod - x); return new Complex(re, im); }