HN
Today

Why Mathematica does not simplify sinh(arccosh(x))

John Cook meticulously dissects why Mathematica's simplification of Sinh[ArcCosh[x]] often diverges from common expectation, revealing the intricate rules governing complex number functions. The article delves into the critical role of branch cuts and rigorous function definitions, showcasing how computational math software adheres to universal mathematical truths. It's popular on HN because it highlights the subtle complexities of seemingly simple mathematical operations and the precision required in symbolic computation.

19
Score
1
Comments
#2
Highest Rank
14h
on Front Page
First Seen
Mar 15, 7:00 AM
Last Seen
Mar 15, 8:00 PM
Rank Over Time
2233561215181721242627

The Lowdown

The article explores a common point of confusion for users of symbolic computation software like Mathematica: why Sinh[ArcCosh[x]] does not always simplify to √(x²-1). Author John Cook meticulously explains that this apparent inconsistency stems from the rigorous definitions of inverse hyperbolic functions and the square root function across the complex plane, particularly the concept of branch cuts.

  • The article begins by comparing how Mathematica handles compositions of circular and hyperbolic inverse trigonometric functions, noting an unexpected result for Sinh[ArcCosh[x]] and Tanh[ArcCosh[x]].
  • It's demonstrated that for certain values, such as x=2, Mathematica's more complex expression for Sinh[ArcCosh[x]] (sqrt((x-1)/(x+1)) * (x+1)) correctly evaluates to -√3, whereas √(x²-1) would yield √3.
  • The core issue lies in the definition of ArcCosh[x] for complex numbers; it requires a branch cut (typically (-∞, 1]) to be an analytic function, and Mathematica defines it using analytic continuation and a specific limit convention (approaching from above the branch cut).
  • Similarly, the square root function √z also has a branch cut (typically (-∞, 0]) and is defined by specific conventions across the complex plane.
  • The simplification √(x+1)² = x+1 is only valid when x >= -1; for x < -1, it should be -(x+1), which Mathematica's general expression correctly accounts for.
  • Users can obtain the simpler √(x²-1) form by providing explicit assumptions to Mathematica, such as x >= -1.

In essence, Mathematica prioritizes mathematical rigor and general correctness across the entire complex plane over intuitive simplification that might only hold for a subset of real numbers. This highlights the deep mathematical principles underpinning symbolic calculation software and why sometimes a "simpler" answer isn't the most universally accurate one.