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,1456 @@
|
|
|
1
|
+
///////////////////////////////////////////////////////////////////////////////
|
|
2
|
+
version="version nets.lib 4.1.2.0 Feb_2019 "; // $Id: 1447b17a7cc89fb2b9df0506e2b6a7d7cbada460 $
|
|
3
|
+
category="Miscellaneous";
|
|
4
|
+
info="
|
|
5
|
+
LIBRARY: net.lib Net structures for pretty printing
|
|
6
|
+
|
|
7
|
+
AUTHORS: J. Boehm, boehm@mathematik.uni-kl.de
|
|
8
|
+
M. Mueller, mkmuelle@mathematik.uni-kl.de
|
|
9
|
+
H. Rombach, rombach@mathematik.uni-kl.de
|
|
10
|
+
M. Stein, maxstein77@web.de
|
|
11
|
+
|
|
12
|
+
OVERVIEW:
|
|
13
|
+
Nets are arrays of characters, which are printed in a matrix format. They can be
|
|
14
|
+
concatenated horizontally and vertically. When concatenating horizontally, empty
|
|
15
|
+
rows are filled with spaces. All Singular types can be converted to a Net by applying
|
|
16
|
+
the command net.
|
|
17
|
+
|
|
18
|
+
KEYWORDS: net
|
|
19
|
+
|
|
20
|
+
TYPES:
|
|
21
|
+
Net The class of all nets
|
|
22
|
+
|
|
23
|
+
PROCEDURES:
|
|
24
|
+
catNets(Net,Net) horizontal concatenation
|
|
25
|
+
net(def) general procedure to generate a net from a Singular object
|
|
26
|
+
netBigIntMat(bigintmat) procedure to generate a net from a bigintmat
|
|
27
|
+
netBigIntMatShort(bigintmat) procedure to generate a net from a bigintmat
|
|
28
|
+
netCoefficientRing(ring) procedure to generate a net from a Singular coefficient ring
|
|
29
|
+
netIdeal(ideal) procedure to generate a net from an ideal
|
|
30
|
+
netInt(int) procedure to generate a net from a integer
|
|
31
|
+
netBigInt(bigint) procedure to generate a net from a bigint
|
|
32
|
+
netIntMat(intmat) procedure to generate a net from an intmat
|
|
33
|
+
netIntMatShort(intmat) procedure to generate a net from an intmat
|
|
34
|
+
netIntVector(vector) procedure to generate a net from an intvec
|
|
35
|
+
netIntVectorShort(vector) procedure to generate a net from an intvec
|
|
36
|
+
netNumber(number) procedure to generate a net from a number
|
|
37
|
+
netList(list) procedure to generate a net from a list
|
|
38
|
+
netMap(map) procedure to generate a net from a map
|
|
39
|
+
netMap2(map) procedure to generate a net from a map
|
|
40
|
+
netmatrix(matrix) procedure to generate a net from a matrix
|
|
41
|
+
netmatrixShort(matrix) procedure to generate a net from a matrix
|
|
42
|
+
netPoly(poly) procedure to generate a net from a poly
|
|
43
|
+
netPrimePower(int,int) procedure to generate a net from a prime power
|
|
44
|
+
netRing(ring) procedure to generate a net from a polynmial ring
|
|
45
|
+
netString(string) procedure to generate a net from a string
|
|
46
|
+
netvector(vector) procedure to generate a net from a vector
|
|
47
|
+
netvectorShort(vector) procedure to generate a net from a vector
|
|
48
|
+
stackNets(Net,Net) vertical concatenation
|
|
49
|
+
";
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
LIB "matrix.lib";
|
|
53
|
+
LIB "qhmoduli.lib";
|
|
54
|
+
LIB "methods.lib";
|
|
55
|
+
LIB "combinat.lib";
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
/* test rings
|
|
59
|
+
//
|
|
60
|
+
ring r1 = 32003,(x,y,z),dp;
|
|
61
|
+
//
|
|
62
|
+
ring r2 = 32003,(x(1..10)),dp;
|
|
63
|
+
//
|
|
64
|
+
ring r3 = 32003,(x(1..5)(1..8)),dp;
|
|
65
|
+
//
|
|
66
|
+
ring r4 = 0,(a,b,c,d),lp;
|
|
67
|
+
//
|
|
68
|
+
ring r5 = 7,(x,y,z),ds;
|
|
69
|
+
//
|
|
70
|
+
ring r6 = 10,(x,y,z),ds;
|
|
71
|
+
//
|
|
72
|
+
ring r7 = 7,(x(1..6)),(lp(3),dp);
|
|
73
|
+
//
|
|
74
|
+
ring r8 = 0,(x,y,z,a,b,c),(ds(3), dp(3));
|
|
75
|
+
//
|
|
76
|
+
ring r9 = 0,(x,y,z),(c,wp(2,1,3));
|
|
77
|
+
//
|
|
78
|
+
ring r10 = (7,a,b,c),(x,y,z),Dp;
|
|
79
|
+
//
|
|
80
|
+
ring r11 = (7,a),(x,y,z),dp;
|
|
81
|
+
minpoly = a^2+a+3;
|
|
82
|
+
//
|
|
83
|
+
ring r12 = (7^2,a),(x,y,z),dp;
|
|
84
|
+
//
|
|
85
|
+
ring r13 = real,(x,y,z),dp;
|
|
86
|
+
//
|
|
87
|
+
ring r14 = (real,50),(x,y,z),dp;
|
|
88
|
+
//
|
|
89
|
+
ring r15 = (real,10,50),(x,y,z),dp;
|
|
90
|
+
//
|
|
91
|
+
ring r16 = (complex,30,j),(x,y,z),dp;
|
|
92
|
+
//
|
|
93
|
+
ring r17 = complex,(x,y,z),dp;
|
|
94
|
+
//
|
|
95
|
+
ring R = 7,(x,y,z), dp;
|
|
96
|
+
qring r18 = std(maxideal(2));
|
|
97
|
+
//
|
|
98
|
+
ring r19 = integer,(x,y,z), dp;
|
|
99
|
+
//
|
|
100
|
+
ring r20 = (integer, 6, 3),(x,y,z), dp;
|
|
101
|
+
//
|
|
102
|
+
ring r21 = (integer, 100),(x,y,z), dp;
|
|
103
|
+
*/
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
//
|
|
107
|
+
// mod_init
|
|
108
|
+
//
|
|
109
|
+
static proc mod_init()
|
|
110
|
+
{
|
|
111
|
+
LIB "methods.lib";
|
|
112
|
+
newstruct("Net","list rows");
|
|
113
|
+
system("install","Net","print",printNet,1);
|
|
114
|
+
system("install","Net","+",catNets,2);
|
|
115
|
+
HashTable F = hashTable(list(list("ring"),list("matrix"),list("int"),list("string"),list("list"),list("poly"),list("map"),list("number"),list("bigint"),list("vector"),list("ideal"),list("intvec"),list("intmat"),list("bigintmat")),
|
|
116
|
+
list("netRing", "netmatrix", "netInt", "netString", "netList", "netPoly", "netMap", "netNumber", "netBigInt", "netvector", "netIdeal", "netIntVector","netIntMat","netBigIntMat"));
|
|
117
|
+
Method net_ = method(F);
|
|
118
|
+
export(net_);
|
|
119
|
+
installMethod(net_,"net");
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
//
|
|
125
|
+
// emptyString
|
|
126
|
+
//
|
|
127
|
+
static proc emptyString(int n)
|
|
128
|
+
{
|
|
129
|
+
string S="";
|
|
130
|
+
for (int j=1; j<=n; j++)
|
|
131
|
+
{
|
|
132
|
+
S=S+" ";
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
return(S);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
//
|
|
141
|
+
// printNet
|
|
142
|
+
//
|
|
143
|
+
static proc printNet(Net N)
|
|
144
|
+
{
|
|
145
|
+
list L = N.rows;
|
|
146
|
+
for (int j=1; j<=size(L); j++)
|
|
147
|
+
{
|
|
148
|
+
print(L[j]);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
//
|
|
155
|
+
// stackNets
|
|
156
|
+
//
|
|
157
|
+
proc stackNets(Net N, Net M)
|
|
158
|
+
"USAGE: stackNets(N,M); N,M Nets@*
|
|
159
|
+
RETURN: vertical concatenation of N and M
|
|
160
|
+
THEORY: The nets are concated vertically with alignment at the left column.
|
|
161
|
+
KEYWORDS: Output
|
|
162
|
+
EXAMPLE: example stackNets; shows an example
|
|
163
|
+
"
|
|
164
|
+
{
|
|
165
|
+
list LN=N.rows;
|
|
166
|
+
list LM=M.rows;
|
|
167
|
+
Net NM;
|
|
168
|
+
NM.rows=LN+LM;
|
|
169
|
+
|
|
170
|
+
return(NM);
|
|
171
|
+
}
|
|
172
|
+
example
|
|
173
|
+
{
|
|
174
|
+
"EXAMPLE:";
|
|
175
|
+
Net A = net("aaa");
|
|
176
|
+
Net B = net("b");
|
|
177
|
+
stackNets(A,B);
|
|
178
|
+
A+B;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
//
|
|
184
|
+
// catNets
|
|
185
|
+
//
|
|
186
|
+
proc catNets(Net N, Net M)
|
|
187
|
+
"USAGE: catNets(N,M); N,M Nets@*
|
|
188
|
+
RETURN: horizontal concatenation of N and M
|
|
189
|
+
THEORY: The nets are concated horizontally with alignment at the top row. Can also be called with +.
|
|
190
|
+
KEYWORDS: Output
|
|
191
|
+
EXAMPLE: example catNets; shows an example
|
|
192
|
+
"
|
|
193
|
+
{
|
|
194
|
+
list L, MAX;
|
|
195
|
+
list LN=N.rows;
|
|
196
|
+
list LM=M.rows;
|
|
197
|
+
int widthN=size(LN[1]);
|
|
198
|
+
int widthM=size(LM[1]);
|
|
199
|
+
MAX[1]=size(LN);
|
|
200
|
+
MAX[2]=size(LM);
|
|
201
|
+
int nm=Max(MAX); /*Eine Funktion max() ist in der Bib qhmoduli.lib und heißt Max(), als Argumente nimmt die Funktion Integer-Vektoren oder -Listen*/
|
|
202
|
+
for (int j=1; j<=nm; j++)
|
|
203
|
+
{
|
|
204
|
+
if (j>size(LN)){LN[j]=emptyString(widthN);}
|
|
205
|
+
if (j>size(LM)){LM[j]=emptyString(widthM);}
|
|
206
|
+
L[j]=LN[j]+LM[j];
|
|
207
|
+
}
|
|
208
|
+
Net NM;
|
|
209
|
+
NM.rows=L;
|
|
210
|
+
|
|
211
|
+
return(NM);
|
|
212
|
+
}
|
|
213
|
+
example
|
|
214
|
+
{
|
|
215
|
+
"EXAMPLE:";
|
|
216
|
+
Net A = net("aaa");
|
|
217
|
+
Net B = net("b");
|
|
218
|
+
catNets(A,B);
|
|
219
|
+
A+B;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
//
|
|
225
|
+
// netList
|
|
226
|
+
//
|
|
227
|
+
proc netList(list L1)
|
|
228
|
+
"USAGE: netList(L); L list@*
|
|
229
|
+
ASSUME: L is a list of elements
|
|
230
|
+
RETURN: visual presentation of L
|
|
231
|
+
THEORY: A Singular object is converted into a character array (a Net) for on screen printing.
|
|
232
|
+
KEYWORDS: Output
|
|
233
|
+
EXAMPLE: example netList; shows an example
|
|
234
|
+
"
|
|
235
|
+
{
|
|
236
|
+
Net N = net("[");
|
|
237
|
+
for (int j=1; j<=size(L1)-1; j++)
|
|
238
|
+
{
|
|
239
|
+
N=N+net(string(L1[j]))+net(", ");
|
|
240
|
+
//N=N+net((L1[j]))+net(", ");
|
|
241
|
+
}
|
|
242
|
+
N=N+net(string(L1[size(L1)]))+net("]");
|
|
243
|
+
//N=N+net((L1[size(L1)]))+net("]");
|
|
244
|
+
return(N);
|
|
245
|
+
}
|
|
246
|
+
example
|
|
247
|
+
{
|
|
248
|
+
"EXAMPLE:";
|
|
249
|
+
ring r1=101,(x,y,z),lp;
|
|
250
|
+
list L=111, x+y, x3y-z, y+3z4;
|
|
251
|
+
print("list L=111, x+y, x3y-z, y+3z4");
|
|
252
|
+
netList(L);
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
proc netNumber(number a)
|
|
257
|
+
"USAGE: netNumber(R); a number@*
|
|
258
|
+
ASSUME: a is a number
|
|
259
|
+
RETURN: visual presentation of a
|
|
260
|
+
THEORY: A Singular object is converted into a character array (a Net) for on screen printing.
|
|
261
|
+
KEYWORDS: Output
|
|
262
|
+
EXAMPLE: example netNumber; shows an example
|
|
263
|
+
"
|
|
264
|
+
{
|
|
265
|
+
return(netPoly(a));
|
|
266
|
+
}
|
|
267
|
+
example
|
|
268
|
+
{
|
|
269
|
+
"EXAMPLE:";
|
|
270
|
+
ring r1=101,(x,y,z),lp;
|
|
271
|
+
number a = 5;
|
|
272
|
+
netNumber(a);
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
//
|
|
279
|
+
// netCoefficientRing
|
|
280
|
+
// todo: RR,CC
|
|
281
|
+
proc netCoefficientRing(def R)
|
|
282
|
+
"USAGE: netCoefficientRing(R); R ring@*
|
|
283
|
+
ASSUME: R is a ring
|
|
284
|
+
RETURN: visual presentation of the coefficient ring of R
|
|
285
|
+
THEORY: A Singular object is converted into a character array (a Net) for on screen printing.
|
|
286
|
+
KEYWORDS: Output
|
|
287
|
+
EXAMPLE: example netCoefficientRing; shows an example
|
|
288
|
+
"
|
|
289
|
+
{
|
|
290
|
+
list RL = ringlist(R);
|
|
291
|
+
Net field;
|
|
292
|
+
list pf;
|
|
293
|
+
if (typeof(RL[1])=="list")
|
|
294
|
+
{
|
|
295
|
+
if (typeof(RL[1][1])=="string") {return(net("ZZ"));}
|
|
296
|
+
if (RL[1][1]==0){
|
|
297
|
+
field=net("QQ");
|
|
298
|
+
if (minpoly!=0){
|
|
299
|
+
field=field+net("[")+net(string(RL[1][2]))+net("]");
|
|
300
|
+
field=field+net("/")+net(string(minpoly));
|
|
301
|
+
} else {
|
|
302
|
+
field=field+net("(")+net(string(RL[1][2]))+net(")");
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
if (RL[1][1]>0){
|
|
306
|
+
pf = primefactors(RL[1][1]);
|
|
307
|
+
if (pf[2][1]>1)
|
|
308
|
+
{
|
|
309
|
+
field=net("FF_")+netPrimePower(pf[1][1],pf[2][1]);
|
|
310
|
+
} else {
|
|
311
|
+
field=net("FF_")+net(RL[1][1]);
|
|
312
|
+
if (minpoly!=0){
|
|
313
|
+
field=field+net("[")+net(string(RL[1][2]))+net("]");
|
|
314
|
+
field=field+net("/")+net(string(minpoly));
|
|
315
|
+
} else {
|
|
316
|
+
field=field+net("(")+net(string(RL[1][2]))+net(")");
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
} else {
|
|
321
|
+
if (RL[1]==0){field=net("QQ");}
|
|
322
|
+
if (RL[1]>0){
|
|
323
|
+
field=net("FF_")+net(RL[1]);
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
return(field);
|
|
327
|
+
}
|
|
328
|
+
example{
|
|
329
|
+
"EXAMPLE";
|
|
330
|
+
ring r=0,x,lp;
|
|
331
|
+
netCoefficientRing(r);
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
//
|
|
337
|
+
// netPrimePower
|
|
338
|
+
//
|
|
339
|
+
proc netPrimePower(int n, int m)
|
|
340
|
+
"USAGE: netPrimePower(n,m); n,m int@*
|
|
341
|
+
RETURN: visual presentation of the prime power n^m
|
|
342
|
+
THEORY: A Singular object is converted into a character array (a Net) for on screen printing.
|
|
343
|
+
KEYWORDS: Output
|
|
344
|
+
EXAMPLE: example netPrimePower; shows an example
|
|
345
|
+
"
|
|
346
|
+
{
|
|
347
|
+
/*
|
|
348
|
+
if (r==1)
|
|
349
|
+
{
|
|
350
|
+
return(string("n"));
|
|
351
|
+
}
|
|
352
|
+
*/
|
|
353
|
+
string S=string(n)+string("^")+string(m);
|
|
354
|
+
return(net(/*(n)+net("^")+net(r)*/ S));
|
|
355
|
+
}
|
|
356
|
+
example{
|
|
357
|
+
"EXAMPLE";
|
|
358
|
+
ring r=0,x,lp;
|
|
359
|
+
int n=2;
|
|
360
|
+
int m=5;
|
|
361
|
+
netPrimePower(n,m);
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
//
|
|
367
|
+
// netRing
|
|
368
|
+
//
|
|
369
|
+
proc netRing(def R)
|
|
370
|
+
"USAGE: netRing(f); f ring@*
|
|
371
|
+
ASSUME: R is a ring
|
|
372
|
+
RETURN: visual presentation of R
|
|
373
|
+
THEORY: A Singular object is converted into a character array (a Net) for on screen printing.
|
|
374
|
+
KEYWORDS: Output
|
|
375
|
+
EXAMPLE: example netRing; shows an example
|
|
376
|
+
"
|
|
377
|
+
{
|
|
378
|
+
list RL = ringlist(R);
|
|
379
|
+
if (size(RL[4])==0){
|
|
380
|
+
Net N=netCoefficientRing(R)+net("[")+net(string(RL[2]))+net("]");
|
|
381
|
+
} else {
|
|
382
|
+
Net N=netCoefficientRing(R)+net("[")+net(string(RL[2]))+net("] / ")+net(RL[4]);
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
return(N);
|
|
386
|
+
}
|
|
387
|
+
example
|
|
388
|
+
{
|
|
389
|
+
"EXAMPLE:"; // from 3.3.1 Examples of ring declarations
|
|
390
|
+
ring r1 = 32003,(x,y,z),dp;
|
|
391
|
+
netRing(r1);
|
|
392
|
+
//
|
|
393
|
+
ring r2 = 32003,(x(1..10)),dp;
|
|
394
|
+
netRing(r2);
|
|
395
|
+
//
|
|
396
|
+
ring r3 = 32003,(x(1..5)(1..8)),dp;
|
|
397
|
+
netRing(r3);
|
|
398
|
+
//
|
|
399
|
+
ring r4 = 0,(a,b,c,d),lp;
|
|
400
|
+
netRing(r4);
|
|
401
|
+
//
|
|
402
|
+
ring r5 = 7,(x,y,z),ds;
|
|
403
|
+
netRing(r5);
|
|
404
|
+
//
|
|
405
|
+
ring r6 = 10,(x,y,z),ds;
|
|
406
|
+
netRing(r6);
|
|
407
|
+
//
|
|
408
|
+
ring r7 = 7,(x(1..6)),(lp(3),dp);
|
|
409
|
+
netRing(r7);
|
|
410
|
+
//
|
|
411
|
+
ring r8 = 0,(x,y,z,a,b,c),(ds(3), dp(3));
|
|
412
|
+
netRing(r8);
|
|
413
|
+
//
|
|
414
|
+
ring r9 = 0,(x,y,z),(c,wp(2,1,3));
|
|
415
|
+
netRing(r9);
|
|
416
|
+
//
|
|
417
|
+
ring r10 = (7,a,b,c),(x,y,z),Dp;
|
|
418
|
+
netRing(r10);
|
|
419
|
+
//
|
|
420
|
+
ring r11 = (7,a),(x,y,z),dp;
|
|
421
|
+
minpoly = a^2+a+3;
|
|
422
|
+
netRing(r11);
|
|
423
|
+
//
|
|
424
|
+
ring r12 = (7^2,a),(x,y,z),dp;
|
|
425
|
+
netRing(r12);
|
|
426
|
+
//
|
|
427
|
+
ring r13 = real,(x,y,z),dp;
|
|
428
|
+
netRing(r13);
|
|
429
|
+
//
|
|
430
|
+
ring r14 = (real,50),(x,y,z),dp;
|
|
431
|
+
netRing(r14);
|
|
432
|
+
//
|
|
433
|
+
ring r15 = (real,10,50),(x,y,z),dp;
|
|
434
|
+
netRing(r15);
|
|
435
|
+
//
|
|
436
|
+
ring r16 = (complex,30,j),(x,y,z),dp;
|
|
437
|
+
netRing(r16);
|
|
438
|
+
//
|
|
439
|
+
ring r17 = complex,(x,y,z),dp;
|
|
440
|
+
netRing(r17);
|
|
441
|
+
//
|
|
442
|
+
ring R = 7,(x,y,z), dp;
|
|
443
|
+
qring r18 = std(maxideal(2));
|
|
444
|
+
netRing(r18);
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
|
|
448
|
+
|
|
449
|
+
|
|
450
|
+
//
|
|
451
|
+
// netMap
|
|
452
|
+
//
|
|
453
|
+
proc netMap( map f)
|
|
454
|
+
"USAGE: netMap(f); f map@*
|
|
455
|
+
ASSUME: f is a map from a ring to the basering
|
|
456
|
+
RETURN: visual presentation of the map f
|
|
457
|
+
THEORY: A Singular object is converted into a character array (a Net) for on screen printing.
|
|
458
|
+
KEYWORDS: Output
|
|
459
|
+
EXAMPLE: example netMap; shows an example
|
|
460
|
+
"
|
|
461
|
+
{
|
|
462
|
+
// 0
|
|
463
|
+
list Output;
|
|
464
|
+
string Map, Source, Target;
|
|
465
|
+
int i, v, empty;
|
|
466
|
+
Net M;
|
|
467
|
+
|
|
468
|
+
// 1
|
|
469
|
+
Map=string(nameof(f));
|
|
470
|
+
Source=string(nameof(preimage(f)));
|
|
471
|
+
Target=string(nameof(basering));
|
|
472
|
+
Output[1]="Map"+": "+Source+" --> "+Target;
|
|
473
|
+
v=nvars(preimage(f));
|
|
474
|
+
empty=size(Output[1]);
|
|
475
|
+
Output[1]=Output[1]+" , "+string(ringlist(preimage(f))[2][1])+" -> "+string(f[1]);
|
|
476
|
+
|
|
477
|
+
// 2
|
|
478
|
+
for (i=2; i<=v; i++){// +2
|
|
479
|
+
Output[i]=emptyString(empty)+" , "+string(ringlist(preimage(f))[2][i])+" -> "+string(f[i]);
|
|
480
|
+
}// -2
|
|
481
|
+
|
|
482
|
+
// 3
|
|
483
|
+
M.rows=Output;
|
|
484
|
+
|
|
485
|
+
// -
|
|
486
|
+
return(M);
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
example
|
|
490
|
+
{
|
|
491
|
+
"EXAMPLE:";
|
|
492
|
+
ring r1=101,(x,y,z),lp;
|
|
493
|
+
ring r2=103,(a,b,c),lp;
|
|
494
|
+
map f=r1,ab,ac,bc;
|
|
495
|
+
netMap(f);
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
|
|
499
|
+
|
|
500
|
+
//
|
|
501
|
+
// netMap2
|
|
502
|
+
//
|
|
503
|
+
proc netMap2( map f)
|
|
504
|
+
"USAGE: netMap2(f); f map@*
|
|
505
|
+
ASSUME: f is a map from a ring to the basering
|
|
506
|
+
RETURN: visual presentation of the map f, alternative version
|
|
507
|
+
THEORY: A Singular object is converted into a character array (a Net) for on screen printing.
|
|
508
|
+
KEYWORDS: Output
|
|
509
|
+
EXAMPLE: example netMap2; shows an example
|
|
510
|
+
"
|
|
511
|
+
{
|
|
512
|
+
// 0
|
|
513
|
+
list Output;
|
|
514
|
+
string Map, Source, Target;
|
|
515
|
+
int i, v, empty;
|
|
516
|
+
Net M;
|
|
517
|
+
|
|
518
|
+
// 1
|
|
519
|
+
Map=string(nameof(f));
|
|
520
|
+
Source=string(nameof(preimage(f)));
|
|
521
|
+
Target=string(nameof(basering));
|
|
522
|
+
Output[1]=Map+": "+Source+" --> "+Target;
|
|
523
|
+
v=nvars(preimage(f));
|
|
524
|
+
empty=size(Output[1]);
|
|
525
|
+
Output[1]=Output[1]+" , "+string(ringlist(preimage(f))[2][1])+" -> "+string(f[1]);
|
|
526
|
+
|
|
527
|
+
// 2
|
|
528
|
+
for (i=2; i<=v; i++){// +2
|
|
529
|
+
Output[1]=Output[1]+" , "+string(ringlist(preimage(f))[2][i])+" -> "+string(f[i]);
|
|
530
|
+
}// -2
|
|
531
|
+
|
|
532
|
+
// 3
|
|
533
|
+
M.rows=Output;
|
|
534
|
+
|
|
535
|
+
// -
|
|
536
|
+
return(M);
|
|
537
|
+
}
|
|
538
|
+
example
|
|
539
|
+
{
|
|
540
|
+
"EXAMPLE:";
|
|
541
|
+
ring r1=101,(x,y,z),lp;
|
|
542
|
+
ring r2=103,(a,b,c),lp;
|
|
543
|
+
map f=r1,ab,ac,bc;
|
|
544
|
+
netMap2(f);
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
|
|
548
|
+
|
|
549
|
+
//
|
|
550
|
+
// netBigIntMat - Leerzeile
|
|
551
|
+
//
|
|
552
|
+
proc netBigIntMat(bigintmat M, list#)
|
|
553
|
+
"USAGE: netBigIntMat(M); M bigint Matrix@*
|
|
554
|
+
ASSUME: M is a bigintmatrix
|
|
555
|
+
RETURN: visual presentation of M
|
|
556
|
+
THEORY: A Singular object is converted into a character array (a Net) for on screen printing.
|
|
557
|
+
KEYWORDS: Output
|
|
558
|
+
EXAMPLE: example netBigIntMatrix; shows an example
|
|
559
|
+
"
|
|
560
|
+
{
|
|
561
|
+
// 0
|
|
562
|
+
int Length=100; //Length of Output
|
|
563
|
+
|
|
564
|
+
// -
|
|
565
|
+
return(netBigIntMatShort(M,Length));
|
|
566
|
+
}
|
|
567
|
+
example
|
|
568
|
+
{
|
|
569
|
+
"EXAMPLE:";
|
|
570
|
+
ring r1=101,(x,y,z),lp;
|
|
571
|
+
int a=111111;
|
|
572
|
+
int b=22222;
|
|
573
|
+
int c=3333;
|
|
574
|
+
int d=444;
|
|
575
|
+
bigintmat M[2][2]=a,b,c,d;
|
|
576
|
+
netBigIntMat(M);
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
|
|
580
|
+
|
|
581
|
+
//
|
|
582
|
+
// netBigIntMatrixShort - Leerzeile
|
|
583
|
+
//
|
|
584
|
+
proc netBigIntMatShort(bigintmat M, list #)
|
|
585
|
+
"USAGE: netBigIntMatShort(M); M bigint matrix@*
|
|
586
|
+
ASSUME: M is a bigintmatrix
|
|
587
|
+
RETURN: visual presentation of M, only the first digits of each entry
|
|
588
|
+
THEORY: A Singular object is converted into a character array (a Net) for on screen printing.
|
|
589
|
+
KEYWORDS: Output
|
|
590
|
+
EXAMPLE: example netBigIntMatShort; shows an example
|
|
591
|
+
"
|
|
592
|
+
{
|
|
593
|
+
// 0
|
|
594
|
+
int Length=10; // Länge der Ausgabe
|
|
595
|
+
string S;
|
|
596
|
+
list L, SizeCol, SizeColShort;
|
|
597
|
+
int wd,defect;
|
|
598
|
+
int i,j;
|
|
599
|
+
|
|
600
|
+
// 1
|
|
601
|
+
if( size(#)!=0 ){// + 1
|
|
602
|
+
Length=#[1];
|
|
603
|
+
}// - 1
|
|
604
|
+
|
|
605
|
+
// 2
|
|
606
|
+
for (j=1; j <= ncols(M); j++){// +2
|
|
607
|
+
SizeCol[j]=0;
|
|
608
|
+
}// -2
|
|
609
|
+
|
|
610
|
+
// 3
|
|
611
|
+
for (j=1; j <= ncols(M); j++){// +3
|
|
612
|
+
SizeColShort[j]=0;
|
|
613
|
+
}// -3
|
|
614
|
+
|
|
615
|
+
// 4
|
|
616
|
+
for (j=1; j <= ncols(M); j++){// +4
|
|
617
|
+
for (i=1; i <= nrows(M) ; i++){// +4.1
|
|
618
|
+
if ( SizeColShort[j] < size(string(M[i,j])) ){// +4.1.1
|
|
619
|
+
SizeCol[j]=size(string(M[i,j]));
|
|
620
|
+
SizeColShort[j]=size(string(M[i,j]));
|
|
621
|
+
}// -4.1.1
|
|
622
|
+
}// -4.1
|
|
623
|
+
}// -4
|
|
624
|
+
|
|
625
|
+
// 5
|
|
626
|
+
for (j=1; j <= ncols(M); j++){// +5
|
|
627
|
+
if( SizeColShort[j] > Length ){// +5.1
|
|
628
|
+
SizeColShort[j]=Length;
|
|
629
|
+
}// -5.1
|
|
630
|
+
}// -5
|
|
631
|
+
|
|
632
|
+
// 6
|
|
633
|
+
for (i=1; i<=nrows(M); i++ ){// +6
|
|
634
|
+
for (j=1; j<=ncols(M); j++ ){// +6.1
|
|
635
|
+
if ( j!=1 ){// +6.1.1
|
|
636
|
+
S=S+" ";
|
|
637
|
+
}// -6.1.1
|
|
638
|
+
if ( SizeCol[j] > Length ){// -6.1.2
|
|
639
|
+
if ( size(string(M[i,j])) > Length ){// +6.1.2.1
|
|
640
|
+
S=S+string(M[i,j])[1,Length]+"...";
|
|
641
|
+
}// -6.1.2.1
|
|
642
|
+
else{// +6.1.2.2
|
|
643
|
+
defect=SizeColShort[j]+3-size(string(M[i,j]));
|
|
644
|
+
S=S+string(M[i,j])+emptyString(defect);
|
|
645
|
+
}// -6.1.2.2
|
|
646
|
+
}// -6.1.2
|
|
647
|
+
else{// +6.1.3
|
|
648
|
+
defect=SizeColShort[j]-size(string(M[i,j]));
|
|
649
|
+
S=S+string(M[i,j])+emptyString(defect);
|
|
650
|
+
}// -6.1.3
|
|
651
|
+
}// -6.1
|
|
652
|
+
L[i]=S;
|
|
653
|
+
S="";
|
|
654
|
+
}// -6
|
|
655
|
+
|
|
656
|
+
// 7
|
|
657
|
+
for (j=1; j<=nrows(M); j++){// +7
|
|
658
|
+
L[j]="| "+L[j]+" |";
|
|
659
|
+
}// -7
|
|
660
|
+
|
|
661
|
+
// 8
|
|
662
|
+
Net NM;
|
|
663
|
+
NM.rows=L;
|
|
664
|
+
|
|
665
|
+
// -
|
|
666
|
+
return(NM);
|
|
667
|
+
}
|
|
668
|
+
example
|
|
669
|
+
{
|
|
670
|
+
"EXAMPLE:";
|
|
671
|
+
ring r1=101,(x,y,z),lp;
|
|
672
|
+
bigint a=1111111111;
|
|
673
|
+
bigint b=2222222222;
|
|
674
|
+
bigint c=3333333333;
|
|
675
|
+
bigint d=4444444444;
|
|
676
|
+
bigintmat M[2][2]=a,b,c,d;
|
|
677
|
+
netBigIntMatShort(M);
|
|
678
|
+
}
|
|
679
|
+
|
|
680
|
+
|
|
681
|
+
|
|
682
|
+
//
|
|
683
|
+
// netIntMatrix
|
|
684
|
+
//
|
|
685
|
+
proc netIntMat(intmat M)
|
|
686
|
+
"USAGE: netIntMat(M); M int matrix@*
|
|
687
|
+
ASSUME: M is a int matrix
|
|
688
|
+
RETURN: visual presentation of M
|
|
689
|
+
THEORY: A Singular object is converted into a character array (a Net) for on screen printing.
|
|
690
|
+
KEYWORDS: Output
|
|
691
|
+
EXAMPLE: example netBigIntMat; shows an example
|
|
692
|
+
"
|
|
693
|
+
{
|
|
694
|
+
// 0
|
|
695
|
+
int m=nrows(M);
|
|
696
|
+
int n=ncols(M);
|
|
697
|
+
|
|
698
|
+
// 1
|
|
699
|
+
bigintmat B[m][n]=M;
|
|
700
|
+
Net Output=netBigIntMat(B);
|
|
701
|
+
|
|
702
|
+
// -
|
|
703
|
+
return(Output);
|
|
704
|
+
}
|
|
705
|
+
example
|
|
706
|
+
{
|
|
707
|
+
"EXAMPLE:";
|
|
708
|
+
ring r1=101,(x,y,z),lp;
|
|
709
|
+
int a=111111;
|
|
710
|
+
int b=222222;
|
|
711
|
+
int c=333333;
|
|
712
|
+
int d=444444;
|
|
713
|
+
intmat M[2][2]=a,b,c,d;
|
|
714
|
+
netIntMat(M);
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
|
|
718
|
+
|
|
719
|
+
//
|
|
720
|
+
// netIntMatShort - Leerzeile
|
|
721
|
+
//
|
|
722
|
+
proc netIntMatShort(intmat M, list #)
|
|
723
|
+
"USAGE: netIntMatShort(M); M int matrix@*
|
|
724
|
+
ASSUME: M is a int matrix
|
|
725
|
+
RETURN: visual presentation of M, only the first digits of each entry
|
|
726
|
+
THEORY: A Singular object is converted into a character array (a Net) for on screen printing.
|
|
727
|
+
KEYWORDS: Output
|
|
728
|
+
EXAMPLE: example netIntMatShort; shows an example
|
|
729
|
+
"
|
|
730
|
+
{
|
|
731
|
+
// 0
|
|
732
|
+
int m=nrows(M);
|
|
733
|
+
int n=ncols(M);
|
|
734
|
+
|
|
735
|
+
// 1
|
|
736
|
+
bigintmat B[m][n]=bigintmat(M);
|
|
737
|
+
|
|
738
|
+
// 2
|
|
739
|
+
if( size(#)!=0 ){// +2.1
|
|
740
|
+
Net Output=netBigIntMatShort(B, #[1]);
|
|
741
|
+
}// -2.1
|
|
742
|
+
else{// +2.1
|
|
743
|
+
Net Output=netBigIntMatShort(B);
|
|
744
|
+
}// -2.2
|
|
745
|
+
|
|
746
|
+
// -
|
|
747
|
+
return(Output);
|
|
748
|
+
}
|
|
749
|
+
example
|
|
750
|
+
{
|
|
751
|
+
"EXAMPLE:";
|
|
752
|
+
ring r1=101,(x,y,z),lp;
|
|
753
|
+
int a=111111;
|
|
754
|
+
int b=222222;
|
|
755
|
+
int c=333333;
|
|
756
|
+
int d=444444;
|
|
757
|
+
intmat M[2][2]=a,b,c,d;
|
|
758
|
+
print(M);
|
|
759
|
+
netIntMatShort(M);
|
|
760
|
+
//
|
|
761
|
+
print(M);
|
|
762
|
+
netIntMatShort(M,2);
|
|
763
|
+
//
|
|
764
|
+
}
|
|
765
|
+
|
|
766
|
+
|
|
767
|
+
|
|
768
|
+
//
|
|
769
|
+
// netIntVector - Leerzeile
|
|
770
|
+
//
|
|
771
|
+
proc netIntVector(intvec V)
|
|
772
|
+
"USAGE: netIntVector(V); V int vector@*
|
|
773
|
+
ASSUME: V is a int vector
|
|
774
|
+
RETURN: visual presentation of V
|
|
775
|
+
THEORY: A Singular object is converted into a character array (a Net) for on screen printing.
|
|
776
|
+
KEYWORDS: Output
|
|
777
|
+
EXAMPLE: example netIntVector; shows an example
|
|
778
|
+
"
|
|
779
|
+
{
|
|
780
|
+
// 0
|
|
781
|
+
intmat M=intmat(V);
|
|
782
|
+
|
|
783
|
+
// 1
|
|
784
|
+
Net Output;
|
|
785
|
+
Output=netIntMat(M);
|
|
786
|
+
|
|
787
|
+
// -
|
|
788
|
+
return(Output);
|
|
789
|
+
}
|
|
790
|
+
example
|
|
791
|
+
{
|
|
792
|
+
"EXAMPLE:";
|
|
793
|
+
ring r1=101,(x,y,z),lp;
|
|
794
|
+
int a=111111;
|
|
795
|
+
int b=222222;
|
|
796
|
+
int c=333333;
|
|
797
|
+
int d=444444;
|
|
798
|
+
intvec V=a,b,c,d;
|
|
799
|
+
netIntVector(V);
|
|
800
|
+
}
|
|
801
|
+
|
|
802
|
+
|
|
803
|
+
|
|
804
|
+
//
|
|
805
|
+
// netIntVectorShort - Beispiel funktioniert nicht
|
|
806
|
+
//
|
|
807
|
+
proc netIntVectorShort(intvec V, list #)
|
|
808
|
+
"USAGE: netIntVectorShort(V); V int vector@*
|
|
809
|
+
ASSUME: V is a int vector
|
|
810
|
+
RETURN: visual presentation of V, only the first digits of each entry
|
|
811
|
+
THEORY: A Singular object is converted into a character array (a Net) for on screen printing.
|
|
812
|
+
KEYWORDS: Output
|
|
813
|
+
EXAMPLE: example netIntVectorShort; shows an example
|
|
814
|
+
"
|
|
815
|
+
{
|
|
816
|
+
// 0
|
|
817
|
+
intmat M=intmat(V);
|
|
818
|
+
|
|
819
|
+
// 1
|
|
820
|
+
Net Output;
|
|
821
|
+
|
|
822
|
+
// 2
|
|
823
|
+
if( size(#) != 0){// +2.1
|
|
824
|
+
Output=netIntMatShort(M, #[1]);
|
|
825
|
+
}// -2.1
|
|
826
|
+
else{// +2.2
|
|
827
|
+
Output=netIntMatShort(M);
|
|
828
|
+
}// -2.2
|
|
829
|
+
|
|
830
|
+
// -
|
|
831
|
+
return(Output);
|
|
832
|
+
}
|
|
833
|
+
example
|
|
834
|
+
{
|
|
835
|
+
"EXAMPLE:";
|
|
836
|
+
ring r1=101,(x,y,z),lp;
|
|
837
|
+
int a=111111;
|
|
838
|
+
int b=222222;
|
|
839
|
+
int c=333333;
|
|
840
|
+
int d=444444;
|
|
841
|
+
intvec V=a,b,c,d;
|
|
842
|
+
netIntVectorShort(V,4);
|
|
843
|
+
}
|
|
844
|
+
|
|
845
|
+
|
|
846
|
+
|
|
847
|
+
//
|
|
848
|
+
// netmatrix – Leerzeile
|
|
849
|
+
//
|
|
850
|
+
proc netmatrix(matrix M, list #)
|
|
851
|
+
"USAGE: netmatrix(V); M matrix@*
|
|
852
|
+
ASSUME: M is a matrix
|
|
853
|
+
RETURN: visual presentation of M
|
|
854
|
+
THEORY: A Singular object is converted into a character array (a Net) for on screen printing.
|
|
855
|
+
KEYWORDS: Output
|
|
856
|
+
EXAMPLE: example netmatrix; shows an example
|
|
857
|
+
"
|
|
858
|
+
{
|
|
859
|
+
// 0
|
|
860
|
+
int Size=50;
|
|
861
|
+
|
|
862
|
+
// 1
|
|
863
|
+
if( size(#)!=0 ){// +1
|
|
864
|
+
Size=#[1];
|
|
865
|
+
}// -1
|
|
866
|
+
|
|
867
|
+
// -
|
|
868
|
+
return(netmatrixShort(M, Size));
|
|
869
|
+
}
|
|
870
|
+
example
|
|
871
|
+
{
|
|
872
|
+
"EXAMPLE:";
|
|
873
|
+
ring r1=101,(x,y,z),lp;
|
|
874
|
+
poly a=2x3y4+300xy-234z23;
|
|
875
|
+
poly b=2x3y4z;
|
|
876
|
+
poly c=x3y4z5;
|
|
877
|
+
poly d=5x6y7z10;
|
|
878
|
+
poly e=2x3y;
|
|
879
|
+
poly f=4y5z8;
|
|
880
|
+
matrix M[2][3]=a,b,c,d,e,f;
|
|
881
|
+
print(M);
|
|
882
|
+
netmatrix(M);
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
|
|
886
|
+
|
|
887
|
+
//
|
|
888
|
+
// netmatrixShort
|
|
889
|
+
//
|
|
890
|
+
proc netmatrixShort(matrix M, list #)
|
|
891
|
+
"USAGE: netmatrixShort(M); M matrix@*
|
|
892
|
+
ASSUME: M is a matrix
|
|
893
|
+
RETURN: visual presentation of M
|
|
894
|
+
THEORY: A Singular object is converted into a character array (a Net) for on screen printing.
|
|
895
|
+
KEYWORDS: Output
|
|
896
|
+
EXAMPLE: example netmatrixShort; shows an example
|
|
897
|
+
"
|
|
898
|
+
{
|
|
899
|
+
int i, j;
|
|
900
|
+
list breite = list();
|
|
901
|
+
Net Output;
|
|
902
|
+
string Zeile;
|
|
903
|
+
|
|
904
|
+
//maximale Spaltenbreite setzen
|
|
905
|
+
for (i=1; i<=ncols(M); i++){
|
|
906
|
+
breite = breite + list(0);
|
|
907
|
+
for (j=1; j<=nrows(M); j++){
|
|
908
|
+
if (breite[i] < size(string(M[j,i]))){
|
|
909
|
+
breite[i] = size(string(M[j,i]));
|
|
910
|
+
}
|
|
911
|
+
}
|
|
912
|
+
}
|
|
913
|
+
|
|
914
|
+
//einfügen
|
|
915
|
+
for (i=1; i<=nrows(M); i++){
|
|
916
|
+
Zeile = "| ";
|
|
917
|
+
for (j=1; j<=ncols(M); j++){
|
|
918
|
+
Zeile = Zeile + string(M[i,j]) + emptyString( breite[j] - size(string(M[i,j])) + 1);
|
|
919
|
+
|
|
920
|
+
}
|
|
921
|
+
Output.rows[i] = Zeile + "|";
|
|
922
|
+
}
|
|
923
|
+
|
|
924
|
+
return (Output);
|
|
925
|
+
}
|
|
926
|
+
example
|
|
927
|
+
{
|
|
928
|
+
"EXAMPLE:";
|
|
929
|
+
ring r1=101,(x,y,z),lp;
|
|
930
|
+
poly a=2x3y4+300xy-234z23;
|
|
931
|
+
poly b=2x3y4z;
|
|
932
|
+
poly c=x3y4z5;
|
|
933
|
+
poly d=5x6y7z10;
|
|
934
|
+
poly e=2x3y-2x3y4+300xy-234z23;
|
|
935
|
+
poly f=4y5z8;
|
|
936
|
+
matrix M[2][3]=a,b,c,d,e,f;
|
|
937
|
+
netmatrixShort(M, 10);
|
|
938
|
+
}
|
|
939
|
+
|
|
940
|
+
|
|
941
|
+
|
|
942
|
+
//
|
|
943
|
+
// netInt
|
|
944
|
+
//
|
|
945
|
+
proc netInt(int M)
|
|
946
|
+
"USAGE: netInt(M); M integer@*
|
|
947
|
+
ASSUME: M is an integer
|
|
948
|
+
RETURN: visual presentation of M
|
|
949
|
+
THEORY: A Singular object is converted into a character array (a Net) for on screen printing.
|
|
950
|
+
KEYWORDS: Output
|
|
951
|
+
EXAMPLE: example netInt; shows an example
|
|
952
|
+
"
|
|
953
|
+
{
|
|
954
|
+
// 0
|
|
955
|
+
Net N;
|
|
956
|
+
list L;
|
|
957
|
+
|
|
958
|
+
// 1
|
|
959
|
+
L[1]=string(M);
|
|
960
|
+
N.rows=L;
|
|
961
|
+
|
|
962
|
+
// -
|
|
963
|
+
return(N);
|
|
964
|
+
}
|
|
965
|
+
example
|
|
966
|
+
{
|
|
967
|
+
"EXAMPLE:";
|
|
968
|
+
ring r;
|
|
969
|
+
int M=5;
|
|
970
|
+
netInt(M);
|
|
971
|
+
}
|
|
972
|
+
|
|
973
|
+
|
|
974
|
+
|
|
975
|
+
proc netBigInt(bigint M)
|
|
976
|
+
"USAGE: netBigInt(M); M integer@*
|
|
977
|
+
ASSUME: M is a bigint
|
|
978
|
+
RETURN: visual presentation of M
|
|
979
|
+
THEORY: A Singular object is converted into a character array (a Net) for on screen printing.
|
|
980
|
+
KEYWORDS: Output
|
|
981
|
+
EXAMPLE: example netBigInt; shows an example
|
|
982
|
+
"
|
|
983
|
+
{
|
|
984
|
+
// 0
|
|
985
|
+
Net N;
|
|
986
|
+
list L;
|
|
987
|
+
|
|
988
|
+
// 1
|
|
989
|
+
L[1]=string(M);
|
|
990
|
+
N.rows=L;
|
|
991
|
+
|
|
992
|
+
// -
|
|
993
|
+
return(N);
|
|
994
|
+
}
|
|
995
|
+
example
|
|
996
|
+
{
|
|
997
|
+
"EXAMPLE:";
|
|
998
|
+
ring r;
|
|
999
|
+
bigint M=5;
|
|
1000
|
+
netBigInt(M);
|
|
1001
|
+
}
|
|
1002
|
+
|
|
1003
|
+
|
|
1004
|
+
//
|
|
1005
|
+
// netString
|
|
1006
|
+
//
|
|
1007
|
+
proc netString(string M)
|
|
1008
|
+
"USAGE: netString(M); M string@*
|
|
1009
|
+
ASSUME: M is a string
|
|
1010
|
+
RETURN: visual presentation of M
|
|
1011
|
+
THEORY: A Singular object is converted into a character array (a Net) for on screen printing.
|
|
1012
|
+
KEYWORDS: Output
|
|
1013
|
+
EXAMPLE: example netString; shows an example
|
|
1014
|
+
"
|
|
1015
|
+
{
|
|
1016
|
+
// 0
|
|
1017
|
+
Net N;
|
|
1018
|
+
list L;
|
|
1019
|
+
|
|
1020
|
+
// 1
|
|
1021
|
+
L[1]=M;
|
|
1022
|
+
N.rows=L;
|
|
1023
|
+
|
|
1024
|
+
// -
|
|
1025
|
+
return(N);
|
|
1026
|
+
}
|
|
1027
|
+
example
|
|
1028
|
+
{
|
|
1029
|
+
"EXAMPLE:";
|
|
1030
|
+
string M="Hallo";
|
|
1031
|
+
netString(M);
|
|
1032
|
+
}
|
|
1033
|
+
|
|
1034
|
+
|
|
1035
|
+
|
|
1036
|
+
//
|
|
1037
|
+
// netvector - Leerzeile
|
|
1038
|
+
//
|
|
1039
|
+
proc netvector(vector V, list #)
|
|
1040
|
+
"USAGE: netvector(V); V vector@*
|
|
1041
|
+
ASSUME: V is a vector
|
|
1042
|
+
RETURN: visual presentation of V
|
|
1043
|
+
THEORY: A Singular object is converted into a character array (a Net) for on screen printing.
|
|
1044
|
+
KEYWORDS: Output
|
|
1045
|
+
EXAMPLE: example netvector; shows an example
|
|
1046
|
+
"
|
|
1047
|
+
{
|
|
1048
|
+
// 0
|
|
1049
|
+
matrix M=matrix(V);
|
|
1050
|
+
int Size=25;
|
|
1051
|
+
|
|
1052
|
+
// 1
|
|
1053
|
+
if( size(#)!=0 ){// +1
|
|
1054
|
+
Size=#{1};
|
|
1055
|
+
}// -1
|
|
1056
|
+
|
|
1057
|
+
// 2
|
|
1058
|
+
Net Output;
|
|
1059
|
+
Output=netmatrix(M, Size);
|
|
1060
|
+
|
|
1061
|
+
// -
|
|
1062
|
+
return(Output);
|
|
1063
|
+
}
|
|
1064
|
+
example
|
|
1065
|
+
{
|
|
1066
|
+
"EXAMPLE:";
|
|
1067
|
+
ring r1=101,(x,y,z),lp;
|
|
1068
|
+
poly a=2x3y4;
|
|
1069
|
+
poly b=2x3y4z;
|
|
1070
|
+
poly c=x3y4z5;
|
|
1071
|
+
poly d=5x6y7z10;
|
|
1072
|
+
poly e=2x3y;
|
|
1073
|
+
poly f=4y5z8;
|
|
1074
|
+
vector V=[a,b,c,d,e,f];
|
|
1075
|
+
netvector(V);
|
|
1076
|
+
}
|
|
1077
|
+
|
|
1078
|
+
|
|
1079
|
+
|
|
1080
|
+
//
|
|
1081
|
+
// netvectorShort
|
|
1082
|
+
//
|
|
1083
|
+
proc netvectorShort(vector V, list #)
|
|
1084
|
+
"USAGE: netvectorShort(V); V vector@*
|
|
1085
|
+
ASSUME: V is a vector
|
|
1086
|
+
RETURN: visual presentation of V, short version
|
|
1087
|
+
THEORY: A Singular object is converted into a character array (a Net) for on screen printing.
|
|
1088
|
+
KEYWORDS: Output
|
|
1089
|
+
EXAMPLE: example netvectorShort; shows an example
|
|
1090
|
+
"
|
|
1091
|
+
{
|
|
1092
|
+
// 0
|
|
1093
|
+
matrix M=matrix(V);
|
|
1094
|
+
Net Output;
|
|
1095
|
+
int Size=10;
|
|
1096
|
+
|
|
1097
|
+
// 1
|
|
1098
|
+
if( size(#)!=0 ){// +1
|
|
1099
|
+
Size=#[1];
|
|
1100
|
+
}// -1
|
|
1101
|
+
|
|
1102
|
+
// 2
|
|
1103
|
+
Output=netmatrixShort(M, Size);
|
|
1104
|
+
|
|
1105
|
+
// -
|
|
1106
|
+
return(Output);
|
|
1107
|
+
}
|
|
1108
|
+
example
|
|
1109
|
+
{
|
|
1110
|
+
"EXAMPLE:";
|
|
1111
|
+
ring r1=101,(x,y,z),lp;
|
|
1112
|
+
poly a=2x3y4;
|
|
1113
|
+
poly b=2x3y4z-5x6y7z10;
|
|
1114
|
+
poly c=x3y4z5;
|
|
1115
|
+
poly d=5x6y7z10;
|
|
1116
|
+
poly e=2x3y;
|
|
1117
|
+
poly f=4y5z8+5x6y7z10;
|
|
1118
|
+
vector V=[a,b,c,d,e,f];
|
|
1119
|
+
netvectorShort(V);
|
|
1120
|
+
}
|
|
1121
|
+
|
|
1122
|
+
|
|
1123
|
+
|
|
1124
|
+
//
|
|
1125
|
+
// netPoly - Leerzeile
|
|
1126
|
+
//
|
|
1127
|
+
proc netPoly(poly P)
|
|
1128
|
+
"USAGE: netPoly(P); P poly@*
|
|
1129
|
+
ASSUME: P is a poly
|
|
1130
|
+
RETURN: visual presentation of P over two rows
|
|
1131
|
+
THEORY: A Singular object is converted into a character array (a Net) for on screen printing.
|
|
1132
|
+
KEYWORDS: Output
|
|
1133
|
+
EXAMPLE: example netPoly; shows an example
|
|
1134
|
+
"
|
|
1135
|
+
{
|
|
1136
|
+
/*
|
|
1137
|
+
0. Erstellung der benötigten Datenstrukturen
|
|
1138
|
+
2. Überprüfung ob P das Nullpolynom ist und dieses gegenfalls ausgeben
|
|
1139
|
+
3. Entscheidung ob es sich um den ersten Term handelt oder nicht
|
|
1140
|
+
3.1 Verarbeitung des ersten Term
|
|
1141
|
+
3.2 Verarbeitung foldender Terme
|
|
1142
|
+
*/
|
|
1143
|
+
|
|
1144
|
+
// (0.)
|
|
1145
|
+
poly Q;
|
|
1146
|
+
list Output;
|
|
1147
|
+
Net N;
|
|
1148
|
+
string Up, Down, Test;
|
|
1149
|
+
int S, i;
|
|
1150
|
+
|
|
1151
|
+
if( P == 0 ) { // (1a)
|
|
1152
|
+
Down="0";
|
|
1153
|
+
Up=" ";
|
|
1154
|
+
} // (1a)
|
|
1155
|
+
|
|
1156
|
+
if( P == 1 ) { // (1b)
|
|
1157
|
+
Down="1";
|
|
1158
|
+
Up=" ";
|
|
1159
|
+
P=0;
|
|
1160
|
+
} // (1b)
|
|
1161
|
+
|
|
1162
|
+
if( P == -1 ) { // (1c)
|
|
1163
|
+
Down="-1";
|
|
1164
|
+
Up=" ";
|
|
1165
|
+
P=0;
|
|
1166
|
+
} // (1c)
|
|
1167
|
+
|
|
1168
|
+
// (2.)
|
|
1169
|
+
while ( P != 0 ) { // (2)
|
|
1170
|
+
// (3.)
|
|
1171
|
+
// (3.1.)
|
|
1172
|
+
if ( Down == "" ){ // (2.1)
|
|
1173
|
+
Q=lead(P);
|
|
1174
|
+
P=P-lead(P);
|
|
1175
|
+
if ( leadcoef(Q) == 1 ) { // (2.1.1)
|
|
1176
|
+
} // (2.1.1)
|
|
1177
|
+
else { // (2.1.2)
|
|
1178
|
+
Test=string( leadcoef(Q) );
|
|
1179
|
+
if( Test[1] == "-" ) { // (2.1.2.1))
|
|
1180
|
+
if ( Test[2] == "1" && Test[3] == "" ) { // (2.1.2.1.1)
|
|
1181
|
+
Down=Down+"-";
|
|
1182
|
+
Up=Up+emptyString(1);
|
|
1183
|
+
} // (2.1.2.1.1)
|
|
1184
|
+
else { // (2.1.2.1.2)
|
|
1185
|
+
Down=Down+string( leadcoef(Q) );
|
|
1186
|
+
Up=Up+emptyString( size( string( leadcoef(Q) ) ) ); //size(leadcoef(-1))=1, deshalb size(string ...
|
|
1187
|
+
}// (2.1.2.1.2)
|
|
1188
|
+
} // (2.1.2.1)
|
|
1189
|
+
else { // (2.1.2.2)
|
|
1190
|
+
Down=Down+string( leadcoef(Q) ); // leading coef
|
|
1191
|
+
Up=Up+emptyString( size( string( leadcoef(Q) ) ) );
|
|
1192
|
+
}// (2.1.2.2
|
|
1193
|
+
} // (2.1.2)
|
|
1194
|
+
S=nvars(basering); //variables
|
|
1195
|
+
for ( i=1; i<=S; i++) { // (2.1.1)
|
|
1196
|
+
if ( leadexp(Q)[i] == 0 ) { // (2.1.1.1)
|
|
1197
|
+
}
|
|
1198
|
+
else { // (2.1.1.2))
|
|
1199
|
+
Down=Down+string( ringlist( basering )[2][i] );
|
|
1200
|
+
Up=Up+emptyString( size( ring_list( basering )[2][i] ));
|
|
1201
|
+
if ( leadexp(Q)[i] == 1 ){ // (2.1.1.2.1))
|
|
1202
|
+
} // (2.1.1.2.1)
|
|
1203
|
+
else { // (2.1.1.2.2)
|
|
1204
|
+
Up=Up+string( leadexp(Q)[i] );
|
|
1205
|
+
Down=Down+emptyString( size( string( leadexp(Q)[i]) ) );
|
|
1206
|
+
} // (2.1.1.2.2)
|
|
1207
|
+
} // (2.2.5.2)
|
|
1208
|
+
} // (2.1.1)
|
|
1209
|
+
} // (2.1)
|
|
1210
|
+
// (3.2.)
|
|
1211
|
+
else { // (2.2)
|
|
1212
|
+
Q=lead(P);
|
|
1213
|
+
P=P-lead(P);
|
|
1214
|
+
if ( leadcoef(Q) == 1 ) { // (2.2.1)
|
|
1215
|
+
Down=Down+"+";
|
|
1216
|
+
Up=Up+" ";
|
|
1217
|
+
} // (2.2.1)
|
|
1218
|
+
else { // (2.2.2)
|
|
1219
|
+
Test=string( leadcoef(Q) );
|
|
1220
|
+
if ( Test[1] == "-" ) { // (2.2.2.1)
|
|
1221
|
+
if ( Test[2] == "1" && Test[3] == "" ) { // (2.2.2.1.1))
|
|
1222
|
+
Down=Down+"-";
|
|
1223
|
+
Up=Up+emptyString(1);
|
|
1224
|
+
} // (2.2.2.1.1)
|
|
1225
|
+
else { // ()
|
|
1226
|
+
Down=Down+string( leadcoef(Q) );
|
|
1227
|
+
Up=Up+emptyString( size( string( leadcoef(Q) ) ) ); //size(leadcoef(-1))=1
|
|
1228
|
+
}// (2.2.2.1.2)
|
|
1229
|
+
} // (2.2.2.1)
|
|
1230
|
+
else { // (2.2.2.2)
|
|
1231
|
+
Down=Down+"+";
|
|
1232
|
+
Up=Up+" ";
|
|
1233
|
+
Down=Down+string( leadcoef(Q) ); // leading coef
|
|
1234
|
+
Up=Up+emptyString( size( string( leadcoef(Q) ) ) );
|
|
1235
|
+
} // (2.2.2.2)
|
|
1236
|
+
} // (2.2.2)
|
|
1237
|
+
|
|
1238
|
+
S=nvars(basering); //variables
|
|
1239
|
+
for ( i=1; i<=S; i++) { // (2.2.3)
|
|
1240
|
+
if ( leadexp(Q)[i] == 0 ) { // (2.2.3.1)
|
|
1241
|
+
} // (2.2.3.1)
|
|
1242
|
+
else { // (2.2.3.2)
|
|
1243
|
+
Down=Down+string( ringlist( basering )[2][i] );
|
|
1244
|
+
Up=Up+emptyString( size( ringlist( basering )[2][i] ) );
|
|
1245
|
+
if ( leadexp(Q)[i] == 1 ){ // (2.2.3.2.1)
|
|
1246
|
+
} // (2.2.3.2.1)
|
|
1247
|
+
else { // (2.2.3.2.2)
|
|
1248
|
+
Up=Up+string( leadexp(Q)[i] );
|
|
1249
|
+
Down=Down+emptyString( size( string( leadexp(Q)[i]) ) );
|
|
1250
|
+
} // (2.2.3.2.2)
|
|
1251
|
+
} // (2.2.3.2)
|
|
1252
|
+
} // (2.2.3)
|
|
1253
|
+
|
|
1254
|
+
} // (2.2)
|
|
1255
|
+
} // (2)
|
|
1256
|
+
|
|
1257
|
+
// 4
|
|
1258
|
+
Output=Up,Down;
|
|
1259
|
+
N.rows=Output;
|
|
1260
|
+
|
|
1261
|
+
// -
|
|
1262
|
+
return(N);
|
|
1263
|
+
}
|
|
1264
|
+
example
|
|
1265
|
+
{
|
|
1266
|
+
"EXAMPLE:"; // from 3.3.1 Examples of ring declarations
|
|
1267
|
+
//
|
|
1268
|
+
ring R1 = 32003,(x,y,z),dp;
|
|
1269
|
+
poly q6=1;
|
|
1270
|
+
print(q6);
|
|
1271
|
+
netPoly(q6);
|
|
1272
|
+
poly q7=-1;
|
|
1273
|
+
print(q7);
|
|
1274
|
+
netPoly(q7);
|
|
1275
|
+
poly q8=2;
|
|
1276
|
+
print(q8);
|
|
1277
|
+
netPoly(q8);
|
|
1278
|
+
poly q9=-2;
|
|
1279
|
+
print(q9);
|
|
1280
|
+
netPoly(q9);
|
|
1281
|
+
poly q1=x+y+z;
|
|
1282
|
+
print(q1);
|
|
1283
|
+
netPoly(q1);
|
|
1284
|
+
poly q2=xy+xz+yz;
|
|
1285
|
+
print(q2);
|
|
1286
|
+
netPoly(q2);
|
|
1287
|
+
poly q3=2x3y3z4-3x4y5z6;
|
|
1288
|
+
print(q3);
|
|
1289
|
+
netPoly(q3);
|
|
1290
|
+
poly q4=x3y3z4-x4y5z6;
|
|
1291
|
+
print(q4);
|
|
1292
|
+
netPoly(q4);
|
|
1293
|
+
poly q5=-x3y3z4+x4y5z6;
|
|
1294
|
+
print(q5);
|
|
1295
|
+
netPoly(q5);
|
|
1296
|
+
|
|
1297
|
+
ring R2 = 32003,(x(1..10)),dp;
|
|
1298
|
+
|
|
1299
|
+
poly w6=1;
|
|
1300
|
+
print(w6);
|
|
1301
|
+
netPoly(w6);
|
|
1302
|
+
|
|
1303
|
+
poly w7=-1;
|
|
1304
|
+
print(w7);
|
|
1305
|
+
netPoly(w7);
|
|
1306
|
+
|
|
1307
|
+
poly w2=-x(1)-(2)-x(3);
|
|
1308
|
+
print(w2);
|
|
1309
|
+
netPoly(w2);
|
|
1310
|
+
|
|
1311
|
+
poly w3=x(1)*x(2)+x(1)*x(2)+x(2)*x(3);
|
|
1312
|
+
print(w3);
|
|
1313
|
+
netPoly(w3);
|
|
1314
|
+
|
|
1315
|
+
poly w4=x(1)*x(2)-x(1)*x(2)-x(2)*x(3);
|
|
1316
|
+
print(w4);
|
|
1317
|
+
netPoly(w4);
|
|
1318
|
+
|
|
1319
|
+
poly w5=x(1)^2*x(2)^3*x(3)^4;
|
|
1320
|
+
print(w5);
|
|
1321
|
+
netPoly(w5);
|
|
1322
|
+
|
|
1323
|
+
poly w8=x(1)+x(2)+x(3);
|
|
1324
|
+
print(w8);
|
|
1325
|
+
netPoly(w8);
|
|
1326
|
+
|
|
1327
|
+
poly w9=x(1)+x(2)+x(3);
|
|
1328
|
+
print(w9);
|
|
1329
|
+
netPoly(w9);
|
|
1330
|
+
|
|
1331
|
+
ring R3 = 32003,(x(1..5)(1..8)),dp;
|
|
1332
|
+
|
|
1333
|
+
poly e1=x(1)(1)+x(2)(2)+x(3)(3);
|
|
1334
|
+
print(e1);
|
|
1335
|
+
netPoly(e1);
|
|
1336
|
+
|
|
1337
|
+
poly e2=x(1)(1)*x(2)(2)*x(3)(3);
|
|
1338
|
+
print(e2);
|
|
1339
|
+
netPoly(e2);
|
|
1340
|
+
|
|
1341
|
+
poly e3=x(1)(1)^2*x(2)(2)^3*x(3)(3)^4;
|
|
1342
|
+
print(e3);
|
|
1343
|
+
netPoly(e3);
|
|
1344
|
+
|
|
1345
|
+
poly e4=-x(1)(1)^2*x(2)(2)^3*x(3)(3)^4-x(1)(1)^3*x(2)(2)^3*x(3)(3)^4;
|
|
1346
|
+
print(e4);
|
|
1347
|
+
netPoly(e4);
|
|
1348
|
+
|
|
1349
|
+
ring r=32003,(x,y,z),lp;
|
|
1350
|
+
poly p=x4+4y4+4z4-x3-3y3-3z3+1x2+2y2+z2-x-1y-z1;
|
|
1351
|
+
p;
|
|
1352
|
+
netPoly(p);
|
|
1353
|
+
|
|
1354
|
+
poly p2=x3yz+xy3z+xyz3-2x2yz-2xy2z-2xyz2+1xyz+x1yzxy1z;
|
|
1355
|
+
p2;
|
|
1356
|
+
netPoly(p2);
|
|
1357
|
+
|
|
1358
|
+
poly p3=x+y+z-x2-3y-4z4+xy+xz+2xy-x2y-xz2-y2z2;
|
|
1359
|
+
p3;
|
|
1360
|
+
netPoly(p3);
|
|
1361
|
+
|
|
1362
|
+
ring r2=32003,(x(1..10)),lp;
|
|
1363
|
+
poly p=x(1)*x(2)*x(3)+2*x(1)^2+2*x(1)*x(2);
|
|
1364
|
+
p;
|
|
1365
|
+
netPoly(p);
|
|
1366
|
+
|
|
1367
|
+
poly p2=x(1)^2*x(2)^3*x(3)^4-2*x(1)^1*x(2)^2+2*x(1)*x(2)*x(10);
|
|
1368
|
+
p2;
|
|
1369
|
+
netPoly(p2);
|
|
1370
|
+
|
|
1371
|
+
ring r3=7,(x,y,z),lp;
|
|
1372
|
+
poly p=17x2+24y;
|
|
1373
|
+
p;
|
|
1374
|
+
netPoly(p);
|
|
1375
|
+
|
|
1376
|
+
ring r4=(7,a,b,c),(x,y,z),Dp;
|
|
1377
|
+
poly p=2ax2+by-cz3;
|
|
1378
|
+
p;
|
|
1379
|
+
netPoly(p);
|
|
1380
|
+
|
|
1381
|
+
ring r5=(7,a),(x,y,z),dp;
|
|
1382
|
+
minpoly = a^2+a+3;
|
|
1383
|
+
poly p=2ax2+y-az3;
|
|
1384
|
+
p;
|
|
1385
|
+
netPoly(p);
|
|
1386
|
+
|
|
1387
|
+
ring r6 = (complex,30,j),(x,y,z),dp;
|
|
1388
|
+
poly p=2x2+y-z3+20*j;
|
|
1389
|
+
p;
|
|
1390
|
+
netPoly(p);
|
|
1391
|
+
}
|
|
1392
|
+
|
|
1393
|
+
|
|
1394
|
+
//
|
|
1395
|
+
// netIdeal
|
|
1396
|
+
//
|
|
1397
|
+
proc netIdeal(ideal I)
|
|
1398
|
+
"USAGE: netIdeal(P); P ideal@*
|
|
1399
|
+
ASSUME: P is a poly
|
|
1400
|
+
RETURN: visual presentation of I
|
|
1401
|
+
THEORY: A Singular object is converted into a character array (a Net) for on screen printing.
|
|
1402
|
+
KEYWORDS: Output
|
|
1403
|
+
EXAMPLE: example netIdeal; shows an example
|
|
1404
|
+
"
|
|
1405
|
+
{
|
|
1406
|
+
string N=string("<");
|
|
1407
|
+
|
|
1408
|
+
for (int i=1; i<size(I); i++){ // (1)
|
|
1409
|
+
N=N+string(I[i])+string(", ");
|
|
1410
|
+
} // (1)
|
|
1411
|
+
|
|
1412
|
+
N=N+string(I[size(I)])+string(">");
|
|
1413
|
+
return(net(N));
|
|
1414
|
+
}
|
|
1415
|
+
example
|
|
1416
|
+
{
|
|
1417
|
+
"EXAMPLE:";
|
|
1418
|
+
ring r;
|
|
1419
|
+
ideal I=2x3y4,2x3y4z+x3y4z5,5x6y7z10-2x3y+4y5z8;
|
|
1420
|
+
netIdeal(I);
|
|
1421
|
+
}
|
|
1422
|
+
|
|
1423
|
+
|
|
1424
|
+
|
|
1425
|
+
/*
|
|
1426
|
+
//
|
|
1427
|
+
// netIdeal mit net
|
|
1428
|
+
//
|
|
1429
|
+
proc netIdeal(ideal I)
|
|
1430
|
+
"USAGE: netIdeal(P); I ideal@*
|
|
1431
|
+
ASSUME: I is an ideal
|
|
1432
|
+
RETURN: visual presentation of I
|
|
1433
|
+
THEORY: A Singular object is converted into a character array (a Net) for on screen printing.
|
|
1434
|
+
KEYWORDS: Output
|
|
1435
|
+
EXAMPLE: example netIdeal; shows an example
|
|
1436
|
+
"
|
|
1437
|
+
{
|
|
1438
|
+
Net N=net("<");
|
|
1439
|
+
for (int i=1; i<size(I); i++)
|
|
1440
|
+
{
|
|
1441
|
+
N=N+net(I[i])+net(", ");
|
|
1442
|
+
}
|
|
1443
|
+
N=N+net(I[size(I)])+net(">");
|
|
1444
|
+
return(N);
|
|
1445
|
+
}
|
|
1446
|
+
example
|
|
1447
|
+
{
|
|
1448
|
+
"EXAMPLE:";
|
|
1449
|
+
ring r;
|
|
1450
|
+
ideal I=2x3y4,2x3y4z+x3y4z5,5x6y7z10-2x3y+4y5z8;
|
|
1451
|
+
netIdeal(I);
|
|
1452
|
+
}
|
|
1453
|
+
*/
|
|
1454
|
+
|
|
1455
|
+
|
|
1456
|
+
|