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 @@
1
+ # sage_setup: distribution = sagemath-singular
@@ -0,0 +1,428 @@
1
+ # sage_setup: distribution = sagemath-singular
2
+ # sage.doctest: needs sage.symbolic
3
+ """
4
+ Comparison of Symbolic Expressions
5
+
6
+ There are two useful ways to compare symbolic expressions:
7
+
8
+ * :func:`print_order` is how the terms are ordered. This is always
9
+ defined. If you need a fast comparison, this is it.
10
+
11
+ * :func:`math_order` is the "mathematical" comparison. This may raise
12
+ an exception if the answer is unknown (to Sage) or cannot, in
13
+ principle, evaluated to a boolean (for example, if it involves
14
+ symbolic variables). Can be very slow as it potentially calls
15
+ Maxima to prove the inequality.
16
+
17
+ There is also a mixed version:
18
+
19
+ * :func:`mixed_order` which is print order if variables are present,
20
+ and mathematical/numeric if not. This should enable quick and
21
+ correct results.
22
+ """
23
+
24
+ # ****************************************************************************
25
+ # Copyright (C) 2014 Volker Braun
26
+ # Copyright (C) 2016 Ralf Stephan
27
+ # Copyright (C) 2017 Frédéric Chapoton
28
+ # Copyright (C) 2021 Michael Orlitzky
29
+ # Copyright (C) 2021 Jonathan Kliem
30
+ #
31
+ # This program is free software: you can redistribute it and/or modify
32
+ # it under the terms of the GNU General Public License as published by
33
+ # the Free Software Foundation, either version 2 of the License, or
34
+ # (at your option) any later version.
35
+ # https://www.gnu.org/licenses/
36
+ # ****************************************************************************
37
+
38
+ from cpython cimport *
39
+
40
+
41
+ cdef int print_order_c(Expression lhs, Expression rhs) noexcept:
42
+ """
43
+ Print comparison.
44
+
45
+ See :meth:`print_order` for details.
46
+ """
47
+ return print_order_compare((<Expression>lhs)._gobj, (<Expression>rhs)._gobj)
48
+
49
+
50
+ cpdef int print_order(lhs, rhs) except -2:
51
+ """
52
+ Comparison in the print order
53
+
54
+ INPUT:
55
+
56
+ - ``lhs``, ``rhs`` -- two symbolic expressions or something that
57
+ can be converted to one
58
+
59
+ OUTPUT:
60
+
61
+ Either `-1`, `0`, or `+1` indicating the comparison. An exception
62
+ is raised if the arguments cannot be converted into the symbolic
63
+ ring.
64
+
65
+ EXAMPLES::
66
+
67
+ sage: from sage.symbolic.expression import print_order
68
+ sage: print_order(1, oo)
69
+ 1
70
+ sage: print_order(e, oo)
71
+ -1
72
+ sage: print_order(pi, oo)
73
+ 1
74
+ sage: print_order(1, sqrt(2))
75
+ 1
76
+
77
+ Check that :issue:`12967` is fixed::
78
+
79
+ sage: print_order(SR(oo), sqrt(2))
80
+ 1
81
+ """
82
+ if not isinstance(lhs, Expression):
83
+ from sage.symbolic.ring import SR
84
+ lhs = SR(lhs)
85
+ if not isinstance(rhs, Expression):
86
+ from sage.symbolic.ring import SR
87
+ rhs = SR(rhs)
88
+ return print_order_c(lhs, rhs)
89
+
90
+
91
+ class _print_key():
92
+
93
+ def __init__(self, ex):
94
+ """
95
+ Sort key to sort in print order.
96
+
97
+ INPUT:
98
+
99
+ - ``ex`` -- symbolic expression or something that can be
100
+ converted into one
101
+
102
+ EXAMPLES::
103
+
104
+ sage: from sage.symbolic.expression import _print_key
105
+ sage: _print_key(1)
106
+ <sage.symbolic.expression._print_key object at 0x...>
107
+ """
108
+ if not isinstance(ex, Expression):
109
+ from sage.symbolic.ring import SR
110
+ ex = SR(ex)
111
+ self.ex = ex
112
+
113
+ def __lt__(self, other):
114
+ """
115
+ Implement "less than" to make the key comparable.
116
+
117
+ INPUT:
118
+
119
+ - ``other`` -- another :class:`_print_key` instance
120
+
121
+ OUTPUT: boolean
122
+
123
+ EXAMPLES::
124
+
125
+ sage: from sage.symbolic.expression import print_order, _print_key
126
+ sage: print_order(1, 2)
127
+ -1
128
+ sage: _print_key(1) < _print_key(2)
129
+ True
130
+ sage: print_order(1, sqrt(2))
131
+ 1
132
+ sage: _print_key(1) < _print_key(sqrt(2))
133
+ False
134
+ """
135
+ return print_order_c(self.ex, other.ex) < 0
136
+
137
+
138
+ cpdef print_sorted(expressions):
139
+ """
140
+ Sort a list in print order.
141
+
142
+ INPUT:
143
+
144
+ - ``expressions`` -- list/tuple/iterable of symbolic
145
+ expressions, or something that can be converted to one
146
+
147
+ OUTPUT: the list sorted by :meth:`print_order`
148
+
149
+ EXAMPLES::
150
+
151
+ sage: from sage.symbolic.expression import print_sorted
152
+ sage: print_sorted([SR(1), SR(e), SR(pi), sqrt(2)])
153
+ [e, sqrt(2), pi, 1]
154
+ """
155
+ return sorted(expressions, key=_print_key)
156
+
157
+
158
+ class _math_key():
159
+
160
+ def __init__(self, ex):
161
+ """
162
+ Sort key to sort in "Mathematics" order.
163
+
164
+ INPUT:
165
+
166
+ - ``ex`` -- symbolic expression or something that can be
167
+ converted into one
168
+
169
+ EXAMPLES::
170
+
171
+ sage: from sage.symbolic.expression import _math_key
172
+ sage: _math_key(1)
173
+ <sage.symbolic.expression._math_key object at 0x...>
174
+ """
175
+ if not isinstance(ex, Expression):
176
+ from sage.symbolic.ring import SR
177
+ ex = SR(ex)
178
+ self.ex = ex
179
+
180
+ def __lt__(self, other):
181
+ """
182
+ Implement "less than" to make the key comparable.
183
+
184
+ INPUT:
185
+
186
+ - ``other`` -- another :class:`_print_key` instance
187
+
188
+ OUTPUT: boolean; a :exc:`ValueError` is raised if we do not know how to
189
+ perform the comparison
190
+
191
+ EXAMPLES::
192
+
193
+ sage: from sage.symbolic.expression import _math_key
194
+ sage: _math_key(1) < _math_key(2)
195
+ True
196
+ sage: _math_key(1) < _math_key(sqrt(2))
197
+ True
198
+
199
+ Check that :issue:`12967` is fixed::
200
+
201
+ sage: _math_key(1) < _math_key(oo)
202
+ True
203
+ """
204
+ less_than = bool(self.ex < other.ex)
205
+ greater_than = bool(self.ex > other.ex)
206
+ if less_than:
207
+ if not greater_than:
208
+ return True
209
+ else:
210
+ assert False # unreachable
211
+ else:
212
+ if greater_than:
213
+ return False
214
+ else:
215
+ raise ValueError('cannot compare {0} and {1}'.format(self.ex, other.ex))
216
+
217
+
218
+ cpdef math_sorted(expressions):
219
+ """
220
+ Sort a list of symbolic numbers in the "Mathematics" order.
221
+
222
+ INPUT:
223
+
224
+ - ``expressions`` -- list/tuple/iterable of symbolic
225
+ expressions, or something that can be converted to one
226
+
227
+ OUTPUT:
228
+
229
+ The list sorted by ascending (real) value. If an entry does not
230
+ define a real value (or plus/minus infinity), or if the comparison
231
+ is not known, a :exc:`ValueError` is raised.
232
+
233
+ EXAMPLES::
234
+
235
+ sage: from sage.symbolic.expression import math_sorted
236
+ sage: math_sorted([SR(1), SR(e), SR(pi), sqrt(2)])
237
+ [1, sqrt(2), e, pi]
238
+ """
239
+ return sorted(expressions, key=_math_key)
240
+
241
+
242
+ cpdef int mixed_order(lhs, rhs) except -2:
243
+ """
244
+ Comparison in the mixed order
245
+
246
+ INPUT:
247
+
248
+ - ``lhs``, ``rhs`` -- two symbolic expressions or something that
249
+ can be converted to one
250
+
251
+ OUTPUT:
252
+
253
+ Either `-1`, `0`, or `+1` indicating the comparison. An exception
254
+ is raised if the arguments cannot be converted into the symbolic
255
+ ring.
256
+
257
+ EXAMPLES::
258
+
259
+ sage: from sage.symbolic.expression import mixed_order
260
+ sage: mixed_order(1, oo)
261
+ -1
262
+ sage: mixed_order(e, oo)
263
+ -1
264
+ sage: mixed_order(pi, oo)
265
+ -1
266
+ sage: mixed_order(1, sqrt(2))
267
+ -1
268
+ sage: mixed_order(x + x^2, x*(x+1))
269
+ -1
270
+
271
+ Check that :issue:`12967` is fixed::
272
+
273
+ sage: mixed_order(SR(oo), sqrt(2))
274
+ 1
275
+
276
+ Ensure that :issue:`32185` is fixed::
277
+
278
+ sage: mixed_order(pi, 0)
279
+ 1
280
+ sage: mixed_order(golden_ratio, 0)
281
+ 1
282
+ sage: mixed_order(log2, 0)
283
+ 1
284
+ """
285
+ if lhs is rhs:
286
+ return 0
287
+ if not isinstance(lhs, Expression):
288
+ from sage.symbolic.ring import SR
289
+ lhs = SR(lhs)
290
+ if not isinstance(rhs, Expression):
291
+ from sage.symbolic.ring import SR
292
+ rhs = SR(rhs)
293
+ less_than = _mixed_key(lhs) < _mixed_key(rhs)
294
+ if less_than:
295
+ return -1
296
+ greater_than = _mixed_key(lhs) > _mixed_key(rhs)
297
+ if greater_than:
298
+ return 1
299
+ else:
300
+ return 0
301
+
302
+
303
+ class _mixed_key():
304
+
305
+ def __init__(self, ex):
306
+ """
307
+ Sort key to sort in mixed order.
308
+
309
+ Mixed order is print order if variables are present,
310
+ mathematical/numeric if not. This should enable quick
311
+ and correct results.
312
+
313
+ INPUT:
314
+
315
+ - ``ex`` -- symbolic expression or something that can be
316
+ converted into one
317
+
318
+ EXAMPLES::
319
+
320
+ sage: from sage.symbolic.expression import _mixed_key
321
+ sage: _mixed_key(1)
322
+ <sage.symbolic.expression._mixed_key object at 0x...>
323
+ """
324
+ if not isinstance(ex, Expression):
325
+ from sage.symbolic.ring import SR
326
+ ex = SR(ex)
327
+ self.ex = ex
328
+
329
+ def __lt__(self, other):
330
+ """
331
+ Implement "less than" to make the key comparable.
332
+
333
+ INPUT:
334
+
335
+ - ``other`` -- another :class:`_mixed_key` instance
336
+
337
+ OUTPUT: boolean; a :exc:`ValueError` is raised if we do not know how to
338
+ perform the comparison
339
+
340
+ EXAMPLES::
341
+
342
+ sage: from sage.symbolic.expression import _mixed_key
343
+ sage: _mixed_key(1) < _mixed_key(2)
344
+ True
345
+ sage: _mixed_key(1) < _mixed_key(sqrt(2))
346
+ True
347
+
348
+ Check that :issue:`12967` is fixed::
349
+
350
+ sage: _mixed_key(1) < _mixed_key(oo)
351
+ True
352
+ """
353
+ from sage.rings.real_mpfi import RIF
354
+ selfv = len(self.ex.variables())
355
+ otherv = len(other.ex.variables())
356
+ if selfv:
357
+ if otherv:
358
+ return _print_key(self.ex) < _print_key(other.ex)
359
+ else:
360
+ return False
361
+ else:
362
+ if otherv:
363
+ return True
364
+
365
+ # no variables involved from here on
366
+ rel = self.ex < other.ex
367
+ if (self.ex.is_infinity() or other.ex.is_infinity()):
368
+ pynac_result = decide_relational((<Expression>rel)._gobj)
369
+ if pynac_result == relational_undecidable:
370
+ raise ValueError('cannot compare {0} and {1}'.format(self.ex, other.ex))
371
+ return pynac_result == relational_true
372
+
373
+ det_ex = self.ex - other.ex
374
+ if not has_symbol_or_function((<Expression>rel)._gobj) and not det_ex.is_constant():
375
+ while hasattr(det_ex, 'pyobject') and isinstance(det_ex, Expression):
376
+ try:
377
+ det_ex = det_ex.pyobject()
378
+ except TypeError:
379
+ break
380
+ if not isinstance(det_ex, Expression):
381
+ return det_ex < 0
382
+ from sage.rings.qqbar import QQbar
383
+ try:
384
+ from sage.rings.qqbar import QQbar
385
+ num = QQbar(det_ex)
386
+ except (TypeError, AttributeError,ValueError,NotImplementedError):
387
+ try:
388
+ num = det_ex.expand().n(RIF.prec()+5)
389
+ except (TypeError, AttributeError):
390
+ raise ValueError('cannot compare {0} and {1}'.format(self.ex, other.ex))
391
+ else:
392
+ return num < 0
393
+ else:
394
+ return num < 0
395
+
396
+ # here we have expressions containing functions
397
+ try:
398
+ num = det_ex.expand().n(RIF.prec()+5)
399
+ except (TypeError, AttributeError):
400
+ raise ValueError('cannot compare {0} and {1}'.format(self.ex, other.ex))
401
+ else:
402
+ return num < 0
403
+
404
+
405
+ cpdef mixed_sorted(expressions):
406
+ """
407
+ Sort a list of symbolic numbers in the "Mixed" order.
408
+
409
+ INPUT:
410
+
411
+ - ``expressions`` -- list/tuple/iterable of symbolic
412
+ expressions, or something that can be converted to one
413
+
414
+ OUTPUT:
415
+
416
+ In the list the numeric values are sorted by ascending (real) value,
417
+ and the expressions with variables according to print order.
418
+ If an entry does not
419
+ define a real value (or plus/minus infinity), or if the comparison
420
+ is not known, a :exc:`ValueError` is raised.
421
+
422
+ EXAMPLES::
423
+
424
+ sage: from sage.symbolic.expression import mixed_sorted
425
+ sage: mixed_sorted([SR(1), SR(e), SR(pi), sqrt(2), x, sqrt(x), sin(1/x)])
426
+ [1, sqrt(2), e, pi, sin(1/x), sqrt(x), x]
427
+ """
428
+ return sorted(expressions, key=_mixed_key)
@@ -0,0 +1,178 @@
1
+ # sage_setup: distribution = sagemath-singular
2
+ # sage.doctest: needs sage.symbolic
3
+ """
4
+ The constant `e`
5
+ """
6
+
7
+ # ****************************************************************************
8
+ # Copyright (C) 2008 William Stein <wstein@gmail.com>
9
+ # Copyright (C) 2008-2009 Burcin Erocal <burcin@erocal.org>
10
+ # Copyright (C) 2009-2012 Mike Hansen <mhansen@gmail.com>
11
+ # Copyright (C) 2010 David Kirkby
12
+ # Copyright (C) 2012 Karl-Dieter Crisman
13
+ #
14
+ # This program is free software: you can redistribute it and/or modify
15
+ # it under the terms of the GNU General Public License as published by
16
+ # the Free Software Foundation, either version 2 of the License, or
17
+ # (at your option) any later version.
18
+ # https://www.gnu.org/licenses/
19
+ # ****************************************************************************
20
+
21
+ # keep exp(1) for fast access
22
+ # this is initialized in the constructor of the class E below to prevent
23
+ # circular imports while loading the library
24
+
25
+ # Note, the nearest IEEE 754 value of e is NOT the same as the correctly
26
+ # rounded decimal value of e.
27
+ # The numerical value of e = 2.71828182845904523536...
28
+ # Correctly rounded decimal number = 2.7182818284590452
29
+ # Nearest IEEE 754 format number = 2.7182818284590451
30
+ # Value returned on some or all AMD/Intel CPUs = 2.7182818284590451
31
+ # On Sun Blade 1000 with SPARC processors = 2.7182818284590455
32
+
33
+ cdef object exp_one
34
+
35
+ cdef class E(Expression):
36
+ def __init__(self):
37
+ r"""
38
+ Dummy class to represent base of the natural logarithm.
39
+
40
+ The base of the natural logarithm ``e`` is not a constant in GiNaC/Sage.
41
+ It is represented by ``exp(1)``.
42
+
43
+ This class provides a dummy object that behaves well under addition,
44
+ multiplication, etc. and on exponentiation calls the function ``exp``.
45
+
46
+ EXAMPLES:
47
+
48
+ The constant defined at the top level is just ``exp(1)``::
49
+
50
+ sage: e.operator()
51
+ exp
52
+ sage: e.operands()
53
+ [1]
54
+
55
+ Arithmetic works::
56
+
57
+ sage: e + 2
58
+ e + 2
59
+ sage: 2 + e
60
+ e + 2
61
+ sage: 2*e
62
+ 2*e
63
+ sage: e*2
64
+ 2*e
65
+ sage: x*e
66
+ x*e
67
+ sage: var('a,b')
68
+ (a, b)
69
+ sage: t = e^(a+b); t
70
+ e^(a + b)
71
+ sage: t.operands()
72
+ [a + b]
73
+
74
+ Numeric evaluation, conversion to other systems, and pickling works
75
+ as expected. Note that these are properties of the :func:`exp` function,
76
+ not this class::
77
+
78
+ sage: RR(e)
79
+ 2.71828182845905
80
+ sage: R = RealField(200); R
81
+ Real Field with 200 bits of precision
82
+ sage: R(e)
83
+ 2.7182818284590452353602874713526624977572470936999595749670
84
+ sage: em = 1 + e^(1-e); em
85
+ e^(-e + 1) + 1
86
+ sage: R(em)
87
+ 1.1793740787340171819619895873183164984596816017589156131574
88
+ sage: maxima(e).float()
89
+ 2.718281828459045
90
+ sage: t = mathematica(e) # optional - mathematica
91
+ sage: t # optional - mathematica
92
+ E
93
+ sage: float(t) # optional - mathematica
94
+ 2.718281828459045...
95
+
96
+ sage: loads(dumps(e))
97
+ e
98
+
99
+ sage: float(e)
100
+ 2.718281828459045...
101
+ sage: e.__float__()
102
+ 2.718281828459045...
103
+ sage: e._mpfr_(RealField(100))
104
+ 2.7182818284590452353602874714
105
+ sage: e._real_double_(RDF) # abs tol 5e-16
106
+ 2.718281828459045
107
+ sage: import sympy # needs sympy
108
+ sage: sympy.E == e # indirect doctest # needs sympy
109
+ True
110
+
111
+ TESTS::
112
+
113
+ sage: t = e^a; t
114
+ e^a
115
+ sage: t^b
116
+ (e^a)^b
117
+ sage: SR(1).exp()
118
+ e
119
+
120
+ Testing that it works with matrices (see :issue:`4735`)::
121
+
122
+ sage: m = matrix(QQ, 2, 2, [1,0,0,1])
123
+ sage: e^m
124
+ [e 0]
125
+ [0 e]
126
+ """
127
+ from sage.symbolic.ring import SR
128
+
129
+ global exp_one
130
+ exp_one = SR.one().exp()
131
+ Expression.__init__(self, SR, exp_one)
132
+
133
+ def __pow__(left, right, dummy):
134
+ """
135
+ Call the `exp` function when taking powers of `e`.
136
+
137
+ EXAMPLES::
138
+
139
+ sage: var('a,b')
140
+ (a, b)
141
+ sage: t = e^a; t
142
+ e^a
143
+ sage: t.operator()
144
+ exp
145
+ sage: t.operands()
146
+ [a]
147
+
148
+ This applies to the unit argument as well::
149
+
150
+ sage: u = SR(1).exp()^a; u
151
+ e^a
152
+ sage: u.operator()
153
+ exp
154
+ sage: u.operands()
155
+ [a]
156
+
157
+ It also works with matrices (see :issue:`4735`)::
158
+
159
+ sage: m = matrix(QQ, 2, 2, [1,0,0,1])
160
+ sage: e^m
161
+ [e 0]
162
+ [0 e]
163
+ sage: A = matrix(RDF, [[1,2],[3,4]])
164
+ sage: e^A # rel tol 5e-14 # needs scipy
165
+ [51.968956198705044 74.73656456700327]
166
+ [112.10484685050491 164.07380304920997]
167
+ """
168
+ if isinstance(left, E):
169
+ if isinstance(right, E):
170
+ return exp_one.exp()
171
+ try:
172
+ return right.exp()
173
+ except AttributeError:
174
+ from sage.symbolic.ring import SR
175
+ return SR(right).exp()
176
+ else:
177
+ from sage.symbolic.ring import SR
178
+ return SR(left)**exp_one
@@ -0,0 +1,7 @@
1
+ # sage_setup: distribution = sagemath-singular
2
+ cpdef _repr_Expression(x)
3
+ cpdef _latex_Expression(x)
4
+ cpdef new_Expression(parent, x)
5
+ cpdef new_Expression_from_pyobject(parent, x, bint force=?, bint recursive=?)
6
+ cpdef new_Expression_wild(parent, unsigned int n=?)
7
+ cpdef new_Expression_symbol(parent, name=?, latex_name=?, domain=?)