passagemath-flint 10.6.1rc10__cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_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.
- passagemath_flint-10.6.1rc10.dist-info/METADATA +122 -0
- passagemath_flint-10.6.1rc10.dist-info/RECORD +361 -0
- passagemath_flint-10.6.1rc10.dist-info/WHEEL +6 -0
- passagemath_flint-10.6.1rc10.dist-info/top_level.txt +2 -0
- passagemath_flint.libs/libflint-aecb9cc5.so.21.0.0 +0 -0
- passagemath_flint.libs/libgf2x-a4cdec90.so.3.0.0 +0 -0
- passagemath_flint.libs/libgfortran-8f1e9814.so.5.0.0 +0 -0
- passagemath_flint.libs/libgmp-6e109695.so.10.5.0 +0 -0
- passagemath_flint.libs/libgsl-cda90e79.so.28.0.0 +0 -0
- passagemath_flint.libs/libmpfi-e3c25853.so.0.0.0 +0 -0
- passagemath_flint.libs/libmpfr-82690d50.so.6.2.1 +0 -0
- passagemath_flint.libs/libntl-74e7d9a3.so.44.0.1 +0 -0
- passagemath_flint.libs/libopenblasp-r0-6dcb67f9.3.29.so +0 -0
- passagemath_flint.libs/libquadmath-828275a7.so.0.0.0 +0 -0
- sage/all__sagemath_flint.py +29 -0
- sage/combinat/all__sagemath_flint.py +1 -0
- sage/combinat/posets/all__sagemath_flint.py +1 -0
- sage/combinat/posets/hasse_cython_flint.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/combinat/posets/hasse_cython_flint.pyx +194 -0
- sage/data_structures/all__sagemath_flint.py +1 -0
- sage/data_structures/bounded_integer_sequences.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/data_structures/bounded_integer_sequences.pxd +62 -0
- sage/data_structures/bounded_integer_sequences.pyx +1418 -0
- sage/graphs/all__sagemath_flint.py +1 -0
- sage/graphs/chrompoly.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/graphs/chrompoly.pyx +555 -0
- sage/graphs/matchpoly.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/graphs/matchpoly.pyx +412 -0
- sage/libs/all__sagemath_flint.py +17 -0
- sage/libs/arb/__init__.py +1 -0
- sage/libs/arb/acb.pxd +154 -0
- sage/libs/arb/acb_calc.pxd +9 -0
- sage/libs/arb/acb_elliptic.pxd +25 -0
- sage/libs/arb/acb_hypgeom.pxd +74 -0
- sage/libs/arb/acb_mat.pxd +62 -0
- sage/libs/arb/acb_modular.pxd +17 -0
- sage/libs/arb/acb_poly.pxd +216 -0
- sage/libs/arb/arb.pxd +240 -0
- sage/libs/arb/arb_fmpz_poly.pxd +21 -0
- sage/libs/arb/arb_hypgeom.pxd +83 -0
- sage/libs/arb/arb_wrap.h +34 -0
- sage/libs/arb/arf.pxd +131 -0
- sage/libs/arb/arith.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/libs/arb/arith.pyx +87 -0
- sage/libs/arb/bernoulli.pxd +6 -0
- sage/libs/arb/mag.pxd +77 -0
- sage/libs/arb/types.pxd +37 -0
- sage/libs/flint/__init__.py +1 -0
- sage/libs/flint/acb.pxd +270 -0
- sage/libs/flint/acb_calc.pxd +22 -0
- sage/libs/flint/acb_dft.pxd +51 -0
- sage/libs/flint/acb_dirichlet.pxd +112 -0
- sage/libs/flint/acb_elliptic.pxd +42 -0
- sage/libs/flint/acb_hypgeom.pxd +169 -0
- sage/libs/flint/acb_macros.pxd +9 -0
- sage/libs/flint/acb_mat.pxd +136 -0
- sage/libs/flint/acb_mat_macros.pxd +10 -0
- sage/libs/flint/acb_modular.pxd +62 -0
- sage/libs/flint/acb_poly.pxd +251 -0
- sage/libs/flint/acb_poly_macros.pxd +8 -0
- sage/libs/flint/acb_theta.pxd +124 -0
- sage/libs/flint/acf.pxd +32 -0
- sage/libs/flint/aprcl.pxd +84 -0
- sage/libs/flint/arb.pxd +382 -0
- sage/libs/flint/arb_calc.pxd +31 -0
- sage/libs/flint/arb_fmpz_poly.pxd +34 -0
- sage/libs/flint/arb_fpwrap.pxd +215 -0
- sage/libs/flint/arb_hypgeom.pxd +147 -0
- sage/libs/flint/arb_macros.pxd +9 -0
- sage/libs/flint/arb_mat.pxd +140 -0
- sage/libs/flint/arb_mat_macros.pxd +10 -0
- sage/libs/flint/arb_poly.pxd +237 -0
- sage/libs/flint/arf.pxd +167 -0
- sage/libs/flint/arith.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/libs/flint/arith.pxd +76 -0
- sage/libs/flint/arith.pyx +77 -0
- sage/libs/flint/arith_sage.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/libs/flint/arith_sage.pyx +308 -0
- sage/libs/flint/bernoulli.pxd +28 -0
- sage/libs/flint/bool_mat.pxd +52 -0
- sage/libs/flint/ca.pxd +203 -0
- sage/libs/flint/ca_ext.pxd +34 -0
- sage/libs/flint/ca_field.pxd +32 -0
- sage/libs/flint/ca_mat.pxd +117 -0
- sage/libs/flint/ca_poly.pxd +104 -0
- sage/libs/flint/ca_vec.pxd +46 -0
- sage/libs/flint/calcium.pxd +27 -0
- sage/libs/flint/d_mat.pxd +39 -0
- sage/libs/flint/d_vec.pxd +32 -0
- sage/libs/flint/dirichlet.pxd +57 -0
- sage/libs/flint/dlog.pxd +53 -0
- sage/libs/flint/double_extras.pxd +24 -0
- sage/libs/flint/double_interval.pxd +36 -0
- sage/libs/flint/fexpr.pxd +104 -0
- sage/libs/flint/fexpr_builtin.pxd +20 -0
- sage/libs/flint/fft.pxd +66 -0
- sage/libs/flint/flint.pxd +36 -0
- sage/libs/flint/flint_ntl_wrap.h +35 -0
- sage/libs/flint/flint_sage.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/libs/flint/flint_sage.pyx +163 -0
- sage/libs/flint/flint_wrap.h +190 -0
- sage/libs/flint/fmpq.pxd +137 -0
- sage/libs/flint/fmpq_mat.pxd +105 -0
- sage/libs/flint/fmpq_mat_macros.pxd +10 -0
- sage/libs/flint/fmpq_mpoly.pxd +165 -0
- sage/libs/flint/fmpq_mpoly_factor.pxd +30 -0
- sage/libs/flint/fmpq_poly.pxd +241 -0
- sage/libs/flint/fmpq_poly_macros.pxd +9 -0
- sage/libs/flint/fmpq_poly_sage.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/libs/flint/fmpq_poly_sage.pxd +31 -0
- sage/libs/flint/fmpq_poly_sage.pyx +48 -0
- sage/libs/flint/fmpq_vec.pxd +27 -0
- sage/libs/flint/fmpz.pxd +256 -0
- sage/libs/flint/fmpz_extras.pxd +32 -0
- sage/libs/flint/fmpz_factor.pxd +42 -0
- sage/libs/flint/fmpz_factor_sage.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/libs/flint/fmpz_factor_sage.pxd +4 -0
- sage/libs/flint/fmpz_factor_sage.pyx +29 -0
- sage/libs/flint/fmpz_lll.pxd +49 -0
- sage/libs/flint/fmpz_macros.pxd +8 -0
- sage/libs/flint/fmpz_mat.pxd +184 -0
- sage/libs/flint/fmpz_mat_macros.pxd +10 -0
- sage/libs/flint/fmpz_mod.pxd +46 -0
- sage/libs/flint/fmpz_mod_mat.pxd +71 -0
- sage/libs/flint/fmpz_mod_mpoly.pxd +161 -0
- sage/libs/flint/fmpz_mod_mpoly_factor.pxd +28 -0
- sage/libs/flint/fmpz_mod_poly.pxd +249 -0
- sage/libs/flint/fmpz_mod_poly_factor.pxd +46 -0
- sage/libs/flint/fmpz_mod_vec.pxd +27 -0
- sage/libs/flint/fmpz_mpoly.pxd +224 -0
- sage/libs/flint/fmpz_mpoly_factor.pxd +29 -0
- sage/libs/flint/fmpz_mpoly_q.pxd +57 -0
- sage/libs/flint/fmpz_poly.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/libs/flint/fmpz_poly.pxd +407 -0
- sage/libs/flint/fmpz_poly.pyx +19 -0
- sage/libs/flint/fmpz_poly_factor.pxd +33 -0
- sage/libs/flint/fmpz_poly_macros.pxd +8 -0
- sage/libs/flint/fmpz_poly_mat.pxd +71 -0
- sage/libs/flint/fmpz_poly_q.pxd +55 -0
- sage/libs/flint/fmpz_poly_sage.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/libs/flint/fmpz_poly_sage.pxd +20 -0
- sage/libs/flint/fmpz_poly_sage.pyx +500 -0
- sage/libs/flint/fmpz_vec.pxd +80 -0
- sage/libs/flint/fmpzi.pxd +52 -0
- sage/libs/flint/fq.pxd +97 -0
- sage/libs/flint/fq_default.pxd +84 -0
- sage/libs/flint/fq_default_mat.pxd +70 -0
- sage/libs/flint/fq_default_poly.pxd +97 -0
- sage/libs/flint/fq_default_poly_factor.pxd +39 -0
- sage/libs/flint/fq_embed.pxd +28 -0
- sage/libs/flint/fq_mat.pxd +83 -0
- sage/libs/flint/fq_nmod.pxd +95 -0
- sage/libs/flint/fq_nmod_embed.pxd +28 -0
- sage/libs/flint/fq_nmod_mat.pxd +83 -0
- sage/libs/flint/fq_nmod_mpoly.pxd +130 -0
- sage/libs/flint/fq_nmod_mpoly_factor.pxd +28 -0
- sage/libs/flint/fq_nmod_poly.pxd +202 -0
- sage/libs/flint/fq_nmod_poly_factor.pxd +47 -0
- sage/libs/flint/fq_nmod_vec.pxd +33 -0
- sage/libs/flint/fq_poly.pxd +204 -0
- sage/libs/flint/fq_poly_factor.pxd +47 -0
- sage/libs/flint/fq_vec.pxd +33 -0
- sage/libs/flint/fq_zech.pxd +99 -0
- sage/libs/flint/fq_zech_embed.pxd +28 -0
- sage/libs/flint/fq_zech_mat.pxd +78 -0
- sage/libs/flint/fq_zech_poly.pxd +198 -0
- sage/libs/flint/fq_zech_poly_factor.pxd +47 -0
- sage/libs/flint/fq_zech_vec.pxd +33 -0
- sage/libs/flint/gr.pxd +174 -0
- sage/libs/flint/gr_generic.pxd +215 -0
- sage/libs/flint/gr_mat.pxd +161 -0
- sage/libs/flint/gr_mpoly.pxd +68 -0
- sage/libs/flint/gr_poly.pxd +276 -0
- sage/libs/flint/gr_special.pxd +237 -0
- sage/libs/flint/gr_vec.pxd +120 -0
- sage/libs/flint/hypgeom.pxd +24 -0
- sage/libs/flint/long_extras.pxd +23 -0
- sage/libs/flint/mag.pxd +131 -0
- sage/libs/flint/mag_macros.pxd +8 -0
- sage/libs/flint/mpf_mat.pxd +36 -0
- sage/libs/flint/mpf_vec.pxd +34 -0
- sage/libs/flint/mpfr_mat.pxd +27 -0
- sage/libs/flint/mpfr_vec.pxd +25 -0
- sage/libs/flint/mpn_extras.pxd +41 -0
- sage/libs/flint/mpoly.pxd +72 -0
- sage/libs/flint/nf.pxd +19 -0
- sage/libs/flint/nf_elem.pxd +74 -0
- sage/libs/flint/nmod.pxd +35 -0
- sage/libs/flint/nmod_mat.pxd +104 -0
- sage/libs/flint/nmod_mpoly.pxd +144 -0
- sage/libs/flint/nmod_mpoly_factor.pxd +28 -0
- sage/libs/flint/nmod_poly.pxd +339 -0
- sage/libs/flint/nmod_poly_factor.pxd +44 -0
- sage/libs/flint/nmod_poly_linkage.pxi +710 -0
- sage/libs/flint/nmod_poly_mat.pxd +76 -0
- sage/libs/flint/nmod_vec.pxd +40 -0
- sage/libs/flint/ntl_interface.pxd +17 -0
- sage/libs/flint/padic.pxd +93 -0
- sage/libs/flint/padic_mat.pxd +64 -0
- sage/libs/flint/padic_poly.pxd +88 -0
- sage/libs/flint/partitions.pxd +23 -0
- sage/libs/flint/perm.pxd +26 -0
- sage/libs/flint/profiler.pxd +24 -0
- sage/libs/flint/qadic.pxd +77 -0
- sage/libs/flint/qfb.pxd +44 -0
- sage/libs/flint/qqbar.pxd +172 -0
- sage/libs/flint/qsieve.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/libs/flint/qsieve.pxd +41 -0
- sage/libs/flint/qsieve.pyx +21 -0
- sage/libs/flint/qsieve_sage.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/libs/flint/qsieve_sage.pyx +67 -0
- sage/libs/flint/thread_pool.pxd +25 -0
- sage/libs/flint/types.pxd +2076 -0
- sage/libs/flint/ulong_extras.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/libs/flint/ulong_extras.pxd +141 -0
- sage/libs/flint/ulong_extras.pyx +21 -0
- sage/libs/flint/ulong_extras_sage.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/libs/flint/ulong_extras_sage.pyx +21 -0
- sage/matrix/all__sagemath_flint.py +1 -0
- sage/matrix/change_ring.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/matrix/change_ring.pyx +43 -0
- sage/matrix/matrix_complex_ball_dense.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/matrix/matrix_complex_ball_dense.pxd +14 -0
- sage/matrix/matrix_complex_ball_dense.pyx +973 -0
- sage/matrix/matrix_cyclo_dense.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/matrix/matrix_cyclo_dense.pxd +16 -0
- sage/matrix/matrix_cyclo_dense.pyx +1761 -0
- sage/matrix/matrix_integer_dense.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/matrix/matrix_integer_dense.pxd +32 -0
- sage/matrix/matrix_integer_dense.pyx +5801 -0
- sage/matrix/matrix_integer_dense_hnf.py +1294 -0
- sage/matrix/matrix_integer_dense_saturation.py +346 -0
- sage/matrix/matrix_integer_sparse.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/matrix/matrix_integer_sparse.pxd +9 -0
- sage/matrix/matrix_integer_sparse.pyx +1090 -0
- sage/matrix/matrix_rational_dense.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/matrix/matrix_rational_dense.pxd +23 -0
- sage/matrix/matrix_rational_dense.pyx +2995 -0
- sage/matrix/matrix_rational_sparse.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/matrix/matrix_rational_sparse.pxd +11 -0
- sage/matrix/matrix_rational_sparse.pyx +789 -0
- sage/matrix/misc_flint.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/matrix/misc_flint.pyx +109 -0
- sage/modular/all__sagemath_flint.py +1 -0
- sage/modular/modform/all__sagemath_flint.py +1 -0
- sage/modular/modform/eis_series_cython.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/modular/modform/eis_series_cython.pyx +226 -0
- sage/modular/modsym/all__sagemath_flint.py +1 -0
- sage/modular/modsym/apply.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/modular/modsym/apply.pxd +6 -0
- sage/modular/modsym/apply.pyx +113 -0
- sage/modular/modsym/heilbronn.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/modular/modsym/heilbronn.pyx +966 -0
- sage/modular/pollack_stevens/all__sagemath_flint.py +1 -0
- sage/modular/pollack_stevens/dist.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/modular/pollack_stevens/dist.pxd +38 -0
- sage/modular/pollack_stevens/dist.pyx +1439 -0
- sage/quivers/algebra.py +691 -0
- sage/quivers/algebra_elements.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/quivers/algebra_elements.pxd +97 -0
- sage/quivers/algebra_elements.pxi +1324 -0
- sage/quivers/algebra_elements.pyx +1424 -0
- sage/quivers/all.py +1 -0
- sage/quivers/ar_quiver.py +917 -0
- sage/quivers/homspace.py +640 -0
- sage/quivers/morphism.py +1282 -0
- sage/quivers/path_semigroup.py +1155 -0
- sage/quivers/paths.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/quivers/paths.pxd +13 -0
- sage/quivers/paths.pyx +809 -0
- sage/quivers/representation.py +2975 -0
- sage/rings/all__sagemath_flint.py +37 -0
- sage/rings/cif.py +4 -0
- sage/rings/complex_arb.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/rings/complex_arb.pxd +29 -0
- sage/rings/complex_arb.pyx +5176 -0
- sage/rings/complex_interval.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/rings/complex_interval.pxd +30 -0
- sage/rings/complex_interval.pyx +2475 -0
- sage/rings/complex_interval_field.py +711 -0
- sage/rings/convert/all.py +1 -0
- sage/rings/convert/mpfi.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/rings/convert/mpfi.pxd +6 -0
- sage/rings/convert/mpfi.pyx +576 -0
- sage/rings/factorint_flint.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/rings/factorint_flint.pyx +99 -0
- sage/rings/fraction_field_FpT.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/rings/fraction_field_FpT.pxd +28 -0
- sage/rings/fraction_field_FpT.pyx +2043 -0
- sage/rings/imaginary_unit.py +5 -0
- sage/rings/monomials.py +73 -0
- sage/rings/number_field/S_unit_solver.py +2870 -0
- sage/rings/number_field/all__sagemath_flint.py +7 -0
- sage/rings/number_field/bdd_height.py +664 -0
- sage/rings/number_field/class_group.py +762 -0
- sage/rings/number_field/galois_group.py +1307 -0
- sage/rings/number_field/homset.py +612 -0
- sage/rings/number_field/maps.py +687 -0
- sage/rings/number_field/morphism.py +272 -0
- sage/rings/number_field/number_field.py +12820 -0
- sage/rings/number_field/number_field_element.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/rings/number_field/number_field_element.pxd +59 -0
- sage/rings/number_field/number_field_element.pyx +5735 -0
- sage/rings/number_field/number_field_element_quadratic.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/rings/number_field/number_field_element_quadratic.pxd +34 -0
- sage/rings/number_field/number_field_element_quadratic.pyx +3185 -0
- sage/rings/number_field/number_field_ideal_rel.py +925 -0
- sage/rings/number_field/number_field_morphisms.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/rings/number_field/number_field_morphisms.pyx +781 -0
- sage/rings/number_field/number_field_rel.py +2734 -0
- sage/rings/number_field/order.py +2981 -0
- sage/rings/number_field/order_ideal.py +804 -0
- sage/rings/number_field/selmer_group.py +715 -0
- sage/rings/number_field/small_primes_of_degree_one.py +242 -0
- sage/rings/number_field/splitting_field.py +606 -0
- sage/rings/number_field/structure.py +380 -0
- sage/rings/number_field/unit_group.py +721 -0
- sage/rings/padics/all__sagemath_flint.py +3 -0
- sage/rings/polynomial/all__sagemath_flint.py +1 -0
- sage/rings/polynomial/complex_roots.py +312 -0
- sage/rings/polynomial/evaluation_flint.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/rings/polynomial/evaluation_flint.pxd +7 -0
- sage/rings/polynomial/evaluation_flint.pyx +68 -0
- sage/rings/polynomial/hilbert.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/rings/polynomial/hilbert.pyx +602 -0
- sage/rings/polynomial/polynomial_complex_arb.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/rings/polynomial/polynomial_complex_arb.pxd +7 -0
- sage/rings/polynomial/polynomial_complex_arb.pyx +963 -0
- sage/rings/polynomial/polynomial_integer_dense_flint.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/rings/polynomial/polynomial_integer_dense_flint.pxd +13 -0
- sage/rings/polynomial/polynomial_integer_dense_flint.pyx +1881 -0
- sage/rings/polynomial/polynomial_number_field.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/rings/polynomial/polynomial_number_field.pyx +345 -0
- sage/rings/polynomial/polynomial_rational_flint.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/rings/polynomial/polynomial_rational_flint.pxd +20 -0
- sage/rings/polynomial/polynomial_rational_flint.pyx +2598 -0
- sage/rings/polynomial/polynomial_zmod_flint.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/rings/polynomial/polynomial_zmod_flint.pxd +20 -0
- sage/rings/polynomial/polynomial_zmod_flint.pyx +1063 -0
- sage/rings/polynomial/real_roots.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/rings/polynomial/real_roots.pxd +81 -0
- sage/rings/polynomial/real_roots.pyx +4704 -0
- sage/rings/polynomial/refine_root.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/rings/polynomial/refine_root.pyx +142 -0
- sage/rings/polynomial/weil/all.py +4 -0
- sage/rings/polynomial/weil/power_sums.h +46 -0
- sage/rings/polynomial/weil/weil_polynomials.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/rings/polynomial/weil/weil_polynomials.pyx +596 -0
- sage/rings/qqbar.py +9025 -0
- sage/rings/real_arb.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/rings/real_arb.pxd +21 -0
- sage/rings/real_arb.pyx +4065 -0
- sage/rings/real_interval_absolute.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/rings/real_interval_absolute.pyx +1073 -0
- sage/rings/real_mpfi.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/rings/real_mpfi.pyx +5428 -0
- sage/schemes/all__sagemath_flint.py +1 -0
- sage/schemes/elliptic_curves/all__sagemath_flint.py +1 -0
- sage/schemes/elliptic_curves/descent_two_isogeny.cpython-310-x86_64-linux-gnu.so +0 -0
- sage/schemes/elliptic_curves/descent_two_isogeny.pyx +1387 -0
- sage/schemes/elliptic_curves/descent_two_isogeny_pari.pxd +5 -0
@@ -0,0 +1,345 @@
|
|
1
|
+
# sage_setup: distribution = sagemath-flint
|
2
|
+
# sage.doctest: needs sage.rings.number_field
|
3
|
+
r"""
|
4
|
+
Univariate polynomials over number fields
|
5
|
+
|
6
|
+
AUTHOR:
|
7
|
+
|
8
|
+
- Luis Felipe Tabera Alonso (2014-02): initial version.
|
9
|
+
|
10
|
+
EXAMPLES:
|
11
|
+
|
12
|
+
Define a polynomial over an absolute number field and perform basic
|
13
|
+
operations with them::
|
14
|
+
|
15
|
+
sage: x = polygen(ZZ, 'x')
|
16
|
+
sage: N.<a> = NumberField(x^2 - 2)
|
17
|
+
sage: K.<x> = N[]
|
18
|
+
sage: f = x - a
|
19
|
+
sage: g = x^3 - 2*a + 1
|
20
|
+
sage: f * (x + a)
|
21
|
+
x^2 - 2
|
22
|
+
sage: f + g
|
23
|
+
x^3 + x - 3*a + 1
|
24
|
+
sage: g // f
|
25
|
+
x^2 + a*x + 2
|
26
|
+
sage: g % f
|
27
|
+
1
|
28
|
+
sage: factor(x^3 - 2*a*x^2 - 2*x + 4*a)
|
29
|
+
(x - 2*a) * (x - a) * (x + a)
|
30
|
+
sage: gcd(f, x - a)
|
31
|
+
x - a
|
32
|
+
|
33
|
+
Polynomials are aware of embeddings of the underlying field::
|
34
|
+
|
35
|
+
sage: # needs sage.rings.padics
|
36
|
+
sage: x = polygen(ZZ, 'x')
|
37
|
+
sage: Q7 = Qp(7)
|
38
|
+
sage: r1 = Q7(3 + 7 + 2*7^2 + 6*7^3 + 7^4 + 2*7^5 + 7^6 + 2*7^7 + 4*7^8
|
39
|
+
....: + 6*7^9 + 6*7^10 + 2*7^11 + 7^12 + 7^13 + 2*7^15 + 7^16 + 7^17
|
40
|
+
....: + 4*7^18 + 6*7^19)
|
41
|
+
sage: N.<b> = NumberField(x^2 - 2, embedding=r1)
|
42
|
+
sage: K.<t> = N[]
|
43
|
+
sage: f = t^3 - 2*t + 1
|
44
|
+
sage: f(r1)
|
45
|
+
1 + O(7^20)
|
46
|
+
|
47
|
+
We can also construct polynomials over relative number fields::
|
48
|
+
|
49
|
+
sage: # needs fpylll sage.symbolic
|
50
|
+
sage: N.<i, s2> = QQ[I, sqrt(2)]
|
51
|
+
sage: K.<x> = N[]
|
52
|
+
sage: f = x - s2
|
53
|
+
sage: g = x^3 - 2*i*x^2 + s2*x
|
54
|
+
sage: f * (x + s2)
|
55
|
+
x^2 - 2
|
56
|
+
sage: f + g
|
57
|
+
x^3 - 2*I*x^2 + (sqrt2 + 1)*x - sqrt2
|
58
|
+
sage: g // f
|
59
|
+
x^2 + (-2*I + sqrt2)*x - 2*sqrt2*I + sqrt2 + 2
|
60
|
+
sage: g % f
|
61
|
+
-4*I + 2*sqrt2 + 2
|
62
|
+
sage: factor(i*x^4 - 2*i*x^2 + 9*i)
|
63
|
+
(I) * (x - I + sqrt2) * (x + I - sqrt2) * (x - I - sqrt2) * (x + I + sqrt2)
|
64
|
+
sage: gcd(f, x - i)
|
65
|
+
1
|
66
|
+
"""
|
67
|
+
|
68
|
+
# ****************************************************************************
|
69
|
+
# Copyright (C) 2014 Luis Felipe Tabera Alonso <taberalf@unican.es>
|
70
|
+
#
|
71
|
+
# Distributed under the terms of the GNU General Public License (GPL)
|
72
|
+
# as published by the Free Software Foundation; either version 2 of
|
73
|
+
# the License, or (at your option) any later version.
|
74
|
+
# https://www.gnu.org/licenses/
|
75
|
+
# ****************************************************************************
|
76
|
+
|
77
|
+
from sage.rings.polynomial.polynomial_element_generic import Polynomial_generic_dense_field
|
78
|
+
from sage.rings.rational_field import QQ
|
79
|
+
from sage.structure.element import coerce_binop
|
80
|
+
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
|
81
|
+
|
82
|
+
|
83
|
+
class Polynomial_absolute_number_field_dense(Polynomial_generic_dense_field):
|
84
|
+
"""
|
85
|
+
Class of dense univariate polynomials over an absolute number field.
|
86
|
+
"""
|
87
|
+
def __init__(self, parent, x=None, check=True, is_gen=False, construct=False):
|
88
|
+
"""
|
89
|
+
Create a new polynomial in the polynomial ring ``parent``.
|
90
|
+
|
91
|
+
INPUT:
|
92
|
+
|
93
|
+
- ``parent`` -- the polynomial ring in which to construct the
|
94
|
+
element
|
95
|
+
|
96
|
+
- ``x`` -- (default: ``None``) an object representing the
|
97
|
+
polynomial, e.g. a list of coefficients. See
|
98
|
+
:meth:`sage.rings.polynomial.polynomial_element_generic.Polynomial_generic_dense_field.__init__`
|
99
|
+
for more details.
|
100
|
+
|
101
|
+
- ``check`` -- boolean (default: ``True``); if ``True``, make sure that
|
102
|
+
the coefficients of the polynomial are in the base ring
|
103
|
+
|
104
|
+
- ``is_gen`` -- boolean (default: ``False``); if ``True``, `x` is the
|
105
|
+
distinguished generator of the polynomial ring
|
106
|
+
|
107
|
+
- ``construct`` -- boolean (default: ``False``); unused
|
108
|
+
|
109
|
+
EXAMPLES::
|
110
|
+
|
111
|
+
sage: P.<x> = QQ[I][]
|
112
|
+
sage: f = P.random_element()
|
113
|
+
sage: from sage.rings.polynomial.polynomial_number_field import Polynomial_absolute_number_field_dense
|
114
|
+
sage: isinstance(f, Polynomial_absolute_number_field_dense)
|
115
|
+
True
|
116
|
+
sage: a = P(x)
|
117
|
+
sage: a.is_gen()
|
118
|
+
True
|
119
|
+
"""
|
120
|
+
Polynomial_generic_dense_field.__init__(self, parent, x, check, is_gen, construct)
|
121
|
+
|
122
|
+
@coerce_binop
|
123
|
+
def gcd(self, other):
|
124
|
+
"""
|
125
|
+
Compute the monic gcd of two univariate polynomials using PARI.
|
126
|
+
|
127
|
+
INPUT:
|
128
|
+
|
129
|
+
- ``other`` -- a polynomial with the same parent as ``self``
|
130
|
+
|
131
|
+
OUTPUT: the monic gcd of ``self`` and ``other``
|
132
|
+
|
133
|
+
EXAMPLES::
|
134
|
+
|
135
|
+
sage: x = polygen(ZZ, 'x')
|
136
|
+
sage: N.<a> = NumberField(x^3 - 1/2, 'a')
|
137
|
+
sage: R.<r> = N['r']
|
138
|
+
sage: f = (5/4*a^2 - 2*a + 4)*r^2 + (5*a^2 - 81/5*a - 17/2)*r + 4/5*a^2 + 24*a + 6
|
139
|
+
sage: g = (5/4*a^2 - 2*a + 4)*r^2 + (-11*a^2 + 79/5*a - 7/2)*r - 4/5*a^2 - 24*a - 6
|
140
|
+
sage: gcd(f, g**2)
|
141
|
+
r - 60808/96625*a^2 - 69936/96625*a - 149212/96625
|
142
|
+
sage: R = QQ[I]['x']
|
143
|
+
sage: f = R.random_element(2)
|
144
|
+
sage: g = f + 1
|
145
|
+
sage: h = R.random_element(2).monic()
|
146
|
+
sage: f *= h
|
147
|
+
sage: g *= h
|
148
|
+
sage: gcd(f, g) - h
|
149
|
+
0
|
150
|
+
sage: f.gcd(g) - h
|
151
|
+
0
|
152
|
+
|
153
|
+
TESTS:
|
154
|
+
|
155
|
+
Test for degree one extensions::
|
156
|
+
|
157
|
+
sage: x = polygen(ZZ, 'x')
|
158
|
+
sage: N = NumberField(x - 3, 'a')
|
159
|
+
sage: a = N.gen()
|
160
|
+
sage: R = N['x']
|
161
|
+
sage: f = R._random_nonzero_element()
|
162
|
+
sage: g1 = R._random_nonzero_element()
|
163
|
+
sage: g2 = g1 * R._random_nonzero_element() + 1
|
164
|
+
sage: g1 *= f
|
165
|
+
sage: g2 *= f
|
166
|
+
sage: d = gcd(g1, g2)
|
167
|
+
sage: f.monic() - d
|
168
|
+
0
|
169
|
+
sage: d.parent() is R
|
170
|
+
True
|
171
|
+
|
172
|
+
Test for coercion with other rings and force weird variables
|
173
|
+
to test PARI behavior::
|
174
|
+
|
175
|
+
sage: r = polygen(ZZ, 'r')
|
176
|
+
sage: N = NumberField(r^2 - 2, 'r')
|
177
|
+
sage: a = N.gen()
|
178
|
+
sage: R = N['r']
|
179
|
+
sage: r = R.gen()
|
180
|
+
sage: f = N.random_element(4)*r + 1
|
181
|
+
sage: g = ZZ['r']([1, 2, 3, 4, 5, 6, 7]); g
|
182
|
+
7*r^6 + 6*r^5 + 5*r^4 + 4*r^3 + 3*r^2 + 2*r + 1
|
183
|
+
sage: gcd(f, g) == gcd(g, f)
|
184
|
+
True
|
185
|
+
sage: h = f.gcd(g); h
|
186
|
+
1
|
187
|
+
sage: h.parent()
|
188
|
+
Univariate Polynomial Ring in r over
|
189
|
+
Number Field in r with defining polynomial r^2 - 2
|
190
|
+
sage: gcd([a*r + 2, r^2 - 2])
|
191
|
+
r + r
|
192
|
+
"""
|
193
|
+
if self.is_zero():
|
194
|
+
if other.is_zero():
|
195
|
+
return self
|
196
|
+
else:
|
197
|
+
return other.monic()
|
198
|
+
elif other.is_zero():
|
199
|
+
return self.monic()
|
200
|
+
elif self.degree() == 0 or other.degree() == 0:
|
201
|
+
return self.parent().one()
|
202
|
+
|
203
|
+
# If the extension is of degree one, use the gcd from QQ[x]
|
204
|
+
if self.base_ring().degree().is_one():
|
205
|
+
R = self.base_ring()
|
206
|
+
a = self.change_ring(QQ)
|
207
|
+
b = other.change_ring(QQ)
|
208
|
+
g = a.gcd(b)
|
209
|
+
return g.change_ring(R)
|
210
|
+
|
211
|
+
h1 = self._pari_with_name('x')
|
212
|
+
h2 = other._pari_with_name('x')
|
213
|
+
g = h1.gcd(h2)
|
214
|
+
return (self.parent()(g)).monic()
|
215
|
+
|
216
|
+
|
217
|
+
class Polynomial_relative_number_field_dense(Polynomial_generic_dense_field):
|
218
|
+
"""
|
219
|
+
Class of dense univariate polynomials over a relative number field.
|
220
|
+
"""
|
221
|
+
def __init__(self, parent, x=None, check=True, is_gen=False, construct=False):
|
222
|
+
"""
|
223
|
+
Create a new polynomial in the polynomial ring ``parent``.
|
224
|
+
|
225
|
+
INPUT:
|
226
|
+
|
227
|
+
- ``parent`` -- polynomial ring in which to construct the
|
228
|
+
element
|
229
|
+
|
230
|
+
- ``x`` -- (default: ``None``) an object representing the
|
231
|
+
polynomial, e.g. a list of coefficients. See
|
232
|
+
:meth:`sage.rings.polynomial.polynomial_element_generic.Polynomial_generic_dense_field.__init__`
|
233
|
+
for more details.
|
234
|
+
|
235
|
+
- ``check`` -- boolean (default: ``True``); if ``True``, make sure that
|
236
|
+
the coefficients of the polynomial are in the base ring
|
237
|
+
|
238
|
+
- ``is_gen`` -- boolean (default: ``False``); if ``True``, ``x`` is the
|
239
|
+
distinguished generator of the polynomial ring
|
240
|
+
|
241
|
+
- ``construct`` -- boolean (default: ``False``); unused
|
242
|
+
|
243
|
+
EXAMPLES::
|
244
|
+
|
245
|
+
sage: x = polygen(ZZ, 'x')
|
246
|
+
sage: f = NumberField([x^2 - 2, x^2 - 3], 'a')['x'].random_element()
|
247
|
+
sage: from sage.rings.polynomial.polynomial_number_field import Polynomial_relative_number_field_dense
|
248
|
+
sage: isinstance(f, Polynomial_relative_number_field_dense)
|
249
|
+
True
|
250
|
+
"""
|
251
|
+
Polynomial_generic_dense_field.__init__(self, parent, x, check, is_gen, construct)
|
252
|
+
|
253
|
+
@coerce_binop
|
254
|
+
def gcd(self, other):
|
255
|
+
"""
|
256
|
+
Compute the monic gcd of two polynomials.
|
257
|
+
|
258
|
+
Currently, the method checks corner cases in which one of the
|
259
|
+
polynomials is zero or a constant. Then, computes an absolute
|
260
|
+
extension and performs the computations there.
|
261
|
+
|
262
|
+
INPUT:
|
263
|
+
|
264
|
+
- ``other`` -- a polynomial with the same parent as ``self``
|
265
|
+
|
266
|
+
OUTPUT: the monic gcd of ``self`` and ``other``
|
267
|
+
|
268
|
+
See :meth:`Polynomial_absolute_number_field_dense.gcd` for
|
269
|
+
more details.
|
270
|
+
|
271
|
+
EXAMPLES::
|
272
|
+
|
273
|
+
sage: # needs fpylll sage.symbolic
|
274
|
+
sage: N = QQ[sqrt(2), sqrt(3)]
|
275
|
+
sage: s2, s3 = N.gens()
|
276
|
+
sage: x = polygen(N)
|
277
|
+
sage: f = x^4 - 5*x^2 + 6
|
278
|
+
sage: g = x^3 + (-2*s2 + s3)*x^2 + (-2*s3*s2 + 2)*x + 2*s3
|
279
|
+
sage: gcd(f, g)
|
280
|
+
x^2 + (-sqrt2 + sqrt3)*x - sqrt3*sqrt2
|
281
|
+
sage: f.gcd(g)
|
282
|
+
x^2 + (-sqrt2 + sqrt3)*x - sqrt3*sqrt2
|
283
|
+
|
284
|
+
TESTS::
|
285
|
+
|
286
|
+
sage: x = polygen(ZZ, 'x')
|
287
|
+
sage: R = NumberField([x^2 - 2, x^2 - 3], 'a')['x']
|
288
|
+
sage: f = R._random_nonzero_element()
|
289
|
+
sage: g1 = R.random_element()
|
290
|
+
sage: g2 = R.random_element()*g1 + 1
|
291
|
+
sage: g1 *= f
|
292
|
+
sage: g2 *= f
|
293
|
+
sage: f.monic() - g1.gcd(g2)
|
294
|
+
0
|
295
|
+
|
296
|
+
Test for degree one extensions::
|
297
|
+
|
298
|
+
sage: R = NumberField([x - 2, x + 1, x - 3], 'a')['x']
|
299
|
+
sage: f = R.random_element(2)
|
300
|
+
sage: g1 = R.random_element(2)
|
301
|
+
sage: g2 = R.random_element(2)*g1 + 1
|
302
|
+
sage: g1 *= f
|
303
|
+
sage: g2 *= f
|
304
|
+
sage: d = gcd(g1, g2)
|
305
|
+
sage: d - f.monic()
|
306
|
+
0
|
307
|
+
sage: d.parent() is R
|
308
|
+
True
|
309
|
+
|
310
|
+
Test for hardcoded variables::
|
311
|
+
|
312
|
+
sage: # needs fpylll sage.symbolic
|
313
|
+
sage: R = N['sqrt2sqrt3']
|
314
|
+
sage: x = R.gen()
|
315
|
+
sage: f = x^2 - 2
|
316
|
+
sage: g1 = x^2 - s3
|
317
|
+
sage: g2 = x - s2
|
318
|
+
sage: gcd(f, g1)
|
319
|
+
1
|
320
|
+
sage: gcd(f, g2)
|
321
|
+
sqrt2sqrt3 - sqrt2
|
322
|
+
"""
|
323
|
+
if self.is_zero():
|
324
|
+
if other.is_zero():
|
325
|
+
return self
|
326
|
+
else:
|
327
|
+
return other.monic()
|
328
|
+
elif other.is_zero():
|
329
|
+
return self.monic()
|
330
|
+
elif self.degree() == 0 or other.degree() == 0:
|
331
|
+
return self.parent().one()
|
332
|
+
|
333
|
+
L = self.parent()
|
334
|
+
x = L.variable_name()
|
335
|
+
N = self.base_ring()
|
336
|
+
c = ''.join(map(str,N.variable_names()))
|
337
|
+
M = N.absolute_field(c)
|
338
|
+
M_to_N, N_to_M = M.structure()
|
339
|
+
R = PolynomialRing(M, x)
|
340
|
+
first = R([N_to_M(foo) for foo in self.list()])
|
341
|
+
second = R([N_to_M(foo) for foo in other.list()])
|
342
|
+
result = first.gcd(second)
|
343
|
+
result = L([M_to_N(foo) for foo in result.list()])
|
344
|
+
# the result is already monic
|
345
|
+
return result
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# sage_setup: distribution = sagemath-flint
|
2
|
+
# ############################################################################
|
3
|
+
# Copyright (C) 2010 Sebastian Pancratz <sfp@pancratz.org> #
|
4
|
+
# #
|
5
|
+
# Distributed under the terms of the GNU General Public License (GPL) #
|
6
|
+
# #
|
7
|
+
# https://www.gnu.org/licenses/ #
|
8
|
+
# ############################################################################
|
9
|
+
|
10
|
+
from sage.libs.flint.types cimport fmpq_poly_t
|
11
|
+
|
12
|
+
from sage.rings.polynomial.polynomial_element cimport Polynomial
|
13
|
+
|
14
|
+
cdef class Polynomial_rational_flint(Polynomial):
|
15
|
+
cdef fmpq_poly_t _poly
|
16
|
+
|
17
|
+
cdef Polynomial_rational_flint _new(self)
|
18
|
+
cpdef _mod_(self, right)
|
19
|
+
cpdef _unsafe_mutate(self, unsigned long n, value)
|
20
|
+
cpdef Polynomial truncate(self, long n)
|