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,525 @@
|
|
|
1
|
+
//////////////////////////////////////////////////////////////////////////////
|
|
2
|
+
version="version polyclass.lib 4.4.0.3 Jun_2024 "; // $Id: 8e0c8ebdb7fc090b5cccd7dd6561b4542ec46758 $
|
|
3
|
+
category="Commutative Algebra";
|
|
4
|
+
info="
|
|
5
|
+
LIBRARY: polyclass.lib Data types for normal forms and normal form equations
|
|
6
|
+
AUTHORS: Janko Boehm, email: boehm@mathematik.uni-kl.de
|
|
7
|
+
Magdaleen Marais, email: magdaleen.marais@up.ac.za
|
|
8
|
+
Gerhard Pfister, email: pfister@mathematik.uni-kl.de
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
OVERVIEW:
|
|
12
|
+
This library implements a ring independent polynomial type used for the return value in
|
|
13
|
+
classify2.lib, realclassify.lib and arnold.lib. You can use +, * and == for addition, multiplication and comparison. The key over contains the base ring of the polynomial, the key value its value as a polynomial of type poly. The constructor can be called by assigning a polynomial of type poly to a polynomial of type Poly via =.
|
|
14
|
+
|
|
15
|
+
Moreover the library implements a ring independent class NormalForm consisting out of fields of type string, type list, type Poly and type RightEquivalenceChainWithPrecision, that capture the important characteristics of the stored singularity. The type RightEquivalenceChainWithPrecision is created to store a chain of (finite) transformations, ring independently as a list, performed on a sourcegerm. The image of the sourcegerm is stored in the field targetgerm. In this way the chain of transformations used to transform a sourcegerm to a normal form equation can be documented. To store each individual transformation the library implements a ring independent transformation of type PolynomialRightEquivalence, which contains fields for the ring over which the transformation is performed, the images that defines the transformation as a list of Poly's, and the inverse images that defined the inverse transformation as a list of Poly's.
|
|
16
|
+
|
|
17
|
+
The library also catains print functions for the newly created types for a user friendly display.
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
REFERENCES:
|
|
21
|
+
J. Boehm, M.S. Marais, G. Pfister: Classification of Complex Singularities with Non-Degenerate Newton Boundary, https://arxiv.org/abs/2010.10185
|
|
22
|
+
|
|
23
|
+
J. Boehm, M.S. Marais, G. Pfister: Moduli Parameters of Complex Singularities with Non-Degenerate Newton Boundary, https://arxiv.org/abs/2402.05093
|
|
24
|
+
|
|
25
|
+
Acknowledgements: This research was supported by the Rubbi fund of the Department of Mathematical Sciences of Stellenbosch University, DFG SPP 1489,@*
|
|
26
|
+
DFG TRR 195 (Project B5).
|
|
27
|
+
|
|
28
|
+
KEYWORDS: polynomials
|
|
29
|
+
|
|
30
|
+
SEE ALSO: realclassify_lib, classify2_lib, arnold_lib
|
|
31
|
+
|
|
32
|
+
PROCEDURES:
|
|
33
|
+
makePoly(f); constructor for ring independent polynomial type Poly
|
|
34
|
+
ringOf(P); return the parent ring of the Poly P
|
|
35
|
+
valueOf(P); get from the Poly P the corresponding poly
|
|
36
|
+
printPoly(f); print routine for polynomial type Poly
|
|
37
|
+
addPoly(f,g); add polynomials of type Poly
|
|
38
|
+
multPoly(f,g); multiply polynomials of type Poly
|
|
39
|
+
equalPoly(f,g); check whether two polynomials of type Poly over the same ring are equal
|
|
40
|
+
expPoly(f,g); exponentiate polynomials of type Poly to an integer power
|
|
41
|
+
printPolynomialRightEquivalence(RE); print a transformation
|
|
42
|
+
printRightEquivalenceChainWithPrecision(TT); print a chain of transformations
|
|
43
|
+
printNormalFormEquation(F); print routine for normal form equation type NormalFormEquation
|
|
44
|
+
printNormalForm(F); print routine for normal form type NormalForm
|
|
45
|
+
|
|
46
|
+
";
|
|
47
|
+
|
|
48
|
+
LIB "sing.lib";
|
|
49
|
+
|
|
50
|
+
static proc mod_init()
|
|
51
|
+
{
|
|
52
|
+
newstruct("Poly","ring in,poly value");
|
|
53
|
+
newstruct("NormalFormEquation","list vars, string singularityType, int milnorNumber, Poly normalFormEquation, int modality, list parameters, int corank, int inertiaIndex, int determinacy, int realCase");
|
|
54
|
+
newstruct("RightEquivalenceChainWithPrecision","Poly sourcegerm, Poly targetgerm, list transformations, int precision, int HC");
|
|
55
|
+
newstruct("NormalForm","int numbervars, ring inputRing, Poly nondegeneratePart, Poly nonNormalizedNNBGerm, Poly semiNormalizedNNBGerm, string singularityType, int milnorNumber, Poly normalForm, RightEquivalenceChainWithPrecision phi, RightEquivalenceChainWithPrecision phiBeforeMorseSplit, Poly normalFormEquation,Poly normalFormEquationUpToRescaling, int modality, list parameters, int corank, int determinacy, int delta, int numberOfBranches, Poly extension1, Poly extension2, Poly exceptionalHypersurface, string ArnoldType");
|
|
56
|
+
newstruct("PolynomialRightEquivalence","ring in, list images, list imagesInverse");
|
|
57
|
+
system("install","Poly","print",printPoly,1);
|
|
58
|
+
system("install","Poly","string",stringPoly,4);
|
|
59
|
+
system("install","Poly","+",addPoly,2);
|
|
60
|
+
system("install","Poly","*",multPoly,2);
|
|
61
|
+
system("install","Poly","^",expPoly,2);
|
|
62
|
+
system("install","Poly","==",equalPoly,2);
|
|
63
|
+
system("install","Poly","=",makePoly,1);
|
|
64
|
+
system("install","PolynomialRightEquivalence","print",printPolynomialRightEquivalence,1);
|
|
65
|
+
system("install","RightEquivalenceChainWithPrecision","print",printRightEquivalenceChainWithPrecision,1);
|
|
66
|
+
system("install","NormalForm","print",printNormalForm,1);
|
|
67
|
+
system("install","NormalFormEquation","print",printNormalFormEquation,1);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
proc printNormalFormEquation(NormalFormEquation F)
|
|
71
|
+
"USAGE: printNormalFormEquation(F); F NormalFormEquation
|
|
72
|
+
RETURN: print a normal form equation
|
|
73
|
+
EXAMPLE: example printNormalFormEquation, shows an example"
|
|
74
|
+
{
|
|
75
|
+
def R=basering;
|
|
76
|
+
Poly f=F.normalFormEquation;
|
|
77
|
+
def SS=f.in;
|
|
78
|
+
setring SS;
|
|
79
|
+
"Corank = "+string(F.corank);
|
|
80
|
+
if (F.realCase){"Inertia index = "+string(F.inertiaIndex);}
|
|
81
|
+
"Normal form equation of type = "+(F.singularityType);
|
|
82
|
+
"Normal form equation = "+string(f.value);
|
|
83
|
+
"Milnor number = "+string(F.milnorNumber);
|
|
84
|
+
"Modality = "+string(F.modality);
|
|
85
|
+
if (F.modality>=1){
|
|
86
|
+
if (F.modality==1){
|
|
87
|
+
"Parameter term = "+string(F.parameters[1][1]);
|
|
88
|
+
} else {
|
|
89
|
+
string paraterms="Parameter terms = ";
|
|
90
|
+
for (int i =1;i<=size(F.parameters);i++){
|
|
91
|
+
paraterms=paraterms+string(F.parameters[i][1]);
|
|
92
|
+
if (i<size(F.parameters)){paraterms = paraterms +", ";}
|
|
93
|
+
}
|
|
94
|
+
paraterms;
|
|
95
|
+
}
|
|
96
|
+
if (minpoly!=0){"Minimal polynomial = "+string(minpoly);}
|
|
97
|
+
if (F.realCase && minpoly!=0){
|
|
98
|
+
if (F.modality>1){ERROR("Not implemented");}
|
|
99
|
+
"Interval = ["+string(F.parameters[1][2][1])+", "+string(F.parameters[1][2][2])+"]";
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
"Determinacy <= "+string(F.determinacy);
|
|
103
|
+
setring R;
|
|
104
|
+
}
|
|
105
|
+
example
|
|
106
|
+
{
|
|
107
|
+
"EXAMPLE:"; echo=2;
|
|
108
|
+
ring R=(0,a),(x,y,z,w),ds;
|
|
109
|
+
minpoly = a^2-2;
|
|
110
|
+
Poly f=x^4+x^2*y^2+a*y^8+z^2-w^2;
|
|
111
|
+
NormalFormEquation F;
|
|
112
|
+
F.vars = ringlist(R)[2];
|
|
113
|
+
F.realCase = 1;
|
|
114
|
+
F.normalFormEquation = f;
|
|
115
|
+
F.modality = 1;
|
|
116
|
+
F.corank = 2;
|
|
117
|
+
F.inertiaIndex = 1;
|
|
118
|
+
F.determinacy = 8;
|
|
119
|
+
F.milnorNumber = milnor(f.value);
|
|
120
|
+
F.parameters = list(list(a*y^8,list(0,2)));
|
|
121
|
+
F.singularityType = "X[13]";
|
|
122
|
+
F;
|
|
123
|
+
ring R=(0),(x,y,z,w),ds;
|
|
124
|
+
Poly f=x^4+x^2*y^2+7*y^8+z^2-w^2;
|
|
125
|
+
NormalFormEquation F;
|
|
126
|
+
F.vars = ringlist(R)[2];
|
|
127
|
+
F.realCase = 1;
|
|
128
|
+
F.normalFormEquation = f;
|
|
129
|
+
F.modality = 1;
|
|
130
|
+
F.corank = 2;
|
|
131
|
+
F.inertiaIndex = 1;
|
|
132
|
+
F.determinacy = 8;
|
|
133
|
+
F.milnorNumber = milnor(f.value);
|
|
134
|
+
F.parameters = list(list(7*y^8,list(-6,8)));
|
|
135
|
+
F.singularityType = "X[13]";
|
|
136
|
+
printNormalFormEquation(F);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
proc printNormalForm(NormalForm F)
|
|
141
|
+
"USAGE: printNormalForm(F); F NormalForm
|
|
142
|
+
RETURN: print a normal form with its important characteristics
|
|
143
|
+
EXAMPLE: example printNormalForm, shows an example"
|
|
144
|
+
{
|
|
145
|
+
def R=basering;
|
|
146
|
+
Poly P=F.normalForm;
|
|
147
|
+
def TT=P.in;
|
|
148
|
+
setring TT;
|
|
149
|
+
short=0;
|
|
150
|
+
"Embedding dimension = "+string(F.numbervars);
|
|
151
|
+
"Corank of singularity = "+string(F.corank);
|
|
152
|
+
"Normal form of type = "+(F.singularityType);
|
|
153
|
+
"Normal form = "
|
|
154
|
+
+string(P.value);
|
|
155
|
+
Poly EH = F.exceptionalHypersurface;
|
|
156
|
+
def REH = EH.in;
|
|
157
|
+
setring REH;
|
|
158
|
+
short=0;
|
|
159
|
+
if(EH.value<>-1)
|
|
160
|
+
{
|
|
161
|
+
"Exceptional Hypersurface = "+string(EH.value);
|
|
162
|
+
}
|
|
163
|
+
else
|
|
164
|
+
{
|
|
165
|
+
"Exceptional Hypersurface is not determined.";
|
|
166
|
+
}
|
|
167
|
+
Poly G = F.normalFormEquation;
|
|
168
|
+
def RR = G.in;
|
|
169
|
+
setring RR;
|
|
170
|
+
short=0;
|
|
171
|
+
if(G.value==0){"Normal form equation is not determined.";}
|
|
172
|
+
else
|
|
173
|
+
{
|
|
174
|
+
"Normal form equation ="+string(G.value);
|
|
175
|
+
if (minpoly!=0){"Minimal polynomial = "+string(minpoly);}
|
|
176
|
+
}
|
|
177
|
+
Poly H = F.extension1;
|
|
178
|
+
def RRR = H.in;
|
|
179
|
+
setring RRR;
|
|
180
|
+
short=0;
|
|
181
|
+
if(H.value<>0){"Minimal polynomial 2 ="+string(H.value);}
|
|
182
|
+
Poly HH = F.extension2;
|
|
183
|
+
def RRRR = HH.in;
|
|
184
|
+
setring RRRR;
|
|
185
|
+
short=0;
|
|
186
|
+
if(HH.value<>0){"Minimal polynomial 3 ="+string(HH.value);}
|
|
187
|
+
setring TT;
|
|
188
|
+
short=0;
|
|
189
|
+
"Milnor number = "+string(F.milnorNumber);
|
|
190
|
+
"Modality = "+string(F.modality);
|
|
191
|
+
if (F.modality>=1){
|
|
192
|
+
if (F.modality==1){
|
|
193
|
+
"Monomials corresponding to moduli terms = "+stringPoly(F.parameters[1]);
|
|
194
|
+
} else {
|
|
195
|
+
string paraterms="Monomials corresponding to moduli terms = ";
|
|
196
|
+
for (int i =1;i<=size(F.parameters);i++){
|
|
197
|
+
paraterms=paraterms+stringPoly(F.parameters[i]);
|
|
198
|
+
if (i<size(F.parameters)){paraterms = paraterms +", ";}
|
|
199
|
+
}
|
|
200
|
+
paraterms;
|
|
201
|
+
}
|
|
202
|
+
setring TT;
|
|
203
|
+
short=0;
|
|
204
|
+
}
|
|
205
|
+
"Delta invariant = "+string(F.delta);
|
|
206
|
+
"Number of branches = "+string(F.numberOfBranches);
|
|
207
|
+
"Determinacy <= "+string(F.determinacy);
|
|
208
|
+
RightEquivalenceChainWithPrecision Trb=F.phiBeforeMorseSplit;
|
|
209
|
+
Poly SG = F.nondegeneratePart;
|
|
210
|
+
def SS = SG.in;
|
|
211
|
+
setring SS;
|
|
212
|
+
short=0;
|
|
213
|
+
"Non-degenerate part = "+string(SG.value);
|
|
214
|
+
list transB = Trb.transformations;
|
|
215
|
+
int sb = size(transB);
|
|
216
|
+
"Chain of transformations before Morse split of length "+string(sb);
|
|
217
|
+
RightEquivalenceChainWithPrecision Tr=F.phi;
|
|
218
|
+
list trans = Tr.transformations;
|
|
219
|
+
int s = size(trans);
|
|
220
|
+
"Chain of transformations after Morse split of length "+string(s);
|
|
221
|
+
Poly semiNormalizedNNBGerm = F.semiNormalizedNNBGerm;
|
|
222
|
+
def LL = semiNormalizedNNBGerm.in;
|
|
223
|
+
setring LL;
|
|
224
|
+
short=0;
|
|
225
|
+
"";
|
|
226
|
+
if(semiNormalizedNNBGerm.value==0){
|
|
227
|
+
"The chain of transformations is only containing transformations up to transforming the input polynomial to a germ with a nondegenerate Newton boundary. The final transformations to normalize the germ are not yet determined.";}
|
|
228
|
+
|
|
229
|
+
setring R;
|
|
230
|
+
}
|
|
231
|
+
example
|
|
232
|
+
{
|
|
233
|
+
"EXAMPLE:"; echo=2;
|
|
234
|
+
ring R=(0,a),(x,y),ds;
|
|
235
|
+
minpoly = a^2-2;
|
|
236
|
+
poly f=x^4+x^2*y^2+7*a*y^8;
|
|
237
|
+
Poly F = makePoly(f);
|
|
238
|
+
ring S =(0,a),(x,y),ds;
|
|
239
|
+
poly g = x^4+x^2*y^2+a*y^8;
|
|
240
|
+
Poly G = makePoly(g);
|
|
241
|
+
ring T=QQ,(a),dp;
|
|
242
|
+
poly h=a;
|
|
243
|
+
Poly H=makePoly(h);
|
|
244
|
+
setring R;
|
|
245
|
+
NormalForm N;
|
|
246
|
+
N.exceptionalHypersurface = H;
|
|
247
|
+
N.numbervars =2;
|
|
248
|
+
N.corank =2;
|
|
249
|
+
N.normalForm = G;
|
|
250
|
+
N.normalFormEquation = F;
|
|
251
|
+
N.extension1=makePoly(0);
|
|
252
|
+
N.extension2=makePoly(0);
|
|
253
|
+
N.nondegeneratePart = makePoly(0);
|
|
254
|
+
N.semiNormalizedNNBGerm = F;
|
|
255
|
+
N.modality = 1;
|
|
256
|
+
N.corank = 2;
|
|
257
|
+
N.determinacy = 8;
|
|
258
|
+
N.milnorNumber = milnor(F.value);
|
|
259
|
+
N.parameters = list(makePoly(y^8));
|
|
260
|
+
N.singularityType = "X[13]";
|
|
261
|
+
printNormalForm(N);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
proc makePoly(poly f)
|
|
267
|
+
"USAGE: makePoly(f); f poly
|
|
268
|
+
RETURN: make a ring independent Poly from a poly in the basering
|
|
269
|
+
EXAMPLE: example makePoly, shows an example"
|
|
270
|
+
{
|
|
271
|
+
Poly F;
|
|
272
|
+
F.in=basering;
|
|
273
|
+
F.value=f;
|
|
274
|
+
return(F);
|
|
275
|
+
}
|
|
276
|
+
example
|
|
277
|
+
{
|
|
278
|
+
"EXAMPLE:"; echo=2;
|
|
279
|
+
ring R=0,(x,y),dp;
|
|
280
|
+
poly f=3*x^2+x*y+1;
|
|
281
|
+
Poly F = makePoly(f);
|
|
282
|
+
F.in;
|
|
283
|
+
F.value;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
proc valueOf(Poly F)
|
|
287
|
+
"USAGE: valueOf(F); F Poly
|
|
288
|
+
RETURN: F.value
|
|
289
|
+
EXAMPLE: example valueOf, shows an example"
|
|
290
|
+
{
|
|
291
|
+
return(F.value);
|
|
292
|
+
}
|
|
293
|
+
example
|
|
294
|
+
{
|
|
295
|
+
"EXAMPLE:"; echo=2;
|
|
296
|
+
ring R=0,(x,y),ds;
|
|
297
|
+
poly f = x+y;
|
|
298
|
+
Poly F = makePoly(f);
|
|
299
|
+
valueOf(F);
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
proc ringOf(Poly F)
|
|
304
|
+
"USAGE: ringOf(F); F Poly
|
|
305
|
+
RETURN: F.value
|
|
306
|
+
EXAMPLE: example ringOf, shows an example"
|
|
307
|
+
{
|
|
308
|
+
return(F.in);
|
|
309
|
+
}
|
|
310
|
+
example
|
|
311
|
+
{
|
|
312
|
+
"EXAMPLE:"; echo=2;
|
|
313
|
+
ring R=0,(x,y),ds;
|
|
314
|
+
poly f = x+y;
|
|
315
|
+
Poly F = makePoly(f);
|
|
316
|
+
ringOf(F);
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
proc printPoly(Poly P)
|
|
321
|
+
"USAGE: printPoly(P); P Poly
|
|
322
|
+
RETURN: print a polynomial of type Poly
|
|
323
|
+
EXAMPLE: example printPoly, shows an example"
|
|
324
|
+
{
|
|
325
|
+
def R=basering;
|
|
326
|
+
def SS=P.in;
|
|
327
|
+
setring SS;
|
|
328
|
+
short=0;
|
|
329
|
+
P.value;
|
|
330
|
+
setring R;
|
|
331
|
+
}
|
|
332
|
+
example
|
|
333
|
+
{
|
|
334
|
+
"EXAMPLE:"; echo=2;
|
|
335
|
+
ring R=0,(x,y),dp;
|
|
336
|
+
poly f=3*x^2+x*y+1;
|
|
337
|
+
Poly F = makePoly(f);
|
|
338
|
+
printPoly(F);
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
static proc stringPoly(Poly f)
|
|
342
|
+
{
|
|
343
|
+
def R=basering;
|
|
344
|
+
def SS=f.in;
|
|
345
|
+
setring SS;
|
|
346
|
+
short=0;
|
|
347
|
+
string st = string(f.value);
|
|
348
|
+
setring R;
|
|
349
|
+
return(st);}
|
|
350
|
+
|
|
351
|
+
static proc addPoly(Poly f,Poly g)
|
|
352
|
+
"USAGE: addPoly(F,G); F Poly, G Poly, F and G is defined over the same ring
|
|
353
|
+
RETURN: add the Poly F and the Poly G
|
|
354
|
+
EXAMPLE: example addPoly, shows an example"
|
|
355
|
+
{
|
|
356
|
+
def R=basering;
|
|
357
|
+
def S1=f.in;
|
|
358
|
+
setring S1;
|
|
359
|
+
Poly fplusg=makePoly(f.value+g.value);
|
|
360
|
+
setring R;
|
|
361
|
+
return(fplusg);}
|
|
362
|
+
example
|
|
363
|
+
{
|
|
364
|
+
"EXAMPLE:"; echo=2;
|
|
365
|
+
ring R=0,(x,y),dp;
|
|
366
|
+
poly f=3*x^2+x*y+1;
|
|
367
|
+
poly g = 4*x^2+2*x*y+x;
|
|
368
|
+
Poly G = makePoly(g);
|
|
369
|
+
Poly F = makePoly(f);
|
|
370
|
+
addPoly(F,G);
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
static proc multPoly(Poly f,Poly g)
|
|
374
|
+
"USAGE: multPoly(F,G); F Poly, G Poly, F and G is defined over the same ring
|
|
375
|
+
RETURN: multiply the Poly F and the Poly G
|
|
376
|
+
EXAMPLE: example multPoly, shows an example"
|
|
377
|
+
{
|
|
378
|
+
def R=basering;
|
|
379
|
+
def S1=f.in;
|
|
380
|
+
setring S1;
|
|
381
|
+
Poly ftimesg=makePoly((f.value)*(g.value));
|
|
382
|
+
setring R;
|
|
383
|
+
return(ftimesg);}
|
|
384
|
+
example
|
|
385
|
+
{
|
|
386
|
+
"EXAMPLE:"; echo=2;
|
|
387
|
+
ring R=0,(x,y),dp;
|
|
388
|
+
poly f=3*x^2+x*y+1;
|
|
389
|
+
poly g = 4*x^2+2*x*y+x;
|
|
390
|
+
Poly G = makePoly(g);
|
|
391
|
+
Poly F = makePoly(f);
|
|
392
|
+
multPoly(F,G);
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
|
|
396
|
+
static proc equalPoly(Poly f,Poly g)
|
|
397
|
+
"USAGE: equalPoly(F,G); F Poly, G Poly, F and G is defined over the same ring
|
|
398
|
+
RETURN: check whether the Poly F and the Poly G are equal
|
|
399
|
+
EXAMPLE: example equalPoly, shows an example"
|
|
400
|
+
{
|
|
401
|
+
def R=basering;
|
|
402
|
+
def S1=f.in;
|
|
403
|
+
setring S1;
|
|
404
|
+
int fgequal=(f.value)==(g.value);
|
|
405
|
+
setring R;
|
|
406
|
+
return(fgequal);}
|
|
407
|
+
example
|
|
408
|
+
{
|
|
409
|
+
"EXAMPLE:"; echo=2;
|
|
410
|
+
ring R=0,(x,y),dp;
|
|
411
|
+
poly f=3*x^2+x*y+1;
|
|
412
|
+
poly g = 4*x^2+2*x*y+x;
|
|
413
|
+
Poly G = makePoly(g);
|
|
414
|
+
Poly F = makePoly(f);
|
|
415
|
+
equalPoly(F,G);
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
|
|
419
|
+
static proc expPoly(Poly f,int n)
|
|
420
|
+
"USAGE: expPoly(F,n); F Poly, n int,
|
|
421
|
+
RETURN: the Poly F to the power n
|
|
422
|
+
EXAMPLE: example expPoly, shows an example"
|
|
423
|
+
{
|
|
424
|
+
def R=basering;
|
|
425
|
+
def S1=f.in;
|
|
426
|
+
setring S1;
|
|
427
|
+
poly fexpn=(f.value)^n;
|
|
428
|
+
Poly Fexpn = makePoly(fexpn);
|
|
429
|
+
setring R;
|
|
430
|
+
return(Fexpn);}
|
|
431
|
+
example
|
|
432
|
+
{
|
|
433
|
+
"EXAMPLE:"; echo=2;
|
|
434
|
+
ring R=0,(x,y),dp;
|
|
435
|
+
poly f=3*x^2+x*y+1;
|
|
436
|
+
Poly F = makePoly(f);
|
|
437
|
+
int n = 2;
|
|
438
|
+
expPoly(F,n);
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
|
|
442
|
+
proc printPolynomialRightEquivalence(PolynomialRightEquivalence RE)
|
|
443
|
+
"USAGE: printPolynomialRightEquivalence(RE); RE PolynomialRightEquivalence
|
|
444
|
+
RETURN: print the transformation RE
|
|
445
|
+
EXAMPLE: example printPolynomialRightEquivalence, shows an example"
|
|
446
|
+
{
|
|
447
|
+
def R=basering;
|
|
448
|
+
def SS=RE.in;
|
|
449
|
+
setring SS;
|
|
450
|
+
"
|
|
451
|
+
Transformation:";
|
|
452
|
+
Poly H;
|
|
453
|
+
for (int i =1;i<=size(RE.images);i++){H = RE.images[i];print(string(var(i))+ "-->"+string(H.value));}
|
|
454
|
+
|
|
455
|
+
setring R;
|
|
456
|
+
}
|
|
457
|
+
example
|
|
458
|
+
{
|
|
459
|
+
"EXAMPLE:"; echo=2;
|
|
460
|
+
ring R=0,(x,y),dp;
|
|
461
|
+
PolynomialRightEquivalence RE;
|
|
462
|
+
RE.in=basering;
|
|
463
|
+
RE.images = list(makePoly(x-x*y),makePoly(y));
|
|
464
|
+
RE.imagesInverse = list(makePoly(x+x*y),makePoly(y));
|
|
465
|
+
printPolynomialRightEquivalence(RE);
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
proc printRightEquivalenceChainWithPrecision(RightEquivalenceChainWithPrecision TT)
|
|
469
|
+
"USAGE: printRightEquivalenceChainWithPrecision(TT); TT RightEquivalenceChainWithPrecision
|
|
470
|
+
RETURN: print the chain of transformations TT
|
|
471
|
+
EXAMPLE: example printRightEquivalenceChainWithPrecision, shows an example"
|
|
472
|
+
{
|
|
473
|
+
def R=basering;
|
|
474
|
+
Poly F = TT.sourcegerm;
|
|
475
|
+
Poly G = TT.targetgerm;
|
|
476
|
+
def SS=F.in;
|
|
477
|
+
setring SS;
|
|
478
|
+
"
|
|
479
|
+
Source germ = " +string(F.value);
|
|
480
|
+
"";
|
|
481
|
+
def PP=TT.targetgerm.in;
|
|
482
|
+
setring PP;
|
|
483
|
+
" Target germ = "+string(G.value);
|
|
484
|
+
"";
|
|
485
|
+
" Precision = " +string(TT.precision);
|
|
486
|
+
"";
|
|
487
|
+
" Transformations:";
|
|
488
|
+
for (int i =1;i<=size(TT.transformations);i++){
|
|
489
|
+
print(TT.transformations[i]);
|
|
490
|
+
}
|
|
491
|
+
setring R;
|
|
492
|
+
}
|
|
493
|
+
example
|
|
494
|
+
{
|
|
495
|
+
"EXAMPLE:"; echo=2;
|
|
496
|
+
RightEquivalenceChainWithPrecision TT;
|
|
497
|
+
ring R=0,(x,y),ds;
|
|
498
|
+
poly f = x+y;
|
|
499
|
+
Poly F = makePoly(f);
|
|
500
|
+
TT.sourcegerm = F;
|
|
501
|
+
map phi = R,x-x*y,y;
|
|
502
|
+
f=phi(f);
|
|
503
|
+
PolynomialRightEquivalence RE;
|
|
504
|
+
RE.in=basering;
|
|
505
|
+
RE.images = list(makePoly(x-x*y),makePoly(y));
|
|
506
|
+
RE.imagesInverse = list(makePoly(x+x*y),makePoly(y));
|
|
507
|
+
TT.transformations[size(TT.transformations)+1]=RE;
|
|
508
|
+
TT.targetgerm.in = basering;
|
|
509
|
+
TT.targetgerm.value=f;
|
|
510
|
+
ring S = (0,a),(x,y),ds;
|
|
511
|
+
minpoly=a^2+1;
|
|
512
|
+
poly f = fetch(R,f);
|
|
513
|
+
map phi = R,x-a*x*y,y;
|
|
514
|
+
f=phi(f);
|
|
515
|
+
PolynomialRightEquivalence RE;
|
|
516
|
+
RE.in=basering;
|
|
517
|
+
RE.images = list(makePoly(x-a*x*y),makePoly(y));
|
|
518
|
+
RE.imagesInverse = list(makePoly(x+a*x*y),makePoly(y));
|
|
519
|
+
TT.transformations[size(TT.transformations)+1]=RE;
|
|
520
|
+
TT.targetgerm.in = basering;
|
|
521
|
+
TT.targetgerm.value=f;
|
|
522
|
+
setring R;
|
|
523
|
+
printRightEquivalenceChainWithPrecision(TT);
|
|
524
|
+
}
|
|
525
|
+
|