passagemath-categories 10.6.32__cp314-cp314t-musllinux_1_2_aarch64.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.
Files changed (719) hide show
  1. passagemath_categories-10.6.32.dist-info/METADATA +156 -0
  2. passagemath_categories-10.6.32.dist-info/RECORD +719 -0
  3. passagemath_categories-10.6.32.dist-info/WHEEL +5 -0
  4. passagemath_categories-10.6.32.dist-info/top_level.txt +2 -0
  5. passagemath_categories.libs/libgcc_s-2d945d6c.so.1 +0 -0
  6. passagemath_categories.libs/libgmp-28992bcb.so.10.5.0 +0 -0
  7. passagemath_categories.libs/libstdc++-85f2cd6d.so.6.0.33 +0 -0
  8. sage/all__sagemath_categories.py +28 -0
  9. sage/arith/all.py +38 -0
  10. sage/arith/constants.pxd +27 -0
  11. sage/arith/functions.cpython-314t-aarch64-linux-musl.so +0 -0
  12. sage/arith/functions.pxd +4 -0
  13. sage/arith/functions.pyx +221 -0
  14. sage/arith/misc.py +6552 -0
  15. sage/arith/multi_modular.cpython-314t-aarch64-linux-musl.so +0 -0
  16. sage/arith/multi_modular.pxd +39 -0
  17. sage/arith/multi_modular.pyx +994 -0
  18. sage/arith/rational_reconstruction.cpython-314t-aarch64-linux-musl.so +0 -0
  19. sage/arith/rational_reconstruction.pxd +4 -0
  20. sage/arith/rational_reconstruction.pyx +115 -0
  21. sage/arith/srange.cpython-314t-aarch64-linux-musl.so +0 -0
  22. sage/arith/srange.pyx +571 -0
  23. sage/calculus/all__sagemath_categories.py +2 -0
  24. sage/calculus/functional.py +481 -0
  25. sage/calculus/functions.py +151 -0
  26. sage/categories/additive_groups.py +73 -0
  27. sage/categories/additive_magmas.py +1044 -0
  28. sage/categories/additive_monoids.py +114 -0
  29. sage/categories/additive_semigroups.py +184 -0
  30. sage/categories/affine_weyl_groups.py +238 -0
  31. sage/categories/algebra_ideals.py +95 -0
  32. sage/categories/algebra_modules.py +96 -0
  33. sage/categories/algebras.py +349 -0
  34. sage/categories/algebras_with_basis.py +377 -0
  35. sage/categories/all.py +160 -0
  36. sage/categories/aperiodic_semigroups.py +29 -0
  37. sage/categories/associative_algebras.py +47 -0
  38. sage/categories/bialgebras.py +101 -0
  39. sage/categories/bialgebras_with_basis.py +414 -0
  40. sage/categories/bimodules.py +206 -0
  41. sage/categories/chain_complexes.py +268 -0
  42. sage/categories/classical_crystals.py +480 -0
  43. sage/categories/coalgebras.py +405 -0
  44. sage/categories/coalgebras_with_basis.py +232 -0
  45. sage/categories/coercion_methods.cpython-314t-aarch64-linux-musl.so +0 -0
  46. sage/categories/coercion_methods.pyx +52 -0
  47. sage/categories/commutative_additive_groups.py +104 -0
  48. sage/categories/commutative_additive_monoids.py +45 -0
  49. sage/categories/commutative_additive_semigroups.py +48 -0
  50. sage/categories/commutative_algebra_ideals.py +87 -0
  51. sage/categories/commutative_algebras.py +94 -0
  52. sage/categories/commutative_ring_ideals.py +58 -0
  53. sage/categories/commutative_rings.py +736 -0
  54. sage/categories/complete_discrete_valuation.py +293 -0
  55. sage/categories/complex_reflection_groups.py +145 -0
  56. sage/categories/complex_reflection_or_generalized_coxeter_groups.py +1249 -0
  57. sage/categories/coxeter_group_algebras.py +186 -0
  58. sage/categories/coxeter_groups.py +3402 -0
  59. sage/categories/crystals.py +2628 -0
  60. sage/categories/cw_complexes.py +216 -0
  61. sage/categories/dedekind_domains.py +137 -0
  62. sage/categories/discrete_valuation.py +325 -0
  63. sage/categories/distributive_magmas_and_additive_magmas.py +100 -0
  64. sage/categories/division_rings.py +114 -0
  65. sage/categories/domains.py +95 -0
  66. sage/categories/drinfeld_modules.py +789 -0
  67. sage/categories/dual.py +42 -0
  68. sage/categories/enumerated_sets.py +1146 -0
  69. sage/categories/euclidean_domains.py +271 -0
  70. sage/categories/examples/algebras_with_basis.py +102 -0
  71. sage/categories/examples/all.py +1 -0
  72. sage/categories/examples/commutative_additive_monoids.py +130 -0
  73. sage/categories/examples/commutative_additive_semigroups.py +199 -0
  74. sage/categories/examples/coxeter_groups.py +8 -0
  75. sage/categories/examples/crystals.py +236 -0
  76. sage/categories/examples/cw_complexes.py +163 -0
  77. sage/categories/examples/facade_sets.py +187 -0
  78. sage/categories/examples/filtered_algebras_with_basis.py +204 -0
  79. sage/categories/examples/filtered_modules_with_basis.py +154 -0
  80. sage/categories/examples/finite_coxeter_groups.py +252 -0
  81. sage/categories/examples/finite_dimensional_algebras_with_basis.py +148 -0
  82. sage/categories/examples/finite_dimensional_lie_algebras_with_basis.py +495 -0
  83. sage/categories/examples/finite_enumerated_sets.py +208 -0
  84. sage/categories/examples/finite_monoids.py +150 -0
  85. sage/categories/examples/finite_semigroups.py +190 -0
  86. sage/categories/examples/finite_weyl_groups.py +191 -0
  87. sage/categories/examples/graded_connected_hopf_algebras_with_basis.py +152 -0
  88. sage/categories/examples/graded_modules_with_basis.py +168 -0
  89. sage/categories/examples/graphs.py +122 -0
  90. sage/categories/examples/hopf_algebras_with_basis.py +145 -0
  91. sage/categories/examples/infinite_enumerated_sets.py +190 -0
  92. sage/categories/examples/lie_algebras.py +352 -0
  93. sage/categories/examples/lie_algebras_with_basis.py +196 -0
  94. sage/categories/examples/magmas.py +162 -0
  95. sage/categories/examples/manifolds.py +94 -0
  96. sage/categories/examples/monoids.py +144 -0
  97. sage/categories/examples/posets.py +178 -0
  98. sage/categories/examples/semigroups.py +580 -0
  99. sage/categories/examples/semigroups_cython.cpython-314t-aarch64-linux-musl.so +0 -0
  100. sage/categories/examples/semigroups_cython.pyx +221 -0
  101. sage/categories/examples/semirings.py +249 -0
  102. sage/categories/examples/sets_cat.py +706 -0
  103. sage/categories/examples/sets_with_grading.py +101 -0
  104. sage/categories/examples/with_realizations.py +542 -0
  105. sage/categories/fields.py +991 -0
  106. sage/categories/filtered_algebras.py +63 -0
  107. sage/categories/filtered_algebras_with_basis.py +548 -0
  108. sage/categories/filtered_hopf_algebras_with_basis.py +138 -0
  109. sage/categories/filtered_modules.py +210 -0
  110. sage/categories/filtered_modules_with_basis.py +1209 -0
  111. sage/categories/finite_complex_reflection_groups.py +1506 -0
  112. sage/categories/finite_coxeter_groups.py +1138 -0
  113. sage/categories/finite_crystals.py +103 -0
  114. sage/categories/finite_dimensional_algebras_with_basis.py +1860 -0
  115. sage/categories/finite_dimensional_bialgebras_with_basis.py +33 -0
  116. sage/categories/finite_dimensional_coalgebras_with_basis.py +33 -0
  117. sage/categories/finite_dimensional_graded_lie_algebras_with_basis.py +231 -0
  118. sage/categories/finite_dimensional_hopf_algebras_with_basis.py +38 -0
  119. sage/categories/finite_dimensional_lie_algebras_with_basis.py +2774 -0
  120. sage/categories/finite_dimensional_modules_with_basis.py +1407 -0
  121. sage/categories/finite_dimensional_nilpotent_lie_algebras_with_basis.py +167 -0
  122. sage/categories/finite_dimensional_semisimple_algebras_with_basis.py +270 -0
  123. sage/categories/finite_enumerated_sets.py +769 -0
  124. sage/categories/finite_fields.py +252 -0
  125. sage/categories/finite_groups.py +256 -0
  126. sage/categories/finite_lattice_posets.py +242 -0
  127. sage/categories/finite_monoids.py +316 -0
  128. sage/categories/finite_permutation_groups.py +339 -0
  129. sage/categories/finite_posets.py +1994 -0
  130. sage/categories/finite_semigroups.py +136 -0
  131. sage/categories/finite_sets.py +93 -0
  132. sage/categories/finite_weyl_groups.py +39 -0
  133. sage/categories/finitely_generated_lambda_bracket_algebras.py +112 -0
  134. sage/categories/finitely_generated_lie_conformal_algebras.py +114 -0
  135. sage/categories/finitely_generated_magmas.py +57 -0
  136. sage/categories/finitely_generated_semigroups.py +214 -0
  137. sage/categories/function_fields.py +76 -0
  138. sage/categories/g_sets.py +77 -0
  139. sage/categories/gcd_domains.py +65 -0
  140. sage/categories/generalized_coxeter_groups.py +94 -0
  141. sage/categories/graded_algebras.py +85 -0
  142. sage/categories/graded_algebras_with_basis.py +258 -0
  143. sage/categories/graded_bialgebras.py +32 -0
  144. sage/categories/graded_bialgebras_with_basis.py +32 -0
  145. sage/categories/graded_coalgebras.py +65 -0
  146. sage/categories/graded_coalgebras_with_basis.py +51 -0
  147. sage/categories/graded_hopf_algebras.py +41 -0
  148. sage/categories/graded_hopf_algebras_with_basis.py +169 -0
  149. sage/categories/graded_lie_algebras.py +91 -0
  150. sage/categories/graded_lie_algebras_with_basis.py +44 -0
  151. sage/categories/graded_lie_conformal_algebras.py +74 -0
  152. sage/categories/graded_modules.py +133 -0
  153. sage/categories/graded_modules_with_basis.py +329 -0
  154. sage/categories/graphs.py +138 -0
  155. sage/categories/group_algebras.py +430 -0
  156. sage/categories/groupoid.py +94 -0
  157. sage/categories/groups.py +667 -0
  158. sage/categories/h_trivial_semigroups.py +64 -0
  159. sage/categories/hecke_modules.py +185 -0
  160. sage/categories/highest_weight_crystals.py +980 -0
  161. sage/categories/hopf_algebras.py +219 -0
  162. sage/categories/hopf_algebras_with_basis.py +309 -0
  163. sage/categories/infinite_enumerated_sets.py +115 -0
  164. sage/categories/integral_domains.py +203 -0
  165. sage/categories/j_trivial_semigroups.py +29 -0
  166. sage/categories/kac_moody_algebras.py +82 -0
  167. sage/categories/kahler_algebras.py +203 -0
  168. sage/categories/l_trivial_semigroups.py +63 -0
  169. sage/categories/lambda_bracket_algebras.py +280 -0
  170. sage/categories/lambda_bracket_algebras_with_basis.py +107 -0
  171. sage/categories/lattice_posets.py +89 -0
  172. sage/categories/left_modules.py +49 -0
  173. sage/categories/lie_algebras.py +1070 -0
  174. sage/categories/lie_algebras_with_basis.py +261 -0
  175. sage/categories/lie_conformal_algebras.py +350 -0
  176. sage/categories/lie_conformal_algebras_with_basis.py +147 -0
  177. sage/categories/lie_groups.py +73 -0
  178. sage/categories/loop_crystals.py +1290 -0
  179. sage/categories/magmas.py +1189 -0
  180. sage/categories/magmas_and_additive_magmas.py +149 -0
  181. sage/categories/magmatic_algebras.py +365 -0
  182. sage/categories/manifolds.py +352 -0
  183. sage/categories/matrix_algebras.py +40 -0
  184. sage/categories/metric_spaces.py +387 -0
  185. sage/categories/modular_abelian_varieties.py +78 -0
  186. sage/categories/modules.py +989 -0
  187. sage/categories/modules_with_basis.py +2794 -0
  188. sage/categories/monoid_algebras.py +38 -0
  189. sage/categories/monoids.py +739 -0
  190. sage/categories/noetherian_rings.py +87 -0
  191. sage/categories/number_fields.py +242 -0
  192. sage/categories/ore_modules.py +189 -0
  193. sage/categories/partially_ordered_monoids.py +49 -0
  194. sage/categories/permutation_groups.py +63 -0
  195. sage/categories/pointed_sets.py +42 -0
  196. sage/categories/polyhedra.py +74 -0
  197. sage/categories/poor_man_map.py +270 -0
  198. sage/categories/posets.py +722 -0
  199. sage/categories/principal_ideal_domains.py +270 -0
  200. sage/categories/quantum_group_representations.py +543 -0
  201. sage/categories/quotient_fields.py +728 -0
  202. sage/categories/r_trivial_semigroups.py +45 -0
  203. sage/categories/regular_crystals.py +898 -0
  204. sage/categories/regular_supercrystals.py +170 -0
  205. sage/categories/right_modules.py +49 -0
  206. sage/categories/ring_ideals.py +74 -0
  207. sage/categories/rings.py +1904 -0
  208. sage/categories/rngs.py +175 -0
  209. sage/categories/schemes.py +393 -0
  210. sage/categories/semigroups.py +1060 -0
  211. sage/categories/semirings.py +71 -0
  212. sage/categories/semisimple_algebras.py +114 -0
  213. sage/categories/sets_with_grading.py +235 -0
  214. sage/categories/shephard_groups.py +43 -0
  215. sage/categories/signed_tensor.py +120 -0
  216. sage/categories/simplicial_complexes.py +134 -0
  217. sage/categories/simplicial_sets.py +1206 -0
  218. sage/categories/super_algebras.py +149 -0
  219. sage/categories/super_algebras_with_basis.py +144 -0
  220. sage/categories/super_hopf_algebras_with_basis.py +126 -0
  221. sage/categories/super_lie_conformal_algebras.py +193 -0
  222. sage/categories/super_modules.py +229 -0
  223. sage/categories/super_modules_with_basis.py +193 -0
  224. sage/categories/supercommutative_algebras.py +99 -0
  225. sage/categories/supercrystals.py +406 -0
  226. sage/categories/tensor.py +110 -0
  227. sage/categories/topological_spaces.py +170 -0
  228. sage/categories/triangular_kac_moody_algebras.py +439 -0
  229. sage/categories/tutorial.py +58 -0
  230. sage/categories/unique_factorization_domains.py +318 -0
  231. sage/categories/unital_algebras.py +426 -0
  232. sage/categories/vector_bundles.py +159 -0
  233. sage/categories/vector_spaces.py +357 -0
  234. sage/categories/weyl_groups.py +853 -0
  235. sage/combinat/all__sagemath_categories.py +34 -0
  236. sage/combinat/backtrack.py +180 -0
  237. sage/combinat/combinat.py +2269 -0
  238. sage/combinat/combinat_cython.cpython-314t-aarch64-linux-musl.so +0 -0
  239. sage/combinat/combinat_cython.pxd +6 -0
  240. sage/combinat/combinat_cython.pyx +390 -0
  241. sage/combinat/combination.py +796 -0
  242. sage/combinat/combinatorial_map.py +416 -0
  243. sage/combinat/composition.py +2192 -0
  244. sage/combinat/dlx.py +510 -0
  245. sage/combinat/integer_lists/__init__.py +7 -0
  246. sage/combinat/integer_lists/base.cpython-314t-aarch64-linux-musl.so +0 -0
  247. sage/combinat/integer_lists/base.pxd +16 -0
  248. sage/combinat/integer_lists/base.pyx +713 -0
  249. sage/combinat/integer_lists/invlex.cpython-314t-aarch64-linux-musl.so +0 -0
  250. sage/combinat/integer_lists/invlex.pxd +4 -0
  251. sage/combinat/integer_lists/invlex.pyx +1650 -0
  252. sage/combinat/integer_lists/lists.py +328 -0
  253. sage/combinat/integer_lists/nn.py +48 -0
  254. sage/combinat/integer_vector.py +1818 -0
  255. sage/combinat/integer_vector_weighted.py +413 -0
  256. sage/combinat/matrices/all__sagemath_categories.py +5 -0
  257. sage/combinat/matrices/dancing_links.cpython-314t-aarch64-linux-musl.so +0 -0
  258. sage/combinat/matrices/dancing_links.pyx +1159 -0
  259. sage/combinat/matrices/dancing_links_c.h +380 -0
  260. sage/combinat/matrices/dlxcpp.py +136 -0
  261. sage/combinat/partition.py +10070 -0
  262. sage/combinat/partitions.cpython-314t-aarch64-linux-musl.so +0 -0
  263. sage/combinat/partitions.pyx +743 -0
  264. sage/combinat/permutation.py +10168 -0
  265. sage/combinat/permutation_cython.cpython-314t-aarch64-linux-musl.so +0 -0
  266. sage/combinat/permutation_cython.pxd +11 -0
  267. sage/combinat/permutation_cython.pyx +407 -0
  268. sage/combinat/q_analogues.py +1090 -0
  269. sage/combinat/ranker.py +268 -0
  270. sage/combinat/subset.py +1561 -0
  271. sage/combinat/subsets_hereditary.py +202 -0
  272. sage/combinat/subsets_pairwise.py +184 -0
  273. sage/combinat/tools.py +63 -0
  274. sage/combinat/tuple.py +348 -0
  275. sage/data_structures/all.py +2 -0
  276. sage/data_structures/all__sagemath_categories.py +2 -0
  277. sage/data_structures/binary_matrix.pxd +138 -0
  278. sage/data_structures/binary_search.cpython-314t-aarch64-linux-musl.so +0 -0
  279. sage/data_structures/binary_search.pxd +3 -0
  280. sage/data_structures/binary_search.pyx +66 -0
  281. sage/data_structures/bitset.cpython-314t-aarch64-linux-musl.so +0 -0
  282. sage/data_structures/bitset.pxd +40 -0
  283. sage/data_structures/bitset.pyx +2385 -0
  284. sage/data_structures/bitset_base.cpython-314t-aarch64-linux-musl.so +0 -0
  285. sage/data_structures/bitset_base.pxd +926 -0
  286. sage/data_structures/bitset_base.pyx +117 -0
  287. sage/data_structures/bitset_intrinsics.h +487 -0
  288. sage/data_structures/blas_dict.cpython-314t-aarch64-linux-musl.so +0 -0
  289. sage/data_structures/blas_dict.pxd +12 -0
  290. sage/data_structures/blas_dict.pyx +469 -0
  291. sage/data_structures/list_of_pairs.cpython-314t-aarch64-linux-musl.so +0 -0
  292. sage/data_structures/list_of_pairs.pxd +16 -0
  293. sage/data_structures/list_of_pairs.pyx +122 -0
  294. sage/data_structures/mutable_poset.py +3312 -0
  295. sage/data_structures/pairing_heap.cpython-314t-aarch64-linux-musl.so +0 -0
  296. sage/data_structures/pairing_heap.h +346 -0
  297. sage/data_structures/pairing_heap.pxd +88 -0
  298. sage/data_structures/pairing_heap.pyx +1464 -0
  299. sage/data_structures/sparse_bitset.pxd +62 -0
  300. sage/data_structures/stream.py +5070 -0
  301. sage/databases/all__sagemath_categories.py +7 -0
  302. sage/databases/sql_db.py +2236 -0
  303. sage/ext/all__sagemath_categories.py +3 -0
  304. sage/ext/fast_callable.cpython-314t-aarch64-linux-musl.so +0 -0
  305. sage/ext/fast_callable.pxd +4 -0
  306. sage/ext/fast_callable.pyx +2746 -0
  307. sage/ext/fast_eval.cpython-314t-aarch64-linux-musl.so +0 -0
  308. sage/ext/fast_eval.pxd +1 -0
  309. sage/ext/fast_eval.pyx +102 -0
  310. sage/ext/interpreters/__init__.py +1 -0
  311. sage/ext/interpreters/all__sagemath_categories.py +2 -0
  312. sage/ext/interpreters/wrapper_el.cpython-314t-aarch64-linux-musl.so +0 -0
  313. sage/ext/interpreters/wrapper_el.pxd +18 -0
  314. sage/ext/interpreters/wrapper_el.pyx +148 -0
  315. sage/ext/interpreters/wrapper_py.cpython-314t-aarch64-linux-musl.so +0 -0
  316. sage/ext/interpreters/wrapper_py.pxd +17 -0
  317. sage/ext/interpreters/wrapper_py.pyx +133 -0
  318. sage/functions/airy.py +937 -0
  319. sage/functions/all.py +97 -0
  320. sage/functions/bessel.py +2102 -0
  321. sage/functions/error.py +784 -0
  322. sage/functions/exp_integral.py +1529 -0
  323. sage/functions/gamma.py +1087 -0
  324. sage/functions/generalized.py +672 -0
  325. sage/functions/hyperbolic.py +747 -0
  326. sage/functions/hypergeometric.py +1156 -0
  327. sage/functions/jacobi.py +1705 -0
  328. sage/functions/log.py +1402 -0
  329. sage/functions/min_max.py +338 -0
  330. sage/functions/orthogonal_polys.py +3106 -0
  331. sage/functions/other.py +2303 -0
  332. sage/functions/piecewise.py +1505 -0
  333. sage/functions/prime_pi.cpython-314t-aarch64-linux-musl.so +0 -0
  334. sage/functions/prime_pi.pyx +262 -0
  335. sage/functions/special.py +1212 -0
  336. sage/functions/spike_function.py +278 -0
  337. sage/functions/transcendental.py +690 -0
  338. sage/functions/trig.py +1062 -0
  339. sage/functions/wigner.py +726 -0
  340. sage/geometry/abc.cpython-314t-aarch64-linux-musl.so +0 -0
  341. sage/geometry/abc.pyx +82 -0
  342. sage/geometry/all__sagemath_categories.py +1 -0
  343. sage/groups/all__sagemath_categories.py +11 -0
  344. sage/groups/generic.py +1733 -0
  345. sage/groups/groups_catalog.py +113 -0
  346. sage/groups/perm_gps/all__sagemath_categories.py +1 -0
  347. sage/groups/perm_gps/partn_ref/all.py +1 -0
  348. sage/groups/perm_gps/partn_ref/all__sagemath_categories.py +1 -0
  349. sage/groups/perm_gps/partn_ref/automorphism_group_canonical_label.cpython-314t-aarch64-linux-musl.so +0 -0
  350. sage/groups/perm_gps/partn_ref/automorphism_group_canonical_label.pxd +52 -0
  351. sage/groups/perm_gps/partn_ref/automorphism_group_canonical_label.pyx +906 -0
  352. sage/groups/perm_gps/partn_ref/canonical_augmentation.cpython-314t-aarch64-linux-musl.so +0 -0
  353. sage/groups/perm_gps/partn_ref/canonical_augmentation.pxd +85 -0
  354. sage/groups/perm_gps/partn_ref/canonical_augmentation.pyx +534 -0
  355. sage/groups/perm_gps/partn_ref/data_structures.cpython-314t-aarch64-linux-musl.so +0 -0
  356. sage/groups/perm_gps/partn_ref/data_structures.pxd +576 -0
  357. sage/groups/perm_gps/partn_ref/data_structures.pyx +1792 -0
  358. sage/groups/perm_gps/partn_ref/double_coset.cpython-314t-aarch64-linux-musl.so +0 -0
  359. sage/groups/perm_gps/partn_ref/double_coset.pxd +45 -0
  360. sage/groups/perm_gps/partn_ref/double_coset.pyx +739 -0
  361. sage/groups/perm_gps/partn_ref/refinement_lists.cpython-314t-aarch64-linux-musl.so +0 -0
  362. sage/groups/perm_gps/partn_ref/refinement_lists.pxd +18 -0
  363. sage/groups/perm_gps/partn_ref/refinement_lists.pyx +82 -0
  364. sage/groups/perm_gps/partn_ref/refinement_python.cpython-314t-aarch64-linux-musl.so +0 -0
  365. sage/groups/perm_gps/partn_ref/refinement_python.pxd +16 -0
  366. sage/groups/perm_gps/partn_ref/refinement_python.pyx +564 -0
  367. sage/groups/perm_gps/partn_ref/refinement_sets.cpython-314t-aarch64-linux-musl.so +0 -0
  368. sage/groups/perm_gps/partn_ref/refinement_sets.pxd +60 -0
  369. sage/groups/perm_gps/partn_ref/refinement_sets.pyx +858 -0
  370. sage/interfaces/abc.py +140 -0
  371. sage/interfaces/all.py +58 -0
  372. sage/interfaces/all__sagemath_categories.py +1 -0
  373. sage/interfaces/expect.py +1643 -0
  374. sage/interfaces/interface.py +1682 -0
  375. sage/interfaces/process.cpython-314t-aarch64-linux-musl.so +0 -0
  376. sage/interfaces/process.pxd +5 -0
  377. sage/interfaces/process.pyx +288 -0
  378. sage/interfaces/quit.py +167 -0
  379. sage/interfaces/sage0.py +604 -0
  380. sage/interfaces/sagespawn.cpython-314t-aarch64-linux-musl.so +0 -0
  381. sage/interfaces/sagespawn.pyx +308 -0
  382. sage/interfaces/tab_completion.py +101 -0
  383. sage/misc/all__sagemath_categories.py +78 -0
  384. sage/misc/allocator.cpython-314t-aarch64-linux-musl.so +0 -0
  385. sage/misc/allocator.pxd +6 -0
  386. sage/misc/allocator.pyx +47 -0
  387. sage/misc/binary_tree.cpython-314t-aarch64-linux-musl.so +0 -0
  388. sage/misc/binary_tree.pxd +29 -0
  389. sage/misc/binary_tree.pyx +537 -0
  390. sage/misc/callable_dict.cpython-314t-aarch64-linux-musl.so +0 -0
  391. sage/misc/callable_dict.pyx +89 -0
  392. sage/misc/citation.cpython-314t-aarch64-linux-musl.so +0 -0
  393. sage/misc/citation.pyx +159 -0
  394. sage/misc/converting_dict.py +293 -0
  395. sage/misc/defaults.py +129 -0
  396. sage/misc/derivative.cpython-314t-aarch64-linux-musl.so +0 -0
  397. sage/misc/derivative.pyx +223 -0
  398. sage/misc/functional.py +2005 -0
  399. sage/misc/html.py +589 -0
  400. sage/misc/latex.py +2673 -0
  401. sage/misc/latex_macros.py +236 -0
  402. sage/misc/latex_standalone.py +1833 -0
  403. sage/misc/map_threaded.py +38 -0
  404. sage/misc/mathml.py +76 -0
  405. sage/misc/method_decorator.py +88 -0
  406. sage/misc/mrange.py +755 -0
  407. sage/misc/multireplace.py +41 -0
  408. sage/misc/object_multiplexer.py +92 -0
  409. sage/misc/parser.cpython-314t-aarch64-linux-musl.so +0 -0
  410. sage/misc/parser.pyx +1107 -0
  411. sage/misc/random_testing.py +264 -0
  412. sage/misc/rest_index_of_methods.py +377 -0
  413. sage/misc/search.cpython-314t-aarch64-linux-musl.so +0 -0
  414. sage/misc/search.pxd +2 -0
  415. sage/misc/search.pyx +68 -0
  416. sage/misc/stopgap.cpython-314t-aarch64-linux-musl.so +0 -0
  417. sage/misc/stopgap.pyx +95 -0
  418. sage/misc/table.py +853 -0
  419. sage/monoids/all__sagemath_categories.py +1 -0
  420. sage/monoids/indexed_free_monoid.py +1071 -0
  421. sage/monoids/monoid.py +82 -0
  422. sage/numerical/all__sagemath_categories.py +1 -0
  423. sage/numerical/backends/all__sagemath_categories.py +1 -0
  424. sage/numerical/backends/generic_backend.cpython-314t-aarch64-linux-musl.so +0 -0
  425. sage/numerical/backends/generic_backend.pxd +61 -0
  426. sage/numerical/backends/generic_backend.pyx +1893 -0
  427. sage/numerical/backends/generic_sdp_backend.cpython-314t-aarch64-linux-musl.so +0 -0
  428. sage/numerical/backends/generic_sdp_backend.pxd +38 -0
  429. sage/numerical/backends/generic_sdp_backend.pyx +755 -0
  430. sage/parallel/all.py +6 -0
  431. sage/parallel/decorate.py +575 -0
  432. sage/parallel/map_reduce.py +1997 -0
  433. sage/parallel/multiprocessing_sage.py +76 -0
  434. sage/parallel/ncpus.py +35 -0
  435. sage/parallel/parallelism.py +364 -0
  436. sage/parallel/reference.py +47 -0
  437. sage/parallel/use_fork.py +333 -0
  438. sage/rings/abc.cpython-314t-aarch64-linux-musl.so +0 -0
  439. sage/rings/abc.pxd +31 -0
  440. sage/rings/abc.pyx +526 -0
  441. sage/rings/algebraic_closure_finite_field.py +1154 -0
  442. sage/rings/all__sagemath_categories.py +91 -0
  443. sage/rings/big_oh.py +227 -0
  444. sage/rings/continued_fraction.py +2754 -0
  445. sage/rings/continued_fraction_gosper.py +220 -0
  446. sage/rings/factorint.cpython-314t-aarch64-linux-musl.so +0 -0
  447. sage/rings/factorint.pyx +295 -0
  448. sage/rings/fast_arith.cpython-314t-aarch64-linux-musl.so +0 -0
  449. sage/rings/fast_arith.pxd +21 -0
  450. sage/rings/fast_arith.pyx +535 -0
  451. sage/rings/finite_rings/all__sagemath_categories.py +9 -0
  452. sage/rings/finite_rings/conway_polynomials.py +542 -0
  453. sage/rings/finite_rings/element_base.cpython-314t-aarch64-linux-musl.so +0 -0
  454. sage/rings/finite_rings/element_base.pxd +12 -0
  455. sage/rings/finite_rings/element_base.pyx +1176 -0
  456. sage/rings/finite_rings/finite_field_base.cpython-314t-aarch64-linux-musl.so +0 -0
  457. sage/rings/finite_rings/finite_field_base.pxd +7 -0
  458. sage/rings/finite_rings/finite_field_base.pyx +2171 -0
  459. sage/rings/finite_rings/finite_field_constructor.py +827 -0
  460. sage/rings/finite_rings/finite_field_prime_modn.py +372 -0
  461. sage/rings/finite_rings/galois_group.py +154 -0
  462. sage/rings/finite_rings/hom_finite_field.cpython-314t-aarch64-linux-musl.so +0 -0
  463. sage/rings/finite_rings/hom_finite_field.pxd +23 -0
  464. sage/rings/finite_rings/hom_finite_field.pyx +856 -0
  465. sage/rings/finite_rings/hom_prime_finite_field.cpython-314t-aarch64-linux-musl.so +0 -0
  466. sage/rings/finite_rings/hom_prime_finite_field.pxd +15 -0
  467. sage/rings/finite_rings/hom_prime_finite_field.pyx +164 -0
  468. sage/rings/finite_rings/homset.py +357 -0
  469. sage/rings/finite_rings/integer_mod.cpython-314t-aarch64-linux-musl.so +0 -0
  470. sage/rings/finite_rings/integer_mod.pxd +56 -0
  471. sage/rings/finite_rings/integer_mod.pyx +4586 -0
  472. sage/rings/finite_rings/integer_mod_limits.h +11 -0
  473. sage/rings/finite_rings/integer_mod_ring.py +2044 -0
  474. sage/rings/finite_rings/residue_field.cpython-314t-aarch64-linux-musl.so +0 -0
  475. sage/rings/finite_rings/residue_field.pxd +30 -0
  476. sage/rings/finite_rings/residue_field.pyx +1811 -0
  477. sage/rings/finite_rings/stdint.pxd +19 -0
  478. sage/rings/fraction_field.py +1452 -0
  479. sage/rings/fraction_field_element.cpython-314t-aarch64-linux-musl.so +0 -0
  480. sage/rings/fraction_field_element.pyx +1357 -0
  481. sage/rings/function_field/all.py +7 -0
  482. sage/rings/function_field/all__sagemath_categories.py +2 -0
  483. sage/rings/function_field/constructor.py +218 -0
  484. sage/rings/function_field/element.cpython-314t-aarch64-linux-musl.so +0 -0
  485. sage/rings/function_field/element.pxd +11 -0
  486. sage/rings/function_field/element.pyx +1008 -0
  487. sage/rings/function_field/element_rational.cpython-314t-aarch64-linux-musl.so +0 -0
  488. sage/rings/function_field/element_rational.pyx +513 -0
  489. sage/rings/function_field/extensions.py +230 -0
  490. sage/rings/function_field/function_field.py +1468 -0
  491. sage/rings/function_field/function_field_rational.py +1005 -0
  492. sage/rings/function_field/ideal.py +1155 -0
  493. sage/rings/function_field/ideal_rational.py +629 -0
  494. sage/rings/function_field/jacobian_base.py +826 -0
  495. sage/rings/function_field/jacobian_hess.py +1053 -0
  496. sage/rings/function_field/jacobian_khuri_makdisi.py +1027 -0
  497. sage/rings/function_field/maps.py +1039 -0
  498. sage/rings/function_field/order.py +281 -0
  499. sage/rings/function_field/order_basis.py +586 -0
  500. sage/rings/function_field/order_rational.py +576 -0
  501. sage/rings/function_field/place.py +426 -0
  502. sage/rings/function_field/place_rational.py +181 -0
  503. sage/rings/generic.py +320 -0
  504. sage/rings/homset.py +332 -0
  505. sage/rings/ideal.py +1885 -0
  506. sage/rings/ideal_monoid.py +215 -0
  507. sage/rings/infinity.py +1890 -0
  508. sage/rings/integer.cpython-314t-aarch64-linux-musl.so +0 -0
  509. sage/rings/integer.pxd +45 -0
  510. sage/rings/integer.pyx +7874 -0
  511. sage/rings/integer_ring.cpython-314t-aarch64-linux-musl.so +0 -0
  512. sage/rings/integer_ring.pxd +8 -0
  513. sage/rings/integer_ring.pyx +1693 -0
  514. sage/rings/laurent_series_ring.py +931 -0
  515. sage/rings/laurent_series_ring_element.cpython-314t-aarch64-linux-musl.so +0 -0
  516. sage/rings/laurent_series_ring_element.pxd +11 -0
  517. sage/rings/laurent_series_ring_element.pyx +1927 -0
  518. sage/rings/lazy_series.py +7815 -0
  519. sage/rings/lazy_series_ring.py +4356 -0
  520. sage/rings/localization.py +1043 -0
  521. sage/rings/morphism.cpython-314t-aarch64-linux-musl.so +0 -0
  522. sage/rings/morphism.pxd +39 -0
  523. sage/rings/morphism.pyx +3299 -0
  524. sage/rings/multi_power_series_ring.py +1145 -0
  525. sage/rings/multi_power_series_ring_element.py +2184 -0
  526. sage/rings/noncommutative_ideals.cpython-314t-aarch64-linux-musl.so +0 -0
  527. sage/rings/noncommutative_ideals.pyx +423 -0
  528. sage/rings/number_field/all__sagemath_categories.py +1 -0
  529. sage/rings/number_field/number_field_base.cpython-314t-aarch64-linux-musl.so +0 -0
  530. sage/rings/number_field/number_field_base.pxd +8 -0
  531. sage/rings/number_field/number_field_base.pyx +507 -0
  532. sage/rings/number_field/number_field_element_base.cpython-314t-aarch64-linux-musl.so +0 -0
  533. sage/rings/number_field/number_field_element_base.pxd +6 -0
  534. sage/rings/number_field/number_field_element_base.pyx +36 -0
  535. sage/rings/number_field/number_field_ideal.py +3550 -0
  536. sage/rings/padics/all__sagemath_categories.py +4 -0
  537. sage/rings/padics/local_generic.py +1670 -0
  538. sage/rings/padics/local_generic_element.cpython-314t-aarch64-linux-musl.so +0 -0
  539. sage/rings/padics/local_generic_element.pxd +5 -0
  540. sage/rings/padics/local_generic_element.pyx +1017 -0
  541. sage/rings/padics/misc.py +256 -0
  542. sage/rings/padics/padic_generic.py +1911 -0
  543. sage/rings/padics/pow_computer.cpython-314t-aarch64-linux-musl.so +0 -0
  544. sage/rings/padics/pow_computer.pxd +38 -0
  545. sage/rings/padics/pow_computer.pyx +671 -0
  546. sage/rings/padics/precision_error.py +24 -0
  547. sage/rings/polynomial/all__sagemath_categories.py +25 -0
  548. sage/rings/polynomial/commutative_polynomial.cpython-314t-aarch64-linux-musl.so +0 -0
  549. sage/rings/polynomial/commutative_polynomial.pxd +6 -0
  550. sage/rings/polynomial/commutative_polynomial.pyx +24 -0
  551. sage/rings/polynomial/cyclotomic.cpython-314t-aarch64-linux-musl.so +0 -0
  552. sage/rings/polynomial/cyclotomic.pyx +404 -0
  553. sage/rings/polynomial/flatten.py +711 -0
  554. sage/rings/polynomial/ideal.py +102 -0
  555. sage/rings/polynomial/infinite_polynomial_element.py +1768 -0
  556. sage/rings/polynomial/infinite_polynomial_ring.py +1653 -0
  557. sage/rings/polynomial/laurent_polynomial.cpython-314t-aarch64-linux-musl.so +0 -0
  558. sage/rings/polynomial/laurent_polynomial.pxd +18 -0
  559. sage/rings/polynomial/laurent_polynomial.pyx +2190 -0
  560. sage/rings/polynomial/laurent_polynomial_ideal.py +590 -0
  561. sage/rings/polynomial/laurent_polynomial_ring.py +832 -0
  562. sage/rings/polynomial/laurent_polynomial_ring_base.py +708 -0
  563. sage/rings/polynomial/multi_polynomial.cpython-314t-aarch64-linux-musl.so +0 -0
  564. sage/rings/polynomial/multi_polynomial.pxd +12 -0
  565. sage/rings/polynomial/multi_polynomial.pyx +3082 -0
  566. sage/rings/polynomial/multi_polynomial_element.py +2570 -0
  567. sage/rings/polynomial/multi_polynomial_ideal.py +5771 -0
  568. sage/rings/polynomial/multi_polynomial_ring.py +947 -0
  569. sage/rings/polynomial/multi_polynomial_ring_base.cpython-314t-aarch64-linux-musl.so +0 -0
  570. sage/rings/polynomial/multi_polynomial_ring_base.pxd +15 -0
  571. sage/rings/polynomial/multi_polynomial_ring_base.pyx +1855 -0
  572. sage/rings/polynomial/multi_polynomial_sequence.py +2204 -0
  573. sage/rings/polynomial/polydict.cpython-314t-aarch64-linux-musl.so +0 -0
  574. sage/rings/polynomial/polydict.pxd +45 -0
  575. sage/rings/polynomial/polydict.pyx +2701 -0
  576. sage/rings/polynomial/polynomial_compiled.cpython-314t-aarch64-linux-musl.so +0 -0
  577. sage/rings/polynomial/polynomial_compiled.pxd +59 -0
  578. sage/rings/polynomial/polynomial_compiled.pyx +509 -0
  579. sage/rings/polynomial/polynomial_element.cpython-314t-aarch64-linux-musl.so +0 -0
  580. sage/rings/polynomial/polynomial_element.pxd +64 -0
  581. sage/rings/polynomial/polynomial_element.pyx +13255 -0
  582. sage/rings/polynomial/polynomial_element_generic.py +1637 -0
  583. sage/rings/polynomial/polynomial_fateman.py +97 -0
  584. sage/rings/polynomial/polynomial_quotient_ring.py +2465 -0
  585. sage/rings/polynomial/polynomial_quotient_ring_element.py +779 -0
  586. sage/rings/polynomial/polynomial_ring.py +3784 -0
  587. sage/rings/polynomial/polynomial_ring_constructor.py +1051 -0
  588. sage/rings/polynomial/polynomial_ring_homomorphism.cpython-314t-aarch64-linux-musl.so +0 -0
  589. sage/rings/polynomial/polynomial_ring_homomorphism.pxd +5 -0
  590. sage/rings/polynomial/polynomial_ring_homomorphism.pyx +121 -0
  591. sage/rings/polynomial/polynomial_singular_interface.py +549 -0
  592. sage/rings/polynomial/symmetric_ideal.py +989 -0
  593. sage/rings/polynomial/symmetric_reduction.cpython-314t-aarch64-linux-musl.so +0 -0
  594. sage/rings/polynomial/symmetric_reduction.pxd +8 -0
  595. sage/rings/polynomial/symmetric_reduction.pyx +669 -0
  596. sage/rings/polynomial/term_order.py +2279 -0
  597. sage/rings/polynomial/toy_buchberger.py +449 -0
  598. sage/rings/polynomial/toy_d_basis.py +387 -0
  599. sage/rings/polynomial/toy_variety.py +362 -0
  600. sage/rings/power_series_mpoly.cpython-314t-aarch64-linux-musl.so +0 -0
  601. sage/rings/power_series_mpoly.pxd +9 -0
  602. sage/rings/power_series_mpoly.pyx +161 -0
  603. sage/rings/power_series_poly.cpython-314t-aarch64-linux-musl.so +0 -0
  604. sage/rings/power_series_poly.pxd +10 -0
  605. sage/rings/power_series_poly.pyx +1317 -0
  606. sage/rings/power_series_ring.py +1441 -0
  607. sage/rings/power_series_ring_element.cpython-314t-aarch64-linux-musl.so +0 -0
  608. sage/rings/power_series_ring_element.pxd +12 -0
  609. sage/rings/power_series_ring_element.pyx +3028 -0
  610. sage/rings/puiseux_series_ring.py +487 -0
  611. sage/rings/puiseux_series_ring_element.cpython-314t-aarch64-linux-musl.so +0 -0
  612. sage/rings/puiseux_series_ring_element.pxd +7 -0
  613. sage/rings/puiseux_series_ring_element.pyx +1055 -0
  614. sage/rings/qqbar_decorators.py +167 -0
  615. sage/rings/quotient_ring.py +1598 -0
  616. sage/rings/quotient_ring_element.py +979 -0
  617. sage/rings/rational.cpython-314t-aarch64-linux-musl.so +0 -0
  618. sage/rings/rational.pxd +20 -0
  619. sage/rings/rational.pyx +4284 -0
  620. sage/rings/rational_field.py +1730 -0
  621. sage/rings/real_double.cpython-314t-aarch64-linux-musl.so +0 -0
  622. sage/rings/real_double.pxd +16 -0
  623. sage/rings/real_double.pyx +2218 -0
  624. sage/rings/real_lazy.cpython-314t-aarch64-linux-musl.so +0 -0
  625. sage/rings/real_lazy.pxd +30 -0
  626. sage/rings/real_lazy.pyx +1773 -0
  627. sage/rings/ring.cpython-314t-aarch64-linux-musl.so +0 -0
  628. sage/rings/ring.pxd +30 -0
  629. sage/rings/ring.pyx +850 -0
  630. sage/rings/semirings/all.py +3 -0
  631. sage/rings/semirings/non_negative_integer_semiring.py +107 -0
  632. sage/rings/semirings/tropical_mpolynomial.py +972 -0
  633. sage/rings/semirings/tropical_polynomial.py +997 -0
  634. sage/rings/semirings/tropical_semiring.cpython-314t-aarch64-linux-musl.so +0 -0
  635. sage/rings/semirings/tropical_semiring.pyx +676 -0
  636. sage/rings/semirings/tropical_variety.py +1701 -0
  637. sage/rings/sum_of_squares.cpython-314t-aarch64-linux-musl.so +0 -0
  638. sage/rings/sum_of_squares.pxd +3 -0
  639. sage/rings/sum_of_squares.pyx +336 -0
  640. sage/rings/tests.py +504 -0
  641. sage/schemes/affine/affine_homset.py +508 -0
  642. sage/schemes/affine/affine_morphism.py +1574 -0
  643. sage/schemes/affine/affine_point.py +460 -0
  644. sage/schemes/affine/affine_rational_point.py +308 -0
  645. sage/schemes/affine/affine_space.py +1264 -0
  646. sage/schemes/affine/affine_subscheme.py +592 -0
  647. sage/schemes/affine/all.py +25 -0
  648. sage/schemes/all__sagemath_categories.py +5 -0
  649. sage/schemes/generic/algebraic_scheme.py +2092 -0
  650. sage/schemes/generic/all.py +5 -0
  651. sage/schemes/generic/ambient_space.py +400 -0
  652. sage/schemes/generic/divisor.py +465 -0
  653. sage/schemes/generic/divisor_group.py +313 -0
  654. sage/schemes/generic/glue.py +84 -0
  655. sage/schemes/generic/homset.py +820 -0
  656. sage/schemes/generic/hypersurface.py +234 -0
  657. sage/schemes/generic/morphism.py +2107 -0
  658. sage/schemes/generic/point.py +237 -0
  659. sage/schemes/generic/scheme.py +1190 -0
  660. sage/schemes/generic/spec.py +199 -0
  661. sage/schemes/product_projective/all.py +6 -0
  662. sage/schemes/product_projective/homset.py +236 -0
  663. sage/schemes/product_projective/morphism.py +517 -0
  664. sage/schemes/product_projective/point.py +568 -0
  665. sage/schemes/product_projective/rational_point.py +550 -0
  666. sage/schemes/product_projective/space.py +1301 -0
  667. sage/schemes/product_projective/subscheme.py +466 -0
  668. sage/schemes/projective/all.py +24 -0
  669. sage/schemes/projective/proj_bdd_height.py +453 -0
  670. sage/schemes/projective/projective_homset.py +718 -0
  671. sage/schemes/projective/projective_morphism.py +2792 -0
  672. sage/schemes/projective/projective_point.py +1484 -0
  673. sage/schemes/projective/projective_rational_point.py +569 -0
  674. sage/schemes/projective/projective_space.py +2571 -0
  675. sage/schemes/projective/projective_subscheme.py +1574 -0
  676. sage/sets/all.py +17 -0
  677. sage/sets/cartesian_product.py +376 -0
  678. sage/sets/condition_set.py +525 -0
  679. sage/sets/disjoint_set.cpython-314t-aarch64-linux-musl.so +0 -0
  680. sage/sets/disjoint_set.pxd +36 -0
  681. sage/sets/disjoint_set.pyx +998 -0
  682. sage/sets/disjoint_union_enumerated_sets.py +625 -0
  683. sage/sets/family.cpython-314t-aarch64-linux-musl.so +0 -0
  684. sage/sets/family.pxd +12 -0
  685. sage/sets/family.pyx +1556 -0
  686. sage/sets/finite_enumerated_set.py +406 -0
  687. sage/sets/finite_set_map_cy.cpython-314t-aarch64-linux-musl.so +0 -0
  688. sage/sets/finite_set_map_cy.pxd +34 -0
  689. sage/sets/finite_set_map_cy.pyx +708 -0
  690. sage/sets/finite_set_maps.py +591 -0
  691. sage/sets/image_set.py +448 -0
  692. sage/sets/integer_range.py +829 -0
  693. sage/sets/non_negative_integers.py +241 -0
  694. sage/sets/positive_integers.py +93 -0
  695. sage/sets/primes.py +188 -0
  696. sage/sets/real_set.py +2760 -0
  697. sage/sets/recursively_enumerated_set.cpython-314t-aarch64-linux-musl.so +0 -0
  698. sage/sets/recursively_enumerated_set.pxd +31 -0
  699. sage/sets/recursively_enumerated_set.pyx +2082 -0
  700. sage/sets/set.py +2083 -0
  701. sage/sets/set_from_iterator.py +1021 -0
  702. sage/sets/totally_ordered_finite_set.py +329 -0
  703. sage/symbolic/all__sagemath_categories.py +1 -0
  704. sage/symbolic/function.cpython-314t-aarch64-linux-musl.so +0 -0
  705. sage/symbolic/function.pxd +29 -0
  706. sage/symbolic/function.pyx +1488 -0
  707. sage/symbolic/symbols.py +56 -0
  708. sage/tests/all__sagemath_categories.py +1 -0
  709. sage/tests/cython.cpython-314t-aarch64-linux-musl.so +0 -0
  710. sage/tests/cython.pyx +37 -0
  711. sage/tests/stl_vector.cpython-314t-aarch64-linux-musl.so +0 -0
  712. sage/tests/stl_vector.pyx +171 -0
  713. sage/typeset/all.py +6 -0
  714. sage/typeset/ascii_art.py +295 -0
  715. sage/typeset/character_art.py +789 -0
  716. sage/typeset/character_art_factory.py +572 -0
  717. sage/typeset/symbols.py +334 -0
  718. sage/typeset/unicode_art.py +183 -0
  719. sage/typeset/unicode_characters.py +101 -0
