passagemath-singular 10.6.31rc3__cp314-cp314-musllinux_1_2_x86_64.whl

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

Potentially problematic release.


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

Files changed (493) hide show
  1. PySingular.cpython-314-x86_64-linux-musl.so +0 -0
  2. passagemath_singular-10.6.31rc3.dist-info/METADATA +183 -0
  3. passagemath_singular-10.6.31rc3.dist-info/RECORD +493 -0
  4. passagemath_singular-10.6.31rc3.dist-info/WHEEL +5 -0
  5. passagemath_singular-10.6.31rc3.dist-info/top_level.txt +3 -0
  6. passagemath_singular.libs/libSingular-4-67059f19.4.1.so +0 -0
  7. passagemath_singular.libs/libcddgmp-30166d29.so.0.1.3 +0 -0
  8. passagemath_singular.libs/libfactory-4-9d37bcf4.4.1.so +0 -0
  9. passagemath_singular.libs/libflint-fd6f12fc.so.21.0.0 +0 -0
  10. passagemath_singular.libs/libgcc_s-0cd532bd.so.1 +0 -0
  11. passagemath_singular.libs/libgf2x-9e30c3e3.so.3.0.0 +0 -0
  12. passagemath_singular.libs/libgfortran-2c33b284.so.5.0.0 +0 -0
  13. passagemath_singular.libs/libgmp-0e7fc84e.so.10.5.0 +0 -0
  14. passagemath_singular.libs/libgsl-42cda06f.so.28.0.0 +0 -0
  15. passagemath_singular.libs/libmpfr-aaecbfc0.so.6.2.1 +0 -0
  16. passagemath_singular.libs/libncursesw-9c9e32c3.so.6.5 +0 -0
  17. passagemath_singular.libs/libntl-26885ca2.so.44.0.1 +0 -0
  18. passagemath_singular.libs/libomalloc-0-e9ff96db.9.6.so +0 -0
  19. passagemath_singular.libs/libopenblasp-r0-905cb27d.3.29.so +0 -0
  20. passagemath_singular.libs/libpolys-4-8bcf8e7d.4.1.so +0 -0
  21. passagemath_singular.libs/libquadmath-bb76a5fc.so.0.0.0 +0 -0
  22. passagemath_singular.libs/libreadline-06542304.so.8.2 +0 -0
  23. passagemath_singular.libs/libsingular_resources-4-73bf7623.4.1.so +0 -0
  24. passagemath_singular.libs/libstdc++-5d72f927.so.6.0.33 +0 -0
  25. sage/algebras/all__sagemath_singular.py +3 -0
  26. sage/algebras/fusion_rings/all.py +19 -0
  27. sage/algebras/fusion_rings/f_matrix.py +2448 -0
  28. sage/algebras/fusion_rings/fast_parallel_fmats_methods.cpython-314-x86_64-linux-musl.so +0 -0
  29. sage/algebras/fusion_rings/fast_parallel_fmats_methods.pxd +5 -0
  30. sage/algebras/fusion_rings/fast_parallel_fmats_methods.pyx +538 -0
  31. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.cpython-314-x86_64-linux-musl.so +0 -0
  32. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pxd +3 -0
  33. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pyx +331 -0
  34. sage/algebras/fusion_rings/fusion_double.py +899 -0
  35. sage/algebras/fusion_rings/fusion_ring.py +1580 -0
  36. sage/algebras/fusion_rings/poly_tup_engine.cpython-314-x86_64-linux-musl.so +0 -0
  37. sage/algebras/fusion_rings/poly_tup_engine.pxd +24 -0
  38. sage/algebras/fusion_rings/poly_tup_engine.pyx +579 -0
  39. sage/algebras/fusion_rings/shm_managers.cpython-314-x86_64-linux-musl.so +0 -0
  40. sage/algebras/fusion_rings/shm_managers.pxd +24 -0
  41. sage/algebras/fusion_rings/shm_managers.pyx +780 -0
  42. sage/algebras/letterplace/all.py +1 -0
  43. sage/algebras/letterplace/free_algebra_element_letterplace.cpython-314-x86_64-linux-musl.so +0 -0
  44. sage/algebras/letterplace/free_algebra_element_letterplace.pxd +18 -0
  45. sage/algebras/letterplace/free_algebra_element_letterplace.pyx +755 -0
  46. sage/algebras/letterplace/free_algebra_letterplace.cpython-314-x86_64-linux-musl.so +0 -0
  47. sage/algebras/letterplace/free_algebra_letterplace.pxd +35 -0
  48. sage/algebras/letterplace/free_algebra_letterplace.pyx +914 -0
  49. sage/algebras/letterplace/letterplace_ideal.cpython-314-x86_64-linux-musl.so +0 -0
  50. sage/algebras/letterplace/letterplace_ideal.pyx +408 -0
  51. sage/algebras/quatalg/all.py +2 -0
  52. sage/algebras/quatalg/quaternion_algebra.py +4778 -0
  53. sage/algebras/quatalg/quaternion_algebra_cython.cpython-314-x86_64-linux-musl.so +0 -0
  54. sage/algebras/quatalg/quaternion_algebra_cython.pyx +261 -0
  55. sage/algebras/quatalg/quaternion_algebra_element.cpython-314-x86_64-linux-musl.so +0 -0
  56. sage/algebras/quatalg/quaternion_algebra_element.pxd +29 -0
  57. sage/algebras/quatalg/quaternion_algebra_element.pyx +2176 -0
  58. sage/all__sagemath_singular.py +11 -0
  59. sage/ext_data/all__sagemath_singular.py +1 -0
  60. sage/ext_data/singular/function_field/core.lib +98 -0
  61. sage/interfaces/all__sagemath_singular.py +1 -0
  62. sage/interfaces/singular.py +2835 -0
  63. sage/libs/all__sagemath_singular.py +1 -0
  64. sage/libs/singular/__init__.py +1 -0
  65. sage/libs/singular/decl.pxd +1168 -0
  66. sage/libs/singular/function.cpython-314-x86_64-linux-musl.so +0 -0
  67. sage/libs/singular/function.pxd +87 -0
  68. sage/libs/singular/function.pyx +1901 -0
  69. sage/libs/singular/function_factory.py +61 -0
  70. sage/libs/singular/groebner_strategy.cpython-314-x86_64-linux-musl.so +0 -0
  71. sage/libs/singular/groebner_strategy.pxd +22 -0
  72. sage/libs/singular/groebner_strategy.pyx +582 -0
  73. sage/libs/singular/option.cpython-314-x86_64-linux-musl.so +0 -0
  74. sage/libs/singular/option.pyx +671 -0
  75. sage/libs/singular/polynomial.cpython-314-x86_64-linux-musl.so +0 -0
  76. sage/libs/singular/polynomial.pxd +39 -0
  77. sage/libs/singular/polynomial.pyx +661 -0
  78. sage/libs/singular/ring.cpython-314-x86_64-linux-musl.so +0 -0
  79. sage/libs/singular/ring.pxd +58 -0
  80. sage/libs/singular/ring.pyx +893 -0
  81. sage/libs/singular/singular.cpython-314-x86_64-linux-musl.so +0 -0
  82. sage/libs/singular/singular.pxd +72 -0
  83. sage/libs/singular/singular.pyx +1944 -0
  84. sage/libs/singular/standard_options.py +145 -0
  85. sage/matrix/all__sagemath_singular.py +1 -0
  86. sage/matrix/matrix_mpolynomial_dense.cpython-314-x86_64-linux-musl.so +0 -0
  87. sage/matrix/matrix_mpolynomial_dense.pxd +7 -0
  88. sage/matrix/matrix_mpolynomial_dense.pyx +615 -0
  89. sage/rings/all__sagemath_singular.py +1 -0
  90. sage/rings/function_field/all__sagemath_singular.py +1 -0
  91. sage/rings/function_field/derivations_polymod.py +911 -0
  92. sage/rings/function_field/element_polymod.cpython-314-x86_64-linux-musl.so +0 -0
  93. sage/rings/function_field/element_polymod.pyx +406 -0
  94. sage/rings/function_field/function_field_polymod.py +2611 -0
  95. sage/rings/function_field/ideal_polymod.py +1775 -0
  96. sage/rings/function_field/order_polymod.py +1475 -0
  97. sage/rings/function_field/place_polymod.py +681 -0
  98. sage/rings/polynomial/all__sagemath_singular.py +1 -0
  99. sage/rings/polynomial/multi_polynomial_ideal_libsingular.cpython-314-x86_64-linux-musl.so +0 -0
  100. sage/rings/polynomial/multi_polynomial_ideal_libsingular.pxd +5 -0
  101. sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx +339 -0
  102. sage/rings/polynomial/multi_polynomial_libsingular.cpython-314-x86_64-linux-musl.so +0 -0
  103. sage/rings/polynomial/multi_polynomial_libsingular.pxd +30 -0
  104. sage/rings/polynomial/multi_polynomial_libsingular.pyx +6277 -0
  105. sage/rings/polynomial/plural.cpython-314-x86_64-linux-musl.so +0 -0
  106. sage/rings/polynomial/plural.pxd +48 -0
  107. sage/rings/polynomial/plural.pyx +3171 -0
  108. sage/symbolic/all__sagemath_singular.py +1 -0
  109. sage/symbolic/comparison_impl.pxi +428 -0
  110. sage/symbolic/constants_c_impl.pxi +178 -0
  111. sage/symbolic/expression.cpython-314-x86_64-linux-musl.so +0 -0
  112. sage/symbolic/expression.pxd +7 -0
  113. sage/symbolic/expression.pyx +14200 -0
  114. sage/symbolic/getitem_impl.pxi +202 -0
  115. sage/symbolic/pynac.pxi +572 -0
  116. sage/symbolic/pynac_constant_impl.pxi +133 -0
  117. sage/symbolic/pynac_function_impl.pxi +206 -0
  118. sage/symbolic/pynac_impl.pxi +2576 -0
  119. sage/symbolic/pynac_wrap.h +124 -0
  120. sage/symbolic/series_impl.pxi +272 -0
  121. sage/symbolic/substitution_map_impl.pxi +94 -0
  122. sage_wheels/bin/ESingular +0 -0
  123. sage_wheels/bin/Singular +0 -0
  124. sage_wheels/bin/TSingular +0 -0
  125. sage_wheels/lib/singular/MOD/cohomo.la +41 -0
  126. sage_wheels/lib/singular/MOD/cohomo.so +0 -0
  127. sage_wheels/lib/singular/MOD/customstd.la +41 -0
  128. sage_wheels/lib/singular/MOD/customstd.so +0 -0
  129. sage_wheels/lib/singular/MOD/freealgebra.la +41 -0
  130. sage_wheels/lib/singular/MOD/freealgebra.so +0 -0
  131. sage_wheels/lib/singular/MOD/gfanlib.la +41 -0
  132. sage_wheels/lib/singular/MOD/gfanlib.so +0 -0
  133. sage_wheels/lib/singular/MOD/gitfan.la +41 -0
  134. sage_wheels/lib/singular/MOD/gitfan.so +0 -0
  135. sage_wheels/lib/singular/MOD/interval.la +41 -0
  136. sage_wheels/lib/singular/MOD/interval.so +0 -0
  137. sage_wheels/lib/singular/MOD/loctriv.la +41 -0
  138. sage_wheels/lib/singular/MOD/loctriv.so +0 -0
  139. sage_wheels/lib/singular/MOD/machinelearning.la +41 -0
  140. sage_wheels/lib/singular/MOD/machinelearning.so +0 -0
  141. sage_wheels/lib/singular/MOD/p_Procs_FieldGeneral.la +41 -0
  142. sage_wheels/lib/singular/MOD/p_Procs_FieldGeneral.so +0 -0
  143. sage_wheels/lib/singular/MOD/p_Procs_FieldIndep.la +41 -0
  144. sage_wheels/lib/singular/MOD/p_Procs_FieldIndep.so +0 -0
  145. sage_wheels/lib/singular/MOD/p_Procs_FieldQ.la +41 -0
  146. sage_wheels/lib/singular/MOD/p_Procs_FieldQ.so +0 -0
  147. sage_wheels/lib/singular/MOD/p_Procs_FieldZp.la +41 -0
  148. sage_wheels/lib/singular/MOD/p_Procs_FieldZp.so +0 -0
  149. sage_wheels/lib/singular/MOD/partialgb.la +41 -0
  150. sage_wheels/lib/singular/MOD/partialgb.so +0 -0
  151. sage_wheels/lib/singular/MOD/pyobject.la +41 -0
  152. sage_wheels/lib/singular/MOD/pyobject.so +0 -0
  153. sage_wheels/lib/singular/MOD/singmathic.la +41 -0
  154. sage_wheels/lib/singular/MOD/singmathic.so +0 -0
  155. sage_wheels/lib/singular/MOD/sispasm.la +41 -0
  156. sage_wheels/lib/singular/MOD/sispasm.so +0 -0
  157. sage_wheels/lib/singular/MOD/subsets.la +41 -0
  158. sage_wheels/lib/singular/MOD/subsets.so +0 -0
  159. sage_wheels/lib/singular/MOD/systhreads.la +41 -0
  160. sage_wheels/lib/singular/MOD/systhreads.so +0 -0
  161. sage_wheels/lib/singular/MOD/syzextra.la +41 -0
  162. sage_wheels/lib/singular/MOD/syzextra.so +0 -0
  163. sage_wheels/libexec/singular/MOD/change_cost +0 -0
  164. sage_wheels/libexec/singular/MOD/singularsurf +11 -0
  165. sage_wheels/libexec/singular/MOD/singularsurf_jupyter +9 -0
  166. sage_wheels/libexec/singular/MOD/singularsurf_win +10 -0
  167. sage_wheels/libexec/singular/MOD/solve_IP +0 -0
  168. sage_wheels/libexec/singular/MOD/surfex +16 -0
  169. sage_wheels/libexec/singular/MOD/toric_ideal +0 -0
  170. sage_wheels/share/factory/gftables/10201 +342 -0
  171. sage_wheels/share/factory/gftables/1024 +37 -0
  172. sage_wheels/share/factory/gftables/10609 +356 -0
  173. sage_wheels/share/factory/gftables/11449 +384 -0
  174. sage_wheels/share/factory/gftables/11881 +398 -0
  175. sage_wheels/share/factory/gftables/121 +6 -0
  176. sage_wheels/share/factory/gftables/12167 +408 -0
  177. sage_wheels/share/factory/gftables/125 +7 -0
  178. sage_wheels/share/factory/gftables/12769 +428 -0
  179. sage_wheels/share/factory/gftables/128 +7 -0
  180. sage_wheels/share/factory/gftables/1331 +47 -0
  181. sage_wheels/share/factory/gftables/1369 +48 -0
  182. sage_wheels/share/factory/gftables/14641 +490 -0
  183. sage_wheels/share/factory/gftables/15625 +523 -0
  184. sage_wheels/share/factory/gftables/16 +3 -0
  185. sage_wheels/share/factory/gftables/16129 +540 -0
  186. sage_wheels/share/factory/gftables/16384 +549 -0
  187. sage_wheels/share/factory/gftables/16807 +563 -0
  188. sage_wheels/share/factory/gftables/1681 +58 -0
  189. sage_wheels/share/factory/gftables/169 +8 -0
  190. sage_wheels/share/factory/gftables/17161 +574 -0
  191. sage_wheels/share/factory/gftables/1849 +64 -0
  192. sage_wheels/share/factory/gftables/18769 +628 -0
  193. sage_wheels/share/factory/gftables/19321 +646 -0
  194. sage_wheels/share/factory/gftables/19683 +659 -0
  195. sage_wheels/share/factory/gftables/2048 +71 -0
  196. sage_wheels/share/factory/gftables/2187 +75 -0
  197. sage_wheels/share/factory/gftables/2197 +76 -0
  198. sage_wheels/share/factory/gftables/2209 +76 -0
  199. sage_wheels/share/factory/gftables/22201 +742 -0
  200. sage_wheels/share/factory/gftables/22801 +762 -0
  201. sage_wheels/share/factory/gftables/2401 +82 -0
  202. sage_wheels/share/factory/gftables/243 +11 -0
  203. sage_wheels/share/factory/gftables/24389 +815 -0
  204. sage_wheels/share/factory/gftables/24649 +824 -0
  205. sage_wheels/share/factory/gftables/25 +3 -0
  206. sage_wheels/share/factory/gftables/256 +11 -0
  207. sage_wheels/share/factory/gftables/26569 +888 -0
  208. sage_wheels/share/factory/gftables/27 +3 -0
  209. sage_wheels/share/factory/gftables/27889 +932 -0
  210. sage_wheels/share/factory/gftables/2809 +96 -0
  211. sage_wheels/share/factory/gftables/28561 +954 -0
  212. sage_wheels/share/factory/gftables/289 +12 -0
  213. sage_wheels/share/factory/gftables/29791 +995 -0
  214. sage_wheels/share/factory/gftables/29929 +1000 -0
  215. sage_wheels/share/factory/gftables/3125 +107 -0
  216. sage_wheels/share/factory/gftables/32 +4 -0
  217. sage_wheels/share/factory/gftables/32041 +1070 -0
  218. sage_wheels/share/factory/gftables/32761 +1094 -0
  219. sage_wheels/share/factory/gftables/32768 +1095 -0
  220. sage_wheels/share/factory/gftables/343 +14 -0
  221. sage_wheels/share/factory/gftables/3481 +118 -0
  222. sage_wheels/share/factory/gftables/361 +14 -0
  223. sage_wheels/share/factory/gftables/36481 +1218 -0
  224. sage_wheels/share/factory/gftables/3721 +126 -0
  225. sage_wheels/share/factory/gftables/37249 +1244 -0
  226. sage_wheels/share/factory/gftables/38809 +1296 -0
  227. sage_wheels/share/factory/gftables/39601 +1322 -0
  228. sage_wheels/share/factory/gftables/4 +3 -0
  229. sage_wheels/share/factory/gftables/4096 +139 -0
  230. sage_wheels/share/factory/gftables/44521 +1486 -0
  231. sage_wheels/share/factory/gftables/4489 +152 -0
  232. sage_wheels/share/factory/gftables/49 +4 -0
  233. sage_wheels/share/factory/gftables/4913 +166 -0
  234. sage_wheels/share/factory/gftables/49729 +1660 -0
  235. sage_wheels/share/factory/gftables/5041 +170 -0
  236. sage_wheels/share/factory/gftables/50653 +1691 -0
  237. sage_wheels/share/factory/gftables/512 +20 -0
  238. sage_wheels/share/factory/gftables/51529 +1720 -0
  239. sage_wheels/share/factory/gftables/52441 +1750 -0
  240. sage_wheels/share/factory/gftables/529 +20 -0
  241. sage_wheels/share/factory/gftables/5329 +180 -0
  242. sage_wheels/share/factory/gftables/54289 +1812 -0
  243. sage_wheels/share/factory/gftables/57121 +1906 -0
  244. sage_wheels/share/factory/gftables/58081 +1938 -0
  245. sage_wheels/share/factory/gftables/59049 +1971 -0
  246. sage_wheels/share/factory/gftables/6241 +210 -0
  247. sage_wheels/share/factory/gftables/625 +23 -0
  248. sage_wheels/share/factory/gftables/63001 +2102 -0
  249. sage_wheels/share/factory/gftables/64 +5 -0
  250. sage_wheels/share/factory/gftables/6561 +221 -0
  251. sage_wheels/share/factory/gftables/6859 +231 -0
  252. sage_wheels/share/factory/gftables/6889 +232 -0
  253. sage_wheels/share/factory/gftables/729 +27 -0
  254. sage_wheels/share/factory/gftables/7921 +266 -0
  255. sage_wheels/share/factory/gftables/8 +3 -0
  256. sage_wheels/share/factory/gftables/81 +5 -0
  257. sage_wheels/share/factory/gftables/8192 +276 -0
  258. sage_wheels/share/factory/gftables/841 +30 -0
  259. sage_wheels/share/factory/gftables/9 +3 -0
  260. sage_wheels/share/factory/gftables/9409 +316 -0
  261. sage_wheels/share/factory/gftables/961 +34 -0
  262. sage_wheels/share/info/singular.info +191898 -0
  263. sage_wheels/share/singular/LIB/GND.lib +1359 -0
  264. sage_wheels/share/singular/LIB/JMBTest.lib +976 -0
  265. sage_wheels/share/singular/LIB/JMSConst.lib +1363 -0
  266. sage_wheels/share/singular/LIB/KVequiv.lib +699 -0
  267. sage_wheels/share/singular/LIB/SingularityDBM.lib +491 -0
  268. sage_wheels/share/singular/LIB/VecField.lib +1542 -0
  269. sage_wheels/share/singular/LIB/absfact.lib +959 -0
  270. sage_wheels/share/singular/LIB/ainvar.lib +730 -0
  271. sage_wheels/share/singular/LIB/aksaka.lib +419 -0
  272. sage_wheels/share/singular/LIB/alexpoly.lib +2542 -0
  273. sage_wheels/share/singular/LIB/algebra.lib +1193 -0
  274. sage_wheels/share/singular/LIB/all.lib +136 -0
  275. sage_wheels/share/singular/LIB/arcpoint.lib +514 -0
  276. sage_wheels/share/singular/LIB/arnold.lib +4553 -0
  277. sage_wheels/share/singular/LIB/arnoldclassify.lib +2058 -0
  278. sage_wheels/share/singular/LIB/arr.lib +3486 -0
  279. sage_wheels/share/singular/LIB/assprimeszerodim.lib +755 -0
  280. sage_wheels/share/singular/LIB/autgradalg.lib +3361 -0
  281. sage_wheels/share/singular/LIB/bfun.lib +1964 -0
  282. sage_wheels/share/singular/LIB/bimodules.lib +774 -0
  283. sage_wheels/share/singular/LIB/brillnoether.lib +226 -0
  284. sage_wheels/share/singular/LIB/brnoeth.lib +5017 -0
  285. sage_wheels/share/singular/LIB/central.lib +2169 -0
  286. sage_wheels/share/singular/LIB/chern.lib +4162 -0
  287. sage_wheels/share/singular/LIB/cimonom.lib +571 -0
  288. sage_wheels/share/singular/LIB/cisimplicial.lib +1835 -0
  289. sage_wheels/share/singular/LIB/classify.lib +3239 -0
  290. sage_wheels/share/singular/LIB/classify2.lib +1462 -0
  291. sage_wheels/share/singular/LIB/classifyMapGerms.lib +1515 -0
  292. sage_wheels/share/singular/LIB/classify_aeq.lib +3253 -0
  293. sage_wheels/share/singular/LIB/classifyceq.lib +2092 -0
  294. sage_wheels/share/singular/LIB/classifyci.lib +1133 -0
  295. sage_wheels/share/singular/LIB/combinat.lib +91 -0
  296. sage_wheels/share/singular/LIB/compregb.lib +276 -0
  297. sage_wheels/share/singular/LIB/control.lib +1636 -0
  298. sage_wheels/share/singular/LIB/crypto.lib +3795 -0
  299. sage_wheels/share/singular/LIB/curveInv.lib +667 -0
  300. sage_wheels/share/singular/LIB/curvepar.lib +1817 -0
  301. sage_wheels/share/singular/LIB/customstd.lib +100 -0
  302. sage_wheels/share/singular/LIB/deRham.lib +5979 -0
  303. sage_wheels/share/singular/LIB/decodegb.lib +2134 -0
  304. sage_wheels/share/singular/LIB/decomp.lib +1655 -0
  305. sage_wheels/share/singular/LIB/deflation.lib +872 -0
  306. sage_wheels/share/singular/LIB/deform.lib +925 -0
  307. sage_wheels/share/singular/LIB/difform.lib +3055 -0
  308. sage_wheels/share/singular/LIB/divisors.lib +750 -0
  309. sage_wheels/share/singular/LIB/dmod.lib +5817 -0
  310. sage_wheels/share/singular/LIB/dmodapp.lib +3269 -0
  311. sage_wheels/share/singular/LIB/dmodideal.lib +1211 -0
  312. sage_wheels/share/singular/LIB/dmodloc.lib +2645 -0
  313. sage_wheels/share/singular/LIB/dmodvar.lib +818 -0
  314. sage_wheels/share/singular/LIB/dummy.lib +17 -0
  315. sage_wheels/share/singular/LIB/elim.lib +1009 -0
  316. sage_wheels/share/singular/LIB/ellipticcovers.lib +548 -0
  317. sage_wheels/share/singular/LIB/enumpoints.lib +146 -0
  318. sage_wheels/share/singular/LIB/equising.lib +2127 -0
  319. sage_wheels/share/singular/LIB/ffmodstd.lib +2384 -0
  320. sage_wheels/share/singular/LIB/ffsolve.lib +1289 -0
  321. sage_wheels/share/singular/LIB/findifs.lib +778 -0
  322. sage_wheels/share/singular/LIB/finitediff.lib +1768 -0
  323. sage_wheels/share/singular/LIB/finvar.lib +7989 -0
  324. sage_wheels/share/singular/LIB/fpadim.lib +2429 -0
  325. sage_wheels/share/singular/LIB/fpalgebras.lib +1666 -0
  326. sage_wheels/share/singular/LIB/fpaprops.lib +1462 -0
  327. sage_wheels/share/singular/LIB/freegb.lib +3853 -0
  328. sage_wheels/share/singular/LIB/general.lib +1350 -0
  329. sage_wheels/share/singular/LIB/gfan.lib +1768 -0
  330. sage_wheels/share/singular/LIB/gitfan.lib +3130 -0
  331. sage_wheels/share/singular/LIB/gkdim.lib +99 -0
  332. sage_wheels/share/singular/LIB/gmspoly.lib +589 -0
  333. sage_wheels/share/singular/LIB/gmssing.lib +1739 -0
  334. sage_wheels/share/singular/LIB/goettsche.lib +909 -0
  335. sage_wheels/share/singular/LIB/graal.lib +1366 -0
  336. sage_wheels/share/singular/LIB/gradedModules.lib +2541 -0
  337. sage_wheels/share/singular/LIB/graphics.lib +360 -0
  338. sage_wheels/share/singular/LIB/grobcov.lib +7706 -0
  339. sage_wheels/share/singular/LIB/groups.lib +1123 -0
  340. sage_wheels/share/singular/LIB/grwalk.lib +507 -0
  341. sage_wheels/share/singular/LIB/hdepth.lib +194 -0
  342. sage_wheels/share/singular/LIB/help.cnf +57 -0
  343. sage_wheels/share/singular/LIB/hess.lib +1946 -0
  344. sage_wheels/share/singular/LIB/hnoether.lib +4292 -0
  345. sage_wheels/share/singular/LIB/hodge.lib +400 -0
  346. sage_wheels/share/singular/LIB/homolog.lib +1965 -0
  347. sage_wheels/share/singular/LIB/hyperel.lib +975 -0
  348. sage_wheels/share/singular/LIB/inout.lib +679 -0
  349. sage_wheels/share/singular/LIB/integralbasis.lib +6224 -0
  350. sage_wheels/share/singular/LIB/interval.lib +1418 -0
  351. sage_wheels/share/singular/LIB/intprog.lib +778 -0
  352. sage_wheels/share/singular/LIB/invar.lib +443 -0
  353. sage_wheels/share/singular/LIB/involut.lib +980 -0
  354. sage_wheels/share/singular/LIB/jacobson.lib +1215 -0
  355. sage_wheels/share/singular/LIB/kskernel.lib +534 -0
  356. sage_wheels/share/singular/LIB/latex.lib +3146 -0
  357. sage_wheels/share/singular/LIB/lejeune.lib +651 -0
  358. sage_wheels/share/singular/LIB/linalg.lib +2040 -0
  359. sage_wheels/share/singular/LIB/locnormal.lib +212 -0
  360. sage_wheels/share/singular/LIB/lrcalc.lib +526 -0
  361. sage_wheels/share/singular/LIB/makedbm.lib +294 -0
  362. sage_wheels/share/singular/LIB/mathml.lib +813 -0
  363. sage_wheels/share/singular/LIB/matrix.lib +1372 -0
  364. sage_wheels/share/singular/LIB/maxlike.lib +1132 -0
  365. sage_wheels/share/singular/LIB/methods.lib +212 -0
  366. sage_wheels/share/singular/LIB/moddiq.lib +322 -0
  367. sage_wheels/share/singular/LIB/modfinduni.lib +181 -0
  368. sage_wheels/share/singular/LIB/modnormal.lib +218 -0
  369. sage_wheels/share/singular/LIB/modprimdec.lib +1278 -0
  370. sage_wheels/share/singular/LIB/modquotient.lib +269 -0
  371. sage_wheels/share/singular/LIB/modstd.lib +1024 -0
  372. sage_wheels/share/singular/LIB/modular.lib +545 -0
  373. sage_wheels/share/singular/LIB/modules.lib +2561 -0
  374. sage_wheels/share/singular/LIB/modwalk.lib +609 -0
  375. sage_wheels/share/singular/LIB/mondromy.lib +1016 -0
  376. sage_wheels/share/singular/LIB/monomialideal.lib +3851 -0
  377. sage_wheels/share/singular/LIB/mprimdec.lib +2353 -0
  378. sage_wheels/share/singular/LIB/mregular.lib +1863 -0
  379. sage_wheels/share/singular/LIB/multigrading.lib +5629 -0
  380. sage_wheels/share/singular/LIB/ncHilb.lib +777 -0
  381. sage_wheels/share/singular/LIB/ncModslimgb.lib +791 -0
  382. sage_wheels/share/singular/LIB/ncalg.lib +16311 -0
  383. sage_wheels/share/singular/LIB/ncall.lib +31 -0
  384. sage_wheels/share/singular/LIB/ncdecomp.lib +468 -0
  385. sage_wheels/share/singular/LIB/ncfactor.lib +13371 -0
  386. sage_wheels/share/singular/LIB/ncfrac.lib +1023 -0
  387. sage_wheels/share/singular/LIB/nchilbert.lib +448 -0
  388. sage_wheels/share/singular/LIB/nchomolog.lib +759 -0
  389. sage_wheels/share/singular/LIB/ncloc.lib +361 -0
  390. sage_wheels/share/singular/LIB/ncpreim.lib +795 -0
  391. sage_wheels/share/singular/LIB/ncrat.lib +2849 -0
  392. sage_wheels/share/singular/LIB/nctools.lib +1887 -0
  393. sage_wheels/share/singular/LIB/nets.lib +1456 -0
  394. sage_wheels/share/singular/LIB/nfmodstd.lib +1000 -0
  395. sage_wheels/share/singular/LIB/nfmodsyz.lib +732 -0
  396. sage_wheels/share/singular/LIB/noether.lib +1106 -0
  397. sage_wheels/share/singular/LIB/normal.lib +8700 -0
  398. sage_wheels/share/singular/LIB/normaliz.lib +2226 -0
  399. sage_wheels/share/singular/LIB/ntsolve.lib +362 -0
  400. sage_wheels/share/singular/LIB/numerAlg.lib +560 -0
  401. sage_wheels/share/singular/LIB/numerDecom.lib +2261 -0
  402. sage_wheels/share/singular/LIB/olga.lib +1933 -0
  403. sage_wheels/share/singular/LIB/orbitparam.lib +351 -0
  404. sage_wheels/share/singular/LIB/parallel.lib +319 -0
  405. sage_wheels/share/singular/LIB/paraplanecurves.lib +3110 -0
  406. sage_wheels/share/singular/LIB/perron.lib +202 -0
  407. sage_wheels/share/singular/LIB/pfd.lib +2223 -0
  408. sage_wheels/share/singular/LIB/phindex.lib +642 -0
  409. sage_wheels/share/singular/LIB/pointid.lib +673 -0
  410. sage_wheels/share/singular/LIB/polybori.lib +1430 -0
  411. sage_wheels/share/singular/LIB/polyclass.lib +525 -0
  412. sage_wheels/share/singular/LIB/polylib.lib +1174 -0
  413. sage_wheels/share/singular/LIB/polymake.lib +1902 -0
  414. sage_wheels/share/singular/LIB/presolve.lib +1533 -0
  415. sage_wheels/share/singular/LIB/primdec.lib +9576 -0
  416. sage_wheels/share/singular/LIB/primdecint.lib +1782 -0
  417. sage_wheels/share/singular/LIB/primitiv.lib +401 -0
  418. sage_wheels/share/singular/LIB/puiseuxexpansions.lib +1631 -0
  419. sage_wheels/share/singular/LIB/purityfiltration.lib +960 -0
  420. sage_wheels/share/singular/LIB/qhmoduli.lib +1561 -0
  421. sage_wheels/share/singular/LIB/qmatrix.lib +293 -0
  422. sage_wheels/share/singular/LIB/random.lib +455 -0
  423. sage_wheels/share/singular/LIB/ratgb.lib +489 -0
  424. sage_wheels/share/singular/LIB/realclassify.lib +5759 -0
  425. sage_wheels/share/singular/LIB/realizationMatroids.lib +772 -0
  426. sage_wheels/share/singular/LIB/realrad.lib +1197 -0
  427. sage_wheels/share/singular/LIB/recover.lib +2628 -0
  428. sage_wheels/share/singular/LIB/redcgs.lib +3984 -0
  429. sage_wheels/share/singular/LIB/reesclos.lib +465 -0
  430. sage_wheels/share/singular/LIB/resbinomial.lib +2802 -0
  431. sage_wheels/share/singular/LIB/resgraph.lib +789 -0
  432. sage_wheels/share/singular/LIB/resjung.lib +820 -0
  433. sage_wheels/share/singular/LIB/resolve.lib +5110 -0
  434. sage_wheels/share/singular/LIB/resources.lib +170 -0
  435. sage_wheels/share/singular/LIB/reszeta.lib +5473 -0
  436. sage_wheels/share/singular/LIB/ring.lib +1328 -0
  437. sage_wheels/share/singular/LIB/ringgb.lib +343 -0
  438. sage_wheels/share/singular/LIB/rinvar.lib +1153 -0
  439. sage_wheels/share/singular/LIB/rootisolation.lib +1481 -0
  440. sage_wheels/share/singular/LIB/rootsmr.lib +709 -0
  441. sage_wheels/share/singular/LIB/rootsur.lib +886 -0
  442. sage_wheels/share/singular/LIB/rstandard.lib +607 -0
  443. sage_wheels/share/singular/LIB/rwalk.lib +336 -0
  444. sage_wheels/share/singular/LIB/sagbi.lib +1353 -0
  445. sage_wheels/share/singular/LIB/sagbiNormaliz.lib +1622 -0
  446. sage_wheels/share/singular/LIB/sagbiNormaliz0.lib +1498 -0
  447. sage_wheels/share/singular/LIB/sagbigrob.lib +449 -0
  448. sage_wheels/share/singular/LIB/schreyer.lib +321 -0
  449. sage_wheels/share/singular/LIB/schubert.lib +2551 -0
  450. sage_wheels/share/singular/LIB/sets.lib +524 -0
  451. sage_wheels/share/singular/LIB/sheafcoh.lib +1663 -0
  452. sage_wheels/share/singular/LIB/signcond.lib +437 -0
  453. sage_wheels/share/singular/LIB/sing.lib +1094 -0
  454. sage_wheels/share/singular/LIB/sing4ti2.lib +419 -0
  455. sage_wheels/share/singular/LIB/solve.lib +2243 -0
  456. sage_wheels/share/singular/LIB/spcurve.lib +1077 -0
  457. sage_wheels/share/singular/LIB/spectrum.lib +62 -0
  458. sage_wheels/share/singular/LIB/sresext.lib +757 -0
  459. sage_wheels/share/singular/LIB/ssi.lib +143 -0
  460. sage_wheels/share/singular/LIB/standard.lib +2769 -0
  461. sage_wheels/share/singular/LIB/stanleyreisner.lib +473 -0
  462. sage_wheels/share/singular/LIB/stdmodule.lib +547 -0
  463. sage_wheels/share/singular/LIB/stratify.lib +1070 -0
  464. sage_wheels/share/singular/LIB/surf.lib +506 -0
  465. sage_wheels/share/singular/LIB/surf_jupyter.lib +223 -0
  466. sage_wheels/share/singular/LIB/surfacesignature.lib +522 -0
  467. sage_wheels/share/singular/LIB/surfex.lib +1462 -0
  468. sage_wheels/share/singular/LIB/swalk.lib +877 -0
  469. sage_wheels/share/singular/LIB/symodstd.lib +1570 -0
  470. sage_wheels/share/singular/LIB/systhreads.lib +74 -0
  471. sage_wheels/share/singular/LIB/tasks.lib +1324 -0
  472. sage_wheels/share/singular/LIB/tateProdCplxNegGrad.lib +2412 -0
  473. sage_wheels/share/singular/LIB/teachstd.lib +858 -0
  474. sage_wheels/share/singular/LIB/template.lib +116 -0
  475. sage_wheels/share/singular/LIB/toric.lib +1119 -0
  476. sage_wheels/share/singular/LIB/transformation.lib +116 -0
  477. sage_wheels/share/singular/LIB/triang.lib +1197 -0
  478. sage_wheels/share/singular/LIB/tropical.lib +8741 -0
  479. sage_wheels/share/singular/LIB/tropicalEllipticCovers.lib +2922 -0
  480. sage_wheels/share/singular/LIB/tropicalNewton.lib +1128 -0
  481. sage_wheels/share/singular/LIB/tst.lib +1108 -0
  482. sage_wheels/share/singular/LIB/weierstr.lib +241 -0
  483. sage_wheels/share/singular/LIB/zeroset.lib +1478 -0
  484. sage_wheels/share/singular/emacs/.emacs-general +184 -0
  485. sage_wheels/share/singular/emacs/.emacs-singular +234 -0
  486. sage_wheels/share/singular/emacs/COPYING +44 -0
  487. sage_wheels/share/singular/emacs/cmd-cmpl.el +241 -0
  488. sage_wheels/share/singular/emacs/ex-cmpl.el +1681 -0
  489. sage_wheels/share/singular/emacs/hlp-cmpl.el +4318 -0
  490. sage_wheels/share/singular/emacs/lib-cmpl.el +179 -0
  491. sage_wheels/share/singular/emacs/singular.el +4273 -0
  492. sage_wheels/share/singular/emacs/singular.xpm +39 -0
  493. sage_wheels/share/singular/singular.idx +5002 -0
