passagemath-singular 10.6.30__cp310-cp310-macosx_13_0_arm64.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 (488) hide show
  1. PySingular.cpython-310-darwin.so +0 -0
  2. passagemath_singular-10.6.30.dist-info/METADATA +182 -0
  3. passagemath_singular-10.6.30.dist-info/RECORD +488 -0
  4. passagemath_singular-10.6.30.dist-info/WHEEL +6 -0
  5. passagemath_singular-10.6.30.dist-info/top_level.txt +3 -0
  6. passagemath_singular.dylibs/libSingular-4.4.1.dylib +0 -0
  7. passagemath_singular.dylibs/libcddgmp.0.dylib +0 -0
  8. passagemath_singular.dylibs/libfactory-4.4.1.dylib +0 -0
  9. passagemath_singular.dylibs/libflint.21.0.dylib +0 -0
  10. passagemath_singular.dylibs/libgf2x.3.dylib +0 -0
  11. passagemath_singular.dylibs/libgfortran.5.dylib +0 -0
  12. passagemath_singular.dylibs/libgmp.10.dylib +0 -0
  13. passagemath_singular.dylibs/libgsl.28.dylib +0 -0
  14. passagemath_singular.dylibs/libmpfr.6.dylib +0 -0
  15. passagemath_singular.dylibs/libntl.44.dylib +0 -0
  16. passagemath_singular.dylibs/libomalloc-0.9.6.dylib +0 -0
  17. passagemath_singular.dylibs/libopenblasp-r0.3.29.dylib +0 -0
  18. passagemath_singular.dylibs/libpolys-4.4.1.dylib +0 -0
  19. passagemath_singular.dylibs/libquadmath.0.dylib +0 -0
  20. passagemath_singular.dylibs/libreadline.8.2.dylib +0 -0
  21. passagemath_singular.dylibs/libsingular_resources-4.4.1.dylib +0 -0
  22. sage/algebras/all__sagemath_singular.py +3 -0
  23. sage/algebras/fusion_rings/all.py +19 -0
  24. sage/algebras/fusion_rings/f_matrix.py +2448 -0
  25. sage/algebras/fusion_rings/fast_parallel_fmats_methods.cpython-310-darwin.so +0 -0
  26. sage/algebras/fusion_rings/fast_parallel_fmats_methods.pxd +5 -0
  27. sage/algebras/fusion_rings/fast_parallel_fmats_methods.pyx +538 -0
  28. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.cpython-310-darwin.so +0 -0
  29. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pxd +3 -0
  30. sage/algebras/fusion_rings/fast_parallel_fusion_ring_braid_repn.pyx +331 -0
  31. sage/algebras/fusion_rings/fusion_double.py +899 -0
  32. sage/algebras/fusion_rings/fusion_ring.py +1580 -0
  33. sage/algebras/fusion_rings/poly_tup_engine.cpython-310-darwin.so +0 -0
  34. sage/algebras/fusion_rings/poly_tup_engine.pxd +24 -0
  35. sage/algebras/fusion_rings/poly_tup_engine.pyx +579 -0
  36. sage/algebras/fusion_rings/shm_managers.cpython-310-darwin.so +0 -0
  37. sage/algebras/fusion_rings/shm_managers.pxd +24 -0
  38. sage/algebras/fusion_rings/shm_managers.pyx +780 -0
  39. sage/algebras/letterplace/all.py +1 -0
  40. sage/algebras/letterplace/free_algebra_element_letterplace.cpython-310-darwin.so +0 -0
  41. sage/algebras/letterplace/free_algebra_element_letterplace.pxd +18 -0
  42. sage/algebras/letterplace/free_algebra_element_letterplace.pyx +755 -0
  43. sage/algebras/letterplace/free_algebra_letterplace.cpython-310-darwin.so +0 -0
  44. sage/algebras/letterplace/free_algebra_letterplace.pxd +35 -0
  45. sage/algebras/letterplace/free_algebra_letterplace.pyx +914 -0
  46. sage/algebras/letterplace/letterplace_ideal.cpython-310-darwin.so +0 -0
  47. sage/algebras/letterplace/letterplace_ideal.pyx +408 -0
  48. sage/algebras/quatalg/all.py +2 -0
  49. sage/algebras/quatalg/quaternion_algebra.py +4778 -0
  50. sage/algebras/quatalg/quaternion_algebra_cython.cpython-310-darwin.so +0 -0
  51. sage/algebras/quatalg/quaternion_algebra_cython.pyx +261 -0
  52. sage/algebras/quatalg/quaternion_algebra_element.cpython-310-darwin.so +0 -0
  53. sage/algebras/quatalg/quaternion_algebra_element.pxd +29 -0
  54. sage/algebras/quatalg/quaternion_algebra_element.pyx +2176 -0
  55. sage/all__sagemath_singular.py +11 -0
  56. sage/ext_data/all__sagemath_singular.py +1 -0
  57. sage/ext_data/singular/function_field/core.lib +98 -0
  58. sage/interfaces/all__sagemath_singular.py +1 -0
  59. sage/interfaces/singular.py +2835 -0
  60. sage/libs/all__sagemath_singular.py +1 -0
  61. sage/libs/singular/__init__.py +1 -0
  62. sage/libs/singular/decl.pxd +1168 -0
  63. sage/libs/singular/function.cpython-310-darwin.so +0 -0
  64. sage/libs/singular/function.pxd +87 -0
  65. sage/libs/singular/function.pyx +1901 -0
  66. sage/libs/singular/function_factory.py +61 -0
  67. sage/libs/singular/groebner_strategy.cpython-310-darwin.so +0 -0
  68. sage/libs/singular/groebner_strategy.pxd +22 -0
  69. sage/libs/singular/groebner_strategy.pyx +582 -0
  70. sage/libs/singular/option.cpython-310-darwin.so +0 -0
  71. sage/libs/singular/option.pyx +671 -0
  72. sage/libs/singular/polynomial.cpython-310-darwin.so +0 -0
  73. sage/libs/singular/polynomial.pxd +39 -0
  74. sage/libs/singular/polynomial.pyx +661 -0
  75. sage/libs/singular/ring.cpython-310-darwin.so +0 -0
  76. sage/libs/singular/ring.pxd +58 -0
  77. sage/libs/singular/ring.pyx +893 -0
  78. sage/libs/singular/singular.cpython-310-darwin.so +0 -0
  79. sage/libs/singular/singular.pxd +72 -0
  80. sage/libs/singular/singular.pyx +1944 -0
  81. sage/libs/singular/standard_options.py +145 -0
  82. sage/matrix/all__sagemath_singular.py +1 -0
  83. sage/matrix/matrix_mpolynomial_dense.cpython-310-darwin.so +0 -0
  84. sage/matrix/matrix_mpolynomial_dense.pxd +7 -0
  85. sage/matrix/matrix_mpolynomial_dense.pyx +615 -0
  86. sage/rings/all__sagemath_singular.py +1 -0
  87. sage/rings/function_field/all__sagemath_singular.py +1 -0
  88. sage/rings/function_field/derivations_polymod.py +911 -0
  89. sage/rings/function_field/element_polymod.cpython-310-darwin.so +0 -0
  90. sage/rings/function_field/element_polymod.pyx +406 -0
  91. sage/rings/function_field/function_field_polymod.py +2611 -0
  92. sage/rings/function_field/ideal_polymod.py +1775 -0
  93. sage/rings/function_field/order_polymod.py +1475 -0
  94. sage/rings/function_field/place_polymod.py +681 -0
  95. sage/rings/polynomial/all__sagemath_singular.py +1 -0
  96. sage/rings/polynomial/multi_polynomial_ideal_libsingular.cpython-310-darwin.so +0 -0
  97. sage/rings/polynomial/multi_polynomial_ideal_libsingular.pxd +5 -0
  98. sage/rings/polynomial/multi_polynomial_ideal_libsingular.pyx +339 -0
  99. sage/rings/polynomial/multi_polynomial_libsingular.cpython-310-darwin.so +0 -0
  100. sage/rings/polynomial/multi_polynomial_libsingular.pxd +30 -0
  101. sage/rings/polynomial/multi_polynomial_libsingular.pyx +6277 -0
  102. sage/rings/polynomial/plural.cpython-310-darwin.so +0 -0
  103. sage/rings/polynomial/plural.pxd +48 -0
  104. sage/rings/polynomial/plural.pyx +3171 -0
  105. sage/symbolic/all__sagemath_singular.py +1 -0
  106. sage/symbolic/comparison_impl.pxi +428 -0
  107. sage/symbolic/constants_c_impl.pxi +178 -0
  108. sage/symbolic/expression.cpython-310-darwin.so +0 -0
  109. sage/symbolic/expression.pxd +7 -0
  110. sage/symbolic/expression.pyx +14200 -0
  111. sage/symbolic/getitem_impl.pxi +202 -0
  112. sage/symbolic/pynac.pxi +572 -0
  113. sage/symbolic/pynac_constant_impl.pxi +133 -0
  114. sage/symbolic/pynac_function_impl.pxi +206 -0
  115. sage/symbolic/pynac_impl.pxi +2576 -0
  116. sage/symbolic/pynac_wrap.h +124 -0
  117. sage/symbolic/series_impl.pxi +272 -0
  118. sage/symbolic/substitution_map_impl.pxi +94 -0
  119. sage_wheels/bin/ESingular +0 -0
  120. sage_wheels/bin/Singular +0 -0
  121. sage_wheels/bin/TSingular +0 -0
  122. sage_wheels/lib/singular/MOD/cohomo.la +41 -0
  123. sage_wheels/lib/singular/MOD/cohomo.so +0 -0
  124. sage_wheels/lib/singular/MOD/customstd.la +41 -0
  125. sage_wheels/lib/singular/MOD/customstd.so +0 -0
  126. sage_wheels/lib/singular/MOD/freealgebra.la +41 -0
  127. sage_wheels/lib/singular/MOD/freealgebra.so +0 -0
  128. sage_wheels/lib/singular/MOD/gfanlib.la +41 -0
  129. sage_wheels/lib/singular/MOD/gfanlib.so +0 -0
  130. sage_wheels/lib/singular/MOD/gitfan.la +41 -0
  131. sage_wheels/lib/singular/MOD/gitfan.so +0 -0
  132. sage_wheels/lib/singular/MOD/interval.la +41 -0
  133. sage_wheels/lib/singular/MOD/interval.so +0 -0
  134. sage_wheels/lib/singular/MOD/loctriv.la +41 -0
  135. sage_wheels/lib/singular/MOD/loctriv.so +0 -0
  136. sage_wheels/lib/singular/MOD/machinelearning.la +41 -0
  137. sage_wheels/lib/singular/MOD/machinelearning.so +0 -0
  138. sage_wheels/lib/singular/MOD/p_Procs_FieldGeneral.la +41 -0
  139. sage_wheels/lib/singular/MOD/p_Procs_FieldGeneral.so +0 -0
  140. sage_wheels/lib/singular/MOD/p_Procs_FieldIndep.la +41 -0
  141. sage_wheels/lib/singular/MOD/p_Procs_FieldIndep.so +0 -0
  142. sage_wheels/lib/singular/MOD/p_Procs_FieldQ.la +41 -0
  143. sage_wheels/lib/singular/MOD/p_Procs_FieldQ.so +0 -0
  144. sage_wheels/lib/singular/MOD/p_Procs_FieldZp.la +41 -0
  145. sage_wheels/lib/singular/MOD/p_Procs_FieldZp.so +0 -0
  146. sage_wheels/lib/singular/MOD/partialgb.la +41 -0
  147. sage_wheels/lib/singular/MOD/partialgb.so +0 -0
  148. sage_wheels/lib/singular/MOD/pyobject.la +41 -0
  149. sage_wheels/lib/singular/MOD/pyobject.so +0 -0
  150. sage_wheels/lib/singular/MOD/singmathic.la +41 -0
  151. sage_wheels/lib/singular/MOD/singmathic.so +0 -0
  152. sage_wheels/lib/singular/MOD/sispasm.la +41 -0
  153. sage_wheels/lib/singular/MOD/sispasm.so +0 -0
  154. sage_wheels/lib/singular/MOD/subsets.la +41 -0
  155. sage_wheels/lib/singular/MOD/subsets.so +0 -0
  156. sage_wheels/lib/singular/MOD/systhreads.la +41 -0
  157. sage_wheels/lib/singular/MOD/systhreads.so +0 -0
  158. sage_wheels/lib/singular/MOD/syzextra.la +41 -0
  159. sage_wheels/lib/singular/MOD/syzextra.so +0 -0
  160. sage_wheels/libexec/singular/MOD/change_cost +0 -0
  161. sage_wheels/libexec/singular/MOD/singularsurf +11 -0
  162. sage_wheels/libexec/singular/MOD/singularsurf_jupyter +9 -0
  163. sage_wheels/libexec/singular/MOD/singularsurf_win +10 -0
  164. sage_wheels/libexec/singular/MOD/solve_IP +0 -0
  165. sage_wheels/libexec/singular/MOD/surfex +16 -0
  166. sage_wheels/libexec/singular/MOD/toric_ideal +0 -0
  167. sage_wheels/share/factory/gftables/10201 +342 -0
  168. sage_wheels/share/factory/gftables/1024 +37 -0
  169. sage_wheels/share/factory/gftables/10609 +356 -0
  170. sage_wheels/share/factory/gftables/11449 +384 -0
  171. sage_wheels/share/factory/gftables/11881 +398 -0
  172. sage_wheels/share/factory/gftables/121 +6 -0
  173. sage_wheels/share/factory/gftables/12167 +408 -0
  174. sage_wheels/share/factory/gftables/125 +7 -0
  175. sage_wheels/share/factory/gftables/12769 +428 -0
  176. sage_wheels/share/factory/gftables/128 +7 -0
  177. sage_wheels/share/factory/gftables/1331 +47 -0
  178. sage_wheels/share/factory/gftables/1369 +48 -0
  179. sage_wheels/share/factory/gftables/14641 +490 -0
  180. sage_wheels/share/factory/gftables/15625 +523 -0
  181. sage_wheels/share/factory/gftables/16 +3 -0
  182. sage_wheels/share/factory/gftables/16129 +540 -0
  183. sage_wheels/share/factory/gftables/16384 +549 -0
  184. sage_wheels/share/factory/gftables/16807 +563 -0
  185. sage_wheels/share/factory/gftables/1681 +58 -0
  186. sage_wheels/share/factory/gftables/169 +8 -0
  187. sage_wheels/share/factory/gftables/17161 +574 -0
  188. sage_wheels/share/factory/gftables/1849 +64 -0
  189. sage_wheels/share/factory/gftables/18769 +628 -0
  190. sage_wheels/share/factory/gftables/19321 +646 -0
  191. sage_wheels/share/factory/gftables/19683 +659 -0
  192. sage_wheels/share/factory/gftables/2048 +71 -0
  193. sage_wheels/share/factory/gftables/2187 +75 -0
  194. sage_wheels/share/factory/gftables/2197 +76 -0
  195. sage_wheels/share/factory/gftables/2209 +76 -0
  196. sage_wheels/share/factory/gftables/22201 +742 -0
  197. sage_wheels/share/factory/gftables/22801 +762 -0
  198. sage_wheels/share/factory/gftables/2401 +82 -0
  199. sage_wheels/share/factory/gftables/243 +11 -0
  200. sage_wheels/share/factory/gftables/24389 +815 -0
  201. sage_wheels/share/factory/gftables/24649 +824 -0
  202. sage_wheels/share/factory/gftables/25 +3 -0
  203. sage_wheels/share/factory/gftables/256 +11 -0
  204. sage_wheels/share/factory/gftables/26569 +888 -0
  205. sage_wheels/share/factory/gftables/27 +3 -0
  206. sage_wheels/share/factory/gftables/27889 +932 -0
  207. sage_wheels/share/factory/gftables/2809 +96 -0
  208. sage_wheels/share/factory/gftables/28561 +954 -0
  209. sage_wheels/share/factory/gftables/289 +12 -0
  210. sage_wheels/share/factory/gftables/29791 +995 -0
  211. sage_wheels/share/factory/gftables/29929 +1000 -0
  212. sage_wheels/share/factory/gftables/3125 +107 -0
  213. sage_wheels/share/factory/gftables/32 +4 -0
  214. sage_wheels/share/factory/gftables/32041 +1070 -0
  215. sage_wheels/share/factory/gftables/32761 +1094 -0
  216. sage_wheels/share/factory/gftables/32768 +1095 -0
  217. sage_wheels/share/factory/gftables/343 +14 -0
  218. sage_wheels/share/factory/gftables/3481 +118 -0
  219. sage_wheels/share/factory/gftables/361 +14 -0
  220. sage_wheels/share/factory/gftables/36481 +1218 -0
  221. sage_wheels/share/factory/gftables/3721 +126 -0
  222. sage_wheels/share/factory/gftables/37249 +1244 -0
  223. sage_wheels/share/factory/gftables/38809 +1296 -0
  224. sage_wheels/share/factory/gftables/39601 +1322 -0
  225. sage_wheels/share/factory/gftables/4 +3 -0
  226. sage_wheels/share/factory/gftables/4096 +139 -0
  227. sage_wheels/share/factory/gftables/44521 +1486 -0
  228. sage_wheels/share/factory/gftables/4489 +152 -0
  229. sage_wheels/share/factory/gftables/49 +4 -0
  230. sage_wheels/share/factory/gftables/4913 +166 -0
  231. sage_wheels/share/factory/gftables/49729 +1660 -0
  232. sage_wheels/share/factory/gftables/5041 +170 -0
  233. sage_wheels/share/factory/gftables/50653 +1691 -0
  234. sage_wheels/share/factory/gftables/512 +20 -0
  235. sage_wheels/share/factory/gftables/51529 +1720 -0
  236. sage_wheels/share/factory/gftables/52441 +1750 -0
  237. sage_wheels/share/factory/gftables/529 +20 -0
  238. sage_wheels/share/factory/gftables/5329 +180 -0
  239. sage_wheels/share/factory/gftables/54289 +1812 -0
  240. sage_wheels/share/factory/gftables/57121 +1906 -0
  241. sage_wheels/share/factory/gftables/58081 +1938 -0
  242. sage_wheels/share/factory/gftables/59049 +1971 -0
  243. sage_wheels/share/factory/gftables/6241 +210 -0
  244. sage_wheels/share/factory/gftables/625 +23 -0
  245. sage_wheels/share/factory/gftables/63001 +2102 -0
  246. sage_wheels/share/factory/gftables/64 +5 -0
  247. sage_wheels/share/factory/gftables/6561 +221 -0
  248. sage_wheels/share/factory/gftables/6859 +231 -0
  249. sage_wheels/share/factory/gftables/6889 +232 -0
  250. sage_wheels/share/factory/gftables/729 +27 -0
  251. sage_wheels/share/factory/gftables/7921 +266 -0
  252. sage_wheels/share/factory/gftables/8 +3 -0
  253. sage_wheels/share/factory/gftables/81 +5 -0
  254. sage_wheels/share/factory/gftables/8192 +276 -0
  255. sage_wheels/share/factory/gftables/841 +30 -0
  256. sage_wheels/share/factory/gftables/9 +3 -0
  257. sage_wheels/share/factory/gftables/9409 +316 -0
  258. sage_wheels/share/factory/gftables/961 +34 -0
  259. sage_wheels/share/info/singular.info +187111 -0
  260. sage_wheels/share/singular/LIB/GND.lib +1359 -0
  261. sage_wheels/share/singular/LIB/JMBTest.lib +976 -0
  262. sage_wheels/share/singular/LIB/JMSConst.lib +1363 -0
  263. sage_wheels/share/singular/LIB/KVequiv.lib +699 -0
  264. sage_wheels/share/singular/LIB/SingularityDBM.lib +491 -0
  265. sage_wheels/share/singular/LIB/VecField.lib +1542 -0
  266. sage_wheels/share/singular/LIB/absfact.lib +959 -0
  267. sage_wheels/share/singular/LIB/ainvar.lib +730 -0
  268. sage_wheels/share/singular/LIB/aksaka.lib +419 -0
  269. sage_wheels/share/singular/LIB/alexpoly.lib +2542 -0
  270. sage_wheels/share/singular/LIB/algebra.lib +1193 -0
  271. sage_wheels/share/singular/LIB/all.lib +136 -0
  272. sage_wheels/share/singular/LIB/arcpoint.lib +514 -0
  273. sage_wheels/share/singular/LIB/arnold.lib +4553 -0
  274. sage_wheels/share/singular/LIB/arnoldclassify.lib +2058 -0
  275. sage_wheels/share/singular/LIB/arr.lib +3486 -0
  276. sage_wheels/share/singular/LIB/assprimeszerodim.lib +769 -0
  277. sage_wheels/share/singular/LIB/autgradalg.lib +3361 -0
  278. sage_wheels/share/singular/LIB/bfun.lib +1964 -0
  279. sage_wheels/share/singular/LIB/bimodules.lib +774 -0
  280. sage_wheels/share/singular/LIB/brillnoether.lib +226 -0
  281. sage_wheels/share/singular/LIB/brnoeth.lib +5017 -0
  282. sage_wheels/share/singular/LIB/central.lib +2169 -0
  283. sage_wheels/share/singular/LIB/chern.lib +4162 -0
  284. sage_wheels/share/singular/LIB/cimonom.lib +571 -0
  285. sage_wheels/share/singular/LIB/cisimplicial.lib +1835 -0
  286. sage_wheels/share/singular/LIB/classify.lib +3239 -0
  287. sage_wheels/share/singular/LIB/classify2.lib +1462 -0
  288. sage_wheels/share/singular/LIB/classifyMapGerms.lib +1515 -0
  289. sage_wheels/share/singular/LIB/classify_aeq.lib +3253 -0
  290. sage_wheels/share/singular/LIB/classifyceq.lib +2092 -0
  291. sage_wheels/share/singular/LIB/classifyci.lib +1133 -0
  292. sage_wheels/share/singular/LIB/combinat.lib +91 -0
  293. sage_wheels/share/singular/LIB/compregb.lib +276 -0
  294. sage_wheels/share/singular/LIB/control.lib +1636 -0
  295. sage_wheels/share/singular/LIB/crypto.lib +3795 -0
  296. sage_wheels/share/singular/LIB/curveInv.lib +667 -0
  297. sage_wheels/share/singular/LIB/curvepar.lib +1817 -0
  298. sage_wheels/share/singular/LIB/customstd.lib +100 -0
  299. sage_wheels/share/singular/LIB/deRham.lib +5979 -0
  300. sage_wheels/share/singular/LIB/decodegb.lib +2134 -0
  301. sage_wheels/share/singular/LIB/decomp.lib +1655 -0
  302. sage_wheels/share/singular/LIB/deflation.lib +872 -0
  303. sage_wheels/share/singular/LIB/deform.lib +925 -0
  304. sage_wheels/share/singular/LIB/difform.lib +3055 -0
  305. sage_wheels/share/singular/LIB/divisors.lib +750 -0
  306. sage_wheels/share/singular/LIB/dmod.lib +5817 -0
  307. sage_wheels/share/singular/LIB/dmodapp.lib +3269 -0
  308. sage_wheels/share/singular/LIB/dmodideal.lib +1211 -0
  309. sage_wheels/share/singular/LIB/dmodloc.lib +2645 -0
  310. sage_wheels/share/singular/LIB/dmodvar.lib +818 -0
  311. sage_wheels/share/singular/LIB/dummy.lib +17 -0
  312. sage_wheels/share/singular/LIB/elim.lib +1009 -0
  313. sage_wheels/share/singular/LIB/ellipticcovers.lib +548 -0
  314. sage_wheels/share/singular/LIB/enumpoints.lib +146 -0
  315. sage_wheels/share/singular/LIB/equising.lib +2127 -0
  316. sage_wheels/share/singular/LIB/ffmodstd.lib +2384 -0
  317. sage_wheels/share/singular/LIB/ffsolve.lib +1289 -0
  318. sage_wheels/share/singular/LIB/findifs.lib +778 -0
  319. sage_wheels/share/singular/LIB/finitediff.lib +1768 -0
  320. sage_wheels/share/singular/LIB/finvar.lib +7989 -0
  321. sage_wheels/share/singular/LIB/fpadim.lib +2429 -0
  322. sage_wheels/share/singular/LIB/fpalgebras.lib +1666 -0
  323. sage_wheels/share/singular/LIB/fpaprops.lib +1462 -0
  324. sage_wheels/share/singular/LIB/freegb.lib +3853 -0
  325. sage_wheels/share/singular/LIB/general.lib +1350 -0
  326. sage_wheels/share/singular/LIB/gfan.lib +1768 -0
  327. sage_wheels/share/singular/LIB/gitfan.lib +3130 -0
  328. sage_wheels/share/singular/LIB/gkdim.lib +99 -0
  329. sage_wheels/share/singular/LIB/gmspoly.lib +589 -0
  330. sage_wheels/share/singular/LIB/gmssing.lib +1739 -0
  331. sage_wheels/share/singular/LIB/goettsche.lib +909 -0
  332. sage_wheels/share/singular/LIB/graal.lib +1366 -0
  333. sage_wheels/share/singular/LIB/gradedModules.lib +2541 -0
  334. sage_wheels/share/singular/LIB/graphics.lib +360 -0
  335. sage_wheels/share/singular/LIB/grobcov.lib +7706 -0
  336. sage_wheels/share/singular/LIB/groups.lib +1123 -0
  337. sage_wheels/share/singular/LIB/grwalk.lib +507 -0
  338. sage_wheels/share/singular/LIB/hdepth.lib +194 -0
  339. sage_wheels/share/singular/LIB/help.cnf +57 -0
  340. sage_wheels/share/singular/LIB/hess.lib +1946 -0
  341. sage_wheels/share/singular/LIB/hnoether.lib +4292 -0
  342. sage_wheels/share/singular/LIB/hodge.lib +400 -0
  343. sage_wheels/share/singular/LIB/homolog.lib +1927 -0
  344. sage_wheels/share/singular/LIB/hyperel.lib +975 -0
  345. sage_wheels/share/singular/LIB/inout.lib +679 -0
  346. sage_wheels/share/singular/LIB/integralbasis.lib +6224 -0
  347. sage_wheels/share/singular/LIB/interval.lib +1418 -0
  348. sage_wheels/share/singular/LIB/intprog.lib +778 -0
  349. sage_wheels/share/singular/LIB/invar.lib +443 -0
  350. sage_wheels/share/singular/LIB/involut.lib +980 -0
  351. sage_wheels/share/singular/LIB/jacobson.lib +1215 -0
  352. sage_wheels/share/singular/LIB/kskernel.lib +534 -0
  353. sage_wheels/share/singular/LIB/latex.lib +3146 -0
  354. sage_wheels/share/singular/LIB/lejeune.lib +651 -0
  355. sage_wheels/share/singular/LIB/linalg.lib +2040 -0
  356. sage_wheels/share/singular/LIB/locnormal.lib +212 -0
  357. sage_wheels/share/singular/LIB/lrcalc.lib +526 -0
  358. sage_wheels/share/singular/LIB/makedbm.lib +294 -0
  359. sage_wheels/share/singular/LIB/mathml.lib +813 -0
  360. sage_wheels/share/singular/LIB/matrix.lib +1372 -0
  361. sage_wheels/share/singular/LIB/maxlike.lib +1132 -0
  362. sage_wheels/share/singular/LIB/methods.lib +212 -0
  363. sage_wheels/share/singular/LIB/moddiq.lib +322 -0
  364. sage_wheels/share/singular/LIB/modfinduni.lib +181 -0
  365. sage_wheels/share/singular/LIB/modnormal.lib +218 -0
  366. sage_wheels/share/singular/LIB/modprimdec.lib +1258 -0
  367. sage_wheels/share/singular/LIB/modquotient.lib +269 -0
  368. sage_wheels/share/singular/LIB/modstd.lib +1025 -0
  369. sage_wheels/share/singular/LIB/modular.lib +438 -0
  370. sage_wheels/share/singular/LIB/modules.lib +2553 -0
  371. sage_wheels/share/singular/LIB/modwalk.lib +609 -0
  372. sage_wheels/share/singular/LIB/mondromy.lib +1016 -0
  373. sage_wheels/share/singular/LIB/monomialideal.lib +3851 -0
  374. sage_wheels/share/singular/LIB/mprimdec.lib +2353 -0
  375. sage_wheels/share/singular/LIB/mregular.lib +1863 -0
  376. sage_wheels/share/singular/LIB/multigrading.lib +5629 -0
  377. sage_wheels/share/singular/LIB/ncHilb.lib +777 -0
  378. sage_wheels/share/singular/LIB/ncModslimgb.lib +791 -0
  379. sage_wheels/share/singular/LIB/ncalg.lib +16311 -0
  380. sage_wheels/share/singular/LIB/ncall.lib +31 -0
  381. sage_wheels/share/singular/LIB/ncdecomp.lib +468 -0
  382. sage_wheels/share/singular/LIB/ncfactor.lib +13371 -0
  383. sage_wheels/share/singular/LIB/ncfrac.lib +1023 -0
  384. sage_wheels/share/singular/LIB/nchilbert.lib +448 -0
  385. sage_wheels/share/singular/LIB/nchomolog.lib +759 -0
  386. sage_wheels/share/singular/LIB/ncloc.lib +361 -0
  387. sage_wheels/share/singular/LIB/ncpreim.lib +795 -0
  388. sage_wheels/share/singular/LIB/ncrat.lib +2849 -0
  389. sage_wheels/share/singular/LIB/nctools.lib +1887 -0
  390. sage_wheels/share/singular/LIB/nets.lib +1456 -0
  391. sage_wheels/share/singular/LIB/nfmodstd.lib +1000 -0
  392. sage_wheels/share/singular/LIB/nfmodsyz.lib +732 -0
  393. sage_wheels/share/singular/LIB/noether.lib +1106 -0
  394. sage_wheels/share/singular/LIB/normal.lib +8700 -0
  395. sage_wheels/share/singular/LIB/normaliz.lib +2140 -0
  396. sage_wheels/share/singular/LIB/ntsolve.lib +362 -0
  397. sage_wheels/share/singular/LIB/numerAlg.lib +560 -0
  398. sage_wheels/share/singular/LIB/numerDecom.lib +2261 -0
  399. sage_wheels/share/singular/LIB/olga.lib +1933 -0
  400. sage_wheels/share/singular/LIB/orbitparam.lib +351 -0
  401. sage_wheels/share/singular/LIB/parallel.lib +305 -0
  402. sage_wheels/share/singular/LIB/paraplanecurves.lib +3110 -0
  403. sage_wheels/share/singular/LIB/perron.lib +202 -0
  404. sage_wheels/share/singular/LIB/pfd.lib +2223 -0
  405. sage_wheels/share/singular/LIB/phindex.lib +642 -0
  406. sage_wheels/share/singular/LIB/pointid.lib +673 -0
  407. sage_wheels/share/singular/LIB/polybori.lib +1430 -0
  408. sage_wheels/share/singular/LIB/polyclass.lib +525 -0
  409. sage_wheels/share/singular/LIB/polylib.lib +1174 -0
  410. sage_wheels/share/singular/LIB/polymake.lib +1902 -0
  411. sage_wheels/share/singular/LIB/presolve.lib +1533 -0
  412. sage_wheels/share/singular/LIB/primdec.lib +9593 -0
  413. sage_wheels/share/singular/LIB/primdecint.lib +1782 -0
  414. sage_wheels/share/singular/LIB/primitiv.lib +401 -0
  415. sage_wheels/share/singular/LIB/puiseuxexpansions.lib +1631 -0
  416. sage_wheels/share/singular/LIB/purityfiltration.lib +960 -0
  417. sage_wheels/share/singular/LIB/qhmoduli.lib +1561 -0
  418. sage_wheels/share/singular/LIB/qmatrix.lib +293 -0
  419. sage_wheels/share/singular/LIB/random.lib +455 -0
  420. sage_wheels/share/singular/LIB/ratgb.lib +489 -0
  421. sage_wheels/share/singular/LIB/realclassify.lib +5759 -0
  422. sage_wheels/share/singular/LIB/realizationMatroids.lib +772 -0
  423. sage_wheels/share/singular/LIB/realrad.lib +1197 -0
  424. sage_wheels/share/singular/LIB/recover.lib +2628 -0
  425. sage_wheels/share/singular/LIB/redcgs.lib +3984 -0
  426. sage_wheels/share/singular/LIB/reesclos.lib +465 -0
  427. sage_wheels/share/singular/LIB/resbinomial.lib +2802 -0
  428. sage_wheels/share/singular/LIB/resgraph.lib +789 -0
  429. sage_wheels/share/singular/LIB/resjung.lib +820 -0
  430. sage_wheels/share/singular/LIB/resolve.lib +5110 -0
  431. sage_wheels/share/singular/LIB/resources.lib +169 -0
  432. sage_wheels/share/singular/LIB/reszeta.lib +5473 -0
  433. sage_wheels/share/singular/LIB/ring.lib +1328 -0
  434. sage_wheels/share/singular/LIB/ringgb.lib +343 -0
  435. sage_wheels/share/singular/LIB/rinvar.lib +1153 -0
  436. sage_wheels/share/singular/LIB/rootisolation.lib +1481 -0
  437. sage_wheels/share/singular/LIB/rootsmr.lib +709 -0
  438. sage_wheels/share/singular/LIB/rootsur.lib +886 -0
  439. sage_wheels/share/singular/LIB/rstandard.lib +607 -0
  440. sage_wheels/share/singular/LIB/rwalk.lib +336 -0
  441. sage_wheels/share/singular/LIB/sagbi.lib +1353 -0
  442. sage_wheels/share/singular/LIB/sagbiNormaliz.lib +1498 -0
  443. sage_wheels/share/singular/LIB/sagbigrob.lib +449 -0
  444. sage_wheels/share/singular/LIB/schreyer.lib +321 -0
  445. sage_wheels/share/singular/LIB/schubert.lib +2551 -0
  446. sage_wheels/share/singular/LIB/sets.lib +524 -0
  447. sage_wheels/share/singular/LIB/sheafcoh.lib +1663 -0
  448. sage_wheels/share/singular/LIB/signcond.lib +437 -0
  449. sage_wheels/share/singular/LIB/sing.lib +1094 -0
  450. sage_wheels/share/singular/LIB/sing4ti2.lib +419 -0
  451. sage_wheels/share/singular/LIB/solve.lib +2243 -0
  452. sage_wheels/share/singular/LIB/spcurve.lib +1077 -0
  453. sage_wheels/share/singular/LIB/spectrum.lib +62 -0
  454. sage_wheels/share/singular/LIB/ssi.lib +143 -0
  455. sage_wheels/share/singular/LIB/standard.lib +2769 -0
  456. sage_wheels/share/singular/LIB/stanleyreisner.lib +473 -0
  457. sage_wheels/share/singular/LIB/stdmodule.lib +547 -0
  458. sage_wheels/share/singular/LIB/stratify.lib +1070 -0
  459. sage_wheels/share/singular/LIB/surf.lib +506 -0
  460. sage_wheels/share/singular/LIB/surf_jupyter.lib +223 -0
  461. sage_wheels/share/singular/LIB/surfacesignature.lib +522 -0
  462. sage_wheels/share/singular/LIB/surfex.lib +1462 -0
  463. sage_wheels/share/singular/LIB/swalk.lib +877 -0
  464. sage_wheels/share/singular/LIB/symodstd.lib +1570 -0
  465. sage_wheels/share/singular/LIB/systhreads.lib +74 -0
  466. sage_wheels/share/singular/LIB/tasks.lib +1324 -0
  467. sage_wheels/share/singular/LIB/tateProdCplxNegGrad.lib +2412 -0
  468. sage_wheels/share/singular/LIB/teachstd.lib +858 -0
  469. sage_wheels/share/singular/LIB/template.lib +116 -0
  470. sage_wheels/share/singular/LIB/toric.lib +1119 -0
  471. sage_wheels/share/singular/LIB/transformation.lib +116 -0
  472. sage_wheels/share/singular/LIB/triang.lib +1195 -0
  473. sage_wheels/share/singular/LIB/tropical.lib +8741 -0
  474. sage_wheels/share/singular/LIB/tropicalEllipticCovers.lib +2922 -0
  475. sage_wheels/share/singular/LIB/tropicalNewton.lib +1128 -0
  476. sage_wheels/share/singular/LIB/tst.lib +1108 -0
  477. sage_wheels/share/singular/LIB/weierstr.lib +241 -0
  478. sage_wheels/share/singular/LIB/zeroset.lib +1478 -0
  479. sage_wheels/share/singular/emacs/.emacs-general +184 -0
  480. sage_wheels/share/singular/emacs/.emacs-singular +234 -0
  481. sage_wheels/share/singular/emacs/COPYING +44 -0
  482. sage_wheels/share/singular/emacs/cmd-cmpl.el +241 -0
  483. sage_wheels/share/singular/emacs/ex-cmpl.el +1681 -0
  484. sage_wheels/share/singular/emacs/hlp-cmpl.el +4310 -0
  485. sage_wheels/share/singular/emacs/lib-cmpl.el +179 -0
  486. sage_wheels/share/singular/emacs/singular.el +4273 -0
  487. sage_wheels/share/singular/emacs/singular.xpm +39 -0
  488. sage_wheels/share/singular/singular.idx +4986 -0
