aboutsummaryrefslogtreecommitdiff
path: root/src/input/huang.input.pamphlet
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2007-08-14 05:14:52 +0000
committerdos-reis <gdr@axiomatics.org>2007-08-14 05:14:52 +0000
commitab8cc85adde879fb963c94d15675783f2cf4b183 (patch)
treec202482327f474583b750b2c45dedfc4e4312b1d /src/input/huang.input.pamphlet
downloadopen-axiom-ab8cc85adde879fb963c94d15675783f2cf4b183.tar.gz
Initial population.
Diffstat (limited to 'src/input/huang.input.pamphlet')
-rw-r--r--src/input/huang.input.pamphlet564
1 files changed, 564 insertions, 0 deletions
diff --git a/src/input/huang.input.pamphlet b/src/input/huang.input.pamphlet
new file mode 100644
index 00000000..ddaf6a78
--- /dev/null
+++ b/src/input/huang.input.pamphlet
@@ -0,0 +1,564 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/input huang.input}
+\author{The Axiom Team}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{License}
+<<license>>=
+--Copyright The Numerical Algorithms Group Limited 1996.
+@
+<<*>>=
+<<license>>
+
+-- this is here strictly for documentation purposes, nothing is executed
+--
+-- Here are some problems that Maple and Mathematica cannot
+--solve, but SymbMath can do.
+-- The following examples came from news on the sci.math.symbolic
+--newsgroup in 1991, and were run in Maple V, Mathematica 2.0, or
+--SymbMath 2.1.
+--
+--************************ Example 1 ******************************
+-- Maple:
+--> int(exp(-a * x^2), x=0..infinity);
+--
+-- infinity
+-- /
+-- | 2
+-- | exp(- a x ) dx
+-- |
+-- /
+-- 0
+--
+--# unevaluated.
+--# Declare 'a' non-negative:
+--
+--> signum(a) := 1;
+--
+-- signum(a) := 1
+--
+--# The same integral is now evaluated fully:
+--
+--> int(exp(-a * x^2), x=0..infinity);
+--
+-- 1/2
+-- Pi
+-- 1/2 -----
+-- 1/2
+-- a
+--
+-- SymbMath :
+-- Input:
+--inte(exp(-a*x^2), x from 0 to inf)
+--assume(sqrt(a) > 0)
+--inte(exp(-a*x^2), x from 0 to inf)
+-- Output:
+--1/2*a^(-0.5)*sqrt(pi)*erf(inf*sgn(sqrt(a)))
+--assumed
+--1/2*a^(-0.5)*sqrt(pi)
+--
+--************************** Example 2 *********************************
+-- Maple:
+--# Despite the fact that 'n' is declared non-negative...
+--> signum(n) := 1;
+-- signum(n) := 1
+--
+--# ...this simple proper definite integral (that any freshman calculus
+--# student can evaluate!) is left unevaluated:
+--> int(x^n, x=0..1);
+--
+-- 1
+-- /
+-- | n
+-- | x dx
+-- |
+-- /
+-- 0
+--
+--
+-- SymbMath :
+-- Input:
+--assume(n > -1)
+--inte(x^n, x from 0 to 1)
+-- Output:
+--assumed
+--1/(1 + n)
+--
+--************************** Example 3 *****************************
+-- Maple:
+--> int(x^n, x=eps..1);
+--
+-- (n + 1)
+-- 1 eps
+-- ----- - ----------
+-- n + 1 n + 1
+--
+--# ...but the one-sided limit...
+--
+--> limit(", eps=0, right);
+--
+-- (n + 1)
+-- 1 eps
+-- limit ----- - ----------
+-- eps -> 0+ n + 1 n + 1
+--
+--# ...remains unevaluated...
+--
+--> simplify(");
+--
+-- (n + 1)
+-- - 1 + eps
+-- limit - ----------------
+-- eps -> 0+ n + 1
+--
+--
+--# ...no matter what we do!
+--
+--> eval(");
+--
+-- (n + 1)
+-- - 1 + eps
+-- limit - ----------------
+-- eps -> 0+ n + 1
+--
+-- SymbMath:
+-- Input:
+--assume(n > -1)
+--inte(x^n, x from eps to 1)
+--subs(eps=0 to last)
+-- Output:
+--assumed
+--1/(1 + n) - eps^(1 + n)/(1 + n)
+--1/(1 + n)
+--
+--
+--*************************** Example 4 ***************************
+-- Maple:
+--> 0^n;
+-- 0
+--
+--# Maple flags the error only when 'n' is replaced by the constant 0:
+--
+--> 0^0;
+--Error, 0^0 is undefined
+--
+-- SymbMath:
+-- Input:
+--assume(n > 0)
+--0^n
+--0^-n
+--0^0
+-- Output:
+--assumed
+--0
+--discont
+--undefined
+--
+--**************************** Example 5 ******************************
+-- Maple:
+--> int(x^k, x);
+--
+-- (k + 1)
+-- x
+-- --------
+-- k + 1
+--
+-- SymbMath:
+-- Input:
+--inte(x^k*d(x))
+--subs(k=-1 to last)
+-- Output:
+--constant + x^(1 + k)/(1 + k)
+--discont
+--
+--**************************** Example 6 *****************************
+-- Maple:
+--# The following limit is left unevaluated:
+--> limit(x^k/exp(x), x=infinity);
+--
+-- k
+-- x
+-- limit ------
+-- x -> infinity exp(x)
+--
+--
+--# We might ask if Maple knows this result for specific (constant) values
+--# of the symbolic parameter 'k'. The answer is a QUALIFIED "yes".
+--# Maple knows the result for 'k' equal to 10^8...
+--
+--> limit(x^(10^8)/exp(x), x=infinity);
+--
+-- 0
+--
+--
+--# ...and Maple knows the result for 'k' equal to 10^9...
+--
+--> limit(x^(10^9)/exp(x), x=infinity);
+--
+-- 0
+--
+--# ...BUT, Maple seems to FORGET the result when 'k' equals 10^10...
+--
+--> limit(x^(10^10)/exp(x), x=infinity);
+--
+-- 10000000000
+-- x
+-- limit ------------
+-- x -> infinity exp(x)
+--
+-- SymbMath:
+-- Input:
+--lim(x=inf, x^k/exp(x))
+--lim(x=inf, x^(10^10)/exp(x))
+--lim(x=inf, x^(10^10000)/exp(x))
+-- Output:
+--0
+--0
+--0
+--
+--****************************** Example 7 ****************************
+-- Maple:
+--> int(x^m * exp (-b * x), x=0..infinity);
+--
+-- infinity
+-- /
+-- | m
+-- | x exp(- b x) dx
+-- |
+-- /
+-- 0
+--
+--
+--# As expected, the integral remains unevaluated. Now declare the signs
+--# of the symbolic parameters:
+--
+--> signum(b) := 1;
+--
+-- signum(b) := 1
+--
+--> signum(m) := 1;
+--
+-- signum(m) := 1
+--
+--
+--# Upon attempting to compute the integral a second time...
+--
+--> int(x^m * exp (-b * x), x=0..infinity);
+--
+-- infinity
+-- /
+-- | m
+-- | x exp(- b x) dx
+-- |
+-- /
+-- 0
+--
+--# ...THE INTEGRAL CONTINUES TO REMAIN UNEVALUATED, despite the fact that
+--# the signs of the parameters 'b' and 'm' were declared PRIOR to the second
+--# attempt at computation.
+--
+-- SymbMath:
+-- Input:
+--inte(x^n*exp(-a*x), x from 0 to inf)
+-- Output:
+--inte(x^n*exp(-a*x), x, 0, inf)
+--
+--
+--************************ Example 8 *********************************
+-- Mathematica:
+--In[1]:= Integrate[1/x,{x,-1,1}]
+--Out[1]= -Log[-1]
+--
+-- Maple:
+--has the same problem.
+--
+-- SymbMath:
+-- Input:
+--inte(1/x, x from -1 to 1)
+--inte(1/x, x from -1 to 2)
+-- Output:
+--0
+--ln(2)
+--
+--
+--*************************** Example 9 *******************************
+-- Maple:
+--has a problem for int(tan(x), x=0..pi).
+--
+-- SymbMath:
+-- Input:
+--inte(tan(x), x from 0 to pi)
+-- Output:
+--0
+--
+--**************************** Example 10 ****************************
+-- Mathematica:
+--cannot evaluate integral of sgn(x).
+--
+-- Maple:
+--# cannot evaluate inegral of signum(x) by int(). Help with a procedure:
+--# Load the procedure into Maple:
+--
+--> read `pvint.txt`;
+--
+--pvint := proc(f,x,a,b,s)
+-- local i1,i2,eps;
+-- signum(eps) := 1;
+-- i1 := int(f,x = a .. s-eps);
+-- i2 := int(f,x = s+eps .. b);
+-- simplify(i1+i2);
+-- limit(",eps = 0,right)
+-- end
+--
+--
+--> pvint(signum(x), x, -1, 1, 0);
+--
+-- - eps 1
+-- / /
+-- | |
+-- limit | signum(x) dx + | signum(x) dx
+-- eps -> 0+ | |
+-- / /
+-- -1 eps
+--
+--# Maple refuses to evaluate this P.V. integral:
+--
+--> simplify(");
+--
+-- - eps 1
+-- / /
+-- | |
+-- limit | signum(x) dx + | signum(x) dx
+-- eps -> 0+ | |
+-- / /
+-- -1 eps
+--
+--> eval(");
+--
+-- - eps 1
+-- / /
+-- | |
+-- limit | signum(x) dx + | signum(x) dx
+-- eps -> 0+ | |
+-- / /
+-- -1 eps
+--
+-- SymbMath:
+-- Input:
+--inte(sgn(x), x from -1 to 1)
+--inte(sgn(x), x from -1 to 2)
+-- Output:
+--0
+--1
+--
+--************************* Example 11 ********************************
+--Implicit diff. gives 1+y'[x](1+1/y[x])==0; y'[x]==-y[x]/(y[x]+1).
+--
+-- Mathematica:
+-- given this eq. as input to DSolve says that built-in
+-- procedure can't solve it.
+--
+-- MACSYMA:
+--(c1) depends(y,x)$
+--
+--(c2) ode2(diff(y,x) = -y/(y+1),y,x);
+--
+--(d2) - log(y) - y = x + %c
+--
+--(c3) method;
+--
+--(d3) separable
+--
+--
+-- SymbMath:
+--solve the differential equation by integration inte() or by dsolve().
+-- Input:
+--d(y)/d(x)*(1+1/y) === -1
+--inte(last*d(x))
+--Expand=On
+--dsolve(d(y)/d(x) === -y/(y+1), y)
+-- Output:
+--(1 + 1/y)*d(y)/d(x) === -1
+--y + ln(y*sgn(y)) === constant - x
+--Expand = On
+---y - ln(y*sgn(y)) === constant + x
+--
+--
+--************************* Example 12 ********************************
+-- Mathematica:
+-- y'[x] = y[x]^(1/2)
+-- y[0] = 0
+--
+--DSolve could not handle it. (It rarely solves anything!!), and the
+--RungeKutta package only gave me the solution
+--
+-- y[x]=0
+--
+--Obviously, there is another solution viz.
+--
+-- y[x] = (x/2)^2
+--
+-- SymbMath:
+-- Input:
+--dsolve(d(y)/d(x) === sqrt(y), y)
+--(last/2)^2
+-- Output:
+--2*sqrt(y) === constant + x
+--y === 1/4*(constant + x)^2
+--
+--************************* Example 13 ********************************
+-- Maple:
+--> sqrt(x*x);
+-- x
+--
+-- Mathematica:
+-- Sqrt[a^2] evaluates to Sqrt[a^2].
+--
+-- SymbMath:
+-- Input:
+--sqrt(x^2)
+--assume(a > 0)
+--sqrt(a^2)
+--assume(b <0 )
+--sqrt(b^2)
+-- Output:
+--x*sgn(x)
+--assumed
+--a
+--assumed
+---b
+--
+--********************** Example 14 **********************************
+-- Maple and Mathematica cannot find the integrals of abs(x).
+--
+-- SymbMath:
+-- Input:
+--inte(abs(x), x from -1 to 1)
+--inte(abs(x)^5*d(x))
+-- Output:
+--1
+--constant + 1/6*abs(x)^6*sgn(x)
+--
+-----------------------------------------------------------------------
+--
+-- The following problems are taken from Swokowski's Calculus
+--book. They cause Mathematica to fail because of a singularity in
+--the interior of the interval of integration:
+--
+-- Section 10.4 Problems 3, 12, 15, 16, 23, 29.
+--
+--The comments "INTEGRAL IS DIVERGENT" and "Principal Value" come from
+--Macsyma. Mma gives no indication that anything is amiss.
+--
+--************************ Problem3 *********************************
+-- Mathematica:
+--In[4]:= Integrate[1/x^2,{x,-3,1}]
+--
+-- 4
+--Out[4]= -(-) (* INTEGRAL IS DIVERGENT *)
+-- 3
+--
+-- SymbMath:
+-- Input:
+--inte(1/x^2, x from -3 to 1)
+-- Output:
+--inf
+--
+--************************** Problem12 ***************************
+-- Mathemtica:
+--In[6]:= Integrate[x^(-4/3),{x,-1,1}]
+--
+--Out[6]= -6 (* INTEGRAL IS DIVERGENT *)
+--
+-- SymbMath:
+-- Input:
+--inte(x^(-4/3), x from -1 to 1)
+-- Output:
+--inf
+--
+--**************************** Problem15 ************************
+-- Mathematica:
+--In[7]:= Integrate[1/x,{x,-1,2}]
+--
+--Out[7]= -Log[-1] + Log[2]
+--
+-- Maple:
+--has the same problem.
+--
+-- Macsyma:
+-- (c7) integrate(1/x,x,-1,2);
+-- Principal Value
+-- (d7) log(2)
+--
+-- SymbMath:
+-- Input:
+--inte(1/x, x from -1 to 2)
+-- Output:
+--ln(2)
+--
+--
+--********************** Problem16 ************************************
+-- Mathematica:
+--In[8]:= Integrate[1/(x^2-x-2),{x,0,4}]
+--
+-- -Log[-2] Log[2] Log[5]
+--Out[8]= -------- + ------ - ------
+-- 3 3 3
+--
+-- Macsyma:
+-- (c8) integrate(1/(x^2-x-2),x,0,4);
+-- Principal Value
+-- log(5)
+-- (d8) - ------
+-- 3
+--
+--
+-- SymbMath:
+-- Input:
+--inte(1/(x^2-x-2), x from 0 to 4)
+-- Output:
+---1/3*ln(2) + 1/3*ln(2/5)
+--
+--***************************** Problem23 **********************
+-- Mathematica:
+--In[10]:= Integrate[(1/x^2)Cos[1/x],{x,-1,2}]
+--
+-- 1
+--Out[10]= Sin[-1] - Sin[-] (* INTEGRAL IS DIVERGENT *)
+-- 2
+--
+-- SymbMath:
+-- Input:
+--y=1/x^2*cos(1/x)
+--inte(y, x from -1 to 0-zero) + inte(y, x from 0+zero to 2)
+-- Output:
+--y = x^(-2)*cos(1/x)
+--sin(-1) - sin(1/2) + 2*sin(inf)
+--
+--************************** Problem29 ********************************
+-- Mathematica:
+--In[12]:= Integrate[1/(x-4)^2,{x,0,Infinity}]
+--
+-- 1
+--Out[12]= -(-) (* INTEGRAL IS DIVERGENT *)
+-- 4
+--
+-- SymbMath:
+-- Input:
+--y=1/(x-4)^2
+--inte(y, x from 0 to 4-zero) + inte(y, x from 4+zero to inf)
+-- Output:
+--y = (-4 + x)^(-2)
+--inf
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}