passagemath-singular 10.6.31rc3__cp314-cp314-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.
Potentially problematic release.
This version of passagemath-singular might be problematic. Click here for more details.
- PySingular.cpython-314-x86_64-linux-gnu.so +0 -0
- passagemath_singular-10.6.31rc3.dist-info/METADATA +183 -0
- passagemath_singular-10.6.31rc3.dist-info/RECORD +491 -0
- passagemath_singular-10.6.31rc3.dist-info/WHEEL +6 -0
- passagemath_singular-10.6.31rc3.dist-info/top_level.txt +3 -0
- passagemath_singular.libs/libSingular-4-20aec911.4.1.so +0 -0
- passagemath_singular.libs/libcddgmp-21acf0c6.so.0.1.3 +0 -0
- passagemath_singular.libs/libfactory-4-fcee31da.4.1.so +0 -0
- passagemath_singular.libs/libflint-66e12231.so.21.0.0 +0 -0
- passagemath_singular.libs/libgf2x-a4cdec90.so.3.0.0 +0 -0
- passagemath_singular.libs/libgfortran-83c28eba.so.5.0.0 +0 -0
- passagemath_singular.libs/libgmp-6e109695.so.10.5.0 +0 -0
- passagemath_singular.libs/libgsl-cda90e79.so.28.0.0 +0 -0
- passagemath_singular.libs/libmpfr-82690d50.so.6.2.1 +0 -0
- passagemath_singular.libs/libntl-e6f0d543.so.44.0.1 +0 -0
- passagemath_singular.libs/libomalloc-0-5c9e866e.9.6.so +0 -0
- passagemath_singular.libs/libopenblasp-r0-6dcb67f9.3.29.so +0 -0
- passagemath_singular.libs/libpolys-4-5c0a87e0.4.1.so +0 -0
- passagemath_singular.libs/libquadmath-2284e583.so.0.0.0 +0 -0
- passagemath_singular.libs/libreadline-ea270e21.so.8.2 +0 -0
- passagemath_singular.libs/libsingular_resources-4-a1aafc6d.4.1.so +0 -0
- passagemath_singular.libs/libtinfo-ceb117d9.so.6.3 +0 -0
- sage/algebras/all__sagemath_singular.py +3 -0
- sage/algebras/fusion_rings/all.py +19 -0
- sage/algebras/fusion_rings/f_matrix.py +2448 -0
- sage/algebras/fusion_rings/fast_parallel_fmats_methods.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/algebras/fusion_rings/fast_parallel_fmats_methods.pxd +5 -0
- sage/algebras/fusion_rings/fast_parallel_fmats_methods.pyx +538 -0
- sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pxd +3 -0
- sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pyx +331 -0
- sage/algebras/fusion_rings/fusion_double.py +899 -0
- sage/algebras/fusion_rings/fusion_ring.py +1580 -0
- sage/algebras/fusion_rings/poly_tup_engine.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/algebras/fusion_rings/poly_tup_engine.pxd +24 -0
- sage/algebras/fusion_rings/poly_tup_engine.pyx +579 -0
- sage/algebras/fusion_rings/shm_managers.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/algebras/fusion_rings/shm_managers.pxd +24 -0
- sage/algebras/fusion_rings/shm_managers.pyx +780 -0
- sage/algebras/letterplace/all.py +1 -0
- sage/algebras/letterplace/free_algebra_element_letterplace.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/algebras/letterplace/free_algebra_element_letterplace.pxd +18 -0
- sage/algebras/letterplace/free_algebra_element_letterplace.pyx +755 -0
- sage/algebras/letterplace/free_algebra_letterplace.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/algebras/letterplace/free_algebra_letterplace.pxd +35 -0
- sage/algebras/letterplace/free_algebra_letterplace.pyx +914 -0
- sage/algebras/letterplace/letterplace_ideal.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/algebras/letterplace/letterplace_ideal.pyx +408 -0
- sage/algebras/quatalg/all.py +2 -0
- sage/algebras/quatalg/quaternion_algebra.py +4778 -0
- sage/algebras/quatalg/quaternion_algebra_cython.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/algebras/quatalg/quaternion_algebra_cython.pyx +261 -0
- sage/algebras/quatalg/quaternion_algebra_element.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/algebras/quatalg/quaternion_algebra_element.pxd +29 -0
- sage/algebras/quatalg/quaternion_algebra_element.pyx +2176 -0
- sage/all__sagemath_singular.py +11 -0
- sage/ext_data/all__sagemath_singular.py +1 -0
- sage/ext_data/singular/function_field/core.lib +98 -0
- sage/interfaces/all__sagemath_singular.py +1 -0
- sage/interfaces/singular.py +2835 -0
- sage/libs/all__sagemath_singular.py +1 -0
- sage/libs/singular/__init__.py +1 -0
- sage/libs/singular/decl.pxd +1168 -0
- sage/libs/singular/function.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/libs/singular/function.pxd +87 -0
- sage/libs/singular/function.pyx +1901 -0
- sage/libs/singular/function_factory.py +61 -0
- sage/libs/singular/groebner_strategy.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/libs/singular/groebner_strategy.pxd +22 -0
- sage/libs/singular/groebner_strategy.pyx +582 -0
- sage/libs/singular/option.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/libs/singular/option.pyx +671 -0
- sage/libs/singular/polynomial.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/libs/singular/polynomial.pxd +39 -0
- sage/libs/singular/polynomial.pyx +661 -0
- sage/libs/singular/ring.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/libs/singular/ring.pxd +58 -0
- sage/libs/singular/ring.pyx +893 -0
- sage/libs/singular/singular.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/libs/singular/singular.pxd +72 -0
- sage/libs/singular/singular.pyx +1944 -0
- sage/libs/singular/standard_options.py +145 -0
- sage/matrix/all__sagemath_singular.py +1 -0
- sage/matrix/matrix_mpolynomial_dense.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/matrix/matrix_mpolynomial_dense.pxd +7 -0
- sage/matrix/matrix_mpolynomial_dense.pyx +615 -0
- sage/rings/all__sagemath_singular.py +1 -0
- sage/rings/function_field/all__sagemath_singular.py +1 -0
- sage/rings/function_field/derivations_polymod.py +911 -0
- sage/rings/function_field/element_polymod.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/rings/function_field/element_polymod.pyx +406 -0
- sage/rings/function_field/function_field_polymod.py +2611 -0
- sage/rings/function_field/ideal_polymod.py +1775 -0
- sage/rings/function_field/order_polymod.py +1475 -0
- sage/rings/function_field/place_polymod.py +681 -0
- sage/rings/polynomial/all__sagemath_singular.py +1 -0
- sage/rings/polynomial/multi_polynomial_ideal_libsingular.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/rings/polynomial/multi_polynomial_ideal_libsingular.pxd +5 -0
- sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx +339 -0
- sage/rings/polynomial/multi_polynomial_libsingular.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/rings/polynomial/multi_polynomial_libsingular.pxd +30 -0
- sage/rings/polynomial/multi_polynomial_libsingular.pyx +6277 -0
- sage/rings/polynomial/plural.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/rings/polynomial/plural.pxd +48 -0
- sage/rings/polynomial/plural.pyx +3171 -0
- sage/symbolic/all__sagemath_singular.py +1 -0
- sage/symbolic/comparison_impl.pxi +428 -0
- sage/symbolic/constants_c_impl.pxi +178 -0
- sage/symbolic/expression.cpython-314-x86_64-linux-gnu.so +0 -0
- sage/symbolic/expression.pxd +7 -0
- sage/symbolic/expression.pyx +14200 -0
- sage/symbolic/getitem_impl.pxi +202 -0
- sage/symbolic/pynac.pxi +572 -0
- sage/symbolic/pynac_constant_impl.pxi +133 -0
- sage/symbolic/pynac_function_impl.pxi +206 -0
- sage/symbolic/pynac_impl.pxi +2576 -0
- sage/symbolic/pynac_wrap.h +124 -0
- sage/symbolic/series_impl.pxi +272 -0
- sage/symbolic/substitution_map_impl.pxi +94 -0
- sage_wheels/bin/ESingular +0 -0
- sage_wheels/bin/Singular +0 -0
- sage_wheels/bin/TSingular +0 -0
- sage_wheels/lib/singular/MOD/cohomo.la +41 -0
- sage_wheels/lib/singular/MOD/cohomo.so +0 -0
- sage_wheels/lib/singular/MOD/customstd.la +41 -0
- sage_wheels/lib/singular/MOD/customstd.so +0 -0
- sage_wheels/lib/singular/MOD/freealgebra.la +41 -0
- sage_wheels/lib/singular/MOD/freealgebra.so +0 -0
- sage_wheels/lib/singular/MOD/gfanlib.la +41 -0
- sage_wheels/lib/singular/MOD/gfanlib.so +0 -0
- sage_wheels/lib/singular/MOD/gitfan.la +41 -0
- sage_wheels/lib/singular/MOD/gitfan.so +0 -0
- sage_wheels/lib/singular/MOD/interval.la +41 -0
- sage_wheels/lib/singular/MOD/interval.so +0 -0
- sage_wheels/lib/singular/MOD/loctriv.la +41 -0
- sage_wheels/lib/singular/MOD/loctriv.so +0 -0
- sage_wheels/lib/singular/MOD/machinelearning.la +41 -0
- sage_wheels/lib/singular/MOD/machinelearning.so +0 -0
- sage_wheels/lib/singular/MOD/p_Procs_FieldGeneral.la +41 -0
- sage_wheels/lib/singular/MOD/p_Procs_FieldGeneral.so +0 -0
- sage_wheels/lib/singular/MOD/p_Procs_FieldIndep.la +41 -0
- sage_wheels/lib/singular/MOD/p_Procs_FieldIndep.so +0 -0
- sage_wheels/lib/singular/MOD/p_Procs_FieldQ.la +41 -0
- sage_wheels/lib/singular/MOD/p_Procs_FieldQ.so +0 -0
- sage_wheels/lib/singular/MOD/p_Procs_FieldZp.la +41 -0
- sage_wheels/lib/singular/MOD/p_Procs_FieldZp.so +0 -0
- sage_wheels/lib/singular/MOD/partialgb.la +41 -0
- sage_wheels/lib/singular/MOD/partialgb.so +0 -0
- sage_wheels/lib/singular/MOD/pyobject.la +41 -0
- sage_wheels/lib/singular/MOD/pyobject.so +0 -0
- sage_wheels/lib/singular/MOD/singmathic.la +41 -0
- sage_wheels/lib/singular/MOD/singmathic.so +0 -0
- sage_wheels/lib/singular/MOD/sispasm.la +41 -0
- sage_wheels/lib/singular/MOD/sispasm.so +0 -0
- sage_wheels/lib/singular/MOD/subsets.la +41 -0
- sage_wheels/lib/singular/MOD/subsets.so +0 -0
- sage_wheels/lib/singular/MOD/systhreads.la +41 -0
- sage_wheels/lib/singular/MOD/systhreads.so +0 -0
- sage_wheels/lib/singular/MOD/syzextra.la +41 -0
- sage_wheels/lib/singular/MOD/syzextra.so +0 -0
- sage_wheels/libexec/singular/MOD/change_cost +0 -0
- sage_wheels/libexec/singular/MOD/singularsurf +11 -0
- sage_wheels/libexec/singular/MOD/singularsurf_jupyter +9 -0
- sage_wheels/libexec/singular/MOD/singularsurf_win +10 -0
- sage_wheels/libexec/singular/MOD/solve_IP +0 -0
- sage_wheels/libexec/singular/MOD/surfex +16 -0
- sage_wheels/libexec/singular/MOD/toric_ideal +0 -0
- sage_wheels/share/factory/gftables/10201 +342 -0
- sage_wheels/share/factory/gftables/1024 +37 -0
- sage_wheels/share/factory/gftables/10609 +356 -0
- sage_wheels/share/factory/gftables/11449 +384 -0
- sage_wheels/share/factory/gftables/11881 +398 -0
- sage_wheels/share/factory/gftables/121 +6 -0
- sage_wheels/share/factory/gftables/12167 +408 -0
- sage_wheels/share/factory/gftables/125 +7 -0
- sage_wheels/share/factory/gftables/12769 +428 -0
- sage_wheels/share/factory/gftables/128 +7 -0
- sage_wheels/share/factory/gftables/1331 +47 -0
- sage_wheels/share/factory/gftables/1369 +48 -0
- sage_wheels/share/factory/gftables/14641 +490 -0
- sage_wheels/share/factory/gftables/15625 +523 -0
- sage_wheels/share/factory/gftables/16 +3 -0
- sage_wheels/share/factory/gftables/16129 +540 -0
- sage_wheels/share/factory/gftables/16384 +549 -0
- sage_wheels/share/factory/gftables/16807 +563 -0
- sage_wheels/share/factory/gftables/1681 +58 -0
- sage_wheels/share/factory/gftables/169 +8 -0
- sage_wheels/share/factory/gftables/17161 +574 -0
- sage_wheels/share/factory/gftables/1849 +64 -0
- sage_wheels/share/factory/gftables/18769 +628 -0
- sage_wheels/share/factory/gftables/19321 +646 -0
- sage_wheels/share/factory/gftables/19683 +659 -0
- sage_wheels/share/factory/gftables/2048 +71 -0
- sage_wheels/share/factory/gftables/2187 +75 -0
- sage_wheels/share/factory/gftables/2197 +76 -0
- sage_wheels/share/factory/gftables/2209 +76 -0
- sage_wheels/share/factory/gftables/22201 +742 -0
- sage_wheels/share/factory/gftables/22801 +762 -0
- sage_wheels/share/factory/gftables/2401 +82 -0
- sage_wheels/share/factory/gftables/243 +11 -0
- sage_wheels/share/factory/gftables/24389 +815 -0
- sage_wheels/share/factory/gftables/24649 +824 -0
- sage_wheels/share/factory/gftables/25 +3 -0
- sage_wheels/share/factory/gftables/256 +11 -0
- sage_wheels/share/factory/gftables/26569 +888 -0
- sage_wheels/share/factory/gftables/27 +3 -0
- sage_wheels/share/factory/gftables/27889 +932 -0
- sage_wheels/share/factory/gftables/2809 +96 -0
- sage_wheels/share/factory/gftables/28561 +954 -0
- sage_wheels/share/factory/gftables/289 +12 -0
- sage_wheels/share/factory/gftables/29791 +995 -0
- sage_wheels/share/factory/gftables/29929 +1000 -0
- sage_wheels/share/factory/gftables/3125 +107 -0
- sage_wheels/share/factory/gftables/32 +4 -0
- sage_wheels/share/factory/gftables/32041 +1070 -0
- sage_wheels/share/factory/gftables/32761 +1094 -0
- sage_wheels/share/factory/gftables/32768 +1095 -0
- sage_wheels/share/factory/gftables/343 +14 -0
- sage_wheels/share/factory/gftables/3481 +118 -0
- sage_wheels/share/factory/gftables/361 +14 -0
- sage_wheels/share/factory/gftables/36481 +1218 -0
- sage_wheels/share/factory/gftables/3721 +126 -0
- sage_wheels/share/factory/gftables/37249 +1244 -0
- sage_wheels/share/factory/gftables/38809 +1296 -0
- sage_wheels/share/factory/gftables/39601 +1322 -0
- sage_wheels/share/factory/gftables/4 +3 -0
- sage_wheels/share/factory/gftables/4096 +139 -0
- sage_wheels/share/factory/gftables/44521 +1486 -0
- sage_wheels/share/factory/gftables/4489 +152 -0
- sage_wheels/share/factory/gftables/49 +4 -0
- sage_wheels/share/factory/gftables/4913 +166 -0
- sage_wheels/share/factory/gftables/49729 +1660 -0
- sage_wheels/share/factory/gftables/5041 +170 -0
- sage_wheels/share/factory/gftables/50653 +1691 -0
- sage_wheels/share/factory/gftables/512 +20 -0
- sage_wheels/share/factory/gftables/51529 +1720 -0
- sage_wheels/share/factory/gftables/52441 +1750 -0
- sage_wheels/share/factory/gftables/529 +20 -0
- sage_wheels/share/factory/gftables/5329 +180 -0
- sage_wheels/share/factory/gftables/54289 +1812 -0
- sage_wheels/share/factory/gftables/57121 +1906 -0
- sage_wheels/share/factory/gftables/58081 +1938 -0
- sage_wheels/share/factory/gftables/59049 +1971 -0
- sage_wheels/share/factory/gftables/6241 +210 -0
- sage_wheels/share/factory/gftables/625 +23 -0
- sage_wheels/share/factory/gftables/63001 +2102 -0
- sage_wheels/share/factory/gftables/64 +5 -0
- sage_wheels/share/factory/gftables/6561 +221 -0
- sage_wheels/share/factory/gftables/6859 +231 -0
- sage_wheels/share/factory/gftables/6889 +232 -0
- sage_wheels/share/factory/gftables/729 +27 -0
- sage_wheels/share/factory/gftables/7921 +266 -0
- sage_wheels/share/factory/gftables/8 +3 -0
- sage_wheels/share/factory/gftables/81 +5 -0
- sage_wheels/share/factory/gftables/8192 +276 -0
- sage_wheels/share/factory/gftables/841 +30 -0
- sage_wheels/share/factory/gftables/9 +3 -0
- sage_wheels/share/factory/gftables/9409 +316 -0
- sage_wheels/share/factory/gftables/961 +34 -0
- sage_wheels/share/info/singular.info +191898 -0
- sage_wheels/share/singular/LIB/GND.lib +1359 -0
- sage_wheels/share/singular/LIB/JMBTest.lib +976 -0
- sage_wheels/share/singular/LIB/JMSConst.lib +1363 -0
- sage_wheels/share/singular/LIB/KVequiv.lib +699 -0
- sage_wheels/share/singular/LIB/SingularityDBM.lib +491 -0
- sage_wheels/share/singular/LIB/VecField.lib +1542 -0
- sage_wheels/share/singular/LIB/absfact.lib +959 -0
- sage_wheels/share/singular/LIB/ainvar.lib +730 -0
- sage_wheels/share/singular/LIB/aksaka.lib +419 -0
- sage_wheels/share/singular/LIB/alexpoly.lib +2542 -0
- sage_wheels/share/singular/LIB/algebra.lib +1193 -0
- sage_wheels/share/singular/LIB/all.lib +136 -0
- sage_wheels/share/singular/LIB/arcpoint.lib +514 -0
- sage_wheels/share/singular/LIB/arnold.lib +4553 -0
- sage_wheels/share/singular/LIB/arnoldclassify.lib +2058 -0
- sage_wheels/share/singular/LIB/arr.lib +3486 -0
- sage_wheels/share/singular/LIB/assprimeszerodim.lib +755 -0
- sage_wheels/share/singular/LIB/autgradalg.lib +3361 -0
- sage_wheels/share/singular/LIB/bfun.lib +1964 -0
- sage_wheels/share/singular/LIB/bimodules.lib +774 -0
- sage_wheels/share/singular/LIB/brillnoether.lib +226 -0
- sage_wheels/share/singular/LIB/brnoeth.lib +5017 -0
- sage_wheels/share/singular/LIB/central.lib +2169 -0
- sage_wheels/share/singular/LIB/chern.lib +4162 -0
- sage_wheels/share/singular/LIB/cimonom.lib +571 -0
- sage_wheels/share/singular/LIB/cisimplicial.lib +1835 -0
- sage_wheels/share/singular/LIB/classify.lib +3239 -0
- sage_wheels/share/singular/LIB/classify2.lib +1462 -0
- sage_wheels/share/singular/LIB/classifyMapGerms.lib +1515 -0
- sage_wheels/share/singular/LIB/classify_aeq.lib +3253 -0
- sage_wheels/share/singular/LIB/classifyceq.lib +2092 -0
- sage_wheels/share/singular/LIB/classifyci.lib +1133 -0
- sage_wheels/share/singular/LIB/combinat.lib +91 -0
- sage_wheels/share/singular/LIB/compregb.lib +276 -0
- sage_wheels/share/singular/LIB/control.lib +1636 -0
- sage_wheels/share/singular/LIB/crypto.lib +3795 -0
- sage_wheels/share/singular/LIB/curveInv.lib +667 -0
- sage_wheels/share/singular/LIB/curvepar.lib +1817 -0
- sage_wheels/share/singular/LIB/customstd.lib +100 -0
- sage_wheels/share/singular/LIB/deRham.lib +5979 -0
- sage_wheels/share/singular/LIB/decodegb.lib +2134 -0
- sage_wheels/share/singular/LIB/decomp.lib +1655 -0
- sage_wheels/share/singular/LIB/deflation.lib +872 -0
- sage_wheels/share/singular/LIB/deform.lib +925 -0
- sage_wheels/share/singular/LIB/difform.lib +3055 -0
- sage_wheels/share/singular/LIB/divisors.lib +750 -0
- sage_wheels/share/singular/LIB/dmod.lib +5817 -0
- sage_wheels/share/singular/LIB/dmodapp.lib +3269 -0
- sage_wheels/share/singular/LIB/dmodideal.lib +1211 -0
- sage_wheels/share/singular/LIB/dmodloc.lib +2645 -0
- sage_wheels/share/singular/LIB/dmodvar.lib +818 -0
- sage_wheels/share/singular/LIB/dummy.lib +17 -0
- sage_wheels/share/singular/LIB/elim.lib +1009 -0
- sage_wheels/share/singular/LIB/ellipticcovers.lib +548 -0
- sage_wheels/share/singular/LIB/enumpoints.lib +146 -0
- sage_wheels/share/singular/LIB/equising.lib +2127 -0
- sage_wheels/share/singular/LIB/ffmodstd.lib +2384 -0
- sage_wheels/share/singular/LIB/ffsolve.lib +1289 -0
- sage_wheels/share/singular/LIB/findifs.lib +778 -0
- sage_wheels/share/singular/LIB/finitediff.lib +1768 -0
- sage_wheels/share/singular/LIB/finvar.lib +7989 -0
- sage_wheels/share/singular/LIB/fpadim.lib +2429 -0
- sage_wheels/share/singular/LIB/fpalgebras.lib +1666 -0
- sage_wheels/share/singular/LIB/fpaprops.lib +1462 -0
- sage_wheels/share/singular/LIB/freegb.lib +3853 -0
- sage_wheels/share/singular/LIB/general.lib +1350 -0
- sage_wheels/share/singular/LIB/gfan.lib +1768 -0
- sage_wheels/share/singular/LIB/gitfan.lib +3130 -0
- sage_wheels/share/singular/LIB/gkdim.lib +99 -0
- sage_wheels/share/singular/LIB/gmspoly.lib +589 -0
- sage_wheels/share/singular/LIB/gmssing.lib +1739 -0
- sage_wheels/share/singular/LIB/goettsche.lib +909 -0
- sage_wheels/share/singular/LIB/graal.lib +1366 -0
- sage_wheels/share/singular/LIB/gradedModules.lib +2541 -0
- sage_wheels/share/singular/LIB/graphics.lib +360 -0
- sage_wheels/share/singular/LIB/grobcov.lib +7706 -0
- sage_wheels/share/singular/LIB/groups.lib +1123 -0
- sage_wheels/share/singular/LIB/grwalk.lib +507 -0
- sage_wheels/share/singular/LIB/hdepth.lib +194 -0
- sage_wheels/share/singular/LIB/help.cnf +57 -0
- sage_wheels/share/singular/LIB/hess.lib +1946 -0
- sage_wheels/share/singular/LIB/hnoether.lib +4292 -0
- sage_wheels/share/singular/LIB/hodge.lib +400 -0
- sage_wheels/share/singular/LIB/homolog.lib +1965 -0
- sage_wheels/share/singular/LIB/hyperel.lib +975 -0
- sage_wheels/share/singular/LIB/inout.lib +679 -0
- sage_wheels/share/singular/LIB/integralbasis.lib +6224 -0
- sage_wheels/share/singular/LIB/interval.lib +1418 -0
- sage_wheels/share/singular/LIB/intprog.lib +778 -0
- sage_wheels/share/singular/LIB/invar.lib +443 -0
- sage_wheels/share/singular/LIB/involut.lib +980 -0
- sage_wheels/share/singular/LIB/jacobson.lib +1215 -0
- sage_wheels/share/singular/LIB/kskernel.lib +534 -0
- sage_wheels/share/singular/LIB/latex.lib +3146 -0
- sage_wheels/share/singular/LIB/lejeune.lib +651 -0
- sage_wheels/share/singular/LIB/linalg.lib +2040 -0
- sage_wheels/share/singular/LIB/locnormal.lib +212 -0
- sage_wheels/share/singular/LIB/lrcalc.lib +526 -0
- sage_wheels/share/singular/LIB/makedbm.lib +294 -0
- sage_wheels/share/singular/LIB/mathml.lib +813 -0
- sage_wheels/share/singular/LIB/matrix.lib +1372 -0
- sage_wheels/share/singular/LIB/maxlike.lib +1132 -0
- sage_wheels/share/singular/LIB/methods.lib +212 -0
- sage_wheels/share/singular/LIB/moddiq.lib +322 -0
- sage_wheels/share/singular/LIB/modfinduni.lib +181 -0
- sage_wheels/share/singular/LIB/modnormal.lib +218 -0
- sage_wheels/share/singular/LIB/modprimdec.lib +1278 -0
- sage_wheels/share/singular/LIB/modquotient.lib +269 -0
- sage_wheels/share/singular/LIB/modstd.lib +1024 -0
- sage_wheels/share/singular/LIB/modular.lib +545 -0
- sage_wheels/share/singular/LIB/modules.lib +2561 -0
- sage_wheels/share/singular/LIB/modwalk.lib +609 -0
- sage_wheels/share/singular/LIB/mondromy.lib +1016 -0
- sage_wheels/share/singular/LIB/monomialideal.lib +3851 -0
- sage_wheels/share/singular/LIB/mprimdec.lib +2353 -0
- sage_wheels/share/singular/LIB/mregular.lib +1863 -0
- sage_wheels/share/singular/LIB/multigrading.lib +5629 -0
- sage_wheels/share/singular/LIB/ncHilb.lib +777 -0
- sage_wheels/share/singular/LIB/ncModslimgb.lib +791 -0
- sage_wheels/share/singular/LIB/ncalg.lib +16311 -0
- sage_wheels/share/singular/LIB/ncall.lib +31 -0
- sage_wheels/share/singular/LIB/ncdecomp.lib +468 -0
- sage_wheels/share/singular/LIB/ncfactor.lib +13371 -0
- sage_wheels/share/singular/LIB/ncfrac.lib +1023 -0
- sage_wheels/share/singular/LIB/nchilbert.lib +448 -0
- sage_wheels/share/singular/LIB/nchomolog.lib +759 -0
- sage_wheels/share/singular/LIB/ncloc.lib +361 -0
- sage_wheels/share/singular/LIB/ncpreim.lib +795 -0
- sage_wheels/share/singular/LIB/ncrat.lib +2849 -0
- sage_wheels/share/singular/LIB/nctools.lib +1887 -0
- sage_wheels/share/singular/LIB/nets.lib +1456 -0
- sage_wheels/share/singular/LIB/nfmodstd.lib +1000 -0
- sage_wheels/share/singular/LIB/nfmodsyz.lib +732 -0
- sage_wheels/share/singular/LIB/noether.lib +1106 -0
- sage_wheels/share/singular/LIB/normal.lib +8700 -0
- sage_wheels/share/singular/LIB/normaliz.lib +2226 -0
- sage_wheels/share/singular/LIB/ntsolve.lib +362 -0
- sage_wheels/share/singular/LIB/numerAlg.lib +560 -0
- sage_wheels/share/singular/LIB/numerDecom.lib +2261 -0
- sage_wheels/share/singular/LIB/olga.lib +1933 -0
- sage_wheels/share/singular/LIB/orbitparam.lib +351 -0
- sage_wheels/share/singular/LIB/parallel.lib +319 -0
- sage_wheels/share/singular/LIB/paraplanecurves.lib +3110 -0
- sage_wheels/share/singular/LIB/perron.lib +202 -0
- sage_wheels/share/singular/LIB/pfd.lib +2223 -0
- sage_wheels/share/singular/LIB/phindex.lib +642 -0
- sage_wheels/share/singular/LIB/pointid.lib +673 -0
- sage_wheels/share/singular/LIB/polybori.lib +1430 -0
- sage_wheels/share/singular/LIB/polyclass.lib +525 -0
- sage_wheels/share/singular/LIB/polylib.lib +1174 -0
- sage_wheels/share/singular/LIB/polymake.lib +1902 -0
- sage_wheels/share/singular/LIB/presolve.lib +1533 -0
- sage_wheels/share/singular/LIB/primdec.lib +9576 -0
- sage_wheels/share/singular/LIB/primdecint.lib +1782 -0
- sage_wheels/share/singular/LIB/primitiv.lib +401 -0
- sage_wheels/share/singular/LIB/puiseuxexpansions.lib +1631 -0
- sage_wheels/share/singular/LIB/purityfiltration.lib +960 -0
- sage_wheels/share/singular/LIB/qhmoduli.lib +1561 -0
- sage_wheels/share/singular/LIB/qmatrix.lib +293 -0
- sage_wheels/share/singular/LIB/random.lib +455 -0
- sage_wheels/share/singular/LIB/ratgb.lib +489 -0
- sage_wheels/share/singular/LIB/realclassify.lib +5759 -0
- sage_wheels/share/singular/LIB/realizationMatroids.lib +772 -0
- sage_wheels/share/singular/LIB/realrad.lib +1197 -0
- sage_wheels/share/singular/LIB/recover.lib +2628 -0
- sage_wheels/share/singular/LIB/redcgs.lib +3984 -0
- sage_wheels/share/singular/LIB/reesclos.lib +465 -0
- sage_wheels/share/singular/LIB/resbinomial.lib +2802 -0
- sage_wheels/share/singular/LIB/resgraph.lib +789 -0
- sage_wheels/share/singular/LIB/resjung.lib +820 -0
- sage_wheels/share/singular/LIB/resolve.lib +5110 -0
- sage_wheels/share/singular/LIB/resources.lib +170 -0
- sage_wheels/share/singular/LIB/reszeta.lib +5473 -0
- sage_wheels/share/singular/LIB/ring.lib +1328 -0
- sage_wheels/share/singular/LIB/ringgb.lib +343 -0
- sage_wheels/share/singular/LIB/rinvar.lib +1153 -0
- sage_wheels/share/singular/LIB/rootisolation.lib +1481 -0
- sage_wheels/share/singular/LIB/rootsmr.lib +709 -0
- sage_wheels/share/singular/LIB/rootsur.lib +886 -0
- sage_wheels/share/singular/LIB/rstandard.lib +607 -0
- sage_wheels/share/singular/LIB/rwalk.lib +336 -0
- sage_wheels/share/singular/LIB/sagbi.lib +1353 -0
- sage_wheels/share/singular/LIB/sagbiNormaliz.lib +1622 -0
- sage_wheels/share/singular/LIB/sagbiNormaliz0.lib +1498 -0
- sage_wheels/share/singular/LIB/sagbigrob.lib +449 -0
- sage_wheels/share/singular/LIB/schreyer.lib +321 -0
- sage_wheels/share/singular/LIB/schubert.lib +2551 -0
- sage_wheels/share/singular/LIB/sets.lib +524 -0
- sage_wheels/share/singular/LIB/sheafcoh.lib +1663 -0
- sage_wheels/share/singular/LIB/signcond.lib +437 -0
- sage_wheels/share/singular/LIB/sing.lib +1094 -0
- sage_wheels/share/singular/LIB/sing4ti2.lib +419 -0
- sage_wheels/share/singular/LIB/solve.lib +2243 -0
- sage_wheels/share/singular/LIB/spcurve.lib +1077 -0
- sage_wheels/share/singular/LIB/spectrum.lib +62 -0
- sage_wheels/share/singular/LIB/sresext.lib +757 -0
- sage_wheels/share/singular/LIB/ssi.lib +143 -0
- sage_wheels/share/singular/LIB/standard.lib +2769 -0
- sage_wheels/share/singular/LIB/stanleyreisner.lib +473 -0
- sage_wheels/share/singular/LIB/stdmodule.lib +547 -0
- sage_wheels/share/singular/LIB/stratify.lib +1070 -0
- sage_wheels/share/singular/LIB/surf.lib +506 -0
- sage_wheels/share/singular/LIB/surf_jupyter.lib +223 -0
- sage_wheels/share/singular/LIB/surfacesignature.lib +522 -0
- sage_wheels/share/singular/LIB/surfex.lib +1462 -0
- sage_wheels/share/singular/LIB/swalk.lib +877 -0
- sage_wheels/share/singular/LIB/symodstd.lib +1570 -0
- sage_wheels/share/singular/LIB/systhreads.lib +74 -0
- sage_wheels/share/singular/LIB/tasks.lib +1324 -0
- sage_wheels/share/singular/LIB/tateProdCplxNegGrad.lib +2412 -0
- sage_wheels/share/singular/LIB/teachstd.lib +858 -0
- sage_wheels/share/singular/LIB/template.lib +116 -0
- sage_wheels/share/singular/LIB/toric.lib +1119 -0
- sage_wheels/share/singular/LIB/transformation.lib +116 -0
- sage_wheels/share/singular/LIB/triang.lib +1197 -0
- sage_wheels/share/singular/LIB/tropical.lib +8741 -0
- sage_wheels/share/singular/LIB/tropicalEllipticCovers.lib +2922 -0
- sage_wheels/share/singular/LIB/tropicalNewton.lib +1128 -0
- sage_wheels/share/singular/LIB/tst.lib +1108 -0
- sage_wheels/share/singular/LIB/weierstr.lib +241 -0
- sage_wheels/share/singular/LIB/zeroset.lib +1478 -0
- sage_wheels/share/singular/emacs/.emacs-general +184 -0
- sage_wheels/share/singular/emacs/.emacs-singular +234 -0
- sage_wheels/share/singular/emacs/COPYING +44 -0
- sage_wheels/share/singular/emacs/cmd-cmpl.el +241 -0
- sage_wheels/share/singular/emacs/ex-cmpl.el +1681 -0
- sage_wheels/share/singular/emacs/hlp-cmpl.el +4318 -0
- sage_wheels/share/singular/emacs/lib-cmpl.el +179 -0
- sage_wheels/share/singular/emacs/singular.el +4273 -0
- sage_wheels/share/singular/emacs/singular.xpm +39 -0
- sage_wheels/share/singular/singular.idx +5002 -0
|
@@ -0,0 +1,671 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-singular
|
|
2
|
+
"""
|
|
3
|
+
libSingular: Options
|
|
4
|
+
|
|
5
|
+
Singular uses a set of global options to determine verbosity and the
|
|
6
|
+
behavior of certain algorithms. We provide an interface to these
|
|
7
|
+
options in the most 'natural' python-ic way. Users who do not wish to
|
|
8
|
+
deal with Singular functions directly usually do not have to worry
|
|
9
|
+
about this interface or Singular options in general since this is
|
|
10
|
+
taken care of by higher level functions.
|
|
11
|
+
|
|
12
|
+
We compute a Groebner basis for Cyclic-5 in two different contexts::
|
|
13
|
+
|
|
14
|
+
sage: P.<a,b,c,d,e> = PolynomialRing(GF(127))
|
|
15
|
+
sage: I = sage.rings.ideal.Cyclic(P)
|
|
16
|
+
sage: import sage.libs.singular.function_factory
|
|
17
|
+
sage: std = sage.libs.singular.function_factory.ff.std
|
|
18
|
+
|
|
19
|
+
By default, tail reductions are performed::
|
|
20
|
+
|
|
21
|
+
sage: from sage.libs.singular.option import opt, opt_ctx
|
|
22
|
+
sage: opt['red_tail']
|
|
23
|
+
True
|
|
24
|
+
sage: red = std(I)[-1]; red
|
|
25
|
+
d^2*e^6 + 28*b*c*d + ...
|
|
26
|
+
|
|
27
|
+
If we don't want this, we can create an option context, which disables
|
|
28
|
+
this::
|
|
29
|
+
|
|
30
|
+
sage: with opt_ctx(red_tail=False, red_sb=False):
|
|
31
|
+
....: notred = std(I)[-1]; notred
|
|
32
|
+
d^2*e^6 + ...
|
|
33
|
+
sage: len(list(red)) < len(list(notred))
|
|
34
|
+
True
|
|
35
|
+
|
|
36
|
+
However, this does not affect the global state::
|
|
37
|
+
|
|
38
|
+
sage: opt['red_tail']
|
|
39
|
+
True
|
|
40
|
+
|
|
41
|
+
On the other hand, any assignment to an option object will immediately
|
|
42
|
+
change the global state::
|
|
43
|
+
|
|
44
|
+
sage: opt['red_tail'] = False
|
|
45
|
+
sage: opt['red_tail']
|
|
46
|
+
False
|
|
47
|
+
sage: opt['red_tail'] = True
|
|
48
|
+
sage: opt['red_tail']
|
|
49
|
+
True
|
|
50
|
+
|
|
51
|
+
Assigning values within an option context, only affects this context::
|
|
52
|
+
|
|
53
|
+
sage: with opt_ctx:
|
|
54
|
+
....: opt['red_tail'] = False
|
|
55
|
+
|
|
56
|
+
sage: opt['red_tail']
|
|
57
|
+
True
|
|
58
|
+
|
|
59
|
+
Option contexts can also be safely stacked::
|
|
60
|
+
|
|
61
|
+
sage: with opt_ctx:
|
|
62
|
+
....: opt['red_tail'] = False
|
|
63
|
+
....: print(opt)
|
|
64
|
+
....: with opt_ctx:
|
|
65
|
+
....: opt['red_through'] = False
|
|
66
|
+
....: print(opt)
|
|
67
|
+
general options for libSingular (current value 0x00000082)
|
|
68
|
+
general options for libSingular (current value 0x00000002)
|
|
69
|
+
|
|
70
|
+
sage: print(opt)
|
|
71
|
+
general options for libSingular (current value 0x02000082)
|
|
72
|
+
|
|
73
|
+
Furthermore, the integer valued options ``deg_bound`` and
|
|
74
|
+
``mult_bound`` can be used::
|
|
75
|
+
|
|
76
|
+
sage: R.<x,y> = QQ[]
|
|
77
|
+
sage: I = R*[x^3+y^2,x^2*y+1]
|
|
78
|
+
sage: opt['deg_bound'] = 2
|
|
79
|
+
sage: std(I)
|
|
80
|
+
[x^2*y + 1, x^3 + y^2]
|
|
81
|
+
sage: opt['deg_bound'] = 0
|
|
82
|
+
sage: std(I)
|
|
83
|
+
[y^3 - x, x^2*y + 1, x^3 + y^2]
|
|
84
|
+
|
|
85
|
+
The same interface is available for verbosity options::
|
|
86
|
+
|
|
87
|
+
sage: from sage.libs.singular.option import opt_verb
|
|
88
|
+
sage: opt_verb['not_warn_sb']
|
|
89
|
+
False
|
|
90
|
+
sage: opt.reset_default() # needed to avoid side effects
|
|
91
|
+
sage: opt_verb.reset_default() # needed to avoid side effects
|
|
92
|
+
|
|
93
|
+
AUTHOR:
|
|
94
|
+
|
|
95
|
+
- Martin Albrecht (2009-08): initial implementation
|
|
96
|
+
- Martin Albrecht (2010-01): better interface, verbosity options
|
|
97
|
+
- Simon King (2010-07): Python-ic option names; deg_bound and mult_bound
|
|
98
|
+
"""
|
|
99
|
+
# ****************************************************************************
|
|
100
|
+
# Copyright (C) 2010 Martin Albrecht <M.R.Albrecht@rhul.ac.uk>
|
|
101
|
+
#
|
|
102
|
+
# Distributed under the terms of the GNU General Public License (GPL)
|
|
103
|
+
# https://www.gnu.org/licenses/
|
|
104
|
+
# ****************************************************************************
|
|
105
|
+
|
|
106
|
+
from sage.libs.singular.decl cimport singular_options, singular_verbose_options, Kstd1_deg, Kstd1_mu
|
|
107
|
+
|
|
108
|
+
from sage.libs.singular.decl cimport OPT_PROT, OPT_REDSB, OPT_NOT_BUCKETS, OPT_NOT_SUGAR, OPT_SUGARCRIT, OPT_REDTHROUGH, OPT_DEGBOUND, OPT_MULTBOUND
|
|
109
|
+
from sage.libs.singular.decl cimport OPT_RETURN_SB, OPT_FASTHC, OPT_OLDSTD, OPT_REDTAIL, OPT_INTSTRATEGY, OPT_NOTREGULARITY
|
|
110
|
+
from sage.libs.singular.decl cimport OPT_WEIGHTM, Sy_bit
|
|
111
|
+
|
|
112
|
+
from sage.libs.singular.decl cimport V_SHOW_MEM, V_YACC, V_REDEFINE, V_READING, V_LOAD_LIB, V_DEBUG_LIB
|
|
113
|
+
from sage.libs.singular.decl cimport V_LOAD_PROC, V_DEF_RES, V_SHOW_USE, V_IMAP, V_PROMPT
|
|
114
|
+
from sage.libs.singular.decl cimport V_NSB, V_CONTENTSB, V_CANCELUNIT
|
|
115
|
+
|
|
116
|
+
_options_py_to_singular={'return_sb':'returnSB',
|
|
117
|
+
'fast_hc':'fastHC',
|
|
118
|
+
'inf_red_tail':'infRedTail',
|
|
119
|
+
'int_strategy':'intStrategy',
|
|
120
|
+
'not_regularity':'notRegularity',
|
|
121
|
+
'not_sugar':'notSugar',
|
|
122
|
+
'not_buckets':'notBuckets',
|
|
123
|
+
'qring_nf':'qringNF',
|
|
124
|
+
'redsb':'redSB',
|
|
125
|
+
'red_sb':'redSB',
|
|
126
|
+
'red_tail':'redTail',
|
|
127
|
+
'red_through':'redThrough',
|
|
128
|
+
'sugar_crit':'sugarCrit',
|
|
129
|
+
'weight_m':'weightM',
|
|
130
|
+
'content_sb':'contentSB',
|
|
131
|
+
'mult_bound':'multBound',
|
|
132
|
+
'deg_bound':'degBound',
|
|
133
|
+
'imap':'Imap',
|
|
134
|
+
'debug_lib':'debugLib',
|
|
135
|
+
'def_res':'defRes',
|
|
136
|
+
'load_lib':'loadLib',
|
|
137
|
+
'load_proc':'loadProc',
|
|
138
|
+
'not_warn_sb':'notWarnSB'}
|
|
139
|
+
|
|
140
|
+
cdef class LibSingularOptions_abstract:
|
|
141
|
+
"""
|
|
142
|
+
Abstract Base Class for libSingular options.
|
|
143
|
+
"""
|
|
144
|
+
cdef unsigned int *global_options
|
|
145
|
+
cdef object name
|
|
146
|
+
cdef object name_map
|
|
147
|
+
|
|
148
|
+
def __init__(self, **kwds):
|
|
149
|
+
"""
|
|
150
|
+
INPUT:
|
|
151
|
+
|
|
152
|
+
- ``**kwds`` -- all keyword parameters are immediately applied
|
|
153
|
+
|
|
154
|
+
EXAMPLES::
|
|
155
|
+
|
|
156
|
+
sage: from sage.libs.singular.option import LibSingularOptions
|
|
157
|
+
sage: opt = LibSingularOptions(redTail=False)
|
|
158
|
+
sage: opt['redTail']
|
|
159
|
+
False
|
|
160
|
+
sage: opt['redTail'] = True
|
|
161
|
+
sage: opt['redTail']
|
|
162
|
+
True
|
|
163
|
+
sage: opt['deg_bound'] = 2
|
|
164
|
+
|
|
165
|
+
The options can be named in Python or Singular style::
|
|
166
|
+
|
|
167
|
+
sage: opt['degBound']
|
|
168
|
+
2
|
|
169
|
+
"""
|
|
170
|
+
for k,v in kwds.iteritems():
|
|
171
|
+
self[k] = v
|
|
172
|
+
|
|
173
|
+
def __getitem__(self, name):
|
|
174
|
+
"""
|
|
175
|
+
EXAMPLES::
|
|
176
|
+
|
|
177
|
+
sage: from sage.libs.singular.option import opt
|
|
178
|
+
sage: opt['red_tail']
|
|
179
|
+
True
|
|
180
|
+
sage: opt['deg_bound'] = 2
|
|
181
|
+
|
|
182
|
+
The options can be named in Python or Singular style::
|
|
183
|
+
|
|
184
|
+
sage: opt['degBound']
|
|
185
|
+
2
|
|
186
|
+
sage: opt.reset_default() # needed to avoid side effects
|
|
187
|
+
"""
|
|
188
|
+
name = _options_py_to_singular.get(name,name)
|
|
189
|
+
if name == "degBound":
|
|
190
|
+
if bool(self.global_options[0] & self.name_map[name]):
|
|
191
|
+
return Kstd1_deg
|
|
192
|
+
return int(0)
|
|
193
|
+
if name == "multBound":
|
|
194
|
+
if bool(self.global_options[0] & self.name_map[name]):
|
|
195
|
+
return Kstd1_mu
|
|
196
|
+
return int(0)
|
|
197
|
+
try:
|
|
198
|
+
return bool(self.global_options[0] & self.name_map[name])
|
|
199
|
+
except KeyError:
|
|
200
|
+
raise NameError("Option '%s' unknown." % (name,))
|
|
201
|
+
|
|
202
|
+
def __setitem__(self, name, value):
|
|
203
|
+
"""
|
|
204
|
+
EXAMPLES::
|
|
205
|
+
|
|
206
|
+
sage: from sage.libs.singular.option import opt, opt_ctx
|
|
207
|
+
sage: opt['redTail']
|
|
208
|
+
True
|
|
209
|
+
sage: with opt_ctx:
|
|
210
|
+
....: opt['redTail'] = False
|
|
211
|
+
....: opt['redTail']
|
|
212
|
+
False
|
|
213
|
+
sage: opt['red_tail']
|
|
214
|
+
True
|
|
215
|
+
sage: opt.reset_default() # needed to avoid side effects
|
|
216
|
+
"""
|
|
217
|
+
name = _options_py_to_singular.get(name,name)
|
|
218
|
+
try:
|
|
219
|
+
if value:
|
|
220
|
+
self.global_options[0] = self.global_options[0] | self.name_map[name]
|
|
221
|
+
else:
|
|
222
|
+
self.global_options[0] = self.global_options[0] & ~self.name_map[name]
|
|
223
|
+
if name == 'degBound':
|
|
224
|
+
global Kstd1_deg
|
|
225
|
+
Kstd1_deg = value
|
|
226
|
+
elif name == 'multBound':
|
|
227
|
+
global Kstd1_mu
|
|
228
|
+
Kstd1_mu = value
|
|
229
|
+
except KeyError:
|
|
230
|
+
raise NameError("Option '%s' unknown." % (name,))
|
|
231
|
+
|
|
232
|
+
def __int__(self):
|
|
233
|
+
"""
|
|
234
|
+
EXAMPLES::
|
|
235
|
+
|
|
236
|
+
sage: from sage.libs.singular.option import opt
|
|
237
|
+
sage: hex(int(opt))
|
|
238
|
+
'0x6000082'
|
|
239
|
+
"""
|
|
240
|
+
return int(self.global_options[0])
|
|
241
|
+
|
|
242
|
+
def save(self):
|
|
243
|
+
"""
|
|
244
|
+
Return a triple of integers that allow reconstruction of the options.
|
|
245
|
+
|
|
246
|
+
EXAMPLES::
|
|
247
|
+
|
|
248
|
+
sage: from sage.libs.singular.option import opt
|
|
249
|
+
sage: opt['deg_bound']
|
|
250
|
+
0
|
|
251
|
+
sage: opt['red_tail']
|
|
252
|
+
True
|
|
253
|
+
sage: s = opt.save()
|
|
254
|
+
sage: opt['deg_bound'] = 2
|
|
255
|
+
sage: opt['red_tail'] = False
|
|
256
|
+
sage: opt['deg_bound']
|
|
257
|
+
2
|
|
258
|
+
sage: opt['red_tail']
|
|
259
|
+
False
|
|
260
|
+
sage: opt.load(s)
|
|
261
|
+
sage: opt['deg_bound']
|
|
262
|
+
0
|
|
263
|
+
sage: opt['red_tail']
|
|
264
|
+
True
|
|
265
|
+
sage: opt.reset_default() # needed to avoid side effects
|
|
266
|
+
"""
|
|
267
|
+
return (int(self.global_options[0]), self['deg_bound'], self['mult_bound'])
|
|
268
|
+
|
|
269
|
+
def load(self, value=None):
|
|
270
|
+
"""
|
|
271
|
+
EXAMPLES::
|
|
272
|
+
|
|
273
|
+
sage: from sage.libs.singular.option import opt as sopt
|
|
274
|
+
sage: bck = sopt.save(); hex(bck[0]), bck[1], bck[2]
|
|
275
|
+
('0x6000082', 0, 0)
|
|
276
|
+
sage: sopt['redTail'] = False
|
|
277
|
+
sage: hex(int(sopt))
|
|
278
|
+
'0x4000082'
|
|
279
|
+
sage: sopt.load(bck)
|
|
280
|
+
sage: sopt['redTail']
|
|
281
|
+
True
|
|
282
|
+
"""
|
|
283
|
+
if value is None:
|
|
284
|
+
value = (None,0,0)
|
|
285
|
+
self.global_options[0] = int(value[0])
|
|
286
|
+
global Kstd1_deg
|
|
287
|
+
global Kstd1_mu
|
|
288
|
+
Kstd1_deg = value[1]
|
|
289
|
+
Kstd1_mu = value[2]
|
|
290
|
+
|
|
291
|
+
def __repr__(self):
|
|
292
|
+
"""
|
|
293
|
+
EXAMPLES::
|
|
294
|
+
|
|
295
|
+
sage: from sage.libs.singular.option import opt as sopt
|
|
296
|
+
sage: sopt
|
|
297
|
+
general options for libSingular (current value 0x06000082)
|
|
298
|
+
"""
|
|
299
|
+
return "%s options for libSingular (current value 0x%08x)" % (self.name, self.global_options[0])
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
cdef class LibSingularOptions(LibSingularOptions_abstract):
|
|
303
|
+
"""
|
|
304
|
+
Pythonic Interface to libSingular's options.
|
|
305
|
+
|
|
306
|
+
Supported options are:
|
|
307
|
+
|
|
308
|
+
- ``return_sb`` or ``returnSB`` -- the functions ``syz``,
|
|
309
|
+
``intersect``, ``quotient``, ``modulo`` return a standard
|
|
310
|
+
base instead of a generating set if ``return_sb``
|
|
311
|
+
is set. This option should not be used for ``lift``.
|
|
312
|
+
|
|
313
|
+
- ``fast_hc`` or ``fastHC`` -- tries to find the highest corner
|
|
314
|
+
of the staircase (HC) as fast as possible during a standard
|
|
315
|
+
basis computation (only used for local orderings).
|
|
316
|
+
|
|
317
|
+
- ``int_strategy`` or ``intStrategy`` -- avoids division of
|
|
318
|
+
coefficients during standard basis computations. This option
|
|
319
|
+
is ring dependent. By default, it is set for rings with
|
|
320
|
+
characteristic 0 and not set for all other rings.
|
|
321
|
+
|
|
322
|
+
- ``lazy`` -- uses a more lazy approach in std computations, which
|
|
323
|
+
was used in SINGULAR version before 2-0 (and which may lead to
|
|
324
|
+
faster or slower computations, depending on the example).
|
|
325
|
+
|
|
326
|
+
- ``length`` -- select shorter reducers in std computations
|
|
327
|
+
|
|
328
|
+
- ``not_regularity`` or ``notRegularity`` -- disables the
|
|
329
|
+
regularity bound for ``res`` and ``mres``
|
|
330
|
+
|
|
331
|
+
- ``not_sugar`` or ``notSugar`` -- disables the sugar strategy
|
|
332
|
+
during standard basis computation
|
|
333
|
+
|
|
334
|
+
- ``not_buckets`` or ``notBuckets`` -- disables the bucket
|
|
335
|
+
representation of polynomials during standard basis
|
|
336
|
+
computations. This option usually decreases the memory
|
|
337
|
+
usage but increases the computation time. It should only
|
|
338
|
+
be set for memory-critical standard basis computations.
|
|
339
|
+
|
|
340
|
+
- ``old_std`` or ``oldStd`` -- uses a more lazy approach in std
|
|
341
|
+
computations, which was used in SINGULAR version before 2-0
|
|
342
|
+
(and which may lead to faster or slower computations, depending
|
|
343
|
+
on the example).
|
|
344
|
+
|
|
345
|
+
- ``prot`` -- shows protocol information indicating the progress
|
|
346
|
+
during the following computations: ``facstd``, ``fglm``,
|
|
347
|
+
``groebner``, ``lres``, ``mres``, ``minres``, ``mstd``,
|
|
348
|
+
``res``, ``slimgb``, ``sres``, ``std``, ``stdfglm``,
|
|
349
|
+
``stdhilb``, ``syz``.
|
|
350
|
+
|
|
351
|
+
- ``red_sb`` or ``redSB`` -- computes a reduced standard basis in
|
|
352
|
+
any standard basis computation
|
|
353
|
+
|
|
354
|
+
- ``red_tail`` or ``redTail`` -- reduction of the tails of
|
|
355
|
+
polynomials during standard basis computations. This option
|
|
356
|
+
is ring dependent. By default, it is set for rings with global
|
|
357
|
+
degree orderings and not set for all other rings.
|
|
358
|
+
|
|
359
|
+
- ``red_through`` or ``redThrough`` -- for inhomogeneous input,
|
|
360
|
+
polynomial reductions during standard basis computations are
|
|
361
|
+
never postponed, but always finished through. This option is
|
|
362
|
+
ring dependent. By default, it is set for rings with global
|
|
363
|
+
degree orderings and not set for all other rings.
|
|
364
|
+
|
|
365
|
+
- ``sugar_crit`` or ``sugarCrit`` -- uses criteria similar to the
|
|
366
|
+
homogeneous case to keep more useless pairs
|
|
367
|
+
|
|
368
|
+
- ``weight_m`` or ``weightM`` -- automatically computes suitable
|
|
369
|
+
weights for the weighted ecart and the weighted sugar method
|
|
370
|
+
|
|
371
|
+
In addition, two integer valued parameters are supported, namely:
|
|
372
|
+
|
|
373
|
+
- ``deg_bound`` or ``degBound`` -- the standard basis computation
|
|
374
|
+
is stopped if the total (weighted) degree exceeds ``deg_bound``.
|
|
375
|
+
``deg_bound`` should not be used for a global ordering with
|
|
376
|
+
inhomogeneous input. Reset this bound by setting ``deg_bound``
|
|
377
|
+
to 0. The exact meaning of "degree" depends on the ring ordering
|
|
378
|
+
and the command: ``slimgb`` uses always the total degree with
|
|
379
|
+
weights 1, ``std`` does so for block orderings, only.
|
|
380
|
+
|
|
381
|
+
- ``mult_bound`` or ``multBound`` -- the standard basis computation
|
|
382
|
+
is stopped if the ideal is zero-dimensional in a ring with local
|
|
383
|
+
ordering and its multiplicity is lower than ``mult_bound``.
|
|
384
|
+
Reset this bound by setting ``mult_bound`` to 0.
|
|
385
|
+
|
|
386
|
+
EXAMPLES::
|
|
387
|
+
|
|
388
|
+
sage: from sage.libs.singular.option import LibSingularOptions
|
|
389
|
+
sage: libsingular_options = LibSingularOptions()
|
|
390
|
+
sage: libsingular_options
|
|
391
|
+
general options for libSingular (current value 0x06000082)
|
|
392
|
+
|
|
393
|
+
Here we demonstrate the intended way of using libSingular options::
|
|
394
|
+
|
|
395
|
+
sage: R.<x,y> = QQ[]
|
|
396
|
+
sage: I = R*[x^3+y^2,x^2*y+1]
|
|
397
|
+
sage: I.groebner_basis(deg_bound=2)
|
|
398
|
+
[x^3 + y^2, x^2*y + 1]
|
|
399
|
+
sage: I.groebner_basis()
|
|
400
|
+
[x^3 + y^2, x^2*y + 1, y^3 - x]
|
|
401
|
+
|
|
402
|
+
The option ``mult_bound`` is only relevant in the local case::
|
|
403
|
+
|
|
404
|
+
sage: from sage.libs.singular.option import opt
|
|
405
|
+
sage: Rlocal.<x,y,z> = PolynomialRing(QQ, order='ds')
|
|
406
|
+
sage: x^2<x
|
|
407
|
+
True
|
|
408
|
+
sage: J = [x^7+y^7+z^6,x^6+y^8+z^7,x^7+y^5+z^8, x^2*y^3+y^2*z^3+x^3*z^2,x^3*y^2+y^3*z^2+x^2*z^3]*Rlocal
|
|
409
|
+
sage: J.groebner_basis(mult_bound=100)
|
|
410
|
+
[x^3*y^2 + y^3*z^2 + x^2*z^3, x^2*y^3 + x^3*z^2 + y^2*z^3, y^5, x^6 + x*y^4*z^5, x^4*z^2 - y^4*z^2 - x^2*y*z^3 + x*y^2*z^3, z^6 - x*y^4*z^4 - x^3*y*z^5]
|
|
411
|
+
sage: opt['red_tail'] = True # the previous commands reset opt['red_tail'] to False
|
|
412
|
+
sage: J.groebner_basis()
|
|
413
|
+
[x^3*y^2 + y^3*z^2 + x^2*z^3, x^2*y^3 + x^3*z^2 + y^2*z^3, y^5, x^6, x^4*z^2 - y^4*z^2 - x^2*y*z^3 + x*y^2*z^3, z^6, y^4*z^3 - y^3*z^4 - x^2*z^5, x^3*y*z^4 - x^2*y^2*z^4 + x*y^3*z^4, x^3*z^5, x^2*y*z^5 + y^3*z^5, x*y^3*z^5]
|
|
414
|
+
"""
|
|
415
|
+
def __init__(self, **kwds):
|
|
416
|
+
"""
|
|
417
|
+
Create a new option interface.
|
|
418
|
+
|
|
419
|
+
EXAMPLES::
|
|
420
|
+
|
|
421
|
+
sage: from sage.libs.singular.option import LibSingularOptions
|
|
422
|
+
sage: libsingular_options = LibSingularOptions()
|
|
423
|
+
sage: libsingular_options
|
|
424
|
+
general options for libSingular (current value 0x...)
|
|
425
|
+
"""
|
|
426
|
+
self.global_options = &singular_options
|
|
427
|
+
self.name = "general"
|
|
428
|
+
self.name_map = {"prot": Sy_bit(OPT_PROT),
|
|
429
|
+
"redSB": Sy_bit(OPT_REDSB),
|
|
430
|
+
"notBuckets": Sy_bit(OPT_NOT_BUCKETS),
|
|
431
|
+
"notSugar": Sy_bit(OPT_NOT_SUGAR),
|
|
432
|
+
"sugarCrit": Sy_bit(OPT_SUGARCRIT),
|
|
433
|
+
"redThrough": Sy_bit(OPT_REDTHROUGH),
|
|
434
|
+
"returnSB": Sy_bit(OPT_RETURN_SB),
|
|
435
|
+
"fastHC": Sy_bit(OPT_FASTHC),
|
|
436
|
+
"oldStd": Sy_bit(OPT_OLDSTD),
|
|
437
|
+
"redTail": Sy_bit(OPT_REDTAIL),
|
|
438
|
+
"intStrategy": Sy_bit(OPT_INTSTRATEGY),
|
|
439
|
+
"notRegularity": Sy_bit(OPT_NOTREGULARITY),
|
|
440
|
+
"weightM": Sy_bit(OPT_WEIGHTM),
|
|
441
|
+
"degBound": Sy_bit(OPT_DEGBOUND),
|
|
442
|
+
"multBound": Sy_bit(OPT_MULTBOUND)}
|
|
443
|
+
LibSingularOptions_abstract.__init__(self, **kwds)
|
|
444
|
+
|
|
445
|
+
def reset_default(self):
|
|
446
|
+
"""
|
|
447
|
+
Reset libSingular's default options.
|
|
448
|
+
|
|
449
|
+
EXAMPLES::
|
|
450
|
+
|
|
451
|
+
sage: from sage.libs.singular.option import opt
|
|
452
|
+
sage: opt['red_tail']
|
|
453
|
+
True
|
|
454
|
+
sage: opt['red_tail'] = False
|
|
455
|
+
sage: opt['red_tail']
|
|
456
|
+
False
|
|
457
|
+
sage: opt['deg_bound']
|
|
458
|
+
0
|
|
459
|
+
sage: opt['deg_bound'] = 2
|
|
460
|
+
sage: opt['deg_bound']
|
|
461
|
+
2
|
|
462
|
+
sage: opt.reset_default()
|
|
463
|
+
sage: opt['red_tail']
|
|
464
|
+
True
|
|
465
|
+
sage: opt['deg_bound']
|
|
466
|
+
0
|
|
467
|
+
"""
|
|
468
|
+
from sage.libs.singular.singular import _saved_options
|
|
469
|
+
self.load(_saved_options)
|
|
470
|
+
|
|
471
|
+
|
|
472
|
+
#############
|
|
473
|
+
|
|
474
|
+
cdef class LibSingularVerboseOptions(LibSingularOptions_abstract):
|
|
475
|
+
"""
|
|
476
|
+
Pythonic Interface to libSingular's verbosity options.
|
|
477
|
+
|
|
478
|
+
Supported options are:
|
|
479
|
+
|
|
480
|
+
- ``mem`` -- shows memory usage in square brackets
|
|
481
|
+
- ``yacc`` -- only available in debug version
|
|
482
|
+
- ``redefine`` -- warns about variable redefinitions
|
|
483
|
+
- ``reading`` -- shows the number of characters read from a file
|
|
484
|
+
- ``loadLib`` or ``load_lib`` -- shows loading of libraries
|
|
485
|
+
- ``debugLib`` or ``debug_lib`` -- warns about syntax errors
|
|
486
|
+
when loading a library
|
|
487
|
+
- ``loadProc`` or ``load_proc`` -- shows loading of procedures
|
|
488
|
+
from libraries
|
|
489
|
+
- ``defRes`` or ``def_res`` -- shows the names of the syzygy
|
|
490
|
+
modules while converting ``resolution`` to ``list``
|
|
491
|
+
- ``usage`` -- shows correct usage in error messages
|
|
492
|
+
- ``Imap`` or ``imap`` -- shows the mapping of variables with
|
|
493
|
+
the ``fetch`` and ``imap`` commands
|
|
494
|
+
- ``notWarnSB`` or ``not_warn_sb`` -- do not warn if
|
|
495
|
+
a basis is not a standard basis
|
|
496
|
+
- ``contentSB`` or ``content_sb`` -- avoids to divide by the
|
|
497
|
+
content of a polynomial in ``std`` and related algorithms.
|
|
498
|
+
Should usually not be used.
|
|
499
|
+
- ``cancelunit`` -- avoids to divide polynomials by non-constant
|
|
500
|
+
units in ``std`` in the local case. Should usually not be used
|
|
501
|
+
|
|
502
|
+
EXAMPLES::
|
|
503
|
+
|
|
504
|
+
sage: from sage.libs.singular.option import LibSingularVerboseOptions
|
|
505
|
+
sage: libsingular_verbose = LibSingularVerboseOptions()
|
|
506
|
+
sage: libsingular_verbose
|
|
507
|
+
verbosity options for libSingular (current value 0x00002851)
|
|
508
|
+
"""
|
|
509
|
+
def __init__(self, **kwds):
|
|
510
|
+
"""
|
|
511
|
+
Create a new option interface.
|
|
512
|
+
|
|
513
|
+
EXAMPLES::
|
|
514
|
+
|
|
515
|
+
sage: from sage.libs.singular.option import LibSingularVerboseOptions
|
|
516
|
+
sage: libsingular_verb_options = LibSingularVerboseOptions()
|
|
517
|
+
sage: libsingular_verb_options
|
|
518
|
+
verbosity options for libSingular (current value 0x00002851)
|
|
519
|
+
"""
|
|
520
|
+
self.global_options = &singular_verbose_options
|
|
521
|
+
self.name = "verbosity"
|
|
522
|
+
self.name_map = {"mem": Sy_bit(V_SHOW_MEM),
|
|
523
|
+
"yacc": Sy_bit(V_YACC),
|
|
524
|
+
"redefine": Sy_bit(V_REDEFINE),
|
|
525
|
+
"reading": Sy_bit(V_READING),
|
|
526
|
+
"loadLib": Sy_bit(V_LOAD_LIB),
|
|
527
|
+
"debugLib": Sy_bit(V_DEBUG_LIB),
|
|
528
|
+
"loadProc": Sy_bit(V_LOAD_PROC),
|
|
529
|
+
"defRes": Sy_bit(V_DEF_RES),
|
|
530
|
+
"usage": Sy_bit(V_SHOW_USE),
|
|
531
|
+
"Imap": Sy_bit(V_IMAP),
|
|
532
|
+
"prompt": Sy_bit(V_PROMPT),
|
|
533
|
+
"notWarnSB":Sy_bit(V_NSB),
|
|
534
|
+
"contentSB":Sy_bit(V_CONTENTSB),
|
|
535
|
+
"cancelunit":Sy_bit(V_CANCELUNIT),
|
|
536
|
+
}
|
|
537
|
+
LibSingularOptions_abstract.__init__(self, **kwds)
|
|
538
|
+
|
|
539
|
+
def reset_default(self):
|
|
540
|
+
"""
|
|
541
|
+
Return to libSingular's default verbosity options.
|
|
542
|
+
|
|
543
|
+
EXAMPLES::
|
|
544
|
+
|
|
545
|
+
sage: from sage.libs.singular.option import opt_verb
|
|
546
|
+
sage: opt_verb['not_warn_sb']
|
|
547
|
+
False
|
|
548
|
+
sage: opt_verb['not_warn_sb'] = True
|
|
549
|
+
sage: opt_verb['not_warn_sb']
|
|
550
|
+
True
|
|
551
|
+
sage: opt_verb.reset_default()
|
|
552
|
+
sage: opt_verb['not_warn_sb']
|
|
553
|
+
False
|
|
554
|
+
"""
|
|
555
|
+
from sage.libs.singular.singular import _saved_verbose_options
|
|
556
|
+
self.global_options[0] = int(_saved_verbose_options)
|
|
557
|
+
|
|
558
|
+
cdef class LibSingularOptionsContext:
|
|
559
|
+
"""
|
|
560
|
+
Option context
|
|
561
|
+
|
|
562
|
+
This object localizes changes to options.
|
|
563
|
+
|
|
564
|
+
EXAMPLES::
|
|
565
|
+
|
|
566
|
+
sage: from sage.libs.singular.option import opt, opt_ctx
|
|
567
|
+
sage: opt
|
|
568
|
+
general options for libSingular (current value 0x06000082)
|
|
569
|
+
|
|
570
|
+
::
|
|
571
|
+
|
|
572
|
+
sage: with opt_ctx(redTail=False):
|
|
573
|
+
....: print(opt)
|
|
574
|
+
....: with opt_ctx(redThrough=False):
|
|
575
|
+
....: print(opt)
|
|
576
|
+
general options for libSingular (current value 0x04000082)
|
|
577
|
+
general options for libSingular (current value 0x04000002)
|
|
578
|
+
|
|
579
|
+
sage: print(opt)
|
|
580
|
+
general options for libSingular (current value 0x06000082)
|
|
581
|
+
"""
|
|
582
|
+
cdef list bck
|
|
583
|
+
cdef list bck_degBound
|
|
584
|
+
cdef list bck_multBound
|
|
585
|
+
cdef public LibSingularOptions_abstract opt
|
|
586
|
+
cdef object options
|
|
587
|
+
|
|
588
|
+
def __init__(self, LibSingularOptions_abstract opt, **kwds):
|
|
589
|
+
"""
|
|
590
|
+
Create a new context.
|
|
591
|
+
|
|
592
|
+
EXAMPLES::
|
|
593
|
+
|
|
594
|
+
sage: from sage.libs.singular.option import LibSingularOptionsContext, opt
|
|
595
|
+
sage: LibSingularOptionsContext(opt)
|
|
596
|
+
general options context for libSingular
|
|
597
|
+
"""
|
|
598
|
+
self.bck = []
|
|
599
|
+
self.bck_degBound = []
|
|
600
|
+
self.bck_multBound = []
|
|
601
|
+
self.options = kwds
|
|
602
|
+
self.opt = opt
|
|
603
|
+
|
|
604
|
+
def __enter__(self):
|
|
605
|
+
"""
|
|
606
|
+
EXAMPLES::
|
|
607
|
+
|
|
608
|
+
sage: from sage.libs.singular.option import opt, opt_ctx
|
|
609
|
+
sage: opt['redTail']
|
|
610
|
+
True
|
|
611
|
+
sage: with opt_ctx(redTail=False):
|
|
612
|
+
....: opt['redTail']
|
|
613
|
+
False
|
|
614
|
+
"""
|
|
615
|
+
self.bck.append(self.opt.global_options[0])
|
|
616
|
+
self.bck_degBound.append(Kstd1_deg)
|
|
617
|
+
self.bck_multBound.append(Kstd1_mu)
|
|
618
|
+
opt = self.opt.__class__()
|
|
619
|
+
for k,v in self.options.iteritems():
|
|
620
|
+
opt[k] = v
|
|
621
|
+
|
|
622
|
+
def __call__(self, **kwds):
|
|
623
|
+
"""
|
|
624
|
+
Return a new option context where ``**kwds`` are applied.
|
|
625
|
+
|
|
626
|
+
EXAMPLES::
|
|
627
|
+
|
|
628
|
+
sage: from sage.libs.singular.option import opt, opt_ctx
|
|
629
|
+
sage: opt['redTail']
|
|
630
|
+
True
|
|
631
|
+
sage: with opt_ctx(redTail=False):
|
|
632
|
+
....: opt['redTail']
|
|
633
|
+
False
|
|
634
|
+
"""
|
|
635
|
+
new = self.__class__(self.opt, **kwds)
|
|
636
|
+
return new
|
|
637
|
+
|
|
638
|
+
def __exit__(self, typ, value, tb):
|
|
639
|
+
"""
|
|
640
|
+
EXAMPLES::
|
|
641
|
+
|
|
642
|
+
sage: from sage.libs.singular.option import opt, opt_ctx
|
|
643
|
+
sage: opt['redTail']
|
|
644
|
+
True
|
|
645
|
+
sage: with opt_ctx(redTail=False):
|
|
646
|
+
....: opt['redTail']
|
|
647
|
+
False
|
|
648
|
+
"""
|
|
649
|
+
self.opt.global_options[0] = self.bck.pop()
|
|
650
|
+
global Kstd1_deg
|
|
651
|
+
global Kstd1_mu
|
|
652
|
+
Kstd1_deg = self.bck_degBound.pop()
|
|
653
|
+
Kstd1_mu = self.bck_multBound.pop()
|
|
654
|
+
|
|
655
|
+
def __repr__(self) -> str:
|
|
656
|
+
"""
|
|
657
|
+
EXAMPLES::
|
|
658
|
+
|
|
659
|
+
sage: from sage.libs.singular.option import opt_ctx
|
|
660
|
+
sage: opt_ctx
|
|
661
|
+
general options context for libSingular
|
|
662
|
+
"""
|
|
663
|
+
return "%s options context for libSingular" % (self.opt.name)
|
|
664
|
+
|
|
665
|
+
|
|
666
|
+
opt = LibSingularOptions()
|
|
667
|
+
opt.reset_default()
|
|
668
|
+
opt_verb = LibSingularVerboseOptions()
|
|
669
|
+
opt_verb.reset_default()
|
|
670
|
+
opt_ctx = LibSingularOptionsContext(opt)
|
|
671
|
+
opt_verb_ctx = LibSingularOptionsContext(opt_verb)
|
|
Binary file
|