passagemath-singular 10.6.31rc3__cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.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 (490) hide show
  1. PySingular.cpython-314-aarch64-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 +490 -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-6a2a8666.4.1.so +0 -0
  7. passagemath_singular.libs/libcddgmp-ac579979.so.0.1.3 +0 -0
  8. passagemath_singular.libs/libfactory-4-66e33516.4.1.so +0 -0
  9. passagemath_singular.libs/libflint-81de1160.so.21.0.0 +0 -0
  10. passagemath_singular.libs/libgf2x-fbd36f80.so.3.0.0 +0 -0
  11. passagemath_singular.libs/libgfortran-e1b7dfc8.so.5.0.0 +0 -0
  12. passagemath_singular.libs/libgmp-93ebf16a.so.10.5.0 +0 -0
  13. passagemath_singular.libs/libgsl-e3525837.so.28.0.0 +0 -0
  14. passagemath_singular.libs/libmpfr-e0f11cf3.so.6.2.1 +0 -0
  15. passagemath_singular.libs/libntl-0043a3a2.so.44.0.1 +0 -0
  16. passagemath_singular.libs/libomalloc-0-06512335.9.6.so +0 -0
  17. passagemath_singular.libs/libopenblasp-r0-4c5b64b1.3.29.so +0 -0
  18. passagemath_singular.libs/libpolys-4-cb7246b5.4.1.so +0 -0
  19. passagemath_singular.libs/libreadline-28330744.so.8.2 +0 -0
  20. passagemath_singular.libs/libsingular_resources-4-8c425241.4.1.so +0 -0
  21. passagemath_singular.libs/libtinfo-f81c2d16.so.6.3 +0 -0
  22. sage/algebras/all__sagemath_singular.py +3 -0
  23. sage/algebras/fusion_rings/all.py +19 -0
  24. sage/algebras/fusion_rings/f_matrix.py +2448 -0
  25. sage/algebras/fusion_rings/fast_parallel_fmats_methods.cpython-314-aarch64-linux-gnu.so +0 -0
  26. sage/algebras/fusion_rings/fast_parallel_fmats_methods.pxd +5 -0
  27. sage/algebras/fusion_rings/fast_parallel_fmats_methods.pyx +538 -0
  28. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.cpython-314-aarch64-linux-gnu.so +0 -0
  29. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pxd +3 -0
  30. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pyx +331 -0
  31. sage/algebras/fusion_rings/fusion_double.py +899 -0
  32. sage/algebras/fusion_rings/fusion_ring.py +1580 -0
  33. sage/algebras/fusion_rings/poly_tup_engine.cpython-314-aarch64-linux-gnu.so +0 -0
  34. sage/algebras/fusion_rings/poly_tup_engine.pxd +24 -0
  35. sage/algebras/fusion_rings/poly_tup_engine.pyx +579 -0
  36. sage/algebras/fusion_rings/shm_managers.cpython-314-aarch64-linux-gnu.so +0 -0
  37. sage/algebras/fusion_rings/shm_managers.pxd +24 -0
  38. sage/algebras/fusion_rings/shm_managers.pyx +780 -0
  39. sage/algebras/letterplace/all.py +1 -0
  40. sage/algebras/letterplace/free_algebra_element_letterplace.cpython-314-aarch64-linux-gnu.so +0 -0
  41. sage/algebras/letterplace/free_algebra_element_letterplace.pxd +18 -0
  42. sage/algebras/letterplace/free_algebra_element_letterplace.pyx +755 -0
  43. sage/algebras/letterplace/free_algebra_letterplace.cpython-314-aarch64-linux-gnu.so +0 -0
  44. sage/algebras/letterplace/free_algebra_letterplace.pxd +35 -0
  45. sage/algebras/letterplace/free_algebra_letterplace.pyx +914 -0
  46. sage/algebras/letterplace/letterplace_ideal.cpython-314-aarch64-linux-gnu.so +0 -0
  47. sage/algebras/letterplace/letterplace_ideal.pyx +408 -0
  48. sage/algebras/quatalg/all.py +2 -0
  49. sage/algebras/quatalg/quaternion_algebra.py +4778 -0
  50. sage/algebras/quatalg/quaternion_algebra_cython.cpython-314-aarch64-linux-gnu.so +0 -0
  51. sage/algebras/quatalg/quaternion_algebra_cython.pyx +261 -0
  52. sage/algebras/quatalg/quaternion_algebra_element.cpython-314-aarch64-linux-gnu.so +0 -0
  53. sage/algebras/quatalg/quaternion_algebra_element.pxd +29 -0
  54. sage/algebras/quatalg/quaternion_algebra_element.pyx +2176 -0
  55. sage/all__sagemath_singular.py +11 -0
  56. sage/ext_data/all__sagemath_singular.py +1 -0
  57. sage/ext_data/singular/function_field/core.lib +98 -0
  58. sage/interfaces/all__sagemath_singular.py +1 -0
  59. sage/interfaces/singular.py +2835 -0
  60. sage/libs/all__sagemath_singular.py +1 -0
  61. sage/libs/singular/__init__.py +1 -0
  62. sage/libs/singular/decl.pxd +1168 -0
  63. sage/libs/singular/function.cpython-314-aarch64-linux-gnu.so +0 -0
  64. sage/libs/singular/function.pxd +87 -0
  65. sage/libs/singular/function.pyx +1901 -0
  66. sage/libs/singular/function_factory.py +61 -0
  67. sage/libs/singular/groebner_strategy.cpython-314-aarch64-linux-gnu.so +0 -0
  68. sage/libs/singular/groebner_strategy.pxd +22 -0
  69. sage/libs/singular/groebner_strategy.pyx +582 -0
  70. sage/libs/singular/option.cpython-314-aarch64-linux-gnu.so +0 -0
  71. sage/libs/singular/option.pyx +671 -0
  72. sage/libs/singular/polynomial.cpython-314-aarch64-linux-gnu.so +0 -0
  73. sage/libs/singular/polynomial.pxd +39 -0
  74. sage/libs/singular/polynomial.pyx +661 -0
  75. sage/libs/singular/ring.cpython-314-aarch64-linux-gnu.so +0 -0
  76. sage/libs/singular/ring.pxd +58 -0
  77. sage/libs/singular/ring.pyx +893 -0
  78. sage/libs/singular/singular.cpython-314-aarch64-linux-gnu.so +0 -0
  79. sage/libs/singular/singular.pxd +72 -0
  80. sage/libs/singular/singular.pyx +1944 -0
  81. sage/libs/singular/standard_options.py +145 -0
  82. sage/matrix/all__sagemath_singular.py +1 -0
  83. sage/matrix/matrix_mpolynomial_dense.cpython-314-aarch64-linux-gnu.so +0 -0
  84. sage/matrix/matrix_mpolynomial_dense.pxd +7 -0
  85. sage/matrix/matrix_mpolynomial_dense.pyx +615 -0
  86. sage/rings/all__sagemath_singular.py +1 -0
  87. sage/rings/function_field/all__sagemath_singular.py +1 -0
  88. sage/rings/function_field/derivations_polymod.py +911 -0
  89. sage/rings/function_field/element_polymod.cpython-314-aarch64-linux-gnu.so +0 -0
  90. sage/rings/function_field/element_polymod.pyx +406 -0
  91. sage/rings/function_field/function_field_polymod.py +2611 -0
  92. sage/rings/function_field/ideal_polymod.py +1775 -0
  93. sage/rings/function_field/order_polymod.py +1475 -0
  94. sage/rings/function_field/place_polymod.py +681 -0
  95. sage/rings/polynomial/all__sagemath_singular.py +1 -0
  96. sage/rings/polynomial/multi_polynomial_ideal_libsingular.cpython-314-aarch64-linux-gnu.so +0 -0
  97. sage/rings/polynomial/multi_polynomial_ideal_libsingular.pxd +5 -0
  98. sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx +339 -0
  99. sage/rings/polynomial/multi_polynomial_libsingular.cpython-314-aarch64-linux-gnu.so +0 -0
  100. sage/rings/polynomial/multi_polynomial_libsingular.pxd +30 -0
  101. sage/rings/polynomial/multi_polynomial_libsingular.pyx +6277 -0
  102. sage/rings/polynomial/plural.cpython-314-aarch64-linux-gnu.so +0 -0
  103. sage/rings/polynomial/plural.pxd +48 -0
  104. sage/rings/polynomial/plural.pyx +3171 -0
  105. sage/symbolic/all__sagemath_singular.py +1 -0
  106. sage/symbolic/comparison_impl.pxi +428 -0
  107. sage/symbolic/constants_c_impl.pxi +178 -0
  108. sage/symbolic/expression.cpython-314-aarch64-linux-gnu.so +0 -0
  109. sage/symbolic/expression.pxd +7 -0
  110. sage/symbolic/expression.pyx +14200 -0
  111. sage/symbolic/getitem_impl.pxi +202 -0
  112. sage/symbolic/pynac.pxi +572 -0
  113. sage/symbolic/pynac_constant_impl.pxi +133 -0
  114. sage/symbolic/pynac_function_impl.pxi +206 -0
  115. sage/symbolic/pynac_impl.pxi +2576 -0
  116. sage/symbolic/pynac_wrap.h +124 -0
  117. sage/symbolic/series_impl.pxi +272 -0
  118. sage/symbolic/substitution_map_impl.pxi +94 -0
  119. sage_wheels/bin/ESingular +0 -0
  120. sage_wheels/bin/Singular +0 -0
  121. sage_wheels/bin/TSingular +0 -0
  122. sage_wheels/lib/singular/MOD/cohomo.la +41 -0
  123. sage_wheels/lib/singular/MOD/cohomo.so +0 -0
  124. sage_wheels/lib/singular/MOD/customstd.la +41 -0
  125. sage_wheels/lib/singular/MOD/customstd.so +0 -0
  126. sage_wheels/lib/singular/MOD/freealgebra.la +41 -0
  127. sage_wheels/lib/singular/MOD/freealgebra.so +0 -0
  128. sage_wheels/lib/singular/MOD/gfanlib.la +41 -0
  129. sage_wheels/lib/singular/MOD/gfanlib.so +0 -0
  130. sage_wheels/lib/singular/MOD/gitfan.la +41 -0
  131. sage_wheels/lib/singular/MOD/gitfan.so +0 -0
  132. sage_wheels/lib/singular/MOD/interval.la +41 -0
  133. sage_wheels/lib/singular/MOD/interval.so +0 -0
  134. sage_wheels/lib/singular/MOD/loctriv.la +41 -0
  135. sage_wheels/lib/singular/MOD/loctriv.so +0 -0
  136. sage_wheels/lib/singular/MOD/machinelearning.la +41 -0
  137. sage_wheels/lib/singular/MOD/machinelearning.so +0 -0
  138. sage_wheels/lib/singular/MOD/p_Procs_FieldGeneral.la +41 -0
  139. sage_wheels/lib/singular/MOD/p_Procs_FieldGeneral.so +0 -0
  140. sage_wheels/lib/singular/MOD/p_Procs_FieldIndep.la +41 -0
  141. sage_wheels/lib/singular/MOD/p_Procs_FieldIndep.so +0 -0
  142. sage_wheels/lib/singular/MOD/p_Procs_FieldQ.la +41 -0
  143. sage_wheels/lib/singular/MOD/p_Procs_FieldQ.so +0 -0
  144. sage_wheels/lib/singular/MOD/p_Procs_FieldZp.la +41 -0
  145. sage_wheels/lib/singular/MOD/p_Procs_FieldZp.so +0 -0
  146. sage_wheels/lib/singular/MOD/partialgb.la +41 -0
  147. sage_wheels/lib/singular/MOD/partialgb.so +0 -0
  148. sage_wheels/lib/singular/MOD/pyobject.la +41 -0
  149. sage_wheels/lib/singular/MOD/pyobject.so +0 -0
  150. sage_wheels/lib/singular/MOD/singmathic.la +41 -0
  151. sage_wheels/lib/singular/MOD/singmathic.so +0 -0
  152. sage_wheels/lib/singular/MOD/sispasm.la +41 -0
  153. sage_wheels/lib/singular/MOD/sispasm.so +0 -0
  154. sage_wheels/lib/singular/MOD/subsets.la +41 -0
  155. sage_wheels/lib/singular/MOD/subsets.so +0 -0
  156. sage_wheels/lib/singular/MOD/systhreads.la +41 -0
  157. sage_wheels/lib/singular/MOD/systhreads.so +0 -0
  158. sage_wheels/lib/singular/MOD/syzextra.la +41 -0
  159. sage_wheels/lib/singular/MOD/syzextra.so +0 -0
  160. sage_wheels/libexec/singular/MOD/change_cost +0 -0
  161. sage_wheels/libexec/singular/MOD/singularsurf +11 -0
  162. sage_wheels/libexec/singular/MOD/singularsurf_jupyter +9 -0
  163. sage_wheels/libexec/singular/MOD/singularsurf_win +10 -0
  164. sage_wheels/libexec/singular/MOD/solve_IP +0 -0
  165. sage_wheels/libexec/singular/MOD/surfex +16 -0
  166. sage_wheels/libexec/singular/MOD/toric_ideal +0 -0
  167. sage_wheels/share/factory/gftables/10201 +342 -0
  168. sage_wheels/share/factory/gftables/1024 +37 -0
  169. sage_wheels/share/factory/gftables/10609 +356 -0
  170. sage_wheels/share/factory/gftables/11449 +384 -0
  171. sage_wheels/share/factory/gftables/11881 +398 -0
  172. sage_wheels/share/factory/gftables/121 +6 -0
  173. sage_wheels/share/factory/gftables/12167 +408 -0
  174. sage_wheels/share/factory/gftables/125 +7 -0
  175. sage_wheels/share/factory/gftables/12769 +428 -0
  176. sage_wheels/share/factory/gftables/128 +7 -0
  177. sage_wheels/share/factory/gftables/1331 +47 -0
  178. sage_wheels/share/factory/gftables/1369 +48 -0
  179. sage_wheels/share/factory/gftables/14641 +490 -0
  180. sage_wheels/share/factory/gftables/15625 +523 -0
  181. sage_wheels/share/factory/gftables/16 +3 -0
  182. sage_wheels/share/factory/gftables/16129 +540 -0
  183. sage_wheels/share/factory/gftables/16384 +549 -0
  184. sage_wheels/share/factory/gftables/16807 +563 -0
  185. sage_wheels/share/factory/gftables/1681 +58 -0
  186. sage_wheels/share/factory/gftables/169 +8 -0
  187. sage_wheels/share/factory/gftables/17161 +574 -0
  188. sage_wheels/share/factory/gftables/1849 +64 -0
  189. sage_wheels/share/factory/gftables/18769 +628 -0
  190. sage_wheels/share/factory/gftables/19321 +646 -0
  191. sage_wheels/share/factory/gftables/19683 +659 -0
  192. sage_wheels/share/factory/gftables/2048 +71 -0
  193. sage_wheels/share/factory/gftables/2187 +75 -0
  194. sage_wheels/share/factory/gftables/2197 +76 -0
  195. sage_wheels/share/factory/gftables/2209 +76 -0
  196. sage_wheels/share/factory/gftables/22201 +742 -0
  197. sage_wheels/share/factory/gftables/22801 +762 -0
  198. sage_wheels/share/factory/gftables/2401 +82 -0
  199. sage_wheels/share/factory/gftables/243 +11 -0
  200. sage_wheels/share/factory/gftables/24389 +815 -0
  201. sage_wheels/share/factory/gftables/24649 +824 -0
  202. sage_wheels/share/factory/gftables/25 +3 -0
  203. sage_wheels/share/factory/gftables/256 +11 -0
  204. sage_wheels/share/factory/gftables/26569 +888 -0
  205. sage_wheels/share/factory/gftables/27 +3 -0
  206. sage_wheels/share/factory/gftables/27889 +932 -0
  207. sage_wheels/share/factory/gftables/2809 +96 -0
  208. sage_wheels/share/factory/gftables/28561 +954 -0
  209. sage_wheels/share/factory/gftables/289 +12 -0
  210. sage_wheels/share/factory/gftables/29791 +995 -0
  211. sage_wheels/share/factory/gftables/29929 +1000 -0
  212. sage_wheels/share/factory/gftables/3125 +107 -0
  213. sage_wheels/share/factory/gftables/32 +4 -0
  214. sage_wheels/share/factory/gftables/32041 +1070 -0
  215. sage_wheels/share/factory/gftables/32761 +1094 -0
  216. sage_wheels/share/factory/gftables/32768 +1095 -0
  217. sage_wheels/share/factory/gftables/343 +14 -0
  218. sage_wheels/share/factory/gftables/3481 +118 -0
  219. sage_wheels/share/factory/gftables/361 +14 -0
  220. sage_wheels/share/factory/gftables/36481 +1218 -0
  221. sage_wheels/share/factory/gftables/3721 +126 -0
  222. sage_wheels/share/factory/gftables/37249 +1244 -0
  223. sage_wheels/share/factory/gftables/38809 +1296 -0
  224. sage_wheels/share/factory/gftables/39601 +1322 -0
  225. sage_wheels/share/factory/gftables/4 +3 -0
  226. sage_wheels/share/factory/gftables/4096 +139 -0
  227. sage_wheels/share/factory/gftables/44521 +1486 -0
  228. sage_wheels/share/factory/gftables/4489 +152 -0
  229. sage_wheels/share/factory/gftables/49 +4 -0
  230. sage_wheels/share/factory/gftables/4913 +166 -0
  231. sage_wheels/share/factory/gftables/49729 +1660 -0
  232. sage_wheels/share/factory/gftables/5041 +170 -0
  233. sage_wheels/share/factory/gftables/50653 +1691 -0
  234. sage_wheels/share/factory/gftables/512 +20 -0
  235. sage_wheels/share/factory/gftables/51529 +1720 -0
  236. sage_wheels/share/factory/gftables/52441 +1750 -0
  237. sage_wheels/share/factory/gftables/529 +20 -0
  238. sage_wheels/share/factory/gftables/5329 +180 -0
  239. sage_wheels/share/factory/gftables/54289 +1812 -0
  240. sage_wheels/share/factory/gftables/57121 +1906 -0
  241. sage_wheels/share/factory/gftables/58081 +1938 -0
  242. sage_wheels/share/factory/gftables/59049 +1971 -0
  243. sage_wheels/share/factory/gftables/6241 +210 -0
  244. sage_wheels/share/factory/gftables/625 +23 -0
  245. sage_wheels/share/factory/gftables/63001 +2102 -0
  246. sage_wheels/share/factory/gftables/64 +5 -0
  247. sage_wheels/share/factory/gftables/6561 +221 -0
  248. sage_wheels/share/factory/gftables/6859 +231 -0
  249. sage_wheels/share/factory/gftables/6889 +232 -0
  250. sage_wheels/share/factory/gftables/729 +27 -0
  251. sage_wheels/share/factory/gftables/7921 +266 -0
  252. sage_wheels/share/factory/gftables/8 +3 -0
  253. sage_wheels/share/factory/gftables/81 +5 -0
  254. sage_wheels/share/factory/gftables/8192 +276 -0
  255. sage_wheels/share/factory/gftables/841 +30 -0
  256. sage_wheels/share/factory/gftables/9 +3 -0
  257. sage_wheels/share/factory/gftables/9409 +316 -0
  258. sage_wheels/share/factory/gftables/961 +34 -0
  259. sage_wheels/share/info/singular.info +191898 -0
  260. sage_wheels/share/singular/LIB/GND.lib +1359 -0
  261. sage_wheels/share/singular/LIB/JMBTest.lib +976 -0
  262. sage_wheels/share/singular/LIB/JMSConst.lib +1363 -0
  263. sage_wheels/share/singular/LIB/KVequiv.lib +699 -0
  264. sage_wheels/share/singular/LIB/SingularityDBM.lib +491 -0
  265. sage_wheels/share/singular/LIB/VecField.lib +1542 -0
  266. sage_wheels/share/singular/LIB/absfact.lib +959 -0
  267. sage_wheels/share/singular/LIB/ainvar.lib +730 -0
  268. sage_wheels/share/singular/LIB/aksaka.lib +419 -0
  269. sage_wheels/share/singular/LIB/alexpoly.lib +2542 -0
  270. sage_wheels/share/singular/LIB/algebra.lib +1193 -0
  271. sage_wheels/share/singular/LIB/all.lib +136 -0
  272. sage_wheels/share/singular/LIB/arcpoint.lib +514 -0
  273. sage_wheels/share/singular/LIB/arnold.lib +4553 -0
  274. sage_wheels/share/singular/LIB/arnoldclassify.lib +2058 -0
  275. sage_wheels/share/singular/LIB/arr.lib +3486 -0
  276. sage_wheels/share/singular/LIB/assprimeszerodim.lib +755 -0
  277. sage_wheels/share/singular/LIB/autgradalg.lib +3361 -0
  278. sage_wheels/share/singular/LIB/bfun.lib +1964 -0
  279. sage_wheels/share/singular/LIB/bimodules.lib +774 -0
  280. sage_wheels/share/singular/LIB/brillnoether.lib +226 -0
  281. sage_wheels/share/singular/LIB/brnoeth.lib +5017 -0
  282. sage_wheels/share/singular/LIB/central.lib +2169 -0
  283. sage_wheels/share/singular/LIB/chern.lib +4162 -0
  284. sage_wheels/share/singular/LIB/cimonom.lib +571 -0
  285. sage_wheels/share/singular/LIB/cisimplicial.lib +1835 -0
  286. sage_wheels/share/singular/LIB/classify.lib +3239 -0
  287. sage_wheels/share/singular/LIB/classify2.lib +1462 -0
  288. sage_wheels/share/singular/LIB/classifyMapGerms.lib +1515 -0
  289. sage_wheels/share/singular/LIB/classify_aeq.lib +3253 -0
  290. sage_wheels/share/singular/LIB/classifyceq.lib +2092 -0
  291. sage_wheels/share/singular/LIB/classifyci.lib +1133 -0
  292. sage_wheels/share/singular/LIB/combinat.lib +91 -0
  293. sage_wheels/share/singular/LIB/compregb.lib +276 -0
  294. sage_wheels/share/singular/LIB/control.lib +1636 -0
  295. sage_wheels/share/singular/LIB/crypto.lib +3795 -0
  296. sage_wheels/share/singular/LIB/curveInv.lib +667 -0
  297. sage_wheels/share/singular/LIB/curvepar.lib +1817 -0
  298. sage_wheels/share/singular/LIB/customstd.lib +100 -0
  299. sage_wheels/share/singular/LIB/deRham.lib +5979 -0
  300. sage_wheels/share/singular/LIB/decodegb.lib +2134 -0
  301. sage_wheels/share/singular/LIB/decomp.lib +1655 -0
  302. sage_wheels/share/singular/LIB/deflation.lib +872 -0
  303. sage_wheels/share/singular/LIB/deform.lib +925 -0
  304. sage_wheels/share/singular/LIB/difform.lib +3055 -0
  305. sage_wheels/share/singular/LIB/divisors.lib +750 -0
  306. sage_wheels/share/singular/LIB/dmod.lib +5817 -0
  307. sage_wheels/share/singular/LIB/dmodapp.lib +3269 -0
  308. sage_wheels/share/singular/LIB/dmodideal.lib +1211 -0
  309. sage_wheels/share/singular/LIB/dmodloc.lib +2645 -0
  310. sage_wheels/share/singular/LIB/dmodvar.lib +818 -0
  311. sage_wheels/share/singular/LIB/dummy.lib +17 -0
  312. sage_wheels/share/singular/LIB/elim.lib +1009 -0
  313. sage_wheels/share/singular/LIB/ellipticcovers.lib +548 -0
  314. sage_wheels/share/singular/LIB/enumpoints.lib +146 -0
  315. sage_wheels/share/singular/LIB/equising.lib +2127 -0
  316. sage_wheels/share/singular/LIB/ffmodstd.lib +2384 -0
  317. sage_wheels/share/singular/LIB/ffsolve.lib +1289 -0
  318. sage_wheels/share/singular/LIB/findifs.lib +778 -0
  319. sage_wheels/share/singular/LIB/finitediff.lib +1768 -0
  320. sage_wheels/share/singular/LIB/finvar.lib +7989 -0
  321. sage_wheels/share/singular/LIB/fpadim.lib +2429 -0
  322. sage_wheels/share/singular/LIB/fpalgebras.lib +1666 -0
  323. sage_wheels/share/singular/LIB/fpaprops.lib +1462 -0
  324. sage_wheels/share/singular/LIB/freegb.lib +3853 -0
  325. sage_wheels/share/singular/LIB/general.lib +1350 -0
  326. sage_wheels/share/singular/LIB/gfan.lib +1768 -0
  327. sage_wheels/share/singular/LIB/gitfan.lib +3130 -0
  328. sage_wheels/share/singular/LIB/gkdim.lib +99 -0
  329. sage_wheels/share/singular/LIB/gmspoly.lib +589 -0
  330. sage_wheels/share/singular/LIB/gmssing.lib +1739 -0
  331. sage_wheels/share/singular/LIB/goettsche.lib +909 -0
  332. sage_wheels/share/singular/LIB/graal.lib +1366 -0
  333. sage_wheels/share/singular/LIB/gradedModules.lib +2541 -0
  334. sage_wheels/share/singular/LIB/graphics.lib +360 -0
  335. sage_wheels/share/singular/LIB/grobcov.lib +7706 -0
  336. sage_wheels/share/singular/LIB/groups.lib +1123 -0
  337. sage_wheels/share/singular/LIB/grwalk.lib +507 -0
  338. sage_wheels/share/singular/LIB/hdepth.lib +194 -0
  339. sage_wheels/share/singular/LIB/help.cnf +57 -0
  340. sage_wheels/share/singular/LIB/hess.lib +1946 -0
  341. sage_wheels/share/singular/LIB/hnoether.lib +4292 -0
  342. sage_wheels/share/singular/LIB/hodge.lib +400 -0
  343. sage_wheels/share/singular/LIB/homolog.lib +1965 -0
  344. sage_wheels/share/singular/LIB/hyperel.lib +975 -0
  345. sage_wheels/share/singular/LIB/inout.lib +679 -0
  346. sage_wheels/share/singular/LIB/integralbasis.lib +6224 -0
  347. sage_wheels/share/singular/LIB/interval.lib +1418 -0
  348. sage_wheels/share/singular/LIB/intprog.lib +778 -0
  349. sage_wheels/share/singular/LIB/invar.lib +443 -0
  350. sage_wheels/share/singular/LIB/involut.lib +980 -0
  351. sage_wheels/share/singular/LIB/jacobson.lib +1215 -0
  352. sage_wheels/share/singular/LIB/kskernel.lib +534 -0
  353. sage_wheels/share/singular/LIB/latex.lib +3146 -0
  354. sage_wheels/share/singular/LIB/lejeune.lib +651 -0
  355. sage_wheels/share/singular/LIB/linalg.lib +2040 -0
  356. sage_wheels/share/singular/LIB/locnormal.lib +212 -0
  357. sage_wheels/share/singular/LIB/lrcalc.lib +526 -0
  358. sage_wheels/share/singular/LIB/makedbm.lib +294 -0
  359. sage_wheels/share/singular/LIB/mathml.lib +813 -0
  360. sage_wheels/share/singular/LIB/matrix.lib +1372 -0
  361. sage_wheels/share/singular/LIB/maxlike.lib +1132 -0
  362. sage_wheels/share/singular/LIB/methods.lib +212 -0
  363. sage_wheels/share/singular/LIB/moddiq.lib +322 -0
  364. sage_wheels/share/singular/LIB/modfinduni.lib +181 -0
  365. sage_wheels/share/singular/LIB/modnormal.lib +218 -0
  366. sage_wheels/share/singular/LIB/modprimdec.lib +1278 -0
  367. sage_wheels/share/singular/LIB/modquotient.lib +269 -0
  368. sage_wheels/share/singular/LIB/modstd.lib +1024 -0
  369. sage_wheels/share/singular/LIB/modular.lib +545 -0
  370. sage_wheels/share/singular/LIB/modules.lib +2561 -0
  371. sage_wheels/share/singular/LIB/modwalk.lib +609 -0
  372. sage_wheels/share/singular/LIB/mondromy.lib +1016 -0
  373. sage_wheels/share/singular/LIB/monomialideal.lib +3851 -0
  374. sage_wheels/share/singular/LIB/mprimdec.lib +2353 -0
  375. sage_wheels/share/singular/LIB/mregular.lib +1863 -0
  376. sage_wheels/share/singular/LIB/multigrading.lib +5629 -0
  377. sage_wheels/share/singular/LIB/ncHilb.lib +777 -0
  378. sage_wheels/share/singular/LIB/ncModslimgb.lib +791 -0
  379. sage_wheels/share/singular/LIB/ncalg.lib +16311 -0
  380. sage_wheels/share/singular/LIB/ncall.lib +31 -0
  381. sage_wheels/share/singular/LIB/ncdecomp.lib +468 -0
  382. sage_wheels/share/singular/LIB/ncfactor.lib +13371 -0
  383. sage_wheels/share/singular/LIB/ncfrac.lib +1023 -0
  384. sage_wheels/share/singular/LIB/nchilbert.lib +448 -0
  385. sage_wheels/share/singular/LIB/nchomolog.lib +759 -0
  386. sage_wheels/share/singular/LIB/ncloc.lib +361 -0
  387. sage_wheels/share/singular/LIB/ncpreim.lib +795 -0
  388. sage_wheels/share/singular/LIB/ncrat.lib +2849 -0
  389. sage_wheels/share/singular/LIB/nctools.lib +1887 -0
  390. sage_wheels/share/singular/LIB/nets.lib +1456 -0
  391. sage_wheels/share/singular/LIB/nfmodstd.lib +1000 -0
  392. sage_wheels/share/singular/LIB/nfmodsyz.lib +732 -0
  393. sage_wheels/share/singular/LIB/noether.lib +1106 -0
  394. sage_wheels/share/singular/LIB/normal.lib +8700 -0
  395. sage_wheels/share/singular/LIB/normaliz.lib +2226 -0
  396. sage_wheels/share/singular/LIB/ntsolve.lib +362 -0
  397. sage_wheels/share/singular/LIB/numerAlg.lib +560 -0
  398. sage_wheels/share/singular/LIB/numerDecom.lib +2261 -0
  399. sage_wheels/share/singular/LIB/olga.lib +1933 -0
  400. sage_wheels/share/singular/LIB/orbitparam.lib +351 -0
  401. sage_wheels/share/singular/LIB/parallel.lib +319 -0
  402. sage_wheels/share/singular/LIB/paraplanecurves.lib +3110 -0
  403. sage_wheels/share/singular/LIB/perron.lib +202 -0
  404. sage_wheels/share/singular/LIB/pfd.lib +2223 -0
  405. sage_wheels/share/singular/LIB/phindex.lib +642 -0
  406. sage_wheels/share/singular/LIB/pointid.lib +673 -0
  407. sage_wheels/share/singular/LIB/polybori.lib +1430 -0
  408. sage_wheels/share/singular/LIB/polyclass.lib +525 -0
  409. sage_wheels/share/singular/LIB/polylib.lib +1174 -0
  410. sage_wheels/share/singular/LIB/polymake.lib +1902 -0
  411. sage_wheels/share/singular/LIB/presolve.lib +1533 -0
  412. sage_wheels/share/singular/LIB/primdec.lib +9576 -0
  413. sage_wheels/share/singular/LIB/primdecint.lib +1782 -0
  414. sage_wheels/share/singular/LIB/primitiv.lib +401 -0
  415. sage_wheels/share/singular/LIB/puiseuxexpansions.lib +1631 -0
  416. sage_wheels/share/singular/LIB/purityfiltration.lib +960 -0
  417. sage_wheels/share/singular/LIB/qhmoduli.lib +1561 -0
  418. sage_wheels/share/singular/LIB/qmatrix.lib +293 -0
  419. sage_wheels/share/singular/LIB/random.lib +455 -0
  420. sage_wheels/share/singular/LIB/ratgb.lib +489 -0
  421. sage_wheels/share/singular/LIB/realclassify.lib +5759 -0
  422. sage_wheels/share/singular/LIB/realizationMatroids.lib +772 -0
  423. sage_wheels/share/singular/LIB/realrad.lib +1197 -0
  424. sage_wheels/share/singular/LIB/recover.lib +2628 -0
  425. sage_wheels/share/singular/LIB/redcgs.lib +3984 -0
  426. sage_wheels/share/singular/LIB/reesclos.lib +465 -0
  427. sage_wheels/share/singular/LIB/resbinomial.lib +2802 -0
  428. sage_wheels/share/singular/LIB/resgraph.lib +789 -0
  429. sage_wheels/share/singular/LIB/resjung.lib +820 -0
  430. sage_wheels/share/singular/LIB/resolve.lib +5110 -0
  431. sage_wheels/share/singular/LIB/resources.lib +170 -0
  432. sage_wheels/share/singular/LIB/reszeta.lib +5473 -0
  433. sage_wheels/share/singular/LIB/ring.lib +1328 -0
  434. sage_wheels/share/singular/LIB/ringgb.lib +343 -0
  435. sage_wheels/share/singular/LIB/rinvar.lib +1153 -0
  436. sage_wheels/share/singular/LIB/rootisolation.lib +1481 -0
  437. sage_wheels/share/singular/LIB/rootsmr.lib +709 -0
  438. sage_wheels/share/singular/LIB/rootsur.lib +886 -0
  439. sage_wheels/share/singular/LIB/rstandard.lib +607 -0
  440. sage_wheels/share/singular/LIB/rwalk.lib +336 -0
  441. sage_wheels/share/singular/LIB/sagbi.lib +1353 -0
  442. sage_wheels/share/singular/LIB/sagbiNormaliz.lib +1622 -0
  443. sage_wheels/share/singular/LIB/sagbiNormaliz0.lib +1498 -0
  444. sage_wheels/share/singular/LIB/sagbigrob.lib +449 -0
  445. sage_wheels/share/singular/LIB/schreyer.lib +321 -0
  446. sage_wheels/share/singular/LIB/schubert.lib +2551 -0
  447. sage_wheels/share/singular/LIB/sets.lib +524 -0
  448. sage_wheels/share/singular/LIB/sheafcoh.lib +1663 -0
  449. sage_wheels/share/singular/LIB/signcond.lib +437 -0
  450. sage_wheels/share/singular/LIB/sing.lib +1094 -0
  451. sage_wheels/share/singular/LIB/sing4ti2.lib +419 -0
  452. sage_wheels/share/singular/LIB/solve.lib +2243 -0
  453. sage_wheels/share/singular/LIB/spcurve.lib +1077 -0
  454. sage_wheels/share/singular/LIB/spectrum.lib +62 -0
  455. sage_wheels/share/singular/LIB/sresext.lib +757 -0
  456. sage_wheels/share/singular/LIB/ssi.lib +143 -0
  457. sage_wheels/share/singular/LIB/standard.lib +2769 -0
  458. sage_wheels/share/singular/LIB/stanleyreisner.lib +473 -0
  459. sage_wheels/share/singular/LIB/stdmodule.lib +547 -0
  460. sage_wheels/share/singular/LIB/stratify.lib +1070 -0
  461. sage_wheels/share/singular/LIB/surf.lib +506 -0
  462. sage_wheels/share/singular/LIB/surf_jupyter.lib +223 -0
  463. sage_wheels/share/singular/LIB/surfacesignature.lib +522 -0
  464. sage_wheels/share/singular/LIB/surfex.lib +1462 -0
  465. sage_wheels/share/singular/LIB/swalk.lib +877 -0
  466. sage_wheels/share/singular/LIB/symodstd.lib +1570 -0
  467. sage_wheels/share/singular/LIB/systhreads.lib +74 -0
  468. sage_wheels/share/singular/LIB/tasks.lib +1324 -0
  469. sage_wheels/share/singular/LIB/tateProdCplxNegGrad.lib +2412 -0
  470. sage_wheels/share/singular/LIB/teachstd.lib +858 -0
  471. sage_wheels/share/singular/LIB/template.lib +116 -0
  472. sage_wheels/share/singular/LIB/toric.lib +1119 -0
  473. sage_wheels/share/singular/LIB/transformation.lib +116 -0
  474. sage_wheels/share/singular/LIB/triang.lib +1197 -0
  475. sage_wheels/share/singular/LIB/tropical.lib +8741 -0
  476. sage_wheels/share/singular/LIB/tropicalEllipticCovers.lib +2922 -0
  477. sage_wheels/share/singular/LIB/tropicalNewton.lib +1128 -0
  478. sage_wheels/share/singular/LIB/tst.lib +1108 -0
  479. sage_wheels/share/singular/LIB/weierstr.lib +241 -0
  480. sage_wheels/share/singular/LIB/zeroset.lib +1478 -0
  481. sage_wheels/share/singular/emacs/.emacs-general +184 -0
  482. sage_wheels/share/singular/emacs/.emacs-singular +234 -0
  483. sage_wheels/share/singular/emacs/COPYING +44 -0
  484. sage_wheels/share/singular/emacs/cmd-cmpl.el +241 -0
  485. sage_wheels/share/singular/emacs/ex-cmpl.el +1681 -0
  486. sage_wheels/share/singular/emacs/hlp-cmpl.el +4318 -0
  487. sage_wheels/share/singular/emacs/lib-cmpl.el +179 -0
  488. sage_wheels/share/singular/emacs/singular.el +4273 -0
  489. sage_wheels/share/singular/emacs/singular.xpm +39 -0
  490. sage_wheels/share/singular/singular.idx +5002 -0
