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)
beta_lower(type cls, a, b, z, int regularized=0)
chi(s)
ci(s)
coeffs(self)
cos(s)
cos_pi(s)
cot_pi(s)
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.

>>> 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)
gamma_lower(type cls, s, z, int regularized=0)
gamma_upper(type 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)
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, **kwargs)
tan(s)
valuation(self)
zeta(s, a=1, bool deflate=0)