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,1168 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-singular
|
|
2
|
+
# distutils: include_dirs = SINGULAR_INCDIR
|
|
3
|
+
# distutils: extra_compile_args = SINGULAR_CFLAGS
|
|
4
|
+
# distutils: libraries = SINGULAR_LIBRARIES
|
|
5
|
+
# distutils: library_dirs = SINGULAR_LIBDIR
|
|
6
|
+
# distutils: language = c++
|
|
7
|
+
# distutils: extra_compile_args = -std=c++17
|
|
8
|
+
"""
|
|
9
|
+
Declarations of Singular's C/C++ Functions
|
|
10
|
+
|
|
11
|
+
.. NOTE::
|
|
12
|
+
|
|
13
|
+
Our ``ring``, ``poly``,... types are not the Singular ``ring``,
|
|
14
|
+
``poly``,... types. They are dereferences. So a Singular ``ring`` is
|
|
15
|
+
a pointer to a ``ring`` from Sage.
|
|
16
|
+
|
|
17
|
+
AUTHOR:
|
|
18
|
+
|
|
19
|
+
- Martin Albrecht (2009-07): initial implementation
|
|
20
|
+
"""
|
|
21
|
+
#*****************************************************************************
|
|
22
|
+
# Copyright (C) 2009 Martin Albrecht <malb@informatik.uni-bremen.de>
|
|
23
|
+
#
|
|
24
|
+
# This program is free software: you can redistribute it and/or modify
|
|
25
|
+
# it under the terms of the GNU General Public License as published by
|
|
26
|
+
# the Free Software Foundation, either version 2 of the License, or
|
|
27
|
+
# (at your option) any later version.
|
|
28
|
+
# http://www.gnu.org/licenses/
|
|
29
|
+
#*****************************************************************************
|
|
30
|
+
from sage.libs.gmp.types cimport mpz_t, mpz_ptr
|
|
31
|
+
|
|
32
|
+
cdef extern from "factory/factory.h":
|
|
33
|
+
|
|
34
|
+
#
|
|
35
|
+
# CF OPTIONS
|
|
36
|
+
#
|
|
37
|
+
|
|
38
|
+
void On( int )
|
|
39
|
+
void Off( int )
|
|
40
|
+
int isOn( int )
|
|
41
|
+
|
|
42
|
+
cdef int SW_USE_CHINREM_GCD
|
|
43
|
+
cdef int SW_USE_EZGCD
|
|
44
|
+
cdef int SW_USE_NTL
|
|
45
|
+
cdef int SW_USE_NTL_GCD_0
|
|
46
|
+
cdef int SW_USE_NTL_GCD_P
|
|
47
|
+
cdef int SW_USE_NTL_SORT
|
|
48
|
+
|
|
49
|
+
cdef extern from "singular/Singular/libsingular.h":
|
|
50
|
+
"""
|
|
51
|
+
// compatibility for singular 4.3.2p10 and before
|
|
52
|
+
#if SINGULAR_VERSION <= 4330
|
|
53
|
+
#define ringorder_ip ringorder_rp
|
|
54
|
+
#define BIGINTVEC_CMD INTVEC_CMD
|
|
55
|
+
#endif
|
|
56
|
+
"""
|
|
57
|
+
|
|
58
|
+
#
|
|
59
|
+
# OPTIONS
|
|
60
|
+
#
|
|
61
|
+
|
|
62
|
+
cdef unsigned int singular_options "si_opt_1" # previously 'test'
|
|
63
|
+
cdef unsigned int singular_verbose_options "si_opt_2" # previously 'verbose'
|
|
64
|
+
|
|
65
|
+
# actual options
|
|
66
|
+
cdef int OPT_PROT
|
|
67
|
+
cdef int OPT_REDSB
|
|
68
|
+
cdef int OPT_NOT_BUCKETS
|
|
69
|
+
cdef int OPT_NOT_SUGAR
|
|
70
|
+
cdef int OPT_INTERRUPT
|
|
71
|
+
cdef int OPT_SUGARCRIT
|
|
72
|
+
cdef int OPT_DEBUG
|
|
73
|
+
cdef int OPT_REDTHROUGH
|
|
74
|
+
cdef int OPT_RETURN_SB
|
|
75
|
+
cdef int OPT_FASTHC
|
|
76
|
+
cdef int OPT_OLDSTD
|
|
77
|
+
cdef int OPT_KEEPVARS
|
|
78
|
+
cdef int OPT_STAIRCASEBOUND
|
|
79
|
+
cdef int OPT_MULTBOUND
|
|
80
|
+
cdef int OPT_DEGBOUND
|
|
81
|
+
cdef int OPT_REDTAIL
|
|
82
|
+
cdef int OPT_INTSTRATEGY
|
|
83
|
+
cdef int OPT_INFREDTAIL
|
|
84
|
+
cdef int OPT_SB_1
|
|
85
|
+
cdef int OPT_NOTREGULARITY
|
|
86
|
+
cdef int OPT_WEIGHTM
|
|
87
|
+
|
|
88
|
+
# getter/setter functions
|
|
89
|
+
int Sy_bit(int)
|
|
90
|
+
int Sy_inset(int x,int s)
|
|
91
|
+
int BTEST1(int)
|
|
92
|
+
int BVERBOSE(int)
|
|
93
|
+
|
|
94
|
+
# ideal flags
|
|
95
|
+
cdef int FLAG_STD
|
|
96
|
+
cdef int FLAG_TWOSTD
|
|
97
|
+
|
|
98
|
+
#
|
|
99
|
+
# STRUCTS
|
|
100
|
+
#
|
|
101
|
+
|
|
102
|
+
# rational numbers
|
|
103
|
+
ctypedef struct number "snumber":
|
|
104
|
+
mpz_t z
|
|
105
|
+
mpz_t n
|
|
106
|
+
int s
|
|
107
|
+
|
|
108
|
+
# See singular/libpolys/coeffs/coeffs.h for documentation
|
|
109
|
+
cdef enum n_coeffType:
|
|
110
|
+
n_unknown
|
|
111
|
+
n_Zp
|
|
112
|
+
n_Q
|
|
113
|
+
n_R
|
|
114
|
+
n_GF
|
|
115
|
+
n_long_R
|
|
116
|
+
n_algExt
|
|
117
|
+
n_transExt
|
|
118
|
+
n_long_C
|
|
119
|
+
n_Z
|
|
120
|
+
n_Zn
|
|
121
|
+
n_Znm
|
|
122
|
+
n_Z2m
|
|
123
|
+
n_CF
|
|
124
|
+
|
|
125
|
+
ctypedef struct ring "ip_sring"
|
|
126
|
+
ctypedef struct AlgExtInfo
|
|
127
|
+
|
|
128
|
+
ctypedef struct n_Procs_s:
|
|
129
|
+
|
|
130
|
+
number* cfDiv(number *, number *, const n_Procs_s* r)
|
|
131
|
+
number* cfAdd(number *, number *, const n_Procs_s* r) # algebraic number addition
|
|
132
|
+
number* cfSub(number *, number *, const n_Procs_s* r)
|
|
133
|
+
number* cfMult(number *, number *, const n_Procs_s* r) # algebraic number multiplication
|
|
134
|
+
|
|
135
|
+
number* (*cfInit)(int i, const n_Procs_s* r ) # algebraic number from int
|
|
136
|
+
number* (*cfInitMPZ)(mpz_t i, const n_Procs_s* r)
|
|
137
|
+
number* (*cfParameter)(int i, const n_Procs_s* r)
|
|
138
|
+
int (*cfParDeg)(number* n, const n_Procs_s* r)
|
|
139
|
+
int (*cfSize)(number* n, const n_Procs_s* r)
|
|
140
|
+
int (*cfInt)(number* n, const n_Procs_s* r)
|
|
141
|
+
int (*cdDivComp)(number* a,number* b, const n_Procs_s* r)
|
|
142
|
+
number* (*cfGetUnit)(number* a, const n_Procs_s* r)
|
|
143
|
+
number* (*cfExtGcd)(number* a, number* b, number* *s, number* *t , const n_Procs_s* r)
|
|
144
|
+
|
|
145
|
+
void (*cfDelete)(number **, const n_Procs_s*)
|
|
146
|
+
|
|
147
|
+
number* (*cfInpNeg)(number* a, const n_Procs_s* r)
|
|
148
|
+
number* (*cfInvers)(number* a, const n_Procs_s* r)
|
|
149
|
+
number* (*cfCopy)(number* a, const n_Procs_s* r) # deep copy of algebraic number
|
|
150
|
+
number* (*cfRePart)(number* a, const n_Procs_s* cf)
|
|
151
|
+
number* (*cfImPart)(number* a, const n_Procs_s* cf)
|
|
152
|
+
void (*cfWrite)(number* a, const n_Procs_s* r)
|
|
153
|
+
void (*cfNormalize)(number* a, const n_Procs_s* r)
|
|
154
|
+
|
|
155
|
+
bint (*cfDivBy)(number* a, number* b, const n_Procs_s* r)
|
|
156
|
+
bint (*cfGreater)(number* a, number* b, const n_Procs_s* )
|
|
157
|
+
bint (*cfEqual)(number* a,number* b, const n_Procs_s* )
|
|
158
|
+
bint (*cfIsZero)(number* a, const n_Procs_s* ) # algebraic number comparison with zero
|
|
159
|
+
bint (*cfIsOne)(number* a, const n_Procs_s* ) # algebraic number comparison with one
|
|
160
|
+
bint (*cfIsMOne)(number* a, const n_Procs_s* )
|
|
161
|
+
bint (*cfGreaterZero)(number* a, const n_Procs_s* )
|
|
162
|
+
void (*cfPower)(number* a, int i, number* * result, const n_Procs_s* r) # algebraic number power
|
|
163
|
+
|
|
164
|
+
ring *extRing
|
|
165
|
+
int ch
|
|
166
|
+
mpz_ptr modBase
|
|
167
|
+
unsigned long modExponent
|
|
168
|
+
|
|
169
|
+
# n_coeffType type
|
|
170
|
+
int type
|
|
171
|
+
|
|
172
|
+
# polynomials
|
|
173
|
+
|
|
174
|
+
const char ** n_ParameterNames(const n_Procs_s* r)
|
|
175
|
+
|
|
176
|
+
int n_NumberOfParameters(const n_Procs_s* r)
|
|
177
|
+
|
|
178
|
+
ctypedef struct poly "spolyrec":
|
|
179
|
+
poly *next
|
|
180
|
+
number *coef
|
|
181
|
+
unsigned long exp[1]
|
|
182
|
+
|
|
183
|
+
# ideals
|
|
184
|
+
|
|
185
|
+
ctypedef struct ideal "sip_sideal":
|
|
186
|
+
poly **m # gens array
|
|
187
|
+
long rank # rank of module, 1 for ideals
|
|
188
|
+
int nrows # always 1
|
|
189
|
+
int ncols # number of gens
|
|
190
|
+
|
|
191
|
+
# polynomial procs
|
|
192
|
+
ctypedef struct p_Procs_s "p_Procs_s":
|
|
193
|
+
pass
|
|
194
|
+
# rings
|
|
195
|
+
|
|
196
|
+
ctypedef struct ring "ip_sring":
|
|
197
|
+
int *order # array of orderings
|
|
198
|
+
int *block0 # starting pos
|
|
199
|
+
int *block1 # ending pos
|
|
200
|
+
int **wvhdl # weight vectors
|
|
201
|
+
int OrdSgn # 1 for polynomial rings
|
|
202
|
+
int ShortOut # control printing
|
|
203
|
+
int CanShortOut # control printing capabilities
|
|
204
|
+
number *minpoly # minpoly for base extension field
|
|
205
|
+
char **names # variable names
|
|
206
|
+
p_Procs_s *p_Procs #polxnomial procs
|
|
207
|
+
ideal *qideal #quotient ideal
|
|
208
|
+
|
|
209
|
+
short N # number of variables
|
|
210
|
+
|
|
211
|
+
int pCompIndex # index of components
|
|
212
|
+
unsigned long bitmask # mask for getting single exponents
|
|
213
|
+
|
|
214
|
+
n_Procs_s* cf # coefficient field/ring
|
|
215
|
+
int ref
|
|
216
|
+
|
|
217
|
+
# return total degree of p
|
|
218
|
+
|
|
219
|
+
long (*pLDeg)(poly *p, int *l, ring *r)
|
|
220
|
+
long (*pLDegOrig)(poly *p, int *l, ring *r)
|
|
221
|
+
long (*pFDeg)(poly *p, ring *r)
|
|
222
|
+
long (*pFDegOrig)(poly *p, ring *r)
|
|
223
|
+
|
|
224
|
+
# a bunch of functions for degree
|
|
225
|
+
|
|
226
|
+
long p_FDeg(poly *p, ring *r)
|
|
227
|
+
long p_LDeg(poly *p, int *l, ring *r)
|
|
228
|
+
long p_Deg(poly *p, ring *r)
|
|
229
|
+
long p_WTotaldegree(poly *p, ring *r)
|
|
230
|
+
long p_Totaldegree(poly *p, ring *r)
|
|
231
|
+
long p_WDegree(poly *p, ring *r)
|
|
232
|
+
|
|
233
|
+
# available ring orders
|
|
234
|
+
|
|
235
|
+
ctypedef struct AlgExtInfo:
|
|
236
|
+
ring * r
|
|
237
|
+
|
|
238
|
+
cdef enum rRingOrder_t:
|
|
239
|
+
ringorder_no
|
|
240
|
+
ringorder_a
|
|
241
|
+
ringorder_a64 # for int64 weights
|
|
242
|
+
ringorder_c
|
|
243
|
+
ringorder_C
|
|
244
|
+
ringorder_M
|
|
245
|
+
ringorder_S
|
|
246
|
+
ringorder_s
|
|
247
|
+
ringorder_lp
|
|
248
|
+
ringorder_dp
|
|
249
|
+
ringorder_ip
|
|
250
|
+
ringorder_Dp
|
|
251
|
+
ringorder_wp
|
|
252
|
+
ringorder_Wp
|
|
253
|
+
ringorder_ls
|
|
254
|
+
ringorder_ds
|
|
255
|
+
ringorder_Ds
|
|
256
|
+
ringorder_ws
|
|
257
|
+
ringorder_Ws
|
|
258
|
+
ringorder_L
|
|
259
|
+
|
|
260
|
+
# groebner basis options
|
|
261
|
+
|
|
262
|
+
cdef enum tHomog:
|
|
263
|
+
isNotHomog
|
|
264
|
+
isHomog
|
|
265
|
+
testHomog
|
|
266
|
+
|
|
267
|
+
# ideals
|
|
268
|
+
|
|
269
|
+
ctypedef struct ideal "sip_sideal":
|
|
270
|
+
poly **m # gens array
|
|
271
|
+
long rank # rank of module, 1 for ideals
|
|
272
|
+
int nrows # always 1
|
|
273
|
+
int ncols # number of gens
|
|
274
|
+
|
|
275
|
+
# dense matrices
|
|
276
|
+
|
|
277
|
+
ctypedef struct matrix "ip_smatrix":
|
|
278
|
+
poly **m # gens array
|
|
279
|
+
long rank # rank of module, 1 for normal matrices
|
|
280
|
+
int nrows # number of rows
|
|
281
|
+
int ncols # number of columns
|
|
282
|
+
|
|
283
|
+
# integer vectors
|
|
284
|
+
|
|
285
|
+
cdef cppclass intvec:
|
|
286
|
+
intvec()
|
|
287
|
+
intvec(int, int, int)
|
|
288
|
+
int *(*ivGetVec)() # this is internal actually
|
|
289
|
+
int (*rows)()
|
|
290
|
+
int (*cols)()
|
|
291
|
+
int (*length)()
|
|
292
|
+
int (*resize)(size_t s)
|
|
293
|
+
int (*get "operator[]")(int i)
|
|
294
|
+
int row
|
|
295
|
+
int col
|
|
296
|
+
|
|
297
|
+
cdef cppclass bigintmat:
|
|
298
|
+
int (*length)()
|
|
299
|
+
number* (*get)(int i)
|
|
300
|
+
|
|
301
|
+
# omalloc bins
|
|
302
|
+
|
|
303
|
+
ctypedef struct omBin "omBin_s"
|
|
304
|
+
|
|
305
|
+
# pairs and polys for Groebner Strategy objects
|
|
306
|
+
|
|
307
|
+
ctypedef struct LObject:
|
|
308
|
+
pass
|
|
309
|
+
|
|
310
|
+
ctypedef struct TObject:
|
|
311
|
+
pass
|
|
312
|
+
|
|
313
|
+
# Groebner Strategy objects
|
|
314
|
+
|
|
315
|
+
ctypedef struct skStrategy:
|
|
316
|
+
int ak # free module rank
|
|
317
|
+
int sl # last index (inclusive)
|
|
318
|
+
int (*red)(LObject * L,skStrategy *strat)
|
|
319
|
+
void (*initEcart)(LObject *L)
|
|
320
|
+
int (*posInT)(TObject *T,int tl,LObject h) # return the required position in T
|
|
321
|
+
int (*posInL)(LObject *set, int length, LObject* L, skStrategy *strat) # return the required position in L
|
|
322
|
+
void (*enterS)(LObject h, int pos, skStrategy *strat, int atR) # enter into S
|
|
323
|
+
void (*initEcartPair)(LObject * h, poly *f, poly *g, int ecartF, int ecartG)
|
|
324
|
+
int (*posInLOld)(LObject * Ls, int Ll, LObject* Lo, skStrategy *strat)
|
|
325
|
+
LObject P
|
|
326
|
+
ideal *Shdl
|
|
327
|
+
ideal *D
|
|
328
|
+
ideal *M
|
|
329
|
+
poly ** S
|
|
330
|
+
int * ecartS
|
|
331
|
+
int * lenS
|
|
332
|
+
int * fromQ
|
|
333
|
+
unsigned long* sevS
|
|
334
|
+
unsigned long* sevT
|
|
335
|
+
TObject *T
|
|
336
|
+
LObject *L
|
|
337
|
+
LObject *B
|
|
338
|
+
poly* kHEdge
|
|
339
|
+
poly* kNoether
|
|
340
|
+
poly* t_kHEdge
|
|
341
|
+
poly* kNoetherTail()
|
|
342
|
+
poly* t_kNoether
|
|
343
|
+
bint *NotUsedAxis
|
|
344
|
+
bint *pairtest
|
|
345
|
+
void *R
|
|
346
|
+
int *S_2_R
|
|
347
|
+
bint noTailReduction
|
|
348
|
+
|
|
349
|
+
ctypedef struct data_union:
|
|
350
|
+
ring *uring
|
|
351
|
+
|
|
352
|
+
# interpreter objects
|
|
353
|
+
|
|
354
|
+
ctypedef struct attr "sattr":
|
|
355
|
+
void (*Init)()
|
|
356
|
+
char * name
|
|
357
|
+
void * data
|
|
358
|
+
attr * next
|
|
359
|
+
int atyp # the type of the attribute, describes the data field
|
|
360
|
+
|
|
361
|
+
void (*Print)()
|
|
362
|
+
attr *(*Copy)() # copy all arguments
|
|
363
|
+
void *(*CopyA)()# copy the data of this attribute
|
|
364
|
+
attr *(*set)(char * s, void * data, int t)
|
|
365
|
+
attr *(*get)(char * s)
|
|
366
|
+
void (*kill)()
|
|
367
|
+
void (*killAll)()
|
|
368
|
+
|
|
369
|
+
ctypedef struct idhdl "idrec":
|
|
370
|
+
idhdl *next
|
|
371
|
+
char *id
|
|
372
|
+
int typ
|
|
373
|
+
short lev
|
|
374
|
+
short ref
|
|
375
|
+
data_union data
|
|
376
|
+
|
|
377
|
+
ctypedef struct leftv "sleftv":
|
|
378
|
+
leftv *next
|
|
379
|
+
char *id
|
|
380
|
+
void* data
|
|
381
|
+
# data is some union, so this might be very dangerous, but I am lazy now
|
|
382
|
+
attr *attribute
|
|
383
|
+
void (* Copy)(leftv*)
|
|
384
|
+
void (* Init)()
|
|
385
|
+
void (* CleanUp)(ring *r)
|
|
386
|
+
int rtyp
|
|
387
|
+
|
|
388
|
+
ctypedef struct package "ip_package":
|
|
389
|
+
int language
|
|
390
|
+
idhdl *idroot
|
|
391
|
+
|
|
392
|
+
#
|
|
393
|
+
# GLOBAL VARIABLES
|
|
394
|
+
#
|
|
395
|
+
|
|
396
|
+
# current ring
|
|
397
|
+
|
|
398
|
+
cdef ring *currRing
|
|
399
|
+
cdef ideal *currQuotient
|
|
400
|
+
# omalloc bin for numbers
|
|
401
|
+
|
|
402
|
+
cdef omBin *rnumber_bin
|
|
403
|
+
|
|
404
|
+
# omalloc bin for rings
|
|
405
|
+
|
|
406
|
+
cdef omBin *sip_sring_bin
|
|
407
|
+
|
|
408
|
+
# omalloc bin for lists
|
|
409
|
+
|
|
410
|
+
cdef omBin *slists_bin
|
|
411
|
+
|
|
412
|
+
# integer conversion constant
|
|
413
|
+
|
|
414
|
+
cdef long SR_INT
|
|
415
|
+
|
|
416
|
+
cdef package *basePack
|
|
417
|
+
cdef package *currPack
|
|
418
|
+
|
|
419
|
+
cdef idhdl *basePackHdl
|
|
420
|
+
cdef idhdl *currPackHdl
|
|
421
|
+
cdef idhdl *currRingHdl
|
|
422
|
+
|
|
423
|
+
cdef int errorreported
|
|
424
|
+
cdef int si_opt_2 # previously 'verbose'
|
|
425
|
+
cdef void * currentVoice
|
|
426
|
+
cdef int myynest
|
|
427
|
+
cdef int printlevel
|
|
428
|
+
|
|
429
|
+
ctypedef char * const_char_ptr "const char *"
|
|
430
|
+
cdef extern void (*WerrorS_callback)(const_char_ptr)
|
|
431
|
+
|
|
432
|
+
#
|
|
433
|
+
# FUNCTIONS
|
|
434
|
+
#
|
|
435
|
+
|
|
436
|
+
# singular init
|
|
437
|
+
|
|
438
|
+
int siInit(char *)
|
|
439
|
+
|
|
440
|
+
ctypedef short (*cfInitCharProc)(coeffs, void *)
|
|
441
|
+
|
|
442
|
+
n_coeffType nRegister(n_coeffType n, cfInitCharProc p)
|
|
443
|
+
|
|
444
|
+
# external resource init
|
|
445
|
+
|
|
446
|
+
void feInitResources(char *name)
|
|
447
|
+
|
|
448
|
+
# external resource query
|
|
449
|
+
|
|
450
|
+
char* feGetResource(const char id)
|
|
451
|
+
|
|
452
|
+
void *omAlloc(size_t size)
|
|
453
|
+
|
|
454
|
+
# calloc
|
|
455
|
+
|
|
456
|
+
void *omAlloc0(size_t size)
|
|
457
|
+
|
|
458
|
+
# typed malloc from bin
|
|
459
|
+
|
|
460
|
+
void *omAllocBin(omBin *bin)
|
|
461
|
+
void omFreeBin(void* foo, void* bin)
|
|
462
|
+
|
|
463
|
+
# typed calloc from bin
|
|
464
|
+
|
|
465
|
+
void *omAlloc0Bin(omBin *bin)
|
|
466
|
+
|
|
467
|
+
# strdup
|
|
468
|
+
|
|
469
|
+
char *omStrDup(char *)
|
|
470
|
+
|
|
471
|
+
# free
|
|
472
|
+
|
|
473
|
+
void omFree(void *)
|
|
474
|
+
|
|
475
|
+
void omfree(void *)
|
|
476
|
+
|
|
477
|
+
# construct ring with characteristic, number of vars and names
|
|
478
|
+
|
|
479
|
+
ring *rDefault(int char , int nvars, char **names)
|
|
480
|
+
ring *rDefault(const n_Procs_s* cf, int nvars, char **names)
|
|
481
|
+
ring *rDefault(int ch , int nvars, char **names,int ord_size, rRingOrder_t *ord, int *block0, int *block1, int **wvhdl)
|
|
482
|
+
ring *rDefault(const n_Procs_s* cf, int nvars, char **names,int ord_size, rRingOrder_t *ord, int *block0, int *block1, int **wvhdl)
|
|
483
|
+
|
|
484
|
+
# see coeffs.h
|
|
485
|
+
ctypedef struct GFInfo:
|
|
486
|
+
int GFChar
|
|
487
|
+
int GFDegree
|
|
488
|
+
const char* GFPar_name
|
|
489
|
+
|
|
490
|
+
# parameter is pointer to gGFInfo
|
|
491
|
+
#
|
|
492
|
+
n_Procs_s* nInitChar(n_coeffType t, void * parameter)
|
|
493
|
+
|
|
494
|
+
# ring destructor
|
|
495
|
+
|
|
496
|
+
void rDelete(ring *r)
|
|
497
|
+
|
|
498
|
+
# return characteristic of r
|
|
499
|
+
|
|
500
|
+
int rChar(ring *r)
|
|
501
|
+
|
|
502
|
+
# return name of the i-th variable of ring r
|
|
503
|
+
|
|
504
|
+
char* rRingVar(short i, ring *r)
|
|
505
|
+
|
|
506
|
+
# before changing a ring struct, call this
|
|
507
|
+
|
|
508
|
+
void rUnComplete(ring *r)
|
|
509
|
+
|
|
510
|
+
# after changing a ring struct, call this, computes internal
|
|
511
|
+
# representation for monomials etc.
|
|
512
|
+
void rComplete(ring *r, int force)
|
|
513
|
+
|
|
514
|
+
# deep copy of ring
|
|
515
|
+
|
|
516
|
+
ring *rCopy0(ring *)
|
|
517
|
+
|
|
518
|
+
# change current ring to r
|
|
519
|
+
|
|
520
|
+
void rChangeCurrRing(ring *r)
|
|
521
|
+
|
|
522
|
+
# return True if ring has components
|
|
523
|
+
|
|
524
|
+
int rRing_has_Comp(ring *r)
|
|
525
|
+
|
|
526
|
+
int rHasGlobalOrdering(ring *r)
|
|
527
|
+
int rHasLocalOrMixedOrdering(ring *r)
|
|
528
|
+
|
|
529
|
+
# return new empty monomial
|
|
530
|
+
|
|
531
|
+
poly *p_Init(ring *r)
|
|
532
|
+
|
|
533
|
+
# Returns new monomial with exp vector copied from Lm(p)
|
|
534
|
+
poly *p_LmInit(poly *p, ring *r)
|
|
535
|
+
|
|
536
|
+
# return constant polynomial from int
|
|
537
|
+
|
|
538
|
+
poly *p_ISet(int i, ring *r)
|
|
539
|
+
|
|
540
|
+
# return constant polynomial from number
|
|
541
|
+
|
|
542
|
+
poly *p_NSet(number *n,ring *r)
|
|
543
|
+
|
|
544
|
+
# destructor for polynomials
|
|
545
|
+
|
|
546
|
+
void p_Delete(poly **p, ring *r)
|
|
547
|
+
|
|
548
|
+
# set the coefficient n for the current list element p in r
|
|
549
|
+
|
|
550
|
+
int p_SetCoeff(poly *p, number *n, ring *r)
|
|
551
|
+
|
|
552
|
+
# set the coefficient n for the current list element p in r
|
|
553
|
+
# without deleting the current coefficient first
|
|
554
|
+
|
|
555
|
+
int p_SetCoeff0(poly *p, number *n, ring *r)
|
|
556
|
+
|
|
557
|
+
# get the coefficient of the current list element p in r
|
|
558
|
+
|
|
559
|
+
number *p_GetCoeff(poly *p, ring *r)
|
|
560
|
+
|
|
561
|
+
# get the module component
|
|
562
|
+
int p_GetComp(poly *p, ring *r)
|
|
563
|
+
|
|
564
|
+
# set the module component
|
|
565
|
+
void p_SetComp(poly *p, int v, ring *r)
|
|
566
|
+
|
|
567
|
+
# set the exponent e at index v for the monomial p, v starts at 1
|
|
568
|
+
|
|
569
|
+
int p_SetExp(poly *p, int v, int e, ring *r)
|
|
570
|
+
|
|
571
|
+
# get the exponent at index v of the monomial p in r, v starts at 1
|
|
572
|
+
|
|
573
|
+
int p_GetExp(poly *p, int v, ring *r)
|
|
574
|
+
|
|
575
|
+
# get the maximal exponent in p
|
|
576
|
+
|
|
577
|
+
unsigned long p_GetMaxExp(poly *p, ring *r)
|
|
578
|
+
|
|
579
|
+
# if SetExp is called on p, p_Setm needs to be called afterwards to finalize the change.
|
|
580
|
+
|
|
581
|
+
void p_Setm(poly *p, ring *r)
|
|
582
|
+
|
|
583
|
+
# gets a component out of a polynomial vector
|
|
584
|
+
|
|
585
|
+
poly *pTakeOutComp(poly **, int)
|
|
586
|
+
|
|
587
|
+
# deep copy p
|
|
588
|
+
|
|
589
|
+
poly *p_Copy(poly *p, ring *r)
|
|
590
|
+
|
|
591
|
+
# homogenizes p by multiplying certain powers of the varnum-th variable
|
|
592
|
+
|
|
593
|
+
poly *p_Homogen (poly *p, int varnum, ring *r)
|
|
594
|
+
|
|
595
|
+
# return whether a polynomial is homogeneous
|
|
596
|
+
|
|
597
|
+
int p_IsHomogeneous(poly *p, const ring *r)
|
|
598
|
+
|
|
599
|
+
# return string representation of p
|
|
600
|
+
|
|
601
|
+
char *p_String(poly *p, ring *r, ring *r)
|
|
602
|
+
|
|
603
|
+
# normalize p, needed e.g. for polynomials over the rationals
|
|
604
|
+
|
|
605
|
+
void p_Normalize(poly *p, ring *r)
|
|
606
|
+
|
|
607
|
+
# makes it so that leading coefficient == 1
|
|
608
|
+
void pNorm(poly *p)
|
|
609
|
+
|
|
610
|
+
# return -p, p is destroyed
|
|
611
|
+
|
|
612
|
+
poly *p_Neg(poly *p, ring *r)
|
|
613
|
+
|
|
614
|
+
# return p*n, p is const (i.e. copied)
|
|
615
|
+
|
|
616
|
+
poly *pp_Mult_nn(poly *p, number *n, ring *r)
|
|
617
|
+
|
|
618
|
+
# return p*m, does neither destroy p nor m
|
|
619
|
+
|
|
620
|
+
poly *pp_Mult_mm(poly *p, poly *m, ring *r)
|
|
621
|
+
|
|
622
|
+
# return p+q, destroys p and q
|
|
623
|
+
|
|
624
|
+
poly *p_Add_q(poly *p, poly *q, ring *r)
|
|
625
|
+
|
|
626
|
+
# return p - m*q, destroys p; const: q,m
|
|
627
|
+
|
|
628
|
+
poly *p_Minus_mm_Mult_qq(poly *p, poly *m, poly *q, ring *r)
|
|
629
|
+
|
|
630
|
+
# return p + m*q destroys p, const: q, m
|
|
631
|
+
|
|
632
|
+
poly *p_Plus_mm_Mult_qq(poly *p, poly *m, poly *q, ring *r)
|
|
633
|
+
|
|
634
|
+
# return p*q, does neither destroy p nor q
|
|
635
|
+
poly *pp_Mult_qq(poly *p, poly *q, ring *r)
|
|
636
|
+
|
|
637
|
+
# return p*q, destroys p and q
|
|
638
|
+
poly *p_Mult_q(poly *p, poly *q, ring *r)
|
|
639
|
+
|
|
640
|
+
# polynomial division, ignoring the remainder
|
|
641
|
+
# via singclap_pdivide resp. idLift, destroys p,q
|
|
642
|
+
poly *p_Divide(poly *p, poly *q, ring *r)
|
|
643
|
+
|
|
644
|
+
# divide monomial p by monomial q, p,q const
|
|
645
|
+
|
|
646
|
+
poly *pMDivide(poly *p,poly *q)
|
|
647
|
+
poly *p_MDivide(poly *p, poly *q, ring *r)
|
|
648
|
+
|
|
649
|
+
# return the i-th power of p; p destroyed, requires global ring
|
|
650
|
+
|
|
651
|
+
poly *pPower(poly *p, int exp)
|
|
652
|
+
|
|
653
|
+
# return new copy of lm(p), coefficient copied, next=NULL, p may be NULL
|
|
654
|
+
|
|
655
|
+
poly *p_Head(poly *p, ring *r)
|
|
656
|
+
|
|
657
|
+
# return TRUE, if leading monom of a divides leading monom of b
|
|
658
|
+
# i.e., if there exists a expvector c > 0, s.t. b = a + c
|
|
659
|
+
|
|
660
|
+
int p_DivisibleBy(poly *a, poly *b, ring *r)
|
|
661
|
+
|
|
662
|
+
# like pDivisibleBy, except that it is assumed that a!=NULL, b!=NULL
|
|
663
|
+
|
|
664
|
+
int p_LmDivisibleBy(poly *a, poly *b, ring *r)
|
|
665
|
+
|
|
666
|
+
# least common multiplies for monomials only, result is written to m
|
|
667
|
+
# p_Setm must be called on m afterwards.
|
|
668
|
+
|
|
669
|
+
void pLcm(poly *a, poly *b, poly *m)
|
|
670
|
+
|
|
671
|
+
# total degree of p
|
|
672
|
+
|
|
673
|
+
long p_Totaldegree(poly *p, ring *r)
|
|
674
|
+
|
|
675
|
+
long pLDeg1_Totaldegree(poly * p,int *l, ring * r)
|
|
676
|
+
|
|
677
|
+
# iterate through the monomials of p
|
|
678
|
+
|
|
679
|
+
poly *pNext(poly *p)
|
|
680
|
+
|
|
681
|
+
# Returns the number of monomials in the poly
|
|
682
|
+
int pLength(poly *a)
|
|
683
|
+
|
|
684
|
+
# compare l and r
|
|
685
|
+
|
|
686
|
+
int p_Cmp(poly *l, poly *r, ring *r)
|
|
687
|
+
|
|
688
|
+
# compare exponent vectors only
|
|
689
|
+
|
|
690
|
+
int p_ExpVectorEqual(poly *p, poly *m, ring *r)
|
|
691
|
+
|
|
692
|
+
# TRUE if poly is constant
|
|
693
|
+
|
|
694
|
+
int p_IsConstant(poly *, ring *)
|
|
695
|
+
|
|
696
|
+
# like p_IsConstant but p must be !=NULL
|
|
697
|
+
|
|
698
|
+
int p_LmIsConstant(poly *p, ring *)
|
|
699
|
+
|
|
700
|
+
# TRUE if poly is unit
|
|
701
|
+
|
|
702
|
+
int p_IsUnit(poly *p, ring *r)
|
|
703
|
+
|
|
704
|
+
# TRUE if poly is one
|
|
705
|
+
|
|
706
|
+
bint p_IsOne(const poly *p, const ring *r)
|
|
707
|
+
|
|
708
|
+
# substitute monomial for variable given by varidx in poly
|
|
709
|
+
|
|
710
|
+
poly *pSubst(poly *p, int varidx, poly *value)
|
|
711
|
+
|
|
712
|
+
# inverse of poly, if possible
|
|
713
|
+
|
|
714
|
+
poly *p_Series(int n, poly *, poly *, intvec *, ring *r)
|
|
715
|
+
|
|
716
|
+
# gcd of f and g
|
|
717
|
+
|
|
718
|
+
poly *singclap_gcd ( poly *f, poly *g, ring * r )
|
|
719
|
+
|
|
720
|
+
# resultant of f and g in x
|
|
721
|
+
|
|
722
|
+
poly *singclap_resultant ( poly *f, poly *g , poly *x, ring * r)
|
|
723
|
+
|
|
724
|
+
# extended gcd of f and g
|
|
725
|
+
|
|
726
|
+
int singclap_extgcd( poly *f, poly *g, poly *res, poly *pa, poly *pb, ring * r )
|
|
727
|
+
|
|
728
|
+
# full polynomial division (as opposed to monomial division)
|
|
729
|
+
|
|
730
|
+
poly *singclap_pdivide ( poly *f, poly *g, ring * r )
|
|
731
|
+
|
|
732
|
+
# factorization
|
|
733
|
+
|
|
734
|
+
ideal *singclap_factorize ( poly *f, intvec ** v , int with_exps, ring * r)
|
|
735
|
+
|
|
736
|
+
# return determinant of i
|
|
737
|
+
poly *singclap_det(matrix *i, ring * r)
|
|
738
|
+
|
|
739
|
+
# normal form calculation of p with respect to i, q is quotient
|
|
740
|
+
# ring.
|
|
741
|
+
|
|
742
|
+
poly *kNF(ideal *i, ideal *q, poly *p)
|
|
743
|
+
poly *kNF(ideal *i, ideal *q, poly *p, int syzComp, int lazyReduce)
|
|
744
|
+
|
|
745
|
+
# derive p with respect to i-th variable
|
|
746
|
+
|
|
747
|
+
poly *pDiff(poly *p, int i)
|
|
748
|
+
|
|
749
|
+
# TRUE if p is a vector
|
|
750
|
+
|
|
751
|
+
int pIsVector(poly *p)
|
|
752
|
+
|
|
753
|
+
# return current component level
|
|
754
|
+
|
|
755
|
+
int pGetComp(poly *p)
|
|
756
|
+
|
|
757
|
+
# general number constructor
|
|
758
|
+
|
|
759
|
+
number *n_Init(int n, n_Procs_s *cf)
|
|
760
|
+
|
|
761
|
+
# general number destructor
|
|
762
|
+
|
|
763
|
+
void n_Delete(number **n, n_Procs_s *cf)
|
|
764
|
+
|
|
765
|
+
# Copy this number
|
|
766
|
+
number *n_Copy(number *n, n_Procs_s *cf)
|
|
767
|
+
|
|
768
|
+
# Invert this number
|
|
769
|
+
int n_IsUnit(number *n, const n_Procs_s *cf)
|
|
770
|
+
number *n_Invers(number *n, const n_Procs_s *cf)
|
|
771
|
+
|
|
772
|
+
# Characteristic of coefficient domain
|
|
773
|
+
int n_GetChar(const n_Procs_s *cf)
|
|
774
|
+
|
|
775
|
+
# rational number from int
|
|
776
|
+
|
|
777
|
+
number *nlInit(int)
|
|
778
|
+
|
|
779
|
+
# rational number from int
|
|
780
|
+
|
|
781
|
+
number *nlRInit(int)
|
|
782
|
+
|
|
783
|
+
# rational number from numerator and denominator
|
|
784
|
+
|
|
785
|
+
number *nlInit2(int i, int j,const n_Procs_s* cf)
|
|
786
|
+
|
|
787
|
+
# simplify rational number (cancel common factors)
|
|
788
|
+
|
|
789
|
+
number *nlNormalize(number *)
|
|
790
|
+
|
|
791
|
+
# copy a number
|
|
792
|
+
|
|
793
|
+
number *nlCopy(number *)
|
|
794
|
+
|
|
795
|
+
# number to integer handle
|
|
796
|
+
|
|
797
|
+
long SR_TO_INT(number *)
|
|
798
|
+
|
|
799
|
+
# mpz_t to integer handle
|
|
800
|
+
|
|
801
|
+
long SR_HDL(number *)
|
|
802
|
+
|
|
803
|
+
# get C int from ZmodN
|
|
804
|
+
int nrnInt(number *v)
|
|
805
|
+
|
|
806
|
+
# ideal constructor
|
|
807
|
+
|
|
808
|
+
ideal *idInit(int size, int rank)
|
|
809
|
+
|
|
810
|
+
# ideal destructor
|
|
811
|
+
|
|
812
|
+
void id_Delete(ideal **, ring *)
|
|
813
|
+
|
|
814
|
+
# lifting
|
|
815
|
+
|
|
816
|
+
ideal *idLift(ideal *mod, ideal *submod, ideal **rest, int goodShape, int isSB, int divide)
|
|
817
|
+
|
|
818
|
+
# number of generators of ideal
|
|
819
|
+
|
|
820
|
+
int IDELEMS(ideal *i)
|
|
821
|
+
|
|
822
|
+
# remove zero entries
|
|
823
|
+
|
|
824
|
+
void idSkipZeroes (ideal *ide)
|
|
825
|
+
|
|
826
|
+
# rank of free module for m
|
|
827
|
+
|
|
828
|
+
long id_RankFreeModule(ideal *m, ring *r)
|
|
829
|
+
|
|
830
|
+
# buchberger's algorithm
|
|
831
|
+
|
|
832
|
+
ideal *kStd(ideal *i, ideal *q, tHomog h, intvec *w)
|
|
833
|
+
|
|
834
|
+
# slimgb algorithm
|
|
835
|
+
|
|
836
|
+
ideal *t_rep_gb(ring *r,ideal *arg_I, int syz_comp, int F4_mode)
|
|
837
|
+
|
|
838
|
+
# interreduction
|
|
839
|
+
|
|
840
|
+
ideal *kInterRed(ideal *i, ideal *q)
|
|
841
|
+
|
|
842
|
+
# TRUE if ideal is module
|
|
843
|
+
|
|
844
|
+
int idIsModule(ideal *m, ring *r)
|
|
845
|
+
|
|
846
|
+
# convert module to matrix
|
|
847
|
+
|
|
848
|
+
matrix *idModule2Matrix(ideal *i)
|
|
849
|
+
|
|
850
|
+
# convert matrix to module
|
|
851
|
+
|
|
852
|
+
ideal * idMatrix2Module(matrix *m)
|
|
853
|
+
|
|
854
|
+
# dense matrix constructor
|
|
855
|
+
|
|
856
|
+
matrix *mpNew(int i, int j)
|
|
857
|
+
|
|
858
|
+
# gauss-bareiss algorithm
|
|
859
|
+
|
|
860
|
+
void smCallBareiss(ideal *, int, int, ideal *, intvec**)
|
|
861
|
+
|
|
862
|
+
# determinant
|
|
863
|
+
poly *smCallDet(ideal *)
|
|
864
|
+
|
|
865
|
+
# check which det algorithm to choose
|
|
866
|
+
int smCheckDet(ideal *, int, int)
|
|
867
|
+
|
|
868
|
+
# get element at row i and column j
|
|
869
|
+
|
|
870
|
+
poly *MATELEM(matrix *, int i, int j)
|
|
871
|
+
|
|
872
|
+
# number columns of matrix
|
|
873
|
+
|
|
874
|
+
int MATCOLS(matrix *)
|
|
875
|
+
|
|
876
|
+
# number for rows of matrix
|
|
877
|
+
|
|
878
|
+
int MATROWS(matrix *)
|
|
879
|
+
|
|
880
|
+
# Groebner Strategy functions
|
|
881
|
+
|
|
882
|
+
void initBuchMoraCrit(skStrategy *strat)
|
|
883
|
+
void initEcartNormal (LObject* h)
|
|
884
|
+
void initEcartBBA (LObject* h)
|
|
885
|
+
void initEcartPairBba (LObject* Lp,poly *f,poly *g,int ecartF,int ecartG)
|
|
886
|
+
|
|
887
|
+
# init strat with F and Q
|
|
888
|
+
void initS (ideal *F, ideal *Q,skStrategy *strat)
|
|
889
|
+
|
|
890
|
+
void enterL (LObject *set,int *length, int *LSetmax, LObject p,int at)
|
|
891
|
+
void enterSBba (LObject p,int atS,skStrategy *strat, int atR)
|
|
892
|
+
|
|
893
|
+
skStrategy * new_skStrategy "new skStrategy"()
|
|
894
|
+
void * delete_skStrategy "delete "(skStrategy *doomed) # needs currRing
|
|
895
|
+
|
|
896
|
+
# test validity of strat
|
|
897
|
+
void kTest(skStrategy *strat)
|
|
898
|
+
|
|
899
|
+
# head reduction
|
|
900
|
+
poly *redNF(poly *p, int index, int nonorm, skStrategy *strat)
|
|
901
|
+
# tail reduction
|
|
902
|
+
poly *redtailBba(poly *p, int index, skStrategy *strat)
|
|
903
|
+
|
|
904
|
+
cdef int CMD_1
|
|
905
|
+
cdef int CMD_2
|
|
906
|
+
cdef int CMD_12
|
|
907
|
+
cdef int CMD_3
|
|
908
|
+
cdef int CMD_13
|
|
909
|
+
cdef int CMD_23
|
|
910
|
+
cdef int CMD_123
|
|
911
|
+
cdef int CMD_M
|
|
912
|
+
cdef int ROOT_DECL
|
|
913
|
+
cdef int ROOT_DECL_LIST
|
|
914
|
+
cdef int RING_DECL
|
|
915
|
+
cdef int RING_DECL_LIST
|
|
916
|
+
cdef int INT_CMD
|
|
917
|
+
cdef int INTMAT_CMD
|
|
918
|
+
cdef int POLY_CMD
|
|
919
|
+
cdef int PROC_CMD
|
|
920
|
+
cdef int RING_CMD
|
|
921
|
+
cdef int QRING_CMD
|
|
922
|
+
cdef int STRING_CMD
|
|
923
|
+
cdef int VECTOR_CMD
|
|
924
|
+
cdef int IDEAL_CMD
|
|
925
|
+
cdef int MODUL_CMD
|
|
926
|
+
cdef int NUMBER_CMD
|
|
927
|
+
cdef int MATRIX_CMD
|
|
928
|
+
cdef int LIST_CMD
|
|
929
|
+
cdef int INTVEC_CMD
|
|
930
|
+
cdef int BIGINTVEC_CMD
|
|
931
|
+
cdef int NONE
|
|
932
|
+
cdef int RESOLUTION_CMD
|
|
933
|
+
cdef int PACKAGE_CMD
|
|
934
|
+
|
|
935
|
+
cdef int V_SHOW_MEM
|
|
936
|
+
cdef int V_YACC
|
|
937
|
+
cdef int V_REDEFINE
|
|
938
|
+
cdef int V_READING
|
|
939
|
+
cdef int V_LOAD_LIB
|
|
940
|
+
cdef int V_DEBUG_LIB
|
|
941
|
+
cdef int V_LOAD_PROC
|
|
942
|
+
cdef int V_DEF_RES
|
|
943
|
+
cdef int V_SHOW_USE
|
|
944
|
+
cdef int V_IMAP
|
|
945
|
+
cdef int V_PROMPT
|
|
946
|
+
cdef int V_NSB
|
|
947
|
+
cdef int V_CONTENTSB
|
|
948
|
+
cdef int V_CANCELUNIT
|
|
949
|
+
cdef int V_DEG_STOP
|
|
950
|
+
|
|
951
|
+
#
|
|
952
|
+
# INTERPRETER
|
|
953
|
+
#
|
|
954
|
+
leftv iiRETURNEXPR
|
|
955
|
+
|
|
956
|
+
cdef omBin* sleftv_bin
|
|
957
|
+
|
|
958
|
+
int IsCmd(char *n, int tok)
|
|
959
|
+
|
|
960
|
+
idhdl* ggetid(char *n)
|
|
961
|
+
|
|
962
|
+
bint iiMake_proc(idhdl *pn, package *pack, leftv *sl)
|
|
963
|
+
|
|
964
|
+
bint iiExprArith1(leftv *res, leftv* a, int op)
|
|
965
|
+
bint iiExprArith2(leftv *res, leftv* a, int op, leftv *b, bint proc_call)
|
|
966
|
+
bint iiExprArith3(leftv *res, int op, leftv *a, leftv *b, leftv *c)
|
|
967
|
+
bint iiExprArithM(leftv *res, leftv* a, int op)
|
|
968
|
+
|
|
969
|
+
bint iiLibCmd(char *, bint autoexport, bint tellerror, bint force)
|
|
970
|
+
|
|
971
|
+
package *IDPACKAGE(idhdl *)
|
|
972
|
+
|
|
973
|
+
cdef idhdl *IDROOT
|
|
974
|
+
|
|
975
|
+
cdef idhdl *IDNEXT(idhdl *)
|
|
976
|
+
|
|
977
|
+
cdef int IDTYP(idhdl *)
|
|
978
|
+
|
|
979
|
+
idhdl *enterid(char * a, int lev, int t, idhdl** root, bint init)
|
|
980
|
+
|
|
981
|
+
void atSet(leftv *root, char * name, void * data, int typ)
|
|
982
|
+
void *atGet(leftv *root, char *name, int typ)
|
|
983
|
+
|
|
984
|
+
int hasFlag(leftv *A, int F)
|
|
985
|
+
void setFlag(leftv *A, int F)
|
|
986
|
+
void resetFlag(leftv *A, int F)
|
|
987
|
+
|
|
988
|
+
ctypedef number* (*nMapFunc)(number *c, const n_Procs_s* src, const n_Procs_s* dst)
|
|
989
|
+
|
|
990
|
+
cdef extern from "singular/coeffs/coeffs.h":
|
|
991
|
+
|
|
992
|
+
number *ndCopyMap(number *, const n_Procs_s* src,const n_Procs_s* dst)
|
|
993
|
+
|
|
994
|
+
cdef extern from "singular/coeffs/rmodulo2m.h":
|
|
995
|
+
|
|
996
|
+
#init 2^m from a long
|
|
997
|
+
number *nr2mMapZp(number *,const n_Procs_s* src,const n_Procs_s* dst)
|
|
998
|
+
|
|
999
|
+
cdef extern from "singular/kernel/maps/gen_maps.h":
|
|
1000
|
+
|
|
1001
|
+
# mapping from p in r1 by i2 to r2
|
|
1002
|
+
|
|
1003
|
+
poly *maMapPoly(poly *p, ring *r1, ideal *i2, ring *r2, const nMapFunc nMap)
|
|
1004
|
+
|
|
1005
|
+
cdef extern from "singular/kernel/maps/fast_maps.h":
|
|
1006
|
+
|
|
1007
|
+
# mapping from ideal i1 in r1 by i2 to r2
|
|
1008
|
+
|
|
1009
|
+
ideal *fast_map_common_subexp(ideal *i1, ring *r1, ideal *i2, ring *r2)
|
|
1010
|
+
|
|
1011
|
+
cdef extern from "singular/polys/ext_fields/algext.h":
|
|
1012
|
+
|
|
1013
|
+
naInitChar(n_Procs_s* cf, void * infoStruct)
|
|
1014
|
+
|
|
1015
|
+
nMapFunc naSetMap(const n_Procs_s* src, const n_Procs_s* dst)
|
|
1016
|
+
|
|
1017
|
+
cdef extern from "singular/coeffs/rmodulon.h":
|
|
1018
|
+
|
|
1019
|
+
# init ZmodN from GMP
|
|
1020
|
+
number *nrnMapGMP(number *v,const n_Procs_s* src,const n_Procs_s* dst)
|
|
1021
|
+
|
|
1022
|
+
nMapFunc nrnSetMap(const n_Procs_s* src,const n_Procs_s* dst)
|
|
1023
|
+
|
|
1024
|
+
cdef extern from "singular/coeffs/rmodulon.h":
|
|
1025
|
+
# see rmodulon.h
|
|
1026
|
+
|
|
1027
|
+
ctypedef struct ZnmInfo:
|
|
1028
|
+
mpz_ptr base
|
|
1029
|
+
unsigned long exp
|
|
1030
|
+
|
|
1031
|
+
cdef extern from "singular/coeffs/rintegers.h":
|
|
1032
|
+
|
|
1033
|
+
# init integer
|
|
1034
|
+
number *nrzInit(int i, const n_Procs_s* cf)
|
|
1035
|
+
|
|
1036
|
+
cdef extern from "singular/polys/weight.h":
|
|
1037
|
+
|
|
1038
|
+
double wFunctionalBuch(int *degw, int *lpol, int npol, double *rel, double wx, double wNsqr)
|
|
1039
|
+
|
|
1040
|
+
cdef extern from "singular/polys/prCopy.h":
|
|
1041
|
+
poly *prCopyR_NoSort(poly *p, ring *r, ring *dest_r)
|
|
1042
|
+
poly *prCopyR(poly *p, ring *r, ring *dest_r)
|
|
1043
|
+
|
|
1044
|
+
cdef int LANG_TOP
|
|
1045
|
+
|
|
1046
|
+
cdef extern from "singular/polys/sbuckets.h":
|
|
1047
|
+
#sBucket is actually a class, but we handle it opaquely, so we call it a "struct" here.
|
|
1048
|
+
ctypedef struct sBucket:
|
|
1049
|
+
pass
|
|
1050
|
+
|
|
1051
|
+
#create an sBucket
|
|
1052
|
+
sBucket *sBucketCreate(ring *r)
|
|
1053
|
+
|
|
1054
|
+
#destroy an sBucket (note: pointer to pointer)
|
|
1055
|
+
void sBucketDestroy(sBucket **bucket)
|
|
1056
|
+
|
|
1057
|
+
#merge contents of sBucket into polynomial and clear bucket
|
|
1058
|
+
#(use when monomials are distinct).
|
|
1059
|
+
#assumes length <= 0 || pLength(p) == length
|
|
1060
|
+
void sBucketClearMerge(sBucket *bucket, poly **p, int *length)
|
|
1061
|
+
|
|
1062
|
+
#add contents of sBucket into polynomial and clear bucket
|
|
1063
|
+
#(can handle repeated monomials)
|
|
1064
|
+
void sBucketClearAdd(sBucket *bucket, poly **p, int *length)
|
|
1065
|
+
|
|
1066
|
+
#inline versions that in addition clear the pointer bucket afterwards
|
|
1067
|
+
void sBucketDestroyMerge(sBucket *bucket, poly **p, int *length)
|
|
1068
|
+
void sBucketDestroyAdd(sBucket *bucket, poly *p, int *length)
|
|
1069
|
+
|
|
1070
|
+
#delete bucket constant and clear pointer
|
|
1071
|
+
void sBucketDeleteAndDestroy(sBucket **bucket_pt)
|
|
1072
|
+
|
|
1073
|
+
#merge p into bucket (distinct monomials assumed)
|
|
1074
|
+
#destroys poly in the process
|
|
1075
|
+
void sBucket_Merge_p(sBucket *bucket, poly *p, int lp)
|
|
1076
|
+
|
|
1077
|
+
#merge p into bucket (distinct monomials assumed)
|
|
1078
|
+
#destroys poly in the process
|
|
1079
|
+
void sBucket_Merge_m(sBucket *bucket, poly *p)
|
|
1080
|
+
|
|
1081
|
+
#adds p into bucket (distinct monomials assumed)
|
|
1082
|
+
#destroys poly in the process
|
|
1083
|
+
void sBucket_Add_p(sBucket *bucket, poly *p, int lp)
|
|
1084
|
+
|
|
1085
|
+
#adds p into bucket (distinct monomials assumed)
|
|
1086
|
+
#destroys poly in the process
|
|
1087
|
+
void sBucket_Add_m(sBucket *bucket, poly *p)
|
|
1088
|
+
|
|
1089
|
+
#sorts p with bucketSort: assumes all monomials of p are different
|
|
1090
|
+
poly *sBucketSortMerge(poly *p, const ring *r)
|
|
1091
|
+
|
|
1092
|
+
#sorts p with bucketSort: p may have equal monomials
|
|
1093
|
+
poly *sBucketSortAdd(poly *p, const ring *r)
|
|
1094
|
+
|
|
1095
|
+
cdef extern from "singular/polys/nc/nc.h":
|
|
1096
|
+
# Non-commutative functions
|
|
1097
|
+
ctypedef enum nc_type:
|
|
1098
|
+
nc_error
|
|
1099
|
+
nc_general
|
|
1100
|
+
nc_skew
|
|
1101
|
+
nc_comm
|
|
1102
|
+
nc_lie
|
|
1103
|
+
nc_undef
|
|
1104
|
+
nc_exterior
|
|
1105
|
+
|
|
1106
|
+
void ncRingType(ring *, nc_type)
|
|
1107
|
+
nc_type ncRingType_get "ncRingType" (ring *)
|
|
1108
|
+
int nc_CallPlural(matrix* CC, matrix* DD, poly* CN, poly* DN, ring* r)
|
|
1109
|
+
bint nc_SetupQuotient(ring *, ring *, bint)
|
|
1110
|
+
|
|
1111
|
+
cdef extern from "singular/coeffs/longrat.h":
|
|
1112
|
+
|
|
1113
|
+
# get numerator
|
|
1114
|
+
|
|
1115
|
+
number *nlGetNumerator(number *n, const n_Procs_s* cf)
|
|
1116
|
+
|
|
1117
|
+
# get denominator
|
|
1118
|
+
|
|
1119
|
+
number *nlGetDenom(number *n, const n_Procs_s* cf)
|
|
1120
|
+
|
|
1121
|
+
# rational number from numerator and denominator
|
|
1122
|
+
|
|
1123
|
+
number *nlInit2gmp(mpz_t n, mpz_t d,const n_Procs_s* cf)
|
|
1124
|
+
|
|
1125
|
+
# delete rational number
|
|
1126
|
+
|
|
1127
|
+
void nlDelete(number **n, const n_Procs_s* cf)
|
|
1128
|
+
|
|
1129
|
+
cdef extern from "singular/polys/nc/sca.h":
|
|
1130
|
+
void sca_p_ProcsSet(ring *, p_Procs_s *)
|
|
1131
|
+
void scaFirstAltVar(ring *, int)
|
|
1132
|
+
void scaLastAltVar(ring *, int)
|
|
1133
|
+
|
|
1134
|
+
cdef extern from "singular/polys/monomials/ring.h":
|
|
1135
|
+
bint rIsPluralRing(ring* r)
|
|
1136
|
+
void rPrint "rWrite"(ring* r)
|
|
1137
|
+
char* rOrderingString "rOrdStr"(ring* r)
|
|
1138
|
+
void pDebugPrint "p_DebugPrint" (poly*p, ring* r)
|
|
1139
|
+
|
|
1140
|
+
cdef extern from "singular/kernel/combinatorics/stairc.h":
|
|
1141
|
+
# Computes the monomial basis for R[x]/I
|
|
1142
|
+
ideal *scKBase(int deg, ideal *s, ideal *Q)
|
|
1143
|
+
|
|
1144
|
+
cdef extern from "singular/Singular/lists.h":
|
|
1145
|
+
ctypedef struct lists "slists":
|
|
1146
|
+
int nr
|
|
1147
|
+
leftv *m
|
|
1148
|
+
void (*Init)(int n)
|
|
1149
|
+
|
|
1150
|
+
cdef extern from "singular/kernel/GBEngine/kstd1.h":
|
|
1151
|
+
cdef extern int Kstd1_deg # degBound, default 0
|
|
1152
|
+
cdef extern int Kstd1_mu # multBound, default 0
|
|
1153
|
+
|
|
1154
|
+
cdef extern from "singular/kernel/ideals.h":
|
|
1155
|
+
ctypedef ideal * resolvente
|
|
1156
|
+
|
|
1157
|
+
cdef extern from "singular/kernel/GBEngine/syz.h":
|
|
1158
|
+
ctypedef struct syStrategy "ssyStrategy":
|
|
1159
|
+
resolvente fullres;
|
|
1160
|
+
resolvente minres;
|
|
1161
|
+
int length;
|
|
1162
|
+
int regularity;
|
|
1163
|
+
short list_length;
|
|
1164
|
+
short references
|
|
1165
|
+
|
|
1166
|
+
cdef extern from "singular/polys/ext_fields/transext.h":
|
|
1167
|
+
ctypedef struct TransExtInfo:
|
|
1168
|
+
ring * r
|