diff --git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet index aced0c8..47f16c9 100644 --- a/books/bookvol10.4.pamphlet +++ b/books/bookvol10.4.pamphlet @@ -4105,10 +4105,10 @@ credits() --RWilliam Burge --RQuentin Carpent Robert Caviness Bruce Char --ROndrej Certik Cheekai Chin David V. Chudnovsky ---RGregory V. Chudnovsky James Cloos Josh Cohen ---RChristophe Conil Don Coppersmith George Corliss ---RRobert Corless Gary Cornell Meino Cramer ---RClaire Di Crescenzo David Cyganski +--RGregory V. Chudnovsky Mark Clements James Cloos +--RJosh Cohen Christophe Conil Don Coppersmith +--RGeorge Corliss Robert Corless Gary Cornell +--RMeino Cramer Claire Di Crescenzo David Cyganski --RNathaniel Daly Timothy Daly Sr. Timothy Daly Jr. --RJames H. Davenport Didier Deshommes Michael Dewar --RJean Della Dora Gabriel Dos Reis Claire DiCrescendo diff --git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet index c17e1f8..4eb259c 100644 --- a/books/bookvol5.pamphlet +++ b/books/bookvol5.pamphlet @@ -108,10 +108,10 @@ of effort. We would like to acknowledge and thank the following people: "William Burge" "Quentin Carpent Robert Caviness Bruce Char" "Ondrej Certik Cheekai Chin David V. Chudnovsky" -"Gregory V. Chudnovsky James Cloos Josh Cohen" -"Christophe Conil Don Coppersmith George Corliss" -"Robert Corless Gary Cornell Meino Cramer" -"Claire Di Crescenzo David Cyganski" +"Gregory V. Chudnovsky Mark Clements James Cloos" +"Josh Cohen Christophe Conil Don Coppersmith" +"George Corliss Robert Corless Gary Cornell" +"Meino Cramer Claire Di Crescenzo David Cyganski" "Nathaniel Daly Timothy Daly Sr. Timothy Daly Jr." "James H. Davenport Didier Deshommes Michael Dewar" "Jean Della Dora Gabriel Dos Reis Claire DiCrescendo" diff --git a/changelog b/changelog index f42a0e0..a3b2c85 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,10 @@ +20120316 mxc src/axiom-website/patches.html 20120316.01.mxc.patch +20120316 mxc src/input/Makefile add src/input/testpackage.input +20120316 mxc src/input/testpackage.input added +20120316 mxc books/bookvol5 add Mark Clements to credits +20120316 mxc books/bookvol10.4 add Mark Clements to credits +20120316 mxc readme add Mark Clements +20120316 mxc Mark Clements 20120312 tpd src/axiom-website/patches.html 20120312.01.tpd.patch 20120312 tpd books/bookvol10.4 fix bug 7217 20120312 tpd books/bookvol10.3 fix bug 7217 diff --git a/readme b/readme index 2f21722..bc91375 100644 --- a/readme +++ b/readme @@ -201,10 +201,10 @@ at the axiom command prompt will prettyprint the list. "William Burge" "Quentin Carpent Robert Caviness Bruce Char" "Ondrej Certik Cheekai Chin David V. Chudnovsky" -"Gregory V. Chudnovsky James Cloos Josh Cohen" -"Christophe Conil Don Coppersmith George Corliss" -"Robert Corless Gary Cornell Meino Cramer" -"Claire Di Crescenzo David Cyganski" +"Gregory V. Chudnovsky Mark Clements James Cloos" +"Josh Cohen Christophe Conil Don Coppersmith" +"George Corliss Robert Corless Gary Cornell" +"Meino Cramer Claire Di Crescenzo David Cyganski" "Nathaniel Daly Timothy Daly Sr. Timothy Daly Jr." "James H. Davenport Didier Deshommes Michael Dewar" "Jean Della Dora Gabriel Dos Reis Claire DiCrescendo" diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index f2213ff..522e1da 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -3842,5 +3842,7 @@ src/input/* fix bug 7217
books/bookvol10.2 fix bug 7217
20120312.01.tpd.patch books/bookvol10.4, books/bookvol10.3 fix bug 7217
+20120316.01.mxc.patch +src/input/testpackage.input added
diff --git a/src/input/Makefile.pamphlet b/src/input/Makefile.pamphlet index 553b359..bbda020 100644 --- a/src/input/Makefile.pamphlet +++ b/src/input/Makefile.pamphlet @@ -396,7 +396,7 @@ REGRESSTESTS= ackermann.regress \ string.regress strtbl.regress summation.regress \ symbol.regress t111293.regress table.regress tancot.regress \ tanhcoth.regress tanatan.regress tbagg.regress telford.regress \ - test.regress \ + test.regress testpackage.regress \ testprob.regress textfile.regress torus.regress tuplebug.regress \ tpiezas001.regress \ tpiezas002.regress \ @@ -799,7 +799,7 @@ FILES= ${OUT}/ackermann.input \ ${OUT}/synonym.input ${OUT}/t111293.input \ ${OUT}/table.input ${OUT}/tancot.input ${OUT}/tanhcoth.input \ ${OUT}/tanatan.input ${OUT}/tbagg.input ${OUT}/telford.input \ - ${OUT}/test.input \ + ${OUT}/test.input ${OUT}/testpackage.input \ ${OUT}/testprob.input \ ${OUT}/tetra.input ${OUT}/textfile.input ${OUT}/tknot.input \ ${OUT}/tpiezas001.input \ @@ -1261,7 +1261,8 @@ DOCFILES= \ ${DOC}/tbagg.input.dvi ${DOC}/telford.input.dvi \ ${DOC}/test.input.dvi ${DOC}/tetra.input.dvi \ ${DOC}/textfile.input.dvi ${DOC}/tknot.input.dvi \ - ${DOC}/torus.input.dvi ${DOC}/testprob.input.dvi \ + ${DOC}/torus.input.dvi ${DOC}/testpackage.input.dvi \ + ${DOC}/testprob.input.dvi \ ${DOC}/tpiezas001.input.dvi \ ${DOC}/tpiezas002.input.dvi \ ${DOC}/tree.input.dvi \ diff --git a/src/input/testpackage.input.pamphlet b/src/input/testpackage.input.pamphlet new file mode 100644 index 0000000..9bd283e --- /dev/null +++ b/src/input/testpackage.input.pamphlet @@ -0,0 +1,153 @@ +\documentclass{article} +\usepackage{axiom} +\setlength{\textwidth}{400pt} +\begin{document} +\title{\$SPAD/src/input testpackage.input} +\author{Mark Clements} +\maketitle +\begin{abstract} +\end{abstract} +\eject +\tableofcontents +\eject +\begin{chunk}{testpackage.spad} +)abbrev package TESTP TestPackage +VR ==> Vector(R) +MR ==> Matrix(R) +NNI ==> NonNegativeInteger +TestPackage(F:Join(Field,RadicalCategory,TranscendentalFunctionCategory),_ + R:ComplexCategory(F)): with + transposeH: MR -> MR + unitVector: NNI -> VR + norm: VR -> F + conjugate: VR -> VR + "/": (R,MR) -> MR + "/": (R,VR) -> VR + "/": (VR,R) -> VR + "**": (VR,NNI) -> VR + solveUpperTriangular: (MR,VR) -> VR + householder: VR -> MR + qr: MR -> Record(q:MR,r:MR) + lsqr: (MR,VR) -> VR + polyfit: (VR,VR,NNI) -> VR + == add + import VectorFunctions2(R,F) + transposeH(m:MR):MR == transpose(map(conjugate,m)) + conjugate(v:VR):VR == map((vi:R):R +-> conjugate(vi)$R,v)$VR + unitVector(dim) == + out := new(dim,0@R)$VR + out(1) := 1@R + out + a:R / m:MR == map((mij:R):R +-> a/mij,m)$MR + a:R / v:VR == map((vi:R):R +-> a/vi,v)$VR + v:VR / a:R == map((vi:R):R +-> vi/a,v)$VR + v:VR ** n:NonNegativeInteger == map((vi:R):R +-> vi**n,v)$VR + norm(v:Vector(R)):F == reduce("+",map(norm,v)) + solveUpperTriangular(r,b) == + n := ncols r + x := new(n,0@R)$VR + for k in n..1 by -1 repeat + index := min(n,k+1) + x(k) := (b(k)-reduce("+",subMatrix(r,k,k,index,n)*x.(index..n)))/r(k,k) + x + householder(a) == + m := #a + alpha : R := -a(1)*inv(sqrt norm a(1))*sqrt(norm(a)) + e : VR := unitVector(m) + u : VR := a + alpha*e + v : VR := u/complex(sqrt norm(u),0) + w : R := dot(conjugate a,v)/dot(conjugate v,a) + scalarMatrix(m,1) - (1+w)*transpose(outerProduct(v,conjugate v)) + qr(a) == + m := nrows a + n := ncols a + qm := scalarMatrix(m,1) + rm : MR := copy a + for i in 1..(if m=n then n-1 else n) repeat + x := column(subMatrix(rm,i,m,i,n),1) + h := scalarMatrix(m,1) + setsubMatrix!(h,i,i,householder x) + qm := qm*h + rm := h*rm + [qm,rm] +\end{chunk} +\begin{chunk}{*} +)set break resume +)spool testpackage.output +)set message test on +)set message auto off +)clear all +)sys cp $AXIOM/../../src/input/testpackage.input.pamphlet . +)lisp (tangle "testpackage.input.pamphlet" "testpackage.spad" "testpackage.spad") +)co testpackage.spad + +--S 1 of 5 +m := matrix [[12, -51, 4+%i], [6, 167, -68], [-4, 24, -41]] +--R +--R +12 - 51 4 + %i+ +--R | | +--R (1) | 6 167 - 68 | +--R | | +--R +- 4 24 - 41 + +--R Type: Matrix(Complex(Integer)) +--E 1 + +--S 2 of 5 +out := qr m +--R +--R + 6 69 58+ + 6 + +--R | - --- - ---| |14 21 - 14 + - %i| +--R | 7 175 175| | 7 | +--R | | | | +--R | 3 158 6 | | 69 | +--R (2) [q= | - - --- --- |,r= |0 - 175 70 + --- %i|] +--R | 7 175 175 | | 175 | +--R | | | | +--R | 2 6 33 | | 58 | +--R |- - - -- - -- | |0 0 35 - --- %i| +--R + 7 35 35 + + 175 + +--IType: Record(q: Matrix(Complex(Expression(Integer))),... +--E 2 + +--S 3 of 5 +transpose(map(conjugate,out.q))*out.q +--R +--R +1 0 0+ +--R | | +--R (3) |0 1 0| +--R | | +--R +0 0 1+ +--R Type: Matrix(Complex(Expression(Integer))) +--E 3 + +--S 4 of 5 +out.q*transpose(map(conjugate,out.q)) +--R +--R +1 0 0+ +--R | | +--R (4) |0 1 0| +--R | | +--R +0 0 1+ +--R Type: Matrix(Complex(Expression(Integer))) +--E 4 + +--S 5 of 5 +out.q * out.r - m +--R +--R +0 0 0+ +--R | | +--R (5) |0 0 0| +--R | | +--R +0 0 0+ +--R Type: Matrix(Complex(Expression(Integer))) +--E 5 + +)spool +)lisp (bye) + +\end{chunk} +\eject +\begin{thebibliography}{99} +\bibitem{1} nothing +\end{thebibliography} +\end{document}