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 Apfloat
Absolute value.static Apcomplex
Inverse cosine.static Apcomplex
Inverse hyperbolic cosine.static Apcomplex
Arithmetic-geometric mean.static Apcomplex
Airy function Ai.static Apcomplex
Derivative of the Airy function Ai.static Apcomplex
Airy function Bi.static Apcomplex
Derivative of the Airy function Bi.static Apcomplex[]
All values of the positive integer root.static Apfloat
Angle of the complex vector in the complex plane.static Apcomplex
Inverse sine.static Apcomplex
Inverse hyperbolic sine.static Apcomplex
Inverse tangent.static Apcomplex
Inverse hyperbolic tangent.static Apcomplex
bernoulliB
(long n, Apcomplex z) Bernoulli polynomial.static Apcomplex
Modified Bessel function of the first kind.static Apcomplex
Bessel function of the first kind.static Apcomplex
Modified Bessel function of the second kind.static Apcomplex
Bessel function of the second kind.static Apcomplex
Beta function.static Apcomplex
Incomplete beta function.static Apcomplex
Generalized incomplete beta function.static Apcomplex
Binomial coefficient.static Apcomplex
Cube root.static Apcomplex
chebyshevT
(Apcomplex ν, Apcomplex z) Chebyshev function of the first kind.static Apcomplex
chebyshevU
(Apcomplex ν, Apcomplex z) Chebyshev function of the second kind.static Apcomplex
Cosine.static Apcomplex
Hyperbolic cosine.static Apcomplex
Hyperbolic cosine integral.static Apcomplex
Cosine integral.static Apcomplex
Digamma function.static Apcomplex
Complete elliptic integral of the second kind.static Apcomplex
Complete elliptic integral of the first kind.static Apcomplex
Error function.static Apcomplex
Complementary error function.static Apcomplex
Imaginary error function.static Apcomplex
Euler polynomial.static Apcomplex
Exponent function.static Apcomplex
expIntegralE
(Apcomplex ν, Apcomplex z) Exponential integral E.static Apcomplex
Exponential integral Ei.static Apcomplex
Fibonacci function.static Apcomplex
Fresnel integral C.static Apcomplex
Fresnel integral S.static Apcomplex
Gamma function.static Apcomplex
Incomplete gamma function.static Apcomplex
Generalized incomplete gamma function.static Apcomplex
gegenbauerC
(Apcomplex ν, Apcomplex z) Renormalized Gegenbauer function.static Apcomplex
gegenbauerC
(Apcomplex ν, Apcomplex λ, Apcomplex z) Gegenbauer function.static Apcomplex
Harmonic number.static Apcomplex
harmonicNumber
(Apcomplex z, Apcomplex r) Generalized harmonic number.static Apcomplex
Hermite function.static Apcomplex
Confluent hypergeometric function 0F1.static Apcomplex
Regularized confluent hypergeometric function 0F̃1.static Apcomplex
hypergeometric1F1
(Apcomplex a, Apcomplex b, Apcomplex z) Kummer confluent hypergeometric function 1F1.static Apcomplex
Regularized Kummer confluent hypergeometric function 1F̃1.static Apcomplex
hypergeometric2F1
(Apcomplex a, Apcomplex b, Apcomplex c, Apcomplex z) Hypergeometric function 2F1.static Apcomplex
hypergeometric2F1Regularized
(Apcomplex a, Apcomplex b, Apcomplex c, Apcomplex z) Regularized hypergeometric function 2F̃1.static Apcomplex
hypergeometricU
(Apcomplex a, Apcomplex b, Apcomplex z) Tricomi's confluent hypergeometric function U.static Apcomplex
inverseRoot
(Apcomplex z, long n) Inverse positive integer root.static Apcomplex
inverseRoot
(Apcomplex z, long n, long k) Inverse positive integer root.static Apcomplex
Jacobi function.static Apcomplex
Laguerre function.static Apcomplex
Generalized Laguerre function.static Apcomplex
Legendre function.static Apcomplex
Associated Legendre function of the first kind.static Apcomplex
Legendre function of the second kind.static Apcomplex
Associated Legendre function of the second kind.static Apcomplex
Natural logarithm.static Apcomplex
Logarithm in arbitrary base.static Apcomplex
Logarithm of the gamma function.static Apcomplex
Logarithmic integral.static Apcomplex
Logistic sigmoid.static Apcomplex
Deprecated.static Apfloat
Norm.static Apcomplex
pochhammer
(Apcomplex z, Apcomplex n) Pochhammer symbol.static Apcomplex
Polygamma function.static Apcomplex
Polylogarithm.static Apcomplex
Integer power.static Apcomplex
Arbitrary power.static Apcomplex
Product of numbers.static Apcomplex
Positive integer root.static Apcomplex
Positive integer root.static Apcomplex
Multiply by a power of the radix.static Apcomplex
Sine.static Apcomplex
Sinc.static Apcomplex
Hyperbolic sine.static Apcomplex
Hyperbolic sine integral.static Apcomplex
Sine integral.static Apcomplex
sphericalHarmonicY
(Apcomplex λ, Apcomplex μ, Apcomplex ϑ, Apcomplex ϕ) Spherical harmonic function.static Apcomplex
Square root.static Apcomplex
Sum of numbers.static Apcomplex
Tangent.static Apcomplex
Hyperbolic tangent.static Apfloat
Returns the unit in the last place of the argument, considering the scale and precision.static Apcomplex
Lambert W function.static Apcomplex
Lambert W function for the specified branch.static Apcomplex
Riemann zeta function.static Apcomplex
Hurwitz 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
- Ifz
is 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:
z
to then
:th power, that iszn
.- Throws:
ArithmeticException
- If bothz
andn
are 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 asz
is always chosen.- Parameters:
z
- The argument.n
- Which root to take.- Returns:
n
:th root ofz
, that isz1/n
.- Throws:
ArithmeticException
- Ifn
is 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 asz
is chosen.- Parameters:
z
- The argument.n
- Which root to take.k
- Which branch to take.- Returns:
n
:th root ofz
, that isz1/nei2πsk/n
wheres
is the signum of the imaginary part ofz
.- Throws:
ArithmeticException
- Ifn
is 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 thanz
is always chosen.- Parameters:
z
- The argument.n
- Which inverse root to take.- Returns:
- Inverse
n
:th root ofz
, that isz-1/n
. - Throws:
ArithmeticException
- Ifz
orn
is 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 thanz
is 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
- Ifz
orn
is 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
n
values 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
- Ifn
is zero.ApfloatRuntimeException
- Since:
- 1.5
-
agm
Arithmetic-geometric mean.- Parameters:
a
- First argument.b
- Second argument.- Returns:
- Arithmetic-geometric mean of
a
andb
. - 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
- Ifz
is 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-
w
logarithm ofz
. - Throws:
ArithmeticException
- Ifz
orw
is 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 bothz
andw
are 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
- Ifz
is 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
- Ifz
is π/2 + n π where n is an integer.ApfloatRuntimeException
-
tanh
Hyperbolic tangent. Calculated usingexp()
.- Parameters:
z
- The argument.- Returns:
- Hyperbolic tangent of
z
. - Throws:
ArithmeticException
- Ifz
is 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
- Ifz
is zero andk
is 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
- Ifz
is 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 ofa
is nonpositive andz
is 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 ofa
is nonpositive and eitherz0
orz1
is zero. For the lower gamma function ifa
is 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
- Ifz
is 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
- Ifz
is 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
- Ifn
is negative orz
is 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
- Ifa
orb
is a nonpositive integer buta + b
is not. Also if botha
andb
are 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
- Ifa
is a nonpositive integer orz
is zero anda
has 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
- Ifa
is a nonpositive integer orz1
orz2
is zero anda
has 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 + n
is a nonpositive integer butz
is 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
- Ifn
is a negative integer andk
is noninteger.ApfloatRuntimeException
- Since:
- 1.11.0
-
zeta
Riemann zeta function.- Parameters:
s
- The argument.- Returns:
ζ(s)
- Throws:
ArithmeticException
- Ifs
is1
.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
- Ifs
is1
or ifa
is 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 andz
is 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
- Ifz
is 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
- Ifz
is 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
- Ifz
is 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
- Ifz
is 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
- Ifz
is 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
- Ifz
is 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
- Ifz
is 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
- Ifz
is 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 andz
is zero. Also if the real part ofν
is zero but the imaginary part is not, andz
is 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 andz
is zero. Also if the real part ofν
is zero but the imaginary part is not, andz
is 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
- Ifz
is 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
- Ifz
is 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
- Ifz
is zero.ArithmeticException
- Ifz
is 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
- Ifz
is 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 andz
is -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 andz
is -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
- Ifz
is 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
- Ifz
is 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
- Ifz
is -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
- Ifz
is -1 and real part ofλ
is > 1/2. Also ifz
is -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
- Ifz
is -1 and real part ofb
is > 0 andν
is not a positive integer. Also ifν + a
is 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
- Ifz
is -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
- Ifz
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.
-
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
- Ifz
is a negative integer, unlessr
has 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 andz
is 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
- Ifz
is 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()
.