@@ -0,0 +1,747 @@
1
+ # sage_setup: distribution = sagemath-categories
2
+ r"""
3
+ Hyperbolic functions
4
+
5
+ The full set of hyperbolic and inverse hyperbolic functions is
6
+ available:
7
+
8
+ - hyperbolic sine: :class:`sinh() <Function_sinh>`
9
+ - hyperbolic cosine: :class:`cosh() <Function_cosh>`
10
+ - hyperbolic tangent: :class:`tanh() <Function_tanh>`
11
+ - hyperbolic cotangent: :class:`coth() <Function_coth>`
12
+ - hyperbolic secant: :class:`sech() <Function_sech>`
13
+ - hyperbolic cosecant: :class:`csch() <Function_csch>`
14
+ - inverse hyperbolic sine: :class:`asinh() <Function_arcsinh>`
15
+ - inverse hyperbolic cosine: :class:`acosh() <Function_arccosh>`
16
+ - inverse hyperbolic tangent: :class:`atanh() <Function_arctanh>`
17
+ - inverse hyperbolic cotangent: :class:`acoth() <Function_arccoth>`
18
+ - inverse hyperbolic secant: :class:`asech() <Function_arcsech>`
19
+ - inverse hyperbolic cosecant: :class:`acsch() <Function_arccsch>`
20
+
21
+ REFERENCES:
22
+
23
+ - :wikipedia:`Hyperbolic function`
24
+ - :wikipedia:`Inverse hyperbolic functions`
25
+ - R. Roy, F. W. J. Olver, Elementary Functions, https://dlmf.nist.gov/4
26
+
27
+ EXAMPLES:
28
+
29
+ Inverse hyperbolic functions have logarithmic expressions,
30
+ so expressions of the form ``exp(c*f(x))`` simplify::
31
+
32
+ sage: # needs sage.symbolic
33
+ sage: exp(2*atanh(x))
34
+ -(x + 1)/(x - 1)
35
+ sage: exp(2*acoth(x))
36
+ (x + 1)/(x - 1)
37
+ sage: exp(2*asinh(x))
38
+ (x + sqrt(x^2 + 1))^2
39
+ sage: exp(2*acosh(x))
40
+ (x + sqrt(x^2 - 1))^2
41
+ sage: exp(2*asech(x))
42
+ (sqrt(-x^2 + 1)/x + 1/x)^2
43
+ sage: exp(2*acsch(x))
44
+ (sqrt(1/x^2 + 1) + 1/x)^2
45
+ """
46
+
47
+ from sage.symbolic.function import GinacFunction
48
+
49
+
50
+ class Function_sinh(GinacFunction):
51
+ def __init__(self):
52
+ r"""
53
+ The hyperbolic sine function.
54
+
55
+ EXAMPLES::
56
+
57
+ sage: sinh(3.1415) # needs sage.rings.real_mpfr
58
+ 11.5476653707437
59
+
60
+ sage: # needs sage.symbolic
61
+ sage: sinh(pi)
62
+ sinh(pi)
63
+ sage: float(sinh(pi))
64
+ 11.54873935725774...
65
+ sage: RR(sinh(pi))
66
+ 11.5487393572577
67
+ sage: latex(sinh(x))
68
+ \sinh\left(x\right)
69
+ sage: sinh(x)._sympy_() # needs sympy
70
+ sinh(x)
71
+
72
+ To prevent automatic evaluation, use the ``hold`` parameter::
73
+
74
+ sage: sinh(arccosh(x), hold=True) # needs sage.symbolic
75
+ sinh(arccosh(x))
76
+
77
+ To then evaluate again, use the ``unhold`` method::
78
+
79
+ sage: sinh(arccosh(x), hold=True).unhold() # needs sage.symbolic
80
+ sqrt(x + 1)*sqrt(x - 1)
81
+ """
82
+ GinacFunction.__init__(self, "sinh", latex_name=r"\sinh")
83
+
84
+
85
+ sinh = Function_sinh()
86
+
87
+
88
+ class Function_cosh(GinacFunction):
89
+ def __init__(self):
90
+ r"""
91
+ The hyperbolic cosine function.
92
+
93
+ EXAMPLES::
94
+
95
+ sage: cosh(3.1415) # needs sage.rings.real_mpfr
96
+ 11.5908832931176
97
+
98
+ sage: # needs sage.symbolic
99
+ sage: cosh(pi)
100
+ cosh(pi)
101
+ sage: float(cosh(pi))
102
+ 11.591953275521519
103
+ sage: RR(cosh(1/2))
104
+ 1.12762596520638
105
+ sage: latex(cosh(x))
106
+ \cosh\left(x\right)
107
+ sage: cosh(x)._sympy_() # needs sympy
108
+ cosh(x)
109
+
110
+ To prevent automatic evaluation, use the ``hold`` parameter::
111
+
112
+ sage: cosh(arcsinh(x), hold=True) # needs sage.symbolic
113
+ cosh(arcsinh(x))
114
+
115
+ To then evaluate again, use the ``unhold`` method::
116
+
117
+ sage: cosh(arcsinh(x), hold=True).unhold() # needs sage.symbolic
118
+ sqrt(x^2 + 1)
119
+ """
120
+ GinacFunction.__init__(self, "cosh", latex_name=r"\cosh")
121
+
122
+
123
+ cosh = Function_cosh()
124
+
125
+
126
+ class Function_tanh(GinacFunction):
127
+ def __init__(self):
128
+ r"""
129
+ The hyperbolic tangent function.
130
+
131
+ EXAMPLES::
132
+
133
+ sage: tanh(3.1415) # needs sage.rings.real_mpfr
134
+ 0.996271386633702
135
+ sage: tan(3.1415/4) # needs sage.rings.real_mpfr
136
+ 0.999953674278156
137
+
138
+ sage: # needs sage.symbolic
139
+ sage: tanh(pi)
140
+ tanh(pi)
141
+ sage: float(tanh(pi))
142
+ 0.99627207622075
143
+ sage: tanh(pi/4)
144
+ tanh(1/4*pi)
145
+ sage: RR(tanh(1/2))
146
+ 0.462117157260010
147
+
148
+ ::
149
+
150
+ sage: CC(tanh(pi + I*e)) # needs sage.rings.real_mpfr sage.symbolic
151
+ 0.997524731976164 - 0.00279068768100315*I
152
+ sage: ComplexField(100)(tanh(pi + I*e)) # needs sage.rings.real_mpfr sage.symbolic
153
+ 0.99752473197616361034204366446 - 0.0027906876810031453884245163923*I
154
+ sage: CDF(tanh(pi + I*e)) # rel tol 2e-15 # needs sage.rings.complex_double sage.symbolic
155
+ 0.9975247319761636 - 0.002790687681003147*I
156
+
157
+ To prevent automatic evaluation, use the ``hold`` parameter::
158
+
159
+ sage: tanh(arcsinh(x), hold=True) # needs sage.symbolic
160
+ tanh(arcsinh(x))
161
+
162
+ To then evaluate again, use the ``unhold`` method::
163
+
164
+ sage: tanh(arcsinh(x), hold=True).unhold() # needs sage.symbolic
165
+ x/sqrt(x^2 + 1)
166
+
167
+ TESTS::
168
+
169
+ sage: latex(tanh(x)) # needs sage.symbolic
170
+ \tanh\left(x\right)
171
+ sage: tanh(x)._sympy_() # needs sympy sage.symbolic
172
+ tanh(x)
173
+
174
+ Check that real/imaginary parts are correct (:issue:`20098`)::
175
+
176
+ sage: # needs sage.symbolic
177
+ sage: tanh(1+2*I).n()
178
+ 1.16673625724092 - 0.243458201185725*I
179
+ sage: tanh(1+2*I).real().n()
180
+ 1.16673625724092
181
+ sage: tanh(1+2*I).imag().n()
182
+ -0.243458201185725
183
+ sage: tanh(x).real()
184
+ sinh(2*real_part(x))/(cos(2*imag_part(x)) + cosh(2*real_part(x)))
185
+ sage: tanh(x).imag()
186
+ sin(2*imag_part(x))/(cos(2*imag_part(x)) + cosh(2*real_part(x)))
187
+ """
188
+ GinacFunction.__init__(self, "tanh", latex_name=r"\tanh")
189
+
190
+
191
+ tanh = Function_tanh()
192
+
193
+
194
+ class Function_coth(GinacFunction):
195
+ def __init__(self):
196
+ r"""
197
+ The hyperbolic cotangent function.
198
+
199
+ EXAMPLES::
200
+
201
+ sage: coth(3.1415) # needs sage.rings.real_mpfr
202
+ 1.00374256795520
203
+ sage: coth(complex(1, 2)) # abs tol 1e-15 # needs sage.rings.complex_double
204
+ (0.8213297974938518+0.17138361290918508j)
205
+
206
+ sage: # needs sage.symbolic
207
+ sage: coth(pi)
208
+ coth(pi)
209
+ sage: coth(0)
210
+ Infinity
211
+ sage: coth(pi*I)
212
+ Infinity
213
+ sage: coth(pi*I/2)
214
+ 0
215
+ sage: coth(7*pi*I/2)
216
+ 0
217
+ sage: coth(8*pi*I/2)
218
+ Infinity
219
+ sage: coth(7.*pi*I/2)
220
+ -I*cot(3.50000000000000*pi)
221
+ sage: float(coth(pi))
222
+ 1.0037418731973213
223
+ sage: RR(coth(pi))
224
+ 1.00374187319732
225
+
226
+ sage: # needs sage.symbolic
227
+ sage: bool(diff(coth(x), x) == diff(1/tanh(x), x))
228
+ True
229
+ sage: diff(coth(x), x)
230
+ -1/sinh(x)^2
231
+ sage: latex(coth(x))
232
+ \coth\left(x\right)
233
+ sage: coth(x)._sympy_() # needs sympy
234
+ coth(x)
235
+ """
236
+ GinacFunction.__init__(self, "coth", latex_name=r"\coth")
237
+
238
+ def _eval_numpy_(self, x):
239
+ """
240
+ EXAMPLES::
241
+
242
+ sage: import numpy # needs numpy
243
+ sage: a = numpy.arange(2, 5) # needs numpy
244
+ sage: coth(a) # needs numpy
245
+ array([1.03731472, 1.00496982, 1.00067115])
246
+ """
247
+ return 1.0 / tanh(x)
248
+
249
+
250
+ coth = Function_coth()
251
+
252
+
253
+ class Function_sech(GinacFunction):
254
+ def __init__(self):
255
+ r"""
256
+ The hyperbolic secant function.
257
+
258
+ EXAMPLES::
259
+
260
+ sage: sech(3.1415) # needs sage.rings.real_mpfr
261
+ 0.0862747018248192
262
+
263
+ sage: # needs sage.symbolic
264
+ sage: sech(pi)
265
+ sech(pi)
266
+ sage: float(sech(pi))
267
+ 0.0862667383340544...
268
+ sage: RR(sech(pi))
269
+ 0.0862667383340544
270
+ sage: sech(0)
271
+ 1
272
+ sage: sech(pi*I)
273
+ -1
274
+ sage: sech(pi*I/2)
275
+ Infinity
276
+ sage: sech(7*pi*I/2)
277
+ Infinity
278
+ sage: sech(8*pi*I/2)
279
+ 1
280
+ sage: sech(8.*pi*I/2)
281
+ sec(4.00000000000000*pi)
282
+
283
+ sage: # needs sage.symbolic
284
+ sage: bool(diff(sech(x), x) == diff(1/cosh(x), x))
285
+ True
286
+ sage: diff(sech(x), x)
287
+ -sech(x)*tanh(x)
288
+ sage: latex(sech(x))
289
+ \operatorname{sech}\left(x\right)
290
+ sage: sech(x)._sympy_() # needs sympy
291
+ sech(x)
292
+ """
293
+ GinacFunction.__init__(self, "sech", latex_name=r"\operatorname{sech}",)
294
+
295
+ def _eval_numpy_(self, x):
296
+ """
297
+ EXAMPLES::
298
+
299
+ sage: import numpy # needs numpy
300
+ sage: a = numpy.arange(2, 5) # needs numpy
301
+ sage: sech(a) # needs numpy
302
+ array([0.26580223, 0.09932793, 0.03661899])
303
+ """
304
+ return 1.0 / cosh(x)
305
+
306
+
307
+ sech = Function_sech()
308
+
309
+
310
+ class Function_csch(GinacFunction):
311
+ def __init__(self):
312
+ r"""
313
+ The hyperbolic cosecant function.
314
+
315
+ EXAMPLES::
316
+
317
+ sage: csch(3.1415) # needs sage.rings.real_mpfr
318
+ 0.0865975907592133
319
+
320
+ sage: # needs sage.symbolic
321
+ sage: csch(pi)
322
+ csch(pi)
323
+ sage: float(csch(pi))
324
+ 0.0865895375300469...
325
+ sage: RR(csch(pi))
326
+ 0.0865895375300470
327
+ sage: csch(0)
328
+ Infinity
329
+ sage: csch(pi*I)
330
+ Infinity
331
+ sage: csch(pi*I/2)
332
+ -I
333
+ sage: csch(7*pi*I/2)
334
+ I
335
+ sage: csch(7.*pi*I/2)
336
+ -I*csc(3.50000000000000*pi)
337
+
338
+ sage: # needs sage.symbolic
339
+ sage: bool(diff(csch(x), x) == diff(1/sinh(x), x))
340
+ True
341
+ sage: diff(csch(x), x)
342
+ -coth(x)*csch(x)
343
+ sage: latex(csch(x))
344
+ \operatorname{csch}\left(x\right)
345
+ sage: csch(x)._sympy_() # needs sympy
346
+ csch(x)
347
+ """
348
+ GinacFunction.__init__(self, "csch", latex_name=r"\operatorname{csch}")
349
+
350
+ def _eval_numpy_(self, x):
351
+ """
352
+ EXAMPLES::
353
+
354
+ sage: import numpy # needs numpy
355
+ sage: a = numpy.arange(2, 5) # needs numpy
356
+ sage: csch(a) # needs numpy
357
+ array([0.27572056, 0.09982157, 0.03664357])
358
+ """
359
+ return 1.0 / sinh(x)
360
+
361
+
362
+ csch = Function_csch()
363
+
364
+
365
+ ################################
366
+ # Inverse hyperbolic functions #
367
+ ################################
368
+
369
+
370
+ class Function_arcsinh(GinacFunction):
371
+ def __init__(self):
372
+ r"""
373
+ The inverse of the hyperbolic sine function.
374
+
375
+ EXAMPLES::
376
+
377
+ sage: asinh
378
+ arcsinh
379
+ sage: asinh(0.5) # needs sage.rings.real_mpfr
380
+ 0.481211825059603
381
+ sage: asinh(1/2) # needs sage.symbolic
382
+ arcsinh(1/2)
383
+ sage: asinh(1 + I*1.0) # needs sage.symbolic
384
+ 1.06127506190504 + 0.666239432492515*I
385
+
386
+ To prevent automatic evaluation use the ``hold`` argument::
387
+
388
+ sage: asinh(-2, hold=True) # needs sage.symbolic
389
+ arcsinh(-2)
390
+
391
+ To then evaluate again, use the ``unhold`` method::
392
+
393
+ sage: asinh(-2, hold=True).unhold() # needs sage.symbolic
394
+ -arcsinh(2)
395
+
396
+ ``conjugate(asinh(x))==asinh(conjugate(x))`` unless on the branch
397
+ cuts which run along the imaginary axis outside the interval [-I, +I].::
398
+
399
+ sage: # needs sage.symbolic
400
+ sage: conjugate(asinh(x))
401
+ conjugate(arcsinh(x))
402
+ sage: var('y', domain='positive')
403
+ y
404
+ sage: conjugate(asinh(y))
405
+ arcsinh(y)
406
+ sage: conjugate(asinh(y+I))
407
+ conjugate(arcsinh(y + I))
408
+ sage: conjugate(asinh(1/16))
409
+ arcsinh(1/16)
410
+ sage: conjugate(asinh(I/2))
411
+ arcsinh(-1/2*I)
412
+ sage: conjugate(asinh(2*I))
413
+ conjugate(arcsinh(2*I))
414
+
415
+ TESTS::
416
+
417
+ sage: asinh(x).operator() # needs sage.symbolic
418
+ arcsinh
419
+ sage: latex(asinh(x)) # needs sage.symbolic
420
+ \operatorname{arsinh}\left(x\right)
421
+ sage: asinh(x)._sympy_() # needs sympy sage.symbolic
422
+ asinh(x)
423
+ """
424
+ GinacFunction.__init__(self, "arcsinh",
425
+ latex_name=r"\operatorname{arsinh}",
426
+ conversions=dict(maxima='asinh', sympy='asinh', fricas='asinh',
427
+ giac='asinh', mathematica='ArcSinh'))
428
+
429
+
430
+ arcsinh = asinh = Function_arcsinh()
431
+
432
+
433
+ class Function_arccosh(GinacFunction):
434
+ def __init__(self):
435
+ r"""
436
+ The inverse of the hyperbolic cosine function.
437
+
438
+ EXAMPLES::
439
+
440
+ sage: # needs sage.symbolic
441
+ sage: acosh(1/2)
442
+ arccosh(1/2)
443
+ sage: acosh(1 + I*1.0)
444
+ 1.06127506190504 + 0.904556894302381*I
445
+ sage: float(acosh(2))
446
+ 1.3169578969248168
447
+ sage: cosh(float(acosh(2)))
448
+ 2.0
449
+
450
+ sage: acosh(complex(1, 2)) # abs tol 1e-15 # needs sage.rings.complex_double
451
+ (1.5285709194809982+1.1437177404024204j)
452
+
453
+ .. warning::
454
+
455
+ If the input is in the complex field or symbolic (which
456
+ includes rational and integer input), the output will
457
+ be complex. However, if the input is a real decimal, the
458
+ output will be real or `NaN`. See the examples for details.
459
+
460
+ ::
461
+
462
+ sage: acosh(CC(0.5)) # needs sage.libs.pari sage.rings.real_mpfr
463
+ 1.04719755119660*I
464
+
465
+ sage: # needs sage.symbolic
466
+ sage: acosh(0.5)
467
+ NaN
468
+ sage: acosh(1/2)
469
+ arccosh(1/2)
470
+ sage: acosh(1/2).n()
471
+ NaN
472
+ sage: acosh(0)
473
+ 1/2*I*pi
474
+ sage: acosh(-1)
475
+ I*pi
476
+
477
+ To prevent automatic evaluation use the ``hold`` argument::
478
+
479
+ sage: acosh(-1, hold=True) # needs sage.symbolic
480
+ arccosh(-1)
481
+
482
+ To then evaluate again, use the ``unhold`` method::
483
+
484
+ sage: acosh(-1, hold=True).unhold() # needs sage.symbolic
485
+ I*pi
486
+
487
+ ``conjugate(arccosh(x))==arccosh(conjugate(x))`` unless on the branch
488
+ cut which runs along the real axis from +1 to -inf.::
489
+
490
+ sage: # needs sage.symbolic
491
+ sage: conjugate(acosh(x))
492
+ conjugate(arccosh(x))
493
+ sage: var('y', domain='positive')
494
+ y
495
+ sage: conjugate(acosh(y))
496
+ conjugate(arccosh(y))
497
+ sage: conjugate(acosh(y+I))
498
+ conjugate(arccosh(y + I))
499
+ sage: conjugate(acosh(1/16))
500
+ conjugate(arccosh(1/16))
501
+ sage: conjugate(acosh(2))
502
+ arccosh(2)
503
+ sage: conjugate(acosh(I/2))
504
+ arccosh(-1/2*I)
505
+
506
+ TESTS::
507
+
508
+ sage: acosh(x).operator() # needs sage.symbolic
509
+ arccosh
510
+ sage: latex(acosh(x)) # needs sage.symbolic
511
+ \operatorname{arcosh}\left(x\right)
512
+ sage: acosh(x)._sympy_() # needs sympy sage.symbolic
513
+ acosh(x)
514
+ """
515
+ GinacFunction.__init__(self, "arccosh",
516
+ latex_name=r"\operatorname{arcosh}",
517
+ conversions=dict(maxima='acosh', sympy='acosh', fricas='acosh',
518
+ giac='acosh', mathematica='ArcCosh'))
519
+
520
+
521
+ arccosh = acosh = Function_arccosh()
522
+
523
+
524
+ class Function_arctanh(GinacFunction):
525
+ def __init__(self):
526
+ r"""
527
+ The inverse of the hyperbolic tangent function.
528
+
529
+ EXAMPLES::
530
+
531
+ sage: atanh(0.5) # needs sage.rings.real_mpfr
532
+ 0.549306144334055
533
+ sage: atanh(1/2) # needs sage.symbolic
534
+ 1/2*log(3)
535
+ sage: atanh(1 + I*1.0) # needs sage.symbolic
536
+ 0.402359478108525 + 1.01722196789785*I
537
+
538
+ To prevent automatic evaluation use the ``hold`` argument::
539
+
540
+ sage: atanh(-1/2, hold=True) # needs sage.symbolic
541
+ arctanh(-1/2)
542
+
543
+ To then evaluate again, use the ``unhold`` method::
544
+
545
+ sage: atanh(-1/2, hold=True).unhold() # needs sage.symbolic
546
+ -1/2*log(3)
547
+
548
+ ``conjugate(arctanh(x)) == arctanh(conjugate(x))`` unless on the branch
549
+ cuts which run along the real axis outside the interval [-1, +1]. ::
550
+
551
+ sage: # needs sage.symbolic
552
+ sage: conjugate(atanh(x))
553
+ conjugate(arctanh(x))
554
+ sage: var('y', domain='positive')
555
+ y
556
+ sage: conjugate(atanh(y))
557
+ conjugate(arctanh(y))
558
+ sage: conjugate(atanh(y + I))
559
+ conjugate(arctanh(y + I))
560
+ sage: conjugate(atanh(1/16))
561
+ 1/2*log(17/15)
562
+ sage: conjugate(atanh(I/2))
563
+ arctanh(-1/2*I)
564
+ sage: conjugate(atanh(-2*I))
565
+ arctanh(2*I)
566
+
567
+ TESTS::
568
+
569
+ sage: atanh(x).operator() # needs sage.symbolic
570
+ arctanh
571
+ sage: latex(atanh(x)) # needs sage.symbolic
572
+ \operatorname{artanh}\left(x\right)
573
+ sage: atanh(x)._sympy_() # needs sympy sage.symbolic
574
+ atanh(x)
575
+ """
576
+ GinacFunction.__init__(self, "arctanh",
577
+ latex_name=r"\operatorname{artanh}",
578
+ conversions=dict(maxima='atanh', sympy='atanh', fricas='atanh',
579
+ giac='atanh', mathematica='ArcTanh'))
580
+
581
+
582
+ arctanh = atanh = Function_arctanh()
583
+
584
+
585
+ class Function_arccoth(GinacFunction):
586
+ def __init__(self):
587
+ r"""
588
+ The inverse of the hyperbolic cotangent function.
589
+
590
+ EXAMPLES::
591
+
592
+ sage: # needs sage.symbolic
593
+ sage: acoth(2.0)
594
+ 0.549306144334055
595
+ sage: acoth(2)
596
+ 1/2*log(3)
597
+ sage: acoth(1 + I*1.0)
598
+ 0.402359478108525 - 0.553574358897045*I
599
+ sage: acoth(2).n(200)
600
+ 0.54930614433405484569762261846126285232374527891137472586735
601
+
602
+ sage: bool(diff(acoth(x), x) == diff(atanh(x), x)) # needs sage.symbolic
603
+ True
604
+ sage: diff(acoth(x), x) # needs sage.symbolic
605
+ -1/(x^2 - 1)
606
+
607
+ sage: float(acoth(2)) # needs sage.symbolic
608
+ 0.5493061443340549
609
+ sage: float(acoth(2).n(53)) # Correct result to 53 bits # needs sage.rings.real_mpfr sage.symbolic
610
+ 0.5493061443340549
611
+ sage: float(acoth(2).n(100)) # Compute 100 bits and then round to 53 # needs sage.rings.real_mpfr sage.symbolic
612
+ 0.5493061443340549
613
+
614
+ TESTS::
615
+
616
+ sage: latex(acoth(x)) # needs sage.symbolic
617
+ \operatorname{arcoth}\left(x\right)
618
+ sage: acoth(x)._sympy_() # needs sympy sage.symbolic
619
+ acoth(x)
620
+
621
+ Check that :issue:`23636` is fixed::
622
+
623
+ sage: acoth(float(1.1)) # needs sage.symbolic
624
+ 1.5222612188617113
625
+ """
626
+ GinacFunction.__init__(self, "arccoth",
627
+ latex_name=r"\operatorname{arcoth}",
628
+ conversions=dict(maxima='acoth', sympy='acoth',
629
+ mathematica='ArcCoth',
630
+ giac='acoth', fricas='acoth'))
631
+
632
+ def _eval_numpy_(self, x):
633
+ """
634
+ EXAMPLES::
635
+
636
+ sage: import numpy # needs numpy
637
+ sage: a = numpy.arange(2,5) # needs numpy
638
+ sage: acoth(a) # needs numpy
639
+ array([0.54930614, 0.34657359, 0.25541281])
640
+ """
641
+ return arctanh(1.0 / x)
642
+
643
+
644
+ arccoth = acoth = Function_arccoth()
645
+
646
+
647
+ class Function_arcsech(GinacFunction):
648
+ def __init__(self):
649
+ r"""
650
+ The inverse of the hyperbolic secant function.
651
+
652
+ EXAMPLES::
653
+
654
+ sage: # needs sage.symbolic
655
+ sage: asech(0.5)
656
+ 1.31695789692482
657
+ sage: asech(1/2)
658
+ arcsech(1/2)
659
+ sage: asech(1 + I*1.0)
660
+ 0.530637530952518 - 1.11851787964371*I
661
+ sage: asech(1/2).n(200)
662
+ 1.3169578969248167086250463473079684440269819714675164797685
663
+ sage: float(asech(1/2))
664
+ 1.3169578969248168
665
+
666
+ sage: diff(asech(x), x) # needs sage.symbolic
667
+ -1/(sqrt(-x^2 + 1)*x)
668
+ sage: latex(asech(x)) # needs sage.symbolic
669
+ \operatorname{arsech}\left(x\right)
670
+ sage: asech(x)._sympy_() # needs sympy sage.symbolic
671
+ asech(x)
672
+ """
673
+ GinacFunction.__init__(self, "arcsech",
674
+ latex_name=r"\operatorname{arsech}",
675
+ conversions=dict(maxima='asech', sympy='asech',
676
+ mathematica='ArcSech',
677
+ fricas='asech'))
678
+
679
+ def _eval_numpy_(self, x):
680
+ """
681
+ EXAMPLES::
682
+
683
+ sage: import numpy # needs numpy
684
+ sage: a = numpy.linspace(0,1,3) # needs numpy
685
+ sage: asech(a) # needs numpy
686
+ doctest:...: RuntimeWarning: divide by zero encountered in ...divide
687
+ array([ inf, 1.3169579, 0. ])
688
+ """
689
+ return arccosh(1.0 / x)
690
+
691
+
692
+ arcsech = asech = Function_arcsech()
693
+
694
+
695
+ class Function_arccsch(GinacFunction):
696
+ def __init__(self):
697
+ r"""
698
+ The inverse of the hyperbolic cosecant function.
699
+
700
+ EXAMPLES::
701
+
702
+ sage: # needs sage.symbolic
703
+ sage: acsch(2.0)
704
+ 0.481211825059603
705
+ sage: acsch(2)
706
+ arccsch(2)
707
+ sage: acsch(1 + I*1.0)
708
+ 0.530637530952518 - 0.452278447151191*I
709
+ sage: acsch(1).n(200)
710
+ 0.88137358701954302523260932497979230902816032826163541075330
711
+ sage: float(acsch(1))
712
+ 0.881373587019543
713
+
714
+ sage: diff(acsch(x), x) # needs sage.symbolic
715
+ -1/(sqrt(x^2 + 1)*x)
716
+ sage: latex(acsch(x)) # needs sage.symbolic
717
+ \operatorname{arcsch}\left(x\right)
718
+
719
+ TESTS:
720
+
721
+ Check that :issue:`20818` is fixed::
722
+
723
+ sage: acsch(float(0.1)) # needs sage.symbolic
724
+ 2.99822295029797
725
+ sage: acsch(x)._sympy_() # needs sympy sage.symbolic
726
+ acsch(x)
727
+ """
728
+ GinacFunction.__init__(self, "arccsch",
729
+ latex_name=r"\operatorname{arcsch}",
730
+ conversions=dict(maxima='acsch',
731
+ mathematica='ArcCsch',
732
+ sympy='acsch', fricas='acsch'))
733
+
734
+ def _eval_numpy_(self, x):
735
+ """
736
+ EXAMPLES::
737
+
738
+ sage: import numpy # needs numpy
739
+ sage: a = numpy.linspace(0,1,3) # needs numpy
740
+ sage: acsch(a) # needs numpy
741
+ doctest:...: RuntimeWarning: divide by zero encountered in ...divide
742
+ array([ inf, 1.44363548, 0.88137359])
743
+ """
744
+ return arcsinh(1.0 / x)
745
+
746
+
747
+ arccsch = acsch = Function_arccsch()