public static Complex Multiply(Complex a, Complex b) { // (x + yi)(u + vi) = (xu – yv) + (xv + yu)i. double aRe = a.Re, aIm = a.Im; double bRe = b.Re, bIm = b.Im; return new Complex(aRe*bRe - aIm*bIm, aRe*bIm + aIm*bRe); }
/// <summary> /// Multiplies a complex number by a scalar value. /// </summary> /// /// <param name="a">A <see cref="Complex"/> instance.</param> /// <param name="s">A scalar value.</param> /// /// <returns>Returns new <see cref="Complex"/> instance containing the result of multiplication.</returns> /// public static Complex operator *(Complex a, double s) { return(Complex.Multiply(a, s)); }