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,489 @@
|
|
|
1
|
+
/////////////////////////////////////////////////////////////////////////
|
|
2
|
+
version="version ratgb.lib 4.1.2.0 Feb_2019 "; // $Id: d08da5023b3c3624b824f306741705430851b97e $
|
|
3
|
+
category="Noncommutative";
|
|
4
|
+
info="
|
|
5
|
+
LIBRARY: ratgb.lib Groebner bases in Ore localizations of noncommutative G-algebras
|
|
6
|
+
AUTHOR: Viktor Levandovskyy, levandov@risc.uni-linz.ac.at
|
|
7
|
+
|
|
8
|
+
OVERVIEW:
|
|
9
|
+
Theory: Let A be an operator algebra with @code{R = K[x1,.,xN]} as subring.
|
|
10
|
+
The operators are usually denoted by @code{d1,..,dM}.
|
|
11
|
+
|
|
12
|
+
Assume, that A is a @code{G}-algebra, then the set @code{S=R-0} is multiplicatively
|
|
13
|
+
closed Ore set in A.
|
|
14
|
+
That is, for any s in S and a in A, there exist t in S and b in A, such that @code{sa=bt}.
|
|
15
|
+
In other words, one can transform any left fraction into a right fraction.
|
|
16
|
+
The algebra @code{A_S} is called an Ore localization of A with respect to S.
|
|
17
|
+
|
|
18
|
+
This library provides Groebner basis procedure for A_S, performing polynomial (that is
|
|
19
|
+
fraction-free) computations only. Note, that there is ongoing development of the
|
|
20
|
+
subsystem called Singular:Locapal, which will provide yet another approach to Groebner
|
|
21
|
+
bases over such Ore localizations.
|
|
22
|
+
|
|
23
|
+
Assumptions: in order to treat such localizations constructively, some care need to be taken.
|
|
24
|
+
We will assume that the variables @code{x1,...,xN} from above (which will become invertible
|
|
25
|
+
in the localization) come as the first block among the variables of the basering.
|
|
26
|
+
Moreover, the ordering on the basering must be an antiblock ordering, that is its
|
|
27
|
+
matrix form has the left upper @code{NxN} block zero. Here is a recipe to create such
|
|
28
|
+
an ordering easily: use 'a(w)' definitions of the ordering N times with intvecs @code{w_i}
|
|
29
|
+
of the following form: @code{w_i} has first N components zero. The rest entries need to
|
|
30
|
+
be positive and such, that @code{w1,..,wN} are linearly independent (see an example below).
|
|
31
|
+
|
|
32
|
+
Guide: with this library, it is possible
|
|
33
|
+
- to compute a Groebner basis of an ideal or a submodule in the 'rational'
|
|
34
|
+
Ore localization D = A_S
|
|
35
|
+
- to compute a dimension of associated graded submodule (called D-dimension)
|
|
36
|
+
- to compute a vector space dimension over Quot(R) of a submodule of
|
|
37
|
+
D-dimension 0 (so called D-finite submodule)
|
|
38
|
+
- to compute a basis over Quot(R) of a D-finite submodule
|
|
39
|
+
|
|
40
|
+
PROCEDURES:
|
|
41
|
+
ratstd(I, n); compute Groebner basis and dimensions in Ore localization of the basering
|
|
42
|
+
|
|
43
|
+
Support: SpezialForschungsBereich F1301 of the Austrian FWF and
|
|
44
|
+
Transnational Access Program of RISC Linz, Austria
|
|
45
|
+
|
|
46
|
+
SEE ALSO: jacobson_lib, olga_lib
|
|
47
|
+
";
|
|
48
|
+
|
|
49
|
+
LIB "polylib.lib";
|
|
50
|
+
LIB "dmodapp.lib"; // for Appel1, Appel2, Appel4
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
static proc rm_content_id(def J)
|
|
54
|
+
"USAGE: rm_content_id(I); I an ideal/module
|
|
55
|
+
RETURN: the same type as input
|
|
56
|
+
PURPOSE: remove the content of every generator of I
|
|
57
|
+
EXAMPLE: example rm_content_id; shows examples
|
|
58
|
+
"
|
|
59
|
+
{
|
|
60
|
+
def I = J;
|
|
61
|
+
int i;
|
|
62
|
+
int s = ncols(I);
|
|
63
|
+
for (i=1; i<=s; i++)
|
|
64
|
+
{
|
|
65
|
+
if (I[i]!=0)
|
|
66
|
+
{
|
|
67
|
+
I[i] = I[i]/content(I[i]);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return(I);
|
|
71
|
+
}
|
|
72
|
+
example
|
|
73
|
+
{
|
|
74
|
+
"EXAMPLE:"; echo = 2;
|
|
75
|
+
ring r = (0,k,n),(K,N),dp;
|
|
76
|
+
ideal I = n*((k+1)*K - (n-k)), k*((n-k+1)*N - (n+1));
|
|
77
|
+
I;
|
|
78
|
+
rm_content_id(I);
|
|
79
|
+
module M = I[1]*gen(1), I[2]*gen(2);
|
|
80
|
+
print(rm_content_id(M));
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
proc ratstd(def I, int is, list #)
|
|
84
|
+
"USAGE: ratstd(I, n [,eng]); I an ideal/module, n an integer, eng an optional integer
|
|
85
|
+
RETURN: ring
|
|
86
|
+
PURPOSE: compute the Groebner basis of I in the Ore localization of
|
|
87
|
+
the basering with respect to the subalgebra, generated by first n variables
|
|
88
|
+
ASSUME: the variables of basering are organized in two blocks and
|
|
89
|
+
- the first block of length @code{n} contains the elements with respect to which one localizes,
|
|
90
|
+
- the basering is equipped with anti-block ordering, giving block
|
|
91
|
+
dominance for the variables in the second block
|
|
92
|
+
NOTE: the output ring C is commutative. The ideal @code{rGBid} in C
|
|
93
|
+
represents the rational form of the output ideal @code{pGBid} in the basering.
|
|
94
|
+
- During the computation, the D-dimension of I, @code{Ratgb::Ddim} and the corresponding
|
|
95
|
+
dimension as K(x)-vector space of I (@code{Ratgb::KXdim}, if @code{Ratgb::Ddim}=0) are computed and exported.
|
|
96
|
+
- Setting optional integer eng to 1, std is taken as Groebner engine; default is slimgb.
|
|
97
|
+
DISPLAY: In order to see the steps of the computation, set printlevel to >=2
|
|
98
|
+
EXAMPLE: example ratstd; shows examples
|
|
99
|
+
"
|
|
100
|
+
{
|
|
101
|
+
// change dec 19: slimgb is default, dimensions are exported
|
|
102
|
+
int ppl = printlevel-voice+1;
|
|
103
|
+
int eng = 0;
|
|
104
|
+
// optional arguments
|
|
105
|
+
if (size(#)>0)
|
|
106
|
+
{
|
|
107
|
+
if (typeof(#[1]) == "int")
|
|
108
|
+
{
|
|
109
|
+
eng = int(#[1]);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
dbprint(ppl,"engine chosen to be");
|
|
114
|
+
dbprint(ppl,eng);
|
|
115
|
+
|
|
116
|
+
// 0. do the subst's /reformulations
|
|
117
|
+
// for the time being, ASSUME
|
|
118
|
+
// the ord. is an elim. ord. for D
|
|
119
|
+
// and the block of X's is on the left
|
|
120
|
+
// its length is 'is'
|
|
121
|
+
|
|
122
|
+
int i,j,k;
|
|
123
|
+
dbprint(ppl,"// -1- creating K(x)[D]");
|
|
124
|
+
|
|
125
|
+
// 1. create K(x)[D], commutative
|
|
126
|
+
def save = basering;
|
|
127
|
+
list L = ringlist(save);
|
|
128
|
+
list RL, tmp1,tmp2,tmp3,tmp4;
|
|
129
|
+
intvec iv;
|
|
130
|
+
// copy: field, enlarge it with Xs
|
|
131
|
+
|
|
132
|
+
if ( size(L[1]) == 0)
|
|
133
|
+
{
|
|
134
|
+
// i.e. the field with char only
|
|
135
|
+
tmp2[1] = L[1];
|
|
136
|
+
// tmp1 = L[2];
|
|
137
|
+
j = size(L[2]);
|
|
138
|
+
iv = 1;
|
|
139
|
+
for (i=1; i<=is; i++)
|
|
140
|
+
{
|
|
141
|
+
tmp1[i] = L[2][i];
|
|
142
|
+
iv = iv,1;
|
|
143
|
+
}
|
|
144
|
+
iv = iv[1..size(iv)-1]; //extra 1
|
|
145
|
+
tmp2[2] = tmp1;
|
|
146
|
+
tmp3[1] = "lp";
|
|
147
|
+
tmp3[2] = iv;
|
|
148
|
+
// tmp2[3] = 0;
|
|
149
|
+
tmp4[1] = tmp3;
|
|
150
|
+
tmp2[3] = tmp4;
|
|
151
|
+
//[1] = "lp";
|
|
152
|
+
// tmp2[3][2] = iv;
|
|
153
|
+
tmp2[4] = ideal(0);
|
|
154
|
+
RL[1] = tmp2;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
if ( size(L[1]) >0 )
|
|
158
|
+
{
|
|
159
|
+
// TODO!!!!!
|
|
160
|
+
tmp2[1] = L[1][1]; //char K
|
|
161
|
+
// there are parameters
|
|
162
|
+
// add to them X's, IGNORE alg.extension
|
|
163
|
+
// the ordering on pars
|
|
164
|
+
tmp1 = L[1][2]; // param names
|
|
165
|
+
j = size(tmp1);
|
|
166
|
+
iv = L[1][3][1][2];
|
|
167
|
+
for (i=1; i<=is; i++)
|
|
168
|
+
{
|
|
169
|
+
tmp1[j+i] = L[2][i];
|
|
170
|
+
iv = iv,1;
|
|
171
|
+
}
|
|
172
|
+
tmp2[2] = tmp1;
|
|
173
|
+
tmp2[3] = L[1][3];
|
|
174
|
+
tmp2[3][1][2] = iv;
|
|
175
|
+
tmp2[4] = ideal(0);
|
|
176
|
+
RL[1] = tmp2;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
// vars: leave only D's
|
|
180
|
+
kill tmp1; list tmp1;
|
|
181
|
+
// tmp1 = L[2];
|
|
182
|
+
for (i=is+1; i<= size(L[2]); i++)
|
|
183
|
+
{
|
|
184
|
+
tmp1[i-is] = L[2][i];
|
|
185
|
+
}
|
|
186
|
+
RL[2] = tmp1;
|
|
187
|
+
|
|
188
|
+
// old: assume the ordering is the block with (a(0:is),ORD)
|
|
189
|
+
// old :set up ORD as the ordering
|
|
190
|
+
// L; "RL:"; RL;
|
|
191
|
+
if (size(L[3]) != 3)
|
|
192
|
+
{
|
|
193
|
+
//"note: strange ordering";
|
|
194
|
+
// NEW assume: ordering is the antiblock with (a(0:is),a(*1),a(*), ORD)
|
|
195
|
+
// get the a() parts after is => they should form a complete D-ordering
|
|
196
|
+
list L3 = L[3]; list NL3; kill tmp3; list tmp3;
|
|
197
|
+
int @sl = size(L3);
|
|
198
|
+
int w=1; int z; intvec va,vb;
|
|
199
|
+
while(L3[w][1] == "a")
|
|
200
|
+
{
|
|
201
|
+
va = L3[w][2];
|
|
202
|
+
for(z=1;z<=nvars(save)-is;z++)
|
|
203
|
+
{
|
|
204
|
+
vb[z] = va[is+z];
|
|
205
|
+
}
|
|
206
|
+
tmp3[1] = "a";
|
|
207
|
+
tmp3[2] = vb;
|
|
208
|
+
NL3[w] = tmp3; tmp3=0;
|
|
209
|
+
w++;
|
|
210
|
+
}
|
|
211
|
+
// check for completeness: must be >= nvars(save)-is rows
|
|
212
|
+
if (w < nvars(save)-is)
|
|
213
|
+
{
|
|
214
|
+
"note: ordering is incomplete on D. Adding lower Dp block";
|
|
215
|
+
// adding: positive things like Dp
|
|
216
|
+
tmp3[1]= "Dp";
|
|
217
|
+
for (z=1; z<=nvars(save)-is; z++)
|
|
218
|
+
{
|
|
219
|
+
va[is+z] = 1;
|
|
220
|
+
}
|
|
221
|
+
tmp3[2] = va;
|
|
222
|
+
NL3[w] = tmp3; tmp3 = 0;
|
|
223
|
+
w++;
|
|
224
|
+
}
|
|
225
|
+
NL3[w] = L3[@sl]; // module ord?
|
|
226
|
+
RL[3] = NL3;
|
|
227
|
+
}
|
|
228
|
+
else
|
|
229
|
+
{
|
|
230
|
+
kill tmp2; list tmp2;
|
|
231
|
+
tmp2[1] = L[3][2];
|
|
232
|
+
tmp2[2] = L[3][3];
|
|
233
|
+
RL[3] = tmp2;
|
|
234
|
+
}
|
|
235
|
+
// factor ideal is ignored
|
|
236
|
+
RL[4] = ideal(0);
|
|
237
|
+
|
|
238
|
+
// "ringlist:"; RL;
|
|
239
|
+
|
|
240
|
+
def @RAT = ring(RL);
|
|
241
|
+
|
|
242
|
+
dbprint(ppl,"// -2- preprocessing with content");
|
|
243
|
+
// 2. preprocess input with rm_content_id
|
|
244
|
+
setring @RAT;
|
|
245
|
+
dbprint(ppl-1, @RAT);
|
|
246
|
+
// ideal CI = imap(save,I);
|
|
247
|
+
def CI = imap(save,I);
|
|
248
|
+
CI = rm_content_id(CI);
|
|
249
|
+
dbprint(ppl-1, CI);
|
|
250
|
+
|
|
251
|
+
dbprint(ppl,"// -3- running groebner");
|
|
252
|
+
// 3. compute G = GB(I) w.r.t. the elim. ord. for D
|
|
253
|
+
setring save;
|
|
254
|
+
// ideal CI = imap(@RAT,CI);
|
|
255
|
+
def CI = imap(@RAT,CI);
|
|
256
|
+
option(redSB);
|
|
257
|
+
option(redTail);
|
|
258
|
+
if (eng==1)
|
|
259
|
+
{
|
|
260
|
+
def G = groebner(CI);
|
|
261
|
+
}
|
|
262
|
+
else
|
|
263
|
+
{
|
|
264
|
+
def G = slimgb(CI);
|
|
265
|
+
}
|
|
266
|
+
G = simplify(G,2); // to be sure there are no 0's
|
|
267
|
+
dbprint(ppl-1, G);
|
|
268
|
+
|
|
269
|
+
dbprint(ppl,"// -4- postprocessing with content");
|
|
270
|
+
// 4. postprocess the output with 1) rm_content_id, 2) lm-minimization;
|
|
271
|
+
setring @RAT;
|
|
272
|
+
// ideal CG = imap(save,G);
|
|
273
|
+
def CG = imap(save,G);
|
|
274
|
+
CG = rm_content_id(CG);
|
|
275
|
+
CG = simplify(CG,2);
|
|
276
|
+
dbprint(ppl-1, CG);
|
|
277
|
+
|
|
278
|
+
// warning: a bugfarm! in this ring, the ordering might change!!! (see appelF4)
|
|
279
|
+
// so, simplify(32) should take place in the orig. ring! and NOT here
|
|
280
|
+
// CG = simplify(CG,2+32);
|
|
281
|
+
|
|
282
|
+
// 4b. create L(G) with X's as coeffs (for minimization)
|
|
283
|
+
setring save;
|
|
284
|
+
G = imap(@RAT,CG);
|
|
285
|
+
int sG = ncols(G);
|
|
286
|
+
// ideal LG;
|
|
287
|
+
def LG = G;
|
|
288
|
+
for (i=1; i<= sG; i++)
|
|
289
|
+
{
|
|
290
|
+
LG[i] = lead(G[i]);
|
|
291
|
+
}
|
|
292
|
+
// compute the D-dimension of the ideal in the ring @RAT
|
|
293
|
+
setring @RAT;
|
|
294
|
+
// ideal LG = imap(save,LG);
|
|
295
|
+
def LG = imap(save,LG);
|
|
296
|
+
// ideal LGG = groebner(LG); // cosmetics
|
|
297
|
+
def LGG = groebner(LG); // cosmetics
|
|
298
|
+
int d = dim(LGG);
|
|
299
|
+
int Ddim = d;
|
|
300
|
+
dbprint(ppl,"the D-dimension is "+string(d));
|
|
301
|
+
export Ddim;
|
|
302
|
+
int KXdim = -1;
|
|
303
|
+
if (d==0)
|
|
304
|
+
{
|
|
305
|
+
d = vdim(LGG);
|
|
306
|
+
KXdim = d;
|
|
307
|
+
dbprint(ppl,"the K-dimension is "+string(KXdim));
|
|
308
|
+
export KXdim;
|
|
309
|
+
}
|
|
310
|
+
// ideal SLG = simplify(LG,8+32); //contains zeros
|
|
311
|
+
def SLG = simplify(LG,8+32); //contains zeros
|
|
312
|
+
setring save;
|
|
313
|
+
// ideal SLG = imap(@RAT,SLG);
|
|
314
|
+
def SLG = imap(@RAT,SLG);
|
|
315
|
+
// simplify(LG,8+32); //contains zeros
|
|
316
|
+
intvec islg;
|
|
317
|
+
if (SLG[1] == 0)
|
|
318
|
+
{ islg = 0; }
|
|
319
|
+
else
|
|
320
|
+
{ islg = 1; }
|
|
321
|
+
for (i=2; i<= ncols(SLG); i++)
|
|
322
|
+
{
|
|
323
|
+
if (SLG[i] == 0)
|
|
324
|
+
{
|
|
325
|
+
islg = islg, 0;
|
|
326
|
+
}
|
|
327
|
+
else
|
|
328
|
+
{
|
|
329
|
+
islg = islg, 1;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
for (i=1; i<= ncols(LG); i++)
|
|
333
|
+
{
|
|
334
|
+
if (islg[i] == 0)
|
|
335
|
+
{
|
|
336
|
+
G[i] = 0;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
G = simplify(G,2); // ready!
|
|
340
|
+
// G = imap(@RAT,CG);
|
|
341
|
+
def pGBid = G;
|
|
342
|
+
export pGBid;
|
|
343
|
+
setring @RAT;
|
|
344
|
+
def rGBid = imap(save,G);
|
|
345
|
+
export rGBid;
|
|
346
|
+
setring save;
|
|
347
|
+
return(@RAT);
|
|
348
|
+
}
|
|
349
|
+
example
|
|
350
|
+
{
|
|
351
|
+
"EXAMPLE:"; echo = 2;
|
|
352
|
+
ring r = (0,c),(x,y,Dx,Dy),(a(0,0,1,1),a(0,0,1,0),dp);
|
|
353
|
+
// this ordering is an antiblock ordering, as it must be
|
|
354
|
+
def S = Weyl(); setring S;
|
|
355
|
+
// the ideal I below annihilates parametric Appel F4 function
|
|
356
|
+
// where we set parameters to a=-2, b=-1 and d=0
|
|
357
|
+
ideal I =
|
|
358
|
+
x*Dx*(x*Dx+c-1) - x*(x*Dx+y*Dy-2)*(x*Dx+y*Dy-1),
|
|
359
|
+
y*Dy*(y*Dy-1) - y*(x*Dx+y*Dy-2)*(x*Dx+y*Dy-1);
|
|
360
|
+
int is = 2; // hence 1st and 2nd variables, that is x and y
|
|
361
|
+
// will become invertible in the localization
|
|
362
|
+
def A = ratstd(I,2); // main call
|
|
363
|
+
pGBid; // polynomial form of the basis in the localized ring
|
|
364
|
+
setring A; // A is a commutative ring used for presentation
|
|
365
|
+
rGBid; // "rational" or "localized" form of the basis
|
|
366
|
+
Ratgb::Ddim; // the Krull-like dimension of A/I
|
|
367
|
+
Ratgb::KXdim; // the dimension of A/I as a left K(x,y)-vector space
|
|
368
|
+
//--- Now, let us compute a K(x,y) basis explicitly
|
|
369
|
+
print(matrix(kbase(rGBid)));
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
/*
|
|
373
|
+
oldExampleForDoc()
|
|
374
|
+
{
|
|
375
|
+
// VL: removed since it's too easy
|
|
376
|
+
ring r = 0,(k,n,K,N),(a(0,0,1,1),a(0,0,1,0),dp);
|
|
377
|
+
// note, that the ordering must be an antiblock ordering
|
|
378
|
+
matrix D[4][4]; D[1,3] = K; D[2,4] = N;
|
|
379
|
+
def S = nc_algebra(1,D);
|
|
380
|
+
setring S; // S is the 2nd shift algebra
|
|
381
|
+
ideal I = (k+1)*K - (n-k), (n-k+1)*N - (n+1);
|
|
382
|
+
int is = 2; // hence 1..2 variables will be treated as invertible
|
|
383
|
+
def A = ratstd(I,is);
|
|
384
|
+
pGBid; // polynomial form
|
|
385
|
+
setring A;
|
|
386
|
+
rGBid; // rational form
|
|
387
|
+
}
|
|
388
|
+
*/
|
|
389
|
+
|
|
390
|
+
/*
|
|
391
|
+
exParamAppelF4()
|
|
392
|
+
{
|
|
393
|
+
// Appel F4
|
|
394
|
+
LIB "ratgb.lib";
|
|
395
|
+
ring r = (0,a,b,c,d),(x,y,Dx,Dy),(a(0,0,1,1),a(0,0,1,0),dp);
|
|
396
|
+
matrix @D[4][4];
|
|
397
|
+
@D[1,3]=1; @D[2,4]=1;
|
|
398
|
+
def S=nc_algebra(1,@D);
|
|
399
|
+
setring S;
|
|
400
|
+
ideal I =
|
|
401
|
+
x*Dx*(x*Dx+c-1) - x*(x*Dx+y*Dy+a)*(x*Dx+y*Dy+b),
|
|
402
|
+
y*Dy*(y*Dy+d-1) - y*(x*Dx+y*Dy+a)*(x*Dx+y*Dy+b);
|
|
403
|
+
def A = ratstd(I,2);
|
|
404
|
+
pGBid; // polynomial form
|
|
405
|
+
setring A;
|
|
406
|
+
rGBid; // rational form
|
|
407
|
+
// hence, the K(x,y) basis is {1,Dx,Dy,Dy^2}
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
// more examples:
|
|
411
|
+
|
|
412
|
+
// F1 is hard
|
|
413
|
+
appel F1
|
|
414
|
+
{
|
|
415
|
+
LIB "dmodapp.lib";
|
|
416
|
+
LIB "ratgb.lib";
|
|
417
|
+
def A = appelF1();
|
|
418
|
+
setring A;
|
|
419
|
+
IAppel1;
|
|
420
|
+
def F1 = ratstd(IAppel1,2);
|
|
421
|
+
lead(pGBid);
|
|
422
|
+
setring F1; rGBid;
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
// F2 is much easier
|
|
426
|
+
appel F2
|
|
427
|
+
{
|
|
428
|
+
LIB "dmodapp.lib";
|
|
429
|
+
LIB "ratgb.lib";
|
|
430
|
+
def A = appelF2();
|
|
431
|
+
setring A;
|
|
432
|
+
IAppel2;
|
|
433
|
+
def F1 = ratstd(IAppel2,2);
|
|
434
|
+
lead(pGBid);
|
|
435
|
+
setring F1; rGBid;
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
// F4 is feasible
|
|
439
|
+
appel F4
|
|
440
|
+
{
|
|
441
|
+
LIB "dmodapp.lib";
|
|
442
|
+
LIB "ratgb.lib";
|
|
443
|
+
def A = appelF4();
|
|
444
|
+
setring A;
|
|
445
|
+
IAppel4;
|
|
446
|
+
def F1 = ratstd(IAppel4,2);
|
|
447
|
+
lead(pGBid);
|
|
448
|
+
setring F1; rGBid;
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
*/
|
|
453
|
+
|
|
454
|
+
// Important: example for treating modules
|
|
455
|
+
// take two annihilators in 2 components
|
|
456
|
+
|
|
457
|
+
/*
|
|
458
|
+
LIB "nctools.lib";
|
|
459
|
+
ring r = (0,c),(x,y,Dx,Dy),(a(0,0,1,1),a(0,0,1,0),dp);
|
|
460
|
+
// this ordering is an antiblock ordering, as it must be
|
|
461
|
+
def S = Weyl(); setring S;
|
|
462
|
+
// the ideal I below annihilates parametric Appel F4 function
|
|
463
|
+
// where we set parameters to a=-2, b=-1 and d=0
|
|
464
|
+
ideal I =
|
|
465
|
+
x*Dx*(x*Dx+c-1) - x*(x*Dx+y*Dy-2)*(x*Dx+y*Dy-1),
|
|
466
|
+
y*Dy*(y*Dy-1) - y*(x*Dx+y*Dy-2)*(x*Dx+y*Dy-1);
|
|
467
|
+
|
|
468
|
+
// the ideal J below annihilates parametric Appel F4 function
|
|
469
|
+
// where we set parameters to a=0, b=-1, c=0, d=0
|
|
470
|
+
|
|
471
|
+
ideal J =
|
|
472
|
+
x*Dx*(x*Dx-1) - x*(x*Dx+y*Dy)*(x*Dx+y*Dy-1),
|
|
473
|
+
y*Dy*(y*Dy-1) - y*(x*Dx+y*Dy)*(x*Dx+y*Dy-1);
|
|
474
|
+
|
|
475
|
+
module M = I*gen(1), J*gen(2);
|
|
476
|
+
|
|
477
|
+
// harder modification: M = M, Dx*gen(1) + Dy*gen(2);
|
|
478
|
+
// gives K(x,y)-dim 3
|
|
479
|
+
|
|
480
|
+
int is = 2; // hence 1st and 2nd variables, that is x and y
|
|
481
|
+
// will become invertible in the localization
|
|
482
|
+
def A = ratstd(M,2); // main call
|
|
483
|
+
pGBid; // polynomial form of the basis in the localized ring
|
|
484
|
+
setring A;
|
|
485
|
+
// we see from computations, that the K(x,y) dimension is 8
|
|
486
|
+
rGBid; // "rational" or "localized" form of the basis
|
|
487
|
+
print(matrix(kbase(rGBid)));// we see the K(x,y) basis of the corr. module
|
|
488
|
+
|
|
489
|
+
*/
|