passagemath-pari 10.6.32__cp314-cp314-musllinux_1_2_x86_64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of passagemath-pari might be problematic. Click here for more details.
- PARIKernel/__init__.py +2 -0
- PARIKernel/__main__.py +5 -0
- PARIKernel/io.cpython-314-x86_64-linux-musl.so +0 -0
- PARIKernel/io.pxd +7 -0
- PARIKernel/io.pyx +84 -0
- PARIKernel/kernel.cpython-314-x86_64-linux-musl.so +0 -0
- PARIKernel/kernel.pyx +260 -0
- PARIKernel/paridecl.pxd +95 -0
- PARIKernel/svg.cpython-314-x86_64-linux-musl.so +0 -0
- PARIKernel/svg.pyx +52 -0
- cypari2/__init__.py +8 -0
- cypari2/auto_paridecl.pxd +1070 -0
- cypari2/closure.cpython-314-x86_64-linux-musl.so +0 -0
- cypari2/closure.pxd +5 -0
- cypari2/closure.pyx +246 -0
- cypari2/convert.cpython-314-x86_64-linux-musl.so +0 -0
- cypari2/convert.pxd +80 -0
- cypari2/convert.pyx +613 -0
- cypari2/custom_block.cpython-314-x86_64-linux-musl.so +0 -0
- cypari2/custom_block.pyx +30 -0
- cypari2/cypari.h +13 -0
- cypari2/gen.cpython-314-x86_64-linux-musl.so +0 -0
- cypari2/gen.pxd +69 -0
- cypari2/gen.pyx +4819 -0
- cypari2/handle_error.cpython-314-x86_64-linux-musl.so +0 -0
- cypari2/handle_error.pxd +7 -0
- cypari2/handle_error.pyx +232 -0
- cypari2/pari_instance.cpython-314-x86_64-linux-musl.so +0 -0
- cypari2/pari_instance.pxd +27 -0
- cypari2/pari_instance.pyx +1438 -0
- cypari2/paridecl.pxd +5353 -0
- cypari2/paripriv.pxd +34 -0
- cypari2/pycore_long.h +98 -0
- cypari2/pycore_long.pxd +9 -0
- cypari2/stack.cpython-314-x86_64-linux-musl.so +0 -0
- cypari2/stack.pxd +27 -0
- cypari2/stack.pyx +278 -0
- cypari2/string_utils.cpython-314-x86_64-linux-musl.so +0 -0
- cypari2/string_utils.pxd +29 -0
- cypari2/string_utils.pyx +65 -0
- cypari2/types.pxd +147 -0
- passagemath_pari-10.6.32.data/data/etc/jupyter/nbconfig/notebook.d/gp-mode.json +5 -0
- passagemath_pari-10.6.32.data/data/share/jupyter/kernels/pari_jupyter/kernel.js +28 -0
- passagemath_pari-10.6.32.data/data/share/jupyter/kernels/pari_jupyter/kernel.json +6 -0
- passagemath_pari-10.6.32.data/data/share/jupyter/kernels/pari_jupyter/logo-64x64.png +0 -0
- passagemath_pari-10.6.32.data/data/share/jupyter/kernels/xeus-gp/kernel.json +13 -0
- passagemath_pari-10.6.32.data/data/share/jupyter/kernels/xeus-gp/logo-32x32.png +0 -0
- passagemath_pari-10.6.32.data/data/share/jupyter/kernels/xeus-gp/logo-64x64.png +0 -0
- passagemath_pari-10.6.32.data/data/share/jupyter/kernels/xeus-gp/logo-svg.svg +75 -0
- passagemath_pari-10.6.32.data/data/share/jupyter/nbextensions/gp-mode/gp.js +284 -0
- passagemath_pari-10.6.32.data/data/share/jupyter/nbextensions/gp-mode/main.js +15 -0
- passagemath_pari-10.6.32.dist-info/METADATA +209 -0
- passagemath_pari-10.6.32.dist-info/RECORD +331 -0
- passagemath_pari-10.6.32.dist-info/WHEEL +5 -0
- passagemath_pari-10.6.32.dist-info/top_level.txt +4 -0
- passagemath_pari.libs/libcrypto-f04afe95.so.3 +0 -0
- passagemath_pari.libs/libflint-fd6f12fc.so.21.0.0 +0 -0
- passagemath_pari.libs/libgcc_s-0cd532bd.so.1 +0 -0
- passagemath_pari.libs/libgf2x-9e30c3e3.so.3.0.0 +0 -0
- passagemath_pari.libs/libgfortran-2c33b284.so.5.0.0 +0 -0
- passagemath_pari.libs/libgivaro-9a94c711.so.9.2.1 +0 -0
- passagemath_pari.libs/libgmp-0e7fc84e.so.10.5.0 +0 -0
- passagemath_pari.libs/libgmpxx-9e08595c.so.4.7.0 +0 -0
- passagemath_pari.libs/libgsl-42cda06f.so.28.0.0 +0 -0
- passagemath_pari.libs/libmpfr-aaecbfc0.so.6.2.1 +0 -0
- passagemath_pari.libs/libncursesw-9c9e32c3.so.6.5 +0 -0
- passagemath_pari.libs/libntl-26885ca2.so.44.0.1 +0 -0
- passagemath_pari.libs/libopenblasp-r0-905cb27d.3.29.so +0 -0
- passagemath_pari.libs/libpari-gmp-tls-f31f908f.so.2.17.2 +0 -0
- passagemath_pari.libs/libquadmath-bb76a5fc.so.0.0.0 +0 -0
- passagemath_pari.libs/libreadline-06542304.so.8.2 +0 -0
- passagemath_pari.libs/libstdc++-5d72f927.so.6.0.33 +0 -0
- passagemath_pari.libs/libuuid-f3770415.so.1.3.0 +0 -0
- passagemath_pari.libs/libxeus-735780ff.so.13.1.0 +0 -0
- passagemath_pari.libs/libxeus-zmq-c68577b4.so.6.0.1 +0 -0
- passagemath_pari.libs/libzmq-1ba9a3da.so.5.2.5 +0 -0
- sage/all__sagemath_pari.py +26 -0
- sage/databases/all__sagemath_pari.py +7 -0
- sage/databases/conway.py +274 -0
- sage/ext/all__sagemath_pari.py +1 -0
- sage/ext/memory.cpython-314-x86_64-linux-musl.so +0 -0
- sage/ext/memory.pyx +98 -0
- sage/ext_data/pari/buzzard/DimensionSk.g +286 -0
- sage/ext_data/pari/buzzard/Tpprog.g +179 -0
- sage/ext_data/pari/buzzard/genusn.g +129 -0
- sage/ext_data/pari/dokchitser/computel.gp +740 -0
- sage/ext_data/pari/dokchitser/computel.gp.template +740 -0
- sage/ext_data/pari/dokchitser/ex-bsw +43 -0
- sage/ext_data/pari/dokchitser/ex-chgen +48 -0
- sage/ext_data/pari/dokchitser/ex-chqua +37 -0
- sage/ext_data/pari/dokchitser/ex-delta +35 -0
- sage/ext_data/pari/dokchitser/ex-eisen +30 -0
- sage/ext_data/pari/dokchitser/ex-gen2 +38 -0
- sage/ext_data/pari/dokchitser/ex-gen3 +49 -0
- sage/ext_data/pari/dokchitser/ex-gen4 +54 -0
- sage/ext_data/pari/dokchitser/ex-nf +48 -0
- sage/ext_data/pari/dokchitser/ex-shin +50 -0
- sage/ext_data/pari/dokchitser/ex-tau2 +30 -0
- sage/ext_data/pari/dokchitser/ex-zeta +27 -0
- sage/ext_data/pari/dokchitser/ex-zeta2 +47 -0
- sage/ext_data/pari/dokchitser/testall +13 -0
- sage/ext_data/pari/simon/ell.gp +2129 -0
- sage/ext_data/pari/simon/ellQ.gp +2151 -0
- sage/ext_data/pari/simon/ellcommon.gp +126 -0
- sage/ext_data/pari/simon/qfsolve.gp +722 -0
- sage/ext_data/pari/simon/resultant3.gp +306 -0
- sage/groups/all__sagemath_pari.py +3 -0
- sage/groups/pari_group.py +175 -0
- sage/interfaces/all__sagemath_pari.py +1 -0
- sage/interfaces/genus2reduction.py +464 -0
- sage/interfaces/gp.py +1114 -0
- sage/libs/all__sagemath_pari.py +2 -0
- sage/libs/linkages/__init__.py +1 -0
- sage/libs/linkages/padics/API.pxi +617 -0
- sage/libs/linkages/padics/Polynomial_ram.pxi +388 -0
- sage/libs/linkages/padics/Polynomial_shared.pxi +554 -0
- sage/libs/linkages/padics/__init__.py +1 -0
- sage/libs/linkages/padics/fmpz_poly_unram.pxi +869 -0
- sage/libs/linkages/padics/mpz.pxi +691 -0
- sage/libs/linkages/padics/relaxed/API.pxi +518 -0
- sage/libs/linkages/padics/relaxed/__init__.py +1 -0
- sage/libs/linkages/padics/relaxed/flint.pxi +543 -0
- sage/libs/linkages/padics/unram_shared.pxi +247 -0
- sage/libs/pari/__init__.py +210 -0
- sage/libs/pari/all.py +5 -0
- sage/libs/pari/convert_flint.cpython-314-x86_64-linux-musl.so +0 -0
- sage/libs/pari/convert_flint.pxd +14 -0
- sage/libs/pari/convert_flint.pyx +159 -0
- sage/libs/pari/convert_gmp.cpython-314-x86_64-linux-musl.so +0 -0
- sage/libs/pari/convert_gmp.pxd +14 -0
- sage/libs/pari/convert_gmp.pyx +210 -0
- sage/libs/pari/convert_sage.cpython-314-x86_64-linux-musl.so +0 -0
- sage/libs/pari/convert_sage.pxd +16 -0
- sage/libs/pari/convert_sage.pyx +588 -0
- sage/libs/pari/convert_sage_complex_double.cpython-314-x86_64-linux-musl.so +0 -0
- sage/libs/pari/convert_sage_complex_double.pxd +14 -0
- sage/libs/pari/convert_sage_complex_double.pyx +132 -0
- sage/libs/pari/convert_sage_matrix.cpython-314-x86_64-linux-musl.so +0 -0
- sage/libs/pari/convert_sage_matrix.pyx +106 -0
- sage/libs/pari/convert_sage_real_double.cpython-314-x86_64-linux-musl.so +0 -0
- sage/libs/pari/convert_sage_real_double.pxd +5 -0
- sage/libs/pari/convert_sage_real_double.pyx +14 -0
- sage/libs/pari/convert_sage_real_mpfr.cpython-314-x86_64-linux-musl.so +0 -0
- sage/libs/pari/convert_sage_real_mpfr.pxd +7 -0
- sage/libs/pari/convert_sage_real_mpfr.pyx +108 -0
- sage/libs/pari/misc.cpython-314-x86_64-linux-musl.so +0 -0
- sage/libs/pari/misc.pxd +4 -0
- sage/libs/pari/misc.pyx +26 -0
- sage/libs/pari/tests.py +1848 -0
- sage/matrix/all__sagemath_pari.py +1 -0
- sage/matrix/matrix_integer_pari.cpython-314-x86_64-linux-musl.so +0 -0
- sage/matrix/matrix_integer_pari.pyx +187 -0
- sage/matrix/matrix_rational_pari.cpython-314-x86_64-linux-musl.so +0 -0
- sage/matrix/matrix_rational_pari.pyx +160 -0
- sage/quadratic_forms/all__sagemath_pari.py +10 -0
- sage/quadratic_forms/genera/all.py +9 -0
- sage/quadratic_forms/genera/genus.py +3506 -0
- sage/quadratic_forms/genera/normal_form.py +1519 -0
- sage/quadratic_forms/genera/spinor_genus.py +243 -0
- sage/quadratic_forms/qfsolve.py +255 -0
- sage/quadratic_forms/quadratic_form__automorphisms.py +427 -0
- sage/quadratic_forms/quadratic_form__genus.py +141 -0
- sage/quadratic_forms/quadratic_form__local_density_interfaces.py +140 -0
- sage/quadratic_forms/quadratic_form__local_normal_form.py +421 -0
- sage/quadratic_forms/quadratic_form__local_representation_conditions.py +889 -0
- sage/quadratic_forms/quadratic_form__mass.py +69 -0
- sage/quadratic_forms/quadratic_form__mass__Conway_Sloane_masses.py +663 -0
- sage/quadratic_forms/quadratic_form__mass__Siegel_densities.py +373 -0
- sage/quadratic_forms/quadratic_form__siegel_product.py +198 -0
- sage/quadratic_forms/special_values.py +323 -0
- sage/rings/all__sagemath_pari.py +15 -0
- sage/rings/factorint_pari.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/factorint_pari.pyx +80 -0
- sage/rings/finite_rings/all__sagemath_pari.py +1 -0
- sage/rings/finite_rings/element_givaro.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/finite_rings/element_givaro.pxd +91 -0
- sage/rings/finite_rings/element_givaro.pyx +1769 -0
- sage/rings/finite_rings/element_ntl_gf2e.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/finite_rings/element_ntl_gf2e.pxd +22 -0
- sage/rings/finite_rings/element_ntl_gf2e.pyx +1333 -0
- sage/rings/finite_rings/element_pari_ffelt.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/finite_rings/element_pari_ffelt.pxd +13 -0
- sage/rings/finite_rings/element_pari_ffelt.pyx +1441 -0
- sage/rings/finite_rings/finite_field_givaro.py +612 -0
- sage/rings/finite_rings/finite_field_pari_ffelt.py +238 -0
- sage/rings/finite_rings/hom_finite_field_givaro.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/finite_rings/hom_finite_field_givaro.pxd +28 -0
- sage/rings/finite_rings/hom_finite_field_givaro.pyx +280 -0
- sage/rings/finite_rings/residue_field_givaro.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/finite_rings/residue_field_givaro.pyx +133 -0
- sage/rings/finite_rings/residue_field_pari_ffelt.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/finite_rings/residue_field_pari_ffelt.pyx +128 -0
- sage/rings/function_field/all__sagemath_pari.py +1 -0
- sage/rings/function_field/valuation.py +1450 -0
- sage/rings/function_field/valuation_ring.py +212 -0
- sage/rings/number_field/all__sagemath_pari.py +14 -0
- sage/rings/number_field/totallyreal.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/number_field/totallyreal.pyx +509 -0
- sage/rings/number_field/totallyreal_data.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/number_field/totallyreal_data.pxd +26 -0
- sage/rings/number_field/totallyreal_data.pyx +928 -0
- sage/rings/number_field/totallyreal_phc.py +144 -0
- sage/rings/number_field/totallyreal_rel.py +1018 -0
- sage/rings/padics/CA_template.pxi +1847 -0
- sage/rings/padics/CA_template_header.pxi +50 -0
- sage/rings/padics/CR_template.pxi +2563 -0
- sage/rings/padics/CR_template_header.pxi +57 -0
- sage/rings/padics/FM_template.pxi +1575 -0
- sage/rings/padics/FM_template_header.pxi +50 -0
- sage/rings/padics/FP_template.pxi +2176 -0
- sage/rings/padics/FP_template_header.pxi +57 -0
- sage/rings/padics/all.py +3 -0
- sage/rings/padics/all__sagemath_pari.py +11 -0
- sage/rings/padics/common_conversion.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/padics/common_conversion.pxd +15 -0
- sage/rings/padics/common_conversion.pyx +508 -0
- sage/rings/padics/eisenstein_extension_generic.py +232 -0
- sage/rings/padics/factory.py +3623 -0
- sage/rings/padics/generic_nodes.py +1615 -0
- sage/rings/padics/lattice_precision.py +2889 -0
- sage/rings/padics/morphism.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/padics/morphism.pxd +11 -0
- sage/rings/padics/morphism.pyx +366 -0
- sage/rings/padics/padic_base_generic.py +467 -0
- sage/rings/padics/padic_base_leaves.py +1235 -0
- sage/rings/padics/padic_capped_absolute_element.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/padics/padic_capped_absolute_element.pxd +15 -0
- sage/rings/padics/padic_capped_absolute_element.pyx +520 -0
- sage/rings/padics/padic_capped_relative_element.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/padics/padic_capped_relative_element.pxd +14 -0
- sage/rings/padics/padic_capped_relative_element.pyx +614 -0
- sage/rings/padics/padic_extension_generic.py +990 -0
- sage/rings/padics/padic_extension_leaves.py +738 -0
- sage/rings/padics/padic_fixed_mod_element.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/padics/padic_fixed_mod_element.pxd +15 -0
- sage/rings/padics/padic_fixed_mod_element.pyx +584 -0
- sage/rings/padics/padic_floating_point_element.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/padics/padic_floating_point_element.pxd +14 -0
- sage/rings/padics/padic_floating_point_element.pyx +447 -0
- sage/rings/padics/padic_generic_element.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/padics/padic_generic_element.pxd +48 -0
- sage/rings/padics/padic_generic_element.pyx +4642 -0
- sage/rings/padics/padic_lattice_element.py +1342 -0
- sage/rings/padics/padic_printing.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/padics/padic_printing.pxd +38 -0
- sage/rings/padics/padic_printing.pyx +1505 -0
- sage/rings/padics/padic_relaxed_element.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/padics/padic_relaxed_element.pxd +56 -0
- sage/rings/padics/padic_relaxed_element.pyx +18 -0
- sage/rings/padics/padic_relaxed_errors.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/padics/padic_relaxed_errors.pxd +11 -0
- sage/rings/padics/padic_relaxed_errors.pyx +71 -0
- sage/rings/padics/padic_template_element.pxi +1212 -0
- sage/rings/padics/padic_template_element_header.pxi +50 -0
- sage/rings/padics/padic_valuation.py +1423 -0
- sage/rings/padics/pow_computer_flint.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/padics/pow_computer_flint.pxd +38 -0
- sage/rings/padics/pow_computer_flint.pyx +641 -0
- sage/rings/padics/pow_computer_relative.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/padics/pow_computer_relative.pxd +29 -0
- sage/rings/padics/pow_computer_relative.pyx +415 -0
- sage/rings/padics/qadic_flint_CA.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/padics/qadic_flint_CA.pxd +21 -0
- sage/rings/padics/qadic_flint_CA.pyx +130 -0
- sage/rings/padics/qadic_flint_CR.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/padics/qadic_flint_CR.pxd +13 -0
- sage/rings/padics/qadic_flint_CR.pyx +172 -0
- sage/rings/padics/qadic_flint_FM.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/padics/qadic_flint_FM.pxd +14 -0
- sage/rings/padics/qadic_flint_FM.pyx +111 -0
- sage/rings/padics/qadic_flint_FP.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/padics/qadic_flint_FP.pxd +12 -0
- sage/rings/padics/qadic_flint_FP.pyx +165 -0
- sage/rings/padics/relative_extension_leaves.py +429 -0
- sage/rings/padics/relative_ramified_CA.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/padics/relative_ramified_CA.pxd +9 -0
- sage/rings/padics/relative_ramified_CA.pyx +33 -0
- sage/rings/padics/relative_ramified_CR.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/padics/relative_ramified_CR.pxd +8 -0
- sage/rings/padics/relative_ramified_CR.pyx +33 -0
- sage/rings/padics/relative_ramified_FM.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/padics/relative_ramified_FM.pxd +9 -0
- sage/rings/padics/relative_ramified_FM.pyx +33 -0
- sage/rings/padics/relative_ramified_FP.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/padics/relative_ramified_FP.pxd +8 -0
- sage/rings/padics/relative_ramified_FP.pyx +33 -0
- sage/rings/padics/relaxed_template.pxi +4229 -0
- sage/rings/padics/relaxed_template_header.pxi +160 -0
- sage/rings/padics/tests.py +35 -0
- sage/rings/padics/tutorial.py +341 -0
- sage/rings/padics/unramified_extension_generic.py +335 -0
- sage/rings/padics/witt_vector.py +917 -0
- sage/rings/padics/witt_vector_ring.py +934 -0
- sage/rings/pari_ring.py +235 -0
- sage/rings/polynomial/all__sagemath_pari.py +1 -0
- sage/rings/polynomial/padics/all.py +1 -0
- sage/rings/polynomial/padics/polynomial_padic.py +360 -0
- sage/rings/polynomial/padics/polynomial_padic_capped_relative_dense.py +1324 -0
- sage/rings/polynomial/padics/polynomial_padic_flat.py +72 -0
- sage/rings/power_series_pari.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/power_series_pari.pxd +6 -0
- sage/rings/power_series_pari.pyx +934 -0
- sage/rings/tate_algebra.py +1282 -0
- sage/rings/tate_algebra_element.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/tate_algebra_element.pxd +49 -0
- sage/rings/tate_algebra_element.pyx +3464 -0
- sage/rings/tate_algebra_ideal.cpython-314-x86_64-linux-musl.so +0 -0
- sage/rings/tate_algebra_ideal.pxd +7 -0
- sage/rings/tate_algebra_ideal.pyx +1307 -0
- sage/rings/valuation/all.py +7 -0
- sage/rings/valuation/augmented_valuation.py +2118 -0
- sage/rings/valuation/developing_valuation.py +362 -0
- sage/rings/valuation/gauss_valuation.py +812 -0
- sage/rings/valuation/inductive_valuation.py +1686 -0
- sage/rings/valuation/limit_valuation.py +946 -0
- sage/rings/valuation/mapped_valuation.py +656 -0
- sage/rings/valuation/scaled_valuation.py +322 -0
- sage/rings/valuation/trivial_valuation.py +382 -0
- sage/rings/valuation/valuation.py +1119 -0
- sage/rings/valuation/valuation_space.py +1615 -0
- sage/rings/valuation/valuations_catalog.py +10 -0
- sage/rings/valuation/value_group.py +697 -0
- sage/schemes/all__sagemath_pari.py +1 -0
- sage/schemes/elliptic_curves/all__sagemath_pari.py +1 -0
- sage/schemes/elliptic_curves/descent_two_isogeny_pari.cpython-314-x86_64-linux-musl.so +0 -0
- sage/schemes/elliptic_curves/descent_two_isogeny_pari.pyx +46 -0
- sage_wheels/bin/gp +0 -0
- sage_wheels/bin/gp2c +0 -0
- sage_wheels/bin/gp2c-run +57 -0
- sage_wheels/bin/xeus-gp +0 -0
- sage_wheels/share/gp2c/func.dsc +18414 -0
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
\\ Tpprog.g, V2.2---a program to compute conjectural slopes.
|
|
2
|
+
\\ By Kevin Buzzard (buzzard@ic.ac.uk)
|
|
3
|
+
\\ Please report any problems to buzzard@ic.ac.uk
|
|
4
|
+
\\
|
|
5
|
+
\\ Version history:
|
|
6
|
+
\\
|
|
7
|
+
\\ V2.2, 10/8/01, minor tinkering.
|
|
8
|
+
\\
|
|
9
|
+
\\ Version 2.1, 9/8/01. Complete rewrite motivated by desire to publish
|
|
10
|
+
\\ a paper.
|
|
11
|
+
\\
|
|
12
|
+
\\ Version history:
|
|
13
|
+
\\
|
|
14
|
+
\\ Version 1.2, 7/8/00 minor edit for p=2 because I guess
|
|
15
|
+
\\ that kmin should be 6 not 4, judging by N=5 case; also I
|
|
16
|
+
\\ redefined "ordinary" for p=2 by saying "as many 0s as possible
|
|
17
|
+
\\ in wt 4 and then the rest 1s".
|
|
18
|
+
|
|
19
|
+
\\ Version 1.1, 26/7/00 (post France, just found it in the mess.)
|
|
20
|
+
\\ I don't yet know what it does but we live in hope!
|
|
21
|
+
\\
|
|
22
|
+
\\ Uses: function c0() from genusn.g
|
|
23
|
+
\\ function DimensionCuspForms() from DimensionSk.g
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
print();
|
|
27
|
+
print("tpslopes(p,N,kmax) returns a vector of length kmax, whose k'th entry");
|
|
28
|
+
print("(1<=k<=kmax) is the conjectural sequence of valuations of eigenvalues");
|
|
29
|
+
print("of T_p on forms of level N, weight k, and trivial character.");
|
|
30
|
+
print("The conjecture is only valid if p doesn't divide N and if p is");
|
|
31
|
+
print("Gamma_0(N)-regular.");
|
|
32
|
+
print()
|
|
33
|
+
print("Example of use:");
|
|
34
|
+
print("(12:48) gp > c=tpslopes(2,1,100);");
|
|
35
|
+
print("(12:48) gp > c[100]");
|
|
36
|
+
print("%2 = [3, 9, 9, 17, 17, 26, 26, 32]");
|
|
37
|
+
print()
|
|
38
|
+
print("Hence I conjecture that the 2-adic valuations of the eigenvalues of");
|
|
39
|
+
print("T_2 on cusp forms of level 1 and weight 100 are [3,9,9,...,32],");
|
|
40
|
+
print("which indeed they are, as one can verify by an explicit computation.");
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
tpslopes(p,N,kmax)=
|
|
44
|
+
{
|
|
45
|
+
local(t,s,kmin,a,b,c,alg,k1,k2,k3,v1,v2,v3,B,e,S,s2,
|
|
46
|
+
e2,epsilon,V1,V,V1tmp,w,w0,kmaxtemp);
|
|
47
|
+
|
|
48
|
+
kmaxtemp=if(p==2,5,p+2);
|
|
49
|
+
if(kmax>kmaxtemp,kmaxtemp=kmax);
|
|
50
|
+
|
|
51
|
+
t=vector(kmaxtemp,i,[]);
|
|
52
|
+
|
|
53
|
+
\\ initialise t vector in regular case.
|
|
54
|
+
|
|
55
|
+
t[2]=vector(S0(N*p,2)-S0(N,2),i,0);
|
|
56
|
+
if(p==2,
|
|
57
|
+
t[4]=concat(t[2],vector(S0(N,4)-length(t[2]),i,1));
|
|
58
|
+
kmin=6
|
|
59
|
+
,
|
|
60
|
+
forstep(k=4,p+1,2,
|
|
61
|
+
t[k]=vector(S0(N,k),i,0)
|
|
62
|
+
);
|
|
63
|
+
kmin=p+3
|
|
64
|
+
);
|
|
65
|
+
|
|
66
|
+
s=t;
|
|
67
|
+
s[2]=vector(S0(N,2),i,0);
|
|
68
|
+
|
|
69
|
+
\\ Are we done yet?
|
|
70
|
+
if(kmax<kmin,
|
|
71
|
+
vector(kmax,i,s[i])
|
|
72
|
+
,
|
|
73
|
+
\\ no we're not!
|
|
74
|
+
|
|
75
|
+
m=c0(N); \\ for non-trivial (even) character at *N*, I seem to have once
|
|
76
|
+
\\ thought that the analogue should be dim(mod forms wt 4)
|
|
77
|
+
\\ minus dim(cusp forms wt 4).
|
|
78
|
+
|
|
79
|
+
forstep(k=kmin,kmax,2,
|
|
80
|
+
|
|
81
|
+
a=1;while(p^a<k-1,a++);a=a-1;
|
|
82
|
+
|
|
83
|
+
b=1;while(p^a*b<k-1,b++);b=b-1;
|
|
84
|
+
|
|
85
|
+
c=1+floor((k-2-p^a*b)/(p^(a-1)));
|
|
86
|
+
|
|
87
|
+
if(b+c<=p-1,alg=1,
|
|
88
|
+
if(b<p-1,alg=2,
|
|
89
|
+
alg=3
|
|
90
|
+
)
|
|
91
|
+
);
|
|
92
|
+
|
|
93
|
+
if(alg==1,
|
|
94
|
+
k1=k-b*(p-1)*p^(a-1);
|
|
95
|
+
k2=k-(b-1)*(p-1)*p^(a-1)-2*(b+c-1)*p^(a-1);
|
|
96
|
+
v1=t[k1];
|
|
97
|
+
v2=t[k2];
|
|
98
|
+
B=p^a*b+p^(a-1)*(c-1)+1;
|
|
99
|
+
e=k-B;
|
|
100
|
+
epsilon=DirichletCharacter(p,[(B-1)%(p-1)]);
|
|
101
|
+
S=1+DimensionCuspForms(charmult(epsilon,TrivialCharacter(N)),1+e);
|
|
102
|
+
|
|
103
|
+
if(length(v1)>=S-1,
|
|
104
|
+
V1=vector(S-1,i,v1[i])
|
|
105
|
+
,
|
|
106
|
+
V1=concat(v1,vector(S-1-length(v1),i,e-v2[S-length(v1)-i]))
|
|
107
|
+
);
|
|
108
|
+
|
|
109
|
+
V=concat(V1,vector(m,i,e));
|
|
110
|
+
,
|
|
111
|
+
if(alg==2,
|
|
112
|
+
k1=k-(b+1)*p^(a-1)*(p-1);
|
|
113
|
+
k2=k-p^(a-1)*(p-1);
|
|
114
|
+
v1=t[k1];
|
|
115
|
+
v2=t[k2];
|
|
116
|
+
B=(b+1)*p^(a-1)*(p-1)+1;
|
|
117
|
+
e=k-B;
|
|
118
|
+
S=1+S0(N*p,1+e);
|
|
119
|
+
s2=(S-1)\2;
|
|
120
|
+
e2=e\2;
|
|
121
|
+
|
|
122
|
+
if(length(v1)>=S-1,
|
|
123
|
+
V1=vector(S-1,i,v1[i])
|
|
124
|
+
,
|
|
125
|
+
if(S-1<=2*length(v1),
|
|
126
|
+
V1=concat(v1,vector(S-1-length(v1),i,e-v1[S-length(v1)-i]))
|
|
127
|
+
,
|
|
128
|
+
w=vector(s2-length(v1),i,v2[length(v1)+i]);
|
|
129
|
+
V1=concat(v1,w);
|
|
130
|
+
if(S%2==0,V1=concat(V1,[e2]));
|
|
131
|
+
V1=concat(V1,vector(length(w),i,e-1-w[length(w)+1-i]));
|
|
132
|
+
V1=concat(V1,vector(length(v1),i,e-v1[length(v1)+1-i]));
|
|
133
|
+
|
|
134
|
+
)
|
|
135
|
+
);
|
|
136
|
+
V=concat(V1,vector(m-(e==1),i,e));
|
|
137
|
+
,
|
|
138
|
+
\\ alg=3.
|
|
139
|
+
k1=k-p^a*(p-1);
|
|
140
|
+
k2=k-p^(a-1)*(p-1);
|
|
141
|
+
v1=t[k1];
|
|
142
|
+
v2=t[k2];
|
|
143
|
+
B=p^a*(p-1)+1;
|
|
144
|
+
e=k-B;
|
|
145
|
+
S=1+S0(N*p,1+e);
|
|
146
|
+
s2=(S-1)\2;
|
|
147
|
+
e2=e\2;
|
|
148
|
+
if(length(v1)>=S-1,
|
|
149
|
+
V1=vector(S-1,i,v1[i])
|
|
150
|
+
,
|
|
151
|
+
if(S-1<=2*length(v1),
|
|
152
|
+
V1=concat(v1,vector(S-1-length(v1),i,e-v1[S-length(v1)-i]))
|
|
153
|
+
,
|
|
154
|
+
\\ case I don't understand :-*
|
|
155
|
+
w0=vector(s2-length(v1),i,v2[length(v1)+i]);
|
|
156
|
+
w=vector(s2-length(v1),i,if(w0[i]<e2,w0[i]+1,e2));
|
|
157
|
+
V1=concat(v1,w);
|
|
158
|
+
if(S%2==0,V1=concat(V1,[e2]));
|
|
159
|
+
V1=concat(V1,vector(length(w),i,e-1-w[length(w)+1-i]));
|
|
160
|
+
V1=concat(V1,vector(length(v1),i,e-v1[length(v1)+1-i]));
|
|
161
|
+
)
|
|
162
|
+
);
|
|
163
|
+
V=concat(V1,vector(m-(e==1),i,e));
|
|
164
|
+
)
|
|
165
|
+
);
|
|
166
|
+
if(length(V)>=S0(N,k),
|
|
167
|
+
t[k]=vector(S0(N,k),i,V[i])
|
|
168
|
+
,
|
|
169
|
+
k3=2*B-k;
|
|
170
|
+
v3=t[k3];
|
|
171
|
+
t[k]=concat(V,vector(S0(N,k)-length(V),i,e+v3[i]))
|
|
172
|
+
);
|
|
173
|
+
|
|
174
|
+
s[k]=t[k];
|
|
175
|
+
|
|
176
|
+
);
|
|
177
|
+
s
|
|
178
|
+
)
|
|
179
|
+
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
\\ genusn.g, V1.3, by Bruce Kaskel, tinkered with by Kevin Buzzard.
|
|
2
|
+
\\
|
|
3
|
+
\\ Please report any problems to Kevin Buzzard (buzzard@ic.ac.uk)
|
|
4
|
+
\\
|
|
5
|
+
\\ These are Bruce Kaskel's programs for computing various things like
|
|
6
|
+
\\ dimensions of S_k(Gamma_0(N)) and so on.
|
|
7
|
+
\\
|
|
8
|
+
\\ Version history:
|
|
9
|
+
\\
|
|
10
|
+
\\ V1.3, 10/8/2001. Changed the syntax of local variables to
|
|
11
|
+
\\ correspond with current pari-2 philosophy.
|
|
12
|
+
\\
|
|
13
|
+
\\ V1.2: a minor correction by KMB, unfortunately I forgot what it was. I
|
|
14
|
+
\\ think it was to do with a "\" sign being interpreted at slightly the
|
|
15
|
+
\\ wrong time.
|
|
16
|
+
\\
|
|
17
|
+
\\ V1.1: original, by Bruce Kaskel.
|
|
18
|
+
|
|
19
|
+
mu0(n)=local(m,npd);m=factor(n);npd=matsize(m)[1];prod(x=1,npd,1+1/m[x,1],n);
|
|
20
|
+
mu20(n)=
|
|
21
|
+
{
|
|
22
|
+
local(m,npd);
|
|
23
|
+
if(n%4==0,0,m=factor(n);npd=matsize(m)[1];
|
|
24
|
+
prod(x=1,npd,1+kronecker(-4,m[x,1]),1));
|
|
25
|
+
}
|
|
26
|
+
mu30(n)=
|
|
27
|
+
{
|
|
28
|
+
local(m,npd);
|
|
29
|
+
if(n%2==0 || n%9==0,0,
|
|
30
|
+
m=factor(n);npd=matsize(m)[1];prod(x=1,npd,1+kronecker(-3,m[x,1]),1));
|
|
31
|
+
}
|
|
32
|
+
c0(n)=sumdiv(n,x,eulerphi(gcd(x,n/x)));
|
|
33
|
+
g0(n)=1+mu0(n)/12-mu20(n)/4-mu30(n)/3-c0(n)/2;
|
|
34
|
+
\\
|
|
35
|
+
mu1(n)=if(n<=2,mu0(n),eulerphi(n)*mu0(n)/2);
|
|
36
|
+
mu21(n)=if(n<4,mu20(n),0);
|
|
37
|
+
mu31(n)=if(n<4,mu30(n),0);
|
|
38
|
+
c1(n)=if(n<=3,c0(n),if(n==4,3,sumdiv(n,x,eulerphi(x)*eulerphi(n/x))/2));
|
|
39
|
+
g1(n)=1+mu1(n)/12-mu21(n)/4-mu31(n)/3-c1(n)/2;
|
|
40
|
+
\\
|
|
41
|
+
ss0(n,p)=
|
|
42
|
+
{
|
|
43
|
+
if(isprime(p)==0 || n%p==0,
|
|
44
|
+
print("Function format: ss0(N,p) where p is prime and doesn't divide N.")
|
|
45
|
+
,g0(n*p)-2*g0(n)+1);
|
|
46
|
+
}
|
|
47
|
+
\\
|
|
48
|
+
muXNp(n,p)=mu1(n)*mu0(p);
|
|
49
|
+
mu2XNp(n,p)=0;
|
|
50
|
+
mu3XNp(n,p)=0;
|
|
51
|
+
cXNp(n,p)=2*c1(n);
|
|
52
|
+
gXNp(n,p)=
|
|
53
|
+
if(n<4,g0(N*p),1+muXNp(n,p)/12-mu2XNp(n,p)/4-mu3XNp(n,p)/3-cXNp(n,p)/2);
|
|
54
|
+
ss1(n,p)=
|
|
55
|
+
{
|
|
56
|
+
if(isprime(p)==0 || n%p==0,
|
|
57
|
+
print("Function format: ss1(N,p) where p is prime and doesn't divide N.")
|
|
58
|
+
,gXNp(n,p)-2*g1(n)+1);
|
|
59
|
+
}
|
|
60
|
+
\\
|
|
61
|
+
eisen(p)=
|
|
62
|
+
{
|
|
63
|
+
if(isprime(p)==0,print("Function format: eisen(N) where N is prime.")
|
|
64
|
+
,numer((p-1)/12));
|
|
65
|
+
}
|
|
66
|
+
\\
|
|
67
|
+
S0(n,k)=
|
|
68
|
+
{
|
|
69
|
+
if(n<1,print("S0(N,k), N must be a positive integer")
|
|
70
|
+
,if(k<=0 || k%2,0,
|
|
71
|
+
if(k==2,g0(n),(k-1)*(g0(n)-1)+(k/2-1)*c0(n)+mu20(n)*(k\4)+mu30(n)*(k\3))));
|
|
72
|
+
}
|
|
73
|
+
\\
|
|
74
|
+
M0(n,k)=
|
|
75
|
+
{
|
|
76
|
+
if(n<1,print("M0(N,k), N must be a positive integer")
|
|
77
|
+
,if(k<=0 || k%2,0,S0(n,k)+c0(n)-(k==2)));
|
|
78
|
+
}
|
|
79
|
+
S1(n,k)=
|
|
80
|
+
{
|
|
81
|
+
if(n<1,print("S1(N,k), N must be a positive integer")
|
|
82
|
+
,if(k<=0 || (n<3 && k%2),0,
|
|
83
|
+
if(k==1,print("S1(N,k), k=1 not programmed for N>2.")
|
|
84
|
+
,if(k==2,g1(n)
|
|
85
|
+
,if(n<3,S0(n,k)
|
|
86
|
+
,(k-1)*(g1(n)-1)+(k/2-1)*c1(n)+(n==4 && k%2)/2+(n==3)*k\3)))));
|
|
87
|
+
}
|
|
88
|
+
M1(n,k)=
|
|
89
|
+
{
|
|
90
|
+
if(n<1,print("M1(N,k), N must be a positive integer")
|
|
91
|
+
,if(k<=1,print("M1(N,k), k must be >=2"),S1(n,k)+c1(k)-(k==2)))
|
|
92
|
+
}
|
|
93
|
+
\\ coefficients of zeta(s)^-2
|
|
94
|
+
mumu(n,x,k,p)=
|
|
95
|
+
{
|
|
96
|
+
if(type(n)!="t_INT" || n<1,print("mumu(N): N must be a positive integer.")
|
|
97
|
+
,x=factor(n);k=matsize(x)[1];p=1;
|
|
98
|
+
for(y=1,k,if(x[y,2]>2,p=0,if(x[y,2]==1,p=-2*p,)));p);
|
|
99
|
+
}
|
|
100
|
+
\\
|
|
101
|
+
nf0(n,k)=
|
|
102
|
+
{
|
|
103
|
+
if(n<1 || type(n)!="t_INT",print("nf0(N,k): N must be a positive integer.")
|
|
104
|
+
,if(type(k)!="t_INT",print("nf0(N,k): k must be an integer.")
|
|
105
|
+
,sumdiv(n,x,S0(x,k)*mumu(n/x))));
|
|
106
|
+
}
|
|
107
|
+
\\
|
|
108
|
+
nf1(n,k)=
|
|
109
|
+
{
|
|
110
|
+
if(n<1 || type(n)!="t_INT",print("nf1(N,k): N must be a positive integer.")
|
|
111
|
+
,if(type(k)!="t_INT",print("nf1(N,k): k must be an integer.")
|
|
112
|
+
,sumdiv(n,x,S1(x,k)*mumu(n/x))));
|
|
113
|
+
}
|
|
114
|
+
\\
|
|
115
|
+
print("c0(N) -- calculates the number of cusps on X_0(N).");
|
|
116
|
+
print("g0(N) -- calculates the genus of X_0(N).");
|
|
117
|
+
print("ss0(N,p) -- calculates the number of s.s. points at p of X_0(N).");
|
|
118
|
+
print("S0(N,k) -- calculates the dim of the wt. k cusp forms on Gamma_0(N).");
|
|
119
|
+
print("nf0(N,k) -- calculates the dim of the wt. k newforms on Gamma_0(N).");
|
|
120
|
+
print("eisen(N) -- (N PRIME!) calcs. the order of (0)-(\infty) on J_0(N).");
|
|
121
|
+
print("c1(N) -- calculates the number of cusps on X_1(N).");
|
|
122
|
+
print("g1(N) -- calculates the genus of X_1(N).");
|
|
123
|
+
print("ss1(N,p) -- calculates the number of s.s. points at p of X_1(N).");
|
|
124
|
+
print("S1(N,k) -- calculates the dim of the wt. k cusp forms on Gamma_1(N).");
|
|
125
|
+
print("nf1(N,k) -- calculates the dim of the wt. k newforms on Gamma_1(N).");
|
|
126
|
+
print("Please notify me (buzzard@ic.ac.uk) if any of these functions seem");
|
|
127
|
+
print("to be giving erroneous answers.");
|
|
128
|
+
print("Original version by Bruce Kaskel.");
|
|
129
|
+
|