@@ -0,0 +1,261 @@
1
+ # sage_setup: distribution = sagemath-singular
2
+ # distutils: language = c++
3
+ # distutils: libraries = gmp M_LIBRARIES NTL_LIBRARIES
4
+ # distutils: extra_compile_args = NTL_CFLAGS
5
+ # distutils: include_dirs = NTL_INCDIR
6
+ # distutils: library_dirs = NTL_LIBDIR
7
+ # distutils: extra_link_args = NTL_LIBEXTRA
8
+ """
9
+ Optimized Cython code needed by quaternion algebras
10
+
11
+ This is a collection of miscellaneous routines that are in Cython for
12
+ speed purposes and are used by the quaternion algebra code. For
13
+ example, there are functions for quickly constructing an n x 4 matrix
14
+ from a list of n rational quaternions.
15
+
16
+ AUTHORS:
17
+
18
+ - William Stein
19
+ """
20
+
21
+ # ****************************************************************************
22
+ # Copyright (C) 2009 William Stein <wstein@gmail.com>
23
+ #
24
+ # This program is free software: you can redistribute it and/or modify
25
+ # it under the terms of the GNU General Public License as published by
26
+ # the Free Software Foundation, either version 2 of the License, or
27
+ # (at your option) any later version.
28
+ # https://www.gnu.org/licenses/
29
+ # ****************************************************************************
30
+
31
+ from sage.rings.integer_ring import ZZ
32
+ from sage.rings.rational_field import QQ
33
+ from sage.rings.integer cimport Integer
34
+ from sage.matrix.matrix_space import MatrixSpace
35
+ from sage.matrix.matrix_integer_dense cimport Matrix_integer_dense
36
+ from sage.matrix.matrix_rational_dense cimport Matrix_rational_dense
37
+
38
+ from sage.algebras.quatalg.quaternion_algebra_element cimport QuaternionAlgebraElement_rational_field
39
+
40
+ from sage.libs.gmp.mpz cimport mpz_t, mpz_lcm, mpz_init, mpz_set, mpz_clear, mpz_init_set, mpz_mul, mpz_fdiv_q, mpz_cmp_si
41
+
42
+ from sage.libs.flint.fmpz cimport fmpz_set_mpz
43
+ from sage.libs.flint.fmpq cimport fmpq_canonicalise
44
+ from sage.libs.flint.fmpq_mat cimport fmpq_mat_entry_num, fmpq_mat_entry_den, fmpq_mat_entry
45
+
46
+
47
+ def integral_matrix_and_denom_from_rational_quaternions(v, reverse=False):
48
+ r"""
49
+ Given a list of rational quaternions, return matrix `A` over `\ZZ`
50
+ and denominator `d`, such that the rows of `(1/d)A` are the
51
+ entries of the quaternions.
52
+
53
+ INPUT:
54
+
55
+ - ``v`` -- list of quaternions in a rational quaternion algebra
56
+ - ``reverse`` -- whether order of the coordinates as well as the
57
+ order of the list ``v`` should be reversed
58
+
59
+ OUTPUT:
60
+
61
+ - a matrix over `\ZZ`
62
+ - an integer (the common denominator)
63
+
64
+ EXAMPLES::
65
+
66
+ sage: A.<i,j,k>=QuaternionAlgebra(-4,-5)
67
+ sage: sage.algebras.quatalg.quaternion_algebra_cython.integral_matrix_and_denom_from_rational_quaternions([i/2,1/3+j+k])
68
+ (
69
+ [0 3 0 0]
70
+ [2 0 6 6], 6
71
+ )
72
+
73
+ sage: sage.algebras.quatalg.quaternion_algebra_cython.integral_matrix_and_denom_from_rational_quaternions([i/2,1/3+j+k], reverse=True)
74
+ (
75
+ [6 6 0 2]
76
+ [0 0 3 0], 6
77
+ )
78
+ """
79
+ # This function is an optimized version of
80
+ # MatrixSpace(QQ,len(v),4)([x.coefficient_tuple() for x in v], coerce=False)._clear_denom
81
+
82
+ cdef Py_ssize_t i, n=len(v)
83
+ M = MatrixSpace(ZZ, n, 4)
84
+ cdef Matrix_integer_dense A = M.zero_matrix().__copy__()
85
+ if n == 0:
86
+ return A
87
+
88
+ # Find least common multiple of the denominators
89
+ cdef QuaternionAlgebraElement_rational_field x
90
+ cdef Integer d = Integer()
91
+ # set denom to the denom of the first quaternion
92
+ x = v[0]
93
+ mpz_set(d.value, x.d)
94
+ for x in v[1:]:
95
+ mpz_lcm(d.value, d.value, x.d)
96
+
97
+ # Now fill in each row x of A, multiplying it by q = d/denom(x)
98
+ cdef mpz_t q
99
+ cdef mpz_t tmp
100
+ mpz_init(q)
101
+ mpz_init(tmp)
102
+ for i in range(n):
103
+ x = v[i]
104
+ mpz_fdiv_q(q, d.value, x.d)
105
+ if reverse:
106
+ mpz_mul(tmp, q, x.x)
107
+ A.set_unsafe_mpz(n-i-1, 3, tmp)
108
+ mpz_mul(tmp, q, x.y)
109
+ A.set_unsafe_mpz(n-i-1, 2, tmp)
110
+ mpz_mul(tmp, q, x.z)
111
+ A.set_unsafe_mpz(n-i-1, 1, tmp)
112
+ mpz_mul(tmp, q, x.w)
113
+ A.set_unsafe_mpz(n-i-1, 0, tmp)
114
+ else:
115
+ mpz_mul(tmp, q, x.x)
116
+ A.set_unsafe_mpz(i, 0, tmp)
117
+ mpz_mul(tmp, q, x.y)
118
+ A.set_unsafe_mpz(i, 1, tmp)
119
+ mpz_mul(tmp, q, x.z)
120
+ A.set_unsafe_mpz(i, 2, tmp)
121
+ mpz_mul(tmp, q, x.w)
122
+ A.set_unsafe_mpz(i, 3, tmp)
123
+ mpz_clear(q)
124
+ mpz_clear(tmp)
125
+ return A, d
126
+
127
+
128
+ def rational_matrix_from_rational_quaternions(v, reverse=False):
129
+ r"""
130
+ Return matrix over the rationals whose rows have entries the
131
+ coefficients of the rational quaternions in ``v``.
132
+
133
+ INPUT:
134
+
135
+ - ``v`` -- list of quaternions in a rational quaternion algebra
136
+ - ``reverse`` -- whether order of the coordinates as well as the
137
+ order of the list ``v`` should be reversed
138
+
139
+ OUTPUT: a matrix over `\QQ`
140
+
141
+ EXAMPLES::
142
+
143
+ sage: A.<i,j,k>=QuaternionAlgebra(-4,-5)
144
+ sage: sage.algebras.quatalg.quaternion_algebra_cython.rational_matrix_from_rational_quaternions([i/2,1/3+j+k])
145
+ [ 0 1/2 0 0]
146
+ [1/3 0 1 1]
147
+
148
+ sage: sage.algebras.quatalg.quaternion_algebra_cython.rational_matrix_from_rational_quaternions([i/2,1/3+j+k], reverse=True)
149
+ [ 1 1 0 1/3]
150
+ [ 0 0 1/2 0]
151
+ """
152
+ cdef Py_ssize_t i, j, n=len(v)
153
+ M = MatrixSpace(QQ, n, 4)
154
+ cdef Matrix_rational_dense A = M.zero_matrix().__copy__()
155
+ if n == 0:
156
+ return A
157
+
158
+ cdef QuaternionAlgebraElement_rational_field x
159
+ if reverse:
160
+ for i in range(n):
161
+ x = v[i]
162
+ fmpz_set_mpz(fmpq_mat_entry_num(A._matrix, n-i-1, 3), x.x)
163
+ fmpz_set_mpz(fmpq_mat_entry_num(A._matrix, n-i-1, 2), x.y)
164
+ fmpz_set_mpz(fmpq_mat_entry_num(A._matrix, n-i-1, 1), x.z)
165
+ fmpz_set_mpz(fmpq_mat_entry_num(A._matrix, n-i-1, 0), x.w)
166
+
167
+ if mpz_cmp_si(x.d, 1):
168
+ for j in range(4):
169
+ fmpz_set_mpz(fmpq_mat_entry_den(A._matrix, n-i-1, j), x.d)
170
+ fmpq_canonicalise(fmpq_mat_entry(A._matrix, n-i-1, j))
171
+ else:
172
+ for i in range(n):
173
+ x = v[i]
174
+ fmpz_set_mpz(fmpq_mat_entry_num(A._matrix, i, 0), x.x)
175
+ fmpz_set_mpz(fmpq_mat_entry_num(A._matrix, i, 1), x.y)
176
+ fmpz_set_mpz(fmpq_mat_entry_num(A._matrix, i, 2), x.z)
177
+ fmpz_set_mpz(fmpq_mat_entry_num(A._matrix, i, 3), x.w)
178
+
179
+ if mpz_cmp_si(x.d, 1):
180
+ for j in range(4):
181
+ fmpz_set_mpz(fmpq_mat_entry_den(A._matrix, i, j), x.d)
182
+ fmpq_canonicalise(fmpq_mat_entry(A._matrix, i, j))
183
+
184
+ return A
185
+
186
+
187
+ def rational_quaternions_from_integral_matrix_and_denom(A, Matrix_integer_dense H, Integer d, reverse=False):
188
+ r"""
189
+ Given an integral matrix and denominator, returns a list of
190
+ rational quaternions.
191
+
192
+ INPUT:
193
+
194
+ - ``A`` -- rational quaternion algebra
195
+ - ``H`` -- matrix over the integers
196
+ - ``d`` -- integer
197
+ - ``reverse`` -- whether order of the coordinates as well as the
198
+ order of the list ``v`` should be reversed
199
+
200
+ OUTPUT:
201
+
202
+ - list of ``H.nrows()`` elements of ``A``
203
+
204
+ EXAMPLES::
205
+
206
+ sage: A.<i,j,k>=QuaternionAlgebra(-1,-2)
207
+ sage: f = sage.algebras.quatalg.quaternion_algebra_cython.rational_quaternions_from_integral_matrix_and_denom
208
+ sage: f(A, matrix([[1,2,3,4],[-1,2,-4,3]]), 3)
209
+ [1/3 + 2/3*i + j + 4/3*k, -1/3 + 2/3*i - 4/3*j + k]
210
+
211
+ sage: f(A, matrix([[3,-4,2,-1],[4,3,2,1]]), 3, reverse=True)
212
+ [1/3 + 2/3*i + j + 4/3*k, -1/3 + 2/3*i - 4/3*j + k]
213
+ """
214
+ #
215
+ # This is an optimized version of the following interpreted Python code.
216
+ # H2 = H.change_ring(QQ)._rmul_(1/d)
217
+ # return [A(v.list()) for v in H2.rows()]
218
+ #
219
+ cdef QuaternionAlgebraElement_rational_field x
220
+ v = []
221
+ cdef Integer a, b
222
+ a = Integer(A.invariants()[0])
223
+ b = Integer(A.invariants()[1])
224
+ cdef Py_ssize_t i
225
+ cdef mpz_t tmp
226
+ mpz_init(tmp)
227
+
228
+ if reverse:
229
+ rng = range(H.nrows()-1, -1, -1)
230
+ else:
231
+ rng = range(H.nrows())
232
+
233
+ for i in rng:
234
+ x = <QuaternionAlgebraElement_rational_field> QuaternionAlgebraElement_rational_field.__new__(QuaternionAlgebraElement_rational_field)
235
+ x._parent = A
236
+ mpz_set(x.a, a.value)
237
+ mpz_set(x.b, b.value)
238
+ if reverse:
239
+ H.get_unsafe_mpz(i, 3, tmp)
240
+ mpz_init_set(x.x, tmp)
241
+ H.get_unsafe_mpz(i, 2, tmp)
242
+ mpz_init_set(x.y, tmp)
243
+ H.get_unsafe_mpz(i, 1, tmp)
244
+ mpz_init_set(x.z, tmp)
245
+ H.get_unsafe_mpz(i, 0, tmp)
246
+ mpz_init_set(x.w, tmp)
247
+ else:
248
+ H.get_unsafe_mpz(i, 0, tmp)
249
+ mpz_init_set(x.x, tmp)
250
+ H.get_unsafe_mpz(i, 1, tmp)
251
+ mpz_init_set(x.y, tmp)
252
+ H.get_unsafe_mpz(i, 2, tmp)
253
+ mpz_init_set(x.z, tmp)
254
+ H.get_unsafe_mpz(i, 3, tmp)
255
+ mpz_init_set(x.w, tmp)
256
+ mpz_init_set(x.d, d.value)
257
+ # WARNING -- we do *not* canonicalize the entries in the quaternion.
258
+ # This is I think _not_ needed for quaternion_element.pyx
259
+ v.append(x)
260
+ mpz_clear(tmp)
261
+ return v
@@ -0,0 +1,29 @@
1
+ # sage_setup: distribution = sagemath-singular
2
+ from sage.libs.gmp.types cimport mpz_t
3
+ from sage.libs.flint.types cimport fmpz_poly_t
4
+
5
+ import sage.structure.element
6
+ cimport sage.structure.element
7
+ from sage.structure.element cimport AlgebraElement, RingElement, ModuleElement, Element
8
+ from sage.categories.morphism cimport Morphism
9
+
10
+ cdef class QuaternionAlgebraElement_abstract(AlgebraElement):
11
+ cpdef bint is_constant(self) noexcept
12
+ cdef _do_print(self, x, y, z, w)
13
+ cpdef conjugate(self)
14
+ cpdef reduced_norm(self)
15
+ cpdef reduced_trace(self)
16
+
17
+ cdef class QuaternionAlgebraElement_generic(QuaternionAlgebraElement_abstract):
18
+ cdef object x, y, z, w
19
+ # we will assume that our element has the representation
20
+ # x + yi + zj + wk, where i^2 = a, j^2 = b
21
+
22
+ cdef class QuaternionAlgebraElement_number_field(QuaternionAlgebraElement_abstract):
23
+ cdef fmpz_poly_t x, y, z, w, a, b, modulus
24
+ cdef mpz_t d
25
+ cdef inline canonicalize(self)
26
+
27
+ cdef class QuaternionAlgebraElement_rational_field(QuaternionAlgebraElement_abstract):
28
+ cdef mpz_t x, y, z, w, a, b, d
29
+ cdef inline canonicalize(self)