passagemath-flint 10.6.1rc10__cp312-cp312-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-312-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-312-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-312-x86_64-linux-gnu.so +0 -0
- sage/graphs/chrompoly.pyx +555 -0
- sage/graphs/matchpoly.cpython-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-x86_64-linux-gnu.so +0 -0
- sage/matrix/change_ring.pyx +43 -0
- sage/matrix/matrix_complex_ball_dense.cpython-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-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-312-x86_64-linux-gnu.so +0 -0
- sage/rings/factorint_flint.pyx +99 -0
- sage/rings/fraction_field_FpT.cpython-312-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-312-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-312-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-312-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-312-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-312-x86_64-linux-gnu.so +0 -0
- sage/rings/polynomial/hilbert.pyx +602 -0
- sage/rings/polynomial/polynomial_complex_arb.cpython-312-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-312-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-312-x86_64-linux-gnu.so +0 -0
- sage/rings/polynomial/polynomial_number_field.pyx +345 -0
- sage/rings/polynomial/polynomial_rational_flint.cpython-312-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-312-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-312-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-312-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-312-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-312-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-312-x86_64-linux-gnu.so +0 -0
- sage/rings/real_interval_absolute.pyx +1073 -0
- sage/rings/real_mpfi.cpython-312-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-312-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,412 @@
|
|
1
|
+
# sage_setup: distribution = sagemath-flint
|
2
|
+
# cython: binding=True
|
3
|
+
# sage.doctest: needs sage.libs.flint sage.graphs
|
4
|
+
"""
|
5
|
+
Matching polynomial
|
6
|
+
|
7
|
+
This module contains the following methods:
|
8
|
+
|
9
|
+
.. csv-table::
|
10
|
+
:class: contentstable
|
11
|
+
:widths: 30, 70
|
12
|
+
:delim: |
|
13
|
+
|
14
|
+
:meth:`matching_polynomial` | Compute the matching polynomial of a given graph.
|
15
|
+
:meth:`complete_poly` | Compute the matching polynomial of the complete graph on `n` vertices.
|
16
|
+
|
17
|
+
AUTHORS:
|
18
|
+
|
19
|
+
- Robert Miller, Tom Boothby - original implementation
|
20
|
+
|
21
|
+
REFERENCE:
|
22
|
+
|
23
|
+
[God1993]_
|
24
|
+
|
25
|
+
|
26
|
+
Methods
|
27
|
+
-------
|
28
|
+
"""
|
29
|
+
|
30
|
+
# ****************************************************************************
|
31
|
+
# Copyright (C) 2010 Robert Miller
|
32
|
+
#
|
33
|
+
# This program is free software: you can redistribute it and/or modify
|
34
|
+
# it under the terms of the GNU General Public License as published by
|
35
|
+
# the Free Software Foundation, either version 2 of the License, or
|
36
|
+
# (at your option) any later version.
|
37
|
+
# https://www.gnu.org/licenses/
|
38
|
+
# ****************************************************************************
|
39
|
+
|
40
|
+
from cysignals.memory cimport check_allocarray, sig_free
|
41
|
+
from cysignals.signals cimport sig_on, sig_off
|
42
|
+
|
43
|
+
from sage.rings.polynomial.polynomial_ring import polygen
|
44
|
+
from sage.rings.integer_ring import ZZ
|
45
|
+
from sage.rings.integer cimport Integer
|
46
|
+
|
47
|
+
from sage.libs.flint.fmpz cimport *
|
48
|
+
from sage.libs.flint.fmpz_poly cimport *
|
49
|
+
from sage.libs.flint.fmpz_poly_sage cimport *
|
50
|
+
|
51
|
+
|
52
|
+
x = polygen(ZZ, 'x')
|
53
|
+
|
54
|
+
|
55
|
+
def matching_polynomial(G, complement=True, name=None):
|
56
|
+
r"""
|
57
|
+
Compute the matching polynomial of the graph `G`.
|
58
|
+
|
59
|
+
If `p(G, k)` denotes the number of `k`-matchings (matchings with `k` edges)
|
60
|
+
in `G`, then the matching polynomial is defined as [God1993]_:
|
61
|
+
|
62
|
+
.. MATH::
|
63
|
+
|
64
|
+
\mu(x)=\sum_{k \geq 0} (-1)^k p(G,k) x^{n-2k}
|
65
|
+
|
66
|
+
INPUT:
|
67
|
+
|
68
|
+
- ``complement`` -- boolean (default: ``True``); whether to use Godsil's duality
|
69
|
+
theorem to compute the matching polynomial from that of the graphs
|
70
|
+
complement (see ALGORITHM)
|
71
|
+
|
72
|
+
- ``name`` -- (optional) string for the variable name in the polynomial
|
73
|
+
|
74
|
+
.. NOTE::
|
75
|
+
|
76
|
+
The ``complement`` option uses matching polynomials of complete graphs,
|
77
|
+
which are cached. So if you are crazy enough to try computing the
|
78
|
+
matching polynomial on a graph with millions of vertices, you might not
|
79
|
+
want to use this option, since it will end up caching millions of
|
80
|
+
polynomials of degree in the millions.
|
81
|
+
|
82
|
+
ALGORITHM:
|
83
|
+
|
84
|
+
The algorithm used is a recursive one, based on the following observation
|
85
|
+
[God1993]_:
|
86
|
+
|
87
|
+
- If `e` is an edge of `G`, `G'` is the result of deleting the edge `e`, and
|
88
|
+
`G''` is the result of deleting each vertex in `e`, then the matching
|
89
|
+
polynomial of `G` is equal to that of `G'` minus that of `G''`.
|
90
|
+
|
91
|
+
(the algorithm actually computes the *signless* matching polynomial, for
|
92
|
+
which the recursion is the same when one replaces the subtraction by an
|
93
|
+
addition. It is then converted into the matching polynomial and returned)
|
94
|
+
|
95
|
+
Depending on the value of ``complement``, Godsil's duality theorem
|
96
|
+
[God1993]_ can also be used to compute `\mu(x)` :
|
97
|
+
|
98
|
+
.. MATH::
|
99
|
+
|
100
|
+
\mu(\overline{G}, x) = \sum_{k \geq 0} p(G,k) \mu( K_{n-2k}, x)
|
101
|
+
|
102
|
+
|
103
|
+
Where `\overline{G}` is the complement of `G`, and `K_n` the complete graph
|
104
|
+
on `n` vertices.
|
105
|
+
|
106
|
+
EXAMPLES::
|
107
|
+
|
108
|
+
sage: g = graphs.PetersenGraph()
|
109
|
+
sage: g.matching_polynomial()
|
110
|
+
x^10 - 15*x^8 + 75*x^6 - 145*x^4 + 90*x^2 - 6
|
111
|
+
sage: g.matching_polynomial(complement=False)
|
112
|
+
x^10 - 15*x^8 + 75*x^6 - 145*x^4 + 90*x^2 - 6
|
113
|
+
sage: g.matching_polynomial(name='tom')
|
114
|
+
tom^10 - 15*tom^8 + 75*tom^6 - 145*tom^4 + 90*tom^2 - 6
|
115
|
+
sage: g = Graph()
|
116
|
+
sage: L = [graphs.RandomGNP(8, .3) for i in range(1, 6)]
|
117
|
+
sage: prod([h.matching_polynomial() for h in L]) == sum(L, g).matching_polynomial() # long time (up to 10s on sage.math, 2011)
|
118
|
+
True
|
119
|
+
|
120
|
+
::
|
121
|
+
|
122
|
+
sage: for i in range(1, 12): # long time (10s on sage.math, 2011)
|
123
|
+
....: for t in graphs.trees(i):
|
124
|
+
....: if t.matching_polynomial() != t.characteristic_polynomial():
|
125
|
+
....: raise RuntimeError('bug for a tree A of size {0}'.format(i))
|
126
|
+
....: c = t.complement()
|
127
|
+
....: if c.matching_polynomial(complement=False) != c.matching_polynomial():
|
128
|
+
....: raise RuntimeError('bug for a tree B of size {0}'.format(i))
|
129
|
+
|
130
|
+
::
|
131
|
+
|
132
|
+
sage: from sage.graphs.matchpoly import matching_polynomial
|
133
|
+
sage: matching_polynomial(graphs.CompleteGraph(0))
|
134
|
+
1
|
135
|
+
sage: matching_polynomial(graphs.CompleteGraph(1))
|
136
|
+
x
|
137
|
+
sage: matching_polynomial(graphs.CompleteGraph(2))
|
138
|
+
x^2 - 1
|
139
|
+
sage: matching_polynomial(graphs.CompleteGraph(3))
|
140
|
+
x^3 - 3*x
|
141
|
+
sage: matching_polynomial(graphs.CompleteGraph(4))
|
142
|
+
x^4 - 6*x^2 + 3
|
143
|
+
sage: matching_polynomial(graphs.CompleteGraph(5))
|
144
|
+
x^5 - 10*x^3 + 15*x
|
145
|
+
sage: matching_polynomial(graphs.CompleteGraph(6))
|
146
|
+
x^6 - 15*x^4 + 45*x^2 - 15
|
147
|
+
sage: matching_polynomial(graphs.CompleteGraph(7))
|
148
|
+
x^7 - 21*x^5 + 105*x^3 - 105*x
|
149
|
+
sage: matching_polynomial(graphs.CompleteGraph(8))
|
150
|
+
x^8 - 28*x^6 + 210*x^4 - 420*x^2 + 105
|
151
|
+
sage: matching_polynomial(graphs.CompleteGraph(9))
|
152
|
+
x^9 - 36*x^7 + 378*x^5 - 1260*x^3 + 945*x
|
153
|
+
sage: matching_polynomial(graphs.CompleteGraph(10))
|
154
|
+
x^10 - 45*x^8 + 630*x^6 - 3150*x^4 + 4725*x^2 - 945
|
155
|
+
sage: matching_polynomial(graphs.CompleteGraph(11))
|
156
|
+
x^11 - 55*x^9 + 990*x^7 - 6930*x^5 + 17325*x^3 - 10395*x
|
157
|
+
sage: matching_polynomial(graphs.CompleteGraph(12))
|
158
|
+
x^12 - 66*x^10 + 1485*x^8 - 13860*x^6 + 51975*x^4 - 62370*x^2 + 10395
|
159
|
+
sage: matching_polynomial(graphs.CompleteGraph(13))
|
160
|
+
x^13 - 78*x^11 + 2145*x^9 - 25740*x^7 + 135135*x^5 - 270270*x^3 + 135135*x
|
161
|
+
|
162
|
+
::
|
163
|
+
|
164
|
+
sage: G = Graph({0:[1,2], 1:[2]})
|
165
|
+
sage: matching_polynomial(G)
|
166
|
+
x^3 - 3*x
|
167
|
+
sage: G = Graph({0:[1,2]})
|
168
|
+
sage: matching_polynomial(G)
|
169
|
+
x^3 - 2*x
|
170
|
+
sage: G = Graph({0:[1], 2:[]})
|
171
|
+
sage: matching_polynomial(G)
|
172
|
+
x^3 - x
|
173
|
+
sage: G = Graph({0:[], 1:[], 2:[]})
|
174
|
+
sage: matching_polynomial(G)
|
175
|
+
x^3
|
176
|
+
|
177
|
+
::
|
178
|
+
|
179
|
+
sage: matching_polynomial(graphs.CompleteGraph(0), complement=False)
|
180
|
+
1
|
181
|
+
sage: matching_polynomial(graphs.CompleteGraph(1), complement=False)
|
182
|
+
x
|
183
|
+
sage: matching_polynomial(graphs.CompleteGraph(2), complement=False)
|
184
|
+
x^2 - 1
|
185
|
+
sage: matching_polynomial(graphs.CompleteGraph(3), complement=False)
|
186
|
+
x^3 - 3*x
|
187
|
+
sage: matching_polynomial(graphs.CompleteGraph(4), complement=False)
|
188
|
+
x^4 - 6*x^2 + 3
|
189
|
+
sage: matching_polynomial(graphs.CompleteGraph(5), complement=False)
|
190
|
+
x^5 - 10*x^3 + 15*x
|
191
|
+
sage: matching_polynomial(graphs.CompleteGraph(6), complement=False)
|
192
|
+
x^6 - 15*x^4 + 45*x^2 - 15
|
193
|
+
sage: matching_polynomial(graphs.CompleteGraph(7), complement=False)
|
194
|
+
x^7 - 21*x^5 + 105*x^3 - 105*x
|
195
|
+
sage: matching_polynomial(graphs.CompleteGraph(8), complement=False)
|
196
|
+
x^8 - 28*x^6 + 210*x^4 - 420*x^2 + 105
|
197
|
+
sage: matching_polynomial(graphs.CompleteGraph(9), complement=False)
|
198
|
+
x^9 - 36*x^7 + 378*x^5 - 1260*x^3 + 945*x
|
199
|
+
sage: matching_polynomial(graphs.CompleteGraph(10), complement=False)
|
200
|
+
x^10 - 45*x^8 + 630*x^6 - 3150*x^4 + 4725*x^2 - 945
|
201
|
+
sage: matching_polynomial(graphs.CompleteGraph(11), complement=False)
|
202
|
+
x^11 - 55*x^9 + 990*x^7 - 6930*x^5 + 17325*x^3 - 10395*x
|
203
|
+
sage: matching_polynomial(graphs.CompleteGraph(12), complement=False)
|
204
|
+
x^12 - 66*x^10 + 1485*x^8 - 13860*x^6 + 51975*x^4 - 62370*x^2 + 10395
|
205
|
+
sage: matching_polynomial(graphs.CompleteGraph(13), complement=False)
|
206
|
+
x^13 - 78*x^11 + 2145*x^9 - 25740*x^7 + 135135*x^5 - 270270*x^3 + 135135*x
|
207
|
+
|
208
|
+
TESTS:
|
209
|
+
|
210
|
+
Non-integer labels should work, (:issue:`15545`)::
|
211
|
+
|
212
|
+
sage: G = Graph(10)
|
213
|
+
sage: G.add_vertex((0,1))
|
214
|
+
sage: G.add_vertex('X')
|
215
|
+
sage: G.matching_polynomial()
|
216
|
+
x^12
|
217
|
+
"""
|
218
|
+
if G.has_multiple_edges():
|
219
|
+
raise NotImplementedError
|
220
|
+
|
221
|
+
cdef int i, j, d
|
222
|
+
cdef fmpz_poly_t pol
|
223
|
+
cdef int nverts = G.num_verts()
|
224
|
+
|
225
|
+
# Using Godsil's duality theorem when the graph is dense
|
226
|
+
|
227
|
+
if complement and G.density() > 0.5: # this cutoff could probably be tuned
|
228
|
+
f_comp = matching_polynomial(G.complement()).list()
|
229
|
+
f = x.parent().zero()
|
230
|
+
for i in range(nverts // 2 + 1):
|
231
|
+
j = nverts - 2 * i
|
232
|
+
f += complete_poly(j) * f_comp[j] * (-1)**i
|
233
|
+
return f
|
234
|
+
|
235
|
+
cdef int nedges = G.num_edges()
|
236
|
+
|
237
|
+
# Relabelling the vertices of the graph as [0...n-1] so that they are sorted
|
238
|
+
# in increasing order of degree
|
239
|
+
|
240
|
+
cdef list L = []
|
241
|
+
for v, d in G.degree_iterator(labels=True):
|
242
|
+
L.append((d, v))
|
243
|
+
L.sort(key=lambda pair: pair[0])
|
244
|
+
G = G.relabel(perm={L[i][1]: i for i in range(nverts)}, inplace=False)
|
245
|
+
G.allow_loops(False)
|
246
|
+
|
247
|
+
# Initialization of pol, edges* variables.
|
248
|
+
|
249
|
+
# The edges_mem table is of size (2 * nedges * nedges), and is to be read as
|
250
|
+
# nedges blocks of size (2 * nedges). These blocks of size (2 * nedges) are
|
251
|
+
# themselves to be read as two blocks of length nedges, addressed as edges1
|
252
|
+
# and edges2.
|
253
|
+
#
|
254
|
+
# Only the first block of size (2 * nedges) is here filled. The function
|
255
|
+
# delete_and_add will need the rest of the memory.
|
256
|
+
|
257
|
+
fmpz_poly_init(pol) # sets to zero
|
258
|
+
cdef int** edges = <int**>check_allocarray(2 * nedges, sizeof(int*))
|
259
|
+
cdef int* edges_mem = <int*>check_allocarray(2 * nedges * nedges, sizeof(int))
|
260
|
+
|
261
|
+
for i in range(2 * nedges):
|
262
|
+
edges[i] = edges_mem + i * nedges
|
263
|
+
|
264
|
+
cdef int* edges1 = edges_mem # edges[0]
|
265
|
+
cdef int* edges2 = edges_mem + nedges # edges[1]
|
266
|
+
|
267
|
+
cdef int cur = 0
|
268
|
+
for i, j in sorted(map(sorted, G.edge_iterator(labels=False))):
|
269
|
+
edges1[cur] = i
|
270
|
+
edges2[cur] = j
|
271
|
+
cur += 1
|
272
|
+
|
273
|
+
# Computing the signless matching polynomial
|
274
|
+
|
275
|
+
sig_on()
|
276
|
+
delete_and_add(edges, nverts, nedges, nverts, 0, pol)
|
277
|
+
sig_off()
|
278
|
+
|
279
|
+
# Building the actual matching polynomial
|
280
|
+
|
281
|
+
cdef list coeffs_ZZ = []
|
282
|
+
cdef Integer c_ZZ
|
283
|
+
for i in range(nverts + 1):
|
284
|
+
c_ZZ = Integer(0)
|
285
|
+
fmpz_poly_get_coeff_mpz(c_ZZ.value, pol, i)
|
286
|
+
coeffs_ZZ.append(c_ZZ * (-1)**((nverts - i) // 2))
|
287
|
+
|
288
|
+
f = x.parent()(coeffs_ZZ)
|
289
|
+
sig_free(edges_mem)
|
290
|
+
sig_free(edges)
|
291
|
+
fmpz_poly_clear(pol)
|
292
|
+
if name is not None:
|
293
|
+
return f.change_variable_name(name)
|
294
|
+
return f
|
295
|
+
|
296
|
+
|
297
|
+
# The following is a cache of complete graph matching polynomials.
|
298
|
+
|
299
|
+
cdef list complete_matching_polys = [x.parent().one(), x]
|
300
|
+
|
301
|
+
|
302
|
+
def complete_poly(n):
|
303
|
+
"""
|
304
|
+
Compute the matching polynomial of the complete graph on `n` vertices.
|
305
|
+
|
306
|
+
INPUT:
|
307
|
+
|
308
|
+
- ``n`` -- order of the complete graph
|
309
|
+
|
310
|
+
.. TODO::
|
311
|
+
|
312
|
+
This code could probably be made more efficient by using FLINT
|
313
|
+
polynomials and being written in Cython, using an array of
|
314
|
+
fmpz_poly_t pointers or something... Right now just about the
|
315
|
+
whole complement optimization is written in Python, and could
|
316
|
+
be easily sped up.
|
317
|
+
|
318
|
+
EXAMPLES::
|
319
|
+
|
320
|
+
sage: from sage.graphs.matchpoly import complete_poly
|
321
|
+
sage: f = complete_poly(10)
|
322
|
+
sage: f
|
323
|
+
x^10 - 45*x^8 + 630*x^6 - 3150*x^4 + 4725*x^2 - 945
|
324
|
+
sage: f = complete_poly(20)
|
325
|
+
sage: f[8]
|
326
|
+
1309458150
|
327
|
+
sage: f = complete_poly(1000)
|
328
|
+
sage: len(str(f))
|
329
|
+
406824
|
330
|
+
|
331
|
+
TESTS:
|
332
|
+
|
333
|
+
Checking the numerical results up to 20::
|
334
|
+
|
335
|
+
sage: from sage.functions.orthogonal_polys import hermite # needs sage.symbolic
|
336
|
+
sage: p = lambda n: 2^(-n/2)*hermite(n, x/sqrt(2)) # needs sage.symbolic
|
337
|
+
sage: all(p(i) == complete_poly(i) for i in range(2, 20)) # needs sage.symbolic
|
338
|
+
True
|
339
|
+
"""
|
340
|
+
# global complete_matching_polys # if we do eventually make it a C array...
|
341
|
+
cdef int lcmp = len(complete_matching_polys)
|
342
|
+
|
343
|
+
if n < lcmp:
|
344
|
+
return complete_matching_polys[n]
|
345
|
+
lcmp -= 2
|
346
|
+
a = complete_matching_polys[lcmp]
|
347
|
+
b = complete_matching_polys[lcmp + 1]
|
348
|
+
while lcmp + 2 <= n:
|
349
|
+
a, b, lcmp = b, x * b - (lcmp + 1) * a, lcmp + 1
|
350
|
+
complete_matching_polys.append(b)
|
351
|
+
return b
|
352
|
+
|
353
|
+
|
354
|
+
cdef void delete_and_add(int **edges, int nverts, int nedges, int totverts, int depth, fmpz_poly_t pol) noexcept:
|
355
|
+
"""
|
356
|
+
Add matching polynomial to pol via recursion.
|
357
|
+
|
358
|
+
NOTE : at the end of this function, pol represents the *SIGNLESS*
|
359
|
+
matching polynomial.
|
360
|
+
"""
|
361
|
+
cdef fmpz* coeff
|
362
|
+
|
363
|
+
if nverts == 3:
|
364
|
+
coeff = fmpz_poly_get_coeff_ptr(pol, 3)
|
365
|
+
if coeff is NULL:
|
366
|
+
fmpz_poly_set_coeff_ui(pol, 3, 1)
|
367
|
+
else:
|
368
|
+
fmpz_add_ui(coeff, coeff, 1)
|
369
|
+
coeff = fmpz_poly_get_coeff_ptr(pol, 1)
|
370
|
+
if coeff is NULL:
|
371
|
+
fmpz_poly_set_coeff_ui(pol, 1, nedges)
|
372
|
+
else:
|
373
|
+
fmpz_add_ui(coeff, coeff, nedges)
|
374
|
+
return
|
375
|
+
|
376
|
+
if not nedges:
|
377
|
+
coeff = fmpz_poly_get_coeff_ptr(pol, nverts)
|
378
|
+
if coeff is NULL:
|
379
|
+
fmpz_poly_set_coeff_ui(pol, nverts, 1)
|
380
|
+
else:
|
381
|
+
fmpz_add_ui(coeff, coeff, 1)
|
382
|
+
return
|
383
|
+
|
384
|
+
cdef int* edges1 = edges[2 * depth]
|
385
|
+
cdef int* edges2 = edges[2 * depth + 1]
|
386
|
+
cdef int* new_edges1 = edges[2 * depth + 2]
|
387
|
+
cdef int* new_edges2 = edges[2 * depth + 3]
|
388
|
+
|
389
|
+
nedges -= 1
|
390
|
+
|
391
|
+
# The last edge is (edge1, edge2)
|
392
|
+
cdef int edge1 = edges1[nedges]
|
393
|
+
cdef int edge2 = edges2[nedges]
|
394
|
+
cdef int new_nedges = 0
|
395
|
+
cdef int i
|
396
|
+
|
397
|
+
# The new edges are all the edges that are not incident with (edge1, edge2)
|
398
|
+
|
399
|
+
for i in range(nedges):
|
400
|
+
if edge1 == edges1[i]:
|
401
|
+
# Since the rest of the edges are incident to edge1 (the edges are
|
402
|
+
# sorted by increasing order of their first component), we can stop
|
403
|
+
break
|
404
|
+
|
405
|
+
if edge1 != edges2[i] and edge2 != edges2[i]:
|
406
|
+
# since edge2 > edge1 > edges1[i], we only need to check edges2[i]
|
407
|
+
new_edges1[new_nedges] = edges1[i]
|
408
|
+
new_edges2[new_nedges] = edges2[i]
|
409
|
+
new_nedges += 1
|
410
|
+
|
411
|
+
delete_and_add(edges, nverts - 2, new_nedges, totverts, depth + 1, pol)
|
412
|
+
delete_and_add(edges, nverts, nedges, totverts, depth, pol)
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# sage_setup: distribution = sagemath-flint
|
2
|
+
|
3
|
+
try:
|
4
|
+
from sage.libs.all__sagemath_pari import *
|
5
|
+
except ImportError:
|
6
|
+
pass
|
7
|
+
|
8
|
+
try:
|
9
|
+
from sage.libs.all__sagemath_ntl import *
|
10
|
+
except ImportError:
|
11
|
+
pass
|
12
|
+
|
13
|
+
from sage.misc.lazy_import import lazy_import
|
14
|
+
|
15
|
+
lazy_import('sage.libs.flint.qsieve_sage', 'qsieve')
|
16
|
+
|
17
|
+
del lazy_import
|
@@ -0,0 +1 @@
|
|
1
|
+
# sage_setup: distribution = sagemath-flint
|
sage/libs/arb/acb.pxd
ADDED
@@ -0,0 +1,154 @@
|
|
1
|
+
# sage_setup: distribution = sagemath-flint
|
2
|
+
# Deprecated header file; use sage/libs/flint/acb.pxd instead
|
3
|
+
# See https://github.com/sagemath/sage/pull/36449
|
4
|
+
|
5
|
+
from sage.libs.flint.types cimport acb_struct, acb_t, acb_ptr, acb_srcptr
|
6
|
+
|
7
|
+
from sage.libs.flint.acb cimport (
|
8
|
+
acb_realref,
|
9
|
+
acb_imagref,
|
10
|
+
acb_init,
|
11
|
+
acb_clear,
|
12
|
+
_acb_vec_init,
|
13
|
+
_acb_vec_clear,
|
14
|
+
acb_is_zero,
|
15
|
+
acb_is_one,
|
16
|
+
acb_is_finite,
|
17
|
+
acb_is_exact,
|
18
|
+
acb_is_int,
|
19
|
+
acb_zero,
|
20
|
+
acb_one,
|
21
|
+
acb_onei,
|
22
|
+
acb_set,
|
23
|
+
acb_set_ui,
|
24
|
+
acb_set_si,
|
25
|
+
acb_set_fmpz,
|
26
|
+
acb_set_arb,
|
27
|
+
acb_set_fmpq,
|
28
|
+
acb_set_round,
|
29
|
+
acb_set_round_fmpz,
|
30
|
+
acb_set_round_arb,
|
31
|
+
acb_swap,
|
32
|
+
acb_print,
|
33
|
+
acb_printd,
|
34
|
+
acb_randtest,
|
35
|
+
acb_randtest_special,
|
36
|
+
acb_randtest_precise,
|
37
|
+
acb_randtest_param,
|
38
|
+
acb_equal,
|
39
|
+
acb_eq,
|
40
|
+
acb_ne,
|
41
|
+
acb_overlaps,
|
42
|
+
acb_union,
|
43
|
+
acb_get_abs_ubound_arf,
|
44
|
+
acb_get_abs_lbound_arf,
|
45
|
+
acb_get_rad_ubound_arf,
|
46
|
+
acb_get_mag,
|
47
|
+
acb_get_mag_lower,
|
48
|
+
acb_contains_fmpq,
|
49
|
+
acb_contains_fmpz,
|
50
|
+
acb_contains,
|
51
|
+
acb_contains_zero,
|
52
|
+
acb_contains_int,
|
53
|
+
acb_rel_error_bits,
|
54
|
+
acb_rel_accuracy_bits,
|
55
|
+
acb_bits,
|
56
|
+
acb_indeterminate,
|
57
|
+
acb_trim,
|
58
|
+
acb_is_real,
|
59
|
+
acb_get_unique_fmpz,
|
60
|
+
acb_arg,
|
61
|
+
acb_abs,
|
62
|
+
acb_neg,
|
63
|
+
acb_conj,
|
64
|
+
acb_add_ui,
|
65
|
+
acb_add_fmpz,
|
66
|
+
acb_add_arb,
|
67
|
+
acb_add,
|
68
|
+
acb_sub_ui,
|
69
|
+
acb_sub_fmpz,
|
70
|
+
acb_sub_arb,
|
71
|
+
acb_sub,
|
72
|
+
acb_mul_onei,
|
73
|
+
acb_div_onei,
|
74
|
+
acb_mul_ui,
|
75
|
+
acb_mul_si,
|
76
|
+
acb_mul_fmpz,
|
77
|
+
acb_mul_arb,
|
78
|
+
acb_mul,
|
79
|
+
acb_mul_2exp_si,
|
80
|
+
acb_mul_2exp_fmpz,
|
81
|
+
acb_cube,
|
82
|
+
acb_addmul,
|
83
|
+
acb_addmul_ui,
|
84
|
+
acb_addmul_si,
|
85
|
+
acb_addmul_fmpz,
|
86
|
+
acb_addmul_arb,
|
87
|
+
acb_submul,
|
88
|
+
acb_submul_ui,
|
89
|
+
acb_submul_si,
|
90
|
+
acb_submul_fmpz,
|
91
|
+
acb_submul_arb,
|
92
|
+
acb_inv,
|
93
|
+
acb_div_ui,
|
94
|
+
acb_div_si,
|
95
|
+
acb_div_fmpz,
|
96
|
+
acb_div,
|
97
|
+
acb_const_pi,
|
98
|
+
acb_sqrt,
|
99
|
+
acb_rsqrt,
|
100
|
+
acb_pow_fmpz,
|
101
|
+
acb_pow_ui,
|
102
|
+
acb_pow_si,
|
103
|
+
acb_pow_arb,
|
104
|
+
acb_pow,
|
105
|
+
acb_exp,
|
106
|
+
acb_exp_pi_i,
|
107
|
+
acb_exp_invexp,
|
108
|
+
acb_log,
|
109
|
+
acb_log1p,
|
110
|
+
acb_sin,
|
111
|
+
acb_cos,
|
112
|
+
acb_sin_cos,
|
113
|
+
acb_tan,
|
114
|
+
acb_cot,
|
115
|
+
acb_sec,
|
116
|
+
acb_csc,
|
117
|
+
acb_sin_pi,
|
118
|
+
acb_cos_pi,
|
119
|
+
acb_sin_cos_pi,
|
120
|
+
acb_tan_pi,
|
121
|
+
acb_cot_pi,
|
122
|
+
acb_asin,
|
123
|
+
acb_acos,
|
124
|
+
acb_atan,
|
125
|
+
acb_asinh,
|
126
|
+
acb_acosh,
|
127
|
+
acb_atanh,
|
128
|
+
acb_lambertw,
|
129
|
+
acb_sinh,
|
130
|
+
acb_cosh,
|
131
|
+
acb_sinh_cosh,
|
132
|
+
acb_tanh,
|
133
|
+
acb_coth,
|
134
|
+
acb_sech,
|
135
|
+
acb_csch,
|
136
|
+
acb_rising_ui,
|
137
|
+
acb_rising,
|
138
|
+
acb_gamma,
|
139
|
+
acb_rgamma,
|
140
|
+
acb_lgamma,
|
141
|
+
acb_digamma,
|
142
|
+
acb_log_sin_pi,
|
143
|
+
acb_polygamma,
|
144
|
+
acb_barnes_g,
|
145
|
+
acb_log_barnes_g,
|
146
|
+
acb_zeta,
|
147
|
+
acb_hurwitz_zeta,
|
148
|
+
acb_polylog,
|
149
|
+
acb_polylog_si,
|
150
|
+
acb_agm1,
|
151
|
+
acb_agm1_cpx,
|
152
|
+
_acb_vec_init,
|
153
|
+
_acb_vec_sort_pretty,
|
154
|
+
_acb_vec_clear)
|
@@ -0,0 +1,9 @@
|
|
1
|
+
# sage_setup: distribution = sagemath-flint
|
2
|
+
# Deprecated header file; use sage/libs/flint/acb_calc.pxd instead
|
3
|
+
# See https://github.com/sagemath/sage/pull/36449
|
4
|
+
|
5
|
+
from sage.libs.flint.types cimport acb_calc_integrate_opt_t, acb_calc_func_t
|
6
|
+
|
7
|
+
from sage.libs.flint.acb_calc cimport (
|
8
|
+
acb_calc_integrate,
|
9
|
+
acb_calc_integrate_opt_init)
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# sage_setup: distribution = sagemath-flint
|
2
|
+
# Deprecated header file; use sage/libs/flint/acb_elliptic.pxd instead
|
3
|
+
# See https://github.com/sagemath/sage/pull/36449
|
4
|
+
|
5
|
+
from sage.libs.flint.acb_elliptic cimport (
|
6
|
+
acb_elliptic_k,
|
7
|
+
acb_elliptic_k_jet,
|
8
|
+
acb_elliptic_k_series,
|
9
|
+
acb_elliptic_e,
|
10
|
+
acb_elliptic_rf,
|
11
|
+
acb_elliptic_rj,
|
12
|
+
acb_elliptic_rg,
|
13
|
+
acb_elliptic_rc1,
|
14
|
+
acb_elliptic_f,
|
15
|
+
acb_elliptic_e_inc,
|
16
|
+
acb_elliptic_pi,
|
17
|
+
acb_elliptic_pi_inc,
|
18
|
+
acb_elliptic_p,
|
19
|
+
acb_elliptic_p_jet,
|
20
|
+
acb_elliptic_p_series,
|
21
|
+
acb_elliptic_zeta,
|
22
|
+
acb_elliptic_sigma,
|
23
|
+
acb_elliptic_roots,
|
24
|
+
acb_elliptic_invariants,
|
25
|
+
acb_elliptic_inv_p)
|
@@ -0,0 +1,74 @@
|
|
1
|
+
# sage_setup: distribution = sagemath-flint
|
2
|
+
# Deprecated header file; use sage/libs/flint/acb_hypgeom.pxd instead
|
3
|
+
# See https://github.com/sagemath/sage/pull/36449
|
4
|
+
|
5
|
+
from sage.libs.flint.acb_hypgeom cimport (
|
6
|
+
acb_hypgeom_pfq_bound_factor,
|
7
|
+
acb_hypgeom_pfq_choose_n,
|
8
|
+
acb_hypgeom_pfq_sum_forward,
|
9
|
+
acb_hypgeom_pfq_sum_rs,
|
10
|
+
acb_hypgeom_pfq_sum_bs,
|
11
|
+
acb_hypgeom_pfq_sum_fme,
|
12
|
+
acb_hypgeom_pfq_sum,
|
13
|
+
acb_hypgeom_pfq_sum_bs_invz,
|
14
|
+
acb_hypgeom_pfq_sum_invz,
|
15
|
+
acb_hypgeom_pfq_direct,
|
16
|
+
acb_hypgeom_pfq_series_direct,
|
17
|
+
acb_hypgeom_u_asymp,
|
18
|
+
acb_hypgeom_u_use_asymp,
|
19
|
+
acb_hypgeom_u_1f1_series,
|
20
|
+
acb_hypgeom_u_1f1,
|
21
|
+
acb_hypgeom_u,
|
22
|
+
acb_hypgeom_m_asymp,
|
23
|
+
acb_hypgeom_m_1f1,
|
24
|
+
acb_hypgeom_m,
|
25
|
+
acb_hypgeom_erf_1f1a,
|
26
|
+
acb_hypgeom_erf_1f1b,
|
27
|
+
acb_hypgeom_erf_asymp,
|
28
|
+
acb_hypgeom_erf,
|
29
|
+
acb_hypgeom_erfc,
|
30
|
+
acb_hypgeom_erfi,
|
31
|
+
acb_hypgeom_bessel_j_asymp,
|
32
|
+
acb_hypgeom_bessel_j_0f1,
|
33
|
+
acb_hypgeom_bessel_j,
|
34
|
+
acb_hypgeom_bessel_jy,
|
35
|
+
acb_hypgeom_bessel_y,
|
36
|
+
acb_hypgeom_bessel_i_asymp,
|
37
|
+
acb_hypgeom_bessel_i_0f1,
|
38
|
+
acb_hypgeom_bessel_i,
|
39
|
+
acb_hypgeom_bessel_k_asymp,
|
40
|
+
acb_hypgeom_bessel_k_0f1_series,
|
41
|
+
acb_hypgeom_bessel_k_0f1,
|
42
|
+
acb_hypgeom_bessel_k,
|
43
|
+
acb_hypgeom_gamma_upper_asymp,
|
44
|
+
acb_hypgeom_gamma_upper_1f1a,
|
45
|
+
acb_hypgeom_gamma_upper_1f1b,
|
46
|
+
acb_hypgeom_gamma_upper_singular,
|
47
|
+
acb_hypgeom_gamma_upper,
|
48
|
+
acb_hypgeom_expint,
|
49
|
+
acb_hypgeom_ei_asymp,
|
50
|
+
acb_hypgeom_ei_2f2,
|
51
|
+
acb_hypgeom_ei,
|
52
|
+
acb_hypgeom_si_asymp,
|
53
|
+
acb_hypgeom_si_1f2,
|
54
|
+
acb_hypgeom_si,
|
55
|
+
acb_hypgeom_ci_asymp,
|
56
|
+
acb_hypgeom_ci_2f3,
|
57
|
+
acb_hypgeom_ci,
|
58
|
+
acb_hypgeom_shi,
|
59
|
+
acb_hypgeom_chi_asymp,
|
60
|
+
acb_hypgeom_chi_2f3,
|
61
|
+
acb_hypgeom_chi,
|
62
|
+
acb_hypgeom_li,
|
63
|
+
acb_hypgeom_0f1,
|
64
|
+
acb_hypgeom_2f1,
|
65
|
+
acb_hypgeom_legendre_p,
|
66
|
+
acb_hypgeom_legendre_q,
|
67
|
+
acb_hypgeom_jacobi_p,
|
68
|
+
acb_hypgeom_gegenbauer_c,
|
69
|
+
acb_hypgeom_laguerre_l,
|
70
|
+
acb_hypgeom_hermite_h,
|
71
|
+
acb_hypgeom_chebyshev_t,
|
72
|
+
acb_hypgeom_chebyshev_u,
|
73
|
+
acb_hypgeom_spherical_y,
|
74
|
+
acb_hypgeom_airy)
|