diff --git a/changelog b/changelog index 0bf24d7..c90262b 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,6 @@ +20100330 tpd src/axiom-website/patches.html 20100330.02.tpd.patch +20100330 tpd src/input/Makefile add davenport.input +20100330 tpd src/input/davenport.input examples from DST88 paper 20100330 tpd src/axiom-website/patches.html 20100330.01.sxt.patch 20100330 tpd src/axiom-website/download.html change 2009 -> 2010 on new links 20100330 sxt Steve Toleque diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 39719e4..9c17253 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -2595,5 +2595,7 @@ In process, not yet released

src/axiom-website/download.html add march 2010 ubuntu
20100330.01.sxt.patch src/axiom-website/download.html change 2009 -> 2010 on new links
+20100330.02.tpd.patch +src/input/davenport.input examples from DST88 paper
diff --git a/src/input/Makefile.pamphlet b/src/input/Makefile.pamphlet index 1e253f4..67cf307 100644 --- a/src/input/Makefile.pamphlet +++ b/src/input/Makefile.pamphlet @@ -300,7 +300,7 @@ REGRES= ackermann.regress \ constant.regress contfrac.regress contfrc.regress \ curl.regress cwmmt.regress \ cycles1.regress cycles.regress cyfactor.regress \ - danzwill.regress danzwill2.regress \ + danzwill.regress danzwill2.regress davenport.regress \ decimal.regress defintef.regress defintrf.regress \ derham.regress dfloat.regress dftrig.regress \ dhmatrix.regress \ @@ -576,7 +576,7 @@ FILES= ${OUT}/ackermann.input \ ${OUT}/cycles.input ${OUT}/cycles1.input ${OUT}/cycloid.input \ ${OUT}/cycloid2.input \ ${OUT}/cycloid3.input ${OUT}/cyfactor.input ${OUT}/damped.input \ - ${OUT}/danzwill.input ${OUT}/danzwill2.input \ + ${OUT}/danzwill.input ${OUT}/danzwill2.input ${OUT}/davenport.input \ ${OUT}/decimal.input ${OUT}/defs.input \ ${OUT}/defintef.input ${OUT}/defintrf.input ${OUT}/derham.input \ ${OUT}/de2re.input \ @@ -831,7 +831,7 @@ DOCFILES= \ ${DOC}/d02raf.input.dvi ${DOC}/d03edf.input.dvi \ ${DOC}/d03eef.input.dvi ${DOC}/d03faf.input.dvi \ ${DOC}/damped.input.dvi ${DOC}/danzwill.input.dvi \ - ${DOC}/danzwill2.input.dvi \ + ${DOC}/danzwill2.input.dvi ${DOC}/davenport.input.dvi \ ${DOC}/de2re.input.dvi ${DOC}/decimal.input.dvi \ ${DOC}/defintef.input.dvi ${DOC}/defintrf.input.dvi \ ${DOC}/defs.input.dvi ${DOC}/derham.input.dvi \ diff --git a/src/input/davenport.input.pamphlet b/src/input/davenport.input.pamphlet new file mode 100644 index 0000000..6e94374 --- /dev/null +++ b/src/input/davenport.input.pamphlet @@ -0,0 +1,176 @@ +\documentclass{article} +\usepackage{axiom} +\begin{document} +\title{\$SPAD/src/input davenport.input} +\author{J. Davenport, Y. Siret, E. Tournier} +\maketitle +\begin{abstract} +\end{abstract} +\eject +\tableofcontents +\eject +\begin{chunk}{*} +)set break resume +)sys rm -f davenport.output +)spool davenport.output +)set message test on +)set message auto off +)clear all + + +--S 1 of 12 +t1:=UP(x,FRAC INT) +--R +--R +--R (1) UnivariatePolynomial(x,Fraction Integer) +--R Type: Domain +--E 1 + +--S 2 of 12 +quotient(p1:t1,p2:t1,n:NNI):Union("failed",t1) == + minimumDegree(p1) < minimumDegree(p2) => "failed" + reste:UP(x,FRAC INT):=p1 + degp2:=minimumDegree(p2) + coefp2:=coefficient(p2,degp2) + quot:UP(x,FRAC INT):=0 + while degree(quot) < n repeat + deg:=minimumDegree(reste) + mon:=monomial(coefficient(reste,deg)/coefp2,deg-degp2)$UP(x,FRAC INT) + reste:=reste-(mon*p2) + quot:=quot+mon + quot +--R +--R Function declaration quotient : (UnivariatePolynomial(x,Fraction +--R Integer),UnivariatePolynomial(x,Fraction Integer), +--R NonNegativeInteger) -> Union("failed",UnivariatePolynomial(x, +--R Fraction Integer)) has been added to workspace. +--R Type: Void +--E 2 + +--S 3 of 12 +quotient(1,1+x,8) +--R +--R Your expression cannot be fully compiled because it contains an +--R integer expression (for - ) whose sign cannot be determined (in +--R general) and so must be specified by you. Perhaps you can try +--R substituting something like +--R (- :: PI) +--R or +--R (- :: NNI) +--R into your expression for - . +--R AXIOM will attempt to step through and interpret the code. +--R Compiling function quotient with type (UnivariatePolynomial(x, +--R Fraction Integer),UnivariatePolynomial(x,Fraction Integer), +--R NonNegativeInteger) -> Union("failed",UnivariatePolynomial(x, +--R Fraction Integer)) +--I Compiling function G1504 with type Integer -> Boolean +--R +--R 8 7 6 5 4 3 2 +--R (3) x - x + x - x + x - x + x - x + 1 +--R Type: Union(UnivariatePolynomial(x,Fraction Integer),...) +--E 3 + +--S 4 of 12 +quotient(x**2-x+1,x**3-x-6/7,8) +--R +--R +--R (4) +--R 84778967 8 18089477 7 2286095 6 166061 5 8281 4 4459 3 +--R -------- x - -------- x + ------- x - ------ x - ---- x + ---- x +--R 10077696 1679616 279936 46656 7776 1296 +--R + +--R 889 2 91 7 +--R - --- x + -- x - - +--R 216 36 6 +--R Type: Union(UnivariatePolynomial(x,Fraction Integer),...) +--E 4 + +--S 5 of 12 +ext1:=SAE(FRAC INT,UP(a,FRAC INT),a**2+a+1) +--R +--R +--R (5) +--R SimpleAlgebraicExtension(Fraction Integer,UnivariatePolynomial(a,Fraction Int +--R eger),a*a+a+1) +--R Type: Domain +--E 5 + +--S 6 of 12 +e:ext1:=convert(((3/4)*a**2-a+(7/4))::UP(a,FRAC INT)) +--R +--R +--R 7 +--R (6) - - a + 1 +--R 4 +--RType: SimpleAlgebraicExtension(Fraction Integer,UnivariatePolynomial(a,Fraction Integer),a*a+a+1) +--E 6 + +--S 7 of 12 +recip(e) +--R +--R +--R 28 44 +--R (7) -- a + -- +--R 93 93 +--RType: Union(SimpleAlgebraicExtension(Fraction Integer,UnivariatePolynomial(a,Fraction Integer),a*a+a+1),...) +--E 7 + +--S 8 of 12 +e**2 +--R +--R +--R 105 33 +--R (8) - --- a - -- +--R 16 16 +--RType: SimpleAlgebraicExtension(Fraction Integer,UnivariatePolynomial(a,Fraction Integer),a*a+a+1) +--E 8 + +--S 9 of 12 +e:=convert((a**2-1)::UP(a,FRAC INT)) +--R +--R +--R (9) - a - 2 +--RType: SimpleAlgebraicExtension(Fraction Integer,UnivariatePolynomial(a,Fraction Integer),a*a+a+1) +--E 9 + +--S 10 of 12 +p1:UP(x,ext1):=x**4+3*x**3+(2*a+1)*x**2+(3*a+3)*x-1 +--R +--R +--R 4 3 2 +--R (10) x + 3x + (2a + 1)x + (3a + 3)x - 1 +--RType: UnivariatePolynomial(x,SimpleAlgebraicExtension(Fraction Integer,UnivariatePolynomial(a,Fraction Integer),a*a+a+1)) +--E 10 + +--S 11 of 12 +p2:UP(x,ext1):=x**2+a+1 +--R +--R +--R 2 +--R (11) x + a + 1 +--RType: UnivariatePolynomial(x,SimpleAlgebraicExtension(Fraction Integer,UnivariatePolynomial(a,Fraction Integer),a*a+a+1)) +--E 11 + +--S 12 of 12 +p2/p1 +--R +--R +--R 1 +--R (12) ----------- +--R 2 +--R x + 3x + a +--RType: Fraction UnivariatePolynomial(x,SimpleAlgebraicExtension(Fraction Integer,UnivariatePolynomial(a,Fraction Integer),a*a+a+1)) +--E 12 + +)spool +)lisp (bye) + +\end{chunk} +\eject +\begin{thebibliography}{99} +\bibitem[DST88]{DST88} +J. H. Davenport, Y. Siret, and E. Tournier. Computer Algebra: Systems and +Algorithms for Algebraic Computation. Academic Press, New York, NY, USA, 1988, +ISBN 0-12-204230-1 +\end{thebibliography} +\end{document}