passagemath-singular 10.6.31rc3__cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

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

Potentially problematic release.


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

Files changed (491) hide show
  1. PySingular.cpython-314-x86_64-linux-gnu.so +0 -0
  2. passagemath_singular-10.6.31rc3.dist-info/METADATA +183 -0
  3. passagemath_singular-10.6.31rc3.dist-info/RECORD +491 -0
  4. passagemath_singular-10.6.31rc3.dist-info/WHEEL +6 -0
  5. passagemath_singular-10.6.31rc3.dist-info/top_level.txt +3 -0
  6. passagemath_singular.libs/libSingular-4-20aec911.4.1.so +0 -0
  7. passagemath_singular.libs/libcddgmp-21acf0c6.so.0.1.3 +0 -0
  8. passagemath_singular.libs/libfactory-4-fcee31da.4.1.so +0 -0
  9. passagemath_singular.libs/libflint-66e12231.so.21.0.0 +0 -0
  10. passagemath_singular.libs/libgf2x-a4cdec90.so.3.0.0 +0 -0
  11. passagemath_singular.libs/libgfortran-83c28eba.so.5.0.0 +0 -0
  12. passagemath_singular.libs/libgmp-6e109695.so.10.5.0 +0 -0
  13. passagemath_singular.libs/libgsl-cda90e79.so.28.0.0 +0 -0
  14. passagemath_singular.libs/libmpfr-82690d50.so.6.2.1 +0 -0
  15. passagemath_singular.libs/libntl-e6f0d543.so.44.0.1 +0 -0
  16. passagemath_singular.libs/libomalloc-0-5c9e866e.9.6.so +0 -0
  17. passagemath_singular.libs/libopenblasp-r0-6dcb67f9.3.29.so +0 -0
  18. passagemath_singular.libs/libpolys-4-5c0a87e0.4.1.so +0 -0
  19. passagemath_singular.libs/libquadmath-2284e583.so.0.0.0 +0 -0
  20. passagemath_singular.libs/libreadline-ea270e21.so.8.2 +0 -0
  21. passagemath_singular.libs/libsingular_resources-4-a1aafc6d.4.1.so +0 -0
  22. passagemath_singular.libs/libtinfo-ceb117d9.so.6.3 +0 -0
  23. sage/algebras/all__sagemath_singular.py +3 -0
  24. sage/algebras/fusion_rings/all.py +19 -0
  25. sage/algebras/fusion_rings/f_matrix.py +2448 -0
  26. sage/algebras/fusion_rings/fast_parallel_fmats_methods.cpython-314-x86_64-linux-gnu.so +0 -0
  27. sage/algebras/fusion_rings/fast_parallel_fmats_methods.pxd +5 -0
  28. sage/algebras/fusion_rings/fast_parallel_fmats_methods.pyx +538 -0
  29. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.cpython-314-x86_64-linux-gnu.so +0 -0
  30. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pxd +3 -0
  31. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pyx +331 -0
  32. sage/algebras/fusion_rings/fusion_double.py +899 -0
  33. sage/algebras/fusion_rings/fusion_ring.py +1580 -0
  34. sage/algebras/fusion_rings/poly_tup_engine.cpython-314-x86_64-linux-gnu.so +0 -0
  35. sage/algebras/fusion_rings/poly_tup_engine.pxd +24 -0
  36. sage/algebras/fusion_rings/poly_tup_engine.pyx +579 -0
  37. sage/algebras/fusion_rings/shm_managers.cpython-314-x86_64-linux-gnu.so +0 -0
  38. sage/algebras/fusion_rings/shm_managers.pxd +24 -0
  39. sage/algebras/fusion_rings/shm_managers.pyx +780 -0
  40. sage/algebras/letterplace/all.py +1 -0
  41. sage/algebras/letterplace/free_algebra_element_letterplace.cpython-314-x86_64-linux-gnu.so +0 -0
  42. sage/algebras/letterplace/free_algebra_element_letterplace.pxd +18 -0
  43. sage/algebras/letterplace/free_algebra_element_letterplace.pyx +755 -0
  44. sage/algebras/letterplace/free_algebra_letterplace.cpython-314-x86_64-linux-gnu.so +0 -0
  45. sage/algebras/letterplace/free_algebra_letterplace.pxd +35 -0
  46. sage/algebras/letterplace/free_algebra_letterplace.pyx +914 -0
  47. sage/algebras/letterplace/letterplace_ideal.cpython-314-x86_64-linux-gnu.so +0 -0
  48. sage/algebras/letterplace/letterplace_ideal.pyx +408 -0
  49. sage/algebras/quatalg/all.py +2 -0
  50. sage/algebras/quatalg/quaternion_algebra.py +4778 -0
  51. sage/algebras/quatalg/quaternion_algebra_cython.cpython-314-x86_64-linux-gnu.so +0 -0
  52. sage/algebras/quatalg/quaternion_algebra_cython.pyx +261 -0
  53. sage/algebras/quatalg/quaternion_algebra_element.cpython-314-x86_64-linux-gnu.so +0 -0
  54. sage/algebras/quatalg/quaternion_algebra_element.pxd +29 -0
  55. sage/algebras/quatalg/quaternion_algebra_element.pyx +2176 -0
  56. sage/all__sagemath_singular.py +11 -0
  57. sage/ext_data/all__sagemath_singular.py +1 -0
  58. sage/ext_data/singular/function_field/core.lib +98 -0
  59. sage/interfaces/all__sagemath_singular.py +1 -0
  60. sage/interfaces/singular.py +2835 -0
  61. sage/libs/all__sagemath_singular.py +1 -0
  62. sage/libs/singular/__init__.py +1 -0
  63. sage/libs/singular/decl.pxd +1168 -0
  64. sage/libs/singular/function.cpython-314-x86_64-linux-gnu.so +0 -0
  65. sage/libs/singular/function.pxd +87 -0
  66. sage/libs/singular/function.pyx +1901 -0
  67. sage/libs/singular/function_factory.py +61 -0
  68. sage/libs/singular/groebner_strategy.cpython-314-x86_64-linux-gnu.so +0 -0
  69. sage/libs/singular/groebner_strategy.pxd +22 -0
  70. sage/libs/singular/groebner_strategy.pyx +582 -0
  71. sage/libs/singular/option.cpython-314-x86_64-linux-gnu.so +0 -0
  72. sage/libs/singular/option.pyx +671 -0
  73. sage/libs/singular/polynomial.cpython-314-x86_64-linux-gnu.so +0 -0
  74. sage/libs/singular/polynomial.pxd +39 -0
  75. sage/libs/singular/polynomial.pyx +661 -0
  76. sage/libs/singular/ring.cpython-314-x86_64-linux-gnu.so +0 -0
  77. sage/libs/singular/ring.pxd +58 -0
  78. sage/libs/singular/ring.pyx +893 -0
  79. sage/libs/singular/singular.cpython-314-x86_64-linux-gnu.so +0 -0
  80. sage/libs/singular/singular.pxd +72 -0
  81. sage/libs/singular/singular.pyx +1944 -0
  82. sage/libs/singular/standard_options.py +145 -0
  83. sage/matrix/all__sagemath_singular.py +1 -0
  84. sage/matrix/matrix_mpolynomial_dense.cpython-314-x86_64-linux-gnu.so +0 -0
  85. sage/matrix/matrix_mpolynomial_dense.pxd +7 -0
  86. sage/matrix/matrix_mpolynomial_dense.pyx +615 -0
  87. sage/rings/all__sagemath_singular.py +1 -0
  88. sage/rings/function_field/all__sagemath_singular.py +1 -0
  89. sage/rings/function_field/derivations_polymod.py +911 -0
  90. sage/rings/function_field/element_polymod.cpython-314-x86_64-linux-gnu.so +0 -0
  91. sage/rings/function_field/element_polymod.pyx +406 -0
  92. sage/rings/function_field/function_field_polymod.py +2611 -0
  93. sage/rings/function_field/ideal_polymod.py +1775 -0
  94. sage/rings/function_field/order_polymod.py +1475 -0
  95. sage/rings/function_field/place_polymod.py +681 -0
  96. sage/rings/polynomial/all__sagemath_singular.py +1 -0
  97. sage/rings/polynomial/multi_polynomial_ideal_libsingular.cpython-314-x86_64-linux-gnu.so +0 -0
  98. sage/rings/polynomial/multi_polynomial_ideal_libsingular.pxd +5 -0
  99. sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx +339 -0
  100. sage/rings/polynomial/multi_polynomial_libsingular.cpython-314-x86_64-linux-gnu.so +0 -0
  101. sage/rings/polynomial/multi_polynomial_libsingular.pxd +30 -0
  102. sage/rings/polynomial/multi_polynomial_libsingular.pyx +6277 -0
  103. sage/rings/polynomial/plural.cpython-314-x86_64-linux-gnu.so +0 -0
  104. sage/rings/polynomial/plural.pxd +48 -0
  105. sage/rings/polynomial/plural.pyx +3171 -0
  106. sage/symbolic/all__sagemath_singular.py +1 -0
  107. sage/symbolic/comparison_impl.pxi +428 -0
  108. sage/symbolic/constants_c_impl.pxi +178 -0
  109. sage/symbolic/expression.cpython-314-x86_64-linux-gnu.so +0 -0
  110. sage/symbolic/expression.pxd +7 -0
  111. sage/symbolic/expression.pyx +14200 -0
  112. sage/symbolic/getitem_impl.pxi +202 -0
  113. sage/symbolic/pynac.pxi +572 -0
  114. sage/symbolic/pynac_constant_impl.pxi +133 -0
  115. sage/symbolic/pynac_function_impl.pxi +206 -0
  116. sage/symbolic/pynac_impl.pxi +2576 -0
  117. sage/symbolic/pynac_wrap.h +124 -0
  118. sage/symbolic/series_impl.pxi +272 -0
  119. sage/symbolic/substitution_map_impl.pxi +94 -0
  120. sage_wheels/bin/ESingular +0 -0
  121. sage_wheels/bin/Singular +0 -0
  122. sage_wheels/bin/TSingular +0 -0
  123. sage_wheels/lib/singular/MOD/cohomo.la +41 -0
  124. sage_wheels/lib/singular/MOD/cohomo.so +0 -0
  125. sage_wheels/lib/singular/MOD/customstd.la +41 -0
  126. sage_wheels/lib/singular/MOD/customstd.so +0 -0
  127. sage_wheels/lib/singular/MOD/freealgebra.la +41 -0
  128. sage_wheels/lib/singular/MOD/freealgebra.so +0 -0
  129. sage_wheels/lib/singular/MOD/gfanlib.la +41 -0
  130. sage_wheels/lib/singular/MOD/gfanlib.so +0 -0
  131. sage_wheels/lib/singular/MOD/gitfan.la +41 -0
  132. sage_wheels/lib/singular/MOD/gitfan.so +0 -0
  133. sage_wheels/lib/singular/MOD/interval.la +41 -0
  134. sage_wheels/lib/singular/MOD/interval.so +0 -0
  135. sage_wheels/lib/singular/MOD/loctriv.la +41 -0
  136. sage_wheels/lib/singular/MOD/loctriv.so +0 -0
  137. sage_wheels/lib/singular/MOD/machinelearning.la +41 -0
  138. sage_wheels/lib/singular/MOD/machinelearning.so +0 -0
  139. sage_wheels/lib/singular/MOD/p_Procs_FieldGeneral.la +41 -0
  140. sage_wheels/lib/singular/MOD/p_Procs_FieldGeneral.so +0 -0
  141. sage_wheels/lib/singular/MOD/p_Procs_FieldIndep.la +41 -0
  142. sage_wheels/lib/singular/MOD/p_Procs_FieldIndep.so +0 -0
  143. sage_wheels/lib/singular/MOD/p_Procs_FieldQ.la +41 -0
  144. sage_wheels/lib/singular/MOD/p_Procs_FieldQ.so +0 -0
  145. sage_wheels/lib/singular/MOD/p_Procs_FieldZp.la +41 -0
  146. sage_wheels/lib/singular/MOD/p_Procs_FieldZp.so +0 -0
  147. sage_wheels/lib/singular/MOD/partialgb.la +41 -0
  148. sage_wheels/lib/singular/MOD/partialgb.so +0 -0
  149. sage_wheels/lib/singular/MOD/pyobject.la +41 -0
  150. sage_wheels/lib/singular/MOD/pyobject.so +0 -0
  151. sage_wheels/lib/singular/MOD/singmathic.la +41 -0
  152. sage_wheels/lib/singular/MOD/singmathic.so +0 -0
  153. sage_wheels/lib/singular/MOD/sispasm.la +41 -0
  154. sage_wheels/lib/singular/MOD/sispasm.so +0 -0
  155. sage_wheels/lib/singular/MOD/subsets.la +41 -0
  156. sage_wheels/lib/singular/MOD/subsets.so +0 -0
  157. sage_wheels/lib/singular/MOD/systhreads.la +41 -0
  158. sage_wheels/lib/singular/MOD/systhreads.so +0 -0
  159. sage_wheels/lib/singular/MOD/syzextra.la +41 -0
  160. sage_wheels/lib/singular/MOD/syzextra.so +0 -0
  161. sage_wheels/libexec/singular/MOD/change_cost +0 -0
  162. sage_wheels/libexec/singular/MOD/singularsurf +11 -0
  163. sage_wheels/libexec/singular/MOD/singularsurf_jupyter +9 -0
  164. sage_wheels/libexec/singular/MOD/singularsurf_win +10 -0
  165. sage_wheels/libexec/singular/MOD/solve_IP +0 -0
  166. sage_wheels/libexec/singular/MOD/surfex +16 -0
  167. sage_wheels/libexec/singular/MOD/toric_ideal +0 -0
  168. sage_wheels/share/factory/gftables/10201 +342 -0
  169. sage_wheels/share/factory/gftables/1024 +37 -0
  170. sage_wheels/share/factory/gftables/10609 +356 -0
  171. sage_wheels/share/factory/gftables/11449 +384 -0
  172. sage_wheels/share/factory/gftables/11881 +398 -0
  173. sage_wheels/share/factory/gftables/121 +6 -0
  174. sage_wheels/share/factory/gftables/12167 +408 -0
  175. sage_wheels/share/factory/gftables/125 +7 -0
  176. sage_wheels/share/factory/gftables/12769 +428 -0
  177. sage_wheels/share/factory/gftables/128 +7 -0
  178. sage_wheels/share/factory/gftables/1331 +47 -0
  179. sage_wheels/share/factory/gftables/1369 +48 -0
  180. sage_wheels/share/factory/gftables/14641 +490 -0
  181. sage_wheels/share/factory/gftables/15625 +523 -0
  182. sage_wheels/share/factory/gftables/16 +3 -0
  183. sage_wheels/share/factory/gftables/16129 +540 -0
  184. sage_wheels/share/factory/gftables/16384 +549 -0
  185. sage_wheels/share/factory/gftables/16807 +563 -0
  186. sage_wheels/share/factory/gftables/1681 +58 -0
  187. sage_wheels/share/factory/gftables/169 +8 -0
  188. sage_wheels/share/factory/gftables/17161 +574 -0
  189. sage_wheels/share/factory/gftables/1849 +64 -0
  190. sage_wheels/share/factory/gftables/18769 +628 -0
  191. sage_wheels/share/factory/gftables/19321 +646 -0
  192. sage_wheels/share/factory/gftables/19683 +659 -0
  193. sage_wheels/share/factory/gftables/2048 +71 -0
  194. sage_wheels/share/factory/gftables/2187 +75 -0
  195. sage_wheels/share/factory/gftables/2197 +76 -0
  196. sage_wheels/share/factory/gftables/2209 +76 -0
  197. sage_wheels/share/factory/gftables/22201 +742 -0
  198. sage_wheels/share/factory/gftables/22801 +762 -0
  199. sage_wheels/share/factory/gftables/2401 +82 -0
  200. sage_wheels/share/factory/gftables/243 +11 -0
  201. sage_wheels/share/factory/gftables/24389 +815 -0
  202. sage_wheels/share/factory/gftables/24649 +824 -0
  203. sage_wheels/share/factory/gftables/25 +3 -0
  204. sage_wheels/share/factory/gftables/256 +11 -0
  205. sage_wheels/share/factory/gftables/26569 +888 -0
  206. sage_wheels/share/factory/gftables/27 +3 -0
  207. sage_wheels/share/factory/gftables/27889 +932 -0
  208. sage_wheels/share/factory/gftables/2809 +96 -0
  209. sage_wheels/share/factory/gftables/28561 +954 -0
  210. sage_wheels/share/factory/gftables/289 +12 -0
  211. sage_wheels/share/factory/gftables/29791 +995 -0
  212. sage_wheels/share/factory/gftables/29929 +1000 -0
  213. sage_wheels/share/factory/gftables/3125 +107 -0
  214. sage_wheels/share/factory/gftables/32 +4 -0
  215. sage_wheels/share/factory/gftables/32041 +1070 -0
  216. sage_wheels/share/factory/gftables/32761 +1094 -0
  217. sage_wheels/share/factory/gftables/32768 +1095 -0
  218. sage_wheels/share/factory/gftables/343 +14 -0
  219. sage_wheels/share/factory/gftables/3481 +118 -0
  220. sage_wheels/share/factory/gftables/361 +14 -0
  221. sage_wheels/share/factory/gftables/36481 +1218 -0
  222. sage_wheels/share/factory/gftables/3721 +126 -0
  223. sage_wheels/share/factory/gftables/37249 +1244 -0
  224. sage_wheels/share/factory/gftables/38809 +1296 -0
  225. sage_wheels/share/factory/gftables/39601 +1322 -0
  226. sage_wheels/share/factory/gftables/4 +3 -0
  227. sage_wheels/share/factory/gftables/4096 +139 -0
  228. sage_wheels/share/factory/gftables/44521 +1486 -0
  229. sage_wheels/share/factory/gftables/4489 +152 -0
  230. sage_wheels/share/factory/gftables/49 +4 -0
  231. sage_wheels/share/factory/gftables/4913 +166 -0
  232. sage_wheels/share/factory/gftables/49729 +1660 -0
  233. sage_wheels/share/factory/gftables/5041 +170 -0
  234. sage_wheels/share/factory/gftables/50653 +1691 -0
  235. sage_wheels/share/factory/gftables/512 +20 -0
  236. sage_wheels/share/factory/gftables/51529 +1720 -0
  237. sage_wheels/share/factory/gftables/52441 +1750 -0
  238. sage_wheels/share/factory/gftables/529 +20 -0
  239. sage_wheels/share/factory/gftables/5329 +180 -0
  240. sage_wheels/share/factory/gftables/54289 +1812 -0
  241. sage_wheels/share/factory/gftables/57121 +1906 -0
  242. sage_wheels/share/factory/gftables/58081 +1938 -0
  243. sage_wheels/share/factory/gftables/59049 +1971 -0
  244. sage_wheels/share/factory/gftables/6241 +210 -0
  245. sage_wheels/share/factory/gftables/625 +23 -0
  246. sage_wheels/share/factory/gftables/63001 +2102 -0
  247. sage_wheels/share/factory/gftables/64 +5 -0
  248. sage_wheels/share/factory/gftables/6561 +221 -0
  249. sage_wheels/share/factory/gftables/6859 +231 -0
  250. sage_wheels/share/factory/gftables/6889 +232 -0
  251. sage_wheels/share/factory/gftables/729 +27 -0
  252. sage_wheels/share/factory/gftables/7921 +266 -0
  253. sage_wheels/share/factory/gftables/8 +3 -0
  254. sage_wheels/share/factory/gftables/81 +5 -0
  255. sage_wheels/share/factory/gftables/8192 +276 -0
  256. sage_wheels/share/factory/gftables/841 +30 -0
  257. sage_wheels/share/factory/gftables/9 +3 -0
  258. sage_wheels/share/factory/gftables/9409 +316 -0
  259. sage_wheels/share/factory/gftables/961 +34 -0
  260. sage_wheels/share/info/singular.info +191898 -0
  261. sage_wheels/share/singular/LIB/GND.lib +1359 -0
  262. sage_wheels/share/singular/LIB/JMBTest.lib +976 -0
  263. sage_wheels/share/singular/LIB/JMSConst.lib +1363 -0
  264. sage_wheels/share/singular/LIB/KVequiv.lib +699 -0
  265. sage_wheels/share/singular/LIB/SingularityDBM.lib +491 -0
  266. sage_wheels/share/singular/LIB/VecField.lib +1542 -0
  267. sage_wheels/share/singular/LIB/absfact.lib +959 -0
  268. sage_wheels/share/singular/LIB/ainvar.lib +730 -0
  269. sage_wheels/share/singular/LIB/aksaka.lib +419 -0
  270. sage_wheels/share/singular/LIB/alexpoly.lib +2542 -0
  271. sage_wheels/share/singular/LIB/algebra.lib +1193 -0
  272. sage_wheels/share/singular/LIB/all.lib +136 -0
  273. sage_wheels/share/singular/LIB/arcpoint.lib +514 -0
  274. sage_wheels/share/singular/LIB/arnold.lib +4553 -0
  275. sage_wheels/share/singular/LIB/arnoldclassify.lib +2058 -0
  276. sage_wheels/share/singular/LIB/arr.lib +3486 -0
  277. sage_wheels/share/singular/LIB/assprimeszerodim.lib +755 -0
  278. sage_wheels/share/singular/LIB/autgradalg.lib +3361 -0
  279. sage_wheels/share/singular/LIB/bfun.lib +1964 -0
  280. sage_wheels/share/singular/LIB/bimodules.lib +774 -0
  281. sage_wheels/share/singular/LIB/brillnoether.lib +226 -0
  282. sage_wheels/share/singular/LIB/brnoeth.lib +5017 -0
  283. sage_wheels/share/singular/LIB/central.lib +2169 -0
  284. sage_wheels/share/singular/LIB/chern.lib +4162 -0
  285. sage_wheels/share/singular/LIB/cimonom.lib +571 -0
  286. sage_wheels/share/singular/LIB/cisimplicial.lib +1835 -0
  287. sage_wheels/share/singular/LIB/classify.lib +3239 -0
  288. sage_wheels/share/singular/LIB/classify2.lib +1462 -0
  289. sage_wheels/share/singular/LIB/classifyMapGerms.lib +1515 -0
  290. sage_wheels/share/singular/LIB/classify_aeq.lib +3253 -0
  291. sage_wheels/share/singular/LIB/classifyceq.lib +2092 -0
  292. sage_wheels/share/singular/LIB/classifyci.lib +1133 -0
  293. sage_wheels/share/singular/LIB/combinat.lib +91 -0
  294. sage_wheels/share/singular/LIB/compregb.lib +276 -0
  295. sage_wheels/share/singular/LIB/control.lib +1636 -0
  296. sage_wheels/share/singular/LIB/crypto.lib +3795 -0
  297. sage_wheels/share/singular/LIB/curveInv.lib +667 -0
  298. sage_wheels/share/singular/LIB/curvepar.lib +1817 -0
  299. sage_wheels/share/singular/LIB/customstd.lib +100 -0
  300. sage_wheels/share/singular/LIB/deRham.lib +5979 -0
  301. sage_wheels/share/singular/LIB/decodegb.lib +2134 -0
  302. sage_wheels/share/singular/LIB/decomp.lib +1655 -0
  303. sage_wheels/share/singular/LIB/deflation.lib +872 -0
  304. sage_wheels/share/singular/LIB/deform.lib +925 -0
  305. sage_wheels/share/singular/LIB/difform.lib +3055 -0
  306. sage_wheels/share/singular/LIB/divisors.lib +750 -0
  307. sage_wheels/share/singular/LIB/dmod.lib +5817 -0
  308. sage_wheels/share/singular/LIB/dmodapp.lib +3269 -0
  309. sage_wheels/share/singular/LIB/dmodideal.lib +1211 -0
  310. sage_wheels/share/singular/LIB/dmodloc.lib +2645 -0
  311. sage_wheels/share/singular/LIB/dmodvar.lib +818 -0
  312. sage_wheels/share/singular/LIB/dummy.lib +17 -0
  313. sage_wheels/share/singular/LIB/elim.lib +1009 -0
  314. sage_wheels/share/singular/LIB/ellipticcovers.lib +548 -0
  315. sage_wheels/share/singular/LIB/enumpoints.lib +146 -0
  316. sage_wheels/share/singular/LIB/equising.lib +2127 -0
  317. sage_wheels/share/singular/LIB/ffmodstd.lib +2384 -0
  318. sage_wheels/share/singular/LIB/ffsolve.lib +1289 -0
  319. sage_wheels/share/singular/LIB/findifs.lib +778 -0
  320. sage_wheels/share/singular/LIB/finitediff.lib +1768 -0
  321. sage_wheels/share/singular/LIB/finvar.lib +7989 -0
  322. sage_wheels/share/singular/LIB/fpadim.lib +2429 -0
  323. sage_wheels/share/singular/LIB/fpalgebras.lib +1666 -0
  324. sage_wheels/share/singular/LIB/fpaprops.lib +1462 -0
  325. sage_wheels/share/singular/LIB/freegb.lib +3853 -0
  326. sage_wheels/share/singular/LIB/general.lib +1350 -0
  327. sage_wheels/share/singular/LIB/gfan.lib +1768 -0
  328. sage_wheels/share/singular/LIB/gitfan.lib +3130 -0
  329. sage_wheels/share/singular/LIB/gkdim.lib +99 -0
  330. sage_wheels/share/singular/LIB/gmspoly.lib +589 -0
  331. sage_wheels/share/singular/LIB/gmssing.lib +1739 -0
  332. sage_wheels/share/singular/LIB/goettsche.lib +909 -0
  333. sage_wheels/share/singular/LIB/graal.lib +1366 -0
  334. sage_wheels/share/singular/LIB/gradedModules.lib +2541 -0
  335. sage_wheels/share/singular/LIB/graphics.lib +360 -0
  336. sage_wheels/share/singular/LIB/grobcov.lib +7706 -0
  337. sage_wheels/share/singular/LIB/groups.lib +1123 -0
  338. sage_wheels/share/singular/LIB/grwalk.lib +507 -0
  339. sage_wheels/share/singular/LIB/hdepth.lib +194 -0
  340. sage_wheels/share/singular/LIB/help.cnf +57 -0
  341. sage_wheels/share/singular/LIB/hess.lib +1946 -0
  342. sage_wheels/share/singular/LIB/hnoether.lib +4292 -0
  343. sage_wheels/share/singular/LIB/hodge.lib +400 -0
  344. sage_wheels/share/singular/LIB/homolog.lib +1965 -0
  345. sage_wheels/share/singular/LIB/hyperel.lib +975 -0
  346. sage_wheels/share/singular/LIB/inout.lib +679 -0
  347. sage_wheels/share/singular/LIB/integralbasis.lib +6224 -0
  348. sage_wheels/share/singular/LIB/interval.lib +1418 -0
  349. sage_wheels/share/singular/LIB/intprog.lib +778 -0
  350. sage_wheels/share/singular/LIB/invar.lib +443 -0
  351. sage_wheels/share/singular/LIB/involut.lib +980 -0
  352. sage_wheels/share/singular/LIB/jacobson.lib +1215 -0
  353. sage_wheels/share/singular/LIB/kskernel.lib +534 -0
  354. sage_wheels/share/singular/LIB/latex.lib +3146 -0
  355. sage_wheels/share/singular/LIB/lejeune.lib +651 -0
  356. sage_wheels/share/singular/LIB/linalg.lib +2040 -0
  357. sage_wheels/share/singular/LIB/locnormal.lib +212 -0
  358. sage_wheels/share/singular/LIB/lrcalc.lib +526 -0
  359. sage_wheels/share/singular/LIB/makedbm.lib +294 -0
  360. sage_wheels/share/singular/LIB/mathml.lib +813 -0
  361. sage_wheels/share/singular/LIB/matrix.lib +1372 -0
  362. sage_wheels/share/singular/LIB/maxlike.lib +1132 -0
  363. sage_wheels/share/singular/LIB/methods.lib +212 -0
  364. sage_wheels/share/singular/LIB/moddiq.lib +322 -0
  365. sage_wheels/share/singular/LIB/modfinduni.lib +181 -0
  366. sage_wheels/share/singular/LIB/modnormal.lib +218 -0
  367. sage_wheels/share/singular/LIB/modprimdec.lib +1278 -0
  368. sage_wheels/share/singular/LIB/modquotient.lib +269 -0
  369. sage_wheels/share/singular/LIB/modstd.lib +1024 -0
  370. sage_wheels/share/singular/LIB/modular.lib +545 -0
  371. sage_wheels/share/singular/LIB/modules.lib +2561 -0
  372. sage_wheels/share/singular/LIB/modwalk.lib +609 -0
  373. sage_wheels/share/singular/LIB/mondromy.lib +1016 -0
  374. sage_wheels/share/singular/LIB/monomialideal.lib +3851 -0
  375. sage_wheels/share/singular/LIB/mprimdec.lib +2353 -0
  376. sage_wheels/share/singular/LIB/mregular.lib +1863 -0
  377. sage_wheels/share/singular/LIB/multigrading.lib +5629 -0
  378. sage_wheels/share/singular/LIB/ncHilb.lib +777 -0
  379. sage_wheels/share/singular/LIB/ncModslimgb.lib +791 -0
  380. sage_wheels/share/singular/LIB/ncalg.lib +16311 -0
  381. sage_wheels/share/singular/LIB/ncall.lib +31 -0
  382. sage_wheels/share/singular/LIB/ncdecomp.lib +468 -0
  383. sage_wheels/share/singular/LIB/ncfactor.lib +13371 -0
  384. sage_wheels/share/singular/LIB/ncfrac.lib +1023 -0
  385. sage_wheels/share/singular/LIB/nchilbert.lib +448 -0
  386. sage_wheels/share/singular/LIB/nchomolog.lib +759 -0
  387. sage_wheels/share/singular/LIB/ncloc.lib +361 -0
  388. sage_wheels/share/singular/LIB/ncpreim.lib +795 -0
  389. sage_wheels/share/singular/LIB/ncrat.lib +2849 -0
  390. sage_wheels/share/singular/LIB/nctools.lib +1887 -0
  391. sage_wheels/share/singular/LIB/nets.lib +1456 -0
  392. sage_wheels/share/singular/LIB/nfmodstd.lib +1000 -0
  393. sage_wheels/share/singular/LIB/nfmodsyz.lib +732 -0
  394. sage_wheels/share/singular/LIB/noether.lib +1106 -0
  395. sage_wheels/share/singular/LIB/normal.lib +8700 -0
  396. sage_wheels/share/singular/LIB/normaliz.lib +2226 -0
  397. sage_wheels/share/singular/LIB/ntsolve.lib +362 -0
  398. sage_wheels/share/singular/LIB/numerAlg.lib +560 -0
  399. sage_wheels/share/singular/LIB/numerDecom.lib +2261 -0
  400. sage_wheels/share/singular/LIB/olga.lib +1933 -0
  401. sage_wheels/share/singular/LIB/orbitparam.lib +351 -0
  402. sage_wheels/share/singular/LIB/parallel.lib +319 -0
  403. sage_wheels/share/singular/LIB/paraplanecurves.lib +3110 -0
  404. sage_wheels/share/singular/LIB/perron.lib +202 -0
  405. sage_wheels/share/singular/LIB/pfd.lib +2223 -0
  406. sage_wheels/share/singular/LIB/phindex.lib +642 -0
  407. sage_wheels/share/singular/LIB/pointid.lib +673 -0
  408. sage_wheels/share/singular/LIB/polybori.lib +1430 -0
  409. sage_wheels/share/singular/LIB/polyclass.lib +525 -0
  410. sage_wheels/share/singular/LIB/polylib.lib +1174 -0
  411. sage_wheels/share/singular/LIB/polymake.lib +1902 -0
  412. sage_wheels/share/singular/LIB/presolve.lib +1533 -0
  413. sage_wheels/share/singular/LIB/primdec.lib +9576 -0
  414. sage_wheels/share/singular/LIB/primdecint.lib +1782 -0
  415. sage_wheels/share/singular/LIB/primitiv.lib +401 -0
  416. sage_wheels/share/singular/LIB/puiseuxexpansions.lib +1631 -0
  417. sage_wheels/share/singular/LIB/purityfiltration.lib +960 -0
  418. sage_wheels/share/singular/LIB/qhmoduli.lib +1561 -0
  419. sage_wheels/share/singular/LIB/qmatrix.lib +293 -0
  420. sage_wheels/share/singular/LIB/random.lib +455 -0
  421. sage_wheels/share/singular/LIB/ratgb.lib +489 -0
  422. sage_wheels/share/singular/LIB/realclassify.lib +5759 -0
  423. sage_wheels/share/singular/LIB/realizationMatroids.lib +772 -0
  424. sage_wheels/share/singular/LIB/realrad.lib +1197 -0
  425. sage_wheels/share/singular/LIB/recover.lib +2628 -0
  426. sage_wheels/share/singular/LIB/redcgs.lib +3984 -0
  427. sage_wheels/share/singular/LIB/reesclos.lib +465 -0
  428. sage_wheels/share/singular/LIB/resbinomial.lib +2802 -0
  429. sage_wheels/share/singular/LIB/resgraph.lib +789 -0
  430. sage_wheels/share/singular/LIB/resjung.lib +820 -0
  431. sage_wheels/share/singular/LIB/resolve.lib +5110 -0
  432. sage_wheels/share/singular/LIB/resources.lib +170 -0
  433. sage_wheels/share/singular/LIB/reszeta.lib +5473 -0
  434. sage_wheels/share/singular/LIB/ring.lib +1328 -0
  435. sage_wheels/share/singular/LIB/ringgb.lib +343 -0
  436. sage_wheels/share/singular/LIB/rinvar.lib +1153 -0
  437. sage_wheels/share/singular/LIB/rootisolation.lib +1481 -0
  438. sage_wheels/share/singular/LIB/rootsmr.lib +709 -0
  439. sage_wheels/share/singular/LIB/rootsur.lib +886 -0
  440. sage_wheels/share/singular/LIB/rstandard.lib +607 -0
  441. sage_wheels/share/singular/LIB/rwalk.lib +336 -0
  442. sage_wheels/share/singular/LIB/sagbi.lib +1353 -0
  443. sage_wheels/share/singular/LIB/sagbiNormaliz.lib +1622 -0
  444. sage_wheels/share/singular/LIB/sagbiNormaliz0.lib +1498 -0
  445. sage_wheels/share/singular/LIB/sagbigrob.lib +449 -0
  446. sage_wheels/share/singular/LIB/schreyer.lib +321 -0
  447. sage_wheels/share/singular/LIB/schubert.lib +2551 -0
  448. sage_wheels/share/singular/LIB/sets.lib +524 -0
  449. sage_wheels/share/singular/LIB/sheafcoh.lib +1663 -0
  450. sage_wheels/share/singular/LIB/signcond.lib +437 -0
  451. sage_wheels/share/singular/LIB/sing.lib +1094 -0
  452. sage_wheels/share/singular/LIB/sing4ti2.lib +419 -0
  453. sage_wheels/share/singular/LIB/solve.lib +2243 -0
  454. sage_wheels/share/singular/LIB/spcurve.lib +1077 -0
  455. sage_wheels/share/singular/LIB/spectrum.lib +62 -0
  456. sage_wheels/share/singular/LIB/sresext.lib +757 -0
  457. sage_wheels/share/singular/LIB/ssi.lib +143 -0
  458. sage_wheels/share/singular/LIB/standard.lib +2769 -0
  459. sage_wheels/share/singular/LIB/stanleyreisner.lib +473 -0
  460. sage_wheels/share/singular/LIB/stdmodule.lib +547 -0
  461. sage_wheels/share/singular/LIB/stratify.lib +1070 -0
  462. sage_wheels/share/singular/LIB/surf.lib +506 -0
  463. sage_wheels/share/singular/LIB/surf_jupyter.lib +223 -0
  464. sage_wheels/share/singular/LIB/surfacesignature.lib +522 -0
  465. sage_wheels/share/singular/LIB/surfex.lib +1462 -0
  466. sage_wheels/share/singular/LIB/swalk.lib +877 -0
  467. sage_wheels/share/singular/LIB/symodstd.lib +1570 -0
  468. sage_wheels/share/singular/LIB/systhreads.lib +74 -0
  469. sage_wheels/share/singular/LIB/tasks.lib +1324 -0
  470. sage_wheels/share/singular/LIB/tateProdCplxNegGrad.lib +2412 -0
  471. sage_wheels/share/singular/LIB/teachstd.lib +858 -0
  472. sage_wheels/share/singular/LIB/template.lib +116 -0
  473. sage_wheels/share/singular/LIB/toric.lib +1119 -0
  474. sage_wheels/share/singular/LIB/transformation.lib +116 -0
  475. sage_wheels/share/singular/LIB/triang.lib +1197 -0
  476. sage_wheels/share/singular/LIB/tropical.lib +8741 -0
  477. sage_wheels/share/singular/LIB/tropicalEllipticCovers.lib +2922 -0
  478. sage_wheels/share/singular/LIB/tropicalNewton.lib +1128 -0
  479. sage_wheels/share/singular/LIB/tst.lib +1108 -0
  480. sage_wheels/share/singular/LIB/weierstr.lib +241 -0
  481. sage_wheels/share/singular/LIB/zeroset.lib +1478 -0
  482. sage_wheels/share/singular/emacs/.emacs-general +184 -0
  483. sage_wheels/share/singular/emacs/.emacs-singular +234 -0
  484. sage_wheels/share/singular/emacs/COPYING +44 -0
  485. sage_wheels/share/singular/emacs/cmd-cmpl.el +241 -0
  486. sage_wheels/share/singular/emacs/ex-cmpl.el +1681 -0
  487. sage_wheels/share/singular/emacs/hlp-cmpl.el +4318 -0
  488. sage_wheels/share/singular/emacs/lib-cmpl.el +179 -0
  489. sage_wheels/share/singular/emacs/singular.el +4273 -0
  490. sage_wheels/share/singular/emacs/singular.xpm +39 -0
  491. sage_wheels/share/singular/singular.idx +5002 -0
