diff --git a/books/bookvol0.pamphlet b/books/bookvol0.pamphlet index 27d14f1..aa69676 100644 --- a/books/bookvol0.pamphlet +++ b/books/bookvol0.pamphlet @@ -74,7 +74,7 @@ described in this book. For a bird's eye view of the algebra hierarchy of Axiom, glance inside the book cover. The crucial strength of Axiom lies in its excellent structural -features and unlimited expandability---it is open, modular system +features and unlimited expandabi\-lity---it is open, modular system designed to support an ever growing number of facilities with minimal increase in structural complexity. Its design also supports the integration of other computation tools such as numerical software @@ -152,14 +152,14 @@ David V. Chudnovsky \hfill Gregory V. Chudnovsky | | | He received his PhD in mathematics from the University of Illinois | | at Urbana-Champaign in 1966. The title of his dissertation was | -| ``Quadratic Differential Systems for Mathematical Models" and was | +| "Quadratic Differential Systems for Mathematical Models" and was | | written under the supervision of Donald Gilles. After completing | | his PhD, he was a post-doctoral fellow at Brookhaven National | | Laboratory on Long Island. In 1968 he joined IBM Research where he | | worked until his retirement in 2002. | | | | At IBM he was a principal architect of the Scratchpad system, one | -| of the earliest computer algebra systems(1971). Dick always | +| of the earliest computer algebra systems (1971). Dick always | | believed that natural user interfaces were essential and developed | | a user-friendly rule-based system for Scratchpad. Although this | | rule-based approach was easy to use, as algorithms for computer | @@ -188,12 +188,12 @@ David V. Chudnovsky \hfill Gregory V. Chudnovsky | Scratchpad II to Axiom and to release it as a product. Dick and | | Robert Sutor were the primary authors of the book Axiom: The | | Scientific Computation System. In the foreword of the book, | -| written by David and Gregory Chudnovsky, it is stated that ``The | -| Scratchpad system took its time to blossom into the beautiful | -| Axiom product. There is no rival to this powerful environment in | -| its scope and, most importantly, in its structure and organization. | +| written by David and Gregory Chudnovsky, it is stated that "The | +| Scratchpad system took its time to blossom into the beautiful Axiom | +| product. There is no rival to this powerful environment in its | +| scope and, most importantly, in its structure and organization." | | Axiom was recently made available as free software. | -| See http://savannah.nongnu.org/projects/axiom. | +| See http://savannah.nongnu.org/projects/axiom | | | | Dick was active in service to the computer algebra community as | | well. Here are some highlights. He served as Chair of ACM SIGSAM | @@ -223,11 +223,11 @@ David V. Chudnovsky \hfill Gregory V. Chudnovsky | traveling, Point O'Woods, and life in general. | | | | On December 30, 2003, Dick Jenks died at the age of 66, after an | -| extended and courageous battle with multiple system | -| atrophy. Personally, Dick was warm, generous, and outgoing with | -| many friends. He will be missed for his technical accomplishments, | -| his artist talents, and most of all for his positive, gentle, | -| charming spirit. | +| extended and courageous battle with multiple system atrophy. | +| Personally, Dick was warm, generous, and outgoing with many | +| friends. He will be missed for his technical accomplishments, his | +| artist talents, and most of all for his positive, gentle, charming | +| spirit. | | | | Prepared by Bob Caviness, Barry Trager, and Patrizia Gianni with | | contributions from Barbara Gatje, James H. Griesmer, Tony Hearn, | @@ -339,11 +339,11 @@ University of Pisa and is the prime author of the polynomial and rational funtion component of the Axiom library. Her contributions include algorithms for greatest common divisors, factorization, ideals, Gr\"obner bases, solutions of polynomial systems, and linear -algebra. she is currently Associate Professor of Mathematics at the +algebra. She is currently Associate Professor of Mathematics at the University of Pisa. {\bf Johannes Grabmeier} (IBM Scientific Center, Heidelberg) received a -Ph.D from University Bayreuth (Bavaria) and is responsible for many +Ph.D. from University Bayreuth (Bavaria) and is responsible for many Axiom packages, including those for representation theory (with Holger Gollan (Essen)), permutation groups (with Gerhard Schneider (Essen)), finite fields (with Alfred Scheerhorn), and non-associative algebra @@ -449,7 +449,7 @@ mathematical problem solving. Do you need to solve an equation, to expand a series, or to obtain an integral? If so, just ask Axiom to do it. -Given $$\int\left({{\frac{1}{(x^3 \ {(a+b x)}^{1/3})}}}\right)dx$$ +Given $$\int\left({{\frac{1}{x^3 \ \root{3}\of{(a+b x)}}}}\right)dx$$ we would enter this into Axiom as: \spadcommand{integrate(1/(x**3 * (a+b*x)**(1/3)),x)} @@ -800,7 +800,7 @@ $$ \left[ \begin{array}{cc} \displaystyle{\frac{1}{x+\%{\rm i}}} & 0 \\ -\displaystyle{\frac{1}{{2 \ x}+{2 \%{\rm i}}}} & -{\frac{1}{2}} +\displaystyle{\frac{1}{{2 \ x}+{2 \%{\rm i}}}} & -\displaystyle{\frac{1}{2}} \end{array} \right] $$ @@ -826,13 +826,29 @@ Introduce two rewrite rules. \ \ cos(2*x) == cos(x)**2 - sin(x)**2 } -\begin{verbatim} - {sin(y + x) == cos(x)sin(y) + cos(y)sin(x), - cos(y + x) == - sin(x)sin(y) + cos(x)cos(y), - sin(2x) == 2cos(x)sin(x), - 2 2 - cos(2x) == - sin(x) + cos(x) } -\end{verbatim} +$$ +\begin{array}{@{}l} +\left\{ +{{\sin \left(y+x \right)}\mbox{\rm == } {\cos \left(x \right)} +\ {\sin \left(y \right)}+{\cos\left(y \right)}\ {\sin \left(x \right)}}, +\right. +\\ +\left. +\: {{\cos \left(y+x \right)}\mbox{\rm == } -{\sin \left(x \right)} +\ {\sin \left(y \right)}+{\cos\left(x \right)}\ {\cos \left(y \right)}}, +\right. +\\ +\left. +\: {{\sin \left(2\ x \right)}\mbox{\rm == } 2\ {\cos \left(x \right)} +\ {\sin \left(x \right)}}, +\right. +\\ +\left. +\: {{\cos \left(2\ x \right)}\mbox{\rm == } -{\sin \left(x \right)}^2} ++{\cos\left(x \right)}^2 +\right\} +\end{array} +$$ \returnType{Type: Ruleset(Integer,Integer,Expression Integer)} Apply the rules to a simple trigonometric expression. @@ -1116,7 +1132,7 @@ type of $power$ in terms of $R$. From the definition on line 3, $power(3,2)$ produces 9 for $x = 3$ and $R =$ {\tt Integer}. Also, $power(3.0,2)$ produces $9.0$ for $x = 3.0$ and $R =$ {\tt Float}. -$power("oxford",2)$ however fails since $"oxford"$ has type +$power(``oxford'',2)$ however fails since $``oxford''$ has type {\tt String} which is not a ring. Using symbolic domains, algorithms can be defined in their most @@ -1284,7 +1300,7 @@ though {\tt R} is unknown). Users and system implementers alike use the Axiom language to add facilities to the Axiom library. The entire Axiom -library is in fact written in the Axiom source code and +library is in fact written in the Axiom language and available for user modification and/or extension. %Original Page 15 @@ -1348,7 +1364,7 @@ of text between your input and the answer. The last line contains the type of the result. The type {\tt Float} is used to represent real numbers of arbitrary size and precision (where the user is -able to define how big arbitrary is -- the default is 20 digits but can be +able to define how big arbitrary is--the default is 20 digits but can be as large as your computer system can handle). The type of the result can help track down mistakes in your input if you don't get the answer you expected. @@ -5067,7 +5083,7 @@ if no such value is yet stored in $t$ under $k$. In English, this says ``Define $howMany(k)$ as follows. First, let $n$ be the value of {\it search}$(k,t)$. -Then, if $n$ has the value $"failed"$, return the value +Then, if $n$ has the value $``failed''$, return the value $1$; otherwise return $n + 1$.'' \spadcommand{howMany(k) == (n:=search(k,t); n case "failed" => 1; n+1)} \returnType{Type: Void} @@ -6260,6 +6276,7 @@ relationships between functions. $$ \frac{\left( \begin{array}{@{}l} +\displaystyle {8 \ {\log \left({{{3 \ {{\tan \left({{ \frac{\arctan \left({x} \right)}{3}}} \right)} \sp 2}} -1}} @@ -8280,8 +8297,11 @@ number coefficients. \index{SquareMatrix} $$ \left[ \begin{array}{cc} -{x -{{\frac{3}{4}} \ i}} & {{{y \sp 2} \ z}+{\frac{1}{2}}} \\ -{{{\frac{3}{7}} \ i \ {y \sp 4}} -x} & {{12} -{{\frac{9}{5}} \ i}} +\displaystyle +{x -{{\frac{3}{4}} \ i}} & \displaystyle{{{y \sp 2} \ z}+{\frac{1}{2}}} \\ +\displaystyle +{{{\frac{3}{7}} \ i \ {y \sp 4}} -x} & +\displaystyle{{12} -{{\frac{9}{5}} \ i}} \end{array} \right] $$ @@ -8294,8 +8314,11 @@ expression. $$ \left[ \begin{array}{cc} -{x -{\frac{3 \ i}{4}}} & {{{y \sp 2} \ z}+{\frac{1}{2}}} \\ -{{{\frac{3 \ i}{7}} \ {y \sp 4}} -x} & {\frac{{60} -{9 \ i}}{5}} +\displaystyle +{x -{\frac{3 \ i}{4}}} & \displaystyle{{{y \sp 2} \ z}+{\frac{1}{2}}} \\ +\displaystyle +{{{\frac{3 \ i}{7}} \ {y \sp 4}} -x} & +\displaystyle{\frac{{60} -{9 \ i}}{5}} \end{array} \right] $$ @@ -8306,8 +8329,12 @@ Interchange the {\tt Polynomial} and the {\tt Fraction} levels. $$ \left[ \begin{array}{cc} -{\frac{{4 \ x} -{3 \ i}}{4}} & {\frac{{2 \ {y \sp 2} \ z}+1}{2}} \\ -{\frac{{3 \ i \ {y \sp 4}} -{7 \ x}}{7}} & {\frac{{60} -{9 \ i}}{5}} +\displaystyle +{\frac{{4 \ x} -{3 \ i}}{4}} & +\displaystyle{\frac{{2 \ {y \sp 2} \ z}+1}{2}} \\ +\displaystyle +{\frac{{3 \ i \ {y \sp 4}} -{7 \ x}}{7}} & +\displaystyle{\frac{{60} -{9 \ i}}{5}} \end{array} \right] $$ @@ -8318,8 +8345,12 @@ Interchange the {\tt Polynomial} and the {\tt Complex} levels. $$ \left[ \begin{array}{cc} -{\frac{{4 \ x} -{3 \ i}}{4}} & {\frac{{2 \ {y \sp 2} \ z}+1}{2}} \\ -{\frac{-{7 \ x}+{3 \ {y \sp 4} \ i}}{7}} & {\frac{{60} -{9 \ i}}{5}} +\displaystyle +{\frac{{4 \ x} -{3 \ i}}{4}} & +\displaystyle{\frac{{2 \ {y \sp 2} \ z}+1}{2}} \\ +\displaystyle +{\frac{-{7 \ x}+{3 \ {y \sp 4} \ i}}{7}} & +\displaystyle{\frac{{60} -{9 \ i}}{5}} \end{array} \right] $$ @@ -8334,8 +8365,11 @@ In fact, we could have combined all these into one conversion. $$ \left[ \begin{array}{cc} -{\frac{{4 \ x} -{3 \ i}}{4}} & {\frac{{2 \ {y \sp 2} \ z}+1}{2}} \\ -{\frac{-{7 \ x}+{3 \ {y \sp 4} \ i}}{7}} & {\frac{{60} -{9 \ i}}{5}} +{\frac{{4 \ x} -{3 \ i}}{4}} & +\displaystyle{\frac{{2 \ {y \sp 2} \ z}+1}{2}} \\ +\displaystyle +{\frac{-{7 \ x}+{3 \ {y \sp 4} \ i}}{7}} & +\displaystyle{\frac{{60} -{9 \ i}}{5}} \end{array} \right] $$ @@ -8365,8 +8399,11 @@ Recall that $m$ looks like this. $$ \left[ \begin{array}{cc} -{x -{{\frac{3}{4}} \ i}} & {{{y \sp 2} \ z}+{\frac{1}{2}}} \\ -{{{\frac{3}{7}} \ i \ {y \sp 4}} -x} & {{12} -{{\frac{9}{5}} \ i}} +\displaystyle +{x -{{\frac{3}{4}} \ i}} & \displaystyle{{{y \sp 2} \ z}+{\frac{1}{2}}} \\ +\displaystyle +{{{\frac{3}{7}} \ i \ {y \sp 4}} -x} & +\displaystyle{{12} -{{\frac{9}{5}} \ i}} \end{array} \right] $$ @@ -8387,7 +8424,7 @@ $$ +{{\left[ \begin{array}{cc} 0 & 0 \\ -{{\frac{3}{7}} \ i} & 0 +\displaystyle{{\frac{3}{7}} \ i} & 0 \end{array} \right]} \ {y \sp 4}} @@ -8399,8 +8436,8 @@ $$ \right]} \ x}+{\left[ \begin{array}{cc} --{{\frac{3}{4}} \ i} & {\frac{1}{2}} \\ -0 & {{12} -{{\frac{9}{5}} \ i}} +-\displaystyle{{\frac{3}{4}} \ i} & \displaystyle{\frac{1}{2}} \\ +0 & \displaystyle{{12} -{{\frac{9}{5}} \ i}} \end{array} \right]} $$ @@ -8422,7 +8459,7 @@ $$ \ {y \sp 2} \ z}+{{\left[ \begin{array}{cc} 0 & 0 \\ -{{\frac{3}{7}} \ i} & 0 +\displaystyle{{\frac{3}{7}} \ i} & 0 \end{array} \right]} \ {y \sp 4}}+{{\left[ @@ -8433,8 +8470,8 @@ $$ \right]} \ x}+{\left[ \begin{array}{cc} --{{\frac{3}{4}} \ i} & {\frac{1}{2}} \\ -0 & {{12} -{{\frac{9}{5}} \ i}} +-\displaystyle{{\frac{3}{4}} \ i} & \displaystyle{\frac{1}{2}} \\ +0 & \displaystyle{{12} -{{\frac{9}{5}} \ i}} \end{array} \right]} $$ @@ -8454,7 +8491,7 @@ $$ \ {y \sp 2} \ z}+{{\left[ \begin{array}{cc} 0 & 0 \\ -{\frac{3 \ i}{7}} & 0 +\displaystyle{\frac{3 \ i}{7}} & 0 \end{array} \right]} \ {y \sp 4}}+{{\left[ @@ -8465,8 +8502,8 @@ $$ \right]} \ x}+{\left[ \begin{array}{cc} --{\frac{3 \ i}{4}} & {\frac{1}{2}} \\ -0 & {\frac{{60} -{9 \ i}}{5}} +-\displaystyle{\frac{3 \ i}{4}} & \displaystyle{\frac{1}{2}} \\ +0 & \displaystyle{\frac{{60} -{9 \ i}}{5}} \end{array} \right]} $$ @@ -8821,8 +8858,8 @@ by calling \spadfunFrom{map}{MatrixCategoryFunctions2} with the $$ \left[ \begin{array}{cc} -{\frac{1}{8}} & {\frac{1}{6}} \\ --{\frac{1}{4}} & {\frac{1}{9}} +\displaystyle{\frac{1}{8}} & \displaystyle{\frac{1}{6}} \\ +-\displaystyle{\frac{1}{4}} & \displaystyle{\frac{1}{9}} \end{array} \right] $$ @@ -8833,8 +8870,8 @@ We could have been a bit less verbose and used abbreviations. $$ \left[ \begin{array}{cc} -{\frac{1}{8}} & {\frac{1}{6}} \\ --{\frac{1}{4}} & {\frac{1}{9}} +\displaystyle{\frac{1}{8}} & \displaystyle{\frac{1}{6}} \\ +-\displaystyle{\frac{1}{4}} & \displaystyle{\frac{1}{9}} \end{array} \right] $$ @@ -8846,8 +8883,8 @@ We can just say this. $$ \left[ \begin{array}{cc} -{\frac{1}{8}} & {\frac{1}{6}} \\ --{\frac{1}{4}} & {\frac{1}{9}} +\displaystyle{\frac{1}{8}} & \displaystyle{\frac{1}{6}} \\ +-\displaystyle{\frac{1}{4}} & \displaystyle{\frac{1}{9}} \end{array} \right] $$ @@ -11052,7 +11089,7 @@ $$ The steps involved in computing this example are\\ (1) set $i$ to $1$,\\ (2) test the condition $i < 1$ and determine that it is not {\tt true}, and\\ -(3) do not evaluate the loop body and therefore do not display $"hello"$. +(3) do not evaluate the loop body and therefore do not display $``hello''$. \begin{verbatim} while i < 1 repeat output "hello" @@ -12571,7 +12608,7 @@ Axiom has a formal idea of categories for what ``makes sense.'' A function is an object that you can create, manipulate, pass to, and return from functions (for some interesting examples of library -functions that manipulate functions, see \domainref{MappingPackage1}. +functions that manipulate functions, see \domainref{MappingPackage1}). Yet, we often seem to use the term {\it operation} and {\it function} interchangeably in Axiom. What is the distinction? @@ -12598,7 +12635,7 @@ operation is what domains and packages export. Thus {\tt Ring} exports one operation ``{\tt +}''. Every ring also exports this operation. Also, the author of every ring in the system is obliged under contract (see \sectionref{ugPackagesAbstract} -to provide an implementation for this operation. +to provide an implementation for this operation). This chapter is all about functions---how you create them interactively and how you apply them to meet your needs. In @@ -12819,7 +12856,8 @@ varPolys(vars) == \end{verbatim} \returnType{Type: Void} -For $vars$ equal to $['x, 'y, 'z]$, this function displays $1$ three times. +For $vars$ equal to $[$'$x,$ '$y,$ '$z]$, +this function displays $1$ three times. \spadcommand{varPolys ['x,'y,'z]} \begin{verbatim} Cannot compile conversion for types involving local variables. @@ -16932,7 +16970,7 @@ The option $title$ gives your graph a title. \begin{minipage}{\linewidth} \makebox[\linewidth]{\includegraphics[scale=0.5]{ps/3doptttl.eps}} \begin{center} -$cos(xy),x=0..2\pi,y=0..\pi,\quad title == "{\rm Title\ of\ Graph}"$ +$cos(xy),x=0..2\pi,y=0..\pi,\quad title == ``{\rm Title\ of\ Graph}''$ \end{center} \end{minipage} @@ -16947,7 +16985,7 @@ The choices are \begin{minipage}{\linewidth} \makebox[\linewidth]{\includegraphics[scale=0.5]{ps/3doptsty.eps}} \begin{center} -$cos(xy),x=-3..3,y=-3..3, style=="smooth", title=="{\rm Smooth\ Option}"$ +$cos(xy),x=-3..3,y=-3..3, style=="smooth", title==``{\rm Smooth\ Option}''$ \end{center} \end{minipage} @@ -17035,7 +17073,7 @@ coordinate system. \begin{minipage}{\linewidth} \makebox[\linewidth]{\includegraphics[scale=0.5]{ps/3doptcrd.eps}} \begin{center} -$m, 0..2\pi,0..\pi, coordinates == spherical, style=="shade"$ +$m, 0..2\pi,0..\pi, coordinates == spherical, style==``shade''$ \end{center} \end{minipage} @@ -17056,7 +17094,7 @@ encircles the specified space curve. \begin{minipage}{\linewidth} \makebox[\linewidth]{\includegraphics[scale=0.5]{ps/3doptrad.eps}} \begin{center} -$curve(sin(t),cos(t),0),t=0..2\pi, style=="shade", tubeRadius == .3$ +$curve(sin(t),cos(t),0),t=0..2\pi, style==``shade'', tubeRadius == .3$ \end{center} \end{minipage} @@ -17071,7 +17109,7 @@ The larger this number is, the more cylindrical the tube becomes. \begin{minipage}{\linewidth} \makebox[\linewidth]{\includegraphics[scale=0.5]{ps/3doptpts.eps}} \begin{center} -$curve(sin(t),cos(t),0), t=0..2\pi, style=="shade", tubeRadius == .25, +$curve(sin(t),cos(t),0), t=0..2\pi, style==``shade'', tubeRadius == .25, tubePoints == 3$ \end{center} \end{minipage} @@ -17088,7 +17126,7 @@ first and second parameters of the surface function(s). \begin{minipage}{\linewidth} \makebox[\linewidth]{\includegraphics[scale=0.5]{ps/3doptvb.eps}} \begin{center} -$cos(xy),x=-3..3,y=-3..3, style=="shade", var1Steps == 30, var2Steps == 30$ +$cos(xy),x=-3..3,y=-3..3, style==``shade'', var1Steps == 30, var2Steps == 30$ \end{center} \end{minipage} @@ -17305,7 +17343,7 @@ enclosed in parentheses. \begin{minipage}{\linewidth} \makebox[\linewidth]{\includegraphics[scale=0.5]{ps/3dbuilda.eps}} \begin{center} -$makeViewport3D(space, title == "Letters")$ +$makeViewport3D(space, title == ``Letters'')$ \end{center} \end{minipage} @@ -17455,7 +17493,7 @@ Create and display the viewport. \begin{minipage}{\linewidth} \makebox[\linewidth]{\includegraphics[scale=0.5]{ps/3dbuildb.eps}} \begin{center} -$makeViewport3D(spaceC, title == "Cube")$ +$makeViewport3D(spaceC, title == ``Cube'')$ \end{center} \end{minipage} @@ -18101,7 +18139,7 @@ polygon outline includes the diagonals or not. \item[{\bf drawStyle}]\funArgs{viewport, style} selects which of four drawing styles \index{graphics!3D commands!drawing style} -are used: {\tt "wireMesh", "solid", "shade",} or {\tt "smooth".} +are used: {\tt ``wireMesh'', ``solid'', ``shade'',} or {\tt ``smooth''.} % \item[{\bf eyeDistance}]\funArgs{viewport,float\argDef{500}} @@ -19085,7 +19123,7 @@ values near zero and blue/violet indicates large positive imaginary values. \begin{center} $(x,y)+-> real exp complex(x,y), -2..2, -2\pi..2\pi, $\\ $colorFunction == (x, y) +-> imag exp complex(x,y), $\\ -$title=="exp(x+\%i*y)", style=="smooth"$ +$title=="exp(x+\%i*y)", style==``smooth''$ \end{center} \end{minipage} @@ -19103,7 +19141,7 @@ see that the function is real only for a real argument. \begin{center} $(x,y) +-> real atan complex(x,y), -\pi..\pi, -\pi..\pi,$\\ $colorFunction==(x,y) +->argument atan complex(x,y), $\\ -$title=="atan(x+\%i*y)", style=="shade"$ +$title=="atan(x+\%i*y)", style==``shade''$ \end{center} \end{minipage} @@ -19117,8 +19155,8 @@ This is the complex Gamma function. \makebox[\linewidth]{\includegraphics[scale=0.5]{ps/compgamma.eps}} \begin{center} $(x,y) +-> max(min(real Gamma complex(x,y),4),-4), -\pi..\pi, -\pi..\pi, $\\ -$style=="shade", colorFunction == (x,y) +-> argument Gamma complex(x,y), $\\ -$title == "Gamma(x+\%i*y)", var1Steps == 50, var2Steps== 50$ +$style==``shade'', colorFunction == (x,y) +-> argument Gamma complex(x,y), $\\ +$title == ``Gamma(x+\%i*y)'', var1Steps == 50, var2Steps== 50$ \end{center} \end{minipage} @@ -19130,7 +19168,7 @@ This shows the real Beta function near the origin. \makebox[\linewidth]{\includegraphics[scale=0.5]{ps/realbeta.eps}} \begin{center} $Beta(x,y)/100, x=-1.6..1.7, y = -1.6..1.7, $\\ -$style=="shade", title=="Beta(x,y)", var1Steps==40, var2Steps==40$ +$style==``shade'', title==``Beta(x,y)'', var1Steps==40, var2Steps==40$ \end{center} \end{minipage} @@ -19144,7 +19182,7 @@ argument $x$ in the range $2..14$. \makebox[\linewidth]{\includegraphics[scale=0.5]{ps/bessel.eps}} \begin{center} $(alpha,x) +-> min(max(besselJ(alpha, x+8), -6), 6), -6..4, -6..6, $\\ -$title=="besselJ(alpha,x)", style=="shade", var1Steps==40, var2Steps==40$ +$title==``besselJ(alpha,x)'', style==``shade'', var1Steps==40, var2Steps==40$ \end{center} \end{minipage} @@ -19175,7 +19213,7 @@ takes on complex values in a $6 \times 6$ rectangle centered on the origin. \begin{center} $(x,y) +-> real besselI(complex(x/20, y/20),5), -60..60, -60..60, $\\ $colorFunction == (x,y)+-> argument besselI(complex(x/20,y/20),5), $\\ -$title=="besselI(x+i*y,5)", style=="shade"$ +$title==``besselI(x+i*y,5)'', style=="shade"$ \end{center} \end{minipage} @@ -50009,7 +50047,7 @@ operations \spadfunFrom{upperCase}{String}, and \spadcommand{upperCase hello } $$ -\mbox{\tt "HELLO, I'M Axiom!"} +\mbox{\tt "HELLO, I'M AXIOM!"} $$ \returnType{Type: String} @@ -57712,7 +57750,7 @@ Show quadrilateral polygon outlines. \begin{minipage}{\linewidth} \makebox[\linewidth]{\includegraphics[scale=0.5]{ps/ribbons2.eps}} \begin{center} -$drawStyle(vp,"shade");outlineRender(vp,"on")$ +$drawStyle(vp,``shade'');outlineRender(vp,``on'')$ \end{center} \end{minipage} @@ -57723,7 +57761,7 @@ Enclose the ribbons in a box. \begin{minipage}{\linewidth} \makebox[\linewidth]{\includegraphics[scale=0.5]{ps/ribbons2b.eps}} \begin{center} -$rotate(vp,20,-60); showRegion(vp,"on")$ +$rotate(vp,20,-60); showRegion(vp,``on'')$ \end{center} \end{minipage} @@ -58051,7 +58089,7 @@ Create a three-di\-men\-sion\-al viewport containing that space. \begin{minipage}{\linewidth} \makebox[\linewidth]{\includegraphics[scale=0.5]{ps/arrow.eps}} \begin{center} -$makeViewport3D(sp,"Arrow")$ +$makeViewport3D(sp,``Arrow'')$ \end{center} \end{minipage} @@ -58126,7 +58164,7 @@ A bouquet of a dozen arrows. \begin{minipage}{\linewidth} \makebox[\linewidth]{\includegraphics[scale=0.5]{ps/bouquet.eps}} \begin{center} -$drawBouquet(12,"A\ Dozen\ Arrows")$ +$drawBouquet(12,``A\ Dozen\ Arrows'')$ \end{center} \end{minipage} @@ -58316,7 +58354,7 @@ Draw the complex vector field of $sin(x)$. \begin{minipage}{\linewidth} \makebox[\linewidth]{\includegraphics[scale=0.5]{ps/vectorsin.eps}} \begin{center} -$drawBouquet(12,"A\ Dozen\ Arrows")$ +$drawBouquet(12,``A\ Dozen\ Arrows'')$ \end{center} \end{minipage} @@ -60122,9 +60160,9 @@ MatrixCategory(R, Row, Col): Category == \index{conditional} \spadfunFrom{determinant}{MatrixCategory} -As categories have parameters, the actual operations exported by a\\ -category can depend on these parameters. As an example, the operation\\ -from category {\tt MatrixCategory} is only exported when the\\ +As categories have parameters, the actual operations exported by a +category can depend on these parameters. As an example, the operation +from category {\tt MatrixCategory} is only exported when the underlying domain $R$ has commutative multiplication: \begin{verbatim} @@ -60406,9 +60444,9 @@ properties. %Original Page 530 -In \sectionref{ugCategoriesConditionals}, you saw that {\tt Fraction(R)},\\ -a member of {\tt QuotientFieldCategory(R)}, is a member of\\ -{\tt OrderedSet} if $R$ is a member of {\tt OrderedSet}. Likewise,\\ +In \sectionref{ugCategoriesConditionals}, you saw that {\tt Fraction(R)}, +a member of {\tt QuotientFieldCategory(R)}, is a member of +{\tt OrderedSet} if $R$ is a member of {\tt OrderedSet}. Likewise, from the {\tt Exports} part of the definition of {\tt ModMonic(R, S)}, \begin{verbatim} @@ -60430,7 +60468,7 @@ The {\tt Exports} part of the definition of {\tt FlexibleArray(S)} reads, for example: \begin{verbatim} Join(ExtensibleLinearAggregate(S), - OneDimensionalArrayAggregate(S)) with... + OneDimensionalArrayAggregate(S)) with ... \end{verbatim} \section{A Demo} @@ -85688,7 +85726,7 @@ venus(a,r,steps) == y := r * sin(2*u) * cv - sv * su z := a * cv point [x,y,z] - draw(surf, 0..\%pi, -\%pi..\%pi, var1Steps==steps, + draw(surf, 0..%pi, -%pi..%pi, var1Steps==steps, var2Steps==steps, title == "Etruscan Venus") venus(5/2, 13/10, 50) The Etruscan Venus @@ -85714,7 +85752,7 @@ klein(x,y) == sx * (cx2 * (sq2 + cy) + (sx2 * sy * cy)), _ -sx2 * (sq2 + cy) + cx2 * sy * cy] -draw(klein, 0..4*\%pi, 0..2*\%pi, var1Steps==50, Figure-8 Klein bottle +draw(klein, 0..4*%pi, 0..2*%pi, var1Steps==50, Figure-8 Klein bottle var2Steps==50,title=="Figure Eight Klein Bottle") \end{verbatim} @@ -85735,7 +85773,7 @@ twist(u, t) == An ellipse that twists p := point [sin u, cos(u)/2] $t$ revolves once rotateBy(p, theta) -ntubeDrawOpt(bcircle, twist, 0..2*\%pi, 0..2*\%pi, Twisted Torus +ntubeDrawOpt(bcircle, twist, 0..2*%pi, 0..2*%pi, Twisted Torus var1Steps == 70, var2Steps == 250) twist2(u, t) == Create a twisting circle @@ -85745,7 +85783,7 @@ twist2(u, t) == Create a twisting circle cf(u,v) == sin(21*u) Color function with $21$ stripes -ntubeDrawOpt(bcircle, twist2, 0..2*\%pi, 0..2*\%pi, Striped Torus +ntubeDrawOpt(bcircle, twist2, 0..2*%pi, 0..2*%pi, Striped Torus colorFunction == cf, var1Steps == 168, var2Steps == 126) \end{verbatim} @@ -85761,7 +85799,7 @@ gam(x,y) == point [x,y,max(min(real g, 4), -4), argument g] -draw(gam, -\%pi..\%pi, -\%pi..\%pi, The Gamma Function +draw(gam, -%pi..%pi, -%pi..%pi, The Gamma Function title == "Gamma(x + \%i*y)", _ var1Steps == 100, var2Steps == 100) @@ -85773,7 +85811,7 @@ atf(x,y) == a := atan complex(x,y) point [x,y,real a, argument a] -draw(atf, -3.0..\%pi, -3.0..\%pi) The Arctangent function +draw(atf, -3.0..%pi, -3.0..%pi) The Arctangent function \end{verbatim} \index{function!Gamma} \index{function!Euler Beta} @@ -85814,13 +85852,13 @@ on the Riemann sphere. f z == z -- Mapping 2: Source -riemannConformalDraw(f,0.1..0.99,0..2*\%pi,7,11,"polar") +riemannConformalDraw(f,0.1..0.99,0..2*%pi,7,11,"polar") -- The map x mapsto -(z+1)/(z-1) f z == -(z+1)/(z-1) -- Mapping 2: Target -riemannConformalDraw(f,0.1..0.99,0..2*\%pi,7,11,"polar") +riemannConformalDraw(f,0.1..0.99,0..2*%pi,7,11,"polar") -- Riemann Sphere Mapping riemannSphereDraw(-4..4, -4..4, 7, 7, "cartesian") @@ -85993,7 +86031,7 @@ riemannSphereDraw(rRange,tRange,rSteps,tSteps,coord) == adaptGrid(sp, grid, rRange, tRange, rSteps, tSteps) connectingLines(sp,grid,rRange,tRange,rSteps,tSteps) -- Draw the sphere - makeObject(riemannSphere,0..2*\%pi,0..\%pi,space==sp) + makeObject(riemannSphere,0..2*%pi,0..%pi,space==sp) f := (z:C):C +-> z cm := makeRiemannConformalMap(f, transformC) -- Draw the sphere grid @@ -86055,7 +86093,7 @@ torusKnot(p, q ,r, uSteps, tSteps) == circle := (u:DFLOAT, t:DFLOAT): Point DFLOAT +-> r * point [cos u, sin u] -- Draw the circle around the knot - ntubeDrawOpt(knot, circle, 0..2*\%pi, 0..2*\%pi, + ntubeDrawOpt(knot, circle, 0..2*%pi, 0..2*%pi, var1Steps == uSteps, var2Steps == tSteps) \end{verbatim} @@ -86343,7 +86381,7 @@ drawRingsInner(s, n, dh) == drawRing(s, dh) == free torusRot torusRot := dh - makeObject(torus, 0..2*\%pi, 0..2*\%pi, var1Steps == 6, + makeObject(torus, 0..2*%pi, 0..2*%pi, var1Steps == 6, space == s, var2Steps == 15) -- Parameterization of a torus, transformed by the @@ -86374,11 +86412,11 @@ drawScherk(m,n) == free xOffset, yOffset space := createThreeSpace() for i in 0..m-1 repeat - xOffset := i*\%pi + xOffset := i*%pi for j in 0 .. n-1 repeat -- Draw only odd patches rem(i+j, 2) = 0 => 'iter - yOffset := j*\%pi + yOffset := j*%pi -- Draw a patch drawOneScherk(space) makeViewport3D(space, "Scherk's Minimal Surface") @@ -86407,13 +86445,13 @@ scherk4(u,v) == -- Draw the surface by breaking it into four -- patches and then drawing the patches drawOneScherk(s) == - makeObject(scherk1,-\%pi/2..\%pi/2,0..\%pi/2,space==s, + makeObject(scherk1,-%pi/2..%pi/2,0..%pi/2,space==s, var1Steps == 28, var2Steps == 28) - makeObject(scherk2,-\%pi/2..\%pi/2,0..\%pi/2,space==s, + makeObject(scherk2,-%pi/2..%pi/2,0..%pi/2,space==s, var1Steps == 28, var2Steps == 28) - makeObject(scherk3,-\%pi/2..\%pi/2,-\%pi/2..0,space==s, + makeObject(scherk3,-%pi/2..%pi/2,-%pi/2..0,space==s, var1Steps == 28, var2Steps == 28) - makeObject(scherk4,-\%pi/2..\%pi/2,-\%pi/2..0,space==s, + makeObject(scherk4,-%pi/2..%pi/2,-%pi/2..0,space==s, var1Steps == 28, var2Steps == 28) void() \end{verbatim} @@ -86444,8 +86482,7 @@ for example, to separate arguments of a function $f(x,y)$. \ourGloss{\glossarySyntaxTerm{\tt =>}}{% {\it (syntax)} -the expression $a => b$ is equivalent to $if a -then$ {\it exit} $b$. +the expression $a => b$ is equivalent to $if\ a\ then$ {\it exit} $b$. } @@ -86581,7 +86618,7 @@ $11.0$ in order to assign a floating-point value to $x$. \ourGloss{\glossaryTerm{attribute}}{% a name or functional form denoting {\it any} useful computational or mathematical -property. For example, {\bf commutative($"*"$)} asserts that +property. For example, {\bf commutative($``*''$)} asserts that $*$ is commutative. Also, {\bf finiteAggregate} is used to assert that an aggregate has a finite number of immediate components. @@ -86643,7 +86680,6 @@ a {\it function} in the standard Axiom library. Contrast {\it user function}. } -v \ourGloss{\glossaryTerm{cache}}{% 1. (noun) a mechanism for immediate retrieval of previously computed data. @@ -86672,7 +86708,7 @@ the constructor. the branch of a {\bf Union}. \index{Union} For example, if value $u$ is $Union(Integer, "failed")$, the -conditional expression $if u case Integer then A else B$ evaluates +conditional expression $if\ u\ case\ Integer\ then\ A\ else\ B$ evaluates $A$ if $u$ is an integer and $B$ otherwise. } @@ -86753,7 +86789,7 @@ inheritance. an element of a character set, as represented by a keyboard key. 2. a component of a string. -For example, the $1$st element of the string $"hello there"$ is the +For example, the $1$st element of the string $``hello\ there''$ is the character {\it h}. } @@ -86817,12 +86853,12 @@ domains rather than the domains themselves. \ourGloss{\glossaryTerm{conditional}}{% -a {\it control structure} of the form $if A then B else C$. +a {\it control structure} of the form $if\ A\ then\ B\ else\ C$. \index{if} The {\it evaluation} of $A$ produces {\tt true} or {\tt false}. If {\tt true}, $B$ evaluates to produce a value; otherwise $C$ evaluates to produce a value. -When the value is not required, the $else C$ part can be omitted. +When the value is not required, the $else\ C$ part can be omitted. } @@ -88106,7 +88142,7 @@ Streams are used to implement various forms of power series. an object of domain {\bf String}. Strings are literals consisting of an arbitrary sequence of characters surrounded by double-quotes ({\tt "}), -for example, $"Look here!"$. +for example, $``Look\ here!''$. } \ourGloss{\glossaryTerm{subdomain}}{% diff --git a/books/bookvol1.pamphlet b/books/bookvol1.pamphlet index ca534f1..0be8cc0 100644 --- a/books/bookvol1.pamphlet +++ b/books/bookvol1.pamphlet @@ -152,7 +152,7 @@ $$ \left[ \begin{array}{cc} \displaystyle{\frac{1}{x+\%{\rm i}}} & 0 \\ -\displaystyle{\frac{1}{{2 \ x}+{2 \%{\rm i}}}} & -{\frac{1}{2}} +\displaystyle{\frac{1}{{2 \ x}+{2 \%{\rm i}}}} & -\displaystyle{\frac{1}{2}} \end{array} \right] $$ @@ -713,7 +713,7 @@ type of $power$ in terms of $R$. From the definition on line 3, $power(3,2)$ produces 9 for $x = 3$ and $R =$ {\tt Integer}. Also, $power(3.0,2)$ produces $9.0$ for $x = 3.0$ and $R =$ {\tt Float}. -$power("oxford",2)$ however fails since $"oxford"$ has type +$power(``oxford'',2)$ however fails since $"oxford"$ has type {\tt String} which is not a ring. Using symbolic domains, algorithms can be defined in their most @@ -876,7 +876,7 @@ though {\tt R} is unknown). Users and system implementers alike use the Axiom language to add facilities to the Axiom library. The entire Axiom -library is in fact written in the Axiom source code and +library is in fact written in the Axiom language and available for user modification and/or extension. Axiom's use of abstract datatypes clearly separates the exports @@ -1018,7 +1018,7 @@ In this document we have followed these typographical conventions: \begin{itemize} % \item Categories, domains and packages are displayed in this font: -{\tt Ring}, {\tt Integer}, {\tt DiophantineSolutionPackage}. +{\tt Ring}, {\tt Integer}, {\tt Diophan\-tineSolutionPackage}. % \item Prefix operators, infix operators, and punctuation symbols in the Axiom language are displayed in the text like this: @@ -1509,7 +1509,7 @@ of text between your input and the answer. The last line contains the type of the result. The type {\tt Float} is used to represent real numbers of arbitrary size and precision (where the user is -able to define how big arbitrary is -- the default is 20 digits but can be +able to define how big arbitrary is--the default is 20 digits but can be as large as your computer system can handle). The type of the result can help track down mistakes in your input if you don't get the answer you expected. @@ -3748,7 +3748,7 @@ thus all the rules about blocks apply to function definitions. Also there was only one argument so the parenthese are not needed. This is basically all that one needs to know about defining functions in -Axiom -- first specify the complete type and then assign a block to the +Axiom--first specify the complete type and then assign a block to the function name. The rest of this section is concerned with defining more complex blocks than those in this section and as a result function definitions will crop up continually particularly since they are a good way of testing @@ -3799,7 +3799,7 @@ x $$ \returnType{Type: Polynomial Float} -Note the indentation -- the ``else'' must be indented relative to the ``if'' +Note the indentation--the ``else'' must be indented relative to the ``if'' otherwise it will generate an error (Axiom will think there are two piles, the second one beginning with ``else''). @@ -5023,7 +5023,7 @@ A {\it set} is a collection of elements where duplication and order is irrelevant. Sets are always finite and have no corresponding structure like streams for infinite collections. -Create sets using braces ``\{`` and ``\}'' rather than brackets. +Create sets using braces ``\{'' and ``\}'' rather than brackets. \index{set} \spadcommand{fs := set [1/3,4/5,-1/3,4/5]} @@ -5078,14 +5078,14 @@ $$ We define a function {\bf howMany} to return the number of values of a given modulus $k$ seen so far. It calls {\bf search}$(k,t)$ which returns the number of values -stored under the key $k$ in table $t$, or {\tt ``failed''} +stored under the key $k$ in table $t$, or {\tt "failed"} if no such value is yet stored in $t$ under $k$. \index{howMany} \index{search} In English, this says ``Define $howMany(k)$ as follows. First, let $n$ be the value of {\it search}$(k,t)$. -Then, if $n$ has the value $"failed"$, return the value +Then, if $n$ has the value $``failed''$, return the value $1$; otherwise return $n + 1$.'' \spadcommand{howMany(k) == (n:=search(k,t); n case "failed" => 1; n+1)} \returnType{Type: Void} @@ -5856,6 +5856,7 @@ $$ \spadcommand{g := log(f)} $$ \begin{array}{@{}l} +\displaystyle x+ {{1 \over 2} \ {x \sp 2}}+ {{1 \over 3} \ {x \sp 3}}+ @@ -6235,6 +6236,7 @@ must be added in order to find a solution. $$ \left( \begin{array}{@{}l} +\displaystyle -{2 \ {b \sp 2} \ {x \sp 2} \ {\sqrt {3}} \ {\log \left( {{{{\root {3} \of {a}} \ {{\root {3} \of {{{b \ x}+a}}} \sp 2}}+{{{\root @@ -6334,6 +6336,7 @@ relationships between functions. $$ \left( \begin{array}{@{}l} +\displaystyle {8 \ {\log \left( {{{3 \ {{\tan @@ -6483,6 +6486,7 @@ $$ %%less complicated than this one. $$ \begin{array}{@{}l} +\displaystyle \left[ {particular={{{x \sp 5} -{{10} \ {x \sp 3}}+{{20} \ {x \sp 2}}+4} \over {{15} \ x}}}, @@ -6800,6 +6804,7 @@ $$ $$ \left. \begin{array}{@{}l} +\displaystyle \left[ {x={{{z \sp 3}+{2 \ b \ {z \sp 2}}+{{b \sp 2} \ z} -a} \over b}}, {y={z+b}}, @@ -8065,7 +8070,7 @@ plotData2D(name, title) == \end{verbatim} % This command will actually create the viewport and the graph if -the point data is in the file $"file.data"$. +the point data is in the file $``file.data''$. \begin{verbatim} plotData2D("file.data", "2D Data Plot") \end{verbatim} @@ -8137,7 +8142,7 @@ where $a..b$ and $c..d$ define the range of $x$ and $y$, and where {\it options} prescribes zero or more options as described in \ref{sec:Three-Dimensional Options} on page~\pageref{sec:Three-Dimensional Options}. -An example of an option is $title == "Title of Graph".$ +An example of an option is $title == ``Title of Graph''.$ An alternative format involving a function $f$ is also available.\\ } @@ -8168,7 +8173,7 @@ where $a..b$ defines the range of the independent variable $t$, and where {\it options} prescribes zero or more options as described in \ref{sec:Three-Dimensional Options} on page~\pageref{sec:Three-Dimensional Options}. -An example of an option is $title == "Title of Graph".$ +An example of an option is $title == ``Title of Graph''.$ An alternative format involving functions $f$, $g$ and $h$ is also available.\\ } @@ -8201,7 +8206,7 @@ independent variables $u$ and $v$, and where {\it options} prescribes zero or more options as described in \ref{sec:Three-Dimensional Options} on page~\pageref{sec:Three-Dimensional Options}. -An example of an option is $title == "Title of Graph".$ +An example of an option is $title == ``Title of Graph''.$ An alternative format involving functions $f$, $g$ and $h$ is also available.\\ } @@ -9635,8 +9640,8 @@ If a constructor \index{type!using parentheses} has more than parentheses. Some examples are \\ {\tt UnivariatePolynomial(x, Float)} \index{UnivariatePolynomial} \\ -{\tt MultivariatePolynomial([z,w,r], Complex Float)} \\ -\index{MultivariatePolynomial} +{\tt MultivariatePolynomial([z,w,r], Complex Float)} +\index{MultivariatePolynomial} \\ {\tt SquareMatrix(3, Integer)} \index{SquareMatrix} \\ {\tt FactoredFunctions2(Integer,Fraction Integer)} \index{FactoredFunctions2} @@ -9863,6 +9868,7 @@ rational number coefficients. $$ \left[ \begin{array}{c} +\displaystyle {x -{2 \over 3}} \end{array} \right] @@ -10429,8 +10435,10 @@ number coefficients. \index{SquareMatrix} $$ \left[ \begin{array}{cc} -{x -{{3 \over 4} \ i}} & {{{y \sp 2} \ z}+{1 \over 2}} \\ -{{{3 \over 7} \ i \ {y \sp 4}} -x} & {{12} -{{9 \over 5} \ i}} +\displaystyle +{x -{{3 \over 4} \ i}} & \displaystyle{{{y \sp 2} \ z}+{1 \over 2}} \\ +\displaystyle +{{{3 \over 7} \ i \ {y \sp 4}} -x} & \displaystyle{{12} -{{9 \over 5} \ i}} \end{array} \right] $$ @@ -10443,8 +10451,11 @@ expression. $$ \left[ \begin{array}{cc} -{x -{{3 \ i} \over 4}} & {{{y \sp 2} \ z}+{1 \over 2}} \\ -{{{{3 \ i} \over 7} \ {y \sp 4}} -x} & {{{60} -{9 \ i}} \over 5} +\displaystyle +{x -{{3 \ i} \over 4}} & \displaystyle{{{y \sp 2} \ z}+{1 \over 2}} \\ +\displaystyle +{{{{3 \ i} \over 7} \ {y \sp 4}} -x} & +\displaystyle{{{60} -{9 \ i}} \over 5} \end{array} \right] $$ @@ -10455,8 +10466,12 @@ Interchange the {\tt Polynomial} and the {\tt Fraction} levels. $$ \left[ \begin{array}{cc} -{{{4 \ x} -{3 \ i}} \over 4} & {{{2 \ {y \sp 2} \ z}+1} \over 2} \\ -{{{3 \ i \ {y \sp 4}} -{7 \ x}} \over 7} & {{{60} -{9 \ i}} \over 5} +\displaystyle +{{{4 \ x} -{3 \ i}} \over 4} & +\displaystyle{{{2 \ {y \sp 2} \ z}+1} \over 2} \\ +\displaystyle +{{{3 \ i \ {y \sp 4}} -{7 \ x}} \over 7} & +\displaystyle{{{60} -{9 \ i}} \over 5} \end{array} \right] $$ @@ -10467,8 +10482,12 @@ Interchange the {\tt Polynomial} and the {\tt Complex} levels. $$ \left[ \begin{array}{cc} -{{{4 \ x} -{3 \ i}} \over 4} & {{{2 \ {y \sp 2} \ z}+1} \over 2} \\ -{{-{7 \ x}+{3 \ {y \sp 4} \ i}} \over 7} & {{{60} -{9 \ i}} \over 5} +\displaystyle +{{{4 \ x} -{3 \ i}} \over 4} & +\displaystyle{{{2 \ {y \sp 2} \ z}+1} \over 2} \\ +\displaystyle +{{-{7 \ x}+{3 \ {y \sp 4} \ i}} \over 7} & +\displaystyle{{{60} -{9 \ i}} \over 5} \end{array} \right] $$ @@ -10483,8 +10502,12 @@ In fact, we could have combined all these into one conversion. $$ \left[ \begin{array}{cc} -{{{4 \ x} -{3 \ i}} \over 4} & {{{2 \ {y \sp 2} \ z}+1} \over 2} \\ -{{-{7 \ x}+{3 \ {y \sp 4} \ i}} \over 7} & {{{60} -{9 \ i}} \over 5} +\displaystyle +{{{4 \ x} -{3 \ i}} \over 4} & +\displaystyle{{{2 \ {y \sp 2} \ z}+1} \over 2} \\ +\displaystyle +{{-{7 \ x}+{3 \ {y \sp 4} \ i}} \over 7} & +\displaystyle{{{60} -{9 \ i}} \over 5} \end{array} \right] $$ @@ -10512,8 +10535,10 @@ Recall that $m$ looks like this. $$ \left[ \begin{array}{cc} -{x -{{3 \over 4} \ i}} & {{{y \sp 2} \ z}+{1 \over 2}} \\ -{{{3 \over 7} \ i \ {y \sp 4}} -x} & {{12} -{{9 \over 5} \ i}} +\displaystyle +{x -{{3 \over 4} \ i}} & \displaystyle{{{y \sp 2} \ z}+{1 \over 2}} \\ +\displaystyle +{{{3 \over 7} \ i \ {y \sp 4}} -x} & \displaystyle{{12} -{{9 \over 5} \ i}} \end{array} \right] $$ @@ -10533,7 +10558,7 @@ $$ \ {y \sp 2} \ z}+{{\left[ \begin{array}{cc} 0 & 0 \\ -{{3 \over 7} \ i} & 0 +\displaystyle{{3 \over 7} \ i} & 0 \end{array} \right]} \ {y \sp 4}}+{{\left[ @@ -10544,8 +10569,8 @@ $$ \right]} \ x}+{\left[ \begin{array}{cc} --{{3 \over 4} \ i} & {1 \over 2} \\ -0 & {{12} -{{9 \over 5} \ i}} +-\displaystyle{{3 \over 4} \ i} & \displaystyle{1 \over 2} \\ +0 & \displaystyle{{12} -{{9 \over 5} \ i}} \end{array} \right]} $$ @@ -10567,7 +10592,7 @@ $$ \ {y \sp 2} \ z}+{{\left[ \begin{array}{cc} 0 & 0 \\ -{{3 \over 7} \ i} & 0 +\displaystyle{{3 \over 7} \ i} & 0 \end{array} \right]} \ {y \sp 4}}+{{\left[ @@ -10578,8 +10603,8 @@ $$ \right]} \ x}+{\left[ \begin{array}{cc} --{{3 \over 4} \ i} & {1 \over 2} \\ -0 & {{12} -{{9 \over 5} \ i}} +-\displaystyle{{3 \over 4} \ i} & \displaystyle{1 \over 2} \\ +0 & \displaystyle{{12} -{{9 \over 5} \ i}} \end{array} \right]} $$ @@ -10599,7 +10624,7 @@ $$ \ {y \sp 2} \ z}+{{\left[ \begin{array}{cc} 0 & 0 \\ -{{3 \ i} \over 7} & 0 +\displaystyle{{3 \ i} \over 7} & 0 \end{array} \right]} \ {y \sp 4}}+{{\left[ @@ -10610,8 +10635,8 @@ $$ \right]} \ x}+{\left[ \begin{array}{cc} --{{3 \ i} \over 4} & {1 \over 2} \\ -0 & {{{60} -{9 \ i}} \over 5} +-\displaystyle{{3 \ i} \over 4} & \displaystyle{1 \over 2} \\ +0 & \displaystyle{{{60} -{9 \ i}} \over 5} \end{array} \right]} $$ @@ -10954,8 +10979,8 @@ by calling \spadfunFrom{map}{MatrixCategoryFunctions2} with the $$ \left[ \begin{array}{cc} -{1 \over 8} & {1 \over 6} \\ --{1 \over 4} & {1 \over 9} +\displaystyle{1 \over 8} & \displaystyle{1 \over 6} \\ +-\displaystyle{1 \over 4} & \displaystyle{1 \over 9} \end{array} \right] $$ @@ -10966,8 +10991,8 @@ We could have been a bit less verbose and used abbreviations. $$ \left[ \begin{array}{cc} -{1 \over 8} & {1 \over 6} \\ --{1 \over 4} & {1 \over 9} +\displaystyle{1 \over 8} & \displaystyle{1 \over 6} \\ +-\displaystyle{1 \over 4} & \displaystyle{1 \over 9} \end{array} \right] $$ @@ -10979,8 +11004,8 @@ We can just say this. $$ \left[ \begin{array}{cc} -{1 \over 8} & {1 \over 6} \\ --{1 \over 4} & {1 \over 9} +\displaystyle{1 \over 8} & \displaystyle{1 \over 6} \\ +-\displaystyle{1 \over 4} & \displaystyle{1 \over 9} \end{array} \right] $$ @@ -14323,7 +14348,7 @@ Addison-Wesley, New York ISBN 0-201-52983-1 \bibitem{6} Ramsey, Norman ``Noweb -- A Simple, Extensible Tool for Literate Programming''\\ {\bf http://www.eecs.harvard.edu/ $\tilde{}$nr/noweb} -\bibitem{7} Daly, Timothy, "The Axiom Literate Documentation"\\ +\bibitem{7} Daly, Timothy, ``The Axiom Literate Documentation''\\ {\bf http://axiom.axiom-developer.org/axiom-website/documentation.html} \end{thebibliography} \printindex diff --git a/books/bookvol2.pamphlet b/books/bookvol2.pamphlet index 60bcb0c..bdb7a4e 100644 --- a/books/bookvol2.pamphlet +++ b/books/bookvol2.pamphlet @@ -181,7 +181,7 @@ maps all of the dots in C to a single dot in D and all of the arrows in C to the identity arrow in D. The category CommutativeRing R can be mapped to a Group with the functor -$GL_n$ which is the group of invertible NxN matrices with entries in +$GL_n$ which is the group of invertible N$\times$N matrices with entries in the CommutativeRing R. \section{Monoids and Groups} @@ -371,7 +371,7 @@ Addison-Wesley, New York ISBN 0-201-52983-1 \bibitem{6} Ramsey, Norman ``Noweb -- A Simple, Extensible Tool for Literate Programming''\\ {\bf http://www.eecs.harvard.edu/ $\tilde{}$nr/noweb} -\bibitem{7} Daly, Timothy, "The Axiom Literate Documentation"\\ +\bibitem{7} Daly, Timothy, ``The Axiom Literate Documentation''\\ {\bf http://axiom.axiom-developer.org/axiom-website/documentation.html} \end{thebibliography} \printindex diff --git a/books/bookvol4.pamphlet b/books/bookvol4.pamphlet index 5e743fb..712ac4b 100644 --- a/books/bookvol4.pamphlet +++ b/books/bookvol4.pamphlet @@ -1829,14 +1829,8 @@ so HermiteIntegrate did nothing to the input. Next we call normalHermiteIntegrate which is a local function \section{Tools} -\subsection{svn} -SVN is a source control system on all platforms. Axiom 'silver' is -maintained in an SVN archive on sourceforge. This can be pulled from: -\begin{verbatim} -svn co https://axiom.svn.sf.net/svnroot/axiom/trunk/axiom axiom -\end{verbatim} \subsection{git} -Git is a unix-based source code control system. Axiom 'silver' is +Git is a unix-based source code control system. Axiom silver is maintained in a git archive. This can be pulled from: \begin{verbatim} git-clone ssh://git@axiom-developer.org/home/git/silver diff --git a/changelog b/changelog index a6ec1bf..a1605e3 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,8 @@ +20130529 jzc src/axiom-website/patches.html 20130529.01.jzc.patch +20130529 jzc books/bookvol4 fix typos +20130529 jzc books/bookvol2 fix typos +20130529 jzc books/bookvol1 fix typos +20130529 jzc books/bookvol0 fix typos 20130528 tpd src/axiom-website/patches.html 20130528.01.tpd.patch 20130528 tpd src/interp/br-con.lisp rewrite functions into bookvol5 20130528 tpd src/interp/util.lisp remove autoload trigger functions diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 629cfb0..86b590a 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -4187,6 +4187,8 @@ src/interp/regress.lisp improve diff output books/bookvol5 incremental rewrite of br-con.lisp 20130528.01.tpd.patch books/bookvol* standardize the table of contents +20130529.01.jzc.patch +books/bookvol{0,1,2,4} fix typos