@@ -0,0 +1,777 @@
1
+ //////////////////////////////////////////////////////////////////////////////
2
+ version="version nc_hilb.lib 4.1.2.0 Feb_2019 "; // $Id: 20f16a74fdb3c37b2ef388e9772f24d716707452 $
3
+ category="Noncommutative";
4
+ info="
5
+ LIBRARY: ncHilb.lib Computation of graded and multi-graded Hilbert series of non-commutative algebras (Letterplace).
6
+
7
+ AUTHOR: Sharwan K. Tiwari shrawant@gmail.com
8
+ Roberto La Scala
9
+ Viktor Levandovskyy (adaptation to the new Letterplace release)
10
+
11
+ REFERENCES:
12
+ La Scala R.: Monomial right ideals and the Hilbert series of non-commutative modules,
13
+ Journal of Symbolic Computation (2016).
14
+
15
+ La Scala R., Tiwari Sharwan K.: Multigraded Hilbert Series of noncommutative modules, https://arxiv.org/abs/1705.01083.
16
+
17
+ KEYWORDS: finitely presented algebra; infinitely presented algebra; graded Hilbert series; multi-graded Hilbert series
18
+
19
+ PROCEDURES:
20
+ nchilb(L,d,#); Hilbert series of a non-commutative algebra
21
+ rcolon(I, w, d); Right colon ideal of a two-sided monomial ideal with respect to a monomial w
22
+ ";
23
+
24
+
25
+ /*
26
+ // NEW HEADER
27
+ info="
28
+ LIBRARY: fpahilb.lib: Computation of graded and multi-graded Hilbert series of non-commutative algebras (Letterplace).
29
+
30
+ AUTHOR: Sharwan K. Tiwari shrawant@gmail.com
31
+ Roberto La Scala
32
+ Viktor Levandovskyy (adaptation to the new Letterplace release)
33
+
34
+ REFERENCES:
35
+ La Scala R.: Monomial right ideals and the Hilbert series of non-commutative modules,
36
+ Journal of Symbolic Computation (2016).
37
+
38
+ La Scala R., Tiwari Sharwan K.: Multigraded Hilbert Series of noncommutative modules, https://arxiv.org/abs/1705.01083.
39
+
40
+ KEYWORDS: finitely presented algebra; infinitely presented algebra; graded Hilbert series; multi-graded Hilbert series
41
+
42
+ PROCEDURES:
43
+ fpahilb(L,d,#); Hilbert series of a non-commutative algebra
44
+ rcolon(I, w, d); Right colon ideal of a two-sided monomial ideal with respect to a monomial w
45
+ ";
46
+ */
47
+
48
+
49
+ LIB "freegb.lib";
50
+
51
+ // under construction by VL; need kernel adjustments by Sharwan Tiwari
52
+
53
+ /* VERY NEW DOC PART HERE !*/
54
+ static proc fpahilb(ideal I, list #)
55
+ "USAGE: fpahilb(I[, L]), ideal I, optional list L
56
+ PURPOSE: compute Hilbert series of a non-commutative algebra, presented by I
57
+ RETURN: nothing (prints data out)
58
+ ASSUME: basering is a Letterplace ring, I is given via its Groebner basis
59
+ NOTE: the sequence of the values in the list L is as follows:
60
+ L[1] of type int: 0 if I stands for finitely generated regular ideal, 1 otherwise
61
+ L[2] of type int: 0 if univariate Hilbert series is to be computed, 1 otherwise (e.g. for multi-graded Hilbert series)
62
+ L[3] of type int: the truncation degree for truncated Hilbert series (if >2 value is given)
63
+ L[4] of type string: if nonempty, then the details about the orbit computations will be printed.
64
+ EXAMPLE: example fpahilb; shows an example "
65
+ {
66
+ if (!isFreeAlgebra(basering))
67
+ {
68
+ ERROR("Basering should be Letterplace ring");
69
+ }
70
+ def save = basering;
71
+ int sz=size(#);
72
+ int lV=lpVarBlockSize(save); // nvars(orig comm ring)
73
+ int ig=0;
74
+ int mgrad=0;
75
+ int tdeg=0;
76
+ string odp="";
77
+ int i;
78
+ for(i=sz; i >= 1; i--)
79
+ {
80
+ if(typeof(#[i])=="string")
81
+ {
82
+ if(#[i]!="")
83
+ {
84
+ odp = "p";
85
+ }
86
+ # = delete(#,i);
87
+ sz = sz-1;
88
+ break;
89
+ }
90
+ }
91
+ i=1;
92
+ // VL: changing the old "only one optional parameter (for printing the details) is allowed as a string."
93
+ while( (typeof(#[i])=="int") && (i<=sz) )
94
+ {
95
+ if( (#[i] == 1) && (ig==0) )
96
+ {
97
+ ig = 1;
98
+ }
99
+ else
100
+ {
101
+ if ( (#[i] == 2) && (mgrad==0) )
102
+ {
103
+ mgrad = 2;
104
+ }
105
+ else
106
+ {
107
+ if ( (#[i] > 2) && (tdeg==0) )
108
+ {
109
+ tdeg = #[i];
110
+ }
111
+ else
112
+ {
113
+ ERROR("error: only int 1,2 and >2 are allowed as optional parameters");
114
+ }
115
+ }
116
+ }
117
+ i = i + 1;
118
+ }
119
+ if( i <= sz)
120
+ {
121
+ ERROR("error:only int 1,2, >2, and a string are allowed as optional parameters");
122
+ }
123
+ int maxdegJ = 0;
124
+ ideal J_lm = I;
125
+ for(i=1; i<=size(J_lm); i++)
126
+ {
127
+ J_lm[i]=leadmonom(J_lm[i]);
128
+ if ( deg(J_lm[i]) > maxdegJ )
129
+ {
130
+ maxdegJ = deg(J_lm[i]);
131
+ }
132
+ }
133
+ // new: truncation should be < than degbound/2
134
+ int degbnd = lpDegBound(save);
135
+ if (tdeg == 0)
136
+ {
137
+ // orig code: LPRing is created with degree bound=2*d
138
+ // therefore check here, that maxdeg(gens) <=uptodeg/2
139
+ if ( 2*maxdegJ != degbnd)
140
+ {
141
+ ERROR("Degree bound on the basering should be precisely "+ string(2*maxdegJ));
142
+ }
143
+ }
144
+ else
145
+ { // ie tdeg>0
146
+ // orig code: LPRing is created with degree bound=2*(tdeg-1)
147
+ if ( 2*(tdeg - 1) != degbnd)
148
+ {
149
+ ERROR("Degree bound on the basering should be precisely "+ string(2*(tdeg - 1)));
150
+ }
151
+ }
152
+ // if (tdeg > (degbnd-1) div 2)
153
+ // {
154
+ // ERROR("Degree bound on the basering should be at least 2*N+1");
155
+ // }
156
+ // def save2 = basering;
157
+ // setring save2;
158
+ //compute the Hilbert series
159
+ // system call : HilbertSeries_OrbitData: sharwan need to change it as well...
160
+ //(ideal S, int lV, bool IG_CASE, bool mgrad, bool odp, int trunDegHs)
161
+
162
+ //"Debug: nc hilb is called with with lV="+string(lV)+", ig="+string(ig)+", mgrad="+string(mgrad)+", tdeg="+string(tdeg);
163
+ if(odp == "")
164
+ {
165
+ //system("nc_hilb", J_lm, lV, ig, mgrad,tdeg);
166
+ system("nc_hilb", J_lm, L[1], L[2], L[3]); // or even better with the list L!!!
167
+ }
168
+ else
169
+ {
170
+ system("nc_hilb", J_lm, L[1], L[2], L[3], L[4]); // the final part: only one call without if-else will be made
171
+ }
172
+ }
173
+ example
174
+ {
175
+ "EXAMPLE:"; echo = 2;
176
+ ring r=0,(X,Y,Z),dp;
177
+ def R = makeLetterplaceRing(4); setring R;
178
+ ideal I = Y*Z, Y*Z*X, Y*Z*Z*X, Y*Z*Z*Z*X;
179
+ list L = 0, 0, 3, ""; // ie finitely generated, univariate HS, truncated up to degree 3, no printing
180
+ fpahilb(I, L);
181
+ }
182
+ /* VERY NEW PART HERE (ABOVE) !*/
183
+
184
+
185
+ /*
186
+ // // examples
187
+ //test_1:
188
+ ring r=0,(X,Y,Z),dp;
189
+ module p1 =[1,Y,Z]; //represents the poly Y*Z
190
+ module p2 =[1,Y,Z,X]; //represents the poly Y*Z*X
191
+ module p3 =[1,Y,Z,Z,X,Z];
192
+ module p4 =[1,Y,Z,Z,Z,X,Z];
193
+ module p5 =[1,Y,Z,Z,Z,Z,X,Z];
194
+ module p6 =[1,Y,Z,Z,Z,Z,Z,X,Z];
195
+ module p7 =[1,Y,Z,Z,Z,Z,Z,Z,X,Z];
196
+ module p8 =[1,Y,Z,Z,Z,Z,Z,Z,Z,X,Z];
197
+ list l1=list(p1,p2,p3,p4,p5,p6,p7,p8);
198
+ nchilb(l1,10);
199
+
200
+ ring r=0,(x,y,z),dp;
201
+
202
+ module p1=[1,y,z],[-1,z,y]; //y*z-z*y
203
+ module p2=[1,x,z,x],[-1,z,x,z]; // x*z*x-z*x*z
204
+ module p3=[1,x,z,z,x,z],[-1,z,x,z,z,x]; // x*z^2*x*z-z*x*z^2*x
205
+ module p4=[1,x,z,z,z,x,z];[-1,z,x,z,z,x,x]; // x*z^3*x*z-z*x*z^2*x^2
206
+ list l2=list(p1,p2,p3,p4);
207
+
208
+ nchilb(l2,6,1); //third argument '1' is for non-finitely generated case
209
+ // ** TEST 3: ORIG
210
+ ring r=0,(a,b),dp;
211
+ module p1=[1,a,a,a];
212
+ module p2=[1,a,b,b];
213
+ module p3=[1,a,a,b];
214
+ list l3=list(p1,p2,p3);
215
+ nchilb(l3,5); // new vl: usual HS
216
+ nchilb(l3,5,2);//third argument '2' is to compute multi-graded HS
217
+ // ** TEST 3: NEW
218
+ LIB "ncHilb.lib";
219
+ ring r=0,(a,b),dp;
220
+ def R2 = freeAlgebra(r,8); setring R2; // tdeg=5 => dgb = 2*4=8
221
+ ideal I = a*a*a, a*b*b, a*a*b;
222
+ fpahilb(I,4,"p");//fpahilb(I,5,"p");
223
+ //nchilb(l3,5);// no third argument '2' = to compute the usual HS
224
+ fpahilb(I,5,2,"p");
225
+ //nchilb(l3,5,2);//third argument '2' is to compute multi-graded HS
226
+
227
+ //(ideal S, int lV, bool IG_CASE, bool mgrad, bool odp, int trunDegHs)
228
+ //system("nc_hilb", J_lm, lV, ig, mgrad,tdeg,trunDegHs);
229
+ system("nc_hilb", I, 2, 0, 0, 0, 0); // ok
230
+ system("nc_hilb", I, 2, 0, 2, 0, 0); // ok
231
+
232
+ */
233
+
234
+ static proc conversion_problems()
235
+ {
236
+ // b) HilbertSeries_OrbitData changes currRing [doesn't help while doing copies]
237
+ // second call of same procedure changes the input: FIXED
238
+
239
+ // a) still we get very different results (suspected: via TwordMap() )
240
+
241
+ // very easy:
242
+ LIB "ncHilb.lib";
243
+ ring r=0,(a,b),dp;
244
+ module p1=[1,a,a,a];
245
+ module p2=[1,a,b,b];
246
+ module p3=[1,a,a,b];
247
+ list l3=list(p1,p2,p3);
248
+ nchilb(l3,5,2);//third argument '2' is to compute multi-graded HS
249
+ // output ORIG:
250
+ /*
251
+ maximal length of words = 3
252
+ length of the Orbit = 5
253
+ Hilbert series:
254
+ (t1^2+t1+1)/(t1*t2^2-t1*t2-t2+1)
255
+ */
256
+ nchilb(l3,5);// usual graded HS
257
+ // output ORIG:
258
+ /*
259
+ */
260
+ //input new Letterplace:
261
+ LIB "./ncHilb.lib";
262
+ ring r=0,(a,b),dp;
263
+ def R2 = makeLetterplaceRing(8); setring R2; // tdeg=5 => dgb = 2*4=8
264
+ ideal I = a*a*a, a*b*b, a*a*b;
265
+ fpahilb(I,5,2,"p");
266
+ // output NEWLP
267
+ /*
268
+ Debug: nc hilb is called with with lV=2, ig=0, mgrad=2, tdeg=5
269
+ Truncation degree = 5
270
+ maximal length of words = 4
271
+ length of the Orbit = 12
272
+ words description of the Orbit:
273
+ 1 a b a*a a*b b*a b*b a*a*a a*b*a b*a*a b*a*b a*b*a*a
274
+
275
+ maximal degree, #(sum_j R(w,w_j))
276
+ NULL
277
+ 2, 3
278
+ NULL
279
+ 1, 2
280
+ 1, 1
281
+ 2, 3
282
+ NULL
283
+ 0, 1
284
+ 2, 3
285
+ 1, 2
286
+ 1, 1
287
+ 1, 2
288
+
289
+ linear system:
290
+ H(1) = (t1)*H(2) + (t2)*H(3) + 1
291
+ H(2) = (t1)*H(4) + (t2)*H(5) + 1
292
+ H(3) = (t1)*H(6) + (t2)*H(7) + 1
293
+ H(4) = (t1)*H(8) + (t2)*H(8) + 1
294
+ H(5) = (t1)*H(9) + (t2)*H(8) + 1
295
+ H(6) = (t1)*H(10) + (t2)*H(11) + 1
296
+ H(7) = (t1)*H(9) + (t2)*H(9) + 1
297
+ H(8) = (t1)*H(8) + (t2)*H(8) + 0
298
+ H(9) = (t1)*H(12) + (t2)*H(12) + 1
299
+ H(10) = (t1)*H(8) + (t2)*H(8) + 1
300
+ H(11) = (t1)*H(12) + (t2)*H(8) + 1
301
+ H(12) = (t1)*H(8) + (t2)*H(8) + 1
302
+ where H(1) represents the series corresp. to input ideal
303
+
304
+ Hilbert series:
305
+ (t1^3*t2+3*t1^2*t2^2+2*t1^2*t2+t1^2+2*t1*t2^3+2*t1*t2^2+2*t1*t2+t1+t2^4+t2^3+t2^2+t2+1)
306
+ */
307
+
308
+ fpahilb(I,5,"p");
309
+ // output NEWLP
310
+ /*
311
+ Debug: nc hilb is called with with lV=2, ig=0, mgrad=0, tdeg=5
312
+ Truncation degree = 5
313
+ maximal length of words = 4
314
+ length of the Orbit = 12
315
+ words description of the Orbit:
316
+ 1 a b a*a a*b b*a b*b a*a*a a*b*a b*a*a b*a*b a*b*a*a
317
+ maximal degree, #(sum_j R(w,w_j))
318
+ NULL
319
+ 2, 3
320
+ NULL
321
+ 1, 2
322
+ 1, 1
323
+ 2, 3
324
+ NULL
325
+ 0, 1
326
+ 2, 3
327
+ 1, 2
328
+ 1, 1
329
+ 1, 2
330
+
331
+ linear system:
332
+ H(1) = (t)*H(2) + (t)*H(3) + 1
333
+ H(2) = (t)*H(4) + (t)*H(5) + 1
334
+ H(3) = (t)*H(6) + (t)*H(7) + 1
335
+ H(4) = (t)*H(8) + (t)*H(8) + 1
336
+ H(5) = (t)*H(9) + (t)*H(8) + 1
337
+ H(6) = (t)*H(10) + (t)*H(11) + 1
338
+ H(7) = (t)*H(9) + (t)*H(9) + 1
339
+ H(8) = (t)*H(8) + (t)*H(8) + 0
340
+ H(9) = (t)*H(12) + (t)*H(12) + 1
341
+ H(10) = (t)*H(8) + (t)*H(8) + 1
342
+ H(11) = (t)*H(12) + (t)*H(8) + 1
343
+ H(12) = (t)*H(8) + (t)*H(8) + 1
344
+ where H(1) represents the series corresp. to input ideal
345
+ and i^th summand in the rhs of an eqn. is according
346
+ to the right colon map corresp. to the i^th variable
347
+
348
+ Hilbert series:
349
+ (7t4+5t3+4t2+2t+1)
350
+ */
351
+
352
+ nchilb(l3,5,"p");// no third argument: usual HS
353
+ // output:
354
+ /* maximal length of words = 3
355
+ length of the Orbit = 5
356
+ words description of the Orbit:
357
+ 1 a(1) a(1)*a(2) a(1)*b(2) a(1)*a(2)*a(3)
358
+ maximal degree, #(sum_j R(w,w_j))
359
+ NULL
360
+ 2, 3
361
+ 1, 2
362
+ 1, 1
363
+ 0, 1
364
+ linear system:
365
+ H(1) = (t)*H(2) + (t)*H(1) + 1
366
+ H(2) = (t)*H(3) + (t)*H(4) + 1
367
+ H(3) = (t)*H(5) + (t)*H(5) + 1
368
+ H(4) = (t)*H(2) + (t)*H(5) + 1
369
+ H(5) = (t)*H(5) + (t)*H(5) + 0
370
+ where H(1) represents the series corresp. to input ideal
371
+ and i^th summand in the rhs of an eqn. is according
372
+ to the right colon map corresp. to the i^th variable
373
+ Hilbert series:
374
+ (t2+t+1)/(t3-t2-t+1)
375
+ */
376
+ }
377
+
378
+ static proc boo()
379
+ {
380
+ // very different input; long example
381
+ ring r2=0,(x,y,z),dp;
382
+ def R2 = makeLetterplaceRing(10); setring R2; // tdeg=6 => dgb = 2*5=10
383
+ ideal I = y*z-z*y, x*z*x-z*x*z, x*z^2*x*z-z*x*z^2*x, x*z^3*x*z-z*x*z^2*x^2;
384
+ //ideal J = std(I); // compute a Groebner basis up to degree bound, which is 12
385
+ fpahilb(I,6,1,"p");
386
+ // inspecting J we see that this is a homogeneous Groebner basis
387
+ // which is potentially infinite, i.e. J is not finitely generated
388
+ fpahilb(J,5,1,2,"p"); // '1' i for non-finitely generated case, string to print details
389
+ //'5' here is to compute the truncated HS up to degree 5.
390
+ //'2' is to compute multi-graded Hilbert series
391
+ fpahilb(J,7,1,"p");
392
+ }
393
+
394
+
395
+ // overhauled by VL, seem to work fine
396
+ /* VERY NEW PART HERE !*/
397
+ //static proc rcolon(ideal I, poly W)
398
+ //"USAGE: rcolon(I,w); ideal I, poly w
399
+ //RETURNS: ideal
400
+ //ASSUME: - basering is a Letterplace ring with degree bound
401
+ //equal to 2*maximal degree of elements in I
402
+ //- I is a monomial ideal
403
+ //- w is a monomial
404
+ //PURPOSE: compute a right colon ideal of I by a monomial w
405
+ //NOTE: Output is the set of generators, which should be added to I
406
+ //EXAMPLE: example rcolon; shows an example"
407
+ //{
408
+ // int lV = lpVarBlockSize(R); //nvars(save);
409
+ // if (lV == 0)
410
+ // {
411
+ // ERROR("Basering must be a Letterplace ring");
412
+ // }
413
+ // // test whether degree bound == 2*maxdeg(elts of the ideal)
414
+ // int maxdegI = 0;
415
+ // int i;
416
+ // for(i=1; i<=ncols(I); i++)
417
+ // {
418
+ // I[i]=leadmonom(I[i]);
419
+ // if ( deg(I[i]) > maxdegI )
420
+ // {
421
+ // maxdegI = deg(I[i]);
422
+ // }
423
+ // }
424
+ // int degbnd = lpDegBound(R);
425
+ // if ( 2*maxdegI != degbnd)
426
+ // {
427
+ // ERROR("Degree bound on the basering should be precisely "+ string(2*maxdegI));
428
+ // }
429
+ // poly wc = leadmonom(W);
430
+ // //"Debug: rcolon is called with lV="+string(lV);
431
+ // // VL: printlevel here? before only printing was there, no output
432
+ // ideal J = system("rcolon", I, wc, lV);
433
+ // return(J);
434
+ // }
435
+ //example
436
+ //{
437
+ //"EXAMPLE:"; echo = 2;
438
+ // ring r=0,(X,Y,Z),dp;
439
+ // def R = freeAlgebra(r,10); setring R;
440
+ // ideal I = Y*Z, Y*Z*X, Y*Z*Z*X, Y*Z*Z*Z*X;
441
+ // poly w = Y;
442
+ // ideal J = rcolon_new(I,w);
443
+ // J; // new generators, which need to be added to I
444
+ // rcolon_new(I,Y*Z); // 1 will be the result
445
+ // rcolon_new(I,X); // nothing to add
446
+ //}
447
+
448
+ // original version of the proc +
449
+ // minor fixes by VL in the example: redefine ring excluded, binomial fixed
450
+ proc nchilb(list L_wp, int d, list #)
451
+ "USAGE: nchilb(I, d[, L]), list I, int d, optional list L
452
+ PURPOSE: compute Hilbert series of a non-commutative algebra
453
+ ASSUME:
454
+ NOTE: d is an integer for the degree bound (maximal total degree of
455
+ polynomials of the generating set of the input ideal),
456
+ #[]=1, computation for non-finitely generated regular ideals,
457
+ #[]=2, computation of multi-graded Hilbert series,
458
+ #[]=tdeg, for obtaining the truncated Hilbert series up to the total degree tdeg-1 (tdeg should be > 2), and
459
+ #[]=string(p), to print the details about the orbit and system of equations.
460
+ Let the orbit is O_I = {T_{w_1}(I),...,T_{w_r}(I)} ($w_i\in W$), where we assume that if T_{w_i}(I)=T_{w_i'}(I)$
461
+ for some $w'_i\in W$, then $deg(w_i)\leq deg(w'_i)$.
462
+ Then, it prints words description of orbit: w_1,...,w_r.
463
+ It also prints the maximal degree and the cardinality of \sum_j R(w_i, b_j) corresponding to each w_i,
464
+ where {b_j} is a basis of I.
465
+ Moreover, it also prints the linear system (for the information about adjacency matrix) and its solving time.
466
+
467
+ NOTE : A Groebner basis of two-sided ideal of the input should be given in a
468
+ special form. This form is a list of modules, where each generator
469
+ of every module represents a monomial times a coefficient in the free
470
+ associative algebra. The first entry, in each generator, represents a
471
+ coefficient and every next entry is a variable.
472
+
473
+ Ex: module p1=[1,y,z],[-1,z,y], represents the poly y*z-z*y;
474
+ module p2=[1,x,z,x],[-1,z,x,z], represents the poly x*z*x-z*x*z
475
+ for more details about the input, see examples.
476
+ EXAMPLE: example nchilb; shows an example "
477
+ {
478
+ if (d<1)
479
+ {
480
+ ERROR("bad degree bound");
481
+ }
482
+
483
+ def save = basering;
484
+ int sz=size(#);
485
+ int lV=nvars(save);
486
+ int ig=0;
487
+ int mgrad=0;
488
+ int tdeg=0;
489
+ string odp="";
490
+ int i;
491
+ for(i=sz ;i >= 1; i--)
492
+ {
493
+ if(typeof(#[i])=="string")
494
+ {
495
+ if(#[i]!="")
496
+ {
497
+ odp = "p";
498
+ }
499
+ # = delete(#,i);
500
+ sz = sz-1;
501
+ break;
502
+ }
503
+ }
504
+ i=1;
505
+ //only one optional parameter (for printing the details) is allowed as a string.
506
+ while(typeof(#[i])=="int" && i<=sz)
507
+ {
508
+ if(#[i] == 1 && ig==0)
509
+ {
510
+ ig = 1;
511
+ }
512
+ else
513
+ {
514
+ if(#[i] == 2 && mgrad==0)
515
+ {
516
+ mgrad = 2;
517
+ }
518
+ else
519
+ {
520
+ if(#[i] > 2 && tdeg==0)
521
+ {
522
+ tdeg = #[i];
523
+ }
524
+ else
525
+ {
526
+ ERROR("error: only int 1,2 and >2 are allowed as
527
+ optional parameters");
528
+ }
529
+ }
530
+ }
531
+ i = i + 1;
532
+ }
533
+ if( i <= sz)
534
+ {
535
+ ERROR("error:only int 1,2, >2, and a string are allowed as
536
+ optional parameters");
537
+ }
538
+ if(tdeg==0)
539
+ {def R = makeLetterplaceRing(2*d);}
540
+ else
541
+ {def R = makeLetterplaceRing(2*(tdeg-1));}
542
+ setring R;
543
+ ideal I;
544
+ poly p;
545
+ poly q=0;
546
+ // convert list L_wp of free-poly to letterPlace-poly format
547
+ setring save;
548
+ module M;
549
+ int j,k,sw,sm,slm;
550
+ vector w;
551
+ poly pc=0;
552
+ intvec v;
553
+ slm = size(L_wp); // number of polys in the given ideal
554
+ for (i=1; i<=slm; i++)
555
+ {
556
+ M = L_wp[i];
557
+ sm = ncols(M); // number of words in the free-poly M
558
+ for (j=1; j<=sm; j++)
559
+ {
560
+ w = M[j];
561
+ sw = size(w);
562
+ for (k=2; k<=sw; k++)
563
+ {
564
+ v[k-1]=rvar(w[k]);
565
+ }
566
+ pc=w[1];
567
+ setring R;
568
+ p=imap(save,pc);
569
+ for (k=2; k<=sw; k++)
570
+ {
571
+ p=p*var(v[k-1]+(k-2)*lV);
572
+ }
573
+ q=q+p;
574
+ setring save;
575
+ }
576
+ setring R;
577
+ I = I,q; //lp-polynomial added to I
578
+ q=0; //ready for the next polynomial
579
+ setring save;
580
+ }
581
+ setring R;
582
+ I=simplify(I,2);
583
+ ideal J_lm;
584
+ for(i=1;i<=size(I);i++)
585
+ {
586
+ J_lm[i]=leadmonom(I[i]);
587
+ }
588
+ //compute the Hilbert series
589
+ if(odp == "")
590
+ {system("nc_hilb", J_lm, lV, ig, mgrad,tdeg);}
591
+ else
592
+ {system("nc_hilb", J_lm, lV, ig, mgrad,tdeg, odp);}
593
+ }
594
+
595
+ example
596
+ {
597
+ "EXAMPLE:"; echo = 2;
598
+
599
+ ring r=0,(X,Y,Z),dp;
600
+ module p1 =[1,Y,Z]; //represents the poly Y*Z
601
+ module p2 =[1,Y,Z,X]; //represents the poly Y*Z*X
602
+ module p3 =[1,Y,Z,Z,X,Z];
603
+ module p4 =[1,Y,Z,Z,Z,X,Z];
604
+ module p5 =[1,Y,Z,Z,Z,Z,X,Z];
605
+ module p6 =[1,Y,Z,Z,Z,Z,Z,X,Z];
606
+ module p7 =[1,Y,Z,Z,Z,Z,Z,Z,X,Z];
607
+ module p8 =[1,Y,Z,Z,Z,Z,Z,Z,Z,X,Z];
608
+ list l1=list(p1,p2,p3,p4,p5,p6,p7,p8);
609
+ nchilb(l1,10);
610
+
611
+ ring r2=0,(x,y,z),dp;
612
+
613
+ module p1=[1,y,z],[-1,z,y]; //y*z-z*y
614
+ module p2=[1,x,z,x],[-1,z,x,z]; // x*z*x-z*x*z
615
+ module p3=[1,x,z,z,x,z],[-1,z,x,z,z,x]; // x*z^2*x*z-z*x*z^2*x
616
+ module p4=[1,x,z,z,z,x,z],[-1,z,x,z,z,x,x]; // x*z^3*x*z-z*x*z^2*x^2
617
+ list l2=list(p1,p2,p3,p4);
618
+
619
+ nchilb(l2,6,1); //third argument '1' is for non-finitely generated case
620
+
621
+ ring r3=0,(a,b),dp;
622
+ module p1=[1,a,a,a];
623
+ module p2=[1,a,b,b];
624
+ module p3=[1,a,a,b];
625
+
626
+ list l3=list(p1,p2,p3);
627
+ nchilb(l3,5,2);//third argument '2' is to compute multi-graded HS
628
+
629
+ ring r4=0,(x,y,z),dp;
630
+ module p1=[1,x,z,y,z,x,z];
631
+ module p2=[1,x,z,x];
632
+ module p3=[1,x,z,y,z,z,x,z];
633
+ module p4=[1,y,z];
634
+ module p5=[1,x,z,z,x,z];
635
+
636
+ list l4=list(p1,p2,p3,p4,p5);
637
+ nchilb(l4,7,"p"); //third argument "p" is to print the details
638
+ // of the orbit and system
639
+ }
640
+
641
+ /*
642
+ // long orig example
643
+ ring r=0,(x,y,z),dp;
644
+
645
+ module p1=[1,y,z,z];
646
+ module p2=[1,y,y,z];
647
+ module p3=[1,x,z,z];
648
+ module p4=[1,x,z,y];
649
+ module p5=[1,x,y,z];
650
+ module p6=[1,x,y,y];
651
+ module p7=[1,x,x,z];
652
+ module p8=[1,x,x,y];
653
+ module p9=[1,y,z,y,z];
654
+ module p10=[1,y,z,x,z];
655
+ module p11=[1,y,z,x,y];
656
+ module p12=[1,x,z,x,z];
657
+ module p13=[1,x,z,x,y];
658
+ module p14=[1,x,y,x,z];
659
+ module p15=[1,x,y,x,y];
660
+ module p16=[1,y,z,y,x,z];
661
+ module p17=[1,y,z,y,x,y];
662
+ module p18=[1,y,z,y,y,x,z];
663
+ module p19=[1,y,z,y,y,x,y];
664
+ module p20=[1,y,z,y,y,y,x,z];
665
+ module p21=[1,y,z,y,y,y,x,y];
666
+
667
+ list l5=list(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,
668
+ p14,p15,p16,p17,p18,p19,p20,p21);
669
+ nchilb(l5,7,1,2,"p");
670
+
671
+ nchilb(l5,7,1,2,11,"p");
672
+ //'11' is to compute the truncated HS up to degree 10.
673
+ }
674
+ */
675
+
676
+
677
+ // original version of the procedure
678
+ proc rcolon(list L_wp, module W, int d)
679
+ "USAGE: rcolon(list of relations, a monomial, an integer);
680
+ L is a list of modules (each module represents a monomial),
681
+ w is a monomail
682
+ d is an integer for the degree bound (maximal total degree of
683
+ monomials of the generating set of the input monomial ideal),
684
+ NOTE : A two-sided monomial ideal and a monomial w for the input should be given
685
+ in a special form. This form is a list of modules, where the generator
686
+ of every module represents a monomial times a coefficient in the free
687
+ associative algebra. The first entry, in each generator, represents a
688
+ coefficient, that is 1, and every next entry is a variable.
689
+
690
+ Ex: module p1=[1,y,z], represents the monomial y*z;
691
+ module p2=[1,x,z,x], represents the monomial x*z*x
692
+ for more details about the input, see examples.
693
+ EXAMPLE: example rcolon; shows an example "
694
+ {
695
+
696
+ if (d<1)
697
+ {
698
+ ERROR("bad degree bound");
699
+ }
700
+
701
+ def save = basering;
702
+ int lV=nvars(save);
703
+ int i;
704
+ def R = makeLetterplaceRing(2*d);
705
+ setring R;
706
+ ideal I;
707
+ poly p; poly q=0;
708
+ setring save;
709
+ module M;
710
+ int k,sw,slm;
711
+ vector w; poly pc=0;
712
+ intvec v;
713
+ slm = size(L_wp); // number of words in the given ideal
714
+ for (i=1; i<=slm; i++)
715
+ {
716
+ M = L_wp[i];
717
+ w = M[1];
718
+ sw = size(w);
719
+ for (k=2; k<=sw; k++)
720
+ {
721
+ v[k-1]=rvar(w[k]);
722
+ }
723
+ pc=w[1];
724
+ setring R;
725
+ p=imap(save,pc);
726
+ for (k=2; k<=sw; k++)
727
+ {
728
+ p=p*var(v[k-1]+(k-2)*lV);
729
+ }
730
+ q=q+p;
731
+ I = I,q; //lp-monomial added to I
732
+ q=0; //ready for the next monomial
733
+ setring save;
734
+ }
735
+ //=====lp-format for W==============
736
+ w=W[1];
737
+ sw = size(w);
738
+ for (k=2; k<=sw; k++)
739
+ {
740
+ v[k-1]=rvar(w[k]);
741
+ }
742
+ pc=w[1];
743
+ setring R;
744
+ poly wc=imap(save,pc);
745
+ for (k=2; k<=sw; k++)
746
+ {
747
+ wc=wc*var(v[k-1]+(k-2)*lV);
748
+ }
749
+ I=simplify(I,2);
750
+ //
751
+ ideal J = system("rcolon", I, wc, lV);
752
+ if(J==1)
753
+ {"<1>"}
754
+ else{
755
+ //lp2lstr(J,save);
756
+ J;
757
+ //lst2str(@LN, 1);
758
+ "+ generators of the given ideal;";}
759
+ setring save;
760
+ }
761
+ example
762
+ {
763
+ "EXAMPLE:"; echo = 2;
764
+
765
+ ring r=0,(X,Y,Z),dp;
766
+ module w =[1,Y];
767
+ module p1 =[1,Y,Z];
768
+ module p2 =[1,Y,Z,X];
769
+ module p3 =[1,Y,Z,Z,X,Z];
770
+ module p4 =[1,Y,Z,Z,Z,X,Z];
771
+ module p5 =[1,Y,Z,Z,Z,Z,X,Z];
772
+ module p6 =[1,Y,Z,Z,Z,Z,Z,X,Z];
773
+ module p7 =[1,Y,Z,Z,Z,Z,Z,Z,X,Z];
774
+ module p8 =[1,Y,Z,Z,Z,Z,Z,Z,Z,X,Z];
775
+ list l1=list(p1,p2,p3,p4,p5,p6,p7,p8);
776
+ rcolon(l1,w,10);
777
+ }