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,651 @@
|
|
|
1
|
+
////////////////////-*- mode:C++;-*-
|
|
2
|
+
version="version lejeune.lib 4.1.2.0 Feb_2019 "; // $Id: a18495c67bb72bb420ab186cf4ae8113a2197e30 $
|
|
3
|
+
category="??";
|
|
4
|
+
|
|
5
|
+
info="
|
|
6
|
+
LIBRARY: lejeune.lib Arc space computations
|
|
7
|
+
AUTHOR: Nadine Cremer, nadine.cremer@gmx.de
|
|
8
|
+
PROCEDURES:
|
|
9
|
+
fgset(f,H); returns simultaneously the sets F and G corresponding
|
|
10
|
+
to H as described by M. Lejeune
|
|
11
|
+
trunc(f,i); returns the set Tr(i) as described by M. Lejeune
|
|
12
|
+
";
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
LIB "ring.lib";
|
|
16
|
+
LIB "general.lib";
|
|
17
|
+
LIB "primdec.lib";
|
|
18
|
+
LIB "standard.lib";
|
|
19
|
+
LIB "sing.lib";
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
//////////////////////////////////////////////////////////////////////
|
|
24
|
+
proc trunc (poly f, int i)
|
|
25
|
+
"USAGE: trunc(f,i); (f polynomial, i integer)
|
|
26
|
+
CREATE: list, contains lists, each one consisting of two ideals:
|
|
27
|
+
the first one giving equations, the second one giving
|
|
28
|
+
inequations for a part of Tr(i). All of them together give a
|
|
29
|
+
complete description of Tr(i)
|
|
30
|
+
RETURN: ring, corresponds to f and i, i.e. plugging in a polynomial
|
|
31
|
+
in t of degree i for each variable of f yields a ring whose
|
|
32
|
+
variables are the original variables of f, t and the
|
|
33
|
+
according t-coefficients
|
|
34
|
+
EXAMPLE: example trunc; shows an example"
|
|
35
|
+
{
|
|
36
|
+
def r=basering;
|
|
37
|
+
|
|
38
|
+
// we make sure that we obtain Tr(i), which requires
|
|
39
|
+
// computations up to m*i, where m is minimal s.th.
|
|
40
|
+
// x(j)^m in J(f) for each variable x(j) involved in f
|
|
41
|
+
int m=minpower(f);
|
|
42
|
+
int mi=m*i;
|
|
43
|
+
int k;
|
|
44
|
+
int l=order(f);
|
|
45
|
+
int s0=mi+1;
|
|
46
|
+
int s=l*(mi+1);
|
|
47
|
+
int z1=nvars(r)*(i+1)+2;
|
|
48
|
+
int z2=nvars(r)*k+1;
|
|
49
|
+
intvec H=l;
|
|
50
|
+
|
|
51
|
+
// initialization of an intvec H of size m*i
|
|
52
|
+
for(k=1;k<=mi;k++)
|
|
53
|
+
{
|
|
54
|
+
H[k+1]=1;
|
|
55
|
+
}
|
|
56
|
+
// this is the ring in which result lies
|
|
57
|
+
def R1=ringchange(i);
|
|
58
|
+
setring R1;
|
|
59
|
+
ideal I,J;
|
|
60
|
+
list intersec=I,J;
|
|
61
|
+
|
|
62
|
+
// will save the results:
|
|
63
|
+
list fresult,gresult;
|
|
64
|
+
list result;
|
|
65
|
+
|
|
66
|
+
// consider all possible H's
|
|
67
|
+
while(sum(H)<=s)
|
|
68
|
+
{
|
|
69
|
+
setring r;
|
|
70
|
+
def tmp=fgset(f,H);
|
|
71
|
+
setring R1;
|
|
72
|
+
intersec=imap(tmp,fgresult);
|
|
73
|
+
kill tmp;
|
|
74
|
+
|
|
75
|
+
// simplifications
|
|
76
|
+
intersec[1]=simplifymodd(interred(intersec[1]));
|
|
77
|
+
intersec[2]=simplifymodd(interred(intersec[2]));
|
|
78
|
+
//option(redSB);
|
|
79
|
+
//intersec[1]=std(intersec[1]);
|
|
80
|
+
//intersec[2]=std(intersec[2]);
|
|
81
|
+
intersec[1]=simplifymodd(intersec[1]);
|
|
82
|
+
intersec[2]=simplifymodd(intersec[2]);
|
|
83
|
+
intersec[1]=simplifymodd(intersec[1]);
|
|
84
|
+
intersec[2]=simplifymodd(intersec[2]);
|
|
85
|
+
|
|
86
|
+
// remove lists which contain
|
|
87
|
+
// the same ideal twice and
|
|
88
|
+
// therefore define the empty
|
|
89
|
+
// set
|
|
90
|
+
if(equalitytest(intersec[1],intersec[2])==1)
|
|
91
|
+
{
|
|
92
|
+
H=Hnew(H);
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
intersec[1]=radical(intersec[1]);
|
|
96
|
+
intersec[2]=radical(intersec[2]);
|
|
97
|
+
|
|
98
|
+
// remove lists which contain
|
|
99
|
+
// the same ideal twice and
|
|
100
|
+
// therefore define the empty
|
|
101
|
+
// set
|
|
102
|
+
if(equalitytest(intersec[1],intersec[2])==1)
|
|
103
|
+
{
|
|
104
|
+
H=Hnew(H);
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
result=insert(result,intersec);
|
|
108
|
+
H=Hnew(H);
|
|
109
|
+
}
|
|
110
|
+
// output:
|
|
111
|
+
int u=size(result);
|
|
112
|
+
newline;
|
|
113
|
+
" We obtain the following sets of equations
|
|
114
|
+
and inequations for Tr(" +string(i)+"). In order to be
|
|
115
|
+
contained in Tr(" +string(i)+"), a point has to fulfill
|
|
116
|
+
the conditions of one of those set, i.e. it has to be
|
|
117
|
+
in the zero-set of the first ideal without
|
|
118
|
+
the zero-set of the second ideal.";
|
|
119
|
+
newline;
|
|
120
|
+
string ending;
|
|
121
|
+
|
|
122
|
+
for(k=1;k<=u;k++)
|
|
123
|
+
{
|
|
124
|
+
if((k mod 10==1) && (k mod 100!=11))
|
|
125
|
+
{ending="st";}
|
|
126
|
+
else
|
|
127
|
+
{
|
|
128
|
+
if((k mod 10==2) && (k mod 100!=12))
|
|
129
|
+
{ending="nd";}
|
|
130
|
+
else
|
|
131
|
+
{
|
|
132
|
+
if((k mod 10==3) && (k mod 100!=13))
|
|
133
|
+
{ending="rd";}
|
|
134
|
+
else
|
|
135
|
+
{ending="th";}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
print(string(k)+ending+" set of equations:"+newline);
|
|
139
|
+
print(result[k]);
|
|
140
|
+
newline;
|
|
141
|
+
}
|
|
142
|
+
export result;
|
|
143
|
+
// return the ring
|
|
144
|
+
return(R1);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
example
|
|
148
|
+
{
|
|
149
|
+
"EXAMPLE:"; echo=2;
|
|
150
|
+
ring r=QQ,(x,y),dp;
|
|
151
|
+
poly f=y2-x3;
|
|
152
|
+
def R=trunc(f,3);
|
|
153
|
+
setring R;
|
|
154
|
+
print(result);
|
|
155
|
+
setring r;
|
|
156
|
+
def R1=trunc(f,6);
|
|
157
|
+
setring R1;
|
|
158
|
+
print(result);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
//////////////////////////////////////////////////////////////////////
|
|
166
|
+
// //
|
|
167
|
+
// COMPUTATION OF F AND G SIMULTANEOUSLY //
|
|
168
|
+
// //
|
|
169
|
+
//////////////////////////////////////////////////////////////////////
|
|
170
|
+
|
|
171
|
+
//////////////////////////////////////////////////////////////////////
|
|
172
|
+
proc fgset (poly f,intvec H)
|
|
173
|
+
"USAGE: fgset(f,H); f polynomial, H integer vector
|
|
174
|
+
CREATE: list, consists two ideals, the first one giving equations,
|
|
175
|
+
the second one giving inequations to be satisfied by the set
|
|
176
|
+
corresponding to H
|
|
177
|
+
RETURN: ring, corresponds to f and size(H)-1, i.e. plugging in a
|
|
178
|
+
polynomial in t of degree size(H)-1 for each variable of f
|
|
179
|
+
yields a ring whose variables are the original variables of f,
|
|
180
|
+
t and the according t-coefficients
|
|
181
|
+
EXAMPLE: example fgset; shows an example"
|
|
182
|
+
{
|
|
183
|
+
def r=basering;
|
|
184
|
+
int p;
|
|
185
|
+
int m0=order(f);
|
|
186
|
+
int b=size(H);
|
|
187
|
+
if(H[1]!=m0) // input admissible?!
|
|
188
|
+
{
|
|
189
|
+
ERROR("H[1]=ord(f) necessary");
|
|
190
|
+
}
|
|
191
|
+
for(p=1;p<b;p++)
|
|
192
|
+
{
|
|
193
|
+
if(H[p]<H[p+1])
|
|
194
|
+
{
|
|
195
|
+
ERROR("Inadmissible input, H[1]<=...<=H[b] necessary");
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
def R=ringchange(b-1);
|
|
200
|
+
setring R;
|
|
201
|
+
list l;
|
|
202
|
+
ideal fresult,gresult;
|
|
203
|
+
list fgresult;
|
|
204
|
+
for(p=2;p<=b;p++)
|
|
205
|
+
{
|
|
206
|
+
setring r;
|
|
207
|
+
def tmp=formaldiff(f,intvec(H[1..p]));
|
|
208
|
+
setring R;
|
|
209
|
+
l=imap(tmp,resultdiff);
|
|
210
|
+
kill tmp;
|
|
211
|
+
fresult=fresult,l[1];
|
|
212
|
+
}
|
|
213
|
+
gresult=fresult; // use computation of f for g
|
|
214
|
+
|
|
215
|
+
setring r; // last step, special for G
|
|
216
|
+
def tmp=formaldiff(f,H);;
|
|
217
|
+
setring R;
|
|
218
|
+
l=imap(tmp,resultdiff);
|
|
219
|
+
kill tmp;
|
|
220
|
+
gresult=gresult,l[2];
|
|
221
|
+
fresult=simplify(fresult,6);
|
|
222
|
+
gresult=simplify(gresult,6);
|
|
223
|
+
fgresult=fresult,gresult;
|
|
224
|
+
export(fgresult);
|
|
225
|
+
//fgresult;
|
|
226
|
+
return(R);
|
|
227
|
+
}
|
|
228
|
+
example
|
|
229
|
+
{
|
|
230
|
+
"EXAMPLE:"; echo=2;
|
|
231
|
+
ring r=QQ,(x,y),dp;
|
|
232
|
+
poly f=y2-x3;
|
|
233
|
+
intvec H1=2,2,2;
|
|
234
|
+
intvec H2=2,2,2,1;
|
|
235
|
+
def R1=fgset(f,H1);
|
|
236
|
+
def R2=fgset(f,H2);
|
|
237
|
+
setring R1;
|
|
238
|
+
print(fgresult);
|
|
239
|
+
setring R2;
|
|
240
|
+
print(fgresult);
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
//////////////////////////////////////////////////////////////////////
|
|
246
|
+
// //
|
|
247
|
+
// PREPARATORY WORK: PLUGGING IN AND DIFFERENTIATING //
|
|
248
|
+
// //
|
|
249
|
+
//////////////////////////////////////////////////////////////////////
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
//////////////////////////////////////////////////////////////////////
|
|
253
|
+
static proc plugincoeffs (poly f,int i)
|
|
254
|
+
"USAGE: plugincoeffs(f,i); f polynomial, i integer
|
|
255
|
+
CREATE: matrix, the t-coefficients obtained by plugging in a
|
|
256
|
+
polynomial in t of degree i in each variable of f
|
|
257
|
+
RETURN: ring, corresponds to f and i, i.e. plugging in a polynomial
|
|
258
|
+
in t of degree i for each variable of f yields a ring whose
|
|
259
|
+
variables are the original variables of f, t and the
|
|
260
|
+
according t-coefficients"
|
|
261
|
+
|
|
262
|
+
{
|
|
263
|
+
int startvar=nvars(basering);
|
|
264
|
+
def r=basering;
|
|
265
|
+
def R=ringchange(i); // changes the ring
|
|
266
|
+
setring R; // makes it new basering;
|
|
267
|
+
ideal I=tpolys(i,startvar);
|
|
268
|
+
poly g=imap(r,f); // maps f to new basering
|
|
269
|
+
export(g); // export it
|
|
270
|
+
map h=r,I; // define map according to our purpose
|
|
271
|
+
ideal J=h(f); // gives f with power series plugged in
|
|
272
|
+
export(h);
|
|
273
|
+
matrix resultplug=coeffs(J[1],t); // gives the t-coefficients
|
|
274
|
+
export resultplug; // export it i.o. to use it later on
|
|
275
|
+
return(R); // return ring (ring change!)
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
//////////////////////////////////////////////////////////////////////
|
|
281
|
+
static proc tpolys (int i,int k)
|
|
282
|
+
"USAGE: tpolys(i,i); i,k integer
|
|
283
|
+
RETURN: ideal, generated by k general polynomials in t of degree i
|
|
284
|
+
without constant term
|
|
285
|
+
NOTE: called from plugincoeffs"
|
|
286
|
+
|
|
287
|
+
{ // has to be called from pluin_coeffs
|
|
288
|
+
int s,t; // loop variables
|
|
289
|
+
int v;
|
|
290
|
+
poly sum;
|
|
291
|
+
ideal I;
|
|
292
|
+
for(t=1;t<=k;t++)
|
|
293
|
+
{
|
|
294
|
+
v=(t-1)*i;
|
|
295
|
+
for(s=1;s<=i;s++)
|
|
296
|
+
{
|
|
297
|
+
sum=sum+var(1+k+v+s)*var(k+1)^s; // clumsy: working with "var(1)",
|
|
298
|
+
} // depends on form of basering
|
|
299
|
+
I[t]=sum;
|
|
300
|
+
sum=0;
|
|
301
|
+
}
|
|
302
|
+
return(I);
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
//////////////////////////////////////////////////////////////////////
|
|
308
|
+
static proc formaldiff (poly f,intvec H)
|
|
309
|
+
"USAGE: formaldiff(f,H); f polynomial, H integer vector
|
|
310
|
+
CREATE: list, containing two ideals. Polynomials in t of
|
|
311
|
+
degree size(H)-1 are plugged into f. H defines, if and how
|
|
312
|
+
often we differentiate each t-coefficient. We distinguish
|
|
313
|
+
two different cases, the only difference being that we
|
|
314
|
+
differentiate more often in the second case (this is still
|
|
315
|
+
defined by H). This leads to two systems of equations,
|
|
316
|
+
each one defining a Zariski-closed set and the second one
|
|
317
|
+
being contained in the first one
|
|
318
|
+
RETURN: ring, corresponds to f and size(H)-1, i.e. plugging in a
|
|
319
|
+
polynomial in t of degree size(H)-1 for each variable of f
|
|
320
|
+
yields a ring whose variables are the original variables of f,
|
|
321
|
+
t and the according t-coefficients"
|
|
322
|
+
{
|
|
323
|
+
int startvar=nvars(basering);
|
|
324
|
+
int s,t,v; // loop variables
|
|
325
|
+
int u;
|
|
326
|
+
int i=size(H)-1;
|
|
327
|
+
int c=sum(H,1..i);
|
|
328
|
+
int k=H[i+1];
|
|
329
|
+
def R=plugincoeffs(f,i); // plugs the power series in...
|
|
330
|
+
setring R; // changes the ring
|
|
331
|
+
matrix coe=resultplug; // gives the t-coeff. after plugging in
|
|
332
|
+
poly fkv; // need this stuff for the following
|
|
333
|
+
ideal step=diffidealstep(i,startvar);
|
|
334
|
+
list resultdiff;
|
|
335
|
+
ideal m,power,diffstep,J,gresultdiff,fresultdiff;
|
|
336
|
+
for(v=1;v<=k;v++) // consider the different t-coeff.
|
|
337
|
+
{
|
|
338
|
+
if(c+v>nrows(coe))
|
|
339
|
+
{
|
|
340
|
+
fkv=0;
|
|
341
|
+
}
|
|
342
|
+
else
|
|
343
|
+
{
|
|
344
|
+
fkv=coe[c+v,1];
|
|
345
|
+
}
|
|
346
|
+
m=fkv;
|
|
347
|
+
J=fkv;
|
|
348
|
+
for(s=1;s<=k-v+1;s++) // "s<=k-v+1" special for G, ONLY DIFF.!
|
|
349
|
+
{
|
|
350
|
+
if(s==k-v+1) // equations for F!
|
|
351
|
+
{
|
|
352
|
+
fresultdiff=fresultdiff,J;
|
|
353
|
+
}
|
|
354
|
+
power=step^s;
|
|
355
|
+
u=size(power);
|
|
356
|
+
for(t=1;t<=u;t++)
|
|
357
|
+
{
|
|
358
|
+
diffstep=contract(power[t],m); // actual differentiation
|
|
359
|
+
J=J,diffstep;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
}
|
|
363
|
+
gresultdiff=gresultdiff,J;
|
|
364
|
+
}
|
|
365
|
+
resultdiff=fresultdiff,gresultdiff;
|
|
366
|
+
export(resultdiff); // exports the result
|
|
367
|
+
return(R); // return the ring
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
//////////////////////////////////////////////////////////////////////
|
|
374
|
+
// //
|
|
375
|
+
// CONSTRUCTING THE NEW RING //
|
|
376
|
+
// //
|
|
377
|
+
//////////////////////////////////////////////////////////////////////
|
|
378
|
+
|
|
379
|
+
//////////////////////////////////////////////////////////////////////
|
|
380
|
+
static proc ringchange (int i)
|
|
381
|
+
"USAGE: ringchange(i); i integer
|
|
382
|
+
RETURN: ring, extends basering by variables t and
|
|
383
|
+
#(variables of basering)*i new variables"
|
|
384
|
+
|
|
385
|
+
{
|
|
386
|
+
def R=changevar(""+varstr(basering)+",t,"+variables_list(nvars(basering),i)+"");
|
|
387
|
+
return(R);
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
|
|
391
|
+
//////////////////////////////////////////////////////////////////////
|
|
392
|
+
static proc variables_list (int k,int i)
|
|
393
|
+
"USAGE: variables_list(k,i); k,i integer
|
|
394
|
+
RETURN: string of the names of the additional variables
|
|
395
|
+
NOTE: called from ringchange, we use this procedure to obtain
|
|
396
|
+
a convenient shape of the ring created in ringchange"
|
|
397
|
+
{
|
|
398
|
+
list l;
|
|
399
|
+
int s,u; // loop variables
|
|
400
|
+
string str;
|
|
401
|
+
for (u=1;u<=k;u++)
|
|
402
|
+
{
|
|
403
|
+
for (s=1;s<=i;s++)
|
|
404
|
+
{
|
|
405
|
+
str=""+atoz(u)+"("+string(s)+")"; // creates new variables
|
|
406
|
+
l[(u-1)*i+s]=str; // saves them in a list
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
string str1=string(l); // makes the list into a string,
|
|
410
|
+
return(str1); // (needed for ring change)
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
|
|
414
|
+
//////////////////////////////////////////////////////////////////////
|
|
415
|
+
static proc atoz (int n)
|
|
416
|
+
"USAGE: atoz(n); n integer
|
|
417
|
+
RETURN: string, the nth letter of the alphabet"
|
|
418
|
+
|
|
419
|
+
{
|
|
420
|
+
if(1>n>26)
|
|
421
|
+
{
|
|
422
|
+
ERROR("n must range between 1 and 26!");
|
|
423
|
+
}
|
|
424
|
+
ring r = create_ring(0, A_Z_L("a",n), "ds");
|
|
425
|
+
return (string(var(n)));
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
|
|
429
|
+
|
|
430
|
+
//////////////////////////////////////////////////////////////////////
|
|
431
|
+
// //
|
|
432
|
+
// AUXILIARY PROCEDURES //
|
|
433
|
+
// //
|
|
434
|
+
//////////////////////////////////////////////////////////////////////
|
|
435
|
+
|
|
436
|
+
//////////////////////////////////////////////////////////////////////
|
|
437
|
+
static proc diffidealstep (int i, int N)
|
|
438
|
+
"USAGE: diffidealstep(i,N); i,N integer
|
|
439
|
+
RETURN: ideal, generated by variables specified by i,N
|
|
440
|
+
NOTE: called from formaldiff, gives the variables by which is
|
|
441
|
+
differentiated in a certain step"
|
|
442
|
+
{
|
|
443
|
+
ideal I=var(N+1+i);
|
|
444
|
+
int j;
|
|
445
|
+
for(j=2;j<=N;j++)
|
|
446
|
+
{
|
|
447
|
+
I=I,var(N+1+j*i);
|
|
448
|
+
}
|
|
449
|
+
return(I);
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
|
|
453
|
+
//////////////////////////////////////////////////////////////////////
|
|
454
|
+
static proc order (poly f)
|
|
455
|
+
"USAGE: order(f); f polynomial
|
|
456
|
+
RETURN: int, the multiplicity of V(f) in 0
|
|
457
|
+
NOTE: this order partly directs the differentiation in formaldiff
|
|
458
|
+
and, together with minpower, gives the size of the
|
|
459
|
+
integer vector in fgset"
|
|
460
|
+
{
|
|
461
|
+
poly g=homog(f,var(1));
|
|
462
|
+
int k=deg(g);
|
|
463
|
+
int i;
|
|
464
|
+
for(i=1;i<=k;i++)
|
|
465
|
+
{
|
|
466
|
+
if(jet(f,i)!=0)
|
|
467
|
+
{
|
|
468
|
+
return(i);
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
|
|
474
|
+
//////////////////////////////////////////////////////////////////////
|
|
475
|
+
static proc simplifyvar (ideal I)
|
|
476
|
+
"USAGE: simplifyvar(I); I ideal
|
|
477
|
+
RETURN: ideal defining the same zeroset as I: if any generator
|
|
478
|
+
of I is a power of one single variable, replace it by the
|
|
479
|
+
variable
|
|
480
|
+
NOTE: this procedure is supposed to simplify and clarify the
|
|
481
|
+
output of the calculations made in fgset, trunc a.o.
|
|
482
|
+
without using radical"
|
|
483
|
+
{
|
|
484
|
+
int i,j;
|
|
485
|
+
int divisornumber=0;
|
|
486
|
+
int pos;
|
|
487
|
+
I=simplify(I,6);
|
|
488
|
+
for(j=1;j<=ncols(I);j++)
|
|
489
|
+
{
|
|
490
|
+
if(size(I[j])==1)
|
|
491
|
+
{
|
|
492
|
+
for(i=1;i<=nvars(basering);i++)
|
|
493
|
+
{
|
|
494
|
+
if(modd(I[j],var(i))==0)
|
|
495
|
+
{
|
|
496
|
+
divisornumber++;
|
|
497
|
+
pos=i;
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
if(divisornumber==1)
|
|
502
|
+
{
|
|
503
|
+
I[j]=var(pos);
|
|
504
|
+
}
|
|
505
|
+
divisornumber=0;
|
|
506
|
+
}
|
|
507
|
+
return(I);
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
|
|
511
|
+
//////////////////////////////////////////////////////////////////////
|
|
512
|
+
static proc modd (poly f, poly g)
|
|
513
|
+
"USAGE: modd(f,g); f,g polynomials
|
|
514
|
+
RETURN: poly, f mod g modulo operation in the polynomial ring
|
|
515
|
+
NOTE: called from idealsimplify1 where it is used to simplify
|
|
516
|
+
a generating set of an ideal"
|
|
517
|
+
|
|
518
|
+
{
|
|
519
|
+
poly result=f-(f/g)*g;
|
|
520
|
+
return(result);
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
|
|
524
|
+
//////////////////////////////////////////////////////////////////////
|
|
525
|
+
static proc Hnew (intvec H)
|
|
526
|
+
"USAGE: Hnew(H); H integer vector
|
|
527
|
+
RETURN: intvec, the vector needed in the following step of trunc"
|
|
528
|
+
|
|
529
|
+
{
|
|
530
|
+
intvec H1=H;
|
|
531
|
+
int k;
|
|
532
|
+
int l=size(H);
|
|
533
|
+
for(k=0;k<=l-2;k++)
|
|
534
|
+
{
|
|
535
|
+
if(H[l-k]<H[l-k-1])
|
|
536
|
+
{
|
|
537
|
+
H[l-k]=H[l-k]+1;
|
|
538
|
+
break;
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
if(H==H1)
|
|
542
|
+
{
|
|
543
|
+
H[l]=H[l]+1;
|
|
544
|
+
}
|
|
545
|
+
return(intvec(H));
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
|
|
549
|
+
//////////////////////////////////////////////////////////////////////
|
|
550
|
+
static proc simplifymodd (ideal I)
|
|
551
|
+
"USAGE: simplifymodd(I); I ideal
|
|
552
|
+
RETURN: ideal defining the same zeroset as I: replace certain
|
|
553
|
+
generators of I by the generator modulo the other generators.
|
|
554
|
+
NOTE: this procedure is supposed to simplify and clarify the
|
|
555
|
+
output of the calculations made in fgset, trunc a.o.
|
|
556
|
+
without using radical"
|
|
557
|
+
{
|
|
558
|
+
int i,j;
|
|
559
|
+
I=simplify(I,6);
|
|
560
|
+
for(j=2;j<=ncols(I);j++) // reduce with higher element
|
|
561
|
+
{
|
|
562
|
+
for(i=1;i<j;i++)
|
|
563
|
+
{
|
|
564
|
+
if(I[i]!=0)
|
|
565
|
+
{
|
|
566
|
+
I[j]=modd(I[j],I[i]);
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
for(j=ncols(I)-1;j>=1;j--) // reduce with lower elements
|
|
571
|
+
{
|
|
572
|
+
for(i=ncols(I);i>j;i--)
|
|
573
|
+
{
|
|
574
|
+
if(I[i]!=0)
|
|
575
|
+
{
|
|
576
|
+
I[j]=modd(I[j],I[i]);
|
|
577
|
+
}
|
|
578
|
+
}
|
|
579
|
+
}
|
|
580
|
+
I=simplify(simplifyvar(I),6);
|
|
581
|
+
return(I);
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
|
|
585
|
+
//////////////////////////////////////////////////////////////////////
|
|
586
|
+
static proc minpower (poly f)
|
|
587
|
+
"USAGE: minpower(f); f polynomial
|
|
588
|
+
RETURN: int, the minimal z>=1 s.th. v^z in J(f) for each variable v
|
|
589
|
+
of the basering
|
|
590
|
+
NOTE: called from trunc, gives; together with i, the size of the
|
|
591
|
+
integer vectors to be considered in trunc(f,i)"
|
|
592
|
+
{
|
|
593
|
+
ideal J=jacob(f);
|
|
594
|
+
int s=ncols(J);
|
|
595
|
+
int control=0; // control if conditions for ny are fulfilled
|
|
596
|
+
int control1=0;
|
|
597
|
+
int n=nvars(basering);
|
|
598
|
+
int ny=1;
|
|
599
|
+
int i,j;
|
|
600
|
+
while (control==0) // while var(i)^ny not in J(f)...
|
|
601
|
+
{
|
|
602
|
+
for(i=1;i<=n;i++) // consider all variables
|
|
603
|
+
{
|
|
604
|
+
control1=0;
|
|
605
|
+
for(j=1;j<=s;j++) // consider all elements of J
|
|
606
|
+
{
|
|
607
|
+
if (modd(var(i)^ny,J[j])==0) // var(i)^ny in J(f)?
|
|
608
|
+
{
|
|
609
|
+
control1=1;
|
|
610
|
+
break;
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
if (control1==0) // increment ny if no var(i)^nt in J(f)
|
|
614
|
+
{
|
|
615
|
+
ny++;
|
|
616
|
+
break;
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
if (control1==1) // if each step was successful...
|
|
620
|
+
{
|
|
621
|
+
control=1;
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
return(ny);
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
|
|
628
|
+
|
|
629
|
+
static proc equalitytest (ideal I,ideal J)
|
|
630
|
+
"USAGE: equalitytest(I,J); I,J ideals
|
|
631
|
+
RETURN: 1, if I=J, 0 else
|
|
632
|
+
NOTE: we assume I contained in J already"
|
|
633
|
+
{
|
|
634
|
+
int s=ncols(J);
|
|
635
|
+
int i;
|
|
636
|
+
int p=0;
|
|
637
|
+
I=std(I);
|
|
638
|
+
for(i=1;i<=s;i++)
|
|
639
|
+
{
|
|
640
|
+
if(reduce(J[i],I)!=0)
|
|
641
|
+
{
|
|
642
|
+
p=1;
|
|
643
|
+
}
|
|
644
|
+
}
|
|
645
|
+
if(p==1)
|
|
646
|
+
{
|
|
647
|
+
return(0);
|
|
648
|
+
}
|
|
649
|
+
else{return(1);}
|
|
650
|
+
}
|
|
651
|
+
|