I’ve written a number of posts about making use of trig capabilities to inverse trig capabilities. I meant to put in writing two posts, one in regards to the three primary trig capabilities and one about their hyperbolic counterparts. However there’s extra to discover right here than I assumed at first. For instance, the errors that I made within the first submit lead to some extra posts discussing error detection and proofs.
I used to be interested by how Mathematica would deal with these identities. Typically it doesn’t simplify expressions the way in which you count on, and for attention-grabbing causes. It dealt with the round capabilities as you would possibly count on.
So, for instance, for those who enter Sin[ArcCos[x]] it returns √(1 − x²) as within the desk above. Then I added an h on the top of all of the operate names to see whether or not it might reproduce the desk of hyperbolic compositions.
For essentially the most half it did, however not completely. The outcomes have been as anticipated besides when making use of sinh or cosh to arccosh. However Sinh[ArcCosh[x]] returns
and Tanh[ArcCosh[x]] returns
Why doesn’t Mathematica simplify as anticipated?
Why didn’t Sinh[ ArcCosh[x] ] simply return √(x² − 1)? The expression it returned is equal to this: simply sq. the (x + 1) time period, carry it inside the novel, and simplify. That line of reasoning is appropriate for some values of x however not for others. For instance, Sinh[ArcCosh[2]] returns −√3 however √(3² − 1) = √3. The expression Mathematica returns for Sinh[ArcCosh[x]] accurately evaluates to −√3.
Defining ArcCosh
To grasp what’s happening, we’ve to look nearer at what arccosh(x) means. You would possibly say it’s a operate that returns the quantity whose hyperbolic cosine equals x. However cosh is a fair operate: cosh(−x) = cosh(x), so we are able to’t say the worth. OK, so we outline arccosh(x) to be the constructive quantity whose hyperbolic cosine equals x. That works for actual values of x which might be no less than 1. However what will we imply by, for instance, arccosh(1/2)? There is no such thing as a actual quantity y such that cosh(y) = 1/2.
To carefully outline inverse hyperbolic cosine, we have to make a department reduce. We can not outline arccosh as an analytic operate over the complete advanced airplane. But when we take away (−∞, 1], we are able to. We outline arccosh(x) for actual x > 1 to be the constructive actual quantity y such that cosh(y) = x, and outline it for the remainder of the advanced airplane (with our department reduce (−∞, 1] eliminated) by analytic continuation.
If we glance up ArcCosh in Mathematica’s documentation, it says “ArcCosh[z] has a department reduce discontinuity within the advanced z airplane working from −∞ to +1.” However what about values of x that lie on the department reduce? For instance, we checked out ArcCosh[-2] above. We are able to prolong arccosh to the complete advanced airplane, however we can not prolong it as an analytic operate.
So how will we outline arccosh(x) for x in (−∞, 1]? We might outline it to be the restrict of arccosh(z) as z approaches x for values of z not on the department reduce. However we’ve to select: will we strategy x from above or from under? That’s, we are able to outline arccosh(x) for actual x ≤ 1 by
or by
however we’ve to select as a result of the 2 limits aren’t the identical. For instance, Sinh[ArcCosh[-2 + 0.001 I]] returns 11.214 + 2.89845 I however Sinh[ArcCosh[-2 + 0.001 I]] returns 11.214 - 2.89845 I. By conference, we select the restrict from above.
Defining sq. root
The place did we go incorrect once we assumed Mathematica’s expression for sinh(arccosh(x))
may very well be simplified to √(x² − 1)? We implicitly assumed √(x + 1)² = (x + 1). And that’s true, if x ≥ − 1, however not for smaller x. Simply as we’ve watch out about how we outline arccosh, we’ve to watch out about how we outline sq. root.
The method of defining the sq. root operate for all advanced numbers is analogous to the method of defining arccosh. First, we outline sq. root to be what we count on for constructive actual numbers. Then we make a department reduce, on this case (−∞, 0]. Then we outline it by analytic continuation for all values not on the reduce. Then lastly, we outline it alongside the reduce by continuity, taking the restrict from above.
As soon as we’ve outlined arccosh and sq. root fastidiously, we are able to see that the expressions Mathematica returns for sinh(arccosh(x)) and tanh(arccosh(x)) are appropriate for all advanced inputs, whereas the less complicated expressions within the desk above implicitly assume we’re working with values of x for which arccosh(x) is actual.
Making assumptions express
If we’re solely involved with values of x ≥ − 1 we are able to inform Mathematica this, and it’ll simplify expressions accordingly. If we ask it for
Simplify[Sinh[ArcCosh[x]], Assumptions -> {x >= -1}]
it can return √(x² − 1).
