Class HypergeometricHelper
java.lang.Object
org.apfloat.HypergeometricHelper
Helper class for hypergeometric functions.
- Since:
- 1.11.0
- Version:
- 1.14.0
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate classprivate static classprivate static classprivate static enum -
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateHypergeometricHelper(Apcomplex[] a, Apcomplex[] b, Apcomplex z) Helper for the generalized hypergeometric function pFq. -
Method Summary
Modifier and TypeMethodDescriptionprivate ApfloatadjustOffset(Apfloat x, Apfloat offset) private Apcomplexalternative(Apcomplex a, Apcomplex b, Apcomplex c, Apcomplex z) private voidcheckDivergence(Apcomplex old, Apcomplex term) private Apcomplexprivate Apcomplexprivate Apcomplexprivate voidensurePrecision(Apcomplex[] src, Apcomplex[] dest, long extendedPrecision) private Apcomplexprivate Apcomplexprivate Apcomplexhypergeometric1F1(Apcomplex a, Apcomplex b, Apcomplex z) private Apcomplexprivate Apcomplexhypergeometric2F1(Apcomplex a, Apcomplex b, Apcomplex c, Apcomplex z) private Apcomplexstatic ApcomplexhypergeometricPFQ(Apcomplex[] a, Apcomplex[] b, Apcomplex z) Generalized hypergeometric function pFq.private Apcomplexstatic ApcomplexhypergeometricPFQRegularized(Apcomplex[] a, Apcomplex[] b, Apcomplex z) Regularized generalized hypergeometric function pF̃q.private ApcomplexhypergeometricU(boolean fastOnly) static ApcomplexhypergeometricU(Apcomplex a, Apcomplex b, Apcomplex z, boolean fastOnly) Tricomi's confluent hypergeometric function U.private ApcomplexhypergeometricUStar(Apcomplex a, Apcomplex b, Apcomplex z) static Apfloatprivate Apfloatoffset(long scale) private static longprivate static longprivate Apcomplex
-
Field Details
-
targetPrecision
private long targetPrecision -
extraPrecision
private long extraPrecision -
workingPrecision
private long workingPrecision -
radix
private int radix -
a
-
b
-
z
-
one
-
zero
-
-
Constructor Details
-
HypergeometricHelper
-
-
Method Details
-
hypergeometricPFQ
Generalized hypergeometric function pFq.- Parameters:
a- The first argument.b- The second argument.z- The third argument.- Returns:
- pFq(a1, …, ap; b1, …, bq; z)
- Throws:
ArithmeticException- If the series does not converge.
-
hypergeometricPFQRegularized
Regularized generalized hypergeometric function pF̃q.- Parameters:
a- The first argument.b- The second argument.z- The third argument.- Returns:
- pF̃q(a1, …, ap; b1, …, bq; z)
- Throws:
ArithmeticException- If the series does not converge.- Since:
- 1.13.0
-
hypergeometricPFQRegularized
-
hypergeometricU
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.fastOnly- Only attempt relatively fast algorithms and return null if not applicable- Returns:
- U(a, b, z)
- Since:
- 1.13.0
-
hypergeometricPFQ
-
hypergeometric0F1
private Apcomplex hypergeometric0F1(Apcomplex b, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException -
hypergeometric1F1
private Apcomplex hypergeometric1F1(Apcomplex a, Apcomplex b, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException -
hypergeometric1F1series
-
hypergeometricUStar
private Apcomplex hypergeometricUStar(Apcomplex a, Apcomplex b, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException -
hypergeometricU
private Apcomplex hypergeometricU(boolean fastOnly) throws ArithmeticException, ApfloatRuntimeException -
hypergeometric2F1
private Apcomplex hypergeometric2F1(Apcomplex a, Apcomplex b, Apcomplex c, Apcomplex z) throws ArithmeticException, ApfloatRuntimeException -
precision
-
precision
-
checkResult
-
maxNonPositiveInteger
-
evaluate
-
checkDivergence
-
alternative
-
offset
-
adjustOffset
-
ensurePrecision
-
ensurePrecision
-
ensureGammaPrecision
-
result
-