@@ -0,0 +1,671 @@
1
+ # sage_setup: distribution = sagemath-singular
2
+ """
3
+ libSingular: Options
4
+
5
+ Singular uses a set of global options to determine verbosity and the
6
+ behavior of certain algorithms. We provide an interface to these
7
+ options in the most 'natural' python-ic way. Users who do not wish to
8
+ deal with Singular functions directly usually do not have to worry
9
+ about this interface or Singular options in general since this is
10
+ taken care of by higher level functions.
11
+
12
+ We compute a Groebner basis for Cyclic-5 in two different contexts::
13
+
14
+ sage: P.<a,b,c,d,e> = PolynomialRing(GF(127))
15
+ sage: I = sage.rings.ideal.Cyclic(P)
16
+ sage: import sage.libs.singular.function_factory
17
+ sage: std = sage.libs.singular.function_factory.ff.std
18
+
19
+ By default, tail reductions are performed::
20
+
21
+ sage: from sage.libs.singular.option import opt, opt_ctx
22
+ sage: opt['red_tail']
23
+ True
24
+ sage: red = std(I)[-1]; red
25
+ d^2*e^6 + 28*b*c*d + ...
26
+
27
+ If we don't want this, we can create an option context, which disables
28
+ this::
29
+
30
+ sage: with opt_ctx(red_tail=False, red_sb=False):
31
+ ....: notred = std(I)[-1]; notred
32
+ d^2*e^6 + ...
33
+ sage: len(list(red)) < len(list(notred))
34
+ True
35
+
36
+ However, this does not affect the global state::
37
+
38
+ sage: opt['red_tail']
39
+ True
40
+
41
+ On the other hand, any assignment to an option object will immediately
42
+ change the global state::
43
+
44
+ sage: opt['red_tail'] = False
45
+ sage: opt['red_tail']
46
+ False
47
+ sage: opt['red_tail'] = True
48
+ sage: opt['red_tail']
49
+ True
50
+
51
+ Assigning values within an option context, only affects this context::
52
+
53
+ sage: with opt_ctx:
54
+ ....: opt['red_tail'] = False
55
+
56
+ sage: opt['red_tail']
57
+ True
58
+
59
+ Option contexts can also be safely stacked::
60
+
61
+ sage: with opt_ctx:
62
+ ....: opt['red_tail'] = False
63
+ ....: print(opt)
64
+ ....: with opt_ctx:
65
+ ....: opt['red_through'] = False
66
+ ....: print(opt)
67
+ general options for libSingular (current value 0x00000082)
68
+ general options for libSingular (current value 0x00000002)
69
+
70
+ sage: print(opt)
71
+ general options for libSingular (current value 0x02000082)
72
+
73
+ Furthermore, the integer valued options ``deg_bound`` and
74
+ ``mult_bound`` can be used::
75
+
76
+ sage: R.<x,y> = QQ[]
77
+ sage: I = R*[x^3+y^2,x^2*y+1]
78
+ sage: opt['deg_bound'] = 2
79
+ sage: std(I)
80
+ [x^2*y + 1, x^3 + y^2]
81
+ sage: opt['deg_bound'] = 0
82
+ sage: std(I)
83
+ [y^3 - x, x^2*y + 1, x^3 + y^2]
84
+
85
+ The same interface is available for verbosity options::
86
+
87
+ sage: from sage.libs.singular.option import opt_verb
88
+ sage: opt_verb['not_warn_sb']
89
+ False
90
+ sage: opt.reset_default() # needed to avoid side effects
91
+ sage: opt_verb.reset_default() # needed to avoid side effects
92
+
93
+ AUTHOR:
94
+
95
+ - Martin Albrecht (2009-08): initial implementation
96
+ - Martin Albrecht (2010-01): better interface, verbosity options
97
+ - Simon King (2010-07): Python-ic option names; deg_bound and mult_bound
98
+ """
99
+ # ****************************************************************************
100
+ # Copyright (C) 2010 Martin Albrecht <M.R.Albrecht@rhul.ac.uk>
101
+ #
102
+ # Distributed under the terms of the GNU General Public License (GPL)
103
+ # https://www.gnu.org/licenses/
104
+ # ****************************************************************************
105
+
106
+ from sage.libs.singular.decl cimport singular_options, singular_verbose_options, Kstd1_deg, Kstd1_mu
107
+
108
+ from sage.libs.singular.decl cimport OPT_PROT, OPT_REDSB, OPT_NOT_BUCKETS, OPT_NOT_SUGAR, OPT_SUGARCRIT, OPT_REDTHROUGH, OPT_DEGBOUND, OPT_MULTBOUND
109
+ from sage.libs.singular.decl cimport OPT_RETURN_SB, OPT_FASTHC, OPT_OLDSTD, OPT_REDTAIL, OPT_INTSTRATEGY, OPT_NOTREGULARITY
110
+ from sage.libs.singular.decl cimport OPT_WEIGHTM, Sy_bit
111
+
112
+ from sage.libs.singular.decl cimport V_SHOW_MEM, V_YACC, V_REDEFINE, V_READING, V_LOAD_LIB, V_DEBUG_LIB
113
+ from sage.libs.singular.decl cimport V_LOAD_PROC, V_DEF_RES, V_SHOW_USE, V_IMAP, V_PROMPT
114
+ from sage.libs.singular.decl cimport V_NSB, V_CONTENTSB, V_CANCELUNIT
115
+
116
+ _options_py_to_singular={'return_sb':'returnSB',
117
+ 'fast_hc':'fastHC',
118
+ 'inf_red_tail':'infRedTail',
119
+ 'int_strategy':'intStrategy',
120
+ 'not_regularity':'notRegularity',
121
+ 'not_sugar':'notSugar',
122
+ 'not_buckets':'notBuckets',
123
+ 'qring_nf':'qringNF',
124
+ 'redsb':'redSB',
125
+ 'red_sb':'redSB',
126
+ 'red_tail':'redTail',
127
+ 'red_through':'redThrough',
128
+ 'sugar_crit':'sugarCrit',
129
+ 'weight_m':'weightM',
130
+ 'content_sb':'contentSB',
131
+ 'mult_bound':'multBound',
132
+ 'deg_bound':'degBound',
133
+ 'imap':'Imap',
134
+ 'debug_lib':'debugLib',
135
+ 'def_res':'defRes',
136
+ 'load_lib':'loadLib',
137
+ 'load_proc':'loadProc',
138
+ 'not_warn_sb':'notWarnSB'}
139
+
140
+ cdef class LibSingularOptions_abstract:
141
+ """
142
+ Abstract Base Class for libSingular options.
143
+ """
144
+ cdef unsigned int *global_options
145
+ cdef object name
146
+ cdef object name_map
147
+
148
+ def __init__(self, **kwds):
149
+ """
150
+ INPUT:
151
+
152
+ - ``**kwds`` -- all keyword parameters are immediately applied
153
+
154
+ EXAMPLES::
155
+
156
+ sage: from sage.libs.singular.option import LibSingularOptions
157
+ sage: opt = LibSingularOptions(redTail=False)
158
+ sage: opt['redTail']
159
+ False
160
+ sage: opt['redTail'] = True
161
+ sage: opt['redTail']
162
+ True
163
+ sage: opt['deg_bound'] = 2
164
+
165
+ The options can be named in Python or Singular style::
166
+
167
+ sage: opt['degBound']
168
+ 2
169
+ """
170
+ for k,v in kwds.iteritems():
171
+ self[k] = v
172
+
173
+ def __getitem__(self, name):
174
+ """
175
+ EXAMPLES::
176
+
177
+ sage: from sage.libs.singular.option import opt
178
+ sage: opt['red_tail']
179
+ True
180
+ sage: opt['deg_bound'] = 2
181
+
182
+ The options can be named in Python or Singular style::
183
+
184
+ sage: opt['degBound']
185
+ 2
186
+ sage: opt.reset_default() # needed to avoid side effects
187
+ """
188
+ name = _options_py_to_singular.get(name,name)
189
+ if name == "degBound":
190
+ if bool(self.global_options[0] & self.name_map[name]):
191
+ return Kstd1_deg
192
+ return int(0)
193
+ if name == "multBound":
194
+ if bool(self.global_options[0] & self.name_map[name]):
195
+ return Kstd1_mu
196
+ return int(0)
197
+ try:
198
+ return bool(self.global_options[0] & self.name_map[name])
199
+ except KeyError:
200
+ raise NameError("Option '%s' unknown." % (name,))
201
+
202
+ def __setitem__(self, name, value):
203
+ """
204
+ EXAMPLES::
205
+
206
+ sage: from sage.libs.singular.option import opt, opt_ctx
207
+ sage: opt['redTail']
208
+ True
209
+ sage: with opt_ctx:
210
+ ....: opt['redTail'] = False
211
+ ....: opt['redTail']
212
+ False
213
+ sage: opt['red_tail']
214
+ True
215
+ sage: opt.reset_default() # needed to avoid side effects
216
+ """
217
+ name = _options_py_to_singular.get(name,name)
218
+ try:
219
+ if value:
220
+ self.global_options[0] = self.global_options[0] | self.name_map[name]
221
+ else:
222
+ self.global_options[0] = self.global_options[0] & ~self.name_map[name]
223
+ if name == 'degBound':
224
+ global Kstd1_deg
225
+ Kstd1_deg = value
226
+ elif name == 'multBound':
227
+ global Kstd1_mu
228
+ Kstd1_mu = value
229
+ except KeyError:
230
+ raise NameError("Option '%s' unknown." % (name,))
231
+
232
+ def __int__(self):
233
+ """
234
+ EXAMPLES::
235
+
236
+ sage: from sage.libs.singular.option import opt
237
+ sage: hex(int(opt))
238
+ '0x6000082'
239
+ """
240
+ return int(self.global_options[0])
241
+
242
+ def save(self):
243
+ """
244
+ Return a triple of integers that allow reconstruction of the options.
245
+
246
+ EXAMPLES::
247
+
248
+ sage: from sage.libs.singular.option import opt
249
+ sage: opt['deg_bound']
250
+ 0
251
+ sage: opt['red_tail']
252
+ True
253
+ sage: s = opt.save()
254
+ sage: opt['deg_bound'] = 2
255
+ sage: opt['red_tail'] = False
256
+ sage: opt['deg_bound']
257
+ 2
258
+ sage: opt['red_tail']
259
+ False
260
+ sage: opt.load(s)
261
+ sage: opt['deg_bound']
262
+ 0
263
+ sage: opt['red_tail']
264
+ True
265
+ sage: opt.reset_default() # needed to avoid side effects
266
+ """
267
+ return (int(self.global_options[0]), self['deg_bound'], self['mult_bound'])
268
+
269
+ def load(self, value=None):
270
+ """
271
+ EXAMPLES::
272
+
273
+ sage: from sage.libs.singular.option import opt as sopt
274
+ sage: bck = sopt.save(); hex(bck[0]), bck[1], bck[2]
275
+ ('0x6000082', 0, 0)
276
+ sage: sopt['redTail'] = False
277
+ sage: hex(int(sopt))
278
+ '0x4000082'
279
+ sage: sopt.load(bck)
280
+ sage: sopt['redTail']
281
+ True
282
+ """
283
+ if value is None:
284
+ value = (None,0,0)
285
+ self.global_options[0] = int(value[0])
286
+ global Kstd1_deg
287
+ global Kstd1_mu
288
+ Kstd1_deg = value[1]
289
+ Kstd1_mu = value[2]
290
+
291
+ def __repr__(self):
292
+ """
293
+ EXAMPLES::
294
+
295
+ sage: from sage.libs.singular.option import opt as sopt
296
+ sage: sopt
297
+ general options for libSingular (current value 0x06000082)
298
+ """
299
+ return "%s options for libSingular (current value 0x%08x)" % (self.name, self.global_options[0])
300
+
301
+
302
+ cdef class LibSingularOptions(LibSingularOptions_abstract):
303
+ """
304
+ Pythonic Interface to libSingular's options.
305
+
306
+ Supported options are:
307
+
308
+ - ``return_sb`` or ``returnSB`` -- the functions ``syz``,
309
+ ``intersect``, ``quotient``, ``modulo`` return a standard
310
+ base instead of a generating set if ``return_sb``
311
+ is set. This option should not be used for ``lift``.
312
+
313
+ - ``fast_hc`` or ``fastHC`` -- tries to find the highest corner
314
+ of the staircase (HC) as fast as possible during a standard
315
+ basis computation (only used for local orderings).
316
+
317
+ - ``int_strategy`` or ``intStrategy`` -- avoids division of
318
+ coefficients during standard basis computations. This option
319
+ is ring dependent. By default, it is set for rings with
320
+ characteristic 0 and not set for all other rings.
321
+
322
+ - ``lazy`` -- uses a more lazy approach in std computations, which
323
+ was used in SINGULAR version before 2-0 (and which may lead to
324
+ faster or slower computations, depending on the example).
325
+
326
+ - ``length`` -- select shorter reducers in std computations
327
+
328
+ - ``not_regularity`` or ``notRegularity`` -- disables the
329
+ regularity bound for ``res`` and ``mres``
330
+
331
+ - ``not_sugar`` or ``notSugar`` -- disables the sugar strategy
332
+ during standard basis computation
333
+
334
+ - ``not_buckets`` or ``notBuckets`` -- disables the bucket
335
+ representation of polynomials during standard basis
336
+ computations. This option usually decreases the memory
337
+ usage but increases the computation time. It should only
338
+ be set for memory-critical standard basis computations.
339
+
340
+ - ``old_std`` or ``oldStd`` -- uses a more lazy approach in std
341
+ computations, which was used in SINGULAR version before 2-0
342
+ (and which may lead to faster or slower computations, depending
343
+ on the example).
344
+
345
+ - ``prot`` -- shows protocol information indicating the progress
346
+ during the following computations: ``facstd``, ``fglm``,
347
+ ``groebner``, ``lres``, ``mres``, ``minres``, ``mstd``,
348
+ ``res``, ``slimgb``, ``sres``, ``std``, ``stdfglm``,
349
+ ``stdhilb``, ``syz``.
350
+
351
+ - ``red_sb`` or ``redSB`` -- computes a reduced standard basis in
352
+ any standard basis computation
353
+
354
+ - ``red_tail`` or ``redTail`` -- reduction of the tails of
355
+ polynomials during standard basis computations. This option
356
+ is ring dependent. By default, it is set for rings with global
357
+ degree orderings and not set for all other rings.
358
+
359
+ - ``red_through`` or ``redThrough`` -- for inhomogeneous input,
360
+ polynomial reductions during standard basis computations are
361
+ never postponed, but always finished through. This option is
362
+ ring dependent. By default, it is set for rings with global
363
+ degree orderings and not set for all other rings.
364
+
365
+ - ``sugar_crit`` or ``sugarCrit`` -- uses criteria similar to the
366
+ homogeneous case to keep more useless pairs
367
+
368
+ - ``weight_m`` or ``weightM`` -- automatically computes suitable
369
+ weights for the weighted ecart and the weighted sugar method
370
+
371
+ In addition, two integer valued parameters are supported, namely:
372
+
373
+ - ``deg_bound`` or ``degBound`` -- the standard basis computation
374
+ is stopped if the total (weighted) degree exceeds ``deg_bound``.
375
+ ``deg_bound`` should not be used for a global ordering with
376
+ inhomogeneous input. Reset this bound by setting ``deg_bound``
377
+ to 0. The exact meaning of "degree" depends on the ring ordering
378
+ and the command: ``slimgb`` uses always the total degree with
379
+ weights 1, ``std`` does so for block orderings, only.
380
+
381
+ - ``mult_bound`` or ``multBound`` -- the standard basis computation
382
+ is stopped if the ideal is zero-dimensional in a ring with local
383
+ ordering and its multiplicity is lower than ``mult_bound``.
384
+ Reset this bound by setting ``mult_bound`` to 0.
385
+
386
+ EXAMPLES::
387
+
388
+ sage: from sage.libs.singular.option import LibSingularOptions
389
+ sage: libsingular_options = LibSingularOptions()
390
+ sage: libsingular_options
391
+ general options for libSingular (current value 0x06000082)
392
+
393
+ Here we demonstrate the intended way of using libSingular options::
394
+
395
+ sage: R.<x,y> = QQ[]
396
+ sage: I = R*[x^3+y^2,x^2*y+1]
397
+ sage: I.groebner_basis(deg_bound=2)
398
+ [x^3 + y^2, x^2*y + 1]
399
+ sage: I.groebner_basis()
400
+ [x^3 + y^2, x^2*y + 1, y^3 - x]
401
+
402
+ The option ``mult_bound`` is only relevant in the local case::
403
+
404
+ sage: from sage.libs.singular.option import opt
405
+ sage: Rlocal.<x,y,z> = PolynomialRing(QQ, order='ds')
406
+ sage: x^2<x
407
+ True
408
+ sage: J = [x^7+y^7+z^6,x^6+y^8+z^7,x^7+y^5+z^8, x^2*y^3+y^2*z^3+x^3*z^2,x^3*y^2+y^3*z^2+x^2*z^3]*Rlocal
409
+ sage: J.groebner_basis(mult_bound=100)
410
+ [x^3*y^2 + y^3*z^2 + x^2*z^3, x^2*y^3 + x^3*z^2 + y^2*z^3, y^5, x^6 + x*y^4*z^5, x^4*z^2 - y^4*z^2 - x^2*y*z^3 + x*y^2*z^3, z^6 - x*y^4*z^4 - x^3*y*z^5]
411
+ sage: opt['red_tail'] = True # the previous commands reset opt['red_tail'] to False
412
+ sage: J.groebner_basis()
413
+ [x^3*y^2 + y^3*z^2 + x^2*z^3, x^2*y^3 + x^3*z^2 + y^2*z^3, y^5, x^6, x^4*z^2 - y^4*z^2 - x^2*y*z^3 + x*y^2*z^3, z^6, y^4*z^3 - y^3*z^4 - x^2*z^5, x^3*y*z^4 - x^2*y^2*z^4 + x*y^3*z^4, x^3*z^5, x^2*y*z^5 + y^3*z^5, x*y^3*z^5]
414
+ """
415
+ def __init__(self, **kwds):
416
+ """
417
+ Create a new option interface.
418
+
419
+ EXAMPLES::
420
+
421
+ sage: from sage.libs.singular.option import LibSingularOptions
422
+ sage: libsingular_options = LibSingularOptions()
423
+ sage: libsingular_options
424
+ general options for libSingular (current value 0x...)
425
+ """
426
+ self.global_options = &singular_options
427
+ self.name = "general"
428
+ self.name_map = {"prot": Sy_bit(OPT_PROT),
429
+ "redSB": Sy_bit(OPT_REDSB),
430
+ "notBuckets": Sy_bit(OPT_NOT_BUCKETS),
431
+ "notSugar": Sy_bit(OPT_NOT_SUGAR),
432
+ "sugarCrit": Sy_bit(OPT_SUGARCRIT),
433
+ "redThrough": Sy_bit(OPT_REDTHROUGH),
434
+ "returnSB": Sy_bit(OPT_RETURN_SB),
435
+ "fastHC": Sy_bit(OPT_FASTHC),
436
+ "oldStd": Sy_bit(OPT_OLDSTD),
437
+ "redTail": Sy_bit(OPT_REDTAIL),
438
+ "intStrategy": Sy_bit(OPT_INTSTRATEGY),
439
+ "notRegularity": Sy_bit(OPT_NOTREGULARITY),
440
+ "weightM": Sy_bit(OPT_WEIGHTM),
441
+ "degBound": Sy_bit(OPT_DEGBOUND),
442
+ "multBound": Sy_bit(OPT_MULTBOUND)}
443
+ LibSingularOptions_abstract.__init__(self, **kwds)
444
+
445
+ def reset_default(self):
446
+ """
447
+ Reset libSingular's default options.
448
+
449
+ EXAMPLES::
450
+
451
+ sage: from sage.libs.singular.option import opt
452
+ sage: opt['red_tail']
453
+ True
454
+ sage: opt['red_tail'] = False
455
+ sage: opt['red_tail']
456
+ False
457
+ sage: opt['deg_bound']
458
+ 0
459
+ sage: opt['deg_bound'] = 2
460
+ sage: opt['deg_bound']
461
+ 2
462
+ sage: opt.reset_default()
463
+ sage: opt['red_tail']
464
+ True
465
+ sage: opt['deg_bound']
466
+ 0
467
+ """
468
+ from sage.libs.singular.singular import _saved_options
469
+ self.load(_saved_options)
470
+
471
+
472
+ #############
473
+
474
+ cdef class LibSingularVerboseOptions(LibSingularOptions_abstract):
475
+ """
476
+ Pythonic Interface to libSingular's verbosity options.
477
+
478
+ Supported options are:
479
+
480
+ - ``mem`` -- shows memory usage in square brackets
481
+ - ``yacc`` -- only available in debug version
482
+ - ``redefine`` -- warns about variable redefinitions
483
+ - ``reading`` -- shows the number of characters read from a file
484
+ - ``loadLib`` or ``load_lib`` -- shows loading of libraries
485
+ - ``debugLib`` or ``debug_lib`` -- warns about syntax errors
486
+ when loading a library
487
+ - ``loadProc`` or ``load_proc`` -- shows loading of procedures
488
+ from libraries
489
+ - ``defRes`` or ``def_res`` -- shows the names of the syzygy
490
+ modules while converting ``resolution`` to ``list``
491
+ - ``usage`` -- shows correct usage in error messages
492
+ - ``Imap`` or ``imap`` -- shows the mapping of variables with
493
+ the ``fetch`` and ``imap`` commands
494
+ - ``notWarnSB`` or ``not_warn_sb`` -- do not warn if
495
+ a basis is not a standard basis
496
+ - ``contentSB`` or ``content_sb`` -- avoids to divide by the
497
+ content of a polynomial in ``std`` and related algorithms.
498
+ Should usually not be used.
499
+ - ``cancelunit`` -- avoids to divide polynomials by non-constant
500
+ units in ``std`` in the local case. Should usually not be used
501
+
502
+ EXAMPLES::
503
+
504
+ sage: from sage.libs.singular.option import LibSingularVerboseOptions
505
+ sage: libsingular_verbose = LibSingularVerboseOptions()
506
+ sage: libsingular_verbose
507
+ verbosity options for libSingular (current value 0x00002851)
508
+ """
509
+ def __init__(self, **kwds):
510
+ """
511
+ Create a new option interface.
512
+
513
+ EXAMPLES::
514
+
515
+ sage: from sage.libs.singular.option import LibSingularVerboseOptions
516
+ sage: libsingular_verb_options = LibSingularVerboseOptions()
517
+ sage: libsingular_verb_options
518
+ verbosity options for libSingular (current value 0x00002851)
519
+ """
520
+ self.global_options = &singular_verbose_options
521
+ self.name = "verbosity"
522
+ self.name_map = {"mem": Sy_bit(V_SHOW_MEM),
523
+ "yacc": Sy_bit(V_YACC),
524
+ "redefine": Sy_bit(V_REDEFINE),
525
+ "reading": Sy_bit(V_READING),
526
+ "loadLib": Sy_bit(V_LOAD_LIB),
527
+ "debugLib": Sy_bit(V_DEBUG_LIB),
528
+ "loadProc": Sy_bit(V_LOAD_PROC),
529
+ "defRes": Sy_bit(V_DEF_RES),
530
+ "usage": Sy_bit(V_SHOW_USE),
531
+ "Imap": Sy_bit(V_IMAP),
532
+ "prompt": Sy_bit(V_PROMPT),
533
+ "notWarnSB":Sy_bit(V_NSB),
534
+ "contentSB":Sy_bit(V_CONTENTSB),
535
+ "cancelunit":Sy_bit(V_CANCELUNIT),
536
+ }
537
+ LibSingularOptions_abstract.__init__(self, **kwds)
538
+
539
+ def reset_default(self):
540
+ """
541
+ Return to libSingular's default verbosity options.
542
+
543
+ EXAMPLES::
544
+
545
+ sage: from sage.libs.singular.option import opt_verb
546
+ sage: opt_verb['not_warn_sb']
547
+ False
548
+ sage: opt_verb['not_warn_sb'] = True
549
+ sage: opt_verb['not_warn_sb']
550
+ True
551
+ sage: opt_verb.reset_default()
552
+ sage: opt_verb['not_warn_sb']
553
+ False
554
+ """
555
+ from sage.libs.singular.singular import _saved_verbose_options
556
+ self.global_options[0] = int(_saved_verbose_options)
557
+
558
+ cdef class LibSingularOptionsContext:
559
+ """
560
+ Option context
561
+
562
+ This object localizes changes to options.
563
+
564
+ EXAMPLES::
565
+
566
+ sage: from sage.libs.singular.option import opt, opt_ctx
567
+ sage: opt
568
+ general options for libSingular (current value 0x06000082)
569
+
570
+ ::
571
+
572
+ sage: with opt_ctx(redTail=False):
573
+ ....: print(opt)
574
+ ....: with opt_ctx(redThrough=False):
575
+ ....: print(opt)
576
+ general options for libSingular (current value 0x04000082)
577
+ general options for libSingular (current value 0x04000002)
578
+
579
+ sage: print(opt)
580
+ general options for libSingular (current value 0x06000082)
581
+ """
582
+ cdef list bck
583
+ cdef list bck_degBound
584
+ cdef list bck_multBound
585
+ cdef public LibSingularOptions_abstract opt
586
+ cdef object options
587
+
588
+ def __init__(self, LibSingularOptions_abstract opt, **kwds):
589
+ """
590
+ Create a new context.
591
+
592
+ EXAMPLES::
593
+
594
+ sage: from sage.libs.singular.option import LibSingularOptionsContext, opt
595
+ sage: LibSingularOptionsContext(opt)
596
+ general options context for libSingular
597
+ """
598
+ self.bck = []
599
+ self.bck_degBound = []
600
+ self.bck_multBound = []
601
+ self.options = kwds
602
+ self.opt = opt
603
+
604
+ def __enter__(self):
605
+ """
606
+ EXAMPLES::
607
+
608
+ sage: from sage.libs.singular.option import opt, opt_ctx
609
+ sage: opt['redTail']
610
+ True
611
+ sage: with opt_ctx(redTail=False):
612
+ ....: opt['redTail']
613
+ False
614
+ """
615
+ self.bck.append(self.opt.global_options[0])
616
+ self.bck_degBound.append(Kstd1_deg)
617
+ self.bck_multBound.append(Kstd1_mu)
618
+ opt = self.opt.__class__()
619
+ for k,v in self.options.iteritems():
620
+ opt[k] = v
621
+
622
+ def __call__(self, **kwds):
623
+ """
624
+ Return a new option context where ``**kwds`` are applied.
625
+
626
+ EXAMPLES::
627
+
628
+ sage: from sage.libs.singular.option import opt, opt_ctx
629
+ sage: opt['redTail']
630
+ True
631
+ sage: with opt_ctx(redTail=False):
632
+ ....: opt['redTail']
633
+ False
634
+ """
635
+ new = self.__class__(self.opt, **kwds)
636
+ return new
637
+
638
+ def __exit__(self, typ, value, tb):
639
+ """
640
+ EXAMPLES::
641
+
642
+ sage: from sage.libs.singular.option import opt, opt_ctx
643
+ sage: opt['redTail']
644
+ True
645
+ sage: with opt_ctx(redTail=False):
646
+ ....: opt['redTail']
647
+ False
648
+ """
649
+ self.opt.global_options[0] = self.bck.pop()
650
+ global Kstd1_deg
651
+ global Kstd1_mu
652
+ Kstd1_deg = self.bck_degBound.pop()
653
+ Kstd1_mu = self.bck_multBound.pop()
654
+
655
+ def __repr__(self) -> str:
656
+ """
657
+ EXAMPLES::
658
+
659
+ sage: from sage.libs.singular.option import opt_ctx
660
+ sage: opt_ctx
661
+ general options context for libSingular
662
+ """
663
+ return "%s options context for libSingular" % (self.opt.name)
664
+
665
+
666
+ opt = LibSingularOptions()
667
+ opt.reset_default()
668
+ opt_verb = LibSingularVerboseOptions()
669
+ opt_verb.reset_default()
670
+ opt_ctx = LibSingularOptionsContext(opt)
671
+ opt_verb_ctx = LibSingularOptionsContext(opt_verb)