passagemath-singular 10.6.31rc3__cp314-cp314-musllinux_1_2_x86_64.whl

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

Potentially problematic release.


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

Files changed (493) hide show
  1. PySingular.cpython-314-x86_64-linux-musl.so +0 -0
  2. passagemath_singular-10.6.31rc3.dist-info/METADATA +183 -0
  3. passagemath_singular-10.6.31rc3.dist-info/RECORD +493 -0
  4. passagemath_singular-10.6.31rc3.dist-info/WHEEL +5 -0
  5. passagemath_singular-10.6.31rc3.dist-info/top_level.txt +3 -0
  6. passagemath_singular.libs/libSingular-4-67059f19.4.1.so +0 -0
  7. passagemath_singular.libs/libcddgmp-30166d29.so.0.1.3 +0 -0
  8. passagemath_singular.libs/libfactory-4-9d37bcf4.4.1.so +0 -0
  9. passagemath_singular.libs/libflint-fd6f12fc.so.21.0.0 +0 -0
  10. passagemath_singular.libs/libgcc_s-0cd532bd.so.1 +0 -0
  11. passagemath_singular.libs/libgf2x-9e30c3e3.so.3.0.0 +0 -0
  12. passagemath_singular.libs/libgfortran-2c33b284.so.5.0.0 +0 -0
  13. passagemath_singular.libs/libgmp-0e7fc84e.so.10.5.0 +0 -0
  14. passagemath_singular.libs/libgsl-42cda06f.so.28.0.0 +0 -0
  15. passagemath_singular.libs/libmpfr-aaecbfc0.so.6.2.1 +0 -0
  16. passagemath_singular.libs/libncursesw-9c9e32c3.so.6.5 +0 -0
  17. passagemath_singular.libs/libntl-26885ca2.so.44.0.1 +0 -0
  18. passagemath_singular.libs/libomalloc-0-e9ff96db.9.6.so +0 -0
  19. passagemath_singular.libs/libopenblasp-r0-905cb27d.3.29.so +0 -0
  20. passagemath_singular.libs/libpolys-4-8bcf8e7d.4.1.so +0 -0
  21. passagemath_singular.libs/libquadmath-bb76a5fc.so.0.0.0 +0 -0
  22. passagemath_singular.libs/libreadline-06542304.so.8.2 +0 -0
  23. passagemath_singular.libs/libsingular_resources-4-73bf7623.4.1.so +0 -0
  24. passagemath_singular.libs/libstdc++-5d72f927.so.6.0.33 +0 -0
  25. sage/algebras/all__sagemath_singular.py +3 -0
  26. sage/algebras/fusion_rings/all.py +19 -0
  27. sage/algebras/fusion_rings/f_matrix.py +2448 -0
  28. sage/algebras/fusion_rings/fast_parallel_fmats_methods.cpython-314-x86_64-linux-musl.so +0 -0
  29. sage/algebras/fusion_rings/fast_parallel_fmats_methods.pxd +5 -0
  30. sage/algebras/fusion_rings/fast_parallel_fmats_methods.pyx +538 -0
  31. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.cpython-314-x86_64-linux-musl.so +0 -0
  32. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pxd +3 -0
  33. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pyx +331 -0
  34. sage/algebras/fusion_rings/fusion_double.py +899 -0
  35. sage/algebras/fusion_rings/fusion_ring.py +1580 -0
  36. sage/algebras/fusion_rings/poly_tup_engine.cpython-314-x86_64-linux-musl.so +0 -0
  37. sage/algebras/fusion_rings/poly_tup_engine.pxd +24 -0
  38. sage/algebras/fusion_rings/poly_tup_engine.pyx +579 -0
  39. sage/algebras/fusion_rings/shm_managers.cpython-314-x86_64-linux-musl.so +0 -0
  40. sage/algebras/fusion_rings/shm_managers.pxd +24 -0
  41. sage/algebras/fusion_rings/shm_managers.pyx +780 -0
  42. sage/algebras/letterplace/all.py +1 -0
  43. sage/algebras/letterplace/free_algebra_element_letterplace.cpython-314-x86_64-linux-musl.so +0 -0
  44. sage/algebras/letterplace/free_algebra_element_letterplace.pxd +18 -0
  45. sage/algebras/letterplace/free_algebra_element_letterplace.pyx +755 -0
  46. sage/algebras/letterplace/free_algebra_letterplace.cpython-314-x86_64-linux-musl.so +0 -0
  47. sage/algebras/letterplace/free_algebra_letterplace.pxd +35 -0
  48. sage/algebras/letterplace/free_algebra_letterplace.pyx +914 -0
  49. sage/algebras/letterplace/letterplace_ideal.cpython-314-x86_64-linux-musl.so +0 -0
  50. sage/algebras/letterplace/letterplace_ideal.pyx +408 -0
  51. sage/algebras/quatalg/all.py +2 -0
  52. sage/algebras/quatalg/quaternion_algebra.py +4778 -0
  53. sage/algebras/quatalg/quaternion_algebra_cython.cpython-314-x86_64-linux-musl.so +0 -0
  54. sage/algebras/quatalg/quaternion_algebra_cython.pyx +261 -0
  55. sage/algebras/quatalg/quaternion_algebra_element.cpython-314-x86_64-linux-musl.so +0 -0
  56. sage/algebras/quatalg/quaternion_algebra_element.pxd +29 -0
  57. sage/algebras/quatalg/quaternion_algebra_element.pyx +2176 -0
  58. sage/all__sagemath_singular.py +11 -0
  59. sage/ext_data/all__sagemath_singular.py +1 -0
  60. sage/ext_data/singular/function_field/core.lib +98 -0
  61. sage/interfaces/all__sagemath_singular.py +1 -0
  62. sage/interfaces/singular.py +2835 -0
  63. sage/libs/all__sagemath_singular.py +1 -0
  64. sage/libs/singular/__init__.py +1 -0
  65. sage/libs/singular/decl.pxd +1168 -0
  66. sage/libs/singular/function.cpython-314-x86_64-linux-musl.so +0 -0
  67. sage/libs/singular/function.pxd +87 -0
  68. sage/libs/singular/function.pyx +1901 -0
  69. sage/libs/singular/function_factory.py +61 -0
  70. sage/libs/singular/groebner_strategy.cpython-314-x86_64-linux-musl.so +0 -0
  71. sage/libs/singular/groebner_strategy.pxd +22 -0
  72. sage/libs/singular/groebner_strategy.pyx +582 -0
  73. sage/libs/singular/option.cpython-314-x86_64-linux-musl.so +0 -0
  74. sage/libs/singular/option.pyx +671 -0
  75. sage/libs/singular/polynomial.cpython-314-x86_64-linux-musl.so +0 -0
  76. sage/libs/singular/polynomial.pxd +39 -0
  77. sage/libs/singular/polynomial.pyx +661 -0
  78. sage/libs/singular/ring.cpython-314-x86_64-linux-musl.so +0 -0
  79. sage/libs/singular/ring.pxd +58 -0
  80. sage/libs/singular/ring.pyx +893 -0
  81. sage/libs/singular/singular.cpython-314-x86_64-linux-musl.so +0 -0
  82. sage/libs/singular/singular.pxd +72 -0
  83. sage/libs/singular/singular.pyx +1944 -0
  84. sage/libs/singular/standard_options.py +145 -0
  85. sage/matrix/all__sagemath_singular.py +1 -0
  86. sage/matrix/matrix_mpolynomial_dense.cpython-314-x86_64-linux-musl.so +0 -0
  87. sage/matrix/matrix_mpolynomial_dense.pxd +7 -0
  88. sage/matrix/matrix_mpolynomial_dense.pyx +615 -0
  89. sage/rings/all__sagemath_singular.py +1 -0
  90. sage/rings/function_field/all__sagemath_singular.py +1 -0
  91. sage/rings/function_field/derivations_polymod.py +911 -0
  92. sage/rings/function_field/element_polymod.cpython-314-x86_64-linux-musl.so +0 -0
  93. sage/rings/function_field/element_polymod.pyx +406 -0
  94. sage/rings/function_field/function_field_polymod.py +2611 -0
  95. sage/rings/function_field/ideal_polymod.py +1775 -0
  96. sage/rings/function_field/order_polymod.py +1475 -0
  97. sage/rings/function_field/place_polymod.py +681 -0
  98. sage/rings/polynomial/all__sagemath_singular.py +1 -0
  99. sage/rings/polynomial/multi_polynomial_ideal_libsingular.cpython-314-x86_64-linux-musl.so +0 -0
  100. sage/rings/polynomial/multi_polynomial_ideal_libsingular.pxd +5 -0
  101. sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx +339 -0
  102. sage/rings/polynomial/multi_polynomial_libsingular.cpython-314-x86_64-linux-musl.so +0 -0
  103. sage/rings/polynomial/multi_polynomial_libsingular.pxd +30 -0
  104. sage/rings/polynomial/multi_polynomial_libsingular.pyx +6277 -0
  105. sage/rings/polynomial/plural.cpython-314-x86_64-linux-musl.so +0 -0
  106. sage/rings/polynomial/plural.pxd +48 -0
  107. sage/rings/polynomial/plural.pyx +3171 -0
  108. sage/symbolic/all__sagemath_singular.py +1 -0
  109. sage/symbolic/comparison_impl.pxi +428 -0
  110. sage/symbolic/constants_c_impl.pxi +178 -0
  111. sage/symbolic/expression.cpython-314-x86_64-linux-musl.so +0 -0
  112. sage/symbolic/expression.pxd +7 -0
  113. sage/symbolic/expression.pyx +14200 -0
  114. sage/symbolic/getitem_impl.pxi +202 -0
  115. sage/symbolic/pynac.pxi +572 -0
  116. sage/symbolic/pynac_constant_impl.pxi +133 -0
  117. sage/symbolic/pynac_function_impl.pxi +206 -0
  118. sage/symbolic/pynac_impl.pxi +2576 -0
  119. sage/symbolic/pynac_wrap.h +124 -0
  120. sage/symbolic/series_impl.pxi +272 -0
  121. sage/symbolic/substitution_map_impl.pxi +94 -0
  122. sage_wheels/bin/ESingular +0 -0
  123. sage_wheels/bin/Singular +0 -0
  124. sage_wheels/bin/TSingular +0 -0
  125. sage_wheels/lib/singular/MOD/cohomo.la +41 -0
  126. sage_wheels/lib/singular/MOD/cohomo.so +0 -0
  127. sage_wheels/lib/singular/MOD/customstd.la +41 -0
  128. sage_wheels/lib/singular/MOD/customstd.so +0 -0
  129. sage_wheels/lib/singular/MOD/freealgebra.la +41 -0
  130. sage_wheels/lib/singular/MOD/freealgebra.so +0 -0
  131. sage_wheels/lib/singular/MOD/gfanlib.la +41 -0
  132. sage_wheels/lib/singular/MOD/gfanlib.so +0 -0
  133. sage_wheels/lib/singular/MOD/gitfan.la +41 -0
  134. sage_wheels/lib/singular/MOD/gitfan.so +0 -0
  135. sage_wheels/lib/singular/MOD/interval.la +41 -0
  136. sage_wheels/lib/singular/MOD/interval.so +0 -0
  137. sage_wheels/lib/singular/MOD/loctriv.la +41 -0
  138. sage_wheels/lib/singular/MOD/loctriv.so +0 -0
  139. sage_wheels/lib/singular/MOD/machinelearning.la +41 -0
  140. sage_wheels/lib/singular/MOD/machinelearning.so +0 -0
  141. sage_wheels/lib/singular/MOD/p_Procs_FieldGeneral.la +41 -0
  142. sage_wheels/lib/singular/MOD/p_Procs_FieldGeneral.so +0 -0
  143. sage_wheels/lib/singular/MOD/p_Procs_FieldIndep.la +41 -0
  144. sage_wheels/lib/singular/MOD/p_Procs_FieldIndep.so +0 -0
  145. sage_wheels/lib/singular/MOD/p_Procs_FieldQ.la +41 -0
  146. sage_wheels/lib/singular/MOD/p_Procs_FieldQ.so +0 -0
  147. sage_wheels/lib/singular/MOD/p_Procs_FieldZp.la +41 -0
  148. sage_wheels/lib/singular/MOD/p_Procs_FieldZp.so +0 -0
  149. sage_wheels/lib/singular/MOD/partialgb.la +41 -0
  150. sage_wheels/lib/singular/MOD/partialgb.so +0 -0
  151. sage_wheels/lib/singular/MOD/pyobject.la +41 -0
  152. sage_wheels/lib/singular/MOD/pyobject.so +0 -0
  153. sage_wheels/lib/singular/MOD/singmathic.la +41 -0
  154. sage_wheels/lib/singular/MOD/singmathic.so +0 -0
  155. sage_wheels/lib/singular/MOD/sispasm.la +41 -0
  156. sage_wheels/lib/singular/MOD/sispasm.so +0 -0
  157. sage_wheels/lib/singular/MOD/subsets.la +41 -0
  158. sage_wheels/lib/singular/MOD/subsets.so +0 -0
  159. sage_wheels/lib/singular/MOD/systhreads.la +41 -0
  160. sage_wheels/lib/singular/MOD/systhreads.so +0 -0
  161. sage_wheels/lib/singular/MOD/syzextra.la +41 -0
  162. sage_wheels/lib/singular/MOD/syzextra.so +0 -0
  163. sage_wheels/libexec/singular/MOD/change_cost +0 -0
  164. sage_wheels/libexec/singular/MOD/singularsurf +11 -0
  165. sage_wheels/libexec/singular/MOD/singularsurf_jupyter +9 -0
  166. sage_wheels/libexec/singular/MOD/singularsurf_win +10 -0
  167. sage_wheels/libexec/singular/MOD/solve_IP +0 -0
  168. sage_wheels/libexec/singular/MOD/surfex +16 -0
  169. sage_wheels/libexec/singular/MOD/toric_ideal +0 -0
  170. sage_wheels/share/factory/gftables/10201 +342 -0
  171. sage_wheels/share/factory/gftables/1024 +37 -0
  172. sage_wheels/share/factory/gftables/10609 +356 -0
  173. sage_wheels/share/factory/gftables/11449 +384 -0
  174. sage_wheels/share/factory/gftables/11881 +398 -0
  175. sage_wheels/share/factory/gftables/121 +6 -0
  176. sage_wheels/share/factory/gftables/12167 +408 -0
  177. sage_wheels/share/factory/gftables/125 +7 -0
  178. sage_wheels/share/factory/gftables/12769 +428 -0
  179. sage_wheels/share/factory/gftables/128 +7 -0
  180. sage_wheels/share/factory/gftables/1331 +47 -0
  181. sage_wheels/share/factory/gftables/1369 +48 -0
  182. sage_wheels/share/factory/gftables/14641 +490 -0
  183. sage_wheels/share/factory/gftables/15625 +523 -0
  184. sage_wheels/share/factory/gftables/16 +3 -0
  185. sage_wheels/share/factory/gftables/16129 +540 -0
  186. sage_wheels/share/factory/gftables/16384 +549 -0
  187. sage_wheels/share/factory/gftables/16807 +563 -0
  188. sage_wheels/share/factory/gftables/1681 +58 -0
  189. sage_wheels/share/factory/gftables/169 +8 -0
  190. sage_wheels/share/factory/gftables/17161 +574 -0
  191. sage_wheels/share/factory/gftables/1849 +64 -0
  192. sage_wheels/share/factory/gftables/18769 +628 -0
  193. sage_wheels/share/factory/gftables/19321 +646 -0
  194. sage_wheels/share/factory/gftables/19683 +659 -0
  195. sage_wheels/share/factory/gftables/2048 +71 -0
  196. sage_wheels/share/factory/gftables/2187 +75 -0
  197. sage_wheels/share/factory/gftables/2197 +76 -0
  198. sage_wheels/share/factory/gftables/2209 +76 -0
  199. sage_wheels/share/factory/gftables/22201 +742 -0
  200. sage_wheels/share/factory/gftables/22801 +762 -0
  201. sage_wheels/share/factory/gftables/2401 +82 -0
  202. sage_wheels/share/factory/gftables/243 +11 -0
  203. sage_wheels/share/factory/gftables/24389 +815 -0
  204. sage_wheels/share/factory/gftables/24649 +824 -0
  205. sage_wheels/share/factory/gftables/25 +3 -0
  206. sage_wheels/share/factory/gftables/256 +11 -0
  207. sage_wheels/share/factory/gftables/26569 +888 -0
  208. sage_wheels/share/factory/gftables/27 +3 -0
  209. sage_wheels/share/factory/gftables/27889 +932 -0
  210. sage_wheels/share/factory/gftables/2809 +96 -0
  211. sage_wheels/share/factory/gftables/28561 +954 -0
  212. sage_wheels/share/factory/gftables/289 +12 -0
  213. sage_wheels/share/factory/gftables/29791 +995 -0
  214. sage_wheels/share/factory/gftables/29929 +1000 -0
  215. sage_wheels/share/factory/gftables/3125 +107 -0
  216. sage_wheels/share/factory/gftables/32 +4 -0
  217. sage_wheels/share/factory/gftables/32041 +1070 -0
  218. sage_wheels/share/factory/gftables/32761 +1094 -0
  219. sage_wheels/share/factory/gftables/32768 +1095 -0
  220. sage_wheels/share/factory/gftables/343 +14 -0
  221. sage_wheels/share/factory/gftables/3481 +118 -0
  222. sage_wheels/share/factory/gftables/361 +14 -0
  223. sage_wheels/share/factory/gftables/36481 +1218 -0
  224. sage_wheels/share/factory/gftables/3721 +126 -0
  225. sage_wheels/share/factory/gftables/37249 +1244 -0
  226. sage_wheels/share/factory/gftables/38809 +1296 -0
  227. sage_wheels/share/factory/gftables/39601 +1322 -0
  228. sage_wheels/share/factory/gftables/4 +3 -0
  229. sage_wheels/share/factory/gftables/4096 +139 -0
  230. sage_wheels/share/factory/gftables/44521 +1486 -0
  231. sage_wheels/share/factory/gftables/4489 +152 -0
  232. sage_wheels/share/factory/gftables/49 +4 -0
  233. sage_wheels/share/factory/gftables/4913 +166 -0
  234. sage_wheels/share/factory/gftables/49729 +1660 -0
  235. sage_wheels/share/factory/gftables/5041 +170 -0
  236. sage_wheels/share/factory/gftables/50653 +1691 -0
  237. sage_wheels/share/factory/gftables/512 +20 -0
  238. sage_wheels/share/factory/gftables/51529 +1720 -0
  239. sage_wheels/share/factory/gftables/52441 +1750 -0
  240. sage_wheels/share/factory/gftables/529 +20 -0
  241. sage_wheels/share/factory/gftables/5329 +180 -0
  242. sage_wheels/share/factory/gftables/54289 +1812 -0
  243. sage_wheels/share/factory/gftables/57121 +1906 -0
  244. sage_wheels/share/factory/gftables/58081 +1938 -0
  245. sage_wheels/share/factory/gftables/59049 +1971 -0
  246. sage_wheels/share/factory/gftables/6241 +210 -0
  247. sage_wheels/share/factory/gftables/625 +23 -0
  248. sage_wheels/share/factory/gftables/63001 +2102 -0
  249. sage_wheels/share/factory/gftables/64 +5 -0
  250. sage_wheels/share/factory/gftables/6561 +221 -0
  251. sage_wheels/share/factory/gftables/6859 +231 -0
  252. sage_wheels/share/factory/gftables/6889 +232 -0
  253. sage_wheels/share/factory/gftables/729 +27 -0
  254. sage_wheels/share/factory/gftables/7921 +266 -0
  255. sage_wheels/share/factory/gftables/8 +3 -0
  256. sage_wheels/share/factory/gftables/81 +5 -0
  257. sage_wheels/share/factory/gftables/8192 +276 -0
  258. sage_wheels/share/factory/gftables/841 +30 -0
  259. sage_wheels/share/factory/gftables/9 +3 -0
  260. sage_wheels/share/factory/gftables/9409 +316 -0
  261. sage_wheels/share/factory/gftables/961 +34 -0
  262. sage_wheels/share/info/singular.info +191898 -0
  263. sage_wheels/share/singular/LIB/GND.lib +1359 -0
  264. sage_wheels/share/singular/LIB/JMBTest.lib +976 -0
  265. sage_wheels/share/singular/LIB/JMSConst.lib +1363 -0
  266. sage_wheels/share/singular/LIB/KVequiv.lib +699 -0
  267. sage_wheels/share/singular/LIB/SingularityDBM.lib +491 -0
  268. sage_wheels/share/singular/LIB/VecField.lib +1542 -0
  269. sage_wheels/share/singular/LIB/absfact.lib +959 -0
  270. sage_wheels/share/singular/LIB/ainvar.lib +730 -0
  271. sage_wheels/share/singular/LIB/aksaka.lib +419 -0
  272. sage_wheels/share/singular/LIB/alexpoly.lib +2542 -0
  273. sage_wheels/share/singular/LIB/algebra.lib +1193 -0
  274. sage_wheels/share/singular/LIB/all.lib +136 -0
  275. sage_wheels/share/singular/LIB/arcpoint.lib +514 -0
  276. sage_wheels/share/singular/LIB/arnold.lib +4553 -0
  277. sage_wheels/share/singular/LIB/arnoldclassify.lib +2058 -0
  278. sage_wheels/share/singular/LIB/arr.lib +3486 -0
  279. sage_wheels/share/singular/LIB/assprimeszerodim.lib +755 -0
  280. sage_wheels/share/singular/LIB/autgradalg.lib +3361 -0
  281. sage_wheels/share/singular/LIB/bfun.lib +1964 -0
  282. sage_wheels/share/singular/LIB/bimodules.lib +774 -0
  283. sage_wheels/share/singular/LIB/brillnoether.lib +226 -0
  284. sage_wheels/share/singular/LIB/brnoeth.lib +5017 -0
  285. sage_wheels/share/singular/LIB/central.lib +2169 -0
  286. sage_wheels/share/singular/LIB/chern.lib +4162 -0
  287. sage_wheels/share/singular/LIB/cimonom.lib +571 -0
  288. sage_wheels/share/singular/LIB/cisimplicial.lib +1835 -0
  289. sage_wheels/share/singular/LIB/classify.lib +3239 -0
  290. sage_wheels/share/singular/LIB/classify2.lib +1462 -0
  291. sage_wheels/share/singular/LIB/classifyMapGerms.lib +1515 -0
  292. sage_wheels/share/singular/LIB/classify_aeq.lib +3253 -0
  293. sage_wheels/share/singular/LIB/classifyceq.lib +2092 -0
  294. sage_wheels/share/singular/LIB/classifyci.lib +1133 -0
  295. sage_wheels/share/singular/LIB/combinat.lib +91 -0
  296. sage_wheels/share/singular/LIB/compregb.lib +276 -0
  297. sage_wheels/share/singular/LIB/control.lib +1636 -0
  298. sage_wheels/share/singular/LIB/crypto.lib +3795 -0
  299. sage_wheels/share/singular/LIB/curveInv.lib +667 -0
  300. sage_wheels/share/singular/LIB/curvepar.lib +1817 -0
  301. sage_wheels/share/singular/LIB/customstd.lib +100 -0
  302. sage_wheels/share/singular/LIB/deRham.lib +5979 -0
  303. sage_wheels/share/singular/LIB/decodegb.lib +2134 -0
  304. sage_wheels/share/singular/LIB/decomp.lib +1655 -0
  305. sage_wheels/share/singular/LIB/deflation.lib +872 -0
  306. sage_wheels/share/singular/LIB/deform.lib +925 -0
  307. sage_wheels/share/singular/LIB/difform.lib +3055 -0
  308. sage_wheels/share/singular/LIB/divisors.lib +750 -0
  309. sage_wheels/share/singular/LIB/dmod.lib +5817 -0
  310. sage_wheels/share/singular/LIB/dmodapp.lib +3269 -0
  311. sage_wheels/share/singular/LIB/dmodideal.lib +1211 -0
  312. sage_wheels/share/singular/LIB/dmodloc.lib +2645 -0
  313. sage_wheels/share/singular/LIB/dmodvar.lib +818 -0
  314. sage_wheels/share/singular/LIB/dummy.lib +17 -0
  315. sage_wheels/share/singular/LIB/elim.lib +1009 -0
  316. sage_wheels/share/singular/LIB/ellipticcovers.lib +548 -0
  317. sage_wheels/share/singular/LIB/enumpoints.lib +146 -0
  318. sage_wheels/share/singular/LIB/equising.lib +2127 -0
  319. sage_wheels/share/singular/LIB/ffmodstd.lib +2384 -0
  320. sage_wheels/share/singular/LIB/ffsolve.lib +1289 -0
  321. sage_wheels/share/singular/LIB/findifs.lib +778 -0
  322. sage_wheels/share/singular/LIB/finitediff.lib +1768 -0
  323. sage_wheels/share/singular/LIB/finvar.lib +7989 -0
  324. sage_wheels/share/singular/LIB/fpadim.lib +2429 -0
  325. sage_wheels/share/singular/LIB/fpalgebras.lib +1666 -0
  326. sage_wheels/share/singular/LIB/fpaprops.lib +1462 -0
  327. sage_wheels/share/singular/LIB/freegb.lib +3853 -0
  328. sage_wheels/share/singular/LIB/general.lib +1350 -0
  329. sage_wheels/share/singular/LIB/gfan.lib +1768 -0
  330. sage_wheels/share/singular/LIB/gitfan.lib +3130 -0
  331. sage_wheels/share/singular/LIB/gkdim.lib +99 -0
  332. sage_wheels/share/singular/LIB/gmspoly.lib +589 -0
  333. sage_wheels/share/singular/LIB/gmssing.lib +1739 -0
  334. sage_wheels/share/singular/LIB/goettsche.lib +909 -0
  335. sage_wheels/share/singular/LIB/graal.lib +1366 -0
  336. sage_wheels/share/singular/LIB/gradedModules.lib +2541 -0
  337. sage_wheels/share/singular/LIB/graphics.lib +360 -0
  338. sage_wheels/share/singular/LIB/grobcov.lib +7706 -0
  339. sage_wheels/share/singular/LIB/groups.lib +1123 -0
  340. sage_wheels/share/singular/LIB/grwalk.lib +507 -0
  341. sage_wheels/share/singular/LIB/hdepth.lib +194 -0
  342. sage_wheels/share/singular/LIB/help.cnf +57 -0
  343. sage_wheels/share/singular/LIB/hess.lib +1946 -0
  344. sage_wheels/share/singular/LIB/hnoether.lib +4292 -0
  345. sage_wheels/share/singular/LIB/hodge.lib +400 -0
  346. sage_wheels/share/singular/LIB/homolog.lib +1965 -0
  347. sage_wheels/share/singular/LIB/hyperel.lib +975 -0
  348. sage_wheels/share/singular/LIB/inout.lib +679 -0
  349. sage_wheels/share/singular/LIB/integralbasis.lib +6224 -0
  350. sage_wheels/share/singular/LIB/interval.lib +1418 -0
  351. sage_wheels/share/singular/LIB/intprog.lib +778 -0
  352. sage_wheels/share/singular/LIB/invar.lib +443 -0
  353. sage_wheels/share/singular/LIB/involut.lib +980 -0
  354. sage_wheels/share/singular/LIB/jacobson.lib +1215 -0
  355. sage_wheels/share/singular/LIB/kskernel.lib +534 -0
  356. sage_wheels/share/singular/LIB/latex.lib +3146 -0
  357. sage_wheels/share/singular/LIB/lejeune.lib +651 -0
  358. sage_wheels/share/singular/LIB/linalg.lib +2040 -0
  359. sage_wheels/share/singular/LIB/locnormal.lib +212 -0
  360. sage_wheels/share/singular/LIB/lrcalc.lib +526 -0
  361. sage_wheels/share/singular/LIB/makedbm.lib +294 -0
  362. sage_wheels/share/singular/LIB/mathml.lib +813 -0
  363. sage_wheels/share/singular/LIB/matrix.lib +1372 -0
  364. sage_wheels/share/singular/LIB/maxlike.lib +1132 -0
  365. sage_wheels/share/singular/LIB/methods.lib +212 -0
  366. sage_wheels/share/singular/LIB/moddiq.lib +322 -0
  367. sage_wheels/share/singular/LIB/modfinduni.lib +181 -0
  368. sage_wheels/share/singular/LIB/modnormal.lib +218 -0
  369. sage_wheels/share/singular/LIB/modprimdec.lib +1278 -0
  370. sage_wheels/share/singular/LIB/modquotient.lib +269 -0
  371. sage_wheels/share/singular/LIB/modstd.lib +1024 -0
  372. sage_wheels/share/singular/LIB/modular.lib +545 -0
  373. sage_wheels/share/singular/LIB/modules.lib +2561 -0
  374. sage_wheels/share/singular/LIB/modwalk.lib +609 -0
  375. sage_wheels/share/singular/LIB/mondromy.lib +1016 -0
  376. sage_wheels/share/singular/LIB/monomialideal.lib +3851 -0
  377. sage_wheels/share/singular/LIB/mprimdec.lib +2353 -0
  378. sage_wheels/share/singular/LIB/mregular.lib +1863 -0
  379. sage_wheels/share/singular/LIB/multigrading.lib +5629 -0
  380. sage_wheels/share/singular/LIB/ncHilb.lib +777 -0
  381. sage_wheels/share/singular/LIB/ncModslimgb.lib +791 -0
  382. sage_wheels/share/singular/LIB/ncalg.lib +16311 -0
  383. sage_wheels/share/singular/LIB/ncall.lib +31 -0
  384. sage_wheels/share/singular/LIB/ncdecomp.lib +468 -0
  385. sage_wheels/share/singular/LIB/ncfactor.lib +13371 -0
  386. sage_wheels/share/singular/LIB/ncfrac.lib +1023 -0
  387. sage_wheels/share/singular/LIB/nchilbert.lib +448 -0
  388. sage_wheels/share/singular/LIB/nchomolog.lib +759 -0
  389. sage_wheels/share/singular/LIB/ncloc.lib +361 -0
  390. sage_wheels/share/singular/LIB/ncpreim.lib +795 -0
  391. sage_wheels/share/singular/LIB/ncrat.lib +2849 -0
  392. sage_wheels/share/singular/LIB/nctools.lib +1887 -0
  393. sage_wheels/share/singular/LIB/nets.lib +1456 -0
  394. sage_wheels/share/singular/LIB/nfmodstd.lib +1000 -0
  395. sage_wheels/share/singular/LIB/nfmodsyz.lib +732 -0
  396. sage_wheels/share/singular/LIB/noether.lib +1106 -0
  397. sage_wheels/share/singular/LIB/normal.lib +8700 -0
  398. sage_wheels/share/singular/LIB/normaliz.lib +2226 -0
  399. sage_wheels/share/singular/LIB/ntsolve.lib +362 -0
  400. sage_wheels/share/singular/LIB/numerAlg.lib +560 -0
  401. sage_wheels/share/singular/LIB/numerDecom.lib +2261 -0
  402. sage_wheels/share/singular/LIB/olga.lib +1933 -0
  403. sage_wheels/share/singular/LIB/orbitparam.lib +351 -0
  404. sage_wheels/share/singular/LIB/parallel.lib +319 -0
  405. sage_wheels/share/singular/LIB/paraplanecurves.lib +3110 -0
  406. sage_wheels/share/singular/LIB/perron.lib +202 -0
  407. sage_wheels/share/singular/LIB/pfd.lib +2223 -0
  408. sage_wheels/share/singular/LIB/phindex.lib +642 -0
  409. sage_wheels/share/singular/LIB/pointid.lib +673 -0
  410. sage_wheels/share/singular/LIB/polybori.lib +1430 -0
  411. sage_wheels/share/singular/LIB/polyclass.lib +525 -0
  412. sage_wheels/share/singular/LIB/polylib.lib +1174 -0
  413. sage_wheels/share/singular/LIB/polymake.lib +1902 -0
  414. sage_wheels/share/singular/LIB/presolve.lib +1533 -0
  415. sage_wheels/share/singular/LIB/primdec.lib +9576 -0
  416. sage_wheels/share/singular/LIB/primdecint.lib +1782 -0
  417. sage_wheels/share/singular/LIB/primitiv.lib +401 -0
  418. sage_wheels/share/singular/LIB/puiseuxexpansions.lib +1631 -0
  419. sage_wheels/share/singular/LIB/purityfiltration.lib +960 -0
  420. sage_wheels/share/singular/LIB/qhmoduli.lib +1561 -0
  421. sage_wheels/share/singular/LIB/qmatrix.lib +293 -0
  422. sage_wheels/share/singular/LIB/random.lib +455 -0
  423. sage_wheels/share/singular/LIB/ratgb.lib +489 -0
  424. sage_wheels/share/singular/LIB/realclassify.lib +5759 -0
  425. sage_wheels/share/singular/LIB/realizationMatroids.lib +772 -0
  426. sage_wheels/share/singular/LIB/realrad.lib +1197 -0
  427. sage_wheels/share/singular/LIB/recover.lib +2628 -0
  428. sage_wheels/share/singular/LIB/redcgs.lib +3984 -0
  429. sage_wheels/share/singular/LIB/reesclos.lib +465 -0
  430. sage_wheels/share/singular/LIB/resbinomial.lib +2802 -0
  431. sage_wheels/share/singular/LIB/resgraph.lib +789 -0
  432. sage_wheels/share/singular/LIB/resjung.lib +820 -0
  433. sage_wheels/share/singular/LIB/resolve.lib +5110 -0
  434. sage_wheels/share/singular/LIB/resources.lib +170 -0
  435. sage_wheels/share/singular/LIB/reszeta.lib +5473 -0
  436. sage_wheels/share/singular/LIB/ring.lib +1328 -0
  437. sage_wheels/share/singular/LIB/ringgb.lib +343 -0
  438. sage_wheels/share/singular/LIB/rinvar.lib +1153 -0
  439. sage_wheels/share/singular/LIB/rootisolation.lib +1481 -0
  440. sage_wheels/share/singular/LIB/rootsmr.lib +709 -0
  441. sage_wheels/share/singular/LIB/rootsur.lib +886 -0
  442. sage_wheels/share/singular/LIB/rstandard.lib +607 -0
  443. sage_wheels/share/singular/LIB/rwalk.lib +336 -0
  444. sage_wheels/share/singular/LIB/sagbi.lib +1353 -0
  445. sage_wheels/share/singular/LIB/sagbiNormaliz.lib +1622 -0
  446. sage_wheels/share/singular/LIB/sagbiNormaliz0.lib +1498 -0
  447. sage_wheels/share/singular/LIB/sagbigrob.lib +449 -0
  448. sage_wheels/share/singular/LIB/schreyer.lib +321 -0
  449. sage_wheels/share/singular/LIB/schubert.lib +2551 -0
  450. sage_wheels/share/singular/LIB/sets.lib +524 -0
  451. sage_wheels/share/singular/LIB/sheafcoh.lib +1663 -0
  452. sage_wheels/share/singular/LIB/signcond.lib +437 -0
  453. sage_wheels/share/singular/LIB/sing.lib +1094 -0
  454. sage_wheels/share/singular/LIB/sing4ti2.lib +419 -0
  455. sage_wheels/share/singular/LIB/solve.lib +2243 -0
  456. sage_wheels/share/singular/LIB/spcurve.lib +1077 -0
  457. sage_wheels/share/singular/LIB/spectrum.lib +62 -0
  458. sage_wheels/share/singular/LIB/sresext.lib +757 -0
  459. sage_wheels/share/singular/LIB/ssi.lib +143 -0
  460. sage_wheels/share/singular/LIB/standard.lib +2769 -0
  461. sage_wheels/share/singular/LIB/stanleyreisner.lib +473 -0
  462. sage_wheels/share/singular/LIB/stdmodule.lib +547 -0
  463. sage_wheels/share/singular/LIB/stratify.lib +1070 -0
  464. sage_wheels/share/singular/LIB/surf.lib +506 -0
  465. sage_wheels/share/singular/LIB/surf_jupyter.lib +223 -0
  466. sage_wheels/share/singular/LIB/surfacesignature.lib +522 -0
  467. sage_wheels/share/singular/LIB/surfex.lib +1462 -0
  468. sage_wheels/share/singular/LIB/swalk.lib +877 -0
  469. sage_wheels/share/singular/LIB/symodstd.lib +1570 -0
  470. sage_wheels/share/singular/LIB/systhreads.lib +74 -0
  471. sage_wheels/share/singular/LIB/tasks.lib +1324 -0
  472. sage_wheels/share/singular/LIB/tateProdCplxNegGrad.lib +2412 -0
  473. sage_wheels/share/singular/LIB/teachstd.lib +858 -0
  474. sage_wheels/share/singular/LIB/template.lib +116 -0
  475. sage_wheels/share/singular/LIB/toric.lib +1119 -0
  476. sage_wheels/share/singular/LIB/transformation.lib +116 -0
  477. sage_wheels/share/singular/LIB/triang.lib +1197 -0
  478. sage_wheels/share/singular/LIB/tropical.lib +8741 -0
  479. sage_wheels/share/singular/LIB/tropicalEllipticCovers.lib +2922 -0
  480. sage_wheels/share/singular/LIB/tropicalNewton.lib +1128 -0
  481. sage_wheels/share/singular/LIB/tst.lib +1108 -0
  482. sage_wheels/share/singular/LIB/weierstr.lib +241 -0
  483. sage_wheels/share/singular/LIB/zeroset.lib +1478 -0
  484. sage_wheels/share/singular/emacs/.emacs-general +184 -0
  485. sage_wheels/share/singular/emacs/.emacs-singular +234 -0
  486. sage_wheels/share/singular/emacs/COPYING +44 -0
  487. sage_wheels/share/singular/emacs/cmd-cmpl.el +241 -0
  488. sage_wheels/share/singular/emacs/ex-cmpl.el +1681 -0
  489. sage_wheels/share/singular/emacs/hlp-cmpl.el +4318 -0
  490. sage_wheels/share/singular/emacs/lib-cmpl.el +179 -0
  491. sage_wheels/share/singular/emacs/singular.el +4273 -0
  492. sage_wheels/share/singular/emacs/singular.xpm +39 -0
  493. sage_wheels/share/singular/singular.idx +5002 -0
