Beispiel #1
0
 /// <summary>Trigonometric Hyperbolic Cosine (Cosinus hyperbolicus) of this <c>Complex</c>.</summary>
 public Complex Cosh()
 {
     if (IsReal)
     {
         return(new Complex(Trig.Cosh(real), 0d));
     }
     return(new Complex(Trig.Cosh(real) * Trig.Cos(imag), Trig.Sinh(real) * Trig.Sin(imag)));
 }
Beispiel #2
0
        /// <summary>Exponential of this <c>Complex</c> (exp(x), E^x).</summary>
        public Complex Exp()
        {
            double exp = Math.Exp(real);

            if (IsReal)
            {
                return(new Complex(exp, 0d));
            }
            return(new Complex(exp * Trig.Cos(imag), exp * Trig.Sin(imag)));
        }
Beispiel #3
0
        /// <summary>
        /// Returns e raised to the power specified by a complex number.
        /// </summary>
        /// <returns>The number e raised to the power <paramref name="value" />.</returns>
        /// <param name="value">A complex number that specifies a power.</param>
        public static Complex Exp(Complex value)
        {
            var exp = Math.Exp(value.Real);

            if (value.IsReal())
            {
                return(new Complex(exp, 0.0));
            }

            return(new Complex(exp * Trig.Cos(value.Imaginary), exp * Trig.Sin(value.Imaginary)));
        }
Beispiel #4
0
        /// <summary>Trigonometric Hyperbolic Cotangent (Cotangens hyperbolicus) of this <c>Complex</c>.</summary>
        public Complex Coth()
        {
            if (IsReal)
            {
                return(new Complex(Trig.Coth(real), 0d));
            }
            double sini  = Trig.Sin(imag);
            double sinhr = Trig.Sinh(real);
            double denom = sini * sini + sinhr * sinhr;

            return(new Complex(sinhr * Trig.Cosh(real) / denom, sini * Trig.Cos(imag) / denom));
        }
Beispiel #5
0
        /// <summary>Trigonometric Hyperbolic Tangent (Tangens hyperbolicus) of this <c>Complex</c>.</summary>
        public Complex Tanh()
        {
            if (IsReal)
            {
                return(new Complex(Trig.Tanh(real), 0d));
            }
            double cosi  = Trig.Cos(imag);
            double sinhr = Trig.Sinh(real);
            double denom = cosi * cosi + sinhr * sinhr;

            return(new Complex(Trig.Cosh(real) * sinhr / denom, cosi * Trig.Sin(imag) / denom));
        }
Beispiel #6
0
        /// <summary>Trigonometric Cosecant (Cosekans) of this <c>Complex</c>.</summary>
        public Complex Csc()
        {
            if (IsReal)
            {
                return(new Complex(Trig.Csc(real), 0d));
            }
            double sinr  = Trig.Sin(real);
            double sinhi = Trig.Sinh(imag);
            double denom = sinr * sinr + sinhi * sinhi;

            return(new Complex(sinr * Trig.Cosh(imag) / denom, -Trig.Cos(real) * sinhi / denom));
        }
Beispiel #7
0
        /// <summary>Trigonometric Secant (Sekans) of this <c>Complex</c>.</summary>
        public Complex Sec()
        {
            if (IsReal)
            {
                return(new Complex(Trig.Sec(real), 0d));
            }
            double cosr  = Trig.Cos(real);
            double sinhi = Trig.Sinh(imag);
            double denom = cosr * cosr + sinhi * sinhi;

            return(new Complex(cosr * Trig.Cosh(imag) / denom, Trig.Sin(real) * sinhi / denom));
        }
Beispiel #8
0
 public static Complex Sin(Complex value)
 {
     return(Trig.Sin(value));
 }