diff --git a/changelog b/changelog index 052e649..d486296 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,5 @@ +20080127 tpd src/doc/Makefile add refcard +20080127 tpd src/doc/refcard added 20080125 tpd --patch-55 (January 2008) release 20080125 tpd src/input/Makefile add En regression test 20080125 tpd src/input/en.input regression test En diff --git a/src/doc/Makefile.pamphlet b/src/doc/Makefile.pamphlet index cd17c11..6cbc985 100644 --- a/src/doc/Makefile.pamphlet +++ b/src/doc/Makefile.pamphlet @@ -81,6 +81,17 @@ ${DVI}/bookvol1.dvi: ${IN}/bookvol1.pamphlet cp ${IN}/ps/*ps* ${DVI}/ps ) @ +\section{The Reference Card} +This is the one-page, 2 sided reference card +<>= +${DVI}/refcard.dvi: ${IN}/refcard.pamphlet + @echo 4 making ${DVI}/refcard.dvi from ${IN}/refcard.pamphlet + @(cd ${MID} ; \ + cp ${IN}/refcard.pamphlet ${MID} ;\ + ${DOCUMENT} ${NOISE} refcard ; \ + cp refcard.dvi ${DVI} ) + +@ \section{The End Papers} This document reproduces the diagrams on the inside covers of the original Jenks Axiom book but adds hyperlinks. @@ -164,8 +175,8 @@ DVI=${MNT}/${SYS}/doc DOC=${INT}/doc FILES= ${MID}/axiom.bib ${STY}/axiom.sty ${DVI}/bookvol4.dvi \ - ${DVI}/book.dvi ${DVI}/bookvol1.dvi ${DVI}/endpaper.dvi \ - ${DVI}/rosetta.dvi ${DVI}/spadhelp/spadhelp.files + ${DVI}/book.dvi ${DVI}/bookvol1.dvi ${DVI}/refcard.dvi \ + ${DVI}/endpaper.dvi ${DVI}/rosetta.dvi ${DVI}/spadhelp/spadhelp.files CMDS=${OUT}/booklet @@ -180,6 +191,7 @@ all: ${FILES} ${CMDS} <> <> <> +<> <> <> <> diff --git a/src/doc/refcard.pamphlet b/src/doc/refcard.pamphlet new file mode 100644 index 0000000..ef6afbe --- /dev/null +++ b/src/doc/refcard.pamphlet @@ -0,0 +1,514 @@ +\documentclass{article} +\usepackage[landscape]{geometry} +\usepackage{multicol} +\usepackage{amsmath} +\usepackage{amsfonts} +\advance\topmargin-.8in +\advance\textheight2in +\advance\textwidth3in +\advance\oddsidemargin-1.5in +\advance\evensidemargin-1.5in +\parindent0pt +\parskip2pt +\newcommand{\hr}{\centerline{\rule{3.5in}{1pt}}} +\begin{document} +\begin{multicols*}{3} +\begin{center} +\textbf{Axiom Quick Reference (January 2008)}\\ +\end{center} + +\textbf{Command Line} + +)cd $\langle$pathname$\rangle$ + +)clear all -- clear workspace + +)display op $\langle$function$\rangle$ -- function arguments + +)set message autoload off -- quietly load algebra + +)set message bottom on -- show selection process + +)set stream calculate 20 -- number of terms to calculate + +)show $\langle$domain$\rangle$ -- list all functions + +)spool $\langle${\sl filename}$\rangle$ -- start save session + +)spool -- close spool file + +)trace $\langle$domain$\rangle$ )math -- trace execution + +)quit -- exit Axiom + +)read $\langle$filename$\rangle$[.input] -- evaluate a file + +)sys $\langle$command line$\rangle$ -- execute command + +\_ continues input lines or escapes chars \verb|a_ b| = ``a b'' + +\% is last value + +\%\%(n) is $n$th value + +-- and ++ start comment lines + +%********************************************* +\hr\textbf{Programming} + +assignment: var := value\\ +\hbox{\hskip 2cm}x:=3 + +conditional: if $\langle$pred$\rangle$ then $\langle$truecase$\rangle$ +else $\langle$falsecase$\rangle$\\ +\hbox{\hskip 2cm}\verb|if (2 > 4) then 4 else 5| + +loop: for $\langle$pred$\rangle$ repeat $\langle$block$\rangle$\\ +\hbox{\hskip 2cm}\verb|for i in 1..5 repeat print i| +\hbox{\hskip 2cm}\verb|while i < 3 repeat (print i ; i:=i+1)| + +function: $f(x)=x^2$ \\ +\hbox{\hskip 2cm}\verb|f(x)==x^2| + +anon. function: \verb|g:=x +-> x+1| \quad g(3) $\rightarrow$ 4 + +Indentation is significant:\\ +\hbox{\hskip 2cm}\verb|f(x)==(x > 3 => x ; 0)|\\ +\hbox{\hskip 2cm}\verb|f(x)==|\\ +\hbox{\hskip 2.4cm}\verb|x > 3 => x|\\ +\hbox{\hskip 2.4cm}\verb|0| + +%********************************************* +\hr\textbf{Basic constants and functions} + +$\pi=$ \verb|%pi| \quad $e=$ \verb|%e| \quad $i=$ \verb|%i| +\quad $\infty=$ \verb|%infinity| + +$+\infty$=\verb|%plusInfinity|\quad $-\infty$=\verb|%minusInfinity| + +\verb|numeric(%pi)| $=3.1415926535\ 897932385$ + +%Binary operations: \verb|+ - * / ^| + +Functions: \verb|sin cos tan sec csc cot sinh cosh tanh| \verb|sech csch coth log ln exp| + +$ab=$ \verb|a*b| \quad $\frac a b=$ \verb|a/b| +\quad +$a^b=$ \verb|a^b| \quad $\sqrt{x}=$ \verb|sqrt(x)| + +$\sqrt[n]{x}=$\verb|x^(1/n)| +$|x|=$\verb|abs(x)| +$\log_b(x)=$\verb|log(x)/log(b)| + +%********************************************* +\hr\textbf{Operations on expressions} + +\verb|factor(...)|\qquad \verb|expand(...)|\qquad \verb|simplify(...)| + +Symbolic equations: \verb|f(x)=g(x)| + +Solve $f(x)=g(x)$: \verb| solve(f(x)=g(x),x)| + +\verb|solve([x^2*y-1,x*y^2-2],.01)|\\ +\hbox{\hskip 2.0cm} $\rightarrow$ $[[y=1.5859375,x=0.79296875]]$ + +\verb|complexSolve([x^2*y-1,x*y^2-2],1/1000)| + +\verb|radicalSolve([x^2/a+a+y^3-1,a*y+a+1],[x,y])| + +$\displaystyle\sum_{i=k}^n f(i)=$ \verb|reduce(+,[f(i) for i in k..n])| + +$\displaystyle\prod_{i=k}^n f(i)=$ \verb|reduce(*,[f(i) for i in k..n])| + +%********************************************* +\hr\textbf{Pattern Matching} + +logrule:=rule log(x)+log(y) == log(x*y) $\rightarrow$\\ +\hbox{\hskip 2.1cm}\verb|log(y)+log(x)+%B==log(x y)+%B| + +f:=log sin x + log x $\rightarrow$ log(sin(x))+log(x) + +logrule f $\rightarrow$ log(x sin(x)) + +%********************************************* +\hr\textbf{Calculus} + +$\displaystyle\lim_{x\to a} f(x)=$ \verb|limit(f(x), x=a)| + +$\displaystyle\lim_{x\to a^-} f(x)=$ \verb|limit(f(x), x=a, "left")| + +$\displaystyle\lim_{x\to a^+} f(x)=$ \verb|limit(f(x), x=a, "right")| + +$\displaystyle\lim_{x\to \infty} f(x)=$ \verb|limit(f(x), x=%plusInfinity)| + +\verb|limit(sin(x)/x,x=%plusInfinity)| $\rightarrow$ 0 + +\verb|complexLimit(sin(x)/x,x=%infinity)| $\rightarrow$ "failed" + +$\frac{d}{dx}(f(x))=$ \verb|D(f(x),x)| + +$\frac{\partial}{\partial x}(f(x,y))=$ \verb|D(f(x,y),x)| + +$\int f(x)dx=$ \verb|integrate(f(x),x)| + +$\int_a^b f(x)dx=$ \verb|integrate(f(x),x=a..b)| + +%********************************************* +\hr\textbf{Series} + +x:=series 'x + +y:=sin(x) $\rightarrow$ +$x-\frac{1}{6}x^3+\frac{1}{120}x^5-\frac{1}{5040}x^7+O(x^9)$ + +coefficient(y,3) $\rightarrow$ $-\frac{1}{6}$ + +taylor(f(x),x=a) + +laurent(x/log(x),x=1) + +\verb|puiseux(sqrt(sec(x)),x=3*%pi/2)| + +%********************************************* +\hr\textbf{2D graphics} + +\verb|draw(cos(5*t/8),t=0..16*%pi,coordinates==polar)| + +\verb|f(t:SF):SF == sin(3*t/5)| + +\verb|g(t:SF):SF == sin(t)| + +\verb|draw(curve(f,g),0..%pi)| + +\verb|draw(x^2+y^3-1=0,x,y,range==[-1..1,-1..1])| + +v1:=draw(Gamma(i),i=-4.2..4,adaptive==true) + +v2:=draw(1/Gamma(i),i=-4.2..4,adaptive==true) + +putGraph(v2,getGraph(v1,1),2) + +makeViewport2D(v2) + +options: adaptive clip toScale curveColor pointColor\\ +unit range coordinates + +%********************************************* +\hr\textbf{3D graphics} + +m(u:SF,v:SF):SF == 1 + +\verb|draw(m,0..2*%pi,0..%pi,coordinates==spherical)| + +options: title style colorFunction coordinates tubeRadius +tubePoints var1Steps var2Steps space + +%********************************************* +\hr\textbf{Discrete math} + +$\lfloor x\rfloor=$ \verb|floor(x)| +\quad +$\lceil x\rceil=$ \verb|ceiling(x)| + +Remainder of $n$ divided by $k=$ \verb|rem(n,k) |, $k|n$ iff \verb| n%k==0| + +$n!=$ \verb|factorial(n)| \qquad +${x\choose m}=$ \verb|binomial(x,m)| + +$\phi(n)=$ \texttt{eulerPhi($n$)}\quad Tuples: \ \verb|(1,'Hello,x)| + +%********************************************* +\hr\textbf{Type Conversions} + +\verb|r:=(2/3)*x^2-y+4/5| $\rightarrow$ $-y+\frac{2}{3}x^2+\frac{4}{5}$\\ +\hbox{\hskip 2.0cm} Type: Polynomial Fraction Integer + +r::FRAC POLY INT $\rightarrow$ $\frac{-15y+10x^2+12}{15}$\\ +\hbox{\hskip 2.0cm} Type: Fraction Polynomial Integer + +\verb|s:=(3+4*%i)/(7+3*%i)| $\rightarrow$ $\frac{33}{58}+\frac{19}{58}\%i$ + +s::FRAC COMPLEX INT $\rightarrow$ $\frac{3+4\%i}{7+3\%i}$ + +%********************************************* +\hr\textbf{Equation} + +eq1:=3*x+4*y=5 $\rightarrow$ $4y+3x=5$ + +eq2:=2*x+2*y=3 $\rightarrow$ $2y+2x=3$ + +lhs eq1 $\rightarrow$ $4y+3x$ + +rhs eq1 $\rightarrow$ 5 + +eq1+eq2 $\rightarrow$ $6y+5x=8$ + +%********************************************* +\hr\textbf{Factored} + +g:=factor(4312) $\rightarrow$ $2^3 7^2 11$ + +unit g $\rightarrow$ 1 + +numberOfFactors g $\rightarrow$ 3 + +nthFactor(g,2) $\rightarrow$ 7 + +nthExponent(g,2) $\rightarrow$ 2 + +nthFlag(g,2) $\rightarrow$ "prime" + +map(factor,55739/2520) $\rightarrow$ $\frac{139\ 401}{2^3\ 3^2\ 5\ 7}$ + +%********************************************* +\hr\textbf{List} + +a:=[1,2,3,4] $\rightarrow$ $[1,2,3,4]$ + +b:=[3,4,5,6] $\rightarrow$ $[3,4,5,6]$ + +append(a,b) $\rightarrow$ $[1,2,3,4,3,4,5,6]$ + +cons(10,a) $\rightarrow$ $[10,1,2,3,4]$ + +empty? a $\rightarrow$ false + +a.2 $\rightarrow$ 2 + +a.2 := 99 $\rightarrow$ $[1,99,3,4]$ + +reverse b $\rightarrow$ $[6,5,4,3]$ + +%********************************************* +\hr\textbf{MakeFunction} + +\verb|expr:=(x+a)^3| $\rightarrow$ $x^3+ 3ax^2 + 3a^2x + a^3$ + +function(expr,f,x) $\rightarrow$ f + +f(2) $\rightarrow$ $a^3 + 6a^2 + 12a + 8$ + +function(expr,g,a) $\rightarrow$ g + +g(2) $\rightarrow$ $x^3 + 6x^2 + 12x + 8$ + +%********************************************* +\hr\textbf{Matrix} + +A:=matrix([[1,2],[3,4]]) $\rightarrow$ +$ +\left[ +\begin{array}{cc} +1 & 2\\ +3 & 4\\ +\end{array} +\right] +$ + +determinant A $\rightarrow$ -2 + +v:=vector([1,2]) $\rightarrow$ $[1,2]$ + +A*v $\rightarrow$ $[5,11]$ + +\verb|A^-1| $\rightarrow$ +$ +\left[ +\begin{array}{cc} +2 & 1\\ +\frac{3}{2} & \frac{1}{2}\\ +\end{array} +\right] +$ + +transpose(A) $\rightarrow$ +$ +\left[ +\begin{array}{cc} +1 & 3\\ +2 & 4\\ +\end{array} +\right] +$ + +nrows A $\rightarrow$ 2 + +ncols A $\rightarrow$ 2 + +nullity A $\rightarrow$ 0 + +rank A $\rightarrow$ 2 + +trace A $\rightarrow$ 5 + +%********************************************* +\hr\textbf{Polynomial} + +x+1 yields Type {\bf Polynomial Integer} + +z-2.3 yields Type {\bf Polynomial Float} + +\verb|y^2-z+3/4| yields Type {\bf Polynomial Fraction Integer} + +\verb|p:=(y-1)^2*x*z| $\rightarrow$ $(xy^2-2xy+x)z$ + +\verb|q:=(y-1)*x*(z+5)| $\rightarrow$ $(xy - x)z + 5xy - 5x$ + +gcd(p,q) $\rightarrow$ $x y - x$ + +mainVariable p $\rightarrow$ $z$ + +variables p $\rightarrow$ $[z,y,x]$ + +degree(p,y) $\rightarrow$ 2 + +totaldegree p $\rightarrow$ 4 + +eval(p,x,w) $\rightarrow$ $(wy^2 - 2wy + w)z$ + +D(p,x) $\rightarrow$ $(y^2- 2y + 1)z$ + +integrate(p,x) $\rightarrow$ $(\frac{1}{2}x^2y^2-x^2y+\frac{1}{2}x^2)z$ + +%********************************************* +\hr\textbf{PrimeField} + +x:PrimeField(7):=5 $\rightarrow$ 5 + +\verb|x^3| $\rightarrow$ 6 + +1/x $\rightarrow$ 3 + +%********************************************* +\hr\textbf{Set} + +\verb|s:=brace([1,2,3,4,5])| $\rightarrow$ $\{1,2,3,4,5\}$ + +\verb;t:=brace([2,3,5,7]); $\rightarrow$ $\{2,3,5,7\}$ + +intersect(s,t) $\rightarrow$ $\{2,3,5\}$ + +union(s,t) $\rightarrow$ $\{1,2,3,4,5,7\}$ + +difference(s,t) $\rightarrow$ $\{1,4\}$ + +insert!(7,s) $\rightarrow$ $\{1,2,3,4,5,7\}$ + +remove!(7,s) $\rightarrow$ $\{1,2,3,4,5\}$ + +$\{1,2,1,a\}=$ \verb|brace([1,2,1,'a])| \ ($=\{1,2,a\}$) + +$\{f(x):x\in X,x>0\}\approx$\verb?brace([f(x) for x in X | x>0])? + +%********************************************* +\hr\textbf{Special Functions} + +[fibonacci(k) for k in 0..] $\rightarrow$ [0,1,1,2,3,5,...] + +[legendre(i,11) for i in 0..5] $\rightarrow$ [0,1,- 1,1,1,1] + +[jacobi(i,15) for i in 0..5] $\rightarrow$ [0,1,1,0,1,0] + +[eulerPhi i for i in 1..] $\rightarrow$ [1,1,2,2,4,2,...] + +[moebiusMu i for i in 1..] $\rightarrow$ [1,- 1,- 1,0,- 1,1,...] + +E1(0.01) $\rightarrow$ 4.0379295765381134 + +Gamma(0.01) $\rightarrow$ 99.432585119150588 + +%********************************************* +\hr\textbf{Stream} + +)set streams calculate 6 + +\verb|ints := [i for i in 1..]| $\rightarrow$ \verb|[1,2,3,4,5,6,...]| + +ints.20 $\rightarrow$ 20 + +\verb;[i for i in ints | odd? i]; $\rightarrow$ \verb|[1,3,5,7,9,11,...]| + +%********************************************* +\hr\textbf{String} + +creation: \ s:= \verb|"Hello"| + +concatenate \verb|"He" "llo"| $\rightarrow$ \verb|"Hello"| + +\texttt{s(1)='H' \quad s.1='H' \quad s(2..3)='el' \quad s(4..)='lo'} + +split("hi there",char " ") $\rightarrow$ \verb|["hi","there"]| + +prefix?("He","Hello") $\rightarrow$ true + +substring?("ll","Hello",3) $\rightarrow$ true + +%********************************************* +\hr\textbf{TwoDimensionalArray} + +creation: \verb|arr:ARRAY2 INT:=new(2,3,0)| $\rightarrow$ +$ +\left[ +\begin{array}{ccc} +0 & 0 & 0\\ +0 & 0 & 0\\ +\end{array} +\right] +$ + +nrows arr $\rightarrow$ 2 + +ncols arr $\rightarrow$ 3 + +setelt(arr,1,1,17) $\rightarrow$ +$ +\left[ +\begin{array}{ccc} +17 & 0 & 0\\ +0 & 0 & 0\\ +\end{array} +\right] +$ + +arr(1,1) $\rightarrow$ 17 + +%********************************************* +\hr\textbf{Univariate Polynomial} + +creation: \verb|p:UP(x,INT):=(3*x-1)^2*(2*x+8)|\\ +\hbox{\hskip 1.5cm}\verb|q:UP(x,INT):=(1-6*x+9*x^2)^2| + +leadingCoefficient p $\rightarrow$ 18 + +degree p $\rightarrow$ 3 + +reductum p $\rightarrow$ $60x^2-46x+8$ + +gcd(p,q) $\rightarrow$ $9x^2-6x+1$ + +lcm(p,q) $\rightarrow$ $162x^5+432x^4-756x^3+408x^2-94x+8$ + +resultant(p,q) $\rightarrow$ 0 + +p(2) $\rightarrow$ 300 (used as function) + +D(p) $\rightarrow$ $54x^2+120x-46$ (derivative) + +%********************************************* +\hr\textbf{Vector} + +creation: \verb|v := vector([1,2,3,4,5])| $\rightarrow$ $[1,2,3,4,5]$ + +length: \verb|#v| $\rightarrow$ 5 + +access: v.2 $\rightarrow$ 2 + +add: v+v $\rightarrow$ $[2,4,6,8,10]$ + +multiply: 5*v $\rightarrow$ $[5,10,15,20,25]$ + +assign: v.2 := 7 $\rightarrow$ $[1,7,3,4,5]$ + +\end{multicols*} + +\end{document} \ No newline at end of file