@@ -0,0 +1,31 @@
1
+ //////////////////////////////////////////////////////////////////////////////
2
+ version="version ncall.lib 4.1.2.0 Feb_2019 "; // $Id: 448f49a74c64969feb1ad0f1b112cd51b6180dea $
3
+ category = "Noncommutative";
4
+ info="
5
+ LIBRARY: ncall.lib Load all noncommutative libraries
6
+
7
+ @format
8
+ central.lib: Computation of central elements of G- and GR-algebras
9
+ ncalg.lib: Definitions of important GR-algebras
10
+ ncdecomp.lib: Central character decomposition of a module
11
+ nctools.lib: General tools for noncommutative algebras
12
+ gkdim.lib: Procedures for calculating the Gelfand-Kirillov dimension
13
+ qmatrix.lib: Quantum matrices, quantum minors and symmetric groups
14
+ involut.lib: Computations and operations with involutions
15
+ perron.lib: Computation of algebraic dependences
16
+ @end format
17
+ ";
18
+
19
+ // nchomolog.lib: Noncommutative homological algebra
20
+ ///////////////////////////////////////////////////////////////////////////////
21
+
22
+ LIB "central.lib";
23
+ LIB "ncalg.lib";
24
+ LIB "ncdecomp.lib";
25
+ LIB "nctools.lib";
26
+ LIB "gkdim.lib";
27
+ LIB "qmatrix.lib";
28
+ LIB "involut.lib";
29
+ LIB "dmod.lib";
30
+ LIB "perron.lib";
31
+ //LIB "nchomolog.lib";
@@ -0,0 +1,468 @@
1
+ //////////////////////////////////////////////////////////////////////////////
2
+ version="version ncdecomp.lib 4.1.2.0 Feb_2019 "; // $Id: e9a0fab8a7a4860e19106f692003a5de6b949210 $
3
+ category="Noncommutative";
4
+ info="
5
+ LIBRARY: ncdecomp.lib Decomposition of a module into its central characters
6
+ AUTHORS: Viktor Levandovskyy, levandov@mathematik.uni-kl.de.
7
+
8
+ OVERVIEW:
9
+ @* This library presents algorithms for the central character decomposition of a module,
10
+ @* i.e. a decomposition into generalized weight modules with respect to the center.
11
+ @* Based on ideas of O. Khomenko and V. Levandovskyy (see the article [L2] in the
12
+ @* References for details).
13
+
14
+ PROCEDURES:
15
+ CentralQuot(M,G); central quotient M:G,
16
+ CentralSaturation(M,T); central saturation ((M:T):...):T) ( = M:T^infinity),
17
+ CenCharDec(I,C); decomposition of I into central characters w.r.t. C
18
+ IntersectWithSub(M,Z); intersection of M with the subalgebra, generated by pairwise commutative elements of Z.
19
+ ";
20
+
21
+ LIB "ncalg.lib";
22
+ LIB "primdec.lib";
23
+ LIB "central.lib";
24
+
25
+ ///////////////////////////////////////////////////////////////////////////////
26
+
27
+ proc testncdecomplib()
28
+ {
29
+ example CentralQuot;
30
+ example CentralSaturation;
31
+ example CenCharDec;
32
+ example IntersectWithSub;
33
+ }
34
+
35
+ static proc CharKernel(list L, int i)
36
+ {
37
+ // todo: think on more effective way of doing it...
38
+ // compute \cup L[j], j!=i
39
+ int sL = size(L);
40
+ if ( (i<=0) || (i>sL)) { return(0); }
41
+ int j;
42
+ list Li;
43
+ if (i ==1 )
44
+ {
45
+ Li = L[2..sL];
46
+ }
47
+ if (i ==sL )
48
+ {
49
+ Li = L[1..sL-1];
50
+ }
51
+ if ( (i>1) && (i < sL))
52
+ {
53
+ Li = L[1..i-1];
54
+ for (j=i+1; j<=sL; j++)
55
+ {
56
+ Li[j-1] = L[j];
57
+ }
58
+ }
59
+ // print("intersecting kernels...");
60
+ module Cres = intersect(Li[1..size(Li)]); // uses std, try modulo!
61
+ return(Cres);
62
+ }
63
+ ///////////////////////////////////////////////////////////////////////////////
64
+ static proc CentralQuotPoly(module M, poly g)
65
+ {
66
+ // here an elimination of components should be used !
67
+ int N=nrows(M); // M = A^N /I_M
68
+ module @M;
69
+ int i,j;
70
+ for(i=1; i<=N; i++)
71
+ {
72
+ @M=@M,g*gen(i);
73
+ }
74
+ @M = simplify(@M,2);
75
+ @M = @M,M;
76
+ module S = syz(@M);
77
+ matrix s = S;
78
+ module T;
79
+ vector t;
80
+ for(i=1; i<=ncols(s); i++)
81
+ {
82
+ t = 0*gen(N);
83
+ for(j=1; j<=N; j++)
84
+ {
85
+ t = t + s[j,i]*gen(j);
86
+ }
87
+ T[i] = t;
88
+ }
89
+ T = simplify(T,2);
90
+ return(T);
91
+ }
92
+ ///////////////////////////////////////////////////////////////////////////////
93
+ static proc MyIsEqual(module A, module B)
94
+ {
95
+ // both A and B are submodules of free module
96
+ option(redSB);
97
+ option(redTail);
98
+ if (attrib(A,"isSB")!=1)
99
+ {
100
+ A = slimgb(A);
101
+ }
102
+ if (attrib(B,"isSB")!=1)
103
+ {
104
+ B = slimgb(B);
105
+ }
106
+ int ANSWER = 1;
107
+ if ( ( ncols(A) == ncols(B) ) && ( nrows(A) == nrows(B) ) )
108
+ {
109
+ module @AB = module(matrix(A)-matrix(B));
110
+ @AB = simplify(@AB,2);
111
+ if (@AB[1]!=0) { ANSWER = 0; }
112
+ }
113
+ else { ANSWER = 0; }
114
+ return(ANSWER);
115
+ }
116
+ ///////////////////////////////////////////////////////////////////////////////
117
+ proc CentralQuot(module I, ideal G)
118
+ "USAGE: CentralQuot(M, G), M a module, G an ideal
119
+ ASSUME: G is an ideal in the center of the base ring
120
+ RETURN: module
121
+ PURPOSE: compute the central quotient M:G
122
+ THEORY: for an ideal G of the center of an algebra and a submodule M of A^n,
123
+ @* the central quotient of M by G is defined to be
124
+ @* M:G := { v in A^n | z*v in M, for all z in G }.
125
+ NOTE: the output module is not necessarily given in a Groebner basis
126
+ SEE ALSO: CentralSaturation, CenCharDec
127
+ EXAMPLE: example CentralQuot; shows examples
128
+ "{
129
+ /* check assupmtion. Elt's of G must be central */
130
+ if (! inCenter(G) )
131
+ {
132
+ ERROR("ideal in the 2nd argument is not in the center of the base ring!");
133
+ }
134
+ int i;
135
+ list @L;
136
+ for(i=1; i<=size(G); i++)
137
+ {
138
+ @L[i] = CentralQuotPoly(I,G[i]);
139
+ }
140
+ module @I = intersect(@L[1..size(G)]);
141
+ if (nrows(@I)==1)
142
+ {
143
+ @I = ideal(@I);
144
+ }
145
+ return(@I);
146
+ }
147
+ example
148
+ { "EXAMPLE:"; echo = 2;
149
+ option(returnSB);
150
+ def a = makeUsl2();
151
+ setring a;
152
+ ideal I = e3,f3,h3-4*h;
153
+ I = std(I);
154
+ poly C=4*e*f+h^2-2*h; // C in Z(U(sl2)), the central element
155
+ ideal G = (C-8)*(C-24); // G normal factor in Z(U(sl2)) as an ideal in the center
156
+ ideal R = CentralQuot(I,G); // same as I:G
157
+ R;
158
+ }
159
+ ///////////////////////////////////////////////////////////////////////////////
160
+ proc CentralSaturation(module M, ideal T)
161
+ "USAGE: CentralSaturation(M, T), for a module M and an ideal T
162
+ ASSUME: T is an ideal in the center of the base ring
163
+ RETURN: module
164
+ PURPOSE: compute the central saturation of M by T, that is M:T^{\infty}, by repetitive application of @code{CentralQuot}
165
+ NOTE: the output module is not necessarily a Groebner basis
166
+ SEE ALSO: CentralQuot, CenCharDec
167
+ EXAMPLE: example CentralSaturation; shows examples
168
+ "{
169
+ /* check assupmtion. Elt's of T must be central */
170
+ if (! inCenter(T) )
171
+ {
172
+ ERROR("ideal in the 2nd argument is not in the center of the base ring!");
173
+ }
174
+ option(redSB);
175
+ option(redTail);
176
+ option(returnSB);
177
+ module Q=0;
178
+ module S=M;
179
+ while ( !MyIsEqual(Q,S) )
180
+ {
181
+ Q = CentralQuot(S, T);
182
+ S = CentralQuot(Q, T);
183
+ }
184
+ if (nrows(Q)==1)
185
+ {
186
+ Q = ideal(Q);
187
+ }
188
+ // Q = std(Q);
189
+ return(Q);
190
+ }
191
+ example
192
+ { "EXAMPLE:"; echo = 2;
193
+ option(returnSB);
194
+ def a = makeUsl2();
195
+ setring a;
196
+ ideal I = e3,f3,h3-4*h;
197
+ I = std(I);
198
+ poly C=4*e*f+h^2-2*h;
199
+ ideal G = C*(C-8);
200
+ ideal R = CentralSaturation(I,G);
201
+ R=std(R);
202
+ vdim(R);
203
+ R;
204
+ }
205
+ ///////////////////////////////////////////////////////////////////////////////
206
+ proc CenCharDec(module I, def #)
207
+ "USAGE: CenCharDec(I, C); I a module, C an ideal
208
+ ASSUME: C consists of generators of the center of the base ring
209
+ RETURN: a list L, where each entry consists of three records (if a finite decomposition exists)
210
+ @* L[*][1] ('ideal' type), the central character as a maximal ideal in the center,
211
+ @* L[*][2] ('module' type), the Groebner basis of the weight module, corresponding to the character in L[*][1],
212
+ @* L[*][3] ('int' type) is the vector space dimension of the weight module (-1 in case of infinite dimension);
213
+ PURPOSE: compute a finite decomposition of C into central characters or determine that there is no finite decomposition
214
+ NOTE: actual decomposition is the sum of L[i][2] above;
215
+ @* some modules have no finite decomposition (in such case one gets warning message)
216
+ @* The function @code{central} in @code{central.lib} may be used to obtain C, when needed.
217
+ SEE ALSO: CentralQuot, CentralSaturation
218
+ EXAMPLE: example CenCharDec; shows examples
219
+ "
220
+ {
221
+ list Center;
222
+ if (typeof(#) == "ideal")
223
+ {
224
+ int cc;
225
+ ideal tmp = ideal(#);
226
+ for (cc=1; cc<=size(tmp); cc++)
227
+ {
228
+ Center[cc] = tmp[cc];
229
+ }
230
+ kill tmp;
231
+ }
232
+ if (typeof(#) == "list")
233
+ {
234
+ Center = #;
235
+ }
236
+
237
+ /* check assupmtion. Elt's of G must be central */
238
+ if (! inCenter(Center) )
239
+ {
240
+ ERROR("ideal in the 2nd argument is not in the center of the base ring!");
241
+ }
242
+ int ppl = printlevel-voice+2;
243
+ // M = A/I
244
+ //1. Find the Zariski closure of Supp_Z M
245
+ // J = Ann_M 1 == I
246
+ // J \cap Z:
247
+ option(redSB);
248
+ option(redTail);
249
+ option(returnSB);
250
+ def @A = basering;
251
+ setring @A;
252
+ int sZ=size(Center);
253
+ int i,j;
254
+ poly t=1;
255
+ for(i=1; i<=nvars(@A); i++)
256
+ {
257
+ t=t*var(i);
258
+ }
259
+ ring @Z=0,(@z(1..sZ)),dp;
260
+ // @Z;
261
+ def @ZplusA = @A+@Z;
262
+ setring @ZplusA;
263
+ // @ZplusA;
264
+ ideal I = imap(@A,I);
265
+ list Center = imap(@A,Center);
266
+ poly t = imap(@A,t);
267
+ ideal @Ker;
268
+ for(i=1; i<=sZ; i++)
269
+ {
270
+ @Ker[i]=@z(i) - Center[i];
271
+ }
272
+ @Ker = @Ker,I;
273
+ // ideal @JcapZ = eliminate(@Ker,t);
274
+ dbprint(ppl,"// -1-1- starting the computation of preimage in Z");
275
+ dbprint(ppl-1, @Ker);
276
+ ideal @JcapZ = slimgb(@Ker);
277
+ @JcapZ = nselect(@JcapZ,intvec(1..nvars(@A)));
278
+ dbprint(ppl,"// -1-2- finished the computation of preimage in Z");
279
+ dbprint(ppl-1, @JcapZ);
280
+ // do not forget parameters of a basering!
281
+ // hmmm: todo ringlist
282
+ list l1;
283
+ for (int zz = 1; zz<= sZ; zz++)
284
+ {
285
+ l1[zz] = "@z("+string(zz)+")";
286
+ }
287
+ setring(@A);
288
+ ring @@Z = create_ring(ring_list(@A)[1], l1, "dp", "no_minpoly");
289
+ setring @@Z;
290
+ ideal @JcapZ = imap(@ZplusA,@JcapZ);
291
+ dbprint(ppl,"// -1-3- starting the cosmetic Groebner basis in Z");
292
+ @JcapZ = slimgb(@JcapZ); // evtl. groebner?
293
+ // @JcapZ;
294
+ dbprint(ppl,"// -1-4- finished the cosmetic Groebner basis in Z");
295
+ dbprint(ppl-1, @JcapZ);
296
+ int sJ = vdim(@JcapZ);
297
+ dbprint(ppl,"// -1-5- the K-dimension of support is "+string(sJ));
298
+ if (sJ==-1)
299
+ {
300
+ "There is no finite decomposition";
301
+ return(0);
302
+ }
303
+ // print(@JcapZ);
304
+ // 2. compute the min.ass.primes of the ideal in the center
305
+ dbprint(ppl,"// -2-1- starting the computation of minimal primes in Z");
306
+ list @L = minAssGTZ(@JcapZ);
307
+ int sL = size(@L);
308
+ dbprint(ppl,"// -2-2- finished the computation of " + string(sL)+ " minimal primes in Z");
309
+ // print("etL:");
310
+ // @L;
311
+ // exception: is sL==1, the whole ideal has unique cen.char
312
+ if (sL ==1)
313
+ {
314
+ dbprint(ppl-1,"// -2-3- the whole module is gen. weight module itself");
315
+ setring @A;
316
+ map @M = @@Z,Center[1..size(Center)];
317
+ list L = @M(@L);
318
+ list @R;
319
+ @R[1] = L[1];
320
+ if (nrows(@R[1])==1)
321
+ {
322
+ @R[1] = ideal(@R[1]);
323
+ }
324
+ @R[2] = I;
325
+ if (nrows(@R[2])==1)
326
+ {
327
+ @R[2] = ideal(@R[2]);
328
+ }
329
+ dbprint(ppl-1,"// -2-4- final cosmetic Groebner basis");
330
+ @R[2] = slimgb(@R[2]);
331
+ @R[3] = vdim(@R[2]);
332
+ return(list(@R)); // for compliance with output a list
333
+ }
334
+ dbprint(ppl-1,"// -2-3- there are several characters");
335
+ dbprint(ppl,"// -*- computing Groebner bases of components (commutative)");
336
+ list @CharKer;
337
+ for(i=1; i<=sL; i++)
338
+ {
339
+ @L[i] = slimgb(@L[i]);
340
+ }
341
+ dbprint(ppl,"// -*- finished computing Groebner bases of components");
342
+ // 3. compute the intersections of characters
343
+ dbprint(ppl,"// -3- compute the intersections of characters");
344
+ for(i=1; i<=sL; i++)
345
+ {
346
+ @CharKer[i] = CharKernel(@L,i);
347
+ }
348
+ dbprint(ppl,"// -3- the intersections of characters is done");
349
+ // dbprint(ppl-1,@CharKer);
350
+ // 4. Go back to the algebra and compute central saturations
351
+ setring @A;
352
+ map @M = @@Z,Center[1..size(Center)];
353
+ list L = @M(@CharKer);
354
+ list R,@R;
355
+ dbprint(ppl,"// -4- compute the central saturations");
356
+ dbprint(ppl-1,L);
357
+ for(i=1; i<=sL; i++)
358
+ {
359
+ @R[1] = L[i];
360
+ if (nrows(@R[1])==1)
361
+ {
362
+ @R[1] = ideal(@R[1]);
363
+ }
364
+ @R[2] = CentralSaturation(I,L[i]);
365
+ if (nrows(@R[2])==1)
366
+ {
367
+ @R[2] = ideal(@R[2]);
368
+ }
369
+ @R[2] = slimgb(@R[2]);
370
+ @R[3] = vdim(@R[2]);
371
+ R[i] = @R;
372
+ }
373
+ dbprint(ppl,"// -4- central saturations are done");
374
+ return(R);
375
+ }
376
+ example
377
+ { "EXAMPLE:"; echo = 2; printlevel=0;
378
+ option(returnSB);
379
+ def a = makeUsl2(); // U(sl_2) in characteristic 0
380
+ setring a;
381
+ ideal I = e3,f3,h3-4*h;
382
+ I = twostd(I); // two-sided ideal generated by I
383
+ vdim(I); // it is finite-dimensional
384
+ ideal Cn = 4*e*f+h^2-2*h; // the only central element
385
+ list T = CenCharDec(I,Cn);
386
+ T;
387
+ // consider another example
388
+ ideal J = e*f*h;
389
+ CenCharDec(J,Cn);
390
+ }
391
+ ///////////////////////////////////////////////////////////////////////////////
392
+ proc IntersectWithSub (ideal M, def #)
393
+ "USAGE: IntersectWithSub(M,Z), M an ideal, Z an ideal
394
+ ASSUME: Z consists of pairwise commutative elements
395
+ RETURN: ideal of two-sided generators, not a Groebner basis
396
+ PURPOSE: computes the intersection of M with the subalgebra, generated by Z
397
+ NOTE: usually Z consists of generators of the center
398
+ @* The function @code{central} from @code{central.lib} may be used to obtain the center Z, if needed.
399
+ EXAMPLE: example IntersectWithSub; shows an example
400
+ "
401
+ {
402
+ ideal Z;
403
+ if (typeof(#) == "list")
404
+ {
405
+ int cc;
406
+ list tmp = #;
407
+ for (cc=1; cc<=size(tmp); cc++)
408
+ {
409
+ Z[cc] = tmp[cc];
410
+ }
411
+ kill tmp;
412
+ }
413
+ if (typeof(#) == "ideal")
414
+ {
415
+ Z = #;
416
+ }
417
+ // returns a submodule of M, equal to M \cap Z
418
+ // assume/correctness: Z should consists of pairwise
419
+ // commutative elements
420
+ int nz = size(Z);
421
+ int i,j;
422
+ poly p;
423
+ for (i=1; i<nz; i++)
424
+ {
425
+ for (j=i+1; j<=nz; j++)
426
+ {
427
+ p = bracket(Z[i],Z[j]);
428
+ if (p!=0)
429
+ {
430
+ ERROR("generators of the subalgebra do not commute.");
431
+ // return(ideal(0));
432
+ }
433
+ }
434
+ }
435
+ // main action
436
+ def B = basering;
437
+ setring B;
438
+ list l2;
439
+ for (int zz = 1; zz<= nz; zz++)
440
+ {
441
+ l2[zz] = "z("+string(zz)+")";
442
+ }
443
+ ring @Z = create_ring(ring_list(basering)[1], l2, "Dp", "no_minpoly");
444
+ setring B;
445
+ map F = @Z,Z;
446
+ setring @Z;
447
+ ideal PreM = preimage(B,F,M); // reformulate using gb engine? todo?
448
+ PreM = slimgb(PreM);
449
+ setring B;
450
+ ideal T = F(PreM);
451
+ return(T);
452
+ }
453
+ example
454
+ {
455
+ "EXAMPLE:"; echo = 2;
456
+ ring R=(0,a),(e,f,h),Dp;
457
+ matrix @d[3][3];
458
+ @d[1,2]=-h; @d[1,3]=2e; @d[2,3]=-2f;
459
+ def r = nc_algebra(1,@d); setring r; // parametric U(sl_2)
460
+ ideal I = e,h-a;
461
+ ideal C;
462
+ C[1] = h^2-2*h+4*e*f; // the center of U(sl_2)
463
+ ideal X = IntersectWithSub(I,C);
464
+ X;
465
+ ideal G = e*f, h; // the biggest comm. subalgebra of U(sl_2)
466
+ ideal Y = IntersectWithSub(I,G);
467
+ Y;
468
+ }