passagemath-modules 10.6.31__cp314-cp314-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-modules might be problematic. Click here for more details.

Files changed (807) hide show
  1. passagemath_modules-10.6.31.dist-info/METADATA +281 -0
  2. passagemath_modules-10.6.31.dist-info/RECORD +807 -0
  3. passagemath_modules-10.6.31.dist-info/WHEEL +6 -0
  4. passagemath_modules-10.6.31.dist-info/top_level.txt +2 -0
  5. passagemath_modules.dylibs/libgfortran.5.dylib +0 -0
  6. passagemath_modules.dylibs/libgmp.10.dylib +0 -0
  7. passagemath_modules.dylibs/libgsl.28.dylib +0 -0
  8. passagemath_modules.dylibs/libmpc.3.dylib +0 -0
  9. passagemath_modules.dylibs/libmpfr.6.dylib +0 -0
  10. passagemath_modules.dylibs/libopenblasp-r0.3.29.dylib +0 -0
  11. passagemath_modules.dylibs/libquadmath.0.dylib +0 -0
  12. sage/algebras/all__sagemath_modules.py +20 -0
  13. sage/algebras/catalog.py +148 -0
  14. sage/algebras/clifford_algebra.py +3107 -0
  15. sage/algebras/clifford_algebra_element.cpython-314-darwin.so +0 -0
  16. sage/algebras/clifford_algebra_element.pxd +16 -0
  17. sage/algebras/clifford_algebra_element.pyx +997 -0
  18. sage/algebras/commutative_dga.py +4252 -0
  19. sage/algebras/exterior_algebra_groebner.cpython-314-darwin.so +0 -0
  20. sage/algebras/exterior_algebra_groebner.pxd +55 -0
  21. sage/algebras/exterior_algebra_groebner.pyx +727 -0
  22. sage/algebras/finite_dimensional_algebras/all.py +2 -0
  23. sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra.py +1029 -0
  24. sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.cpython-314-darwin.so +0 -0
  25. sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.pxd +12 -0
  26. sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.pyx +706 -0
  27. sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_ideal.py +196 -0
  28. sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_morphism.py +255 -0
  29. sage/algebras/finite_gca.py +528 -0
  30. sage/algebras/group_algebra.py +232 -0
  31. sage/algebras/lie_algebras/abelian.py +197 -0
  32. sage/algebras/lie_algebras/affine_lie_algebra.py +1213 -0
  33. sage/algebras/lie_algebras/all.py +25 -0
  34. sage/algebras/lie_algebras/all__sagemath_modules.py +1 -0
  35. sage/algebras/lie_algebras/bch.py +177 -0
  36. sage/algebras/lie_algebras/bgg_dual_module.py +1184 -0
  37. sage/algebras/lie_algebras/bgg_resolution.py +232 -0
  38. sage/algebras/lie_algebras/center_uea.py +767 -0
  39. sage/algebras/lie_algebras/classical_lie_algebra.py +2516 -0
  40. sage/algebras/lie_algebras/examples.py +683 -0
  41. sage/algebras/lie_algebras/free_lie_algebra.py +973 -0
  42. sage/algebras/lie_algebras/heisenberg.py +820 -0
  43. sage/algebras/lie_algebras/lie_algebra.py +1562 -0
  44. sage/algebras/lie_algebras/lie_algebra_element.cpython-314-darwin.so +0 -0
  45. sage/algebras/lie_algebras/lie_algebra_element.pxd +68 -0
  46. sage/algebras/lie_algebras/lie_algebra_element.pyx +2122 -0
  47. sage/algebras/lie_algebras/morphism.py +661 -0
  48. sage/algebras/lie_algebras/nilpotent_lie_algebra.py +457 -0
  49. sage/algebras/lie_algebras/onsager.py +1324 -0
  50. sage/algebras/lie_algebras/poincare_birkhoff_witt.py +816 -0
  51. sage/algebras/lie_algebras/quotient.py +462 -0
  52. sage/algebras/lie_algebras/rank_two_heisenberg_virasoro.py +355 -0
  53. sage/algebras/lie_algebras/representation.py +1040 -0
  54. sage/algebras/lie_algebras/structure_coefficients.py +459 -0
  55. sage/algebras/lie_algebras/subalgebra.py +967 -0
  56. sage/algebras/lie_algebras/symplectic_derivation.py +289 -0
  57. sage/algebras/lie_algebras/verma_module.py +1630 -0
  58. sage/algebras/lie_algebras/virasoro.py +1186 -0
  59. sage/algebras/octonion_algebra.cpython-314-darwin.so +0 -0
  60. sage/algebras/octonion_algebra.pxd +20 -0
  61. sage/algebras/octonion_algebra.pyx +987 -0
  62. sage/algebras/orlik_solomon.py +907 -0
  63. sage/algebras/orlik_terao.py +779 -0
  64. sage/algebras/steenrod/all.py +7 -0
  65. sage/algebras/steenrod/steenrod_algebra.py +4258 -0
  66. sage/algebras/steenrod/steenrod_algebra_bases.py +1179 -0
  67. sage/algebras/steenrod/steenrod_algebra_misc.py +1167 -0
  68. sage/algebras/steenrod/steenrod_algebra_mult.py +954 -0
  69. sage/algebras/weyl_algebra.py +1126 -0
  70. sage/all__sagemath_modules.py +62 -0
  71. sage/calculus/all__sagemath_modules.py +19 -0
  72. sage/calculus/expr.py +205 -0
  73. sage/calculus/integration.cpython-314-darwin.so +0 -0
  74. sage/calculus/integration.pyx +698 -0
  75. sage/calculus/interpolation.cpython-314-darwin.so +0 -0
  76. sage/calculus/interpolation.pxd +13 -0
  77. sage/calculus/interpolation.pyx +387 -0
  78. sage/calculus/interpolators.cpython-314-darwin.so +0 -0
  79. sage/calculus/interpolators.pyx +326 -0
  80. sage/calculus/ode.cpython-314-darwin.so +0 -0
  81. sage/calculus/ode.pxd +5 -0
  82. sage/calculus/ode.pyx +610 -0
  83. sage/calculus/riemann.cpython-314-darwin.so +0 -0
  84. sage/calculus/riemann.pyx +1521 -0
  85. sage/calculus/test_sympy.py +201 -0
  86. sage/calculus/transforms/all.py +7 -0
  87. sage/calculus/transforms/dft.py +844 -0
  88. sage/calculus/transforms/dwt.cpython-314-darwin.so +0 -0
  89. sage/calculus/transforms/dwt.pxd +7 -0
  90. sage/calculus/transforms/dwt.pyx +160 -0
  91. sage/calculus/transforms/fft.cpython-314-darwin.so +0 -0
  92. sage/calculus/transforms/fft.pxd +12 -0
  93. sage/calculus/transforms/fft.pyx +487 -0
  94. sage/calculus/wester.py +662 -0
  95. sage/coding/abstract_code.py +1108 -0
  96. sage/coding/ag_code.py +868 -0
  97. sage/coding/ag_code_decoders.cpython-314-darwin.so +0 -0
  98. sage/coding/ag_code_decoders.pyx +2639 -0
  99. sage/coding/all.py +15 -0
  100. sage/coding/bch_code.py +494 -0
  101. sage/coding/binary_code.cpython-314-darwin.so +0 -0
  102. sage/coding/binary_code.pxd +124 -0
  103. sage/coding/binary_code.pyx +4139 -0
  104. sage/coding/bounds_catalog.py +43 -0
  105. sage/coding/channel.py +819 -0
  106. sage/coding/channels_catalog.py +29 -0
  107. sage/coding/code_bounds.py +755 -0
  108. sage/coding/code_constructions.py +804 -0
  109. sage/coding/codes_catalog.py +111 -0
  110. sage/coding/cyclic_code.py +1329 -0
  111. sage/coding/databases.py +316 -0
  112. sage/coding/decoder.py +373 -0
  113. sage/coding/decoders_catalog.py +88 -0
  114. sage/coding/delsarte_bounds.py +709 -0
  115. sage/coding/encoder.py +390 -0
  116. sage/coding/encoders_catalog.py +64 -0
  117. sage/coding/extended_code.py +468 -0
  118. sage/coding/gabidulin_code.py +1058 -0
  119. sage/coding/golay_code.py +404 -0
  120. sage/coding/goppa_code.py +441 -0
  121. sage/coding/grs_code.py +2371 -0
  122. sage/coding/guava.py +107 -0
  123. sage/coding/guruswami_sudan/all.py +1 -0
  124. sage/coding/guruswami_sudan/gs_decoder.py +897 -0
  125. sage/coding/guruswami_sudan/interpolation.py +409 -0
  126. sage/coding/guruswami_sudan/utils.py +176 -0
  127. sage/coding/hamming_code.py +176 -0
  128. sage/coding/information_set_decoder.py +1032 -0
  129. sage/coding/kasami_codes.cpython-314-darwin.so +0 -0
  130. sage/coding/kasami_codes.pyx +351 -0
  131. sage/coding/linear_code.py +3067 -0
  132. sage/coding/linear_code_no_metric.py +1354 -0
  133. sage/coding/linear_rank_metric.py +961 -0
  134. sage/coding/parity_check_code.py +353 -0
  135. sage/coding/punctured_code.py +719 -0
  136. sage/coding/reed_muller_code.py +999 -0
  137. sage/coding/self_dual_codes.py +942 -0
  138. sage/coding/source_coding/all.py +2 -0
  139. sage/coding/source_coding/huffman.py +553 -0
  140. sage/coding/subfield_subcode.py +423 -0
  141. sage/coding/two_weight_db.py +399 -0
  142. sage/combinat/all__sagemath_modules.py +7 -0
  143. sage/combinat/cartesian_product.py +347 -0
  144. sage/combinat/family.py +11 -0
  145. sage/combinat/free_module.py +1977 -0
  146. sage/combinat/root_system/all.py +147 -0
  147. sage/combinat/root_system/ambient_space.py +527 -0
  148. sage/combinat/root_system/associahedron.py +471 -0
  149. sage/combinat/root_system/braid_move_calculator.py +143 -0
  150. sage/combinat/root_system/braid_orbit.cpython-314-darwin.so +0 -0
  151. sage/combinat/root_system/braid_orbit.pyx +144 -0
  152. sage/combinat/root_system/branching_rules.py +2301 -0
  153. sage/combinat/root_system/cartan_matrix.py +1245 -0
  154. sage/combinat/root_system/cartan_type.py +3069 -0
  155. sage/combinat/root_system/coxeter_group.py +162 -0
  156. sage/combinat/root_system/coxeter_matrix.py +1261 -0
  157. sage/combinat/root_system/coxeter_type.py +681 -0
  158. sage/combinat/root_system/dynkin_diagram.py +900 -0
  159. sage/combinat/root_system/extended_affine_weyl_group.py +2993 -0
  160. sage/combinat/root_system/fundamental_group.py +795 -0
  161. sage/combinat/root_system/hecke_algebra_representation.py +1203 -0
  162. sage/combinat/root_system/integrable_representations.py +1227 -0
  163. sage/combinat/root_system/non_symmetric_macdonald_polynomials.py +1965 -0
  164. sage/combinat/root_system/pieri_factors.py +1147 -0
  165. sage/combinat/root_system/plot.py +1615 -0
  166. sage/combinat/root_system/root_lattice_realization_algebras.py +1214 -0
  167. sage/combinat/root_system/root_lattice_realizations.py +4628 -0
  168. sage/combinat/root_system/root_space.py +487 -0
  169. sage/combinat/root_system/root_system.py +882 -0
  170. sage/combinat/root_system/type_A.py +348 -0
  171. sage/combinat/root_system/type_A_affine.py +227 -0
  172. sage/combinat/root_system/type_A_infinity.py +241 -0
  173. sage/combinat/root_system/type_B.py +347 -0
  174. sage/combinat/root_system/type_BC_affine.py +287 -0
  175. sage/combinat/root_system/type_B_affine.py +216 -0
  176. sage/combinat/root_system/type_C.py +317 -0
  177. sage/combinat/root_system/type_C_affine.py +188 -0
  178. sage/combinat/root_system/type_D.py +357 -0
  179. sage/combinat/root_system/type_D_affine.py +208 -0
  180. sage/combinat/root_system/type_E.py +641 -0
  181. sage/combinat/root_system/type_E_affine.py +231 -0
  182. sage/combinat/root_system/type_F.py +387 -0
  183. sage/combinat/root_system/type_F_affine.py +137 -0
  184. sage/combinat/root_system/type_G.py +293 -0
  185. sage/combinat/root_system/type_G_affine.py +132 -0
  186. sage/combinat/root_system/type_H.py +105 -0
  187. sage/combinat/root_system/type_I.py +110 -0
  188. sage/combinat/root_system/type_Q.py +150 -0
  189. sage/combinat/root_system/type_affine.py +509 -0
  190. sage/combinat/root_system/type_dual.py +704 -0
  191. sage/combinat/root_system/type_folded.py +301 -0
  192. sage/combinat/root_system/type_marked.py +748 -0
  193. sage/combinat/root_system/type_reducible.py +601 -0
  194. sage/combinat/root_system/type_relabel.py +730 -0
  195. sage/combinat/root_system/type_super_A.py +837 -0
  196. sage/combinat/root_system/weight_lattice_realizations.py +1188 -0
  197. sage/combinat/root_system/weight_space.py +639 -0
  198. sage/combinat/root_system/weyl_characters.py +2238 -0
  199. sage/crypto/__init__.py +4 -0
  200. sage/crypto/all.py +28 -0
  201. sage/crypto/block_cipher/all.py +7 -0
  202. sage/crypto/block_cipher/des.py +1065 -0
  203. sage/crypto/block_cipher/miniaes.py +2171 -0
  204. sage/crypto/block_cipher/present.py +909 -0
  205. sage/crypto/block_cipher/sdes.py +1527 -0
  206. sage/crypto/boolean_function.cpython-314-darwin.so +0 -0
  207. sage/crypto/boolean_function.pxd +10 -0
  208. sage/crypto/boolean_function.pyx +1487 -0
  209. sage/crypto/cipher.py +78 -0
  210. sage/crypto/classical.py +3668 -0
  211. sage/crypto/classical_cipher.py +569 -0
  212. sage/crypto/cryptosystem.py +387 -0
  213. sage/crypto/key_exchange/all.py +7 -0
  214. sage/crypto/key_exchange/catalog.py +24 -0
  215. sage/crypto/key_exchange/diffie_hellman.py +323 -0
  216. sage/crypto/key_exchange/key_exchange_scheme.py +107 -0
  217. sage/crypto/lattice.py +312 -0
  218. sage/crypto/lfsr.py +295 -0
  219. sage/crypto/lwe.py +840 -0
  220. sage/crypto/mq/__init__.py +4 -0
  221. sage/crypto/mq/mpolynomialsystemgenerator.py +204 -0
  222. sage/crypto/mq/rijndael_gf.py +2345 -0
  223. sage/crypto/mq/sbox.py +7 -0
  224. sage/crypto/mq/sr.py +3344 -0
  225. sage/crypto/public_key/all.py +5 -0
  226. sage/crypto/public_key/blum_goldwasser.py +776 -0
  227. sage/crypto/sbox.cpython-314-darwin.so +0 -0
  228. sage/crypto/sbox.pyx +2090 -0
  229. sage/crypto/sboxes.py +2090 -0
  230. sage/crypto/stream.py +390 -0
  231. sage/crypto/stream_cipher.py +297 -0
  232. sage/crypto/util.py +519 -0
  233. sage/ext/all__sagemath_modules.py +1 -0
  234. sage/ext/interpreters/__init__.py +1 -0
  235. sage/ext/interpreters/all__sagemath_modules.py +2 -0
  236. sage/ext/interpreters/wrapper_cc.cpython-314-darwin.so +0 -0
  237. sage/ext/interpreters/wrapper_cc.pxd +30 -0
  238. sage/ext/interpreters/wrapper_cc.pyx +252 -0
  239. sage/ext/interpreters/wrapper_cdf.cpython-314-darwin.so +0 -0
  240. sage/ext/interpreters/wrapper_cdf.pxd +26 -0
  241. sage/ext/interpreters/wrapper_cdf.pyx +245 -0
  242. sage/ext/interpreters/wrapper_rdf.cpython-314-darwin.so +0 -0
  243. sage/ext/interpreters/wrapper_rdf.pxd +23 -0
  244. sage/ext/interpreters/wrapper_rdf.pyx +221 -0
  245. sage/ext/interpreters/wrapper_rr.cpython-314-darwin.so +0 -0
  246. sage/ext/interpreters/wrapper_rr.pxd +28 -0
  247. sage/ext/interpreters/wrapper_rr.pyx +335 -0
  248. sage/geometry/all__sagemath_modules.py +5 -0
  249. sage/geometry/toric_lattice.py +1745 -0
  250. sage/geometry/toric_lattice_element.cpython-314-darwin.so +0 -0
  251. sage/geometry/toric_lattice_element.pyx +432 -0
  252. sage/groups/abelian_gps/abelian_group.py +1925 -0
  253. sage/groups/abelian_gps/abelian_group_element.py +164 -0
  254. sage/groups/abelian_gps/all__sagemath_modules.py +5 -0
  255. sage/groups/abelian_gps/dual_abelian_group.py +421 -0
  256. sage/groups/abelian_gps/dual_abelian_group_element.py +179 -0
  257. sage/groups/abelian_gps/element_base.py +341 -0
  258. sage/groups/abelian_gps/values.py +488 -0
  259. sage/groups/additive_abelian/additive_abelian_group.py +476 -0
  260. sage/groups/additive_abelian/additive_abelian_wrapper.py +857 -0
  261. sage/groups/additive_abelian/all.py +4 -0
  262. sage/groups/additive_abelian/qmodnz.py +231 -0
  263. sage/groups/additive_abelian/qmodnz_element.py +349 -0
  264. sage/groups/affine_gps/affine_group.py +535 -0
  265. sage/groups/affine_gps/all.py +1 -0
  266. sage/groups/affine_gps/catalog.py +17 -0
  267. sage/groups/affine_gps/euclidean_group.py +246 -0
  268. sage/groups/affine_gps/group_element.py +562 -0
  269. sage/groups/all__sagemath_modules.py +12 -0
  270. sage/groups/galois_group.py +479 -0
  271. sage/groups/matrix_gps/all.py +4 -0
  272. sage/groups/matrix_gps/all__sagemath_modules.py +13 -0
  273. sage/groups/matrix_gps/catalog.py +26 -0
  274. sage/groups/matrix_gps/coxeter_group.py +927 -0
  275. sage/groups/matrix_gps/finitely_generated.py +487 -0
  276. sage/groups/matrix_gps/group_element.cpython-314-darwin.so +0 -0
  277. sage/groups/matrix_gps/group_element.pxd +11 -0
  278. sage/groups/matrix_gps/group_element.pyx +431 -0
  279. sage/groups/matrix_gps/linear.py +440 -0
  280. sage/groups/matrix_gps/matrix_group.py +617 -0
  281. sage/groups/matrix_gps/named_group.py +296 -0
  282. sage/groups/matrix_gps/orthogonal.py +544 -0
  283. sage/groups/matrix_gps/symplectic.py +251 -0
  284. sage/groups/matrix_gps/unitary.py +436 -0
  285. sage/groups/misc_gps/all__sagemath_modules.py +1 -0
  286. sage/groups/misc_gps/argument_groups.py +1905 -0
  287. sage/groups/misc_gps/imaginary_groups.py +479 -0
  288. sage/groups/perm_gps/all__sagemath_modules.py +1 -0
  289. sage/groups/perm_gps/partn_ref/all__sagemath_modules.py +1 -0
  290. sage/groups/perm_gps/partn_ref/refinement_binary.cpython-314-darwin.so +0 -0
  291. sage/groups/perm_gps/partn_ref/refinement_binary.pxd +41 -0
  292. sage/groups/perm_gps/partn_ref/refinement_binary.pyx +1167 -0
  293. sage/groups/perm_gps/partn_ref/refinement_matrices.cpython-314-darwin.so +0 -0
  294. sage/groups/perm_gps/partn_ref/refinement_matrices.pxd +31 -0
  295. sage/groups/perm_gps/partn_ref/refinement_matrices.pyx +385 -0
  296. sage/homology/algebraic_topological_model.py +595 -0
  297. sage/homology/all.py +2 -0
  298. sage/homology/all__sagemath_modules.py +8 -0
  299. sage/homology/chain_complex.py +2148 -0
  300. sage/homology/chain_complex_homspace.py +165 -0
  301. sage/homology/chain_complex_morphism.py +629 -0
  302. sage/homology/chain_homotopy.py +604 -0
  303. sage/homology/chains.py +653 -0
  304. sage/homology/free_resolution.py +923 -0
  305. sage/homology/graded_resolution.py +567 -0
  306. sage/homology/hochschild_complex.py +756 -0
  307. sage/homology/homology_group.py +188 -0
  308. sage/homology/homology_morphism.py +422 -0
  309. sage/homology/homology_vector_space_with_basis.py +1454 -0
  310. sage/homology/koszul_complex.py +169 -0
  311. sage/homology/matrix_utils.py +205 -0
  312. sage/libs/all__sagemath_modules.py +1 -0
  313. sage/libs/gsl/__init__.py +1 -0
  314. sage/libs/gsl/airy.pxd +56 -0
  315. sage/libs/gsl/all.pxd +66 -0
  316. sage/libs/gsl/array.cpython-314-darwin.so +0 -0
  317. sage/libs/gsl/array.pxd +5 -0
  318. sage/libs/gsl/array.pyx +102 -0
  319. sage/libs/gsl/bessel.pxd +208 -0
  320. sage/libs/gsl/blas.pxd +116 -0
  321. sage/libs/gsl/blas_types.pxd +34 -0
  322. sage/libs/gsl/block.pxd +52 -0
  323. sage/libs/gsl/chebyshev.pxd +37 -0
  324. sage/libs/gsl/clausen.pxd +12 -0
  325. sage/libs/gsl/combination.pxd +47 -0
  326. sage/libs/gsl/complex.pxd +151 -0
  327. sage/libs/gsl/coulomb.pxd +30 -0
  328. sage/libs/gsl/coupling.pxd +21 -0
  329. sage/libs/gsl/dawson.pxd +12 -0
  330. sage/libs/gsl/debye.pxd +24 -0
  331. sage/libs/gsl/dilog.pxd +14 -0
  332. sage/libs/gsl/eigen.pxd +46 -0
  333. sage/libs/gsl/elementary.pxd +12 -0
  334. sage/libs/gsl/ellint.pxd +48 -0
  335. sage/libs/gsl/elljac.pxd +8 -0
  336. sage/libs/gsl/erf.pxd +32 -0
  337. sage/libs/gsl/errno.pxd +26 -0
  338. sage/libs/gsl/exp.pxd +44 -0
  339. sage/libs/gsl/expint.pxd +44 -0
  340. sage/libs/gsl/fermi_dirac.pxd +44 -0
  341. sage/libs/gsl/fft.pxd +121 -0
  342. sage/libs/gsl/fit.pxd +50 -0
  343. sage/libs/gsl/gamma.pxd +94 -0
  344. sage/libs/gsl/gegenbauer.pxd +26 -0
  345. sage/libs/gsl/histogram.pxd +176 -0
  346. sage/libs/gsl/hyperg.pxd +52 -0
  347. sage/libs/gsl/integration.pxd +69 -0
  348. sage/libs/gsl/interp.pxd +109 -0
  349. sage/libs/gsl/laguerre.pxd +24 -0
  350. sage/libs/gsl/lambert.pxd +16 -0
  351. sage/libs/gsl/legendre.pxd +90 -0
  352. sage/libs/gsl/linalg.pxd +185 -0
  353. sage/libs/gsl/log.pxd +26 -0
  354. sage/libs/gsl/math.pxd +43 -0
  355. sage/libs/gsl/matrix.pxd +143 -0
  356. sage/libs/gsl/matrix_complex.pxd +130 -0
  357. sage/libs/gsl/min.pxd +67 -0
  358. sage/libs/gsl/monte.pxd +56 -0
  359. sage/libs/gsl/ntuple.pxd +32 -0
  360. sage/libs/gsl/odeiv.pxd +70 -0
  361. sage/libs/gsl/permutation.pxd +78 -0
  362. sage/libs/gsl/poly.pxd +40 -0
  363. sage/libs/gsl/pow_int.pxd +12 -0
  364. sage/libs/gsl/psi.pxd +28 -0
  365. sage/libs/gsl/qrng.pxd +29 -0
  366. sage/libs/gsl/random.pxd +257 -0
  367. sage/libs/gsl/rng.pxd +100 -0
  368. sage/libs/gsl/roots.pxd +72 -0
  369. sage/libs/gsl/sort.pxd +36 -0
  370. sage/libs/gsl/statistics.pxd +59 -0
  371. sage/libs/gsl/sum.pxd +55 -0
  372. sage/libs/gsl/synchrotron.pxd +16 -0
  373. sage/libs/gsl/transport.pxd +24 -0
  374. sage/libs/gsl/trig.pxd +58 -0
  375. sage/libs/gsl/types.pxd +137 -0
  376. sage/libs/gsl/vector.pxd +101 -0
  377. sage/libs/gsl/vector_complex.pxd +83 -0
  378. sage/libs/gsl/wavelet.pxd +49 -0
  379. sage/libs/gsl/zeta.pxd +28 -0
  380. sage/libs/mpc/__init__.pxd +114 -0
  381. sage/libs/mpc/types.pxd +28 -0
  382. sage/libs/mpfr/__init__.pxd +299 -0
  383. sage/libs/mpfr/types.pxd +26 -0
  384. sage/libs/mpmath/__init__.py +1 -0
  385. sage/libs/mpmath/all.py +27 -0
  386. sage/libs/mpmath/all__sagemath_modules.py +1 -0
  387. sage/libs/mpmath/utils.cpython-314-darwin.so +0 -0
  388. sage/libs/mpmath/utils.pxd +4 -0
  389. sage/libs/mpmath/utils.pyx +319 -0
  390. sage/matrix/action.cpython-314-darwin.so +0 -0
  391. sage/matrix/action.pxd +26 -0
  392. sage/matrix/action.pyx +596 -0
  393. sage/matrix/all.py +9 -0
  394. sage/matrix/args.cpython-314-darwin.so +0 -0
  395. sage/matrix/args.pxd +144 -0
  396. sage/matrix/args.pyx +1668 -0
  397. sage/matrix/benchmark.py +1258 -0
  398. sage/matrix/berlekamp_massey.py +95 -0
  399. sage/matrix/compute_J_ideal.py +926 -0
  400. sage/matrix/constructor.cpython-314-darwin.so +0 -0
  401. sage/matrix/constructor.pyx +750 -0
  402. sage/matrix/docs.py +430 -0
  403. sage/matrix/echelon_matrix.cpython-314-darwin.so +0 -0
  404. sage/matrix/echelon_matrix.pyx +155 -0
  405. sage/matrix/matrix.pxd +2 -0
  406. sage/matrix/matrix0.cpython-314-darwin.so +0 -0
  407. sage/matrix/matrix0.pxd +68 -0
  408. sage/matrix/matrix0.pyx +6324 -0
  409. sage/matrix/matrix1.cpython-314-darwin.so +0 -0
  410. sage/matrix/matrix1.pxd +8 -0
  411. sage/matrix/matrix1.pyx +2851 -0
  412. sage/matrix/matrix2.cpython-314-darwin.so +0 -0
  413. sage/matrix/matrix2.pxd +25 -0
  414. sage/matrix/matrix2.pyx +20181 -0
  415. sage/matrix/matrix_cdv.cpython-314-darwin.so +0 -0
  416. sage/matrix/matrix_cdv.pxd +4 -0
  417. sage/matrix/matrix_cdv.pyx +93 -0
  418. sage/matrix/matrix_complex_double_dense.cpython-314-darwin.so +0 -0
  419. sage/matrix/matrix_complex_double_dense.pxd +5 -0
  420. sage/matrix/matrix_complex_double_dense.pyx +98 -0
  421. sage/matrix/matrix_dense.cpython-314-darwin.so +0 -0
  422. sage/matrix/matrix_dense.pxd +5 -0
  423. sage/matrix/matrix_dense.pyx +343 -0
  424. sage/matrix/matrix_domain_dense.pxd +5 -0
  425. sage/matrix/matrix_domain_sparse.pxd +5 -0
  426. sage/matrix/matrix_double_dense.cpython-314-darwin.so +0 -0
  427. sage/matrix/matrix_double_dense.pxd +7 -0
  428. sage/matrix/matrix_double_dense.pyx +3906 -0
  429. sage/matrix/matrix_double_sparse.cpython-314-darwin.so +0 -0
  430. sage/matrix/matrix_double_sparse.pxd +6 -0
  431. sage/matrix/matrix_double_sparse.pyx +248 -0
  432. sage/matrix/matrix_generic_dense.cpython-314-darwin.so +0 -0
  433. sage/matrix/matrix_generic_dense.pxd +7 -0
  434. sage/matrix/matrix_generic_dense.pyx +354 -0
  435. sage/matrix/matrix_generic_sparse.cpython-314-darwin.so +0 -0
  436. sage/matrix/matrix_generic_sparse.pxd +7 -0
  437. sage/matrix/matrix_generic_sparse.pyx +461 -0
  438. sage/matrix/matrix_laurent_mpolynomial_dense.cpython-314-darwin.so +0 -0
  439. sage/matrix/matrix_laurent_mpolynomial_dense.pxd +5 -0
  440. sage/matrix/matrix_laurent_mpolynomial_dense.pyx +115 -0
  441. sage/matrix/matrix_misc.py +313 -0
  442. sage/matrix/matrix_numpy_dense.cpython-314-darwin.so +0 -0
  443. sage/matrix/matrix_numpy_dense.pxd +14 -0
  444. sage/matrix/matrix_numpy_dense.pyx +450 -0
  445. sage/matrix/matrix_numpy_integer_dense.cpython-314-darwin.so +0 -0
  446. sage/matrix/matrix_numpy_integer_dense.pxd +7 -0
  447. sage/matrix/matrix_numpy_integer_dense.pyx +59 -0
  448. sage/matrix/matrix_polynomial_dense.cpython-314-darwin.so +0 -0
  449. sage/matrix/matrix_polynomial_dense.pxd +5 -0
  450. sage/matrix/matrix_polynomial_dense.pyx +5341 -0
  451. sage/matrix/matrix_real_double_dense.cpython-314-darwin.so +0 -0
  452. sage/matrix/matrix_real_double_dense.pxd +7 -0
  453. sage/matrix/matrix_real_double_dense.pyx +122 -0
  454. sage/matrix/matrix_space.py +2848 -0
  455. sage/matrix/matrix_sparse.cpython-314-darwin.so +0 -0
  456. sage/matrix/matrix_sparse.pxd +5 -0
  457. sage/matrix/matrix_sparse.pyx +1222 -0
  458. sage/matrix/matrix_window.cpython-314-darwin.so +0 -0
  459. sage/matrix/matrix_window.pxd +37 -0
  460. sage/matrix/matrix_window.pyx +242 -0
  461. sage/matrix/misc_mpfr.cpython-314-darwin.so +0 -0
  462. sage/matrix/misc_mpfr.pyx +80 -0
  463. sage/matrix/operation_table.py +1182 -0
  464. sage/matrix/special.py +3666 -0
  465. sage/matrix/strassen.cpython-314-darwin.so +0 -0
  466. sage/matrix/strassen.pyx +851 -0
  467. sage/matrix/symplectic_basis.py +541 -0
  468. sage/matrix/template.pxd +6 -0
  469. sage/matrix/tests.py +71 -0
  470. sage/matroids/advanced.py +77 -0
  471. sage/matroids/all.py +13 -0
  472. sage/matroids/basis_exchange_matroid.cpython-314-darwin.so +0 -0
  473. sage/matroids/basis_exchange_matroid.pxd +96 -0
  474. sage/matroids/basis_exchange_matroid.pyx +2344 -0
  475. sage/matroids/basis_matroid.cpython-314-darwin.so +0 -0
  476. sage/matroids/basis_matroid.pxd +45 -0
  477. sage/matroids/basis_matroid.pyx +1217 -0
  478. sage/matroids/catalog.py +44 -0
  479. sage/matroids/chow_ring.py +473 -0
  480. sage/matroids/chow_ring_ideal.py +849 -0
  481. sage/matroids/circuit_closures_matroid.cpython-314-darwin.so +0 -0
  482. sage/matroids/circuit_closures_matroid.pxd +16 -0
  483. sage/matroids/circuit_closures_matroid.pyx +559 -0
  484. sage/matroids/circuits_matroid.cpython-314-darwin.so +0 -0
  485. sage/matroids/circuits_matroid.pxd +38 -0
  486. sage/matroids/circuits_matroid.pyx +947 -0
  487. sage/matroids/constructor.py +1086 -0
  488. sage/matroids/database_collections.py +365 -0
  489. sage/matroids/database_matroids.py +5338 -0
  490. sage/matroids/dual_matroid.py +583 -0
  491. sage/matroids/extension.cpython-314-darwin.so +0 -0
  492. sage/matroids/extension.pxd +34 -0
  493. sage/matroids/extension.pyx +519 -0
  494. sage/matroids/flats_matroid.cpython-314-darwin.so +0 -0
  495. sage/matroids/flats_matroid.pxd +28 -0
  496. sage/matroids/flats_matroid.pyx +715 -0
  497. sage/matroids/gammoid.py +600 -0
  498. sage/matroids/graphic_matroid.cpython-314-darwin.so +0 -0
  499. sage/matroids/graphic_matroid.pxd +39 -0
  500. sage/matroids/graphic_matroid.pyx +2024 -0
  501. sage/matroids/lean_matrix.cpython-314-darwin.so +0 -0
  502. sage/matroids/lean_matrix.pxd +126 -0
  503. sage/matroids/lean_matrix.pyx +3667 -0
  504. sage/matroids/linear_matroid.cpython-314-darwin.so +0 -0
  505. sage/matroids/linear_matroid.pxd +180 -0
  506. sage/matroids/linear_matroid.pyx +6649 -0
  507. sage/matroids/matroid.cpython-314-darwin.so +0 -0
  508. sage/matroids/matroid.pxd +243 -0
  509. sage/matroids/matroid.pyx +8759 -0
  510. sage/matroids/matroids_catalog.py +190 -0
  511. sage/matroids/matroids_plot_helpers.py +890 -0
  512. sage/matroids/minor_matroid.py +480 -0
  513. sage/matroids/minorfix.h +9 -0
  514. sage/matroids/named_matroids.py +5 -0
  515. sage/matroids/rank_matroid.py +268 -0
  516. sage/matroids/set_system.cpython-314-darwin.so +0 -0
  517. sage/matroids/set_system.pxd +38 -0
  518. sage/matroids/set_system.pyx +800 -0
  519. sage/matroids/transversal_matroid.cpython-314-darwin.so +0 -0
  520. sage/matroids/transversal_matroid.pxd +14 -0
  521. sage/matroids/transversal_matroid.pyx +893 -0
  522. sage/matroids/union_matroid.cpython-314-darwin.so +0 -0
  523. sage/matroids/union_matroid.pxd +20 -0
  524. sage/matroids/union_matroid.pyx +331 -0
  525. sage/matroids/unpickling.cpython-314-darwin.so +0 -0
  526. sage/matroids/unpickling.pyx +843 -0
  527. sage/matroids/utilities.py +809 -0
  528. sage/misc/all__sagemath_modules.py +20 -0
  529. sage/misc/c3.cpython-314-darwin.so +0 -0
  530. sage/misc/c3.pyx +238 -0
  531. sage/misc/compat.py +87 -0
  532. sage/misc/element_with_label.py +173 -0
  533. sage/misc/func_persist.py +79 -0
  534. sage/misc/pickle_old.cpython-314-darwin.so +0 -0
  535. sage/misc/pickle_old.pyx +19 -0
  536. sage/misc/proof.py +7 -0
  537. sage/misc/replace_dot_all.py +472 -0
  538. sage/misc/sagedoc_conf.py +168 -0
  539. sage/misc/sphinxify.py +167 -0
  540. sage/misc/test_class_pickling.py +85 -0
  541. sage/modules/all.py +42 -0
  542. sage/modules/complex_double_vector.py +25 -0
  543. sage/modules/diamond_cutting.py +380 -0
  544. sage/modules/fg_pid/all.py +1 -0
  545. sage/modules/fg_pid/fgp_element.py +456 -0
  546. sage/modules/fg_pid/fgp_module.py +2091 -0
  547. sage/modules/fg_pid/fgp_morphism.py +550 -0
  548. sage/modules/filtered_vector_space.py +1271 -0
  549. sage/modules/finite_submodule_iter.cpython-314-darwin.so +0 -0
  550. sage/modules/finite_submodule_iter.pxd +27 -0
  551. sage/modules/finite_submodule_iter.pyx +452 -0
  552. sage/modules/fp_graded/all.py +1 -0
  553. sage/modules/fp_graded/element.py +346 -0
  554. sage/modules/fp_graded/free_element.py +298 -0
  555. sage/modules/fp_graded/free_homspace.py +53 -0
  556. sage/modules/fp_graded/free_module.py +1060 -0
  557. sage/modules/fp_graded/free_morphism.py +217 -0
  558. sage/modules/fp_graded/homspace.py +563 -0
  559. sage/modules/fp_graded/module.py +1340 -0
  560. sage/modules/fp_graded/morphism.py +1990 -0
  561. sage/modules/fp_graded/steenrod/all.py +1 -0
  562. sage/modules/fp_graded/steenrod/homspace.py +65 -0
  563. sage/modules/fp_graded/steenrod/module.py +477 -0
  564. sage/modules/fp_graded/steenrod/morphism.py +404 -0
  565. sage/modules/fp_graded/steenrod/profile.py +241 -0
  566. sage/modules/free_module.py +8447 -0
  567. sage/modules/free_module_element.cpython-314-darwin.so +0 -0
  568. sage/modules/free_module_element.pxd +22 -0
  569. sage/modules/free_module_element.pyx +5445 -0
  570. sage/modules/free_module_homspace.py +369 -0
  571. sage/modules/free_module_integer.py +896 -0
  572. sage/modules/free_module_morphism.py +823 -0
  573. sage/modules/free_module_pseudohomspace.py +352 -0
  574. sage/modules/free_module_pseudomorphism.py +578 -0
  575. sage/modules/free_quadratic_module.py +1706 -0
  576. sage/modules/free_quadratic_module_integer_symmetric.py +1790 -0
  577. sage/modules/matrix_morphism.py +1745 -0
  578. sage/modules/misc.py +103 -0
  579. sage/modules/module_functors.py +192 -0
  580. sage/modules/multi_filtered_vector_space.py +719 -0
  581. sage/modules/ore_module.py +2208 -0
  582. sage/modules/ore_module_element.py +178 -0
  583. sage/modules/ore_module_homspace.py +147 -0
  584. sage/modules/ore_module_morphism.py +968 -0
  585. sage/modules/quotient_module.py +699 -0
  586. sage/modules/real_double_vector.py +22 -0
  587. sage/modules/submodule.py +255 -0
  588. sage/modules/tensor_operations.py +567 -0
  589. sage/modules/torsion_quadratic_module.py +1352 -0
  590. sage/modules/tutorial_free_modules.py +248 -0
  591. sage/modules/vector_complex_double_dense.cpython-314-darwin.so +0 -0
  592. sage/modules/vector_complex_double_dense.pxd +6 -0
  593. sage/modules/vector_complex_double_dense.pyx +117 -0
  594. sage/modules/vector_double_dense.cpython-314-darwin.so +0 -0
  595. sage/modules/vector_double_dense.pxd +6 -0
  596. sage/modules/vector_double_dense.pyx +604 -0
  597. sage/modules/vector_integer_dense.cpython-314-darwin.so +0 -0
  598. sage/modules/vector_integer_dense.pxd +15 -0
  599. sage/modules/vector_integer_dense.pyx +361 -0
  600. sage/modules/vector_integer_sparse.cpython-314-darwin.so +0 -0
  601. sage/modules/vector_integer_sparse.pxd +29 -0
  602. sage/modules/vector_integer_sparse.pyx +406 -0
  603. sage/modules/vector_modn_dense.cpython-314-darwin.so +0 -0
  604. sage/modules/vector_modn_dense.pxd +12 -0
  605. sage/modules/vector_modn_dense.pyx +394 -0
  606. sage/modules/vector_modn_sparse.cpython-314-darwin.so +0 -0
  607. sage/modules/vector_modn_sparse.pxd +21 -0
  608. sage/modules/vector_modn_sparse.pyx +298 -0
  609. sage/modules/vector_numpy_dense.cpython-314-darwin.so +0 -0
  610. sage/modules/vector_numpy_dense.pxd +15 -0
  611. sage/modules/vector_numpy_dense.pyx +304 -0
  612. sage/modules/vector_numpy_integer_dense.cpython-314-darwin.so +0 -0
  613. sage/modules/vector_numpy_integer_dense.pxd +7 -0
  614. sage/modules/vector_numpy_integer_dense.pyx +54 -0
  615. sage/modules/vector_rational_dense.cpython-314-darwin.so +0 -0
  616. sage/modules/vector_rational_dense.pxd +15 -0
  617. sage/modules/vector_rational_dense.pyx +387 -0
  618. sage/modules/vector_rational_sparse.cpython-314-darwin.so +0 -0
  619. sage/modules/vector_rational_sparse.pxd +30 -0
  620. sage/modules/vector_rational_sparse.pyx +413 -0
  621. sage/modules/vector_real_double_dense.cpython-314-darwin.so +0 -0
  622. sage/modules/vector_real_double_dense.pxd +6 -0
  623. sage/modules/vector_real_double_dense.pyx +126 -0
  624. sage/modules/vector_space_homspace.py +430 -0
  625. sage/modules/vector_space_morphism.py +989 -0
  626. sage/modules/with_basis/all.py +15 -0
  627. sage/modules/with_basis/cell_module.py +494 -0
  628. sage/modules/with_basis/indexed_element.cpython-314-darwin.so +0 -0
  629. sage/modules/with_basis/indexed_element.pxd +13 -0
  630. sage/modules/with_basis/indexed_element.pyx +1058 -0
  631. sage/modules/with_basis/invariant.py +1075 -0
  632. sage/modules/with_basis/morphism.py +1636 -0
  633. sage/modules/with_basis/representation.py +2939 -0
  634. sage/modules/with_basis/subquotient.py +685 -0
  635. sage/numerical/all__sagemath_modules.py +6 -0
  636. sage/numerical/gauss_legendre.cpython-314-darwin.so +0 -0
  637. sage/numerical/gauss_legendre.pyx +381 -0
  638. sage/numerical/optimize.py +910 -0
  639. sage/probability/all.py +10 -0
  640. sage/probability/probability_distribution.cpython-314-darwin.so +0 -0
  641. sage/probability/probability_distribution.pyx +1242 -0
  642. sage/probability/random_variable.py +411 -0
  643. sage/quadratic_forms/all.py +4 -0
  644. sage/quadratic_forms/all__sagemath_modules.py +15 -0
  645. sage/quadratic_forms/binary_qf.py +2042 -0
  646. sage/quadratic_forms/bqf_class_group.py +748 -0
  647. sage/quadratic_forms/constructions.py +93 -0
  648. sage/quadratic_forms/count_local_2.cpython-314-darwin.so +0 -0
  649. sage/quadratic_forms/count_local_2.pyx +365 -0
  650. sage/quadratic_forms/extras.py +195 -0
  651. sage/quadratic_forms/quadratic_form.py +1753 -0
  652. sage/quadratic_forms/quadratic_form__count_local_2.py +221 -0
  653. sage/quadratic_forms/quadratic_form__equivalence_testing.py +708 -0
  654. sage/quadratic_forms/quadratic_form__evaluate.cpython-314-darwin.so +0 -0
  655. sage/quadratic_forms/quadratic_form__evaluate.pyx +139 -0
  656. sage/quadratic_forms/quadratic_form__local_density_congruence.py +977 -0
  657. sage/quadratic_forms/quadratic_form__local_field_invariants.py +1072 -0
  658. sage/quadratic_forms/quadratic_form__neighbors.py +424 -0
  659. sage/quadratic_forms/quadratic_form__reduction_theory.py +488 -0
  660. sage/quadratic_forms/quadratic_form__split_local_covering.py +416 -0
  661. sage/quadratic_forms/quadratic_form__ternary_Tornaria.py +657 -0
  662. sage/quadratic_forms/quadratic_form__theta.py +352 -0
  663. sage/quadratic_forms/quadratic_form__variable_substitutions.py +370 -0
  664. sage/quadratic_forms/random_quadraticform.py +209 -0
  665. sage/quadratic_forms/ternary.cpython-314-darwin.so +0 -0
  666. sage/quadratic_forms/ternary.pyx +1154 -0
  667. sage/quadratic_forms/ternary_qf.py +2027 -0
  668. sage/rings/all__sagemath_modules.py +28 -0
  669. sage/rings/asymptotic/all__sagemath_modules.py +1 -0
  670. sage/rings/asymptotic/misc.py +1252 -0
  671. sage/rings/cc.py +4 -0
  672. sage/rings/cfinite_sequence.py +1306 -0
  673. sage/rings/complex_conversion.cpython-314-darwin.so +0 -0
  674. sage/rings/complex_conversion.pxd +8 -0
  675. sage/rings/complex_conversion.pyx +23 -0
  676. sage/rings/complex_double.cpython-314-darwin.so +0 -0
  677. sage/rings/complex_double.pxd +21 -0
  678. sage/rings/complex_double.pyx +2654 -0
  679. sage/rings/complex_mpc.cpython-314-darwin.so +0 -0
  680. sage/rings/complex_mpc.pxd +21 -0
  681. sage/rings/complex_mpc.pyx +2576 -0
  682. sage/rings/complex_mpfr.cpython-314-darwin.so +0 -0
  683. sage/rings/complex_mpfr.pxd +18 -0
  684. sage/rings/complex_mpfr.pyx +3602 -0
  685. sage/rings/derivation.py +2334 -0
  686. sage/rings/finite_rings/all__sagemath_modules.py +1 -0
  687. sage/rings/finite_rings/maps_finite_field.py +191 -0
  688. sage/rings/function_field/all__sagemath_modules.py +8 -0
  689. sage/rings/function_field/derivations.py +102 -0
  690. sage/rings/function_field/derivations_rational.py +132 -0
  691. sage/rings/function_field/differential.py +853 -0
  692. sage/rings/function_field/divisor.py +1107 -0
  693. sage/rings/function_field/drinfeld_modules/action.py +199 -0
  694. sage/rings/function_field/drinfeld_modules/all.py +1 -0
  695. sage/rings/function_field/drinfeld_modules/charzero_drinfeld_module.py +673 -0
  696. sage/rings/function_field/drinfeld_modules/drinfeld_module.py +2087 -0
  697. sage/rings/function_field/drinfeld_modules/finite_drinfeld_module.py +1131 -0
  698. sage/rings/function_field/drinfeld_modules/homset.py +420 -0
  699. sage/rings/function_field/drinfeld_modules/morphism.py +820 -0
  700. sage/rings/function_field/hermite_form_polynomial.cpython-314-darwin.so +0 -0
  701. sage/rings/function_field/hermite_form_polynomial.pyx +188 -0
  702. sage/rings/function_field/khuri_makdisi.cpython-314-darwin.so +0 -0
  703. sage/rings/function_field/khuri_makdisi.pyx +935 -0
  704. sage/rings/invariants/all.py +4 -0
  705. sage/rings/invariants/invariant_theory.py +4597 -0
  706. sage/rings/invariants/reconstruction.py +395 -0
  707. sage/rings/polynomial/all__sagemath_modules.py +17 -0
  708. sage/rings/polynomial/integer_valued_polynomials.py +1230 -0
  709. sage/rings/polynomial/laurent_polynomial_mpair.cpython-314-darwin.so +0 -0
  710. sage/rings/polynomial/laurent_polynomial_mpair.pxd +15 -0
  711. sage/rings/polynomial/laurent_polynomial_mpair.pyx +2023 -0
  712. sage/rings/polynomial/ore_function_element.py +952 -0
  713. sage/rings/polynomial/ore_function_field.py +1028 -0
  714. sage/rings/polynomial/ore_polynomial_element.cpython-314-darwin.so +0 -0
  715. sage/rings/polynomial/ore_polynomial_element.pxd +48 -0
  716. sage/rings/polynomial/ore_polynomial_element.pyx +3145 -0
  717. sage/rings/polynomial/ore_polynomial_ring.py +1334 -0
  718. sage/rings/polynomial/polynomial_real_mpfr_dense.cpython-314-darwin.so +0 -0
  719. sage/rings/polynomial/polynomial_real_mpfr_dense.pyx +788 -0
  720. sage/rings/polynomial/q_integer_valued_polynomials.py +1264 -0
  721. sage/rings/polynomial/skew_polynomial_element.cpython-314-darwin.so +0 -0
  722. sage/rings/polynomial/skew_polynomial_element.pxd +9 -0
  723. sage/rings/polynomial/skew_polynomial_element.pyx +684 -0
  724. sage/rings/polynomial/skew_polynomial_finite_field.cpython-314-darwin.so +0 -0
  725. sage/rings/polynomial/skew_polynomial_finite_field.pxd +19 -0
  726. sage/rings/polynomial/skew_polynomial_finite_field.pyx +1093 -0
  727. sage/rings/polynomial/skew_polynomial_finite_order.cpython-314-darwin.so +0 -0
  728. sage/rings/polynomial/skew_polynomial_finite_order.pxd +10 -0
  729. sage/rings/polynomial/skew_polynomial_finite_order.pyx +567 -0
  730. sage/rings/polynomial/skew_polynomial_ring.py +908 -0
  731. sage/rings/real_double_element_gsl.cpython-314-darwin.so +0 -0
  732. sage/rings/real_double_element_gsl.pxd +8 -0
  733. sage/rings/real_double_element_gsl.pyx +794 -0
  734. sage/rings/real_field.py +58 -0
  735. sage/rings/real_mpfr.cpython-314-darwin.so +0 -0
  736. sage/rings/real_mpfr.pxd +29 -0
  737. sage/rings/real_mpfr.pyx +6122 -0
  738. sage/rings/ring_extension.cpython-314-darwin.so +0 -0
  739. sage/rings/ring_extension.pxd +42 -0
  740. sage/rings/ring_extension.pyx +2779 -0
  741. sage/rings/ring_extension_conversion.cpython-314-darwin.so +0 -0
  742. sage/rings/ring_extension_conversion.pxd +16 -0
  743. sage/rings/ring_extension_conversion.pyx +462 -0
  744. sage/rings/ring_extension_element.cpython-314-darwin.so +0 -0
  745. sage/rings/ring_extension_element.pxd +21 -0
  746. sage/rings/ring_extension_element.pyx +1635 -0
  747. sage/rings/ring_extension_homset.py +64 -0
  748. sage/rings/ring_extension_morphism.cpython-314-darwin.so +0 -0
  749. sage/rings/ring_extension_morphism.pxd +35 -0
  750. sage/rings/ring_extension_morphism.pyx +920 -0
  751. sage/schemes/all__sagemath_modules.py +1 -0
  752. sage/schemes/projective/all__sagemath_modules.py +1 -0
  753. sage/schemes/projective/coherent_sheaf.py +300 -0
  754. sage/schemes/projective/cohomology.py +510 -0
  755. sage/stats/all.py +15 -0
  756. sage/stats/basic_stats.py +489 -0
  757. sage/stats/distributions/all.py +7 -0
  758. sage/stats/distributions/catalog.py +34 -0
  759. sage/stats/distributions/dgs.h +50 -0
  760. sage/stats/distributions/dgs.pxd +111 -0
  761. sage/stats/distributions/dgs_bern.h +400 -0
  762. sage/stats/distributions/dgs_gauss.h +614 -0
  763. sage/stats/distributions/dgs_misc.h +104 -0
  764. sage/stats/distributions/discrete_gaussian_integer.cpython-314-darwin.so +0 -0
  765. sage/stats/distributions/discrete_gaussian_integer.pxd +14 -0
  766. sage/stats/distributions/discrete_gaussian_integer.pyx +498 -0
  767. sage/stats/distributions/discrete_gaussian_lattice.py +908 -0
  768. sage/stats/distributions/discrete_gaussian_polynomial.py +141 -0
  769. sage/stats/hmm/all.py +15 -0
  770. sage/stats/hmm/chmm.cpython-314-darwin.so +0 -0
  771. sage/stats/hmm/chmm.pyx +1595 -0
  772. sage/stats/hmm/distributions.cpython-314-darwin.so +0 -0
  773. sage/stats/hmm/distributions.pxd +29 -0
  774. sage/stats/hmm/distributions.pyx +531 -0
  775. sage/stats/hmm/hmm.cpython-314-darwin.so +0 -0
  776. sage/stats/hmm/hmm.pxd +17 -0
  777. sage/stats/hmm/hmm.pyx +1388 -0
  778. sage/stats/hmm/util.cpython-314-darwin.so +0 -0
  779. sage/stats/hmm/util.pxd +7 -0
  780. sage/stats/hmm/util.pyx +165 -0
  781. sage/stats/intlist.cpython-314-darwin.so +0 -0
  782. sage/stats/intlist.pxd +14 -0
  783. sage/stats/intlist.pyx +588 -0
  784. sage/stats/r.py +49 -0
  785. sage/stats/time_series.cpython-314-darwin.so +0 -0
  786. sage/stats/time_series.pxd +6 -0
  787. sage/stats/time_series.pyx +2546 -0
  788. sage/tensor/all.py +2 -0
  789. sage/tensor/modules/all.py +8 -0
  790. sage/tensor/modules/alternating_contr_tensor.py +761 -0
  791. sage/tensor/modules/comp.py +5598 -0
  792. sage/tensor/modules/ext_pow_free_module.py +824 -0
  793. sage/tensor/modules/finite_rank_free_module.py +3589 -0
  794. sage/tensor/modules/format_utilities.py +333 -0
  795. sage/tensor/modules/free_module_alt_form.py +858 -0
  796. sage/tensor/modules/free_module_automorphism.py +1207 -0
  797. sage/tensor/modules/free_module_basis.py +1074 -0
  798. sage/tensor/modules/free_module_element.py +284 -0
  799. sage/tensor/modules/free_module_homset.py +652 -0
  800. sage/tensor/modules/free_module_linear_group.py +564 -0
  801. sage/tensor/modules/free_module_morphism.py +1581 -0
  802. sage/tensor/modules/free_module_tensor.py +3289 -0
  803. sage/tensor/modules/reflexive_module.py +386 -0
  804. sage/tensor/modules/tensor_free_module.py +780 -0
  805. sage/tensor/modules/tensor_free_submodule.py +538 -0
  806. sage/tensor/modules/tensor_free_submodule_basis.py +140 -0
  807. sage/tensor/modules/tensor_with_indices.py +1043 -0
