Integrals

Initialize self. See help(type(self)) for accurate signature.

class darmonpoints.integrals.CoinducedElement(G, cocycle, gamma)[source]

Bases: SageObject

class darmonpoints.integrals.ShapiroImage(G, cocycle)[source]

Bases: SageObject

darmonpoints.integrals.act_on_polynomial(P, num, den, N=None)[source]
darmonpoints.integrals.double_integral(Phi, tau1, tau2, r, s)[source]
darmonpoints.integrals.double_integral_zero_infty(Phi, tau1, tau2)[source]
darmonpoints.integrals.get_basic_integral(G, cocycle, gamma, center, j, prec=None)[source]
darmonpoints.integrals.integrate_H1(G, cycle, cocycle, depth=1, prec=None, twist=False, progress_bar=False, multiplicative=True, return_valuation=True)[source]
darmonpoints.integrals.integrate_H1_riemann(G, cycle, cocycle, depth, prec=None, twist=False, progress_bar=False)[source]
darmonpoints.integrals.lift_to_locally_analytic(G, divisor, prec=None, depth=1)[source]
darmonpoints.integrals.log_pseries(R, x, prec=None)[source]

Calculate efficiently log(1 - x*z), where z is the variable of R Doing it with power series built-in log is about 10 times slower…

darmonpoints.integrals.riemann_sum(G, phi, hc, depth=1, mult=False, progress_bar=False, K=None)[source]
darmonpoints.integrals.sample_point(G, e, prec=20)[source]

Returns a point in U_h = (e)^{-1} Z_p.

Limits

Initialize self. See help(type(self)) for accurate signature.

darmonpoints.limits.compute_tau0(v0, gamma, wD, return_exact=False)[source]

INPUT:

  • v0: F -> its localization at p

  • gamma: the image of wD (the generator for an order of F) under an optimal embedding

OUTPUT:

The element tau_0 such that gamma * [tau_0,1] = wD * [tau_0,1]

darmonpoints.limits.decompose(gtau, lmb, uu)[source]
darmonpoints.limits.factorize_matrix(m, M)[source]
darmonpoints.limits.find_lambda(M, p, n_results=1)[source]
darmonpoints.limits.find_limits(tau, gtau=None, level=1, v0=None, method=1)[source]
darmonpoints.limits.find_optimal_embeddings(F, use_magma=False, extra_conductor=1, magma=None)[source]
darmonpoints.limits.find_tau0_and_gtau(v0, M, W, orientation=None, extra_conductor=1, algorithm='guitart_masdeu')[source]
darmonpoints.limits.get_limits_from_decomp(tau, decomp, v0)[source]
darmonpoints.limits.is_represented_by_unit(a, c, p)[source]
darmonpoints.limits.num_evals(tau1, tau2)[source]
darmonpoints.limits.order_and_unit(F, conductor)[source]

Returns an order in F and a fundamental unit in the order. It ensures that u satisfies (recall that F is real quadratic) that u belongs to the order ZZ + ZZ[delta], where delta is either sqrt{D}/2 (if D = 0 pmod 4), or (1+sqrt{D})/2. Here D is the discriminant of the order.