arb_series – power series over real numbers

class flint.arb_series(val=None, prec=None)
acos(s)
airy(s)
airy_ai(s)
airy_ai_prime(s)
airy_bi(s)
airy_bi_prime(s)
asin(s)
atan(s)
classmethod beta_lower(cls, a, b, z, int regularized=0)
chi(s)
ci(s)
coeffs(self)
cos(s)
cos_pi(s)
cot_pi(s)
coulomb(self, l, eta)
coulomb_f(self, l, eta)
coulomb_g(self, l, eta)
derivative(s)
ei(s)
erf(s)
erfc(s)
erfi(s)
exp(s)
static find_roots(f, a, b, maxn=100000)

Isolates the roots of a given real analytic function f on the interval [a, b]. The function f takes an arb_series as input and outputs an arb_series.

This is just a test implementation; more options including support for Newton refinement will be added in a future version.

>>> from flint import arb_series, ctx
>>> ctx.prec = 53
>>> for c in arb_series.find_roots(lambda x: x.sin(), -8, 8): print(c)
...
(-6.96875000000000, -5.93750000000000)
(-3.87500000000000, -1.81250000000000)
(-0.781250000000000, 0.250000000000000)
(2.18750000000000, 4.12500000000000)
(6.06250000000000, 7.03125000000000)
>>> for c in arb_series.find_roots(lambda x: x.riemann_siegel_z(), 0, 30): print(c)
...
(14.1210937500000, 14.1796875000000)
(20.9765625000000, 21.0351562500000)
(24.9609375000000, 25.0195312500000)
fresnel(s, bool normalized=True)
fresnel_c(s, bool normalized=True)
fresnel_s(s, bool normalized=True)
gamma(s)
classmethod gamma_lower(cls, s, z, int regularized=0)
classmethod gamma_upper(cls, s, z, int regularized=0)
integral(s)
inv(s)
lambertw(s, int branch=0)
length(self) long
lgamma(s)
li(s, bool offset=False)
log(s)
prec

The term precision of the finitely approximated series.

>>> from flint import arb_series, ctx
>>> ctx.cap = 10
>>> s = arb_series([1,2])
>>> s
1.00000000000000 + 2.00000000000000*x + O(x^10)
>>> s.prec
10
>>> s2 = arb_series([1,2], prec=3)
>>> s2
1.00000000000000 + 2.00000000000000*x + O(x^3)
>>> s2.prec
3
repr(self, **kwargs)
reversion(s)
rgamma(s)
riemann_siegel_theta(s)
riemann_siegel_z(s)
rising(s, ulong n)
rsqrt(s)
shi(s)
si(s)
sin(s)
sin_cos(s)
sin_cos_pi(s)
sin_pi(s)
sqrt(s)
str(self, *args, **kwargs)
tan(s)
valuation(self)
zeta(s, a=1, bool deflate=0)