passagemath-flint 10.5.40__tar.gz → 10.5.41__tar.gz
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.5.40 → passagemath_flint-10.5.41}/PKG-INFO +3 -3
- passagemath_flint-10.5.41/VERSION.txt +1 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/passagemath_flint.egg-info/PKG-INFO +3 -3
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/passagemath_flint.egg-info/requires.txt +2 -2
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/pyproject.toml +9 -9
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/S_unit_solver.py +28 -28
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/bdd_height.py +2 -1
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/class_group.py +2 -2
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/galois_group.py +5 -3
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/number_field.py +115 -77
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/number_field_element.pyx +5 -5
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/number_field_ideal_rel.py +7 -9
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/number_field_rel.py +8 -8
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/order.py +2 -2
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/selmer_group.py +4 -4
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/qqbar.py +9 -9
- passagemath_flint-10.5.40/VERSION.txt +0 -1
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/MANIFEST.in +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/README.rst +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/passagemath_flint.egg-info/SOURCES.txt +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/passagemath_flint.egg-info/dependency_links.txt +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/passagemath_flint.egg-info/top_level.txt +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/all__sagemath_flint.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/combinat/all__sagemath_flint.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/combinat/posets/all__sagemath_flint.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/combinat/posets/hasse_cython_flint.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/data_structures/all__sagemath_flint.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/data_structures/bounded_integer_sequences.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/data_structures/bounded_integer_sequences.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/graphs/all__sagemath_flint.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/graphs/chrompoly.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/graphs/matchpoly.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/all__sagemath_flint.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/__init__.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/acb.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/acb_calc.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/acb_elliptic.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/acb_hypgeom.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/acb_mat.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/acb_modular.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/acb_poly.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/arb.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/arb_fmpz_poly.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/arb_hypgeom.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/arb_wrap.h +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/arf.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/arith.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/bernoulli.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/mag.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/meson.build +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/arb/types.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/__init__.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acb.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acb_calc.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acb_dft.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acb_dirichlet.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acb_elliptic.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acb_hypgeom.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acb_macros.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acb_mat.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acb_mat_macros.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acb_modular.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acb_poly.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acb_poly_macros.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acb_theta.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/acf.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/aprcl.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/arb.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/arb_calc.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/arb_fmpz_poly.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/arb_fpwrap.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/arb_hypgeom.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/arb_macros.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/arb_mat.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/arb_mat_macros.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/arb_poly.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/arf.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/arith.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/arith.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/arith_sage.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/bernoulli.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/bool_mat.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/ca.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/ca_ext.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/ca_field.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/ca_mat.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/ca_poly.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/ca_vec.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/calcium.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/d_mat.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/d_vec.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/dirichlet.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/dlog.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/double_extras.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/double_interval.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fexpr.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fexpr_builtin.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fft.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/flint.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/flint_ntl_wrap.h +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/flint_sage.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/flint_wrap.h +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpq.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpq_mat.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpq_mat_macros.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpq_mpoly.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpq_mpoly_factor.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpq_poly.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpq_poly_macros.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpq_poly_sage.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpq_poly_sage.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpq_vec.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_extras.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_factor.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_factor_sage.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_factor_sage.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_lll.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_macros.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_mat.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_mat_macros.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_mod.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_mod_mat.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_mod_mpoly.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_mod_mpoly_factor.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_mod_poly.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_mod_poly_factor.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_mod_vec.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_mpoly.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_mpoly_factor.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_mpoly_q.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_poly.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_poly.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_poly_factor.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_poly_macros.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_poly_mat.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_poly_q.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_poly_sage.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_poly_sage.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpz_vec.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fmpzi.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_default.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_default_mat.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_default_poly.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_default_poly_factor.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_embed.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_mat.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_nmod.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_nmod_embed.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_nmod_mat.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_nmod_mpoly.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_nmod_mpoly_factor.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_nmod_poly.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_nmod_poly_factor.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_nmod_vec.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_poly.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_poly_factor.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_vec.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_zech.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_zech_embed.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_zech_mat.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_zech_poly.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_zech_poly_factor.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/fq_zech_vec.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/gr.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/gr_generic.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/gr_mat.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/gr_mpoly.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/gr_poly.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/gr_special.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/gr_vec.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/hypgeom.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/long_extras.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/mag.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/mag_macros.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/meson.build +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/mpf_mat.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/mpf_vec.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/mpfr_mat.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/mpfr_vec.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/mpn_extras.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/mpoly.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/nf.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/nf_elem.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/nmod.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/nmod_mat.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/nmod_mpoly.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/nmod_mpoly_factor.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/nmod_poly.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/nmod_poly_factor.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/nmod_poly_linkage.pxi +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/nmod_poly_mat.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/nmod_vec.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/ntl_interface.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/padic.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/padic_mat.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/padic_poly.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/partitions.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/perm.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/profiler.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/qadic.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/qfb.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/qqbar.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/qsieve.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/qsieve.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/qsieve_sage.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/thread_pool.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/types.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/ulong_extras.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/ulong_extras.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/flint/ulong_extras_sage.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/mpfi/__init__.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/mpfi/types.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/ntl/decl.pxi +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/ntl/misc.pxi +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/ntl/ntl_GF2X_linkage.pxi +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/ntl/ntl_ZZ_pEX_linkage.pxi +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/ntl/ntlwrap.h +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/libs/ntl/ntlwrap_impl.h +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/all__sagemath_flint.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/change_ring.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_complex_ball_dense.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_complex_ball_dense.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_cyclo_dense.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_cyclo_dense.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_integer_dense.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_integer_dense.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_integer_dense_hnf.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_integer_dense_saturation.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_integer_sparse.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_integer_sparse.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_rational_dense.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_rational_dense.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_rational_sparse.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/matrix_rational_sparse.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/matrix/misc_flint.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/modular/all__sagemath_flint.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/modular/modform/all__sagemath_flint.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/modular/modform/eis_series_cython.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/modular/modsym/all__sagemath_flint.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/modular/modsym/apply.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/modular/modsym/apply.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/modular/modsym/heilbronn.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/modular/pollack_stevens/all__sagemath_flint.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/modular/pollack_stevens/dist.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/modular/pollack_stevens/dist.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/quivers/algebra.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/quivers/algebra_elements.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/quivers/algebra_elements.pxi +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/quivers/algebra_elements.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/quivers/all.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/quivers/ar_quiver.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/quivers/homspace.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/quivers/meson.build +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/quivers/morphism.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/quivers/path_semigroup.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/quivers/paths.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/quivers/paths.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/quivers/representation.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/all__sagemath_flint.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/cif.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/complex_arb.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/complex_arb.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/complex_interval.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/complex_interval.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/complex_interval_field.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/convert/all.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/convert/meson.build +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/convert/mpfi.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/convert/mpfi.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/factorint_flint.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/fraction_field_FpT.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/fraction_field_FpT.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/imaginary_unit.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/monomials.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/all.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/all__sagemath_flint.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/homset.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/maps.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/meson.build +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/morphism.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/number_field_element.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/number_field_element_quadratic.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/number_field_element_quadratic.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/number_field_morphisms.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/order_ideal.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/small_primes_of_degree_one.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/splitting_field.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/structure.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/unit_group.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/padics/all__sagemath_flint.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/all__sagemath_flint.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/complex_roots.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/evaluation_flint.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/evaluation_flint.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/hilbert.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/polynomial_complex_arb.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/polynomial_complex_arb.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/polynomial_integer_dense_flint.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/polynomial_integer_dense_flint.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/polynomial_number_field.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/polynomial_rational_flint.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/polynomial_rational_flint.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/polynomial_template.pxi +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/polynomial_template_header.pxi +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/polynomial_zmod_flint.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/polynomial_zmod_flint.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/real_roots.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/real_roots.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/refine_root.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/weil/all.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/weil/meson.build +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/weil/power_sums.c +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/weil/power_sums.h +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/polynomial/weil/weil_polynomials.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/real_arb.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/real_arb.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/real_interval_absolute.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/real_mpfi.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/real_mpfi.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/schemes/all__sagemath_flint.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/schemes/elliptic_curves/all__sagemath_flint.py +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/schemes/elliptic_curves/descent_two_isogeny.pyx +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/schemes/elliptic_curves/descent_two_isogeny_pari.pxd +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/setup.cfg +0 -0
- {passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/setup.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: passagemath-flint
|
3
|
-
Version: 10.5.
|
3
|
+
Version: 10.5.41
|
4
4
|
Summary: passagemath: Fast computations with MPFI and FLINT
|
5
5
|
Author-email: The Sage Developers <sage-support@googlegroups.com>
|
6
6
|
Maintainer: Matthias Köppe, passagemath contributors
|
@@ -28,8 +28,8 @@ Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
28
28
|
Classifier: Topic :: Scientific/Engineering :: Mathematics
|
29
29
|
Requires-Python: <3.14,>=3.9
|
30
30
|
Description-Content-Type: text/x-rst
|
31
|
-
Requires-Dist: passagemath-categories~=10.5.
|
32
|
-
Requires-Dist: passagemath-ntl~=10.5.
|
31
|
+
Requires-Dist: passagemath-categories~=10.5.41.0
|
32
|
+
Requires-Dist: passagemath-ntl~=10.5.41.0
|
33
33
|
Requires-Dist: numpy>=1.19
|
34
34
|
Requires-Dist: numpy>=1.22.4
|
35
35
|
Provides-Extra: test
|
@@ -0,0 +1 @@
|
|
1
|
+
10.5.41
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: passagemath-flint
|
3
|
-
Version: 10.5.
|
3
|
+
Version: 10.5.41
|
4
4
|
Summary: passagemath: Fast computations with MPFI and FLINT
|
5
5
|
Author-email: The Sage Developers <sage-support@googlegroups.com>
|
6
6
|
Maintainer: Matthias Köppe, passagemath contributors
|
@@ -28,8 +28,8 @@ Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
28
28
|
Classifier: Topic :: Scientific/Engineering :: Mathematics
|
29
29
|
Requires-Python: <3.14,>=3.9
|
30
30
|
Description-Content-Type: text/x-rst
|
31
|
-
Requires-Dist: passagemath-categories~=10.5.
|
32
|
-
Requires-Dist: passagemath-ntl~=10.5.
|
31
|
+
Requires-Dist: passagemath-categories~=10.5.41.0
|
32
|
+
Requires-Dist: passagemath-ntl~=10.5.41.0
|
33
33
|
Requires-Dist: numpy>=1.19
|
34
34
|
Requires-Dist: numpy>=1.22.4
|
35
35
|
Provides-Extra: test
|
@@ -4,16 +4,16 @@
|
|
4
4
|
# sage_conf is needed for library name of the flint library.
|
5
5
|
requires = [
|
6
6
|
'setuptools >= 77.0.0',
|
7
|
-
'passagemath-setup ~= 10.5.
|
8
|
-
'passagemath-conf ~= 10.5.
|
7
|
+
'passagemath-setup ~= 10.5.41.0',
|
8
|
+
'passagemath-conf ~= 10.5.41.0',
|
9
9
|
'numpy >=1.19', 'numpy >=1.22.4',
|
10
|
-
'passagemath-environment ~= 10.5.
|
11
|
-
'passagemath-categories ~= 10.5.
|
12
|
-
'passagemath-modules ~= 10.5.
|
13
|
-
'passagemath-ntl ~= 10.5.
|
10
|
+
'passagemath-environment ~= 10.5.41.0',
|
11
|
+
'passagemath-categories ~= 10.5.41.0',
|
12
|
+
'passagemath-modules ~= 10.5.41.0',
|
13
|
+
'passagemath-ntl ~= 10.5.41.0',
|
14
14
|
'cython >=3.0, != 3.0.3, <4.0', 'cython >=3.0.8,<3.1.0',
|
15
15
|
'gmpy2 ~=2.1.b999',
|
16
|
-
'cysignals
|
16
|
+
'cysignals >=1.11.2, != 1.12.0',
|
17
17
|
'pkgconfig',
|
18
18
|
]
|
19
19
|
build-backend = "setuptools.build_meta"
|
@@ -22,8 +22,8 @@ build-backend = "setuptools.build_meta"
|
|
22
22
|
name = "passagemath-flint"
|
23
23
|
description = "passagemath: Fast computations with MPFI and FLINT"
|
24
24
|
dependencies = [
|
25
|
-
'passagemath-categories ~= 10.5.
|
26
|
-
'passagemath-ntl ~= 10.5.
|
25
|
+
'passagemath-categories ~= 10.5.41.0',
|
26
|
+
'passagemath-ntl ~= 10.5.41.0',
|
27
27
|
'numpy >=1.19', 'numpy >=1.22.4',
|
28
28
|
]
|
29
29
|
dynamic = ["version"]
|
{passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/S_unit_solver.py
RENAMED
@@ -13,10 +13,10 @@ EXAMPLES::
|
|
13
13
|
sage: x = polygen(ZZ, 'x')
|
14
14
|
sage: K.<xi> = NumberField(x^2 + x + 1)
|
15
15
|
sage: S = K.primes_above(3)
|
16
|
-
sage: expected = [((
|
17
|
-
....: ((
|
16
|
+
sage: expected = [((4, 1), (4, 0), xi + 2, -xi - 1),
|
17
|
+
....: ((3, -1), (2, -1), 1/3*xi + 2/3, -1/3*xi + 1/3),
|
18
18
|
....: ((1, 0), (5, 0), xi + 1, -xi),
|
19
|
-
....: ((2, 0), (
|
19
|
+
....: ((2, 0), (3, 1), xi, -xi + 1)]
|
20
20
|
sage: sols = solve_S_unit_equation(K, S, 200)
|
21
21
|
sage: eq_up_to_order(sols, expected)
|
22
22
|
True
|
@@ -1382,7 +1382,7 @@ def defining_polynomial_for_Kp(prime, prec=106):
|
|
1382
1382
|
sage: from sage.rings.number_field.S_unit_solver import defining_polynomial_for_Kp
|
1383
1383
|
sage: K.<a> = QuadraticField(2)
|
1384
1384
|
sage: p2 = K.prime_above(7); p2
|
1385
|
-
Fractional ideal (
|
1385
|
+
Fractional ideal (2*a - 1)
|
1386
1386
|
sage: defining_polynomial_for_Kp(p2, 10)
|
1387
1387
|
x + 266983762
|
1388
1388
|
|
@@ -1449,7 +1449,7 @@ def embedding_to_Kp(a, prime, prec):
|
|
1449
1449
|
sage: from sage.rings.number_field.S_unit_solver import embedding_to_Kp
|
1450
1450
|
sage: K.<a> = QuadraticField(17)
|
1451
1451
|
sage: p = K.prime_above(13); p
|
1452
|
-
Fractional ideal (
|
1452
|
+
Fractional ideal (a - 2)
|
1453
1453
|
sage: embedding_to_Kp(a-3, p, 15)
|
1454
1454
|
-20542890112375827
|
1455
1455
|
|
@@ -1792,10 +1792,10 @@ def sieve_ordering(SUK, q):
|
|
1792
1792
|
Residue field of Fractional ideal (2*xi + 1))
|
1793
1793
|
|
1794
1794
|
sage: sieve_data[2]
|
1795
|
-
([18,
|
1795
|
+
([18, 9, 16, 8], [18, 7, 10, 4], [18, 3, 12, 10])
|
1796
1796
|
|
1797
1797
|
sage: sieve_data[3]
|
1798
|
-
(
|
1798
|
+
(972, 972, 3888)
|
1799
1799
|
"""
|
1800
1800
|
|
1801
1801
|
K = SUK.number_field()
|
@@ -2171,23 +2171,23 @@ def construct_complement_dictionaries(split_primes_list, SUK, verbose=False):
|
|
2171
2171
|
sage: SUK = K.S_unit_group(S=K.primes_above(H))
|
2172
2172
|
sage: split_primes_list = [3, 7]
|
2173
2173
|
sage: actual = construct_complement_dictionaries(split_primes_list, SUK)
|
2174
|
-
sage: expected = {3: {(0, 1, 0): [(
|
2175
|
-
....: (1, 0, 0): [(
|
2176
|
-
....: 7: {(0, 1, 0): [(1, 0, 0), (1,
|
2174
|
+
sage: expected = {3: {(0, 1, 0): [(0, 1, 0), (1, 0, 0)],
|
2175
|
+
....: (1, 0, 0): [(0, 1, 0), (1, 0, 0)]},
|
2176
|
+
....: 7: {(0, 1, 0): [(1, 0, 0), (1, 2, 2), (1, 4, 4)],
|
2177
2177
|
....: (0, 1, 2): [(0, 1, 2), (0, 3, 4), (0, 5, 0)],
|
2178
|
-
....: (0, 3, 2): [(1, 0, 0), (1,
|
2178
|
+
....: (0, 3, 2): [(1, 0, 0), (1, 2, 2), (1, 4, 4)],
|
2179
2179
|
....: (0, 3, 4): [(0, 1, 2), (0, 3, 4), (0, 5, 0)],
|
2180
2180
|
....: (0, 5, 0): [(0, 1, 2), (0, 3, 4), (0, 5, 0)],
|
2181
|
-
....: (0, 5, 4): [(1, 0, 0), (1,
|
2182
|
-
....: (1, 0, 0): [(0,
|
2183
|
-
....: (1, 0, 2): [(1, 0, 4), (1,
|
2184
|
-
....: (1, 0, 4): [(1,
|
2185
|
-
....: (1, 2, 0): [(1,
|
2186
|
-
....: (1, 2, 2): [(0,
|
2187
|
-
....: (1, 2, 4): [(1, 0, 4), (1,
|
2188
|
-
....: (1, 4, 0): [(1, 0, 4), (1,
|
2189
|
-
....: (1, 4, 2): [(1,
|
2190
|
-
....: (1, 4, 4): [(0,
|
2181
|
+
....: (0, 5, 4): [(1, 0, 0), (1, 2, 2), (1, 4, 4)],
|
2182
|
+
....: (1, 0, 0): [(0, 1, 0), (0, 3, 2), (0, 5, 4)],
|
2183
|
+
....: (1, 0, 2): [(1, 0, 4), (1, 2, 0), (1, 4, 2)],
|
2184
|
+
....: (1, 0, 4): [(1, 0, 2), (1, 2, 4), (1, 4, 0)],
|
2185
|
+
....: (1, 2, 0): [(1, 0, 2), (1, 2, 4), (1, 4, 0)],
|
2186
|
+
....: (1, 2, 2): [(0, 1, 0), (0, 3, 2), (0, 5, 4)],
|
2187
|
+
....: (1, 2, 4): [(1, 0, 4), (1, 2, 0), (1, 4, 2)],
|
2188
|
+
....: (1, 4, 0): [(1, 0, 4), (1, 2, 0), (1, 4, 2)],
|
2189
|
+
....: (1, 4, 2): [(1, 0, 2), (1, 2, 4), (1, 4, 0)],
|
2190
|
+
....: (1, 4, 4): [(0, 1, 0), (0, 3, 2), (0, 5, 4)]}}
|
2191
2191
|
sage: all(set(actual[p][vec]) == set(expected[p][vec])
|
2192
2192
|
....: for p in [3, 7] for vec in expected[p])
|
2193
2193
|
True
|
@@ -2694,9 +2694,9 @@ def sieve_below_bound(K, S, bound=10, bump=10, split_primes_list=[], verbose=Fal
|
|
2694
2694
|
sage: SUK = UnitGroup(K, S=tuple(K.primes_above(3)))
|
2695
2695
|
sage: S = SUK.primes()
|
2696
2696
|
sage: sols = sieve_below_bound(K, S, 10)
|
2697
|
-
sage: expected = [((
|
2698
|
-
....: ((
|
2699
|
-
....: ((2, 0), (
|
2697
|
+
sage: expected = [((3, -1), (2, -1), 1/3*xi + 2/3, -1/3*xi + 1/3),
|
2698
|
+
....: ((4, 1), (4, 0), xi + 2, -xi - 1),
|
2699
|
+
....: ((2, 0), (3, 1), xi, -xi + 1),
|
2700
2700
|
....: ((1, 0), (5, 0), xi + 1, -xi)]
|
2701
2701
|
sage: eq_up_to_order(sols, expected)
|
2702
2702
|
True
|
@@ -2759,10 +2759,10 @@ def solve_S_unit_equation(K, S, prec=106, include_exponents=True, include_bound=
|
|
2759
2759
|
sage: K.<xi> = NumberField(x^2 + x + 1)
|
2760
2760
|
sage: S = K.primes_above(3)
|
2761
2761
|
sage: sols = solve_S_unit_equation(K, S, 200)
|
2762
|
-
sage: expected = [((
|
2763
|
-
....: ((
|
2762
|
+
sage: expected = [((4, 1), (4, 0), xi + 2, -xi - 1),
|
2763
|
+
....: ((3, -1), (2, -1), 1/3*xi + 2/3, -1/3*xi + 1/3),
|
2764
2764
|
....: ((1, 0), (5, 0), xi + 1, -xi),
|
2765
|
-
....: ((2, 0), (
|
2765
|
+
....: ((2, 0), (3, 1), xi, -xi + 1)]
|
2766
2766
|
sage: eq_up_to_order(sols, expected)
|
2767
2767
|
True
|
2768
2768
|
|
@@ -2770,7 +2770,7 @@ def solve_S_unit_equation(K, S, prec=106, include_exponents=True, include_bound=
|
|
2770
2770
|
|
2771
2771
|
sage: solutions, bound = solve_S_unit_equation(K, S, 100, include_bound=True)
|
2772
2772
|
sage: bound
|
2773
|
-
|
2773
|
+
6
|
2774
2774
|
|
2775
2775
|
You can omit the exponent vectors::
|
2776
2776
|
|
{passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/bdd_height.py
RENAMED
@@ -237,7 +237,8 @@ def bdd_norm_pr_ideal_gens(K, norm_list):
|
|
237
237
|
sage: from sage.rings.number_field.bdd_height import bdd_norm_pr_ideal_gens
|
238
238
|
sage: K.<g> = QuadraticField(123)
|
239
239
|
sage: bdd_norm_pr_ideal_gens(K, range(5))
|
240
|
-
{0: [0], 1: [1], 2: [g + 11], 3: [], 4: [2]}
|
240
|
+
{0: [0], 1: [1], 2: [g + 11], 3: [], 4: [2]} # 64-bit
|
241
|
+
{0: [0], 1: [1], 2: [g - 11], 3: [], 4: [2]} # 32-bit
|
241
242
|
|
242
243
|
::
|
243
244
|
|
{passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/class_group.py
RENAMED
@@ -526,9 +526,9 @@ class ClassGroup(AbelianGroupWithValues_class):
|
|
526
526
|
Class group of order 68 with structure C34 x C2 of Number Field
|
527
527
|
in a with defining polynomial x^2 + x + 23899
|
528
528
|
sage: C.gens()
|
529
|
-
(Fractional ideal class (
|
529
|
+
(Fractional ideal class (83, a + 21), Fractional ideal class (15, a + 8))
|
530
530
|
sage: C.gens_ideals()
|
531
|
-
(Fractional ideal (
|
531
|
+
(Fractional ideal (83, a + 21), Fractional ideal (15, a + 8))
|
532
532
|
"""
|
533
533
|
return self.gens_values()
|
534
534
|
|
{passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/galois_group.py
RENAMED
@@ -995,9 +995,11 @@ class GaloisGroup_v2(GaloisGroup_perm):
|
|
995
995
|
sage: x = polygen(ZZ, 'x')
|
996
996
|
sage: K.<b> = NumberField(x^4 - 2*x^2 + 2, 'a').galois_closure()
|
997
997
|
sage: G = K.galois_group()
|
998
|
-
sage: [G.artin_symbol(P) for P in K.primes_above(7)]
|
999
|
-
[(1,4)(2,3)(5,8)(6,7),
|
1000
|
-
(1,
|
998
|
+
sage: sorted([G.artin_symbol(P) for P in K.primes_above(7)])
|
999
|
+
[(1,4)(2,3)(5,8)(6,7),
|
1000
|
+
(1,4)(2,3)(5,8)(6,7),
|
1001
|
+
(1,5)(2,6)(3,7)(4,8),
|
1002
|
+
(1,5)(2,6)(3,7)(4,8)]
|
1001
1003
|
sage: G.artin_symbol(17)
|
1002
1004
|
Traceback (most recent call last):
|
1003
1005
|
...
|
{passagemath_flint-10.5.40 → passagemath_flint-10.5.41}/sage/rings/number_field/number_field.py
RENAMED
@@ -3624,7 +3624,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
|
|
3624
3624
|
sage: L.<b> = K.extension(x^2 - 3, x^2 + 1)
|
3625
3625
|
sage: M.<c> = L.extension(x^2 + 1)
|
3626
3626
|
sage: L.ideal(K.ideal(2, a))
|
3627
|
-
Fractional ideal (a)
|
3627
|
+
Fractional ideal (-a)
|
3628
3628
|
sage: M.ideal(K.ideal(2, a)) == M.ideal(a*(b - c)/2)
|
3629
3629
|
True
|
3630
3630
|
|
@@ -3667,35 +3667,37 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
|
|
3667
3667
|
....: print(n)
|
3668
3668
|
....: for I in sorted(d[n]):
|
3669
3669
|
....: print(I)
|
3670
|
-
|
3671
|
-
|
3672
|
-
|
3673
|
-
|
3674
|
-
|
3675
|
-
|
3676
|
-
|
3677
|
-
|
3678
|
-
|
3679
|
-
|
3680
|
-
|
3681
|
-
|
3682
|
-
|
3683
|
-
|
3684
|
-
|
3685
|
-
|
3686
|
-
|
3687
|
-
|
3688
|
-
|
3689
|
-
|
3690
|
-
|
3691
|
-
|
3692
|
-
|
3693
|
-
|
3694
|
-
|
3695
|
-
|
3696
|
-
|
3697
|
-
|
3698
|
-
|
3670
|
+
1
|
3671
|
+
Fractional ideal (1)
|
3672
|
+
2
|
3673
|
+
Fractional ideal (2, 1/2*a - 1/2)
|
3674
|
+
Fractional ideal (2, 1/2*a + 1/2)
|
3675
|
+
3
|
3676
|
+
Fractional ideal (3, 1/2*a - 1/2)
|
3677
|
+
Fractional ideal (3, 1/2*a + 1/2)
|
3678
|
+
4
|
3679
|
+
Fractional ideal (2)
|
3680
|
+
Fractional ideal (4, 1/2*a + 3/2)
|
3681
|
+
Fractional ideal (4, 1/2*a + 5/2)
|
3682
|
+
5
|
3683
|
+
6
|
3684
|
+
Fractional ideal (-1/2*a + 1/2)
|
3685
|
+
Fractional ideal (1/2*a + 1/2)
|
3686
|
+
Fractional ideal (6, 1/2*a + 5/2)
|
3687
|
+
Fractional ideal (6, 1/2*a + 7/2)
|
3688
|
+
7
|
3689
|
+
8
|
3690
|
+
Fractional ideal (4, a - 1)
|
3691
|
+
Fractional ideal (4, a + 1)
|
3692
|
+
Fractional ideal (-1/2*a - 3/2)
|
3693
|
+
Fractional ideal (1/2*a - 3/2)
|
3694
|
+
9
|
3695
|
+
Fractional ideal (3)
|
3696
|
+
Fractional ideal (9, 1/2*a + 7/2)
|
3697
|
+
Fractional ideal (9, 1/2*a + 11/2)
|
3698
|
+
10
|
3699
|
+
sage: [[I.norm() for I in sorted(d[n])] for n in d]
|
3700
|
+
[[1], [2, 2], [3, 3], [4, 4, 4], [], [6, 6, 6, 6], [], [8, 8, 8, 8], [9, 9, 9], []]
|
3699
3701
|
"""
|
3700
3702
|
hnf_ideals = self.pari_nf().ideallist(bound)
|
3701
3703
|
d = {}
|
@@ -3926,8 +3928,10 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
|
|
3926
3928
|
|
3927
3929
|
sage: K.<i> = QuadraticField(-1)
|
3928
3930
|
sage: K.primes_of_bounded_norm(10)
|
3929
|
-
[Fractional ideal (i
|
3930
|
-
Fractional ideal (2*i
|
3931
|
+
[Fractional ideal (i - 1),
|
3932
|
+
Fractional ideal (2*i - 1),
|
3933
|
+
Fractional ideal (-2*i - 1),
|
3934
|
+
Fractional ideal (3)]
|
3931
3935
|
sage: K.primes_of_bounded_norm(1)
|
3932
3936
|
[]
|
3933
3937
|
sage: x = polygen(QQ, 'x')
|
@@ -3936,10 +3940,10 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
|
|
3936
3940
|
sage: P
|
3937
3941
|
[Fractional ideal (a),
|
3938
3942
|
Fractional ideal (a + 1),
|
3939
|
-
Fractional ideal (
|
3943
|
+
Fractional ideal (a^2 + 1),
|
3940
3944
|
Fractional ideal (a^2 + a - 1),
|
3941
3945
|
Fractional ideal (2*a + 1),
|
3942
|
-
Fractional ideal (
|
3946
|
+
Fractional ideal (2*a^2 + a + 1),
|
3943
3947
|
Fractional ideal (a^2 - 2*a - 1),
|
3944
3948
|
Fractional ideal (a + 3)]
|
3945
3949
|
sage: [p.norm() for p in P]
|
@@ -3989,10 +3993,10 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
|
|
3989
3993
|
sage: K.<i> = QuadraticField(-1)
|
3990
3994
|
sage: it = K.primes_of_bounded_norm_iter(10)
|
3991
3995
|
sage: list(it)
|
3992
|
-
[Fractional ideal (i
|
3996
|
+
[Fractional ideal (i - 1),
|
3993
3997
|
Fractional ideal (3),
|
3994
|
-
Fractional ideal (
|
3995
|
-
Fractional ideal (2*i
|
3998
|
+
Fractional ideal (2*i - 1),
|
3999
|
+
Fractional ideal (-2*i - 1)]
|
3996
4000
|
sage: list(K.primes_of_bounded_norm_iter(1))
|
3997
4001
|
[]
|
3998
4002
|
"""
|
@@ -4317,7 +4321,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
|
|
4317
4321
|
sage: k.<a> = NumberField(x^4 - 3/2*x + 5/3); k
|
4318
4322
|
Number Field in a with defining polynomial x^4 - 3/2*x + 5/3
|
4319
4323
|
sage: k.pari_nf()
|
4320
|
-
[y^4 - 324*y + 2160, [0, 2], 48918708, 216, ..., [36, 36*y, y^3 + 6*y^2 - 252, 6*y^2], [1, 0, 0, 252; 0, 1, 0, 0; 0, 0, 0, 36; 0, 0, 6,
|
4324
|
+
[y^4 - 324*y + 2160, [0, 2], 48918708, 216, ..., [36, 36*y, y^3 + 6*y^2 - 252, -6*y^2], [1, 0, 0, 252; 0, 1, 0, 0; 0, 0, 0, 36; 0, 0, -6, 36], [1, 0, 0, 0, 0, 0, -18, -42, 0, -18, -46, 60, 0, -42, 60, -60; 0, 1, 0, 0, 1, 0, 2, 0, 0, 2, -11, 1, 0, 0, 1, 9; 0, 0, 1, 0, 0, 0, 6, -6, 1, 6, -5, 0, 0, -6, 0, 0; 0, 0, 0, 1, 0, -6, 6, -6, 0, 6, 1, 2, 1, -6, 2, 0]]
|
4321
4325
|
sage: pari(k)
|
4322
4326
|
[y^4 - 324*y + 2160, [0, 2], 48918708, 216, ...]
|
4323
4327
|
sage: gp(k)
|
@@ -4444,10 +4448,14 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
|
|
4444
4448
|
bnf = self._pari_bnf
|
4445
4449
|
except AttributeError:
|
4446
4450
|
f = self.pari_polynomial("y")
|
4451
|
+
_saved_rand = pari.getrand()
|
4452
|
+
# make this deterministic, it affects printing of ideals
|
4453
|
+
pari.setrand(1)
|
4447
4454
|
if units:
|
4448
4455
|
self._pari_bnf = f.bnfinit(1)
|
4449
4456
|
else:
|
4450
4457
|
self._pari_bnf = f.bnfinit()
|
4458
|
+
pari.setrand(_saved_rand)
|
4451
4459
|
bnf = self._pari_bnf
|
4452
4460
|
# Certify if needed
|
4453
4461
|
if proof and not getattr(self, "_pari_bnf_certified", False):
|
@@ -4807,7 +4815,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
|
|
4807
4815
|
1/13*a^2 + 7/13*a - 332/13,
|
4808
4816
|
-1/13*a^2 + 6/13*a + 345/13,
|
4809
4817
|
-1,
|
4810
|
-
|
4818
|
+
1/13*a^2 - 19/13*a - 7/13]
|
4811
4819
|
sage: units[5] in (1/13*a^2 - 19/13*a - 7/13, 1/13*a^2 + 20/13*a - 7/13)
|
4812
4820
|
True
|
4813
4821
|
sage: len(units) == 6
|
@@ -4818,7 +4826,8 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
|
|
4818
4826
|
|
4819
4827
|
sage: K.<a> = NumberField(2*x^2 - 1/3)
|
4820
4828
|
sage: K._S_class_group_and_units(tuple(K.primes_above(2) + K.primes_above(3)))
|
4821
|
-
([6*a + 2, 6*a + 3, -1, -12*a
|
4829
|
+
([6*a + 2, -6*a + 3, -1, -12*a - 5], []) # 64-bit
|
4830
|
+
([6*a + 2, -6*a - 3, -1, -12*a - 5], []) # 32-bit
|
4822
4831
|
"""
|
4823
4832
|
K_pari = self.pari_bnf(proof=proof)
|
4824
4833
|
S_pari = [p.pari_prime() for p in sorted(set(S))]
|
@@ -4996,7 +5005,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
|
|
4996
5005
|
1/13*a^2 + 7/13*a - 332/13,
|
4997
5006
|
-1/13*a^2 + 6/13*a + 345/13,
|
4998
5007
|
-1,
|
4999
|
-
|
5008
|
+
1/13*a^2 - 19/13*a - 7/13]
|
5000
5009
|
sage: gens[5] in (1/13*a^2 - 19/13*a - 7/13, 1/13*a^2 + 20/13*a - 7/13)
|
5001
5010
|
True
|
5002
5011
|
sage: gens[6] in (-1/13*a^2 + 45/13*a - 97/13, 1/13*a^2 - 45/13*a + 97/13)
|
@@ -5160,9 +5169,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
|
|
5160
5169
|
|
5161
5170
|
sage: [K.ideal(g).factor() for g in gens]
|
5162
5171
|
[(Fractional ideal (2, a + 1)) * (Fractional ideal (3, a + 1)),
|
5163
|
-
Fractional ideal (a),
|
5164
|
-
(Fractional ideal (2, a + 1))^2,
|
5165
|
-
1]
|
5172
|
+
Fractional ideal (-a), (Fractional ideal (2, a + 1))^2, 1]
|
5166
5173
|
|
5167
5174
|
sage: toKS2(10)
|
5168
5175
|
(0, 0, 1, 1)
|
@@ -5640,7 +5647,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
|
|
5640
5647
|
sage: k.<a> = NumberField(x^2 + 23)
|
5641
5648
|
sage: d = k.different()
|
5642
5649
|
sage: d
|
5643
|
-
Fractional ideal (
|
5650
|
+
Fractional ideal (a)
|
5644
5651
|
sage: d.norm()
|
5645
5652
|
23
|
5646
5653
|
sage: k.disc()
|
@@ -5760,7 +5767,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
|
|
5760
5767
|
sage: K.elements_of_norm(3)
|
5761
5768
|
[]
|
5762
5769
|
sage: K.elements_of_norm(50)
|
5763
|
-
[
|
5770
|
+
[7*a - 1, 5*a - 5, -7*a - 1]
|
5764
5771
|
|
5765
5772
|
TESTS:
|
5766
5773
|
|
@@ -5872,10 +5879,9 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
|
|
5872
5879
|
sage: K.factor(1/3)
|
5873
5880
|
(Fractional ideal (3))^-1
|
5874
5881
|
sage: K.factor(1+a)
|
5875
|
-
Fractional ideal (a
|
5882
|
+
Fractional ideal (a - 1)
|
5876
5883
|
sage: K.factor(1+a/5)
|
5877
|
-
(Fractional ideal (a
|
5878
|
-
* (Fractional ideal (2*a + 1))^-1 * (Fractional ideal (-2*a + 3))
|
5884
|
+
(Fractional ideal (a - 1)) * (Fractional ideal (2*a - 1))^-1 * (Fractional ideal (-2*a - 1))^-1 * (Fractional ideal (3*a + 2))
|
5879
5885
|
|
5880
5886
|
An example over a relative number field::
|
5881
5887
|
|
@@ -5908,9 +5914,9 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
|
|
5908
5914
|
sage: (fi, fj) = f[::]
|
5909
5915
|
sage: (fi[1], fj[1])
|
5910
5916
|
(1, 1)
|
5911
|
-
sage: fi[0] == L.fractional_ideal(1/2*a*b - a + 1/2)
|
5917
|
+
sage: fi[0] == L.fractional_ideal(-1/2*a*b - a + 1/2)
|
5912
5918
|
True
|
5913
|
-
sage: fj[0] == L.fractional_ideal(
|
5919
|
+
sage: fj[0] == L.fractional_ideal(1/2*a*b - a + 1/2)
|
5914
5920
|
True
|
5915
5921
|
"""
|
5916
5922
|
return self.ideal(n).factor()
|
@@ -6524,13 +6530,15 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
|
|
6524
6530
|
# the inner product on the Minkowski embedding, which is
|
6525
6531
|
# faster than computing all the conjugates, etc ...
|
6526
6532
|
|
6533
|
+
# flag to disable FLATTER, which is much more unstable than fplll
|
6534
|
+
flag = 1 if pari.version() >= (2,17) else 0
|
6527
6535
|
if self.is_totally_real():
|
6528
6536
|
from sage.matrix.constructor import matrix
|
6529
6537
|
M = matrix(ZZ, d, d, [[(x*y).trace() for x in ZK] for y in ZK])
|
6530
|
-
T = pari(M).qflllgram()
|
6538
|
+
T = pari(M).qflllgram(flag=flag)
|
6531
6539
|
else:
|
6532
6540
|
M = self.minkowski_embedding(ZK, prec=prec)
|
6533
|
-
T = pari(M).qflll()
|
6541
|
+
T = pari(M).qflll(flag=flag)
|
6534
6542
|
|
6535
6543
|
return [sum([ZZ(T[i][j]) * ZK[j] for j in range(d)]) for i in range(d)]
|
6536
6544
|
|
@@ -7108,14 +7116,14 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
|
|
7108
7116
|
sage: K.units(proof=True) # takes forever, not tested
|
7109
7117
|
...
|
7110
7118
|
sage: K.units(proof=False) # result not independently verified
|
7111
|
-
(
|
7119
|
+
(a^9 + a - 1,
|
7120
|
+
-a^15 + a^12 - a^10 + a^9 + 2*a^8 - 3*a^7 - a^6 + 3*a^5 - a^4 - 4*a^3 + 3*a^2 + 2*a - 2,
|
7121
|
+
a^15 + a^14 + a^13 + a^12 + a^10 - a^7 - a^6 - a^2 - 1,
|
7122
|
+
2*a^16 - 3*a^15 + 3*a^14 - 3*a^13 + 3*a^12 - a^11 + a^9 - 3*a^8 + 4*a^7 - 5*a^6 + 6*a^5 - 4*a^4 + 3*a^3 - 2*a^2 - 2*a + 4,
|
7112
7123
|
-a^16 + a^15 - a^14 + a^12 - a^11 + a^10 + a^8 - a^7 + 2*a^6 - a^4 + 3*a^3 - 2*a^2 + 2*a - 1,
|
7113
|
-
|
7114
|
-
a^15
|
7115
|
-
-a^16 - a^15 - a^14 - a^13 - a^12 - a^11 - a^10 - a^9 - a^8
|
7116
|
-
-2*a^16 + 3*a^15 - 3*a^14 + 3*a^13 - 3*a^12 + a^11 - a^9 + 3*a^8 - 4*a^7 + 5*a^6 - 6*a^5 + 4*a^4 - 3*a^3 + 2*a^2 + 2*a - 4,
|
7117
|
-
a^15 - a^12 + a^10 - a^9 - 2*a^8 + 3*a^7 + a^6 - 3*a^5 + a^4 + 4*a^3 - 3*a^2 - 2*a + 2,
|
7118
|
-
2*a^16 + a^15 - a^11 - 3*a^10 - 4*a^9 - 4*a^8 - 4*a^7 - 5*a^6 - 7*a^5 - 8*a^4 - 6*a^3 - 5*a^2 - 6*a - 7)
|
7124
|
+
a^16 - 2*a^15 - 2*a^13 - a^12 - a^11 - 2*a^10 + a^9 - 2*a^8 + 2*a^7 - 3*a^6 - 3*a^4 - 2*a^3 - a^2 - 4*a + 2,
|
7125
|
+
-a^15 - a^14 - 2*a^11 - a^10 + a^9 - a^8 - 2*a^7 + a^5 - 2*a^3 + a^2 + 3*a - 1,
|
7126
|
+
-3*a^16 - 3*a^15 - 3*a^14 - 3*a^13 - 3*a^12 - 2*a^11 - 2*a^10 - 2*a^9 - a^8 + a^7 + 2*a^6 + 3*a^5 + 3*a^4 + 4*a^3 + 6*a^2 + 8*a + 8)
|
7119
7127
|
|
7120
7128
|
TESTS:
|
7121
7129
|
|
@@ -7124,7 +7132,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
|
|
7124
7132
|
|
7125
7133
|
sage: K.<a> = NumberField(1/2*x^2 - 1/6)
|
7126
7134
|
sage: K.units()
|
7127
|
-
(3*a
|
7135
|
+
(3*a + 2,)
|
7128
7136
|
"""
|
7129
7137
|
proof = proof_flag(proof)
|
7130
7138
|
|
@@ -7206,14 +7214,14 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
|
|
7206
7214
|
(u0, u1, u2, u3, u4, u5, u6, u7, u8)
|
7207
7215
|
sage: U.gens_values() # result not independently verified
|
7208
7216
|
[-1,
|
7209
|
-
|
7217
|
+
a^9 + a - 1,
|
7218
|
+
-a^15 + a^12 - a^10 + a^9 + 2*a^8 - 3*a^7 - a^6 + 3*a^5 - a^4 - 4*a^3 + 3*a^2 + 2*a - 2,
|
7219
|
+
a^15 + a^14 + a^13 + a^12 + a^10 - a^7 - a^6 - a^2 - 1,
|
7220
|
+
2*a^16 - 3*a^15 + 3*a^14 - 3*a^13 + 3*a^12 - a^11 + a^9 - 3*a^8 + 4*a^7 - 5*a^6 + 6*a^5 - 4*a^4 + 3*a^3 - 2*a^2 - 2*a + 4,
|
7210
7221
|
-a^16 + a^15 - a^14 + a^12 - a^11 + a^10 + a^8 - a^7 + 2*a^6 - a^4 + 3*a^3 - 2*a^2 + 2*a - 1,
|
7211
|
-
|
7212
|
-
a^15
|
7213
|
-
-a^16 - a^15 - a^14 - a^13 - a^12 - a^11 - a^10 - a^9 - a^8
|
7214
|
-
-2*a^16 + 3*a^15 - 3*a^14 + 3*a^13 - 3*a^12 + a^11 - a^9 + 3*a^8 - 4*a^7 + 5*a^6 - 6*a^5 + 4*a^4 - 3*a^3 + 2*a^2 + 2*a - 4,
|
7215
|
-
a^15 - a^12 + a^10 - a^9 - 2*a^8 + 3*a^7 + a^6 - 3*a^5 + a^4 + 4*a^3 - 3*a^2 - 2*a + 2,
|
7216
|
-
2*a^16 + a^15 - a^11 - 3*a^10 - 4*a^9 - 4*a^8 - 4*a^7 - 5*a^6 - 7*a^5 - 8*a^4 - 6*a^3 - 5*a^2 - 6*a - 7]
|
7222
|
+
a^16 - 2*a^15 - 2*a^13 - a^12 - a^11 - 2*a^10 + a^9 - 2*a^8 + 2*a^7 - 3*a^6 - 3*a^4 - 2*a^3 - a^2 - 4*a + 2,
|
7223
|
+
-a^15 - a^14 - 2*a^11 - a^10 + a^9 - a^8 - 2*a^7 + a^5 - 2*a^3 + a^2 + 3*a - 1,
|
7224
|
+
-3*a^16 - 3*a^15 - 3*a^14 - 3*a^13 - 3*a^12 - 2*a^11 - 2*a^10 - 2*a^9 - a^8 + a^7 + 2*a^6 + 3*a^5 + 3*a^4 + 4*a^3 + 6*a^2 + 8*a + 8]
|
7217
7225
|
"""
|
7218
7226
|
proof = proof_flag(proof)
|
7219
7227
|
|
@@ -7262,8 +7270,8 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
|
|
7262
7270
|
sage: U = K.S_unit_group(S=a); U
|
7263
7271
|
S-unit group with structure C10 x Z x Z x Z of
|
7264
7272
|
Number Field in a with defining polynomial x^4 - 10*x^3 + 100*x^2 - 375*x + 1375
|
7265
|
-
with S = (Fractional ideal (5,
|
7266
|
-
Fractional ideal (11,
|
7273
|
+
with S = (Fractional ideal (5, -7/275*a^3 + 1/11*a^2 - 9/11*a),
|
7274
|
+
Fractional ideal (11, -7/275*a^3 + 1/11*a^2 - 9/11*a + 3))
|
7267
7275
|
sage: U.gens()
|
7268
7276
|
(u0, u1, u2, u3)
|
7269
7277
|
sage: U.gens_values() # random
|
@@ -7274,8 +7282,8 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
|
|
7274
7282
|
sage: [u.multiplicative_order() for u in U.gens()]
|
7275
7283
|
[10, +Infinity, +Infinity, +Infinity]
|
7276
7284
|
sage: U.primes()
|
7277
|
-
(Fractional ideal (5,
|
7278
|
-
Fractional ideal (11,
|
7285
|
+
(Fractional ideal (5, -7/275*a^3 + 1/11*a^2 - 9/11*a),
|
7286
|
+
Fractional ideal (11, -7/275*a^3 + 1/11*a^2 - 9/11*a + 3))
|
7279
7287
|
|
7280
7288
|
With the default value of `S`, the S-unit group is the same as
|
7281
7289
|
the global unit group::
|
@@ -7428,7 +7436,7 @@ class NumberField_generic(WithEqualityById, number_field_base.NumberField):
|
|
7428
7436
|
sage: # needs fpylll sage.rings.padics sage.symbolic
|
7429
7437
|
sage: solutions, bound = K.S_unit_solutions(S, prec=100, include_bound=True)
|
7430
7438
|
sage: bound
|
7431
|
-
|
7439
|
+
6
|
7432
7440
|
"""
|
7433
7441
|
from .S_unit_solver import solve_S_unit_equation
|
7434
7442
|
return solve_S_unit_equation(self, S, prec, include_exponents, include_bound, proof)
|
@@ -8786,10 +8794,40 @@ class NumberField_absolute(NumberField_generic):
|
|
8786
8794
|
polynomials are supported (:issue:`252`)::
|
8787
8795
|
|
8788
8796
|
sage: K.<a> = NumberField(2*x^4 + 6*x^2 + 1/2)
|
8789
|
-
sage: K
|
8790
|
-
Number Field in
|
8791
|
-
|
8792
|
-
|
8797
|
+
sage: K.subfields()
|
8798
|
+
[(Number Field in a0 with defining polynomial x,
|
8799
|
+
Ring morphism:
|
8800
|
+
From: Number Field in a0 with defining polynomial x
|
8801
|
+
To: Number Field in a with defining polynomial 2*x^4 + 6*x^2 + 1/2
|
8802
|
+
Defn: 0 |--> 0,
|
8803
|
+
None),
|
8804
|
+
(Number Field in a1 with defining polynomial x^2 - 2,
|
8805
|
+
Ring morphism:
|
8806
|
+
From: Number Field in a1 with defining polynomial x^2 - 2
|
8807
|
+
To: Number Field in a with defining polynomial 2*x^4 + 6*x^2 + 1/2
|
8808
|
+
Defn: a1 |--> -a^2 - 3/2,
|
8809
|
+
None),
|
8810
|
+
(Number Field in a2 with defining polynomial x^2 + 4,
|
8811
|
+
Ring morphism:
|
8812
|
+
From: Number Field in a2 with defining polynomial x^2 + 4
|
8813
|
+
To: Number Field in a with defining polynomial 2*x^4 + 6*x^2 + 1/2
|
8814
|
+
Defn: a2 |--> 2*a^3 + 7*a,
|
8815
|
+
None),
|
8816
|
+
(Number Field in a3 with defining polynomial x^2 + 2,
|
8817
|
+
Ring morphism:
|
8818
|
+
From: Number Field in a3 with defining polynomial x^2 + 2
|
8819
|
+
To: Number Field in a with defining polynomial 2*x^4 + 6*x^2 + 1/2
|
8820
|
+
Defn: a3 |--> -2*a^3 - 5*a,
|
8821
|
+
None),
|
8822
|
+
(Number Field in a4 with defining polynomial x^4 + 1,
|
8823
|
+
Ring morphism:
|
8824
|
+
From: Number Field in a4 with defining polynomial x^4 + 1
|
8825
|
+
To: Number Field in a with defining polynomial 2*x^4 + 6*x^2 + 1/2
|
8826
|
+
Defn: a4 |--> -a^3 - 1/2*a^2 - 5/2*a - 3/4,
|
8827
|
+
Ring morphism:
|
8828
|
+
From: Number Field in a with defining polynomial 2*x^4 + 6*x^2 + 1/2
|
8829
|
+
To: Number Field in a4 with defining polynomial x^4 + 1
|
8830
|
+
Defn: a |--> 1/2*a4^3 + a4^2 + 1/2*a4)]
|
8793
8831
|
"""
|
8794
8832
|
return self._subfields_helper(degree=degree, name=name,
|
8795
8833
|
both_maps=True, optimize=False)
|