The derivatives for trig functions in ElementaryFunctions now use the +-> syntax. Additionally, there are new regression tests and a help file for ElementaryFunctions.
======================================================================== diff --git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet index 885f2c7..724f459 100644 --- a/books/bookvol10.4.pamphlet +++ b/books/bookvol10.4.pamphlet @@ -15277,6 +15277,547 @@ EigenPackage(R) : C == T @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{package EF ElementaryFunction} +<<ElementaryFunction.input>>= +)set break resume +)sys rm -f ElementaryFunction.output +)spool ElementaryFunction.output +)set message test on +)set message auto off +)clear all + +--S 1 of 32 +)trace EF +--R +--R +--R Parameterized constructors traced: +--R EF +--E 1 + +--S 2 of 32 +D(cos(3*x+6*y),x) +--I +--I1<enter ElementaryFunction.cos,64 : ((1 #<vector 0941ef18> (1 0 . 6) (0 1 #<vector 0941eee0> (1 0 . 3))) 0 . 1) +--I 1<enter ElementaryFunction.iicos,154 : ((1 #<vector 0941ef18> (1 0 . 6) (0 1 #<vector 0941eee0> (1 0 . 3))) 0 . 1) +--I 1<enter ElementaryFunction.iisqrt2,58 : +--I 1>exit ElementaryFunction.iisqrt2,58 : ((1 #<vector 0917aab8> (1 0 . 1)) 0 . 1) +--I 1<enter ElementaryFunction.iisqrt3,59 : +--I 1>exit ElementaryFunction.iisqrt3,59 : ((1 #<vector 0917a1dc> (1 0 . 1)) 0 . 1) +--I 1<enter ElementaryFunction.specialTrigs,116 : ((1 #<vector 0941ef18> (1 0 . 6) (0 1 #<vector 0941eee0> (1 0 . 3))) 0 . 1)\((((0 . 1) 0 . 1)) (((0 . -1) 0 . 1)) (((0 . 0) 0 . 1)) (((0 . 0) 0 . 1)) (((0 . 1) 0 . 2)) (((0 . -1) 0 . 2)) (((0 . -1) 0 . 2)) (((0 . 1) 0 . 2)) (((1 #<vector 0917aab8> (1 0 . 1)) 0 . 2)) (((1 #<vector 0917aab8> (1 0 . -1)) 0 . 2)) (((1 #<vector 0917aab8> (1 0 . -1)) 0 . 2)) (((1 #<vector 0917aab8> (1 0 . 1)) 0 . 2)) (((1 #<vector 0917a1dc> (1 0 . 1)) 0 . 2)) (((1 #<vector 0917a1dc> (1 0 . -1)) 0 . 2)) (((1 #<vector 0917a1dc> (1 0 . -1)) 0 . 2)) (((1 #<vector 0917a1dc> (1 0 . 1)) 0 . 2))) +--I 1<enter ElementaryFunction.pi,46 : +--I 1>exit ElementaryFunction.pi,46 : ((1 #<vector 090c3a64> (1 0 . 1)) 0 . 1) +--I 1>exit ElementaryFunction.specialTrigs,116 : (1 . "failed") +--I 1>exit ElementaryFunction.iicos,154 : ((1 #<vector 0941ed74> (1 0 . 1)) 0 . 1) +--I1>exit ElementaryFunction.cos,64 : ((1 #<vector 0941ed74> (1 0 . 1)) 0 . 1) +--I1<enter ElementaryFunction.sin,63 : ((1 #<vector 0941ef18> (1 0 . 6) (0 1 #<vector 0941eee0> (1 0 . 3))) 0 . 1) +--I 1<enter ElementaryFunction.iisin,152 : ((1 #<vector 0941ef18> (1 0 . 6) (0 1 #<vector 0941eee0> (1 0 . 3))) 0 . 1) +--I 1<enter ElementaryFunction.iisqrt2,58 : +--I 1>exit ElementaryFunction.iisqrt2,58 : ((1 #<vector 0917aab8> (1 0 . 1)) 0 . 1) +--I 1<enter ElementaryFunction.iisqrt3,59 : +--I 1>exit ElementaryFunction.iisqrt3,59 : ((1 #<vector 0917a1dc> (1 0 . 1)) 0 . 1) +--I 1<enter ElementaryFunction.specialTrigs,116 : ((1 #<vector 0941ef18> (1 0 . 6) (0 1 #<vector 0941eee0> (1 0 . 3))) 0 . 1)\((((0 . 0) 0 . 1)) (((0 . 0) 0 . 1)) (((0 . 1) 0 . 1)) (((0 . -1) 0 . 1)) (((1 #<vector 0917a1dc> (1 0 . 1)) 0 . 2)) (((1 #<vector 0917a1dc> (1 0 . 1)) 0 . 2)) (((1 #<vector 0917a1dc> (1 0 . -1)) 0 . 2)) (((1 #<vector 0917a1dc> (1 0 . -1)) 0 . 2)) (((1 #<vector 0917aab8> (1 0 . 1)) 0 . 2)) (((1 #<vector 0917aab8> (1 0 . 1)) 0 . 2)) (((1 #<vector 0917aab8> (1 0 . -1)) 0 . 2)) (((1 #<vector 0917aab8> (1 0 . -1)) 0 . 2)) (((0 . 1) 0 . 2)) (((0 . 1) 0 . 2)) (((0 . -1) 0 . 2)) (((0 . -1) 0 . 2))) +--I 1<enter ElementaryFunction.pi,46 : +--I 1>exit ElementaryFunction.pi,46 : ((1 #<vector 090c3a64> (1 0 . 1)) 0 . 1) +--I 1>exit ElementaryFunction.specialTrigs,116 : (1 . "failed") +--I 1>exit ElementaryFunction.iisin,152 : ((1 #<vector 0941eb60> (1 0 . 1)) 0 . 1) +--I1>exit ElementaryFunction.sin,63 : ((1 #<vector 0941eb60> (1 0 . 1)) 0 . 1) +--R +--R (1) - 3sin(6y + 3x) +--R Type: Expression Integer +--E 2 + +--S 3 of 32 +)trace )off +--R +--R +--R Nothing is traced now. +--R +--E 3 + + +--S 4 of 32 +D(sin(3*x+6*y),x) +--R +--R +--R (2) 3cos(6y + 3x) +--R Type: Expression Integer +--E 4 + +--S 5 of 32 +D(cos(3*x+6*y),x) +--R +--R +--R (3) - 3sin(6y + 3x) +--R Type: Expression Integer +--E 5 + +@ +Note that both Mathematica and Maxima return this result as +$3 sec(3*x+6*y)^2$ but Maple returns the same result as Axiom. +They are equivalent results. +<<ElementaryFunction.input>>= + +--S 6 of 32 +D(tan(3*x+6*y),x) +--R +--R +--R 2 +--R (4) 3tan(6y + 3x) + 3 +--R Type: Expression Integer +--E 6 + +--S 7 of 32 +simplify ((3*tan(6*y+3*x)^2+3) - (3*sec(3*x+6*y)^2)) +--R +--R +--R (5) 0 +--R Type: Expression Integer +--E 7 + +@ +Note that Mathematica and Maxima return $-3 csc(3x+6y)^2$ +and Maple returns the same form as Axiom. They are equivalent. +<<ElementaryFunction.input>>= + +--S 8 of 32 +D(cot(3*x+6*y),x) +--R +--R +--R 2 +--R (6) - 3cot(6y + 3x) - 3 +--R Type: Expression Integer +--E 8 + +--S 9 of 32 +simplify ((-3*cot(6*y+3*x)^2-3) -(-3*csc(3*x+6*y)^2)) +--R +--R +--R (7) 0 +--R Type: Expression Integer +--E 9 + +--S 10 of 32 +D(sec(3*x+6*y),x) +--R +--R +--R (8) 3sec(6y + 3x)tan(6y + 3x) +--R Type: Expression Integer +--E 10 + +--S 11 of 32 +D(csc(3*x+6*y),x) +--R +--R +--R (9) - 3cot(6y + 3x)csc(6y + 3x) +--R Type: Expression Integer +--E 11 + +--S 12 of 32 +D(asin(3*x+6*y),x) +--R +--R +--R 3 +--R (10) --------------------------- +--R +------------------------+ +--R | 2 2 +--R \|- 36y - 36x y - 9x + 1 +--R Type: Expression Integer +--E 12 + +--S 13 of 32 +D(acos(3*x+6*y),x) +--R +--R +--R 3 +--R (11) - --------------------------- +--R +------------------------+ +--R | 2 2 +--R \|- 36y - 36x y - 9x + 1 +--R Type: Expression Integer +--E 13 + +--S 14 of 32 +D(atan(3*x+6*y),x) +--R +--R +--R 3 +--R (12) ---------------------- +--R 2 2 +--R 36y + 36x y + 9x + 1 +--R Type: Expression Integer +--E 14 + +--S 15 of 32 +D(acot(3*x+6*y),x) +--R +--R +--R 3 +--R (13) - ---------------------- +--R 2 2 +--R 36y + 36x y + 9x + 1 +--R Type: Expression Integer +--E 15 + +@ +Mathematica, Maple, and Maxima give: +\[\frac{3}{(3*x+6*y)^2 \sqrt{1 - \frac{1}{(3*x+6*y)^2}}}\] +which proceeds directly from the formula for the derivative of asec: +\[\frac{d}{dx}arcsec(x) = \frac{1}{x\sqrt{x^2-1}}\] +<<ElementaryFunction.input>>= + +--S 16 of 32 +D(asec(3*x+6*y),x) +--R +--R +--R 1 +--R (14) --------------------------------- +--R +----------------------+ +--R | 2 2 +--R (2y + x)\|36y + 36x y + 9x - 1 +--R Type: Expression Integer +--E 16 + +@ +If we use the same formula for this example: +\[\frac{1}{(3*x+6*y)\sqrt{(3*x+6*y)^2-1}} d(3*x+6*y)/dx\] +<<ElementaryFunction.input>>= + +--S 17 of 32 +3/((3*x+6*y)*sqrt((3*x+6*y)^2-1)) +--R +--R +--R 1 +--R (15) --------------------------------- +--R +----------------------+ +--R | 2 2 +--R (2y + x)\|36y + 36x y + 9x - 1 +--R Type: Expression Integer +--E 17 + +@ +Mathematica, Maple, and Maxima give +\[- \frac{3}{(3*x+6*y)^2 \sqrt{1 - \frac{1}{(3*x+6*y)^2}}}\] +which is just the negative of the above result and we can see +that the same analysis applies to explain the results. +<<ElementaryFunction.input>>= + +--S 18 of 32 +D(acsc(3*x+6*y),x) +--R +--R +--R 1 +--R (16) - --------------------------------- +--R +----------------------+ +--R | 2 2 +--R (2y + x)\|36y + 36x y + 9x - 1 +--R Type: Expression Integer +--E 18 + +--S 19 of 32 +D(sinh(3*x+6*y),x) +--R +--R +--R (17) 3cosh(6y + 3x) +--R Type: Expression Integer +--E 19 + +--S 20 of 32 +D(cosh(3*x+6*y),x) +--R +--R +--R (18) 3sinh(6y + 3x) +--R Type: Expression Integer +--E 20 + +@ +Mathematica and Maxima return +\[3 sech(3x+6y)^2\] +Maple returns Axiom's answer. Both are equivalent. +<<ElementaryFunction.input>>= + +--S 21 of 32 +D(tanh(3*x+6*y),x) +--R +--R +--R 2 +--R (19) - 3tanh(6y + 3x) + 3 +--R Type: Expression Integer +--E 21 + +--S 22 of 32 +simplify ((-3*tanh(6*y+3*x)^2+3)-(3*sech(3*x+6*y)^2)) +--R +--R +--R (20) 0 +--R Type: Expression Integer +--E 22 + +Mathematica and Maxima return +\[-3 csch(3*x+6*y)^2\] +Maple returns Axiom's answer. Both are equivalent. +<<ElementaryFunction.input>>= + +--S 23 of 32 +D(coth(3*x+6*y),x) +--R +--R +--R 2 +--R (21) - 3coth(6y + 3x) + 3 +--R Type: Expression Integer +--E 23 + +--S 24 of 32 +simplify ((-3*coth(6*y+3*x)^2+3) - (-3*csch(3*x+6*y)^2)) +--R +--R +--R (22) 0 +--R Type: Expression Integer +--E 24 + +--S 25 of 32 +D(sech(3*x+6*y),x) +--R +--R +--R (23) - 3sech(6y + 3x)tanh(6y + 3x) +--R Type: Expression Integer +--E 25 + +--S 26 of 32 +D(csch(3*x+6*y),x) +--R +--R +--R (24) - 3coth(6y + 3x)csch(6y + 3x) +--R Type: Expression Integer +--E 26 + +--S 27 of 32 +D(asinh(3*x+6*y),x) +--R +--R +--R 3 +--R (25) ------------------------- +--R +----------------------+ +--R | 2 2 +--R \|36y + 36x y + 9x + 1 +--R Type: Expression Integer +--E 27 + +@ +Mathematica and Maple show +\[\frac{3}{\sqrt{-1+3*x+6*y}\sqrt{1+3*x+6*y}}\] +Maxima gives Axiom's answer. Both are equivalent, just factored forms. +<<ElementaryFunction.input>>= + +--S 28 of 32 +D(acosh(3*x+6*y),x) +--R +--R +--R 3 +--R (26) ------------------------- +--R +----------------------+ +--R | 2 2 +--R \|36y + 36x y + 9x - 1 +--R Type: Expression Integer +--E 28 + +--S 29 of 32 +D(atanh(3*x+6*y),x) +--R +--R +--R 3 +--R (27) - ---------------------- +--R 2 2 +--R 36y + 36x y + 9x - 1 +--R Type: Expression Integer +--E 29 + +--S 30 of 32 +D(acoth(3*x+6*y),x) +--R +--R +--R 3 +--R (28) - ---------------------- +--R 2 2 +--R 36y + 36x y + 9x - 1 +--R Type: Expression Integer +--E 30 + +@ +Mathematica gives +\[- \frac{3}{(3x+6y)\sqrt{\frac{1-3x-6y}{1_3x+6y}}(1+3x+6y)}\] +Maxima gives +\[- \frac{3}{(6y+3x)^2\sqrt{\frac{1}{(6y+3x)^2}-1}}\] +Maple gives +\[- \frac{3}{(3x+6y)^2 \sqrt{\frac{1}{3x+6y}-1} \sqrt{\frac{1}{3x+6y}+1}}\] + +Axiom cannot simplify these differences to zero but Maxima does which +shows they are all equivalent answers. +<<ElementaryFunction.input>>= + +--S 31 of 32 +D(asech(3*x+6*y),x) +--R +--R +--R 1 +--R (29) - ----------------------------------- +--R +------------------------+ +--R | 2 2 +--R (2y + x)\|- 36y - 36x y - 9x + 1 +--R Type: Expression Integer +--E 31 + +@ +Mathematica, Maple, and Maxima all generate the answer +\[- \frac{3}{(3x+6y)^2 \sqrt{1+\frac{1}{(3x+6y)^2}}} \] + +Axiom cannot simplify these differences to zero but Maxima does which +shows they are all equivalent answers. +<<ElementaryFunction.input>>= + +--S 32 of 32 +D(acsch(3*x+6*y),x) +--R +--R +--R 1 +--R (30) - --------------------------------- +--R +----------------------+ +--R | 2 2 +--R (2y + x)\|36y + 36x y + 9x + 1 +--R Type: Expression Integer +--E 32 + +)spool +)lisp (bye) +@ +<<ElementaryFunction.help>>= +==================================================================== +ElementaryFunction examples +==================================================================== + +D(sin(3*x+6*y),x) + 3cos(6y + 3x) + +D(cos(3*x+6*y),x) + - 3sin(6y + 3x) + +D(tan(3*x+6*y),x) + 2 + 3tan(6y + 3x) + 3 + +D(cot(3*x+6*y),x) + 2 + - 3cot(6y + 3x) - 3 + +D(sec(3*x+6*y),x) + 3sec(6y + 3x)tan(6y + 3x) + +D(csc(3*x+6*y),x) + - 3cot(6y + 3x)csc(6y + 3x) + +D(asin(3*x+6*y),x) + 3 + --------------------------- + +------------------------+ + | 2 2 + \|- 36y - 36x y - 9x + 1 + +D(acos(3*x+6*y),x) + 3 + - --------------------------- + +------------------------+ + | 2 2 + \|- 36y - 36x y - 9x + 1 + +D(atan(3*x+6*y),x) + 3 + ---------------------- + 2 2 + 36y + 36x y + 9x + 1 + +D(acot(3*x+6*y),x) + 3 + - ---------------------- + 2 2 + 36y + 36x y + 9x + 1 + +D(asec(3*x+6*y),x) + 1 + --------------------------------- + +----------------------+ + | 2 2 + (2y + x)\|36y + 36x y + 9x - 1 + +D(acsc(3*x+6*y),x) + 1 + - --------------------------------- + +----------------------+ + | 2 2 + (2y + x)\|36y + 36x y + 9x - 1 + + +D(sinh(3*x+6*y),x) + 3cosh(6y + 3x) + +D(cosh(3*x+6*y),x) + 3sinh(6y + 3x) + +D(tanh(3*x+6*y),x) + 2 + - 3tanh(6y + 3x) + 3 + +D(coth(3*x+6*y),x) + 2 + - 3coth(6y + 3x) + 3 + +D(sech(3*x+6*y),x) + - 3sech(6y + 3x)tanh(6y + 3x) + +D(csch(3*x+6*y),x) + - 3coth(6y + 3x)csch(6y + 3x) + +D(asinh(3*x+6*y),x) + 3 + ------------------------- + +----------------------+ + | 2 2 + \|36y + 36x y + 9x + 1 + +D(acosh(3*x+6*y),x) + 3 + ------------------------- + +----------------------+ + | 2 2 + \|36y + 36x y + 9x - 1 + +D(atanh(3*x+6*y),x) + 3 + - ---------------------- + 2 2 + 36y + 36x y + 9x - 1 + +D(acoth(3*x+6*y),x) + 3 + - ---------------------- + 2 2 + 36y + 36x y + 9x - 1 + +D(asech(3*x+6*y),x) + 1 + - ----------------------------------- + +------------------------+ + | 2 2 + (2y + x)\|- 36y - 36x y - 9x + 1 + +D(acsch(3*x+6*y),x) + 1 + - --------------------------------- + +----------------------+ + | 2 2 + (2y + x)\|36y + 36x y + 9x + 1 + +See Also: +o )show ElementaryFunction + +@ \pagehead{ElementaryFunction}{EF} \pagepic{ps/v104elementaryfunction.ps}{EF}{1.00} @@ -16143,7 +16684,9 @@ ElementaryFunction(R, F): Exports == Implementation where iiasech x == iasech x iiacsch x == iacsch x - evaluate(oppi, ipi)$BasicOperatorFunctions1(F) + import BasicOperatorFunctions1(F) + + evaluate(oppi, ipi) evaluate(oplog, iilog) evaluate(opexp, iiexp) evaluate(opsin, iisin) @@ -16173,29 +16716,29 @@ ElementaryFunction(R, F): Exports == Implementation where derivative(opexp, exp) derivative(oplog, inv) derivative(opsin, cos) - derivative(opcos, - sin #1) - derivative(optan, 1 + tan(#1)**2) - derivative(opcot, - 1 - cot(#1)**2) - derivative(opsec, tan(#1) * sec(#1)) - derivative(opcsc, - cot(#1) * csc(#1)) - derivative(opasin, inv sqrt(1 - #1**2)) - derivative(opacos, - inv sqrt(1 - #1**2)) - derivative(opatan, inv(1 + #1**2)) - derivative(opacot, - inv(1 + #1**2)) - derivative(opasec, inv(#1 * sqrt(#1**2 - 1))) - derivative(opacsc, - inv(#1 * sqrt(#1**2 - 1))) + derivative(opcos,(x:F):F +-> - sin x) + derivative(optan,(x:F):F +-> 1 + tan(x)**2) + derivative(opcot,(x:F):F +-> - 1 - cot(x)**2) + derivative(opsec,(x:F):F +-> tan(x) * sec(x)) + derivative(opcsc,(x:F):F +-> - cot(x) * csc(x)) + derivative(opasin,(x:F):F +-> inv sqrt(1 - x**2)) + derivative(opacos,(x:F):F +-> - inv sqrt(1 - x**2)) + derivative(opatan,(x:F):F +-> inv(1 + x**2)) + derivative(opacot,(x:F):F +-> - inv(1 + x**2)) + derivative(opasec,(x:F):F +-> inv(x * sqrt(x**2 - 1))) + derivative(opacsc,(x:F):F +-> - inv(x * sqrt(x**2 - 1))) derivative(opsinh, cosh) derivative(opcosh, sinh) - derivative(optanh, 1 - tanh(#1)**2) - derivative(opcoth, 1 - coth(#1)**2) - derivative(opsech, - tanh(#1) * sech(#1)) - derivative(opcsch, - coth(#1) * csch(#1)) - derivative(opasinh, inv sqrt(1 + #1**2)) - derivative(opacosh, inv sqrt(#1**2 - 1)) - derivative(opatanh, inv(1 - #1**2)) - derivative(opacoth, inv(1 - #1**2)) - derivative(opasech, - inv(#1 * sqrt(1 - #1**2))) - derivative(opacsch, - inv(#1 * sqrt(1 + #1**2))) + derivative(optanh,(x:F):F +-> 1 - tanh(x)**2) + derivative(opcoth,(x:F):F +-> 1 - coth(x)**2) + derivative(opsech,(x:F):F +-> - tanh(x) * sech(x)) + derivative(opcsch,(x:F):F +-> - coth(x) * csch(x)) + derivative(opasinh,(x:F):F +-> inv sqrt(1 + x**2)) + derivative(opacosh,(x:F):F +-> inv sqrt(x**2 - 1)) + derivative(opatanh,(x:F):F +-> inv(1 - x**2)) + derivative(opacoth,(x:F):F +-> inv(1 - x**2)) + derivative(opasech,(x:F):F +-> - inv(x * sqrt(1 - x**2))) + derivative(opacsch,(x:F):F +-> - inv(x * sqrt(1 + x**2))) @ <<EF.dotabb>>= diff --git a/changelog b/changelog index 6a34a9a..45e78ce 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,6 @@ +20090418 tpd src/axiom-website/patches.html 20090418.01.tpd.patch +20090418 tpd src/algebra/Makefile add help, regress for EF +20090418 tpd books/bookvol10.4 convert EF to +-> notation 20090417 tpd src/axiom-website/patches.html 20090417.02.tpd.patch 20090417 tpd books/bookvol10.4 add +-> handling 20090417 wxh src/interp/define.boot add +-> handling diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet index 8af306b..7e922ae 100644 --- a/src/algebra/Makefile.pamphlet +++ b/src/algebra/Makefile.pamphlet @@ -16450,7 +16450,7 @@ SPADHELP=\ ${HELP}/CycleIndicators.help ${HELP}/DeRhamComplex.help \ ${HELP}/DecimalExpansion.help ${HELP}/Dequeue.help \ ${HELP}/DistributedMultivariatePolynomial.help \ - ${HELP}/DoubleFloat.help \ + ${HELP}/DoubleFloat.help ${HELP}/ElementaryFunction.help \ ${HELP}/EqTable.help ${HELP}/Equation.help \ ${HELP}/Expression.help \ ${HELP}/EuclideanGroebnerBasisPackage.help \ @@ -16543,7 +16543,7 @@ REGRESS=\ Complex.regress ContinuedFraction.regress \ CycleIndicators.regress DeRhamComplex.regress \ DecimalExpansion.regress Dequeue.regress \ - DoubleFloat.regress \ + DoubleFloat.regress ElementaryFunction.regress \ DistributedMultivariatePolynomial.regress \ EqTable.regress Equation.regress \ Expression.regress \ @@ -16840,6 +16840,16 @@ ${HELP}/DoubleFloat.help: ${BOOKS}/bookvol10.3.pamphlet >${INPUT}/DoubleFloat.input @echo "DoubleFloat (DFLOAT)" >>${HELPFILE} +${HELP}/ElementaryFunction.help: ${BOOKS}/bookvol10.4.pamphlet + @echo 7018 create ElementaryFunction.help from \ + ${BOOKS}/bookvol10.4.pamphlet + @${TANGLE} -R"ElementaryFunction.help" ${BOOKS}/bookvol10.4.pamphlet \ + >${HELP}/ElementaryFunction.help + @cp ${HELP}/ElementaryFunction.help ${HELP}/EF.help + @${TANGLE} -R"ElementaryFunction.input" ${BOOKS}/bookvol10.4.pamphlet \ + >${INPUT}/ElementaryFunction.input + @echo "ElementaryFunction (EF)" >>${HELPFILE} + ${HELP}/EqTable.help: ${BOOKS}/bookvol10.3.pamphlet @echo 7019 create EqTable.help from ${BOOKS}/bookvol10.3.pamphlet @${TANGLE} -R"EqTable.help" ${BOOKS}/bookvol10.3.pamphlet \ diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 073e024..a2d878e 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -1098,5 +1098,7 @@ bookvol10.4 update bezier documentation<br/> bookvol10.4, 10.2 document binomial<br/> <a href="patches/20090417.02.wxh.patch">20090417.02.wxh.patch</a> compiler use waldek +-> syntax <br/> +<a href="patches/20090418.01.tpd.patch">20090418.01.tpd.patch</a> +bookvol10.4 convert EF to +-> syntax <br/> </body> </html> _______________________________________________ Axiom-developer mailing list Axiom-developer@nongnu.org http://lists.nongnu.org/mailman/listinfo/axiom-developer