Darmon Points¶
For installation and basic usage instructions please see the main Github repository (https://github.com/mmasdeu/darmonpoints).
The darmonpoints package can compute many different types of what is known as Darmon points. These are known as Stark-Heegner points in some literature, and originated in [Darmon]. Subsequent generalizations were introduced by [Greenberg] and [Trifkovic]. This has been generalized by [GMS1] to elliptic curves defined over number fields of arbitrary signature. Darmon points are attached to triples (F,E,K), where F is a number field, E/F is an elliptic curve defined over F, and K/F is a quadratic extension. These triples must satisfy certain conditions for Darmon points to be attached to them. The article [GMS1] contains an overview of all of this. We include also a variation used in [KP].
The darmonpoints package can also compute equations for some elliptic curves E/F defined over number fields F, as long as certain conditions are satisfied. Namely:
F has narrow class number 1.
if N is the conductor of the elliptic curve, it must admit a factorization of the form N = PDM, where:
P, D and M are relative coprime.
P is a prime ideal of F of prime norm.
D is the discriminant of a quaternion algebra over F which is split at only one infinite place.
Finally, we include the module padicperiods, which allows for the computation of p-adic periods attached to two-dimensional components of the cohomology of the same arithmetic groups, and which has allowed us to find the corresponding abelian surfaces in some cases (see [GM]).
H.Darmon. Integration on Hp x H and arithmetic applications. Annals of Math.
M.Greenberg. Stark-Heegner points and the cohomology of quaternionic Shimura varieties. Duke Math.
X.Guitart, M.Masdeu. Periods of modular GL2-type abelian varieties and p-adic integration. Experimental Mathematics.
X.Guitart, M.Masdeu, M.H.Sengun. Darmon points on elliptic curves over number fields of arbitrary signature. Proc. LMS.
X.Guitart, M.Masdeu, M.H.Sengun. Uniformization of modular elliptic curves via p-adic methods. Journal of Algebra.
A.Pacetti, D.Kohen (with an appendix by M.Masdeu) On Heegner points for primes of additive reduction ramifying in the base field. Transactions of the AMS.
M.Trifkovic. Stark-Heegner points on elliptic curves defined over imaginary quadratic fields. Duke Math.
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License.
High level functionality¶
- Darmon points
- Darmon-Vonk points
- Curve finding
- p-adic periods
HalfPeriodsInTermsOfLambdas()
I2_inv_from_xvec()
I2_inv_padic_from_half_periods()
I2_inv_padic_from_xvec()
Theta()
Thetas()
absolute_igusa_padic_from_half_periods()
absolute_igusa_padic_from_xvec()
all_possible_ordmats()
all_possible_qords()
build_Lambdalist_from_AB()
change_period_logs()
check_absoluteinvs()
check_cheatjs()
check_generic()
check_listI10()
compare_AB_periods()
compute_lvec_and_Mlist()
compute_twisted_jacobian_data()
euler_factor_twodim()
euler_factor_twodim_tn()
evaluate_twisted_jacobian_matrix()
find_igusa_invariants()
find_igusa_invariants_from_AB()
find_initial_approx()
find_kadziela_matrices()
frobenius_polynomial()
generate_listI10()
generate_matlists()
get_pseudo_orthonormal_homology()
guess_equation()
igusa_clebsch_absolute_from_half_periods()
igusa_clebsch_absolute_from_xvec()
igusa_clebsch_from_half_periods()
igusa_clebsch_from_xvec()
j1_inv_from_xvec()
j1_inv_padic_from_half_periods()
j1_inv_padic_from_xvec()
jacobian_matrix()
lambdavec()
lambdavec_padic()
left_multiply_multiplicative()
load_lvec_and_Mlist()
multiplicative_scalar_product()
normalize_periods()
p_adic_l_invariant()
p_adic_l_invariant_additive()
precompute_powers()
qlogs_from_Lp_and_ords()
recognize_invariant()
right_multiply_multiplicative()
take_to_Qp()
teichmuller_system()
xvec()
xvec_padic()
- Plectic points
PlecticGroup()
PlecticGroup_class
PlecticGroup_class.base_field()
PlecticGroup_class.compute_presentation_GG()
PlecticGroup_class.compute_presentation_GS()
PlecticGroup_class.construct_EV_dict()
PlecticGroup_class.construct_VE_dict()
PlecticGroup_class.construct_edge_reps()
PlecticGroup_class.edge_from_quaternion()
PlecticGroup_class.embeddings()
PlecticGroup_class.get_BT_reps()
PlecticGroup_class.get_Up_reps_bianchi()
PlecticGroup_class.get_covering()
PlecticGroup_class.get_degeneration()
PlecticGroup_class.get_edge_rep()
PlecticGroup_class.prime()
PlecticGroup_class.quaternion_algebra()
PlecticGroup_class.reduce_in_amalgam()
PlecticGroup_class.small_group()
PlecticGroup_class.use_shapiro()
PlecticGroup_class.vert_depth()
additive_integral()
check_is_cycle()
compute_edge_to_eqs()
compute_indeps_parallel()
compute_large_system_sparse_parallel()
compute_plectic_point()
do_twist()
evaluate_HC()
find_coboundaries()
get_cycle()
get_edge_list()
get_nu0()
get_nu1()
get_vertex_list()
lift_to_HC()
op_edge_adj()
riemann_sum()
riemann_sum_parallel()
sample_point()
- Schottky groups
Ball
Balls
NeighborJoiningTree
PreSchottkyGroup
SchottkyGroup
SchottkyGroup.a_point()
SchottkyGroup.balls()
SchottkyGroup.find_equivalent_divisor()
SchottkyGroup.find_point()
SchottkyGroup.gens_extended()
SchottkyGroup.in_fundamental_domain()
SchottkyGroup.in_which_ball()
SchottkyGroup.matrix_to_element()
SchottkyGroup.parameters()
SchottkyGroup.period()
SchottkyGroup.period_matrix()
SchottkyGroup.period_naive()
SchottkyGroup.test_fundamental_domain()
SchottkyGroup.theta()
SchottkyGroup.to_fundamental_domain()
SchottkyGroup.u_function()
SchottkyGroup.word_problem()
SchottkyGroup_abstract
SchottkyGroup_abstract.all_elements_up_to_length()
SchottkyGroup_abstract.base_field()
SchottkyGroup_abstract.base_ring()
SchottkyGroup_abstract.element_to_matrix()
SchottkyGroup_abstract.enumerate_group_elements()
SchottkyGroup_abstract.generators()
SchottkyGroup_abstract.genus()
SchottkyGroup_abstract.group()
SchottkyGroup_abstract.inverse_generators()
SchottkyGroup_abstract.theta_derivative_naive()
SchottkyGroup_abstract.theta_naive()
SchottkyGroup_abstract.uniformizer()
all_elements_up_to_length()
choose_leaf()
cross_ratio()
enumerate_group_elements()
find_eigenvector_matrix()
find_parameter()
find_parameter_new()
four_point_configuration()
four_point_configuration_works()
hash_vertex()
invert_word()
leaf()
reduce_word()
test_fundamental_domain()
uniq()
Arithmetic Groups¶
- Arithmetic group elements
ArithGroupElement
ArithGroupElement.acton()
ArithGroupElement.check_consistency()
ArithGroupElement.conjugate_by()
ArithGroupElement.embed()
ArithGroupElement.find_bounding_cycle()
ArithGroupElement.is_one()
ArithGroupElement.is_scalar()
ArithGroupElement.is_trivial_in_abelianization()
ArithGroupElement.matrix()
ArithGroupElement.quaternion_rep()
ArithGroupElement.size()
ArithGroupElement.word_rep()
- Non-split Cartan
- Arithmetic group
ArithGroup_fuchsian_generic
ArithGroup_fuchsian_generic.draw_mat_list()
ArithGroup_fuchsian_generic.find_fundom_rep()
ArithGroup_fuchsian_generic.fundamental_domain()
ArithGroup_fuchsian_generic.fundamental_domain_data()
ArithGroup_fuchsian_generic.fundamental_domain_interior_data()
ArithGroup_fuchsian_generic.get_archimedean_embedding()
ArithGroup_fuchsian_generic.get_embgquats_twisted()
ArithGroup_fuchsian_generic.get_word_rep()
ArithGroup_fuchsian_generic.is_in_fundom()
ArithGroup_fuchsian_generic.is_in_fundom_boundary()
ArithGroup_fuchsian_generic.is_in_fundom_exterior()
ArithGroup_fuchsian_generic.is_in_fundom_interior()
ArithGroup_fuchsian_generic.magma_word_problem()
ArithGroup_fuchsian_generic.mat_list()
ArithGroup_fuchsian_generic.plot_fundamental_domain()
ArithGroup_nf_fuchsian
ArithGroup_nf_generic
ArithGroup_nf_kleinian
ArithGroup_nf_matrix
ArithGroup_nf_matrix_new
ArithGroup_rationalmatrix
ArithGroup_rationalmatrix.element_of_norm()
ArithGroup_rationalmatrix.embed_order()
ArithGroup_rationalmatrix.embed_order_legacy()
ArithGroup_rationalmatrix.find_fundom_rep()
ArithGroup_rationalmatrix.fundamental_domain()
ArithGroup_rationalmatrix.fundamental_domain_data()
ArithGroup_rationalmatrix.generate_wp_candidates()
ArithGroup_rationalmatrix.get_archimedean_embedding()
ArithGroup_rationalmatrix.get_word_rep()
ArithGroup_rationalmatrix.is_in_fundom()
ArithGroup_rationalmatrix.mat_list()
ArithGroup_rationalmatrix.non_positive_unit()
ArithGroup_rationalquaternion
angle_sign()
geodesic_circle()
hyperbolic_distance()
intersect_geodesic_arcs()
is_in_open_interval()
moebius_transform()
perturb_point_on_arc()
sorted_ideal_endpoints()
- S-arithmetic group
ArithGroup()
BTEdge
BigArithGroup()
BigArithGroup_class
BigArithGroup_class.Gpn_Obasis()
BigArithGroup_class.Gpn_denominator()
BigArithGroup_class.base_field()
BigArithGroup_class.base_ring_local_embedding()
BigArithGroup_class.clear_cache()
BigArithGroup_class.clear_local_splitting()
BigArithGroup_class.construct_edge_reps()
BigArithGroup_class.coset_reps()
BigArithGroup_class.do_tilde()
BigArithGroup_class.edge_from_quaternion()
BigArithGroup_class.edges_entering_odd_vertex()
BigArithGroup_class.edges_leaving_even_vertex()
BigArithGroup_class.embed()
BigArithGroup_class.embed_wp()
BigArithGroup_class.get_BT_reps()
BigArithGroup_class.get_BT_reps_twisted()
BigArithGroup_class.get_Up_reps()
BigArithGroup_class.get_Up_reps_bianchi()
BigArithGroup_class.get_Zp_covering()
BigArithGroup_class.get_amalgam_reps()
BigArithGroup_class.get_coset_ti()
BigArithGroup_class.get_covering()
BigArithGroup_class.get_edges_upto()
BigArithGroup_class.get_embedding()
BigArithGroup_class.get_gis()
BigArithGroup_class.get_gis_local()
BigArithGroup_class.get_gitildes()
BigArithGroup_class.get_gitildes_local()
BigArithGroup_class.is_in_Gpn_order()
BigArithGroup_class.large_group()
BigArithGroup_class.local_splitting()
BigArithGroup_class.prime()
BigArithGroup_class.quaternion_algebra()
BigArithGroup_class.reduce_in_amalgam()
BigArithGroup_class.save_to_db()
BigArithGroup_class.set_wp()
BigArithGroup_class.small_group()
BigArithGroup_class.subdivide()
BigArithGroup_class.use_shapiro()
BigArithGroup_class.wp()
MatrixArithGroup()
attach_kleinian_code()
is_page_initialized()
Cohomology and Homology¶
- Abstract cohomology class
CohomologyElement
CohomologyGroup
CohomologyGroup.Element
CohomologyGroup.GA_to_local()
CohomologyGroup.coefficient_module()
CohomologyGroup.dimension()
CohomologyGroup.eval_at_genpow()
CohomologyGroup.fox_gradient()
CohomologyGroup.gen()
CohomologyGroup.generator_acting_matrix()
CohomologyGroup.gens()
CohomologyGroup.get_fox_term()
CohomologyGroup.get_gen_pow()
CohomologyGroup.group()
CohomologyGroup.hecke_matrix()
CohomologyGroup.space()
CohomologyGroup.zero()
- Arithmetic cohomology
ArithAction
ArithCoh
ArithCohBianchi
ArithCohElement
ArithCohOverconvergent
BianchiArithAction
CohArbitrary
get_cocycle_from_elliptic_curve()
get_dedekind_rademacher_cocycle()
get_overconvergent_class_bianchi()
get_overconvergent_class_matrices()
get_overconvergent_class_quaternionic()
get_rational_cocycle()
get_rational_cocycle_from_ap()
get_twodim_cocycle()
- Abstract homology class
Abelianization
ArithHomology
ArithHomologyElement
HomologyElement
HomologyGroup
HomologyGroup.Element
HomologyGroup.coefficient_module()
HomologyGroup.free_gens()
HomologyGroup.gen()
HomologyGroup.gens()
HomologyGroup.get_gen_pow()
HomologyGroup.get_twisted_fox_term()
HomologyGroup.group()
HomologyGroup.ngens()
HomologyGroup.rank()
HomologyGroup.space()
HomologyGroup.twisted_fox_gradient()
HomologyGroup.zero()
- Homology class
ArithGroupAction
OneChains
OneChainsElement
OneChainsElement.act_by_hecke()
OneChainsElement.act_by_poly_hecke()
OneChainsElement.factor_into_generators()
OneChainsElement.hecke_smoothen()
OneChainsElement.is_cycle()
OneChainsElement.is_degree_zero_valued()
OneChainsElement.is_zero()
OneChainsElement.radius()
OneChainsElement.zero_degree_equivalent()
TensorElement
TensorProduct
get_homology_kernel()
inverse_shapiro()
lattice_homology_cycle()
Integration pairing¶
Overconvergent distributions¶
- Overconvergent module of distributions
AddMeromorphicFunctions
AddMeromorphicFunctionsElement
AddMeromorphicFunctionsElement.evaluate_additive()
AddMeromorphicFunctionsElement.evaluate_multiplicative()
AddMeromorphicFunctionsElement.left_act_by_matrix()
AddMeromorphicFunctionsElement.pair_with()
AddMeromorphicFunctionsElement.power_series()
AddMeromorphicFunctionsElement.scale_by()
AddMeromorphicFunctionsElement.valuation()
OCVn
OCVnElement
Sigma0Action
our_adjuster
ps_adjuster
- Representations
- Meromorphic functions
Internals¶
- Divisors
Divisors
DivisorsElement
DivisorsElement.apply_map()
DivisorsElement.as_list_of_differences()
DivisorsElement.degree()
DivisorsElement.gcd()
DivisorsElement.intersects()
DivisorsElement.is_zero()
DivisorsElement.left_act_by_matrix()
DivisorsElement.pair_with()
DivisorsElement.rational_function()
DivisorsElement.restrict()
DivisorsElement.scale_by()
DivisorsElement.size()
DivisorsElement.support()
DivisorsElement.value()
- Mixed extensions
QuadExt
QuadExt.Element
QuadExt.absolute_degree()
QuadExt.base_ring()
QuadExt.characteristic()
QuadExt.gen()
QuadExt.is_finite()
QuadExt.polynomial()
QuadExt.precision_cap()
QuadExt.prime()
QuadExt.ramification_index()
QuadExt.random_element()
QuadExt.relative_degree()
QuadExt.residue_class_degree()
QuadExt.some_elements()
QuadExt.uniformizer()
QuadExt.unramified_generator()
QuadExtElement
get_word_rep_fast()
- Sparse matrix calculations
- Utility package
Bunch
FGP_V()
FGP_W()
JtoP()
M2Z()
act_H3()
act_flt()
act_flt_in_disc()
affine_transformation()
cantor_diagonal()
config_section_map()
conjugate_quaternion_over_base()
covolume()
direct_sum_of_maps()
direct_sum_of_modules()
discover_equation()
enumerate_words()
field_element_pari_to_sage()
find_center()
find_containing_affinoid()
find_the_unit_of()
fwrite()
get_C_and_C2()
get_c4_and_c6()
get_heegner_params()
get_j_invariant()
getcoords()
height_polynomial()
hensel_lift()
imag_part()
is_in_Gamma0loc()
is_in_Gamma_1()
is_in_principal_affinoid()
is_infinity()
is_smooth()
lift_padic_splitting()
magma_F_elt_to_sage()
magma_F_ideal_to_sage()
magma_integral_quaternion_to_sage()
magma_quaternion_to_sage()
module_generators()
module_generators_new()
multiply_out()
muted()
our_algdep()
our_cuberoot()
our_lindep()
our_nroot()
our_sqrt()
pari_ordmax_basis_to_sage()
period_from_coords()
point_radius()
polynomial_roots()
polynomial_roots_old()
print_padic()
print_table_latex()
quaternion_algebra_invariants_from_ramification()
quaternion_to_magma_quaternion()
real_part()
recognize_DV_algdep()
recognize_DV_lindep()
recognize_J()
recognize_point()
reduce_word()
reduce_word_tietze()
relativize_ATR()
sage_F_elt_to_magma()
sage_F_ideal_to_magma()
sage_order_basis_to_pari()
sage_quaternion_to_magma()
selmer_group_iterator()
set_immutable()
simplification_isomorphism()
solve_quadratic()
syllables_to_tietze()
tate_parameter()
tietze_to_syllables()
translate_into_twosided_list()
update_progress()
weak_approximation()