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,448 @@
1
+ ////////////////////////////////////////////////////////////////
2
+ version="version nchilbert.lib 4.4.0.1 May_2024 "; // $Id: 11c360b318ef2f8f82d51d9159e145feb845e58c $
3
+ category="Noncommutative";
4
+ info="
5
+ LIBRARY: nchilbert.lib Hilbert series, polynomial and multiplicity for G-Algebras (Plural)
6
+
7
+ AUTHORS: Andre Ranft, andre.ranft at rwth-aachen.de
8
+ @* Viktor Levandovskyy, levandov at rwth-aachen.de
9
+
10
+ OVERVIEW: The theory is found in the book by Bueso, Gomez-Torrecillas, and Verschoren
11
+ Algorithmic Methods in Non-Commutative Algebra. Applications to Quantum Groups.
12
+ and in the bachelor thesis by
13
+ Andre Ranft, Hilbert polynomials of modules over noncommutative G-algebras, RWTH Aachen, 2014.
14
+
15
+ PROCEDURES:
16
+ ncHilb(M,j); computes first resp. second Hilbert series of a module as bigintvec
17
+ ncHilbertSeries(M,j); computes first resp. second Hilbert series of a module as a poly
18
+ ncHilbertPolynomial(M,j); computes the Hilbert polynomial of coker(M)
19
+ ncHilbertMultiplicity(M); computes the (Hilbert) multiplicity of coker(M)
20
+ GKExp(M); computes the Gelfand-Kirillov dimension of coker(M)
21
+ mondim(B,i); computes the dimension of the monoid ideal B
22
+
23
+ KEYWORDS: G-algebra; Hilbert function; Hilbert series; Hilbert polynomial; multiplicity
24
+
25
+ SEE ALSO: hilb, rinvar_lib, multigrading_lib
26
+ ";
27
+
28
+ ////////////////////////////////////////////////////////////////////
29
+ LIB "ncalg.lib";
30
+ LIB "gkdim.lib";
31
+
32
+ proc ncHilb(module I, int j)
33
+ "USAGE: ncHilb(M,j); M a module, j an int
34
+ RETURN: bigintvec
35
+ ASSUME:
36
+ - M is given via a Groebner basis; j is 1 or 2;
37
+ - the weights of all the ring variables are positive
38
+ NOTE:
39
+ - computes the first (if j=1) or second (j=2) Hilbert series of I as bigintvec
40
+ - the procedure works analogously to the commutative procedure @code{hilb}
41
+ - If the returned vector has the form @code{v=(v_0,v_1,...,v_d,0)}, then
42
+ the Hilbert series is @code{v_0 + v_1*t + ... + v_d*t^d}
43
+ SEE ALSO: hilb
44
+ KEYWORDS: Hilbert function; Hilbert series; G-algebra
45
+ EXAMPLE: example ncHilb;
46
+ "
47
+ {
48
+ // check: I is a GB?
49
+ // do not prune the presentation! let a user decide
50
+ if ( attrib(I,"isSB") != 1)
51
+ {
52
+ "Warning: the input generators are not a Groebner basis";
53
+ "The result might have no meaning";
54
+ attrib(I,"isSB", 1);
55
+ }
56
+ // check: j in 1,2
57
+ if ( ! ( (j == 1) || (j==2) ))
58
+ {
59
+ ERROR("The integer must either be 1 or 2");
60
+ }
61
+ def R = basering;
62
+ int nv = nvars(R);
63
+ int k;
64
+ // check: weights are strictly positive
65
+ intvec weights;
66
+ for(k=1; k<= nv; k++)
67
+ {
68
+ weights[k] = deg(var(k));
69
+ if ((weights[k]) <=0)
70
+ {
71
+ ERROR("The weights of variables must be nonnegative!");
72
+ }
73
+ }
74
+ def Rhelp= ringlist(R);
75
+ module LI = lead(I);
76
+ list L = Rhelp[1],Rhelp[2],Rhelp[3],Rhelp[4];
77
+ // Question: in case of GR-algebra, do we need to replace the factor ideal
78
+ // by its gr-part? Answer: no
79
+ def KomR = ring(L);
80
+ setring KomR;
81
+ def J = std(imap(R,LI));
82
+ bigintvec hl = hilb(J,j,weights);
83
+ setring R;
84
+ // cleanup:
85
+ kill KomR; kill Rhelp;
86
+ return ( hl );
87
+ }
88
+ example
89
+ {
90
+ "EXAMPLE:"; echo = 2;
91
+ def A = makeUsl2(); setring A;
92
+ ideal I = e,h-1; I = std(I);
93
+ ncHilb(I,1); // first Hilbert series of A/I
94
+ ncHilb(I,2); // second Hilbert series of A/I
95
+ ideal J = I, f^2; J = std(J);
96
+ ncHilb(J,2);
97
+ // now with weights 1,2,3
98
+ ring r = 0,(e,f,h),wp(1,2,3);
99
+ matrix D[3][3]; D[1,2]=-h; D[1,3]=2*e;D[2,3]=-2*f;
100
+ def R = nc_algebra(1,D); setring R;
101
+ ideal I = imap(A,I); I = std(I);
102
+ ncHilb(I,1); // first weighted Hilbert series of R/I
103
+ ncHilb(I,2); // second weighted Hilbert series of R/I
104
+ matrix M[2][5] =
105
+ e,h-1,f^2, 0,0,
106
+ 0,0,0, e,h+1;
107
+ module G = std(M);
108
+ print(G);
109
+ ncHilb(G,1); // first weighted Hilbert series of R^2/G
110
+ ncHilb(G,2); // second weighted Hilbert series of R^2/G
111
+ }
112
+
113
+ proc ncHilbertSeries(module I, int j)
114
+ "USAGE: ncHilbertSeries(M,j); M is a module, j is an int
115
+ RETURN: ring
116
+ PURPOSE: computes the first (if j=1) and second (j=2) Hilbert Series of A^m/M
117
+ ASSUME:
118
+ - M is given via a Groebner basis; j is 1 or 2;
119
+ - the weights of all the ring variables are positive
120
+ NOTE:
121
+ - the procedure returns an univariate ring and a polynomial called @code{ncHS} in it.
122
+ EXAMPLE: example ncHilbertSeries;
123
+ "
124
+ {
125
+ // note, that ALL assumes are checked by the procedure ncHilb
126
+ bigintvec ser=ncHilb(I,j);
127
+ ring R=0,(t),dp;
128
+ setring R;
129
+ int i;
130
+ int n=size(ser);
131
+ poly p=0;
132
+ for ( i=1; i <= n-1; i=i+1){
133
+ p=p+ser[i]*t^(i-1);
134
+ }
135
+ poly ncHS = p;
136
+ export ncHS;
137
+ return(R);
138
+ }
139
+ example
140
+ {
141
+ "EXAMPLE:"; echo = 2;
142
+ def A = makeUsl2(); setring A;
143
+ ideal I = e,h-1; I = std(I);
144
+ def r = ncHilbertSeries(I,1); setring r;
145
+ ncHS;
146
+ setring A; kill r;
147
+ def s= ncHilbertSeries(I,2); setring s;
148
+ ncHS;
149
+ // now consider admissible weights 1,2,3
150
+ ring r = 0,(e,f,h),wp(1,2,3);
151
+ matrix D[3][3]; D[1,2]=-h; D[1,3]=2*e;D[2,3]=-2*f;
152
+ def R = nc_algebra(1,D); setring R;
153
+ matrix M[2][5] =
154
+ e,h-1,f^2, 0,0,
155
+ 0,0,0, e,h+1;
156
+ module G = std(M);
157
+ print(G);
158
+ def r= ncHilbertSeries(G,1); setring r;
159
+ ncHS; // first weighted Hilbert series of R^2/G
160
+ setring R; kill r;
161
+ def s=ncHilbertSeries(G,2); setring s;
162
+ ncHS;// second weighted Hilbert series of R^2/G
163
+ }
164
+
165
+ proc ncHilbertMultiplicity(module I)
166
+ "USAGE: ncHilbertMultiplicity(M); M is a module
167
+ RETURN: bigint
168
+ PURPOSE: compute the (Hilbert) multiplicity of the module coker(M)
169
+ ASSUME:
170
+ - M is given via a Groebner basis
171
+ - the weights of all the ring variables are positive
172
+ NOTE: the multiplicity depends on the selected weights of variables
173
+ EXAMPLE: example ncHilbertMultiplicity;
174
+ "
175
+ {
176
+ // note, that ALL assumes are checked by the procedure ncHilb
177
+ bigint l;
178
+ bigintvec ser = ncHilb(I,2);
179
+ for (int k=1; k<=size(ser)-1; k++)
180
+ {
181
+ l=l+ser[k];
182
+ }
183
+ return (l);
184
+ }
185
+ example
186
+ {
187
+ "EXAMPLE:"; echo = 2;
188
+ def A = makeUsl2(); setring A;
189
+ ideal I = e,h-1; I = std(I);
190
+ ncHilbertMultiplicity(I); // multiplicity of A/I
191
+ ideal J = I, f^2; J = std(J);
192
+ ncHilbertMultiplicity(J);
193
+ // now the same algebra with weights 1,2,3
194
+ ring r = 0,(e,f,h),wp(1,2,3);
195
+ matrix D[3][3]; D[1,2]=-h; D[1,3]=2*e;D[2,3]=-2*f;
196
+ def R = nc_algebra(1,D); setring R;
197
+ ideal I = imap(A,I); I = std(I);
198
+ ncHilbertMultiplicity(I);
199
+ matrix M[2][5] =
200
+ e,h-1,f^2, 0,0,
201
+ 0,0,0, e,h+1;
202
+ module G = std(M);
203
+ print(G);
204
+ ncHilbertMultiplicity(G);
205
+ }
206
+ //copied from polylib.lib
207
+ static proc bino(int a, int b)
208
+ {
209
+ //computes binomial var(1)+a over b
210
+ int i;
211
+ if(b==0){return(1);}
212
+ poly p=(var(1)+a)/b;
213
+ for(i=1;i<=b-1;i++)
214
+ {
215
+ p=p*(var(1)+a-i)/i;
216
+ }
217
+ return(p);
218
+ }
219
+
220
+ proc ncHilbertPolynomial(module I)
221
+ "USAGE: ncHilbertPolynomial(M); M is a module
222
+ RETURN: ring
223
+ PURPOSE: computes the Hilbert polynomial of A^m/M
224
+ ASSUME:
225
+ - M is given via a Groebner basis
226
+ - the weights of all the ring variables are positive
227
+ NOTE:
228
+ - the procedure returns an univariate ring and a polynomial called @code{ncHP} in it.
229
+ SEE ALSO: hilbPoly
230
+ EXAMPLE: example ncHilbertPolynomial;
231
+ "
232
+ {
233
+ //code is similar to hilbpoly in polylib.lib
234
+ // note, that ALL assumes are checked by the procedure ncHilb
235
+ def R=basering;
236
+ int i;
237
+ if(!attrib(I,"isSB")){I=std(I);}
238
+ bigintvec G=ncHilb(I,2);//2nd Hilbert series
239
+ int s=dim(I); //GKdim
240
+ int d=size(G)-1; //deg of the second Hilbert series
241
+ ring @@t=0,(t),dp; setring @@t;
242
+ poly p=0;
243
+ if (s==0){
244
+ poly ncHP=p;
245
+ export ncHP;
246
+ return (@@t);
247
+ }
248
+ for ( i=1; i <= d; i=i+1){
249
+ p=p+G[i]*bino(s-i,s-1);
250
+ }
251
+ poly ncHP=p;
252
+ export ncHP;
253
+ return (@@t);
254
+ }
255
+ example
256
+ {
257
+ "EXAMPLE:"; echo = 2;
258
+ def A = makeUsl2(); setring A;
259
+ ideal I = h^4,e*f*h^3,e^2*f^2*h^2+2*e*f*h^2; I = std(I);
260
+ dim(I); // 2
261
+ def r = ncHilbertPolynomial(I); setring r;
262
+ ncHP; // 2t+7
263
+ kill r;
264
+ // now consider admissible weights 1,2,3
265
+ ring r = 0,(e,f,h),wp(1,2,3);
266
+ matrix D[3][3]; D[1,2]=-h; D[1,3]=2*e;D[2,3]=-2*f;
267
+ def R = nc_algebra(1,D); setring R;
268
+ ideal I = imap(A,I);
269
+ I = std(I);
270
+ dim(I); // 2
271
+ def r = ncHilbertPolynomial(I); setring r;
272
+ ncHP; // 6t+18
273
+ }
274
+
275
+ /* descr of former gkdimexp_lib:
276
+ This library includes the procedure GKExp() which computes the Gelfand Kirillov dimension
277
+ of a finitely presented Module A^m/M, where A is a G-Algebra
278
+ by computing the dimension of the exponent of M via mondim().
279
+ */
280
+
281
+ ////////////////////////////////////////////////////////////////////
282
+ proc mondim(list B, int i)
283
+ "USAGE: mondim(B,i); B is list of elements of N_0^i,
284
+ RETURN: int
285
+ PURPOSE: computes the dimension of the monoid ideal generated by B
286
+ KEYWORDS: monoideal, dimension
287
+ EXAMPLE: example mondim;
288
+ "
289
+ {
290
+ // check assumes/correctness of the input
291
+ int l,lhelp;
292
+ int maxlength=0;
293
+ if (i<0)
294
+ {
295
+ ERROR("the rank of monoid module should be >=0");
296
+ }
297
+ if (size(B) == 0)
298
+ {
299
+ return (i);
300
+ }
301
+ for (l=1;l<=size(B); l=l+1){
302
+ lhelp=size(B[l]);
303
+ if (lhelp > maxlength){
304
+ maxlength=lhelp;
305
+ }
306
+ }
307
+ if (maxlength > i) {
308
+ ERROR("The elements of B should have less entries then i");
309
+ }
310
+ // TODO: elaborate assume for the generators: imagine
311
+ // smth like non-reduced monomial GB is given
312
+ int d,dj,j,k,z;
313
+ list Bj;
314
+ list Bhelp;
315
+ int n = nvars(basering);
316
+ for(j = 1; j <= maxlength; j=j+1)
317
+ {
318
+
319
+ if(B[1][j] <> 0)
320
+ {
321
+ d=0;
322
+ Bj = list();
323
+ for(k=2; k <= size(B); k++)
324
+ {
325
+ Bhelp=list();
326
+ if(B[k][j] == 0)
327
+ {
328
+
329
+ for (l=1;l<=size(B[k]);l=l+1){
330
+ Bhelp=insert(Bhelp,B[k][l],l-1);
331
+ }
332
+ Bhelp=delete(Bhelp,j);
333
+ Bj = insert(Bj,Bhelp);
334
+ }
335
+ }
336
+ dj = mondim(Bj,i-1);
337
+ if(dj > d)
338
+ {
339
+ d=dj;
340
+ }
341
+ }
342
+ }
343
+ return (d);
344
+ }
345
+ example
346
+ {
347
+ "EXAMPLE:"; echo = 2;
348
+ ring A = 0,(x,y,z),dp;
349
+ setring A;
350
+ list I = [1,0,1],[0,1,1]; // belongs to the ideal <xz,yz>
351
+ mondim(I,3);
352
+ mondim(I,5); // treat generators of I as extended in N_0^5
353
+ }
354
+
355
+ proc GKExp(module M)
356
+ "USAGE: GKExp(M); M a module
357
+ RETURN: int
358
+ PURPOSE: computes the Gelfand-Kirillov-Dimension of coker(M) via Exp(M)
359
+ ASSUME: basering is G-Algebra
360
+ NOTE: for zero module -1 is returned
361
+ SEE ALSO: GKdim, dim (plural)
362
+ KEYWORDS: Gelfand-Kirillov dimension, G-Algebra
363
+ EXAMPLE: example GKExp;
364
+ "
365
+ {
366
+ module G;
367
+ int d=0;
368
+ if (attrib(M,"isSB")==1)
369
+ {
370
+ G = M;
371
+ attrib(G,"isSB",1);
372
+ }
373
+ else
374
+ {
375
+ "Warning: the input generators are not a Groebner basis";
376
+ "Proceed with Groebner basis computation";
377
+ G = std(M);
378
+ }
379
+ intvec temp;
380
+ int j;
381
+ list E;
382
+ int m = nrows(G);
383
+ int n = nvars(basering);
384
+ int dtemp = 0;
385
+ int empty;
386
+ list L;
387
+ int i,k;
388
+ for(j = 1; j <= size(G); j = j+1)
389
+ {
390
+ L[j] = leadexp(G[j]);
391
+ }
392
+ for(i = 1; i <= m; i = i+1)
393
+ {
394
+ E = list();
395
+ for(k=1; k<=size(L); k=k+1)
396
+ {
397
+ if((L[k])[n+1]==i)
398
+ {
399
+ temp = L[k];
400
+ temp = temp[1..n];
401
+ E = insert(E,temp);
402
+ }
403
+ }
404
+ if(size(E) == 0)
405
+ {
406
+ return (n);
407
+ }
408
+ else
409
+ {
410
+ for(j = 1; j <= size(E); j=j+1)
411
+ {
412
+ if (E[j]==0)
413
+ {
414
+ empty = 1;
415
+ break;
416
+ }
417
+ }
418
+ if(empty)
419
+ {
420
+ dtemp = 0;
421
+ }
422
+ else
423
+ {
424
+ dtemp = mondim(E,n);
425
+ }
426
+ }
427
+ if(dtemp > d)
428
+ {
429
+ d = dtemp;
430
+ }
431
+ }
432
+ return (d);
433
+ }
434
+ example
435
+ {
436
+ "EXAMPLE:"; echo = 2;
437
+ def A = makeUsl2(); setring A;
438
+ ideal I = e,h-1; I = std(I);
439
+ GKExp(I); // computes GKdim(A/I), should be 1
440
+ ideal J = I, f^2; J = std(J);
441
+ GKExp(J); // should be 0
442
+ matrix M[2][4] =
443
+ e,h-1,0,0,
444
+ 0,0,e,h+1;
445
+ module G = std(M);
446
+ print(G);
447
+ GKExp(G);
448
+ }