passagemath-singular 10.6.31rc3__cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.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-aarch64-linux-gnu.so +0 -0
- passagemath_singular-10.6.31rc3.dist-info/METADATA +183 -0
- passagemath_singular-10.6.31rc3.dist-info/RECORD +490 -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-6a2a8666.4.1.so +0 -0
- passagemath_singular.libs/libcddgmp-ac579979.so.0.1.3 +0 -0
- passagemath_singular.libs/libfactory-4-66e33516.4.1.so +0 -0
- passagemath_singular.libs/libflint-81de1160.so.21.0.0 +0 -0
- passagemath_singular.libs/libgf2x-fbd36f80.so.3.0.0 +0 -0
- passagemath_singular.libs/libgfortran-e1b7dfc8.so.5.0.0 +0 -0
- passagemath_singular.libs/libgmp-93ebf16a.so.10.5.0 +0 -0
- passagemath_singular.libs/libgsl-e3525837.so.28.0.0 +0 -0
- passagemath_singular.libs/libmpfr-e0f11cf3.so.6.2.1 +0 -0
- passagemath_singular.libs/libntl-0043a3a2.so.44.0.1 +0 -0
- passagemath_singular.libs/libomalloc-0-06512335.9.6.so +0 -0
- passagemath_singular.libs/libopenblasp-r0-4c5b64b1.3.29.so +0 -0
- passagemath_singular.libs/libpolys-4-cb7246b5.4.1.so +0 -0
- passagemath_singular.libs/libreadline-28330744.so.8.2 +0 -0
- passagemath_singular.libs/libsingular_resources-4-8c425241.4.1.so +0 -0
- passagemath_singular.libs/libtinfo-f81c2d16.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-aarch64-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-aarch64-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-aarch64-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-aarch64-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-aarch64-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-aarch64-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-aarch64-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-aarch64-linux-gnu.so +0 -0
- sage/algebras/quatalg/quaternion_algebra_cython.pyx +261 -0
- sage/algebras/quatalg/quaternion_algebra_element.cpython-314-aarch64-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-aarch64-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-aarch64-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-aarch64-linux-gnu.so +0 -0
- sage/libs/singular/option.pyx +671 -0
- sage/libs/singular/polynomial.cpython-314-aarch64-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-aarch64-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-aarch64-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-aarch64-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-aarch64-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-aarch64-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-aarch64-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-aarch64-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-aarch64-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,507 @@
|
|
|
1
|
+
///////////////////////////////////////////////////////////////
|
|
2
|
+
version="version grwalk.lib 4.1.2.0 Feb_2019 "; // $Id: 9a55a7af0dba38e8c90979b6bd157a778dcc0a89 $
|
|
3
|
+
category="Commutative Algebra";
|
|
4
|
+
|
|
5
|
+
info="
|
|
6
|
+
LIBRARY: grwalk.lib Groebner Walk Conversion Algorithms
|
|
7
|
+
AUTHOR: I Made Sulandra
|
|
8
|
+
|
|
9
|
+
PROCEDURES:
|
|
10
|
+
fwalk(ideal[,intvec]); standard basis of ideal via fractalwalk alg
|
|
11
|
+
twalk(ideal[,intvec]); standard basis of ideal via Tran's alg
|
|
12
|
+
awalk1(ideal[,intvec]); standard basis of ideal via the first alt. alg
|
|
13
|
+
awalk2(ideal[,intvec]); standard basis of ideal via the second alt. alg
|
|
14
|
+
pwalk(ideal[,intvec]); standard basis of ideal via perturbation walk alg
|
|
15
|
+
gwalk(ideal[,intvec]); standard basis of ideal via groebnerwalk alg
|
|
16
|
+
|
|
17
|
+
KEYWORDS: walk, groebner;Groebnerwalk
|
|
18
|
+
ZSEE ALSO: rwalk_lib; swalk_lib
|
|
19
|
+
";
|
|
20
|
+
|
|
21
|
+
LIB "ring.lib";
|
|
22
|
+
|
|
23
|
+
//////////////////////////////////////////////////////////////////////////////
|
|
24
|
+
|
|
25
|
+
static proc OrderStringalp_NP(string Wpal,list #)
|
|
26
|
+
{
|
|
27
|
+
int n= nvars(basering);
|
|
28
|
+
string order_str = "dp";
|
|
29
|
+
|
|
30
|
+
int nP = 1;// in pwalk, call LastGB to compute the wanted GB
|
|
31
|
+
|
|
32
|
+
//Default:
|
|
33
|
+
// if size(#)=0, the Groebnerwalk algorithm and its developments compute
|
|
34
|
+
// a Groebner basis from "dp" to "lp"
|
|
35
|
+
|
|
36
|
+
intvec curr_weight = system("Mivdp",n); //define (1,1,...,1)
|
|
37
|
+
intvec target_weight = system("Mivlp",n); //define (1,0,...,0)
|
|
38
|
+
|
|
39
|
+
// check if the target ring has a weighted lp ordering
|
|
40
|
+
list rl = ringlist(basering);
|
|
41
|
+
if (rl[3][1][1] == "a" and rl[3][2][1] == "lp") {
|
|
42
|
+
target_weight = rl[3][1][2];
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if(size(#) != 0)
|
|
46
|
+
{
|
|
47
|
+
if(size(#) == 1)
|
|
48
|
+
{
|
|
49
|
+
if(typeof(#[1]) == "intvec") {
|
|
50
|
+
curr_weight = #[1];
|
|
51
|
+
|
|
52
|
+
if(Wpal == "al"){
|
|
53
|
+
order_str = "(a("+string(#[1])+"),lp("+string(n) + "),C)";
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
order_str = "(Wp("+string(#[1])+"),C)";
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
if(typeof(#[1]) == "int"){
|
|
61
|
+
nP = #[1];
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
if(typeof(#[1]) == "string")
|
|
65
|
+
{
|
|
66
|
+
if(#[1] == "Dp") {
|
|
67
|
+
order_str = "Dp";
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
order_str = "dp";
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
print("// ** the input must be \"(ideal, intvec)\" or ");
|
|
75
|
+
print("// ** \"(ideal, string)\" or ");
|
|
76
|
+
print("// ** \"(ideal, string,intvec)\" or ");
|
|
77
|
+
print("// ** \"(ideal, intvec,intvec)\".");
|
|
78
|
+
print("// ** a lex. GB will be computed from \"dp\" to \"lp\".");
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
if(size(#) == 2) {
|
|
85
|
+
if(typeof(#[1]) == "intvec" and typeof(#[2]) == "int") {
|
|
86
|
+
curr_weight = #[1];
|
|
87
|
+
order_str = "(Wp("+string(#[1])+"),C)";
|
|
88
|
+
if(Wpal == "al") {
|
|
89
|
+
order_str = "(a("+string(#[1])+"),lp("+string(n) + "),C)";
|
|
90
|
+
}
|
|
91
|
+
if(Wpal == "M") {
|
|
92
|
+
order_str = "(M("+string(#[1])+"),C)";
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
if(typeof(#[1]) == "intvec" and typeof(#[2]) == "intvec") {
|
|
97
|
+
curr_weight = #[1];
|
|
98
|
+
target_weight = #[2];
|
|
99
|
+
order_str = "(Wp("+string(#[1])+"),C)";
|
|
100
|
+
if(Wpal == "al") {
|
|
101
|
+
order_str = "(a("+string(#[1])+"),lp("+string(n) + "),C)";
|
|
102
|
+
}
|
|
103
|
+
if(Wpal == "M"){
|
|
104
|
+
order_str = "(M("+string(#[1])+"),C)";
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
if(typeof(#[1]) == "string" and typeof(#[2]) == "intvec") {
|
|
109
|
+
target_weight = #[2];
|
|
110
|
+
if(#[1] == "Dp") {
|
|
111
|
+
order_str = "Dp";
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
order_str = "dp";
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
print("// ** the input must be \"(ideal, intvec)\" or ");
|
|
119
|
+
print("// ** \"(ideal, string)\" or ");
|
|
120
|
+
print("// ** \"(ideal, string,intvec)\" or ");
|
|
121
|
+
print("// ** \"(ideal, intvec,intvec)\".");
|
|
122
|
+
print("// ** a lex. GB will be computed from \"dp\" to \"lp\".");
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
if(size(#) == 3) {
|
|
129
|
+
if(typeof(#[1]) == "intvec" and typeof(#[2]) == "intvec" and
|
|
130
|
+
typeof(#[3]) == "int") {
|
|
131
|
+
curr_weight = #[1];
|
|
132
|
+
target_weight = #[2];
|
|
133
|
+
nP = #[3];
|
|
134
|
+
order_str = "(Wp("+string(#[1])+"),C)";
|
|
135
|
+
if(Wpal == "al") {
|
|
136
|
+
order_str = "(a("+string(#[1])+"),lp("+string(n) + "),C)";
|
|
137
|
+
}
|
|
138
|
+
if(Wpal == "M") {
|
|
139
|
+
order_str = "(M("+string(#[1])+"),C)";
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
if(typeof(#[1]) == "string" and typeof(#[2]) == "intvec" and
|
|
144
|
+
typeof(#[3]) == "int") {
|
|
145
|
+
target_weight = #[2];
|
|
146
|
+
nP = #[3];
|
|
147
|
+
if(#[1] == "Dp") {
|
|
148
|
+
order_str = "Dp";
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
order_str = "dp";
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
print("// ** the input must be \"(ideal,intvec,intvec,int)\"");
|
|
156
|
+
print("// ** and a lex. GB will be computed from \"dp\" to \"lp\"");
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
print("// ** The given input is wrong");
|
|
162
|
+
print("// ** and a lex. GB will be computed from \"dp\" to \"lp\"");
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
list result;
|
|
169
|
+
result[1] = nP;
|
|
170
|
+
result[2] = order_str;
|
|
171
|
+
result[3] = curr_weight;
|
|
172
|
+
result[4] = target_weight;
|
|
173
|
+
return(result);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
/* 16 Mai 2003 */
|
|
180
|
+
proc awalk1(ideal G, list #)
|
|
181
|
+
"SYNTAX: awalk1(ideal i);
|
|
182
|
+
awalk1(ideal i, int n);
|
|
183
|
+
awalk1(ideal i, int n, intvec v, intvec w);
|
|
184
|
+
awalk1(ideal i, intvec v, intvec w);
|
|
185
|
+
TYPE: ideal
|
|
186
|
+
PURPOSE: compute the standard basis of the ideal, calculated via
|
|
187
|
+
the first alternative algorithm from an ordering
|
|
188
|
+
\"(a(v),lp)\", \"dp\" or \"Dp\" to the ordering
|
|
189
|
+
\"(a(w),lp)\" or \"(a(1,0,...,0),lp)\"
|
|
190
|
+
with a perturbation degree n for the weight vector w.
|
|
191
|
+
SEE ALSO: std, stdfglm, groebner, gwalk, pwalk, fwalk, twalk, awalk2
|
|
192
|
+
KEYWORDS: the first alternative algorithm
|
|
193
|
+
EXAMPLE: example awalk1; shows an example"
|
|
194
|
+
{
|
|
195
|
+
if (size(#) == 0)
|
|
196
|
+
{
|
|
197
|
+
return (awalk1_tmp(G, nvars(basering)-1));
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
if(typeof(#[1]) == "int")
|
|
201
|
+
{
|
|
202
|
+
return (awalk1_tmp(G, #[1]));
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
return (awalk1_tmp(G, nvars(basering)-1, #));
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
example
|
|
210
|
+
{
|
|
211
|
+
"EXAMPLE:"; echo = 2;
|
|
212
|
+
ring r = 32003,(z,y,x), lp;
|
|
213
|
+
ideal I = y3+xyz+y2z+xz3, 3+xy+x2y+y2z;
|
|
214
|
+
awalk1(I,3);
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
proc gwalk(ideal Go, list #)
|
|
218
|
+
"SYNTAX: gwalk(ideal i);
|
|
219
|
+
gwalk(ideal i, intvec v, intvec w);
|
|
220
|
+
TYPE: ideal
|
|
221
|
+
PURPOSE: compute the standard basis of the ideal, calculated via
|
|
222
|
+
the improved Groebner walk algorithm from the ordering
|
|
223
|
+
\"(a(v),lp)\", \"dp\" or \"Dp\"
|
|
224
|
+
to the ordering \"(a(w),lp)\" or \"(a(1,0,...,0),lp)\".
|
|
225
|
+
SEE ALSO: std, stdfglm, groebner, pwalk, fwalk, twalk, awalk1, awalk2
|
|
226
|
+
KEYWORDS: Groebner walk
|
|
227
|
+
EXAMPLE: example gwalk; shows an example"
|
|
228
|
+
{
|
|
229
|
+
|
|
230
|
+
/* we use ring with ordering (a(...),lp,C) */
|
|
231
|
+
list OSCTW = OrderStringalp_NP("al", #);
|
|
232
|
+
|
|
233
|
+
string ord_str = OSCTW[2];
|
|
234
|
+
intvec curr_weight = OSCTW[3]; /* original weight vector */
|
|
235
|
+
intvec target_weight = OSCTW[4]; /* target weight vector */
|
|
236
|
+
kill OSCTW;
|
|
237
|
+
option(redSB);
|
|
238
|
+
def xR = basering;
|
|
239
|
+
|
|
240
|
+
ring ostR = create_ring(ring_list(xR)[1],"("+varstr(xR)+")",ord_str,"no_minpoly");
|
|
241
|
+
def old_ring = basering;
|
|
242
|
+
|
|
243
|
+
//print("//** help ring = " + string(basering));
|
|
244
|
+
ideal G = fetch(xR, Go);
|
|
245
|
+
int reduction=1;
|
|
246
|
+
int printout=0;
|
|
247
|
+
G = system("Mwalk", G, curr_weight, target_weight,basering,reduction,printout);
|
|
248
|
+
|
|
249
|
+
setring xR;
|
|
250
|
+
//kill Go;
|
|
251
|
+
|
|
252
|
+
keepring basering;
|
|
253
|
+
ideal result = fetch(old_ring, G);
|
|
254
|
+
attrib(result,"isSB",1);
|
|
255
|
+
return (result);
|
|
256
|
+
}
|
|
257
|
+
example
|
|
258
|
+
{
|
|
259
|
+
"EXAMPLE:"; echo = 2;
|
|
260
|
+
//** compute a Groebner basis of I w.r.t. lp.
|
|
261
|
+
ring r = 32003,(z,y,x), lp;
|
|
262
|
+
ideal I = zy2+yx2+yx+3,
|
|
263
|
+
z3x+y3+zyx-yx2-yx-3,
|
|
264
|
+
z2yx3-y5+z2yx2+y3x2+y2x3+y3x+y2x2+3z2x+3y2+3yx,
|
|
265
|
+
zyx5+y6-y4x2-y3x3+2zyx4-y4x-y3x2+zyx3-3z2yx+3zx3-3y3-3y2x+3zx2,
|
|
266
|
+
yx7-y7+y5x2+y4x3+3yx6+y5x+y4x2+3yx5-6zyx3+yx4+3x5+3y4+3y3x-6zyx2+6x4+3x3-9zx;
|
|
267
|
+
gwalk(I);
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
proc awalk1_tmp(ideal Go, int n2, list #)
|
|
272
|
+
//proc awalk1(ideal Go, int n1, int n2, list #)
|
|
273
|
+
{
|
|
274
|
+
int nV = nvars(basering);
|
|
275
|
+
int n1 = 1;
|
|
276
|
+
|
|
277
|
+
//assume(n1 >= 1 && n1 <= nV && n2 >= 1 && n2 <= nV);
|
|
278
|
+
if(n1 < 1 || n1 > nV || n2 < 1 || n2 > nV)
|
|
279
|
+
{
|
|
280
|
+
print("//Error: The perturbed degree is wrong!!");
|
|
281
|
+
print("// It must be between 1 and " + string(nV));
|
|
282
|
+
return();
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
/* we use ring with ordering (a(...),lp,C) */
|
|
286
|
+
list OSCTW = OrderStringalp_NP("al", #);
|
|
287
|
+
|
|
288
|
+
string ord_str = OSCTW[2];
|
|
289
|
+
intvec curr_weight = OSCTW[3]; /* original weight vector */
|
|
290
|
+
intvec target_weight = OSCTW[4]; /* terget weight vector */
|
|
291
|
+
kill OSCTW;
|
|
292
|
+
option(redSB);
|
|
293
|
+
|
|
294
|
+
def xR = basering;
|
|
295
|
+
|
|
296
|
+
ring ostR = create_ring(ring_list(xR)[1],"("+varstr(xR)+")",ord_str,"no_minpoly");
|
|
297
|
+
def old_ring = basering;
|
|
298
|
+
//print("//** help ring = " + string(basering));
|
|
299
|
+
|
|
300
|
+
ideal G = fetch(xR, Go);
|
|
301
|
+
G = system("MAltwalk1", G, n1, n2, curr_weight, target_weight);
|
|
302
|
+
|
|
303
|
+
setring xR;
|
|
304
|
+
//kill Go;
|
|
305
|
+
|
|
306
|
+
keepring basering;
|
|
307
|
+
ideal result = fetch(old_ring, G);
|
|
308
|
+
attrib(result,"isSB",1);
|
|
309
|
+
return (result);
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
proc fwalk(ideal Go, list #)
|
|
313
|
+
"SYNTAX: fwalk(ideal i);
|
|
314
|
+
fwalk(ideal i, intvec v, intvec w);
|
|
315
|
+
TYPE: ideal
|
|
316
|
+
PURPOSE: compute the standard basis of the ideal w.r.t. the
|
|
317
|
+
lexicographical ordering or a weighted-lex ordering,
|
|
318
|
+
calculated via the fractal walk algorithm.
|
|
319
|
+
SEE ALSO: std, stdfglm, groebner, gwalk, pwalk, twalk, awalk1, awalk2
|
|
320
|
+
KEYWORDS: The fractal walk algorithm
|
|
321
|
+
EXAMPLE: example fwalk; shows an example"
|
|
322
|
+
{
|
|
323
|
+
/* we use ring with ordering (a(...),lp,C) */
|
|
324
|
+
list OSCTW = OrderStringalp_NP("al", #);
|
|
325
|
+
|
|
326
|
+
string ord_str = OSCTW[2];
|
|
327
|
+
intvec curr_weight = OSCTW[3]; /* original weight vector */
|
|
328
|
+
intvec target_weight = OSCTW[4]; /* target weight vector */
|
|
329
|
+
kill OSCTW;
|
|
330
|
+
option(redSB);
|
|
331
|
+
def xR = basering;
|
|
332
|
+
ring ostR = create_ring(ring_list(xR)[1],"("+varstr(xR)+")",ord_str,"no_minpoly");
|
|
333
|
+
def old_ring = basering;
|
|
334
|
+
//print("//** help ring = " + string(basering));
|
|
335
|
+
|
|
336
|
+
ideal G = fetch(xR, Go);
|
|
337
|
+
int reduction=1;
|
|
338
|
+
int printout=0;
|
|
339
|
+
G = system("Mfwalk", G, curr_weight, target_weight, reduction, printout);
|
|
340
|
+
|
|
341
|
+
setring xR;
|
|
342
|
+
//kill Go;
|
|
343
|
+
|
|
344
|
+
keepring basering;
|
|
345
|
+
ideal result = fetch(old_ring, G);
|
|
346
|
+
attrib(result,"isSB",1);
|
|
347
|
+
return (result);
|
|
348
|
+
}
|
|
349
|
+
example
|
|
350
|
+
{
|
|
351
|
+
"EXAMPLE:"; echo = 2;
|
|
352
|
+
ring r = 32003,(z,y,x), lp;
|
|
353
|
+
ideal I = y3+xyz+y2z+xz3, 3+xy+x2y+y2z;
|
|
354
|
+
fwalk(I);
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
|
|
359
|
+
proc awalk2(ideal Go, list #)
|
|
360
|
+
"SYNTAX: awalk2(ideal i);
|
|
361
|
+
awalk2(ideal i, intvec v, intvec w);
|
|
362
|
+
TYPE: ideal
|
|
363
|
+
PURPOSE: compute the standard basis of the ideal, calculated via
|
|
364
|
+
the second alternative algorithm from the ordering
|
|
365
|
+
\"(a(v),lp)\", \"dp\" or \"Dp\"
|
|
366
|
+
to the ordering \"(a(w),lp)\" or \"(a(1,0,...,0),lp)\".
|
|
367
|
+
SEE ALSO: std, stdfglm, groebner, gwalk, pwalk, fwalk, twalk, awalk1
|
|
368
|
+
KEYWORDS: Groebner walk
|
|
369
|
+
EXAMPLE: example awalk2; shows an example"
|
|
370
|
+
{
|
|
371
|
+
/* we use ring with ordering (a(...),lp,C) */
|
|
372
|
+
list OSCTW = OrderStringalp_NP("al", #);//"dp"
|
|
373
|
+
|
|
374
|
+
string ord_str = OSCTW[2];
|
|
375
|
+
intvec curr_weight = OSCTW[3]; /* original weight vector */
|
|
376
|
+
intvec target_weight = OSCTW[4]; /* terget weight vector */
|
|
377
|
+
kill OSCTW;
|
|
378
|
+
option(redSB); def xR = basering;
|
|
379
|
+
|
|
380
|
+
ring ostR = create_ring(ring_list(xR)[1],"("+varstr(xR)+")",ord_str,"no_minpoly");
|
|
381
|
+
def old_ring = basering;
|
|
382
|
+
|
|
383
|
+
//print("//** help ring = " + string(basering));
|
|
384
|
+
ideal G = fetch(xR, Go);
|
|
385
|
+
G = system("MAltwalk2", G, curr_weight, target_weight);
|
|
386
|
+
|
|
387
|
+
setring xR;
|
|
388
|
+
//kill Go;
|
|
389
|
+
|
|
390
|
+
keepring basering;
|
|
391
|
+
ideal result = fetch(old_ring, G);
|
|
392
|
+
attrib(result,"isSB",1);
|
|
393
|
+
return (result);
|
|
394
|
+
}
|
|
395
|
+
example
|
|
396
|
+
{
|
|
397
|
+
"EXAMPLE:"; echo = 2;
|
|
398
|
+
ring r = 32003,(z,y,x), lp;
|
|
399
|
+
ideal I = y3+xyz+y2z+xz3, 3+xy+x2y+y2z;
|
|
400
|
+
awalk2(I);
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
proc pwalk(ideal Go, int n1, int n2, list #)
|
|
404
|
+
"SYNTAX: pwalk(int d, ideal i, int n1, int n2);
|
|
405
|
+
pwalk(int d, ideal i, int n1, int n2, intvec v, intvec w);
|
|
406
|
+
TYPE: ideal
|
|
407
|
+
PURPOSE: compute the standard basis of the ideal, calculated via
|
|
408
|
+
the perturbation walk algorithm from the ordering
|
|
409
|
+
\"(a(v),lp)\", \"dp\" or \"Dp\"
|
|
410
|
+
to the ordering \"(a(w),lp)\" or \"(a(1,0,...,0),lp)\"
|
|
411
|
+
with a perturbation degree n, m for v and w, resp.
|
|
412
|
+
SEE ALSO: std, stdfglm, groebner, gwalk, fwalk, twalk, awalk1, awalk2
|
|
413
|
+
KEYWORDS: Perturbation walk
|
|
414
|
+
EXAMPLE: example pwalk; shows an example"
|
|
415
|
+
{
|
|
416
|
+
int nV = nvars(basering);
|
|
417
|
+
//assume(n1 >= 1 && n1 <= nV && n2 >= 1 && n2 <= nV);
|
|
418
|
+
if(n1 < 1 || n1 > nV || n2 < 1 || n2 > nV)
|
|
419
|
+
{
|
|
420
|
+
print("//Error: The perturbed degree is wrong!!");
|
|
421
|
+
print("// It must be between 1 and " + string(nV));
|
|
422
|
+
return();
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
/* we use ring with ordering (a(...),lp,C) */
|
|
426
|
+
list OSCTW = OrderStringalp_NP("al", #);
|
|
427
|
+
|
|
428
|
+
int nP = OSCTW[1];
|
|
429
|
+
|
|
430
|
+
string ord_str = OSCTW[2];
|
|
431
|
+
intvec curr_weight = OSCTW[3]; /* original weight vector */
|
|
432
|
+
intvec target_weight = OSCTW[4]; /* terget weight vector */
|
|
433
|
+
kill OSCTW;
|
|
434
|
+
option(redSB);
|
|
435
|
+
|
|
436
|
+
def xR = basering;
|
|
437
|
+
|
|
438
|
+
ring ostR = create_ring(ring_list(xR)[1],"("+varstr(xR)+")",ord_str,"no_minpoly");
|
|
439
|
+
def old_ring = basering;
|
|
440
|
+
|
|
441
|
+
ideal G = fetch(xR, Go);
|
|
442
|
+
int reduction=1;
|
|
443
|
+
int printout=0;
|
|
444
|
+
G = system("Mpwalk",G,n1,n2,curr_weight,target_weight,nP,reduction,printout);
|
|
445
|
+
|
|
446
|
+
setring xR;
|
|
447
|
+
//kill Go; //unused
|
|
448
|
+
|
|
449
|
+
keepring basering;
|
|
450
|
+
ideal result = fetch(old_ring, G);
|
|
451
|
+
attrib(result,"isSB",1);
|
|
452
|
+
return (result);
|
|
453
|
+
}
|
|
454
|
+
example
|
|
455
|
+
{
|
|
456
|
+
"EXAMPLE:"; echo = 2;
|
|
457
|
+
ring r = 32003,(z,y,x), lp;
|
|
458
|
+
ideal I = y3+xyz+y2z+xz3, 3+xy+x2y+y2z;
|
|
459
|
+
pwalk(I,2,2);
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
|
|
463
|
+
proc twalk(ideal Go, list #)
|
|
464
|
+
"SYNTAX: twalk(ideal i);
|
|
465
|
+
twalk(ideal i, intvec v, intvec w);
|
|
466
|
+
TYPE: ideal
|
|
467
|
+
PURPOSE: compute the standard basis of the ideal w.r.t.
|
|
468
|
+
the ordering \"(a(w),lp)\" or \"(a(1,0,...,0),lp)\",
|
|
469
|
+
calculated via the Tran algorithm.
|
|
470
|
+
SEE ALSO: std, stdfglm, groebner, gwalk, pwalk, fwalk, awalk1, awalk2
|
|
471
|
+
KEYWORDS: The Tran algorithm
|
|
472
|
+
EXAMPLE: example twalk; shows an example"
|
|
473
|
+
{
|
|
474
|
+
list L = OrderStringalp_NP("al", #);
|
|
475
|
+
int nP = L[1];
|
|
476
|
+
|
|
477
|
+
/* we use ring with ordering (a(...),lp,C) */
|
|
478
|
+
string ord_str = L[2];
|
|
479
|
+
intvec curr_weight = L[3];
|
|
480
|
+
intvec target_weight = L[4];
|
|
481
|
+
kill L;
|
|
482
|
+
|
|
483
|
+
option(redSB);
|
|
484
|
+
def xR = basering;
|
|
485
|
+
|
|
486
|
+
ring ostR = create_ring(ring_list(xR)[1],"("+varstr(xR)+")",ord_str,"no_minpoly");
|
|
487
|
+
def old_ring = basering;
|
|
488
|
+
|
|
489
|
+
//print("//** help ring = " + string(basering));
|
|
490
|
+
ideal G = fetch(xR, Go);
|
|
491
|
+
G = system("TranMImprovwalk", G, curr_weight, target_weight, nP);
|
|
492
|
+
|
|
493
|
+
setring xR;
|
|
494
|
+
//kill Go;
|
|
495
|
+
|
|
496
|
+
keepring basering;
|
|
497
|
+
ideal result = fetch(old_ring, G);
|
|
498
|
+
attrib(result,"isSB",1);
|
|
499
|
+
return (result);
|
|
500
|
+
}
|
|
501
|
+
example
|
|
502
|
+
{
|
|
503
|
+
"EXAMPLE:"; echo = 2;
|
|
504
|
+
ring r = 32003,(z,y,x), lp;
|
|
505
|
+
ideal I = y3+xyz+y2z+xz3, 3+xy+x2y+y2z;
|
|
506
|
+
twalk(I);
|
|
507
|
+
}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
//////////////////////////////////////////////////////////////////////////////
|
|
2
|
+
version="version hdepth.lib 4.4.0.0 Nov_2023 "; // $Id: bdacc3b059d53e9e7c075bda329b469348bc3ab2 $
|
|
3
|
+
category="Commutative Algebra";
|
|
4
|
+
info="
|
|
5
|
+
LIBRARY: hdepth.lib Procedures for computing hdepth_1
|
|
6
|
+
AUTHORS: Popescu, A., popescu@mathematik.uni-kl.de
|
|
7
|
+
|
|
8
|
+
SEE ALSO: 'An algorithm to compute the Hilbert depth', Adrian Popescu, arxiv/AC/1307.6084
|
|
9
|
+
|
|
10
|
+
KEYWORDS: hdepth; depth, Hilbert; Hilbert depth
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
PROCEDURES:
|
|
14
|
+
hdepth(M [,debug]); hdepth_1 computation of a module M (wrt Z-grading)
|
|
15
|
+
hdepth_p(g, d, debug) the minimum number t <= d s.t. 1/g^t is positive
|
|
16
|
+
";
|
|
17
|
+
|
|
18
|
+
///////////////////////////////////////////////////////////////////////////////////
|
|
19
|
+
static proc myinverse(poly p, int bound)
|
|
20
|
+
"USAGE: myinverse(p,bound), p polynomial in one variable with p(0) nonzero, bound a nonnegative integer
|
|
21
|
+
RETURN: poly, the inverse of the poly p in the power series ring till order bound
|
|
22
|
+
"
|
|
23
|
+
{
|
|
24
|
+
if(bound<=1)
|
|
25
|
+
{
|
|
26
|
+
ERROR("My inverse : negative bound in the inverse");
|
|
27
|
+
}
|
|
28
|
+
if(p == 0)
|
|
29
|
+
{
|
|
30
|
+
ERROR("My inverse : p is 0");
|
|
31
|
+
}
|
|
32
|
+
poly original;
|
|
33
|
+
original = p;
|
|
34
|
+
if(leadcoef(p) == 0)
|
|
35
|
+
{
|
|
36
|
+
ERROR("My inverse : the power series is not a unit.");
|
|
37
|
+
}
|
|
38
|
+
poly q = 1/p[1];
|
|
39
|
+
poly res = q;
|
|
40
|
+
p = q * (p[1] - jet(p,bound));
|
|
41
|
+
poly s = p;
|
|
42
|
+
while(p != 0)
|
|
43
|
+
{
|
|
44
|
+
res = res + q * p;
|
|
45
|
+
p = jet(p*s,bound);
|
|
46
|
+
}
|
|
47
|
+
//TEST
|
|
48
|
+
if(jet(original*res,bound) != poly(1))
|
|
49
|
+
{
|
|
50
|
+
ERROR("Myinverse does not work properly.");
|
|
51
|
+
}
|
|
52
|
+
return(res);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
///////////////////////////////////////////////////////////////////////////////////
|
|
56
|
+
static proc hilbconstruct(bigintvec v)
|
|
57
|
+
"USAGE: hilbconstruct(v), v is the result of hilb(M,2)
|
|
58
|
+
RETURN: poly, the Hilbert Series of M
|
|
59
|
+
AASUME: the ring when called is R = 0,t,ds;
|
|
60
|
+
"
|
|
61
|
+
{
|
|
62
|
+
poly f;
|
|
63
|
+
int i;
|
|
64
|
+
for(i=0;i<size(v)-1;i++)
|
|
65
|
+
{
|
|
66
|
+
f=f+v[i+1]*t^i;
|
|
67
|
+
}
|
|
68
|
+
return(f);
|
|
69
|
+
}
|
|
70
|
+
///////////////////////////////////////////////////////////////////////////////////
|
|
71
|
+
static proc positiv(poly f)
|
|
72
|
+
"USAGE: positiv(f), f is a polynomial
|
|
73
|
+
RETURN: int, 1 if all the coefficients of f are positive, 0 else
|
|
74
|
+
"
|
|
75
|
+
{
|
|
76
|
+
int pos=1;
|
|
77
|
+
while( (f!=0) && (pos==1) )
|
|
78
|
+
{
|
|
79
|
+
if(leadcoef(f)<0)
|
|
80
|
+
{
|
|
81
|
+
pos=0;
|
|
82
|
+
}
|
|
83
|
+
f=f-lead(f);
|
|
84
|
+
}
|
|
85
|
+
return(pos);
|
|
86
|
+
}
|
|
87
|
+
///////////////////////////////////////////////////////////////////////////////////
|
|
88
|
+
static proc sumcoef(poly f)
|
|
89
|
+
"USAGE: sumcoef(f), f is a polynomial
|
|
90
|
+
RETURN: number, the sum of the coefficients
|
|
91
|
+
"
|
|
92
|
+
{
|
|
93
|
+
number c;
|
|
94
|
+
while(f!=0)
|
|
95
|
+
{
|
|
96
|
+
c = c+leadcoef(f);
|
|
97
|
+
f=f-lead(f);
|
|
98
|
+
}
|
|
99
|
+
return(int(c));
|
|
100
|
+
}
|
|
101
|
+
///////////////////////////////////////////////////////////////////////////////////
|
|
102
|
+
proc hdepth_p(poly g, int d, int debug)
|
|
103
|
+
"USAGE: hdepth_p(g,d,debug), g is the Hilbert Series of a module M and d is the dimension of M, for debug = 0 the steps will be printed.
|
|
104
|
+
RETURN: int, the minimum number t <= d s.t. 1/g^t is positive
|
|
105
|
+
"
|
|
106
|
+
{
|
|
107
|
+
int dd = d;
|
|
108
|
+
if(debug == 0)
|
|
109
|
+
{"G(t)=",g;}
|
|
110
|
+
if(positiv(g)==1)
|
|
111
|
+
{
|
|
112
|
+
if(debug == 0)
|
|
113
|
+
{return("hdepth =",dd);}
|
|
114
|
+
else
|
|
115
|
+
{return(dd);}
|
|
116
|
+
}
|
|
117
|
+
poly f=g;
|
|
118
|
+
number ag;
|
|
119
|
+
int c1;
|
|
120
|
+
int bound;
|
|
121
|
+
bound = deg(g);
|
|
122
|
+
while(dd >= 0)
|
|
123
|
+
{
|
|
124
|
+
dd = dd-1;
|
|
125
|
+
f = jet( g*myinverse( (1-t)^(d-dd),2*bound ) , bound );
|
|
126
|
+
if(positiv(f) == 1)
|
|
127
|
+
{
|
|
128
|
+
if(debug == 0)
|
|
129
|
+
{
|
|
130
|
+
"G(t)/(1-t)^",d-dd,"=",f,"+...";
|
|
131
|
+
return("hdepth =",dd);
|
|
132
|
+
}
|
|
133
|
+
else
|
|
134
|
+
{return(d);}
|
|
135
|
+
}
|
|
136
|
+
c1=sumcoef(f);
|
|
137
|
+
if(c1<0)
|
|
138
|
+
{
|
|
139
|
+
while(c1<0)
|
|
140
|
+
{
|
|
141
|
+
bound=bound+1;
|
|
142
|
+
f=jet( g*myinverse( (1-t)^(d-dd),2*bound ) , bound );
|
|
143
|
+
c1=sumcoef(f);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
if(debug == 0)
|
|
147
|
+
{"G(t)/(1-t)^",d-dd,"=",f,"+...";}
|
|
148
|
+
}
|
|
149
|
+
ERROR("g was not a Hilbert Series since the coefficient sum is not > 0");
|
|
150
|
+
}
|
|
151
|
+
example
|
|
152
|
+
{
|
|
153
|
+
"EXAMPLE:";echo=2;
|
|
154
|
+
ring R = 0,t,ds;
|
|
155
|
+
poly f = 2-3t-2t2+2t3+4t4;
|
|
156
|
+
hdepth_p(f,5,0);
|
|
157
|
+
hdepth_p(f,5,1);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
///////////////////////////////////////////////////////////////////////////////
|
|
161
|
+
proc hdepth(module M, list #)
|
|
162
|
+
"USAGE: hdepth(M [,debug]); M is a module, if one want to print the steps debug = 0
|
|
163
|
+
RETURN: int
|
|
164
|
+
PURPOSE: compute the hdepth_1 of a module M
|
|
165
|
+
EXAMPLE: example hdepth; shows examples
|
|
166
|
+
"
|
|
167
|
+
{
|
|
168
|
+
int debug;
|
|
169
|
+
if(size(#)>0)
|
|
170
|
+
{
|
|
171
|
+
if(typeof(#[1])=="int")
|
|
172
|
+
{debug = #[1];}
|
|
173
|
+
}
|
|
174
|
+
else
|
|
175
|
+
{debug = 1;}
|
|
176
|
+
M = std(M);
|
|
177
|
+
int d=nvars(basering)-dim(M);
|
|
178
|
+
bigintvec v=hilb(M,2);
|
|
179
|
+
ring R = 0,t,ds;
|
|
180
|
+
poly hp=hilbconstruct(v);
|
|
181
|
+
if(debug == 0)
|
|
182
|
+
{"dim =",d;}
|
|
183
|
+
return(hdepth_p(hp,d,debug));
|
|
184
|
+
}
|
|
185
|
+
example
|
|
186
|
+
{
|
|
187
|
+
"EXAMPLE:";echo=2;
|
|
188
|
+
ring R = 0,(x(1..10)),dp;
|
|
189
|
+
ideal i=maxideal(1);
|
|
190
|
+
module M=i;
|
|
191
|
+
hdepth(M);
|
|
192
|
+
hdepth(M,0);
|
|
193
|
+
hdepth(M,1);
|
|
194
|
+
}
|