Package org.apfloat
Class ApcomplexMath
java.lang.Object
org.apfloat.ApcomplexMath
Various mathematical functions for arbitrary precision complex numbers.
- Version:
- 1.14.0
- Author:
- Mikko Tommila
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionstatic ApfloatAbsolute value.static ApcomplexInverse cosine.static ApcomplexInverse hyperbolic cosine.static ApcomplexArithmetic-geometric mean.static ApcomplexAiry function Ai.static ApcomplexDerivative of the Airy function Ai.static ApcomplexAiry function Bi.static ApcomplexDerivative of the Airy function Bi.static Apcomplex[]All values of the positive integer root.static ApfloatAngle of the complex vector in the complex plane.static ApcomplexInverse sine.static ApcomplexInverse hyperbolic sine.static ApcomplexInverse tangent.static ApcomplexInverse hyperbolic tangent.static ApcomplexbernoulliB(long n, Apcomplex z) Bernoulli polynomial.static ApcomplexModified Bessel function of the first kind.static ApcomplexBessel function of the first kind.static ApcomplexModified Bessel function of the second kind.static ApcomplexBessel function of the second kind.static ApcomplexBeta function.static ApcomplexIncomplete beta function.static ApcomplexGeneralized incomplete beta function.static ApcomplexBinomial coefficient.static ApcomplexCube root.static ApcomplexchebyshevT(Apcomplex ν, Apcomplex z) Chebyshev function of the first kind.static ApcomplexchebyshevU(Apcomplex ν, Apcomplex z) Chebyshev function of the second kind.static ApcomplexCosine.static ApcomplexHyperbolic cosine.static ApcomplexHyperbolic cosine integral.static ApcomplexCosine integral.static ApcomplexDigamma function.static ApcomplexComplete elliptic integral of the second kind.static ApcomplexComplete elliptic integral of the first kind.static ApcomplexError function.static ApcomplexComplementary error function.static ApcomplexImaginary error function.static ApcomplexEuler polynomial.static ApcomplexExponent function.static ApcomplexexpIntegralE(Apcomplex ν, Apcomplex z) Exponential integral E.static ApcomplexExponential integral Ei.static ApcomplexFibonacci function.static ApcomplexFresnel integral C.static ApcomplexFresnel integral S.static ApcomplexGamma function.static ApcomplexIncomplete gamma function.static ApcomplexGeneralized incomplete gamma function.static ApcomplexgegenbauerC(Apcomplex ν, Apcomplex z) Renormalized Gegenbauer function.static ApcomplexgegenbauerC(Apcomplex ν, Apcomplex λ, Apcomplex z) Gegenbauer function.static ApcomplexHarmonic number.static ApcomplexharmonicNumber(Apcomplex z, Apcomplex r) Generalized harmonic number.static ApcomplexHermite function.static ApcomplexConfluent hypergeometric function 0F1.static ApcomplexRegularized confluent hypergeometric function 0F̃1.static Apcomplexhypergeometric1F1(Apcomplex a, Apcomplex b, Apcomplex z) Kummer confluent hypergeometric function 1F1.static ApcomplexRegularized Kummer confluent hypergeometric function 1F̃1.static Apcomplexhypergeometric2F1(Apcomplex a, Apcomplex b, Apcomplex c, Apcomplex z) Hypergeometric function 2F1.static Apcomplexhypergeometric2F1Regularized(Apcomplex a, Apcomplex b, Apcomplex c, Apcomplex z) Regularized hypergeometric function 2F̃1.static ApcomplexhypergeometricU(Apcomplex a, Apcomplex b, Apcomplex z) Tricomi's confluent hypergeometric function U.static ApcomplexinverseRoot(Apcomplex z, long n) Inverse positive integer root.static ApcomplexinverseRoot(Apcomplex z, long n, long k) Inverse positive integer root.static ApcomplexJacobi function.static ApcomplexLaguerre function.static ApcomplexGeneralized Laguerre function.static ApcomplexLegendre function.static ApcomplexAssociated Legendre function of the first kind.static ApcomplexLegendre function of the second kind.static ApcomplexAssociated Legendre function of the second kind.static ApcomplexNatural logarithm.static ApcomplexLogarithm in arbitrary base.static ApcomplexLogarithm of the gamma function.static ApcomplexLogarithmic integral.static ApcomplexLogistic sigmoid.static ApcomplexDeprecated.static ApfloatNorm.static Apcomplexpochhammer(Apcomplex z, Apcomplex n) Pochhammer symbol.static ApcomplexPolygamma function.static ApcomplexPolylogarithm.static ApcomplexInteger power.static ApcomplexArbitrary power.static ApcomplexProduct of numbers.static ApcomplexPositive integer root.static ApcomplexPositive integer root.static ApcomplexMultiply by a power of the radix.static ApcomplexSine.static ApcomplexSinc.static ApcomplexHyperbolic sine.static ApcomplexHyperbolic sine integral.static ApcomplexSine integral.static ApcomplexsphericalHarmonicY(Apcomplex λ, Apcomplex μ, Apcomplex ϑ, Apcomplex ϕ) Spherical harmonic function.static ApcomplexSquare root.static ApcomplexSum of numbers.static ApcomplexTangent.static ApcomplexHyperbolic tangent.static ApfloatReturns the unit in the last place of the argument, considering the scale and precision.static ApcomplexLambert W function.static ApcomplexLambert W function for the specified branch.static ApcomplexRiemann zeta function.static ApcomplexHurwitz zeta function.
-
Method Details
-
negate
Deprecated.UseApcomplex.negate().Negative value.- Parameters:
z- The argument.- Returns:
-z.- Throws:
ApfloatRuntimeException
-
abs
Absolute value.- Parameters:
z- The argument.- Returns:
sqrt(x2 + y2), wherez = x + i y.- Throws:
ApfloatRuntimeException
-
norm
Norm. Square of the magnitude.- Parameters:
z- The argument.- Returns:
x2 + y2, wherez = x + i y.- Throws:
ApfloatRuntimeException
-
arg
Angle of the complex vector in the complex plane.- Parameters:
z- The argument.- Returns:
arctan(y / x)from the appropriate branch, wherez = x + i y.- Throws:
ArithmeticException- Ifzis zero.ApfloatRuntimeException
-
scale
Multiply by a power of the radix.- Parameters:
z- The argument.scale- The scaling factor.- Returns:
z * z.radix()scale.- Throws:
ApfloatRuntimeException
-
pow
public static Apcomplex pow(Apcomplex z, long n) throws ArithmeticException, ApfloatRuntimeException Integer power.- Parameters:
z- Base of the power operator.n- Exponent of the power operator.- Returns:
zto then:th power, that iszn.- Throws:
ArithmeticException- If bothzandnare zero.ApfloatRuntimeException
-
sqrt
Square root.- Parameters:
z- The argument.- Returns:
- Square root of
z. - Throws:
ApfloatRuntimeException
-
cbrt
Cube root.- Parameters:
z- The argument.- Returns:
- Cube root of
z. - Throws:
ApfloatRuntimeException
-
root
public static Apcomplex root(Apcomplex z, long n) throws ArithmeticException, ApfloatRuntimeException Positive integer root. The branch that has the smallest angle and same sign of imaginary part aszis always chosen.- Parameters:
z- The argument.n- Which root to take.- Returns:
n:th root ofz, that isz1/n.- Throws:
ArithmeticException- Ifnis zero.ApfloatRuntimeException
-
root
public static Apcomplex root(Apcomplex z, long n, long k) throws ArithmeticException, ApfloatRuntimeException Positive integer root. The specified branch counting from the smallest angle and same sign of imaginary part aszis chosen.- Parameters:
z- The argument.n- Which root to take.k- Which branch to take.- Returns:
n:th root ofz, that isz1/nei2πsk/nwheresis the signum of the imaginary part ofz.- Throws:
ArithmeticException- Ifnis zero.ApfloatRuntimeException- Since:
- 1.5
-
inverseRoot
public static Apcomplex inverseRoot(Apcomplex z, long n) throws ArithmeticException, ApfloatRuntimeException Inverse positive integer root. The branch that has the smallest angle and different sign of imaginary part thanzis always chosen.- Parameters:
z- The argument.n- Which inverse root to take.- Returns:
- Inverse
n:th root ofz, that isz-1/n. - Throws:
ArithmeticException- Ifzornis zero.ApfloatRuntimeException
-
inverseRoot
public static Apcomplex inverseRoot(Apcomplex z, long n, long k) throws ArithmeticException, ApfloatRuntimeException Inverse positive integer root. The specified branch counting from the smallest angle and different sign of imaginary part thanzis chosen.- Parameters:
z- The argument.n- Which inverse root to take.k- Which branch to take.- Returns:
- Inverse
n:th root ofz, that isz-1/ne-i2πk/n. - Throws:
ArithmeticException- Ifzornis zero.ApfloatRuntimeException
-
allRoots
public static Apcomplex[] allRoots(Apcomplex z, int n) throws ArithmeticException, ApfloatRuntimeException All values of the positive integer root.Returns all of the
nvalues of the root, in the order of the angle, starting from the smallest angle and same sign of imaginary part asz.- Parameters:
z- The argument.n- Which root to take.- Returns:
- All values of the
n:th root ofz, that isz1/n, in the order of the angle. - Throws:
ArithmeticException- Ifnis zero.ApfloatRuntimeException- Since:
- 1.5
-
agm
Arithmetic-geometric mean.- Parameters:
a- First argument.b- Second argument.- Returns:
- Arithmetic-geometric mean of
aandb. - Throws:
ApfloatRuntimeException
-
log
Natural logarithm.The logarithm is calculated using the arithmetic-geometric mean. See the Borweins' book for the formula.
- Parameters:
z- The argument.- Returns:
- Natural logarithm of
z. - Throws:
ArithmeticException- Ifzis zero.ApfloatRuntimeException
-
log
public static Apcomplex log(Apcomplex z, Apcomplex w) throws ArithmeticException, ApfloatRuntimeException Logarithm in arbitrary base.- Parameters:
z- The argument.w- The base.- Returns:
- Base-
wlogarithm ofz. - Throws:
ArithmeticException- Ifzorwis zero.ApfloatRuntimeException- Since:
- 1.6
-
exp
Exponent function. Calculated using Newton's iteration for the inverse of logarithm.- Parameters:
z- The argument.- Returns:
ez.- Throws:
ApfloatRuntimeException
-
pow
Arbitrary power. Calculated usinglog()andexp().- Parameters:
z- The base.w- The exponent.- Returns:
zw.- Throws:
ArithmeticException- If bothzandware zero.ApfloatRuntimeException
-
acos
Inverse cosine. Calculated usinglog().- Parameters:
z- The argument.- Returns:
- Inverse cosine of
z. - Throws:
ApfloatRuntimeException
-
acosh
Inverse hyperbolic cosine. Calculated usinglog().- Parameters:
z- The argument.- Returns:
- Inverse hyperbolic cosine of
z. - Throws:
ApfloatRuntimeException
-
asin
Inverse sine. Calculated usinglog().- Parameters:
z- The argument.- Returns:
- Inverse sine of
z. - Throws:
ApfloatRuntimeException
-
asinh
Inverse hyperbolic sine. Calculated usinglog().- Parameters:
z- The argument.- Returns:
- Inverse hyperbolic sine of
z. - Throws:
ApfloatRuntimeException
-
atan
Inverse tangent. Calculated usinglog().- Parameters:
z- The argument.- Returns:
- Inverse tangent of
z. - Throws:
ArithmeticException- Ifz == i.ApfloatRuntimeException
-
atanh
Inverse hyperbolic tangent. Calculated usinglog().- Parameters:
z- The argument.- Returns:
- Inverse hyperbolic tangent of
z. - Throws:
ArithmeticException- Ifzis 1 or -1.ApfloatRuntimeException
-
cos
Cosine. Calculated usingexp().- Parameters:
z- The argument.- Returns:
- Cosine of
z. - Throws:
ApfloatRuntimeException
-
cosh
Hyperbolic cosine. Calculated usingexp().- Parameters:
z- The argument.- Returns:
- Hyperbolic cosine of
z. - Throws:
ApfloatRuntimeException
-
sin
Sine. Calculated usingexp().- Parameters:
z- The argument.- Returns:
- Sine of
z. - Throws:
ApfloatRuntimeException
-
sinh
Hyperbolic sine. Calculated usingexp().- Parameters:
z- The argument.- Returns:
- Hyperbolic sine of
z. - Throws:
ApfloatRuntimeException
-
tan
Tangent. Calculated usingexp().- Parameters:
z- The argument.- Returns:
- Tangent of
z. - Throws:
ArithmeticException- Ifzis π/2 + n π where n is an integer.ApfloatRuntimeException
-
tanh
Hyperbolic tangent. Calculated usingexp().- Parameters:
z- The argument.- Returns:
- Hyperbolic tangent of
z. - Throws:
ArithmeticException- Ifzis i (π/2 + n π) where n is an integer.ApfloatRuntimeException
-
sinc
Sinc.- Parameters:
z- The argument.- Returns:
- sinc(z)
- Throws:
ApfloatRuntimeException- Since:
- 1.14.0
-
w
Lambert W function. The W function gives the solution to the equationW eW = z. Also known as the product logarithm.This function gives the solution to the principal branch, W0.
- Parameters:
z- The argument.- Returns:
W0(z).- Throws:
ApfloatRuntimeException- Since:
- 1.8.0
-
w
Lambert W function for the specified branch.- Parameters:
z- The argument.k- The branch.- Returns:
Wk(z).- Throws:
ArithmeticException- Ifzis zero andkis not zero.ApfloatRuntimeException- Since:
- 1.8.0
- See Also:
-
product
Product of numbers. The precision used in the multiplications is only what is needed for the end result. This method may perform significantly better than simply multiplying the numbers sequentially.If there are no arguments, the return value is
1.- Parameters:
z- The argument(s).- Returns:
- The product of the given numbers.
- Throws:
ApfloatRuntimeException- Since:
- 1.3
-
sum
Sum of numbers. The precision used in the additions is only what is needed for the end result. This method may perform significantly better than simply adding the numbers sequentially.If there are no arguments, the return value is
0.- Parameters:
z- The argument(s).- Returns:
- The sum of the given numbers.
- Throws:
ApfloatRuntimeException- Since:
- 1.3
-
gamma
Gamma function.- Parameters:
z- The argument.- Returns:
Γ(z)- Throws:
ArithmeticException- Ifzis a nonpositive integer.ApfloatRuntimeException- Since:
- 1.9.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. The asymptotic complexity is at least O(n2log n) and it is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the gamma function.
-
gamma
public static Apcomplex gamma(Apcomplex a, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Incomplete gamma function.- Parameters:
a- The first argument.z- The second argument.- Returns:
Γ(a, z)- Throws:
ArithmeticException- If the real part ofais nonpositive andzis zero.ApfloatRuntimeException- Since:
- 1.10.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. The asymptotic complexity is at least O(n2log n) and it is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the incomplete gamma function.
-
gamma
public static Apcomplex gamma(Apcomplex a, Apcomplex z0, Apcomplex z1) throws ArithmeticException, ApfloatRuntimeException Generalized incomplete gamma function.This function is defined as:
Γ(a, z0, z1) = Γ(a, z0) - Γ(a, z1)The lower gamma function can be calculated with:
γ(a, z) = Γ(a, 0, z)- Parameters:
a- The first argument.z0- The second argument.z1- The third argument.- Returns:
Γ(a, z0, z1)- Throws:
ArithmeticException- If the real part ofais nonpositive and eitherz0orz1is zero. For the lower gamma function ifais a nonpositive integer.ApfloatRuntimeException- Since:
- 1.10.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. The asymptotic complexity is at least O(n2log n) and it is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the incomplete gamma function.
-
logGamma
Logarithm of the gamma function. Note that this function has a different branch structure thanlog(gamma(z)).- Parameters:
z- The argument.- Returns:
logΓ(z)- Throws:
ArithmeticException- Ifzis a nonpositive integer.ApfloatRuntimeException- Since:
- 1.11.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. The asymptotic complexity is at least O(n2log n) and it is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the gamma function.
-
digamma
Digamma function.- Parameters:
z- The argument.- Returns:
ψ(z)- Throws:
ArithmeticException- Ifzis a nonpositive integer.ApfloatRuntimeException- Since:
- 1.11.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. The asymptotic complexity is at least O(n2log n) and it is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the digamma function.
-
polygamma
public static Apcomplex polygamma(long n, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Polygamma function.- Parameters:
n- The order.z- The argument.- Returns:
ψ(n)(z)- Throws:
ArithmeticException- Ifnis negative orzis a nonpositive integer.ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. The asymptotic complexity is at least O(n2log n) and it is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the polygamma function.
-
beta
public static Apcomplex beta(Apcomplex a, Apcomplex b) throws ArithmeticException, ApfloatRuntimeException Beta function.- Parameters:
a- The first argument.b- The second argument.- Returns:
- B(a, b)
- Throws:
ArithmeticException- Ifaorbis a nonpositive integer buta + bis not. Also if bothaandbare nonpositive integers.ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. The asymptotic complexity is at least O(n2log n) and it is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the beta function.
-
beta
public static Apcomplex beta(Apcomplex z, Apcomplex a, Apcomplex b) throws ArithmeticException, ApfloatRuntimeException Incomplete beta function.- Parameters:
z- The first argument.a- The second argument.b- The third argument.- Returns:
- Bz(a, b)
- Throws:
ArithmeticException- Ifais a nonpositive integer orzis zero andahas nonpositive real part.ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. The asymptotic complexity is at least O(n2log n) and it is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
beta
public static Apcomplex beta(Apcomplex z1, Apcomplex z2, Apcomplex a, Apcomplex b) throws ArithmeticException, ApfloatRuntimeException Generalized incomplete beta function.- Parameters:
z1- The first argument.z2- The second argument.a- The third argument.b- The fourth argument.- Returns:
- B(z1, z2)(a, b)
- Throws:
ArithmeticException- Ifais a nonpositive integer orz1orz2is zero andahas nonpositive real part.ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. The asymptotic complexity is at least O(n2log n) and it is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
pochhammer
public static Apcomplex pochhammer(Apcomplex z, Apcomplex n) throws ArithmeticException, ApfloatRuntimeException Pochhammer symbol.- Parameters:
z- The first argument.n- The second argument.- Returns:
(z)n- Throws:
ArithmeticException- Ifz + nis a nonpositive integer butzis not.ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. The asymptotic complexity is at least O(n2log n) and it is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the pochhammer symbol.
-
binomial
public static Apcomplex binomial(Apcomplex n, Apcomplex k) throws ArithmeticException, ApfloatRuntimeException Binomial coefficient. Calculated using thegamma(Apcomplex)function.- Parameters:
n- The first argument.k- The second argument.- Returns:
- Throws:
ArithmeticException- Ifnis a negative integer andkis noninteger.ApfloatRuntimeException- Since:
- 1.11.0
-
zeta
Riemann zeta function.- Parameters:
s- The argument.- Returns:
ζ(s)- Throws:
ArithmeticException- Ifsis1.ApfloatRuntimeException- Since:
- 1.11.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few hundred digits. At the time of implementation no generic fast algorithm is known for the zeta function.
-
zeta
public static Apcomplex zeta(Apcomplex s, Apcomplex a) throws ArithmeticException, ApfloatRuntimeException Hurwitz zeta function.- Parameters:
s- The first argument.a- The second argument.- Returns:
ζ(s, a)- Throws:
ArithmeticException- Ifsis1or ifais a nonpositive integer.ApfloatRuntimeException- Since:
- 1.11.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few hundred digits. At the time of implementation no generic fast algorithm is known for the zeta function.
-
hypergeometric0F1
public static Apcomplex hypergeometric0F1(Apcomplex a, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Confluent hypergeometric function 0F1.- Parameters:
a- The first argument.z- The second argument.- Returns:
- 0F1(; a; z)
- Throws:
ArithmeticException- If the function value is not finite.ApfloatRuntimeException- Since:
- 1.11.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
hypergeometric0F1Regularized
public static Apcomplex hypergeometric0F1Regularized(Apcomplex a, Apcomplex z) throws ApfloatRuntimeException Regularized confluent hypergeometric function 0F̃1.- Parameters:
a- The first argument.z- The second argument.- Returns:
- 0F̃1(; a; z)
- Throws:
ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
hypergeometric1F1
public static Apcomplex hypergeometric1F1(Apcomplex a, Apcomplex b, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Kummer confluent hypergeometric function 1F1. Also known as the confluent hypergeometric function of the first kind.- Parameters:
a- The first argument.b- The second argument.z- The third argument.- Returns:
- 1F1(a; b; z)
- Throws:
ArithmeticException- If the function value is not finite.ApfloatRuntimeException- Since:
- 1.11.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
hypergeometric1F1Regularized
public static Apcomplex hypergeometric1F1Regularized(Apcomplex a, Apcomplex b, Apcomplex z) throws ApfloatRuntimeException Regularized Kummer confluent hypergeometric function 1F̃1. Also known as the regularized confluent hypergeometric function of the first kind.- Parameters:
a- The first argument.b- The second argument.z- The third argument.- Returns:
- 1F̃1(a; b; z)
- Throws:
ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
hypergeometric2F1
public static Apcomplex hypergeometric2F1(Apcomplex a, Apcomplex b, Apcomplex c, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Hypergeometric function 2F1. Also known as the Gaussian or ordinary hypergeometric function.- Parameters:
a- The first argument.b- The second argument.c- The third argument.z- The fourth argument.- Returns:
- 2F1(a, b; c; z)
- Throws:
ArithmeticException- If the function value is not finite.ApfloatRuntimeException- Since:
- 1.11.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
hypergeometric2F1Regularized
public static Apcomplex hypergeometric2F1Regularized(Apcomplex a, Apcomplex b, Apcomplex c, Apcomplex z) throws ApfloatRuntimeException Regularized hypergeometric function 2F̃1. Also known as the regularized Gaussian or ordinary hypergeometric function.- Parameters:
a- The first argument.b- The second argument.c- The third argument.z- The fourth argument.- Returns:
- 2F̃1(a, b; c; z)
- Throws:
ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
hypergeometricU
public static Apcomplex hypergeometricU(Apcomplex a, Apcomplex b, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Tricomi's confluent hypergeometric function U. Also known as the confluent hypergeometric function of the second kind.- Parameters:
a- The first argument.b- The second argument.z- The third argument.- Returns:
- U(a, b, z)
- Throws:
ArithmeticException- If the result is not finite.ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
erf
Error function.- Parameters:
z- The argument.- Returns:
- erf(z)
- Throws:
ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
erfc
Complementary error function.- Parameters:
z- The argument.- Returns:
- erfc(z)
- Throws:
ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
erfi
Imaginary error function.- Parameters:
z- The argument.- Returns:
- erfi(z)
- Throws:
ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
fresnelS
Fresnel integral S.- Parameters:
z- The argument.- Returns:
- S(z)
- Throws:
ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
fresnelC
Fresnel integral C.- Parameters:
z- The argument.- Returns:
- C(z)
- Throws:
ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
expIntegralE
public static Apcomplex expIntegralE(Apcomplex ν, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Exponential integral E.- Parameters:
ν- The first argument.z- The second argument.- Returns:
- Eν(z)
- Throws:
ArithmeticException- If real part ofνis ≤ 1 andzis zero.ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
expIntegralEi
public static Apcomplex expIntegralEi(Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Exponential integral Ei.- Parameters:
z- The argument.- Returns:
- Ei(z)
- Throws:
ArithmeticException- Ifzis zero.ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
logIntegral
public static Apcomplex logIntegral(Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Logarithmic integral.- Parameters:
z- The argument.- Returns:
- li(z)
- Throws:
ArithmeticException- Ifzis zero.ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
sinIntegral
Sine integral.- Parameters:
z- The argument.- Returns:
- Si(z)
- Throws:
ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
cosIntegral
public static Apcomplex cosIntegral(Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Cosine integral.- Parameters:
z- The argument.- Returns:
- Ci(z)
- Throws:
ArithmeticException- Ifzis zero.ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
sinhIntegral
Hyperbolic sine integral.- Parameters:
z- The argument.- Returns:
- Shi(z)
- Throws:
ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
coshIntegral
public static Apcomplex coshIntegral(Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Hyperbolic cosine integral.- Parameters:
z- The argument.- Returns:
- Chi(z)
- Throws:
ArithmeticException- Ifzis zero.ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
airyAi
Airy function Ai.- Parameters:
z- The argument.- Returns:
- Ai(z)
- Throws:
InfiniteExpansionException- Ifzis zero.ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
airyAiPrime
Derivative of the Airy function Ai.- Parameters:
z- The argument.- Returns:
- Ai′(z)
- Throws:
InfiniteExpansionException- Ifzis zero.ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
airyBi
Airy function Bi.- Parameters:
z- The argument.- Returns:
- Bi(z)
- Throws:
InfiniteExpansionException- Ifzis zero.ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
airyBiPrime
Derivative of the Airy function Bi.- Parameters:
z- The argument.- Returns:
- Bi′(z)
- Throws:
InfiniteExpansionException- Ifzis zero.ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
besselJ
public static Apcomplex besselJ(Apcomplex ν, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Bessel function of the first kind.- Parameters:
ν- The order.z- The argument.- Returns:
- Jν(z)
- Throws:
ArithmeticException- If the real part ofνis < 0 andνis not an integer andzis zero. Also if the real part ofνis zero but the imaginary part is not, andzis zero.ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
besselI
public static Apcomplex besselI(Apcomplex ν, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Modified Bessel function of the first kind.- Parameters:
ν- The order.z- The argument.- Returns:
- Iν(z)
- Throws:
ArithmeticException- If the real part ofνis < 0 andνis not an integer andzis zero. Also if the real part ofνis zero but the imaginary part is not, andzis zero.ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
besselY
public static Apcomplex besselY(Apcomplex ν, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Bessel function of the second kind.- Parameters:
ν- The order.z- The argument.- Returns:
- Yν(z)
- Throws:
ArithmeticException- Ifzis zero.ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
besselK
public static Apcomplex besselK(Apcomplex ν, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Modified Bessel function of the second kind.- Parameters:
ν- The order.z- The argument.- Returns:
- Kν(z)
- Throws:
ArithmeticException- Ifzis zero.ApfloatRuntimeException- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
ellipticK
Complete elliptic integral of the first kind.Note that this function uses the definition:
- Parameters:
z- The argument.- Returns:
- K(z)
- Throws:
InfiniteExpansionException- Ifzis zero.ArithmeticException- Ifzis one.ApfloatRuntimeException- Since:
- 1.13.0
-
ellipticE
Complete elliptic integral of the second kind.Note that this function uses the definition:
- Parameters:
z- The argument.- Returns:
- E(z)
- Throws:
InfiniteExpansionException- Ifzis zero.ApfloatRuntimeException- Since:
- 1.13.0
-
hermiteH
Hermite function. For integer values ofνgives the Hermite polynomial.- Parameters:
ν- The first argument.z- The second argument.- Returns:
- Hν(z)
- Throws:
ApfloatRuntimeException- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
laguerreL
Laguerre function. For integer values ofνgives the Laguerre polynomial.- Parameters:
ν- The first argument.z- The second argument.- Returns:
- Lν(z)
- Throws:
ApfloatRuntimeException- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
laguerreL
public static Apcomplex laguerreL(Apcomplex ν, Apcomplex λ, Apcomplex z) throws ApfloatRuntimeException Generalized Laguerre function. For integer values ofνgives the generalized Laguerre polynomial.- Parameters:
ν- The first argument.λ- The second argument.z- The third argument.- Returns:
- Lνλ(z)
- Throws:
ApfloatRuntimeException- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
legendreP
public static Apcomplex legendreP(Apcomplex ν, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Legendre function. For integer values ofνgives the Legendre polynomial.- Parameters:
ν- The first argument.z- The second argument.- Returns:
- Pν(z)
- Throws:
ArithmeticException- Ifνis not an integer andzis -1.ApfloatRuntimeException- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
legendreP
public static Apcomplex legendreP(Apcomplex ν, Apcomplex μ, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Associated Legendre function of the first kind. Gives Legendre functions of type 2.- Parameters:
ν- The first argument.μ- The second argument.z- The third argument.- Returns:
- Pνμ(z)
- Throws:
ArithmeticException- Ifνis not an integer andzis -1.ApfloatRuntimeException- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
legendreQ
public static Apcomplex legendreQ(Apcomplex ν, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Legendre function of the second kind.- Parameters:
ν- The first argument.z- The second argument.- Returns:
- Qν(z)
- Throws:
ArithmeticException- Ifzis 1 or -1.ApfloatRuntimeException- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
legendreQ
public static Apcomplex legendreQ(Apcomplex ν, Apcomplex μ, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Associated Legendre function of the second kind. Gives Legendre functions of type 2.- Parameters:
ν- The first argument.μ- The second argument.z- The third argument.- Returns:
- Qνμ(z)
- Throws:
ArithmeticException- Ifzis 1 or -1.ApfloatRuntimeException- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
sphericalHarmonicY
public static Apcomplex sphericalHarmonicY(Apcomplex λ, Apcomplex μ, Apcomplex ϑ, Apcomplex ϕ) throws ArithmeticException, ApfloatRuntimeException Spherical harmonic function.- Parameters:
λ- The first argument.μ- The second argument.ϑ- The third argument.ϕ- The fourth argument.- Returns:
- Yλμ(ϑ, φ)
- Throws:
ArithmeticException- Ifϑis π plus a multiple of 2 π and μ is not an integer and has a negative real part, or ifλ - μis a negative integer.ApfloatRuntimeException- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
chebyshevT
Chebyshev function of the first kind. For integer values ofνgives the Chebyshev polynomial of the first kind.- Parameters:
ν- The first argument.z- The second argument.- Returns:
- Tν(z)
- Throws:
ApfloatRuntimeException- Since:
- 1.14.0
-
chebyshevU
public static Apcomplex chebyshevU(Apcomplex ν, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Chebyshev function of the second kind. For integer values ofνgives the Chebyshev polynomial of the second kind.- Parameters:
ν- The first argument.z- The second argument.- Returns:
- Uν(z)
- Throws:
ArithmeticException- Ifzis -1 andνis not an integer.ApfloatRuntimeException- Since:
- 1.14.0
-
gegenbauerC
public static Apcomplex gegenbauerC(Apcomplex ν, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Renormalized Gegenbauer function.- Parameters:
ν- The first argument.z- The second argument.- Returns:
- Cν(0)(z)
- Throws:
ArithmeticException- Ifνis zero.ApfloatRuntimeException- Since:
- 1.14.0
-
gegenbauerC
public static Apcomplex gegenbauerC(Apcomplex ν, Apcomplex λ, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Gegenbauer function. For nonnegative integer values ofνgives the Gegenbauer polynomial.- Parameters:
ν- The first argument.λ- The second argument.z- The third argument.- Returns:
- Cνλ(z)
- Throws:
ArithmeticException- Ifzis -1 and real part ofλis > 1/2. Also ifzis -1 andλis 1/2 andνis not an integer.ApfloatRuntimeException- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
jacobiP
public static Apcomplex jacobiP(Apcomplex ν, Apcomplex a, Apcomplex b, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Jacobi function. For nonnegative integer values ofνgives the Jacobi polynomial.- Parameters:
ν- The first argument.a- The second argument.b- The third argument.z- The fourth argument.- Returns:
- Pν(a,b)(z)
- Throws:
ArithmeticException- Ifzis -1 and real part ofbis > 0 andνis not a positive integer. Also ifν + ais a negative integer andνis not an integer.ApfloatRuntimeException- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
fibonacci
public static Apcomplex fibonacci(Apcomplex ν, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Fibonacci function. For nonnegative integer values ofνgives the Fibonacci polynomial.- Parameters:
ν- The first argument.z- The second argument.- Returns:
- Fν(z)
- Throws:
ArithmeticException- Ifzis -1 andνis not an integer.ApfloatRuntimeException- Since:
- 1.14.0
-
eulerE
public static Apcomplex eulerE(long n, Apcomplex z) throws IllegalArgumentException, ApfloatRuntimeException Euler polynomial.- Parameters:
n- The first argument.z- The second argument.- Returns:
- En(z)
- Throws:
IllegalArgumentException- Ifn< 0.ApfloatRuntimeException- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
bernoulliB
public static Apcomplex bernoulliB(long n, Apcomplex z) throws IllegalArgumentException, ApfloatRuntimeException Bernoulli polynomial.- Parameters:
n- The first argument.z- The second argument.- Returns:
- Bn(z)
- Throws:
IllegalArgumentException- Ifn< 0.ApfloatRuntimeException- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
harmonicNumber
public static Apcomplex harmonicNumber(Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Harmonic number.- Parameters:
z- The argument.- Returns:
- Hz
- Throws:
ArithmeticException- Ifzis a negative integer.ApfloatRuntimeException- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
harmonicNumber
public static Apcomplex harmonicNumber(Apcomplex z, Apcomplex r) throws ArithmeticException, ApfloatRuntimeException Generalized harmonic number.- Parameters:
z- The first argument.r- The second argument.- Returns:
- Hz(r)
- Throws:
ArithmeticException- Ifzis a negative integer, unlessrhas a negative real part or is zero.ApfloatRuntimeException- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
polylog
public static Apcomplex polylog(Apcomplex ν, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Polylogarithm.- Parameters:
ν- The first argument.z- The second argument.- Returns:
- Liν(z)
- Throws:
ArithmeticException- If the real part ofνis ≤ 1 andzis 1.ApfloatRuntimeException- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
logisticSigmoid
public static Apcomplex logisticSigmoid(Apcomplex z) throws ArithmeticException, ApfloatRuntimeException Logistic sigmoid.- Parameters:
z- The argument.- Returns:
- σ(z)
- Throws:
ArithmeticException- Ifzis an odd integer multiple of π i.ApfloatRuntimeException- Since:
- 1.14.0
-
ulp
Returns the unit in the last place of the argument, considering the scale and precision. This is maximum of the ulps of the real and imaginary part of the argument. If the precision of the argument is infinite, zero is returned.- Parameters:
z- The argument.- Returns:
- The ulp of the argument.
- Since:
- 1.10.0
-
Apcomplex.negate().