passagemath-singular 10.6.31rc3__cp314-cp314-musllinux_1_2_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of passagemath-singular might be problematic. Click here for more details.

Files changed (493) hide show
  1. PySingular.cpython-314-x86_64-linux-musl.so +0 -0
  2. passagemath_singular-10.6.31rc3.dist-info/METADATA +183 -0
  3. passagemath_singular-10.6.31rc3.dist-info/RECORD +493 -0
  4. passagemath_singular-10.6.31rc3.dist-info/WHEEL +5 -0
  5. passagemath_singular-10.6.31rc3.dist-info/top_level.txt +3 -0
  6. passagemath_singular.libs/libSingular-4-67059f19.4.1.so +0 -0
  7. passagemath_singular.libs/libcddgmp-30166d29.so.0.1.3 +0 -0
  8. passagemath_singular.libs/libfactory-4-9d37bcf4.4.1.so +0 -0
  9. passagemath_singular.libs/libflint-fd6f12fc.so.21.0.0 +0 -0
  10. passagemath_singular.libs/libgcc_s-0cd532bd.so.1 +0 -0
  11. passagemath_singular.libs/libgf2x-9e30c3e3.so.3.0.0 +0 -0
  12. passagemath_singular.libs/libgfortran-2c33b284.so.5.0.0 +0 -0
  13. passagemath_singular.libs/libgmp-0e7fc84e.so.10.5.0 +0 -0
  14. passagemath_singular.libs/libgsl-42cda06f.so.28.0.0 +0 -0
  15. passagemath_singular.libs/libmpfr-aaecbfc0.so.6.2.1 +0 -0
  16. passagemath_singular.libs/libncursesw-9c9e32c3.so.6.5 +0 -0
  17. passagemath_singular.libs/libntl-26885ca2.so.44.0.1 +0 -0
  18. passagemath_singular.libs/libomalloc-0-e9ff96db.9.6.so +0 -0
  19. passagemath_singular.libs/libopenblasp-r0-905cb27d.3.29.so +0 -0
  20. passagemath_singular.libs/libpolys-4-8bcf8e7d.4.1.so +0 -0
  21. passagemath_singular.libs/libquadmath-bb76a5fc.so.0.0.0 +0 -0
  22. passagemath_singular.libs/libreadline-06542304.so.8.2 +0 -0
  23. passagemath_singular.libs/libsingular_resources-4-73bf7623.4.1.so +0 -0
  24. passagemath_singular.libs/libstdc++-5d72f927.so.6.0.33 +0 -0
  25. sage/algebras/all__sagemath_singular.py +3 -0
  26. sage/algebras/fusion_rings/all.py +19 -0
  27. sage/algebras/fusion_rings/f_matrix.py +2448 -0
  28. sage/algebras/fusion_rings/fast_parallel_fmats_methods.cpython-314-x86_64-linux-musl.so +0 -0
  29. sage/algebras/fusion_rings/fast_parallel_fmats_methods.pxd +5 -0
  30. sage/algebras/fusion_rings/fast_parallel_fmats_methods.pyx +538 -0
  31. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.cpython-314-x86_64-linux-musl.so +0 -0
  32. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pxd +3 -0
  33. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pyx +331 -0
  34. sage/algebras/fusion_rings/fusion_double.py +899 -0
  35. sage/algebras/fusion_rings/fusion_ring.py +1580 -0
  36. sage/algebras/fusion_rings/poly_tup_engine.cpython-314-x86_64-linux-musl.so +0 -0
  37. sage/algebras/fusion_rings/poly_tup_engine.pxd +24 -0
  38. sage/algebras/fusion_rings/poly_tup_engine.pyx +579 -0
  39. sage/algebras/fusion_rings/shm_managers.cpython-314-x86_64-linux-musl.so +0 -0
  40. sage/algebras/fusion_rings/shm_managers.pxd +24 -0
  41. sage/algebras/fusion_rings/shm_managers.pyx +780 -0
  42. sage/algebras/letterplace/all.py +1 -0
  43. sage/algebras/letterplace/free_algebra_element_letterplace.cpython-314-x86_64-linux-musl.so +0 -0
  44. sage/algebras/letterplace/free_algebra_element_letterplace.pxd +18 -0
  45. sage/algebras/letterplace/free_algebra_element_letterplace.pyx +755 -0
  46. sage/algebras/letterplace/free_algebra_letterplace.cpython-314-x86_64-linux-musl.so +0 -0
  47. sage/algebras/letterplace/free_algebra_letterplace.pxd +35 -0
  48. sage/algebras/letterplace/free_algebra_letterplace.pyx +914 -0
  49. sage/algebras/letterplace/letterplace_ideal.cpython-314-x86_64-linux-musl.so +0 -0
  50. sage/algebras/letterplace/letterplace_ideal.pyx +408 -0
  51. sage/algebras/quatalg/all.py +2 -0
  52. sage/algebras/quatalg/quaternion_algebra.py +4778 -0
  53. sage/algebras/quatalg/quaternion_algebra_cython.cpython-314-x86_64-linux-musl.so +0 -0
  54. sage/algebras/quatalg/quaternion_algebra_cython.pyx +261 -0
  55. sage/algebras/quatalg/quaternion_algebra_element.cpython-314-x86_64-linux-musl.so +0 -0
  56. sage/algebras/quatalg/quaternion_algebra_element.pxd +29 -0
  57. sage/algebras/quatalg/quaternion_algebra_element.pyx +2176 -0
  58. sage/all__sagemath_singular.py +11 -0
  59. sage/ext_data/all__sagemath_singular.py +1 -0
  60. sage/ext_data/singular/function_field/core.lib +98 -0
  61. sage/interfaces/all__sagemath_singular.py +1 -0
  62. sage/interfaces/singular.py +2835 -0
  63. sage/libs/all__sagemath_singular.py +1 -0
  64. sage/libs/singular/__init__.py +1 -0
  65. sage/libs/singular/decl.pxd +1168 -0
  66. sage/libs/singular/function.cpython-314-x86_64-linux-musl.so +0 -0
  67. sage/libs/singular/function.pxd +87 -0
  68. sage/libs/singular/function.pyx +1901 -0
  69. sage/libs/singular/function_factory.py +61 -0
  70. sage/libs/singular/groebner_strategy.cpython-314-x86_64-linux-musl.so +0 -0
  71. sage/libs/singular/groebner_strategy.pxd +22 -0
  72. sage/libs/singular/groebner_strategy.pyx +582 -0
  73. sage/libs/singular/option.cpython-314-x86_64-linux-musl.so +0 -0
  74. sage/libs/singular/option.pyx +671 -0
  75. sage/libs/singular/polynomial.cpython-314-x86_64-linux-musl.so +0 -0
  76. sage/libs/singular/polynomial.pxd +39 -0
  77. sage/libs/singular/polynomial.pyx +661 -0
  78. sage/libs/singular/ring.cpython-314-x86_64-linux-musl.so +0 -0
  79. sage/libs/singular/ring.pxd +58 -0
  80. sage/libs/singular/ring.pyx +893 -0
  81. sage/libs/singular/singular.cpython-314-x86_64-linux-musl.so +0 -0
  82. sage/libs/singular/singular.pxd +72 -0
  83. sage/libs/singular/singular.pyx +1944 -0
  84. sage/libs/singular/standard_options.py +145 -0
  85. sage/matrix/all__sagemath_singular.py +1 -0
  86. sage/matrix/matrix_mpolynomial_dense.cpython-314-x86_64-linux-musl.so +0 -0
  87. sage/matrix/matrix_mpolynomial_dense.pxd +7 -0
  88. sage/matrix/matrix_mpolynomial_dense.pyx +615 -0
  89. sage/rings/all__sagemath_singular.py +1 -0
  90. sage/rings/function_field/all__sagemath_singular.py +1 -0
  91. sage/rings/function_field/derivations_polymod.py +911 -0
  92. sage/rings/function_field/element_polymod.cpython-314-x86_64-linux-musl.so +0 -0
  93. sage/rings/function_field/element_polymod.pyx +406 -0
  94. sage/rings/function_field/function_field_polymod.py +2611 -0
  95. sage/rings/function_field/ideal_polymod.py +1775 -0
  96. sage/rings/function_field/order_polymod.py +1475 -0
  97. sage/rings/function_field/place_polymod.py +681 -0
  98. sage/rings/polynomial/all__sagemath_singular.py +1 -0
  99. sage/rings/polynomial/multi_polynomial_ideal_libsingular.cpython-314-x86_64-linux-musl.so +0 -0
  100. sage/rings/polynomial/multi_polynomial_ideal_libsingular.pxd +5 -0
  101. sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx +339 -0
  102. sage/rings/polynomial/multi_polynomial_libsingular.cpython-314-x86_64-linux-musl.so +0 -0
  103. sage/rings/polynomial/multi_polynomial_libsingular.pxd +30 -0
  104. sage/rings/polynomial/multi_polynomial_libsingular.pyx +6277 -0
  105. sage/rings/polynomial/plural.cpython-314-x86_64-linux-musl.so +0 -0
  106. sage/rings/polynomial/plural.pxd +48 -0
  107. sage/rings/polynomial/plural.pyx +3171 -0
  108. sage/symbolic/all__sagemath_singular.py +1 -0
  109. sage/symbolic/comparison_impl.pxi +428 -0
  110. sage/symbolic/constants_c_impl.pxi +178 -0
  111. sage/symbolic/expression.cpython-314-x86_64-linux-musl.so +0 -0
  112. sage/symbolic/expression.pxd +7 -0
  113. sage/symbolic/expression.pyx +14200 -0
  114. sage/symbolic/getitem_impl.pxi +202 -0
  115. sage/symbolic/pynac.pxi +572 -0
  116. sage/symbolic/pynac_constant_impl.pxi +133 -0
  117. sage/symbolic/pynac_function_impl.pxi +206 -0
  118. sage/symbolic/pynac_impl.pxi +2576 -0
  119. sage/symbolic/pynac_wrap.h +124 -0
  120. sage/symbolic/series_impl.pxi +272 -0
  121. sage/symbolic/substitution_map_impl.pxi +94 -0
  122. sage_wheels/bin/ESingular +0 -0
  123. sage_wheels/bin/Singular +0 -0
  124. sage_wheels/bin/TSingular +0 -0
  125. sage_wheels/lib/singular/MOD/cohomo.la +41 -0
  126. sage_wheels/lib/singular/MOD/cohomo.so +0 -0
  127. sage_wheels/lib/singular/MOD/customstd.la +41 -0
  128. sage_wheels/lib/singular/MOD/customstd.so +0 -0
  129. sage_wheels/lib/singular/MOD/freealgebra.la +41 -0
  130. sage_wheels/lib/singular/MOD/freealgebra.so +0 -0
  131. sage_wheels/lib/singular/MOD/gfanlib.la +41 -0
  132. sage_wheels/lib/singular/MOD/gfanlib.so +0 -0
  133. sage_wheels/lib/singular/MOD/gitfan.la +41 -0
  134. sage_wheels/lib/singular/MOD/gitfan.so +0 -0
  135. sage_wheels/lib/singular/MOD/interval.la +41 -0
  136. sage_wheels/lib/singular/MOD/interval.so +0 -0
  137. sage_wheels/lib/singular/MOD/loctriv.la +41 -0
  138. sage_wheels/lib/singular/MOD/loctriv.so +0 -0
  139. sage_wheels/lib/singular/MOD/machinelearning.la +41 -0
  140. sage_wheels/lib/singular/MOD/machinelearning.so +0 -0
  141. sage_wheels/lib/singular/MOD/p_Procs_FieldGeneral.la +41 -0
  142. sage_wheels/lib/singular/MOD/p_Procs_FieldGeneral.so +0 -0
  143. sage_wheels/lib/singular/MOD/p_Procs_FieldIndep.la +41 -0
  144. sage_wheels/lib/singular/MOD/p_Procs_FieldIndep.so +0 -0
  145. sage_wheels/lib/singular/MOD/p_Procs_FieldQ.la +41 -0
  146. sage_wheels/lib/singular/MOD/p_Procs_FieldQ.so +0 -0
  147. sage_wheels/lib/singular/MOD/p_Procs_FieldZp.la +41 -0
  148. sage_wheels/lib/singular/MOD/p_Procs_FieldZp.so +0 -0
  149. sage_wheels/lib/singular/MOD/partialgb.la +41 -0
  150. sage_wheels/lib/singular/MOD/partialgb.so +0 -0
  151. sage_wheels/lib/singular/MOD/pyobject.la +41 -0
  152. sage_wheels/lib/singular/MOD/pyobject.so +0 -0
  153. sage_wheels/lib/singular/MOD/singmathic.la +41 -0
  154. sage_wheels/lib/singular/MOD/singmathic.so +0 -0
  155. sage_wheels/lib/singular/MOD/sispasm.la +41 -0
  156. sage_wheels/lib/singular/MOD/sispasm.so +0 -0
  157. sage_wheels/lib/singular/MOD/subsets.la +41 -0
  158. sage_wheels/lib/singular/MOD/subsets.so +0 -0
  159. sage_wheels/lib/singular/MOD/systhreads.la +41 -0
  160. sage_wheels/lib/singular/MOD/systhreads.so +0 -0
  161. sage_wheels/lib/singular/MOD/syzextra.la +41 -0
  162. sage_wheels/lib/singular/MOD/syzextra.so +0 -0
  163. sage_wheels/libexec/singular/MOD/change_cost +0 -0
  164. sage_wheels/libexec/singular/MOD/singularsurf +11 -0
  165. sage_wheels/libexec/singular/MOD/singularsurf_jupyter +9 -0
  166. sage_wheels/libexec/singular/MOD/singularsurf_win +10 -0
  167. sage_wheels/libexec/singular/MOD/solve_IP +0 -0
  168. sage_wheels/libexec/singular/MOD/surfex +16 -0
  169. sage_wheels/libexec/singular/MOD/toric_ideal +0 -0
  170. sage_wheels/share/factory/gftables/10201 +342 -0
  171. sage_wheels/share/factory/gftables/1024 +37 -0
  172. sage_wheels/share/factory/gftables/10609 +356 -0
  173. sage_wheels/share/factory/gftables/11449 +384 -0
  174. sage_wheels/share/factory/gftables/11881 +398 -0
  175. sage_wheels/share/factory/gftables/121 +6 -0
  176. sage_wheels/share/factory/gftables/12167 +408 -0
  177. sage_wheels/share/factory/gftables/125 +7 -0
  178. sage_wheels/share/factory/gftables/12769 +428 -0
  179. sage_wheels/share/factory/gftables/128 +7 -0
  180. sage_wheels/share/factory/gftables/1331 +47 -0
  181. sage_wheels/share/factory/gftables/1369 +48 -0
  182. sage_wheels/share/factory/gftables/14641 +490 -0
  183. sage_wheels/share/factory/gftables/15625 +523 -0
  184. sage_wheels/share/factory/gftables/16 +3 -0
  185. sage_wheels/share/factory/gftables/16129 +540 -0
  186. sage_wheels/share/factory/gftables/16384 +549 -0
  187. sage_wheels/share/factory/gftables/16807 +563 -0
  188. sage_wheels/share/factory/gftables/1681 +58 -0
  189. sage_wheels/share/factory/gftables/169 +8 -0
  190. sage_wheels/share/factory/gftables/17161 +574 -0
  191. sage_wheels/share/factory/gftables/1849 +64 -0
  192. sage_wheels/share/factory/gftables/18769 +628 -0
  193. sage_wheels/share/factory/gftables/19321 +646 -0
  194. sage_wheels/share/factory/gftables/19683 +659 -0
  195. sage_wheels/share/factory/gftables/2048 +71 -0
  196. sage_wheels/share/factory/gftables/2187 +75 -0
  197. sage_wheels/share/factory/gftables/2197 +76 -0
  198. sage_wheels/share/factory/gftables/2209 +76 -0
  199. sage_wheels/share/factory/gftables/22201 +742 -0
  200. sage_wheels/share/factory/gftables/22801 +762 -0
  201. sage_wheels/share/factory/gftables/2401 +82 -0
  202. sage_wheels/share/factory/gftables/243 +11 -0
  203. sage_wheels/share/factory/gftables/24389 +815 -0
  204. sage_wheels/share/factory/gftables/24649 +824 -0
  205. sage_wheels/share/factory/gftables/25 +3 -0
  206. sage_wheels/share/factory/gftables/256 +11 -0
  207. sage_wheels/share/factory/gftables/26569 +888 -0
  208. sage_wheels/share/factory/gftables/27 +3 -0
  209. sage_wheels/share/factory/gftables/27889 +932 -0
  210. sage_wheels/share/factory/gftables/2809 +96 -0
  211. sage_wheels/share/factory/gftables/28561 +954 -0
  212. sage_wheels/share/factory/gftables/289 +12 -0
  213. sage_wheels/share/factory/gftables/29791 +995 -0
  214. sage_wheels/share/factory/gftables/29929 +1000 -0
  215. sage_wheels/share/factory/gftables/3125 +107 -0
  216. sage_wheels/share/factory/gftables/32 +4 -0
  217. sage_wheels/share/factory/gftables/32041 +1070 -0
  218. sage_wheels/share/factory/gftables/32761 +1094 -0
  219. sage_wheels/share/factory/gftables/32768 +1095 -0
  220. sage_wheels/share/factory/gftables/343 +14 -0
  221. sage_wheels/share/factory/gftables/3481 +118 -0
  222. sage_wheels/share/factory/gftables/361 +14 -0
  223. sage_wheels/share/factory/gftables/36481 +1218 -0
  224. sage_wheels/share/factory/gftables/3721 +126 -0
  225. sage_wheels/share/factory/gftables/37249 +1244 -0
  226. sage_wheels/share/factory/gftables/38809 +1296 -0
  227. sage_wheels/share/factory/gftables/39601 +1322 -0
  228. sage_wheels/share/factory/gftables/4 +3 -0
  229. sage_wheels/share/factory/gftables/4096 +139 -0
  230. sage_wheels/share/factory/gftables/44521 +1486 -0
  231. sage_wheels/share/factory/gftables/4489 +152 -0
  232. sage_wheels/share/factory/gftables/49 +4 -0
  233. sage_wheels/share/factory/gftables/4913 +166 -0
  234. sage_wheels/share/factory/gftables/49729 +1660 -0
  235. sage_wheels/share/factory/gftables/5041 +170 -0
  236. sage_wheels/share/factory/gftables/50653 +1691 -0
  237. sage_wheels/share/factory/gftables/512 +20 -0
  238. sage_wheels/share/factory/gftables/51529 +1720 -0
  239. sage_wheels/share/factory/gftables/52441 +1750 -0
  240. sage_wheels/share/factory/gftables/529 +20 -0
  241. sage_wheels/share/factory/gftables/5329 +180 -0
  242. sage_wheels/share/factory/gftables/54289 +1812 -0
  243. sage_wheels/share/factory/gftables/57121 +1906 -0
  244. sage_wheels/share/factory/gftables/58081 +1938 -0
  245. sage_wheels/share/factory/gftables/59049 +1971 -0
  246. sage_wheels/share/factory/gftables/6241 +210 -0
  247. sage_wheels/share/factory/gftables/625 +23 -0
  248. sage_wheels/share/factory/gftables/63001 +2102 -0
  249. sage_wheels/share/factory/gftables/64 +5 -0
  250. sage_wheels/share/factory/gftables/6561 +221 -0
  251. sage_wheels/share/factory/gftables/6859 +231 -0
  252. sage_wheels/share/factory/gftables/6889 +232 -0
  253. sage_wheels/share/factory/gftables/729 +27 -0
  254. sage_wheels/share/factory/gftables/7921 +266 -0
  255. sage_wheels/share/factory/gftables/8 +3 -0
  256. sage_wheels/share/factory/gftables/81 +5 -0
  257. sage_wheels/share/factory/gftables/8192 +276 -0
  258. sage_wheels/share/factory/gftables/841 +30 -0
  259. sage_wheels/share/factory/gftables/9 +3 -0
  260. sage_wheels/share/factory/gftables/9409 +316 -0
  261. sage_wheels/share/factory/gftables/961 +34 -0
  262. sage_wheels/share/info/singular.info +191898 -0
  263. sage_wheels/share/singular/LIB/GND.lib +1359 -0
  264. sage_wheels/share/singular/LIB/JMBTest.lib +976 -0
  265. sage_wheels/share/singular/LIB/JMSConst.lib +1363 -0
  266. sage_wheels/share/singular/LIB/KVequiv.lib +699 -0
  267. sage_wheels/share/singular/LIB/SingularityDBM.lib +491 -0
  268. sage_wheels/share/singular/LIB/VecField.lib +1542 -0
  269. sage_wheels/share/singular/LIB/absfact.lib +959 -0
  270. sage_wheels/share/singular/LIB/ainvar.lib +730 -0
  271. sage_wheels/share/singular/LIB/aksaka.lib +419 -0
  272. sage_wheels/share/singular/LIB/alexpoly.lib +2542 -0
  273. sage_wheels/share/singular/LIB/algebra.lib +1193 -0
  274. sage_wheels/share/singular/LIB/all.lib +136 -0
  275. sage_wheels/share/singular/LIB/arcpoint.lib +514 -0
  276. sage_wheels/share/singular/LIB/arnold.lib +4553 -0
  277. sage_wheels/share/singular/LIB/arnoldclassify.lib +2058 -0
  278. sage_wheels/share/singular/LIB/arr.lib +3486 -0
  279. sage_wheels/share/singular/LIB/assprimeszerodim.lib +755 -0
  280. sage_wheels/share/singular/LIB/autgradalg.lib +3361 -0
  281. sage_wheels/share/singular/LIB/bfun.lib +1964 -0
  282. sage_wheels/share/singular/LIB/bimodules.lib +774 -0
  283. sage_wheels/share/singular/LIB/brillnoether.lib +226 -0
  284. sage_wheels/share/singular/LIB/brnoeth.lib +5017 -0
  285. sage_wheels/share/singular/LIB/central.lib +2169 -0
  286. sage_wheels/share/singular/LIB/chern.lib +4162 -0
  287. sage_wheels/share/singular/LIB/cimonom.lib +571 -0
  288. sage_wheels/share/singular/LIB/cisimplicial.lib +1835 -0
  289. sage_wheels/share/singular/LIB/classify.lib +3239 -0
  290. sage_wheels/share/singular/LIB/classify2.lib +1462 -0
  291. sage_wheels/share/singular/LIB/classifyMapGerms.lib +1515 -0
  292. sage_wheels/share/singular/LIB/classify_aeq.lib +3253 -0
  293. sage_wheels/share/singular/LIB/classifyceq.lib +2092 -0
  294. sage_wheels/share/singular/LIB/classifyci.lib +1133 -0
  295. sage_wheels/share/singular/LIB/combinat.lib +91 -0
  296. sage_wheels/share/singular/LIB/compregb.lib +276 -0
  297. sage_wheels/share/singular/LIB/control.lib +1636 -0
  298. sage_wheels/share/singular/LIB/crypto.lib +3795 -0
  299. sage_wheels/share/singular/LIB/curveInv.lib +667 -0
  300. sage_wheels/share/singular/LIB/curvepar.lib +1817 -0
  301. sage_wheels/share/singular/LIB/customstd.lib +100 -0
  302. sage_wheels/share/singular/LIB/deRham.lib +5979 -0
  303. sage_wheels/share/singular/LIB/decodegb.lib +2134 -0
  304. sage_wheels/share/singular/LIB/decomp.lib +1655 -0
  305. sage_wheels/share/singular/LIB/deflation.lib +872 -0
  306. sage_wheels/share/singular/LIB/deform.lib +925 -0
  307. sage_wheels/share/singular/LIB/difform.lib +3055 -0
  308. sage_wheels/share/singular/LIB/divisors.lib +750 -0
  309. sage_wheels/share/singular/LIB/dmod.lib +5817 -0
  310. sage_wheels/share/singular/LIB/dmodapp.lib +3269 -0
  311. sage_wheels/share/singular/LIB/dmodideal.lib +1211 -0
  312. sage_wheels/share/singular/LIB/dmodloc.lib +2645 -0
  313. sage_wheels/share/singular/LIB/dmodvar.lib +818 -0
  314. sage_wheels/share/singular/LIB/dummy.lib +17 -0
  315. sage_wheels/share/singular/LIB/elim.lib +1009 -0
  316. sage_wheels/share/singular/LIB/ellipticcovers.lib +548 -0
  317. sage_wheels/share/singular/LIB/enumpoints.lib +146 -0
  318. sage_wheels/share/singular/LIB/equising.lib +2127 -0
  319. sage_wheels/share/singular/LIB/ffmodstd.lib +2384 -0
  320. sage_wheels/share/singular/LIB/ffsolve.lib +1289 -0
  321. sage_wheels/share/singular/LIB/findifs.lib +778 -0
  322. sage_wheels/share/singular/LIB/finitediff.lib +1768 -0
  323. sage_wheels/share/singular/LIB/finvar.lib +7989 -0
  324. sage_wheels/share/singular/LIB/fpadim.lib +2429 -0
  325. sage_wheels/share/singular/LIB/fpalgebras.lib +1666 -0
  326. sage_wheels/share/singular/LIB/fpaprops.lib +1462 -0
  327. sage_wheels/share/singular/LIB/freegb.lib +3853 -0
  328. sage_wheels/share/singular/LIB/general.lib +1350 -0
  329. sage_wheels/share/singular/LIB/gfan.lib +1768 -0
  330. sage_wheels/share/singular/LIB/gitfan.lib +3130 -0
  331. sage_wheels/share/singular/LIB/gkdim.lib +99 -0
  332. sage_wheels/share/singular/LIB/gmspoly.lib +589 -0
  333. sage_wheels/share/singular/LIB/gmssing.lib +1739 -0
  334. sage_wheels/share/singular/LIB/goettsche.lib +909 -0
  335. sage_wheels/share/singular/LIB/graal.lib +1366 -0
  336. sage_wheels/share/singular/LIB/gradedModules.lib +2541 -0
  337. sage_wheels/share/singular/LIB/graphics.lib +360 -0
  338. sage_wheels/share/singular/LIB/grobcov.lib +7706 -0
  339. sage_wheels/share/singular/LIB/groups.lib +1123 -0
  340. sage_wheels/share/singular/LIB/grwalk.lib +507 -0
  341. sage_wheels/share/singular/LIB/hdepth.lib +194 -0
  342. sage_wheels/share/singular/LIB/help.cnf +57 -0
  343. sage_wheels/share/singular/LIB/hess.lib +1946 -0
  344. sage_wheels/share/singular/LIB/hnoether.lib +4292 -0
  345. sage_wheels/share/singular/LIB/hodge.lib +400 -0
  346. sage_wheels/share/singular/LIB/homolog.lib +1965 -0
  347. sage_wheels/share/singular/LIB/hyperel.lib +975 -0
  348. sage_wheels/share/singular/LIB/inout.lib +679 -0
  349. sage_wheels/share/singular/LIB/integralbasis.lib +6224 -0
  350. sage_wheels/share/singular/LIB/interval.lib +1418 -0
  351. sage_wheels/share/singular/LIB/intprog.lib +778 -0
  352. sage_wheels/share/singular/LIB/invar.lib +443 -0
  353. sage_wheels/share/singular/LIB/involut.lib +980 -0
  354. sage_wheels/share/singular/LIB/jacobson.lib +1215 -0
  355. sage_wheels/share/singular/LIB/kskernel.lib +534 -0
  356. sage_wheels/share/singular/LIB/latex.lib +3146 -0
  357. sage_wheels/share/singular/LIB/lejeune.lib +651 -0
  358. sage_wheels/share/singular/LIB/linalg.lib +2040 -0
  359. sage_wheels/share/singular/LIB/locnormal.lib +212 -0
  360. sage_wheels/share/singular/LIB/lrcalc.lib +526 -0
  361. sage_wheels/share/singular/LIB/makedbm.lib +294 -0
  362. sage_wheels/share/singular/LIB/mathml.lib +813 -0
  363. sage_wheels/share/singular/LIB/matrix.lib +1372 -0
  364. sage_wheels/share/singular/LIB/maxlike.lib +1132 -0
  365. sage_wheels/share/singular/LIB/methods.lib +212 -0
  366. sage_wheels/share/singular/LIB/moddiq.lib +322 -0
  367. sage_wheels/share/singular/LIB/modfinduni.lib +181 -0
  368. sage_wheels/share/singular/LIB/modnormal.lib +218 -0
  369. sage_wheels/share/singular/LIB/modprimdec.lib +1278 -0
  370. sage_wheels/share/singular/LIB/modquotient.lib +269 -0
  371. sage_wheels/share/singular/LIB/modstd.lib +1024 -0
  372. sage_wheels/share/singular/LIB/modular.lib +545 -0
  373. sage_wheels/share/singular/LIB/modules.lib +2561 -0
  374. sage_wheels/share/singular/LIB/modwalk.lib +609 -0
  375. sage_wheels/share/singular/LIB/mondromy.lib +1016 -0
  376. sage_wheels/share/singular/LIB/monomialideal.lib +3851 -0
  377. sage_wheels/share/singular/LIB/mprimdec.lib +2353 -0
  378. sage_wheels/share/singular/LIB/mregular.lib +1863 -0
  379. sage_wheels/share/singular/LIB/multigrading.lib +5629 -0
  380. sage_wheels/share/singular/LIB/ncHilb.lib +777 -0
  381. sage_wheels/share/singular/LIB/ncModslimgb.lib +791 -0
  382. sage_wheels/share/singular/LIB/ncalg.lib +16311 -0
  383. sage_wheels/share/singular/LIB/ncall.lib +31 -0
  384. sage_wheels/share/singular/LIB/ncdecomp.lib +468 -0
  385. sage_wheels/share/singular/LIB/ncfactor.lib +13371 -0
  386. sage_wheels/share/singular/LIB/ncfrac.lib +1023 -0
  387. sage_wheels/share/singular/LIB/nchilbert.lib +448 -0
  388. sage_wheels/share/singular/LIB/nchomolog.lib +759 -0
  389. sage_wheels/share/singular/LIB/ncloc.lib +361 -0
  390. sage_wheels/share/singular/LIB/ncpreim.lib +795 -0
  391. sage_wheels/share/singular/LIB/ncrat.lib +2849 -0
  392. sage_wheels/share/singular/LIB/nctools.lib +1887 -0
  393. sage_wheels/share/singular/LIB/nets.lib +1456 -0
  394. sage_wheels/share/singular/LIB/nfmodstd.lib +1000 -0
  395. sage_wheels/share/singular/LIB/nfmodsyz.lib +732 -0
  396. sage_wheels/share/singular/LIB/noether.lib +1106 -0
  397. sage_wheels/share/singular/LIB/normal.lib +8700 -0
  398. sage_wheels/share/singular/LIB/normaliz.lib +2226 -0
  399. sage_wheels/share/singular/LIB/ntsolve.lib +362 -0
  400. sage_wheels/share/singular/LIB/numerAlg.lib +560 -0
  401. sage_wheels/share/singular/LIB/numerDecom.lib +2261 -0
  402. sage_wheels/share/singular/LIB/olga.lib +1933 -0
  403. sage_wheels/share/singular/LIB/orbitparam.lib +351 -0
  404. sage_wheels/share/singular/LIB/parallel.lib +319 -0
  405. sage_wheels/share/singular/LIB/paraplanecurves.lib +3110 -0
  406. sage_wheels/share/singular/LIB/perron.lib +202 -0
  407. sage_wheels/share/singular/LIB/pfd.lib +2223 -0
  408. sage_wheels/share/singular/LIB/phindex.lib +642 -0
  409. sage_wheels/share/singular/LIB/pointid.lib +673 -0
  410. sage_wheels/share/singular/LIB/polybori.lib +1430 -0
  411. sage_wheels/share/singular/LIB/polyclass.lib +525 -0
  412. sage_wheels/share/singular/LIB/polylib.lib +1174 -0
  413. sage_wheels/share/singular/LIB/polymake.lib +1902 -0
  414. sage_wheels/share/singular/LIB/presolve.lib +1533 -0
  415. sage_wheels/share/singular/LIB/primdec.lib +9576 -0
  416. sage_wheels/share/singular/LIB/primdecint.lib +1782 -0
  417. sage_wheels/share/singular/LIB/primitiv.lib +401 -0
  418. sage_wheels/share/singular/LIB/puiseuxexpansions.lib +1631 -0
  419. sage_wheels/share/singular/LIB/purityfiltration.lib +960 -0
  420. sage_wheels/share/singular/LIB/qhmoduli.lib +1561 -0
  421. sage_wheels/share/singular/LIB/qmatrix.lib +293 -0
  422. sage_wheels/share/singular/LIB/random.lib +455 -0
  423. sage_wheels/share/singular/LIB/ratgb.lib +489 -0
  424. sage_wheels/share/singular/LIB/realclassify.lib +5759 -0
  425. sage_wheels/share/singular/LIB/realizationMatroids.lib +772 -0
  426. sage_wheels/share/singular/LIB/realrad.lib +1197 -0
  427. sage_wheels/share/singular/LIB/recover.lib +2628 -0
  428. sage_wheels/share/singular/LIB/redcgs.lib +3984 -0
  429. sage_wheels/share/singular/LIB/reesclos.lib +465 -0
  430. sage_wheels/share/singular/LIB/resbinomial.lib +2802 -0
  431. sage_wheels/share/singular/LIB/resgraph.lib +789 -0
  432. sage_wheels/share/singular/LIB/resjung.lib +820 -0
  433. sage_wheels/share/singular/LIB/resolve.lib +5110 -0
  434. sage_wheels/share/singular/LIB/resources.lib +170 -0
  435. sage_wheels/share/singular/LIB/reszeta.lib +5473 -0
  436. sage_wheels/share/singular/LIB/ring.lib +1328 -0
  437. sage_wheels/share/singular/LIB/ringgb.lib +343 -0
  438. sage_wheels/share/singular/LIB/rinvar.lib +1153 -0
  439. sage_wheels/share/singular/LIB/rootisolation.lib +1481 -0
  440. sage_wheels/share/singular/LIB/rootsmr.lib +709 -0
  441. sage_wheels/share/singular/LIB/rootsur.lib +886 -0
  442. sage_wheels/share/singular/LIB/rstandard.lib +607 -0
  443. sage_wheels/share/singular/LIB/rwalk.lib +336 -0
  444. sage_wheels/share/singular/LIB/sagbi.lib +1353 -0
  445. sage_wheels/share/singular/LIB/sagbiNormaliz.lib +1622 -0
  446. sage_wheels/share/singular/LIB/sagbiNormaliz0.lib +1498 -0
  447. sage_wheels/share/singular/LIB/sagbigrob.lib +449 -0
  448. sage_wheels/share/singular/LIB/schreyer.lib +321 -0
  449. sage_wheels/share/singular/LIB/schubert.lib +2551 -0
  450. sage_wheels/share/singular/LIB/sets.lib +524 -0
  451. sage_wheels/share/singular/LIB/sheafcoh.lib +1663 -0
  452. sage_wheels/share/singular/LIB/signcond.lib +437 -0
  453. sage_wheels/share/singular/LIB/sing.lib +1094 -0
  454. sage_wheels/share/singular/LIB/sing4ti2.lib +419 -0
  455. sage_wheels/share/singular/LIB/solve.lib +2243 -0
  456. sage_wheels/share/singular/LIB/spcurve.lib +1077 -0
  457. sage_wheels/share/singular/LIB/spectrum.lib +62 -0
  458. sage_wheels/share/singular/LIB/sresext.lib +757 -0
  459. sage_wheels/share/singular/LIB/ssi.lib +143 -0
  460. sage_wheels/share/singular/LIB/standard.lib +2769 -0
  461. sage_wheels/share/singular/LIB/stanleyreisner.lib +473 -0
  462. sage_wheels/share/singular/LIB/stdmodule.lib +547 -0
  463. sage_wheels/share/singular/LIB/stratify.lib +1070 -0
  464. sage_wheels/share/singular/LIB/surf.lib +506 -0
  465. sage_wheels/share/singular/LIB/surf_jupyter.lib +223 -0
  466. sage_wheels/share/singular/LIB/surfacesignature.lib +522 -0
  467. sage_wheels/share/singular/LIB/surfex.lib +1462 -0
  468. sage_wheels/share/singular/LIB/swalk.lib +877 -0
  469. sage_wheels/share/singular/LIB/symodstd.lib +1570 -0
  470. sage_wheels/share/singular/LIB/systhreads.lib +74 -0
  471. sage_wheels/share/singular/LIB/tasks.lib +1324 -0
  472. sage_wheels/share/singular/LIB/tateProdCplxNegGrad.lib +2412 -0
  473. sage_wheels/share/singular/LIB/teachstd.lib +858 -0
  474. sage_wheels/share/singular/LIB/template.lib +116 -0
  475. sage_wheels/share/singular/LIB/toric.lib +1119 -0
  476. sage_wheels/share/singular/LIB/transformation.lib +116 -0
  477. sage_wheels/share/singular/LIB/triang.lib +1197 -0
  478. sage_wheels/share/singular/LIB/tropical.lib +8741 -0
  479. sage_wheels/share/singular/LIB/tropicalEllipticCovers.lib +2922 -0
  480. sage_wheels/share/singular/LIB/tropicalNewton.lib +1128 -0
  481. sage_wheels/share/singular/LIB/tst.lib +1108 -0
  482. sage_wheels/share/singular/LIB/weierstr.lib +241 -0
  483. sage_wheels/share/singular/LIB/zeroset.lib +1478 -0
  484. sage_wheels/share/singular/emacs/.emacs-general +184 -0
  485. sage_wheels/share/singular/emacs/.emacs-singular +234 -0
  486. sage_wheels/share/singular/emacs/COPYING +44 -0
  487. sage_wheels/share/singular/emacs/cmd-cmpl.el +241 -0
  488. sage_wheels/share/singular/emacs/ex-cmpl.el +1681 -0
  489. sage_wheels/share/singular/emacs/hlp-cmpl.el +4318 -0
  490. sage_wheels/share/singular/emacs/lib-cmpl.el +179 -0
  491. sage_wheels/share/singular/emacs/singular.el +4273 -0
  492. sage_wheels/share/singular/emacs/singular.xpm +39 -0
  493. sage_wheels/share/singular/singular.idx +5002 -0
