Package org.apfloat
Class ApcomplexMath
java.lang.Object
org.apfloat.ApcomplexMath
Various mathematical functions for arbitrary precision complex numbers.
- Version:
- 1.14.0
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Apfloat
Absolute value.static Apcomplex
Inverse cosine.(package private) static Apcomplex
static Apcomplex
Inverse hyperbolic cosine.(package private) static Apcomplex
static Apcomplex
Arithmetic-geometric mean.(package private) static Apcomplex
private static Apcomplex
agmConsume
(Consumer<Apcomplex> consumer, Apcomplex a, Apcomplex c2, long workingPrecision) private static Apcomplex
static Apcomplex
Airy function Ai.(package private) static Apcomplex
static Apcomplex
Derivative of the Airy function Ai.(package private) static Apcomplex
airyAiPrime
(Apcomplex z0, long targetPrecision) static Apcomplex
Airy function Bi.(package private) static Apcomplex
static Apcomplex
Derivative of the Airy function Bi.(package private) static Apcomplex
airyBiPrime
(Apcomplex z0, long targetPrecision) 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.(package private) static Apcomplex
bernoulliB
(long n, Apcomplex z, long precision) 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.(package private) static Apcomplex
static Apcomplex
Digamma function.static Apcomplex
Complete elliptic integral of the second kind.(package private) static Apcomplex
static Apcomplex
Complete elliptic integral of the first kind.(package private) static Apcomplex
(package private) static Apcomplex
static Apcomplex
Error function.static Apcomplex
Complementary error function.(package private) static Apcomplex
(package private) static Apcomplex
static Apcomplex
Imaginary error function.(package private) static Apcomplex
static Apcomplex
Euler polynomial.(package private) static Apcomplex
static Apcomplex
Exponent function.static Apcomplex
expIntegralE
(Apcomplex ν, Apcomplex z) Exponential integral E.static Apcomplex
Exponential integral Ei.private static Apcomplex
static Apcomplex
Fibonacci function.static Apcomplex
Fresnel integral C.static Apcomplex
Fresnel integral S.private static Apcomplex
static Apcomplex
Gamma function.static Apcomplex
Incomplete gamma function.static Apcomplex
Generalized incomplete gamma function.private static Apcomplex
gegenbauerC
(long n, Apcomplex λ, Apcomplex z) 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.private static Apcomplex
inverseRootAbs
(Apcomplex z, long n, long k) (package private) static boolean
private static Apcomplex
static Apcomplex
Jacobi function.static Apcomplex
Laguerre function.static Apcomplex
Generalized Laguerre function.private static Apcomplex
lastIterationExtendPrecision
(int iterations, int precisingIteration, Apcomplex z) 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.private static Apcomplex
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.private static Apcomplex
logPochhammer
(Apcomplex z, long n) private static Apcomplex
static Apcomplex
Deprecated.static Apfloat
Norm.(package private) static Apcomplex
pochhammer
(Apcomplex z, long n) static Apcomplex
pochhammer
(Apcomplex z, Apcomplex n) Pochhammer symbol.static Apcomplex
Polygamma function.static Apcomplex
Polylogarithm.static Apcomplex
Integer power.static Apcomplex
Arbitrary power.private static Apcomplex
static Apcomplex
Product of numbers.private static Apcomplex
private static Apcomplex
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.private static Apcomplex
sphericalHarmonicY
(Apint n, Apint m, Apcomplex ϑ, Apcomplex ϕ) static Apcomplex
Square root.static Apcomplex
Sum of numbers.static Apcomplex
Tangent.(package private) static Apcomplex
(package private) static Apcomplex
static Apcomplex
Hyperbolic tangent.private static Apcomplex
(package private) static Apcomplex
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.
-
Constructor Details
-
ApcomplexMath
private ApcomplexMath()
-
-
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
-
powAbs
private static Apcomplex powAbs(Apcomplex z, long n) throws ArithmeticException, 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
-
inverseRootAbs
private static Apcomplex inverseRootAbs(Apcomplex z, long n, long k) throws ArithmeticException, 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
-
agm
static Apcomplex agm(Apcomplex a, Apcomplex b, Consumer<Apcomplex> consumer) throws ApfloatRuntimeException - Throws:
ApfloatRuntimeException
-
limitPrecision
-
rightSqrt
-
agmConsume
-
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
-
rawLog
- Throws:
ApfloatRuntimeException
-
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
-
acos
-
acosh
Inverse hyperbolic cosine. Calculated usinglog()
.- Parameters:
z
- The argument.- Returns:
- Inverse hyperbolic cosine of
z
. - Throws:
ApfloatRuntimeException
-
acosh
-
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
-
tanFixedPrecision
-
tan
static Apcomplex tan(Apcomplex z, boolean negate) throws ArithmeticException, 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
-
tanhFixedPrecision
static Apcomplex tanhFixedPrecision(Apcomplex z) throws ArithmeticException, ApfloatRuntimeException -
tanh
private static Apcomplex tanh(Apcomplex z, boolean negate) throws ArithmeticException, ApfloatRuntimeException -
cot
-
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
-
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
-
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
-
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
-
logSin
-
expNoLoP
-
logPochhammer
-
digamma
Digamma function.- Parameters:
z
- The argument.- Returns:
ψ(z)
- Throws:
ArithmeticException
- Ifz
is a nonpositive integer.ApfloatRuntimeException
- Since:
- 1.11.0
-
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
-
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
-
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
-
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
-
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
-
pochhammer
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
erf
Error function.- Parameters:
z
- The argument.- Returns:
- erf(z)
- Throws:
ApfloatRuntimeException
- Since:
- 1.13.0
-
erfFixedPrecision
- Throws:
ApfloatRuntimeException
-
erfc
Complementary error function.- Parameters:
z
- The argument.- Returns:
- erfc(z)
- Throws:
ApfloatRuntimeException
- Since:
- 1.13.0
-
erfcFixedPrecision
- Throws:
ApfloatRuntimeException
-
erfi
Imaginary error function.- Parameters:
z
- The argument.- Returns:
- erfi(z)
- Throws:
ApfloatRuntimeException
- Since:
- 1.13.0
-
erfiFixedPrecision
- Throws:
ApfloatRuntimeException
-
fresnelS
Fresnel integral S.- Parameters:
z
- The argument.- Returns:
- S(z)
- Throws:
ApfloatRuntimeException
- Since:
- 1.13.0
-
fresnelC
Fresnel integral C.- Parameters:
z
- The argument.- Returns:
- C(z)
- Throws:
ApfloatRuntimeException
- Since:
- 1.13.0
-
fresnelTerm
private static Apcomplex fresnelTerm(Apint one, Apfloat half, Apfloat invSqrtPi, Apcomplex iz2, Apcomplex iHalfPiZ2) throws ApfloatRuntimeException - Throws:
ApfloatRuntimeException
-
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
-
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
-
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
-
sinIntegral
Sine integral.- Parameters:
z
- The argument.- Returns:
- Si(z)
- Throws:
ApfloatRuntimeException
- Since:
- 1.13.0
-
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
-
sinhIntegral
Hyperbolic sine integral.- Parameters:
z
- The argument.- Returns:
- Shi(z)
- Throws:
ApfloatRuntimeException
- Since:
- 1.13.0
-
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
-
airyAi
Airy function Ai.- Parameters:
z
- The argument.- Returns:
- Ai(z)
- Throws:
InfiniteExpansionException
- Ifz
is zero.ApfloatRuntimeException
- Since:
- 1.13.0
-
airyAi
- Throws:
ApfloatRuntimeException
-
airyAiPrime
Derivative of the Airy function Ai.- Parameters:
z
- The argument.- Returns:
- Ai′(z)
- Throws:
InfiniteExpansionException
- Ifz
is zero.ApfloatRuntimeException
- Since:
- 1.13.0
-
airyAiPrime
- Throws:
ApfloatRuntimeException
-
airyBi
Airy function Bi.- Parameters:
z
- The argument.- Returns:
- Bi(z)
- Throws:
InfiniteExpansionException
- Ifz
is zero.ApfloatRuntimeException
- Since:
- 1.13.0
-
airyBi
- Throws:
ApfloatRuntimeException
-
airyBiPrime
Derivative of the Airy function Bi.- Parameters:
z
- The argument.- Returns:
- Bi′(z)
- Throws:
InfiniteExpansionException
- Ifz
is zero.ApfloatRuntimeException
- Since:
- 1.13.0
-
airyBiPrime
- Throws:
ApfloatRuntimeException
-
airy
-
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
-
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
-
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
-
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
-
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
-
ellipticK
static Apcomplex ellipticK(Apcomplex z, long precision) throws ArithmeticException, ApfloatRuntimeException -
ellipticK
static Apcomplex ellipticK(Apcomplex z, long precision, Consumer<Apcomplex> consumer) throws ArithmeticException, ApfloatRuntimeException -
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
-
ellipticE
- Throws:
ApfloatRuntimeException
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
sphericalHarmonicY
private static Apcomplex sphericalHarmonicY(Apint n, Apint m, Apcomplex ϑ, Apcomplex ϕ) throws ArithmeticException, ApfloatRuntimeException -
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
-
gegenbauerC
private static Apcomplex gegenbauerC(long n, Apcomplex λ, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException -
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
-
jacobiP
private static Apcomplex jacobiP(long n, Apcomplex a, Apcomplex b, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException -
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
-
eulerE
static Apcomplex eulerE(long n, Apcomplex z, long precision) throws IllegalArgumentException, ApfloatRuntimeException -
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
-
bernoulliB
static Apcomplex bernoulliB(long n, Apcomplex z, long precision) throws IllegalArgumentException, ApfloatRuntimeException -
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
-
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
-
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
-
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
-
lastIterationExtendPrecision
-
isNonPositiveInteger
-
Apcomplex.negate()
.