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,489 @@
1
+ /////////////////////////////////////////////////////////////////////////
2
+ version="version ratgb.lib 4.1.2.0 Feb_2019 "; // $Id: d08da5023b3c3624b824f306741705430851b97e $
3
+ category="Noncommutative";
4
+ info="
5
+ LIBRARY: ratgb.lib Groebner bases in Ore localizations of noncommutative G-algebras
6
+ AUTHOR: Viktor Levandovskyy, levandov@risc.uni-linz.ac.at
7
+
8
+ OVERVIEW:
9
+ Theory: Let A be an operator algebra with @code{R = K[x1,.,xN]} as subring.
10
+ The operators are usually denoted by @code{d1,..,dM}.
11
+
12
+ Assume, that A is a @code{G}-algebra, then the set @code{S=R-0} is multiplicatively
13
+ closed Ore set in A.
14
+ That is, for any s in S and a in A, there exist t in S and b in A, such that @code{sa=bt}.
15
+ In other words, one can transform any left fraction into a right fraction.
16
+ The algebra @code{A_S} is called an Ore localization of A with respect to S.
17
+
18
+ This library provides Groebner basis procedure for A_S, performing polynomial (that is
19
+ fraction-free) computations only. Note, that there is ongoing development of the
20
+ subsystem called Singular:Locapal, which will provide yet another approach to Groebner
21
+ bases over such Ore localizations.
22
+
23
+ Assumptions: in order to treat such localizations constructively, some care need to be taken.
24
+ We will assume that the variables @code{x1,...,xN} from above (which will become invertible
25
+ in the localization) come as the first block among the variables of the basering.
26
+ Moreover, the ordering on the basering must be an antiblock ordering, that is its
27
+ matrix form has the left upper @code{NxN} block zero. Here is a recipe to create such
28
+ an ordering easily: use 'a(w)' definitions of the ordering N times with intvecs @code{w_i}
29
+ of the following form: @code{w_i} has first N components zero. The rest entries need to
30
+ be positive and such, that @code{w1,..,wN} are linearly independent (see an example below).
31
+
32
+ Guide: with this library, it is possible
33
+ - to compute a Groebner basis of an ideal or a submodule in the 'rational'
34
+ Ore localization D = A_S
35
+ - to compute a dimension of associated graded submodule (called D-dimension)
36
+ - to compute a vector space dimension over Quot(R) of a submodule of
37
+ D-dimension 0 (so called D-finite submodule)
38
+ - to compute a basis over Quot(R) of a D-finite submodule
39
+
40
+ PROCEDURES:
41
+ ratstd(I, n); compute Groebner basis and dimensions in Ore localization of the basering
42
+
43
+ Support: SpezialForschungsBereich F1301 of the Austrian FWF and
44
+ Transnational Access Program of RISC Linz, Austria
45
+
46
+ SEE ALSO: jacobson_lib, olga_lib
47
+ ";
48
+
49
+ LIB "polylib.lib";
50
+ LIB "dmodapp.lib"; // for Appel1, Appel2, Appel4
51
+
52
+
53
+ static proc rm_content_id(def J)
54
+ "USAGE: rm_content_id(I); I an ideal/module
55
+ RETURN: the same type as input
56
+ PURPOSE: remove the content of every generator of I
57
+ EXAMPLE: example rm_content_id; shows examples
58
+ "
59
+ {
60
+ def I = J;
61
+ int i;
62
+ int s = ncols(I);
63
+ for (i=1; i<=s; i++)
64
+ {
65
+ if (I[i]!=0)
66
+ {
67
+ I[i] = I[i]/content(I[i]);
68
+ }
69
+ }
70
+ return(I);
71
+ }
72
+ example
73
+ {
74
+ "EXAMPLE:"; echo = 2;
75
+ ring r = (0,k,n),(K,N),dp;
76
+ ideal I = n*((k+1)*K - (n-k)), k*((n-k+1)*N - (n+1));
77
+ I;
78
+ rm_content_id(I);
79
+ module M = I[1]*gen(1), I[2]*gen(2);
80
+ print(rm_content_id(M));
81
+ }
82
+
83
+ proc ratstd(def I, int is, list #)
84
+ "USAGE: ratstd(I, n [,eng]); I an ideal/module, n an integer, eng an optional integer
85
+ RETURN: ring
86
+ PURPOSE: compute the Groebner basis of I in the Ore localization of
87
+ the basering with respect to the subalgebra, generated by first n variables
88
+ ASSUME: the variables of basering are organized in two blocks and
89
+ - the first block of length @code{n} contains the elements with respect to which one localizes,
90
+ - the basering is equipped with anti-block ordering, giving block
91
+ dominance for the variables in the second block
92
+ NOTE: the output ring C is commutative. The ideal @code{rGBid} in C
93
+ represents the rational form of the output ideal @code{pGBid} in the basering.
94
+ - During the computation, the D-dimension of I, @code{Ratgb::Ddim} and the corresponding
95
+ dimension as K(x)-vector space of I (@code{Ratgb::KXdim}, if @code{Ratgb::Ddim}=0) are computed and exported.
96
+ - Setting optional integer eng to 1, std is taken as Groebner engine; default is slimgb.
97
+ DISPLAY: In order to see the steps of the computation, set printlevel to >=2
98
+ EXAMPLE: example ratstd; shows examples
99
+ "
100
+ {
101
+ // change dec 19: slimgb is default, dimensions are exported
102
+ int ppl = printlevel-voice+1;
103
+ int eng = 0;
104
+ // optional arguments
105
+ if (size(#)>0)
106
+ {
107
+ if (typeof(#[1]) == "int")
108
+ {
109
+ eng = int(#[1]);
110
+ }
111
+ }
112
+
113
+ dbprint(ppl,"engine chosen to be");
114
+ dbprint(ppl,eng);
115
+
116
+ // 0. do the subst's /reformulations
117
+ // for the time being, ASSUME
118
+ // the ord. is an elim. ord. for D
119
+ // and the block of X's is on the left
120
+ // its length is 'is'
121
+
122
+ int i,j,k;
123
+ dbprint(ppl,"// -1- creating K(x)[D]");
124
+
125
+ // 1. create K(x)[D], commutative
126
+ def save = basering;
127
+ list L = ringlist(save);
128
+ list RL, tmp1,tmp2,tmp3,tmp4;
129
+ intvec iv;
130
+ // copy: field, enlarge it with Xs
131
+
132
+ if ( size(L[1]) == 0)
133
+ {
134
+ // i.e. the field with char only
135
+ tmp2[1] = L[1];
136
+ // tmp1 = L[2];
137
+ j = size(L[2]);
138
+ iv = 1;
139
+ for (i=1; i<=is; i++)
140
+ {
141
+ tmp1[i] = L[2][i];
142
+ iv = iv,1;
143
+ }
144
+ iv = iv[1..size(iv)-1]; //extra 1
145
+ tmp2[2] = tmp1;
146
+ tmp3[1] = "lp";
147
+ tmp3[2] = iv;
148
+ // tmp2[3] = 0;
149
+ tmp4[1] = tmp3;
150
+ tmp2[3] = tmp4;
151
+ //[1] = "lp";
152
+ // tmp2[3][2] = iv;
153
+ tmp2[4] = ideal(0);
154
+ RL[1] = tmp2;
155
+ }
156
+
157
+ if ( size(L[1]) >0 )
158
+ {
159
+ // TODO!!!!!
160
+ tmp2[1] = L[1][1]; //char K
161
+ // there are parameters
162
+ // add to them X's, IGNORE alg.extension
163
+ // the ordering on pars
164
+ tmp1 = L[1][2]; // param names
165
+ j = size(tmp1);
166
+ iv = L[1][3][1][2];
167
+ for (i=1; i<=is; i++)
168
+ {
169
+ tmp1[j+i] = L[2][i];
170
+ iv = iv,1;
171
+ }
172
+ tmp2[2] = tmp1;
173
+ tmp2[3] = L[1][3];
174
+ tmp2[3][1][2] = iv;
175
+ tmp2[4] = ideal(0);
176
+ RL[1] = tmp2;
177
+ }
178
+
179
+ // vars: leave only D's
180
+ kill tmp1; list tmp1;
181
+ // tmp1 = L[2];
182
+ for (i=is+1; i<= size(L[2]); i++)
183
+ {
184
+ tmp1[i-is] = L[2][i];
185
+ }
186
+ RL[2] = tmp1;
187
+
188
+ // old: assume the ordering is the block with (a(0:is),ORD)
189
+ // old :set up ORD as the ordering
190
+ // L; "RL:"; RL;
191
+ if (size(L[3]) != 3)
192
+ {
193
+ //"note: strange ordering";
194
+ // NEW assume: ordering is the antiblock with (a(0:is),a(*1),a(*), ORD)
195
+ // get the a() parts after is => they should form a complete D-ordering
196
+ list L3 = L[3]; list NL3; kill tmp3; list tmp3;
197
+ int @sl = size(L3);
198
+ int w=1; int z; intvec va,vb;
199
+ while(L3[w][1] == "a")
200
+ {
201
+ va = L3[w][2];
202
+ for(z=1;z<=nvars(save)-is;z++)
203
+ {
204
+ vb[z] = va[is+z];
205
+ }
206
+ tmp3[1] = "a";
207
+ tmp3[2] = vb;
208
+ NL3[w] = tmp3; tmp3=0;
209
+ w++;
210
+ }
211
+ // check for completeness: must be >= nvars(save)-is rows
212
+ if (w < nvars(save)-is)
213
+ {
214
+ "note: ordering is incomplete on D. Adding lower Dp block";
215
+ // adding: positive things like Dp
216
+ tmp3[1]= "Dp";
217
+ for (z=1; z<=nvars(save)-is; z++)
218
+ {
219
+ va[is+z] = 1;
220
+ }
221
+ tmp3[2] = va;
222
+ NL3[w] = tmp3; tmp3 = 0;
223
+ w++;
224
+ }
225
+ NL3[w] = L3[@sl]; // module ord?
226
+ RL[3] = NL3;
227
+ }
228
+ else
229
+ {
230
+ kill tmp2; list tmp2;
231
+ tmp2[1] = L[3][2];
232
+ tmp2[2] = L[3][3];
233
+ RL[3] = tmp2;
234
+ }
235
+ // factor ideal is ignored
236
+ RL[4] = ideal(0);
237
+
238
+ // "ringlist:"; RL;
239
+
240
+ def @RAT = ring(RL);
241
+
242
+ dbprint(ppl,"// -2- preprocessing with content");
243
+ // 2. preprocess input with rm_content_id
244
+ setring @RAT;
245
+ dbprint(ppl-1, @RAT);
246
+ // ideal CI = imap(save,I);
247
+ def CI = imap(save,I);
248
+ CI = rm_content_id(CI);
249
+ dbprint(ppl-1, CI);
250
+
251
+ dbprint(ppl,"// -3- running groebner");
252
+ // 3. compute G = GB(I) w.r.t. the elim. ord. for D
253
+ setring save;
254
+ // ideal CI = imap(@RAT,CI);
255
+ def CI = imap(@RAT,CI);
256
+ option(redSB);
257
+ option(redTail);
258
+ if (eng==1)
259
+ {
260
+ def G = groebner(CI);
261
+ }
262
+ else
263
+ {
264
+ def G = slimgb(CI);
265
+ }
266
+ G = simplify(G,2); // to be sure there are no 0's
267
+ dbprint(ppl-1, G);
268
+
269
+ dbprint(ppl,"// -4- postprocessing with content");
270
+ // 4. postprocess the output with 1) rm_content_id, 2) lm-minimization;
271
+ setring @RAT;
272
+ // ideal CG = imap(save,G);
273
+ def CG = imap(save,G);
274
+ CG = rm_content_id(CG);
275
+ CG = simplify(CG,2);
276
+ dbprint(ppl-1, CG);
277
+
278
+ // warning: a bugfarm! in this ring, the ordering might change!!! (see appelF4)
279
+ // so, simplify(32) should take place in the orig. ring! and NOT here
280
+ // CG = simplify(CG,2+32);
281
+
282
+ // 4b. create L(G) with X's as coeffs (for minimization)
283
+ setring save;
284
+ G = imap(@RAT,CG);
285
+ int sG = ncols(G);
286
+ // ideal LG;
287
+ def LG = G;
288
+ for (i=1; i<= sG; i++)
289
+ {
290
+ LG[i] = lead(G[i]);
291
+ }
292
+ // compute the D-dimension of the ideal in the ring @RAT
293
+ setring @RAT;
294
+ // ideal LG = imap(save,LG);
295
+ def LG = imap(save,LG);
296
+ // ideal LGG = groebner(LG); // cosmetics
297
+ def LGG = groebner(LG); // cosmetics
298
+ int d = dim(LGG);
299
+ int Ddim = d;
300
+ dbprint(ppl,"the D-dimension is "+string(d));
301
+ export Ddim;
302
+ int KXdim = -1;
303
+ if (d==0)
304
+ {
305
+ d = vdim(LGG);
306
+ KXdim = d;
307
+ dbprint(ppl,"the K-dimension is "+string(KXdim));
308
+ export KXdim;
309
+ }
310
+ // ideal SLG = simplify(LG,8+32); //contains zeros
311
+ def SLG = simplify(LG,8+32); //contains zeros
312
+ setring save;
313
+ // ideal SLG = imap(@RAT,SLG);
314
+ def SLG = imap(@RAT,SLG);
315
+ // simplify(LG,8+32); //contains zeros
316
+ intvec islg;
317
+ if (SLG[1] == 0)
318
+ { islg = 0; }
319
+ else
320
+ { islg = 1; }
321
+ for (i=2; i<= ncols(SLG); i++)
322
+ {
323
+ if (SLG[i] == 0)
324
+ {
325
+ islg = islg, 0;
326
+ }
327
+ else
328
+ {
329
+ islg = islg, 1;
330
+ }
331
+ }
332
+ for (i=1; i<= ncols(LG); i++)
333
+ {
334
+ if (islg[i] == 0)
335
+ {
336
+ G[i] = 0;
337
+ }
338
+ }
339
+ G = simplify(G,2); // ready!
340
+ // G = imap(@RAT,CG);
341
+ def pGBid = G;
342
+ export pGBid;
343
+ setring @RAT;
344
+ def rGBid = imap(save,G);
345
+ export rGBid;
346
+ setring save;
347
+ return(@RAT);
348
+ }
349
+ example
350
+ {
351
+ "EXAMPLE:"; echo = 2;
352
+ ring r = (0,c),(x,y,Dx,Dy),(a(0,0,1,1),a(0,0,1,0),dp);
353
+ // this ordering is an antiblock ordering, as it must be
354
+ def S = Weyl(); setring S;
355
+ // the ideal I below annihilates parametric Appel F4 function
356
+ // where we set parameters to a=-2, b=-1 and d=0
357
+ ideal I =
358
+ x*Dx*(x*Dx+c-1) - x*(x*Dx+y*Dy-2)*(x*Dx+y*Dy-1),
359
+ y*Dy*(y*Dy-1) - y*(x*Dx+y*Dy-2)*(x*Dx+y*Dy-1);
360
+ int is = 2; // hence 1st and 2nd variables, that is x and y
361
+ // will become invertible in the localization
362
+ def A = ratstd(I,2); // main call
363
+ pGBid; // polynomial form of the basis in the localized ring
364
+ setring A; // A is a commutative ring used for presentation
365
+ rGBid; // "rational" or "localized" form of the basis
366
+ Ratgb::Ddim; // the Krull-like dimension of A/I
367
+ Ratgb::KXdim; // the dimension of A/I as a left K(x,y)-vector space
368
+ //--- Now, let us compute a K(x,y) basis explicitly
369
+ print(matrix(kbase(rGBid)));
370
+ }
371
+
372
+ /*
373
+ oldExampleForDoc()
374
+ {
375
+ // VL: removed since it's too easy
376
+ ring r = 0,(k,n,K,N),(a(0,0,1,1),a(0,0,1,0),dp);
377
+ // note, that the ordering must be an antiblock ordering
378
+ matrix D[4][4]; D[1,3] = K; D[2,4] = N;
379
+ def S = nc_algebra(1,D);
380
+ setring S; // S is the 2nd shift algebra
381
+ ideal I = (k+1)*K - (n-k), (n-k+1)*N - (n+1);
382
+ int is = 2; // hence 1..2 variables will be treated as invertible
383
+ def A = ratstd(I,is);
384
+ pGBid; // polynomial form
385
+ setring A;
386
+ rGBid; // rational form
387
+ }
388
+ */
389
+
390
+ /*
391
+ exParamAppelF4()
392
+ {
393
+ // Appel F4
394
+ LIB "ratgb.lib";
395
+ ring r = (0,a,b,c,d),(x,y,Dx,Dy),(a(0,0,1,1),a(0,0,1,0),dp);
396
+ matrix @D[4][4];
397
+ @D[1,3]=1; @D[2,4]=1;
398
+ def S=nc_algebra(1,@D);
399
+ setring S;
400
+ ideal I =
401
+ x*Dx*(x*Dx+c-1) - x*(x*Dx+y*Dy+a)*(x*Dx+y*Dy+b),
402
+ y*Dy*(y*Dy+d-1) - y*(x*Dx+y*Dy+a)*(x*Dx+y*Dy+b);
403
+ def A = ratstd(I,2);
404
+ pGBid; // polynomial form
405
+ setring A;
406
+ rGBid; // rational form
407
+ // hence, the K(x,y) basis is {1,Dx,Dy,Dy^2}
408
+ }
409
+
410
+ // more examples:
411
+
412
+ // F1 is hard
413
+ appel F1
414
+ {
415
+ LIB "dmodapp.lib";
416
+ LIB "ratgb.lib";
417
+ def A = appelF1();
418
+ setring A;
419
+ IAppel1;
420
+ def F1 = ratstd(IAppel1,2);
421
+ lead(pGBid);
422
+ setring F1; rGBid;
423
+ }
424
+
425
+ // F2 is much easier
426
+ appel F2
427
+ {
428
+ LIB "dmodapp.lib";
429
+ LIB "ratgb.lib";
430
+ def A = appelF2();
431
+ setring A;
432
+ IAppel2;
433
+ def F1 = ratstd(IAppel2,2);
434
+ lead(pGBid);
435
+ setring F1; rGBid;
436
+ }
437
+
438
+ // F4 is feasible
439
+ appel F4
440
+ {
441
+ LIB "dmodapp.lib";
442
+ LIB "ratgb.lib";
443
+ def A = appelF4();
444
+ setring A;
445
+ IAppel4;
446
+ def F1 = ratstd(IAppel4,2);
447
+ lead(pGBid);
448
+ setring F1; rGBid;
449
+ }
450
+
451
+
452
+ */
453
+
454
+ // Important: example for treating modules
455
+ // take two annihilators in 2 components
456
+
457
+ /*
458
+ LIB "nctools.lib";
459
+ ring r = (0,c),(x,y,Dx,Dy),(a(0,0,1,1),a(0,0,1,0),dp);
460
+ // this ordering is an antiblock ordering, as it must be
461
+ def S = Weyl(); setring S;
462
+ // the ideal I below annihilates parametric Appel F4 function
463
+ // where we set parameters to a=-2, b=-1 and d=0
464
+ ideal I =
465
+ x*Dx*(x*Dx+c-1) - x*(x*Dx+y*Dy-2)*(x*Dx+y*Dy-1),
466
+ y*Dy*(y*Dy-1) - y*(x*Dx+y*Dy-2)*(x*Dx+y*Dy-1);
467
+
468
+ // the ideal J below annihilates parametric Appel F4 function
469
+ // where we set parameters to a=0, b=-1, c=0, d=0
470
+
471
+ ideal J =
472
+ x*Dx*(x*Dx-1) - x*(x*Dx+y*Dy)*(x*Dx+y*Dy-1),
473
+ y*Dy*(y*Dy-1) - y*(x*Dx+y*Dy)*(x*Dx+y*Dy-1);
474
+
475
+ module M = I*gen(1), J*gen(2);
476
+
477
+ // harder modification: M = M, Dx*gen(1) + Dy*gen(2);
478
+ // gives K(x,y)-dim 3
479
+
480
+ int is = 2; // hence 1st and 2nd variables, that is x and y
481
+ // will become invertible in the localization
482
+ def A = ratstd(M,2); // main call
483
+ pGBid; // polynomial form of the basis in the localized ring
484
+ setring A;
485
+ // we see from computations, that the K(x,y) dimension is 8
486
+ rGBid; // "rational" or "localized" form of the basis
487
+ print(matrix(kbase(rGBid)));// we see the K(x,y) basis of the corr. module
488
+
489
+ */