passagemath-singular 10.6.31rc3__cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_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 (491) hide show
  1. PySingular.cpython-314-x86_64-linux-gnu.so +0 -0
  2. passagemath_singular-10.6.31rc3.dist-info/METADATA +183 -0
  3. passagemath_singular-10.6.31rc3.dist-info/RECORD +491 -0
  4. passagemath_singular-10.6.31rc3.dist-info/WHEEL +6 -0
  5. passagemath_singular-10.6.31rc3.dist-info/top_level.txt +3 -0
  6. passagemath_singular.libs/libSingular-4-20aec911.4.1.so +0 -0
  7. passagemath_singular.libs/libcddgmp-21acf0c6.so.0.1.3 +0 -0
  8. passagemath_singular.libs/libfactory-4-fcee31da.4.1.so +0 -0
  9. passagemath_singular.libs/libflint-66e12231.so.21.0.0 +0 -0
  10. passagemath_singular.libs/libgf2x-a4cdec90.so.3.0.0 +0 -0
  11. passagemath_singular.libs/libgfortran-83c28eba.so.5.0.0 +0 -0
  12. passagemath_singular.libs/libgmp-6e109695.so.10.5.0 +0 -0
  13. passagemath_singular.libs/libgsl-cda90e79.so.28.0.0 +0 -0
  14. passagemath_singular.libs/libmpfr-82690d50.so.6.2.1 +0 -0
  15. passagemath_singular.libs/libntl-e6f0d543.so.44.0.1 +0 -0
  16. passagemath_singular.libs/libomalloc-0-5c9e866e.9.6.so +0 -0
  17. passagemath_singular.libs/libopenblasp-r0-6dcb67f9.3.29.so +0 -0
  18. passagemath_singular.libs/libpolys-4-5c0a87e0.4.1.so +0 -0
  19. passagemath_singular.libs/libquadmath-2284e583.so.0.0.0 +0 -0
  20. passagemath_singular.libs/libreadline-ea270e21.so.8.2 +0 -0
  21. passagemath_singular.libs/libsingular_resources-4-a1aafc6d.4.1.so +0 -0
  22. passagemath_singular.libs/libtinfo-ceb117d9.so.6.3 +0 -0
  23. sage/algebras/all__sagemath_singular.py +3 -0
  24. sage/algebras/fusion_rings/all.py +19 -0
  25. sage/algebras/fusion_rings/f_matrix.py +2448 -0
  26. sage/algebras/fusion_rings/fast_parallel_fmats_methods.cpython-314-x86_64-linux-gnu.so +0 -0
  27. sage/algebras/fusion_rings/fast_parallel_fmats_methods.pxd +5 -0
  28. sage/algebras/fusion_rings/fast_parallel_fmats_methods.pyx +538 -0
  29. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.cpython-314-x86_64-linux-gnu.so +0 -0
  30. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pxd +3 -0
  31. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pyx +331 -0
  32. sage/algebras/fusion_rings/fusion_double.py +899 -0
  33. sage/algebras/fusion_rings/fusion_ring.py +1580 -0
  34. sage/algebras/fusion_rings/poly_tup_engine.cpython-314-x86_64-linux-gnu.so +0 -0
  35. sage/algebras/fusion_rings/poly_tup_engine.pxd +24 -0
  36. sage/algebras/fusion_rings/poly_tup_engine.pyx +579 -0
  37. sage/algebras/fusion_rings/shm_managers.cpython-314-x86_64-linux-gnu.so +0 -0
  38. sage/algebras/fusion_rings/shm_managers.pxd +24 -0
  39. sage/algebras/fusion_rings/shm_managers.pyx +780 -0
  40. sage/algebras/letterplace/all.py +1 -0
  41. sage/algebras/letterplace/free_algebra_element_letterplace.cpython-314-x86_64-linux-gnu.so +0 -0
  42. sage/algebras/letterplace/free_algebra_element_letterplace.pxd +18 -0
  43. sage/algebras/letterplace/free_algebra_element_letterplace.pyx +755 -0
  44. sage/algebras/letterplace/free_algebra_letterplace.cpython-314-x86_64-linux-gnu.so +0 -0
  45. sage/algebras/letterplace/free_algebra_letterplace.pxd +35 -0
  46. sage/algebras/letterplace/free_algebra_letterplace.pyx +914 -0
  47. sage/algebras/letterplace/letterplace_ideal.cpython-314-x86_64-linux-gnu.so +0 -0
  48. sage/algebras/letterplace/letterplace_ideal.pyx +408 -0
  49. sage/algebras/quatalg/all.py +2 -0
  50. sage/algebras/quatalg/quaternion_algebra.py +4778 -0
  51. sage/algebras/quatalg/quaternion_algebra_cython.cpython-314-x86_64-linux-gnu.so +0 -0
  52. sage/algebras/quatalg/quaternion_algebra_cython.pyx +261 -0
  53. sage/algebras/quatalg/quaternion_algebra_element.cpython-314-x86_64-linux-gnu.so +0 -0
  54. sage/algebras/quatalg/quaternion_algebra_element.pxd +29 -0
  55. sage/algebras/quatalg/quaternion_algebra_element.pyx +2176 -0
  56. sage/all__sagemath_singular.py +11 -0
  57. sage/ext_data/all__sagemath_singular.py +1 -0
  58. sage/ext_data/singular/function_field/core.lib +98 -0
  59. sage/interfaces/all__sagemath_singular.py +1 -0
  60. sage/interfaces/singular.py +2835 -0
  61. sage/libs/all__sagemath_singular.py +1 -0
  62. sage/libs/singular/__init__.py +1 -0
  63. sage/libs/singular/decl.pxd +1168 -0
  64. sage/libs/singular/function.cpython-314-x86_64-linux-gnu.so +0 -0
  65. sage/libs/singular/function.pxd +87 -0
  66. sage/libs/singular/function.pyx +1901 -0
  67. sage/libs/singular/function_factory.py +61 -0
  68. sage/libs/singular/groebner_strategy.cpython-314-x86_64-linux-gnu.so +0 -0
  69. sage/libs/singular/groebner_strategy.pxd +22 -0
  70. sage/libs/singular/groebner_strategy.pyx +582 -0
  71. sage/libs/singular/option.cpython-314-x86_64-linux-gnu.so +0 -0
  72. sage/libs/singular/option.pyx +671 -0
  73. sage/libs/singular/polynomial.cpython-314-x86_64-linux-gnu.so +0 -0
  74. sage/libs/singular/polynomial.pxd +39 -0
  75. sage/libs/singular/polynomial.pyx +661 -0
  76. sage/libs/singular/ring.cpython-314-x86_64-linux-gnu.so +0 -0
  77. sage/libs/singular/ring.pxd +58 -0
  78. sage/libs/singular/ring.pyx +893 -0
  79. sage/libs/singular/singular.cpython-314-x86_64-linux-gnu.so +0 -0
  80. sage/libs/singular/singular.pxd +72 -0
  81. sage/libs/singular/singular.pyx +1944 -0
  82. sage/libs/singular/standard_options.py +145 -0
  83. sage/matrix/all__sagemath_singular.py +1 -0
  84. sage/matrix/matrix_mpolynomial_dense.cpython-314-x86_64-linux-gnu.so +0 -0
  85. sage/matrix/matrix_mpolynomial_dense.pxd +7 -0
  86. sage/matrix/matrix_mpolynomial_dense.pyx +615 -0
  87. sage/rings/all__sagemath_singular.py +1 -0
  88. sage/rings/function_field/all__sagemath_singular.py +1 -0
  89. sage/rings/function_field/derivations_polymod.py +911 -0
  90. sage/rings/function_field/element_polymod.cpython-314-x86_64-linux-gnu.so +0 -0
  91. sage/rings/function_field/element_polymod.pyx +406 -0
  92. sage/rings/function_field/function_field_polymod.py +2611 -0
  93. sage/rings/function_field/ideal_polymod.py +1775 -0
  94. sage/rings/function_field/order_polymod.py +1475 -0
  95. sage/rings/function_field/place_polymod.py +681 -0
  96. sage/rings/polynomial/all__sagemath_singular.py +1 -0
  97. sage/rings/polynomial/multi_polynomial_ideal_libsingular.cpython-314-x86_64-linux-gnu.so +0 -0
  98. sage/rings/polynomial/multi_polynomial_ideal_libsingular.pxd +5 -0
  99. sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx +339 -0
  100. sage/rings/polynomial/multi_polynomial_libsingular.cpython-314-x86_64-linux-gnu.so +0 -0
  101. sage/rings/polynomial/multi_polynomial_libsingular.pxd +30 -0
  102. sage/rings/polynomial/multi_polynomial_libsingular.pyx +6277 -0
  103. sage/rings/polynomial/plural.cpython-314-x86_64-linux-gnu.so +0 -0
  104. sage/rings/polynomial/plural.pxd +48 -0
  105. sage/rings/polynomial/plural.pyx +3171 -0
  106. sage/symbolic/all__sagemath_singular.py +1 -0
  107. sage/symbolic/comparison_impl.pxi +428 -0
  108. sage/symbolic/constants_c_impl.pxi +178 -0
  109. sage/symbolic/expression.cpython-314-x86_64-linux-gnu.so +0 -0
  110. sage/symbolic/expression.pxd +7 -0
  111. sage/symbolic/expression.pyx +14200 -0
  112. sage/symbolic/getitem_impl.pxi +202 -0
  113. sage/symbolic/pynac.pxi +572 -0
  114. sage/symbolic/pynac_constant_impl.pxi +133 -0
  115. sage/symbolic/pynac_function_impl.pxi +206 -0
  116. sage/symbolic/pynac_impl.pxi +2576 -0
  117. sage/symbolic/pynac_wrap.h +124 -0
  118. sage/symbolic/series_impl.pxi +272 -0
  119. sage/symbolic/substitution_map_impl.pxi +94 -0
  120. sage_wheels/bin/ESingular +0 -0
  121. sage_wheels/bin/Singular +0 -0
  122. sage_wheels/bin/TSingular +0 -0
  123. sage_wheels/lib/singular/MOD/cohomo.la +41 -0
  124. sage_wheels/lib/singular/MOD/cohomo.so +0 -0
  125. sage_wheels/lib/singular/MOD/customstd.la +41 -0
  126. sage_wheels/lib/singular/MOD/customstd.so +0 -0
  127. sage_wheels/lib/singular/MOD/freealgebra.la +41 -0
  128. sage_wheels/lib/singular/MOD/freealgebra.so +0 -0
  129. sage_wheels/lib/singular/MOD/gfanlib.la +41 -0
  130. sage_wheels/lib/singular/MOD/gfanlib.so +0 -0
  131. sage_wheels/lib/singular/MOD/gitfan.la +41 -0
  132. sage_wheels/lib/singular/MOD/gitfan.so +0 -0
  133. sage_wheels/lib/singular/MOD/interval.la +41 -0
  134. sage_wheels/lib/singular/MOD/interval.so +0 -0
  135. sage_wheels/lib/singular/MOD/loctriv.la +41 -0
  136. sage_wheels/lib/singular/MOD/loctriv.so +0 -0
  137. sage_wheels/lib/singular/MOD/machinelearning.la +41 -0
  138. sage_wheels/lib/singular/MOD/machinelearning.so +0 -0
  139. sage_wheels/lib/singular/MOD/p_Procs_FieldGeneral.la +41 -0
  140. sage_wheels/lib/singular/MOD/p_Procs_FieldGeneral.so +0 -0
  141. sage_wheels/lib/singular/MOD/p_Procs_FieldIndep.la +41 -0
  142. sage_wheels/lib/singular/MOD/p_Procs_FieldIndep.so +0 -0
  143. sage_wheels/lib/singular/MOD/p_Procs_FieldQ.la +41 -0
  144. sage_wheels/lib/singular/MOD/p_Procs_FieldQ.so +0 -0
  145. sage_wheels/lib/singular/MOD/p_Procs_FieldZp.la +41 -0
  146. sage_wheels/lib/singular/MOD/p_Procs_FieldZp.so +0 -0
  147. sage_wheels/lib/singular/MOD/partialgb.la +41 -0
  148. sage_wheels/lib/singular/MOD/partialgb.so +0 -0
  149. sage_wheels/lib/singular/MOD/pyobject.la +41 -0
  150. sage_wheels/lib/singular/MOD/pyobject.so +0 -0
  151. sage_wheels/lib/singular/MOD/singmathic.la +41 -0
  152. sage_wheels/lib/singular/MOD/singmathic.so +0 -0
  153. sage_wheels/lib/singular/MOD/sispasm.la +41 -0
  154. sage_wheels/lib/singular/MOD/sispasm.so +0 -0
  155. sage_wheels/lib/singular/MOD/subsets.la +41 -0
  156. sage_wheels/lib/singular/MOD/subsets.so +0 -0
  157. sage_wheels/lib/singular/MOD/systhreads.la +41 -0
  158. sage_wheels/lib/singular/MOD/systhreads.so +0 -0
  159. sage_wheels/lib/singular/MOD/syzextra.la +41 -0
  160. sage_wheels/lib/singular/MOD/syzextra.so +0 -0
  161. sage_wheels/libexec/singular/MOD/change_cost +0 -0
  162. sage_wheels/libexec/singular/MOD/singularsurf +11 -0
  163. sage_wheels/libexec/singular/MOD/singularsurf_jupyter +9 -0
  164. sage_wheels/libexec/singular/MOD/singularsurf_win +10 -0
  165. sage_wheels/libexec/singular/MOD/solve_IP +0 -0
  166. sage_wheels/libexec/singular/MOD/surfex +16 -0
  167. sage_wheels/libexec/singular/MOD/toric_ideal +0 -0
  168. sage_wheels/share/factory/gftables/10201 +342 -0
  169. sage_wheels/share/factory/gftables/1024 +37 -0
  170. sage_wheels/share/factory/gftables/10609 +356 -0
  171. sage_wheels/share/factory/gftables/11449 +384 -0
  172. sage_wheels/share/factory/gftables/11881 +398 -0
  173. sage_wheels/share/factory/gftables/121 +6 -0
  174. sage_wheels/share/factory/gftables/12167 +408 -0
  175. sage_wheels/share/factory/gftables/125 +7 -0
  176. sage_wheels/share/factory/gftables/12769 +428 -0
  177. sage_wheels/share/factory/gftables/128 +7 -0
  178. sage_wheels/share/factory/gftables/1331 +47 -0
  179. sage_wheels/share/factory/gftables/1369 +48 -0
  180. sage_wheels/share/factory/gftables/14641 +490 -0
  181. sage_wheels/share/factory/gftables/15625 +523 -0
  182. sage_wheels/share/factory/gftables/16 +3 -0
  183. sage_wheels/share/factory/gftables/16129 +540 -0
  184. sage_wheels/share/factory/gftables/16384 +549 -0
  185. sage_wheels/share/factory/gftables/16807 +563 -0
  186. sage_wheels/share/factory/gftables/1681 +58 -0
  187. sage_wheels/share/factory/gftables/169 +8 -0
  188. sage_wheels/share/factory/gftables/17161 +574 -0
  189. sage_wheels/share/factory/gftables/1849 +64 -0
  190. sage_wheels/share/factory/gftables/18769 +628 -0
  191. sage_wheels/share/factory/gftables/19321 +646 -0
  192. sage_wheels/share/factory/gftables/19683 +659 -0
  193. sage_wheels/share/factory/gftables/2048 +71 -0
  194. sage_wheels/share/factory/gftables/2187 +75 -0
  195. sage_wheels/share/factory/gftables/2197 +76 -0
  196. sage_wheels/share/factory/gftables/2209 +76 -0
  197. sage_wheels/share/factory/gftables/22201 +742 -0
  198. sage_wheels/share/factory/gftables/22801 +762 -0
  199. sage_wheels/share/factory/gftables/2401 +82 -0
  200. sage_wheels/share/factory/gftables/243 +11 -0
  201. sage_wheels/share/factory/gftables/24389 +815 -0
  202. sage_wheels/share/factory/gftables/24649 +824 -0
  203. sage_wheels/share/factory/gftables/25 +3 -0
  204. sage_wheels/share/factory/gftables/256 +11 -0
  205. sage_wheels/share/factory/gftables/26569 +888 -0
  206. sage_wheels/share/factory/gftables/27 +3 -0
  207. sage_wheels/share/factory/gftables/27889 +932 -0
  208. sage_wheels/share/factory/gftables/2809 +96 -0
  209. sage_wheels/share/factory/gftables/28561 +954 -0
  210. sage_wheels/share/factory/gftables/289 +12 -0
  211. sage_wheels/share/factory/gftables/29791 +995 -0
  212. sage_wheels/share/factory/gftables/29929 +1000 -0
  213. sage_wheels/share/factory/gftables/3125 +107 -0
  214. sage_wheels/share/factory/gftables/32 +4 -0
  215. sage_wheels/share/factory/gftables/32041 +1070 -0
  216. sage_wheels/share/factory/gftables/32761 +1094 -0
  217. sage_wheels/share/factory/gftables/32768 +1095 -0
  218. sage_wheels/share/factory/gftables/343 +14 -0
  219. sage_wheels/share/factory/gftables/3481 +118 -0
  220. sage_wheels/share/factory/gftables/361 +14 -0
  221. sage_wheels/share/factory/gftables/36481 +1218 -0
  222. sage_wheels/share/factory/gftables/3721 +126 -0
  223. sage_wheels/share/factory/gftables/37249 +1244 -0
  224. sage_wheels/share/factory/gftables/38809 +1296 -0
  225. sage_wheels/share/factory/gftables/39601 +1322 -0
  226. sage_wheels/share/factory/gftables/4 +3 -0
  227. sage_wheels/share/factory/gftables/4096 +139 -0
  228. sage_wheels/share/factory/gftables/44521 +1486 -0
  229. sage_wheels/share/factory/gftables/4489 +152 -0
  230. sage_wheels/share/factory/gftables/49 +4 -0
  231. sage_wheels/share/factory/gftables/4913 +166 -0
  232. sage_wheels/share/factory/gftables/49729 +1660 -0
  233. sage_wheels/share/factory/gftables/5041 +170 -0
  234. sage_wheels/share/factory/gftables/50653 +1691 -0
  235. sage_wheels/share/factory/gftables/512 +20 -0
  236. sage_wheels/share/factory/gftables/51529 +1720 -0
  237. sage_wheels/share/factory/gftables/52441 +1750 -0
  238. sage_wheels/share/factory/gftables/529 +20 -0
  239. sage_wheels/share/factory/gftables/5329 +180 -0
  240. sage_wheels/share/factory/gftables/54289 +1812 -0
  241. sage_wheels/share/factory/gftables/57121 +1906 -0
  242. sage_wheels/share/factory/gftables/58081 +1938 -0
  243. sage_wheels/share/factory/gftables/59049 +1971 -0
  244. sage_wheels/share/factory/gftables/6241 +210 -0
  245. sage_wheels/share/factory/gftables/625 +23 -0
  246. sage_wheels/share/factory/gftables/63001 +2102 -0
  247. sage_wheels/share/factory/gftables/64 +5 -0
  248. sage_wheels/share/factory/gftables/6561 +221 -0
  249. sage_wheels/share/factory/gftables/6859 +231 -0
  250. sage_wheels/share/factory/gftables/6889 +232 -0
  251. sage_wheels/share/factory/gftables/729 +27 -0
  252. sage_wheels/share/factory/gftables/7921 +266 -0
  253. sage_wheels/share/factory/gftables/8 +3 -0
  254. sage_wheels/share/factory/gftables/81 +5 -0
  255. sage_wheels/share/factory/gftables/8192 +276 -0
  256. sage_wheels/share/factory/gftables/841 +30 -0
  257. sage_wheels/share/factory/gftables/9 +3 -0
  258. sage_wheels/share/factory/gftables/9409 +316 -0
  259. sage_wheels/share/factory/gftables/961 +34 -0
  260. sage_wheels/share/info/singular.info +191898 -0
  261. sage_wheels/share/singular/LIB/GND.lib +1359 -0
  262. sage_wheels/share/singular/LIB/JMBTest.lib +976 -0
  263. sage_wheels/share/singular/LIB/JMSConst.lib +1363 -0
  264. sage_wheels/share/singular/LIB/KVequiv.lib +699 -0
  265. sage_wheels/share/singular/LIB/SingularityDBM.lib +491 -0
  266. sage_wheels/share/singular/LIB/VecField.lib +1542 -0
  267. sage_wheels/share/singular/LIB/absfact.lib +959 -0
  268. sage_wheels/share/singular/LIB/ainvar.lib +730 -0
  269. sage_wheels/share/singular/LIB/aksaka.lib +419 -0
  270. sage_wheels/share/singular/LIB/alexpoly.lib +2542 -0
  271. sage_wheels/share/singular/LIB/algebra.lib +1193 -0
  272. sage_wheels/share/singular/LIB/all.lib +136 -0
  273. sage_wheels/share/singular/LIB/arcpoint.lib +514 -0
  274. sage_wheels/share/singular/LIB/arnold.lib +4553 -0
  275. sage_wheels/share/singular/LIB/arnoldclassify.lib +2058 -0
  276. sage_wheels/share/singular/LIB/arr.lib +3486 -0
  277. sage_wheels/share/singular/LIB/assprimeszerodim.lib +755 -0
  278. sage_wheels/share/singular/LIB/autgradalg.lib +3361 -0
  279. sage_wheels/share/singular/LIB/bfun.lib +1964 -0
  280. sage_wheels/share/singular/LIB/bimodules.lib +774 -0
  281. sage_wheels/share/singular/LIB/brillnoether.lib +226 -0
  282. sage_wheels/share/singular/LIB/brnoeth.lib +5017 -0
  283. sage_wheels/share/singular/LIB/central.lib +2169 -0
  284. sage_wheels/share/singular/LIB/chern.lib +4162 -0
  285. sage_wheels/share/singular/LIB/cimonom.lib +571 -0
  286. sage_wheels/share/singular/LIB/cisimplicial.lib +1835 -0
  287. sage_wheels/share/singular/LIB/classify.lib +3239 -0
  288. sage_wheels/share/singular/LIB/classify2.lib +1462 -0
  289. sage_wheels/share/singular/LIB/classifyMapGerms.lib +1515 -0
  290. sage_wheels/share/singular/LIB/classify_aeq.lib +3253 -0
  291. sage_wheels/share/singular/LIB/classifyceq.lib +2092 -0
  292. sage_wheels/share/singular/LIB/classifyci.lib +1133 -0
  293. sage_wheels/share/singular/LIB/combinat.lib +91 -0
  294. sage_wheels/share/singular/LIB/compregb.lib +276 -0
  295. sage_wheels/share/singular/LIB/control.lib +1636 -0
  296. sage_wheels/share/singular/LIB/crypto.lib +3795 -0
  297. sage_wheels/share/singular/LIB/curveInv.lib +667 -0
  298. sage_wheels/share/singular/LIB/curvepar.lib +1817 -0
  299. sage_wheels/share/singular/LIB/customstd.lib +100 -0
  300. sage_wheels/share/singular/LIB/deRham.lib +5979 -0
  301. sage_wheels/share/singular/LIB/decodegb.lib +2134 -0
  302. sage_wheels/share/singular/LIB/decomp.lib +1655 -0
  303. sage_wheels/share/singular/LIB/deflation.lib +872 -0
  304. sage_wheels/share/singular/LIB/deform.lib +925 -0
  305. sage_wheels/share/singular/LIB/difform.lib +3055 -0
  306. sage_wheels/share/singular/LIB/divisors.lib +750 -0
  307. sage_wheels/share/singular/LIB/dmod.lib +5817 -0
  308. sage_wheels/share/singular/LIB/dmodapp.lib +3269 -0
  309. sage_wheels/share/singular/LIB/dmodideal.lib +1211 -0
  310. sage_wheels/share/singular/LIB/dmodloc.lib +2645 -0
  311. sage_wheels/share/singular/LIB/dmodvar.lib +818 -0
  312. sage_wheels/share/singular/LIB/dummy.lib +17 -0
  313. sage_wheels/share/singular/LIB/elim.lib +1009 -0
  314. sage_wheels/share/singular/LIB/ellipticcovers.lib +548 -0
  315. sage_wheels/share/singular/LIB/enumpoints.lib +146 -0
  316. sage_wheels/share/singular/LIB/equising.lib +2127 -0
  317. sage_wheels/share/singular/LIB/ffmodstd.lib +2384 -0
  318. sage_wheels/share/singular/LIB/ffsolve.lib +1289 -0
  319. sage_wheels/share/singular/LIB/findifs.lib +778 -0
  320. sage_wheels/share/singular/LIB/finitediff.lib +1768 -0
  321. sage_wheels/share/singular/LIB/finvar.lib +7989 -0
  322. sage_wheels/share/singular/LIB/fpadim.lib +2429 -0
  323. sage_wheels/share/singular/LIB/fpalgebras.lib +1666 -0
  324. sage_wheels/share/singular/LIB/fpaprops.lib +1462 -0
  325. sage_wheels/share/singular/LIB/freegb.lib +3853 -0
  326. sage_wheels/share/singular/LIB/general.lib +1350 -0
  327. sage_wheels/share/singular/LIB/gfan.lib +1768 -0
  328. sage_wheels/share/singular/LIB/gitfan.lib +3130 -0
  329. sage_wheels/share/singular/LIB/gkdim.lib +99 -0
  330. sage_wheels/share/singular/LIB/gmspoly.lib +589 -0
  331. sage_wheels/share/singular/LIB/gmssing.lib +1739 -0
  332. sage_wheels/share/singular/LIB/goettsche.lib +909 -0
  333. sage_wheels/share/singular/LIB/graal.lib +1366 -0
  334. sage_wheels/share/singular/LIB/gradedModules.lib +2541 -0
  335. sage_wheels/share/singular/LIB/graphics.lib +360 -0
  336. sage_wheels/share/singular/LIB/grobcov.lib +7706 -0
  337. sage_wheels/share/singular/LIB/groups.lib +1123 -0
  338. sage_wheels/share/singular/LIB/grwalk.lib +507 -0
  339. sage_wheels/share/singular/LIB/hdepth.lib +194 -0
  340. sage_wheels/share/singular/LIB/help.cnf +57 -0
  341. sage_wheels/share/singular/LIB/hess.lib +1946 -0
  342. sage_wheels/share/singular/LIB/hnoether.lib +4292 -0
  343. sage_wheels/share/singular/LIB/hodge.lib +400 -0
  344. sage_wheels/share/singular/LIB/homolog.lib +1965 -0
  345. sage_wheels/share/singular/LIB/hyperel.lib +975 -0
  346. sage_wheels/share/singular/LIB/inout.lib +679 -0
  347. sage_wheels/share/singular/LIB/integralbasis.lib +6224 -0
  348. sage_wheels/share/singular/LIB/interval.lib +1418 -0
  349. sage_wheels/share/singular/LIB/intprog.lib +778 -0
  350. sage_wheels/share/singular/LIB/invar.lib +443 -0
  351. sage_wheels/share/singular/LIB/involut.lib +980 -0
  352. sage_wheels/share/singular/LIB/jacobson.lib +1215 -0
  353. sage_wheels/share/singular/LIB/kskernel.lib +534 -0
  354. sage_wheels/share/singular/LIB/latex.lib +3146 -0
  355. sage_wheels/share/singular/LIB/lejeune.lib +651 -0
  356. sage_wheels/share/singular/LIB/linalg.lib +2040 -0
  357. sage_wheels/share/singular/LIB/locnormal.lib +212 -0
  358. sage_wheels/share/singular/LIB/lrcalc.lib +526 -0
  359. sage_wheels/share/singular/LIB/makedbm.lib +294 -0
  360. sage_wheels/share/singular/LIB/mathml.lib +813 -0
  361. sage_wheels/share/singular/LIB/matrix.lib +1372 -0
  362. sage_wheels/share/singular/LIB/maxlike.lib +1132 -0
  363. sage_wheels/share/singular/LIB/methods.lib +212 -0
  364. sage_wheels/share/singular/LIB/moddiq.lib +322 -0
  365. sage_wheels/share/singular/LIB/modfinduni.lib +181 -0
  366. sage_wheels/share/singular/LIB/modnormal.lib +218 -0
  367. sage_wheels/share/singular/LIB/modprimdec.lib +1278 -0
  368. sage_wheels/share/singular/LIB/modquotient.lib +269 -0
  369. sage_wheels/share/singular/LIB/modstd.lib +1024 -0
  370. sage_wheels/share/singular/LIB/modular.lib +545 -0
  371. sage_wheels/share/singular/LIB/modules.lib +2561 -0
  372. sage_wheels/share/singular/LIB/modwalk.lib +609 -0
  373. sage_wheels/share/singular/LIB/mondromy.lib +1016 -0
  374. sage_wheels/share/singular/LIB/monomialideal.lib +3851 -0
  375. sage_wheels/share/singular/LIB/mprimdec.lib +2353 -0
  376. sage_wheels/share/singular/LIB/mregular.lib +1863 -0
  377. sage_wheels/share/singular/LIB/multigrading.lib +5629 -0
  378. sage_wheels/share/singular/LIB/ncHilb.lib +777 -0
  379. sage_wheels/share/singular/LIB/ncModslimgb.lib +791 -0
  380. sage_wheels/share/singular/LIB/ncalg.lib +16311 -0
  381. sage_wheels/share/singular/LIB/ncall.lib +31 -0
  382. sage_wheels/share/singular/LIB/ncdecomp.lib +468 -0
  383. sage_wheels/share/singular/LIB/ncfactor.lib +13371 -0
  384. sage_wheels/share/singular/LIB/ncfrac.lib +1023 -0
  385. sage_wheels/share/singular/LIB/nchilbert.lib +448 -0
  386. sage_wheels/share/singular/LIB/nchomolog.lib +759 -0
  387. sage_wheels/share/singular/LIB/ncloc.lib +361 -0
  388. sage_wheels/share/singular/LIB/ncpreim.lib +795 -0
  389. sage_wheels/share/singular/LIB/ncrat.lib +2849 -0
  390. sage_wheels/share/singular/LIB/nctools.lib +1887 -0
  391. sage_wheels/share/singular/LIB/nets.lib +1456 -0
  392. sage_wheels/share/singular/LIB/nfmodstd.lib +1000 -0
  393. sage_wheels/share/singular/LIB/nfmodsyz.lib +732 -0
  394. sage_wheels/share/singular/LIB/noether.lib +1106 -0
  395. sage_wheels/share/singular/LIB/normal.lib +8700 -0
  396. sage_wheels/share/singular/LIB/normaliz.lib +2226 -0
  397. sage_wheels/share/singular/LIB/ntsolve.lib +362 -0
  398. sage_wheels/share/singular/LIB/numerAlg.lib +560 -0
  399. sage_wheels/share/singular/LIB/numerDecom.lib +2261 -0
  400. sage_wheels/share/singular/LIB/olga.lib +1933 -0
  401. sage_wheels/share/singular/LIB/orbitparam.lib +351 -0
  402. sage_wheels/share/singular/LIB/parallel.lib +319 -0
  403. sage_wheels/share/singular/LIB/paraplanecurves.lib +3110 -0
  404. sage_wheels/share/singular/LIB/perron.lib +202 -0
  405. sage_wheels/share/singular/LIB/pfd.lib +2223 -0
  406. sage_wheels/share/singular/LIB/phindex.lib +642 -0
  407. sage_wheels/share/singular/LIB/pointid.lib +673 -0
  408. sage_wheels/share/singular/LIB/polybori.lib +1430 -0
  409. sage_wheels/share/singular/LIB/polyclass.lib +525 -0
  410. sage_wheels/share/singular/LIB/polylib.lib +1174 -0
  411. sage_wheels/share/singular/LIB/polymake.lib +1902 -0
  412. sage_wheels/share/singular/LIB/presolve.lib +1533 -0
  413. sage_wheels/share/singular/LIB/primdec.lib +9576 -0
  414. sage_wheels/share/singular/LIB/primdecint.lib +1782 -0
  415. sage_wheels/share/singular/LIB/primitiv.lib +401 -0
  416. sage_wheels/share/singular/LIB/puiseuxexpansions.lib +1631 -0
  417. sage_wheels/share/singular/LIB/purityfiltration.lib +960 -0
  418. sage_wheels/share/singular/LIB/qhmoduli.lib +1561 -0
  419. sage_wheels/share/singular/LIB/qmatrix.lib +293 -0
  420. sage_wheels/share/singular/LIB/random.lib +455 -0
  421. sage_wheels/share/singular/LIB/ratgb.lib +489 -0
  422. sage_wheels/share/singular/LIB/realclassify.lib +5759 -0
  423. sage_wheels/share/singular/LIB/realizationMatroids.lib +772 -0
  424. sage_wheels/share/singular/LIB/realrad.lib +1197 -0
  425. sage_wheels/share/singular/LIB/recover.lib +2628 -0
  426. sage_wheels/share/singular/LIB/redcgs.lib +3984 -0
  427. sage_wheels/share/singular/LIB/reesclos.lib +465 -0
  428. sage_wheels/share/singular/LIB/resbinomial.lib +2802 -0
  429. sage_wheels/share/singular/LIB/resgraph.lib +789 -0
  430. sage_wheels/share/singular/LIB/resjung.lib +820 -0
  431. sage_wheels/share/singular/LIB/resolve.lib +5110 -0
  432. sage_wheels/share/singular/LIB/resources.lib +170 -0
  433. sage_wheels/share/singular/LIB/reszeta.lib +5473 -0
  434. sage_wheels/share/singular/LIB/ring.lib +1328 -0
  435. sage_wheels/share/singular/LIB/ringgb.lib +343 -0
  436. sage_wheels/share/singular/LIB/rinvar.lib +1153 -0
  437. sage_wheels/share/singular/LIB/rootisolation.lib +1481 -0
  438. sage_wheels/share/singular/LIB/rootsmr.lib +709 -0
  439. sage_wheels/share/singular/LIB/rootsur.lib +886 -0
  440. sage_wheels/share/singular/LIB/rstandard.lib +607 -0
  441. sage_wheels/share/singular/LIB/rwalk.lib +336 -0
  442. sage_wheels/share/singular/LIB/sagbi.lib +1353 -0
  443. sage_wheels/share/singular/LIB/sagbiNormaliz.lib +1622 -0
  444. sage_wheels/share/singular/LIB/sagbiNormaliz0.lib +1498 -0
  445. sage_wheels/share/singular/LIB/sagbigrob.lib +449 -0
  446. sage_wheels/share/singular/LIB/schreyer.lib +321 -0
  447. sage_wheels/share/singular/LIB/schubert.lib +2551 -0
  448. sage_wheels/share/singular/LIB/sets.lib +524 -0
  449. sage_wheels/share/singular/LIB/sheafcoh.lib +1663 -0
  450. sage_wheels/share/singular/LIB/signcond.lib +437 -0
  451. sage_wheels/share/singular/LIB/sing.lib +1094 -0
  452. sage_wheels/share/singular/LIB/sing4ti2.lib +419 -0
  453. sage_wheels/share/singular/LIB/solve.lib +2243 -0
  454. sage_wheels/share/singular/LIB/spcurve.lib +1077 -0
  455. sage_wheels/share/singular/LIB/spectrum.lib +62 -0
  456. sage_wheels/share/singular/LIB/sresext.lib +757 -0
  457. sage_wheels/share/singular/LIB/ssi.lib +143 -0
  458. sage_wheels/share/singular/LIB/standard.lib +2769 -0
  459. sage_wheels/share/singular/LIB/stanleyreisner.lib +473 -0
  460. sage_wheels/share/singular/LIB/stdmodule.lib +547 -0
  461. sage_wheels/share/singular/LIB/stratify.lib +1070 -0
  462. sage_wheels/share/singular/LIB/surf.lib +506 -0
  463. sage_wheels/share/singular/LIB/surf_jupyter.lib +223 -0
  464. sage_wheels/share/singular/LIB/surfacesignature.lib +522 -0
  465. sage_wheels/share/singular/LIB/surfex.lib +1462 -0
  466. sage_wheels/share/singular/LIB/swalk.lib +877 -0
  467. sage_wheels/share/singular/LIB/symodstd.lib +1570 -0
  468. sage_wheels/share/singular/LIB/systhreads.lib +74 -0
  469. sage_wheels/share/singular/LIB/tasks.lib +1324 -0
  470. sage_wheels/share/singular/LIB/tateProdCplxNegGrad.lib +2412 -0
  471. sage_wheels/share/singular/LIB/teachstd.lib +858 -0
  472. sage_wheels/share/singular/LIB/template.lib +116 -0
  473. sage_wheels/share/singular/LIB/toric.lib +1119 -0
  474. sage_wheels/share/singular/LIB/transformation.lib +116 -0
  475. sage_wheels/share/singular/LIB/triang.lib +1197 -0
  476. sage_wheels/share/singular/LIB/tropical.lib +8741 -0
  477. sage_wheels/share/singular/LIB/tropicalEllipticCovers.lib +2922 -0
  478. sage_wheels/share/singular/LIB/tropicalNewton.lib +1128 -0
  479. sage_wheels/share/singular/LIB/tst.lib +1108 -0
  480. sage_wheels/share/singular/LIB/weierstr.lib +241 -0
  481. sage_wheels/share/singular/LIB/zeroset.lib +1478 -0
  482. sage_wheels/share/singular/emacs/.emacs-general +184 -0
  483. sage_wheels/share/singular/emacs/.emacs-singular +234 -0
  484. sage_wheels/share/singular/emacs/COPYING +44 -0
  485. sage_wheels/share/singular/emacs/cmd-cmpl.el +241 -0
  486. sage_wheels/share/singular/emacs/ex-cmpl.el +1681 -0
  487. sage_wheels/share/singular/emacs/hlp-cmpl.el +4318 -0
  488. sage_wheels/share/singular/emacs/lib-cmpl.el +179 -0
  489. sage_wheels/share/singular/emacs/singular.el +4273 -0
  490. sage_wheels/share/singular/emacs/singular.xpm +39 -0
  491. sage_wheels/share/singular/singular.idx +5002 -0