@@ -0,0 +1,679 @@
1
+ //////////////////////////////////////////////////////////////////////////////
2
+ version="version inout.lib 4.1.2.0 Feb_2019 "; // $Id: 9afdab571e9af4e8bd676f2d249defa2a4b2c7f8 $
3
+ category="General purpose";
4
+ info="
5
+ LIBRARY: inout.lib Printing and Manipulating In- and Output
6
+
7
+ PROCEDURES:
8
+ allprint(list); print list if ALLprint is defined, with pause if >0
9
+ lprint(poly/...[,n]); display poly/... fitting to pagewidth [size n]
10
+ pmat(matrix[,n]); print form-matrix [first n chars of each column]
11
+ rMacaulay(string); read Macaulay_1 output and return its Singular format
12
+ show(any); display any object in a compact format
13
+ showrecursive(id,p); display id recursively with respect to variables in p
14
+ split(string,n); split given string into lines of length n
15
+ tab(n); string of n space tabs
16
+ pause([prompt]); stop the computation until user input
17
+ (parameters in square brackets [] are optional)
18
+ ";
19
+
20
+ ///////////////////////////////////////////////////////////////////////////////
21
+
22
+ proc allprint (list #)
23
+ "USAGE: allprint(L); L list
24
+ DISPLAY: prints L[1], L[2], ... if an integer with name ALLprint is defined.
25
+ @* makes \"pause\", if ALLprint > 0
26
+ RETURN: no return value
27
+ EXAMPLE: example allprint; shows an example
28
+ "
29
+ {
30
+ if( defined(ALLprint) )
31
+ {
32
+ int i;
33
+ for( i=1; i<=size(#); i=i+1 ) { print(#[i]); }
34
+ if( ALLprint >0 ) { pause(); }
35
+ }
36
+ return();
37
+ }
38
+ example
39
+ { "EXAMPLE:"; echo = 2;
40
+ ring S;
41
+ matrix M=matrix(freemodule(2),3,3);
42
+ int ALLprint; export ALLprint;
43
+ allprint("M =",M);
44
+ kill ALLprint;
45
+ }
46
+ ///////////////////////////////////////////////////////////////////////////////
47
+
48
+ proc lprint
49
+ "USAGE: lprint(id[,n]); id poly/ideal/vector/module/matrix, n integer
50
+ RETURN: string of id in a format fitting into lines of size n, such that no
51
+ monomial gets destroyed, i.e. the new line starts with + or -;
52
+ (default: n = pagewidth).
53
+ NOTE: id is printed columnwise, each column separated by a blank line;
54
+ hence lprint(transpose(id)); displays a matrix id in a format which
55
+ can be used as input.
56
+ EXAMPLE: example lprint; shows an example
57
+ "
58
+ {
59
+ if (size(#)==1) { int n = pagewidth-3; }
60
+ else {int n = #[2]-3; }
61
+ matrix M = matrix(#[1]);
62
+ poly p,h,L; string s1,s,S; int jj,ii,a;
63
+ for (jj=1; jj<=ncols(M); jj=jj+1)
64
+ {
65
+ for (ii=1; ii<=nrows(M); ii=ii+1)
66
+ {
67
+ a=2;
68
+ if (a+size(string(M[ii,jj])) <= n) {s = " "+string(M[ii,jj]);}
69
+ else
70
+ {
71
+ h = lead(M[ii,jj]); p = M[ii,jj] - h; L = lead(p);
72
+ while (p != 0)
73
+ {
74
+ if (a+size(string(h+L)) > n)
75
+ {
76
+ s = string(h);
77
+ if (a != 0) { s = " "+s; }
78
+ if (a == 0 and s[1] != "-") { s = "+" + s; }
79
+ a=0; h=0; S=S+newline+s;
80
+ }
81
+ h = h + L; p = p - L; L = lead(p);
82
+ }
83
+ s = string(h);
84
+ if (a == 0 and s[1] != "-") { s = "+" + s; }
85
+ }
86
+ if (ii != nrows(M)) { s = s+","; S=S+newline+s; }
87
+ else
88
+ {
89
+ if (jj != ncols(M)) { s = s+","; S=S+newline+s+newline;}
90
+ else { S=S+newline+s; }
91
+ }
92
+ }
93
+ }
94
+ return(S[2,size(S)-1]);
95
+ }
96
+ example
97
+ { "EXAMPLE:"; echo = 2;
98
+ ring r= 0,(x,y,z),ds;
99
+ poly f=((x+y)*(x-y)*(x+z)*(y+z)^2);
100
+ lprint(f,40);
101
+ module m = [f*(x-y)],[0,f*(x-y)];
102
+ string s=lprint(m); s;"";
103
+ execute("matrix M[2][2]="+s+";"); //use the string s as input
104
+ module m1 = transpose(M); //should be the same as m
105
+ print(matrix(m)-matrix(m1));
106
+ }
107
+ ///////////////////////////////////////////////////////////////////////////////
108
+
109
+ proc pmat (matrix m, list #)
110
+ "USAGE: pmat(M[,n]); M matrix, n integer
111
+ RETURN: A string representing M in array format if it fits into
112
+ pagewidth; if n is given, only the first n characters of
113
+ each column are shown (n>1 required), where a truncation
114
+ of a column is indicated by two dots (\'..\')
115
+ EXAMPLE: example pmat; shows an example
116
+ "
117
+ {
118
+ //------------- main case: input is a matrix, no second argument---------------
119
+ string OUT = "";
120
+ if ( size(#)==0)
121
+ {
122
+ int elems,mlen,slen,c,r;
123
+ //-------------- count maximal size of each column, and sum up -------------
124
+ for ( c=1; c<=ncols(m); c=c+1)
125
+ { int len(c);
126
+ for (r=1; r<=nrows(m); r=r+1)
127
+ {
128
+ elems = elems+1;
129
+ string s(elems) = string(m[r,c])+",";
130
+ slen = size(s(elems));
131
+ if ( slen>len(c) ) { len(c) = slen; }
132
+ }
133
+ mlen = mlen+len(c);
134
+ }
135
+ //---------------------- print all - except last - rows --------------------
136
+ string aus; string sep = " ";
137
+ if (mlen >= pagewidth) { sep = newline; }
138
+ for (r=1; r<nrows(m); r=r+1)
139
+ { elems = r; aus = "";
140
+ for (c=1; c<=ncols(m); c=c+1)
141
+ {
142
+ aus = aus + s(elems)[1,len(c)] + sep;
143
+ elems = elems + nrows(m);
144
+ }
145
+ OUT=OUT+aus+newline;
146
+ }
147
+ //--------------- print last row (no comma after last entry) ---------------
148
+ aus = ""; elems = nrows(m);
149
+ for (c=1; c<ncols(m); c=c+1)
150
+ {
151
+ aus = aus + s(elems)[1,len(c)] + sep;
152
+ elems = elems + nrows(m);
153
+ }
154
+ aus = aus + string(m[nrows(m),ncols(m)]);
155
+ OUT=OUT+aus; return(OUT);
156
+ }
157
+ //---------- second case: second argument is given and of type int ------------
158
+ if ( typeof(#[1])=="int" and #[1]>1)
159
+ { string aus,tmp; int c,r;
160
+ //---------------------- print all - except last - rows --------------------
161
+ for ( r=1; r<nrows(m); r=r+1)
162
+ { aus = "";
163
+ for (c=1; c<=ncols(m); c=c+1)
164
+ {
165
+ tmp=string(m[r,c]);
166
+ if (size(tmp)>#[1])
167
+ { tmp[#[1]-1]=".";
168
+ tmp[#[1]] =".";
169
+ aus=aus+tmp[1,#[1]]+", ";
170
+ }
171
+ else
172
+ { tmp=tmp+",";
173
+ aus=aus+tmp[1,#[1]+1]+" ";
174
+ }
175
+ }
176
+ OUT=OUT+aus+newline;
177
+ }
178
+ //--------------- print last row (no comma after last entry) ---------------
179
+ aus = "";
180
+ for (c=1; c<ncols(m); c=c+1)
181
+ { tmp=string(m[r,c]);
182
+ if (size(tmp)>#[1])
183
+ { tmp[#[1]-1]=".";
184
+ tmp[#[1]] =".";
185
+ aus=aus+tmp[1,#[1]]+", ";
186
+ }
187
+ else
188
+ { tmp=tmp+",";
189
+ aus=aus+tmp[1,#[1]+1]+" ";
190
+ }
191
+ }
192
+ tmp=string(m[nrows(m),ncols(m)]);
193
+ if (size(tmp)>#[1])
194
+ { tmp[#[1]-1]=".";
195
+ tmp[#[1]] =".";
196
+ }
197
+ aus = aus + tmp[1,#[1]];
198
+ OUT=OUT+aus; return(OUT);
199
+ }
200
+ }
201
+ example
202
+ { "EXAMPLE:"; echo = 2;
203
+ ring r=0,(x,y,z),ls;
204
+ ideal i= x,z+3y,x+y,z;
205
+ matrix m[3][3]=i^2;
206
+ pmat(m);
207
+ pmat(m,5);
208
+ }
209
+ ///////////////////////////////////////////////////////////////////////////////
210
+
211
+ proc rMacaulay
212
+ "USAGE: rMacaulay(s[,n]); s string, n integer
213
+ RETURN: A string denoting a file which should be readable by Singular
214
+ and it should be produced by Macaulay Classic.
215
+ If a second argument is present the first
216
+ n lines of the file are deleted (which is useful if the file was
217
+ produced e.g. by the putstd command of Macaulay).
218
+ NOTE: This does not always work with 'cut and paste' since the character
219
+ \ is treated differently
220
+ EXAMPLE: example rMacaulay; shows an example
221
+ "
222
+ {
223
+ int n;
224
+ if( size(#)==2 ) { n=#[2]; }
225
+ string s0 = #[1];
226
+ //------------------------ delete first n=#[2] lines --------------------------
227
+ int ii=find(s0,newline); int jj;
228
+ for ( jj=1; jj<=n; jj=jj+1)
229
+ {
230
+ s0 = s0[ii+1,size(s0)-ii];
231
+ ii = find(s0,newline);
232
+ }
233
+ //--------------- delete blanks and 'newline' at start and end ----------------
234
+ ii = 1;
235
+ while( s0[ii]==" " or s0[ii]==newline ) { ii=ii+1; }
236
+ s0 = s0[ii,size(s0)-ii+1]; ii = size(s0);
237
+ while ( s0[ii]==" " or s0[ii]==newline) { ii=ii-1; }
238
+ s0 = s0[1,ii];
239
+ //------------------------- make each line a string ---------------------------
240
+ ii = find(s0,newline); jj=0; int kk;
241
+ while( ii!=0 )
242
+ { jj = jj+1; kk = ii+1;
243
+ while( s0[kk]==" " or s0[kk]==newline ) { kk=kk+1; }
244
+ string s(jj) = s0[1,ii-1];
245
+ s0 = s0[kk,size(s0)-kk+1];
246
+ ii = find(s0,newline);
247
+ }
248
+ jj=jj+1;
249
+ string s(jj) = s0;
250
+ //------------ delete blanks and \ at end of each string and add , ------------
251
+ for( ii=1; ii<=jj; ii=ii+1 )
252
+ { kk = 1;
253
+ while( s(ii)[kk]==" " ) { kk=kk+1; }
254
+ s(ii) = s(ii)[kk,size(s(ii))-kk+1];
255
+ kk = size(s(ii));
256
+ while( s(ii)[kk]==" " or s(ii)[kk]=="\\" or s(ii)[kk]==newline )
257
+ { kk = kk-1; }
258
+ s(ii) = s(ii)[1,kk]+","+newline;
259
+ }
260
+ //------------------------ replace blanks by , and add up ---------------------
261
+ int ll; s0 = ""; string s1,s2;
262
+ for( ii=1; ii<=jj; ii=ii+1 )
263
+ {
264
+ s1 = ""; s2 = s(ii);
265
+ kk = find(s(ii)," "); ll=kk+1;
266
+ while( kk!=0 )
267
+ {
268
+ while( s2[ll]==" ") { ll=ll+1; }
269
+ if( kk!=1 ) { s1=s1+s2[1,kk-1]+","+s2[kk+1,ll-kk]; }
270
+ if( kk==1 ) { s1 = s1+","+s2[kk+1,ll-kk]; }
271
+ s2 = s2[ll+1,size(s2)-ll];
272
+ kk = find(s2," "); ll=kk+1;
273
+ }
274
+ s(ii) = s1+s2; s0 = s0+s(ii);
275
+ }
276
+ //---------------------------- replace [] by () -------------------------------
277
+ s1 = ""; s2 = s0;
278
+ ii = find(s2,"[");
279
+ while( ii!=0 )
280
+ {
281
+ s0 = s0[1,ii-1]+"("+s0[ii+1,size(s0)-ii];
282
+ if( ii>2 )
283
+ {
284
+ if(s0[ii-2]!="+" and s0[ii-2]!="-" and s0[ii-2]!="," and s0[ii-2]!=newline)
285
+ {
286
+ s0 = s0[1,ii-2]+"*"+s0[ii-1,size(s0)-ii+2];
287
+ }
288
+ }
289
+ ii = find(s0,"[");
290
+ }
291
+ jj = find(s0,"]");
292
+ while ( jj!=0 )
293
+ {
294
+ s0 = s0[1,jj-1]+")"+s0[jj+1,size(s0)-jj];
295
+ if(s0[jj+1]!="+"and s0[jj+1]!="-" and s0[jj+1]!="," and s0[jj+1]!="*")
296
+ { s0 = s0[1,jj] + "^" + s0[jj+1,size(s0)-jj]; }
297
+ jj = find(s0,"]");
298
+ }
299
+ s0 = s0[1,size(s0)-2];
300
+ return(s0);
301
+ }
302
+ example
303
+ { "EXAMPLE:"; echo = 2;
304
+ // Assume there exists a file 'Macid' with the following ideal in
305
+ // Macaulay format:"
306
+ // x[0]3-101/74x[0]2x[1]+7371x[0]x[1]2-13/83x[1]3-x[0]2x[2] \
307
+ // -4/71x[0]x[1]x[2]
308
+ // Read this file into Singular and assign it to the string s1 by:
309
+ // string s1 = read("Macid");
310
+ // This is equivalent to";
311
+ string s1 =
312
+ "x[0]3-101/74x[0]2x[1]+7371x[0]x[1]2-13/83x[1]3-x[0]2x[2]-4/71x[0]x[1]x[2]";
313
+ rMacaulay(s1);
314
+ // You may wish to assign s1 to a Singular ideal id:
315
+ string sid = "ideal id =",rMacaulay(s1),";";
316
+ ring r = 0,x(0..3),dp;
317
+ execute(sid);
318
+ id; "";
319
+ // Now treat a matrix in Macaulay format. Using the execute
320
+ // command, this could be assigned to a Singular matrix as above.
321
+ string s2 = "
322
+ 0 0 0 0 0
323
+ a3 0 0 0 0
324
+ 0 b3 0 0 0
325
+ 0 0 c3 0 0
326
+ 0 0 0 d3 0
327
+ 0 0 0 0 e3 ";
328
+ rMacaulay(s2);
329
+ }
330
+
331
+ ///////////////////////////////////////////////////////////////////////////////
332
+
333
+ proc show (def @@id, list #)
334
+ "USAGE: show(id); id any object of basering or of type ring/qring
335
+ @* show(R,s); R=ring, s=string (s = name of an object belonging to R)
336
+ DISPLAY: display id/s in a compact format together with some information
337
+ RETURN: no return value
338
+ NOTE: objects of type string, int, intvec, intmat belong to any ring.
339
+ id may be a ring or a qring. In this case the minimal polynomial is
340
+ displayed, and, for a qring, also the defining ideal.
341
+ id may be of type list but the list must not contain a ring.
342
+ @* show(R,s) does not work inside a procedure!
343
+ EXAMPLE: example show; shows an example
344
+ "
345
+ {
346
+ //------------- use funny names in order to avoid name conflicts --------------
347
+ int @li@, @ii;
348
+ string @s@,@@s;
349
+ int @short@=short; short=1;
350
+ //----------------------------- check syntax ----------------------------------
351
+ if( size(#)!= 0 )
352
+ {
353
+ if( typeof(#[1])=="int" ) { @li@=#[1]; }
354
+ }
355
+ if ( typeof(@@id)!="list" )
356
+ {
357
+ if( size(#)==0 )
358
+ {
359
+ def @id@ = @@id;
360
+ }
361
+ if( size(#)==1 )
362
+ {
363
+ if( typeof(#[1])=="int" )
364
+ {
365
+ def @id@ = @@id;
366
+ }
367
+ if( typeof(#[1])=="string" )
368
+ {
369
+ if( typeof(@@id)=="ring")
370
+ {
371
+ def @R@ = @@id;
372
+ setring @R@;
373
+ def @id@=`#[1]`;
374
+ }
375
+ }
376
+ }
377
+ }
378
+ //----------------------- case: @@id is of type list ----------------------------
379
+ if ( typeof(@@id)=="list" )
380
+ {
381
+ // @@s = tab(@li@)+"// list, "+string(size(@@id))+" element(s):";
382
+ @@s = tab((3*(voice-2)))+"// list, "+string(size(@@id))+" element(s):";
383
+ @@s;
384
+ for ( @ii=1; @ii<=size(@@id); @ii++ )
385
+ {
386
+ if( typeof(@@id[@ii])!="none" )
387
+ {
388
+ def @id(@ii) = @@id[@ii];
389
+ tab(3*(voice-2))+"["+string(@ii)+"]:";
390
+ // show(@id(@ii),@li@+3*(voice-1));
391
+ show(@id(@ii),3*(voice-1));
392
+ }
393
+ else
394
+ {
395
+ "["+string(@ii)+"]:";
396
+ tab(@li@+2),"//",@@id[@ii];
397
+ }
398
+ }
399
+ short=@short@; return();
400
+ }
401
+ if( defined(@id@)!=voice ) { "// wrong syntax, type help show;"; return();}
402
+ //-------------------- case: @id@ belongs to any ring -------------------------
403
+ if( typeof(@id@)=="string" or typeof(@id@)=="int" or typeof(@id@)=="intvec"
404
+ or typeof(@id@)=="intmat" or typeof(@id@)=="list" )
405
+ {
406
+ if( typeof(@id@)!="intmat" )
407
+ {
408
+ @@s = tab(@li@)+"// "+typeof(@id@)+", size "+string(size(@id@));
409
+ @@s;
410
+ }
411
+ if( typeof(@id@)=="intmat" )
412
+ {
413
+ @@s = tab(@li@)+"// "+typeof(@id@)+", "+string(nrows(@id@))+" rows, "
414
+ + string(ncols(@id@))+" columns";
415
+ @@s;
416
+ }
417
+ @id@;
418
+ short=@short@; return();
419
+ }
420
+ //-------------------- case: @id@ belongs to basering -------------------------
421
+ if( typeof(@id@)=="poly" or typeof(@id@)=="ideal" or typeof(@id@)=="matrix" )
422
+ {
423
+ @@s = tab(@li@)+"// "+ typeof(@id@);
424
+ if( typeof(@id@)=="ideal" )
425
+ {
426
+ @@s=@@s + ", "+string(ncols(@id@))+" generator(s)";
427
+ @@s;
428
+ print(ideal(@id@));
429
+ }
430
+ if( typeof(@id@)=="poly" )
431
+ {
432
+ @@s=@@s + ", "+string(size(@id@))+" monomial(s)";
433
+ @@s;
434
+ print(poly(@id@));
435
+ }
436
+ if( typeof(@id@)=="matrix")
437
+ {
438
+ @@s=@@s + ", "+string(nrows(@id@))+"x"+string(ncols(@id@));
439
+ @@s;
440
+ print(matrix(@id@));
441
+ }
442
+ short=@short@; return();
443
+ }
444
+ if( typeof(@id@)=="vector" )
445
+ {
446
+ @@s = tab(@li@)+"// "+typeof(@id@);
447
+ @@s;
448
+ print(@id@);
449
+ short=@short@; return();
450
+ }
451
+ if( typeof(@id@)=="module" )
452
+ {
453
+ @s@=", "+string(ncols(@id@))+" generator(s)";
454
+ @@s = tab(@li@)+"// "+ typeof(@id@)+ @s@;
455
+ @@s;
456
+ int @n@;
457
+ for( @n@=1; @n@<=ncols(@id@); @n@=@n@+1 ) { print(@id@[@n@]); }
458
+ short=@short@; return();
459
+ }
460
+ if( typeof(@id@)=="number" or typeof(@id@)=="resolution" )
461
+ {
462
+ @@s = tab(@li@)+"// ", typeof(@id@);
463
+ @@s;
464
+ @id@; short=@short@; return();
465
+ }
466
+ if( typeof(@id@)=="map" )
467
+ {
468
+ def @map = @id@;
469
+ @@s = tab(@li@)+"// i-th variable of preimage ring is mapped to @map[i]";
470
+ @@s;
471
+ if( size(#)==0 ) { type @map; }
472
+ if( size(#)==1 )
473
+ {
474
+ if( typeof(#[1])=="int" ) { type @map; }
475
+ if( typeof(#[1])=="string" ) { type `#[1]`; }
476
+ }
477
+ short=@short@; return();
478
+ }
479
+ //---------------------- case: @id@ is a ring/qring ---------------------------
480
+ if( typeof(@id@)=="ring" )
481
+ {
482
+ setring @id@;
483
+ string s="("+charstr(@id@)+"),("+varstr(@id@)+"),("+ordstr(@id@)+");";
484
+ if( typeof(@id@)=="ring" )
485
+ {
486
+ list na@me@s=names(@id@);
487
+ @@s = tab(@li@)+"// ring:"; @@s,s;
488
+ @@s = tab(@li@)+"// minpoly ="; @@s,minpoly;
489
+ if (size(ideal(@id@))>0)
490
+ {
491
+ @@s = tab(@li@)+"// quotient ring from ideal:"; @@s;ideal(@id@);
492
+ }
493
+ kill @id@;
494
+ "// objects belonging to this ring:";
495
+ listvar(poly);listvar(ideal);
496
+ listvar(vector);listvar(module);
497
+ listvar(map);listvar(matrix);
498
+ listvar(number);listvar(resolution);
499
+ for(int names@i=1;names@i<=size(na@me@s);names@i++)
500
+ {
501
+ def @hi@lf@=`na@me@s[names@i]`;
502
+ if ((typeof(@hi@lf@)!="poly") and
503
+ (typeof(@hi@lf@)!="ideal") and
504
+ (typeof(@hi@lf@)!="vector") and
505
+ (typeof(@hi@lf@)!="module") and
506
+ (typeof(@hi@lf@)!="map") and
507
+ (typeof(@hi@lf@)!="matrix") and
508
+ (typeof(@hi@lf@)!="number") and
509
+ (typeof(@hi@lf@)!="resolution"))
510
+ {
511
+ listvar(`na@me@s[names@i]`);
512
+ }
513
+ kill @hi@lf@;
514
+ }
515
+ }
516
+ short=@short@; //return();
517
+ }
518
+ }
519
+ example
520
+ { "EXAMPLE:"; echo = 2;
521
+ ring r;
522
+ show(r);
523
+ ideal i=x^3+y^5-6*z^3,xy,x3-y2;
524
+ show(i,3); // introduce 3 space tabs before information
525
+ vector v=x*gen(1)+y*gen(3);
526
+ module m=v,2*v+gen(4);
527
+ list L = i,v,m;
528
+ show(L);
529
+ ring S=(0,T),(a,b,c,d),ws(1,2,3,4);
530
+ minpoly = T^2+1;
531
+ ideal i=a2+b,c2+T^2*d2; i=std(i);
532
+ qring Q=i;
533
+ show(Q);
534
+ map F=r,a2,b^2,3*c3;
535
+ show(F);
536
+ // Apply 'show' to i (which does not belong to the basering) by typing
537
+ // ring r; ideal i=xy,x3-y2; ring Q; show(r,"i");
538
+ }
539
+ ///////////////////////////////////////////////////////////////////////////////
540
+
541
+ proc showrecursive (def @@id,poly p,list #)
542
+ "USAGE: showrecursive(id,p[,ord]); id any object of basering, p= product of
543
+ variables and ord=string (any allowed ordstr)
544
+ DISPLAY: display 'id' in a recursive format as a polynomial in the variables
545
+ occurring in p with coefficients in the remaining variables. This is
546
+ done by mapping to a ring with parameters [and ordering 'ord',
547
+ if a 3rd argument is present (default: ord=\"dp\")] and applying
548
+ procedure 'show'
549
+ RETURN: no return value
550
+ EXAMPLE: example showrecursive; shows an example
551
+ "
552
+ {
553
+ def P = basering;
554
+ int ii;
555
+ string newchar = charstr(P);
556
+ string neword = "dp";
557
+ if( size(#) == 1 ) { neword = #[1]; }
558
+ string newvar;
559
+ for( ii=1; ii <= nvars(P); ii++ )
560
+ {
561
+ if( p/var(ii) == 0 )
562
+ {
563
+ newchar = newchar + ","+varstr(ii);
564
+ }
565
+ else
566
+ {
567
+ newvar = newvar + ","+varstr(ii);
568
+ }
569
+ }
570
+ newvar = newvar[2,size(newvar)-1];
571
+
572
+ ring newP = create_ring("("+newchar+")", "("+newvar+")", "("+neword+")");
573
+ def @@id = imap(P,@@id);
574
+ show(@@id);
575
+ return();
576
+ }
577
+ example
578
+ { "EXAMPLE:"; echo=2;
579
+ ring r=2,(a,b,c,d,x,y),ds;
580
+ poly f=y+ax2+bx3+cx2y2+dxy3;
581
+ showrecursive(f,x);
582
+ showrecursive(f,xy,"lp");
583
+ }
584
+ ///////////////////////////////////////////////////////////////////////////////
585
+
586
+ proc split (string s, list #)
587
+ "USAGE: split(s[,n]); s string, n integer
588
+ RETURN: same string, split into lines of length n separated by \
589
+ (default: n=pagewidth)
590
+ NOTE: may be used in connection with lprint
591
+ EXAMPLE: example split; shows an example
592
+ "
593
+ {
594
+ string line,re; int p,l;
595
+ if( size(#)==0 ) { int n=pagewidth; }
596
+ else { int n=#[1]; }
597
+ if( s[size(s),1] != newline ) { s=s+newline; }
598
+ l=size(s);
599
+ while( 1 )
600
+ {
601
+ p=1;
602
+ l=find(s,newline); line=s[1,l];
603
+ while( l>=n )
604
+ {
605
+ re=re+line[p,n-2]+"\\"+newline;
606
+ p=p+n-2; l=l-n+2;
607
+ }
608
+ re=re+line[p,l-1]+"\\"+newline;
609
+ l=size(line);
610
+ if( l>=size(s) ) break;
611
+ s=s[l+1,size(s)-l];
612
+ }
613
+ return (re[1,size(re)-2]);
614
+ }
615
+ example
616
+ { "EXAMPLE:"; echo = 2;
617
+ ring r= 0,(x,y,z),ds;
618
+ poly f = (x+y+z)^4;
619
+ split(string(f),50);
620
+ split(lprint(f));
621
+ }
622
+ ///////////////////////////////////////////////////////////////////////////////
623
+
624
+ proc tab (int n)
625
+ "USAGE: tab(n); n integer
626
+ RETURN: string of n space tabs
627
+ EXAMPLE: example tab; shows an example
628
+ "
629
+ {
630
+ if( n==0 ) { return(""); }
631
+ string s=" ";
632
+ return(s[1,n]);
633
+ }
634
+ example
635
+ { "EXAMPLE:"; echo = 2;
636
+ for(int n=0; n<=5; n=n+1)
637
+ { tab(5-n)+"*"+tab(n)+"+"+tab(n)+"*"; }
638
+ }
639
+ ///////////////////////////////////////////////////////////////////////////////
640
+
641
+ proc pause(list #)
642
+ "USAGE: pause([ prompt ]) prompt string
643
+ RETURN: none
644
+ PURPOSE: interrupt the execution of commands, displays prompt or pause
645
+ and waits for user input
646
+ NOTE: pause is useful in procedures in connection with printlevel to
647
+ interrupt the computation and to display intermediate results.
648
+ SEE ALSO: read, printlevel
649
+ EXAMPLE : example pause; shows an example
650
+ "
651
+ {
652
+ string pr="pause>";
653
+ if (size(#)!=0)
654
+ {
655
+ pr=#[1];
656
+ }
657
+ pr=read("",pr);
658
+ }
659
+ example
660
+ { "EXAMPLE:"; echo=2;
661
+ // can only be shown interactively, try the following commands:
662
+ // pause("press <return> to continue");
663
+ // pause();
664
+ // In the following pocedure TTT, xxx is printed and the execution of
665
+ // TTT is stopped until the return-key is pressed, if printlevel>0.
666
+ // xxx may be any result of a previous computation or a comment, etc:
667
+ //
668
+ // proc TTT
669
+ // { int pp = printlevel-voice+2; //pp=0 if printlevel=0 and if TTT is
670
+ // .... //not called from another procedure
671
+ // if( pp>0 )
672
+ // {
673
+ // print( xxx );
674
+ // pause("press <return> to continue");
675
+ // }
676
+ // ....
677
+ // }
678
+ }
679
+ ///////////////////////////////////////////////////////////////////////////////