axiom-developer
[Top][All Lists]

## [Axiom-developer] 20080505.02.tpd.patch (CATS Schams-Axiom branch cut an

 From: daly Subject: [Axiom-developer] 20080505.02.tpd.patch (CATS Schams-Axiom branch cut analysis) Date: Mon, 5 May 2008 22:29:57 -0500

```Here we try to understand why we cannot find a simplification
that makes these two expressions equal. If the expressions were
equal then we could use them as functions, substitute floating
point values and expect the same numeric results. So we try that here.

The result is that for some of the inverse trigonometric functions,
the branch cut chosen by Schaums and the branch cut chosen by Axiom
differ outside the range of the chosen branch cut. Thus they are not
the same function and cannot be simplified to a constant difference.
Within the range of the cut, Schaums and Axiom agree.

This is not a bug, but a choice that needs to be made, since the
inverse functions are multi-valued.

Tim

========================================================================
diff --git a/changelog b/changelog
index 366d13f..fcc6814 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,4 @@
+20080505 tpd src/input/schaum24.input branch-cut analysis
20080505 tpd src/input/schaum23.input post-mortem fixes
20080505 tpd src/input/schaum22.input post-mortem fixes
20080505 tpd src/input/schaum21.input post-mortem fixes
diff --git a/src/input/schaum24.input.pamphlet
b/src/input/schaum24.input.pamphlet
index 24b4527..71f28d5 100644
--- a/src/input/schaum24.input.pamphlet
+++ b/src/input/schaum24.input.pamphlet
@@ -95,7 +95,7 @@ bb:=(x^2/2-a^2/4)*asin(x/a)+(x*sqrt(a^2-x^2))/4
--R                                                     Type: Expression
Integer
--E

---S 6      14:472 Axiom cannot simplify this expression
+--S 6
cc:=aa-bb
--R
--R                            +---------+
@@ -108,6 +108,145 @@ cc:=aa-bb
--R                                   8
--R                                                     Type: Expression
Integer
--E
+
+@
+Here we try to understand why we cannot find a simplification
+that makes these two expressions equal. If the expressions were
+equal then we could use them as functions, substitute floating
+point values and expect the same numeric results. So we try that here.
+<<*>>=
+)clear all
+@
+This is the initial integrand.
+<<*>>=
+--S 7
+t1:=x*asin(x/a)
+--R
+--R               x
+--R   (1)  x asin(-)
+--R               a
+--R                                                     Type: Expression
Integer
+--E
+@
+This is the integral result provided by Axiom.
+<<*>>=
+--S 8
+t2:=integrate(t1,x)
+--R
+--R                            +---------+
+--R                            |   2    2        +---------+
+--R             2    2      2x\|- x  + a         |   2    2
+--R        (- 2x  + a )atan(--------------) + 2x\|- x  + a
+--R                              2    2
+--R                            2x  - a
+--R   (2)  -------------------------------------------------
+--R                                8
+--R                                          Type: Union(Expression
Integer,...)
+--E
+@
+This is the derivative of the integral computed by Axiom
+<<*>>=
+--S 9
+t3:=D(t2,x)
+--R
+--R                    +---------+
+--R                    |   2    2
+--R                 2x\|- x  + a
+--R          x atan(--------------)
+--R                      2    2
+--R                    2x  - a
+--R   (3)  - ----------------------
+--R                     2
+--R                                                     Type: Expression
Integer
+--E
+@
+This is the integral result provided by Schaums
+<<*>>=
+--S 10
+t4:=(x^2/2-a^2/4)*asin(x/a)+(x*sqrt(a^2-x^2))/4
+--R
+--R          +---------+
+--R          |   2    2       2    2      x
+--R        x\|- x  + a   + (2x  - a )asin(-)
+--R                                       a
+--R   (4)  ---------------------------------
+--R                        4
+--R                                                     Type: Expression
Integer
+--E
+@
+This is the derivative of the integral of the original function
+according to Schaums.
+<<*>>=
+--S 11
+t5:=D(t4,x)
+--R
+--R   (5)
+--R                                           +---------+
+--R                 +---------+               |   2    2
+---------+
+--R              x  |   2    2        2    3  |- x  + a        2    2  |   2
2
+--R   (4a x asin(-)\|- x  + a   - 2a x  + a ) |---------  + (2x  - a )\|- x  +
a
+--R              a                            |     2
+--R                                          \|    a
+--R
----------------------------------------------------------------------------
+--R                                           +---------+
+--R                               +---------+ |   2    2
+--R                               |   2    2  |- x  + a
+--R                            4a\|- x  + a   |---------
+--R                                           |     2
+--R                                          \|    a
+--R                                                     Type: Expression
Integer
+--E
+@
+Now we create a function for computing the integrand's values.
+<<*>>=
+--S 12
+f:=makeFloatFunction(t1,x,a)
+--I   Compiling function %BF with type (DoubleFloat,DoubleFloat) ->
+--R      DoubleFloat
+--R
+--I   (6)  theMap(MKBCFUNC;binaryFunction;SM;2!0,120)
+--R                             Type: ((DoubleFloat,DoubleFloat) ->
DoubleFloat)
+--E
+@
+Now we create a function for computing Axiom's values for its integrand.
+<<*>>=
+--S 13
+axiom:=makeFloatFunction(t3,x,a)
+--I   Compiling function %BJ with type (DoubleFloat,DoubleFloat) ->
+--R      DoubleFloat
+--R
+--I   (7)  theMap(MKBCFUNC;binaryFunction;SM;2!0,996)
+--R                             Type: ((DoubleFloat,DoubleFloat) ->
DoubleFloat)
+--E
+@
+Now we create a function for computing Schams values for its integrand.
+<<*>>=
+--S 14
+schaums:=makeFloatFunction(t5,x,a)
+--I   Compiling function %BK with type (DoubleFloat,DoubleFloat) ->
+--R      DoubleFloat
+--R
+--I   (8)  theMap(MKBCFUNC;binaryFunction;SM;2!0,62)
+--R                             Type: ((DoubleFloat,DoubleFloat) ->
DoubleFloat)
+--E
+@
+And now we compute the floating point values for each function
+and compare the results. As can be clearly seen, the Axiom result
+lies on a different branch cut from the Schaums result and the
+functions are only equal within the branch cut range. This is a
+generic problem with all of the inverse functions that are
+multi-valued.
+<<*>>=
+--S 15     14:472 Schaums and Axiom agree (modulo branch cuts)
+[
[f(i::Float,i::Float+1.0::Float)::Float,axiom(i::Float,i::Float+1.0::Float)::Float,schaums(i::Float,i::Float+1.0::Float)::Float]
for i in 1..4]
+--R
+--R   (9)
+--R   [[0.5235987755 9829892668,0.5235987755 9829892668,0.5235987755
9829881566],
+--R    [1.4594553124 539326738,1.4594553124 539326738,1.4594553124 539324518],
+--R    [2.5441862369 444430136,- 2.1682027434 402466604,2.5441862369
444430136],
+--R    [3.7091808720 064496363,- 2.5740044351 731374839,3.7091808720
064500804]]
+--R                                                        Type: List List
Float
+--E
@

\section{\cite{1}:14.473~~~~~\$\displaystyle
@@ -118,7 +257,7 @@ \$\$
<<*>>=
)clear all

---S 7
+--S 16
aa:=integrate(x^2*asin(x/a),x)
--R
--R
@@ -133,7 +272,7 @@ aa:=integrate(x^2*asin(x/a),x)
--R                                          Type: Union(Expression
Integer,...)
--E

---S 8
+--S 17
bb:=x^3/3*asin(x/a)+((x^2+2*a^2)*sqrt(a^2-x^2))/9
--R
--R                   +---------+
@@ -145,7 +284,7 @@ bb:=x^3/3*asin(x/a)+((x^2+2*a^2)*sqrt(a^2-x^2))/9
--R                                                     Type: Expression
Integer
--E

---S 9      14:473 Axiom cannot simplify this expression
+--S 18     14:473 Axiom cannot simplify this expression
cc:=aa-bb
--R
--R                    +---------+
@@ -170,7 +309,7 @@ \$\$
<<*>>=
)clear all

---S 10     14:474 Axiom cannot compute this integral
+--S 19     14:474 Axiom cannot compute this integral
aa:=integrate(asin(x/a)/x,x)
--R
--R
@@ -192,7 +331,7 @@ \$\$
<<*>>=
)clear all

---S 11
+--S 20
aa:=integrate(asin(x/a)/x^2,x)
--R
--R
@@ -208,7 +347,7 @@ aa:=integrate(asin(x/a)/x^2,x)
--R                                          Type: Union(Expression
Integer,...)
--E

---S 12
+--S 21
bb:=-asin(x/a)/x-1/a*log((a+sqrt(a^2-x^2))/x)
--R
--R                 +---------+
@@ -221,7 +360,7 @@ bb:=-asin(x/a)/x-1/a*log((a+sqrt(a^2-x^2))/x)
--R                                                     Type: Expression
Integer
--E

---S 13     14:475 Axiom cannot simplify this expression
+--S 22     14:475 Axiom cannot simplify this expression
cc:=aa-bb
--R
--R   (3)
@@ -249,7 +388,7 @@ \$\$
<<*>>=
)clear all

---S 14
+--S 23
aa:=integrate(asin(x/a)^2,x)
--R
--R
@@ -264,7 +403,7 @@ aa:=integrate(asin(x/a)^2,x)
--R                                          Type: Union(Expression
Integer,...)
--E

---S 15
+--S 24
bb:=x*asin(x/a)^2-2*x+2*sqrt(a^2-x^2)*asin(x/a)
--R
--R                 +---------+
@@ -274,7 +413,7 @@ bb:=x*asin(x/a)^2-2*x+2*sqrt(a^2-x^2)*asin(x/a)
--R                                                     Type: Expression
Integer
--E

---S 16     14:476 Axiom cannot simplify this expression
+--S 25     14:476 Axiom cannot simplify this expression
cc:=aa-bb
--R
--R   (3)
@@ -303,7 +442,7 @@ \$\$
<<*>>=
)clear all

---S 17
+--S 26
aa:=integrate(acos(x/a),x)
--R
--R
@@ -318,7 +457,7 @@ aa:=integrate(acos(x/a),x)
--R                                          Type: Union(Expression
Integer,...)
--E

---S 18
+--S 27
bb:=x*acos(x/a)-sqrt(a^2-x^2)
--R
--R           +---------+
@@ -328,7 +467,7 @@ bb:=x*acos(x/a)-sqrt(a^2-x^2)
--R                                                     Type: Expression
Integer
--E

---S 19     14:477 Axiom cannot simplify this expression
+--S 28     14:477 Axiom cannot simplify this expression
cc:=aa-bb
--R
--R                  +---------+
@@ -352,7 +491,7 @@ \$\$
<<*>>=
)clear all

---S 20
+--S 29
aa:=integrate(x*acos(x/a),x)
--R
--R
@@ -367,7 +506,7 @@ aa:=integrate(x*acos(x/a),x)
--R                                          Type: Union(Expression
Integer,...)
--E

---S 21
+--S 30
bb:=(x^2/2-a^2/4)*acos(x/a)-(x*sqrt(a^2-x^2))/4
--R
--R            +---------+
@@ -379,7 +518,7 @@ bb:=(x^2/2-a^2/4)*acos(x/a)-(x*sqrt(a^2-x^2))/4
--R                                                     Type: Expression
Integer
--E

---S 22     14:478 Axiom cannot simplify this expression
+--S 31     14:478 Axiom cannot simplify this expression
cc:=aa-bb
--R
--R                          +---------+
@@ -402,7 +541,7 @@ \$\$
<<*>>=
)clear all

---S 23
+--S 32
aa:=integrate(x^2*acos(x/a),x)
--R
--R
@@ -417,7 +556,7 @@ aa:=integrate(x^2*acos(x/a),x)
--R                                          Type: Union(Expression
Integer,...)
--E

---S 24
+--S 33
bb:=x^3/3*acos(x/a)-((x^2+2*a^2)*sqrt(a^2-x^2))/9
--R
--R                     +---------+
@@ -429,7 +568,7 @@ bb:=x^3/3*acos(x/a)-((x^2+2*a^2)*sqrt(a^2-x^2))/9
--R                                                     Type: Expression
Integer
--E

---S 25     14:479 Axiom cannot simplify this expression
+--S 34     14:479 Axiom cannot simplify this expression
cc:=aa-bb
--R
--R                  +---------+
@@ -452,7 +591,7 @@ \$\$
<<*>>=
)clear all

---S 26     14:480 Axiom cannot compute this integral
+--S 35     14:480 Axiom cannot compute this integral
aa:=integrate(acos(x/a)/x,x)
--R
--R
@@ -473,7 +612,7 @@ \$\$
<<*>>=
)clear all

---S 27
+--S 36
aa:=integrate(acos(x/a)/x^2,x)
--R
--R
@@ -489,7 +628,7 @@ aa:=integrate(acos(x/a)/x^2,x)
--R                                          Type: Union(Expression
Integer,...)
--E

---S 28
+--S 37
bb:=-acos(x/a)/x+1/a*log((a+sqrt(a^2-x^2))/x)
--R
--R               +---------+
@@ -502,7 +641,7 @@ bb:=-acos(x/a)/x+1/a*log((a+sqrt(a^2-x^2))/x)
--R                                                     Type: Expression
Integer
--E

---S 29     14:481 Axiom cannot simplify this expression
+--S 38     14:481 Axiom cannot simplify this expression
cc:=aa-bb
--R
--R   (3)
@@ -530,7 +669,7 @@ \$\$
<<*>>=
)clear all

---S 30
+--S 39
aa:=integrate(acos(x/a)^2,x)
--R
--R
@@ -545,7 +684,7 @@ aa:=integrate(acos(x/a)^2,x)
--R                                          Type: Union(Expression
Integer,...)
--E

---S 31
+--S 40
bb:=x*acos(x/a)^2-2*x-2*sqrt(a^2-x^2)*acos(x/a)
--R
--R                   +---------+
@@ -555,7 +694,7 @@ bb:=x*acos(x/a)^2-2*x-2*sqrt(a^2-x^2)*acos(x/a)
--R                                                     Type: Expression
Integer
--E

---S 32     14:482 Axiom cannot simplify this expression
+--S 41     14:482 Axiom cannot simplify this expression
cc:=aa-bb
--R
--R   (3)
@@ -584,7 +723,7 @@ \$\$
<<*>>=
)clear all

---S 33
+--S 42
aa:=integrate(atan(x/a),x)
--R
--R
@@ -597,7 +736,7 @@ aa:=integrate(atan(x/a),x)
--R                                          Type: Union(Expression
Integer,...)
--E

---S 34
+--S 43
bb:=x*atan(x/a)-a/2*log(x^2+a^2)
--R
--R                 2    2            x
@@ -608,7 +747,7 @@ bb:=x*atan(x/a)-a/2*log(x^2+a^2)
--R                                                     Type: Expression
Integer
--E

---S 35
+--S 44
cc:=aa-bb
--R
--R                  x             2a x
@@ -620,7 +759,7 @@ cc:=aa-bb
--R                                                     Type: Expression
Integer
--E

---S 36
+--S 45
atanrule:=rule(atan(x) == -%i/2*log((1+%i*x)/(1-%i*x)))
--R
--R                            - x + %i
@@ -631,7 +770,7 @@ atanrule:=rule(atan(x) == -%i/2*log((1+%i*x)/(1-%i*x)))
--R        Type: RewriteRule(Integer,Complex Integer,Expression Complex
Integer)
--E

---S 37
+--S 46
dd:=atanrule cc
--R
--R                  2              2
@@ -644,7 +783,7 @@ dd:=atanrule cc
--R                                             Type: Expression Complex
Integer
--E

---S 38     14:483 SCHAUMS AND AXIOM DIFFER? (BRANCH CUTS?)
+--S 47     14:483 SCHAUMS AND AXIOM DIFFER? (BRANCH CUTS?)
ee:=expandLog dd
--R
--R        %i x log(- 1)
@@ -662,7 +801,7 @@ \$\$
<<*>>=
)clear all

---S 39     14:484 Axiom cannot compute this integral
+--S 48     14:484 Axiom cannot compute this integral
aa:=integrate(x*tan(x/a),x)
--R
--R
@@ -682,7 +821,7 @@ \$\$
<<*>>=
)clear all

---S 40
+--S 49
aa:=integrate(x^2*atan(x/a),x)
--R
--R
@@ -695,7 +834,7 @@ aa:=integrate(x^2*atan(x/a),x)
--R                                          Type: Union(Expression
Integer,...)
--E

---S 41
+--S 50
bb:=x^3/2*atan(x/a)-(a*x^2)/6+a^3/6*log(x^2+a^2)
--R
--R         3     2    2      3     x       2
@@ -706,7 +845,7 @@ bb:=x^3/2*atan(x/a)-(a*x^2)/6+a^3/6*log(x^2+a^2)
--R                                                     Type: Expression
Integer
--E

---S 42     14:485 Axiom cannot simplify this expression
+--S 51     14:485 Axiom cannot simplify this expression
cc:=aa-bb
--R
--R            3     x     3       2a x
@@ -727,7 +866,7 @@ \$\$
<<*>>=
)clear all

---S 43     14:486 Axiom cannot compute this integral
+--S 52     14:486 Axiom cannot compute this integral
aa:=integrate(atan(x/a)/x,x)
--R
--R
@@ -749,7 +888,7 @@ \$\$
<<*>>=
)clear all

---S 44
+--S 53
aa:=integrate(atan(x/a)/x^2,x)
--R
--R
@@ -762,7 +901,7 @@ aa:=integrate(atan(x/a)/x^2,x)
--R                                          Type: Union(Expression
Integer,...)
--E

---S 45
+--S 54
bb:=-1/x*atan(x/a)-1/(2*a)*log((x^2+a^2)/x^2)
--R
--R                 2    2
@@ -775,7 +914,7 @@ bb:=-1/x*atan(x/a)-1/(2*a)*log((x^2+a^2)/x^2)
--R                                                     Type: Expression
Integer
--E

---S 46
+--S 55
cc:=aa-bb
--R
--R   (3)
@@ -789,7 +928,7 @@ cc:=aa-bb
--R                                                     Type: Expression
Integer
--E

---S 47
+--S 56
atanrule:=rule(atan(x) == -%i/2*log((1+%i*x)/(1-%i*x)))
--R
--R                            - x + %i
@@ -800,7 +939,7 @@ atanrule:=rule(atan(x) == -%i/2*log((1+%i*x)/(1-%i*x)))
--R        Type: RewriteRule(Integer,Complex Integer,Expression Complex
Integer)
--E

---S 48
+--S 57
dd:=atanrule cc
--R
--R   (5)
@@ -820,7 +959,7 @@ dd:=atanrule cc
--R                                             Type: Expression Complex
Integer
--E

---S 49     14:487 SCHAUMS AND AXIOM DIFFER? (branch cuts?)
+--S 58     14:487 SCHAUMS AND AXIOM DIFFER? (branch cuts?)
ee:=expandLog dd
--R
--R          %i log(- 1)
@@ -838,7 +977,7 @@ \$\$
<<*>>=
)clear all

---S 50
+--S 59
aa:=integrate(acot(x/a),x)
--R
--R
@@ -851,7 +990,7 @@ aa:=integrate(acot(x/a),x)
--R                                          Type: Union(Expression
Integer,...)
--E

---S 51
+--S 60
bb:=x*acot(x/a)+a/2*log(x^2+a^2)
--R
--R               2    2            x
@@ -862,7 +1001,7 @@ bb:=x*acot(x/a)+a/2*log(x^2+a^2)
--R                                                     Type: Expression
Integer
--E

---S 52
+--S 61
cc:=aa-bb
--R
--R                 2a x             x
@@ -874,7 +1013,7 @@ cc:=aa-bb
--R                                                     Type: Expression
Integer
--E

---S 53
+--S 62
atanrule:=rule(atan(x) == -%i/2*log((1+%i*x)/(1-%i*x)))
--R
--R                            - x + %i
@@ -885,7 +1024,7 @@ atanrule:=rule(atan(x) == -%i/2*log((1+%i*x)/(1-%i*x)))
--R        Type: RewriteRule(Integer,Complex Integer,Expression Complex
Integer)
--E

---S 54
+--S 63
dd:=atanrule cc
--R
--R                    2              2
@@ -898,7 +1037,7 @@ dd:=atanrule cc
--R                                             Type: Expression Complex
Integer
--E

---S 55
+--S 64
acotrule:=rule(acot(x) == -%i/2*log((%i*x-1)/(%i*x+1)))
--R
--R                            x + %i
@@ -909,7 +1048,7 @@ acotrule:=rule(acot(x) == -%i/2*log((%i*x-1)/(%i*x+1)))
--R        Type: RewriteRule(Integer,Complex Integer,Expression Complex
Integer)
--E

---S 56
+--S 65
ee:=acotrule dd
--R
--R                    2              2
@@ -922,7 +1061,7 @@ ee:=acotrule dd
--R                                             Type: Expression Complex
Integer
--E

---S 57     14:488 Axiom and Schaums agree
+--S 66     14:488 Axiom and Schaums agree
ff:=expandLog %
--R
--R   (8)  0
@@ -938,7 +1077,7 @@ \$\$
<<*>>=
)clear all

---S 58
+--S 67
aa:=integrate(x*acot(x/a),x)
--R
--R
@@ -951,7 +1090,7 @@ aa:=integrate(x*acot(x/a),x)
--R                                          Type: Union(Expression
Integer,...)
--E

---S 59
+--S 68
bb:=1/2*(x^2+a^2)*acot(x/a)+(a*x)/2
--R
--R          2    2      x
@@ -962,7 +1101,7 @@ bb:=1/2*(x^2+a^2)*acot(x/a)+(a*x)/2
--R                                                     Type: Expression
Integer
--E

---S 60
+--S 69
cc:=aa-bb
--R
--R          2    2        2a x          2     2      x
@@ -974,7 +1113,7 @@ cc:=aa-bb
--R                                                     Type: Expression
Integer
--E

---S 61
+--S 70
acotrule:=rule(acot(x) == -%i/2*log((%i*x-1)/(%i*x+1)))
--R
--R                            x + %i
@@ -985,7 +1124,7 @@ acotrule:=rule(acot(x) == -%i/2*log((%i*x-1)/(%i*x+1)))
--R        Type: RewriteRule(Integer,Complex Integer,Expression Complex
Integer)
--E

---S 62
+--S 71
dd:=acotrule cc
--R
--R             2       2     x + %i a      2    2        2a x
@@ -997,7 +1136,7 @@ dd:=acotrule cc
--R                                             Type: Expression Complex
Integer
--E

---S 63
+--S 72
atanrule:=rule(atan(x) == -%i/2*log((1+%i*x)/(1-%i*x)))
--R
--R                            - x + %i
@@ -1008,7 +1147,7 @@ atanrule:=rule(atan(x) == -%i/2*log((1+%i*x)/(1-%i*x)))
--R        Type: RewriteRule(Integer,Complex Integer,Expression Complex
Integer)
--E

---S 64
+--S 73
ee:=atanrule dd
--R
--R   (7)
@@ -1022,7 +1161,7 @@ ee:=atanrule dd
--R                                             Type: Expression Complex
Integer
--E

---S 65     14:489 Axiom and Schaums agree
+--S 74     14:489 Axiom and Schaums agree
ff:=expandLog ee
--R
--R   (8)  0
@@ -1038,7 +1177,7 @@ \$\$
<<*>>=
)clear all

---S 66
+--S 75
aa:=integrate(x^2*acot(x/a),x)
--R
--R
@@ -1051,7 +1190,7 @@ aa:=integrate(x^2*acot(x/a),x)
--R                                          Type: Union(Expression
Integer,...)
--E

---S 67
+--S 76
bb:=x^3/3*acot(x/a)+(a*x^2)/6-a^3/6*log(x^2+a^2)
--R
--R           3     2    2      3     x       2
@@ -1062,7 +1201,7 @@ bb:=x^3/3*acot(x/a)+(a*x^2)/6-a^3/6*log(x^2+a^2)
--R                                                     Type: Expression
Integer
--E

---S 68
+--S 77
cc:=aa-bb
--R
--R         3       2a x       3     x
@@ -1074,7 +1213,7 @@ cc:=aa-bb
--R                                                     Type: Expression
Integer
--E

---S 69
+--S 78
atanrule:=rule(atan(x) == -%i/2*log((1+%i*x)/(1-%i*x)))
--R
--R                            - x + %i
@@ -1085,7 +1224,7 @@ atanrule:=rule(atan(x) == -%i/2*log((1+%i*x)/(1-%i*x)))
--R        Type: RewriteRule(Integer,Complex Integer,Expression Complex
Integer)
--E

---S 70
+--S 79
dd:=atanrule cc
--R
--R                    2              2
@@ -1098,7 +1237,7 @@ dd:=atanrule cc
--R                                             Type: Expression Complex
Integer
--E

---S 71
+--S 80
acotrule:=rule(acot(x) == -%i/2*log((%i*x-1)/(%i*x+1)))
--R
--R                            x + %i
@@ -1109,7 +1248,7 @@ acotrule:=rule(acot(x) == -%i/2*log((%i*x-1)/(%i*x+1)))
--R        Type: RewriteRule(Integer,Complex Integer,Expression Complex
Integer)
--E

---S 72
+--S 81
ee:=acotrule dd
--R
--R                    2              2
@@ -1122,7 +1261,7 @@ ee:=acotrule dd
--R                                             Type: Expression Complex
Integer
--E

---S 73     14:490 Axiom and Schaums agree
+--S 82     14:490 Axiom and Schaums agree
ff:=expandLog ee
--R
--R   (8)  0
@@ -1138,7 +1277,7 @@ \$\$
<<*>>=
)clear all

---S 74     14:491 Axiom cannot compute this integral
+--S 83     14:491 Axiom cannot compute this integral
aa:=integrate(acot(x/a)/x,x)
--R
--R
@@ -1159,7 +1298,7 @@ \$\$
<<*>>=
)clear all

---S 75
+--S 84
aa:=integrate(acot(x/a)/x^2,x)
--R
--R
@@ -1172,7 +1311,7 @@ aa:=integrate(acot(x/a)/x^2,x)
--R                                          Type: Union(Expression
Integer,...)
--E

---S 76
+--S 85
bb:=-acot(x/a)/x+1/(2*a)*log((x^2+a^2)/x^2)
--R
--R               2    2
@@ -1185,7 +1324,7 @@ bb:=-acot(x/a)/x+1/(2*a)*log((x^2+a^2)/x^2)
--R                                                     Type: Expression
Integer
--E

---S 77
+--S 86
cc:=aa-bb
--R
--R   (3)
@@ -1199,7 +1338,7 @@ cc:=aa-bb
--R                                                     Type: Expression
Integer
--E

---S 78
+--S 87
acotrule:=rule(acot(x) == -%i/2*log((%i*x-1)/(%i*x+1)))
--R
--R                            x + %i
@@ -1210,7 +1349,7 @@ acotrule:=rule(acot(x) == -%i/2*log((%i*x-1)/(%i*x+1)))
--R        Type: RewriteRule(Integer,Complex Integer,Expression Complex
Integer)
--E

---S 79
+--S 88
dd:=acotrule cc
--R
--R   (5)
@@ -1229,7 +1368,7 @@ dd:=acotrule cc
--R                                             Type: Expression Complex
Integer
--E

---S 80
+--S 89
atanrule:=rule(atan(x) == -%i/2*log((1+%i*x)/(1-%i*x)))
--R
--R                            - x + %i
@@ -1240,7 +1379,7 @@ atanrule:=rule(atan(x) == -%i/2*log((1+%i*x)/(1-%i*x)))
--R        Type: RewriteRule(Integer,Complex Integer,Expression Complex
Integer)
--E

---S 81
+--S 90
ee:=atanrule dd
--R
--R   (7)
@@ -1260,7 +1399,7 @@ ee:=atanrule dd
--R                                             Type: Expression Complex
Integer
--E

---S 82     14:492 Schaums and Axiom agree
+--S 91     14:492 Schaums and Axiom agree
ff:=expandLog ee
--R
--R   (8)  0
@@ -1286,7 +1425,7 @@ \$\$
<<*>>=
)clear all

---S 83
+--S 92
aa:=integrate(asec(x/a),x)
--R
--R
@@ -1308,7 +1447,7 @@ aa:=integrate(asec(x/a),x)
--R                                          Type: Union(Expression
Integer,...)
--E

---S 84
+--S 93
bb1:=x*asec(x/a)-a*log(x+sqrt(x^2-a^2))
--R
--R                 +-------+
@@ -1318,7 +1457,7 @@ bb1:=x*asec(x/a)-a*log(x+sqrt(x^2-a^2))
--R                                                     Type: Expression
Integer
--E

---S 85
+--S 94
bb2:=x*asec(x/a)+a*log(x+sqrt(x^2-a^2))
--R
--R               +-------+
@@ -1328,7 +1467,7 @@ bb2:=x*asec(x/a)+a*log(x+sqrt(x^2-a^2))
--R                                                     Type: Expression
Integer
--E

---S 86
+--S 95
cc1:=aa-bb1
--R
--R   (4)
@@ -1351,7 +1490,7 @@ cc1:=aa-bb1
--R                                                     Type: Expression
Integer
--E

---S 87     14:493 Axiom cannot simplify these expressions
+--S 96     14:493 Axiom cannot simplify these expressions
cc2:=aa-bb2
--R
--R   (5)
@@ -1393,7 +1532,7 @@ \$\$
<<*>>=
)clear all

---S 88
+--S 97
aa:=integrate(x*asec(x/a),x)
--R
--R
@@ -1408,7 +1547,7 @@ aa:=integrate(x*asec(x/a),x)
--R                                          Type: Union(Expression
Integer,...)
--E

---S 89
+--S 98
bb1:=x^2/2*asec(x/a)-(a*sqrt(x^2-a^2))/2
--R
--R            +-------+
@@ -1420,7 +1559,7 @@ bb1:=x^2/2*asec(x/a)-(a*sqrt(x^2-a^2))/2
--R                                                     Type: Expression
Integer
--E

---S 90
+--S 99
bb2:=x^2/2*asec(x/a)+(a*sqrt(x^2-a^2))/2
--R
--R          +-------+
@@ -1432,7 +1571,7 @@ bb2:=x^2/2*asec(x/a)+(a*sqrt(x^2-a^2))/2
--R                                                     Type: Expression
Integer
--E

---S 91
+--S 100
cc1:=aa-bb1
--R
--R   (4)
@@ -1447,7 +1586,7 @@ cc1:=aa-bb1
--R                                                     Type: Expression
Integer
--E

---S 92     14:494 Axiom cannot simplify these expressions
+--S 101    14:494 Axiom cannot simplify these expressions
cc2:=aa-bb2
--R
--R   (5)
@@ -1488,7 +1627,7 @@ \$\$
<<*>>=
)clear all

---S 93
+--S 102
aa:=integrate(x^2*asec(x/a),x)
--R
--R
@@ -1511,7 +1650,7 @@ aa:=integrate(x^2*asec(x/a),x)
--R                                          Type: Union(Expression
Integer,...)
--E

---S 94
+--S 103
bb1:=x^3/3*asec(x/a)-(a*x*sqrt(x^2-a^2))/6-a^3/6*log(x+sqrt(x^2-a^2))
--R
--R                 +-------+            +-------+
@@ -1523,7 +1662,7 @@
bb1:=x^3/3*asec(x/a)-(a*x*sqrt(x^2-a^2))/6-a^3/6*log(x+sqrt(x^2-a^2))
--R                                                     Type: Expression
Integer
--E

---S 95
+--S 104
bb2:=x^3/3*asec(x/a)+(a*x*sqrt(x^2-a^2))/6+a^3/6*log(x+sqrt(x^2-a^2))
--R
--R               +-------+            +-------+
@@ -1535,7 +1674,7 @@
bb2:=x^3/3*asec(x/a)+(a*x*sqrt(x^2-a^2))/6+a^3/6*log(x+sqrt(x^2-a^2))
--R                                                     Type: Expression
Integer
--E

---S 96
+--S 105
cc1:=aa-bb1
--R
--R   (4)
@@ -1563,7 +1702,7 @@ cc1:=aa-bb1
--R                                                     Type: Expression
Integer
--E

---S 97     14:495 Axiom cannot simplify these expressions
+--S 106     14:495 Axiom cannot simplify these expressions
cc2:=aa-bb2
--R
--R   (5)
@@ -1603,7 +1742,7 @@ \$\$
<<*>>=
)clear all

---S 98     14:496 Axiom cannot compute this integral
+--S 107    14:496 Axiom cannot compute this integral
aa:=integrate(asec(x/a)/x,x)
--R
--R
@@ -1634,7 +1773,7 @@ \$\$
<<*>>=
)clear all

---S 99
+--S 108
aa:=integrate(asec(x/a)/x^2,x)
--R
--R
@@ -1650,7 +1789,7 @@ aa:=integrate(asec(x/a)/x^2,x)
--R                                          Type: Union(Expression
Integer,...)
--E

---S 100
+--S 109
bb1:=-asec(x/a)/x+sqrt(x^2-a^2)/(a*x)
--R
--R         +-------+
@@ -1662,7 +1801,7 @@ bb1:=-asec(x/a)/x+sqrt(x^2-a^2)/(a*x)
--R                                                     Type: Expression
Integer
--E

---S 101
+--S 110
bb2:=-asec(x/a)/x-sqrt(x^2-a^2)/(a*x)
--R
--R           +-------+
@@ -1674,7 +1813,7 @@ bb2:=-asec(x/a)/x-sqrt(x^2-a^2)/(a*x)
--R                                                     Type: Expression
Integer
--E

---S 102
+--S 111
cc1:=aa-bb1
--R
--R   (4)
@@ -1694,7 +1833,7 @@ cc1:=aa-bb1
--R                                                     Type: Expression
Integer
--E

---S 103    14:497 Axiom cannot simplify these expressions
+--S 112    14:497 Axiom cannot simplify these expressions
cc2:=aa-bb2
--R
--R   (5)
@@ -1733,7 +1872,7 @@ \$\$
<<*>>=
)clear all

---S 104
+--S 113
aa:=integrate(acsc(x/a),x)
--R
--R
@@ -1755,7 +1894,7 @@ aa:=integrate(acsc(x/a),x)
--R                                          Type: Union(Expression
Integer,...)
--E

---S 105
+--S 114
bb1:=x*acsc(x/a)+a*log(x+sqrt(x^2-a^2))
--R
--R               +-------+
@@ -1765,7 +1904,7 @@ bb1:=x*acsc(x/a)+a*log(x+sqrt(x^2-a^2))
--R                                                     Type: Expression
Integer
--E

---S 106
+--S 115
bb2:=x*acsc(x/a)-a*log(x+sqrt(x^2-a^2))
--R
--R                 +-------+
@@ -1775,7 +1914,7 @@ bb2:=x*acsc(x/a)-a*log(x+sqrt(x^2-a^2))
--R                                                     Type: Expression
Integer
--E

---S 107
+--S 116
cc1:=aa-bb1
--R
--R   (4)
@@ -1798,7 +1937,7 @@ cc1:=aa-bb1
--R                                                     Type: Expression
Integer
--E

---S 108    14:498 Axiom cannot simplify these expressions
+--S 117    14:498 Axiom cannot simplify these expressions
cc2:=aa-bb2
--R
--R   (5)
@@ -1841,7 +1980,7 @@ \$\$
<<*>>=
)clear all

---S 109
+--S 118
aa:=integrate(x*acsc(x/a),x)
--R
--R
@@ -1856,7 +1995,7 @@ aa:=integrate(x*acsc(x/a),x)
--R                                          Type: Union(Expression
Integer,...)
--E

---S 110
+--S 119
bb1:=x^2/2*acsc(x/a)+(a*sqrt(x^2-a^2))/2
--R
--R          +-------+
@@ -1868,7 +2007,7 @@ bb1:=x^2/2*acsc(x/a)+(a*sqrt(x^2-a^2))/2
--R                                                     Type: Expression
Integer
--E

---S 111
+--S 120
bb2:=x^2/2*acsc(x/a)-(a*sqrt(x^2-a^2))/2
--R
--R            +-------+
@@ -1880,7 +2019,7 @@ bb2:=x^2/2*acsc(x/a)-(a*sqrt(x^2-a^2))/2
--R                                                     Type: Expression
Integer
--E

---S 112
+--S 121
cc1:=aa-bb1
--R
--R   (4)
@@ -1895,7 +2034,7 @@ cc1:=aa-bb1
--R                                                     Type: Expression
Integer
--E

---S 113    14:499 Axiom cannot simplify these expressions
+--S 122    14:499 Axiom cannot simplify these expressions
cc2:=aa-bb2
--R
--R   (5)
@@ -1936,7 +2075,7 @@ \$\$
<<*>>=
)clear all

---S 114
+--S 123
aa:=integrate(x^2*acsc(x/a),x)
--R
--R
@@ -1959,7 +2098,7 @@ aa:=integrate(x^2*acsc(x/a),x)
--R                                          Type: Union(Expression
Integer,...)
--E

---S 115
+--S 124
bb1:=x^3/3*acsc(x/a)+(a*x*sqrt(x^2-a^2))/6+a^3/6*log(x+sqrt(x^2-a^2))
--R
--R               +-------+            +-------+
@@ -1971,7 +2110,7 @@
bb1:=x^3/3*acsc(x/a)+(a*x*sqrt(x^2-a^2))/6+a^3/6*log(x+sqrt(x^2-a^2))
--R                                                     Type: Expression
Integer
--E

---S 116
+--S 125
bb2:=x^3/3*acsc(x/a)-(a*x*sqrt(x^2-a^2))/6-a^3/6*log(x+sqrt(x^2-a^2))
--R
--R                 +-------+            +-------+
@@ -1983,7 +2122,7 @@
bb2:=x^3/3*acsc(x/a)-(a*x*sqrt(x^2-a^2))/6-a^3/6*log(x+sqrt(x^2-a^2))
--R                                                     Type: Expression
Integer
--E

---S 117
+--S 126
cc1:=aa-bb1
--R
--R   (4)
@@ -2011,7 +2150,7 @@ cc1:=aa-bb1
--R                                                     Type: Expression
Integer
--E

---S 118    14:500 Axiom cannot simplify this expression
+--S 127    14:500 Axiom cannot simplify this expression
cc2:=aa-bb2
--R
--R   (5)
@@ -2050,7 +2189,7 @@ \$\$
<<*>>=
)clear all

---S 119    14:501 Axiom cannot compute this integral
+--S 128    14:501 Axiom cannot compute this integral
aa:=integrate(acsc(x/a)/x,x)
--R
--R
@@ -2081,7 +2220,7 @@ \$\$
<<*>>=
)clear all

---S 120
+--S 129
aa:=integrate(acsc(x/a)/x^2,x)
--R
--R
@@ -2097,7 +2236,7 @@ aa:=integrate(acsc(x/a)/x^2,x)
--R                                          Type: Union(Expression
Integer,...)
--E

---S 121
+--S 130
bb1:=-acsc(x/a)/x-sqrt(x^2-a^2)/(a*x)
--R
--R           +-------+
@@ -2109,7 +2248,7 @@ bb1:=-acsc(x/a)/x-sqrt(x^2-a^2)/(a*x)
--R                                                     Type: Expression
Integer
--E

---S 122
+--S 131
bb2:=-acsc(x/a)/x+sqrt(x^2-a^2)/(a*x)
--R
--R         +-------+
@@ -2121,7 +2260,7 @@ bb2:=-acsc(x/a)/x+sqrt(x^2-a^2)/(a*x)
--R                                                     Type: Expression
Integer
--E

---S 123
+--S 132
cc1:=aa-bb1
--R
--R   (4)
@@ -2142,7 +2281,7 @@ cc1:=aa-bb1
--R                                                     Type: Expression
Integer
--E

---S 124    14:502 Axiom cannot simplify this expression
+--S 133    14:502 Axiom cannot simplify this expression
cc2:=aa-bb2
--R
--R   (5)
@@ -2172,7 +2311,7 @@ \$\$
<<*>>=
)clear all

---S 125    14:503 Axiom cannot compute this integral
+--S 134    14:503 Axiom cannot compute this integral
aa:=integrate(x^m*asin(x/a),x)
--R
--R
@@ -2192,7 +2331,7 @@ \$\$
<<*>>=
)clear all

---S 126    14:504 Axiom cannot compute this integral
+--S 135    14:504 Axiom cannot compute this integral
aa:=integrate(x^m*acos(x/a),x)
--R
--R
@@ -2218,7 +2357,7 @@ have the same form but are expressed in terms of asin,
acos, and acot.
<<*>>=
)clear all

---S 127
+--S 136
aa:=integrate(x*m*atan(x/a),x)
--R
--R
@@ -2231,7 +2370,7 @@ aa:=integrate(x*m*atan(x/a),x)
--R                                          Type: Union(Expression
Integer,...)
--E

---S 128
+--S 137
t1:=integrate(x^(m+1)/(x^2+a^2),x)
--E
@
@@ -2243,7 +2382,7 @@ difference from the original formula.
So first we generate the derivative:
<<*>>=

---S 129
+--S 138
bb:=D(aa,x)
--R
--R                     2a x
@@ -2257,7 +2396,7 @@ bb:=D(aa,x)
@
Then we input the original expression
<<*>>=
---S 130
+--S 139
aa1:=x*m*atan(x/a)
--R
--R                 x
@@ -2268,7 +2407,7 @@ aa1:=x*m*atan(x/a)
@
Now we take their difference
<<*>>=
---S 131
+--S 140
dd:=aa1-bb
--R
--R                  x               2a x
@@ -2282,7 +2421,7 @@ dd:=aa1-bb
@
Now we input the atan transformation
<<*>>=
---S 132
+--S 141
atanrule:=rule(atan(x) == -%i/2*log((1+%i*x)/(1-%i*x)))
--R
--R                            - x + %i
@@ -2295,7 +2434,7 @@ atanrule:=rule(atan(x) == -%i/2*log((1+%i*x)/(1-%i*x)))
@
And apply the transformation to the difference
<<*>>=
---S 133
+--S 142
ee:=atanrule dd
--R
--R                      2              2
@@ -2310,7 +2449,7 @@ ee:=atanrule dd
@
And now we simplify
<<*>>=
---S 134    14:505 SCHAUMS AND AXIOM DISAGREE? (branch cuts?)
+--S 143    14:505 SCHAUMS AND AXIOM DISAGREE? (branch cuts?)
ff:=expandLog ee
--R
--R          %i m x log(- 1)
@@ -2332,7 +2471,7 @@ \$\$
<<*>>=
)clear all

---S 135    14:506 Axiom cannot compute this integral
+--S 144    14:506 Axiom cannot compute this integral
aa:=integrate(x^m*acot(x/a),x)
--R
--R
@@ -2362,7 +2501,7 @@ \$\$
<<*>>=
)clear all

---S 136    14:507 Axiom cannot compute this integral
+--S 145    14:507 Axiom cannot compute this integral
aa:=integrate(x^m*asec(x/a),x)
--R
--R
@@ -2392,7 +2531,7 @@ \$\$
<<*>>=
)clear all

---S 137    14:508 Axiom cannot compute this integral
+--S 146    14:508 Axiom cannot compute this integral
aa:=integrate(x^m*acsc(x/a),x)
--R
--R

```