@@ -0,0 +1,443 @@
1
+ // Harm Derksen, hderksen@math.unibas.ch
2
+ ////////////////////////////////////////////////////////////////////////////////
3
+ version="version invar.lib 4.4.0.6 Oct_2024 "; // $Id: 92e22dcc105a361d23016bd0801ccb4f91413de5 $
4
+ category="Invariant theory";
5
+ info="
6
+ LIBRARY: invar.lib Procedures to compute invariant rings of SL(n) and torus groups
7
+ AUTHOR: Harm Derksen, hderksen@math.unibas.ch
8
+
9
+ PROCEDURES:
10
+ SL(n) sets the current group to SL_n
11
+ torus(n) sets the current group to an n-dimensional torus
12
+ torusrep(list m) representation of a torus given by the weights m[1],m[2],...
13
+ finiterep(<list>) representation of a by a list of matrices
14
+ sympower(m,d) computes the d-th symmetric power of a representation m
15
+ invar(m) computes the invariant ring of the representation m.
16
+ SLreynolds(f) applies the Reynolds operator to f
17
+ torusreynolds(f) applies the Reynolds operator to f if the group is a torus or a finite group.
18
+ ";
19
+ LIB "matrix.lib";
20
+ LIB "finvar.lib"; // for cyclotomic
21
+
22
+ ////////////////////////////////////////////////////////////////////////////////
23
+ // SL(n) sets the current group to SL_n.
24
+ ////////////////////////////////////////////////////////////////////////////////
25
+ proc SL(int n)
26
+ "USAGE: SL(<int>)
27
+ RETURNS: SL(n) sets the current group to SL_n. The following global variables
28
+ will be set:
29
+ group of type <ring>
30
+ groupideal of type <ideal>
31
+ SLrep of type <matrix>
32
+ reynolds of type <proc>
33
+ The quotient of of `group` and `groupideal` is the coordinate
34
+ ring of SL_n. The matrix `SLrep` will be set to the standard
35
+ representation of SL_n. The basering will be set to 'group'.
36
+ EXAMPLE: example SL; shows an example"
37
+ { ring group=0,(g(1..n^2)),dp;
38
+ export group;
39
+ matrix SLrep[n][n]; // SLrep is a generic n x n
40
+ int i; // matrix
41
+ int j;
42
+ for(i=1;i<=n;i=i+1)
43
+ {
44
+ for(j=1;j<=n;j=j+1)
45
+ {SLrep[i,j]=g(j+n*(i-1));}
46
+ }
47
+ ideal groupideal=det(SLrep)-1; // SL(n) are those matrices m
48
+ groupideal=std(groupideal); // with determinant equal to 1.
49
+ export groupideal;
50
+ export SLrep;
51
+ proc reynolds(poly f){return(SLreynolds(f));};
52
+ export reynolds;
53
+ }
54
+ example
55
+ {"EXAMPLE:"; echo=2;
56
+ SL(3);
57
+ Invar::group;
58
+ groupideal;
59
+ print(SLrep);
60
+ }
61
+
62
+ ////////////////////////////////////////////////////////////////////////////////
63
+ // prod(<list>) just gives the product of all entries of <list>.
64
+ ////////////////////////////////////////////////////////////////////////////////
65
+ static proc prod(list #)
66
+ "USAGE: prod(<list>)
67
+ RETURN: the product of all entries of <list>"
68
+ { if (size(#)==1) {return(#[1]);};
69
+ return(#[1]*prod(#[2..size(#)]));
70
+ }
71
+
72
+ ////////////////////////////////////////////////////////////////////////////////
73
+ // monsum(n,d) is the sum of all monomials in x(1),x(2),...,x(n) of degree d
74
+ ////////////////////////////////////////////////////////////////////////////////
75
+ static proc monsum(int n,int d)
76
+ "USAGE: monsum(n,d)
77
+ RETURNS: the sum of all monomials in x(1),x(2),...,x(n) of degree d"
78
+ { if (n==1) {return(x(1)^d);};
79
+ poly output=0;
80
+ for(int i=0;i<=d;i=i+1)
81
+ {output=output+x(n)^i*monsum(n-1,d-i);};
82
+ return(output);
83
+ }
84
+
85
+ ////////////////////////////////////////////////////////////////////////////////
86
+ // sympower(m,d) computes the d-th symmetric power of a representation m
87
+ ////////////////////////////////////////////////////////////////////////////////
88
+ proc sympower(matrix m,int d)
89
+ "USAGE: sympower(<matrix>,<int>)
90
+ RETURNS: If m is a matrix with coefficients in the ring 'group', representing
91
+ the action on some vector space V, then sympower(m,n) gives the
92
+ matrix of the representation of the group on the n-th symmetric
93
+ power of V.
94
+ EXAMPLE: example sympower; shows an example"
95
+ { int n=nrows(m);
96
+ int l=nvars(group);
97
+ ring r=0,(z,x(1..n),g(1..l)),(dp(1),dp(n),dp(l));
98
+ matrix mm=imap(group,m);
99
+ intvec save_opt=option(get);option(pure_gb);
100
+ ideal gideal=std(imap(group,groupideal));
101
+ option(set,save_opt);
102
+ matrix vx[n][1]=matrix([x(1..n)]); // vector (x(1),...,x(n))^T
103
+ poly prodx=prod(x(1..n)); // prodx=x(1)*x(2)*...*x(n)
104
+ matrix w[n][1]=mm*vx;
105
+ map act=r,z,ideal(w);
106
+ poly ms=monsum(n,d);
107
+ matrix monlist=coef(ms,prodx); // list of all monomials
108
+ int j;
109
+ poly f;
110
+ matrix q;
111
+ int s=ncols(monlist); // number of monomials
112
+ matrix sp[s][s]; // sp : matrix of sym. power
113
+ for(int i=1;i<=s;i=i+1)
114
+ {f=monlist[1,i];
115
+ f=reduce(act(f),gideal)+z*ms; // z*ms is added because then
116
+ q=coef(f,prodx); // all monomials must appear and
117
+ for(j=1;j<=s;j=j+1) // coef(f,prodx) has right size.
118
+ {sp[i,j]=q[2,j]-z;}}; // Now subtract the z.
119
+ setring group;
120
+ return(imap(r,sp));
121
+ }
122
+ example
123
+ { "EXAMPLE:"; echo=2;
124
+ SL(2);
125
+ print(SLrep);
126
+ print(sympower(SLrep,3));
127
+ }
128
+
129
+ ////////////////////////////////////////////////////////////////////////////////
130
+ // invar(m) computes the invariant ring of the representation m.
131
+ ////////////////////////////////////////////////////////////////////////////////
132
+ proc invar(matrix m)
133
+ "USAGE: invar(<matrix>)
134
+ RETURNS: If m is a n x n matrix with coefficients in the ring 'group',
135
+ representing the action on some vector space V, then invar(m);
136
+ gives polynomials in x(1),x(2),...,x(n) who generate the invariant
137
+ ring. The following global variables will be set:
138
+ polyring of type <ring> polynomial ring in x(1),...,x(n)
139
+ invring of type <ideal> entries generate the inv. ring
140
+ representation of type <matrix>
141
+ The base ring will be set to 'polyring' which is a global
142
+ variable representing the polynomial ring on which the group acts.
143
+ The variable 'representation' will be set to the input m.
144
+ EXAMPLE: example invar; shows an example
145
+ "
146
+ {
147
+ int n=nrows(m);
148
+ int l=nvars(group);
149
+ matrix representation=m;
150
+ export representation;
151
+ ring r=0,(g(1..l),x(1..n),y(1..n)),(dp(l),dp(2*n));
152
+ matrix mm=imap(group,m);
153
+ ideal gideal=imap(group,groupideal);
154
+ matrix vx[n][1]=matrix([x(1..n)]);
155
+ matrix vy[n][1]=matrix([y(1..n)]);
156
+ matrix w[1][n]=transpose(vx)*mm-transpose(vy);
157
+ ideal Gamma=ideal(w),gideal;
158
+ poly prodg=prod(g(1..l));
159
+ ideal B=eliminate(Gamma,prodg);
160
+ print("");
161
+ print("Ideal B:");
162
+ print(B);
163
+ ring polyring=0,(x(1..n)),dp;
164
+ export polyring;
165
+ ideal ZFideal=imap(r,B);
166
+ ZFideal=minbase(ZFideal);
167
+ print("");
168
+ print("Zero Fiber Ideal:");
169
+ print(ZFideal);
170
+ ideal invring;
171
+ poly invariant;
172
+ for(int i=1;i<=size(ZFideal);i=i+1)
173
+ {invariant=reynolds(ZFideal[i]);
174
+ if (invariant!=0)
175
+ {if (invring==0) {invring=invariant;}
176
+ else {invring=invring,invariant;}}}
177
+ export invring;
178
+ print("");
179
+ print("Generating Invariants:");
180
+ print(invring);
181
+ }
182
+ example
183
+ { "EXAMPLE:"; echo=2;
184
+ SL(2); // Take the group SL_2
185
+ matrix m=dsum(SLrep,SLrep,SLrep,SLrep);
186
+ // 4 copies of the standard representation
187
+ invar(m); // empirical evidence for FFT
188
+ setring Invar::polyring;
189
+ Invar::reynolds(x(1)*x(4)); // The reynolds operator is computed using
190
+ // the Omega process.
191
+ }
192
+
193
+
194
+ ////////////////////////////////////////////////////////////////////////////////
195
+ // omega(f,n,i_1,i_2,...,i_t) does the following:
196
+ // Let M be the matrix of partial derivatives:
197
+ //
198
+ // d/d g(1) d/d g(2) ... d/d g(n)
199
+ // d/d g(n+1) d/d g(n+2) ... d/d g(2n)
200
+ // . . . .
201
+ // . . . .
202
+ // d/d g(n^2-n-1) d/d g(n^2-n+2)... d/d g(n^2)
203
+ //
204
+ // Take the submatrix with rows i_1,i_2,...,i_t and columns
205
+ // 1,2,...,t and apply its determinant (a differential operator) to f.
206
+ // i_1,i_2,...,i_t is assumed to be descending.
207
+ //
208
+ // Cramer's rule is used, which gives us a recursion.
209
+ ////////////////////////////////////////////////////////////////////////////////
210
+ proc omega(poly f,int n,intvec #)
211
+ "USAGE: omega(f,n,i_1,i_2,...,i_t)
212
+ RETURNS: poly (determinant)
213
+ NOTE:
214
+ Let M be the matrix of partial derivatives:
215
+
216
+ d/d g(1) d/d g(2) ... d/d g(n)
217
+ d/d g(n+1) d/d g(n+2) ... d/d g(2n)
218
+ . . . .
219
+ . . . .
220
+ d/d g(n^2-n-1) d/d g(n^2-n+2)... d/d g(n^2)
221
+
222
+ Take the submatrix with rows i_1,i_2,...,i_t and columns
223
+ 1,2,...,t and apply its determinant (a differential operator) to f.
224
+ i_1,i_2,...,i_t is assumed to be descending.
225
+
226
+ Cramer's rule is used, which gives us a recursion.
227
+ "
228
+ { if (#==0) {return(f);};
229
+ int m=size(#);
230
+ if (f==0) {return(0);};
231
+ if (m==0) {return(f);};
232
+ poly output=0;
233
+ intvec a;
234
+ for(int i=1;i<=m;i=i+1)
235
+ {if (i==1) {if (m>1) {a=#[i+1..m];};}
236
+ else {if (m>i) {a=#[1..i-1],#[i+1..m];}
237
+ else {a=#[1..i-1];};};
238
+ output=output+(-1)**(i-1)*omega(diff(f,g((#[i]-1)*n+m)),n,a);};
239
+ return(output);
240
+ }
241
+
242
+ ////////////////////////////////////////////////////////////////////////////////
243
+ // SLreynolds(f) applies the reynolds operator to f, if the group is SL_n,
244
+ // using the omega-process
245
+ ////////////////////////////////////////////////////////////////////////////////
246
+ proc SLreynolds(poly f)
247
+ "USAGE: SLreynolds(f) poly f
248
+ RETURNS: the reynolds operator applied to f
249
+ NOTE: if the group is SL_n the omega-process is used"
250
+ { int nsq=nvars(group);
251
+ for(int q=1;(q+1)^2<=nsq;q=q+1) {};
252
+ setring group;
253
+ int n=nrows(representation);
254
+ int l=nvars(group);
255
+ ring r=0,(x(1..n),g(1..l)),(dp(n),dp(l));
256
+ matrix m=imap(group,representation);
257
+ intvec save_opt=option(get);option(pure_gb);
258
+ ideal gideal=std(imap(group,groupideal));
259
+ option(set,save_opt);
260
+ matrix vx[n][1]=matrix([x(1..n)]); // vector (x(1),...,x(n))^T
261
+ poly prodx=prod(x(1..n)); // prodx=x(1)*x(2)*...*x(n)
262
+ matrix w[1][n]=transpose(vx)*m;
263
+ map act=polyring,ideal(w);
264
+ poly h=reduce(act(f),gideal);
265
+ map gtozero=r,x(1..n);
266
+ poly output=0;number c=1;
267
+ int i=1;
268
+ int j;
269
+ while (h!=0)
270
+ {output=output+gtozero(h)/c;
271
+ h=omega(h,q,q..1);
272
+ for(j=i;j<=i+q-1;j=j+1)
273
+ {c=c*j;};
274
+ i=i+1;};
275
+ setring polyring;
276
+ return(imap(r,output));
277
+ }
278
+
279
+ ////////////////////////////////////////////////////////////////////////////////
280
+ // torus(n) sets the current group to an n-dimensional torus
281
+ ////////////////////////////////////////////////////////////////////////////////
282
+ proc torus(int n)
283
+ "USAGE: torus(<int>)
284
+ RETURNS: torus(n) sets the current group to an n-dimensional torus. The
285
+ following global variables will be changed:
286
+ group of type <ring>
287
+ groupideal of type <ideal>
288
+ reynolds of type <proc>
289
+ The quotient of of `group` and `groupideal` is the coordinate
290
+ ring of an n-dimensional torus. The basering will be set to
291
+ 'group'.
292
+ EXAMPLE: example torus; shows an example"
293
+ { ring group=0,(g(1..n+1)),dp;
294
+ export group;
295
+ ideal groupideal=prod(g(1..n+1))-1;
296
+ export groupideal;
297
+ proc reynolds(poly f){return(torusreynolds(f));};
298
+ export reynolds;
299
+ }
300
+ example
301
+ {"EXAMPLE:"; echo=2;
302
+ torus(3);
303
+ Invar::group;
304
+ groupideal;
305
+ }
306
+
307
+ ////////////////////////////////////////////////////////////////////////////////
308
+ // If m is a list of integer vectors, then torusrep(list m) computes
309
+ // a matrix with entries in the ring 'group' which represents the
310
+ // representation of a torus given by the weights m[1],m[2],...
311
+ ////////////////////////////////////////////////////////////////////////////////
312
+ proc torusrep(list m)
313
+ "USAGE: torusrep(<list>), <list> must be a list of integer vectors of length
314
+ n, where n is the dimension of the current torusgroup.
315
+ RETURNS: torusrep(m) gives a matrix with entries in 'group'. This matrix
316
+ represents the action of the torus with weights
317
+ m[1],m[2],...,m[size(m)]
318
+ EXAMPLE: example torusreynolds; shows an example
319
+ "
320
+ { int r=size(m[1]);
321
+ int n=size(m);
322
+ matrix mm[n][n];
323
+ int min;
324
+ poly f;
325
+ int j;
326
+ for(int i=1;i<=n;i=i+1)
327
+ {min=0;
328
+ for(j=1;j<=r;j=j+1)
329
+ {if (m[i][j]<min) {min=m[i][j];};};
330
+ f=g(r+1)**(-min);
331
+ for(j=1;j<=r;j=j+1)
332
+ {f=f*g(j)**(m[i][j]-min);};
333
+ mm[i,i]=f;};
334
+ return(mm);
335
+ }
336
+ example
337
+ { "EXAMPLE:"; echo=2;
338
+ torus(1); // Take the 1-dimensional torus, the multiplicative group.
339
+ list weights=-2,-3,7; // 3-dimensial action with weights -2,-3,7
340
+ matrix m=torusrep(weights);// compute the matrix of the representation
341
+ invar(m); // compute the invariant ring
342
+ }
343
+
344
+ ////////////////////////////////////////////////////////////////////////////////
345
+ // torusreynolds(f) applies the Reynolds operator to f if the group is
346
+ // a torus or a finite group.
347
+ ////////////////////////////////////////////////////////////////////////////////
348
+ proc torusreynolds(poly f)
349
+ "USAGE: torusreynolds(f) - poly f
350
+ "RETURNS: the Reynolds operator applied to f if the group is
351
+ a torus or a finite group.
352
+ "
353
+ { setring group;
354
+ int n=nrows(representation);
355
+ int l=nvars(group);
356
+ ring r=0,(x(1..n),g(1..l)),(dp(n),dp(l));
357
+ intvec save_opt=option(get);option(pure_gb);
358
+ ideal gideal=std(imap(group,groupideal));
359
+ option(set,save_opt);
360
+ matrix m=imap(group,representation);
361
+ matrix vx[n][1]=matrix([x(1..n)]); // vector (x(1),...,x(n))^T
362
+ matrix w[1][n]=transpose(vx)*m;
363
+ map act=polyring,ideal(w);
364
+ poly h=reduce(act(f),gideal);
365
+ setring polyring;
366
+ return(imap(r,h));
367
+ }
368
+
369
+ ////////////////////////////////////////////////////////////////////////////////
370
+ // finite(n) sets the current group to a finite group of order n.
371
+ ////////////////////////////////////////////////////////////////////////////////
372
+ proc finite(int n)
373
+ "USAGE: finite(<int>)
374
+ RETURNS: finite(n) sets the current group to a finite group of order n.
375
+ The following global variables will be set:
376
+ group of type <ring>
377
+ groupideal of type <ideal>
378
+ reynolds of type <proc>
379
+ The basering will be set to 'group'.
380
+ EXAMPLE: example finite; shows an example
381
+ "
382
+ { ring group=0,(g(1),g(2)),dp(2);
383
+ export group;
384
+ ideal groupideal=g(2)^n-1,cyclotomic(n);
385
+ intvec save_opt=option(get);option(pure_gb);
386
+ groupideal=std(groupideal);
387
+ option(set,save_opt);
388
+ export groupideal;
389
+ proc reynolds(poly f){return(torusreynolds(f));};
390
+ export reynolds; // the procedure torusreynolds
391
+ // does exactly the right thing
392
+ // no need to implement
393
+ // 'finitereynolds'
394
+ }
395
+ example
396
+ {"EXAMPLE:"; echo=2;
397
+ finite(6); // The symmetric group S_3
398
+ matrix id=unitmat(3); // identity matrix
399
+ matrix m3[3][3]=0,1,0,0,0,1,1,0,0; // corresponds with (1 2 3)
400
+ matrix m2[3][3]=0,1,0,1,0,0,0,0,1; // corresponds with (1 2)
401
+ list a=id,m3,m3*m3,m2,m2*m3,m2*m3*m3; // all elements of S_3
402
+ matrix rep=finiterep(a); // compute matrix of standard repr.
403
+ invar(rep); // compute the invariant ring
404
+ }
405
+
406
+
407
+ ////////////////////////////////////////////////////////////////////////////////
408
+ // If m is a list of matrices, then finiterep(m) gives a matrix with
409
+ // coefficients in the ring 'group' which represents the action of the
410
+ // finite group where the elements of the finite group act as
411
+ // m[1],m[2],...m[size(m)].
412
+ ////////////////////////////////////////////////////////////////////////////////
413
+ proc finiterep(list m)
414
+ "USAGE: finiterep(<list>), <list> must be a list of matrices
415
+ RETURNS: finiterep(m) gives a matrix with coefficients in the ring 'group'
416
+ which represents the action of the finite group where the elements
417
+ of the finite group act as m[1],m[2],...m[size(m)].
418
+ EXAMPLE: example finiterep; shows an example
419
+ "
420
+ { int l=size(m);
421
+ int n=nrows(m[1]);
422
+ int i;
423
+ int j;
424
+ poly h;
425
+ matrix finiterep[n][n];
426
+ for(i=0;i<l;i=i+1)
427
+ {h=0;
428
+ for(j=0;j<l;j=j+1)
429
+ {h=h+g(2)^j*g(1)^((i*j)%l)/l;};
430
+ finiterep=finiterep+h*m[i+1];}
431
+ return(finiterep);
432
+ }
433
+ example
434
+ {"EXAMPLE:"; echo=2;
435
+ finite(6); // The symmetric group S_3
436
+ matrix id=unitmat(3); // identity matrix
437
+ matrix m3[3][3]=0,1,0,0,0,1,1,0,0; // corresponds with (1 2 3)
438
+ matrix m2[3][3]=0,1,0,1,0,0,0,0,1; // corresponds with (1 2)
439
+ list a=id,m3,m3*m3,m2,m2*m3,m2*m3*m3; // all elements of S_3
440
+ matrix rep=finiterep(a); // compute matrix of standard repr.
441
+ invar(rep); // compute the invariant ring
442
+ }
443
+