@@ -0,0 +1,794 @@
1
+ # sage_setup: distribution = sagemath-modules
2
+ r"""
3
+ Double Precision Real Numbers, implementation using GSL
4
+ """
5
+
6
+ cimport libc.math
7
+
8
+ from cysignals.signals cimport sig_on, sig_off
9
+
10
+ from sage.arith.constants cimport *
11
+
12
+ from sage.libs.gsl.errno cimport gsl_set_error_handler_off
13
+ from sage.libs.gsl.math cimport *
14
+ from sage.libs.gsl.exp cimport *
15
+ from sage.libs.gsl.log cimport gsl_sf_log
16
+ from sage.libs.gsl.trig cimport *
17
+ from sage.libs.gsl.dilog cimport gsl_sf_dilog
18
+ from sage.libs.gsl.gamma cimport gsl_sf_fact, gsl_sf_gamma
19
+ from sage.libs.gsl.zeta cimport gsl_sf_zeta
20
+ from sage.libs.gsl.erf cimport gsl_sf_erf
21
+
22
+
23
+ gsl_set_error_handler_off()
24
+
25
+
26
+ cdef class RealDoubleElement_gsl(RealDoubleElement):
27
+
28
+ def nth_root(self, int n):
29
+ """
30
+ Return the `n`-th root of ``self``.
31
+
32
+ INPUT:
33
+
34
+ - ``n`` -- integer
35
+
36
+ OUTPUT:
37
+
38
+ The output is a complex double if ``self`` is negative and `n` is even,
39
+ otherwise it is a real double.
40
+
41
+ EXAMPLES::
42
+
43
+ sage: r = RDF(-125.0); r.nth_root(3)
44
+ -5.000000000000001
45
+ sage: r.nth_root(5)
46
+ -2.6265278044037674
47
+ sage: RDF(-2).nth_root(5)^5 # rel tol 1e-15
48
+ -2.000000000000001
49
+ sage: RDF(-1).nth_root(5)^5
50
+ -1.0
51
+ sage: RDF(3).nth_root(10)^10
52
+ 2.9999999999999982
53
+ sage: RDF(-1).nth_root(2)
54
+ 6.123233995736757e-17 + 1.0*I
55
+ sage: RDF(-1).nth_root(4)
56
+ 0.7071067811865476 + 0.7071067811865475*I
57
+ """
58
+ if n == 0:
59
+ return RealDoubleElement(float('nan'))
60
+ if self._value < 0:
61
+ if GSL_IS_EVEN(n):
62
+ from sage.rings.complex_double import CDF
63
+ return self._complex_double_(CDF).nth_root(n)
64
+ else:
65
+ return - ((-self) ** (float(1)/n))
66
+
67
+ return self ** (float(1)/n)
68
+
69
+ cdef __pow_double(self, double exponent, double sign):
70
+ """
71
+ If ``sign == 1`` or ``self >= 0``, return ``self ^ exponent``.
72
+ If ``sign == -1`` and ``self < 0``, return ``- abs(self) ^ exponent``.
73
+ """
74
+ cdef double v = self._value
75
+ if v >= 0:
76
+ if v == 1:
77
+ return self
78
+ elif exponent == 0:
79
+ return self._new_c(1.0)
80
+ elif v == 0:
81
+ if exponent < 0:
82
+ raise ZeroDivisionError("0.0 cannot be raised to a negative power")
83
+ return self
84
+ sign = 1.0
85
+ else: # v < 0
86
+ expmod2 = libc.math.fmod(exponent, 2.0)
87
+ if expmod2 == 0.0:
88
+ pass
89
+ elif expmod2 == 1.0:
90
+ sign = -1.0
91
+ else:
92
+ raise ValueError("negative number cannot be raised to a fractional power")
93
+ v = -v
94
+ return self._new_c(sign * gsl_sf_exp(gsl_sf_log(v) * exponent))
95
+
96
+ cpdef _pow_(self, other):
97
+ """
98
+ Return ``self`` raised to the real double power ``other``.
99
+
100
+ EXAMPLES::
101
+
102
+ sage: a = RDF('1.23456')
103
+ sage: a^a
104
+ 1.2971114817819216
105
+
106
+ TESTS::
107
+
108
+ sage: RDF(0) ^ RDF(0.5)
109
+ 0.0
110
+ sage: RDF(0) ^ (1/2)
111
+ 0.0
112
+ sage: RDF(0) ^ RDF(0)
113
+ 1.0
114
+ sage: RDF(0) ^ RDF(-1)
115
+ Traceback (most recent call last):
116
+ ...
117
+ ZeroDivisionError: 0.0 cannot be raised to a negative power
118
+ sage: RDF(-1) ^ RDF(0)
119
+ 1.0
120
+ sage: RDF(-1) ^ RDF(1)
121
+ -1.0
122
+ sage: RDF(-1) ^ RDF(0.5)
123
+ Traceback (most recent call last):
124
+ ...
125
+ ValueError: negative number cannot be raised to a fractional power
126
+ """
127
+ return self.__pow_double((<RealDoubleElement>other)._value, 1)
128
+
129
+ cpdef _pow_int(self, n):
130
+ """
131
+ Return ``self`` raised to the integer power ``n``.
132
+
133
+ TESTS::
134
+
135
+ sage: RDF(1) ^ (2^1000)
136
+ 1.0
137
+ sage: RDF(1) ^ (2^1000 + 1)
138
+ 1.0
139
+ sage: RDF(1) ^ (-2^1000)
140
+ 1.0
141
+ sage: RDF(1) ^ (-2^1000 + 1)
142
+ 1.0
143
+ sage: RDF(-1) ^ (2^1000)
144
+ 1.0
145
+ sage: RDF(-1) ^ (2^1000 + 1)
146
+ -1.0
147
+ sage: RDF(-1) ^ (-2^1000)
148
+ 1.0
149
+ sage: RDF(-1) ^ (-2^1000 + 1)
150
+ -1.0
151
+
152
+ ::
153
+
154
+ sage: base = RDF(1.0000000000000002)
155
+ sage: base._pow_int(0)
156
+ 1.0
157
+ sage: base._pow_int(1)
158
+ 1.0000000000000002
159
+ sage: base._pow_int(2)
160
+ 1.0000000000000004
161
+ sage: base._pow_int(3)
162
+ 1.0000000000000007
163
+ sage: base._pow_int(2^57)
164
+ 78962960182680.42
165
+ sage: base._pow_int(2^57 + 1)
166
+ 78962960182680.42
167
+
168
+ ::
169
+
170
+ sage: base = RDF(-1.0000000000000002)
171
+ sage: base._pow_int(0)
172
+ 1.0
173
+ sage: base._pow_int(1)
174
+ -1.0000000000000002
175
+ sage: base._pow_int(2)
176
+ 1.0000000000000004
177
+ sage: base._pow_int(3)
178
+ -1.0000000000000007
179
+ sage: base._pow_int(2^57)
180
+ 78962960182680.42
181
+ sage: base._pow_int(2^57 + 1)
182
+ -78962960182680.42
183
+ """
184
+ return self.__pow_double(n, -1.0 if (n & 1) else 1.0)
185
+
186
+ cdef _pow_long(self, long n):
187
+ """
188
+ Compute ``self`` raised to the power ``n``.
189
+
190
+ EXAMPLES::
191
+
192
+ sage: RDF('1.23456') ^ 20
193
+ 67.64629770385...
194
+ sage: RDF(3) ^ 32
195
+ 1853020188851841.0
196
+ sage: RDF(2)^(-1024)
197
+ 5.562684646268003e-309
198
+
199
+ TESTS::
200
+
201
+ sage: base = RDF(1.0000000000000002)
202
+ sage: base ^ RDF(2^31)
203
+ 1.000000476837272
204
+ sage: base ^ (2^57)
205
+ 78962960182680.42
206
+ sage: base ^ RDF(2^57)
207
+ 78962960182680.42
208
+ """
209
+ if -2048 <= n <= 2048:
210
+ # For small exponents, it is possible that the powering
211
+ # is exact either because the base is a power of 2
212
+ # (e.g. 2.0^1000) or because the exact result has few
213
+ # significant digits (e.g. 3.0^10). Here, we use the
214
+ # square-and-multiply algorithm by GSL.
215
+ return self._new_c(gsl_pow_int(self._value, <int>n))
216
+ # If the exponent is sufficiently large in absolute value, the
217
+ # result cannot be exact (except if the base is -1.0, 0.0 or
218
+ # 1.0 but those cases are handled by __pow_double too). The
219
+ # log-and-exp algorithm from __pow_double will be more precise
220
+ # than square-and-multiply.
221
+
222
+ # We do need to take care of the sign since the conversion
223
+ # of n to double might change an odd number to an even number.
224
+ return self.__pow_double(<double>n, -1.0 if (n & 1) else 1.0)
225
+
226
+ cdef _log_base(self, double log_of_base):
227
+ if self._value == 0:
228
+ from sage.rings.real_double import RDF
229
+ return RDF(-1)/RDF(0)
230
+ elif self._value < 0:
231
+ from sage.rings.real_double import RDF
232
+ return RDF.NaN()
233
+ sig_on()
234
+ a = self._new_c(gsl_sf_log(self._value) / log_of_base)
235
+ sig_off()
236
+ return a
237
+
238
+ def log(self, base=None):
239
+ """
240
+ Return the logarithm.
241
+
242
+ INPUT:
243
+
244
+ - ``base`` -- integer or ``None`` (default). The base of the
245
+ logarithm. If ``None`` is specified, the base is `e` (the so-called
246
+ natural logarithm).
247
+
248
+ OUTPUT:
249
+
250
+ The logarithm of ``self``. If ``self`` is positive, a double
251
+ floating point number. Infinity if ``self`` is zero. A
252
+ imaginary complex floating point number if ``self`` is
253
+ negative.
254
+
255
+ EXAMPLES::
256
+
257
+ sage: RDF(2).log()
258
+ 0.6931471805599453
259
+ sage: RDF(2).log(2)
260
+ 1.0
261
+ sage: RDF(2).log(pi) # needs sage.symbolic
262
+ 0.6055115613982801
263
+ sage: RDF(2).log(10)
264
+ 0.30102999566398114
265
+ sage: RDF(2).log(1.5)
266
+ 1.7095112913514547
267
+ sage: RDF(0).log()
268
+ -infinity
269
+ sage: RDF(-1).log()
270
+ 3.141592653589793*I
271
+ sage: RDF(-1).log(2) # rel tol 1e-15
272
+ 4.532360141827194*I
273
+
274
+ TESTS:
275
+
276
+ Make sure that we can take the log of small numbers accurately
277
+ and the fix doesn't break preexisting values (:issue:`12557`)::
278
+
279
+ sage: R = RealField(128)
280
+ sage: def check_error(x):
281
+ ....: x = RDF(x)
282
+ ....: log_RDF = x.log()
283
+ ....: log_RR = R(x).log()
284
+ ....: diff = R(log_RDF) - log_RR
285
+ ....: if abs(diff) < log_RDF.ulp():
286
+ ....: return True
287
+ ....: print("logarithm check failed for %s (diff = %s ulp)"% \
288
+ ....: (x, diff/log_RDF.ulp()))
289
+ ....: return False
290
+ sage: all( check_error(2^x) for x in range(-100,100) )
291
+ True
292
+ sage: all( check_error(x) for x in sxrange(0.01, 2.00, 0.01) )
293
+ True
294
+ sage: all( check_error(x) for x in sxrange(0.99, 1.01, 0.001) )
295
+ True
296
+ sage: RDF(1.000000001).log()
297
+ 1.000000082240371e-09
298
+ sage: RDF(1e-17).log()
299
+ -39.14394658089878
300
+ sage: RDF(1e-50).log()
301
+ -115.12925464970229
302
+ """
303
+ if self < 0:
304
+ from sage.rings.complex_double import CDF
305
+ return CDF(self).log(base)
306
+ if base is None:
307
+ return self._log_base(1)
308
+ else:
309
+ if isinstance(base, RealDoubleElement):
310
+ return self._log_base(base._log_base(1))
311
+ else:
312
+ return self._log_base(gsl_sf_log(float(base)))
313
+
314
+ def log2(self):
315
+ """
316
+ Return log to the base 2 of ``self``.
317
+
318
+ EXAMPLES::
319
+
320
+ sage: r = RDF(16.0)
321
+ sage: r.log2()
322
+ 4.0
323
+
324
+ ::
325
+
326
+ sage: r = RDF(31.9); r.log2()
327
+ 4.9954845188775066
328
+ """
329
+ if self < 0:
330
+ from sage.rings.complex_double import CDF
331
+ return CDF(self).log(2)
332
+ sig_on()
333
+ a = self._new_c(gsl_sf_log(self._value) * M_1_LN2)
334
+ sig_off()
335
+ return a
336
+
337
+ def log10(self):
338
+ """
339
+ Return log to the base 10 of ``self``.
340
+
341
+ EXAMPLES::
342
+
343
+ sage: r = RDF('16.0'); r.log10()
344
+ 1.2041199826559248
345
+ sage: r.log() / RDF(log(10)) # needs sage.symbolic
346
+ 1.2041199826559246
347
+ sage: r = RDF('39.9'); r.log10()
348
+ 1.6009728956867482
349
+ """
350
+ if self < 0:
351
+ from sage.rings.complex_double import CDF
352
+ return CDF(self).log(10)
353
+ sig_on()
354
+ a = self._new_c(gsl_sf_log(self._value) * M_1_LN10)
355
+ sig_off()
356
+ return a
357
+
358
+ def logpi(self):
359
+ r"""
360
+ Return log to the base `\pi` of ``self``.
361
+
362
+ EXAMPLES::
363
+
364
+ sage: r = RDF(16); r.logpi()
365
+ 2.4220462455931204
366
+ sage: r.log() / RDF(log(pi)) # needs sage.symbolic
367
+ 2.4220462455931204
368
+ sage: r = RDF('39.9'); r.logpi()
369
+ 3.2203023346075152
370
+ """
371
+ if self < 0:
372
+ from sage.rings.complex_double import CDF
373
+ return CDF(self).log(M_PI)
374
+ sig_on()
375
+ a = self._new_c(gsl_sf_log(self._value) * M_1_LNPI)
376
+ sig_off()
377
+ return a
378
+
379
+ def exp(self):
380
+ r"""
381
+ Return `e^\mathtt{self}`.
382
+
383
+ EXAMPLES::
384
+
385
+ sage: r = RDF(0.0)
386
+ sage: r.exp()
387
+ 1.0
388
+
389
+ ::
390
+
391
+ sage: r = RDF('32.3')
392
+ sage: a = r.exp(); a
393
+ 106588847274864.47
394
+ sage: a.log()
395
+ 32.3
396
+
397
+ ::
398
+
399
+ sage: r = RDF('-32.3')
400
+ sage: r.exp()
401
+ 9.381844588498685e-15
402
+
403
+ ::
404
+
405
+ sage: RDF(1000).exp()
406
+ +infinity
407
+ """
408
+ sig_on()
409
+ a = self._new_c(gsl_sf_exp(self._value))
410
+ sig_off()
411
+ return a
412
+
413
+ def exp2(self):
414
+ r"""
415
+ Return `2^\mathtt{self}`.
416
+
417
+ EXAMPLES::
418
+
419
+ sage: r = RDF(0.0)
420
+ sage: r.exp2()
421
+ 1.0
422
+
423
+ ::
424
+
425
+ sage: r = RDF(32.0)
426
+ sage: r.exp2()
427
+ 4294967295.9999967
428
+
429
+ ::
430
+
431
+ sage: r = RDF(-32.3)
432
+ sage: r.exp2()
433
+ 1.8911724825302065e-10
434
+ """
435
+ sig_on()
436
+ a = self._new_c(gsl_sf_exp(self._value * M_LN2))
437
+ sig_off()
438
+ return a
439
+
440
+ def exp10(self):
441
+ r"""
442
+ Return `10^\mathtt{self}`.
443
+
444
+ EXAMPLES::
445
+
446
+ sage: r = RDF(0.0)
447
+ sage: r.exp10()
448
+ 1.0
449
+
450
+ ::
451
+
452
+ sage: r = RDF(32.0)
453
+ sage: r.exp10()
454
+ 1.0000000000000069e+32
455
+
456
+ ::
457
+
458
+ sage: r = RDF(-32.3)
459
+ sage: r.exp10()
460
+ 5.011872336272702e-33
461
+ """
462
+ sig_on()
463
+ a = self._new_c(gsl_sf_exp(self._value * M_LN10))
464
+ sig_off()
465
+ return a
466
+
467
+ def cos(self):
468
+ """
469
+ Return the cosine of ``self``.
470
+
471
+ EXAMPLES::
472
+
473
+ sage: t=RDF.pi()/2
474
+ sage: t.cos()
475
+ 6.123233995736757e-17
476
+ """
477
+ return self._new_c(gsl_sf_cos(self._value))
478
+
479
+ def sin(self):
480
+ """
481
+ Return the sine of ``self``.
482
+
483
+ EXAMPLES::
484
+
485
+ sage: RDF(2).sin()
486
+ 0.9092974268256817
487
+ """
488
+ return self._new_c(gsl_sf_sin(self._value))
489
+
490
+ def dilog(self):
491
+ r"""
492
+ Return the dilogarithm of ``self``.
493
+
494
+ This is defined by the
495
+ series `\sum_n x^n/n^2` for `|x| \le 1`. When the absolute
496
+ value of ``self`` is greater than 1, the returned value is the
497
+ real part of (the analytic continuation to `\CC` of) the
498
+ dilogarithm of ``self``.
499
+
500
+ EXAMPLES::
501
+
502
+ sage: RDF(1).dilog() # rel tol 1.0e-13
503
+ 1.6449340668482264
504
+ sage: RDF(2).dilog() # rel tol 1.0e-13
505
+ 2.46740110027234
506
+ """
507
+ return self._new_c(gsl_sf_dilog(self._value))
508
+
509
+ def restrict_angle(self):
510
+ r"""
511
+ Return a number congruent to ``self`` mod `2\pi` that lies in
512
+ the interval `(-\pi, \pi]`.
513
+
514
+ Specifically, it is the unique `x \in (-\pi, \pi]` such
515
+ that ``self`` `= x + 2\pi n` for some `n \in \ZZ`.
516
+
517
+ EXAMPLES::
518
+
519
+ sage: RDF(pi).restrict_angle() # needs sage.symbolic
520
+ 3.141592653589793
521
+ sage: RDF(pi + 1e-10).restrict_angle() # needs sage.symbolic
522
+ -3.1415926534897936
523
+ sage: RDF(1+10^10*pi).restrict_angle() # needs sage.symbolic
524
+ 0.9999977606...
525
+ """
526
+ return self._new_c(gsl_sf_angle_restrict_symm(self._value))
527
+
528
+ def tan(self):
529
+ """
530
+ Return the tangent of ``self``.
531
+
532
+ EXAMPLES::
533
+
534
+ sage: q = RDF.pi()/3
535
+ sage: q.tan()
536
+ 1.7320508075688767
537
+ sage: q = RDF.pi()/6
538
+ sage: q.tan()
539
+ 0.5773502691896256
540
+ """
541
+ cos = gsl_sf_cos(self._value)
542
+ a = self._new_c(gsl_sf_sin(self._value) / cos)
543
+ return a
544
+
545
+ def sincos(self):
546
+ """
547
+ Return a pair consisting of the sine and cosine of ``self``.
548
+
549
+ EXAMPLES::
550
+
551
+ sage: t = RDF.pi()/6
552
+ sage: t.sincos()
553
+ (0.49999999999999994, 0.8660254037844387)
554
+ """
555
+ return self.sin(), self.cos()
556
+
557
+ def hypot(self, other):
558
+ r"""
559
+ Compute the value `\sqrt{s^2 + o^2}` where `s` is ``self`` and `o`
560
+ is ``other`` in such a way as to avoid overflow.
561
+
562
+ EXAMPLES::
563
+
564
+ sage: x = RDF(4e300); y = RDF(3e300)
565
+ sage: x.hypot(y)
566
+ 5e+300
567
+ sage: sqrt(x^2+y^2) # overflow
568
+ +infinity
569
+ """
570
+ sig_on()
571
+ a = self._new_c(gsl_sf_hypot(self._value, float(other)))
572
+ sig_off()
573
+ return a
574
+
575
+ def arccos(self):
576
+ """
577
+ Return the inverse cosine of ``self``.
578
+
579
+ EXAMPLES::
580
+
581
+ sage: q = RDF.pi()/3
582
+ sage: i = q.cos()
583
+ sage: i.arccos() == q
584
+ True
585
+ """
586
+ return self._new_c(libc.math.acos(self._value))
587
+
588
+ def arcsin(self):
589
+ """
590
+ Return the inverse sine of ``self``.
591
+
592
+ EXAMPLES::
593
+
594
+ sage: q = RDF.pi()/5
595
+ sage: i = q.sin()
596
+ sage: i.arcsin() == q
597
+ True
598
+ """
599
+ return self._new_c(libc.math.asin(self._value))
600
+
601
+ def arctan(self):
602
+ """
603
+ Return the inverse tangent of ``self``.
604
+
605
+ EXAMPLES::
606
+
607
+ sage: q = RDF.pi()/5
608
+ sage: i = q.tan()
609
+ sage: i.arctan() == q
610
+ True
611
+ """
612
+ return self._new_c(libc.math.atan(self._value))
613
+
614
+ def cosh(self):
615
+ """
616
+ Return the hyperbolic cosine of ``self``.
617
+
618
+ EXAMPLES::
619
+
620
+ sage: q = RDF.pi()/12
621
+ sage: q.cosh()
622
+ 1.0344656400955106
623
+ """
624
+ return self._new_c(gsl_ldexp(gsl_sf_exp(self._value) + gsl_sf_exp(-self._value), -1)) # (e^x + e^-x)/2
625
+
626
+ def sinh(self):
627
+ """
628
+ Return the hyperbolic sine of ``self``.
629
+
630
+ EXAMPLES::
631
+
632
+ sage: q = RDF.pi()/12
633
+ sage: q.sinh()
634
+ 0.26480022760227073
635
+ """
636
+ return self._new_c(gsl_ldexp(gsl_sf_expm1(self._value) - gsl_sf_expm1(-self._value), -1)) # (e^x - e^-x)/2
637
+
638
+ def tanh(self):
639
+ """
640
+ Return the hyperbolic tangent of ``self``.
641
+
642
+ EXAMPLES::
643
+
644
+ sage: q = RDF.pi()/12
645
+ sage: q.tanh()
646
+ 0.25597778924568454
647
+ """
648
+ return self.sinh() / self.cosh()
649
+
650
+ def acosh(self):
651
+ """
652
+ Return the hyperbolic inverse cosine of ``self``.
653
+
654
+ EXAMPLES::
655
+
656
+ sage: q = RDF.pi()/2
657
+ sage: i = q.cosh(); i
658
+ 2.5091784786580567
659
+ sage: abs(i.acosh()-q) < 1e-15
660
+ True
661
+ """
662
+ return self._new_c(gsl_acosh(self._value))
663
+
664
+ def arcsinh(self):
665
+ """
666
+ Return the hyperbolic inverse sine of ``self``.
667
+
668
+ EXAMPLES::
669
+
670
+ sage: q = RDF.pi()/2
671
+ sage: i = q.sinh(); i
672
+ 2.3012989023072947
673
+ sage: abs(i.arcsinh()-q) < 1e-15
674
+ True
675
+ """
676
+ return self._new_c(gsl_asinh(self._value))
677
+
678
+ def arctanh(self):
679
+ """
680
+ Return the hyperbolic inverse tangent of ``self``.
681
+
682
+ EXAMPLES::
683
+
684
+ sage: q = RDF.pi()/2
685
+ sage: i = q.tanh(); i
686
+ 0.9171523356672744
687
+ sage: i.arctanh() - q # rel tol 1
688
+ 4.440892098500626e-16
689
+ """
690
+ return self._new_c(gsl_atanh(self._value))
691
+
692
+ def sech(self):
693
+ r"""
694
+ Return the hyperbolic secant of ``self``.
695
+
696
+ EXAMPLES::
697
+
698
+ sage: RDF(pi).sech() # needs sage.symbolic
699
+ 0.08626673833405443
700
+ sage: CDF(pi).sech() # needs sage.symbolic
701
+ 0.08626673833405443
702
+ """
703
+ return 1/self.cosh()
704
+
705
+ def csch(self):
706
+ r"""
707
+ Return the hyperbolic cosecant of ``self``.
708
+
709
+ EXAMPLES::
710
+
711
+ sage: RDF(pi).csch() # needs sage.symbolic
712
+ 0.08658953753004694
713
+ sage: CDF(pi).csch() # rel tol 1e-15 # needs sage.symbolic
714
+ 0.08658953753004696
715
+ """
716
+ return 1/self.sinh()
717
+
718
+ def coth(self):
719
+ r"""
720
+ Return the hyperbolic cotangent of ``self``.
721
+
722
+ EXAMPLES::
723
+
724
+ sage: RDF(pi).coth() # needs sage.symbolic
725
+ 1.003741873197321
726
+ sage: CDF(pi).coth() # needs sage.symbolic
727
+ 1.0037418731973213
728
+ """
729
+ return self.cosh() / self.sinh()
730
+
731
+ def erf(self):
732
+ """
733
+ Return the value of the error function on ``self``.
734
+
735
+ EXAMPLES::
736
+
737
+ sage: RDF(6).erf()
738
+ 1.0
739
+ """
740
+ return self._new_c(gsl_sf_erf(self._value))
741
+
742
+ @classmethod
743
+ def _factorial(cls, int n):
744
+ """
745
+ Return the factorial of the integer `n` as a real number.
746
+
747
+ EXAMPLES::
748
+
749
+ sage: RDF.factorial(100)
750
+ 9.332621544394415e+157
751
+ """
752
+ if n < 0:
753
+ raise ArithmeticError("n must be nonnegative")
754
+ return cls(gsl_sf_fact(n))
755
+
756
+ def gamma(self):
757
+ """
758
+ Return the value of the Euler gamma function on ``self``.
759
+
760
+ EXAMPLES::
761
+
762
+ sage: RDF(6).gamma()
763
+ 120.0
764
+ sage: RDF(1.5).gamma() # rel tol 1e-15
765
+ 0.8862269254527584
766
+ """
767
+ sig_on()
768
+ a = self._new_c(gsl_sf_gamma(self._value))
769
+ sig_off()
770
+ return a
771
+
772
+ def zeta(self):
773
+ r"""
774
+ Return the Riemann zeta function evaluated at this real number.
775
+
776
+ .. NOTE::
777
+
778
+ PARI is vastly more efficient at computing the Riemann zeta
779
+ function. See the example below for how to use it.
780
+
781
+ EXAMPLES::
782
+
783
+ sage: RDF(2).zeta() # rel tol 1e-15
784
+ 1.6449340668482269
785
+ sage: RDF.pi()^2/6
786
+ 1.6449340668482264
787
+ sage: RDF(-2).zeta()
788
+ 0.0
789
+ sage: RDF(1).zeta()
790
+ +infinity
791
+ """
792
+ if self._value == 1:
793
+ return self._new_c(1)/self._new_c(0)
794
+ return self._new_c(gsl_sf_zeta(self._value))