Class CarlsonEllipticIntegral

java.lang.Object
org.hipparchus.special.elliptic.carlson.CarlsonEllipticIntegral

public class CarlsonEllipticIntegral extends Object
Elliptic integrals in Carlson symmetric form.

This utility class computes the various symmetric elliptic integrals defined as: {RF(x,y,z)=120dts(t)RJ(x,y,z,p)=320dts(t)(t+p)RG(x,y,z)=1401s(t)(xt+x+yt+y+zt+z)tdtRD(x,y,z)=RJ(x,y,z,z)RC(x,y)=RF(x,y,y)

where s(t)=t+xt+yt+z

The algorithms used are based on the duplication method as described in B. C. Carlson 1995 paper "Numerical computation of real or complex elliptic integrals", with the improvements described in the appendix of B. C. Carlson and James FitzSimons 2000 paper "Reduction theorems for elliptic integrands with the square root of two quadratic factors". They are also described in section 19.36(i) of Digital Library of Mathematical Functions.

Beware that when computing elliptic integrals in the complex plane, many issues arise due to branch cuts. See the user guide for a thorough explanation.

Since:
2.0
  • Method Details Link icon

    • rC Link icon

      public static double rC(double x, double y)
      Compute Carlson elliptic integral RC.

      The Carlson elliptic integral RCis defined as RC(x,y,z)=RF(x,y,y)=120dtt+x(t+y)

      Parameters:
      x - first symmetric variable of the integral
      y - second symmetric variable of the integral
      Returns:
      Carlson elliptic integral RC
    • rC Link icon

      public static <T extends CalculusFieldElement<T>> T rC(T x, T y)
      Compute Carlson elliptic integral RC.

      The Carlson elliptic integral RCis defined as RC(x,y,z)=RF(x,y,y)=120dtt+x(t+y)

      Type Parameters:
      T - type of the field elements
      Parameters:
      x - first symmetric variable of the integral
      y - second symmetric variable of the integral
      Returns:
      Carlson elliptic integral RC
    • rC Link icon

      public static Complex rC(Complex x, Complex y)
      Compute Carlson elliptic integral RC.

      The Carlson elliptic integral RCis defined as RC(x,y,z)=RF(x,y,y)=120dtt+x(t+y)

      Parameters:
      x - first symmetric variable of the integral
      y - second symmetric variable of the integral
      Returns:
      Carlson elliptic integral RC
    • rC Link icon

      public static <T extends CalculusFieldElement<T>> FieldComplex<T> rC(FieldComplex<T> x, FieldComplex<T> y)
      Compute Carlson elliptic integral RC.

      The Carlson elliptic integral RCis defined as RC(x,y,z)=RF(x,y,y)=120dtt+x(t+y)

      Type Parameters:
      T - type of the field elements
      Parameters:
      x - first symmetric variable of the integral
      y - second symmetric variable of the integral
      Returns:
      Carlson elliptic integral RC
    • rF Link icon

      public static double rF(double x, double y, double z)
      Compute Carlson elliptic integral RF.

      The Carlson elliptic integral RF is defined as RF(x,y,z)=120dtt+xt+yt+z

      Parameters:
      x - first symmetric variable of the integral
      y - second symmetric variable of the integral
      z - third symmetric variable of the integral
      Returns:
      Carlson elliptic integral RF
    • rF Link icon

      public static <T extends CalculusFieldElement<T>> T rF(T x, T y, T z)
      Compute Carlson elliptic integral RF.

      The Carlson elliptic integral RF is defined as RF(x,y,z)=120dtt+xt+yt+z

      Type Parameters:
      T - type of the field elements
      Parameters:
      x - first symmetric variable of the integral
      y - second symmetric variable of the integral
      z - third symmetric variable of the integral
      Returns:
      Carlson elliptic integral RF
    • rF Link icon

      public static Complex rF(Complex x, Complex y, Complex z)
      Compute Carlson elliptic integral RF.

      The Carlson elliptic integral RF is defined as RF(x,y,z)=120dtt+xt+yt+z

      Parameters:
      x - first symmetric variable of the integral
      y - second symmetric variable of the integral
      z - third symmetric variable of the integral
      Returns:
      Carlson elliptic integral RF
    • rF Link icon

      public static <T extends CalculusFieldElement<T>> FieldComplex<T> rF(FieldComplex<T> x, FieldComplex<T> y, FieldComplex<T> z)
      Compute Carlson elliptic integral RF.

      The Carlson elliptic integral RF is defined as RF(x,y,z)=120dtt+xt+yt+z

      Type Parameters:
      T - type of the field elements
      Parameters:
      x - first symmetric variable of the integral
      y - second symmetric variable of the integral
      z - third symmetric variable of the integral
      Returns:
      Carlson elliptic integral RF
    • rJ Link icon

      public static double rJ(double x, double y, double z, double p)
      Compute Carlson elliptic integral RJ.

      The Carlson elliptic integral RJ is defined as RJ(x,y,z,p)=320dtt+xt+yt+z(t+p)

      Parameters:
      x - first symmetric variable of the integral
      y - second symmetric variable of the integral
      z - third symmetric variable of the integral
      p - fourth not symmetric variable of the integral
      Returns:
      Carlson elliptic integral RJ
    • rJ Link icon

      public static double rJ(double x, double y, double z, double p, double delta)
      Compute Carlson elliptic integral RJ.

      The Carlson elliptic integral RJ is defined as RJ(x,y,z,p)=320dtt+xt+yt+z(t+p)

      Parameters:
      x - first symmetric variable of the integral
      y - second symmetric variable of the integral
      z - third symmetric variable of the integral
      p - fourth not symmetric variable of the integral
      delta - precomputed value of (p-x)(p-y)(p-z)
      Returns:
      Carlson elliptic integral RJ
    • rJ Link icon

      public static <T extends CalculusFieldElement<T>> T rJ(T x, T y, T z, T p)
      Compute Carlson elliptic integral RJ.

      The Carlson elliptic integral RJ is defined as RJ(x,y,z,p)=320dtt+xt+yt+z(t+p)

      Type Parameters:
      T - type of the field elements
      Parameters:
      x - first symmetric variable of the integral
      y - second symmetric variable of the integral
      z - third symmetric variable of the integral
      p - fourth not symmetric variable of the integral
      Returns:
      Carlson elliptic integral RJ
    • rJ Link icon

      public static <T extends CalculusFieldElement<T>> T rJ(T x, T y, T z, T p, T delta)
      Compute Carlson elliptic integral RJ.

      The Carlson elliptic integral RJ is defined as RJ(x,y,z,p)=320dtt+xt+yt+z(t+p)

      Type Parameters:
      T - type of the field elements
      Parameters:
      x - first symmetric variable of the integral
      y - second symmetric variable of the integral
      z - third symmetric variable of the integral
      p - fourth not symmetric variable of the integral
      delta - precomputed value of (p-x)(p-y)(p-z)
      Returns:
      Carlson elliptic integral RJ
    • rJ Link icon

      public static Complex rJ(Complex x, Complex y, Complex z, Complex p)
      Compute Carlson elliptic integral RJ.

      The Carlson elliptic integral RJ is defined as RJ(x,y,z,p)=320dtt+xt+yt+z(t+p)

      Parameters:
      x - first symmetric variable of the integral
      y - second symmetric variable of the integral
      z - third symmetric variable of the integral
      p - fourth not symmetric variable of the integral
      Returns:
      Carlson elliptic integral RJ
    • rJ Link icon

      public static Complex rJ(Complex x, Complex y, Complex z, Complex p, Complex delta)
      Compute Carlson elliptic integral RJ.

      The Carlson elliptic integral RJ is defined as RJ(x,y,z,p)=320dtt+xt+yt+z(t+p)

      Parameters:
      x - first symmetric variable of the integral
      y - second symmetric variable of the integral
      z - third symmetric variable of the integral
      p - fourth not symmetric variable of the integral
      delta - precomputed value of (p-x)(p-y)(p-z)
      Returns:
      Carlson elliptic integral RJ
    • rJ Link icon

      public static <T extends CalculusFieldElement<T>> FieldComplex<T> rJ(FieldComplex<T> x, FieldComplex<T> y, FieldComplex<T> z, FieldComplex<T> p)
      Compute Carlson elliptic integral RJ.

      The Carlson elliptic integral RJ is defined as RJ(x,y,z,p)=320dtt+xt+yt+z(t+p)

      Type Parameters:
      T - type of the field elements
      Parameters:
      x - first symmetric variable of the integral
      y - second symmetric variable of the integral
      z - third symmetric variable of the integral
      p - fourth not symmetric variable of the integral
      Returns:
      Carlson elliptic integral RJ
    • rJ Link icon

      public static <T extends CalculusFieldElement<T>> FieldComplex<T> rJ(FieldComplex<T> x, FieldComplex<T> y, FieldComplex<T> z, FieldComplex<T> p, FieldComplex<T> delta)
      Compute Carlson elliptic integral RJ.

      The Carlson elliptic integral RJ is defined as RJ(x,y,z,p)=320dtt+xt+yt+z(t+p)

      Type Parameters:
      T - type of the field elements
      Parameters:
      x - first symmetric variable of the integral
      y - second symmetric variable of the integral
      z - third symmetric variable of the integral
      p - fourth not symmetric variable of the integral
      delta - precomputed value of (p-x)(p-y)(p-z)
      Returns:
      Carlson elliptic integral RJ
    • rD Link icon

      public static double rD(double x, double y, double z)
      Compute Carlson elliptic integral RD.

      The Carlson elliptic integral RD is defined as RD(x,y,z)=320dtt+xt+yt+z(t+z)

      Parameters:
      x - first symmetric variable of the integral
      y - second symmetric variable of the integral
      z - third symmetric variable of the integral
      Returns:
      Carlson elliptic integral RD
    • rD Link icon

      public static <T extends CalculusFieldElement<T>> T rD(T x, T y, T z)
      Compute Carlson elliptic integral RD.

      The Carlson elliptic integral RD is defined as RD(x,y,z)=320dtt+xt+yt+z(t+z)

      Type Parameters:
      T - type of the field elements
      Parameters:
      x - first symmetric variable of the integral
      y - second symmetric variable of the integral
      z - third symmetric variable of the integral
      Returns:
      Carlson elliptic integral RD
    • rD Link icon

      public static Complex rD(Complex x, Complex y, Complex z)
      Compute Carlson elliptic integral RD.

      The Carlson elliptic integral RD is defined as RD(x,y,z)=320dtt+xt+yt+z(t+z)

      Parameters:
      x - first symmetric variable of the integral
      y - second symmetric variable of the integral
      z - third symmetric variable of the integral
      Returns:
      Carlson elliptic integral RD
    • rD Link icon

      public static <T extends CalculusFieldElement<T>> FieldComplex<T> rD(FieldComplex<T> x, FieldComplex<T> y, FieldComplex<T> z)
      Compute Carlson elliptic integral RD.

      The Carlson elliptic integral RD is defined as RD(x,y,z)=320dtt+xt+yt+z(t+z)

      Type Parameters:
      T - type of the field elements
      Parameters:
      x - first symmetric variable of the integral
      y - second symmetric variable of the integral
      z - third symmetric variable of the integral
      Returns:
      Carlson elliptic integral RD
    • rG Link icon

      public static double rG(double x, double y, double z)
      Compute Carlson elliptic integral RG.

      The Carlson elliptic integral RGis defined as RG(x,y,z)=1401s(t)(xt+x+yt+y+zt+z)tdt

      Parameters:
      x - first symmetric variable of the integral
      y - second symmetric variable of the integral
      z - second symmetric variable of the integral
      Returns:
      Carlson elliptic integral RG
    • rG Link icon

      public static <T extends CalculusFieldElement<T>> T rG(T x, T y, T z)
      Compute Carlson elliptic integral RG.

      The Carlson elliptic integral RGis defined as RG(x,y,z)=1401s(t)(xt+x+yt+y+zt+z)tdt

      Type Parameters:
      T - type of the field elements
      Parameters:
      x - first symmetric variable of the integral
      y - second symmetric variable of the integral
      z - second symmetric variable of the integral
      Returns:
      Carlson elliptic integral RG
    • rG Link icon

      public static Complex rG(Complex x, Complex y, Complex z)
      Compute Carlson elliptic integral RG.

      The Carlson elliptic integral RGis defined as RG(x,y,z)=1401s(t)(xt+x+yt+y+zt+z)tdt

      Parameters:
      x - first symmetric variable of the integral
      y - second symmetric variable of the integral
      z - second symmetric variable of the integral
      Returns:
      Carlson elliptic integral RG
    • rG Link icon

      public static <T extends CalculusFieldElement<T>> FieldComplex<T> rG(FieldComplex<T> x, FieldComplex<T> y, FieldComplex<T> z)
      Compute Carlson elliptic integral RG.

      The Carlson elliptic integral RGis defined as RG(x,y,z)=1401s(t)(xt+x+yt+y+zt+z)tdt

      Type Parameters:
      T - type of the field elements
      Parameters:
      x - first symmetric variable of the integral
      y - second symmetric variable of the integral
      z - second symmetric variable of the integral
      Returns:
      Carlson elliptic integral RG