Esempio n. 1
0
        /// <summary>
        /// Incomplete elliptic integral of the second kind E(φ | m).
        /// </summary>
        /// <param name="φ">Argument.</param>
        /// <param name="m">Parameter, equal to k², the square of the modulus.</param>
        public static Double E(Double φ, double m)
        {
            if (φ == 0)
            {
                return(0);
            }

            Double
                sinφ = Math.Sin(φ),
                c    = 1 / (sinφ * sinφ);

            return(CarlsonSymmetric.RF(c - 1, c - m, c) - (m / 3) * CarlsonSymmetric.RD(c - 1, c - m, c));
        }
Esempio n. 2
0
        /// <summary>
        /// Incomplete elliptic integral of the second kind E(φ | m).
        /// </summary>
        /// <param name="φ">Argument.</param>
        /// <param name="m">Parameter, equal to k², the square of the modulus.</param>
        public static Complex E(Complex φ, double m)
        {
            if (φ == 0)
            {
                return(0);
            }

            Complex
                sinφ = Complex.Sin(φ),
                c    = 1 / (sinφ * sinφ);

            return(CarlsonSymmetric.RF(c - 1, c - m, c) - (m / 3) * CarlsonSymmetric.RD(c - 1, c - m, c));
        }