--- ais/ai-00185.txt 2001/09/08 01:42:47 1.7 +++ ais/ai-00185.txt 2001/09/13 01:16:20 1.8 @@ -1,4 +1,7 @@ -!standard G.1.2 (15) 01-09-07 AI95-00185/04 +!standard G.1.2 (15) 01-09-11 AI95-00185/04 +!standard G.1.2 (16) +!standard G.1.2 (17) +!standard G.1.2 (20) !class binding interpretation 97-03-19 !status ARG approved 5-0-3 01-05-20 !status work item 99-09-18 @@ -16,7 +19,8 @@ of -1.0 or the right of 1.0. The real component of the result of the Arctan and Arcsinh functions is -discontinuous as the parameter X crosses the imaginary axis below -i or above i. +discontinuous as the parameter X crosses the imaginary axis below -i or +above i. The real component of the result of the Arccot function is discontinuous as the parameter X crosses the imaginary axis below -i or above i. @@ -32,9 +36,9 @@ !question -The definition of the branch cuts in RM95 G.1.2(15-17) seem contradictory with -other rules regarding these functions, and inconsistent with common mathematical -practice. +The definition of the branch cuts in G.1.2(15-17) seems contradictory with +other rules regarding these functions, and inconsistent with common +mathematical practice. !recommendation @@ -46,23 +50,23 @@ !discussion -The RM description of these functions contains contradictions. Fortunately, -these are easily resolved if we assume the (ideal) functions over the complex -plane are meant to be analytic continuations of the (ideal) same-named -functions in Ada.Numerics.Generic_Elementary_Functions. (For Arctan and -Arccot, it is necessary to use the one-argument function derived by using the -default argument of the two-argument function.) This is consistent with normal -mathematical usage, and desirable in its own right. +The description of these functions in the standard contains contradictions. +Fortunately, these are easily resolved if we assume the (ideal) functions +over the complex plane are meant to be analytic continuations of the (ideal) +same-named functions in Ada.Numerics.Generic_Elementary_Functions. (For Arctan +and Arccot, it is necessary to use the one-argument function derived by using +the default argument of the two-argument function.) This is consistent with +normal mathematical usage, and desirable in its own right. G.1.2(17) defines the branch cut of Arccot as follows: -"The real component of the result of the Arccot function is discontinuous as -the parameter X crosses the imaginary axis between -i and i." + The real component of the result of the Arccot function is discontinuous as + the parameter X crosses the imaginary axis between -i and i. G.1.2(24) defines the principal value of Arccot as follows: -"The real component of the result of the Arccot function ranges from 0.0 to -approximately Pi." + The real component of the result of the Arccot function ranges from 0.0 to + approximately Pi. These two paragraphs contradict each other. Consider what happens when X is real and close to 0.0. The multi-valued Arccot of 0.0 is any odd multiple of @@ -75,16 +79,16 @@ arguments cannot have a branch cut crossing the real axis. What must be changed here is the location of the cut. -Now consider the rules related to Arcsin: +Now consider the rules related to Arcsin, G.1.2(15): -"The real component of the result of the Arcsin function is discontinuous as -the parameter X crosses the real axis to the left of -1.0 or the right of 1.0." -(RM95 G.1.2(15)) + The real component of the result of the Arcsin function is discontinuous as + the parameter X crosses the real axis to the left of -1.0 or the right of + 1.0. -and: +and G.1.2(23): -"The range of the real component of the result of the Arcsin function is -approximately -Pi/2.0 to Pi/2.0." (RM95 G.1.2(23)) + The range of the real component of the result of the Arcsin function is + approximately -Pi/2.0 to Pi/2.0. Remember that if Y is a result of the multi-valued Arcsin, Pi - Y and Y + 2.0 * Pi are also results. @@ -99,17 +103,65 @@ When B > 0.0, the real part of Y is slightly above Pi / 2.0. In order to keep the real part of Arcsin (X) in the range -Pi / 2.0 .. Pi / 2.0, we have to use Y when B < 0.0 and Pi - Y when B > 0.0. This cause the imaginary part to -become discontinuous. This illustrates that for this RM95 G.1.2(23) requires +become discontinuous. This illustrates that G.1.2(23) requires that the imaginary part, not the real part, be discontinuous when X crosses the real axis to the right of 1.0. A similar analysis could be performed for X to the left of -1.0 and for Arccos and Arcsinh. For these cases, the description of the cuts is accurate, and -what must change is the description of the properties of the functions. +what must be changed is the characterization of whether the real part or the +imaginary part is discontinuous. The rules given in the !summary follow from the assumption that the functions on the complex plane are meant to be analytic continuations of the corresponding functions on the real line. + +!corrigendum G.1.2(15) + +@drepl +@xindent<The real (resp., imaginary) component of the result of the Arcsin and +Arccos (resp., Arctanh) functions is discontinuous as the parameter X +crosses the real axis to the left of -1.0 or the right of 1.0.> +@dby +@xindent<The imaginary component of the result of the Arcsin, Arccos, +and Arctanh functions is discontinuous as the parameter X crosses the real axis +to the left of -1.0 or the right of 1.0.> + +!corrigendum G.1.2(16) + +@drepl +@xindent<The real (resp., imaginary) component of the result of the Arctan +(resp., Arcsinh) function is discontinuous as the parameter X crosses +the imaginary axis below -@i<i> or above @i<i>.> +@dby +@xindent<The real component of the result of the Arctan and Arcsinh functions +is discontinuous as the parameter X crosses the imaginary axis below -@i<i> or +above @i<i>.> + +!corrigendum G.1.2(17) + +@drepl +@xindent<The real component of the result of the Arccot function is +discontinuous as the parameter X crosses the imaginary axis between -@i<i> and +@i<i>.> +@dby +@xindent<The real component of the result of the Arccot function is +discontinuous as the parameter X crosses the imaginary axis below -@i<i> or +above @i<i>.> + +!corrigendum G.1.2(20) + +@drepl +The computed results of the mathematically multivalued functions are +rendered single-valued by the following conventions, which are meant to imply +the principal branch: +@dby +The computed results of the mathematically multivalued functions are rendered +single-valued by the following conventions, which are meant to imply that the +principal branch is an analytic continuation of the corresponding real-valued +function in Ada.Numerics.Generic_Elementary_Functions. (For Arctan and Arccot, +the single-argument function in question is that obtained from the two-argument +version by fixing the second argument to be its default value.) !appendix

Questions? Ask the ACAA Technical Agent