@@ -0,0 +1,136 @@
1
+ ///////////////////////////////////////////////////////////////////////////////
2
+ version="version all.lib 4.1.1.0 Jan_2018 ";
3
+ category = "General purpose";
4
+ info="
5
+ LIBRARY: all.lib Load all libraries (commutative case)
6
+ AUTHORS: Singular team (automatically generated, do not edit)
7
+
8
+ use: help Singular libraries; for a list of the libraries
9
+ ";
10
+
11
+ ///////////////////////////////////////////////////////////////////////////////
12
+
13
+ LIB "absfact.lib";
14
+ LIB "ainvar.lib";
15
+ LIB "aksaka.lib";
16
+ LIB "alexpoly.lib";
17
+ LIB "algebra.lib";
18
+ LIB "arcpoint.lib";
19
+ LIB "assprimeszerodim.lib";
20
+ LIB "brnoeth.lib";
21
+ LIB "cisimplicial.lib";
22
+ LIB "classify.lib";
23
+ LIB "compregb.lib";
24
+ LIB "control.lib";
25
+ LIB "crypto.lib";
26
+ LIB "curvepar.lib";
27
+ LIB "decodegb.lib";
28
+ LIB "deform.lib";
29
+ LIB "elim.lib";
30
+ LIB "equising.lib";
31
+ LIB "finvar.lib";
32
+ LIB "general.lib";
33
+ LIB "gmspoly.lib";
34
+ LIB "gmssing.lib";
35
+ LIB "graphics.lib";
36
+ LIB "grobcov.lib";
37
+ LIB "groups.lib";
38
+ LIB "grwalk.lib";
39
+ LIB "hnoether.lib";
40
+ LIB "homolog.lib";
41
+ LIB "hyperel.lib";
42
+ LIB "integralbasis.lib";
43
+ LIB "inout.lib";
44
+ LIB "intprog.lib";
45
+ LIB "jacobson.lib";
46
+ LIB "kskernel.lib";
47
+ LIB "latex.lib";
48
+ LIB "linalg.lib";
49
+ LIB "makedbm.lib";
50
+ LIB "matrix.lib";
51
+ LIB "modular.lib";
52
+ LIB "modfinduni.lib";
53
+ LIB "modstd.lib";
54
+ LIB "modprimdec.lib";
55
+ LIB "modquotient.lib";
56
+ LIB "mondromy.lib";
57
+ LIB "monomialideal.lib";
58
+ LIB "mprimdec.lib";
59
+ LIB "mregular.lib";
60
+ LIB "nfmodstd.lib";
61
+ LIB "nfmodsyz.lib";
62
+ LIB "noether.lib";
63
+ LIB "normal.lib";
64
+ LIB "normaliz.lib";
65
+ LIB "ntsolve.lib";
66
+ LIB "paraplanecurves.lib";
67
+ LIB "pfd.lib";
68
+ LIB "phindex.lib";
69
+ LIB "pointid.lib";
70
+ LIB "polylib.lib";
71
+ LIB "presolve.lib";
72
+ LIB "primdec.lib";
73
+ LIB "primdecint.lib";
74
+ LIB "primitiv.lib";
75
+ LIB "qhmoduli.lib";
76
+ LIB "random.lib";
77
+ LIB "realclassify.lib";
78
+ LIB "realrad.lib";
79
+ LIB "redcgs.lib";
80
+ LIB "reesclos.lib";
81
+ LIB "resbinomial.lib";
82
+ LIB "resgraph.lib";
83
+ LIB "resjung.lib";
84
+ LIB "resolve.lib";
85
+ LIB "reszeta.lib";
86
+ LIB "ring.lib";
87
+ LIB "ringgb.lib";
88
+ LIB "rinvar.lib";
89
+ LIB "rootsmr.lib";
90
+ LIB "rootsur.lib";
91
+ LIB "sagbi.lib";
92
+ LIB "sheafcoh.lib";
93
+ LIB "sing.lib";
94
+ LIB "sing4ti2.lib";
95
+ LIB "signcond.lib";
96
+ LIB "sagbiNormaliz.lib";
97
+ LIB "solve.lib";
98
+ LIB "spcurve.lib";
99
+ LIB "spectrum.lib";
100
+ LIB "standard.lib";
101
+ LIB "stanleyreisner.lib";
102
+ LIB "stratify.lib";
103
+ LIB "surf.lib";
104
+ LIB "surf_jupyter.lib";
105
+ LIB "surfacesignature.lib";
106
+ LIB "surfex.lib";
107
+ LIB "teachstd.lib";
108
+ LIB "toric.lib";
109
+ LIB "triang.lib";
110
+ LIB "weierstr.lib";
111
+ LIB "zeroset.lib";
112
+ LIB "bimodules.lib";
113
+ LIB "bfun.lib";
114
+ LIB "central.lib";
115
+ LIB "dmod.lib";
116
+ LIB "dmodapp.lib";
117
+ LIB "dmodvar.lib";
118
+ LIB "dmodideal.lib";
119
+ LIB "fpadim.lib";
120
+ LIB "fpalgebras.lib";
121
+ LIB "fpaprops.lib";
122
+ LIB "freegb.lib";
123
+ LIB "gkdim.lib";
124
+ LIB "involut.lib";
125
+ LIB "ncall.lib";
126
+ LIB "ncalg.lib";
127
+ LIB "ncdecomp.lib";
128
+ LIB "ncfactor.lib";
129
+ LIB "nchomolog.lib";
130
+ LIB "ncModslimgb.lib";
131
+ LIB "ncpreim.lib";
132
+ LIB "nctools.lib";
133
+ LIB "perron.lib";
134
+ LIB "purityfiltration.lib";
135
+ LIB "qmatrix.lib";
136
+ LIB "ratgb.lib";
@@ -0,0 +1,514 @@
1
+ //////////////////////////////////////////////////////////////////////////////
2
+ version="version arcpoint.lib 4.3.1.3 Jan_2023 "; // $Id: 98f31baab7aaa83aba8edcd151a482bc3f75ee9d $
3
+ //-*- mode:C++;-*-
4
+
5
+ category="Singularities";
6
+ info="
7
+ LIBRARY: arcpoint.lib Truncations of arcs at a singular point
8
+ AUTHOR: Nadine Cremer cremer@mathematik.uni-kl.de
9
+
10
+ OVERVIEW: An arc is given by a power series in one variable, say t, and
11
+ truncating it at a positive integer i means cutting
12
+ the t-powers > i. The set of arcs truncated at order
13
+ <bound> is denoted Tr(i). An algorithm for computing
14
+ these sets (which happen to be constructible) is given in
15
+ [Lejeune-Jalabert, M.: Courbes trac\'ees sur un germe
16
+ d'hypersurface, American Journal of Mathematics, 112 (1990)].
17
+ Our procedures for computing the locally closed sets contributing
18
+ to the set of truncations rely on this algorithm.
19
+
20
+ PROCEDURES:
21
+ nashmult(f,bound); determines locally closed sets relevant
22
+ for computing truncations of arcs over a
23
+ hypersurface with isolated singularity
24
+ defined by f. The sets are given by two
25
+ ideals specifying relations between
26
+ coefficients of power series in t. One
27
+ of the ideals defines an open set, the
28
+ other one the complement of a closed
29
+ set within the open one.
30
+ We consider only coefficients up to
31
+ t^<bound>.
32
+ Moreover, the sequence of Nash
33
+ Multiplicities of each set is
34
+ displayed
35
+ removepower(I); modifies the ideal I such that the
36
+ algebraic set defined by it remains
37
+ the same: removes powers of variables
38
+ idealsimplify(I,maxiter); further simplification of I in the
39
+ above sense: reduction with other
40
+ elements of I. The positive integer
41
+ <maxiter> gives a bound to the number of
42
+ repetition steps
43
+ equalJinI(I,J); tests if two ideals I and J are equal
44
+ under the assumption that J is
45
+ contained in I. Returns 1 if this is
46
+ true and 0 otherwise
47
+ ";
48
+
49
+ LIB "ring.lib";
50
+ LIB "general.lib";
51
+ LIB "standard.lib";
52
+ LIB "sing.lib";
53
+
54
+
55
+ //////////////////////////////////////////////////////////////////////
56
+ // //
57
+ // RELEVANT LOCALLY CLOSED SETS //
58
+ // //
59
+ //////////////////////////////////////////////////////////////////////
60
+
61
+
62
+ proc nashmult (poly f, int bound)
63
+ "USAGE: nashmult(f,bound); f polynomial, bound positive integer
64
+ CREATE: allsteps:
65
+ @format
66
+ a list containing all relevant locally closed sets
67
+ up to order <bound> and their sequences of
68
+ Nash Multiplicities
69
+ @end format
70
+ setstep:
71
+ @format
72
+ list of relevant locally closed sets
73
+ obtained from sequences of length bound+1
74
+ @end format
75
+ RETURN: ring, original basering with additional
76
+ variables t and coefficients up to t^<bound>
77
+ EXAMPLE: example nashmult; shows an example"
78
+
79
+ {
80
+ // Make sure that only admissible parameters are entered
81
+
82
+ if (bound<1)
83
+ {
84
+ ERROR("Integer parameter must be positive!");
85
+ }
86
+
87
+ // General setup, declarations and initialization...
88
+
89
+ int k,s,step,loop; // loop variables
90
+ int pos; // position parameter
91
+ int countall; // position parameter
92
+ list allsteps; // saves results from all
93
+ // steps
94
+ def r=basering;
95
+ int startvar=nvars(basering);
96
+ intvec control=order(f); // initialize
97
+ def R=ringchange(bound+1); // ring in which result lies
98
+
99
+
100
+ setring R; // make it basering
101
+ ideal I0;
102
+ list init=control,I0,I0;
103
+ list setstep=insert(setstep,init); // stores Nash multiplicities
104
+ kill I0; // and underlying sets (given
105
+ kill init; // that the sets are not
106
+ // empty),will be a list of
107
+ // lists, each of which
108
+ // containing an intvec and
109
+ // two ideals
110
+
111
+
112
+ // consider all possible sequences of multiplicities<=<bound>:
113
+
114
+ for(step=2;step<=bound+1;step++)
115
+ {
116
+ list setsteptmp; // temporary variable, local
117
+ // to this loop
118
+ int count; // position parameter
119
+ int setsize=size(setstep);
120
+
121
+ setring r;
122
+ def rplug=pluginCoeffs(f,step); // substitute variables in f
123
+ // by polynomials in t of
124
+ // degree <step>
125
+ setring R;
126
+ ideal coe=imap(rplug,resultcoe); // gives the t-coefficients
127
+ kill rplug;
128
+
129
+
130
+ // consider all sequences of length <step-1> giving rise to a
131
+ // family...
132
+
133
+ for(loop=1;loop<=setsize;loop++)
134
+ {
135
+ control=setstep[loop][1]; // initialization. <control>
136
+ int sizecontrol=size(control); // describes Nash mutiplicities
137
+ ideal gprev=setstep[loop][3]; // in this step, <fprev> and
138
+ ideal fprev=setstep[loop][2]; // <gprev> the already obtained
139
+ // relations
140
+
141
+ ideal actcoe=reduce(coe,slimgb(fprev)); // take into account
142
+ // existing relations
143
+
144
+ pos=1; // determine first nonzero
145
+ while(actcoe[pos]==0) // t-coefficient
146
+ {
147
+ pos++;
148
+ }
149
+
150
+ ideal fset; // will store relations
151
+ ideal gset; // defining the
152
+ // constructible sets
153
+
154
+ int m0=control[sizecontrol]; // bounds the computations
155
+
156
+ // consider all possible sequences arising from <control>...
157
+
158
+ control=control,0;
159
+ for (s=1;s<=m0;s++)
160
+ {
161
+ control[step]=control[step]+1; // the next possible sequence
162
+ // of multiplicities
163
+
164
+ fset=fset,actcoe[pos+s-1],gset; // add new condition
165
+ gset=gset,fset;
166
+
167
+ for(k=0;k<startvar;k++) // additional conditions for
168
+ { // <gset>:
169
+ ideal coevar=coeffs(actcoe[pos+s],
170
+ var(startvar+1+step+k*(bound+1)));
171
+ int coesize=ncols(coevar);
172
+ if (coesize>=2) // add coeff. of nonconstant
173
+ { // terms in "highest"
174
+ gset=gset,coevar[2..coesize]; // variables
175
+ }
176
+ kill coevar;
177
+ kill coesize;
178
+ }
179
+ fset=fprev,fset; // add obtained conditions
180
+ gset=fprev,gset; // to the existing ones...
181
+ gset=idealsimplify(gset,1000); // ...and simplify
182
+ fset=idealsimplify(fset,1000);
183
+
184
+
185
+ // if we have found a nontrivial component...
186
+
187
+ if (control[step-1]==1)
188
+ {
189
+ list comp=control,fset,gset; // ...add it and
190
+ setsteptmp=insert(setsteptmp,comp,count); // multiplicity
191
+ count++;
192
+ kill comp;
193
+ }
194
+ else
195
+ {
196
+ if (equalJinI(gset,fset)==0)
197
+ {
198
+ list comp=control,fset,gset; // ...add it and
199
+ setsteptmp=insert(setsteptmp,comp,count);// multiplicity
200
+ count++;
201
+ kill comp;
202
+ }
203
+ }
204
+ }
205
+ kill fset,gset,actcoe,sizecontrol,fprev,gprev,m0;
206
+ }
207
+ setstep=setsteptmp;
208
+
209
+ allsteps=insert(allsteps,setstep,countall); // add results from
210
+ countall++; // this step
211
+
212
+ kill setsteptmp,count,coe,setsize;
213
+ }
214
+ export(setstep);
215
+ export(allsteps);
216
+ return(R);
217
+ }
218
+ example
219
+ {
220
+ "EXAMPLE:"; echo=2;
221
+ ring r=0,(x,y,z),dp;
222
+ poly f=z4+y3-x2;
223
+ def R=nashmult(f,2);
224
+ setring R;
225
+ allsteps;
226
+ }
227
+
228
+
229
+
230
+ //////////////////////////////////////////////////////////////////////
231
+ // //
232
+ // SUBSTITUTE VARIABLES BY POLYNOMIALS //
233
+ // //
234
+ //////////////////////////////////////////////////////////////////////
235
+
236
+
237
+ static proc pluginCoeffs (poly f,int i)
238
+ "USAGE: pluginCoeffs(f,i); f polynomial, i integer
239
+ CREATE: matrix, the t-coefficients obtained by replacing each
240
+ variable of f by a polynomial in t
241
+ RETURN: ring, corresponds to f and i in the sense that it is
242
+ the original ring with added variables t and
243
+ t-coefficients up to t^<bound> "
244
+ {
245
+ int startvar=nvars(basering);
246
+ def r=basering;
247
+ def R=ringchange(i); // changes the ring
248
+ setring R; // makes it new basering;
249
+ ideal I=tpolys(i,startvar);
250
+ map h=r,I; // define map
251
+ ideal resultplug=h(f);
252
+ matrix resultcoe=coeffs(resultplug[1],t);
253
+ export(resultcoe); // keep accessible
254
+ export(resultplug);
255
+ return(R); //
256
+ }
257
+
258
+ //////////////////////////////////////////////////////////////////////
259
+ static proc tpolys (int i,int k)
260
+ "USAGE: tpolys(i,k); i,k integer
261
+ RETURN: ideal, generated by k polynomials in t of degree i
262
+ of the form a(1)*t+..+a(i)*t^i
263
+ NOTE: called from pluginCoeffs"
264
+ {
265
+ int s,t;
266
+ int v;
267
+ poly sum;
268
+ ideal I;
269
+ for(t=1;t<=k;t++)
270
+ {
271
+ v=(t-1)*i;
272
+ for(s=1;s<=i;s++)
273
+ {
274
+ sum=sum+var(1+k+v+s)*var(k+1)^s;
275
+ }
276
+ I[t]=sum;
277
+ sum=0;
278
+ }
279
+ return(I);
280
+ }
281
+
282
+
283
+ //////////////////////////////////////////////////////////////////////
284
+ // //
285
+ // CONSTRUCTING THE RESULT RING //
286
+ // //
287
+ //////////////////////////////////////////////////////////////////////
288
+
289
+
290
+ static proc ringchange (int i)
291
+ "USAGE: ringchange(i); i integer
292
+ RETURN: ring, extends basering by variables t and
293
+ #(variables of basering)*i new variables"
294
+ {
295
+ def R=changevar(""+varstr(basering)+",t,"
296
+ +variables_str(nvars(basering),i)+"");
297
+ return(R);
298
+ }
299
+
300
+ /////////////////////////////////////////////////////////////////////
301
+ static proc variables_str (int k,int i)
302
+ "USAGE: variables_str(k,i); k,i integer
303
+ ASSUME: 1<=k<=26, i>=1
304
+ RETURN: string of names of variables added in ringchange
305
+ NOTE: called from ringchange, we use this procedure to
306
+ obtain a nice shape of the ring created "
307
+ {
308
+ list l;
309
+ int s,u;
310
+ string str;
311
+ for (u=1;u<=k;u++)
312
+ {
313
+ for (s=1;s<=i;s++)
314
+ {
315
+ str=""+atoz(u)+"("+string(s)+")"; // creates new variables
316
+ l[(u-1)*i+s]=str; // saves them in a list
317
+ }
318
+ }
319
+ string str1=string(l); // makes a string of the
320
+ return(str1); // list (needed for change
321
+ } // of ring)
322
+
323
+ //////////////////////////////////////////////////////////////////////
324
+ static proc atoz (int n)
325
+ "USAGE: atoz(n); n integer
326
+ ASSUME: 1<=n<=26
327
+ RETURN: string, the nth letter of the alphabet"
328
+ {
329
+ ring r = create_ring(0, "("+A_Z("a",n)+")", "ds");
330
+ return (string(var(n)));
331
+ }
332
+
333
+
334
+ //////////////////////////////////////////////////////////////////////
335
+ // //
336
+ // AUXILIARY PROCEDURES //
337
+ // //
338
+ //////////////////////////////////////////////////////////////////////
339
+
340
+
341
+ static proc order (poly f)
342
+ "USAGE: order(f); f polynomial
343
+ RETURN: int i, such that f_i is the smallest (in terms of degree)
344
+ non-zero homogeneous part
345
+ NOTE: is designed for ordering dp"
346
+ {
347
+ int k=deg(f);
348
+ int i;
349
+ for(i=1;i<=k;i++)
350
+ {
351
+ if(jet(f,i)!=0)
352
+ {
353
+ return(i);
354
+ }
355
+ }
356
+ }
357
+
358
+ //////////////////////////////////////////////////////////////////////
359
+ static proc modd (poly f, poly g)
360
+ "USAGE: modd(f,g); f,g polynomials
361
+ RETURN: poly, f mod g division with remainder
362
+ NOTE: called from idealsimplify where it is used to modify
363
+ the generating set of an ideal"
364
+ {
365
+ poly result=f-(f/g)*g;
366
+ return(result);
367
+ }
368
+
369
+ //////////////////////////////////////////////////////////////////////
370
+ proc removepower (ideal I)
371
+ "USAGE: removepower(I); I ideal
372
+ SEE ALSO:idealsimplify
373
+ RETURN: ideal defining the same zeroset as I: if any generator
374
+ of I is a power of one single variable, replace it by the
375
+ respective variable
376
+ EXAMPLE: example removepower; shows an example"
377
+ {
378
+ int i,j;
379
+ int divisornumber=0;
380
+ int pos;
381
+ I=simplify(I,6); // remove 0 and multiple generators
382
+ for(j=1;j<=ncols(I);j++)
383
+ {
384
+ if(size(I[j])==1) // test if generators are powers
385
+ { // of variables...
386
+ for(i=1;i<=nvars(basering);i++)
387
+ {
388
+ if(modd(I[j],var(i))==0)
389
+ {
390
+ divisornumber++;
391
+ pos=i;
392
+ }
393
+ }
394
+ }
395
+ if(divisornumber==1) // ...if so, replace by variable
396
+ {
397
+ I[j]=var(pos);
398
+ }
399
+ divisornumber=0;
400
+ }
401
+ return(I);
402
+ }
403
+ example
404
+ {
405
+ "EXAMPLE:"; echo=2;
406
+ ring r=0,(x,y,z),dp;
407
+ ideal I = x3,y+z2-x2;
408
+ I;
409
+
410
+ removepower(I);
411
+ }
412
+
413
+ //////////////////////////////////////////////////////////////////////
414
+ proc idealsimplify (ideal I, int maxiter)
415
+ "USAGE: idealsimplify(I,m); I ideal, m int
416
+ ASSUME: procedure is stable for sufficiently large m
417
+ RETURN: ideal defining the same zeroset as I: replace generators
418
+ of I by the generator modulo other generating elements
419
+ EXAMPLE: example idealsimplify; shows an example "
420
+ {
421
+ if(maxiter<1)
422
+ {ERROR("The integer argument has to be positive!")}
423
+ ideal comp;
424
+ int iteration;
425
+ int changed=0;
426
+ int i,j,ci,n,cols;
427
+ for(iteration=0;iteration<maxiter;iteration++)
428
+ {
429
+ comp=I;
430
+ n=ncols(I);
431
+ for(j=2;j<=n;j++) // reduce with lower elements
432
+ {
433
+ for(i=1;i<j;i++)
434
+ {
435
+ if(I[i]!=0)
436
+ {
437
+ I[j]=modd(I[j],I[i]);
438
+ }
439
+ }
440
+ }
441
+ I=simplify(removepower(I),7);
442
+
443
+ kill n;
444
+ int n=ncols(I);
445
+ for(j=n-1;j>=1;j--) // reduce with higher elements
446
+ {
447
+ for(i=n;i>j;i--)
448
+ {
449
+ if(I[i]!=0)
450
+ {
451
+ I[j]=modd(I[j],I[i]);
452
+ }
453
+ }
454
+ }
455
+ I=simplify(removepower(I),7);
456
+
457
+ if (ncols(I)==ncols(comp)) //check if I has changed
458
+ {
459
+ cols=ncols(I);
460
+ changed=0;
461
+ for(ci=1;ci<=cols;ci++)
462
+ {
463
+ if (I[ci]!=comp[ci])
464
+ {
465
+ changed=1;
466
+ break;
467
+ }
468
+ }
469
+ if (changed==0)
470
+ break;
471
+ }
472
+ }
473
+ return(I);
474
+ }
475
+ example
476
+ {
477
+ "EXAMPLE:"; echo=2;
478
+ ring r=0,(x,y,z),dp;
479
+ ideal I = x3,y+z2-x2;
480
+ I;
481
+
482
+ idealsimplify(I,10);
483
+ }
484
+
485
+ //////////////////////////////////////////////////////////////////////
486
+ proc equalJinI (ideal I, ideal J)
487
+ "USAGE: equalJinI(I,J); (I,J ideals)
488
+ ASSUME: J contained in I and both I and J have been processed
489
+ with idealsimplify before
490
+ SEE ALSO: idealsimplify
491
+ RETURN: 1, if I=J, 0 otherwise
492
+ EXAMPLE: example equalJinI; shows an example"
493
+ {
494
+ int col=ncols(I);
495
+ J=slimgb(J);
496
+ int k;
497
+ for(k=1;k<=col;k++)
498
+ {
499
+ if(reduce(I[k],J,5)!=0)
500
+ { return(0);}
501
+ }
502
+ return(1);
503
+ }
504
+ example
505
+ {
506
+ "EXAMPLE:"; echo=2;
507
+ ring r=0,(x,y,z),dp;
508
+ ideal I = x,y+z2;
509
+ ideal J1= x;
510
+ ideal J2= x,y+z2;
511
+
512
+ equalJinI(I,J1);
513
+ equalJinI(I,J2);
514
+ }