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