Artanh
Generated from the engine's own definition: compute-engine's symbol, which we neither extend nor document by hand.
Inverse hyperbolic tangent (area hyperbolic tangent).
✓ checked against that system · ! checked, with disagreements (hover a chip)DLMF
4.37.ii.p1FungrimAtanh!Fungrim entryWolfram LanguageArcTanh!Artanh(complex | signed_infinity) -> numberas compute-engine declares itSageMath
arctanh(complex | signed_infinity)SymPyatanh(complex | signed_infinity)mpmathatanh(complex | signed_infinity)Juliaenumeratio_ball(_atanh, complex | signed_infinity)Rustatanh(complex | signed_infinity)Artanh(complex | signed_infinity | ~oo) -> Indeterminate | number | signed_infinityInverse hyperbolic tangent (area hyperbolic tangent).SageMath
arctanh(complex | signed_infinity | ~oo)SymPyatanh(complex | signed_infinity | ~oo)mpmathatanh(complex | signed_infinity | ~oo)Juliaenumeratio_ball(_atanh, complex | signed_infinity | ~oo)Rustatanh(complex | signed_infinity | ~oo)Typed signatures
| Type | Package | Applies |
|---|---|---|
(complex | quantity | signed_infinity) -> number | analyticreplaces compute-engine | always |
(complex | quantity | signed_infinity) -> number | compute-engine | always |
Details
- Differs from Wolfram: past its real domain a rational argument reduces to the exact principal value, on every inverse trigonometric and hyperbolic head alike (Arcsin, Arccos, Arcsec, Arccsc, Arcosh, Artanh, Arcoth, Arsech); Wolfram leaves the exact call unevaluated and gives the same number from
N[...]. Checked against mpmath andwolframscripton a grid of rationals to double precision. A float andN(...)already took the same branch. Compiled code is separate: the JavaScript target is real-valued (NaN past the domain), the WGSL target returns a complex pair, and Arcsin and Arccos decline to compile. Principal branch, cuts on and : past 1 the value is the limit from below, (mpmathatanh(2); Wolfram'sArcTanh[2.]agrees), and oddness gives the other cut.
Examples
Scope #
Possible issues #
Artanh(ComplexInfinity) is Indeterminate -- the sign of the boundary value depends on which side of the branch cut z approaches from
live ↗Known value · DLMF 4.37.24
About
| Examples | 10 |
|---|---|
| Checked against | Wolfram Language 8 agree2 differSageMath 7 agree2 differ1 errorSymPy 8 agree1 differmpmath 5 agreeJulia 4 agree1 errorRust 2 agree2 error |
| Crosswalk | DLMFFungrimFungrim entry ×7Wolfram LanguageSageMathSymPympmathJuliaRust |
Implementation
mapped
sympypackages/oracle/src/mappings.tsmapped
mpmathpackages/oracle/src/mappings.tsmapped
sagepackages/oracle/src/mappings.tsmapped
juliapackages/oracle/src/mappings.tsmapped
rustpackages/oracle/src/mappings.ts