/// <summary>Trigonometric Cosine (cos, Cosinus) of this <c>Complex</c>.</summary> public Complex Cosine() { if (IsReal) { return(new Complex(Trig.Cosine(real), 0d)); } return(new Complex(Trig.Cosine(real) * Trig.HyperbolicCosine(imag), -Trig.Sine(real) * Trig.HyperbolicSine(imag))); }
/// <summary>Exponential of this <c>Complex</c> (exp(x), E^x).</summary> public Complex Exponential() { double exp = Math.Exp(real); if (IsReal) { return(new Complex(exp, 0d)); } return(new Complex(exp * Trig.Cosine(imag), exp * Trig.Sine(imag))); }
/// <summary> /// Exponential of this <c>Complex</c> (exp(x), E^x). /// </summary> /// <param name="complex">The <see cref="Complex"/> number to perfom this operation on.</param> /// <returns> /// The exponential of this complex number. /// </returns> public static Complex Exponential(this Complex complex) { var exp = Math.Exp(complex.Real); if (complex.IsReal()) { return(new Complex(exp, 0.0)); } return(new Complex(exp * Trig.Cosine(complex.Imaginary), exp * Trig.Sine(complex.Imaginary))); }
/// <summary>Trigonometric Hyperbolic Cotangent (coth, Cotangens hyperbolicus) of this <c>Complex</c>.</summary> public Complex HyperbolicCotangent() { if (IsReal) { return(new Complex(Trig.HyperbolicCotangent(real), 0d)); } double sini = Trig.Sine(imag); double sinhr = Trig.HyperbolicSine(real); double denom = sini * sini + sinhr * sinhr; return(new Complex(sinhr * Trig.HyperbolicCosine(real) / denom, sini * Trig.Cosine(imag) / denom)); }
/// <summary>Trigonometric Hyperbolic Tangent (tanh, Tangens hyperbolicus) of this <c>Complex</c>.</summary> public Complex HyperbolicTangent() { if (IsReal) { return(new Complex(Trig.HyperbolicTangent(real), 0d)); } double cosi = Trig.Cosine(imag); double sinhr = Trig.HyperbolicSine(real); double denom = cosi * cosi + sinhr * sinhr; return(new Complex(Trig.HyperbolicCosine(real) * sinhr / denom, cosi * Trig.Sine(imag) / denom)); }
/// <summary>Trigonometric Cosecant (csc, Cosekans) of this <c>Complex</c>.</summary> public Complex Cosecant() { if (IsReal) { return(new Complex(Trig.Cosecant(real), 0d)); } double sinr = Trig.Sine(real); double sinhi = Trig.HyperbolicSine(imag); double denom = sinr * sinr + sinhi * sinhi; return(new Complex(sinr * Trig.HyperbolicCosine(imag) / denom, -Trig.Cosine(real) * sinhi / denom)); }
/// <summary>Trigonometric Secant (sec, Sekans) of this <c>Complex</c>.</summary> public Complex Secant() { if (IsReal) { return(new Complex(Trig.Secant(real), 0d)); } double cosr = Trig.Cosine(real); double sinhi = Trig.HyperbolicSine(imag); double denom = cosr * cosr + sinhi * sinhi; return(new Complex(cosr * Trig.HyperbolicCosine(imag) / denom, Trig.Sine(real) * sinhi / denom)); }