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,757 @@
1
+ //////////////////////////////////////////////////////////////////////////////
2
+ version="version sresext.lib 4.4.1.0 Feb_2025 "; // $Id: e8f0c7051c2bcd098ad8bcf4406d807bb292d9e4 $
3
+ category="Noncommutative";
4
+ info="
5
+ LIBRARY: sresforext.lib Schreyer's algorithm for modules over the exterior algebra
6
+ AUTHORS: Ramesh, L., ramesh@mathematik.uni-kl.de
7
+
8
+ OVERVIEW:
9
+ Procedures for and involving computing Schreyer resolution of modules over the exterior algebra
10
+
11
+ PROCEDURES:
12
+ schreyerSyzExt(m); (refined) Schreyer syzygy of a module over the exterior algebra
13
+ sresExt(m,p); free resolution of module m over the exterior algebra using refined Schreyer alg
14
+ mresExt(m,p); minimal free resolution of module m over the exterior algebra using refined Schreyer alg
15
+ sheafCohBGGsres(M,l,h) cohomology of twists of the coherent sheaf F on P^n
16
+ associated to coker(M). The range of twists is determined by l,h.
17
+ ";
18
+
19
+ LIB "nctools.lib"; // for ncalg
20
+ LIB "matrix.lib"; // for submat
21
+ LIB "sheafcoh.lib"; // for displayCohom
22
+ //LIB "tst.lib"; tst_init(); tst_ignore("// ** loaded "); tst_ignore("// ** _ is no standard basis");
23
+
24
+ ///////////////////////////////////////////////////////////////////////////////
25
+
26
+ static proc leadmonomial_nc(def s)
27
+ {
28
+ int e;
29
+ poly m;
30
+
31
+ if(typeof(s) == "vector"){
32
+ e=leadexp(s)[nvars(basering)+1];
33
+ m=leadmonom(s)[e,1];
34
+ }
35
+ if(typeof(s) == "poly"){
36
+ m=leadmonom(s);
37
+ }
38
+ return(m);
39
+ }
40
+ example
41
+ {
42
+ "EXAMPLE:";echo=2;
43
+ ring r = 0,(x,y,z),dp;
44
+ vector v = [x2+y,0,z];
45
+ leadmonomial_nc(v);
46
+ }
47
+
48
+ static proc leadterm(def s)
49
+ {
50
+ int e;
51
+ poly m;
52
+
53
+ if(typeof(s) == "vector"){
54
+ e=leadexp(s)[nvars(basering)+1];
55
+ m=lead(s)[e,1];
56
+ }
57
+ if(typeof(s) == "poly"){
58
+ m=lead(s);
59
+ }
60
+ return(m);
61
+ }
62
+ example
63
+ {
64
+ "EXAMPLE:";echo=2;
65
+ ring r = 0,(x,y,z),dp;
66
+ vector v = [x2+y,0,z];
67
+ leadterm(v);
68
+ }
69
+
70
+ /*to compute the least common divisor of two monomials that came from the lifting of a module over the exterior algebra.
71
+ That is, each monomial may either be a square of a variable, or a monomial where the power of each variable is 0 or 1.
72
+ This function is used to compute the lead syzygy module of a module over the exterior algebra and may not be appropriate for other purposes. */
73
+ static proc lcm_(poly v, poly w)
74
+ {
75
+ string strv = string(v);
76
+ string strw = string(w);
77
+ int sizev = size(strv);
78
+ int sizew = size(strw);
79
+ int n = nvars(basering);
80
+ int i;
81
+ intvec expv, expw;
82
+ poly ans = 1;
83
+ if (strv[sizev] == "2" && strw[sizew] == "2"){
84
+ ans = 0;
85
+ return(ans); // not sure about type
86
+ }
87
+ else{
88
+ if (strv[sizev] != "2" && strw[sizew] != "2"){
89
+ expv = leadexp(v);
90
+ expw = leadexp(w);
91
+ for (i=1; i<=n; i++){
92
+ if (expv[i]==1 || expw[i]==1){
93
+ ans = ans*var(i);
94
+ }
95
+ }
96
+ return(ans);
97
+ }
98
+ else {
99
+ if (strv[sizev] == "2"){
100
+ expw = leadexp(w);
101
+ expv = leadexp(v);
102
+ for (i=1; i<=n; i++){
103
+ if (expv[i] == 2){
104
+ ans = ans*(var(i))^2;
105
+ }
106
+ else{
107
+ if (expw[i] == 1){
108
+ ans = ans*var(i);
109
+ }
110
+ }
111
+ }
112
+ }
113
+ else{
114
+ expw = leadexp(w);
115
+ expv = leadexp(v);
116
+ for (i=1; i<=n; i++){
117
+ if (expw[i] == 2){
118
+ ans = ans*(var(i))^2;
119
+ }
120
+ else{
121
+ if (expv[i] == 1){
122
+ ans = ans*var(i);
123
+ }
124
+ }
125
+ }
126
+ }
127
+ return(ans);
128
+ }
129
+ }
130
+ }
131
+
132
+ static proc schreyers_syz_(module m)
133
+ {
134
+ module lead_mod = lead_syz_(m);
135
+ module ans;
136
+ vector s;
137
+ int i;
138
+ for (i=1;i<=size(lead_mod); i++){
139
+ s = lift_tree_(lead_mod[i], m);
140
+ ans[size(ans)+1] = s;
141
+ }
142
+ return(ans);
143
+ }
144
+
145
+ static proc lead_syz_(module m)
146
+ {
147
+ int r = size(m);
148
+ int n = nvars(basering);
149
+ module M = std(freemodule(r));
150
+ vector pi, pj, t, s;
151
+ poly Li, Lj, mji;
152
+ int i, j, k, expi, expj;
153
+ module temp_mod_1, temp_mod_2;
154
+ module lead_mod; //this is what we will return
155
+
156
+ for(i=2; i<=r; i++){
157
+ pi = m[i];
158
+ for(j=1; j<i; j++){
159
+ pj = m[j];
160
+ expi = leadexp(pi)[n+1];
161
+ expj = leadexp(pj)[n+1];
162
+ if(expi == expj){
163
+ Li = leadmonomial_nc(pi);
164
+ Lj = leadmonomial_nc(pj);
165
+ mji = lcm_(Lj,Li)/leadterm(pi);
166
+ t = mji*M[i];
167
+ for (k=1;k<=size(lead_mod);k++){
168
+ temp_mod_1 = lead_mod[k];
169
+ attrib(temp_mod_1, "isSB", 1);
170
+ if (NF(t, temp_mod_1)==0){
171
+ t = 0;
172
+ break;
173
+ }
174
+ else{
175
+ temp_mod_2 = t;
176
+ attrib(temp_mod_2, "isSB", 1);
177
+ if(NF(lead_mod[k], temp_mod_2)==0){
178
+ lead_mod = delete(lead_mod, k);
179
+ k = k-1;
180
+ }
181
+ }
182
+ }
183
+ if(t != 0){
184
+ lead_mod[size(lead_mod)+1] = t;
185
+ }
186
+ }
187
+ }
188
+ }
189
+ return(lead_mod);
190
+ }
191
+
192
+ static proc lift_tree_(vector s, module M)
193
+ {
194
+ vector g = phi_(s, M);
195
+ vector T = remove_LOT_(g, M);
196
+ vector L;
197
+ vector ans = s;
198
+ int i;
199
+ poly m;
200
+ module temp_I;
201
+
202
+
203
+ while (T != 0){
204
+ L = lead(T);
205
+ for(i=1; i<=size(M); i++){
206
+ temp_I = leadmonom(M[i]);
207
+ attrib(temp_I, "isSB", 1);
208
+ if(NF(L, temp_I)==0){
209
+ m = leadmonomial_nc(L)/leadterm(M[i]);
210
+ //check sign:
211
+ if (m*leadterm(M[i]) != leadterm(L)){
212
+ m = -m;
213
+ }
214
+ if (greater_than_(s, m*gen(i), M)){
215
+ ans = ans - lift_subtree_(m*gen(i),M);
216
+ break;
217
+ }
218
+ }
219
+ }
220
+ T = T - L;
221
+ }
222
+ return(ans);
223
+ }
224
+
225
+ static proc lift_subtree_(vector s, module M)
226
+ {
227
+ vector g = phi_(s, M);
228
+ g = g - lead(g);
229
+ vector T = remove_LOT_(g, M);
230
+ vector ans = s;
231
+ poly m;
232
+ int i;
233
+ vector L;
234
+ module temp_I;
235
+
236
+ while (T != 0){
237
+ if (leadexp(T)[nvars(basering)+1] > 15){
238
+ }
239
+ L = lead(T);
240
+ for(i=1; i<=size(M); i++){
241
+ temp_I = leadmonom(M[i]);
242
+ attrib(temp_I, "isSB", 1);
243
+ if(NF(L, temp_I)==0){
244
+ m = leadmonomial_nc(L)/leadmonomial_nc(M[i]); //TODO check sign!
245
+
246
+ //check sign:
247
+ if (m*leadterm(M[i]) != leadterm(L)){
248
+ m = -m;
249
+ }
250
+ ans = ans - lift_subtree_(m*gen(i),M);
251
+ break;
252
+ }
253
+ }
254
+ T = T - L;
255
+ }
256
+ return(ans);
257
+ }
258
+
259
+ static proc phi_(vector s, module m)
260
+ {
261
+ int n = nvars(basering);
262
+ int i = leadexp(s)[n+1];
263
+ //s is a term
264
+ poly t = leadterm(s);
265
+ return(t*m[i]);
266
+ }
267
+
268
+ static proc remove_LOT_(vector g, module m)
269
+ {
270
+ vector L;
271
+ int i;
272
+ vector LOT;
273
+ module temp_I;
274
+ while(g != 0){
275
+ for(i=1; i<=size(m); i++){
276
+ L = lead(g);
277
+ temp_I = leadmonom(m[i]);
278
+ attrib(temp_I, "isSB", 1);
279
+ if(NF(L, temp_I) == 0){
280
+ LOT = LOT+L;
281
+ break;
282
+ }
283
+ }
284
+ g = g - L;
285
+ }
286
+ return(LOT);
287
+ }
288
+
289
+ static proc greater_than_(vector s, vector v, module M)
290
+ {
291
+ int n = nvars(basering);
292
+ int i = leadexp(s)[n+1];
293
+ int j = leadexp(v)[n+1];
294
+ poly mi = leadterm(s);
295
+ poly mj = leadterm(v);
296
+ if (lead(mi*M[i]) > lead(mj*M[j])){
297
+ return(1);
298
+ }
299
+ else{
300
+ if(lead(mi*M[i]) == lead(mj*M[j]) && i>j){
301
+ return(1);
302
+ }
303
+ return(0);
304
+ }
305
+ }
306
+
307
+ static proc add_ideal_gens_(module m)
308
+ {
309
+ int n = nvars(basering);
310
+ int i,j;
311
+ for (i = 1; i<= n; i++){
312
+ for (j = 1; j<= rank(m); j++){
313
+ m[size(m)+1] = var(i)^2 * gen(j);
314
+ }
315
+ }
316
+ return(m);
317
+ }
318
+
319
+ static proc ext_elimination_(module m, module syz_mod)
320
+ {
321
+ //note m is NOT lifted.
322
+ int r = size(m);
323
+ int n = nvars(basering);
324
+ module ans_mod, temp_I;
325
+
326
+ matrix needed_mat = submat(matrix(syz_mod), 1..r, 1..size(syz_mod));
327
+ ans_mod = module(needed_mat);
328
+ int i,j,k;
329
+
330
+ for(i=1;i<=size(ans_mod);i++){
331
+ for(j=1;j<=nrows(matrix(ans_mod[i]));j++){
332
+ for(k=1;k<=n;k++){
333
+ temp_I = var(k)^2;
334
+ attrib(temp_I, "isSB", 1);
335
+ if ((NF(ans_mod[i][j], temp_I) == 0) && ans_mod[i][j] != 0){
336
+ ans_mod[i] = ans_mod[i] - ans_mod[i][j]*gen(j);
337
+ break;
338
+ }
339
+ }
340
+ }
341
+ if(ans_mod[i] == 0){
342
+ ans_mod = delete(ans_mod, i);
343
+ i = i-1;
344
+ }
345
+ }
346
+ return(ans_mod);
347
+ }
348
+
349
+
350
+ ///////////////////////////////////////////////////////////////////////////////
351
+
352
+ //THIS IS THE MAIN USER CALLABLE PROCEDURE.
353
+ proc schreyerSyzExt(module m)
354
+ "USAGE: schreyerSyzExt(m); m a module over the exterior algebra.
355
+ RETURN: module
356
+ PURPOSE: computes the syzygy module of a m over the exterior algebra.
357
+ THEORY:
358
+ SEE ALSO: sresExt, mresExt
359
+ EXAMPLE: example schreyerSyzExt; shows an example
360
+ "
361
+ {
362
+ int i,j;
363
+
364
+ //create ring
365
+ ring r = basering;
366
+ int N = nvars(r);
367
+ ring R = create_ring(ring_list(basering)[1], ringlist(basering)[2], "("+ordstr(basering)+")", "no_minpoly");
368
+ matrix E = UpOneMatrix(N);
369
+ E = -1*(E);
370
+ def RR = nc_algebra(E,0); setring RR;
371
+
372
+ //imap m to new ring
373
+ module M = imap(r, m);
374
+
375
+ module lift_m = add_ideal_gens_(M);
376
+ module syz_mod = schreyers_syz_(lift_m);
377
+ module ans_mod_ = ext_elimination_(M,syz_mod);
378
+
379
+ //setring original ring
380
+ setring r;
381
+
382
+ //fetch ans_mod
383
+ module ans_mod = imap(RR,ans_mod_);
384
+
385
+ return(ans_mod);
386
+ }
387
+ example
388
+ {
389
+ "EXAMPLE:";echo=2;
390
+ ring r = (0,q),(x,y,z),dp;
391
+ def e = Exterior(); setring e;
392
+ vector f1 = [x,y,0,z,0,0];
393
+ vector f2 = [0,x,y,0,z,0];
394
+ vector f3 = [0,0,0,x,y,z];
395
+ module m = f1,f2,f3;
396
+ m = std(m);
397
+ schreyerSyzExt(m);
398
+ }
399
+
400
+ ///////////////////////////////////////////////////////////////////////////////
401
+
402
+ static proc sres_ext_(module m, int p)
403
+ {
404
+ int i,j;
405
+ list res_list, lead_terms_list;
406
+ lead_terms_list[1] = m;
407
+
408
+ res_list[1] = m;
409
+ for (i = 1; i<p; i++){
410
+ res_list[i+1] = total_syz_alg(res_list[i], lead_terms_list);
411
+ lead_terms_list[i+1] = lead(res_list[i+1]);
412
+ }
413
+ resolution ans_res = res_list;
414
+ //can't return something in a different ring!!!
415
+ return(ans_res);
416
+ }
417
+
418
+ ///////////////////////////////////////////////////////////////////////////////
419
+
420
+ proc sresExt(module m, int p)
421
+ "USAGE: srexExt(m,p); m a module over the polynomial ring.
422
+ RETURN: resolution
423
+ PURPOSE: to compute the minimal free resolution of m, where m represents a module over the exterior algebra, up to pth cohomological degree.
424
+ THEORY:
425
+ SEE ALSO: mresExt, schreyerSyzExt
426
+ EXAMPLE: example sresExt; shows an example
427
+ "
428
+ {
429
+ //assume basering is the exterior algebra
430
+ ring ext_ring = basering;
431
+ int n = nvars(basering);
432
+ intmat E = UpOneMatrix(n);
433
+ E = -1*(E);
434
+ //N is the anti-commutative polynomial ring
435
+ ring R = create_ring(ring_list(basering)[1], ringlist(basering)[2], "("+ordstr(basering)+")", "no_minpoly");
436
+ def N = nc_algebra(E,0); setring N;
437
+ list L; int i;
438
+
439
+ module M = imap(ext_ring, m);
440
+ resolution res1 = sres_ext_(M,p);
441
+ for (i=1; i<=size(res1); i++){
442
+ L[i] = res1[i];
443
+ }
444
+ setring ext_ring;
445
+ list LL = imap(N, L);
446
+ resolution ans_res = LL;
447
+ return(ans_res);
448
+ }
449
+ example
450
+ {"EXAMPLE:";echo=2;
451
+ ring r = 0,(x,y,z),dp;
452
+ def e = Exterior(); setring e;
453
+ vector f1 = [x,y,0,z,0,0];
454
+ vector f2 = [0,x,y,0,z,0];
455
+ vector f3 = [0,0,0,x,y,z];
456
+ module m = f1,f2,f3;
457
+ m = std(m);
458
+ sresExt(m,4);
459
+ }
460
+
461
+ ///////////////////////////////////////////////////////////////////////////////
462
+
463
+ static proc total_syz_alg(module mod_, list L)
464
+ {
465
+ module lift_m = add_ideal_gens_(mod_);
466
+ L[size(L)] = lead(lift_m);
467
+ module syz_mod = schreyers_syz_with_order(lift_m, L);
468
+
469
+ module ans_mod = ext_elimination_(mod_,syz_mod);
470
+ L[size(L)] = lead(mod_);
471
+ //we are not sorting here!
472
+ int i,j;
473
+ for (i = 1; i<size(ans_mod); i++){
474
+ for (j = i+1; j<=size(ans_mod); j++){
475
+ if (ans_mod[i] == ans_mod[j]){
476
+ ans_mod = delete(ans_mod,j);
477
+ j--;
478
+ }
479
+ }
480
+ }
481
+ return(ans_mod);
482
+ }
483
+
484
+ ///////////////////////////////////////////////////////////////////////////////
485
+
486
+ static proc schreyers_syz_with_order(module m, list L)
487
+ {
488
+ module lead_mod = lead_syz_(m);
489
+ module ans;
490
+ vector s;
491
+ int i,j;
492
+ for (i=1;i<=size(lead_mod); i++){
493
+ s = lift_tree_with_order(lead_mod[i], m, L);
494
+ ans[size(ans)+1] = s;
495
+ }
496
+ return(ans);
497
+ }
498
+
499
+ ///////////////////////////////////////////////////////////////////////////////
500
+
501
+ static proc lift_tree_with_order(vector s, module M, list LL)
502
+ {
503
+ vector g = phi_(s, M);
504
+ vector T = remove_LOT_(g, M);
505
+ vector L;
506
+ vector ans = s;
507
+ int i;
508
+ poly m;
509
+ module temp_I;
510
+
511
+ ideal im, iF_, imif, iL;
512
+ while (T != 0){
513
+ L = lead(T);
514
+ for(i=1; i<=size(M); i++){
515
+ temp_I = leadmonom(M[i]);
516
+ attrib(temp_I, "isSB", 1);
517
+ if(NF(L, temp_I)==0){
518
+ m = leadmonomial_nc(L)/leadterm(M[i]);
519
+
520
+ //check sign:
521
+ if (m*leadterm(M[i])!= leadterm(L)){
522
+ m = -m;
523
+ }
524
+ //schreyer order algorithm should be called here
525
+ if (gr_than_for_res(s,m*gen(i),LL)){
526
+ ans = ans - lift_subtree_(m*gen(i),M);
527
+ break;
528
+ }
529
+ }
530
+ }
531
+ T = T - L;
532
+ }
533
+ return(ans);
534
+ }
535
+
536
+ ///////////////////////////////////////////////////////////////////////////////
537
+
538
+ static proc gr_than_for_res(vector s, vector v, list L)
539
+ {
540
+ if (size(L) == 1){
541
+ return(greater_than_(s,v,L[1]));
542
+ }
543
+ int n = nvars(basering);
544
+ poly m1 = leadterm(s); poly m2 = leadterm(v);
545
+ int e1 = leadexp(s)[n+1]; int e2 = leadexp(v)[n+1];
546
+ if(e1 == e2){
547
+ return(m1>m2);
548
+ }
549
+ s = m1*L[size(L)][e1]; v = m2*L[size(L)][e2];
550
+ if (s == v || s == -v){
551
+ if(e1 > e2){
552
+ return(1);
553
+ }
554
+ else{
555
+ return(0);
556
+ }
557
+ }
558
+ L = delete(L, size(L));
559
+ return(gr_than_for_res(s,v,L));
560
+ }
561
+
562
+ ///////////////////////////////////////////////////////////////////////////
563
+
564
+ proc mresExt(module m, int p)
565
+ "USAGE: mresExt(m,p); m a module over the polynomial ring.
566
+ RETURN: resolution
567
+ PURPOSE: to compute the minimal free resolution of m, where m represents a module over the exterior algebra, up to pth cohomological degree.
568
+ THEORY:
569
+ SEE ALSO: sresExt, schreyerSyzExt
570
+ EXAMPLE: example mresExt; shows an example
571
+ "
572
+ { //first compute groebner basis
573
+ m = std(m);
574
+ //first we build our required non-commutative ring.
575
+ ring r = basering;
576
+ int i;
577
+ int n = nvars(basering);
578
+ intmat E = UpOneMatrix(n);
579
+ E = -1*(E);
580
+ ring R = create_ring(ring_list(basering)[1], ringlist(basering)[2], "("+ordstr(basering)+")", "no_minpoly");
581
+ //N is the anti-commutative polynomial ring
582
+ def N = nc_algebra(E,0); setring N;
583
+
584
+ //now we fetch the given module.
585
+ module M = imap(r, m);
586
+ module temp_mod;
587
+
588
+ //create the non-minimal resolution over the non-commutative ring.
589
+ resolution res_ = sres_ext_(M,p);
590
+ int s = size(res_);
591
+
592
+ //fetch the resolution to the quotient ring over the symmetric algebra.
593
+ list ans_L;
594
+ for (i=1; i<=s; i++){
595
+ setring N;
596
+ temp_mod = res_[i];
597
+ setring r;
598
+ ans_L[i] = fetch(N, temp_mod);
599
+ }
600
+
601
+ //minimise the resolution over the quotient algebra.
602
+ resolution quo_res = ans_L;
603
+ quo_res = minres(quo_res);
604
+ return(quo_res);
605
+ }
606
+ example
607
+ {"EXAMPLE:";echo=2;
608
+ ring r = 0,(x,y,z),dp;
609
+ def E = Exterior();
610
+ vector f1 = [x,y,0,z,0,0];
611
+ vector f2 = [0,x,y,0,z,0];
612
+ vector f3 = [0,0,0,x,y,z];
613
+ module m = f1,f2,f3;
614
+ mresExt(m,4);
615
+ }
616
+
617
+ ///////////////////////////////////////////////////////////////////////////
618
+
619
+ proc sheafCohBGGsres(module M,int l,int h)
620
+ "USAGE: sheafCohBGGsres(M,l,h); M module, l,h int
621
+ ASSUME: M is graded, and it comes assigned with an admissible degree
622
+ vector as an attribute, h>=l, and the basering has n+1
623
+ variables.
624
+ RETURN: intmat, cohomology of twists of the coherent sheaf F on P^n
625
+ associated to coker(M). The range of twists is determined by l, h.
626
+ DISPLAY: The intmat is displayed in a diagram of the following form:
627
+ with displayCohom(A,l,h,nvars(r)-1);
628
+ @format
629
+ l l+1 h
630
+ ----------------------------------------------------------
631
+ n: h^n(F(l)) h^n(F(l+1)) ...... h^n(F(h))
632
+ ...............................................
633
+ 1: h^1(F(l)) h^1(F(l+1)) ...... h^1(F(h))
634
+ 0: h^0(F(l)) h^0(F(l+1)) ...... h^0(F(h))
635
+ ----------------------------------------------------------
636
+ chi: chi(F(l)) chi(F(l+1)) ...... chi(F(h))
637
+ @end format
638
+ A @code{'-'} in the diagram refers to a zero entry; a @code{'*'}
639
+ refers to a negative entry (= dimension not yet determined).
640
+ refers to a not computed dimension.
641
+ NOTE: This procedure is based on the Bernstein-Gel'fand-Gel'fand
642
+ correspondence and on Tate resolution ( see [Eisenbud, Floystad,
643
+ Schreyer: Sheaf cohomology and free resolutions over exterior
644
+ algebras, Trans AMS 355 (2003)] ).
645
+ sheafCohBGG(M,l,h) does not compute all values in the above
646
+ table. To determine all values of h^i(F(d)), d=l..h,
647
+ use sheafCohBGG(M,l-n,h+n).
648
+ SEE ALSO: sheafCoh, dimH, displayCohom
649
+ EXAMPLE: example sheafCohBGG; shows an example
650
+ "
651
+ {
652
+ int i,j,k,row,col,p;
653
+ if( typeof(attrib(M,"isHomog"))!="intvec" )
654
+ {
655
+ if (size(M)==0) { attrib(M,"isHomog",0); }
656
+ else { ERROR("No admissible degree vector assigned"); }
657
+ }
658
+ int n=nvars(basering)-1;
659
+ int ell=l+n;
660
+ def R=basering;
661
+ int reg = CM_regularity(M);
662
+ int bound=max(reg+1,h-1);
663
+ module MT=truncate(M,bound);
664
+ int m=nrows(MT);
665
+ MT=transpose(jacobM(MT));
666
+ MT=syz(MT);
667
+ matrix ML[n+1][1]=maxideal(1);
668
+ matrix S=transpose(outer(ML,unitmat(m)));
669
+ matrix SS=transpose(S*MT);
670
+ //--- to the exterior algebra
671
+ def AR = Exterior();
672
+ setring AR;
673
+ intvec saveopt=option(get);
674
+ option(redSB);
675
+ option(redTail);
676
+ module EM=imap(R,SS);
677
+ intvec w;
678
+ //--- here we are with our matrix
679
+ int bound1=max(1,bound-ell+1);
680
+ for (i=1; i<=nrows(EM); i++)
681
+ {
682
+ w[i]=-bound-1;
683
+ }
684
+ attrib(EM,"isHomog",w);
685
+ resolution temp_res = mresExt(EM,bound1+1);
686
+ list L;
687
+ for (i = 1; i <= bound1; i++){
688
+ L[i] = temp_res[i];
689
+ }
690
+ resolution RE = L;
691
+ intmat Betti = betti(RE);
692
+ k=ncols(Betti);
693
+ row=nrows(Betti);
694
+ int shift = 0;
695
+ intmat newBetti[n+1][h-l+1];
696
+ for (j=1; j<=row; j++)
697
+ {
698
+ for (i=l; i<=h; i++)
699
+ {
700
+ if (((n+2-shift-j)>0)&&((n+2-shift-j)<=(n+1))
701
+ && ((i-l+1)>0)&&((i-l+1)<=(h-l+1)))
702
+ {
703
+ if ((k+1-j-i+ell-shift>0) and (j+i-ell+shift>=1))
704
+ {
705
+ newBetti[n+2-shift-j,i-l+1]=Betti[j,k+1-j-i+ell-shift];
706
+ }
707
+ else
708
+ {
709
+ newBetti[n+2-shift-j,i-l+1]=-1;
710
+ }
711
+ }
712
+ }
713
+ }
714
+ for (j=2; j<=n+1; j++)
715
+ {
716
+ for (i=1; i<j; i++)
717
+ {
718
+ newBetti[j,i]=-1;
719
+ }
720
+ }
721
+ int d=k-h+ell-1;
722
+ for (j=1; j<=n; j++)
723
+ {
724
+ for (i=h-l+1; i>=k+j; i--)
725
+ {
726
+ newBetti[j,i]=-1;
727
+ }
728
+ }
729
+ option(set,saveopt);
730
+ setring R;
731
+ return(newBetti);
732
+ }
733
+ example
734
+ {"EXAMPLE:";
735
+ echo = 2;
736
+ // cohomology of structure sheaf on P^4:
737
+ //-------------------------------------------
738
+ ring r=0,x(1..3),dp;
739
+ module M=0;
740
+ intmat A=sheafCohBGGsres(M,-4,1);
741
+ A;
742
+ displayCohom(A,-4,1,nvars(r)-1);
743
+ }
744
+
745
+ ///////////////////////////////////////////////////////////////////////////
746
+
747
+ static proc jacobM(matrix M) //kopiert aus sheafcoh.lib
748
+ {
749
+ int n=nvars(basering);
750
+ matrix B=transpose(diff(M,var(1)));
751
+ int i;
752
+ for(i=2;i<=n;i++)
753
+ {
754
+ B=concat(B,transpose(diff(M,var(i))));
755
+ }
756
+ return(transpose(B));
757
+ }