CVS difference for ais/ai-00185.txt

Differences between 1.2 and version 1.3
Log of other versions for file ais/ai-00185.txt

--- ais/ai-00185.txt	1999/09/23 18:39:39	1.2
+++ ais/ai-00185.txt	2000/12/14 00:10:32	1.3
@@ -139,3 +139,119 @@
 
 
 ****************************************************************
+
+From: Mike Yoder
+On: Monday, December 11, 2000, 5:33 PM
+
+Re: AI95-00185, "Branch cuts of inverse trigonometric and hyperbolic functions"
+
+I agree with the stated conclusions, and with the suggested fix.  I have a
+mathematical quibble with one paragraph; this is given at the end, since it
+affects no conclusions.  In the following, mathematical terminology is as in
+Ahlfors, _Complex Analysis_, 2nd edition.
+
+I had this significant difficulty: though I agree with the fixes, the RM
+language as it stands doesn't imply that the fixes are the right ones.  Nor
+does the Ada 95 Rationale provide any help.  There is, however, a simple
+principle that would make all cases unambiguous for all practical purposes:
+namely, that the (ideal) functions are always analytic continuations of the
+(ideal) functions of the same name over the reals.  (That is, the ones in
+Ada.Numerics.Generic_Elementary_Functions.)  It would be good to make this
+principle explicit somewhere, ideally somewhere preceding the statements in
+G.1.2(12) and G.1.2(20).
+
+By "for all practical purposes" I mean: the remaining ambiguity is removable by
+adding the subsidiary principle that branch cuts are always subsets of the real
+or the imaginary axis.  This is "intuitively obvious" in some sense but is
+perhaps worth stating explicitly for the sake of complete clarity.
+
+The quibble I mentioned is with this paragraph:
+
+>These rules are puzzling, because the natural mathematical definition of
+>Arcsin and Arccos is such that the real part is continuous; it is the
+>imaginary part which has branch cuts.  Similarly, the natural mathematical
+>definition of Arcsinh is such that the imaginary part is continuous; it is the
+>real part which has branch cuts.
+
+I'm pretty sure I know what is meant here by extending the notion of "branch
+cut" to real-valued functions.  I'm dubious about whether this is the right way
+to do so.  For example, the real part of arccos is continuous but not
+differentiable across its cut: its behavior is like that of abs(x) at x=0.  For
+any chosen function among those under discussion (call it 'f'), there is never
+an analytic function in any neighborhood straddling a branch cut of f whose
+real part matches f's real part.  So, I'd prefer to let "branch cut" apply only
+to analytic functions.
+
+****************************************************************
+
+From: Pascal Leroy
+Sent: Wednesday, December 13, 2000 4:15 AM
+Subject: Re: [Ada-Comment] AI-00185
+
+> I had this significant difficulty: though I agree with the fixes, the RM
+> language as it stands doesn't imply that the fixes are the right ones. Nor
+> does the Ada 95 Rationale provide any help.
+
+Agreed.  I looked for guidance in these documents, and couldn't find any, so
+I had to go back to the math textbooks.
+
+> There is, however, a simple
+> principle that would make all cases unambiguous for all practical purposes:
+> namely, that the (ideal) functions are always analytic continuations of the
+> (ideal) functions of the same name over the reals.  (That is, the ones in
+> Ada.Numerics.Generic_Elementary_Functions.)  It would be good to make this
+> principle explicit somewhere, ideally somewhere preceding the statements in
+> G.1.2(12) and G.1.2(20).
+
+Agreed.
+
+> By "for all practical purposes" I mean: the remaining ambiguity is removable
+> by adding the subsidiary principle that branch cuts are always subsets of the
+> real or the imaginary axis.  This is "intuitively obvious" in some sense but
+> is perhaps worth stating explicitly for the sake of complete clarity.
+
+If a complex function is (1) analytic and (2) an extension of the real
+function with the same name, you can _prove_ the following:
+
+1 - The branch cuts are invariant by complex conjugation.
+2 - For odd functions the branch cuts are invariant by reflection in the
+origin.
+3 - The branch cuts begin and end at the points where the function has no
+Taylor/Laurent series expansion.
+
+For the functions at hand, this pretty much constrains the cuts to lie on
+the axes.  So it seems to me that your "subsidiary principle" is
+unnecessary.
+
+> >These rules are puzzling, because the natural mathematical definition of
+> >Arcsin and Arccos is such that the real part is continuous; it is the
+> >imaginary part which has branch cuts.  Similarly, the natural mathematical
+> >definition of Arcsinh is such that the imaginary part is continuous; it is
+> > the real part which has branch cuts.
+>
+> I'm pretty sure I know what is meant here by extending the notion of "branch
+> cut" to real-valued functions.  I'm dubious about whether this is the right
+> way to do so.  For example, the real part of arccos is continuous but not
+> differentiable across its cut: its behavior is like that of abs(x) at x=0.
+> For any chosen function among those under discussion (call it 'f'), there is
+> never an analytic function in any neighborhood straddling a branch cut of f
+> whose real part matches f's real part.  So, I'd prefer to let "branch cut"
+> apply only to analytic functions.
+
+I understand the argument that we should not apply the words "branch cut" to
+a function which is not analytic, and surely the real/imaginary parts of
+these function aren't.  How about replacing "has branch cuts" by "is
+discontinuous" in the above paragraph.  I.e.:
+
+"These rules are puzzling, because the natural mathematical definition of
+Arcsin and Arccos is such that the real part is continuous; it is the
+imaginary part which is discontinuous.  Similarly, the natural mathematical
+definition of Arcsinh is such that the imaginary part is continuous; it is
+the real part which is discontinuous."
+
+Note that at some point I tried to spell out what I meant by "natural
+mathematical definition" (essentially the definition based on the complex
+logarithm) but I gave up because of the difficulty of writing complicated
+mathematical formulas in a plain text file.
+
+****************************************************************

Questions? Ask the ACAA Technical Agent