Extreme Optimization™: Complexity made simple.

Math and Statistics
Libraries for .NET

  • Home
  • Features
    • Math Library
    • Vector and Matrix Library
    • Statistics Library
    • Performance
    • Usability
  • Documentation
    • Introduction
    • Math Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Resources
    • Downloads
    • QuickStart Samples
    • Sample Applications
    • Frequently Asked Questions
    • Technical Support
  • Blog
  • Order
  • Company
    • About us
    • Testimonials
    • Customers
    • Press Releases
    • Careers
    • Partners
    • Contact us
Introduction
Deployment Guide
Nuget packages
Configuration
Using Parallelism
Expand Mathematics Library User's GuideMathematics Library User's Guide
Expand Vector and Matrix Library User's GuideVector and Matrix Library User's Guide
Expand Data Analysis Library User's GuideData Analysis Library User's Guide
Expand Statistics Library User's GuideStatistics Library User's Guide
Expand Data Access Library User's GuideData Access Library User's Guide
Expand ReferenceReference
  • Extreme Optimization
    • Features
    • Solutions
    • Documentation
    • QuickStart Samples
    • Sample Applications
    • Downloads
    • Technical Support
    • Download trial
    • How to buy
    • Blog
    • Company
    • Resources
  • Documentation
    • Introduction
    • Deployment Guide
    • Nuget packages
    • Configuration
    • Using Parallelism
    • Mathematics Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Data Access Library User's Guide
    • Reference
  • Mathematics Library User's Guide
    • General Classes
    • Mathematical Functions
    • Complex Numbers
    • Arbitrary Precision Arithmetic
    • Automatic Differentiation
    • Curves and Interpolation
    • Curve Fitting
    • Solving Equations
    • Optimization
    • Calculus
    • Fast Fourier Transforms
    • Random Numbers
    • Generic Arithmetic
    • Appendices
  • Mathematical Functions
    • Functions of Integers
    • Elementary Functions
    • Special Functions
  • Special Functions
    • Orthogonal Polynomials
    • Bessel and Airy Functions
    • Gamma and Related Functions
    • Combinatorics and Probability Theory
    • Hypergeometric Functions
    • Exponential Integrals
    • Elliptic Integrals and Jacobi Elliptic Functions
  • Elliptic Integrals and Jacobi Elliptic Functions

Elliptic Integrals and Jacobi Elliptic Functions

Extreme Optimization Numerical Libraries for .NET Professional

Elliptic integrals originally appeared in the calculation of arc lengths of ellipses. Later it was found that a larger class of integrals could be reduced to three kinds of elliptic integrals in Legendre form.

The Jacobi elliptic functions are the inverses of the elliptic integrals. There are three Jacobi functions, sn, cn, and dn. There are also 9 minor Jacobi functions that are defined in terms of the first three.

Elliptic Integrals

The Special class provides an implementation of complete and incomplete elliptic integrals of the first, second and third kind.

Some ambiguity exists in the definition of these functions. For functions that take one parameter, the parameter is the elliptic modulus. For functions that takes two arguments, the additional parameter is the amplitude.

Method

Description

EllipticK

Complete elliptic integral of the first kind K(k).

EllipticF

Incomplete elliptic integral of the first kind F(φ,k).

EllipticE

Complete elliptic integral of the second kind E(k).

EllipticE

Incomplete elliptic integral of the second kind E(φ,k).

EllipticPi

Complete elliptic integral of the third kind Π(n;k) with characteristic n.

EllipticPi

Incomplete elliptic integral of the third kind Π(n;φ,k) with characteristic n.

Jacobi Elliptic Functions

The Special class provides an implementation of the three major an nine minor Jacobi elliptic functions. The second parameter of these functions has multiple definitions. We use the modulus, k. The squared modulus, usually named m, is also used, where m = k2. The relationship between the parameterizations is as follows:

sn(u, k) = sn(u | m) = sn(u | k2), cn(u, k) = cn(u | m) = cn(u | k2), dn(u, k) = dn(u | m) = dn(u | k2).

The Jacobi elliptic functions have the form JacobiPQ, where P and Q are one of the 4 letters, S, C, D, N. The main functions are JacobiSN(Double, Double), JacobiCN(Double, Double), and JacobiDN(Double, Double). The minor functions are JacobiNS(Double, Double), JacobiNC(Double, Double), JacobiND(Double, Double) (reciprocals of the main functions), JacobiSC(Double, Double), JacobiCS(Double, Double), JacobiSD(Double, Double), JacobiDS(Double, Double), JacobiCD(Double, Double), and JacobiDC(Double, Double).

Copyright (c) 2004-2021 ExoAnalytics Inc.

Send comments on this topic to support@extremeoptimization.com

Copyright © 2004-2021, Extreme Optimization. All rights reserved.
Extreme Optimization, Complexity made simple, M#, and M Sharp are trademarks of ExoAnalytics Inc.
Microsoft, Visual C#, Visual Basic, Visual Studio, Visual Studio.NET, and the Optimized for Visual Studio logo
are registered trademarks of Microsoft Corporation.