diff --git a/changelog b/changelog index 30cf744..5a3a67b 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,7 @@ +20080816 tpd src/input/Makefile add regression tests +20080816 tpd src/input/test.input create regression +20080816 tpd src/input/regset.input create regression +20080816 tpd src/input/bern.input break into pieces 20080816 tpd src/input/tutchap2.input remove f 0, it takes too long 20080815 tpd books/bookvol7.1 fix typo, lost $ recovered 20080815 tpd Makefile make hyperdoc before testing diff --git a/src/input/Makefile.pamphlet b/src/input/Makefile.pamphlet index 93718ee..5581e71 100644 --- a/src/input/Makefile.pamphlet +++ b/src/input/Makefile.pamphlet @@ -240,7 +240,7 @@ ASEC=errortrap.output # Error: FLUSH is invalid as a function # Error signalled by newGoGet -FLUSH=regset.output +FLUSH= # Error: The function WRAPPED is undefined. WRAPPED=loop.output @@ -353,7 +353,8 @@ REGRES= algaggr.regress algbrbf.regress algfacob.regress alist.regress \ poly1.regress polycoer.regress poly.regress psgenfcn.regress \ quat1.regress quat.regress r20abugs.regress r20bugs.regress \ r21bugsbig.regress r21bugs.regress radff.regress radix.regress \ - realclos.regress reclos.regress repa6.regress robidoux.regress \ + realclos.regress reclos.regress regset.regress \ + repa6.regress robidoux.regress \ roman.regress roots.regress ruleset.regress rules.regress \ schaum1.regress schaum2.regress schaum3.regress schaum4.regress \ schaum5.regress schaum6.regress schaum7.regress schaum8.regress \ @@ -373,7 +374,7 @@ REGRES= algaggr.regress algbrbf.regress algfacob.regress alist.regress \ stbl.regress stream2.regress stream.regress streams.regress \ string.regress strtbl.regress summation.regress \ symbol.regress t111293.regress table.regress tancot.regress \ - tanhcoth.regress tanatan.regress tbagg.regress \ + tanhcoth.regress tanatan.regress tbagg.regress test.regress \ textfile.regress torus.regress \ triglim.regress tsetcatvermeer.regress tutchap1.regress \ void.regress uniseg.regress @@ -942,7 +943,8 @@ DOCFILES= \ ${DOC}/r20bugs.input.dvi ${DOC}/r21bugsbig.input.dvi \ ${DOC}/r21bugs.input.dvi ${DOC}/radff.input.dvi \ ${DOC}/radix.input.dvi ${DOC}/realclos.input.dvi \ - ${DOC}/reclos.input.dvi ${DOC}/reductio.input.dvi \ + ${DOC}/reclos.input.dvi ${DOC}/regset.input.dvi \ + ${DOC}/reductio.input.dvi \ ${DOC}/regset.input.dvi ${DOC}/repa6.input.dvi \ ${DOC}/ribbon.input.dvi ${DOC}/ribbons.input.dvi \ ${DOC}/ribbonsnew.input.dvi ${DOC}/rk4draw.input.dvi \ diff --git a/src/input/bern.input.pamphlet b/src/input/bern.input.pamphlet index b383351..78cca45 100644 --- a/src/input/bern.input.pamphlet +++ b/src/input/bern.input.pamphlet @@ -10,8 +10,11 @@ \tableofcontents \eject <<*>>= --- @(#)bern.input 1.1 89/09/07 20:54:27 -draw(curve(cos(t)/(1+sin(t)**2),sin(t)*cos(t)/(1+sin(t)**2)),t = -%pi..%pi, [title "Lemniscate of Bernoulli"]) +f(t)==cos(t)/(1+sin(t)**2) +g(t)==sin(t)*cos(t)/(1+sin(t)**2) +c(t)==curve(f(t),g(t)) +d:=draw(c(t)),t = -%pi..%pi, [title "Lemniscate of Bernoulli"]) +close(d) @ \eject \begin{thebibliography}{99} diff --git a/src/input/regset.input.pamphlet b/src/input/regset.input.pamphlet index 1e52bfb..cc33b54 100644 --- a/src/input/regset.input.pamphlet +++ b/src/input/regset.input.pamphlet @@ -1,53 +1,550 @@ \documentclass{article} \usepackage{axiom} \begin{document} -\title{\$SPAD/src/input REGSET.input} -\author{The Axiom Team} +\title{\$SPAD/src/input regset.input} +\author{Timothy Daly} \maketitle \begin{abstract} +Input generated from RegularTriangularSetXmpPage \end{abstract} \eject \tableofcontents \eject <<*>>= - --- Input generated from RegularTriangularSetXmpPage +)spool regset.output +)set message test on +)set message auto off )clear all - + +--S 1 of 34 R := Integer +--R +--R +--R (1) Integer +--R Type: Domain +--E 1 + +--S 2 of 34 ls : List Symbol := [x,y,z,t] +--R +--R +--R (2) [x,y,z,t] +--R Type: List Symbol +--E 2 + +--S 3 of 34 V := OVAR(ls) +--R +--R +--R (3) OrderedVariableList [x,y,z,t] +--R Type: Domain +--E 3 + +--S 4 of 34 E := IndexedExponents V +--R +--R +--R (4) IndexedExponents OrderedVariableList [x,y,z,t] +--R Type: Domain +--E 4 + +--S 5 of 34 P := NSMP(R, V) +--R +--R +--R (5) NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--R Type: Domain +--E 5 + +--S 6 of 34 x: P := 'x +--R +--R +--R (6) x +--R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--E 6 + +--S 7 of 34 y: P := 'y +--R +--R +--R (7) y +--R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--E 7 + +--S 8 of 34 z: P := 'z +--R +--R +--R (8) z +--R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--E 8 + +--S 9 of 34 t: P := 't +--R +--R +--R (9) t +--R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--E 9 + +--S 10 of 34 T := REGSET(R,E,V,P) +--R +--R +--R (10) +--R RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],O +--R rderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedV +--R ariableList [x,y,z,t])) +--R Type: Domain +--E 10 + +--S 11 of 34 p1 := x ** 31 - x ** 6 - x - y +--R +--R +--R 31 6 +--R (11) x - x - x - y +--R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--E 11 + +--S 12 of 34 p2 := x ** 8 - z +--R +--R +--R 8 +--R (12) x - z +--R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--E 12 + +--S 13 of 34 p3 := x ** 10 - t +--R +--R +--R 10 +--R (13) x - t +--R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--E 13 + +--S 14 of 34 lp := [p1, p2, p3] +--R +--R +--R 31 6 8 10 +--R (14) [x - x - x - y,x - z,x - t] +--RType: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--E 14 + +--S 15 of 34 zeroSetSplit(lp)$T +--R +--R +--R 5 4 2 3 8 5 3 2 4 2 +--R (15) [{z - t ,t z y + 2z y - t + 2t + t - t ,(t - t)x - t y - z }] +--RType: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +--E 15 + +--S 16 of 34 lts := zeroSetSplit(lp,false)$T +--R +--R +--R (16) +--R 5 4 2 3 8 5 3 2 4 2 +--R [{z - t ,t z y + 2z y - t + 2t + t - t ,(t - t)x - t y - z }, +--R 3 5 2 3 2 +--R {t - 1,z - t,t z y + 2z y + 1,z x - t}, {t,z,y,x}] +--RType: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +--E 16 + +--S 17 of 34 [coHeight(ts) for ts in lts] +--R +--R +--R (17) [1,0,0] +--R Type: List NonNegativeInteger +--E 17 + +--S 18 of 34 f1 := y**2*z+2*x*y*t-2*x-z +--R +--R +--R 2 +--R (18) (2t y - 2)x + z y - z +--R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--E 18 + +--S 19 of 34 f2 := -x**3*z+ 4*x*y**2*z+ 4*x**2*y*t+ 2*y**3*t+ 4*x**2- 10*y**2+ 4*x*z- 10*y*t+ 2 +--R +--R +--R 3 2 2 3 2 +--R (19) - z x + (4t y + 4)x + (4z y + 4z)x + 2t y - 10y - 10t y + 2 +--R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--E 19 + +--S 20 of 34 f3 := 2*y*z*t+x*t**2-x-2*z +--R +--R +--R 2 +--R (20) (t - 1)x + 2t z y - 2z +--R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--E 20 + +--S 21 of 34 f4 := -x*z**3+ 4*y*z**2*t+ 4*x*z*t**2+ 2*y*t**3+ 4*x*z+ 4*z**2-10*y*t- 10*t**2+2 +--R +--R +--R 3 2 2 3 2 2 +--R (21) (- z + (4t + 4)z)x + (4t z + 2t - 10t)y + 4z - 10t + 2 +--R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--E 21 + +--S 22 of 34 lf := [f1, f2, f3, f4] +--R +--R +--R (22) +--R 2 +--R [(2t y - 2)x + z y - z, +--R 3 2 2 3 2 +--R - z x + (4t y + 4)x + (4z y + 4z)x + 2t y - 10y - 10t y + 2, +--R 2 +--R (t - 1)x + 2t z y - 2z, +--R 3 2 2 3 2 2 +--R (- z + (4t + 4)z)x + (4t z + 2t - 10t)y + 4z - 10t + 2] +--RType: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--E 22 + +--S 23 of 34 zeroSetSplit(lf)$T +--R +--R +--R (23) +--R 2 8 6 2 3 2 +--R [{t - 1,z - 16z + 256z - 256,t y - 1,(z - 8z)x - 8z + 16}, +--R 2 2 2 +--R {3t + 1,z - 7t - 1,y + t,x + z}, +--R 8 6 2 3 2 +--R {t - 10t + 10t - 1,z,(t - 5t)y - 5t + 1,x}, +--R 2 2 +--R {t + 3,z - 4,y + t,x - z}] +--RType: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +--E 23 + +--S 24 of 34 lts2 := zeroSetSplit(lf,false)$T +--R +--R +--R (24) +--R 8 6 2 3 2 +--R [{t - 10t + 10t - 1,z,(t - 5t)y - 5t + 1,x}, +--R 2 8 6 2 3 2 +--R {t - 1,z - 16z + 256z - 256,t y - 1,(z - 8z)x - 8z + 16}, +--R 2 2 2 2 2 +--R {3t + 1,z - 7t - 1,y + t,x + z}, {t + 3,z - 4,y + t,x - z}] +--RType: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +--E 24 + +--S 25 of 34 [coHeight(ts) for ts in lts2] +--R +--R +--R (25) [0,0,0,0] +--R Type: List NonNegativeInteger +--E 25 + +--S 26 of 34 degrees := [degree(ts) for ts in lts2] +--R +--R +--R (26) [8,16,4,4] +--R Type: List NonNegativeInteger +--E 26 + +--S 27 of 34 reduce(+,degrees) +--R +--R +--R (27) 32 +--R Type: PositiveInteger +--E 27 + +--S 28 of 34 u : R := 2 +--R +--R +--R (28) 2 +--R Type: Integer +--E 28 + +--S 29 of 34 q1 := 2*(u-1)**2+ 2*(x-z*x+z**2)+ y**2*(x-1)**2- 2*u*x+ 2*y*t*(1-x)*(x-z)+ 2*u*z*t*(t-y)+ u**2*t**2*(1-2*z)+ 2*u*t**2*(z-x)+ 2*u*t*y*(z-1)+ 2*u*z*x*(y+1)+ (u**2-2*u)*z**2*t**2+ 2*u**2*z**2+ 4*u*(1-u)*z+ t**2*(z-x)**2 +--R +--R +--R (29) +--R 2 2 2 2 2 2 +--R (y - 2t y + t )x + (- 2y + ((2t + 4)z + 2t)y + (- 2t + 2)z - 4t - 2)x +--R + +--R 2 2 2 2 +--R y + (- 2t z - 4t)y + (t + 10)z - 8z + 4t + 2 +--R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--E 29 + +--S 30 of 34 q2 := t*(2*z+1)*(x-z)+ y*(z+2)*(1-x)+ u*(u-2)*t+ u*(1-2*u)*z*t+ u*y*(x+u-z*x-1)+ u*(u+1)*z**2*t +--R +--R +--R 2 +--R (30) (- 3z y + 2t z + t)x + (z + 4)y + 4t z - 7t z +--R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--E 30 + +--S 31 of 34 q3 := -u**2*(z-1)**2+ 2*z*(z-x)-2*(x-1) +--R +--R +--R 2 +--R (31) (- 2z - 2)x - 2z + 8z - 2 +--R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--E 31 + +--S 32 of 34 q4 := u**2+4*(z-x**2)+3*y**2*(x-1)**2- 3*t**2*(z-x)**2 +3*u**2*t**2*(z-1)**2+u**2*z*(z-2)+6*u*t*y*(z+x+z*x-1) +--R +--R +--R (32) +--R 2 2 2 2 2 2 +--R (3y - 3t - 4)x + (- 6y + (12t z + 12t)y + 6t z)x + 3y + (12t z - 12t)y +--R + +--R 2 2 2 2 +--R (9t + 4)z + (- 24t - 4)z + 12t + 4 +--R Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--E 32 + +--S 33 of 34 lq := [q1, q2, q3, q4] +--R +--R +--R (33) +--R [ +--R 2 2 2 +--R (y - 2t y + t )x +--R + +--R 2 2 2 2 +--R (- 2y + ((2t + 4)z + 2t)y + (- 2t + 2)z - 4t - 2)x + y +--R + +--R 2 2 2 +--R (- 2t z - 4t)y + (t + 10)z - 8z + 4t + 2 +--R , +--R 2 2 +--R (- 3z y + 2t z + t)x + (z + 4)y + 4t z - 7t z, (- 2z - 2)x - 2z + 8z - 2, +--R +--R 2 2 2 2 2 2 +--R (3y - 3t - 4)x + (- 6y + (12t z + 12t)y + 6t z)x + 3y +--R + +--R 2 2 2 2 +--R (12t z - 12t)y + (9t + 4)z + (- 24t - 4)z + 12t + 4 +--R ] +--RType: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +--E 33 + +--S 34 of 34 zeroSetSplit(lq,true,true)$T +--R +--R[1 <4,0> -> |4|; {0}]W[2 <5,0>,<3,1> -> |8|; {0}][2 <4,1>,<3,1> -> |7|; {0}][1 <3,1> -> |3|; {0}]G[2 <4,1>,<4,1> -> |8|; {0}]W[3 <5,1>,<4,1>,<3,2> -> |12|; {0}]GI[3 <4,2>,<4,1>,<3,2> -> |11|; {0}]GWw[3 <4,1>,<3,2>,<5,2> -> |12|; {0}][3 <3,2>,<3,2>,<5,2> -> |11|; {0}]GIwWWWw[4 <3,2>,<4,2>,<5,2>,<2,3> -> |14|; {0}][4 <2,2>,<4,2>,<5,2>,<2,3> -> |13|; {0}]Gwww[5 <3,2>,<3,2>,<4,2>,<5,2>,<2,3> -> |17|; {0}]Gwwwwww[8 <3,2>,<4,2>,<4,2>,<4,2>,<4,2>,<4,2>,<5,2>,<2,3> -> |30|; {0}]Gwwwwww[8 <4,2>,<4,2>,<4,2>,<4,2>,<4,2>,<4,2>,<5,2>,<2,3> -> |31|; {0}][8 <3,3>,<4,2>,<4,2>,<4,2>,<4,2>,<4,2>,<5,2>,<2,3> -> |30|; {0}][8 <2,3>,<4,2>,<4,2>,<4,2>,<4,2>,<4,2>,<5,2>,<2,3> -> |29|; {0}][8 <1,3>,<4,2>,<4,2>,<4,2>,<4,2>,<4,2>,<5,2>,<2,3> -> |28|; {0}][7 <4,2>,<4,2>,<4,2>,<4,2>,<4,2>,<5,2>,<2,3> -> |27|; {0}][6 <4,2>,<4,2>,<4,2>,<4,2>,<5,2>,<2,3> -> |23|; {0}][5 <4,2>,<4,2>,<4,2>,<5,2>,<2,3> -> |19|; {0}]GIGIWwww[6 <5,2>,<4,2>,<4,2>,<5,2>,<3,3>,<2,3> -> |23|; {0}][6 <4,3>,<4,2>,<4,2>,<5,2>,<3,3>,<2,3> -> |22|; {0}]GIGI[6 <3,4>,<4,2>,<4,2>,<5,2>,<3,3>,<2,3> -> |21|; {0}][6 <2,4>,<4,2>,<4,2>,<5,2>,<3,3>,<2,3> -> |20|; {0}]GGG[5 <4,2>,<4,2>,<5,2>,<3,3>,<2,3> -> |18|; {0}]GIGIWwwwW[6 <5,2>,<4,2>,<5,2>,<3,3>,<3,3>,<2,3> -> |22|; {0}][6 <4,3>,<4,2>,<5,2>,<3,3>,<3,3>,<2,3> -> |21|; {0}]GIwwWwWWWWWWWwWWWWwwwww[8 <4,2>,<5,2>,<3,3>,<3,3>,<4,3>,<2,3>,<3,4>,<3,4> -> |27|; {0}][8 <3,3>,<5,2>,<3,3>,<3,3>,<4,3>,<2,3>,<3,4>,<3,4> -> |26|; {0}][8 <2,3>,<5,2>,<3,3>,<3,3>,<4,3>,<2,3>,<3,4>,<3,4> -> |25|; {0}]Gwwwwwwwwwwwwwwwwwwww[9 <5,2>,<3,3>,<3,3>,<4,3>,<3,3>,<3,3>,<2,3>,<3,4>,<3,4> -> |29|; {0}]GI[9 <4,3>,<3,3>,<3,3>,<4,3>,<3,3>,<3,3>,<2,3>,<3,4>,<3,4> -> |28|; {0}][9 <3,3>,<3,3>,<3,3>,<4,3>,<3,3>,<3,3>,<2,3>,<3,4>,<3,4> -> |27|; {0}][9 <2,3>,<3,3>,<3,3>,<4,3>,<3,3>,<3,3>,<2,3>,<3,4>,<3,4> -> |26|; {0}]GGwwwwwwwwwwwwWWwwwwwwww[11 <3,3>,<3,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |33|; {0}][11 <2,3>,<3,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |32|; {0}][11 <1,3>,<3,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |31|; {0}]GGGwwwwwwwwwwwww[12 <2,3>,<2,3>,<3,3>,<3,3>,<4,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |34|; {0}]GGwwwwwwwwwwwww[13 <3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |38|; {0}]Gwwwwwwwwwwwww[13 <2,3>,<3,3>,<4,3>,<3,3>,<4,3>,<3,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |39|; {0}]GGGwwwwwwwwwwwww[15 <3,3>,<4,3>,<3,3>,<3,3>,<3,3>,<3,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |46|; {0}][14 <4,3>,<3,3>,<3,3>,<3,3>,<3,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |43|; {0}]GIGGGGIGGI[14 <3,4>,<3,3>,<3,3>,<3,3>,<3,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |42|; {0}]GGG[14 <2,4>,<3,3>,<3,3>,<3,3>,<3,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |41|; {0}][14 <1,4>,<3,3>,<3,3>,<3,3>,<3,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |40|; {0}]GGG[13 <3,3>,<3,3>,<3,3>,<3,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |39|; {0}]Gwwwwwwwwwwwww[15 <3,3>,<3,3>,<4,3>,<4,3>,<4,3>,<3,3>,<3,3>,<4,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |48|; {0}]Gwwwwwwwwwwwww[15 <4,3>,<4,3>,<3,3>,<4,3>,<4,3>,<3,3>,<4,3>,<3,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |49|; {0}]GIGI[15 <3,4>,<4,3>,<3,3>,<4,3>,<4,3>,<3,3>,<4,3>,<3,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |48|; {0}]G[14 <4,3>,<3,3>,<4,3>,<4,3>,<3,3>,<4,3>,<3,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |45|; {0}][13 <3,3>,<4,3>,<4,3>,<3,3>,<4,3>,<3,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |41|; {0}]Gwwwwwwwwwwwww[13 <4,3>,<4,3>,<4,3>,<3,3>,<3,3>,<4,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |42|; {0}]GIGGGGIGGI[13 <3,4>,<4,3>,<4,3>,<3,3>,<3,3>,<4,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |41|; {0}]GGGGGGGG[13 <2,4>,<4,3>,<4,3>,<3,3>,<3,3>,<4,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |40|; {0}][13 <1,4>,<4,3>,<4,3>,<3,3>,<3,3>,<4,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |39|; {0}][13 <0,4>,<4,3>,<4,3>,<3,3>,<3,3>,<4,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |38|; {0}][12 <4,3>,<4,3>,<3,3>,<3,3>,<4,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |38|; {1}][11 <4,3>,<3,3>,<3,3>,<4,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |34|; {1}][10 <3,3>,<3,3>,<4,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |30|; {1}][10 <2,3>,<3,3>,<4,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |29|; {1}]GGGwwwwwwwwwwwww[11 <3,3>,<3,3>,<4,3>,<3,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |33|; {1}]GGGwwwwwwwwwwwww[12 <4,3>,<3,3>,<4,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |38|; {1}]Gwwwwwwwwwwwww[12 <3,3>,<4,3>,<5,3>,<3,3>,<4,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |39|; {1}]GGwwwwwwwwwwwww[13 <5,3>,<4,3>,<4,3>,<4,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |44|; {1}]GIGGGGIGGIW[13 <4,4>,<4,3>,<4,3>,<4,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |43|; {1}]GGW[13 <3,4>,<4,3>,<4,3>,<4,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |42|; {1}]GGG[12 <4,3>,<4,3>,<4,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |39|; {1}]Gwwwwwwwwwwwww[12 <4,3>,<4,3>,<5,3>,<3,3>,<4,3>,<3,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |40|; {1}]Gwwwwwwwwwwwww[13 <5,3>,<5,3>,<4,3>,<5,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |46|; {1}]GIGIW[13 <4,4>,<5,3>,<4,3>,<5,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |45|; {1}][13 <3,4>,<5,3>,<4,3>,<5,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |44|; {1}][13 <2,4>,<5,3>,<4,3>,<5,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |43|; {1}]GG[12 <5,3>,<4,3>,<5,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |41|; {1}]GIGGGGIGGIW[12 <4,4>,<4,3>,<5,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |40|; {1}]GGGGGGW[12 <3,4>,<4,3>,<5,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |39|; {1}][12 <2,4>,<4,3>,<5,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |38|; {1}][12 <1,4>,<4,3>,<5,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |37|; {1}]GGG[11 <4,3>,<5,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |36|; {1}][10 <5,3>,<3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |32|; {1}][9 <3,3>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |27|; {1}]W[9 <2,4>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |26|; {1}][9 <1,4>,<3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |25|; {1}][8 <3,3>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |24|; {1}]W[8 <2,4>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |23|; {1}][8 <1,4>,<4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |22|; {1}][7 <4,3>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |21|; {1}]w[7 <3,4>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |20|; {1}][7 <2,4>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |19|; {1}][7 <1,4>,<2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |18|; {1}][6 <2,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |17|; {1}]GGwwwwww[7 <3,3>,<3,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |21|; {1}]GIW[7 <2,4>,<3,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |20|; {1}]GG[6 <3,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |18|; {1}]Gwwwwww[7 <4,3>,<4,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |23|; {1}]GIW[7 <3,4>,<4,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |22|; {1}][6 <4,3>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |19|; {1}]GIW[6 <3,4>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |18|; {1}]GGW[6 <2,4>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |17|; {1}][6 <1,4>,<3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |16|; {1}]GGG[5 <3,3>,<3,3>,<3,3>,<3,4>,<3,4> -> |15|; {1}]GIW[5 <2,4>,<3,3>,<3,3>,<3,4>,<3,4> -> |14|; {1}]GG[4 <3,3>,<3,3>,<3,4>,<3,4> -> |12|; {1}][3 <3,3>,<3,4>,<3,4> -> |9|; {1}]W[3 <2,4>,<3,4>,<3,4> -> |8|; {1}][3 <1,4>,<3,4>,<3,4> -> |7|; {1}]G[2 <3,4>,<3,4> -> |6|; {1}]G[1 <3,4> -> |3|; {1}][1 <2,4> -> |2|; {1}][1 <1,4> -> |1|; {1}] +--R *** QCMPACK Statistics *** +--R Table size: 36 +--R Entries reused: 255 +--R +--R *** REGSETGCD: Gcd Statistics *** +--R Table size: 125 +--R Entries reused: 0 +--R +--R *** REGSETGCD: Inv Set Statistics *** +--R Table size: 30 +--R Entries reused: 0 +--R +--R (34) +--R [ +--R { +--R 24 23 22 +--R 960725655771966t + 386820897948702t + 8906817198608181t +--R + +--R 21 20 19 +--R 2704966893949428t + 37304033340228264t + 7924782817170207t +--R + +--R 18 17 16 +--R 93126799040354990t + 13101273653130910t + 156146250424711858t +--R + +--R 15 14 13 +--R 16626490957259119t + 190699288479805763t + 24339173367625275t +--R + +--R 12 11 10 +--R 180532313014960135t + 35288089030975378t + 135054975747656285t +--R + +--R 9 8 7 +--R 34733736952488540t + 75947600354493972t + 19772555692457088t +--R + +--R 6 5 4 +--R 28871558573755428t + 5576152439081664t + 6321711820352976t +--R + +--R 3 2 +--R 438314209312320t + 581105748367008t - 60254467992576t + 1449115951104 +--R , +--R +--R 23 +--R 26604210869491302385515265737052082361668474181372891857784t +--R + +--R 22 +--R 443104378424686086067294899528296664238693556855017735265295t +--R + +--R 21 +--R 279078393286701234679141342358988327155321305829547090310242t +--R + +--R 20 +--R 3390276361413232465107617176615543054620626391823613392185226t +--R + +--R 19 +--R 941478179503540575554198645220352803719793196473813837434129t +--R + +--R 18 +--R 11547855194679475242211696749673949352585747674184320988144390t +--R + +--R 17 +--R 1343609566765597789881701656699413216467215660333356417241432t +--R + +--R 16 +--R 23233813868147873503933551617175640859899102987800663566699334t +--R + +--R 15 +--R 869574020537672336950845440508790740850931336484983573386433t +--R + +--R 14 +--R 31561554305876934875419461486969926554241750065103460820476969t +--R + +--R 13 +--R 1271400990287717487442065952547731879554823889855386072264931t +--R + +--R 12 +--R 31945089913863736044802526964079540198337049550503295825160523t +--R + +--R 11 +--R 3738735704288144509871371560232845884439102270778010470931960t +--R + +--R 10 +--R 25293997512391412026144601435771131587561905532992045692885927t +--R + +--R 9 +--R 5210239009846067123469262799870052773410471135950175008046524t +--R + +--R 8 +--R 15083887986930297166259870568608270427403187606238713491129188t +--R + +--R 7 +--R 3522087234692930126383686270775779553481769125670839075109000t +--R + +--R 6 +--R 6079945200395681013086533792568886491101244247440034969288588t +--R + +--R 5 +--R 1090634852433900888199913756247986023196987723469934933603680t +--R + +--R 4 +--R 1405819430871907102294432537538335402102838994019667487458352t +--R + +--R 3 +--R 88071527950320450072536671265507748878347828884933605202432t +--R + +--R 2 +--R 135882489433640933229781177155977768016065765482378657129440t +--R + +--R - 13957283442882262230559894607400314082516690749975646520320t +--R + +--R 334637692973189299277258325709308472592117112855749713920 +--R * +--R z +--R + +--R 23 +--R 8567175484043952879756725964506833932149637101090521164936t +--R + +--R 22 +--R 149792392864201791845708374032728942498797519251667250945721t +--R + +--R 21 +--R 77258371783645822157410861582159764138123003074190374021550t +--R + +--R 20 +--R 1108862254126854214498918940708612211184560556764334742191654t +--R + +--R 19 +--R 213250494460678865219774480106826053783815789621501732672327t +--R + +--R 18 +--R 3668929075160666195729177894178343514501987898410131431699882t +--R + +--R 17 +--R 171388906471001872879490124368748236314765459039567820048872t +--R + +--R 16 +--R 7192430746914602166660233477331022483144921771645523139658986t +--R + +--R 15 +--R - 128798674689690072812879965633090291959663143108437362453385t +--R + +--R 14 +--R 9553010858341425909306423132921134040856028790803526430270671t +--R + +--R 13 +--R - 13296096245675492874538687646300437824658458709144441096603t +--R + +--R 12 +--R 9475806805814145326383085518325333106881690568644274964864413t +--R + +--R 11 +--R 803234687925133458861659855664084927606298794799856265539336t +--R + +--R 10 +--R 7338202759292865165994622349207516400662174302614595173333825t +--R + +--R 9 +--R 1308004628480367351164369613111971668880538855640917200187108t +--R + +--R 8 +--R 4268059455741255498880229598973705747098216067697754352634748t +--R + +--R 7 +--R 892893526858514095791318775904093300103045601514470613580600t +--R + +--R 6 +--R 1679152575460683956631925852181341501981598137465328797013652t +--R + +--R 5 +--R 269757415767922980378967154143357835544113158280591408043936t +--R + +--R 4 +--R 380951527864657529033580829801282724081345372680202920198224t +--R + +--R 3 +--R 19785545294228495032998826937601341132725035339452913286656t +--R + +--R 2 +--R 36477412057384782942366635303396637763303928174935079178528t +--R + +--R - 3722212879279038648713080422224976273210890229485838670848t +--R + +--R 89079724853114348361230634484013862024728599906874105856 +--R , +--R 3 2 3 2 +--R (3z - 11z + 8z + 4)y + 2t z + 4t z - 5t z - t, +--R 2 +--R (z + 1)x + z - 4z + 1} +--R ] +--RType: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +--E 34 +)spool +)lisp (bye) + @ \eject \begin{thebibliography}{99} diff --git a/src/input/test.input.pamphlet b/src/input/test.input.pamphlet index 49460a9..ea9b453 100644 --- a/src/input/test.input.pamphlet +++ b/src/input/test.input.pamphlet @@ -2,9 +2,10 @@ \usepackage{axiom} \begin{document} \title{\$SPAD/src/input test.input} -\author{The Axiom Team} +\author{Scott Morrison, Bill Burge, Robert Sutor, Timothy Daly} \maketitle \begin{abstract} +File of recently fixed interpreter bugs \end{abstract} \eject \tableofcontents @@ -14,638 +15,2350 @@ --Copyright The Numerical Algorithms Group Limited 1991. @ <<*>>= -<> - - - --- File of recently fixed interpreter bugs - ---- eval a polynomial with EXPR substitution values ---- Fixed by SCM, verified on 10/30/90 - +)spool test.output +)set message test on +)set message auto off +)set break resume + +@ +Eval a polynomial with EXPR substitution values. +Fixed by SCM, verified on 10/30/90 +<<*>>= )clear all - +--S 1 eq1:= A*x**2 + B*x*y + C*y**2 +D*x + E*y + F - +--R +--R +--R 2 2 +--R (1) C y + (B x + E)y + A x + D x + F +--R Type: Polynomial Integer +--E 1 + +--S 2 eq2:= eval(eq1,[x= xdot*cos(t) - ydot*sin(t), y=xdot*sin(t) + ydot*cos(t)]) +--R +--R +--R (2) +--R 2 2 2 +--R (A ydot - B xdot ydot + C xdot )sin(t) +--R + +--R 2 2 +--R ((- B ydot + (2C - 2A)xdot ydot + B xdot )cos(t) - D ydot + E xdot)sin(t) +--R + +--R 2 2 2 +--R (C ydot + B xdot ydot + A xdot )cos(t) + (E ydot + D xdot)cos(t) + F +--R Type: Expression Integer +--E 2 --- UTS coercions. Fixed by SCM, verified on 10/30/90 - +@ +UTS coercions. Fixed by SCM, verified on 10/30/90 +<<*>>= )clear all +--S 3 taylor exp x - +--R +--R +--R (1) +--R 1 2 1 3 1 4 1 5 1 6 1 7 1 8 +--R 1 + x + - x + - x + -- x + --- x + --- x + ---- x + ----- x +--R 2 6 24 120 720 5040 40320 +--R + +--R 1 9 1 10 11 +--R ------ x + ------- x + O(x ) +--R 362880 3628800 +--R Type: UnivariateTaylorSeries(Expression Integer,x,0) +--E 3 + +--S 4 s := % - +--R +--R +--R (2) +--R 1 2 1 3 1 4 1 5 1 6 1 7 1 8 +--R 1 + x + - x + - x + -- x + --- x + --- x + ---- x + ----- x +--R 2 6 24 120 720 5040 40320 +--R + +--R 1 9 1 10 11 +--R ------ x + ------- x + O(x ) +--R 362880 3628800 +--R Type: UnivariateTaylorSeries(Expression Integer,x,0) +--E 4 + +--S 5 s::(UTS(EXPR FLOAT, x, 0)) +--R +--R +--R (3) +--R 2 3 +--R 1.0 + x + 0.5 x + 0.1666666666 6666666667 x +--R + +--R 4 5 +--R 0.0416666666 6666666666 7 x + 0.0083333333 3333333333 34 x +--R + +--R 6 7 +--R 0.0013888888 8888888888 89 x + 0.0001984126 9841269841 27 x +--R + +--R 8 9 +--R 0.0000248015 8730158730 1587 x + 0.0000027557 3192239858 90653 x +--R + +--R 10 11 +--R 0.2755731922 3985890653 E -6 x + O(x ) +--R Type: UnivariateTaylorSeries(Expression Float,x,0.0) +--E 5 + +--S 6 s::(UTS(FLOAT, x, 0)) - +--R +--R +--R (4) +--R 2 3 +--R 1.0 + x + 0.5 x + 0.1666666666 6666666667 x +--R + +--R 4 5 +--R 0.0416666666 6666666666 7 x + 0.0083333333 3333333333 34 x +--R + +--R 6 7 +--R 0.0013888888 8888888888 89 x + 0.0001984126 9841269841 27 x +--R + +--R 8 9 +--R 0.0000248015 8730158730 1587 x + 0.0000027557 3192239858 90653 x +--R + +--R 10 11 +--R 0.2755731922 3985890653 E -6 x + O(x ) +--R Type: UnivariateTaylorSeries(Float,x,0.0) +--E 6 + +--S 7 eval(s,1) +--R +--R +--R 5 8 65 163 1957 685 109601 98641 +--R (5) [1,2,-,-,--,---,----,---,------,-----,...] +--R 2 3 24 60 720 252 40320 36288 +--R Type: Stream Expression Integer +--E 7 + +--S 8 %::(Stream Float) +--R +--R +--R (6) +--R [1.0, 2.0, 2.5, 2.6666666666 666666667, 2.7083333333 333333333, +--R 2.7166666666 666666667, 2.7180555555 555555556, 2.7182539682 53968254, +--R 2.7182787698 412698413, 2.7182815255 731922399, ...] +--R Type: Stream Float +--E 8 --- Another bug, fixed by adding UPXS2 package, +@ +Another bug, fixed by adding UPXS2 package, +<<*>>= +)clear all +--S 9 s := series(sin(a*x),x=0) +--R +--R +--R 3 5 7 9 11 +--R a 3 a 5 a 7 a 9 a 11 12 +--R (1) a x - -- x + --- x - ---- x + ------ x - -------- x + O(x ) +--R 6 120 5040 362880 39916800 +--R Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +--E 9 + +--S 10 eval(s, 1.0) - +--R +--R +--R (2) +--R 3 +--R [0.0, a, a, - 0.1666666666 6666666667 a + a, +--R 3 +--R - 0.1666666666 6666666667 a + a, +--R 5 3 +--R 0.0083333333 3333333333 34 a - 0.1666666666 6666666667 a + a, +--R 5 3 +--R 0.0083333333 3333333333 34 a - 0.1666666666 6666666667 a + a, +--R +--R 7 5 +--R - 0.0001984126 9841269841 27 a + 0.0083333333 3333333333 34 a +--R + +--R 3 +--R - 0.1666666666 6666666667 a + a +--R , +--R +--R 7 5 +--R - 0.0001984126 9841269841 27 a + 0.0083333333 3333333333 34 a +--R + +--R 3 +--R - 0.1666666666 6666666667 a + a +--R , +--R +--R 9 7 +--R 0.0000027557 3192239858 90653 a - 0.0001984126 9841269841 27 a +--R + +--R 5 3 +--R 0.0083333333 3333333333 34 a - 0.1666666666 6666666667 a + a +--R , +--R ...] +--R Type: Stream Expression Float +--E 10 + +--S 11 s - a*x +--R +--R +--R (3) +--R 3 5 7 9 11 13 +--R a 3 a 5 a 7 a 9 a 11 a 13 +--R - -- x + --- x - ---- x + ------ x - -------- x + ---------- x +--R 6 120 5040 362880 39916800 6227020800 +--R + +--R 14 +--R O(x ) +--R Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +--E 11 +@ +Grand finale, just fixed on 3/23/91 +<<*>>= --- grand finale, just fixed on 3/23/91 +--S 12 eval(s, 1.0) +--R +--R +--R (4) +--R 3 +--R [0.0, a, a, - 0.1666666666 6666666667 a + a, +--R 3 +--R - 0.1666666666 6666666667 a + a, +--R 5 3 +--R 0.0083333333 3333333333 34 a - 0.1666666666 6666666667 a + a, +--R 5 3 +--R 0.0083333333 3333333333 34 a - 0.1666666666 6666666667 a + a, +--R +--R 7 5 +--R - 0.0001984126 9841269841 27 a + 0.0083333333 3333333333 34 a +--R + +--R 3 +--R - 0.1666666666 6666666667 a + a +--R , +--R +--R 7 5 +--R - 0.0001984126 9841269841 27 a + 0.0083333333 3333333333 34 a +--R + +--R 3 +--R - 0.1666666666 6666666667 a + a +--R , +--R +--R 9 7 +--R 0.0000027557 3192239858 90653 a - 0.0001984126 9841269841 27 a +--R + +--R 5 3 +--R 0.0083333333 3333333333 34 a - 0.1666666666 6666666667 a + a +--R , +--R ...] +--R Type: Stream Expression Float +--E 12 --- generalized resolve --- Fixed (enhanced) by SCM in 3/23/91 - -)cl all +@ +Generalized resolve. Fixed (enhanced) by SCM in 3/23/91 +<<*>>= +)clear all +--S 13 v := vector [1,2,3] -(1/2)*v +--R +--R +--R (1) [1,2,3] +--R Type: Vector PositiveInteger +--E 13 +--S 14 +(1/2)*v +--R +--R +--R 1 3 +--R (2) [-,1,-] +--R 2 2 +--R Type: Vector Fraction Integer +--E 14 + +--S 15 eval(x**2, x=1/2) +--R +--R +--R 1 +--R (3) - +--R 4 +--R Type: Polynomial Fraction Integer +--E 15 + +--S 16 eval(x**2, x=0.5) -eval(3**x, x=0.5) +--R +--R +--R (4) 0.25 +--R Type: Polynomial Float +--E 16 --- overloading interpreter maps on arity ---- Fixed by SCM, verified on 10/30/90 +--S 17 +eval(3**x, x=0.5) +--R +--R +--R (5) 1.7320508075 688772935 +--R Type: Expression Float +--E 17 +@ +Overloading interpreter maps on arity. Fixed by SCM, verified on 10/30/90 +<<*>>= )clear all +--S 18 f(x) == x+1 +--R +--R Type: Void +--E 18 + +--S 19 f(x,y) == x+y +--R +--R Type: Void +--E 19 +--S 20 f 3 +--R +--R Compiling function f with type PositiveInteger -> PositiveInteger +--R +--R (3) 4 +--R Type: PositiveInteger +--E 20 + +--S 21 f(3,4) +--R +--R Compiling function f with type (PositiveInteger,PositiveInteger) -> +--R PositiveInteger +--R +--R (4) 7 +--R Type: PositiveInteger +--E 21 + +--S 22 f(5) -f(1,x) +--R +--R +--R (5) 6 +--R Type: PositiveInteger +--E 22 --- targetted function requiring a coercion ---- Fixed by SCM, verified on 10/30/90 +--S 23 +f(1,x) +--R +--R Compiling function f with type (PositiveInteger,Variable x) -> +--R Polynomial Integer +--R +--R (6) x + 1 +--R Type: Polynomial Integer +--E 23 +@ +Targetted function requiring a coercion. Fixed by SCM, verified on 10/30/90 +<<*>>= )clear all -series(n +-> bernoulli(n)/factorial(n), t=0) --- in-homogeneous list mapping ---- Fixed by SCM, verified on 10/30/90 +--S 24 +series(n +-> bernoulli(n)/factorial(n), t=0) +--R +--R +--R (1) +--R 1 1 2 1 4 1 6 1 8 1 10 11 +--R 1 - - t + -- t - --- t + ----- t - ------- t + -------- t + O(t ) +--R 2 12 720 30240 1209600 47900160 +--R Type: UnivariatePuiseuxSeries(Expression Integer,t,0) +--E 24 +@ +In-homogeneous list mapping. Fixed by SCM, verified on 10/30/90 +<<*>>= )clear all + +--S 25 l := [1,2,-1] +--R +--R +--R (1) [1,2,- 1] +--R Type: List Integer +--E 25 + +--S 26 f : INT -> FRAC INT +--R +--R Type: Void +--E 26 + +--S 27 f x == x +--R +--R Type: Void +--E 27 + +--S 28 map(f, l) +--R +--R Compiling function f with type Integer -> Fraction Integer +--R +--R (4) [1,2,- 1] +--R Type: List Fraction Integer +--E 28 --- Function args to interpreter functions ---- Fixed by SCM, verified on 10/30/90 +@ +Function args to interpreter functions. Fixed by SCM, verified on 10/30/90 +<<*>>= +)clear all -)cl all +--S 29 f: INT -> INT +--R +--R Type: Void +--E 29 + +--S 30 f x == x+1 +--R +--R Type: Void +--E 30 + +--S 31 u g == g 3 -u f +--R +--R Type: Void +--E 31 --- category modemap requiring a field to be constructed ---- Fixed by SCM, verified on 10/30/90 +--S 32 +u f +--R +--R Compiling function u with type (Integer -> Integer) -> Integer +--R Compiling function f with type Integer -> Integer +--R +--R (4) 4 +--R Type: PositiveInteger +--E 32 +@ +Category modemap requiring a field to be constructed. +Fixed by SCM, verified on 10/30/90 +<<*>>= )clear all +--S 33 groebner [x**2 - y, y**3+1] +--R +--R +--R 2 6 +--R (1) [y - x ,x + 1] +--R Type: List Polynomial Integer +--E 33 --- operations requiring polynomials, passed variables ---- Fixed by SCM, verified on 10/30/90 - +@ +Operations requiring polynomials, passed variables. +Fixed by SCM, verified on 10/30/90 +<<*>>= )clear all + +--S 34 factor x -draw(x, x=-1..1) +--R +--R +--R (1) x +--R Type: Factored Polynomial Integer +--E 34 --- bracket parsing and empty-set types ---- Fixed by SCM, verified on 10/30/90 +--draw(x, x=-1..1) +@ +Bracket parsing and empty-set types. Fixed by SCM, verified on 10/30/90 +<<*>>= )clear all + +@ +--S 35 +{}$(List INT) +--R +--RDaly Bug +--R The function SEQ is not implemented in List Integer . +--E 35 + +--S 36 brace [] -- {} ---{}$(List INT) +--R +--R (1) {} +--R Type: Set None +--E 36 + +--S 37 brace [1] -- {1} --- The following still doesn't work -union(brace [], brace [1,2]) -- union({}, {1,2}) +--R +--R (2) {1} +--R Type: Set PositiveInteger +--E 37 --- Shouldn't work, but no longer bombs the interpreter ---- Fixed by SCM, verified on 10/30/90 +--S 38 +union(brace [], brace [1,2]) -- union({}, {1,2}) +--R +--R (3) {1,2} +--R Type: Set PositiveInteger +--E 38 +@ +Shouldn't work, but no longer bombs the interpreter. +Fixed by SCM, verified on 10/30/90 +<<*>>= )clear all + )set mes test off + +--S 39 map(variable, [x,y]) +--R +--R +--R (1) [x,y] +--R Type: List Union(OrderedVariableList [x,y],"failed") +--E 39 + )set mes test on --- Recursive map type analysis bug ---- Fixed by SCM, verified on 10/30/90 -)set fun recur off +@ +Recursive map type analysis bug. Fixed by SCM, verified on 10/30/90 +<<*>>= )clear all +)set fun recur off + +--S 40 p(n,x) == if n=0 then 1 else (x+n-1)*p(n-1,x) +--R +--R Type: Void +--E 40 + +--S 41 pp(n,x) == if n=0 then 1 else if n<0 then (-1)**n/p(-n,1-x) else p(n,x) +--R +--R Type: Void +--E 41 + +--S 42 pp(-1,x) -- should be 1/(x-1) +--R +--R Compiling function p with type (Integer,Polynomial Integer) -> +--R Polynomial Integer +--R Compiling function p with type (Integer,Variable x) -> Polynomial +--R Integer +--R Compiling function pp with type (Integer,Variable x) -> Fraction +--R Polynomial Fraction Integer +--R +--R 1 +--R (3) ----- +--R x - 1 +--R Type: Fraction Polynomial Fraction Integer +--E 42 --- interpret-code mode for iterators is broken +@ +Interpret-code mode for iterators is broken +<<*>>= +)clear all -)cl all +--S 43 f n == for i in 1..n repeat j:=2*i m:SQMATRIX(j,?):=1 print m +--R +--R Type: Void +--E 43 + +--S 44 g n == j:=2*n m:SQMATRIX(j,?):=1 print m +--R +--R Type: Void +--E 44 +--S 45 g 3 +--R +--R Cannot compile the declaration for m because its (possible partial) +--R type contains a local variable. +--R AXIOM will attempt to step through and interpret the code. +--R +1 0 0 0 0 0+ +--R | | +--R |0 1 0 0 0 0| +--R | | +--R |0 0 1 0 0 0| +--R | | +--R |0 0 0 1 0 0| +--R | | +--R |0 0 0 0 1 0| +--R | | +--R +0 0 0 0 0 1+ +--R Type: Void +--E 45 + +--S 46 f 3 +--R +--R Cannot compile the declaration for m because its (possible partial) +--R type contains a local variable. +--R AXIOM will attempt to step through and interpret the code. +--R +1 0+ +--R | | +--R +0 1+ +--R +1 0 0 0+ +--R | | +--R |0 1 0 0| +--R | | +--R |0 0 1 0| +--R | | +--R +0 0 0 1+ +--R +1 0 0 0 0 0+ +--R | | +--R |0 1 0 0 0 0| +--R | | +--R |0 0 1 0 0 0| +--R | | +--R |0 0 0 1 0 0| +--R | | +--R |0 0 0 0 1 0| +--R | | +--R +0 0 0 0 0 1+ +--R Type: Void +--E 46 --- Test interpreter list destructuring - +@ +Test interpreter list destructuring +<<*>>= )clear all + +--S 47 mp(x,l) == l is [a,:b] => a*x**(#b)+ mp(x,b) 0 +--R +--R Type: Void +--E 47 +--S 48 mp(x, [1,3,4, 2]) +--R +--R Compiling function mp with type (Variable x,List PositiveInteger) +--R -> Polynomial Integer +--R +--R 3 2 +--R (2) x + 3x + 4x + 2 +--R Type: Polynomial Integer +--E 48 + +--S 49 mp(x, [1,2,-3, 4]) +--R +--R Compiling function mp with type (Variable x,List Integer) -> +--R Polynomial Integer +--R +--R 3 2 +--R (3) x + 2x - 3x + 4 +--R Type: Polynomial Integer +--E 49 --- Tests compilation of recursive functions - +@ +Tests compilation of recursive functions +<<*>>= )clear all +--S 50 f1 n == if n=0 then 1 else if n=1 then 1 else f1(n-1)+f1(n-2) +--R +--R Type: Void +--E 50 +--S 51 f2 n == m:=n if n=0 then 1 else if n=1 then 1 else f2(n-1)+f2(n-2) +--R +--R Type: Void +--E 51 +--S 52 f3 n == n=0 => 1 n=1 => 1 f3(n-1)+f3(n-2) +--R +--R Type: Void +--E 52 +--S 53 f4 n == m:=n n=0 => 1 n=1 => 1 m:=n f4(n-1)+f4(n-2) +--R +--R Type: Void +--E 53 +--S 54 f5 n == if n=0 or n=1 then 1 else f5(n-1)+f5(n-2) +--R +--R Type: Void +--E 54 +--S 55 [f1 3,f2 3, f3 3,f4 3,f5 3] +--R +--R Compiling function f1 with type Integer -> PositiveInteger +--R Compiling function f2 with type Integer -> PositiveInteger +--R Compiling function f3 with type Integer -> PositiveInteger +--R Compiling function f4 with type Integer -> PositiveInteger +--R Compiling function f5 with type Integer -> PositiveInteger +--R +--R (6) [3,3,3,3,3] +--R Type: List PositiveInteger +--E 55 --- Input of GDMP types --- Fixed by SCM on 1/22/91 - -)cl all +@ +Input of GDMP types. Fixed by SCM on 1/22/91 +<<*>>= +)clear all +--S 56 g: GDMP([x,y], INT, DIRPROD(2, NNI)) := x**2 + y +--R +--R +--R 2 +--R (1) x + y +--RType: GeneralDistributedMultivariatePolynomial([x,y],Integer,DirectProduct(2,NonNegativeInteger)) +--E 56 --- has test with variables --- Fixed by SCM on 1/22/91 - -)cl all +@ +Has test with variables. Fixed by SCM on 1/22/91 +<<*>>= +)clear all +--S 57 i := INT -i has Algebra(i) +--R +--R +--R (1) Integer +--R Type: Domain +--E 57 --- returns in functions --- Fixed by SCM on 1/22/91 +--S 58 +i has Algebra(i) +--R +--R +--R (2) true +--R Type: Boolean +--E 58 -)cl all +@ +Returns in functions. Fixed by SCM on 1/22/91 +<<*>>= +)clear all +--S 59 f x == if x<0 then return x else x+1 +--R +--R Type: Void +--E 59 +--S 60 f 2 -- should be 3 +--R +--R Compiling function f with type PositiveInteger -> PositiveInteger +--R +--R (2) 3 +--R Type: PositiveInteger +--E 60 + +--S 61 f(-2) -- should be -2 +--R +--R Compiling function f with type Integer -> Integer +--R +--R (3) - 2 +--R Type: Integer +--E 61 --- resolveTT not returning Any --- Fixed by SCM 1/30/91 - -)cl all +@ +resolveTT not returning Any. Fixed by SCM 1/30/91 +<<*>>= +)clear all +--S 62 m = [[1,2],[2,3]] -- Should return type EQ POLY SQMATRIX(2, INT) - +--R +--R +--R +1 2+ +--R (1) m= | | +--R +2 3+ +--R Type: Equation Polynomial SquareMatrix(2,Integer) +--E 62 + +--S 63 [1, "asd"] -- Should be of type List Any +--R +--R +--R (2) [1,"asd"] +--R Type: List Any +--E 63 )set mes test off + +--S 64 1+"asd" -- These should both fail in the same way +--R +--R There are 11 exposed and 5 unexposed library operations named + +--R having 2 argument(s) but none was determined to be applicable. +--R Use HyperDoc Browse, or issue +--R )display op + +--R to learn more about the available operations. Perhaps +--R package-calling the operation or using coercions on the arguments +--R will allow you to apply the operation. +--R +--R Cannot find a definition or applicable library operation named + +--R with argument type(s) +--R PositiveInteger +--R String +--R +--R Perhaps you should use "@" to indicate the required return type, +--R or "$" to specify which version of the function you need. +--E 64 + +--S 65 1/"asd" -)set mes test on +--R +--R There are 12 exposed and 12 unexposed library operations named / +--R having 2 argument(s) but none was determined to be applicable. +--R Use HyperDoc Browse, or issue +--R )display op / +--R to learn more about the available operations. Perhaps +--R package-calling the operation or using coercions on the arguments +--R will allow you to apply the operation. +--R +--R Cannot find a definition or applicable library operation named / +--R with argument type(s) +--R PositiveInteger +--R String +--R +--R Perhaps you should use "@" to indicate the required return type, +--R or "$" to specify which version of the function you need. +--E 65 --- Passing type variables to )show +)set mes test on -)cl all +@ +Passing type variables to )show +<<*>>= +)clear all +--S 66 t := MPOLY([x,y], INT) +--R +--R +--R (1) MultivariatePolynomial([x,y],Integer) +--R Type: Domain +--E 66 + +--S 67 )show t +--R +--R MultivariatePolynomial([x,y],Integer) is a domain constructor. +--R Abbreviation for MultivariatePolynomial is MPOLY +--R This constructor is exposed in this frame. +--R Issue )edit multpoly.spad.pamphlet to see algebra source code for MPOLY +--R +--R------------------------------- Operations -------------------------------- +--R +--R ?*? : (Fraction Integer,%) -> % ?*? : (Integer,%) -> % +--R ?*? : (PositiveInteger,%) -> % ?*? : (%,Fraction Integer) -> % +--R ?*? : (%,Integer) -> % ?*? : (%,%) -> % +--R ?**? : (%,PositiveInteger) -> % ?+? : (%,%) -> % +--R ?-? : (%,%) -> % -? : % -> % +--R ?/? : (%,Integer) -> % ? Boolean +--R ?<=? : (%,%) -> Boolean ?=? : (%,%) -> Boolean +--R ?>? : (%,%) -> Boolean ?>=? : (%,%) -> Boolean +--R 1 : () -> % 0 : () -> % +--R ?^? : (%,PositiveInteger) -> % associates? : (%,%) -> Boolean +--R coefficients : % -> List Integer coerce : % -> OutputForm +--R coerce : Fraction Integer -> % coerce : Integer -> % +--R coerce : % -> % content : % -> Integer +--R convert : % -> InputForm convert : % -> Pattern Float +--R convert : % -> Pattern Integer eval : (%,Equation %) -> % +--R eval : (%,List Equation %) -> % eval : (%,List %,List %) -> % +--R eval : (%,%,%) -> % factor : % -> Factored % +--R gcd : List % -> % gcd : (%,%) -> % +--R ground : % -> Integer ground? : % -> Boolean +--R hash : % -> SingleInteger latex : % -> String +--R lcm : List % -> % lcm : (%,%) -> % +--R leadingCoefficient : % -> Integer leadingMonomial : % -> % +--R max : (%,%) -> % min : (%,%) -> % +--R monomial? : % -> Boolean monomials : % -> List % +--R one? : % -> Boolean prime? : % -> Boolean +--R primitiveMonomials : % -> List % primitivePart : % -> % +--R recip : % -> Union(%,"failed") reductum : % -> % +--R retract : % -> Fraction Integer retract : % -> Integer +--R sample : () -> % squareFree : % -> Factored % +--R squareFreePart : % -> % unit? : % -> Boolean +--R unitCanonical : % -> % zero? : % -> Boolean +--R ?~=? : (%,%) -> Boolean +--R ?*? : (NonNegativeInteger,%) -> % +--R ?**? : (%,NonNegativeInteger) -> % +--R D : (%,List OrderedVariableList [x,y],List NonNegativeInteger) -> % +--R D : (%,List OrderedVariableList [x,y]) -> % +--R D : (%,OrderedVariableList [x,y],NonNegativeInteger) -> % +--R D : (%,OrderedVariableList [x,y]) -> % +--R ?^? : (%,NonNegativeInteger) -> % +--R binomThmExpt : (%,%,NonNegativeInteger) -> % +--R characteristic : () -> NonNegativeInteger +--R charthRoot : % -> Union(%,"failed") +--R coefficient : (%,IndexedExponents OrderedVariableList [x,y]) -> Integer +--R coefficient : (%,List OrderedVariableList [x,y],List NonNegativeInteger) -> % +--R coefficient : (%,OrderedVariableList [x,y],NonNegativeInteger) -> % +--R coerce : OrderedVariableList [x,y] -> % +--R conditionP : Matrix % -> Union(Vector %,"failed") +--R content : (%,OrderedVariableList [x,y]) -> % +--R degree : % -> IndexedExponents OrderedVariableList [x,y] +--R degree : (%,List OrderedVariableList [x,y]) -> List NonNegativeInteger +--R degree : (%,OrderedVariableList [x,y]) -> NonNegativeInteger +--R differentiate : (%,List OrderedVariableList [x,y],List NonNegativeInteger) -> % +--R differentiate : (%,List OrderedVariableList [x,y]) -> % +--R differentiate : (%,OrderedVariableList [x,y],NonNegativeInteger) -> % +--R differentiate : (%,OrderedVariableList [x,y]) -> % +--R discriminant : (%,OrderedVariableList [x,y]) -> % +--R eval : (%,List OrderedVariableList [x,y],List Integer) -> % +--R eval : (%,List OrderedVariableList [x,y],List %) -> % +--R eval : (%,OrderedVariableList [x,y],Integer) -> % +--R eval : (%,OrderedVariableList [x,y],%) -> % +--R exquo : (%,Integer) -> Union(%,"failed") +--R exquo : (%,%) -> Union(%,"failed") +--R factorPolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % +--R factorSquareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % +--R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % +--R isExpt : % -> Union(Record(var: OrderedVariableList [x,y],exponent: NonNegativeInteger),"failed") +--R isPlus : % -> Union(List %,"failed") +--R isTimes : % -> Union(List %,"failed") +--R mainVariable : % -> Union(OrderedVariableList [x,y],"failed") +--R map : ((Integer -> Integer),%) -> % +--R mapExponents : ((IndexedExponents OrderedVariableList [x,y] -> IndexedExponents OrderedVariableList [x,y]),%) -> % +--R minimumDegree : % -> IndexedExponents OrderedVariableList [x,y] +--R minimumDegree : (%,List OrderedVariableList [x,y]) -> List NonNegativeInteger +--R minimumDegree : (%,OrderedVariableList [x,y]) -> NonNegativeInteger +--R monicDivide : (%,%,OrderedVariableList [x,y]) -> Record(quotient: %,remainder: %) +--R monomial : (Integer,IndexedExponents OrderedVariableList [x,y]) -> % +--R monomial : (%,List OrderedVariableList [x,y],List NonNegativeInteger) -> % +--R monomial : (%,OrderedVariableList [x,y],NonNegativeInteger) -> % +--R multivariate : (SparseUnivariatePolynomial Integer,OrderedVariableList [x,y]) -> % +--R multivariate : (SparseUnivariatePolynomial %,OrderedVariableList [x,y]) -> % +--R numberOfMonomials : % -> NonNegativeInteger +--R patternMatch : (%,Pattern Float,PatternMatchResult(Float,%)) -> PatternMatchResult(Float,%) +--R patternMatch : (%,Pattern Integer,PatternMatchResult(Integer,%)) -> PatternMatchResult(Integer,%) +--R pomopo! : (%,Integer,IndexedExponents OrderedVariableList [x,y],%) -> % +--R primitivePart : (%,OrderedVariableList [x,y]) -> % +--R reducedSystem : Matrix % -> Matrix Integer +--R reducedSystem : (Matrix %,Vector %) -> Record(mat: Matrix Integer,vec: Vector Integer) +--R resultant : (%,%,OrderedVariableList [x,y]) -> % +--R retract : % -> OrderedVariableList [x,y] +--R retractIfCan : % -> Union(Fraction Integer,"failed") +--R retractIfCan : % -> Union(Integer,"failed") +--R retractIfCan : % -> Union(OrderedVariableList [x,y],"failed") +--R solveLinearPolynomialEquation : (List SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> Union(List SparseUnivariatePolynomial %,"failed") +--R squareFreePolynomial : SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % +--R subtractIfCan : (%,%) -> Union(%,"failed") +--R totalDegree : (%,List OrderedVariableList [x,y]) -> NonNegativeInteger +--R totalDegree : % -> NonNegativeInteger +--R unitNormal : % -> Record(unit: %,canonical: %,associate: %) +--R univariate : % -> SparseUnivariatePolynomial Integer +--R univariate : (%,OrderedVariableList [x,y]) -> SparseUnivariatePolynomial % +--R variables : % -> List OrderedVariableList [x,y] +--R +--R +--E 67 --- caching nullary functions +@ +Caching nullary functions +<<*>>= +)clear all +--S 68 )set fun cache all +--R +--R In general, interpreter functions will cache all values. +--E 68 +--S 69 u == 1 +--R +--R Type: Void +--E 69 +--S 70 u +--R +--R Compiling body of rule u to compute value of type PositiveInteger +--R u will cache all previously computed values. +--R +--R (2) 1 +--R Type: PositiveInteger +--E 70 + +--S 71 )set fun cache 0 +--R +--R In general, functions will cache no returned values. +--E 71 --- Interpreter Only mode on collects --- Fixed by SCM on 3/1/91 +@ +Interpreter Only mode on collects. Fixed by SCM on 3/1/91 +<<*>>= +)clear all +--S 72 factorp: (UP(x,INT),PositiveInteger,PositiveInteger) -> List(UP(x,INT)) +--R +--R Type: Void +--E 72 + +--S 73 factorp(poly,p,e) == ppoly:UP(x,PF p):=poly pl := [rec.factor for rec in factors factor ppoly] facl:=pl::List(UP(x,INT)) +--R +--R Type: Void +--E 73 +--S 74 factorp(x**2+x+5,7,1) +--R +--R Cannot compile the declaration for ppoly because its (possible +--R partial) type contains a local variable. +--R AXIOM will attempt to step through and interpret the code. +--R Compiling function factorp with type (UnivariatePolynomial(x,Integer +--R ),PositiveInteger,PositiveInteger) -> List UnivariatePolynomial(x +--R ,Integer) +--R +--R (3) [x + 2,x + 6] +--R Type: List UnivariatePolynomial(x,Integer) +--E 74 +@ +Using "by" with segments. Fixed by SCM on 2/14/91 +<<*>>= +)clear all --- using "by" with segments --- Fixed by SCM on 2/14/91 - -)cl all - +--S 75 b:= 1..10 -for i in b by 2 repeat output i +--R +--R +--R (1) 1..10 +--R Type: Segment PositiveInteger +--E 75 --- DMP resolve bug --- Fixed by SCM 3/7/91 +--S 76 +for i in b by 2 repeat output i +--R +--R 1 +--R 3 +--R 5 +--R 7 +--R 9 +--R Type: Void +--E 76 -)cl all +@ +DMP resolve bug. Fixed by SCM 3/7/91 +<<*>>= +)clear all +--S 77 macro RN == FRAC INT +--R +--R Type: Void +--E 77 + +--S 78 a51:=x+y+z+t+u; +--R +--R +--R Type: Polynomial Integer +--E 78 + +--S 79 a52:=x*y+y*z+z*t+x*u+t*u; +--R +--R +--R Type: Polynomial Integer +--E 79 + +--S 80 a53:=x*y*z+y*z*t+x*y*u+x*t*u+z*t*u; +--R +--R +--R Type: Polynomial Integer +--E 80 + +--S 81 a54:=x*y*z*t+x*y*z*u+x*y*t*u+x*z*t*u+y*z*t*u; +--R +--R +--R Type: Polynomial Integer +--E 81 + +--S 82 a55:=x*y*z*t*u-1; +--R +--R +--R Type: Polynomial Integer +--E 82 +--S 83 arnborg5: List HDMP([x,y,z,t,u],RN):=[a51,a52,a53,a54,a55]; -arnborg5l: List DMP([x,y,z,t,u],RN):=[a51,a52,a53,a54,a55]; +--R +--R +--RType: List HomogeneousDistributedMultivariatePolynomial([x,y,z,t,u],Fraction Integer) +--E 83 --- construct in interpret-only mode --- Fixed by SCM on 3/7/91 +--S 84 +arnborg5l: List DMP([x,y,z,t,u],RN):=[a51,a52,a53,a54,a55]; +--R +--R +--R Type: List DistributedMultivariatePolynomial([x,y,z,t,u],Fraction Integer) +--E 84 -)cl all +@ +Construct in interpret-only mode. Fixed by SCM on 3/7/91 +<<*>>= +)clear all +--S 85 factorp(poly,p,e) == [rec.factor for rec in factors factor (poly::UP(x, PF p))]::List UP(x, INT) +--R +--R Type: Void +--E 85 +--S 86 factorp(x**2+x+5,7,1) +--R +--R Cannot compile conversion for types involving local variables. In +--R particular, could not compile the expression involving :: UP(x,PF +--R #2) +--R AXIOM will attempt to step through and interpret the code. +--R +--R (2) [x + 2,x + 6] +--R Type: List UnivariatePolynomial(x,Integer) +--E 86 --- return in interpret-only mode --- fixed by SCM 3/11/91 - -)cl all +@ +Return in interpret-only mode. fixed by SCM 3/11/91 +<<*>>= +)clear all +--S 87 f (x) == y: PF x := 1 x = 3 => return x x = 4 => return(-x) (x+1) +--R +--R Type: Void +--E 87 +--S 88 f 3 +--R +--R Cannot compile the declaration for y because its (possible partial) +--R type contains a local variable. +--R AXIOM will attempt to step through and interpret the code. +--R +--R (2) 3 +--R Type: PositiveInteger +--E 88 --- incorrect handling of type of returns --- fixed by SCM 3/11/91 - -)cl all +@ +Incorrect handling of type of returns. fixed by SCM 3/11/91 +<<*>>= +)clear all +--S 89 f (x) == x = 3 => return x x = 4 => return(-x) return (x+1) +--R +--R Type: Void +--E 89 +--S 90 f 3 +--R +--R Compiling function f with type PositiveInteger -> Integer +--R +--R (2) 3 +--R Type: PositiveInteger +--E 90 --- SquareMatrix coercion bug --- Fixed by SCM on 4/3/91 - -)cl all +@ +SquareMatrix coercion bug. Fixed by SCM on 4/3/91 +<<*>>= +)clear all +--S 91 s:SQMATRIX(2, INT) := matrix [[1,2],[2,3]] +--R +--R +--R +1 2+ +--R (1) | | +--R +2 3+ +--R Type: SquareMatrix(2,Integer) +--E 91 + +--S 92 s::SQMATRIX(2, FRAC INT) +--R +--R +--R +1 2+ +--R (2) | | +--R +2 3+ +--R Type: SquareMatrix(2,Fraction Integer) +--E 92 +@ +SquareMatric resolve bug +<<*>>= +)clear all --- SquareMatric resolve bug - -)cl all +--S 93 Mat := SquareMatrix(2, Polynomial Integer) +--R +--R +--R (1) SquareMatrix(2,Polynomial Integer) +--R Type: Domain +--E 93 + +--S 94 s:Mat := matrix [[ 2*x + 1, x], [x, 1]] +--R +--R +--R +2x + 1 x+ +--R (2) | | +--R + x 1+ +--R Type: SquareMatrix(2,Polynomial Integer) +--E 94 + +--S 95 s**3 +--R +--R +--R + 3 2 3 2 + +--R |12x + 15x + 6x + 1 5x + 6x + 3x| +--R (3) | | +--R | 3 2 3 2 | +--R + 5x + 6x + 3x 2x + 3x + 1 + +--R Type: SquareMatrix(2,Polynomial Integer) +--E 95 + +--S 96 %::Polynomial(?) +--R +--R +--R +12 5+ 3 +15 6+ 2 +6 3+ +1 0+ +--R (4) | |x + | |x + | |x + | | +--R +5 2+ +6 3+ +3 0+ +0 1+ +--R Type: Polynomial SquareMatrix(2,Integer) +--E 96 --- parsing bug --- Fixed by BURGE on 4/18/91 +@ +Parsing bug. Fixed by BURGE on 4/18/91 +<<*>>= +)clear all -)cl all +--S 97 -2**2 -- Should return -4 +--R +--R +--R (1) - 4 +--R Type: Integer +--E 97 --- # in constructor arguemnt list bug --- Fixed by SCM on 4/9/91 +@ +\# in constructor arguemnt list bug. Fixed by SCM on 4/9/91 +<<*>>= +)clear all -)cl all +--S 98 f: DMP([x,y], INT) := x**2-y**2 +--R +--R +--R 2 2 +--R (1) x - y +--R Type: DistributedMultivariatePolynomial([x,y],Integer) +--E 98 + +--S 99 coefficient(f, degree f) +--R +--R +--R (2) 1 +--R Type: PositiveInteger +--E 99 --- retract from EXPR to POLY --- fixed by SCM and SUTOR on 5/1/91 +@ +Retract from EXPR to POLY. fixed by SCM and SUTOR on 5/1/91 +<<*>>= +)clear all -)cl all +--S 100 x+1::EXPR INT +--R +--R +--R (1) x + 1 +--R Type: Expression Integer +--E 100 + +--S 101 %::POLY INT +--R +--R +--R (2) x + 1 +--R Type: Polynomial Integer +--E 101 --- fixed by SCM in May +@ +Fixed by SCM in May +<<*>>= +)clear all -)cl all +--S 102 solve([[1,2],[2,3]],[-2,3]) +--R +--R +--R (1) [particular= [12,- 7],basis= [[0,0]]] +--RType: Record(particular: Union(Vector Fraction Integer,"failed"),basis: List Vector Fraction Integer) +--E 102 +@ +Fixed by several people over a period of time +<<*>>= +)clear all --- fixed by several people over a period of time -)cl all - +--S 103 eval(m**2, m=[[1,2],[2,3]]) +--R +--R +--R +5 8 + +--R (1) | | +--R +8 13+ +--R Type: Polynomial SquareMatrix(2,Integer) +--E 103 --- filtering various illegal declarations - -)cl all +@ +Filtering various illegal declarations +<<*>>= +)clear all )set mes test off + +--S 104 r: Ring +--R +--R +--R Ring is a category, not a domain, and declarations require domains. +--E 104 + +--S 105 w: RF INT -)set mes test on +--R +--R +--R RationalFunction Integer is a package, not a domain, and +--R declarations require domains. +--E 105 --- Correct representation of length 1 records +)set mes test on -)cl all +@ +Correct representation of length 1 records +<<*>>= +)clear all +--S 106 r:Record(a: INT) := [1] +--R +--R +--R (1) [a= 1] +--R Type: Record(a: Integer) +--E 106 --- Fast generation of POLY FLOAT graphics code +@ +Fast generation of POLY FLOAT graphics code +<<*>>= +)clear all -)time on +--S 107 p: POLY FLOAT := (x-1)**30 -draw(p, x=-1..1) - -)time )off +--R +--R +--R (1) +--R 30 29 28 27 26 25 +--R x - 30.0 x + 435.0 x - 4060.0 x + 27405.0 x - 142506.0 x +--R + +--R 24 23 22 21 +--R 593775.0 x - 2035800.0 x + 5852925.0 x - 14307150.0 x +--R + +--R 20 19 18 17 +--R 30045015.0 x - 54627300.0 x + 86493225.0 x - 1 19759850.0 x +--R + +--R 16 15 14 13 +--R 1 45422675.0 x - 1 55117520.0 x + 1 45422675.0 x - 1 19759850.0 x +--R + +--R 12 11 10 9 +--R 86493225.0 x - 54627300.0 x + 30045015.0 x - 14307150.0 x +--R + +--R 8 7 6 5 4 +--R 5852925.0 x - 2035800.0 x + 593775.0 x - 142506.0 x + 27405.0 x +--R + +--R 3 2 +--R - 4060.0 x + 435.0 x - 30.0 x + 1.0 +--R Type: Polynomial Float +--E 107 + +--draw(p, x=-1..1) --- Case broken in interpreter --- fixed by SCM in early 1991 - -)cl all +@ +Case broken in interpreter. fixed by SCM in early 1991 +<<*>>= +)clear all +--S 108 sayBranch x == _ if x case INT then output "Integer Branch" _ else if x case STRING then output "String Branch" _ else if x case FLOAT then output "Float Branch" _ else output "don't know" +--R +--R Type: Void +--E 108 +--S 109 x:Union(INT,STRING,FLOAT) +--R +--R Type: Void +--E 109 + +--S 110 x:=3 -sayBranch(x) +--R +--R +--R (3) 3 +--R Type: Union(Integer,...) +--E 110 --- bug in evaluateType --- fixed by SCM in May 1991 +--S 111 +sayBranch(x) +--R +--R +--RDaly Bug +--R case is only used for Unions and the object on the left-hand side +--R does not belong to a union. +--E 111 -)cl all +@ +Bug in evaluateType. fixed by SCM in May 1991 +<<*>>= +)clear all +--S 112 RFI := FRAC POLY INT +--R +--R +--R (1) Fraction Polynomial Integer +--R Type: Domain +--E 112 + +--S 113 g:DMP([x,y], RFI) := a**2*x**2/b**2 - c**2*y**2/d**2 +--R +--R +--R 2 2 +--R a 2 c 2 +--R (2) -- x - -- y +--R 2 2 +--R b d +--R Type: DistributedMultivariatePolynomial([x,y],Fraction Polynomial Integer) +--E 113 + +--S 114 factor g +--R +--R +--R 2 +--R a b c b c +--R (3) -- (x - --- y)(x + --- y) +--R 2 a d a d +--R b +--RType: Factored DistributedMultivariatePolynomial([x,y],Fraction Polynomial Integer) +--E 114 --- bug in resolveTTSpecial --- Fixed by SCM 6/2/91 - -)cl all +@ +Bug in resolveTTSpecial. Fixed by SCM 6/2/91 +<<*>>= +)clear all +--S 115 f(u:DoubleFloat, v:DoubleFloat):DoubleFloat == u+v +--R +--R Function declaration f : (DoubleFloat,DoubleFloat) -> DoubleFloat +--R has been added to workspace. +--R Type: Void +--E 115 + +--S 116 g(u:DoubleFloat, v:DoubleFloat):DoubleFloat == sin(u+v) +--R +--R Function declaration g : (DoubleFloat,DoubleFloat) -> DoubleFloat +--R has been added to workspace. +--R Type: Void +--E 116 + +--S 117 h(u:DoubleFloat, v:DoubleFloat):DoubleFloat == u+cos(v) -draw(surface(f,g,h), 0..4, 0..2*%pi) +--R +--R Function declaration h : (DoubleFloat,DoubleFloat) -> DoubleFloat +--R has been added to workspace. +--R Type: Void +--E 117 --- check for package calling from categories --- fixed by SCM 6/4/91 +--draw(surface(f,g,h), 0..4, 0..2*%pi) -)cl all +@ +Check for package calling from categories. fixed by SCM 6/4/91 +<<*>>= +)clear all )set mes test off + +--S 118 (1+1)$Ring -)set mes test on +--R +--R +--R The right-hand side of the $ operator must be a package or domain +--R name, but Ring is a category. +--E 118 --- UnivariateSeries coercions --- Fixed by SCM 6/20/91 +)set mes test on -)cl all +@ +UnivariateSeries coercions. Fixed by SCM 6/20/91 +<<*>>= +)clear all +--S 119 s := series(sin(a*x), x=0) +--R +--R +--R 3 5 7 9 11 +--R a 3 a 5 a 7 a 9 a 11 12 +--R (1) a x - -- x + --- x - ---- x + ------ x - -------- x + O(x ) +--R 6 120 5040 362880 39916800 +--R Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +--E 119 + +--S 120 s - a*x +--R +--R +--R (2) +--R 3 5 7 9 11 13 +--R a 3 a 5 a 7 a 9 a 11 a 13 +--R - -- x + --- x - ---- x + ------ x - -------- x + ---------- x +--R 6 120 5040 362880 39916800 6227020800 +--R + +--R 14 +--R O(x ) +--R Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +--E 120 + +--S 121 s - sin(a*x) +--R +--R +--R 21 +--R (3) O(x ) +--R Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +--E 121 --- Complex & AlgebraicNumber coercions --- fixed by SCM 6/91 - -)cl all +@ +Complex & AlgebraicNumber coercions. fixed by SCM 6/91 +<<*>>= +)clear all +--S 122 sin %i +--R +--R +--R (1) sin(%i) +--R Type: Expression Complex Integer +--E 122 + +--S 123 sin sqrt 2 +--R +--R +--R +-+ +--R (2) sin(\|2 ) +--R Type: Expression Integer +--E 123 + +--S 124 %i*sqrt(2) +--R +--R +--R +-+ +--R (3) %i\|2 +--R Type: Expression Complex Integer +--E 124 + +--S 125 sin(%i*sqrt 2) +--R +--R +--R +-+ +--R (4) sin(%i\|2 ) +--R Type: Expression Complex Integer +--E 125 + +--S 126 %i * sin(x) +--R +--R +--R (5) %i sin(x) +--R Type: Expression Complex Integer +--E 126 + +--S 127 sin(x/sqrt(2)) +--R +--R +--R +-+ +--R x\|2 +--R (6) sin(-----) +--R 2 +--R Type: Expression Integer +--E 127 --- bug in resolve --- fixed by SCM 8/12/91 +@ +Bug in resolve. fixed by SCM 8/12/91 +<<*>>= +)clear all -)cl all +)set msg test off -)set test msg off +--S 128 primaryDecomp xx -)set test msg on +--R +--R There are 1 exposed and 0 unexposed library operations named +--R primaryDecomp having 1 argument(s) but none was determined to be +--R applicable. Use HyperDoc Browse, or issue +--R )display op primaryDecomp +--R to learn more about the available operations. Perhaps +--R package-calling the operation or using coercions on the arguments +--R will allow you to apply the operation. +--R +--RDaly Bug +--R Cannot find a definition or applicable library operation named +--R primaryDecomp with argument type(s) +--R Variable xx +--R +--R Perhaps you should use "@" to indicate the required return type, +--R or "$" to specify which version of the function you need. +--E 128 + +)set msg test on +@ +Functions with ADEFs were broken. fixed by SCM 8/9/91 +<<*>>= +)clear all --- functions with ADEFs were broken --- fixwd by SCM 8/9/91 - -)cl all - +--S 129 f l == reduce((x,y) +-> l.1 + x + y, l) +--R +--R Type: Void +--E 129 +--S 130 f [10,2,53] - +--R +--R Compiling function f with type List PositiveInteger -> +--R PositiveInteger +--R +--R (2) 85 +--R Type: PositiveInteger +--E 130 + +--S 131 g l == (x:INT):INT +-> l.x +--R +--R Type: Void +--E 131 +--S 132 w := g [23,1,341,12] ; - +--R +--R Compiling function g with type List PositiveInteger -> (Integer -> +--R Integer) +--R +--R Type: (Integer -> Integer) +--E 132 + +--S 133 w(1) + w(3) --- w(-1) removed tpd; causes testing to crash +--R +--R +--R (5) 364 +--R Type: PositiveInteger +--E 133 + +--S 134 +w(-1) +--R +--R +--RDaly Bug +--R >> Error detected within library code: +--R index out of range +--R +--R Continuing to read the file... +--R +--E 134 --- coerces RN to PF and POLY to EXPR --- fixed by SCM 8/9/91 - -)cl all +@ +Coerces RN to PF and POLY to EXPR. fixed by SCM 8/9/91 +<<*>>= +)clear all +--S 135 a := 2/3 +--R +--R +--R 2 +--R (1) - +--R 3 +--R Type: Fraction Integer +--E 135 + )set mes test off + +--S 136 a::PF 3 +--R +--R +--R Division by zero on conversion to GaloisField. +--E 136 + )set mes test on +--S 137 b := x+1 -b:: EXPR FLOAT - --- minivector use in coercion functions +--R +--R +--R (2) x + 1 +--R Type: Polynomial Integer +--E 137 -)cl all +--S 138 +b:: EXPR FLOAT +--R +--R +--R (3) x + 1.0 +--R Type: Expression Float +--E 138 +@ +Minivector use in coercion functions. +<<*>>= +)clear all + +--S 139 symbol(s:Symbol,i:Integer):Symbol == st0:String:= convert(i) st0:= concat(string(s),st0) st0::Symbol +--R +--R Function declaration symbol : (Symbol,Integer) -> Symbol has been +--R added to workspace. +--R Type: Void +--E 139 +--S 140 f(a,b) == symbol(a,b) +--R +--R Type: Void +--E 140 +--S 141 f('abc,3) +--R +--R Compiling function symbol with type (Symbol,Integer) -> Symbol +--R Compiling function f with type (Variable abc,PositiveInteger) -> +--R Symbol +--R +--R (3) abc3 +--R Type: Symbol +--E 141 --- coercing undeclared maps to Mapping types --- fixed by SCM 9/3/91 -)cl all +@ +Coercing undeclared maps to Mapping types. fixed by SCM 9/3/91 +<<*>>= +)clear all +--S 142 f := operator 'f +--R +--R +--R (1) f +--R Type: BasicOperator +--E 412 + +--S 143 y := f(x) +--R +--R +--R (2) f(x) +--R Type: Expression Integer +--E 143 + +--S 144 foo(u) == sin(u) -eval(y, 'f, foo) +--R +--R Type: Void +--E 144 --- package calling constants --- fixed by SCM 9/3/91 +--S 145 +eval(y, 'f, foo) +--R +--R There are 2 exposed and 6 unexposed library operations named sin +--R having 1 argument(s) but none was determined to be applicable. +--R Use HyperDoc Browse, or issue +--R )display op sin +--R to learn more about the available operations. Perhaps +--R package-calling the operation or using coercions on the arguments +--R will allow you to apply the operation. +--R Compiling function foo with type Expression Integer -> Expression +--R Integer +--R +--R (4) sin(x) +--R Type: Expression Integer +--E 145 -)cl all +@ +Package calling constants. fixed by SCM 9/3/91 +<<*>>= +)clear all +--S 146 init()$(PF 3) +--R +--R +--R (1) 0 +--R Type: PrimeField 3 +--E 146 --- passing ADEFs to functions which require specific mapping types - -draw((x,y) +-> x**2 - y**2, -1..1, -1..1) +@ +Passing ADEFs to functions which require specific mapping types. +<<*>>= +)clear all --- DP bug. Don't know where this came from, but its fixed --- DP makes problems: +--draw((x,y) +-> x**2 - y**2, -1..1, -1..1) +@ +DP bug. Don't know where this came from, but its fixed. DP makes problems: +<<*>>= +)clear all +--S 147 dmp := DMP([u1,u2,u3],Fraction INT) +--R +--R +--R (1) DistributedMultivariatePolynomial([u1,u2,u3],Fraction Integer) +--R Type: Domain +--E 147 + +--S 148 p : dmp := 2*u1**4*u2*u3 +--R +--R +--R 4 +--R (2) 2u1 u2 u3 +--R Type: DistributedMultivariatePolynomial([u1,u2,u3],Fraction Integer) +--E 148 + +--S 149 e1 := degree p --- the following doesn't work +--R +--R +--R (3) [4,1,1] +--R Type: DirectProduct(3,NonNegativeInteger) +--E 149 + +--S 150 e2 : DirectProduct(3,NonNegativeInteger) := e1 +--R +--R +--R (4) [4,1,1] +--R Type: DirectProduct(3,NonNegativeInteger) +--E 150 + +--S 151 sup(e1,e1) --- if you give to many infos to the Interpreter it has problems +--R +--R +--R (5) [4,1,1] +--R Type: DirectProduct(3,NonNegativeInteger) +--E 151 + +@ +If you give to many infos to the Interpreter it has problems. +<<*>>= + +--S 152 sup(e1,e1)$DirectProduct(3,NonNegativeInteger) +--R +--R +--R (6) [4,1,1] +--R Type: DirectProduct(3,NonNegativeInteger) +--E 152 --- Some other bug. )clear all +--S 153 sum:=0 +--R +--R +--R (1) 0 +--R Type: NonNegativeInteger +--E 153 + +--S 154 m:=matrix [[1,2],[3,4]] +--R +--R +--R +1 2+ +--R (2) | | +--R +3 4+ +--R Type: Matrix Integer +--E 154 + +--S 155 lastcol:=ncols(m) +--R +--R +--R (3) 2 +--R Type: PositiveInteger +--E 155 + +--S 156 for r in 1..nrows(m) repeat -- interpreter having a value for "row" would cause it to hide -- the system function Row:=row(m,r) for c in 1..lastcol repeat sum:=sum+Row.c -sum - +--R +--R Type: Void +--E 156 --- interpOnly mode left things in an incosistent state if it failed twice --- fixed by SCM +--S 157 +sum +--R +--R +--R (5) 10 +--R Type: PositiveInteger +--E 157 -)cl all +@ +interpOnly mode left things in an incosistent state if it failed twice. +fixed by SCM +<<*>>= +)clear all +--S 158 splitPoly(f,var) == map(g +-> multivariate(g,var),monomials univariate(f,var)) +--R +--R Type: Void +--E 158 +--S 159 g:=sin(x)+cos(x) +--R +--R +--R (2) sin(x) + cos(x) +--R Type: Expression Integer +--E 159 + +--S 160 k:=kernels(g).1 +--R +--R +--R (3) sin(x) +--R Type: Kernel Expression Integer +--E 160 )set mes test off + +--S 161 splitPoly([g],k) -- this is an incorrect call +--R +--R There are 4 exposed and 1 unexposed library operations named +--R univariate having 2 argument(s) but none was determined to be +--R applicable. Use HyperDoc Browse, or issue +--R )display op univariate +--R to learn more about the available operations. Perhaps +--R package-calling the operation or using coercions on the arguments +--R will allow you to apply the operation. +--R Cannot find a definition or applicable library operation named +--R univariate with argument type(s) +--R List Expression Integer +--R Kernel Expression Integer +--R +--R Perhaps you should use "@" to indicate the required return type, +--R or "$" to specify which version of the function you need. +--R AXIOM will attempt to step through and interpret the code. +--R There are 4 exposed and 1 unexposed library operations named +--R univariate having 2 argument(s) but none was determined to be +--R applicable. Use HyperDoc Browse, or issue +--R )display op univariate +--R to learn more about the available operations. Perhaps +--R package-calling the operation or using coercions on the arguments +--R will allow you to apply the operation. +--R +--R Cannot find a definition or applicable library operation named +--R univariate with argument type(s) +--R List Expression Integer +--R Kernel Expression Integer +--R +--R Perhaps you should use "@" to indicate the required return type, +--R or "$" to specify which version of the function you need. +--E 161 + )set mes test on + +--S 162 splitPoly(numer g,k) -- this is a correct call +--R +--R Compiling function splitPoly with type (SparseMultivariatePolynomial +--R (Integer,Kernel Expression Integer),Kernel Expression Integer) +--R -> List SparseMultivariatePolynomial(Integer,Kernel Expression +--R Integer) +--R +--R (4) [sin(x),cos(x)] +--R Type: List SparseMultivariatePolynomial(Integer,Kernel Expression Integer) +--E 162 --- scoping of lambda variables --- fixed by SCM in March, 1992 +@ +Scoping of lambda variables. fixed by SCM in March, 1992 +<<*>>= +)clear all -)cl all +--S 163 f x == g := (y:DoubleFloat):DoubleFloat +-> y+x output(y+1) g(x) +--R +--R Type: Void +--E 163 +--S 164 f 3 +--R +--R Compiling function f with type PositiveInteger -> DoubleFloat +--R y + 1 +--R +--R (2) 6. +--R Type: DoubleFloat +--E 164 --- coercing undeclared interpreter function to mapping type with --- target which need to be coerced. --- fixed by SCM in March, 1992 - -)cl all +@ +Coercing undeclared interpreter function to mapping type with +target which need to be coerced. +fixed by SCM in March, 1992 +<<*>>= +)clear all +--S 165 f x == 1/factorial(x) +--R +--R Type: Void +--E 165 +--S 166 series(f, x=0) +--R +--R Compiling function f with type Integer -> Expression Integer +--R +--R (2) +--R 1 2 1 3 1 4 1 5 1 6 1 7 1 8 +--R 1 + x + - x + - x + -- x + --- x + --- x + ---- x + ----- x +--R 2 6 24 120 720 5040 40320 +--R + +--R 1 9 1 10 11 +--R ------ x + ------- x + O(x ) +--R 362880 3628800 +--R Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +--E 166 --- rule dependencies with dependencies on the operator postion +@ +Rule dependencies with dependencies on the operator position. +<<*>>= +)clear all -)cl all +--S 167 node_a == i1+i2+i3-i5+i6=0 +--R +--R Type: Void +--E 167 + +--S 168 node_b == -i2-i3+i4-i6=0 +--R +--R Type: Void +--E 168 + +--S 169 i1 == va/r1 +--R +--R Type: Void +--E 169 + +--S 170 i2 == (va-vb)/r2 +--R +--R Type: Void +--E 170 + +--S 171 i3 == (va-vb)/r3 +--R +--R Type: Void +--E 171 + +--S 172 i4 == vb/r4 +--R +--R Type: Void +--E 172 + +--S 173 node_a +--R +--R Compiling body of rule i1 to compute value of type Fraction +--R Polynomial Integer +--R Compiling body of rule i2 to compute value of type Fraction +--R Polynomial Integer +--R Compiling body of rule i3 to compute value of type Fraction +--R Polynomial Integer +--R Compiling body of rule nodea to compute value of type Equation +--R Fraction Polynomial Integer +--R +--R (- r1 r3 - r1 r2)vb + ((r2 + r1)r3 + r1 r2)va + (i6 - i5)r1 r2 r3 +--R (7) -----------------------------------------------------------------= 0 +--R r1 r2 r3 +--R Type: Equation Fraction Polynomial Integer +--E 173 + +--S 174 node_b +--R +--R Compiling body of rule i4 to compute value of type Fraction +--R Polynomial Integer +--R Compiling body of rule nodeb to compute value of type Equation +--R Fraction Polynomial Integer +--R +--R ((r3 + r2)r4 + r2 r3)vb + (- r3 - r2)r4 va - i6 r2 r3 r4 +--R (8) --------------------------------------------------------= 0 +--R r2 r3 r4 +--R Type: Equation Fraction Polynomial Integer +--E 174 + +--S 175 ans == solve([node_a,node_b],[va,vb]) -- (*) +--R +--R Type: Void +--E 175 + +--S 176 x1 == rhs(ans.1.1) +--R +--R Type: Void +--E 176 + +--S 177 x2 == rhs(ans.1.2) +--R +--R Type: Void +--E 177 + +--S 178 x1 -- (**) +--R +--R Compiling body of rule ans to compute value of type List List +--R Equation Fraction Polynomial Integer +--R Compiling body of rule x1 to compute value of type Fraction +--R Polynomial Integer +--R +--R (i5 r1 r3 + i5 r1 r2)r4 + (- i6 + i5)r1 r2 r3 +--R (12) --------------------------------------------- +--R (r3 + r2)r4 + (r2 + r1)r3 + r1 r2 +--R Type: Fraction Polynomial Integer +--E 178 + +--S 179 r1 == 2 -- (***) +--R +--R Compiled code for i1 has been cleared. +--R Compiled code for nodea has been cleared. +--R Compiled code for ans has been cleared. +--R Compiled code for x1 has been cleared. +--R Type: Void +--E 179 + +--S 180 x1 -- (****) +--R +--R Compiling body of rule r1 to compute value of type PositiveInteger +--R Compiling body of rule i1 to compute value of type Polynomial +--R Fraction Integer +--R Compiling body of rule nodea to compute value of type Equation +--R Fraction Polynomial Integer +--R Compiling body of rule ans to compute value of type List List +--R Equation Fraction Polynomial Integer +--R Compiling body of rule x1 to compute value of type Fraction +--R Polynomial Integer +--R +--R (2i5 r3 + 2i5 r2)r4 + (- 2i6 + 2i5)r2 r3 +--R (14) ---------------------------------------- +--R (r3 + r2)r4 + (r2 + 2)r3 + 2r2 +--R Type: Fraction Polynomial Integer +--E 180 --- look for immediate data in operator position --- fixed in March 1992 by SCM and RSS +@ +Look for immediate data in operator position. +fixed in March 1992 by SCM and RSS +<<*>>= +)clear all +--S 181 "asd" "sdfsdf" "dfgdfg" +--R +--R +--R (1) "asdsdfsdfdfgdfg" +--R Type: String +--E 181 --- global variables that change type in a loop. --- fixed by SCM +@ +Global variables that change type in a loop. +fixed by SCM +<<*>>= )clear all + +--S 182 s := 3.4 +--R +--R +--R (1) 3.4 +--R Type: Float +--E 182 + +--S 183 while s > 1.0 repeat (s := 1/2; print s) +--R +--R 1 +--R - +--R 2 +--R Type: Void +--E 183 + +--S 184 s +--R +--R +--R 1 +--R (3) - +--R 2 +--R Type: Fraction Integer +--E 184 -)cl all +)clear all +--S 185 f x == free s s := x while s > 1.0 repeat (s := 1/2; print s) s +--R +--R Type: Void +--E 185 +--S 186 f(3.4) +--R +--R Compiling function f with type Float -> Float +--R Compiled code for f has been cleared. +--R 0.5 +--R +--R (2) 0.5 +--R Type: Float +--E 186 --- returns in sequences --- fixed by SCM +@ +Returns in sequences. fixed by SCM +<<*>>= +)clear all +--S 187 t x == if x = 1 then (1; return [x]) return [2] +--R +--R Type: Void +--E 187 +--S 188 t 1 +--R +--R Compiling function t with type PositiveInteger -> List +--R PositiveInteger +--R +--R (2) [1] +--R Type: List PositiveInteger +--E 188 +)spool +)lisp (bye) + @ \eject \begin{thebibliography}{99}