diff --git a/books/bookvol7.1.pamphlet b/books/bookvol7.1.pamphlet index 6d546a9..2ad4111 100644 --- a/books/bookvol7.1.pamphlet +++ b/books/bookvol7.1.pamphlet @@ -1107,7 +1107,7 @@ have to go hunting when moving between Unix versions. @ \subsection{Bitmaps and bitmap manipulation macros} <>= -\newcommand{\htbmdir}{\env{AXIOM}/doc/hypertex/bitmaps} +\newcommand{\htbmdir}{\env{AXIOM}/doc/bitmaps} \newcommand{\htbmfile}[1]{\htbmdir /#1.bitmap} \newcommand{\htbitmap}[1]{\inputbitmap{\htbmfile{#1}}} \newcommand{\ControlBitmap}[1]{\controlbitmap{\htbmfile{#1}}} @@ -1126,7 +1126,7 @@ have to go hunting when moving between Unix versions. % Including control panel pixmaps for help pages: \newcommand{\helpbit}[1] -{\centerline{\inputpixmap{\env{AXIOM}/doc/hypertex/pixmaps/{#1}}}} +{\centerline{\inputpixmap{\env{AXIOM}/doc/pixmaps/{#1}}}} @ \subsection{HyperDoc button objects} @@ -2147,6 +2147,193 @@ see \downlink{`List'}{ListXmpPage}\ignore{List}. \autobuttons \end{page} +\begin{patch}{AssociationListXmpPagePatch1} +\begin{paste}{AssociationListXmpPageFull1}{AssociationListXmpPageEmpty1} +\pastebutton{AssociationListXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{ +Data := Record(monthsOld : Integer, gender : String)\bound{Data }} +\indentrel{3}\begin{verbatim} + (1) Record(monthsOld: Integer,gender: String) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{AssociationListXmpPageEmpty1} +\begin{paste}{AssociationListXmpPageEmpty1}{AssociationListXmpPagePatch1} +\pastebutton{AssociationListXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{ +Data := Record(monthsOld : Integer, gender : String)\bound{Data }} +\end{paste}\end{patch} + +\begin{patch}{AssociationListXmpPagePatch2} +\begin{paste}{AssociationListXmpPageFull2}{AssociationListXmpPageEmpty2} +\pastebutton{AssociationListXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{ +al : AssociationList(String,Data)\free{Data }\bound{al }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{AssociationListXmpPageEmpty2} +\begin{paste}{AssociationListXmpPageEmpty2}{AssociationListXmpPagePatch2} +\pastebutton{AssociationListXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{ +al : AssociationList(String,Data)\free{Data }\bound{al }} +\end{paste}\end{patch} + +\begin{patch}{AssociationListXmpPagePatch3} +\begin{paste}{AssociationListXmpPageFull3}{AssociationListXmpPageEmpty3} +\pastebutton{AssociationListXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{al := table()\free{al }\bound{al1 }} +\indentrel{3}\begin{verbatim} + (3) table() +Type: AssociationList(String,Record(monthsOld: Integer,gender: String)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{AssociationListXmpPageEmpty3} +\begin{paste}{AssociationListXmpPageEmpty3}{AssociationListXmpPagePatch3} +\pastebutton{AssociationListXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{al := table()\free{al }\bound{al1 }} +\end{paste}\end{patch} + +\begin{patch}{AssociationListXmpPagePatch4} +\begin{paste}{AssociationListXmpPageFull4}{AssociationListXmpPageEmpty4} +\pastebutton{AssociationListXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{al."bob" := [407,"male"]$Data\free{al1 }\bound{al2 }} +\indentrel{3}\begin{verbatim} + (4) [monthsOld= 407,gender= "male"] + Type: Record(monthsOld: Integer,gender: String) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{AssociationListXmpPageEmpty4} +\begin{paste}{AssociationListXmpPageEmpty4}{AssociationListXmpPagePatch4} +\pastebutton{AssociationListXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{al."bob" := [407,"male"]$Data\free{al1 }\bound{al2 }} +\end{paste}\end{patch} + +\begin{patch}{AssociationListXmpPagePatch5} +\begin{paste}{AssociationListXmpPageFull5}{AssociationListXmpPageEmpty5} +\pastebutton{AssociationListXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{ +al."judith" := [366,"female"]$Data\free{al2 }\bound{al3 }} +\indentrel{3}\begin{verbatim} + (5) [monthsOld= 366,gender= "female"] + Type: Record(monthsOld: Integer,gender: String) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{AssociationListXmpPageEmpty5} +\begin{paste}{AssociationListXmpPageEmpty5}{AssociationListXmpPagePatch5} +\pastebutton{AssociationListXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{ +al."judith" := [366,"female"]$Data\free{al2 }\bound{al3 }} +\end{paste}\end{patch} + +\begin{patch}{AssociationListXmpPagePatch6} +\begin{paste}{AssociationListXmpPageFull6}{AssociationListXmpPageEmpty6} +\pastebutton{AssociationListXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{ +al."katie" := [24,"female"]$Data\free{al3 }\bound{al4 }} +\indentrel{3}\begin{verbatim} + (6) [monthsOld= 24,gender= "female"] + Type: Record(monthsOld: Integer,gender: String) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{AssociationListXmpPageEmpty6} +\begin{paste}{AssociationListXmpPageEmpty6}{AssociationListXmpPagePatch6} +\pastebutton{AssociationListXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{ +al."katie" := [24,"female"]$Data\free{al3 }\bound{al4 }} +\end{paste}\end{patch} + +\begin{patch}{AssociationListXmpPagePatch7} +\begin{paste}{AssociationListXmpPageFull7}{AssociationListXmpPageEmpty7} +\pastebutton{AssociationListXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{ +al."smokie" := [200,"female"]$Data\free{al4 }\bound{al5 }} +\indentrel{3}\begin{verbatim} + (7) [monthsOld= 200,gender= "female"] + Type: Record(monthsOld: Integer,gender: String) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{AssociationListXmpPageEmpty7} +\begin{paste}{AssociationListXmpPageEmpty7}{AssociationListXmpPagePatch7} +\pastebutton{AssociationListXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{ +al."smokie" := [200,"female"]$Data\free{al4 }\bound{al5 }} +\end{paste}\end{patch} + +\begin{patch}{AssociationListXmpPagePatch8} +\begin{paste}{AssociationListXmpPageFull8}{AssociationListXmpPageEmpty8} +\pastebutton{AssociationListXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{al\free{al5 }} +\indentrel{3}\begin{verbatim} + (8) + table + "smokie"= [monthsOld= 200,gender= "female"] + , + "katie"= [monthsOld= 24,gender= "female"] + , + "judith"= [monthsOld= 366,gender= "female"] + , + "bob"= [monthsOld= 407,gender= "male"] +Type: AssociationList(String,Record(monthsOld: Integer,gender: String)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{AssociationListXmpPageEmpty8} +\begin{paste}{AssociationListXmpPageEmpty8}{AssociationListXmpPagePatch8} +\pastebutton{AssociationListXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{al\free{al5 }} +\end{paste}\end{patch} + +\begin{patch}{AssociationListXmpPagePatch9} +\begin{paste}{AssociationListXmpPageFull9}{AssociationListXmpPageEmpty9} +\pastebutton{AssociationListXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{ +al."katie" := [23,"female"]$Data\free{al5 }\bound{al6 }} +\indentrel{3}\begin{verbatim} + (9) [monthsOld= 23,gender= "female"] + Type: Record(monthsOld: Integer,gender: String) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{AssociationListXmpPageEmpty9} +\begin{paste}{AssociationListXmpPageEmpty9}{AssociationListXmpPagePatch9} +\pastebutton{AssociationListXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{ +al."katie" := [23,"female"]$Data\free{al5 }\bound{al6 }} +\end{paste}\end{patch} + +\begin{patch}{AssociationListXmpPagePatch10} +\begin{paste}{AssociationListXmpPageFull10}{AssociationListXmpPageEmpty10} +\pastebutton{AssociationListXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{delete!(al,1)\free{al6 }\bound{al7 }} +\indentrel{3}\begin{verbatim} + (10) + table + "katie"= [monthsOld= 23,gender= "female"] + , + "judith"= [monthsOld= 366,gender= "female"] + , + "bob"= [monthsOld= 407,gender= "male"] +Type: AssociationList(String,Record(monthsOld: Integer,gender: String)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{AssociationListXmpPageEmpty10} +\begin{paste} +{AssociationListXmpPageEmpty10}{AssociationListXmpPagePatch10} +\pastebutton{AssociationListXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{delete!(al,1)\free{al6 }\bound{al7 }} +\end{paste}\end{patch} + + @ \section{array1.ht} \pagehead{OneDimensionalArrayXmpPage}{array1.ht}{OneDimensionalArray} @@ -2155,15 +2342,13 @@ see \downlink{`List'}{ListXmpPage}\ignore{List}. <>= \begin{page}{OneDimensionalArrayXmpPage}{OneDimensionalArray} \beginscroll -The \spadtype{OneDimensionalArray} domain is used for storing data in a -one-dimensional indexed data structure. -Such an array is a homogeneous data structure in that all the entries of -the array must belong to the same Axiom domain. -Each array has a fixed length specified by the user and arrays are not -extensible. -The indexing of one-dimensional arrays is one-based. -This means that the ``first'' element of an array is given the index -\spad{1}. +The \spadtype{OneDimensionalArray} domain is used for storing data in +a one-dimensional indexed data structure. Such an array is a +homogeneous data structure in that all the entries of the array must +belong to the same Axiom domain. Each array has a fixed length +specified by the user and arrays are not extensible. The indexing of +one-dimensional arrays is one-based. This means that the ``first'' +element of an array is given the index \spad{1}. See also \downlink{`Vector'}{VectorXmpPage}\ignore{Vector} and \downlink{`FlexibleArray'}{FlexibleArrayXmpPage}\ignore{FlexibleArray}. \xtc{ @@ -2222,6 +2407,170 @@ Replace the first 5 elements of \spad{a} with those of \spad{b}. \autobuttons \end{page} +\begin{patch}{OneDimensionalArrayXmpPagePatch1} +\begin{paste}{OneDimensionalArrayXmpPageFull1} +{OneDimensionalArrayXmpPageEmpty1} +\pastebutton{OneDimensionalArrayXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{oneDimensionalArray [i**2 for i in 1..10]} +\indentrel{3}\begin{verbatim} + (1) [1,4,9,16,25,36,49,64,81,100] + Type: OneDimensionalArray PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OneDimensionalArrayXmpPageEmpty1} +\begin{paste}{OneDimensionalArrayXmpPageEmpty1} +{OneDimensionalArrayXmpPagePatch1} +\pastebutton{OneDimensionalArrayXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{oneDimensionalArray [i**2 for i in 1..10]} +\end{paste}\end{patch} + +\begin{patch}{OneDimensionalArrayXmpPagePatch2} +\begin{paste}{OneDimensionalArrayXmpPageFull2} +{OneDimensionalArrayXmpPageEmpty2} +\pastebutton{OneDimensionalArrayXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{a : ARRAY1 INT := new(10,0)\bound{a }} +\indentrel{3}\begin{verbatim} + (2) [0,0,0,0,0,0,0,0,0,0] + Type: OneDimensionalArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OneDimensionalArrayXmpPageEmpty2} +\begin{paste}{OneDimensionalArrayXmpPageEmpty2} +{OneDimensionalArrayXmpPagePatch2} +\pastebutton{OneDimensionalArrayXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{a : ARRAY1 INT := new(10,0)\bound{a }} +\end{paste}\end{patch} + +\begin{patch}{OneDimensionalArrayXmpPagePatch3} +\begin{paste}{OneDimensionalArrayXmpPageFull3} +{OneDimensionalArrayXmpPageEmpty3} +\pastebutton{OneDimensionalArrayXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{ +for i in 1..10 repeat a.i := i; a\bound{a1 }\free{a }} +\indentrel{3}\begin{verbatim} + (3) [1,2,3,4,5,6,7,8,9,10] + Type: OneDimensionalArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OneDimensionalArrayXmpPageEmpty3} +\begin{paste}{OneDimensionalArrayXmpPageEmpty3} +{OneDimensionalArrayXmpPagePatch3} +\pastebutton{OneDimensionalArrayXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{ +for i in 1..10 repeat a.i := i; a\bound{a1 }\free{a }} +\end{paste}\end{patch} + +\begin{patch}{OneDimensionalArrayXmpPagePatch4} +\begin{paste}{OneDimensionalArrayXmpPageFull4} +{OneDimensionalArrayXmpPageEmpty4} +\pastebutton{OneDimensionalArrayXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{map!(i +-> i ** 2,a); a\bound{a3 }\free{a2 }} +\indentrel{3}\begin{verbatim} + (4) [1,4,9,16,25,36,49,64,81,100] + Type: OneDimensionalArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OneDimensionalArrayXmpPageEmpty4} +\begin{paste}{OneDimensionalArrayXmpPageEmpty4} +{OneDimensionalArrayXmpPagePatch4} +\pastebutton{OneDimensionalArrayXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{map!(i +-> i ** 2,a); a\bound{a3 }\free{a2 }} +\end{paste}\end{patch} + +\begin{patch}{OneDimensionalArrayXmpPagePatch5} +\begin{paste}{OneDimensionalArrayXmpPageFull5} +{OneDimensionalArrayXmpPageEmpty5} +\pastebutton{OneDimensionalArrayXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{reverse! a\bound{a4 }\free{a3 }} +\indentrel{3}\begin{verbatim} + (5) [100,81,64,49,36,25,16,9,4,1] + Type: OneDimensionalArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OneDimensionalArrayXmpPageEmpty5} +\begin{paste}{OneDimensionalArrayXmpPageEmpty5} +{OneDimensionalArrayXmpPagePatch5} +\pastebutton{OneDimensionalArrayXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{reverse! a\bound{a4 }\free{a3 }} +\end{paste}\end{patch} + +\begin{patch}{OneDimensionalArrayXmpPagePatch6} +\begin{paste}{OneDimensionalArrayXmpPageFull6} +{OneDimensionalArrayXmpPageEmpty6} +\pastebutton{OneDimensionalArrayXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{swap!(a,4,5); a\bound{a5 }\free{a4 }} +\indentrel{3}\begin{verbatim} + (6) [100,81,64,36,49,25,16,9,4,1] + Type: OneDimensionalArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OneDimensionalArrayXmpPageEmpty6} +\begin{paste}{OneDimensionalArrayXmpPageEmpty6} +{OneDimensionalArrayXmpPagePatch6} +\pastebutton{OneDimensionalArrayXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{swap!(a,4,5); a\bound{a5 }\free{a4 }} +\end{paste}\end{patch} + +\begin{patch}{OneDimensionalArrayXmpPagePatch7} +\begin{paste}{OneDimensionalArrayXmpPageFull7} +{OneDimensionalArrayXmpPageEmpty7} +\pastebutton{OneDimensionalArrayXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{sort! a\bound{a6 }\free{a5 }} +\indentrel{3}\begin{verbatim} + (7) [1,4,9,16,25,36,49,64,81,100] + Type: OneDimensionalArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OneDimensionalArrayXmpPageEmpty7} +\begin{paste}{OneDimensionalArrayXmpPageEmpty7} +{OneDimensionalArrayXmpPagePatch7} +\pastebutton{OneDimensionalArrayXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{sort! a\bound{a6 }\free{a5 }} +\end{paste}\end{patch} + +\begin{patch}{OneDimensionalArrayXmpPagePatch8} +\begin{paste}{OneDimensionalArrayXmpPageFull8} +{OneDimensionalArrayXmpPageEmpty8} +\pastebutton{OneDimensionalArrayXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{b := a(6..10)\bound{b }\free{a6 }} +\indentrel{3}\begin{verbatim} + (8) [36,49,64,81,100] + Type: OneDimensionalArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OneDimensionalArrayXmpPageEmpty8} +\begin{paste}{OneDimensionalArrayXmpPageEmpty8} +{OneDimensionalArrayXmpPagePatch8} +\pastebutton{OneDimensionalArrayXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{b := a(6..10)\bound{b }\free{a6 }} +\end{paste}\end{patch} + +\begin{patch}{OneDimensionalArrayXmpPagePatch9} +\begin{paste}{OneDimensionalArrayXmpPageFull9} +{OneDimensionalArrayXmpPageEmpty9} +\pastebutton{OneDimensionalArrayXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{copyInto!(a,b,1)\free{b }} +\indentrel{3}\begin{verbatim} + (9) [36,49,64,81,100,36,49,64,81,100] + Type: OneDimensionalArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OneDimensionalArrayXmpPageEmpty9} +\begin{paste}{OneDimensionalArrayXmpPageEmpty9} +{OneDimensionalArrayXmpPagePatch9} +\pastebutton{OneDimensionalArrayXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{copyInto!(a,b,1)\free{b }} +\end{paste}\end{patch} + @ \section{array2.ht} \pagehead{TwoDimensionalArrayXmpPage}{array2.ht}{TwoDimensionalArray} @@ -2390,7 +2739,431 @@ For information on related topics, see \endscroll \autobuttons \end{page} -% + +\begin{patch}{TwoDimensionalArrayXmpPagePatch1} +\begin{paste}{TwoDimensionalArrayXmpPageFull1} +{TwoDimensionalArrayXmpPageEmpty1} +\pastebutton{TwoDimensionalArrayXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{arr : ARRAY2 INT := new(5,4,0)\bound{arr }} +\indentrel{3}\begin{verbatim} + Ú0 0 0 0¿ + ³ ³ + ³0 0 0 0³ + ³ ³ + (1) ³0 0 0 0³ + ³ ³ + ³0 0 0 0³ + ³ ³ + À0 0 0 0Ù + Type: TwoDimensionalArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPageEmpty1} +\begin{paste}{TwoDimensionalArrayXmpPageEmpty1} +{TwoDimensionalArrayXmpPagePatch1} +\pastebutton{TwoDimensionalArrayXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{arr : ARRAY2 INT := new(5,4,0)\bound{arr }} +\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPagePatch2} +\begin{paste}{TwoDimensionalArrayXmpPageFull2} +{TwoDimensionalArrayXmpPageEmpty2} +\pastebutton{TwoDimensionalArrayXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{setelt(arr,1,1,17)\free{arr }\bound{arr1 }} +\indentrel{3}\begin{verbatim} + (2) 17 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPageEmpty2} +\begin{paste}{TwoDimensionalArrayXmpPageEmpty2} +{TwoDimensionalArrayXmpPagePatch2} +\pastebutton{TwoDimensionalArrayXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{setelt(arr,1,1,17)\free{arr }\bound{arr1 }} +\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPagePatch3} +\begin{paste}{TwoDimensionalArrayXmpPageFull3} +{TwoDimensionalArrayXmpPageEmpty3} +\pastebutton{TwoDimensionalArrayXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{arr\free{arr1 }} +\indentrel{3}\begin{verbatim} + Ú17 0 0 0¿ + ³ ³ + ³0 0 0 0³ + ³ ³ + (3) ³0 0 0 0³ + ³ ³ + ³0 0 0 0³ + ³ ³ + À0 0 0 0Ù + Type: TwoDimensionalArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPageEmpty3} +\begin{paste}{TwoDimensionalArrayXmpPageEmpty3} +{TwoDimensionalArrayXmpPagePatch3} +\pastebutton{TwoDimensionalArrayXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{arr\free{arr1 }} +\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPagePatch4} +\begin{paste}{TwoDimensionalArrayXmpPageFull4} +{TwoDimensionalArrayXmpPageEmpty4} +\pastebutton{TwoDimensionalArrayXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{elt(arr,1,1)\free{arr1 }} +\indentrel{3}\begin{verbatim} + (4) 17 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPageEmpty4} +\begin{paste}{TwoDimensionalArrayXmpPageEmpty4} +{TwoDimensionalArrayXmpPagePatch4} +\pastebutton{TwoDimensionalArrayXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{elt(arr,1,1)\free{arr1 }} +\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPagePatch5} +\begin{paste}{TwoDimensionalArrayXmpPageFull5} +{TwoDimensionalArrayXmpPageEmpty5} +\pastebutton{TwoDimensionalArrayXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{arr(3,2) := 15\free{arr1 }\bound{arr2 }} +\indentrel{3}\begin{verbatim} + (5) 15 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPageEmpty5} +\begin{paste}{TwoDimensionalArrayXmpPageEmpty5} +{TwoDimensionalArrayXmpPagePatch5} +\pastebutton{TwoDimensionalArrayXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{arr(3,2) := 15\free{arr1 }\bound{arr2 }} +\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPagePatch6} +\begin{paste}{TwoDimensionalArrayXmpPageFull6} +{TwoDimensionalArrayXmpPageEmpty6} +\pastebutton{TwoDimensionalArrayXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{arr(3,2)\free{arr2 }} +\indentrel{3}\begin{verbatim} + (6) 15 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPageEmpty6} +\begin{paste}{TwoDimensionalArrayXmpPageEmpty6} +{TwoDimensionalArrayXmpPagePatch6} +\pastebutton{TwoDimensionalArrayXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{arr(3,2)\free{arr2 }} +\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPagePatch7} +\begin{paste}{TwoDimensionalArrayXmpPageFull7} +{TwoDimensionalArrayXmpPageEmpty7} +\pastebutton{TwoDimensionalArrayXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{row(arr,1)\free{arr2 }} +\indentrel{3}\begin{verbatim} + (7) [17,0,0,0] + Type: OneDimensionalArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPageEmpty7} +\begin{paste}{TwoDimensionalArrayXmpPageEmpty7} +{TwoDimensionalArrayXmpPagePatch7} +\pastebutton{TwoDimensionalArrayXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{row(arr,1)\free{arr2 }} +\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPagePatch8} +\begin{paste}{TwoDimensionalArrayXmpPageFull8} +{TwoDimensionalArrayXmpPageEmpty8} +\pastebutton{TwoDimensionalArrayXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{column(arr,1)\free{arr2 }} +\indentrel{3}\begin{verbatim} + (8) [17,0,0,0,0] + Type: OneDimensionalArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPageEmpty8} +\begin{paste}{TwoDimensionalArrayXmpPageEmpty8} +{TwoDimensionalArrayXmpPagePatch8} +\pastebutton{TwoDimensionalArrayXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{column(arr,1)\free{arr2 }} +\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPagePatch9} +\begin{paste}{TwoDimensionalArrayXmpPageFull9} +{TwoDimensionalArrayXmpPageEmpty9} +\pastebutton{TwoDimensionalArrayXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{nrows(arr)\free{arr2 }} +\indentrel{3}\begin{verbatim} + (9) 5 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPageEmpty9} +\begin{paste}{TwoDimensionalArrayXmpPageEmpty9} +{TwoDimensionalArrayXmpPagePatch9} +\pastebutton{TwoDimensionalArrayXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{nrows(arr)\free{arr2 }} +\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPagePatch10} +\begin{paste}{TwoDimensionalArrayXmpPageFull10} +{TwoDimensionalArrayXmpPageEmpty10} +\pastebutton{TwoDimensionalArrayXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{ncols(arr)\free{arr2 }} +\indentrel{3}\begin{verbatim} + (10) 4 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPageEmpty10} +\begin{paste}{TwoDimensionalArrayXmpPageEmpty10} +{TwoDimensionalArrayXmpPagePatch10} +\pastebutton{TwoDimensionalArrayXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{ncols(arr)\free{arr2 }} +\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPagePatch11} +\begin{paste}{TwoDimensionalArrayXmpPageFull11} +{TwoDimensionalArrayXmpPageEmpty11} +\pastebutton{TwoDimensionalArrayXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{map(-,arr)\free{arr2 }} +\indentrel{3}\begin{verbatim} + Ú- 17 0 0 0¿ + ³ ³ + ³ 0 0 0 0³ + ³ ³ + (11) ³ 0 - 15 0 0³ + ³ ³ + ³ 0 0 0 0³ + ³ ³ + À 0 0 0 0Ù + Type: TwoDimensionalArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPageEmpty11} +\begin{paste}{TwoDimensionalArrayXmpPageEmpty11} +{TwoDimensionalArrayXmpPagePatch11} +\pastebutton{TwoDimensionalArrayXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{map(-,arr)\free{arr2 }} +\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPagePatch12} +\begin{paste}{TwoDimensionalArrayXmpPageFull12} +{TwoDimensionalArrayXmpPageEmpty12} +\pastebutton{TwoDimensionalArrayXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{map((x +-> x + x),arr)\free{arr2 }} +\indentrel{3}\begin{verbatim} + Ú34 0 0 0¿ + ³ ³ + ³0 0 0 0³ + ³ ³ + (12) ³0 30 0 0³ + ³ ³ + ³0 0 0 0³ + ³ ³ + À0 0 0 0Ù + Type: TwoDimensionalArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPageEmpty12} +\begin{paste}{TwoDimensionalArrayXmpPageEmpty12} +{TwoDimensionalArrayXmpPagePatch12} +\pastebutton{TwoDimensionalArrayXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{map((x +-> x + x),arr)\free{arr2 }} +\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPagePatch13} +\begin{paste}{TwoDimensionalArrayXmpPageFull13} +{TwoDimensionalArrayXmpPageEmpty13} +\pastebutton{TwoDimensionalArrayXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{arrc := copy(arr)\bound{arrc }\free{arr2 }} +\indentrel{3}\begin{verbatim} + Ú17 0 0 0¿ + ³ ³ + ³0 0 0 0³ + ³ ³ + (13) ³0 15 0 0³ + ³ ³ + ³0 0 0 0³ + ³ ³ + À0 0 0 0Ù + Type: TwoDimensionalArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPageEmpty13} +\begin{paste}{TwoDimensionalArrayXmpPageEmpty13} +{TwoDimensionalArrayXmpPagePatch13} +\pastebutton{TwoDimensionalArrayXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{arrc := copy(arr)\bound{arrc }\free{arr2 }} +\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPagePatch14} +\begin{paste}{TwoDimensionalArrayXmpPageFull14} +{TwoDimensionalArrayXmpPageEmpty14} +\pastebutton{TwoDimensionalArrayXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{map!(-,arrc)\free{arrc }} +\indentrel{3}\begin{verbatim} + Ú- 17 0 0 0¿ + ³ ³ + ³ 0 0 0 0³ + ³ ³ + (14) ³ 0 - 15 0 0³ + ³ ³ + ³ 0 0 0 0³ + ³ ³ + À 0 0 0 0Ù + Type: TwoDimensionalArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPageEmpty14} +\begin{paste}{TwoDimensionalArrayXmpPageEmpty14} +{TwoDimensionalArrayXmpPagePatch14} +\pastebutton{TwoDimensionalArrayXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{map!(-,arrc)\free{arrc }} +\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPagePatch15} +\begin{paste}{TwoDimensionalArrayXmpPageFull15} +{TwoDimensionalArrayXmpPageEmpty15} +\pastebutton{TwoDimensionalArrayXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{arrc\free{arrc }} +\indentrel{3}\begin{verbatim} + Ú- 17 0 0 0¿ + ³ ³ + ³ 0 0 0 0³ + ³ ³ + (15) ³ 0 - 15 0 0³ + ³ ³ + ³ 0 0 0 0³ + ³ ³ + À 0 0 0 0Ù + Type: TwoDimensionalArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPageEmpty15} +\begin{paste}{TwoDimensionalArrayXmpPageEmpty15} +{TwoDimensionalArrayXmpPagePatch15} +\pastebutton{TwoDimensionalArrayXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{arrc\free{arrc }} +\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPagePatch16} +\begin{paste}{TwoDimensionalArrayXmpPageFull16} +{TwoDimensionalArrayXmpPageEmpty16} +\pastebutton{TwoDimensionalArrayXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{arr\free{arr2 }} +\indentrel{3}\begin{verbatim} + Ú17 0 0 0¿ + ³ ³ + ³0 0 0 0³ + ³ ³ + (16) ³0 15 0 0³ + ³ ³ + ³0 0 0 0³ + ³ ³ + À0 0 0 0Ù + Type: TwoDimensionalArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPageEmpty16} +\begin{paste}{TwoDimensionalArrayXmpPageEmpty16} +{TwoDimensionalArrayXmpPagePatch16} +\pastebutton{TwoDimensionalArrayXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{arr\free{arr2 }} +\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPagePatch17} +\begin{paste}{TwoDimensionalArrayXmpPageFull17} +{TwoDimensionalArrayXmpPageEmpty17} +\pastebutton{TwoDimensionalArrayXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{member?(17,arr)\free{arr2 }} +\indentrel{3}\begin{verbatim} + (17) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPageEmpty17} +\begin{paste}{TwoDimensionalArrayXmpPageEmpty17} +{TwoDimensionalArrayXmpPagePatch17} +\pastebutton{TwoDimensionalArrayXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{member?(17,arr)\free{arr2 }} +\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPagePatch18} +\begin{paste}{TwoDimensionalArrayXmpPageFull18} +{TwoDimensionalArrayXmpPageEmpty18} +\pastebutton{TwoDimensionalArrayXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{member?(10317,arr)\free{arr2 }} +\indentrel{3}\begin{verbatim} + (18) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPageEmpty18} +\begin{paste}{TwoDimensionalArrayXmpPageEmpty18} +{TwoDimensionalArrayXmpPagePatch18} +\pastebutton{TwoDimensionalArrayXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{member?(10317,arr)\free{arr2 }} +\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPagePatch19} +\begin{paste}{TwoDimensionalArrayXmpPageFull19} +{TwoDimensionalArrayXmpPageEmpty19} +\pastebutton{TwoDimensionalArrayXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{count(17,arr)\free{arr2 }} +\indentrel{3}\begin{verbatim} + (19) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPageEmpty19} +\begin{paste}{TwoDimensionalArrayXmpPageEmpty19} +{TwoDimensionalArrayXmpPagePatch19} +\pastebutton{TwoDimensionalArrayXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{count(17,arr)\free{arr2 }} +\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPagePatch20} +\begin{paste}{TwoDimensionalArrayXmpPageFull20} +{TwoDimensionalArrayXmpPageEmpty20} +\pastebutton{TwoDimensionalArrayXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{count(0,arr)\free{arr2 }} +\indentrel{3}\begin{verbatim} + (20) 18 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TwoDimensionalArrayXmpPageEmpty20} +\begin{paste}{TwoDimensionalArrayXmpPageEmpty20} +{TwoDimensionalArrayXmpPagePatch20} +\pastebutton{TwoDimensionalArrayXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{count(0,arr)\free{arr2 }} +\end{paste}\end{patch} + @ \section{basic.ht} @@ -2575,6 +3348,189 @@ answer for \texht{$12^2$}{12**2}. \autobuttons \end{page} +\begin{patch}{BalancedBinaryTreeXmpPagePatch1} +\begin{paste}{BalancedBinaryTreeXmpPageFull1} +{BalancedBinaryTreeXmpPageEmpty1} +\pastebutton{BalancedBinaryTreeXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{lm := [3,5,7,11]\bound{lm }} +\indentrel{3}\begin{verbatim} + (1) [3,5,7,11] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BalancedBinaryTreeXmpPageEmpty1} +\begin{paste}{BalancedBinaryTreeXmpPageEmpty1} +{BalancedBinaryTreeXmpPagePatch1} +\pastebutton{BalancedBinaryTreeXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{lm := [3,5,7,11]\bound{lm }} +\end{paste}\end{patch} + +\begin{patch}{BalancedBinaryTreeXmpPagePatch2} +\begin{paste}{BalancedBinaryTreeXmpPageFull2} +{BalancedBinaryTreeXmpPageEmpty2} +\pastebutton{BalancedBinaryTreeXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{modTree(12,lm)\free{lm }} +\indentrel{3}\begin{verbatim} + (2) [0,2,5,1] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BalancedBinaryTreeXmpPageEmpty2} +\begin{paste}{BalancedBinaryTreeXmpPageEmpty2} +{BalancedBinaryTreeXmpPagePatch2} +\pastebutton{BalancedBinaryTreeXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{modTree(12,lm)\free{lm }} +\end{paste}\end{patch} + +\begin{patch}{BalancedBinaryTreeXmpPagePatch3} +\begin{paste}{BalancedBinaryTreeXmpPageFull3} +{BalancedBinaryTreeXmpPageEmpty3} +\pastebutton{BalancedBinaryTreeXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{ +t := balancedBinaryTree(\#lm, 0)\bound{t }\free{lm }} +\indentrel{3}\begin{verbatim} + (3) [[0,0,0],0,[0,0,0]] + Type: BalancedBinaryTree NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BalancedBinaryTreeXmpPageEmpty3} +\begin{paste}{BalancedBinaryTreeXmpPageEmpty3} +{BalancedBinaryTreeXmpPagePatch3} +\pastebutton{BalancedBinaryTreeXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{t := balancedBinaryTree(\#lm, 0)\bound{t }\free{lm }} +\end{paste}\end{patch} + +\begin{patch}{BalancedBinaryTreeXmpPagePatch4} +\begin{paste}{BalancedBinaryTreeXmpPageFull4} +{BalancedBinaryTreeXmpPageEmpty4} +\pastebutton{BalancedBinaryTreeXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{setleaves!(t,lm)\bound{t1 }\free{t }} +\indentrel{3}\begin{verbatim} + (4) [[3,0,5],0,[7,0,11]] + Type: BalancedBinaryTree NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BalancedBinaryTreeXmpPageEmpty4} +\begin{paste}{BalancedBinaryTreeXmpPageEmpty4} +{BalancedBinaryTreeXmpPagePatch4} +\pastebutton{BalancedBinaryTreeXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{setleaves!(t,lm)\bound{t1 }\free{t }} +\end{paste}\end{patch} + +\begin{patch}{BalancedBinaryTreeXmpPagePatch5} +\begin{paste}{BalancedBinaryTreeXmpPageFull5} +{BalancedBinaryTreeXmpPageEmpty5} +\pastebutton{BalancedBinaryTreeXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{mapUp!(t,_*)\bound{t2 }\free{t1 }} +\indentrel{3}\begin{verbatim} + (5) 1155 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BalancedBinaryTreeXmpPageEmpty5} +\begin{paste}{BalancedBinaryTreeXmpPageEmpty5} +{BalancedBinaryTreeXmpPagePatch5} +\pastebutton{BalancedBinaryTreeXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{mapUp!(t,_*)\bound{t2 }\free{t1 }} +\end{paste}\end{patch} + +\begin{patch}{BalancedBinaryTreeXmpPagePatch6} +\begin{paste}{BalancedBinaryTreeXmpPageFull6} +{BalancedBinaryTreeXmpPageEmpty6} +\pastebutton{BalancedBinaryTreeXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{t\bound{t3 }\free{t2 }} +\indentrel{3}\begin{verbatim} + (6) [[3,15,5],1155,[7,77,11]] + Type: BalancedBinaryTree NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BalancedBinaryTreeXmpPageEmpty6} +\begin{paste}{BalancedBinaryTreeXmpPageEmpty6} +{BalancedBinaryTreeXmpPagePatch6} +\pastebutton{BalancedBinaryTreeXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{t\bound{t3 }\free{t2 }} +\end{paste}\end{patch} + +\begin{patch}{BalancedBinaryTreeXmpPagePatch7} +\begin{paste}{BalancedBinaryTreeXmpPageFull7} +{BalancedBinaryTreeXmpPageEmpty7} +\pastebutton{BalancedBinaryTreeXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{mapDown!(t,12,_rem)\bound{t4 }\free{t3 }} +\indentrel{3}\begin{verbatim} + (7) [[0,12,2],12,[5,12,1]] + Type: BalancedBinaryTree NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BalancedBinaryTreeXmpPageEmpty7} +\begin{paste}{BalancedBinaryTreeXmpPageEmpty7} +{BalancedBinaryTreeXmpPagePatch7} +\pastebutton{BalancedBinaryTreeXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{mapDown!(t,12,_rem)\bound{t4 }\free{t3 }} +\end{paste}\end{patch} + +\begin{patch}{BalancedBinaryTreeXmpPagePatch8} +\begin{paste}{BalancedBinaryTreeXmpPageFull8} +{BalancedBinaryTreeXmpPageEmpty8} +\pastebutton{BalancedBinaryTreeXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{leaves \%\bound{t5 }\free{t4 }} +\indentrel{3}\begin{verbatim} + (8) [0,2,5,1] + Type: List NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BalancedBinaryTreeXmpPageEmpty8} +\begin{paste}{BalancedBinaryTreeXmpPageEmpty8} +{BalancedBinaryTreeXmpPagePatch8} +\pastebutton{BalancedBinaryTreeXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{leaves \%\bound{t5 }\free{t4 }} +\end{paste}\end{patch} + +\begin{patch}{BalancedBinaryTreeXmpPagePatch9} +\begin{paste}{BalancedBinaryTreeXmpPageFull9} +{BalancedBinaryTreeXmpPageEmpty9} +\pastebutton{BalancedBinaryTreeXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{ +squares := [x**2 rem m for x in \% for m in lm]\bound{t6 }\free{t5 }} +\indentrel{3}\begin{verbatim} + (9) [0,4,4,1] + Type: List NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BalancedBinaryTreeXmpPageEmpty9} +\begin{paste}{BalancedBinaryTreeXmpPageEmpty9} +{BalancedBinaryTreeXmpPagePatch9} +\pastebutton{BalancedBinaryTreeXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{ +squares := [x**2 rem m for x in \% for m in lm]\bound{t6 }\free{t5 }} +\end{paste}\end{patch} + +\begin{patch}{BalancedBinaryTreeXmpPagePatch10} +\begin{paste}{BalancedBinaryTreeXmpPageFull10} +{BalancedBinaryTreeXmpPageEmpty10} +\pastebutton{BalancedBinaryTreeXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{chineseRemainder(\%,lm)\free{t6 }} +\indentrel{3}\begin{verbatim} + (10) 144 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BalancedBinaryTreeXmpPageEmpty10} +\begin{paste}{BalancedBinaryTreeXmpPageEmpty10} +{BalancedBinaryTreeXmpPagePatch10} +\pastebutton{BalancedBinaryTreeXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{chineseRemainder(\%,lm)\free{t6 }} +\end{paste}\end{patch} + @ \section{binary.ht} \pagehead{BinaryExpansionXmpPage}{binary.ht}{BinaryExpansion} @@ -2635,6 +3591,148 @@ These numbers are bona fide algebraic objects. \autobuttons \end{page} +\begin{patch}{BinaryExpansionXmpPagePatch1} +\begin{paste}{BinaryExpansionXmpPageFull1}{BinaryExpansionXmpPageEmpty1} +\pastebutton{BinaryExpansionXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{r := binary(22/7)\bound{r }} +\indentrel{3}\begin{verbatim} + ___ + (1) 11.001 + Type: BinaryExpansion +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BinaryExpansionXmpPageEmpty1} +\begin{paste}{BinaryExpansionXmpPageEmpty1}{BinaryExpansionXmpPagePatch1} +\pastebutton{BinaryExpansionXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{r := binary(22/7)\bound{r }} +\end{paste}\end{patch} + +\begin{patch}{BinaryExpansionXmpPagePatch2} +\begin{paste}{BinaryExpansionXmpPageFull2}{BinaryExpansionXmpPageEmpty2} +\pastebutton{BinaryExpansionXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{r + binary(6/7)\free{r }} +\indentrel{3}\begin{verbatim} + (2) 100 + Type: BinaryExpansion +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BinaryExpansionXmpPageEmpty2} +\begin{paste}{BinaryExpansionXmpPageEmpty2}{BinaryExpansionXmpPagePatch2} +\pastebutton{BinaryExpansionXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{r + binary(6/7)\free{r }} +\end{paste}\end{patch} + +\begin{patch}{BinaryExpansionXmpPagePatch3} +\begin{paste}{BinaryExpansionXmpPageFull3}{BinaryExpansionXmpPageEmpty3} +\pastebutton{BinaryExpansionXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{[binary(1/i) for i in 102..106]} +\indentrel{3}\begin{verbatim} + (3) + ________ + [0.000000101, + ___________________________________________________ + 0.000000100111110001000101100101111001110010010101001, + ____________ ____________ + 0.000000100111011, 0.000000100111, + + 0.0 + OVERBAR + 00000100110101001000011100111110110010101101111 + 00011 + ] + Type: List BinaryExpansion +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BinaryExpansionXmpPageEmpty3} +\begin{paste}{BinaryExpansionXmpPageEmpty3}{BinaryExpansionXmpPagePatch3} +\pastebutton{BinaryExpansionXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{[binary(1/i) for i in 102..106]} +\end{paste}\end{patch} + +\begin{patch}{BinaryExpansionXmpPagePatch4} +\begin{paste}{BinaryExpansionXmpPageFull4}{BinaryExpansionXmpPageEmpty4} +\pastebutton{BinaryExpansionXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{binary(1/1007)} +\indentrel{3}\begin{verbatim} + (4) + 0. + OVERBAR + 0000000001000001000101001001011110000011111100001 + 01111110010110001111101000100111001001100110001 + 10010010101011110110100110000000011000011001111 + 01110001101000101111010010001111011000010101110 + 11100111010101110011001010010111000000011100011 + 11001000000100100100110111001010100111010001101 + 11011010111000100100000110010110110000001011001 + 01111100010100000101010101101011000001101101110 + 10010101111111010111010100110010000101001101100 + 0100110001000100001000011000111010011110001 + Type: BinaryExpansion +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BinaryExpansionXmpPageEmpty4} +\begin{paste}{BinaryExpansionXmpPageEmpty4}{BinaryExpansionXmpPagePatch4} +\pastebutton{BinaryExpansionXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{binary(1/1007)} +\end{paste}\end{patch} + +\begin{patch}{BinaryExpansionXmpPagePatch5} +\begin{paste}{BinaryExpansionXmpPageFull5}{BinaryExpansionXmpPageEmpty5} +\pastebutton{BinaryExpansionXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{ +p := binary(1/4)*x**2 + binary(2/3)*x + binary(4/9)\bound{p }} +\indentrel{3}\begin{verbatim} + 2 __ ______ + (5) 0.01x + 0.10x + 0.011100 + Type: Polynomial BinaryExpansion +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BinaryExpansionXmpPageEmpty5} +\begin{paste}{BinaryExpansionXmpPageEmpty5}{BinaryExpansionXmpPagePatch5} +\pastebutton{BinaryExpansionXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{ +p := binary(1/4)*x**2 + binary(2/3)*x + binary(4/9)\bound{p }} +\end{paste}\end{patch} + +\begin{patch}{BinaryExpansionXmpPagePatch6} +\begin{paste}{BinaryExpansionXmpPageFull6}{BinaryExpansionXmpPageEmpty6} +\pastebutton{BinaryExpansionXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{q := D(p, x)\free{p }\bound{q }} +\indentrel{3}\begin{verbatim} + __ + (6) 0.1x + 0.10 + Type: Polynomial BinaryExpansion +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BinaryExpansionXmpPageEmpty6} +\begin{paste}{BinaryExpansionXmpPageEmpty6}{BinaryExpansionXmpPagePatch6} +\pastebutton{BinaryExpansionXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{q := D(p, x)\free{p }\bound{q }} +\end{paste}\end{patch} + +\begin{patch}{BinaryExpansionXmpPagePatch7} +\begin{paste}{BinaryExpansionXmpPageFull7}{BinaryExpansionXmpPageEmpty7} +\pastebutton{BinaryExpansionXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{g := gcd(p, q)\free{p q }\bound{g }} +\indentrel{3}\begin{verbatim} + __ + (7) x + 1.01 + Type: Polynomial BinaryExpansion +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BinaryExpansionXmpPageEmpty7} +\begin{paste}{BinaryExpansionXmpPageEmpty7}{BinaryExpansionXmpPagePatch7} +\pastebutton{BinaryExpansionXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{g := gcd(p, q)\free{p q }\bound{g }} +\end{paste}\end{patch} + @ \section{bmcat.ht} \pagehead{BitMaps}{bmcat.ht}{Bit Map Catalog} @@ -2845,7 +3943,309 @@ remove a property. \endscroll \autobuttons \end{page} -% + +\begin{patch}{BasicOperatorXmpPagePatch1} +\begin{paste}{BasicOperatorXmpPageFull1}{BasicOperatorXmpPageEmpty1} +\pastebutton{BasicOperatorXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{y := operator 'y\bound{y }} +\indentrel{3}\begin{verbatim} + (1) y + Type: BasicOperator +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPageEmpty1} +\begin{paste}{BasicOperatorXmpPageEmpty1}{BasicOperatorXmpPagePatch1} +\pastebutton{BasicOperatorXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{y := operator 'y\bound{y }} +\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPagePatch2} +\begin{paste}{BasicOperatorXmpPageFull2}{BasicOperatorXmpPageEmpty2} +\pastebutton{BasicOperatorXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{ +deq := D(y x, x, 2) + D(y x, x) + y x = 0\bound{e1 }\free{y }} +\indentrel{3}\begin{verbatim} + ,, , + (2) y (x) + y (x) + y(x)= 0 + + Type: Equation Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPageEmpty2} +\begin{paste}{BasicOperatorXmpPageEmpty2}{BasicOperatorXmpPagePatch2} +\pastebutton{BasicOperatorXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{ +deq := D(y x, x, 2) + D(y x, x) + y x = 0\bound{e1 }\free{y }} +\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPagePatch3} +\begin{paste}{BasicOperatorXmpPageFull3}{BasicOperatorXmpPageEmpty3} +\pastebutton{BasicOperatorXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{solve(deq, y, x)\free{e1 }\free{y }} +\indentrel{3}\begin{verbatim} + (3) + [particular= 0, + x x + ÚÄ¿ - Ä - Ä ÚÄ¿ + x\³3 2 2 x\³3 + basis= [cos(ÄÄÄÄÄ)%e ,%e sin(ÄÄÄÄÄ)]] + 2 2 +Type: Union(Record(particular: Expression Integer, + basis: List Expression Integer),...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPageEmpty3} +\begin{paste}{BasicOperatorXmpPageEmpty3}{BasicOperatorXmpPagePatch3} +\pastebutton{BasicOperatorXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{solve(deq, y, x)\free{e1 }\free{y }} +\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPagePatch4} +\begin{paste}{BasicOperatorXmpPageFull4}{BasicOperatorXmpPageEmpty4} +\pastebutton{BasicOperatorXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{nary? y\free{y }} +\indentrel{3}\begin{verbatim} + (4) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPageEmpty4} +\begin{paste}{BasicOperatorXmpPageEmpty4}{BasicOperatorXmpPagePatch4} +\pastebutton{BasicOperatorXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{nary? y\free{y }} +\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPagePatch5} +\begin{paste}{BasicOperatorXmpPageFull5}{BasicOperatorXmpPageEmpty5} +\pastebutton{BasicOperatorXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{unary? y\free{y }} +\indentrel{3}\begin{verbatim} + (5) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPageEmpty5} +\begin{paste}{BasicOperatorXmpPageEmpty5}{BasicOperatorXmpPagePatch5} +\pastebutton{BasicOperatorXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{unary? y\free{y }} +\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPagePatch6} +\begin{paste}{BasicOperatorXmpPageFull6}{BasicOperatorXmpPageEmpty6} +\pastebutton{BasicOperatorXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{opOne := operator('opOne, 1)\bound{opOne }} +\indentrel{3}\begin{verbatim} + (6) opOne + Type: BasicOperator +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPageEmpty6} +\begin{paste}{BasicOperatorXmpPageEmpty6}{BasicOperatorXmpPagePatch6} +\pastebutton{BasicOperatorXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{opOne := operator('opOne, 1)\bound{opOne }} +\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPagePatch7} +\begin{paste}{BasicOperatorXmpPageFull7}{BasicOperatorXmpPageEmpty7} +\pastebutton{BasicOperatorXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{nary? opOne\free{opOne }} +\indentrel{3}\begin{verbatim} + (7) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPageEmpty7} +\begin{paste}{BasicOperatorXmpPageEmpty7}{BasicOperatorXmpPagePatch7} +\pastebutton{BasicOperatorXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{nary? opOne\free{opOne }} +\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPagePatch8} +\begin{paste}{BasicOperatorXmpPageFull8}{BasicOperatorXmpPageEmpty8} +\pastebutton{BasicOperatorXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{unary? opOne\free{opOne }} +\indentrel{3}\begin{verbatim} + (8) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPageEmpty8} +\begin{paste}{BasicOperatorXmpPageEmpty8}{BasicOperatorXmpPagePatch8} +\pastebutton{BasicOperatorXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{unary? opOne\free{opOne }} +\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPagePatch9} +\begin{paste}{BasicOperatorXmpPageFull9}{BasicOperatorXmpPageEmpty9} +\pastebutton{BasicOperatorXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{arity opOne\free{opOne }} +\indentrel{3}\begin{verbatim} + (9) 1 + Type: Union(NonNegativeInteger,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPageEmpty9} +\begin{paste}{BasicOperatorXmpPageEmpty9}{BasicOperatorXmpPagePatch9} +\pastebutton{BasicOperatorXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{arity opOne\free{opOne }} +\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPagePatch10} +\begin{paste}{BasicOperatorXmpPageFull10}{BasicOperatorXmpPageEmpty10} +\pastebutton{BasicOperatorXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{name opOne\free{opOne }} +\indentrel{3}\begin{verbatim} + (10) opOne + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPageEmpty10} +\begin{paste}{BasicOperatorXmpPageEmpty10}{BasicOperatorXmpPagePatch10} +\pastebutton{BasicOperatorXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{name opOne\free{opOne }} +\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPagePatch11} +\begin{paste}{BasicOperatorXmpPageFull11}{BasicOperatorXmpPageEmpty11} +\pastebutton{BasicOperatorXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{is?(opOne, 'z2)\free{opOne }} +\indentrel{3}\begin{verbatim} + (11) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPageEmpty11} +\begin{paste}{BasicOperatorXmpPageEmpty11}{BasicOperatorXmpPagePatch11} +\pastebutton{BasicOperatorXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{is?(opOne, 'z2)\free{opOne }} +\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPagePatch12} +\begin{paste}{BasicOperatorXmpPageFull12}{BasicOperatorXmpPageEmpty12} +\pastebutton{BasicOperatorXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{is?(opOne, "opOne")\free{opOne }} +\indentrel{3}\begin{verbatim} + (12) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPageEmpty12} +\begin{paste}{BasicOperatorXmpPageEmpty12}{BasicOperatorXmpPagePatch12} +\pastebutton{BasicOperatorXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{is?(opOne, "opOne")\free{opOne }} +\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPagePatch13} +\begin{paste}{BasicOperatorXmpPageFull13}{BasicOperatorXmpPageEmpty13} +\pastebutton{BasicOperatorXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{properties y\free{y }} +\indentrel{3}\begin{verbatim} + (13) table() + Type: AssociationList(String,None) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPageEmpty13} +\begin{paste}{BasicOperatorXmpPageEmpty13}{BasicOperatorXmpPagePatch13} +\pastebutton{BasicOperatorXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{properties y\free{y }} +\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPagePatch14} +\begin{paste}{BasicOperatorXmpPageFull14}{BasicOperatorXmpPageEmpty14} +\pastebutton{BasicOperatorXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{ +setProperty(y, "use", "unknown function" :: None )\free{y }\bound{spy }} +\indentrel{3}\begin{verbatim} + (14) y + Type: BasicOperator +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPageEmpty14} +\begin{paste}{BasicOperatorXmpPageEmpty14}{BasicOperatorXmpPagePatch14} +\pastebutton{BasicOperatorXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{ +setProperty(y, "use", "unknown function" :: None )\free{y }\bound{spy }} +\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPagePatch15} +\begin{paste}{BasicOperatorXmpPageFull15}{BasicOperatorXmpPageEmpty15} +\pastebutton{BasicOperatorXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{properties y\free{y spy }} +\indentrel{3}\begin{verbatim} + (15) table("use"= NONE) + Type: AssociationList(String,None) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPageEmpty15} +\begin{paste}{BasicOperatorXmpPageEmpty15}{BasicOperatorXmpPagePatch15} +\pastebutton{BasicOperatorXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{properties y\free{y spy }} +\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPagePatch16} +\begin{paste}{BasicOperatorXmpPageFull16}{BasicOperatorXmpPageEmpty16} +\pastebutton{BasicOperatorXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{property(y, "use") :: None pretend String\free{y spy }} +\indentrel{3}\begin{verbatim} + (16) "unknown function" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPageEmpty16} +\begin{paste}{BasicOperatorXmpPageEmpty16}{BasicOperatorXmpPagePatch16} +\pastebutton{BasicOperatorXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{property(y, "use") :: None pretend String\free{y spy }} +\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPagePatch17} +\begin{paste}{BasicOperatorXmpPageFull17}{BasicOperatorXmpPageEmpty17} +\pastebutton{BasicOperatorXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{deleteProperty!(y, "use")\free{y spy }\bound{dpy }} +\indentrel{3}\begin{verbatim} + (17) y + Type: BasicOperator +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPageEmpty17} +\begin{paste}{BasicOperatorXmpPageEmpty17}{BasicOperatorXmpPagePatch17} +\pastebutton{BasicOperatorXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{deleteProperty!(y, "use")\free{y spy }\bound{dpy }} +\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPagePatch18} +\begin{paste}{BasicOperatorXmpPageFull18}{BasicOperatorXmpPageEmpty18} +\pastebutton{BasicOperatorXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{properties y\free{dpy }} +\indentrel{3}\begin{verbatim} + (18) table() + Type: AssociationList(String,None) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BasicOperatorXmpPageEmpty18} +\begin{paste}{BasicOperatorXmpPageEmpty18}{BasicOperatorXmpPagePatch18} +\pastebutton{BasicOperatorXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{properties y\free{dpy }} +\end{paste}\end{patch} + + @ \section{bstree.ht} \pagehead{BinarySearchTreeXmpPage}{bstree.ht}{BinarySearchTree} @@ -2946,6 +4346,210 @@ Have Axiom check that these are equal. \autobuttons \end{page} +\begin{patch}{BinarySearchTreeXmpPagePatch1} +\begin{paste}{BinarySearchTreeXmpPageFull1}{BinarySearchTreeXmpPageEmpty1} +\pastebutton{BinarySearchTreeXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{lv := [8,3,5,4,6,2,1,5,7]\bound{lv }} +\indentrel{3}\begin{verbatim} + (1) [8,3,5,4,6,2,1,5,7] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BinarySearchTreeXmpPageEmpty1} +\begin{paste}{BinarySearchTreeXmpPageEmpty1}{BinarySearchTreeXmpPagePatch1} +\pastebutton{BinarySearchTreeXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{lv := [8,3,5,4,6,2,1,5,7]\bound{lv }} +\end{paste}\end{patch} + +\begin{patch}{BinarySearchTreeXmpPagePatch2} +\begin{paste}{BinarySearchTreeXmpPageFull2}{BinarySearchTreeXmpPageEmpty2} +\pastebutton{BinarySearchTreeXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{t := binarySearchTree lv\free{lv }\bound{t }} +\indentrel{3}\begin{verbatim} + (2) [[[1,2,.],3,[4,5,[5,6,7]]],8,.] + Type: BinarySearchTree PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BinarySearchTreeXmpPageEmpty2} +\begin{paste}{BinarySearchTreeXmpPageEmpty2}{BinarySearchTreeXmpPagePatch2} +\pastebutton{BinarySearchTreeXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{t := binarySearchTree lv\free{lv }\bound{t }} +\end{paste}\end{patch} + +\begin{patch}{BinarySearchTreeXmpPagePatch3} +\begin{paste}{BinarySearchTreeXmpPageFull3}{BinarySearchTreeXmpPageEmpty3} +\pastebutton{BinarySearchTreeXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{emptybst := empty()$BSTREE(INT)\bound{e }} +\indentrel{3}\begin{verbatim} + (3) [] + Type: BinarySearchTree Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BinarySearchTreeXmpPageEmpty3} +\begin{paste}{BinarySearchTreeXmpPageEmpty3}{BinarySearchTreeXmpPagePatch3} +\pastebutton{BinarySearchTreeXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{emptybst := empty()$BSTREE(INT)\bound{e }} +\end{paste}\end{patch} + +\begin{patch}{BinarySearchTreeXmpPagePatch4} +\begin{paste}{BinarySearchTreeXmpPageFull4}{BinarySearchTreeXmpPageEmpty4} +\pastebutton{BinarySearchTreeXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{t1 := insert!(8,emptybst)\free{e }\bound{t1 }} +\indentrel{3}\begin{verbatim} + (4) 8 + Type: BinarySearchTree Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BinarySearchTreeXmpPageEmpty4} +\begin{paste}{BinarySearchTreeXmpPageEmpty4}{BinarySearchTreeXmpPagePatch4} +\pastebutton{BinarySearchTreeXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{t1 := insert!(8,emptybst)\free{e }\bound{t1 }} +\end{paste}\end{patch} + +\begin{patch}{BinarySearchTreeXmpPagePatch5} +\begin{paste}{BinarySearchTreeXmpPageFull5}{BinarySearchTreeXmpPageEmpty5} +\pastebutton{BinarySearchTreeXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{insert!(3,t1)\free{t1 }} +\indentrel{3}\begin{verbatim} + (5) [3,8,.] + Type: BinarySearchTree Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BinarySearchTreeXmpPageEmpty5} +\begin{paste}{BinarySearchTreeXmpPageEmpty5}{BinarySearchTreeXmpPagePatch5} +\pastebutton{BinarySearchTreeXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{insert!(3,t1)\free{t1 }} +\end{paste}\end{patch} + +\begin{patch}{BinarySearchTreeXmpPagePatch6} +\begin{paste}{BinarySearchTreeXmpPageFull6}{BinarySearchTreeXmpPageEmpty6} +\pastebutton{BinarySearchTreeXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{leaves t\free{t }} +\indentrel{3}\begin{verbatim} + (6) [1,4,5,7] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BinarySearchTreeXmpPageEmpty6} +\begin{paste}{BinarySearchTreeXmpPageEmpty6}{BinarySearchTreeXmpPagePatch6} +\pastebutton{BinarySearchTreeXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{leaves t\free{t }} +\end{paste}\end{patch} + +\begin{patch}{BinarySearchTreeXmpPagePatch7} +\begin{paste}{BinarySearchTreeXmpPageFull7}{BinarySearchTreeXmpPageEmpty7} +\pastebutton{BinarySearchTreeXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{split(3,t)\free{t }} +\indentrel{3}\begin{verbatim} + (7) + [less= [1,2,.],greater= [[.,3,[4,5,[5,6,7]]],8,.]] +Type: Record(less: BinarySearchTree PositiveInteger, + greater: BinarySearchTree PositiveInteger) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BinarySearchTreeXmpPageEmpty7} +\begin{paste}{BinarySearchTreeXmpPageEmpty7}{BinarySearchTreeXmpPagePatch7} +\pastebutton{BinarySearchTreeXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{split(3,t)\free{t }} +\end{paste}\end{patch} + +\begin{patch}{BinarySearchTreeXmpPagePatch8} +\begin{paste}{BinarySearchTreeXmpPageFull8}{BinarySearchTreeXmpPageEmpty8} +\pastebutton{BinarySearchTreeXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{insertRoot: (INT,BSTREE INT) -> BSTREE INT\bound{x }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BinarySearchTreeXmpPageEmpty8} +\begin{paste}{BinarySearchTreeXmpPageEmpty8}{BinarySearchTreeXmpPagePatch8} +\pastebutton{BinarySearchTreeXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{insertRoot: (INT,BSTREE INT) -> BSTREE INT\bound{x }} +\end{paste}\end{patch} + +\begin{patch}{BinarySearchTreeXmpPagePatch9} +\begin{paste}{BinarySearchTreeXmpPageFull9}{BinarySearchTreeXmpPageEmpty9} +\pastebutton{BinarySearchTreeXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{insertRoot(x, t) == + a := split(x, t) + node(a.less, x, a.greater) +\bound{x1 }\free{x }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BinarySearchTreeXmpPageEmpty9} +\begin{paste}{BinarySearchTreeXmpPageEmpty9}{BinarySearchTreeXmpPagePatch9} +\pastebutton{BinarySearchTreeXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{insertRoot(x, t) == + a := split(x, t) + node(a.less, x, a.greater) +\bound{x1 }\free{x }} +\end{paste}\end{patch} + +\begin{patch}{BinarySearchTreeXmpPagePatch10} +\begin{paste}{BinarySearchTreeXmpPageFull10}{BinarySearchTreeXmpPageEmpty10} +\pastebutton{BinarySearchTreeXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{ +buildFromRoot ls == reduce(insertRoot,ls,emptybst)\bound{x2 }\free{x1 e }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BinarySearchTreeXmpPageEmpty10} +\begin{paste}{BinarySearchTreeXmpPageEmpty10} +{BinarySearchTreeXmpPagePatch10} +\pastebutton{BinarySearchTreeXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{ +buildFromRoot ls == reduce(insertRoot,ls,emptybst)\bound{x2 }\free{x1 e }} +\end{paste}\end{patch} + +\begin{patch}{BinarySearchTreeXmpPagePatch11} +\begin{paste}{BinarySearchTreeXmpPageFull11} +{BinarySearchTreeXmpPageEmpty11} +\pastebutton{BinarySearchTreeXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{rt := buildFromRoot reverse lv\bound{rt }\free{lv x2 }} +\indentrel{3}\begin{verbatim} + (11) [[[1,2,.],3,[4,5,[5,6,7]]],8,.] + Type: BinarySearchTree Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BinarySearchTreeXmpPageEmpty11} +\begin{paste}{BinarySearchTreeXmpPageEmpty11} +{BinarySearchTreeXmpPagePatch11} +\pastebutton{BinarySearchTreeXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{rt := buildFromRoot reverse lv\bound{rt }\free{lv x2 }} +\end{paste}\end{patch} + +\begin{patch}{BinarySearchTreeXmpPagePatch12} +\begin{paste}{BinarySearchTreeXmpPageFull12} +{BinarySearchTreeXmpPageEmpty12} +\pastebutton{BinarySearchTreeXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{(t = rt)@Boolean\free{rt t }} +\indentrel{3}\begin{verbatim} + (12) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{BinarySearchTreeXmpPageEmpty12} +\begin{paste}{BinarySearchTreeXmpPageEmpty12} +{BinarySearchTreeXmpPagePatch12} +\pastebutton{BinarySearchTreeXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{(t = rt)@Boolean\free{rt t }} +\end{paste}\end{patch} + @ \section{card.ht} \pagehead{CardinalNumberXmpPage}{card.ht}{CardinalNumber} @@ -2963,8 +4567,8 @@ The non-negative integers have a natural construction as cardinals \begin{verbatim} 0 = #{ }, 1 = {0}, 2 = {0, 1}, ..., n = {i | 0 <= i < n}. \end{verbatim} -The fact that \spad{0} acts as a zero for the multiplication of cardinals is -equivalent to the axiom of choice. +The fact that \spad{0} acts as a zero for the multiplication of +cardinals is equivalent to the axiom of choice. \xtc{ Cardinal numbers can be created by conversion from non-negative integers. @@ -2993,8 +4597,8 @@ They can also be obtained as the named cardinal \spad{Aleph(n)}. \spadpaste{A1 := Aleph 1 \bound{A1}} } \xtc{ -The \spadfunFrom{finite?}{CardinalNumber} operation tests whether a value is a -finite cardinal, that is, a non-negative integer. +The \spadfunFrom{finite?}{CardinalNumber} operation tests whether a +value is a finite cardinal, that is, a non-negative integer. }{ \spadpaste{finite? c2 \free{c2}} } @@ -3099,6 +4703,337 @@ generalized continuum hypothesis in this way. \autobuttons \end{page} +\begin{patch}{CardinalNumberXmpPagePatch1} +\begin{paste}{CardinalNumberXmpPageFull1}{CardinalNumberXmpPageEmpty1} +\pastebutton{CardinalNumberXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{c0 := 0 :: CardinalNumber\bound{c0 }} +\indentrel{3}\begin{verbatim} + (1) 0 + Type: CardinalNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPageEmpty1} +\begin{paste}{CardinalNumberXmpPageEmpty1}{CardinalNumberXmpPagePatch1} +\pastebutton{CardinalNumberXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{c0 := 0 :: CardinalNumber\bound{c0 }} +\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPagePatch2} +\begin{paste}{CardinalNumberXmpPageFull2}{CardinalNumberXmpPageEmpty2} +\pastebutton{CardinalNumberXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{c1 := 1 :: CardinalNumber\bound{c1 }} +\indentrel{3}\begin{verbatim} + (2) 1 + Type: CardinalNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPageEmpty2} +\begin{paste}{CardinalNumberXmpPageEmpty2}{CardinalNumberXmpPagePatch2} +\pastebutton{CardinalNumberXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{c1 := 1 :: CardinalNumber\bound{c1 }} +\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPagePatch3} +\begin{paste}{CardinalNumberXmpPageFull3}{CardinalNumberXmpPageEmpty3} +\pastebutton{CardinalNumberXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{c2 := 2 :: CardinalNumber\bound{c2 }} +\indentrel{3}\begin{verbatim} + (3) 2 + Type: CardinalNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPageEmpty3} +\begin{paste}{CardinalNumberXmpPageEmpty3}{CardinalNumberXmpPagePatch3} +\pastebutton{CardinalNumberXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{c2 := 2 :: CardinalNumber\bound{c2 }} +\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPagePatch4} +\begin{paste}{CardinalNumberXmpPageFull4}{CardinalNumberXmpPageEmpty4} +\pastebutton{CardinalNumberXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{c3 := 3 :: CardinalNumber\bound{c3 }} +\indentrel{3}\begin{verbatim} + (4) 3 + Type: CardinalNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPageEmpty4} +\begin{paste}{CardinalNumberXmpPageEmpty4}{CardinalNumberXmpPagePatch4} +\pastebutton{CardinalNumberXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{c3 := 3 :: CardinalNumber\bound{c3 }} +\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPagePatch5} +\begin{paste}{CardinalNumberXmpPageFull5}{CardinalNumberXmpPageEmpty5} +\pastebutton{CardinalNumberXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{A0 := Aleph 0\bound{A0 }} +\indentrel{3}\begin{verbatim} + (5) Aleph(0) + Type: CardinalNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPageEmpty5} +\begin{paste}{CardinalNumberXmpPageEmpty5}{CardinalNumberXmpPagePatch5} +\pastebutton{CardinalNumberXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{A0 := Aleph 0\bound{A0 }} +\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPagePatch6} +\begin{paste}{CardinalNumberXmpPageFull6}{CardinalNumberXmpPageEmpty6} +\pastebutton{CardinalNumberXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{A1 := Aleph 1\bound{A1 }} +\indentrel{3}\begin{verbatim} + (6) Aleph(1) + Type: CardinalNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPageEmpty6} +\begin{paste}{CardinalNumberXmpPageEmpty6}{CardinalNumberXmpPagePatch6} +\pastebutton{CardinalNumberXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{A1 := Aleph 1\bound{A1 }} +\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPagePatch7} +\begin{paste}{CardinalNumberXmpPageFull7}{CardinalNumberXmpPageEmpty7} +\pastebutton{CardinalNumberXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{finite? c2\free{c2 }} +\indentrel{3}\begin{verbatim} + (7) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPageEmpty7} +\begin{paste}{CardinalNumberXmpPageEmpty7}{CardinalNumberXmpPagePatch7} +\pastebutton{CardinalNumberXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{finite? c2\free{c2 }} +\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPagePatch8} +\begin{paste}{CardinalNumberXmpPageFull8}{CardinalNumberXmpPageEmpty8} +\pastebutton{CardinalNumberXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{finite? A0\free{A0 }} +\indentrel{3}\begin{verbatim} + (8) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPageEmpty8} +\begin{paste}{CardinalNumberXmpPageEmpty8}{CardinalNumberXmpPagePatch8} +\pastebutton{CardinalNumberXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{finite? A0\free{A0 }} +\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPagePatch9} +\begin{paste}{CardinalNumberXmpPageFull9}{CardinalNumberXmpPageEmpty9} +\pastebutton{CardinalNumberXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{countable? c2\free{c2 }} +\indentrel{3}\begin{verbatim} + (9) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPageEmpty9} +\begin{paste}{CardinalNumberXmpPageEmpty9}{CardinalNumberXmpPagePatch9} +\pastebutton{CardinalNumberXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{countable? c2\free{c2 }} +\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPagePatch10} +\begin{paste}{CardinalNumberXmpPageFull10}{CardinalNumberXmpPageEmpty10} +\pastebutton{CardinalNumberXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{countable? A0\free{A0 }} +\indentrel{3}\begin{verbatim} + (10) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPageEmpty10} +\begin{paste}{CardinalNumberXmpPageEmpty10}{CardinalNumberXmpPagePatch10} +\pastebutton{CardinalNumberXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{countable? A0\free{A0 }} +\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPagePatch11} +\begin{paste}{CardinalNumberXmpPageFull11}{CardinalNumberXmpPageEmpty11} +\pastebutton{CardinalNumberXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{countable? A1\free{A1 }} +\indentrel{3}\begin{verbatim} + (11) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPageEmpty11} +\begin{paste}{CardinalNumberXmpPageEmpty11}{CardinalNumberXmpPagePatch11} +\pastebutton{CardinalNumberXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{countable? A1\free{A1 }} +\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPagePatch12} +\begin{paste}{CardinalNumberXmpPageFull12}{CardinalNumberXmpPageEmpty12} +\pastebutton{CardinalNumberXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{[c2 + c2, c2 + A1]\free{c2 A1 }} +\indentrel{3}\begin{verbatim} + (12) [4,Aleph(1)] + Type: List CardinalNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPageEmpty12} +\begin{paste}{CardinalNumberXmpPageEmpty12}{CardinalNumberXmpPagePatch12} +\pastebutton{CardinalNumberXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{[c2 + c2, c2 + A1]\free{c2 A1 }} +\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPagePatch13} +\begin{paste}{CardinalNumberXmpPageFull13}{CardinalNumberXmpPageEmpty13} +\pastebutton{CardinalNumberXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{ +[c0*c2, c1*c2, c2*c2, c0*A1, c1*A1, c2*A1, A0*A1]\free{c0 c1 c2 A0 A1 }} +\indentrel{3}\begin{verbatim} + (13) [0,2,4,0,Aleph(1),Aleph(1),Aleph(1)] + Type: List CardinalNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPageEmpty13} +\begin{paste}{CardinalNumberXmpPageEmpty13}{CardinalNumberXmpPagePatch13} +\pastebutton{CardinalNumberXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{ +[c0*c2, c1*c2, c2*c2, c0*A1, c1*A1, c2*A1, A0*A1]\free{c0 c1 c2 A0 A1 }} +\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPagePatch14} +\begin{paste}{CardinalNumberXmpPageFull14}{CardinalNumberXmpPageEmpty14} +\pastebutton{CardinalNumberXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{ +[c2**c0, c2**c1, c2**c2, A1**c0, A1**c1, A1**c2]\free{c0 c1 c2 A1 }} +\indentrel{3}\begin{verbatim} + (14) [1,2,4,1,Aleph(1),Aleph(1)] + Type: List CardinalNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPageEmpty14} +\begin{paste}{CardinalNumberXmpPageEmpty14}{CardinalNumberXmpPagePatch14} +\pastebutton{CardinalNumberXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{ +[c2**c0, c2**c1, c2**c2, A1**c0, A1**c1, A1**c2]\free{c0 c1 c2 A1 }} +\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPagePatch15} +\begin{paste}{CardinalNumberXmpPageFull15}{CardinalNumberXmpPageEmpty15} +\pastebutton{CardinalNumberXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{ +[c2-c1, c2-c2, c2-c3, A1-c2, A1-A0, A1-A1]\free{c1 c2 c3 A0 A1 }} +\indentrel{3}\begin{verbatim} + (15) [1,0,"failed",Aleph(1),Aleph(1),"failed"] + Type: List Union(CardinalNumber,"failed") +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPageEmpty15} +\begin{paste}{CardinalNumberXmpPageEmpty15}{CardinalNumberXmpPagePatch15} +\pastebutton{CardinalNumberXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{ +[c2-c1, c2-c2, c2-c3, A1-c2, A1-A0, A1-A1]\free{c1 c2 c3 A0 A1 }} +\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPagePatch16} +\begin{paste}{CardinalNumberXmpPageFull16}{CardinalNumberXmpPageEmpty16} +\pastebutton{CardinalNumberXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{generalizedContinuumHypothesisAssumed true\bound{GCH }} +\indentrel{3}\begin{verbatim} + (16) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPageEmpty16} +\begin{paste}{CardinalNumberXmpPageEmpty16}{CardinalNumberXmpPagePatch16} +\pastebutton{CardinalNumberXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{generalizedContinuumHypothesisAssumed true\bound{GCH }} +\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPagePatch17} +\begin{paste}{CardinalNumberXmpPageFull17}{CardinalNumberXmpPageEmpty17} +\pastebutton{CardinalNumberXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{ +[c0**A0, c1**A0, c2**A0, A0**A0, A0**A1, A1**A0, A1**A1] +\free{c0 c1 c2 A0 A1 GCH }} +\indentrel{3}\begin{verbatim} + (17) + [0,1,Aleph(1),Aleph(1),Aleph(2),Aleph(1),Aleph(2)] + Type: List CardinalNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPageEmpty17} +\begin{paste}{CardinalNumberXmpPageEmpty17}{CardinalNumberXmpPagePatch17} +\pastebutton{CardinalNumberXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{ +[c0**A0, c1**A0, c2**A0, A0**A0, A0**A1, A1**A0, A1**A1] +\free{c0 c1 c2 A0 A1 GCH }} +\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPagePatch18} +\begin{paste}{CardinalNumberXmpPageFull18}{CardinalNumberXmpPageEmpty18} +\pastebutton{CardinalNumberXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{a := Aleph 0\free{GCH }\bound{a }} +\indentrel{3}\begin{verbatim} + (18) Aleph(0) + Type: CardinalNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPageEmpty18} +\begin{paste}{CardinalNumberXmpPageEmpty18}{CardinalNumberXmpPagePatch18} +\pastebutton{CardinalNumberXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{a := Aleph 0\free{GCH }\bound{a }} +\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPagePatch19} +\begin{paste}{CardinalNumberXmpPageFull19}{CardinalNumberXmpPageEmpty19} +\pastebutton{CardinalNumberXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{c := 2**a\free{a }\bound{c }} +\indentrel{3}\begin{verbatim} + (19) Aleph(1) + Type: CardinalNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPageEmpty19} +\begin{paste}{CardinalNumberXmpPageEmpty19}{CardinalNumberXmpPagePatch19} +\pastebutton{CardinalNumberXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{c := 2**a\free{a }\bound{c }} +\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPagePatch20} +\begin{paste}{CardinalNumberXmpPageFull20}{CardinalNumberXmpPageEmpty20} +\pastebutton{CardinalNumberXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{f := 2**c\free{c }\bound{f }} +\indentrel{3}\begin{verbatim} + (20) Aleph(2) + Type: CardinalNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CardinalNumberXmpPageEmpty20} +\begin{paste}{CardinalNumberXmpPageEmpty20}{CardinalNumberXmpPagePatch20} +\pastebutton{CardinalNumberXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{f := 2**c\free{c }\bound{f }} +\end{paste}\end{patch} + @ \section{carten.ht} \pagehead{CartesianTensorXmpPage}{carten.ht}{CartesianTensor} @@ -3495,21 +5430,886 @@ the degree \spad{k} module is \spad{T[k](V)}. %\head{subsection}{Tensor Calculus}{ugxCartenCalculus} It should be noted here that often tensors are used in the context of -tensor-valued manifold maps. -This leads to the notion of covariant and contravariant bases with tensor -component functions transforming in specific ways under a change of -coordinates on the manifold. -This is no more directly supported by the \spadtype{CartesianTensor} -domain than it is by the \spadtype{Vector} domain. -However, it is possible to have the components implicitly represent -component maps by choosing a polynomial or expression type for the -components. -In this case, it is up to the user to satisfy any constraints which arise -on the basis of this interpretation. +tensor-valued manifold maps. This leads to the notion of covariant +and contravariant bases with tensor component functions transforming +in specific ways under a change of coordinates on the manifold. This +is no more directly supported by the \spadtype{CartesianTensor} domain +than it is by the \spadtype{Vector} domain. However, it is possible +to have the components implicitly represent component maps by choosing +a polynomial or expression type for the components. In this case, it +is up to the user to satisfy any constraints which arise on the basis +of this interpretation. \endscroll \autobuttons \end{page} +\begin{patch}{CartesianTensorXmpPagePatch1} +\begin{paste}{CartesianTensorXmpPageFull1}{CartesianTensorXmpPageEmpty1} +\pastebutton{CartesianTensorXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{CT := CARTEN(i0 := 1, 2, Integer)\bound{CT i0 }} +\indentrel{3}\begin{verbatim} + (1) CartesianTensor(1,2,Integer) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty1} +\begin{paste}{CartesianTensorXmpPageEmpty1}{CartesianTensorXmpPagePatch1} +\pastebutton{CartesianTensorXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{CT := CARTEN(i0 := 1, 2, Integer)\bound{CT i0 }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch2} +\begin{paste}{CartesianTensorXmpPageFull2}{CartesianTensorXmpPageEmpty2} +\pastebutton{CartesianTensorXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{t0: CT := 8\free{CT }\bound{t0 }} +\indentrel{3}\begin{verbatim} + (2) 8 + Type: CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty2} +\begin{paste}{CartesianTensorXmpPageEmpty2}{CartesianTensorXmpPagePatch2} +\pastebutton{CartesianTensorXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{t0: CT := 8\free{CT }\bound{t0 }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch3} +\begin{paste}{CartesianTensorXmpPageFull3}{CartesianTensorXmpPageEmpty3} +\pastebutton{CartesianTensorXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{rank t0\free{t0 }} +\indentrel{3}\begin{verbatim} + (3) 0 + Type: NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty3} +\begin{paste}{CartesianTensorXmpPageEmpty3}{CartesianTensorXmpPagePatch3} +\pastebutton{CartesianTensorXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{rank t0\free{t0 }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch4} +\begin{paste}{CartesianTensorXmpPageFull4}{CartesianTensorXmpPageEmpty4} +\pastebutton{CartesianTensorXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{ +v: DirectProduct(2, Integer) := directProduct [3,4]\bound{v }} +\indentrel{3}\begin{verbatim} + (4) [3,4] + Type: DirectProduct(2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty4} +\begin{paste}{CartesianTensorXmpPageEmpty4}{CartesianTensorXmpPagePatch4} +\pastebutton{CartesianTensorXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{ +v: DirectProduct(2, Integer) := directProduct [3,4]\bound{v }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch5} +\begin{paste}{CartesianTensorXmpPageFull5}{CartesianTensorXmpPageEmpty5} +\pastebutton{CartesianTensorXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{Tv: CT := v\free{v CT }\bound{Tv }} +\indentrel{3}\begin{verbatim} + (5) [3,4] + Type: CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty5} +\begin{paste}{CartesianTensorXmpPageEmpty5}{CartesianTensorXmpPagePatch5} +\pastebutton{CartesianTensorXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{Tv: CT := v\free{v CT }\bound{Tv }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch6} +\begin{paste}{CartesianTensorXmpPageFull6}{CartesianTensorXmpPageEmpty6} +\pastebutton{CartesianTensorXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{ +m: SquareMatrix(2, Integer) := matrix [[1,2],[4,5]]\bound{m }} +\indentrel{3}\begin{verbatim} + Ú1 2¿ + (6) ³ ³ + À4 5Ù + Type: SquareMatrix(2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty6} +\begin{paste}{CartesianTensorXmpPageEmpty6}{CartesianTensorXmpPagePatch6} +\pastebutton{CartesianTensorXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{ +m: SquareMatrix(2, Integer) := matrix [[1,2],[4,5]]\bound{m }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch7} +\begin{paste}{CartesianTensorXmpPageFull7}{CartesianTensorXmpPageEmpty7} +\pastebutton{CartesianTensorXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{Tm: CT := m\bound{Tm }\free{CT m }} +\indentrel{3}\begin{verbatim} + Ú1 2¿ + (7) ³ ³ + À4 5Ù + Type: CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty7} +\begin{paste}{CartesianTensorXmpPageEmpty7}{CartesianTensorXmpPagePatch7} +\pastebutton{CartesianTensorXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{Tm: CT := m\bound{Tm }\free{CT m }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch8} +\begin{paste}{CartesianTensorXmpPageFull8}{CartesianTensorXmpPageEmpty8} +\pastebutton{CartesianTensorXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{ +n: SquareMatrix(2, Integer) := matrix [[2,3],[0,1]]\bound{n }} +\indentrel{3}\begin{verbatim} + Ú2 3¿ + (8) ³ ³ + À0 1Ù + Type: SquareMatrix(2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty8} +\begin{paste}{CartesianTensorXmpPageEmpty8}{CartesianTensorXmpPagePatch8} +\pastebutton{CartesianTensorXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{ +n: SquareMatrix(2, Integer) := matrix [[2,3],[0,1]]\bound{n }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch9} +\begin{paste}{CartesianTensorXmpPageFull9}{CartesianTensorXmpPageEmpty9} +\pastebutton{CartesianTensorXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{Tn: CT := n\bound{Tn }\free{CT n }} +\indentrel{3}\begin{verbatim} + Ú2 3¿ + (9) ³ ³ + À0 1Ù + Type: CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty9} +\begin{paste}{CartesianTensorXmpPageEmpty9}{CartesianTensorXmpPagePatch9} +\pastebutton{CartesianTensorXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{Tn: CT := n\bound{Tn }\free{CT n }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch10} +\begin{paste}{CartesianTensorXmpPageFull10}{CartesianTensorXmpPageEmpty10} +\pastebutton{CartesianTensorXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{t1: CT := [2, 3]\free{CT }\bound{t1 }} +\indentrel{3}\begin{verbatim} + (10) [2,3] + Type: CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty10} +\begin{paste}{CartesianTensorXmpPageEmpty10}{CartesianTensorXmpPagePatch10} +\pastebutton{CartesianTensorXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{t1: CT := [2, 3]\free{CT }\bound{t1 }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch11} +\begin{paste}{CartesianTensorXmpPageFull11}{CartesianTensorXmpPageEmpty11} +\pastebutton{CartesianTensorXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{rank t1\free{t1 }} +\indentrel{3}\begin{verbatim} + (11) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty11} +\begin{paste}{CartesianTensorXmpPageEmpty11}{CartesianTensorXmpPagePatch11} +\pastebutton{CartesianTensorXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{rank t1\free{t1 }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch12} +\begin{paste}{CartesianTensorXmpPageFull12}{CartesianTensorXmpPageEmpty12} +\pastebutton{CartesianTensorXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{t2: CT := [t1, t1]\free{CT t1 }\bound{t2 }} +\indentrel{3}\begin{verbatim} + Ú2 3¿ + (12) ³ ³ + À2 3Ù + Type: CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty12} +\begin{paste}{CartesianTensorXmpPageEmpty12}{CartesianTensorXmpPagePatch12} +\pastebutton{CartesianTensorXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{t2: CT := [t1, t1]\free{CT t1 }\bound{t2 }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch13} +\begin{paste}{CartesianTensorXmpPageFull13}{CartesianTensorXmpPageEmpty13} +\pastebutton{CartesianTensorXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{t3: CT := [t2, t2]\free{CT t2 }\bound{t3 }} +\indentrel{3}\begin{verbatim} + Ú2 3¿ Ú2 3¿ + (13) [³ ³,³ ³] + À2 3Ù À2 3Ù + Type: CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty13} +\begin{paste}{CartesianTensorXmpPageEmpty13}{CartesianTensorXmpPagePatch13} +\pastebutton{CartesianTensorXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{t3: CT := [t2, t2]\free{CT t2 }\bound{t3 }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch14} +\begin{paste}{CartesianTensorXmpPageFull14}{CartesianTensorXmpPageEmpty14} +\pastebutton{CartesianTensorXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{ +tt: CT := [t3, t3]; tt := [tt, tt]\free{CT t3 }\bound{tt }} +\indentrel{3}\begin{verbatim} + ÚÚ2 3¿ Ú2 3¿¿ ÚÚ2 3¿ Ú2 3¿¿ + ³³ ³ ³ ³³ ³³ ³ ³ ³³ + ³À2 3Ù À2 3Ù³ ³À2 3Ù À2 3Ù³ + (14) [³ ³,³ ³] + ³Ú2 3¿ Ú2 3¿³ ³Ú2 3¿ Ú2 3¿³ + ³³ ³ ³ ³³ ³³ ³ ³ ³³ + ÀÀ2 3Ù À2 3ÙÙ ÀÀ2 3Ù À2 3ÙÙ + Type: CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty14} +\begin{paste}{CartesianTensorXmpPageEmpty14}{CartesianTensorXmpPagePatch14} +\pastebutton{CartesianTensorXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{ +tt: CT := [t3, t3]; tt := [tt, tt]\free{CT t3 }\bound{tt }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch15} +\begin{paste}{CartesianTensorXmpPageFull15}{CartesianTensorXmpPageEmpty15} +\pastebutton{CartesianTensorXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{rank tt\free{tt }} +\indentrel{3}\begin{verbatim} + (15) 5 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty15} +\begin{paste}{CartesianTensorXmpPageEmpty15}{CartesianTensorXmpPagePatch15} +\pastebutton{CartesianTensorXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{rank tt\free{tt }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch16} +\begin{paste}{CartesianTensorXmpPageFull16}{CartesianTensorXmpPageEmpty16} +\pastebutton{CartesianTensorXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{Tmn := product(Tm, Tn)\free{Tm Tn }\bound{Tmn }} +\indentrel{3}\begin{verbatim} + ÚÚ2 3¿ Ú4 6¿ ¿ + ³³ ³ ³ ³ ³ + ³À0 1Ù À0 2Ù ³ + (16) ³ ³ + ³Ú8 12¿ Ú10 15¿³ + ³³ ³ ³ ³³ + ÀÀ0 4 Ù À0 5 ÙÙ + Type: CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty16} +\begin{paste}{CartesianTensorXmpPageEmpty16}{CartesianTensorXmpPagePatch16} +\pastebutton{CartesianTensorXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{Tmn := product(Tm, Tn)\free{Tm Tn }\bound{Tmn }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch17} +\begin{paste}{CartesianTensorXmpPageFull17}{CartesianTensorXmpPageEmpty17} +\pastebutton{CartesianTensorXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{Tmv := contract(Tm,2,Tv,1)\free{Tm Tv }\bound{Tmv }} +\indentrel{3}\begin{verbatim} + (17) [11,32] + Type: CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty17} +\begin{paste}{CartesianTensorXmpPageEmpty17}{CartesianTensorXmpPagePatch17} +\pastebutton{CartesianTensorXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{Tmv := contract(Tm,2,Tv,1)\free{Tm Tv }\bound{Tmv }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch18} +\begin{paste}{CartesianTensorXmpPageFull18}{CartesianTensorXmpPageEmpty18} +\pastebutton{CartesianTensorXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{Tm*Tv\free{Tm Tv }} +\indentrel{3}\begin{verbatim} + (18) [11,32] + Type: CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty18} +\begin{paste}{CartesianTensorXmpPageEmpty18}{CartesianTensorXmpPagePatch18} +\pastebutton{CartesianTensorXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{Tm*Tv\free{Tm Tv }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch19} +\begin{paste}{CartesianTensorXmpPageFull19}{CartesianTensorXmpPageEmpty19} +\pastebutton{CartesianTensorXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{Tmv = m * v\free{Tmv m v }} +\indentrel{3}\begin{verbatim} + (19) [11,32]= [11,32] + Type: Equation CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty19} +\begin{paste}{CartesianTensorXmpPageEmpty19}{CartesianTensorXmpPagePatch19} +\pastebutton{CartesianTensorXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{Tmv = m * v\free{Tmv m v }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch20} +\begin{paste}{CartesianTensorXmpPageFull20}{CartesianTensorXmpPageEmpty20} +\pastebutton{CartesianTensorXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{t0()\free{t0 }} +\indentrel{3}\begin{verbatim} + (20) 8 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty20} +\begin{paste}{CartesianTensorXmpPageEmpty20}{CartesianTensorXmpPagePatch20} +\pastebutton{CartesianTensorXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{t0()\free{t0 }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch21} +\begin{paste}{CartesianTensorXmpPageFull21}{CartesianTensorXmpPageEmpty21} +\pastebutton{CartesianTensorXmpPageFull21}{\hidepaste} +\tab{5}\spadcommand{t1(1+1)\free{t1 }} +\indentrel{3}\begin{verbatim} + (21) 3 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty21} +\begin{paste}{CartesianTensorXmpPageEmpty21}{CartesianTensorXmpPagePatch21} +\pastebutton{CartesianTensorXmpPageEmpty21}{\showpaste} +\tab{5}\spadcommand{t1(1+1)\free{t1 }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch22} +\begin{paste}{CartesianTensorXmpPageFull22}{CartesianTensorXmpPageEmpty22} +\pastebutton{CartesianTensorXmpPageFull22}{\hidepaste} +\tab{5}\spadcommand{t2(2,1)\free{t2 }} +\indentrel{3}\begin{verbatim} + (22) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty22} +\begin{paste}{CartesianTensorXmpPageEmpty22}{CartesianTensorXmpPagePatch22} +\pastebutton{CartesianTensorXmpPageEmpty22}{\showpaste} +\tab{5}\spadcommand{t2(2,1)\free{t2 }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch23} +\begin{paste}{CartesianTensorXmpPageFull23}{CartesianTensorXmpPageEmpty23} +\pastebutton{CartesianTensorXmpPageFull23}{\hidepaste} +\tab{5}\spadcommand{t3(2,1,2)\free{t3 }} +\indentrel{3}\begin{verbatim} + (23) 3 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty23} +\begin{paste}{CartesianTensorXmpPageEmpty23}{CartesianTensorXmpPagePatch23} +\pastebutton{CartesianTensorXmpPageEmpty23}{\showpaste} +\tab{5}\spadcommand{t3(2,1,2)\free{t3 }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch24} +\begin{paste}{CartesianTensorXmpPageFull24}{CartesianTensorXmpPageEmpty24} +\pastebutton{CartesianTensorXmpPageFull24}{\hidepaste} +\tab{5}\spadcommand{Tmn(2,1,2,1)\free{Tmn }} +\indentrel{3}\begin{verbatim} + (24) 0 + Type: NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty24} +\begin{paste}{CartesianTensorXmpPageEmpty24}{CartesianTensorXmpPagePatch24} +\pastebutton{CartesianTensorXmpPageEmpty24}{\showpaste} +\tab{5}\spadcommand{Tmn(2,1,2,1)\free{Tmn }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch25} +\begin{paste}{CartesianTensorXmpPageFull25}{CartesianTensorXmpPageEmpty25} +\pastebutton{CartesianTensorXmpPageFull25}{\hidepaste} +\tab{5}\spadcommand{t0[]\free{t0 }} +\indentrel{3}\begin{verbatim} + (25) 8 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty25} +\begin{paste}{CartesianTensorXmpPageEmpty25}{CartesianTensorXmpPagePatch25} +\pastebutton{CartesianTensorXmpPageEmpty25}{\showpaste} +\tab{5}\spadcommand{t0[]\free{t0 }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch26} +\begin{paste}{CartesianTensorXmpPageFull26}{CartesianTensorXmpPageEmpty26} +\pastebutton{CartesianTensorXmpPageFull26}{\hidepaste} +\tab{5}\spadcommand{t1[2]\free{t1 }} +\indentrel{3}\begin{verbatim} + (26) 3 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty26} +\begin{paste}{CartesianTensorXmpPageEmpty26}{CartesianTensorXmpPagePatch26} +\pastebutton{CartesianTensorXmpPageEmpty26}{\showpaste} +\tab{5}\spadcommand{t1[2]\free{t1 }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch27} +\begin{paste}{CartesianTensorXmpPageFull27}{CartesianTensorXmpPageEmpty27} +\pastebutton{CartesianTensorXmpPageFull27}{\hidepaste} +\tab{5}\spadcommand{t2[2,1]\free{t2 }} +\indentrel{3}\begin{verbatim} + (27) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty27} +\begin{paste}{CartesianTensorXmpPageEmpty27}{CartesianTensorXmpPagePatch27} +\pastebutton{CartesianTensorXmpPageEmpty27}{\showpaste} +\tab{5}\spadcommand{t2[2,1]\free{t2 }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch28} +\begin{paste}{CartesianTensorXmpPageFull28}{CartesianTensorXmpPageEmpty28} +\pastebutton{CartesianTensorXmpPageFull28}{\hidepaste} +\tab{5}\spadcommand{t3[2,1,2]\free{t3 }} +\indentrel{3}\begin{verbatim} + (28) 3 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty28} +\begin{paste}{CartesianTensorXmpPageEmpty28}{CartesianTensorXmpPagePatch28} +\pastebutton{CartesianTensorXmpPageEmpty28}{\showpaste} +\tab{5}\spadcommand{t3[2,1,2]\free{t3 }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch29} +\begin{paste}{CartesianTensorXmpPageFull29}{CartesianTensorXmpPageEmpty29} +\pastebutton{CartesianTensorXmpPageFull29}{\hidepaste} +\tab{5}\spadcommand{Tmn[2,1,2,1]\free{Tmn }} +\indentrel{3}\begin{verbatim} + (29) 0 + Type: NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty29} +\begin{paste}{CartesianTensorXmpPageEmpty29}{CartesianTensorXmpPagePatch29} +\pastebutton{CartesianTensorXmpPageEmpty29}{\showpaste} +\tab{5}\spadcommand{Tmn[2,1,2,1]\free{Tmn }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch30} +\begin{paste}{CartesianTensorXmpPageFull30}{CartesianTensorXmpPageEmpty30} +\pastebutton{CartesianTensorXmpPageFull30}{\hidepaste} +\tab{5}\spadcommand{cTmn := contract(Tmn,1,2)\free{Tmn }\bound{cTmn }} +\indentrel{3}\begin{verbatim} + Ú12 18¿ + (30) ³ ³ + À0 6 Ù + Type: CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty30} +\begin{paste}{CartesianTensorXmpPageEmpty30}{CartesianTensorXmpPagePatch30} +\pastebutton{CartesianTensorXmpPageEmpty30}{\showpaste} +\tab{5}\spadcommand{cTmn := contract(Tmn,1,2)\free{Tmn }\bound{cTmn }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch31} +\begin{paste}{CartesianTensorXmpPageFull31}{CartesianTensorXmpPageEmpty31} +\pastebutton{CartesianTensorXmpPageFull31}{\hidepaste} +\tab{5}\spadcommand{trace(m) * n\free{m n }} +\indentrel{3}\begin{verbatim} + Ú12 18¿ + (31) ³ ³ + À0 6 Ù + Type: SquareMatrix(2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty31} +\begin{paste}{CartesianTensorXmpPageEmpty31}{CartesianTensorXmpPagePatch31} +\pastebutton{CartesianTensorXmpPageEmpty31}{\showpaste} +\tab{5}\spadcommand{trace(m) * n\free{m n }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch32} +\begin{paste}{CartesianTensorXmpPageFull32}{CartesianTensorXmpPageEmpty32} +\pastebutton{CartesianTensorXmpPageFull32}{\hidepaste} +\tab{5}\spadcommand{contract(Tmn,1,2) = trace(m) * n\free{Tmn m n }} +\indentrel{3}\begin{verbatim} + Ú12 18¿ Ú12 18¿ + (32) ³ ³= ³ ³ + À0 6 Ù À0 6 Ù + Type: Equation CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty32} +\begin{paste}{CartesianTensorXmpPageEmpty32}{CartesianTensorXmpPagePatch32} +\pastebutton{CartesianTensorXmpPageEmpty32}{\showpaste} +\tab{5}\spadcommand{contract(Tmn,1,2) = trace(m) * n\free{Tmn m n }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch33} +\begin{paste}{CartesianTensorXmpPageFull33}{CartesianTensorXmpPageEmpty33} +\pastebutton{CartesianTensorXmpPageFull33}{\hidepaste} +\tab{5}\spadcommand{contract(Tmn,1,3) = transpose(m) * n\free{Tmn m n }} +\indentrel{3}\begin{verbatim} + Ú2 7 ¿ Ú2 7 ¿ + (33) ³ ³= ³ ³ + À4 11Ù À4 11Ù + Type: Equation CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty33} +\begin{paste}{CartesianTensorXmpPageEmpty33}{CartesianTensorXmpPagePatch33} +\pastebutton{CartesianTensorXmpPageEmpty33}{\showpaste} +\tab{5}\spadcommand{contract(Tmn,1,3) = transpose(m) * n\free{Tmn m n }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch34} +\begin{paste}{CartesianTensorXmpPageFull34}{CartesianTensorXmpPageEmpty34} +\pastebutton{CartesianTensorXmpPageFull34}{\hidepaste} +\tab{5}\spadcommand{ +contract(Tmn,1,4) = transpose(m) * transpose(n)\free{Tmn m n }} +\indentrel{3}\begin{verbatim} + Ú14 4¿ Ú14 4¿ + (34) ³ ³= ³ ³ + À19 5Ù À19 5Ù + Type: Equation CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty34} +\begin{paste}{CartesianTensorXmpPageEmpty34}{CartesianTensorXmpPagePatch34} +\pastebutton{CartesianTensorXmpPageEmpty34}{\showpaste} +\tab{5}\spadcommand{ +contract(Tmn,1,4) = transpose(m) * transpose(n)\free{Tmn m n }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch35} +\begin{paste}{CartesianTensorXmpPageFull35}{CartesianTensorXmpPageEmpty35} +\pastebutton{CartesianTensorXmpPageFull35}{\hidepaste} +\tab{5}\spadcommand{contract(Tmn,2,3) = m * n\free{Tmn m n }} +\indentrel{3}\begin{verbatim} + Ú2 5 ¿ Ú2 5 ¿ + (35) ³ ³= ³ ³ + À8 17Ù À8 17Ù + Type: Equation CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty35} +\begin{paste}{CartesianTensorXmpPageEmpty35}{CartesianTensorXmpPagePatch35} +\pastebutton{CartesianTensorXmpPageEmpty35}{\showpaste} +\tab{5}\spadcommand{contract(Tmn,2,3) = m * n\free{Tmn m n }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch36} +\begin{paste}{CartesianTensorXmpPageFull36}{CartesianTensorXmpPageEmpty36} +\pastebutton{CartesianTensorXmpPageFull36}{\hidepaste} +\tab{5}\spadcommand{contract(Tmn,2,4) = m * transpose(n)\free{Tmn m n }} +\indentrel{3}\begin{verbatim} + Ú8 2¿ Ú8 2¿ + (36) ³ ³= ³ ³ + À23 5Ù À23 5Ù + Type: Equation CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty36} +\begin{paste}{CartesianTensorXmpPageEmpty36}{CartesianTensorXmpPagePatch36} +\pastebutton{CartesianTensorXmpPageEmpty36}{\showpaste} +\tab{5}\spadcommand{contract(Tmn,2,4) = m * transpose(n)\free{Tmn m n }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch37} +\begin{paste}{CartesianTensorXmpPageFull37}{CartesianTensorXmpPageEmpty37} +\pastebutton{CartesianTensorXmpPageFull37}{\hidepaste} +\tab{5}\spadcommand{contract(Tmn,3,4) = trace(n) * m\free{Tmn m n }} +\indentrel{3}\begin{verbatim} + Ú3 6 ¿ Ú3 6 ¿ + (37) ³ ³= ³ ³ + À12 15Ù À12 15Ù + Type: Equation CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty37} +\begin{paste}{CartesianTensorXmpPageEmpty37}{CartesianTensorXmpPagePatch37} +\pastebutton{CartesianTensorXmpPageEmpty37}{\showpaste} +\tab{5}\spadcommand{contract(Tmn,3,4) = trace(n) * m\free{Tmn m n }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch38} +\begin{paste}{CartesianTensorXmpPageFull38}{CartesianTensorXmpPageEmpty38} +\pastebutton{CartesianTensorXmpPageFull38}{\hidepaste} +\tab{5}\spadcommand{tTmn := transpose(Tmn,1,3)\free{tTmn }} +\indentrel{3}\begin{verbatim} + ÚÚ2 3 ¿ Ú4 6 ¿¿ + ³³ ³ ³ ³³ + ³À8 12Ù À10 15Ù³ + (38) ³ ³ + ³Ú0 1¿ Ú0 2¿ ³ + ³³ ³ ³ ³ ³ + ÀÀ0 4Ù À0 5Ù Ù + Type: CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty38} +\begin{paste}{CartesianTensorXmpPageEmpty38}{CartesianTensorXmpPagePatch38} +\pastebutton{CartesianTensorXmpPageEmpty38}{\showpaste} +\tab{5}\spadcommand{tTmn := transpose(Tmn,1,3)\free{tTmn }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch39} +\begin{paste}{CartesianTensorXmpPageFull39}{CartesianTensorXmpPageEmpty39} +\pastebutton{CartesianTensorXmpPageFull39}{\hidepaste} +\tab{5}\spadcommand{transpose Tmn\free{Tmn }} +\indentrel{3}\begin{verbatim} + ÚÚ2 8¿ Ú4 10¿¿ + ³³ ³ ³ ³³ + ³À0 0Ù À0 0 Ù³ + (39) ³ ³ + ³Ú3 12¿ Ú6 15¿³ + ³³ ³ ³ ³³ + ÀÀ1 4 Ù À2 5 ÙÙ + Type: CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty39} +\begin{paste}{CartesianTensorXmpPageEmpty39}{CartesianTensorXmpPagePatch39} +\pastebutton{CartesianTensorXmpPageEmpty39}{\showpaste} +\tab{5}\spadcommand{transpose Tmn\free{Tmn }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch40} +\begin{paste}{CartesianTensorXmpPageFull40}{CartesianTensorXmpPageEmpty40} +\pastebutton{CartesianTensorXmpPageFull40}{\hidepaste} +\tab{5}\spadcommand{transpose Tm = transpose m\free{Tm m }} +\indentrel{3}\begin{verbatim} + Ú1 4¿ Ú1 4¿ + (40) ³ ³= ³ ³ + À2 5Ù À2 5Ù + Type: Equation CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty40} +\begin{paste}{CartesianTensorXmpPageEmpty40}{CartesianTensorXmpPagePatch40} +\pastebutton{CartesianTensorXmpPageEmpty40}{\showpaste} +\tab{5}\spadcommand{transpose Tm = transpose m\free{Tm m }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch41} +\begin{paste}{CartesianTensorXmpPageFull41}{CartesianTensorXmpPageEmpty41} +\pastebutton{CartesianTensorXmpPageFull41}{\hidepaste} +\tab{5}\spadcommand{rTmn := reindex(Tmn, [1,4,2,3])\free{Tmn }\bound{rTmn }} +\indentrel{3}\begin{verbatim} + ÚÚ2 0¿ Ú3 1¿ ¿ + ³³ ³ ³ ³ ³ + ³À4 0Ù À6 2Ù ³ + (41) ³ ³ + ³Ú8 0¿ Ú12 4¿³ + ³³ ³ ³ ³³ + ÀÀ10 0Ù À15 5ÙÙ + Type: CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty41} +\begin{paste}{CartesianTensorXmpPageEmpty41}{CartesianTensorXmpPagePatch41} +\pastebutton{CartesianTensorXmpPageEmpty41}{\showpaste} +\tab{5}\spadcommand{rTmn := reindex(Tmn, [1,4,2,3])\free{Tmn }\bound{rTmn }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch42} +\begin{paste}{CartesianTensorXmpPageFull42}{CartesianTensorXmpPageEmpty42} +\pastebutton{CartesianTensorXmpPageFull42}{\hidepaste} +\tab{5}\spadcommand{ +tt := transpose(Tm)*Tn - Tn*transpose(Tm)\free{Tm Tn }\bound{tt2 }} +\indentrel{3}\begin{verbatim} + Ú- 6 - 16¿ + (42) ³ ³ + À 2 6 Ù + Type: CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty42} +\begin{paste}{CartesianTensorXmpPageEmpty42}{CartesianTensorXmpPagePatch42} +\pastebutton{CartesianTensorXmpPageEmpty42}{\showpaste} +\tab{5}\spadcommand{ +tt := transpose(Tm)*Tn - Tn*transpose(Tm)\free{Tm Tn }\bound{tt2 }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch43} +\begin{paste}{CartesianTensorXmpPageFull43}{CartesianTensorXmpPageEmpty43} +\pastebutton{CartesianTensorXmpPageFull43}{\hidepaste} +\tab{5}\spadcommand{Tv*(tt+Tn)\free{tt2 Tv Tn }} +\indentrel{3}\begin{verbatim} + (43) [- 4,- 11] + Type: CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty43} +\begin{paste}{CartesianTensorXmpPageEmpty43}{CartesianTensorXmpPagePatch43} +\pastebutton{CartesianTensorXmpPageEmpty43}{\showpaste} +\tab{5}\spadcommand{Tv*(tt+Tn)\free{tt2 Tv Tn }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch44} +\begin{paste}{CartesianTensorXmpPageFull44}{CartesianTensorXmpPageEmpty44} +\pastebutton{CartesianTensorXmpPageFull44}{\hidepaste} +\tab{5}\spadcommand{ +reindex(product(Tn,Tn),[4,3,2,1])+3*Tn*product(Tm,Tm)\free{Tm Tn }} +\indentrel{3}\begin{verbatim} + ÚÚ46 84 ¿ Ú57 114¿¿ + ³³ ³ ³ ³³ + ³À174 212Ù À228 285Ù³ + (44) ³ ³ + ³ Ú18 24¿ Ú17 30¿ ³ + ³ ³ ³ ³ ³ ³ + À À57 63Ù À63 76Ù Ù + Type: CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty44} +\begin{paste}{CartesianTensorXmpPageEmpty44}{CartesianTensorXmpPagePatch44} +\pastebutton{CartesianTensorXmpPageEmpty44}{\showpaste} +\tab{5}\spadcommand{ +reindex(product(Tn,Tn),[4,3,2,1])+3*Tn*product(Tm,Tm)\free{Tm Tn }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch45} +\begin{paste}{CartesianTensorXmpPageFull45}{CartesianTensorXmpPageEmpty45} +\pastebutton{CartesianTensorXmpPageFull45}{\hidepaste} +\tab{5}\spadcommand{delta: CT := kroneckerDelta()\free{CT }\bound{delta }} +\indentrel{3}\begin{verbatim} + Ú1 0¿ + (45) ³ ³ + À0 1Ù + Type: CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty45} +\begin{paste}{CartesianTensorXmpPageEmpty45}{CartesianTensorXmpPagePatch45} +\pastebutton{CartesianTensorXmpPageEmpty45}{\showpaste} +\tab{5}\spadcommand{delta: CT := kroneckerDelta()\free{CT }\bound{delta }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch46} +\begin{paste}{CartesianTensorXmpPageFull46}{CartesianTensorXmpPageEmpty46} +\pastebutton{CartesianTensorXmpPageFull46}{\hidepaste} +\tab{5}\spadcommand{ +contract(Tmn, 2, delta, 1) = reindex(Tmn, [1,3,4,2])\free{Tmn delta }} +\indentrel{3}\begin{verbatim} + Ú Ú2 4¿ Ú0 0¿¿ Ú Ú2 4¿ Ú0 0¿¿ + ³ ³ ³ ³ ³³ ³ ³ ³ ³ ³³ + ³ À3 6Ù À1 2Ù³ ³ À3 6Ù À1 2Ù³ + (46) ³ ³= ³ ³ + ³Ú8 10¿ Ú0 0¿³ ³Ú8 10¿ Ú0 0¿³ + ³³ ³ ³ ³³ ³³ ³ ³ ³³ + ÀÀ12 15Ù À4 5ÙÙ ÀÀ12 15Ù À4 5ÙÙ + Type: Equation CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty46} +\begin{paste}{CartesianTensorXmpPageEmpty46}{CartesianTensorXmpPagePatch46} +\pastebutton{CartesianTensorXmpPageEmpty46}{\showpaste} +\tab{5}\spadcommand{ +contract(Tmn, 2, delta, 1) = reindex(Tmn, [1,3,4,2])\free{Tmn delta }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch47} +\begin{paste}{CartesianTensorXmpPageFull47}{CartesianTensorXmpPageEmpty47} +\pastebutton{CartesianTensorXmpPageFull47}{\hidepaste} +\tab{5}\spadcommand{ +epsilon:CT := leviCivitaSymbol()\free{CT }\bound{epsilon }} +\indentrel{3}\begin{verbatim} + Ú 0 1¿ + (47) ³ ³ + À- 1 0Ù + Type: CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty47} +\begin{paste}{CartesianTensorXmpPageEmpty47} +{CartesianTensorXmpPagePatch47} +\pastebutton{CartesianTensorXmpPageEmpty47}{\showpaste} +\tab{5}\spadcommand{ +epsilon:CT := leviCivitaSymbol()\free{CT }\bound{epsilon }} +\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPagePatch48} +\begin{paste}{CartesianTensorXmpPageFull48}{CartesianTensorXmpPageEmpty48} +\pastebutton{CartesianTensorXmpPageFull48}{\hidepaste} +\tab{5}\spadcommand{ +contract(epsilon*Tm*epsilon, 1,2) = 2 * determinant m\free{epsilon Tm m }} +\indentrel{3}\begin{verbatim} + (48) - 6= - 6 + Type: Equation CartesianTensor(1,2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CartesianTensorXmpPageEmpty48} +\begin{paste}{CartesianTensorXmpPageEmpty48}{CartesianTensorXmpPagePatch48} +\pastebutton{CartesianTensorXmpPageEmpty48}{\showpaste} +\tab{5}\spadcommand{ +contract(epsilon*Tm*epsilon, 1,2) = 2 * determinant m\free{epsilon Tm m }} +\end{paste}\end{patch} + @ \section{cclass.ht} \pagehead{CharacterClassXmpPage}{cclass.ht}{CharacterClass} @@ -3604,6 +6404,269 @@ For more information on related topics, see \autobuttons \end{page} +\begin{patch}{CharacterClassXmpPagePatch1} +\begin{paste}{CharacterClassXmpPageFull1}{CharacterClassXmpPageEmpty1} +\pastebutton{CharacterClassXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{ +cl1:=charClass[char "a", char "e", char "i", char "o", char "u", char "y"] +\bound{cl1 }} +\indentrel{3}\begin{verbatim} + (1) "aeiouy" + Type: CharacterClass +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPageEmpty1} +\begin{paste}{CharacterClassXmpPageEmpty1}{CharacterClassXmpPagePatch1} +\pastebutton{CharacterClassXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{ +cl1:=charClass [char "a", char "e", char "i", char "o", char "u", char "y"] +\bound{cl1 }} +\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPagePatch2} +\begin{paste}{CharacterClassXmpPageFull2}{CharacterClassXmpPageEmpty2} +\pastebutton{CharacterClassXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{cl2 := charClass "bcdfghjklmnpqrstvwxyz"\bound{cl2 }} +\indentrel{3}\begin{verbatim} + (2) "bcdfghjklmnpqrstvwxyz" + Type: CharacterClass +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPageEmpty2} +\begin{paste}{CharacterClassXmpPageEmpty2}{CharacterClassXmpPagePatch2} +\pastebutton{CharacterClassXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{cl2 := charClass "bcdfghjklmnpqrstvwxyz"\bound{cl2 }} +\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPagePatch3} +\begin{paste}{CharacterClassXmpPageFull3}{CharacterClassXmpPageEmpty3} +\pastebutton{CharacterClassXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{digit()} +\indentrel{3}\begin{verbatim} + (3) "0123456789" + Type: CharacterClass +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPageEmpty3} +\begin{paste}{CharacterClassXmpPageEmpty3}{CharacterClassXmpPagePatch3} +\pastebutton{CharacterClassXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{digit()} +\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPagePatch4} +\begin{paste}{CharacterClassXmpPageFull4}{CharacterClassXmpPageEmpty4} +\pastebutton{CharacterClassXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{hexDigit()} +\indentrel{3}\begin{verbatim} + (4) "0123456789ABCDEFabcdef" + Type: CharacterClass +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPageEmpty4} +\begin{paste}{CharacterClassXmpPageEmpty4}{CharacterClassXmpPagePatch4} +\pastebutton{CharacterClassXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{hexDigit()} +\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPagePatch5} +\begin{paste}{CharacterClassXmpPageFull5}{CharacterClassXmpPageEmpty5} +\pastebutton{CharacterClassXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{upperCase()} +\indentrel{3}\begin{verbatim} + (5) "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + Type: CharacterClass +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPageEmpty5} +\begin{paste}{CharacterClassXmpPageEmpty5}{CharacterClassXmpPagePatch5} +\pastebutton{CharacterClassXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{upperCase()} +\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPagePatch6} +\begin{paste}{CharacterClassXmpPageFull6}{CharacterClassXmpPageEmpty6} +\pastebutton{CharacterClassXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{lowerCase()} +\indentrel{3}\begin{verbatim} + (6) "abcdefghijklmnopqrstuvwxyz" + Type: CharacterClass +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPageEmpty6} +\begin{paste}{CharacterClassXmpPageEmpty6}{CharacterClassXmpPagePatch6} +\pastebutton{CharacterClassXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{lowerCase()} +\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPagePatch7} +\begin{paste}{CharacterClassXmpPageFull7}{CharacterClassXmpPageEmpty7} +\pastebutton{CharacterClassXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{alphabetic()} +\indentrel{3}\begin{verbatim} + (7) + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" + Type: CharacterClass +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPageEmpty7} +\begin{paste}{CharacterClassXmpPageEmpty7}{CharacterClassXmpPagePatch7} +\pastebutton{CharacterClassXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{alphabetic()} +\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPagePatch8} +\begin{paste}{CharacterClassXmpPageFull8}{CharacterClassXmpPageEmpty8} +\pastebutton{CharacterClassXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{alphanumeric()} +\indentrel{3}\begin{verbatim} + (8) + "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqr + stuvwxyz" + Type: CharacterClass +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPageEmpty8} +\begin{paste}{CharacterClassXmpPageEmpty8}{CharacterClassXmpPagePatch8} +\pastebutton{CharacterClassXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{alphanumeric()} +\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPagePatch9} +\begin{paste}{CharacterClassXmpPageFull9}{CharacterClassXmpPageEmpty9} +\pastebutton{CharacterClassXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{member?(char "a", cl1)\free{cl1 }} +\indentrel{3}\begin{verbatim} + (9) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPageEmpty9} +\begin{paste}{CharacterClassXmpPageEmpty9}{CharacterClassXmpPagePatch9} +\pastebutton{CharacterClassXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{member?(char "a", cl1)\free{cl1 }} +\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPagePatch10} +\begin{paste}{CharacterClassXmpPageFull10}{CharacterClassXmpPageEmpty10} +\pastebutton{CharacterClassXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{member?(char "a", cl2)\free{cl2 }} +\indentrel{3}\begin{verbatim} + (10) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPageEmpty10} +\begin{paste}{CharacterClassXmpPageEmpty10}{CharacterClassXmpPagePatch10} +\pastebutton{CharacterClassXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{member?(char "a", cl2)\free{cl2 }} +\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPagePatch11} +\begin{paste}{CharacterClassXmpPageFull11}{CharacterClassXmpPageEmpty11} +\pastebutton{CharacterClassXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{intersect(cl1, cl2)\free{cl1 cl2 }} +\indentrel{3}\begin{verbatim} + (11) "y" + Type: CharacterClass +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPageEmpty11} +\begin{paste}{CharacterClassXmpPageEmpty11}{CharacterClassXmpPagePatch11} +\pastebutton{CharacterClassXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{intersect(cl1, cl2)\free{cl1 cl2 }} +\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPagePatch12} +\begin{paste}{CharacterClassXmpPageFull12}{CharacterClassXmpPageEmpty12} +\pastebutton{CharacterClassXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{union(cl1,cl2)\free{cl1 cl2 }} +\indentrel{3}\begin{verbatim} + (12) "abcdefghijklmnopqrstuvwxyz" + Type: CharacterClass +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPageEmpty12} +\begin{paste}{CharacterClassXmpPageEmpty12}{CharacterClassXmpPagePatch12} +\pastebutton{CharacterClassXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{union(cl1,cl2)\free{cl1 cl2 }} +\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPagePatch13} +\begin{paste}{CharacterClassXmpPageFull13}{CharacterClassXmpPageEmpty13} +\pastebutton{CharacterClassXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{difference(cl1,cl2)\free{cl1 cl2 }} +\indentrel{3}\begin{verbatim} + (13) "aeiou" + Type: CharacterClass +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPageEmpty13} +\begin{paste}{CharacterClassXmpPageEmpty13}{CharacterClassXmpPagePatch13} +\pastebutton{CharacterClassXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{difference(cl1,cl2)\free{cl1 cl2 }} +\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPagePatch14} +\begin{paste}{CharacterClassXmpPageFull14}{CharacterClassXmpPageEmpty14} +\pastebutton{CharacterClassXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{intersect(complement(cl1),cl2)\free{cl1 cl2 }} +\indentrel{3}\begin{verbatim} + (14) "bcdfghjklmnpqrstvwxz" + Type: CharacterClass +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPageEmpty14} +\begin{paste}{CharacterClassXmpPageEmpty14}{CharacterClassXmpPagePatch14} +\pastebutton{CharacterClassXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{intersect(complement(cl1),cl2)\free{cl1 cl2 }} +\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPagePatch15} +\begin{paste}{CharacterClassXmpPageFull15}{CharacterClassXmpPageEmpty15} +\pastebutton{CharacterClassXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{insert!(char "a", cl2)\free{cl2 }\bound{cl22 }} +\indentrel{3}\begin{verbatim} + (15) "abcdfghjklmnpqrstvwxyz" + Type: CharacterClass +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPageEmpty15} +\begin{paste}{CharacterClassXmpPageEmpty15}{CharacterClassXmpPagePatch15} +\pastebutton{CharacterClassXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{insert!(char "a", cl2)\free{cl2 }\bound{cl22 }} +\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPagePatch16} +\begin{paste}{CharacterClassXmpPageFull16}{CharacterClassXmpPageEmpty16} +\pastebutton{CharacterClassXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{remove!(char "b", cl2)\free{cl22 }\bound{cl23 }} +\indentrel{3}\begin{verbatim} + (16) "acdfghjklmnpqrstvwxyz" + Type: CharacterClass +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterClassXmpPageEmpty16} +\begin{paste}{CharacterClassXmpPageEmpty16}{CharacterClassXmpPagePatch16} +\pastebutton{CharacterClassXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{remove!(char "b", cl2)\free{cl22 }\bound{cl23 }} +\end{paste}\end{patch} + @ \section{char.ht} \pagehead{CharacterXmpPage}{char.ht}{Character} @@ -3696,7 +6759,217 @@ belong to certain families. \endscroll \autobuttons \end{page} -% + +\begin{patch}{CharacterXmpPagePatch1} +\begin{paste}{CharacterXmpPageFull1}{CharacterXmpPageEmpty1} +\pastebutton{CharacterXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{ +chars := [char "a", char "A", char "X", char "8", char "+"]\bound{chars }} +\indentrel{3}\begin{verbatim} + (1) [a,A,X,8,+] + Type: List Character +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterXmpPageEmpty1} +\begin{paste}{CharacterXmpPageEmpty1}{CharacterXmpPagePatch1} +\pastebutton{CharacterXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{ +chars := [char "a", char "A", char "X", char "8", char "+"]\bound{chars }} +\end{paste}\end{patch} + +\begin{patch}{CharacterXmpPagePatch2} +\begin{paste}{CharacterXmpPageFull2}{CharacterXmpPageEmpty2} +\pastebutton{CharacterXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{space()} +\indentrel{3}\begin{verbatim} + (2) + Type: Character +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterXmpPageEmpty2} +\begin{paste}{CharacterXmpPageEmpty2}{CharacterXmpPagePatch2} +\pastebutton{CharacterXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{space()} +\end{paste}\end{patch} + +\begin{patch}{CharacterXmpPagePatch3} +\begin{paste}{CharacterXmpPageFull3}{CharacterXmpPageEmpty3} +\pastebutton{CharacterXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{quote()} +\indentrel{3}\begin{verbatim} + (3) " + Type: Character +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterXmpPageEmpty3} +\begin{paste}{CharacterXmpPageEmpty3}{CharacterXmpPagePatch3} +\pastebutton{CharacterXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{quote()} +\end{paste}\end{patch} + +\begin{patch}{CharacterXmpPagePatch4} +\begin{paste}{CharacterXmpPageFull4}{CharacterXmpPageEmpty4} +\pastebutton{CharacterXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{escape()} +\indentrel{3}\begin{verbatim} + (4) _ + Type: Character +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterXmpPageEmpty4} +\begin{paste}{CharacterXmpPageEmpty4}{CharacterXmpPagePatch4} +\pastebutton{CharacterXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{escape()} +\end{paste}\end{patch} + +\begin{patch}{CharacterXmpPagePatch5} +\begin{paste}{CharacterXmpPageFull5}{CharacterXmpPageEmpty5} +\pastebutton{CharacterXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{[ord c for c in chars]\free{chars }} +\indentrel{3}\begin{verbatim} + (5) [97,65,88,56,43] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterXmpPageEmpty5} +\begin{paste}{CharacterXmpPageEmpty5}{CharacterXmpPagePatch5} +\pastebutton{CharacterXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{[ord c for c in chars]\free{chars }} +\end{paste}\end{patch} + +\begin{patch}{CharacterXmpPagePatch6} +\begin{paste}{CharacterXmpPageFull6}{CharacterXmpPageEmpty6} +\pastebutton{CharacterXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{[upperCase c for c in chars]\free{chars }} +\indentrel{3}\begin{verbatim} + (6) [A,A,X,8,+] + Type: List Character +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterXmpPageEmpty6} +\begin{paste}{CharacterXmpPageEmpty6}{CharacterXmpPagePatch6} +\pastebutton{CharacterXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{[upperCase c for c in chars]\free{chars }} +\end{paste}\end{patch} + +\begin{patch}{CharacterXmpPagePatch7} +\begin{paste}{CharacterXmpPageFull7}{CharacterXmpPageEmpty7} +\pastebutton{CharacterXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{[lowerCase c for c in chars]\free{chars }} +\indentrel{3}\begin{verbatim} + (7) [a,a,x,8,+] + Type: List Character +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterXmpPageEmpty7} +\begin{paste}{CharacterXmpPageEmpty7}{CharacterXmpPagePatch7} +\pastebutton{CharacterXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{[lowerCase c for c in chars]\free{chars }} +\end{paste}\end{patch} + +\begin{patch}{CharacterXmpPagePatch8} +\begin{paste}{CharacterXmpPageFull8}{CharacterXmpPageEmpty8} +\pastebutton{CharacterXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{[alphabetic? c for c in chars]\free{chars }} +\indentrel{3}\begin{verbatim} + (8) [true,true,true,false,false] + Type: List Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterXmpPageEmpty8} +\begin{paste}{CharacterXmpPageEmpty8}{CharacterXmpPagePatch8} +\pastebutton{CharacterXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{[alphabetic? c for c in chars]\free{chars }} +\end{paste}\end{patch} + +\begin{patch}{CharacterXmpPagePatch9} +\begin{paste}{CharacterXmpPageFull9}{CharacterXmpPageEmpty9} +\pastebutton{CharacterXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{[upperCase? c for c in chars]\free{chars }} +\indentrel{3}\begin{verbatim} + (9) [false,true,true,false,false] + Type: List Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterXmpPageEmpty9} +\begin{paste}{CharacterXmpPageEmpty9}{CharacterXmpPagePatch9} +\pastebutton{CharacterXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{[upperCase? c for c in chars]\free{chars }} +\end{paste}\end{patch} + +\begin{patch}{CharacterXmpPagePatch10} +\begin{paste}{CharacterXmpPageFull10}{CharacterXmpPageEmpty10} +\pastebutton{CharacterXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{[lowerCase? c for c in chars]\free{chars }} +\indentrel{3}\begin{verbatim} + (10) [true,false,false,false,false] + Type: List Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterXmpPageEmpty10} +\begin{paste}{CharacterXmpPageEmpty10}{CharacterXmpPagePatch10} +\pastebutton{CharacterXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{[lowerCase? c for c in chars]\free{chars }} +\end{paste}\end{patch} + +\begin{patch}{CharacterXmpPagePatch11} +\begin{paste}{CharacterXmpPageFull11}{CharacterXmpPageEmpty11} +\pastebutton{CharacterXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{[digit? c for c in chars]\free{chars }} +\indentrel{3}\begin{verbatim} + (11) [false,false,false,true,false] + Type: List Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterXmpPageEmpty11} +\begin{paste}{CharacterXmpPageEmpty11}{CharacterXmpPagePatch11} +\pastebutton{CharacterXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{[digit? c for c in chars]\free{chars }} +\end{paste}\end{patch} + +\begin{patch}{CharacterXmpPagePatch12} +\begin{paste}{CharacterXmpPageFull12}{CharacterXmpPageEmpty12} +\pastebutton{CharacterXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{[hexDigit? c for c in chars]\free{chars }} +\indentrel{3}\begin{verbatim} + (12) [true,true,false,true,false] + Type: List Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterXmpPageEmpty12} +\begin{paste}{CharacterXmpPageEmpty12}{CharacterXmpPagePatch12} +\pastebutton{CharacterXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{[hexDigit? c for c in chars]\free{chars }} +\end{paste}\end{patch} + +\begin{patch}{CharacterXmpPagePatch13} +\begin{paste}{CharacterXmpPageFull13}{CharacterXmpPageEmpty13} +\pastebutton{CharacterXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{[alphanumeric? c for c in chars]\free{chars }} +\indentrel{3}\begin{verbatim} + (13) [true,true,true,true,false] + Type: List Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CharacterXmpPageEmpty13} +\begin{paste}{CharacterXmpPageEmpty13}{CharacterXmpPagePatch13} +\pastebutton{CharacterXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{[alphanumeric? c for c in chars]\free{chars }} +\end{paste}\end{patch} + @ \pagehead{CliffordAlgebraXmpPage}{clif.ht}{CliffordAlgebra} @@ -3801,6 +7074,125 @@ implementing complex numbers. \autobuttons \end{page} +\begin{patch}{ugxCliffordComplexPagePatch1} +\begin{paste}{ugxCliffordComplexPageFull1}{ugxCliffordComplexPageEmpty1} +\pastebutton{ugxCliffordComplexPageFull1}{\hidepaste} +\tab{5}\spadcommand{K := Fraction Polynomial Integer\bound{K }} +\indentrel{3}\begin{verbatim} + (1) Fraction Polynomial Integer + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordComplexPageEmpty1} +\begin{paste}{ugxCliffordComplexPageEmpty1}{ugxCliffordComplexPagePatch1} +\pastebutton{ugxCliffordComplexPageEmpty1}{\showpaste} +\tab{5}\spadcommand{K := Fraction Polynomial Integer\bound{K }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordComplexPagePatch2} +\begin{paste}{ugxCliffordComplexPageFull2}{ugxCliffordComplexPageEmpty2} +\pastebutton{ugxCliffordComplexPageFull2}{\hidepaste} +\tab{5}\spadcommand{m := matrix [[-1]]\bound{m }} +\indentrel{3}\begin{verbatim} + (2) [- 1] + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordComplexPageEmpty2} +\begin{paste}{ugxCliffordComplexPageEmpty2}{ugxCliffordComplexPagePatch2} +\pastebutton{ugxCliffordComplexPageEmpty2}{\showpaste} +\tab{5}\spadcommand{m := matrix [[-1]]\bound{m }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordComplexPagePatch3} +\begin{paste}{ugxCliffordComplexPageFull3}{ugxCliffordComplexPageEmpty3} +\pastebutton{ugxCliffordComplexPageFull3}{\hidepaste} +\tab{5}\spadcommand{ +C := CliffordAlgebra(1, K, quadraticForm m)\free{K m }\bound{C }} +\indentrel{3}\begin{verbatim} + (3) + CliffordAlgebra(1,Fraction Polynomial Integer,MATRIX) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordComplexPageEmpty3} +\begin{paste}{ugxCliffordComplexPageEmpty3}{ugxCliffordComplexPagePatch3} +\pastebutton{ugxCliffordComplexPageEmpty3}{\showpaste} +\tab{5}\spadcommand{ +C := CliffordAlgebra(1, K, quadraticForm m)\free{K m }\bound{C }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordComplexPagePatch4} +\begin{paste}{ugxCliffordComplexPageFull4}{ugxCliffordComplexPageEmpty4} +\pastebutton{ugxCliffordComplexPageFull4}{\hidepaste} +\tab{5}\spadcommand{i: C := e(1)\bound{i }\free{C }} +\indentrel{3}\begin{verbatim} + (4) e + 1 +Type: CliffordAlgebra(1,Fraction Polynomial Integer,MATRIX) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordComplexPageEmpty4} +\begin{paste}{ugxCliffordComplexPageEmpty4}{ugxCliffordComplexPagePatch4} +\pastebutton{ugxCliffordComplexPageEmpty4}{\showpaste} +\tab{5}\spadcommand{i: C := e(1)\bound{i }\free{C }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordComplexPagePatch5} +\begin{paste}{ugxCliffordComplexPageFull5}{ugxCliffordComplexPageEmpty5} +\pastebutton{ugxCliffordComplexPageFull5}{\hidepaste} +\tab{5}\spadcommand{x := a + b * i\bound{x }\free{i }} +\indentrel{3}\begin{verbatim} + (5) a + b e + 1 +Type: CliffordAlgebra(1,Fraction Polynomial Integer,MATRIX) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordComplexPageEmpty5} +\begin{paste}{ugxCliffordComplexPageEmpty5}{ugxCliffordComplexPagePatch5} +\pastebutton{ugxCliffordComplexPageEmpty5}{\showpaste} +\tab{5}\spadcommand{x := a + b * i\bound{x }\free{i }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordComplexPagePatch6} +\begin{paste}{ugxCliffordComplexPageFull6}{ugxCliffordComplexPageEmpty6} +\pastebutton{ugxCliffordComplexPageFull6}{\hidepaste} +\tab{5}\spadcommand{y := c + d * i\bound{y }\free{i }} +\indentrel{3}\begin{verbatim} + (6) c + d e + 1 +Type: CliffordAlgebra(1,Fraction Polynomial Integer,MATRIX) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordComplexPageEmpty6} +\begin{paste}{ugxCliffordComplexPageEmpty6}{ugxCliffordComplexPagePatch6} +\pastebutton{ugxCliffordComplexPageEmpty6}{\showpaste} +\tab{5}\spadcommand{y := c + d * i\bound{y }\free{i }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordComplexPagePatch7} +\begin{paste}{ugxCliffordComplexPageFull7}{ugxCliffordComplexPageEmpty7} +\pastebutton{ugxCliffordComplexPageFull7}{\hidepaste} +\tab{5}\spadcommand{x * y\free{x y }} +\indentrel{3}\begin{verbatim} + (7) - b d + a c + (a d + b c)e + 1 +Type: CliffordAlgebra(1,Fraction Polynomial Integer,MATRIX) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordComplexPageEmpty7} +\begin{paste}{ugxCliffordComplexPageEmpty7}{ugxCliffordComplexPagePatch7} +\pastebutton{ugxCliffordComplexPageEmpty7}{\showpaste} +\tab{5}\spadcommand{x * y\free{x y }} +\end{paste}\end{patch} + @ \pagehead{ugxCliffordQuaternPage}{clif.ht} {The Quaternion Numbers as a Clifford Algebra} @@ -3868,6 +7260,206 @@ implementing quaternions. \autobuttons \end{page} +\begin{patch}{ugxCliffordQuaternPagePatch1} +\begin{paste}{ugxCliffordQuaternPageFull1}{ugxCliffordQuaternPageEmpty1} +\pastebutton{ugxCliffordQuaternPageFull1}{\hidepaste} +\tab{5}\spadcommand{K := Fraction Polynomial Integer\bound{K }} +\indentrel{3}\begin{verbatim} + (1) Fraction Polynomial Integer + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordQuaternPageEmpty1} +\begin{paste}{ugxCliffordQuaternPageEmpty1}{ugxCliffordQuaternPagePatch1} +\pastebutton{ugxCliffordQuaternPageEmpty1}{\showpaste} +\tab{5}\spadcommand{K := Fraction Polynomial Integer\bound{K }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordQuaternPagePatch2} +\begin{paste}{ugxCliffordQuaternPageFull2}{ugxCliffordQuaternPageEmpty2} +\pastebutton{ugxCliffordQuaternPageFull2}{\hidepaste} +\tab{5}\spadcommand{m := matrix [[-1,0],[0,-1]]\bound{m }} +\indentrel{3}\begin{verbatim} + Ú- 1 0 ¿ + (2) ³ ³ + À 0 - 1Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordQuaternPageEmpty2} +\begin{paste}{ugxCliffordQuaternPageEmpty2}{ugxCliffordQuaternPagePatch2} +\pastebutton{ugxCliffordQuaternPageEmpty2}{\showpaste} +\tab{5}\spadcommand{m := matrix [[-1,0],[0,-1]]\bound{m }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordQuaternPagePatch3} +\begin{paste}{ugxCliffordQuaternPageFull3}{ugxCliffordQuaternPageEmpty3} +\pastebutton{ugxCliffordQuaternPageFull3}{\hidepaste} +\tab{5}\spadcommand{ +H := CliffordAlgebra(2, K, quadraticForm m)\free{K m }\bound{H }} +\indentrel{3}\begin{verbatim} + (3) + CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordQuaternPageEmpty3} +\begin{paste}{ugxCliffordQuaternPageEmpty3}{ugxCliffordQuaternPagePatch3} +\pastebutton{ugxCliffordQuaternPageEmpty3}{\showpaste} +\tab{5}\spadcommand{ +H := CliffordAlgebra(2, K, quadraticForm m)\free{K m }\bound{H }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordQuaternPagePatch4} +\begin{paste}{ugxCliffordQuaternPageFull4}{ugxCliffordQuaternPageEmpty4} +\pastebutton{ugxCliffordQuaternPageFull4}{\hidepaste} +\tab{5}\spadcommand{i: H := e(1)\free{H }\bound{i }} +\indentrel{3}\begin{verbatim} + (4) e + 1 +Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordQuaternPageEmpty4} +\begin{paste}{ugxCliffordQuaternPageEmpty4}{ugxCliffordQuaternPagePatch4} +\pastebutton{ugxCliffordQuaternPageEmpty4}{\showpaste} +\tab{5}\spadcommand{i: H := e(1)\free{H }\bound{i }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordQuaternPagePatch5} +\begin{paste}{ugxCliffordQuaternPageFull5}{ugxCliffordQuaternPageEmpty5} +\pastebutton{ugxCliffordQuaternPageFull5}{\hidepaste} +\tab{5}\spadcommand{j: H := e(2)\free{H }\bound{j }} +\indentrel{3}\begin{verbatim} + (5) e + 2 +Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordQuaternPageEmpty5} +\begin{paste}{ugxCliffordQuaternPageEmpty5}{ugxCliffordQuaternPagePatch5} +\pastebutton{ugxCliffordQuaternPageEmpty5}{\showpaste} +\tab{5}\spadcommand{j: H := e(2)\free{H }\bound{j }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordQuaternPagePatch6} +\begin{paste}{ugxCliffordQuaternPageFull6}{ugxCliffordQuaternPageEmpty6} +\pastebutton{ugxCliffordQuaternPageFull6}{\hidepaste} +\tab{5}\spadcommand{k: H := i * j\free{H i j }\bound{k }} +\indentrel{3}\begin{verbatim} + (6) e e + 1 2 +Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordQuaternPageEmpty6} +\begin{paste}{ugxCliffordQuaternPageEmpty6}{ugxCliffordQuaternPagePatch6} +\pastebutton{ugxCliffordQuaternPageEmpty6}{\showpaste} +\tab{5}\spadcommand{k: H := i * j\free{H i j }\bound{k }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordQuaternPagePatch7} +\begin{paste}{ugxCliffordQuaternPageFull7}{ugxCliffordQuaternPageEmpty7} +\pastebutton{ugxCliffordQuaternPageFull7}{\hidepaste} +\tab{5}\spadcommand{x := a + b * i + c * j + d * k\free{i j k }\bound{x }} +\indentrel{3}\begin{verbatim} + (7) a + b e + c e + d e e + 1 2 1 2 +Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordQuaternPageEmpty7} +\begin{paste}{ugxCliffordQuaternPageEmpty7}{ugxCliffordQuaternPagePatch7} +\pastebutton{ugxCliffordQuaternPageEmpty7}{\showpaste} +\tab{5}\spadcommand{x := a + b * i + c * j + d * k\free{i j k }\bound{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordQuaternPagePatch8} +\begin{paste}{ugxCliffordQuaternPageFull8}{ugxCliffordQuaternPageEmpty8} +\pastebutton{ugxCliffordQuaternPageFull8}{\hidepaste} +\tab{5}\spadcommand{y := e + f * i + g * j + h * k\free{i j k }\bound{y }} +\indentrel{3}\begin{verbatim} + (8) e + f e + g e + h e e + 1 2 1 2 +Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordQuaternPageEmpty8} +\begin{paste}{ugxCliffordQuaternPageEmpty8}{ugxCliffordQuaternPagePatch8} +\pastebutton{ugxCliffordQuaternPageEmpty8}{\showpaste} +\tab{5}\spadcommand{y := e + f * i + g * j + h * k\free{i j k }\bound{y }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordQuaternPagePatch9} +\begin{paste}{ugxCliffordQuaternPageFull9}{ugxCliffordQuaternPageEmpty9} +\pastebutton{ugxCliffordQuaternPageFull9}{\hidepaste} +\tab{5}\spadcommand{x + y\free{x y }} +\indentrel{3}\begin{verbatim} + (9) e + a + (f + b)e + (g + c)e + (h + d)e e + 1 2 1 2 +Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordQuaternPageEmpty9} +\begin{paste}{ugxCliffordQuaternPageEmpty9}{ugxCliffordQuaternPagePatch9} +\pastebutton{ugxCliffordQuaternPageEmpty9}{\showpaste} +\tab{5}\spadcommand{x + y\free{x y }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordQuaternPagePatch10} +\begin{paste}{ugxCliffordQuaternPageFull10}{ugxCliffordQuaternPageEmpty10} +\pastebutton{ugxCliffordQuaternPageFull10}{\hidepaste} +\tab{5}\spadcommand{x * y\free{x y }} +\indentrel{3}\begin{verbatim} + (10) + - d h - c g - b f + a e + (c h - d g + a f + b e)e + 1 + + + (- b h + a g + d f + c e)e + 2 + + + (a h + b g - c f + d e)e e + 1 2 +Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordQuaternPageEmpty10} +\begin{paste}{ugxCliffordQuaternPageEmpty10}{ugxCliffordQuaternPagePatch10} +\pastebutton{ugxCliffordQuaternPageEmpty10}{\showpaste} +\tab{5}\spadcommand{x * y\free{x y }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordQuaternPagePatch11} +\begin{paste}{ugxCliffordQuaternPageFull11}{ugxCliffordQuaternPageEmpty11} +\pastebutton{ugxCliffordQuaternPageFull11}{\hidepaste} +\tab{5}\spadcommand{y * x\free{x y }} +\indentrel{3}\begin{verbatim} + (11) + - d h - c g - b f + a e + (- c h + d g + a f + b e)e + 1 + + + (b h + a g - d f + c e)e + (a h - b g + c f + d e)e e + 2 1 2 +Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordQuaternPageEmpty11} +\begin{paste}{ugxCliffordQuaternPageEmpty11}{ugxCliffordQuaternPagePatch11} +\pastebutton{ugxCliffordQuaternPageEmpty11}{\showpaste} +\tab{5}\spadcommand{y * x\free{x y }} +\end{paste}\end{patch} + @ \pagehead{ugxCliffordExteriorPage}{clif.ht} {The Exterior Algebra on a Three Space} @@ -3938,6 +7530,199 @@ The vector cross product is then given by this. \autobuttons \end{page} +\begin{patch}{ugxCliffordExteriorPagePatch1} +\begin{paste}{ugxCliffordExteriorPageFull1}{ugxCliffordExteriorPageEmpty1} +\pastebutton{ugxCliffordExteriorPageFull1}{\hidepaste} +\tab{5}\spadcommand{K := Fraction Polynomial Integer\bound{K }} +\indentrel{3}\begin{verbatim} + (1) Fraction Polynomial Integer + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordExteriorPageEmpty1} +\begin{paste}{ugxCliffordExteriorPageEmpty1}{ugxCliffordExteriorPagePatch1} +\pastebutton{ugxCliffordExteriorPageEmpty1}{\showpaste} +\tab{5}\spadcommand{K := Fraction Polynomial Integer\bound{K }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordExteriorPagePatch2} +\begin{paste}{ugxCliffordExteriorPageFull2}{ugxCliffordExteriorPageEmpty2} +\pastebutton{ugxCliffordExteriorPageFull2}{\hidepaste} +\tab{5}\spadcommand{ +Ext := CliffordAlgebra(3, K, quadraticForm 0)\bound{Ext }\free{K }} +\indentrel{3}\begin{verbatim} + (2) + CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordExteriorPageEmpty2} +\begin{paste}{ugxCliffordExteriorPageEmpty2}{ugxCliffordExteriorPagePatch2} +\pastebutton{ugxCliffordExteriorPageEmpty2}{\showpaste} +\tab{5}\spadcommand{ +Ext := CliffordAlgebra(3, K, quadraticForm 0)\bound{Ext }\free{K }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordExteriorPagePatch3} +\begin{paste}{ugxCliffordExteriorPageFull3}{ugxCliffordExteriorPageEmpty3} +\pastebutton{ugxCliffordExteriorPageFull3}{\hidepaste} +\tab{5}\spadcommand{i: Ext := e(1)\free{Ext }\bound{i }} +\indentrel{3}\begin{verbatim} + (3) e + 1 +Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordExteriorPageEmpty3} +\begin{paste}{ugxCliffordExteriorPageEmpty3}{ugxCliffordExteriorPagePatch3} +\pastebutton{ugxCliffordExteriorPageEmpty3}{\showpaste} +\tab{5}\spadcommand{i: Ext := e(1)\free{Ext }\bound{i }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordExteriorPagePatch4} +\begin{paste}{ugxCliffordExteriorPageFull4}{ugxCliffordExteriorPageEmpty4} +\pastebutton{ugxCliffordExteriorPageFull4}{\hidepaste} +\tab{5}\spadcommand{j: Ext := e(2)\free{Ext }\bound{j }} +\indentrel{3}\begin{verbatim} + (4) e + 2 +Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordExteriorPageEmpty4} +\begin{paste}{ugxCliffordExteriorPageEmpty4}{ugxCliffordExteriorPagePatch4} +\pastebutton{ugxCliffordExteriorPageEmpty4}{\showpaste} +\tab{5}\spadcommand{j: Ext := e(2)\free{Ext }\bound{j }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordExteriorPagePatch5} +\begin{paste}{ugxCliffordExteriorPageFull5}{ugxCliffordExteriorPageEmpty5} +\pastebutton{ugxCliffordExteriorPageFull5}{\hidepaste} +\tab{5}\spadcommand{k: Ext := e(3)\free{Ext }\bound{k }} +\indentrel{3}\begin{verbatim} + (5) e + 3 +Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordExteriorPageEmpty5} +\begin{paste}{ugxCliffordExteriorPageEmpty5}{ugxCliffordExteriorPagePatch5} +\pastebutton{ugxCliffordExteriorPageEmpty5}{\showpaste} +\tab{5}\spadcommand{k: Ext := e(3)\free{Ext }\bound{k }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordExteriorPagePatch6} +\begin{paste}{ugxCliffordExteriorPageFull6}{ugxCliffordExteriorPageEmpty6} +\pastebutton{ugxCliffordExteriorPageFull6}{\hidepaste} +\tab{5}\spadcommand{x := x1*i + x2*j + x3*k\free{i j k }\bound{x }} +\indentrel{3}\begin{verbatim} + (6) x1 e + x2 e + x3 e + 1 2 3 +Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordExteriorPageEmpty6} +\begin{paste}{ugxCliffordExteriorPageEmpty6}{ugxCliffordExteriorPagePatch6} +\pastebutton{ugxCliffordExteriorPageEmpty6}{\showpaste} +\tab{5}\spadcommand{x := x1*i + x2*j + x3*k\free{i j k }\bound{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordExteriorPagePatch7} +\begin{paste}{ugxCliffordExteriorPageFull7}{ugxCliffordExteriorPageEmpty7} +\pastebutton{ugxCliffordExteriorPageFull7}{\hidepaste} +\tab{5}\spadcommand{y := y1*i + y2*j + y3*k\free{i j k }\bound{y }} +\indentrel{3}\begin{verbatim} + (7) y1 e + y2 e + y3 e + 1 2 3 +Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordExteriorPageEmpty7} +\begin{paste}{ugxCliffordExteriorPageEmpty7}{ugxCliffordExteriorPagePatch7} +\pastebutton{ugxCliffordExteriorPageEmpty7}{\showpaste} +\tab{5}\spadcommand{y := y1*i + y2*j + y3*k\free{i j k }\bound{y }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordExteriorPagePatch8} +\begin{paste}{ugxCliffordExteriorPageFull8}{ugxCliffordExteriorPageEmpty8} +\pastebutton{ugxCliffordExteriorPageFull8}{\hidepaste} +\tab{5}\spadcommand{x + y\free{x y }} +\indentrel{3}\begin{verbatim} + (8) (y1 + x1)e + (y2 + x2)e + (y3 + x3)e + 1 2 3 +Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordExteriorPageEmpty8} +\begin{paste}{ugxCliffordExteriorPageEmpty8}{ugxCliffordExteriorPagePatch8} +\pastebutton{ugxCliffordExteriorPageEmpty8}{\showpaste} +\tab{5}\spadcommand{x + y\free{x y }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordExteriorPagePatch9} +\begin{paste}{ugxCliffordExteriorPageFull9}{ugxCliffordExteriorPageEmpty9} +\pastebutton{ugxCliffordExteriorPageFull9}{\hidepaste} +\tab{5}\spadcommand{x * y + y * x\free{x y }} +\indentrel{3}\begin{verbatim} + (9) 0 +Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordExteriorPageEmpty9} +\begin{paste}{ugxCliffordExteriorPageEmpty9}{ugxCliffordExteriorPagePatch9} +\pastebutton{ugxCliffordExteriorPageEmpty9}{\showpaste} +\tab{5}\spadcommand{x * y + y * x\free{x y }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordExteriorPagePatch10} +\begin{paste}{ugxCliffordExteriorPageFull10}{ugxCliffordExteriorPageEmpty10} +\pastebutton{ugxCliffordExteriorPageFull10}{\hidepaste} +\tab{5}\spadcommand{ +dual2 a == coefficient(a,[2,3]) * i + coefficient(a,[3,1]) * _ + j + coefficient(a,[1,2]) * k\free{i j k }\bound{dual2 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordExteriorPageEmpty10} +\begin{paste}{ugxCliffordExteriorPageEmpty10}{ugxCliffordExteriorPagePatch10} +\pastebutton{ugxCliffordExteriorPageEmpty10}{\showpaste} +\tab{5}\spadcommand{ +dual2 a == coefficient(a,[2,3]) * i + coefficient(a,[3,1]) * _ + j + coefficient(a,[1,2]) * k\free{i j k }\bound{dual2 }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordExteriorPagePatch11} +\begin{paste}{ugxCliffordExteriorPageFull11}{ugxCliffordExteriorPageEmpty11} +\pastebutton{ugxCliffordExteriorPageFull11}{\hidepaste} +\tab{5}\spadcommand{dual2(x*y)\free{x y dual2 }} +\indentrel{3}\begin{verbatim} + (11) + (x2 y3 - x3 y2)e + (- x1 y3 + x3 y1)e + 1 2 + + + (x1 y2 - x2 y1)e + 3 +Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordExteriorPageEmpty11} +\begin{paste}{ugxCliffordExteriorPageEmpty11}{ugxCliffordExteriorPagePatch11} +\pastebutton{ugxCliffordExteriorPageEmpty11}{\showpaste} +\tab{5}\spadcommand{dual2(x*y)\free{x y dual2 }} +\end{paste}\end{patch} + @ \pagehead{ugxCliffordDiracPage}{clif.ht}{The Dirac Spin Algebra} <>= @@ -4000,6 +7785,139 @@ for t in 1..4]) \bound{lhs}\free{g gam m n r s}} \autobuttons \end{page} +\begin{patch}{ugxCliffordDiracPagePatch1} +\begin{paste}{ugxCliffordDiracPageFull1}{ugxCliffordDiracPageEmpty1} +\pastebutton{ugxCliffordDiracPageFull1}{\hidepaste} +\tab{5}\spadcommand{K := Fraction Integer\bound{K }} +\indentrel{3}\begin{verbatim} + (1) Fraction Integer + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordDiracPageEmpty1} +\begin{paste}{ugxCliffordDiracPageEmpty1}{ugxCliffordDiracPagePatch1} +\pastebutton{ugxCliffordDiracPageEmpty1}{\showpaste} +\tab{5}\spadcommand{K := Fraction Integer\bound{K }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordDiracPagePatch2} +\begin{paste}{ugxCliffordDiracPageFull2}{ugxCliffordDiracPageEmpty2} +\pastebutton{ugxCliffordDiracPageFull2}{\hidepaste} +\tab{5}\spadcommand{g := matrix [[1,0,0,0], [0,-1,0,0], [0,0,-1,0], [0,0,0,-1]]\bound{g }} +\indentrel{3}\begin{verbatim} + Ú1 0 0 0 ¿ + ³ ³ + ³0 - 1 0 0 ³ + (2) ³ ³ + ³0 0 - 1 0 ³ + ³ ³ + À0 0 0 - 1Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordDiracPageEmpty2} +\begin{paste}{ugxCliffordDiracPageEmpty2}{ugxCliffordDiracPagePatch2} +\pastebutton{ugxCliffordDiracPageEmpty2}{\showpaste} +\tab{5}\spadcommand{ +g := matrix [[1,0,0,0], [0,-1,0,0], [0,0,-1,0], [0,0,0,-1]]\bound{g }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordDiracPagePatch3} +\begin{paste}{ugxCliffordDiracPageFull3}{ugxCliffordDiracPageEmpty3} +\pastebutton{ugxCliffordDiracPageFull3}{\hidepaste} +\tab{5}\spadcommand{ +D := CliffordAlgebra(4,K, quadraticForm g)\free{K g }\bound{D }} +\indentrel{3}\begin{verbatim} + (3) CliffordAlgebra(4,Fraction Integer,MATRIX) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordDiracPageEmpty3} +\begin{paste}{ugxCliffordDiracPageEmpty3}{ugxCliffordDiracPagePatch3} +\pastebutton{ugxCliffordDiracPageEmpty3}{\showpaste} +\tab{5}\spadcommand{ +D := CliffordAlgebra(4,K, quadraticForm g)\free{K g }\bound{D }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordDiracPagePatch4} +\begin{paste}{ugxCliffordDiracPageFull4}{ugxCliffordDiracPageEmpty4} +\pastebutton{ugxCliffordDiracPageFull4}{\hidepaste} +\tab{5}\spadcommand{gam := [e(i)$D for i in 1..4]\free{D }\bound{gam }} +\indentrel{3}\begin{verbatim} + (4) [e ,e ,e ,e ] + 1 2 3 4 + Type: List CliffordAlgebra(4,Fraction Integer,MATRIX) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordDiracPageEmpty4} +\begin{paste}{ugxCliffordDiracPageEmpty4}{ugxCliffordDiracPagePatch4} +\pastebutton{ugxCliffordDiracPageEmpty4}{\showpaste} +\tab{5}\spadcommand{gam := [e(i)$D for i in 1..4]\free{D }\bound{gam }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordDiracPagePatch5} +\begin{paste}{ugxCliffordDiracPageFull5}{ugxCliffordDiracPageEmpty5} +\pastebutton{ugxCliffordDiracPageFull5}{\hidepaste} +\tab{5}\spadcommand{m := 1; n:= 2; r := 3; s := 4;\bound{m n r s }} +\indentrel{3}\begin{verbatim} + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordDiracPageEmpty5} +\begin{paste}{ugxCliffordDiracPageEmpty5}{ugxCliffordDiracPagePatch5} +\pastebutton{ugxCliffordDiracPageEmpty5}{\showpaste} +\tab{5}\spadcommand{m := 1; n:= 2; r := 3; s := 4;\bound{m n r s }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordDiracPagePatch6} +\begin{paste}{ugxCliffordDiracPageFull6}{ugxCliffordDiracPageEmpty6} +\pastebutton{ugxCliffordDiracPageFull6}{\hidepaste} +\tab{5}\spadcommand{ +lhs := reduce(+, [reduce(+, _ + [ g(l,t)*gam(l)*gam(m)*gam(n)*gam(r)*gam(s)*gam(t) for l in 1..4]) _ + for t in 1..4])\bound{lhs }\free{g gam m n r s }} +\indentrel{3}\begin{verbatim} + (6) - 4e e e e + 1 2 3 4 + Type: CliffordAlgebra(4,Fraction Integer,MATRIX) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordDiracPageEmpty6} +\begin{paste}{ugxCliffordDiracPageEmpty6}{ugxCliffordDiracPagePatch6} +\pastebutton{ugxCliffordDiracPageEmpty6}{\showpaste} +\tab{5}\spadcommand{ +lhs := reduce(+, [reduce(+, _ + [ g(l,t)*gam(l)*gam(m)*gam(n)*gam(r)*gam(s)*gam(t) for l in 1..4]) _ + for t in 1..4])\bound{lhs }\free{g gam m n r s }} +\end{paste}\end{patch} + +\begin{patch}{ugxCliffordDiracPagePatch7} +\begin{paste}{ugxCliffordDiracPageFull7}{ugxCliffordDiracPageEmpty7} +\pastebutton{ugxCliffordDiracPageFull7}{\hidepaste} +\tab{5}\spadcommand{ +rhs := 2*(gam s * gam m*gam n*gam r + gam r*gam n*gam m*gam s) +\bound{rhs }\free{lhs g gam m n r s }} +\indentrel{3}\begin{verbatim} + (7) - 4e e e e + 1 2 3 4 + Type: CliffordAlgebra(4,Fraction Integer,MATRIX) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxCliffordDiracPageEmpty7} +\begin{paste}{ugxCliffordDiracPageEmpty7}{ugxCliffordDiracPagePatch7} +\pastebutton{ugxCliffordDiracPageEmpty7}{\showpaste} +\tab{5}\spadcommand{ +rhs := 2*(gam s * gam m*gam n*gam r + gam r*gam n*gam m*gam s) +\bound{rhs }\free{lhs g gam m n r s }} +\end{paste}\end{patch} + @ \section{complex.ht} \pagehead{ComplexXmpPage}{complex.ht}{Complex} @@ -4107,6 +8025,283 @@ You can \spadfunFrom{factor}{Complex} Gaussian integers. \autobuttons \end{page} +\begin{patch}{ComplexXmpPagePatch1} +\begin{paste}{ComplexXmpPageFull1}{ComplexXmpPageEmpty1} +\pastebutton{ComplexXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{a := complex(4/3,5/2)\bound{a }} +\indentrel{3}\begin{verbatim} + 4 5 + (1) Ä + Ä %i + 3 2 + Type: Complex Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPageEmpty1} +\begin{paste}{ComplexXmpPageEmpty1}{ComplexXmpPagePatch1} +\pastebutton{ComplexXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{a := complex(4/3,5/2)\bound{a }} +\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPagePatch2} +\begin{paste}{ComplexXmpPageFull2}{ComplexXmpPageEmpty2} +\pastebutton{ComplexXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{b := complex(4/3,-5/2)\bound{b }} +\indentrel{3}\begin{verbatim} + 4 5 + (2) Ä - Ä %i + 3 2 + Type: Complex Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPageEmpty2} +\begin{paste}{ComplexXmpPageEmpty2}{ComplexXmpPagePatch2} +\pastebutton{ComplexXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{b := complex(4/3,-5/2)\bound{b }} +\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPagePatch3} +\begin{paste}{ComplexXmpPageFull3}{ComplexXmpPageEmpty3} +\pastebutton{ComplexXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{a + b\free{a b }} +\indentrel{3}\begin{verbatim} + 8 + (3) Ä + 3 + Type: Complex Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPageEmpty3} +\begin{paste}{ComplexXmpPageEmpty3}{ComplexXmpPagePatch3} +\pastebutton{ComplexXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{a + b\free{a b }} +\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPagePatch4} +\begin{paste}{ComplexXmpPageFull4}{ComplexXmpPageEmpty4} +\pastebutton{ComplexXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{a - b\free{a b }} +\indentrel{3}\begin{verbatim} + (4) 5%i + Type: Complex Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPageEmpty4} +\begin{paste}{ComplexXmpPageEmpty4}{ComplexXmpPagePatch4} +\pastebutton{ComplexXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{a - b\free{a b }} +\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPagePatch5} +\begin{paste}{ComplexXmpPageFull5}{ComplexXmpPageEmpty5} +\pastebutton{ComplexXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{a * b\free{a b }} +\indentrel{3}\begin{verbatim} + 289 + (5) ÄÄÄ + 36 + Type: Complex Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPageEmpty5} +\begin{paste}{ComplexXmpPageEmpty5}{ComplexXmpPagePatch5} +\pastebutton{ComplexXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{a * b\free{a b }} +\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPagePatch6} +\begin{paste}{ComplexXmpPageFull6}{ComplexXmpPageEmpty6} +\pastebutton{ComplexXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{a / b\free{a b }\bound{adb }} +\indentrel{3}\begin{verbatim} + 161 240 + (6) - ÄÄÄ + ÄÄÄ %i + 289 289 + Type: Complex Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPageEmpty6} +\begin{paste}{ComplexXmpPageEmpty6}{ComplexXmpPagePatch6} +\pastebutton{ComplexXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{a / b\free{a b }\bound{adb }} +\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPagePatch7} +\begin{paste}{ComplexXmpPageFull7}{ComplexXmpPageEmpty7} +\pastebutton{ComplexXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{\% :: Fraction Complex Integer\free{adb }} +\indentrel{3}\begin{verbatim} + - 15 + 8%i + (7) ÄÄÄÄÄÄÄÄÄÄ + 15 + 8%i + Type: Fraction Complex Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPageEmpty7} +\begin{paste}{ComplexXmpPageEmpty7}{ComplexXmpPagePatch7} +\pastebutton{ComplexXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{\% :: Fraction Complex Integer\free{adb }} +\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPagePatch8} +\begin{paste}{ComplexXmpPageFull8}{ComplexXmpPageEmpty8} +\pastebutton{ComplexXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{3.4 + 6.7 * \%i} +\indentrel{3}\begin{verbatim} + (8) 3.4 + 6.7 %i + Type: Complex Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPageEmpty8} +\begin{paste}{ComplexXmpPageEmpty8}{ComplexXmpPagePatch8} +\pastebutton{ComplexXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{3.4 + 6.7 * \%i} +\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPagePatch9} +\begin{paste}{ComplexXmpPageFull9}{ComplexXmpPageEmpty9} +\pastebutton{ComplexXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{conjugate a\free{a }} +\indentrel{3}\begin{verbatim} + 4 5 + (9) Ä - Ä %i + 3 2 + Type: Complex Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPageEmpty9} +\begin{paste}{ComplexXmpPageEmpty9}{ComplexXmpPagePatch9} +\pastebutton{ComplexXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{conjugate a\free{a }} +\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPagePatch10} +\begin{paste}{ComplexXmpPageFull10}{ComplexXmpPageEmpty10} +\pastebutton{ComplexXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{norm a\free{a }} +\indentrel{3}\begin{verbatim} + 289 + (10) ÄÄÄ + 36 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPageEmpty10} +\begin{paste}{ComplexXmpPageEmpty10}{ComplexXmpPagePatch10} +\pastebutton{ComplexXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{norm a\free{a }} +\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPagePatch11} +\begin{paste}{ComplexXmpPageFull11}{ComplexXmpPageEmpty11} +\pastebutton{ComplexXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{real a\free{a }} +\indentrel{3}\begin{verbatim} + 4 + (11) Ä + 3 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPageEmpty11} +\begin{paste}{ComplexXmpPageEmpty11}{ComplexXmpPagePatch11} +\pastebutton{ComplexXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{real a\free{a }} +\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPagePatch12} +\begin{paste}{ComplexXmpPageFull12}{ComplexXmpPageEmpty12} +\pastebutton{ComplexXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{imag a\free{a }} +\indentrel{3}\begin{verbatim} + 5 + (12) Ä + 2 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPageEmpty12} +\begin{paste}{ComplexXmpPageEmpty12}{ComplexXmpPagePatch12} +\pastebutton{ComplexXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{imag a\free{a }} +\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPagePatch13} +\begin{paste}{ComplexXmpPageFull13}{ComplexXmpPageEmpty13} +\pastebutton{ComplexXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{gcd(13 - 13*\%i,31 + 27*\%i)} +\indentrel{3}\begin{verbatim} + (13) 5 + %i + Type: Complex Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPageEmpty13} +\begin{paste}{ComplexXmpPageEmpty13}{ComplexXmpPagePatch13} +\pastebutton{ComplexXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{gcd(13 - 13*\%i,31 + 27*\%i)} +\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPagePatch14} +\begin{paste}{ComplexXmpPageFull14}{ComplexXmpPageEmpty14} +\pastebutton{ComplexXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{lcm(13 - 13*\%i,31 + 27*\%i)} +\indentrel{3}\begin{verbatim} + (14) 143 - 39%i + Type: Complex Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPageEmpty14} +\begin{paste}{ComplexXmpPageEmpty14}{ComplexXmpPagePatch14} +\pastebutton{ComplexXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{lcm(13 - 13*\%i,31 + 27*\%i)} +\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPagePatch15} +\begin{paste}{ComplexXmpPageFull15}{ComplexXmpPageEmpty15} +\pastebutton{ComplexXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{factor(13 - 13*\%i)} +\indentrel{3}\begin{verbatim} + (15) - (1 + %i)(2 + 3%i)(3 + 2%i) + Type: Factored Complex Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPageEmpty15} +\begin{paste}{ComplexXmpPageEmpty15}{ComplexXmpPagePatch15} +\pastebutton{ComplexXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{factor(13 - 13*\%i)} +\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPagePatch16} +\begin{paste}{ComplexXmpPageFull16}{ComplexXmpPageEmpty16} +\pastebutton{ComplexXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{factor complex(2,0)} +\indentrel{3}\begin{verbatim} + 2 + (16) - %i (1 + %i) + Type: Factored Complex Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ComplexXmpPageEmpty16} +\begin{paste}{ComplexXmpPageEmpty16}{ComplexXmpPagePatch16} +\pastebutton{ComplexXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{factor complex(2,0)} +\end{paste}\end{patch} + @ \section{contfrac.ht} \pagehead{ContinuedFractionXmpPage}{contfrac.ht}{ContinuedFraction} @@ -4412,6 +8607,508 @@ is the expansion of \texht{$\sqrt{11}$}{the square root of \spad{11}}. \autobuttons \end{page} +\begin{patch}{ContinuedFractionXmpPagePatch1} +\begin{paste}{ContinuedFractionXmpPageFull1}{ContinuedFractionXmpPageEmpty1} +\pastebutton{ContinuedFractionXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{c := continuedFraction(314159/100000)\bound{c }} +\indentrel{3}\begin{verbatim} + (1) + 1 ³ 1 ³ 1 ³ 1 ³ 1 ³ 1 ³ + 3 + ÚÄÄÄÙ + ÚÄÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÙ + ³ 7 ³ 15 ³ 1 ³ 25 ³ 1 ³ 7 + + + 1 ³ + ÚÄÄÄÙ + ³ 4 + Type: ContinuedFraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPageEmpty1} +\begin{paste}{ContinuedFractionXmpPageEmpty1} +{ContinuedFractionXmpPagePatch1} +\pastebutton{ContinuedFractionXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{c := continuedFraction(314159/100000)\bound{c }} +\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPagePatch2} +\begin{paste}{ContinuedFractionXmpPageFull2} +{ContinuedFractionXmpPageEmpty2} +\pastebutton{ContinuedFractionXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{partialQuotients c\free{c }} +\indentrel{3}\begin{verbatim} + (2) [3,7,15,1,25,1,7,4] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPageEmpty2} +\begin{paste}{ContinuedFractionXmpPageEmpty2} +{ContinuedFractionXmpPagePatch2} +\pastebutton{ContinuedFractionXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{partialQuotients c\free{c }} +\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPagePatch3} +\begin{paste}{ContinuedFractionXmpPageFull3} +{ContinuedFractionXmpPageEmpty3} +\pastebutton{ContinuedFractionXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{convergents c\free{c }} +\indentrel{3}\begin{verbatim} + 22 333 355 9208 9563 76149 314159 + (3) [3,ÄÄ,ÄÄÄ,ÄÄÄ,ÄÄÄÄ,ÄÄÄÄ,ÄÄÄÄÄ,ÄÄÄÄÄÄ] + 7 106 113 2931 3044 24239 100000 + Type: Stream Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPageEmpty3} +\begin{paste}{ContinuedFractionXmpPageEmpty3} +{ContinuedFractionXmpPagePatch3} +\pastebutton{ContinuedFractionXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{convergents c\free{c }} +\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPagePatch4} +\begin{paste}{ContinuedFractionXmpPageFull4} +{ContinuedFractionXmpPageEmpty4} +\pastebutton{ContinuedFractionXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{approximants c\free{c }} +\indentrel{3}\begin{verbatim} + ______ + 22 333 355 9208 9563 76149 314159 + (4) [3,ÄÄ,ÄÄÄ,ÄÄÄ,ÄÄÄÄ,ÄÄÄÄ,ÄÄÄÄÄ,ÄÄÄÄÄÄ] + 7 106 113 2931 3044 24239 100000 + Type: Stream Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPageEmpty4} +\begin{paste}{ContinuedFractionXmpPageEmpty4} +{ContinuedFractionXmpPagePatch4} +\pastebutton{ContinuedFractionXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{approximants c\free{c }} +\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPagePatch5} +\begin{paste}{ContinuedFractionXmpPageFull5} +{ContinuedFractionXmpPageEmpty5} +\pastebutton{ContinuedFractionXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{pq := partialQuotients(1/c)\free{c }\bound{pq }} +\indentrel{3}\begin{verbatim} + (5) [0,3,7,15,1,25,1,7,4] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPageEmpty5} +\begin{paste}{ContinuedFractionXmpPageEmpty5} +{ContinuedFractionXmpPagePatch5} +\pastebutton{ContinuedFractionXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{pq := partialQuotients(1/c)\free{c }\bound{pq }} +\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPagePatch6} +\begin{paste}{ContinuedFractionXmpPageFull6} +{ContinuedFractionXmpPageEmpty6} +\pastebutton{ContinuedFractionXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{ +continuedFraction(first pq,repeating [1],rest pq)\free{pq }} +\indentrel{3}\begin{verbatim} + (6) + 1 ³ 1 ³ 1 ³ 1 ³ 1 ³ 1 ³ + ÚÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÄÙ + ÚÄÄÄÙ + ³ 3 ³ 7 ³ 15 ³ 1 ³ 25 ³ 1 + + + 1 ³ 1 ³ + ÚÄÄÄÙ + ÚÄÄÄÙ + ³ 7 ³ 4 + Type: ContinuedFraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPageEmpty6} +\begin{paste}{ContinuedFractionXmpPageEmpty6} +{ContinuedFractionXmpPagePatch6} +\pastebutton{ContinuedFractionXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{ +continuedFraction(first pq,repeating [1],rest pq)\free{pq }} +\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPagePatch7} +\begin{paste}{ContinuedFractionXmpPageFull7} +{ContinuedFractionXmpPageEmpty7} +\pastebutton{ContinuedFractionXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{ +z:=continuedFraction(3,repeating [1],repeating [3,6])\bound{z }} +\indentrel{3}\begin{verbatim} + (7) + 1 ³ 1 ³ 1 ³ 1 ³ 1 ³ 1 ³ + 3 + ÚÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÙ + ³ 3 ³ 6 ³ 3 ³ 6 ³ 3 ³ 6 + + + 1 ³ 1 ³ 1 ³ 1 ³ + ÚÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÙ + ... + ³ 3 ³ 6 ³ 3 ³ 6 + Type: ContinuedFraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPageEmpty7} +\begin{paste}{ContinuedFractionXmpPageEmpty7} +{ContinuedFractionXmpPagePatch7} +\pastebutton{ContinuedFractionXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{ +z:=continuedFraction(3,repeating [1],repeating [3,6])\bound{z }} +\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPagePatch8} +\begin{paste}{ContinuedFractionXmpPageFull8} +{ContinuedFractionXmpPageEmpty8} +\pastebutton{ContinuedFractionXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{ +dens:Stream Integer := cons(1,generate((x+->x+4),6))\bound{dens }} +\indentrel{3}\begin{verbatim} + (8) [1,6,10,14,18,22,26,30,34,38,...] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPageEmpty8} +\begin{paste}{ContinuedFractionXmpPageEmpty8} +{ContinuedFractionXmpPagePatch8} +\pastebutton{ContinuedFractionXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{ +dens:Stream Integer := cons(1,generate((x+->x+4),6))\bound{dens }} +\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPagePatch9} +\begin{paste}{ContinuedFractionXmpPageFull9} +{ContinuedFractionXmpPageEmpty9} +\pastebutton{ContinuedFractionXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{ +cf := continuedFraction(0,repeating [1],dens)\free{dens }\bound{cf }} +\indentrel{3}\begin{verbatim} + (9) + 1 ³ 1 ³ 1 ³ 1 ³ 1 ³ 1 ³ + ÚÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÄÙ + ÚÄÄÄÄÙ + ÚÄÄÄÄÙ + ÚÄÄÄÄÙ + ³ 1 ³ 6 ³ 10 ³ 14 ³ 18 ³ 22 + + + 1 ³ 1 ³ 1 ³ 1 ³ + ÚÄÄÄÄÙ + ÚÄÄÄÄÙ + ÚÄÄÄÄÙ + ÚÄÄÄÄÙ + ... + ³ 26 ³ 30 ³ 34 ³ 38 + Type: ContinuedFraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPageEmpty9} +\begin{paste}{ContinuedFractionXmpPageEmpty9} +{ContinuedFractionXmpPagePatch9} +\pastebutton{ContinuedFractionXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{ +cf := continuedFraction(0,repeating [1],dens)\free{dens }\bound{cf }} +\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPagePatch10} +\begin{paste}{ContinuedFractionXmpPageFull10} +{ContinuedFractionXmpPageEmpty10} +\pastebutton{ContinuedFractionXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{ccf := convergents cf\free{cf }\bound{ccf }} +\indentrel{3}\begin{verbatim} + (10) + 6 61 860 15541 342762 8927353 + [0, 1, Ä, ÄÄ, ÄÄÄÄ, ÄÄÄÄÄ, ÄÄÄÄÄÄ, ÄÄÄÄÄÄÄÄ, + 7 71 1001 18089 398959 10391023 + 268163352 9126481321 + ÄÄÄÄÄÄÄÄÄ, ÄÄÄÄÄÄÄÄÄÄÄ, ...] + 312129649 10622799089 + Type: Stream Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPageEmpty10} +\begin{paste}{ContinuedFractionXmpPageEmpty10} +{ContinuedFractionXmpPagePatch10} +\pastebutton{ContinuedFractionXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{ccf := convergents cf\free{cf }\bound{ccf }} +\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPagePatch11} +\begin{paste}{ContinuedFractionXmpPageFull11} +{ContinuedFractionXmpPageEmpty11} +\pastebutton{ContinuedFractionXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{ +eConvergents := [2*e + 1 for e in ccf]\bound{ec }\free{ccf }} +\indentrel{3}\begin{verbatim} + (11) + 19 193 2721 49171 1084483 28245729 + [1, 3, ÄÄ, ÄÄÄ, ÄÄÄÄ, ÄÄÄÄÄ, ÄÄÄÄÄÄÄ, ÄÄÄÄÄÄÄÄ, + 7 71 1001 18089 398959 10391023 + 848456353 28875761731 + ÄÄÄÄÄÄÄÄÄ, ÄÄÄÄÄÄÄÄÄÄÄ, ...] + 312129649 10622799089 + Type: Stream Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPageEmpty11} +\begin{paste}{ContinuedFractionXmpPageEmpty11} +{ContinuedFractionXmpPagePatch11} +\pastebutton{ContinuedFractionXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{ +eConvergents := [2*e + 1 for e in ccf]\bound{ec }\free{ccf }} +\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPagePatch12} +\begin{paste}{ContinuedFractionXmpPageFull12} +{ContinuedFractionXmpPageEmpty12} +\pastebutton{ContinuedFractionXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{eConvergents :: Stream Float\free{ec }} +\indentrel{3}\begin{verbatim} + (12) + [1.0, 3.0, 2.7142857142 857142857, + 2.7183098591 549295775, 2.7182817182 817182817, + 2.7182818287 356957267, 2.7182818284 585634113, + 2.7182818284 590458514, 2.7182818284 590452348, + 2.7182818284 590452354, ...] + Type: Stream Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPageEmpty12} +\begin{paste}{ContinuedFractionXmpPageEmpty12} +{ContinuedFractionXmpPagePatch12} +\pastebutton{ContinuedFractionXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{eConvergents :: Stream Float\free{ec }} +\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPagePatch13} +\begin{paste}{ContinuedFractionXmpPageFull13} +{ContinuedFractionXmpPageEmpty13} +\pastebutton{ContinuedFractionXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{exp 1.0} +\indentrel{3}\begin{verbatim} + (13) 2.7182818284 590452354 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPageEmpty13} +\begin{paste}{ContinuedFractionXmpPageEmpty13} +{ContinuedFractionXmpPagePatch13} +\pastebutton{ContinuedFractionXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{exp 1.0} +\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPagePatch14} +\begin{paste}{ContinuedFractionXmpPageFull14} +{ContinuedFractionXmpPageEmpty14} +\pastebutton{ContinuedFractionXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{ +cf := continuedFraction(1,[(2*i+1)**2 for i in 0..],repeating [2]) +\bound{cf1 }} +\indentrel{3}\begin{verbatim} + (14) + 1 ³ 9 ³ 25 ³ 49 ³ 81 ³ + 1 + ÚÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÄÙ + ÚÄÄÄÄÙ + ÚÄÄÄÄÙ + ³ 2 ³ 2 ³ 2 ³ 2 ³ 2 + + + 121 ³ 169 ³ 225 ³ 289 ³ 361 ³ + ÚÄÄÄÄÄÙ + ÚÄÄÄÄÄÙ + ÚÄÄÄÄÄÙ + ÚÄÄÄÄÄÙ + ÚÄÄÄÄÄÙ + ... + ³ 2 ³ 2 ³ 2 ³ 2 ³ 2 + Type: ContinuedFraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPageEmpty14} +\begin{paste}{ContinuedFractionXmpPageEmpty14} +{ContinuedFractionXmpPagePatch14} +\pastebutton{ContinuedFractionXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{ +cf := continuedFraction(1,[(2*i+1)**2 for i in 0..],repeating [2]) +\bound{cf1 }} +\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPagePatch15} +\begin{paste}{ContinuedFractionXmpPageFull15} +{ContinuedFractionXmpPageEmpty15} +\pastebutton{ContinuedFractionXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{ccf := convergents cf\free{cf1 }\bound{ccf1 }} +\indentrel{3}\begin{verbatim} + (15) + 3 15 105 315 3465 45045 45045 765765 14549535 + [1,Ä,ÄÄ,ÄÄÄ,ÄÄÄ,ÄÄÄÄ,ÄÄÄÄÄ,ÄÄÄÄÄ,ÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄ,...] + 2 13 76 263 2578 36979 33976 622637 11064338 + Type: Stream Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPageEmpty15} +\begin{paste}{ContinuedFractionXmpPageEmpty15} +{ContinuedFractionXmpPagePatch15} +\pastebutton{ContinuedFractionXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{ccf := convergents cf\free{cf1 }\bound{ccf1 }} +\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPagePatch16} +\begin{paste}{ContinuedFractionXmpPageFull16} +{ContinuedFractionXmpPageEmpty16} +\pastebutton{ContinuedFractionXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{ +piConvergents := [4/p for p in ccf]\bound{piConvergents }\free{ccf1 }} +\indentrel{3}\begin{verbatim} + (16) + 8 52 304 1052 10312 147916 135904 2490548 + [4, Ä, ÄÄ, ÄÄÄ, ÄÄÄÄ, ÄÄÄÄÄ, ÄÄÄÄÄÄ, ÄÄÄÄÄÄ, ÄÄÄÄÄÄÄ, + 3 15 105 315 3465 45045 45045 765765 + 44257352 + ÄÄÄÄÄÄÄÄ, ...] + 14549535 + Type: Stream Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPageEmpty16} +\begin{paste}{ContinuedFractionXmpPageEmpty16} +{ContinuedFractionXmpPagePatch16} +\pastebutton{ContinuedFractionXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{ +piConvergents := [4/p for p in ccf]\bound{piConvergents }\free{ccf1 }} +\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPagePatch17} +\begin{paste}{ContinuedFractionXmpPageFull17} +{ContinuedFractionXmpPageEmpty17} +\pastebutton{ContinuedFractionXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{piConvergents :: Stream Float\free{piConvergents }} +\indentrel{3}\begin{verbatim} + (17) + [4.0, 2.6666666666 666666667, 3.4666666666 666666667, + 2.8952380952 380952381, 3.3396825396 825396825, + 2.9760461760 461760462, 3.2837384837 384837385, + 3.0170718170 718170718, 3.2523659347 188758953, + 3.0418396189 294022111, ...] + Type: Stream Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPageEmpty17} +\begin{paste}{ContinuedFractionXmpPageEmpty17} +{ContinuedFractionXmpPagePatch17} +\pastebutton{ContinuedFractionXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{piConvergents :: Stream Float\free{piConvergents }} +\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPagePatch18} +\begin{paste}{ContinuedFractionXmpPageFull18} +{ContinuedFractionXmpPageEmpty18} +\pastebutton{ContinuedFractionXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{continuedFraction((- 122 + 597*\%i)/(4 - 4*\%i))} +\indentrel{3}\begin{verbatim} + 1 ³ 1 ³ + (18) - 90 + 59%i + ÚÄÄÄÄÄÄÄÄÄÙ + ÚÄÄÄÄÄÄÄÄÄÄÄÙ + ³ 1 - 2%i ³ - 1 + 2%i + Type: ContinuedFraction Complex Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPageEmpty18} +\begin{paste}{ContinuedFractionXmpPageEmpty18} +{ContinuedFractionXmpPagePatch18} +\pastebutton{ContinuedFractionXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{continuedFraction((- 122 + 597*\%i)/(4 - 4*\%i))} +\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPagePatch19} +\begin{paste}{ContinuedFractionXmpPageFull19} +{ContinuedFractionXmpPageEmpty19} +\pastebutton{ContinuedFractionXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{ +r : Fraction UnivariatePolynomial(x,Fraction Integer)\bound{rdec }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPageEmpty19} +\begin{paste}{ContinuedFractionXmpPageEmpty19} +{ContinuedFractionXmpPagePatch19} +\pastebutton{ContinuedFractionXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{ +r : Fraction UnivariatePolynomial(x,Fraction Integer)\bound{rdec }} +\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPagePatch20} +\begin{paste}{ContinuedFractionXmpPageFull20} +{ContinuedFractionXmpPageEmpty20} +\pastebutton{ContinuedFractionXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{ +r := ((x - 1) * (x - 2)) / ((x-3) * (x-4))\free{rdec }\bound{r }} +\indentrel{3}\begin{verbatim} + 2 + x - 3x + 2 + (20) ÄÄÄÄÄÄÄÄÄÄÄÄ + 2 + x - 7x + 12 +Type: Fraction UnivariatePolynomial(x,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPageEmpty20} +\begin{paste}{ContinuedFractionXmpPageEmpty20} +{ContinuedFractionXmpPagePatch20} +\pastebutton{ContinuedFractionXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{ +r := ((x - 1) * (x - 2)) / ((x-3) * (x-4))\free{rdec }\bound{r }} +\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPagePatch21} +\begin{paste}{ContinuedFractionXmpPageFull21} +{ContinuedFractionXmpPageEmpty21} +\pastebutton{ContinuedFractionXmpPageFull21}{\hidepaste} +\tab{5}\spadcommand{continuedFraction r\free{r }} +\indentrel{3}\begin{verbatim} + 1 ³ 1 ³ + (21) 1 + ÚÄÄÄÄÄÄÄÄÄÙ + ÚÄÄÄÄÄÄÄÄÄÄÄÙ + ³ 1 9 ³ 16 40 + ³ Ä x - Ä ³ ÄÄ x - ÄÄ + ³ 4 8 ³ 3 3 +Type: ContinuedFraction UnivariatePolynomial(x,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPageEmpty21} +\begin{paste}{ContinuedFractionXmpPageEmpty21} +{ContinuedFractionXmpPagePatch21} +\pastebutton{ContinuedFractionXmpPageEmpty21}{\showpaste} +\tab{5}\spadcommand{continuedFraction r\free{r }} +\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPagePatch22} +\begin{paste}{ContinuedFractionXmpPageFull22} +{ContinuedFractionXmpPageEmpty22} +\pastebutton{ContinuedFractionXmpPageFull22}{\hidepaste} +\tab{5}\spadcommand{ +[i*i for i in convergents(z) :: Stream Float]\free{z }} +\indentrel{3}\begin{verbatim} + (22) + [9.0, 11.1111111111 11111111, 10.9944598337 9501385, + 11.0002777777 77777778, 10.9999860763 98799786, + 11.0000006979 29731039, 10.9999999650 15834446, + 11.0000000017 53603304, 10.9999999999 12099531, + 11.0000000000 04406066, ...] + Type: Stream Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ContinuedFractionXmpPageEmpty22} +\begin{paste}{ContinuedFractionXmpPageEmpty22} +{ContinuedFractionXmpPagePatch22} +\pastebutton{ContinuedFractionXmpPageEmpty22}{\showpaste} +\tab{5}\spadcommand{ +[i*i for i in convergents(z) :: Stream Float]\free{z }} +\end{paste}\end{patch} + @ \section{cphelp.ht} \pagehead{CPHelp}{cphelp.ht}{Control Panel Bits} @@ -4638,13 +9335,15 @@ The number of cubes with 4 red vertices and 4 blue vertices. The number of labeled graphs with degree sequence \spad{2 2 2 1 1} with no loops or multiple edges. }{ -\spadpaste{cap(complete 2**3*complete 1**2,wreath(elementary 4,elementary 2))} +\spadpaste{ +cap(complete 2**3*complete 1**2,wreath(elementary 4,elementary 2))} } \xtc{ Again, but with loops allowed but not multiple edges. }{ -\spadpaste{cap(complete 2**3*complete 1**2,wreath(elementary 4,complete 2))} +\spadpaste{ +cap(complete 2**3*complete 1**2,wreath(elementary 4,complete 2))} } \xtc{ Again, but @@ -4665,8 +9364,8 @@ we are at liberty to evaluate the components any way we please. For example we can produce enumerating generating functions. {CycleIndicators} -This is done by providing a function \spad{f} on an integer \spad{i} to the -value required of \subscriptIt{s}{i}, +This is done by providing a function \spad{f} on an integer \spad{i} +to the value required of \subscriptIt{s}{i}, and then evaluating \spad{eval(f, cycleindex)}. \xtc{ }{ @@ -4809,6 +9508,882 @@ The smallest is \autobuttons \end{page} +\begin{patch}{CycleIndicatorsXmpPagePatch1} +\begin{paste}{CycleIndicatorsXmpPageFull1}{CycleIndicatorsXmpPageEmpty1} +\pastebutton{CycleIndicatorsXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{)expose EVALCYC} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty1} +\begin{paste}{CycleIndicatorsXmpPageEmpty1}{CycleIndicatorsXmpPagePatch1} +\pastebutton{CycleIndicatorsXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{)expose EVALCYC} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch2} +\begin{paste}{CycleIndicatorsXmpPageFull2}{CycleIndicatorsXmpPageEmpty2} +\pastebutton{CycleIndicatorsXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{complete 1} +\indentrel{3}\begin{verbatim} + (1) (1) + Type: SymmetricPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty2} +\begin{paste}{CycleIndicatorsXmpPageEmpty2}{CycleIndicatorsXmpPagePatch2} +\pastebutton{CycleIndicatorsXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{complete 1} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch3} +\begin{paste}{CycleIndicatorsXmpPageFull3}{CycleIndicatorsXmpPageEmpty3} +\pastebutton{CycleIndicatorsXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{complete 2} +\indentrel{3}\begin{verbatim} + 1 1 2 + (2) Ä (2) + Ä (1 ) + 2 2 + Type: SymmetricPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty3} +\begin{paste}{CycleIndicatorsXmpPageEmpty3}{CycleIndicatorsXmpPagePatch3} +\pastebutton{CycleIndicatorsXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{complete 2} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch4} +\begin{paste}{CycleIndicatorsXmpPageFull4}{CycleIndicatorsXmpPageEmpty4} +\pastebutton{CycleIndicatorsXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{complete 3} +\indentrel{3}\begin{verbatim} + 1 1 1 3 + (3) Ä (3) + Ä (2 1) + Ä (1 ) + 3 2 6 + Type: SymmetricPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty4} +\begin{paste}{CycleIndicatorsXmpPageEmpty4}{CycleIndicatorsXmpPagePatch4} +\pastebutton{CycleIndicatorsXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{complete 3} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch5} +\begin{paste}{CycleIndicatorsXmpPageFull5}{CycleIndicatorsXmpPageEmpty5} +\pastebutton{CycleIndicatorsXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{complete 7} +\indentrel{3}\begin{verbatim} + (4) + 1 1 1 1 2 1 + Ä (7) + Ä (6 1) + ÄÄ (5 2) + ÄÄ (5 1 ) + ÄÄ (4 3) + 7 6 10 10 12 + + + 1 1 3 1 2 1 2 + Ä (4 2 1) + ÄÄ (4 1 ) + ÄÄ (3 1) + ÄÄ (3 2 ) + 8 24 18 24 + + + 1 2 1 4 1 3 1 2 3 + ÄÄ (3 2 1 ) + ÄÄ (3 1 ) + ÄÄ (2 1) + ÄÄ (2 1 ) + 12 72 48 48 + + + 1 5 1 7 + ÄÄÄ (2 1 ) + ÄÄÄÄ (1 ) + 240 5040 + Type: SymmetricPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty5} +\begin{paste}{CycleIndicatorsXmpPageEmpty5}{CycleIndicatorsXmpPagePatch5} +\pastebutton{CycleIndicatorsXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{complete 7} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch6} +\begin{paste}{CycleIndicatorsXmpPageFull6}{CycleIndicatorsXmpPageEmpty6} +\pastebutton{CycleIndicatorsXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{elementary 7} +\indentrel{3}\begin{verbatim} + (5) + 1 1 1 1 2 1 + Ä (7) - Ä (6 1) - ÄÄ (5 2) + ÄÄ (5 1 ) - ÄÄ (4 3) + 7 6 10 10 12 + + + 1 1 3 1 2 1 2 + Ä (4 2 1) - ÄÄ (4 1 ) + ÄÄ (3 1) + ÄÄ (3 2 ) + 8 24 18 24 + + + 1 2 1 4 1 3 1 2 3 + - ÄÄ (3 2 1 ) + ÄÄ (3 1 ) - ÄÄ (2 1) + ÄÄ (2 1 ) + 12 72 48 48 + + + 1 5 1 7 + - ÄÄÄ (2 1 ) + ÄÄÄÄ (1 ) + 240 5040 + Type: SymmetricPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty6} +\begin{paste}{CycleIndicatorsXmpPageEmpty6}{CycleIndicatorsXmpPagePatch6} +\pastebutton{CycleIndicatorsXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{elementary 7} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch7} +\begin{paste}{CycleIndicatorsXmpPageFull7}{CycleIndicatorsXmpPageEmpty7} +\pastebutton{CycleIndicatorsXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{alternating 7} +\indentrel{3}\begin{verbatim} + (6) + 2 1 2 1 1 2 1 2 + Ä (7) + Ä (5 1 ) + Ä (4 2 1) + Ä (3 1) + ÄÄ (3 2 ) + 7 5 4 9 12 + + + 1 4 1 2 3 1 7 + ÄÄ (3 1 ) + ÄÄ (2 1 ) + ÄÄÄÄ (1 ) + 36 24 2520 + Type: SymmetricPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty7} +\begin{paste}{CycleIndicatorsXmpPageEmpty7}{CycleIndicatorsXmpPagePatch7} +\pastebutton{CycleIndicatorsXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{alternating 7} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch8} +\begin{paste}{CycleIndicatorsXmpPageFull8}{CycleIndicatorsXmpPageEmpty8} +\pastebutton{CycleIndicatorsXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{cyclic 7} +\indentrel{3}\begin{verbatim} + 6 1 7 + (7) Ä (7) + Ä (1 ) + 7 7 + Type: SymmetricPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty8} +\begin{paste}{CycleIndicatorsXmpPageEmpty8}{CycleIndicatorsXmpPagePatch8} +\pastebutton{CycleIndicatorsXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{cyclic 7} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch9} +\begin{paste}{CycleIndicatorsXmpPageFull9}{CycleIndicatorsXmpPageEmpty9} +\pastebutton{CycleIndicatorsXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{dihedral 7} +\indentrel{3}\begin{verbatim} + 3 1 3 1 7 + (8) Ä (7) + Ä (2 1) + ÄÄ (1 ) + 7 2 14 + Type: SymmetricPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty9} +\begin{paste}{CycleIndicatorsXmpPageEmpty9}{CycleIndicatorsXmpPagePatch9} +\pastebutton{CycleIndicatorsXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{dihedral 7} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch10} +\begin{paste}{CycleIndicatorsXmpPageFull10}{CycleIndicatorsXmpPageEmpty10} +\pastebutton{CycleIndicatorsXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{graphs 5} +\indentrel{3}\begin{verbatim} + (9) + 1 1 2 1 2 1 3 1 4 2 + Ä (6 3 1) + Ä (5 ) + Ä (4 2) + Ä (3 1) + Ä (2 1 ) + 6 5 4 6 8 + + + 1 3 4 1 10 + ÄÄ (2 1 ) + ÄÄÄ (1 ) + 12 120 + Type: SymmetricPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty10} +\begin{paste}{CycleIndicatorsXmpPageEmpty10}{CycleIndicatorsXmpPagePatch10} +\pastebutton{CycleIndicatorsXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{graphs 5} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch11} +\begin{paste}{CycleIndicatorsXmpPageFull11}{CycleIndicatorsXmpPageEmpty11} +\pastebutton{CycleIndicatorsXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{cap(complete 2**2, complete 2*complete 1**2)} +\indentrel{3}\begin{verbatim} + (10) 4 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty11} +\begin{paste}{CycleIndicatorsXmpPageEmpty11}{CycleIndicatorsXmpPagePatch11} +\pastebutton{CycleIndicatorsXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{cap(complete 2**2, complete 2*complete 1**2)} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch12} +\begin{paste}{CycleIndicatorsXmpPageFull12}{CycleIndicatorsXmpPageEmpty12} +\pastebutton{CycleIndicatorsXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{cap(elementary 2**2, complete 2*complete 1**2)} +\indentrel{3}\begin{verbatim} + (11) 2 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty12} +\begin{paste}{CycleIndicatorsXmpPageEmpty12}{CycleIndicatorsXmpPagePatch12} +\pastebutton{CycleIndicatorsXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{cap(elementary 2**2, complete 2*complete 1**2)} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch13} +\begin{paste}{CycleIndicatorsXmpPageFull13}{CycleIndicatorsXmpPageEmpty13} +\pastebutton{CycleIndicatorsXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{ +cap(complete 3*complete 2*complete 1,complete 2**2*complete 1**2)} +\indentrel{3}\begin{verbatim} + (12) 24 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty13} +\begin{paste}{CycleIndicatorsXmpPageEmpty13}{CycleIndicatorsXmpPagePatch13} +\pastebutton{CycleIndicatorsXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{ +cap(complete 3*complete 2*complete 1,complete 2**2*complete 1**2)} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch14} +\begin{paste}{CycleIndicatorsXmpPageFull14}{CycleIndicatorsXmpPageEmpty14} +\pastebutton{CycleIndicatorsXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{ +cap(elementary 3*elementary 2*elementary 1,complete 2**2*complete 1**2)} +\indentrel{3}\begin{verbatim} + (13) 8 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty14} +\begin{paste}{CycleIndicatorsXmpPageEmpty14}{CycleIndicatorsXmpPagePatch14} +\pastebutton{CycleIndicatorsXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{ +cap(elementary 3*elementary 2*elementary 1,complete 2**2*complete 1**2)} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch15} +\begin{paste}{CycleIndicatorsXmpPageFull15}{CycleIndicatorsXmpPageEmpty15} +\pastebutton{CycleIndicatorsXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{ +cap(complete 3*complete 2*complete 1,elementary 2**2*elementary 1**2)} +\indentrel{3}\begin{verbatim} + (14) 8 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty15} +\begin{paste}{CycleIndicatorsXmpPageEmpty15}{CycleIndicatorsXmpPagePatch15} +\pastebutton{CycleIndicatorsXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{ +cap(complete 3*complete 2*complete 1,elementary 2**2*elementary 1**2)} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch16} +\begin{paste}{CycleIndicatorsXmpPageFull16}{CycleIndicatorsXmpPageEmpty16} +\pastebutton{CycleIndicatorsXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{ +eval(cup(complete 3*complete 2*complete 1, _ + cup(complete 2**2*complete 1**2,complete 2**3)))} +\indentrel{3}\begin{verbatim} + (15) 1500 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty16} +\begin{paste}{CycleIndicatorsXmpPageEmpty16}{CycleIndicatorsXmpPagePatch16} +\pastebutton{CycleIndicatorsXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{ +eval(cup(complete 3*complete 2*complete 1, _ + cup(complete 2**2*complete 1**2,complete 2**3)))} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch17} +\begin{paste}{CycleIndicatorsXmpPageFull17}{CycleIndicatorsXmpPageEmpty17} +\pastebutton{CycleIndicatorsXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{square:=dihedral 4} +\indentrel{3}\begin{verbatim} + 1 3 2 1 2 1 4 + (16) Ä (4) + Ä (2 ) + Ä (2 1 ) + Ä (1 ) + 4 8 4 8 + Type: SymmetricPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty17} +\begin{paste}{CycleIndicatorsXmpPageEmpty17}{CycleIndicatorsXmpPagePatch17} +\pastebutton{CycleIndicatorsXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{square:=dihedral 4} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch18} +\begin{paste}{CycleIndicatorsXmpPageFull18}{CycleIndicatorsXmpPageEmpty18} +\pastebutton{CycleIndicatorsXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{cap(complete 2**2,square)} +\indentrel{3}\begin{verbatim} + (17) 2 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty18} +\begin{paste}{CycleIndicatorsXmpPageEmpty18}{CycleIndicatorsXmpPagePatch18} +\pastebutton{CycleIndicatorsXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{cap(complete 2**2,square)} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch19} +\begin{paste}{CycleIndicatorsXmpPageFull19}{CycleIndicatorsXmpPageEmpty19} +\pastebutton{CycleIndicatorsXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{cap(complete 3*complete 2**2,dihedral 7)} +\indentrel{3}\begin{verbatim} + (18) 18 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty19} +\begin{paste}{CycleIndicatorsXmpPageEmpty19}{CycleIndicatorsXmpPagePatch19} +\pastebutton{CycleIndicatorsXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{cap(complete 3*complete 2**2,dihedral 7)} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch20} +\begin{paste}{CycleIndicatorsXmpPageFull20}{CycleIndicatorsXmpPageEmpty20} +\pastebutton{CycleIndicatorsXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{cap(graphs 5,complete 7*complete 3)} +\indentrel{3}\begin{verbatim} + (19) 4 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty20} +\begin{paste}{CycleIndicatorsXmpPageEmpty20}{CycleIndicatorsXmpPagePatch20} +\pastebutton{CycleIndicatorsXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{cap(graphs 5,complete 7*complete 3)} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch21} +\begin{paste}{CycleIndicatorsXmpPageFull21}{CycleIndicatorsXmpPageEmpty21} +\pastebutton{CycleIndicatorsXmpPageFull21}{\hidepaste} +\tab{5}\spadcommand{s(x) == powerSum(x)} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty21} +\begin{paste}{CycleIndicatorsXmpPageEmpty21}{CycleIndicatorsXmpPagePatch21} +\pastebutton{CycleIndicatorsXmpPageEmpty21}{\showpaste} +\tab{5}\spadcommand{s(x) == powerSum(x)} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch22} +\begin{paste}{CycleIndicatorsXmpPageFull22}{CycleIndicatorsXmpPageEmpty22} +\pastebutton{CycleIndicatorsXmpPageFull22}{\hidepaste} +\tab{5}\spadcommand{ +cube:=(1/24)*(s 1**8+9*s 2**4 + 8*s 3**2*s 1**2+6*s 4**2)} +\indentrel{3}\begin{verbatim} + 1 2 1 2 2 3 4 1 8 + (21) Ä (4 ) + Ä (3 1 ) + Ä (2 ) + ÄÄ (1 ) + 4 3 8 24 + Type: SymmetricPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty22} +\begin{paste}{CycleIndicatorsXmpPageEmpty22}{CycleIndicatorsXmpPagePatch22} +\pastebutton{CycleIndicatorsXmpPageEmpty22}{\showpaste} +\tab{5}\spadcommand{ +cube:=(1/24)*(s 1**8+9*s 2**4 + 8*s 3**2*s 1**2+6*s 4**2)} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch23} +\begin{paste}{CycleIndicatorsXmpPageFull23}{CycleIndicatorsXmpPageEmpty23} +\pastebutton{CycleIndicatorsXmpPageFull23}{\hidepaste} +\tab{5}\spadcommand{cap(complete 4**2,cube)} +\indentrel{3}\begin{verbatim} + (22) 7 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty23} +\begin{paste}{CycleIndicatorsXmpPageEmpty23}{CycleIndicatorsXmpPagePatch23} +\pastebutton{CycleIndicatorsXmpPageEmpty23}{\showpaste} +\tab{5}\spadcommand{cap(complete 4**2,cube)} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch24} +\begin{paste}{CycleIndicatorsXmpPageFull24}{CycleIndicatorsXmpPageEmpty24} +\pastebutton{CycleIndicatorsXmpPageFull24}{\hidepaste} +\tab{5}\spadcommand{ +cap(complete 2**3*complete 1**2,wreath(elementary 4,elementary 2))} +\indentrel{3}\begin{verbatim} + (23) 7 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty24} +\begin{paste}{CycleIndicatorsXmpPageEmpty24}{CycleIndicatorsXmpPagePatch24} +\pastebutton{CycleIndicatorsXmpPageEmpty24}{\showpaste} +\tab{5}\spadcommand{ +cap(complete 2**3*complete 1**2,wreath(elementary 4,elementary 2))} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch25} +\begin{paste}{CycleIndicatorsXmpPageFull25}{CycleIndicatorsXmpPageEmpty25} +\pastebutton{CycleIndicatorsXmpPageFull25}{\hidepaste} +\tab{5}\spadcommand{ +cap(complete 2**3*complete 1**2,wreath(elementary 4,complete 2))} +\indentrel{3}\begin{verbatim} + (24) 17 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty25} +\begin{paste}{CycleIndicatorsXmpPageEmpty25}{CycleIndicatorsXmpPagePatch25} +\pastebutton{CycleIndicatorsXmpPageEmpty25}{\showpaste} +\tab{5}\spadcommand{ +cap(complete 2**3*complete 1**2,wreath(elementary 4,complete 2))} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch26} +\begin{paste}{CycleIndicatorsXmpPageFull26}{CycleIndicatorsXmpPageEmpty26} +\pastebutton{CycleIndicatorsXmpPageFull26}{\hidepaste} +\tab{5}\spadcommand{ +cap(complete 2**3*complete 1**2,wreath(complete 4,elementary 2))} +\indentrel{3}\begin{verbatim} + (25) 10 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty26} +\begin{paste}{CycleIndicatorsXmpPageEmpty26}{CycleIndicatorsXmpPagePatch26} +\pastebutton{CycleIndicatorsXmpPageEmpty26}{\showpaste} +\tab{5}\spadcommand{ +cap(complete 2**3*complete 1**2,wreath(complete 4,elementary 2))} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch27} +\begin{paste}{CycleIndicatorsXmpPageFull27}{CycleIndicatorsXmpPageEmpty27} +\pastebutton{CycleIndicatorsXmpPageFull27}{\hidepaste} +\tab{5}\spadcommand{ +cap(complete 2**3*complete 1**2,wreath(complete 4,complete 2))} +\indentrel{3}\begin{verbatim} + (26) 23 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty27} +\begin{paste}{CycleIndicatorsXmpPageEmpty27}{CycleIndicatorsXmpPagePatch27} +\pastebutton{CycleIndicatorsXmpPageEmpty27}{\showpaste} +\tab{5}\spadcommand{ +cap(complete 2**3*complete 1**2,wreath(complete 4,complete 2))} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch28} +\begin{paste}{CycleIndicatorsXmpPageFull28}{CycleIndicatorsXmpPageEmpty28} +\pastebutton{CycleIndicatorsXmpPageFull28}{\hidepaste} +\tab{5}\spadcommand{x: ULS(FRAC INT,'x,0) := 'x\bound{x }} +\indentrel{3}\begin{verbatim} + (27) x + Type: UnivariateLaurentSeries(Fraction Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty28} +\begin{paste}{CycleIndicatorsXmpPageEmpty28}{CycleIndicatorsXmpPagePatch28} +\pastebutton{CycleIndicatorsXmpPageEmpty28}{\showpaste} +\tab{5}\spadcommand{x: ULS(FRAC INT,'x,0) := 'x\bound{x }} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch29} +\begin{paste}{CycleIndicatorsXmpPageFull29}{CycleIndicatorsXmpPageEmpty29} +\pastebutton{CycleIndicatorsXmpPageFull29}{\hidepaste} +\tab{5}\spadcommand{ZeroOrOne: INT -> ULS(FRAC INT, 'x, 0)\bound{zodec }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty29} +\begin{paste}{CycleIndicatorsXmpPageEmpty29}{CycleIndicatorsXmpPagePatch29} +\pastebutton{CycleIndicatorsXmpPageEmpty29}{\showpaste} +\tab{5}\spadcommand{ZeroOrOne: INT -> ULS(FRAC INT, 'x, 0)\bound{zodec }} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch30} +\begin{paste}{CycleIndicatorsXmpPageFull30}{CycleIndicatorsXmpPageEmpty30} +\pastebutton{CycleIndicatorsXmpPageFull30}{\hidepaste} +\tab{5}\spadcommand{Integers: INT -> ULS(FRAC INT, 'x, 0)\bound{idec }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty30} +\begin{paste}{CycleIndicatorsXmpPageEmpty30}{CycleIndicatorsXmpPagePatch30} +\pastebutton{CycleIndicatorsXmpPageEmpty30}{\showpaste} +\tab{5}\spadcommand{Integers: INT -> ULS(FRAC INT, 'x, 0)\bound{idec }} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch31} +\begin{paste}{CycleIndicatorsXmpPageFull31}{CycleIndicatorsXmpPageEmpty31} +\pastebutton{CycleIndicatorsXmpPageFull31}{\hidepaste} +\tab{5}\spadcommand{ZeroOrOne n == 1+x**n\free{x zodec }\bound{zo }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty31} +\begin{paste}{CycleIndicatorsXmpPageEmpty31}{CycleIndicatorsXmpPagePatch31} +\pastebutton{CycleIndicatorsXmpPageEmpty31}{\showpaste} +\tab{5}\spadcommand{ZeroOrOne n == 1+x**n\free{x zodec }\bound{zo }} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch32} +\begin{paste}{CycleIndicatorsXmpPageFull32}{CycleIndicatorsXmpPageEmpty32} +\pastebutton{CycleIndicatorsXmpPageFull32}{\hidepaste} +\tab{5}\spadcommand{ZeroOrOne 5\free{zo }} +\indentrel{3}\begin{verbatim} + 5 + (31) 1 + x + Type: UnivariateLaurentSeries(Fraction Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty32} +\begin{paste}{CycleIndicatorsXmpPageEmpty32}{CycleIndicatorsXmpPagePatch32} +\pastebutton{CycleIndicatorsXmpPageEmpty32}{\showpaste} +\tab{5}\spadcommand{ZeroOrOne 5\free{zo }} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch33} +\begin{paste}{CycleIndicatorsXmpPageFull33}{CycleIndicatorsXmpPageEmpty33} +\pastebutton{CycleIndicatorsXmpPageFull33}{\hidepaste} +\tab{5}\spadcommand{Integers n == 1/(1-x**n)\free{x idec }\bound{i }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty33} +\begin{paste}{CycleIndicatorsXmpPageEmpty33}{CycleIndicatorsXmpPagePatch33} +\pastebutton{CycleIndicatorsXmpPageEmpty33}{\showpaste} +\tab{5}\spadcommand{Integers n == 1/(1-x**n)\free{x idec }\bound{i }} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch34} +\begin{paste}{CycleIndicatorsXmpPageFull34}{CycleIndicatorsXmpPageEmpty34} +\pastebutton{CycleIndicatorsXmpPageFull34}{\hidepaste} +\tab{5}\spadcommand{Integers 5\free{i }} +\indentrel{3}\begin{verbatim} + 5 10 11 + (33) 1 + x + x + O(x ) + Type: UnivariateLaurentSeries(Fraction Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty34} +\begin{paste}{CycleIndicatorsXmpPageEmpty34}{CycleIndicatorsXmpPagePatch34} +\pastebutton{CycleIndicatorsXmpPageEmpty34}{\showpaste} +\tab{5}\spadcommand{Integers 5\free{i }} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch35} +\begin{paste}{CycleIndicatorsXmpPageFull35}{CycleIndicatorsXmpPageEmpty35} +\pastebutton{CycleIndicatorsXmpPageFull35}{\hidepaste} +\tab{5}\spadcommand{eval(ZeroOrOne, graphs 5)\free{zo }} +\indentrel{3}\begin{verbatim} + (34) + 2 3 4 5 6 7 8 9 + 1 + x + 2x + 4x + 6x + 6x + 6x + 4x + 2x + x + + + 10 11 + x + O(x ) + Type: UnivariateLaurentSeries(Fraction Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty35} +\begin{paste}{CycleIndicatorsXmpPageEmpty35}{CycleIndicatorsXmpPagePatch35} +\pastebutton{CycleIndicatorsXmpPageEmpty35}{\showpaste} +\tab{5}\spadcommand{eval(ZeroOrOne, graphs 5)\free{zo }} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch36} +\begin{paste}{CycleIndicatorsXmpPageFull36}{CycleIndicatorsXmpPageEmpty36} +\pastebutton{CycleIndicatorsXmpPageFull36}{\hidepaste} +\tab{5}\spadcommand{eval(ZeroOrOne,dihedral 8)\free{zo }} +\indentrel{3}\begin{verbatim} + 2 3 4 5 6 7 8 + (35) 1 + x + 4x + 5x + 8x + 5x + 4x + x + x + Type: UnivariateLaurentSeries(Fraction Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty36} +\begin{paste}{CycleIndicatorsXmpPageEmpty36}{CycleIndicatorsXmpPagePatch36} +\pastebutton{CycleIndicatorsXmpPageEmpty36}{\showpaste} +\tab{5}\spadcommand{eval(ZeroOrOne,dihedral 8)\free{zo }} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch37} +\begin{paste}{CycleIndicatorsXmpPageFull37}{CycleIndicatorsXmpPageEmpty37} +\pastebutton{CycleIndicatorsXmpPageFull37}{\hidepaste} +\tab{5}\spadcommand{eval(Integers,complete 4)\free{i }} +\indentrel{3}\begin{verbatim} + (36) + 2 3 4 5 6 7 8 + 1 + x + 2x + 3x + 5x + 6x + 9x + 11x + 15x + + + 9 10 11 + 18x + 23x + O(x ) + Type: UnivariateLaurentSeries(Fraction Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty37} +\begin{paste}{CycleIndicatorsXmpPageEmpty37}{CycleIndicatorsXmpPagePatch37} +\pastebutton{CycleIndicatorsXmpPageEmpty37}{\showpaste} +\tab{5}\spadcommand{eval(Integers,complete 4)\free{i }} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch38} +\begin{paste}{CycleIndicatorsXmpPageFull38}{CycleIndicatorsXmpPageEmpty38} +\pastebutton{CycleIndicatorsXmpPageFull38}{\hidepaste} +\tab{5}\spadcommand{eval(Integers,elementary 4)\free{i }} +\indentrel{3}\begin{verbatim} + (37) + 6 7 8 9 10 11 12 13 + x + x + 2x + 3x + 5x + 6x + 9x + 11x + + + 14 15 16 17 + 15x + 18x + 23x + O(x ) + Type: UnivariateLaurentSeries(Fraction Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty38} +\begin{paste}{CycleIndicatorsXmpPageEmpty38}{CycleIndicatorsXmpPagePatch38} +\pastebutton{CycleIndicatorsXmpPageEmpty38}{\showpaste} +\tab{5}\spadcommand{eval(Integers,elementary 4)\free{i }} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch39} +\begin{paste}{CycleIndicatorsXmpPageFull39}{CycleIndicatorsXmpPageEmpty39} +\pastebutton{CycleIndicatorsXmpPageFull39}{\hidepaste} +\tab{5}\spadcommand{eval(ZeroOrOne,cube)\free{zo }} +\indentrel{3}\begin{verbatim} + 2 3 4 5 6 7 8 + (38) 1 + x + 3x + 3x + 7x + 3x + 3x + x + x + Type: UnivariateLaurentSeries(Fraction Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty39} +\begin{paste}{CycleIndicatorsXmpPageEmpty39}{CycleIndicatorsXmpPagePatch39} +\pastebutton{CycleIndicatorsXmpPageEmpty39}{\showpaste} +\tab{5}\spadcommand{eval(ZeroOrOne,cube)\free{zo }} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch40} +\begin{paste}{CycleIndicatorsXmpPageFull40}{CycleIndicatorsXmpPageEmpty40} +\pastebutton{CycleIndicatorsXmpPageFull40}{\hidepaste} +\tab{5}\spadcommand{eval(Integers,cube)\free{i }} +\indentrel{3}\begin{verbatim} + (39) + 2 3 4 5 6 7 + 1 + x + 4x + 7x + 21x + 37x + 85x + 151x + + + 8 9 10 11 + 292x + 490x + 848x + O(x ) + Type: UnivariateLaurentSeries(Fraction Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty40} +\begin{paste}{CycleIndicatorsXmpPageEmpty40}{CycleIndicatorsXmpPagePatch40} +\pastebutton{CycleIndicatorsXmpPageEmpty40}{\showpaste} +\tab{5}\spadcommand{eval(Integers,cube)\free{i }} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch41} +\begin{paste}{CycleIndicatorsXmpPageFull41}{CycleIndicatorsXmpPageEmpty41} +\pastebutton{CycleIndicatorsXmpPageFull41}{\hidepaste} +\tab{5}\spadcommand{eval(Integers,graphs 5)\free{i }} +\indentrel{3}\begin{verbatim} + (40) + 2 3 4 5 6 7 + 1 + x + 3x + 7x + 17x + 35x + 76x + 149x + + + 8 9 10 11 + 291x + 539x + 974x + O(x ) + Type: UnivariateLaurentSeries(Fraction Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty41} +\begin{paste}{CycleIndicatorsXmpPageEmpty41}{CycleIndicatorsXmpPagePatch41} +\pastebutton{CycleIndicatorsXmpPageEmpty41}{\showpaste} +\tab{5}\spadcommand{eval(Integers,graphs 5)\free{i }} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch42} +\begin{paste}{CycleIndicatorsXmpPageFull42}{CycleIndicatorsXmpPageEmpty42} +\pastebutton{CycleIndicatorsXmpPageFull42}{\hidepaste} +\tab{5}\spadcommand{eval(ZeroOrOne ,graphs 15)\free{zo }} +\indentrel{3}\begin{verbatim} + (41) + 2 3 4 5 6 7 + 1 + x + 2x + 5x + 11x + 26x + 68x + 177x + + + 8 9 10 11 + 496x + 1471x + 4583x + O(x ) + Type: UnivariateLaurentSeries(Fraction Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty42} +\begin{paste}{CycleIndicatorsXmpPageEmpty42}{CycleIndicatorsXmpPagePatch42} +\pastebutton{CycleIndicatorsXmpPageEmpty42}{\showpaste} +\tab{5}\spadcommand{eval(ZeroOrOne ,graphs 15)\free{zo }} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch43} +\begin{paste}{CycleIndicatorsXmpPageFull43}{CycleIndicatorsXmpPageEmpty43} +\pastebutton{CycleIndicatorsXmpPageFull43}{\hidepaste} +\tab{5}\spadcommand{cap(dihedral 30,complete 7*complete 8*complete 5*complete 10)} +\indentrel{3}\begin{verbatim} + (42) 49958972383320 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty43} +\begin{paste}{CycleIndicatorsXmpPageEmpty43}{CycleIndicatorsXmpPagePatch43} +\pastebutton{CycleIndicatorsXmpPageEmpty43}{\showpaste} +\tab{5}\spadcommand{ +cap(dihedral 30,complete 7*complete 8*complete 5*complete 10)} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch44} +\begin{paste}{CycleIndicatorsXmpPageFull44}{CycleIndicatorsXmpPageEmpty44} +\pastebutton{CycleIndicatorsXmpPageFull44}{\hidepaste} +\tab{5}\spadcommand{sf3221:= SFunction [3,2,2,1]\bound{sf3221 }} +\indentrel{3}\begin{verbatim} + (43) + 1 1 2 1 2 1 + ÄÄ (6 2) - ÄÄ (6 1 ) - ÄÄ (4 ) + ÄÄ (4 3 1) + 12 12 16 12 + + + 1 4 1 2 1 2 2 1 2 + ÄÄ (4 1 ) - ÄÄ (3 2) + ÄÄ (3 1 ) - ÄÄ (3 2 1) + 24 36 36 24 + + + 1 3 1 5 1 4 1 3 2 + - ÄÄ (3 2 1 ) - ÄÄ (3 1 ) - ÄÄÄ (2 ) + ÄÄ (2 1 ) + 36 72 192 48 + + + 1 2 4 1 6 1 8 + ÄÄ (2 1 ) - ÄÄÄ (2 1 ) + ÄÄÄ (1 ) + 96 144 576 + Type: SymmetricPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty44} +\begin{paste}{CycleIndicatorsXmpPageEmpty44}{CycleIndicatorsXmpPagePatch44} +\pastebutton{CycleIndicatorsXmpPageEmpty44}{\showpaste} +\tab{5}\spadcommand{sf3221:= SFunction [3,2,2,1]\bound{sf3221 }} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch45} +\begin{paste}{CycleIndicatorsXmpPageFull45}{CycleIndicatorsXmpPageEmpty45} +\pastebutton{CycleIndicatorsXmpPageFull45}{\hidepaste} +\tab{5}\spadcommand{cap(sf3221,complete 2**4)\free{sf3221 }} +\indentrel{3}\begin{verbatim} + (44) 3 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty45} +\begin{paste}{CycleIndicatorsXmpPageEmpty45}{CycleIndicatorsXmpPagePatch45} +\pastebutton{CycleIndicatorsXmpPageEmpty45}{\showpaste} +\tab{5}\spadcommand{cap(sf3221,complete 2**4)\free{sf3221 }} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch46} +\begin{paste}{CycleIndicatorsXmpPageFull46}{CycleIndicatorsXmpPageEmpty46} +\pastebutton{CycleIndicatorsXmpPageFull46}{\hidepaste} +\tab{5}\spadcommand{cap(sf3221, powerSum 1**8)\free{sf3221 }} +\indentrel{3}\begin{verbatim} + (45) 70 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty46} +\begin{paste}{CycleIndicatorsXmpPageEmpty46}{CycleIndicatorsXmpPagePatch46} +\pastebutton{CycleIndicatorsXmpPageEmpty46}{\showpaste} +\tab{5}\spadcommand{cap(sf3221, powerSum 1**8)\free{sf3221 }} +\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPagePatch47} +\begin{paste}{CycleIndicatorsXmpPageFull47}{CycleIndicatorsXmpPageEmpty47} +\pastebutton{CycleIndicatorsXmpPageFull47}{\hidepaste} +\tab{5}\spadcommand{eval(Integers, sf3221)\free{i sf3221 }} +\indentrel{3}\begin{verbatim} + (46) + 9 10 11 12 13 14 15 + x + 3x + 7x + 14x + 27x + 47x + 79x + + + 16 17 18 19 20 + 126x + 196x + 294x + 432x + O(x ) + Type: UnivariateLaurentSeries(Fraction Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{CycleIndicatorsXmpPageEmpty47} +\begin{paste}{CycleIndicatorsXmpPageEmpty47}{CycleIndicatorsXmpPagePatch47} +\pastebutton{CycleIndicatorsXmpPageEmpty47}{\showpaste} +\tab{5}\spadcommand{eval(Integers, sf3221)\free{i sf3221 }} +\end{paste}\end{patch} + @ \section{coverex.ht} \pagehead{ExampleCoverPage}{coverex.ht}{Examples Of Axiom Commands} @@ -4866,7 +10441,205 @@ The smallest is \spadpaste{f := integrate(sqrt(1 + t**3),t) \bound{f}} \spadpaste{differentiate(f,t) \free{f}} \spadpaste{differentiate(f * t**2,t) \free{f}} -\endmenu\endscroll\end{page} +\endmenu\endscroll +\end{page} + +\begin{patch}{MenuexdiffPatch1} +\begin{paste}{MenuexdiffFull1}{MenuexdiffEmpty1} +\pastebutton{MenuexdiffFull1}{\hidepaste} +\tab{5}\spadcommand{differentiate(sin(x) * exp(x**2),x)} +\indentrel{3}\begin{verbatim} + 2 2 + x x + (1) 2x %e sin(x) + cos(x)%e + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexdiffEmpty1} +\begin{paste}{MenuexdiffEmpty1}{MenuexdiffPatch1} +\pastebutton{MenuexdiffEmpty1}{\showpaste} +\tab{5}\spadcommand{differentiate(sin(x) * exp(x**2),x)} +\end{paste}\end{patch} + +\begin{patch}{MenuexdiffPatch2} +\begin{paste}{MenuexdiffFull2}{MenuexdiffEmpty2} +\pastebutton{MenuexdiffFull2}{\hidepaste} +\tab{5}\spadcommand{differentiate(sin(x) * tan(y)/(x**2 + y**2),x)} +\indentrel{3}\begin{verbatim} + 2 2 + (- 2x sin(x) + (y + x )cos(x))tan(y) + (2) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 4 2 2 4 + y + 2x y + x + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexdiffEmpty2} +\begin{paste}{MenuexdiffEmpty2}{MenuexdiffPatch2} +\pastebutton{MenuexdiffEmpty2}{\showpaste} +\tab{5}\spadcommand{differentiate(sin(x) * tan(y)/(x**2 + y**2),x)} +\end{paste}\end{patch} + +\begin{patch}{MenuexdiffPatch3} +\begin{paste}{MenuexdiffFull3}{MenuexdiffEmpty3} +\pastebutton{MenuexdiffFull3}{\hidepaste} +\tab{5}\spadcommand{differentiate(sin(x) * tan(y)/(x**2 + y**2),y)} +\indentrel{3}\begin{verbatim} + (3) + 2 2 2 + (y + x )sin(x)tan(y) - 2y sin(x)tan(y) + + + 2 2 + (y + x )sin(x) + / + 4 2 2 4 + y + 2x y + x + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexdiffEmpty3} +\begin{paste}{MenuexdiffEmpty3}{MenuexdiffPatch3} +\pastebutton{MenuexdiffEmpty3}{\showpaste} +\tab{5}\spadcommand{differentiate(sin(x) * tan(y)/(x**2 + y**2),y)} +\end{paste}\end{patch} + +\begin{patch}{MenuexdiffPatch4} +\begin{paste}{MenuexdiffFull4}{MenuexdiffEmpty4} +\pastebutton{MenuexdiffFull4}{\hidepaste} +\tab{5}\spadcommand{differentiate(exp(x**2),x,4)} +\indentrel{3}\begin{verbatim} + 2 + 4 2 x + (4) (16x + 48x + 12)%e + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexdiffEmpty4} +\begin{paste}{MenuexdiffEmpty4}{MenuexdiffPatch4} +\pastebutton{MenuexdiffEmpty4}{\showpaste} +\tab{5}\spadcommand{differentiate(exp(x**2),x,4)} +\end{paste}\end{patch} + +\begin{patch}{MenuexdiffPatch5} +\begin{paste}{MenuexdiffFull5}{MenuexdiffEmpty5} +\pastebutton{MenuexdiffFull5}{\hidepaste} +\tab{5}\spadcommand{differentiate(sin(x)/(x**2 + y**2),[x,y])} +\indentrel{3}\begin{verbatim} + 3 2 + 8x y sin(x) + (- 2y - 2x y)cos(x) + (5) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 6 2 4 4 2 6 + y + 3x y + 3x y + x + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexdiffEmpty5} +\begin{paste}{MenuexdiffEmpty5}{MenuexdiffPatch5} +\pastebutton{MenuexdiffEmpty5}{\showpaste} +\tab{5}\spadcommand{differentiate(sin(x)/(x**2 + y**2),[x,y])} +\end{paste}\end{patch} + +\begin{patch}{MenuexdiffPatch6} +\begin{paste}{MenuexdiffFull6}{MenuexdiffEmpty6} +\pastebutton{MenuexdiffFull6}{\hidepaste} +\tab{5}\spadcommand{differentiate(sin(x)/(x**2 + y**2),[x,y,y])} +\indentrel{3}\begin{verbatim} + (6) + 2 3 4 2 2 4 + (- 40x y + 8x )sin(x) + (6y + 4x y - 2x )cos(x) + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 8 2 6 4 4 6 2 8 + y + 4x y + 6x y + 4x y + x + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexdiffEmpty6} +\begin{paste}{MenuexdiffEmpty6}{MenuexdiffPatch6} +\pastebutton{MenuexdiffEmpty6}{\showpaste} +\tab{5}\spadcommand{differentiate(sin(x)/(x**2 + y**2),[x,y,y])} +\end{paste}\end{patch} + +\begin{patch}{MenuexdiffPatch7} +\begin{paste}{MenuexdiffFull7}{MenuexdiffEmpty7} +\pastebutton{MenuexdiffFull7}{\hidepaste} +\tab{5}\spadcommand{differentiate(cos(z)/(x**2 + y**3),[x,y,z],[1,2,3])} +\indentrel{3}\begin{verbatim} + 4 3 + (- 84x y + 24x y)sin(z) + (7) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 12 2 9 4 6 6 3 8 + y + 4x y + 6x y + 4x y + x + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexdiffEmpty7} +\begin{paste}{MenuexdiffEmpty7}{MenuexdiffPatch7} +\pastebutton{MenuexdiffEmpty7}{\showpaste} +\tab{5}\spadcommand{differentiate(cos(z)/(x**2 + y**3),[x,y,z],[1,2,3])} +\end{paste}\end{patch} + +\begin{patch}{MenuexdiffPatch8} +\begin{paste}{MenuexdiffFull8}{MenuexdiffEmpty8} +\pastebutton{MenuexdiffFull8}{\hidepaste} +\tab{5}\spadcommand{f := integrate(sqrt(1 + t**3),t)\bound{f }} +\indentrel{3}\begin{verbatim} + t ÚÄÄÄÄÄÄÄ¿ + Ú¿ ³ 3 + (8) ³ \³%N + 1 d%N + ÀÙ + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexdiffEmpty8} +\begin{paste}{MenuexdiffEmpty8}{MenuexdiffPatch8} +\pastebutton{MenuexdiffEmpty8}{\showpaste} +\tab{5}\spadcommand{f := integrate(sqrt(1 + t**3),t)\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{MenuexdiffPatch9} +\begin{paste}{MenuexdiffFull9}{MenuexdiffEmpty9} +\pastebutton{MenuexdiffFull9}{\hidepaste} +\tab{5}\spadcommand{differentiate(f,t)\free{f }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄÄÄÄ¿ + ³ 3 + (9) \³t + 1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexdiffEmpty9} +\begin{paste}{MenuexdiffEmpty9}{MenuexdiffPatch9} +\pastebutton{MenuexdiffEmpty9}{\showpaste} +\tab{5}\spadcommand{differentiate(f,t)\free{f }} +\end{paste}\end{patch} + +\begin{patch}{MenuexdiffPatch10} +\begin{paste}{MenuexdiffFull10}{MenuexdiffEmpty10} +\pastebutton{MenuexdiffFull10}{\hidepaste} +\tab{5}\spadcommand{differentiate(f * t**2,t)\free{f }} +\indentrel{3}\begin{verbatim} + t ÚÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄ¿ + Ú¿ ³ 3 2 ³ 3 + (10) 2t ³ \³%N + 1 d%N + t \³t + 1 + ÀÙ + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexdiffEmpty10} +\begin{paste}{MenuexdiffEmpty10}{MenuexdiffPatch10} +\pastebutton{MenuexdiffEmpty10}{\showpaste} +\tab{5}\spadcommand{differentiate(f * t**2,t)\free{f }} +\end{paste}\end{patch} @ \pagehead{Menuexint}{coverex.ht}{Integration} @@ -4920,7 +10693,312 @@ The smallest is \menudownlink{An Integral of a Non-elementary Function}{ExIntNonElementary} \spadpaste{integrate(exp(-x**2) * erf(x) / (erf(x)**3 - erf(x)**2 - erf(x) + 1),x)} -\endmenu\endscroll\end{page} +\endmenu\endscroll +\end{page} + +\begin{patch}{MenuexintPatch1} +\begin{paste}{MenuexintFull1}{MenuexintEmpty1} +\pastebutton{MenuexintFull1}{\hidepaste} +\tab{5}\spadcommand{integrate((x**2+2*x+1)/((x+1)**6+1),x)} +\indentrel{3}\begin{verbatim} + 3 2 + atan(x + 3x + 3x + 1) + (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 3 + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexintEmpty1} +\begin{paste}{MenuexintEmpty1}{MenuexintPatch1} +\pastebutton{MenuexintEmpty1}{\showpaste} +\tab{5}\spadcommand{integrate((x**2+2*x+1)/((x+1)**6+1),x)} +\end{paste}\end{patch} + +\begin{patch}{MenuexintPatch2} +\begin{paste}{MenuexintFull2}{MenuexintEmpty2} +\pastebutton{MenuexintFull2}{\hidepaste} +\tab{5}\spadcommand{integrate(1/(x**3+x+1),x)\bound{i }} +\indentrel{3}\begin{verbatim} + (2) + ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ + ³ 2 + ³- 93%%CE0 + 12 + ( ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - %%CE0) + \³ 31 + * + log + ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ + ³ 2 + ³- 93%%CE0 + 12 2 + (62%%CE0 + 31) ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 62%%CE0 + \³ 31 + + + - 31%%CE0 + 18x - 4 + + + ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ + ³ 2 + ³- 93%%CE0 + 12 + (- ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - %%CE0) + \³ 31 + * + log + ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ + ³ 2 + ³- 93%%CE0 + 12 + (- 62%%CE0 - 31) ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + \³ 31 + + + 2 + 62%%CE0 - 31%%CE0 + 18x - 4 + + + 2 + 2%%CE0 log(- 62%%CE0 + 31%%CE0 + 9x + 4) + / + 2 + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexintEmpty2} +\begin{paste}{MenuexintEmpty2}{MenuexintPatch2} +\pastebutton{MenuexintEmpty2}{\showpaste} +\tab{5}\spadcommand{integrate(1/(x**3+x+1),x)\bound{i }} +\end{paste}\end{patch} + +\begin{patch}{MenuexintPatch3} +\begin{paste}{MenuexintFull3}{MenuexintEmpty3} +\pastebutton{MenuexintFull3}{\hidepaste} +\tab{5}\spadcommand{definingPolynomial(tower(\%).2::EXPR INT)\free{i }} +\indentrel{3}\begin{verbatim} + 3 + 31%%CE0 - 3%%CE0 - 1 + (3) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 31 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexintEmpty3} +\begin{paste}{MenuexintEmpty3}{MenuexintPatch3} +\pastebutton{MenuexintEmpty3}{\showpaste} +\tab{5}\spadcommand{definingPolynomial(tower(\%).2::EXPR INT)\free{i }} +\end{paste}\end{patch} + +\begin{patch}{MenuexintPatch4} +\begin{paste}{MenuexintFull4}{MenuexintEmpty4} +\pastebutton{MenuexintFull4}{\hidepaste} +\tab{5}\spadcommand{integrate(1/(x**2 + a),x)} +\indentrel{3}\begin{verbatim} + 2 ÚÄÄÄ¿ + (x - a)\³- a + 2a x ÚÄ¿ + log(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) x\³a + 2 atan(ÄÄÄÄÄ) + x + a a + (4) [ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄÄÄÄ] + ÚÄÄÄ¿ ÚÄ¿ + 2\³- a \³a + Type: Union(List Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexintEmpty4} +\begin{paste}{MenuexintEmpty4}{MenuexintPatch4} +\pastebutton{MenuexintEmpty4}{\showpaste} +\tab{5}\spadcommand{integrate(1/(x**2 + a),x)} +\end{paste}\end{patch} + +\begin{patch}{MenuexintPatch5} +\begin{paste}{MenuexintFull5}{MenuexintEmpty5} +\pastebutton{MenuexintFull5}{\hidepaste} +\tab{5}\spadcommand{complexIntegrate(1/(x**2 + a),x)} +\indentrel{3}\begin{verbatim} + ÚÄÄÄ¿ ÚÄÄÄ¿ + x\³- a + a x\³- a - a + log(ÄÄÄÄÄÄÄÄÄÄÄ) - log(ÄÄÄÄÄÄÄÄÄÄÄ) + ÚÄÄÄ¿ ÚÄÄÄ¿ + \³- a \³- a + (5) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + ÚÄÄÄ¿ + 2\³- a + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexintEmpty5} +\begin{paste}{MenuexintEmpty5}{MenuexintPatch5} +\pastebutton{MenuexintEmpty5}{\showpaste} +\tab{5}\spadcommand{complexIntegrate(1/(x**2 + a),x)} +\end{paste}\end{patch} + +\begin{patch}{MenuexintPatch6} +\begin{paste}{MenuexintFull6}{MenuexintEmpty6} +\pastebutton{MenuexintFull6}{\hidepaste} +\tab{5}\spadcommand{integrate(x**3 / (a+b*x)**(1/3),x)} +\indentrel{3}\begin{verbatim} + (6) + 3 3 2 2 2 3 3ÚÄÄÄÄÄÄÄ¿2 + (120b x - 135a b x + 162a b x - 243a )\³b x + a + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 4 + 440b + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexintEmpty6} +\begin{paste}{MenuexintEmpty6}{MenuexintPatch6} +\pastebutton{MenuexintEmpty6}{\showpaste} +\tab{5}\spadcommand{integrate(x**3 / (a+b*x)**(1/3),x)} +\end{paste}\end{patch} + +\begin{patch}{MenuexintPatch7} +\begin{paste}{MenuexintFull7}{MenuexintEmpty7} +\pastebutton{MenuexintFull7}{\hidepaste} +\tab{5}\spadcommand{integrate(1 / (x**3 * (a+b*x)**(1/3)),x)} +\indentrel{3}\begin{verbatim} + (7) + - + 2 2 ÚÄ¿ + 2b x \³3 + * + 3ÚÄ¿3ÚÄÄÄÄÄÄÄ¿2 3ÚÄ¿2 3ÚÄÄÄÄÄÄÄ¿ + log(\³a \³b x + a + \³a \³b x + a + a) + + + 2 2 ÚÄ¿ 3ÚÄ¿2 3ÚÄÄÄÄÄÄÄ¿ + 4b x \³3 log(\³a \³b x + a - a) + + + ÚÄ¿3ÚÄ¿2 3ÚÄÄÄÄÄÄÄ¿ ÚÄ¿ + 2 2 2\³3 \³a \³b x + a + a\³3 + 12b x atan(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) + 3a + + + ÚÄ¿3ÚÄ¿3ÚÄÄÄÄÄÄÄ¿2 + (12b x - 9a)\³3 \³a \³b x + a + / + 2 2 ÚÄ¿3ÚÄ¿ + 18a x \³3 \³a + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexintEmpty7} +\begin{paste}{MenuexintEmpty7}{MenuexintPatch7} +\pastebutton{MenuexintEmpty7}{\showpaste} +\tab{5}\spadcommand{integrate(1 / (x**3 * (a+b*x)**(1/3)),x)} +\end{paste}\end{patch} + +\begin{patch}{MenuexintPatch8} +\begin{paste}{MenuexintFull8}{MenuexintEmpty8} +\pastebutton{MenuexintFull8}{\hidepaste} +\tab{5}\spadcommand{integrate(log(1 + sqrt(a*x + b)) / x,x)} +\indentrel{3}\begin{verbatim} + x ÚÄÄÄÄÄÄÄÄ¿ + Ú¿ log(\³b + %N a + 1) + (8) ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ d%N + ÀÙ %N + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexintEmpty8} +\begin{paste}{MenuexintEmpty8}{MenuexintPatch8} +\pastebutton{MenuexintEmpty8}{\showpaste} +\tab{5}\spadcommand{integrate(log(1 + sqrt(a*x + b)) / x,x)} +\end{paste}\end{patch} + +\begin{patch}{MenuexintPatch9} +\begin{paste}{MenuexintFull9}{MenuexintEmpty9} +\pastebutton{MenuexintFull9}{\hidepaste} +\tab{5}\spadcommand{ +integrate((sinh(1+sqrt(x+b))+2*sqrt(x+b))/_ + (sqrt(x+b)*(x+cosh(1+sqrt(x+b)))),x)} +\indentrel{3}\begin{verbatim} + (9) + ÚÄÄÄÄÄ¿ + - 2cosh(\³x + b + 1) - 2x + 2log(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) + ÚÄÄÄÄÄ¿ ÚÄÄÄÄÄ¿ + sinh(\³x + b + 1) - cosh(\³x + b + 1) + + + ÚÄÄÄÄÄ¿ + - 2\³x + b + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexintEmpty9} +\begin{paste}{MenuexintEmpty9}{MenuexintPatch9} +\pastebutton{MenuexintEmpty9}{\showpaste} +\tab{5}\spadcommand{ +integrate((sinh(1+sqrt(x+b))+2*sqrt(x+b))/_ + (sqrt(x+b)*(x+cosh(1+sqrt(x+b)))),x)} +\end{paste}\end{patch} + +\begin{patch}{MenuexintPatch10} +\begin{paste}{MenuexintFull10}{MenuexintEmpty10} +\pastebutton{MenuexintFull10}{\hidepaste} +\tab{5}\spadcommand{integrate(tan(atan(x)/3),x)} +\indentrel{3}\begin{verbatim} + (10) + atan(x) 2 atan(x) 2 + 8log(3tan(ÄÄÄÄÄÄÄ) - 1) - 3tan(ÄÄÄÄÄÄÄ) + 3 3 + + + atan(x) + 18x tan(ÄÄÄÄÄÄÄ) + 3 + / + 18 + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexintEmpty10} +\begin{paste}{MenuexintEmpty10}{MenuexintPatch10} +\pastebutton{MenuexintEmpty10}{\showpaste} +\tab{5}\spadcommand{integrate(tan(atan(x)/3),x)} +\end{paste}\end{patch} + +\begin{patch}{MenuexintPatch11} +\begin{paste}{MenuexintFull11}{MenuexintEmpty11} +\pastebutton{MenuexintFull11}{\hidepaste} +\tab{5}\spadcommand{integrate((x + 1) / (x * (x + log x)**(3/2)),x)} +\indentrel{3}\begin{verbatim} + ÚÄÄÄÄÄÄÄÄÄÄ¿ + 2\³log(x) + x + (11) - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + log(x) + x + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexintEmpty11} +\begin{paste}{MenuexintEmpty11}{MenuexintPatch11} +\pastebutton{MenuexintEmpty11}{\showpaste} +\tab{5}\spadcommand{integrate((x + 1) / (x * (x + log x)**(3/2)),x)} +\end{paste}\end{patch} + +\begin{patch}{MenuexintPatch12} +\begin{paste}{MenuexintFull12}{MenuexintEmpty12} +\pastebutton{MenuexintFull12}{\hidepaste} +\tab{5}\spadcommand{integrate(exp(-x**2) * erf(x) / (erf(x)**3 - erf(x)**2 - erf(x) + 1),x)} +\indentrel{3}\begin{verbatim} + ÚÄÄÄ¿ erf(x) - 1 ÚÄÄÄ¿ + (erf(x) - 1)\³%pi log(ÄÄÄÄÄÄÄÄÄÄ) - 2\³%pi + erf(x) + 1 + (12) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 8erf(x) - 8 + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexintEmpty12} +\begin{paste}{MenuexintEmpty12}{MenuexintPatch12} +\pastebutton{MenuexintEmpty12}{\showpaste} +\tab{5}\spadcommand{integrate(exp(-x**2) * erf(x) / + (erf(x)**3 - erf(x)**2 - erf(x) + 1),x)} +\end{paste}\end{patch} @ \pagehead{Menuexlap}{coverex.ht}{Laplace Transforms} @@ -4949,7 +11027,122 @@ The smallest is \spadpaste{laplace(exp(a*t+b)*Ei(c*t), t, s)} \menudownlink{Laplace transform of special functions}{ExLapSpecial2} \spadpaste{laplace(a*Ci(b*t) + c*Si(d*t), t, s)} -\endmenu\endscroll\end{page} +\endmenu\endscroll +\end{page} + +\begin{patch}{MenuexlapPatch1} +\begin{paste}{MenuexlapFull1}{MenuexlapEmpty1} +\pastebutton{MenuexlapFull1}{\hidepaste} +\tab{5}\spadcommand{laplace(t**4 * exp(-a*t) / factorial(4), t, s)} +\indentrel{3}\begin{verbatim} + 1 + (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 5 4 2 3 3 2 4 5 + s + 5a s + 10a s + 10a s + 5a s + a + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexlapEmpty1} +\begin{paste}{MenuexlapEmpty1}{MenuexlapPatch1} +\pastebutton{MenuexlapEmpty1}{\showpaste} +\tab{5}\spadcommand{laplace(t**4 * exp(-a*t) / factorial(4), t, s)} +\end{paste}\end{patch} + +\begin{patch}{MenuexlapPatch2} +\begin{paste}{MenuexlapFull2}{MenuexlapEmpty2} +\pastebutton{MenuexlapFull2}{\hidepaste} +\tab{5}\spadcommand{laplace(sin(a*t) * cosh(a*t) - cos(a*t) * sinh(a*t), t, s)} +\indentrel{3}\begin{verbatim} + 3 + 4a + (2) ÄÄÄÄÄÄÄÄ + 4 4 + s + 4a + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexlapEmpty2} +\begin{paste}{MenuexlapEmpty2}{MenuexlapPatch2} +\pastebutton{MenuexlapEmpty2}{\showpaste} +\tab{5}\spadcommand{laplace(sin(a*t) * cosh(a*t) - cos(a*t) * sinh(a*t), t, s)} +\end{paste}\end{patch} + +\begin{patch}{MenuexlapPatch3} +\begin{paste}{MenuexlapFull3}{MenuexlapEmpty3} +\pastebutton{MenuexlapFull3}{\hidepaste} +\tab{5}\spadcommand{laplace(2/t * (1 - cos(a*t)), t, s)} +\indentrel{3}\begin{verbatim} + 2 2 + (3) log(s + a ) - 2log(s) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexlapEmpty3} +\begin{paste}{MenuexlapEmpty3}{MenuexlapPatch3} +\pastebutton{MenuexlapEmpty3}{\showpaste} +\tab{5}\spadcommand{laplace(2/t * (1 - cos(a*t)), t, s)} +\end{paste}\end{patch} + +\begin{patch}{MenuexlapPatch4} +\begin{paste}{MenuexlapFull4}{MenuexlapEmpty4} +\pastebutton{MenuexlapFull4}{\hidepaste} +\tab{5}\spadcommand{laplace((exp(a*t) - exp(b*t))/t, t, s)} +\indentrel{3}\begin{verbatim} + (4) - log(s - a) + log(s - b) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexlapEmpty4} +\begin{paste}{MenuexlapEmpty4}{MenuexlapPatch4} +\pastebutton{MenuexlapEmpty4}{\showpaste} +\tab{5}\spadcommand{laplace((exp(a*t) - exp(b*t))/t, t, s)} +\end{paste}\end{patch} + +\begin{patch}{MenuexlapPatch5} +\begin{paste}{MenuexlapFull5}{MenuexlapEmpty5} +\pastebutton{MenuexlapFull5}{\hidepaste} +\tab{5}\spadcommand{laplace(exp(a*t+b)*Ei(c*t), t, s)} +\indentrel{3}\begin{verbatim} + b s + c - a + %e log(ÄÄÄÄÄÄÄÄÄ) + c + (5) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + s - a + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexlapEmpty5} +\begin{paste}{MenuexlapEmpty5}{MenuexlapPatch5} +\pastebutton{MenuexlapEmpty5}{\showpaste} +\tab{5}\spadcommand{laplace(exp(a*t+b)*Ei(c*t), t, s)} +\end{paste}\end{patch} + +\begin{patch}{MenuexlapPatch6} +\begin{paste}{MenuexlapFull6}{MenuexlapEmpty6} +\pastebutton{MenuexlapFull6}{\hidepaste} +\tab{5}\spadcommand{laplace(a*Ci(b*t) + c*Si(d*t), t, s)} +\indentrel{3}\begin{verbatim} + 2 2 + s + b d + a log(ÄÄÄÄÄÄÄ) + 2c atan(Ä) + 2 s + b + (6) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 2s + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexlapEmpty6} +\begin{paste}{MenuexlapEmpty6}{MenuexlapPatch6} +\pastebutton{MenuexlapEmpty6}{\showpaste} +\tab{5}\spadcommand{laplace(a*Ci(b*t) + c*Si(d*t), t, s)} +\end{paste}\end{patch} @ \pagehead{Menuexlimit}{coverex.ht}{Limits} @@ -4983,7 +11176,229 @@ The smallest is \spadpaste{complexLimit((2 + z)/(1 - z),z = \%infinity)} \spadpaste{limit(sin(x)/x,x = \%plusInfinity)} \spadpaste{complexLimit(sin(x)/x,x = \%infinity)} -\endmenu\endscroll\end{page} +\endmenu\endscroll +\end{page} + +\begin{patch}{MenuexlimitPatch1} +\begin{paste}{MenuexlimitFull1}{MenuexlimitEmpty1} +\pastebutton{MenuexlimitFull1}{\hidepaste} +\tab{5}\spadcommand{limit((x**2 - 3*x + 2)/(x**2 - 1),x = 1)} +\indentrel{3}\begin{verbatim} + 1 + (1) - Ä + 2 +Type: Union(OrderedCompletion Fraction Polynomial Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexlimitEmpty1} +\begin{paste}{MenuexlimitEmpty1}{MenuexlimitPatch1} +\pastebutton{MenuexlimitEmpty1}{\showpaste} +\tab{5}\spadcommand{limit((x**2 - 3*x + 2)/(x**2 - 1),x = 1)} +\end{paste}\end{patch} + +\begin{patch}{MenuexlimitPatch2} +\begin{paste}{MenuexlimitFull2}{MenuexlimitEmpty2} +\pastebutton{MenuexlimitFull2}{\hidepaste} +\tab{5}\spadcommand{limit(sinh(a*x)/tan(b*x),x = 0)} +\indentrel{3}\begin{verbatim} + a + (2) Ä + b + Type: Union(OrderedCompletion Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexlimitEmpty2} +\begin{paste}{MenuexlimitEmpty2}{MenuexlimitPatch2} +\pastebutton{MenuexlimitEmpty2}{\showpaste} +\tab{5}\spadcommand{limit(sinh(a*x)/tan(b*x),x = 0)} +\end{paste}\end{patch} + +\begin{patch}{MenuexlimitPatch3} +\begin{paste}{MenuexlimitFull3}{MenuexlimitEmpty3} +\pastebutton{MenuexlimitFull3}{\hidepaste} +\tab{5}\spadcommand{limit(x * log(x),x = 0,"right")} +\indentrel{3}\begin{verbatim} + (3) 0 + Type: Union(OrderedCompletion Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexlimitEmpty3} +\begin{paste}{MenuexlimitEmpty3}{MenuexlimitPatch3} +\pastebutton{MenuexlimitEmpty3}{\showpaste} +\tab{5}\spadcommand{limit(x * log(x),x = 0,"right")} +\end{paste}\end{patch} + +\begin{patch}{MenuexlimitPatch4} +\begin{paste}{MenuexlimitFull4}{MenuexlimitEmpty4} +\pastebutton{MenuexlimitFull4}{\hidepaste} +\tab{5}\spadcommand{limit(x * log(x),x = 0)} +\indentrel{3}\begin{verbatim} + (4) [leftHandLimit= "failed",rightHandLimit= 0] +Type: Union(Record(leftHandLimit: Union(OrderedCompletion Expression Integer,"failed"),rightHandLimit: Union(OrderedCompletion Expression Integer,"failed")),...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexlimitEmpty4} +\begin{paste}{MenuexlimitEmpty4}{MenuexlimitPatch4} +\pastebutton{MenuexlimitEmpty4}{\showpaste} +\tab{5}\spadcommand{limit(x * log(x),x = 0)} +\end{paste}\end{patch} + +\begin{patch}{MenuexlimitPatch5} +\begin{paste}{MenuexlimitFull5}{MenuexlimitEmpty5} +\pastebutton{MenuexlimitFull5}{\hidepaste} +\tab{5}\spadcommand{limit(sqrt(y**2)/y,y = 0)} +\indentrel{3}\begin{verbatim} + (5) [leftHandLimit= - 1,rightHandLimit= 1] +Type: Union(Record(leftHandLimit: Union(OrderedCompletion Expression Integer,"failed"),rightHandLimit: Union(OrderedCompletion Expression Integer,"failed")),...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexlimitEmpty5} +\begin{paste}{MenuexlimitEmpty5}{MenuexlimitPatch5} +\pastebutton{MenuexlimitEmpty5}{\showpaste} +\tab{5}\spadcommand{limit(sqrt(y**2)/y,y = 0)} +\end{paste}\end{patch} + +\begin{patch}{MenuexlimitPatch6} +\begin{paste}{MenuexlimitFull6}{MenuexlimitEmpty6} +\pastebutton{MenuexlimitFull6}{\hidepaste} +\tab{5}\spadcommand{limit(sqrt(1 - cos(t))/t,t = 0)} +\indentrel{3}\begin{verbatim} + 1 1 + (6) [leftHandLimit= - ÄÄÄÄ,rightHandLimit= ÄÄÄÄ] + ÚÄ¿ ÚÄ¿ + \³2 \³2 +Type: Union(Record(leftHandLimit: Union(OrderedCompletion Expression Integer,"failed"),rightHandLimit: Union(OrderedCompletion Expression Integer,"failed")),...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexlimitEmpty6} +\begin{paste}{MenuexlimitEmpty6}{MenuexlimitPatch6} +\pastebutton{MenuexlimitEmpty6}{\showpaste} +\tab{5}\spadcommand{limit(sqrt(1 - cos(t))/t,t = 0)} +\end{paste}\end{patch} + +\begin{patch}{MenuexlimitPatch7} +\begin{paste}{MenuexlimitFull7}{MenuexlimitEmpty7} +\pastebutton{MenuexlimitFull7}{\hidepaste} +\tab{5}\spadcommand{limit(sqrt(3*x**2 + 1)/(5*x),x = \%plusInfinity)} +\indentrel{3}\begin{verbatim} + ÚÄ¿ + \³3 + (7) ÄÄÄÄ + 5 + Type: Union(OrderedCompletion Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexlimitEmpty7} +\begin{paste}{MenuexlimitEmpty7}{MenuexlimitPatch7} +\pastebutton{MenuexlimitEmpty7}{\showpaste} +\tab{5}\spadcommand{limit(sqrt(3*x**2 + 1)/(5*x),x = \%plusInfinity)} +\end{paste}\end{patch} + +\begin{patch}{MenuexlimitPatch8} +\begin{paste}{MenuexlimitFull8}{MenuexlimitEmpty8} +\pastebutton{MenuexlimitFull8}{\hidepaste} +\tab{5}\spadcommand{limit(sqrt(3*x**2 + 1)/(5*x),x = \%minusInfinity)} +\indentrel{3}\begin{verbatim} + ÚÄ¿ + \³3 + (8) - ÄÄÄÄ + 5 + Type: Union(OrderedCompletion Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexlimitEmpty8} +\begin{paste}{MenuexlimitEmpty8}{MenuexlimitPatch8} +\pastebutton{MenuexlimitEmpty8}{\showpaste} +\tab{5}\spadcommand{limit(sqrt(3*x**2 + 1)/(5*x),x = \%minusInfinity)} +\end{paste}\end{patch} + +\begin{patch}{MenuexlimitPatch9} +\begin{paste}{MenuexlimitFull9}{MenuexlimitEmpty9} +\pastebutton{MenuexlimitFull9}{\hidepaste} +\tab{5}\spadcommand{limit(z * sin(1/z),z = 0)} +\indentrel{3}\begin{verbatim} + (9) 0 + Type: Union(OrderedCompletion Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexlimitEmpty9} +\begin{paste}{MenuexlimitEmpty9}{MenuexlimitPatch9} +\pastebutton{MenuexlimitEmpty9}{\showpaste} +\tab{5}\spadcommand{limit(z * sin(1/z),z = 0)} +\end{paste}\end{patch} + +\begin{patch}{MenuexlimitPatch10} +\begin{paste}{MenuexlimitFull10}{MenuexlimitEmpty10} +\pastebutton{MenuexlimitFull10}{\hidepaste} +\tab{5}\spadcommand{complexLimit(z * sin(1/z),z = 0)} +\indentrel{3}\begin{verbatim} + (10) "failed" + Type: Union("failed",...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexlimitEmpty10} +\begin{paste}{MenuexlimitEmpty10}{MenuexlimitPatch10} +\pastebutton{MenuexlimitEmpty10}{\showpaste} +\tab{5}\spadcommand{complexLimit(z * sin(1/z),z = 0)} +\end{paste}\end{patch} + +\begin{patch}{MenuexlimitPatch11} +\begin{paste}{MenuexlimitFull11}{MenuexlimitEmpty11} +\pastebutton{MenuexlimitFull11}{\hidepaste} +\tab{5}\spadcommand{complexLimit((2 + z)/(1 - z),z = \%infinity)} +\indentrel{3}\begin{verbatim} + (11) - 1 + Type: OnePointCompletion Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexlimitEmpty11} +\begin{paste}{MenuexlimitEmpty11}{MenuexlimitPatch11} +\pastebutton{MenuexlimitEmpty11}{\showpaste} +\tab{5}\spadcommand{complexLimit((2 + z)/(1 - z),z = \%infinity)} +\end{paste}\end{patch} + +\begin{patch}{MenuexlimitPatch12} +\begin{paste}{MenuexlimitFull12}{MenuexlimitEmpty12} +\pastebutton{MenuexlimitFull12}{\hidepaste} +\tab{5}\spadcommand{limit(sin(x)/x,x = \%plusInfinity)} +\indentrel{3}\begin{verbatim} + (12) 0 + Type: Union(OrderedCompletion Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexlimitEmpty12} +\begin{paste}{MenuexlimitEmpty12}{MenuexlimitPatch12} +\pastebutton{MenuexlimitEmpty12}{\showpaste} +\tab{5}\spadcommand{limit(sin(x)/x,x = \%plusInfinity)} +\end{paste}\end{patch} + +\begin{patch}{MenuexlimitPatch13} +\begin{paste}{MenuexlimitFull13}{MenuexlimitEmpty13} +\pastebutton{MenuexlimitFull13}{\hidepaste} +\tab{5}\spadcommand{complexLimit(sin(x)/x,x = \%infinity)} +\indentrel{3}\begin{verbatim} + (13) "failed" + Type: Union("failed",...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexlimitEmpty13} +\begin{paste}{MenuexlimitEmpty13}{MenuexlimitPatch13} +\pastebutton{MenuexlimitEmpty13}{\showpaste} +\tab{5}\spadcommand{complexLimit(sin(x)/x,x = \%infinity)} +\end{paste}\end{patch} @ \pagehead{Menuexmatrix}{coverex.ht}{Matrices} @@ -5028,7 +11443,349 @@ determinant(matrix([[1,2,3,4],[2,3,2,5],[3,4,5,6],[4,1,6,7]]))} \spadpaste{inverse(matrix([[1,2,1],[-2,3,4],[-1,5,6]])) } \menudownlink{Rank of a Matrix}{ExRankMatrix} \spadpaste{rank(matrix([[0,4,1],[5,3,-7],[-5,5,9]]))} -\endmenu\endscroll\end{page} +\endmenu\endscroll +\end{page} + +\begin{patch}{MenuexmatrixPatch1} +\begin{paste}{MenuexmatrixFull1}{MenuexmatrixEmpty1} +\pastebutton{MenuexmatrixFull1}{\hidepaste} +\tab{5}\spadcommand{m1 := matrix([[1,-2,1],[4,2,-4]])\bound{m1 }} +\indentrel{3}\begin{verbatim} + Ú1 - 2 1 ¿ + (1) ³ ³ + À4 2 - 4Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixEmpty1} +\begin{paste}{MenuexmatrixEmpty1}{MenuexmatrixPatch1} +\pastebutton{MenuexmatrixEmpty1}{\showpaste} +\tab{5}\spadcommand{m1 := matrix([[1,-2,1],[4,2,-4]])\bound{m1 }} +\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixPatch2} +\begin{paste}{MenuexmatrixFull2}{MenuexmatrixEmpty2} +\pastebutton{MenuexmatrixFull2}{\hidepaste} +\tab{5}\spadcommand{m2 := matrix([[1,0,2],[20,30,10],[0,200,100]])\bound{m2 }} +\indentrel{3}\begin{verbatim} + Ú1 0 2 ¿ + ³ ³ + (2) ³20 30 10 ³ + ³ ³ + À0 200 100Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixEmpty2} +\begin{paste}{MenuexmatrixEmpty2}{MenuexmatrixPatch2} +\pastebutton{MenuexmatrixEmpty2}{\showpaste} +\tab{5}\spadcommand{m2 := matrix([[1,0,2],[20,30,10],[0,200,100]])\bound{m2 }} +\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixPatch3} +\begin{paste}{MenuexmatrixFull3}{MenuexmatrixEmpty3} +\pastebutton{MenuexmatrixFull3}{\hidepaste} +\tab{5}\spadcommand{m3 := matrix([[1,2,3],[2,4,6]])\bound{m3 }} +\indentrel{3}\begin{verbatim} + Ú1 2 3¿ + (3) ³ ³ + À2 4 6Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixEmpty3} +\begin{paste}{MenuexmatrixEmpty3}{MenuexmatrixPatch3} +\pastebutton{MenuexmatrixEmpty3}{\showpaste} +\tab{5}\spadcommand{m3 := matrix([[1,2,3],[2,4,6]])\bound{m3 }} +\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixPatch4} +\begin{paste}{MenuexmatrixFull4}{MenuexmatrixEmpty4} +\pastebutton{MenuexmatrixFull4}{\hidepaste} +\tab{5}\spadcommand{m1 + m3\free{m1 }\free{m3 }} +\indentrel{3}\begin{verbatim} + Ú2 0 4¿ + (4) ³ ³ + À6 6 2Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixEmpty4} +\begin{paste}{MenuexmatrixEmpty4}{MenuexmatrixPatch4} +\pastebutton{MenuexmatrixEmpty4}{\showpaste} +\tab{5}\spadcommand{m1 + m3\free{m1 }\free{m3 }} +\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixPatch5} +\begin{paste}{MenuexmatrixFull5}{MenuexmatrixEmpty5} +\pastebutton{MenuexmatrixFull5}{\hidepaste} +\tab{5}\spadcommand{100 * m1\free{m1 }} +\indentrel{3}\begin{verbatim} + Ú100 - 200 100 ¿ + (5) ³ ³ + À400 200 - 400Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixEmpty5} +\begin{paste}{MenuexmatrixEmpty5}{MenuexmatrixPatch5} +\pastebutton{MenuexmatrixEmpty5}{\showpaste} +\tab{5}\spadcommand{100 * m1\free{m1 }} +\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixPatch6} +\begin{paste}{MenuexmatrixFull6}{MenuexmatrixEmpty6} +\pastebutton{MenuexmatrixFull6}{\hidepaste} +\tab{5}\spadcommand{m1 * m2\free{m1 }\free{m2 }} +\indentrel{3}\begin{verbatim} + Ú- 39 140 82 ¿ + (6) ³ ³ + À 44 - 740 - 372Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixEmpty6} +\begin{paste}{MenuexmatrixEmpty6}{MenuexmatrixPatch6} +\pastebutton{MenuexmatrixEmpty6}{\showpaste} +\tab{5}\spadcommand{m1 * m2\free{m1 }\free{m2 }} +\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixPatch7} +\begin{paste}{MenuexmatrixFull7}{MenuexmatrixEmpty7} +\pastebutton{MenuexmatrixFull7}{\hidepaste} +\tab{5}\spadcommand{-m1 + m3 * m2\free{m1 }\free{m2 }\free{m3 }} +\indentrel{3}\begin{verbatim} + Ú40 662 321¿ + (7) ³ ³ + À78 1318 648Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixEmpty7} +\begin{paste}{MenuexmatrixEmpty7}{MenuexmatrixPatch7} +\pastebutton{MenuexmatrixEmpty7}{\showpaste} +\tab{5}\spadcommand{-m1 + m3 * m2\free{m1 }\free{m2 }\free{m3 }} +\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixPatch8} +\begin{paste}{MenuexmatrixFull8}{MenuexmatrixEmpty8} +\pastebutton{MenuexmatrixFull8}{\hidepaste} +\tab{5}\spadcommand{m3 *vector([1,0,1])\free{m3 }} +\indentrel{3}\begin{verbatim} + (8) [4,8] + Type: Vector Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixEmpty8} +\begin{paste}{MenuexmatrixEmpty8}{MenuexmatrixPatch8} +\pastebutton{MenuexmatrixEmpty8}{\showpaste} +\tab{5}\spadcommand{m3 *vector([1,0,1])\free{m3 }} +\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixPatch9} +\begin{paste}{MenuexmatrixFull9}{MenuexmatrixEmpty9} +\pastebutton{MenuexmatrixFull9}{\hidepaste} +\tab{5}\spadcommand{diagonalMatrix([1,2,3,2,1])} +\indentrel{3}\begin{verbatim} + Ú1 0 0 0 0¿ + ³ ³ + ³0 2 0 0 0³ + ³ ³ + (9) ³0 0 3 0 0³ + ³ ³ + ³0 0 0 2 0³ + ³ ³ + À0 0 0 0 1Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixEmpty9} +\begin{paste}{MenuexmatrixEmpty9}{MenuexmatrixPatch9} +\pastebutton{MenuexmatrixEmpty9}{\showpaste} +\tab{5}\spadcommand{diagonalMatrix([1,2,3,2,1])} +\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixPatch10} +\begin{paste}{MenuexmatrixFull10}{MenuexmatrixEmpty10} +\pastebutton{MenuexmatrixFull10}{\hidepaste} +\tab{5}\spadcommand{subMatrix(matrix([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]]), 1,3,2,4)} +\indentrel{3}\begin{verbatim} + Ú1 2 3 ¿ + ³ ³ + (10) ³6 7 8 ³ + ³ ³ + À11 12 13Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixEmpty10} +\begin{paste}{MenuexmatrixEmpty10}{MenuexmatrixPatch10} +\pastebutton{MenuexmatrixEmpty10}{\showpaste} +\tab{5}\spadcommand{subMatrix(matrix([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]]), 1,3,2,4)} +\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixPatch11} +\begin{paste}{MenuexmatrixFull11}{MenuexmatrixEmpty11} +\pastebutton{MenuexmatrixFull11}{\hidepaste} +\tab{5}\spadcommand{horizConcat(matrix([[1,2,3],[6,7,8]]),matrix([[11,12,13],[55,77,88]]))} +\indentrel{3}\begin{verbatim} + Ú1 2 3 11 12 13¿ + (11) ³ ³ + À6 7 8 55 77 88Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixEmpty11} +\begin{paste}{MenuexmatrixEmpty11}{MenuexmatrixPatch11} +\pastebutton{MenuexmatrixEmpty11}{\showpaste} +\tab{5}\spadcommand{horizConcat(matrix([[1,2,3],[6,7,8]]),matrix([[11,12,13],[55,77,88]]))} +\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixPatch12} +\begin{paste}{MenuexmatrixFull12}{MenuexmatrixEmpty12} +\pastebutton{MenuexmatrixFull12}{\hidepaste} +\tab{5}\spadcommand{vertConcat(matrix([[1,2,3],[6,7,8]]),matrix([[11,12,13],[55,77,88]]))} +\indentrel{3}\begin{verbatim} + Ú1 2 3 ¿ + ³ ³ + ³6 7 8 ³ + (12) ³ ³ + ³11 12 13³ + ³ ³ + À55 77 88Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixEmpty12} +\begin{paste}{MenuexmatrixEmpty12}{MenuexmatrixPatch12} +\pastebutton{MenuexmatrixEmpty12}{\showpaste} +\tab{5}\spadcommand{vertConcat(matrix([[1,2,3],[6,7,8]]),matrix([[11,12,13],[55,77,88]]))} +\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixPatch13} +\begin{paste}{MenuexmatrixFull13}{MenuexmatrixEmpty13} +\pastebutton{MenuexmatrixFull13}{\hidepaste} +\tab{5}\spadcommand{b:=matrix([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]])\bound{b }} +\indentrel{3}\begin{verbatim} + Ú0 1 2 3 4 ¿ + ³ ³ + (13) ³5 6 7 8 9 ³ + ³ ³ + À10 11 12 13 14Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixEmpty13} +\begin{paste}{MenuexmatrixEmpty13}{MenuexmatrixPatch13} +\pastebutton{MenuexmatrixEmpty13}{\showpaste} +\tab{5}\spadcommand{b:=matrix([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]])\bound{b }} +\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixPatch14} +\begin{paste}{MenuexmatrixFull14}{MenuexmatrixEmpty14} +\pastebutton{MenuexmatrixFull14}{\hidepaste} +\tab{5}\spadcommand{setsubMatrix!(b,1,1,transpose(subMatrix(b,1,3,1,3)))\free{b }} +\indentrel{3}\begin{verbatim} + Ú0 5 10 3 4 ¿ + ³ ³ + (14) ³1 6 11 8 9 ³ + ³ ³ + À2 7 12 13 14Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixEmpty14} +\begin{paste}{MenuexmatrixEmpty14}{MenuexmatrixPatch14} +\pastebutton{MenuexmatrixEmpty14}{\showpaste} +\tab{5}\spadcommand{setsubMatrix!(b,1,1,transpose(subMatrix(b,1,3,1,3)))\free{b }} +\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixPatch15} +\begin{paste}{MenuexmatrixFull15}{MenuexmatrixEmpty15} +\pastebutton{MenuexmatrixFull15}{\hidepaste} +\tab{5}\spadcommand{trace( matrix([[1,x,x**2,x**3],[1,y,y**2,y**3],[1,z,z**2,z**3],[1,u,u**2,u**3]]) )} +\indentrel{3}\begin{verbatim} + 2 3 + (15) z + y + u + 1 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixEmpty15} +\begin{paste}{MenuexmatrixEmpty15}{MenuexmatrixPatch15} +\pastebutton{MenuexmatrixEmpty15}{\showpaste} +\tab{5}\spadcommand{trace( matrix([[1,x,x**2,x**3],[1,y,y**2,y**3],[1,z,z**2,z**3],[1,u,u**2,u**3]]) )} +\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixPatch16} +\begin{paste}{MenuexmatrixFull16}{MenuexmatrixEmpty16} +\pastebutton{MenuexmatrixFull16}{\hidepaste} +\tab{5}\spadcommand{determinant(matrix([[1,2,3,4],[2,3,2,5],[3,4,5,6],[4,1,6,7]]))} +\indentrel{3}\begin{verbatim} + (16) - 48 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixEmpty16} +\begin{paste}{MenuexmatrixEmpty16}{MenuexmatrixPatch16} +\pastebutton{MenuexmatrixEmpty16}{\showpaste} +\tab{5}\spadcommand{determinant(matrix([[1,2,3,4],[2,3,2,5],[3,4,5,6],[4,1,6,7]]))} +\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixPatch17} +\begin{paste}{MenuexmatrixFull17}{MenuexmatrixEmpty17} +\pastebutton{MenuexmatrixFull17}{\hidepaste} +\tab{5}\spadcommand{inverse(matrix([[1,2,1],[-2,3,4],[-1,5,6]]))} +\indentrel{3}\begin{verbatim} + Ú 2 5 ¿ + ³- Ä - 1 Ä ³ + ³ 7 7 ³ + ³ ³ + (17) ³ 8 6³ + ³ Ä 1 - ij + ³ 7 7³ + ³ ³ + À- 1 - 1 1 Ù + Type: Union(Matrix Fraction Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixEmpty17} +\begin{paste}{MenuexmatrixEmpty17}{MenuexmatrixPatch17} +\pastebutton{MenuexmatrixEmpty17}{\showpaste} +\tab{5}\spadcommand{inverse(matrix([[1,2,1],[-2,3,4],[-1,5,6]]))} +\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixPatch18} +\begin{paste}{MenuexmatrixFull18}{MenuexmatrixEmpty18} +\pastebutton{MenuexmatrixFull18}{\hidepaste} +\tab{5}\spadcommand{rank(matrix([[0,4,1],[5,3,-7],[-5,5,9]]))} +\indentrel{3}\begin{verbatim} + (18) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexmatrixEmpty18} +\begin{paste}{MenuexmatrixEmpty18}{MenuexmatrixPatch18} +\pastebutton{MenuexmatrixEmpty18}{\showpaste} +\tab{5}\spadcommand{rank(matrix([[0,4,1],[5,3,-7],[-5,5,9]]))} +\end{paste}\end{patch} @ \pagehead{Menuexplot2d}{coverex.ht}{2-D Graphics} @@ -5047,7 +11804,60 @@ determinant(matrix([[1,2,3,4],[2,3,2,5],[3,4,5,6],[4,1,6,7]]))} \graphpaste{draw(sin(4*t/7),t = 0..14*\%pi,coordinates == polar)} \menudownlink{Plotting Plane Algebraic Curves}{ExPlot2DAlgebraic} \graphpaste{draw(y**2 + y - (x**3 - x) = 0, x, y, range == [-2..2,-2..1])} -\endmenu\endscroll\end{page} +\endmenu\endscroll +\end{page} + +\begin{patch}{Menuexplot2dPatch1} +\begin{paste}{Menuexplot2dFull1}{Menuexplot2dEmpty1} +\pastebutton{Menuexplot2dFull1}{\hidepaste} +\tab{5}\spadgraph{draw(sin(tan(x)) - tan(sin(x)),x = 0..6)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/menuexplot2d1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/menuexplot2d1}} +\end{paste}\end{patch} + +\begin{patch}{Menuexplot2dEmpty1} +\begin{paste}{Menuexplot2dEmpty1}{Menuexplot2dPatch1} +\pastebutton{Menuexplot2dEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(sin(tan(x)) - tan(sin(x)),x = 0..6)} +\end{paste}\end{patch} + +\begin{patch}{Menuexplot2dPatch2} +\begin{paste}{Menuexplot2dFull2}{Menuexplot2dEmpty2} +\pastebutton{Menuexplot2dFull2}{\hidepaste} +\tab{5}\spadgraph{draw(curve(9 * sin(3*t/4),8 * sin(t)),t = -4*\%pi..4*\%pi)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/menuexplot2d2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/menuexplot2d2}} +\end{paste}\end{patch} + +\begin{patch}{Menuexplot2dEmpty2} +\begin{paste}{Menuexplot2dEmpty2}{Menuexplot2dPatch2} +\pastebutton{Menuexplot2dEmpty2}{\showpaste} +\tab{5}\spadgraph{draw(curve(9 * sin(3*t/4),8 * sin(t)),t = -4*\%pi..4*\%pi)} +\end{paste}\end{patch} + +\begin{patch}{Menuexplot2dPatch3} +\begin{paste}{Menuexplot2dFull3}{Menuexplot2dEmpty3} +\pastebutton{Menuexplot2dFull3}{\hidepaste} +\tab{5}\spadgraph{draw(sin(4*t/7),t = 0..14*\%pi,coordinates == polar)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/menuexplot2d3.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/menuexplot2d3}} +\end{paste}\end{patch} + +\begin{patch}{Menuexplot2dEmpty3} +\begin{paste}{Menuexplot2dEmpty3}{Menuexplot2dPatch3} +\pastebutton{Menuexplot2dEmpty3}{\showpaste} +\tab{5}\spadgraph{draw(sin(4*t/7),t = 0..14*\%pi,coordinates == polar)} +\end{paste}\end{patch} + +\begin{patch}{Menuexplot2dPatch4} +\begin{paste}{Menuexplot2dFull4}{Menuexplot2dEmpty4} +\pastebutton{Menuexplot2dFull4}{\hidepaste} +\tab{5}\spadgraph{draw(y**2 + y - (x**3 - x) = 0, x, y, range == [-2..2,-2..1])} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/menuexplot2d4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/menuexplot2d4}} +\end{paste}\end{patch} + +\begin{patch}{Menuexplot2dEmpty4} +\begin{paste}{Menuexplot2dEmpty4}{Menuexplot2dPatch4} +\pastebutton{Menuexplot2dEmpty4}{\showpaste} +\tab{5}\spadgraph{draw(y**2 + y - (x**3 - x) = 0, x, y, range == [-2..2,-2..1])} +\end{paste}\end{patch} @ \pagehead{Menuexplot3d}{coverex.ht}{3-D Graphics} @@ -5066,7 +11876,73 @@ u=0..\%pi,v=0..2*\%pi)} \menudownlink{Plotting Parametric Curves}{ExPlot3DParametricCurve} \graphpaste{draw(curve(cos(t),sin(t),t),t=0..6)} \graphpaste{draw(curve(t,t**2,t**3),t=-3..3)} -\endmenu\endscroll\end{page} +\endmenu\endscroll +\end{page} + +\begin{patch}{Menuexplot3dPatch1} +\begin{paste}{Menuexplot3dFull1}{Menuexplot3dEmpty1} +\pastebutton{Menuexplot3dFull1}{\hidepaste} +\tab{5}\spadgraph{draw(cos(x*y),x = -3..3,y = -3..3)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/menuexplot3d1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/menuexplot3d1}} +\end{paste}\end{patch} + +\begin{patch}{Menuexplot3dEmpty1} +\begin{paste}{Menuexplot3dEmpty1}{Menuexplot3dPatch1} +\pastebutton{Menuexplot3dEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(cos(x*y),x = -3..3,y = -3..3)} +\end{paste}\end{patch} + +\begin{patch}{Menuexplot3dPatch2} +\begin{paste}{Menuexplot3dFull2}{Menuexplot3dEmpty2} +\pastebutton{Menuexplot3dFull2}{\hidepaste} +\tab{5}\spadgraph{draw(surface(5*sin(u)*cos(v),4*sin(u)*sin(v),3*cos(u)),u=0..\%pi,v=0..2*\%pi)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/menuexplot3d2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/menuexplot3d2}} +\end{paste}\end{patch} + +\begin{patch}{Menuexplot3dEmpty2} +\begin{paste}{Menuexplot3dEmpty2}{Menuexplot3dPatch2} +\pastebutton{Menuexplot3dEmpty2}{\showpaste} +\tab{5}\spadgraph{draw(surface(5*sin(u)*cos(v),4*sin(u)*sin(v),3*cos(u)),u=0..\%pi,v=0..2*\%pi)} +\end{paste}\end{patch} + +\begin{patch}{Menuexplot3dPatch3} +\begin{paste}{Menuexplot3dFull3}{Menuexplot3dEmpty3} +\pastebutton{Menuexplot3dFull3}{\hidepaste} +\tab{5}\spadgraph{draw(surface(u*cos(v),u*sin(v),u),u=0..4,v=0..2*\%pi)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/menuexplot3d3.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/menuexplot3d3}} +\end{paste}\end{patch} + +\begin{patch}{Menuexplot3dEmpty3} +\begin{paste}{Menuexplot3dEmpty3}{Menuexplot3dPatch3} +\pastebutton{Menuexplot3dEmpty3}{\showpaste} +\tab{5}\spadgraph{draw(surface(u*cos(v),u*sin(v),u),u=0..4,v=0..2*\%pi)} +\end{paste}\end{patch} + +\begin{patch}{Menuexplot3dPatch4} +\begin{paste}{Menuexplot3dFull4}{Menuexplot3dEmpty4} +\pastebutton{Menuexplot3dFull4}{\hidepaste} +\tab{5}\spadgraph{draw(curve(cos(t),sin(t),t),t=0..6)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/menuexplot3d4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/menuexplot3d4}} +\end{paste}\end{patch} + +\begin{patch}{Menuexplot3dEmpty4} +\begin{paste}{Menuexplot3dEmpty4}{Menuexplot3dPatch4} +\pastebutton{Menuexplot3dEmpty4}{\showpaste} +\tab{5}\spadgraph{draw(curve(cos(t),sin(t),t),t=0..6)} +\end{paste}\end{patch} + +\begin{patch}{Menuexplot3dPatch5} +\begin{paste}{Menuexplot3dFull5}{Menuexplot3dEmpty5} +\pastebutton{Menuexplot3dFull5}{\hidepaste} +\tab{5}\spadgraph{draw(curve(t,t**2,t**3),t=-3..3)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/menuexplot3d5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/menuexplot3d5}} +\end{paste}\end{patch} + +\begin{patch}{Menuexplot3dEmpty5} +\begin{paste}{Menuexplot3dEmpty5}{Menuexplot3dPatch5} +\pastebutton{Menuexplot3dEmpty5}{\showpaste} +\tab{5}\spadgraph{draw(curve(t,t**2,t**3),t=-3..3)} +\end{paste}\end{patch} @ \pagehead{Menuexseries}{coverex.ht}{Series} @@ -5092,7 +11968,232 @@ u=0..\%pi,v=0..2*\%pi)} {ExSeriesSubstitution} \spadpaste{f := taylor(exp(x)) \bound{f2}} \spadpaste{eval(f,1.0) \free{f2}} -\endmenu\endscroll\end{page} +\endmenu\endscroll +\end{page} + +\begin{patch}{MenuexseriesPatch1} +\begin{paste}{MenuexseriesFull1}{MenuexseriesEmpty1} +\pastebutton{MenuexseriesFull1}{\hidepaste} +\tab{5}\spadcommand{series(sin(a*x),x = 0)} +\indentrel{3}\begin{verbatim} + (1) + 3 5 7 9 + a 3 a 5 a 7 a 9 + a x - ÄÄ x + ÄÄÄ x - ÄÄÄÄ x + ÄÄÄÄÄÄ x + 6 120 5040 362880 + + + 11 + a 11 12 + - ÄÄÄÄÄÄÄÄ x + O(x ) + 39916800 + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexseriesEmpty1} +\begin{paste}{MenuexseriesEmpty1}{MenuexseriesPatch1} +\pastebutton{MenuexseriesEmpty1}{\showpaste} +\tab{5}\spadcommand{series(sin(a*x),x = 0)} +\end{paste}\end{patch} + +\begin{patch}{MenuexseriesPatch2} +\begin{paste}{MenuexseriesFull2}{MenuexseriesEmpty2} +\pastebutton{MenuexseriesFull2}{\hidepaste} +\tab{5}\spadcommand{series(sin(a*x),a = \%pi/4)} +\indentrel{3}\begin{verbatim} + (2) + %pi x %pi x %pi + sin(ÄÄÄÄÄ) + x cos(ÄÄÄÄÄ)(a - ÄÄÄ) + 4 4 4 + + + 2 %pi x 3 %pi x + x sin(ÄÄÄÄÄ) x cos(ÄÄÄÄÄ) + 4 %pi 2 4 %pi 3 + - ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) - ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) + 2 4 6 4 + + + 4 %pi x 5 %pi x + x sin(ÄÄÄÄÄ) x cos(ÄÄÄÄÄ) + 4 %pi 4 4 %pi 5 + ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) + ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) + 24 4 120 4 + + + 6 %pi x 7 %pi x + x sin(ÄÄÄÄÄ) x cos(ÄÄÄÄÄ) + 4 %pi 6 4 %pi 7 + - ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) - ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) + 720 4 5040 4 + + + 8 %pi x 9 %pi x + x sin(ÄÄÄÄÄ) x cos(ÄÄÄÄÄ) + 4 %pi 8 4 %pi 9 + ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) + ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) + 40320 4 362880 4 + + + 10 %pi x + x sin(ÄÄÄÄÄ) + 4 %pi 10 %pi 11 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) + O((a - ÄÄÄ) ) + 3628800 4 4 +Type: UnivariatePuiseuxSeries(Expression Integer,a,pi/4) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexseriesEmpty2} +\begin{paste}{MenuexseriesEmpty2}{MenuexseriesPatch2} +\pastebutton{MenuexseriesEmpty2}{\showpaste} +\tab{5}\spadcommand{series(sin(a*x),a = \%pi/4)} +\end{paste}\end{patch} + +\begin{patch}{MenuexseriesPatch3} +\begin{paste}{MenuexseriesFull3}{MenuexseriesEmpty3} +\pastebutton{MenuexseriesFull3}{\hidepaste} +\tab{5}\spadcommand{f := series(1/(1-x),x = 0)\bound{f }} +\indentrel{3}\begin{verbatim} + (3) + 2 3 4 5 6 7 8 9 10 + 1 + x + x + x + x + x + x + x + x + x + x + + + 11 + O(x ) + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexseriesEmpty3} +\begin{paste}{MenuexseriesEmpty3}{MenuexseriesPatch3} +\pastebutton{MenuexseriesEmpty3}{\showpaste} +\tab{5}\spadcommand{f := series(1/(1-x),x = 0)\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{MenuexseriesPatch4} +\begin{paste}{MenuexseriesFull4}{MenuexseriesEmpty4} +\pastebutton{MenuexseriesFull4}{\hidepaste} +\tab{5}\spadcommand{f ** 2\free{f }} +\indentrel{3}\begin{verbatim} + (4) + 2 3 4 5 6 7 8 + 1 + 2x + 3x + 4x + 5x + 6x + 7x + 8x + 9x + + + 9 10 11 + 10x + 11x + O(x ) + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexseriesEmpty4} +\begin{paste}{MenuexseriesEmpty4}{MenuexseriesPatch4} +\pastebutton{MenuexseriesEmpty4}{\showpaste} +\tab{5}\spadcommand{f ** 2\free{f }} +\end{paste}\end{patch} + +\begin{patch}{MenuexseriesPatch5} +\begin{paste}{MenuexseriesFull5}{MenuexseriesEmpty5} +\pastebutton{MenuexseriesFull5}{\hidepaste} +\tab{5}\spadcommand{f := series(1/(1-x),x = 0)\bound{f1 }} +\indentrel{3}\begin{verbatim} + (5) + 2 3 4 5 6 7 8 9 10 + 1 + x + x + x + x + x + x + x + x + x + x + + + 11 + O(x ) + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexseriesEmpty5} +\begin{paste}{MenuexseriesEmpty5}{MenuexseriesPatch5} +\pastebutton{MenuexseriesEmpty5}{\showpaste} +\tab{5}\spadcommand{f := series(1/(1-x),x = 0)\bound{f1 }} +\end{paste}\end{patch} + +\begin{patch}{MenuexseriesPatch6} +\begin{paste}{MenuexseriesFull6}{MenuexseriesEmpty6} +\pastebutton{MenuexseriesFull6}{\hidepaste} +\tab{5}\spadcommand{g := log(f)\free{f1 }\bound{g }} +\indentrel{3}\begin{verbatim} + (6) + 1 2 1 3 1 4 1 5 1 6 1 7 1 8 + x + Ä x + Ä x + Ä x + Ä x + Ä x + Ä x + Ä x + 2 3 4 5 6 7 8 + + + 1 9 1 10 1 11 12 + Ä x + ÄÄ x + ÄÄ x + O(x ) + 9 10 11 + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexseriesEmpty6} +\begin{paste}{MenuexseriesEmpty6}{MenuexseriesPatch6} +\pastebutton{MenuexseriesEmpty6}{\showpaste} +\tab{5}\spadcommand{g := log(f)\free{f1 }\bound{g }} +\end{paste}\end{patch} + +\begin{patch}{MenuexseriesPatch7} +\begin{paste}{MenuexseriesFull7}{MenuexseriesEmpty7} +\pastebutton{MenuexseriesFull7}{\hidepaste} +\tab{5}\spadcommand{exp(g)\free{g }} +\indentrel{3}\begin{verbatim} + (7) + 2 3 4 5 6 7 8 9 10 + 1 + x + x + x + x + x + x + x + x + x + x + + + 11 + O(x ) + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexseriesEmpty7} +\begin{paste}{MenuexseriesEmpty7}{MenuexseriesPatch7} +\pastebutton{MenuexseriesEmpty7}{\showpaste} +\tab{5}\spadcommand{exp(g)\free{g }} +\end{paste}\end{patch} + +\begin{patch}{MenuexseriesPatch8} +\begin{paste}{MenuexseriesFull8}{MenuexseriesEmpty8} +\pastebutton{MenuexseriesFull8}{\hidepaste} +\tab{5}\spadcommand{f := taylor(exp(x))\bound{f2 }} +\indentrel{3}\begin{verbatim} + (8) + 1 2 1 3 1 4 1 5 1 6 + 1 + x + Ä x + Ä x + ÄÄ x + ÄÄÄ x + ÄÄÄ x + 2 6 24 120 720 + + + 1 7 1 8 1 9 1 10 11 + ÄÄÄÄ x + ÄÄÄÄÄ x + ÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄ x + O(x ) + 5040 40320 362880 3628800 + Type: UnivariateTaylorSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexseriesEmpty8} +\begin{paste}{MenuexseriesEmpty8}{MenuexseriesPatch8} +\pastebutton{MenuexseriesEmpty8}{\showpaste} +\tab{5}\spadcommand{f := taylor(exp(x))\bound{f2 }} +\end{paste}\end{patch} + +\begin{patch}{MenuexseriesPatch9} +\begin{paste}{MenuexseriesFull9}{MenuexseriesEmpty9} +\pastebutton{MenuexseriesFull9}{\hidepaste} +\tab{5}\spadcommand{eval(f,1.0)\free{f2 }} +\indentrel{3}\begin{verbatim} + (9) + [1.0, 2.0, 2.5, 2.6666666666 666666667, + 2.7083333333 333333333, 2.7166666666 666666667, + 2.7180555555 555555556, 2.7182539682 53968254, + 2.7182787698 412698413, 2.7182815255 731922399, ...] + Type: Stream Expression Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexseriesEmpty9} +\begin{paste}{MenuexseriesEmpty9}{MenuexseriesPatch9} +\pastebutton{MenuexseriesEmpty9}{\showpaste} +\tab{5}\spadcommand{eval(f,1.0)\free{f2 }} +\end{paste}\end{patch} @ \pagehead{Menuexsum}{coverex.ht}{Summations} @@ -5128,7 +12229,243 @@ u=0..\%pi,v=0..2*\%pi)} \spadpaste{sum(k * x**k,k = 1..n)} \menudownlink{Infinite Sums}{ExSumInfinite} \spadpaste{limit( sum(1/(k * (k + 2)),k = 1..n) ,n = \%plusInfinity)} -\endmenu\endscroll\end{page} +\endmenu\endscroll +\end{page} + +\begin{patch}{MenuexsumPatch1} +\begin{paste}{MenuexsumFull1}{MenuexsumEmpty1} +\pastebutton{MenuexsumFull1}{\hidepaste} +\tab{5}\spadcommand{[i for i in 1..15]} +\indentrel{3}\begin{verbatim} + (1) [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexsumEmpty1} +\begin{paste}{MenuexsumEmpty1}{MenuexsumPatch1} +\pastebutton{MenuexsumEmpty1}{\showpaste} +\tab{5}\spadcommand{[i for i in 1..15]} +\end{paste}\end{patch} + +\begin{patch}{MenuexsumPatch2} +\begin{paste}{MenuexsumFull2}{MenuexsumEmpty2} +\pastebutton{MenuexsumFull2}{\hidepaste} +\tab{5}\spadcommand{reduce(+,[i for i in 1..15])} +\indentrel{3}\begin{verbatim} + (2) 120 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexsumEmpty2} +\begin{paste}{MenuexsumEmpty2}{MenuexsumPatch2} +\pastebutton{MenuexsumEmpty2}{\showpaste} +\tab{5}\spadcommand{reduce(+,[i for i in 1..15])} +\end{paste}\end{patch} + +\begin{patch}{MenuexsumPatch3} +\begin{paste}{MenuexsumFull3}{MenuexsumEmpty3} +\pastebutton{MenuexsumFull3}{\hidepaste} +\tab{5}\spadcommand{[n**2 for n in 5..20]} +\indentrel{3}\begin{verbatim} + (3) + [25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, + 256, 289, 324, 361, 400] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexsumEmpty3} +\begin{paste}{MenuexsumEmpty3}{MenuexsumPatch3} +\pastebutton{MenuexsumEmpty3}{\showpaste} +\tab{5}\spadcommand{[n**2 for n in 5..20]} +\end{paste}\end{patch} + +\begin{patch}{MenuexsumPatch4} +\begin{paste}{MenuexsumFull4}{MenuexsumEmpty4} +\pastebutton{MenuexsumFull4}{\hidepaste} +\tab{5}\spadcommand{reduce(+,[n**2 for n in 5..20])} +\indentrel{3}\begin{verbatim} + (4) 2840 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexsumEmpty4} +\begin{paste}{MenuexsumEmpty4}{MenuexsumPatch4} +\pastebutton{MenuexsumEmpty4}{\showpaste} +\tab{5}\spadcommand{reduce(+,[n**2 for n in 5..20])} +\end{paste}\end{patch} + +\begin{patch}{MenuexsumPatch5} +\begin{paste}{MenuexsumFull5}{MenuexsumEmpty5} +\pastebutton{MenuexsumFull5}{\hidepaste} +\tab{5}\spadcommand{reduce(+,[1.0/factorial(n) for n in 0..20])} +\indentrel{3}\begin{verbatim} + (5) 2.7182818284 590452354 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexsumEmpty5} +\begin{paste}{MenuexsumEmpty5}{MenuexsumPatch5} +\pastebutton{MenuexsumEmpty5}{\showpaste} +\tab{5}\spadcommand{reduce(+,[1.0/factorial(n) for n in 0..20])} +\end{paste}\end{patch} + +\begin{patch}{MenuexsumPatch6} +\begin{paste}{MenuexsumFull6}{MenuexsumEmpty6} +\pastebutton{MenuexsumFull6}{\hidepaste} +\tab{5}\spadcommand{s := sum(k**2,k = a..b)\bound{s }} +\indentrel{3}\begin{verbatim} + 3 2 3 2 + 2b + 3b + b - 2a + 3a - a + (6) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 6 + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexsumEmpty6} +\begin{paste}{MenuexsumEmpty6}{MenuexsumPatch6} +\pastebutton{MenuexsumEmpty6}{\showpaste} +\tab{5}\spadcommand{s := sum(k**2,k = a..b)\bound{s }} +\end{paste}\end{patch} + +\begin{patch}{MenuexsumPatch7} +\begin{paste}{MenuexsumFull7}{MenuexsumEmpty7} +\pastebutton{MenuexsumFull7}{\hidepaste} +\tab{5}\spadcommand{eval(s,[a,b],[1,25])\free{s }} +\indentrel{3}\begin{verbatim} + (7) 5525 + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexsumEmpty7} +\begin{paste}{MenuexsumEmpty7}{MenuexsumPatch7} +\pastebutton{MenuexsumEmpty7}{\showpaste} +\tab{5}\spadcommand{eval(s,[a,b],[1,25])\free{s }} +\end{paste}\end{patch} + +\begin{patch}{MenuexsumPatch8} +\begin{paste}{MenuexsumFull8}{MenuexsumEmpty8} +\pastebutton{MenuexsumFull8}{\hidepaste} +\tab{5}\spadcommand{reduce(+,[i**2 for i in 1..25])} +\indentrel{3}\begin{verbatim} + (8) 5525 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexsumEmpty8} +\begin{paste}{MenuexsumEmpty8}{MenuexsumPatch8} +\pastebutton{MenuexsumEmpty8}{\showpaste} +\tab{5}\spadcommand{reduce(+,[i**2 for i in 1..25])} +\end{paste}\end{patch} + +\begin{patch}{MenuexsumPatch9} +\begin{paste}{MenuexsumFull9}{MenuexsumEmpty9} +\pastebutton{MenuexsumFull9}{\hidepaste} +\tab{5}\spadcommand{sum(k**3,k = 1..n)} +\indentrel{3}\begin{verbatim} + 4 3 2 + n + 2n + n + (9) ÄÄÄÄÄÄÄÄÄÄÄÄÄ + 4 + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexsumEmpty9} +\begin{paste}{MenuexsumEmpty9}{MenuexsumPatch9} +\pastebutton{MenuexsumEmpty9}{\showpaste} +\tab{5}\spadcommand{sum(k**3,k = 1..n)} +\end{paste}\end{patch} + +\begin{patch}{MenuexsumPatch10} +\begin{paste}{MenuexsumFull10}{MenuexsumEmpty10} +\pastebutton{MenuexsumFull10}{\hidepaste} +\tab{5}\spadcommand{sum(k,k = 1..n) ** 2} +\indentrel{3}\begin{verbatim} + 4 3 2 + n + 2n + n + (10) ÄÄÄÄÄÄÄÄÄÄÄÄÄ + 4 + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexsumEmpty10} +\begin{paste}{MenuexsumEmpty10}{MenuexsumPatch10} +\pastebutton{MenuexsumEmpty10}{\showpaste} +\tab{5}\spadcommand{sum(k,k = 1..n) ** 2} +\end{paste}\end{patch} + +\begin{patch}{MenuexsumPatch11} +\begin{paste}{MenuexsumFull11}{MenuexsumEmpty11} +\pastebutton{MenuexsumFull11}{\hidepaste} +\tab{5}\spadcommand{sum(3*k**2/(c**2 + 1) + 12*k/d,k = (3*a)..(4*b))} +\indentrel{3}\begin{verbatim} + (11) + 3 2 3 2 + (128b + 48b + 4b - 54a + 27a - 3a)d + + + 2 2 2 2 2 + (192b + 48b - 108a + 36a)c + 192b + 48b - 108a + + + 36a + / + 2 + (2c + 2)d + Type: Union(Fraction Polynomial Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexsumEmpty11} +\begin{paste}{MenuexsumEmpty11}{MenuexsumPatch11} +\pastebutton{MenuexsumEmpty11}{\showpaste} +\tab{5}\spadcommand{sum(3*k**2/(c**2 + 1) + 12*k/d,k = (3*a)..(4*b))} +\end{paste}\end{patch} + +\begin{patch}{MenuexsumPatch12} +\begin{paste}{MenuexsumFull12}{MenuexsumEmpty12} +\pastebutton{MenuexsumFull12}{\hidepaste} +\tab{5}\spadcommand{sum(k * x**k,k = 1..n)} +\indentrel{3}\begin{verbatim} + 2 n + (n x + (- n - 1)x)x + x + (12) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 2 + x - 2x + 1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexsumEmpty12} +\begin{paste}{MenuexsumEmpty12}{MenuexsumPatch12} +\pastebutton{MenuexsumEmpty12}{\showpaste} +\tab{5}\spadcommand{sum(k * x**k,k = 1..n)} +\end{paste}\end{patch} + +\begin{patch}{MenuexsumPatch13} +\begin{paste}{MenuexsumFull13}{MenuexsumEmpty13} +\pastebutton{MenuexsumFull13}{\hidepaste} +\tab{5}\spadcommand{limit( sum(1/(k * (k + 2)),k = 1..n) ,n = \%plusInfinity)} +\indentrel{3}\begin{verbatim} + 3 + (13) Ä + 4 +Type: Union(OrderedCompletion Fraction Polynomial Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MenuexsumEmpty13} +\begin{paste}{MenuexsumEmpty13}{MenuexsumPatch13} +\pastebutton{MenuexsumEmpty13}{\showpaste} +\tab{5}\spadcommand{limit( sum(1/(k * (k + 2)),k = 1..n) ,n = \%plusInfinity)} +\end{paste}\end{patch} @ \section{decimal.ht} @@ -5192,6 +12529,142 @@ These numbers are bona fide algebraic objects. \autobuttons \end{page} +\begin{patch}{DecimalExpansionXmpPagePatch1} +\begin{paste}{DecimalExpansionXmpPageFull1}{DecimalExpansionXmpPageEmpty1} +\pastebutton{DecimalExpansionXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{r := decimal(22/7)\bound{r }} +\indentrel{3}\begin{verbatim} + ______ + (1) 3.142857 + Type: DecimalExpansion +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DecimalExpansionXmpPageEmpty1} +\begin{paste}{DecimalExpansionXmpPageEmpty1}{DecimalExpansionXmpPagePatch1} +\pastebutton{DecimalExpansionXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{r := decimal(22/7)\bound{r }} +\end{paste}\end{patch} + +\begin{patch}{DecimalExpansionXmpPagePatch2} +\begin{paste}{DecimalExpansionXmpPageFull2}{DecimalExpansionXmpPageEmpty2} +\pastebutton{DecimalExpansionXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{r + decimal(6/7)\free{r }} +\indentrel{3}\begin{verbatim} + (2) 4 + Type: DecimalExpansion +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DecimalExpansionXmpPageEmpty2} +\begin{paste}{DecimalExpansionXmpPageEmpty2}{DecimalExpansionXmpPagePatch2} +\pastebutton{DecimalExpansionXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{r + decimal(6/7)\free{r }} +\end{paste}\end{patch} + +\begin{patch}{DecimalExpansionXmpPagePatch3} +\begin{paste}{DecimalExpansionXmpPageFull3}{DecimalExpansionXmpPageEmpty3} +\pastebutton{DecimalExpansionXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{[decimal(1/i) for i in 350..354]} +\indentrel{3}\begin{verbatim} + (3) + ______ ______ __ + [0.00285714, 0.002849, 0.0028409, + ________________________________ + 0.00283286118980169971671388101983, + + 0.0 + OVERBAR + 02824858757062146892655367231638418079096045197 + 74011299435 + ] + Type: List DecimalExpansion +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DecimalExpansionXmpPageEmpty3} +\begin{paste}{DecimalExpansionXmpPageEmpty3}{DecimalExpansionXmpPagePatch3} +\pastebutton{DecimalExpansionXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{[decimal(1/i) for i in 350..354]} +\end{paste}\end{patch} + +\begin{patch}{DecimalExpansionXmpPagePatch4} +\begin{paste}{DecimalExpansionXmpPageFull4}{DecimalExpansionXmpPageEmpty4} +\pastebutton{DecimalExpansionXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{decimal(1/2049)} +\indentrel{3}\begin{verbatim} + (4) + 0. + OVERBAR + 0004880429477794045876037091264031234748657881893 + 60663738408979990239141044411908247925817471937 + 53050268423621278672523182040019521717911176183 + 50414836505612493899463152757442654953635919960 + 95656417764763299170326988775012201073694485114 + 69009272816007808687164470473401659346022449975 + 59785261102977061981454367984382625671059053196 + 6813079551 + Type: DecimalExpansion +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DecimalExpansionXmpPageEmpty4} +\begin{paste}{DecimalExpansionXmpPageEmpty4}{DecimalExpansionXmpPagePatch4} +\pastebutton{DecimalExpansionXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{decimal(1/2049)} +\end{paste}\end{patch} + +\begin{patch}{DecimalExpansionXmpPagePatch5} +\begin{paste}{DecimalExpansionXmpPageFull5}{DecimalExpansionXmpPageEmpty5} +\pastebutton{DecimalExpansionXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{p := decimal(1/4)*x**2 + decimal(2/3)*x + decimal(4/9)\bound{p }} +\indentrel{3}\begin{verbatim} + 2 _ _ + (5) 0.25x + 0.6x + 0.4 + Type: Polynomial DecimalExpansion +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DecimalExpansionXmpPageEmpty5} +\begin{paste}{DecimalExpansionXmpPageEmpty5}{DecimalExpansionXmpPagePatch5} +\pastebutton{DecimalExpansionXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{p := decimal(1/4)*x**2 + decimal(2/3)*x + decimal(4/9)\bound{p }} +\end{paste}\end{patch} + +\begin{patch}{DecimalExpansionXmpPagePatch6} +\begin{paste}{DecimalExpansionXmpPageFull6}{DecimalExpansionXmpPageEmpty6} +\pastebutton{DecimalExpansionXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{q := differentiate(p, x)\free{p }\bound{q }} +\indentrel{3}\begin{verbatim} + _ + (6) 0.5x + 0.6 + Type: Polynomial DecimalExpansion +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DecimalExpansionXmpPageEmpty6} +\begin{paste}{DecimalExpansionXmpPageEmpty6}{DecimalExpansionXmpPagePatch6} +\pastebutton{DecimalExpansionXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{q := differentiate(p, x)\free{p }\bound{q }} +\end{paste}\end{patch} + +\begin{patch}{DecimalExpansionXmpPagePatch7} +\begin{paste}{DecimalExpansionXmpPageFull7}{DecimalExpansionXmpPageEmpty7} +\pastebutton{DecimalExpansionXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{g := gcd(p, q)\free{p q }\bound{g }} +\indentrel{3}\begin{verbatim} + _ + (7) x + 1.3 + Type: Polynomial DecimalExpansion +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DecimalExpansionXmpPageEmpty7} +\begin{paste}{DecimalExpansionXmpPageEmpty7}{DecimalExpansionXmpPagePatch7} +\pastebutton{DecimalExpansionXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{g := gcd(p, q)\free{p q }\bound{g }} +\end{paste}\end{patch} + @ \section{derham.ht} \pagehead{DeRhamComplexXmpPage}{derham.ht}{DeRhamComplex} @@ -5405,6 +12878,597 @@ consists of the eight forms: \spad{1}, \spad{dx}, \spad{dy}, \spad{dz}, \autobuttons \end{page} +\begin{patch}{DeRhamComplexXmpPagePatch1} +\begin{paste}{DeRhamComplexXmpPageFull1}{DeRhamComplexXmpPageEmpty1} +\pastebutton{DeRhamComplexXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{coefRing := Integer\bound{coefRing }} +\indentrel{3}\begin{verbatim} + (1) Integer + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty1} +\begin{paste}{DeRhamComplexXmpPageEmpty1}{DeRhamComplexXmpPagePatch1} +\pastebutton{DeRhamComplexXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{coefRing := Integer\bound{coefRing }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch2} +\begin{paste}{DeRhamComplexXmpPageFull2}{DeRhamComplexXmpPageEmpty2} +\pastebutton{DeRhamComplexXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{lv : List Symbol := [x,y,z]\bound{lv }} +\indentrel{3}\begin{verbatim} + (2) [x,y,z] + Type: List Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty2} +\begin{paste}{DeRhamComplexXmpPageEmpty2}{DeRhamComplexXmpPagePatch2} +\pastebutton{DeRhamComplexXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{lv : List Symbol := [x,y,z]\bound{lv }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch3} +\begin{paste}{DeRhamComplexXmpPageFull3}{DeRhamComplexXmpPageEmpty3} +\pastebutton{DeRhamComplexXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{der := DERHAM(coefRing,lv)\free{coefRing }\free{lv }\bound{der }} +\indentrel{3}\begin{verbatim} + (3) DeRhamComplex(Integer,[x,y,z]) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty3} +\begin{paste}{DeRhamComplexXmpPageEmpty3}{DeRhamComplexXmpPagePatch3} +\pastebutton{DeRhamComplexXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{der := DERHAM(coefRing,lv)\free{coefRing }\free{lv }\bound{der }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch4} +\begin{paste}{DeRhamComplexXmpPageFull4}{DeRhamComplexXmpPageEmpty4} +\pastebutton{DeRhamComplexXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{R := Expression coefRing\free{coefRing }\bound{R }} +\indentrel{3}\begin{verbatim} + (4) Expression Integer + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty4} +\begin{paste}{DeRhamComplexXmpPageEmpty4}{DeRhamComplexXmpPagePatch4} +\pastebutton{DeRhamComplexXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{R := Expression coefRing\free{coefRing }\bound{R }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch5} +\begin{paste}{DeRhamComplexXmpPageFull5}{DeRhamComplexXmpPageEmpty5} +\pastebutton{DeRhamComplexXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{f : R := x**2*y*z-5*x**3*y**2*z**5\free{R }\bound{f }} +\indentrel{3}\begin{verbatim} + 3 2 5 2 + (5) - 5x y z + x y z + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty5} +\begin{paste}{DeRhamComplexXmpPageEmpty5}{DeRhamComplexXmpPagePatch5} +\pastebutton{DeRhamComplexXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{f : R := x**2*y*z-5*x**3*y**2*z**5\free{R }\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch6} +\begin{paste}{DeRhamComplexXmpPageFull6}{DeRhamComplexXmpPageEmpty6} +\pastebutton{DeRhamComplexXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{g : R := z**2*y*cos(z)-7*sin(x**3*y**2)*z**2\free{R }\bound{g }} +\indentrel{3}\begin{verbatim} + 2 3 2 2 + (6) - 7z sin(x y ) + y z cos(z) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty6} +\begin{paste}{DeRhamComplexXmpPageEmpty6}{DeRhamComplexXmpPagePatch6} +\pastebutton{DeRhamComplexXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{g : R := z**2*y*cos(z)-7*sin(x**3*y**2)*z**2\free{R }\bound{g }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch7} +\begin{paste}{DeRhamComplexXmpPageFull7}{DeRhamComplexXmpPageEmpty7} +\pastebutton{DeRhamComplexXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{h : R :=x*y*z-2*x**3*y*z**2\free{R }\bound{h }} +\indentrel{3}\begin{verbatim} + 3 2 + (7) - 2x y z + x y z + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty7} +\begin{paste}{DeRhamComplexXmpPageEmpty7}{DeRhamComplexXmpPagePatch7} +\pastebutton{DeRhamComplexXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{h : R :=x*y*z-2*x**3*y*z**2\free{R }\bound{h }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch8} +\begin{paste}{DeRhamComplexXmpPageFull8}{DeRhamComplexXmpPageEmpty8} +\pastebutton{DeRhamComplexXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{dx : der := generator(1)\free{der }\bound{dx }} +\indentrel{3}\begin{verbatim} + (8) dx + Type: DeRhamComplex(Integer,[x,y,z]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty8} +\begin{paste}{DeRhamComplexXmpPageEmpty8}{DeRhamComplexXmpPagePatch8} +\pastebutton{DeRhamComplexXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{dx : der := generator(1)\free{der }\bound{dx }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch9} +\begin{paste}{DeRhamComplexXmpPageFull9}{DeRhamComplexXmpPageEmpty9} +\pastebutton{DeRhamComplexXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{dy : der := generator(2)\free{der }\bound{dy }} +\indentrel{3}\begin{verbatim} + (9) dy + Type: DeRhamComplex(Integer,[x,y,z]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty9} +\begin{paste}{DeRhamComplexXmpPageEmpty9}{DeRhamComplexXmpPagePatch9} +\pastebutton{DeRhamComplexXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{dy : der := generator(2)\free{der }\bound{dy }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch10} +\begin{paste}{DeRhamComplexXmpPageFull10}{DeRhamComplexXmpPageEmpty10} +\pastebutton{DeRhamComplexXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{dz : der := generator(3)\free{der }\bound{dz }} +\indentrel{3}\begin{verbatim} + (10) dz + Type: DeRhamComplex(Integer,[x,y,z]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty10} +\begin{paste}{DeRhamComplexXmpPageEmpty10}{DeRhamComplexXmpPagePatch10} +\pastebutton{DeRhamComplexXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{dz : der := generator(3)\free{der }\bound{dz }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch11} +\begin{paste}{DeRhamComplexXmpPageFull11}{DeRhamComplexXmpPageEmpty11} +\pastebutton{DeRhamComplexXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{[dx,dy,dz] := [generator(i)$der for i in 1..3]\free{der }\bound{dxyz }} +\indentrel{3}\begin{verbatim} + (11) [dx,dy,dz] + Type: List DeRhamComplex(Integer,[x,y,z]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty11} +\begin{paste}{DeRhamComplexXmpPageEmpty11}{DeRhamComplexXmpPagePatch11} +\pastebutton{DeRhamComplexXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{[dx,dy,dz] := [generator(i)$der for i in 1..3]\free{der }\bound{dxyz }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch12} +\begin{paste}{DeRhamComplexXmpPageFull12}{DeRhamComplexXmpPageEmpty12} +\pastebutton{DeRhamComplexXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{alpha : der := f*dx + g*dy + h*dz\bound{alpha }\free{der f g h dxyz }} +\indentrel{3}\begin{verbatim} + (12) + 3 2 + (- 2x y z + x y z)dz + + + 2 3 2 2 3 2 5 2 + (- 7z sin(x y ) + y z cos(z))dy + (- 5x y z + x y z)dx + Type: DeRhamComplex(Integer,[x,y,z]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty12} +\begin{paste}{DeRhamComplexXmpPageEmpty12}{DeRhamComplexXmpPagePatch12} +\pastebutton{DeRhamComplexXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{alpha : der := f*dx + g*dy + h*dz\bound{alpha }\free{der f g h dxyz }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch13} +\begin{paste}{DeRhamComplexXmpPageFull13}{DeRhamComplexXmpPageEmpty13} +\pastebutton{DeRhamComplexXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{beta : der := cos(tan(x*y*z)+x*y*z)*dx + x*dy\bound{beta }\free{der f g h dxyz }} +\indentrel{3}\begin{verbatim} + (13) x dy + cos(tan(x y z) + x y z)dx + Type: DeRhamComplex(Integer,[x,y,z]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty13} +\begin{paste}{DeRhamComplexXmpPageEmpty13}{DeRhamComplexXmpPagePatch13} +\pastebutton{DeRhamComplexXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{beta : der := cos(tan(x*y*z)+x*y*z)*dx + x*dy\bound{beta }\free{der f g h dxyz }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch14} +\begin{paste}{DeRhamComplexXmpPageFull14}{DeRhamComplexXmpPageEmpty14} +\pastebutton{DeRhamComplexXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{exteriorDifferential alpha;\free{alpha }\bound{ed }} +\indentrel{3}\begin{verbatim} + Type: DeRhamComplex(Integer,[x,y,z]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty14} +\begin{paste}{DeRhamComplexXmpPageEmpty14}{DeRhamComplexXmpPagePatch14} +\pastebutton{DeRhamComplexXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{exteriorDifferential alpha;\free{alpha }\bound{ed }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch15} +\begin{paste}{DeRhamComplexXmpPageFull15}{DeRhamComplexXmpPageEmpty15} +\pastebutton{DeRhamComplexXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{exteriorDifferential \%\free{ed }} +\indentrel{3}\begin{verbatim} + (15) 0 + Type: DeRhamComplex(Integer,[x,y,z]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty15} +\begin{paste}{DeRhamComplexXmpPageEmpty15}{DeRhamComplexXmpPagePatch15} +\pastebutton{DeRhamComplexXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{exteriorDifferential \%\free{ed }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch16} +\begin{paste}{DeRhamComplexXmpPageFull16}{DeRhamComplexXmpPageEmpty16} +\pastebutton{DeRhamComplexXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{gamma := alpha * beta\bound{gamma }\free{alpha }\free{beta }} +\indentrel{3}\begin{verbatim} + (16) + 4 2 2 + (2x y z - x y z)dy dz + + + 3 2 + (2x y z - x y z)cos(tan(x y z) + x y z)dx dz + + + 2 3 2 2 + (7z sin(x y ) - y z cos(z)) + * + cos(tan(x y z) + x y z) + + + 4 2 5 3 + - 5x y z + x y z + * + dx dy + Type: DeRhamComplex(Integer,[x,y,z]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty16} +\begin{paste}{DeRhamComplexXmpPageEmpty16}{DeRhamComplexXmpPagePatch16} +\pastebutton{DeRhamComplexXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{gamma := alpha * beta\bound{gamma }\free{alpha }\free{beta }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch17} +\begin{paste}{DeRhamComplexXmpPageFull17}{DeRhamComplexXmpPageEmpty17} +\pastebutton{DeRhamComplexXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{exteriorDifferential(gamma) - (exteriorDifferential(alpha)*beta - alpha * exteriorDifferential(beta))\free{alpha beta gamma }} +\indentrel{3}\begin{verbatim} + (17) 0 + Type: DeRhamComplex(Integer,[x,y,z]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty17} +\begin{paste}{DeRhamComplexXmpPageEmpty17}{DeRhamComplexXmpPagePatch17} +\pastebutton{DeRhamComplexXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{exteriorDifferential(gamma) - (exteriorDifferential(alpha)*beta - alpha * exteriorDifferential(beta))\free{alpha beta gamma }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch18} +\begin{paste}{DeRhamComplexXmpPageFull18}{DeRhamComplexXmpPageEmpty18} +\pastebutton{DeRhamComplexXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{a : BOP := operator('a)\bound{ao }} +\indentrel{3}\begin{verbatim} + (18) a + Type: BasicOperator +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty18} +\begin{paste}{DeRhamComplexXmpPageEmpty18}{DeRhamComplexXmpPagePatch18} +\pastebutton{DeRhamComplexXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{a : BOP := operator('a)\bound{ao }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch19} +\begin{paste}{DeRhamComplexXmpPageFull19}{DeRhamComplexXmpPageEmpty19} +\pastebutton{DeRhamComplexXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{b : BOP := operator('b)\bound{bo }} +\indentrel{3}\begin{verbatim} + (19) b + Type: BasicOperator +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty19} +\begin{paste}{DeRhamComplexXmpPageEmpty19}{DeRhamComplexXmpPagePatch19} +\pastebutton{DeRhamComplexXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{b : BOP := operator('b)\bound{bo }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch20} +\begin{paste}{DeRhamComplexXmpPageFull20}{DeRhamComplexXmpPageEmpty20} +\pastebutton{DeRhamComplexXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{c : BOP := operator('c)\bound{co }} +\indentrel{3}\begin{verbatim} + (20) c + Type: BasicOperator +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty20} +\begin{paste}{DeRhamComplexXmpPageEmpty20}{DeRhamComplexXmpPagePatch20} +\pastebutton{DeRhamComplexXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{c : BOP := operator('c)\bound{co }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch21} +\begin{paste}{DeRhamComplexXmpPageFull21}{DeRhamComplexXmpPageEmpty21} +\pastebutton{DeRhamComplexXmpPageFull21}{\hidepaste} +\tab{5}\spadcommand{sigma := a(x,y,z) * dx + b(x,y,z) * dy + c(x,y,z) * dz\bound{sigma }\free{ao bo co dxyz }} +\indentrel{3}\begin{verbatim} + (21) c(x,y,z)dz + b(x,y,z)dy + a(x,y,z)dx + Type: DeRhamComplex(Integer,[x,y,z]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty21} +\begin{paste}{DeRhamComplexXmpPageEmpty21}{DeRhamComplexXmpPagePatch21} +\pastebutton{DeRhamComplexXmpPageEmpty21}{\showpaste} +\tab{5}\spadcommand{sigma := a(x,y,z) * dx + b(x,y,z) * dy + c(x,y,z) * dz\bound{sigma }\free{ao bo co dxyz }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch22} +\begin{paste}{DeRhamComplexXmpPageFull22}{DeRhamComplexXmpPageEmpty22} +\pastebutton{DeRhamComplexXmpPageFull22}{\hidepaste} +\tab{5}\spadcommand{theta := a(x,y,z) * dx * dy + b(x,y,z) * dx * dz + c(x,y,z) * dy * dz\bound{theta }\free{ao bo co dxyz }} +\indentrel{3}\begin{verbatim} + (22) c(x,y,z)dy dz + b(x,y,z)dx dz + a(x,y,z)dx dy + Type: DeRhamComplex(Integer,[x,y,z]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty22} +\begin{paste}{DeRhamComplexXmpPageEmpty22}{DeRhamComplexXmpPagePatch22} +\pastebutton{DeRhamComplexXmpPageEmpty22}{\showpaste} +\tab{5}\spadcommand{theta := a(x,y,z) * dx * dy + b(x,y,z) * dx * dz + c(x,y,z) * dy * dz\bound{theta }\free{ao bo co dxyz }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch23} +\begin{paste}{DeRhamComplexXmpPageFull23}{DeRhamComplexXmpPageEmpty23} +\pastebutton{DeRhamComplexXmpPageFull23}{\hidepaste} +\tab{5}\spadcommand{totalDifferential(a(x,y,z))$der\free{ao der }} +\indentrel{3}\begin{verbatim} + (23) a (x,y,z)dz + a (x,y,z)dy + a (x,y,z)dx + ,3 ,2 ,1 + Type: DeRhamComplex(Integer,[x,y,z]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty23} +\begin{paste}{DeRhamComplexXmpPageEmpty23}{DeRhamComplexXmpPagePatch23} +\pastebutton{DeRhamComplexXmpPageEmpty23}{\showpaste} +\tab{5}\spadcommand{totalDifferential(a(x,y,z))$der\free{ao der }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch24} +\begin{paste}{DeRhamComplexXmpPageFull24}{DeRhamComplexXmpPageEmpty24} +\pastebutton{DeRhamComplexXmpPageFull24}{\hidepaste} +\tab{5}\spadcommand{exteriorDifferential sigma\free{sigma }} +\indentrel{3}\begin{verbatim} + (24) + (c (x,y,z) - b (x,y,z))dy dz + ,2 ,3 + + + (c (x,y,z) - a (x,y,z))dx dz + ,1 ,3 + + + (b (x,y,z) - a (x,y,z))dx dy + ,1 ,2 + Type: DeRhamComplex(Integer,[x,y,z]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty24} +\begin{paste}{DeRhamComplexXmpPageEmpty24}{DeRhamComplexXmpPagePatch24} +\pastebutton{DeRhamComplexXmpPageEmpty24}{\showpaste} +\tab{5}\spadcommand{exteriorDifferential sigma\free{sigma }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch25} +\begin{paste}{DeRhamComplexXmpPageFull25}{DeRhamComplexXmpPageEmpty25} +\pastebutton{DeRhamComplexXmpPageFull25}{\hidepaste} +\tab{5}\spadcommand{exteriorDifferential theta\free{theta }} +\indentrel{3}\begin{verbatim} + (25) (c (x,y,z) - b (x,y,z) + a (x,y,z))dx dy dz + ,1 ,2 ,3 + Type: DeRhamComplex(Integer,[x,y,z]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty25} +\begin{paste}{DeRhamComplexXmpPageEmpty25}{DeRhamComplexXmpPagePatch25} +\pastebutton{DeRhamComplexXmpPageEmpty25}{\showpaste} +\tab{5}\spadcommand{exteriorDifferential theta\free{theta }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch26} +\begin{paste}{DeRhamComplexXmpPageFull26}{DeRhamComplexXmpPageEmpty26} +\pastebutton{DeRhamComplexXmpPageFull26}{\hidepaste} +\tab{5}\spadcommand{one : der := 1\bound{one }\free{der }} +\indentrel{3}\begin{verbatim} + (26) 1 + Type: DeRhamComplex(Integer,[x,y,z]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty26} +\begin{paste}{DeRhamComplexXmpPageEmpty26}{DeRhamComplexXmpPagePatch26} +\pastebutton{DeRhamComplexXmpPageEmpty26}{\showpaste} +\tab{5}\spadcommand{one : der := 1\bound{one }\free{der }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch27} +\begin{paste}{DeRhamComplexXmpPageFull27}{DeRhamComplexXmpPageEmpty27} +\pastebutton{DeRhamComplexXmpPageFull27}{\hidepaste} +\tab{5}\spadcommand{g1 : der := a([x,t,y,u,v,z,e]) * one\free{der one ao }\bound{g1 }} +\indentrel{3}\begin{verbatim} + (27) a(x,t,y,u,v,z,e) + Type: DeRhamComplex(Integer,[x,y,z]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty27} +\begin{paste}{DeRhamComplexXmpPageEmpty27}{DeRhamComplexXmpPagePatch27} +\pastebutton{DeRhamComplexXmpPageEmpty27}{\showpaste} +\tab{5}\spadcommand{g1 : der := a([x,t,y,u,v,z,e]) * one\free{der one ao }\bound{g1 }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch28} +\begin{paste}{DeRhamComplexXmpPageFull28}{DeRhamComplexXmpPageEmpty28} +\pastebutton{DeRhamComplexXmpPageFull28}{\hidepaste} +\tab{5}\spadcommand{h1 : der := a([x,y,x,t,x,z,y,r,u,x]) * one\free{der one ao }\bound{h1 }} +\indentrel{3}\begin{verbatim} + (28) a(x,y,x,t,x,z,y,r,u,x) + Type: DeRhamComplex(Integer,[x,y,z]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty28} +\begin{paste}{DeRhamComplexXmpPageEmpty28}{DeRhamComplexXmpPagePatch28} +\pastebutton{DeRhamComplexXmpPageEmpty28}{\showpaste} +\tab{5}\spadcommand{h1 : der := a([x,y,x,t,x,z,y,r,u,x]) * one\free{der one ao }\bound{h1 }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch29} +\begin{paste}{DeRhamComplexXmpPageFull29}{DeRhamComplexXmpPageEmpty29} +\pastebutton{DeRhamComplexXmpPageFull29}{\hidepaste} +\tab{5}\spadcommand{exteriorDifferential g1\free{g1 }} +\indentrel{3}\begin{verbatim} + (29) + a (x,t,y,u,v,z,e)dz + a (x,t,y,u,v,z,e)dy + ,6 ,3 + + + a (x,t,y,u,v,z,e)dx + ,1 + Type: DeRhamComplex(Integer,[x,y,z]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty29} +\begin{paste}{DeRhamComplexXmpPageEmpty29}{DeRhamComplexXmpPagePatch29} +\pastebutton{DeRhamComplexXmpPageEmpty29}{\showpaste} +\tab{5}\spadcommand{exteriorDifferential g1\free{g1 }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch30} +\begin{paste}{DeRhamComplexXmpPageFull30}{DeRhamComplexXmpPageEmpty30} +\pastebutton{DeRhamComplexXmpPageFull30}{\hidepaste} +\tab{5}\spadcommand{exteriorDifferential h1\free{h1 }} +\indentrel{3}\begin{verbatim} + (30) + a (x,y,x,t,x,z,y,r,u,x)dz + ,6 + + + a (x,y,x,t,x,z,y,r,u,x) + ,7 + + + a (x,y,x,t,x,z,y,r,u,x) + ,2 + * + dy + + + a (x,y,x,t,x,z,y,r,u,x) + ,10 + + + a (x,y,x,t,x,z,y,r,u,x) + ,5 + + + a (x,y,x,t,x,z,y,r,u,x) + a (x,y,x,t,x,z,y,r,u,x) + ,3 ,1 + * + dx + Type: DeRhamComplex(Integer,[x,y,z]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty30} +\begin{paste}{DeRhamComplexXmpPageEmpty30}{DeRhamComplexXmpPagePatch30} +\pastebutton{DeRhamComplexXmpPageEmpty30}{\showpaste} +\tab{5}\spadcommand{exteriorDifferential h1\free{h1 }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch31} +\begin{paste}{DeRhamComplexXmpPageFull31}{DeRhamComplexXmpPageEmpty31} +\pastebutton{DeRhamComplexXmpPageFull31}{\hidepaste} +\tab{5}\spadcommand{coefficient(gamma, dx*dy)\free{gamma dxyz }} +\indentrel{3}\begin{verbatim} + (31) + 2 3 2 2 + (7z sin(x y ) - y z cos(z))cos(tan(x y z) + x y z) + + + 4 2 5 3 + - 5x y z + x y z + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty31} +\begin{paste}{DeRhamComplexXmpPageEmpty31}{DeRhamComplexXmpPagePatch31} +\pastebutton{DeRhamComplexXmpPageEmpty31}{\showpaste} +\tab{5}\spadcommand{coefficient(gamma, dx*dy)\free{gamma dxyz }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch32} +\begin{paste}{DeRhamComplexXmpPageFull32}{DeRhamComplexXmpPageEmpty32} +\pastebutton{DeRhamComplexXmpPageFull32}{\hidepaste} +\tab{5}\spadcommand{coefficient(gamma, one)\free{gamma one }} +\indentrel{3}\begin{verbatim} + (32) 0 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty32} +\begin{paste}{DeRhamComplexXmpPageEmpty32}{DeRhamComplexXmpPagePatch32} +\pastebutton{DeRhamComplexXmpPageEmpty32}{\showpaste} +\tab{5}\spadcommand{coefficient(gamma, one)\free{gamma one }} +\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPagePatch33} +\begin{paste}{DeRhamComplexXmpPageFull33}{DeRhamComplexXmpPageEmpty33} +\pastebutton{DeRhamComplexXmpPageFull33}{\hidepaste} +\tab{5}\spadcommand{coefficient(g1,one)\free{g1 one }} +\indentrel{3}\begin{verbatim} + (33) a(x,t,y,u,v,z,e) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DeRhamComplexXmpPageEmpty33} +\begin{paste}{DeRhamComplexXmpPageEmpty33}{DeRhamComplexXmpPagePatch33} +\pastebutton{DeRhamComplexXmpPageEmpty33}{\showpaste} +\tab{5}\spadcommand{coefficient(g1,one)\free{g1 one }} +\end{paste}\end{patch} + @ \section{dfloat.ht} \pagehead{DoubleFloatXmpPage}{dfloat.ht}{DoubleFloat} @@ -5516,6 +13580,170 @@ Section 8.1\ignore{ugProblemNumeric}, and \autobuttons \end{page} +\begin{patch}{DoubleFloatXmpPagePatch1} +\begin{paste}{DoubleFloatXmpPageFull1}{DoubleFloatXmpPageEmpty1} +\pastebutton{DoubleFloatXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{2.71828} +\indentrel{3}\begin{verbatim} + (1) 2.71828 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DoubleFloatXmpPageEmpty1} +\begin{paste}{DoubleFloatXmpPageEmpty1}{DoubleFloatXmpPagePatch1} +\pastebutton{DoubleFloatXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{2.71828} +\end{paste}\end{patch} + +\begin{patch}{DoubleFloatXmpPagePatch2} +\begin{paste}{DoubleFloatXmpPageFull2}{DoubleFloatXmpPageEmpty2} +\pastebutton{DoubleFloatXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{2.71828@DoubleFloat} +\indentrel{3}\begin{verbatim} + (2) 2.71828 + Type: DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DoubleFloatXmpPageEmpty2} +\begin{paste}{DoubleFloatXmpPageEmpty2}{DoubleFloatXmpPagePatch2} +\pastebutton{DoubleFloatXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{2.71828@DoubleFloat} +\end{paste}\end{patch} + +\begin{patch}{DoubleFloatXmpPagePatch3} +\begin{paste}{DoubleFloatXmpPageFull3}{DoubleFloatXmpPageEmpty3} +\pastebutton{DoubleFloatXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{2.71828 :: DoubleFloat} +\indentrel{3}\begin{verbatim} + (3) 2.71828 + Type: DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DoubleFloatXmpPageEmpty3} +\begin{paste}{DoubleFloatXmpPageEmpty3}{DoubleFloatXmpPagePatch3} +\pastebutton{DoubleFloatXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{2.71828 :: DoubleFloat} +\end{paste}\end{patch} + +\begin{patch}{DoubleFloatXmpPagePatch4} +\begin{paste}{DoubleFloatXmpPageFull4}{DoubleFloatXmpPageEmpty4} +\pastebutton{DoubleFloatXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{eApprox : DoubleFloat := 2.71828\bound{eApprox }} +\indentrel{3}\begin{verbatim} + (4) 2.71828 + Type: DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DoubleFloatXmpPageEmpty4} +\begin{paste}{DoubleFloatXmpPageEmpty4}{DoubleFloatXmpPagePatch4} +\pastebutton{DoubleFloatXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{eApprox : DoubleFloat := 2.71828\bound{eApprox }} +\end{paste}\end{patch} + +\begin{patch}{DoubleFloatXmpPagePatch5} +\begin{paste}{DoubleFloatXmpPageFull5}{DoubleFloatXmpPageEmpty5} +\pastebutton{DoubleFloatXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{avg : List DoubleFloat -> DoubleFloat\bound{avgDec }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DoubleFloatXmpPageEmpty5} +\begin{paste}{DoubleFloatXmpPageEmpty5}{DoubleFloatXmpPagePatch5} +\pastebutton{DoubleFloatXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{avg : List DoubleFloat -> DoubleFloat\bound{avgDec }} +\end{paste}\end{patch} + +\begin{patch}{DoubleFloatXmpPagePatch6} +\begin{paste}{DoubleFloatXmpPageFull6}{DoubleFloatXmpPageEmpty6} +\pastebutton{DoubleFloatXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{avg l == + empty? l => 0 :: DoubleFloat + reduce(_+,l) / \#l +\bound{avg }\free{avgDec }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DoubleFloatXmpPageEmpty6} +\begin{paste}{DoubleFloatXmpPageEmpty6}{DoubleFloatXmpPagePatch6} +\pastebutton{DoubleFloatXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{avg l == + empty? l => 0 :: DoubleFloat + reduce(_+,l) / \#l +\bound{avg }\free{avgDec }} +\end{paste}\end{patch} + +\begin{patch}{DoubleFloatXmpPagePatch7} +\begin{paste}{DoubleFloatXmpPageFull7}{DoubleFloatXmpPageEmpty7} +\pastebutton{DoubleFloatXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{avg []\free{avg }} +\indentrel{3}\begin{verbatim} + (7) 0.0 + Type: DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DoubleFloatXmpPageEmpty7} +\begin{paste}{DoubleFloatXmpPageEmpty7}{DoubleFloatXmpPagePatch7} +\pastebutton{DoubleFloatXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{avg []\free{avg }} +\end{paste}\end{patch} + +\begin{patch}{DoubleFloatXmpPagePatch8} +\begin{paste}{DoubleFloatXmpPageFull8}{DoubleFloatXmpPageEmpty8} +\pastebutton{DoubleFloatXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{avg [3.4,9.7,-6.8]\free{avg }} +\indentrel{3}\begin{verbatim} + (8) 2.1 + Type: DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DoubleFloatXmpPageEmpty8} +\begin{paste}{DoubleFloatXmpPageEmpty8}{DoubleFloatXmpPagePatch8} +\pastebutton{DoubleFloatXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{avg [3.4,9.7,-6.8]\free{avg }} +\end{paste}\end{patch} + +\begin{patch}{DoubleFloatXmpPagePatch9} +\begin{paste}{DoubleFloatXmpPageFull9}{DoubleFloatXmpPageEmpty9} +\pastebutton{DoubleFloatXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{cos(3.1415926)$DoubleFloat} +\indentrel{3}\begin{verbatim} + (9) - 0.999999999999999 + Type: DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DoubleFloatXmpPageEmpty9} +\begin{paste}{DoubleFloatXmpPageEmpty9}{DoubleFloatXmpPagePatch9} +\pastebutton{DoubleFloatXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{cos(3.1415926)$DoubleFloat} +\end{paste}\end{patch} + +\begin{patch}{DoubleFloatXmpPagePatch10} +\begin{paste}{DoubleFloatXmpPageFull10}{DoubleFloatXmpPageEmpty10} +\pastebutton{DoubleFloatXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{cos(3.1415926 :: DoubleFloat)} +\indentrel{3}\begin{verbatim} + (10) - 0.999999999999999 + Type: DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DoubleFloatXmpPageEmpty10} +\begin{paste}{DoubleFloatXmpPageEmpty10}{DoubleFloatXmpPagePatch10} +\pastebutton{DoubleFloatXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{cos(3.1415926 :: DoubleFloat)} +\end{paste}\end{patch} + @ \section{dmp.ht} \pagehead{DistributedMultivariatePolyXmpPage}{dmp.ht} @@ -5606,7 +13834,169 @@ in Section 2.7\ignore{ugTypesConvert}, \endscroll \autobuttons \end{page} -% + +\begin{patch}{DistributedMultivariatePolynomialXmpPagePatch1} +\begin{paste}{DistributedMultivariatePolynomialXmpPageFull1}{DistributedMultivariatePolynomialXmpPageEmpty1} +\pastebutton{DistributedMultivariatePolynomialXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{(d1,d2,d3) : DMP([z,y,x],FRAC INT)\bound{d1dec d2dec d3dec }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DistributedMultivariatePolynomialXmpPageEmpty1} +\begin{paste}{DistributedMultivariatePolynomialXmpPageEmpty1}{DistributedMultivariatePolynomialXmpPagePatch1} +\pastebutton{DistributedMultivariatePolynomialXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{(d1,d2,d3) : DMP([z,y,x],FRAC INT)\bound{d1dec d2dec d3dec }} +\end{paste}\end{patch} + +\begin{patch}{DistributedMultivariatePolynomialXmpPagePatch2} +\begin{paste}{DistributedMultivariatePolynomialXmpPageFull2}{DistributedMultivariatePolynomialXmpPageEmpty2} +\pastebutton{DistributedMultivariatePolynomialXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{d1 := -4*z + 4*y**2*x + 16*x**2 + 1\bound{d1 }\free{d1dec }} +\indentrel{3}\begin{verbatim} + 2 2 + (2) - 4z + 4y x + 16x + 1 +Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DistributedMultivariatePolynomialXmpPageEmpty2} +\begin{paste}{DistributedMultivariatePolynomialXmpPageEmpty2}{DistributedMultivariatePolynomialXmpPagePatch2} +\pastebutton{DistributedMultivariatePolynomialXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{d1 := -4*z + 4*y**2*x + 16*x**2 + 1\bound{d1 }\free{d1dec }} +\end{paste}\end{patch} + +\begin{patch}{DistributedMultivariatePolynomialXmpPagePatch3} +\begin{paste}{DistributedMultivariatePolynomialXmpPageFull3}{DistributedMultivariatePolynomialXmpPageEmpty3} +\pastebutton{DistributedMultivariatePolynomialXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{d2 := 2*z*y**2 + 4*x + 1\bound{d2 }\free{d2dec }} +\indentrel{3}\begin{verbatim} + 2 + (3) 2z y + 4x + 1 +Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DistributedMultivariatePolynomialXmpPageEmpty3} +\begin{paste}{DistributedMultivariatePolynomialXmpPageEmpty3}{DistributedMultivariatePolynomialXmpPagePatch3} +\pastebutton{DistributedMultivariatePolynomialXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{d2 := 2*z*y**2 + 4*x + 1\bound{d2 }\free{d2dec }} +\end{paste}\end{patch} + +\begin{patch}{DistributedMultivariatePolynomialXmpPagePatch4} +\begin{paste}{DistributedMultivariatePolynomialXmpPageFull4}{DistributedMultivariatePolynomialXmpPageEmpty4} +\pastebutton{DistributedMultivariatePolynomialXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{d3 := 2*z*x**2 - 2*y**2 - x\bound{d3 }\free{d3dec }} +\indentrel{3}\begin{verbatim} + 2 2 + (4) 2z x - 2y - x +Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DistributedMultivariatePolynomialXmpPageEmpty4} +\begin{paste}{DistributedMultivariatePolynomialXmpPageEmpty4}{DistributedMultivariatePolynomialXmpPagePatch4} +\pastebutton{DistributedMultivariatePolynomialXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{d3 := 2*z*x**2 - 2*y**2 - x\bound{d3 }\free{d3dec }} +\end{paste}\end{patch} + +\begin{patch}{DistributedMultivariatePolynomialXmpPagePatch5} +\begin{paste}{DistributedMultivariatePolynomialXmpPageFull5}{DistributedMultivariatePolynomialXmpPageEmpty5} +\pastebutton{DistributedMultivariatePolynomialXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{groebner [d1,d2,d3]\free{d1 d2 d3 }} +\indentrel{3}\begin{verbatim} + (5) + [ + 1568 6 1264 5 6 4 182 3 2047 2 + z - ÄÄÄÄ x - ÄÄÄÄ x + ÄÄÄ x + ÄÄÄ x - ÄÄÄÄ x + 2745 305 305 549 610 + + + 103 2857 + - ÄÄÄÄ x - ÄÄÄÄÄ + 2745 10980 + , + + 2 112 6 84 5 1264 4 13 3 84 2 + y + ÄÄÄÄ x - ÄÄÄ x - ÄÄÄÄ x - ÄÄÄ x + ÄÄÄ x + 2745 305 305 549 305 + + + 1772 2 + ÄÄÄÄ x + ÄÄÄÄ + 2745 2745 + , + 7 29 6 17 4 11 3 1 2 15 1 + x + ÄÄ x - ÄÄ x - ÄÄ x + ÄÄ x + ÄÄ x + Ä] + 4 16 8 32 16 4 +Type: List DistributedMultivariatePolynomial([z,y,x],Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DistributedMultivariatePolynomialXmpPageEmpty5} +\begin{paste}{DistributedMultivariatePolynomialXmpPageEmpty5}{DistributedMultivariatePolynomialXmpPagePatch5} +\pastebutton{DistributedMultivariatePolynomialXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{groebner [d1,d2,d3]\free{d1 d2 d3 }} +\end{paste}\end{patch} + +\begin{patch}{DistributedMultivariatePolynomialXmpPagePatch6} +\begin{paste}{DistributedMultivariatePolynomialXmpPageFull6}{DistributedMultivariatePolynomialXmpPageEmpty6} +\pastebutton{DistributedMultivariatePolynomialXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{(n1,n2,n3) : HDMP([z,y,x],FRAC INT)\bound{ndec }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DistributedMultivariatePolynomialXmpPageEmpty6} +\begin{paste}{DistributedMultivariatePolynomialXmpPageEmpty6}{DistributedMultivariatePolynomialXmpPagePatch6} +\pastebutton{DistributedMultivariatePolynomialXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{(n1,n2,n3) : HDMP([z,y,x],FRAC INT)\bound{ndec }} +\end{paste}\end{patch} + +\begin{patch}{DistributedMultivariatePolynomialXmpPagePatch7} +\begin{paste}{DistributedMultivariatePolynomialXmpPageFull7}{DistributedMultivariatePolynomialXmpPageEmpty7} +\pastebutton{DistributedMultivariatePolynomialXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{(n1,n2,n3) := (d1,d2,d3)\free{ndec }\bound{n }\free{d1 d2 d3 }} +\indentrel{3}\begin{verbatim} + 2 2 + (7) 2z x - 2y - x +Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DistributedMultivariatePolynomialXmpPageEmpty7} +\begin{paste}{DistributedMultivariatePolynomialXmpPageEmpty7}{DistributedMultivariatePolynomialXmpPagePatch7} +\pastebutton{DistributedMultivariatePolynomialXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{(n1,n2,n3) := (d1,d2,d3)\free{ndec }\bound{n }\free{d1 d2 d3 }} +\end{paste}\end{patch} + +\begin{patch}{DistributedMultivariatePolynomialXmpPagePatch8} +\begin{paste}{DistributedMultivariatePolynomialXmpPageFull8}{DistributedMultivariatePolynomialXmpPageEmpty8} +\pastebutton{DistributedMultivariatePolynomialXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{groebner [n1,n2,n3]\free{n }} +\indentrel{3}\begin{verbatim} + (8) + 4 3 3 2 1 1 + [y + 2x - Ä x + Ä z - Ä, + 2 2 8 + 4 29 3 1 2 7 9 1 2 1 + x + ÄÄ x - Ä y - Ä z x - ÄÄ x - Ä, z y + 2x + Ä, + 4 8 4 16 4 2 + 2 2 1 2 2 1 + y x + 4x - z + Ä, z x - y - Ä x, + 4 2 + 2 2 2 1 3 + z - 4y + 2x - Ä z - Ä x] + 4 2 +Type: List HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{DistributedMultivariatePolynomialXmpPageEmpty8} +\begin{paste}{DistributedMultivariatePolynomialXmpPageEmpty8}{DistributedMultivariatePolynomialXmpPagePatch8} +\pastebutton{DistributedMultivariatePolynomialXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{groebner [n1,n2,n3]\free{n }} +\end{paste}\end{patch} @ \section{eq.ht} @@ -5689,6 +14079,200 @@ all one has to do is ask! \autobuttons \end{page} +\begin{patch}{EquationXmpPagePatch1} +\begin{paste}{EquationXmpPageFull1}{EquationXmpPageEmpty1} +\pastebutton{EquationXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{eq1 := 3*x + 4*y = 5\bound{eq1 }} +\indentrel{3}\begin{verbatim} + (1) 4y + 3x= 5 + Type: Equation Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{EquationXmpPageEmpty1} +\begin{paste}{EquationXmpPageEmpty1}{EquationXmpPagePatch1} +\pastebutton{EquationXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{eq1 := 3*x + 4*y = 5\bound{eq1 }} +\end{paste}\end{patch} + +\begin{patch}{EquationXmpPagePatch2} +\begin{paste}{EquationXmpPageFull2}{EquationXmpPageEmpty2} +\pastebutton{EquationXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{eq2 := 2*x + 2*y = 3\bound{eq2 }} +\indentrel{3}\begin{verbatim} + (2) 2y + 2x= 3 + Type: Equation Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{EquationXmpPageEmpty2} +\begin{paste}{EquationXmpPageEmpty2}{EquationXmpPagePatch2} +\pastebutton{EquationXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{eq2 := 2*x + 2*y = 3\bound{eq2 }} +\end{paste}\end{patch} + +\begin{patch}{EquationXmpPagePatch3} +\begin{paste}{EquationXmpPageFull3}{EquationXmpPageEmpty3} +\pastebutton{EquationXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{lhs eq1\free{eq1 }} +\indentrel{3}\begin{verbatim} + (3) 4y + 3x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{EquationXmpPageEmpty3} +\begin{paste}{EquationXmpPageEmpty3}{EquationXmpPagePatch3} +\pastebutton{EquationXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{lhs eq1\free{eq1 }} +\end{paste}\end{patch} + +\begin{patch}{EquationXmpPagePatch4} +\begin{paste}{EquationXmpPageFull4}{EquationXmpPageEmpty4} +\pastebutton{EquationXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{rhs eq1\free{eq1 }} +\indentrel{3}\begin{verbatim} + (4) 5 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{EquationXmpPageEmpty4} +\begin{paste}{EquationXmpPageEmpty4}{EquationXmpPagePatch4} +\pastebutton{EquationXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{rhs eq1\free{eq1 }} +\end{paste}\end{patch} + +\begin{patch}{EquationXmpPagePatch5} +\begin{paste}{EquationXmpPageFull5}{EquationXmpPageEmpty5} +\pastebutton{EquationXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{eq1 + eq2\free{eq1 eq2 }} +\indentrel{3}\begin{verbatim} + (5) 6y + 5x= 8 + Type: Equation Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{EquationXmpPageEmpty5} +\begin{paste}{EquationXmpPageEmpty5}{EquationXmpPagePatch5} +\pastebutton{EquationXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{eq1 + eq2\free{eq1 eq2 }} +\end{paste}\end{patch} + +\begin{patch}{EquationXmpPagePatch6} +\begin{paste}{EquationXmpPageFull6}{EquationXmpPageEmpty6} +\pastebutton{EquationXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{eq1 * eq2\free{eq1 eq2 }} +\indentrel{3}\begin{verbatim} + 2 2 + (6) 8y + 14x y + 6x = 15 + Type: Equation Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{EquationXmpPageEmpty6} +\begin{paste}{EquationXmpPageEmpty6}{EquationXmpPagePatch6} +\pastebutton{EquationXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{eq1 * eq2\free{eq1 eq2 }} +\end{paste}\end{patch} + +\begin{patch}{EquationXmpPagePatch7} +\begin{paste}{EquationXmpPageFull7}{EquationXmpPageEmpty7} +\pastebutton{EquationXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{2*eq2 - eq1\free{eq1 eq2 }} +\indentrel{3}\begin{verbatim} + (7) x= 1 + Type: Equation Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{EquationXmpPageEmpty7} +\begin{paste}{EquationXmpPageEmpty7}{EquationXmpPagePatch7} +\pastebutton{EquationXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{2*eq2 - eq1\free{eq1 eq2 }} +\end{paste}\end{patch} + +\begin{patch}{EquationXmpPagePatch8} +\begin{paste}{EquationXmpPageFull8}{EquationXmpPageEmpty8} +\pastebutton{EquationXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{eq1**2\free{eq1 }} +\indentrel{3}\begin{verbatim} + 2 2 + (8) 16y + 24x y + 9x = 25 + Type: Equation Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{EquationXmpPageEmpty8} +\begin{paste}{EquationXmpPageEmpty8}{EquationXmpPagePatch8} +\pastebutton{EquationXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{eq1**2\free{eq1 }} +\end{paste}\end{patch} + +\begin{patch}{EquationXmpPagePatch9} +\begin{paste}{EquationXmpPageFull9}{EquationXmpPageEmpty9} +\pastebutton{EquationXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{if x+1 = y then "equal" else "unequal"} +\indentrel{3}\begin{verbatim} + (9) "unequal" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{EquationXmpPageEmpty9} +\begin{paste}{EquationXmpPageEmpty9}{EquationXmpPagePatch9} +\pastebutton{EquationXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{if x+1 = y then "equal" else "unequal"} +\end{paste}\end{patch} + +\begin{patch}{EquationXmpPagePatch10} +\begin{paste}{EquationXmpPageFull10}{EquationXmpPageEmpty10} +\pastebutton{EquationXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{eqpol := x+1 = y\bound{eqpol }} +\indentrel{3}\begin{verbatim} + (10) x + 1= y + Type: Equation Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{EquationXmpPageEmpty10} +\begin{paste}{EquationXmpPageEmpty10}{EquationXmpPagePatch10} +\pastebutton{EquationXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{eqpol := x+1 = y\bound{eqpol }} +\end{paste}\end{patch} + +\begin{patch}{EquationXmpPagePatch11} +\begin{paste}{EquationXmpPageFull11}{EquationXmpPageEmpty11} +\pastebutton{EquationXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{if eqpol then "equal" else "unequal"\free{eqpol }} +\indentrel{3}\begin{verbatim} + (11) "unequal" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{EquationXmpPageEmpty11} +\begin{paste}{EquationXmpPageEmpty11}{EquationXmpPagePatch11} +\pastebutton{EquationXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{if eqpol then "equal" else "unequal"\free{eqpol }} +\end{paste}\end{patch} + +\begin{patch}{EquationXmpPagePatch12} +\begin{paste}{EquationXmpPageFull12}{EquationXmpPageEmpty12} +\pastebutton{EquationXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{eqpol::Boolean\free{eqpol }} +\indentrel{3}\begin{verbatim} + (12) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{EquationXmpPageEmpty12} +\begin{paste}{EquationXmpPageEmpty12}{EquationXmpPagePatch12} +\pastebutton{EquationXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{eqpol::Boolean\free{eqpol }} +\end{paste}\end{patch} + @ \section{eqtbl.ht} \pagehead{EqTableXmpPage}{eqtbl.ht}{EqTable} @@ -5741,6 +14325,102 @@ can be stored under each. \autobuttons \end{page} +\begin{patch}{EqTableXmpPagePatch1} +\begin{paste}{EqTableXmpPageFull1}{EqTableXmpPageEmpty1} +\pastebutton{EqTableXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{e: EqTable(List Integer, Integer) := table()\bound{e }} +\indentrel{3}\begin{verbatim} + (1) table() + Type: EqTable(List Integer,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{EqTableXmpPageEmpty1} +\begin{paste}{EqTableXmpPageEmpty1}{EqTableXmpPagePatch1} +\pastebutton{EqTableXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{e: EqTable(List Integer, Integer) := table()\bound{e }} +\end{paste}\end{patch} + +\begin{patch}{EqTableXmpPagePatch2} +\begin{paste}{EqTableXmpPageFull2}{EqTableXmpPageEmpty2} +\pastebutton{EqTableXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{l1 := [1,2,3]\bound{l1 }} +\indentrel{3}\begin{verbatim} + (2) [1,2,3] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{EqTableXmpPageEmpty2} +\begin{paste}{EqTableXmpPageEmpty2}{EqTableXmpPagePatch2} +\pastebutton{EqTableXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{l1 := [1,2,3]\bound{l1 }} +\end{paste}\end{patch} + +\begin{patch}{EqTableXmpPagePatch3} +\begin{paste}{EqTableXmpPageFull3}{EqTableXmpPageEmpty3} +\pastebutton{EqTableXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{l2 := [1,2,3]\bound{l2 }} +\indentrel{3}\begin{verbatim} + (3) [1,2,3] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{EqTableXmpPageEmpty3} +\begin{paste}{EqTableXmpPageEmpty3}{EqTableXmpPagePatch3} +\pastebutton{EqTableXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{l2 := [1,2,3]\bound{l2 }} +\end{paste}\end{patch} + +\begin{patch}{EqTableXmpPagePatch4} +\begin{paste}{EqTableXmpPageFull4}{EqTableXmpPageEmpty4} +\pastebutton{EqTableXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{e.l1 := 111\free{e l1 }\bound{e1 }} +\indentrel{3}\begin{verbatim} + (4) 111 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{EqTableXmpPageEmpty4} +\begin{paste}{EqTableXmpPageEmpty4}{EqTableXmpPagePatch4} +\pastebutton{EqTableXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{e.l1 := 111\free{e l1 }\bound{e1 }} +\end{paste}\end{patch} + +\begin{patch}{EqTableXmpPagePatch5} +\begin{paste}{EqTableXmpPageFull5}{EqTableXmpPageEmpty5} +\pastebutton{EqTableXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{e.l2 := 222\free{e1 l2 }\bound{e2 }} +\indentrel{3}\begin{verbatim} + (5) 222 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{EqTableXmpPageEmpty5} +\begin{paste}{EqTableXmpPageEmpty5}{EqTableXmpPagePatch5} +\pastebutton{EqTableXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{e.l2 := 222\free{e1 l2 }\bound{e2 }} +\end{paste}\end{patch} + +\begin{patch}{EqTableXmpPagePatch6} +\begin{paste}{EqTableXmpPageFull6}{EqTableXmpPageEmpty6} +\pastebutton{EqTableXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{e.l1\free{e2 l1 }} +\indentrel{3}\begin{verbatim} + (6) 111 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{EqTableXmpPageEmpty6} +\begin{paste}{EqTableXmpPageEmpty6}{EqTableXmpPagePatch6} +\pastebutton{EqTableXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{e.l1\free{e2 l1 }} +\end{paste}\end{patch} + @ \section{evalex.ht} \pagehead{PrefixEval}{evalex.ht}{Example of Standard Evaluation} @@ -5778,7 +14458,24 @@ for {\em op a}. Try it: \example{cos(2)} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{PrefixEvalPatch1} +\begin{paste}{PrefixEvalFull1}{PrefixEvalEmpty1} +\pastebutton{PrefixEvalFull1}{\hidepaste} +\tab{5}\spadcommand{cos(2)} +\indentrel{3}\begin{verbatim} + (1) cos(2) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PrefixEvalEmpty1} +\begin{paste}{PrefixEvalEmpty1}{PrefixEvalPatch1} +\pastebutton{PrefixEvalEmpty1}{\showpaste} +\tab{5}\spadcommand{cos(2)} +\end{paste}\end{patch} @ \pagehead{InfixEval}{evalex.ht}{Example of Standard Evaluation} @@ -5820,7 +14517,24 @@ produce {\em 5.4}. Try it: \example{2 + 3.4} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{InfixEvalPatch1} +\begin{paste}{InfixEvalFull1}{InfixEvalEmpty1} +\pastebutton{InfixEvalFull1}{\hidepaste} +\tab{5}\spadcommand{2 + 3.4} +\indentrel{3}\begin{verbatim} + (1) 5.4 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{InfixEvalEmpty1} +\begin{paste}{InfixEvalEmpty1}{InfixEvalPatch1} +\pastebutton{InfixEvalEmpty1}{\showpaste} +\tab{5}\spadcommand{2 + 3.4} +\end{paste}\end{patch} @ \section{exdiff.ht} @@ -5834,7 +14548,26 @@ For example, to compute the derivative of {\em sin(x) * exp(x**2)} with respect to the variable {\em x}, issue the following command: \spadpaste{differentiate(sin(x) * exp(x**2),x)} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExDiffBasicPatch1} +\begin{paste}{ExDiffBasicFull1}{ExDiffBasicEmpty1} +\pastebutton{ExDiffBasicFull1}{\hidepaste} +\tab{5}\spadcommand{differentiate(sin(x) * exp(x**2),x)} +\indentrel{3}\begin{verbatim} + 2 2 + x x + (1) 2x %e sin(x) + cos(x)%e + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExDiffBasicEmpty1} +\begin{paste}{ExDiffBasicEmpty1}{ExDiffBasicPatch1} +\pastebutton{ExDiffBasicEmpty1}{\showpaste} +\tab{5}\spadcommand{differentiate(sin(x) * exp(x**2),x)} +\end{paste}\end{patch} @ \pagehead{ExDiffSeveralVariables}{exdiff.ht} @@ -5849,7 +14582,52 @@ For example: \spadpaste{differentiate(sin(x) * tan(y)/(x**2 + y**2),x)} \spadpaste{differentiate(sin(x) * tan(y)/(x**2 + y**2),y)} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExDiffSeveralVariablesPatch1} +\begin{paste}{ExDiffSeveralVariablesFull1}{ExDiffSeveralVariablesEmpty1} +\pastebutton{ExDiffSeveralVariablesFull1}{\hidepaste} +\tab{5}\spadcommand{differentiate(sin(x) * tan(y)/(x**2 + y**2),x)} +\indentrel{3}\begin{verbatim} + 2 2 + (- 2x sin(x) + (y + x )cos(x))tan(y) + (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 4 2 2 4 + y + 2x y + x + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExDiffSeveralVariablesEmpty1} +\begin{paste}{ExDiffSeveralVariablesEmpty1}{ExDiffSeveralVariablesPatch1} +\pastebutton{ExDiffSeveralVariablesEmpty1}{\showpaste} +\tab{5}\spadcommand{differentiate(sin(x) * tan(y)/(x**2 + y**2),x)} +\end{paste}\end{patch} + +\begin{patch}{ExDiffSeveralVariablesPatch2} +\begin{paste}{ExDiffSeveralVariablesFull2}{ExDiffSeveralVariablesEmpty2} +\pastebutton{ExDiffSeveralVariablesFull2}{\hidepaste} +\tab{5}\spadcommand{differentiate(sin(x) * tan(y)/(x**2 + y**2),y)} +\indentrel{3}\begin{verbatim} + (2) + 2 2 2 + (y + x )sin(x)tan(y) - 2y sin(x)tan(y) + + + 2 2 + (y + x )sin(x) + / + 4 2 2 4 + y + 2x y + x + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExDiffSeveralVariablesEmpty2} +\begin{paste}{ExDiffSeveralVariablesEmpty2}{ExDiffSeveralVariablesPatch2} +\pastebutton{ExDiffSeveralVariablesEmpty2}{\showpaste} +\tab{5}\spadcommand{differentiate(sin(x) * tan(y)/(x**2 + y**2),y)} +\end{paste}\end{patch} @ \pagehead{ExDiffHigherOrder}{exdiff.ht}{Derivatives of Higher Order} @@ -5862,7 +14640,26 @@ For example, to compute the fourth derivative of {\em exp(x**2)}, issue the following command: \spadpaste{differentiate(exp(x**2),x,4)} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExDiffHigherOrderPatch1} +\begin{paste}{ExDiffHigherOrderFull1}{ExDiffHigherOrderEmpty1} +\pastebutton{ExDiffHigherOrderFull1}{\hidepaste} +\tab{5}\spadcommand{differentiate(exp(x**2),x,4)} +\indentrel{3}\begin{verbatim} + 2 + 4 2 x + (1) (16x + 48x + 12)%e + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExDiffHigherOrderEmpty1} +\begin{paste}{ExDiffHigherOrderEmpty1}{ExDiffHigherOrderPatch1} +\pastebutton{ExDiffHigherOrderEmpty1}{\showpaste} +\tab{5}\spadcommand{differentiate(exp(x**2),x,4)} +\end{paste}\end{patch} @ \pagehead{ExDiffMultipleI}{exdiff.ht}{Multiple Derivatives I} @@ -5882,7 +14679,49 @@ For example, the following command differentiates the same function with respect to {\em x} and then twice with respect to {\em y}. \spadpaste{differentiate(sin(x)/(x**2 + y**2),[x,y,y])} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExDiffMultipleIPatch1} +\begin{paste}{ExDiffMultipleIFull1}{ExDiffMultipleIEmpty1} +\pastebutton{ExDiffMultipleIFull1}{\hidepaste} +\tab{5}\spadcommand{differentiate(sin(x)/(x**2 + y**2),[x,y])} +\indentrel{3}\begin{verbatim} + 3 2 + 8x y sin(x) + (- 2y - 2x y)cos(x) + (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 6 2 4 4 2 6 + y + 3x y + 3x y + x + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExDiffMultipleIEmpty1} +\begin{paste}{ExDiffMultipleIEmpty1}{ExDiffMultipleIPatch1} +\pastebutton{ExDiffMultipleIEmpty1}{\showpaste} +\tab{5}\spadcommand{differentiate(sin(x)/(x**2 + y**2),[x,y])} +\end{paste}\end{patch} + +\begin{patch}{ExDiffMultipleIPatch2} +\begin{paste}{ExDiffMultipleIFull2}{ExDiffMultipleIEmpty2} +\pastebutton{ExDiffMultipleIFull2}{\hidepaste} +\tab{5}\spadcommand{differentiate(sin(x)/(x**2 + y**2),[x,y,y])} +\indentrel{3}\begin{verbatim} + (2) + 2 3 4 2 2 4 + (- 40x y + 8x )sin(x) + (6y + 4x y - 2x )cos(x) + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 8 2 6 4 4 6 2 8 + y + 4x y + 6x y + 4x y + x + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExDiffMultipleIEmpty2} +\begin{paste}{ExDiffMultipleIEmpty2}{ExDiffMultipleIPatch2} +\pastebutton{ExDiffMultipleIEmpty2}{\showpaste} +\tab{5}\spadcommand{differentiate(sin(x)/(x**2 + y**2),[x,y,y])} +\end{paste}\end{patch} @ \pagehead{ExDiffMultipleII}{exdiff.ht}{Multiple Derivatives II} @@ -5897,7 +14736,28 @@ then three times with respect to {\em z}, issue the following command: \spadpaste{differentiate(cos(z)/(x**2 + y**3),[x,y,z],[1,2,3])} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExDiffMultipleIIPatch1} +\begin{paste}{ExDiffMultipleIIFull1}{ExDiffMultipleIIEmpty1} +\pastebutton{ExDiffMultipleIIFull1}{\hidepaste} +\tab{5}\spadcommand{differentiate(cos(z)/(x**2 + y**3),[x,y,z],[1,2,3])} +\indentrel{3}\begin{verbatim} + 4 3 + (- 84x y + 24x y)sin(z) + (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 12 2 9 4 6 6 3 8 + y + 4x y + 6x y + 4x y + x + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExDiffMultipleIIEmpty1} +\begin{paste}{ExDiffMultipleIIEmpty1}{ExDiffMultipleIIPatch1} +\pastebutton{ExDiffMultipleIIEmpty1}{\showpaste} +\tab{5}\spadcommand{differentiate(cos(z)/(x**2 + y**3),[x,y,z],[1,2,3])} +\end{paste}\end{patch} @ \pagehead{ExDiffFormalIntegral}{exdiff.ht} @@ -5915,7 +14775,64 @@ combination with other functions: \spadpaste{differentiate(f,t) \free{f}} \spadpaste{differentiate(f * t**2,t) \free{f}} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExDiffFormalIntegralPatch1} +\begin{paste}{ExDiffFormalIntegralFull1}{ExDiffFormalIntegralEmpty1} +\pastebutton{ExDiffFormalIntegralFull1}{\hidepaste} +\tab{5}\spadcommand{f := integrate(sqrt(1 + t**3),t)\bound{f }} +\indentrel{3}\begin{verbatim} + t ÚÄÄÄÄÄÄÄ¿ + Ú¿ ³ 3 + (1) ³ \³%N + 1 d%N + ÀÙ + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExDiffFormalIntegralEmpty1} +\begin{paste}{ExDiffFormalIntegralEmpty1}{ExDiffFormalIntegralPatch1} +\pastebutton{ExDiffFormalIntegralEmpty1}{\showpaste} +\tab{5}\spadcommand{f := integrate(sqrt(1 + t**3),t)\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{ExDiffFormalIntegralPatch2} +\begin{paste}{ExDiffFormalIntegralFull2}{ExDiffFormalIntegralEmpty2} +\pastebutton{ExDiffFormalIntegralFull2}{\hidepaste} +\tab{5}\spadcommand{differentiate(f,t)\free{f }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄÄÄÄ¿ + ³ 3 + (2) \³t + 1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExDiffFormalIntegralEmpty2} +\begin{paste}{ExDiffFormalIntegralEmpty2}{ExDiffFormalIntegralPatch2} +\pastebutton{ExDiffFormalIntegralEmpty2}{\showpaste} +\tab{5}\spadcommand{differentiate(f,t)\free{f }} +\end{paste}\end{patch} + +\begin{patch}{ExDiffFormalIntegralPatch3} +\begin{paste}{ExDiffFormalIntegralFull3}{ExDiffFormalIntegralEmpty3} +\pastebutton{ExDiffFormalIntegralFull3}{\hidepaste} +\tab{5}\spadcommand{differentiate(f * t**2,t)\free{f }} +\indentrel{3}\begin{verbatim} + t ÚÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄ¿ + Ú¿ ³ 3 2 ³ 3 + (3) 2t ³ \³%N + 1 d%N + t \³t + 1 + ÀÙ + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExDiffFormalIntegralEmpty3} +\begin{paste}{ExDiffFormalIntegralEmpty3}{ExDiffFormalIntegralPatch3} +\pastebutton{ExDiffFormalIntegralEmpty3}{\showpaste} +\tab{5}\spadcommand{differentiate(f * t**2,t)\free{f }} +\end{paste}\end{patch} @ \pagehead{ExitXmpPage}{exit.ht}{Exit} @@ -5979,6 +14896,112 @@ See \downlink{``User-Defined Functions, Macros and Rules''} \autobuttons \end{page} +\begin{patch}{ExitXmpPagePatch1} +\begin{paste}{ExitXmpPageFull1}{ExitXmpPageEmpty1} +\pastebutton{ExitXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{n := 0\bound{n }} +\indentrel{3}\begin{verbatim} + (1) 0 + Type: NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExitXmpPageEmpty1} +\begin{paste}{ExitXmpPageEmpty1}{ExitXmpPagePatch1} +\pastebutton{ExitXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{n := 0\bound{n }} +\end{paste}\end{patch} + +\begin{patch}{ExitXmpPagePatch2} +\begin{paste}{ExitXmpPageFull2}{ExitXmpPageEmpty2} +\pastebutton{ExitXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{gasp(): Exit == + free n + n := n + 1 + error "Oh no!" +\bound{gasp }\free{n }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExitXmpPageEmpty2} +\begin{paste}{ExitXmpPageEmpty2}{ExitXmpPagePatch2} +\pastebutton{ExitXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{gasp(): Exit == + free n + n := n + 1 + error "Oh no!" +\bound{gasp }\free{n }} +\end{paste}\end{patch} + +\begin{patch}{ExitXmpPagePatch3} +\begin{paste}{ExitXmpPageFull3}{ExitXmpPageEmpty3} +\pastebutton{ExitXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{half(k) == + if odd? k then gasp() + else k quo 2 +\bound{half }\free{gasp }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExitXmpPageEmpty3} +\begin{paste}{ExitXmpPageEmpty3}{ExitXmpPagePatch3} +\pastebutton{ExitXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{half(k) == + if odd? k then gasp() + else k quo 2 +\bound{half }\free{gasp }} +\end{paste}\end{patch} + +\begin{patch}{ExitXmpPagePatch4} +\begin{paste}{ExitXmpPageFull4}{ExitXmpPageEmpty4} +\pastebutton{ExitXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{half 4\free{half }\bound{app1 }} +\indentrel{3}\begin{verbatim} + (4) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExitXmpPageEmpty4} +\begin{paste}{ExitXmpPageEmpty4}{ExitXmpPagePatch4} +\pastebutton{ExitXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{half 4\free{half }\bound{app1 }} +\end{paste}\end{patch} + +\begin{patch}{ExitXmpPagePatch5} +\begin{paste}{ExitXmpPageFull5}{ExitXmpPageEmpty5} +\pastebutton{ExitXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{half 3\free{half app1 }\bound{app2 }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExitXmpPageEmpty5} +\begin{paste}{ExitXmpPageEmpty5}{ExitXmpPagePatch5} +\pastebutton{ExitXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{half 3\free{half app1 }\bound{app2 }} +\end{paste}\end{patch} + +\begin{patch}{ExitXmpPagePatch6} +\begin{paste}{ExitXmpPageFull6}{ExitXmpPageEmpty6} +\pastebutton{ExitXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{n\free{app2 }} +\indentrel{3}\begin{verbatim} + (5) 1 + Type: NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExitXmpPageEmpty6} +\begin{paste}{ExitXmpPageEmpty6}{ExitXmpPagePatch6} +\pastebutton{ExitXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{n\free{app2 }} +\end{paste}\end{patch} + @ \section{exlap.ht} \pagehead{ExLapSimplePole}{exlap.ht}{Laplace transform with a single pole} @@ -5992,6 +15015,25 @@ answer. \endscroll \autobuttons\end{page} +\begin{patch}{ExLapSimplePolePatch1} +\begin{paste}{ExLapSimplePoleFull1}{ExLapSimplePoleEmpty1} +\pastebutton{ExLapSimplePoleFull1}{\hidepaste} +\tab{5}\spadcommand{laplace(t**4 * exp(-a*t) / factorial(4), t, s)} +\indentrel{3}\begin{verbatim} + 1 + (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 5 4 2 3 3 2 4 5 + s + 5a s + 10a s + 10a s + 5a s + a + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExLapSimplePoleEmpty1} +\begin{paste}{ExLapSimplePoleEmpty1}{ExLapSimplePolePatch1} +\pastebutton{ExLapSimplePoleEmpty1}{\showpaste} +\tab{5}\spadcommand{laplace(t**4 * exp(-a*t) / factorial(4), t, s)} +\end{paste}\end{patch} + @ \pagehead{ExLapTrigTrigh}{exlap.ht} {Laplace transform of a trigonometric function} @@ -6005,6 +15047,26 @@ logarithms. \endscroll \autobuttons\end{page} +\begin{patch}{ExLapTrigTrighPatch1} +\begin{paste}{ExLapTrigTrighFull1}{ExLapTrigTrighEmpty1} +\pastebutton{ExLapTrigTrighFull1}{\hidepaste} +\tab{5}\spadcommand{laplace(sin(a*t) * cosh(a*t) - cos(a*t) * sinh(a*t), t, s)} +\indentrel{3}\begin{verbatim} + 3 + 4a + (1) ÄÄÄÄÄÄÄÄ + 4 4 + s + 4a + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExLapTrigTrighEmpty1} +\begin{paste}{ExLapTrigTrighEmpty1}{ExLapTrigTrighPatch1} +\pastebutton{ExLapTrigTrighEmpty1}{\showpaste} +\tab{5}\spadcommand{laplace(sin(a*t) * cosh(a*t) - cos(a*t) * sinh(a*t), t, s)} +\end{paste}\end{patch} + @ \pagehead{ExLapDefInt}{exlap.ht} {Laplace transform requiring a definite integration} @@ -6018,7 +15080,25 @@ transform between a symbol and infinity. We use the full power of Axiom's integrator in such cases. \spadpaste{laplace(2/t * (1 - cos(a*t)), t, s)} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExLapDefIntPatch1} +\begin{paste}{ExLapDefIntFull1}{ExLapDefIntEmpty1} +\pastebutton{ExLapDefIntFull1}{\hidepaste} +\tab{5}\spadcommand{laplace(2/t * (1 - cos(a*t)), t, s)} +\indentrel{3}\begin{verbatim} + 2 2 + (1) log(s + a ) - 2log(s) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExLapDefIntEmpty1} +\begin{paste}{ExLapDefIntEmpty1}{ExLapDefIntPatch1} +\pastebutton{ExLapDefIntEmpty1}{\showpaste} +\tab{5}\spadcommand{laplace(2/t * (1 - cos(a*t)), t, s)} +\end{paste}\end{patch} @ \pagehead{ExLapExpExp}{exlap.ht}{Laplace transform of exponentials} @@ -6029,7 +15109,24 @@ This is another example where it is necessary to integrate the result of another laplace transform. \spadpaste{laplace((exp(a*t) - exp(b*t))/t, t, s)} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExLapExpExpPatch1} +\begin{paste}{ExLapExpExpFull1}{ExLapExpExpEmpty1} +\pastebutton{ExLapExpExpFull1}{\hidepaste} +\tab{5}\spadcommand{laplace((exp(a*t) - exp(b*t))/t, t, s)} +\indentrel{3}\begin{verbatim} + (1) - log(s - a) + log(s - b) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExLapExpExpEmpty1} +\begin{paste}{ExLapExpExpEmpty1}{ExLapExpExpPatch1} +\pastebutton{ExLapExpExpEmpty1}{\showpaste} +\tab{5}\spadcommand{laplace((exp(a*t) - exp(b*t))/t, t, s)} +\end{paste}\end{patch} @ \pagehead{ExLapSpecial1}{exlap.ht} @@ -6042,7 +15139,50 @@ linear exponential integrals among them. \beginscroll \spadpaste{laplace(exp(a*t+b)*Ei(c*t), t, s)} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExLapSpecial1Patch1} +\begin{paste}{ExLapSpecial1Full1}{ExLapSpecial1Empty1} +\pastebutton{ExLapSpecial1Full1}{\hidepaste} +\tab{5}\spadcommand{laplace(exp(a*t+b)*Ei(c*t), t, s)} +\indentrel{3}\begin{verbatim} + b s + c - a + %e log(ÄÄÄÄÄÄÄÄÄ) + c + (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + s - a + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExLapSpecial1Empty1} +\begin{paste}{ExLapSpecial1Empty1}{ExLapSpecial1Patch1} +\pastebutton{ExLapSpecial1Empty1}{\showpaste} +\tab{5}\spadcommand{laplace(exp(a*t+b)*Ei(c*t), t, s)} +\end{paste}\end{patch} + +\begin{patch}{ExLapSpecial2Patch1} +\begin{paste}{ExLapSpecial2Full1}{ExLapSpecial2Empty1} +\pastebutton{ExLapSpecial2Full1}{\hidepaste} +\tab{5}\spadcommand{laplace(a*Ci(b*t) + c*Si(d*t), t, s)} +\indentrel{3}\begin{verbatim} + 2 2 + s + b d + a log(ÄÄÄÄÄÄÄ) + 2c atan(Ä) + 2 s + b + (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 2s + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExLapSpecial2Empty1} +\begin{paste}{ExLapSpecial2Empty1}{ExLapSpecial2Patch1} +\pastebutton{ExLapSpecial2Empty1}{\showpaste} +\tab{5}\spadcommand{laplace(a*Ci(b*t) + c*Si(d*t), t, s)} +\end{paste}\end{patch} @ \pagehead{ExLapSpecial2}{exlap.ht}{Laplace transform of special functions} @@ -6080,7 +15220,96 @@ algebraic number from the expression and displays its defining polynomial. \spadpaste{definingPolynomial(tower(\%).2::EXPR INT) \free{i}} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExIntRationalFunctionPatch1} +\begin{paste}{ExIntRationalFunctionFull1}{ExIntRationalFunctionEmpty1} +\pastebutton{ExIntRationalFunctionFull1}{\hidepaste} +\tab{5}\spadcommand{integrate((x**2+2*x+1)/((x+1)**6+1),x)} +\indentrel{3}\begin{verbatim} + 3 2 + atan(x + 3x + 3x + 1) + (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 3 + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExIntRationalFunctionEmpty1} +\begin{paste}{ExIntRationalFunctionEmpty1}{ExIntRationalFunctionPatch1} +\pastebutton{ExIntRationalFunctionEmpty1}{\showpaste} +\tab{5}\spadcommand{integrate((x**2+2*x+1)/((x+1)**6+1),x)} +\end{paste}\end{patch} + +\begin{patch}{ExIntRationalFunctionPatch2} +\begin{paste}{ExIntRationalFunctionFull2}{ExIntRationalFunctionEmpty2} +\pastebutton{ExIntRationalFunctionFull2}{\hidepaste} +\tab{5}\spadcommand{integrate(1/(x**3+x+1),x)\bound{i }} +\indentrel{3}\begin{verbatim} + (2) + ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ + ³ 2 + ³- 93%%H0 + 12 + ( ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - %%H0) + \³ 31 + * + log + ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ + ³ 2 + ³- 93%%H0 + 12 2 + (62%%H0 + 31) ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 62%%H0 + \³ 31 + + + - 31%%H0 + 18x - 4 + + + ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ + ³ 2 + ³- 93%%H0 + 12 + (- ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - %%H0) + \³ 31 + * + log + ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ + ³ 2 + ³- 93%%H0 + 12 2 + (- 62%%H0 - 31) ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 62%%H0 + \³ 31 + + + - 31%%H0 + 18x - 4 + + + 2 + 2%%H0 log(- 62%%H0 + 31%%H0 + 9x + 4) + / + 2 + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExIntRationalFunctionEmpty2} +\begin{paste}{ExIntRationalFunctionEmpty2}{ExIntRationalFunctionPatch2} +\pastebutton{ExIntRationalFunctionEmpty2}{\showpaste} +\tab{5}\spadcommand{integrate(1/(x**3+x+1),x)\bound{i }} +\end{paste}\end{patch} + +\begin{patch}{ExIntRationalFunctionPatch3} +\begin{paste}{ExIntRationalFunctionFull3}{ExIntRationalFunctionEmpty3} +\pastebutton{ExIntRationalFunctionFull3}{\hidepaste} +\tab{5}\spadcommand{definingPolynomial(tower(\%).2::EXPR INT)\free{i }} +\indentrel{3}\begin{verbatim} + 3 + 31%%H0 - 3%%H0 - 1 + (3) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 31 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExIntRationalFunctionEmpty3} +\begin{paste}{ExIntRationalFunctionEmpty3}{ExIntRationalFunctionPatch3} +\pastebutton{ExIntRationalFunctionEmpty3}{\showpaste} +\tab{5}\spadcommand{definingPolynomial(tower(\%).2::EXPR INT)\free{i }} +\end{paste}\end{patch} @ \pagehead{ExIntRationalWithRealParameter}{exint.ht} @@ -6095,7 +15324,31 @@ sign assumptions, Axiom returns all possible answers. \spadpaste{integrate(1/(x**2 + a),x)} The integrate command generally assumes that all parameters are real. \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExIntRationalWithRealParameterPatch1} +\begin{paste}{ExIntRationalWithRealParameterFull1}{ExIntRationalWithRealParameterEmpty1} +\pastebutton{ExIntRationalWithRealParameterFull1}{\hidepaste} +\tab{5}\spadcommand{integrate(1/(x**2 + a),x)} +\indentrel{3}\begin{verbatim} + 2 ÚÄÄÄ¿ + (x - a)\³- a + 2a x ÚÄ¿ + log(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) x\³a + 2 atan(ÄÄÄÄÄ) + x + a a + (1) [ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄÄÄÄ] + ÚÄÄÄ¿ ÚÄ¿ + 2\³- a \³a + Type: Union(List Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExIntRationalWithRealParameterEmpty1} +\begin{paste}{ExIntRationalWithRealParameterEmpty1}{ExIntRationalWithRealParameterPatch1} +\pastebutton{ExIntRationalWithRealParameterEmpty1}{\showpaste} +\tab{5}\spadcommand{integrate(1/(x**2 + a),x)} +\end{paste}\end{patch} @ \pagehead{ExIntRationalWithComplexParameter}{exint.ht} @@ -6110,7 +15363,31 @@ You can request this answer by prepending the word `complex' to the command name: \spadpaste{complexIntegrate(1/(x**2 + a),x)} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExIntRationalWithComplexParameterPatch1} +\begin{paste}{ExIntRationalWithComplexParameterFull1}{ExIntRationalWithComplexParameterEmpty1} +\pastebutton{ExIntRationalWithComplexParameterFull1}{\hidepaste} +\tab{5}\spadcommand{complexIntegrate(1/(x**2 + a),x)} +\indentrel{3}\begin{verbatim} + ÚÄÄÄ¿ ÚÄÄÄ¿ + x\³- a + a x\³- a - a + log(ÄÄÄÄÄÄÄÄÄÄÄ) - log(ÄÄÄÄÄÄÄÄÄÄÄ) + ÚÄÄÄ¿ ÚÄÄÄ¿ + \³- a \³- a + (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + ÚÄÄÄ¿ + 2\³- a + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExIntRationalWithComplexParameterEmpty1} +\begin{paste}{ExIntRationalWithComplexParameterEmpty1}{ExIntRationalWithComplexParameterPatch1} +\pastebutton{ExIntRationalWithComplexParameterEmpty1}{\showpaste} +\tab{5}\spadcommand{complexIntegrate(1/(x**2 + a),x)} +\end{paste}\end{patch} @ \pagehead{ExIntTwoSimilarIntegrands}{exint.ht} @@ -6130,7 +15407,65 @@ is guaranteed to find what new constants must be added in order to find a solution: \spadpaste{integrate(1 / (x**3 * (a+b*x)**(1/3)),x)} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExIntTwoSimilarIntegrandsPatch1} +\begin{paste}{ExIntTwoSimilarIntegrandsFull1}{ExIntTwoSimilarIntegrandsEmpty1} +\pastebutton{ExIntTwoSimilarIntegrandsFull1}{\hidepaste} +\tab{5}\spadcommand{integrate(x**3 / (a+b*x)**(1/3),x)} +\indentrel{3}\begin{verbatim} + (1) + 3 3 2 2 2 3 3ÚÄÄÄÄÄÄÄ¿2 + (120b x - 135a b x + 162a b x - 243a )\³b x + a + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 4 + 440b + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExIntTwoSimilarIntegrandsEmpty1} +\begin{paste}{ExIntTwoSimilarIntegrandsEmpty1}{ExIntTwoSimilarIntegrandsPatch1} +\pastebutton{ExIntTwoSimilarIntegrandsEmpty1}{\showpaste} +\tab{5}\spadcommand{integrate(x**3 / (a+b*x)**(1/3),x)} +\end{paste}\end{patch} + +\begin{patch}{ExIntTwoSimilarIntegrandsPatch2} +\begin{paste}{ExIntTwoSimilarIntegrandsFull2}{ExIntTwoSimilarIntegrandsEmpty2} +\pastebutton{ExIntTwoSimilarIntegrandsFull2}{\hidepaste} +\tab{5}\spadcommand{integrate(1 / (x**3 * (a+b*x)**(1/3)),x)} +\indentrel{3}\begin{verbatim} + (2) + - + 2 2 ÚÄ¿ + 2b x \³3 + * + 3ÚÄ¿3ÚÄÄÄÄÄÄÄ¿2 3ÚÄ¿2 3ÚÄÄÄÄÄÄÄ¿ + log(\³a \³b x + a + \³a \³b x + a + a) + + + 2 2 ÚÄ¿ 3ÚÄ¿2 3ÚÄÄÄÄÄÄÄ¿ + 4b x \³3 log(\³a \³b x + a - a) + + + ÚÄ¿3ÚÄ¿2 3ÚÄÄÄÄÄÄÄ¿ ÚÄ¿ + 2 2 2\³3 \³a \³b x + a + a\³3 + 12b x atan(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) + 3a + + + ÚÄ¿3ÚÄ¿3ÚÄÄÄÄÄÄÄ¿2 + (12b x - 9a)\³3 \³a \³b x + a + / + 2 2 ÚÄ¿3ÚÄ¿ + 18a x \³3 \³a + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExIntTwoSimilarIntegrandsEmpty2} +\begin{paste}{ExIntTwoSimilarIntegrandsEmpty2}{ExIntTwoSimilarIntegrandsPatch2} +\pastebutton{ExIntTwoSimilarIntegrandsEmpty2}{\showpaste} +\tab{5}\spadcommand{integrate(1 / (x**3 * (a+b*x)**(1/3)),x)} +\end{paste}\end{patch} @ \pagehead{ExIntNoSolution}{exint.ht}{An Integral Which Does Not Exist} @@ -6147,7 +15482,27 @@ When Axiom returns an integral sign, it has proved that no answer exists as an elementary function. \spadpaste{integrate(log(1 + sqrt(a*x + b)) / x,x)} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExIntNoSolutionPatch1} +\begin{paste}{ExIntNoSolutionFull1}{ExIntNoSolutionEmpty1} +\pastebutton{ExIntNoSolutionFull1}{\hidepaste} +\tab{5}\spadcommand{integrate(log(1 + sqrt(a*x + b)) / x,x)} +\indentrel{3}\begin{verbatim} + x ÚÄÄÄÄÄÄÄÄ¿ + Ú¿ log(\³b + %T a + 1) + (1) ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ d%T + ÀÙ %T + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExIntNoSolutionEmpty1} +\begin{paste}{ExIntNoSolutionEmpty1}{ExIntNoSolutionPatch1} +\pastebutton{ExIntNoSolutionEmpty1}{\showpaste} +\tab{5}\spadcommand{integrate(log(1 + sqrt(a*x + b)) / x,x)} +\end{paste}\end{patch} @ \begin{verbatim} @@ -6175,7 +15530,33 @@ find in tables: Whenever possible, Axiom tries to express the answer using the functions present in the integrand. \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExIntTrigPatch1} +\begin{paste}{ExIntTrigFull1}{ExIntTrigEmpty1} +\pastebutton{ExIntTrigFull1}{\hidepaste} +\tab{5}\spadcommand{integrate((sinh(1+sqrt(x+b))+2*sqrt(x+b))/(sqrt(x+b)*(x+cosh(1+sqrt(x+b)))),x)} +\indentrel{3}\begin{verbatim} + (1) + ÚÄÄÄÄÄ¿ + - 2cosh(\³x + b + 1) - 2x + 2log(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) + ÚÄÄÄÄÄ¿ ÚÄÄÄÄÄ¿ + sinh(\³x + b + 1) - cosh(\³x + b + 1) + + + ÚÄÄÄÄÄ¿ + - 2\³x + b + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExIntTrigEmpty1} +\begin{paste}{ExIntTrigEmpty1}{ExIntTrigPatch1} +\pastebutton{ExIntTrigEmpty1}{\showpaste} +\tab{5}\spadcommand{integrate((sinh(1+sqrt(x+b))+2*sqrt(x+b))/(sqrt(x+b)*(x+cosh(1+sqrt(x+b)))),x)} +\end{paste} +\end{patch} @ \pagehead{ExIntAlgebraicRelation}{exint.ht} @@ -6192,7 +15573,33 @@ The discovery of this algebraic relationship is necessary for correctly integrating this function. \downlink{Details.}{ExIntAlgebraicRelationExplain} \space{1} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExIntAlgebraicRelationPatch1} +\begin{paste}{ExIntAlgebraicRelationFull1}{ExIntAlgebraicRelationEmpty1} +\pastebutton{ExIntAlgebraicRelationFull1}{\hidepaste} +\tab{5}\spadcommand{integrate(tan(atan(x)/3),x)} +\indentrel{3}\begin{verbatim} + (1) + atan(x) 2 atan(x) 2 + 8log(3tan(ÄÄÄÄÄÄÄ) - 1) - 3tan(ÄÄÄÄÄÄÄ) + 3 3 + + + atan(x) + 18x tan(ÄÄÄÄÄÄÄ) + 3 + / + 18 + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExIntAlgebraicRelationEmpty1} +\begin{paste}{ExIntAlgebraicRelationEmpty1}{ExIntAlgebraicRelationPatch1} +\pastebutton{ExIntAlgebraicRelationEmpty1}{\showpaste} +\tab{5}\spadcommand{integrate(tan(atan(x)/3),x)} +\end{paste}\end{patch} @ \pagehead{ExIntAlgebraicRelationExplain}{exint.ht} @@ -6234,7 +15641,27 @@ This is an example of a mixed function where the algebraic layer is over the transcendental one. \spadpaste{integrate((x + 1) / (x * (x + log x)**(3/2)),x)} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExIntRadicalOfTranscendentalPatch1} +\begin{paste}{ExIntRadicalOfTranscendentalFull1}{ExIntRadicalOfTranscendentalEmpty1} +\pastebutton{ExIntRadicalOfTranscendentalFull1}{\hidepaste} +\tab{5}\spadcommand{integrate((x + 1) / (x * (x + log x)**(3/2)),x)} +\indentrel{3}\begin{verbatim} + ÚÄÄÄÄÄÄÄÄÄÄ¿ + 2\³log(x) + x + (1) - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + log(x) + x + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExIntRadicalOfTranscendentalEmpty1} +\begin{paste}{ExIntRadicalOfTranscendentalEmpty1}{ExIntRadicalOfTranscendentalPatch1} +\pastebutton{ExIntRadicalOfTranscendentalEmpty1}{\showpaste} +\tab{5}\spadcommand{integrate((x + 1) / (x * (x + log x)**(3/2)),x)} +\end{paste}\end{patch} @ \pagehead{ExIntNonElementary}{exint.ht} @@ -6247,7 +15674,28 @@ handle some of them: \spadpaste{integrate(exp(-x**2) * erf(x) / (erf(x)**3 - erf(x)**2 - erf(x) + 1),x)} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExIntNonElementaryPatch1} +\begin{paste}{ExIntNonElementaryFull1}{ExIntNonElementaryEmpty1} +\pastebutton{ExIntNonElementaryFull1}{\hidepaste} +\tab{5}\spadcommand{integrate(exp(-x**2) * erf(x) / (erf(x)**3 - erf(x)**2 - erf(x) + 1),x)} +\indentrel{3}\begin{verbatim} + ÚÄÄÄ¿ erf(x) - 1 ÚÄÄÄ¿ + (erf(x) - 1)\³%pi log(ÄÄÄÄÄÄÄÄÄÄ) - 2\³%pi + erf(x) + 1 + (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 8erf(x) - 8 + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExIntNonElementaryEmpty1} +\begin{paste}{ExIntNonElementaryEmpty1}{ExIntNonElementaryPatch1} +\pastebutton{ExIntNonElementaryEmpty1}{\showpaste} +\tab{5}\spadcommand{integrate(exp(-x**2) * erf(x) / (erf(x)**3 - erf(x)**2 - erf(x) + 1),x)} +\end{paste}\end{patch} @ \section{exlimit.ht} @@ -6270,7 +15718,26 @@ the left is different from the limit from the right. wish to ask for a one-sided limit. \downlink{How. }{ExLimitOneSided} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExLimitBasicPatch1} +\begin{paste}{ExLimitBasicFull1}{ExLimitBasicEmpty1} +\pastebutton{ExLimitBasicFull1}{\hidepaste} +\tab{5}\spadcommand{limit((x**2 - 3*x + 2)/(x**2 - 1),x = 1)} +\indentrel{3}\begin{verbatim} + 1 + (1) - Ä + 2 +Type: Union(OrderedCompletion Fraction Polynomial Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExLimitBasicEmpty1} +\begin{paste}{ExLimitBasicEmpty1}{ExLimitBasicPatch1} +\pastebutton{ExLimitBasicEmpty1}{\showpaste} +\tab{5}\spadcommand{limit((x**2 - 3*x + 2)/(x**2 - 1),x = 1)} +\end{paste}\end{patch} @ \pagehead{ExLimitParameter}{exlimit.ht}{Limits of Functions with Parameters} @@ -6283,7 +15750,26 @@ Here's an example: \spadpaste{limit(sinh(a*x)/tan(b*x),x = 0)} % answer := a/b \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExLimitParameterPatch1} +\begin{paste}{ExLimitParameterFull1}{ExLimitParameterEmpty1} +\pastebutton{ExLimitParameterFull1}{\hidepaste} +\tab{5}\spadcommand{limit(sinh(a*x)/tan(b*x),x = 0)} +\indentrel{3}\begin{verbatim} + a + (1) Ä + b + Type: Union(OrderedCompletion Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExLimitParameterEmpty1} +\begin{paste}{ExLimitParameterEmpty1}{ExLimitParameterPatch1} +\pastebutton{ExLimitParameterEmpty1}{\showpaste} +\tab{5}\spadcommand{limit(sinh(a*x)/tan(b*x),x = 0)} +\end{paste}\end{patch} @ \pagehead{ExLimitOneSided}{exlimit.ht}{One-sided Limits} @@ -6306,7 +15792,40 @@ will indicate when you try to take a two-sided limit: \spadpaste{limit(x * log(x),x = 0)} % answer := [left = "failed",right = 0] \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExLimitOneSidedPatch1} +\begin{paste}{ExLimitOneSidedFull1}{ExLimitOneSidedEmpty1} +\pastebutton{ExLimitOneSidedFull1}{\hidepaste} +\tab{5}\spadcommand{limit(x * log(x),x = 0,"right")} +\indentrel{3}\begin{verbatim} + (1) 0 + Type: Union(OrderedCompletion Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExLimitOneSidedEmpty1} +\begin{paste}{ExLimitOneSidedEmpty1}{ExLimitOneSidedPatch1} +\pastebutton{ExLimitOneSidedEmpty1}{\showpaste} +\tab{5}\spadcommand{limit(x * log(x),x = 0,"right")} +\end{paste}\end{patch} + +\begin{patch}{ExLimitOneSidedPatch2} +\begin{paste}{ExLimitOneSidedFull2}{ExLimitOneSidedEmpty2} +\pastebutton{ExLimitOneSidedFull2}{\hidepaste} +\tab{5}\spadcommand{limit(x * log(x),x = 0)} +\indentrel{3}\begin{verbatim} + (2) [leftHandLimit= "failed",rightHandLimit= 0] +Type: Union(Record(leftHandLimit: Union(OrderedCompletion Expression Integer,"failed"),rightHandLimit: Union(OrderedCompletion Expression Integer,"failed")),...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExLimitOneSidedEmpty2} +\begin{paste}{ExLimitOneSidedEmpty2}{ExLimitOneSidedPatch2} +\pastebutton{ExLimitOneSidedEmpty2}{\showpaste} +\tab{5}\spadcommand{limit(x * log(x),x = 0)} +\end{paste}\end{patch} @ \pagehead{ExLimitTwoSided}{exlimit.ht}{Two-sided Limits} @@ -6331,7 +15850,43 @@ Here's another example, this time using a more complicated function: \spadpaste{limit(sqrt(1 - cos(t))/t,t = 0)} % answer := [left = -sqrt(1/2),right = sqrt(1/2)] \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExLimitTwoSidedPatch1} +\begin{paste}{ExLimitTwoSidedFull1}{ExLimitTwoSidedEmpty1} +\pastebutton{ExLimitTwoSidedFull1}{\hidepaste} +\tab{5}\spadcommand{limit(sqrt(y**2)/y,y = 0)} +\indentrel{3}\begin{verbatim} + (1) [leftHandLimit= - 1,rightHandLimit= 1] +Type: Union(Record(leftHandLimit: Union(OrderedCompletion Expression Integer,"failed"),rightHandLimit: Union(OrderedCompletion Expression Integer,"failed")),...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExLimitTwoSidedEmpty1} +\begin{paste}{ExLimitTwoSidedEmpty1}{ExLimitTwoSidedPatch1} +\pastebutton{ExLimitTwoSidedEmpty1}{\showpaste} +\tab{5}\spadcommand{limit(sqrt(y**2)/y,y = 0)} +\end{paste}\end{patch} + +\begin{patch}{ExLimitTwoSidedPatch2} +\begin{paste}{ExLimitTwoSidedFull2}{ExLimitTwoSidedEmpty2} +\pastebutton{ExLimitTwoSidedFull2}{\hidepaste} +\tab{5}\spadcommand{limit(sqrt(1 - cos(t))/t,t = 0)} +\indentrel{3}\begin{verbatim} + 1 1 + (2) [leftHandLimit= - ÄÄÄÄ,rightHandLimit= ÄÄÄÄ] + ÚÄ¿ ÚÄ¿ + \³2 \³2 +Type: Union(Record(leftHandLimit: Union(OrderedCompletion Expression Integer,"failed"),rightHandLimit: Union(OrderedCompletion Expression Integer,"failed")),...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExLimitTwoSidedEmpty2} +\begin{paste}{ExLimitTwoSidedEmpty2}{ExLimitTwoSidedPatch2} +\pastebutton{ExLimitTwoSidedEmpty2}{\showpaste} +\tab{5}\spadcommand{limit(sqrt(1 - cos(t))/t,t = 0)} +\end{paste}\end{patch} @ \pagehead{ExLimitInfinite}{exlimit.ht}{Limits at Infinity} @@ -6345,7 +15900,46 @@ To do this, use the constants \spad{\%plusInfinity} and \spadpaste{limit(sqrt(3*x**2 + 1)/(5*x),x = \%plusInfinity)} \spadpaste{limit(sqrt(3*x**2 + 1)/(5*x),x = \%minusInfinity)} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExLimitInfinitePatch1} +\begin{paste}{ExLimitInfiniteFull1}{ExLimitInfiniteEmpty1} +\pastebutton{ExLimitInfiniteFull1}{\hidepaste} +\tab{5}\spadcommand{limit(sqrt(3*x**2 + 1)/(5*x),x = \%plusInfinity)} +\indentrel{3}\begin{verbatim} + ÚÄ¿ + \³3 + (1) ÄÄÄÄ + 5 + Type: Union(OrderedCompletion Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExLimitInfiniteEmpty1} +\begin{paste}{ExLimitInfiniteEmpty1}{ExLimitInfinitePatch1} +\pastebutton{ExLimitInfiniteEmpty1}{\showpaste} +\tab{5}\spadcommand{limit(sqrt(3*x**2 + 1)/(5*x),x = \%plusInfinity)} +\end{paste}\end{patch} + +\begin{patch}{ExLimitInfinitePatch2} +\begin{paste}{ExLimitInfiniteFull2}{ExLimitInfiniteEmpty2} +\pastebutton{ExLimitInfiniteFull2}{\hidepaste} +\tab{5}\spadcommand{limit(sqrt(3*x**2 + 1)/(5*x),x = \%minusInfinity)} +\indentrel{3}\begin{verbatim} + ÚÄ¿ + \³3 + (2) - ÄÄÄÄ + 5 + Type: Union(OrderedCompletion Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExLimitInfiniteEmpty2} +\begin{paste}{ExLimitInfiniteEmpty2}{ExLimitInfinitePatch2} +\pastebutton{ExLimitInfiniteEmpty2}{\showpaste} +\tab{5}\spadcommand{limit(sqrt(3*x**2 + 1)/(5*x),x = \%minusInfinity)} +\end{paste}\end{patch} @ \pagehead{ExLimitRealComplex}{exlimit.ht}{Real Limits vs. Complex Limits} @@ -6367,7 +15961,41 @@ does not approach any limit as \spad{z} tends to \spad{0} in the complex plane. Axiom indicates this when we call the function \spadfun{complexLimit}: \spadpaste{complexLimit(z * sin(1/z),z = 0)} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExLimitRealComplexPatch1} +\begin{paste}{ExLimitRealComplexFull1}{ExLimitRealComplexEmpty1} +\pastebutton{ExLimitRealComplexFull1}{\hidepaste} +\tab{5}\spadcommand{limit(z * sin(1/z),z = 0)} +\indentrel{3}\begin{verbatim} + (1) 0 + Type: Union(OrderedCompletion Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExLimitRealComplexEmpty1} +\begin{paste}{ExLimitRealComplexEmpty1}{ExLimitRealComplexPatch1} +\pastebutton{ExLimitRealComplexEmpty1}{\showpaste} +\tab{5}\spadcommand{limit(z * sin(1/z),z = 0)} +\end{paste}\end{patch} + +\begin{patch}{ExLimitRealComplexPatch2} +\begin{paste}{ExLimitRealComplexFull2}{ExLimitRealComplexEmpty2} +\pastebutton{ExLimitRealComplexFull2}{\hidepaste} +\tab{5}\spadcommand{complexLimit(z * sin(1/z),z = 0)} +\indentrel{3}\begin{verbatim} + (2) "failed" + Type: Union("failed",...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExLimitRealComplexEmpty2} +\begin{paste}{ExLimitRealComplexEmpty2}{ExLimitRealComplexPatch2} +\pastebutton{ExLimitRealComplexEmpty2}{\showpaste} +\tab{5}\spadcommand{complexLimit(z * sin(1/z),z = 0)} +\end{paste} +\end{patch} @ \pagehead{ExLimitComplexInfinite}{exlimit.ht}{Complex Limits at Infinity} @@ -6387,7 +16015,56 @@ For example: \spadpaste{limit(sin(x)/x,x = \%plusInfinity)} \spadpaste{complexLimit(sin(x)/x,x = \%infinity)} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExLimitComplexInfinitePatch1} +\begin{paste}{ExLimitComplexInfiniteFull1}{ExLimitComplexInfiniteEmpty1} +\pastebutton{ExLimitComplexInfiniteFull1}{\hidepaste} +\tab{5}\spadcommand{complexLimit((2 + z)/(1 - z),z = \%infinity)} +\indentrel{3}\begin{verbatim} + (1) - 1 + Type: OnePointCompletion Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExLimitComplexInfiniteEmpty1} +\begin{paste}{ExLimitComplexInfiniteEmpty1}{ExLimitComplexInfinitePatch1} +\pastebutton{ExLimitComplexInfiniteEmpty1}{\showpaste} +\tab{5}\spadcommand{complexLimit((2 + z)/(1 - z),z = \%infinity)} +\end{paste}\end{patch} + +\begin{patch}{ExLimitComplexInfinitePatch2} +\begin{paste}{ExLimitComplexInfiniteFull2}{ExLimitComplexInfiniteEmpty2} +\pastebutton{ExLimitComplexInfiniteFull2}{\hidepaste} +\tab{5}\spadcommand{limit(sin(x)/x,x = \%plusInfinity)} +\indentrel{3}\begin{verbatim} + (2) 0 + Type: Union(OrderedCompletion Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExLimitComplexInfiniteEmpty2} +\begin{paste}{ExLimitComplexInfiniteEmpty2}{ExLimitComplexInfinitePatch2} +\pastebutton{ExLimitComplexInfiniteEmpty2}{\showpaste} +\tab{5}\spadcommand{limit(sin(x)/x,x = \%plusInfinity)} +\end{paste}\end{patch} + +\begin{patch}{ExLimitComplexInfinitePatch3} +\begin{paste}{ExLimitComplexInfiniteFull3}{ExLimitComplexInfiniteEmpty3} +\pastebutton{ExLimitComplexInfiniteFull3}{\hidepaste} +\tab{5}\spadcommand{complexLimit(sin(x)/x,x = \%infinity)} +\indentrel{3}\begin{verbatim} + (3) "failed" + Type: Union("failed",...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExLimitComplexInfiniteEmpty3} +\begin{paste}{ExLimitComplexInfiniteEmpty3}{ExLimitComplexInfinitePatch3} +\pastebutton{ExLimitComplexInfiniteEmpty3}{\showpaste} +\tab{5}\spadcommand{complexLimit(sin(x)/x,x = \%infinity)} +\end{paste}\end{patch} @ \section{exmatrix.ht} @@ -6415,7 +16092,153 @@ that the matrix and vector have compatible dimensions. However, the dimensions of the matrices must be compatible in order for Axiom to perform an operation - otherwise an error message will occur. \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExMatrixBasicFunctionPatch1} +\begin{paste}{ExMatrixBasicFunctionFull1}{ExMatrixBasicFunctionEmpty1} +\pastebutton{ExMatrixBasicFunctionFull1}{\hidepaste} +\tab{5}\spadcommand{m1 := matrix([[1,-2,1],[4,2,-4]])\bound{m1 }} +\indentrel{3}\begin{verbatim} + Ú1 - 2 1 ¿ + (1) ³ ³ + À4 2 - 4Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExMatrixBasicFunctionEmpty1} +\begin{paste}{ExMatrixBasicFunctionEmpty1}{ExMatrixBasicFunctionPatch1} +\pastebutton{ExMatrixBasicFunctionEmpty1}{\showpaste} +\tab{5}\spadcommand{m1 := matrix([[1,-2,1],[4,2,-4]])\bound{m1 }} +\end{paste}\end{patch} + +\begin{patch}{ExMatrixBasicFunctionPatch2} +\begin{paste}{ExMatrixBasicFunctionFull2}{ExMatrixBasicFunctionEmpty2} +\pastebutton{ExMatrixBasicFunctionFull2}{\hidepaste} +\tab{5}\spadcommand{m2 := matrix([[1,0,2],[20,30,10],[0,200,100]])\bound{m2 }} +\indentrel{3}\begin{verbatim} + Ú1 0 2 ¿ + ³ ³ + (2) ³20 30 10 ³ + ³ ³ + À0 200 100Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExMatrixBasicFunctionEmpty2} +\begin{paste}{ExMatrixBasicFunctionEmpty2}{ExMatrixBasicFunctionPatch2} +\pastebutton{ExMatrixBasicFunctionEmpty2}{\showpaste} +\tab{5}\spadcommand{m2 := matrix([[1,0,2],[20,30,10],[0,200,100]])\bound{m2 }} +\end{paste}\end{patch} + +\begin{patch}{ExMatrixBasicFunctionPatch3} +\begin{paste}{ExMatrixBasicFunctionFull3}{ExMatrixBasicFunctionEmpty3} +\pastebutton{ExMatrixBasicFunctionFull3}{\hidepaste} +\tab{5}\spadcommand{m3 := matrix([[1,2,3],[2,4,6]])\bound{m3 }} +\indentrel{3}\begin{verbatim} + Ú1 2 3¿ + (3) ³ ³ + À2 4 6Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExMatrixBasicFunctionEmpty3} +\begin{paste}{ExMatrixBasicFunctionEmpty3}{ExMatrixBasicFunctionPatch3} +\pastebutton{ExMatrixBasicFunctionEmpty3}{\showpaste} +\tab{5}\spadcommand{m3 := matrix([[1,2,3],[2,4,6]])\bound{m3 }} +\end{paste}\end{patch} + +\begin{patch}{ExMatrixBasicFunctionPatch4} +\begin{paste}{ExMatrixBasicFunctionFull4}{ExMatrixBasicFunctionEmpty4} +\pastebutton{ExMatrixBasicFunctionFull4}{\hidepaste} +\tab{5}\spadcommand{m1 + m3\free{m1 }\free{m3 }} +\indentrel{3}\begin{verbatim} + Ú2 0 4¿ + (4) ³ ³ + À6 6 2Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExMatrixBasicFunctionEmpty4} +\begin{paste}{ExMatrixBasicFunctionEmpty4}{ExMatrixBasicFunctionPatch4} +\pastebutton{ExMatrixBasicFunctionEmpty4}{\showpaste} +\tab{5}\spadcommand{m1 + m3\free{m1 }\free{m3 }} +\end{paste}\end{patch} + +\begin{patch}{ExMatrixBasicFunctionPatch5} +\begin{paste}{ExMatrixBasicFunctionFull5}{ExMatrixBasicFunctionEmpty5} +\pastebutton{ExMatrixBasicFunctionFull5}{\hidepaste} +\tab{5}\spadcommand{100 * m1\free{m1 }} +\indentrel{3}\begin{verbatim} + Ú100 - 200 100 ¿ + (5) ³ ³ + À400 200 - 400Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExMatrixBasicFunctionEmpty5} +\begin{paste}{ExMatrixBasicFunctionEmpty5}{ExMatrixBasicFunctionPatch5} +\pastebutton{ExMatrixBasicFunctionEmpty5}{\showpaste} +\tab{5}\spadcommand{100 * m1\free{m1 }} +\end{paste}\end{patch} + +\begin{patch}{ExMatrixBasicFunctionPatch6} +\begin{paste}{ExMatrixBasicFunctionFull6}{ExMatrixBasicFunctionEmpty6} +\pastebutton{ExMatrixBasicFunctionFull6}{\hidepaste} +\tab{5}\spadcommand{m1 * m2\free{m1 }\free{m2 }} +\indentrel{3}\begin{verbatim} + Ú- 39 140 82 ¿ + (6) ³ ³ + À 44 - 740 - 372Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExMatrixBasicFunctionEmpty6} +\begin{paste}{ExMatrixBasicFunctionEmpty6}{ExMatrixBasicFunctionPatch6} +\pastebutton{ExMatrixBasicFunctionEmpty6}{\showpaste} +\tab{5}\spadcommand{m1 * m2\free{m1 }\free{m2 }} +\end{paste}\end{patch} + +\begin{patch}{ExMatrixBasicFunctionPatch7} +\begin{paste}{ExMatrixBasicFunctionFull7}{ExMatrixBasicFunctionEmpty7} +\pastebutton{ExMatrixBasicFunctionFull7}{\hidepaste} +\tab{5}\spadcommand{-m1 + m3 * m2\free{m1 }\free{m2 }\free{m3 }} +\indentrel{3}\begin{verbatim} + Ú40 662 321¿ + (7) ³ ³ + À78 1318 648Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExMatrixBasicFunctionEmpty7} +\begin{paste}{ExMatrixBasicFunctionEmpty7}{ExMatrixBasicFunctionPatch7} +\pastebutton{ExMatrixBasicFunctionEmpty7}{\showpaste} +\tab{5}\spadcommand{-m1 + m3 * m2\free{m1 }\free{m2 }\free{m3 }} +\end{paste}\end{patch} + +\begin{patch}{ExMatrixBasicFunctionPatch8} +\begin{paste}{ExMatrixBasicFunctionFull8}{ExMatrixBasicFunctionEmpty8} +\pastebutton{ExMatrixBasicFunctionFull8}{\hidepaste} +\tab{5}\spadcommand{m3 *vector([1,0,1])\free{m3 }} +\indentrel{3}\begin{verbatim} + (8) [4,8] + Type: Vector Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExMatrixBasicFunctionEmpty8} +\begin{paste}{ExMatrixBasicFunctionEmpty8}{ExMatrixBasicFunctionPatch8} +\pastebutton{ExMatrixBasicFunctionEmpty8}{\showpaste} +\tab{5}\spadcommand{m3 *vector([1,0,1])\free{m3 }} +\end{paste} +\end{patch} @ \pagehead{ExConstructMatrix}{exmatrix.ht}{Constructing new Matrices} @@ -6457,7 +16280,132 @@ matrix i\spad{b}. changes the submatrix of \spad{b} consisting of the first 3 rows and columns to its transpose. \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExConstructMatrixPatch1} +\begin{paste}{ExConstructMatrixFull1}{ExConstructMatrixEmpty1} +\pastebutton{ExConstructMatrixFull1}{\hidepaste} +\tab{5}\spadcommand{diagonalMatrix([1,2,3,2,1])} +\indentrel{3}\begin{verbatim} + Ú1 0 0 0 0¿ + ³ ³ + ³0 2 0 0 0³ + ³ ³ + (1) ³0 0 3 0 0³ + ³ ³ + ³0 0 0 2 0³ + ³ ³ + À0 0 0 0 1Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExConstructMatrixEmpty1} +\begin{paste}{ExConstructMatrixEmpty1}{ExConstructMatrixPatch1} +\pastebutton{ExConstructMatrixEmpty1}{\showpaste} +\tab{5}\spadcommand{diagonalMatrix([1,2,3,2,1])} +\end{paste}\end{patch} + +\begin{patch}{ExConstructMatrixPatch2} +\begin{paste}{ExConstructMatrixFull2}{ExConstructMatrixEmpty2} +\pastebutton{ExConstructMatrixFull2}{\hidepaste} +\tab{5}\spadcommand{subMatrix(matrix([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]]), 1,3,2,4)} +\indentrel{3}\begin{verbatim} + Ú1 2 3 ¿ + ³ ³ + (2) ³6 7 8 ³ + ³ ³ + À11 12 13Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExConstructMatrixEmpty2} +\begin{paste}{ExConstructMatrixEmpty2}{ExConstructMatrixPatch2} +\pastebutton{ExConstructMatrixEmpty2}{\showpaste} +\tab{5}\spadcommand{subMatrix(matrix([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]]), 1,3,2,4)} +\end{paste}\end{patch} + +\begin{patch}{ExConstructMatrixPatch3} +\begin{paste}{ExConstructMatrixFull3}{ExConstructMatrixEmpty3} +\pastebutton{ExConstructMatrixFull3}{\hidepaste} +\tab{5}\spadcommand{horizConcat(matrix([[1,2,3],[6,7,8]]),matrix([[11,12,13],[55,77,88]]))} +\indentrel{3}\begin{verbatim} + Ú1 2 3 11 12 13¿ + (3) ³ ³ + À6 7 8 55 77 88Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExConstructMatrixEmpty3} +\begin{paste}{ExConstructMatrixEmpty3}{ExConstructMatrixPatch3} +\pastebutton{ExConstructMatrixEmpty3}{\showpaste} +\tab{5}\spadcommand{horizConcat(matrix([[1,2,3],[6,7,8]]),matrix([[11,12,13],[55,77,88]]))} +\end{paste}\end{patch} + +\begin{patch}{ExConstructMatrixPatch4} +\begin{paste}{ExConstructMatrixFull4}{ExConstructMatrixEmpty4} +\pastebutton{ExConstructMatrixFull4}{\hidepaste} +\tab{5}\spadcommand{vertConcat(matrix([[1,2,3],[6,7,8]]),matrix([[11,12,13],[55,77,88]]))} +\indentrel{3}\begin{verbatim} + Ú1 2 3 ¿ + ³ ³ + ³6 7 8 ³ + (4) ³ ³ + ³11 12 13³ + ³ ³ + À55 77 88Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExConstructMatrixEmpty4} +\begin{paste}{ExConstructMatrixEmpty4}{ExConstructMatrixPatch4} +\pastebutton{ExConstructMatrixEmpty4}{\showpaste} +\tab{5}\spadcommand{vertConcat(matrix([[1,2,3],[6,7,8]]),matrix([[11,12,13],[55,77,88]]))} +\end{paste}\end{patch} + +\begin{patch}{ExConstructMatrixPatch5} +\begin{paste}{ExConstructMatrixFull5}{ExConstructMatrixEmpty5} +\pastebutton{ExConstructMatrixFull5}{\hidepaste} +\tab{5}\spadcommand{b:=matrix([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]])\bound{b }} +\indentrel{3}\begin{verbatim} + Ú0 1 2 3 4 ¿ + ³ ³ + (5) ³5 6 7 8 9 ³ + ³ ³ + À10 11 12 13 14Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExConstructMatrixEmpty5} +\begin{paste}{ExConstructMatrixEmpty5}{ExConstructMatrixPatch5} +\pastebutton{ExConstructMatrixEmpty5}{\showpaste} +\tab{5}\spadcommand{b:=matrix([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]])\bound{b }} +\end{paste}\end{patch} + +\begin{patch}{ExConstructMatrixPatch6} +\begin{paste}{ExConstructMatrixFull6}{ExConstructMatrixEmpty6} +\pastebutton{ExConstructMatrixFull6}{\hidepaste} +\tab{5}\spadcommand{setsubMatrix!(b,1,1,transpose(subMatrix(b,1,3,1,3)))\free{b }} +\indentrel{3}\begin{verbatim} + Ú0 5 10 3 4 ¿ + ³ ³ + (6) ³1 6 11 8 9 ³ + ³ ³ + À2 7 12 13 14Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExConstructMatrixEmpty6} +\begin{paste}{ExConstructMatrixEmpty6}{ExConstructMatrixPatch6} +\pastebutton{ExConstructMatrixEmpty6}{\showpaste} +\tab{5}\spadcommand{setsubMatrix!(b,1,1,transpose(subMatrix(b,1,3,1,3)))\free{b }} +\end{paste}\end{patch} @ \pagehead{ExTraceMatrix}{exmatrix.ht}{Trace of a Matrix} @@ -6471,7 +16419,25 @@ For example `trace' for a four by four Vandermonde matrix. \spadpaste{trace( matrix([[1,x,x**2,x**3],[1,y,y**2,y**3], [1,z,z**2,z**3],[1,u,u**2,u**3]]) )} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExTraceMatrixPatch1} +\begin{paste}{ExTraceMatrixFull1}{ExTraceMatrixEmpty1} +\pastebutton{ExTraceMatrixFull1}{\hidepaste} +\tab{5}\spadcommand{trace( matrix([[1,x,x**2,x**3],[1,y,y**2,y**3],[1,z,z**2,z**3],[1,u,u**2,u**3]]) )} +\indentrel{3}\begin{verbatim} + 2 3 + (1) z + y + u + 1 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExTraceMatrixEmpty1} +\begin{paste}{ExTraceMatrixEmpty1}{ExTraceMatrixPatch1} +\pastebutton{ExTraceMatrixEmpty1}{\showpaste} +\tab{5}\spadcommand{trace( matrix([[1,x,x**2,x**3],[1,y,y**2,y**3],[1,z,z**2,z**3],[1,u,u**2,u**3]]) )} +\end{paste}\end{patch} @ \pagehead{ExDeterminantMatrix}{exmatrix.ht}{Determinant of a Matrix} @@ -6483,7 +16449,25 @@ over a commutative ring, that is a ring whose multiplication is commutative. \spadpaste{determinant(matrix([[1,2,3,4],[2,3,2,5],[3,4,5,6],[4,1,6,7]]))} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExDeterminantMatrixPatch1} +\begin{paste}{ExDeterminantMatrixFull1}{ExDeterminantMatrixEmpty1} +\pastebutton{ExDeterminantMatrixFull1}{\hidepaste} +\tab{5}\spadcommand{determinant(matrix([[1,2,3,4],[2,3,2,5],[3,4,5,6],[4,1,6,7]]))} +\indentrel{3}\begin{verbatim} + (1) - 48 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExDeterminantMatrixEmpty1} +\begin{paste}{ExDeterminantMatrixEmpty1}{ExDeterminantMatrixPatch1} +\pastebutton{ExDeterminantMatrixEmpty1}{\showpaste} +\tab{5}\spadcommand{determinant(matrix([[1,2,3,4],[2,3,2,5],[3,4,5,6],[4,1,6,7]]))} +\end{paste} +\end{patch} @ \pagehead{ExInverseMatrix}{exmatrix.ht}{Inverse of a Matrix} @@ -6494,7 +16478,32 @@ The function \spadfun{inverse} computes the inverse of a square matrix. \spadpaste{inverse(matrix([[1,2,1],[-2,3,4],[-1,5,6]])) } (If the inverse doesn't exist, then Axiom returns `failed'.) \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExInverseMatrixPatch1} +\begin{paste}{ExInverseMatrixFull1}{ExInverseMatrixEmpty1} +\pastebutton{ExInverseMatrixFull1}{\hidepaste} +\tab{5}\spadcommand{inverse(matrix([[1,2,1],[-2,3,4],[-1,5,6]]))} +\indentrel{3}\begin{verbatim} + Ú 2 5 ¿ + ³- Ä - 1 Ä ³ + ³ 7 7 ³ + ³ ³ + (1) ³ 8 6³ + ³ Ä 1 - ij + ³ 7 7³ + ³ ³ + À- 1 - 1 1 Ù + Type: Union(Matrix Fraction Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExInverseMatrixEmpty1} +\begin{paste}{ExInverseMatrixEmpty1}{ExInverseMatrixPatch1} +\pastebutton{ExInverseMatrixEmpty1}{\showpaste} +\tab{5}\spadcommand{inverse(matrix([[1,2,1],[-2,3,4],[-1,5,6]]))} +\end{paste}\end{patch} @ \pagehead{ExRankMatrix}{exmatrix.ht}{Rank of a Matrix} @@ -6504,7 +16513,24 @@ The function \spadfun{inverse} computes the inverse of a square matrix. The function \spadfun{rank} gives you the rank of a matrix: \spadpaste{rank(matrix([[0,4,1],[5,3,-7],[-5,5,9]]))} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExRankMatrixPatch1} +\begin{paste}{ExRankMatrixFull1}{ExRankMatrixEmpty1} +\pastebutton{ExRankMatrixFull1}{\hidepaste} +\tab{5}\spadcommand{rank(matrix([[0,4,1],[5,3,-7],[-5,5,9]]))} +\indentrel{3}\begin{verbatim} + (1) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExRankMatrixEmpty1} +\begin{paste}{ExRankMatrixEmpty1}{ExRankMatrixPatch1} +\pastebutton{ExRankMatrixEmpty1}{\showpaste} +\tab{5}\spadcommand{rank(matrix([[0,4,1],[5,3,-7],[-5,5,9]]))} +\end{paste}\end{patch} @ \section{expr.ht} @@ -6719,6 +16745,429 @@ rewrite rules for expressions. \autobuttons \end{page} +\begin{patch}{ExpressionXmpPagePatch1} +\begin{paste}{ExpressionXmpPageFull1}{ExpressionXmpPageEmpty1} +\pastebutton{ExpressionXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{sin(x) + 3*cos(x)**2} +\indentrel{3}\begin{verbatim} + 2 + (1) sin(x) + 3cos(x) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPageEmpty1} +\begin{paste}{ExpressionXmpPageEmpty1}{ExpressionXmpPagePatch1} +\pastebutton{ExpressionXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{sin(x) + 3*cos(x)**2} +\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPagePatch2} +\begin{paste}{ExpressionXmpPageFull2}{ExpressionXmpPageEmpty2} +\pastebutton{ExpressionXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{tan(x) - 3.45*x} +\indentrel{3}\begin{verbatim} + (2) tan(x) - 3.45 x + Type: Expression Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPageEmpty2} +\begin{paste}{ExpressionXmpPageEmpty2}{ExpressionXmpPagePatch2} +\pastebutton{ExpressionXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{tan(x) - 3.45*x} +\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPagePatch3} +\begin{paste}{ExpressionXmpPageFull3}{ExpressionXmpPageEmpty3} +\pastebutton{ExpressionXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{(tan sqrt 7 - sin sqrt 11)**2 / (4 - cos(x - y))} +\indentrel{3}\begin{verbatim} + (3) + ÚÄ¿ 2 ÚÄÄ¿ ÚÄ¿ ÚÄÄ¿ 2 + - tan(\³7 ) + 2sin(\³11 )tan(\³7 ) - sin(\³11 ) + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + cos(y - x) - 4 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPageEmpty3} +\begin{paste}{ExpressionXmpPageEmpty3}{ExpressionXmpPagePatch3} +\pastebutton{ExpressionXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{(tan sqrt 7 - sin sqrt 11)**2 / (4 - cos(x - y))} +\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPagePatch4} +\begin{paste}{ExpressionXmpPageFull4}{ExpressionXmpPageEmpty4} +\pastebutton{ExpressionXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{log(exp x)@Expression(Integer)} +\indentrel{3}\begin{verbatim} + (4) x + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPageEmpty4} +\begin{paste}{ExpressionXmpPageEmpty4}{ExpressionXmpPagePatch4} +\pastebutton{ExpressionXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{log(exp x)@Expression(Integer)} +\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPagePatch5} +\begin{paste}{ExpressionXmpPageFull5}{ExpressionXmpPageEmpty5} +\pastebutton{ExpressionXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{log(exp x)@Expression(Complex Integer)} +\indentrel{3}\begin{verbatim} + x + (5) log(%e ) + Type: Expression Complex Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPageEmpty5} +\begin{paste}{ExpressionXmpPageEmpty5}{ExpressionXmpPagePatch5} +\pastebutton{ExpressionXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{log(exp x)@Expression(Complex Integer)} +\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPagePatch6} +\begin{paste}{ExpressionXmpPageFull6}{ExpressionXmpPageEmpty6} +\pastebutton{ExpressionXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{sqrt 3 + sqrt(2 + sqrt(-5))\bound{algnum1 }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄÄÄÄÄÄÄÄ¿ + ³ ÚÄÄÄ¿ ÚÄ¿ + (6) \³\³- 5 + 2 + \³3 + Type: AlgebraicNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPageEmpty6} +\begin{paste}{ExpressionXmpPageEmpty6}{ExpressionXmpPagePatch6} +\pastebutton{ExpressionXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{sqrt 3 + sqrt(2 + sqrt(-5))\bound{algnum1 }} +\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPagePatch7} +\begin{paste}{ExpressionXmpPageFull7}{ExpressionXmpPageEmpty7} +\pastebutton{ExpressionXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{\% :: Expression Integer\free{algnum1 }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄÄÄÄÄÄÄÄ¿ + ³ ÚÄÄÄ¿ ÚÄ¿ + (7) \³\³- 5 + 2 + \³3 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPageEmpty7} +\begin{paste}{ExpressionXmpPageEmpty7}{ExpressionXmpPagePatch7} +\pastebutton{ExpressionXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{\% :: Expression Integer\free{algnum1 }} +\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPagePatch8} +\begin{paste}{ExpressionXmpPageFull8}{ExpressionXmpPageEmpty8} +\pastebutton{ExpressionXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{height mainKernel sin(x + 4)} +\indentrel{3}\begin{verbatim} + (8) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPageEmpty8} +\begin{paste}{ExpressionXmpPageEmpty8}{ExpressionXmpPagePatch8} +\pastebutton{ExpressionXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{height mainKernel sin(x + 4)} +\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPagePatch9} +\begin{paste}{ExpressionXmpPageFull9}{ExpressionXmpPageEmpty9} +\pastebutton{ExpressionXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{e := (sin(x) - 4)**2 / ( 1 - 2*y*sqrt(- y) )\bound{e }} +\indentrel{3}\begin{verbatim} + 2 + - sin(x) + 8sin(x) - 16 + (9) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + ÚÄÄÄ¿ + 2y\³- y - 1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPageEmpty9} +\begin{paste}{ExpressionXmpPageEmpty9}{ExpressionXmpPagePatch9} +\pastebutton{ExpressionXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{e := (sin(x) - 4)**2 / ( 1 - 2*y*sqrt(- y) )\bound{e }} +\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPagePatch10} +\begin{paste}{ExpressionXmpPageFull10}{ExpressionXmpPageEmpty10} +\pastebutton{ExpressionXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{numer e\free{e }} +\indentrel{3}\begin{verbatim} + 2 + (10) - sin(x) + 8sin(x) - 16 +Type: SparseMultivariatePolynomial(Integer,Kernel Expression Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPageEmpty10} +\begin{paste}{ExpressionXmpPageEmpty10}{ExpressionXmpPagePatch10} +\pastebutton{ExpressionXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{numer e\free{e }} +\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPagePatch11} +\begin{paste}{ExpressionXmpPageFull11}{ExpressionXmpPageEmpty11} +\pastebutton{ExpressionXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{denom e\free{e }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄ¿ + (11) 2y\³- y - 1 +Type: SparseMultivariatePolynomial(Integer,Kernel Expression Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPageEmpty11} +\begin{paste}{ExpressionXmpPageEmpty11}{ExpressionXmpPagePatch11} +\pastebutton{ExpressionXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{denom e\free{e }} +\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPagePatch12} +\begin{paste}{ExpressionXmpPageFull12}{ExpressionXmpPageEmpty12} +\pastebutton{ExpressionXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{D(e, x)\free{e }} +\indentrel{3}\begin{verbatim} + (12) + ÚÄÄÄ¿ + (4y cos(x)sin(x) - 16y cos(x))\³- y + + + - 2cos(x)sin(x) + 8cos(x) + / + ÚÄÄÄ¿ 3 + 4y\³- y + 4y - 1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPageEmpty12} +\begin{paste}{ExpressionXmpPageEmpty12}{ExpressionXmpPagePatch12} +\pastebutton{ExpressionXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{D(e, x)\free{e }} +\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPagePatch13} +\begin{paste}{ExpressionXmpPageFull13}{ExpressionXmpPageEmpty13} +\pastebutton{ExpressionXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{D(e, [x, y], [1, 2])\free{e }} +\indentrel{3}\begin{verbatim} + (13) + 7 4 + (- 2304y + 960y )cos(x)sin(x) + + + 7 4 + (9216y - 3840y )cos(x) + * + ÚÄÄÄ¿ + \³- y + + + 9 6 3 + (- 960y + 2160y - 180y - 3)cos(x)sin(x) + + + 9 6 3 + (3840y - 8640y + 720y + 12)cos(x) + / + 12 9 6 3 ÚÄÄÄ¿ + (256y - 1792y + 1120y - 112y + 1)\³- y + + + 11 8 5 2 + - 1024y + 1792y - 448y + 16y + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPageEmpty13} +\begin{paste}{ExpressionXmpPageEmpty13}{ExpressionXmpPagePatch13} +\pastebutton{ExpressionXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{D(e, [x, y], [1, 2])\free{e }} +\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPagePatch14} +\begin{paste}{ExpressionXmpPageFull14}{ExpressionXmpPageEmpty14} +\pastebutton{ExpressionXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{complexNumeric(cos(2 - 3*\%i))} +\indentrel{3}\begin{verbatim} + (14) + - 4.1896256909 688072301 + 9.1092278937 55336598 %i + Type: Complex Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPageEmpty14} +\begin{paste}{ExpressionXmpPageEmpty14}{ExpressionXmpPagePatch14} +\pastebutton{ExpressionXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{complexNumeric(cos(2 - 3*\%i))} +\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPagePatch15} +\begin{paste}{ExpressionXmpPageFull15}{ExpressionXmpPageEmpty15} +\pastebutton{ExpressionXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{numeric(tan 3.8)} +\indentrel{3}\begin{verbatim} + (15) 0.7735560905 0312607286 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPageEmpty15} +\begin{paste}{ExpressionXmpPageEmpty15}{ExpressionXmpPagePatch15} +\pastebutton{ExpressionXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{numeric(tan 3.8)} +\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPagePatch16} +\begin{paste}{ExpressionXmpPageFull16}{ExpressionXmpPageEmpty16} +\pastebutton{ExpressionXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{e2 := cos(x**2 - y + 3)\bound{e2 }} +\indentrel{3}\begin{verbatim} + 2 + (16) cos(y - x - 3) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPageEmpty16} +\begin{paste}{ExpressionXmpPageEmpty16}{ExpressionXmpPagePatch16} +\pastebutton{ExpressionXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{e2 := cos(x**2 - y + 3)\bound{e2 }} +\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPagePatch17} +\begin{paste}{ExpressionXmpPageFull17}{ExpressionXmpPageEmpty17} +\pastebutton{ExpressionXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{e3 := asin(e2) - \%pi/2\free{e2 }\bound{e3 }} +\indentrel{3}\begin{verbatim} + 2 + (17) - y + x + 3 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPageEmpty17} +\begin{paste}{ExpressionXmpPageEmpty17}{ExpressionXmpPagePatch17} +\pastebutton{ExpressionXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{e3 := asin(e2) - \%pi/2\free{e2 }\bound{e3 }} +\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPagePatch18} +\begin{paste}{ExpressionXmpPageFull18}{ExpressionXmpPageEmpty18} +\pastebutton{ExpressionXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{e3 :: Polynomial Integer\free{e3 }} +\indentrel{3}\begin{verbatim} + 2 + (18) - y + x + 3 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPageEmpty18} +\begin{paste}{ExpressionXmpPageEmpty18}{ExpressionXmpPagePatch18} +\pastebutton{ExpressionXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{e3 :: Polynomial Integer\free{e3 }} +\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPagePatch19} +\begin{paste}{ExpressionXmpPageFull19}{ExpressionXmpPageEmpty19} +\pastebutton{ExpressionXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{e3 :: DMP([x, y], Integer)\free{e3 }} +\indentrel{3}\begin{verbatim} + 2 + (19) x - y + 3 + Type: DistributedMultivariatePolynomial([x,y],Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPageEmpty19} +\begin{paste}{ExpressionXmpPageEmpty19}{ExpressionXmpPagePatch19} +\pastebutton{ExpressionXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{e3 :: DMP([x, y], Integer)\free{e3 }} +\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPagePatch20} +\begin{paste}{ExpressionXmpPageFull20}{ExpressionXmpPageEmpty20} +\pastebutton{ExpressionXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{sin \%pi} +\indentrel{3}\begin{verbatim} + (20) 0 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPageEmpty20} +\begin{paste}{ExpressionXmpPageEmpty20}{ExpressionXmpPagePatch20} +\pastebutton{ExpressionXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{sin \%pi} +\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPagePatch21} +\begin{paste}{ExpressionXmpPageFull21}{ExpressionXmpPageEmpty21} +\pastebutton{ExpressionXmpPageFull21}{\hidepaste} +\tab{5}\spadcommand{cos(\%pi / 4)} +\indentrel{3}\begin{verbatim} + ÚÄ¿ + \³2 + (21) ÄÄÄÄ + 2 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPageEmpty21} +\begin{paste}{ExpressionXmpPageEmpty21}{ExpressionXmpPagePatch21} +\pastebutton{ExpressionXmpPageEmpty21}{\showpaste} +\tab{5}\spadcommand{cos(\%pi / 4)} +\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPagePatch22} +\begin{paste}{ExpressionXmpPageFull22}{ExpressionXmpPageEmpty22} +\pastebutton{ExpressionXmpPageFull22}{\hidepaste} +\tab{5}\spadcommand{tan(x)**6 + 3*tan(x)**4 + 3*tan(x)**2 + 1\bound{tan6 }} +\indentrel{3}\begin{verbatim} + 6 4 2 + (22) tan(x) + 3tan(x) + 3tan(x) + 1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPageEmpty22} +\begin{paste}{ExpressionXmpPageEmpty22}{ExpressionXmpPagePatch22} +\pastebutton{ExpressionXmpPageEmpty22}{\showpaste} +\tab{5}\spadcommand{tan(x)**6 + 3*tan(x)**4 + 3*tan(x)**2 + 1\bound{tan6 }} +\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPagePatch23} +\begin{paste}{ExpressionXmpPageFull23}{ExpressionXmpPageEmpty23} +\pastebutton{ExpressionXmpPageFull23}{\hidepaste} +\tab{5}\spadcommand{simplify \%\free{tan6 }} +\indentrel{3}\begin{verbatim} + 1 + (23) ÄÄÄÄÄÄÄ + 6 + cos(x) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExpressionXmpPageEmpty23} +\begin{paste}{ExpressionXmpPageEmpty23}{ExpressionXmpPagePatch23} +\pastebutton{ExpressionXmpPageEmpty23}{\showpaste} +\tab{5}\spadcommand{simplify \%\free{tan6 }} +\end{paste}\end{patch} + @ \section{explot2d.ht} \pagehead{ExPlot2DFunctions}{explot2d.ht}{Plotting Functions of One Variable} @@ -6729,7 +17178,21 @@ To plot a function {\em y = f(x)}, you need only specify the function and the interval on which it is to be plotted. \graphpaste{draw(sin(tan(x)) - tan(sin(x)),x = 0..6)} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExPlot2DFunctionsPatch1} +\begin{paste}{ExPlot2DFunctionsFull1}{ExPlot2DFunctionsEmpty1} +\pastebutton{ExPlot2DFunctionsFull1}{\hidepaste} +\tab{5}\spadgraph{draw(sin(tan(x)) - tan(sin(x)),x = 0..6)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/explot2dfunctions1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/explot2dfunctions1}} +\end{paste}\end{patch} + +\begin{patch}{ExPlot2DFunctionsEmpty1} +\begin{paste}{ExPlot2DFunctionsEmpty1}{ExPlot2DFunctionsPatch1} +\pastebutton{ExPlot2DFunctionsEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(sin(tan(x)) - tan(sin(x)),x = 0..6)} +\end{paste}\end{patch} @ \pagehead{ExPlot2DParametric}{explot2d.ht}{Plotting Parametric Curves} @@ -6743,7 +17206,22 @@ as arguments of the function `curve', then give the interval over which {\em t} is to range. \graphpaste{draw(curve(9 * sin(3*t/4),8 * sin(t)),t = -4*\%pi..4*\%pi)} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExPlot2DParametricPatch1} +\begin{paste}{ExPlot2DParametricFull1}{ExPlot2DParametricEmpty1} +\pastebutton{ExPlot2DParametricFull1}{\hidepaste} +\tab{5}\spadgraph{draw(curve(9 * sin(3*t/4),8 * sin(t)),t = -4*\%pi..4*\%pi)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/explot2dparametric1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/explot2dparametric1}} +\end{paste}\end{patch} + +\begin{patch}{ExPlot2DParametricEmpty1} +\begin{paste}{ExPlot2DParametricEmpty1}{ExPlot2DParametricPatch1} +\pastebutton{ExPlot2DParametricEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(curve(9 * sin(3*t/4),8 * sin(t)),t = -4*\%pi..4*\%pi)} +\end{paste} +\end{patch} @ \pagehead{ExPlot2DPolar}{explot2d.ht}{Plotting Using Polar Coordinates} @@ -6757,7 +17235,21 @@ call the function 'draw' and specify the function {\em f(theta)} and the interval over which {\em theta} is to range. \graphpaste{draw(sin(4*t/7),t = 0..14*\%pi,coordinates == polar)} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExPlot2DPolarPatch1} +\begin{paste}{ExPlot2DPolarFull1}{ExPlot2DPolarEmpty1} +\pastebutton{ExPlot2DPolarFull1}{\hidepaste} +\tab{5}\spadgraph{draw(sin(4*t/7),t = 0..14*\%pi,coordinates == polar)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/explot2dpolar1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/explot2dpolar1}} +\end{paste}\end{patch} + +\begin{patch}{ExPlot2DPolarEmpty1} +\begin{paste}{ExPlot2DPolarEmpty1}{ExPlot2DPolarPatch1} +\pastebutton{ExPlot2DPolarEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(sin(4*t/7),t = 0..14*\%pi,coordinates == polar)} +\end{paste}\end{patch} @ \pagehead{ExPlot2DAlgebraic}{explot2d.ht}{Plotting Plane Algebraic Curves} @@ -6771,7 +17263,21 @@ Here's an example: \graphpaste{draw(y**2 + y - (x**3 - x) = 0, x, y, range == [-2..2,-2..1])} Here the region of the sketch is {\em -2 <= x <= 2, -2 <= y <= 1}. \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExPlot2DAlgebraicPatch1} +\begin{paste}{ExPlot2DAlgebraicFull1}{ExPlot2DAlgebraicEmpty1} +\pastebutton{ExPlot2DAlgebraicFull1}{\hidepaste} +\tab{5}\spadgraph{draw(y**2 + y - (x**3 - x) = 0, x, y, range == [-2..2,-2..1])} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/explot2dalgebraic1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/explot2dalgebraic1}} +\end{paste}\end{patch} + +\begin{patch}{ExPlot2DAlgebraicEmpty1} +\begin{paste}{ExPlot2DAlgebraicEmpty1}{ExPlot2DAlgebraicPatch1} +\pastebutton{ExPlot2DAlgebraicEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(y**2 + y - (x**3 - x) = 0, x, y, range == [-2..2,-2..1])} +\end{paste}\end{patch} @ \section{explot3d.ht} @@ -6785,8 +17291,23 @@ For example, here's how you plot the function {\em z = cos(x*y)} as the variables {\em x} and {\em y} both range between -3 and 3: \graphpaste{draw(cos(x*y),x = -3..3,y = -3..3)} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} +\begin{patch}{ExPlot3DFunctionsPatch1} +\begin{paste}{ExPlot3DFunctionsFull1}{ExPlot3DFunctionsEmpty1} +\pastebutton{ExPlot3DFunctionsFull1}{\hidepaste} +\tab{5}\spadgraph{draw(cos(x*y),x = -3..3,y = -3..3)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/explot3dfunctions1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/explot3dfunctions1}} +\end{paste}\end{patch} + +\begin{patch}{ExPlot3DFunctionsEmpty1} +\begin{paste}{ExPlot3DFunctionsEmpty1}{ExPlot3DFunctionsPatch1} +\pastebutton{ExPlot3DFunctionsEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(cos(x*y),x = -3..3,y = -3..3)} +\end{paste} +\end{patch} + @ \pagehead{ExPlot3DParametricSurface}{explot3d.ht} {Plotting Parametric Surfaces} @@ -6805,8 +17326,35 @@ u=0..\%pi,v=0..2*\%pi)} Here's a cone: \graphpaste{draw(surface(u*cos(v),u*sin(v),u),u=0..4,v=0..2*\%pi)} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} +\begin{patch}{ExPlot3DParametricSurfacePatch1} +\begin{paste}{ExPlot3DParametricSurfaceFull1}{ExPlot3DParametricSurfaceEmpty1} +\pastebutton{ExPlot3DParametricSurfaceFull1}{\hidepaste} +\tab{5}\spadgraph{draw(surface(5*sin(u)*cos(v),4*sin(u)*sin(v),3*cos(u)),u=0..\%pi,v=0..2*\%pi)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/explot3dparametricsurface1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/explot3dparametricsurface1}} +\end{paste}\end{patch} + +\begin{patch}{ExPlot3DParametricSurfaceEmpty1} +\begin{paste}{ExPlot3DParametricSurfaceEmpty1}{ExPlot3DParametricSurfacePatch1} +\pastebutton{ExPlot3DParametricSurfaceEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(surface(5*sin(u)*cos(v),4*sin(u)*sin(v),3*cos(u)),u=0..\%pi,v=0..2*\%pi)} +\end{paste}\end{patch} + +\begin{patch}{ExPlot3DParametricSurfacePatch2} +\begin{paste}{ExPlot3DParametricSurfaceFull2}{ExPlot3DParametricSurfaceEmpty2} +\pastebutton{ExPlot3DParametricSurfaceFull2}{\hidepaste} +\tab{5}\spadgraph{draw(surface(u*cos(v),u*sin(v),u),u=0..4,v=0..2*\%pi)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/explot3dparametricsurface2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/explot3dparametricsurface2}} +\end{paste}\end{patch} + +\begin{patch}{ExPlot3DParametricSurfaceEmpty2} +\begin{paste}{ExPlot3DParametricSurfaceEmpty2}{ExPlot3DParametricSurfacePatch2} +\pastebutton{ExPlot3DParametricSurfaceEmpty2}{\showpaste} +\tab{5}\spadgraph{draw(surface(u*cos(v),u*sin(v),u),u=0..4,v=0..2*\%pi)} +\end{paste}\end{patch} + @ \pagehead{ExPlot3DParametricCurve}{explot3d.ht}{Plotting Parametric Curves} <>= @@ -6822,7 +17370,35 @@ Here is a spiral: Here is the {\em twisted cubic curve}: \graphpaste{draw(curve(t,t**2,t**3),t=-3..3)} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExPlot3DParametricCurvePatch1} +\begin{paste}{ExPlot3DParametricCurveFull1}{ExPlot3DParametricCurveEmpty1} +\pastebutton{ExPlot3DParametricCurveFull1}{\hidepaste} +\tab{5}\spadgraph{draw(curve(cos(t),sin(t),t),t=0..6)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/explot3dparametriccurve1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/explot3dparametriccurve1}} +\end{paste}\end{patch} + +\begin{patch}{ExPlot3DParametricCurveEmpty1} +\begin{paste}{ExPlot3DParametricCurveEmpty1}{ExPlot3DParametricCurvePatch1} +\pastebutton{ExPlot3DParametricCurveEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(curve(cos(t),sin(t),t),t=0..6)} +\end{paste}\end{patch} + +\begin{patch}{ExPlot3DParametricCurvePatch2} +\begin{paste}{ExPlot3DParametricCurveFull2}{ExPlot3DParametricCurveEmpty2} +\pastebutton{ExPlot3DParametricCurveFull2}{\hidepaste} +\tab{5}\spadgraph{draw(curve(t,t**2,t**3),t=-3..3)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/explot3dparametriccurve2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/explot3dparametriccurve2}} +\end{paste}\end{patch} + +\begin{patch}{ExPlot3DParametricCurveEmpty2} +\begin{paste}{ExPlot3DParametricCurveEmpty2}{ExPlot3DParametricCurvePatch2} +\pastebutton{ExPlot3DParametricCurveEmpty2}{\showpaste} +\tab{5}\spadgraph{draw(curve(t,t**2,t**3),t=-3..3)} +\end{paste} +\end{patch} @ \section{expose.ht} @@ -6972,8 +17548,83 @@ You can have {\em sin(a*x)} expanded in powers of {\em (a - \%pi/4)} by issuing the following command: \spadpaste{series(sin(a*x),a = \%pi/4)} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} +\begin{patch}{ExSeriesConvertPatch1} +\begin{paste}{ExSeriesConvertFull1}{ExSeriesConvertEmpty1} +\pastebutton{ExSeriesConvertFull1}{\hidepaste} +\tab{5}\spadcommand{series(sin(a*x),x = 0)} +\indentrel{3}\begin{verbatim} + (1) + 3 5 7 9 + a 3 a 5 a 7 a 9 + a x - ÄÄ x + ÄÄÄ x - ÄÄÄÄ x + ÄÄÄÄÄÄ x + 6 120 5040 362880 + + + 11 + a 11 12 + - ÄÄÄÄÄÄÄÄ x + O(x ) + 39916800 + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExSeriesConvertEmpty1} +\begin{paste}{ExSeriesConvertEmpty1}{ExSeriesConvertPatch1} +\pastebutton{ExSeriesConvertEmpty1}{\showpaste} +\tab{5}\spadcommand{series(sin(a*x),x = 0)} +\end{paste}\end{patch} + +\begin{patch}{ExSeriesConvertPatch2} +\begin{paste}{ExSeriesConvertFull2}{ExSeriesConvertEmpty2} +\pastebutton{ExSeriesConvertFull2}{\hidepaste} +\tab{5}\spadcommand{series(sin(a*x),a = \%pi/4)} +\indentrel{3}\begin{verbatim} + (2) + %pi x %pi x %pi + sin(ÄÄÄÄÄ) + x cos(ÄÄÄÄÄ)(a - ÄÄÄ) + 4 4 4 + + + 2 %pi x 3 %pi x + x sin(ÄÄÄÄÄ) x cos(ÄÄÄÄÄ) + 4 %pi 2 4 %pi 3 + - ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) - ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) + 2 4 6 4 + + + 4 %pi x 5 %pi x + x sin(ÄÄÄÄÄ) x cos(ÄÄÄÄÄ) + 4 %pi 4 4 %pi 5 + ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) + ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) + 24 4 120 4 + + + 6 %pi x 7 %pi x + x sin(ÄÄÄÄÄ) x cos(ÄÄÄÄÄ) + 4 %pi 6 4 %pi 7 + - ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) - ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) + 720 4 5040 4 + + + 8 %pi x 9 %pi x + x sin(ÄÄÄÄÄ) x cos(ÄÄÄÄÄ) + 4 %pi 8 4 %pi 9 + ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) + ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) + 40320 4 362880 4 + + + 10 %pi x + x sin(ÄÄÄÄÄ) + 4 %pi 10 %pi 11 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) + O((a - ÄÄÄ) ) + 3628800 4 4 +Type: UnivariatePuiseuxSeries(Expression Integer,a,pi/4) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExSeriesConvertEmpty2} +\begin{paste}{ExSeriesConvertEmpty2}{ExSeriesConvertPatch2} +\pastebutton{ExSeriesConvertEmpty2}{\showpaste} +\tab{5}\spadcommand{series(sin(a*x),a = \%pi/4)} +\end{paste}\end{patch} + @ \pagehead{ExSeriesManipulate}{exseries.ht}{Manipulating Power Series} <>= @@ -6987,8 +17638,52 @@ Now compute the square of that series: \spadpaste{f ** 2 \free{f}} It's as easy as 1, 2, 3,... \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} +\begin{patch}{ExSeriesManipulatePatch1} +\begin{paste}{ExSeriesManipulateFull1}{ExSeriesManipulateEmpty1} +\pastebutton{ExSeriesManipulateFull1}{\hidepaste} +\tab{5}\spadcommand{f := series(1/(1-x),x = 0)\bound{f }} +\indentrel{3}\begin{verbatim} + (1) + 2 3 4 5 6 7 8 9 10 + 1 + x + x + x + x + x + x + x + x + x + x + + + 11 + O(x ) + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExSeriesManipulateEmpty1} +\begin{paste}{ExSeriesManipulateEmpty1}{ExSeriesManipulatePatch1} +\pastebutton{ExSeriesManipulateEmpty1}{\showpaste} +\tab{5}\spadcommand{f := series(1/(1-x),x = 0)\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{ExSeriesManipulatePatch2} +\begin{paste}{ExSeriesManipulateFull2}{ExSeriesManipulateEmpty2} +\pastebutton{ExSeriesManipulateFull2}{\hidepaste} +\tab{5}\spadcommand{f ** 2\free{f }} +\indentrel{3}\begin{verbatim} + (2) + 2 3 4 5 6 7 8 + 1 + 2x + 3x + 4x + 5x + 6x + 7x + 8x + 9x + + + 9 10 11 + 10x + 11x + O(x ) + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExSeriesManipulateEmpty2} +\begin{paste}{ExSeriesManipulateEmpty2}{ExSeriesManipulatePatch2} +\pastebutton{ExSeriesManipulateEmpty2}{\showpaste} +\tab{5}\spadcommand{f ** 2\free{f }} +\end{paste} +\end{patch} + @ \pagehead{ExSeriesFunctions}{exseries.ht}{Functions on Power Series} <>= @@ -7005,8 +17700,74 @@ and then apply these functions to the series: \spadpaste{g := log(f) \free{f1} \bound{g}} \spadpaste{exp(g) \free{g}} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} +\begin{patch}{ExSeriesFunctionsPatch1} +\begin{paste}{ExSeriesFunctionsFull1}{ExSeriesFunctionsEmpty1} +\pastebutton{ExSeriesFunctionsFull1}{\hidepaste} +\tab{5}\spadcommand{f := series(1/(1-x),x = 0)\bound{f1 }} +\indentrel{3}\begin{verbatim} + (1) + 2 3 4 5 6 7 8 9 10 + 1 + x + x + x + x + x + x + x + x + x + x + + + 11 + O(x ) + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExSeriesFunctionsEmpty1} +\begin{paste}{ExSeriesFunctionsEmpty1}{ExSeriesFunctionsPatch1} +\pastebutton{ExSeriesFunctionsEmpty1}{\showpaste} +\tab{5}\spadcommand{f := series(1/(1-x),x = 0)\bound{f1 }} +\end{paste}\end{patch} + +\begin{patch}{ExSeriesFunctionsPatch2} +\begin{paste}{ExSeriesFunctionsFull2}{ExSeriesFunctionsEmpty2} +\pastebutton{ExSeriesFunctionsFull2}{\hidepaste} +\tab{5}\spadcommand{g := log(f)\free{f1 }\bound{g }} +\indentrel{3}\begin{verbatim} + (2) + 1 2 1 3 1 4 1 5 1 6 1 7 1 8 + x + Ä x + Ä x + Ä x + Ä x + Ä x + Ä x + Ä x + 2 3 4 5 6 7 8 + + + 1 9 1 10 1 11 12 + Ä x + ÄÄ x + ÄÄ x + O(x ) + 9 10 11 + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExSeriesFunctionsEmpty2} +\begin{paste}{ExSeriesFunctionsEmpty2}{ExSeriesFunctionsPatch2} +\pastebutton{ExSeriesFunctionsEmpty2}{\showpaste} +\tab{5}\spadcommand{g := log(f)\free{f1 }\bound{g }} +\end{paste}\end{patch} + +\begin{patch}{ExSeriesFunctionsPatch3} +\begin{paste}{ExSeriesFunctionsFull3}{ExSeriesFunctionsEmpty3} +\pastebutton{ExSeriesFunctionsFull3}{\hidepaste} +\tab{5}\spadcommand{exp(g)\free{g }} +\indentrel{3}\begin{verbatim} + (3) + 2 3 4 5 6 7 8 9 10 + 1 + x + x + x + x + x + x + x + x + x + x + + + 11 + O(x ) + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExSeriesFunctionsEmpty3} +\begin{paste}{ExSeriesFunctionsEmpty3}{ExSeriesFunctionsPatch3} +\pastebutton{ExSeriesFunctionsEmpty3}{\showpaste} +\tab{5}\spadcommand{exp(g)\free{g }} +\end{paste}\end{patch} + @ \pagehead{ExSeriesSubstitution}{exseries.ht} {Substituting Numerical Values in Power Series} @@ -7024,7 +17785,51 @@ Now you evaluate the series at the value {\em 1.0}: \spadpaste{eval(f,1.0) \free{f2}} You get a sequence of partial sums. \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExSeriesSubstitutionPatch1} +\begin{paste}{ExSeriesSubstitutionFull1}{ExSeriesSubstitutionEmpty1} +\pastebutton{ExSeriesSubstitutionFull1}{\hidepaste} +\tab{5}\spadcommand{f := taylor(exp(x))\bound{f2 }} +\indentrel{3}\begin{verbatim} + (1) + 1 2 1 3 1 4 1 5 1 6 + 1 + x + Ä x + Ä x + ÄÄ x + ÄÄÄ x + ÄÄÄ x + 2 6 24 120 720 + + + 1 7 1 8 1 9 1 10 11 + ÄÄÄÄ x + ÄÄÄÄÄ x + ÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄ x + O(x ) + 5040 40320 362880 3628800 + Type: UnivariateTaylorSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExSeriesSubstitutionEmpty1} +\begin{paste}{ExSeriesSubstitutionEmpty1}{ExSeriesSubstitutionPatch1} +\pastebutton{ExSeriesSubstitutionEmpty1}{\showpaste} +\tab{5}\spadcommand{f := taylor(exp(x))\bound{f2 }} +\end{paste}\end{patch} + +\begin{patch}{ExSeriesSubstitutionPatch2} +\begin{paste}{ExSeriesSubstitutionFull2}{ExSeriesSubstitutionEmpty2} +\pastebutton{ExSeriesSubstitutionFull2}{\hidepaste} +\tab{5}\spadcommand{eval(f,1.0)\free{f2 }} +\indentrel{3}\begin{verbatim} + (2) + [1.0, 2.0, 2.5, 2.6666666666 666666667, + 2.7083333333 333333333, 2.7166666666 666666667, + 2.7180555555 555555556, 2.7182539682 53968254, + 2.7182787698 412698413, 2.7182815255 731922399, ...] + Type: Stream Expression Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExSeriesSubstitutionEmpty2} +\begin{paste}{ExSeriesSubstitutionEmpty2}{ExSeriesSubstitutionPatch2} +\pastebutton{ExSeriesSubstitutionEmpty2}{\showpaste} +\tab{5}\spadcommand{eval(f,1.0)\free{f2 }} +\end{paste}\end{patch} @ \section{exsum.ht} @@ -7040,7 +17845,40 @@ To sum the entries of a list, simply put {\em +/} in front of the list. For example, the following command will sum the integers from 1 to 15: \spadpaste{reduce(+,[i for i in 1..15])} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExSumListEntriesIPatch1} +\begin{paste}{ExSumListEntriesIFull1}{ExSumListEntriesIEmpty1} +\pastebutton{ExSumListEntriesIFull1}{\hidepaste} +\tab{5}\spadcommand{[i for i in 1..15]} +\indentrel{3}\begin{verbatim} + (1) [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExSumListEntriesIEmpty1} +\begin{paste}{ExSumListEntriesIEmpty1}{ExSumListEntriesIPatch1} +\pastebutton{ExSumListEntriesIEmpty1}{\showpaste} +\tab{5}\spadcommand{[i for i in 1..15]} +\end{paste}\end{patch} + +\begin{patch}{ExSumListEntriesIPatch2} +\begin{paste}{ExSumListEntriesIFull2}{ExSumListEntriesIEmpty2} +\pastebutton{ExSumListEntriesIFull2}{\hidepaste} +\tab{5}\spadcommand{reduce(+,[i for i in 1..15])} +\indentrel{3}\begin{verbatim} + (2) 120 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExSumListEntriesIEmpty2} +\begin{paste}{ExSumListEntriesIEmpty2}{ExSumListEntriesIPatch2} +\pastebutton{ExSumListEntriesIEmpty2}{\showpaste} +\tab{5}\spadcommand{reduce(+,[i for i in 1..15])} +\end{paste}\end{patch} @ \pagehead{ExSumListEntriesII}{exsum.ht}{Summing the Entries of a List II} @@ -7055,7 +17893,42 @@ the integers between {\em 5} and {\em 20}: You can also compute the sum of the entries of this list: \spadpaste{reduce(+,[n**2 for n in 5..20])} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExSumListEntriesIIPatch1} +\begin{paste}{ExSumListEntriesIIFull1}{ExSumListEntriesIIEmpty1} +\pastebutton{ExSumListEntriesIIFull1}{\hidepaste} +\tab{5}\spadcommand{[n**2 for n in 5..20]} +\indentrel{3}\begin{verbatim} + (1) + [25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, + 256, 289, 324, 361, 400] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExSumListEntriesIIEmpty1} +\begin{paste}{ExSumListEntriesIIEmpty1}{ExSumListEntriesIIPatch1} +\pastebutton{ExSumListEntriesIIEmpty1}{\showpaste} +\tab{5}\spadcommand{[n**2 for n in 5..20]} +\end{paste}\end{patch} + +\begin{patch}{ExSumListEntriesIIPatch2} +\begin{paste}{ExSumListEntriesIIFull2}{ExSumListEntriesIIEmpty2} +\pastebutton{ExSumListEntriesIIFull2}{\hidepaste} +\tab{5}\spadcommand{reduce(+,[n**2 for n in 5..20])} +\indentrel{3}\begin{verbatim} + (2) 2840 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExSumListEntriesIIEmpty2} +\begin{paste}{ExSumListEntriesIIEmpty2}{ExSumListEntriesIIPatch2} +\pastebutton{ExSumListEntriesIIEmpty2}{\showpaste} +\tab{5}\spadcommand{reduce(+,[n**2 for n in 5..20])} +\end{paste}\end{patch} @ \pagehead{ExSumApproximateE}{exsum.ht}{Approximating $e$} @@ -7066,7 +17939,24 @@ You can obtain a numerical approximation of the number {\em e} by summing the entries of the following list: \spadpaste{reduce(+,[1.0/factorial(n) for n in 0..20])} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExSumApproximateEPatch1} +\begin{paste}{ExSumApproximateEFull1}{ExSumApproximateEEmpty1} +\pastebutton{ExSumApproximateEFull1}{\hidepaste} +\tab{5}\spadcommand{reduce(+,[1.0/factorial(n) for n in 0..20])} +\indentrel{3}\begin{verbatim} + (1) 2.7182818284 590452354 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExSumApproximateEEmpty1} +\begin{paste}{ExSumApproximateEEmpty1}{ExSumApproximateEPatch1} +\pastebutton{ExSumApproximateEEmpty1}{\showpaste} +\tab{5}\spadcommand{reduce(+,[1.0/factorial(n) for n in 0..20])} +\end{paste}\end{patch} @ \pagehead{ExSumClosedForm}{exsum.ht}{Closed Form Summations} @@ -7088,7 +17978,59 @@ for {\em a} and {\em b} in our formula: \spadpaste{eval(s,[a,b],[1,25]) \free{s}} \spadpaste{reduce(+,[i**2 for i in 1..25])} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExSumClosedFormPatch1} +\begin{paste}{ExSumClosedFormFull1}{ExSumClosedFormEmpty1} +\pastebutton{ExSumClosedFormFull1}{\hidepaste} +\tab{5}\spadcommand{s := sum(k**2,k = a..b)\bound{s }} +\indentrel{3}\begin{verbatim} + 3 2 3 2 + 2b + 3b + b - 2a + 3a - a + (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 6 + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExSumClosedFormEmpty1} +\begin{paste}{ExSumClosedFormEmpty1}{ExSumClosedFormPatch1} +\pastebutton{ExSumClosedFormEmpty1}{\showpaste} +\tab{5}\spadcommand{s := sum(k**2,k = a..b)\bound{s }} +\end{paste}\end{patch} + +\begin{patch}{ExSumClosedFormPatch2} +\begin{paste}{ExSumClosedFormFull2}{ExSumClosedFormEmpty2} +\pastebutton{ExSumClosedFormFull2}{\hidepaste} +\tab{5}\spadcommand{eval(s,[a,b],[1,25])\free{s }} +\indentrel{3}\begin{verbatim} + (2) 5525 + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExSumClosedFormEmpty2} +\begin{paste}{ExSumClosedFormEmpty2}{ExSumClosedFormPatch2} +\pastebutton{ExSumClosedFormEmpty2}{\showpaste} +\tab{5}\spadcommand{eval(s,[a,b],[1,25])\free{s }} +\end{paste}\end{patch} + +\begin{patch}{ExSumClosedFormPatch3} +\begin{paste}{ExSumClosedFormFull3}{ExSumClosedFormEmpty3} +\pastebutton{ExSumClosedFormFull3}{\hidepaste} +\tab{5}\spadcommand{reduce(+,[i**2 for i in 1..25])} +\indentrel{3}\begin{verbatim} + (3) 5525 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExSumClosedFormEmpty3} +\begin{paste}{ExSumClosedFormEmpty3}{ExSumClosedFormPatch3} +\pastebutton{ExSumClosedFormEmpty3}{\showpaste} +\tab{5}\spadcommand{reduce(+,[i**2 for i in 1..25])} +\end{paste}\end{patch} @ \pagehead{ExSumCubes}{exsum.ht}{Sums of Cubes} @@ -7102,7 +18044,46 @@ Then compute the square of the sum of the integers from {\em 1} to {\em n}: \spadpaste{sum(k,k = 1..n) ** 2} The answers are the same. \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExSumCubesPatch1} +\begin{paste}{ExSumCubesFull1}{ExSumCubesEmpty1} +\pastebutton{ExSumCubesFull1}{\hidepaste} +\tab{5}\spadcommand{sum(k**3,k = 1..n)} +\indentrel{3}\begin{verbatim} + 4 3 2 + n + 2n + n + (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄ + 4 + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExSumCubesEmpty1} +\begin{paste}{ExSumCubesEmpty1}{ExSumCubesPatch1} +\pastebutton{ExSumCubesEmpty1}{\showpaste} +\tab{5}\spadcommand{sum(k**3,k = 1..n)} +\end{paste}\end{patch} + +\begin{patch}{ExSumCubesPatch2} +\begin{paste}{ExSumCubesFull2}{ExSumCubesEmpty2} +\pastebutton{ExSumCubesFull2}{\hidepaste} +\tab{5}\spadcommand{sum(k,k = 1..n) ** 2} +\indentrel{3}\begin{verbatim} + 4 3 2 + n + 2n + n + (2) ÄÄÄÄÄÄÄÄÄÄÄÄÄ + 4 + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExSumCubesEmpty2} +\begin{paste}{ExSumCubesEmpty2}{ExSumCubesPatch2} +\pastebutton{ExSumCubesEmpty2}{\showpaste} +\tab{5}\spadcommand{sum(k,k = 1..n) ** 2} +\end{paste}\end{patch} @ \pagehead{ExSumPolynomial}{exsum.ht}{Sums of Polynomials} @@ -7114,7 +18095,34 @@ when {\em f} is any polynomial in {\em k}, even one with parameters. \spadpaste{sum(3*k**2/(c**2 + 1) + 12*k/d,k = (3*a)..(4*b))} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExSumPolynomialPatch1} +\begin{paste}{ExSumPolynomialFull1}{ExSumPolynomialEmpty1} +\pastebutton{ExSumPolynomialFull1}{\hidepaste} +\tab{5}\spadcommand{sum(3*k**2/(c**2 + 1) + 12*k/d,k = (3*a)..(4*b))} +\indentrel{3}\begin{verbatim} + (1) + 3 2 3 2 + (128b + 48b + 4b - 54a + 27a - 3a)d + + + 2 2 2 2 2 + (192b + 48b - 108a + 36a)c + 192b + 48b - 108a + + + 36a + / + 2 + (2c + 2)d + Type: Union(Fraction Polynomial Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExSumPolynomialEmpty1} +\begin{paste}{ExSumPolynomialEmpty1}{ExSumPolynomialPatch1} +\pastebutton{ExSumPolynomialEmpty1}{\showpaste} +\tab{5}\spadcommand{sum(3*k**2/(c**2 + 1) + 12*k/d,k = (3*a)..(4*b))} +\end{paste}\end{patch} @ \begin{verbatim} @@ -7141,7 +18149,28 @@ f which are not rational functions in {\em k}. Here's an example: \spadpaste{sum(k * x**k,k = 1..n)} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExSumGeneralFunctionPatch1} +\begin{paste}{ExSumGeneralFunctionFull1}{ExSumGeneralFunctionEmpty1} +\pastebutton{ExSumGeneralFunctionFull1}{\hidepaste} +\tab{5}\spadcommand{sum(k * x**k,k = 1..n)} +\indentrel{3}\begin{verbatim} + 2 n + (n x + (- n - 1)x)x + x + (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 2 + x - 2x + 1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExSumGeneralFunctionEmpty1} +\begin{paste}{ExSumGeneralFunctionEmpty1}{ExSumGeneralFunctionPatch1} +\pastebutton{ExSumGeneralFunctionEmpty1}{\showpaste} +\tab{5}\spadcommand{sum(k * x**k,k = 1..n)} +\end{paste}\end{patch} @ \pagehead{ExSumInfinite}{exsum.ht}{Infinite Sums} @@ -7157,7 +18186,26 @@ ranges from Use {\em \%plusInfinity} to denote `plus infinity'. \spadpaste{limit( sum(1/(k * (k + 2)),k = 1..n) ,n = \%plusInfinity)} \endscroll -\autobuttons\end{page} +\autobuttons +\end{page} + +\begin{patch}{ExSumInfinitePatch1} +\begin{paste}{ExSumInfiniteFull1}{ExSumInfiniteEmpty1} +\pastebutton{ExSumInfiniteFull1}{\hidepaste} +\tab{5}\spadcommand{limit( sum(1/(k * (k + 2)),k = 1..n) ,n = \%plusInfinity)} +\indentrel{3}\begin{verbatim} + 3 + (1) Ä + 4 +Type: Union(OrderedCompletion Fraction Polynomial Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ExSumInfiniteEmpty1} +\begin{paste}{ExSumInfiniteEmpty1}{ExSumInfinitePatch1} +\pastebutton{ExSumInfiniteEmpty1}{\showpaste} +\tab{5}\spadcommand{limit( sum(1/(k * (k + 2)),k = 1..n) ,n = \%plusInfinity)} +\end{paste}\end{patch} @ \section{farray.ht} @@ -7284,7 +18332,264 @@ The previous value is returned. \endscroll \autobuttons \end{page} -% + +\begin{patch}{FlexibleArrayXmpPagePatch1} +\begin{paste}{FlexibleArrayXmpPageFull1}{FlexibleArrayXmpPageEmpty1} +\pastebutton{FlexibleArrayXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{flexibleArray [i for i in 1..6]} +\indentrel{3}\begin{verbatim} + (1) [1,2,3,4,5,6] + Type: FlexibleArray PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPageEmpty1} +\begin{paste}{FlexibleArrayXmpPageEmpty1}{FlexibleArrayXmpPagePatch1} +\pastebutton{FlexibleArrayXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{flexibleArray [i for i in 1..6]} +\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPagePatch2} +\begin{paste}{FlexibleArrayXmpPageFull2}{FlexibleArrayXmpPageEmpty2} +\pastebutton{FlexibleArrayXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{f : FARRAY INT := new(6,0)\bound{f }} +\indentrel{3}\begin{verbatim} + (2) [0,0,0,0,0,0] + Type: FlexibleArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPageEmpty2} +\begin{paste}{FlexibleArrayXmpPageEmpty2}{FlexibleArrayXmpPagePatch2} +\pastebutton{FlexibleArrayXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{f : FARRAY INT := new(6,0)\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPagePatch3} +\begin{paste}{FlexibleArrayXmpPageFull3}{FlexibleArrayXmpPageEmpty3} +\pastebutton{FlexibleArrayXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{for i in 1..6 repeat f.i := i; f\bound{f1 }\free{f }} +\indentrel{3}\begin{verbatim} + (3) [1,2,3,4,5,6] + Type: FlexibleArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPageEmpty3} +\begin{paste}{FlexibleArrayXmpPageEmpty3}{FlexibleArrayXmpPagePatch3} +\pastebutton{FlexibleArrayXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{for i in 1..6 repeat f.i := i; f\bound{f1 }\free{f }} +\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPagePatch4} +\begin{paste}{FlexibleArrayXmpPageFull4}{FlexibleArrayXmpPageEmpty4} +\pastebutton{FlexibleArrayXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{physicalLength f\free{f1 }} +\indentrel{3}\begin{verbatim} + (4) 6 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPageEmpty4} +\begin{paste}{FlexibleArrayXmpPageEmpty4}{FlexibleArrayXmpPagePatch4} +\pastebutton{FlexibleArrayXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{physicalLength f\free{f1 }} +\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPagePatch5} +\begin{paste}{FlexibleArrayXmpPageFull5}{FlexibleArrayXmpPageEmpty5} +\pastebutton{FlexibleArrayXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{concat!(f,11)\bound{f2 }\free{f1 }} +\indentrel{3}\begin{verbatim} + (5) [1,2,3,4,5,6,11] + Type: FlexibleArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPageEmpty5} +\begin{paste}{FlexibleArrayXmpPageEmpty5}{FlexibleArrayXmpPagePatch5} +\pastebutton{FlexibleArrayXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{concat!(f,11)\bound{f2 }\free{f1 }} +\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPagePatch6} +\begin{paste}{FlexibleArrayXmpPageFull6}{FlexibleArrayXmpPageEmpty6} +\pastebutton{FlexibleArrayXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{physicalLength f\free{f2 }} +\indentrel{3}\begin{verbatim} + (6) 10 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPageEmpty6} +\begin{paste}{FlexibleArrayXmpPageEmpty6}{FlexibleArrayXmpPagePatch6} +\pastebutton{FlexibleArrayXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{physicalLength f\free{f2 }} +\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPagePatch7} +\begin{paste}{FlexibleArrayXmpPageFull7}{FlexibleArrayXmpPageEmpty7} +\pastebutton{FlexibleArrayXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{physicalLength!(f,15)\bound{f3 }\free{f2 }} +\indentrel{3}\begin{verbatim} + (7) [1,2,3,4,5,6,11] + Type: FlexibleArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPageEmpty7} +\begin{paste}{FlexibleArrayXmpPageEmpty7}{FlexibleArrayXmpPagePatch7} +\pastebutton{FlexibleArrayXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{physicalLength!(f,15)\bound{f3 }\free{f2 }} +\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPagePatch8} +\begin{paste}{FlexibleArrayXmpPageFull8}{FlexibleArrayXmpPageEmpty8} +\pastebutton{FlexibleArrayXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{concat!(f,f)\bound{f4 }\free{f3 }} +\indentrel{3}\begin{verbatim} + (8) [1,2,3,4,5,6,11,1,2,3,4,5,6,11] + Type: FlexibleArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPageEmpty8} +\begin{paste}{FlexibleArrayXmpPageEmpty8}{FlexibleArrayXmpPagePatch8} +\pastebutton{FlexibleArrayXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{concat!(f,f)\bound{f4 }\free{f3 }} +\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPagePatch9} +\begin{paste}{FlexibleArrayXmpPageFull9}{FlexibleArrayXmpPageEmpty9} +\pastebutton{FlexibleArrayXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{insert!(22,f,1)\bound{f5 }\free{f4 }} +\indentrel{3}\begin{verbatim} + (9) [22,1,2,3,4,5,6,11,1,2,3,4,5,6,11] + Type: FlexibleArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPageEmpty9} +\begin{paste}{FlexibleArrayXmpPageEmpty9}{FlexibleArrayXmpPagePatch9} +\pastebutton{FlexibleArrayXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{insert!(22,f,1)\bound{f5 }\free{f4 }} +\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPagePatch10} +\begin{paste}{FlexibleArrayXmpPageFull10}{FlexibleArrayXmpPageEmpty10} +\pastebutton{FlexibleArrayXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{g := f(10..)\bound{g }\free{f5 }} +\indentrel{3}\begin{verbatim} + (10) [2,3,4,5,6,11] + Type: FlexibleArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPageEmpty10} +\begin{paste}{FlexibleArrayXmpPageEmpty10}{FlexibleArrayXmpPagePatch10} +\pastebutton{FlexibleArrayXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{g := f(10..)\bound{g }\free{f5 }} +\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPagePatch11} +\begin{paste}{FlexibleArrayXmpPageFull11}{FlexibleArrayXmpPageEmpty11} +\pastebutton{FlexibleArrayXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{insert!(g,f,1)\bound{g1 }\free{g f5 }} +\indentrel{3}\begin{verbatim} + (11) [2,3,4,5,6,11,22,1,2,3,4,5,6,11,1,2,3,4,5,6,11] + Type: FlexibleArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPageEmpty11} +\begin{paste}{FlexibleArrayXmpPageEmpty11}{FlexibleArrayXmpPagePatch11} +\pastebutton{FlexibleArrayXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{insert!(g,f,1)\bound{g1 }\free{g f5 }} +\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPagePatch12} +\begin{paste}{FlexibleArrayXmpPageFull12}{FlexibleArrayXmpPageEmpty12} +\pastebutton{FlexibleArrayXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{merge!(sort! f, sort! g)\bound{f6 }\free{g f5 }} +\indentrel{3}\begin{verbatim} + (12) + [1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, + 6, 6, 6, 6, 11, 11, 11, 11, 22] + Type: FlexibleArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPageEmpty12} +\begin{paste}{FlexibleArrayXmpPageEmpty12}{FlexibleArrayXmpPagePatch12} +\pastebutton{FlexibleArrayXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{merge!(sort! f, sort! g)\bound{f6 }\free{g f5 }} +\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPagePatch13} +\begin{paste}{FlexibleArrayXmpPageFull13}{FlexibleArrayXmpPageEmpty13} +\pastebutton{FlexibleArrayXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{removeDuplicates! f\bound{f7 }\free{f6 }} +\indentrel{3}\begin{verbatim} + (13) [1,2,3,4,5,6,11,22] + Type: FlexibleArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPageEmpty13} +\begin{paste}{FlexibleArrayXmpPageEmpty13}{FlexibleArrayXmpPagePatch13} +\pastebutton{FlexibleArrayXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{removeDuplicates! f\bound{f7 }\free{f6 }} +\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPagePatch14} +\begin{paste}{FlexibleArrayXmpPageFull14}{FlexibleArrayXmpPageEmpty14} +\pastebutton{FlexibleArrayXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{select!(i +-> even? i,f)\bound{f8 }\free{f7 }} +\indentrel{3}\begin{verbatim} + (14) [2,4,6,22] + Type: FlexibleArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPageEmpty14} +\begin{paste}{FlexibleArrayXmpPageEmpty14}{FlexibleArrayXmpPagePatch14} +\pastebutton{FlexibleArrayXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{select!(i +-> even? i,f)\bound{f8 }\free{f7 }} +\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPagePatch15} +\begin{paste}{FlexibleArrayXmpPageFull15}{FlexibleArrayXmpPageEmpty15} +\pastebutton{FlexibleArrayXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{physicalLength f\free{b8 }} +\indentrel{3}\begin{verbatim} + (15) 8 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPageEmpty15} +\begin{paste}{FlexibleArrayXmpPageEmpty15}{FlexibleArrayXmpPagePatch15} +\pastebutton{FlexibleArrayXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{physicalLength f\free{b8 }} +\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPagePatch16} +\begin{paste}{FlexibleArrayXmpPageFull16}{FlexibleArrayXmpPageEmpty16} +\pastebutton{FlexibleArrayXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{shrinkable(false)$FlexibleArray(Integer)} +\indentrel{3}\begin{verbatim} + (16) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FlexibleArrayXmpPageEmpty16} +\begin{paste}{FlexibleArrayXmpPageEmpty16}{FlexibleArrayXmpPagePatch16} +\pastebutton{FlexibleArrayXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{shrinkable(false)$FlexibleArray(Integer)} +\end{paste}\end{patch} @ \section{file.ht} @@ -7392,6 +18697,212 @@ For more information on related topics, see \autobuttons \end{page} +\begin{patch}{FileXmpPagePatch1} +\begin{paste}{FileXmpPageFull1}{FileXmpPageEmpty1} +\pastebutton{FileXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{ifile:File List Integer:=open("/tmp/jazz1","output")\bound{ifile }} +\indentrel{3}\begin{verbatim} + (1) "/tmp/jazz1" + Type: File List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileXmpPageEmpty1} +\begin{paste}{FileXmpPageEmpty1}{FileXmpPagePatch1} +\pastebutton{FileXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{ifile:File List Integer:=open("/tmp/jazz1","output")\bound{ifile }} +\end{paste}\end{patch} + +\begin{patch}{FileXmpPagePatch2} +\begin{paste}{FileXmpPageFull2}{FileXmpPageEmpty2} +\pastebutton{FileXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{write!(ifile, [-1,2,3])\free{ifile }\bound{ifile1 }} +\indentrel{3}\begin{verbatim} + (2) [- 1,2,3] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileXmpPageEmpty2} +\begin{paste}{FileXmpPageEmpty2}{FileXmpPagePatch2} +\pastebutton{FileXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{write!(ifile, [-1,2,3])\free{ifile }\bound{ifile1 }} +\end{paste}\end{patch} + +\begin{patch}{FileXmpPagePatch3} +\begin{paste}{FileXmpPageFull3}{FileXmpPageEmpty3} +\pastebutton{FileXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{write!(ifile, [10,-10,0,111])\free{ifile1 }\bound{ifile2 }} +\indentrel{3}\begin{verbatim} + (3) [10,- 10,0,111] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileXmpPageEmpty3} +\begin{paste}{FileXmpPageEmpty3}{FileXmpPagePatch3} +\pastebutton{FileXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{write!(ifile, [10,-10,0,111])\free{ifile1 }\bound{ifile2 }} +\end{paste}\end{patch} + +\begin{patch}{FileXmpPagePatch4} +\begin{paste}{FileXmpPageFull4}{FileXmpPageEmpty4} +\pastebutton{FileXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{write!(ifile, [7])\free{ifile2 }\bound{ifile3 }} +\indentrel{3}\begin{verbatim} + (4) [7] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileXmpPageEmpty4} +\begin{paste}{FileXmpPageEmpty4}{FileXmpPagePatch4} +\pastebutton{FileXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{write!(ifile, [7])\free{ifile2 }\bound{ifile3 }} +\end{paste}\end{patch} + +\begin{patch}{FileXmpPagePatch5} +\begin{paste}{FileXmpPageFull5}{FileXmpPageEmpty5} +\pastebutton{FileXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{reopen!(ifile, "input")\free{ifile3 }\bound{ifile4 }} +\indentrel{3}\begin{verbatim} + (5) "/tmp/jazz1" + Type: File List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileXmpPageEmpty5} +\begin{paste}{FileXmpPageEmpty5}{FileXmpPagePatch5} +\pastebutton{FileXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{reopen!(ifile, "input")\free{ifile3 }\bound{ifile4 }} +\end{paste}\end{patch} + +\begin{patch}{FileXmpPagePatch6} +\begin{paste}{FileXmpPageFull6}{FileXmpPageEmpty6} +\pastebutton{FileXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{read! ifile\free{ifile4 }\bound{ifile5 }} +\indentrel{3}\begin{verbatim} + (6) [- 1,2,3] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileXmpPageEmpty6} +\begin{paste}{FileXmpPageEmpty6}{FileXmpPagePatch6} +\pastebutton{FileXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{read! ifile\free{ifile4 }\bound{ifile5 }} +\end{paste}\end{patch} + +\begin{patch}{FileXmpPagePatch7} +\begin{paste}{FileXmpPageFull7}{FileXmpPageEmpty7} +\pastebutton{FileXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{read! ifile\free{ifile5 }\bound{ifile6 }} +\indentrel{3}\begin{verbatim} + (7) [10,- 10,0,111] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileXmpPageEmpty7} +\begin{paste}{FileXmpPageEmpty7}{FileXmpPagePatch7} +\pastebutton{FileXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{read! ifile\free{ifile5 }\bound{ifile6 }} +\end{paste}\end{patch} + +\begin{patch}{FileXmpPagePatch8} +\begin{paste}{FileXmpPageFull8}{FileXmpPageEmpty8} +\pastebutton{FileXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{readIfCan! ifile\free{ifile6 }\bound{ifile7 }} +\indentrel{3}\begin{verbatim} + (8) [7] + Type: Union(List Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileXmpPageEmpty8} +\begin{paste}{FileXmpPageEmpty8}{FileXmpPagePatch8} +\pastebutton{FileXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{readIfCan! ifile\free{ifile6 }\bound{ifile7 }} +\end{paste}\end{patch} + +\begin{patch}{FileXmpPagePatch9} +\begin{paste}{FileXmpPageFull9}{FileXmpPageEmpty9} +\pastebutton{FileXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{readIfCan! ifile\free{ifile7 }\bound{ifile8 }} +\indentrel{3}\begin{verbatim} + (9) "failed" + Type: Union("failed",...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileXmpPageEmpty9} +\begin{paste}{FileXmpPageEmpty9}{FileXmpPagePatch9} +\pastebutton{FileXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{readIfCan! ifile\free{ifile7 }\bound{ifile8 }} +\end{paste}\end{patch} + +\begin{patch}{FileXmpPagePatch10} +\begin{paste}{FileXmpPageFull10}{FileXmpPageEmpty10} +\pastebutton{FileXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{iomode ifile\free{ifile }} +\indentrel{3}\begin{verbatim} + (10) "input" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileXmpPageEmpty10} +\begin{paste}{FileXmpPageEmpty10}{FileXmpPagePatch10} +\pastebutton{FileXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{iomode ifile\free{ifile }} +\end{paste}\end{patch} + +\begin{patch}{FileXmpPagePatch11} +\begin{paste}{FileXmpPageFull11}{FileXmpPageEmpty11} +\pastebutton{FileXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{name ifile\free{ifile }} +\indentrel{3}\begin{verbatim} + (11) "/tmp/jazz1" + Type: FileName +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileXmpPageEmpty11} +\begin{paste}{FileXmpPageEmpty11}{FileXmpPagePatch11} +\pastebutton{FileXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{name ifile\free{ifile }} +\end{paste}\end{patch} + +\begin{patch}{FileXmpPagePatch12} +\begin{paste}{FileXmpPageFull12}{FileXmpPageEmpty12} +\pastebutton{FileXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{close! ifile\free{ifile }\bound{ifileA }} +\indentrel{3}\begin{verbatim} + (12) "/tmp/jazz1" + Type: File List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileXmpPageEmpty12} +\begin{paste}{FileXmpPageEmpty12}{FileXmpPagePatch12} +\pastebutton{FileXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{close! ifile\free{ifile }\bound{ifileA }} +\end{paste}\end{patch} + +\begin{patch}{FileXmpPagePatch13} +\begin{paste}{FileXmpPageFull13}{FileXmpPageEmpty13} +\pastebutton{FileXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{)system rm /tmp/jazz1\free{ifileA }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileXmpPageEmpty13} +\begin{paste}{FileXmpPageEmpty13}{FileXmpPagePatch13} +\pastebutton{FileXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{)system rm /tmp/jazz1\free{ifileA }} +\end{paste}\end{patch} + @ \section{float.ht} \pagehead{FloatXmpPage}{float.ht}{Float} @@ -7479,6 +18990,54 @@ numbers. \autobuttons \end{page} +\begin{patch}{ugxFloatIntroPagePatch1} +\begin{paste}{ugxFloatIntroPageFull1}{ugxFloatIntroPageEmpty1} +\pastebutton{ugxFloatIntroPageFull1}{\hidepaste} +\tab{5}\spadcommand{1.234} +\indentrel{3}\begin{verbatim} + (1) 1.234 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatIntroPageEmpty1} +\begin{paste}{ugxFloatIntroPageEmpty1}{ugxFloatIntroPagePatch1} +\pastebutton{ugxFloatIntroPageEmpty1}{\showpaste} +\tab{5}\spadcommand{1.234} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatIntroPagePatch2} +\begin{paste}{ugxFloatIntroPageFull2}{ugxFloatIntroPageEmpty2} +\pastebutton{ugxFloatIntroPageFull2}{\hidepaste} +\tab{5}\spadcommand{1.234E2} +\indentrel{3}\begin{verbatim} + (2) 123.4 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatIntroPageEmpty2} +\begin{paste}{ugxFloatIntroPageEmpty2}{ugxFloatIntroPagePatch2} +\pastebutton{ugxFloatIntroPageEmpty2}{\showpaste} +\tab{5}\spadcommand{1.234E2} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatIntroPagePatch3} +\begin{paste}{ugxFloatIntroPageFull3}{ugxFloatIntroPageEmpty3} +\pastebutton{ugxFloatIntroPageFull3}{\hidepaste} +\tab{5}\spadcommand{sqrt(1.2 + 2.3 / 3.4 ** 4.5)} +\indentrel{3}\begin{verbatim} + (3) 1.0996972790 671286226 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatIntroPageEmpty3} +\begin{paste}{ugxFloatIntroPageEmpty3}{ugxFloatIntroPagePatch3} +\pastebutton{ugxFloatIntroPageEmpty3}{\showpaste} +\tab{5}\spadcommand{sqrt(1.2 + 2.3 / 3.4 ** 4.5)} +\end{paste}\end{patch} + @ \pagehead{ugxFloatConvertPage}{float.ht}{Conversion Functions} \pageto{notitle}{ugTypesConvertPage} @@ -7590,6 +19149,292 @@ general, be represented exactly. \autobuttons \end{page} +\begin{patch}{ugxFloatConvertPagePatch1} +\begin{paste}{ugxFloatConvertPageFull1}{ugxFloatConvertPageEmpty1} +\pastebutton{ugxFloatConvertPageFull1}{\hidepaste} +\tab{5}\spadcommand{i := 3 :: Float\bound{i }} +\indentrel{3}\begin{verbatim} + (1) 3.0 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPageEmpty1} +\begin{paste}{ugxFloatConvertPageEmpty1}{ugxFloatConvertPagePatch1} +\pastebutton{ugxFloatConvertPageEmpty1}{\showpaste} +\tab{5}\spadcommand{i := 3 :: Float\bound{i }} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPagePatch2} +\begin{paste}{ugxFloatConvertPageFull2}{ugxFloatConvertPageEmpty2} +\pastebutton{ugxFloatConvertPageFull2}{\hidepaste} +\tab{5}\spadcommand{i :: Integer\free{i }} +\indentrel{3}\begin{verbatim} + (2) 3 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPageEmpty2} +\begin{paste}{ugxFloatConvertPageEmpty2}{ugxFloatConvertPagePatch2} +\pastebutton{ugxFloatConvertPageEmpty2}{\showpaste} +\tab{5}\spadcommand{i :: Integer\free{i }} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPagePatch3} +\begin{paste}{ugxFloatConvertPageFull3}{ugxFloatConvertPageEmpty3} +\pastebutton{ugxFloatConvertPageFull3}{\hidepaste} +\tab{5}\spadcommand{i :: Fraction Integer\free{i }} +\indentrel{3}\begin{verbatim} + (3) 3 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPageEmpty3} +\begin{paste}{ugxFloatConvertPageEmpty3}{ugxFloatConvertPagePatch3} +\pastebutton{ugxFloatConvertPageEmpty3}{\showpaste} +\tab{5}\spadcommand{i :: Fraction Integer\free{i }} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPagePatch4} +\begin{paste}{ugxFloatConvertPageFull4}{ugxFloatConvertPageEmpty4} +\pastebutton{ugxFloatConvertPageFull4}{\hidepaste} +\tab{5}\spadcommand{r := 3/7 :: Float\bound{r }} +\indentrel{3}\begin{verbatim} + (4) 0.42857 14285 71428 57143 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPageEmpty4} +\begin{paste}{ugxFloatConvertPageEmpty4}{ugxFloatConvertPagePatch4} +\pastebutton{ugxFloatConvertPageEmpty4}{\showpaste} +\tab{5}\spadcommand{r := 3/7 :: Float\bound{r }} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPagePatch5} +\begin{paste}{ugxFloatConvertPageFull5}{ugxFloatConvertPageEmpty5} +\pastebutton{ugxFloatConvertPageFull5}{\hidepaste} +\tab{5}\spadcommand{r :: Fraction Integer\free{r }} +\indentrel{3}\begin{verbatim} + 3 + (5) Ä + 7 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPageEmpty5} +\begin{paste}{ugxFloatConvertPageEmpty5}{ugxFloatConvertPagePatch5} +\pastebutton{ugxFloatConvertPageEmpty5}{\showpaste} +\tab{5}\spadcommand{r :: Fraction Integer\free{r }} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPagePatch6} +\begin{paste}{ugxFloatConvertPageFull6}{ugxFloatConvertPageEmpty6} +\pastebutton{ugxFloatConvertPageFull6}{\hidepaste} +\tab{5}\spadcommand{r :: Integer\free{r }} +\indentrel{3}\begin{verbatim} + 0.42857 14285 71428 57143 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPageEmpty6} +\begin{paste}{ugxFloatConvertPageEmpty6}{ugxFloatConvertPagePatch6} +\pastebutton{ugxFloatConvertPageEmpty6}{\showpaste} +\tab{5}\spadcommand{r :: Integer\free{r }} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPagePatch7} +\begin{paste}{ugxFloatConvertPageFull7}{ugxFloatConvertPageEmpty7} +\pastebutton{ugxFloatConvertPageFull7}{\hidepaste} +\tab{5}\spadcommand{truncate 3.6} +\indentrel{3}\begin{verbatim} + (6) 3.0 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPageEmpty7} +\begin{paste}{ugxFloatConvertPageEmpty7}{ugxFloatConvertPagePatch7} +\pastebutton{ugxFloatConvertPageEmpty7}{\showpaste} +\tab{5}\spadcommand{truncate 3.6} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPagePatch8} +\begin{paste}{ugxFloatConvertPageFull8}{ugxFloatConvertPageEmpty8} +\pastebutton{ugxFloatConvertPageFull8}{\hidepaste} +\tab{5}\spadcommand{round 3.6} +\indentrel{3}\begin{verbatim} + (7) 4.0 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPageEmpty8} +\begin{paste}{ugxFloatConvertPageEmpty8}{ugxFloatConvertPagePatch8} +\pastebutton{ugxFloatConvertPageEmpty8}{\showpaste} +\tab{5}\spadcommand{round 3.6} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPagePatch9} +\begin{paste}{ugxFloatConvertPageFull9}{ugxFloatConvertPageEmpty9} +\pastebutton{ugxFloatConvertPageFull9}{\hidepaste} +\tab{5}\spadcommand{truncate(-3.6)} +\indentrel{3}\begin{verbatim} + (8) - 3.0 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPageEmpty9} +\begin{paste}{ugxFloatConvertPageEmpty9}{ugxFloatConvertPagePatch9} +\pastebutton{ugxFloatConvertPageEmpty9}{\showpaste} +\tab{5}\spadcommand{truncate(-3.6)} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPagePatch10} +\begin{paste}{ugxFloatConvertPageFull10}{ugxFloatConvertPageEmpty10} +\pastebutton{ugxFloatConvertPageFull10}{\hidepaste} +\tab{5}\spadcommand{round(-3.6)} +\indentrel{3}\begin{verbatim} + (9) - 4.0 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPageEmpty10} +\begin{paste}{ugxFloatConvertPageEmpty10}{ugxFloatConvertPagePatch10} +\pastebutton{ugxFloatConvertPageEmpty10}{\showpaste} +\tab{5}\spadcommand{round(-3.6)} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPagePatch11} +\begin{paste}{ugxFloatConvertPageFull11}{ugxFloatConvertPageEmpty11} +\pastebutton{ugxFloatConvertPageFull11}{\hidepaste} +\tab{5}\spadcommand{fractionPart 3.6} +\indentrel{3}\begin{verbatim} + (10) 0.6 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPageEmpty11} +\begin{paste}{ugxFloatConvertPageEmpty11}{ugxFloatConvertPagePatch11} +\pastebutton{ugxFloatConvertPageEmpty11}{\showpaste} +\tab{5}\spadcommand{fractionPart 3.6} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPagePatch12} +\begin{paste}{ugxFloatConvertPageFull12}{ugxFloatConvertPageEmpty12} +\pastebutton{ugxFloatConvertPageFull12}{\hidepaste} +\tab{5}\spadcommand{digits 40\bound{d40 }} +\indentrel{3}\begin{verbatim} + (11) 20 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPageEmpty12} +\begin{paste}{ugxFloatConvertPageEmpty12}{ugxFloatConvertPagePatch12} +\pastebutton{ugxFloatConvertPageEmpty12}{\showpaste} +\tab{5}\spadcommand{digits 40\bound{d40 }} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPagePatch13} +\begin{paste}{ugxFloatConvertPageFull13}{ugxFloatConvertPageEmpty13} +\pastebutton{ugxFloatConvertPageFull13}{\hidepaste} +\tab{5}\spadcommand{sqrt 0.2} +\indentrel{3}\begin{verbatim} + (12) + 0.44721 35954 99957 93928 18347 33746 25524 70881 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPageEmpty13} +\begin{paste}{ugxFloatConvertPageEmpty13}{ugxFloatConvertPagePatch13} +\pastebutton{ugxFloatConvertPageEmpty13}{\showpaste} +\tab{5}\spadcommand{sqrt 0.2} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPagePatch14} +\begin{paste}{ugxFloatConvertPageFull14}{ugxFloatConvertPageEmpty14} +\pastebutton{ugxFloatConvertPageFull14}{\hidepaste} +\tab{5}\spadcommand{pi()$Float\free{d40 }} +\indentrel{3}\begin{verbatim} + (13) + 3.14159 26535 89793 23846 26433 83279 50288 4197 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPageEmpty14} +\begin{paste}{ugxFloatConvertPageEmpty14}{ugxFloatConvertPagePatch14} +\pastebutton{ugxFloatConvertPageEmpty14}{\showpaste} +\tab{5}\spadcommand{pi()$Float\free{d40 }} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPagePatch15} +\begin{paste}{ugxFloatConvertPageFull15}{ugxFloatConvertPageEmpty15} +\pastebutton{ugxFloatConvertPageFull15}{\hidepaste} +\tab{5}\spadcommand{digits 500\bound{d1000 }} +\indentrel{3}\begin{verbatim} + (14) 40 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPageEmpty15} +\begin{paste}{ugxFloatConvertPageEmpty15}{ugxFloatConvertPagePatch15} +\pastebutton{ugxFloatConvertPageEmpty15}{\showpaste} +\tab{5}\spadcommand{digits 500\bound{d1000 }} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPagePatch16} +\begin{paste}{ugxFloatConvertPageFull16}{ugxFloatConvertPageEmpty16} +\pastebutton{ugxFloatConvertPageFull16}{\hidepaste} +\tab{5}\spadcommand{pi()$Float\free{d1000 }} +\indentrel{3}\begin{verbatim} + (15) + 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 + 37510 58209 74944 59230 78164 06286 20899 86280 34825 + 34211 70679 82148 08651 32823 06647 09384 46095 50582 2 + 3172 53594 08128 48111 74502 84102 70193 85211 05559 64 + 462 29489 54930 38196 44288 10975 66593 34461 28475 648 + 23 37867 83165 27120 19091 45648 56692 34603 48610 4543 + 2 66482 13393 60726 02491 41273 72458 70066 06315 58817 + 48815 20920 96282 92540 91715 36436 78925 90360 01133 + 05305 48820 46652 13841 46951 94151 16094 33057 27036 5 + 7595 91953 09218 61173 81932 61179 31051 18548 07446 23 + 799 62749 56735 18857 52724 89122 79381 83011 9491 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPageEmpty16} +\begin{paste}{ugxFloatConvertPageEmpty16}{ugxFloatConvertPagePatch16} +\pastebutton{ugxFloatConvertPageEmpty16}{\showpaste} +\tab{5}\spadcommand{pi()$Float\free{d1000 }} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPagePatch17} +\begin{paste}{ugxFloatConvertPageFull17}{ugxFloatConvertPageEmpty17} +\pastebutton{ugxFloatConvertPageFull17}{\hidepaste} +\tab{5}\spadcommand{digits 20} +\indentrel{3}\begin{verbatim} + (16) 500 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatConvertPageEmpty17} +\begin{paste}{ugxFloatConvertPageEmpty17}{ugxFloatConvertPagePatch17} +\pastebutton{ugxFloatConvertPageEmpty17}{\showpaste} +\tab{5}\spadcommand{digits 20} +\end{paste}\end{patch} + @ \pagehead{ugxFloatOutputPage}{float.ht}{Output Functions} <>= @@ -7654,6 +19499,133 @@ This resets the output printing to the default behavior. \autobuttons \end{page} +\begin{patch}{ugxFloatOutputPagePatch1} +\begin{paste}{ugxFloatOutputPageFull1}{ugxFloatOutputPageEmpty1} +\pastebutton{ugxFloatOutputPageFull1}{\hidepaste} +\tab{5}\spadcommand{outputSpacing 0; x := sqrt 0.2\bound{x }\bound{os0 }} +\indentrel{3}\begin{verbatim} + (1) 0.44721359549995793928 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatOutputPageEmpty1} +\begin{paste}{ugxFloatOutputPageEmpty1}{ugxFloatOutputPagePatch1} +\pastebutton{ugxFloatOutputPageEmpty1}{\showpaste} +\tab{5}\spadcommand{outputSpacing 0; x := sqrt 0.2\bound{x }\bound{os0 }} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatOutputPagePatch2} +\begin{paste}{ugxFloatOutputPageFull2}{ugxFloatOutputPageEmpty2} +\pastebutton{ugxFloatOutputPageFull2}{\hidepaste} +\tab{5}\spadcommand{outputSpacing 5; x\bound{os5 }\free{x }} +\indentrel{3}\begin{verbatim} + (2) 0.44721 35954 99957 93928 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatOutputPageEmpty2} +\begin{paste}{ugxFloatOutputPageEmpty2}{ugxFloatOutputPagePatch2} +\pastebutton{ugxFloatOutputPageEmpty2}{\showpaste} +\tab{5}\spadcommand{outputSpacing 5; x\bound{os5 }\free{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatOutputPagePatch3} +\begin{paste}{ugxFloatOutputPageFull3}{ugxFloatOutputPageEmpty3} +\pastebutton{ugxFloatOutputPageFull3}{\hidepaste} +\tab{5}\spadcommand{y := x/10**10\bound{y }\free{x os5 }} +\indentrel{3}\begin{verbatim} + (3) 0.44721 35954 99957 93928 E -10 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatOutputPageEmpty3} +\begin{paste}{ugxFloatOutputPageEmpty3}{ugxFloatOutputPagePatch3} +\pastebutton{ugxFloatOutputPageEmpty3}{\showpaste} +\tab{5}\spadcommand{y := x/10**10\bound{y }\free{x os5 }} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatOutputPagePatch4} +\begin{paste}{ugxFloatOutputPageFull4}{ugxFloatOutputPageEmpty4} +\pastebutton{ugxFloatOutputPageFull4}{\hidepaste} +\tab{5}\spadcommand{outputFloating(); x\bound{of }\free{os5 x }} +\indentrel{3}\begin{verbatim} + (4) 0.44721 35954 99957 93928 E 0 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatOutputPageEmpty4} +\begin{paste}{ugxFloatOutputPageEmpty4}{ugxFloatOutputPagePatch4} +\pastebutton{ugxFloatOutputPageEmpty4}{\showpaste} +\tab{5}\spadcommand{outputFloating(); x\bound{of }\free{os5 x }} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatOutputPagePatch5} +\begin{paste}{ugxFloatOutputPageFull5}{ugxFloatOutputPageEmpty5} +\pastebutton{ugxFloatOutputPageFull5}{\hidepaste} +\tab{5}\spadcommand{outputFixed(); y\bound{ox }\free{os5 y }} +\indentrel{3}\begin{verbatim} + (5) 0.00000 00000 44721 35954 99957 93928 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatOutputPageEmpty5} +\begin{paste}{ugxFloatOutputPageEmpty5}{ugxFloatOutputPagePatch5} +\pastebutton{ugxFloatOutputPageEmpty5}{\showpaste} +\tab{5}\spadcommand{outputFixed(); y\bound{ox }\free{os5 y }} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatOutputPagePatch6} +\begin{paste}{ugxFloatOutputPageFull6}{ugxFloatOutputPageEmpty6} +\pastebutton{ugxFloatOutputPageFull6}{\hidepaste} +\tab{5}\spadcommand{outputFloating 2; y\bound{of2 }\free{os5 y }} +\indentrel{3}\begin{verbatim} + (6) 0.45 E -10 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatOutputPageEmpty6} +\begin{paste}{ugxFloatOutputPageEmpty6}{ugxFloatOutputPagePatch6} +\pastebutton{ugxFloatOutputPageEmpty6}{\showpaste} +\tab{5}\spadcommand{outputFloating 2; y\bound{of2 }\free{os5 y }} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatOutputPagePatch7} +\begin{paste}{ugxFloatOutputPageFull7}{ugxFloatOutputPageEmpty7} +\pastebutton{ugxFloatOutputPageFull7}{\hidepaste} +\tab{5}\spadcommand{outputFixed 2; x\bound{ox2 }\free{os5 x }} +\indentrel{3}\begin{verbatim} + (7) 0.45 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatOutputPageEmpty7} +\begin{paste}{ugxFloatOutputPageEmpty7}{ugxFloatOutputPagePatch7} +\pastebutton{ugxFloatOutputPageEmpty7}{\showpaste} +\tab{5}\spadcommand{outputFixed 2; x\bound{ox2 }\free{os5 x }} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatOutputPagePatch8} +\begin{paste}{ugxFloatOutputPageFull8}{ugxFloatOutputPageEmpty8} +\pastebutton{ugxFloatOutputPageFull8}{\hidepaste} +\tab{5}\spadcommand{outputGeneral()} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatOutputPageEmpty8} +\begin{paste}{ugxFloatOutputPageEmpty8}{ugxFloatOutputPagePatch8} +\pastebutton{ugxFloatOutputPageEmpty8}{\showpaste} +\tab{5}\spadcommand{outputGeneral()} +\end{paste}\end{patch} + @ \pagehead{ugxFloatHilbertPage}{float.ht} {An Example: Determinant of a Hilbert Matrix} @@ -7724,7 +19696,191 @@ Reset \spadfunFrom{digits}{Float} to its default value. \autobuttons \end{page} -@ +\begin{patch}{ugxFloatHilbertPagePatch1} +\begin{paste}{ugxFloatHilbertPageFull1}{ugxFloatHilbertPageEmpty1} +\pastebutton{ugxFloatHilbertPageFull1}{\hidepaste} +\tab{5}\spadcommand{a: Matrix Fraction Integer := matrix [[1/(i+j+1) for j in 0..9] for i in 0..9]\bound{a }} +\indentrel{3}\begin{verbatim} + Ú 1 1 1 1 1 1 1 1 1¿ + ³1 Ä Ä Ä Ä Ä Ä Ä Ä Äij + ³ 2 3 4 5 6 7 8 9 10³ + ³ ³ + ³1 1 1 1 1 1 1 1 1 1³ + ³Ä Ä Ä Ä Ä Ä Ä Ä ÄÄ Äij + ³2 3 4 5 6 7 8 9 10 11³ + ³ ³ + ³1 1 1 1 1 1 1 1 1 1³ + ³Ä Ä Ä Ä Ä Ä Ä ÄÄ ÄÄ Äij + ³3 4 5 6 7 8 9 10 11 12³ + ³ ³ + ³1 1 1 1 1 1 1 1 1 1³ + ³Ä Ä Ä Ä Ä Ä ÄÄ ÄÄ ÄÄ Äij + ³4 5 6 7 8 9 10 11 12 13³ + ³ ³ + ³1 1 1 1 1 1 1 1 1 1³ + ³Ä Ä Ä Ä Ä ÄÄ ÄÄ ÄÄ ÄÄ Äij + ³5 6 7 8 9 10 11 12 13 14³ + (1) ³ ³ + ³1 1 1 1 1 1 1 1 1 1³ + ³Ä Ä Ä Ä ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ Äij + ³6 7 8 9 10 11 12 13 14 15³ + ³ ³ + ³1 1 1 1 1 1 1 1 1 1³ + ³Ä Ä Ä ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ Äij + ³7 8 9 10 11 12 13 14 15 16³ + ³ ³ + ³1 1 1 1 1 1 1 1 1 1³ + ³Ä Ä ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ Äij + ³8 9 10 11 12 13 14 15 16 17³ + ³ ³ + ³1 1 1 1 1 1 1 1 1 1³ + ³Ä ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ Äij + ³9 10 11 12 13 14 15 16 17 18³ + ³ ³ + ³ 1 1 1 1 1 1 1 1 1 1³ + ³ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ Äij + À10 11 12 13 14 15 16 17 18 19Ù + Type: Matrix Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatHilbertPageEmpty1} +\begin{paste}{ugxFloatHilbertPageEmpty1}{ugxFloatHilbertPagePatch1} +\pastebutton{ugxFloatHilbertPageEmpty1}{\showpaste} +\tab{5}\spadcommand{a: Matrix Fraction Integer := matrix [[1/(i+j+1) for j in 0..9] for i in 0..9]\bound{a }} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatHilbertPagePatch2} +\begin{paste}{ugxFloatHilbertPageFull2}{ugxFloatHilbertPageEmpty2} +\pastebutton{ugxFloatHilbertPageFull2}{\hidepaste} +\tab{5}\spadcommand{d:= determinant a\free{a }\bound{d }} +\indentrel{3}\begin{verbatim} + (2) + 1 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 46206893947914691316295628839036278726983680000000000 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatHilbertPageEmpty2} +\begin{paste}{ugxFloatHilbertPageEmpty2}{ugxFloatHilbertPagePatch2} +\pastebutton{ugxFloatHilbertPageEmpty2}{\showpaste} +\tab{5}\spadcommand{d:= determinant a\free{a }\bound{d }} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatHilbertPagePatch3} +\begin{paste}{ugxFloatHilbertPageFull3}{ugxFloatHilbertPageEmpty3} +\pastebutton{ugxFloatHilbertPageFull3}{\hidepaste} +\tab{5}\spadcommand{d :: Float\free{d }} +\indentrel{3}\begin{verbatim} + (3) 0.21641 79226 43149 18691 E -52 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatHilbertPageEmpty3} +\begin{paste}{ugxFloatHilbertPageEmpty3}{ugxFloatHilbertPagePatch3} +\pastebutton{ugxFloatHilbertPageEmpty3}{\showpaste} +\tab{5}\spadcommand{d :: Float\free{d }} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatHilbertPagePatch4} +\begin{paste}{ugxFloatHilbertPageFull4}{ugxFloatHilbertPageEmpty4} +\pastebutton{ugxFloatHilbertPageFull4}{\hidepaste} +\tab{5}\spadcommand{b: Matrix DoubleFloat := matrix [[1/(i+j+1$DoubleFloat) for j in 0..9] for i in 0..9];\bound{b }} +\indentrel{3}\begin{verbatim} + Type: Matrix DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatHilbertPageEmpty4} +\begin{paste}{ugxFloatHilbertPageEmpty4}{ugxFloatHilbertPagePatch4} +\pastebutton{ugxFloatHilbertPageEmpty4}{\showpaste} +\tab{5}\spadcommand{b: Matrix DoubleFloat := matrix [[1/(i+j+1$DoubleFloat) for j in 0..9] for i in 0..9];\bound{b }} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatHilbertPagePatch5} +\begin{paste}{ugxFloatHilbertPageFull5}{ugxFloatHilbertPageEmpty5} +\pastebutton{ugxFloatHilbertPageFull5}{\hidepaste} +\tab{5}\spadcommand{determinant b\free{b }} +\indentrel{3}\begin{verbatim} + (5) 2.1643677945721411e-53 + Type: DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatHilbertPageEmpty5} +\begin{paste}{ugxFloatHilbertPageEmpty5}{ugxFloatHilbertPagePatch5} +\pastebutton{ugxFloatHilbertPageEmpty5}{\showpaste} +\tab{5}\spadcommand{determinant b\free{b }} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatHilbertPagePatch6} +\begin{paste}{ugxFloatHilbertPageFull6}{ugxFloatHilbertPageEmpty6} +\pastebutton{ugxFloatHilbertPageFull6}{\hidepaste} +\tab{5}\spadcommand{digits 40\bound{d40 }} +\indentrel{3}\begin{verbatim} + (6) 20 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatHilbertPageEmpty6} +\begin{paste}{ugxFloatHilbertPageEmpty6}{ugxFloatHilbertPagePatch6} +\pastebutton{ugxFloatHilbertPageEmpty6}{\showpaste} +\tab{5}\spadcommand{digits 40\bound{d40 }} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatHilbertPagePatch7} +\begin{paste}{ugxFloatHilbertPageFull7}{ugxFloatHilbertPageEmpty7} +\pastebutton{ugxFloatHilbertPageFull7}{\hidepaste} +\tab{5}\spadcommand{c: Matrix Float := matrix [[1/(i+j+1$Float) for j in 0..9] for i in 0..9];\free{d40 }\bound{c }} +\indentrel{3}\begin{verbatim} + Type: Matrix Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatHilbertPageEmpty7} +\begin{paste}{ugxFloatHilbertPageEmpty7}{ugxFloatHilbertPagePatch7} +\pastebutton{ugxFloatHilbertPageEmpty7}{\showpaste} +\tab{5}\spadcommand{c: Matrix Float := matrix [[1/(i+j+1$Float) for j in 0..9] for i in 0..9];\free{d40 }\bound{c }} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatHilbertPagePatch8} +\begin{paste}{ugxFloatHilbertPageFull8}{ugxFloatHilbertPageEmpty8} +\pastebutton{ugxFloatHilbertPageFull8}{\hidepaste} +\tab{5}\spadcommand{determinant c\free{c }} +\indentrel{3}\begin{verbatim} + (8) + 0.21641 79226 43149 18690 60594 98362 26174 36159 E -52 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatHilbertPageEmpty8} +\begin{paste}{ugxFloatHilbertPageEmpty8}{ugxFloatHilbertPagePatch8} +\pastebutton{ugxFloatHilbertPageEmpty8}{\showpaste} +\tab{5}\spadcommand{determinant c\free{c }} +\end{paste}\end{patch} + +\begin{patch}{ugxFloatHilbertPagePatch9} +\begin{paste}{ugxFloatHilbertPageFull9}{ugxFloatHilbertPageEmpty9} +\pastebutton{ugxFloatHilbertPageFull9}{\hidepaste} +\tab{5}\spadcommand{digits 20} +\indentrel{3}\begin{verbatim} + (9) 40 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFloatHilbertPageEmpty9} +\begin{paste}{ugxFloatHilbertPageEmpty9}{ugxFloatHilbertPagePatch9} +\pastebutton{ugxFloatHilbertPageEmpty9}{\showpaste} +\tab{5}\spadcommand{digits 20} +\end{paste}\end{patch} + +f@ \section{fname.ht} \pagehead{FileNameXmpPage}{fname.ht}{FileName} <>= @@ -7855,6 +20011,293 @@ with the given extension, and the same defaults are used. \autobuttons \end{page} +\begin{patch}{FileNameXmpPagePatch1} +\begin{paste}{FileNameXmpPageFull1}{FileNameXmpPageEmpty1} +\pastebutton{FileNameXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{fn: FileName\bound{fndecl }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPageEmpty1} +\begin{paste}{FileNameXmpPageEmpty1}{FileNameXmpPagePatch1} +\pastebutton{FileNameXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{fn: FileName\bound{fndecl }} +\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPagePatch2} +\begin{paste}{FileNameXmpPageFull2}{FileNameXmpPageEmpty2} +\pastebutton{FileNameXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{fn := "/spad/src/input/fname.input"\free{fndecl }\bound{fn }} +\indentrel{3}\begin{verbatim} + (2) "/spad/src/input/fname.input" + Type: FileName +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPageEmpty2} +\begin{paste}{FileNameXmpPageEmpty2}{FileNameXmpPagePatch2} +\pastebutton{FileNameXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{fn := "/spad/src/input/fname.input"\free{fndecl }\bound{fn }} +\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPagePatch3} +\begin{paste}{FileNameXmpPageFull3}{FileNameXmpPageEmpty3} +\pastebutton{FileNameXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{directory fn\free{fn }} +\indentrel{3}\begin{verbatim} + (3) "/spad/src/input" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPageEmpty3} +\begin{paste}{FileNameXmpPageEmpty3}{FileNameXmpPagePatch3} +\pastebutton{FileNameXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{directory fn\free{fn }} +\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPagePatch4} +\begin{paste}{FileNameXmpPageFull4}{FileNameXmpPageEmpty4} +\pastebutton{FileNameXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{name fn\free{fn }} +\indentrel{3}\begin{verbatim} + (4) "fname" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPageEmpty4} +\begin{paste}{FileNameXmpPageEmpty4}{FileNameXmpPagePatch4} +\pastebutton{FileNameXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{name fn\free{fn }} +\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPagePatch5} +\begin{paste}{FileNameXmpPageFull5}{FileNameXmpPageEmpty5} +\pastebutton{FileNameXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{extension fn\free{fn }} +\indentrel{3}\begin{verbatim} + (5) "input" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPageEmpty5} +\begin{paste}{FileNameXmpPageEmpty5}{FileNameXmpPagePatch5} +\pastebutton{FileNameXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{extension fn\free{fn }} +\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPagePatch6} +\begin{paste}{FileNameXmpPageFull6}{FileNameXmpPageEmpty6} +\pastebutton{FileNameXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{fn := filename("/u/smwatt/work", "fname", "input")\free{fndecl }\bound{fn1 }} +\indentrel{3}\begin{verbatim} + (6) "/u/smwatt/work/fname.input" + Type: FileName +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPageEmpty6} +\begin{paste}{FileNameXmpPageEmpty6}{FileNameXmpPagePatch6} +\pastebutton{FileNameXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{fn := filename("/u/smwatt/work", "fname", "input")\free{fndecl }\bound{fn1 }} +\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPagePatch7} +\begin{paste}{FileNameXmpPageFull7}{FileNameXmpPageEmpty7} +\pastebutton{FileNameXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{objdir := "/tmp"\bound{objdir }} +\indentrel{3}\begin{verbatim} + (7) "/tmp" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPageEmpty7} +\begin{paste}{FileNameXmpPageEmpty7}{FileNameXmpPagePatch7} +\pastebutton{FileNameXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{objdir := "/tmp"\bound{objdir }} +\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPagePatch8} +\begin{paste}{FileNameXmpPageFull8}{FileNameXmpPageEmpty8} +\pastebutton{FileNameXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{fn := filename(objdir, "table", "spad")\free{fndecl objdir }\bound{fn2 }} +\indentrel{3}\begin{verbatim} + (8) "/tmp/table.spad" + Type: FileName +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPageEmpty8} +\begin{paste}{FileNameXmpPageEmpty8}{FileNameXmpPagePatch8} +\pastebutton{FileNameXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{fn := filename(objdir, "table", "spad")\free{fndecl objdir }\bound{fn2 }} +\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPagePatch9} +\begin{paste}{FileNameXmpPageFull9}{FileNameXmpPageEmpty9} +\pastebutton{FileNameXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{fn := filename("", "letter", "")\free{fndecl }\bound{fn3 }} +\indentrel{3}\begin{verbatim} + (9) "letter" + Type: FileName +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPageEmpty9} +\begin{paste}{FileNameXmpPageEmpty9}{FileNameXmpPagePatch9} +\pastebutton{FileNameXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{fn := filename("", "letter", "")\free{fndecl }\bound{fn3 }} +\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPagePatch10} +\begin{paste}{FileNameXmpPageFull10}{FileNameXmpPageEmpty10} +\pastebutton{FileNameXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{exists? "/etc/passwd"} +\indentrel{3}\begin{verbatim} + (10) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPageEmpty10} +\begin{paste}{FileNameXmpPageEmpty10}{FileNameXmpPagePatch10} +\pastebutton{FileNameXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{exists? "/etc/passwd"} +\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPagePatch11} +\begin{paste}{FileNameXmpPageFull11}{FileNameXmpPageEmpty11} +\pastebutton{FileNameXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{readable? "/etc/passwd"} +\indentrel{3}\begin{verbatim} + (11) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPageEmpty11} +\begin{paste}{FileNameXmpPageEmpty11}{FileNameXmpPagePatch11} +\pastebutton{FileNameXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{readable? "/etc/passwd"} +\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPagePatch12} +\begin{paste}{FileNameXmpPageFull12}{FileNameXmpPageEmpty12} +\pastebutton{FileNameXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{readable? "/etc/security/passwd"} +\indentrel{3}\begin{verbatim} + (12) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPageEmpty12} +\begin{paste}{FileNameXmpPageEmpty12}{FileNameXmpPagePatch12} +\pastebutton{FileNameXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{readable? "/etc/security/passwd"} +\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPagePatch13} +\begin{paste}{FileNameXmpPageFull13}{FileNameXmpPageEmpty13} +\pastebutton{FileNameXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{readable? "/ect/passwd"} +\indentrel{3}\begin{verbatim} + (13) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPageEmpty13} +\begin{paste}{FileNameXmpPageEmpty13}{FileNameXmpPagePatch13} +\pastebutton{FileNameXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{readable? "/ect/passwd"} +\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPagePatch14} +\begin{paste}{FileNameXmpPageFull14}{FileNameXmpPageEmpty14} +\pastebutton{FileNameXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{writable? "/etc/passwd"} +\indentrel{3}\begin{verbatim} + (14) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPageEmpty14} +\begin{paste}{FileNameXmpPageEmpty14}{FileNameXmpPagePatch14} +\pastebutton{FileNameXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{writable? "/etc/passwd"} +\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPagePatch15} +\begin{paste}{FileNameXmpPageFull15}{FileNameXmpPageEmpty15} +\pastebutton{FileNameXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{writable? "/dev/null"} +\indentrel{3}\begin{verbatim} + (15) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPageEmpty15} +\begin{paste}{FileNameXmpPageEmpty15}{FileNameXmpPagePatch15} +\pastebutton{FileNameXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{writable? "/dev/null"} +\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPagePatch16} +\begin{paste}{FileNameXmpPageFull16}{FileNameXmpPageEmpty16} +\pastebutton{FileNameXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{writable? "/etc/DoesNotExist"} +\indentrel{3}\begin{verbatim} + (16) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPageEmpty16} +\begin{paste}{FileNameXmpPageEmpty16}{FileNameXmpPagePatch16} +\pastebutton{FileNameXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{writable? "/etc/DoesNotExist"} +\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPagePatch17} +\begin{paste}{FileNameXmpPageFull17}{FileNameXmpPageEmpty17} +\pastebutton{FileNameXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{writable? "/tmp/DoesNotExist"} +\indentrel{3}\begin{verbatim} + (17) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPageEmpty17} +\begin{paste}{FileNameXmpPageEmpty17}{FileNameXmpPagePatch17} +\pastebutton{FileNameXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{writable? "/tmp/DoesNotExist"} +\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPagePatch18} +\begin{paste}{FileNameXmpPageFull18}{FileNameXmpPageEmpty18} +\pastebutton{FileNameXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{fn := new(objdir, "xxx", "yy")\free{objdir fndecl }\bound{fn4 }} +\indentrel{3}\begin{verbatim} + (18) "/tmp/xxx82222.yy" + Type: FileName +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FileNameXmpPageEmpty18} +\begin{paste}{FileNameXmpPageEmpty18}{FileNameXmpPagePatch18} +\pastebutton{FileNameXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{fn := new(objdir, "xxx", "yy")\free{objdir fndecl }\bound{fn4 }} +\end{paste}\end{patch} + @ \section{fr.ht} \pagehead{FactoredXmpPage}{fr.ht}{Factored} @@ -7970,6 +20413,156 @@ Neither of these operations returns the unit. \autobuttons \end{page} +\begin{patch}{ugxFactoredDecompPagePatch1} +\begin{paste}{ugxFactoredDecompPageFull1}{ugxFactoredDecompPageEmpty1} +\pastebutton{ugxFactoredDecompPageFull1}{\hidepaste} +\tab{5}\spadcommand{g := factor(4312)\bound{g }} +\indentrel{3}\begin{verbatim} + 3 2 + (1) 2 7 11 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredDecompPageEmpty1} +\begin{paste}{ugxFactoredDecompPageEmpty1}{ugxFactoredDecompPagePatch1} +\pastebutton{ugxFactoredDecompPageEmpty1}{\showpaste} +\tab{5}\spadcommand{g := factor(4312)\bound{g }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredDecompPagePatch2} +\begin{paste}{ugxFactoredDecompPageFull2}{ugxFactoredDecompPageEmpty2} +\pastebutton{ugxFactoredDecompPageFull2}{\hidepaste} +\tab{5}\spadcommand{unit(g)\free{g }} +\indentrel{3}\begin{verbatim} + (2) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredDecompPageEmpty2} +\begin{paste}{ugxFactoredDecompPageEmpty2}{ugxFactoredDecompPagePatch2} +\pastebutton{ugxFactoredDecompPageEmpty2}{\showpaste} +\tab{5}\spadcommand{unit(g)\free{g }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredDecompPagePatch3} +\begin{paste}{ugxFactoredDecompPageFull3}{ugxFactoredDecompPageEmpty3} +\pastebutton{ugxFactoredDecompPageFull3}{\hidepaste} +\tab{5}\spadcommand{numberOfFactors(g)\free{g }} +\indentrel{3}\begin{verbatim} + (3) 3 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredDecompPageEmpty3} +\begin{paste}{ugxFactoredDecompPageEmpty3}{ugxFactoredDecompPagePatch3} +\pastebutton{ugxFactoredDecompPageEmpty3}{\showpaste} +\tab{5}\spadcommand{numberOfFactors(g)\free{g }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredDecompPagePatch4} +\begin{paste}{ugxFactoredDecompPageFull4}{ugxFactoredDecompPageEmpty4} +\pastebutton{ugxFactoredDecompPageFull4}{\hidepaste} +\tab{5}\spadcommand{[nthFactor(g,i) for i in 1..numberOfFactors(g)]\free{g }} +\indentrel{3}\begin{verbatim} + (4) [2,7,11] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredDecompPageEmpty4} +\begin{paste}{ugxFactoredDecompPageEmpty4}{ugxFactoredDecompPagePatch4} +\pastebutton{ugxFactoredDecompPageEmpty4}{\showpaste} +\tab{5}\spadcommand{[nthFactor(g,i) for i in 1..numberOfFactors(g)]\free{g }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredDecompPagePatch5} +\begin{paste}{ugxFactoredDecompPageFull5}{ugxFactoredDecompPageEmpty5} +\pastebutton{ugxFactoredDecompPageFull5}{\hidepaste} +\tab{5}\spadcommand{[nthExponent(g,i) for i in 1..numberOfFactors(g)]\free{g }} +\indentrel{3}\begin{verbatim} + (5) [3,2,1] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredDecompPageEmpty5} +\begin{paste}{ugxFactoredDecompPageEmpty5}{ugxFactoredDecompPagePatch5} +\pastebutton{ugxFactoredDecompPageEmpty5}{\showpaste} +\tab{5}\spadcommand{[nthExponent(g,i) for i in 1..numberOfFactors(g)]\free{g }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredDecompPagePatch6} +\begin{paste}{ugxFactoredDecompPageFull6}{ugxFactoredDecompPageEmpty6} +\pastebutton{ugxFactoredDecompPageFull6}{\hidepaste} +\tab{5}\spadcommand{[nthFlag(g,i) for i in 1..numberOfFactors(g)]\free{g }} +\indentrel{3}\begin{verbatim} + (6) ["prime","prime","prime"] + Type: List Union("nil","sqfr","irred","prime") +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredDecompPageEmpty6} +\begin{paste}{ugxFactoredDecompPageEmpty6}{ugxFactoredDecompPagePatch6} +\pastebutton{ugxFactoredDecompPageEmpty6}{\showpaste} +\tab{5}\spadcommand{[nthFlag(g,i) for i in 1..numberOfFactors(g)]\free{g }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredDecompPagePatch7} +\begin{paste}{ugxFactoredDecompPageFull7}{ugxFactoredDecompPageEmpty7} +\pastebutton{ugxFactoredDecompPageFull7}{\hidepaste} +\tab{5}\spadcommand{factorList(g)\free{g }} +\indentrel{3}\begin{verbatim} + (7) + [[flg= "prime",fctr= 2,xpnt= 3], + [flg= "prime",fctr= 7,xpnt= 2], + [flg= "prime",fctr= 11,xpnt= 1]] +Type: List Record(flg: Union("nil","sqfr","irred","prime"),fctr: Integer,xpnt: Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredDecompPageEmpty7} +\begin{paste}{ugxFactoredDecompPageEmpty7}{ugxFactoredDecompPagePatch7} +\pastebutton{ugxFactoredDecompPageEmpty7}{\showpaste} +\tab{5}\spadcommand{factorList(g)\free{g }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredDecompPagePatch8} +\begin{paste}{ugxFactoredDecompPageFull8}{ugxFactoredDecompPageEmpty8} +\pastebutton{ugxFactoredDecompPageFull8}{\hidepaste} +\tab{5}\spadcommand{factors(g)\free{g }\bound{prev1 }} +\indentrel{3}\begin{verbatim} + (8) + [[factor= 2,exponent= 3], [factor= 7,exponent= 2], + [factor= 11,exponent= 1]] + Type: List Record(factor: Integer,exponent: Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredDecompPageEmpty8} +\begin{paste}{ugxFactoredDecompPageEmpty8}{ugxFactoredDecompPagePatch8} +\pastebutton{ugxFactoredDecompPageEmpty8}{\showpaste} +\tab{5}\spadcommand{factors(g)\free{g }\bound{prev1 }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredDecompPagePatch9} +\begin{paste}{ugxFactoredDecompPageFull9}{ugxFactoredDecompPageEmpty9} +\pastebutton{ugxFactoredDecompPageFull9}{\hidepaste} +\tab{5}\spadcommand{first(\%).factor\free{prev1 }} +\indentrel{3}\begin{verbatim} + (9) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredDecompPageEmpty9} +\begin{paste}{ugxFactoredDecompPageEmpty9}{ugxFactoredDecompPagePatch9} +\pastebutton{ugxFactoredDecompPageEmpty9}{\showpaste} +\tab{5}\spadcommand{first(\%).factor\free{prev1 }} +\end{paste}\end{patch} + @ \pagehead{ugxFactoredExpandPage}{fr.ht}{Expanding Factored Objects} \pagepic{ps/v71ugxfactoredexpandpage.eps}{ugxFactoredExpandPage} @@ -8001,6 +20594,55 @@ but with multiplicity one, you could do it this way. \autobuttons \end{page} +\begin{patch}{ugxFactoredExpandPagePatch1} +\begin{paste}{ugxFactoredExpandPageFull1}{ugxFactoredExpandPageEmpty1} +\pastebutton{ugxFactoredExpandPageFull1}{\hidepaste} +\tab{5}\spadcommand{g := factor(4312)\bound{g }} +\indentrel{3}\begin{verbatim} + 3 2 + (1) 2 7 11 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredExpandPageEmpty1} +\begin{paste}{ugxFactoredExpandPageEmpty1}{ugxFactoredExpandPagePatch1} +\pastebutton{ugxFactoredExpandPageEmpty1}{\showpaste} +\tab{5}\spadcommand{g := factor(4312)\bound{g }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredExpandPagePatch2} +\begin{paste}{ugxFactoredExpandPageFull2}{ugxFactoredExpandPageEmpty2} +\pastebutton{ugxFactoredExpandPageFull2}{\hidepaste} +\tab{5}\spadcommand{expand(g)\free{g }} +\indentrel{3}\begin{verbatim} + (2) 4312 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredExpandPageEmpty2} +\begin{paste}{ugxFactoredExpandPageEmpty2}{ugxFactoredExpandPagePatch2} +\pastebutton{ugxFactoredExpandPageEmpty2}{\showpaste} +\tab{5}\spadcommand{expand(g)\free{g }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredExpandPagePatch3} +\begin{paste}{ugxFactoredExpandPageFull3}{ugxFactoredExpandPageEmpty3} +\pastebutton{ugxFactoredExpandPageFull3}{\hidepaste} +\tab{5}\spadcommand{reduce(*,[t.factor for t in factors(g)])\free{g }} +\indentrel{3}\begin{verbatim} + (3) 154 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredExpandPageEmpty3} +\begin{paste}{ugxFactoredExpandPageEmpty3}{ugxFactoredExpandPagePatch3} +\pastebutton{ugxFactoredExpandPageEmpty3}{\showpaste} +\tab{5}\spadcommand{reduce(*,[t.factor for t in factors(g)])\free{g }} +\end{paste}\end{patch} + @ \pagehead{ugxFactoredArithPage}{fr.ht}{Arithmetic with Factored Objects} \pagepic{ps/v71ugxfactoredarithpage.eps}{ugxFactoredArithPage} @@ -8084,6 +20726,238 @@ package calling \autobuttons \end{page} +\begin{patch}{ugxFactoredArithPagePatch1} +\begin{paste}{ugxFactoredArithPageFull1}{ugxFactoredArithPageEmpty1} +\pastebutton{ugxFactoredArithPageFull1}{\hidepaste} +\tab{5}\spadcommand{g := factor(4312)\bound{g }} +\indentrel{3}\begin{verbatim} + 3 2 + (1) 2 7 11 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPageEmpty1} +\begin{paste}{ugxFactoredArithPageEmpty1}{ugxFactoredArithPagePatch1} +\pastebutton{ugxFactoredArithPageEmpty1}{\showpaste} +\tab{5}\spadcommand{g := factor(4312)\bound{g }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPagePatch2} +\begin{paste}{ugxFactoredArithPageFull2}{ugxFactoredArithPageEmpty2} +\pastebutton{ugxFactoredArithPageFull2}{\hidepaste} +\tab{5}\spadcommand{f := factor(246960)\bound{f }} +\indentrel{3}\begin{verbatim} + 4 2 3 + (2) 2 3 5 7 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPageEmpty2} +\begin{paste}{ugxFactoredArithPageEmpty2}{ugxFactoredArithPagePatch2} +\pastebutton{ugxFactoredArithPageEmpty2}{\showpaste} +\tab{5}\spadcommand{f := factor(246960)\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPagePatch3} +\begin{paste}{ugxFactoredArithPageFull3}{ugxFactoredArithPageEmpty3} +\pastebutton{ugxFactoredArithPageFull3}{\hidepaste} +\tab{5}\spadcommand{f * g\free{f g }} +\indentrel{3}\begin{verbatim} + 7 2 5 + (3) 2 3 5 7 11 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPageEmpty3} +\begin{paste}{ugxFactoredArithPageEmpty3}{ugxFactoredArithPagePatch3} +\pastebutton{ugxFactoredArithPageEmpty3}{\showpaste} +\tab{5}\spadcommand{f * g\free{f g }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPagePatch4} +\begin{paste}{ugxFactoredArithPageFull4}{ugxFactoredArithPageEmpty4} +\pastebutton{ugxFactoredArithPageFull4}{\hidepaste} +\tab{5}\spadcommand{f**500\free{f }} +\indentrel{3}\begin{verbatim} + 2000 1000 500 1500 + (4) 2 3 5 7 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPageEmpty4} +\begin{paste}{ugxFactoredArithPageEmpty4}{ugxFactoredArithPagePatch4} +\pastebutton{ugxFactoredArithPageEmpty4}{\showpaste} +\tab{5}\spadcommand{f**500\free{f }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPagePatch5} +\begin{paste}{ugxFactoredArithPageFull5}{ugxFactoredArithPageEmpty5} +\pastebutton{ugxFactoredArithPageFull5}{\hidepaste} +\tab{5}\spadcommand{gcd(f,g)\free{f g }} +\indentrel{3}\begin{verbatim} + 3 2 + (5) 2 7 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPageEmpty5} +\begin{paste}{ugxFactoredArithPageEmpty5}{ugxFactoredArithPagePatch5} +\pastebutton{ugxFactoredArithPageEmpty5}{\showpaste} +\tab{5}\spadcommand{gcd(f,g)\free{f g }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPagePatch6} +\begin{paste}{ugxFactoredArithPageFull6}{ugxFactoredArithPageEmpty6} +\pastebutton{ugxFactoredArithPageFull6}{\hidepaste} +\tab{5}\spadcommand{lcm(f,g)\free{f g }} +\indentrel{3}\begin{verbatim} + 4 2 3 + (6) 2 3 5 7 11 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPageEmpty6} +\begin{paste}{ugxFactoredArithPageEmpty6}{ugxFactoredArithPagePatch6} +\pastebutton{ugxFactoredArithPageEmpty6}{\showpaste} +\tab{5}\spadcommand{lcm(f,g)\free{f g }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPagePatch7} +\begin{paste}{ugxFactoredArithPageFull7}{ugxFactoredArithPageEmpty7} +\pastebutton{ugxFactoredArithPageFull7}{\hidepaste} +\tab{5}\spadcommand{f + g\free{f g }} +\indentrel{3}\begin{verbatim} + 3 2 + (7) 2 7 641 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPageEmpty7} +\begin{paste}{ugxFactoredArithPageEmpty7}{ugxFactoredArithPagePatch7} +\pastebutton{ugxFactoredArithPageEmpty7}{\showpaste} +\tab{5}\spadcommand{f + g\free{f g }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPagePatch8} +\begin{paste}{ugxFactoredArithPageFull8}{ugxFactoredArithPageEmpty8} +\pastebutton{ugxFactoredArithPageFull8}{\hidepaste} +\tab{5}\spadcommand{f - g\free{f g }} +\indentrel{3}\begin{verbatim} + 3 2 + (8) 2 7 619 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPageEmpty8} +\begin{paste}{ugxFactoredArithPageEmpty8}{ugxFactoredArithPagePatch8} +\pastebutton{ugxFactoredArithPageEmpty8}{\showpaste} +\tab{5}\spadcommand{f - g\free{f g }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPagePatch9} +\begin{paste}{ugxFactoredArithPageFull9}{ugxFactoredArithPageEmpty9} +\pastebutton{ugxFactoredArithPageFull9}{\hidepaste} +\tab{5}\spadcommand{zero?(factor(0))} +\indentrel{3}\begin{verbatim} + (9) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPageEmpty9} +\begin{paste}{ugxFactoredArithPageEmpty9}{ugxFactoredArithPagePatch9} +\pastebutton{ugxFactoredArithPageEmpty9}{\showpaste} +\tab{5}\spadcommand{zero?(factor(0))} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPagePatch10} +\begin{paste}{ugxFactoredArithPageFull10}{ugxFactoredArithPageEmpty10} +\pastebutton{ugxFactoredArithPageFull10}{\hidepaste} +\tab{5}\spadcommand{zero?(g)\free{g }} +\indentrel{3}\begin{verbatim} + (10) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPageEmpty10} +\begin{paste}{ugxFactoredArithPageEmpty10}{ugxFactoredArithPagePatch10} +\pastebutton{ugxFactoredArithPageEmpty10}{\showpaste} +\tab{5}\spadcommand{zero?(g)\free{g }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPagePatch11} +\begin{paste}{ugxFactoredArithPageFull11}{ugxFactoredArithPageEmpty11} +\pastebutton{ugxFactoredArithPageFull11}{\hidepaste} +\tab{5}\spadcommand{one?(factor(1))} +\indentrel{3}\begin{verbatim} + (11) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPageEmpty11} +\begin{paste}{ugxFactoredArithPageEmpty11}{ugxFactoredArithPagePatch11} +\pastebutton{ugxFactoredArithPageEmpty11}{\showpaste} +\tab{5}\spadcommand{one?(factor(1))} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPagePatch12} +\begin{paste}{ugxFactoredArithPageFull12}{ugxFactoredArithPageEmpty12} +\pastebutton{ugxFactoredArithPageFull12}{\hidepaste} +\tab{5}\spadcommand{one?(f)\free{f }} +\indentrel{3}\begin{verbatim} + (12) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPageEmpty12} +\begin{paste}{ugxFactoredArithPageEmpty12}{ugxFactoredArithPagePatch12} +\pastebutton{ugxFactoredArithPageEmpty12}{\showpaste} +\tab{5}\spadcommand{one?(f)\free{f }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPagePatch13} +\begin{paste}{ugxFactoredArithPageFull13}{ugxFactoredArithPageEmpty13} +\pastebutton{ugxFactoredArithPageFull13}{\hidepaste} +\tab{5}\spadcommand{0$Factored(Integer)} +\indentrel{3}\begin{verbatim} + (13) 0 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPageEmpty13} +\begin{paste}{ugxFactoredArithPageEmpty13}{ugxFactoredArithPagePatch13} +\pastebutton{ugxFactoredArithPageEmpty13}{\showpaste} +\tab{5}\spadcommand{0$Factored(Integer)} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPagePatch14} +\begin{paste}{ugxFactoredArithPageFull14}{ugxFactoredArithPageEmpty14} +\pastebutton{ugxFactoredArithPageFull14}{\hidepaste} +\tab{5}\spadcommand{1$Factored(Integer)} +\indentrel{3}\begin{verbatim} + (14) 1 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredArithPageEmpty14} +\begin{paste}{ugxFactoredArithPageEmpty14}{ugxFactoredArithPagePatch14} +\pastebutton{ugxFactoredArithPageEmpty14}{\showpaste} +\tab{5}\spadcommand{1$Factored(Integer)} +\end{paste}\end{patch} + @ \pagehead{ugxFactoredNewPage}{fr.ht}{Creating New Factored Objects} \pagepic{ps/v71ugxfactorednewpage.eps}{ugxFactoredNewPage} @@ -8145,6 +21019,123 @@ returned by \spadfunFrom{factorList}{Factored}. \autobuttons \end{page} +\begin{patch}{ugxFactoredNewPagePatch1} +\begin{paste}{ugxFactoredNewPageFull1}{ugxFactoredNewPageEmpty1} +\pastebutton{ugxFactoredNewPageFull1}{\hidepaste} +\tab{5}\spadcommand{nilFactor(24,2)\bound{prev2 }} +\indentrel{3}\begin{verbatim} + 2 + (1) 24 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredNewPageEmpty1} +\begin{paste}{ugxFactoredNewPageEmpty1}{ugxFactoredNewPagePatch1} +\pastebutton{ugxFactoredNewPageEmpty1}{\showpaste} +\tab{5}\spadcommand{nilFactor(24,2)\bound{prev2 }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredNewPagePatch2} +\begin{paste}{ugxFactoredNewPageFull2}{ugxFactoredNewPageEmpty2} +\pastebutton{ugxFactoredNewPageFull2}{\hidepaste} +\tab{5}\spadcommand{nthFlag(\%,1)\free{prev2 }} +\indentrel{3}\begin{verbatim} + (2) "nil" + Type: Union("nil",...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredNewPageEmpty2} +\begin{paste}{ugxFactoredNewPageEmpty2}{ugxFactoredNewPagePatch2} +\pastebutton{ugxFactoredNewPageEmpty2}{\showpaste} +\tab{5}\spadcommand{nthFlag(\%,1)\free{prev2 }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredNewPagePatch3} +\begin{paste}{ugxFactoredNewPageFull3}{ugxFactoredNewPageEmpty3} +\pastebutton{ugxFactoredNewPageFull3}{\hidepaste} +\tab{5}\spadcommand{sqfrFactor(30,2)\bound{prev3 }} +\indentrel{3}\begin{verbatim} + 2 + (3) 30 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredNewPageEmpty3} +\begin{paste}{ugxFactoredNewPageEmpty3}{ugxFactoredNewPagePatch3} +\pastebutton{ugxFactoredNewPageEmpty3}{\showpaste} +\tab{5}\spadcommand{sqfrFactor(30,2)\bound{prev3 }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredNewPagePatch4} +\begin{paste}{ugxFactoredNewPageFull4}{ugxFactoredNewPageEmpty4} +\pastebutton{ugxFactoredNewPageFull4}{\hidepaste} +\tab{5}\spadcommand{irreducibleFactor(13,10)\bound{prev4 }} +\indentrel{3}\begin{verbatim} + 10 + (4) 13 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredNewPageEmpty4} +\begin{paste}{ugxFactoredNewPageEmpty4}{ugxFactoredNewPagePatch4} +\pastebutton{ugxFactoredNewPageEmpty4}{\showpaste} +\tab{5}\spadcommand{irreducibleFactor(13,10)\bound{prev4 }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredNewPagePatch5} +\begin{paste}{ugxFactoredNewPageFull5}{ugxFactoredNewPageEmpty5} +\pastebutton{ugxFactoredNewPageFull5}{\hidepaste} +\tab{5}\spadcommand{primeFactor(11,5)\bound{prev5 }} +\indentrel{3}\begin{verbatim} + 5 + (5) 11 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredNewPageEmpty5} +\begin{paste}{ugxFactoredNewPageEmpty5}{ugxFactoredNewPagePatch5} +\pastebutton{ugxFactoredNewPageEmpty5}{\showpaste} +\tab{5}\spadcommand{primeFactor(11,5)\bound{prev5 }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredNewPagePatch6} +\begin{paste}{ugxFactoredNewPageFull6}{ugxFactoredNewPageEmpty6} +\pastebutton{ugxFactoredNewPageFull6}{\hidepaste} +\tab{5}\spadcommand{h := factor(-720)\bound{h }} +\indentrel{3}\begin{verbatim} + 4 2 + (6) - 2 3 5 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredNewPageEmpty6} +\begin{paste}{ugxFactoredNewPageEmpty6}{ugxFactoredNewPagePatch6} +\pastebutton{ugxFactoredNewPageEmpty6}{\showpaste} +\tab{5}\spadcommand{h := factor(-720)\bound{h }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredNewPagePatch7} +\begin{paste}{ugxFactoredNewPageFull7}{ugxFactoredNewPageEmpty7} +\pastebutton{ugxFactoredNewPageFull7}{\hidepaste} +\tab{5}\spadcommand{h - makeFR(unit(h),factorList(h))\free{h }} +\indentrel{3}\begin{verbatim} + (7) 0 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredNewPageEmpty7} +\begin{paste}{ugxFactoredNewPageEmpty7}{ugxFactoredNewPagePatch7} +\pastebutton{ugxFactoredNewPageEmpty7}{\showpaste} +\tab{5}\spadcommand{h - makeFR(unit(h),factorList(h))\free{h }} +\end{paste}\end{patch} + @ \pagehead{ugxFactoredVarPage}{fr.ht}{Factored Objects with Variables} \pagepic{ps/v71ugxfactoredvarpage.eps}{ugxFactoredVarPage} @@ -8182,6 +21173,91 @@ You can differentiate with respect to a variable. \autobuttons \end{page} +\begin{patch}{ugxFactoredVarPagePatch1} +\begin{paste}{ugxFactoredVarPageFull1}{ugxFactoredVarPageEmpty1} +\pastebutton{ugxFactoredVarPageFull1}{\hidepaste} +\tab{5}\spadcommand{p := (4*x*x-12*x+9)*y*y + (4*x*x-12*x+9)*y + 28*x*x - 84*x + 63\bound{p }} +\indentrel{3}\begin{verbatim} + (1) + 2 2 2 2 + (4x - 12x + 9)y + (4x - 12x + 9)y + 28x - 84x + 63 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredVarPageEmpty1} +\begin{paste}{ugxFactoredVarPageEmpty1}{ugxFactoredVarPagePatch1} +\pastebutton{ugxFactoredVarPageEmpty1}{\showpaste} +\tab{5}\spadcommand{p := (4*x*x-12*x+9)*y*y + (4*x*x-12*x+9)*y + 28*x*x - 84*x + 63\bound{p }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredVarPagePatch2} +\begin{paste}{ugxFactoredVarPageFull2}{ugxFactoredVarPageEmpty2} +\pastebutton{ugxFactoredVarPageFull2}{\hidepaste} +\tab{5}\spadcommand{fp := factor(p)\free{p }\bound{fp }} +\indentrel{3}\begin{verbatim} + 2 2 + (2) (2x - 3) (y + y + 7) + Type: Factored Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredVarPageEmpty2} +\begin{paste}{ugxFactoredVarPageEmpty2}{ugxFactoredVarPagePatch2} +\pastebutton{ugxFactoredVarPageEmpty2}{\showpaste} +\tab{5}\spadcommand{fp := factor(p)\free{p }\bound{fp }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredVarPagePatch3} +\begin{paste}{ugxFactoredVarPageFull3}{ugxFactoredVarPageEmpty3} +\pastebutton{ugxFactoredVarPageFull3}{\hidepaste} +\tab{5}\spadcommand{D(p,x)\free{p }} +\indentrel{3}\begin{verbatim} + 2 + (3) (8x - 12)y + (8x - 12)y + 56x - 84 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredVarPageEmpty3} +\begin{paste}{ugxFactoredVarPageEmpty3}{ugxFactoredVarPagePatch3} +\pastebutton{ugxFactoredVarPageEmpty3}{\showpaste} +\tab{5}\spadcommand{D(p,x)\free{p }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredVarPagePatch4} +\begin{paste}{ugxFactoredVarPageFull4}{ugxFactoredVarPageEmpty4} +\pastebutton{ugxFactoredVarPageFull4}{\hidepaste} +\tab{5}\spadcommand{D(fp,x)\free{fp }\bound{prev1 }} +\indentrel{3}\begin{verbatim} + 2 + (4) 4(2x - 3)(y + y + 7) + Type: Factored Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredVarPageEmpty4} +\begin{paste}{ugxFactoredVarPageEmpty4}{ugxFactoredVarPagePatch4} +\pastebutton{ugxFactoredVarPageEmpty4}{\showpaste} +\tab{5}\spadcommand{D(fp,x)\free{fp }\bound{prev1 }} +\end{paste}\end{patch} + +\begin{patch}{ugxFactoredVarPagePatch5} +\begin{paste}{ugxFactoredVarPageFull5}{ugxFactoredVarPageEmpty5} +\pastebutton{ugxFactoredVarPageFull5}{\hidepaste} +\tab{5}\spadcommand{numberOfFactors(\%)\free{prev1 }} +\indentrel{3}\begin{verbatim} + (5) 3 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxFactoredVarPageEmpty5} +\begin{paste}{ugxFactoredVarPageEmpty5}{ugxFactoredVarPagePatch5} +\pastebutton{ugxFactoredVarPageEmpty5}{\showpaste} +\tab{5}\spadcommand{numberOfFactors(\%)\free{prev1 }} +\end{paste}\end{patch} + @ \section{fr2.ht} \pagehead{FactoredFnsTwoXmpPage}{fr2.ht}{FactoredFunctions2} @@ -8245,6 +21321,103 @@ Section 8.13\ignore{ugProblemGalois}. \autobuttons \end{page} +\begin{patch}{FactoredFnsTwoXmpPagePatch1} +\begin{paste}{FactoredFnsTwoXmpPageFull1}{FactoredFnsTwoXmpPageEmpty1} +\pastebutton{FactoredFnsTwoXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{double(x) == x + x\bound{double }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FactoredFnsTwoXmpPageEmpty1} +\begin{paste}{FactoredFnsTwoXmpPageEmpty1}{FactoredFnsTwoXmpPagePatch1} +\pastebutton{FactoredFnsTwoXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{double(x) == x + x\bound{double }} +\end{paste}\end{patch} + +\begin{patch}{FactoredFnsTwoXmpPagePatch2} +\begin{paste}{FactoredFnsTwoXmpPageFull2}{FactoredFnsTwoXmpPageEmpty2} +\pastebutton{FactoredFnsTwoXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{f := factor(720)\bound{f }} +\indentrel{3}\begin{verbatim} + 4 2 + (2) 2 3 5 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FactoredFnsTwoXmpPageEmpty2} +\begin{paste}{FactoredFnsTwoXmpPageEmpty2}{FactoredFnsTwoXmpPagePatch2} +\pastebutton{FactoredFnsTwoXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{f := factor(720)\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{FactoredFnsTwoXmpPagePatch3} +\begin{paste}{FactoredFnsTwoXmpPageFull3}{FactoredFnsTwoXmpPageEmpty3} +\pastebutton{FactoredFnsTwoXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{map(double,f)\free{f }\free{double }} +\indentrel{3}\begin{verbatim} + 4 2 + (3) 2 4 6 10 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FactoredFnsTwoXmpPageEmpty3} +\begin{paste}{FactoredFnsTwoXmpPageEmpty3}{FactoredFnsTwoXmpPagePatch3} +\pastebutton{FactoredFnsTwoXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{map(double,f)\free{f }\free{double }} +\end{paste}\end{patch} + +\begin{patch}{FactoredFnsTwoXmpPagePatch4} +\begin{paste}{FactoredFnsTwoXmpPageFull4}{FactoredFnsTwoXmpPageEmpty4} +\pastebutton{FactoredFnsTwoXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{makePoly(b) == x + b\bound{makePoly }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FactoredFnsTwoXmpPageEmpty4} +\begin{paste}{FactoredFnsTwoXmpPageEmpty4}{FactoredFnsTwoXmpPagePatch4} +\pastebutton{FactoredFnsTwoXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{makePoly(b) == x + b\bound{makePoly }} +\end{paste}\end{patch} + +\begin{patch}{FactoredFnsTwoXmpPagePatch5} +\begin{paste}{FactoredFnsTwoXmpPageFull5}{FactoredFnsTwoXmpPageEmpty5} +\pastebutton{FactoredFnsTwoXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{g := map(makePoly,f)\free{f }\free{makePoly }\bound{g }} +\indentrel{3}\begin{verbatim} + 4 2 + (5) (x + 1)(x + 2) (x + 3) (x + 5) + Type: Factored Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FactoredFnsTwoXmpPageEmpty5} +\begin{paste}{FactoredFnsTwoXmpPageEmpty5}{FactoredFnsTwoXmpPagePatch5} +\pastebutton{FactoredFnsTwoXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{g := map(makePoly,f)\free{f }\free{makePoly }\bound{g }} +\end{paste}\end{patch} + +\begin{patch}{FactoredFnsTwoXmpPagePatch6} +\begin{paste}{FactoredFnsTwoXmpPageFull6}{FactoredFnsTwoXmpPageEmpty6} +\pastebutton{FactoredFnsTwoXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{nthFlag(g,1)\free{g }} +\indentrel{3}\begin{verbatim} + (6) "nil" + Type: Union("nil",...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FactoredFnsTwoXmpPageEmpty6} +\begin{paste}{FactoredFnsTwoXmpPageEmpty6}{FactoredFnsTwoXmpPagePatch6} +\pastebutton{FactoredFnsTwoXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{nthFlag(g,1)\free{g }} +\end{paste}\end{patch} + @ \section{frac.ht} \pagehead{FractionXmpPage}{frac.ht}{Fraction} @@ -8348,6 +21521,225 @@ in Section 2.7\ignore{ugTypesConvert}. \autobuttons \end{page} +\begin{patch}{FractionXmpPagePatch1} +\begin{paste}{FractionXmpPageFull1}{FractionXmpPageEmpty1} +\pastebutton{FractionXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{a := 11/12\bound{a }} +\indentrel{3}\begin{verbatim} + 11 + (1) ÄÄ + 12 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FractionXmpPageEmpty1} +\begin{paste}{FractionXmpPageEmpty1}{FractionXmpPagePatch1} +\pastebutton{FractionXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{a := 11/12\bound{a }} +\end{paste}\end{patch} + +\begin{patch}{FractionXmpPagePatch2} +\begin{paste}{FractionXmpPageFull2}{FractionXmpPageEmpty2} +\pastebutton{FractionXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{b := 23/24\bound{b }} +\indentrel{3}\begin{verbatim} + 23 + (2) ÄÄ + 24 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FractionXmpPageEmpty2} +\begin{paste}{FractionXmpPageEmpty2}{FractionXmpPagePatch2} +\pastebutton{FractionXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{b := 23/24\bound{b }} +\end{paste}\end{patch} + +\begin{patch}{FractionXmpPagePatch3} +\begin{paste}{FractionXmpPageFull3}{FractionXmpPageEmpty3} +\pastebutton{FractionXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{3 - a*b**2 + a + b/a\free{a }\free{b }} +\indentrel{3}\begin{verbatim} + 313271 + (3) ÄÄÄÄÄÄ + 76032 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FractionXmpPageEmpty3} +\begin{paste}{FractionXmpPageEmpty3}{FractionXmpPagePatch3} +\pastebutton{FractionXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{3 - a*b**2 + a + b/a\free{a }\free{b }} +\end{paste}\end{patch} + +\begin{patch}{FractionXmpPagePatch4} +\begin{paste}{FractionXmpPageFull4}{FractionXmpPageEmpty4} +\pastebutton{FractionXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{numer(a)\free{a }} +\indentrel{3}\begin{verbatim} + (4) 11 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FractionXmpPageEmpty4} +\begin{paste}{FractionXmpPageEmpty4}{FractionXmpPagePatch4} +\pastebutton{FractionXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{numer(a)\free{a }} +\end{paste}\end{patch} + +\begin{patch}{FractionXmpPagePatch5} +\begin{paste}{FractionXmpPageFull5}{FractionXmpPageEmpty5} +\pastebutton{FractionXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{denom(b)\free{b }} +\indentrel{3}\begin{verbatim} + (5) 24 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FractionXmpPageEmpty5} +\begin{paste}{FractionXmpPageEmpty5}{FractionXmpPagePatch5} +\pastebutton{FractionXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{denom(b)\free{b }} +\end{paste}\end{patch} + +\begin{patch}{FractionXmpPagePatch6} +\begin{paste}{FractionXmpPageFull6}{FractionXmpPageEmpty6} +\pastebutton{FractionXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{r := (x**2 + 2*x + 1)/(x**2 - 2*x + 1)\bound{r }} +\indentrel{3}\begin{verbatim} + 2 + x + 2x + 1 + (6) ÄÄÄÄÄÄÄÄÄÄÄ + 2 + x - 2x + 1 + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FractionXmpPageEmpty6} +\begin{paste}{FractionXmpPageEmpty6}{FractionXmpPagePatch6} +\pastebutton{FractionXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{r := (x**2 + 2*x + 1)/(x**2 - 2*x + 1)\bound{r }} +\end{paste}\end{patch} + +\begin{patch}{FractionXmpPagePatch7} +\begin{paste}{FractionXmpPageFull7}{FractionXmpPageEmpty7} +\pastebutton{FractionXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{factor(r)\free{r }} +\indentrel{3}\begin{verbatim} + 2 + x + 2x + 1 + (7) ÄÄÄÄÄÄÄÄÄÄÄ + 2 + x - 2x + 1 + Type: Factored Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FractionXmpPageEmpty7} +\begin{paste}{FractionXmpPageEmpty7}{FractionXmpPagePatch7} +\pastebutton{FractionXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{factor(r)\free{r }} +\end{paste}\end{patch} + +\begin{patch}{FractionXmpPagePatch8} +\begin{paste}{FractionXmpPageFull8}{FractionXmpPageEmpty8} +\pastebutton{FractionXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{map(factor,r)\free{r }} +\indentrel{3}\begin{verbatim} + 2 + (x + 1) + (8) ÄÄÄÄÄÄÄÄ + 2 + (x - 1) + Type: Fraction Factored Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FractionXmpPageEmpty8} +\begin{paste}{FractionXmpPageEmpty8}{FractionXmpPagePatch8} +\pastebutton{FractionXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{map(factor,r)\free{r }} +\end{paste}\end{patch} + +\begin{patch}{FractionXmpPagePatch9} +\begin{paste}{FractionXmpPageFull9}{FractionXmpPageEmpty9} +\pastebutton{FractionXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{continuedFraction(7/12)} +\indentrel{3}\begin{verbatim} + 1 ³ 1 ³ 1 ³ 1 ³ + (9) ÚÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÙ + ³ 1 ³ 1 ³ 2 ³ 2 + Type: ContinuedFraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FractionXmpPageEmpty9} +\begin{paste}{FractionXmpPageEmpty9}{FractionXmpPagePatch9} +\pastebutton{FractionXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{continuedFraction(7/12)} +\end{paste}\end{patch} + +\begin{patch}{FractionXmpPagePatch10} +\begin{paste}{FractionXmpPageFull10}{FractionXmpPageEmpty10} +\pastebutton{FractionXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{partialFraction(7,12)} +\indentrel{3}\begin{verbatim} + 3 1 + (10) 1 - ÄÄ + Ä + 2 3 + 2 + Type: PartialFraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FractionXmpPageEmpty10} +\begin{paste}{FractionXmpPageEmpty10}{FractionXmpPagePatch10} +\pastebutton{FractionXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{partialFraction(7,12)} +\end{paste}\end{patch} + +\begin{patch}{FractionXmpPagePatch11} +\begin{paste}{FractionXmpPageFull11}{FractionXmpPageEmpty11} +\pastebutton{FractionXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{g := 2/3 + 4/5*\%i\bound{g }} +\indentrel{3}\begin{verbatim} + 2 4 + (11) Ä + Ä %i + 3 5 + Type: Complex Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FractionXmpPageEmpty11} +\begin{paste}{FractionXmpPageEmpty11}{FractionXmpPagePatch11} +\pastebutton{FractionXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{g := 2/3 + 4/5*\%i\bound{g }} +\end{paste}\end{patch} + +\begin{patch}{FractionXmpPagePatch12} +\begin{paste}{FractionXmpPageFull12}{FractionXmpPageEmpty12} +\pastebutton{FractionXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{g :: FRAC COMPLEX INT\free{g }} +\indentrel{3}\begin{verbatim} + 10 + 12%i + (12) ÄÄÄÄÄÄÄÄÄ + 15 + Type: Fraction Complex Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FractionXmpPageEmpty12} +\begin{paste}{FractionXmpPageEmpty12}{FractionXmpPagePatch12} +\pastebutton{FractionXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{g :: FRAC COMPLEX INT\free{g }} +\end{paste}\end{patch} + @ \section{fparfrac.ht} \pagehead{FullPartialFracExpansionXmpPage}{fparfrac.ht} @@ -8455,6 +21847,417 @@ decompositions. \autobuttons \end{page} +\begin{patch}{FullPartialFractionExpansionXmpPagePatch1} +\begin{paste}{FullPartialFractionExpansionXmpPageFull1}{FullPartialFractionExpansionXmpPageEmpty1} +\pastebutton{FullPartialFractionExpansionXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{Fx := FRAC UP(x, FRAC INT)\bound{Fx }} +\indentrel{3}\begin{verbatim} + (1) + Fraction UnivariatePolynomial(x,Fraction Integer) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPageEmpty1} +\begin{paste}{FullPartialFractionExpansionXmpPageEmpty1}{FullPartialFractionExpansionXmpPagePatch1} +\pastebutton{FullPartialFractionExpansionXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{Fx := FRAC UP(x, FRAC INT)\bound{Fx }} +\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPagePatch2} +\begin{paste}{FullPartialFractionExpansionXmpPageFull2}{FullPartialFractionExpansionXmpPageEmpty2} +\pastebutton{FullPartialFractionExpansionXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{f : Fx := 36 / (x**5-2*x**4-2*x**3+4*x**2+x-2)\bound{f }\free{Fx }} +\indentrel{3}\begin{verbatim} + 36 + (2) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 5 4 3 2 + x - 2x - 2x + 4x + x - 2 +Type: Fraction UnivariatePolynomial(x,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPageEmpty2} +\begin{paste}{FullPartialFractionExpansionXmpPageEmpty2}{FullPartialFractionExpansionXmpPagePatch2} +\pastebutton{FullPartialFractionExpansionXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{f : Fx := 36 / (x**5-2*x**4-2*x**3+4*x**2+x-2)\bound{f }\free{Fx }} +\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPagePatch3} +\begin{paste}{FullPartialFractionExpansionXmpPageFull3}{FullPartialFractionExpansionXmpPageEmpty3} +\pastebutton{FullPartialFractionExpansionXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{g := fullPartialFraction f\bound{g }\free{f }} +\indentrel{3}\begin{verbatim} + 4 4 ÄÄ¿ - 3%A - 6 + (3) ÄÄÄÄÄ - ÄÄÄÄÄ + > ÄÄÄÄÄÄÄÄÄ + x - 2 x + 1 ÄÄÙ 2 + 2 (x - %A) + %A - 1= 0 +Type: FullPartialFractionExpansion(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPageEmpty3} +\begin{paste}{FullPartialFractionExpansionXmpPageEmpty3}{FullPartialFractionExpansionXmpPagePatch3} +\pastebutton{FullPartialFractionExpansionXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{g := fullPartialFraction f\bound{g }\free{f }} +\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPagePatch4} +\begin{paste}{FullPartialFractionExpansionXmpPageFull4}{FullPartialFractionExpansionXmpPageEmpty4} +\pastebutton{FullPartialFractionExpansionXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{g :: Fx\free{g }} +\indentrel{3}\begin{verbatim} + 36 + (4) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 5 4 3 2 + x - 2x - 2x + 4x + x - 2 +Type: Fraction UnivariatePolynomial(x,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPageEmpty4} +\begin{paste}{FullPartialFractionExpansionXmpPageEmpty4}{FullPartialFractionExpansionXmpPagePatch4} +\pastebutton{FullPartialFractionExpansionXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{g :: Fx\free{g }} +\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPagePatch5} +\begin{paste}{FullPartialFractionExpansionXmpPageFull5}{FullPartialFractionExpansionXmpPageEmpty5} +\pastebutton{FullPartialFractionExpansionXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{g5 := D(g, 5)\free{g }\bound{g5 }} +\indentrel{3}\begin{verbatim} + (5) + 480 480 ÄÄ¿ 2160%A + 4320 + - ÄÄÄÄÄÄÄÄ + ÄÄÄÄÄÄÄÄ + > ÄÄÄÄÄÄÄÄÄÄÄÄÄ + 6 6 ÄÄÙ 7 + (x - 2) (x + 1) 2 (x - %A) + %A - 1= 0 +Type: FullPartialFractionExpansion(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPageEmpty5} +\begin{paste}{FullPartialFractionExpansionXmpPageEmpty5}{FullPartialFractionExpansionXmpPagePatch5} +\pastebutton{FullPartialFractionExpansionXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{g5 := D(g, 5)\free{g }\bound{g5 }} +\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPagePatch6} +\begin{paste}{FullPartialFractionExpansionXmpPageFull6}{FullPartialFractionExpansionXmpPageEmpty6} +\pastebutton{FullPartialFractionExpansionXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{f5 := D(f, 5)\free{f }\bound{f5 }} +\indentrel{3}\begin{verbatim} + (6) + 10 9 8 7 + - 544320x + 4354560x - 14696640x + 28615680x + + + 6 5 4 3 + - 40085280x + 46656000x - 39411360x + 18247680x + + + 2 + - 5870880x + 3317760x + 246240 + / + 20 19 18 17 16 15 + x - 12x + 53x - 76x - 159x + 676x + + + 14 13 12 11 10 + - 391x - 1596x + 2527x + 1148x - 4977x + + + 9 8 7 6 5 4 + 1372x + 4907x - 3444x - 2381x + 2924x + 276x + + + 3 2 + - 1184x + 208x + 192x - 64 +Type: Fraction UnivariatePolynomial(x,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPageEmpty6} +\begin{paste}{FullPartialFractionExpansionXmpPageEmpty6}{FullPartialFractionExpansionXmpPagePatch6} +\pastebutton{FullPartialFractionExpansionXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{f5 := D(f, 5)\free{f }\bound{f5 }} +\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPagePatch7} +\begin{paste}{FullPartialFractionExpansionXmpPageFull7}{FullPartialFractionExpansionXmpPageEmpty7} +\pastebutton{FullPartialFractionExpansionXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{g5::Fx - f5\free{Fx g5 f5 }} +\indentrel{3}\begin{verbatim} + (7) 0 +Type: Fraction UnivariatePolynomial(x,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPageEmpty7} +\begin{paste}{FullPartialFractionExpansionXmpPageEmpty7}{FullPartialFractionExpansionXmpPagePatch7} +\pastebutton{FullPartialFractionExpansionXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{g5::Fx - f5\free{Fx g5 f5 }} +\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPagePatch8} +\begin{paste}{FullPartialFractionExpansionXmpPageFull8}{FullPartialFractionExpansionXmpPageEmpty8} +\pastebutton{FullPartialFractionExpansionXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{f : Fx := (x**5 * (x-1)) / ((x**2 + x + 1)**2 * (x-2)**3)\free{Fx }\bound{f2 }} +\indentrel{3}\begin{verbatim} + 6 5 + x - x + (8) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 7 6 5 3 2 + x - 4x + 3x + 9x - 6x - 4x - 8 +Type: Fraction UnivariatePolynomial(x,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPageEmpty8} +\begin{paste}{FullPartialFractionExpansionXmpPageEmpty8}{FullPartialFractionExpansionXmpPagePatch8} +\pastebutton{FullPartialFractionExpansionXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{f : Fx := (x**5 * (x-1)) / ((x**2 + x + 1)**2 * (x-2)**3)\free{Fx }\bound{f2 }} +\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPagePatch9} +\begin{paste}{FullPartialFractionExpansionXmpPageFull9}{FullPartialFractionExpansionXmpPageEmpty9} +\pastebutton{FullPartialFractionExpansionXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{g := fullPartialFraction f\free{f2 }\bound{g2 }} +\indentrel{3}\begin{verbatim} + (9) + 1952 464 32 + ÄÄÄÄ ÄÄÄ ÄÄ + 2401 343 49 + ÄÄÄÄÄÄ + ÄÄÄÄÄÄÄÄ + ÄÄÄÄÄÄÄÄ + x - 2 2 3 + (x - 2) (x - 2) + + + 179 135 + - ÄÄÄÄ %A + ÄÄÄÄ + ÄÄ¿ 2401 2401 + > ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + ÄÄÙ x - %A + 2 + %A + %A + 1= 0 + + + 37 20 + ÄÄÄÄ %A + ÄÄÄÄ + ÄÄ¿ 1029 1029 + > ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + ÄÄÙ 2 + 2 (x - %A) + %A + %A + 1= 0 +Type: FullPartialFractionExpansion(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPageEmpty9} +\begin{paste}{FullPartialFractionExpansionXmpPageEmpty9}{FullPartialFractionExpansionXmpPagePatch9} +\pastebutton{FullPartialFractionExpansionXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{g := fullPartialFraction f\free{f2 }\bound{g2 }} +\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPagePatch10} +\begin{paste}{FullPartialFractionExpansionXmpPageFull10}{FullPartialFractionExpansionXmpPageEmpty10} +\pastebutton{FullPartialFractionExpansionXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{g :: Fx - f\free{f2 g2 Fx }} +\indentrel{3}\begin{verbatim} + (10) 0 +Type: Fraction UnivariatePolynomial(x,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPageEmpty10} +\begin{paste}{FullPartialFractionExpansionXmpPageEmpty10}{FullPartialFractionExpansionXmpPagePatch10} +\pastebutton{FullPartialFractionExpansionXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{g :: Fx - f\free{f2 g2 Fx }} +\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPagePatch11} +\begin{paste}{FullPartialFractionExpansionXmpPageFull11}{FullPartialFractionExpansionXmpPageEmpty11} +\pastebutton{FullPartialFractionExpansionXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{f : Fx := (2*x**7-7*x**5+26*x**3+8*x) / (x**8-5*x**6+6*x**4+4*x**2-8)\free{Fx }\bound{f3 }} +\indentrel{3}\begin{verbatim} + 7 5 3 + 2x - 7x + 26x + 8x + (11) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 8 6 4 2 + x - 5x + 6x + 4x - 8 +Type: Fraction UnivariatePolynomial(x,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPageEmpty11} +\begin{paste}{FullPartialFractionExpansionXmpPageEmpty11}{FullPartialFractionExpansionXmpPagePatch11} +\pastebutton{FullPartialFractionExpansionXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{f : Fx := (2*x**7-7*x**5+26*x**3+8*x) / (x**8-5*x**6+6*x**4+4*x**2-8)\free{Fx }\bound{f3 }} +\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPagePatch12} +\begin{paste}{FullPartialFractionExpansionXmpPageFull12}{FullPartialFractionExpansionXmpPageEmpty12} +\pastebutton{FullPartialFractionExpansionXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{g := fullPartialFraction f\free{f3 }\bound{g3 }} +\indentrel{3}\begin{verbatim} + (12) + 1 + Ä + ÄÄ¿ 2 ÄÄ¿ 1 + > ÄÄÄÄÄÄ + > ÄÄÄÄÄÄÄÄÄ + ÄÄÙ x - %A ÄÄÙ 3 + 2 2 (x - %A) + %A - 2= 0 %A - 2= 0 + + + 1 + Ä + ÄÄ¿ 2 + > ÄÄÄÄÄÄ + ÄÄÙ x - %A + 2 + %A + 1= 0 +Type: FullPartialFractionExpansion(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPageEmpty12} +\begin{paste}{FullPartialFractionExpansionXmpPageEmpty12}{FullPartialFractionExpansionXmpPagePatch12} +\pastebutton{FullPartialFractionExpansionXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{g := fullPartialFraction f\free{f3 }\bound{g3 }} +\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPagePatch13} +\begin{paste}{FullPartialFractionExpansionXmpPageFull13}{FullPartialFractionExpansionXmpPageEmpty13} +\pastebutton{FullPartialFractionExpansionXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{g :: Fx - f\free{f3 g3 Fx }} +\indentrel{3}\begin{verbatim} + (13) 0 +Type: Fraction UnivariatePolynomial(x,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPageEmpty13} +\begin{paste}{FullPartialFractionExpansionXmpPageEmpty13}{FullPartialFractionExpansionXmpPagePatch13} +\pastebutton{FullPartialFractionExpansionXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{g :: Fx - f\free{f3 g3 Fx }} +\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPagePatch14} +\begin{paste}{FullPartialFractionExpansionXmpPageFull14}{FullPartialFractionExpansionXmpPageEmpty14} +\pastebutton{FullPartialFractionExpansionXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{f:Fx := x**3 / (x**21 + 2*x**20 + 4*x**19 + 7*x**18 + 10*x**17 + 17*x**16 + 22*x**15 + 30*x**14 + 36*x**13 + 40*x**12 + 47*x**11 + 46*x**10 + 49*x**9 + 43*x**8 + 38*x**7 + 32*x**6 + 23*x**5 + 19*x**4 + 10*x**3 + 7*x**2 + 2*x + 1)\free{Fx }\bound{f4 }} +\indentrel{3}\begin{verbatim} + (14) + 3 + x + / + 21 20 19 18 17 16 15 + x + 2x + 4x + 7x + 10x + 17x + 22x + + + 14 13 12 11 10 9 8 + 30x + 36x + 40x + 47x + 46x + 49x + 43x + + + 7 6 5 4 3 2 + 38x + 32x + 23x + 19x + 10x + 7x + 2x + 1 +Type: Fraction UnivariatePolynomial(x,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPageEmpty14} +\begin{paste}{FullPartialFractionExpansionXmpPageEmpty14}{FullPartialFractionExpansionXmpPagePatch14} +\pastebutton{FullPartialFractionExpansionXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{f:Fx := x**3 / (x**21 + 2*x**20 + 4*x**19 + 7*x**18 + 10*x**17 + 17*x**16 + 22*x**15 + 30*x**14 + 36*x**13 + 40*x**12 + 47*x**11 + 46*x**10 + 49*x**9 + 43*x**8 + 38*x**7 + 32*x**6 + 23*x**5 + 19*x**4 + 10*x**3 + 7*x**2 + 2*x + 1)\free{Fx }\bound{f4 }} +\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPagePatch15} +\begin{paste}{FullPartialFractionExpansionXmpPageFull15}{FullPartialFractionExpansionXmpPageEmpty15} +\pastebutton{FullPartialFractionExpansionXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{g := fullPartialFraction f\free{f4 }\bound{g4 }} +\indentrel{3}\begin{verbatim} + (15) + 1 1 19 + Ä %A Ä %A - ÄÄ + ÄÄ¿ 2 ÄÄ¿ 9 27 + > ÄÄÄÄÄÄ + > ÄÄÄÄÄÄÄÄÄ + ÄÄÙ x - %A ÄÄÙ x - %A + 2 2 + %A + 1= 0 %A + %A + 1= 0 + + + 1 1 + ÄÄ %A - ÄÄ + ÄÄ¿ 27 27 + > ÄÄÄÄÄÄÄÄÄÄ + ÄÄÙ 2 + 2 (x - %A) + %A + %A + 1= 0 + + + SIGMA + 5 2 + %A + %A + 1= 0 + , + 96556567040 4 420961732891 3 + - ÄÄÄÄÄÄÄÄÄÄÄÄ %A + ÄÄÄÄÄÄÄÄÄÄÄÄ %A + 912390759099 912390759099 + + + 59101056149 2 373545875923 + - ÄÄÄÄÄÄÄÄÄÄÄÄ %A - ÄÄÄÄÄÄÄÄÄÄÄÄ %A + 912390759099 912390759099 + + + 529673492498 + ÄÄÄÄÄÄÄÄÄÄÄÄ + 912390759099 + / + x - %A + + + SIGMA + 5 2 + %A + %A + 1= 0 + , + 5580868 4 2024443 3 4321919 2 + - ÄÄÄÄÄÄÄÄ %A - ÄÄÄÄÄÄÄÄ %A + ÄÄÄÄÄÄÄÄ %A + 94070601 94070601 94070601 + + + 84614 5070620 + - ÄÄÄÄÄÄÄ %A - ÄÄÄÄÄÄÄÄ + 1542141 94070601 + / + 2 + (x - %A) + + + SIGMA + 5 2 + %A + %A + 1= 0 + , + 1610957 4 2763014 3 2016775 2 + ÄÄÄÄÄÄÄÄ %A + ÄÄÄÄÄÄÄÄ %A - ÄÄÄÄÄÄÄÄ %A + 94070601 94070601 94070601 + + + 266953 4529359 + ÄÄÄÄÄÄÄÄ %A + ÄÄÄÄÄÄÄÄ + 94070601 94070601 + / + 3 + (x - %A) +Type: FullPartialFractionExpansion(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPageEmpty15} +\begin{paste}{FullPartialFractionExpansionXmpPageEmpty15}{FullPartialFractionExpansionXmpPagePatch15} +\pastebutton{FullPartialFractionExpansionXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{g := fullPartialFraction f\free{f4 }\bound{g4 }} +\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPagePatch16} +\begin{paste}{FullPartialFractionExpansionXmpPageFull16}{FullPartialFractionExpansionXmpPageEmpty16} +\pastebutton{FullPartialFractionExpansionXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{g :: Fx - f\free{f4 g4 Fx }} +\indentrel{3}\begin{verbatim} + (16) 0 +Type: Fraction UnivariatePolynomial(x,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FullPartialFractionExpansionXmpPageEmpty16} +\begin{paste}{FullPartialFractionExpansionXmpPageEmpty16}{FullPartialFractionExpansionXmpPagePatch16} +\pastebutton{FullPartialFractionExpansionXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{g :: Fx - f\free{f4 g4 Fx }} +\end{paste}\end{patch} + @ \section{function.ht} \pagehead{FunctionPage}{function.ht}{Functions in Axiom} @@ -8528,6 +22331,92 @@ similar to the one for polynomials: \autobuttons \end{page} +\begin{patch}{RationatFunctionPagePatch1} +\begin{paste}{RationatFunctionPageFull1}{RationatFunctionPageEmpty1} +\pastebutton{RationatFunctionPageFull1}{\hidepaste} +\tab{5}\spadcommand{f := (x - y) / (x + y)\bound{f }} +\indentrel{3}\begin{verbatim} + - y + x + (1) ÄÄÄÄÄÄÄ + y + x + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RationatFunctionPageEmpty1} +\begin{paste}{RationatFunctionPageEmpty1}{RationatFunctionPagePatch1} +\pastebutton{RationatFunctionPageEmpty1}{\showpaste} +\tab{5}\spadcommand{f := (x - y) / (x + y)\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{RationatFunctionPagePatch2} +\begin{paste}{RationatFunctionPageFull2}{RationatFunctionPageEmpty2} +\pastebutton{RationatFunctionPageFull2}{\hidepaste} +\tab{5}\spadcommand{numer f\free{f }} +\indentrel{3}\begin{verbatim} + (2) - y + x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RationatFunctionPageEmpty2} +\begin{paste}{RationatFunctionPageEmpty2}{RationatFunctionPagePatch2} +\pastebutton{RationatFunctionPageEmpty2}{\showpaste} +\tab{5}\spadcommand{numer f\free{f }} +\end{paste}\end{patch} + +\begin{patch}{RationatFunctionPagePatch3} +\begin{paste}{RationatFunctionPageFull3}{RationatFunctionPageEmpty3} +\pastebutton{RationatFunctionPageFull3}{\hidepaste} +\tab{5}\spadcommand{denom f\free{f }} +\indentrel{3}\begin{verbatim} + (3) y + x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RationatFunctionPageEmpty3} +\begin{paste}{RationatFunctionPageEmpty3}{RationatFunctionPagePatch3} +\pastebutton{RationatFunctionPageEmpty3}{\showpaste} +\tab{5}\spadcommand{denom f\free{f }} +\end{paste}\end{patch} + +\begin{patch}{RationatFunctionPagePatch4} +\begin{paste}{RationatFunctionPageFull4}{RationatFunctionPageEmpty4} +\pastebutton{RationatFunctionPageFull4}{\hidepaste} +\tab{5}\spadcommand{eval(f, x = 1/x)\free{f }} +\indentrel{3}\begin{verbatim} + - x y + 1 + (4) ÄÄÄÄÄÄÄÄÄ + x y + 1 + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RationatFunctionPageEmpty4} +\begin{paste}{RationatFunctionPageEmpty4}{RationatFunctionPagePatch4} +\pastebutton{RationatFunctionPageEmpty4}{\showpaste} +\tab{5}\spadcommand{eval(f, x = 1/x)\free{f }} +\end{paste}\end{patch} + +\begin{patch}{RationatFunctionPagePatch5} +\begin{paste}{RationatFunctionPageFull5}{RationatFunctionPageEmpty5} +\pastebutton{RationatFunctionPageFull5}{\hidepaste} +\tab{5}\spadcommand{eval(f, [x = y, y = x])\free{f }} +\indentrel{3}\begin{verbatim} + y - x + (5) ÄÄÄÄÄ + y + x + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RationatFunctionPageEmpty5} +\begin{paste}{RationatFunctionPageEmpty5}{RationatFunctionPagePatch5} +\pastebutton{RationatFunctionPageEmpty5}{\showpaste} +\tab{5}\spadcommand{eval(f, [x = y, y = x])\free{f }} +\end{paste}\end{patch} + @ \pagehead{AlgebraicFunctionPage}{function.ht}{Algebraic Functions} <>= @@ -8556,7 +22445,119 @@ Use \spadfun{ratDenom} to remove the algebraic quantities from the denominator: \spadpaste{ratDenom g\free{g}} \endscroll -\autobuttons \end{page} +\autobuttons +\end{page} + +\begin{patch}{AlgebraicFunctionPagePatch1} +\begin{paste}{AlgebraicFunctionPageFull1}{AlgebraicFunctionPageEmpty1} +\pastebutton{AlgebraicFunctionPageFull1}{\hidepaste} +\tab{5}\spadcommand{f := sqrt(1 + x ** (1/3))\bound{f }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄÄÄÄÄÄ¿ + ³3ÚÄ¿ + (1) \³\³x + 1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{AlgebraicFunctionPageEmpty1} +\begin{paste}{AlgebraicFunctionPageEmpty1}{AlgebraicFunctionPagePatch1} +\pastebutton{AlgebraicFunctionPageEmpty1}{\showpaste} +\tab{5}\spadcommand{f := sqrt(1 + x ** (1/3))\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{AlgebraicFunctionPagePatch2} +\begin{paste}{AlgebraicFunctionPageFull2}{AlgebraicFunctionPageEmpty2} +\pastebutton{AlgebraicFunctionPageFull2}{\hidepaste} +\tab{5}\spadcommand{y := rootOf(y**3 + y**2 - x*y + x**3 - 1, y)\bound{y }} +\indentrel{3}\begin{verbatim} + (2) y + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{AlgebraicFunctionPageEmpty2} +\begin{paste}{AlgebraicFunctionPageEmpty2}{AlgebraicFunctionPagePatch2} +\pastebutton{AlgebraicFunctionPageEmpty2}{\showpaste} +\tab{5}\spadcommand{y := rootOf(y**3 + y**2 - x*y + x**3 - 1, y)\bound{y }} +\end{paste}\end{patch} + +\begin{patch}{AlgebraicFunctionPagePatch3} +\begin{paste}{AlgebraicFunctionPageFull3}{AlgebraicFunctionPageEmpty3} +\pastebutton{AlgebraicFunctionPageFull3}{\hidepaste} +\tab{5}\spadcommand{differentiate(y, x)\free{y }} +\indentrel{3}\begin{verbatim} + 2 + y - 3x + (3) ÄÄÄÄÄÄÄÄÄÄÄÄ + 2 + 3y + 2y - x + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{AlgebraicFunctionPageEmpty3} +\begin{paste}{AlgebraicFunctionPageEmpty3}{AlgebraicFunctionPagePatch3} +\pastebutton{AlgebraicFunctionPageEmpty3}{\showpaste} +\tab{5}\spadcommand{differentiate(y, x)\free{y }} +\end{paste}\end{patch} + +\begin{patch}{AlgebraicFunctionPagePatch4} +\begin{paste}{AlgebraicFunctionPageFull4}{AlgebraicFunctionPageEmpty4} +\pastebutton{AlgebraicFunctionPageFull4}{\hidepaste} +\tab{5}\spadcommand{(y + 1) ** 3\free{y }} +\indentrel{3}\begin{verbatim} + 2 3 + (4) 2y + (x + 3)y - x + 2 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{AlgebraicFunctionPageEmpty4} +\begin{paste}{AlgebraicFunctionPageEmpty4}{AlgebraicFunctionPagePatch4} +\pastebutton{AlgebraicFunctionPageEmpty4}{\showpaste} +\tab{5}\spadcommand{(y + 1) ** 3\free{y }} +\end{paste}\end{patch} + +\begin{patch}{AlgebraicFunctionPagePatch5} +\begin{paste}{AlgebraicFunctionPageFull5}{AlgebraicFunctionPageEmpty5} +\pastebutton{AlgebraicFunctionPageFull5}{\hidepaste} +\tab{5}\spadcommand{g := inv f\bound{g }\free{y }} +\indentrel{3}\begin{verbatim} + 1 + (5) ÄÄÄÄÄÄÄÄÄÄÄ + ÚÄÄÄÄÄÄÄÄ¿ + ³3ÚÄ¿ + \³\³x + 1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{AlgebraicFunctionPageEmpty5} +\begin{paste}{AlgebraicFunctionPageEmpty5}{AlgebraicFunctionPagePatch5} +\pastebutton{AlgebraicFunctionPageEmpty5}{\showpaste} +\tab{5}\spadcommand{g := inv f\bound{g }\free{y }} +\end{paste}\end{patch} + +\begin{patch}{AlgebraicFunctionPagePatch6} +\begin{paste}{AlgebraicFunctionPageFull6}{AlgebraicFunctionPageEmpty6} +\pastebutton{AlgebraicFunctionPageFull6}{\hidepaste} +\tab{5}\spadcommand{ratDenom g\free{g }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄÄÄÄÄÄ¿ + 3ÚÄ¿2 3ÚÄ¿ ³3ÚÄ¿ + (\³x - \³x + 1)\³\³x + 1 + (6) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + x + 1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{AlgebraicFunctionPageEmpty6} +\begin{paste}{AlgebraicFunctionPageEmpty6}{AlgebraicFunctionPagePatch6} +\pastebutton{AlgebraicFunctionPageEmpty6}{\showpaste} +\tab{5}\spadcommand{ratDenom g\free{g }} +\end{paste}\end{patch} @ \pagehead{ElementaryFunctionPage}{function.ht}{Elementary Functions} @@ -8573,7 +22574,62 @@ case of polynomials. It's also possible to substitute expressions for kernels instead of variables: \spadpaste{eval(f, log y = acosh(x + sqrt y))\free{f}} \endscroll -\autobuttons \end{page} +\autobuttons +\end{page} + +\begin{patch}{ElementaryFunctionPagePatch1} +\begin{paste}{ElementaryFunctionPageFull1}{ElementaryFunctionPageEmpty1} +\pastebutton{ElementaryFunctionPageFull1}{\hidepaste} +\tab{5}\spadcommand{f := x * log y * sin(1/(x+y))\bound{f }} +\indentrel{3}\begin{verbatim} + 1 + (1) x log(y)sin(ÄÄÄÄÄ) + y + x + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ElementaryFunctionPageEmpty1} +\begin{paste}{ElementaryFunctionPageEmpty1}{ElementaryFunctionPagePatch1} +\pastebutton{ElementaryFunctionPageEmpty1}{\showpaste} +\tab{5}\spadcommand{f := x * log y * sin(1/(x+y))\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{ElementaryFunctionPagePatch2} +\begin{paste}{ElementaryFunctionPageFull2}{ElementaryFunctionPageEmpty2} +\pastebutton{ElementaryFunctionPageFull2}{\hidepaste} +\tab{5}\spadcommand{eval(f, [x = y, y = x])\free{f }} +\indentrel{3}\begin{verbatim} + 1 + (2) y log(x)sin(ÄÄÄÄÄ) + y + x + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ElementaryFunctionPageEmpty2} +\begin{paste}{ElementaryFunctionPageEmpty2}{ElementaryFunctionPagePatch2} +\pastebutton{ElementaryFunctionPageEmpty2}{\showpaste} +\tab{5}\spadcommand{eval(f, [x = y, y = x])\free{f }} +\end{paste}\end{patch} + +\begin{patch}{ElementaryFunctionPagePatch3} +\begin{paste}{ElementaryFunctionPageFull3}{ElementaryFunctionPageEmpty3} +\pastebutton{ElementaryFunctionPageFull3}{\hidepaste} +\tab{5}\spadcommand{eval(f, log y = acosh(x + sqrt y))\free{f }} +\indentrel{3}\begin{verbatim} + 1 ÚÄ¿ + (3) x sin(ÄÄÄÄÄ)acosh(\³y + x) + y + x + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ElementaryFunctionPageEmpty3} +\begin{paste}{ElementaryFunctionPageEmpty3}{ElementaryFunctionPagePatch3} +\pastebutton{ElementaryFunctionPageEmpty3}{\showpaste} +\tab{5}\spadcommand{eval(f, log y = acosh(x + sqrt y))\free{f }} +\end{paste}\end{patch} @ \pagehead{FunctionSimplificationPage}{function.ht}{Simplification} @@ -8636,6 +22692,262 @@ matcher}{ugUserRulesPage}. \autobuttons \end{page} +\begin{patch}{FunctionSimplificationPagePatch1} +\begin{paste}{FunctionSimplificationPageFull1}{FunctionSimplificationPageEmpty1} +\pastebutton{FunctionSimplificationPageFull1}{\hidepaste} +\tab{5}\spadcommand{f := cos(x)/sec(x) * log(sin(x)**2/(cos(x)**2+sin(x)**2))\bound{f }} +\indentrel{3}\begin{verbatim} + 2 + sin(x) + cos(x)log(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) + 2 2 + sin(x) + cos(x) + (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + sec(x) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FunctionSimplificationPageEmpty1} +\begin{paste}{FunctionSimplificationPageEmpty1}{FunctionSimplificationPagePatch1} +\pastebutton{FunctionSimplificationPageEmpty1}{\showpaste} +\tab{5}\spadcommand{f := cos(x)/sec(x) * log(sin(x)**2/(cos(x)**2+sin(x)**2))\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{FunctionSimplificationPagePatch2} +\begin{paste}{FunctionSimplificationPageFull2}{FunctionSimplificationPageEmpty2} +\pastebutton{FunctionSimplificationPageFull2}{\hidepaste} +\tab{5}\spadcommand{g := simplify f\bound{g }\free{f }} +\indentrel{3}\begin{verbatim} + 2 2 + (2) cos(x) log(- cos(x) + 1) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FunctionSimplificationPageEmpty2} +\begin{paste}{FunctionSimplificationPageEmpty2}{FunctionSimplificationPagePatch2} +\pastebutton{FunctionSimplificationPageEmpty2}{\showpaste} +\tab{5}\spadcommand{g := simplify f\bound{g }\free{f }} +\end{paste}\end{patch} + +\begin{patch}{FunctionSimplificationPagePatch3} +\begin{paste}{FunctionSimplificationPageFull3}{FunctionSimplificationPageEmpty3} +\pastebutton{FunctionSimplificationPageFull3}{\hidepaste} +\tab{5}\spadcommand{h := sin2csc cos2sec g\bound{h }\free{g }} +\indentrel{3}\begin{verbatim} + 2 + sec(x) - 1 + log(ÄÄÄÄÄÄÄÄÄÄÄ) + 2 + sec(x) + (3) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 2 + sec(x) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FunctionSimplificationPageEmpty3} +\begin{paste}{FunctionSimplificationPageEmpty3}{FunctionSimplificationPagePatch3} +\pastebutton{FunctionSimplificationPageEmpty3}{\showpaste} +\tab{5}\spadcommand{h := sin2csc cos2sec g\bound{h }\free{g }} +\end{paste}\end{patch} + +\begin{patch}{FunctionSimplificationPagePatch4} +\begin{paste}{FunctionSimplificationPageFull4}{FunctionSimplificationPageEmpty4} +\pastebutton{FunctionSimplificationPageFull4}{\hidepaste} +\tab{5}\spadcommand{expandLog h\free{h }} +\indentrel{3}\begin{verbatim} + 2 + log(sec(x) - 1) - 2log(sec(x)) + (4) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 2 + sec(x) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FunctionSimplificationPageEmpty4} +\begin{paste}{FunctionSimplificationPageEmpty4}{FunctionSimplificationPagePatch4} +\pastebutton{FunctionSimplificationPageEmpty4}{\showpaste} +\tab{5}\spadcommand{expandLog h\free{h }} +\end{paste}\end{patch} + +\begin{patch}{FunctionSimplificationPagePatch5} +\begin{paste}{FunctionSimplificationPageFull5}{FunctionSimplificationPageEmpty5} +\pastebutton{FunctionSimplificationPageFull5}{\hidepaste} +\tab{5}\spadcommand{f1 := sqrt((x+1)**3)\bound{f1 }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ + ³ 3 2 + (5) \³x + 3x + 3x + 1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FunctionSimplificationPageEmpty5} +\begin{paste}{FunctionSimplificationPageEmpty5}{FunctionSimplificationPagePatch5} +\pastebutton{FunctionSimplificationPageEmpty5}{\showpaste} +\tab{5}\spadcommand{f1 := sqrt((x+1)**3)\bound{f1 }} +\end{paste}\end{patch} + +\begin{patch}{FunctionSimplificationPagePatch6} +\begin{paste}{FunctionSimplificationPageFull6}{FunctionSimplificationPageEmpty6} +\pastebutton{FunctionSimplificationPageFull6}{\hidepaste} +\tab{5}\spadcommand{rootSimp f1\free{f1 }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄÄÄ¿ + (6) (x + 1)\³x + 1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FunctionSimplificationPageEmpty6} +\begin{paste}{FunctionSimplificationPageEmpty6}{FunctionSimplificationPagePatch6} +\pastebutton{FunctionSimplificationPageEmpty6}{\showpaste} +\tab{5}\spadcommand{rootSimp f1\free{f1 }} +\end{paste}\end{patch} + +\begin{patch}{FunctionSimplificationPagePatch7} +\begin{paste}{FunctionSimplificationPageFull7}{FunctionSimplificationPageEmpty7} +\pastebutton{FunctionSimplificationPageFull7}{\hidepaste} +\tab{5}\spadcommand{g1 := sin(x + cos x)\bound{g1 }} +\indentrel{3}\begin{verbatim} + (7) sin(cos(x) + x) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FunctionSimplificationPageEmpty7} +\begin{paste}{FunctionSimplificationPageEmpty7}{FunctionSimplificationPagePatch7} +\pastebutton{FunctionSimplificationPageEmpty7}{\showpaste} +\tab{5}\spadcommand{g1 := sin(x + cos x)\bound{g1 }} +\end{paste}\end{patch} + +\begin{patch}{FunctionSimplificationPagePatch8} +\begin{paste}{FunctionSimplificationPageFull8}{FunctionSimplificationPageEmpty8} +\pastebutton{FunctionSimplificationPageFull8}{\hidepaste} +\tab{5}\spadcommand{g2 := complexElementary g1\bound{g2 }\free{g1 }} +\indentrel{3}\begin{verbatim} + (8) + - + ÚÄÄÄ¿ + \³- 1 + * + %e + ** + ÚÄÄÄ¿ 2 ÚÄÄÄ¿ + ÚÄÄÄ¿ x\³- 1 ÚÄÄÄ¿ x\³- 1 + \³- 1 (%e ) + 2x\³- 1 %e + + + ÚÄÄÄ¿ + \³- 1 + / + ÚÄÄÄ¿ + x\³- 1 + 2%e + ** + 2 + + + ÚÄÄÄ¿ + \³- 1 + / + ÚÄÄÄ¿ 2 ÚÄÄÄ¿ + ÚÄÄÄ¿ x\³- 1 ÚÄÄÄ¿ x\³- 1 ÚÄÄÄ¿ + \³- 1 (%e ) + 2x\³- 1 %e + \³- 1 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + ÚÄÄÄ¿ + x\³- 1 + 2%e + 2%e + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FunctionSimplificationPageEmpty8} +\begin{paste}{FunctionSimplificationPageEmpty8}{FunctionSimplificationPagePatch8} +\pastebutton{FunctionSimplificationPageEmpty8}{\showpaste} +\tab{5}\spadcommand{g2 := complexElementary g1\bound{g2 }\free{g1 }} +\end{paste}\end{patch} + +\begin{patch}{FunctionSimplificationPagePatch9} +\begin{paste}{FunctionSimplificationPageFull9}{FunctionSimplificationPageEmpty9} +\pastebutton{FunctionSimplificationPageFull9}{\hidepaste} +\tab{5}\spadcommand{trigs g2\free{g2 }} +\indentrel{3}\begin{verbatim} + (9) sin(cos(x) + x) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FunctionSimplificationPageEmpty9} +\begin{paste}{FunctionSimplificationPageEmpty9}{FunctionSimplificationPagePatch9} +\pastebutton{FunctionSimplificationPageEmpty9}{\showpaste} +\tab{5}\spadcommand{trigs g2\free{g2 }} +\end{paste}\end{patch} + +\begin{patch}{FunctionSimplificationPagePatch10} +\begin{paste}{FunctionSimplificationPageFull10}{FunctionSimplificationPageEmpty10} +\pastebutton{FunctionSimplificationPageFull10}{\hidepaste} +\tab{5}\spadcommand{h1 := sinh(x + cosh x)\bound{h1 }} +\indentrel{3}\begin{verbatim} + (10) sinh(cosh(x) + x) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FunctionSimplificationPageEmpty10} +\begin{paste}{FunctionSimplificationPageEmpty10}{FunctionSimplificationPagePatch10} +\pastebutton{FunctionSimplificationPageEmpty10}{\showpaste} +\tab{5}\spadcommand{h1 := sinh(x + cosh x)\bound{h1 }} +\end{paste}\end{patch} + +\begin{patch}{FunctionSimplificationPagePatch11} +\begin{paste}{FunctionSimplificationPageFull11}{FunctionSimplificationPageEmpty11} +\pastebutton{FunctionSimplificationPageFull11}{\hidepaste} +\tab{5}\spadcommand{h2 := realElementary h1\bound{h2 }\free{h1 }} +\indentrel{3}\begin{verbatim} + x 2 x 2 + (%e ) + 2x %e + 1 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + x + 2%e + (%e ) - 1 + (11) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + x 2 x + (%e ) + 2x %e + 1 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + x + 2%e + 2%e + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FunctionSimplificationPageEmpty11} +\begin{paste}{FunctionSimplificationPageEmpty11}{FunctionSimplificationPagePatch11} +\pastebutton{FunctionSimplificationPageEmpty11}{\showpaste} +\tab{5}\spadcommand{h2 := realElementary h1\bound{h2 }\free{h1 }} +\end{paste}\end{patch} + +\begin{patch}{FunctionSimplificationPagePatch12} +\begin{paste}{FunctionSimplificationPageFull12}{FunctionSimplificationPageEmpty12} +\pastebutton{FunctionSimplificationPageFull12}{\hidepaste} +\tab{5}\spadcommand{htrigs h2\free{h2 }} +\indentrel{3}\begin{verbatim} + (12) sinh(cosh(x) + x) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FunctionSimplificationPageEmpty12} +\begin{paste}{FunctionSimplificationPageEmpty12}{FunctionSimplificationPagePatch12} +\pastebutton{FunctionSimplificationPageEmpty12}{\showpaste} +\tab{5}\spadcommand{htrigs h2\free{h2 }} +\end{paste} +\end{patch} + @ \section{gbf.ht} \pagehead{GroebnerFactorizationPkgXmpPage}{gbf.ht} @@ -8733,6 +23045,116 @@ used. \autobuttons \end{page} +\begin{patch}{GroebnerFactorizationPackageXmpPagePatch1} +\begin{paste}{GroebnerFactorizationPackageXmpPageFull1}{GroebnerFactorizationPackageXmpPageEmpty1} +\pastebutton{GroebnerFactorizationPackageXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{mfzn : SQMATRIX(6,DMP([x,y,z],Fraction INT)) := [[0,1,1,1,1,1], [1,0,1,8/3,x,8/3], [1,1,0,1,8/3,y], [1,8/3,1,0,1,8/3], [1,x,8/3,1,0,1], [1,8/3,y,8/3,1,0]]\bound{mfzn }} +\indentrel{3}\begin{verbatim} + Ú0 1 1 1 1 1¿ + ³ ³ + ³ 8 8³ + ³1 0 1 Ä x ij + ³ 3 3³ + ³ ³ + ³ 8 ³ + ³1 1 0 1 Ä y³ + ³ 3 ³ + ³ ³ + (1) ³ 8 8³ + ³1 Ä 1 0 1 ij + ³ 3 3³ + ³ ³ + ³ 8 ³ + ³1 x Ä 1 0 1³ + ³ 3 ³ + ³ ³ + ³ 8 8 ³ + ³1 Ä y Ä 1 0³ + À 3 3 Ù +Type: SquareMatrix(6,DistributedMultivariatePolynomial([x,y,z],Fraction Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{GroebnerFactorizationPackageXmpPageEmpty1} +\begin{paste}{GroebnerFactorizationPackageXmpPageEmpty1}{GroebnerFactorizationPackageXmpPagePatch1} +\pastebutton{GroebnerFactorizationPackageXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{mfzn : SQMATRIX(6,DMP([x,y,z],Fraction INT)) := [[0,1,1,1,1,1], [1,0,1,8/3,x,8/3], [1,1,0,1,8/3,y], [1,8/3,1,0,1,8/3], [1,x,8/3,1,0,1], [1,8/3,y,8/3,1,0]]\bound{mfzn }} +\end{paste}\end{patch} + +\begin{patch}{GroebnerFactorizationPackageXmpPagePatch2} +\begin{paste}{GroebnerFactorizationPackageXmpPageFull2}{GroebnerFactorizationPackageXmpPageEmpty2} +\pastebutton{GroebnerFactorizationPackageXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{eq := determinant mfzn\free{mfzn }\bound{eq }} +\indentrel{3}\begin{verbatim} + (2) + 2 2 22 2 25 2 22 2 388 250 + - x y + ÄÄ x y - ÄÄ x + ÄÄ x y - ÄÄÄ x y - ÄÄÄ x + 3 9 3 9 27 + + + 25 2 250 14575 + - ÄÄ y - ÄÄÄ y + ÄÄÄÄÄ + 9 27 81 +Type: DistributedMultivariatePolynomial([x,y,z],Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{GroebnerFactorizationPackageXmpPageEmpty2} +\begin{paste}{GroebnerFactorizationPackageXmpPageEmpty2}{GroebnerFactorizationPackageXmpPagePatch2} +\pastebutton{GroebnerFactorizationPackageXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{eq := determinant mfzn\free{mfzn }\bound{eq }} +\end{paste}\end{patch} + +\begin{patch}{GroebnerFactorizationPackageXmpPagePatch3} +\begin{paste}{GroebnerFactorizationPackageXmpPageFull3}{GroebnerFactorizationPackageXmpPageEmpty3} +\pastebutton{GroebnerFactorizationPackageXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{groebnerFactorize [eq, eval(eq, [x,y,z], [y,z,x]), eval(eq, [x,y,z], [z,x,y])]\free{eq }} +\indentrel{3}\begin{verbatim} + (3) + [ + 22 22 22 121 + [x y + x z - ÄÄ x + y z - ÄÄ y - ÄÄ z + ÄÄÄ, + 3 3 3 3 + + 2 22 25 2 22 25 + x z - ÄÄ x z + ÄÄ x + y z - ÄÄ y z + ÄÄ y + 3 9 3 9 + + + 22 2 388 250 + - ÄÄ z + ÄÄÄ z + ÄÄÄ + 3 9 27 + , + + 2 2 22 2 25 2 22 2 388 250 + y z - ÄÄ y z + ÄÄ y - ÄÄ y z + ÄÄÄ y z + ÄÄÄ y + 3 9 3 9 27 + + + 25 2 250 14575 + ÄÄ z + ÄÄÄ z - ÄÄÄÄÄ + 9 27 81 + ] + , + 21994 2 21994 4427 463 + [x + y - ÄÄÄÄÄ,y - ÄÄÄÄÄ y + ÄÄÄÄ,z - ÄÄÄ], + 5625 5625 675 87 + 2 1 11 5 265 2 38 265 + [x - Ä x z - ÄÄ x - Ä z + ÄÄÄ,y - z,z - ÄÄ z + ÄÄÄ], + 2 2 6 18 3 9 + 25 11 11 11 11 11 + [x - ÄÄ,y - ÄÄ,z - ÄÄ], [x - ÄÄ,y - ÄÄ,z - ÄÄ], + 9 3 3 3 3 3 + 5 5 5 19 5 5 + [x + Ä,y + Ä,z + Ä], [x - ÄÄ,y + Ä,z + Ä]] + 3 3 3 3 3 3 +Type: List List DistributedMultivariatePolynomial([x,y,z],Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{GroebnerFactorizationPackageXmpPageEmpty3} +\begin{paste}{GroebnerFactorizationPackageXmpPageEmpty3}{GroebnerFactorizationPackageXmpPagePatch3} +\pastebutton{GroebnerFactorizationPackageXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{groebnerFactorize [eq, eval(eq, [x,y,z], [y,z,x]), eval(eq, [x,y,z], [z,x,y])]\free{eq }} +\end{paste}\end{patch} + @ \section{gloss.ht} \pagehead{GlossaryPage}{gloss.ht}{Glossary} @@ -9879,7 +24301,102 @@ Implicit curves: p(x,y) = 0. Run all examples. \spadpaste{All \free{example1 example2 example3 example4 example5 example6}} \endscroll -\autobuttons \end{page} +\autobuttons +\end{page} + +\begin{patch}{AssortedGraphicsExamplePagePatch1} +\begin{paste}{AssortedGraphicsExamplePageFull1}{AssortedGraphicsExamplePageEmpty1} +\pastebutton{AssortedGraphicsExamplePageFull1}{\hidepaste} +\tab{5}\spadgraph{draw(sin(x * y), x = -2.5..2.5, y = -2.5..2.5)\bound{example1 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/assortedgraphicsexamplepage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/assortedgraphicsexamplepage1}} +\end{paste}\end{patch} + +\begin{patch}{AssortedGraphicsExamplePageEmpty1} +\begin{paste}{AssortedGraphicsExamplePageEmpty1}{AssortedGraphicsExamplePagePatch1} +\pastebutton{AssortedGraphicsExamplePageEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(sin(x * y), x = -2.5..2.5, y = -2.5..2.5)\bound{example1 }} +\end{paste}\end{patch} + +\begin{patch}{AssortedGraphicsExamplePagePatch2} +\begin{paste}{AssortedGraphicsExamplePageFull2}{AssortedGraphicsExamplePageEmpty2} +\pastebutton{AssortedGraphicsExamplePageFull2}{\hidepaste} +\tab{5}\spadgraph{draw(sin tan x - tan sin x,x = 0..6)\bound{example2 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/assortedgraphicsexamplepage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/assortedgraphicsexamplepage2}} +\end{paste}\end{patch} + +\begin{patch}{AssortedGraphicsExamplePageEmpty2} +\begin{paste}{AssortedGraphicsExamplePageEmpty2}{AssortedGraphicsExamplePagePatch2} +\pastebutton{AssortedGraphicsExamplePageEmpty2}{\showpaste} +\tab{5}\spadgraph{draw(sin tan x - tan sin x,x = 0..6)\bound{example2 }} +\end{paste}\end{patch} + +\begin{patch}{AssortedGraphicsExamplePagePatch3} +\begin{paste}{AssortedGraphicsExamplePageFull3}{AssortedGraphicsExamplePageEmpty3} +\pastebutton{AssortedGraphicsExamplePageFull3}{\hidepaste} +\tab{5}\spadgraph{draw(curve(sin(t)*sin(2*t), sin(3*t)*sin(4*t)), t = 0..2*\%pi)\bound{example3 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/assortedgraphicsexamplepage3.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/assortedgraphicsexamplepage3}} +\end{paste}\end{patch} + +\begin{patch}{AssortedGraphicsExamplePageEmpty3} +\begin{paste}{AssortedGraphicsExamplePageEmpty3}{AssortedGraphicsExamplePagePatch3} +\pastebutton{AssortedGraphicsExamplePageEmpty3}{\showpaste} +\tab{5}\spadgraph{draw(curve(sin(t)*sin(2*t), sin(3*t)*sin(4*t)), t = 0..2*\%pi)\bound{example3 }} +\end{paste}\end{patch} + +\begin{patch}{AssortedGraphicsExamplePagePatch4} +\begin{paste}{AssortedGraphicsExamplePageFull4}{AssortedGraphicsExamplePageEmpty4} +\pastebutton{AssortedGraphicsExamplePageFull4}{\hidepaste} +\tab{5}\spadgraph{draw(curve(sin(t)*sin(2*t), sin(3*t)*sin(4*t), sin(5*t)*sin(6*t)), t = 0..2*\%pi)\bound{example4 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/assortedgraphicsexamplepage4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/assortedgraphicsexamplepage4}} +\end{paste}\end{patch} + +\begin{patch}{AssortedGraphicsExamplePageEmpty4} +\begin{paste}{AssortedGraphicsExamplePageEmpty4}{AssortedGraphicsExamplePagePatch4} +\pastebutton{AssortedGraphicsExamplePageEmpty4}{\showpaste} +\tab{5}\spadgraph{draw(curve(sin(t)*sin(2*t), sin(3*t)*sin(4*t), sin(5*t)*sin(6*t)), t = 0..2*\%pi)\bound{example4 }} +\end{paste}\end{patch} + +\begin{patch}{AssortedGraphicsExamplePagePatch5} +\begin{paste}{AssortedGraphicsExamplePageFull5}{AssortedGraphicsExamplePageEmpty5} +\pastebutton{AssortedGraphicsExamplePageFull5}{\hidepaste} +\tab{5}\spadgraph{draw(sin(17*t), t = 0..2*\%pi, coordinates == polar)\bound{example5 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/assortedgraphicsexamplepage5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/assortedgraphicsexamplepage5}} +\end{paste}\end{patch} + +\begin{patch}{AssortedGraphicsExamplePageEmpty5} +\begin{paste}{AssortedGraphicsExamplePageEmpty5}{AssortedGraphicsExamplePagePatch5} +\pastebutton{AssortedGraphicsExamplePageEmpty5}{\showpaste} +\tab{5}\spadgraph{draw(sin(17*t), t = 0..2*\%pi, coordinates == polar)\bound{example5 }} +\end{paste}\end{patch} + +\begin{patch}{AssortedGraphicsExamplePagePatch6} +\begin{paste}{AssortedGraphicsExamplePageFull6}{AssortedGraphicsExamplePageEmpty6} +\pastebutton{AssortedGraphicsExamplePageFull6}{\hidepaste} +\tab{5}\spadgraph{draw(y**2 + y = x**3 - x, x, y,range == [-2..2,-2..1])\bound{example6 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/assortedgraphicsexamplepage6.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/assortedgraphicsexamplepage6}} +\end{paste}\end{patch} + +\begin{patch}{AssortedGraphicsExamplePageEmpty6} +\begin{paste}{AssortedGraphicsExamplePageEmpty6}{AssortedGraphicsExamplePagePatch6} +\pastebutton{AssortedGraphicsExamplePageEmpty6}{\showpaste} +\tab{5}\spadgraph{draw(y**2 + y = x**3 - x, x, y,range == [-2..2,-2..1])\bound{example6 }} +\end{paste}\end{patch} + +\begin{patch}{AssortedGraphicsExamplePagePatch7} +\begin{paste}{AssortedGraphicsExamplePageFull7}{AssortedGraphicsExamplePageEmpty7} +\pastebutton{AssortedGraphicsExamplePageFull7}{\hidepaste} +\tab{5}\spadcommand{All\free{example1 example2 example3 example4 example5 example6 }} +\indentrel{3}\begin{verbatim} + (7) All + Type: Variable All +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{AssortedGraphicsExamplePageEmpty7} +\begin{paste}{AssortedGraphicsExamplePageEmpty7}{AssortedGraphicsExamplePagePatch7} +\pastebutton{AssortedGraphicsExamplePageEmpty7}{\showpaste} +\tab{5}\spadcommand{All\free{example1 example2 example3 example4 example5 example6 }} +\end{paste}\end{patch} @ \pagehead{ThreeDimensionalGraphicsExamplePage}{graphics.ht} @@ -9928,7 +24445,188 @@ title=="Banchoff Klein Bottle") \free{f g h} \bound{example4}} \newline \spadpaste{All \free{example1 example2 example3 example4}} \endscroll -\autobuttons \end{page} +\autobuttons +\end{page} + +\begin{patch}{ThreeDimensionalGraphicsExamplePagePatch1} +\begin{paste}{ThreeDimensionalGraphicsExamplePageFull1}{ThreeDimensionalGraphicsExamplePageEmpty1} +\pastebutton{ThreeDimensionalGraphicsExamplePageFull1}{\hidepaste} +\tab{5}\spadgraph{draw(surface((1+exp(-100*u*u))*sin(\%pi*u)*sin(\%pi*v), (1+exp(-100*u*u))*sin(\%pi*u)*cos(\%pi*v), (1+exp(-100*u*u))*cos(\%pi*u)), u=0..1, v=0..2, title=="Pear")\bound{example1 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/threedimensionalgraphicsexamplepage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/threedimensionalgraphicsexamplepage1}} +\end{paste}\end{patch} + +\begin{patch}{ThreeDimensionalGraphicsExamplePageEmpty1} +\begin{paste}{ThreeDimensionalGraphicsExamplePageEmpty1}{ThreeDimensionalGraphicsExamplePagePatch1} +\pastebutton{ThreeDimensionalGraphicsExamplePageEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(surface((1+exp(-100*u*u))*sin(\%pi*u)*sin(\%pi*v), (1+exp(-100*u*u))*sin(\%pi*u)*cos(\%pi*v), (1+exp(-100*u*u))*cos(\%pi*u)), u=0..1, v=0..2, title=="Pear")\bound{example1 }} +\end{paste}\end{patch} + +\begin{patch}{ThreeDimensionalGraphicsExamplePagePatch2} +\begin{paste}{ThreeDimensionalGraphicsExamplePageFull2}{ThreeDimensionalGraphicsExamplePageEmpty2} +\pastebutton{ThreeDimensionalGraphicsExamplePageFull2}{\hidepaste} +\tab{5}\spadgraph{draw(surface(x*cos(y),x*sin(y),y*cos(x)), x=-4..4, y=0..2*\%pi, var1Steps==40, var2Steps==40, title=="Trig Screw")\bound{example2 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/threedimensionalgraphicsexamplepage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/threedimensionalgraphicsexamplepage2}} +\end{paste}\end{patch} + +\begin{patch}{ThreeDimensionalGraphicsExamplePageEmpty2} +\begin{paste}{ThreeDimensionalGraphicsExamplePageEmpty2}{ThreeDimensionalGraphicsExamplePagePatch2} +\pastebutton{ThreeDimensionalGraphicsExamplePageEmpty2}{\showpaste} +\tab{5}\spadgraph{draw(surface(x*cos(y),x*sin(y),y*cos(x)), x=-4..4, y=0..2*\%pi, var1Steps==40, var2Steps==40, title=="Trig Screw")\bound{example2 }} +\end{paste}\end{patch} + +\begin{patch}{ThreeDimensionalGraphicsExamplePagePatch3} +\begin{paste}{ThreeDimensionalGraphicsExamplePageFull3}{ThreeDimensionalGraphicsExamplePageEmpty3} +\pastebutton{ThreeDimensionalGraphicsExamplePageFull3}{\hidepaste} +\tab{5}\spadcommand{a := 1.3 * cos(2*x) * cos(y) + sin(y) * cos(x)\bound{a }} +\indentrel{3}\begin{verbatim} + (3) cos(x)sin(y) + 1.3 cos(2.0 x)cos(y) + Type: Expression Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ThreeDimensionalGraphicsExamplePageEmpty3} +\begin{paste}{ThreeDimensionalGraphicsExamplePageEmpty3}{ThreeDimensionalGraphicsExamplePagePatch3} +\pastebutton{ThreeDimensionalGraphicsExamplePageEmpty3}{\showpaste} +\tab{5}\spadcommand{a := 1.3 * cos(2*x) * cos(y) + sin(y) * cos(x)\bound{a }} +\end{paste}\end{patch} + +\begin{patch}{ThreeDimensionalGraphicsExamplePagePatch4} +\begin{paste}{ThreeDimensionalGraphicsExamplePageFull4}{ThreeDimensionalGraphicsExamplePageEmpty4} +\pastebutton{ThreeDimensionalGraphicsExamplePageFull4}{\hidepaste} +\tab{5}\spadcommand{b := 1.3 * sin(2*x) * cos(y) - sin(y) * sin(x)\bound{b }} +\indentrel{3}\begin{verbatim} + (4) - 1.0 sin(x)sin(y) + 1.3 cos(y)sin(2.0 x) + Type: Expression Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ThreeDimensionalGraphicsExamplePageEmpty4} +\begin{paste}{ThreeDimensionalGraphicsExamplePageEmpty4}{ThreeDimensionalGraphicsExamplePagePatch4} +\pastebutton{ThreeDimensionalGraphicsExamplePageEmpty4}{\showpaste} +\tab{5}\spadcommand{b := 1.3 * sin(2*x) * cos(y) - sin(y) * sin(x)\bound{b }} +\end{paste}\end{patch} + +\begin{patch}{ThreeDimensionalGraphicsExamplePagePatch5} +\begin{paste}{ThreeDimensionalGraphicsExamplePageFull5}{ThreeDimensionalGraphicsExamplePageEmpty5} +\pastebutton{ThreeDimensionalGraphicsExamplePageFull5}{\hidepaste} +\tab{5}\spadcommand{c := 2.5 * cos(y)\bound{c }} +\indentrel{3}\begin{verbatim} + (5) 2.5 cos(y) + Type: Expression Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ThreeDimensionalGraphicsExamplePageEmpty5} +\begin{paste}{ThreeDimensionalGraphicsExamplePageEmpty5}{ThreeDimensionalGraphicsExamplePagePatch5} +\pastebutton{ThreeDimensionalGraphicsExamplePageEmpty5}{\showpaste} +\tab{5}\spadcommand{c := 2.5 * cos(y)\bound{c }} +\end{paste}\end{patch} + +\begin{patch}{ThreeDimensionalGraphicsExamplePagePatch6} +\begin{paste}{ThreeDimensionalGraphicsExamplePageFull6}{ThreeDimensionalGraphicsExamplePageEmpty6} +\pastebutton{ThreeDimensionalGraphicsExamplePageFull6}{\hidepaste} +\tab{5}\spadgraph{draw(surface(a,b,c), x=0..\%pi, y=-\%pi..\%pi, var1Steps==40, var2Steps==40, title=="Etruscan Venus")\free{a b c }\bound{example3 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/threedimensionalgraphicsexamplepage6.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/threedimensionalgraphicsexamplepage6}} +\end{paste}\end{patch} + +\begin{patch}{ThreeDimensionalGraphicsExamplePageEmpty6} +\begin{paste}{ThreeDimensionalGraphicsExamplePageEmpty6}{ThreeDimensionalGraphicsExamplePagePatch6} +\pastebutton{ThreeDimensionalGraphicsExamplePageEmpty6}{\showpaste} +\tab{5}\spadgraph{draw(surface(a,b,c), x=0..\%pi, y=-\%pi..\%pi, var1Steps==40, var2Steps==40, title=="Etruscan Venus")\free{a b c }\bound{example3 }} +\end{paste}\end{patch} + +\begin{patch}{ThreeDimensionalGraphicsExamplePagePatch7} +\begin{paste}{ThreeDimensionalGraphicsExamplePageFull7}{ThreeDimensionalGraphicsExamplePageEmpty7} +\pastebutton{ThreeDimensionalGraphicsExamplePageFull7}{\hidepaste} +\tab{5}\spadcommand{f:=cos(x)*(cos(x/2)*(sqrt(2) + cos(y))+(sin(x/2)*sin(y)*cos(y)))\bound{f }} +\indentrel{3}\begin{verbatim} + (7) + x x + cos(x)cos(y)sin(Ä)sin(y) + cos(Ä)cos(x)cos(y) + 2 2 + + + ÚÄ¿ x + \³2 cos(Ä)cos(x) + 2 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ThreeDimensionalGraphicsExamplePageEmpty7} +\begin{paste}{ThreeDimensionalGraphicsExamplePageEmpty7}{ThreeDimensionalGraphicsExamplePagePatch7} +\pastebutton{ThreeDimensionalGraphicsExamplePageEmpty7}{\showpaste} +\tab{5}\spadcommand{f:=cos(x)*(cos(x/2)*(sqrt(2) + cos(y))+(sin(x/2)*sin(y)*cos(y)))\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{ThreeDimensionalGraphicsExamplePagePatch8} +\begin{paste}{ThreeDimensionalGraphicsExamplePageFull8}{ThreeDimensionalGraphicsExamplePageEmpty8} +\pastebutton{ThreeDimensionalGraphicsExamplePageFull8}{\hidepaste} +\tab{5}\spadcommand{g:=sin(x)*(cos(x/2)*(sqrt(2) + cos(y))+(sin(x/2)*sin(y)*cos(y)))\bound{g }} +\indentrel{3}\begin{verbatim} + (8) + x + cos(y)sin(Ä)sin(x)sin(y) + 2 + + + x ÚÄ¿ x + (cos(Ä)cos(y) + \³2 cos(Ä))sin(x) + 2 2 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ThreeDimensionalGraphicsExamplePageEmpty8} +\begin{paste}{ThreeDimensionalGraphicsExamplePageEmpty8}{ThreeDimensionalGraphicsExamplePagePatch8} +\pastebutton{ThreeDimensionalGraphicsExamplePageEmpty8}{\showpaste} +\tab{5}\spadcommand{g:=sin(x)*(cos(x/2)*(sqrt(2) + cos(y))+(sin(x/2)*sin(y)*cos(y)))\bound{g }} +\end{paste}\end{patch} + +\begin{patch}{ThreeDimensionalGraphicsExamplePagePatch9} +\begin{paste}{ThreeDimensionalGraphicsExamplePageFull9}{ThreeDimensionalGraphicsExamplePageEmpty9} +\pastebutton{ThreeDimensionalGraphicsExamplePageFull9}{\hidepaste} +\tab{5}\spadcommand{h:=-sin(x/2)*(sqrt(2)+cos(y)) + cos(x/2)*sin(y)*cos(y)\bound{h }} +\indentrel{3}\begin{verbatim} + x ÚÄ¿ x + (9) cos(Ä)cos(y)sin(y) + (- cos(y) - \³2 )sin(Ä) + 2 2 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ThreeDimensionalGraphicsExamplePageEmpty9} +\begin{paste}{ThreeDimensionalGraphicsExamplePageEmpty9}{ThreeDimensionalGraphicsExamplePagePatch9} +\pastebutton{ThreeDimensionalGraphicsExamplePageEmpty9}{\showpaste} +\tab{5}\spadcommand{h:=-sin(x/2)*(sqrt(2)+cos(y)) + cos(x/2)*sin(y)*cos(y)\bound{h }} +\end{paste}\end{patch} + +\begin{patch}{ThreeDimensionalGraphicsExamplePagePatch10} +\begin{paste}{ThreeDimensionalGraphicsExamplePageFull10}{ThreeDimensionalGraphicsExamplePageEmpty10} +\pastebutton{ThreeDimensionalGraphicsExamplePageFull10}{\hidepaste} +\tab{5}\spadgraph{draw(surface(f,g,h), x=0..4*\%pi, y=0..2*\%pi, var1Steps==50, var2Steps==50, title=="Banchoff Klein Bottle")\free{f g h }\bound{example4 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/threedimensionalgraphicsexamplepage10.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/threedimensionalgraphicsexamplepage10}} +\end{paste}\end{patch} + +\begin{patch}{ThreeDimensionalGraphicsExamplePageEmpty10} +\begin{paste}{ThreeDimensionalGraphicsExamplePageEmpty10}{ThreeDimensionalGraphicsExamplePagePatch10} +\pastebutton{ThreeDimensionalGraphicsExamplePageEmpty10}{\showpaste} +\tab{5}\spadgraph{draw(surface(f,g,h), x=0..4*\%pi, y=0..2*\%pi, var1Steps==50, var2Steps==50, title=="Banchoff Klein Bottle")\free{f g h }\bound{example4 }} +\end{paste}\end{patch} + +\begin{patch}{ThreeDimensionalGraphicsExamplePagePatch11} +\begin{paste}{ThreeDimensionalGraphicsExamplePageFull11}{ThreeDimensionalGraphicsExamplePageEmpty11} +\pastebutton{ThreeDimensionalGraphicsExamplePageFull11}{\hidepaste} +\tab{5}\spadcommand{All\free{example1 example2 example3 example4 }} +\indentrel{3}\begin{verbatim} + (11) All + Type: Variable All +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ThreeDimensionalGraphicsExamplePageEmpty11} +\begin{paste}{ThreeDimensionalGraphicsExamplePageEmpty11}{ThreeDimensionalGraphicsExamplePagePatch11} +\pastebutton{ThreeDimensionalGraphicsExamplePageEmpty11}{\showpaste} +\tab{5}\spadcommand{All\free{example1 example2 example3 example4 }} +\end{paste}\end{patch} @ \pagehead{OneVariableGraphicsExamplePage}{graphics.ht} @@ -9948,7 +24646,76 @@ Choose a particular example or choose 'All' to see all the examples. \newline \spadpaste{All \free{example1 example2 example3 example4}} \endscroll -\autobuttons \end{page} +\autobuttons +\end{page} + +\begin{patch}{OneVariableGraphicsExamplePagePatch1} +\begin{paste}{OneVariableGraphicsExamplePageFull1}{OneVariableGraphicsExamplePageEmpty1} +\pastebutton{OneVariableGraphicsExamplePageFull1}{\hidepaste} +\tab{5}\spadgraph{draw(sin tan x - tan sin x, x = 0..6)\bound{example1 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/onevariablegraphicsexamplepage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/onevariablegraphicsexamplepage1}} +\end{paste}\end{patch} + +\begin{patch}{OneVariableGraphicsExamplePageEmpty1} +\begin{paste}{OneVariableGraphicsExamplePageEmpty1}{OneVariableGraphicsExamplePagePatch1} +\pastebutton{OneVariableGraphicsExamplePageEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(sin tan x - tan sin x, x = 0..6)\bound{example1 }} +\end{paste}\end{patch} + +\begin{patch}{OneVariableGraphicsExamplePagePatch2} +\begin{paste}{OneVariableGraphicsExamplePageFull2}{OneVariableGraphicsExamplePageEmpty2} +\pastebutton{OneVariableGraphicsExamplePageFull2}{\hidepaste} +\tab{5}\spadgraph{draw(sin x + cos x, x = 0..2*\%pi)\bound{example2 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/onevariablegraphicsexamplepage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/onevariablegraphicsexamplepage2}} +\end{paste}\end{patch} + +\begin{patch}{OneVariableGraphicsExamplePageEmpty2} +\begin{paste}{OneVariableGraphicsExamplePageEmpty2}{OneVariableGraphicsExamplePagePatch2} +\pastebutton{OneVariableGraphicsExamplePageEmpty2}{\showpaste} +\tab{5}\spadgraph{draw(sin x + cos x, x = 0..2*\%pi)\bound{example2 }} +\end{paste}\end{patch} + +\begin{patch}{OneVariableGraphicsExamplePagePatch3} +\begin{paste}{OneVariableGraphicsExamplePageFull3}{OneVariableGraphicsExamplePageEmpty3} +\pastebutton{OneVariableGraphicsExamplePageFull3}{\hidepaste} +\tab{5}\spadgraph{draw(sin(1/x), x = -1..1)\bound{example3 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/onevariablegraphicsexamplepage3.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/onevariablegraphicsexamplepage3}} +\end{paste}\end{patch} + +\begin{patch}{OneVariableGraphicsExamplePageEmpty3} +\begin{paste}{OneVariableGraphicsExamplePageEmpty3}{OneVariableGraphicsExamplePagePatch3} +\pastebutton{OneVariableGraphicsExamplePageEmpty3}{\showpaste} +\tab{5}\spadgraph{draw(sin(1/x), x = -1..1)\bound{example3 }} +\end{paste}\end{patch} + +\begin{patch}{OneVariableGraphicsExamplePagePatch4} +\begin{paste}{OneVariableGraphicsExamplePageFull4}{OneVariableGraphicsExamplePageEmpty4} +\pastebutton{OneVariableGraphicsExamplePageFull4}{\hidepaste} +\tab{5}\spadgraph{draw(x * sin(1/x), x = -1..1)\bound{example4 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/onevariablegraphicsexamplepage4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/onevariablegraphicsexamplepage4}} +\end{paste}\end{patch} + +\begin{patch}{OneVariableGraphicsExamplePageEmpty4} +\begin{paste}{OneVariableGraphicsExamplePageEmpty4}{OneVariableGraphicsExamplePagePatch4} +\pastebutton{OneVariableGraphicsExamplePageEmpty4}{\showpaste} +\tab{5}\spadgraph{draw(x * sin(1/x), x = -1..1)\bound{example4 }} +\end{paste}\end{patch} + +\begin{patch}{OneVariableGraphicsExamplePagePatch5} +\begin{paste}{OneVariableGraphicsExamplePageFull5}{OneVariableGraphicsExamplePageEmpty5} +\pastebutton{OneVariableGraphicsExamplePageFull5}{\hidepaste} +\tab{5}\spadcommand{All\free{example1 example2 example3 example4 }} +\indentrel{3}\begin{verbatim} + (5) All + Type: Variable All +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OneVariableGraphicsExamplePageEmpty5} +\begin{paste}{OneVariableGraphicsExamplePageEmpty5}{OneVariableGraphicsExamplePagePatch5} +\pastebutton{OneVariableGraphicsExamplePageEmpty5}{\showpaste} +\tab{5}\spadcommand{All\free{example1 example2 example3 example4 }} +\end{paste}\end{patch} @ \pagehead{ParametricCurveGraphicsExamplePage}{graphics.ht} @@ -9974,7 +24741,76 @@ t = 0..2*\%pi) \bound{example4}} Run all examples on this page. \spadpaste{All \free{example1 example2 example3 example4}} \endscroll -\autobuttons \end{page} +\autobuttons +\end{page} + +\begin{patch}{ParametricCurveGraphicsExamplePagePatch1} +\begin{paste}{ParametricCurveGraphicsExamplePageFull1}{ParametricCurveGraphicsExamplePageEmpty1} +\pastebutton{ParametricCurveGraphicsExamplePageFull1}{\hidepaste} +\tab{5}\spadgraph{draw(curve(cos(t/(1+sin(t)**2)), sin(t)*cos(t)/(1+sin(t)**2)), t = -\%pi..\%pi)\bound{example1 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/parametriccurvegraphicsexamplepage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/parametriccurvegraphicsexamplepage1}} +\end{paste}\end{patch} + +\begin{patch}{ParametricCurveGraphicsExamplePageEmpty1} +\begin{paste}{ParametricCurveGraphicsExamplePageEmpty1}{ParametricCurveGraphicsExamplePagePatch1} +\pastebutton{ParametricCurveGraphicsExamplePageEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(curve(cos(t/(1+sin(t)**2)), sin(t)*cos(t)/(1+sin(t)**2)), t = -\%pi..\%pi)\bound{example1 }} +\end{paste}\end{patch} + +\begin{patch}{ParametricCurveGraphicsExamplePagePatch2} +\begin{paste}{ParametricCurveGraphicsExamplePageFull2}{ParametricCurveGraphicsExamplePageEmpty2} +\pastebutton{ParametricCurveGraphicsExamplePageFull2}{\hidepaste} +\tab{5}\spadgraph{draw(curve(9*sin(3*t/4), 8*sin(t)), t = -4*\%pi..4*\%pi)\bound{example2 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/parametriccurvegraphicsexamplepage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/parametriccurvegraphicsexamplepage2}} +\end{paste}\end{patch} + +\begin{patch}{ParametricCurveGraphicsExamplePageEmpty2} +\begin{paste}{ParametricCurveGraphicsExamplePageEmpty2}{ParametricCurveGraphicsExamplePagePatch2} +\pastebutton{ParametricCurveGraphicsExamplePageEmpty2}{\showpaste} +\tab{5}\spadgraph{draw(curve(9*sin(3*t/4), 8*sin(t)), t = -4*\%pi..4*\%pi)\bound{example2 }} +\end{paste}\end{patch} + +\begin{patch}{ParametricCurveGraphicsExamplePagePatch3} +\begin{paste}{ParametricCurveGraphicsExamplePageFull3}{ParametricCurveGraphicsExamplePageEmpty3} +\pastebutton{ParametricCurveGraphicsExamplePageFull3}{\hidepaste} +\tab{5}\spadgraph{draw(curve(sin(t)*sin(2*t)*sin(3*t), sin(4*t)*sin(5*t)*sin(6*t)),t = 0..2*\%pi)\bound{example3 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/parametriccurvegraphicsexamplepage3.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/parametriccurvegraphicsexamplepage3}} +\end{paste}\end{patch} + +\begin{patch}{ParametricCurveGraphicsExamplePageEmpty3} +\begin{paste}{ParametricCurveGraphicsExamplePageEmpty3}{ParametricCurveGraphicsExamplePagePatch3} +\pastebutton{ParametricCurveGraphicsExamplePageEmpty3}{\showpaste} +\tab{5}\spadgraph{draw(curve(sin(t)*sin(2*t)*sin(3*t), sin(4*t)*sin(5*t)*sin(6*t)),t = 0..2*\%pi)\bound{example3 }} +\end{paste}\end{patch} + +\begin{patch}{ParametricCurveGraphicsExamplePagePatch4} +\begin{paste}{ParametricCurveGraphicsExamplePageFull4}{ParametricCurveGraphicsExamplePageEmpty4} +\pastebutton{ParametricCurveGraphicsExamplePageFull4}{\hidepaste} +\tab{5}\spadgraph{draw(curve(cos(4*t)*cos(7*t), cos(4*t)*sin(7*t)), t = 0..2*\%pi)\bound{example4 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/parametriccurvegraphicsexamplepage4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/parametriccurvegraphicsexamplepage4}} +\end{paste}\end{patch} + +\begin{patch}{ParametricCurveGraphicsExamplePageEmpty4} +\begin{paste}{ParametricCurveGraphicsExamplePageEmpty4}{ParametricCurveGraphicsExamplePagePatch4} +\pastebutton{ParametricCurveGraphicsExamplePageEmpty4}{\showpaste} +\tab{5}\spadgraph{draw(curve(cos(4*t)*cos(7*t), cos(4*t)*sin(7*t)), t = 0..2*\%pi)\bound{example4 }} +\end{paste}\end{patch} + +\begin{patch}{ParametricCurveGraphicsExamplePagePatch5} +\begin{paste}{ParametricCurveGraphicsExamplePageFull5}{ParametricCurveGraphicsExamplePageEmpty5} +\pastebutton{ParametricCurveGraphicsExamplePageFull5}{\hidepaste} +\tab{5}\spadcommand{All\free{example1 example2 example3 example4 }} +\indentrel{3}\begin{verbatim} + (5) All + Type: Variable All +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ParametricCurveGraphicsExamplePageEmpty5} +\begin{paste}{ParametricCurveGraphicsExamplePageEmpty5}{ParametricCurveGraphicsExamplePagePatch5} +\pastebutton{ParametricCurveGraphicsExamplePageEmpty5}{\showpaste} +\tab{5}\spadcommand{All\free{example1 example2 example3 example4 }} +\end{paste}\end{patch} @ \pagehead{PolarGraphicsExamplePage}{graphics.ht}{Polar Coordinates} @@ -9998,7 +24834,76 @@ Run all examples on this page. %example1 example2 example3 example4}} \endscroll -\autobuttons \end{page} +\autobuttons +\end{page} + +\begin{patch}{PolarGraphicsExamplePagePatch1} +\begin{paste}{PolarGraphicsExamplePageFull1}{PolarGraphicsExamplePageEmpty1} +\pastebutton{PolarGraphicsExamplePageFull1}{\hidepaste} +\tab{5}\spadgraph{draw(1,t = 0..2*\%pi, coordinates == polar)\bound{example1 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/polargraphicsexamplepage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/polargraphicsexamplepage1}} +\end{paste}\end{patch} + +\begin{patch}{PolarGraphicsExamplePageEmpty1} +\begin{paste}{PolarGraphicsExamplePageEmpty1}{PolarGraphicsExamplePagePatch1} +\pastebutton{PolarGraphicsExamplePageEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(1,t = 0..2*\%pi, coordinates == polar)\bound{example1 }} +\end{paste}\end{patch} + +\begin{patch}{PolarGraphicsExamplePagePatch2} +\begin{paste}{PolarGraphicsExamplePageFull2}{PolarGraphicsExamplePageEmpty2} +\pastebutton{PolarGraphicsExamplePageFull2}{\hidepaste} +\tab{5}\spadgraph{draw(t,t = 0..100, coordinates == polar)\bound{example2 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/polargraphicsexamplepage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/polargraphicsexamplepage2}} +\end{paste}\end{patch} + +\begin{patch}{PolarGraphicsExamplePageEmpty2} +\begin{paste}{PolarGraphicsExamplePageEmpty2}{PolarGraphicsExamplePagePatch2} +\pastebutton{PolarGraphicsExamplePageEmpty2}{\showpaste} +\tab{5}\spadgraph{draw(t,t = 0..100, coordinates == polar)\bound{example2 }} +\end{paste}\end{patch} + +\begin{patch}{PolarGraphicsExamplePagePatch3} +\begin{paste}{PolarGraphicsExamplePageFull3}{PolarGraphicsExamplePageEmpty3} +\pastebutton{PolarGraphicsExamplePageFull3}{\hidepaste} +\tab{5}\spadgraph{draw(sin(4*t), t = 0..2*\%pi, coordinates == polar)\bound{example3 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/polargraphicsexamplepage3.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/polargraphicsexamplepage3}} +\end{paste}\end{patch} + +\begin{patch}{PolarGraphicsExamplePageEmpty3} +\begin{paste}{PolarGraphicsExamplePageEmpty3}{PolarGraphicsExamplePagePatch3} +\pastebutton{PolarGraphicsExamplePageEmpty3}{\showpaste} +\tab{5}\spadgraph{draw(sin(4*t), t = 0..2*\%pi, coordinates == polar)\bound{example3 }} +\end{paste}\end{patch} + +\begin{patch}{PolarGraphicsExamplePagePatch4} +\begin{paste}{PolarGraphicsExamplePageFull4}{PolarGraphicsExamplePageEmpty4} +\pastebutton{PolarGraphicsExamplePageFull4}{\hidepaste} +\tab{5}\spadgraph{draw(2 + 3 * sin t, t = 0..2*\%pi, coordinates == polar)\bound{example4 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/polargraphicsexamplepage4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/polargraphicsexamplepage4}} +\end{paste}\end{patch} + +\begin{patch}{PolarGraphicsExamplePageEmpty4} +\begin{paste}{PolarGraphicsExamplePageEmpty4}{PolarGraphicsExamplePagePatch4} +\pastebutton{PolarGraphicsExamplePageEmpty4}{\showpaste} +\tab{5}\spadgraph{draw(2 + 3 * sin t, t = 0..2*\%pi, coordinates == polar)\bound{example4 }} +\end{paste}\end{patch} + +\begin{patch}{PolarGraphicsExamplePagePatch5} +\begin{paste}{PolarGraphicsExamplePageFull5}{PolarGraphicsExamplePageEmpty5} +\pastebutton{PolarGraphicsExamplePageFull5}{\hidepaste} +\tab{5}\spadcommand{All\free{example2 example3 example4 }} +\indentrel{3}\begin{verbatim} + (5) All + Type: Variable All +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolarGraphicsExamplePageEmpty5} +\begin{paste}{PolarGraphicsExamplePageEmpty5}{PolarGraphicsExamplePagePatch5} +\pastebutton{PolarGraphicsExamplePageEmpty5}{\showpaste} +\tab{5}\spadcommand{All\free{example2 example3 example4 }} +\end{paste}\end{patch} @ \pagehead{ImplicitCurveGraphicsExamplePage}{graphics.ht}{Implicit Curves} @@ -10027,7 +24932,111 @@ title == "Cassinian oval with two loops") \free{q} \bound{example4} } Run all examples on this page. \spadpaste{All \free{example1 example2 example3 example4}} \endscroll -\autobuttons \end{page} +\autobuttons +\end{page} + +\begin{patch}{ImplicitCurveGraphicsExamplePagePatch1} +\begin{paste}{ImplicitCurveGraphicsExamplePageFull1}{ImplicitCurveGraphicsExamplePageEmpty1} +\pastebutton{ImplicitCurveGraphicsExamplePageFull1}{\hidepaste} +\tab{5}\spadgraph{draw(x * y = 1, x, y, range == [-3..3, -3..3])\bound{example1 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/implicitcurvegraphicsexamplepage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/implicitcurvegraphicsexamplepage1}} +\end{paste}\end{patch} + +\begin{patch}{ImplicitCurveGraphicsExamplePageEmpty1} +\begin{paste}{ImplicitCurveGraphicsExamplePageEmpty1}{ImplicitCurveGraphicsExamplePagePatch1} +\pastebutton{ImplicitCurveGraphicsExamplePageEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(x * y = 1, x, y, range == [-3..3, -3..3])\bound{example1 }} +\end{paste}\end{patch} + +\begin{patch}{ImplicitCurveGraphicsExamplePagePatch2} +\begin{paste}{ImplicitCurveGraphicsExamplePageFull2}{ImplicitCurveGraphicsExamplePageEmpty2} +\pastebutton{ImplicitCurveGraphicsExamplePageFull2}{\hidepaste} +\tab{5}\spadgraph{draw(y**2 + y = x**3 - x, x, y, range == [-2..2, -2..1])\bound{example2 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/implicitcurvegraphicsexamplepage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/implicitcurvegraphicsexamplepage2}} +\end{paste}\end{patch} + +\begin{patch}{ImplicitCurveGraphicsExamplePageEmpty2} +\begin{paste}{ImplicitCurveGraphicsExamplePageEmpty2}{ImplicitCurveGraphicsExamplePagePatch2} +\pastebutton{ImplicitCurveGraphicsExamplePageEmpty2}{\showpaste} +\tab{5}\spadgraph{draw(y**2 + y = x**3 - x, x, y, range == [-2..2, -2..1])\bound{example2 }} +\end{paste}\end{patch} + +\begin{patch}{ImplicitCurveGraphicsExamplePagePatch3} +\begin{paste}{ImplicitCurveGraphicsExamplePageFull3}{ImplicitCurveGraphicsExamplePageEmpty3} +\pastebutton{ImplicitCurveGraphicsExamplePageFull3}{\hidepaste} +\tab{5}\spadcommand{p := ((x**2 + y**2 + 1) - 8*x)**2 - (8*(x**2 + y**2 + 1) - 4*x - 1)\bound{p }} +\indentrel{3}\begin{verbatim} + (3) + 4 2 2 4 3 2 + y + (2x - 16x - 6)y + x - 16x + 58x - 12x - 6 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ImplicitCurveGraphicsExamplePageEmpty3} +\begin{paste}{ImplicitCurveGraphicsExamplePageEmpty3}{ImplicitCurveGraphicsExamplePagePatch3} +\pastebutton{ImplicitCurveGraphicsExamplePageEmpty3}{\showpaste} +\tab{5}\spadcommand{p := ((x**2 + y**2 + 1) - 8*x)**2 - (8*(x**2 + y**2 + 1) - 4*x - 1)\bound{p }} +\end{paste}\end{patch} + +\begin{patch}{ImplicitCurveGraphicsExamplePagePatch4} +\begin{paste}{ImplicitCurveGraphicsExamplePageFull4}{ImplicitCurveGraphicsExamplePageEmpty4} +\pastebutton{ImplicitCurveGraphicsExamplePageFull4}{\hidepaste} +\tab{5}\spadgraph{draw(p = 0, x, y, range == [-1..11, -7..7], title == "Cartesian Ovals")\free{p }\bound{example3 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/implicitcurvegraphicsexamplepage4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/implicitcurvegraphicsexamplepage4}} +\end{paste}\end{patch} + +\begin{patch}{ImplicitCurveGraphicsExamplePageEmpty4} +\begin{paste}{ImplicitCurveGraphicsExamplePageEmpty4}{ImplicitCurveGraphicsExamplePagePatch4} +\pastebutton{ImplicitCurveGraphicsExamplePageEmpty4}{\showpaste} +\tab{5}\spadgraph{draw(p = 0, x, y, range == [-1..11, -7..7], title == "Cartesian Ovals")\free{p }\bound{example3 }} +\end{paste}\end{patch} + +\begin{patch}{ImplicitCurveGraphicsExamplePagePatch5} +\begin{paste}{ImplicitCurveGraphicsExamplePageFull5}{ImplicitCurveGraphicsExamplePageEmpty5} +\pastebutton{ImplicitCurveGraphicsExamplePageFull5}{\hidepaste} +\tab{5}\spadcommand{q := (x**2 + y**2 + 7**2)**2 - (6**4 + 4*7**2*x**2)\bound{q }} +\indentrel{3}\begin{verbatim} + 4 2 2 4 2 + (5) y + (2x + 98)y + x - 98x + 1105 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ImplicitCurveGraphicsExamplePageEmpty5} +\begin{paste}{ImplicitCurveGraphicsExamplePageEmpty5}{ImplicitCurveGraphicsExamplePagePatch5} +\pastebutton{ImplicitCurveGraphicsExamplePageEmpty5}{\showpaste} +\tab{5}\spadcommand{q := (x**2 + y**2 + 7**2)**2 - (6**4 + 4*7**2*x**2)\bound{q }} +\end{paste}\end{patch} + +\begin{patch}{ImplicitCurveGraphicsExamplePagePatch6} +\begin{paste}{ImplicitCurveGraphicsExamplePageFull6}{ImplicitCurveGraphicsExamplePageEmpty6} +\pastebutton{ImplicitCurveGraphicsExamplePageFull6}{\hidepaste} +\tab{5}\spadgraph{draw(q = 0, x, y, range == [-10..10, -4..4], title == "Cassinian oval with two loops")\free{q }\bound{example4 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/implicitcurvegraphicsexamplepage6.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/implicitcurvegraphicsexamplepage6}} +\end{paste}\end{patch} + +\begin{patch}{ImplicitCurveGraphicsExamplePageEmpty6} +\begin{paste}{ImplicitCurveGraphicsExamplePageEmpty6}{ImplicitCurveGraphicsExamplePagePatch6} +\pastebutton{ImplicitCurveGraphicsExamplePageEmpty6}{\showpaste} +\tab{5}\spadgraph{draw(q = 0, x, y, range == [-10..10, -4..4], title == "Cassinian oval with two loops")\free{q }\bound{example4 }} +\end{paste}\end{patch} + +\begin{patch}{ImplicitCurveGraphicsExamplePagePatch7} +\begin{paste}{ImplicitCurveGraphicsExamplePageFull7}{ImplicitCurveGraphicsExamplePageEmpty7} +\pastebutton{ImplicitCurveGraphicsExamplePageFull7}{\hidepaste} +\tab{5}\spadcommand{All\free{example1 example2 example3 example4 }} +\indentrel{3}\begin{verbatim} + (7) All + Type: Variable All +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ImplicitCurveGraphicsExamplePageEmpty7} +\begin{paste}{ImplicitCurveGraphicsExamplePageEmpty7}{ImplicitCurveGraphicsExamplePagePatch7} +\pastebutton{ImplicitCurveGraphicsExamplePageEmpty7}{\showpaste} +\tab{5}\spadcommand{All\free{example1 example2 example3 example4 }} +\end{paste}\end{patch} @ \pagehead{ListPointsGraphicsExamplePage}{graphics.ht}{Lists of Points} @@ -10101,7 +25110,419 @@ The \spadfun{makeViewport2D} command takes a list of options as a parameter in this example. The string "Lines" is designated as the viewport's title. \endscroll -\autobuttons \end{page} +\autobuttons +\end{page} + +\begin{patch}{ListPointsGraphicsExamplePagePatch1} +\begin{paste}{ListPointsGraphicsExamplePageFull1}{ListPointsGraphicsExamplePageEmpty1} +\pastebutton{ListPointsGraphicsExamplePageFull1}{\hidepaste} +\tab{5}\spadcommand{p1 := point [1::SF,1::SF]$(Point SF)\bound{p1 }} +\indentrel{3}\begin{verbatim} + (1) [1.0,1.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePageEmpty1} +\begin{paste}{ListPointsGraphicsExamplePageEmpty1}{ListPointsGraphicsExamplePagePatch1} +\pastebutton{ListPointsGraphicsExamplePageEmpty1}{\showpaste} +\tab{5}\spadcommand{p1 := point [1::SF,1::SF]$(Point SF)\bound{p1 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePagePatch2} +\begin{paste}{ListPointsGraphicsExamplePageFull2}{ListPointsGraphicsExamplePageEmpty2} +\pastebutton{ListPointsGraphicsExamplePageFull2}{\hidepaste} +\tab{5}\spadcommand{p2 := point [0::SF,1::SF]$(Point SF)\bound{p2 }} +\indentrel{3}\begin{verbatim} + (2) [0.0,1.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePageEmpty2} +\begin{paste}{ListPointsGraphicsExamplePageEmpty2}{ListPointsGraphicsExamplePagePatch2} +\pastebutton{ListPointsGraphicsExamplePageEmpty2}{\showpaste} +\tab{5}\spadcommand{p2 := point [0::SF,1::SF]$(Point SF)\bound{p2 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePagePatch3} +\begin{paste}{ListPointsGraphicsExamplePageFull3}{ListPointsGraphicsExamplePageEmpty3} +\pastebutton{ListPointsGraphicsExamplePageFull3}{\hidepaste} +\tab{5}\spadcommand{p3 := point [0::SF,0::SF]$(Point SF)\bound{p3 }} +\indentrel{3}\begin{verbatim} + (3) [0.0,0.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePageEmpty3} +\begin{paste}{ListPointsGraphicsExamplePageEmpty3}{ListPointsGraphicsExamplePagePatch3} +\pastebutton{ListPointsGraphicsExamplePageEmpty3}{\showpaste} +\tab{5}\spadcommand{p3 := point [0::SF,0::SF]$(Point SF)\bound{p3 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePagePatch4} +\begin{paste}{ListPointsGraphicsExamplePageFull4}{ListPointsGraphicsExamplePageEmpty4} +\pastebutton{ListPointsGraphicsExamplePageFull4}{\hidepaste} +\tab{5}\spadcommand{p4 := point [1::SF,0::SF]$(Point SF)\bound{p4 }} +\indentrel{3}\begin{verbatim} + (4) [1.0,0.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePageEmpty4} +\begin{paste}{ListPointsGraphicsExamplePageEmpty4}{ListPointsGraphicsExamplePagePatch4} +\pastebutton{ListPointsGraphicsExamplePageEmpty4}{\showpaste} +\tab{5}\spadcommand{p4 := point [1::SF,0::SF]$(Point SF)\bound{p4 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePagePatch5} +\begin{paste}{ListPointsGraphicsExamplePageFull5}{ListPointsGraphicsExamplePageEmpty5} +\pastebutton{ListPointsGraphicsExamplePageFull5}{\hidepaste} +\tab{5}\spadcommand{p5 := point [1::SF,.5::SF]$(Point SF)\bound{p5 }} +\indentrel{3}\begin{verbatim} + (5) [1.0,0.5] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePageEmpty5} +\begin{paste}{ListPointsGraphicsExamplePageEmpty5}{ListPointsGraphicsExamplePagePatch5} +\pastebutton{ListPointsGraphicsExamplePageEmpty5}{\showpaste} +\tab{5}\spadcommand{p5 := point [1::SF,.5::SF]$(Point SF)\bound{p5 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePagePatch6} +\begin{paste}{ListPointsGraphicsExamplePageFull6}{ListPointsGraphicsExamplePageEmpty6} +\pastebutton{ListPointsGraphicsExamplePageFull6}{\hidepaste} +\tab{5}\spadcommand{p6 := point [.5::SF,0::SF]$(Point SF)\bound{p6 }} +\indentrel{3}\begin{verbatim} + (6) [0.5,0.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePageEmpty6} +\begin{paste}{ListPointsGraphicsExamplePageEmpty6}{ListPointsGraphicsExamplePagePatch6} +\pastebutton{ListPointsGraphicsExamplePageEmpty6}{\showpaste} +\tab{5}\spadcommand{p6 := point [.5::SF,0::SF]$(Point SF)\bound{p6 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePagePatch7} +\begin{paste}{ListPointsGraphicsExamplePageFull7}{ListPointsGraphicsExamplePageEmpty7} +\pastebutton{ListPointsGraphicsExamplePageFull7}{\hidepaste} +\tab{5}\spadcommand{p7 := point [0::SF,0.5::SF]$(Point SF)\bound{p7 }} +\indentrel{3}\begin{verbatim} + (7) [0.0,0.5] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePageEmpty7} +\begin{paste}{ListPointsGraphicsExamplePageEmpty7}{ListPointsGraphicsExamplePagePatch7} +\pastebutton{ListPointsGraphicsExamplePageEmpty7}{\showpaste} +\tab{5}\spadcommand{p7 := point [0::SF,0.5::SF]$(Point SF)\bound{p7 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePagePatch8} +\begin{paste}{ListPointsGraphicsExamplePageFull8}{ListPointsGraphicsExamplePageEmpty8} +\pastebutton{ListPointsGraphicsExamplePageFull8}{\hidepaste} +\tab{5}\spadcommand{p8 := point [.5::SF,1::SF]$(Point SF)\bound{p8 }} +\indentrel{3}\begin{verbatim} + (8) [0.5,1.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePageEmpty8} +\begin{paste}{ListPointsGraphicsExamplePageEmpty8}{ListPointsGraphicsExamplePagePatch8} +\pastebutton{ListPointsGraphicsExamplePageEmpty8}{\showpaste} +\tab{5}\spadcommand{p8 := point [.5::SF,1::SF]$(Point SF)\bound{p8 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePagePatch9} +\begin{paste}{ListPointsGraphicsExamplePageFull9}{ListPointsGraphicsExamplePageEmpty9} +\pastebutton{ListPointsGraphicsExamplePageFull9}{\hidepaste} +\tab{5}\spadcommand{p9 := point [.25::SF,.25::SF]$(Point SF)\bound{p9 }} +\indentrel{3}\begin{verbatim} + (9) [0.25,0.25] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePageEmpty9} +\begin{paste}{ListPointsGraphicsExamplePageEmpty9}{ListPointsGraphicsExamplePagePatch9} +\pastebutton{ListPointsGraphicsExamplePageEmpty9}{\showpaste} +\tab{5}\spadcommand{p9 := point [.25::SF,.25::SF]$(Point SF)\bound{p9 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePagePatch10} +\begin{paste}{ListPointsGraphicsExamplePageFull10}{ListPointsGraphicsExamplePageEmpty10} +\pastebutton{ListPointsGraphicsExamplePageFull10}{\hidepaste} +\tab{5}\spadcommand{p10 := point [.25::SF,.75::SF]$(Point SF)\bound{p10 }} +\indentrel{3}\begin{verbatim} + (10) [0.25,0.75] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePageEmpty10} +\begin{paste}{ListPointsGraphicsExamplePageEmpty10}{ListPointsGraphicsExamplePagePatch10} +\pastebutton{ListPointsGraphicsExamplePageEmpty10}{\showpaste} +\tab{5}\spadcommand{p10 := point [.25::SF,.75::SF]$(Point SF)\bound{p10 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePagePatch11} +\begin{paste}{ListPointsGraphicsExamplePageFull11}{ListPointsGraphicsExamplePageEmpty11} +\pastebutton{ListPointsGraphicsExamplePageFull11}{\hidepaste} +\tab{5}\spadcommand{p11 := point [.75::SF,.75::SF]$(Point SF)\bound{p11 }} +\indentrel{3}\begin{verbatim} + (11) [0.75,0.75] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePageEmpty11} +\begin{paste}{ListPointsGraphicsExamplePageEmpty11}{ListPointsGraphicsExamplePagePatch11} +\pastebutton{ListPointsGraphicsExamplePageEmpty11}{\showpaste} +\tab{5}\spadcommand{p11 := point [.75::SF,.75::SF]$(Point SF)\bound{p11 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePagePatch12} +\begin{paste}{ListPointsGraphicsExamplePageFull12}{ListPointsGraphicsExamplePageEmpty12} +\pastebutton{ListPointsGraphicsExamplePageFull12}{\hidepaste} +\tab{5}\spadcommand{p12 := point [.75::SF,.25::SF]$(Point SF)\bound{p12 }} +\indentrel{3}\begin{verbatim} + (12) [0.75,0.25] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePageEmpty12} +\begin{paste}{ListPointsGraphicsExamplePageEmpty12}{ListPointsGraphicsExamplePagePatch12} +\pastebutton{ListPointsGraphicsExamplePageEmpty12}{\showpaste} +\tab{5}\spadcommand{p12 := point [.75::SF,.25::SF]$(Point SF)\bound{p12 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePagePatch13} +\begin{paste}{ListPointsGraphicsExamplePageFull13}{ListPointsGraphicsExamplePageEmpty13} +\pastebutton{ListPointsGraphicsExamplePageFull13}{\hidepaste} +\tab{5}\spadcommand{llp := [[p1,p2],[p2,p3],[p3,p4],[p4,p1],[p5,p6],[p6,p7],[p7,p8],[p8,p5],[p9,p10],[p10,p11],[p11,p12],[p12,p9]]\bound{llp }\free{p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 }} +\indentrel{3}\begin{verbatim} + (13) + [[[1.0,1.0],[0.0,1.0]], [[0.0,1.0],[0.0,0.0]], + [[0.0,0.0],[1.0,0.0]], [[1.0,0.0],[1.0,1.0]], + [[1.0,0.5],[0.5,0.0]], [[0.5,0.0],[0.0,0.5]], + [[0.0,0.5],[0.5,1.0]], [[0.5,1.0],[1.0,0.5]], + [[0.25,0.25],[0.25,0.75]], [[0.25,0.75],[0.75,0.75]], + [[0.75,0.75],[0.75,0.25]], [[0.75,0.25],[0.25,0.25]]] + Type: List List Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePageEmpty13} +\begin{paste}{ListPointsGraphicsExamplePageEmpty13}{ListPointsGraphicsExamplePagePatch13} +\pastebutton{ListPointsGraphicsExamplePageEmpty13}{\showpaste} +\tab{5}\spadcommand{llp := [[p1,p2],[p2,p3],[p3,p4],[p4,p1],[p5,p6],[p6,p7],[p7,p8],[p8,p5],[p9,p10],[p10,p11],[p11,p12],[p12,p9]]\bound{llp }\free{p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePagePatch14} +\begin{paste}{ListPointsGraphicsExamplePageFull14}{ListPointsGraphicsExamplePageEmpty14} +\pastebutton{ListPointsGraphicsExamplePageFull14}{\hidepaste} +\tab{5}\spadcommand{size1 := 6::PositiveInteger\bound{size1 }} +\indentrel{3}\begin{verbatim} + (14) 6 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePageEmpty14} +\begin{paste}{ListPointsGraphicsExamplePageEmpty14}{ListPointsGraphicsExamplePagePatch14} +\pastebutton{ListPointsGraphicsExamplePageEmpty14}{\showpaste} +\tab{5}\spadcommand{size1 := 6::PositiveInteger\bound{size1 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePagePatch15} +\begin{paste}{ListPointsGraphicsExamplePageFull15}{ListPointsGraphicsExamplePageEmpty15} +\pastebutton{ListPointsGraphicsExamplePageFull15}{\hidepaste} +\tab{5}\spadcommand{size2 := 8::PositiveInteger\bound{size2 }} +\indentrel{3}\begin{verbatim} + (15) 8 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePageEmpty15} +\begin{paste}{ListPointsGraphicsExamplePageEmpty15}{ListPointsGraphicsExamplePagePatch15} +\pastebutton{ListPointsGraphicsExamplePageEmpty15}{\showpaste} +\tab{5}\spadcommand{size2 := 8::PositiveInteger\bound{size2 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePagePatch16} +\begin{paste}{ListPointsGraphicsExamplePageFull16}{ListPointsGraphicsExamplePageEmpty16} +\pastebutton{ListPointsGraphicsExamplePageFull16}{\hidepaste} +\tab{5}\spadcommand{size3 := 10::PositiveInteger\bound{size3 }} +\indentrel{3}\begin{verbatim} + (16) 10 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePageEmpty16} +\begin{paste}{ListPointsGraphicsExamplePageEmpty16}{ListPointsGraphicsExamplePagePatch16} +\pastebutton{ListPointsGraphicsExamplePageEmpty16}{\showpaste} +\tab{5}\spadcommand{size3 := 10::PositiveInteger\bound{size3 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePagePatch17} +\begin{paste}{ListPointsGraphicsExamplePageFull17}{ListPointsGraphicsExamplePageEmpty17} +\pastebutton{ListPointsGraphicsExamplePageFull17}{\hidepaste} +\tab{5}\spadcommand{lsize := [size1, size1, size1, size1, size2, size2, size2, size2, size3, size3, size3, size3]\bound{lsize }\free{size1 size2 size3 }} +\indentrel{3}\begin{verbatim} + (17) [6,6,6,6,8,8,8,8,10,10,10,10] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePageEmpty17} +\begin{paste}{ListPointsGraphicsExamplePageEmpty17}{ListPointsGraphicsExamplePagePatch17} +\pastebutton{ListPointsGraphicsExamplePageEmpty17}{\showpaste} +\tab{5}\spadcommand{lsize := [size1, size1, size1, size1, size2, size2, size2, size2, size3, size3, size3, size3]\bound{lsize }\free{size1 size2 size3 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePagePatch18} +\begin{paste}{ListPointsGraphicsExamplePageFull18}{ListPointsGraphicsExamplePageEmpty18} +\pastebutton{ListPointsGraphicsExamplePageFull18}{\hidepaste} +\tab{5}\spadcommand{pc1 := pastel red()\bound{pc1 }} +\indentrel{3}\begin{verbatim} + (18) [Hue: 1 Weight: 1.0] from the Pastel palette + Type: Palette +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePageEmpty18} +\begin{paste}{ListPointsGraphicsExamplePageEmpty18}{ListPointsGraphicsExamplePagePatch18} +\pastebutton{ListPointsGraphicsExamplePageEmpty18}{\showpaste} +\tab{5}\spadcommand{pc1 := pastel red()\bound{pc1 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePagePatch19} +\begin{paste}{ListPointsGraphicsExamplePageFull19}{ListPointsGraphicsExamplePageEmpty19} +\pastebutton{ListPointsGraphicsExamplePageFull19}{\hidepaste} +\tab{5}\spadcommand{pc2 := dim green()\bound{pc2 }} +\indentrel{3}\begin{verbatim} + (19) [Hue: 14 Weight: 1.0] from the Dim palette + Type: Palette +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePageEmpty19} +\begin{paste}{ListPointsGraphicsExamplePageEmpty19}{ListPointsGraphicsExamplePagePatch19} +\pastebutton{ListPointsGraphicsExamplePageEmpty19}{\showpaste} +\tab{5}\spadcommand{pc2 := dim green()\bound{pc2 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePagePatch20} +\begin{paste}{ListPointsGraphicsExamplePageFull20}{ListPointsGraphicsExamplePageEmpty20} +\pastebutton{ListPointsGraphicsExamplePageFull20}{\hidepaste} +\tab{5}\spadcommand{pc3 := pastel yellow()\bound{pc3 }} +\indentrel{3}\begin{verbatim} + (20) [Hue: 11 Weight: 1.0] from the Pastel palette + Type: Palette +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePageEmpty20} +\begin{paste}{ListPointsGraphicsExamplePageEmpty20}{ListPointsGraphicsExamplePagePatch20} +\pastebutton{ListPointsGraphicsExamplePageEmpty20}{\showpaste} +\tab{5}\spadcommand{pc3 := pastel yellow()\bound{pc3 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePagePatch21} +\begin{paste}{ListPointsGraphicsExamplePageFull21}{ListPointsGraphicsExamplePageEmpty21} +\pastebutton{ListPointsGraphicsExamplePageFull21}{\hidepaste} +\tab{5}\spadcommand{lpc := [pc1, pc1, pc1, pc1, pc2, pc2, pc2, pc2, pc3, pc3, pc3, pc3]\bound{lpc }\free{pc1 pc2 pc3 }} +\indentrel{3}\begin{verbatim} + (21) + [[Hue: 1 Weight: 1.0] from the Pastel palette, + [Hue: 1 Weight: 1.0] from the Pastel palette, + [Hue: 1 Weight: 1.0] from the Pastel palette, + [Hue: 1 Weight: 1.0] from the Pastel palette, + [Hue: 14 Weight: 1.0] from the Dim palette, + [Hue: 14 Weight: 1.0] from the Dim palette, + [Hue: 14 Weight: 1.0] from the Dim palette, + [Hue: 14 Weight: 1.0] from the Dim palette, + [Hue: 11 Weight: 1.0] from the Pastel palette, + [Hue: 11 Weight: 1.0] from the Pastel palette, + [Hue: 11 Weight: 1.0] from the Pastel palette, + [Hue: 11 Weight: 1.0] from the Pastel palette] + Type: List Palette +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePageEmpty21} +\begin{paste}{ListPointsGraphicsExamplePageEmpty21}{ListPointsGraphicsExamplePagePatch21} +\pastebutton{ListPointsGraphicsExamplePageEmpty21}{\showpaste} +\tab{5}\spadcommand{lpc := [pc1, pc1, pc1, pc1, pc2, pc2, pc2, pc2, pc3, pc3, pc3, pc3]\bound{lpc }\free{pc1 pc2 pc3 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePagePatch22} +\begin{paste}{ListPointsGraphicsExamplePageFull22}{ListPointsGraphicsExamplePageEmpty22} +\pastebutton{ListPointsGraphicsExamplePageFull22}{\hidepaste} +\tab{5}\spadcommand{lc := [pastel blue(), light yellow(), dim green(), bright red(), light green(), dim yellow(), bright blue(), dark red(), pastel red(), light blue(), dim green(), light yellow()]\bound{lc }} +\indentrel{3}\begin{verbatim} + (22) + [[Hue: 22 Weight: 1.0] from the Pastel palette, + [Hue: 11 Weight: 1.0] from the Light palette, + [Hue: 14 Weight: 1.0] from the Dim palette, + [Hue: 1 Weight: 1.0] from the Bright palette, + [Hue: 14 Weight: 1.0] from the Light palette, + [Hue: 11 Weight: 1.0] from the Dim palette, + [Hue: 22 Weight: 1.0] from the Bright palette, + [Hue: 1 Weight: 1.0] from the Dark palette, + [Hue: 1 Weight: 1.0] from the Pastel palette, + [Hue: 22 Weight: 1.0] from the Light palette, + [Hue: 14 Weight: 1.0] from the Dim palette, + [Hue: 11 Weight: 1.0] from the Light palette] + Type: List Palette +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePageEmpty22} +\begin{paste}{ListPointsGraphicsExamplePageEmpty22}{ListPointsGraphicsExamplePagePatch22} +\pastebutton{ListPointsGraphicsExamplePageEmpty22}{\showpaste} +\tab{5}\spadcommand{lc := [pastel blue(), light yellow(), dim green(), bright red(), light green(), dim yellow(), bright blue(), dark red(), pastel red(), light blue(), dim green(), light yellow()]\bound{lc }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePagePatch23} +\begin{paste}{ListPointsGraphicsExamplePageFull23}{ListPointsGraphicsExamplePageEmpty23} +\pastebutton{ListPointsGraphicsExamplePageFull23}{\hidepaste} +\tab{5}\spadcommand{g := makeGraphImage(llp,lpc,lc,lsize)$GRIMAGE\bound{g }\free{llp lpc lc lsize }} +\indentrel{3}\begin{verbatim} + (23) Graph with 12 point lists + Type: GraphImage +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePageEmpty23} +\begin{paste}{ListPointsGraphicsExamplePageEmpty23}{ListPointsGraphicsExamplePagePatch23} +\pastebutton{ListPointsGraphicsExamplePageEmpty23}{\showpaste} +\tab{5}\spadcommand{g := makeGraphImage(llp,lpc,lc,lsize)$GRIMAGE\bound{g }\free{llp lpc lc lsize }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePagePatch24} +\begin{paste}{ListPointsGraphicsExamplePageFull24}{ListPointsGraphicsExamplePageEmpty24} +\pastebutton{ListPointsGraphicsExamplePageFull24}{\hidepaste} +\tab{5}\spadgraph{makeViewport2D(g,[title("Lines")])$VIEW2D\free{g }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/listpointsgraphicsexamplepage24.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/listpointsgraphicsexamplepage24}} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsExamplePageEmpty24} +\begin{paste}{ListPointsGraphicsExamplePageEmpty24}{ListPointsGraphicsExamplePagePatch24} +\pastebutton{ListPointsGraphicsExamplePageEmpty24}{\showpaste} +\tab{5}\spadgraph{makeViewport2D(g,[title("Lines")])$VIEW2D\free{g }} +\end{paste}\end{patch} @ \pagehead{ThreeDimensionalGraphicsPage}{graphics.ht} @@ -10168,7 +25589,49 @@ which they are defined in the function specification. In this case the first range specifies the x-variable and the second range specifies the y-variable. \endscroll -\autobuttons \end{page} +\autobuttons +\end{page} + +\begin{patch}{TwoVariableGraphicsPagePatch1} +\begin{paste}{TwoVariableGraphicsPageFull1}{TwoVariableGraphicsPageEmpty1} +\pastebutton{TwoVariableGraphicsPageFull1}{\hidepaste} +\tab{5}\spadgraph{draw(cos(x*y),x=-3..3,y=-3..3)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/twovariablegraphicspage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/twovariablegraphicspage1}} +\end{paste}\end{patch} + +\begin{patch}{TwoVariableGraphicsPageEmpty1} +\begin{paste}{TwoVariableGraphicsPageEmpty1}{TwoVariableGraphicsPagePatch1} +\pastebutton{TwoVariableGraphicsPageEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(cos(x*y),x=-3..3,y=-3..3)} +\end{paste}\end{patch} + +\begin{patch}{TwoVariableGraphicsPagePatch2} +\begin{paste}{TwoVariableGraphicsPageFull2}{TwoVariableGraphicsPageEmpty2} +\pastebutton{TwoVariableGraphicsPageFull2}{\hidepaste} +\tab{5}\spadcommand{f(x:SF,y:SF):SF == sin(x)*cos(y)\bound{f }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TwoVariableGraphicsPageEmpty2} +\begin{paste}{TwoVariableGraphicsPageEmpty2}{TwoVariableGraphicsPagePatch2} +\pastebutton{TwoVariableGraphicsPageEmpty2}{\showpaste} +\tab{5}\spadcommand{f(x:SF,y:SF):SF == sin(x)*cos(y)\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{TwoVariableGraphicsPagePatch3} +\begin{paste}{TwoVariableGraphicsPageFull3}{TwoVariableGraphicsPageEmpty3} +\pastebutton{TwoVariableGraphicsPageFull3}{\hidepaste} +\tab{5}\spadgraph{draw(f,-\%pi..\%pi,-\%pi..\%pi)\free{f }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/twovariablegraphicspage3.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/twovariablegraphicspage3}} +\end{paste}\end{patch} + +\begin{patch}{TwoVariableGraphicsPageEmpty3} +\begin{paste}{TwoVariableGraphicsPageEmpty3}{TwoVariableGraphicsPagePatch3} +\pastebutton{TwoVariableGraphicsPageEmpty3}{\showpaste} +\tab{5}\spadgraph{draw(f,-\%pi..\%pi,-\%pi..\%pi)\free{f }} +\end{paste}\end{patch} @ \pagehead{SpaceCurveGraphicsPage}{graphics.ht}{Parametric Space Curves} @@ -10209,7 +25672,79 @@ Note that the parameter range does not take the variable name as in the case of uncompiled functions. It is understood that the indicated range applies to the parameter of the functions, which in this case is t. \endscroll -\autobuttons \end{page} +\autobuttons +\end{page} + +\begin{patch}{SpaceCurveGraphicsPagePatch1} +\begin{paste}{SpaceCurveGraphicsPageFull1}{SpaceCurveGraphicsPageEmpty1} +\pastebutton{SpaceCurveGraphicsPageFull1}{\hidepaste} +\tab{5}\spadgraph{draw(curve(cos(t),sin(t),t), t=-12..12)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/spacecurvegraphicspage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/spacecurvegraphicspage1}} +\end{paste}\end{patch} + +\begin{patch}{SpaceCurveGraphicsPageEmpty1} +\begin{paste}{SpaceCurveGraphicsPageEmpty1}{SpaceCurveGraphicsPagePatch1} +\pastebutton{SpaceCurveGraphicsPageEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(curve(cos(t),sin(t),t), t=-12..12)} +\end{paste}\end{patch} + +\begin{patch}{SpaceCurveGraphicsPagePatch2} +\begin{paste}{SpaceCurveGraphicsPageFull2}{SpaceCurveGraphicsPageEmpty2} +\pastebutton{SpaceCurveGraphicsPageFull2}{\hidepaste} +\tab{5}\spadcommand{i1(t:SF):SF == sin(t)*cos(3*t/5)\bound{i1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SpaceCurveGraphicsPageEmpty2} +\begin{paste}{SpaceCurveGraphicsPageEmpty2}{SpaceCurveGraphicsPagePatch2} +\pastebutton{SpaceCurveGraphicsPageEmpty2}{\showpaste} +\tab{5}\spadcommand{i1(t:SF):SF == sin(t)*cos(3*t/5)\bound{i1 }} +\end{paste}\end{patch} + +\begin{patch}{SpaceCurveGraphicsPagePatch3} +\begin{paste}{SpaceCurveGraphicsPageFull3}{SpaceCurveGraphicsPageEmpty3} +\pastebutton{SpaceCurveGraphicsPageFull3}{\hidepaste} +\tab{5}\spadcommand{i2(t:SF):SF == cos(t)*cos(3*t/5)\bound{i2 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SpaceCurveGraphicsPageEmpty3} +\begin{paste}{SpaceCurveGraphicsPageEmpty3}{SpaceCurveGraphicsPagePatch3} +\pastebutton{SpaceCurveGraphicsPageEmpty3}{\showpaste} +\tab{5}\spadcommand{i2(t:SF):SF == cos(t)*cos(3*t/5)\bound{i2 }} +\end{paste}\end{patch} + +\begin{patch}{SpaceCurveGraphicsPagePatch4} +\begin{paste}{SpaceCurveGraphicsPageFull4}{SpaceCurveGraphicsPageEmpty4} +\pastebutton{SpaceCurveGraphicsPageFull4}{\hidepaste} +\tab{5}\spadcommand{i3(t:SF):SF == cos(t)*sin(3*t/5)\bound{i3 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SpaceCurveGraphicsPageEmpty4} +\begin{paste}{SpaceCurveGraphicsPageEmpty4}{SpaceCurveGraphicsPagePatch4} +\pastebutton{SpaceCurveGraphicsPageEmpty4}{\showpaste} +\tab{5}\spadcommand{i3(t:SF):SF == cos(t)*sin(3*t/5)\bound{i3 }} +\end{paste}\end{patch} + +\begin{patch}{SpaceCurveGraphicsPagePatch5} +\begin{paste}{SpaceCurveGraphicsPageFull5}{SpaceCurveGraphicsPageEmpty5} +\pastebutton{SpaceCurveGraphicsPageFull5}{\hidepaste} +\tab{5}\spadgraph{draw(curve(i1,i2,i3),0..15*\%pi)\free{i1 i2 i3 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/spacecurvegraphicspage5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/spacecurvegraphicspage5}} +\end{paste}\end{patch} + +\begin{patch}{SpaceCurveGraphicsPageEmpty5} +\begin{paste}{SpaceCurveGraphicsPageEmpty5}{SpaceCurveGraphicsPagePatch5} +\pastebutton{SpaceCurveGraphicsPageEmpty5}{\showpaste} +\tab{5}\spadgraph{draw(curve(i1,i2,i3),0..15*\%pi)\free{i1 i2 i3 }} +\end{paste}\end{patch} @ \pagehead{ParametricTubeGraphicsPage}{graphics.ht}{Parametric Tube Plots} @@ -10263,7 +25798,79 @@ t. Typically, the radius of the tube should be set between 0 and 1. A radius of less than 0 results in it's positive counterpart and a radius of greater than one causes self intersection. \endscroll -\autobuttons \end{page} +\autobuttons +\end{page} + +\begin{patch}{ParametricTubeGraphicsPagePatch1} +\begin{paste}{ParametricTubeGraphicsPageFull1}{ParametricTubeGraphicsPageEmpty1} +\pastebutton{ParametricTubeGraphicsPageFull1}{\hidepaste} +\tab{5}\spadgraph{draw(curve(sin(t)*cos(3*t/5), cos(t)*cos(3*t/5), cos(t)*sin(3*t/5)), t=0..15*\%pi,tubeRadius == .15)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/parametrictubegraphicspage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/parametrictubegraphicspage1}} +\end{paste}\end{patch} + +\begin{patch}{ParametricTubeGraphicsPageEmpty1} +\begin{paste}{ParametricTubeGraphicsPageEmpty1}{ParametricTubeGraphicsPagePatch1} +\pastebutton{ParametricTubeGraphicsPageEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(curve(sin(t)*cos(3*t/5), cos(t)*cos(3*t/5), cos(t)*sin(3*t/5)), t=0..15*\%pi,tubeRadius == .15)} +\end{paste}\end{patch} + +\begin{patch}{ParametricTubeGraphicsPagePatch2} +\begin{paste}{ParametricTubeGraphicsPageFull2}{ParametricTubeGraphicsPageEmpty2} +\pastebutton{ParametricTubeGraphicsPageFull2}{\hidepaste} +\tab{5}\spadcommand{t1(t:SF):SF == 4/(2-sin(3*t))*cos(2*t)\bound{t1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ParametricTubeGraphicsPageEmpty2} +\begin{paste}{ParametricTubeGraphicsPageEmpty2}{ParametricTubeGraphicsPagePatch2} +\pastebutton{ParametricTubeGraphicsPageEmpty2}{\showpaste} +\tab{5}\spadcommand{t1(t:SF):SF == 4/(2-sin(3*t))*cos(2*t)\bound{t1 }} +\end{paste}\end{patch} + +\begin{patch}{ParametricTubeGraphicsPagePatch3} +\begin{paste}{ParametricTubeGraphicsPageFull3}{ParametricTubeGraphicsPageEmpty3} +\pastebutton{ParametricTubeGraphicsPageFull3}{\hidepaste} +\tab{5}\spadcommand{t2(t:SF):SF == 4/(2-sin(3*t))*sin(2*t)\bound{t2 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ParametricTubeGraphicsPageEmpty3} +\begin{paste}{ParametricTubeGraphicsPageEmpty3}{ParametricTubeGraphicsPagePatch3} +\pastebutton{ParametricTubeGraphicsPageEmpty3}{\showpaste} +\tab{5}\spadcommand{t2(t:SF):SF == 4/(2-sin(3*t))*sin(2*t)\bound{t2 }} +\end{paste}\end{patch} + +\begin{patch}{ParametricTubeGraphicsPagePatch4} +\begin{paste}{ParametricTubeGraphicsPageFull4}{ParametricTubeGraphicsPageEmpty4} +\pastebutton{ParametricTubeGraphicsPageFull4}{\hidepaste} +\tab{5}\spadcommand{t3(t:SF):SF == 4/(2-sin(3*t))*cos(3*t)\bound{t3 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ParametricTubeGraphicsPageEmpty4} +\begin{paste}{ParametricTubeGraphicsPageEmpty4}{ParametricTubeGraphicsPagePatch4} +\pastebutton{ParametricTubeGraphicsPageEmpty4}{\showpaste} +\tab{5}\spadcommand{t3(t:SF):SF == 4/(2-sin(3*t))*cos(3*t)\bound{t3 }} +\end{paste}\end{patch} + +\begin{patch}{ParametricTubeGraphicsPagePatch5} +\begin{paste}{ParametricTubeGraphicsPageFull5}{ParametricTubeGraphicsPageEmpty5} +\pastebutton{ParametricTubeGraphicsPageFull5}{\hidepaste} +\tab{5}\spadgraph{draw(curve(t1,t2,t3),0..2*\%pi,tubeRadius == .2)\free{t1 t2 t3 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/parametrictubegraphicspage5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/parametrictubegraphicspage5}} +\end{paste}\end{patch} + +\begin{patch}{ParametricTubeGraphicsPageEmpty5} +\begin{paste}{ParametricTubeGraphicsPageEmpty5}{ParametricTubeGraphicsPagePatch5} +\pastebutton{ParametricTubeGraphicsPageEmpty5}{\showpaste} +\tab{5}\spadgraph{draw(curve(t1,t2,t3),0..2*\%pi,tubeRadius == .2)\free{t1 t2 t3 }} +\end{paste}\end{patch} @ \pagehead{ParametricSurfaceGraphicsPage}{graphics.ht}{Parametric Surfaces} @@ -10314,7 +25921,79 @@ order in which they are defined in the function specification. In this case the first range specifies the u-variable and the second range specifies the v-variable. \endscroll -\autobuttons \end{page} +\autobuttons +\end{page} + +\begin{patch}{ParametricSurfaceGraphicsPagePatch1} +\begin{paste}{ParametricSurfaceGraphicsPageFull1}{ParametricSurfaceGraphicsPageEmpty1} +\pastebutton{ParametricSurfaceGraphicsPageFull1}{\hidepaste} +\tab{5}\spadgraph{draw(surface(u*cos(v), u*sin(v),v*cos(u)),u=-4..4,v=0..2*\%pi, coordinates== parabolicCylindrical)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/parametricsurfacegraphicspage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/parametricsurfacegraphicspage1}} +\end{paste}\end{patch} + +\begin{patch}{ParametricSurfaceGraphicsPageEmpty1} +\begin{paste}{ParametricSurfaceGraphicsPageEmpty1}{ParametricSurfaceGraphicsPagePatch1} +\pastebutton{ParametricSurfaceGraphicsPageEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(surface(u*cos(v), u*sin(v),v*cos(u)),u=-4..4,v=0..2*\%pi, coordinates== parabolicCylindrical)} +\end{paste}\end{patch} + +\begin{patch}{ParametricSurfaceGraphicsPagePatch2} +\begin{paste}{ParametricSurfaceGraphicsPageFull2}{ParametricSurfaceGraphicsPageEmpty2} +\pastebutton{ParametricSurfaceGraphicsPageFull2}{\hidepaste} +\tab{5}\spadcommand{n1(u:SF,v:SF):SF == u*cos(v)\bound{n1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ParametricSurfaceGraphicsPageEmpty2} +\begin{paste}{ParametricSurfaceGraphicsPageEmpty2}{ParametricSurfaceGraphicsPagePatch2} +\pastebutton{ParametricSurfaceGraphicsPageEmpty2}{\showpaste} +\tab{5}\spadcommand{n1(u:SF,v:SF):SF == u*cos(v)\bound{n1 }} +\end{paste}\end{patch} + +\begin{patch}{ParametricSurfaceGraphicsPagePatch3} +\begin{paste}{ParametricSurfaceGraphicsPageFull3}{ParametricSurfaceGraphicsPageEmpty3} +\pastebutton{ParametricSurfaceGraphicsPageFull3}{\hidepaste} +\tab{5}\spadcommand{n2(u:SF,v:SF):SF == u*sin(v)\bound{n2 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ParametricSurfaceGraphicsPageEmpty3} +\begin{paste}{ParametricSurfaceGraphicsPageEmpty3}{ParametricSurfaceGraphicsPagePatch3} +\pastebutton{ParametricSurfaceGraphicsPageEmpty3}{\showpaste} +\tab{5}\spadcommand{n2(u:SF,v:SF):SF == u*sin(v)\bound{n2 }} +\end{paste}\end{patch} + +\begin{patch}{ParametricSurfaceGraphicsPagePatch4} +\begin{paste}{ParametricSurfaceGraphicsPageFull4}{ParametricSurfaceGraphicsPageEmpty4} +\pastebutton{ParametricSurfaceGraphicsPageFull4}{\hidepaste} +\tab{5}\spadcommand{n3(u:SF,v:SF):SF == u\bound{n3 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ParametricSurfaceGraphicsPageEmpty4} +\begin{paste}{ParametricSurfaceGraphicsPageEmpty4}{ParametricSurfaceGraphicsPagePatch4} +\pastebutton{ParametricSurfaceGraphicsPageEmpty4}{\showpaste} +\tab{5}\spadcommand{n3(u:SF,v:SF):SF == u\bound{n3 }} +\end{paste}\end{patch} + +\begin{patch}{ParametricSurfaceGraphicsPagePatch5} +\begin{paste}{ParametricSurfaceGraphicsPageFull5}{ParametricSurfaceGraphicsPageEmpty5} +\pastebutton{ParametricSurfaceGraphicsPageFull5}{\hidepaste} +\tab{5}\spadgraph{draw(surface(n1,n2,n3), 1.0..4.0, 1.0..4*\%pi, coordinates == toroidal(1$SF))\free{n1 n2 n3 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/parametricsurfacegraphicspage5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/parametricsurfacegraphicspage5}} +\end{paste}\end{patch} + +\begin{patch}{ParametricSurfaceGraphicsPageEmpty5} +\begin{paste}{ParametricSurfaceGraphicsPageEmpty5}{ParametricSurfaceGraphicsPagePatch5} +\pastebutton{ParametricSurfaceGraphicsPageEmpty5}{\showpaste} +\tab{5}\spadgraph{draw(surface(n1,n2,n3), 1.0..4.0, 1.0..4*\%pi, coordinates == toroidal(1$SF))\free{n1 n2 n3 }} +\end{paste}\end{patch} @ \pagehead{3DObjectGraphicsPage}{graphics.ht}{Building 3D Objects} @@ -10375,7 +26054,149 @@ The tailing string {\em \$VIEW3D} exposes the command \spadfun{makeViewport3D()} from the domain \spadtype{ThreeDimensionalViewport} if these commands are unexposed. \endscroll -\autobuttons \end{page} +\autobuttons +\end{page} + +\begin{patch}{3DObjectGraphicsPagePatch1} +\begin{paste}{3DObjectGraphicsPageFull1}{3DObjectGraphicsPageEmpty1} +\pastebutton{3DObjectGraphicsPageFull1}{\hidepaste} +\tab{5}\spadcommand{space := create3Space()$(ThreeSpace SF)\bound{space }} +\indentrel{3}\begin{verbatim} + (1) 3-Space with 0 components + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{3DObjectGraphicsPageEmpty1} +\begin{paste}{3DObjectGraphicsPageEmpty1}{3DObjectGraphicsPagePatch1} +\pastebutton{3DObjectGraphicsPageEmpty1}{\showpaste} +\tab{5}\spadcommand{space := create3Space()$(ThreeSpace SF)\bound{space }} +\end{paste}\end{patch} + +\begin{patch}{3DObjectGraphicsPagePatch2} +\begin{paste}{3DObjectGraphicsPageFull2}{3DObjectGraphicsPageEmpty2} +\pastebutton{3DObjectGraphicsPageFull2}{\hidepaste} +\tab{5}\spadcommand{curve(space,[[0,20,20],[0,20,30],[0,30,30],[0,30,100], [0,20,100],[0,20,110],[0,50,110],[0,50,100],[0,40,100], [0,40,30],[0,50,30],[0,50,20],[0,20,20]])\bound{curveI }} +\indentrel{3}\begin{verbatim} + (2) 3-Space with 1 component + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{3DObjectGraphicsPageEmpty2} +\begin{paste}{3DObjectGraphicsPageEmpty2}{3DObjectGraphicsPagePatch2} +\pastebutton{3DObjectGraphicsPageEmpty2}{\showpaste} +\tab{5}\spadcommand{curve(space,[[0,20,20],[0,20,30],[0,30,30],[0,30,100], [0,20,100],[0,20,110],[0,50,110],[0,50,100],[0,40,100], [0,40,30],[0,50,30],[0,50,20],[0,20,20]])\bound{curveI }} +\end{paste}\end{patch} + +\begin{patch}{3DObjectGraphicsPagePatch3} +\begin{paste}{3DObjectGraphicsPageFull3}{3DObjectGraphicsPageEmpty3} +\pastebutton{3DObjectGraphicsPageFull3}{\hidepaste} +\tab{5}\spadcommand{curve(space,[[0,80,20],[0,70,20],[0,70,110],[0,110,110], [0,120,100],[0,120,70],[0,115,65],[0,120,60],[0,120,30], [0,110,20],[0,80,20],[0,80,30],[0,105,30],[0,110,35]])\bound{curveB1 }} +\indentrel{3}\begin{verbatim} + (3) 3-Space with 2 components + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{3DObjectGraphicsPageEmpty3} +\begin{paste}{3DObjectGraphicsPageEmpty3}{3DObjectGraphicsPagePatch3} +\pastebutton{3DObjectGraphicsPageEmpty3}{\showpaste} +\tab{5}\spadcommand{curve(space,[[0,80,20],[0,70,20],[0,70,110],[0,110,110], [0,120,100],[0,120,70],[0,115,65],[0,120,60],[0,120,30], [0,110,20],[0,80,20],[0,80,30],[0,105,30],[0,110,35]])\bound{curveB1 }} +\end{paste}\end{patch} + +\begin{patch}{3DObjectGraphicsPagePatch4} +\begin{paste}{3DObjectGraphicsPageFull4}{3DObjectGraphicsPageEmpty4} +\pastebutton{3DObjectGraphicsPageFull4}{\hidepaste} +\tab{5}\spadcommand{curve(space,[[0,110,35],[0,110,55],[0,105,60],[0,80,60],[0,80,70], [0,105,70],[0,110,75],[0,110,95],[0,105,100],[0,80,100], [0,80,30]])\bound{curveB2 }} +\indentrel{3}\begin{verbatim} + (4) 3-Space with 3 components + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{3DObjectGraphicsPageEmpty4} +\begin{paste}{3DObjectGraphicsPageEmpty4}{3DObjectGraphicsPagePatch4} +\pastebutton{3DObjectGraphicsPageEmpty4}{\showpaste} +\tab{5}\spadcommand{curve(space,[[0,110,35],[0,110,55],[0,105,60],[0,80,60],[0,80,70], [0,105,70],[0,110,75],[0,110,95],[0,105,100],[0,80,100], [0,80,30]])\bound{curveB2 }} +\end{paste}\end{patch} + +\begin{patch}{3DObjectGraphicsPagePatch5} +\begin{paste}{3DObjectGraphicsPageFull5}{3DObjectGraphicsPageEmpty5} +\pastebutton{3DObjectGraphicsPageFull5}{\hidepaste} +\tab{5}\spadcommand{closedCurve(space,[[0,140,20],[0,140,110],[0,150,110],[0,170,50], [0,190,110],[0,200,110],[0,200,20],[0,190,20],[0,190,75], [0,175,35],[0,165,35],[0,150,75],[0,150,20]])\bound{curveM }} +\indentrel{3}\begin{verbatim} + (5) 3-Space with 4 components + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{3DObjectGraphicsPageEmpty5} +\begin{paste}{3DObjectGraphicsPageEmpty5}{3DObjectGraphicsPagePatch5} +\pastebutton{3DObjectGraphicsPageEmpty5}{\showpaste} +\tab{5}\spadcommand{closedCurve(space,[[0,140,20],[0,140,110],[0,150,110],[0,170,50], [0,190,110],[0,200,110],[0,200,20],[0,190,20],[0,190,75], [0,175,35],[0,165,35],[0,150,75],[0,150,20]])\bound{curveM }} +\end{paste}\end{patch} + +\begin{patch}{3DObjectGraphicsPagePatch6} +\begin{paste}{3DObjectGraphicsPageFull6}{3DObjectGraphicsPageEmpty6} +\pastebutton{3DObjectGraphicsPageFull6}{\hidepaste} +\tab{5}\spadcommand{closedCurve(space,[[200,0,20], [200,0,110], [185,0,110], [160,0,45], [160,0,110], [150,0,110], [150,0,20], [165,0,20], [190,0,85], [190,0,20]])\bound{curveN }} +\indentrel{3}\begin{verbatim} + (6) 3-Space with 5 components + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{3DObjectGraphicsPageEmpty6} +\begin{paste}{3DObjectGraphicsPageEmpty6}{3DObjectGraphicsPagePatch6} +\pastebutton{3DObjectGraphicsPageEmpty6}{\showpaste} +\tab{5}\spadcommand{closedCurve(space,[[200,0,20], [200,0,110], [185,0,110], [160,0,45], [160,0,110], [150,0,110], [150,0,20], [165,0,20], [190,0,85], [190,0,20]])\bound{curveN }} +\end{paste}\end{patch} + +\begin{patch}{3DObjectGraphicsPagePatch7} +\begin{paste}{3DObjectGraphicsPageFull7}{3DObjectGraphicsPageEmpty7} +\pastebutton{3DObjectGraphicsPageFull7}{\hidepaste} +\tab{5}\spadcommand{closedCurve(space,[[140,0,20], [120,0,110], [110,0,110], [90,0,20], [100,0,20], [108,0,50], [123,0,50], [121,0,60], [110,0,60], [115,0,90], [130,0,20]])\bound{curveA }} +\indentrel{3}\begin{verbatim} + (7) 3-Space with 6 components + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{3DObjectGraphicsPageEmpty7} +\begin{paste}{3DObjectGraphicsPageEmpty7}{3DObjectGraphicsPagePatch7} +\pastebutton{3DObjectGraphicsPageEmpty7}{\showpaste} +\tab{5}\spadcommand{closedCurve(space,[[140,0,20], [120,0,110], [110,0,110], [90,0,20], [100,0,20], [108,0,50], [123,0,50], [121,0,60], [110,0,60], [115,0,90], [130,0,20]])\bound{curveA }} +\end{paste}\end{patch} + +\begin{patch}{3DObjectGraphicsPagePatch8} +\begin{paste}{3DObjectGraphicsPageFull8}{3DObjectGraphicsPageEmpty8} +\pastebutton{3DObjectGraphicsPageFull8}{\hidepaste} +\tab{5}\spadcommand{closedCurve(space,[[80,0,30], [80,0,100], [70,0,110], [40,0,110], [30,0,100], [30,0,90], [40,0,90], [40,0,95], [45,0,100], [65,0,100], [70,0,95], [70,0,35], [65,0,30], [45,0,30], [40,0,35], [40,0,60], [50,0,60], [50,0,70], [30,0,70], [30,0,30], [40,0,20], [70,0,20]])\bound{curveG }} +\indentrel{3}\begin{verbatim} + (8) 3-Space with 7 components + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{3DObjectGraphicsPageEmpty8} +\begin{paste}{3DObjectGraphicsPageEmpty8}{3DObjectGraphicsPagePatch8} +\pastebutton{3DObjectGraphicsPageEmpty8}{\showpaste} +\tab{5}\spadcommand{closedCurve(space,[[80,0,30], [80,0,100], [70,0,110], [40,0,110], [30,0,100], [30,0,90], [40,0,90], [40,0,95], [45,0,100], [65,0,100], [70,0,95], [70,0,35], [65,0,30], [45,0,30], [40,0,35], [40,0,60], [50,0,60], [50,0,70], [30,0,70], [30,0,30], [40,0,20], [70,0,20]])\bound{curveG }} +\end{paste}\end{patch} + +\begin{patch}{3DObjectGraphicsPagePatch9} +\begin{paste}{3DObjectGraphicsPageFull9}{3DObjectGraphicsPageEmpty9} +\pastebutton{3DObjectGraphicsPageFull9}{\hidepaste} +\tab{5}\spadgraph{makeViewport3D(space,[title("Curves")])$VIEW3D\free{space curveI curveB1 curveB2 curveM curveN curveA curveG }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/3dobjectgraphicspage9.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/3dobjectgraphicspage9}} +\end{paste}\end{patch} + +\begin{patch}{3DObjectGraphicsPageEmpty9} +\begin{paste}{3DObjectGraphicsPageEmpty9}{3DObjectGraphicsPagePatch9} +\pastebutton{3DObjectGraphicsPageEmpty9}{\showpaste} +\tab{5}\spadgraph{makeViewport3D(space,[title("Curves")])$VIEW3D\free{space curveI curveB1 curveB2 curveM curveN curveA curveG }} +\end{paste}\end{patch} @ \pagehead{TwoDimensionalGraphicsPage}{graphics.ht} @@ -10442,7 +26263,75 @@ Notice that our titles can be whatever we want, as long as they are enclosed by double quotes. However, a title which is too long to fit within the viewport title window will be clipped. \endscroll -\autobuttons \end{page} +\autobuttons +\end{page} + +\begin{patch}{OneVariableGraphicsPagePatch1} +\begin{paste}{OneVariableGraphicsPageFull1}{OneVariableGraphicsPageEmpty1} +\pastebutton{OneVariableGraphicsPageFull1}{\hidepaste} +\tab{5}\spadgraph{draw(sin(tan(x)) - tan(sin(x)),x = 0..6)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/onevariablegraphicspage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/onevariablegraphicspage1}} +\end{paste}\end{patch} + +\begin{patch}{OneVariableGraphicsPageEmpty1} +\begin{paste}{OneVariableGraphicsPageEmpty1}{OneVariableGraphicsPagePatch1} +\pastebutton{OneVariableGraphicsPageEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(sin(tan(x)) - tan(sin(x)),x = 0..6)} +\end{paste}\end{patch} + +\begin{patch}{OneVariableGraphicsPagePatch2} +\begin{paste}{OneVariableGraphicsPageFull2}{OneVariableGraphicsPageEmpty2} +\pastebutton{OneVariableGraphicsPageFull2}{\hidepaste} +\tab{5}\spadgraph{draw(sin(tan(x)) - tan(sin(x)),x = 10..16,title == "y = sin tan x - tan sin x")} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/onevariablegraphicspage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/onevariablegraphicspage2}} +\end{paste}\end{patch} + +\begin{patch}{OneVariableGraphicsPageEmpty2} +\begin{paste}{OneVariableGraphicsPageEmpty2}{OneVariableGraphicsPagePatch2} +\pastebutton{OneVariableGraphicsPageEmpty2}{\showpaste} +\tab{5}\spadgraph{draw(sin(tan(x)) - tan(sin(x)),x = 10..16,title == "y = sin tan x - tan sin x")} +\end{paste}\end{patch} + +\begin{patch}{OneVariableGraphicsPagePatch3} +\begin{paste}{OneVariableGraphicsPageFull3}{OneVariableGraphicsPageEmpty3} +\pastebutton{OneVariableGraphicsPageFull3}{\hidepaste} +\tab{5}\spadcommand{f(x) == (x-1)*(x-2)*(x-3)\bound{f }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OneVariableGraphicsPageEmpty3} +\begin{paste}{OneVariableGraphicsPageEmpty3}{OneVariableGraphicsPagePatch3} +\pastebutton{OneVariableGraphicsPageEmpty3}{\showpaste} +\tab{5}\spadcommand{f(x) == (x-1)*(x-2)*(x-3)\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{OneVariableGraphicsPagePatch4} +\begin{paste}{OneVariableGraphicsPageFull4}{OneVariableGraphicsPageEmpty4} +\pastebutton{OneVariableGraphicsPageFull4}{\hidepaste} +\tab{5}\spadgraph{draw(f, 0..2, title == "y = f(x) on [0,2]")\free{f }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/OneVariableGraphicsPage4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/OneVariableGraphicsPage4}} +\end{paste}\end{patch} + +\begin{patch}{OneVariableGraphicsPageEmpty4} +\begin{paste}{OneVariableGraphicsPageEmpty4}{OneVariableGraphicsPagePatch4} +\pastebutton{OneVariableGraphicsPageEmpty4}{\showpaste} +\tab{5}\spadgraph{draw(f, 0..2, title == "y = f(x) on [0,2]")\free{f }} +\end{paste}\end{patch} + +\begin{patch}{OneVariableGraphicsPagePatch5} +\begin{paste}{OneVariableGraphicsPageFull5}{OneVariableGraphicsPageEmpty5} +\pastebutton{OneVariableGraphicsPageFull5}{\hidepaste} +\tab{5}\spadgraph{draw(f, 0..4,title == "y = f(x) on [0,4]")\free{f }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/OneVariableGraphicsPage5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/OneVariableGraphicsPage5}} +\end{paste}\end{patch} + +\begin{patch}{OneVariableGraphicsPageEmpty5} +\begin{paste}{OneVariableGraphicsPageEmpty5}{OneVariableGraphicsPagePatch5} +\pastebutton{OneVariableGraphicsPageEmpty5}{\showpaste} +\tab{5}\spadgraph{draw(f, 0..4,title == "y = f(x) on [0,4]")\free{f }} +\end{paste}\end{patch} @ \pagehead{ParametricCurveGraphicsPage}{graphics.ht}{Parametric Curves} @@ -10480,7 +26369,103 @@ example: These examples show how the curve changes as the range of parameter t varies. \endscroll -\autobuttons \end{page} +\autobuttons +\end{page} + +\begin{patch}{ParametricCurveGraphicsPagePatch1} +\begin{paste}{ParametricCurveGraphicsPageFull1}{ParametricCurveGraphicsPageEmpty1} +\pastebutton{ParametricCurveGraphicsPageFull1}{\hidepaste} +\tab{5}\spadgraph{draw(curve(sin(t)*sin(2*t)*sin(3*t), sin(4*t)*sin(5*t)*sin(6*t)), t = 0..2*\%pi)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/parametriccurvegraphicspage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/parametriccurvegraphicspage1}} +\end{paste}\end{patch} + +\begin{patch}{ParametricCurveGraphicsPageEmpty1} +\begin{paste}{ParametricCurveGraphicsPageEmpty1}{ParametricCurveGraphicsPagePatch1} +\pastebutton{ParametricCurveGraphicsPageEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(curve(sin(t)*sin(2*t)*sin(3*t), sin(4*t)*sin(5*t)*sin(6*t)), t = 0..2*\%pi)} +\end{paste}\end{patch} + +\begin{patch}{ParametricCurveGraphicsPagePatch2} +\begin{paste}{ParametricCurveGraphicsPageFull2}{ParametricCurveGraphicsPageEmpty2} +\pastebutton{ParametricCurveGraphicsPageFull2}{\hidepaste} +\tab{5}\spadgraph{draw(curve(cos(t), sin(t)), t = 0..2*\%pi, title == "The Unit Circle")} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/parametriccurvegraphicspage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/parametriccurvegraphicspage2}} +\end{paste}\end{patch} + +\begin{patch}{ParametricCurveGraphicsPageEmpty2} +\begin{paste}{ParametricCurveGraphicsPageEmpty2}{ParametricCurveGraphicsPagePatch2} +\pastebutton{ParametricCurveGraphicsPageEmpty2}{\showpaste} +\tab{5}\spadgraph{draw(curve(cos(t), sin(t)), t = 0..2*\%pi, title == "The Unit Circle")} +\end{paste}\end{patch} + +\begin{patch}{ParametricCurveGraphicsPagePatch3} +\begin{paste}{ParametricCurveGraphicsPageFull3}{ParametricCurveGraphicsPageEmpty3} +\pastebutton{ParametricCurveGraphicsPageFull3}{\hidepaste} +\tab{5}\spadcommand{f(t:SF):SF == sin(3*t/4)\bound{f }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ParametricCurveGraphicsPageEmpty3} +\begin{paste}{ParametricCurveGraphicsPageEmpty3}{ParametricCurveGraphicsPagePatch3} +\pastebutton{ParametricCurveGraphicsPageEmpty3}{\showpaste} +\tab{5}\spadcommand{f(t:SF):SF == sin(3*t/4)\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{ParametricCurveGraphicsPagePatch4} +\begin{paste}{ParametricCurveGraphicsPageFull4}{ParametricCurveGraphicsPageEmpty4} +\pastebutton{ParametricCurveGraphicsPageFull4}{\hidepaste} +\tab{5}\spadcommand{g(t:SF):SF == sin(t)\bound{g }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ParametricCurveGraphicsPageEmpty4} +\begin{paste}{ParametricCurveGraphicsPageEmpty4}{ParametricCurveGraphicsPagePatch4} +\pastebutton{ParametricCurveGraphicsPageEmpty4}{\showpaste} +\tab{5}\spadcommand{g(t:SF):SF == sin(t)\bound{g }} +\end{paste}\end{patch} + +\begin{patch}{ParametricCurveGraphicsPagePatch5} +\begin{paste}{ParametricCurveGraphicsPageFull5}{ParametricCurveGraphicsPageEmpty5} +\pastebutton{ParametricCurveGraphicsPageFull5}{\hidepaste} +\tab{5}\spadgraph{draw(curve(f,g), 0..\%pi)\free{f g }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/parametriccurvegraphicspage5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/parametriccurvegraphicspage5}} +\end{paste}\end{patch} + +\begin{patch}{ParametricCurveGraphicsPageEmpty5} +\begin{paste}{ParametricCurveGraphicsPageEmpty5}{ParametricCurveGraphicsPagePatch5} +\pastebutton{ParametricCurveGraphicsPageEmpty5}{\showpaste} +\tab{5}\spadgraph{draw(curve(f,g), 0..\%pi)\free{f g }} +\end{paste}\end{patch} + +\begin{patch}{ParametricCurveGraphicsPagePatch6} +\begin{paste}{ParametricCurveGraphicsPageFull6}{ParametricCurveGraphicsPageEmpty6} +\pastebutton{ParametricCurveGraphicsPageFull6}{\hidepaste} +\tab{5}\spadgraph{draw(curve(f,g) ,\%pi..2*\%pi)\free{f g }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/parametriccurvegraphicspage6.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/parametriccurvegraphicspage6}} +\end{paste}\end{patch} + +\begin{patch}{ParametricCurveGraphicsPageEmpty6} +\begin{paste}{ParametricCurveGraphicsPageEmpty6}{ParametricCurveGraphicsPagePatch6} +\pastebutton{ParametricCurveGraphicsPageEmpty6}{\showpaste} +\tab{5}\spadgraph{draw(curve(f,g) ,\%pi..2*\%pi)\free{f g }} +\end{paste}\end{patch} + +\begin{patch}{ParametricCurveGraphicsPagePatch7} +\begin{paste}{ParametricCurveGraphicsPageFull7}{ParametricCurveGraphicsPageEmpty7} +\pastebutton{ParametricCurveGraphicsPageFull7}{\hidepaste} +\tab{5}\spadgraph{draw(curve(f,g), -4*\%pi..4*\%pi)\free{f g }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/parametriccurvegraphicspage7.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/parametriccurvegraphicspage7}} +\end{paste}\end{patch} + +\begin{patch}{ParametricCurveGraphicsPageEmpty7} +\begin{paste}{ParametricCurveGraphicsPageEmpty7}{ParametricCurveGraphicsPagePatch7} +\pastebutton{ParametricCurveGraphicsPageEmpty7}{\showpaste} +\tab{5}\spadgraph{draw(curve(f,g), -4*\%pi..4*\%pi)\free{f g }} +\end{paste}\end{patch} @ \pagehead{PolarGraphicsPage}{graphics.ht}{Polar Coordinates} @@ -10511,7 +26496,75 @@ same curve as theta varies over several intervals. For information on plotting graphs in other coordinate systems see the pages for the \spadtype{CoordinateSystems} domain. \endscroll -\autobuttons \end{page} +\autobuttons +\end{page} + +\begin{patch}{PolarGraphicsPagePatch1} +\begin{paste}{PolarGraphicsPageFull1}{PolarGraphicsPageEmpty1} +\pastebutton{PolarGraphicsPageFull1}{\hidepaste} +\tab{5}\spadgraph{draw(1,t = 0..2*\%pi,coordinates == polar, title == "The Unit Circle")} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/polargraphicspage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/polargraphicspage1}} +\end{paste}\end{patch} + +\begin{patch}{PolarGraphicsPageEmpty1} +\begin{paste}{PolarGraphicsPageEmpty1}{PolarGraphicsPagePatch1} +\pastebutton{PolarGraphicsPageEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(1,t = 0..2*\%pi,coordinates == polar, title == "The Unit Circle")} +\end{paste}\end{patch} + +\begin{patch}{PolarGraphicsPagePatch2} +\begin{paste}{PolarGraphicsPageFull2}{PolarGraphicsPageEmpty2} +\pastebutton{PolarGraphicsPageFull2}{\hidepaste} +\tab{5}\spadgraph{draw(sin(17*t), t = 0..2*\%pi, coordinates == polar, title == "A Petal Curve")} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/polargraphicspage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/polargraphicspage2}} +\end{paste}\end{patch} + +\begin{patch}{PolarGraphicsPageEmpty2} +\begin{paste}{PolarGraphicsPageEmpty2}{PolarGraphicsPagePatch2} +\pastebutton{PolarGraphicsPageEmpty2}{\showpaste} +\tab{5}\spadgraph{draw(sin(17*t), t = 0..2*\%pi, coordinates == polar, title == "A Petal Curve")} +\end{paste}\end{patch} + +\begin{patch}{PolarGraphicsPagePatch3} +\begin{paste}{PolarGraphicsPageFull3}{PolarGraphicsPageEmpty3} +\pastebutton{PolarGraphicsPageFull3}{\hidepaste} +\tab{5}\spadcommand{f(t) == cos(4*t/7)\bound{f }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolarGraphicsPageEmpty3} +\begin{paste}{PolarGraphicsPageEmpty3}{PolarGraphicsPagePatch3} +\pastebutton{PolarGraphicsPageEmpty3}{\showpaste} +\tab{5}\spadcommand{f(t) == cos(4*t/7)\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{PolarGraphicsPagePatch4} +\begin{paste}{PolarGraphicsPageFull4}{PolarGraphicsPageEmpty4} +\pastebutton{PolarGraphicsPageFull4}{\hidepaste} +\tab{5}\spadgraph{draw(f, 0..2*\%pi, coordinates == polar)\free{f }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/polargraphicspage4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/polargraphicspage4}} +\end{paste}\end{patch} + +\begin{patch}{PolarGraphicsPageEmpty4} +\begin{paste}{PolarGraphicsPageEmpty4}{PolarGraphicsPagePatch4} +\pastebutton{PolarGraphicsPageEmpty4}{\showpaste} +\tab{5}\spadgraph{draw(f, 0..2*\%pi, coordinates == polar)\free{f }} +\end{paste}\end{patch} + +\begin{patch}{PolarGraphicsPagePatch5} +\begin{paste}{PolarGraphicsPageFull5}{PolarGraphicsPageEmpty5} +\pastebutton{PolarGraphicsPageFull5}{\hidepaste} +\tab{5}\spadgraph{draw(f, 0..14*\%pi, coordinates == polar)\free{f }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/polargraphicspage5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/polargraphicspage5}} +\end{paste}\end{patch} + +\begin{patch}{PolarGraphicsPageEmpty5} +\begin{paste}{PolarGraphicsPageEmpty5}{PolarGraphicsPagePatch5} +\pastebutton{PolarGraphicsPageEmpty5}{\showpaste} +\tab{5}\spadgraph{draw(f, 0..14*\%pi, coordinates == polar)\free{f }} +\end{paste}\end{patch} @ \pagehead{ImplicitCurveGraphicsPage}{graphics.ht}{Implicit Curves} @@ -10537,7 +26590,39 @@ title == "Cartesian Ovals") \free{p}} {\em A range must be declared for each variable specified in the algebraic curve equation}. \endscroll -\autobuttons \end{page} +\autobuttons +\end{page} + +\begin{patch}{ImplicitCurveGraphicsPagePatch1} +\begin{paste}{ImplicitCurveGraphicsPageFull1}{ImplicitCurveGraphicsPageEmpty1} +\pastebutton{ImplicitCurveGraphicsPageFull1}{\hidepaste} +\tab{5}\spadcommand{p := ((x**2 + y**2 + 1) - 8*x)**2 - (8*(x**2 + y**2 + 1) - 4*x - 1)\bound{p }} +\indentrel{3}\begin{verbatim} + (1) + 4 2 2 4 3 2 + y + (2x - 16x - 6)y + x - 16x + 58x - 12x - 6 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ImplicitCurveGraphicsPageEmpty1} +\begin{paste}{ImplicitCurveGraphicsPageEmpty1}{ImplicitCurveGraphicsPagePatch1} +\pastebutton{ImplicitCurveGraphicsPageEmpty1}{\showpaste} +\tab{5}\spadcommand{p := ((x**2 + y**2 + 1) - 8*x)**2 - (8*(x**2 + y**2 + 1) - 4*x - 1)\bound{p }} +\end{paste}\end{patch} + +\begin{patch}{ImplicitCurveGraphicsPagePatch2} +\begin{paste}{ImplicitCurveGraphicsPageFull2}{ImplicitCurveGraphicsPageEmpty2} +\pastebutton{ImplicitCurveGraphicsPageFull2}{\hidepaste} +\tab{5}\spadgraph{draw(p = 0, x, y, range == [-1..11, -7..7], title == "Cartesian Ovals")\free{p }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/implicitcurvegraphicspage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/implicitcurvegraphicspage2}} +\end{paste}\end{patch} + +\begin{patch}{ImplicitCurveGraphicsPageEmpty2} +\begin{paste}{ImplicitCurveGraphicsPageEmpty2}{ImplicitCurveGraphicsPagePatch2} +\pastebutton{ImplicitCurveGraphicsPageEmpty2}{\showpaste} +\tab{5}\spadgraph{draw(p = 0, x, y, range == [-1..11, -7..7], title == "Cartesian Ovals")\free{p }} +\end{paste}\end{patch} @ \pagehead{ListPointsGraphicsPage}{graphics.ht}{Lists of Points} @@ -10623,7 +26708,419 @@ The \spadfun{makeViewport2D} command takes a list of options as a parameter. In this example the string "Lines" is designated as the viewport's title. \endscroll -\autobuttons \end{page} +\autobuttons +\end{page} + +\begin{patch}{ListPointsGraphicsPagePatch1} +\begin{paste}{ListPointsGraphicsPageFull1}{ListPointsGraphicsPageEmpty1} +\pastebutton{ListPointsGraphicsPageFull1}{\hidepaste} +\tab{5}\spadcommand{p1 := point [1::SF,1::SF]$(Point SF)\bound{p1 }} +\indentrel{3}\begin{verbatim} + (1) [1.0,1.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPageEmpty1} +\begin{paste}{ListPointsGraphicsPageEmpty1}{ListPointsGraphicsPagePatch1} +\pastebutton{ListPointsGraphicsPageEmpty1}{\showpaste} +\tab{5}\spadcommand{p1 := point [1::SF,1::SF]$(Point SF)\bound{p1 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPagePatch2} +\begin{paste}{ListPointsGraphicsPageFull2}{ListPointsGraphicsPageEmpty2} +\pastebutton{ListPointsGraphicsPageFull2}{\hidepaste} +\tab{5}\spadcommand{p2 := point [0::SF,1::SF]$(Point SF)\bound{p2 }} +\indentrel{3}\begin{verbatim} + (2) [0.0,1.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPageEmpty2} +\begin{paste}{ListPointsGraphicsPageEmpty2}{ListPointsGraphicsPagePatch2} +\pastebutton{ListPointsGraphicsPageEmpty2}{\showpaste} +\tab{5}\spadcommand{p2 := point [0::SF,1::SF]$(Point SF)\bound{p2 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPagePatch3} +\begin{paste}{ListPointsGraphicsPageFull3}{ListPointsGraphicsPageEmpty3} +\pastebutton{ListPointsGraphicsPageFull3}{\hidepaste} +\tab{5}\spadcommand{p3 := point [0::SF,0::SF]$(Point SF)\bound{p3 }} +\indentrel{3}\begin{verbatim} + (3) [0.0,0.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPageEmpty3} +\begin{paste}{ListPointsGraphicsPageEmpty3}{ListPointsGraphicsPagePatch3} +\pastebutton{ListPointsGraphicsPageEmpty3}{\showpaste} +\tab{5}\spadcommand{p3 := point [0::SF,0::SF]$(Point SF)\bound{p3 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPagePatch4} +\begin{paste}{ListPointsGraphicsPageFull4}{ListPointsGraphicsPageEmpty4} +\pastebutton{ListPointsGraphicsPageFull4}{\hidepaste} +\tab{5}\spadcommand{p4 := point [1::SF,0::SF]$(Point SF)\bound{p4 }} +\indentrel{3}\begin{verbatim} + (4) [1.0,0.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPageEmpty4} +\begin{paste}{ListPointsGraphicsPageEmpty4}{ListPointsGraphicsPagePatch4} +\pastebutton{ListPointsGraphicsPageEmpty4}{\showpaste} +\tab{5}\spadcommand{p4 := point [1::SF,0::SF]$(Point SF)\bound{p4 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPagePatch5} +\begin{paste}{ListPointsGraphicsPageFull5}{ListPointsGraphicsPageEmpty5} +\pastebutton{ListPointsGraphicsPageFull5}{\hidepaste} +\tab{5}\spadcommand{p5 := point [1::SF,.5::SF]$(Point SF)\bound{p5 }} +\indentrel{3}\begin{verbatim} + (5) [1.0,0.5] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPageEmpty5} +\begin{paste}{ListPointsGraphicsPageEmpty5}{ListPointsGraphicsPagePatch5} +\pastebutton{ListPointsGraphicsPageEmpty5}{\showpaste} +\tab{5}\spadcommand{p5 := point [1::SF,.5::SF]$(Point SF)\bound{p5 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPagePatch6} +\begin{paste}{ListPointsGraphicsPageFull6}{ListPointsGraphicsPageEmpty6} +\pastebutton{ListPointsGraphicsPageFull6}{\hidepaste} +\tab{5}\spadcommand{p6 := point [.5::SF,0::SF]$(Point SF)\bound{p6 }} +\indentrel{3}\begin{verbatim} + (6) [0.5,0.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPageEmpty6} +\begin{paste}{ListPointsGraphicsPageEmpty6}{ListPointsGraphicsPagePatch6} +\pastebutton{ListPointsGraphicsPageEmpty6}{\showpaste} +\tab{5}\spadcommand{p6 := point [.5::SF,0::SF]$(Point SF)\bound{p6 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPagePatch7} +\begin{paste}{ListPointsGraphicsPageFull7}{ListPointsGraphicsPageEmpty7} +\pastebutton{ListPointsGraphicsPageFull7}{\hidepaste} +\tab{5}\spadcommand{p7 := point [0::SF,0.5::SF]$(Point SF)\bound{p7 }} +\indentrel{3}\begin{verbatim} + (7) [0.0,0.5] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPageEmpty7} +\begin{paste}{ListPointsGraphicsPageEmpty7}{ListPointsGraphicsPagePatch7} +\pastebutton{ListPointsGraphicsPageEmpty7}{\showpaste} +\tab{5}\spadcommand{p7 := point [0::SF,0.5::SF]$(Point SF)\bound{p7 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPagePatch8} +\begin{paste}{ListPointsGraphicsPageFull8}{ListPointsGraphicsPageEmpty8} +\pastebutton{ListPointsGraphicsPageFull8}{\hidepaste} +\tab{5}\spadcommand{p8 := point [.5::SF,1::SF]$(Point SF)\bound{p8 }} +\indentrel{3}\begin{verbatim} + (8) [0.5,1.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPageEmpty8} +\begin{paste}{ListPointsGraphicsPageEmpty8}{ListPointsGraphicsPagePatch8} +\pastebutton{ListPointsGraphicsPageEmpty8}{\showpaste} +\tab{5}\spadcommand{p8 := point [.5::SF,1::SF]$(Point SF)\bound{p8 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPagePatch9} +\begin{paste}{ListPointsGraphicsPageFull9}{ListPointsGraphicsPageEmpty9} +\pastebutton{ListPointsGraphicsPageFull9}{\hidepaste} +\tab{5}\spadcommand{p9 := point [.25::SF,.25::SF]$(Point SF)\bound{p9 }} +\indentrel{3}\begin{verbatim} + (9) [0.25,0.25] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPageEmpty9} +\begin{paste}{ListPointsGraphicsPageEmpty9}{ListPointsGraphicsPagePatch9} +\pastebutton{ListPointsGraphicsPageEmpty9}{\showpaste} +\tab{5}\spadcommand{p9 := point [.25::SF,.25::SF]$(Point SF)\bound{p9 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPagePatch10} +\begin{paste}{ListPointsGraphicsPageFull10}{ListPointsGraphicsPageEmpty10} +\pastebutton{ListPointsGraphicsPageFull10}{\hidepaste} +\tab{5}\spadcommand{p10 := point [.25::SF,.75::SF]$(Point SF)\bound{p10 }} +\indentrel{3}\begin{verbatim} + (10) [0.25,0.75] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPageEmpty10} +\begin{paste}{ListPointsGraphicsPageEmpty10}{ListPointsGraphicsPagePatch10} +\pastebutton{ListPointsGraphicsPageEmpty10}{\showpaste} +\tab{5}\spadcommand{p10 := point [.25::SF,.75::SF]$(Point SF)\bound{p10 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPagePatch11} +\begin{paste}{ListPointsGraphicsPageFull11}{ListPointsGraphicsPageEmpty11} +\pastebutton{ListPointsGraphicsPageFull11}{\hidepaste} +\tab{5}\spadcommand{p11 := point [.75::SF,.75::SF]$(Point SF)\bound{p11 }} +\indentrel{3}\begin{verbatim} + (11) [0.75,0.75] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPageEmpty11} +\begin{paste}{ListPointsGraphicsPageEmpty11}{ListPointsGraphicsPagePatch11} +\pastebutton{ListPointsGraphicsPageEmpty11}{\showpaste} +\tab{5}\spadcommand{p11 := point [.75::SF,.75::SF]$(Point SF)\bound{p11 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPagePatch12} +\begin{paste}{ListPointsGraphicsPageFull12}{ListPointsGraphicsPageEmpty12} +\pastebutton{ListPointsGraphicsPageFull12}{\hidepaste} +\tab{5}\spadcommand{p12 := point [.75::SF,.25::SF]$(Point SF)\bound{p12 }} +\indentrel{3}\begin{verbatim} + (12) [0.75,0.25] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPageEmpty12} +\begin{paste}{ListPointsGraphicsPageEmpty12}{ListPointsGraphicsPagePatch12} +\pastebutton{ListPointsGraphicsPageEmpty12}{\showpaste} +\tab{5}\spadcommand{p12 := point [.75::SF,.25::SF]$(Point SF)\bound{p12 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPagePatch13} +\begin{paste}{ListPointsGraphicsPageFull13}{ListPointsGraphicsPageEmpty13} +\pastebutton{ListPointsGraphicsPageFull13}{\hidepaste} +\tab{5}\spadcommand{llp := [[p1,p2],[p2,p3],[p3,p4],[p4,p1],[p5,p6],[p6,p7],[p7,p8],[p8,p5],[p9,p10],[p10,p11],[p11,p12],[p12,p9]]\bound{llp }\free{p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 }} +\indentrel{3}\begin{verbatim} + (13) + [[[1.0,1.0],[0.0,1.0]], [[0.0,1.0],[0.0,0.0]], + [[0.0,0.0],[1.0,0.0]], [[1.0,0.0],[1.0,1.0]], + [[1.0,0.5],[0.5,0.0]], [[0.5,0.0],[0.0,0.5]], + [[0.0,0.5],[0.5,1.0]], [[0.5,1.0],[1.0,0.5]], + [[0.25,0.25],[0.25,0.75]], [[0.25,0.75],[0.75,0.75]], + [[0.75,0.75],[0.75,0.25]], [[0.75,0.25],[0.25,0.25]]] + Type: List List Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPageEmpty13} +\begin{paste}{ListPointsGraphicsPageEmpty13}{ListPointsGraphicsPagePatch13} +\pastebutton{ListPointsGraphicsPageEmpty13}{\showpaste} +\tab{5}\spadcommand{llp := [[p1,p2],[p2,p3],[p3,p4],[p4,p1],[p5,p6],[p6,p7],[p7,p8],[p8,p5],[p9,p10],[p10,p11],[p11,p12],[p12,p9]]\bound{llp }\free{p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPagePatch14} +\begin{paste}{ListPointsGraphicsPageFull14}{ListPointsGraphicsPageEmpty14} +\pastebutton{ListPointsGraphicsPageFull14}{\hidepaste} +\tab{5}\spadcommand{size1 := 6::PositiveInteger\bound{size1 }} +\indentrel{3}\begin{verbatim} + (14) 6 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPageEmpty14} +\begin{paste}{ListPointsGraphicsPageEmpty14}{ListPointsGraphicsPagePatch14} +\pastebutton{ListPointsGraphicsPageEmpty14}{\showpaste} +\tab{5}\spadcommand{size1 := 6::PositiveInteger\bound{size1 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPagePatch15} +\begin{paste}{ListPointsGraphicsPageFull15}{ListPointsGraphicsPageEmpty15} +\pastebutton{ListPointsGraphicsPageFull15}{\hidepaste} +\tab{5}\spadcommand{size2 := 8::PositiveInteger\bound{size2 }} +\indentrel{3}\begin{verbatim} + (15) 8 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPageEmpty15} +\begin{paste}{ListPointsGraphicsPageEmpty15}{ListPointsGraphicsPagePatch15} +\pastebutton{ListPointsGraphicsPageEmpty15}{\showpaste} +\tab{5}\spadcommand{size2 := 8::PositiveInteger\bound{size2 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPagePatch16} +\begin{paste}{ListPointsGraphicsPageFull16}{ListPointsGraphicsPageEmpty16} +\pastebutton{ListPointsGraphicsPageFull16}{\hidepaste} +\tab{5}\spadcommand{size3 := 10::PositiveInteger\bound{size3 }} +\indentrel{3}\begin{verbatim} + (16) 10 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPageEmpty16} +\begin{paste}{ListPointsGraphicsPageEmpty16}{ListPointsGraphicsPagePatch16} +\pastebutton{ListPointsGraphicsPageEmpty16}{\showpaste} +\tab{5}\spadcommand{size3 := 10::PositiveInteger\bound{size3 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPagePatch17} +\begin{paste}{ListPointsGraphicsPageFull17}{ListPointsGraphicsPageEmpty17} +\pastebutton{ListPointsGraphicsPageFull17}{\hidepaste} +\tab{5}\spadcommand{lsize := [size1, size1, size1, size1, size2, size2, size2, size2, size3, size3, size3, size3]\bound{lsize }\free{size1 size2 size3 }} +\indentrel{3}\begin{verbatim} + (17) [6,6,6,6,8,8,8,8,10,10,10,10] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPageEmpty17} +\begin{paste}{ListPointsGraphicsPageEmpty17}{ListPointsGraphicsPagePatch17} +\pastebutton{ListPointsGraphicsPageEmpty17}{\showpaste} +\tab{5}\spadcommand{lsize := [size1, size1, size1, size1, size2, size2, size2, size2, size3, size3, size3, size3]\bound{lsize }\free{size1 size2 size3 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPagePatch18} +\begin{paste}{ListPointsGraphicsPageFull18}{ListPointsGraphicsPageEmpty18} +\pastebutton{ListPointsGraphicsPageFull18}{\hidepaste} +\tab{5}\spadcommand{pc1 := pastel red()\bound{pc1 }} +\indentrel{3}\begin{verbatim} + (18) [Hue: 1 Weight: 1.0] from the Pastel palette + Type: Palette +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPageEmpty18} +\begin{paste}{ListPointsGraphicsPageEmpty18}{ListPointsGraphicsPagePatch18} +\pastebutton{ListPointsGraphicsPageEmpty18}{\showpaste} +\tab{5}\spadcommand{pc1 := pastel red()\bound{pc1 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPagePatch19} +\begin{paste}{ListPointsGraphicsPageFull19}{ListPointsGraphicsPageEmpty19} +\pastebutton{ListPointsGraphicsPageFull19}{\hidepaste} +\tab{5}\spadcommand{pc2 := dim green()\bound{pc2 }} +\indentrel{3}\begin{verbatim} + (19) [Hue: 14 Weight: 1.0] from the Dim palette + Type: Palette +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPageEmpty19} +\begin{paste}{ListPointsGraphicsPageEmpty19}{ListPointsGraphicsPagePatch19} +\pastebutton{ListPointsGraphicsPageEmpty19}{\showpaste} +\tab{5}\spadcommand{pc2 := dim green()\bound{pc2 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPagePatch20} +\begin{paste}{ListPointsGraphicsPageFull20}{ListPointsGraphicsPageEmpty20} +\pastebutton{ListPointsGraphicsPageFull20}{\hidepaste} +\tab{5}\spadcommand{pc3 := pastel yellow()\bound{pc3 }} +\indentrel{3}\begin{verbatim} + (20) [Hue: 11 Weight: 1.0] from the Pastel palette + Type: Palette +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPageEmpty20} +\begin{paste}{ListPointsGraphicsPageEmpty20}{ListPointsGraphicsPagePatch20} +\pastebutton{ListPointsGraphicsPageEmpty20}{\showpaste} +\tab{5}\spadcommand{pc3 := pastel yellow()\bound{pc3 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPagePatch21} +\begin{paste}{ListPointsGraphicsPageFull21}{ListPointsGraphicsPageEmpty21} +\pastebutton{ListPointsGraphicsPageFull21}{\hidepaste} +\tab{5}\spadcommand{lpc := [pc1, pc1, pc1, pc1, pc2, pc2, pc2, pc2, pc3, pc3, pc3, pc3]\bound{lpc }\free{pc1 pc2 pc3 }} +\indentrel{3}\begin{verbatim} + (21) + [[Hue: 1 Weight: 1.0] from the Pastel palette, + [Hue: 1 Weight: 1.0] from the Pastel palette, + [Hue: 1 Weight: 1.0] from the Pastel palette, + [Hue: 1 Weight: 1.0] from the Pastel palette, + [Hue: 14 Weight: 1.0] from the Dim palette, + [Hue: 14 Weight: 1.0] from the Dim palette, + [Hue: 14 Weight: 1.0] from the Dim palette, + [Hue: 14 Weight: 1.0] from the Dim palette, + [Hue: 11 Weight: 1.0] from the Pastel palette, + [Hue: 11 Weight: 1.0] from the Pastel palette, + [Hue: 11 Weight: 1.0] from the Pastel palette, + [Hue: 11 Weight: 1.0] from the Pastel palette] + Type: List Palette +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPageEmpty21} +\begin{paste}{ListPointsGraphicsPageEmpty21}{ListPointsGraphicsPagePatch21} +\pastebutton{ListPointsGraphicsPageEmpty21}{\showpaste} +\tab{5}\spadcommand{lpc := [pc1, pc1, pc1, pc1, pc2, pc2, pc2, pc2, pc3, pc3, pc3, pc3]\bound{lpc }\free{pc1 pc2 pc3 }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPagePatch22} +\begin{paste}{ListPointsGraphicsPageFull22}{ListPointsGraphicsPageEmpty22} +\pastebutton{ListPointsGraphicsPageFull22}{\hidepaste} +\tab{5}\spadcommand{lc := [pastel blue(), light yellow(), dim green(), bright red(), light green(), dim yellow(), bright blue(), dark red(), pastel red(), light blue(), dim green(), light yellow()]\bound{lc }} +\indentrel{3}\begin{verbatim} + (22) + [[Hue: 22 Weight: 1.0] from the Pastel palette, + [Hue: 11 Weight: 1.0] from the Light palette, + [Hue: 14 Weight: 1.0] from the Dim palette, + [Hue: 1 Weight: 1.0] from the Bright palette, + [Hue: 14 Weight: 1.0] from the Light palette, + [Hue: 11 Weight: 1.0] from the Dim palette, + [Hue: 22 Weight: 1.0] from the Bright palette, + [Hue: 1 Weight: 1.0] from the Dark palette, + [Hue: 1 Weight: 1.0] from the Pastel palette, + [Hue: 22 Weight: 1.0] from the Light palette, + [Hue: 14 Weight: 1.0] from the Dim palette, + [Hue: 11 Weight: 1.0] from the Light palette] + Type: List Palette +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPageEmpty22} +\begin{paste}{ListPointsGraphicsPageEmpty22}{ListPointsGraphicsPagePatch22} +\pastebutton{ListPointsGraphicsPageEmpty22}{\showpaste} +\tab{5}\spadcommand{lc := [pastel blue(), light yellow(), dim green(), bright red(), light green(), dim yellow(), bright blue(), dark red(), pastel red(), light blue(), dim green(), light yellow()]\bound{lc }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPagePatch23} +\begin{paste}{ListPointsGraphicsPageFull23}{ListPointsGraphicsPageEmpty23} +\pastebutton{ListPointsGraphicsPageFull23}{\hidepaste} +\tab{5}\spadcommand{g := makeGraphImage(llp,lpc,lc,lsize)$GRIMAGE\bound{g }\free{llp lpc lc lsize }} +\indentrel{3}\begin{verbatim} + (23) Graph with 12 point lists + Type: GraphImage +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPageEmpty23} +\begin{paste}{ListPointsGraphicsPageEmpty23}{ListPointsGraphicsPagePatch23} +\pastebutton{ListPointsGraphicsPageEmpty23}{\showpaste} +\tab{5}\spadcommand{g := makeGraphImage(llp,lpc,lc,lsize)$GRIMAGE\bound{g }\free{llp lpc lc lsize }} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPagePatch24} +\begin{paste}{ListPointsGraphicsPageFull24}{ListPointsGraphicsPageEmpty24} +\pastebutton{ListPointsGraphicsPageFull24}{\hidepaste} +\tab{5}\spadgraph{makeViewport2D(g,[title("Lines")])$VIEW2D\free{g }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/listpointsgraphicspage24.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/listpointsgraphicspage24}} +\end{paste}\end{patch} + +\begin{patch}{ListPointsGraphicsPageEmpty24} +\begin{paste}{ListPointsGraphicsPageEmpty24}{ListPointsGraphicsPagePatch24} +\pastebutton{ListPointsGraphicsPageEmpty24}{\showpaste} +\tab{5}\spadgraph{makeViewport2D(g,[title("Lines")])$VIEW2D\free{g }} +\end{paste}\end{patch} @ \pagehead{ViewportPage}{graphics.ht}{Stand-alone Viewport} @@ -10709,7 +27206,37 @@ All these macros really do is include some path that indicates where Axiom stores the viewports. \newline \endscroll -\autobuttons \end{page} +\autobuttons +\end{page} + +\begin{patch}{ViewportPagePatch1} +\begin{paste}{ViewportPageFull1}{ViewportPageEmpty1} +\pastebutton{ViewportPageFull1}{\hidepaste} +\tab{5}\spadgraph{v := draw(x*x-y*y,x=-1..1,y=-1..1)\bound{v }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/viewportpage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/viewportpage1}} +\end{paste}\end{patch} + +\begin{patch}{ViewportPageEmpty1} +\begin{paste}{ViewportPageEmpty1}{ViewportPagePatch1} +\pastebutton{ViewportPageEmpty1}{\showpaste} +\tab{5}\spadgraph{v := draw(x*x-y*y,x=-1..1,y=-1..1)\bound{v }} +\end{paste}\end{patch} + +\begin{patch}{ViewportPagePatch2} +\begin{paste}{ViewportPageFull2}{ViewportPageEmpty2} +\pastebutton{ViewportPageFull2}{\hidepaste} +\tab{5}\spadcommand{write(v,"saddle","pixmap")\free{v }} +\indentrel{3}\begin{verbatim} + (2) "NIL" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ViewportPageEmpty2} +\begin{paste}{ViewportPageEmpty2}{ViewportPagePatch2} +\pastebutton{ViewportPageEmpty2}{\showpaste} +\tab{5}\spadcommand{write(v,"saddle","pixmap")\free{v }} +\end{paste}\end{patch} @ \section{grpthry.ht} @@ -10837,7 +27364,874 @@ And here again is the irreducible, but not absolutely irreducible representations of \texht{$A_6$}{A6} over GF 2 \spadpaste{dA6d16 \free{dA6d16}} \endscroll -\autobuttons \end{page} +\autobuttons +\end{page} + +\begin{patch}{RepA6PagePatch1} +\begin{paste}{RepA6PageFull1}{RepA6PageEmpty1} +\pastebutton{RepA6PageFull1}{\hidepaste} +\tab{5}\spadcommand{genA6 : LIST PERM INT := [cycle [1,2,3],cycle [2,3,4,5,6]]\bound{genA6 }} +\indentrel{3}\begin{verbatim} + (1) [(1 2 3),(2 3 4 5 6)] + Type: List Permutation Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RepA6PageEmpty1} +\begin{paste}{RepA6PageEmpty1}{RepA6PagePatch1} +\pastebutton{RepA6PageEmpty1}{\showpaste} +\tab{5}\spadcommand{genA6 : LIST PERM INT := [cycle [1,2,3],cycle [2,3,4,5,6]]\bound{genA6 }} +\end{paste}\end{patch} + +\begin{patch}{RepA6PagePatch2} +\begin{paste}{RepA6PageFull2}{RepA6PageEmpty2} +\pastebutton{RepA6PageFull2}{\hidepaste} +\tab{5}\spadcommand{pRA6 := permutationRepresentation (genA6, 6)\bound{pRA6 }\free{genA6 }} +\indentrel{3}\begin{verbatim} + Ú0 0 1 0 0 0¿ Ú1 0 0 0 0 0¿ + ³ ³ ³ ³ + ³1 0 0 0 0 0³ ³0 0 0 0 0 1³ + ³ ³ ³ ³ + ³0 1 0 0 0 0³ ³0 1 0 0 0 0³ + (2) [³ ³,³ ³] + ³0 0 0 1 0 0³ ³0 0 1 0 0 0³ + ³ ³ ³ ³ + ³0 0 0 0 1 0³ ³0 0 0 1 0 0³ + ³ ³ ³ ³ + À0 0 0 0 0 1Ù À0 0 0 0 1 0Ù + Type: List Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RepA6PageEmpty2} +\begin{paste}{RepA6PageEmpty2}{RepA6PagePatch2} +\pastebutton{RepA6PageEmpty2}{\showpaste} +\tab{5}\spadcommand{pRA6 := permutationRepresentation (genA6, 6)\bound{pRA6 }\free{genA6 }} +\end{paste}\end{patch} + +\begin{patch}{RepA6PagePatch3} +\begin{paste}{RepA6PageFull3}{RepA6PageEmpty3} +\pastebutton{RepA6PageFull3}{\hidepaste} +\tab{5}\spadcommand{sp0 := meatAxe (pRA6::(LIST MATRIX PF 2))\free{pRA6 }\bound{sp0 }} +\indentrel{3}\begin{verbatim} + Fingerprint element in generated algebra is singular + A proper cyclic submodule is found. + Transition matrix computed + The inverse of the transition matrix computed + Now transform the matrices + Ú0 0 1 0 0¿ Ú1 0 0 0 0¿ + ³ ³ ³ ³ + ³1 0 0 0 0³ ³1 1 1 1 1³ + ³ ³ ³ ³ + (3) [[³0 1 0 0 0³,³0 1 0 0 0³],[[1],[1]]] + ³ ³ ³ ³ + ³0 0 0 1 0³ ³0 0 1 0 0³ + ³ ³ ³ ³ + À0 0 0 0 1Ù À0 0 0 1 0Ù + Type: List List Matrix PrimeField 2 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RepA6PageEmpty3} +\begin{paste}{RepA6PageEmpty3}{RepA6PagePatch3} +\pastebutton{RepA6PageEmpty3}{\showpaste} +\tab{5}\spadcommand{sp0 := meatAxe (pRA6::(LIST MATRIX PF 2))\free{pRA6 }\bound{sp0 }} +\end{paste}\end{patch} + +\begin{patch}{RepA6PagePatch4} +\begin{paste}{RepA6PageFull4}{RepA6PageEmpty4} +\pastebutton{RepA6PageFull4}{\hidepaste} +\tab{5}\spadcommand{sp1 := meatAxe sp0.1\bound{sp1 }} +\indentrel{3}\begin{verbatim} + Fingerprint element in generated algebra is singular + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + We know that all the cyclic submodules generated by a + ll + non-trivial element of the singular matrix under vi + ew are + not proper, hence Norton's irreducibility test can + be done: + A proper cyclic submodule is found. + Transition matrix computed + The inverse of the transition matrix computed + Now transform the matrices + Representation is not irreducible and it will be spli + t: + Ú0 1 0 0¿ Ú0 1 1 1¿ + ³ ³ ³ ³ + ³0 0 1 0³ ³1 1 0 1³ + (4) [[[1],[1]],[³ ³,³ ³]] + ³1 0 0 0³ ³1 1 1 0³ + ³ ³ ³ ³ + À0 0 0 1Ù À1 1 1 1Ù + Type: List List Matrix PrimeField 2 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RepA6PageEmpty4} +\begin{paste}{RepA6PageEmpty4}{RepA6PagePatch4} +\pastebutton{RepA6PageEmpty4}{\showpaste} +\tab{5}\spadcommand{sp1 := meatAxe sp0.1\bound{sp1 }} +\end{paste}\end{patch} + +\begin{patch}{RepA6PagePatch5} +\begin{paste}{RepA6PageFull5}{RepA6PageEmpty5} +\pastebutton{RepA6PageFull5}{\hidepaste} +\tab{5}\spadcommand{isAbsolutelyIrreducible? sp1.2} +\indentrel{3}\begin{verbatim} + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra has + one-dimensional kernel + We know that all the cyclic submodules generated by a + ll + non-trivial element of the singular matrix under vi + ew are + not proper, hence Norton's irreducibility test can + be done: + The generated cyclic submodule was not proper + Representation is absolutely irreducible + (5) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RepA6PageEmpty5} +\begin{paste}{RepA6PageEmpty5}{RepA6PagePatch5} +\pastebutton{RepA6PageEmpty5}{\showpaste} +\tab{5}\spadcommand{isAbsolutelyIrreducible? sp1.2} +\end{paste}\end{patch} + +\begin{patch}{RepA6PagePatch6} +\begin{paste}{RepA6PageFull6}{RepA6PageEmpty6} +\pastebutton{RepA6PageFull6}{\hidepaste} +\tab{5}\spadcommand{d2211 := irreducibleRepresentation ([2,2,1,1],genA6)\bound{d2211 }} +\indentrel{3}\begin{verbatim} + (6) + Ú1 0 0 - 1 1 0 0 0 0 ¿ + ³ ³ + ³0 1 0 1 0 1 0 0 0 ³ + ³ ³ + ³0 0 1 0 1 - 1 0 0 0 ³ + ³ ³ + ³0 0 0 - 1 0 0 - 1 0 0 ³ + ³ ³ + [³0 0 0 0 - 1 0 0 - 1 0 ³, + ³ ³ + ³0 0 0 0 0 - 1 0 0 - 1³ + ³ ³ + ³0 0 0 1 0 0 0 0 0 ³ + ³ ³ + ³0 0 0 0 1 0 0 0 0 ³ + ³ ³ + À0 0 0 0 0 1 0 0 0 Ù + Ú 0 0 1 0 0 0 1 0 0¿ + ³ ³ + ³ 0 0 0 0 1 0 - 1 0 0³ + ³ ³ + ³ 0 0 0 0 0 1 1 0 0³ + ³ ³ + ³ 0 0 0 0 0 0 1 1 0³ + ³ ³ + ³ 0 0 0 0 0 0 - 1 0 1³] + ³ ³ + ³ 0 0 0 0 0 0 1 0 0³ + ³ ³ + ³- 1 0 0 0 0 0 - 1 0 0³ + ³ ³ + ³ 0 - 1 0 0 0 0 1 0 0³ + ³ ³ + À 0 0 0 - 1 0 0 - 1 0 0Ù + Type: List Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RepA6PageEmpty6} +\begin{paste}{RepA6PageEmpty6}{RepA6PagePatch6} +\pastebutton{RepA6PageEmpty6}{\showpaste} +\tab{5}\spadcommand{d2211 := irreducibleRepresentation ([2,2,1,1],genA6)\bound{d2211 }} +\end{paste}\end{patch} + +\begin{patch}{RepA6PagePatch7} +\begin{paste}{RepA6PageFull7}{RepA6PageEmpty7} +\pastebutton{RepA6PageFull7}{\hidepaste} +\tab{5}\spadcommand{d2211m2 := d2211:: (LIST MATRIX PF 2); sp2 := meatAxe d2211m2\free{d2211 }\bound{sp2 }} +\indentrel{3}\begin{verbatim} + Fingerprint element in generated algebra is singular + A proper cyclic submodule is found. + Transition matrix computed + The inverse of the transition matrix computed + Now transform the matrices + (7) + Ú1 0 1 1¿ Ú0 0 1 0¿ + ³ ³ ³ ³ + ³0 1 0 1³ ³1 1 1 1³ + [[³ ³,³ ³], + ³1 1 0 0³ ³1 0 1 1³ + ³ ³ ³ ³ + À0 1 0 0Ù À0 1 0 1Ù + Ú1 0 0 0 0¿ Ú1 1 1 0 0¿ + ³ ³ ³ ³ + ³0 1 1 1 1³ ³0 0 1 1 1³ + ³ ³ ³ ³ + [³0 1 1 0 0³,³1 0 0 1 0³]] + ³ ³ ³ ³ + ³0 1 0 1 0³ ³0 0 1 0 1³ + ³ ³ ³ ³ + À0 1 1 1 0Ù À1 0 0 1 1Ù + Type: List List Matrix PrimeField 2 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RepA6PageEmpty7} +\begin{paste}{RepA6PageEmpty7}{RepA6PagePatch7} +\pastebutton{RepA6PageEmpty7}{\showpaste} +\tab{5}\spadcommand{d2211m2 := d2211:: (LIST MATRIX PF 2); sp2 := meatAxe d2211m2\free{d2211 }\bound{sp2 }} +\end{paste}\end{patch} + +\begin{patch}{RepA6PagePatch8} +\begin{paste}{RepA6PageFull8}{RepA6PageEmpty8} +\pastebutton{RepA6PageFull8}{\hidepaste} +\tab{5}\spadcommand{isAbsolutelyIrreducible? sp2.1} +\indentrel{3}\begin{verbatim} + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra has + one-dimensional kernel + We know that all the cyclic submodules generated by a + ll + non-trivial element of the singular matrix under vi + ew are + not proper, hence Norton's irreducibility test can + be done: + The generated cyclic submodule was not proper + Representation is absolutely irreducible + (8) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RepA6PageEmpty8} +\begin{paste}{RepA6PageEmpty8}{RepA6PagePatch8} +\pastebutton{RepA6PageEmpty8}{\showpaste} +\tab{5}\spadcommand{isAbsolutelyIrreducible? sp2.1} +\end{paste}\end{patch} + +\begin{patch}{RepA6PagePatch9} +\begin{paste}{RepA6PageFull9}{RepA6PageEmpty9} +\pastebutton{RepA6PageFull9}{\hidepaste} +\tab{5}\spadcommand{areEquivalent? (sp1.2, sp2.1)} +\indentrel{3}\begin{verbatim} + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra has + one-dimensional kernel + There is no isomorphism, as the only possible one + fails to do the necessary base change + + Representations are not equivalent. + (9) [0] + Type: Matrix PrimeField 2 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RepA6PageEmpty9} +\begin{paste}{RepA6PageEmpty9}{RepA6PagePatch9} +\pastebutton{RepA6PageEmpty9}{\showpaste} +\tab{5}\spadcommand{areEquivalent? (sp1.2, sp2.1)} +\end{paste}\end{patch} + +\begin{patch}{RepA6PagePatch10} +\begin{paste}{RepA6PageFull10}{RepA6PageEmpty10} +\pastebutton{RepA6PageFull10}{\hidepaste} +\tab{5}\spadcommand{dA6d16 := tensorProduct(sp1.2,sp2.1); meatAxe dA6d16\bound{dA6d16 }} +\indentrel{3}\begin{verbatim} + Fingerprint element in generated algebra is non-singula + r + Fingerprint element in generated algebra is singular + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + Fingerprint element in generated algebra is non-singula + r + Fingerprint element in generated algebra is singular + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + Fingerprint element in generated algebra is singular + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + We know that all the cyclic submodules generated by a + ll + non-trivial element of the singular matrix under vi + ew are + not proper, hence Norton's irreducibility test can + be done: + The generated cyclic submodule was not proper + Representation is irreducible, but we don't know + whether it is absolutely irreducible + (10) + [ + Ú0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0¿ + ³ ³ + ³0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0³ + ³ ³ + ³0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0³ + ³ ³ + ³0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0³ + ³ ³ + ³1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0³ + ³ ³ + ³0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0³ + ³ ³ + ³1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0³ + ³ ³ + ³1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0³ + [³ ³, + ³0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0³ + ³ ³ + ³0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0³ + ³ ³ + ³0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0³ + ³ ³ + ³0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0³ + ³ ³ + ³0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0³ + ³ ³ + ³0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1³ + ³ ³ + ³0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0³ + ³ ³ + À0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0Ù + Ú0 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0¿ + ³ ³ + ³0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1³ + ³ ³ + ³0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 0³ + ³ ³ + ³0 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1³ + ³ ³ + ³0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0³ + ³ ³ + ³0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1³ + ³ ³ + ³1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0³ + ³ ³ + ³0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1³ + ³ ³] + ³0 1 1 0 0 0 0 0 0 1 1 0 0 1 1 0³ + ³ ³ + ³0 1 0 1 0 0 0 0 0 1 0 1 0 1 0 1³ + ³ ³ + ³1 1 1 0 0 0 0 0 1 1 1 0 1 1 1 0³ + ³ ³ + ³0 1 1 1 0 0 0 0 0 1 1 1 0 1 1 1³ + ³ ³ + ³0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 0³ + ³ ³ + ³0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 1³ + ³ ³ + ³1 1 1 0 1 1 1 0 0 0 0 0 1 1 1 0³ + ³ ³ + À0 1 1 1 0 1 1 1 0 0 0 0 0 1 1 1Ù + ] + Type: List List Matrix PrimeField 2 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RepA6PageEmpty10} +\begin{paste}{RepA6PageEmpty10}{RepA6PagePatch10} +\pastebutton{RepA6PageEmpty10}{\showpaste} +\tab{5}\spadcommand{dA6d16 := tensorProduct(sp1.2,sp2.1); meatAxe dA6d16\bound{dA6d16 }} +\end{paste}\end{patch} + +\begin{patch}{RepA6PagePatch11} +\begin{paste}{RepA6PageFull11}{RepA6PageEmpty11} +\pastebutton{RepA6PageFull11}{\hidepaste} +\tab{5}\spadcommand{isAbsolutelyIrreducible? dA6d16} +\indentrel{3}\begin{verbatim} + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + We have not found a one-dimensional kernel so far, + as we do a random search you could try again + (11) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RepA6PageEmpty11} +\begin{paste}{RepA6PageEmpty11}{RepA6PagePatch11} +\pastebutton{RepA6PageEmpty11}{\showpaste} +\tab{5}\spadcommand{isAbsolutelyIrreducible? dA6d16} +\end{paste}\end{patch} + +\begin{patch}{RepA6PagePatch12} +\begin{paste}{RepA6PageFull12}{RepA6PageEmpty12} +\pastebutton{RepA6PageFull12}{\hidepaste} +\tab{5}\spadcommand{sp3 := meatAxe (dA6d16 :: (LIST MATRIX FF(2,2)))\bound{sp3 }} +\indentrel{3}\begin{verbatim} + Fingerprint element in generated algebra is non-singula + r + Fingerprint element in generated algebra is singular + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + Fingerprint element in generated algebra is non-singula + r + Fingerprint element in generated algebra is singular + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + Fingerprint element in generated algebra is singular + The generated cyclic submodule was not proper + The generated cyclic submodule was not proper + A proper cyclic submodule is found. + Transition matrix computed + The inverse of the transition matrix computed + Now transform the matrices + (12) + [ + [ + [[%A,%A + 1,0,%A,1,%A + 1,0,0], + [0,0,%A,%A + 1,%A,%A,0,0], + [%A,%A + 1,%A,1,%A + 1,0,0,0], + [%A,%A + 1,%A,1,%A,0,0,0], + [%A + 1,1,1,1,0,0,%A + 1,%A], + [0,0,%A + 1,1,0,0,%A,0], [1,0,1,1,0,0,0,0], + [1,1,0,0,0,0,0,0]] + , + + [[1,0,%A,0,1,1,%A,%A + 1], + [1,%A + 1,0,0,0,%A + 1,1,%A + 1], + [%A,1,%A + 1,%A + 1,%A + 1,1,%A,0], + [%A + 1,%A + 1,0,0,1,%A + 1,1,1], + [1,0,%A + 1,0,1,1,%A,%A], + [0,0,%A + 1,%A + 1,%A + 1,1,1,%A], [0,0,1,0,0,1,0,1], + [0,%A,0,%A,1,%A + 1,%A + 1,%A]] + ] + , + + Ú0 1 1 %A + 1 0 0 0 0¿ + ³ ³ + ³1 1 %A + 1 0 0 0 0 0³ + ³ ³ + ³%A 0 0 0 0 0 0 0³ + ³ ³ + ³1 %A 0 0 0 0 0 0³ + [³ ³, + ³%A %A + 1 1 1 1 0 1 1³ + ³ ³ + ³0 0 %A 1 0 1 0 1³ + ³ ³ + ³%A 1 0 1 1 1 0 0³ + ³ ³ + À1 %A %A + 1 %A 0 1 0 0Ù + + [[%A + 1,1,%A,0,0,%A + 1,0,1], + [0,%A,1,1,1,0,%A + 1,%A], + [0,%A + 1,0,%A + 1,%A + 1,1,%A + 1,%A], + [1,%A + 1,1,%A + 1,0,0,%A + 1,1], + [0,%A,0,%A + 1,%A + 1,0,0,%A + 1], + [%A + 1,0,%A + 1,%A,0,%A + 1,0,%A + 1], + [0,1,0,1,%A + 1,0,%A + 1,%A + 1], + [%A,%A,%A,1,%A,%A,1,%A + 1]] + ] + ] + Type: List List Matrix FiniteField(2,2) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RepA6PageEmpty12} +\begin{paste}{RepA6PageEmpty12}{RepA6PagePatch12} +\pastebutton{RepA6PageEmpty12}{\showpaste} +\tab{5}\spadcommand{sp3 := meatAxe (dA6d16 :: (LIST MATRIX FF(2,2)))\bound{sp3 }} +\end{paste}\end{patch} + +\begin{patch}{RepA6PagePatch13} +\begin{paste}{RepA6PageFull13}{RepA6PageEmpty13} +\pastebutton{RepA6PageFull13}{\hidepaste} +\tab{5}\spadcommand{isAbsolutelyIrreducible? sp3.1} +\indentrel{3}\begin{verbatim} + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra has + one-dimensional kernel + We know that all the cyclic submodules generated by a + ll + non-trivial element of the singular matrix under vi + ew are + not proper, hence Norton's irreducibility test can + be done: + The generated cyclic submodule was not proper + Representation is absolutely irreducible + (13) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RepA6PageEmpty13} +\begin{paste}{RepA6PageEmpty13}{RepA6PagePatch13} +\pastebutton{RepA6PageEmpty13}{\showpaste} +\tab{5}\spadcommand{isAbsolutelyIrreducible? sp3.1} +\end{paste}\end{patch} + +\begin{patch}{RepA6PagePatch14} +\begin{paste}{RepA6PageFull14}{RepA6PageEmpty14} +\pastebutton{RepA6PageFull14}{\hidepaste} +\tab{5}\spadcommand{isAbsolutelyIrreducible? sp3.2} +\indentrel{3}\begin{verbatim} + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra has + one-dimensional kernel + We know that all the cyclic submodules generated by a + ll + non-trivial element of the singular matrix under vi + ew are + not proper, hence Norton's irreducibility test can + be done: + The generated cyclic submodule was not proper + Representation is absolutely irreducible + (14) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RepA6PageEmpty14} +\begin{paste}{RepA6PageEmpty14}{RepA6PagePatch14} +\pastebutton{RepA6PageEmpty14}{\showpaste} +\tab{5}\spadcommand{isAbsolutelyIrreducible? sp3.2} +\end{paste}\end{patch} + +\begin{patch}{RepA6PagePatch15} +\begin{paste}{RepA6PageFull15}{RepA6PageEmpty15} +\pastebutton{RepA6PageFull15}{\hidepaste} +\tab{5}\spadcommand{areEquivalent? (sp3.1,sp3.2)} +\indentrel{3}\begin{verbatim} + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra does + not have a one-dimensional kernel + Random element in generated algebra has + one-dimensional kernel + There is no isomorphism, as the only possible one + fails to do the necessary base change + + Representations are not equivalent. + (15) [0] + Type: Matrix FiniteField(2,2) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RepA6PageEmpty15} +\begin{paste}{RepA6PageEmpty15}{RepA6PagePatch15} +\pastebutton{RepA6PageEmpty15}{\showpaste} +\tab{5}\spadcommand{areEquivalent? (sp3.1,sp3.2)} +\end{paste}\end{patch} + +\begin{patch}{RepA6PagePatch16} +\begin{paste}{RepA6PageFull16}{RepA6PageEmpty16} +\pastebutton{RepA6PageFull16}{\hidepaste} +\tab{5}\spadcommand{sp0.2\free{sp0 }} +\indentrel{3}\begin{verbatim} + (16) [[1],[1]] + Type: List Matrix PrimeField 2 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RepA6PageEmpty16} +\begin{paste}{RepA6PageEmpty16}{RepA6PagePatch16} +\pastebutton{RepA6PageEmpty16}{\showpaste} +\tab{5}\spadcommand{sp0.2\free{sp0 }} +\end{paste}\end{patch} + +\begin{patch}{RepA6PagePatch17} +\begin{paste}{RepA6PageFull17}{RepA6PageEmpty17} +\pastebutton{RepA6PageFull17}{\hidepaste} +\tab{5}\spadcommand{sp1.2\free{sp1 }} +\indentrel{3}\begin{verbatim} + Ú0 1 0 0¿ Ú0 1 1 1¿ + ³ ³ ³ ³ + ³0 0 1 0³ ³1 1 0 1³ + (17) [³ ³,³ ³] + ³1 0 0 0³ ³1 1 1 0³ + ³ ³ ³ ³ + À0 0 0 1Ù À1 1 1 1Ù + Type: List Matrix PrimeField 2 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RepA6PageEmpty17} +\begin{paste}{RepA6PageEmpty17}{RepA6PagePatch17} +\pastebutton{RepA6PageEmpty17}{\showpaste} +\tab{5}\spadcommand{sp1.2\free{sp1 }} +\end{paste}\end{patch} + +\begin{patch}{RepA6PagePatch18} +\begin{paste}{RepA6PageFull18}{RepA6PageEmpty18} +\pastebutton{RepA6PageFull18}{\hidepaste} +\tab{5}\spadcommand{sp2.1\free{sp2 }} +\indentrel{3}\begin{verbatim} + Ú1 0 1 1¿ Ú0 0 1 0¿ + ³ ³ ³ ³ + ³0 1 0 1³ ³1 1 1 1³ + (18) [³ ³,³ ³] + ³1 1 0 0³ ³1 0 1 1³ + ³ ³ ³ ³ + À0 1 0 0Ù À0 1 0 1Ù + Type: List Matrix PrimeField 2 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RepA6PageEmpty18} +\begin{paste}{RepA6PageEmpty18}{RepA6PagePatch18} +\pastebutton{RepA6PageEmpty18}{\showpaste} +\tab{5}\spadcommand{sp2.1\free{sp2 }} +\end{paste}\end{patch} + +\begin{patch}{RepA6PagePatch19} +\begin{paste}{RepA6PageFull19}{RepA6PageEmpty19} +\pastebutton{RepA6PageFull19}{\hidepaste} +\tab{5}\spadcommand{sp3.1\free{sp3 }} +\indentrel{3}\begin{verbatim} + (19) + [ + [[%A,%A + 1,0,%A,1,%A + 1,0,0], + [0,0,%A,%A + 1,%A,%A,0,0], + [%A,%A + 1,%A,1,%A + 1,0,0,0], + [%A,%A + 1,%A,1,%A,0,0,0], + [%A + 1,1,1,1,0,0,%A + 1,%A], + [0,0,%A + 1,1,0,0,%A,0], [1,0,1,1,0,0,0,0], + [1,1,0,0,0,0,0,0]] + , + + [[1,0,%A,0,1,1,%A,%A + 1], + [1,%A + 1,0,0,0,%A + 1,1,%A + 1], + [%A,1,%A + 1,%A + 1,%A + 1,1,%A,0], + [%A + 1,%A + 1,0,0,1,%A + 1,1,1], + [1,0,%A + 1,0,1,1,%A,%A], + [0,0,%A + 1,%A + 1,%A + 1,1,1,%A], [0,0,1,0,0,1,0,1], + [0,%A,0,%A,1,%A + 1,%A + 1,%A]] + ] + Type: List Matrix FiniteField(2,2) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RepA6PageEmpty19} +\begin{paste}{RepA6PageEmpty19}{RepA6PagePatch19} +\pastebutton{RepA6PageEmpty19}{\showpaste} +\tab{5}\spadcommand{sp3.1\free{sp3 }} +\end{paste}\end{patch} + +\begin{patch}{RepA6PagePatch20} +\begin{paste}{RepA6PageFull20}{RepA6PageEmpty20} +\pastebutton{RepA6PageFull20}{\hidepaste} +\tab{5}\spadcommand{sp3.2\free{sp3 }} +\indentrel{3}\begin{verbatim} + (20) + Ú0 1 1 %A + 1 0 0 0 0¿ + ³ ³ + ³1 1 %A + 1 0 0 0 0 0³ + ³ ³ + ³%A 0 0 0 0 0 0 0³ + ³ ³ + ³1 %A 0 0 0 0 0 0³ + [³ ³, + ³%A %A + 1 1 1 1 0 1 1³ + ³ ³ + ³0 0 %A 1 0 1 0 1³ + ³ ³ + ³%A 1 0 1 1 1 0 0³ + ³ ³ + À1 %A %A + 1 %A 0 1 0 0Ù + + [[%A + 1,1,%A,0,0,%A + 1,0,1], + [0,%A,1,1,1,0,%A + 1,%A], + [0,%A + 1,0,%A + 1,%A + 1,1,%A + 1,%A], + [1,%A + 1,1,%A + 1,0,0,%A + 1,1], + [0,%A,0,%A + 1,%A + 1,0,0,%A + 1], + [%A + 1,0,%A + 1,%A,0,%A + 1,0,%A + 1], + [0,1,0,1,%A + 1,0,%A + 1,%A + 1], + [%A,%A,%A,1,%A,%A,1,%A + 1]] + ] + Type: List Matrix FiniteField(2,2) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RepA6PageEmpty20} +\begin{paste}{RepA6PageEmpty20}{RepA6PagePatch20} +\pastebutton{RepA6PageEmpty20}{\showpaste} +\tab{5}\spadcommand{sp3.2\free{sp3 }} +\end{paste}\end{patch} + +\begin{patch}{RepA6PagePatch21} +\begin{paste}{RepA6PageFull21}{RepA6PageEmpty21} +\pastebutton{RepA6PageFull21}{\hidepaste} +\tab{5}\spadcommand{dA6d16\free{dA6d16 }} +\indentrel{3}\begin{verbatim} + (21) + Ú0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0¿ + ³ ³ + ³0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0³ + ³ ³ + ³0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0³ + ³ ³ + ³0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0³ + ³ ³ + ³0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0³ + ³ ³ + ³0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0³ + ³ ³ + ³0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0³ + ³ ³ + ³0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0³ + [³ ³, + ³1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0³ + ³ ³ + ³0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0³ + ³ ³ + ³1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0³ + ³ ³ + ³0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0³ + ³ ³ + ³0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1³ + ³ ³ + ³0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1³ + ³ ³ + ³0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0³ + ³ ³ + À0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0Ù + Ú0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0¿ + ³ ³ + ³0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1³ + ³ ³ + ³0 0 0 0 1 0 1 1 1 0 1 1 1 0 1 1³ + ³ ³ + ³0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1³ + ³ ³ + ³0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0³ + ³ ³ + ³1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1³ + ³ ³ + ³1 0 1 1 1 0 1 1 0 0 0 0 1 0 1 1³ + ³ ³ + ³0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 1³ + ³ ³] + ³0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0³ + ³ ³ + ³1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0³ + ³ ³ + ³1 0 1 1 1 0 1 1 1 0 1 1 0 0 0 0³ + ³ ³ + ³0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0³ + ³ ³ + ³0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0³ + ³ ³ + ³1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1³ + ³ ³ + ³1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1³ + ³ ³ + À0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1Ù + Type: List Matrix PrimeField 2 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RepA6PageEmpty21} +\begin{paste}{RepA6PageEmpty21}{RepA6PagePatch21} +\pastebutton{RepA6PageEmpty21}{\showpaste} +\tab{5}\spadcommand{dA6d16\free{dA6d16 }} +\end{paste}\end{patch} @ \pagehead{InfoRepTheoryPage}{grpthry.ht}{Representation Theory} @@ -10990,6 +28384,115 @@ So the project is cancelled and we can delete the data base: \autobuttons \end{page} +\begin{patch}{GeneralSparseTableXmpPagePatch1} +\begin{paste}{GeneralSparseTableXmpPageFull1}{GeneralSparseTableXmpPageEmpty1} +\pastebutton{GeneralSparseTableXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{patrons: GeneralSparseTable(String, Integer, KeyedAccessFile(Integer), 0) := table() ;\bound{patrons }} +\indentrel{3}\begin{verbatim} +Type: GeneralSparseTable(String,Integer,KeyedAccessFile Integer,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{GeneralSparseTableXmpPageEmpty1} +\begin{paste}{GeneralSparseTableXmpPageEmpty1}{GeneralSparseTableXmpPagePatch1} +\pastebutton{GeneralSparseTableXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{patrons: GeneralSparseTable(String, Integer, KeyedAccessFile(Integer), 0) := table() ;\bound{patrons }} +\end{paste}\end{patch} + +\begin{patch}{GeneralSparseTableXmpPagePatch2} +\begin{paste}{GeneralSparseTableXmpPageFull2}{GeneralSparseTableXmpPageEmpty2} +\pastebutton{GeneralSparseTableXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{patrons."Smith" := 10500\free{patrons }\bound{smith }} +\indentrel{3}\begin{verbatim} + (2) 10500 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{GeneralSparseTableXmpPageEmpty2} +\begin{paste}{GeneralSparseTableXmpPageEmpty2}{GeneralSparseTableXmpPagePatch2} +\pastebutton{GeneralSparseTableXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{patrons."Smith" := 10500\free{patrons }\bound{smith }} +\end{paste}\end{patch} + +\begin{patch}{GeneralSparseTableXmpPagePatch3} +\begin{paste}{GeneralSparseTableXmpPageFull3}{GeneralSparseTableXmpPageEmpty3} +\pastebutton{GeneralSparseTableXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{patrons."Jones" := 22000\free{smith }\bound{jones }} +\indentrel{3}\begin{verbatim} + (3) 22000 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{GeneralSparseTableXmpPageEmpty3} +\begin{paste}{GeneralSparseTableXmpPageEmpty3}{GeneralSparseTableXmpPagePatch3} +\pastebutton{GeneralSparseTableXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{patrons."Jones" := 22000\free{smith }\bound{jones }} +\end{paste}\end{patch} + +\begin{patch}{GeneralSparseTableXmpPagePatch4} +\begin{paste}{GeneralSparseTableXmpPageFull4}{GeneralSparseTableXmpPageEmpty4} +\pastebutton{GeneralSparseTableXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{patrons."Jones"\free{jones }} +\indentrel{3}\begin{verbatim} + (4) 22000 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{GeneralSparseTableXmpPageEmpty4} +\begin{paste}{GeneralSparseTableXmpPageEmpty4}{GeneralSparseTableXmpPagePatch4} +\pastebutton{GeneralSparseTableXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{patrons."Jones"\free{jones }} +\end{paste}\end{patch} + +\begin{patch}{GeneralSparseTableXmpPagePatch5} +\begin{paste}{GeneralSparseTableXmpPageFull5}{GeneralSparseTableXmpPageEmpty5} +\pastebutton{GeneralSparseTableXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{patrons."Stingy"\free{jones }} +\indentrel{3}\begin{verbatim} + (5) 0 + Type: NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{GeneralSparseTableXmpPageEmpty5} +\begin{paste}{GeneralSparseTableXmpPageEmpty5}{GeneralSparseTableXmpPagePatch5} +\pastebutton{GeneralSparseTableXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{patrons."Stingy"\free{jones }} +\end{paste}\end{patch} + +\begin{patch}{GeneralSparseTableXmpPagePatch6} +\begin{paste}{GeneralSparseTableXmpPageFull6}{GeneralSparseTableXmpPageEmpty6} +\pastebutton{GeneralSparseTableXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{reduce(+, entries patrons)\free{jones }} +\indentrel{3}\begin{verbatim} + (6) 32500 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{GeneralSparseTableXmpPageEmpty6} +\begin{paste}{GeneralSparseTableXmpPageEmpty6}{GeneralSparseTableXmpPagePatch6} +\pastebutton{GeneralSparseTableXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{reduce(+, entries patrons)\free{jones }} +\end{paste}\end{patch} + +\begin{patch}{GeneralSparseTableXmpPagePatch7} +\begin{paste}{GeneralSparseTableXmpPageFull7}{GeneralSparseTableXmpPageEmpty7} +\pastebutton{GeneralSparseTableXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{)system rm -r kaf*.sdata\free{patrons }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{GeneralSparseTableXmpPageEmpty7} +\begin{paste}{GeneralSparseTableXmpPageEmpty7}{GeneralSparseTableXmpPagePatch7} +\pastebutton{GeneralSparseTableXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{)system rm -r kaf*.sdata\free{patrons }} +\end{paste}\end{patch} + @ \section{heap.ht} \pagehead{HeapXmpPage}{heap.ht}{Heap} @@ -11117,6 +28620,133 @@ These numbers are bona fide algebraic objects. \autobuttons \end{page} +\begin{patch}{HexExpansionXmpPagePatch1} +\begin{paste}{HexExpansionXmpPageFull1}{HexExpansionXmpPageEmpty1} +\pastebutton{HexExpansionXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{r := hex(22/7)\bound{r }} +\indentrel{3}\begin{verbatim} + ___ + (1) 3.249 + Type: HexadecimalExpansion +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{HexExpansionXmpPageEmpty1} +\begin{paste}{HexExpansionXmpPageEmpty1}{HexExpansionXmpPagePatch1} +\pastebutton{HexExpansionXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{r := hex(22/7)\bound{r }} +\end{paste}\end{patch} + +\begin{patch}{HexExpansionXmpPagePatch2} +\begin{paste}{HexExpansionXmpPageFull2}{HexExpansionXmpPageEmpty2} +\pastebutton{HexExpansionXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{r + hex(6/7)\free{r }} +\indentrel{3}\begin{verbatim} + (2) 4 + Type: HexadecimalExpansion +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{HexExpansionXmpPageEmpty2} +\begin{paste}{HexExpansionXmpPageEmpty2}{HexExpansionXmpPagePatch2} +\pastebutton{HexExpansionXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{r + hex(6/7)\free{r }} +\end{paste}\end{patch} + +\begin{patch}{HexExpansionXmpPagePatch3} +\begin{paste}{HexExpansionXmpPageFull3}{HexExpansionXmpPageEmpty3} +\pastebutton{HexExpansionXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{[hex(1/i) for i in 350..354]} +\indentrel{3}\begin{verbatim} + (3) + _______________ _________ _____ + [0.00BB3EE721A54D88, 0.00BAB6561, 0.00BA2E8, + ______________________ + 0.00B9A7862A0FF465879D5F, + _____________________________ + 0.00B92143FA36F5E02E4850FE8DBD78] + Type: List HexadecimalExpansion +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{HexExpansionXmpPageEmpty3} +\begin{paste}{HexExpansionXmpPageEmpty3}{HexExpansionXmpPagePatch3} +\pastebutton{HexExpansionXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{[hex(1/i) for i in 350..354]} +\end{paste}\end{patch} + +\begin{patch}{HexExpansionXmpPagePatch4} +\begin{paste}{HexExpansionXmpPageFull4}{HexExpansionXmpPageEmpty4} +\pastebutton{HexExpansionXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{hex(1/1007)} +\indentrel{3}\begin{verbatim} + (4) + 0. + OVERBAR + 0041149783F0BF2C7D13933192AF6980619EE345E91EC2BB9 + D5CCA5C071E40926E54E8DDAE24196C0B2F8A0AAD60DBA5 + 7F5D4C8536262210C74F1 + Type: HexadecimalExpansion +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{HexExpansionXmpPageEmpty4} +\begin{paste}{HexExpansionXmpPageEmpty4}{HexExpansionXmpPagePatch4} +\pastebutton{HexExpansionXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{hex(1/1007)} +\end{paste}\end{patch} + +\begin{patch}{HexExpansionXmpPagePatch5} +\begin{paste}{HexExpansionXmpPageFull5}{HexExpansionXmpPageEmpty5} +\pastebutton{HexExpansionXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{p := hex(1/4)*x**2 + hex(2/3)*x + hex(4/9)\bound{p }} +\indentrel{3}\begin{verbatim} + 2 _ ___ + (5) 0.4x + 0.Ax + 0.71C + Type: Polynomial HexadecimalExpansion +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{HexExpansionXmpPageEmpty5} +\begin{paste}{HexExpansionXmpPageEmpty5}{HexExpansionXmpPagePatch5} +\pastebutton{HexExpansionXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{p := hex(1/4)*x**2 + hex(2/3)*x + hex(4/9)\bound{p }} +\end{paste}\end{patch} + +\begin{patch}{HexExpansionXmpPagePatch6} +\begin{paste}{HexExpansionXmpPageFull6}{HexExpansionXmpPageEmpty6} +\pastebutton{HexExpansionXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{q := D(p, x)\free{p }\bound{q }} +\indentrel{3}\begin{verbatim} + _ + (6) 0.8x + 0.A + Type: Polynomial HexadecimalExpansion +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{HexExpansionXmpPageEmpty6} +\begin{paste}{HexExpansionXmpPageEmpty6}{HexExpansionXmpPagePatch6} +\pastebutton{HexExpansionXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{q := D(p, x)\free{p }\bound{q }} +\end{paste}\end{patch} + +\begin{patch}{HexExpansionXmpPagePatch7} +\begin{paste}{HexExpansionXmpPageFull7}{HexExpansionXmpPageEmpty7} +\pastebutton{HexExpansionXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{g := gcd(p, q)\free{p }\free{q }} +\indentrel{3}\begin{verbatim} + _ + (7) x + 1.5 + Type: Polynomial HexadecimalExpansion +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{HexExpansionXmpPageEmpty7} +\begin{paste}{HexExpansionXmpPageEmpty7}{HexExpansionXmpPagePatch7} +\pastebutton{HexExpansionXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{g := gcd(p, q)\free{p }\free{q }} +\end{paste}\end{patch} + @ \section{int.ht} \pagehead{IntegerXmpPage}{int.ht}{Integer} @@ -11367,6 +28997,493 @@ Records are discussed in detail in \autobuttons \end{page} +\begin{patch}{ugxIntegerBasicPagePatch1} +\begin{paste}{ugxIntegerBasicPageFull1}{ugxIntegerBasicPageEmpty1} +\pastebutton{ugxIntegerBasicPageFull1}{\hidepaste} +\tab{5}\spadcommand{2**(5678 - 4856 + 2 * 17)} +\indentrel{3}\begin{verbatim} + (1) + 480481077043500814718154092512592439123952613987168226_ + 34738556100880842000763082930863425270914120837430745_ + 72278211496076276922026433435687527334980249539302425_ + 42523045817764949544214392905306388478705146745768073_ + 877141698859815495632935288783334250628775936 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty1} +\begin{paste}{ugxIntegerBasicPageEmpty1}{ugxIntegerBasicPagePatch1} +\pastebutton{ugxIntegerBasicPageEmpty1}{\showpaste} +\tab{5}\spadcommand{2**(5678 - 4856 + 2 * 17)} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch2} +\begin{paste}{ugxIntegerBasicPageFull2}{ugxIntegerBasicPageEmpty2} +\pastebutton{ugxIntegerBasicPageFull2}{\hidepaste} +\tab{5}\spadcommand{x := -101\bound{x }} +\indentrel{3}\begin{verbatim} + (2) - 101 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty2} +\begin{paste}{ugxIntegerBasicPageEmpty2}{ugxIntegerBasicPagePatch2} +\pastebutton{ugxIntegerBasicPageEmpty2}{\showpaste} +\tab{5}\spadcommand{x := -101\bound{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch3} +\begin{paste}{ugxIntegerBasicPageFull3}{ugxIntegerBasicPageEmpty3} +\pastebutton{ugxIntegerBasicPageFull3}{\hidepaste} +\tab{5}\spadcommand{abs(x)\free{x }} +\indentrel{3}\begin{verbatim} + (3) 101 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty3} +\begin{paste}{ugxIntegerBasicPageEmpty3}{ugxIntegerBasicPagePatch3} +\pastebutton{ugxIntegerBasicPageEmpty3}{\showpaste} +\tab{5}\spadcommand{abs(x)\free{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch4} +\begin{paste}{ugxIntegerBasicPageFull4}{ugxIntegerBasicPageEmpty4} +\pastebutton{ugxIntegerBasicPageFull4}{\hidepaste} +\tab{5}\spadcommand{sign(x)\free{x }} +\indentrel{3}\begin{verbatim} + (4) - 1 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty4} +\begin{paste}{ugxIntegerBasicPageEmpty4}{ugxIntegerBasicPagePatch4} +\pastebutton{ugxIntegerBasicPageEmpty4}{\showpaste} +\tab{5}\spadcommand{sign(x)\free{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch5} +\begin{paste}{ugxIntegerBasicPageFull5}{ugxIntegerBasicPageEmpty5} +\pastebutton{ugxIntegerBasicPageFull5}{\hidepaste} +\tab{5}\spadcommand{x < 0\free{x }} +\indentrel{3}\begin{verbatim} + (5) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty5} +\begin{paste}{ugxIntegerBasicPageEmpty5}{ugxIntegerBasicPagePatch5} +\pastebutton{ugxIntegerBasicPageEmpty5}{\showpaste} +\tab{5}\spadcommand{x < 0\free{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch6} +\begin{paste}{ugxIntegerBasicPageFull6}{ugxIntegerBasicPageEmpty6} +\pastebutton{ugxIntegerBasicPageFull6}{\hidepaste} +\tab{5}\spadcommand{x <= -1\free{x }} +\indentrel{3}\begin{verbatim} + (6) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty6} +\begin{paste}{ugxIntegerBasicPageEmpty6}{ugxIntegerBasicPagePatch6} +\pastebutton{ugxIntegerBasicPageEmpty6}{\showpaste} +\tab{5}\spadcommand{x <= -1\free{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch7} +\begin{paste}{ugxIntegerBasicPageFull7}{ugxIntegerBasicPageEmpty7} +\pastebutton{ugxIntegerBasicPageFull7}{\hidepaste} +\tab{5}\spadcommand{negative?(x)\free{x }} +\indentrel{3}\begin{verbatim} + (7) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty7} +\begin{paste}{ugxIntegerBasicPageEmpty7}{ugxIntegerBasicPagePatch7} +\pastebutton{ugxIntegerBasicPageEmpty7}{\showpaste} +\tab{5}\spadcommand{negative?(x)\free{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch8} +\begin{paste}{ugxIntegerBasicPageFull8}{ugxIntegerBasicPageEmpty8} +\pastebutton{ugxIntegerBasicPageFull8}{\hidepaste} +\tab{5}\spadcommand{x > 0\free{x }} +\indentrel{3}\begin{verbatim} + (8) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty8} +\begin{paste}{ugxIntegerBasicPageEmpty8}{ugxIntegerBasicPagePatch8} +\pastebutton{ugxIntegerBasicPageEmpty8}{\showpaste} +\tab{5}\spadcommand{x > 0\free{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch9} +\begin{paste}{ugxIntegerBasicPageFull9}{ugxIntegerBasicPageEmpty9} +\pastebutton{ugxIntegerBasicPageFull9}{\hidepaste} +\tab{5}\spadcommand{x >= 1\free{x }} +\indentrel{3}\begin{verbatim} + (9) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty9} +\begin{paste}{ugxIntegerBasicPageEmpty9}{ugxIntegerBasicPagePatch9} +\pastebutton{ugxIntegerBasicPageEmpty9}{\showpaste} +\tab{5}\spadcommand{x >= 1\free{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch10} +\begin{paste}{ugxIntegerBasicPageFull10}{ugxIntegerBasicPageEmpty10} +\pastebutton{ugxIntegerBasicPageFull10}{\hidepaste} +\tab{5}\spadcommand{positive?(x)\free{x }} +\indentrel{3}\begin{verbatim} + (10) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty10} +\begin{paste}{ugxIntegerBasicPageEmpty10}{ugxIntegerBasicPagePatch10} +\pastebutton{ugxIntegerBasicPageEmpty10}{\showpaste} +\tab{5}\spadcommand{positive?(x)\free{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch11} +\begin{paste}{ugxIntegerBasicPageFull11}{ugxIntegerBasicPageEmpty11} +\pastebutton{ugxIntegerBasicPageFull11}{\hidepaste} +\tab{5}\spadcommand{zero?(x)\free{x }} +\indentrel{3}\begin{verbatim} + (11) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty11} +\begin{paste}{ugxIntegerBasicPageEmpty11}{ugxIntegerBasicPagePatch11} +\pastebutton{ugxIntegerBasicPageEmpty11}{\showpaste} +\tab{5}\spadcommand{zero?(x)\free{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch12} +\begin{paste}{ugxIntegerBasicPageFull12}{ugxIntegerBasicPageEmpty12} +\pastebutton{ugxIntegerBasicPageFull12}{\hidepaste} +\tab{5}\spadcommand{one?(x)\free{x }} +\indentrel{3}\begin{verbatim} + (12) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty12} +\begin{paste}{ugxIntegerBasicPageEmpty12}{ugxIntegerBasicPagePatch12} +\pastebutton{ugxIntegerBasicPageEmpty12}{\showpaste} +\tab{5}\spadcommand{one?(x)\free{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch13} +\begin{paste}{ugxIntegerBasicPageFull13}{ugxIntegerBasicPageEmpty13} +\pastebutton{ugxIntegerBasicPageFull13}{\hidepaste} +\tab{5}\spadcommand{(x = -101)@Boolean\free{x }} +\indentrel{3}\begin{verbatim} + (13) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty13} +\begin{paste}{ugxIntegerBasicPageEmpty13}{ugxIntegerBasicPagePatch13} +\pastebutton{ugxIntegerBasicPageEmpty13}{\showpaste} +\tab{5}\spadcommand{(x = -101)@Boolean\free{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch14} +\begin{paste}{ugxIntegerBasicPageFull14}{ugxIntegerBasicPageEmpty14} +\pastebutton{ugxIntegerBasicPageFull14}{\hidepaste} +\tab{5}\spadcommand{odd?(x)\free{x }} +\indentrel{3}\begin{verbatim} + (14) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty14} +\begin{paste}{ugxIntegerBasicPageEmpty14}{ugxIntegerBasicPagePatch14} +\pastebutton{ugxIntegerBasicPageEmpty14}{\showpaste} +\tab{5}\spadcommand{odd?(x)\free{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch15} +\begin{paste}{ugxIntegerBasicPageFull15}{ugxIntegerBasicPageEmpty15} +\pastebutton{ugxIntegerBasicPageFull15}{\hidepaste} +\tab{5}\spadcommand{even?(x)\free{x }} +\indentrel{3}\begin{verbatim} + (15) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty15} +\begin{paste}{ugxIntegerBasicPageEmpty15}{ugxIntegerBasicPagePatch15} +\pastebutton{ugxIntegerBasicPageEmpty15}{\showpaste} +\tab{5}\spadcommand{even?(x)\free{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch16} +\begin{paste}{ugxIntegerBasicPageFull16}{ugxIntegerBasicPageEmpty16} +\pastebutton{ugxIntegerBasicPageFull16}{\hidepaste} +\tab{5}\spadcommand{gcd(56788,43688)} +\indentrel{3}\begin{verbatim} + (16) 4 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty16} +\begin{paste}{ugxIntegerBasicPageEmpty16}{ugxIntegerBasicPagePatch16} +\pastebutton{ugxIntegerBasicPageEmpty16}{\showpaste} +\tab{5}\spadcommand{gcd(56788,43688)} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch17} +\begin{paste}{ugxIntegerBasicPageFull17}{ugxIntegerBasicPageEmpty17} +\pastebutton{ugxIntegerBasicPageFull17}{\hidepaste} +\tab{5}\spadcommand{lcm(56788,43688)} +\indentrel{3}\begin{verbatim} + (17) 620238536 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty17} +\begin{paste}{ugxIntegerBasicPageEmpty17}{ugxIntegerBasicPagePatch17} +\pastebutton{ugxIntegerBasicPageEmpty17}{\showpaste} +\tab{5}\spadcommand{lcm(56788,43688)} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch18} +\begin{paste}{ugxIntegerBasicPageFull18}{ugxIntegerBasicPageEmpty18} +\pastebutton{ugxIntegerBasicPageFull18}{\hidepaste} +\tab{5}\spadcommand{max(678,567)} +\indentrel{3}\begin{verbatim} + (18) 678 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty18} +\begin{paste}{ugxIntegerBasicPageEmpty18}{ugxIntegerBasicPagePatch18} +\pastebutton{ugxIntegerBasicPageEmpty18}{\showpaste} +\tab{5}\spadcommand{max(678,567)} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch19} +\begin{paste}{ugxIntegerBasicPageFull19}{ugxIntegerBasicPageEmpty19} +\pastebutton{ugxIntegerBasicPageFull19}{\hidepaste} +\tab{5}\spadcommand{min(678,567)} +\indentrel{3}\begin{verbatim} + (19) 567 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty19} +\begin{paste}{ugxIntegerBasicPageEmpty19}{ugxIntegerBasicPagePatch19} +\pastebutton{ugxIntegerBasicPageEmpty19}{\showpaste} +\tab{5}\spadcommand{min(678,567)} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch20} +\begin{paste}{ugxIntegerBasicPageFull20}{ugxIntegerBasicPageEmpty20} +\pastebutton{ugxIntegerBasicPageFull20}{\hidepaste} +\tab{5}\spadcommand{reduce(max,[2,45,-89,78,100,-45])} +\indentrel{3}\begin{verbatim} + (20) 100 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty20} +\begin{paste}{ugxIntegerBasicPageEmpty20}{ugxIntegerBasicPagePatch20} +\pastebutton{ugxIntegerBasicPageEmpty20}{\showpaste} +\tab{5}\spadcommand{reduce(max,[2,45,-89,78,100,-45])} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch21} +\begin{paste}{ugxIntegerBasicPageFull21}{ugxIntegerBasicPageEmpty21} +\pastebutton{ugxIntegerBasicPageFull21}{\hidepaste} +\tab{5}\spadcommand{reduce(min,[2,45,-89,78,100,-45])} +\indentrel{3}\begin{verbatim} + (21) - 89 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty21} +\begin{paste}{ugxIntegerBasicPageEmpty21}{ugxIntegerBasicPagePatch21} +\pastebutton{ugxIntegerBasicPageEmpty21}{\showpaste} +\tab{5}\spadcommand{reduce(min,[2,45,-89,78,100,-45])} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch22} +\begin{paste}{ugxIntegerBasicPageFull22}{ugxIntegerBasicPageEmpty22} +\pastebutton{ugxIntegerBasicPageFull22}{\hidepaste} +\tab{5}\spadcommand{reduce(gcd,[2,45,-89,78,100,-45])} +\indentrel{3}\begin{verbatim} + (22) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty22} +\begin{paste}{ugxIntegerBasicPageEmpty22}{ugxIntegerBasicPagePatch22} +\pastebutton{ugxIntegerBasicPageEmpty22}{\showpaste} +\tab{5}\spadcommand{reduce(gcd,[2,45,-89,78,100,-45])} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch23} +\begin{paste}{ugxIntegerBasicPageFull23}{ugxIntegerBasicPageEmpty23} +\pastebutton{ugxIntegerBasicPageFull23}{\hidepaste} +\tab{5}\spadcommand{reduce(lcm,[2,45,-89,78,100,-45])} +\indentrel{3}\begin{verbatim} + (23) 1041300 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty23} +\begin{paste}{ugxIntegerBasicPageEmpty23}{ugxIntegerBasicPagePatch23} +\pastebutton{ugxIntegerBasicPageEmpty23}{\showpaste} +\tab{5}\spadcommand{reduce(lcm,[2,45,-89,78,100,-45])} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch24} +\begin{paste}{ugxIntegerBasicPageFull24}{ugxIntegerBasicPageEmpty24} +\pastebutton{ugxIntegerBasicPageFull24}{\hidepaste} +\tab{5}\spadcommand{13 / 4} +\indentrel{3}\begin{verbatim} + 13 + (24) ÄÄ + 4 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty24} +\begin{paste}{ugxIntegerBasicPageEmpty24}{ugxIntegerBasicPagePatch24} +\pastebutton{ugxIntegerBasicPageEmpty24}{\showpaste} +\tab{5}\spadcommand{13 / 4} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch25} +\begin{paste}{ugxIntegerBasicPageFull25}{ugxIntegerBasicPageEmpty25} +\pastebutton{ugxIntegerBasicPageFull25}{\hidepaste} +\tab{5}\spadcommand{13 quo 4} +\indentrel{3}\begin{verbatim} + (25) 3 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty25} +\begin{paste}{ugxIntegerBasicPageEmpty25}{ugxIntegerBasicPagePatch25} +\pastebutton{ugxIntegerBasicPageEmpty25}{\showpaste} +\tab{5}\spadcommand{13 quo 4} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch26} +\begin{paste}{ugxIntegerBasicPageFull26}{ugxIntegerBasicPageEmpty26} +\pastebutton{ugxIntegerBasicPageFull26}{\hidepaste} +\tab{5}\spadcommand{13 rem 4} +\indentrel{3}\begin{verbatim} + (26) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty26} +\begin{paste}{ugxIntegerBasicPageEmpty26}{ugxIntegerBasicPagePatch26} +\pastebutton{ugxIntegerBasicPageEmpty26}{\showpaste} +\tab{5}\spadcommand{13 rem 4} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch27} +\begin{paste}{ugxIntegerBasicPageFull27}{ugxIntegerBasicPageEmpty27} +\pastebutton{ugxIntegerBasicPageFull27}{\hidepaste} +\tab{5}\spadcommand{zero?(167604736446952 rem 2003644)} +\indentrel{3}\begin{verbatim} + (27) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty27} +\begin{paste}{ugxIntegerBasicPageEmpty27}{ugxIntegerBasicPagePatch27} +\pastebutton{ugxIntegerBasicPageEmpty27}{\showpaste} +\tab{5}\spadcommand{zero?(167604736446952 rem 2003644)} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch28} +\begin{paste}{ugxIntegerBasicPageFull28}{ugxIntegerBasicPageEmpty28} +\pastebutton{ugxIntegerBasicPageFull28}{\hidepaste} +\tab{5}\spadcommand{d := divide(13,4)\bound{d }} +\indentrel{3}\begin{verbatim} + (28) [quotient= 3,remainder= 1] + Type: Record(quotient: Integer,remainder: Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty28} +\begin{paste}{ugxIntegerBasicPageEmpty28}{ugxIntegerBasicPagePatch28} +\pastebutton{ugxIntegerBasicPageEmpty28}{\showpaste} +\tab{5}\spadcommand{d := divide(13,4)\bound{d }} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch29} +\begin{paste}{ugxIntegerBasicPageFull29}{ugxIntegerBasicPageEmpty29} +\pastebutton{ugxIntegerBasicPageFull29}{\hidepaste} +\tab{5}\spadcommand{d.quotient\free{d }} +\indentrel{3}\begin{verbatim} + (29) 3 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty29} +\begin{paste}{ugxIntegerBasicPageEmpty29}{ugxIntegerBasicPagePatch29} +\pastebutton{ugxIntegerBasicPageEmpty29}{\showpaste} +\tab{5}\spadcommand{d.quotient\free{d }} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPagePatch30} +\begin{paste}{ugxIntegerBasicPageFull30}{ugxIntegerBasicPageEmpty30} +\pastebutton{ugxIntegerBasicPageFull30}{\hidepaste} +\tab{5}\spadcommand{d.remainder\free{d }} +\indentrel{3}\begin{verbatim} + (30) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerBasicPageEmpty30} +\begin{paste}{ugxIntegerBasicPageEmpty30}{ugxIntegerBasicPagePatch30} +\pastebutton{ugxIntegerBasicPageEmpty30}{\showpaste} +\tab{5}\spadcommand{d.remainder\free{d }} +\end{paste}\end{patch} + @ \pagehead{ugxIntegerPrimesPage}{int.ht}{Primes and Factorization} \pagepic{ps/v71ugxintegerprimespage.eps}{ugxIntegerPrimesPage} @@ -11430,6 +29547,122 @@ See \downlink{`Complex'}{ComplexXmpPage}\ignore{Complex} for more details. \autobuttons \end{page} +\begin{patch}{ugxIntegerPrimesPagePatch1} +\begin{paste}{ugxIntegerPrimesPageFull1}{ugxIntegerPrimesPageEmpty1} +\pastebutton{ugxIntegerPrimesPageFull1}{\hidepaste} +\tab{5}\spadcommand{factor 102400} +\indentrel{3}\begin{verbatim} + 12 2 + (1) 2 5 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerPrimesPageEmpty1} +\begin{paste}{ugxIntegerPrimesPageEmpty1}{ugxIntegerPrimesPagePatch1} +\pastebutton{ugxIntegerPrimesPageEmpty1}{\showpaste} +\tab{5}\spadcommand{factor 102400} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerPrimesPagePatch2} +\begin{paste}{ugxIntegerPrimesPageFull2}{ugxIntegerPrimesPageEmpty2} +\pastebutton{ugxIntegerPrimesPageFull2}{\hidepaste} +\tab{5}\spadcommand{prime? 7} +\indentrel{3}\begin{verbatim} + (2) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerPrimesPageEmpty2} +\begin{paste}{ugxIntegerPrimesPageEmpty2}{ugxIntegerPrimesPagePatch2} +\pastebutton{ugxIntegerPrimesPageEmpty2}{\showpaste} +\tab{5}\spadcommand{prime? 7} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerPrimesPagePatch3} +\begin{paste}{ugxIntegerPrimesPageFull3}{ugxIntegerPrimesPageEmpty3} +\pastebutton{ugxIntegerPrimesPageFull3}{\hidepaste} +\tab{5}\spadcommand{prime? 8} +\indentrel{3}\begin{verbatim} + (3) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerPrimesPageEmpty3} +\begin{paste}{ugxIntegerPrimesPageEmpty3}{ugxIntegerPrimesPagePatch3} +\pastebutton{ugxIntegerPrimesPageEmpty3}{\showpaste} +\tab{5}\spadcommand{prime? 8} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerPrimesPagePatch4} +\begin{paste}{ugxIntegerPrimesPageFull4}{ugxIntegerPrimesPageEmpty4} +\pastebutton{ugxIntegerPrimesPageFull4}{\hidepaste} +\tab{5}\spadcommand{nextPrime 100} +\indentrel{3}\begin{verbatim} + (4) 101 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerPrimesPageEmpty4} +\begin{paste}{ugxIntegerPrimesPageEmpty4}{ugxIntegerPrimesPagePatch4} +\pastebutton{ugxIntegerPrimesPageEmpty4}{\showpaste} +\tab{5}\spadcommand{nextPrime 100} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerPrimesPagePatch5} +\begin{paste}{ugxIntegerPrimesPageFull5}{ugxIntegerPrimesPageEmpty5} +\pastebutton{ugxIntegerPrimesPageFull5}{\hidepaste} +\tab{5}\spadcommand{prevPrime 100} +\indentrel{3}\begin{verbatim} + (5) 97 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerPrimesPageEmpty5} +\begin{paste}{ugxIntegerPrimesPageEmpty5}{ugxIntegerPrimesPagePatch5} +\pastebutton{ugxIntegerPrimesPageEmpty5}{\showpaste} +\tab{5}\spadcommand{prevPrime 100} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerPrimesPagePatch6} +\begin{paste}{ugxIntegerPrimesPageFull6}{ugxIntegerPrimesPageEmpty6} +\pastebutton{ugxIntegerPrimesPageFull6}{\hidepaste} +\tab{5}\spadcommand{primes(100,175)} +\indentrel{3}\begin{verbatim} + (6) + [173, 167, 163, 157, 151, 149, 139, 137, 131, 127, + 113, 109, 107, 103, 101] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerPrimesPageEmpty6} +\begin{paste}{ugxIntegerPrimesPageEmpty6}{ugxIntegerPrimesPagePatch6} +\pastebutton{ugxIntegerPrimesPageEmpty6}{\showpaste} +\tab{5}\spadcommand{primes(100,175)} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerPrimesPagePatch7} +\begin{paste}{ugxIntegerPrimesPageFull7}{ugxIntegerPrimesPageEmpty7} +\pastebutton{ugxIntegerPrimesPageFull7}{\hidepaste} +\tab{5}\spadcommand{factor(2 :: Complex Integer)} +\indentrel{3}\begin{verbatim} + 2 + (7) - %i (1 + %i) + Type: Factored Complex Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerPrimesPageEmpty7} +\begin{paste}{ugxIntegerPrimesPageEmpty7}{ugxIntegerPrimesPagePatch7} +\pastebutton{ugxIntegerPrimesPageEmpty7}{\showpaste} +\tab{5}\spadcommand{factor(2 :: Complex Integer)} +\end{paste}\end{patch} + @ \pagehead{ugxIntegerNTPage}{int.ht}{Some Number Theoretic Functions} \pagepic{ps/v71ugxintegerntpage.eps}{ugxIntegerNTPage} @@ -11512,7 +29745,166 @@ Roman numerals. \endscroll \autobuttons \end{page} -% + +\begin{patch}{ugxIntegerNTPagePatch1} +\begin{paste}{ugxIntegerNTPageFull1}{ugxIntegerNTPageEmpty1} +\pastebutton{ugxIntegerNTPageFull1}{\hidepaste} +\tab{5}\spadcommand{[fibonacci(k) for k in 0..]} +\indentrel{3}\begin{verbatim} + (1) [0,1,1,2,3,5,8,13,21,34,...] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerNTPageEmpty1} +\begin{paste}{ugxIntegerNTPageEmpty1}{ugxIntegerNTPagePatch1} +\pastebutton{ugxIntegerNTPageEmpty1}{\showpaste} +\tab{5}\spadcommand{[fibonacci(k) for k in 0..]} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerNTPagePatch2} +\begin{paste}{ugxIntegerNTPageFull2}{ugxIntegerNTPageEmpty2} +\pastebutton{ugxIntegerNTPageFull2}{\hidepaste} +\tab{5}\spadcommand{[legendre(i,11) for i in 0..10]} +\indentrel{3}\begin{verbatim} + (2) [0,1,- 1,1,1,1,- 1,- 1,- 1,1,- 1] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerNTPageEmpty2} +\begin{paste}{ugxIntegerNTPageEmpty2}{ugxIntegerNTPagePatch2} +\pastebutton{ugxIntegerNTPageEmpty2}{\showpaste} +\tab{5}\spadcommand{[legendre(i,11) for i in 0..10]} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerNTPagePatch3} +\begin{paste}{ugxIntegerNTPageFull3}{ugxIntegerNTPageEmpty3} +\pastebutton{ugxIntegerNTPageFull3}{\hidepaste} +\tab{5}\spadcommand{[jacobi(i,15) for i in 0..9]} +\indentrel{3}\begin{verbatim} + (3) [0,1,1,0,1,0,0,- 1,1,0] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerNTPageEmpty3} +\begin{paste}{ugxIntegerNTPageEmpty3}{ugxIntegerNTPagePatch3} +\pastebutton{ugxIntegerNTPageEmpty3}{\showpaste} +\tab{5}\spadcommand{[jacobi(i,15) for i in 0..9]} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerNTPagePatch4} +\begin{paste}{ugxIntegerNTPageFull4}{ugxIntegerNTPageEmpty4} +\pastebutton{ugxIntegerNTPageFull4}{\hidepaste} +\tab{5}\spadcommand{[eulerPhi i for i in 1..]} +\indentrel{3}\begin{verbatim} + (4) [1,1,2,2,4,2,6,4,6,4,...] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerNTPageEmpty4} +\begin{paste}{ugxIntegerNTPageEmpty4}{ugxIntegerNTPagePatch4} +\pastebutton{ugxIntegerNTPageEmpty4}{\showpaste} +\tab{5}\spadcommand{[eulerPhi i for i in 1..]} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerNTPagePatch5} +\begin{paste}{ugxIntegerNTPageFull5}{ugxIntegerNTPageEmpty5} +\pastebutton{ugxIntegerNTPageFull5}{\hidepaste} +\tab{5}\spadcommand{[moebiusMu i for i in 1..]} +\indentrel{3}\begin{verbatim} + (5) [1,- 1,- 1,0,- 1,1,- 1,0,0,1,...] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerNTPageEmpty5} +\begin{paste}{ugxIntegerNTPageEmpty5}{ugxIntegerNTPagePatch5} +\pastebutton{ugxIntegerNTPageEmpty5}{\showpaste} +\tab{5}\spadcommand{[moebiusMu i for i in 1..]} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerNTPagePatch6} +\begin{paste}{ugxIntegerNTPageFull6}{ugxIntegerNTPageEmpty6} +\pastebutton{ugxIntegerNTPageFull6}{\hidepaste} +\tab{5}\spadcommand{a := roman(78)\bound{a }} +\indentrel{3}\begin{verbatim} + (6) LXXVIII + Type: RomanNumeral +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerNTPageEmpty6} +\begin{paste}{ugxIntegerNTPageEmpty6}{ugxIntegerNTPagePatch6} +\pastebutton{ugxIntegerNTPageEmpty6}{\showpaste} +\tab{5}\spadcommand{a := roman(78)\bound{a }} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerNTPagePatch7} +\begin{paste}{ugxIntegerNTPageFull7}{ugxIntegerNTPageEmpty7} +\pastebutton{ugxIntegerNTPageFull7}{\hidepaste} +\tab{5}\spadcommand{b := roman(87)\bound{b }} +\indentrel{3}\begin{verbatim} + (7) LXXXVII + Type: RomanNumeral +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerNTPageEmpty7} +\begin{paste}{ugxIntegerNTPageEmpty7}{ugxIntegerNTPagePatch7} +\pastebutton{ugxIntegerNTPageEmpty7}{\showpaste} +\tab{5}\spadcommand{b := roman(87)\bound{b }} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerNTPagePatch8} +\begin{paste}{ugxIntegerNTPageFull8}{ugxIntegerNTPageEmpty8} +\pastebutton{ugxIntegerNTPageFull8}{\hidepaste} +\tab{5}\spadcommand{a + b\free{a }\free{b }} +\indentrel{3}\begin{verbatim} + (8) CLXV + Type: RomanNumeral +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerNTPageEmpty8} +\begin{paste}{ugxIntegerNTPageEmpty8}{ugxIntegerNTPagePatch8} +\pastebutton{ugxIntegerNTPageEmpty8}{\showpaste} +\tab{5}\spadcommand{a + b\free{a }\free{b }} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerNTPagePatch9} +\begin{paste}{ugxIntegerNTPageFull9}{ugxIntegerNTPageEmpty9} +\pastebutton{ugxIntegerNTPageFull9}{\hidepaste} +\tab{5}\spadcommand{a * b\free{a }\free{b }} +\indentrel{3}\begin{verbatim} + (9) MMMMMMDCCLXXXVI + Type: RomanNumeral +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerNTPageEmpty9} +\begin{paste}{ugxIntegerNTPageEmpty9}{ugxIntegerNTPagePatch9} +\pastebutton{ugxIntegerNTPageEmpty9}{\showpaste} +\tab{5}\spadcommand{a * b\free{a }\free{b }} +\end{paste}\end{patch} + +\begin{patch}{ugxIntegerNTPagePatch10} +\begin{paste}{ugxIntegerNTPageFull10}{ugxIntegerNTPageEmpty10} +\pastebutton{ugxIntegerNTPageFull10}{\hidepaste} +\tab{5}\spadcommand{b rem a\free{a }\free{b }} +\indentrel{3}\begin{verbatim} + (10) IX + Type: RomanNumeral +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxIntegerNTPageEmpty10} +\begin{paste}{ugxIntegerNTPageEmpty10}{ugxIntegerNTPagePatch10} +\pastebutton{ugxIntegerNTPageEmpty10}{\showpaste} +\tab{5}\spadcommand{b rem a\free{a }\free{b }} +\end{paste}\end{patch} @ \section{intheory.ht} @@ -11737,6 +30129,354 @@ quadratic field with discriminant \spad{d}. \autobuttons \end{page} +\begin{patch}{IntNumberTheoryFnsXmpPagePatch1} +\begin{paste}{IntNumberTheoryFnsXmpPageFull1}{IntNumberTheoryFnsXmpPageEmpty1} +\pastebutton{IntNumberTheoryFnsXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{div144 := divisors(144)\bound{div144 }} +\indentrel{3}\begin{verbatim} + (1) [1,2,3,4,6,8,9,12,16,18,24,36,48,72,144] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPageEmpty1} +\begin{paste}{IntNumberTheoryFnsXmpPageEmpty1}{IntNumberTheoryFnsXmpPagePatch1} +\pastebutton{IntNumberTheoryFnsXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{div144 := divisors(144)\bound{div144 }} +\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPagePatch2} +\begin{paste}{IntNumberTheoryFnsXmpPageFull2}{IntNumberTheoryFnsXmpPageEmpty2} +\pastebutton{IntNumberTheoryFnsXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{\#(div144)\free{div144 }} +\indentrel{3}\begin{verbatim} + (2) 15 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPageEmpty2} +\begin{paste}{IntNumberTheoryFnsXmpPageEmpty2}{IntNumberTheoryFnsXmpPagePatch2} +\pastebutton{IntNumberTheoryFnsXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{\#(div144)\free{div144 }} +\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPagePatch3} +\begin{paste}{IntNumberTheoryFnsXmpPageFull3}{IntNumberTheoryFnsXmpPageEmpty3} +\pastebutton{IntNumberTheoryFnsXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{reduce(+,div144)\free{div144 }} +\indentrel{3}\begin{verbatim} + (3) 403 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPageEmpty3} +\begin{paste}{IntNumberTheoryFnsXmpPageEmpty3}{IntNumberTheoryFnsXmpPagePatch3} +\pastebutton{IntNumberTheoryFnsXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{reduce(+,div144)\free{div144 }} +\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPagePatch4} +\begin{paste}{IntNumberTheoryFnsXmpPageFull4}{IntNumberTheoryFnsXmpPageEmpty4} +\pastebutton{IntNumberTheoryFnsXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{numberOfDivisors(144)} +\indentrel{3}\begin{verbatim} + (4) 15 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPageEmpty4} +\begin{paste}{IntNumberTheoryFnsXmpPageEmpty4}{IntNumberTheoryFnsXmpPagePatch4} +\pastebutton{IntNumberTheoryFnsXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{numberOfDivisors(144)} +\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPagePatch5} +\begin{paste}{IntNumberTheoryFnsXmpPageFull5}{IntNumberTheoryFnsXmpPageEmpty5} +\pastebutton{IntNumberTheoryFnsXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{sumOfDivisors(144)} +\indentrel{3}\begin{verbatim} + (5) 403 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPageEmpty5} +\begin{paste}{IntNumberTheoryFnsXmpPageEmpty5}{IntNumberTheoryFnsXmpPagePatch5} +\pastebutton{IntNumberTheoryFnsXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{sumOfDivisors(144)} +\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPagePatch6} +\begin{paste}{IntNumberTheoryFnsXmpPageFull6}{IntNumberTheoryFnsXmpPageEmpty6} +\pastebutton{IntNumberTheoryFnsXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{f1(n) == reduce(+,[moebiusMu(d) * numberOfDivisors(quo(n,d)) for d in divisors(n)])\bound{f1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPageEmpty6} +\begin{paste}{IntNumberTheoryFnsXmpPageEmpty6}{IntNumberTheoryFnsXmpPagePatch6} +\pastebutton{IntNumberTheoryFnsXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{f1(n) == reduce(+,[moebiusMu(d) * numberOfDivisors(quo(n,d)) for d in divisors(n)])\bound{f1 }} +\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPagePatch7} +\begin{paste}{IntNumberTheoryFnsXmpPageFull7}{IntNumberTheoryFnsXmpPageEmpty7} +\pastebutton{IntNumberTheoryFnsXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{f1(200)\free{f1 }} +\indentrel{3}\begin{verbatim} + (7) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPageEmpty7} +\begin{paste}{IntNumberTheoryFnsXmpPageEmpty7}{IntNumberTheoryFnsXmpPagePatch7} +\pastebutton{IntNumberTheoryFnsXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{f1(200)\free{f1 }} +\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPagePatch8} +\begin{paste}{IntNumberTheoryFnsXmpPageFull8}{IntNumberTheoryFnsXmpPageEmpty8} +\pastebutton{IntNumberTheoryFnsXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{f1(846)\free{f1 }} +\indentrel{3}\begin{verbatim} + (8) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPageEmpty8} +\begin{paste}{IntNumberTheoryFnsXmpPageEmpty8}{IntNumberTheoryFnsXmpPagePatch8} +\pastebutton{IntNumberTheoryFnsXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{f1(846)\free{f1 }} +\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPagePatch9} +\begin{paste}{IntNumberTheoryFnsXmpPageFull9}{IntNumberTheoryFnsXmpPageEmpty9} +\pastebutton{IntNumberTheoryFnsXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{f2(n) == reduce(+,[moebiusMu(d) * sumOfDivisors(quo(n,d)) for d in divisors(n)])\bound{f2 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPageEmpty9} +\begin{paste}{IntNumberTheoryFnsXmpPageEmpty9}{IntNumberTheoryFnsXmpPagePatch9} +\pastebutton{IntNumberTheoryFnsXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{f2(n) == reduce(+,[moebiusMu(d) * sumOfDivisors(quo(n,d)) for d in divisors(n)])\bound{f2 }} +\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPagePatch10} +\begin{paste}{IntNumberTheoryFnsXmpPageFull10}{IntNumberTheoryFnsXmpPageEmpty10} +\pastebutton{IntNumberTheoryFnsXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{f2(200)\free{f2 }} +\indentrel{3}\begin{verbatim} + (10) 200 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPageEmpty10} +\begin{paste}{IntNumberTheoryFnsXmpPageEmpty10}{IntNumberTheoryFnsXmpPagePatch10} +\pastebutton{IntNumberTheoryFnsXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{f2(200)\free{f2 }} +\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPagePatch11} +\begin{paste}{IntNumberTheoryFnsXmpPageFull11}{IntNumberTheoryFnsXmpPageEmpty11} +\pastebutton{IntNumberTheoryFnsXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{f2(846)\free{f2 }} +\indentrel{3}\begin{verbatim} + (11) 846 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPageEmpty11} +\begin{paste}{IntNumberTheoryFnsXmpPageEmpty11}{IntNumberTheoryFnsXmpPagePatch11} +\pastebutton{IntNumberTheoryFnsXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{f2(846)\free{f2 }} +\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPagePatch12} +\begin{paste}{IntNumberTheoryFnsXmpPageFull12}{IntNumberTheoryFnsXmpPageEmpty12} +\pastebutton{IntNumberTheoryFnsXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{fibonacci(25)} +\indentrel{3}\begin{verbatim} + (12) 75025 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPageEmpty12} +\begin{paste}{IntNumberTheoryFnsXmpPageEmpty12}{IntNumberTheoryFnsXmpPagePatch12} +\pastebutton{IntNumberTheoryFnsXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{fibonacci(25)} +\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPagePatch13} +\begin{paste}{IntNumberTheoryFnsXmpPageFull13}{IntNumberTheoryFnsXmpPageEmpty13} +\pastebutton{IntNumberTheoryFnsXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{[fibonacci(n) for n in 1..15]} +\indentrel{3}\begin{verbatim} + (13) [1,1,2,3,5,8,13,21,34,55,89,144,233,377,610] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPageEmpty13} +\begin{paste}{IntNumberTheoryFnsXmpPageEmpty13}{IntNumberTheoryFnsXmpPagePatch13} +\pastebutton{IntNumberTheoryFnsXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{[fibonacci(n) for n in 1..15]} +\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPagePatch14} +\begin{paste}{IntNumberTheoryFnsXmpPageFull14}{IntNumberTheoryFnsXmpPageEmpty14} +\pastebutton{IntNumberTheoryFnsXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{fib(n) == reduce(+,[binomial(n-1-k,k) for k in 0..quo(n-1,2)])\bound{fib }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPageEmpty14} +\begin{paste}{IntNumberTheoryFnsXmpPageEmpty14}{IntNumberTheoryFnsXmpPagePatch14} +\pastebutton{IntNumberTheoryFnsXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{fib(n) == reduce(+,[binomial(n-1-k,k) for k in 0..quo(n-1,2)])\bound{fib }} +\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPagePatch15} +\begin{paste}{IntNumberTheoryFnsXmpPageFull15}{IntNumberTheoryFnsXmpPageEmpty15} +\pastebutton{IntNumberTheoryFnsXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{fib(25)\free{fib }} +\indentrel{3}\begin{verbatim} + (15) 75025 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPageEmpty15} +\begin{paste}{IntNumberTheoryFnsXmpPageEmpty15}{IntNumberTheoryFnsXmpPagePatch15} +\pastebutton{IntNumberTheoryFnsXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{fib(25)\free{fib }} +\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPagePatch16} +\begin{paste}{IntNumberTheoryFnsXmpPageFull16}{IntNumberTheoryFnsXmpPageEmpty16} +\pastebutton{IntNumberTheoryFnsXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{[fib(n) for n in 1..15]\free{fib }} +\indentrel{3}\begin{verbatim} + (16) [1,1,2,3,5,8,13,21,34,55,89,144,233,377,610] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPageEmpty16} +\begin{paste}{IntNumberTheoryFnsXmpPageEmpty16}{IntNumberTheoryFnsXmpPagePatch16} +\pastebutton{IntNumberTheoryFnsXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{[fib(n) for n in 1..15]\free{fib }} +\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPagePatch17} +\begin{paste}{IntNumberTheoryFnsXmpPageFull17}{IntNumberTheoryFnsXmpPageEmpty17} +\pastebutton{IntNumberTheoryFnsXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{legendre(3,5)} +\indentrel{3}\begin{verbatim} + (17) - 1 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPageEmpty17} +\begin{paste}{IntNumberTheoryFnsXmpPageEmpty17}{IntNumberTheoryFnsXmpPagePatch17} +\pastebutton{IntNumberTheoryFnsXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{legendre(3,5)} +\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPagePatch18} +\begin{paste}{IntNumberTheoryFnsXmpPageFull18}{IntNumberTheoryFnsXmpPageEmpty18} +\pastebutton{IntNumberTheoryFnsXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{legendre(23,691)} +\indentrel{3}\begin{verbatim} + (18) - 1 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPageEmpty18} +\begin{paste}{IntNumberTheoryFnsXmpPageEmpty18}{IntNumberTheoryFnsXmpPagePatch18} +\pastebutton{IntNumberTheoryFnsXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{legendre(23,691)} +\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPagePatch19} +\begin{paste}{IntNumberTheoryFnsXmpPageFull19}{IntNumberTheoryFnsXmpPageEmpty19} +\pastebutton{IntNumberTheoryFnsXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{h(d) == quo(reduce(+, [jacobi(d,k) for k in 1..quo(-d, 2)]), 2 - jacobi(d,2))\bound{h }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPageEmpty19} +\begin{paste}{IntNumberTheoryFnsXmpPageEmpty19}{IntNumberTheoryFnsXmpPagePatch19} +\pastebutton{IntNumberTheoryFnsXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{h(d) == quo(reduce(+, [jacobi(d,k) for k in 1..quo(-d, 2)]), 2 - jacobi(d,2))\bound{h }} +\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPagePatch20} +\begin{paste}{IntNumberTheoryFnsXmpPageFull20}{IntNumberTheoryFnsXmpPageEmpty20} +\pastebutton{IntNumberTheoryFnsXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{h(-163)\free{h }} +\indentrel{3}\begin{verbatim} + (20) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPageEmpty20} +\begin{paste}{IntNumberTheoryFnsXmpPageEmpty20}{IntNumberTheoryFnsXmpPagePatch20} +\pastebutton{IntNumberTheoryFnsXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{h(-163)\free{h }} +\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPagePatch21} +\begin{paste}{IntNumberTheoryFnsXmpPageFull21}{IntNumberTheoryFnsXmpPageEmpty21} +\pastebutton{IntNumberTheoryFnsXmpPageFull21}{\hidepaste} +\tab{5}\spadcommand{h(-499)\free{h }} +\indentrel{3}\begin{verbatim} + (21) 3 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPageEmpty21} +\begin{paste}{IntNumberTheoryFnsXmpPageEmpty21}{IntNumberTheoryFnsXmpPagePatch21} +\pastebutton{IntNumberTheoryFnsXmpPageEmpty21}{\showpaste} +\tab{5}\spadcommand{h(-499)\free{h }} +\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPagePatch22} +\begin{paste}{IntNumberTheoryFnsXmpPageFull22}{IntNumberTheoryFnsXmpPageEmpty22} +\pastebutton{IntNumberTheoryFnsXmpPageFull22}{\hidepaste} +\tab{5}\spadcommand{h(-1832)\free{h }} +\indentrel{3}\begin{verbatim} + (22) 26 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntNumberTheoryFnsXmpPageEmpty22} +\begin{paste}{IntNumberTheoryFnsXmpPageEmpty22}{IntNumberTheoryFnsXmpPagePatch22} +\pastebutton{IntNumberTheoryFnsXmpPageEmpty22}{\showpaste} +\tab{5}\spadcommand{h(-1832)\free{h }} +\end{paste}\end{patch} + @ \section{kafile.ht} \pagehead{KeyedAccessFileXmpPage}{kafile.ht}{KeyedAccessFile} @@ -11879,6 +30619,341 @@ For more information on related topics, see \autobuttons \end{page} +\begin{patch}{KeyedAccessFileXmpPagePatch1} +\begin{paste}{KeyedAccessFileXmpPageFull1}{KeyedAccessFileXmpPageEmpty1} +\pastebutton{KeyedAccessFileXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{ey: KeyedAccessFile(Integer) := open("/tmp/editor.year", "output")\bound{ey }} +\indentrel{3}\begin{verbatim} + (1) "/tmp/editor.year" + Type: KeyedAccessFile Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPageEmpty1} +\begin{paste}{KeyedAccessFileXmpPageEmpty1}{KeyedAccessFileXmpPagePatch1} +\pastebutton{KeyedAccessFileXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{ey: KeyedAccessFile(Integer) := open("/tmp/editor.year", "output")\bound{ey }} +\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPagePatch2} +\begin{paste}{KeyedAccessFileXmpPageFull2}{KeyedAccessFileXmpPageEmpty2} +\pastebutton{KeyedAccessFileXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{ey."Char" := 1986\free{ey }\bound{eya }} +\indentrel{3}\begin{verbatim} + (2) 1986 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPageEmpty2} +\begin{paste}{KeyedAccessFileXmpPageEmpty2}{KeyedAccessFileXmpPagePatch2} +\pastebutton{KeyedAccessFileXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{ey."Char" := 1986\free{ey }\bound{eya }} +\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPagePatch3} +\begin{paste}{KeyedAccessFileXmpPageFull3}{KeyedAccessFileXmpPageEmpty3} +\pastebutton{KeyedAccessFileXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{ey."Caviness" := 1985\free{ey }\bound{eyb }} +\indentrel{3}\begin{verbatim} + (3) 1985 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPageEmpty3} +\begin{paste}{KeyedAccessFileXmpPageEmpty3}{KeyedAccessFileXmpPagePatch3} +\pastebutton{KeyedAccessFileXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{ey."Caviness" := 1985\free{ey }\bound{eyb }} +\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPagePatch4} +\begin{paste}{KeyedAccessFileXmpPageFull4}{KeyedAccessFileXmpPageEmpty4} +\pastebutton{KeyedAccessFileXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{ey."Fitch" := 1984\free{ey }\bound{eyc }} +\indentrel{3}\begin{verbatim} + (4) 1984 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPageEmpty4} +\begin{paste}{KeyedAccessFileXmpPageEmpty4}{KeyedAccessFileXmpPagePatch4} +\pastebutton{KeyedAccessFileXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{ey."Fitch" := 1984\free{ey }\bound{eyc }} +\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPagePatch5} +\begin{paste}{KeyedAccessFileXmpPageFull5}{KeyedAccessFileXmpPageEmpty5} +\pastebutton{KeyedAccessFileXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{ey."Char"\free{eya }} +\indentrel{3}\begin{verbatim} + (5) 1986 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPageEmpty5} +\begin{paste}{KeyedAccessFileXmpPageEmpty5}{KeyedAccessFileXmpPagePatch5} +\pastebutton{KeyedAccessFileXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{ey."Char"\free{eya }} +\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPagePatch6} +\begin{paste}{KeyedAccessFileXmpPageFull6}{KeyedAccessFileXmpPageEmpty6} +\pastebutton{KeyedAccessFileXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{ey("Char")\free{eya }} +\indentrel{3}\begin{verbatim} + (6) 1986 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPageEmpty6} +\begin{paste}{KeyedAccessFileXmpPageEmpty6}{KeyedAccessFileXmpPagePatch6} +\pastebutton{KeyedAccessFileXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{ey("Char")\free{eya }} +\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPagePatch7} +\begin{paste}{KeyedAccessFileXmpPageFull7}{KeyedAccessFileXmpPageEmpty7} +\pastebutton{KeyedAccessFileXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{ey "Char"\free{eya }} +\indentrel{3}\begin{verbatim} + (7) 1986 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPageEmpty7} +\begin{paste}{KeyedAccessFileXmpPageEmpty7}{KeyedAccessFileXmpPagePatch7} +\pastebutton{KeyedAccessFileXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{ey "Char"\free{eya }} +\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPagePatch8} +\begin{paste}{KeyedAccessFileXmpPageFull8}{KeyedAccessFileXmpPageEmpty8} +\pastebutton{KeyedAccessFileXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{search("Char", ey)\free{eya eyb eyc }\bound{eyaa }} +\indentrel{3}\begin{verbatim} + (8) 1986 + Type: Union(Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPageEmpty8} +\begin{paste}{KeyedAccessFileXmpPageEmpty8}{KeyedAccessFileXmpPagePatch8} +\pastebutton{KeyedAccessFileXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{search("Char", ey)\free{eya eyb eyc }\bound{eyaa }} +\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPagePatch9} +\begin{paste}{KeyedAccessFileXmpPageFull9}{KeyedAccessFileXmpPageEmpty9} +\pastebutton{KeyedAccessFileXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{search("Smith", ey)\free{eyaa }} +\indentrel{3}\begin{verbatim} + (9) "failed" + Type: Union("failed",...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPageEmpty9} +\begin{paste}{KeyedAccessFileXmpPageEmpty9}{KeyedAccessFileXmpPagePatch9} +\pastebutton{KeyedAccessFileXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{search("Smith", ey)\free{eyaa }} +\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPagePatch10} +\begin{paste}{KeyedAccessFileXmpPageFull10}{KeyedAccessFileXmpPageEmpty10} +\pastebutton{KeyedAccessFileXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{remove!("Char", ey)\free{eyaa }\bound{eybb }} +\indentrel{3}\begin{verbatim} + (10) 1986 + Type: Union(Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPageEmpty10} +\begin{paste}{KeyedAccessFileXmpPageEmpty10}{KeyedAccessFileXmpPagePatch10} +\pastebutton{KeyedAccessFileXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{remove!("Char", ey)\free{eyaa }\bound{eybb }} +\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPagePatch11} +\begin{paste}{KeyedAccessFileXmpPageFull11}{KeyedAccessFileXmpPageEmpty11} +\pastebutton{KeyedAccessFileXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{keys ey\free{eybb }} +\indentrel{3}\begin{verbatim} + (11) ["Fitch","Caviness"] + Type: List String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPageEmpty11} +\begin{paste}{KeyedAccessFileXmpPageEmpty11}{KeyedAccessFileXmpPagePatch11} +\pastebutton{KeyedAccessFileXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{keys ey\free{eybb }} +\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPagePatch12} +\begin{paste}{KeyedAccessFileXmpPageFull12}{KeyedAccessFileXmpPageEmpty12} +\pastebutton{KeyedAccessFileXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{\#ey\free{eybb }} +\indentrel{3}\begin{verbatim} + (12) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPageEmpty12} +\begin{paste}{KeyedAccessFileXmpPageEmpty12}{KeyedAccessFileXmpPagePatch12} +\pastebutton{KeyedAccessFileXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{\#ey\free{eybb }} +\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPagePatch13} +\begin{paste}{KeyedAccessFileXmpPageFull13}{KeyedAccessFileXmpPageEmpty13} +\pastebutton{KeyedAccessFileXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{KE := Record(key: String, entry: Integer)\bound{KE }} +\indentrel{3}\begin{verbatim} + (13) Record(key: String,entry: Integer) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPageEmpty13} +\begin{paste}{KeyedAccessFileXmpPageEmpty13}{KeyedAccessFileXmpPagePatch13} +\pastebutton{KeyedAccessFileXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{KE := Record(key: String, entry: Integer)\bound{KE }} +\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPagePatch14} +\begin{paste}{KeyedAccessFileXmpPageFull14}{KeyedAccessFileXmpPageEmpty14} +\pastebutton{KeyedAccessFileXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{reopen!(ey, "output")\free{eybb KE }\bound{eycc }} +\indentrel{3}\begin{verbatim} + (14) "/tmp/editor.year" + Type: KeyedAccessFile Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPageEmpty14} +\begin{paste}{KeyedAccessFileXmpPageEmpty14}{KeyedAccessFileXmpPagePatch14} +\pastebutton{KeyedAccessFileXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{reopen!(ey, "output")\free{eybb KE }\bound{eycc }} +\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPagePatch15} +\begin{paste}{KeyedAccessFileXmpPageFull15}{KeyedAccessFileXmpPageEmpty15} +\pastebutton{KeyedAccessFileXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{write!(ey, ["van Hulzen", 1983]$KE)\bound{eyccA }\free{eycc }} +\indentrel{3}\begin{verbatim} + (15) [key= "van Hulzen",entry= 1983] + Type: Record(key: String,entry: Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPageEmpty15} +\begin{paste}{KeyedAccessFileXmpPageEmpty15}{KeyedAccessFileXmpPagePatch15} +\pastebutton{KeyedAccessFileXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{write!(ey, ["van Hulzen", 1983]$KE)\bound{eyccA }\free{eycc }} +\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPagePatch16} +\begin{paste}{KeyedAccessFileXmpPageFull16}{KeyedAccessFileXmpPageEmpty16} +\pastebutton{KeyedAccessFileXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{write!(ey, ["Calmet", 1982]$KE)\bound{eyccB }\free{eycc }} +\indentrel{3}\begin{verbatim} + (16) [key= "Calmet",entry= 1982] + Type: Record(key: String,entry: Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPageEmpty16} +\begin{paste}{KeyedAccessFileXmpPageEmpty16}{KeyedAccessFileXmpPagePatch16} +\pastebutton{KeyedAccessFileXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{write!(ey, ["Calmet", 1982]$KE)\bound{eyccB }\free{eycc }} +\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPagePatch17} +\begin{paste}{KeyedAccessFileXmpPageFull17}{KeyedAccessFileXmpPageEmpty17} +\pastebutton{KeyedAccessFileXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{write!(ey, ["Wang", 1981]$KE)\bound{eyccC }\free{eycc }} +\indentrel{3}\begin{verbatim} + (17) [key= "Wang",entry= 1981] + Type: Record(key: String,entry: Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPageEmpty17} +\begin{paste}{KeyedAccessFileXmpPageEmpty17}{KeyedAccessFileXmpPagePatch17} +\pastebutton{KeyedAccessFileXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{write!(ey, ["Wang", 1981]$KE)\bound{eyccC }\free{eycc }} +\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPagePatch18} +\begin{paste}{KeyedAccessFileXmpPageFull18}{KeyedAccessFileXmpPageEmpty18} +\pastebutton{KeyedAccessFileXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{close! ey\free{eyccA eyccB eyccC }\bound{eydd }} +\indentrel{3}\begin{verbatim} + (18) "/tmp/editor.year" + Type: KeyedAccessFile Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPageEmpty18} +\begin{paste}{KeyedAccessFileXmpPageEmpty18}{KeyedAccessFileXmpPagePatch18} +\pastebutton{KeyedAccessFileXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{close! ey\free{eyccA eyccB eyccC }\bound{eydd }} +\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPagePatch19} +\begin{paste}{KeyedAccessFileXmpPageFull19}{KeyedAccessFileXmpPageEmpty19} +\pastebutton{KeyedAccessFileXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{keys ey\free{eydd }} +\indentrel{3}\begin{verbatim} + (19) + ["Wang","Calmet","van Hulzen","Fitch","Caviness"] + Type: List String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPageEmpty19} +\begin{paste}{KeyedAccessFileXmpPageEmpty19}{KeyedAccessFileXmpPagePatch19} +\pastebutton{KeyedAccessFileXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{keys ey\free{eydd }} +\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPagePatch20} +\begin{paste}{KeyedAccessFileXmpPageFull20}{KeyedAccessFileXmpPageEmpty20} +\pastebutton{KeyedAccessFileXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{members ey\free{eydd }} +\indentrel{3}\begin{verbatim} + (20) [1981,1982,1983,1984,1985] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPageEmpty20} +\begin{paste}{KeyedAccessFileXmpPageEmpty20}{KeyedAccessFileXmpPagePatch20} +\pastebutton{KeyedAccessFileXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{members ey\free{eydd }} +\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPagePatch21} +\begin{paste}{KeyedAccessFileXmpPageFull21}{KeyedAccessFileXmpPageEmpty21} +\pastebutton{KeyedAccessFileXmpPageFull21}{\hidepaste} +\tab{5}\spadcommand{)system rm -r /tmp/editor.year\free{ey }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KeyedAccessFileXmpPageEmpty21} +\begin{paste}{KeyedAccessFileXmpPageEmpty21}{KeyedAccessFileXmpPagePatch21} +\pastebutton{KeyedAccessFileXmpPageEmpty21}{\showpaste} +\tab{5}\spadcommand{)system rm -r /tmp/editor.year\free{ey }} +\end{paste}\end{patch} + @ \section{kernel.ht} \pagehead{KernelXmpPage}{kernel.ht}{Kernel} @@ -12023,6 +31098,311 @@ take apart expression objects. \autobuttons \end{page} +\begin{patch}{KernelXmpPagePatch1} +\begin{paste}{KernelXmpPageFull1}{KernelXmpPageEmpty1} +\pastebutton{KernelXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{x :: Expression Integer} +\indentrel{3}\begin{verbatim} + (1) x + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KernelXmpPageEmpty1} +\begin{paste}{KernelXmpPageEmpty1}{KernelXmpPagePatch1} +\pastebutton{KernelXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{x :: Expression Integer} +\end{paste}\end{patch} + +\begin{patch}{KernelXmpPagePatch2} +\begin{paste}{KernelXmpPageFull2}{KernelXmpPageEmpty2} +\pastebutton{KernelXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{kernel x} +\indentrel{3}\begin{verbatim} + (2) x + Type: Kernel Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KernelXmpPageEmpty2} +\begin{paste}{KernelXmpPageEmpty2}{KernelXmpPagePatch2} +\pastebutton{KernelXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{kernel x} +\end{paste}\end{patch} + +\begin{patch}{KernelXmpPagePatch3} +\begin{paste}{KernelXmpPageFull3}{KernelXmpPageEmpty3} +\pastebutton{KernelXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{sin(x) + cos(x)\bound{sincos }} +\indentrel{3}\begin{verbatim} + (3) sin(x) + cos(x) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KernelXmpPageEmpty3} +\begin{paste}{KernelXmpPageEmpty3}{KernelXmpPagePatch3} +\pastebutton{KernelXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{sin(x) + cos(x)\bound{sincos }} +\end{paste}\end{patch} + +\begin{patch}{KernelXmpPagePatch4} +\begin{paste}{KernelXmpPageFull4}{KernelXmpPageEmpty4} +\pastebutton{KernelXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{kernels \%\free{sincos }} +\indentrel{3}\begin{verbatim} + (4) [sin(x),cos(x)] + Type: List Kernel Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KernelXmpPageEmpty4} +\begin{paste}{KernelXmpPageEmpty4}{KernelXmpPagePatch4} +\pastebutton{KernelXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{kernels \%\free{sincos }} +\end{paste}\end{patch} + +\begin{patch}{KernelXmpPagePatch5} +\begin{paste}{KernelXmpPageFull5}{KernelXmpPageEmpty5} +\pastebutton{KernelXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{sin(x)**2 + sin(x) + cos(x)\bound{sincos2 }} +\indentrel{3}\begin{verbatim} + 2 + (5) sin(x) + sin(x) + cos(x) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KernelXmpPageEmpty5} +\begin{paste}{KernelXmpPageEmpty5}{KernelXmpPagePatch5} +\pastebutton{KernelXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{sin(x)**2 + sin(x) + cos(x)\bound{sincos2 }} +\end{paste}\end{patch} + +\begin{patch}{KernelXmpPagePatch6} +\begin{paste}{KernelXmpPageFull6}{KernelXmpPageEmpty6} +\pastebutton{KernelXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{kernels \%\free{sincos2 }} +\indentrel{3}\begin{verbatim} + (6) [sin(x),cos(x)] + Type: List Kernel Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KernelXmpPageEmpty6} +\begin{paste}{KernelXmpPageEmpty6}{KernelXmpPagePatch6} +\pastebutton{KernelXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{kernels \%\free{sincos2 }} +\end{paste}\end{patch} + +\begin{patch}{KernelXmpPagePatch7} +\begin{paste}{KernelXmpPageFull7}{KernelXmpPageEmpty7} +\pastebutton{KernelXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{kernels(1 :: Expression Integer)} +\indentrel{3}\begin{verbatim} + (7) [] + Type: List Kernel Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KernelXmpPageEmpty7} +\begin{paste}{KernelXmpPageEmpty7}{KernelXmpPagePatch7} +\pastebutton{KernelXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{kernels(1 :: Expression Integer)} +\end{paste}\end{patch} + +\begin{patch}{KernelXmpPagePatch8} +\begin{paste}{KernelXmpPageFull8}{KernelXmpPageEmpty8} +\pastebutton{KernelXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{mainKernel(cos(x) + tan(x))} +\indentrel{3}\begin{verbatim} + (8) tan(x) + Type: Union(Kernel Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KernelXmpPageEmpty8} +\begin{paste}{KernelXmpPageEmpty8}{KernelXmpPagePatch8} +\pastebutton{KernelXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{mainKernel(cos(x) + tan(x))} +\end{paste}\end{patch} + +\begin{patch}{KernelXmpPagePatch9} +\begin{paste}{KernelXmpPageFull9}{KernelXmpPageEmpty9} +\pastebutton{KernelXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{height kernel x} +\indentrel{3}\begin{verbatim} + (9) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KernelXmpPageEmpty9} +\begin{paste}{KernelXmpPageEmpty9}{KernelXmpPagePatch9} +\pastebutton{KernelXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{height kernel x} +\end{paste}\end{patch} + +\begin{patch}{KernelXmpPagePatch10} +\begin{paste}{KernelXmpPageFull10}{KernelXmpPageEmpty10} +\pastebutton{KernelXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{height mainKernel(sin x)} +\indentrel{3}\begin{verbatim} + (10) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KernelXmpPageEmpty10} +\begin{paste}{KernelXmpPageEmpty10}{KernelXmpPagePatch10} +\pastebutton{KernelXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{height mainKernel(sin x)} +\end{paste}\end{patch} + +\begin{patch}{KernelXmpPagePatch11} +\begin{paste}{KernelXmpPageFull11}{KernelXmpPageEmpty11} +\pastebutton{KernelXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{height mainKernel(sin cos x)} +\indentrel{3}\begin{verbatim} + (11) 3 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KernelXmpPageEmpty11} +\begin{paste}{KernelXmpPageEmpty11}{KernelXmpPagePatch11} +\pastebutton{KernelXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{height mainKernel(sin cos x)} +\end{paste}\end{patch} + +\begin{patch}{KernelXmpPagePatch12} +\begin{paste}{KernelXmpPageFull12}{KernelXmpPageEmpty12} +\pastebutton{KernelXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{height mainKernel(sin cos (tan x + sin x))} +\indentrel{3}\begin{verbatim} + (12) 4 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KernelXmpPageEmpty12} +\begin{paste}{KernelXmpPageEmpty12}{KernelXmpPagePatch12} +\pastebutton{KernelXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{height mainKernel(sin cos (tan x + sin x))} +\end{paste}\end{patch} + +\begin{patch}{KernelXmpPagePatch13} +\begin{paste}{KernelXmpPageFull13}{KernelXmpPageEmpty13} +\pastebutton{KernelXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{operator mainKernel(sin cos (tan x + sin x))} +\indentrel{3}\begin{verbatim} + (13) sin + Type: BasicOperator +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KernelXmpPageEmpty13} +\begin{paste}{KernelXmpPageEmpty13}{KernelXmpPagePatch13} +\pastebutton{KernelXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{operator mainKernel(sin cos (tan x + sin x))} +\end{paste}\end{patch} + +\begin{patch}{KernelXmpPagePatch14} +\begin{paste}{KernelXmpPageFull14}{KernelXmpPageEmpty14} +\pastebutton{KernelXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{name mainKernel(sin cos (tan x + sin x))} +\indentrel{3}\begin{verbatim} + (14) sin + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KernelXmpPageEmpty14} +\begin{paste}{KernelXmpPageEmpty14}{KernelXmpPagePatch14} +\pastebutton{KernelXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{name mainKernel(sin cos (tan x + sin x))} +\end{paste}\end{patch} + +\begin{patch}{KernelXmpPagePatch15} +\begin{paste}{KernelXmpPageFull15}{KernelXmpPageEmpty15} +\pastebutton{KernelXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{f := operator 'f\bound{f }} +\indentrel{3}\begin{verbatim} + (15) f + Type: BasicOperator +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KernelXmpPageEmpty15} +\begin{paste}{KernelXmpPageEmpty15}{KernelXmpPagePatch15} +\pastebutton{KernelXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{f := operator 'f\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{KernelXmpPagePatch16} +\begin{paste}{KernelXmpPageFull16}{KernelXmpPageEmpty16} +\pastebutton{KernelXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{e := f(x, y, 10)\free{f }\bound{e }} +\indentrel{3}\begin{verbatim} + (16) f(x,y,10) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KernelXmpPageEmpty16} +\begin{paste}{KernelXmpPageEmpty16}{KernelXmpPagePatch16} +\pastebutton{KernelXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{e := f(x, y, 10)\free{f }\bound{e }} +\end{paste}\end{patch} + +\begin{patch}{KernelXmpPagePatch17} +\begin{paste}{KernelXmpPageFull17}{KernelXmpPageEmpty17} +\pastebutton{KernelXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{is?(e, f)\free{f e }} +\indentrel{3}\begin{verbatim} + (17) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KernelXmpPageEmpty17} +\begin{paste}{KernelXmpPageEmpty17}{KernelXmpPagePatch17} +\pastebutton{KernelXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{is?(e, f)\free{f e }} +\end{paste}\end{patch} + +\begin{patch}{KernelXmpPagePatch18} +\begin{paste}{KernelXmpPageFull18}{KernelXmpPageEmpty18} +\pastebutton{KernelXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{is?(e, 'f)\free{e }} +\indentrel{3}\begin{verbatim} + (18) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KernelXmpPageEmpty18} +\begin{paste}{KernelXmpPageEmpty18}{KernelXmpPagePatch18} +\pastebutton{KernelXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{is?(e, 'f)\free{e }} +\end{paste}\end{patch} + +\begin{patch}{KernelXmpPagePatch19} +\begin{paste}{KernelXmpPageFull19}{KernelXmpPageEmpty19} +\pastebutton{KernelXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{argument mainKernel e\free{f }\free{e }} +\indentrel{3}\begin{verbatim} + (19) [x,y,10] + Type: List Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{KernelXmpPageEmpty19} +\begin{paste}{KernelXmpPageEmpty19}{KernelXmpPagePatch19} +\pastebutton{KernelXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{argument mainKernel e\free{f }\free{e }} +\end{paste}\end{patch} + @ \section{lazm3pk.ht} \pagehead{LazardSetSolvingPackageXmpPage}{lazm3pk.ht} @@ -12326,6 +31706,961 @@ components may be investigated further with the \autobuttons \end{page} +\begin{patch}{LazardSetSolvingPackageXmpPagePatch1} +\begin{paste}{LazardSetSolvingPackageXmpPageFull1}{LazardSetSolvingPackageXmpPageEmpty1} +\pastebutton{LazardSetSolvingPackageXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{R := Integer\bound{R }} +\indentrel{3}\begin{verbatim} + (1) Integer + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty1} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty1}{LazardSetSolvingPackageXmpPagePatch1} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{R := Integer\bound{R }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch2} +\begin{paste}{LazardSetSolvingPackageXmpPageFull2}{LazardSetSolvingPackageXmpPageEmpty2} +\pastebutton{LazardSetSolvingPackageXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{ls : List Symbol := [b1,x,y,z,t,v,u,w]\bound{ls }} +\indentrel{3}\begin{verbatim} + (2) [b1,x,y,z,t,v,u,w] + Type: List Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty2} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty2}{LazardSetSolvingPackageXmpPagePatch2} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{ls : List Symbol := [b1,x,y,z,t,v,u,w]\bound{ls }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch3} +\begin{paste}{LazardSetSolvingPackageXmpPageFull3}{LazardSetSolvingPackageXmpPageEmpty3} +\pastebutton{LazardSetSolvingPackageXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{V := OVAR(ls)\free{ls }\bound{V }} +\indentrel{3}\begin{verbatim} + (3) OrderedVariableList [b1,x,y,z,t,v,u,w] + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty3} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty3}{LazardSetSolvingPackageXmpPagePatch3} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{V := OVAR(ls)\free{ls }\bound{V }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch4} +\begin{paste}{LazardSetSolvingPackageXmpPageFull4}{LazardSetSolvingPackageXmpPageEmpty4} +\pastebutton{LazardSetSolvingPackageXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{E := IndexedExponents V\free{V }\bound{E }} +\indentrel{3}\begin{verbatim} + (4) + IndexedExponents OrderedVariableList [b1,x,y,z,t,v,u,w] + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty4} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty4}{LazardSetSolvingPackageXmpPagePatch4} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{E := IndexedExponents V\free{V }\bound{E }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch5} +\begin{paste}{LazardSetSolvingPackageXmpPageFull5}{LazardSetSolvingPackageXmpPageEmpty5} +\pastebutton{LazardSetSolvingPackageXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{P := NSMP(R, V)\free{R }\free{V }\bound{P }} +\indentrel{3}\begin{verbatim} + (5) + NewSparseMultivariatePolynomial(Integer,OrderedVariable + List [b1,x,y,z,t,v,u,w]) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty5} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty5}{LazardSetSolvingPackageXmpPagePatch5} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{P := NSMP(R, V)\free{R }\free{V }\bound{P }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch6} +\begin{paste}{LazardSetSolvingPackageXmpPageFull6}{LazardSetSolvingPackageXmpPageEmpty6} +\pastebutton{LazardSetSolvingPackageXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{b1: P := 'b1\free{P }\bound{b1 }} +\indentrel{3}\begin{verbatim} + (6) b1 +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty6} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty6}{LazardSetSolvingPackageXmpPagePatch6} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{b1: P := 'b1\free{P }\bound{b1 }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch7} +\begin{paste}{LazardSetSolvingPackageXmpPageFull7}{LazardSetSolvingPackageXmpPageEmpty7} +\pastebutton{LazardSetSolvingPackageXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{x: P := 'x\free{P }\bound{x }} +\indentrel{3}\begin{verbatim} + (7) x +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty7} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty7}{LazardSetSolvingPackageXmpPagePatch7} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{x: P := 'x\free{P }\bound{x }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch8} +\begin{paste}{LazardSetSolvingPackageXmpPageFull8}{LazardSetSolvingPackageXmpPageEmpty8} +\pastebutton{LazardSetSolvingPackageXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{y: P := 'y\free{P }\bound{y }} +\indentrel{3}\begin{verbatim} + (8) y +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty8} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty8}{LazardSetSolvingPackageXmpPagePatch8} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{y: P := 'y\free{P }\bound{y }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch9} +\begin{paste}{LazardSetSolvingPackageXmpPageFull9}{LazardSetSolvingPackageXmpPageEmpty9} +\pastebutton{LazardSetSolvingPackageXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{z: P := 'z\free{P }\bound{z }} +\indentrel{3}\begin{verbatim} + (9) z +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty9} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty9}{LazardSetSolvingPackageXmpPagePatch9} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{z: P := 'z\free{P }\bound{z }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch10} +\begin{paste}{LazardSetSolvingPackageXmpPageFull10}{LazardSetSolvingPackageXmpPageEmpty10} +\pastebutton{LazardSetSolvingPackageXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{t: P := 't\free{P }\bound{t }} +\indentrel{3}\begin{verbatim} + (10) t +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty10} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty10}{LazardSetSolvingPackageXmpPagePatch10} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{t: P := 't\free{P }\bound{t }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch11} +\begin{paste}{LazardSetSolvingPackageXmpPageFull11}{LazardSetSolvingPackageXmpPageEmpty11} +\pastebutton{LazardSetSolvingPackageXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{u: P := 'u\free{P }\bound{u }} +\indentrel{3}\begin{verbatim} + (11) u +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty11} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty11}{LazardSetSolvingPackageXmpPagePatch11} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{u: P := 'u\free{P }\bound{u }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch12} +\begin{paste}{LazardSetSolvingPackageXmpPageFull12}{LazardSetSolvingPackageXmpPageEmpty12} +\pastebutton{LazardSetSolvingPackageXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{v: P := 'v\free{P }\bound{v }} +\indentrel{3}\begin{verbatim} + (12) v +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty12} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty12}{LazardSetSolvingPackageXmpPagePatch12} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{v: P := 'v\free{P }\bound{v }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch13} +\begin{paste}{LazardSetSolvingPackageXmpPageFull13}{LazardSetSolvingPackageXmpPageEmpty13} +\pastebutton{LazardSetSolvingPackageXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{w: P := 'w\free{P }\bound{w }} +\indentrel{3}\begin{verbatim} + (13) w +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty13} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty13}{LazardSetSolvingPackageXmpPagePatch13} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{w: P := 'w\free{P }\bound{w }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch14} +\begin{paste}{LazardSetSolvingPackageXmpPageFull14}{LazardSetSolvingPackageXmpPageEmpty14} +\pastebutton{LazardSetSolvingPackageXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{T := REGSET(R,E,V,P)\free{R }\free{E }\free{V }\free{P }\bound{T }} +\indentrel{3}\begin{verbatim} + (14) + RegularTriangularSet(Integer,IndexedExponents OrderedVa + riableList [b1,x,y,z,t,v,u,w],OrderedVariableList [b1,x + ,y,z,t,v,u,w],NewSparseMultivariatePolynomial(Integer,O + rderedVariableList [b1,x,y,z,t,v,u,w])) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty14} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty14}{LazardSetSolvingPackageXmpPagePatch14} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{T := REGSET(R,E,V,P)\free{R }\free{E }\free{V }\free{P }\bound{T }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch15} +\begin{paste}{LazardSetSolvingPackageXmpPageFull15}{LazardSetSolvingPackageXmpPageEmpty15} +\pastebutton{LazardSetSolvingPackageXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{p0 := b1 + y + z - t - w\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p0 }} +\indentrel{3}\begin{verbatim} + (15) b1 + y + z - t - w +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty15} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty15}{LazardSetSolvingPackageXmpPagePatch15} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{p0 := b1 + y + z - t - w\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p0 }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch16} +\begin{paste}{LazardSetSolvingPackageXmpPageFull16}{LazardSetSolvingPackageXmpPageEmpty16} +\pastebutton{LazardSetSolvingPackageXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{p1 := 2*z*u + 2*y*v + 2*t*w - 2*w**2 - w - 1\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p1 }} +\indentrel{3}\begin{verbatim} + 2 + (16) 2v y + 2u z + 2w t - 2w - w - 1 +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty16} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty16}{LazardSetSolvingPackageXmpPagePatch16} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{p1 := 2*z*u + 2*y*v + 2*t*w - 2*w**2 - w - 1\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p1 }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch17} +\begin{paste}{LazardSetSolvingPackageXmpPageFull17}{LazardSetSolvingPackageXmpPageEmpty17} +\pastebutton{LazardSetSolvingPackageXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{p2 := 3*z*u**2 + 3*y*v**2 - 3*t*w**2 + 3*w**3 + 3*w**2 - t + 4*w\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p2 }} +\indentrel{3}\begin{verbatim} + 2 2 2 3 2 + (17) 3v y + 3u z + (- 3w - 1)t + 3w + 3w + 4w +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty17} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty17}{LazardSetSolvingPackageXmpPagePatch17} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{p2 := 3*z*u**2 + 3*y*v**2 - 3*t*w**2 + 3*w**3 + 3*w**2 - t + 4*w\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p2 }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch18} +\begin{paste}{LazardSetSolvingPackageXmpPageFull18}{LazardSetSolvingPackageXmpPageEmpty18} +\pastebutton{LazardSetSolvingPackageXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{p3 := 6*x*z*v - 6*t*w**2 + 6*w**3 - 3*t*w + 6*w**2 - t + 4*w\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p3 }} +\indentrel{3}\begin{verbatim} + 2 3 2 + (18) 6v z x + (- 6w - 3w - 1)t + 6w + 6w + 4w +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty18} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty18}{LazardSetSolvingPackageXmpPagePatch18} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{p3 := 6*x*z*v - 6*t*w**2 + 6*w**3 - 3*t*w + 6*w**2 - t + 4*w\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p3 }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch19} +\begin{paste}{LazardSetSolvingPackageXmpPageFull19}{LazardSetSolvingPackageXmpPageEmpty19} +\pastebutton{LazardSetSolvingPackageXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{p4 := 4*z*u**3+ 4*y*v**3+ 4*t*w**3- 4*w**4 - 6*w**3+ 4*t*w- 10*w**2- w- 1\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p4 }} +\indentrel{3}\begin{verbatim} + (19) + 3 3 3 4 3 2 + 4v y + 4u z + (4w + 4w)t - 4w - 6w - 10w - w - 1 +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty19} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty19}{LazardSetSolvingPackageXmpPagePatch19} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{p4 := 4*z*u**3+ 4*y*v**3+ 4*t*w**3- 4*w**4 - 6*w**3+ 4*t*w- 10*w**2- w- 1\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p4 }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch20} +\begin{paste}{LazardSetSolvingPackageXmpPageFull20}{LazardSetSolvingPackageXmpPageEmpty20} +\pastebutton{LazardSetSolvingPackageXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{p5 := 8*x*z*u*v +8*t*w**3 -8*w**4 +4*t*w**2 -12*w**3 +4*t*w -14*w**2 -3*w -1\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p5 }} +\indentrel{3}\begin{verbatim} + (20) + 3 2 4 3 2 + 8u v z x + (8w + 4w + 4w)t - 8w - 12w - 14w - 3w + + + - 1 +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty20} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty20}{LazardSetSolvingPackageXmpPagePatch20} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{p5 := 8*x*z*u*v +8*t*w**3 -8*w**4 +4*t*w**2 -12*w**3 +4*t*w -14*w**2 -3*w -1\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p5 }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch21} +\begin{paste}{LazardSetSolvingPackageXmpPageFull21}{LazardSetSolvingPackageXmpPageEmpty21} +\pastebutton{LazardSetSolvingPackageXmpPageFull21}{\hidepaste} +\tab{5}\spadcommand{p6 := 12*x*z*v**2+12*t*w**3 -12*w**4 +12*t*w**2 -18*w**3 +8*t*w -14*w**2 -w -1\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p6 }} +\indentrel{3}\begin{verbatim} + (21) + 2 3 2 4 3 2 + 12v z x + (12w + 12w + 8w)t - 12w - 18w - 14w + + + - w - 1 +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty21} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty21}{LazardSetSolvingPackageXmpPagePatch21} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty21}{\showpaste} +\tab{5}\spadcommand{p6 := 12*x*z*v**2+12*t*w**3 -12*w**4 +12*t*w**2 -18*w**3 +8*t*w -14*w**2 -w -1\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p6 }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch22} +\begin{paste}{LazardSetSolvingPackageXmpPageFull22}{LazardSetSolvingPackageXmpPageEmpty22} +\pastebutton{LazardSetSolvingPackageXmpPageFull22}{\hidepaste} +\tab{5}\spadcommand{p7 := -24*t*w**3 + 24*w**4 - 24*t*w**2 + 36*w**3 - 8*t*w + 26*w**2 + 7*w + 1\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p7 }} +\indentrel{3}\begin{verbatim} + (22) + 3 2 4 3 2 + (- 24w - 24w - 8w)t + 24w + 36w + 26w + 7w + 1 +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty22} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty22}{LazardSetSolvingPackageXmpPagePatch22} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty22}{\showpaste} +\tab{5}\spadcommand{p7 := -24*t*w**3 + 24*w**4 - 24*t*w**2 + 36*w**3 - 8*t*w + 26*w**2 + 7*w + 1\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p7 }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch23} +\begin{paste}{LazardSetSolvingPackageXmpPageFull23}{LazardSetSolvingPackageXmpPageEmpty23} +\pastebutton{LazardSetSolvingPackageXmpPageFull23}{\hidepaste} +\tab{5}\spadcommand{lp := [p0, p1, p2, p3, p4, p5, p6, p7]\free{p0 }\free{p1 }\free{p2 }\free{p3 }\free{p4 }\free{p5 }\free{p6 }\free{p7 }\bound{lp }} +\indentrel{3}\begin{verbatim} + (23) + 2 + [b1 + y + z - t - w, 2v y + 2u z + 2w t - 2w - w - 1, + 2 2 2 3 2 + 3v y + 3u z + (- 3w - 1)t + 3w + 3w + 4w, + 2 3 2 + 6v z x + (- 6w - 3w - 1)t + 6w + 6w + 4w, + 3 3 3 4 3 2 + 4v y + 4u z + (4w + 4w)t - 4w - 6w - 10w - w - 1, + + 3 2 4 3 2 + 8u v z x + (8w + 4w + 4w)t - 8w - 12w - 14w + + + - 3w - 1 + , + + 2 3 2 4 3 2 + 12v z x + (12w + 12w + 8w)t - 12w - 18w - 14w + + + - w - 1 + , + 3 2 4 3 2 + (- 24w - 24w - 8w)t + 24w + 36w + 26w + 7w + 1] +Type: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty23} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty23}{LazardSetSolvingPackageXmpPagePatch23} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty23}{\showpaste} +\tab{5}\spadcommand{lp := [p0, p1, p2, p3, p4, p5, p6, p7]\free{p0 }\free{p1 }\free{p2 }\free{p3 }\free{p4 }\free{p5 }\free{p6 }\free{p7 }\bound{lp }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch24} +\begin{paste}{LazardSetSolvingPackageXmpPageFull24}{LazardSetSolvingPackageXmpPageEmpty24} +\pastebutton{LazardSetSolvingPackageXmpPageFull24}{\hidepaste} +\tab{5}\spadcommand{lts := zeroSetSplit(lp,false)$T\free{lp }\free{T }\bound{lts }} +\indentrel{3}\begin{verbatim} + (24) + [{w + 1,u,v,t + 1,b1 + y + z + 2}, + {w + 1,v,t + 1,z,b1 + y + 2}, + {w + 1,t + 1,z,y,b1 + 2}, + {w + 1,v - u,t + 1,y + z,x,b1 + 2}, + {w + 1,u,t + 1,y,x,b1 + z + 2}, + + 5 4 3 2 + {144w + 216w + 96w + 6w - 11w - 1, + 2 5 4 3 2 + (12w + 9w + 1)u - 72w - 108w - 42w - 9w - 3w, + 2 4 3 2 + (12w + 9w + 1)v + 36w + 54w + 18w , + 3 2 4 3 2 + (24w + 24w + 8w)t - 24w - 36w - 26w - 7w - 1, + + 2 2 + (12u v - 12u )z + (12w v + 12w + 4)t + (3w - 5)v + + + 4 3 2 + 36w + 42w + 6w - 16w + , + 2 + 2v y + 2u z + 2w t - 2w - w - 1, + 2 3 2 + 6v z x + (- 6w - 3w - 1)t + 6w + 6w + 4w, + b1 + y + z - t - w} + ] +Type: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [b1,x,y,z,t,v,u,w],OrderedVariableList [b1,x,y,z,t,v,u,w],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w])) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty24} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty24}{LazardSetSolvingPackageXmpPagePatch24} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty24}{\showpaste} +\tab{5}\spadcommand{lts := zeroSetSplit(lp,false)$T\free{lp }\free{T }\bound{lts }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch25} +\begin{paste}{LazardSetSolvingPackageXmpPageFull25}{LazardSetSolvingPackageXmpPageEmpty25} +\pastebutton{LazardSetSolvingPackageXmpPageFull25}{\hidepaste} +\tab{5}\spadcommand{[coHeight(ts) for ts in lts]\free{lts }} +\indentrel{3}\begin{verbatim} + (25) [3,3,3,2,2,0] + Type: List NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty25} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty25}{LazardSetSolvingPackageXmpPagePatch25} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty25}{\showpaste} +\tab{5}\spadcommand{[coHeight(ts) for ts in lts]\free{lts }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch26} +\begin{paste}{LazardSetSolvingPackageXmpPageFull26}{LazardSetSolvingPackageXmpPageEmpty26} +\pastebutton{LazardSetSolvingPackageXmpPageFull26}{\hidepaste} +\tab{5}\spadcommand{ST := SREGSET(R,E,V,P)\free{R }\free{E }\free{V }\free{P }\bound{ST }} +\indentrel{3}\begin{verbatim} + (26) + SquareFreeRegularTriangularSet(Integer,IndexedExponents + OrderedVariableList [b1,x,y,z,t,v,u,w],OrderedVariable + List [b1,x,y,z,t,v,u,w],NewSparseMultivariatePolynomial + (Integer,OrderedVariableList [b1,x,y,z,t,v,u,w])) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty26} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty26}{LazardSetSolvingPackageXmpPagePatch26} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty26}{\showpaste} +\tab{5}\spadcommand{ST := SREGSET(R,E,V,P)\free{R }\free{E }\free{V }\free{P }\bound{ST }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch27} +\begin{paste}{LazardSetSolvingPackageXmpPageFull27}{LazardSetSolvingPackageXmpPageEmpty27} +\pastebutton{LazardSetSolvingPackageXmpPageFull27}{\hidepaste} +\tab{5}\spadcommand{pack := LAZM3PK(R,E,V,P,T,ST)\free{R }\free{E }\free{V }\free{P }\free{T }\free{ST }\bound{pack }} +\indentrel{3}\begin{verbatim} + (27) + LazardSetSolvingPackage(Integer,IndexedExponents Ordere + dVariableList [b1,x,y,z,t,v,u,w],OrderedVariableList [b + 1,x,y,z,t,v,u,w],NewSparseMultivariatePolynomial(Intege + r,OrderedVariableList [b1,x,y,z,t,v,u,w]),RegularTriang + ularSet(Integer,IndexedExponents OrderedVariableList [b + 1,x,y,z,t,v,u,w],OrderedVariableList [b1,x,y,z,t,v,u,w] + ,NewSparseMultivariatePolynomial(Integer,OrderedVariabl + eList [b1,x,y,z,t,v,u,w])),SquareFreeRegularTriangularS + et(Integer,IndexedExponents OrderedVariableList [b1,x,y + ,z,t,v,u,w],OrderedVariableList [b1,x,y,z,t,v,u,w],NewS + parseMultivariatePolynomial(Integer,OrderedVariableList + [b1,x,y,z,t,v,u,w]))) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty27} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty27}{LazardSetSolvingPackageXmpPagePatch27} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty27}{\showpaste} +\tab{5}\spadcommand{pack := LAZM3PK(R,E,V,P,T,ST)\free{R }\free{E }\free{V }\free{P }\free{T }\free{ST }\bound{pack }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch28} +\begin{paste}{LazardSetSolvingPackageXmpPageFull28}{LazardSetSolvingPackageXmpPageEmpty28} +\pastebutton{LazardSetSolvingPackageXmpPageFull28}{\hidepaste} +\tab{5}\spadcommand{zeroSetSplit(lp,false)$pack\free{lp }\free{pack }} +\indentrel{3}\begin{verbatim} + (28) + [{w + 1,t + 1,z,y,b1 + 2}, + {w + 1,v,t + 1,z,b1 + y + 2}, + {w + 1,u,v,t + 1,b1 + y + z + 2}, + {w + 1,v - u,t + 1,y + z,x,b1 + 2}, + {w + 1,u,t + 1,y,x,b1 + z + 2}, + + 5 4 3 2 + {144w + 216w + 96w + 6w - 11w - 1, + 4 3 2 + u - 24w - 36w - 14w + w + 1, + 4 3 2 + 3v - 48w - 60w - 10w + 8w + 2, + 4 3 2 + t - 24w - 36w - 14w - w + 1, + 4 3 2 + 486z - 2772w - 4662w - 2055w + 30w + 127, + 4 3 2 + 2916y - 22752w - 30312w - 8220w + 2064w + 1561, + 4 3 2 + 356x - 3696w - 4536w - 968w + 822w + 371, + 4 3 2 + 2916b1 - 30600w - 46692w - 20274w - 8076w + 593} + ] +Type: List SquareFreeRegularTriangularSet(Integer,IndexedExponents OrderedVariableList [b1,x,y,z,t,v,u,w],OrderedVariableList [b1,x,y,z,t,v,u,w],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w])) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty28} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty28}{LazardSetSolvingPackageXmpPagePatch28} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty28}{\showpaste} +\tab{5}\spadcommand{zeroSetSplit(lp,false)$pack\free{lp }\free{pack }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch29} +\begin{paste}{LazardSetSolvingPackageXmpPageFull29}{LazardSetSolvingPackageXmpPageEmpty29} +\pastebutton{LazardSetSolvingPackageXmpPageFull29}{\hidepaste} +\tab{5}\spadcommand{f0 := (w - v) ** 2 + (u - t) ** 2 - 1\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{f0 }} +\indentrel{3}\begin{verbatim} + 2 2 2 2 + (29) t - 2u t + v - 2w v + u + w - 1 +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty29} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty29}{LazardSetSolvingPackageXmpPagePatch29} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty29}{\showpaste} +\tab{5}\spadcommand{f0 := (w - v) ** 2 + (u - t) ** 2 - 1\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{f0 }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch30} +\begin{paste}{LazardSetSolvingPackageXmpPageFull30}{LazardSetSolvingPackageXmpPageEmpty30} +\pastebutton{LazardSetSolvingPackageXmpPageFull30}{\hidepaste} +\tab{5}\spadcommand{f1 := t ** 2 - v ** 3\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{f1 }} +\indentrel{3}\begin{verbatim} + 2 3 + (30) t - v +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty30} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty30}{LazardSetSolvingPackageXmpPagePatch30} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty30}{\showpaste} +\tab{5}\spadcommand{f1 := t ** 2 - v ** 3\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{f1 }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch31} +\begin{paste}{LazardSetSolvingPackageXmpPageFull31}{LazardSetSolvingPackageXmpPageEmpty31} +\pastebutton{LazardSetSolvingPackageXmpPageFull31}{\hidepaste} +\tab{5}\spadcommand{f2 := 2 * t * (w - v) + 3 * v ** 2 * (u - t)\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{f2 }} +\indentrel{3}\begin{verbatim} + 2 2 + (31) (- 3v - 2v + 2w)t + 3u v +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty31} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty31}{LazardSetSolvingPackageXmpPagePatch31} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty31}{\showpaste} +\tab{5}\spadcommand{f2 := 2 * t * (w - v) + 3 * v ** 2 * (u - t)\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{f2 }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch32} +\begin{paste}{LazardSetSolvingPackageXmpPageFull32}{LazardSetSolvingPackageXmpPageEmpty32} +\pastebutton{LazardSetSolvingPackageXmpPageFull32}{\hidepaste} +\tab{5}\spadcommand{f3 := (3 * z * v ** 2 - 1) * (2 * z * t - 1)\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{f3 }} +\indentrel{3}\begin{verbatim} + 2 2 2 + (32) 6v t z + (- 2t - 3v )z + 1 +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty32} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty32}{LazardSetSolvingPackageXmpPagePatch32} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty32}{\showpaste} +\tab{5}\spadcommand{f3 := (3 * z * v ** 2 - 1) * (2 * z * t - 1)\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{f3 }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch33} +\begin{paste}{LazardSetSolvingPackageXmpPageFull33}{LazardSetSolvingPackageXmpPageEmpty33} +\pastebutton{LazardSetSolvingPackageXmpPageFull33}{\hidepaste} +\tab{5}\spadcommand{lf := [f0, f1, f2, f3]\free{f0 }\free{f1 }\free{f2 }\free{f3 }\bound{lf }} +\indentrel{3}\begin{verbatim} + (33) + 2 2 2 2 2 3 + [t - 2u t + v - 2w v + u + w - 1, t - v , + 2 2 + (- 3v - 2v + 2w)t + 3u v , + 2 2 2 + 6v t z + (- 2t - 3v )z + 1] +Type: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty33} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty33}{LazardSetSolvingPackageXmpPagePatch33} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty33}{\showpaste} +\tab{5}\spadcommand{lf := [f0, f1, f2, f3]\free{f0 }\free{f1 }\free{f2 }\free{f3 }\bound{lf }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch34} +\begin{paste}{LazardSetSolvingPackageXmpPageFull34}{LazardSetSolvingPackageXmpPageEmpty34} +\pastebutton{LazardSetSolvingPackageXmpPageFull34}{\hidepaste} +\tab{5}\spadcommand{zeroSetSplit(lf,true)$T\free{lf }\free{T }} +\indentrel{3}\begin{verbatim} + (34) + [ + { + 6 3 2 4 + 729u + (- 1458w + 729w - 4158w - 1685)u + + + 6 5 4 3 2 + 729w - 1458w - 2619w - 4892w - 297w + + + 5814w + 427 + * + 2 + u + + + 8 7 6 5 4 3 + 729w + 216w - 2900w - 2376w + 3870w + 4072w + + + 2 + - 1188w - 1656w + 529 + , + + 4 3 2 2 + 2187u + (- 4374w - 972w - 12474w - 2868)u + + + 6 5 4 3 2 + 2187w - 1944w - 10125w - 4800w + 2501w + + + 4968w - 1587 + * + v + + + 3 2 2 6 5 4 + (1944w - 108w )u + 972w + 3024w - 1080w + + + 3 2 + 496w + 1116w + , + 2 2 + (3v + 2v - 2w)t - 3u v , + 2 2 2 + ((4v - 4w)t - 6u v )z + (2t + 3v )z - 1} + ] +Type: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [b1,x,y,z,t,v,u,w],OrderedVariableList [b1,x,y,z,t,v,u,w],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w])) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty34} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty34}{LazardSetSolvingPackageXmpPagePatch34} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty34}{\showpaste} +\tab{5}\spadcommand{zeroSetSplit(lf,true)$T\free{lf }\free{T }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch35} +\begin{paste}{LazardSetSolvingPackageXmpPageFull35}{LazardSetSolvingPackageXmpPageEmpty35} +\pastebutton{LazardSetSolvingPackageXmpPageFull35}{\hidepaste} +\tab{5}\spadcommand{zeroSetSplit(lf,false)$T\free{lf }\free{T }} +\indentrel{3}\begin{verbatim} + (35) + [ + { + 6 3 2 4 + 729u + (- 1458w + 729w - 4158w - 1685)u + + + 6 5 4 3 2 + 729w - 1458w - 2619w - 4892w - 297w + + + 5814w + 427 + * + 2 + u + + + 8 7 6 5 4 3 + 729w + 216w - 2900w - 2376w + 3870w + 4072w + + + 2 + - 1188w - 1656w + 529 + , + + 4 3 2 2 + 2187u + (- 4374w - 972w - 12474w - 2868)u + + + 6 5 4 3 2 + 2187w - 1944w - 10125w - 4800w + 2501w + + + 4968w - 1587 + * + v + + + 3 2 2 6 5 4 + (1944w - 108w )u + 972w + 3024w - 1080w + + + 3 2 + 496w + 1116w + , + 2 2 + (3v + 2v - 2w)t - 3u v , + 2 2 2 + ((4v - 4w)t - 6u v )z + (2t + 3v )z - 1} + , + + 4 3 2 + {27w + 4w - 54w - 36w + 23, u, + 2 2 2 + (12w + 2)v - 9w - 2w + 9, 6t - 2v - 3w + 2w + 3, + 2t z - 1} + , + + { + 6 5 4 3 2 + 59049w + 91854w - 45198w + 145152w + 63549w + + + 60922w + 21420 + , + + 5 4 + 31484448266904w - 18316865522574w + + + 3 2 + 23676995746098w + 6657857188965w + + + 8904703998546w + 3890631403260 + * + 2 + u + + + 5 4 + 94262810316408w - 82887296576616w + + + 3 2 + 89801831438784w + 28141734167208w + + + 38070359425432w + 16003865949120 + , + + 2 2 + (243w + 36w + 85)v + + + 2 3 2 3 2 + (- 81u - 162w + 36w + 154w + 72)v - 72w + 4w + , + 2 2 + (3v + 2v - 2w)t - 3u v , + 2 2 2 + ((4v - 4w)t - 6u v )z + (2t + 3v )z - 1} + , + + 4 3 2 + {27w + 4w - 54w - 36w + 23, u, + 2 2 2 + (12w + 2)v - 9w - 2w + 9, 6t - 2v - 3w + 2w + 3, + 2 + 3v z - 1} + ] +Type: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [b1,x,y,z,t,v,u,w],OrderedVariableList [b1,x,y,z,t,v,u,w],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w])) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty35} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty35}{LazardSetSolvingPackageXmpPagePatch35} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty35}{\showpaste} +\tab{5}\spadcommand{zeroSetSplit(lf,false)$T\free{lf }\free{T }} +\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPagePatch36} +\begin{paste}{LazardSetSolvingPackageXmpPageFull36}{LazardSetSolvingPackageXmpPageEmpty36} +\pastebutton{LazardSetSolvingPackageXmpPageFull36}{\hidepaste} +\tab{5}\spadcommand{zeroSetSplit(lf,false)$pack\free{lf }\free{pack }} +\indentrel{3}\begin{verbatim} + (36) + [ + { + 6 3 2 4 + 729u + (- 1458w + 729w - 4158w - 1685)u + + + 6 5 4 3 2 + 729w - 1458w - 2619w - 4892w - 297w + + + 5814w + 427 + * + 2 + u + + + 8 7 6 5 4 3 + 729w + 216w - 2900w - 2376w + 3870w + 4072w + + + 2 + - 1188w - 1656w + 529 + , + + 4 3 2 2 + 2187u + (- 4374w - 972w - 12474w - 2868)u + + + 6 5 4 3 2 + 2187w - 1944w - 10125w - 4800w + 2501w + + + 4968w - 1587 + * + v + + + 3 2 2 6 5 4 + (1944w - 108w )u + 972w + 3024w - 1080w + + + 3 2 + 496w + 1116w + , + 2 2 + (3v + 2v - 2w)t - 3u v , + 2 2 2 + ((4v - 4w)t - 6u v )z + (2t + 3v )z - 1} + , + + 2 2 + {81w + 18w + 28, 729u - 1890w - 533, + 2 + 81v + (- 162w + 27)v - 72w - 112, + 11881t + (972w + 2997)u v + (- 11448w - 11536)u, + + 2 + 641237934604288z + + + (78614584763904w + 26785578742272)u + + + 236143618655616w + 70221988585728 + * + v + + + (358520253138432w + 101922133759488)u + + + 142598803536000w + 54166419595008 + * + z + + + (32655103844499w - 44224572465882)u v + + + (43213900115457w - 32432039102070)u + } + , + + 4 3 2 + {27w + 4w - 54w - 36w + 23, u, + 3 2 + 218v - 162w + 3w + 160w + 153, + 2 3 2 + 109t - 27w - 54w + 63w + 80, + 3 2 + 1744z + (- 1458w + 27w + 1440w + 505)t} + , + + 4 3 2 + {27w + 4w - 54w - 36w + 23, u, + 3 2 + 218v - 162w + 3w + 160w + 153, + 2 3 2 + 109t - 27w - 54w + 63w + 80, + 3 2 + 1308z + 162w - 3w - 814w - 153} + , + + 4 3 2 + {729w + 972w - 1026w + 1684w + 765, + 2 2 + 81u + 72w + 16w - 72, + 3 2 + 702v - 162w - 225w + 40w - 99, + 3 2 + 11336t + (324w - 603w - 1718w - 1557)u, + + 2 + 595003968z + + + 3 2 + - 963325386w - 898607682w + 1516286466w + + + - 3239166186 + * + u + + + 3 2 + - 1579048992w - 1796454288w + 2428328160w + + + - 4368495024 + * + z + + + 3 2 + 9713133306w + 9678670317w - 16726834476w + + + 28144233593 + * + u + } + ] +Type: List SquareFreeRegularTriangularSet(Integer,IndexedExponents OrderedVariableList [b1,x,y,z,t,v,u,w],OrderedVariableList [b1,x,y,z,t,v,u,w],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w])) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LazardSetSolvingPackageXmpPageEmpty36} +\begin{paste}{LazardSetSolvingPackageXmpPageEmpty36}{LazardSetSolvingPackageXmpPagePatch36} +\pastebutton{LazardSetSolvingPackageXmpPageEmpty36}{\showpaste} +\tab{5}\spadcommand{zeroSetSplit(lf,false)$pack\free{lf }\free{pack }} +\end{paste}\end{patch} + @ \section{lexp.ht} \pagehead{LieExponentialsXmpPage}{lexp.ht}{LieExponentials} @@ -12397,7 +32732,233 @@ Calculations \endscroll \autobuttons \end{page} -% + +\begin{patch}{LieExponentialsXmpPagePatch1} +\begin{paste}{LieExponentialsXmpPageFull1}{LieExponentialsXmpPageEmpty1} +\pastebutton{LieExponentialsXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{ a: Symbol := 'a\bound{a }} +\indentrel{3}\begin{verbatim} + (1) a + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LieExponentialsXmpPageEmpty1} +\begin{paste}{LieExponentialsXmpPageEmpty1}{LieExponentialsXmpPagePatch1} +\pastebutton{LieExponentialsXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{ a: Symbol := 'a\bound{a }} +\end{paste}\end{patch} + +\begin{patch}{LieExponentialsXmpPagePatch2} +\begin{paste}{LieExponentialsXmpPageFull2}{LieExponentialsXmpPageEmpty2} +\pastebutton{LieExponentialsXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{ b: Symbol := 'b\bound{b }} +\indentrel{3}\begin{verbatim} + (2) b + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LieExponentialsXmpPageEmpty2} +\begin{paste}{LieExponentialsXmpPageEmpty2}{LieExponentialsXmpPagePatch2} +\pastebutton{LieExponentialsXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{ b: Symbol := 'b\bound{b }} +\end{paste}\end{patch} + +\begin{patch}{LieExponentialsXmpPagePatch3} +\begin{paste}{LieExponentialsXmpPageFull3}{LieExponentialsXmpPageEmpty3} +\pastebutton{LieExponentialsXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{ coef := Fraction(Integer)\bound{coef }} +\indentrel{3}\begin{verbatim} + (3) Fraction Integer + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LieExponentialsXmpPageEmpty3} +\begin{paste}{LieExponentialsXmpPageEmpty3}{LieExponentialsXmpPagePatch3} +\pastebutton{LieExponentialsXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{ coef := Fraction(Integer)\bound{coef }} +\end{paste}\end{patch} + +\begin{patch}{LieExponentialsXmpPagePatch4} +\begin{paste}{LieExponentialsXmpPageFull4}{LieExponentialsXmpPageEmpty4} +\pastebutton{LieExponentialsXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{ group := LieExponentials(Symbol, coef, 3)\free{coef }\bound{group }} +\indentrel{3}\begin{verbatim} + (4) LieExponentials(Symbol,Fraction Integer,3) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LieExponentialsXmpPageEmpty4} +\begin{paste}{LieExponentialsXmpPageEmpty4}{LieExponentialsXmpPagePatch4} +\pastebutton{LieExponentialsXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{ group := LieExponentials(Symbol, coef, 3)\free{coef }\bound{group }} +\end{paste}\end{patch} + +\begin{patch}{LieExponentialsXmpPagePatch5} +\begin{paste}{LieExponentialsXmpPageFull5}{LieExponentialsXmpPageEmpty5} +\pastebutton{LieExponentialsXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{ lpoly := LiePolynomial(Symbol, coef)\free{coef }\bound{lpoly }} +\indentrel{3}\begin{verbatim} + (5) LiePolynomial(Symbol,Fraction Integer) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LieExponentialsXmpPageEmpty5} +\begin{paste}{LieExponentialsXmpPageEmpty5}{LieExponentialsXmpPagePatch5} +\pastebutton{LieExponentialsXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{ lpoly := LiePolynomial(Symbol, coef)\free{coef }\bound{lpoly }} +\end{paste}\end{patch} + +\begin{patch}{LieExponentialsXmpPagePatch6} +\begin{paste}{LieExponentialsXmpPageFull6}{LieExponentialsXmpPageEmpty6} +\pastebutton{LieExponentialsXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{ poly := XPBWPolynomial(Symbol, coef)\free{coef }\bound{poly }} +\indentrel{3}\begin{verbatim} + (6) XPBWPolynomial(Symbol,Fraction Integer) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LieExponentialsXmpPageEmpty6} +\begin{paste}{LieExponentialsXmpPageEmpty6}{LieExponentialsXmpPagePatch6} +\pastebutton{LieExponentialsXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{ poly := XPBWPolynomial(Symbol, coef)\free{coef }\bound{poly }} +\end{paste}\end{patch} + +\begin{patch}{LieExponentialsXmpPagePatch7} +\begin{paste}{LieExponentialsXmpPageFull7}{LieExponentialsXmpPageEmpty7} +\pastebutton{LieExponentialsXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{ ea := exp(a::lpoly)$group\free{a }\free{lpoly }\free{group }\bound{ea }} +\indentrel{3}\begin{verbatim} + [a] + (7) e + Type: LieExponentials(Symbol,Fraction Integer,3) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LieExponentialsXmpPageEmpty7} +\begin{paste}{LieExponentialsXmpPageEmpty7}{LieExponentialsXmpPagePatch7} +\pastebutton{LieExponentialsXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{ ea := exp(a::lpoly)$group\free{a }\free{lpoly }\free{group }\bound{ea }} +\end{paste}\end{patch} + +\begin{patch}{LieExponentialsXmpPagePatch8} +\begin{paste}{LieExponentialsXmpPageFull8}{LieExponentialsXmpPageEmpty8} +\pastebutton{LieExponentialsXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{ eb := exp(b::lpoly)$group\free{b }\free{lpoly }\free{group }\bound{eb }} +\indentrel{3}\begin{verbatim} + [b] + (8) e + Type: LieExponentials(Symbol,Fraction Integer,3) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LieExponentialsXmpPageEmpty8} +\begin{paste}{LieExponentialsXmpPageEmpty8}{LieExponentialsXmpPagePatch8} +\pastebutton{LieExponentialsXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{ eb := exp(b::lpoly)$group\free{b }\free{lpoly }\free{group }\bound{eb }} +\end{paste}\end{patch} + +\begin{patch}{LieExponentialsXmpPagePatch9} +\begin{paste}{LieExponentialsXmpPageFull9}{LieExponentialsXmpPageEmpty9} +\pastebutton{LieExponentialsXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{ g: group := ea*eb\free{ea }\free{eb }\bound{g }} +\indentrel{3}\begin{verbatim} + 1 2 1 2 + Ä [a b ] Ä [a b] + [b] 2 [a b] 2 [a] + (9) e e e e e + Type: LieExponentials(Symbol,Fraction Integer,3) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LieExponentialsXmpPageEmpty9} +\begin{paste}{LieExponentialsXmpPageEmpty9}{LieExponentialsXmpPagePatch9} +\pastebutton{LieExponentialsXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{ g: group := ea*eb\free{ea }\free{eb }\bound{g }} +\end{paste}\end{patch} + +\begin{patch}{LieExponentialsXmpPagePatch10} +\begin{paste}{LieExponentialsXmpPageFull10}{LieExponentialsXmpPageEmpty10} +\pastebutton{LieExponentialsXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{ g :: poly\free{g }\free{poly }} +\indentrel{3}\begin{verbatim} + (10) + 1 1 + 1 + [a] + [b] + Ä [a][a] + [a b] + [b][a] + Ä [b][b] + 2 2 + + + 1 1 2 1 2 + Ä [a][a][a] + Ä [a b] + [a b][a] + Ä [a b ] + 6 2 2 + + + 1 1 1 + Ä [b][a][a] + [b][a b] + Ä [b][b][a] + Ä [b][b][b] + 2 2 6 + Type: XPBWPolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LieExponentialsXmpPageEmpty10} +\begin{paste}{LieExponentialsXmpPageEmpty10}{LieExponentialsXmpPagePatch10} +\pastebutton{LieExponentialsXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{ g :: poly\free{g }\free{poly }} +\end{paste}\end{patch} + +\begin{patch}{LieExponentialsXmpPagePatch11} +\begin{paste}{LieExponentialsXmpPageFull11}{LieExponentialsXmpPageEmpty11} +\pastebutton{LieExponentialsXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{ log(g)$group\free{g }\free{group }} +\indentrel{3}\begin{verbatim} + 1 1 2 1 2 + (11) [a] + [b] + Ä [a b] + ÄÄ [a b] + ÄÄ [a b ] + 2 12 12 + Type: LiePolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LieExponentialsXmpPageEmpty11} +\begin{paste}{LieExponentialsXmpPageEmpty11}{LieExponentialsXmpPagePatch11} +\pastebutton{LieExponentialsXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{ log(g)$group\free{g }\free{group }} +\end{paste}\end{patch} + +\begin{patch}{LieExponentialsXmpPagePatch12} +\begin{paste}{LieExponentialsXmpPageFull12}{LieExponentialsXmpPageEmpty12} +\pastebutton{LieExponentialsXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{ g1: group := inv(g)\free{g }\free{group }\bound{g1 }} +\indentrel{3}\begin{verbatim} + - [b] - [a] + (12) e e + Type: LieExponentials(Symbol,Fraction Integer,3) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LieExponentialsXmpPageEmpty12} +\begin{paste}{LieExponentialsXmpPageEmpty12}{LieExponentialsXmpPagePatch12} +\pastebutton{LieExponentialsXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{ g1: group := inv(g)\free{g }\free{group }\bound{g1 }} +\end{paste}\end{patch} + +\begin{patch}{LieExponentialsXmpPagePatch13} +\begin{paste}{LieExponentialsXmpPageFull13}{LieExponentialsXmpPageEmpty13} +\pastebutton{LieExponentialsXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{ g*g1\free{g }\free{g1 }} +\indentrel{3}\begin{verbatim} + (13) 1 + Type: LieExponentials(Symbol,Fraction Integer,3) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LieExponentialsXmpPageEmpty13} +\begin{paste}{LieExponentialsXmpPageEmpty13}{LieExponentialsXmpPagePatch13} +\pastebutton{LieExponentialsXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{ g*g1\free{g }\free{g1 }} +\end{paste}\end{patch} @ \section{lextripk.ht} @@ -12663,6 +33224,2559 @@ the \axiomOpFrom{realSolve}{ZeroDimensionalSolvePackage} operation. \autobuttons \end{page} +\begin{patch}{LexTriangularPackageXmpPagePatch1} +\begin{paste}{LexTriangularPackageXmpPageFull1}{LexTriangularPackageXmpPageEmpty1} +\pastebutton{LexTriangularPackageXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{R := Integer\bound{R }} +\indentrel{3}\begin{verbatim} + (1) Integer + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPageEmpty1} +\begin{paste}{LexTriangularPackageXmpPageEmpty1}{LexTriangularPackageXmpPagePatch1} +\pastebutton{LexTriangularPackageXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{R := Integer\bound{R }} +\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPagePatch2} +\begin{paste}{LexTriangularPackageXmpPageFull2}{LexTriangularPackageXmpPageEmpty2} +\pastebutton{LexTriangularPackageXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{ls : List Symbol := [a,b,c,d,e,f]\bound{ls }} +\indentrel{3}\begin{verbatim} + (2) [a,b,c,d,e,f] + Type: List Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPageEmpty2} +\begin{paste}{LexTriangularPackageXmpPageEmpty2}{LexTriangularPackageXmpPagePatch2} +\pastebutton{LexTriangularPackageXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{ls : List Symbol := [a,b,c,d,e,f]\bound{ls }} +\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPagePatch3} +\begin{paste}{LexTriangularPackageXmpPageFull3}{LexTriangularPackageXmpPageEmpty3} +\pastebutton{LexTriangularPackageXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{V := OVAR(ls)\free{ls }\bound{V }} +\indentrel{3}\begin{verbatim} + (3) OrderedVariableList [a,b,c,d,e,f] + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPageEmpty3} +\begin{paste}{LexTriangularPackageXmpPageEmpty3}{LexTriangularPackageXmpPagePatch3} +\pastebutton{LexTriangularPackageXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{V := OVAR(ls)\free{ls }\bound{V }} +\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPagePatch4} +\begin{paste}{LexTriangularPackageXmpPageFull4}{LexTriangularPackageXmpPageEmpty4} +\pastebutton{LexTriangularPackageXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{P := NSMP(R, V)\free{R }\free{V }\bound{P }} +\indentrel{3}\begin{verbatim} + (4) + NewSparseMultivariatePolynomial(Integer,OrderedVariable + List [a,b,c,d,e,f]) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPageEmpty4} +\begin{paste}{LexTriangularPackageXmpPageEmpty4}{LexTriangularPackageXmpPagePatch4} +\pastebutton{LexTriangularPackageXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{P := NSMP(R, V)\free{R }\free{V }\bound{P }} +\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPagePatch5} +\begin{paste}{LexTriangularPackageXmpPageFull5}{LexTriangularPackageXmpPageEmpty5} +\pastebutton{LexTriangularPackageXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{p1: P := a*b*c*d*e*f - 1\free{P }\bound{p1 }} +\indentrel{3}\begin{verbatim} + (5) f e d c b a - 1 +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPageEmpty5} +\begin{paste}{LexTriangularPackageXmpPageEmpty5}{LexTriangularPackageXmpPagePatch5} +\pastebutton{LexTriangularPackageXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{p1: P := a*b*c*d*e*f - 1\free{P }\bound{p1 }} +\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPagePatch6} +\begin{paste}{LexTriangularPackageXmpPageFull6}{LexTriangularPackageXmpPageEmpty6} +\pastebutton{LexTriangularPackageXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{p2: P := a*b*c*d*e +a*b*c*d*f +a*b*c*e*f +a*b*d*e*f +a*c*d*e*f +b*c*d*e*f\free{P }\bound{p2 }} +\indentrel{3}\begin{verbatim} + (6) + ((((e + f)d + f e)c + f e d)b + f e d c)a + f e d c b +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPageEmpty6} +\begin{paste}{LexTriangularPackageXmpPageEmpty6}{LexTriangularPackageXmpPagePatch6} +\pastebutton{LexTriangularPackageXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{p2: P := a*b*c*d*e +a*b*c*d*f +a*b*c*e*f +a*b*d*e*f +a*c*d*e*f +b*c*d*e*f\free{P }\bound{p2 }} +\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPagePatch7} +\begin{paste}{LexTriangularPackageXmpPageFull7}{LexTriangularPackageXmpPageEmpty7} +\pastebutton{LexTriangularPackageXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{p3: P := a*b*c*d + a*b*c*f + a*b*e*f + a*d*e*f + b*c*d*e + c*d*e*f\free{P }\bound{p3 }} +\indentrel{3}\begin{verbatim} + (7) (((d + f)c + f e)b + f e d)a + e d c b + f e d c +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPageEmpty7} +\begin{paste}{LexTriangularPackageXmpPageEmpty7}{LexTriangularPackageXmpPagePatch7} +\pastebutton{LexTriangularPackageXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{p3: P := a*b*c*d + a*b*c*f + a*b*e*f + a*d*e*f + b*c*d*e + c*d*e*f\free{P }\bound{p3 }} +\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPagePatch8} +\begin{paste}{LexTriangularPackageXmpPageFull8}{LexTriangularPackageXmpPageEmpty8} +\pastebutton{LexTriangularPackageXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{p4: P := a*b*c + a*b*f + a*e*f + b*c*d + c*d*e + d*e*f\free{P }\bound{p4 }} +\indentrel{3}\begin{verbatim} + (8) ((c + f)b + f e)a + d c b + e d c + f e d +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPageEmpty8} +\begin{paste}{LexTriangularPackageXmpPageEmpty8}{LexTriangularPackageXmpPagePatch8} +\pastebutton{LexTriangularPackageXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{p4: P := a*b*c + a*b*f + a*e*f + b*c*d + c*d*e + d*e*f\free{P }\bound{p4 }} +\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPagePatch9} +\begin{paste}{LexTriangularPackageXmpPageFull9}{LexTriangularPackageXmpPageEmpty9} +\pastebutton{LexTriangularPackageXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{p5: P := a*b + a*f + b*c + c*d + d*e + e*f\free{P }\bound{p5 }} +\indentrel{3}\begin{verbatim} + (9) (b + f)a + c b + d c + e d + f e +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPageEmpty9} +\begin{paste}{LexTriangularPackageXmpPageEmpty9}{LexTriangularPackageXmpPagePatch9} +\pastebutton{LexTriangularPackageXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{p5: P := a*b + a*f + b*c + c*d + d*e + e*f\free{P }\bound{p5 }} +\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPagePatch10} +\begin{paste}{LexTriangularPackageXmpPageFull10}{LexTriangularPackageXmpPageEmpty10} +\pastebutton{LexTriangularPackageXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{p6: P := a + b + c + d + e + f\free{P }\bound{p6 }} +\indentrel{3}\begin{verbatim} + (10) a + b + c + d + e + f +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPageEmpty10} +\begin{paste}{LexTriangularPackageXmpPageEmpty10}{LexTriangularPackageXmpPagePatch10} +\pastebutton{LexTriangularPackageXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{p6: P := a + b + c + d + e + f\free{P }\bound{p6 }} +\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPagePatch11} +\begin{paste}{LexTriangularPackageXmpPageFull11}{LexTriangularPackageXmpPageEmpty11} +\pastebutton{LexTriangularPackageXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{lp := [p1, p2, p3, p4, p5, p6]\free{p1 }\free{p2 }\free{p3 }\free{p4 }\free{p5 }\free{p6 }\bound{lp }} +\indentrel{3}\begin{verbatim} + (11) + [f e d c b a - 1, + ((((e + f)d + f e)c + f e d)b + f e d c)a + f e d c b, + (((d + f)c + f e)b + f e d)a + e d c b + f e d c, + ((c + f)b + f e)a + d c b + e d c + f e d, + (b + f)a + c b + d c + e d + f e, + a + b + c + d + e + f] +Type: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPageEmpty11} +\begin{paste}{LexTriangularPackageXmpPageEmpty11}{LexTriangularPackageXmpPagePatch11} +\pastebutton{LexTriangularPackageXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{lp := [p1, p2, p3, p4, p5, p6]\free{p1 }\free{p2 }\free{p3 }\free{p4 }\free{p5 }\free{p6 }\bound{lp }} +\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPagePatch12} +\begin{paste}{LexTriangularPackageXmpPageFull12}{LexTriangularPackageXmpPageEmpty12} +\pastebutton{LexTriangularPackageXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{lextripack := LEXTRIPK(R,ls)\free{R }\free{ls }\bound{lextripack }} +\indentrel{3}\begin{verbatim} + (12) LexTriangularPackage(Integer,[a,b,c,d,e,f]) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPageEmpty12} +\begin{paste}{LexTriangularPackageXmpPageEmpty12}{LexTriangularPackageXmpPagePatch12} +\pastebutton{LexTriangularPackageXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{lextripack := LEXTRIPK(R,ls)\free{R }\free{ls }\bound{lextripack }} +\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPagePatch13} +\begin{paste}{LexTriangularPackageXmpPageFull13}{LexTriangularPackageXmpPageEmpty13} +\pastebutton{LexTriangularPackageXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{lg := groebner(lp)$lextripack\free{lp }\free{lextripack }\bound{lg }} +\indentrel{3}\begin{verbatim} + (13) + [a + b + c + d + e + f, + + 2 + 3968379498283200b + 15873517993132800f b + + + 2 + 3968379498283200d + 15873517993132800f d + + + 3 5 4 4 + 3968379498283200f e - 15873517993132800f e + + + 5 3 + 23810276989699200f e + + + 6 2 + (206355733910726400f + 230166010900425600)e + + + 43 37 + - 729705987316687f + 1863667496867205421f + + + 31 + 291674853771731104461f + + + 25 + 365285994691106921745f + + + 19 + 549961185828911895f + + + 13 + - 365048404038768439269f + + + 7 + - 292382820431504027669f - 2271898467631865497f + * + e + + + 44 38 + - 3988812642545399f + 10187423878429609997f + + + 32 + 1594377523424314053637f + + + 26 20 + 1994739308439916238065f + 1596840088052642815f + + + 14 + - 1993494118301162145413f + + + 8 2 + - 1596049742289689815053f - 11488171330159667449f + , + + (23810276989699200c - 23810276989699200f)b + + + 2 + 23810276989699200c + 71430830969097600f c + + + 2 + - 23810276989699200d - 95241107958796800f d + + + 3 5 4 4 + - 55557312975964800f e + 174608697924460800f e + + + 5 3 + - 174608697924460800f e + + + 6 2 + (- 2428648252949318400f - 2611193709870345600)e + + + 43 37 + 8305444561289527f - 21212087151945459641f + + + 31 + - 3319815883093451385381f + + + 25 + - 4157691646261657136445f + + + 19 + - 6072721607510764095f + + + 13 + 4154986709036460221649f + + + 7 + 3327761311138587096749f + 25885340608290841637f + * + e + + + 44 38 + 45815897629010329f - 117013765582151891207f + + + 32 + - 18313166848970865074187f + + + 26 + - 22909971239649297438915f + + + 20 + - 16133250761305157265f + + + 14 + 22897305857636178256623f + + + 8 2 + 18329944781867242497923f + 130258531002020420699f + , + + (7936758996566400d - 7936758996566400f)b + + + 3 5 + - 7936758996566400f d - 7936758996566400f e + + + 4 4 5 3 + 23810276989699200f e - 23810276989699200f e + + + 6 2 + (- 337312257354072000f - 369059293340337600)e + + + 43 37 + 1176345388640471f - 3004383582891473073f + + + 31 + - 470203502707246105653f + + + 25 + - 588858183402644348085f + + + 19 + - 856939308623513535f + + + 13 + 588472674242340526377f + + + 7 + 471313241958371103517f + 3659742549078552381f + * + e + + + 44 38 + 6423170513956901f - 16404772137036480803f + + + 32 + - 2567419165227528774463f + + + 26 + - 3211938090825682172335f + + + 20 + - 2330490332697587485f + + + 14 + 3210100109444754864587f + + + 8 2 + 2569858315395162617847f + 18326089487427735751f + , + + (11905138494849600e - 11905138494849600f)b + + + 3 5 4 4 + - 3968379498283200f e + 15873517993132800f e + + + 5 3 + - 27778656487982400f e + + + 6 2 + (- 208339923659868000f - 240086959646133600)e + + + 43 37 + 786029984751110f - 2007519008182245250f + + + 31 + - 314188062908073807090f + + + 25 + - 393423667537929575250f + + + 19 + - 550329120654394950f + + + 13 + 393196408728889612770f + + + 7 + 314892372799176495730f + 2409386515146668530f + * + e + + + 44 38 + 4177638546747827f - 10669685294602576381f + + + 32 + - 1669852980419949524601f + + + 26 + - 2089077057287904170745f + + + 20 + - 1569899763580278795f + + + 14 + 2087864026859015573349f + + + 8 2 + 1671496085945199577969f + 11940257226216280177f + , + + 6 + (11905138494849600f - 11905138494849600)b + + + 2 5 3 4 + - 15873517993132800f e + 39683794982832000f e + + + 4 3 + - 39683794982832000f e + + + 11 5 2 + (- 686529653202993600f - 607162063237329600f )e + + + 42 36 + 65144531306704f - 166381280901088652f + + + 30 + - 26033434502470283472f + + + 24 + - 31696259583860650140f + + + 18 12 + 971492093167581360f + 32220085033691389548f + + + 6 + 25526177666070529808f + 138603268355749244 + * + e + + + 43 37 + 167620036074811f - 428102417974791473f + + + 31 25 + - 66997243801231679313f - 83426716722148750485f + + + 19 13 + 203673895369980765f + 83523056326010432457f + + + 7 + 66995789640238066937f + 478592855549587901f + , + + 3 2 + 801692827936c + 2405078483808f c + + + 2 45 + - 2405078483808f c - 13752945467f + + + 39 33 + 35125117815561f + 5496946957826433f + + + 27 21 + 6834659447749117f - 44484880462461f + + + 15 9 + - 6873406230093057f - 5450844938762633f + + + 3 + 1216586044571f + , + + (23810276989699200d - 23810276989699200f)c + + + 2 + 23810276989699200d + 71430830969097600f d + + + 3 5 4 4 + 7936758996566400f e - 31747035986265600f e + + + 5 3 + 31747035986265600f e + + + 6 2 + (404774708824886400f + 396837949828320000)e + + + 43 37 + - 1247372229446701f + 3185785654596621203f + + + 31 + 498594866849974751463f + + + 25 + 624542545845791047935f + + + 19 + 931085755769682885f + + + 13 + - 624150663582417063387f + + + 7 + - 499881859388360475647f - 3926885313819527351f + * + e + + + 44 38 + - 7026011547118141f + 17944427051950691243f + + + 32 + 2808383522593986603543f + + + 26 20 + 3513624142354807530135f + 2860757006705537685f + + + 14 + - 3511356735642190737267f + + + 8 2 + - 2811332494697103819887f - 20315011631522847311f + , + + (7936758996566400e - 7936758996566400f)c + + + 43 37 + - 4418748183673f + 11285568707456559f + + + 31 25 + 1765998617294451019f + 2173749283622606155f + + + 19 13 + - 55788292195402895f - 2215291421788292951f + + + 7 + - 1718142665347430851f + 30256569458230237f + * + e + + + 44 38 + 4418748183673f - 11285568707456559f + + + 32 26 + - 1765998617294451019f - 2173749283622606155f + + + 20 14 + 55788292195402895f + 2215291421788292951f + + + 8 2 + 1718142665347430851f - 30256569458230237f + , + + 6 + (72152354514240f - 72152354514240)c + + + 43 37 + 40950859449f - 104588980990367f + + + 31 25 + - 16367227395575307f - 20268523416527355f + + + 19 13 + 442205002259535f + 20576059935789063f + + + 7 + 15997133796970563f - 275099892785581f + , + + 3 2 + 1984189749141600d + 5952569247424800f d + + + 2 4 5 + - 5952569247424800f d - 3968379498283200f e + + + 5 4 3 + 15873517993132800f e + 17857707742274400e + + + 7 2 + (- 148814231185620000f - 162703559429611200f)e + + + 44 38 + - 390000914678878f + 996062704593756434f + + + 32 + 155886323972034823914f + + + 26 20 + 194745956143985421330f + 6205077595574430f + + + 14 + - 194596512653299068786f + + + 8 2 + - 155796897940756922666f - 1036375759077320978f + * + e + + + 45 39 + - 374998630035991f + 957747106595453993f + + + 33 27 + 149889155566764891693f + 187154171443494641685f + + + 21 15 + - 127129015426348065f - 187241533243115040417f + + + 9 3 + - 149719983567976534037f - 836654081239648061f + , + + (5952569247424800e - 5952569247424800f)d + + + 3 5 4 4 + - 3968379498283200f e + 9920948745708000f e + + + 5 3 + - 3968379498283200f e + + + 6 2 + (- 148814231185620000f - 150798420934761600)e + + + 43 37 + 492558110242553f - 1257992359608074599f + + + 31 + - 196883094539368513959f + + + 25 + - 246562115745735428055f + + + 19 + - 325698701993885505f + + + 13 + 246417769883651808111f + + + 7 + 197327352068200652911f + 1523373796389332143f + * + e + + + 44 38 + 2679481081803026f - 6843392695421906608f + + + 32 + - 1071020459642646913578f + + + 26 20 + - 1339789169692041240060f - 852746750910750210f + + + 14 + 1339105101971878401312f + + + 8 2 + 1071900289758712984762f + 7555239072072727756f + , + + 6 + (11905138494849600f - 11905138494849600)d + + + 2 5 3 4 + - 7936758996566400f e + 31747035986265600f e + + + 4 3 + - 31747035986265600f e + + + 11 5 2 + (- 420648226818019200f - 404774708824886400f )e + + + 42 36 + 15336187600889f - 39169739565161107f + + + 30 + - 6127176127489690827f + + + 24 + - 7217708742310509615f + + + 18 12 + 538628483890722735f + 7506804353843507643f + + + 6 + 5886160769782607203f + 63576108396535879 + * + e + + + 43 37 + 71737781777066f - 183218856207557938f + + + 31 25 + - 28672874271132276078f - 35625223686939812010f + + + 19 13 + 164831339634084390f + 35724160423073052642f + + + 7 + 28627022578664910622f + 187459987029680506f + , + + 6 5 + 1322793166094400e - 3968379498283200f e + + + 2 4 3 3 + 3968379498283200f e - 5291172664377600f e + + + 10 4 2 + (- 230166010900425600f - 226197631402142400f )e + + + 47 + - 152375364610443885f + + + 41 + 389166626064854890415f + + + 35 + 60906097841360558987335f + + + 29 + 76167367934608798697275f + + + 23 + 27855066785995181125f + + + 17 + - 76144952817052723145495f + + + 11 + - 60933629892463517546975f + + + 5 + - 411415071682002547795f + * + e + + + 42 36 + - 209493533143822f + 535045979490560586f + + + 30 24 + 83737947964973553146f + 104889507084213371570f + + + 18 12 + 167117997269207870f - 104793725781390615514f + + + 6 + - 83842685189903180394f - 569978796672974242 + , + + 6 3 + (25438330117200f + 25438330117200)e + + + 7 2 + (76314990351600f + 76314990351600f)e + + + 44 38 + - 1594966552735f + 4073543370415745f + + + 32 26 + 637527159231148925f + 797521176113606525f + + + 20 14 + 530440941097175f - 797160527306433145f + + + 8 2 + - 638132320196044965f - 4510507167940725f + * + e + + + 45 39 + - 6036376800443f + 15416903421476909f + + + 33 27 + 2412807646192304449f + 3017679923028013705f + + + 21 15 + 1422320037411955f - 3016560402417843941f + + + 9 3 + - 2414249368183033161f - 16561862361763873f + , + + 12 2 + (1387545279120f - 1387545279120)e + + + 43 37 + 4321823003f - 11037922310209f + + + 31 25 + - 1727510711947989f - 2165150991154425f + + + 19 13 + - 5114342560755f + 2162682824948601f + + + 7 + 1732620732685741f + 13506088516033f + * + e + + + 44 38 + 24177661775f - 61749727185325f + + + 32 26 + - 9664106795754225f - 12090487758628245f + + + 20 14 + - 8787672733575f + 12083693383005045f + + + 8 2 + 9672870290826025f + 68544102808525f + , + + 48 42 36 30 18 + f - 2554f - 399710f - 499722f + 499722f + + + 12 6 + 399710f + 2554f - 1 + ] +Type: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPageEmpty13} +\begin{paste}{LexTriangularPackageXmpPageEmpty13}{LexTriangularPackageXmpPagePatch13} +\pastebutton{LexTriangularPackageXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{lg := groebner(lp)$lextripack\free{lp }\free{lextripack }\bound{lg }} +\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPagePatch14} +\begin{paste}{LexTriangularPackageXmpPageFull14}{LexTriangularPackageXmpPageEmpty14} +\pastebutton{LexTriangularPackageXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{lexTriangular(lg,false)$lextripack\free{lg }\free{lextripack }} +\indentrel{3}\begin{verbatim} + (14) + [ + 6 + {f + 1, + 6 5 2 4 3 3 4 2 5 + e - 3f e + 3f e - 4f e + 3f e - 3f e - 1, + 2 5 3 4 4 3 5 2 + 3d + f e - 4f e + 4f e - 2f e - 2e + 2f, c + f, + 2 5 3 4 4 3 5 2 + 3b + 2f e - 5f e + 5f e - 10f e - 4e + 7f, + 2 5 3 4 4 3 5 2 + a - f e + 3f e - 3f e + 4f e + 3e - 3f} + , + + 6 2 2 + {f - 1, e - f, d - f, c + 4f c + f , + 2 + (c - f)b - f c - 5f , a + b + c + 3f} + , + 6 2 2 + {f - 1,e - f,d - f,c - f,b + 4f b + f ,a + b + 4f}, + + 6 2 2 + {f - 1, e - f, d + 4f d + f , + 2 + (d - f)c - f d - 5f , b - f, a + c + d + 3f} + , + + { + 36 30 24 18 12 + f - 2554f - 399709f - 502276f - 399709f + + + 6 + - 2554f + 1 + , + + 12 2 + (161718564f - 161718564)e + + + 31 25 19 + - 504205f + 1287737951f + 201539391380f + + + 13 7 + 253982817368f + 201940704665f + 1574134601f + * + e + + + 32 26 20 + - 2818405f + 7198203911f + 1126548149060f + + + 14 8 2 + 1416530563364f + 1127377589345f + 7988820725f + , + + 6 + (693772639560f - 693772639560)d + + + 2 5 3 4 + - 462515093040f e + 1850060372160f e + + + 4 3 + - 1850060372160f e + + + 11 5 2 + (- 24513299931120f - 23588269745040f )e + + + 30 24 + - 890810428f + 2275181044754f + + + 18 12 + 355937263869776f + 413736880104344f + + + 6 + 342849304487996f + 3704966481878 + * + e + + + 31 25 + - 4163798003f + 10634395752169f + + + 19 13 + 1664161760192806f + 2079424391370694f + + + 7 + 1668153650635921f + 10924274392693f + , + + 6 31 + (12614047992f - 12614047992)c - 7246825f + + + 25 19 + 18508536599f + 2896249516034f + + + 13 7 + 3581539649666f + 2796477571739f - 48094301893f + , + + 6 + (693772639560f - 693772639560)b + + + 2 5 3 4 + - 925030186080f e + 2312575465200f e + + + 4 3 + - 2312575465200f e + + + 11 5 2 + (- 40007555547960f - 35382404617560f )e + + + 30 24 + - 3781280823f + 9657492291789f + + + 18 12 + 1511158913397906f + 1837290892286154f + + + 6 + 1487216006594361f + 8077238712093 + * + e + + + 31 25 + - 9736390478f + 24866827916734f + + + 19 13 + 3891495681905296f + 4872556418871424f + + + 7 + 3904047887269606f + 27890075838538f + , + a + b + c + d + e + f} + , + + 6 2 2 2 + {f - 1, e + 4f e + f , (e - f)d - f e - 5f , + c - f, b - f, a + d + e + 3f} + ] + Type: List RegularChain(Integer,[a,b,c,d,e,f]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPageEmpty14} +\begin{paste}{LexTriangularPackageXmpPageEmpty14}{LexTriangularPackageXmpPagePatch14} +\pastebutton{LexTriangularPackageXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{lexTriangular(lg,false)$lextripack\free{lg }\free{lextripack }} +\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPagePatch15} +\begin{paste}{LexTriangularPackageXmpPageFull15}{LexTriangularPackageXmpPageEmpty15} +\pastebutton{LexTriangularPackageXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{lts := lexTriangular(lg,true)$lextripack\free{lg }\free{lextripack }\bound{lts }} +\indentrel{3}\begin{verbatim} + (15) + [ + 6 + {f + 1, + 6 5 2 4 3 3 4 2 5 + e - 3f e + 3f e - 4f e + 3f e - 3f e - 1, + 2 5 3 4 4 3 5 2 + 3d + f e - 4f e + 4f e - 2f e - 2e + 2f, c + f, + 2 5 3 4 4 3 5 2 + 3b + 2f e - 5f e + 5f e - 10f e - 4e + 7f, + 2 5 3 4 4 3 5 2 + a - f e + 3f e - 3f e + 4f e + 3e - 3f} + , + 6 2 2 + {f - 1,e - f,d - f,c + 4f c + f ,b + c + 4f,a - f}, + 6 2 2 + {f - 1,e - f,d - f,c - f,b + 4f b + f ,a + b + 4f}, + 6 2 2 + {f - 1,e - f,d + 4f d + f ,c + d + 4f,b - f,a - f}, + + { + 36 30 24 18 12 + f - 2554f - 399709f - 502276f - 399709f + + + 6 + - 2554f + 1 + , + + 2 + 1387545279120e + + + 31 25 + 4321823003f - 11037922310209f + + + 19 13 + - 1727506390124986f - 2176188913464634f + + + 7 + - 1732620732685741f - 13506088516033f + * + e + + + 32 26 + 24177661775f - 61749727185325f + + + 20 14 + - 9664082618092450f - 12152237485813570f + + + 8 2 + - 9672870290826025f - 68544102808525f + , + + 1387545279120d + + + 30 24 + - 1128983050f + 2883434331830f + + + 18 12 + 451234998755840f + 562426491685760f + + + 6 + 447129055314890f - 165557857270 + * + e + + + 31 25 + - 1816935351f + 4640452214013f + + + 19 13 + 726247129626942f + 912871801716798f + + + 7 + 726583262666877f + 4909358645961f + , + + 31 25 + 1387545279120c + 778171189f - 1987468196267f + + + 19 13 + - 310993556954378f - 383262822316802f + + + 7 + - 300335488637543f + 5289595037041f + , + + 1387545279120b + + + 30 24 + 1128983050f - 2883434331830f + + + 18 12 + - 451234998755840f - 562426491685760f + + + 6 + - 447129055314890f + 165557857270 + * + e + + + 31 25 + - 3283058841f + 8384938292463f + + + 19 13 + 1312252817452422f + 1646579934064638f + + + 7 + 1306372958656407f + 4694680112151f + , + + 31 + 1387545279120a + 1387545279120e + 4321823003f + + + 25 19 + - 11037922310209f - 1727506390124986f + + + 13 7 + - 2176188913464634f - 1732620732685741f + + + - 13506088516033f + } + , + 6 2 2 + {f - 1,e + 4f e + f ,d + e + 4f,c - f,b - f,a - f}] + Type: List RegularChain(Integer,[a,b,c,d,e,f]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPageEmpty15} +\begin{paste}{LexTriangularPackageXmpPageEmpty15}{LexTriangularPackageXmpPagePatch15} +\pastebutton{LexTriangularPackageXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{lts := lexTriangular(lg,true)$lextripack\free{lg }\free{lextripack }\bound{lts }} +\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPagePatch16} +\begin{paste}{LexTriangularPackageXmpPageFull16}{LexTriangularPackageXmpPageEmpty16} +\pastebutton{LexTriangularPackageXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{[[init(p) for p in (ts :: List(P))] for ts in lts]\free{lts }} +\indentrel{3}\begin{verbatim} + (16) + [[1,3,1,3,1,1], [1,1,1,1,1,1], [1,1,1,1,1,1], + [1,1,1,1,1,1], + + [1387545279120, 1387545279120, 1387545279120, + 1387545279120, 1387545279120, 1] + , + [1,1,1,1,1,1]] +Type: List List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPageEmpty16} +\begin{paste}{LexTriangularPackageXmpPageEmpty16}{LexTriangularPackageXmpPagePatch16} +\pastebutton{LexTriangularPackageXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{[[init(p) for p in (ts :: List(P))] for ts in lts]\free{lts }} +\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPagePatch17} +\begin{paste}{LexTriangularPackageXmpPageFull17}{LexTriangularPackageXmpPageEmpty17} +\pastebutton{LexTriangularPackageXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{squareFreeLexTriangular(lg,true)$lextripack\free{lg }\free{lextripack }} +\indentrel{3}\begin{verbatim} + (17) + [ + 6 + {f + 1, + 6 5 2 4 3 3 4 2 5 + e - 3f e + 3f e - 4f e + 3f e - 3f e - 1, + 2 5 3 4 4 3 5 2 + 3d + f e - 4f e + 4f e - 2f e - 2e + 2f, c + f, + 2 5 3 4 4 3 5 2 + 3b + 2f e - 5f e + 5f e - 10f e - 4e + 7f, + 2 5 3 4 4 3 5 2 + a - f e + 3f e - 3f e + 4f e + 3e - 3f} + , + 6 2 2 + {f - 1,e - f,d - f,c + 4f c + f ,b + c + 4f,a - f}, + 6 2 2 + {f - 1,e - f,d - f,c - f,b + 4f b + f ,a + b + 4f}, + 6 2 2 + {f - 1,e - f,d + 4f d + f ,c + d + 4f,b - f,a - f}, + + { + 36 30 24 18 12 + f - 2554f - 399709f - 502276f - 399709f + + + 6 + - 2554f + 1 + , + + 2 + 1387545279120e + + + 31 25 + 4321823003f - 11037922310209f + + + 19 13 + - 1727506390124986f - 2176188913464634f + + + 7 + - 1732620732685741f - 13506088516033f + * + e + + + 32 26 + 24177661775f - 61749727185325f + + + 20 14 + - 9664082618092450f - 12152237485813570f + + + 8 2 + - 9672870290826025f - 68544102808525f + , + + 1387545279120d + + + 30 24 + - 1128983050f + 2883434331830f + + + 18 12 + 451234998755840f + 562426491685760f + + + 6 + 447129055314890f - 165557857270 + * + e + + + 31 25 + - 1816935351f + 4640452214013f + + + 19 13 + 726247129626942f + 912871801716798f + + + 7 + 726583262666877f + 4909358645961f + , + + 31 25 + 1387545279120c + 778171189f - 1987468196267f + + + 19 13 + - 310993556954378f - 383262822316802f + + + 7 + - 300335488637543f + 5289595037041f + , + + 1387545279120b + + + 30 24 + 1128983050f - 2883434331830f + + + 18 12 + - 451234998755840f - 562426491685760f + + + 6 + - 447129055314890f + 165557857270 + * + e + + + 31 25 + - 3283058841f + 8384938292463f + + + 19 13 + 1312252817452422f + 1646579934064638f + + + 7 + 1306372958656407f + 4694680112151f + , + + 31 + 1387545279120a + 1387545279120e + 4321823003f + + + 25 19 + - 11037922310209f - 1727506390124986f + + + 13 7 + - 2176188913464634f - 1732620732685741f + + + - 13506088516033f + } + , + 6 2 2 + {f - 1,e + 4f e + f ,d + e + 4f,c - f,b - f,a - f}] +Type: List SquareFreeRegularTriangularSet(Integer,IndexedExponents OrderedVariableList [a,b,c,d,e,f],OrderedVariableList [a,b,c,d,e,f],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f])) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPageEmpty17} +\begin{paste}{LexTriangularPackageXmpPageEmpty17}{LexTriangularPackageXmpPagePatch17} +\pastebutton{LexTriangularPackageXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{squareFreeLexTriangular(lg,true)$lextripack\free{lg }\free{lextripack }} +\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPagePatch18} +\begin{paste}{LexTriangularPackageXmpPageFull18}{LexTriangularPackageXmpPageEmpty18} +\pastebutton{LexTriangularPackageXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{reduce(+,[degree(ts) for ts in lts])\free{lts }} +\indentrel{3}\begin{verbatim} + (18) 156 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPageEmpty18} +\begin{paste}{LexTriangularPackageXmpPageEmpty18}{LexTriangularPackageXmpPagePatch18} +\pastebutton{LexTriangularPackageXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{reduce(+,[degree(ts) for ts in lts])\free{lts }} +\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPagePatch19} +\begin{paste}{LexTriangularPackageXmpPageFull19}{LexTriangularPackageXmpPageEmpty19} +\pastebutton{LexTriangularPackageXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{ls2 : List Symbol := concat(ls,new()$Symbol)\free{ls }\bound{ls2 }} +\indentrel{3}\begin{verbatim} + (19) [a,b,c,d,e,f,%A] + Type: List Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPageEmpty19} +\begin{paste}{LexTriangularPackageXmpPageEmpty19}{LexTriangularPackageXmpPagePatch19} +\pastebutton{LexTriangularPackageXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{ls2 : List Symbol := concat(ls,new()$Symbol)\free{ls }\bound{ls2 }} +\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPagePatch20} +\begin{paste}{LexTriangularPackageXmpPageFull20}{LexTriangularPackageXmpPageEmpty20} +\pastebutton{LexTriangularPackageXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{zdpack := ZDSOLVE(R,ls,ls2)\free{R }\free{ls }\free{ls2 }\bound{zdpack }} +\indentrel{3}\begin{verbatim} + (20) + ZeroDimensionalSolvePackage(Integer,[a,b,c,d,e,f],[a,b, + c,d,e,f,%A]) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPageEmpty20} +\begin{paste}{LexTriangularPackageXmpPageEmpty20}{LexTriangularPackageXmpPagePatch20} +\pastebutton{LexTriangularPackageXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{zdpack := ZDSOLVE(R,ls,ls2)\free{R }\free{ls }\free{ls2 }\bound{zdpack }} +\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPagePatch21} +\begin{paste}{LexTriangularPackageXmpPageFull21}{LexTriangularPackageXmpPageEmpty21} +\pastebutton{LexTriangularPackageXmpPageFull21}{\hidepaste} +\tab{5}\spadcommand{concat [univariateSolve(ts)$zdpack for ts in lts]\free{lts }\free{zdpack }} +\indentrel{3}\begin{verbatim} + (21) + [ + 4 2 + [complexRoots= ? - 13? + 49, + + coordinates = + 3 3 + [7a + %A - 6%A, 21b + %A + %A, + 3 3 + 21c - 2%A + 19%A, 7d - %A + 6%A, + 3 3 + 21e - %A - %A, 21f + 2%A - 19%A] + ] + , + + 4 2 + [complexRoots= ? + 11? + 49, + + coordinates = + 3 3 + [35a + 3%A + 19%A, 35b + %A + 18%A, + 3 3 + 35c - 2%A - %A, 35d - 3%A - 19%A, + 3 3 + 35e - %A - 18%A, 35f + 2%A + %A] + ] + , + + [ + complexRoots = + 8 7 6 5 4 3 + ? - 12? + 58? - 120? + 207? - 360? + + + 2 + 802? - 1332? + 1369 + , + + coordinates = + [ + 7 6 5 + 43054532a + 33782%A - 546673%A + 3127348%A + + + 4 3 2 + - 6927123%A + 4365212%A - 25086957%A + + + 39582814%A - 107313172 + , + + 7 6 5 + 43054532b - 33782%A + 546673%A - 3127348%A + + + 4 3 2 + 6927123%A - 4365212%A + 25086957%A + + + - 39582814%A + 107313172 + , + + 7 6 5 + 21527266c - 22306%A + 263139%A - 1166076%A + + + 4 3 2 + 1821805%A - 2892788%A + 10322663%A + + + - 9026596%A + 12950740 + , + + 7 6 5 + 43054532d + 22306%A - 263139%A + 1166076%A + + + 4 3 2 + - 1821805%A + 2892788%A - 10322663%A + + + 30553862%A - 12950740 + , + + 7 6 5 + 43054532e - 22306%A + 263139%A - 1166076%A + + + 4 3 2 + 1821805%A - 2892788%A + 10322663%A + + + - 30553862%A + 12950740 + , + + 7 6 5 + 21527266f + 22306%A - 263139%A + 1166076%A + + + 4 3 2 + - 1821805%A + 2892788%A - 10322663%A + + + 9026596%A - 12950740 + ] + ] + , + + [ + complexRoots = + 8 7 6 5 4 3 + ? + 12? + 58? + 120? + 207? + 360? + + + 2 + 802? + 1332? + 1369 + , + + coordinates = + [ + 7 6 5 + 43054532a + 33782%A + 546673%A + 3127348%A + + + 4 3 2 + 6927123%A + 4365212%A + 25086957%A + + + 39582814%A + 107313172 + , + + 7 6 5 + 43054532b - 33782%A - 546673%A - 3127348%A + + + 4 3 2 + - 6927123%A - 4365212%A - 25086957%A + + + - 39582814%A - 107313172 + , + + 7 6 5 + 21527266c - 22306%A - 263139%A - 1166076%A + + + 4 3 2 + - 1821805%A - 2892788%A - 10322663%A + + + - 9026596%A - 12950740 + , + + 7 6 5 + 43054532d + 22306%A + 263139%A + 1166076%A + + + 4 3 2 + 1821805%A + 2892788%A + 10322663%A + + + 30553862%A + 12950740 + , + + 7 6 5 + 43054532e - 22306%A - 263139%A - 1166076%A + + + 4 3 2 + - 1821805%A - 2892788%A - 10322663%A + + + - 30553862%A - 12950740 + , + + 7 6 5 + 21527266f + 22306%A + 263139%A + 1166076%A + + + 4 3 2 + 1821805%A + 2892788%A + 10322663%A + + + 9026596%A + 12950740 + ] + ] + , + + 4 2 + [complexRoots= ? - ? + 1, + + coordinates = + 3 3 + [a - %A, b + %A - %A, c + %A , d + %A, + 3 3 + e - %A + %A, f - %A ] + ] + , + + 8 6 4 2 + [complexRoots= ? + 4? + 12? + 16? + 4, + + coordinates = + 7 5 3 + [4a - 2%A - 7%A - 20%A - 22%A, + 7 5 3 + 4b + 2%A + 7%A + 20%A + 22%A, + 7 5 3 + 4c + %A + 3%A + 10%A + 10%A, + 7 5 3 + 4d + %A + 3%A + 10%A + 6%A, + 7 5 3 + 4e - %A - 3%A - 10%A - 6%A, + 7 5 3 + 4f - %A - 3%A - 10%A - 10%A] + ] + , + + 4 3 2 + [complexRoots= ? + 6? + 30? + 36? + 36, + + coordinates = + 3 2 + [30a - %A - 5%A - 30%A - 6, + 3 2 + 6b + %A + 5%A + 24%A + 6, + 3 2 + 30c - %A - 5%A - 6, + 3 2 + 30d - %A - 5%A - 30%A - 6, + 3 2 + 30e - %A - 5%A - 30%A - 6, + 3 2 + 30f - %A - 5%A - 30%A - 6] + ] + , + + 4 3 2 + [complexRoots= ? - 6? + 30? - 36? + 36, + + coordinates = + 3 2 + [30a - %A + 5%A - 30%A + 6, + 3 2 + 6b + %A - 5%A + 24%A - 6, + 3 2 + 30c - %A + 5%A + 6, + 3 2 + 30d - %A + 5%A - 30%A + 6, + 3 2 + 30e - %A + 5%A - 30%A + 6, + 3 2 + 30f - %A + 5%A - 30%A + 6] + ] + , + + 2 + [complexRoots= ? + 6? + 6, + + coordinates = + [a + 1,b - %A - 5,c + %A + 1,d + 1,e + 1,f + 1] + ] + , + + 2 + [complexRoots= ? - 6? + 6, + + coordinates = + [a - 1,b - %A + 5,c + %A - 1,d - 1,e - 1,f - 1] + ] + , + + 4 3 2 + [complexRoots= ? + 6? + 30? + 36? + 36, + + coordinates = + 3 2 + [6a + %A + 5%A + 24%A + 6, + 3 2 + 30b - %A - 5%A - 6, + 3 2 + 30c - %A - 5%A - 30%A - 6, + 3 2 + 30d - %A - 5%A - 30%A - 6, + 3 2 + 30e - %A - 5%A - 30%A - 6, + 3 2 + 30f - %A - 5%A - 30%A - 6] + ] + , + + 4 3 2 + [complexRoots= ? - 6? + 30? - 36? + 36, + + coordinates = + 3 2 + [6a + %A - 5%A + 24%A - 6, + 3 2 + 30b - %A + 5%A + 6, + 3 2 + 30c - %A + 5%A - 30%A + 6, + 3 2 + 30d - %A + 5%A - 30%A + 6, + 3 2 + 30e - %A + 5%A - 30%A + 6, + 3 2 + 30f - %A + 5%A - 30%A + 6] + ] + , + + 2 + [complexRoots= ? + 6? + 6, + + coordinates = + [a - %A - 5,b + %A + 1,c + 1,d + 1,e + 1,f + 1] + ] + , + + 2 + [complexRoots= ? - 6? + 6, + + coordinates = + [a - %A + 5,b + %A - 1,c - 1,d - 1,e - 1,f - 1] + ] + , + + 4 3 2 + [complexRoots= ? + 6? + 30? + 36? + 36, + + coordinates = + 3 2 + [30a - %A - 5%A - 30%A - 6, + 3 2 + 30b - %A - 5%A - 30%A - 6, + 3 2 + 6c + %A + 5%A + 24%A + 6, + 3 2 + 30d - %A - 5%A - 6, + 3 2 + 30e - %A - 5%A - 30%A - 6, + 3 2 + 30f - %A - 5%A - 30%A - 6] + ] + , + + 4 3 2 + [complexRoots= ? - 6? + 30? - 36? + 36, + + coordinates = + 3 2 + [30a - %A + 5%A - 30%A + 6, + 3 2 + 30b - %A + 5%A - 30%A + 6, + 3 2 + 6c + %A - 5%A + 24%A - 6, + 3 2 + 30d - %A + 5%A + 6, + 3 2 + 30e - %A + 5%A - 30%A + 6, + 3 2 + 30f - %A + 5%A - 30%A + 6] + ] + , + + 2 + [complexRoots= ? + 6? + 6, + + coordinates = + [a + 1,b + 1,c - %A - 5,d + %A + 1,e + 1,f + 1] + ] + , + + 2 + [complexRoots= ? - 6? + 6, + + coordinates = + [a - 1,b - 1,c - %A + 5,d + %A - 1,e - 1,f - 1] + ] + , + + [ + complexRoots = + 8 7 6 5 4 2 + ? + 6? + 16? + 24? + 18? - 8? + 4 + , + + coordinates = + [ + 7 6 5 4 3 + 2a + 2%A + 9%A + 18%A + 19%A + 4%A + + + 2 + - 10%A - 2%A + 4 + , + + 7 6 5 4 3 + 2b + 2%A + 9%A + 18%A + 19%A + 4%A + + + 2 + - 10%A - 4%A + 4 + , + 7 6 5 4 3 + 2c - %A - 4%A - 8%A - 9%A - 4%A - 2%A - 4, + 7 6 5 4 3 + 2d + %A + 4%A + 8%A + 9%A + 4%A + 2%A + 4, + + 7 6 5 4 3 + 2e - 2%A - 9%A - 18%A - 19%A - 4%A + + + 2 + 10%A + 4%A - 4 + , + + 7 6 5 4 3 + 2f - 2%A - 9%A - 18%A - 19%A - 4%A + + + 2 + 10%A + 2%A - 4 + ] + ] + , + + [ + complexRoots = + 8 7 6 5 4 3 + ? + 12? + 64? + 192? + 432? + 768? + + + 2 + 1024? + 768? + 256 + , + + coordinates = + [ + 7 6 5 4 + 1408a - 19%A - 200%A - 912%A - 2216%A + + + 3 2 + - 4544%A - 6784%A - 6976%A - 1792 + , + + 7 6 5 4 + 1408b - 37%A - 408%A - 1952%A - 5024%A + + + 3 2 + - 10368%A - 16768%A - 17920%A - 5120 + , + + 7 6 5 4 + 1408c + 37%A + 408%A + 1952%A + 5024%A + + + 3 2 + 10368%A + 16768%A + 17920%A + 5120 + , + + 7 6 5 4 + 1408d + 19%A + 200%A + 912%A + 2216%A + + + 3 2 + 4544%A + 6784%A + 6976%A + 1792 + , + 2e + %A, 2f - %A] + ] + , + + 8 6 4 2 + [complexRoots= ? + 4? + 12? + 16? + 4, + + coordinates = + 7 5 3 + [4a - %A - 3%A - 10%A - 6%A, + 7 5 3 + 4b - %A - 3%A - 10%A - 10%A, + 7 5 3 + 4c - 2%A - 7%A - 20%A - 22%A, + 7 5 3 + 4d + 2%A + 7%A + 20%A + 22%A, + 7 5 3 + 4e + %A + 3%A + 10%A + 10%A, + 7 5 3 + 4f + %A + 3%A + 10%A + 6%A] + ] + , + + 8 6 4 2 + [complexRoots= ? + 16? - 96? + 256? + 256, + + coordinates = + 7 5 3 + [512a - %A - 12%A + 176%A - 448%A, + 7 5 3 + 128b - %A - 16%A + 96%A - 256%A, + 7 5 3 + 128c + %A + 16%A - 96%A + 256%A, + 7 5 3 + 512d + %A + 12%A - 176%A + 448%A, 2e + %A, + 2f - %A] + ] + , + + [ + complexRoots = + 8 7 6 5 4 3 + ? - 12? + 64? - 192? + 432? - 768? + + + 2 + 1024? - 768? + 256 + , + + coordinates = + [ + 7 6 5 4 + 1408a - 19%A + 200%A - 912%A + 2216%A + + + 3 2 + - 4544%A + 6784%A - 6976%A + 1792 + , + + 7 6 5 4 + 1408b - 37%A + 408%A - 1952%A + 5024%A + + + 3 2 + - 10368%A + 16768%A - 17920%A + 5120 + , + + 7 6 5 4 + 1408c + 37%A - 408%A + 1952%A - 5024%A + + + 3 2 + 10368%A - 16768%A + 17920%A - 5120 + , + + 7 6 5 4 + 1408d + 19%A - 200%A + 912%A - 2216%A + + + 3 2 + 4544%A - 6784%A + 6976%A - 1792 + , + 2e + %A, 2f - %A] + ] + , + + [ + complexRoots = + 8 7 6 5 4 2 + ? - 6? + 16? - 24? + 18? - 8? + 4 + , + + coordinates = + [ + 7 6 5 4 3 + 2a + 2%A - 9%A + 18%A - 19%A + 4%A + + + 2 + 10%A - 2%A - 4 + , + + 7 6 5 4 3 + 2b + 2%A - 9%A + 18%A - 19%A + 4%A + + + 2 + 10%A - 4%A - 4 + , + 7 6 5 4 3 + 2c - %A + 4%A - 8%A + 9%A - 4%A - 2%A + 4, + 7 6 5 4 3 + 2d + %A - 4%A + 8%A - 9%A + 4%A + 2%A - 4, + + 7 6 5 4 3 + 2e - 2%A + 9%A - 18%A + 19%A - 4%A + + + 2 + - 10%A + 4%A + 4 + , + + 7 6 5 4 3 + 2f - 2%A + 9%A - 18%A + 19%A - 4%A + + + 2 + - 10%A + 2%A + 4 + ] + ] + , + + 4 2 + [complexRoots= ? + 12? + 144, + + coordinates = + 2 2 2 + [12a - %A - 12, 12b - %A - 12, 12c - %A - 12, + 2 2 + 12d - %A - 12, 6e + %A + 3%A + 12, + 2 + 6f + %A - 3%A + 12] + ] + , + + 4 3 2 + [complexRoots= ? + 6? + 30? + 36? + 36, + + coordinates = + 3 2 + [6a - %A - 5%A - 24%A - 6, + 3 2 + 30b + %A + 5%A + 30%A + 6, + 3 2 + 30c + %A + 5%A + 30%A + 6, + 3 2 + 30d + %A + 5%A + 30%A + 6, + 3 2 + 30e + %A + 5%A + 30%A + 6, + 3 2 + 30f + %A + 5%A + 6] + ] + , + + 4 3 2 + [complexRoots= ? - 6? + 30? - 36? + 36, + + coordinates = + 3 2 + [6a - %A + 5%A - 24%A + 6, + 3 2 + 30b + %A - 5%A + 30%A - 6, + 3 2 + 30c + %A - 5%A + 30%A - 6, + 3 2 + 30d + %A - 5%A + 30%A - 6, + 3 2 + 30e + %A - 5%A + 30%A - 6, + 3 2 + 30f + %A - 5%A - 6] + ] + , + + 4 2 + [complexRoots= ? + 12? + 144, + + coordinates = + 2 2 2 + [12a + %A + 12, 12b + %A + 12, 12c + %A + 12, + 2 2 + 12d + %A + 12, 6e - %A + 3%A - 12, + 2 + 6f - %A - 3%A - 12] + ] + , + + 2 + [complexRoots= ? - 12, + + coordinates = + [a - 1,b - 1,c - 1,d - 1,2e + %A + 4,2f - %A + 4] + ] + , + + 2 + [complexRoots= ? + 6? + 6, + + coordinates = + [a + %A + 5,b - 1,c - 1,d - 1,e - 1,f - %A - 1] + ] + , + + 2 + [complexRoots= ? - 6? + 6, + + coordinates = + [a + %A - 5,b + 1,c + 1,d + 1,e + 1,f - %A + 1] + ] + , + + 2 + [complexRoots= ? - 12, + + coordinates = + [a + 1,b + 1,c + 1,d + 1,2e + %A - 4,2f - %A - 4] + ] + , + + 4 3 2 + [complexRoots= ? + 6? + 30? + 36? + 36, + + coordinates = + 3 2 + [30a - %A - 5%A - 30%A - 6, + 3 2 + 30b - %A - 5%A - 30%A - 6, + 3 2 + 30c - %A - 5%A - 30%A - 6, + 3 2 + 6d + %A + 5%A + 24%A + 6, + 3 2 + 30e - %A - 5%A - 6, + 3 2 + 30f - %A - 5%A - 30%A - 6] + ] + , + + 4 3 2 + [complexRoots= ? - 6? + 30? - 36? + 36, + + coordinates = + 3 2 + [30a - %A + 5%A - 30%A + 6, + 3 2 + 30b - %A + 5%A - 30%A + 6, + 3 2 + 30c - %A + 5%A - 30%A + 6, + 3 2 + 6d + %A - 5%A + 24%A - 6, + 3 2 + 30e - %A + 5%A + 6, + 3 2 + 30f - %A + 5%A - 30%A + 6] + ] + , + + 2 + [complexRoots= ? + 6? + 6, + + coordinates = + [a + 1,b + 1,c + 1,d - %A - 5,e + %A + 1,f + 1] + ] + , + + 2 + [complexRoots= ? - 6? + 6, + + coordinates = + [a - 1,b - 1,c - 1,d - %A + 5,e + %A - 1,f - 1] + ] + ] +Type: List Record(complexRoots: SparseUnivariatePolynomial Integer,coordinates: List Polynomial Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPageEmpty21} +\begin{paste}{LexTriangularPackageXmpPageEmpty21}{LexTriangularPackageXmpPagePatch21} +\pastebutton{LexTriangularPackageXmpPageEmpty21}{\showpaste} +\tab{5}\spadcommand{concat [univariateSolve(ts)$zdpack for ts in lts]\free{lts }\free{zdpack }} +\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPagePatch22} +\begin{paste}{LexTriangularPackageXmpPageFull22}{LexTriangularPackageXmpPageEmpty22} +\pastebutton{LexTriangularPackageXmpPageFull22}{\hidepaste} +\tab{5}\spadcommand{concat [realSolve(ts)$zdpack for ts in lts]\free{lts }\free{zdpack }} +\indentrel{3}\begin{verbatim} + (22) + [[%R1,%R1,%R1,%R5,- %R5 - 4%R1,%R1], + [%R1,%R1,%R1,%R6,- %R6 - 4%R1,%R1], + [%R2,%R2,%R2,%R3,- %R3 - 4%R2,%R2], + [%R2,%R2,%R2,%R4,- %R4 - 4%R2,%R2], + [%R7,%R7,%R7,%R7,%R11,- %R11 - 4%R7], + [%R7,%R7,%R7,%R7,%R12,- %R12 - 4%R7], + [%R8,%R8,%R8,%R8,%R9,- %R9 - 4%R8], + [%R8,%R8,%R8,%R8,%R10,- %R10 - 4%R8], + [%R13,%R13,%R17,- %R17 - 4%R13,%R13,%R13], + [%R13,%R13,%R18,- %R18 - 4%R13,%R13,%R13], + [%R14,%R14,%R15,- %R15 - 4%R14,%R14,%R14], + [%R14,%R14,%R16,- %R16 - 4%R14,%R14,%R14], + + [%R19, %R29, + + 7865521 31 6696179241 25 + ÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄ %R19 + 6006689520 2002229840 + + + 25769893181 19 1975912990729 13 + - ÄÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + 49235160 3003344760 + + + 1048460696489 7 21252634831 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄÄ %R19 + 2002229840 6006689520 + , + + 778171189 31 1987468196267 25 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + 1387545279120 1387545279120 + + + 155496778477189 19 191631411158401 13 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + 693772639560 693772639560 + + + 300335488637543 7 755656433863 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + 1387545279120 198220754160 + , + + 1094352947 31 2794979430821 25 + ÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + 462515093040 462515093040 + + + 218708802908737 19 91476663003591 13 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + 231257546520 77085848840 + + + 145152550961823 7 1564893370717 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + 154171697680 462515093040 + , + + 4321823003 31 + - %R29 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + 1387545279120 + + + 180949546069 25 863753195062493 19 + ÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + 22746643920 693772639560 + + + 1088094456732317 13 1732620732685741 7 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + 693772639560 1387545279120 + + + 13506088516033 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + 1387545279120 + ] + , + + [%R19, %R30, + + 7865521 31 6696179241 25 + ÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄ %R19 + 6006689520 2002229840 + + + 25769893181 19 1975912990729 13 + - ÄÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + 49235160 3003344760 + + + 1048460696489 7 21252634831 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄÄ %R19 + 2002229840 6006689520 + , + + 778171189 31 1987468196267 25 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + 1387545279120 1387545279120 + + + 155496778477189 19 191631411158401 13 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + 693772639560 693772639560 + + + 300335488637543 7 755656433863 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + 1387545279120 198220754160 + , + + 1094352947 31 2794979430821 25 + ÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + 462515093040 462515093040 + + + 218708802908737 19 91476663003591 13 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + 231257546520 77085848840 + + + 145152550961823 7 1564893370717 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + 154171697680 462515093040 + , + + 4321823003 31 + - %R30 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + 1387545279120 + + + 180949546069 25 863753195062493 19 + ÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + 22746643920 693772639560 + + + 1088094456732317 13 1732620732685741 7 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + 693772639560 1387545279120 + + + 13506088516033 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + 1387545279120 + ] + , + + [%R20, %R27, + + 7865521 31 6696179241 25 + ÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄ %R20 + 6006689520 2002229840 + + + 25769893181 19 1975912990729 13 + - ÄÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + 49235160 3003344760 + + + 1048460696489 7 21252634831 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄÄ %R20 + 2002229840 6006689520 + , + + 778171189 31 1987468196267 25 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + 1387545279120 1387545279120 + + + 155496778477189 19 191631411158401 13 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + 693772639560 693772639560 + + + 300335488637543 7 755656433863 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + 1387545279120 198220754160 + , + + 1094352947 31 2794979430821 25 + ÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + 462515093040 462515093040 + + + 218708802908737 19 91476663003591 13 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + 231257546520 77085848840 + + + 145152550961823 7 1564893370717 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + 154171697680 462515093040 + , + + 4321823003 31 + - %R27 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + 1387545279120 + + + 180949546069 25 863753195062493 19 + ÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + 22746643920 693772639560 + + + 1088094456732317 13 1732620732685741 7 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + 693772639560 1387545279120 + + + 13506088516033 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + 1387545279120 + ] + , + + [%R20, %R28, + + 7865521 31 6696179241 25 + ÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄ %R20 + 6006689520 2002229840 + + + 25769893181 19 1975912990729 13 + - ÄÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + 49235160 3003344760 + + + 1048460696489 7 21252634831 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄÄ %R20 + 2002229840 6006689520 + , + + 778171189 31 1987468196267 25 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + 1387545279120 1387545279120 + + + 155496778477189 19 191631411158401 13 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + 693772639560 693772639560 + + + 300335488637543 7 755656433863 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + 1387545279120 198220754160 + , + + 1094352947 31 2794979430821 25 + ÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + 462515093040 462515093040 + + + 218708802908737 19 91476663003591 13 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + 231257546520 77085848840 + + + 145152550961823 7 1564893370717 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + 154171697680 462515093040 + , + + 4321823003 31 + - %R28 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + 1387545279120 + + + 180949546069 25 863753195062493 19 + ÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + 22746643920 693772639560 + + + 1088094456732317 13 1732620732685741 7 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + 693772639560 1387545279120 + + + 13506088516033 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + 1387545279120 + ] + , + + [%R21, %R25, + + 7865521 31 6696179241 25 + ÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄ %R21 + 6006689520 2002229840 + + + 25769893181 19 1975912990729 13 + - ÄÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + 49235160 3003344760 + + + 1048460696489 7 21252634831 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄÄ %R21 + 2002229840 6006689520 + , + + 778171189 31 1987468196267 25 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + 1387545279120 1387545279120 + + + 155496778477189 19 191631411158401 13 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + 693772639560 693772639560 + + + 300335488637543 7 755656433863 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + 1387545279120 198220754160 + , + + 1094352947 31 2794979430821 25 + ÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + 462515093040 462515093040 + + + 218708802908737 19 91476663003591 13 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + 231257546520 77085848840 + + + 145152550961823 7 1564893370717 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + 154171697680 462515093040 + , + + 4321823003 31 + - %R25 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + 1387545279120 + + + 180949546069 25 863753195062493 19 + ÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + 22746643920 693772639560 + + + 1088094456732317 13 1732620732685741 7 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + 693772639560 1387545279120 + + + 13506088516033 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + 1387545279120 + ] + , + + [%R21, %R26, + + 7865521 31 6696179241 25 + ÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄ %R21 + 6006689520 2002229840 + + + 25769893181 19 1975912990729 13 + - ÄÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + 49235160 3003344760 + + + 1048460696489 7 21252634831 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄÄ %R21 + 2002229840 6006689520 + , + + 778171189 31 1987468196267 25 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + 1387545279120 1387545279120 + + + 155496778477189 19 191631411158401 13 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + 693772639560 693772639560 + + + 300335488637543 7 755656433863 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + 1387545279120 198220754160 + , + + 1094352947 31 2794979430821 25 + ÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + 462515093040 462515093040 + + + 218708802908737 19 91476663003591 13 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + 231257546520 77085848840 + + + 145152550961823 7 1564893370717 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + 154171697680 462515093040 + , + + 4321823003 31 + - %R26 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + 1387545279120 + + + 180949546069 25 863753195062493 19 + ÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + 22746643920 693772639560 + + + 1088094456732317 13 1732620732685741 7 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + 693772639560 1387545279120 + + + 13506088516033 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + 1387545279120 + ] + , + + [%R22, %R23, + + 7865521 31 6696179241 25 + ÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄ %R22 + 6006689520 2002229840 + + + 25769893181 19 1975912990729 13 + - ÄÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + 49235160 3003344760 + + + 1048460696489 7 21252634831 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄÄ %R22 + 2002229840 6006689520 + , + + 778171189 31 1987468196267 25 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + 1387545279120 1387545279120 + + + 155496778477189 19 191631411158401 13 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + 693772639560 693772639560 + + + 300335488637543 7 755656433863 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + 1387545279120 198220754160 + , + + 1094352947 31 2794979430821 25 + ÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + 462515093040 462515093040 + + + 218708802908737 19 91476663003591 13 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + 231257546520 77085848840 + + + 145152550961823 7 1564893370717 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + 154171697680 462515093040 + , + + 4321823003 31 + - %R23 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + 1387545279120 + + + 180949546069 25 863753195062493 19 + ÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + 22746643920 693772639560 + + + 1088094456732317 13 1732620732685741 7 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + 693772639560 1387545279120 + + + 13506088516033 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + 1387545279120 + ] + , + + [%R22, %R24, + + 7865521 31 6696179241 25 + ÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄ %R22 + 6006689520 2002229840 + + + 25769893181 19 1975912990729 13 + - ÄÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + 49235160 3003344760 + + + 1048460696489 7 21252634831 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄÄ %R22 + 2002229840 6006689520 + , + + 778171189 31 1987468196267 25 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + 1387545279120 1387545279120 + + + 155496778477189 19 191631411158401 13 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + 693772639560 693772639560 + + + 300335488637543 7 755656433863 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + 1387545279120 198220754160 + , + + 1094352947 31 2794979430821 25 + ÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + 462515093040 462515093040 + + + 218708802908737 19 91476663003591 13 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + 231257546520 77085848840 + + + 145152550961823 7 1564893370717 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + 154171697680 462515093040 + , + + 4321823003 31 + - %R24 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + 1387545279120 + + + 180949546069 25 863753195062493 19 + ÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + 22746643920 693772639560 + + + 1088094456732317 13 1732620732685741 7 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + 693772639560 1387545279120 + + + 13506088516033 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + 1387545279120 + ] + , + [%R31,%R35,- %R35 - 4%R31,%R31,%R31,%R31], + [%R31,%R36,- %R36 - 4%R31,%R31,%R31,%R31], + [%R32,%R33,- %R33 - 4%R32,%R32,%R32,%R32], + [%R32,%R34,- %R34 - 4%R32,%R32,%R32,%R32]] + Type: List List RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LexTriangularPackageXmpPageEmpty22} +\begin{paste}{LexTriangularPackageXmpPageEmpty22}{LexTriangularPackageXmpPagePatch22} +\pastebutton{LexTriangularPackageXmpPageEmpty22}{\showpaste} +\tab{5}\spadcommand{concat [realSolve(ts)$zdpack for ts in lts]\free{lts }\free{zdpack }} +\end{paste}\end{patch} + @ \section{lib.ht} \pagehead{LibraryXmpPage}{lib.ht}{Library} @@ -12729,7 +35843,135 @@ For more information on related topics, see \endscroll \autobuttons \end{page} -% + +\begin{patch}{LibraryXmpPagePatch1} +\begin{paste}{LibraryXmpPageFull1}{LibraryXmpPageEmpty1} +\pastebutton{LibraryXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{stuff := library "/tmp/Neat.stuff"\bound{stuff }} +\indentrel{3}\begin{verbatim} + (1) "/tmp/Neat.stuff" + Type: Library +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LibraryXmpPageEmpty1} +\begin{paste}{LibraryXmpPageEmpty1}{LibraryXmpPagePatch1} +\pastebutton{LibraryXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{stuff := library "/tmp/Neat.stuff"\bound{stuff }} +\end{paste}\end{patch} + +\begin{patch}{LibraryXmpPagePatch2} +\begin{paste}{LibraryXmpPageFull2}{LibraryXmpPageEmpty2} +\pastebutton{LibraryXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{stuff.int := 32**2\free{stuff }\bound{stuffa }} +\indentrel{3}\begin{verbatim} + (2) 1024 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LibraryXmpPageEmpty2} +\begin{paste}{LibraryXmpPageEmpty2}{LibraryXmpPagePatch2} +\pastebutton{LibraryXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{stuff.int := 32**2\free{stuff }\bound{stuffa }} +\end{paste}\end{patch} + +\begin{patch}{LibraryXmpPagePatch3} +\begin{paste}{LibraryXmpPageFull3}{LibraryXmpPageEmpty3} +\pastebutton{LibraryXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{stuff."poly" := x**2 + 1\free{stuffa }\bound{stuffb }} +\indentrel{3}\begin{verbatim} + 2 + (3) x + 1 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LibraryXmpPageEmpty3} +\begin{paste}{LibraryXmpPageEmpty3}{LibraryXmpPagePatch3} +\pastebutton{LibraryXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{stuff."poly" := x**2 + 1\free{stuffa }\bound{stuffb }} +\end{paste}\end{patch} + +\begin{patch}{LibraryXmpPagePatch4} +\begin{paste}{LibraryXmpPageFull4}{LibraryXmpPageEmpty4} +\pastebutton{LibraryXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{stuff.str := "Hello"\free{stuffb }\bound{stuffc }} +\indentrel{3}\begin{verbatim} + (4) "Hello" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LibraryXmpPageEmpty4} +\begin{paste}{LibraryXmpPageEmpty4}{LibraryXmpPagePatch4} +\pastebutton{LibraryXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{stuff.str := "Hello"\free{stuffb }\bound{stuffc }} +\end{paste}\end{patch} + +\begin{patch}{LibraryXmpPagePatch5} +\begin{paste}{LibraryXmpPageFull5}{LibraryXmpPageEmpty5} +\pastebutton{LibraryXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{keys stuff\free{stuffa stuffb stuffc }\bound{stuffabc }} +\indentrel{3}\begin{verbatim} + (5) ["str","poly","int"] + Type: List String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LibraryXmpPageEmpty5} +\begin{paste}{LibraryXmpPageEmpty5}{LibraryXmpPagePatch5} +\pastebutton{LibraryXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{keys stuff\free{stuffa stuffb stuffc }\bound{stuffabc }} +\end{paste}\end{patch} + +\begin{patch}{LibraryXmpPagePatch6} +\begin{paste}{LibraryXmpPageFull6}{LibraryXmpPageEmpty6} +\pastebutton{LibraryXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{stuff.poly\free{stuffb }} +\indentrel{3}\begin{verbatim} + 2 + (6) x + 1 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LibraryXmpPageEmpty6} +\begin{paste}{LibraryXmpPageEmpty6}{LibraryXmpPagePatch6} +\pastebutton{LibraryXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{stuff.poly\free{stuffb }} +\end{paste}\end{patch} + +\begin{patch}{LibraryXmpPagePatch7} +\begin{paste}{LibraryXmpPageFull7}{LibraryXmpPageEmpty7} +\pastebutton{LibraryXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{stuff("poly")\free{stuffb }} +\indentrel{3}\begin{verbatim} + 2 + (7) x + 1 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LibraryXmpPageEmpty7} +\begin{paste}{LibraryXmpPageEmpty7}{LibraryXmpPagePatch7} +\pastebutton{LibraryXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{stuff("poly")\free{stuffb }} +\end{paste}\end{patch} + +\begin{patch}{LibraryXmpPagePatch8} +\begin{paste}{LibraryXmpPageFull8}{LibraryXmpPageEmpty8} +\pastebutton{LibraryXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{)system rm -rf /tmp/Neat.stuff\free{stuff }\bound{rmstuff }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LibraryXmpPageEmpty8} +\begin{paste}{LibraryXmpPageEmpty8}{LibraryXmpPagePatch8} +\pastebutton{LibraryXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{)system rm -rf /tmp/Neat.stuff\free{stuff }\bound{rmstuff }} +\end{paste}\end{patch} @ \section{link.ht} @@ -13751,6 +36993,86 @@ list. \autobuttons \end{page} +\begin{patch}{ugxListCreatePagePatch1} +\begin{paste}{ugxListCreatePageFull1}{ugxListCreatePageEmpty1} +\pastebutton{ugxListCreatePageFull1}{\hidepaste} +\tab{5}\spadcommand{[2, 4, 5, 6]} +\indentrel{3}\begin{verbatim} + (1) [2,4,5,6] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListCreatePageEmpty1} +\begin{paste}{ugxListCreatePageEmpty1}{ugxListCreatePagePatch1} +\pastebutton{ugxListCreatePageEmpty1}{\showpaste} +\tab{5}\spadcommand{[2, 4, 5, 6]} +\end{paste}\end{patch} + +\begin{patch}{ugxListCreatePagePatch2} +\begin{paste}{ugxListCreatePageFull2}{ugxListCreatePageEmpty2} +\pastebutton{ugxListCreatePageFull2}{\hidepaste} +\tab{5}\spadcommand{[1]} +\indentrel{3}\begin{verbatim} + (2) [1] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListCreatePageEmpty2} +\begin{paste}{ugxListCreatePageEmpty2}{ugxListCreatePagePatch2} +\pastebutton{ugxListCreatePageEmpty2}{\showpaste} +\tab{5}\spadcommand{[1]} +\end{paste}\end{patch} + +\begin{patch}{ugxListCreatePagePatch3} +\begin{paste}{ugxListCreatePageFull3}{ugxListCreatePageEmpty3} +\pastebutton{ugxListCreatePageFull3}{\hidepaste} +\tab{5}\spadcommand{list(1)} +\indentrel{3}\begin{verbatim} + (3) [1] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListCreatePageEmpty3} +\begin{paste}{ugxListCreatePageEmpty3}{ugxListCreatePagePatch3} +\pastebutton{ugxListCreatePageEmpty3}{\showpaste} +\tab{5}\spadcommand{list(1)} +\end{paste}\end{patch} + +\begin{patch}{ugxListCreatePagePatch4} +\begin{paste}{ugxListCreatePageFull4}{ugxListCreatePageEmpty4} +\pastebutton{ugxListCreatePageFull4}{\hidepaste} +\tab{5}\spadcommand{append([1,2,3],[5,6,7])} +\indentrel{3}\begin{verbatim} + (4) [1,2,3,5,6,7] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListCreatePageEmpty4} +\begin{paste}{ugxListCreatePageEmpty4}{ugxListCreatePagePatch4} +\pastebutton{ugxListCreatePageEmpty4}{\showpaste} +\tab{5}\spadcommand{append([1,2,3],[5,6,7])} +\end{paste}\end{patch} + +\begin{patch}{ugxListCreatePagePatch5} +\begin{paste}{ugxListCreatePageFull5}{ugxListCreatePageEmpty5} +\pastebutton{ugxListCreatePageFull5}{\hidepaste} +\tab{5}\spadcommand{cons(10,[9,8,7])} +\indentrel{3}\begin{verbatim} + (5) [10,9,8,7] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListCreatePageEmpty5} +\begin{paste}{ugxListCreatePageEmpty5}{ugxListCreatePagePatch5} +\pastebutton{ugxListCreatePageEmpty5}{\showpaste} +\tab{5}\spadcommand{cons(10,[9,8,7])} +\end{paste}\end{patch} + @ \pagehead{ugxListAccessPage}{list.ht}{Accessing List Elements} <>= @@ -13838,6 +37160,182 @@ extracts the element from the list. \autobuttons \end{page} +\begin{patch}{ugxListAccessPagePatch1} +\begin{paste}{ugxListAccessPageFull1}{ugxListAccessPageEmpty1} +\pastebutton{ugxListAccessPageFull1}{\hidepaste} +\tab{5}\spadcommand{empty? [x+1]} +\indentrel{3}\begin{verbatim} + (1) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListAccessPageEmpty1} +\begin{paste}{ugxListAccessPageEmpty1}{ugxListAccessPagePatch1} +\pastebutton{ugxListAccessPageEmpty1}{\showpaste} +\tab{5}\spadcommand{empty? [x+1]} +\end{paste}\end{patch} + +\begin{patch}{ugxListAccessPagePatch2} +\begin{paste}{ugxListAccessPageFull2}{ugxListAccessPageEmpty2} +\pastebutton{ugxListAccessPageFull2}{\hidepaste} +\tab{5}\spadcommand{([] = nil)@Boolean} +\indentrel{3}\begin{verbatim} + (2) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListAccessPageEmpty2} +\begin{paste}{ugxListAccessPageEmpty2}{ugxListAccessPagePatch2} +\pastebutton{ugxListAccessPageEmpty2}{\showpaste} +\tab{5}\spadcommand{([] = nil)@Boolean} +\end{paste}\end{patch} + +\begin{patch}{ugxListAccessPagePatch3} +\begin{paste}{ugxListAccessPageFull3}{ugxListAccessPageEmpty3} +\pastebutton{ugxListAccessPageFull3}{\hidepaste} +\tab{5}\spadcommand{k := [4,3,7,3,8,5,9,2]\bound{k }} +\indentrel{3}\begin{verbatim} + (3) [4,3,7,3,8,5,9,2] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListAccessPageEmpty3} +\begin{paste}{ugxListAccessPageEmpty3}{ugxListAccessPagePatch3} +\pastebutton{ugxListAccessPageEmpty3}{\showpaste} +\tab{5}\spadcommand{k := [4,3,7,3,8,5,9,2]\bound{k }} +\end{paste}\end{patch} + +\begin{patch}{ugxListAccessPagePatch4} +\begin{paste}{ugxListAccessPageFull4}{ugxListAccessPageEmpty4} +\pastebutton{ugxListAccessPageFull4}{\hidepaste} +\tab{5}\spadcommand{first k\free{k }} +\indentrel{3}\begin{verbatim} + (4) 4 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListAccessPageEmpty4} +\begin{paste}{ugxListAccessPageEmpty4}{ugxListAccessPagePatch4} +\pastebutton{ugxListAccessPageEmpty4}{\showpaste} +\tab{5}\spadcommand{first k\free{k }} +\end{paste}\end{patch} + +\begin{patch}{ugxListAccessPagePatch5} +\begin{paste}{ugxListAccessPageFull5}{ugxListAccessPageEmpty5} +\pastebutton{ugxListAccessPageFull5}{\hidepaste} +\tab{5}\spadcommand{k.first\free{k }} +\indentrel{3}\begin{verbatim} + (5) 4 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListAccessPageEmpty5} +\begin{paste}{ugxListAccessPageEmpty5}{ugxListAccessPagePatch5} +\pastebutton{ugxListAccessPageEmpty5}{\showpaste} +\tab{5}\spadcommand{k.first\free{k }} +\end{paste}\end{patch} + +\begin{patch}{ugxListAccessPagePatch6} +\begin{paste}{ugxListAccessPageFull6}{ugxListAccessPageEmpty6} +\pastebutton{ugxListAccessPageFull6}{\hidepaste} +\tab{5}\spadcommand{k.1\free{k }} +\indentrel{3}\begin{verbatim} + (6) 4 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListAccessPageEmpty6} +\begin{paste}{ugxListAccessPageEmpty6}{ugxListAccessPagePatch6} +\pastebutton{ugxListAccessPageEmpty6}{\showpaste} +\tab{5}\spadcommand{k.1\free{k }} +\end{paste}\end{patch} + +\begin{patch}{ugxListAccessPagePatch7} +\begin{paste}{ugxListAccessPageFull7}{ugxListAccessPageEmpty7} +\pastebutton{ugxListAccessPageFull7}{\hidepaste} +\tab{5}\spadcommand{k(1)\free{k }} +\indentrel{3}\begin{verbatim} + (7) 4 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListAccessPageEmpty7} +\begin{paste}{ugxListAccessPageEmpty7}{ugxListAccessPagePatch7} +\pastebutton{ugxListAccessPageEmpty7}{\showpaste} +\tab{5}\spadcommand{k(1)\free{k }} +\end{paste}\end{patch} + +\begin{patch}{ugxListAccessPagePatch8} +\begin{paste}{ugxListAccessPageFull8}{ugxListAccessPageEmpty8} +\pastebutton{ugxListAccessPageFull8}{\hidepaste} +\tab{5}\spadcommand{n := \#k\free{k }} +\indentrel{3}\begin{verbatim} + (8) 8 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListAccessPageEmpty8} +\begin{paste}{ugxListAccessPageEmpty8}{ugxListAccessPagePatch8} +\pastebutton{ugxListAccessPageEmpty8}{\showpaste} +\tab{5}\spadcommand{n := \#k\free{k }} +\end{paste}\end{patch} + +\begin{patch}{ugxListAccessPagePatch9} +\begin{paste}{ugxListAccessPageFull9}{ugxListAccessPageEmpty9} +\pastebutton{ugxListAccessPageFull9}{\hidepaste} +\tab{5}\spadcommand{last k\free{k }} +\indentrel{3}\begin{verbatim} + (9) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListAccessPageEmpty9} +\begin{paste}{ugxListAccessPageEmpty9}{ugxListAccessPagePatch9} +\pastebutton{ugxListAccessPageEmpty9}{\showpaste} +\tab{5}\spadcommand{last k\free{k }} +\end{paste}\end{patch} + +\begin{patch}{ugxListAccessPagePatch10} +\begin{paste}{ugxListAccessPageFull10}{ugxListAccessPageEmpty10} +\pastebutton{ugxListAccessPageFull10}{\hidepaste} +\tab{5}\spadcommand{k.last\free{k }} +\indentrel{3}\begin{verbatim} + (10) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListAccessPageEmpty10} +\begin{paste}{ugxListAccessPageEmpty10}{ugxListAccessPagePatch10} +\pastebutton{ugxListAccessPageEmpty10}{\showpaste} +\tab{5}\spadcommand{k.last\free{k }} +\end{paste}\end{patch} + +\begin{patch}{ugxListAccessPagePatch11} +\begin{paste}{ugxListAccessPageFull11}{ugxListAccessPageEmpty11} +\pastebutton{ugxListAccessPageFull11}{\hidepaste} +\tab{5}\spadcommand{k.(\#k)\free{k }} +\indentrel{3}\begin{verbatim} + (11) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListAccessPageEmpty11} +\begin{paste}{ugxListAccessPageEmpty11}{ugxListAccessPagePatch11} +\pastebutton{ugxListAccessPageEmpty11}{\showpaste} +\tab{5}\spadcommand{k.(\#k)\free{k }} +\end{paste}\end{patch} + @ \pagehead{ugxListChangePage}{list.ht}{Changing List Elements} <>= @@ -13904,6 +37402,134 @@ It changed too! \autobuttons \end{page} +\begin{patch}{ugxListChangePagePatch1} +\begin{paste}{ugxListChangePageFull1}{ugxListChangePageEmpty1} +\pastebutton{ugxListChangePageFull1}{\hidepaste} +\tab{5}\spadcommand{k := [4,3,7,3,8,5,9,2]\bound{k }} +\indentrel{3}\begin{verbatim} + (1) [4,3,7,3,8,5,9,2] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListChangePageEmpty1} +\begin{paste}{ugxListChangePageEmpty1}{ugxListChangePagePatch1} +\pastebutton{ugxListChangePageEmpty1}{\showpaste} +\tab{5}\spadcommand{k := [4,3,7,3,8,5,9,2]\bound{k }} +\end{paste}\end{patch} + +\begin{patch}{ugxListChangePagePatch2} +\begin{paste}{ugxListChangePageFull2}{ugxListChangePageEmpty2} +\pastebutton{ugxListChangePageFull2}{\hidepaste} +\tab{5}\spadcommand{k.1 := 999\free{k }\bound{k1 }} +\indentrel{3}\begin{verbatim} + (2) 999 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListChangePageEmpty2} +\begin{paste}{ugxListChangePageEmpty2}{ugxListChangePagePatch2} +\pastebutton{ugxListChangePageEmpty2}{\showpaste} +\tab{5}\spadcommand{k.1 := 999\free{k }\bound{k1 }} +\end{paste}\end{patch} + +\begin{patch}{ugxListChangePagePatch3} +\begin{paste}{ugxListChangePageFull3}{ugxListChangePageEmpty3} +\pastebutton{ugxListChangePageFull3}{\hidepaste} +\tab{5}\spadcommand{k\free{k1 }} +\indentrel{3}\begin{verbatim} + (3) [999,3,7,3,8,5,9,2] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListChangePageEmpty3} +\begin{paste}{ugxListChangePageEmpty3}{ugxListChangePagePatch3} +\pastebutton{ugxListChangePageEmpty3}{\showpaste} +\tab{5}\spadcommand{k\free{k1 }} +\end{paste}\end{patch} + +\begin{patch}{ugxListChangePagePatch4} +\begin{paste}{ugxListChangePageFull4}{ugxListChangePageEmpty4} +\pastebutton{ugxListChangePageFull4}{\hidepaste} +\tab{5}\spadcommand{k := [1,2]\bound{k2 }} +\indentrel{3}\begin{verbatim} + (4) [1,2] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListChangePageEmpty4} +\begin{paste}{ugxListChangePageEmpty4}{ugxListChangePagePatch4} +\pastebutton{ugxListChangePageEmpty4}{\showpaste} +\tab{5}\spadcommand{k := [1,2]\bound{k2 }} +\end{paste}\end{patch} + +\begin{patch}{ugxListChangePagePatch5} +\begin{paste}{ugxListChangePageFull5}{ugxListChangePageEmpty5} +\pastebutton{ugxListChangePageFull5}{\hidepaste} +\tab{5}\spadcommand{m := cons(0,k)\free{k2 }\bound{m }} +\indentrel{3}\begin{verbatim} + (5) [0,1,2] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListChangePageEmpty5} +\begin{paste}{ugxListChangePageEmpty5}{ugxListChangePagePatch5} +\pastebutton{ugxListChangePageEmpty5}{\showpaste} +\tab{5}\spadcommand{m := cons(0,k)\free{k2 }\bound{m }} +\end{paste}\end{patch} + +\begin{patch}{ugxListChangePagePatch6} +\begin{paste}{ugxListChangePageFull6}{ugxListChangePageEmpty6} +\pastebutton{ugxListChangePageFull6}{\hidepaste} +\tab{5}\spadcommand{m.2 := 99\free{m }\bound{m2 }} +\indentrel{3}\begin{verbatim} + (6) 99 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListChangePageEmpty6} +\begin{paste}{ugxListChangePageEmpty6}{ugxListChangePagePatch6} +\pastebutton{ugxListChangePageEmpty6}{\showpaste} +\tab{5}\spadcommand{m.2 := 99\free{m }\bound{m2 }} +\end{paste}\end{patch} + +\begin{patch}{ugxListChangePagePatch7} +\begin{paste}{ugxListChangePageFull7}{ugxListChangePageEmpty7} +\pastebutton{ugxListChangePageFull7}{\hidepaste} +\tab{5}\spadcommand{m\free{m2 }} +\indentrel{3}\begin{verbatim} + (7) [0,99,2] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListChangePageEmpty7} +\begin{paste}{ugxListChangePageEmpty7}{ugxListChangePagePatch7} +\pastebutton{ugxListChangePageEmpty7}{\showpaste} +\tab{5}\spadcommand{m\free{m2 }} +\end{paste}\end{patch} + +\begin{patch}{ugxListChangePagePatch8} +\begin{paste}{ugxListChangePageFull8}{ugxListChangePageEmpty8} +\pastebutton{ugxListChangePageFull8}{\hidepaste} +\tab{5}\spadcommand{k\free{m2 k2 }} +\indentrel{3}\begin{verbatim} + (8) [99,2] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListChangePageEmpty8} +\begin{paste}{ugxListChangePageEmpty8}{ugxListChangePagePatch8} +\pastebutton{ugxListChangePageEmpty8}{\showpaste} +\tab{5}\spadcommand{k\free{m2 k2 }} +\end{paste}\end{patch} + @ \pagehead{ugxListOtherPage}{list.ht}{Other Functions} <>= @@ -13955,6 +37581,102 @@ list \spad{k}.\footnote{\spad{reverse(rest(reverse(k)))} works.} \autobuttons \end{page} +\begin{patch}{ugxListOtherPagePatch1} +\begin{paste}{ugxListOtherPageFull1}{ugxListOtherPageEmpty1} +\pastebutton{ugxListOtherPageFull1}{\hidepaste} +\tab{5}\spadcommand{k := [1,2,3]\bound{k }} +\indentrel{3}\begin{verbatim} + (1) [1,2,3] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListOtherPageEmpty1} +\begin{paste}{ugxListOtherPageEmpty1}{ugxListOtherPagePatch1} +\pastebutton{ugxListOtherPageEmpty1}{\showpaste} +\tab{5}\spadcommand{k := [1,2,3]\bound{k }} +\end{paste}\end{patch} + +\begin{patch}{ugxListOtherPagePatch2} +\begin{paste}{ugxListOtherPageFull2}{ugxListOtherPageEmpty2} +\pastebutton{ugxListOtherPageFull2}{\hidepaste} +\tab{5}\spadcommand{rest k\free{k }} +\indentrel{3}\begin{verbatim} + (2) [2,3] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListOtherPageEmpty2} +\begin{paste}{ugxListOtherPageEmpty2}{ugxListOtherPagePatch2} +\pastebutton{ugxListOtherPageEmpty2}{\showpaste} +\tab{5}\spadcommand{rest k\free{k }} +\end{paste}\end{patch} + +\begin{patch}{ugxListOtherPagePatch3} +\begin{paste}{ugxListOtherPageFull3}{ugxListOtherPageEmpty3} +\pastebutton{ugxListOtherPageFull3}{\hidepaste} +\tab{5}\spadcommand{removeDuplicates [4,3,4,3,5,3,4]} +\indentrel{3}\begin{verbatim} + (3) [4,3,5] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListOtherPageEmpty3} +\begin{paste}{ugxListOtherPageEmpty3}{ugxListOtherPagePatch3} +\pastebutton{ugxListOtherPageEmpty3}{\showpaste} +\tab{5}\spadcommand{removeDuplicates [4,3,4,3,5,3,4]} +\end{paste}\end{patch} + +\begin{patch}{ugxListOtherPagePatch4} +\begin{paste}{ugxListOtherPageFull4}{ugxListOtherPageEmpty4} +\pastebutton{ugxListOtherPageFull4}{\hidepaste} +\tab{5}\spadcommand{reverse [1,2,3,4,5,6]} +\indentrel{3}\begin{verbatim} + (4) [6,5,4,3,2,1] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListOtherPageEmpty4} +\begin{paste}{ugxListOtherPageEmpty4}{ugxListOtherPagePatch4} +\pastebutton{ugxListOtherPageEmpty4}{\showpaste} +\tab{5}\spadcommand{reverse [1,2,3,4,5,6]} +\end{paste}\end{patch} + +\begin{patch}{ugxListOtherPagePatch5} +\begin{paste}{ugxListOtherPageFull5}{ugxListOtherPageEmpty5} +\pastebutton{ugxListOtherPageFull5}{\hidepaste} +\tab{5}\spadcommand{member?(1/2,[3/4,5/6,1/2])} +\indentrel{3}\begin{verbatim} + (5) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListOtherPageEmpty5} +\begin{paste}{ugxListOtherPageEmpty5}{ugxListOtherPagePatch5} +\pastebutton{ugxListOtherPageEmpty5}{\showpaste} +\tab{5}\spadcommand{member?(1/2,[3/4,5/6,1/2])} +\end{paste}\end{patch} + +\begin{patch}{ugxListOtherPagePatch6} +\begin{paste}{ugxListOtherPageFull6}{ugxListOtherPageEmpty6} +\pastebutton{ugxListOtherPageFull6}{\hidepaste} +\tab{5}\spadcommand{member?(1/12,[3/4,5/6,1/2])} +\indentrel{3}\begin{verbatim} + (6) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListOtherPageEmpty6} +\begin{paste}{ugxListOtherPageEmpty6}{ugxListOtherPagePatch6} +\pastebutton{ugxListOtherPageEmpty6}{\showpaste} +\tab{5}\spadcommand{member?(1/12,[3/4,5/6,1/2])} +\end{paste}\end{patch} + @ \pagehead{ugxListDotPage}{list.ht}{Dot, Dot} <>= @@ -13995,6 +37717,54 @@ See \downlink{`Stream'}{StreamXmpPage}\ignore{Stream} for more information. \autobuttons \end{page} +\begin{patch}{ugxListDotPagePatch1} +\begin{paste}{ugxListDotPageFull1}{ugxListDotPageEmpty1} +\pastebutton{ugxListDotPageFull1}{\hidepaste} +\tab{5}\spadcommand{[1..3,10,20..23]} +\indentrel{3}\begin{verbatim} + (1) [1..3,10..10,20..23] + Type: List Segment PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListDotPageEmpty1} +\begin{paste}{ugxListDotPageEmpty1}{ugxListDotPagePatch1} +\pastebutton{ugxListDotPageEmpty1}{\showpaste} +\tab{5}\spadcommand{[1..3,10,20..23]} +\end{paste}\end{patch} + +\begin{patch}{ugxListDotPagePatch2} +\begin{paste}{ugxListDotPageFull2}{ugxListDotPageEmpty2} +\pastebutton{ugxListDotPageFull2}{\hidepaste} +\tab{5}\spadcommand{expand [1..3,10,20..23]} +\indentrel{3}\begin{verbatim} + (2) [1,2,3,10,20,21,22,23] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListDotPageEmpty2} +\begin{paste}{ugxListDotPageEmpty2}{ugxListDotPagePatch2} +\pastebutton{ugxListDotPageEmpty2}{\showpaste} +\tab{5}\spadcommand{expand [1..3,10,20..23]} +\end{paste}\end{patch} + +\begin{patch}{ugxListDotPagePatch3} +\begin{paste}{ugxListDotPageFull3}{ugxListDotPageEmpty3} +\pastebutton{ugxListDotPageFull3}{\hidepaste} +\tab{5}\spadcommand{expand [1..]} +\indentrel{3}\begin{verbatim} + (3) [1,2,3,4,5,6,7,8,9,10,...] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxListDotPageEmpty3} +\begin{paste}{ugxListDotPageEmpty3}{ugxListDotPagePatch3} +\pastebutton{ugxListDotPageEmpty3}{\showpaste} +\tab{5}\spadcommand{expand [1..]} +\end{paste}\end{patch} + @ \section{lodo.ht} \pagehead{LinearOrdinaryDifferentialOperatorXmpPage}{lodo.ht} @@ -14116,6 +37886,397 @@ Evaluate this for several values of \spad{n}. \autobuttons \end{page} +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch1} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull1}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty1} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull1}{\hidepaste} +\tab{5}\spadcommand{Dx: LODO(EXPR INT, f +-> D(f, x))\bound{Dxd }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty1} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty1}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch1} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty1}{\showpaste} +\tab{5}\spadcommand{Dx: LODO(EXPR INT, f +-> D(f, x))\bound{Dxd }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch2} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull2}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty2} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull2}{\hidepaste} +\tab{5}\spadcommand{Dx := D()\free{Dxd }\bound{Dx }} +\indentrel{3}\begin{verbatim} + (2) D +Type: LinearOrdinaryDifferentialOperator(Expression Integer,theMap NIL) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty2} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty2}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch2} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty2}{\showpaste} +\tab{5}\spadcommand{Dx := D()\free{Dxd }\bound{Dx }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch3} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull3}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty3} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull3}{\hidepaste} +\tab{5}\spadcommand{Dop:= Dx**3 + G/x**2*Dx + H/x**3 - 1\free{Dx }\bound{Dop }} +\indentrel{3}\begin{verbatim} + 3 + 3 G - x + H + (3) D + ÄÄ D + ÄÄÄÄÄÄÄÄ + 2 3 + x x +Type: LinearOrdinaryDifferentialOperator(Expression Integer,theMap NIL) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty3} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty3}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch3} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty3}{\showpaste} +\tab{5}\spadcommand{Dop:= Dx**3 + G/x**2*Dx + H/x**3 - 1\free{Dx }\bound{Dop }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch4} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull4}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty4} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull4}{\hidepaste} +\tab{5}\spadcommand{n == 3\bound{n3 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty4} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty4}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch4} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty4}{\showpaste} +\tab{5}\spadcommand{n == 3\bound{n3 }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch5} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull5}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty5} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull5}{\hidepaste} +\tab{5}\spadcommand{phi == reduce(+,[subscript(s,[i])*exp(x)/x**i for i in 0..n])\bound{phi }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty5} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty5}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch5} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty5}{\showpaste} +\tab{5}\spadcommand{phi == reduce(+,[subscript(s,[i])*exp(x)/x**i for i in 0..n])\bound{phi }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch6} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull6}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty6} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull6}{\hidepaste} +\tab{5}\spadcommand{phi1 == Dop(phi) / exp x\bound{phi1 }\free{Dop phi }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty6} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty6}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch6} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty6}{\showpaste} +\tab{5}\spadcommand{phi1 == Dop(phi) / exp x\bound{phi1 }\free{Dop phi }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch7} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull7}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty7} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull7}{\hidepaste} +\tab{5}\spadcommand{phi2 == phi1 *x**(n+3)\bound{phi2 }\free{phi1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty7} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty7}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch7} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty7}{\showpaste} +\tab{5}\spadcommand{phi2 == phi1 *x**(n+3)\bound{phi2 }\free{phi1 }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch8} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull8}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty8} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull8}{\hidepaste} +\tab{5}\spadcommand{phi3 == retract(phi2)@(POLY INT)\bound{phi3 }\free{phi2 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty8} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty8}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch8} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty8}{\showpaste} +\tab{5}\spadcommand{phi3 == retract(phi2)@(POLY INT)\bound{phi3 }\free{phi2 }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch9} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull9}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty9} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull9}{\hidepaste} +\tab{5}\spadcommand{pans == phi3 ::UP(x,POLY INT)\free{phi3 }\bound{pans }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty9} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty9}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch9} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty9}{\showpaste} +\tab{5}\spadcommand{pans == phi3 ::UP(x,POLY INT)\free{phi3 }\bound{pans }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch10} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull10}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty10} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull10}{\hidepaste} +\tab{5}\spadcommand{pans1 == [coefficient(pans, (n+3-i) :: NNI) for i in 2..n+1]\bound{pans1 }\free{pans }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty10} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty10}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch10} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty10}{\showpaste} +\tab{5}\spadcommand{pans1 == [coefficient(pans, (n+3-i) :: NNI) for i in 2..n+1]\bound{pans1 }\free{pans }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch11} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull11}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty11} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull11}{\hidepaste} +\tab{5}\spadcommand{leq == solve(pans1,[subscript(s,[i]) for i in 1..n])\bound{leq }\free{pans1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty11} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty11}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch11} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty11}{\showpaste} +\tab{5}\spadcommand{leq == solve(pans1,[subscript(s,[i]) for i in 1..n])\bound{leq }\free{pans1 }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch12} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull12}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty12} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull12}{\hidepaste} +\tab{5}\spadcommand{leq\free{n3 leq }} +\indentrel{3}\begin{verbatim} + (12) + [ + 2 + s G 3s H + s G + 6s G + 0 0 0 0 + [s = ÄÄÄ, s = ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, + 1 3 2 18 + 3 2 + (9s G + 54s )H + s G + 18s G + 72s G + 0 0 0 0 0 + s = ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ] + 3 162 + ] + Type: List List Equation Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty12} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty12}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch12} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty12}{\showpaste} +\tab{5}\spadcommand{leq\free{n3 leq }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch13} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull13}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty13} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull13}{\hidepaste} +\tab{5}\spadcommand{n==4\bound{n4 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty13} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty13}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch13} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty13}{\showpaste} +\tab{5}\spadcommand{n==4\bound{n4 }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch14} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull14}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty14} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull14}{\hidepaste} +\tab{5}\spadcommand{leq\free{n4 leq }} +\indentrel{3}\begin{verbatim} + (14) + [ + 2 + s G 3s H + s G + 6s G + 0 0 0 0 + [s = ÄÄÄ, s = ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, + 1 3 2 18 + 3 2 + (9s G + 54s )H + s G + 18s G + 72s G + 0 0 0 0 0 + s = ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, + 3 162 + + s = + 4 + 2 2 4 + 27s H + (18s G + 378s G + 1296s )H + s G + 0 0 0 0 0 + + + 3 2 + 36s G + 396s G + 1296s G + 0 0 0 + / + 1944 + ] + ] + Type: List List Equation Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty14} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty14}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch14} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty14}{\showpaste} +\tab{5}\spadcommand{leq\free{n4 leq }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch15} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull15}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty15} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull15}{\hidepaste} +\tab{5}\spadcommand{n==7\bound{n7 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty15} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty15}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch15} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty15}{\showpaste} +\tab{5}\spadcommand{n==7\bound{n7 }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch16} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull16}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty16} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull16}{\hidepaste} +\tab{5}\spadcommand{leq\free{n7 leq }} +\indentrel{3}\begin{verbatim} + (16) + [ + 2 + s G 3s H + s G + 6s G + 0 0 0 0 + [s = ÄÄÄ, s = ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, + 1 3 2 18 + 3 2 + (9s G + 54s )H + s G + 18s G + 72s G + 0 0 0 0 0 + s = ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, + 3 162 + + s = + 4 + 2 2 4 + 27s H + (18s G + 378s G + 1296s )H + s G + 0 0 0 0 0 + + + 3 2 + 36s G + 396s G + 1296s G + 0 0 0 + / + 1944 + , + + s = + 5 + 2 + (135s G + 2268s )H + 0 0 + + + 3 2 + (30s G + 1350s G + 16416s G + 38880s )H + 0 0 0 0 + + + 5 4 3 2 + s G + 60s G + 1188s G + 9504s G + 25920s G + 0 0 0 0 0 + / + 29160 + , + + s = + 6 + 3 2 2 + 405s H + (405s G + 18468s G + 174960s )H + 0 0 0 0 + + + 4 3 2 + 45s G + 3510s G + 88776s G + 777600s G + 0 0 0 0 + + + 1166400s + 0 + * + H + + + 6 5 4 3 + s G + 90s G + 2628s G + 27864s G + 0 0 0 0 + + + 2 + 90720s G + 0 + / + 524880 + , + + s = + 7 + 3 + (2835s G + 91854s )H + 0 0 + + + 3 2 + 945s G + 81648s G + 2082996s G + 0 0 0 + + + 14171760s + 0 + * + 2 + H + + + 5 4 3 + 63s G + 7560s G + 317520s G + 0 0 0 + + + 2 + 5554008s G + 34058880s G + 0 0 + * + H + + + 7 6 5 4 + s G + 126s G + 4788s G + 25272s G + 0 0 0 0 + + + 3 2 + - 1744416s G - 26827200s G - 97977600s G + 0 0 0 + / + 11022480 + ] + ] + Type: List List Equation Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty16} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty16}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch16} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty16}{\showpaste} +\tab{5}\spadcommand{leq\free{n7 leq }} +\end{paste}\end{patch} + @ \section{lodo1.ht} \pagehead{LinearOrdinaryDifferentialOperatorOneXmpPage}{lodo1.ht} @@ -14305,6 +38466,362 @@ is not necessarily divisible from both sides. \autobuttons \end{page} +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch1} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull1}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty1} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull1}{\hidepaste} +\tab{5}\spadcommand{RFZ := Fraction UnivariatePolynomial('x, Integer)\bound{RFZ0 }} +\indentrel{3}\begin{verbatim} + (1) Fraction UnivariatePolynomial(x,Integer) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty1} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty1}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch1} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty1}{\showpaste} +\tab{5}\spadcommand{RFZ := Fraction UnivariatePolynomial('x, Integer)\bound{RFZ0 }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch2} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull2}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty2} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull2}{\hidepaste} +\tab{5}\spadcommand{x : RFZ := 'x\free{RFZ0 }\bound{RFZ }} +\indentrel{3}\begin{verbatim} + (2) x + Type: Fraction UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty2} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty2}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch2} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty2}{\showpaste} +\tab{5}\spadcommand{x : RFZ := 'x\free{RFZ0 }\bound{RFZ }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch3} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull3}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty3} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull3}{\hidepaste} +\tab{5}\spadcommand{Dx : LODO1 RFZ := D()\bound{Dx }\free{RFZ }} +\indentrel{3}\begin{verbatim} + (3) D +Type: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty3} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty3}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch3} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty3}{\showpaste} +\tab{5}\spadcommand{Dx : LODO1 RFZ := D()\bound{Dx }\free{RFZ }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch4} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull4}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty4} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull4}{\hidepaste} +\tab{5}\spadcommand{b : LODO1 RFZ := 3*x**2*Dx**2 + 2*Dx + 1/x\free{Dx }\bound{b }} +\indentrel{3}\begin{verbatim} + 2 2 1 + (4) 3x D + 2D + Ä + x +Type: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty4} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty4}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch4} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty4}{\showpaste} +\tab{5}\spadcommand{b : LODO1 RFZ := 3*x**2*Dx**2 + 2*Dx + 1/x\free{Dx }\bound{b }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch5} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull5}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty5} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull5}{\hidepaste} +\tab{5}\spadcommand{a : LODO1 RFZ := b*(5*x*Dx + 7)\free{b Dx }\bound{a }} +\indentrel{3}\begin{verbatim} + 3 3 2 2 7 + (5) 15x D + (51x + 10x)D + 29D + Ä + x +Type: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty5} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty5}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch5} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty5}{\showpaste} +\tab{5}\spadcommand{a : LODO1 RFZ := b*(5*x*Dx + 7)\free{b Dx }\bound{a }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch6} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull6}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty6} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull6}{\hidepaste} +\tab{5}\spadcommand{p := x**2 + 1/x**2\bound{p }\free{RFZ }} +\indentrel{3}\begin{verbatim} + 4 + x + 1 + (6) ÄÄÄÄÄÄ + 2 + x + Type: Fraction UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty6} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty6}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch6} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty6}{\showpaste} +\tab{5}\spadcommand{p := x**2 + 1/x**2\bound{p }\free{RFZ }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch7} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull7}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty7} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull7}{\hidepaste} +\tab{5}\spadcommand{(a*b - b*a) p\free{a b p }} +\indentrel{3}\begin{verbatim} + 4 + - 75x + 540x - 75 + (7) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 4 + x + Type: Fraction UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty7} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty7}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch7} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty7}{\showpaste} +\tab{5}\spadcommand{(a*b - b*a) p\free{a b p }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch8} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull8}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty8} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull8}{\hidepaste} +\tab{5}\spadcommand{ld := leftDivide(a,b)\bound{ld }\free{a b }} +\indentrel{3}\begin{verbatim} + (8) [quotient= 5x D + 7,remainder= 0] +Type: Record(quotient: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer),remainder: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty8} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty8}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch8} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty8}{\showpaste} +\tab{5}\spadcommand{ld := leftDivide(a,b)\bound{ld }\free{a b }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch9} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull9}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty9} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull9}{\hidepaste} +\tab{5}\spadcommand{a = b * ld.quotient + ld.remainder\free{a b ld }} +\indentrel{3}\begin{verbatim} + (9) + 3 3 2 2 7 + 15x D + (51x + 10x)D + 29D + Ä = + x + 3 3 2 2 7 + 15x D + (51x + 10x)D + 29D + Ä + x +Type: Equation LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty9} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty9}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch9} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty9}{\showpaste} +\tab{5}\spadcommand{a = b * ld.quotient + ld.remainder\free{a b ld }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch10} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull10}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty10} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull10}{\hidepaste} +\tab{5}\spadcommand{rd := rightDivide(a,b)\bound{rd }\free{a b }} +\indentrel{3}\begin{verbatim} + 5 + (10) [quotient= 5x D + 7,remainder= 10D + Ä] + x +Type: Record(quotient: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer),remainder: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty10} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty10}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch10} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty10}{\showpaste} +\tab{5}\spadcommand{rd := rightDivide(a,b)\bound{rd }\free{a b }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch11} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull11}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty11} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull11}{\hidepaste} +\tab{5}\spadcommand{a = rd.quotient * b + rd.remainder\free{a b rd }} +\indentrel{3}\begin{verbatim} + (11) + 3 3 2 2 7 + 15x D + (51x + 10x)D + 29D + Ä = + x + 3 3 2 2 7 + 15x D + (51x + 10x)D + 29D + Ä + x +Type: Equation LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty11} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty11}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch11} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty11}{\showpaste} +\tab{5}\spadcommand{a = rd.quotient * b + rd.remainder\free{a b rd }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch12} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull12}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty12} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull12}{\hidepaste} +\tab{5}\spadcommand{rightQuotient(a,b)\free{a b }} +\indentrel{3}\begin{verbatim} + (12) 5x D + 7 +Type: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty12} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty12}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch12} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty12}{\showpaste} +\tab{5}\spadcommand{rightQuotient(a,b)\free{a b }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch13} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull13}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty13} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull13}{\hidepaste} +\tab{5}\spadcommand{rightRemainder(a,b)\free{a b }} +\indentrel{3}\begin{verbatim} + 5 + (13) 10D + Ä + x +Type: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty13} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty13}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch13} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty13}{\showpaste} +\tab{5}\spadcommand{rightRemainder(a,b)\free{a b }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch14} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull14}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty14} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull14}{\hidepaste} +\tab{5}\spadcommand{leftExactQuotient(a,b)\free{a b }} +\indentrel{3}\begin{verbatim} + (14) 5x D + 7 +Type: Union(LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer),...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty14} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty14}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch14} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty14}{\showpaste} +\tab{5}\spadcommand{leftExactQuotient(a,b)\free{a b }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch15} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull15}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty15} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull15}{\hidepaste} +\tab{5}\spadcommand{e := leftGcd(a,b)\bound{e }\free{a b }} +\indentrel{3}\begin{verbatim} + 2 2 1 + (15) 3x D + 2D + Ä + x +Type: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty15} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty15}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch15} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty15}{\showpaste} +\tab{5}\spadcommand{e := leftGcd(a,b)\bound{e }\free{a b }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch16} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull16}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty16} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull16}{\hidepaste} +\tab{5}\spadcommand{leftRemainder(a, e)\free{a e }} +\indentrel{3}\begin{verbatim} + (16) 0 +Type: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty16} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty16}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch16} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty16}{\showpaste} +\tab{5}\spadcommand{leftRemainder(a, e)\free{a e }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch17} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull17}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty17} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull17}{\hidepaste} +\tab{5}\spadcommand{rightRemainder(a, e)\free{a e }} +\indentrel{3}\begin{verbatim} + 5 + (17) 10D + Ä + x +Type: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty17} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty17}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch17} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty17}{\showpaste} +\tab{5}\spadcommand{rightRemainder(a, e)\free{a e }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch18} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull18}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty18} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull18}{\hidepaste} +\tab{5}\spadcommand{f := rightLcm(a,b)\bound{f }\free{a b }} +\indentrel{3}\begin{verbatim} + 3 3 2 2 7 + (18) 15x D + (51x + 10x)D + 29D + Ä + x +Type: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty18} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty18}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch18} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty18}{\showpaste} +\tab{5}\spadcommand{f := rightLcm(a,b)\bound{f }\free{a b }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch19} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull19}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty19} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull19}{\hidepaste} +\tab{5}\spadcommand{rightRemainder(f, b)\free{f b }} +\indentrel{3}\begin{verbatim} + 5 + (19) 10D + Ä + x +Type: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty19} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty19}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch19} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty19}{\showpaste} +\tab{5}\spadcommand{rightRemainder(f, b)\free{f b }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch20} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull20}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty20} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull20}{\hidepaste} +\tab{5}\spadcommand{leftRemainder(f, b)\free{f b }} +\indentrel{3}\begin{verbatim} + (20) 0 +Type: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty20} +\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty20}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch20} +\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty20}{\showpaste} +\tab{5}\spadcommand{leftRemainder(f, b)\free{f b }} +\end{paste}\end{patch} + @ \section{lodo2.ht} \pagehead{LinearODEOperatorTwoXmpPage}{lodo2.ht} @@ -14410,6 +38927,195 @@ Finally, note that operator expressions may be applied directly. \autobuttons \end{page} +\begin{patch}{ugxLinearODEOperatorTwoConstPagePatch1} +\begin{paste}{ugxLinearODEOperatorTwoConstPageFull1}{ugxLinearODEOperatorTwoConstPageEmpty1} +\pastebutton{ugxLinearODEOperatorTwoConstPageFull1}{\hidepaste} +\tab{5}\spadcommand{Q := Fraction Integer\bound{Q }} +\indentrel{3}\begin{verbatim} + (1) Fraction Integer + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoConstPageEmpty1} +\begin{paste}{ugxLinearODEOperatorTwoConstPageEmpty1}{ugxLinearODEOperatorTwoConstPagePatch1} +\pastebutton{ugxLinearODEOperatorTwoConstPageEmpty1}{\showpaste} +\tab{5}\spadcommand{Q := Fraction Integer\bound{Q }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoConstPagePatch2} +\begin{paste}{ugxLinearODEOperatorTwoConstPageFull2}{ugxLinearODEOperatorTwoConstPageEmpty2} +\pastebutton{ugxLinearODEOperatorTwoConstPageFull2}{\hidepaste} +\tab{5}\spadcommand{PQ := UnivariatePolynomial('x, Q)\free{Q }\bound{PQ0 }} +\indentrel{3}\begin{verbatim} + (2) UnivariatePolynomial(x,Fraction Integer) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoConstPageEmpty2} +\begin{paste}{ugxLinearODEOperatorTwoConstPageEmpty2}{ugxLinearODEOperatorTwoConstPagePatch2} +\pastebutton{ugxLinearODEOperatorTwoConstPageEmpty2}{\showpaste} +\tab{5}\spadcommand{PQ := UnivariatePolynomial('x, Q)\free{Q }\bound{PQ0 }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoConstPagePatch3} +\begin{paste}{ugxLinearODEOperatorTwoConstPageFull3}{ugxLinearODEOperatorTwoConstPageEmpty3} +\pastebutton{ugxLinearODEOperatorTwoConstPageFull3}{\hidepaste} +\tab{5}\spadcommand{x: PQ := 'x\free{PQ0 }\bound{x }} +\indentrel{3}\begin{verbatim} + (3) x + Type: UnivariatePolynomial(x,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoConstPageEmpty3} +\begin{paste}{ugxLinearODEOperatorTwoConstPageEmpty3}{ugxLinearODEOperatorTwoConstPagePatch3} +\pastebutton{ugxLinearODEOperatorTwoConstPageEmpty3}{\showpaste} +\tab{5}\spadcommand{x: PQ := 'x\free{PQ0 }\bound{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoConstPagePatch4} +\begin{paste}{ugxLinearODEOperatorTwoConstPageFull4}{ugxLinearODEOperatorTwoConstPageEmpty4} +\pastebutton{ugxLinearODEOperatorTwoConstPageFull4}{\hidepaste} +\tab{5}\spadcommand{Dx: LODO2(Q, PQ) := D()\free{Q PQ0 }\bound{Dx }} +\indentrel{3}\begin{verbatim} + (4) D +Type: LinearOrdinaryDifferentialOperator2(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoConstPageEmpty4} +\begin{paste}{ugxLinearODEOperatorTwoConstPageEmpty4}{ugxLinearODEOperatorTwoConstPagePatch4} +\pastebutton{ugxLinearODEOperatorTwoConstPageEmpty4}{\showpaste} +\tab{5}\spadcommand{Dx: LODO2(Q, PQ) := D()\free{Q PQ0 }\bound{Dx }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoConstPagePatch5} +\begin{paste}{ugxLinearODEOperatorTwoConstPageFull5}{ugxLinearODEOperatorTwoConstPageEmpty5} +\pastebutton{ugxLinearODEOperatorTwoConstPageFull5}{\hidepaste} +\tab{5}\spadcommand{a := Dx + 1\bound{a }\free{Dx }} +\indentrel{3}\begin{verbatim} + (5) D + 1 +Type: LinearOrdinaryDifferentialOperator2(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoConstPageEmpty5} +\begin{paste}{ugxLinearODEOperatorTwoConstPageEmpty5}{ugxLinearODEOperatorTwoConstPagePatch5} +\pastebutton{ugxLinearODEOperatorTwoConstPageEmpty5}{\showpaste} +\tab{5}\spadcommand{a := Dx + 1\bound{a }\free{Dx }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoConstPagePatch6} +\begin{paste}{ugxLinearODEOperatorTwoConstPageFull6}{ugxLinearODEOperatorTwoConstPageEmpty6} +\pastebutton{ugxLinearODEOperatorTwoConstPageFull6}{\hidepaste} +\tab{5}\spadcommand{b := a + 1/2*Dx**2 - 1/2\bound{b }\free{Dx }} +\indentrel{3}\begin{verbatim} + 1 2 1 + (6) Ä D + D + Ä + 2 2 +Type: LinearOrdinaryDifferentialOperator2(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoConstPageEmpty6} +\begin{paste}{ugxLinearODEOperatorTwoConstPageEmpty6}{ugxLinearODEOperatorTwoConstPagePatch6} +\pastebutton{ugxLinearODEOperatorTwoConstPageEmpty6}{\showpaste} +\tab{5}\spadcommand{b := a + 1/2*Dx**2 - 1/2\bound{b }\free{Dx }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoConstPagePatch7} +\begin{paste}{ugxLinearODEOperatorTwoConstPageFull7}{ugxLinearODEOperatorTwoConstPageEmpty7} +\pastebutton{ugxLinearODEOperatorTwoConstPageFull7}{\hidepaste} +\tab{5}\spadcommand{p := 4*x**2 + 2/3\free{x }\bound{p }} +\indentrel{3}\begin{verbatim} + 2 2 + (7) 4x + Ä + 3 + Type: UnivariatePolynomial(x,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoConstPageEmpty7} +\begin{paste}{ugxLinearODEOperatorTwoConstPageEmpty7}{ugxLinearODEOperatorTwoConstPagePatch7} +\pastebutton{ugxLinearODEOperatorTwoConstPageEmpty7}{\showpaste} +\tab{5}\spadcommand{p := 4*x**2 + 2/3\free{x }\bound{p }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoConstPagePatch8} +\begin{paste}{ugxLinearODEOperatorTwoConstPageFull8}{ugxLinearODEOperatorTwoConstPageEmpty8} +\pastebutton{ugxLinearODEOperatorTwoConstPageFull8}{\hidepaste} +\tab{5}\spadcommand{a p\free{a p }} +\indentrel{3}\begin{verbatim} + 2 2 + (8) 4x + 8x + Ä + 3 + Type: UnivariatePolynomial(x,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoConstPageEmpty8} +\begin{paste}{ugxLinearODEOperatorTwoConstPageEmpty8}{ugxLinearODEOperatorTwoConstPagePatch8} +\pastebutton{ugxLinearODEOperatorTwoConstPageEmpty8}{\showpaste} +\tab{5}\spadcommand{a p\free{a p }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoConstPagePatch9} +\begin{paste}{ugxLinearODEOperatorTwoConstPageFull9}{ugxLinearODEOperatorTwoConstPageEmpty9} +\pastebutton{ugxLinearODEOperatorTwoConstPageFull9}{\hidepaste} +\tab{5}\spadcommand{(a * b) p = a b p\free{a b p }} +\indentrel{3}\begin{verbatim} + 2 37 2 37 + (9) 2x + 12x + ÄÄ= 2x + 12x + ÄÄ + 3 3 +Type: Equation UnivariatePolynomial(x,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoConstPageEmpty9} +\begin{paste}{ugxLinearODEOperatorTwoConstPageEmpty9}{ugxLinearODEOperatorTwoConstPagePatch9} +\pastebutton{ugxLinearODEOperatorTwoConstPageEmpty9}{\showpaste} +\tab{5}\spadcommand{(a * b) p = a b p\free{a b p }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoConstPagePatch10} +\begin{paste}{ugxLinearODEOperatorTwoConstPageFull10}{ugxLinearODEOperatorTwoConstPageEmpty10} +\pastebutton{ugxLinearODEOperatorTwoConstPageFull10}{\hidepaste} +\tab{5}\spadcommand{c := (1/9)*b*(a + b)**2\free{a b }\bound{c }} +\indentrel{3}\begin{verbatim} + (10) + 1 6 5 5 13 4 19 3 79 2 7 1 + ÄÄ D + ÄÄ D + ÄÄ D + ÄÄ D + ÄÄ D + ÄÄ D + Ä + 72 36 24 18 72 12 8 +Type: LinearOrdinaryDifferentialOperator2(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoConstPageEmpty10} +\begin{paste}{ugxLinearODEOperatorTwoConstPageEmpty10}{ugxLinearODEOperatorTwoConstPagePatch10} +\pastebutton{ugxLinearODEOperatorTwoConstPageEmpty10}{\showpaste} +\tab{5}\spadcommand{c := (1/9)*b*(a + b)**2\free{a b }\bound{c }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoConstPagePatch11} +\begin{paste}{ugxLinearODEOperatorTwoConstPageFull11}{ugxLinearODEOperatorTwoConstPageEmpty11} +\pastebutton{ugxLinearODEOperatorTwoConstPageFull11}{\hidepaste} +\tab{5}\spadcommand{(a**2 - 3/4*b + c) (p + 1)\free{a b c p }} +\indentrel{3}\begin{verbatim} + 2 44 541 + (11) 3x + ÄÄ x + ÄÄÄ + 3 36 + Type: UnivariatePolynomial(x,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoConstPageEmpty11} +\begin{paste}{ugxLinearODEOperatorTwoConstPageEmpty11}{ugxLinearODEOperatorTwoConstPagePatch11} +\pastebutton{ugxLinearODEOperatorTwoConstPageEmpty11}{\showpaste} +\tab{5}\spadcommand{(a**2 - 3/4*b + c) (p + 1)\free{a b c p }} +\end{paste}\end{patch} + @ \pagehead{ugxLinearODEOperatorTwoMatrixPage}{lodo2.ht} {Differential Operators with Matrix Coefficients Operating on Vectors} @@ -14499,6 +39205,316 @@ These operators can be applied to vector values. \autobuttons \end{page} +\begin{patch}{ugxLinearODEOperatorTwoMatrixPagePatch1} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageFull1}{ugxLinearODEOperatorTwoMatrixPageEmpty1} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageFull1}{\hidepaste} +\tab{5}\spadcommand{PZ := UnivariatePolynomial(x,Integer)\bound{PZ0 }} +\indentrel{3}\begin{verbatim} + (1) UnivariatePolynomial(x,Integer) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPageEmpty1} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageEmpty1}{ugxLinearODEOperatorTwoMatrixPagePatch1} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageEmpty1}{\showpaste} +\tab{5}\spadcommand{PZ := UnivariatePolynomial(x,Integer)\bound{PZ0 }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPagePatch2} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageFull2}{ugxLinearODEOperatorTwoMatrixPageEmpty2} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageFull2}{\hidepaste} +\tab{5}\spadcommand{x:PZ := 'x\free{PZ0 }\bound{PZ }} +\indentrel{3}\begin{verbatim} + (2) x + Type: UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPageEmpty2} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageEmpty2}{ugxLinearODEOperatorTwoMatrixPagePatch2} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageEmpty2}{\showpaste} +\tab{5}\spadcommand{x:PZ := 'x\free{PZ0 }\bound{PZ }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPagePatch3} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageFull3}{ugxLinearODEOperatorTwoMatrixPageEmpty3} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageFull3}{\hidepaste} +\tab{5}\spadcommand{Mat := SquareMatrix(3,PZ)\free{PZ }\bound{Mat }} +\indentrel{3}\begin{verbatim} + (3) SquareMatrix(3,UnivariatePolynomial(x,Integer)) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPageEmpty3} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageEmpty3}{ugxLinearODEOperatorTwoMatrixPagePatch3} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageEmpty3}{\showpaste} +\tab{5}\spadcommand{Mat := SquareMatrix(3,PZ)\free{PZ }\bound{Mat }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPagePatch4} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageFull4}{ugxLinearODEOperatorTwoMatrixPageEmpty4} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageFull4}{\hidepaste} +\tab{5}\spadcommand{Vect := DPMM(3, PZ, Mat, PZ);\free{PZ Mat }\bound{Vect }} +\indentrel{3}\begin{verbatim} + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPageEmpty4} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageEmpty4}{ugxLinearODEOperatorTwoMatrixPagePatch4} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageEmpty4}{\showpaste} +\tab{5}\spadcommand{Vect := DPMM(3, PZ, Mat, PZ);\free{PZ Mat }\bound{Vect }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPagePatch5} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageFull5}{ugxLinearODEOperatorTwoMatrixPageEmpty5} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageFull5}{\hidepaste} +\tab{5}\spadcommand{Modo := LODO2(Mat, Vect);\free{Mat Vect }\bound{Modo }} +\indentrel{3}\begin{verbatim} + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPageEmpty5} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageEmpty5}{ugxLinearODEOperatorTwoMatrixPagePatch5} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageEmpty5}{\showpaste} +\tab{5}\spadcommand{Modo := LODO2(Mat, Vect);\free{Mat Vect }\bound{Modo }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPagePatch6} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageFull6}{ugxLinearODEOperatorTwoMatrixPageEmpty6} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageFull6}{\hidepaste} +\tab{5}\spadcommand{m:Mat := matrix [[x**2,1,0],[1,x**4,0],[0,0,4*x**2]]\free{Mat }\bound{m }} +\indentrel{3}\begin{verbatim} + Ú 2 ¿ + ³x 1 0 ³ + ³ ³ + (6) ³ 4 ³ + ³1 x 0 ³ + ³ ³ + ³ 2³ + À0 0 4x Ù + Type: SquareMatrix(3,UnivariatePolynomial(x,Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPageEmpty6} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageEmpty6}{ugxLinearODEOperatorTwoMatrixPagePatch6} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageEmpty6}{\showpaste} +\tab{5}\spadcommand{m:Mat := matrix [[x**2,1,0],[1,x**4,0],[0,0,4*x**2]]\free{Mat }\bound{m }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPagePatch7} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageFull7}{ugxLinearODEOperatorTwoMatrixPageEmpty7} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageFull7}{\hidepaste} +\tab{5}\spadcommand{p:Vect := directProduct [3*x**2+1,2*x,7*x**3+2*x]\free{Vect }\bound{p }} +\indentrel{3}\begin{verbatim} + 2 3 + (7) [3x + 1,2x,7x + 2x] +Type: DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPageEmpty7} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageEmpty7}{ugxLinearODEOperatorTwoMatrixPagePatch7} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageEmpty7}{\showpaste} +\tab{5}\spadcommand{p:Vect := directProduct [3*x**2+1,2*x,7*x**3+2*x]\free{Vect }\bound{p }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPagePatch8} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageFull8}{ugxLinearODEOperatorTwoMatrixPageEmpty8} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageFull8}{\hidepaste} +\tab{5}\spadcommand{q: Vect := m * p\free{m p Vect }\bound{q }} +\indentrel{3}\begin{verbatim} + 4 2 5 2 5 3 + (8) [3x + x + 2x,2x + 3x + 1,28x + 8x ] +Type: DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPageEmpty8} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageEmpty8}{ugxLinearODEOperatorTwoMatrixPagePatch8} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageEmpty8}{\showpaste} +\tab{5}\spadcommand{q: Vect := m * p\free{m p Vect }\bound{q }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPagePatch9} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageFull9}{ugxLinearODEOperatorTwoMatrixPageEmpty9} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageFull9}{\hidepaste} +\tab{5}\spadcommand{Dx : Modo := D()\bound{Dx }\free{Modo }} +\indentrel{3}\begin{verbatim} + (9) D +Type: LinearOrdinaryDifferentialOperator2(SquareMatrix(3,UnivariatePolynomial(x,Integer)),DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer))) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPageEmpty9} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageEmpty9}{ugxLinearODEOperatorTwoMatrixPagePatch9} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageEmpty9}{\showpaste} +\tab{5}\spadcommand{Dx : Modo := D()\bound{Dx }\free{Modo }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPagePatch10} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageFull10}{ugxLinearODEOperatorTwoMatrixPageEmpty10} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageFull10}{\hidepaste} +\tab{5}\spadcommand{a : Modo := Dx + m\bound{a }\free{m Dx }} +\indentrel{3}\begin{verbatim} + Ú 2 ¿ + ³x 1 0 ³ + ³ ³ + (10) D + ³ 4 ³ + ³1 x 0 ³ + ³ ³ + ³ 2³ + À0 0 4x Ù +Type: LinearOrdinaryDifferentialOperator2(SquareMatrix(3,UnivariatePolynomial(x,Integer)),DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer))) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPageEmpty10} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageEmpty10}{ugxLinearODEOperatorTwoMatrixPagePatch10} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageEmpty10}{\showpaste} +\tab{5}\spadcommand{a : Modo := Dx + m\bound{a }\free{m Dx }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPagePatch11} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageFull11}{ugxLinearODEOperatorTwoMatrixPageEmpty11} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageFull11}{\hidepaste} +\tab{5}\spadcommand{b : Modo := m*Dx + 1\bound{b }\free{m Dx }} +\indentrel{3}\begin{verbatim} + Ú 2 ¿ + ³x 1 0 ³ Ú1 0 0¿ + ³ ³ ³ ³ + (11) ³ 4 ³D + ³0 1 0³ + ³1 x 0 ³ ³ ³ + ³ ³ À0 0 1Ù + ³ 2³ + À0 0 4x Ù +Type: LinearOrdinaryDifferentialOperator2(SquareMatrix(3,UnivariatePolynomial(x,Integer)),DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer))) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPageEmpty11} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageEmpty11}{ugxLinearODEOperatorTwoMatrixPagePatch11} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageEmpty11}{\showpaste} +\tab{5}\spadcommand{b : Modo := m*Dx + 1\bound{b }\free{m Dx }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPagePatch12} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageFull12}{ugxLinearODEOperatorTwoMatrixPageEmpty12} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageFull12}{\hidepaste} +\tab{5}\spadcommand{c := a*b\bound{c }\free{a b }} +\indentrel{3}\begin{verbatim} + (12) + Ú 2 ¿ + ³x 1 0 ³ + ³ ³ 2 + ³ 4 ³D + ³1 x 0 ³ + ³ ³ + ³ 2³ + À0 0 4x Ù + + + Ú 4 4 2 ¿ + ³x + 2x + 2 x + x 0 ³ + ³ ³ + ³ 4 2 8 3 ³D + ³ x + x x + 4x + 2 0 ³ + ³ ³ + ³ 4 ³ + À 0 0 16x + 8x + 1Ù + + + Ú 2 ¿ + ³x 1 0 ³ + ³ ³ + ³ 4 ³ + ³1 x 0 ³ + ³ ³ + ³ 2³ + À0 0 4x Ù +Type: LinearOrdinaryDifferentialOperator2(SquareMatrix(3,UnivariatePolynomial(x,Integer)),DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer))) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPageEmpty12} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageEmpty12}{ugxLinearODEOperatorTwoMatrixPagePatch12} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageEmpty12}{\showpaste} +\tab{5}\spadcommand{c := a*b\bound{c }\free{a b }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPagePatch13} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageFull13}{ugxLinearODEOperatorTwoMatrixPageEmpty13} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageFull13}{\hidepaste} +\tab{5}\spadcommand{a p\free{p a }} +\indentrel{3}\begin{verbatim} + (13) + 4 2 5 2 5 3 2 + [3x + x + 8x,2x + 3x + 3,28x + 8x + 21x + 2] +Type: DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPageEmpty13} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageEmpty13}{ugxLinearODEOperatorTwoMatrixPagePatch13} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageEmpty13}{\showpaste} +\tab{5}\spadcommand{a p\free{p a }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPagePatch14} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageFull14}{ugxLinearODEOperatorTwoMatrixPageEmpty14} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageFull14}{\hidepaste} +\tab{5}\spadcommand{b p\free{p b }} +\indentrel{3}\begin{verbatim} + 3 2 4 4 3 2 + (14) [6x + 3x + 3,2x + 8x,84x + 7x + 8x + 2x] +Type: DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPageEmpty14} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageEmpty14}{ugxLinearODEOperatorTwoMatrixPagePatch14} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageEmpty14}{\showpaste} +\tab{5}\spadcommand{b p\free{p b }} +\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPagePatch15} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageFull15}{ugxLinearODEOperatorTwoMatrixPageEmpty15} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageFull15}{\hidepaste} +\tab{5}\spadcommand{(a + b + c) (p + q)\free{a b c p q }} +\indentrel{3}\begin{verbatim} + (15) + [ + 8 7 6 5 4 3 2 + 10x + 12x + 16x + 30x + 85x + 94x + 40x + + + 40x + 17 + , + + 12 9 8 7 6 5 4 + 10x + 10x + 12x + 92x + 6x + 32x + 72x + + + 3 2 + 28x + 49x + 32x + 19 + , + + 8 7 6 5 4 3 + 2240x + 224x + 1280x + 3508x + 492x + 751x + + + 2 + 98x + 18x + 4 + ] +Type: DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxLinearODEOperatorTwoMatrixPageEmpty15} +\begin{paste}{ugxLinearODEOperatorTwoMatrixPageEmpty15}{ugxLinearODEOperatorTwoMatrixPagePatch15} +\pastebutton{ugxLinearODEOperatorTwoMatrixPageEmpty15}{\showpaste} +\tab{5}\spadcommand{(a + b + c) (p + q)\free{a b c p q }} +\end{paste}\end{patch} + @ \section{lpoly.ht} \pagehead{LiePolynomialXmpPage}{lpoly.ht}{LiePolynomial} @@ -14638,7 +39654,461 @@ Evaluation \endscroll \autobuttons \end{page} -% + +\begin{patch}{LiePolynomialXmpPagePatch1} +\begin{paste}{LiePolynomialXmpPageFull1}{LiePolynomialXmpPageEmpty1} +\pastebutton{LiePolynomialXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{RN := Fraction Integer\bound{RN }} +\indentrel{3}\begin{verbatim} + (1) Fraction Integer + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty1} +\begin{paste}{LiePolynomialXmpPageEmpty1}{LiePolynomialXmpPagePatch1} +\pastebutton{LiePolynomialXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{RN := Fraction Integer\bound{RN }} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch2} +\begin{paste}{LiePolynomialXmpPageFull2}{LiePolynomialXmpPageEmpty2} +\pastebutton{LiePolynomialXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{Lpoly := LiePolynomial(Symbol,RN)\bound{Lpoly }\free{RN }} +\indentrel{3}\begin{verbatim} + (2) LiePolynomial(Symbol,Fraction Integer) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty2} +\begin{paste}{LiePolynomialXmpPageEmpty2}{LiePolynomialXmpPagePatch2} +\pastebutton{LiePolynomialXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{Lpoly := LiePolynomial(Symbol,RN)\bound{Lpoly }\free{RN }} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch3} +\begin{paste}{LiePolynomialXmpPageFull3}{LiePolynomialXmpPageEmpty3} +\pastebutton{LiePolynomialXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{Dpoly := XDPOLY(Symbol,RN)\bound{Dpoly }\free{RN }} +\indentrel{3}\begin{verbatim} + (3) XDistributedPolynomial(Symbol,Fraction Integer) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty3} +\begin{paste}{LiePolynomialXmpPageEmpty3}{LiePolynomialXmpPagePatch3} +\pastebutton{LiePolynomialXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{Dpoly := XDPOLY(Symbol,RN)\bound{Dpoly }\free{RN }} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch4} +\begin{paste}{LiePolynomialXmpPageFull4}{LiePolynomialXmpPageEmpty4} +\pastebutton{LiePolynomialXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{Lword := LyndonWord Symbol\bound{Lword }} +\indentrel{3}\begin{verbatim} + (4) LyndonWord Symbol + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty4} +\begin{paste}{LiePolynomialXmpPageEmpty4}{LiePolynomialXmpPagePatch4} +\pastebutton{LiePolynomialXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{Lword := LyndonWord Symbol\bound{Lword }} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch5} +\begin{paste}{LiePolynomialXmpPageFull5}{LiePolynomialXmpPageEmpty5} +\pastebutton{LiePolynomialXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{a:Symbol := 'a\bound{a }} +\indentrel{3}\begin{verbatim} + (5) a + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty5} +\begin{paste}{LiePolynomialXmpPageEmpty5}{LiePolynomialXmpPagePatch5} +\pastebutton{LiePolynomialXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{a:Symbol := 'a\bound{a }} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch6} +\begin{paste}{LiePolynomialXmpPageFull6}{LiePolynomialXmpPageEmpty6} +\pastebutton{LiePolynomialXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{b:Symbol := 'b\bound{b }} +\indentrel{3}\begin{verbatim} + (6) b + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty6} +\begin{paste}{LiePolynomialXmpPageEmpty6}{LiePolynomialXmpPagePatch6} +\pastebutton{LiePolynomialXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{b:Symbol := 'b\bound{b }} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch7} +\begin{paste}{LiePolynomialXmpPageFull7}{LiePolynomialXmpPageEmpty7} +\pastebutton{LiePolynomialXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{c:Symbol := 'c\bound{c }} +\indentrel{3}\begin{verbatim} + (7) c + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty7} +\begin{paste}{LiePolynomialXmpPageEmpty7}{LiePolynomialXmpPagePatch7} +\pastebutton{LiePolynomialXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{c:Symbol := 'c\bound{c }} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch8} +\begin{paste}{LiePolynomialXmpPageFull8}{LiePolynomialXmpPageEmpty8} +\pastebutton{LiePolynomialXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{aa: Lpoly := a\bound{aa }\free{Lpoly }\free{a }} +\indentrel{3}\begin{verbatim} + (8) [a] + Type: LiePolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty8} +\begin{paste}{LiePolynomialXmpPageEmpty8}{LiePolynomialXmpPagePatch8} +\pastebutton{LiePolynomialXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{aa: Lpoly := a\bound{aa }\free{Lpoly }\free{a }} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch9} +\begin{paste}{LiePolynomialXmpPageFull9}{LiePolynomialXmpPageEmpty9} +\pastebutton{LiePolynomialXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{bb: Lpoly := b\bound{bb }\free{Lpoly }\free{b }} +\indentrel{3}\begin{verbatim} + (9) [b] + Type: LiePolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty9} +\begin{paste}{LiePolynomialXmpPageEmpty9}{LiePolynomialXmpPagePatch9} +\pastebutton{LiePolynomialXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{bb: Lpoly := b\bound{bb }\free{Lpoly }\free{b }} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch10} +\begin{paste}{LiePolynomialXmpPageFull10}{LiePolynomialXmpPageEmpty10} +\pastebutton{LiePolynomialXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{cc: Lpoly := c\bound{cc }\free{Lpoly }\free{c }} +\indentrel{3}\begin{verbatim} + (10) [c] + Type: LiePolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty10} +\begin{paste}{LiePolynomialXmpPageEmpty10}{LiePolynomialXmpPagePatch10} +\pastebutton{LiePolynomialXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{cc: Lpoly := c\bound{cc }\free{Lpoly }\free{c }} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch11} +\begin{paste}{LiePolynomialXmpPageFull11}{LiePolynomialXmpPageEmpty11} +\pastebutton{LiePolynomialXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{p : Lpoly := [aa,bb]\bound{p }\free{aa }\free{bb }\free{Lpoly }} +\indentrel{3}\begin{verbatim} + (11) [a b] + Type: LiePolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty11} +\begin{paste}{LiePolynomialXmpPageEmpty11}{LiePolynomialXmpPagePatch11} +\pastebutton{LiePolynomialXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{p : Lpoly := [aa,bb]\bound{p }\free{aa }\free{bb }\free{Lpoly }} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch12} +\begin{paste}{LiePolynomialXmpPageFull12}{LiePolynomialXmpPageEmpty12} +\pastebutton{LiePolynomialXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{q : Lpoly := [p,bb]\bound{q }\free{p }\free{bb }\free{Lpoly }} +\indentrel{3}\begin{verbatim} + 2 + (12) [a b ] + Type: LiePolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty12} +\begin{paste}{LiePolynomialXmpPageEmpty12}{LiePolynomialXmpPagePatch12} +\pastebutton{LiePolynomialXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{q : Lpoly := [p,bb]\bound{q }\free{p }\free{bb }\free{Lpoly }} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch13} +\begin{paste}{LiePolynomialXmpPageFull13}{LiePolynomialXmpPageEmpty13} +\pastebutton{LiePolynomialXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{liste : List Lword := LyndonWordsList([a,b], 4)\free{a }\free{b }\free{Lword }\bound{liste }} +\indentrel{3}\begin{verbatim} + (13) + 2 2 3 2 2 3 + [[a],[b],[a b],[a b],[a b ],[a b],[a b ],[a b ]] + Type: List LyndonWord Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty13} +\begin{paste}{LiePolynomialXmpPageEmpty13}{LiePolynomialXmpPagePatch13} +\pastebutton{LiePolynomialXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{liste : List Lword := LyndonWordsList([a,b], 4)\free{a }\free{b }\free{Lword }\bound{liste }} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch14} +\begin{paste}{LiePolynomialXmpPageFull14}{LiePolynomialXmpPageEmpty14} +\pastebutton{LiePolynomialXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{r: Lpoly := p + q + 3*LiePoly(liste.4)$Lpoly\bound{r }\free{Lpoly }\free{p }\free{q }\free{liste }} +\indentrel{3}\begin{verbatim} + 2 2 + (14) [a b] + 3[a b] + [a b ] + Type: LiePolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty14} +\begin{paste}{LiePolynomialXmpPageEmpty14}{LiePolynomialXmpPagePatch14} +\pastebutton{LiePolynomialXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{r: Lpoly := p + q + 3*LiePoly(liste.4)$Lpoly\bound{r }\free{Lpoly }\free{p }\free{q }\free{liste }} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch15} +\begin{paste}{LiePolynomialXmpPageFull15}{LiePolynomialXmpPageEmpty15} +\pastebutton{LiePolynomialXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{s:Lpoly := [p,r]\bound{s }\free{Lpoly }\free{p }\free{r }} +\indentrel{3}\begin{verbatim} + 2 2 + (15) - 3[a b a b] + [a b a b ] + Type: LiePolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty15} +\begin{paste}{LiePolynomialXmpPageEmpty15}{LiePolynomialXmpPagePatch15} +\pastebutton{LiePolynomialXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{s:Lpoly := [p,r]\bound{s }\free{Lpoly }\free{p }\free{r }} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch16} +\begin{paste}{LiePolynomialXmpPageFull16}{LiePolynomialXmpPageEmpty16} +\pastebutton{LiePolynomialXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{t:Lpoly := s + 2*LiePoly(liste.3) - 5*LiePoly(liste.5)\bound{t }\free{Lpoly }\free{s }\free{liste }} +\indentrel{3}\begin{verbatim} + 2 2 2 + (16) 2[a b] - 5[a b ] - 3[a b a b] + [a b a b ] + Type: LiePolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty16} +\begin{paste}{LiePolynomialXmpPageEmpty16}{LiePolynomialXmpPagePatch16} +\pastebutton{LiePolynomialXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{t:Lpoly := s + 2*LiePoly(liste.3) - 5*LiePoly(liste.5)\bound{t }\free{Lpoly }\free{s }\free{liste }} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch17} +\begin{paste}{LiePolynomialXmpPageFull17}{LiePolynomialXmpPageEmpty17} +\pastebutton{LiePolynomialXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{degree t\free{t }} +\indentrel{3}\begin{verbatim} + (17) 5 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty17} +\begin{paste}{LiePolynomialXmpPageEmpty17}{LiePolynomialXmpPagePatch17} +\pastebutton{LiePolynomialXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{degree t\free{t }} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch18} +\begin{paste}{LiePolynomialXmpPageFull18}{LiePolynomialXmpPageEmpty18} +\pastebutton{LiePolynomialXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{mirror t\free{t }} +\indentrel{3}\begin{verbatim} + 2 2 2 + (18) - 2[a b] - 5[a b ] - 3[a b a b] + [a b a b ] + Type: LiePolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty18} +\begin{paste}{LiePolynomialXmpPageEmpty18}{LiePolynomialXmpPagePatch18} +\pastebutton{LiePolynomialXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{mirror t\free{t }} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch19} +\begin{paste}{LiePolynomialXmpPageFull19}{LiePolynomialXmpPageEmpty19} +\pastebutton{LiePolynomialXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{Jacobi(p: Lpoly, q: Lpoly, r: Lpoly): Lpoly == [[p,q]$Lpoly, r] + [[q,r]$Lpoly, p] + [[r,p]$Lpoly, q]\free{Lpoly }\bound{J }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty19} +\begin{paste}{LiePolynomialXmpPageEmpty19}{LiePolynomialXmpPagePatch19} +\pastebutton{LiePolynomialXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{Jacobi(p: Lpoly, q: Lpoly, r: Lpoly): Lpoly == [[p,q]$Lpoly, r] + [[q,r]$Lpoly, p] + [[r,p]$Lpoly, q]\free{Lpoly }\bound{J }} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch20} +\begin{paste}{LiePolynomialXmpPageFull20}{LiePolynomialXmpPageEmpty20} +\pastebutton{LiePolynomialXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{test: Lpoly := Jacobi(a,b,b)\free{J Lpoly a b }\bound{test1 }} +\indentrel{3}\begin{verbatim} + (20) 0 + Type: LiePolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty20} +\begin{paste}{LiePolynomialXmpPageEmpty20}{LiePolynomialXmpPagePatch20} +\pastebutton{LiePolynomialXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{test: Lpoly := Jacobi(a,b,b)\free{J Lpoly a b }\bound{test1 }} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch21} +\begin{paste}{LiePolynomialXmpPageFull21}{LiePolynomialXmpPageEmpty21} +\pastebutton{LiePolynomialXmpPageFull21}{\hidepaste} +\tab{5}\spadcommand{test: Lpoly := Jacobi(p,q,r)\free{J p q r Lpoly }\bound{test2 }} +\indentrel{3}\begin{verbatim} + (21) 0 + Type: LiePolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty21} +\begin{paste}{LiePolynomialXmpPageEmpty21}{LiePolynomialXmpPagePatch21} +\pastebutton{LiePolynomialXmpPageEmpty21}{\showpaste} +\tab{5}\spadcommand{test: Lpoly := Jacobi(p,q,r)\free{J p q r Lpoly }\bound{test2 }} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch22} +\begin{paste}{LiePolynomialXmpPageFull22}{LiePolynomialXmpPageEmpty22} +\pastebutton{LiePolynomialXmpPageFull22}{\hidepaste} +\tab{5}\spadcommand{test: Lpoly := Jacobi(r,s,t)\free{J r s t Lpoly }\bound{test3 }} +\indentrel{3}\begin{verbatim} + (22) 0 + Type: LiePolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty22} +\begin{paste}{LiePolynomialXmpPageEmpty22}{LiePolynomialXmpPagePatch22} +\pastebutton{LiePolynomialXmpPageEmpty22}{\showpaste} +\tab{5}\spadcommand{test: Lpoly := Jacobi(r,s,t)\free{J r s t Lpoly }\bound{test3 }} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch23} +\begin{paste}{LiePolynomialXmpPageFull23}{LiePolynomialXmpPageEmpty23} +\pastebutton{LiePolynomialXmpPageFull23}{\hidepaste} +\tab{5}\spadcommand{eval(p, a, p)$Lpoly} +\indentrel{3}\begin{verbatim} + 2 + (23) [a b ] + Type: LiePolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty23} +\begin{paste}{LiePolynomialXmpPageEmpty23}{LiePolynomialXmpPagePatch23} +\pastebutton{LiePolynomialXmpPageEmpty23}{\showpaste} +\tab{5}\spadcommand{eval(p, a, p)$Lpoly} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch24} +\begin{paste}{LiePolynomialXmpPageFull24}{LiePolynomialXmpPageEmpty24} +\pastebutton{LiePolynomialXmpPageFull24}{\hidepaste} +\tab{5}\spadcommand{eval(p, [a,b], [2*bb, 3*aa])$Lpoly\free{p a b bb aa Lpoly }} +\indentrel{3}\begin{verbatim} + (24) - 6[a b] + Type: LiePolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty24} +\begin{paste}{LiePolynomialXmpPageEmpty24}{LiePolynomialXmpPagePatch24} +\pastebutton{LiePolynomialXmpPageEmpty24}{\showpaste} +\tab{5}\spadcommand{eval(p, [a,b], [2*bb, 3*aa])$Lpoly\free{p a b bb aa Lpoly }} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch25} +\begin{paste}{LiePolynomialXmpPageFull25}{LiePolynomialXmpPageEmpty25} +\pastebutton{LiePolynomialXmpPageFull25}{\hidepaste} +\tab{5}\spadcommand{r: Lpoly := [p,c]\free{p c Lpoly }\bound{rr }} +\indentrel{3}\begin{verbatim} + (25) [a b c] + [a c b] + Type: LiePolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty25} +\begin{paste}{LiePolynomialXmpPageEmpty25}{LiePolynomialXmpPagePatch25} +\pastebutton{LiePolynomialXmpPageEmpty25}{\showpaste} +\tab{5}\spadcommand{r: Lpoly := [p,c]\free{p c Lpoly }\bound{rr }} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch26} +\begin{paste}{LiePolynomialXmpPageFull26}{LiePolynomialXmpPageEmpty26} +\pastebutton{LiePolynomialXmpPageFull26}{\hidepaste} +\tab{5}\spadcommand{r1: Lpoly := eval(r, [a,b,c], [bb, cc, aa])$Lpoly\free{rr a b c aa bb cc Lpoly }\bound{r1 }} +\indentrel{3}\begin{verbatim} + (26) - [a b c] + Type: LiePolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty26} +\begin{paste}{LiePolynomialXmpPageEmpty26}{LiePolynomialXmpPagePatch26} +\pastebutton{LiePolynomialXmpPageEmpty26}{\showpaste} +\tab{5}\spadcommand{r1: Lpoly := eval(r, [a,b,c], [bb, cc, aa])$Lpoly\free{rr a b c aa bb cc Lpoly }\bound{r1 }} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch27} +\begin{paste}{LiePolynomialXmpPageFull27}{LiePolynomialXmpPageEmpty27} +\pastebutton{LiePolynomialXmpPageFull27}{\hidepaste} +\tab{5}\spadcommand{r2: Lpoly := eval(r, [a,b,c], [cc, aa, bb])$Lpoly\free{rr a b c cc bb aa Lpoly }\bound{r2 }} +\indentrel{3}\begin{verbatim} + (27) - [a c b] + Type: LiePolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty27} +\begin{paste}{LiePolynomialXmpPageEmpty27}{LiePolynomialXmpPagePatch27} +\pastebutton{LiePolynomialXmpPageEmpty27}{\showpaste} +\tab{5}\spadcommand{r2: Lpoly := eval(r, [a,b,c], [cc, aa, bb])$Lpoly\free{rr a b c cc bb aa Lpoly }\bound{r2 }} +\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPagePatch28} +\begin{paste}{LiePolynomialXmpPageFull28}{LiePolynomialXmpPageEmpty28} +\pastebutton{LiePolynomialXmpPageFull28}{\hidepaste} +\tab{5}\spadcommand{r + r1 + r2\free{rr r1 r2 }} +\indentrel{3}\begin{verbatim} + (28) 0 + Type: LiePolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LiePolynomialXmpPageEmpty28} +\begin{paste}{LiePolynomialXmpPageEmpty28}{LiePolynomialXmpPagePatch28} +\pastebutton{LiePolynomialXmpPageEmpty28}{\showpaste} +\tab{5}\spadcommand{r + r1 + r2\free{rr r1 r2 }} +\end{paste}\end{patch} @ \section{lword.ht} @@ -14749,6 +40219,383 @@ Checks and coercions \autobuttons \end{page} +\begin{patch}{LyndonWordXmpPagePatch1} +\begin{paste}{LyndonWordXmpPageFull1}{LyndonWordXmpPageEmpty1} +\pastebutton{LyndonWordXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{a:Symbol :='a\bound{a }} +\indentrel{3}\begin{verbatim} + (1) a + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPageEmpty1} +\begin{paste}{LyndonWordXmpPageEmpty1}{LyndonWordXmpPagePatch1} +\pastebutton{LyndonWordXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{a:Symbol :='a\bound{a }} +\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPagePatch2} +\begin{paste}{LyndonWordXmpPageFull2}{LyndonWordXmpPageEmpty2} +\pastebutton{LyndonWordXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{b:Symbol :='b\bound{b }} +\indentrel{3}\begin{verbatim} + (2) b + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPageEmpty2} +\begin{paste}{LyndonWordXmpPageEmpty2}{LyndonWordXmpPagePatch2} +\pastebutton{LyndonWordXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{b:Symbol :='b\bound{b }} +\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPagePatch3} +\begin{paste}{LyndonWordXmpPageFull3}{LyndonWordXmpPageEmpty3} +\pastebutton{LyndonWordXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{c:Symbol :='c\bound{c }} +\indentrel{3}\begin{verbatim} + (3) c + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPageEmpty3} +\begin{paste}{LyndonWordXmpPageEmpty3}{LyndonWordXmpPagePatch3} +\pastebutton{LyndonWordXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{c:Symbol :='c\bound{c }} +\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPagePatch4} +\begin{paste}{LyndonWordXmpPageFull4}{LyndonWordXmpPageEmpty4} +\pastebutton{LyndonWordXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{lword:= LyndonWord(Symbol)\bound{lword }} +\indentrel{3}\begin{verbatim} + (4) LyndonWord Symbol + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPageEmpty4} +\begin{paste}{LyndonWordXmpPageEmpty4}{LyndonWordXmpPagePatch4} +\pastebutton{LyndonWordXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{lword:= LyndonWord(Symbol)\bound{lword }} +\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPagePatch5} +\begin{paste}{LyndonWordXmpPageFull5}{LyndonWordXmpPageEmpty5} +\pastebutton{LyndonWordXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{magma := Magma(Symbol)\bound{magma }} +\indentrel{3}\begin{verbatim} + (5) Magma Symbol + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPageEmpty5} +\begin{paste}{LyndonWordXmpPageEmpty5}{LyndonWordXmpPagePatch5} +\pastebutton{LyndonWordXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{magma := Magma(Symbol)\bound{magma }} +\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPagePatch6} +\begin{paste}{LyndonWordXmpPageFull6}{LyndonWordXmpPageEmpty6} +\pastebutton{LyndonWordXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{word := OrderedFreeMonoid(Symbol)\bound{word }} +\indentrel{3}\begin{verbatim} + (6) OrderedFreeMonoid Symbol + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPageEmpty6} +\begin{paste}{LyndonWordXmpPageEmpty6}{LyndonWordXmpPagePatch6} +\pastebutton{LyndonWordXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{word := OrderedFreeMonoid(Symbol)\bound{word }} +\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPagePatch7} +\begin{paste}{LyndonWordXmpPageFull7}{LyndonWordXmpPageEmpty7} +\pastebutton{LyndonWordXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{LyndonWordsList1([a,b,c],3)$lword\free{lword }\free{a }\free{b }\free{c }} +\indentrel{3}\begin{verbatim} + (7) + [[[a],[b],[c]], [[a b],[a c],[b c]], + + 2 2 2 2 + [[a b], [a c], [a b ], [a b c], [a c b], [a c ], + 2 2 + [b c], [b c ]] + ] + Type: OneDimensionalArray List LyndonWord Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPageEmpty7} +\begin{paste}{LyndonWordXmpPageEmpty7}{LyndonWordXmpPagePatch7} +\pastebutton{LyndonWordXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{LyndonWordsList1([a,b,c],3)$lword\free{lword }\free{a }\free{b }\free{c }} +\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPagePatch8} +\begin{paste}{LyndonWordXmpPageFull8}{LyndonWordXmpPageEmpty8} +\pastebutton{LyndonWordXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{LyndonWordsList([a,b,c],3)$lword\free{a }\free{b }\free{c }\free{lword }} +\indentrel{3}\begin{verbatim} + (8) + 2 2 + [[a], [b], [c], [a b], [a c], [b c], [a b], [a c], + 2 2 2 2 + [a b ], [a b c], [a c b], [a c ], [b c], [b c ]] + Type: List LyndonWord Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPageEmpty8} +\begin{paste}{LyndonWordXmpPageEmpty8}{LyndonWordXmpPagePatch8} +\pastebutton{LyndonWordXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{LyndonWordsList([a,b,c],3)$lword\free{a }\free{b }\free{c }\free{lword }} +\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPagePatch9} +\begin{paste}{LyndonWordXmpPageFull9}{LyndonWordXmpPageEmpty9} +\pastebutton{LyndonWordXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{lw := LyndonWordsList([a,b],5)$lword\free{a }\free{b }\free{lword }\bound{lw }} +\indentrel{3}\begin{verbatim} + (9) + 2 2 3 2 2 + [[a], [b], [a b], [a b], [a b ], [a b], [a b ], + 3 4 3 2 2 2 3 2 + [a b ], [a b], [a b ], [a b a b], [a b ], [a b a b ], + 4 + [a b ]] + Type: List LyndonWord Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPageEmpty9} +\begin{paste}{LyndonWordXmpPageEmpty9}{LyndonWordXmpPagePatch9} +\pastebutton{LyndonWordXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{lw := LyndonWordsList([a,b],5)$lword\free{a }\free{b }\free{lword }\bound{lw }} +\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPagePatch10} +\begin{paste}{LyndonWordXmpPageFull10}{LyndonWordXmpPageEmpty10} +\pastebutton{LyndonWordXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{w1 : word := lw.4 :: word\free{word }\free{lw }\bound{w1 }} +\indentrel{3}\begin{verbatim} + 2 + (10) a b + Type: OrderedFreeMonoid Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPageEmpty10} +\begin{paste}{LyndonWordXmpPageEmpty10}{LyndonWordXmpPagePatch10} +\pastebutton{LyndonWordXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{w1 : word := lw.4 :: word\free{word }\free{lw }\bound{w1 }} +\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPagePatch11} +\begin{paste}{LyndonWordXmpPageFull11}{LyndonWordXmpPageEmpty11} +\pastebutton{LyndonWordXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{w2 : word := lw.5 :: word\free{word }\free{lw }\bound{w2 }} +\indentrel{3}\begin{verbatim} + 2 + (11) a b + Type: OrderedFreeMonoid Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPageEmpty11} +\begin{paste}{LyndonWordXmpPageEmpty11}{LyndonWordXmpPagePatch11} +\pastebutton{LyndonWordXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{w2 : word := lw.5 :: word\free{word }\free{lw }\bound{w2 }} +\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPagePatch12} +\begin{paste}{LyndonWordXmpPageFull12}{LyndonWordXmpPageEmpty12} +\pastebutton{LyndonWordXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{factor(a::word)$lword\free{a word lword }} +\indentrel{3}\begin{verbatim} + (12) [[a]] + Type: List LyndonWord Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPageEmpty12} +\begin{paste}{LyndonWordXmpPageEmpty12}{LyndonWordXmpPagePatch12} +\pastebutton{LyndonWordXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{factor(a::word)$lword\free{a word lword }} +\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPagePatch13} +\begin{paste}{LyndonWordXmpPageFull13}{LyndonWordXmpPageEmpty13} +\pastebutton{LyndonWordXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{factor(w1*w2)$lword\free{w1 w2 lword }} +\indentrel{3}\begin{verbatim} + 2 2 + (13) [[a b a b ]] + Type: List LyndonWord Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPageEmpty13} +\begin{paste}{LyndonWordXmpPageEmpty13}{LyndonWordXmpPagePatch13} +\pastebutton{LyndonWordXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{factor(w1*w2)$lword\free{w1 w2 lword }} +\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPagePatch14} +\begin{paste}{LyndonWordXmpPageFull14}{LyndonWordXmpPageEmpty14} +\pastebutton{LyndonWordXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{factor(w2*w2)$lword\free{w2 lword }} +\indentrel{3}\begin{verbatim} + 2 2 + (14) [[a b ],[a b ]] + Type: List LyndonWord Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPageEmpty14} +\begin{paste}{LyndonWordXmpPageEmpty14}{LyndonWordXmpPagePatch14} +\pastebutton{LyndonWordXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{factor(w2*w2)$lword\free{w2 lword }} +\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPagePatch15} +\begin{paste}{LyndonWordXmpPageFull15}{LyndonWordXmpPageEmpty15} +\pastebutton{LyndonWordXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{factor(w2*w1)$lword\free{w1 w2 lword }} +\indentrel{3}\begin{verbatim} + 2 2 + (15) [[a b ],[a b]] + Type: List LyndonWord Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPageEmpty15} +\begin{paste}{LyndonWordXmpPageEmpty15}{LyndonWordXmpPagePatch15} +\pastebutton{LyndonWordXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{factor(w2*w1)$lword\free{w1 w2 lword }} +\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPagePatch16} +\begin{paste}{LyndonWordXmpPageFull16}{LyndonWordXmpPageEmpty16} +\pastebutton{LyndonWordXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{lyndon?(w1)$lword\free{w1 lword }} +\indentrel{3}\begin{verbatim} + (16) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPageEmpty16} +\begin{paste}{LyndonWordXmpPageEmpty16}{LyndonWordXmpPagePatch16} +\pastebutton{LyndonWordXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{lyndon?(w1)$lword\free{w1 lword }} +\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPagePatch17} +\begin{paste}{LyndonWordXmpPageFull17}{LyndonWordXmpPageEmpty17} +\pastebutton{LyndonWordXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{lyndon?(w1*w2)$lword\free{w1 w2 lword }} +\indentrel{3}\begin{verbatim} + (17) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPageEmpty17} +\begin{paste}{LyndonWordXmpPageEmpty17}{LyndonWordXmpPagePatch17} +\pastebutton{LyndonWordXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{lyndon?(w1*w2)$lword\free{w1 w2 lword }} +\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPagePatch18} +\begin{paste}{LyndonWordXmpPageFull18}{LyndonWordXmpPageEmpty18} +\pastebutton{LyndonWordXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{lyndon?(w2*w1)$lword\free{w1 w2 lword }} +\indentrel{3}\begin{verbatim} + (18) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPageEmpty18} +\begin{paste}{LyndonWordXmpPageEmpty18}{LyndonWordXmpPagePatch18} +\pastebutton{LyndonWordXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{lyndon?(w2*w1)$lword\free{w1 w2 lword }} +\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPagePatch19} +\begin{paste}{LyndonWordXmpPageFull19}{LyndonWordXmpPageEmpty19} +\pastebutton{LyndonWordXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{lyndonIfCan(w1)$lword\free{w1 lword }} +\indentrel{3}\begin{verbatim} + 2 + (19) [a b] + Type: Union(LyndonWord Symbol,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPageEmpty19} +\begin{paste}{LyndonWordXmpPageEmpty19}{LyndonWordXmpPagePatch19} +\pastebutton{LyndonWordXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{lyndonIfCan(w1)$lword\free{w1 lword }} +\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPagePatch20} +\begin{paste}{LyndonWordXmpPageFull20}{LyndonWordXmpPageEmpty20} +\pastebutton{LyndonWordXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{lyndonIfCan(w2*w1)$lword\free{w1 w2 lword }} +\indentrel{3}\begin{verbatim} + (20) "failed" + Type: Union("failed",...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPageEmpty20} +\begin{paste}{LyndonWordXmpPageEmpty20}{LyndonWordXmpPagePatch20} +\pastebutton{LyndonWordXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{lyndonIfCan(w2*w1)$lword\free{w1 w2 lword }} +\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPagePatch21} +\begin{paste}{LyndonWordXmpPageFull21}{LyndonWordXmpPageEmpty21} +\pastebutton{LyndonWordXmpPageFull21}{\hidepaste} +\tab{5}\spadcommand{lyndon(w1)$lword\free{w1 lword }} +\indentrel{3}\begin{verbatim} + 2 + (21) [a b] + Type: LyndonWord Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPageEmpty21} +\begin{paste}{LyndonWordXmpPageEmpty21}{LyndonWordXmpPagePatch21} +\pastebutton{LyndonWordXmpPageEmpty21}{\showpaste} +\tab{5}\spadcommand{lyndon(w1)$lword\free{w1 lword }} +\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPagePatch22} +\begin{paste}{LyndonWordXmpPageFull22}{LyndonWordXmpPageEmpty22} +\pastebutton{LyndonWordXmpPageFull22}{\hidepaste} +\tab{5}\spadcommand{lyndon(w1*w2)$lword\free{w1 w2 lword }} +\indentrel{3}\begin{verbatim} + 2 2 + (22) [a b a b ] + Type: LyndonWord Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{LyndonWordXmpPageEmpty22} +\begin{paste}{LyndonWordXmpPageEmpty22}{LyndonWordXmpPagePatch22} +\pastebutton{LyndonWordXmpPageEmpty22}{\showpaste} +\tab{5}\spadcommand{lyndon(w1*w2)$lword\free{w1 w2 lword }} +\end{paste}\end{patch} + @ \section{magma.ht} \pagehead{MagmaXmpPage}{magma.ht}{Magma} @@ -14859,6 +40706,359 @@ Check ordering \autobuttons \end{page} +\begin{patch}{MagmaXmpPagePatch1} +\begin{paste}{MagmaXmpPageFull1}{MagmaXmpPageEmpty1} +\pastebutton{MagmaXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{x:Symbol :='x\bound{x }} +\indentrel{3}\begin{verbatim} + (1) x + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPageEmpty1} +\begin{paste}{MagmaXmpPageEmpty1}{MagmaXmpPagePatch1} +\pastebutton{MagmaXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{x:Symbol :='x\bound{x }} +\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPagePatch2} +\begin{paste}{MagmaXmpPageFull2}{MagmaXmpPageEmpty2} +\pastebutton{MagmaXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{y:Symbol :='y\bound{y }} +\indentrel{3}\begin{verbatim} + (2) y + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPageEmpty2} +\begin{paste}{MagmaXmpPageEmpty2}{MagmaXmpPagePatch2} +\pastebutton{MagmaXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{y:Symbol :='y\bound{y }} +\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPagePatch3} +\begin{paste}{MagmaXmpPageFull3}{MagmaXmpPageEmpty3} +\pastebutton{MagmaXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{z:Symbol :='z\bound{z }} +\indentrel{3}\begin{verbatim} + (3) z + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPageEmpty3} +\begin{paste}{MagmaXmpPageEmpty3}{MagmaXmpPagePatch3} +\pastebutton{MagmaXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{z:Symbol :='z\bound{z }} +\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPagePatch4} +\begin{paste}{MagmaXmpPageFull4}{MagmaXmpPageEmpty4} +\pastebutton{MagmaXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{word := OrderedFreeMonoid(Symbol)\bound{word }} +\indentrel{3}\begin{verbatim} + (4) OrderedFreeMonoid Symbol + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPageEmpty4} +\begin{paste}{MagmaXmpPageEmpty4}{MagmaXmpPagePatch4} +\pastebutton{MagmaXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{word := OrderedFreeMonoid(Symbol)\bound{word }} +\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPagePatch5} +\begin{paste}{MagmaXmpPageFull5}{MagmaXmpPageEmpty5} +\pastebutton{MagmaXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{tree := Magma(Symbol)\bound{tree }} +\indentrel{3}\begin{verbatim} + (5) Magma Symbol + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPageEmpty5} +\begin{paste}{MagmaXmpPageEmpty5}{MagmaXmpPagePatch5} +\pastebutton{MagmaXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{tree := Magma(Symbol)\bound{tree }} +\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPagePatch6} +\begin{paste}{MagmaXmpPageFull6}{MagmaXmpPageEmpty6} +\pastebutton{MagmaXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{a:tree := x*x\free{x tree }\bound{a }} +\indentrel{3}\begin{verbatim} + (6) [x,x] + Type: Magma Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPageEmpty6} +\begin{paste}{MagmaXmpPageEmpty6}{MagmaXmpPagePatch6} +\pastebutton{MagmaXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{a:tree := x*x\free{x tree }\bound{a }} +\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPagePatch7} +\begin{paste}{MagmaXmpPageFull7}{MagmaXmpPageEmpty7} +\pastebutton{MagmaXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{b:tree := y*y\free{y tree }\bound{b }} +\indentrel{3}\begin{verbatim} + (7) [y,y] + Type: Magma Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPageEmpty7} +\begin{paste}{MagmaXmpPageEmpty7}{MagmaXmpPagePatch7} +\pastebutton{MagmaXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{b:tree := y*y\free{y tree }\bound{b }} +\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPagePatch8} +\begin{paste}{MagmaXmpPageFull8}{MagmaXmpPageEmpty8} +\pastebutton{MagmaXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{c:tree := a*b\free{a b tree }\bound{c }} +\indentrel{3}\begin{verbatim} + (8) [[x,x],[y,y]] + Type: Magma Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPageEmpty8} +\begin{paste}{MagmaXmpPageEmpty8}{MagmaXmpPagePatch8} +\pastebutton{MagmaXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{c:tree := a*b\free{a b tree }\bound{c }} +\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPagePatch9} +\begin{paste}{MagmaXmpPageFull9}{MagmaXmpPageEmpty9} +\pastebutton{MagmaXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{left c\free{c }} +\indentrel{3}\begin{verbatim} + (9) [x,x] + Type: Magma Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPageEmpty9} +\begin{paste}{MagmaXmpPageEmpty9}{MagmaXmpPagePatch9} +\pastebutton{MagmaXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{left c\free{c }} +\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPagePatch10} +\begin{paste}{MagmaXmpPageFull10}{MagmaXmpPageEmpty10} +\pastebutton{MagmaXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{right c\free{c }} +\indentrel{3}\begin{verbatim} + (10) [y,y] + Type: Magma Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPageEmpty10} +\begin{paste}{MagmaXmpPageEmpty10}{MagmaXmpPagePatch10} +\pastebutton{MagmaXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{right c\free{c }} +\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPagePatch11} +\begin{paste}{MagmaXmpPageFull11}{MagmaXmpPageEmpty11} +\pastebutton{MagmaXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{length c\free{c }} +\indentrel{3}\begin{verbatim} + (11) 4 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPageEmpty11} +\begin{paste}{MagmaXmpPageEmpty11}{MagmaXmpPagePatch11} +\pastebutton{MagmaXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{length c\free{c }} +\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPagePatch12} +\begin{paste}{MagmaXmpPageFull12}{MagmaXmpPageEmpty12} +\pastebutton{MagmaXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{c::word\free{c word }} +\indentrel{3}\begin{verbatim} + 2 2 + (12) x y + Type: OrderedFreeMonoid Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPageEmpty12} +\begin{paste}{MagmaXmpPageEmpty12}{MagmaXmpPagePatch12} +\pastebutton{MagmaXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{c::word\free{c word }} +\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPagePatch13} +\begin{paste}{MagmaXmpPageFull13}{MagmaXmpPageEmpty13} +\pastebutton{MagmaXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{a < b\free{a b }} +\indentrel{3}\begin{verbatim} + (13) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPageEmpty13} +\begin{paste}{MagmaXmpPageEmpty13}{MagmaXmpPagePatch13} +\pastebutton{MagmaXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{a < b\free{a b }} +\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPagePatch14} +\begin{paste}{MagmaXmpPageFull14}{MagmaXmpPageEmpty14} +\pastebutton{MagmaXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{a < c\free{a c }} +\indentrel{3}\begin{verbatim} + (14) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPageEmpty14} +\begin{paste}{MagmaXmpPageEmpty14}{MagmaXmpPagePatch14} +\pastebutton{MagmaXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{a < c\free{a c }} +\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPagePatch15} +\begin{paste}{MagmaXmpPageFull15}{MagmaXmpPageEmpty15} +\pastebutton{MagmaXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{b < c\free{b c }} +\indentrel{3}\begin{verbatim} + (15) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPageEmpty15} +\begin{paste}{MagmaXmpPageEmpty15}{MagmaXmpPagePatch15} +\pastebutton{MagmaXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{b < c\free{b c }} +\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPagePatch16} +\begin{paste}{MagmaXmpPageFull16}{MagmaXmpPageEmpty16} +\pastebutton{MagmaXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{first c\free{c }} +\indentrel{3}\begin{verbatim} + (16) x + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPageEmpty16} +\begin{paste}{MagmaXmpPageEmpty16}{MagmaXmpPagePatch16} +\pastebutton{MagmaXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{first c\free{c }} +\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPagePatch17} +\begin{paste}{MagmaXmpPageFull17}{MagmaXmpPageEmpty17} +\pastebutton{MagmaXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{rest c\free{c }} +\indentrel{3}\begin{verbatim} + (17) [x,[y,y]] + Type: Magma Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPageEmpty17} +\begin{paste}{MagmaXmpPageEmpty17}{MagmaXmpPagePatch17} +\pastebutton{MagmaXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{rest c\free{c }} +\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPagePatch18} +\begin{paste}{MagmaXmpPageFull18}{MagmaXmpPageEmpty18} +\pastebutton{MagmaXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{rest rest c\free{c }} +\indentrel{3}\begin{verbatim} + (18) [y,y] + Type: Magma Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPageEmpty18} +\begin{paste}{MagmaXmpPageEmpty18}{MagmaXmpPagePatch18} +\pastebutton{MagmaXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{rest rest c\free{c }} +\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPagePatch19} +\begin{paste}{MagmaXmpPageFull19}{MagmaXmpPageEmpty19} +\pastebutton{MagmaXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{ax:tree := a*x\free{a x tree }\bound{ax }} +\indentrel{3}\begin{verbatim} + (19) [[x,x],x] + Type: Magma Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPageEmpty19} +\begin{paste}{MagmaXmpPageEmpty19}{MagmaXmpPagePatch19} +\pastebutton{MagmaXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{ax:tree := a*x\free{a x tree }\bound{ax }} +\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPagePatch20} +\begin{paste}{MagmaXmpPageFull20}{MagmaXmpPageEmpty20} +\pastebutton{MagmaXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{xa:tree := x*a\free{a x tree }\bound{xa }} +\indentrel{3}\begin{verbatim} + (20) [x,[x,x]] + Type: Magma Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPageEmpty20} +\begin{paste}{MagmaXmpPageEmpty20}{MagmaXmpPagePatch20} +\pastebutton{MagmaXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{xa:tree := x*a\free{a x tree }\bound{xa }} +\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPagePatch21} +\begin{paste}{MagmaXmpPageFull21}{MagmaXmpPageEmpty21} +\pastebutton{MagmaXmpPageFull21}{\hidepaste} +\tab{5}\spadcommand{xa < ax\free{ax xa }} +\indentrel{3}\begin{verbatim} + (21) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPageEmpty21} +\begin{paste}{MagmaXmpPageEmpty21}{MagmaXmpPagePatch21} +\pastebutton{MagmaXmpPageEmpty21}{\showpaste} +\tab{5}\spadcommand{xa < ax\free{ax xa }} +\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPagePatch22} +\begin{paste}{MagmaXmpPageFull22}{MagmaXmpPageEmpty22} +\pastebutton{MagmaXmpPageFull22}{\hidepaste} +\tab{5}\spadcommand{lexico(xa,ax)\free{ax xa }} +\indentrel{3}\begin{verbatim} + (22) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MagmaXmpPageEmpty22} +\begin{paste}{MagmaXmpPageEmpty22}{MagmaXmpPagePatch22} +\pastebutton{MagmaXmpPageEmpty22}{\showpaste} +\tab{5}\spadcommand{lexico(xa,ax)\free{ax xa }} +\end{paste}\end{patch} + @ \section{man0.ht} \pagehead{RefSearchPage}{man0.ht}{Reference Search} @@ -15557,7 +41757,6 @@ defined in the Axiom language. \endscroll \end{page} - @ \section{mappkg1.ht} \pagehead{MappingPackageOneXmpPage}{mappkg1.ht}{MappingPackage1} @@ -15730,6 +41929,449 @@ By currying over the argument we get a function with private state. \autobuttons \end{page} +\begin{patch}{MappingPackageOneXmpPagePatch1} +\begin{paste}{MappingPackageOneXmpPageFull1}{MappingPackageOneXmpPageEmpty1} +\pastebutton{MappingPackageOneXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{power(q: FRAC INT, n: INT): FRAC INT == q**n\bound{power }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPageEmpty1} +\begin{paste}{MappingPackageOneXmpPageEmpty1}{MappingPackageOneXmpPagePatch1} +\pastebutton{MappingPackageOneXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{power(q: FRAC INT, n: INT): FRAC INT == q**n\bound{power }} +\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPagePatch2} +\begin{paste}{MappingPackageOneXmpPageFull2}{MappingPackageOneXmpPageEmpty2} +\pastebutton{MappingPackageOneXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{power(2,3)\free{power }} +\indentrel{3}\begin{verbatim} + (2) 8 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPageEmpty2} +\begin{paste}{MappingPackageOneXmpPageEmpty2}{MappingPackageOneXmpPagePatch2} +\pastebutton{MappingPackageOneXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{power(2,3)\free{power }} +\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPagePatch3} +\begin{paste}{MappingPackageOneXmpPageFull3}{MappingPackageOneXmpPageEmpty3} +\pastebutton{MappingPackageOneXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{rewop := twist power\free{power }\bound{rewop }} +\indentrel{3}\begin{verbatim} + (3) theMap(MAPPKG3;twist;MM;5!0) + Type: ((Integer,Fraction Integer) -> Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPageEmpty3} +\begin{paste}{MappingPackageOneXmpPageEmpty3}{MappingPackageOneXmpPagePatch3} +\pastebutton{MappingPackageOneXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{rewop := twist power\free{power }\bound{rewop }} +\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPagePatch4} +\begin{paste}{MappingPackageOneXmpPageFull4}{MappingPackageOneXmpPageEmpty4} +\pastebutton{MappingPackageOneXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{rewop(3, 2)\free{rewop }} +\indentrel{3}\begin{verbatim} + (4) 8 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPageEmpty4} +\begin{paste}{MappingPackageOneXmpPageEmpty4}{MappingPackageOneXmpPagePatch4} +\pastebutton{MappingPackageOneXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{rewop(3, 2)\free{rewop }} +\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPagePatch5} +\begin{paste}{MappingPackageOneXmpPageFull5}{MappingPackageOneXmpPageEmpty5} +\pastebutton{MappingPackageOneXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{square: FRAC INT -> FRAC INT\bound{squaredec }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPageEmpty5} +\begin{paste}{MappingPackageOneXmpPageEmpty5}{MappingPackageOneXmpPagePatch5} +\pastebutton{MappingPackageOneXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{square: FRAC INT -> FRAC INT\bound{squaredec }} +\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPagePatch6} +\begin{paste}{MappingPackageOneXmpPageFull6}{MappingPackageOneXmpPageEmpty6} +\pastebutton{MappingPackageOneXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{square:= curryRight(power, 2)\free{squaredec poswer }\bound{square }} +\indentrel{3}\begin{verbatim} + (6) theMap(MAPPKG3;curryRight;MBM;1!0,430) + Type: (Fraction Integer -> Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPageEmpty6} +\begin{paste}{MappingPackageOneXmpPageEmpty6}{MappingPackageOneXmpPagePatch6} +\pastebutton{MappingPackageOneXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{square:= curryRight(power, 2)\free{squaredec poswer }\bound{square }} +\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPagePatch7} +\begin{paste}{MappingPackageOneXmpPageFull7}{MappingPackageOneXmpPageEmpty7} +\pastebutton{MappingPackageOneXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{square 4\free{square }} +\indentrel{3}\begin{verbatim} + (7) 16 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPageEmpty7} +\begin{paste}{MappingPackageOneXmpPageEmpty7}{MappingPackageOneXmpPagePatch7} +\pastebutton{MappingPackageOneXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{square 4\free{square }} +\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPagePatch8} +\begin{paste}{MappingPackageOneXmpPageFull8}{MappingPackageOneXmpPageEmpty8} +\pastebutton{MappingPackageOneXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{squirrel:= constantRight(square)$MAPPKG3(FRAC INT,FRAC INT,FRAC INT)\free{square }\bound{squirrel }} +\indentrel{3}\begin{verbatim} + (8) theMap(MAPPKG3;constantRight;MM;3!0) +Type: ((Fraction Integer,Fraction Integer) -> Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPageEmpty8} +\begin{paste}{MappingPackageOneXmpPageEmpty8}{MappingPackageOneXmpPagePatch8} +\pastebutton{MappingPackageOneXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{squirrel:= constantRight(square)$MAPPKG3(FRAC INT,FRAC INT,FRAC INT)\free{square }\bound{squirrel }} +\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPagePatch9} +\begin{paste}{MappingPackageOneXmpPageFull9}{MappingPackageOneXmpPageEmpty9} +\pastebutton{MappingPackageOneXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{squirrel(1/2, 1/3)\free{squirrel }} +\indentrel{3}\begin{verbatim} + 1 + (9) Ä + 4 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPageEmpty9} +\begin{paste}{MappingPackageOneXmpPageEmpty9}{MappingPackageOneXmpPagePatch9} +\pastebutton{MappingPackageOneXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{squirrel(1/2, 1/3)\free{squirrel }} +\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPagePatch10} +\begin{paste}{MappingPackageOneXmpPageFull10}{MappingPackageOneXmpPageEmpty10} +\pastebutton{MappingPackageOneXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{sixteen := curry(square, 4/1)\free{square }\bound{sixteen }} +\indentrel{3}\begin{verbatim} + (10) theMap(MAPPKG2;curry;MAM;2!0,488) + Type: (() -> Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPageEmpty10} +\begin{paste}{MappingPackageOneXmpPageEmpty10}{MappingPackageOneXmpPagePatch10} +\pastebutton{MappingPackageOneXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{sixteen := curry(square, 4/1)\free{square }\bound{sixteen }} +\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPagePatch11} +\begin{paste}{MappingPackageOneXmpPageFull11}{MappingPackageOneXmpPageEmpty11} +\pastebutton{MappingPackageOneXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{sixteen()\free{sixteen }} +\indentrel{3}\begin{verbatim} + (11) 16 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPageEmpty11} +\begin{paste}{MappingPackageOneXmpPageEmpty11}{MappingPackageOneXmpPagePatch11} +\pastebutton{MappingPackageOneXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{sixteen()\free{sixteen }} +\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPagePatch12} +\begin{paste}{MappingPackageOneXmpPageFull12}{MappingPackageOneXmpPageEmpty12} +\pastebutton{MappingPackageOneXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{square2:=square*square\free{square }\bound{square2 }} +\indentrel{3}\begin{verbatim} + (12) theMap(MAPPKG3;*;MMM;6!0,589) + Type: (Fraction Integer -> Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPageEmpty12} +\begin{paste}{MappingPackageOneXmpPageEmpty12}{MappingPackageOneXmpPagePatch12} +\pastebutton{MappingPackageOneXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{square2:=square*square\free{square }\bound{square2 }} +\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPagePatch13} +\begin{paste}{MappingPackageOneXmpPageFull13}{MappingPackageOneXmpPageEmpty13} +\pastebutton{MappingPackageOneXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{square2 3\free{square2 }} +\indentrel{3}\begin{verbatim} + (13) 81 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPageEmpty13} +\begin{paste}{MappingPackageOneXmpPageEmpty13}{MappingPackageOneXmpPagePatch13} +\pastebutton{MappingPackageOneXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{square2 3\free{square2 }} +\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPagePatch14} +\begin{paste}{MappingPackageOneXmpPageFull14}{MappingPackageOneXmpPageEmpty14} +\pastebutton{MappingPackageOneXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{sc(x: FRAC INT): FRAC INT == x + 1\bound{sc }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPageEmpty14} +\begin{paste}{MappingPackageOneXmpPageEmpty14}{MappingPackageOneXmpPagePatch14} +\pastebutton{MappingPackageOneXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{sc(x: FRAC INT): FRAC INT == x + 1\bound{sc }} +\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPagePatch15} +\begin{paste}{MappingPackageOneXmpPageFull15}{MappingPackageOneXmpPageEmpty15} +\pastebutton{MappingPackageOneXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{incfns := [sc**i for i in 0..10]\free{sc }\bound{incfns }} +\indentrel{3}\begin{verbatim} + (15) + [theMap(MAPPKG1;**;MNniM;6!0,314), + theMap(MAPPKG1;**;MNniM;6!0,963), + theMap(MAPPKG1;**;MNniM;6!0,810), + theMap(MAPPKG1;**;MNniM;6!0,546), + theMap(MAPPKG1;**;MNniM;6!0,338), + theMap(MAPPKG1;**;MNniM;6!0,989), + theMap(MAPPKG1;**;MNniM;6!0,218), + theMap(MAPPKG1;**;MNniM;6!0,20), + theMap(MAPPKG1;**;MNniM;6!0,533), + theMap(MAPPKG1;**;MNniM;6!0,437), + theMap(MAPPKG1;**;MNniM;6!0,900)] + Type: List (Fraction Integer -> Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPageEmpty15} +\begin{paste}{MappingPackageOneXmpPageEmpty15}{MappingPackageOneXmpPagePatch15} +\pastebutton{MappingPackageOneXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{incfns := [sc**i for i in 0..10]\free{sc }\bound{incfns }} +\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPagePatch16} +\begin{paste}{MappingPackageOneXmpPageFull16}{MappingPackageOneXmpPageEmpty16} +\pastebutton{MappingPackageOneXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{[f 4 for f in incfns]\free{incfns }} +\indentrel{3}\begin{verbatim} + (16) [4,5,6,7,8,9,10,11,12,13,14] + Type: List Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPageEmpty16} +\begin{paste}{MappingPackageOneXmpPageEmpty16}{MappingPackageOneXmpPagePatch16} +\pastebutton{MappingPackageOneXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{[f 4 for f in incfns]\free{incfns }} +\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPagePatch17} +\begin{paste}{MappingPackageOneXmpPageFull17}{MappingPackageOneXmpPageEmpty17} +\pastebutton{MappingPackageOneXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{times(n:NNI, i:INT):INT == n*i\bound{rdec }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPageEmpty17} +\begin{paste}{MappingPackageOneXmpPageEmpty17}{MappingPackageOneXmpPagePatch17} +\pastebutton{MappingPackageOneXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{times(n:NNI, i:INT):INT == n*i\bound{rdec }} +\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPagePatch18} +\begin{paste}{MappingPackageOneXmpPageFull18}{MappingPackageOneXmpPageEmpty18} +\pastebutton{MappingPackageOneXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{r := recur(times)\free{rdec }\bound{r }} +\indentrel{3}\begin{verbatim} + (18) theMap(MAPPKG1;recur;2M;7!0,161) + Type: ((NonNegativeInteger,Integer) -> Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPageEmpty18} +\begin{paste}{MappingPackageOneXmpPageEmpty18}{MappingPackageOneXmpPagePatch18} +\pastebutton{MappingPackageOneXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{r := recur(times)\free{rdec }\bound{r }} +\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPagePatch19} +\begin{paste}{MappingPackageOneXmpPageFull19}{MappingPackageOneXmpPageEmpty19} +\pastebutton{MappingPackageOneXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{fact := curryRight(r, 1)\free{r }\bound{fact }} +\indentrel{3}\begin{verbatim} + (19) theMap(MAPPKG3;curryRight;MBM;1!0,541) + Type: (NonNegativeInteger -> Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPageEmpty19} +\begin{paste}{MappingPackageOneXmpPageEmpty19}{MappingPackageOneXmpPagePatch19} +\pastebutton{MappingPackageOneXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{fact := curryRight(r, 1)\free{r }\bound{fact }} +\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPagePatch20} +\begin{paste}{MappingPackageOneXmpPageFull20}{MappingPackageOneXmpPageEmpty20} +\pastebutton{MappingPackageOneXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{fact 4\free{fact }} +\indentrel{3}\begin{verbatim} + (20) 24 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPageEmpty20} +\begin{paste}{MappingPackageOneXmpPageEmpty20}{MappingPackageOneXmpPagePatch20} +\pastebutton{MappingPackageOneXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{fact 4\free{fact }} +\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPagePatch21} +\begin{paste}{MappingPackageOneXmpPageFull21}{MappingPackageOneXmpPageEmpty21} +\pastebutton{MappingPackageOneXmpPageFull21}{\hidepaste} +\tab{5}\spadcommand{mto2ton(m, n) == + raiser := square**n + raiser m +\free{square }\bound{mto2ton }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPageEmpty21} +\begin{paste}{MappingPackageOneXmpPageEmpty21}{MappingPackageOneXmpPagePatch21} +\pastebutton{MappingPackageOneXmpPageEmpty21}{\showpaste} +\tab{5}\spadcommand{mto2ton(m, n) == + raiser := square**n + raiser m +\free{square }\bound{mto2ton }} +\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPagePatch22} +\begin{paste}{MappingPackageOneXmpPageFull22}{MappingPackageOneXmpPageEmpty22} +\pastebutton{MappingPackageOneXmpPageFull22}{\hidepaste} +\tab{5}\spadcommand{mto2ton(3, 3)\free{mto2ton }} +\indentrel{3}\begin{verbatim} + (22) 6561 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPageEmpty22} +\begin{paste}{MappingPackageOneXmpPageEmpty22}{MappingPackageOneXmpPagePatch22} +\pastebutton{MappingPackageOneXmpPageEmpty22}{\showpaste} +\tab{5}\spadcommand{mto2ton(3, 3)\free{mto2ton }} +\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPagePatch23} +\begin{paste}{MappingPackageOneXmpPageFull23}{MappingPackageOneXmpPageEmpty23} +\pastebutton{MappingPackageOneXmpPageFull23}{\hidepaste} +\tab{5}\spadcommand{shiftfib(r: List INT) : INT == + t := r.1 + r.1 := r.2 + r.2 := r.2 + t + t +\bound{shiftfib }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPageEmpty23} +\begin{paste}{MappingPackageOneXmpPageEmpty23}{MappingPackageOneXmpPagePatch23} +\pastebutton{MappingPackageOneXmpPageEmpty23}{\showpaste} +\tab{5}\spadcommand{shiftfib(r: List INT) : INT == + t := r.1 + r.1 := r.2 + r.2 := r.2 + t + t +\bound{shiftfib }} +\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPagePatch24} +\begin{paste}{MappingPackageOneXmpPageFull24}{MappingPackageOneXmpPageEmpty24} +\pastebutton{MappingPackageOneXmpPageFull24}{\hidepaste} +\tab{5}\spadcommand{fibinit: List INT := [0, 1]\bound{fibinitdec }} +\indentrel{3}\begin{verbatim} + (24) [0,1] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPageEmpty24} +\begin{paste}{MappingPackageOneXmpPageEmpty24}{MappingPackageOneXmpPagePatch24} +\pastebutton{MappingPackageOneXmpPageEmpty24}{\showpaste} +\tab{5}\spadcommand{fibinit: List INT := [0, 1]\bound{fibinitdec }} +\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPagePatch25} +\begin{paste}{MappingPackageOneXmpPageFull25}{MappingPackageOneXmpPageEmpty25} +\pastebutton{MappingPackageOneXmpPageFull25}{\hidepaste} +\tab{5}\spadcommand{fibs := curry(shiftfib, fibinit)\free{shiftfib fibinit }\bound{fibs }} +\indentrel{3}\begin{verbatim} + (25) theMap(MAPPKG2;curry;MAM;2!0,91) + Type: (() -> Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPageEmpty25} +\begin{paste}{MappingPackageOneXmpPageEmpty25}{MappingPackageOneXmpPagePatch25} +\pastebutton{MappingPackageOneXmpPageEmpty25}{\showpaste} +\tab{5}\spadcommand{fibs := curry(shiftfib, fibinit)\free{shiftfib fibinit }\bound{fibs }} +\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPagePatch26} +\begin{paste}{MappingPackageOneXmpPageFull26}{MappingPackageOneXmpPageEmpty26} +\pastebutton{MappingPackageOneXmpPageFull26}{\hidepaste} +\tab{5}\spadcommand{[fibs() for i in 0..30]\free{fibs }} +\indentrel{3}\begin{verbatim} + (26) + [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, + 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, + 28657, 46368, 75025, 121393, 196418, 317811, 514229, + 832040] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MappingPackageOneXmpPageEmpty26} +\begin{paste}{MappingPackageOneXmpPageEmpty26}{MappingPackageOneXmpPagePatch26} +\pastebutton{MappingPackageOneXmpPageEmpty26}{\showpaste} +\tab{5}\spadcommand{[fibs() for i in 0..30]\free{fibs }} +\end{paste}\end{patch} + @ \section{mset.ht} \pagehead{MultiSetXmpPage}{mset.ht}{MultiSet} @@ -15821,6 +42463,198 @@ Check some inclusion relations. \autobuttons \end{page} +\begin{patch}{MultiSetXmpPagePatch1} +\begin{paste}{MultiSetXmpPageFull1}{MultiSetXmpPageEmpty1} +\pastebutton{MultiSetXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{s := multiset [1,2,3,4,5,4,3,2,3,4,5,6,7,4,10]\bound{s }} +\indentrel{3}\begin{verbatim} + (1) {7,2: 5,3: 3,1,10,6,4: 4,2: 2} + Type: Multiset PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MultiSetXmpPageEmpty1} +\begin{paste}{MultiSetXmpPageEmpty1}{MultiSetXmpPagePatch1} +\pastebutton{MultiSetXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{s := multiset [1,2,3,4,5,4,3,2,3,4,5,6,7,4,10]\bound{s }} +\end{paste}\end{patch} + +\begin{patch}{MultiSetXmpPagePatch2} +\begin{paste}{MultiSetXmpPageFull2}{MultiSetXmpPageEmpty2} +\pastebutton{MultiSetXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{insert!(3,s)\bound{s1 }\free{s }} +\indentrel{3}\begin{verbatim} + (2) {7,2: 5,4: 3,1,10,6,4: 4,2: 2} + Type: Multiset PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MultiSetXmpPageEmpty2} +\begin{paste}{MultiSetXmpPageEmpty2}{MultiSetXmpPagePatch2} +\pastebutton{MultiSetXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{insert!(3,s)\bound{s1 }\free{s }} +\end{paste}\end{patch} + +\begin{patch}{MultiSetXmpPagePatch3} +\begin{paste}{MultiSetXmpPageFull3}{MultiSetXmpPageEmpty3} +\pastebutton{MultiSetXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{remove!(3,s,1); s\bound{s2 }\free{s1 }} +\indentrel{3}\begin{verbatim} + (3) {7,2: 5,3: 3,1,10,6,4: 4,2: 2} + Type: Multiset PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MultiSetXmpPageEmpty3} +\begin{paste}{MultiSetXmpPageEmpty3}{MultiSetXmpPagePatch3} +\pastebutton{MultiSetXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{remove!(3,s,1); s\bound{s2 }\free{s1 }} +\end{paste}\end{patch} + +\begin{patch}{MultiSetXmpPagePatch4} +\begin{paste}{MultiSetXmpPageFull4}{MultiSetXmpPageEmpty4} +\pastebutton{MultiSetXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{remove!(5,s); s\bound{s2 }\free{s1 }} +\indentrel{3}\begin{verbatim} + (4) {7,3: 3,1,10,6,4: 4,2: 2} + Type: Multiset PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MultiSetXmpPageEmpty4} +\begin{paste}{MultiSetXmpPageEmpty4}{MultiSetXmpPagePatch4} +\pastebutton{MultiSetXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{remove!(5,s); s\bound{s2 }\free{s1 }} +\end{paste}\end{patch} + +\begin{patch}{MultiSetXmpPagePatch5} +\begin{paste}{MultiSetXmpPageFull5}{MultiSetXmpPageEmpty5} +\pastebutton{MultiSetXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{count(5,s)\free{s2 }} +\indentrel{3}\begin{verbatim} + (5) 0 + Type: NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MultiSetXmpPageEmpty5} +\begin{paste}{MultiSetXmpPageEmpty5}{MultiSetXmpPagePatch5} +\pastebutton{MultiSetXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{count(5,s)\free{s2 }} +\end{paste}\end{patch} + +\begin{patch}{MultiSetXmpPagePatch6} +\begin{paste}{MultiSetXmpPageFull6}{MultiSetXmpPageEmpty6} +\pastebutton{MultiSetXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{t := multiset [2,2,2,-9]\bound{t }} +\indentrel{3}\begin{verbatim} + (6) {- 9,3: 2} + Type: Multiset Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MultiSetXmpPageEmpty6} +\begin{paste}{MultiSetXmpPageEmpty6}{MultiSetXmpPagePatch6} +\pastebutton{MultiSetXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{t := multiset [2,2,2,-9]\bound{t }} +\end{paste}\end{patch} + +\begin{patch}{MultiSetXmpPagePatch7} +\begin{paste}{MultiSetXmpPageFull7}{MultiSetXmpPageEmpty7} +\pastebutton{MultiSetXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{U := union(s,t)\bound{U }} +\indentrel{3}\begin{verbatim} + (7) {7,3: 3,1,- 9,10,6,4: 4,5: 2} + Type: Multiset Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MultiSetXmpPageEmpty7} +\begin{paste}{MultiSetXmpPageEmpty7}{MultiSetXmpPagePatch7} +\pastebutton{MultiSetXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{U := union(s,t)\bound{U }} +\end{paste}\end{patch} + +\begin{patch}{MultiSetXmpPagePatch8} +\begin{paste}{MultiSetXmpPageFull8}{MultiSetXmpPageEmpty8} +\pastebutton{MultiSetXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{I := intersect(s,t)\bound{I }} +\indentrel{3}\begin{verbatim} + (8) {5: 2} + Type: Multiset Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MultiSetXmpPageEmpty8} +\begin{paste}{MultiSetXmpPageEmpty8}{MultiSetXmpPagePatch8} +\pastebutton{MultiSetXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{I := intersect(s,t)\bound{I }} +\end{paste}\end{patch} + +\begin{patch}{MultiSetXmpPagePatch9} +\begin{paste}{MultiSetXmpPageFull9}{MultiSetXmpPageEmpty9} +\pastebutton{MultiSetXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{difference(s,t)\free{s2 t }} +\indentrel{3}\begin{verbatim} + (9) {7,3: 3,1,10,6,4: 4} + Type: Multiset Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MultiSetXmpPageEmpty9} +\begin{paste}{MultiSetXmpPageEmpty9}{MultiSetXmpPagePatch9} +\pastebutton{MultiSetXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{difference(s,t)\free{s2 t }} +\end{paste}\end{patch} + +\begin{patch}{MultiSetXmpPagePatch10} +\begin{paste}{MultiSetXmpPageFull10}{MultiSetXmpPageEmpty10} +\pastebutton{MultiSetXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{S := symmetricDifference(s,t)\bound{S }\free{s2 t }} +\indentrel{3}\begin{verbatim} + (10) {7,3: 3,1,- 9,10,6,4: 4} + Type: Multiset Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MultiSetXmpPageEmpty10} +\begin{paste}{MultiSetXmpPageEmpty10}{MultiSetXmpPagePatch10} +\pastebutton{MultiSetXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{S := symmetricDifference(s,t)\bound{S }\free{s2 t }} +\end{paste}\end{patch} + +\begin{patch}{MultiSetXmpPagePatch11} +\begin{paste}{MultiSetXmpPageFull11}{MultiSetXmpPageEmpty11} +\pastebutton{MultiSetXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{(U = union(S,I))@Boolean\free{S I U }} +\indentrel{3}\begin{verbatim} + (11) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MultiSetXmpPageEmpty11} +\begin{paste}{MultiSetXmpPageEmpty11}{MultiSetXmpPagePatch11} +\pastebutton{MultiSetXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{(U = union(S,I))@Boolean\free{S I U }} +\end{paste}\end{patch} + +\begin{patch}{MultiSetXmpPagePatch12} +\begin{paste}{MultiSetXmpPageFull12}{MultiSetXmpPageEmpty12} +\pastebutton{MultiSetXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{t1 := multiset [1,2,2,3]; [t1 < t, t1 < s, t < s, t1 <= s]\free{t s2 }} +\indentrel{3}\begin{verbatim} + (12) [false,true,false,true] + Type: List Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MultiSetXmpPageEmpty12} +\begin{paste}{MultiSetXmpPageEmpty12}{MultiSetXmpPagePatch12} +\pastebutton{MultiSetXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{t1 := multiset [1,2,2,3]; [t1 < t, t1 < s, t < s, t1 <= s]\free{t s2 }} +\end{paste}\end{patch} + @ \section{matrix.ht} \pagehead{MatrixXmpPage}{matrix.ht}{Matrix} @@ -15990,6 +42824,471 @@ reflection across the main diagonal. \autobuttons \end{page} +\begin{patch}{ugxMatrixCreatePagePatch1} +\begin{paste}{ugxMatrixCreatePageFull1}{ugxMatrixCreatePageEmpty1} +\pastebutton{ugxMatrixCreatePageFull1}{\hidepaste} +\tab{5}\spadcommand{m : Matrix(Integer) := new(3,3,0)\bound{m }} +\indentrel{3}\begin{verbatim} + Ú0 0 0¿ + ³ ³ + (1) ³0 0 0³ + ³ ³ + À0 0 0Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePageEmpty1} +\begin{paste}{ugxMatrixCreatePageEmpty1}{ugxMatrixCreatePagePatch1} +\pastebutton{ugxMatrixCreatePageEmpty1}{\showpaste} +\tab{5}\spadcommand{m : Matrix(Integer) := new(3,3,0)\bound{m }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePagePatch2} +\begin{paste}{ugxMatrixCreatePageFull2}{ugxMatrixCreatePageEmpty2} +\pastebutton{ugxMatrixCreatePageFull2}{\hidepaste} +\tab{5}\spadcommand{setelt(m,2,3,5)\free{m }\bound{m1 }} +\indentrel{3}\begin{verbatim} + (2) 5 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePageEmpty2} +\begin{paste}{ugxMatrixCreatePageEmpty2}{ugxMatrixCreatePagePatch2} +\pastebutton{ugxMatrixCreatePageEmpty2}{\showpaste} +\tab{5}\spadcommand{setelt(m,2,3,5)\free{m }\bound{m1 }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePagePatch3} +\begin{paste}{ugxMatrixCreatePageFull3}{ugxMatrixCreatePageEmpty3} +\pastebutton{ugxMatrixCreatePageFull3}{\hidepaste} +\tab{5}\spadcommand{m(1,2) := 10\free{m1 }\bound{m2 }} +\indentrel{3}\begin{verbatim} + (3) 10 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePageEmpty3} +\begin{paste}{ugxMatrixCreatePageEmpty3}{ugxMatrixCreatePagePatch3} +\pastebutton{ugxMatrixCreatePageEmpty3}{\showpaste} +\tab{5}\spadcommand{m(1,2) := 10\free{m1 }\bound{m2 }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePagePatch4} +\begin{paste}{ugxMatrixCreatePageFull4}{ugxMatrixCreatePageEmpty4} +\pastebutton{ugxMatrixCreatePageFull4}{\hidepaste} +\tab{5}\spadcommand{m\free{m2 }} +\indentrel{3}\begin{verbatim} + Ú0 10 0¿ + ³ ³ + (4) ³0 0 5³ + ³ ³ + À0 0 0Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePageEmpty4} +\begin{paste}{ugxMatrixCreatePageEmpty4}{ugxMatrixCreatePagePatch4} +\pastebutton{ugxMatrixCreatePageEmpty4}{\showpaste} +\tab{5}\spadcommand{m\free{m2 }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePagePatch5} +\begin{paste}{ugxMatrixCreatePageFull5}{ugxMatrixCreatePageEmpty5} +\pastebutton{ugxMatrixCreatePageFull5}{\hidepaste} +\tab{5}\spadcommand{matrix [[1,2,3,4],[0,9,8,7]]} +\indentrel{3}\begin{verbatim} + Ú1 2 3 4¿ + (5) ³ ³ + À0 9 8 7Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePageEmpty5} +\begin{paste}{ugxMatrixCreatePageEmpty5}{ugxMatrixCreatePagePatch5} +\pastebutton{ugxMatrixCreatePageEmpty5}{\showpaste} +\tab{5}\spadcommand{matrix [[1,2,3,4],[0,9,8,7]]} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePagePatch6} +\begin{paste}{ugxMatrixCreatePageFull6}{ugxMatrixCreatePageEmpty6} +\pastebutton{ugxMatrixCreatePageFull6}{\hidepaste} +\tab{5}\spadcommand{dm := diagonalMatrix [1,x**2,x**3,x**4,x**5]\bound{dm }} +\indentrel{3}\begin{verbatim} + Ú1 0 0 0 0 ¿ + ³ ³ + ³ 2 ³ + ³0 x 0 0 0 ³ + ³ ³ + ³ 3 ³ + (6) ³0 0 x 0 0 ³ + ³ ³ + ³ 4 ³ + ³0 0 0 x 0 ³ + ³ ³ + ³ 5³ + À0 0 0 0 x Ù + Type: Matrix Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePageEmpty6} +\begin{paste}{ugxMatrixCreatePageEmpty6}{ugxMatrixCreatePagePatch6} +\pastebutton{ugxMatrixCreatePageEmpty6}{\showpaste} +\tab{5}\spadcommand{dm := diagonalMatrix [1,x**2,x**3,x**4,x**5]\bound{dm }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePagePatch7} +\begin{paste}{ugxMatrixCreatePageFull7}{ugxMatrixCreatePageEmpty7} +\pastebutton{ugxMatrixCreatePageFull7}{\hidepaste} +\tab{5}\spadcommand{setRow!(dm,5,vector [1,1,1,1,1])\free{dm }\bound{dm1 }} +\indentrel{3}\begin{verbatim} + Ú1 0 0 0 0¿ + ³ ³ + ³ 2 ³ + ³0 x 0 0 0³ + ³ ³ + (7) ³ 3 ³ + ³0 0 x 0 0³ + ³ ³ + ³ 4 ³ + ³0 0 0 x 0³ + ³ ³ + À1 1 1 1 1Ù + Type: Matrix Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePageEmpty7} +\begin{paste}{ugxMatrixCreatePageEmpty7}{ugxMatrixCreatePagePatch7} +\pastebutton{ugxMatrixCreatePageEmpty7}{\showpaste} +\tab{5}\spadcommand{setRow!(dm,5,vector [1,1,1,1,1])\free{dm }\bound{dm1 }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePagePatch8} +\begin{paste}{ugxMatrixCreatePageFull8}{ugxMatrixCreatePageEmpty8} +\pastebutton{ugxMatrixCreatePageFull8}{\hidepaste} +\tab{5}\spadcommand{setColumn!(dm,2,vector [y,y,y,y,y])\free{dm1 }\bound{dm2 }} +\indentrel{3}\begin{verbatim} + Ú1 y 0 0 0¿ + ³ ³ + ³0 y 0 0 0³ + ³ ³ + ³ 3 ³ + (8) ³0 y x 0 0³ + ³ ³ + ³ 4 ³ + ³0 y 0 x 0³ + ³ ³ + À1 y 1 1 1Ù + Type: Matrix Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePageEmpty8} +\begin{paste}{ugxMatrixCreatePageEmpty8}{ugxMatrixCreatePagePatch8} +\pastebutton{ugxMatrixCreatePageEmpty8}{\showpaste} +\tab{5}\spadcommand{setColumn!(dm,2,vector [y,y,y,y,y])\free{dm1 }\bound{dm2 }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePagePatch9} +\begin{paste}{ugxMatrixCreatePageFull9}{ugxMatrixCreatePageEmpty9} +\pastebutton{ugxMatrixCreatePageFull9}{\hidepaste} +\tab{5}\spadcommand{cdm := copy(dm)\free{dm2 }\bound{cdm }} +\indentrel{3}\begin{verbatim} + Ú1 y 0 0 0¿ + ³ ³ + ³0 y 0 0 0³ + ³ ³ + ³ 3 ³ + (9) ³0 y x 0 0³ + ³ ³ + ³ 4 ³ + ³0 y 0 x 0³ + ³ ³ + À1 y 1 1 1Ù + Type: Matrix Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePageEmpty9} +\begin{paste}{ugxMatrixCreatePageEmpty9}{ugxMatrixCreatePagePatch9} +\pastebutton{ugxMatrixCreatePageEmpty9}{\showpaste} +\tab{5}\spadcommand{cdm := copy(dm)\free{dm2 }\bound{cdm }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePagePatch10} +\begin{paste}{ugxMatrixCreatePageFull10}{ugxMatrixCreatePageEmpty10} +\pastebutton{ugxMatrixCreatePageFull10}{\hidepaste} +\tab{5}\spadcommand{setelt(dm,4,1,1-x**7)\free{dm2 }\bound{setdm }} +\indentrel{3}\begin{verbatim} + 7 + (10) - x + 1 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePageEmpty10} +\begin{paste}{ugxMatrixCreatePageEmpty10}{ugxMatrixCreatePagePatch10} +\pastebutton{ugxMatrixCreatePageEmpty10}{\showpaste} +\tab{5}\spadcommand{setelt(dm,4,1,1-x**7)\free{dm2 }\bound{setdm }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePagePatch11} +\begin{paste}{ugxMatrixCreatePageFull11}{ugxMatrixCreatePageEmpty11} +\pastebutton{ugxMatrixCreatePageFull11}{\hidepaste} +\tab{5}\spadcommand{[dm,cdm]\free{setdm cdm }} +\indentrel{3}\begin{verbatim} + Ú 1 y 0 0 0¿ Ú1 y 0 0 0¿ + ³ ³ ³ ³ + ³ 0 y 0 0 0³ ³0 y 0 0 0³ + ³ ³ ³ ³ + ³ 3 ³ ³ 3 ³ + (11) [³ 0 y x 0 0³,³0 y x 0 0³] + ³ ³ ³ ³ + ³ 7 4 ³ ³ 4 ³ + ³- x + 1 y 0 x 0³ ³0 y 0 x 0³ + ³ ³ ³ ³ + À 1 y 1 1 1Ù À1 y 1 1 1Ù + Type: List Matrix Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePageEmpty11} +\begin{paste}{ugxMatrixCreatePageEmpty11}{ugxMatrixCreatePagePatch11} +\pastebutton{ugxMatrixCreatePageEmpty11}{\showpaste} +\tab{5}\spadcommand{[dm,cdm]\free{setdm cdm }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePagePatch12} +\begin{paste}{ugxMatrixCreatePageFull12}{ugxMatrixCreatePageEmpty12} +\pastebutton{ugxMatrixCreatePageFull12}{\hidepaste} +\tab{5}\spadcommand{subMatrix(dm,2,3,2,4)\free{setdm }} +\indentrel{3}\begin{verbatim} + Úy 0 0¿ + (12) ³ ³ + ³ 3 ³ + Ày x 0Ù + Type: Matrix Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePageEmpty12} +\begin{paste}{ugxMatrixCreatePageEmpty12}{ugxMatrixCreatePagePatch12} +\pastebutton{ugxMatrixCreatePageEmpty12}{\showpaste} +\tab{5}\spadcommand{subMatrix(dm,2,3,2,4)\free{setdm }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePagePatch13} +\begin{paste}{ugxMatrixCreatePageFull13}{ugxMatrixCreatePageEmpty13} +\pastebutton{ugxMatrixCreatePageFull13}{\hidepaste} +\tab{5}\spadcommand{d := diagonalMatrix [1.2,-1.3,1.4,-1.5]\bound{d }} +\indentrel{3}\begin{verbatim} + Ú1.2 0.0 0.0 0.0 ¿ + ³ ³ + ³0.0 - 1.3 0.0 0.0 ³ + (13) ³ ³ + ³0.0 0.0 1.4 0.0 ³ + ³ ³ + À0.0 0.0 0.0 - 1.5Ù + Type: Matrix Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePageEmpty13} +\begin{paste}{ugxMatrixCreatePageEmpty13}{ugxMatrixCreatePagePatch13} +\pastebutton{ugxMatrixCreatePageEmpty13}{\showpaste} +\tab{5}\spadcommand{d := diagonalMatrix [1.2,-1.3,1.4,-1.5]\bound{d }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePagePatch14} +\begin{paste}{ugxMatrixCreatePageFull14}{ugxMatrixCreatePageEmpty14} +\pastebutton{ugxMatrixCreatePageFull14}{\hidepaste} +\tab{5}\spadcommand{e := matrix [[6.7,9.11],[-31.33,67.19]]\bound{e }} +\indentrel{3}\begin{verbatim} + Ú 6.7 9.11 ¿ + (14) ³ ³ + À- 31.33 67.19Ù + Type: Matrix Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePageEmpty14} +\begin{paste}{ugxMatrixCreatePageEmpty14}{ugxMatrixCreatePagePatch14} +\pastebutton{ugxMatrixCreatePageEmpty14}{\showpaste} +\tab{5}\spadcommand{e := matrix [[6.7,9.11],[-31.33,67.19]]\bound{e }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePagePatch15} +\begin{paste}{ugxMatrixCreatePageFull15}{ugxMatrixCreatePageEmpty15} +\pastebutton{ugxMatrixCreatePageFull15}{\hidepaste} +\tab{5}\spadcommand{setsubMatrix!(d,1,2,e)\free{d e }\bound{d1 }} +\indentrel{3}\begin{verbatim} + Ú1.2 6.7 9.11 0.0 ¿ + ³ ³ + ³0.0 - 31.33 67.19 0.0 ³ + (15) ³ ³ + ³0.0 0.0 1.4 0.0 ³ + ³ ³ + À0.0 0.0 0.0 - 1.5Ù + Type: Matrix Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePageEmpty15} +\begin{paste}{ugxMatrixCreatePageEmpty15}{ugxMatrixCreatePagePatch15} +\pastebutton{ugxMatrixCreatePageEmpty15}{\showpaste} +\tab{5}\spadcommand{setsubMatrix!(d,1,2,e)\free{d e }\bound{d1 }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePagePatch16} +\begin{paste}{ugxMatrixCreatePageFull16}{ugxMatrixCreatePageEmpty16} +\pastebutton{ugxMatrixCreatePageFull16}{\hidepaste} +\tab{5}\spadcommand{d\free{d1 }} +\indentrel{3}\begin{verbatim} + Ú1.2 6.7 9.11 0.0 ¿ + ³ ³ + ³0.0 - 31.33 67.19 0.0 ³ + (16) ³ ³ + ³0.0 0.0 1.4 0.0 ³ + ³ ³ + À0.0 0.0 0.0 - 1.5Ù + Type: Matrix Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePageEmpty16} +\begin{paste}{ugxMatrixCreatePageEmpty16}{ugxMatrixCreatePagePatch16} +\pastebutton{ugxMatrixCreatePageEmpty16}{\showpaste} +\tab{5}\spadcommand{d\free{d1 }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePagePatch17} +\begin{paste}{ugxMatrixCreatePageFull17}{ugxMatrixCreatePageEmpty17} +\pastebutton{ugxMatrixCreatePageFull17}{\hidepaste} +\tab{5}\spadcommand{a := matrix [[1/2,1/3,1/4],[1/5,1/6,1/7]]\bound{a }} +\indentrel{3}\begin{verbatim} + Ú1 1 1¿ + ³Ä Ä Ä³ + ³2 3 4³ + (17) ³ ³ + ³1 1 1³ + ³Ä Ä Ä³ + À5 6 7Ù + Type: Matrix Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePageEmpty17} +\begin{paste}{ugxMatrixCreatePageEmpty17}{ugxMatrixCreatePagePatch17} +\pastebutton{ugxMatrixCreatePageEmpty17}{\showpaste} +\tab{5}\spadcommand{a := matrix [[1/2,1/3,1/4],[1/5,1/6,1/7]]\bound{a }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePagePatch18} +\begin{paste}{ugxMatrixCreatePageFull18}{ugxMatrixCreatePageEmpty18} +\pastebutton{ugxMatrixCreatePageFull18}{\hidepaste} +\tab{5}\spadcommand{b := matrix [[3/5,3/7,3/11],[3/13,3/17,3/19]]\bound{b }} +\indentrel{3}\begin{verbatim} + Ú3 3 3¿ + ³Ä Ä Äij + ³5 7 11³ + (18) ³ ³ + ³ 3 3 3³ + ³ÄÄ ÄÄ Äij + À13 17 19Ù + Type: Matrix Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePageEmpty18} +\begin{paste}{ugxMatrixCreatePageEmpty18}{ugxMatrixCreatePagePatch18} +\pastebutton{ugxMatrixCreatePageEmpty18}{\showpaste} +\tab{5}\spadcommand{b := matrix [[3/5,3/7,3/11],[3/13,3/17,3/19]]\bound{b }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePagePatch19} +\begin{paste}{ugxMatrixCreatePageFull19}{ugxMatrixCreatePageEmpty19} +\pastebutton{ugxMatrixCreatePageFull19}{\hidepaste} +\tab{5}\spadcommand{horizConcat(a,b)\free{a b }} +\indentrel{3}\begin{verbatim} + Ú1 1 1 3 3 3¿ + ³Ä Ä Ä Ä Ä Äij + ³2 3 4 5 7 11³ + (19) ³ ³ + ³1 1 1 3 3 3³ + ³Ä Ä Ä ÄÄ ÄÄ Äij + À5 6 7 13 17 19Ù + Type: Matrix Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePageEmpty19} +\begin{paste}{ugxMatrixCreatePageEmpty19}{ugxMatrixCreatePagePatch19} +\pastebutton{ugxMatrixCreatePageEmpty19}{\showpaste} +\tab{5}\spadcommand{horizConcat(a,b)\free{a b }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePagePatch20} +\begin{paste}{ugxMatrixCreatePageFull20}{ugxMatrixCreatePageEmpty20} +\pastebutton{ugxMatrixCreatePageFull20}{\hidepaste} +\tab{5}\spadcommand{vab := vertConcat(a,b)\free{a b }\bound{vab }} +\indentrel{3}\begin{verbatim} + Ú1 1 1 ¿ + ³Ä Ä Ä ³ + ³2 3 4 ³ + ³ ³ + ³1 1 1 ³ + ³Ä Ä Ä ³ + ³5 6 7 ³ + (20) ³ ³ + ³3 3 3³ + ³Ä Ä Äij + ³5 7 11³ + ³ ³ + ³ 3 3 3³ + ³ÄÄ ÄÄ Äij + À13 17 19Ù + Type: Matrix Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePageEmpty20} +\begin{paste}{ugxMatrixCreatePageEmpty20}{ugxMatrixCreatePagePatch20} +\pastebutton{ugxMatrixCreatePageEmpty20}{\showpaste} +\tab{5}\spadcommand{vab := vertConcat(a,b)\free{a b }\bound{vab }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePagePatch21} +\begin{paste}{ugxMatrixCreatePageFull21}{ugxMatrixCreatePageEmpty21} +\pastebutton{ugxMatrixCreatePageFull21}{\hidepaste} +\tab{5}\spadcommand{transpose vab\free{vab }} +\indentrel{3}\begin{verbatim} + Ú1 1 3 3¿ + ³Ä Ä Ä Äij + ³2 5 5 13³ + ³ ³ + ³1 1 3 3³ + (21) ³Ä Ä Ä Äij + ³3 6 7 17³ + ³ ³ + ³1 1 3 3³ + ³Ä Ä ÄÄ Äij + À4 7 11 19Ù + Type: Matrix Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixCreatePageEmpty21} +\begin{paste}{ugxMatrixCreatePageEmpty21}{ugxMatrixCreatePagePatch21} +\pastebutton{ugxMatrixCreatePageEmpty21}{\showpaste} +\tab{5}\spadcommand{transpose vab\free{vab }} +\end{paste}\end{patch} + @ \pagehead{ugxMatrixOpsPage}{matrix.ht}{Operations on Matrices} \pageto{notitle}{ugIntroTwoDimPage} @@ -16145,6 +43444,312 @@ Section 1.7\ignore{ugIntroTwoDim}, \autobuttons \end{page} +\begin{patch}{ugxMatrixOpsPagePatch1} +\begin{paste}{ugxMatrixOpsPageFull1}{ugxMatrixOpsPageEmpty1} +\pastebutton{ugxMatrixOpsPageFull1}{\hidepaste} +\tab{5}\spadcommand{m := matrix [[1,2],[3,4]]\bound{m }} +\indentrel{3}\begin{verbatim} + Ú1 2¿ + (1) ³ ³ + À3 4Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPageEmpty1} +\begin{paste}{ugxMatrixOpsPageEmpty1}{ugxMatrixOpsPagePatch1} +\pastebutton{ugxMatrixOpsPageEmpty1}{\showpaste} +\tab{5}\spadcommand{m := matrix [[1,2],[3,4]]\bound{m }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPagePatch2} +\begin{paste}{ugxMatrixOpsPageFull2}{ugxMatrixOpsPageEmpty2} +\pastebutton{ugxMatrixOpsPageFull2}{\hidepaste} +\tab{5}\spadcommand{4 * m * (-5)\free{m }} +\indentrel{3}\begin{verbatim} + Ú- 20 - 40¿ + (2) ³ ³ + À- 60 - 80Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPageEmpty2} +\begin{paste}{ugxMatrixOpsPageEmpty2}{ugxMatrixOpsPagePatch2} +\pastebutton{ugxMatrixOpsPageEmpty2}{\showpaste} +\tab{5}\spadcommand{4 * m * (-5)\free{m }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPagePatch3} +\begin{paste}{ugxMatrixOpsPageFull3}{ugxMatrixOpsPageEmpty3} +\pastebutton{ugxMatrixOpsPageFull3}{\hidepaste} +\tab{5}\spadcommand{n := matrix([[1,0,-2],[-3,5,1]])\bound{n }} +\indentrel{3}\begin{verbatim} + Ú 1 0 - 2¿ + (3) ³ ³ + À- 3 5 1 Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPageEmpty3} +\begin{paste}{ugxMatrixOpsPageEmpty3}{ugxMatrixOpsPagePatch3} +\pastebutton{ugxMatrixOpsPageEmpty3}{\showpaste} +\tab{5}\spadcommand{n := matrix([[1,0,-2],[-3,5,1]])\bound{n }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPagePatch4} +\begin{paste}{ugxMatrixOpsPageFull4}{ugxMatrixOpsPageEmpty4} +\pastebutton{ugxMatrixOpsPageFull4}{\hidepaste} +\tab{5}\spadcommand{m * n\free{m n }} +\indentrel{3}\begin{verbatim} + Ú- 5 10 0 ¿ + (4) ³ ³ + À- 9 20 - 2Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPageEmpty4} +\begin{paste}{ugxMatrixOpsPageEmpty4}{ugxMatrixOpsPagePatch4} +\pastebutton{ugxMatrixOpsPageEmpty4}{\showpaste} +\tab{5}\spadcommand{m * n\free{m n }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPagePatch5} +\begin{paste}{ugxMatrixOpsPageFull5}{ugxMatrixOpsPageEmpty5} +\pastebutton{ugxMatrixOpsPageFull5}{\hidepaste} +\tab{5}\spadcommand{vec := column(n,3)\free{n }\bound{vec }} +\indentrel{3}\begin{verbatim} + (5) [- 2,1] + Type: Vector Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPageEmpty5} +\begin{paste}{ugxMatrixOpsPageEmpty5}{ugxMatrixOpsPagePatch5} +\pastebutton{ugxMatrixOpsPageEmpty5}{\showpaste} +\tab{5}\spadcommand{vec := column(n,3)\free{n }\bound{vec }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPagePatch6} +\begin{paste}{ugxMatrixOpsPageFull6}{ugxMatrixOpsPageEmpty6} +\pastebutton{ugxMatrixOpsPageFull6}{\hidepaste} +\tab{5}\spadcommand{vec * m\free{vec m }} +\indentrel{3}\begin{verbatim} + (6) [1,0] + Type: Vector Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPageEmpty6} +\begin{paste}{ugxMatrixOpsPageEmpty6}{ugxMatrixOpsPagePatch6} +\pastebutton{ugxMatrixOpsPageEmpty6}{\showpaste} +\tab{5}\spadcommand{vec * m\free{vec m }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPagePatch7} +\begin{paste}{ugxMatrixOpsPageFull7}{ugxMatrixOpsPageEmpty7} +\pastebutton{ugxMatrixOpsPageFull7}{\hidepaste} +\tab{5}\spadcommand{m * vec\free{vec m }} +\indentrel{3}\begin{verbatim} + (7) [0,- 2] + Type: Vector Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPageEmpty7} +\begin{paste}{ugxMatrixOpsPageEmpty7}{ugxMatrixOpsPagePatch7} +\pastebutton{ugxMatrixOpsPageEmpty7}{\showpaste} +\tab{5}\spadcommand{m * vec\free{vec m }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPagePatch8} +\begin{paste}{ugxMatrixOpsPageFull8}{ugxMatrixOpsPageEmpty8} +\pastebutton{ugxMatrixOpsPageFull8}{\hidepaste} +\tab{5}\spadcommand{hilb := matrix([[1/(i + j) for i in 1..3] for j in 1..3])\bound{hilb }} +\indentrel{3}\begin{verbatim} + Ú1 1 1¿ + ³Ä Ä Ä³ + ³2 3 4³ + ³ ³ + ³1 1 1³ + (8) ³Ä Ä Ä³ + ³3 4 5³ + ³ ³ + ³1 1 1³ + ³Ä Ä Ä³ + À4 5 6Ù + Type: Matrix Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPageEmpty8} +\begin{paste}{ugxMatrixOpsPageEmpty8}{ugxMatrixOpsPagePatch8} +\pastebutton{ugxMatrixOpsPageEmpty8}{\showpaste} +\tab{5}\spadcommand{hilb := matrix([[1/(i + j) for i in 1..3] for j in 1..3])\bound{hilb }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPagePatch9} +\begin{paste}{ugxMatrixOpsPageFull9}{ugxMatrixOpsPageEmpty9} +\pastebutton{ugxMatrixOpsPageFull9}{\hidepaste} +\tab{5}\spadcommand{inverse(hilb)\free{hilb }} +\indentrel{3}\begin{verbatim} + Ú 72 - 240 180 ¿ + ³ ³ + (9) ³- 240 900 - 720³ + ³ ³ + À 180 - 720 600 Ù + Type: Union(Matrix Fraction Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPageEmpty9} +\begin{paste}{ugxMatrixOpsPageEmpty9}{ugxMatrixOpsPagePatch9} +\pastebutton{ugxMatrixOpsPageEmpty9}{\showpaste} +\tab{5}\spadcommand{inverse(hilb)\free{hilb }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPagePatch10} +\begin{paste}{ugxMatrixOpsPageFull10}{ugxMatrixOpsPageEmpty10} +\pastebutton{ugxMatrixOpsPageFull10}{\hidepaste} +\tab{5}\spadcommand{mm := matrix([[1,2,3,4], [5,6,7,8], [9,10,11,12], [13,14,15,16]])\bound{mm }} +\indentrel{3}\begin{verbatim} + Ú1 2 3 4 ¿ + ³ ³ + ³5 6 7 8 ³ + (10) ³ ³ + ³9 10 11 12³ + ³ ³ + À13 14 15 16Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPageEmpty10} +\begin{paste}{ugxMatrixOpsPageEmpty10}{ugxMatrixOpsPagePatch10} +\pastebutton{ugxMatrixOpsPageEmpty10}{\showpaste} +\tab{5}\spadcommand{mm := matrix([[1,2,3,4], [5,6,7,8], [9,10,11,12], [13,14,15,16]])\bound{mm }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPagePatch11} +\begin{paste}{ugxMatrixOpsPageFull11}{ugxMatrixOpsPageEmpty11} +\pastebutton{ugxMatrixOpsPageFull11}{\hidepaste} +\tab{5}\spadcommand{inverse(mm)\free{mm }} +\indentrel{3}\begin{verbatim} + (11) "failed" + Type: Union("failed",...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPageEmpty11} +\begin{paste}{ugxMatrixOpsPageEmpty11}{ugxMatrixOpsPagePatch11} +\pastebutton{ugxMatrixOpsPageEmpty11}{\showpaste} +\tab{5}\spadcommand{inverse(mm)\free{mm }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPagePatch12} +\begin{paste}{ugxMatrixOpsPageFull12}{ugxMatrixOpsPageEmpty12} +\pastebutton{ugxMatrixOpsPageFull12}{\hidepaste} +\tab{5}\spadcommand{determinant(mm)\free{mm }} +\indentrel{3}\begin{verbatim} + (12) 0 + Type: NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPageEmpty12} +\begin{paste}{ugxMatrixOpsPageEmpty12}{ugxMatrixOpsPagePatch12} +\pastebutton{ugxMatrixOpsPageEmpty12}{\showpaste} +\tab{5}\spadcommand{determinant(mm)\free{mm }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPagePatch13} +\begin{paste}{ugxMatrixOpsPageFull13}{ugxMatrixOpsPageEmpty13} +\pastebutton{ugxMatrixOpsPageFull13}{\hidepaste} +\tab{5}\spadcommand{trace(mm)\free{mm }} +\indentrel{3}\begin{verbatim} + (13) 34 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPageEmpty13} +\begin{paste}{ugxMatrixOpsPageEmpty13}{ugxMatrixOpsPagePatch13} +\pastebutton{ugxMatrixOpsPageEmpty13}{\showpaste} +\tab{5}\spadcommand{trace(mm)\free{mm }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPagePatch14} +\begin{paste}{ugxMatrixOpsPageFull14}{ugxMatrixOpsPageEmpty14} +\pastebutton{ugxMatrixOpsPageFull14}{\hidepaste} +\tab{5}\spadcommand{rank(mm)\free{mm }} +\indentrel{3}\begin{verbatim} + (14) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPageEmpty14} +\begin{paste}{ugxMatrixOpsPageEmpty14}{ugxMatrixOpsPagePatch14} +\pastebutton{ugxMatrixOpsPageEmpty14}{\showpaste} +\tab{5}\spadcommand{rank(mm)\free{mm }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPagePatch15} +\begin{paste}{ugxMatrixOpsPageFull15}{ugxMatrixOpsPageEmpty15} +\pastebutton{ugxMatrixOpsPageFull15}{\hidepaste} +\tab{5}\spadcommand{nullity(mm)\free{mm }} +\indentrel{3}\begin{verbatim} + (15) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPageEmpty15} +\begin{paste}{ugxMatrixOpsPageEmpty15}{ugxMatrixOpsPagePatch15} +\pastebutton{ugxMatrixOpsPageEmpty15}{\showpaste} +\tab{5}\spadcommand{nullity(mm)\free{mm }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPagePatch16} +\begin{paste}{ugxMatrixOpsPageFull16}{ugxMatrixOpsPageEmpty16} +\pastebutton{ugxMatrixOpsPageFull16}{\hidepaste} +\tab{5}\spadcommand{nullSpace(mm)\free{mm }} +\indentrel{3}\begin{verbatim} + (16) [[1,- 2,1,0],[2,- 3,0,1]] + Type: List Vector Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPageEmpty16} +\begin{paste}{ugxMatrixOpsPageEmpty16}{ugxMatrixOpsPagePatch16} +\pastebutton{ugxMatrixOpsPageEmpty16}{\showpaste} +\tab{5}\spadcommand{nullSpace(mm)\free{mm }} +\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPagePatch17} +\begin{paste}{ugxMatrixOpsPageFull17}{ugxMatrixOpsPageEmpty17} +\pastebutton{ugxMatrixOpsPageFull17}{\hidepaste} +\tab{5}\spadcommand{rowEchelon(mm)\free{mm }} +\indentrel{3}\begin{verbatim} + Ú1 2 3 4 ¿ + ³ ³ + ³0 4 8 12³ + (17) ³ ³ + ³0 0 0 0 ³ + ³ ³ + À0 0 0 0 Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxMatrixOpsPageEmpty17} +\begin{paste}{ugxMatrixOpsPageEmpty17}{ugxMatrixOpsPagePatch17} +\pastebutton{ugxMatrixOpsPageEmpty17}{\showpaste} +\tab{5}\spadcommand{rowEchelon(mm)\free{mm }} +\end{paste}\end{patch} + @ \section{mkfunc.ht} \pagehead{MakeFunctionXmpPage}{mkfunc.ht}{MakeFunction} @@ -16232,6 +43837,177 @@ in Section 6.14\ignore{ugUserMake}. \autobuttons \end{page} +\begin{patch}{MakeFunctionXmpPagePatch1} +\begin{paste}{MakeFunctionXmpPageFull1}{MakeFunctionXmpPageEmpty1} +\pastebutton{MakeFunctionXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{expr := (x - exp x + 1)**2 * (sin(x**2) * x + 1)**3\bound{expr }} +\indentrel{3}\begin{verbatim} + (1) + 3 x 2 4 3 x 5 4 3 2 3 + (x (%e ) + (- 2x - 2x )%e + x + 2x + x )sin(x ) + + + 2 x 2 3 2 x 4 3 2 + (3x (%e ) + (- 6x - 6x )%e + 3x + 6x + 3x ) + * + 2 2 + sin(x ) + + + x 2 2 x 3 2 2 + (3x (%e ) + (- 6x - 6x)%e + 3x + 6x + 3x)sin(x ) + + + x 2 x 2 + (%e ) + (- 2x - 2)%e + x + 2x + 1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MakeFunctionXmpPageEmpty1} +\begin{paste}{MakeFunctionXmpPageEmpty1}{MakeFunctionXmpPagePatch1} +\pastebutton{MakeFunctionXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{expr := (x - exp x + 1)**2 * (sin(x**2) * x + 1)**3\bound{expr }} +\end{paste}\end{patch} + +\begin{patch}{MakeFunctionXmpPagePatch2} +\begin{paste}{MakeFunctionXmpPageFull2}{MakeFunctionXmpPageEmpty2} +\pastebutton{MakeFunctionXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{function(expr, f, x)\bound{f }\free{expr }} +\indentrel{3}\begin{verbatim} + (2) f + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MakeFunctionXmpPageEmpty2} +\begin{paste}{MakeFunctionXmpPageEmpty2}{MakeFunctionXmpPagePatch2} +\pastebutton{MakeFunctionXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{function(expr, f, x)\bound{f }\free{expr }} +\end{paste}\end{patch} + +\begin{patch}{MakeFunctionXmpPagePatch3} +\begin{paste}{MakeFunctionXmpPageFull3}{MakeFunctionXmpPageEmpty3} +\pastebutton{MakeFunctionXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{tbl := [f(0.1 * i - 1) for i in 0..20];\free{f }\bound{tbl }} +\indentrel{3}\begin{verbatim} + Type: List Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MakeFunctionXmpPageEmpty3} +\begin{paste}{MakeFunctionXmpPageEmpty3}{MakeFunctionXmpPagePatch3} +\pastebutton{MakeFunctionXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{tbl := [f(0.1 * i - 1) for i in 0..20];\free{f }\bound{tbl }} +\end{paste}\end{patch} + +\begin{patch}{MakeFunctionXmpPagePatch4} +\begin{paste}{MakeFunctionXmpPageFull4}{MakeFunctionXmpPageEmpty4} +\pastebutton{MakeFunctionXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{e := (x - y + 1)**2 * (x**2 * y + 1)**2\bound{e }} +\indentrel{3}\begin{verbatim} + (4) + 4 4 5 4 2 3 + x y + (- 2x - 2x + 2x )y + + + 6 5 4 3 2 2 + (x + 2x + x - 4x - 4x + 1)y + + + 4 3 2 2 + (2x + 4x + 2x - 2x - 2)y + x + 2x + 1 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MakeFunctionXmpPageEmpty4} +\begin{paste}{MakeFunctionXmpPageEmpty4}{MakeFunctionXmpPagePatch4} +\pastebutton{MakeFunctionXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{e := (x - y + 1)**2 * (x**2 * y + 1)**2\bound{e }} +\end{paste}\end{patch} + +\begin{patch}{MakeFunctionXmpPagePatch5} +\begin{paste}{MakeFunctionXmpPageFull5}{MakeFunctionXmpPageEmpty5} +\pastebutton{MakeFunctionXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{function(e, g, [x, y])\free{e }} +\indentrel{3}\begin{verbatim} + (5) g + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MakeFunctionXmpPageEmpty5} +\begin{paste}{MakeFunctionXmpPageEmpty5}{MakeFunctionXmpPagePatch5} +\pastebutton{MakeFunctionXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{function(e, g, [x, y])\free{e }} +\end{paste}\end{patch} + +\begin{patch}{MakeFunctionXmpPagePatch6} +\begin{paste}{MakeFunctionXmpPageFull6}{MakeFunctionXmpPageEmpty6} +\pastebutton{MakeFunctionXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{function(e, h, x, y)\free{e }\bound{h }} +\indentrel{3}\begin{verbatim} + (6) h + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MakeFunctionXmpPageEmpty6} +\begin{paste}{MakeFunctionXmpPageEmpty6}{MakeFunctionXmpPagePatch6} +\pastebutton{MakeFunctionXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{function(e, h, x, y)\free{e }\bound{h }} +\end{paste}\end{patch} + +\begin{patch}{MakeFunctionXmpPagePatch7} +\begin{paste}{MakeFunctionXmpPageFull7}{MakeFunctionXmpPageEmpty7} +\pastebutton{MakeFunctionXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{m1 := squareMatrix [[1, 2], [3, 4]]\bound{m1 }} +\indentrel{3}\begin{verbatim} + Ú1 2¿ + (7) ³ ³ + À3 4Ù + Type: SquareMatrix(2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MakeFunctionXmpPageEmpty7} +\begin{paste}{MakeFunctionXmpPageEmpty7}{MakeFunctionXmpPagePatch7} +\pastebutton{MakeFunctionXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{m1 := squareMatrix [[1, 2], [3, 4]]\bound{m1 }} +\end{paste}\end{patch} + +\begin{patch}{MakeFunctionXmpPagePatch8} +\begin{paste}{MakeFunctionXmpPageFull8}{MakeFunctionXmpPageEmpty8} +\pastebutton{MakeFunctionXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{m2 := squareMatrix [[1, 0], [-1, 1]]\bound{m2 }} +\indentrel{3}\begin{verbatim} + Ú 1 0¿ + (8) ³ ³ + À- 1 1Ù + Type: SquareMatrix(2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MakeFunctionXmpPageEmpty8} +\begin{paste}{MakeFunctionXmpPageEmpty8}{MakeFunctionXmpPagePatch8} +\pastebutton{MakeFunctionXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{m2 := squareMatrix [[1, 0], [-1, 1]]\bound{m2 }} +\end{paste}\end{patch} + +\begin{patch}{MakeFunctionXmpPagePatch9} +\begin{paste}{MakeFunctionXmpPageFull9}{MakeFunctionXmpPageEmpty9} +\pastebutton{MakeFunctionXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{h(m1, m2)\free{h m1 m2 }} +\indentrel{3}\begin{verbatim} + Ú- 7836 8960 ¿ + (9) ³ ³ + À- 17132 19588Ù + Type: SquareMatrix(2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MakeFunctionXmpPageEmpty9} +\begin{paste}{MakeFunctionXmpPageEmpty9}{MakeFunctionXmpPagePatch9} +\pastebutton{MakeFunctionXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{h(m1, m2)\free{h m1 m2 }} +\end{paste}\end{patch} + @ \section{mpoly.ht} \pagehead{MultivariatePolyXmpPage}{mpoly.ht} @@ -16345,6 +44121,196 @@ For more information on related topics, see \autobuttons \end{page} +\begin{patch}{MultivariatePolyXmpPagePatch1} +\begin{paste}{MultivariatePolyXmpPageFull1}{MultivariatePolyXmpPageEmpty1} +\pastebutton{MultivariatePolyXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{m : MPOLY([x,y],INT) := (x**2 - x*y**3 +3*y)**2\bound{m }} +\indentrel{3}\begin{verbatim} + 4 3 3 6 2 4 2 + (1) x - 2y x + (y + 6y)x - 6y x + 9y + Type: MultivariatePolynomial([x,y],Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MultivariatePolyXmpPageEmpty1} +\begin{paste}{MultivariatePolyXmpPageEmpty1}{MultivariatePolyXmpPagePatch1} +\pastebutton{MultivariatePolyXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{m : MPOLY([x,y],INT) := (x**2 - x*y**3 +3*y)**2\bound{m }} +\end{paste}\end{patch} + +\begin{patch}{MultivariatePolyXmpPagePatch2} +\begin{paste}{MultivariatePolyXmpPageFull2}{MultivariatePolyXmpPageEmpty2} +\pastebutton{MultivariatePolyXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{m :: MPOLY([y,x],INT)\free{m }} +\indentrel{3}\begin{verbatim} + 2 6 4 3 3 2 2 4 + (2) x y - 6x y - 2x y + 9y + 6x y + x + Type: MultivariatePolynomial([y,x],Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MultivariatePolyXmpPageEmpty2} +\begin{paste}{MultivariatePolyXmpPageEmpty2}{MultivariatePolyXmpPagePatch2} +\pastebutton{MultivariatePolyXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{m :: MPOLY([y,x],INT)\free{m }} +\end{paste}\end{patch} + +\begin{patch}{MultivariatePolyXmpPagePatch3} +\begin{paste}{MultivariatePolyXmpPageFull3}{MultivariatePolyXmpPageEmpty3} +\pastebutton{MultivariatePolyXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{p : MPOLY([x,y],POLY INT)\bound{pdec }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MultivariatePolyXmpPageEmpty3} +\begin{paste}{MultivariatePolyXmpPageEmpty3}{MultivariatePolyXmpPagePatch3} +\pastebutton{MultivariatePolyXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{p : MPOLY([x,y],POLY INT)\bound{pdec }} +\end{paste}\end{patch} + +\begin{patch}{MultivariatePolyXmpPagePatch4} +\begin{paste}{MultivariatePolyXmpPageFull4}{MultivariatePolyXmpPageEmpty4} +\pastebutton{MultivariatePolyXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{p := (a**2*x - b*y**2 + 1)**2\free{pdec }\bound{p }} +\indentrel{3}\begin{verbatim} + 4 2 2 2 2 2 4 2 + (4) a x + (- 2a b y + 2a )x + b y - 2b y + 1 + Type: MultivariatePolynomial([x,y],Polynomial Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MultivariatePolyXmpPageEmpty4} +\begin{paste}{MultivariatePolyXmpPageEmpty4}{MultivariatePolyXmpPagePatch4} +\pastebutton{MultivariatePolyXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{p := (a**2*x - b*y**2 + 1)**2\free{pdec }\bound{p }} +\end{paste}\end{patch} + +\begin{patch}{MultivariatePolyXmpPagePatch5} +\begin{paste}{MultivariatePolyXmpPageFull5}{MultivariatePolyXmpPageEmpty5} +\pastebutton{MultivariatePolyXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{p :: POLY INT\free{p }\bound{prev }} +\indentrel{3}\begin{verbatim} + 2 4 2 2 4 2 2 + (5) b y + (- 2a b x - 2b)y + a x + 2a x + 1 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MultivariatePolyXmpPageEmpty5} +\begin{paste}{MultivariatePolyXmpPageEmpty5}{MultivariatePolyXmpPagePatch5} +\pastebutton{MultivariatePolyXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{p :: POLY INT\free{p }\bound{prev }} +\end{paste}\end{patch} + +\begin{patch}{MultivariatePolyXmpPagePatch6} +\begin{paste}{MultivariatePolyXmpPageFull6}{MultivariatePolyXmpPageEmpty6} +\pastebutton{MultivariatePolyXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{\% :: MPOLY([a,b],POLY INT)\free{prev }} +\indentrel{3}\begin{verbatim} + 2 4 2 2 4 2 2 + (6) x a + (- 2x y b + 2x)a + y b - 2y b + 1 + Type: MultivariatePolynomial([a,b],Polynomial Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MultivariatePolyXmpPageEmpty6} +\begin{paste}{MultivariatePolyXmpPageEmpty6}{MultivariatePolyXmpPagePatch6} +\pastebutton{MultivariatePolyXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{\% :: MPOLY([a,b],POLY INT)\free{prev }} +\end{paste}\end{patch} + +\begin{patch}{MultivariatePolyXmpPagePatch7} +\begin{paste}{MultivariatePolyXmpPageFull7}{MultivariatePolyXmpPageEmpty7} +\pastebutton{MultivariatePolyXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{q : UP(x, FRAC MPOLY([y,z],INT))\bound{qdec }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MultivariatePolyXmpPageEmpty7} +\begin{paste}{MultivariatePolyXmpPageEmpty7}{MultivariatePolyXmpPagePatch7} +\pastebutton{MultivariatePolyXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{q : UP(x, FRAC MPOLY([y,z],INT))\bound{qdec }} +\end{paste}\end{patch} + +\begin{patch}{MultivariatePolyXmpPagePatch8} +\begin{paste}{MultivariatePolyXmpPageFull8}{MultivariatePolyXmpPageEmpty8} +\pastebutton{MultivariatePolyXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{q := (x**2 - x*(z+1)/y +2)**2\free{qdec }\bound{q }} +\indentrel{3}\begin{verbatim} + (8) + 2 2 + 4 - 2z - 2 3 4y + z + 2z + 1 2 - 4z - 4 + x + ÄÄÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄÄ x + y 2 y + y + + + 4 +Type: UnivariatePolynomial(x,Fraction MultivariatePolynomial([y,z],Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MultivariatePolyXmpPageEmpty8} +\begin{paste}{MultivariatePolyXmpPageEmpty8}{MultivariatePolyXmpPagePatch8} +\pastebutton{MultivariatePolyXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{q := (x**2 - x*(z+1)/y +2)**2\free{qdec }\bound{q }} +\end{paste}\end{patch} + +\begin{patch}{MultivariatePolyXmpPagePatch9} +\begin{paste}{MultivariatePolyXmpPageFull9}{MultivariatePolyXmpPageEmpty9} +\pastebutton{MultivariatePolyXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{q :: UP(z, FRAC MPOLY([x,y],INT))\free{q }} +\indentrel{3}\begin{verbatim} + (9) + 2 3 2 + x 2 - 2y x + 2x - 4y x + ÄÄ z + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ z + 2 2 + y y + + + 2 4 3 2 2 2 + y x - 2y x + (4y + 1)x - 4y x + 4y + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 2 + y +Type: UnivariatePolynomial(z,Fraction MultivariatePolynomial([x,y],Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MultivariatePolyXmpPageEmpty9} +\begin{paste}{MultivariatePolyXmpPageEmpty9}{MultivariatePolyXmpPagePatch9} +\pastebutton{MultivariatePolyXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{q :: UP(z, FRAC MPOLY([x,y],INT))\free{q }} +\end{paste}\end{patch} + +\begin{patch}{MultivariatePolyXmpPagePatch10} +\begin{paste}{MultivariatePolyXmpPageFull10}{MultivariatePolyXmpPageEmpty10} +\pastebutton{MultivariatePolyXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{q :: MPOLY([x,z], FRAC UP(y,INT))\free{q }} +\indentrel{3}\begin{verbatim} + (10) + 2 + 4 2 2 3 1 2 2 4y + 1 2 + x + (- Ä z - Ä)x + (ÄÄ z + ÄÄ z + ÄÄÄÄÄÄÄ)x + y y 2 2 2 + y y y + + + 4 4 + (- Ä z - Ä)x + 4 + y y +Type: MultivariatePolynomial([x,z],Fraction UnivariatePolynomial(y,Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{MultivariatePolyXmpPageEmpty10} +\begin{paste}{MultivariatePolyXmpPageEmpty10}{MultivariatePolyXmpPagePatch10} +\pastebutton{MultivariatePolyXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{q :: MPOLY([x,z], FRAC UP(y,INT))\free{q }} +\end{paste}\end{patch} + @ \section{newuser.ht} \pagehead{NoMoreHelpPage}{newuser.ht}{No More Help :-(} @@ -16398,6 +44364,54 @@ type directly, such as \spadtype{List NonNegativeInteger}, do it this way. \autobuttons \end{page} +\begin{patch}{NoneXmpPagePatch1} +\begin{paste}{NoneXmpPageFull1}{NoneXmpPageEmpty1} +\pastebutton{NoneXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{[]} +\indentrel{3}\begin{verbatim} + (1) [] + Type: List None +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{NoneXmpPageEmpty1} +\begin{paste}{NoneXmpPageEmpty1}{NoneXmpPagePatch1} +\pastebutton{NoneXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{[]} +\end{paste}\end{patch} + +\begin{patch}{NoneXmpPagePatch2} +\begin{paste}{NoneXmpPageFull2}{NoneXmpPageEmpty2} +\pastebutton{NoneXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{[] :: List Float} +\indentrel{3}\begin{verbatim} + (2) [] + Type: List Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{NoneXmpPageEmpty2} +\begin{paste}{NoneXmpPageEmpty2}{NoneXmpPagePatch2} +\pastebutton{NoneXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{[] :: List Float} +\end{paste}\end{patch} + +\begin{patch}{NoneXmpPagePatch3} +\begin{paste}{NoneXmpPageFull3}{NoneXmpPageEmpty3} +\pastebutton{NoneXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{[]$List(NonNegativeInteger)} +\indentrel{3}\begin{verbatim} + (3) [] + Type: List NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{NoneXmpPageEmpty3} +\begin{paste}{NoneXmpPageEmpty3}{NoneXmpPagePatch3} +\pastebutton{NoneXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{[]$List(NonNegativeInteger)} +\end{paste}\end{patch} + @ \section{numbers.ht} \pagehead{NumberPage}{numbers.ht}{Axiom Number Types} @@ -16495,6 +44509,81 @@ Quotients over an arbitrary integral domain \autobuttons \end{page} +\begin{patch}{FractionPagePatch1} +\begin{paste}{FractionPageFull1}{FractionPageEmpty1} +\pastebutton{FractionPageFull1}{\hidepaste} +\tab{5}\spadcommand{1/4 - 1/5} +\indentrel{3}\begin{verbatim} + 1 + (1) ÄÄ + 20 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FractionPageEmpty1} +\begin{paste}{FractionPageEmpty1}{FractionPagePatch1} +\pastebutton{FractionPageEmpty1}{\showpaste} +\tab{5}\spadcommand{1/4 - 1/5} +\end{paste}\end{patch} + +\begin{patch}{FractionPagePatch2} +\begin{paste}{FractionPageFull2}{FractionPageEmpty2} +\pastebutton{FractionPageFull2}{\hidepaste} +\tab{5}\spadcommand{f := (x**2 + 1)/(x - 1)\bound{f }} +\indentrel{3}\begin{verbatim} + 2 + x + 1 + (2) ÄÄÄÄÄÄ + x - 1 + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FractionPageEmpty2} +\begin{paste}{FractionPageEmpty2}{FractionPagePatch2} +\pastebutton{FractionPageEmpty2}{\showpaste} +\tab{5}\spadcommand{f := (x**2 + 1)/(x - 1)\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{FractionPagePatch3} +\begin{paste}{FractionPageFull3}{FractionPageEmpty3} +\pastebutton{FractionPageFull3}{\hidepaste} +\tab{5}\spadcommand{g := (x**2 - 3*x + 2)/(x + 2)\bound{g }} +\indentrel{3}\begin{verbatim} + 2 + x - 3x + 2 + (3) ÄÄÄÄÄÄÄÄÄÄÄ + x + 2 + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FractionPageEmpty3} +\begin{paste}{FractionPageEmpty3}{FractionPagePatch3} +\pastebutton{FractionPageEmpty3}{\showpaste} +\tab{5}\spadcommand{g := (x**2 - 3*x + 2)/(x + 2)\bound{g }} +\end{paste}\end{patch} + +\begin{patch}{FractionPagePatch4} +\begin{paste}{FractionPageFull4}{FractionPageEmpty4} +\pastebutton{FractionPageFull4}{\hidepaste} +\tab{5}\spadcommand{f * g\free{f g }} +\indentrel{3}\begin{verbatim} + 3 2 + x - 2x + x - 2 + (4) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + x + 2 + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{FractionPageEmpty4} +\begin{paste}{FractionPageEmpty4}{FractionPagePatch4} +\pastebutton{FractionPageEmpty4}{\showpaste} +\tab{5}\spadcommand{f * g\free{f g }} +\end{paste}\end{patch} + @ \pagehead{RationalNumberPage}{numbers.ht}{Rational Number} <>= @@ -16521,6 +44610,111 @@ command: \autobuttons \end{page} +\begin{patch}{RationalNumberPagePatch1} +\begin{paste}{RationalNumberPageFull1}{RationalNumberPageEmpty1} +\pastebutton{RationalNumberPageFull1}{\hidepaste} +\tab{5}\spadcommand{61657 ** 10 / 999983 ** 12} +\indentrel{3}\begin{verbatim} + (1) + 794006207119672937688869745365148806136551203249 + / + 9997960190729191813417704955587887712239578440952258_ + 46167460930641229761 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RationalNumberPageEmpty1} +\begin{paste}{RationalNumberPageEmpty1}{RationalNumberPagePatch1} +\pastebutton{RationalNumberPageEmpty1}{\showpaste} +\tab{5}\spadcommand{61657 ** 10 / 999983 ** 12} +\end{paste}\end{patch} + +\begin{patch}{RationalNumberPagePatch2} +\begin{paste}{RationalNumberPageFull2}{RationalNumberPageEmpty2} +\pastebutton{RationalNumberPageFull2}{\hidepaste} +\tab{5}\spadcommand{x := 104348/33215\bound{x }} +\indentrel{3}\begin{verbatim} + 104348 + (2) ÄÄÄÄÄÄ + 33215 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RationalNumberPageEmpty2} +\begin{paste}{RationalNumberPageEmpty2}{RationalNumberPagePatch2} +\pastebutton{RationalNumberPageEmpty2}{\showpaste} +\tab{5}\spadcommand{x := 104348/33215\bound{x }} +\end{paste}\end{patch} + +\begin{patch}{RationalNumberPagePatch3} +\begin{paste}{RationalNumberPageFull3}{RationalNumberPageEmpty3} +\pastebutton{RationalNumberPageFull3}{\hidepaste} +\tab{5}\spadcommand{numeric x\free{x }} +\indentrel{3}\begin{verbatim} + (3) 3.1415926539 214210447 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RationalNumberPageEmpty3} +\begin{paste}{RationalNumberPageEmpty3}{RationalNumberPagePatch3} +\pastebutton{RationalNumberPageEmpty3}{\showpaste} +\tab{5}\spadcommand{numeric x\free{x }} +\end{paste}\end{patch} + +\begin{patch}{RationalNumberPagePatch4} +\begin{paste}{RationalNumberPageFull4}{RationalNumberPageEmpty4} +\pastebutton{RationalNumberPageFull4}{\hidepaste} +\tab{5}\spadcommand{numer(x)\free{x }} +\indentrel{3}\begin{verbatim} + (4) 104348 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RationalNumberPageEmpty4} +\begin{paste}{RationalNumberPageEmpty4}{RationalNumberPagePatch4} +\pastebutton{RationalNumberPageEmpty4}{\showpaste} +\tab{5}\spadcommand{numer(x)\free{x }} +\end{paste}\end{patch} + +\begin{patch}{RationalNumberPagePatch5} +\begin{paste}{RationalNumberPageFull5}{RationalNumberPageEmpty5} +\pastebutton{RationalNumberPageFull5}{\hidepaste} +\tab{5}\spadcommand{denom(x)\free{x }} +\indentrel{3}\begin{verbatim} + (5) 33215 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RationalNumberPageEmpty5} +\begin{paste}{RationalNumberPageEmpty5}{RationalNumberPagePatch5} +\pastebutton{RationalNumberPageEmpty5}{\showpaste} +\tab{5}\spadcommand{denom(x)\free{x }} +\end{paste}\end{patch} + +\begin{patch}{RationalNumberPagePatch6} +\begin{paste}{RationalNumberPageFull6}{RationalNumberPageEmpty6} +\pastebutton{RationalNumberPageFull6}{\hidepaste} +\tab{5}\spadcommand{factor(numer x) / factor(denom x)\free{x }} +\indentrel{3}\begin{verbatim} + 2 + 2 19 1373 + (6) ÄÄÄÄÄÄÄÄÄ + 5 7 13 73 + Type: Fraction Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RationalNumberPageEmpty6} +\begin{paste}{RationalNumberPageEmpty6}{RationalNumberPagePatch6} +\pastebutton{RationalNumberPageEmpty6}{\showpaste} +\tab{5}\spadcommand{factor(numer x) / factor(denom x)\free{x }} +\end{paste}\end{patch} + @ \pagehead{IntegerPage}{numbers.ht}{Integers} \pagepic{ps/v71integerpage.eps}{IntegerPage} @@ -16570,6 +44764,160 @@ Problems from number theory. \autobuttons \end{page} +\begin{patch}{IntegerPagePatch1} +\begin{paste}{IntegerPageFull1}{IntegerPageEmpty1} +\pastebutton{IntegerPageFull1}{\hidepaste} +\tab{5}\spadcommand{x := factorial(200)\bound{x }} +\indentrel{3}\begin{verbatim} + (1) + 788657867364790503552363213932185062295135977687173263_ + 29474253324435944996340334292030428401198462390417721_ + 21389196388302576427902426371050619266249528299311134_ + 62857270763317237396988943922445621451664240254033291_ + 86413122742829485327752424240757390324032125740557956_ + 86602260319041703240623517008587961789222227896237038_ + 97374720000000000000000000000000000000000000000000000_ + 000 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerPageEmpty1} +\begin{paste}{IntegerPageEmpty1}{IntegerPagePatch1} +\pastebutton{IntegerPageEmpty1}{\showpaste} +\tab{5}\spadcommand{x := factorial(200)\bound{x }} +\end{paste}\end{patch} + +\begin{patch}{IntegerPagePatch2} +\begin{paste}{IntegerPageFull2}{IntegerPageEmpty2} +\pastebutton{IntegerPageFull2}{\hidepaste} +\tab{5}\spadcommand{y := 2**90 - 1\bound{y }} +\indentrel{3}\begin{verbatim} + (2) 1237940039285380274899124223 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerPageEmpty2} +\begin{paste}{IntegerPageEmpty2}{IntegerPagePatch2} +\pastebutton{IntegerPageEmpty2}{\showpaste} +\tab{5}\spadcommand{y := 2**90 - 1\bound{y }} +\end{paste}\end{patch} + +\begin{patch}{IntegerPagePatch3} +\begin{paste}{IntegerPageFull3}{IntegerPageEmpty3} +\pastebutton{IntegerPageFull3}{\hidepaste} +\tab{5}\spadcommand{x + y\free{x y }} +\indentrel{3}\begin{verbatim} + (3) + 788657867364790503552363213932185062295135977687173263_ + 29474253324435944996340334292030428401198462390417721_ + 21389196388302576427902426371050619266249528299311134_ + 62857270763317237396988943922445621451664240254033291_ + 86413122742829485327752424240757390324032125740557956_ + 86602260319041703240623517008587961789222227896237038_ + 97374720000000000000000000001237940039285380274899124_ + 223 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerPageEmpty3} +\begin{paste}{IntegerPageEmpty3}{IntegerPagePatch3} +\pastebutton{IntegerPageEmpty3}{\showpaste} +\tab{5}\spadcommand{x + y\free{x y }} +\end{paste}\end{patch} + +\begin{patch}{IntegerPagePatch4} +\begin{paste}{IntegerPageFull4}{IntegerPageEmpty4} +\pastebutton{IntegerPageFull4}{\hidepaste} +\tab{5}\spadcommand{x - y\free{x y }} +\indentrel{3}\begin{verbatim} + (4) + 788657867364790503552363213932185062295135977687173263_ + 29474253324435944996340334292030428401198462390417721_ + 21389196388302576427902426371050619266249528299311134_ + 62857270763317237396988943922445621451664240254033291_ + 86413122742829485327752424240757390324032125740557956_ + 86602260319041703240623517008587961789222227896237038_ + 97374719999999999999999999998762059960714619725100875_ + 777 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerPageEmpty4} +\begin{paste}{IntegerPageEmpty4}{IntegerPagePatch4} +\pastebutton{IntegerPageEmpty4}{\showpaste} +\tab{5}\spadcommand{x - y\free{x y }} +\end{paste}\end{patch} + +\begin{patch}{IntegerPagePatch5} +\begin{paste}{IntegerPageFull5}{IntegerPageEmpty5} +\pastebutton{IntegerPageFull5}{\hidepaste} +\tab{5}\spadcommand{x * y\free{x y }} +\indentrel{3}\begin{verbatim} + (5) + 976311151308292982184363119660950225776642966765414042_ + 37079496488133389834070329188092355479782812765687260_ + 17975734913119466356078732929100728088106228471338396_ + 75509315106953260921744797014165125163884859138819053_ + 52475858689630194698878995048210905618067437176553811_ + 33973032509524956986554360537566475497856969235918273_ + 09521182392695050703382396859842560000000000000000000_ + 000000000000000000000000000000 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerPageEmpty5} +\begin{paste}{IntegerPageEmpty5}{IntegerPagePatch5} +\pastebutton{IntegerPageEmpty5}{\showpaste} +\tab{5}\spadcommand{x * y\free{x y }} +\end{paste}\end{patch} + +\begin{patch}{IntegerPagePatch6} +\begin{paste}{IntegerPageFull6}{IntegerPageEmpty6} +\pastebutton{IntegerPageFull6}{\hidepaste} +\tab{5}\spadcommand{factor(x)\free{x }} +\indentrel{3}\begin{verbatim} + (6) + 197 97 49 32 19 16 11 10 8 6 6 5 4 4 4 3 + 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 + * + 3 3 2 2 2 2 2 2 2 + 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 + * + 131 137 139 149 151 157 163 167 173 179 181 191 193 + * + 197 199 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerPageEmpty6} +\begin{paste}{IntegerPageEmpty6}{IntegerPagePatch6} +\pastebutton{IntegerPageEmpty6}{\showpaste} +\tab{5}\spadcommand{factor(x)\free{x }} +\end{paste}\end{patch} + +\begin{patch}{IntegerPagePatch7} +\begin{paste}{IntegerPageFull7}{IntegerPageEmpty7} +\pastebutton{IntegerPageFull7}{\hidepaste} +\tab{5}\spadcommand{factor(y)\free{y }} +\indentrel{3}\begin{verbatim} + 3 + (7) 3 7 11 19 31 73 151 331 631 23311 18837001 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerPageEmpty7} +\begin{paste}{IntegerPageEmpty7}{IntegerPagePatch7} +\pastebutton{IntegerPageEmpty7}{\showpaste} +\tab{5}\spadcommand{factor(y)\free{y }} +\end{paste}\end{patch} + @ \pagehead{IntegerExamplePage}{numbers.ht}{Integer Examples} \pagepic{ps/v71integerexamplepage.eps}{IntegerExamplePage} @@ -16599,6 +44947,89 @@ Obviously, Fermat didn't have access to Axiom! \autobuttons \end{page} +\begin{patch}{IntegerExamplePagePatch1} +\begin{paste}{IntegerExamplePageFull1}{IntegerExamplePageEmpty1} +\pastebutton{IntegerExamplePageFull1}{\hidepaste} +\tab{5}\spadcommand{f: NNI -> INT\bound{f1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerExamplePageEmpty1} +\begin{paste}{IntegerExamplePageEmpty1}{IntegerExamplePagePatch1} +\pastebutton{IntegerExamplePageEmpty1}{\showpaste} +\tab{5}\spadcommand{f: NNI -> INT\bound{f1 }} +\end{paste}\end{patch} + +\begin{patch}{IntegerExamplePagePatch2} +\begin{paste}{IntegerExamplePageFull2}{IntegerExamplePageEmpty2} +\pastebutton{IntegerExamplePageFull2}{\hidepaste} +\tab{5}\spadcommand{f(n) == 2**(2**n) + 1\bound{f }\free{f1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerExamplePageEmpty2} +\begin{paste}{IntegerExamplePageEmpty2}{IntegerExamplePagePatch2} +\pastebutton{IntegerExamplePageEmpty2}{\showpaste} +\tab{5}\spadcommand{f(n) == 2**(2**n) + 1\bound{f }\free{f1 }} +\end{paste}\end{patch} + +\begin{patch}{IntegerExamplePagePatch3} +\begin{paste}{IntegerExamplePageFull3}{IntegerExamplePageEmpty3} +\pastebutton{IntegerExamplePageFull3}{\hidepaste} +\tab{5}\spadcommand{factor f(1)\free{f }} +\indentrel{3}\begin{verbatim} + (3) 5 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerExamplePageEmpty3} +\begin{paste}{IntegerExamplePageEmpty3}{IntegerExamplePagePatch3} +\pastebutton{IntegerExamplePageEmpty3}{\showpaste} +\tab{5}\spadcommand{factor f(1)\free{f }} +\end{paste}\end{patch} + +\begin{patch}{IntegerExamplePagePatch4} +\begin{paste}{IntegerExamplePageFull4}{IntegerExamplePageEmpty4} +\pastebutton{IntegerExamplePageFull4}{\hidepaste} +\tab{5}\spadcommand{factor f(2)\free{f }} +\indentrel{3}\begin{verbatim} + (4) 17 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerExamplePageEmpty4} +\begin{paste}{IntegerExamplePageEmpty4}{IntegerExamplePagePatch4} +\pastebutton{IntegerExamplePageEmpty4}{\showpaste} +\tab{5}\spadcommand{factor f(2)\free{f }} +\end{paste}\end{patch} + +\begin{patch}{IntegerExamplePagePatch5} +\begin{paste}{IntegerExamplePageFull5}{IntegerExamplePageEmpty5} +\pastebutton{IntegerExamplePageFull5}{\hidepaste} +\tab{5}\spadcommand{for n in 1..6 repeat output factor f(n)\free{f }} +\indentrel{3}\begin{verbatim} + 5 + 17 + 257 + 65537 + 641 6700417 + 274177 67280421310721 + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerExamplePageEmpty5} +\begin{paste}{IntegerExamplePageEmpty5}{IntegerExamplePagePatch5} +\pastebutton{IntegerExamplePageEmpty5}{\showpaste} +\tab{5}\spadcommand{for n in 1..6 repeat output factor f(n)\free{f }} +\end{paste}\end{patch} + @ \pagehead{IntegerExampleProofPage}{numbers.ht}{Integer Example Proof} <>= @@ -16707,6 +45138,156 @@ is composite: \autobuttons \end{page} +\begin{patch}{IntegerProblemAnswerPage1Patch1} +\begin{paste}{IntegerProblemAnswerPage1Full1}{IntegerProblemAnswerPage1Empty1} +\pastebutton{IntegerProblemAnswerPage1Full1}{\hidepaste} +\tab{5}\spadcommand{f: NNI -> INT\bound{f1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerProblemAnswerPage1Empty1} +\begin{paste}{IntegerProblemAnswerPage1Empty1}{IntegerProblemAnswerPage1Patch1} +\pastebutton{IntegerProblemAnswerPage1Empty1}{\showpaste} +\tab{5}\spadcommand{f: NNI -> INT\bound{f1 }} +\end{paste}\end{patch} + +\begin{patch}{IntegerProblemAnswerPage1Patch2} +\begin{paste}{IntegerProblemAnswerPage1Full2}{IntegerProblemAnswerPage1Empty2} +\pastebutton{IntegerProblemAnswerPage1Full2}{\hidepaste} +\tab{5}\spadcommand{f(n) == 2**n - 1\bound{f }\free{f1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerProblemAnswerPage1Empty2} +\begin{paste}{IntegerProblemAnswerPage1Empty2}{IntegerProblemAnswerPage1Patch2} +\pastebutton{IntegerProblemAnswerPage1Empty2}{\showpaste} +\tab{5}\spadcommand{f(n) == 2**n - 1\bound{f }\free{f1 }} +\end{paste}\end{patch} + +\begin{patch}{IntegerProblemAnswerPage1Patch3} +\begin{paste}{IntegerProblemAnswerPage1Full3}{IntegerProblemAnswerPage1Empty3} +\pastebutton{IntegerProblemAnswerPage1Full3}{\hidepaste} +\tab{5}\spadcommand{factor f(7)\free{f }} +\indentrel{3}\begin{verbatim} + (3) 127 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerProblemAnswerPage1Empty3} +\begin{paste}{IntegerProblemAnswerPage1Empty3}{IntegerProblemAnswerPage1Patch3} +\pastebutton{IntegerProblemAnswerPage1Empty3}{\showpaste} +\tab{5}\spadcommand{factor f(7)\free{f }} +\end{paste}\end{patch} + +\begin{patch}{IntegerProblemAnswerPage1Patch4} +\begin{paste}{IntegerProblemAnswerPage1Full4}{IntegerProblemAnswerPage1Empty4} +\pastebutton{IntegerProblemAnswerPage1Full4}{\hidepaste} +\tab{5}\spadcommand{ints := [n for n in 1..]\bound{ints }} +\indentrel{3}\begin{verbatim} + (4) [1,2,3,4,5,6,7,8,9,10,...] + Type: Stream PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerProblemAnswerPage1Empty4} +\begin{paste}{IntegerProblemAnswerPage1Empty4}{IntegerProblemAnswerPage1Patch4} +\pastebutton{IntegerProblemAnswerPage1Empty4}{\showpaste} +\tab{5}\spadcommand{ints := [n for n in 1..]\bound{ints }} +\end{paste}\end{patch} + +\begin{patch}{IntegerProblemAnswerPage1Patch5} +\begin{paste}{IntegerProblemAnswerPage1Full5}{IntegerProblemAnswerPage1Empty5} +\pastebutton{IntegerProblemAnswerPage1Full5}{\hidepaste} +\tab{5}\spadcommand{primes := [x for x in ints | prime? x]\bound{primes }\free{ints }} +\indentrel{3}\begin{verbatim} + (5) [2,3,5,7,11,13,17,19,23,29,...] + Type: Stream PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerProblemAnswerPage1Empty5} +\begin{paste}{IntegerProblemAnswerPage1Empty5}{IntegerProblemAnswerPage1Patch5} +\pastebutton{IntegerProblemAnswerPage1Empty5}{\showpaste} +\tab{5}\spadcommand{primes := [x for x in ints | prime? x]\bound{primes }\free{ints }} +\end{paste}\end{patch} + +\begin{patch}{IntegerProblemAnswerPage1Patch6} +\begin{paste}{IntegerProblemAnswerPage1Full6}{IntegerProblemAnswerPage1Empty6} +\pastebutton{IntegerProblemAnswerPage1Full6}{\hidepaste} +\tab{5}\spadcommand{primes.25\free{primes }} +\indentrel{3}\begin{verbatim} + (6) 97 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerProblemAnswerPage1Empty6} +\begin{paste}{IntegerProblemAnswerPage1Empty6}{IntegerProblemAnswerPage1Patch6} +\pastebutton{IntegerProblemAnswerPage1Empty6}{\showpaste} +\tab{5}\spadcommand{primes.25\free{primes }} +\end{paste}\end{patch} + +\begin{patch}{IntegerProblemAnswerPage1Patch7} +\begin{paste}{IntegerProblemAnswerPage1Full7}{IntegerProblemAnswerPage1Empty7} +\pastebutton{IntegerProblemAnswerPage1Full7}{\hidepaste} +\tab{5}\spadcommand{numbers := [f(n) for n in primes]\bound{numbers }\free{primes f }} +\indentrel{3}\begin{verbatim} + (7) + [3, 7, 31, 127, 2047, 8191, 131071, 524287, 8388607, + 536870911, ...] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerProblemAnswerPage1Empty7} +\begin{paste}{IntegerProblemAnswerPage1Empty7}{IntegerProblemAnswerPage1Patch7} +\pastebutton{IntegerProblemAnswerPage1Empty7}{\showpaste} +\tab{5}\spadcommand{numbers := [f(n) for n in primes]\bound{numbers }\free{primes f }} +\end{paste}\end{patch} + +\begin{patch}{IntegerProblemAnswerPage1Patch8} +\begin{paste}{IntegerProblemAnswerPage1Full8}{IntegerProblemAnswerPage1Empty8} +\pastebutton{IntegerProblemAnswerPage1Full8}{\hidepaste} +\tab{5}\spadcommand{factors := [factor n for n in numbers]\bound{factors }\free{numbers }} +\indentrel{3}\begin{verbatim} + (8) + [3, 7, 31, 127, 23 89, 8191, 131071, 524287, + 47 178481, 233 1103 2089, ...] + Type: Stream Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerProblemAnswerPage1Empty8} +\begin{paste}{IntegerProblemAnswerPage1Empty8}{IntegerProblemAnswerPage1Patch8} +\pastebutton{IntegerProblemAnswerPage1Empty8}{\showpaste} +\tab{5}\spadcommand{factors := [factor n for n in numbers]\bound{factors }\free{numbers }} +\end{paste}\end{patch} + +\begin{patch}{IntegerProblemAnswerPage1Patch9} +\begin{paste}{IntegerProblemAnswerPage1Full9}{IntegerProblemAnswerPage1Empty9} +\pastebutton{IntegerProblemAnswerPage1Full9}{\hidepaste} +\tab{5}\spadcommand{nums := [x for x in numbers | not prime? x]\bound{nums }\free{numbers }} +\indentrel{3}\begin{verbatim} + (9) + [2047, 8388607, 536870911, 137438953471, + 2199023255551, 8796093022207, 140737488355327, + 9007199254740991, 576460752303423487, + 147573952589676412927, ...] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerProblemAnswerPage1Empty9} +\begin{paste}{IntegerProblemAnswerPage1Empty9}{IntegerProblemAnswerPage1Patch9} +\pastebutton{IntegerProblemAnswerPage1Empty9}{\showpaste} +\tab{5}\spadcommand{nums := [x for x in numbers | not prime? x]\bound{nums }\free{numbers }} +\end{paste}\end{patch} + @ \pagehead{IntegerProblemAnswerPage2}{numbers.ht}{Solution to Problem \#2} <>= @@ -16727,6 +45308,46 @@ n**n - n + 41 is not prime. \autobuttons \end{page} +\begin{patch}{IntegerProblemAnswerPage2Patch1} +\begin{paste}{IntegerProblemAnswerPage2Full1}{IntegerProblemAnswerPage2Empty1} +\pastebutton{IntegerProblemAnswerPage2Full1}{\hidepaste} +\tab{5}\spadcommand{numbers := [n**2 - n + 41 for n in 0..40]\bound{numbers }} +\indentrel{3}\begin{verbatim} + (1) + [41, 41, 43, 47, 53, 61, 71, 83, 97, 113, 131, 151, + 173, 197, 223, 251, 281, 313, 347, 383, 421, 461, + 503, 547, 593, 641, 691, 743, 797, 853, 911, 971, + 1033, 1097, 1163, 1231, 1301, 1373, 1447, 1523, 1601] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerProblemAnswerPage2Empty1} +\begin{paste}{IntegerProblemAnswerPage2Empty1}{IntegerProblemAnswerPage2Patch1} +\pastebutton{IntegerProblemAnswerPage2Empty1}{\showpaste} +\tab{5}\spadcommand{numbers := [n**2 - n + 41 for n in 0..40]\bound{numbers }} +\end{paste}\end{patch} + +\begin{patch}{IntegerProblemAnswerPage2Patch2} +\begin{paste}{IntegerProblemAnswerPage2Full2}{IntegerProblemAnswerPage2Empty2} +\pastebutton{IntegerProblemAnswerPage2Full2}{\hidepaste} +\tab{5}\spadcommand{[factor n for n in numbers]\free{numbers }} +\indentrel{3}\begin{verbatim} + (2) + [41, 41, 43, 47, 53, 61, 71, 83, 97, 113, 131, 151, + 173, 197, 223, 251, 281, 313, 347, 383, 421, 461, + 503, 547, 593, 641, 691, 743, 797, 853, 911, 971, + 1033, 1097, 1163, 1231, 1301, 1373, 1447, 1523, 1601] + Type: List Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerProblemAnswerPage2Empty2} +\begin{paste}{IntegerProblemAnswerPage2Empty2}{IntegerProblemAnswerPage2Patch2} +\pastebutton{IntegerProblemAnswerPage2Empty2}{\showpaste} +\tab{5}\spadcommand{[factor n for n in numbers]\free{numbers }} +\end{paste}\end{patch} + @ \section{oct.ht} \pagehead{OctonionXmpPage}{oct.ht}{Octonion} @@ -16854,6 +45475,339 @@ Since the result is \spad{0}, the norm is multiplicative. \autobuttons \end{page} +\begin{patch}{OctonionXmpPagePatch1} +\begin{paste}{OctonionXmpPageFull1}{OctonionXmpPageEmpty1} +\pastebutton{OctonionXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{oci1 := octon(1,2,3,4,5,6,7,8)\bound{oci1 }} +\indentrel{3}\begin{verbatim} + (1) 1 + 2i + 3j + 4k + 5E + 6I + 7J + 8K + Type: Octonion Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPageEmpty1} +\begin{paste}{OctonionXmpPageEmpty1}{OctonionXmpPagePatch1} +\pastebutton{OctonionXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{oci1 := octon(1,2,3,4,5,6,7,8)\bound{oci1 }} +\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPagePatch2} +\begin{paste}{OctonionXmpPageFull2}{OctonionXmpPageEmpty2} +\pastebutton{OctonionXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{oci2 := octon(7,2,3,-4,5,6,-7,0)\bound{oci2 }} +\indentrel{3}\begin{verbatim} + (2) 7 + 2i + 3j - 4k + 5E + 6I - 7J + Type: Octonion Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPageEmpty2} +\begin{paste}{OctonionXmpPageEmpty2}{OctonionXmpPagePatch2} +\pastebutton{OctonionXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{oci2 := octon(7,2,3,-4,5,6,-7,0)\bound{oci2 }} +\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPagePatch3} +\begin{paste}{OctonionXmpPageFull3}{OctonionXmpPageEmpty3} +\pastebutton{OctonionXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{oci3 := octon(quatern(-7,-12,3,-10), quatern(5,6,9,0))\bound{oci3 }} +\indentrel{3}\begin{verbatim} + (3) - 7 - 12i + 3j - 10k + 5E + 6I + 9J + Type: Octonion Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPageEmpty3} +\begin{paste}{OctonionXmpPageEmpty3}{OctonionXmpPagePatch3} +\pastebutton{OctonionXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{oci3 := octon(quatern(-7,-12,3,-10), quatern(5,6,9,0))\bound{oci3 }} +\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPagePatch4} +\begin{paste}{OctonionXmpPageFull4}{OctonionXmpPageEmpty4} +\pastebutton{OctonionXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{(oci1 * oci2) * oci3 - oci1 * (oci2 * oci3)\free{oci1 oci2 oci3 }} +\indentrel{3}\begin{verbatim} + (4) + 2696i - 2928j - 4072k + 16E - 1192I + 832J + 2616K + Type: Octonion Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPageEmpty4} +\begin{paste}{OctonionXmpPageEmpty4}{OctonionXmpPagePatch4} +\pastebutton{OctonionXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{(oci1 * oci2) * oci3 - oci1 * (oci2 * oci3)\free{oci1 oci2 oci3 }} +\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPagePatch5} +\begin{paste}{OctonionXmpPageFull5}{OctonionXmpPageEmpty5} +\pastebutton{OctonionXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{[real oci1, imagi oci1, imagj oci1, imagk oci1, imagE oci1, imagI oci1, imagJ oci1, imagK oci1]\free{oci1 }} +\indentrel{3}\begin{verbatim} + (5) [1,2,3,4,5,6,7,8] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPageEmpty5} +\begin{paste}{OctonionXmpPageEmpty5}{OctonionXmpPagePatch5} +\pastebutton{OctonionXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{[real oci1, imagi oci1, imagj oci1, imagk oci1, imagE oci1, imagI oci1, imagJ oci1, imagK oci1]\free{oci1 }} +\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPagePatch6} +\begin{paste}{OctonionXmpPageFull6}{OctonionXmpPageEmpty6} +\pastebutton{OctonionXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{q : Quaternion Polynomial Integer := quatern(q1, qi, qj, qk)\bound{q }} +\indentrel{3}\begin{verbatim} + (6) q1 + qi i + qj j + qk k + Type: Quaternion Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPageEmpty6} +\begin{paste}{OctonionXmpPageEmpty6}{OctonionXmpPagePatch6} +\pastebutton{OctonionXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{q : Quaternion Polynomial Integer := quatern(q1, qi, qj, qk)\bound{q }} +\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPagePatch7} +\begin{paste}{OctonionXmpPageFull7}{OctonionXmpPageEmpty7} +\pastebutton{OctonionXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{E : Octonion Polynomial Integer:= octon(0,0,0,0,1,0,0,0)\bound{E }} +\indentrel{3}\begin{verbatim} + (7) E + Type: Octonion Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPageEmpty7} +\begin{paste}{OctonionXmpPageEmpty7}{OctonionXmpPagePatch7} +\pastebutton{OctonionXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{E : Octonion Polynomial Integer:= octon(0,0,0,0,1,0,0,0)\bound{E }} +\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPagePatch8} +\begin{paste}{OctonionXmpPageFull8}{OctonionXmpPageEmpty8} +\pastebutton{OctonionXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{q * E\free{q E }} +\indentrel{3}\begin{verbatim} + (8) q1 E + qi I + qj J + qk K + Type: Octonion Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPageEmpty8} +\begin{paste}{OctonionXmpPageEmpty8}{OctonionXmpPagePatch8} +\pastebutton{OctonionXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{q * E\free{q E }} +\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPagePatch9} +\begin{paste}{OctonionXmpPageFull9}{OctonionXmpPageEmpty9} +\pastebutton{OctonionXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{E * q\free{E q }} +\indentrel{3}\begin{verbatim} + (9) q1 E - qi I - qj J - qk K + Type: Octonion Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPageEmpty9} +\begin{paste}{OctonionXmpPageEmpty9}{OctonionXmpPagePatch9} +\pastebutton{OctonionXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{E * q\free{E q }} +\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPagePatch10} +\begin{paste}{OctonionXmpPageFull10}{OctonionXmpPageEmpty10} +\pastebutton{OctonionXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{q * 1$(Octonion Polynomial Integer)\free{q }} +\indentrel{3}\begin{verbatim} + (10) q1 + qi i + qj j + qk k + Type: Octonion Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPageEmpty10} +\begin{paste}{OctonionXmpPageEmpty10}{OctonionXmpPagePatch10} +\pastebutton{OctonionXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{q * 1$(Octonion Polynomial Integer)\free{q }} +\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPagePatch11} +\begin{paste}{OctonionXmpPageFull11}{OctonionXmpPageEmpty11} +\pastebutton{OctonionXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{1$(Octonion Polynomial Integer) * q\free{q }} +\indentrel{3}\begin{verbatim} + (11) q1 + qi i + qj j + qk k + Type: Octonion Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPageEmpty11} +\begin{paste}{OctonionXmpPageEmpty11}{OctonionXmpPagePatch11} +\pastebutton{OctonionXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{1$(Octonion Polynomial Integer) * q\free{q }} +\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPagePatch12} +\begin{paste}{OctonionXmpPageFull12}{OctonionXmpPageEmpty12} +\pastebutton{OctonionXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{o : Octonion Polynomial Integer := octon(o1, oi, oj, ok, oE, oI, oJ, oK)\bound{o }} +\indentrel{3}\begin{verbatim} + (12) + o1 + oi i + oj j + ok k + oE E + oI I + oJ J + oK K + Type: Octonion Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPageEmpty12} +\begin{paste}{OctonionXmpPageEmpty12}{OctonionXmpPagePatch12} +\pastebutton{OctonionXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{o : Octonion Polynomial Integer := octon(o1, oi, oj, ok, oE, oI, oJ, oK)\bound{o }} +\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPagePatch13} +\begin{paste}{OctonionXmpPageFull13}{OctonionXmpPageEmpty13} +\pastebutton{OctonionXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{norm o\free{o }} +\indentrel{3}\begin{verbatim} + 2 2 2 2 2 2 2 2 + (13) ok + oj + oi + oK + oJ + oI + oE + o1 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPageEmpty13} +\begin{paste}{OctonionXmpPageEmpty13}{OctonionXmpPagePatch13} +\pastebutton{OctonionXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{norm o\free{o }} +\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPagePatch14} +\begin{paste}{OctonionXmpPageFull14}{OctonionXmpPageEmpty14} +\pastebutton{OctonionXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{p : Octonion Polynomial Integer := octon(p1, pi, pj, pk, pE, pI, pJ, pK)\bound{p }} +\indentrel{3}\begin{verbatim} + (14) + p1 + pi i + pj j + pk k + pE E + pI I + pJ J + pK K + Type: Octonion Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPageEmpty14} +\begin{paste}{OctonionXmpPageEmpty14}{OctonionXmpPagePatch14} +\pastebutton{OctonionXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{p : Octonion Polynomial Integer := octon(p1, pi, pj, pk, pE, pI, pJ, pK)\bound{p }} +\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPagePatch15} +\begin{paste}{OctonionXmpPageFull15}{OctonionXmpPageEmpty15} +\pastebutton{OctonionXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{norm(o*p)-norm(p)*norm(p)\free{o p }} +\indentrel{3}\begin{verbatim} + (15) + 4 + - pk + + + 2 2 2 2 2 2 2 + - 2pj - 2pi - 2pK - 2pJ - 2pI - 2pE - 2p1 + + + 2 2 2 2 2 2 2 2 + ok + oj + oi + oK + oJ + oI + oE + o1 + * + 2 + pk + + + 4 + - pj + + + 2 2 2 2 2 2 2 + - 2pi - 2pK - 2pJ - 2pI - 2pE - 2p1 + ok + + + 2 2 2 2 2 2 2 + oj + oi + oK + oJ + oI + oE + o1 + * + 2 + pj + + + 4 + - pi + + + 2 2 2 2 2 2 2 + - 2pK - 2pJ - 2pI - 2pE - 2p1 + ok + oj + + + 2 2 2 2 2 2 + oi + oK + oJ + oI + oE + o1 + * + 2 + pi + + + 4 + - pK + + + 2 2 2 2 2 2 2 + - 2pJ - 2pI - 2pE - 2p1 + ok + oj + oi + + + 2 2 2 2 2 + oK + oJ + oI + oE + o1 + * + 2 + pK + + + 4 + - pJ + + + 2 2 2 2 2 2 2 + - 2pI - 2pE - 2p1 + ok + oj + oi + oK + + + 2 2 2 2 + oJ + oI + oE + o1 + * + 2 + pJ + + + 4 + - pI + + + 2 2 2 2 2 2 2 2 + - 2pE - 2p1 + ok + oj + oi + oK + oJ + oI + + + 2 2 + oE + o1 + * + 2 + pI + + + 4 + - pE + + + 2 2 2 2 2 2 2 2 + - 2p1 + ok + oj + oi + oK + oJ + oI + oE + + + 2 + o1 + * + 2 + pE + + + 4 + - p1 + + + 2 2 2 2 2 2 2 2 2 + (ok + oj + oi + oK + oJ + oI + oE + o1 )p1 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OctonionXmpPageEmpty15} +\begin{paste}{OctonionXmpPageEmpty15}{OctonionXmpPagePatch15} +\pastebutton{OctonionXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{norm(o*p)-norm(p)*norm(p)\free{o p }} +\end{paste}\end{patch} + @ \section{odpol.ht} \pagehead{OrderlyDifferentialPolyXmpPage}{odpol.ht} @@ -17116,6 +46070,632 @@ and its derivatives. \autobuttons \end{page} +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch1} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull1}{OrderlyDifferentialPolynomialXmpPageEmpty1} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{dpol:= ODPOL(FRAC INT)\bound{dpol }} +\indentrel{3}\begin{verbatim} + (1) OrderlyDifferentialPolynomial Fraction Integer + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty1} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty1}{OrderlyDifferentialPolynomialXmpPagePatch1} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{dpol:= ODPOL(FRAC INT)\bound{dpol }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch2} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull2}{OrderlyDifferentialPolynomialXmpPageEmpty2} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{w := makeVariable('w)$dpol\free{dpol }\bound{w }} +\indentrel{3}\begin{verbatim} + (2) theMap(DPOLCAT-;makeVariable;AM;17!0,62) +Type: (NonNegativeInteger -> OrderlyDifferentialPolynomial Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty2} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty2}{OrderlyDifferentialPolynomialXmpPagePatch2} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{w := makeVariable('w)$dpol\free{dpol }\bound{w }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch3} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull3}{OrderlyDifferentialPolynomialXmpPageEmpty3} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{z := makeVariable('z)$dpol\free{dpol }\bound{z }} +\indentrel{3}\begin{verbatim} + (3) theMap(DPOLCAT-;makeVariable;AM;17!0,187) +Type: (NonNegativeInteger -> OrderlyDifferentialPolynomial Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty3} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty3}{OrderlyDifferentialPolynomialXmpPagePatch3} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{z := makeVariable('z)$dpol\free{dpol }\bound{z }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch4} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull4}{OrderlyDifferentialPolynomialXmpPageEmpty4} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{w.5\free{w }} +\indentrel{3}\begin{verbatim} + (4) w + 5 + Type: OrderlyDifferentialPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty4} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty4}{OrderlyDifferentialPolynomialXmpPagePatch4} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{w.5\free{w }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch5} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull5}{OrderlyDifferentialPolynomialXmpPageEmpty5} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{w 0\free{w }} +\indentrel{3}\begin{verbatim} + (5) w + Type: OrderlyDifferentialPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty5} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty5}{OrderlyDifferentialPolynomialXmpPagePatch5} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{w 0\free{w }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch6} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull6}{OrderlyDifferentialPolynomialXmpPageEmpty6} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{[z.i for i in 1..5]\free{z }} +\indentrel{3}\begin{verbatim} + (6) [z ,z ,z ,z ,z ] + 1 2 3 4 5 +Type: List OrderlyDifferentialPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty6} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty6}{OrderlyDifferentialPolynomialXmpPagePatch6} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{[z.i for i in 1..5]\free{z }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch7} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull7}{OrderlyDifferentialPolynomialXmpPageEmpty7} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{f:= w.4 - w.1 * w.1 * z.3\free{w }\free{z }\bound{f }} +\indentrel{3}\begin{verbatim} + 2 + (7) w - w z + 4 1 3 + Type: OrderlyDifferentialPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty7} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty7}{OrderlyDifferentialPolynomialXmpPagePatch7} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{f:= w.4 - w.1 * w.1 * z.3\free{w }\free{z }\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch8} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull8}{OrderlyDifferentialPolynomialXmpPageEmpty8} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{g:=(z.1)**3 * (z.2)**2 - w.2\free{z }\free{w }\bound{g }} +\indentrel{3}\begin{verbatim} + 3 2 + (8) z z - w + 1 2 2 + Type: OrderlyDifferentialPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty8} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty8}{OrderlyDifferentialPolynomialXmpPagePatch8} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{g:=(z.1)**3 * (z.2)**2 - w.2\free{z }\free{w }\bound{g }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch9} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull9}{OrderlyDifferentialPolynomialXmpPageEmpty9} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{D(f)\free{f }} +\indentrel{3}\begin{verbatim} + 2 + (9) w - w z - 2w w z + 5 1 4 1 2 3 + Type: OrderlyDifferentialPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty9} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty9}{OrderlyDifferentialPolynomialXmpPagePatch9} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{D(f)\free{f }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch10} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull10}{OrderlyDifferentialPolynomialXmpPageEmpty10} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{D(f,4)\free{f }} +\indentrel{3}\begin{verbatim} + (10) + 2 2 + w - w z - 8w w z + (- 12w w - 12w )z - 2w z w + 8 1 7 1 2 6 1 3 2 5 1 3 5 + + + 2 + (- 8w w - 24w w )z - 8w z w - 6w z + 1 4 2 3 4 2 3 4 3 3 + Type: OrderlyDifferentialPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty10} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty10}{OrderlyDifferentialPolynomialXmpPagePatch10} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{D(f,4)\free{f }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch11} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull11}{OrderlyDifferentialPolynomialXmpPageEmpty11} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{df:=makeVariable(f)$dpol\free{f }\bound{df }} +\indentrel{3}\begin{verbatim} + (11) theMap(DPOLCAT-;makeVariable;AM;17!0,488) +Type: (NonNegativeInteger -> OrderlyDifferentialPolynomial Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty11} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty11}{OrderlyDifferentialPolynomialXmpPagePatch11} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{df:=makeVariable(f)$dpol\free{f }\bound{df }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch12} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull12}{OrderlyDifferentialPolynomialXmpPageEmpty12} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{df.4\free{df }} +\indentrel{3}\begin{verbatim} + (12) + 2 2 + w - w z - 8w w z + (- 12w w - 12w )z - 2w z w + 8 1 7 1 2 6 1 3 2 5 1 3 5 + + + 2 + (- 8w w - 24w w )z - 8w z w - 6w z + 1 4 2 3 4 2 3 4 3 3 + Type: OrderlyDifferentialPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty12} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty12}{OrderlyDifferentialPolynomialXmpPagePatch12} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{df.4\free{df }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch13} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull13}{OrderlyDifferentialPolynomialXmpPageEmpty13} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{order(g)\free{g }} +\indentrel{3}\begin{verbatim} + (13) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty13} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty13}{OrderlyDifferentialPolynomialXmpPagePatch13} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{order(g)\free{g }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch14} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull14}{OrderlyDifferentialPolynomialXmpPageEmpty14} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{order(g, 'w)\free{g }} +\indentrel{3}\begin{verbatim} + (14) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty14} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty14}{OrderlyDifferentialPolynomialXmpPagePatch14} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{order(g, 'w)\free{g }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch15} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull15}{OrderlyDifferentialPolynomialXmpPageEmpty15} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{differentialVariables(g)\free{g }} +\indentrel{3}\begin{verbatim} + (15) [z,w] + Type: List Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty15} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty15}{OrderlyDifferentialPolynomialXmpPagePatch15} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{differentialVariables(g)\free{g }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch16} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull16}{OrderlyDifferentialPolynomialXmpPageEmpty16} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{degree(g)\free{g }} +\indentrel{3}\begin{verbatim} + 2 3 + (16) z z + 2 1 +Type: IndexedExponents OrderlyDifferentialVariable Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty16} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty16}{OrderlyDifferentialPolynomialXmpPagePatch16} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{degree(g)\free{g }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch17} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull17}{OrderlyDifferentialPolynomialXmpPageEmpty17} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{degree(g, 'w)\free{g }} +\indentrel{3}\begin{verbatim} + (17) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty17} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty17}{OrderlyDifferentialPolynomialXmpPagePatch17} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{degree(g, 'w)\free{g }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch18} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull18}{OrderlyDifferentialPolynomialXmpPageEmpty18} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{weights(g)\free{g }} +\indentrel{3}\begin{verbatim} + (18) [7,2] + Type: List NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty18} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty18}{OrderlyDifferentialPolynomialXmpPagePatch18} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{weights(g)\free{g }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch19} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull19}{OrderlyDifferentialPolynomialXmpPageEmpty19} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{weights(g,'w)\free{g }} +\indentrel{3}\begin{verbatim} + (19) [2] + Type: List NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty19} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty19}{OrderlyDifferentialPolynomialXmpPagePatch19} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{weights(g,'w)\free{g }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch20} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull20}{OrderlyDifferentialPolynomialXmpPageEmpty20} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{weight(g)\free{g }} +\indentrel{3}\begin{verbatim} + (20) 7 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty20} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty20}{OrderlyDifferentialPolynomialXmpPagePatch20} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{weight(g)\free{g }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch21} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull21}{OrderlyDifferentialPolynomialXmpPageEmpty21} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull21}{\hidepaste} +\tab{5}\spadcommand{isobaric?(g)\free{g }} +\indentrel{3}\begin{verbatim} + (21) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty21} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty21}{OrderlyDifferentialPolynomialXmpPagePatch21} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty21}{\showpaste} +\tab{5}\spadcommand{isobaric?(g)\free{g }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch22} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull22}{OrderlyDifferentialPolynomialXmpPageEmpty22} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull22}{\hidepaste} +\tab{5}\spadcommand{eval(g,['w::Symbol],[f])\free{f }\free{g }} +\indentrel{3}\begin{verbatim} + (22) + 2 2 3 2 + - w + w z + 4w w z + (2w w + 2w )z + z z + 6 1 5 1 2 4 1 3 2 3 1 2 + Type: OrderlyDifferentialPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty22} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty22}{OrderlyDifferentialPolynomialXmpPagePatch22} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty22}{\showpaste} +\tab{5}\spadcommand{eval(g,['w::Symbol],[f])\free{f }\free{g }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch23} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull23}{OrderlyDifferentialPolynomialXmpPageEmpty23} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull23}{\hidepaste} +\tab{5}\spadcommand{eval(g,variables(w.0),[f])\free{f }\free{g }} +\indentrel{3}\begin{verbatim} + 3 2 + (23) z z - w + 1 2 2 + Type: OrderlyDifferentialPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty23} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty23}{OrderlyDifferentialPolynomialXmpPagePatch23} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty23}{\showpaste} +\tab{5}\spadcommand{eval(g,variables(w.0),[f])\free{f }\free{g }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch24} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull24}{OrderlyDifferentialPolynomialXmpPageEmpty24} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull24}{\hidepaste} +\tab{5}\spadcommand{monomials(g)\free{g }} +\indentrel{3}\begin{verbatim} + 3 2 + (24) [z z ,- w ] + 1 2 2 +Type: List OrderlyDifferentialPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty24} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty24}{OrderlyDifferentialPolynomialXmpPagePatch24} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty24}{\showpaste} +\tab{5}\spadcommand{monomials(g)\free{g }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch25} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull25}{OrderlyDifferentialPolynomialXmpPageEmpty25} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull25}{\hidepaste} +\tab{5}\spadcommand{variables(g)\free{g }} +\indentrel{3}\begin{verbatim} + (25) [z ,w ,z ] + 2 2 1 + Type: List OrderlyDifferentialVariable Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty25} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty25}{OrderlyDifferentialPolynomialXmpPagePatch25} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty25}{\showpaste} +\tab{5}\spadcommand{variables(g)\free{g }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch26} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull26}{OrderlyDifferentialPolynomialXmpPageEmpty26} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull26}{\hidepaste} +\tab{5}\spadcommand{gcd(f,g)\free{f }\free{g }} +\indentrel{3}\begin{verbatim} + (26) 1 + Type: OrderlyDifferentialPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty26} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty26}{OrderlyDifferentialPolynomialXmpPagePatch26} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty26}{\showpaste} +\tab{5}\spadcommand{gcd(f,g)\free{f }\free{g }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch27} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull27}{OrderlyDifferentialPolynomialXmpPageEmpty27} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull27}{\hidepaste} +\tab{5}\spadcommand{groebner([f,g])\free{f }\free{g }} +\indentrel{3}\begin{verbatim} + 2 3 2 + (27) [w - w z ,z z - w ] + 4 1 3 1 2 2 +Type: List OrderlyDifferentialPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty27} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty27}{OrderlyDifferentialPolynomialXmpPagePatch27} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty27}{\showpaste} +\tab{5}\spadcommand{groebner([f,g])\free{f }\free{g }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch28} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull28}{OrderlyDifferentialPolynomialXmpPageEmpty28} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull28}{\hidepaste} +\tab{5}\spadcommand{lg:=leader(g)\free{g }\bound{lg }} +\indentrel{3}\begin{verbatim} + (28) z + 2 + Type: OrderlyDifferentialVariable Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty28} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty28}{OrderlyDifferentialPolynomialXmpPagePatch28} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty28}{\showpaste} +\tab{5}\spadcommand{lg:=leader(g)\free{g }\bound{lg }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch29} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull29}{OrderlyDifferentialPolynomialXmpPageEmpty29} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull29}{\hidepaste} +\tab{5}\spadcommand{sg:=separant(g)\free{g }\bound{sg }} +\indentrel{3}\begin{verbatim} + 3 + (29) 2z z + 1 2 + Type: OrderlyDifferentialPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty29} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty29}{OrderlyDifferentialPolynomialXmpPagePatch29} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty29}{\showpaste} +\tab{5}\spadcommand{sg:=separant(g)\free{g }\bound{sg }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch30} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull30}{OrderlyDifferentialPolynomialXmpPageEmpty30} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull30}{\hidepaste} +\tab{5}\spadcommand{ig:=initial(g)\free{g }\bound{ig }} +\indentrel{3}\begin{verbatim} + 3 + (30) z + 1 + Type: OrderlyDifferentialPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty30} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty30}{OrderlyDifferentialPolynomialXmpPagePatch30} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty30}{\showpaste} +\tab{5}\spadcommand{ig:=initial(g)\free{g }\bound{ig }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch31} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull31}{OrderlyDifferentialPolynomialXmpPageEmpty31} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull31}{\hidepaste} +\tab{5}\spadcommand{g1 := D g\free{g }\bound{g1 }} +\indentrel{3}\begin{verbatim} + 3 2 3 + (31) 2z z z - w + 3z z + 1 2 3 3 1 2 + Type: OrderlyDifferentialPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty31} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty31}{OrderlyDifferentialPolynomialXmpPagePatch31} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty31}{\showpaste} +\tab{5}\spadcommand{g1 := D g\free{g }\bound{g1 }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch32} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull32}{OrderlyDifferentialPolynomialXmpPageEmpty32} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull32}{\hidepaste} +\tab{5}\spadcommand{lg1:= leader g1\free{g1 }\bound{lg1 }} +\indentrel{3}\begin{verbatim} + (32) z + 3 + Type: OrderlyDifferentialVariable Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty32} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty32}{OrderlyDifferentialPolynomialXmpPagePatch32} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty32}{\showpaste} +\tab{5}\spadcommand{lg1:= leader g1\free{g1 }\bound{lg1 }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch33} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull33}{OrderlyDifferentialPolynomialXmpPageEmpty33} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull33}{\hidepaste} +\tab{5}\spadcommand{pdf:=D(f, lg1)\free{f }\free{lg1 }\bound{pdf }} +\indentrel{3}\begin{verbatim} + 2 + (33) - w + 1 + Type: OrderlyDifferentialPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty33} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty33}{OrderlyDifferentialPolynomialXmpPagePatch33} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty33}{\showpaste} +\tab{5}\spadcommand{pdf:=D(f, lg1)\free{f }\free{lg1 }\bound{pdf }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch34} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull34}{OrderlyDifferentialPolynomialXmpPageEmpty34} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull34}{\hidepaste} +\tab{5}\spadcommand{prf:=sg * f- pdf * g1\free{f }\free{sg }\free{pdf }\free{g1 }\bound{prf }} +\indentrel{3}\begin{verbatim} + 3 2 2 2 3 + (34) 2z z w - w w + 3w z z + 1 2 4 1 3 1 1 2 + Type: OrderlyDifferentialPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty34} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty34}{OrderlyDifferentialPolynomialXmpPagePatch34} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty34}{\showpaste} +\tab{5}\spadcommand{prf:=sg * f- pdf * g1\free{f }\free{sg }\free{pdf }\free{g1 }\bound{prf }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch35} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull35}{OrderlyDifferentialPolynomialXmpPageEmpty35} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull35}{\hidepaste} +\tab{5}\spadcommand{lcf:=leadingCoefficient univariate(prf, lg)\free{prf }\free{lg }\bound{lcf }} +\indentrel{3}\begin{verbatim} + 2 2 + (35) 3w z + 1 1 + Type: OrderlyDifferentialPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty35} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty35}{OrderlyDifferentialPolynomialXmpPagePatch35} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty35}{\showpaste} +\tab{5}\spadcommand{lcf:=leadingCoefficient univariate(prf, lg)\free{prf }\free{lg }\bound{lcf }} +\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch36} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull36}{OrderlyDifferentialPolynomialXmpPageEmpty36} +\pastebutton{OrderlyDifferentialPolynomialXmpPageFull36}{\hidepaste} +\tab{5}\spadcommand{ig * prf - lcf * g * lg\free{ig }\free{prf }\free{lcf }\free{g }\free{lg }} +\indentrel{3}\begin{verbatim} + 6 2 3 2 2 + (36) 2z z w - w z w + 3w z w z + 1 2 4 1 1 3 1 1 2 2 + Type: OrderlyDifferentialPolynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty36} +\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty36}{OrderlyDifferentialPolynomialXmpPagePatch36} +\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty36}{\showpaste} +\tab{5}\spadcommand{ig * prf - lcf * g * lg\free{ig }\free{prf }\free{lcf }\free{g }\free{lg }} +\end{paste}\end{patch} + @ \section{op.ht} \pagehead{OperatorXmpPage}{op.ht}{Operator} @@ -17286,6 +46866,379 @@ Here is the evaluation. \autobuttons \end{page} +\begin{patch}{OperatorXmpPagePatch1} +\begin{paste}{OperatorXmpPageFull1}{OperatorXmpPageEmpty1} +\pastebutton{OperatorXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{R := SQMATRIX(2, INT)\bound{r }} +\indentrel{3}\begin{verbatim} + (1) SquareMatrix(2,Integer) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPageEmpty1} +\begin{paste}{OperatorXmpPageEmpty1}{OperatorXmpPagePatch1} +\pastebutton{OperatorXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{R := SQMATRIX(2, INT)\bound{r }} +\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPagePatch2} +\begin{paste}{OperatorXmpPageFull2}{OperatorXmpPageEmpty2} +\pastebutton{OperatorXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{t := operator("tilde") :: OP(R)\free{r }\bound{t }} +\indentrel{3}\begin{verbatim} + (2) tilde + Type: Operator SquareMatrix(2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPageEmpty2} +\begin{paste}{OperatorXmpPageEmpty2}{OperatorXmpPagePatch2} +\pastebutton{OperatorXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{t := operator("tilde") :: OP(R)\free{r }\bound{t }} +\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPagePatch3} +\begin{paste}{OperatorXmpPageFull3}{OperatorXmpPageEmpty3} +\pastebutton{OperatorXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{)set expose add constructor Operator\free{t }\bound{expose }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPageEmpty3} +\begin{paste}{OperatorXmpPageEmpty3}{OperatorXmpPagePatch3} +\pastebutton{OperatorXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{)set expose add constructor Operator\free{t }\bound{expose }} +\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPagePatch4} +\begin{paste}{OperatorXmpPageFull4}{OperatorXmpPageEmpty4} +\pastebutton{OperatorXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{evaluate(t, m +-> transpose m)\free{expose }\free{t }\bound{evt }} +\indentrel{3}\begin{verbatim} + (3) tilde + Type: Operator SquareMatrix(2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPageEmpty4} +\begin{paste}{OperatorXmpPageEmpty4}{OperatorXmpPagePatch4} +\pastebutton{OperatorXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{evaluate(t, m +-> transpose m)\free{expose }\free{t }\bound{evt }} +\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPagePatch5} +\begin{paste}{OperatorXmpPageFull5}{OperatorXmpPageEmpty5} +\pastebutton{OperatorXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{s : R := matrix [[0, 1], [1, 0]]\bound{s }} +\indentrel{3}\begin{verbatim} + Ú0 1¿ + (4) ³ ³ + À1 0Ù + Type: SquareMatrix(2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPageEmpty5} +\begin{paste}{OperatorXmpPageEmpty5}{OperatorXmpPagePatch5} +\pastebutton{OperatorXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{s : R := matrix [[0, 1], [1, 0]]\bound{s }} +\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPagePatch6} +\begin{paste}{OperatorXmpPageFull6}{OperatorXmpPageEmpty6} +\pastebutton{OperatorXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{rho := t * s\free{evt s }\bound{rho }} +\indentrel{3}\begin{verbatim} + Ú0 1¿ + (5) tilde³ ³ + À1 0Ù + Type: Operator SquareMatrix(2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPageEmpty6} +\begin{paste}{OperatorXmpPageEmpty6}{OperatorXmpPagePatch6} +\pastebutton{OperatorXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{rho := t * s\free{evt s }\bound{rho }} +\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPagePatch7} +\begin{paste}{OperatorXmpPageFull7}{OperatorXmpPageEmpty7} +\pastebutton{OperatorXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{z := rho**4 - 1\free{rho }\bound{z }} +\indentrel{3}\begin{verbatim} + (6) + Ú0 1¿ Ú0 1¿ Ú0 1¿ Ú0 1¿ + - 1 + tilde³ ³tilde³ ³tilde³ ³tilde³ ³ + À1 0Ù À1 0Ù À1 0Ù À1 0Ù + Type: Operator SquareMatrix(2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPageEmpty7} +\begin{paste}{OperatorXmpPageEmpty7}{OperatorXmpPagePatch7} +\pastebutton{OperatorXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{z := rho**4 - 1\free{rho }\bound{z }} +\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPagePatch8} +\begin{paste}{OperatorXmpPageFull8}{OperatorXmpPageEmpty8} +\pastebutton{OperatorXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{m:R := matrix [[1, 2], [3, 4]]\bound{m }} +\indentrel{3}\begin{verbatim} + Ú1 2¿ + (7) ³ ³ + À3 4Ù + Type: SquareMatrix(2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPageEmpty8} +\begin{paste}{OperatorXmpPageEmpty8}{OperatorXmpPagePatch8} +\pastebutton{OperatorXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{m:R := matrix [[1, 2], [3, 4]]\bound{m }} +\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPagePatch9} +\begin{paste}{OperatorXmpPageFull9}{OperatorXmpPageEmpty9} +\pastebutton{OperatorXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{z m\free{z m }} +\indentrel{3}\begin{verbatim} + Ú0 0¿ + (8) ³ ³ + À0 0Ù + Type: SquareMatrix(2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPageEmpty9} +\begin{paste}{OperatorXmpPageEmpty9}{OperatorXmpPagePatch9} +\pastebutton{OperatorXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{z m\free{z m }} +\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPagePatch10} +\begin{paste}{OperatorXmpPageFull10}{OperatorXmpPageEmpty10} +\pastebutton{OperatorXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{rho m\free{rho m }} +\indentrel{3}\begin{verbatim} + Ú3 1¿ + (9) ³ ³ + À4 2Ù + Type: SquareMatrix(2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPageEmpty10} +\begin{paste}{OperatorXmpPageEmpty10}{OperatorXmpPagePatch10} +\pastebutton{OperatorXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{rho m\free{rho m }} +\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPagePatch11} +\begin{paste}{OperatorXmpPageFull11}{OperatorXmpPageEmpty11} +\pastebutton{OperatorXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{rho rho m\free{rho m }} +\indentrel{3}\begin{verbatim} + Ú4 3¿ + (10) ³ ³ + À2 1Ù + Type: SquareMatrix(2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPageEmpty11} +\begin{paste}{OperatorXmpPageEmpty11}{OperatorXmpPagePatch11} +\pastebutton{OperatorXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{rho rho m\free{rho m }} +\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPagePatch12} +\begin{paste}{OperatorXmpPageFull12}{OperatorXmpPageEmpty12} +\pastebutton{OperatorXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{(rho**3) m\free{rho m }} +\indentrel{3}\begin{verbatim} + Ú2 4¿ + (11) ³ ³ + À1 3Ù + Type: SquareMatrix(2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPageEmpty12} +\begin{paste}{OperatorXmpPageEmpty12}{OperatorXmpPagePatch12} +\pastebutton{OperatorXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{(rho**3) m\free{rho m }} +\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPagePatch13} +\begin{paste}{OperatorXmpPageFull13}{OperatorXmpPageEmpty13} +\pastebutton{OperatorXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{b := t * s - s * t\free{s evt }\bound{b }} +\indentrel{3}\begin{verbatim} + Ú0 1¿ Ú0 1¿ + (12) - ³ ³tilde + tilde³ ³ + À1 0Ù À1 0Ù + Type: Operator SquareMatrix(2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPageEmpty13} +\begin{paste}{OperatorXmpPageEmpty13}{OperatorXmpPagePatch13} +\pastebutton{OperatorXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{b := t * s - s * t\free{s evt }\bound{b }} +\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPagePatch14} +\begin{paste}{OperatorXmpPageFull14}{OperatorXmpPageEmpty14} +\pastebutton{OperatorXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{b m\free{b m }} +\indentrel{3}\begin{verbatim} + Ú1 - 3¿ + (13) ³ ³ + À3 - 1Ù + Type: SquareMatrix(2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPageEmpty14} +\begin{paste}{OperatorXmpPageEmpty14}{OperatorXmpPagePatch14} +\pastebutton{OperatorXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{b m\free{b m }} +\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPagePatch15} +\begin{paste}{OperatorXmpPageFull15}{OperatorXmpPageEmpty15} +\pastebutton{OperatorXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{L n == + n = 0 => 1 + n = 1 => x + (2*n-1)/n * x * L(n-1) - (n-1)/n * L(n-2) +\bound{l }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPageEmpty15} +\begin{paste}{OperatorXmpPageEmpty15}{OperatorXmpPagePatch15} +\pastebutton{OperatorXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{L n == + n = 0 => 1 + n = 1 => x + (2*n-1)/n * x * L(n-1) - (n-1)/n * L(n-2) +\bound{l }} +\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPagePatch16} +\begin{paste}{OperatorXmpPageFull16}{OperatorXmpPageEmpty16} +\pastebutton{OperatorXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{dx := operator("D") :: OP(POLY FRAC INT)\bound{dx }} +\indentrel{3}\begin{verbatim} + (15) D + Type: Operator Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPageEmpty16} +\begin{paste}{OperatorXmpPageEmpty16}{OperatorXmpPagePatch16} +\pastebutton{OperatorXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{dx := operator("D") :: OP(POLY FRAC INT)\bound{dx }} +\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPagePatch17} +\begin{paste}{OperatorXmpPageFull17}{OperatorXmpPageEmpty17} +\pastebutton{OperatorXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{evaluate(dx, p +-> D(p, 'x))\free{dx }\bound{edx }} +\indentrel{3}\begin{verbatim} + (16) D + Type: Operator Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPageEmpty17} +\begin{paste}{OperatorXmpPageEmpty17}{OperatorXmpPagePatch17} +\pastebutton{OperatorXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{evaluate(dx, p +-> D(p, 'x))\free{dx }\bound{edx }} +\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPagePatch18} +\begin{paste}{OperatorXmpPageFull18}{OperatorXmpPageEmpty18} +\pastebutton{OperatorXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{E n == (1 - x**2) * dx**2 - 2 * x * dx + n*(n+1)\free{edx }\bound{E }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPageEmpty18} +\begin{paste}{OperatorXmpPageEmpty18}{OperatorXmpPagePatch18} +\pastebutton{OperatorXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{E n == (1 - x**2) * dx**2 - 2 * x * dx + n*(n+1)\free{edx }\bound{E }} +\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPagePatch19} +\begin{paste}{OperatorXmpPageFull19}{OperatorXmpPageEmpty19} +\pastebutton{OperatorXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{L 15\free{L }} +\indentrel{3}\begin{verbatim} + (18) + 9694845 15 35102025 13 50702925 11 + ÄÄÄÄÄÄÄ x - ÄÄÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄÄ x + 2048 2048 2048 + + + 37182145 9 14549535 7 2909907 5 255255 3 + - ÄÄÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄÄ x - ÄÄÄÄÄÄÄ x + ÄÄÄÄÄÄ x + 2048 2048 2048 2048 + + + 6435 + - ÄÄÄÄ x + 2048 + Type: Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPageEmpty19} +\begin{paste}{OperatorXmpPageEmpty19}{OperatorXmpPagePatch19} +\pastebutton{OperatorXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{L 15\free{L }} +\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPagePatch20} +\begin{paste}{OperatorXmpPageFull20}{OperatorXmpPageEmpty20} +\pastebutton{OperatorXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{E 15\free{E }} +\indentrel{3}\begin{verbatim} + 2 2 + (19) 240 - 2x D - (x - 1)D + Type: Operator Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPageEmpty20} +\begin{paste}{OperatorXmpPageEmpty20}{OperatorXmpPagePatch20} +\pastebutton{OperatorXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{E 15\free{E }} +\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPagePatch21} +\begin{paste}{OperatorXmpPageFull21}{OperatorXmpPageEmpty21} +\pastebutton{OperatorXmpPageFull21}{\hidepaste} +\tab{5}\spadcommand{(E 15)(L 15)\free{L E }} +\indentrel{3}\begin{verbatim} + (20) 0 + Type: Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OperatorXmpPageEmpty21} +\begin{paste}{OperatorXmpPageEmpty21}{OperatorXmpPagePatch21} +\pastebutton{OperatorXmpPageEmpty21}{\showpaste} +\tab{5}\spadcommand{(E 15)(L 15)\free{L E }} +\end{paste}\end{patch} + @ \section{ovar.ht} \pagehead{OrderedVariableListXmpPage}{ovar.ht}{OrderedVariableList} @@ -17326,6 +47279,86 @@ Check that the ordering is right \autobuttons \end{page} +\begin{patch}{OrderedVariableListXmpPagePatch1} +\begin{paste}{OrderedVariableListXmpPageFull1}{OrderedVariableListXmpPageEmpty1} +\pastebutton{OrderedVariableListXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{ls:List Symbol:=['x,'a,'z]\bound{ls }} +\indentrel{3}\begin{verbatim} + (1) [x,a,z] + Type: List Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderedVariableListXmpPageEmpty1} +\begin{paste}{OrderedVariableListXmpPageEmpty1}{OrderedVariableListXmpPagePatch1} +\pastebutton{OrderedVariableListXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{ls:List Symbol:=['x,'a,'z]\bound{ls }} +\end{paste}\end{patch} + +\begin{patch}{OrderedVariableListXmpPagePatch2} +\begin{paste}{OrderedVariableListXmpPageFull2}{OrderedVariableListXmpPageEmpty2} +\pastebutton{OrderedVariableListXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{Z:=OVAR ls\bound{Z }\free{ls }} +\indentrel{3}\begin{verbatim} + (2) OrderedVariableList [x,a,z] + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderedVariableListXmpPageEmpty2} +\begin{paste}{OrderedVariableListXmpPageEmpty2}{OrderedVariableListXmpPagePatch2} +\pastebutton{OrderedVariableListXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{Z:=OVAR ls\bound{Z }\free{ls }} +\end{paste}\end{patch} + +\begin{patch}{OrderedVariableListXmpPagePatch3} +\begin{paste}{OrderedVariableListXmpPageFull3}{OrderedVariableListXmpPageEmpty3} +\pastebutton{OrderedVariableListXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{size()$Z\free{Z }} +\indentrel{3}\begin{verbatim} + (3) 3 + Type: NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderedVariableListXmpPageEmpty3} +\begin{paste}{OrderedVariableListXmpPageEmpty3}{OrderedVariableListXmpPagePatch3} +\pastebutton{OrderedVariableListXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{size()$Z\free{Z }} +\end{paste}\end{patch} + +\begin{patch}{OrderedVariableListXmpPagePatch4} +\begin{paste}{OrderedVariableListXmpPageFull4}{OrderedVariableListXmpPageEmpty4} +\pastebutton{OrderedVariableListXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{lv:=[index(i::PI)$Z for i in 1..size()$Z]\bound{lv }\free{Z }} +\indentrel{3}\begin{verbatim} + (4) [x,a,z] + Type: List OrderedVariableList [x,a,z] +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderedVariableListXmpPageEmpty4} +\begin{paste}{OrderedVariableListXmpPageEmpty4}{OrderedVariableListXmpPagePatch4} +\pastebutton{OrderedVariableListXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{lv:=[index(i::PI)$Z for i in 1..size()$Z]\bound{lv }\free{Z }} +\end{paste}\end{patch} + +\begin{patch}{OrderedVariableListXmpPagePatch5} +\begin{paste}{OrderedVariableListXmpPageFull5}{OrderedVariableListXmpPageEmpty5} +\pastebutton{OrderedVariableListXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{sorted?(>,lv)\free{lv }} +\indentrel{3}\begin{verbatim} + (5) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{OrderedVariableListXmpPageEmpty5} +\begin{paste}{OrderedVariableListXmpPageEmpty5}{OrderedVariableListXmpPagePatch5} +\pastebutton{OrderedVariableListXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{sorted?(>,lv)\free{lv }} +\end{paste}\end{patch} + @ \section{perman.ht} \pagehead{PermanentXmpPage}{perman.ht}{Permanent} @@ -17374,6 +47407,65 @@ Here are some derangement numbers, which you see grow quite fast. \autobuttons \end{page} +\begin{patch}{PermanentXmpPagePatch1} +\begin{paste}{PermanentXmpPageFull1}{PermanentXmpPageEmpty1} +\pastebutton{PermanentXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{kn n == + r : MATRIX INT := new(n,n,1) + for i in 1..n repeat + r.i.i := 0 + r +\bound{kn }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PermanentXmpPageEmpty1} +\begin{paste}{PermanentXmpPageEmpty1}{PermanentXmpPagePatch1} +\pastebutton{PermanentXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{kn n == + r : MATRIX INT := new(n,n,1) + for i in 1..n repeat + r.i.i := 0 + r +\bound{kn }} +\end{paste}\end{patch} + +\begin{patch}{PermanentXmpPagePatch2} +\begin{paste}{PermanentXmpPageFull2}{PermanentXmpPageEmpty2} +\pastebutton{PermanentXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{permanent(kn(5) :: SQMATRIX(5,INT))\free{kn }} +\indentrel{3}\begin{verbatim} + (2) 44 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PermanentXmpPageEmpty2} +\begin{paste}{PermanentXmpPageEmpty2}{PermanentXmpPagePatch2} +\pastebutton{PermanentXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{permanent(kn(5) :: SQMATRIX(5,INT))\free{kn }} +\end{paste}\end{patch} + +\begin{patch}{PermanentXmpPagePatch3} +\begin{paste}{PermanentXmpPageFull3}{PermanentXmpPageEmpty3} +\pastebutton{PermanentXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{[permanent(kn(n) :: SQMATRIX(n,INT)) for n in 1..13]\free{kn }} +\indentrel{3}\begin{verbatim} + (3) + [0, 1, 2, 9, 44, 265, 1854, 14833, 133496, 1334961, + 14684570, 176214841, 2290792932] + Type: List NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PermanentXmpPageEmpty3} +\begin{paste}{PermanentXmpPageEmpty3}{PermanentXmpPagePatch3} +\pastebutton{PermanentXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{[permanent(kn(n) :: SQMATRIX(n,INT)) for n in 1..13]\free{kn }} +\end{paste}\end{patch} + @ \section{pfr.ht} \pagehead{PartialFractionXmpPage}{pfr.ht}{PartialFraction} @@ -17512,6 +47604,210 @@ factor-free conversion of quotients to full partial fractions. \autobuttons \end{page} +\begin{patch}{PartialFractionXmpPagePatch1} +\begin{paste}{PartialFractionXmpPageFull1}{PartialFractionXmpPageEmpty1} +\pastebutton{PartialFractionXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{partialFraction(1,factorial 10)\bound{prev1 }} +\indentrel{3}\begin{verbatim} + 159 23 12 1 + (1) ÄÄÄ - ÄÄ - ÄÄ + Ä + 8 4 2 7 + 2 3 5 + Type: PartialFraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PartialFractionXmpPageEmpty1} +\begin{paste}{PartialFractionXmpPageEmpty1}{PartialFractionXmpPagePatch1} +\pastebutton{PartialFractionXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{partialFraction(1,factorial 10)\bound{prev1 }} +\end{paste}\end{patch} + +\begin{patch}{PartialFractionXmpPagePatch2} +\begin{paste}{PartialFractionXmpPageFull2}{PartialFractionXmpPageEmpty2} +\pastebutton{PartialFractionXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{f := padicFraction(\%)\free{prev1 }\bound{f }} +\indentrel{3}\begin{verbatim} + (2) + 1 1 1 1 1 1 2 1 2 2 2 1 + Ä + ÄÄ + ÄÄ + ÄÄ + ÄÄ + ÄÄ - ÄÄ - ÄÄ - ÄÄ - Ä - ÄÄ + Ä + 2 4 5 6 7 8 2 3 4 5 2 7 + 2 2 2 2 2 3 3 3 5 + Type: PartialFraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PartialFractionXmpPageEmpty2} +\begin{paste}{PartialFractionXmpPageEmpty2}{PartialFractionXmpPagePatch2} +\pastebutton{PartialFractionXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{f := padicFraction(\%)\free{prev1 }\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{PartialFractionXmpPagePatch3} +\begin{paste}{PartialFractionXmpPageFull3}{PartialFractionXmpPageEmpty3} +\pastebutton{PartialFractionXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{compactFraction(f)\free{f }} +\indentrel{3}\begin{verbatim} + 159 23 12 1 + (3) ÄÄÄ - ÄÄ - ÄÄ + Ä + 8 4 2 7 + 2 3 5 + Type: PartialFraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PartialFractionXmpPageEmpty3} +\begin{paste}{PartialFractionXmpPageEmpty3}{PartialFractionXmpPagePatch3} +\pastebutton{PartialFractionXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{compactFraction(f)\free{f }} +\end{paste}\end{patch} + +\begin{patch}{PartialFractionXmpPagePatch4} +\begin{paste}{PartialFractionXmpPageFull4}{PartialFractionXmpPageEmpty4} +\pastebutton{PartialFractionXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{numberOfFractionalTerms(f)\free{f }} +\indentrel{3}\begin{verbatim} + (4) 12 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PartialFractionXmpPageEmpty4} +\begin{paste}{PartialFractionXmpPageEmpty4}{PartialFractionXmpPagePatch4} +\pastebutton{PartialFractionXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{numberOfFractionalTerms(f)\free{f }} +\end{paste}\end{patch} + +\begin{patch}{PartialFractionXmpPagePatch5} +\begin{paste}{PartialFractionXmpPageFull5}{PartialFractionXmpPageEmpty5} +\pastebutton{PartialFractionXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{nthFractionalTerm(f,3)\free{f }} +\indentrel{3}\begin{verbatim} + 1 + (5) ÄÄ + 5 + 2 + Type: PartialFraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PartialFractionXmpPageEmpty5} +\begin{paste}{PartialFractionXmpPageEmpty5}{PartialFractionXmpPagePatch5} +\pastebutton{PartialFractionXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{nthFractionalTerm(f,3)\free{f }} +\end{paste}\end{patch} + +\begin{patch}{PartialFractionXmpPagePatch6} +\begin{paste}{PartialFractionXmpPageFull6}{PartialFractionXmpPageEmpty6} +\pastebutton{PartialFractionXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{partialFraction(1,- 13 + 14 * \%i)\bound{prev2 }} +\indentrel{3}\begin{verbatim} + 1 4 + (6) - ÄÄÄÄÄÄÄ + ÄÄÄÄÄÄÄ + 1 + 2%i 3 + 8%i + Type: PartialFraction Complex Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PartialFractionXmpPageEmpty6} +\begin{paste}{PartialFractionXmpPageEmpty6}{PartialFractionXmpPagePatch6} +\pastebutton{PartialFractionXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{partialFraction(1,- 13 + 14 * \%i)\bound{prev2 }} +\end{paste}\end{patch} + +\begin{patch}{PartialFractionXmpPagePatch7} +\begin{paste}{PartialFractionXmpPageFull7}{PartialFractionXmpPageEmpty7} +\pastebutton{PartialFractionXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{\% :: Fraction Complex Integer\free{prev2 }} +\indentrel{3}\begin{verbatim} + %i + (7) - ÄÄÄÄÄÄÄÄÄ + 14 + 13%i + Type: Fraction Complex Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PartialFractionXmpPageEmpty7} +\begin{paste}{PartialFractionXmpPageEmpty7}{PartialFractionXmpPagePatch7} +\pastebutton{PartialFractionXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{\% :: Fraction Complex Integer\free{prev2 }} +\end{paste}\end{patch} + +\begin{patch}{PartialFractionXmpPagePatch8} +\begin{paste}{PartialFractionXmpPageFull8}{PartialFractionXmpPageEmpty8} +\pastebutton{PartialFractionXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{u : FR UP(x, FRAC INT) := reduce(*,[primeFactor(x+i,i) for i in 1..4])\bound{u }} +\indentrel{3}\begin{verbatim} + 2 3 4 + (8) (x + 1)(x + 2) (x + 3) (x + 4) +Type: Factored UnivariatePolynomial(x,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PartialFractionXmpPageEmpty8} +\begin{paste}{PartialFractionXmpPageEmpty8}{PartialFractionXmpPagePatch8} +\pastebutton{PartialFractionXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{u : FR UP(x, FRAC INT) := reduce(*,[primeFactor(x+i,i) for i in 1..4])\bound{u }} +\end{paste}\end{patch} + +\begin{patch}{PartialFractionXmpPagePatch9} +\begin{paste}{PartialFractionXmpPageFull9}{PartialFractionXmpPageEmpty9} +\pastebutton{PartialFractionXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{partialFraction(1,u)\free{u }\bound{prev3 }} +\indentrel{3}\begin{verbatim} + (9) + 1 1 7 17 2 139 + ÄÄÄ Ä x + ÄÄ - ÄÄ x - 12x - ÄÄÄ + 648 4 16 8 8 + ÄÄÄÄÄ + ÄÄÄÄÄÄÄÄ + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + x + 1 2 3 + (x + 2) (x + 3) + + + 607 3 10115 2 391 44179 + ÄÄÄ x + ÄÄÄÄÄ x + ÄÄÄ x + ÄÄÄÄÄ + 324 432 4 324 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 4 + (x + 4) +Type: PartialFraction UnivariatePolynomial(x,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PartialFractionXmpPageEmpty9} +\begin{paste}{PartialFractionXmpPageEmpty9}{PartialFractionXmpPagePatch9} +\pastebutton{PartialFractionXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{partialFraction(1,u)\free{u }\bound{prev3 }} +\end{paste}\end{patch} + +\begin{patch}{PartialFractionXmpPagePatch10} +\begin{paste}{PartialFractionXmpPageFull10}{PartialFractionXmpPageEmpty10} +\pastebutton{PartialFractionXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{padicFraction \%\free{prev3 }} +\indentrel{3}\begin{verbatim} + (10) + 1 1 1 17 3 + ÄÄÄ Ä ÄÄ ÄÄ Ä + 648 4 16 8 4 + ÄÄÄÄÄ + ÄÄÄÄÄ - ÄÄÄÄÄÄÄÄ - ÄÄÄÄÄ + ÄÄÄÄÄÄÄÄ + x + 1 x + 2 2 x + 3 2 + (x + 2) (x + 3) + + + 1 607 403 13 1 + Ä ÄÄÄ ÄÄÄ ÄÄ ÄÄ + 2 324 432 36 12 + - ÄÄÄÄÄÄÄÄ + ÄÄÄÄÄ + ÄÄÄÄÄÄÄÄ + ÄÄÄÄÄÄÄÄ + ÄÄÄÄÄÄÄÄ + 3 x + 4 2 3 4 + (x + 3) (x + 4) (x + 4) (x + 4) +Type: PartialFraction UnivariatePolynomial(x,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PartialFractionXmpPageEmpty10} +\begin{paste}{PartialFractionXmpPageEmpty10}{PartialFractionXmpPagePatch10} +\pastebutton{PartialFractionXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{padicFraction \%\free{prev3 }} +\end{paste}\end{patch} + @ \section{poly.ht} \pagehead{PolynomialPage}{poly.ht}{Polynomials} @@ -17624,6 +47920,322 @@ in the polynomial \spad{r(x,y)}. \autobuttons \end{page} +\begin{patch}{PolynomialBasicPagePatch1} +\begin{paste}{PolynomialBasicPageFull1}{PolynomialBasicPageEmpty1} +\pastebutton{PolynomialBasicPageFull1}{\hidepaste} +\tab{5}\spadcommand{p := a*x**2 + b*x*y + c*y**2\bound{p }} +\indentrel{3}\begin{verbatim} + 2 2 + (1) c y + b x y + a x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPageEmpty1} +\begin{paste}{PolynomialBasicPageEmpty1}{PolynomialBasicPagePatch1} +\pastebutton{PolynomialBasicPageEmpty1}{\showpaste} +\tab{5}\spadcommand{p := a*x**2 + b*x*y + c*y**2\bound{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPagePatch2} +\begin{paste}{PolynomialBasicPageFull2}{PolynomialBasicPageEmpty2} +\pastebutton{PolynomialBasicPageFull2}{\hidepaste} +\tab{5}\spadcommand{q := 13*x**2 + 3*z\bound{q }} +\indentrel{3}\begin{verbatim} + 2 + (2) 3z + 13x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPageEmpty2} +\begin{paste}{PolynomialBasicPageEmpty2}{PolynomialBasicPagePatch2} +\pastebutton{PolynomialBasicPageEmpty2}{\showpaste} +\tab{5}\spadcommand{q := 13*x**2 + 3*z\bound{q }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPagePatch3} +\begin{paste}{PolynomialBasicPageFull3}{PolynomialBasicPageEmpty3} +\pastebutton{PolynomialBasicPageFull3}{\hidepaste} +\tab{5}\spadcommand{p + q\free{p q }} +\indentrel{3}\begin{verbatim} + 2 2 + (3) 3z + c y + b x y + (a + 13)x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPageEmpty3} +\begin{paste}{PolynomialBasicPageEmpty3}{PolynomialBasicPagePatch3} +\pastebutton{PolynomialBasicPageEmpty3}{\showpaste} +\tab{5}\spadcommand{p + q\free{p q }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPagePatch4} +\begin{paste}{PolynomialBasicPageFull4}{PolynomialBasicPageEmpty4} +\pastebutton{PolynomialBasicPageFull4}{\hidepaste} +\tab{5}\spadcommand{p - 3*q\free{p q }} +\indentrel{3}\begin{verbatim} + 2 2 + (4) - 9z + c y + b x y + (a - 39)x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPageEmpty4} +\begin{paste}{PolynomialBasicPageEmpty4}{PolynomialBasicPagePatch4} +\pastebutton{PolynomialBasicPageEmpty4}{\showpaste} +\tab{5}\spadcommand{p - 3*q\free{p q }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPagePatch5} +\begin{paste}{PolynomialBasicPageFull5}{PolynomialBasicPageEmpty5} +\pastebutton{PolynomialBasicPageFull5}{\hidepaste} +\tab{5}\spadcommand{p**2 + p*q\free{p q }} +\indentrel{3}\begin{verbatim} + (5) + 2 2 2 4 3 + (3c y + 3b x y + 3a x )z + c y + 2b c x y + + + 2 2 2 3 2 4 + ((2a + 13)c + b )x y + (2a + 13)b x y + (a + 13a)x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPageEmpty5} +\begin{paste}{PolynomialBasicPageEmpty5}{PolynomialBasicPagePatch5} +\pastebutton{PolynomialBasicPageEmpty5}{\showpaste} +\tab{5}\spadcommand{p**2 + p*q\free{p q }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPagePatch6} +\begin{paste}{PolynomialBasicPageFull6}{PolynomialBasicPageEmpty6} +\pastebutton{PolynomialBasicPageFull6}{\hidepaste} +\tab{5}\spadcommand{r := (p + q)**2\bound{r }\free{p q }} +\indentrel{3}\begin{verbatim} + (6) + 2 2 2 2 4 + 9z + (6c y + 6b x y + (6a + 78)x )z + c y + + + 3 2 2 2 3 + 2b c x y + ((2a + 26)c + b )x y + (2a + 26)b x y + + + 2 4 + (a + 26a + 169)x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPageEmpty6} +\begin{paste}{PolynomialBasicPageEmpty6}{PolynomialBasicPagePatch6} +\pastebutton{PolynomialBasicPageEmpty6}{\showpaste} +\tab{5}\spadcommand{r := (p + q)**2\bound{r }\free{p q }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPagePatch7} +\begin{paste}{PolynomialBasicPageFull7}{PolynomialBasicPageEmpty7} +\pastebutton{PolynomialBasicPageFull7}{\hidepaste} +\tab{5}\spadcommand{setVariableOrder [a,b,c,x,y,z]\bound{vord }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPageEmpty7} +\begin{paste}{PolynomialBasicPageEmpty7}{PolynomialBasicPagePatch7} +\pastebutton{PolynomialBasicPageEmpty7}{\showpaste} +\tab{5}\spadcommand{setVariableOrder [a,b,c,x,y,z]\bound{vord }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPagePatch8} +\begin{paste}{PolynomialBasicPageFull8}{PolynomialBasicPageEmpty8} +\pastebutton{PolynomialBasicPageFull8}{\hidepaste} +\tab{5}\spadcommand{p\free{p vord }} +\indentrel{3}\begin{verbatim} + 2 2 + (8) x a + y x b + y c + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPageEmpty8} +\begin{paste}{PolynomialBasicPageEmpty8}{PolynomialBasicPagePatch8} +\pastebutton{PolynomialBasicPageEmpty8}{\showpaste} +\tab{5}\spadcommand{p\free{p vord }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPagePatch9} +\begin{paste}{PolynomialBasicPageFull9}{PolynomialBasicPageEmpty9} +\pastebutton{PolynomialBasicPageFull9}{\hidepaste} +\tab{5}\spadcommand{q\free{q vord }} +\indentrel{3}\begin{verbatim} + 2 + (9) 13x + 3z + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPageEmpty9} +\begin{paste}{PolynomialBasicPageEmpty9}{PolynomialBasicPagePatch9} +\pastebutton{PolynomialBasicPageEmpty9}{\showpaste} +\tab{5}\spadcommand{q\free{q vord }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPagePatch10} +\begin{paste}{PolynomialBasicPageFull10}{PolynomialBasicPageEmpty10} +\pastebutton{PolynomialBasicPageFull10}{\hidepaste} +\tab{5}\spadcommand{r\free{r vord }} +\indentrel{3}\begin{verbatim} + (10) + 4 2 3 2 2 4 2 2 2 2 + x a + (2y x b + 2y x c + 26x + 6z x )a + y x b + + + 3 3 4 2 + (2y x c + 26y x + 6z y x)b + y c + + + 2 2 2 4 2 2 + (26y x + 6z y )c + 169x + 78z x + 9z + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPageEmpty10} +\begin{paste}{PolynomialBasicPageEmpty10}{PolynomialBasicPagePatch10} +\pastebutton{PolynomialBasicPageEmpty10}{\showpaste} +\tab{5}\spadcommand{r\free{r vord }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPagePatch11} +\begin{paste}{PolynomialBasicPageFull11}{PolynomialBasicPageEmpty11} +\pastebutton{PolynomialBasicPageFull11}{\hidepaste} +\tab{5}\spadcommand{resetVariableOrder()\bound{rvord }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPageEmpty11} +\begin{paste}{PolynomialBasicPageEmpty11}{PolynomialBasicPagePatch11} +\pastebutton{PolynomialBasicPageEmpty11}{\showpaste} +\tab{5}\spadcommand{resetVariableOrder()\bound{rvord }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPagePatch12} +\begin{paste}{PolynomialBasicPageFull12}{PolynomialBasicPageEmpty12} +\pastebutton{PolynomialBasicPageFull12}{\hidepaste} +\tab{5}\spadcommand{p\free{p rvord }} +\indentrel{3}\begin{verbatim} + 2 2 + (12) c y + b x y + a x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPageEmpty12} +\begin{paste}{PolynomialBasicPageEmpty12}{PolynomialBasicPagePatch12} +\pastebutton{PolynomialBasicPageEmpty12}{\showpaste} +\tab{5}\spadcommand{p\free{p rvord }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPagePatch13} +\begin{paste}{PolynomialBasicPageFull13}{PolynomialBasicPageEmpty13} +\pastebutton{PolynomialBasicPageFull13}{\hidepaste} +\tab{5}\spadcommand{coefficient(q,x,2)\free{q }} +\indentrel{3}\begin{verbatim} + (13) 13 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPageEmpty13} +\begin{paste}{PolynomialBasicPageEmpty13}{PolynomialBasicPagePatch13} +\pastebutton{PolynomialBasicPageEmpty13}{\showpaste} +\tab{5}\spadcommand{coefficient(q,x,2)\free{q }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPagePatch14} +\begin{paste}{PolynomialBasicPageFull14}{PolynomialBasicPageEmpty14} +\pastebutton{PolynomialBasicPageFull14}{\hidepaste} +\tab{5}\spadcommand{coefficient(r,x,3)\free{r }} +\indentrel{3}\begin{verbatim} + (14) (2a + 26)b y + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPageEmpty14} +\begin{paste}{PolynomialBasicPageEmpty14}{PolynomialBasicPagePatch14} +\pastebutton{PolynomialBasicPageEmpty14}{\showpaste} +\tab{5}\spadcommand{coefficient(r,x,3)\free{r }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPagePatch15} +\begin{paste}{PolynomialBasicPageFull15}{PolynomialBasicPageEmpty15} +\pastebutton{PolynomialBasicPageFull15}{\hidepaste} +\tab{5}\spadcommand{c := coefficient(r,z,1)\free{r }\bound{c }} +\indentrel{3}\begin{verbatim} + 2 2 + (15) 6c y + 6b x y + (6a + 78)x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPageEmpty15} +\begin{paste}{PolynomialBasicPageEmpty15}{PolynomialBasicPagePatch15} +\pastebutton{PolynomialBasicPageEmpty15}{\showpaste} +\tab{5}\spadcommand{c := coefficient(r,z,1)\free{r }\bound{c }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPagePatch16} +\begin{paste}{PolynomialBasicPageFull16}{PolynomialBasicPageEmpty16} +\pastebutton{PolynomialBasicPageFull16}{\hidepaste} +\tab{5}\spadcommand{coefficient(c,x,2)\free{c }} +\indentrel{3}\begin{verbatim} + (16) 6a + 78 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPageEmpty16} +\begin{paste}{PolynomialBasicPageEmpty16}{PolynomialBasicPagePatch16} +\pastebutton{PolynomialBasicPageEmpty16}{\showpaste} +\tab{5}\spadcommand{coefficient(c,x,2)\free{c }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPagePatch17} +\begin{paste}{PolynomialBasicPageFull17}{PolynomialBasicPageEmpty17} +\pastebutton{PolynomialBasicPageFull17}{\hidepaste} +\tab{5}\spadcommand{coefficient(q**2, [x,z], [2,1])\free{q }} +\indentrel{3}\begin{verbatim} + (17) 78 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPageEmpty17} +\begin{paste}{PolynomialBasicPageEmpty17}{PolynomialBasicPagePatch17} +\pastebutton{PolynomialBasicPageEmpty17}{\showpaste} +\tab{5}\spadcommand{coefficient(q**2, [x,z], [2,1])\free{q }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPagePatch18} +\begin{paste}{PolynomialBasicPageFull18}{PolynomialBasicPageEmpty18} +\pastebutton{PolynomialBasicPageFull18}{\hidepaste} +\tab{5}\spadcommand{coefficient(r, [x,y], [2,2])\free{r }} +\indentrel{3}\begin{verbatim} + 2 + (18) (2a + 26)c + b + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialBasicPageEmpty18} +\begin{paste}{PolynomialBasicPageEmpty18}{PolynomialBasicPagePatch18} +\pastebutton{PolynomialBasicPageEmpty18}{\showpaste} +\tab{5}\spadcommand{coefficient(r, [x,y], [2,2])\free{r }} +\end{paste}\end{patch} + @ \pagehead{PolynomialSubstitutionPage}{poly.ht} {Polynomial Evaluation and Substitution} @@ -17658,6 +48270,124 @@ variables: \autobuttons \end{page} +\begin{patch}{PolynomialSubstitutionPagePatch1} +\begin{paste}{PolynomialSubstitutionPageFull1}{PolynomialSubstitutionPageEmpty1} +\pastebutton{PolynomialSubstitutionPageFull1}{\hidepaste} +\tab{5}\spadcommand{p := x**2 + y**2\bound{p }} +\indentrel{3}\begin{verbatim} + 2 2 + (1) y + x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialSubstitutionPageEmpty1} +\begin{paste}{PolynomialSubstitutionPageEmpty1}{PolynomialSubstitutionPagePatch1} +\pastebutton{PolynomialSubstitutionPageEmpty1}{\showpaste} +\tab{5}\spadcommand{p := x**2 + y**2\bound{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialSubstitutionPagePatch2} +\begin{paste}{PolynomialSubstitutionPageFull2}{PolynomialSubstitutionPageEmpty2} +\pastebutton{PolynomialSubstitutionPageFull2}{\hidepaste} +\tab{5}\spadcommand{eval(p,x=5)\free{p }} +\indentrel{3}\begin{verbatim} + 2 + (2) y + 25 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialSubstitutionPageEmpty2} +\begin{paste}{PolynomialSubstitutionPageEmpty2}{PolynomialSubstitutionPagePatch2} +\pastebutton{PolynomialSubstitutionPageEmpty2}{\showpaste} +\tab{5}\spadcommand{eval(p,x=5)\free{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialSubstitutionPagePatch3} +\begin{paste}{PolynomialSubstitutionPageFull3}{PolynomialSubstitutionPageEmpty3} +\pastebutton{PolynomialSubstitutionPageFull3}{\hidepaste} +\tab{5}\spadcommand{eval(p,[x = a + b,y = c + d])\free{p }} +\indentrel{3}\begin{verbatim} + 2 2 2 2 + (3) d + 2c d + c + b + 2a b + a + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialSubstitutionPageEmpty3} +\begin{paste}{PolynomialSubstitutionPageEmpty3}{PolynomialSubstitutionPagePatch3} +\pastebutton{PolynomialSubstitutionPageEmpty3}{\showpaste} +\tab{5}\spadcommand{eval(p,[x = a + b,y = c + d])\free{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialSubstitutionPagePatch4} +\begin{paste}{PolynomialSubstitutionPageFull4}{PolynomialSubstitutionPageEmpty4} +\pastebutton{PolynomialSubstitutionPageFull4}{\hidepaste} +\tab{5}\spadcommand{q := x**3 + 5*x - y**4\bound{q }} +\indentrel{3}\begin{verbatim} + 4 3 + (4) - y + x + 5x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialSubstitutionPageEmpty4} +\begin{paste}{PolynomialSubstitutionPageEmpty4}{PolynomialSubstitutionPagePatch4} +\pastebutton{PolynomialSubstitutionPageEmpty4}{\showpaste} +\tab{5}\spadcommand{q := x**3 + 5*x - y**4\bound{q }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialSubstitutionPagePatch5} +\begin{paste}{PolynomialSubstitutionPageFull5}{PolynomialSubstitutionPageEmpty5} +\pastebutton{PolynomialSubstitutionPageFull5}{\hidepaste} +\tab{5}\spadcommand{eval(q,[x=y,y=x])\free{q }} +\indentrel{3}\begin{verbatim} + 3 4 + (5) y + 5y - x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialSubstitutionPageEmpty5} +\begin{paste}{PolynomialSubstitutionPageEmpty5}{PolynomialSubstitutionPagePatch5} +\pastebutton{PolynomialSubstitutionPageEmpty5}{\showpaste} +\tab{5}\spadcommand{eval(q,[x=y,y=x])\free{q }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialSubstitutionPagePatch6} +\begin{paste}{PolynomialSubstitutionPageFull6}{PolynomialSubstitutionPageEmpty6} +\pastebutton{PolynomialSubstitutionPageFull6}{\hidepaste} +\tab{5}\spadcommand{px := eval(p, y = sin(2.0))\bound{px }\free{p }} +\indentrel{3}\begin{verbatim} + 2 + (6) x + 0.8268218104 3180595732 + Type: Polynomial Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialSubstitutionPageEmpty6} +\begin{paste}{PolynomialSubstitutionPageEmpty6}{PolynomialSubstitutionPagePatch6} +\pastebutton{PolynomialSubstitutionPageEmpty6}{\showpaste} +\tab{5}\spadcommand{px := eval(p, y = sin(2.0))\bound{px }\free{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialSubstitutionPagePatch7} +\begin{paste}{PolynomialSubstitutionPageFull7}{PolynomialSubstitutionPageEmpty7} +\pastebutton{PolynomialSubstitutionPageFull7}{\hidepaste} +\tab{5}\spadcommand{eval(px, x = cos(2.0))\free{px }} +\indentrel{3}\begin{verbatim} + (7) 1.0 + Type: Polynomial Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialSubstitutionPageEmpty7} +\begin{paste}{PolynomialSubstitutionPageEmpty7}{PolynomialSubstitutionPagePatch7} +\pastebutton{PolynomialSubstitutionPageEmpty7}{\showpaste} +\tab{5}\spadcommand{eval(px, x = cos(2.0))\free{px }} +\end{paste}\end{patch} + @ \pagehead{PolynomialGCDPage}{poly.ht} {Greatest Common Divisors, Resultants, and Discriminants} @@ -17684,6 +48414,73 @@ polynomials could have involved variables other than x.) \autobuttons \end{page} +\begin{patch}{PolynomialGCDPagePatch1} +\begin{paste}{PolynomialGCDPageFull1}{PolynomialGCDPageEmpty1} +\pastebutton{PolynomialGCDPageFull1}{\hidepaste} +\tab{5}\spadcommand{p := 3*x**8 + 2*x**7 + 6*x**2 + 7*x + 2\bound{p }} +\indentrel{3}\begin{verbatim} + 8 7 2 + (1) 3x + 2x + 6x + 7x + 2 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialGCDPageEmpty1} +\begin{paste}{PolynomialGCDPageEmpty1}{PolynomialGCDPagePatch1} +\pastebutton{PolynomialGCDPageEmpty1}{\showpaste} +\tab{5}\spadcommand{p := 3*x**8 + 2*x**7 + 6*x**2 + 7*x + 2\bound{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialGCDPagePatch2} +\begin{paste}{PolynomialGCDPageFull2}{PolynomialGCDPageEmpty2} +\pastebutton{PolynomialGCDPageFull2}{\hidepaste} +\tab{5}\spadcommand{q := 2*x**13 + 9*x**7 + 2*x**6 + 10*x + 5\bound{q }} +\indentrel{3}\begin{verbatim} + 13 7 6 + (2) 2x + 9x + 2x + 10x + 5 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialGCDPageEmpty2} +\begin{paste}{PolynomialGCDPageEmpty2}{PolynomialGCDPagePatch2} +\pastebutton{PolynomialGCDPageEmpty2}{\showpaste} +\tab{5}\spadcommand{q := 2*x**13 + 9*x**7 + 2*x**6 + 10*x + 5\bound{q }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialGCDPagePatch3} +\begin{paste}{PolynomialGCDPageFull3}{PolynomialGCDPageEmpty3} +\pastebutton{PolynomialGCDPageFull3}{\hidepaste} +\tab{5}\spadcommand{gcd(p,q)\free{p q }} +\indentrel{3}\begin{verbatim} + 7 + (3) x + 2x + 1 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialGCDPageEmpty3} +\begin{paste}{PolynomialGCDPageEmpty3}{PolynomialGCDPagePatch3} +\pastebutton{PolynomialGCDPageEmpty3}{\showpaste} +\tab{5}\spadcommand{gcd(p,q)\free{p q }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialGCDPagePatch4} +\begin{paste}{PolynomialGCDPageFull4}{PolynomialGCDPageEmpty4} +\pastebutton{PolynomialGCDPageFull4}{\hidepaste} +\tab{5}\spadcommand{resultant(p,q,x)\free{p q }} +\indentrel{3}\begin{verbatim} + (4) 0 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialGCDPageEmpty4} +\begin{paste}{PolynomialGCDPageEmpty4}{PolynomialGCDPagePatch4} +\pastebutton{PolynomialGCDPageEmpty4}{\showpaste} +\tab{5}\spadcommand{resultant(p,q,x)\free{p q }} +\end{paste}\end{patch} + @ \pagehead{PolynomialRootPage}{poly.ht}{Roots of Polynomials} <>= @@ -18071,6 +48868,779 @@ to display the full list of operations defined by \autobuttons \end{page} +\begin{patch}{PolynomialXmpPagePatch1} +\begin{paste}{PolynomialXmpPageFull1}{PolynomialXmpPageEmpty1} +\pastebutton{PolynomialXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{x + 1} +\indentrel{3}\begin{verbatim} + (1) x + 1 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty1} +\begin{paste}{PolynomialXmpPageEmpty1}{PolynomialXmpPagePatch1} +\pastebutton{PolynomialXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{x + 1} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch2} +\begin{paste}{PolynomialXmpPageFull2}{PolynomialXmpPageEmpty2} +\pastebutton{PolynomialXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{z - 2.3} +\indentrel{3}\begin{verbatim} + (2) z - 2.3 + Type: Polynomial Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty2} +\begin{paste}{PolynomialXmpPageEmpty2}{PolynomialXmpPagePatch2} +\pastebutton{PolynomialXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{z - 2.3} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch3} +\begin{paste}{PolynomialXmpPageFull3}{PolynomialXmpPageEmpty3} +\pastebutton{PolynomialXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{y**2 - z + 3/4} +\indentrel{3}\begin{verbatim} + 2 3 + (3) - z + y + Ä + 4 + Type: Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty3} +\begin{paste}{PolynomialXmpPageEmpty3}{PolynomialXmpPagePatch3} +\pastebutton{PolynomialXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{y**2 - z + 3/4} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch4} +\begin{paste}{PolynomialXmpPageFull4}{PolynomialXmpPageEmpty4} +\pastebutton{PolynomialXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{y **2 + x*y + y\bound{prev }} +\indentrel{3}\begin{verbatim} + 2 + (4) y + (x + 1)y + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty4} +\begin{paste}{PolynomialXmpPageEmpty4}{PolynomialXmpPagePatch4} +\pastebutton{PolynomialXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{y **2 + x*y + y\bound{prev }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch5} +\begin{paste}{PolynomialXmpPageFull5}{PolynomialXmpPageEmpty5} +\pastebutton{PolynomialXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{\% :: DMP([y,x],INT)\free{prev }} +\indentrel{3}\begin{verbatim} + 2 + (5) y + y x + y + Type: DistributedMultivariatePolynomial([y,x],Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty5} +\begin{paste}{PolynomialXmpPageEmpty5}{PolynomialXmpPagePatch5} +\pastebutton{PolynomialXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{\% :: DMP([y,x],INT)\free{prev }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch6} +\begin{paste}{PolynomialXmpPageFull6}{PolynomialXmpPageEmpty6} +\pastebutton{PolynomialXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{p := (y-1)**2 * x * z\bound{p }} +\indentrel{3}\begin{verbatim} + 2 + (6) (x y - 2x y + x)z + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty6} +\begin{paste}{PolynomialXmpPageEmpty6}{PolynomialXmpPagePatch6} +\pastebutton{PolynomialXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{p := (y-1)**2 * x * z\bound{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch7} +\begin{paste}{PolynomialXmpPageFull7}{PolynomialXmpPageEmpty7} +\pastebutton{PolynomialXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{q := (y-1) * x * (z+5)\bound{q }} +\indentrel{3}\begin{verbatim} + (7) (x y - x)z + 5x y - 5x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty7} +\begin{paste}{PolynomialXmpPageEmpty7}{PolynomialXmpPagePatch7} +\pastebutton{PolynomialXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{q := (y-1) * x * (z+5)\bound{q }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch8} +\begin{paste}{PolynomialXmpPageFull8}{PolynomialXmpPageEmpty8} +\pastebutton{PolynomialXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{factor(q)\free{q }} +\indentrel{3}\begin{verbatim} + (8) x(y - 1)(z + 5) + Type: Factored Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty8} +\begin{paste}{PolynomialXmpPageEmpty8}{PolynomialXmpPagePatch8} +\pastebutton{PolynomialXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{factor(q)\free{q }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch9} +\begin{paste}{PolynomialXmpPageFull9}{PolynomialXmpPageEmpty9} +\pastebutton{PolynomialXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{p - q**2\free{p q }} +\indentrel{3}\begin{verbatim} + (9) + 2 2 2 2 2 + (- x y + 2x y - x )z + + + 2 2 2 2 2 2 + ((- 10x + x)y + (20x - 2x)y - 10x + x)z - 25x y + + + 2 2 + 50x y - 25x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty9} +\begin{paste}{PolynomialXmpPageEmpty9}{PolynomialXmpPagePatch9} +\pastebutton{PolynomialXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{p - q**2\free{p q }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch10} +\begin{paste}{PolynomialXmpPageFull10}{PolynomialXmpPageEmpty10} +\pastebutton{PolynomialXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{gcd(p,q)\free{p q }\bound{prev4 }} +\indentrel{3}\begin{verbatim} + (10) x y - x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty10} +\begin{paste}{PolynomialXmpPageEmpty10}{PolynomialXmpPagePatch10} +\pastebutton{PolynomialXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{gcd(p,q)\free{p q }\bound{prev4 }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch11} +\begin{paste}{PolynomialXmpPageFull11}{PolynomialXmpPageEmpty11} +\pastebutton{PolynomialXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{factor \%\free{prev4 }} +\indentrel{3}\begin{verbatim} + (11) x(y - 1) + Type: Factored Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty11} +\begin{paste}{PolynomialXmpPageEmpty11}{PolynomialXmpPagePatch11} +\pastebutton{PolynomialXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{factor \%\free{prev4 }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch12} +\begin{paste}{PolynomialXmpPageFull12}{PolynomialXmpPageEmpty12} +\pastebutton{PolynomialXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{lcm(p,q)\free{p q }} +\indentrel{3}\begin{verbatim} + 2 2 2 + (12) (x y - 2x y + x)z + (5x y - 10x y + 5x)z + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty12} +\begin{paste}{PolynomialXmpPageEmpty12}{PolynomialXmpPagePatch12} +\pastebutton{PolynomialXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{lcm(p,q)\free{p q }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch13} +\begin{paste}{PolynomialXmpPageFull13}{PolynomialXmpPageEmpty13} +\pastebutton{PolynomialXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{content p\free{p }} +\indentrel{3}\begin{verbatim} + (13) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty13} +\begin{paste}{PolynomialXmpPageEmpty13}{PolynomialXmpPagePatch13} +\pastebutton{PolynomialXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{content p\free{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch14} +\begin{paste}{PolynomialXmpPageFull14}{PolynomialXmpPageEmpty14} +\pastebutton{PolynomialXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{resultant(p,q,z)\free{p q }} +\indentrel{3}\begin{verbatim} + 2 3 2 2 2 2 + (14) 5x y - 15x y + 15x y - 5x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty14} +\begin{paste}{PolynomialXmpPageEmpty14}{PolynomialXmpPagePatch14} +\pastebutton{PolynomialXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{resultant(p,q,z)\free{p q }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch15} +\begin{paste}{PolynomialXmpPageFull15}{PolynomialXmpPageEmpty15} +\pastebutton{PolynomialXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{resultant(p,q,x)\free{p }\free{q }} +\indentrel{3}\begin{verbatim} + (15) 0 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty15} +\begin{paste}{PolynomialXmpPageEmpty15}{PolynomialXmpPagePatch15} +\pastebutton{PolynomialXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{resultant(p,q,x)\free{p }\free{q }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch16} +\begin{paste}{PolynomialXmpPageFull16}{PolynomialXmpPageEmpty16} +\pastebutton{PolynomialXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{mainVariable p\free{p }} +\indentrel{3}\begin{verbatim} + (16) z + Type: Union(Symbol,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty16} +\begin{paste}{PolynomialXmpPageEmpty16}{PolynomialXmpPagePatch16} +\pastebutton{PolynomialXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{mainVariable p\free{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch17} +\begin{paste}{PolynomialXmpPageFull17}{PolynomialXmpPageEmpty17} +\pastebutton{PolynomialXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{mainVariable(1 :: POLY INT)} +\indentrel{3}\begin{verbatim} + (17) "failed" + Type: Union("failed",...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty17} +\begin{paste}{PolynomialXmpPageEmpty17}{PolynomialXmpPagePatch17} +\pastebutton{PolynomialXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{mainVariable(1 :: POLY INT)} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch18} +\begin{paste}{PolynomialXmpPageFull18}{PolynomialXmpPageEmpty18} +\pastebutton{PolynomialXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{ground? p\free{p }} +\indentrel{3}\begin{verbatim} + (18) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty18} +\begin{paste}{PolynomialXmpPageEmpty18}{PolynomialXmpPagePatch18} +\pastebutton{PolynomialXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{ground? p\free{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch19} +\begin{paste}{PolynomialXmpPageFull19}{PolynomialXmpPageEmpty19} +\pastebutton{PolynomialXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{ground?(1 :: POLY INT)} +\indentrel{3}\begin{verbatim} + (19) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty19} +\begin{paste}{PolynomialXmpPageEmpty19}{PolynomialXmpPagePatch19} +\pastebutton{PolynomialXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{ground?(1 :: POLY INT)} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch20} +\begin{paste}{PolynomialXmpPageFull20}{PolynomialXmpPageEmpty20} +\pastebutton{PolynomialXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{variables p\free{p }} +\indentrel{3}\begin{verbatim} + (20) [z,y,x] + Type: List Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty20} +\begin{paste}{PolynomialXmpPageEmpty20}{PolynomialXmpPagePatch20} +\pastebutton{PolynomialXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{variables p\free{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch21} +\begin{paste}{PolynomialXmpPageFull21}{PolynomialXmpPageEmpty21} +\pastebutton{PolynomialXmpPageFull21}{\hidepaste} +\tab{5}\spadcommand{degree(p,x)\free{p }} +\indentrel{3}\begin{verbatim} + (21) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty21} +\begin{paste}{PolynomialXmpPageEmpty21}{PolynomialXmpPagePatch21} +\pastebutton{PolynomialXmpPageEmpty21}{\showpaste} +\tab{5}\spadcommand{degree(p,x)\free{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch22} +\begin{paste}{PolynomialXmpPageFull22}{PolynomialXmpPageEmpty22} +\pastebutton{PolynomialXmpPageFull22}{\hidepaste} +\tab{5}\spadcommand{degree(p,y)\free{p }} +\indentrel{3}\begin{verbatim} + (22) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty22} +\begin{paste}{PolynomialXmpPageEmpty22}{PolynomialXmpPagePatch22} +\pastebutton{PolynomialXmpPageEmpty22}{\showpaste} +\tab{5}\spadcommand{degree(p,y)\free{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch23} +\begin{paste}{PolynomialXmpPageFull23}{PolynomialXmpPageEmpty23} +\pastebutton{PolynomialXmpPageFull23}{\hidepaste} +\tab{5}\spadcommand{degree(p,z)\free{p }} +\indentrel{3}\begin{verbatim} + (23) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty23} +\begin{paste}{PolynomialXmpPageEmpty23}{PolynomialXmpPagePatch23} +\pastebutton{PolynomialXmpPageEmpty23}{\showpaste} +\tab{5}\spadcommand{degree(p,z)\free{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch24} +\begin{paste}{PolynomialXmpPageFull24}{PolynomialXmpPageEmpty24} +\pastebutton{PolynomialXmpPageFull24}{\hidepaste} +\tab{5}\spadcommand{degree(p,[x,y,z])\free{p }} +\indentrel{3}\begin{verbatim} + (24) [1,2,1] + Type: List NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty24} +\begin{paste}{PolynomialXmpPageEmpty24}{PolynomialXmpPagePatch24} +\pastebutton{PolynomialXmpPageEmpty24}{\showpaste} +\tab{5}\spadcommand{degree(p,[x,y,z])\free{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch25} +\begin{paste}{PolynomialXmpPageFull25}{PolynomialXmpPageEmpty25} +\pastebutton{PolynomialXmpPageFull25}{\hidepaste} +\tab{5}\spadcommand{minimumDegree(p,z)\free{p }} +\indentrel{3}\begin{verbatim} + (25) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty25} +\begin{paste}{PolynomialXmpPageEmpty25}{PolynomialXmpPagePatch25} +\pastebutton{PolynomialXmpPageEmpty25}{\showpaste} +\tab{5}\spadcommand{minimumDegree(p,z)\free{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch26} +\begin{paste}{PolynomialXmpPageFull26}{PolynomialXmpPageEmpty26} +\pastebutton{PolynomialXmpPageFull26}{\hidepaste} +\tab{5}\spadcommand{totalDegree p\free{p }} +\indentrel{3}\begin{verbatim} + (26) 4 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty26} +\begin{paste}{PolynomialXmpPageEmpty26}{PolynomialXmpPagePatch26} +\pastebutton{PolynomialXmpPageEmpty26}{\showpaste} +\tab{5}\spadcommand{totalDegree p\free{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch27} +\begin{paste}{PolynomialXmpPageFull27}{PolynomialXmpPageEmpty27} +\pastebutton{PolynomialXmpPageFull27}{\hidepaste} +\tab{5}\spadcommand{leadingMonomial p\free{p }} +\indentrel{3}\begin{verbatim} + 2 + (27) x y z + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty27} +\begin{paste}{PolynomialXmpPageEmpty27}{PolynomialXmpPagePatch27} +\pastebutton{PolynomialXmpPageEmpty27}{\showpaste} +\tab{5}\spadcommand{leadingMonomial p\free{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch28} +\begin{paste}{PolynomialXmpPageFull28}{PolynomialXmpPageEmpty28} +\pastebutton{PolynomialXmpPageFull28}{\hidepaste} +\tab{5}\spadcommand{reductum p\free{p }} +\indentrel{3}\begin{verbatim} + (28) (- 2x y + x)z + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty28} +\begin{paste}{PolynomialXmpPageEmpty28}{PolynomialXmpPagePatch28} +\pastebutton{PolynomialXmpPageEmpty28}{\showpaste} +\tab{5}\spadcommand{reductum p\free{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch29} +\begin{paste}{PolynomialXmpPageFull29}{PolynomialXmpPageEmpty29} +\pastebutton{PolynomialXmpPageFull29}{\hidepaste} +\tab{5}\spadcommand{p - leadingMonomial p - reductum p\free{p }} +\indentrel{3}\begin{verbatim} + (29) 0 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty29} +\begin{paste}{PolynomialXmpPageEmpty29}{PolynomialXmpPagePatch29} +\pastebutton{PolynomialXmpPageEmpty29}{\showpaste} +\tab{5}\spadcommand{p - leadingMonomial p - reductum p\free{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch30} +\begin{paste}{PolynomialXmpPageFull30}{PolynomialXmpPageEmpty30} +\pastebutton{PolynomialXmpPageFull30}{\hidepaste} +\tab{5}\spadcommand{leadingCoefficient p\free{p }} +\indentrel{3}\begin{verbatim} + (30) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty30} +\begin{paste}{PolynomialXmpPageEmpty30}{PolynomialXmpPagePatch30} +\pastebutton{PolynomialXmpPageEmpty30}{\showpaste} +\tab{5}\spadcommand{leadingCoefficient p\free{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch31} +\begin{paste}{PolynomialXmpPageFull31}{PolynomialXmpPageEmpty31} +\pastebutton{PolynomialXmpPageFull31}{\hidepaste} +\tab{5}\spadcommand{p\free{p }} +\indentrel{3}\begin{verbatim} + 2 + (31) (x y - 2x y + x)z + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty31} +\begin{paste}{PolynomialXmpPageEmpty31}{PolynomialXmpPagePatch31} +\pastebutton{PolynomialXmpPageEmpty31}{\showpaste} +\tab{5}\spadcommand{p\free{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch32} +\begin{paste}{PolynomialXmpPageFull32}{PolynomialXmpPageEmpty32} +\pastebutton{PolynomialXmpPageFull32}{\hidepaste} +\tab{5}\spadcommand{eval(p,x,w)\free{p }} +\indentrel{3}\begin{verbatim} + 2 + (32) (w y - 2w y + w)z + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty32} +\begin{paste}{PolynomialXmpPageEmpty32}{PolynomialXmpPagePatch32} +\pastebutton{PolynomialXmpPageEmpty32}{\showpaste} +\tab{5}\spadcommand{eval(p,x,w)\free{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch33} +\begin{paste}{PolynomialXmpPageFull33}{PolynomialXmpPageEmpty33} +\pastebutton{PolynomialXmpPageFull33}{\hidepaste} +\tab{5}\spadcommand{eval(p,x,1)\free{p }} +\indentrel{3}\begin{verbatim} + 2 + (33) (y - 2y + 1)z + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty33} +\begin{paste}{PolynomialXmpPageEmpty33}{PolynomialXmpPagePatch33} +\pastebutton{PolynomialXmpPageEmpty33}{\showpaste} +\tab{5}\spadcommand{eval(p,x,1)\free{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch34} +\begin{paste}{PolynomialXmpPageFull34}{PolynomialXmpPageEmpty34} +\pastebutton{PolynomialXmpPageFull34}{\hidepaste} +\tab{5}\spadcommand{eval(p,x,y**2 - 1)\free{p }} +\indentrel{3}\begin{verbatim} + 4 3 + (34) (y - 2y + 2y - 1)z + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty34} +\begin{paste}{PolynomialXmpPageEmpty34}{PolynomialXmpPagePatch34} +\pastebutton{PolynomialXmpPageEmpty34}{\showpaste} +\tab{5}\spadcommand{eval(p,x,y**2 - 1)\free{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch35} +\begin{paste}{PolynomialXmpPageFull35}{PolynomialXmpPageEmpty35} +\pastebutton{PolynomialXmpPageFull35}{\hidepaste} +\tab{5}\spadcommand{D(p,x)\free{p }} +\indentrel{3}\begin{verbatim} + 2 + (35) (y - 2y + 1)z + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty35} +\begin{paste}{PolynomialXmpPageEmpty35}{PolynomialXmpPagePatch35} +\pastebutton{PolynomialXmpPageEmpty35}{\showpaste} +\tab{5}\spadcommand{D(p,x)\free{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch36} +\begin{paste}{PolynomialXmpPageFull36}{PolynomialXmpPageEmpty36} +\pastebutton{PolynomialXmpPageFull36}{\hidepaste} +\tab{5}\spadcommand{D(p,y)\free{p }} +\indentrel{3}\begin{verbatim} + (36) (2x y - 2x)z + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty36} +\begin{paste}{PolynomialXmpPageEmpty36}{PolynomialXmpPagePatch36} +\pastebutton{PolynomialXmpPageEmpty36}{\showpaste} +\tab{5}\spadcommand{D(p,y)\free{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch37} +\begin{paste}{PolynomialXmpPageFull37}{PolynomialXmpPageEmpty37} +\pastebutton{PolynomialXmpPageFull37}{\hidepaste} +\tab{5}\spadcommand{D(p,z)\free{p }} +\indentrel{3}\begin{verbatim} + 2 + (37) x y - 2x y + x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty37} +\begin{paste}{PolynomialXmpPageEmpty37}{PolynomialXmpPagePatch37} +\pastebutton{PolynomialXmpPageEmpty37}{\showpaste} +\tab{5}\spadcommand{D(p,z)\free{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch38} +\begin{paste}{PolynomialXmpPageFull38}{PolynomialXmpPageEmpty38} +\pastebutton{PolynomialXmpPageFull38}{\hidepaste} +\tab{5}\spadcommand{integrate(p,y)\free{p }} +\indentrel{3}\begin{verbatim} + 1 3 2 + (38) (Ä x y - x y + x y)z + 3 + Type: Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty38} +\begin{paste}{PolynomialXmpPageEmpty38}{PolynomialXmpPagePatch38} +\pastebutton{PolynomialXmpPageEmpty38}{\showpaste} +\tab{5}\spadcommand{integrate(p,y)\free{p }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch39} +\begin{paste}{PolynomialXmpPageFull39}{PolynomialXmpPageEmpty39} +\pastebutton{PolynomialXmpPageFull39}{\hidepaste} +\tab{5}\spadcommand{qr := monicDivide(p,x+1,x)\free{p }\bound{qr }} +\indentrel{3}\begin{verbatim} + (39) + 2 2 + [quotient= (y - 2y + 1)z,remainder= (- y + 2y - 1)z] +Type: Record(quotient: Polynomial Integer,remainder: Polynomial Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty39} +\begin{paste}{PolynomialXmpPageEmpty39}{PolynomialXmpPagePatch39} +\pastebutton{PolynomialXmpPageEmpty39}{\showpaste} +\tab{5}\spadcommand{qr := monicDivide(p,x+1,x)\free{p }\bound{qr }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch40} +\begin{paste}{PolynomialXmpPageFull40}{PolynomialXmpPageEmpty40} +\pastebutton{PolynomialXmpPageFull40}{\hidepaste} +\tab{5}\spadcommand{qr.remainder\free{qr }} +\indentrel{3}\begin{verbatim} + 2 + (40) (- y + 2y - 1)z + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty40} +\begin{paste}{PolynomialXmpPageEmpty40}{PolynomialXmpPagePatch40} +\pastebutton{PolynomialXmpPageEmpty40}{\showpaste} +\tab{5}\spadcommand{qr.remainder\free{qr }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch41} +\begin{paste}{PolynomialXmpPageFull41}{PolynomialXmpPageEmpty41} +\pastebutton{PolynomialXmpPageFull41}{\hidepaste} +\tab{5}\spadcommand{p - ((x+1) * qr.quotient + qr.remainder)\free{p }\free{qr }} +\indentrel{3}\begin{verbatim} + (41) 0 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty41} +\begin{paste}{PolynomialXmpPageEmpty41}{PolynomialXmpPagePatch41} +\pastebutton{PolynomialXmpPageEmpty41}{\showpaste} +\tab{5}\spadcommand{p - ((x+1) * qr.quotient + qr.remainder)\free{p }\free{qr }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch42} +\begin{paste}{PolynomialXmpPageFull42}{PolynomialXmpPageEmpty42} +\pastebutton{PolynomialXmpPageFull42}{\hidepaste} +\tab{5}\spadcommand{p/q\free{p }\free{q }} +\indentrel{3}\begin{verbatim} + (y - 1)z + (42) ÄÄÄÄÄÄÄÄ + z + 5 + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty42} +\begin{paste}{PolynomialXmpPageEmpty42}{PolynomialXmpPagePatch42} +\pastebutton{PolynomialXmpPageEmpty42}{\showpaste} +\tab{5}\spadcommand{p/q\free{p }\free{q }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch43} +\begin{paste}{PolynomialXmpPageFull43}{PolynomialXmpPageEmpty43} +\pastebutton{PolynomialXmpPageFull43}{\hidepaste} +\tab{5}\spadcommand{(2/3) * x**2 - y + 4/5\bound{prev1 }} +\indentrel{3}\begin{verbatim} + 2 2 4 + (43) - y + Ä x + Ä + 3 5 + Type: Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty43} +\begin{paste}{PolynomialXmpPageEmpty43}{PolynomialXmpPagePatch43} +\pastebutton{PolynomialXmpPageEmpty43}{\showpaste} +\tab{5}\spadcommand{(2/3) * x**2 - y + 4/5\bound{prev1 }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch44} +\begin{paste}{PolynomialXmpPageFull44}{PolynomialXmpPageEmpty44} +\pastebutton{PolynomialXmpPageFull44}{\hidepaste} +\tab{5}\spadcommand{\% :: FRAC POLY INT\free{prev1 }\bound{prev2 }} +\indentrel{3}\begin{verbatim} + 2 + - 15y + 10x + 12 + (44) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 15 + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty44} +\begin{paste}{PolynomialXmpPageEmpty44}{PolynomialXmpPagePatch44} +\pastebutton{PolynomialXmpPageEmpty44}{\showpaste} +\tab{5}\spadcommand{\% :: FRAC POLY INT\free{prev1 }\bound{prev2 }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch45} +\begin{paste}{PolynomialXmpPageFull45}{PolynomialXmpPageEmpty45} +\pastebutton{PolynomialXmpPageFull45}{\hidepaste} +\tab{5}\spadcommand{\% :: POLY FRAC INT\free{prev2 }\bound{prev3 }} +\indentrel{3}\begin{verbatim} + 2 2 4 + (45) - y + Ä x + Ä + 3 5 + Type: Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty45} +\begin{paste}{PolynomialXmpPageEmpty45}{PolynomialXmpPagePatch45} +\pastebutton{PolynomialXmpPageEmpty45}{\showpaste} +\tab{5}\spadcommand{\% :: POLY FRAC INT\free{prev2 }\bound{prev3 }} +\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPagePatch46} +\begin{paste}{PolynomialXmpPageFull46}{PolynomialXmpPageEmpty46} +\pastebutton{PolynomialXmpPageFull46}{\hidepaste} +\tab{5}\spadcommand{map(numeric,\%)\free{prev3 }} +\indentrel{3}\begin{verbatim} + 2 + (46) - 1.0 y + 0.6666666666 6666666667 x + 0.8 + Type: Polynomial Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{PolynomialXmpPageEmpty46} +\begin{paste}{PolynomialXmpPageEmpty46}{PolynomialXmpPagePatch46} +\pastebutton{PolynomialXmpPageEmpty46}{\showpaste} +\tab{5}\spadcommand{map(numeric,\%)\free{prev3 }} +\end{paste}\end{patch} + @ \section{quat.ht} \pagehead{QuaternionXmpPage}{quat.ht}{Quaternion} @@ -18153,6 +49723,207 @@ The norm is the quaternion times its conjugate. \autobuttons \end{page} +\begin{patch}{QuaternionXmpPagePatch1} +\begin{paste}{QuaternionXmpPageFull1}{QuaternionXmpPageEmpty1} +\pastebutton{QuaternionXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{q := quatern(2/11,-8,3/4,1)\bound{q }} +\indentrel{3}\begin{verbatim} + 2 3 + (1) ÄÄ - 8i + Ä j + k + 11 4 + Type: Quaternion Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{QuaternionXmpPageEmpty1} +\begin{paste}{QuaternionXmpPageEmpty1}{QuaternionXmpPagePatch1} +\pastebutton{QuaternionXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{q := quatern(2/11,-8,3/4,1)\bound{q }} +\end{paste}\end{patch} + +\begin{patch}{QuaternionXmpPagePatch2} +\begin{paste}{QuaternionXmpPageFull2}{QuaternionXmpPageEmpty2} +\pastebutton{QuaternionXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{[real q, imagI q, imagJ q, imagK q]\free{q }} +\indentrel{3}\begin{verbatim} + 2 3 + (2) [ÄÄ,- 8,Ä,1] + 11 4 + Type: List Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{QuaternionXmpPageEmpty2} +\begin{paste}{QuaternionXmpPageEmpty2}{QuaternionXmpPagePatch2} +\pastebutton{QuaternionXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{[real q, imagI q, imagJ q, imagK q]\free{q }} +\end{paste}\end{patch} + +\begin{patch}{QuaternionXmpPagePatch3} +\begin{paste}{QuaternionXmpPageFull3}{QuaternionXmpPageEmpty3} +\pastebutton{QuaternionXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{inv q\free{q }} +\indentrel{3}\begin{verbatim} + 352 15488 484 1936 + (3) ÄÄÄÄÄÄ + ÄÄÄÄÄÄ i - ÄÄÄÄÄ j - ÄÄÄÄÄÄ k + 126993 126993 42331 126993 + Type: Quaternion Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{QuaternionXmpPageEmpty3} +\begin{paste}{QuaternionXmpPageEmpty3}{QuaternionXmpPagePatch3} +\pastebutton{QuaternionXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{inv q\free{q }} +\end{paste}\end{patch} + +\begin{patch}{QuaternionXmpPagePatch4} +\begin{paste}{QuaternionXmpPageFull4}{QuaternionXmpPageEmpty4} +\pastebutton{QuaternionXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{q**6\free{q }} +\indentrel{3}\begin{verbatim} + (4) + 2029490709319345 48251690851 144755072553 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - ÄÄÄÄÄÄÄÄÄÄÄ i + ÄÄÄÄÄÄÄÄÄÄÄÄ j + 7256313856 1288408 41229056 + + + 48251690851 + ÄÄÄÄÄÄÄÄÄÄÄ k + 10307264 + Type: Quaternion Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{QuaternionXmpPageEmpty4} +\begin{paste}{QuaternionXmpPageEmpty4}{QuaternionXmpPagePatch4} +\pastebutton{QuaternionXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{q**6\free{q }} +\end{paste}\end{patch} + +\begin{patch}{QuaternionXmpPagePatch5} +\begin{paste}{QuaternionXmpPageFull5}{QuaternionXmpPageEmpty5} +\pastebutton{QuaternionXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{r := quatern(-2,3,23/9,-89); q + r\bound{r }\free{q }} +\indentrel{3}\begin{verbatim} + 20 119 + (5) - ÄÄ - 5i + ÄÄÄ j - 88k + 11 36 + Type: Quaternion Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{QuaternionXmpPageEmpty5} +\begin{paste}{QuaternionXmpPageEmpty5}{QuaternionXmpPagePatch5} +\pastebutton{QuaternionXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{r := quatern(-2,3,23/9,-89); q + r\bound{r }\free{q }} +\end{paste}\end{patch} + +\begin{patch}{QuaternionXmpPagePatch6} +\begin{paste}{QuaternionXmpPageFull6}{QuaternionXmpPageEmpty6} +\pastebutton{QuaternionXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{q * r - r * q\free{q r }} +\indentrel{3}\begin{verbatim} + 2495 817 + (6) - ÄÄÄÄ i - 1418j - ÄÄÄ k + 18 18 + Type: Quaternion Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{QuaternionXmpPageEmpty6} +\begin{paste}{QuaternionXmpPageEmpty6}{QuaternionXmpPagePatch6} +\pastebutton{QuaternionXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{q * r - r * q\free{q r }} +\end{paste}\end{patch} + +\begin{patch}{QuaternionXmpPagePatch7} +\begin{paste}{QuaternionXmpPageFull7}{QuaternionXmpPageEmpty7} +\pastebutton{QuaternionXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{i:=quatern(0,1,0,0); j:=quatern(0,0,1,0); k:=quatern(0,0,0,1)\bound{i j k }} +\indentrel{3}\begin{verbatim} + (7) k + Type: Quaternion Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{QuaternionXmpPageEmpty7} +\begin{paste}{QuaternionXmpPageEmpty7}{QuaternionXmpPagePatch7} +\pastebutton{QuaternionXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{i:=quatern(0,1,0,0); j:=quatern(0,0,1,0); k:=quatern(0,0,0,1)\bound{i j k }} +\end{paste}\end{patch} + +\begin{patch}{QuaternionXmpPagePatch8} +\begin{paste}{QuaternionXmpPageFull8}{QuaternionXmpPageEmpty8} +\pastebutton{QuaternionXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{[i*i, j*j, k*k, i*j, j*k, k*i, q*i]\free{i j k q }} +\indentrel{3}\begin{verbatim} + 2 3 + (8) [- 1,- 1,- 1,k,i,j,8 + ÄÄ i + j - Ä k] + 11 4 + Type: List Quaternion Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{QuaternionXmpPageEmpty8} +\begin{paste}{QuaternionXmpPageEmpty8}{QuaternionXmpPagePatch8} +\pastebutton{QuaternionXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{[i*i, j*j, k*k, i*j, j*k, k*i, q*i]\free{i j k q }} +\end{paste}\end{patch} + +\begin{patch}{QuaternionXmpPagePatch9} +\begin{paste}{QuaternionXmpPageFull9}{QuaternionXmpPageEmpty9} +\pastebutton{QuaternionXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{norm q\free{q }} +\indentrel{3}\begin{verbatim} + 126993 + (9) ÄÄÄÄÄÄ + 1936 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{QuaternionXmpPageEmpty9} +\begin{paste}{QuaternionXmpPageEmpty9}{QuaternionXmpPagePatch9} +\pastebutton{QuaternionXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{norm q\free{q }} +\end{paste}\end{patch} + +\begin{patch}{QuaternionXmpPagePatch10} +\begin{paste}{QuaternionXmpPageFull10}{QuaternionXmpPageEmpty10} +\pastebutton{QuaternionXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{conjugate q\free{q }\bound{prev }} +\indentrel{3}\begin{verbatim} + 2 3 + (10) ÄÄ + 8i - Ä j - k + 11 4 + Type: Quaternion Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{QuaternionXmpPageEmpty10} +\begin{paste}{QuaternionXmpPageEmpty10}{QuaternionXmpPagePatch10} +\pastebutton{QuaternionXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{conjugate q\free{q }\bound{prev }} +\end{paste}\end{patch} + +\begin{patch}{QuaternionXmpPagePatch11} +\begin{paste}{QuaternionXmpPageFull11}{QuaternionXmpPageEmpty11} +\pastebutton{QuaternionXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{q * \%\free{q prev }} +\indentrel{3}\begin{verbatim} + 126993 + (11) ÄÄÄÄÄÄ + 1936 + Type: Quaternion Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{QuaternionXmpPageEmpty11} +\begin{paste}{QuaternionXmpPageEmpty11}{QuaternionXmpPagePatch11} +\pastebutton{QuaternionXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{q * \%\free{q prev }} +\end{paste}\end{patch} + @ \section{radix.ht} \pagehead{RadixExpansionXmpPage}{radix.ht}{RadixExpansion} @@ -18274,7 +50045,290 @@ More examples of expansions are available in \endscroll \autobuttons \end{page} -% + +\begin{patch}{RadixExpansionXmpPagePatch1} +\begin{paste}{RadixExpansionXmpPageFull1}{RadixExpansionXmpPageEmpty1} +\pastebutton{RadixExpansionXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{111::RadixExpansion(5)} +\indentrel{3}\begin{verbatim} + (1) 421 + Type: RadixExpansion 5 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPageEmpty1} +\begin{paste}{RadixExpansionXmpPageEmpty1}{RadixExpansionXmpPagePatch1} +\pastebutton{RadixExpansionXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{111::RadixExpansion(5)} +\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPagePatch2} +\begin{paste}{RadixExpansionXmpPageFull2}{RadixExpansionXmpPageEmpty2} +\pastebutton{RadixExpansionXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{(5/24)::RadixExpansion(2)} +\indentrel{3}\begin{verbatim} + __ + (2) 0.00110 + Type: RadixExpansion 2 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPageEmpty2} +\begin{paste}{RadixExpansionXmpPageEmpty2}{RadixExpansionXmpPagePatch2} +\pastebutton{RadixExpansionXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{(5/24)::RadixExpansion(2)} +\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPagePatch3} +\begin{paste}{RadixExpansionXmpPageFull3}{RadixExpansionXmpPageEmpty3} +\pastebutton{RadixExpansionXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{(5/24)::RadixExpansion(3)} +\indentrel{3}\begin{verbatim} + __ + (3) 0.012 + Type: RadixExpansion 3 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPageEmpty3} +\begin{paste}{RadixExpansionXmpPageEmpty3}{RadixExpansionXmpPagePatch3} +\pastebutton{RadixExpansionXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{(5/24)::RadixExpansion(3)} +\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPagePatch4} +\begin{paste}{RadixExpansionXmpPageFull4}{RadixExpansionXmpPageEmpty4} +\pastebutton{RadixExpansionXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{(5/24)::RadixExpansion(8)} +\indentrel{3}\begin{verbatim} + __ + (4) 0.152 + Type: RadixExpansion 8 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPageEmpty4} +\begin{paste}{RadixExpansionXmpPageEmpty4}{RadixExpansionXmpPagePatch4} +\pastebutton{RadixExpansionXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{(5/24)::RadixExpansion(8)} +\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPagePatch5} +\begin{paste}{RadixExpansionXmpPageFull5}{RadixExpansionXmpPageEmpty5} +\pastebutton{RadixExpansionXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{(5/24)::RadixExpansion(10)} +\indentrel{3}\begin{verbatim} + _ + (5) 0.2083 + Type: RadixExpansion 10 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPageEmpty5} +\begin{paste}{RadixExpansionXmpPageEmpty5}{RadixExpansionXmpPagePatch5} +\pastebutton{RadixExpansionXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{(5/24)::RadixExpansion(10)} +\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPagePatch6} +\begin{paste}{RadixExpansionXmpPageFull6}{RadixExpansionXmpPageEmpty6} +\pastebutton{RadixExpansionXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{(5/24)::RadixExpansion(12)} +\indentrel{3}\begin{verbatim} + (6) 0.26 + Type: RadixExpansion 12 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPageEmpty6} +\begin{paste}{RadixExpansionXmpPageEmpty6}{RadixExpansionXmpPagePatch6} +\pastebutton{RadixExpansionXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{(5/24)::RadixExpansion(12)} +\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPagePatch7} +\begin{paste}{RadixExpansionXmpPageFull7}{RadixExpansionXmpPageEmpty7} +\pastebutton{RadixExpansionXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{(5/24)::RadixExpansion(16)} +\indentrel{3}\begin{verbatim} + _ + (7) 0.35 + Type: RadixExpansion 16 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPageEmpty7} +\begin{paste}{RadixExpansionXmpPageEmpty7}{RadixExpansionXmpPagePatch7} +\pastebutton{RadixExpansionXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{(5/24)::RadixExpansion(16)} +\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPagePatch8} +\begin{paste}{RadixExpansionXmpPageFull8}{RadixExpansionXmpPageEmpty8} +\pastebutton{RadixExpansionXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{(5/24)::RadixExpansion(36)} +\indentrel{3}\begin{verbatim} + (8) 0.7I + Type: RadixExpansion 36 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPageEmpty8} +\begin{paste}{RadixExpansionXmpPageEmpty8}{RadixExpansionXmpPagePatch8} +\pastebutton{RadixExpansionXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{(5/24)::RadixExpansion(36)} +\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPagePatch9} +\begin{paste}{RadixExpansionXmpPageFull9}{RadixExpansionXmpPageEmpty9} +\pastebutton{RadixExpansionXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{(5/24)::RadixExpansion(38)} +\indentrel{3}\begin{verbatim} + _____ + (9) 0 . 7 34 31 25 12 + Type: RadixExpansion 38 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPageEmpty9} +\begin{paste}{RadixExpansionXmpPageEmpty9}{RadixExpansionXmpPagePatch9} +\pastebutton{RadixExpansionXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{(5/24)::RadixExpansion(38)} +\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPagePatch10} +\begin{paste}{RadixExpansionXmpPageFull10}{RadixExpansionXmpPageEmpty10} +\pastebutton{RadixExpansionXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{a := (76543/210)::RadixExpansion(8)\bound{a }} +\indentrel{3}\begin{verbatim} + ____ + (10) 554.37307 + Type: RadixExpansion 8 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPageEmpty10} +\begin{paste}{RadixExpansionXmpPageEmpty10}{RadixExpansionXmpPagePatch10} +\pastebutton{RadixExpansionXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{a := (76543/210)::RadixExpansion(8)\bound{a }} +\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPagePatch11} +\begin{paste}{RadixExpansionXmpPageFull11}{RadixExpansionXmpPageEmpty11} +\pastebutton{RadixExpansionXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{w := wholeRagits a\free{a }\bound{w }} +\indentrel{3}\begin{verbatim} + (11) [5,5,4] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPageEmpty11} +\begin{paste}{RadixExpansionXmpPageEmpty11}{RadixExpansionXmpPagePatch11} +\pastebutton{RadixExpansionXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{w := wholeRagits a\free{a }\bound{w }} +\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPagePatch12} +\begin{paste}{RadixExpansionXmpPageFull12}{RadixExpansionXmpPageEmpty12} +\pastebutton{RadixExpansionXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{f0 := prefixRagits a\free{a }\bound{f0 }} +\indentrel{3}\begin{verbatim} + (12) [3] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPageEmpty12} +\begin{paste}{RadixExpansionXmpPageEmpty12}{RadixExpansionXmpPagePatch12} +\pastebutton{RadixExpansionXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{f0 := prefixRagits a\free{a }\bound{f0 }} +\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPagePatch13} +\begin{paste}{RadixExpansionXmpPageFull13}{RadixExpansionXmpPageEmpty13} +\pastebutton{RadixExpansionXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{f1 := cycleRagits a\free{a }\bound{f1 }} +\indentrel{3}\begin{verbatim} + (13) [7,3,0,7] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPageEmpty13} +\begin{paste}{RadixExpansionXmpPageEmpty13}{RadixExpansionXmpPagePatch13} +\pastebutton{RadixExpansionXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{f1 := cycleRagits a\free{a }\bound{f1 }} +\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPagePatch14} +\begin{paste}{RadixExpansionXmpPageFull14}{RadixExpansionXmpPageEmpty14} +\pastebutton{RadixExpansionXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{u:RadixExpansion(8):=wholeRadix(w)+fractRadix(f0,f1)\free{w f0 f1 }\bound{u }} +\indentrel{3}\begin{verbatim} + ____ + (14) 554.37307 + Type: RadixExpansion 8 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPageEmpty14} +\begin{paste}{RadixExpansionXmpPageEmpty14}{RadixExpansionXmpPagePatch14} +\pastebutton{RadixExpansionXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{u:RadixExpansion(8):=wholeRadix(w)+fractRadix(f0,f1)\free{w f0 f1 }\bound{u }} +\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPagePatch15} +\begin{paste}{RadixExpansionXmpPageFull15}{RadixExpansionXmpPageEmpty15} +\pastebutton{RadixExpansionXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{v: RadixExpansion(12) := fractRadix([1,2,3,11], [0])\bound{v }} +\indentrel{3}\begin{verbatim} + _ + (15) 0.123B0 + Type: RadixExpansion 12 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPageEmpty15} +\begin{paste}{RadixExpansionXmpPageEmpty15}{RadixExpansionXmpPagePatch15} +\pastebutton{RadixExpansionXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{v: RadixExpansion(12) := fractRadix([1,2,3,11], [0])\bound{v }} +\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPagePatch16} +\begin{paste}{RadixExpansionXmpPageFull16}{RadixExpansionXmpPageEmpty16} +\pastebutton{RadixExpansionXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{fractRagits(u)\free{u }} +\indentrel{3}\begin{verbatim} + _______ + (16) [3,7,3,0,7,7] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPageEmpty16} +\begin{paste}{RadixExpansionXmpPageEmpty16}{RadixExpansionXmpPagePatch16} +\pastebutton{RadixExpansionXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{fractRagits(u)\free{u }} +\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPagePatch17} +\begin{paste}{RadixExpansionXmpPageFull17}{RadixExpansionXmpPageEmpty17} +\pastebutton{RadixExpansionXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{a :: Fraction(Integer)\free{a }} +\indentrel{3}\begin{verbatim} + 76543 + (17) ÄÄÄÄÄ + 210 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RadixExpansionXmpPageEmpty17} +\begin{paste}{RadixExpansionXmpPageEmpty17}{RadixExpansionXmpPagePatch17} +\pastebutton{RadixExpansionXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{a :: Fraction(Integer)\free{a }} +\end{paste}\end{patch} @ \section{reclos.ht} @@ -18680,6 +50734,1264 @@ sqrt(22+2*s5)-sqrt(11+2*s29)+s5 \free{s29}\free{s5}\bound{dst4}} \autobuttons \end{page} +\begin{patch}{RealClosureXmpPagePatch1} +\begin{paste}{RealClosureXmpPageFull1}{RealClosureXmpPageEmpty1} +\pastebutton{RealClosureXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{Ran := RECLOS(FRAC INT)\bound{Ran }} +\indentrel{3}\begin{verbatim} + (1) RealClosure Fraction Integer + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty1} +\begin{paste}{RealClosureXmpPageEmpty1}{RealClosureXmpPagePatch1} +\pastebutton{RealClosureXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{Ran := RECLOS(FRAC INT)\bound{Ran }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch2} +\begin{paste}{RealClosureXmpPageFull2}{RealClosureXmpPageEmpty2} +\pastebutton{RealClosureXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{fourSquares(a:Ran,b:Ran,c:Ran,d:Ran):Ran == sqrt(a)+sqrt(b) - sqrt(c)-sqrt(d)\free{Ran }\bound{fs }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty2} +\begin{paste}{RealClosureXmpPageEmpty2}{RealClosureXmpPagePatch2} +\pastebutton{RealClosureXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{fourSquares(a:Ran,b:Ran,c:Ran,d:Ran):Ran == sqrt(a)+sqrt(b) - sqrt(c)-sqrt(d)\free{Ran }\bound{fs }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch3} +\begin{paste}{RealClosureXmpPageFull3}{RealClosureXmpPageEmpty3} +\pastebutton{RealClosureXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{squareDiff1 := fourSquares(73,548,60,586)\free{fs }\bound{sd1 }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄ¿ ÚÄÄ¿ ÚÄÄÄ¿ ÚÄÄ¿ + (3) - \³586 - \³60 + \³548 + \³73 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty3} +\begin{paste}{RealClosureXmpPageEmpty3}{RealClosureXmpPagePatch3} +\pastebutton{RealClosureXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{squareDiff1 := fourSquares(73,548,60,586)\free{fs }\bound{sd1 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch4} +\begin{paste}{RealClosureXmpPageFull4}{RealClosureXmpPageEmpty4} +\pastebutton{RealClosureXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{recip(squareDiff1)\free{sd1 }} +\indentrel{3}\begin{verbatim} + (4) + ÚÄÄÄ¿ ÚÄÄ¿ ÚÄÄ¿ + (54602\³548 + 149602\³73 )\³60 + + + ÚÄÄ¿ ÚÄÄÄ¿ + 49502\³73 \³548 + 9900895 + * + ÚÄÄÄ¿ + \³586 + + + ÚÄÄ¿ ÚÄÄÄ¿ ÚÄÄ¿ ÚÄÄÄ¿ + (154702\³73 \³548 + 30941947)\³60 + 10238421\³548 + + + ÚÄÄ¿ + 28051871\³73 + Type: Union(RealClosure Fraction Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty4} +\begin{paste}{RealClosureXmpPageEmpty4}{RealClosureXmpPagePatch4} +\pastebutton{RealClosureXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{recip(squareDiff1)\free{sd1 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch5} +\begin{paste}{RealClosureXmpPageFull5}{RealClosureXmpPageEmpty5} +\pastebutton{RealClosureXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{sign(squareDiff1)\free{sd1 }} +\indentrel{3}\begin{verbatim} + (5) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty5} +\begin{paste}{RealClosureXmpPageEmpty5}{RealClosureXmpPagePatch5} +\pastebutton{RealClosureXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{sign(squareDiff1)\free{sd1 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch6} +\begin{paste}{RealClosureXmpPageFull6}{RealClosureXmpPageEmpty6} +\pastebutton{RealClosureXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{squareDiff2 := fourSquares(165,778,86,990)\free{fs }\bound{sd2 }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄ¿ ÚÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ + (6) - \³990 - \³86 + \³778 + \³165 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty6} +\begin{paste}{RealClosureXmpPageEmpty6}{RealClosureXmpPagePatch6} +\pastebutton{RealClosureXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{squareDiff2 := fourSquares(165,778,86,990)\free{fs }\bound{sd2 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch7} +\begin{paste}{RealClosureXmpPageFull7}{RealClosureXmpPageEmpty7} +\pastebutton{RealClosureXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{recip(squareDiff2)\free{sd2 }} +\indentrel{3}\begin{verbatim} + (7) + ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄ¿ + (556778\³778 + 1209010\³165 )\³86 + + + ÚÄÄÄ¿ ÚÄÄÄ¿ + 401966\³165 \³778 + 144019431 + * + ÚÄÄÄ¿ + \³990 + + + ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄ¿ + (1363822\³165 \³778 + 488640503)\³86 + + + ÚÄÄÄ¿ ÚÄÄÄ¿ + 162460913\³778 + 352774119\³165 + Type: Union(RealClosure Fraction Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty7} +\begin{paste}{RealClosureXmpPageEmpty7}{RealClosureXmpPagePatch7} +\pastebutton{RealClosureXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{recip(squareDiff2)\free{sd2 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch8} +\begin{paste}{RealClosureXmpPageFull8}{RealClosureXmpPageEmpty8} +\pastebutton{RealClosureXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{sign(squareDiff2)\free{sd2 }} +\indentrel{3}\begin{verbatim} + (8) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty8} +\begin{paste}{RealClosureXmpPageEmpty8}{RealClosureXmpPagePatch8} +\pastebutton{RealClosureXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{sign(squareDiff2)\free{sd2 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch9} +\begin{paste}{RealClosureXmpPageFull9}{RealClosureXmpPageEmpty9} +\pastebutton{RealClosureXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{squareDiff3 := fourSquares(217,708,226,692)\free{fs }\bound{sd3 }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ + (9) - \³692 - \³226 + \³708 + \³217 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty9} +\begin{paste}{RealClosureXmpPageEmpty9}{RealClosureXmpPagePatch9} +\pastebutton{RealClosureXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{squareDiff3 := fourSquares(217,708,226,692)\free{fs }\bound{sd3 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch10} +\begin{paste}{RealClosureXmpPageFull10}{RealClosureXmpPageEmpty10} +\pastebutton{RealClosureXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{recip(squareDiff3)\free{sd3 }} +\indentrel{3}\begin{verbatim} + (10) + ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ + (- 34102\³708 - 61598\³217 )\³226 + + + ÚÄÄÄ¿ ÚÄÄÄ¿ + - 34802\³217 \³708 - 13641141 + * + ÚÄÄÄ¿ + \³692 + + + ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ + (- 60898\³217 \³708 - 23869841)\³226 + + + ÚÄÄÄ¿ ÚÄÄÄ¿ + - 13486123\³708 - 24359809\³217 + Type: Union(RealClosure Fraction Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty10} +\begin{paste}{RealClosureXmpPageEmpty10}{RealClosureXmpPagePatch10} +\pastebutton{RealClosureXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{recip(squareDiff3)\free{sd3 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch11} +\begin{paste}{RealClosureXmpPageFull11}{RealClosureXmpPageEmpty11} +\pastebutton{RealClosureXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{sign(squareDiff3)\free{sd3 }} +\indentrel{3}\begin{verbatim} + (11) - 1 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty11} +\begin{paste}{RealClosureXmpPageEmpty11}{RealClosureXmpPagePatch11} +\pastebutton{RealClosureXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{sign(squareDiff3)\free{sd3 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch12} +\begin{paste}{RealClosureXmpPageFull12}{RealClosureXmpPageEmpty12} +\pastebutton{RealClosureXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{squareDiff4 := fourSquares(155,836,162,820)\free{fs }\bound{sd4 }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ + (12) - \³820 - \³162 + \³836 + \³155 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty12} +\begin{paste}{RealClosureXmpPageEmpty12}{RealClosureXmpPagePatch12} +\pastebutton{RealClosureXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{squareDiff4 := fourSquares(155,836,162,820)\free{fs }\bound{sd4 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch13} +\begin{paste}{RealClosureXmpPageFull13}{RealClosureXmpPageEmpty13} +\pastebutton{RealClosureXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{recip(squareDiff4)\free{sd4 }} +\indentrel{3}\begin{verbatim} + (13) + ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ + (- 37078\³836 - 86110\³155 )\³162 + + + ÚÄÄÄ¿ ÚÄÄÄ¿ + - 37906\³155 \³836 - 13645107 + * + ÚÄÄÄ¿ + \³820 + + + ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ + (- 85282\³155 \³836 - 30699151)\³162 + + + ÚÄÄÄ¿ ÚÄÄÄ¿ + - 13513901\³836 - 31384703\³155 + Type: Union(RealClosure Fraction Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty13} +\begin{paste}{RealClosureXmpPageEmpty13}{RealClosureXmpPagePatch13} +\pastebutton{RealClosureXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{recip(squareDiff4)\free{sd4 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch14} +\begin{paste}{RealClosureXmpPageFull14}{RealClosureXmpPageEmpty14} +\pastebutton{RealClosureXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{sign(squareDiff4)\free{sd4 }} +\indentrel{3}\begin{verbatim} + (14) - 1 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty14} +\begin{paste}{RealClosureXmpPageEmpty14}{RealClosureXmpPagePatch14} +\pastebutton{RealClosureXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{sign(squareDiff4)\free{sd4 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch15} +\begin{paste}{RealClosureXmpPageFull15}{RealClosureXmpPageEmpty15} +\pastebutton{RealClosureXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{squareDiff5 := fourSquares(591,772,552,818)\free{fs }\bound{sd5 }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ + (15) - \³818 - \³552 + \³772 + \³591 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty15} +\begin{paste}{RealClosureXmpPageEmpty15}{RealClosureXmpPagePatch15} +\pastebutton{RealClosureXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{squareDiff5 := fourSquares(591,772,552,818)\free{fs }\bound{sd5 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch16} +\begin{paste}{RealClosureXmpPageFull16}{RealClosureXmpPageEmpty16} +\pastebutton{RealClosureXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{recip(squareDiff5)\free{sd5 }} +\indentrel{3}\begin{verbatim} + (16) + ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ + (70922\³772 + 81058\³591 )\³552 + + + ÚÄÄÄ¿ ÚÄÄÄ¿ + 68542\³591 \³772 + 46297673 + * + ÚÄÄÄ¿ + \³818 + + + ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ + (83438\³591 \³772 + 56359389)\³552 + 47657051\³772 + + + ÚÄÄÄ¿ + 54468081\³591 + Type: Union(RealClosure Fraction Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty16} +\begin{paste}{RealClosureXmpPageEmpty16}{RealClosureXmpPagePatch16} +\pastebutton{RealClosureXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{recip(squareDiff5)\free{sd5 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch17} +\begin{paste}{RealClosureXmpPageFull17}{RealClosureXmpPageEmpty17} +\pastebutton{RealClosureXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{sign(squareDiff5)\free{sd5 }} +\indentrel{3}\begin{verbatim} + (17) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty17} +\begin{paste}{RealClosureXmpPageEmpty17}{RealClosureXmpPagePatch17} +\pastebutton{RealClosureXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{sign(squareDiff5)\free{sd5 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch18} +\begin{paste}{RealClosureXmpPageFull18}{RealClosureXmpPageEmpty18} +\pastebutton{RealClosureXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{squareDiff6 := fourSquares(434,1053,412,1088)\free{fs }\bound{sd6 }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄÄ¿ ÚÄÄÄ¿ + (18) - \³1088 - \³412 + \³1053 + \³434 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty18} +\begin{paste}{RealClosureXmpPageEmpty18}{RealClosureXmpPagePatch18} +\pastebutton{RealClosureXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{squareDiff6 := fourSquares(434,1053,412,1088)\free{fs }\bound{sd6 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch19} +\begin{paste}{RealClosureXmpPageFull19}{RealClosureXmpPageEmpty19} +\pastebutton{RealClosureXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{recip(squareDiff6)\free{sd6 }} +\indentrel{3}\begin{verbatim} + (19) + ÚÄÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ + (115442\³1053 + 179818\³434 )\³412 + + + ÚÄÄÄ¿ ÚÄÄÄÄ¿ + 112478\³434 \³1053 + 76037291 + * + ÚÄÄÄÄ¿ + \³1088 + + + ÚÄÄÄ¿ ÚÄÄÄÄ¿ ÚÄÄÄ¿ + (182782\³434 \³1053 + 123564147)\³412 + + + ÚÄÄÄÄ¿ ÚÄÄÄ¿ + 77290639\³1053 + 120391609\³434 + Type: Union(RealClosure Fraction Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty19} +\begin{paste}{RealClosureXmpPageEmpty19}{RealClosureXmpPagePatch19} +\pastebutton{RealClosureXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{recip(squareDiff6)\free{sd6 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch20} +\begin{paste}{RealClosureXmpPageFull20}{RealClosureXmpPageEmpty20} +\pastebutton{RealClosureXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{sign(squareDiff6)\free{sd6 }} +\indentrel{3}\begin{verbatim} + (20) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty20} +\begin{paste}{RealClosureXmpPageEmpty20}{RealClosureXmpPagePatch20} +\pastebutton{RealClosureXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{sign(squareDiff6)\free{sd6 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch21} +\begin{paste}{RealClosureXmpPageFull21}{RealClosureXmpPageEmpty21} +\pastebutton{RealClosureXmpPageFull21}{\hidepaste} +\tab{5}\spadcommand{squareDiff7 := fourSquares(514,1049,446,1152)\free{fs }\bound{sd7 }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄÄ¿ ÚÄÄÄ¿ + (21) - \³1152 - \³446 + \³1049 + \³514 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty21} +\begin{paste}{RealClosureXmpPageEmpty21}{RealClosureXmpPagePatch21} +\pastebutton{RealClosureXmpPageEmpty21}{\showpaste} +\tab{5}\spadcommand{squareDiff7 := fourSquares(514,1049,446,1152)\free{fs }\bound{sd7 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch22} +\begin{paste}{RealClosureXmpPageFull22}{RealClosureXmpPageEmpty22} +\pastebutton{RealClosureXmpPageFull22}{\hidepaste} +\tab{5}\spadcommand{recip(squareDiff7)\free{sd7 }} +\indentrel{3}\begin{verbatim} + (22) + ÚÄÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ + (349522\³1049 + 499322\³514 )\³446 + + + ÚÄÄÄ¿ ÚÄÄÄÄ¿ + 325582\³514 \³1049 + 239072537 + * + ÚÄÄÄÄ¿ + \³1152 + + + ÚÄÄÄ¿ ÚÄÄÄÄ¿ ÚÄÄÄ¿ + (523262\³514 \³1049 + 384227549)\³446 + + + ÚÄÄÄÄ¿ ÚÄÄÄ¿ + 250534873\³1049 + 357910443\³514 + Type: Union(RealClosure Fraction Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty22} +\begin{paste}{RealClosureXmpPageEmpty22}{RealClosureXmpPagePatch22} +\pastebutton{RealClosureXmpPageEmpty22}{\showpaste} +\tab{5}\spadcommand{recip(squareDiff7)\free{sd7 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch23} +\begin{paste}{RealClosureXmpPageFull23}{RealClosureXmpPageEmpty23} +\pastebutton{RealClosureXmpPageFull23}{\hidepaste} +\tab{5}\spadcommand{sign(squareDiff7)\free{sd7 }} +\indentrel{3}\begin{verbatim} + (23) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty23} +\begin{paste}{RealClosureXmpPageEmpty23}{RealClosureXmpPagePatch23} +\pastebutton{RealClosureXmpPageEmpty23}{\showpaste} +\tab{5}\spadcommand{sign(squareDiff7)\free{sd7 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch24} +\begin{paste}{RealClosureXmpPageFull24}{RealClosureXmpPageEmpty24} +\pastebutton{RealClosureXmpPageFull24}{\hidepaste} +\tab{5}\spadcommand{squareDiff8 := fourSquares(190,1751,208,1698)\free{fs }\bound{sd8 }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄÄ¿ ÚÄÄÄ¿ + (24) - \³1698 - \³208 + \³1751 + \³190 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty24} +\begin{paste}{RealClosureXmpPageEmpty24}{RealClosureXmpPagePatch24} +\pastebutton{RealClosureXmpPageEmpty24}{\showpaste} +\tab{5}\spadcommand{squareDiff8 := fourSquares(190,1751,208,1698)\free{fs }\bound{sd8 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch25} +\begin{paste}{RealClosureXmpPageFull25}{RealClosureXmpPageEmpty25} +\pastebutton{RealClosureXmpPageFull25}{\hidepaste} +\tab{5}\spadcommand{recip(squareDiff8)\free{sd8 }} +\indentrel{3}\begin{verbatim} + (25) + ÚÄÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ + (- 214702\³1751 - 651782\³190 )\³208 + + + ÚÄÄÄ¿ ÚÄÄÄÄ¿ + - 224642\³190 \³1751 - 129571901 + * + ÚÄÄÄÄ¿ + \³1698 + + + ÚÄÄÄ¿ ÚÄÄÄÄ¿ ÚÄÄÄ¿ + (- 641842\³190 \³1751 - 370209881)\³208 + + + ÚÄÄÄÄ¿ ÚÄÄÄ¿ + - 127595865\³1751 - 387349387\³190 + Type: Union(RealClosure Fraction Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty25} +\begin{paste}{RealClosureXmpPageEmpty25}{RealClosureXmpPagePatch25} +\pastebutton{RealClosureXmpPageEmpty25}{\showpaste} +\tab{5}\spadcommand{recip(squareDiff8)\free{sd8 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch26} +\begin{paste}{RealClosureXmpPageFull26}{RealClosureXmpPageEmpty26} +\pastebutton{RealClosureXmpPageFull26}{\hidepaste} +\tab{5}\spadcommand{sign(squareDiff8)\free{sd8 }} +\indentrel{3}\begin{verbatim} + (26) - 1 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty26} +\begin{paste}{RealClosureXmpPageEmpty26}{RealClosureXmpPagePatch26} +\pastebutton{RealClosureXmpPageEmpty26}{\showpaste} +\tab{5}\spadcommand{sign(squareDiff8)\free{sd8 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch27} +\begin{paste}{RealClosureXmpPageFull27}{RealClosureXmpPageEmpty27} +\pastebutton{RealClosureXmpPageFull27}{\hidepaste} +\tab{5}\spadcommand{relativeApprox(squareDiff8,10**(-3))::Float\free{sd8 }} +\indentrel{3}\begin{verbatim} + (27) - 0.2340527771 5937700123 E -10 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty27} +\begin{paste}{RealClosureXmpPageEmpty27}{RealClosureXmpPagePatch27} +\pastebutton{RealClosureXmpPageEmpty27}{\showpaste} +\tab{5}\spadcommand{relativeApprox(squareDiff8,10**(-3))::Float\free{sd8 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch28} +\begin{paste}{RealClosureXmpPageFull28}{RealClosureXmpPageEmpty28} +\pastebutton{RealClosureXmpPageFull28}{\hidepaste} +\tab{5}\spadcommand{l := allRootsOf((x**2-2)**2-2)$Ran\free{Ran }\bound{l }} +\indentrel{3}\begin{verbatim} + (28) [%R33,%R34,%R35,%R36] + Type: List RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty28} +\begin{paste}{RealClosureXmpPageEmpty28}{RealClosureXmpPagePatch28} +\pastebutton{RealClosureXmpPageEmpty28}{\showpaste} +\tab{5}\spadcommand{l := allRootsOf((x**2-2)**2-2)$Ran\free{Ran }\bound{l }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch29} +\begin{paste}{RealClosureXmpPageFull29}{RealClosureXmpPageEmpty29} +\pastebutton{RealClosureXmpPageFull29}{\hidepaste} +\tab{5}\spadcommand{removeDuplicates map(mainDefiningPolynomial,l)\free{l }} +\indentrel{3}\begin{verbatim} + 4 2 + (29) [? - 4? + 2] +Type: List Union(SparseUnivariatePolynomial RealClosure Fraction Integer,"failed") +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty29} +\begin{paste}{RealClosureXmpPageEmpty29}{RealClosureXmpPagePatch29} +\pastebutton{RealClosureXmpPageEmpty29}{\showpaste} +\tab{5}\spadcommand{removeDuplicates map(mainDefiningPolynomial,l)\free{l }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch30} +\begin{paste}{RealClosureXmpPageFull30}{RealClosureXmpPageEmpty30} +\pastebutton{RealClosureXmpPageFull30}{\hidepaste} +\tab{5}\spadcommand{map(mainCharacterization,l)\free{l }} +\indentrel{3}\begin{verbatim} + (30) [[- 2,- 1[,[- 1,0[,[0,1[,[1,2[] +Type: List Union(RightOpenIntervalRootCharacterization(RealClosure Fraction Integer,SparseUnivariatePolynomial RealClosure Fraction Integer),"failed") +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty30} +\begin{paste}{RealClosureXmpPageEmpty30}{RealClosureXmpPagePatch30} +\pastebutton{RealClosureXmpPageEmpty30}{\showpaste} +\tab{5}\spadcommand{map(mainCharacterization,l)\free{l }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch31} +\begin{paste}{RealClosureXmpPageFull31}{RealClosureXmpPageEmpty31} +\pastebutton{RealClosureXmpPageFull31}{\hidepaste} +\tab{5}\spadcommand{[reduce(+,l),reduce(*,l)-2]\free{l }} +\indentrel{3}\begin{verbatim} + (31) [0,0] + Type: List RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty31} +\begin{paste}{RealClosureXmpPageEmpty31}{RealClosureXmpPagePatch31} +\pastebutton{RealClosureXmpPageEmpty31}{\showpaste} +\tab{5}\spadcommand{[reduce(+,l),reduce(*,l)-2]\free{l }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch32} +\begin{paste}{RealClosureXmpPageFull32}{RealClosureXmpPageEmpty32} +\pastebutton{RealClosureXmpPageFull32}{\hidepaste} +\tab{5}\spadcommand{(s2, s5, s10) := (sqrt(2)$Ran, sqrt(5)$Ran, sqrt(10)$Ran)\free{Ran }\bound{s2 }\bound{s5 }\bound{s10 }} +\indentrel{3}\begin{verbatim} + ÚÄÄ¿ + (32) \³10 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty32} +\begin{paste}{RealClosureXmpPageEmpty32}{RealClosureXmpPagePatch32} +\pastebutton{RealClosureXmpPageEmpty32}{\showpaste} +\tab{5}\spadcommand{(s2, s5, s10) := (sqrt(2)$Ran, sqrt(5)$Ran, sqrt(10)$Ran)\free{Ran }\bound{s2 }\bound{s5 }\bound{s10 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch33} +\begin{paste}{RealClosureXmpPageFull33}{RealClosureXmpPageEmpty33} +\pastebutton{RealClosureXmpPageFull33}{\hidepaste} +\tab{5}\spadcommand{eq1:=sqrt(s10+3)*sqrt(s5+2) - sqrt(s10-3)*sqrt(s5-2) = sqrt(10*s2+10)\free{s2 }\free{s5 }\free{s10 }\bound{eq1 }} +\indentrel{3}\begin{verbatim} + (33) + ÚÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄ¿ + ³ ÚÄÄ¿ ³ ÚÄ¿ ³ ÚÄÄ¿ ³ ÚÄ¿ + - \³\³10 - 3 \³\³5 - 2 + \³\³10 + 3 \³\³5 + 2 = + ÚÄÄÄÄÄÄÄÄÄÄÄ¿ + ³ ÚÄ¿ + \³10\³2 + 10 + Type: Equation RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty33} +\begin{paste}{RealClosureXmpPageEmpty33}{RealClosureXmpPagePatch33} +\pastebutton{RealClosureXmpPageEmpty33}{\showpaste} +\tab{5}\spadcommand{eq1:=sqrt(s10+3)*sqrt(s5+2) - sqrt(s10-3)*sqrt(s5-2) = sqrt(10*s2+10)\free{s2 }\free{s5 }\free{s10 }\bound{eq1 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch34} +\begin{paste}{RealClosureXmpPageFull34}{RealClosureXmpPageEmpty34} +\pastebutton{RealClosureXmpPageFull34}{\hidepaste} +\tab{5}\spadcommand{eq1::Boolean\free{eq1 }} +\indentrel{3}\begin{verbatim} + (34) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty34} +\begin{paste}{RealClosureXmpPageEmpty34}{RealClosureXmpPagePatch34} +\pastebutton{RealClosureXmpPageEmpty34}{\showpaste} +\tab{5}\spadcommand{eq1::Boolean\free{eq1 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch35} +\begin{paste}{RealClosureXmpPageFull35}{RealClosureXmpPageEmpty35} +\pastebutton{RealClosureXmpPageFull35}{\hidepaste} +\tab{5}\spadcommand{eq2:=sqrt(s5+2)*sqrt(s2+1) - sqrt(s5-2)*sqrt(s2-1) = sqrt(2*s10+2)\free{s2 }\free{s5 }\free{s10 }\bound{eq2 }} +\indentrel{3}\begin{verbatim} + (35) + ÚÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄ¿ + ³ ÚÄ¿ ³ ÚÄ¿ ³ ÚÄ¿ ³ ÚÄ¿ + - \³\³5 - 2 \³\³2 - 1 + \³\³5 + 2 \³\³2 + 1 = + ÚÄÄÄÄÄÄÄÄÄÄ¿ + ³ ÚÄÄ¿ + \³2\³10 + 2 + Type: Equation RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty35} +\begin{paste}{RealClosureXmpPageEmpty35}{RealClosureXmpPagePatch35} +\pastebutton{RealClosureXmpPageEmpty35}{\showpaste} +\tab{5}\spadcommand{eq2:=sqrt(s5+2)*sqrt(s2+1) - sqrt(s5-2)*sqrt(s2-1) = sqrt(2*s10+2)\free{s2 }\free{s5 }\free{s10 }\bound{eq2 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch36} +\begin{paste}{RealClosureXmpPageFull36}{RealClosureXmpPageEmpty36} +\pastebutton{RealClosureXmpPageFull36}{\hidepaste} +\tab{5}\spadcommand{eq2::Boolean\free{eq2 }} +\indentrel{3}\begin{verbatim} + (36) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty36} +\begin{paste}{RealClosureXmpPageEmpty36}{RealClosureXmpPagePatch36} +\pastebutton{RealClosureXmpPageEmpty36}{\showpaste} +\tab{5}\spadcommand{eq2::Boolean\free{eq2 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch37} +\begin{paste}{RealClosureXmpPageFull37}{RealClosureXmpPageEmpty37} +\pastebutton{RealClosureXmpPageFull37}{\hidepaste} +\tab{5}\spadcommand{s3 := sqrt(3)$Ran\free{Ran }\bound{s3 }} +\indentrel{3}\begin{verbatim} + ÚÄ¿ + (37) \³3 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty37} +\begin{paste}{RealClosureXmpPageEmpty37}{RealClosureXmpPagePatch37} +\pastebutton{RealClosureXmpPageEmpty37}{\showpaste} +\tab{5}\spadcommand{s3 := sqrt(3)$Ran\free{Ran }\bound{s3 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch38} +\begin{paste}{RealClosureXmpPageFull38}{RealClosureXmpPageEmpty38} +\pastebutton{RealClosureXmpPageFull38}{\hidepaste} +\tab{5}\spadcommand{s7:= sqrt(7)$Ran\free{Ran }\bound{s7 }} +\indentrel{3}\begin{verbatim} + ÚÄ¿ + (38) \³7 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty38} +\begin{paste}{RealClosureXmpPageEmpty38}{RealClosureXmpPagePatch38} +\pastebutton{RealClosureXmpPageEmpty38}{\showpaste} +\tab{5}\spadcommand{s7:= sqrt(7)$Ran\free{Ran }\bound{s7 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch39} +\begin{paste}{RealClosureXmpPageFull39}{RealClosureXmpPageEmpty39} +\pastebutton{RealClosureXmpPageFull39}{\hidepaste} +\tab{5}\spadcommand{e1 := sqrt(2*s7-3*s3,3)\free{s7 }\free{s3 }\bound{e1 }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ + 3³ ÚÄ¿ ÚÄ¿ + (39) \³2\³7 - 3\³3 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty39} +\begin{paste}{RealClosureXmpPageEmpty39}{RealClosureXmpPagePatch39} +\pastebutton{RealClosureXmpPageEmpty39}{\showpaste} +\tab{5}\spadcommand{e1 := sqrt(2*s7-3*s3,3)\free{s7 }\free{s3 }\bound{e1 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch40} +\begin{paste}{RealClosureXmpPageFull40}{RealClosureXmpPageEmpty40} +\pastebutton{RealClosureXmpPageFull40}{\hidepaste} +\tab{5}\spadcommand{e2 := sqrt(2*s7+3*s3,3)\free{s7 }\free{s3 }\bound{e2 }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ + 3³ ÚÄ¿ ÚÄ¿ + (40) \³2\³7 + 3\³3 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty40} +\begin{paste}{RealClosureXmpPageEmpty40}{RealClosureXmpPagePatch40} +\pastebutton{RealClosureXmpPageEmpty40}{\showpaste} +\tab{5}\spadcommand{e2 := sqrt(2*s7+3*s3,3)\free{s7 }\free{s3 }\bound{e2 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch41} +\begin{paste}{RealClosureXmpPageFull41}{RealClosureXmpPageEmpty41} +\pastebutton{RealClosureXmpPageFull41}{\hidepaste} +\tab{5}\spadcommand{e2-e1-s3\free{e2 }\free{e1 }\free{s3 }} +\indentrel{3}\begin{verbatim} + (41) 0 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty41} +\begin{paste}{RealClosureXmpPageEmpty41}{RealClosureXmpPagePatch41} +\pastebutton{RealClosureXmpPageEmpty41}{\showpaste} +\tab{5}\spadcommand{e2-e1-s3\free{e2 }\free{e1 }\free{s3 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch42} +\begin{paste}{RealClosureXmpPageFull42}{RealClosureXmpPageEmpty42} +\pastebutton{RealClosureXmpPageFull42}{\hidepaste} +\tab{5}\spadcommand{pol : UP(x,Ran) := x**4+(7/3)*x**2+30*x-(100/3)\free{Ran }\bound{pol }} +\indentrel{3}\begin{verbatim} + 4 7 2 100 + (42) x + Ä x + 30x - ÄÄÄ + 3 3 +Type: UnivariatePolynomial(x,RealClosure Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty42} +\begin{paste}{RealClosureXmpPageEmpty42}{RealClosureXmpPagePatch42} +\pastebutton{RealClosureXmpPageEmpty42}{\showpaste} +\tab{5}\spadcommand{pol : UP(x,Ran) := x**4+(7/3)*x**2+30*x-(100/3)\free{Ran }\bound{pol }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch43} +\begin{paste}{RealClosureXmpPageFull43}{RealClosureXmpPageEmpty43} +\pastebutton{RealClosureXmpPageFull43}{\hidepaste} +\tab{5}\spadcommand{r1 := sqrt(7633)$Ran\free{Ran }\bound{r1 }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄÄ¿ + (43) \³7633 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty43} +\begin{paste}{RealClosureXmpPageEmpty43}{RealClosureXmpPagePatch43} +\pastebutton{RealClosureXmpPageEmpty43}{\showpaste} +\tab{5}\spadcommand{r1 := sqrt(7633)$Ran\free{Ran }\bound{r1 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch44} +\begin{paste}{RealClosureXmpPageFull44}{RealClosureXmpPageEmpty44} +\pastebutton{RealClosureXmpPageFull44}{\hidepaste} +\tab{5}\spadcommand{alpha := sqrt(5*r1-436,3)/3\free{r1 }\bound{alpha }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ + 1 3³ ÚÄÄÄÄ¿ + (44) Ä \³5\³7633 - 436 + 3 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty44} +\begin{paste}{RealClosureXmpPageEmpty44}{RealClosureXmpPagePatch44} +\pastebutton{RealClosureXmpPageEmpty44}{\showpaste} +\tab{5}\spadcommand{alpha := sqrt(5*r1-436,3)/3\free{r1 }\bound{alpha }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch45} +\begin{paste}{RealClosureXmpPageFull45}{RealClosureXmpPageEmpty45} +\pastebutton{RealClosureXmpPageFull45}{\hidepaste} +\tab{5}\spadcommand{beta := -sqrt(5*r1+436,3)/3\free{r1 }\bound{beta }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ + 1 3³ ÚÄÄÄÄ¿ + (45) - Ä \³5\³7633 + 436 + 3 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty45} +\begin{paste}{RealClosureXmpPageEmpty45}{RealClosureXmpPagePatch45} +\pastebutton{RealClosureXmpPageEmpty45}{\showpaste} +\tab{5}\spadcommand{beta := -sqrt(5*r1+436,3)/3\free{r1 }\bound{beta }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch46} +\begin{paste}{RealClosureXmpPageFull46}{RealClosureXmpPageEmpty46} +\pastebutton{RealClosureXmpPageFull46}{\hidepaste} +\tab{5}\spadcommand{pol.(alpha+beta-1/3)\free{pol }\free{alpha }\free{beta }} +\indentrel{3}\begin{verbatim} + (46) 0 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty46} +\begin{paste}{RealClosureXmpPageEmpty46}{RealClosureXmpPagePatch46} +\pastebutton{RealClosureXmpPageEmpty46}{\showpaste} +\tab{5}\spadcommand{pol.(alpha+beta-1/3)\free{pol }\free{alpha }\free{beta }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch47} +\begin{paste}{RealClosureXmpPageFull47}{RealClosureXmpPageEmpty47} +\pastebutton{RealClosureXmpPageFull47}{\hidepaste} +\tab{5}\spadcommand{qol : UP(x,Ran) := x**5+10*x**3+20*x+22\free{Ran }\bound{qol }} +\indentrel{3}\begin{verbatim} + 5 3 + (47) x + 10x + 20x + 22 +Type: UnivariatePolynomial(x,RealClosure Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty47} +\begin{paste}{RealClosureXmpPageEmpty47}{RealClosureXmpPagePatch47} +\pastebutton{RealClosureXmpPageEmpty47}{\showpaste} +\tab{5}\spadcommand{qol : UP(x,Ran) := x**5+10*x**3+20*x+22\free{Ran }\bound{qol }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch48} +\begin{paste}{RealClosureXmpPageFull48}{RealClosureXmpPageEmpty48} +\pastebutton{RealClosureXmpPageFull48}{\hidepaste} +\tab{5}\spadcommand{r2 := sqrt(153)$Ran\free{Ran }\bound{r2 }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄ¿ + (48) \³153 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty48} +\begin{paste}{RealClosureXmpPageEmpty48}{RealClosureXmpPagePatch48} +\pastebutton{RealClosureXmpPageEmpty48}{\showpaste} +\tab{5}\spadcommand{r2 := sqrt(153)$Ran\free{Ran }\bound{r2 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch49} +\begin{paste}{RealClosureXmpPageFull49}{RealClosureXmpPageEmpty49} +\pastebutton{RealClosureXmpPageFull49}{\hidepaste} +\tab{5}\spadcommand{alpha2 := sqrt(r2-11,5)\free{r2 }\bound{alpha2 }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄÄÄÄÄÄÄÄÄ¿ + 5³ ÚÄÄÄ¿ + (49) \³\³153 - 11 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty49} +\begin{paste}{RealClosureXmpPageEmpty49}{RealClosureXmpPagePatch49} +\pastebutton{RealClosureXmpPageEmpty49}{\showpaste} +\tab{5}\spadcommand{alpha2 := sqrt(r2-11,5)\free{r2 }\bound{alpha2 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch50} +\begin{paste}{RealClosureXmpPageFull50}{RealClosureXmpPageEmpty50} +\pastebutton{RealClosureXmpPageFull50}{\hidepaste} +\tab{5}\spadcommand{beta2 := -sqrt(r2+11,5)\free{r2 }\bound{beta2 }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄÄÄÄÄÄÄÄÄ¿ + 5³ ÚÄÄÄ¿ + (50) - \³\³153 + 11 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty50} +\begin{paste}{RealClosureXmpPageEmpty50}{RealClosureXmpPagePatch50} +\pastebutton{RealClosureXmpPageEmpty50}{\showpaste} +\tab{5}\spadcommand{beta2 := -sqrt(r2+11,5)\free{r2 }\bound{beta2 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch51} +\begin{paste}{RealClosureXmpPageFull51}{RealClosureXmpPageEmpty51} +\pastebutton{RealClosureXmpPageFull51}{\hidepaste} +\tab{5}\spadcommand{qol(alpha2+beta2)\free{qol }\free{alpha2 }\free{beta2 }} +\indentrel{3}\begin{verbatim} + (51) 0 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty51} +\begin{paste}{RealClosureXmpPageEmpty51}{RealClosureXmpPagePatch51} +\pastebutton{RealClosureXmpPageEmpty51}{\showpaste} +\tab{5}\spadcommand{qol(alpha2+beta2)\free{qol }\free{alpha2 }\free{beta2 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch52} +\begin{paste}{RealClosureXmpPageFull52}{RealClosureXmpPageEmpty52} +\pastebutton{RealClosureXmpPageFull52}{\hidepaste} +\tab{5}\spadcommand{dst1:=sqrt(9+4*s2)=1+2*s2\free{s2 }\bound{dst1 }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄÄÄÄÄÄÄ¿ + ³ ÚÄ¿ ÚÄ¿ + (52) \³4\³2 + 9 = 2\³2 + 1 + Type: Equation RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty52} +\begin{paste}{RealClosureXmpPageEmpty52}{RealClosureXmpPagePatch52} +\pastebutton{RealClosureXmpPageEmpty52}{\showpaste} +\tab{5}\spadcommand{dst1:=sqrt(9+4*s2)=1+2*s2\free{s2 }\bound{dst1 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch53} +\begin{paste}{RealClosureXmpPageFull53}{RealClosureXmpPageEmpty53} +\pastebutton{RealClosureXmpPageFull53}{\hidepaste} +\tab{5}\spadcommand{dst1::Boolean\free{dst1 }} +\indentrel{3}\begin{verbatim} + (53) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty53} +\begin{paste}{RealClosureXmpPageEmpty53}{RealClosureXmpPagePatch53} +\pastebutton{RealClosureXmpPageEmpty53}{\showpaste} +\tab{5}\spadcommand{dst1::Boolean\free{dst1 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch54} +\begin{paste}{RealClosureXmpPageFull54}{RealClosureXmpPageEmpty54} +\pastebutton{RealClosureXmpPageFull54}{\hidepaste} +\tab{5}\spadcommand{s6:Ran:=sqrt 6\free{Ran }\bound{s6 }} +\indentrel{3}\begin{verbatim} + ÚÄ¿ + (54) \³6 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty54} +\begin{paste}{RealClosureXmpPageEmpty54}{RealClosureXmpPagePatch54} +\pastebutton{RealClosureXmpPageEmpty54}{\showpaste} +\tab{5}\spadcommand{s6:Ran:=sqrt 6\free{Ran }\bound{s6 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch55} +\begin{paste}{RealClosureXmpPageFull55}{RealClosureXmpPageEmpty55} +\pastebutton{RealClosureXmpPageFull55}{\hidepaste} +\tab{5}\spadcommand{dst2:=sqrt(5+2*s6)+sqrt(5-2*s6) = 2*s3\free{s6 }\free{s3 }\bound{dst2 }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄ¿ + ³ ÚÄ¿ ³ ÚÄ¿ ÚÄ¿ + (55) \³- 2\³6 + 5 + \³2\³6 + 5 = 2\³3 + Type: Equation RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty55} +\begin{paste}{RealClosureXmpPageEmpty55}{RealClosureXmpPagePatch55} +\pastebutton{RealClosureXmpPageEmpty55}{\showpaste} +\tab{5}\spadcommand{dst2:=sqrt(5+2*s6)+sqrt(5-2*s6) = 2*s3\free{s6 }\free{s3 }\bound{dst2 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch56} +\begin{paste}{RealClosureXmpPageFull56}{RealClosureXmpPageEmpty56} +\pastebutton{RealClosureXmpPageFull56}{\hidepaste} +\tab{5}\spadcommand{dst2::Boolean\free{dst2 }} +\indentrel{3}\begin{verbatim} + (56) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty56} +\begin{paste}{RealClosureXmpPageEmpty56}{RealClosureXmpPagePatch56} +\pastebutton{RealClosureXmpPageEmpty56}{\showpaste} +\tab{5}\spadcommand{dst2::Boolean\free{dst2 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch57} +\begin{paste}{RealClosureXmpPageFull57}{RealClosureXmpPageEmpty57} +\pastebutton{RealClosureXmpPageFull57}{\hidepaste} +\tab{5}\spadcommand{s29:Ran:=sqrt 29\free{Ran }\bound{s29 }} +\indentrel{3}\begin{verbatim} + ÚÄÄ¿ + (57) \³29 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty57} +\begin{paste}{RealClosureXmpPageEmpty57}{RealClosureXmpPagePatch57} +\pastebutton{RealClosureXmpPageEmpty57}{\showpaste} +\tab{5}\spadcommand{s29:Ran:=sqrt 29\free{Ran }\bound{s29 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch58} +\begin{paste}{RealClosureXmpPageFull58}{RealClosureXmpPageEmpty58} +\pastebutton{RealClosureXmpPageFull58}{\hidepaste} +\tab{5}\spadcommand{dst4:=sqrt(16-2*s29+2*sqrt(55-10*s29)) = sqrt(22+2*s5)-sqrt(11+2*s29)+s5\free{s29 }\free{s5 }\bound{dst4 }} +\indentrel{3}\begin{verbatim} + (58) + ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ + ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ + ³ ³ ÚÄÄ¿ ÚÄÄ¿ + \³2\³- 10\³29 + 55 - 2\³29 + 16 = + ÚÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄ¿ + ³ ÚÄÄ¿ ³ ÚÄ¿ ÚÄ¿ + - \³2\³29 + 11 + \³2\³5 + 22 + \³5 + Type: Equation RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty58} +\begin{paste}{RealClosureXmpPageEmpty58}{RealClosureXmpPagePatch58} +\pastebutton{RealClosureXmpPageEmpty58}{\showpaste} +\tab{5}\spadcommand{dst4:=sqrt(16-2*s29+2*sqrt(55-10*s29)) = sqrt(22+2*s5)-sqrt(11+2*s29)+s5\free{s29 }\free{s5 }\bound{dst4 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch59} +\begin{paste}{RealClosureXmpPageFull59}{RealClosureXmpPageEmpty59} +\pastebutton{RealClosureXmpPageFull59}{\hidepaste} +\tab{5}\spadcommand{dst4::Boolean\free{dst4 }} +\indentrel{3}\begin{verbatim} + (59) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty59} +\begin{paste}{RealClosureXmpPageEmpty59}{RealClosureXmpPagePatch59} +\pastebutton{RealClosureXmpPageEmpty59}{\showpaste} +\tab{5}\spadcommand{dst4::Boolean\free{dst4 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch60} +\begin{paste}{RealClosureXmpPageFull60}{RealClosureXmpPageEmpty60} +\pastebutton{RealClosureXmpPageFull60}{\hidepaste} +\tab{5}\spadcommand{dst6:=sqrt((112+70*s2)+(46+34*s2)*s5) = (5+4*s2)+(3+s2)*s5\free{s2 }\free{s5 }\bound{dst6 }} +\indentrel{3}\begin{verbatim} + (60) + ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ + ³ ÚÄ¿ ÚÄ¿ ÚÄ¿ + \³(34\³2 + 46)\³5 + 70\³2 + 112 = + ÚÄ¿ ÚÄ¿ ÚÄ¿ + (\³2 + 3)\³5 + 4\³2 + 5 + Type: Equation RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty60} +\begin{paste}{RealClosureXmpPageEmpty60}{RealClosureXmpPagePatch60} +\pastebutton{RealClosureXmpPageEmpty60}{\showpaste} +\tab{5}\spadcommand{dst6:=sqrt((112+70*s2)+(46+34*s2)*s5) = (5+4*s2)+(3+s2)*s5\free{s2 }\free{s5 }\bound{dst6 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch61} +\begin{paste}{RealClosureXmpPageFull61}{RealClosureXmpPageEmpty61} +\pastebutton{RealClosureXmpPageFull61}{\hidepaste} +\tab{5}\spadcommand{dst6::Boolean\free{dst6 }} +\indentrel{3}\begin{verbatim} + (61) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty61} +\begin{paste}{RealClosureXmpPageEmpty61}{RealClosureXmpPagePatch61} +\pastebutton{RealClosureXmpPageEmpty61}{\showpaste} +\tab{5}\spadcommand{dst6::Boolean\free{dst6 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch62} +\begin{paste}{RealClosureXmpPageFull62}{RealClosureXmpPageEmpty62} +\pastebutton{RealClosureXmpPageFull62}{\hidepaste} +\tab{5}\spadcommand{f3:Ran:=sqrt(3,5)\free{Ran }\bound{f3 }} +\indentrel{3}\begin{verbatim} + 5ÚÄ¿ + (62) \³3 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty62} +\begin{paste}{RealClosureXmpPageEmpty62}{RealClosureXmpPagePatch62} +\pastebutton{RealClosureXmpPageEmpty62}{\showpaste} +\tab{5}\spadcommand{f3:Ran:=sqrt(3,5)\free{Ran }\bound{f3 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch63} +\begin{paste}{RealClosureXmpPageFull63}{RealClosureXmpPageEmpty63} +\pastebutton{RealClosureXmpPageFull63}{\hidepaste} +\tab{5}\spadcommand{f25:Ran:=sqrt(1/25,5)\free{Ran }\bound{f25 }} +\indentrel{3}\begin{verbatim} + ÚÄÄ¿ + ³ 1 + (63) 5³ÄÄ + \³25 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty63} +\begin{paste}{RealClosureXmpPageEmpty63}{RealClosureXmpPagePatch63} +\pastebutton{RealClosureXmpPageEmpty63}{\showpaste} +\tab{5}\spadcommand{f25:Ran:=sqrt(1/25,5)\free{Ran }\bound{f25 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch64} +\begin{paste}{RealClosureXmpPageFull64}{RealClosureXmpPageEmpty64} +\pastebutton{RealClosureXmpPageFull64}{\hidepaste} +\tab{5}\spadcommand{f32:Ran:=sqrt(32/5,5)\free{Ran }\bound{f32 }} +\indentrel{3}\begin{verbatim} + ÚÄÄ¿ + ³32 + (64) 5³ÄÄ + \³ 5 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty64} +\begin{paste}{RealClosureXmpPageEmpty64}{RealClosureXmpPagePatch64} +\pastebutton{RealClosureXmpPageEmpty64}{\showpaste} +\tab{5}\spadcommand{f32:Ran:=sqrt(32/5,5)\free{Ran }\bound{f32 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch65} +\begin{paste}{RealClosureXmpPageFull65}{RealClosureXmpPageEmpty65} +\pastebutton{RealClosureXmpPageFull65}{\hidepaste} +\tab{5}\spadcommand{f27:Ran:=sqrt(27/5,5)\free{Ran }\bound{f27 }} +\indentrel{3}\begin{verbatim} + ÚÄÄ¿ + ³27 + (65) 5³ÄÄ + \³ 5 + Type: RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty65} +\begin{paste}{RealClosureXmpPageEmpty65}{RealClosureXmpPagePatch65} +\pastebutton{RealClosureXmpPageEmpty65}{\showpaste} +\tab{5}\spadcommand{f27:Ran:=sqrt(27/5,5)\free{Ran }\bound{f27 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch66} +\begin{paste}{RealClosureXmpPageFull66}{RealClosureXmpPageEmpty66} +\pastebutton{RealClosureXmpPageFull66}{\hidepaste} +\tab{5}\spadcommand{dst5:=sqrt((f32-f27,3)) = f25*(1+f3-f3**2)\free{f32 }\free{f27 }\free{f25 }\free{f3 }\bound{dst5 }} +\indentrel{3}\begin{verbatim} + ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ + ³ ÚÄÄ¿ ÚÄÄ¿ ÚÄÄ¿ + ³ ³27 ³32 5ÚÄ¿2 5ÚÄ¿ ³ 1 + (66) 3³- 5³ÄÄ + 5³ÄÄ = (- \³3 + \³3 + 1) 5³ÄÄ + \³ \³ 5 \³ 5 \³25 + Type: Equation RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty66} +\begin{paste}{RealClosureXmpPageEmpty66}{RealClosureXmpPagePatch66} +\pastebutton{RealClosureXmpPageEmpty66}{\showpaste} +\tab{5}\spadcommand{dst5:=sqrt((f32-f27,3)) = f25*(1+f3-f3**2)\free{f32 }\free{f27 }\free{f25 }\free{f3 }\bound{dst5 }} +\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPagePatch67} +\begin{paste}{RealClosureXmpPageFull67}{RealClosureXmpPageEmpty67} +\pastebutton{RealClosureXmpPageFull67}{\hidepaste} +\tab{5}\spadcommand{dst5::Boolean\free{dst5 }} +\indentrel{3}\begin{verbatim} + (67) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RealClosureXmpPageEmpty67} +\begin{paste}{RealClosureXmpPageEmpty67}{RealClosureXmpPagePatch67} +\pastebutton{RealClosureXmpPageEmpty67}{\showpaste} +\tab{5}\spadcommand{dst5::Boolean\free{dst5 }} +\end{paste}\end{patch} + @ \section{record.ht} \pagehead{DomainRecord}{record.ht}{Domain {\bf Record(a:A,...,b:B)}} @@ -19164,6 +52476,1018 @@ marc@nag.co.uk} for more information and help. \autobuttons \end{page} +\begin{patch}{RegularTriangularSetXmpPagePatch1} +\begin{paste}{RegularTriangularSetXmpPageFull1}{RegularTriangularSetXmpPageEmpty1} +\pastebutton{RegularTriangularSetXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{R := Integer\bound{R }} +\indentrel{3}\begin{verbatim} + (1) Integer + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty1} +\begin{paste}{RegularTriangularSetXmpPageEmpty1}{RegularTriangularSetXmpPagePatch1} +\pastebutton{RegularTriangularSetXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{R := Integer\bound{R }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch2} +\begin{paste}{RegularTriangularSetXmpPageFull2}{RegularTriangularSetXmpPageEmpty2} +\pastebutton{RegularTriangularSetXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{ls : List Symbol := [x,y,z,t]\bound{ls }} +\indentrel{3}\begin{verbatim} + (2) [x,y,z,t] + Type: List Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty2} +\begin{paste}{RegularTriangularSetXmpPageEmpty2}{RegularTriangularSetXmpPagePatch2} +\pastebutton{RegularTriangularSetXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{ls : List Symbol := [x,y,z,t]\bound{ls }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch3} +\begin{paste}{RegularTriangularSetXmpPageFull3}{RegularTriangularSetXmpPageEmpty3} +\pastebutton{RegularTriangularSetXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{V := OVAR(ls)\free{ls }\bound{V }} +\indentrel{3}\begin{verbatim} + (3) OrderedVariableList [x,y,z,t] + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty3} +\begin{paste}{RegularTriangularSetXmpPageEmpty3}{RegularTriangularSetXmpPagePatch3} +\pastebutton{RegularTriangularSetXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{V := OVAR(ls)\free{ls }\bound{V }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch4} +\begin{paste}{RegularTriangularSetXmpPageFull4}{RegularTriangularSetXmpPageEmpty4} +\pastebutton{RegularTriangularSetXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{E := IndexedExponents V\free{V }\bound{E }} +\indentrel{3}\begin{verbatim} + (4) IndexedExponents OrderedVariableList [x,y,z,t] + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty4} +\begin{paste}{RegularTriangularSetXmpPageEmpty4}{RegularTriangularSetXmpPagePatch4} +\pastebutton{RegularTriangularSetXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{E := IndexedExponents V\free{V }\bound{E }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch5} +\begin{paste}{RegularTriangularSetXmpPageFull5}{RegularTriangularSetXmpPageEmpty5} +\pastebutton{RegularTriangularSetXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{P := NSMP(R, V)\free{R }\free{V }\bound{P }} +\indentrel{3}\begin{verbatim} + (5) + NewSparseMultivariatePolynomial(Integer,OrderedVariable + List [x,y,z,t]) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty5} +\begin{paste}{RegularTriangularSetXmpPageEmpty5}{RegularTriangularSetXmpPagePatch5} +\pastebutton{RegularTriangularSetXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{P := NSMP(R, V)\free{R }\free{V }\bound{P }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch6} +\begin{paste}{RegularTriangularSetXmpPageFull6}{RegularTriangularSetXmpPageEmpty6} +\pastebutton{RegularTriangularSetXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{x: P := 'x\free{P }\bound{x }} +\indentrel{3}\begin{verbatim} + (6) x +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty6} +\begin{paste}{RegularTriangularSetXmpPageEmpty6}{RegularTriangularSetXmpPagePatch6} +\pastebutton{RegularTriangularSetXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{x: P := 'x\free{P }\bound{x }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch7} +\begin{paste}{RegularTriangularSetXmpPageFull7}{RegularTriangularSetXmpPageEmpty7} +\pastebutton{RegularTriangularSetXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{y: P := 'y\free{P }\bound{y }} +\indentrel{3}\begin{verbatim} + (7) y +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty7} +\begin{paste}{RegularTriangularSetXmpPageEmpty7}{RegularTriangularSetXmpPagePatch7} +\pastebutton{RegularTriangularSetXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{y: P := 'y\free{P }\bound{y }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch8} +\begin{paste}{RegularTriangularSetXmpPageFull8}{RegularTriangularSetXmpPageEmpty8} +\pastebutton{RegularTriangularSetXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{z: P := 'z\free{P }\bound{z }} +\indentrel{3}\begin{verbatim} + (8) z +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty8} +\begin{paste}{RegularTriangularSetXmpPageEmpty8}{RegularTriangularSetXmpPagePatch8} +\pastebutton{RegularTriangularSetXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{z: P := 'z\free{P }\bound{z }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch9} +\begin{paste}{RegularTriangularSetXmpPageFull9}{RegularTriangularSetXmpPageEmpty9} +\pastebutton{RegularTriangularSetXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{t: P := 't\free{P }\bound{t }} +\indentrel{3}\begin{verbatim} + (9) t +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty9} +\begin{paste}{RegularTriangularSetXmpPageEmpty9}{RegularTriangularSetXmpPagePatch9} +\pastebutton{RegularTriangularSetXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{t: P := 't\free{P }\bound{t }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch10} +\begin{paste}{RegularTriangularSetXmpPageFull10}{RegularTriangularSetXmpPageEmpty10} +\pastebutton{RegularTriangularSetXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{T := REGSET(R,E,V,P)\free{R }\free{E }\free{V }\free{P }\bound{T }} +\indentrel{3}\begin{verbatim} + (10) + RegularTriangularSet(Integer,IndexedExponents OrderedVa + riableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewS + parseMultivariatePolynomial(Integer,OrderedVariableList + [x,y,z,t])) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty10} +\begin{paste}{RegularTriangularSetXmpPageEmpty10}{RegularTriangularSetXmpPagePatch10} +\pastebutton{RegularTriangularSetXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{T := REGSET(R,E,V,P)\free{R }\free{E }\free{V }\free{P }\bound{T }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch11} +\begin{paste}{RegularTriangularSetXmpPageFull11}{RegularTriangularSetXmpPageEmpty11} +\pastebutton{RegularTriangularSetXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{p1 := x ** 31 - x ** 6 - x - y\free{x }\free{y }\bound{p1 }} +\indentrel{3}\begin{verbatim} + 31 6 + (11) x - x - x - y +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty11} +\begin{paste}{RegularTriangularSetXmpPageEmpty11}{RegularTriangularSetXmpPagePatch11} +\pastebutton{RegularTriangularSetXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{p1 := x ** 31 - x ** 6 - x - y\free{x }\free{y }\bound{p1 }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch12} +\begin{paste}{RegularTriangularSetXmpPageFull12}{RegularTriangularSetXmpPageEmpty12} +\pastebutton{RegularTriangularSetXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{p2 := x ** 8 - z\free{x }\free{z }\bound{p2 }} +\indentrel{3}\begin{verbatim} + 8 + (12) x - z +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty12} +\begin{paste}{RegularTriangularSetXmpPageEmpty12}{RegularTriangularSetXmpPagePatch12} +\pastebutton{RegularTriangularSetXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{p2 := x ** 8 - z\free{x }\free{z }\bound{p2 }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch13} +\begin{paste}{RegularTriangularSetXmpPageFull13}{RegularTriangularSetXmpPageEmpty13} +\pastebutton{RegularTriangularSetXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{p3 := x ** 10 - t\free{x }\free{t }\bound{p3 }} +\indentrel{3}\begin{verbatim} + 10 + (13) x - t +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty13} +\begin{paste}{RegularTriangularSetXmpPageEmpty13}{RegularTriangularSetXmpPagePatch13} +\pastebutton{RegularTriangularSetXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{p3 := x ** 10 - t\free{x }\free{t }\bound{p3 }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch14} +\begin{paste}{RegularTriangularSetXmpPageFull14}{RegularTriangularSetXmpPageEmpty14} +\pastebutton{RegularTriangularSetXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{lp := [p1, p2, p3]\free{p1 }\free{p2 }\free{p3 }\bound{lp }} +\indentrel{3}\begin{verbatim} + 31 6 8 10 + (14) [x - x - x - y,x - z,x - t] +Type: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty14} +\begin{paste}{RegularTriangularSetXmpPageEmpty14}{RegularTriangularSetXmpPagePatch14} +\pastebutton{RegularTriangularSetXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{lp := [p1, p2, p3]\free{p1 }\free{p2 }\free{p3 }\bound{lp }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch15} +\begin{paste}{RegularTriangularSetXmpPageFull15}{RegularTriangularSetXmpPageEmpty15} +\pastebutton{RegularTriangularSetXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{zeroSetSplit(lp)$T\free{lp }\free{T }} +\indentrel{3}\begin{verbatim} + (15) + [ + 5 4 2 3 8 5 3 2 + {z - t , t z y + 2z y - t + 2t + t - t , + 4 2 + (t - t)x - t y - z } + ] +Type: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty15} +\begin{paste}{RegularTriangularSetXmpPageEmpty15}{RegularTriangularSetXmpPagePatch15} +\pastebutton{RegularTriangularSetXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{zeroSetSplit(lp)$T\free{lp }\free{T }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch16} +\begin{paste}{RegularTriangularSetXmpPageFull16}{RegularTriangularSetXmpPageEmpty16} +\pastebutton{RegularTriangularSetXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{lts := zeroSetSplit(lp,false)$T\free{lp }\free{T }\bound{lts }} +\indentrel{3}\begin{verbatim} + (16) + [ + 5 4 2 3 8 5 3 2 + {z - t , t z y + 2z y - t + 2t + t - t , + 4 2 + (t - t)x - t y - z } + , + 3 5 2 3 2 + {t - 1,z - t,t z y + 2z y + 1,z x - t}, + {t,z,y,x}] +Type: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty16} +\begin{paste}{RegularTriangularSetXmpPageEmpty16}{RegularTriangularSetXmpPagePatch16} +\pastebutton{RegularTriangularSetXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{lts := zeroSetSplit(lp,false)$T\free{lp }\free{T }\bound{lts }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch17} +\begin{paste}{RegularTriangularSetXmpPageFull17}{RegularTriangularSetXmpPageEmpty17} +\pastebutton{RegularTriangularSetXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{[coHeight(ts) for ts in lts]\free{lts }} +\indentrel{3}\begin{verbatim} + (17) [1,0,0] + Type: List NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty17} +\begin{paste}{RegularTriangularSetXmpPageEmpty17}{RegularTriangularSetXmpPagePatch17} +\pastebutton{RegularTriangularSetXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{[coHeight(ts) for ts in lts]\free{lts }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch18} +\begin{paste}{RegularTriangularSetXmpPageFull18}{RegularTriangularSetXmpPageEmpty18} +\pastebutton{RegularTriangularSetXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{f1 := y**2*z+2*x*y*t-2*x-z\free{z }\free{x }\free{y }\free{t }\bound{f1 }} +\indentrel{3}\begin{verbatim} + 2 + (18) (2t y - 2)x + z y - z +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty18} +\begin{paste}{RegularTriangularSetXmpPageEmpty18}{RegularTriangularSetXmpPagePatch18} +\pastebutton{RegularTriangularSetXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{f1 := y**2*z+2*x*y*t-2*x-z\free{z }\free{x }\free{y }\free{t }\bound{f1 }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch19} +\begin{paste}{RegularTriangularSetXmpPageFull19}{RegularTriangularSetXmpPageEmpty19} +\pastebutton{RegularTriangularSetXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{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\free{z }\free{x }\free{y }\free{t }\bound{f2 }} +\indentrel{3}\begin{verbatim} + (19) + 3 2 2 3 2 + - z x + (4t y + 4)x + (4z y + 4z)x + 2t y - 10y + + + - 10t y + 2 +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty19} +\begin{paste}{RegularTriangularSetXmpPageEmpty19}{RegularTriangularSetXmpPagePatch19} +\pastebutton{RegularTriangularSetXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{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\free{z }\free{x }\free{y }\free{t }\bound{f2 }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch20} +\begin{paste}{RegularTriangularSetXmpPageFull20}{RegularTriangularSetXmpPageEmpty20} +\pastebutton{RegularTriangularSetXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{f3 := 2*y*z*t+x*t**2-x-2*z\free{z }\free{x }\free{y }\free{t }\bound{f3 }} +\indentrel{3}\begin{verbatim} + 2 + (20) (t - 1)x + 2t z y - 2z +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty20} +\begin{paste}{RegularTriangularSetXmpPageEmpty20}{RegularTriangularSetXmpPagePatch20} +\pastebutton{RegularTriangularSetXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{f3 := 2*y*z*t+x*t**2-x-2*z\free{z }\free{x }\free{y }\free{t }\bound{f3 }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch21} +\begin{paste}{RegularTriangularSetXmpPageFull21}{RegularTriangularSetXmpPageEmpty21} +\pastebutton{RegularTriangularSetXmpPageFull21}{\hidepaste} +\tab{5}\spadcommand{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\free{z }\free{x }\free{y }\free{t }\bound{f4 }} +\indentrel{3}\begin{verbatim} + (21) + 3 2 2 3 2 + (- z + (4t + 4)z)x + (4t z + 2t - 10t)y + 4z + + + 2 + - 10t + 2 +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty21} +\begin{paste}{RegularTriangularSetXmpPageEmpty21}{RegularTriangularSetXmpPagePatch21} +\pastebutton{RegularTriangularSetXmpPageEmpty21}{\showpaste} +\tab{5}\spadcommand{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\free{z }\free{x }\free{y }\free{t }\bound{f4 }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch22} +\begin{paste}{RegularTriangularSetXmpPageFull22}{RegularTriangularSetXmpPageEmpty22} +\pastebutton{RegularTriangularSetXmpPageFull22}{\hidepaste} +\tab{5}\spadcommand{lf := [f1, f2, f3, f4]\free{f1 }\free{f2 }\free{f3 }\free{f4 }\bound{lf }} +\indentrel{3}\begin{verbatim} + (22) + 2 + [(2t y - 2)x + z y - z, + + 3 2 2 3 + - z x + (4t y + 4)x + (4z y + 4z)x + 2t y + + + 2 + - 10y - 10t y + 2 + , + 2 + (t - 1)x + 2t z y - 2z, + + 3 2 2 3 2 + (- z + (4t + 4)z)x + (4t z + 2t - 10t)y + 4z + + + 2 + - 10t + 2 + ] +Type: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty22} +\begin{paste}{RegularTriangularSetXmpPageEmpty22}{RegularTriangularSetXmpPagePatch22} +\pastebutton{RegularTriangularSetXmpPageEmpty22}{\showpaste} +\tab{5}\spadcommand{lf := [f1, f2, f3, f4]\free{f1 }\free{f2 }\free{f3 }\free{f4 }\bound{lf }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch23} +\begin{paste}{RegularTriangularSetXmpPageFull23}{RegularTriangularSetXmpPageEmpty23} +\pastebutton{RegularTriangularSetXmpPageFull23}{\hidepaste} +\tab{5}\spadcommand{zeroSetSplit(lf)$T\free{lf }\free{T }} +\indentrel{3}\begin{verbatim} + (23) + [ + 2 8 6 2 + {t - 1, z - 16z + 256z - 256, t y - 1, + 3 2 + (z - 8z)x - 8z + 16} + , + 2 2 2 + {3t + 1,z - 7t - 1,y + t,x + z}, + 8 6 2 3 2 + {t - 10t + 10t - 1,z,(t - 5t)y - 5t + 1,x}, + 2 2 + {t + 3,z - 4,y + t,x - z}] +Type: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty23} +\begin{paste}{RegularTriangularSetXmpPageEmpty23}{RegularTriangularSetXmpPagePatch23} +\pastebutton{RegularTriangularSetXmpPageEmpty23}{\showpaste} +\tab{5}\spadcommand{zeroSetSplit(lf)$T\free{lf }\free{T }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch24} +\begin{paste}{RegularTriangularSetXmpPageFull24}{RegularTriangularSetXmpPageEmpty24} +\pastebutton{RegularTriangularSetXmpPageFull24}{\hidepaste} +\tab{5}\spadcommand{lts2 := zeroSetSplit(lf,false)$T\free{lf }\free{T }\bound{lts2 }} +\indentrel{3}\begin{verbatim} + (24) + 8 6 2 3 2 + [{t - 10t + 10t - 1,z,(t - 5t)y - 5t + 1,x}, + + 2 8 6 2 + {t - 1, z - 16z + 256z - 256, t y - 1, + 3 2 + (z - 8z)x - 8z + 16} + , + 2 2 2 + {3t + 1,z - 7t - 1,y + t,x + z}, + 2 2 + {t + 3,z - 4,y + t,x - z}] +Type: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty24} +\begin{paste}{RegularTriangularSetXmpPageEmpty24}{RegularTriangularSetXmpPagePatch24} +\pastebutton{RegularTriangularSetXmpPageEmpty24}{\showpaste} +\tab{5}\spadcommand{lts2 := zeroSetSplit(lf,false)$T\free{lf }\free{T }\bound{lts2 }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch25} +\begin{paste}{RegularTriangularSetXmpPageFull25}{RegularTriangularSetXmpPageEmpty25} +\pastebutton{RegularTriangularSetXmpPageFull25}{\hidepaste} +\tab{5}\spadcommand{[coHeight(ts) for ts in lts2]\free{lts2 }} +\indentrel{3}\begin{verbatim} + (25) [0,0,0,0] + Type: List NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty25} +\begin{paste}{RegularTriangularSetXmpPageEmpty25}{RegularTriangularSetXmpPagePatch25} +\pastebutton{RegularTriangularSetXmpPageEmpty25}{\showpaste} +\tab{5}\spadcommand{[coHeight(ts) for ts in lts2]\free{lts2 }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch26} +\begin{paste}{RegularTriangularSetXmpPageFull26}{RegularTriangularSetXmpPageEmpty26} +\pastebutton{RegularTriangularSetXmpPageFull26}{\hidepaste} +\tab{5}\spadcommand{degrees := [degree(ts) for ts in lts2]\free{lts2 }\bound{degrees }} +\indentrel{3}\begin{verbatim} + (26) [8,16,4,4] + Type: List NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty26} +\begin{paste}{RegularTriangularSetXmpPageEmpty26}{RegularTriangularSetXmpPagePatch26} +\pastebutton{RegularTriangularSetXmpPageEmpty26}{\showpaste} +\tab{5}\spadcommand{degrees := [degree(ts) for ts in lts2]\free{lts2 }\bound{degrees }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch27} +\begin{paste}{RegularTriangularSetXmpPageFull27}{RegularTriangularSetXmpPageEmpty27} +\pastebutton{RegularTriangularSetXmpPageFull27}{\hidepaste} +\tab{5}\spadcommand{reduce(+,degrees)\free{degrees }} +\indentrel{3}\begin{verbatim} + (27) 32 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty27} +\begin{paste}{RegularTriangularSetXmpPageEmpty27}{RegularTriangularSetXmpPagePatch27} +\pastebutton{RegularTriangularSetXmpPageEmpty27}{\showpaste} +\tab{5}\spadcommand{reduce(+,degrees)\free{degrees }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch28} +\begin{paste}{RegularTriangularSetXmpPageFull28}{RegularTriangularSetXmpPageEmpty28} +\pastebutton{RegularTriangularSetXmpPageFull28}{\hidepaste} +\tab{5}\spadcommand{u : R := 2\free{R }\bound{u }} +\indentrel{3}\begin{verbatim} + (28) 2 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty28} +\begin{paste}{RegularTriangularSetXmpPageEmpty28}{RegularTriangularSetXmpPagePatch28} +\pastebutton{RegularTriangularSetXmpPageEmpty28}{\showpaste} +\tab{5}\spadcommand{u : R := 2\free{R }\bound{u }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch29} +\begin{paste}{RegularTriangularSetXmpPageFull29}{RegularTriangularSetXmpPageEmpty29} +\pastebutton{RegularTriangularSetXmpPageFull29}{\hidepaste} +\tab{5}\spadcommand{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\free{z }\free{x }\free{y }\free{t }\free{u }\bound{q1 }} +\indentrel{3}\begin{verbatim} + (29) + 2 2 2 + (y - 2t y + t )x + + + 2 2 2 + (- 2y + ((2t + 4)z + 2t)y + (- 2t + 2)z - 4t - 2)x + + + 2 2 2 2 + y + (- 2t z - 4t)y + (t + 10)z - 8z + 4t + 2 +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty29} +\begin{paste}{RegularTriangularSetXmpPageEmpty29}{RegularTriangularSetXmpPagePatch29} +\pastebutton{RegularTriangularSetXmpPageEmpty29}{\showpaste} +\tab{5}\spadcommand{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\free{z }\free{x }\free{y }\free{t }\free{u }\bound{q1 }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch30} +\begin{paste}{RegularTriangularSetXmpPageFull30}{RegularTriangularSetXmpPageEmpty30} +\pastebutton{RegularTriangularSetXmpPageFull30}{\hidepaste} +\tab{5}\spadcommand{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\free{z }\free{x }\free{y }\free{t }\free{u }\bound{q2 }} +\indentrel{3}\begin{verbatim} + 2 + (30) (- 3z y + 2t z + t)x + (z + 4)y + 4t z - 7t z +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty30} +\begin{paste}{RegularTriangularSetXmpPageEmpty30}{RegularTriangularSetXmpPagePatch30} +\pastebutton{RegularTriangularSetXmpPageEmpty30}{\showpaste} +\tab{5}\spadcommand{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\free{z }\free{x }\free{y }\free{t }\free{u }\bound{q2 }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch31} +\begin{paste}{RegularTriangularSetXmpPageFull31}{RegularTriangularSetXmpPageEmpty31} +\pastebutton{RegularTriangularSetXmpPageFull31}{\hidepaste} +\tab{5}\spadcommand{q3 := -u**2*(z-1)**2+ 2*z*(z-x)-2*(x-1)\free{z }\free{x }\free{y }\free{t }\free{u }\bound{q3 }} +\indentrel{3}\begin{verbatim} + 2 + (31) (- 2z - 2)x - 2z + 8z - 2 +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty31} +\begin{paste}{RegularTriangularSetXmpPageEmpty31}{RegularTriangularSetXmpPagePatch31} +\pastebutton{RegularTriangularSetXmpPageEmpty31}{\showpaste} +\tab{5}\spadcommand{q3 := -u**2*(z-1)**2+ 2*z*(z-x)-2*(x-1)\free{z }\free{x }\free{y }\free{t }\free{u }\bound{q3 }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch32} +\begin{paste}{RegularTriangularSetXmpPageFull32}{RegularTriangularSetXmpPageEmpty32} +\pastebutton{RegularTriangularSetXmpPageFull32}{\hidepaste} +\tab{5}\spadcommand{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)\free{z }\free{x }\free{y }\free{t }\free{u }\bound{q4 }} +\indentrel{3}\begin{verbatim} + (32) + 2 2 2 2 2 + (3y - 3t - 4)x + (- 6y + (12t z + 12t)y + 6t z)x + + + 2 2 2 2 + 3y + (12t z - 12t)y + (9t + 4)z + (- 24t - 4)z + + + 2 + 12t + 4 +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty32} +\begin{paste}{RegularTriangularSetXmpPageEmpty32}{RegularTriangularSetXmpPagePatch32} +\pastebutton{RegularTriangularSetXmpPageEmpty32}{\showpaste} +\tab{5}\spadcommand{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)\free{z }\free{x }\free{y }\free{t }\free{u }\bound{q4 }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch33} +\begin{paste}{RegularTriangularSetXmpPageFull33}{RegularTriangularSetXmpPageEmpty33} +\pastebutton{RegularTriangularSetXmpPageFull33}{\hidepaste} +\tab{5}\spadcommand{lq := [q1, q2, q3, q4]\free{q1 }\free{q2 }\free{q3 }\free{q4 }\bound{lq }} +\indentrel{3}\begin{verbatim} + (33) + [ + 2 2 2 + (y - 2t y + t )x + + + 2 2 2 + - 2y + ((2t + 4)z + 2t)y + (- 2t + 2)z - 4t + + + - 2 + * + x + + + 2 2 2 2 + y + (- 2t z - 4t)y + (t + 10)z - 8z + 4t + 2 + , + 2 + (- 3z y + 2t z + t)x + (z + 4)y + 4t z - 7t z, + 2 + (- 2z - 2)x - 2z + 8z - 2, + + 2 2 2 + (3y - 3t - 4)x + + + 2 2 2 + (- 6y + (12t z + 12t)y + 6t z)x + 3y + + + 2 2 2 2 + (12t z - 12t)y + (9t + 4)z + (- 24t - 4)z + 12t + + + 4 + ] +Type: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty33} +\begin{paste}{RegularTriangularSetXmpPageEmpty33}{RegularTriangularSetXmpPagePatch33} +\pastebutton{RegularTriangularSetXmpPageEmpty33}{\showpaste} +\tab{5}\spadcommand{lq := [q1, q2, q3, q4]\free{q1 }\free{q2 }\free{q3 }\free{q4 }\bound{lq }} +\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPagePatch34} +\begin{paste}{RegularTriangularSetXmpPageFull34}{RegularTriangularSetXmpPageEmpty34} +\pastebutton{RegularTriangularSetXmpPageFull34}{\hidepaste} +\tab{5}\spadcommand{zeroSetSplit(lq,true,true)$T\free{lq }\free{T }} +\indentrel{3}\begin{verbatim} + + *** QCMPACK Statistics *** + Table size: 36 + Entries reused: 255 + + *** REGSETGCD: Gcd Statistics *** + Table size: 125 + Entries reused: 0 + + *** REGSETGCD: Inv Set Statistics *** + Table size: 30 + Entries reused: 0 + (34) + [ + { + 24 23 + 960725655771966t + 386820897948702t + + + 22 21 + 8906817198608181t + 2704966893949428t + + + 20 19 + 37304033340228264t + 7924782817170207t + + + 18 17 + 93126799040354990t + 13101273653130910t + + + 16 15 + 156146250424711858t + 16626490957259119t + + + 14 13 + 190699288479805763t + 24339173367625275t + + + 12 11 + 180532313014960135t + 35288089030975378t + + + 10 9 + 135054975747656285t + 34733736952488540t + + + 8 7 + 75947600354493972t + 19772555692457088t + + + 6 5 + 28871558573755428t + 5576152439081664t + + + 4 3 + 6321711820352976t + 438314209312320t + + + 2 + 581105748367008t - 60254467992576t + 1449115951104 + , + + 266042108694913023855152657370520823616684_ + 74181372891857784 + * + 23 + t + + + 443104378424686086067294899528296664238693_ + 556855017735265295 + * + 22 + t + + + 279078393286701234679141342358988327155321_ + 305829547090310242 + * + 21 + t + + + 339027636141323246510761717661554305462062_ + 6391823613392185226 + * + 20 + t + + + 941478179503540575554198645220352803719793_ + 196473813837434129 + * + 19 + t + + + 115478551946794752422116967496739493525857_ + 47674184320988144390 + * + 18 + t + + + 134360956676559778988170165669941321646721_ + 5660333356417241432 + * + 17 + t + + + 232338138681478735039335516171756408598991_ + 02987800663566699334 + * + 16 + t + + + 869574020537672336950845440508790740850931_ + 336484983573386433 + * + 15 + t + + + 315615543058769348754194614869699265542417_ + 50065103460820476969 + * + 14 + t + + + 127140099028771748744206595254773187955482_ + 3889855386072264931 + * + 13 + t + + + 319450899138637360448025269640795401983370_ + 49550503295825160523 + * + 12 + t + + + 373873570428814450987137156023284588443910_ + 2270778010470931960 + * + 11 + t + + + 252939975123914120261446014357711315875619_ + 05532992045692885927 + * + 10 + t + + + 521023900984606712346926279987005277341047_ + 1135950175008046524 + * + 9 + t + + + 150838879869302971662598705686082704274031_ + 87606238713491129188 + * + 8 + t + + + 352208723469293012638368627077577955348176_ + 9125670839075109000 + * + 7 + t + + + 607994520039568101308653379256888649110124_ + 4247440034969288588 + * + 6 + t + + + 109063485243390088819991375624798602319698_ + 7723469934933603680 + * + 5 + t + + + 140581943087190710229443253753833540210283_ + 8994019667487458352 + * + 4 + t + + + 880715279503204500725366712655077488783478_ + 28884933605202432 + * + 3 + t + + + 135882489433640933229781177155977768016065_ + 765482378657129440 + * + 2 + t + + + - + 139572834428822622305598946074003140825_ + 16690749975646520320 + * + t + + + 33463769297318929927725832570930847259211711_ + 2855749713920 + * + z + + + 8567175484043952879756725964506833932149637101_ + 090521164936 + * + 23 + t + + + 1497923928642017918457083740327289424987975192_ + 51667250945721 + * + 22 + t + + + 7725837178364582215741086158215976413812300307_ + 4190374021550 + * + 21 + t + + + 1108862254126854214498918940708612211184560556_ + 764334742191654 + * + 20 + t + + + 2132504944606788652197744801068260537838157896_ + 21501732672327 + * + 19 + t + + + 3668929075160666195729177894178343514501987898_ + 410131431699882 + * + 18 + t + + + 1713889064710018728794901243687482363147654590_ + 39567820048872 + * + 17 + t + + + 7192430746914602166660233477331022483144921771_ + 645523139658986 + * + 16 + t + + + - + 1287986746896900728128799656330902919596631_ + 43108437362453385 + * + 15 + t + + + 9553010858341425909306423132921134040856028790_ + 803526430270671 + * + 14 + t + + + - + 1329609624567549287453868764630043782465845_ + 8709144441096603 + * + 13 + t + + + 9475806805814145326383085518325333106881690568_ + 644274964864413 + * + 12 + t + + + 8032346879251334588616598556640849276062987947_ + 99856265539336 + * + 11 + t + + + 7338202759292865165994622349207516400662174302_ + 614595173333825 + * + 10 + t + + + 1308004628480367351164369613111971668880538855_ + 640917200187108 + * + 9 + t + + + 4268059455741255498880229598973705747098216067_ + 697754352634748 + * + 8 + t + + + 8928935268585140957913187759040933001030456015_ + 14470613580600 + * + 7 + t + + + 1679152575460683956631925852181341501981598137_ + 465328797013652 + * + 6 + t + + + 2697574157679229803789671541433578355441131582_ + 80591408043936 + * + 5 + t + + + 3809515278646575290335808298012827240813453726_ + 80202920198224 + * + 4 + t + + + 1978554529422849503299882693760134113272503533_ + 9452913286656 + * + 3 + t + + + 3647741205738478294236663530339663776330392817_ + 4935079178528 + * + 2 + t + + + - + 3722212879279038648713080422224976273210890_ + 229485838670848 + * + t + + + 890797248531143483612306344840138620247285999068_ + 74105856 + , + 3 2 3 2 + (3z - 11z + 8z + 4)y + 2t z + 4t z - 5t z - t, + 2 + (z + 1)x + z - 4z + 1} + ] +Type: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RegularTriangularSetXmpPageEmpty34} +\begin{paste}{RegularTriangularSetXmpPageEmpty34}{RegularTriangularSetXmpPagePatch34} +\pastebutton{RegularTriangularSetXmpPageEmpty34}{\showpaste} +\tab{5}\spadcommand{zeroSetSplit(lq,true,true)$T\free{lq }\free{T }} +\end{paste}\end{patch} + @ \section{roman.ht} \pagehead{RomanNumeralXmpPage}{roman.ht}{RomanNumeral} @@ -19246,6 +53570,188 @@ to display the full list of operations defined by \autobuttons \end{page} +\begin{patch}{RomanNumeralXmpPagePatch1} +\begin{paste}{RomanNumeralXmpPageFull1}{RomanNumeralXmpPageEmpty1} +\pastebutton{RomanNumeralXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{f := operator 'f\bound{f }} +\indentrel{3}\begin{verbatim} + (1) f + Type: BasicOperator +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RomanNumeralXmpPageEmpty1} +\begin{paste}{RomanNumeralXmpPageEmpty1}{RomanNumeralXmpPagePatch1} +\pastebutton{RomanNumeralXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{f := operator 'f\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{RomanNumeralXmpPagePatch2} +\begin{paste}{RomanNumeralXmpPageFull2}{RomanNumeralXmpPageEmpty2} +\pastebutton{RomanNumeralXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{D(f x,x,7)\free{f }} +\indentrel{3}\begin{verbatim} + (vii) + (2) f (x) + + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RomanNumeralXmpPageEmpty2} +\begin{paste}{RomanNumeralXmpPageEmpty2}{RomanNumeralXmpPagePatch2} +\pastebutton{RomanNumeralXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{D(f x,x,7)\free{f }} +\end{paste}\end{patch} + +\begin{patch}{RomanNumeralXmpPagePatch3} +\begin{paste}{RomanNumeralXmpPageFull3}{RomanNumeralXmpPageEmpty3} +\pastebutton{RomanNumeralXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{a := roman(1978 - 1965)\bound{a }} +\indentrel{3}\begin{verbatim} + (3) XIII + Type: RomanNumeral +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RomanNumeralXmpPageEmpty3} +\begin{paste}{RomanNumeralXmpPageEmpty3}{RomanNumeralXmpPagePatch3} +\pastebutton{RomanNumeralXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{a := roman(1978 - 1965)\bound{a }} +\end{paste}\end{patch} + +\begin{patch}{RomanNumeralXmpPagePatch4} +\begin{paste}{RomanNumeralXmpPageFull4}{RomanNumeralXmpPageEmpty4} +\pastebutton{RomanNumeralXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{x : UTS(ROMAN,'x,0) := x\bound{x }} +\indentrel{3}\begin{verbatim} + (4) x + Type: UnivariateTaylorSeries(RomanNumeral,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RomanNumeralXmpPageEmpty4} +\begin{paste}{RomanNumeralXmpPageEmpty4}{RomanNumeralXmpPagePatch4} +\pastebutton{RomanNumeralXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{x : UTS(ROMAN,'x,0) := x\bound{x }} +\end{paste}\end{patch} + +\begin{patch}{RomanNumeralXmpPagePatch5} +\begin{paste}{RomanNumeralXmpPageFull5}{RomanNumeralXmpPageEmpty5} +\pastebutton{RomanNumeralXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{recip(1 - x - x**2)\free{x }} +\indentrel{3}\begin{verbatim} + (5) + 2 3 4 5 6 + I + x + II x + III x + V x + VIII x + XIII x + + + 7 8 9 10 11 + XXI x + XXXIV x + LV x + LXXXIX x + O(x ) +Type: Union(UnivariateTaylorSeries(RomanNumeral,x,0),...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RomanNumeralXmpPageEmpty5} +\begin{paste}{RomanNumeralXmpPageEmpty5}{RomanNumeralXmpPagePatch5} +\pastebutton{RomanNumeralXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{recip(1 - x - x**2)\free{x }} +\end{paste}\end{patch} + +\begin{patch}{RomanNumeralXmpPagePatch6} +\begin{paste}{RomanNumeralXmpPageFull6}{RomanNumeralXmpPageEmpty6} +\pastebutton{RomanNumeralXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{m : MATRIX FRAC ROMAN\bound{m }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RomanNumeralXmpPageEmpty6} +\begin{paste}{RomanNumeralXmpPageEmpty6}{RomanNumeralXmpPagePatch6} +\pastebutton{RomanNumeralXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{m : MATRIX FRAC ROMAN\bound{m }} +\end{paste}\end{patch} + +\begin{patch}{RomanNumeralXmpPagePatch7} +\begin{paste}{RomanNumeralXmpPageFull7}{RomanNumeralXmpPageEmpty7} +\pastebutton{RomanNumeralXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{m := matrix [[1/(i + j) for i in 1..3] for j in 1..3]\free{m }\bound{m1 }} +\indentrel{3}\begin{verbatim} + Ú I I I¿ + ³ÄÄ ÄÄÄ Äij + ³II III IV³ + ³ ³ + ³ I I I ³ + (7) ³ÄÄÄ ÄÄ Ä ³ + ³III IV V ³ + ³ ³ + ³ I I I³ + ³ÄÄ Ä Äij + ÀIV V VIÙ + Type: Matrix Fraction RomanNumeral +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RomanNumeralXmpPageEmpty7} +\begin{paste}{RomanNumeralXmpPageEmpty7}{RomanNumeralXmpPagePatch7} +\pastebutton{RomanNumeralXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{m := matrix [[1/(i + j) for i in 1..3] for j in 1..3]\free{m }\bound{m1 }} +\end{paste}\end{patch} + +\begin{patch}{RomanNumeralXmpPagePatch8} +\begin{paste}{RomanNumeralXmpPageFull8}{RomanNumeralXmpPageEmpty8} +\pastebutton{RomanNumeralXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{inverse m\free{m1 }} +\indentrel{3}\begin{verbatim} + ÚLXXII - CCXL CLXXX ¿ + ³ ³ + (8) ³- CCXL CM - DCCXX³ + ³ ³ + ÀCLXXX - DCCXX DC Ù + Type: Union(Matrix Fraction RomanNumeral,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RomanNumeralXmpPageEmpty8} +\begin{paste}{RomanNumeralXmpPageEmpty8}{RomanNumeralXmpPagePatch8} +\pastebutton{RomanNumeralXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{inverse m\free{m1 }} +\end{paste}\end{patch} + +\begin{patch}{RomanNumeralXmpPagePatch9} +\begin{paste}{RomanNumeralXmpPageFull9}{RomanNumeralXmpPageEmpty9} +\pastebutton{RomanNumeralXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{y := factorial 10\bound{y }} +\indentrel{3}\begin{verbatim} + (9) 3628800 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RomanNumeralXmpPageEmpty9} +\begin{paste}{RomanNumeralXmpPageEmpty9}{RomanNumeralXmpPagePatch9} +\pastebutton{RomanNumeralXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{y := factorial 10\bound{y }} +\end{paste}\end{patch} + +\begin{patch}{RomanNumeralXmpPagePatch10} +\begin{paste}{RomanNumeralXmpPageFull10}{RomanNumeralXmpPageEmpty10} +\pastebutton{RomanNumeralXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{roman y\free{y }} +\indentrel{3}\begin{verbatim} + (10) + ((((I))))((((I))))((((I)))) (((I)))(((I)))(((I)))(((I)) + )(((I)))(((I))) ((I))((I)) MMMMMMMMDCCC + Type: RomanNumeral +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{RomanNumeralXmpPageEmpty10} +\begin{paste}{RomanNumeralXmpPageEmpty10}{RomanNumeralXmpPagePatch10} +\pastebutton{RomanNumeralXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{roman y\free{y }} +\end{paste}\end{patch} + @ \section{seg.ht} \pagehead{SegmentXmpPage}{seg.ht}{Segment} @@ -19336,6 +53842,166 @@ and \downlink{`UniversalSegment'}{UniversalSegmentXmpPage} \autobuttons \end{page} +\begin{patch}{SegmentXmpPagePatch1} +\begin{paste}{SegmentXmpPageFull1}{SegmentXmpPageEmpty1} +\pastebutton{SegmentXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{s := 3..10\bound{s }} +\indentrel{3}\begin{verbatim} + (1) 3..10 + Type: Segment PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SegmentXmpPageEmpty1} +\begin{paste}{SegmentXmpPageEmpty1}{SegmentXmpPagePatch1} +\pastebutton{SegmentXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{s := 3..10\bound{s }} +\end{paste}\end{patch} + +\begin{patch}{SegmentXmpPagePatch2} +\begin{paste}{SegmentXmpPageFull2}{SegmentXmpPageEmpty2} +\pastebutton{SegmentXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{lo s\free{s }} +\indentrel{3}\begin{verbatim} + (2) 3 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SegmentXmpPageEmpty2} +\begin{paste}{SegmentXmpPageEmpty2}{SegmentXmpPagePatch2} +\pastebutton{SegmentXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{lo s\free{s }} +\end{paste}\end{patch} + +\begin{patch}{SegmentXmpPagePatch3} +\begin{paste}{SegmentXmpPageFull3}{SegmentXmpPageEmpty3} +\pastebutton{SegmentXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{hi s\free{s }} +\indentrel{3}\begin{verbatim} + (3) 10 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SegmentXmpPageEmpty3} +\begin{paste}{SegmentXmpPageEmpty3}{SegmentXmpPagePatch3} +\pastebutton{SegmentXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{hi s\free{s }} +\end{paste}\end{patch} + +\begin{patch}{SegmentXmpPagePatch4} +\begin{paste}{SegmentXmpPageFull4}{SegmentXmpPageEmpty4} +\pastebutton{SegmentXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{t := 10..3 by -2\bound{t }} +\indentrel{3}\begin{verbatim} + (4) 10..3 by - 2 + Type: Segment PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SegmentXmpPageEmpty4} +\begin{paste}{SegmentXmpPageEmpty4}{SegmentXmpPagePatch4} +\pastebutton{SegmentXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{t := 10..3 by -2\bound{t }} +\end{paste}\end{patch} + +\begin{patch}{SegmentXmpPagePatch5} +\begin{paste}{SegmentXmpPageFull5}{SegmentXmpPageEmpty5} +\pastebutton{SegmentXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{incr s\free{s }} +\indentrel{3}\begin{verbatim} + (5) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SegmentXmpPageEmpty5} +\begin{paste}{SegmentXmpPageEmpty5}{SegmentXmpPagePatch5} +\pastebutton{SegmentXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{incr s\free{s }} +\end{paste}\end{patch} + +\begin{patch}{SegmentXmpPagePatch6} +\begin{paste}{SegmentXmpPageFull6}{SegmentXmpPageEmpty6} +\pastebutton{SegmentXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{incr t\free{t }} +\indentrel{3}\begin{verbatim} + (6) - 2 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SegmentXmpPageEmpty6} +\begin{paste}{SegmentXmpPageEmpty6}{SegmentXmpPagePatch6} +\pastebutton{SegmentXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{incr t\free{t }} +\end{paste}\end{patch} + +\begin{patch}{SegmentXmpPagePatch7} +\begin{paste}{SegmentXmpPageFull7}{SegmentXmpPageEmpty7} +\pastebutton{SegmentXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{l := [1..3, 5, 9, 15..11 by -1]\bound{l }} +\indentrel{3}\begin{verbatim} + (7) [1..3,5..5,9..9,15..11 by - 1] + Type: List Segment PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SegmentXmpPageEmpty7} +\begin{paste}{SegmentXmpPageEmpty7}{SegmentXmpPagePatch7} +\pastebutton{SegmentXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{l := [1..3, 5, 9, 15..11 by -1]\bound{l }} +\end{paste}\end{patch} + +\begin{patch}{SegmentXmpPagePatch8} +\begin{paste}{SegmentXmpPageFull8}{SegmentXmpPageEmpty8} +\pastebutton{SegmentXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{expand s\free{s }} +\indentrel{3}\begin{verbatim} + (8) [3,4,5,6,7,8,9,10] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SegmentXmpPageEmpty8} +\begin{paste}{SegmentXmpPageEmpty8}{SegmentXmpPagePatch8} +\pastebutton{SegmentXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{expand s\free{s }} +\end{paste}\end{patch} + +\begin{patch}{SegmentXmpPagePatch9} +\begin{paste}{SegmentXmpPageFull9}{SegmentXmpPageEmpty9} +\pastebutton{SegmentXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{expand t\free{t }} +\indentrel{3}\begin{verbatim} + (9) [10,8,6,4] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SegmentXmpPageEmpty9} +\begin{paste}{SegmentXmpPageEmpty9}{SegmentXmpPagePatch9} +\pastebutton{SegmentXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{expand t\free{t }} +\end{paste}\end{patch} + +\begin{patch}{SegmentXmpPagePatch10} +\begin{paste}{SegmentXmpPageFull10}{SegmentXmpPageEmpty10} +\pastebutton{SegmentXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{expand l\free{l }} +\indentrel{3}\begin{verbatim} + (10) [1,2,3,5,9,15,14,13,12,11] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SegmentXmpPageEmpty10} +\begin{paste}{SegmentXmpPageEmpty10}{SegmentXmpPagePatch10} +\pastebutton{SegmentXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{expand l\free{l }} +\end{paste}\end{patch} + @ \section{segbind.ht} \pagehead{SegmentBindingXmpPage}{segbind.ht}{SegmentBinding} @@ -19390,7 +54056,106 @@ For more information on related topics, see \endscroll \autobuttons \end{page} -% + +\begin{patch}{SegmentBindingXmpPagePatch1} +\begin{paste}{SegmentBindingXmpPageFull1}{SegmentBindingXmpPageEmpty1} +\pastebutton{SegmentBindingXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{x = a..b} +\indentrel{3}\begin{verbatim} + (1) x= a..b + Type: SegmentBinding Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SegmentBindingXmpPageEmpty1} +\begin{paste}{SegmentBindingXmpPageEmpty1}{SegmentBindingXmpPagePatch1} +\pastebutton{SegmentBindingXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{x = a..b} +\end{paste}\end{patch} + +\begin{patch}{SegmentBindingXmpPagePatch2} +\begin{paste}{SegmentBindingXmpPageFull2}{SegmentBindingXmpPageEmpty2} +\pastebutton{SegmentBindingXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{sum(i**2, i = 0..n)} +\indentrel{3}\begin{verbatim} + 3 2 + 2n + 3n + n + (2) ÄÄÄÄÄÄÄÄÄÄÄÄÄ + 6 + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SegmentBindingXmpPageEmpty2} +\begin{paste}{SegmentBindingXmpPageEmpty2}{SegmentBindingXmpPagePatch2} +\pastebutton{SegmentBindingXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{sum(i**2, i = 0..n)} +\end{paste}\end{patch} + +\begin{patch}{SegmentBindingXmpPagePatch3} +\begin{paste}{SegmentBindingXmpPageFull3}{SegmentBindingXmpPageEmpty3} +\pastebutton{SegmentBindingXmpPageFull3}{\hidepaste} +\tab{5}\spadgraph{draw(x**2, x = -2..2)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/segmentbindingxmppage3.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/segmentbindingxmppage3}} +\end{paste}\end{patch} + +\begin{patch}{SegmentBindingXmpPageEmpty3} +\begin{paste}{SegmentBindingXmpPageEmpty3}{SegmentBindingXmpPagePatch3} +\pastebutton{SegmentBindingXmpPageEmpty3}{\showpaste} +\tab{5}\spadgraph{draw(x**2, x = -2..2)} +\end{paste}\end{patch} + +\begin{patch}{SegmentBindingXmpPagePatch4} +\begin{paste}{SegmentBindingXmpPageFull4}{SegmentBindingXmpPageEmpty4} +\pastebutton{SegmentBindingXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{sb := y = 1/2..3/2\bound{sb }} +\indentrel{3}\begin{verbatim} + 1 3 + (4) y= (Ä)..(Ä) + 2 2 + Type: SegmentBinding Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SegmentBindingXmpPageEmpty4} +\begin{paste}{SegmentBindingXmpPageEmpty4}{SegmentBindingXmpPagePatch4} +\pastebutton{SegmentBindingXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{sb := y = 1/2..3/2\bound{sb }} +\end{paste}\end{patch} + +\begin{patch}{SegmentBindingXmpPagePatch5} +\begin{paste}{SegmentBindingXmpPageFull5}{SegmentBindingXmpPageEmpty5} +\pastebutton{SegmentBindingXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{variable(sb)\free{sb }} +\indentrel{3}\begin{verbatim} + (5) y + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SegmentBindingXmpPageEmpty5} +\begin{paste}{SegmentBindingXmpPageEmpty5}{SegmentBindingXmpPagePatch5} +\pastebutton{SegmentBindingXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{variable(sb)\free{sb }} +\end{paste}\end{patch} + +\begin{patch}{SegmentBindingXmpPagePatch6} +\begin{paste}{SegmentBindingXmpPageFull6}{SegmentBindingXmpPageEmpty6} +\pastebutton{SegmentBindingXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{segment(sb)\free{sb }} +\indentrel{3}\begin{verbatim} + 1 3 + (6) (Ä)..(Ä) + 2 2 + Type: Segment Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SegmentBindingXmpPageEmpty6} +\begin{paste}{SegmentBindingXmpPageEmpty6}{SegmentBindingXmpPagePatch6} +\pastebutton{SegmentBindingXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{segment(sb)\free{sb }} +\end{paste}\end{patch} @ \section{set.ht} @@ -19522,7 +54287,332 @@ For more information about lists, see \endscroll \autobuttons \end{page} -% + +\begin{patch}{SetXmpPagePatch1} +\begin{paste}{SetXmpPageFull1}{SetXmpPageEmpty1} +\pastebutton{SetXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{s := set [x**2-1, y**2-1, z**2-1]\bound{s }} +\indentrel{3}\begin{verbatim} + 2 2 2 + (1) {x - 1,y - 1,z - 1} + Type: Set Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SetXmpPageEmpty1} +\begin{paste}{SetXmpPageEmpty1}{SetXmpPagePatch1} +\pastebutton{SetXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{s := set [x**2-1, y**2-1, z**2-1]\bound{s }} +\end{paste}\end{patch} + +\begin{patch}{SetXmpPagePatch2} +\begin{paste}{SetXmpPageFull2}{SetXmpPageEmpty2} +\pastebutton{SetXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{t := set [x**i - i+1 for i in 2..10 | prime? i]\bound{t }} +\indentrel{3}\begin{verbatim} + 2 3 5 7 + (2) {x - 1,x - 2,x - 4,x - 6} + Type: Set Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SetXmpPageEmpty2} +\begin{paste}{SetXmpPageEmpty2}{SetXmpPagePatch2} +\pastebutton{SetXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{t := set [x**i - i+1 for i in 2..10 | prime? i]\bound{t }} +\end{paste}\end{patch} + +\begin{patch}{SetXmpPagePatch3} +\begin{paste}{SetXmpPageFull3}{SetXmpPageEmpty3} +\pastebutton{SetXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{i := intersect(s,t)\free{s t }\bound{i }} +\indentrel{3}\begin{verbatim} + 2 + (3) {x - 1} + Type: Set Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SetXmpPageEmpty3} +\begin{paste}{SetXmpPageEmpty3}{SetXmpPagePatch3} +\pastebutton{SetXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{i := intersect(s,t)\free{s t }\bound{i }} +\end{paste}\end{patch} + +\begin{patch}{SetXmpPagePatch4} +\begin{paste}{SetXmpPageFull4}{SetXmpPageEmpty4} +\pastebutton{SetXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{u := union(s,t)\free{s t }\bound{u }} +\indentrel{3}\begin{verbatim} + 2 3 5 7 2 2 + (4) {x - 1,x - 2,x - 4,x - 6,y - 1,z - 1} + Type: Set Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SetXmpPageEmpty4} +\begin{paste}{SetXmpPageEmpty4}{SetXmpPagePatch4} +\pastebutton{SetXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{u := union(s,t)\free{s t }\bound{u }} +\end{paste}\end{patch} + +\begin{patch}{SetXmpPagePatch5} +\begin{paste}{SetXmpPageFull5}{SetXmpPageEmpty5} +\pastebutton{SetXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{difference(s,t)\free{s t }} +\indentrel{3}\begin{verbatim} + 2 2 + (5) {y - 1,z - 1} + Type: Set Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SetXmpPageEmpty5} +\begin{paste}{SetXmpPageEmpty5}{SetXmpPagePatch5} +\pastebutton{SetXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{difference(s,t)\free{s t }} +\end{paste}\end{patch} + +\begin{patch}{SetXmpPagePatch6} +\begin{paste}{SetXmpPageFull6}{SetXmpPageEmpty6} +\pastebutton{SetXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{symmetricDifference(s,t)\free{s t }} +\indentrel{3}\begin{verbatim} + 3 5 7 2 2 + (6) {x - 2,x - 4,x - 6,y - 1,z - 1} + Type: Set Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SetXmpPageEmpty6} +\begin{paste}{SetXmpPageEmpty6}{SetXmpPagePatch6} +\pastebutton{SetXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{symmetricDifference(s,t)\free{s t }} +\end{paste}\end{patch} + +\begin{patch}{SetXmpPagePatch7} +\begin{paste}{SetXmpPageFull7}{SetXmpPageEmpty7} +\pastebutton{SetXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{member?(y, s)\free{s }} +\indentrel{3}\begin{verbatim} + (7) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SetXmpPageEmpty7} +\begin{paste}{SetXmpPageEmpty7}{SetXmpPagePatch7} +\pastebutton{SetXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{member?(y, s)\free{s }} +\end{paste}\end{patch} + +\begin{patch}{SetXmpPagePatch8} +\begin{paste}{SetXmpPageFull8}{SetXmpPageEmpty8} +\pastebutton{SetXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{member?((y+1)*(y-1), s)\free{s }} +\indentrel{3}\begin{verbatim} + (8) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SetXmpPageEmpty8} +\begin{paste}{SetXmpPageEmpty8}{SetXmpPagePatch8} +\pastebutton{SetXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{member?((y+1)*(y-1), s)\free{s }} +\end{paste}\end{patch} + +\begin{patch}{SetXmpPagePatch9} +\begin{paste}{SetXmpPageFull9}{SetXmpPageEmpty9} +\pastebutton{SetXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{subset?(i, s)\free{i s }} +\indentrel{3}\begin{verbatim} + (9) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SetXmpPageEmpty9} +\begin{paste}{SetXmpPageEmpty9}{SetXmpPagePatch9} +\pastebutton{SetXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{subset?(i, s)\free{i s }} +\end{paste}\end{patch} + +\begin{patch}{SetXmpPagePatch10} +\begin{paste}{SetXmpPageFull10}{SetXmpPageEmpty10} +\pastebutton{SetXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{subset?(u, s)\free{u s }} +\indentrel{3}\begin{verbatim} + (10) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SetXmpPageEmpty10} +\begin{paste}{SetXmpPageEmpty10}{SetXmpPagePatch10} +\pastebutton{SetXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{subset?(u, s)\free{u s }} +\end{paste}\end{patch} + +\begin{patch}{SetXmpPagePatch11} +\begin{paste}{SetXmpPageFull11}{SetXmpPageEmpty11} +\pastebutton{SetXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{gs := set [g for i in 1..11 | primitive?(g := i::PF 11)]\bound{gs }} +\indentrel{3}\begin{verbatim} + (11) {2,6,7,8} + Type: Set PrimeField 11 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SetXmpPageEmpty11} +\begin{paste}{SetXmpPageEmpty11}{SetXmpPagePatch11} +\pastebutton{SetXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{gs := set [g for i in 1..11 | primitive?(g := i::PF 11)]\bound{gs }} +\end{paste}\end{patch} + +\begin{patch}{SetXmpPagePatch12} +\begin{paste}{SetXmpPageFull12}{SetXmpPageEmpty12} +\pastebutton{SetXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{complement gs\free{gs }} +\indentrel{3}\begin{verbatim} + (12) {1,3,4,5,9,10,0} + Type: Set PrimeField 11 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SetXmpPageEmpty12} +\begin{paste}{SetXmpPageEmpty12}{SetXmpPagePatch12} +\pastebutton{SetXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{complement gs\free{gs }} +\end{paste}\end{patch} + +\begin{patch}{SetXmpPagePatch13} +\begin{paste}{SetXmpPageFull13}{SetXmpPageEmpty13} +\pastebutton{SetXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{a := set [i**2 for i in 1..5]\bound{a }} +\indentrel{3}\begin{verbatim} + (13) {1,4,9,16,25} + Type: Set PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SetXmpPageEmpty13} +\begin{paste}{SetXmpPageEmpty13}{SetXmpPagePatch13} +\pastebutton{SetXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{a := set [i**2 for i in 1..5]\bound{a }} +\end{paste}\end{patch} + +\begin{patch}{SetXmpPagePatch14} +\begin{paste}{SetXmpPageFull14}{SetXmpPageEmpty14} +\pastebutton{SetXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{insert!(32, a)\free{a }\bound{ainsert }} +\indentrel{3}\begin{verbatim} + (14) {1,4,9,16,25,32} + Type: Set PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SetXmpPageEmpty14} +\begin{paste}{SetXmpPageEmpty14}{SetXmpPagePatch14} +\pastebutton{SetXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{insert!(32, a)\free{a }\bound{ainsert }} +\end{paste}\end{patch} + +\begin{patch}{SetXmpPagePatch15} +\begin{paste}{SetXmpPageFull15}{SetXmpPageEmpty15} +\pastebutton{SetXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{remove!(25, a)\free{a }\bound{aremove }} +\indentrel{3}\begin{verbatim} + (15) {1,4,9,16,32} + Type: Set PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SetXmpPageEmpty15} +\begin{paste}{SetXmpPageEmpty15}{SetXmpPagePatch15} +\pastebutton{SetXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{remove!(25, a)\free{a }\bound{aremove }} +\end{paste}\end{patch} + +\begin{patch}{SetXmpPagePatch16} +\begin{paste}{SetXmpPageFull16}{SetXmpPageEmpty16} +\pastebutton{SetXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{a\free{aremove ainsert }} +\indentrel{3}\begin{verbatim} + (16) {1,4,9,16,32} + Type: Set PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SetXmpPageEmpty16} +\begin{paste}{SetXmpPageEmpty16}{SetXmpPagePatch16} +\pastebutton{SetXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{a\free{aremove ainsert }} +\end{paste}\end{patch} + +\begin{patch}{SetXmpPagePatch17} +\begin{paste}{SetXmpPageFull17}{SetXmpPageEmpty17} +\pastebutton{SetXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{b := b0 := set [i**2 for i in 1..5]\bound{b }} +\indentrel{3}\begin{verbatim} + (17) {1,4,9,16,25} + Type: Set PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SetXmpPageEmpty17} +\begin{paste}{SetXmpPageEmpty17}{SetXmpPagePatch17} +\pastebutton{SetXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{b := b0 := set [i**2 for i in 1..5]\bound{b }} +\end{paste}\end{patch} + +\begin{patch}{SetXmpPagePatch18} +\begin{paste}{SetXmpPageFull18}{SetXmpPageEmpty18} +\pastebutton{SetXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{b := union(b,32)\free{b }\bound{binsert }} +\indentrel{3}\begin{verbatim} + (18) {1,4,9,16,25,32} + Type: Set PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SetXmpPageEmpty18} +\begin{paste}{SetXmpPageEmpty18}{SetXmpPagePatch18} +\pastebutton{SetXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{b := union(b,32)\free{b }\bound{binsert }} +\end{paste}\end{patch} + +\begin{patch}{SetXmpPagePatch19} +\begin{paste}{SetXmpPageFull19}{SetXmpPageEmpty19} +\pastebutton{SetXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{b := difference(b,25)\free{binsert }\bound{bremove }} +\indentrel{3}\begin{verbatim} + (19) {1,4,9,16,32} + Type: Set PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SetXmpPageEmpty19} +\begin{paste}{SetXmpPageEmpty19}{SetXmpPagePatch19} +\pastebutton{SetXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{b := difference(b,25)\free{binsert }\bound{bremove }} +\end{paste}\end{patch} + +\begin{patch}{SetXmpPagePatch20} +\begin{paste}{SetXmpPageFull20}{SetXmpPageEmpty20} +\pastebutton{SetXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{b0\free{bremove }} +\indentrel{3}\begin{verbatim} + (20) {1,4,9,16,25} + Type: Set PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SetXmpPageEmpty20} +\begin{paste}{SetXmpPageEmpty20}{SetXmpPagePatch20} +\pastebutton{SetXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{b0\free{bremove }} +\end{paste}\end{patch} @ \section{sint.ht} @@ -19633,6 +54723,182 @@ To see the other operations, use the Browse Hyperdoc facility \autobuttons \end{page} +\begin{patch}{SingleIntegerXmpPagePatch1} +\begin{paste}{SingleIntegerXmpPageFull1}{SingleIntegerXmpPageEmpty1} +\pastebutton{SingleIntegerXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{min()$SingleInteger} +\indentrel{3}\begin{verbatim} + (1) - 134217728 + Type: SingleInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SingleIntegerXmpPageEmpty1} +\begin{paste}{SingleIntegerXmpPageEmpty1}{SingleIntegerXmpPagePatch1} +\pastebutton{SingleIntegerXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{min()$SingleInteger} +\end{paste}\end{patch} + +\begin{patch}{SingleIntegerXmpPagePatch2} +\begin{paste}{SingleIntegerXmpPageFull2}{SingleIntegerXmpPageEmpty2} +\pastebutton{SingleIntegerXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{max()$SingleInteger} +\indentrel{3}\begin{verbatim} + (2) 134217727 + Type: SingleInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SingleIntegerXmpPageEmpty2} +\begin{paste}{SingleIntegerXmpPageEmpty2}{SingleIntegerXmpPagePatch2} +\pastebutton{SingleIntegerXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{max()$SingleInteger} +\end{paste}\end{patch} + +\begin{patch}{SingleIntegerXmpPagePatch3} +\begin{paste}{SingleIntegerXmpPageFull3}{SingleIntegerXmpPageEmpty3} +\pastebutton{SingleIntegerXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{a := 1234 :: SingleInteger\bound{a }} +\indentrel{3}\begin{verbatim} + (3) 1234 + Type: SingleInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SingleIntegerXmpPageEmpty3} +\begin{paste}{SingleIntegerXmpPageEmpty3}{SingleIntegerXmpPagePatch3} +\pastebutton{SingleIntegerXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{a := 1234 :: SingleInteger\bound{a }} +\end{paste}\end{patch} + +\begin{patch}{SingleIntegerXmpPagePatch4} +\begin{paste}{SingleIntegerXmpPageFull4}{SingleIntegerXmpPageEmpty4} +\pastebutton{SingleIntegerXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{b := 124$SingleInteger\bound{b }} +\indentrel{3}\begin{verbatim} + (4) 124 + Type: SingleInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SingleIntegerXmpPageEmpty4} +\begin{paste}{SingleIntegerXmpPageEmpty4}{SingleIntegerXmpPagePatch4} +\pastebutton{SingleIntegerXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{b := 124$SingleInteger\bound{b }} +\end{paste}\end{patch} + +\begin{patch}{SingleIntegerXmpPagePatch5} +\begin{paste}{SingleIntegerXmpPageFull5}{SingleIntegerXmpPageEmpty5} +\pastebutton{SingleIntegerXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{gcd(a,b)\free{a }\free{b }} +\indentrel{3}\begin{verbatim} + (5) 2 + Type: SingleInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SingleIntegerXmpPageEmpty5} +\begin{paste}{SingleIntegerXmpPageEmpty5}{SingleIntegerXmpPagePatch5} +\pastebutton{SingleIntegerXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{gcd(a,b)\free{a }\free{b }} +\end{paste}\end{patch} + +\begin{patch}{SingleIntegerXmpPagePatch6} +\begin{paste}{SingleIntegerXmpPageFull6}{SingleIntegerXmpPageEmpty6} +\pastebutton{SingleIntegerXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{lcm(a,b)\free{a }\free{b }} +\indentrel{3}\begin{verbatim} + (6) 76508 + Type: SingleInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SingleIntegerXmpPageEmpty6} +\begin{paste}{SingleIntegerXmpPageEmpty6}{SingleIntegerXmpPagePatch6} +\pastebutton{SingleIntegerXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{lcm(a,b)\free{a }\free{b }} +\end{paste}\end{patch} + +\begin{patch}{SingleIntegerXmpPagePatch7} +\begin{paste}{SingleIntegerXmpPageFull7}{SingleIntegerXmpPageEmpty7} +\pastebutton{SingleIntegerXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{mulmod(5,6,13)$SingleInteger} +\indentrel{3}\begin{verbatim} + (7) 4 + Type: SingleInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SingleIntegerXmpPageEmpty7} +\begin{paste}{SingleIntegerXmpPageEmpty7}{SingleIntegerXmpPagePatch7} +\pastebutton{SingleIntegerXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{mulmod(5,6,13)$SingleInteger} +\end{paste}\end{patch} + +\begin{patch}{SingleIntegerXmpPagePatch8} +\begin{paste}{SingleIntegerXmpPageFull8}{SingleIntegerXmpPageEmpty8} +\pastebutton{SingleIntegerXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{positiveRemainder(37,13)$SingleInteger} +\indentrel{3}\begin{verbatim} + (8) 11 + Type: SingleInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SingleIntegerXmpPageEmpty8} +\begin{paste}{SingleIntegerXmpPageEmpty8}{SingleIntegerXmpPagePatch8} +\pastebutton{SingleIntegerXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{positiveRemainder(37,13)$SingleInteger} +\end{paste}\end{patch} + +\begin{patch}{SingleIntegerXmpPagePatch9} +\begin{paste}{SingleIntegerXmpPageFull9}{SingleIntegerXmpPageEmpty9} +\pastebutton{SingleIntegerXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{And(3,4)$SingleInteger} +\indentrel{3}\begin{verbatim} + (9) 0 + Type: SingleInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SingleIntegerXmpPageEmpty9} +\begin{paste}{SingleIntegerXmpPageEmpty9}{SingleIntegerXmpPagePatch9} +\pastebutton{SingleIntegerXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{And(3,4)$SingleInteger} +\end{paste}\end{patch} + +\begin{patch}{SingleIntegerXmpPagePatch10} +\begin{paste}{SingleIntegerXmpPageFull10}{SingleIntegerXmpPageEmpty10} +\pastebutton{SingleIntegerXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{shift(1,4)$SingleInteger} +\indentrel{3}\begin{verbatim} + (10) 16 + Type: SingleInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SingleIntegerXmpPageEmpty10} +\begin{paste}{SingleIntegerXmpPageEmpty10}{SingleIntegerXmpPagePatch10} +\pastebutton{SingleIntegerXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{shift(1,4)$SingleInteger} +\end{paste}\end{patch} + +\begin{patch}{SingleIntegerXmpPagePatch11} +\begin{paste}{SingleIntegerXmpPageFull11}{SingleIntegerXmpPageEmpty11} +\pastebutton{SingleIntegerXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{shift(31,-1)$SingleInteger} +\indentrel{3}\begin{verbatim} + (11) 15 + Type: SingleInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SingleIntegerXmpPageEmpty11} +\begin{paste}{SingleIntegerXmpPageEmpty11}{SingleIntegerXmpPagePatch11} +\pastebutton{SingleIntegerXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{shift(31,-1)$SingleInteger} +\end{paste}\end{patch} + @ \section{sqmatrix.ht} \pagehead{SqMatrixXmpPage}{sqmatrix.ht}{SquareMatrix} @@ -19701,6 +54967,116 @@ in Section 2.11\ignore{ugTypesExpose}, and \autobuttons \end{page} +\begin{patch}{SqMatrixXmpPagePatch1} +\begin{paste}{SqMatrixXmpPageFull1}{SqMatrixXmpPageEmpty1} +\pastebutton{SqMatrixXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{)set expose add constructor SquareMatrix\bound{SQ }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqMatrixXmpPageEmpty1} +\begin{paste}{SqMatrixXmpPageEmpty1}{SqMatrixXmpPagePatch1} +\pastebutton{SqMatrixXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{)set expose add constructor SquareMatrix\bound{SQ }} +\end{paste}\end{patch} + +\begin{patch}{SqMatrixXmpPagePatch2} +\begin{paste}{SqMatrixXmpPageFull2}{SqMatrixXmpPageEmpty2} +\pastebutton{SqMatrixXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{m := squareMatrix [[1,-\%i],[\%i,4]]\bound{m }\free{SQ }} +\indentrel{3}\begin{verbatim} + Ú1 - %i¿ + (1) ³ ³ + À%i 4 Ù + Type: SquareMatrix(2,Complex Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqMatrixXmpPageEmpty2} +\begin{paste}{SqMatrixXmpPageEmpty2}{SqMatrixXmpPagePatch2} +\pastebutton{SqMatrixXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{m := squareMatrix [[1,-\%i],[\%i,4]]\bound{m }\free{SQ }} +\end{paste}\end{patch} + +\begin{patch}{SqMatrixXmpPagePatch3} +\begin{paste}{SqMatrixXmpPageFull3}{SqMatrixXmpPageEmpty3} +\pastebutton{SqMatrixXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{m*m - m\free{m }} +\indentrel{3}\begin{verbatim} + Ú 1 - 4%i¿ + (2) ³ ³ + À4%i 13 Ù + Type: SquareMatrix(2,Complex Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqMatrixXmpPageEmpty3} +\begin{paste}{SqMatrixXmpPageEmpty3}{SqMatrixXmpPagePatch3} +\pastebutton{SqMatrixXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{m*m - m\free{m }} +\end{paste}\end{patch} + +\begin{patch}{SqMatrixXmpPagePatch4} +\begin{paste}{SqMatrixXmpPageFull4}{SqMatrixXmpPageEmpty4} +\pastebutton{SqMatrixXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{mm := squareMatrix [[m, 1], [1-m, m**2]]\free{m }\bound{mm }} +\indentrel{3}\begin{verbatim} + ÚÚ1 - %i¿ Ú1 0¿ ¿ + ³³ ³ ³ ³ ³ + ³À%i 4 Ù À0 1Ù ³ + (3) ³ ³ + ³Ú 0 %i ¿ Ú 2 - 5%i¿³ + ³³ ³ ³ ³³ + ÀÀ- %i - 3Ù À5%i 17 ÙÙ + Type: SquareMatrix(2,SquareMatrix(2,Complex Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqMatrixXmpPageEmpty4} +\begin{paste}{SqMatrixXmpPageEmpty4}{SqMatrixXmpPagePatch4} +\pastebutton{SqMatrixXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{mm := squareMatrix [[m, 1], [1-m, m**2]]\free{m }\bound{mm }} +\end{paste}\end{patch} + +\begin{patch}{SqMatrixXmpPagePatch5} +\begin{paste}{SqMatrixXmpPageFull5}{SqMatrixXmpPageEmpty5} +\pastebutton{SqMatrixXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{p := (x + m)**2\free{m }\bound{p }} +\indentrel{3}\begin{verbatim} + 2 Ú 2 - 2%i¿ Ú 2 - 5%i¿ + (4) x + ³ ³x + ³ ³ + À2%i 8 Ù À5%i 17 Ù + Type: Polynomial SquareMatrix(2,Complex Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqMatrixXmpPageEmpty5} +\begin{paste}{SqMatrixXmpPageEmpty5}{SqMatrixXmpPagePatch5} +\pastebutton{SqMatrixXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{p := (x + m)**2\free{m }\bound{p }} +\end{paste}\end{patch} + +\begin{patch}{SqMatrixXmpPagePatch6} +\begin{paste}{SqMatrixXmpPageFull6}{SqMatrixXmpPageEmpty6} +\pastebutton{SqMatrixXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{p::SquareMatrix(2, ?)\free{p }} +\indentrel{3}\begin{verbatim} + Ú 2 ¿ + ³x + 2x + 2 - 2%i x - 5%i³ + (5) ³ ³ + ³ 2 ³ + À2%i x + 5%i x + 8x + 17 Ù + Type: SquareMatrix(2,Polynomial Complex Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqMatrixXmpPageEmpty6} +\begin{paste}{SqMatrixXmpPageEmpty6}{SqMatrixXmpPagePatch6} +\pastebutton{SqMatrixXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{p::SquareMatrix(2, ?)\free{p }} +\end{paste}\end{patch} + @ \section{sregset.ht} \pagehead{SqFreeRegTriangSetXmpPage}{sregset.ht} @@ -19897,6 +55273,422 @@ Then we compute: \autobuttons \end{page} +\begin{patch}{SqFreeRegTriangSetXmpPagePatch1} +\begin{paste}{SqFreeRegTriangSetXmpPageFull1}{SqFreeRegTriangSetXmpPageEmpty1} +\pastebutton{SqFreeRegTriangSetXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{R := Integer\bound{R }} +\indentrel{3}\begin{verbatim} + (1) Integer + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPageEmpty1} +\begin{paste}{SqFreeRegTriangSetXmpPageEmpty1}{SqFreeRegTriangSetXmpPagePatch1} +\pastebutton{SqFreeRegTriangSetXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{R := Integer\bound{R }} +\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPagePatch2} +\begin{paste}{SqFreeRegTriangSetXmpPageFull2}{SqFreeRegTriangSetXmpPageEmpty2} +\pastebutton{SqFreeRegTriangSetXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{ls : List Symbol := [x,y,z,t]\bound{ls }} +\indentrel{3}\begin{verbatim} + (2) [x,y,z,t] + Type: List Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPageEmpty2} +\begin{paste}{SqFreeRegTriangSetXmpPageEmpty2}{SqFreeRegTriangSetXmpPagePatch2} +\pastebutton{SqFreeRegTriangSetXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{ls : List Symbol := [x,y,z,t]\bound{ls }} +\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPagePatch3} +\begin{paste}{SqFreeRegTriangSetXmpPageFull3}{SqFreeRegTriangSetXmpPageEmpty3} +\pastebutton{SqFreeRegTriangSetXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{V := OVAR(ls)\free{ls }\bound{V }} +\indentrel{3}\begin{verbatim} + (3) OrderedVariableList [x,y,z,t] + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPageEmpty3} +\begin{paste}{SqFreeRegTriangSetXmpPageEmpty3}{SqFreeRegTriangSetXmpPagePatch3} +\pastebutton{SqFreeRegTriangSetXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{V := OVAR(ls)\free{ls }\bound{V }} +\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPagePatch4} +\begin{paste}{SqFreeRegTriangSetXmpPageFull4}{SqFreeRegTriangSetXmpPageEmpty4} +\pastebutton{SqFreeRegTriangSetXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{E := IndexedExponents V\free{V }\bound{E }} +\indentrel{3}\begin{verbatim} + (4) IndexedExponents OrderedVariableList [x,y,z,t] + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPageEmpty4} +\begin{paste}{SqFreeRegTriangSetXmpPageEmpty4}{SqFreeRegTriangSetXmpPagePatch4} +\pastebutton{SqFreeRegTriangSetXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{E := IndexedExponents V\free{V }\bound{E }} +\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPagePatch5} +\begin{paste}{SqFreeRegTriangSetXmpPageFull5}{SqFreeRegTriangSetXmpPageEmpty5} +\pastebutton{SqFreeRegTriangSetXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{P := NSMP(R, V)\free{R }\free{V }\bound{P }} +\indentrel{3}\begin{verbatim} + (5) + NewSparseMultivariatePolynomial(Integer,OrderedVariable + List [x,y,z,t]) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPageEmpty5} +\begin{paste}{SqFreeRegTriangSetXmpPageEmpty5}{SqFreeRegTriangSetXmpPagePatch5} +\pastebutton{SqFreeRegTriangSetXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{P := NSMP(R, V)\free{R }\free{V }\bound{P }} +\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPagePatch6} +\begin{paste}{SqFreeRegTriangSetXmpPageFull6}{SqFreeRegTriangSetXmpPageEmpty6} +\pastebutton{SqFreeRegTriangSetXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{x: P := 'x\free{P }\bound{x }} +\indentrel{3}\begin{verbatim} + (6) x +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPageEmpty6} +\begin{paste}{SqFreeRegTriangSetXmpPageEmpty6}{SqFreeRegTriangSetXmpPagePatch6} +\pastebutton{SqFreeRegTriangSetXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{x: P := 'x\free{P }\bound{x }} +\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPagePatch7} +\begin{paste}{SqFreeRegTriangSetXmpPageFull7}{SqFreeRegTriangSetXmpPageEmpty7} +\pastebutton{SqFreeRegTriangSetXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{y: P := 'y\free{P }\bound{y }} +\indentrel{3}\begin{verbatim} + (7) y +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPageEmpty7} +\begin{paste}{SqFreeRegTriangSetXmpPageEmpty7}{SqFreeRegTriangSetXmpPagePatch7} +\pastebutton{SqFreeRegTriangSetXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{y: P := 'y\free{P }\bound{y }} +\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPagePatch8} +\begin{paste}{SqFreeRegTriangSetXmpPageFull8}{SqFreeRegTriangSetXmpPageEmpty8} +\pastebutton{SqFreeRegTriangSetXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{z: P := 'z\free{P }\bound{z }} +\indentrel{3}\begin{verbatim} + (8) z +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPageEmpty8} +\begin{paste}{SqFreeRegTriangSetXmpPageEmpty8}{SqFreeRegTriangSetXmpPagePatch8} +\pastebutton{SqFreeRegTriangSetXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{z: P := 'z\free{P }\bound{z }} +\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPagePatch9} +\begin{paste}{SqFreeRegTriangSetXmpPageFull9}{SqFreeRegTriangSetXmpPageEmpty9} +\pastebutton{SqFreeRegTriangSetXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{t: P := 't\free{P }\bound{t }} +\indentrel{3}\begin{verbatim} + (9) t +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPageEmpty9} +\begin{paste}{SqFreeRegTriangSetXmpPageEmpty9}{SqFreeRegTriangSetXmpPagePatch9} +\pastebutton{SqFreeRegTriangSetXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{t: P := 't\free{P }\bound{t }} +\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPagePatch10} +\begin{paste}{SqFreeRegTriangSetXmpPageFull10}{SqFreeRegTriangSetXmpPageEmpty10} +\pastebutton{SqFreeRegTriangSetXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{ST := SREGSET(R,E,V,P)\free{R }\free{E }\free{V }\free{P }\bound{ST }} +\indentrel{3}\begin{verbatim} + (10) + SquareFreeRegularTriangularSet(Integer,IndexedExponents + OrderedVariableList [x,y,z,t],OrderedVariableList [x,y + ,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVa + riableList [x,y,z,t])) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPageEmpty10} +\begin{paste}{SqFreeRegTriangSetXmpPageEmpty10}{SqFreeRegTriangSetXmpPagePatch10} +\pastebutton{SqFreeRegTriangSetXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{ST := SREGSET(R,E,V,P)\free{R }\free{E }\free{V }\free{P }\bound{ST }} +\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPagePatch11} +\begin{paste}{SqFreeRegTriangSetXmpPageFull11}{SqFreeRegTriangSetXmpPageEmpty11} +\pastebutton{SqFreeRegTriangSetXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{p1 := x ** 31 - x ** 6 - x - y\free{x }\free{y }\bound{p1 }} +\indentrel{3}\begin{verbatim} + 31 6 + (11) x - x - x - y +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPageEmpty11} +\begin{paste}{SqFreeRegTriangSetXmpPageEmpty11}{SqFreeRegTriangSetXmpPagePatch11} +\pastebutton{SqFreeRegTriangSetXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{p1 := x ** 31 - x ** 6 - x - y\free{x }\free{y }\bound{p1 }} +\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPagePatch12} +\begin{paste}{SqFreeRegTriangSetXmpPageFull12}{SqFreeRegTriangSetXmpPageEmpty12} +\pastebutton{SqFreeRegTriangSetXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{p2 := x ** 8 - z\free{x }\free{z }\bound{p2 }} +\indentrel{3}\begin{verbatim} + 8 + (12) x - z +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPageEmpty12} +\begin{paste}{SqFreeRegTriangSetXmpPageEmpty12}{SqFreeRegTriangSetXmpPagePatch12} +\pastebutton{SqFreeRegTriangSetXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{p2 := x ** 8 - z\free{x }\free{z }\bound{p2 }} +\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPagePatch13} +\begin{paste}{SqFreeRegTriangSetXmpPageFull13}{SqFreeRegTriangSetXmpPageEmpty13} +\pastebutton{SqFreeRegTriangSetXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{p3 := x ** 10 - t\free{x }\free{t }\bound{p3 }} +\indentrel{3}\begin{verbatim} + 10 + (13) x - t +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPageEmpty13} +\begin{paste}{SqFreeRegTriangSetXmpPageEmpty13}{SqFreeRegTriangSetXmpPagePatch13} +\pastebutton{SqFreeRegTriangSetXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{p3 := x ** 10 - t\free{x }\free{t }\bound{p3 }} +\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPagePatch14} +\begin{paste}{SqFreeRegTriangSetXmpPageFull14}{SqFreeRegTriangSetXmpPageEmpty14} +\pastebutton{SqFreeRegTriangSetXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{lp := [p1, p2, p3]\free{p1 }\free{p2 }\free{p3 }\bound{lp }} +\indentrel{3}\begin{verbatim} + 31 6 8 10 + (14) [x - x - x - y,x - z,x - t] +Type: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPageEmpty14} +\begin{paste}{SqFreeRegTriangSetXmpPageEmpty14}{SqFreeRegTriangSetXmpPagePatch14} +\pastebutton{SqFreeRegTriangSetXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{lp := [p1, p2, p3]\free{p1 }\free{p2 }\free{p3 }\bound{lp }} +\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPagePatch15} +\begin{paste}{SqFreeRegTriangSetXmpPageFull15}{SqFreeRegTriangSetXmpPageEmpty15} +\pastebutton{SqFreeRegTriangSetXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{zeroSetSplit(lp)$ST\free{lp }\free{ST }} +\indentrel{3}\begin{verbatim} + (15) + [ + 5 4 2 3 8 5 3 2 + {z - t , t z y + 2z y - t + 2t + t - t , + 4 2 + (t - t)x - t y - z } + ] +Type: List SquareFreeRegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPageEmpty15} +\begin{paste}{SqFreeRegTriangSetXmpPageEmpty15}{SqFreeRegTriangSetXmpPagePatch15} +\pastebutton{SqFreeRegTriangSetXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{zeroSetSplit(lp)$ST\free{lp }\free{ST }} +\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPagePatch16} +\begin{paste}{SqFreeRegTriangSetXmpPageFull16}{SqFreeRegTriangSetXmpPageEmpty16} +\pastebutton{SqFreeRegTriangSetXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{zeroSetSplit(lp,false)$ST\free{lp }\free{ST }\bound{lts }} +\indentrel{3}\begin{verbatim} + (16) + [ + 5 4 2 3 8 5 3 2 + {z - t , t z y + 2z y - t + 2t + t - t , + 4 2 + (t - t)x - t y - z } + , + 3 5 2 2 + {t - 1,z - t,t y + z ,z x - t}, {t,z,y,x}] +Type: List SquareFreeRegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPageEmpty16} +\begin{paste}{SqFreeRegTriangSetXmpPageEmpty16}{SqFreeRegTriangSetXmpPagePatch16} +\pastebutton{SqFreeRegTriangSetXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{zeroSetSplit(lp,false)$ST\free{lp }\free{ST }\bound{lts }} +\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPagePatch17} +\begin{paste}{SqFreeRegTriangSetXmpPageFull17}{SqFreeRegTriangSetXmpPageEmpty17} +\pastebutton{SqFreeRegTriangSetXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{T := REGSET(R,E,V,P)\free{R }\free{E }\free{V }\free{P }\bound{T }} +\indentrel{3}\begin{verbatim} + (17) + RegularTriangularSet(Integer,IndexedExponents OrderedVa + riableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewS + parseMultivariatePolynomial(Integer,OrderedVariableList + [x,y,z,t])) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPageEmpty17} +\begin{paste}{SqFreeRegTriangSetXmpPageEmpty17}{SqFreeRegTriangSetXmpPagePatch17} +\pastebutton{SqFreeRegTriangSetXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{T := REGSET(R,E,V,P)\free{R }\free{E }\free{V }\free{P }\bound{T }} +\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPagePatch18} +\begin{paste}{SqFreeRegTriangSetXmpPageFull18}{SqFreeRegTriangSetXmpPageEmpty18} +\pastebutton{SqFreeRegTriangSetXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{lts := zeroSetSplit(lp,false)$T\free{lp }\free{T }\bound{lts }} +\indentrel{3}\begin{verbatim} + (18) + [ + 5 4 2 3 8 5 3 2 + {z - t , t z y + 2z y - t + 2t + t - t , + 4 2 + (t - t)x - t y - z } + , + 3 5 2 3 2 + {t - 1,z - t,t z y + 2z y + 1,z x - t}, + {t,z,y,x}] +Type: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPageEmpty18} +\begin{paste}{SqFreeRegTriangSetXmpPageEmpty18}{SqFreeRegTriangSetXmpPagePatch18} +\pastebutton{SqFreeRegTriangSetXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{lts := zeroSetSplit(lp,false)$T\free{lp }\free{T }\bound{lts }} +\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPagePatch19} +\begin{paste}{SqFreeRegTriangSetXmpPageFull19}{SqFreeRegTriangSetXmpPageEmpty19} +\pastebutton{SqFreeRegTriangSetXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{ts := lts.2\free{lts }\bound{ts }} +\indentrel{3}\begin{verbatim} + 3 5 2 3 2 + (19) {t - 1,z - t,t z y + 2z y + 1,z x - t} +Type: RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPageEmpty19} +\begin{paste}{SqFreeRegTriangSetXmpPageEmpty19}{SqFreeRegTriangSetXmpPagePatch19} +\pastebutton{SqFreeRegTriangSetXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{ts := lts.2\free{lts }\bound{ts }} +\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPagePatch20} +\begin{paste}{SqFreeRegTriangSetXmpPageFull20}{SqFreeRegTriangSetXmpPageEmpty20} +\pastebutton{SqFreeRegTriangSetXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{pol := select(ts,'y)$T\free{ts }\free{y }\free{T }\bound{pol }} +\indentrel{3}\begin{verbatim} + 2 3 + (20) t z y + 2z y + 1 +Type: Union(NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]),...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPageEmpty20} +\begin{paste}{SqFreeRegTriangSetXmpPageEmpty20}{SqFreeRegTriangSetXmpPagePatch20} +\pastebutton{SqFreeRegTriangSetXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{pol := select(ts,'y)$T\free{ts }\free{y }\free{T }\bound{pol }} +\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPagePatch21} +\begin{paste}{SqFreeRegTriangSetXmpPageFull21}{SqFreeRegTriangSetXmpPageEmpty21} +\pastebutton{SqFreeRegTriangSetXmpPageFull21}{\hidepaste} +\tab{5}\spadcommand{tower := collectUnder(ts,'y)$T\free{ts }\free{y }\free{T }\bound{tower }} +\indentrel{3}\begin{verbatim} + 3 5 + (21) {t - 1,z - t} +Type: RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPageEmpty21} +\begin{paste}{SqFreeRegTriangSetXmpPageEmpty21}{SqFreeRegTriangSetXmpPagePatch21} +\pastebutton{SqFreeRegTriangSetXmpPageEmpty21}{\showpaste} +\tab{5}\spadcommand{tower := collectUnder(ts,'y)$T\free{ts }\free{y }\free{T }\bound{tower }} +\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPagePatch22} +\begin{paste}{SqFreeRegTriangSetXmpPageFull22}{SqFreeRegTriangSetXmpPageEmpty22} +\pastebutton{SqFreeRegTriangSetXmpPageFull22}{\hidepaste} +\tab{5}\spadcommand{pack := RegularTriangularSetGcdPackage(R,E,V,P,T)\free{R }\free{E }\free{V }\free{P }\free{T }\bound{pack }} +\indentrel{3}\begin{verbatim} + (22) + RegularTriangularSetGcdPackage(Integer,IndexedExponents + OrderedVariableList [x,y,z,t],OrderedVariableList [x,y + ,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVa + riableList [x,y,z,t]),RegularTriangularSet(Integer,Inde + xedExponents OrderedVariableList [x,y,z,t],OrderedVaria + bleList [x,y,z,t],NewSparseMultivariatePolynomial(Integ + er,OrderedVariableList [x,y,z,t]))) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPageEmpty22} +\begin{paste}{SqFreeRegTriangSetXmpPageEmpty22}{SqFreeRegTriangSetXmpPagePatch22} +\pastebutton{SqFreeRegTriangSetXmpPageEmpty22}{\showpaste} +\tab{5}\spadcommand{pack := RegularTriangularSetGcdPackage(R,E,V,P,T)\free{R }\free{E }\free{V }\free{P }\free{T }\bound{pack }} +\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPagePatch23} +\begin{paste}{SqFreeRegTriangSetXmpPageFull23}{SqFreeRegTriangSetXmpPageEmpty23} +\pastebutton{SqFreeRegTriangSetXmpPageFull23}{\hidepaste} +\tab{5}\spadcommand{toseSquareFreePart(pol,tower)$pack\free{pol }\free{tower }\free{pack }} +\indentrel{3}\begin{verbatim} + 2 3 5 + (23) [[val= t y + z ,tower= {t - 1,z - t}]] +Type: List Record(val: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]),tower: RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]))) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SqFreeRegTriangSetXmpPageEmpty23} +\begin{paste}{SqFreeRegTriangSetXmpPageEmpty23}{SqFreeRegTriangSetXmpPagePatch23} +\pastebutton{SqFreeRegTriangSetXmpPageEmpty23}{\showpaste} +\tab{5}\spadcommand{toseSquareFreePart(pol,tower)$pack\free{pol }\free{tower }\free{pack }} +\end{paste}\end{patch} + @ \section{stbl.ht} \pagehead{SparseTableXmpPage}{stbl.ht}{SparseTable} @@ -19959,6 +55751,118 @@ For more information, see \autobuttons \end{page} +\begin{patch}{SparseTableXmpPagePatch1} +\begin{paste}{SparseTableXmpPageFull1}{SparseTableXmpPageEmpty1} +\pastebutton{SparseTableXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{t: SparseTable(Integer, String, "Try again!") := table()\bound{t }} +\indentrel{3}\begin{verbatim} + (1) table() + Type: SparseTable(Integer,String,Try again!) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SparseTableXmpPageEmpty1} +\begin{paste}{SparseTableXmpPageEmpty1}{SparseTableXmpPagePatch1} +\pastebutton{SparseTableXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{t: SparseTable(Integer, String, "Try again!") := table()\bound{t }} +\end{paste}\end{patch} + +\begin{patch}{SparseTableXmpPagePatch2} +\begin{paste}{SparseTableXmpPageFull2}{SparseTableXmpPageEmpty2} +\pastebutton{SparseTableXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{t.3 := "Number three"\free{t }\bound{t1 }} +\indentrel{3}\begin{verbatim} + (2) "Number three" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SparseTableXmpPageEmpty2} +\begin{paste}{SparseTableXmpPageEmpty2}{SparseTableXmpPagePatch2} +\pastebutton{SparseTableXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{t.3 := "Number three"\free{t }\bound{t1 }} +\end{paste}\end{patch} + +\begin{patch}{SparseTableXmpPagePatch3} +\begin{paste}{SparseTableXmpPageFull3}{SparseTableXmpPageEmpty3} +\pastebutton{SparseTableXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{t.4 := "Number four"\free{t }\bound{t2 }} +\indentrel{3}\begin{verbatim} + (3) "Number four" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SparseTableXmpPageEmpty3} +\begin{paste}{SparseTableXmpPageEmpty3}{SparseTableXmpPagePatch3} +\pastebutton{SparseTableXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{t.4 := "Number four"\free{t }\bound{t2 }} +\end{paste}\end{patch} + +\begin{patch}{SparseTableXmpPagePatch4} +\begin{paste}{SparseTableXmpPageFull4}{SparseTableXmpPageEmpty4} +\pastebutton{SparseTableXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{t.3\free{t1 }} +\indentrel{3}\begin{verbatim} + (4) "Number three" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SparseTableXmpPageEmpty4} +\begin{paste}{SparseTableXmpPageEmpty4}{SparseTableXmpPagePatch4} +\pastebutton{SparseTableXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{t.3\free{t1 }} +\end{paste}\end{patch} + +\begin{patch}{SparseTableXmpPagePatch5} +\begin{paste}{SparseTableXmpPageFull5}{SparseTableXmpPageEmpty5} +\pastebutton{SparseTableXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{t.2\free{t }} +\indentrel{3}\begin{verbatim} + (5) "Try again!" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SparseTableXmpPageEmpty5} +\begin{paste}{SparseTableXmpPageEmpty5}{SparseTableXmpPagePatch5} +\pastebutton{SparseTableXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{t.2\free{t }} +\end{paste}\end{patch} + +\begin{patch}{SparseTableXmpPagePatch6} +\begin{paste}{SparseTableXmpPageFull6}{SparseTableXmpPageEmpty6} +\pastebutton{SparseTableXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{keys t\free{t1 t2 }} +\indentrel{3}\begin{verbatim} + (6) [4,3] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SparseTableXmpPageEmpty6} +\begin{paste}{SparseTableXmpPageEmpty6}{SparseTableXmpPagePatch6} +\pastebutton{SparseTableXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{keys t\free{t1 t2 }} +\end{paste}\end{patch} + +\begin{patch}{SparseTableXmpPagePatch7} +\begin{paste}{SparseTableXmpPageFull7}{SparseTableXmpPageEmpty7} +\pastebutton{SparseTableXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{entries t\free{t1 t2 }} +\indentrel{3}\begin{verbatim} + (7) ["Number four","Number three"] + Type: List String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SparseTableXmpPageEmpty7} +\begin{paste}{SparseTableXmpPageEmpty7}{SparseTableXmpPagePatch7} +\pastebutton{SparseTableXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{entries t\free{t1 t2 }} +\end{paste}\end{patch} + @ \section{stream.ht} \pagehead{StreamXmpPage}{stream.ht}{Stream} @@ -20056,6 +55960,196 @@ in Section 8.9\ignore{ugProblemSeries}, \autobuttons \end{page} +\begin{patch}{StreamXmpPagePatch1} +\begin{paste}{StreamXmpPageFull1}{StreamXmpPageEmpty1} +\pastebutton{StreamXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{ints := [i for i in 0..]\bound{ints }} +\indentrel{3}\begin{verbatim} + (1) [0,1,2,3,4,5,6,7,8,9,...] + Type: Stream NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StreamXmpPageEmpty1} +\begin{paste}{StreamXmpPageEmpty1}{StreamXmpPagePatch1} +\pastebutton{StreamXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{ints := [i for i in 0..]\bound{ints }} +\end{paste}\end{patch} + +\begin{patch}{StreamXmpPagePatch2} +\begin{paste}{StreamXmpPageFull2}{StreamXmpPageEmpty2} +\pastebutton{StreamXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{f : List INT -> List INT\bound{fdec }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StreamXmpPageEmpty2} +\begin{paste}{StreamXmpPageEmpty2}{StreamXmpPagePatch2} +\pastebutton{StreamXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{f : List INT -> List INT\bound{fdec }} +\end{paste}\end{patch} + +\begin{patch}{StreamXmpPagePatch3} +\begin{paste}{StreamXmpPageFull3}{StreamXmpPageEmpty3} +\pastebutton{StreamXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{f x == [x.1 + x.2, x.1]\bound{f }\free{fdec }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StreamXmpPageEmpty3} +\begin{paste}{StreamXmpPageEmpty3}{StreamXmpPagePatch3} +\pastebutton{StreamXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{f x == [x.1 + x.2, x.1]\bound{f }\free{fdec }} +\end{paste}\end{patch} + +\begin{patch}{StreamXmpPagePatch4} +\begin{paste}{StreamXmpPageFull4}{StreamXmpPageEmpty4} +\pastebutton{StreamXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{fibs := [i.2 for i in [generate(f,[1,1])]]\bound{fibs }\free{f }} +\indentrel{3}\begin{verbatim} + (4) [1,1,2,3,5,8,13,21,34,55,...] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StreamXmpPageEmpty4} +\begin{paste}{StreamXmpPageEmpty4}{StreamXmpPagePatch4} +\pastebutton{StreamXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{fibs := [i.2 for i in [generate(f,[1,1])]]\bound{fibs }\free{f }} +\end{paste}\end{patch} + +\begin{patch}{StreamXmpPagePatch5} +\begin{paste}{StreamXmpPageFull5}{StreamXmpPageEmpty5} +\pastebutton{StreamXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{[i for i in ints | odd? i]\free{ints }} +\indentrel{3}\begin{verbatim} + (5) [1,3,5,7,9,11,13,15,17,19,...] + Type: Stream NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StreamXmpPageEmpty5} +\begin{paste}{StreamXmpPageEmpty5}{StreamXmpPagePatch5} +\pastebutton{StreamXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{[i for i in ints | odd? i]\free{ints }} +\end{paste}\end{patch} + +\begin{patch}{StreamXmpPagePatch6} +\begin{paste}{StreamXmpPageFull6}{StreamXmpPageEmpty6} +\pastebutton{StreamXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{odds := [2*i+1 for i in ints]\bound{odds }\free{ints }} +\indentrel{3}\begin{verbatim} + (6) [1,3,5,7,9,11,13,15,17,19,...] + Type: Stream NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StreamXmpPageEmpty6} +\begin{paste}{StreamXmpPageEmpty6}{StreamXmpPagePatch6} +\pastebutton{StreamXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{odds := [2*i+1 for i in ints]\bound{odds }\free{ints }} +\end{paste}\end{patch} + +\begin{patch}{StreamXmpPagePatch7} +\begin{paste}{StreamXmpPageFull7}{StreamXmpPageEmpty7} +\pastebutton{StreamXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{scan(0,+,odds)\free{odds }} +\indentrel{3}\begin{verbatim} + (7) [1,4,9,16,25,36,49,64,81,100,...] + Type: Stream NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StreamXmpPageEmpty7} +\begin{paste}{StreamXmpPageEmpty7}{StreamXmpPagePatch7} +\pastebutton{StreamXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{scan(0,+,odds)\free{odds }} +\end{paste}\end{patch} + +\begin{patch}{StreamXmpPagePatch8} +\begin{paste}{StreamXmpPageFull8}{StreamXmpPageEmpty8} +\pastebutton{StreamXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{[i*j for i in ints for j in odds]\free{ints }\free{odds }} +\indentrel{3}\begin{verbatim} + (8) [0,3,10,21,36,55,78,105,136,171,...] + Type: Stream NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StreamXmpPageEmpty8} +\begin{paste}{StreamXmpPageEmpty8}{StreamXmpPagePatch8} +\pastebutton{StreamXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{[i*j for i in ints for j in odds]\free{ints }\free{odds }} +\end{paste}\end{patch} + +\begin{patch}{StreamXmpPagePatch9} +\begin{paste}{StreamXmpPageFull9}{StreamXmpPageEmpty9} +\pastebutton{StreamXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{map(*,ints,odds)\free{ints odds }} +\indentrel{3}\begin{verbatim} + (9) [0,3,10,21,36,55,78,105,136,171,...] + Type: Stream NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StreamXmpPageEmpty9} +\begin{paste}{StreamXmpPageEmpty9}{StreamXmpPagePatch9} +\pastebutton{StreamXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{map(*,ints,odds)\free{ints odds }} +\end{paste}\end{patch} + +\begin{patch}{StreamXmpPagePatch10} +\begin{paste}{StreamXmpPageFull10}{StreamXmpPageEmpty10} +\pastebutton{StreamXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{first ints\free{ints }} +\indentrel{3}\begin{verbatim} + (10) 0 + Type: NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StreamXmpPageEmpty10} +\begin{paste}{StreamXmpPageEmpty10}{StreamXmpPagePatch10} +\pastebutton{StreamXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{first ints\free{ints }} +\end{paste}\end{patch} + +\begin{patch}{StreamXmpPagePatch11} +\begin{paste}{StreamXmpPageFull11}{StreamXmpPageEmpty11} +\pastebutton{StreamXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{rest ints\free{ints }} +\indentrel{3}\begin{verbatim} + (11) [1,2,3,4,5,6,7,8,9,10,...] + Type: Stream NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StreamXmpPageEmpty11} +\begin{paste}{StreamXmpPageEmpty11}{StreamXmpPagePatch11} +\pastebutton{StreamXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{rest ints\free{ints }} +\end{paste}\end{patch} + +\begin{patch}{StreamXmpPagePatch12} +\begin{paste}{StreamXmpPageFull12}{StreamXmpPageEmpty12} +\pastebutton{StreamXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{fibs 20\free{fibs }} +\indentrel{3}\begin{verbatim} + (12) 6765 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StreamXmpPageEmpty12} +\begin{paste}{StreamXmpPageEmpty12}{StreamXmpPagePatch12} +\pastebutton{StreamXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{fibs 20\free{fibs }} +\end{paste}\end{patch} + @ \section{string.ht} \pagehead{StringXmpPage}{string.ht}{String} @@ -20276,6 +56370,565 @@ a different first argument is used. \autobuttons \end{page} +\begin{patch}{StringXmpPagePatch1} +\begin{paste}{StringXmpPageFull1}{StringXmpPageEmpty1} +\pastebutton{StringXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{hello := "Hello, I'm AXIOM!"\bound{hello }} +\indentrel{3}\begin{verbatim} + (1) "Hello, I'm AXIOM!" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty1} +\begin{paste}{StringXmpPageEmpty1}{StringXmpPagePatch1} +\pastebutton{StringXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{hello := "Hello, I'm AXIOM!"\bound{hello }} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch2} +\begin{paste}{StringXmpPageFull2}{StringXmpPageEmpty2} +\pastebutton{StringXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{said := "Jane said, _"Look!_""\bound{said }} +\indentrel{3}\begin{verbatim} + (2) "Jane said, "Look!"" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty2} +\begin{paste}{StringXmpPageEmpty2}{StringXmpPagePatch2} +\pastebutton{StringXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{said := "Jane said, _"Look!_""\bound{said }} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch3} +\begin{paste}{StringXmpPageFull3}{StringXmpPageEmpty3} +\pastebutton{StringXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{saw := "She saw exactly one underscore: __."\bound{saw }} +\indentrel{3}\begin{verbatim} + (3) "She saw exactly one underscore: _." + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty3} +\begin{paste}{StringXmpPageEmpty3}{StringXmpPagePatch3} +\pastebutton{StringXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{saw := "She saw exactly one underscore: __."\bound{saw }} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch4} +\begin{paste}{StringXmpPageFull4}{StringXmpPageEmpty4} +\pastebutton{StringXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{gasp: String := new(32, char "x")\bound{gasp }} +\indentrel{3}\begin{verbatim} + (4) "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty4} +\begin{paste}{StringXmpPageEmpty4}{StringXmpPagePatch4} +\pastebutton{StringXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{gasp: String := new(32, char "x")\bound{gasp }} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch5} +\begin{paste}{StringXmpPageFull5}{StringXmpPageEmpty5} +\pastebutton{StringXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{\#gasp\free{gasp }} +\indentrel{3}\begin{verbatim} + (5) 32 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty5} +\begin{paste}{StringXmpPageEmpty5}{StringXmpPagePatch5} +\pastebutton{StringXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{\#gasp\free{gasp }} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch6} +\begin{paste}{StringXmpPageFull6}{StringXmpPageEmpty6} +\pastebutton{StringXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{hello.2\free{hello }} +\indentrel{3}\begin{verbatim} + (6) e + Type: Character +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty6} +\begin{paste}{StringXmpPageEmpty6}{StringXmpPagePatch6} +\pastebutton{StringXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{hello.2\free{hello }} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch7} +\begin{paste}{StringXmpPageFull7}{StringXmpPageEmpty7} +\pastebutton{StringXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{hello 2\free{hello }} +\indentrel{3}\begin{verbatim} + (7) e + Type: Character +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty7} +\begin{paste}{StringXmpPageEmpty7}{StringXmpPagePatch7} +\pastebutton{StringXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{hello 2\free{hello }} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch8} +\begin{paste}{StringXmpPageFull8}{StringXmpPageEmpty8} +\pastebutton{StringXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{hello(2)\free{hello }} +\indentrel{3}\begin{verbatim} + (8) e + Type: Character +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty8} +\begin{paste}{StringXmpPageEmpty8}{StringXmpPagePatch8} +\pastebutton{StringXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{hello(2)\free{hello }} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch9} +\begin{paste}{StringXmpPageFull9}{StringXmpPageEmpty9} +\pastebutton{StringXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{hullo := copy hello\free{hello }\bound{hullo0 }} +\indentrel{3}\begin{verbatim} + (9) "Hello, I'm AXIOM!" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty9} +\begin{paste}{StringXmpPageEmpty9}{StringXmpPagePatch9} +\pastebutton{StringXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{hullo := copy hello\free{hello }\bound{hullo0 }} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch10} +\begin{paste}{StringXmpPageFull10}{StringXmpPageEmpty10} +\pastebutton{StringXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{hullo.2 := char "u"; [hello, hullo]\free{hullo0 hello }\bound{hullo }} +\indentrel{3}\begin{verbatim} + (10) ["Hello, I'm AXIOM!","Hullo, I'm AXIOM!"] + Type: List String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty10} +\begin{paste}{StringXmpPageEmpty10}{StringXmpPagePatch10} +\pastebutton{StringXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{hullo.2 := char "u"; [hello, hullo]\free{hullo0 hello }\bound{hullo }} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch11} +\begin{paste}{StringXmpPageFull11}{StringXmpPageEmpty11} +\pastebutton{StringXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{saidsaw := concat ["alpha","---","omega"]\bound{saidsaw }} +\indentrel{3}\begin{verbatim} + (11) "alpha---omega" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty11} +\begin{paste}{StringXmpPageEmpty11}{StringXmpPagePatch11} +\pastebutton{StringXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{saidsaw := concat ["alpha","---","omega"]\bound{saidsaw }} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch12} +\begin{paste}{StringXmpPageFull12}{StringXmpPageEmpty12} +\pastebutton{StringXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{concat("hello ","goodbye")} +\indentrel{3}\begin{verbatim} + (12) "hello goodbye" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty12} +\begin{paste}{StringXmpPageEmpty12}{StringXmpPagePatch12} +\pastebutton{StringXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{concat("hello ","goodbye")} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch13} +\begin{paste}{StringXmpPageFull13}{StringXmpPageEmpty13} +\pastebutton{StringXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{"This " "is " "several " "strings " "concatenated."} +\indentrel{3}\begin{verbatim} + (13) "This is several strings concatenated." + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty13} +\begin{paste}{StringXmpPageEmpty13}{StringXmpPagePatch13} +\pastebutton{StringXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{"This " "is " "several " "strings " "concatenated."} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch14} +\begin{paste}{StringXmpPageFull14}{StringXmpPageEmpty14} +\pastebutton{StringXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{hello(1..5)\free{hello }} +\indentrel{3}\begin{verbatim} + (14) "Hello" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty14} +\begin{paste}{StringXmpPageEmpty14}{StringXmpPagePatch14} +\pastebutton{StringXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{hello(1..5)\free{hello }} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch15} +\begin{paste}{StringXmpPageFull15}{StringXmpPageEmpty15} +\pastebutton{StringXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{hello(8..)\free{hello }} +\indentrel{3}\begin{verbatim} + (15) "I'm AXIOM!" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty15} +\begin{paste}{StringXmpPageEmpty15}{StringXmpPagePatch15} +\pastebutton{StringXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{hello(8..)\free{hello }} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch16} +\begin{paste}{StringXmpPageFull16}{StringXmpPageEmpty16} +\pastebutton{StringXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{split(hello, char " ")\free{hello }} +\indentrel{3}\begin{verbatim} + (16) ["Hello,","I'm","AXIOM!"] + Type: List String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty16} +\begin{paste}{StringXmpPageEmpty16}{StringXmpPagePatch16} +\pastebutton{StringXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{split(hello, char " ")\free{hello }} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch17} +\begin{paste}{StringXmpPageFull17}{StringXmpPageEmpty17} +\pastebutton{StringXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{other := complement alphanumeric();\bound{other }} +\indentrel{3}\begin{verbatim} + Type: CharacterClass +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty17} +\begin{paste}{StringXmpPageEmpty17}{StringXmpPagePatch17} +\pastebutton{StringXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{other := complement alphanumeric();\bound{other }} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch18} +\begin{paste}{StringXmpPageFull18}{StringXmpPageEmpty18} +\pastebutton{StringXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{split(saidsaw, other)\free{saidsaw other }} +\indentrel{3}\begin{verbatim} + (18) ["alpha","omega"] + Type: List String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty18} +\begin{paste}{StringXmpPageEmpty18}{StringXmpPagePatch18} +\pastebutton{StringXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{split(saidsaw, other)\free{saidsaw other }} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch19} +\begin{paste}{StringXmpPageFull19}{StringXmpPageEmpty19} +\pastebutton{StringXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{trim ("\#\# ++ relax ++ \#\#", char "\#")} +\indentrel{3}\begin{verbatim} + (19) " ++ relax ++ " + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty19} +\begin{paste}{StringXmpPageEmpty19}{StringXmpPagePatch19} +\pastebutton{StringXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{trim ("\#\# ++ relax ++ \#\#", char "\#")} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch20} +\begin{paste}{StringXmpPageFull20}{StringXmpPageEmpty20} +\pastebutton{StringXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{trim ("\#\# ++ relax ++ \#\#", other)\free{other }} +\indentrel{3}\begin{verbatim} + (20) "relax" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty20} +\begin{paste}{StringXmpPageEmpty20}{StringXmpPagePatch20} +\pastebutton{StringXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{trim ("\#\# ++ relax ++ \#\#", other)\free{other }} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch21} +\begin{paste}{StringXmpPageFull21}{StringXmpPageEmpty21} +\pastebutton{StringXmpPageFull21}{\hidepaste} +\tab{5}\spadcommand{leftTrim ("\#\# ++ relax ++ \#\#", other)\free{other }} +\indentrel{3}\begin{verbatim} + (21) "relax ++ ##" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty21} +\begin{paste}{StringXmpPageEmpty21}{StringXmpPagePatch21} +\pastebutton{StringXmpPageEmpty21}{\showpaste} +\tab{5}\spadcommand{leftTrim ("\#\# ++ relax ++ \#\#", other)\free{other }} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch22} +\begin{paste}{StringXmpPageFull22}{StringXmpPageEmpty22} +\pastebutton{StringXmpPageFull22}{\hidepaste} +\tab{5}\spadcommand{rightTrim("\#\# ++ relax ++ \#\#", other)\free{other }} +\indentrel{3}\begin{verbatim} + (22) "## ++ relax" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty22} +\begin{paste}{StringXmpPageEmpty22}{StringXmpPagePatch22} +\pastebutton{StringXmpPageEmpty22}{\showpaste} +\tab{5}\spadcommand{rightTrim("\#\# ++ relax ++ \#\#", other)\free{other }} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch23} +\begin{paste}{StringXmpPageFull23}{StringXmpPageEmpty23} +\pastebutton{StringXmpPageFull23}{\hidepaste} +\tab{5}\spadcommand{upperCase hello\free{hello }} +\indentrel{3}\begin{verbatim} + (23) "HELLO, I'M AXIOM!" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty23} +\begin{paste}{StringXmpPageEmpty23}{StringXmpPagePatch23} +\pastebutton{StringXmpPageEmpty23}{\showpaste} +\tab{5}\spadcommand{upperCase hello\free{hello }} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch24} +\begin{paste}{StringXmpPageFull24}{StringXmpPageEmpty24} +\pastebutton{StringXmpPageFull24}{\hidepaste} +\tab{5}\spadcommand{lowerCase hello\free{hello }} +\indentrel{3}\begin{verbatim} + (24) "hello, i'm axiom!" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty24} +\begin{paste}{StringXmpPageEmpty24}{StringXmpPagePatch24} +\pastebutton{StringXmpPageEmpty24}{\showpaste} +\tab{5}\spadcommand{lowerCase hello\free{hello }} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch25} +\begin{paste}{StringXmpPageFull25}{StringXmpPageEmpty25} +\pastebutton{StringXmpPageFull25}{\hidepaste} +\tab{5}\spadcommand{prefix?("He", "Hello")} +\indentrel{3}\begin{verbatim} + (25) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty25} +\begin{paste}{StringXmpPageEmpty25}{StringXmpPagePatch25} +\pastebutton{StringXmpPageEmpty25}{\showpaste} +\tab{5}\spadcommand{prefix?("He", "Hello")} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch26} +\begin{paste}{StringXmpPageFull26}{StringXmpPageEmpty26} +\pastebutton{StringXmpPageFull26}{\hidepaste} +\tab{5}\spadcommand{prefix?("Her", "Hello")} +\indentrel{3}\begin{verbatim} + (26) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty26} +\begin{paste}{StringXmpPageEmpty26}{StringXmpPagePatch26} +\pastebutton{StringXmpPageEmpty26}{\showpaste} +\tab{5}\spadcommand{prefix?("Her", "Hello")} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch27} +\begin{paste}{StringXmpPageFull27}{StringXmpPageEmpty27} +\pastebutton{StringXmpPageFull27}{\hidepaste} +\tab{5}\spadcommand{suffix?("", "Hello")} +\indentrel{3}\begin{verbatim} + (27) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty27} +\begin{paste}{StringXmpPageEmpty27}{StringXmpPagePatch27} +\pastebutton{StringXmpPageEmpty27}{\showpaste} +\tab{5}\spadcommand{suffix?("", "Hello")} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch28} +\begin{paste}{StringXmpPageFull28}{StringXmpPageEmpty28} +\pastebutton{StringXmpPageFull28}{\hidepaste} +\tab{5}\spadcommand{suffix?("LO", "Hello")} +\indentrel{3}\begin{verbatim} + (28) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty28} +\begin{paste}{StringXmpPageEmpty28}{StringXmpPagePatch28} +\pastebutton{StringXmpPageEmpty28}{\showpaste} +\tab{5}\spadcommand{suffix?("LO", "Hello")} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch29} +\begin{paste}{StringXmpPageFull29}{StringXmpPageEmpty29} +\pastebutton{StringXmpPageFull29}{\hidepaste} +\tab{5}\spadcommand{substring?("ll", "Hello", 3)} +\indentrel{3}\begin{verbatim} + (29) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty29} +\begin{paste}{StringXmpPageEmpty29}{StringXmpPagePatch29} +\pastebutton{StringXmpPageEmpty29}{\showpaste} +\tab{5}\spadcommand{substring?("ll", "Hello", 3)} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch30} +\begin{paste}{StringXmpPageFull30}{StringXmpPageEmpty30} +\pastebutton{StringXmpPageFull30}{\hidepaste} +\tab{5}\spadcommand{substring?("ll", "Hello", 4)} +\indentrel{3}\begin{verbatim} + (30) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty30} +\begin{paste}{StringXmpPageEmpty30}{StringXmpPagePatch30} +\pastebutton{StringXmpPageEmpty30}{\showpaste} +\tab{5}\spadcommand{substring?("ll", "Hello", 4)} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch31} +\begin{paste}{StringXmpPageFull31}{StringXmpPageEmpty31} +\pastebutton{StringXmpPageFull31}{\hidepaste} +\tab{5}\spadcommand{n := position("nd", "underground", 1)\bound{n }} +\indentrel{3}\begin{verbatim} + (31) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty31} +\begin{paste}{StringXmpPageEmpty31}{StringXmpPagePatch31} +\pastebutton{StringXmpPageEmpty31}{\showpaste} +\tab{5}\spadcommand{n := position("nd", "underground", 1)\bound{n }} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch32} +\begin{paste}{StringXmpPageFull32}{StringXmpPageEmpty32} +\pastebutton{StringXmpPageFull32}{\hidepaste} +\tab{5}\spadcommand{n := position("nd", "underground", n+1)\free{n }\bound{n1 }} +\indentrel{3}\begin{verbatim} + (32) 10 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty32} +\begin{paste}{StringXmpPageEmpty32}{StringXmpPagePatch32} +\pastebutton{StringXmpPageEmpty32}{\showpaste} +\tab{5}\spadcommand{n := position("nd", "underground", n+1)\free{n }\bound{n1 }} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch33} +\begin{paste}{StringXmpPageFull33}{StringXmpPageEmpty33} +\pastebutton{StringXmpPageFull33}{\hidepaste} +\tab{5}\spadcommand{n := position("nd", "underground", n+1)\free{n1 }\bound{n2 }} +\indentrel{3}\begin{verbatim} + (33) 0 + Type: NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty33} +\begin{paste}{StringXmpPageEmpty33}{StringXmpPagePatch33} +\pastebutton{StringXmpPageEmpty33}{\showpaste} +\tab{5}\spadcommand{n := position("nd", "underground", n+1)\free{n1 }\bound{n2 }} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch34} +\begin{paste}{StringXmpPageFull34}{StringXmpPageEmpty34} +\pastebutton{StringXmpPageFull34}{\hidepaste} +\tab{5}\spadcommand{position(char "d", "underground", 1)} +\indentrel{3}\begin{verbatim} + (34) 3 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty34} +\begin{paste}{StringXmpPageEmpty34}{StringXmpPagePatch34} +\pastebutton{StringXmpPageEmpty34}{\showpaste} +\tab{5}\spadcommand{position(char "d", "underground", 1)} +\end{paste}\end{patch} + +\begin{patch}{StringXmpPagePatch35} +\begin{paste}{StringXmpPageFull35}{StringXmpPageEmpty35} +\pastebutton{StringXmpPageFull35}{\hidepaste} +\tab{5}\spadcommand{position(hexDigit(), "underground", 1)} +\indentrel{3}\begin{verbatim} + (35) 3 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringXmpPageEmpty35} +\begin{paste}{StringXmpPageEmpty35}{StringXmpPagePatch35} +\pastebutton{StringXmpPageEmpty35}{\showpaste} +\tab{5}\spadcommand{position(hexDigit(), "underground", 1)} +\end{paste}\end{patch} + @ \section{strtbl.ht} \pagehead{StringTableXmpPage}{strtbl.ht}{StringTable} @@ -20314,7 +56967,63 @@ for s in split("My name is Ian Watt.",char " ") \endscroll \autobuttons \end{page} -% + +\begin{patch}{StringTableXmpPagePatch1} +\begin{paste}{StringTableXmpPageFull1}{StringTableXmpPageEmpty1} +\pastebutton{StringTableXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{t: StringTable(Integer) := table()\bound{t }} +\indentrel{3}\begin{verbatim} + (1) table() + Type: StringTable Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringTableXmpPageEmpty1} +\begin{paste}{StringTableXmpPageEmpty1}{StringTableXmpPagePatch1} +\pastebutton{StringTableXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{t: StringTable(Integer) := table()\bound{t }} +\end{paste}\end{patch} + +\begin{patch}{StringTableXmpPagePatch2} +\begin{paste}{StringTableXmpPageFull2}{StringTableXmpPageEmpty2} +\pastebutton{StringTableXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{for s in split("My name is Ian Watt.",char " ") + repeat + t.s := \#s +\free{t }\bound{h }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringTableXmpPageEmpty2} +\begin{paste}{StringTableXmpPageEmpty2}{StringTableXmpPagePatch2} +\pastebutton{StringTableXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{for s in split("My name is Ian Watt.",char " ") + repeat + t.s := \#s +\free{t }\bound{h }} +\end{paste}\end{patch} + +\begin{patch}{StringTableXmpPagePatch3} +\begin{paste}{StringTableXmpPageFull3}{StringTableXmpPageEmpty3} +\pastebutton{StringTableXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{for key in keys t repeat output [key, t.key]\free{t h }} +\indentrel{3}\begin{verbatim} + ["Ian",3] + ["My",2] + ["Watt.",5] + ["name",4] + ["is",2] + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{StringTableXmpPageEmpty3} +\begin{paste}{StringTableXmpPageEmpty3}{StringTableXmpPagePatch3} +\pastebutton{StringTableXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{for key in keys t repeat output [key, t.key]\free{t h }} +\end{paste}\end{patch} @ \section{symbol.ht} @@ -20464,6 +57173,404 @@ If trailing lists of scripts are omitted, they are assumed to be empty. \autobuttons \end{page} +\begin{patch}{SymbolXmpPagePatch1} +\begin{paste}{SymbolXmpPageFull1}{SymbolXmpPageEmpty1} +\pastebutton{SymbolXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{X: Symbol := 'x\bound{X }} +\indentrel{3}\begin{verbatim} + (1) x + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPageEmpty1} +\begin{paste}{SymbolXmpPageEmpty1}{SymbolXmpPagePatch1} +\pastebutton{SymbolXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{X: Symbol := 'x\bound{X }} +\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPagePatch2} +\begin{paste}{SymbolXmpPageFull2}{SymbolXmpPageEmpty2} +\pastebutton{SymbolXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{XX: Symbol := x} +\indentrel{3}\begin{verbatim} + (2) x + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPageEmpty2} +\begin{paste}{SymbolXmpPageEmpty2}{SymbolXmpPagePatch2} +\pastebutton{SymbolXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{XX: Symbol := x} +\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPagePatch3} +\begin{paste}{SymbolXmpPageFull3}{SymbolXmpPageEmpty3} +\pastebutton{SymbolXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{A := 'a} +\indentrel{3}\begin{verbatim} + (3) a + Type: Variable a +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPageEmpty3} +\begin{paste}{SymbolXmpPageEmpty3}{SymbolXmpPagePatch3} +\pastebutton{SymbolXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{A := 'a} +\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPagePatch4} +\begin{paste}{SymbolXmpPageFull4}{SymbolXmpPageEmpty4} +\pastebutton{SymbolXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{B := b} +\indentrel{3}\begin{verbatim} + (4) b + Type: Variable b +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPageEmpty4} +\begin{paste}{SymbolXmpPageEmpty4}{SymbolXmpPagePatch4} +\pastebutton{SymbolXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{B := b} +\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPagePatch5} +\begin{paste}{SymbolXmpPageFull5}{SymbolXmpPageEmpty5} +\pastebutton{SymbolXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{x**2 + 1} +\indentrel{3}\begin{verbatim} + 2 + (5) x + 1 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPageEmpty5} +\begin{paste}{SymbolXmpPageEmpty5}{SymbolXmpPagePatch5} +\pastebutton{SymbolXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{x**2 + 1} +\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPagePatch6} +\begin{paste}{SymbolXmpPageFull6}{SymbolXmpPageEmpty6} +\pastebutton{SymbolXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{"Hello"::Symbol} +\indentrel{3}\begin{verbatim} + (6) Hello + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPageEmpty6} +\begin{paste}{SymbolXmpPageEmpty6}{SymbolXmpPagePatch6} +\pastebutton{SymbolXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{"Hello"::Symbol} +\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPagePatch7} +\begin{paste}{SymbolXmpPageFull7}{SymbolXmpPageEmpty7} +\pastebutton{SymbolXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{new()$Symbol} +\indentrel{3}\begin{verbatim} + (7) %A + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPageEmpty7} +\begin{paste}{SymbolXmpPageEmpty7}{SymbolXmpPagePatch7} +\pastebutton{SymbolXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{new()$Symbol} +\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPagePatch8} +\begin{paste}{SymbolXmpPageFull8}{SymbolXmpPageEmpty8} +\pastebutton{SymbolXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{new()$Symbol} +\indentrel{3}\begin{verbatim} + (8) %B + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPageEmpty8} +\begin{paste}{SymbolXmpPageEmpty8}{SymbolXmpPagePatch8} +\pastebutton{SymbolXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{new()$Symbol} +\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPagePatch9} +\begin{paste}{SymbolXmpPageFull9}{SymbolXmpPageEmpty9} +\pastebutton{SymbolXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{new("xyz")$Symbol} +\indentrel{3}\begin{verbatim} + (9) %xyz0 + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPageEmpty9} +\begin{paste}{SymbolXmpPageEmpty9}{SymbolXmpPagePatch9} +\pastebutton{SymbolXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{new("xyz")$Symbol} +\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPagePatch10} +\begin{paste}{SymbolXmpPageFull10}{SymbolXmpPageEmpty10} +\pastebutton{SymbolXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{X[i,j]\free{X }} +\indentrel{3}\begin{verbatim} + (10) x + i,j + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPageEmpty10} +\begin{paste}{SymbolXmpPageEmpty10}{SymbolXmpPagePatch10} +\pastebutton{SymbolXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{X[i,j]\free{X }} +\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPagePatch11} +\begin{paste}{SymbolXmpPageFull11}{SymbolXmpPageEmpty11} +\pastebutton{SymbolXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{U := subscript(u, [1,2,1,2])\bound{U }} +\indentrel{3}\begin{verbatim} + (11) u + 1,2,1,2 + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPageEmpty11} +\begin{paste}{SymbolXmpPageEmpty11}{SymbolXmpPagePatch11} +\pastebutton{SymbolXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{U := subscript(u, [1,2,1,2])\bound{U }} +\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPagePatch12} +\begin{paste}{SymbolXmpPageFull12}{SymbolXmpPageEmpty12} +\pastebutton{SymbolXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{V := superscript(v, [n])\bound{V }} +\indentrel{3}\begin{verbatim} + n + (12) v + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPageEmpty12} +\begin{paste}{SymbolXmpPageEmpty12}{SymbolXmpPagePatch12} +\pastebutton{SymbolXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{V := superscript(v, [n])\bound{V }} +\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPagePatch13} +\begin{paste}{SymbolXmpPageFull13}{SymbolXmpPageEmpty13} +\pastebutton{SymbolXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{P := argscript(p, [t])\bound{P }} +\indentrel{3}\begin{verbatim} + (13) p(t) + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPageEmpty13} +\begin{paste}{SymbolXmpPageEmpty13}{SymbolXmpPagePatch13} +\pastebutton{SymbolXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{P := argscript(p, [t])\bound{P }} +\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPagePatch14} +\begin{paste}{SymbolXmpPageFull14}{SymbolXmpPageEmpty14} +\pastebutton{SymbolXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{scripted? U\free{U }} +\indentrel{3}\begin{verbatim} + (14) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPageEmpty14} +\begin{paste}{SymbolXmpPageEmpty14}{SymbolXmpPagePatch14} +\pastebutton{SymbolXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{scripted? U\free{U }} +\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPagePatch15} +\begin{paste}{SymbolXmpPageFull15}{SymbolXmpPageEmpty15} +\pastebutton{SymbolXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{scripted? X\free{X }} +\indentrel{3}\begin{verbatim} + (15) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPageEmpty15} +\begin{paste}{SymbolXmpPageEmpty15}{SymbolXmpPagePatch15} +\pastebutton{SymbolXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{scripted? X\free{X }} +\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPagePatch16} +\begin{paste}{SymbolXmpPageFull16}{SymbolXmpPageEmpty16} +\pastebutton{SymbolXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{string X\free{X }} +\indentrel{3}\begin{verbatim} + (16) "x" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPageEmpty16} +\begin{paste}{SymbolXmpPageEmpty16}{SymbolXmpPagePatch16} +\pastebutton{SymbolXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{string X\free{X }} +\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPagePatch17} +\begin{paste}{SymbolXmpPageFull17}{SymbolXmpPageEmpty17} +\pastebutton{SymbolXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{name U\free{U }} +\indentrel{3}\begin{verbatim} + (17) u + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPageEmpty17} +\begin{paste}{SymbolXmpPageEmpty17}{SymbolXmpPagePatch17} +\pastebutton{SymbolXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{name U\free{U }} +\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPagePatch18} +\begin{paste}{SymbolXmpPageFull18}{SymbolXmpPageEmpty18} +\pastebutton{SymbolXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{scripts U\free{U }} +\indentrel{3}\begin{verbatim} + (18) + [sub= [1,2,1,2],sup= [],presup= [],presub= [],args= []] +Type: Record(sub: List OutputForm,sup: List OutputForm,presup: List OutputForm,presub: List OutputForm,args: List OutputForm) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPageEmpty18} +\begin{paste}{SymbolXmpPageEmpty18}{SymbolXmpPagePatch18} +\pastebutton{SymbolXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{scripts U\free{U }} +\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPagePatch19} +\begin{paste}{SymbolXmpPageFull19}{SymbolXmpPageEmpty19} +\pastebutton{SymbolXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{name X\free{X }} +\indentrel{3}\begin{verbatim} + (19) x + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPageEmpty19} +\begin{paste}{SymbolXmpPageEmpty19}{SymbolXmpPagePatch19} +\pastebutton{SymbolXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{name X\free{X }} +\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPagePatch20} +\begin{paste}{SymbolXmpPageFull20}{SymbolXmpPageEmpty20} +\pastebutton{SymbolXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{scripts X\free{X }} +\indentrel{3}\begin{verbatim} + (20) + [sub= [],sup= [],presup= [],presub= [],args= []] +Type: Record(sub: List OutputForm,sup: List OutputForm,presup: List OutputForm,presub: List OutputForm,args: List OutputForm) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPageEmpty20} +\begin{paste}{SymbolXmpPageEmpty20}{SymbolXmpPagePatch20} +\pastebutton{SymbolXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{scripts X\free{X }} +\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPagePatch21} +\begin{paste}{SymbolXmpPageFull21}{SymbolXmpPageEmpty21} +\pastebutton{SymbolXmpPageFull21}{\hidepaste} +\tab{5}\spadcommand{M := script(Mammoth, [[i,j],[k,l],[0,1],[2],[u,v,w]])\bound{M }} +\indentrel{3}\begin{verbatim} + 0,1 k,l + (21) Mammoth (u,v,w) + 2 i,j + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPageEmpty21} +\begin{paste}{SymbolXmpPageEmpty21}{SymbolXmpPagePatch21} +\pastebutton{SymbolXmpPageEmpty21}{\showpaste} +\tab{5}\spadcommand{M := script(Mammoth, [[i,j],[k,l],[0,1],[2],[u,v,w]])\bound{M }} +\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPagePatch22} +\begin{paste}{SymbolXmpPageFull22}{SymbolXmpPageEmpty22} +\pastebutton{SymbolXmpPageFull22}{\hidepaste} +\tab{5}\spadcommand{scripts M\free{M }} +\indentrel{3}\begin{verbatim} + (22) + [sub= [i,j], sup= [k,l], presup= [0,1], presub= [2], + args= [u,v,w]] +Type: Record(sub: List OutputForm,sup: List OutputForm,presup: List OutputForm,presub: List OutputForm,args: List OutputForm) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPageEmpty22} +\begin{paste}{SymbolXmpPageEmpty22}{SymbolXmpPagePatch22} +\pastebutton{SymbolXmpPageEmpty22}{\showpaste} +\tab{5}\spadcommand{scripts M\free{M }} +\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPagePatch23} +\begin{paste}{SymbolXmpPageFull23}{SymbolXmpPageEmpty23} +\pastebutton{SymbolXmpPageFull23}{\hidepaste} +\tab{5}\spadcommand{N := script(Nut, [[i,j],[k,l],[0,1]])\bound{N }} +\indentrel{3}\begin{verbatim} + 0,1 k,l + (23) Nut + i,j + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPageEmpty23} +\begin{paste}{SymbolXmpPageEmpty23}{SymbolXmpPagePatch23} +\pastebutton{SymbolXmpPageEmpty23}{\showpaste} +\tab{5}\spadcommand{N := script(Nut, [[i,j],[k,l],[0,1]])\bound{N }} +\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPagePatch24} +\begin{paste}{SymbolXmpPageFull24}{SymbolXmpPageEmpty24} +\pastebutton{SymbolXmpPageFull24}{\hidepaste} +\tab{5}\spadcommand{scripts N\free{N }} +\indentrel{3}\begin{verbatim} + (24) + [sub= [i,j], sup= [k,l], presup= [0,1], presub= [], + args= []] +Type: Record(sub: List OutputForm,sup: List OutputForm,presup: List OutputForm,presub: List OutputForm,args: List OutputForm) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{SymbolXmpPageEmpty24} +\begin{paste}{SymbolXmpPageEmpty24}{SymbolXmpPagePatch24} +\pastebutton{SymbolXmpPageEmpty24}{\showpaste} +\tab{5}\spadcommand{scripts N\free{N }} +\end{paste}\end{patch} + @ \section{table.ht} \pagehead{TableXmpPage}{table.ht}{Table} @@ -20631,6 +57738,295 @@ for more information. \autobuttons \end{page} +\begin{patch}{TableXmpPagePatch1} +\begin{paste}{TableXmpPageFull1}{TableXmpPageEmpty1} +\pastebutton{TableXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{t: Table(Polynomial Integer, String) := table()\bound{t }} +\indentrel{3}\begin{verbatim} + (1) table() + Type: Table(Polynomial Integer,String) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TableXmpPageEmpty1} +\begin{paste}{TableXmpPageEmpty1}{TableXmpPagePatch1} +\pastebutton{TableXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{t: Table(Polynomial Integer, String) := table()\bound{t }} +\end{paste}\end{patch} + +\begin{patch}{TableXmpPagePatch2} +\begin{paste}{TableXmpPageFull2}{TableXmpPageEmpty2} +\pastebutton{TableXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{setelt(t, x**2 - 1, "Easy to factor")\bound{p1 }\free{t }} +\indentrel{3}\begin{verbatim} + (2) "Easy to factor" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TableXmpPageEmpty2} +\begin{paste}{TableXmpPageEmpty2}{TableXmpPagePatch2} +\pastebutton{TableXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{setelt(t, x**2 - 1, "Easy to factor")\bound{p1 }\free{t }} +\end{paste}\end{patch} + +\begin{patch}{TableXmpPagePatch3} +\begin{paste}{TableXmpPageFull3}{TableXmpPageEmpty3} +\pastebutton{TableXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{t(x**3 + 1) := "Harder to factor"\bound{p2 }\free{p1 }} +\indentrel{3}\begin{verbatim} + (3) "Harder to factor" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TableXmpPageEmpty3} +\begin{paste}{TableXmpPageEmpty3}{TableXmpPagePatch3} +\pastebutton{TableXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{t(x**3 + 1) := "Harder to factor"\bound{p2 }\free{p1 }} +\end{paste}\end{patch} + +\begin{patch}{TableXmpPagePatch4} +\begin{paste}{TableXmpPageFull4}{TableXmpPageEmpty4} +\pastebutton{TableXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{t(x) := "The easiest to factor"\bound{p3 }\free{p2 }} +\indentrel{3}\begin{verbatim} + (4) "The easiest to factor" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TableXmpPageEmpty4} +\begin{paste}{TableXmpPageEmpty4}{TableXmpPagePatch4} +\pastebutton{TableXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{t(x) := "The easiest to factor"\bound{p3 }\free{p2 }} +\end{paste}\end{patch} + +\begin{patch}{TableXmpPagePatch5} +\begin{paste}{TableXmpPageFull5}{TableXmpPageEmpty5} +\pastebutton{TableXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{elt(t, x)\free{p3 }} +\indentrel{3}\begin{verbatim} + (5) "The easiest to factor" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TableXmpPageEmpty5} +\begin{paste}{TableXmpPageEmpty5}{TableXmpPagePatch5} +\pastebutton{TableXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{elt(t, x)\free{p3 }} +\end{paste}\end{patch} + +\begin{patch}{TableXmpPagePatch6} +\begin{paste}{TableXmpPageFull6}{TableXmpPageEmpty6} +\pastebutton{TableXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{t.x\free{p3 }} +\indentrel{3}\begin{verbatim} + (6) "The easiest to factor" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TableXmpPageEmpty6} +\begin{paste}{TableXmpPageEmpty6}{TableXmpPagePatch6} +\pastebutton{TableXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{t.x\free{p3 }} +\end{paste}\end{patch} + +\begin{patch}{TableXmpPagePatch7} +\begin{paste}{TableXmpPageFull7}{TableXmpPageEmpty7} +\pastebutton{TableXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{t x\free{p3 }} +\indentrel{3}\begin{verbatim} + (7) "The easiest to factor" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TableXmpPageEmpty7} +\begin{paste}{TableXmpPageEmpty7}{TableXmpPagePatch7} +\pastebutton{TableXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{t x\free{p3 }} +\end{paste}\end{patch} + +\begin{patch}{TableXmpPagePatch8} +\begin{paste}{TableXmpPageFull8}{TableXmpPageEmpty8} +\pastebutton{TableXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{t.(x**2 - 1)\free{p3 }} +\indentrel{3}\begin{verbatim} + (8) "Easy to factor" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TableXmpPageEmpty8} +\begin{paste}{TableXmpPageEmpty8}{TableXmpPagePatch8} +\pastebutton{TableXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{t.(x**2 - 1)\free{p3 }} +\end{paste}\end{patch} + +\begin{patch}{TableXmpPagePatch9} +\begin{paste}{TableXmpPageFull9}{TableXmpPageEmpty9} +\pastebutton{TableXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{t (x**3 + 1)\free{p3 }} +\indentrel{3}\begin{verbatim} + (9) "Harder to factor" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TableXmpPageEmpty9} +\begin{paste}{TableXmpPageEmpty9}{TableXmpPagePatch9} +\pastebutton{TableXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{t (x**3 + 1)\free{p3 }} +\end{paste}\end{patch} + +\begin{patch}{TableXmpPagePatch10} +\begin{paste}{TableXmpPageFull10}{TableXmpPageEmpty10} +\pastebutton{TableXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{keys t\free{p3 }} +\indentrel{3}\begin{verbatim} + 3 2 + (10) [x,x + 1,x - 1] + Type: List Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TableXmpPageEmpty10} +\begin{paste}{TableXmpPageEmpty10}{TableXmpPagePatch10} +\pastebutton{TableXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{keys t\free{p3 }} +\end{paste}\end{patch} + +\begin{patch}{TableXmpPagePatch11} +\begin{paste}{TableXmpPageFull11}{TableXmpPageEmpty11} +\pastebutton{TableXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{search(x, t)\free{p3 }} +\indentrel{3}\begin{verbatim} + (11) "The easiest to factor" + Type: Union(String,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TableXmpPageEmpty11} +\begin{paste}{TableXmpPageEmpty11}{TableXmpPagePatch11} +\pastebutton{TableXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{search(x, t)\free{p3 }} +\end{paste}\end{patch} + +\begin{patch}{TableXmpPagePatch12} +\begin{paste}{TableXmpPageFull12}{TableXmpPageEmpty12} +\pastebutton{TableXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{search(x**2, t)\free{p3 }} +\indentrel{3}\begin{verbatim} + (12) "failed" + Type: Union("failed",...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TableXmpPageEmpty12} +\begin{paste}{TableXmpPageEmpty12}{TableXmpPagePatch12} +\pastebutton{TableXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{search(x**2, t)\free{p3 }} +\end{paste}\end{patch} + +\begin{patch}{TableXmpPagePatch13} +\begin{paste}{TableXmpPageFull13}{TableXmpPageEmpty13} +\pastebutton{TableXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{search(x**2, t) case "failed"\free{p3 }} +\indentrel{3}\begin{verbatim} + (13) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TableXmpPageEmpty13} +\begin{paste}{TableXmpPageEmpty13}{TableXmpPagePatch13} +\pastebutton{TableXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{search(x**2, t) case "failed"\free{p3 }} +\end{paste}\end{patch} + +\begin{patch}{TableXmpPagePatch14} +\begin{paste}{TableXmpPageFull14}{TableXmpPageEmpty14} +\pastebutton{TableXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{remove!(x**2-1, t)\free{p3 }\bound{p4 }} +\indentrel{3}\begin{verbatim} + (14) "Easy to factor" + Type: Union(String,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TableXmpPageEmpty14} +\begin{paste}{TableXmpPageEmpty14}{TableXmpPagePatch14} +\pastebutton{TableXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{remove!(x**2-1, t)\free{p3 }\bound{p4 }} +\end{paste}\end{patch} + +\begin{patch}{TableXmpPagePatch15} +\begin{paste}{TableXmpPageFull15}{TableXmpPageEmpty15} +\pastebutton{TableXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{remove!(x-1, t)\free{p4 }\bound{p5 }} +\indentrel{3}\begin{verbatim} + (15) "failed" + Type: Union("failed",...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TableXmpPageEmpty15} +\begin{paste}{TableXmpPageEmpty15}{TableXmpPagePatch15} +\pastebutton{TableXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{remove!(x-1, t)\free{p4 }\bound{p5 }} +\end{paste}\end{patch} + +\begin{patch}{TableXmpPagePatch16} +\begin{paste}{TableXmpPageFull16}{TableXmpPageEmpty16} +\pastebutton{TableXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{\#t\free{p5 }} +\indentrel{3}\begin{verbatim} + (16) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TableXmpPageEmpty16} +\begin{paste}{TableXmpPageEmpty16}{TableXmpPagePatch16} +\pastebutton{TableXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{\#t\free{p5 }} +\end{paste}\end{patch} + +\begin{patch}{TableXmpPagePatch17} +\begin{paste}{TableXmpPageFull17}{TableXmpPageEmpty17} +\pastebutton{TableXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{members t\free{p5 }} +\indentrel{3}\begin{verbatim} + (17) ["The easiest to factor","Harder to factor"] + Type: List String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TableXmpPageEmpty17} +\begin{paste}{TableXmpPageEmpty17}{TableXmpPagePatch17} +\pastebutton{TableXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{members t\free{p5 }} +\end{paste}\end{patch} + +\begin{patch}{TableXmpPagePatch18} +\begin{paste}{TableXmpPageFull18}{TableXmpPageEmpty18} +\pastebutton{TableXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{count(s: String +-> prefix?("Hard", s), t)\free{p5 }} +\indentrel{3}\begin{verbatim} + (18) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TableXmpPageEmpty18} +\begin{paste}{TableXmpPageEmpty18}{TableXmpPagePatch18} +\pastebutton{TableXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{count(s: String +-> prefix?("Hard", s), t)\free{p5 }} +\end{paste}\end{patch} + @ \section{textfile.ht} \pagehead{TextFileXmpPage}{textfile.ht}{TextFile} @@ -20718,7 +58114,185 @@ For more information on related topics, see \endscroll \autobuttons \end{page} -% + +\begin{patch}{TextFileXmpPagePatch1} +\begin{paste}{TextFileXmpPageFull1}{TextFileXmpPageEmpty1} +\pastebutton{TextFileXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{f1: TextFile := open("/etc/group", "input")\bound{f1 }} +\indentrel{3}\begin{verbatim} + (1) "/etc/group" + Type: TextFile +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TextFileXmpPageEmpty1} +\begin{paste}{TextFileXmpPageEmpty1}{TextFileXmpPagePatch1} +\pastebutton{TextFileXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{f1: TextFile := open("/etc/group", "input")\bound{f1 }} +\end{paste}\end{patch} + +\begin{patch}{TextFileXmpPagePatch2} +\begin{paste}{TextFileXmpPageFull2}{TextFileXmpPageEmpty2} +\pastebutton{TextFileXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{f2: TextFile := open("/tmp/MOTD", "output")\bound{f2 }} +\indentrel{3}\begin{verbatim} + (2) "/tmp/MOTD" + Type: TextFile +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TextFileXmpPageEmpty2} +\begin{paste}{TextFileXmpPageEmpty2}{TextFileXmpPagePatch2} +\pastebutton{TextFileXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{f2: TextFile := open("/tmp/MOTD", "output")\bound{f2 }} +\end{paste}\end{patch} + +\begin{patch}{TextFileXmpPagePatch3} +\begin{paste}{TextFileXmpPageFull3}{TextFileXmpPageEmpty3} +\pastebutton{TextFileXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{l := readLine! f1\free{f1 }\bound{l }} +\indentrel{3}\begin{verbatim} + (3) "system:*:0:root" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TextFileXmpPageEmpty3} +\begin{paste}{TextFileXmpPageEmpty3}{TextFileXmpPagePatch3} +\pastebutton{TextFileXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{l := readLine! f1\free{f1 }\bound{l }} +\end{paste}\end{patch} + +\begin{patch}{TextFileXmpPagePatch4} +\begin{paste}{TextFileXmpPageFull4}{TextFileXmpPageEmpty4} +\pastebutton{TextFileXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{writeLine!(f2, upperCase l)\free{f2 l }} +\indentrel{3}\begin{verbatim} + (4) "SYSTEM:*:0:ROOT" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TextFileXmpPageEmpty4} +\begin{paste}{TextFileXmpPageEmpty4}{TextFileXmpPagePatch4} +\pastebutton{TextFileXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{writeLine!(f2, upperCase l)\free{f2 l }} +\end{paste}\end{patch} + +\begin{patch}{TextFileXmpPagePatch5} +\begin{paste}{TextFileXmpPageFull5}{TextFileXmpPageEmpty5} +\pastebutton{TextFileXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{while not endOfFile? f1 repeat + s := readLine! f1 + writeLine!(f2, upperCase s) +\free{f1 f2 }\bound{Copied }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TextFileXmpPageEmpty5} +\begin{paste}{TextFileXmpPageEmpty5}{TextFileXmpPagePatch5} +\pastebutton{TextFileXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{while not endOfFile? f1 repeat + s := readLine! f1 + writeLine!(f2, upperCase s) +\free{f1 f2 }\bound{Copied }} +\end{paste}\end{patch} + +\begin{patch}{TextFileXmpPagePatch6} +\begin{paste}{TextFileXmpPageFull6}{TextFileXmpPageEmpty6} +\pastebutton{TextFileXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{close! f1\free{Copied }\bound{closed1 }} +\indentrel{3}\begin{verbatim} + (6) "/etc/group" + Type: TextFile +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TextFileXmpPageEmpty6} +\begin{paste}{TextFileXmpPageEmpty6}{TextFileXmpPagePatch6} +\pastebutton{TextFileXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{close! f1\free{Copied }\bound{closed1 }} +\end{paste}\end{patch} + +\begin{patch}{TextFileXmpPagePatch7} +\begin{paste}{TextFileXmpPageFull7}{TextFileXmpPageEmpty7} +\pastebutton{TextFileXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{write!(f2, "-The-")\free{Copied }\bound{tthhee }} +\indentrel{3}\begin{verbatim} + (7) "-The-" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TextFileXmpPageEmpty7} +\begin{paste}{TextFileXmpPageEmpty7}{TextFileXmpPagePatch7} +\pastebutton{TextFileXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{write!(f2, "-The-")\free{Copied }\bound{tthhee }} +\end{paste}\end{patch} + +\begin{patch}{TextFileXmpPagePatch8} +\begin{paste}{TextFileXmpPageFull8}{TextFileXmpPageEmpty8} +\pastebutton{TextFileXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{write!(f2, "-End-")\free{tthhee }\bound{eenndd }} +\indentrel{3}\begin{verbatim} + (8) "-End-" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TextFileXmpPageEmpty8} +\begin{paste}{TextFileXmpPageEmpty8}{TextFileXmpPagePatch8} +\pastebutton{TextFileXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{write!(f2, "-End-")\free{tthhee }\bound{eenndd }} +\end{paste}\end{patch} + +\begin{patch}{TextFileXmpPagePatch9} +\begin{paste}{TextFileXmpPageFull9}{TextFileXmpPageEmpty9} +\pastebutton{TextFileXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{writeLine! f2\free{eenndd }\bound{LastLine }} +\indentrel{3}\begin{verbatim} + (9) "" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TextFileXmpPageEmpty9} +\begin{paste}{TextFileXmpPageEmpty9}{TextFileXmpPagePatch9} +\pastebutton{TextFileXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{writeLine! f2\free{eenndd }\bound{LastLine }} +\end{paste}\end{patch} + +\begin{patch}{TextFileXmpPagePatch10} +\begin{paste}{TextFileXmpPageFull10}{TextFileXmpPageEmpty10} +\pastebutton{TextFileXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{close! f2\free{LastLine }\bound{closed2 }} +\indentrel{3}\begin{verbatim} + (10) "/tmp/MOTD" + Type: TextFile +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TextFileXmpPageEmpty10} +\begin{paste}{TextFileXmpPageEmpty10}{TextFileXmpPagePatch10} +\pastebutton{TextFileXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{close! f2\free{LastLine }\bound{closed2 }} +\end{paste}\end{patch} + +\begin{patch}{TextFileXmpPagePatch11} +\begin{paste}{TextFileXmpPageFull11}{TextFileXmpPageEmpty11} +\pastebutton{TextFileXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{)system rm /tmp/MOTD\free{closed2 }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{TextFileXmpPageEmpty11} +\begin{paste}{TextFileXmpPageEmpty11}{TextFileXmpPagePatch11} +\pastebutton{TextFileXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{)system rm /tmp/MOTD\free{closed2 }} +\end{paste}\end{patch} @ \section{topics.ht} @@ -21091,7 +58665,150 @@ For more information on related topics, see \endscroll \autobuttons \end{page} -% + +\begin{patch}{UniversalSegmentXmpPagePatch1} +\begin{paste}{UniversalSegmentXmpPageFull1}{UniversalSegmentXmpPageEmpty1} +\pastebutton{UniversalSegmentXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{pints := 1..\bound{pints }} +\indentrel{3}\begin{verbatim} + (1) 1.. + Type: UniversalSegment PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UniversalSegmentXmpPageEmpty1} +\begin{paste}{UniversalSegmentXmpPageEmpty1}{UniversalSegmentXmpPagePatch1} +\pastebutton{UniversalSegmentXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{pints := 1..\bound{pints }} +\end{paste}\end{patch} + +\begin{patch}{UniversalSegmentXmpPagePatch2} +\begin{paste}{UniversalSegmentXmpPageFull2}{UniversalSegmentXmpPageEmpty2} +\pastebutton{UniversalSegmentXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{nevens := (0..) by -2\bound{nevens }} +\indentrel{3}\begin{verbatim} + (2) 0.. by - 2 + Type: UniversalSegment NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UniversalSegmentXmpPageEmpty2} +\begin{paste}{UniversalSegmentXmpPageEmpty2}{UniversalSegmentXmpPagePatch2} +\pastebutton{UniversalSegmentXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{nevens := (0..) by -2\bound{nevens }} +\end{paste}\end{patch} + +\begin{patch}{UniversalSegmentXmpPagePatch3} +\begin{paste}{UniversalSegmentXmpPageFull3}{UniversalSegmentXmpPageEmpty3} +\pastebutton{UniversalSegmentXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{useg: UniversalSegment(Integer) := 3..10\bound{useg }} +\indentrel{3}\begin{verbatim} + (3) 3..10 + Type: UniversalSegment Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UniversalSegmentXmpPageEmpty3} +\begin{paste}{UniversalSegmentXmpPageEmpty3}{UniversalSegmentXmpPagePatch3} +\pastebutton{UniversalSegmentXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{useg: UniversalSegment(Integer) := 3..10\bound{useg }} +\end{paste}\end{patch} + +\begin{patch}{UniversalSegmentXmpPagePatch4} +\begin{paste}{UniversalSegmentXmpPageFull4}{UniversalSegmentXmpPageEmpty4} +\pastebutton{UniversalSegmentXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{hasHi pints\free{pints }} +\indentrel{3}\begin{verbatim} + (4) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UniversalSegmentXmpPageEmpty4} +\begin{paste}{UniversalSegmentXmpPageEmpty4}{UniversalSegmentXmpPagePatch4} +\pastebutton{UniversalSegmentXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{hasHi pints\free{pints }} +\end{paste}\end{patch} + +\begin{patch}{UniversalSegmentXmpPagePatch5} +\begin{paste}{UniversalSegmentXmpPageFull5}{UniversalSegmentXmpPageEmpty5} +\pastebutton{UniversalSegmentXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{hasHi nevens\free{nevens }} +\indentrel{3}\begin{verbatim} + (5) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UniversalSegmentXmpPageEmpty5} +\begin{paste}{UniversalSegmentXmpPageEmpty5}{UniversalSegmentXmpPagePatch5} +\pastebutton{UniversalSegmentXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{hasHi nevens\free{nevens }} +\end{paste}\end{patch} + +\begin{patch}{UniversalSegmentXmpPagePatch6} +\begin{paste}{UniversalSegmentXmpPageFull6}{UniversalSegmentXmpPageEmpty6} +\pastebutton{UniversalSegmentXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{hasHi useg\free{useg }} +\indentrel{3}\begin{verbatim} + (6) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UniversalSegmentXmpPageEmpty6} +\begin{paste}{UniversalSegmentXmpPageEmpty6}{UniversalSegmentXmpPagePatch6} +\pastebutton{UniversalSegmentXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{hasHi useg\free{useg }} +\end{paste}\end{patch} + +\begin{patch}{UniversalSegmentXmpPagePatch7} +\begin{paste}{UniversalSegmentXmpPageFull7}{UniversalSegmentXmpPageEmpty7} +\pastebutton{UniversalSegmentXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{expand pints\free{pints }} +\indentrel{3}\begin{verbatim} + (7) [1,2,3,4,5,6,7,8,9,10,...] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UniversalSegmentXmpPageEmpty7} +\begin{paste}{UniversalSegmentXmpPageEmpty7}{UniversalSegmentXmpPagePatch7} +\pastebutton{UniversalSegmentXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{expand pints\free{pints }} +\end{paste}\end{patch} + +\begin{patch}{UniversalSegmentXmpPagePatch8} +\begin{paste}{UniversalSegmentXmpPageFull8}{UniversalSegmentXmpPageEmpty8} +\pastebutton{UniversalSegmentXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{expand nevens\free{nevens }} +\indentrel{3}\begin{verbatim} + (8) [0,- 2,- 4,- 6,- 8,- 10,- 12,- 14,- 16,- 18,...] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UniversalSegmentXmpPageEmpty8} +\begin{paste}{UniversalSegmentXmpPageEmpty8}{UniversalSegmentXmpPagePatch8} +\pastebutton{UniversalSegmentXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{expand nevens\free{nevens }} +\end{paste}\end{patch} + +\begin{patch}{UniversalSegmentXmpPagePatch9} +\begin{paste}{UniversalSegmentXmpPageFull9}{UniversalSegmentXmpPageEmpty9} +\pastebutton{UniversalSegmentXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{expand [1, 3, 10..15, 100..]} +\indentrel{3}\begin{verbatim} + (9) [1,3,10,11,12,13,14,15,100,101,...] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UniversalSegmentXmpPageEmpty9} +\begin{paste}{UniversalSegmentXmpPageEmpty9}{UniversalSegmentXmpPagePatch9} +\pastebutton{UniversalSegmentXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{expand [1, 3, 10..15, 100..]} +\end{paste}\end{patch} @ \section{up.ht} @@ -21375,6 +59092,618 @@ Section 2.7\ignore{ugTypesConvert}, \autobuttons \end{page} +\begin{patch}{UnivariatePolyXmpPagePatch1} +\begin{paste}{UnivariatePolyXmpPageFull1}{UnivariatePolyXmpPageEmpty1} +\pastebutton{UnivariatePolyXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{(p,q) : UP(x,INT)\bound{pdec }\bound{qdec }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty1} +\begin{paste}{UnivariatePolyXmpPageEmpty1}{UnivariatePolyXmpPagePatch1} +\pastebutton{UnivariatePolyXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{(p,q) : UP(x,INT)\bound{pdec }\bound{qdec }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch2} +\begin{paste}{UnivariatePolyXmpPageFull2}{UnivariatePolyXmpPageEmpty2} +\pastebutton{UnivariatePolyXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{p := (3*x-1)**2 * (2*x + 8)\free{pdec }\bound{p }} +\indentrel{3}\begin{verbatim} + 3 2 + (2) 18x + 60x - 46x + 8 + Type: UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty2} +\begin{paste}{UnivariatePolyXmpPageEmpty2}{UnivariatePolyXmpPagePatch2} +\pastebutton{UnivariatePolyXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{p := (3*x-1)**2 * (2*x + 8)\free{pdec }\bound{p }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch3} +\begin{paste}{UnivariatePolyXmpPageFull3}{UnivariatePolyXmpPageEmpty3} +\pastebutton{UnivariatePolyXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{q := (1 - 6*x + 9*x**2)**2\free{qdec }\bound{q }} +\indentrel{3}\begin{verbatim} + 4 3 2 + (3) 81x - 108x + 54x - 12x + 1 + Type: UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty3} +\begin{paste}{UnivariatePolyXmpPageEmpty3}{UnivariatePolyXmpPagePatch3} +\pastebutton{UnivariatePolyXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{q := (1 - 6*x + 9*x**2)**2\free{qdec }\bound{q }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch4} +\begin{paste}{UnivariatePolyXmpPageFull4}{UnivariatePolyXmpPageEmpty4} +\pastebutton{UnivariatePolyXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{p**2 + p*q\free{p q }} +\indentrel{3}\begin{verbatim} + (4) + 7 6 5 4 3 2 + 1458x + 3240x - 7074x + 10584x - 9282x + 4120x + + + - 878x + 72 + Type: UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty4} +\begin{paste}{UnivariatePolyXmpPageEmpty4}{UnivariatePolyXmpPagePatch4} +\pastebutton{UnivariatePolyXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{p**2 + p*q\free{p q }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch5} +\begin{paste}{UnivariatePolyXmpPageFull5}{UnivariatePolyXmpPageEmpty5} +\pastebutton{UnivariatePolyXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{leadingCoefficient p\free{p }} +\indentrel{3}\begin{verbatim} + (5) 18 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty5} +\begin{paste}{UnivariatePolyXmpPageEmpty5}{UnivariatePolyXmpPagePatch5} +\pastebutton{UnivariatePolyXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{leadingCoefficient p\free{p }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch6} +\begin{paste}{UnivariatePolyXmpPageFull6}{UnivariatePolyXmpPageEmpty6} +\pastebutton{UnivariatePolyXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{degree p\free{p }} +\indentrel{3}\begin{verbatim} + (6) 3 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty6} +\begin{paste}{UnivariatePolyXmpPageEmpty6}{UnivariatePolyXmpPagePatch6} +\pastebutton{UnivariatePolyXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{degree p\free{p }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch7} +\begin{paste}{UnivariatePolyXmpPageFull7}{UnivariatePolyXmpPageEmpty7} +\pastebutton{UnivariatePolyXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{reductum p\free{p }} +\indentrel{3}\begin{verbatim} + 2 + (7) 60x - 46x + 8 + Type: UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty7} +\begin{paste}{UnivariatePolyXmpPageEmpty7}{UnivariatePolyXmpPagePatch7} +\pastebutton{UnivariatePolyXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{reductum p\free{p }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch8} +\begin{paste}{UnivariatePolyXmpPageFull8}{UnivariatePolyXmpPageEmpty8} +\pastebutton{UnivariatePolyXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{gcd(p,q)\free{p q }} +\indentrel{3}\begin{verbatim} + 2 + (8) 9x - 6x + 1 + Type: UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty8} +\begin{paste}{UnivariatePolyXmpPageEmpty8}{UnivariatePolyXmpPagePatch8} +\pastebutton{UnivariatePolyXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{gcd(p,q)\free{p q }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch9} +\begin{paste}{UnivariatePolyXmpPageFull9}{UnivariatePolyXmpPageEmpty9} +\pastebutton{UnivariatePolyXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{lcm(p,q)\free{p q }} +\indentrel{3}\begin{verbatim} + 5 4 3 2 + (9) 162x + 432x - 756x + 408x - 94x + 8 + Type: UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty9} +\begin{paste}{UnivariatePolyXmpPageEmpty9}{UnivariatePolyXmpPagePatch9} +\pastebutton{UnivariatePolyXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{lcm(p,q)\free{p q }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch10} +\begin{paste}{UnivariatePolyXmpPageFull10}{UnivariatePolyXmpPageEmpty10} +\pastebutton{UnivariatePolyXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{resultant(p,q)\free{p q }} +\indentrel{3}\begin{verbatim} + (10) 0 + Type: NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty10} +\begin{paste}{UnivariatePolyXmpPageEmpty10}{UnivariatePolyXmpPagePatch10} +\pastebutton{UnivariatePolyXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{resultant(p,q)\free{p q }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch11} +\begin{paste}{UnivariatePolyXmpPageFull11}{UnivariatePolyXmpPageEmpty11} +\pastebutton{UnivariatePolyXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{D p\free{p }} +\indentrel{3}\begin{verbatim} + 2 + (11) 54x + 120x - 46 + Type: UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty11} +\begin{paste}{UnivariatePolyXmpPageEmpty11}{UnivariatePolyXmpPagePatch11} +\pastebutton{UnivariatePolyXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{D p\free{p }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch12} +\begin{paste}{UnivariatePolyXmpPageFull12}{UnivariatePolyXmpPageEmpty12} +\pastebutton{UnivariatePolyXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{p(2)\free{p }} +\indentrel{3}\begin{verbatim} + (12) 300 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty12} +\begin{paste}{UnivariatePolyXmpPageEmpty12}{UnivariatePolyXmpPagePatch12} +\pastebutton{UnivariatePolyXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{p(2)\free{p }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch13} +\begin{paste}{UnivariatePolyXmpPageFull13}{UnivariatePolyXmpPageEmpty13} +\pastebutton{UnivariatePolyXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{p(q)\free{p q }} +\indentrel{3}\begin{verbatim} + (13) + 12 11 10 9 + 9565938x - 38263752x + 70150212x - 77944680x + + + 8 7 6 5 + 58852170x - 32227632x + 13349448x - 4280688x + + + 4 3 2 + 1058184x - 192672x + 23328x - 1536x + 40 + Type: UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty13} +\begin{paste}{UnivariatePolyXmpPageEmpty13}{UnivariatePolyXmpPagePatch13} +\pastebutton{UnivariatePolyXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{p(q)\free{p q }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch14} +\begin{paste}{UnivariatePolyXmpPageFull14}{UnivariatePolyXmpPageEmpty14} +\pastebutton{UnivariatePolyXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{q(p)\free{p q }} +\indentrel{3}\begin{verbatim} + (14) + 12 11 10 + 8503056x + 113374080x + 479950272x + + + 9 8 7 + 404997408x - 1369516896x - 626146848x + + + 6 5 4 + 2939858712x - 2780728704x + 1364312160x + + + 3 2 + - 396838872x + 69205896x - 6716184x + 279841 + Type: UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty14} +\begin{paste}{UnivariatePolyXmpPageEmpty14}{UnivariatePolyXmpPagePatch14} +\pastebutton{UnivariatePolyXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{q(p)\free{p q }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch15} +\begin{paste}{UnivariatePolyXmpPageFull15}{UnivariatePolyXmpPageEmpty15} +\pastebutton{UnivariatePolyXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{l := coefficients p\free{p }\bound{l }} +\indentrel{3}\begin{verbatim} + (15) [18,60,- 46,8] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty15} +\begin{paste}{UnivariatePolyXmpPageEmpty15}{UnivariatePolyXmpPagePatch15} +\pastebutton{UnivariatePolyXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{l := coefficients p\free{p }\bound{l }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch16} +\begin{paste}{UnivariatePolyXmpPageFull16}{UnivariatePolyXmpPageEmpty16} +\pastebutton{UnivariatePolyXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{reduce(gcd,l)\free{l }} +\indentrel{3}\begin{verbatim} + (16) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty16} +\begin{paste}{UnivariatePolyXmpPageEmpty16}{UnivariatePolyXmpPagePatch16} +\pastebutton{UnivariatePolyXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{reduce(gcd,l)\free{l }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch17} +\begin{paste}{UnivariatePolyXmpPageFull17}{UnivariatePolyXmpPageEmpty17} +\pastebutton{UnivariatePolyXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{content p\free{p }} +\indentrel{3}\begin{verbatim} + (17) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty17} +\begin{paste}{UnivariatePolyXmpPageEmpty17}{UnivariatePolyXmpPagePatch17} +\pastebutton{UnivariatePolyXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{content p\free{p }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch18} +\begin{paste}{UnivariatePolyXmpPageFull18}{UnivariatePolyXmpPageEmpty18} +\pastebutton{UnivariatePolyXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{ux := (x**4+2*x+3)::UP(x,INT)\bound{ux }} +\indentrel{3}\begin{verbatim} + 4 + (18) x + 2x + 3 + Type: UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty18} +\begin{paste}{UnivariatePolyXmpPageEmpty18}{UnivariatePolyXmpPagePatch18} +\pastebutton{UnivariatePolyXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{ux := (x**4+2*x+3)::UP(x,INT)\bound{ux }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch19} +\begin{paste}{UnivariatePolyXmpPageFull19}{UnivariatePolyXmpPageEmpty19} +\pastebutton{UnivariatePolyXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{vectorise(ux,5)\free{ux }} +\indentrel{3}\begin{verbatim} + (19) [3,2,0,0,1] + Type: Vector Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty19} +\begin{paste}{UnivariatePolyXmpPageEmpty19}{UnivariatePolyXmpPagePatch19} +\pastebutton{UnivariatePolyXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{vectorise(ux,5)\free{ux }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch20} +\begin{paste}{UnivariatePolyXmpPageFull20}{UnivariatePolyXmpPageEmpty20} +\pastebutton{UnivariatePolyXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{squareTerms(p) == + reduce(+,[t**2 for t in monomials p]) +\bound{squareTerms }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty20} +\begin{paste}{UnivariatePolyXmpPageEmpty20}{UnivariatePolyXmpPagePatch20} +\pastebutton{UnivariatePolyXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{squareTerms(p) == + reduce(+,[t**2 for t in monomials p]) +\bound{squareTerms }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch21} +\begin{paste}{UnivariatePolyXmpPageFull21}{UnivariatePolyXmpPageEmpty21} +\pastebutton{UnivariatePolyXmpPageFull21}{\hidepaste} +\tab{5}\spadcommand{p\free{p }} +\indentrel{3}\begin{verbatim} + 3 2 + (21) 18x + 60x - 46x + 8 + Type: UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty21} +\begin{paste}{UnivariatePolyXmpPageEmpty21}{UnivariatePolyXmpPagePatch21} +\pastebutton{UnivariatePolyXmpPageEmpty21}{\showpaste} +\tab{5}\spadcommand{p\free{p }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch22} +\begin{paste}{UnivariatePolyXmpPageFull22}{UnivariatePolyXmpPageEmpty22} +\pastebutton{UnivariatePolyXmpPageFull22}{\hidepaste} +\tab{5}\spadcommand{squareTerms p\free{p }\free{squareTerms }} +\indentrel{3}\begin{verbatim} + 6 4 2 + (22) 324x + 3600x + 2116x + 64 + Type: UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty22} +\begin{paste}{UnivariatePolyXmpPageEmpty22}{UnivariatePolyXmpPagePatch22} +\pastebutton{UnivariatePolyXmpPageEmpty22}{\showpaste} +\tab{5}\spadcommand{squareTerms p\free{p }\free{squareTerms }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch23} +\begin{paste}{UnivariatePolyXmpPageFull23}{UnivariatePolyXmpPageEmpty23} +\pastebutton{UnivariatePolyXmpPageFull23}{\hidepaste} +\tab{5}\spadcommand{(r,s) : UP(a1,FRAC INT)\bound{rdec }\bound{sdec }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty23} +\begin{paste}{UnivariatePolyXmpPageEmpty23}{UnivariatePolyXmpPagePatch23} +\pastebutton{UnivariatePolyXmpPageEmpty23}{\showpaste} +\tab{5}\spadcommand{(r,s) : UP(a1,FRAC INT)\bound{rdec }\bound{sdec }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch24} +\begin{paste}{UnivariatePolyXmpPageFull24}{UnivariatePolyXmpPageEmpty24} +\pastebutton{UnivariatePolyXmpPageFull24}{\hidepaste} +\tab{5}\spadcommand{r := a1**2 - 2/3\free{rdec }\bound{r }} +\indentrel{3}\begin{verbatim} + 2 2 + (24) a1 - Ä + 3 + Type: UnivariatePolynomial(a1,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty24} +\begin{paste}{UnivariatePolyXmpPageEmpty24}{UnivariatePolyXmpPagePatch24} +\pastebutton{UnivariatePolyXmpPageEmpty24}{\showpaste} +\tab{5}\spadcommand{r := a1**2 - 2/3\free{rdec }\bound{r }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch25} +\begin{paste}{UnivariatePolyXmpPageFull25}{UnivariatePolyXmpPageEmpty25} +\pastebutton{UnivariatePolyXmpPageFull25}{\hidepaste} +\tab{5}\spadcommand{s := a1 + 4\free{sdec }\bound{s }} +\indentrel{3}\begin{verbatim} + (25) a1 + 4 + Type: UnivariatePolynomial(a1,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty25} +\begin{paste}{UnivariatePolyXmpPageEmpty25}{UnivariatePolyXmpPagePatch25} +\pastebutton{UnivariatePolyXmpPageEmpty25}{\showpaste} +\tab{5}\spadcommand{s := a1 + 4\free{sdec }\bound{s }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch26} +\begin{paste}{UnivariatePolyXmpPageFull26}{UnivariatePolyXmpPageEmpty26} +\pastebutton{UnivariatePolyXmpPageFull26}{\hidepaste} +\tab{5}\spadcommand{r quo s\free{r s }} +\indentrel{3}\begin{verbatim} + (26) a1 - 4 + Type: UnivariatePolynomial(a1,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty26} +\begin{paste}{UnivariatePolyXmpPageEmpty26}{UnivariatePolyXmpPagePatch26} +\pastebutton{UnivariatePolyXmpPageEmpty26}{\showpaste} +\tab{5}\spadcommand{r quo s\free{r s }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch27} +\begin{paste}{UnivariatePolyXmpPageFull27}{UnivariatePolyXmpPageEmpty27} +\pastebutton{UnivariatePolyXmpPageFull27}{\hidepaste} +\tab{5}\spadcommand{r rem s\free{r s }} +\indentrel{3}\begin{verbatim} + 46 + (27) ÄÄ + 3 + Type: UnivariatePolynomial(a1,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty27} +\begin{paste}{UnivariatePolyXmpPageEmpty27}{UnivariatePolyXmpPagePatch27} +\pastebutton{UnivariatePolyXmpPageEmpty27}{\showpaste} +\tab{5}\spadcommand{r rem s\free{r s }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch28} +\begin{paste}{UnivariatePolyXmpPageFull28}{UnivariatePolyXmpPageEmpty28} +\pastebutton{UnivariatePolyXmpPageFull28}{\hidepaste} +\tab{5}\spadcommand{d := divide(r, s)\free{r s }\bound{d }} +\indentrel{3}\begin{verbatim} + 46 + (28) [quotient= a1 - 4,remainder= ÄÄ] + 3 +Type: Record(quotient: UnivariatePolynomial(a1,Fraction Integer),remainder: UnivariatePolynomial(a1,Fraction Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty28} +\begin{paste}{UnivariatePolyXmpPageEmpty28}{UnivariatePolyXmpPagePatch28} +\pastebutton{UnivariatePolyXmpPageEmpty28}{\showpaste} +\tab{5}\spadcommand{d := divide(r, s)\free{r s }\bound{d }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch29} +\begin{paste}{UnivariatePolyXmpPageFull29}{UnivariatePolyXmpPageEmpty29} +\pastebutton{UnivariatePolyXmpPageFull29}{\hidepaste} +\tab{5}\spadcommand{r - (d.quotient * s + d.remainder)\free{r s d }} +\indentrel{3}\begin{verbatim} + (29) 0 + Type: UnivariatePolynomial(a1,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty29} +\begin{paste}{UnivariatePolyXmpPageEmpty29}{UnivariatePolyXmpPagePatch29} +\pastebutton{UnivariatePolyXmpPageEmpty29}{\showpaste} +\tab{5}\spadcommand{r - (d.quotient * s + d.remainder)\free{r s d }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch30} +\begin{paste}{UnivariatePolyXmpPageFull30}{UnivariatePolyXmpPageEmpty30} +\pastebutton{UnivariatePolyXmpPageFull30}{\hidepaste} +\tab{5}\spadcommand{integrate r\free{r }} +\indentrel{3}\begin{verbatim} + 1 3 2 + (30) Ä a1 - Ä a1 + 3 3 + Type: UnivariatePolynomial(a1,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty30} +\begin{paste}{UnivariatePolyXmpPageEmpty30}{UnivariatePolyXmpPagePatch30} +\pastebutton{UnivariatePolyXmpPageEmpty30}{\showpaste} +\tab{5}\spadcommand{integrate r\free{r }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch31} +\begin{paste}{UnivariatePolyXmpPageFull31}{UnivariatePolyXmpPageEmpty31} +\pastebutton{UnivariatePolyXmpPageFull31}{\hidepaste} +\tab{5}\spadcommand{integrate s\free{s }} +\indentrel{3}\begin{verbatim} + 1 2 + (31) Ä a1 + 4a1 + 2 + Type: UnivariatePolynomial(a1,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty31} +\begin{paste}{UnivariatePolyXmpPageEmpty31}{UnivariatePolyXmpPagePatch31} +\pastebutton{UnivariatePolyXmpPageEmpty31}{\showpaste} +\tab{5}\spadcommand{integrate s\free{s }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch32} +\begin{paste}{UnivariatePolyXmpPageFull32}{UnivariatePolyXmpPageEmpty32} +\pastebutton{UnivariatePolyXmpPageFull32}{\hidepaste} +\tab{5}\spadcommand{t : UP(a1,FRAC POLY INT)\bound{tdec }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty32} +\begin{paste}{UnivariatePolyXmpPageEmpty32}{UnivariatePolyXmpPagePatch32} +\pastebutton{UnivariatePolyXmpPageEmpty32}{\showpaste} +\tab{5}\spadcommand{t : UP(a1,FRAC POLY INT)\bound{tdec }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch33} +\begin{paste}{UnivariatePolyXmpPageFull33}{UnivariatePolyXmpPageEmpty33} +\pastebutton{UnivariatePolyXmpPageFull33}{\hidepaste} +\tab{5}\spadcommand{t := a1**2 - a1/b2 + (b1**2-b1)/(b2+3)\free{tdec }\bound{t }} +\indentrel{3}\begin{verbatim} + 2 + 2 1 b1 - b1 + (33) a1 - ÄÄ a1 + ÄÄÄÄÄÄÄÄ + b2 b2 + 3 +Type: UnivariatePolynomial(a1,Fraction Polynomial Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty33} +\begin{paste}{UnivariatePolyXmpPageEmpty33}{UnivariatePolyXmpPagePatch33} +\pastebutton{UnivariatePolyXmpPageEmpty33}{\showpaste} +\tab{5}\spadcommand{t := a1**2 - a1/b2 + (b1**2-b1)/(b2+3)\free{tdec }\bound{t }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch34} +\begin{paste}{UnivariatePolyXmpPageFull34}{UnivariatePolyXmpPageEmpty34} +\pastebutton{UnivariatePolyXmpPageFull34}{\hidepaste} +\tab{5}\spadcommand{u : FRAC POLY INT := t\bound{u }\free{t }} +\indentrel{3}\begin{verbatim} + 2 2 2 2 + a1 b2 + (b1 - b1 + 3a1 - a1)b2 - 3a1 + (34) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 2 + b2 + 3b2 + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty34} +\begin{paste}{UnivariatePolyXmpPageEmpty34}{UnivariatePolyXmpPagePatch34} +\pastebutton{UnivariatePolyXmpPageEmpty34}{\showpaste} +\tab{5}\spadcommand{u : FRAC POLY INT := t\bound{u }\free{t }} +\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPagePatch35} +\begin{paste}{UnivariatePolyXmpPageFull35}{UnivariatePolyXmpPageEmpty35} +\pastebutton{UnivariatePolyXmpPageFull35}{\hidepaste} +\tab{5}\spadcommand{u :: UP(b1,?)\free{u }} +\indentrel{3}\begin{verbatim} + 2 + 1 2 1 a1 b2 - a1 + (35) ÄÄÄÄÄÄ b1 - ÄÄÄÄÄÄ b1 + ÄÄÄÄÄÄÄÄÄÄ + b2 + 3 b2 + 3 b2 +Type: UnivariatePolynomial(b1,Fraction Polynomial Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UnivariatePolyXmpPageEmpty35} +\begin{paste}{UnivariatePolyXmpPageEmpty35}{UnivariatePolyXmpPagePatch35} +\pastebutton{UnivariatePolyXmpPageEmpty35}{\showpaste} +\tab{5}\spadcommand{u :: UP(b1,?)\free{u }} +\end{paste}\end{patch} + @ \section{vector.ht} \pagehead{VectorXmpPage}{vector.ht}{Vector} @@ -21488,7 +59817,182 @@ to display the full list of operations defined by \endscroll \autobuttons \end{page} -% + +\begin{patch}{VectorXmpPagePatch1} +\begin{paste}{VectorXmpPageFull1}{VectorXmpPageEmpty1} +\pastebutton{VectorXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{u : VECTOR INT := new(5,12)\bound{u }} +\indentrel{3}\begin{verbatim} + (1) [12,12,12,12,12] + Type: Vector Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{VectorXmpPageEmpty1} +\begin{paste}{VectorXmpPageEmpty1}{VectorXmpPagePatch1} +\pastebutton{VectorXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{u : VECTOR INT := new(5,12)\bound{u }} +\end{paste}\end{patch} + +\begin{patch}{VectorXmpPagePatch2} +\begin{paste}{VectorXmpPageFull2}{VectorXmpPageEmpty2} +\pastebutton{VectorXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{v : VECTOR INT := vector([1,2,3,4,5])\bound{v }} +\indentrel{3}\begin{verbatim} + (2) [1,2,3,4,5] + Type: Vector Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{VectorXmpPageEmpty2} +\begin{paste}{VectorXmpPageEmpty2}{VectorXmpPagePatch2} +\pastebutton{VectorXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{v : VECTOR INT := vector([1,2,3,4,5])\bound{v }} +\end{paste}\end{patch} + +\begin{patch}{VectorXmpPagePatch3} +\begin{paste}{VectorXmpPageFull3}{VectorXmpPageEmpty3} +\pastebutton{VectorXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{\#(v)\free{v }} +\indentrel{3}\begin{verbatim} + (3) 5 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{VectorXmpPageEmpty3} +\begin{paste}{VectorXmpPageEmpty3}{VectorXmpPagePatch3} +\pastebutton{VectorXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{\#(v)\free{v }} +\end{paste}\end{patch} + +\begin{patch}{VectorXmpPagePatch4} +\begin{paste}{VectorXmpPageFull4}{VectorXmpPageEmpty4} +\pastebutton{VectorXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{v.2\free{v }} +\indentrel{3}\begin{verbatim} + (4) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{VectorXmpPageEmpty4} +\begin{paste}{VectorXmpPageEmpty4}{VectorXmpPagePatch4} +\pastebutton{VectorXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{v.2\free{v }} +\end{paste}\end{patch} + +\begin{patch}{VectorXmpPagePatch5} +\begin{paste}{VectorXmpPageFull5}{VectorXmpPageEmpty5} +\pastebutton{VectorXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{v.3 := 99\free{v }\bound{vdelta }} +\indentrel{3}\begin{verbatim} + (5) 99 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{VectorXmpPageEmpty5} +\begin{paste}{VectorXmpPageEmpty5}{VectorXmpPagePatch5} +\pastebutton{VectorXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{v.3 := 99\free{v }\bound{vdelta }} +\end{paste}\end{patch} + +\begin{patch}{VectorXmpPagePatch6} +\begin{paste}{VectorXmpPageFull6}{VectorXmpPageEmpty6} +\pastebutton{VectorXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{v\free{vdelta }} +\indentrel{3}\begin{verbatim} + (6) [1,2,99,4,5] + Type: Vector Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{VectorXmpPageEmpty6} +\begin{paste}{VectorXmpPageEmpty6}{VectorXmpPagePatch6} +\pastebutton{VectorXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{v\free{vdelta }} +\end{paste}\end{patch} + +\begin{patch}{VectorXmpPagePatch7} +\begin{paste}{VectorXmpPageFull7}{VectorXmpPageEmpty7} +\pastebutton{VectorXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{5 * v\free{vdelta }} +\indentrel{3}\begin{verbatim} + (7) [5,10,495,20,25] + Type: Vector Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{VectorXmpPageEmpty7} +\begin{paste}{VectorXmpPageEmpty7}{VectorXmpPagePatch7} +\pastebutton{VectorXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{5 * v\free{vdelta }} +\end{paste}\end{patch} + +\begin{patch}{VectorXmpPagePatch8} +\begin{paste}{VectorXmpPageFull8}{VectorXmpPageEmpty8} +\pastebutton{VectorXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{v * 7\free{vdelta }} +\indentrel{3}\begin{verbatim} + (8) [7,14,693,28,35] + Type: Vector Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{VectorXmpPageEmpty8} +\begin{paste}{VectorXmpPageEmpty8}{VectorXmpPagePatch8} +\pastebutton{VectorXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{v * 7\free{vdelta }} +\end{paste}\end{patch} + +\begin{patch}{VectorXmpPagePatch9} +\begin{paste}{VectorXmpPageFull9}{VectorXmpPageEmpty9} +\pastebutton{VectorXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{w : VECTOR INT := vector([2,3,4,5,6])\bound{w }} +\indentrel{3}\begin{verbatim} + (9) [2,3,4,5,6] + Type: Vector Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{VectorXmpPageEmpty9} +\begin{paste}{VectorXmpPageEmpty9}{VectorXmpPagePatch9} +\pastebutton{VectorXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{w : VECTOR INT := vector([2,3,4,5,6])\bound{w }} +\end{paste}\end{patch} + +\begin{patch}{VectorXmpPagePatch10} +\begin{paste}{VectorXmpPageFull10}{VectorXmpPageEmpty10} +\pastebutton{VectorXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{v + w\free{vdelta w }} +\indentrel{3}\begin{verbatim} + (10) [3,5,103,9,11] + Type: Vector Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{VectorXmpPageEmpty10} +\begin{paste}{VectorXmpPageEmpty10}{VectorXmpPagePatch10} +\pastebutton{VectorXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{v + w\free{vdelta w }} +\end{paste}\end{patch} + +\begin{patch}{VectorXmpPagePatch11} +\begin{paste}{VectorXmpPageFull11}{VectorXmpPageEmpty11} +\pastebutton{VectorXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{v - w\free{vdelta w }} +\indentrel{3}\begin{verbatim} + (11) [- 1,- 1,95,- 1,- 1] + Type: Vector Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{VectorXmpPageEmpty11} +\begin{paste}{VectorXmpPageEmpty11}{VectorXmpPagePatch11} +\pastebutton{VectorXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{v - w\free{vdelta w }} +\end{paste}\end{patch} @ \section{void.ht} @@ -21543,6 +60047,95 @@ Once a value has been converted to \spadtype{Void}, it cannot be recovered. \autobuttons \end{page} +\begin{patch}{VoidXmpPagePatch1} +\begin{paste}{VoidXmpPageFull1}{VoidXmpPageEmpty1} +\pastebutton{VoidXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{a : Integer} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{VoidXmpPageEmpty1} +\begin{paste}{VoidXmpPageEmpty1}{VoidXmpPagePatch1} +\pastebutton{VoidXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{a : Integer} +\end{paste}\end{patch} + +\begin{patch}{VoidXmpPagePatch2} +\begin{paste}{VoidXmpPageFull2}{VoidXmpPageEmpty2} +\pastebutton{VoidXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{)set message void on} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{VoidXmpPageEmpty2} +\begin{paste}{VoidXmpPageEmpty2}{VoidXmpPagePatch2} +\pastebutton{VoidXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{)set message void on} +\end{paste}\end{patch} + +\begin{patch}{VoidXmpPagePatch3} +\begin{paste}{VoidXmpPageFull3}{VoidXmpPageEmpty3} +\pastebutton{VoidXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{b : Fraction Integer} +\indentrel{3}\begin{verbatim} + (2) "()" + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{VoidXmpPageEmpty3} +\begin{paste}{VoidXmpPageEmpty3}{VoidXmpPagePatch3} +\pastebutton{VoidXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{b : Fraction Integer} +\end{paste}\end{patch} + +\begin{patch}{VoidXmpPagePatch4} +\begin{paste}{VoidXmpPageFull4}{VoidXmpPageEmpty4} +\pastebutton{VoidXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{)set message void off} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{VoidXmpPageEmpty4} +\begin{paste}{VoidXmpPageEmpty4}{VoidXmpPagePatch4} +\pastebutton{VoidXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{)set message void off} +\end{paste}\end{patch} + +\begin{patch}{VoidXmpPagePatch5} +\begin{paste}{VoidXmpPageFull5}{VoidXmpPageEmpty5} +\pastebutton{VoidXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{3::Void\bound{prev }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{VoidXmpPageEmpty5} +\begin{paste}{VoidXmpPageEmpty5}{VoidXmpPagePatch5} +\pastebutton{VoidXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{3::Void\bound{prev }} +\end{paste}\end{patch} + +\begin{patch}{VoidXmpPagePatch6} +\begin{paste}{VoidXmpPageFull6}{VoidXmpPageEmpty6} +\pastebutton{VoidXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{\% :: PositiveInteger\free{prev }} +\indentrel{3}\begin{verbatim} + "()" +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{VoidXmpPageEmpty6} +\begin{paste}{VoidXmpPageEmpty6}{VoidXmpPagePatch6} +\pastebutton{VoidXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{\% :: PositiveInteger\free{prev }} +\end{paste}\end{patch} + @ \section{wutset.ht} \pagehead{WuWenTsunTriangularSetXmpPage}{wutset.ht}{WuWenTsunTriangularSet} @@ -21670,6 +60263,286 @@ constructor. \autobuttons \end{page} +\begin{patch}{WuWenTsunTriangularSetXmpPagePatch1} +\begin{paste}{WuWenTsunTriangularSetXmpPageFull1}{WuWenTsunTriangularSetXmpPageEmpty1} +\pastebutton{WuWenTsunTriangularSetXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{R := Integer\bound{R }} +\indentrel{3}\begin{verbatim} + (1) Integer + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty1} +\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty1}{WuWenTsunTriangularSetXmpPagePatch1} +\pastebutton{WuWenTsunTriangularSetXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{R := Integer\bound{R }} +\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPagePatch2} +\begin{paste}{WuWenTsunTriangularSetXmpPageFull2}{WuWenTsunTriangularSetXmpPageEmpty2} +\pastebutton{WuWenTsunTriangularSetXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{ls : List Symbol := [x,y,z,t]\bound{ls }} +\indentrel{3}\begin{verbatim} + (2) [x,y,z,t] + Type: List Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty2} +\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty2}{WuWenTsunTriangularSetXmpPagePatch2} +\pastebutton{WuWenTsunTriangularSetXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{ls : List Symbol := [x,y,z,t]\bound{ls }} +\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPagePatch3} +\begin{paste}{WuWenTsunTriangularSetXmpPageFull3}{WuWenTsunTriangularSetXmpPageEmpty3} +\pastebutton{WuWenTsunTriangularSetXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{V := OVAR(ls)\free{ls }\bound{V }} +\indentrel{3}\begin{verbatim} + (3) OrderedVariableList [x,y,z,t] + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty3} +\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty3}{WuWenTsunTriangularSetXmpPagePatch3} +\pastebutton{WuWenTsunTriangularSetXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{V := OVAR(ls)\free{ls }\bound{V }} +\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPagePatch4} +\begin{paste}{WuWenTsunTriangularSetXmpPageFull4}{WuWenTsunTriangularSetXmpPageEmpty4} +\pastebutton{WuWenTsunTriangularSetXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{E := IndexedExponents V\free{V }\bound{E }} +\indentrel{3}\begin{verbatim} + (4) IndexedExponents OrderedVariableList [x,y,z,t] + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty4} +\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty4}{WuWenTsunTriangularSetXmpPagePatch4} +\pastebutton{WuWenTsunTriangularSetXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{E := IndexedExponents V\free{V }\bound{E }} +\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPagePatch5} +\begin{paste}{WuWenTsunTriangularSetXmpPageFull5}{WuWenTsunTriangularSetXmpPageEmpty5} +\pastebutton{WuWenTsunTriangularSetXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{P := NSMP(R, V)\free{R }\free{V }\bound{P }} +\indentrel{3}\begin{verbatim} + (5) + NewSparseMultivariatePolynomial(Integer,OrderedVariable + List [x,y,z,t]) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty5} +\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty5}{WuWenTsunTriangularSetXmpPagePatch5} +\pastebutton{WuWenTsunTriangularSetXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{P := NSMP(R, V)\free{R }\free{V }\bound{P }} +\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPagePatch6} +\begin{paste}{WuWenTsunTriangularSetXmpPageFull6}{WuWenTsunTriangularSetXmpPageEmpty6} +\pastebutton{WuWenTsunTriangularSetXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{x: P := 'x\free{P }\bound{x }} +\indentrel{3}\begin{verbatim} + (6) x +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty6} +\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty6}{WuWenTsunTriangularSetXmpPagePatch6} +\pastebutton{WuWenTsunTriangularSetXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{x: P := 'x\free{P }\bound{x }} +\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPagePatch7} +\begin{paste}{WuWenTsunTriangularSetXmpPageFull7}{WuWenTsunTriangularSetXmpPageEmpty7} +\pastebutton{WuWenTsunTriangularSetXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{y: P := 'y\free{P }\bound{y }} +\indentrel{3}\begin{verbatim} + (7) y +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty7} +\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty7}{WuWenTsunTriangularSetXmpPagePatch7} +\pastebutton{WuWenTsunTriangularSetXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{y: P := 'y\free{P }\bound{y }} +\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPagePatch8} +\begin{paste}{WuWenTsunTriangularSetXmpPageFull8}{WuWenTsunTriangularSetXmpPageEmpty8} +\pastebutton{WuWenTsunTriangularSetXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{z: P := 'z\free{P }\bound{z }} +\indentrel{3}\begin{verbatim} + (8) z +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty8} +\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty8}{WuWenTsunTriangularSetXmpPagePatch8} +\pastebutton{WuWenTsunTriangularSetXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{z: P := 'z\free{P }\bound{z }} +\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPagePatch9} +\begin{paste}{WuWenTsunTriangularSetXmpPageFull9}{WuWenTsunTriangularSetXmpPageEmpty9} +\pastebutton{WuWenTsunTriangularSetXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{t: P := 't\free{P }\bound{t }} +\indentrel{3}\begin{verbatim} + (9) t +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty9} +\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty9}{WuWenTsunTriangularSetXmpPagePatch9} +\pastebutton{WuWenTsunTriangularSetXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{t: P := 't\free{P }\bound{t }} +\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPagePatch10} +\begin{paste}{WuWenTsunTriangularSetXmpPageFull10}{WuWenTsunTriangularSetXmpPageEmpty10} +\pastebutton{WuWenTsunTriangularSetXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{T := WUTSET(R,E,V,P)\free{R }\free{E }\free{V }\free{P }\bound{T }} +\indentrel{3}\begin{verbatim} + (10) + WuWenTsunTriangularSet(Integer,IndexedExponents Ordered + VariableList [x,y,z,t],OrderedVariableList [x,y,z,t],Ne + wSparseMultivariatePolynomial(Integer,OrderedVariableLi + st [x,y,z,t])) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty10} +\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty10}{WuWenTsunTriangularSetXmpPagePatch10} +\pastebutton{WuWenTsunTriangularSetXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{T := WUTSET(R,E,V,P)\free{R }\free{E }\free{V }\free{P }\bound{T }} +\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPagePatch11} +\begin{paste}{WuWenTsunTriangularSetXmpPageFull11}{WuWenTsunTriangularSetXmpPageEmpty11} +\pastebutton{WuWenTsunTriangularSetXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{p1 := x ** 31 - x ** 6 - x - y\free{x }\free{y }\bound{p1 }} +\indentrel{3}\begin{verbatim} + 31 6 + (11) x - x - x - y +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty11} +\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty11}{WuWenTsunTriangularSetXmpPagePatch11} +\pastebutton{WuWenTsunTriangularSetXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{p1 := x ** 31 - x ** 6 - x - y\free{x }\free{y }\bound{p1 }} +\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPagePatch12} +\begin{paste}{WuWenTsunTriangularSetXmpPageFull12}{WuWenTsunTriangularSetXmpPageEmpty12} +\pastebutton{WuWenTsunTriangularSetXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{p2 := x ** 8 - z\free{x }\free{z }\bound{p2 }} +\indentrel{3}\begin{verbatim} + 8 + (12) x - z +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty12} +\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty12}{WuWenTsunTriangularSetXmpPagePatch12} +\pastebutton{WuWenTsunTriangularSetXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{p2 := x ** 8 - z\free{x }\free{z }\bound{p2 }} +\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPagePatch13} +\begin{paste}{WuWenTsunTriangularSetXmpPageFull13}{WuWenTsunTriangularSetXmpPageEmpty13} +\pastebutton{WuWenTsunTriangularSetXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{p3 := x ** 10 - t\free{x }\free{t }\bound{p3 }} +\indentrel{3}\begin{verbatim} + 10 + (13) x - t +Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty13} +\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty13}{WuWenTsunTriangularSetXmpPagePatch13} +\pastebutton{WuWenTsunTriangularSetXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{p3 := x ** 10 - t\free{x }\free{t }\bound{p3 }} +\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPagePatch14} +\begin{paste}{WuWenTsunTriangularSetXmpPageFull14}{WuWenTsunTriangularSetXmpPageEmpty14} +\pastebutton{WuWenTsunTriangularSetXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{lp := [p1, p2, p3]\free{p1 }\free{p2 }\free{p3 }\bound{lp }} +\indentrel{3}\begin{verbatim} + 31 6 8 10 + (14) [x - x - x - y,x - z,x - t] +Type: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty14} +\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty14}{WuWenTsunTriangularSetXmpPagePatch14} +\pastebutton{WuWenTsunTriangularSetXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{lp := [p1, p2, p3]\free{p1 }\free{p2 }\free{p3 }\bound{lp }} +\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPagePatch15} +\begin{paste}{WuWenTsunTriangularSetXmpPageFull15}{WuWenTsunTriangularSetXmpPageEmpty15} +\pastebutton{WuWenTsunTriangularSetXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{characteristicSet(lp)$T\free{lp }\free{T }} +\indentrel{3}\begin{verbatim} + (15) + 5 4 4 2 2 3 4 7 4 6 6 + {z - t , t z y + 2t z y + (- t + 2t - t)z + t z, + 3 3 3 3 + (t - 1)z x - z y - t } +Type: Union(WuWenTsunTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])),...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty15} +\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty15}{WuWenTsunTriangularSetXmpPagePatch15} +\pastebutton{WuWenTsunTriangularSetXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{characteristicSet(lp)$T\free{lp }\free{T }} +\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPagePatch16} +\begin{paste}{WuWenTsunTriangularSetXmpPageFull16}{WuWenTsunTriangularSetXmpPageEmpty16} +\pastebutton{WuWenTsunTriangularSetXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{zeroSetSplit(lp)$T\free{lp }\free{T }} +\indentrel{3}\begin{verbatim} + (16) + 3 5 4 3 3 2 + [{t,z,y,x}, {t - 1,z - t ,z y + t ,z x - t}, + + 5 4 + {z - t , + 4 2 2 3 4 7 4 6 6 + t z y + 2t z y + (- t + 2t - t)z + t z, + 3 3 3 3 + (t - 1)z x - z y - t } + ] +Type: List WuWenTsunTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty16} +\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty16}{WuWenTsunTriangularSetXmpPagePatch16} +\pastebutton{WuWenTsunTriangularSetXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{zeroSetSplit(lp)$T\free{lp }\free{T }} +\end{paste}\end{patch} + @ \section{xmpexp.ht} \pagehead{ExamplesExposedPage}{xmpexp.ht} @@ -22063,6 +60936,883 @@ Calculations with verification in \axiomType{XRecursivePolynomial}. \autobuttons \end{page} +\begin{patch}{XPBWPolynomialXmpPagePatch1} +\begin{paste}{XPBWPolynomialXmpPageFull1}{XPBWPolynomialXmpPageEmpty1} +\pastebutton{XPBWPolynomialXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{a:Symbol := 'a\bound{a }} +\indentrel{3}\begin{verbatim} + (1) a + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty1} +\begin{paste}{XPBWPolynomialXmpPageEmpty1}{XPBWPolynomialXmpPagePatch1} +\pastebutton{XPBWPolynomialXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{a:Symbol := 'a\bound{a }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch2} +\begin{paste}{XPBWPolynomialXmpPageFull2}{XPBWPolynomialXmpPageEmpty2} +\pastebutton{XPBWPolynomialXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{b:Symbol := 'b\bound{b }} +\indentrel{3}\begin{verbatim} + (2) b + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty2} +\begin{paste}{XPBWPolynomialXmpPageEmpty2}{XPBWPolynomialXmpPagePatch2} +\pastebutton{XPBWPolynomialXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{b:Symbol := 'b\bound{b }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch3} +\begin{paste}{XPBWPolynomialXmpPageFull3}{XPBWPolynomialXmpPageEmpty3} +\pastebutton{XPBWPolynomialXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{RN := Fraction(Integer)\bound{RN }} +\indentrel{3}\begin{verbatim} + (3) Fraction Integer + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty3} +\begin{paste}{XPBWPolynomialXmpPageEmpty3}{XPBWPolynomialXmpPagePatch3} +\pastebutton{XPBWPolynomialXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{RN := Fraction(Integer)\bound{RN }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch4} +\begin{paste}{XPBWPolynomialXmpPageFull4}{XPBWPolynomialXmpPageEmpty4} +\pastebutton{XPBWPolynomialXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{word := OrderedFreeMonoid Symbol\bound{word }} +\indentrel{3}\begin{verbatim} + (4) OrderedFreeMonoid Symbol + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty4} +\begin{paste}{XPBWPolynomialXmpPageEmpty4}{XPBWPolynomialXmpPagePatch4} +\pastebutton{XPBWPolynomialXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{word := OrderedFreeMonoid Symbol\bound{word }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch5} +\begin{paste}{XPBWPolynomialXmpPageFull5}{XPBWPolynomialXmpPageEmpty5} +\pastebutton{XPBWPolynomialXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{lword := LyndonWord(Symbol)\bound{lword }} +\indentrel{3}\begin{verbatim} + (5) LyndonWord Symbol + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty5} +\begin{paste}{XPBWPolynomialXmpPageEmpty5}{XPBWPolynomialXmpPagePatch5} +\pastebutton{XPBWPolynomialXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{lword := LyndonWord(Symbol)\bound{lword }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch6} +\begin{paste}{XPBWPolynomialXmpPageFull6}{XPBWPolynomialXmpPageEmpty6} +\pastebutton{XPBWPolynomialXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{base := PoincareBirkhoffWittLyndonBasis Symbol\bound{base }} +\indentrel{3}\begin{verbatim} + (6) PoincareBirkhoffWittLyndonBasis Symbol + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty6} +\begin{paste}{XPBWPolynomialXmpPageEmpty6}{XPBWPolynomialXmpPagePatch6} +\pastebutton{XPBWPolynomialXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{base := PoincareBirkhoffWittLyndonBasis Symbol\bound{base }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch7} +\begin{paste}{XPBWPolynomialXmpPageFull7}{XPBWPolynomialXmpPageEmpty7} +\pastebutton{XPBWPolynomialXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{dpoly := XDistributedPolynomial(Symbol, RN)\bound{dpoly }\free{RN }} +\indentrel{3}\begin{verbatim} + (7) XDistributedPolynomial(Symbol,Fraction Integer) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty7} +\begin{paste}{XPBWPolynomialXmpPageEmpty7}{XPBWPolynomialXmpPagePatch7} +\pastebutton{XPBWPolynomialXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{dpoly := XDistributedPolynomial(Symbol, RN)\bound{dpoly }\free{RN }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch8} +\begin{paste}{XPBWPolynomialXmpPageFull8}{XPBWPolynomialXmpPageEmpty8} +\pastebutton{XPBWPolynomialXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{rpoly := XRecursivePolynomial(Symbol, RN)\bound{rpoly }\free{RN }} +\indentrel{3}\begin{verbatim} + (8) XRecursivePolynomial(Symbol,Fraction Integer) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty8} +\begin{paste}{XPBWPolynomialXmpPageEmpty8}{XPBWPolynomialXmpPagePatch8} +\pastebutton{XPBWPolynomialXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{rpoly := XRecursivePolynomial(Symbol, RN)\bound{rpoly }\free{RN }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch9} +\begin{paste}{XPBWPolynomialXmpPageFull9}{XPBWPolynomialXmpPageEmpty9} +\pastebutton{XPBWPolynomialXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{lpoly := LiePolynomial(Symbol, RN)\bound{lpoly }\free{RN }} +\indentrel{3}\begin{verbatim} + (9) LiePolynomial(Symbol,Fraction Integer) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty9} +\begin{paste}{XPBWPolynomialXmpPageEmpty9}{XPBWPolynomialXmpPagePatch9} +\pastebutton{XPBWPolynomialXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{lpoly := LiePolynomial(Symbol, RN)\bound{lpoly }\free{RN }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch10} +\begin{paste}{XPBWPolynomialXmpPageFull10}{XPBWPolynomialXmpPageEmpty10} +\pastebutton{XPBWPolynomialXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{poly := XPBWPolynomial(Symbol, RN)\bound{poly }\free{RN }} +\indentrel{3}\begin{verbatim} + (10) XPBWPolynomial(Symbol,Fraction Integer) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty10} +\begin{paste}{XPBWPolynomialXmpPageEmpty10}{XPBWPolynomialXmpPagePatch10} +\pastebutton{XPBWPolynomialXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{poly := XPBWPolynomial(Symbol, RN)\bound{poly }\free{RN }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch11} +\begin{paste}{XPBWPolynomialXmpPageFull11}{XPBWPolynomialXmpPageEmpty11} +\pastebutton{XPBWPolynomialXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{liste : List lword := LyndonWordsList([a,b], 6)\bound{liste }\free{lword a b }} +\indentrel{3}\begin{verbatim} + (11) + 2 2 3 2 2 + [[a], [b], [a b], [a b], [a b ], [a b], [a b ], + 3 4 3 2 2 2 3 2 + [a b ], [a b], [a b ], [a b a b], [a b ], [a b a b ], + 4 5 4 2 3 3 3 2 2 + [a b ], [a b], [a b ], [a b a b], [a b ], [a b a b ], + 2 2 2 4 3 5 + [a b a b], [a b ], [a b a b ], [a b ]] + Type: List LyndonWord Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty11} +\begin{paste}{XPBWPolynomialXmpPageEmpty11}{XPBWPolynomialXmpPagePatch11} +\pastebutton{XPBWPolynomialXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{liste : List lword := LyndonWordsList([a,b], 6)\bound{liste }\free{lword a b }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch12} +\begin{paste}{XPBWPolynomialXmpPageFull12}{XPBWPolynomialXmpPageEmpty12} +\pastebutton{XPBWPolynomialXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{0$poly\free{poly }} +\indentrel{3}\begin{verbatim} + (12) 0 + Type: XPBWPolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty12} +\begin{paste}{XPBWPolynomialXmpPageEmpty12}{XPBWPolynomialXmpPagePatch12} +\pastebutton{XPBWPolynomialXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{0$poly\free{poly }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch13} +\begin{paste}{XPBWPolynomialXmpPageFull13}{XPBWPolynomialXmpPageEmpty13} +\pastebutton{XPBWPolynomialXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{1$poly\free{poly }} +\indentrel{3}\begin{verbatim} + (13) 1 + Type: XPBWPolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty13} +\begin{paste}{XPBWPolynomialXmpPageEmpty13}{XPBWPolynomialXmpPagePatch13} +\pastebutton{XPBWPolynomialXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{1$poly\free{poly }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch14} +\begin{paste}{XPBWPolynomialXmpPageFull14}{XPBWPolynomialXmpPageEmpty14} +\pastebutton{XPBWPolynomialXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{p : poly := a\free{a poly }\bound{p }} +\indentrel{3}\begin{verbatim} + (14) [a] + Type: XPBWPolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty14} +\begin{paste}{XPBWPolynomialXmpPageEmpty14}{XPBWPolynomialXmpPagePatch14} +\pastebutton{XPBWPolynomialXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{p : poly := a\free{a poly }\bound{p }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch15} +\begin{paste}{XPBWPolynomialXmpPageFull15}{XPBWPolynomialXmpPageEmpty15} +\pastebutton{XPBWPolynomialXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{q : poly := b\free{b poly }\bound{q }} +\indentrel{3}\begin{verbatim} + (15) [b] + Type: XPBWPolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty15} +\begin{paste}{XPBWPolynomialXmpPageEmpty15}{XPBWPolynomialXmpPagePatch15} +\pastebutton{XPBWPolynomialXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{q : poly := b\free{b poly }\bound{q }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch16} +\begin{paste}{XPBWPolynomialXmpPageFull16}{XPBWPolynomialXmpPageEmpty16} +\pastebutton{XPBWPolynomialXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{pq: poly := p*q\free{p q poly }\bound{pq }} +\indentrel{3}\begin{verbatim} + (16) [a b] + [b][a] + Type: XPBWPolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty16} +\begin{paste}{XPBWPolynomialXmpPageEmpty16}{XPBWPolynomialXmpPagePatch16} +\pastebutton{XPBWPolynomialXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{pq: poly := p*q\free{p q poly }\bound{pq }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch17} +\begin{paste}{XPBWPolynomialXmpPageFull17}{XPBWPolynomialXmpPageEmpty17} +\pastebutton{XPBWPolynomialXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{pq :: dpoly\free{pq dpoly }} +\indentrel{3}\begin{verbatim} + (17) a b + Type: XDistributedPolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty17} +\begin{paste}{XPBWPolynomialXmpPageEmpty17}{XPBWPolynomialXmpPagePatch17} +\pastebutton{XPBWPolynomialXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{pq :: dpoly\free{pq dpoly }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch18} +\begin{paste}{XPBWPolynomialXmpPageFull18}{XPBWPolynomialXmpPageEmpty18} +\pastebutton{XPBWPolynomialXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{mirror pq\free{pq }} +\indentrel{3}\begin{verbatim} + (18) [b][a] + Type: XPBWPolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty18} +\begin{paste}{XPBWPolynomialXmpPageEmpty18}{XPBWPolynomialXmpPagePatch18} +\pastebutton{XPBWPolynomialXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{mirror pq\free{pq }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch19} +\begin{paste}{XPBWPolynomialXmpPageFull19}{XPBWPolynomialXmpPageEmpty19} +\pastebutton{XPBWPolynomialXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{ListOfTerms pq\free{pq }} +\indentrel{3}\begin{verbatim} + (19) [[k= [b][a],c= 1],[k= [a b],c= 1]] +Type: List Record(k: PoincareBirkhoffWittLyndonBasis Symbol,c: Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty19} +\begin{paste}{XPBWPolynomialXmpPageEmpty19}{XPBWPolynomialXmpPagePatch19} +\pastebutton{XPBWPolynomialXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{ListOfTerms pq\free{pq }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch20} +\begin{paste}{XPBWPolynomialXmpPageFull20}{XPBWPolynomialXmpPageEmpty20} +\pastebutton{XPBWPolynomialXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{reductum pq\free{pq }} +\indentrel{3}\begin{verbatim} + (20) [a b] + Type: XPBWPolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty20} +\begin{paste}{XPBWPolynomialXmpPageEmpty20}{XPBWPolynomialXmpPagePatch20} +\pastebutton{XPBWPolynomialXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{reductum pq\free{pq }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch21} +\begin{paste}{XPBWPolynomialXmpPageFull21}{XPBWPolynomialXmpPageEmpty21} +\pastebutton{XPBWPolynomialXmpPageFull21}{\hidepaste} +\tab{5}\spadcommand{leadingMonomial pq\free{pq }} +\indentrel{3}\begin{verbatim} + (21) [b][a] + Type: PoincareBirkhoffWittLyndonBasis Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty21} +\begin{paste}{XPBWPolynomialXmpPageEmpty21}{XPBWPolynomialXmpPagePatch21} +\pastebutton{XPBWPolynomialXmpPageEmpty21}{\showpaste} +\tab{5}\spadcommand{leadingMonomial pq\free{pq }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch22} +\begin{paste}{XPBWPolynomialXmpPageFull22}{XPBWPolynomialXmpPageEmpty22} +\pastebutton{XPBWPolynomialXmpPageFull22}{\hidepaste} +\tab{5}\spadcommand{coefficients pq\free{pq }} +\indentrel{3}\begin{verbatim} + (22) [1,1] + Type: List Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty22} +\begin{paste}{XPBWPolynomialXmpPageEmpty22}{XPBWPolynomialXmpPagePatch22} +\pastebutton{XPBWPolynomialXmpPageEmpty22}{\showpaste} +\tab{5}\spadcommand{coefficients pq\free{pq }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch23} +\begin{paste}{XPBWPolynomialXmpPageFull23}{XPBWPolynomialXmpPageEmpty23} +\pastebutton{XPBWPolynomialXmpPageFull23}{\hidepaste} +\tab{5}\spadcommand{leadingTerm pq\free{pq }} +\indentrel{3}\begin{verbatim} + (23) [k= [b][a],c= 1] +Type: Record(k: PoincareBirkhoffWittLyndonBasis Symbol,c: Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty23} +\begin{paste}{XPBWPolynomialXmpPageEmpty23}{XPBWPolynomialXmpPagePatch23} +\pastebutton{XPBWPolynomialXmpPageEmpty23}{\showpaste} +\tab{5}\spadcommand{leadingTerm pq\free{pq }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch24} +\begin{paste}{XPBWPolynomialXmpPageFull24}{XPBWPolynomialXmpPageEmpty24} +\pastebutton{XPBWPolynomialXmpPageFull24}{\hidepaste} +\tab{5}\spadcommand{degree pq\free{pq }} +\indentrel{3}\begin{verbatim} + (24) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty24} +\begin{paste}{XPBWPolynomialXmpPageEmpty24}{XPBWPolynomialXmpPagePatch24} +\pastebutton{XPBWPolynomialXmpPageEmpty24}{\showpaste} +\tab{5}\spadcommand{degree pq\free{pq }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch25} +\begin{paste}{XPBWPolynomialXmpPageFull25}{XPBWPolynomialXmpPageEmpty25} +\pastebutton{XPBWPolynomialXmpPageFull25}{\hidepaste} +\tab{5}\spadcommand{pq4:=exp(pq,4)\bound{pq4 }\free{pq }} +\indentrel{3}\begin{verbatim} + (25) + 1 1 2 + 1 + [a b] + [b][a] + Ä [a b][a b] + Ä [a b ][a] + 2 2 + + + 1 2 3 1 + Ä [b][a b] + Ä [b][a b][a] + Ä [b][b][a][a] + 2 2 2 + Type: XPBWPolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty25} +\begin{paste}{XPBWPolynomialXmpPageEmpty25}{XPBWPolynomialXmpPagePatch25} +\pastebutton{XPBWPolynomialXmpPageEmpty25}{\showpaste} +\tab{5}\spadcommand{pq4:=exp(pq,4)\bound{pq4 }\free{pq }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch26} +\begin{paste}{XPBWPolynomialXmpPageFull26}{XPBWPolynomialXmpPageEmpty26} +\pastebutton{XPBWPolynomialXmpPageFull26}{\hidepaste} +\tab{5}\spadcommand{log(pq4,4) - pq\free{pq4 pq }} +\indentrel{3}\begin{verbatim} + (26) 0 + Type: XPBWPolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty26} +\begin{paste}{XPBWPolynomialXmpPageEmpty26}{XPBWPolynomialXmpPagePatch26} +\pastebutton{XPBWPolynomialXmpPageEmpty26}{\showpaste} +\tab{5}\spadcommand{log(pq4,4) - pq\free{pq4 pq }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch27} +\begin{paste}{XPBWPolynomialXmpPageFull27}{XPBWPolynomialXmpPageEmpty27} +\pastebutton{XPBWPolynomialXmpPageFull27}{\hidepaste} +\tab{5}\spadcommand{lp1 :lpoly := LiePoly liste.10\free{liste lpoly }\bound{lp1 }} +\indentrel{3}\begin{verbatim} + 3 2 + (27) [a b ] + Type: LiePolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty27} +\begin{paste}{XPBWPolynomialXmpPageEmpty27}{XPBWPolynomialXmpPagePatch27} +\pastebutton{XPBWPolynomialXmpPageEmpty27}{\showpaste} +\tab{5}\spadcommand{lp1 :lpoly := LiePoly liste.10\free{liste lpoly }\bound{lp1 }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch28} +\begin{paste}{XPBWPolynomialXmpPageFull28}{XPBWPolynomialXmpPageEmpty28} +\pastebutton{XPBWPolynomialXmpPageFull28}{\hidepaste} +\tab{5}\spadcommand{lp2 :lpoly := LiePoly liste.11\free{liste lpoly }\bound{lp2 }} +\indentrel{3}\begin{verbatim} + 2 + (28) [a b a b] + Type: LiePolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty28} +\begin{paste}{XPBWPolynomialXmpPageEmpty28}{XPBWPolynomialXmpPagePatch28} +\pastebutton{XPBWPolynomialXmpPageEmpty28}{\showpaste} +\tab{5}\spadcommand{lp2 :lpoly := LiePoly liste.11\free{liste lpoly }\bound{lp2 }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch29} +\begin{paste}{XPBWPolynomialXmpPageFull29}{XPBWPolynomialXmpPageEmpty29} +\pastebutton{XPBWPolynomialXmpPageFull29}{\hidepaste} +\tab{5}\spadcommand{lp :lpoly := [lp1, lp2]\free{lp1 lp2 lpoly }\bound{lp }} +\indentrel{3}\begin{verbatim} + 3 2 2 + (29) [a b a b a b] + Type: LiePolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty29} +\begin{paste}{XPBWPolynomialXmpPageEmpty29}{XPBWPolynomialXmpPagePatch29} +\pastebutton{XPBWPolynomialXmpPageEmpty29}{\showpaste} +\tab{5}\spadcommand{lp :lpoly := [lp1, lp2]\free{lp1 lp2 lpoly }\bound{lp }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch30} +\begin{paste}{XPBWPolynomialXmpPageFull30}{XPBWPolynomialXmpPageEmpty30} +\pastebutton{XPBWPolynomialXmpPageFull30}{\hidepaste} +\tab{5}\spadcommand{lpd1: dpoly := lp1\free{lp1 dpoly }\bound{lpd1 }} +\indentrel{3}\begin{verbatim} + (30) + 3 2 2 2 2 2 2 + a b - 2a b a b - a b a + 4a b a b a - a b a + + + 2 2 3 + - 2b a b a + b a + Type: XDistributedPolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty30} +\begin{paste}{XPBWPolynomialXmpPageEmpty30}{XPBWPolynomialXmpPagePatch30} +\pastebutton{XPBWPolynomialXmpPageEmpty30}{\showpaste} +\tab{5}\spadcommand{lpd1: dpoly := lp1\free{lp1 dpoly }\bound{lpd1 }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch31} +\begin{paste}{XPBWPolynomialXmpPageFull31}{XPBWPolynomialXmpPageEmpty31} +\pastebutton{XPBWPolynomialXmpPageFull31}{\hidepaste} +\tab{5}\spadcommand{lpd2: dpoly := lp2\free{lp2 dpoly }\bound{lpd2 }} +\indentrel{3}\begin{verbatim} + (31) + 2 2 2 2 2 2 + a b a b - a b a - 3a b a b + 4a b a b a - a b a + + + 3 2 2 + 2b a b - 3b a b a + b a b a + Type: XDistributedPolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty31} +\begin{paste}{XPBWPolynomialXmpPageEmpty31}{XPBWPolynomialXmpPagePatch31} +\pastebutton{XPBWPolynomialXmpPageEmpty31}{\showpaste} +\tab{5}\spadcommand{lpd2: dpoly := lp2\free{lp2 dpoly }\bound{lpd2 }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch32} +\begin{paste}{XPBWPolynomialXmpPageFull32}{XPBWPolynomialXmpPageEmpty32} +\pastebutton{XPBWPolynomialXmpPageFull32}{\hidepaste} +\tab{5}\spadcommand{lpd : dpoly := lpd1 * lpd2 - lpd2 * lpd1\free{dpoly lpd1 lpd2 }\bound{lpd }} +\indentrel{3}\begin{verbatim} + (32) + 3 2 2 3 2 2 2 3 2 2 + a b a b a b - a b a b a - 3a b a b a b + + + 3 2 3 2 2 2 3 3 3 3 3 2 + 4a b a b a b a - a b a b a + 2a b a b - 3a b a b a + + + 3 3 2 2 3 2 2 2 2 + a b a b a - a b a b a b + 3a b a b a b a + + + 2 2 2 + 6a b a b a b a b - 12a b a b a b a b a + + + 2 2 2 2 2 3 2 2 2 + 3a b a b a b a - 4a b a b a b + 6a b a b a b a + + + 2 3 3 2 2 4 2 2 2 3 2 2 2 2 + - a b a b a + a b a b - 3a b a b a b + 3a b a b a b + + + 2 2 3 2 2 2 2 2 2 + - 2a b a b a b + 3a b a b a b a - 3a b a b a b a + + + 2 2 2 3 2 3 2 2 2 + a b a b a + 3a b a b a b - 6a b a b a b a b + + + 2 2 2 2 + - 3a b a b a b a + 12a b a b a b a b a + + + 2 2 2 2 2 2 2 3 3 + - 3a b a b a b a - 6a b a b a b a + 3a b a b a + + + 4 2 3 + - 4a b a b a b + 12a b a b a b a b + + + 2 2 3 + - 12a b a b a b a b + 8a b a b a b a b + + + 2 2 + - 12a b a b a b a b a + 12a b a b a b a b a + + + 2 3 2 5 2 2 4 + - 4a b a b a b a + a b a b - 3a b a b a b + + + 2 3 2 2 2 3 2 2 2 + 3a b a b a b - 2a b a b a b + 3a b a b a b a + + + 2 2 2 2 2 2 3 3 3 2 + - 3a b a b a b a + a b a b a - 2b a b a b + + + 3 2 3 2 2 3 + 4b a b a b a b + 2b a b a b a - 8b a b a b a b a + + + 3 2 2 3 2 2 3 3 3 + 2b a b a b a + 4b a b a b a - 2b a b a + + + 2 4 2 2 3 2 3 2 + 3b a b a b - 6b a b a b a b - 3b a b a b a + + + 2 2 2 2 2 2 2 2 + 12b a b a b a b a - 3b a b a b a - 6b a b a b a b a + + + 2 2 3 5 2 4 2 + 3b a b a b a - b a b a b + 3b a b a b a + + + 3 2 3 3 2 2 + 6b a b a b a b - 12b a b a b a b a + 3b a b a b a + + + 2 3 2 2 2 2 3 + - 4b a b a b a b + 6b a b a b a b a - b a b a b a + + + 2 5 2 5 2 2 4 2 2 4 + b a b a b - b a b a - 3b a b a b + 4b a b a b a + + + 2 4 2 2 2 3 3 2 3 2 2 3 2 + - b a b a + 2b a b a b - 3b a b a b a + b a b a b a + Type: XDistributedPolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty32} +\begin{paste}{XPBWPolynomialXmpPageEmpty32}{XPBWPolynomialXmpPagePatch32} +\pastebutton{XPBWPolynomialXmpPageEmpty32}{\showpaste} +\tab{5}\spadcommand{lpd : dpoly := lpd1 * lpd2 - lpd2 * lpd1\free{dpoly lpd1 lpd2 }\bound{lpd }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch33} +\begin{paste}{XPBWPolynomialXmpPageFull33}{XPBWPolynomialXmpPageEmpty33} +\pastebutton{XPBWPolynomialXmpPageFull33}{\hidepaste} +\tab{5}\spadcommand{lp :: dpoly - lpd\free{lpd dpoly lp }} +\indentrel{3}\begin{verbatim} + (33) 0 + Type: XDistributedPolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty33} +\begin{paste}{XPBWPolynomialXmpPageEmpty33}{XPBWPolynomialXmpPagePatch33} +\pastebutton{XPBWPolynomialXmpPageEmpty33}{\showpaste} +\tab{5}\spadcommand{lp :: dpoly - lpd\free{lpd dpoly lp }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch34} +\begin{paste}{XPBWPolynomialXmpPageFull34}{XPBWPolynomialXmpPageEmpty34} +\pastebutton{XPBWPolynomialXmpPageFull34}{\hidepaste} +\tab{5}\spadcommand{p := 3 * lp\free{lp }\bound{pp }} +\indentrel{3}\begin{verbatim} + 3 2 2 + (34) 3[a b a b a b] + Type: XPBWPolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty34} +\begin{paste}{XPBWPolynomialXmpPageEmpty34}{XPBWPolynomialXmpPagePatch34} +\pastebutton{XPBWPolynomialXmpPageEmpty34}{\showpaste} +\tab{5}\spadcommand{p := 3 * lp\free{lp }\bound{pp }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch35} +\begin{paste}{XPBWPolynomialXmpPageFull35}{XPBWPolynomialXmpPageEmpty35} +\pastebutton{XPBWPolynomialXmpPageFull35}{\hidepaste} +\tab{5}\spadcommand{q := lp1\free{lp1 }\bound{qq }} +\indentrel{3}\begin{verbatim} + 3 2 + (35) [a b ] + Type: XPBWPolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty35} +\begin{paste}{XPBWPolynomialXmpPageEmpty35}{XPBWPolynomialXmpPagePatch35} +\pastebutton{XPBWPolynomialXmpPageEmpty35}{\showpaste} +\tab{5}\spadcommand{q := lp1\free{lp1 }\bound{qq }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch36} +\begin{paste}{XPBWPolynomialXmpPageFull36}{XPBWPolynomialXmpPageEmpty36} +\pastebutton{XPBWPolynomialXmpPageFull36}{\hidepaste} +\tab{5}\spadcommand{pq:= p * q\free{pp qq }\bound{pqpq }} +\indentrel{3}\begin{verbatim} + 3 2 2 3 2 + (36) 3[a b a b a b][a b ] + Type: XPBWPolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty36} +\begin{paste}{XPBWPolynomialXmpPageEmpty36}{XPBWPolynomialXmpPagePatch36} +\pastebutton{XPBWPolynomialXmpPageEmpty36}{\showpaste} +\tab{5}\spadcommand{pq:= p * q\free{pp qq }\bound{pqpq }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch37} +\begin{paste}{XPBWPolynomialXmpPageFull37}{XPBWPolynomialXmpPageEmpty37} +\pastebutton{XPBWPolynomialXmpPageFull37}{\hidepaste} +\tab{5}\spadcommand{pr:rpoly := p :: rpoly\free{rpoly pp }\bound{pr }} +\indentrel{3}\begin{verbatim} + (37) + a + * + a + * + a b b + * + a + * + a b(a b 3 + b a(- 3)) + + + b(a(a b(- 9) + b a 12) + b a a(- 3)) + + + b a(a(a b 6 + b a(- 9)) + b a a 3) + + + b + * + a b + * + a + * + a(a b b(- 3) + b b a 9) + + + b(a(a b 18 + b a(- 36)) + b a a 9) + + + b + * + a a(a b(- 12) + b a 18) + + + b a a a(- 3) + + + b a + * + a + * + (a(a b b 3 + b a b(- 9)) + b a a b 9) + + + b + * + a + * + a(a b(- 6) + b a 9) + + + b a a(- 9) + + + b a a a 3 + + + b + * + a + * + a b + * + a + * + a + * + a b b 9 + + + b(a b(- 18) + b a(- 9)) + + + b(a b a 36 + b a a(- 9)) + + + b(a b a a(- 18) + b a a a 9) + + + b a + * + a + * + a(a b b(- 12) + b a b 36) + + + b a a b(- 36) + + + b + * + a + * + a(a b 24 + b a(- 36)) + + + b a a 36 + + + b a a a(- 12) + + + b a a + * + a(a(a b b 3 + b a b(- 9)) + b a a b 9) + + + b + * + a(a(a b(- 6) + b a 9) + b a a(- 9)) + + + b a a a 3 + + + b + * + a + * + a + * + a b + * + a + * + a(a b b(- 6) + b(a b 12 + b a 6)) + + + b(a b a(- 24) + b a a 6) + + + b(a b a a 12 + b a a a(- 6)) + + + b a + * + a + * + a + * + a b b 9 + + + b(a b(- 18) + b a(- 9)) + + + b(a b a 36 + b a a(- 9)) + + + b(a b a a(- 18) + b a a a 9) + + + b a a + * + a + * + a(a b b(- 3) + b b a 9) + + + b(a(a b 18 + b a(- 36)) + b a a 9) + + + b(a a(a b(- 12) + b a 18) + b a a a(- 3)) + + + b a a a + * + a + * + a b(a b 3 + b a(- 3)) + + + b(a(a b(- 9) + b a 12) + b a a(- 3)) + + + b a(a(a b 6 + b a(- 9)) + b a a 3) + Type: XRecursivePolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty37} +\begin{paste}{XPBWPolynomialXmpPageEmpty37}{XPBWPolynomialXmpPagePatch37} +\pastebutton{XPBWPolynomialXmpPageEmpty37}{\showpaste} +\tab{5}\spadcommand{pr:rpoly := p :: rpoly\free{rpoly pp }\bound{pr }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch38} +\begin{paste}{XPBWPolynomialXmpPageFull38}{XPBWPolynomialXmpPageEmpty38} +\pastebutton{XPBWPolynomialXmpPageFull38}{\hidepaste} +\tab{5}\spadcommand{qr:rpoly := q :: rpoly\free{rpoly qq }\bound{qr }} +\indentrel{3}\begin{verbatim} + (38) + a + * + a(a b b 1 + b(a b(- 2) + b a(- 1))) + + + b(a b a 4 + b a a(- 1)) + + + b(a b a a(- 2) + b a a a 1) + Type: XRecursivePolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty38} +\begin{paste}{XPBWPolynomialXmpPageEmpty38}{XPBWPolynomialXmpPagePatch38} +\pastebutton{XPBWPolynomialXmpPageEmpty38}{\showpaste} +\tab{5}\spadcommand{qr:rpoly := q :: rpoly\free{rpoly qq }\bound{qr }} +\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPagePatch39} +\begin{paste}{XPBWPolynomialXmpPageFull39}{XPBWPolynomialXmpPageEmpty39} +\pastebutton{XPBWPolynomialXmpPageFull39}{\hidepaste} +\tab{5}\spadcommand{pq :: rpoly - pr*qr\free{pr qr rpoly pqpq }} +\indentrel{3}\begin{verbatim} + (39) 0 + Type: XRecursivePolynomial(Symbol,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPBWPolynomialXmpPageEmpty39} +\begin{paste}{XPBWPolynomialXmpPageEmpty39}{XPBWPolynomialXmpPagePatch39} +\pastebutton{XPBWPolynomialXmpPageEmpty39}{\showpaste} +\tab{5}\spadcommand{pq :: rpoly - pr*qr\free{pr qr rpoly pqpq }} +\end{paste}\end{patch} + @ \section{xpoly.ht} \pagehead{XPolynomialXmpPage}{xpoly.ht}{XPolynomial} @@ -22180,6 +61930,251 @@ and the shuffle-product of {\bf pr} by {\bf r}: \autobuttons \end{page} +\begin{patch}{XPolynomialXmpPagePatch1} +\begin{paste}{XPolynomialXmpPageFull1}{XPolynomialXmpPageEmpty1} +\pastebutton{XPolynomialXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{poly := XPolynomial(Integer)\bound{poly }} +\indentrel{3}\begin{verbatim} + (1) XPolynomial Integer + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPageEmpty1} +\begin{paste}{XPolynomialXmpPageEmpty1}{XPolynomialXmpPagePatch1} +\pastebutton{XPolynomialXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{poly := XPolynomial(Integer)\bound{poly }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPagePatch2} +\begin{paste}{XPolynomialXmpPageFull2}{XPolynomialXmpPageEmpty2} +\pastebutton{XPolynomialXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{pr: poly := 2*x + 3*y-5\free{poly }\bound{pr }} +\indentrel{3}\begin{verbatim} + (2) - 5 + x 2 + y 3 + Type: XPolynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPageEmpty2} +\begin{paste}{XPolynomialXmpPageEmpty2}{XPolynomialXmpPagePatch2} +\pastebutton{XPolynomialXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{pr: poly := 2*x + 3*y-5\free{poly }\bound{pr }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPagePatch3} +\begin{paste}{XPolynomialXmpPageFull3}{XPolynomialXmpPageEmpty3} +\pastebutton{XPolynomialXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{pr2: poly := pr*pr\free{poly }\bound{pr2 }} +\indentrel{3}\begin{verbatim} + (3) 25 + x(- 20 + x 4 + y 6) + y(- 30 + x 6 + y 9) + Type: XPolynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPageEmpty3} +\begin{paste}{XPolynomialXmpPageEmpty3}{XPolynomialXmpPagePatch3} +\pastebutton{XPolynomialXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{pr2: poly := pr*pr\free{poly }\bound{pr2 }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPagePatch4} +\begin{paste}{XPolynomialXmpPageFull4}{XPolynomialXmpPageEmpty4} +\pastebutton{XPolynomialXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{pd := expand pr\free{pr }\bound{pd }} +\indentrel{3}\begin{verbatim} + (4) - 5 + 2x + 3y + Type: XDistributedPolynomial(Symbol,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPageEmpty4} +\begin{paste}{XPolynomialXmpPageEmpty4}{XPolynomialXmpPagePatch4} +\pastebutton{XPolynomialXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{pd := expand pr\free{pr }\bound{pd }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPagePatch5} +\begin{paste}{XPolynomialXmpPageFull5}{XPolynomialXmpPageEmpty5} +\pastebutton{XPolynomialXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{pd2 := pd*pd\free{pd }\bound{pd2 }} +\indentrel{3}\begin{verbatim} + 2 2 + (5) 25 - 20x - 30y + 4x + 6x y + 6y x + 9y + Type: XDistributedPolynomial(Symbol,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPageEmpty5} +\begin{paste}{XPolynomialXmpPageEmpty5}{XPolynomialXmpPagePatch5} +\pastebutton{XPolynomialXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{pd2 := pd*pd\free{pd }\bound{pd2 }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPagePatch6} +\begin{paste}{XPolynomialXmpPageFull6}{XPolynomialXmpPageEmpty6} +\pastebutton{XPolynomialXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{expand(pr2) - pd2\free{pr2 }\free{pd2 }} +\indentrel{3}\begin{verbatim} + (6) 0 + Type: XDistributedPolynomial(Symbol,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPageEmpty6} +\begin{paste}{XPolynomialXmpPageEmpty6}{XPolynomialXmpPagePatch6} +\pastebutton{XPolynomialXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{expand(pr2) - pd2\free{pr2 }\free{pd2 }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPagePatch7} +\begin{paste}{XPolynomialXmpPageFull7}{XPolynomialXmpPageEmpty7} +\pastebutton{XPolynomialXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{qr := pr**3\free{pr }\bound{qr }} +\indentrel{3}\begin{verbatim} + (7) + - 125 + + + x(150 + x(- 60 + x 8 + y 12) + y(- 90 + x 12 + y 18)) + + + y(225 + x(- 90 + x 12 + y 18) + y(- 135 + x 18 + y 27)) + Type: XPolynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPageEmpty7} +\begin{paste}{XPolynomialXmpPageEmpty7}{XPolynomialXmpPagePatch7} +\pastebutton{XPolynomialXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{qr := pr**3\free{pr }\bound{qr }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPagePatch8} +\begin{paste}{XPolynomialXmpPageFull8}{XPolynomialXmpPageEmpty8} +\pastebutton{XPolynomialXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{qd := pd**3\free{pd }\bound{qd }} +\indentrel{3}\begin{verbatim} + (8) + 2 2 + - 125 + 150x + 225y - 60x - 90x y - 90y x - 135y + + + 3 2 2 2 + 8x + 12x y + 12x y x + 18x y + 12y x + 18y x y + + + 2 3 + 18y x + 27y + Type: XDistributedPolynomial(Symbol,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPageEmpty8} +\begin{paste}{XPolynomialXmpPageEmpty8}{XPolynomialXmpPagePatch8} +\pastebutton{XPolynomialXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{qd := pd**3\free{pd }\bound{qd }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPagePatch9} +\begin{paste}{XPolynomialXmpPageFull9}{XPolynomialXmpPageEmpty9} +\pastebutton{XPolynomialXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{ trunc(qd,2)\free{qd }} +\indentrel{3}\begin{verbatim} + (9) + 2 2 + - 125 + 150x + 225y - 60x - 90x y - 90y x - 135y + Type: XDistributedPolynomial(Symbol,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPageEmpty9} +\begin{paste}{XPolynomialXmpPageEmpty9}{XPolynomialXmpPagePatch9} +\pastebutton{XPolynomialXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{ trunc(qd,2)\free{qd }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPagePatch10} +\begin{paste}{XPolynomialXmpPageFull10}{XPolynomialXmpPageEmpty10} +\pastebutton{XPolynomialXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{trunc(qr,2)\free{qr }} +\indentrel{3}\begin{verbatim} + (10) + - 125 + x(150 + x(- 60) + y(- 90)) + + + y(225 + x(- 90) + y(- 135)) + Type: XPolynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPageEmpty10} +\begin{paste}{XPolynomialXmpPageEmpty10}{XPolynomialXmpPagePatch10} +\pastebutton{XPolynomialXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{trunc(qr,2)\free{qr }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPagePatch11} +\begin{paste}{XPolynomialXmpPageFull11}{XPolynomialXmpPageEmpty11} +\pastebutton{XPolynomialXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{Word := OrderedFreeMonoid Symbol\bound{Word }} +\indentrel{3}\begin{verbatim} + (11) OrderedFreeMonoid Symbol + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPageEmpty11} +\begin{paste}{XPolynomialXmpPageEmpty11}{XPolynomialXmpPagePatch11} +\pastebutton{XPolynomialXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{Word := OrderedFreeMonoid Symbol\bound{Word }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPagePatch12} +\begin{paste}{XPolynomialXmpPageFull12}{XPolynomialXmpPageEmpty12} +\pastebutton{XPolynomialXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{w: Word := x*y**2\free{Word }\bound{w }} +\indentrel{3}\begin{verbatim} + 2 + (12) x y + Type: OrderedFreeMonoid Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPageEmpty12} +\begin{paste}{XPolynomialXmpPageEmpty12}{XPolynomialXmpPagePatch12} +\pastebutton{XPolynomialXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{w: Word := x*y**2\free{Word }\bound{w }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPagePatch13} +\begin{paste}{XPolynomialXmpPageFull13}{XPolynomialXmpPageEmpty13} +\pastebutton{XPolynomialXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{rquo(qr,w)\free{qr }\free{w }} +\indentrel{3}\begin{verbatim} + (13) 18 + Type: XPolynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPageEmpty13} +\begin{paste}{XPolynomialXmpPageEmpty13}{XPolynomialXmpPagePatch13} +\pastebutton{XPolynomialXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{rquo(qr,w)\free{qr }\free{w }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPagePatch14} +\begin{paste}{XPolynomialXmpPageFull14}{XPolynomialXmpPageEmpty14} +\pastebutton{XPolynomialXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{sh(pr,w::poly)\free{pr }\free{w }} +\indentrel{3}\begin{verbatim} + (14) + x(x y y 4 + y(x y 2 + y(- 5 + x 2 + y 9))) + y x y y 3 + Type: XPolynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialXmpPageEmpty14} +\begin{paste}{XPolynomialXmpPageEmpty14}{XPolynomialXmpPagePatch14} +\pastebutton{XPolynomialXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{sh(pr,w::poly)\free{pr }\free{w }} +\end{paste}\end{patch} + @ \section{xpr.ht} \pagehead{XPolynomialRingXmpPage}{xpr.ht}{XPolynomialRing} @@ -22311,6 +62306,331 @@ and the following power. \autobuttons \end{page} +\begin{patch}{XPolynomialRingXmpPagePatch1} +\begin{paste}{XPolynomialRingXmpPageFull1}{XPolynomialRingXmpPageEmpty1} +\pastebutton{XPolynomialRingXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{Word := OrderedFreeMonoid(Symbol)\bound{Word }} +\indentrel{3}\begin{verbatim} + (1) OrderedFreeMonoid Symbol + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPageEmpty1} +\begin{paste}{XPolynomialRingXmpPageEmpty1}{XPolynomialRingXmpPagePatch1} +\pastebutton{XPolynomialRingXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{Word := OrderedFreeMonoid(Symbol)\bound{Word }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPagePatch2} +\begin{paste}{XPolynomialRingXmpPageFull2}{XPolynomialRingXmpPageEmpty2} +\pastebutton{XPolynomialRingXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{poly:= XPR(Integer,Word)\free{Word }\bound{poly }} +\indentrel{3}\begin{verbatim} + (2) + XPolynomialRing(Integer,OrderedFreeMonoid Symbol) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPageEmpty2} +\begin{paste}{XPolynomialRingXmpPageEmpty2}{XPolynomialRingXmpPagePatch2} +\pastebutton{XPolynomialRingXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{poly:= XPR(Integer,Word)\free{Word }\bound{poly }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPagePatch3} +\begin{paste}{XPolynomialRingXmpPageFull3}{XPolynomialRingXmpPageEmpty3} +\pastebutton{XPolynomialRingXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{p:poly := 2 * x - 3 * y + 1\free{poly }\bound{p }} +\indentrel{3}\begin{verbatim} + (3) 1 + 2x - 3y +Type: XPolynomialRing(Integer,OrderedFreeMonoid Symbol) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPageEmpty3} +\begin{paste}{XPolynomialRingXmpPageEmpty3}{XPolynomialRingXmpPagePatch3} +\pastebutton{XPolynomialRingXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{p:poly := 2 * x - 3 * y + 1\free{poly }\bound{p }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPagePatch4} +\begin{paste}{XPolynomialRingXmpPageFull4}{XPolynomialRingXmpPageEmpty4} +\pastebutton{XPolynomialRingXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{q:poly := 2 * x + 1\free{poly }\bound{q }} +\indentrel{3}\begin{verbatim} + (4) 1 + 2x +Type: XPolynomialRing(Integer,OrderedFreeMonoid Symbol) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPageEmpty4} +\begin{paste}{XPolynomialRingXmpPageEmpty4}{XPolynomialRingXmpPagePatch4} +\pastebutton{XPolynomialRingXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{q:poly := 2 * x + 1\free{poly }\bound{q }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPagePatch5} +\begin{paste}{XPolynomialRingXmpPageFull5}{XPolynomialRingXmpPageEmpty5} +\pastebutton{XPolynomialRingXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{p + q\free{p }\free{q }} +\indentrel{3}\begin{verbatim} + (5) 2 + 4x - 3y +Type: XPolynomialRing(Integer,OrderedFreeMonoid Symbol) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPageEmpty5} +\begin{paste}{XPolynomialRingXmpPageEmpty5}{XPolynomialRingXmpPagePatch5} +\pastebutton{XPolynomialRingXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{p + q\free{p }\free{q }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPagePatch6} +\begin{paste}{XPolynomialRingXmpPageFull6}{XPolynomialRingXmpPageEmpty6} +\pastebutton{XPolynomialRingXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{p * q\free{p }\free{q }} +\indentrel{3}\begin{verbatim} + 2 + (6) 1 + 4x - 3y + 4x - 6y x +Type: XPolynomialRing(Integer,OrderedFreeMonoid Symbol) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPageEmpty6} +\begin{paste}{XPolynomialRingXmpPageEmpty6}{XPolynomialRingXmpPagePatch6} +\pastebutton{XPolynomialRingXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{p * q\free{p }\free{q }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPagePatch7} +\begin{paste}{XPolynomialRingXmpPageFull7}{XPolynomialRingXmpPageEmpty7} +\pastebutton{XPolynomialRingXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{(p +q)^2 -p^2 -q^2 - 2*p*q\free{p }\free{q }} +\indentrel{3}\begin{verbatim} + (7) - 6x y + 6y x +Type: XPolynomialRing(Integer,OrderedFreeMonoid Symbol) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPageEmpty7} +\begin{paste}{XPolynomialRingXmpPageEmpty7}{XPolynomialRingXmpPagePatch7} +\pastebutton{XPolynomialRingXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{(p +q)^2 -p^2 -q^2 - 2*p*q\free{p }\free{q }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPagePatch8} +\begin{paste}{XPolynomialRingXmpPageFull8}{XPolynomialRingXmpPageEmpty8} +\pastebutton{XPolynomialRingXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{M := SquareMatrix(2,Fraction Integer)\bound{M }} +\indentrel{3}\begin{verbatim} + (8) SquareMatrix(2,Fraction Integer) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPageEmpty8} +\begin{paste}{XPolynomialRingXmpPageEmpty8}{XPolynomialRingXmpPagePatch8} +\pastebutton{XPolynomialRingXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{M := SquareMatrix(2,Fraction Integer)\bound{M }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPagePatch9} +\begin{paste}{XPolynomialRingXmpPageFull9}{XPolynomialRingXmpPageEmpty9} +\pastebutton{XPolynomialRingXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{poly1:= XPR(M,Word)\free{Word }\free{M }\bound{poly1 }} +\indentrel{3}\begin{verbatim} + (9) + XPolynomialRing(SquareMatrix(2,Fraction Integer),Ordere + dFreeMonoid Symbol) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPageEmpty9} +\begin{paste}{XPolynomialRingXmpPageEmpty9}{XPolynomialRingXmpPagePatch9} +\pastebutton{XPolynomialRingXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{poly1:= XPR(M,Word)\free{Word }\free{M }\bound{poly1 }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPagePatch10} +\begin{paste}{XPolynomialRingXmpPageFull10}{XPolynomialRingXmpPageEmpty10} +\pastebutton{XPolynomialRingXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{m1:M := matrix [[i*j**2 for i in 1..2] for j in 1..2]\free{M }\bound{m1 }} +\indentrel{3}\begin{verbatim} + Ú1 2¿ + (10) ³ ³ + À4 8Ù + Type: SquareMatrix(2,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPageEmpty10} +\begin{paste}{XPolynomialRingXmpPageEmpty10}{XPolynomialRingXmpPagePatch10} +\pastebutton{XPolynomialRingXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{m1:M := matrix [[i*j**2 for i in 1..2] for j in 1..2]\free{M }\bound{m1 }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPagePatch11} +\begin{paste}{XPolynomialRingXmpPageFull11}{XPolynomialRingXmpPageEmpty11} +\pastebutton{XPolynomialRingXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{m2:M := m1 - 5/4\free{M }\free{m1 }\bound{m2 }} +\indentrel{3}\begin{verbatim} + Ú 1 ¿ + ³- Ä 2 ³ + ³ 4 ³ + (11) ³ ³ + ³ 27³ + ³ 4 Äij + À 4Ù + Type: SquareMatrix(2,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPageEmpty11} +\begin{paste}{XPolynomialRingXmpPageEmpty11}{XPolynomialRingXmpPagePatch11} +\pastebutton{XPolynomialRingXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{m2:M := m1 - 5/4\free{M }\free{m1 }\bound{m2 }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPagePatch12} +\begin{paste}{XPolynomialRingXmpPageFull12}{XPolynomialRingXmpPageEmpty12} +\pastebutton{XPolynomialRingXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{m3: M := m2**2\free{M }\free{m2 }\bound{m3 }} +\indentrel{3}\begin{verbatim} + Ú129 ¿ + ³ÄÄÄ 13 ³ + ³ 16 ³ + (12) ³ ³ + ³ 857³ + ³26 ÄÄij + À 16Ù + Type: SquareMatrix(2,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPageEmpty12} +\begin{paste}{XPolynomialRingXmpPageEmpty12}{XPolynomialRingXmpPagePatch12} +\pastebutton{XPolynomialRingXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{m3: M := m2**2\free{M }\free{m2 }\bound{m3 }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPagePatch13} +\begin{paste}{XPolynomialRingXmpPageFull13}{XPolynomialRingXmpPageEmpty13} +\pastebutton{XPolynomialRingXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{pm:poly1 := m1*x + m2*y + m3*z - 2/3\free{poly1 }\free{m1 }\free{m2 }\free{m3 }\bound{pm }} +\indentrel{3}\begin{verbatim} + Ú 2 ¿ Ú 1 ¿ Ú129 ¿ + ³- Ä 0 ³ ³- Ä 2 ³ ³ÄÄÄ 13 ³ + ³ 3 ³ Ú1 2¿ ³ 4 ³ ³ 16 ³ + (13) ³ ³ + ³ ³x + ³ ³y + ³ ³z + ³ 2³ À4 8Ù ³ 27³ ³ 857³ + ³ 0 - ij ³ 4 Äij ³26 ÄÄij + À 3Ù À 4Ù À 16Ù +Type: XPolynomialRing(SquareMatrix(2,Fraction Integer),OrderedFreeMonoid Symbol) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPageEmpty13} +\begin{paste}{XPolynomialRingXmpPageEmpty13}{XPolynomialRingXmpPagePatch13} +\pastebutton{XPolynomialRingXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{pm:poly1 := m1*x + m2*y + m3*z - 2/3\free{poly1 }\free{m1 }\free{m2 }\free{m3 }\bound{pm }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPagePatch14} +\begin{paste}{XPolynomialRingXmpPageFull14}{XPolynomialRingXmpPageEmpty14} +\pastebutton{XPolynomialRingXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{qm:poly1 := pm - m1*x\free{m1 }\free{pm }\bound{qm }} +\indentrel{3}\begin{verbatim} + Ú 2 ¿ Ú 1 ¿ Ú129 ¿ + ³- Ä 0 ³ ³- Ä 2 ³ ³ÄÄÄ 13 ³ + ³ 3 ³ ³ 4 ³ ³ 16 ³ + (14) ³ ³ + ³ ³y + ³ ³z + ³ 2³ ³ 27³ ³ 857³ + ³ 0 - ij ³ 4 Äij ³26 ÄÄij + À 3Ù À 4Ù À 16Ù +Type: XPolynomialRing(SquareMatrix(2,Fraction Integer),OrderedFreeMonoid Symbol) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPageEmpty14} +\begin{paste}{XPolynomialRingXmpPageEmpty14}{XPolynomialRingXmpPagePatch14} +\pastebutton{XPolynomialRingXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{qm:poly1 := pm - m1*x\free{m1 }\free{pm }\bound{qm }} +\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPagePatch15} +\begin{paste}{XPolynomialRingXmpPageFull15}{XPolynomialRingXmpPageEmpty15} +\pastebutton{XPolynomialRingXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{qm**3\bound{qm }} +\indentrel{3}\begin{verbatim} + (15) + Ú 8 ¿ Ú 1 8¿ Ú43 52 ¿ + ³- ÄÄ 0 ³ ³- Ä Ä³ ³ÄÄ ÄÄ ³ + ³ 27 ³ ³ 3 3³ ³ 4 3 ³ + ³ ³ + ³ ³y + ³ ³z + ³ 8³ ³16 ³ ³104 857³ + ³ 0 - Äij ³ÄÄ 9³ ³ÄÄÄ ÄÄij + À 27Ù À 3 Ù À 3 12Ù + + + Ú 129 ¿ Ú 3199 831 ¿ + ³- ÄÄÄ - 26 ³ ³- ÄÄÄÄ - ÄÄÄ ³ + ³ 8 ³ 2 ³ 32 4 ³ + ³ ³y + ³ ³y z + ³ 857³ ³ 831 26467³ + ³- 52 - ÄÄij ³- ÄÄÄ - ÄÄÄÄij + À 8 Ù À 2 32 Ù + + + Ú 3199 831 ¿ Ú 103169 6409 ¿ + ³- ÄÄÄÄ - ÄÄÄ ³ ³- ÄÄÄÄÄÄ - ÄÄÄÄ ³ + ³ 32 4 ³ ³ 128 4 ³ 2 + ³ ³z y + ³ ³z + ³ 831 26467³ ³ 6409 820977³ + ³- ÄÄÄ - ÄÄÄÄij ³ - ÄÄÄÄ - ÄÄÄÄÄij + À 2 32 Ù À 2 128 Ù + + + Ú3199 831 ¿ Ú103169 6409 ¿ + ³ÄÄÄÄ ÄÄÄ ³ ³ÄÄÄÄÄÄ ÄÄÄÄ ³ + ³ 64 8 ³ 3 ³ 256 8 ³ 2 + ³ ³y + ³ ³y z + ³831 26467³ ³ 6409 820977³ + ³ÄÄÄ ÄÄÄÄij ³ ÄÄÄÄ ÄÄÄÄÄij + À 4 64 Ù À 4 256 Ù + + + Ú103169 6409 ¿ Ú3178239 795341 ¿ + ³ÄÄÄÄÄÄ ÄÄÄÄ ³ ³ÄÄÄÄÄÄÄ ÄÄÄÄÄÄ ³ + ³ 256 8 ³ ³ 1024 128 ³ 2 + ³ ³y z y + ³ ³y z + ³ 6409 820977³ ³795341 25447787³ + ³ ÄÄÄÄ ÄÄÄÄÄij ³ÄÄÄÄÄÄ ÄÄÄÄÄÄÄij + À 4 256 Ù À 64 1024 Ù + + + Ú103169 6409 ¿ Ú3178239 795341 ¿ + ³ÄÄÄÄÄÄ ÄÄÄÄ ³ ³ÄÄÄÄÄÄÄ ÄÄÄÄÄÄ ³ + ³ 256 8 ³ 2 ³ 1024 128 ³ + ³ ³z y + ³ ³z y z + ³ 6409 820977³ ³795341 25447787³ + ³ ÄÄÄÄ ÄÄÄÄÄij ³ÄÄÄÄÄÄ ÄÄÄÄÄÄÄij + À 4 256 Ù À 64 1024 Ù + + + Ú3178239 795341 ¿ Ú98625409 12326223 ¿ + ³ÄÄÄÄÄÄÄ ÄÄÄÄÄÄ ³ ³ÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄ ³ + ³ 1024 128 ³ 2 ³ 4096 256 ³ 3 + ³ ³z y + ³ ³z + ³795341 25447787³ ³12326223 788893897³ + ³ÄÄÄÄÄÄ ÄÄÄÄÄÄÄij ³ÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄij + À 64 1024 Ù À 128 4096 Ù +Type: XPolynomialRing(SquareMatrix(2,Fraction Integer),OrderedFreeMonoid Symbol) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{XPolynomialRingXmpPageEmpty15} +\begin{paste}{XPolynomialRingXmpPageEmpty15}{XPolynomialRingXmpPagePatch15} +\pastebutton{XPolynomialRingXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{qm**3\bound{qm }} +\end{paste}\end{patch} + @ \section{zdsolve.ht} \pagehead{ZeroDimSolvePkgXmpPage}{zdsolve.ht} @@ -22594,6 +62914,2280 @@ digits: \autobuttons \end{page} +\begin{patch}{ZeroDimSolvePkgXmpPagePatch1} +\begin{paste}{ZeroDimSolvePkgXmpPageFull1}{ZeroDimSolvePkgXmpPageEmpty1} +\pastebutton{ZeroDimSolvePkgXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{R := Integer\bound{R }} +\indentrel{3}\begin{verbatim} + (1) Integer + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty1} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty1}{ZeroDimSolvePkgXmpPagePatch1} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{R := Integer\bound{R }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch2} +\begin{paste}{ZeroDimSolvePkgXmpPageFull2}{ZeroDimSolvePkgXmpPageEmpty2} +\pastebutton{ZeroDimSolvePkgXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{ls : List Symbol := [x,y,z,t]\bound{ls }} +\indentrel{3}\begin{verbatim} + (2) [x,y,z,t] + Type: List Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty2} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty2}{ZeroDimSolvePkgXmpPagePatch2} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{ls : List Symbol := [x,y,z,t]\bound{ls }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch3} +\begin{paste}{ZeroDimSolvePkgXmpPageFull3}{ZeroDimSolvePkgXmpPageEmpty3} +\pastebutton{ZeroDimSolvePkgXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{ls2 : List Symbol := [x,y,z,t,new()$Symbol]\bound{ls2 }} +\indentrel{3}\begin{verbatim} + (3) [x,y,z,t,%A] + Type: List Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty3} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty3}{ZeroDimSolvePkgXmpPagePatch3} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{ls2 : List Symbol := [x,y,z,t,new()$Symbol]\bound{ls2 }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch4} +\begin{paste}{ZeroDimSolvePkgXmpPageFull4}{ZeroDimSolvePkgXmpPageEmpty4} +\pastebutton{ZeroDimSolvePkgXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{pack := ZDSOLVE(R,ls,ls2)\free{ls }\free{ls2 }\free{R }\bound{pack }} +\indentrel{3}\begin{verbatim} + (4) + ZeroDimensionalSolvePackage(Integer,[x,y,z,t],[x,y,z,t, + %A]) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty4} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty4}{ZeroDimSolvePkgXmpPagePatch4} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{pack := ZDSOLVE(R,ls,ls2)\free{ls }\free{ls2 }\free{R }\bound{pack }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch5} +\begin{paste}{ZeroDimSolvePkgXmpPageFull5}{ZeroDimSolvePkgXmpPageEmpty5} +\pastebutton{ZeroDimSolvePkgXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{p1 := x**2*y*z + x*y**2*z + x*y*z**2 + x*y*z + x*y + x*z + y*z\bound{p1 }} +\indentrel{3}\begin{verbatim} + 2 2 2 + (5) x y z + (x y + (x + x + 1)y + x)z + x y + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty5} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty5}{ZeroDimSolvePkgXmpPagePatch5} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{p1 := x**2*y*z + x*y**2*z + x*y*z**2 + x*y*z + x*y + x*z + y*z\bound{p1 }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch6} +\begin{paste}{ZeroDimSolvePkgXmpPageFull6}{ZeroDimSolvePkgXmpPageEmpty6} +\pastebutton{ZeroDimSolvePkgXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{p2 := x**2*y**2*z + x*y**2*z**2 + x**2*y*z + x*y*z + y*z + x + z\bound{p2 }} +\indentrel{3}\begin{verbatim} + 2 2 2 2 2 + (6) x y z + (x y + (x + x + 1)y + 1)z + x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty6} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty6}{ZeroDimSolvePkgXmpPagePatch6} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{p2 := x**2*y**2*z + x*y**2*z**2 + x**2*y*z + x*y*z + y*z + x + z\bound{p2 }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch7} +\begin{paste}{ZeroDimSolvePkgXmpPageFull7}{ZeroDimSolvePkgXmpPageEmpty7} +\pastebutton{ZeroDimSolvePkgXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{p3 := x**2*y**2*z**2 + x**2*y**2*z + x*y**2*z + x*y*z + x*z + z + 1\bound{p3 }} +\indentrel{3}\begin{verbatim} + 2 2 2 2 2 + (7) x y z + ((x + x)y + x y + x + 1)z + 1 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty7} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty7}{ZeroDimSolvePkgXmpPagePatch7} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{p3 := x**2*y**2*z**2 + x**2*y**2*z + x*y**2*z + x*y*z + x*z + z + 1\bound{p3 }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch8} +\begin{paste}{ZeroDimSolvePkgXmpPageFull8}{ZeroDimSolvePkgXmpPageEmpty8} +\pastebutton{ZeroDimSolvePkgXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{lp := [p1, p2, p3]\free{p1 }\free{p2 }\free{p3 }\bound{lp }} +\indentrel{3}\begin{verbatim} + (8) + 2 2 2 + [x y z + (x y + (x + x + 1)y + x)z + x y, + 2 2 2 2 2 + x y z + (x y + (x + x + 1)y + 1)z + x, + 2 2 2 2 2 + x y z + ((x + x)y + x y + x + 1)z + 1] + Type: List Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty8} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty8}{ZeroDimSolvePkgXmpPagePatch8} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{lp := [p1, p2, p3]\free{p1 }\free{p2 }\free{p3 }\bound{lp }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch9} +\begin{paste}{ZeroDimSolvePkgXmpPageFull9}{ZeroDimSolvePkgXmpPageEmpty9} +\pastebutton{ZeroDimSolvePkgXmpPageFull9}{\hidepaste} +\tab{5}\spadcommand{triangSolve(lp)$pack\free{lp }\free{pack }} +\indentrel{3}\begin{verbatim} + (9) + [ + { + 20 19 18 17 16 15 + z - 6z - 41z + 71z + 106z + 92z + + + 14 13 12 11 10 + 197z + 145z + 257z + 278z + 201z + + + 9 8 7 6 5 4 + 278z + 257z + 145z + 197z + 92z + 106z + + + 3 2 + 71z - 41z - 6z + 1 + , + + 19 18 17 + 14745844z + 50357474z - 130948857z + + + 16 15 14 + - 185261586z - 180077775z - 338007307z + + + 13 12 11 + - 275379623z - 453190404z - 474597456z + + + 10 9 8 + - 366147695z - 481433567z - 430613166z + + + 7 6 5 + - 261878358z - 326073537z - 163008796z + + + 4 3 2 + - 177213227z - 104356755z + 65241699z + + + 9237732z - 1567348 + * + y + + + 19 18 17 + 1917314z + 6508991z - 16973165z + + + 16 15 14 + - 24000259z - 23349192z - 43786426z + + + 13 12 11 + - 35696474z - 58724172z - 61480792z + + + 10 9 8 + - 47452440z - 62378085z - 55776527z + + + 7 6 5 + - 33940618z - 42233406z - 21122875z + + + 4 3 2 + - 22958177z - 13504569z + 8448317z + 1195888z + + + - 202934 + , + + 3 2 3 2 2 + (z - 2z)y + (- z - z - 2z - 1)y - z - z + + + 1 + * + x + + + 2 + z - 1 + } + ] + Type: List RegularChain(Integer,[x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty9} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty9}{ZeroDimSolvePkgXmpPagePatch9} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty9}{\showpaste} +\tab{5}\spadcommand{triangSolve(lp)$pack\free{lp }\free{pack }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch10} +\begin{paste}{ZeroDimSolvePkgXmpPageFull10}{ZeroDimSolvePkgXmpPageEmpty10} +\pastebutton{ZeroDimSolvePkgXmpPageFull10}{\hidepaste} +\tab{5}\spadcommand{univariateSolve(lp)$pack\free{lp }\free{pack }} +\indentrel{3}\begin{verbatim} + (10) + [ + [ + complexRoots = + 12 11 10 9 8 7 6 + ? - 12? + 24? + 4? - 9? + 27? - 21? + + + 5 4 3 2 + 27? - 9? + 4? + 24? - 12? + 1 + , + + coordinates = + [ + 11 10 9 8 + 63x + 62%A - 721%A + 1220%A + 705%A + + + 7 6 5 4 3 + - 285%A + 1512%A - 735%A + 1401%A - 21%A + + + 2 + 215%A + 1577%A - 142 + , + + 11 10 9 8 + 63y - 75%A + 890%A - 1682%A - 516%A + + + 7 6 5 4 3 + 588%A - 1953%A + 1323%A - 1815%A + 426%A + + + 2 + - 243%A - 1801%A + 679 + , + z - %A] + ] + , + + 6 5 4 3 2 + [complexRoots= ? + ? + ? + ? + ? + ? + 1, + 5 3 + coordinates= [x - %A ,y - %A ,z - %A]] + , + + 2 + [complexRoots= ? + 5? + 1, + coordinates= [x - 1,y - 1,z - %A]] + ] +Type: List Record(complexRoots: SparseUnivariatePolynomial Integer,coordinates: List Polynomial Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty10} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty10}{ZeroDimSolvePkgXmpPagePatch10} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty10}{\showpaste} +\tab{5}\spadcommand{univariateSolve(lp)$pack\free{lp }\free{pack }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch11} +\begin{paste}{ZeroDimSolvePkgXmpPageFull11}{ZeroDimSolvePkgXmpPageEmpty11} +\pastebutton{ZeroDimSolvePkgXmpPageFull11}{\hidepaste} +\tab{5}\spadcommand{lr := realSolve(lp)$pack\free{lp }\free{pack }\bound{lr }} +\indentrel{3}\begin{verbatim} + (11) + [ + [%R1, + + 1184459 19 2335702 18 5460230 17 + ÄÄÄÄÄÄÄ %R1 - ÄÄÄÄÄÄÄ %R1 - ÄÄÄÄÄÄÄ %R1 + 1645371 548457 182819 + + + 79900378 16 43953929 15 13420192 14 + ÄÄÄÄÄÄÄÄ %R1 + ÄÄÄÄÄÄÄÄ %R1 + ÄÄÄÄÄÄÄÄ %R1 + 1645371 548457 182819 + + + 553986 13 193381378 12 35978916 11 + ÄÄÄÄÄÄ %R1 + ÄÄÄÄÄÄÄÄÄ %R1 + ÄÄÄÄÄÄÄÄ %R1 + 3731 1645371 182819 + + + 358660781 10 271667666 9 118784873 8 + ÄÄÄÄÄÄÄÄÄ %R1 + ÄÄÄÄÄÄÄÄÄ %R1 + ÄÄÄÄÄÄÄÄÄ %R1 + 1645371 1645371 548457 + + + 337505020 7 1389370 6 688291 5 + ÄÄÄÄÄÄÄÄÄ %R1 + ÄÄÄÄÄÄÄ %R1 + ÄÄÄÄÄÄ %R1 + 1645371 11193 4459 + + + 3378002 4 140671876 3 32325724 2 + ÄÄÄÄÄÄÄ %R1 + ÄÄÄÄÄÄÄÄÄ %R1 + ÄÄÄÄÄÄÄÄ %R1 + 42189 1645371 548457 + + + 8270 9741532 + - ÄÄÄÄ %R1 - ÄÄÄÄÄÄÄ + 343 1645371 + , + + 91729 19 487915 18 4114333 17 + - ÄÄÄÄÄÄ %R1 + ÄÄÄÄÄÄ %R1 + ÄÄÄÄÄÄÄ %R1 + 705159 705159 705159 + + + 1276987 16 13243117 15 16292173 14 + - ÄÄÄÄÄÄÄ %R1 - ÄÄÄÄÄÄÄÄ %R1 - ÄÄÄÄÄÄÄÄ %R1 + 235053 705159 705159 + + + 26536060 13 722714 12 5382578 11 + - ÄÄÄÄÄÄÄÄ %R1 - ÄÄÄÄÄÄ %R1 - ÄÄÄÄÄÄÄ %R1 + 705159 18081 100737 + + + 15449995 10 14279770 9 6603890 8 + - ÄÄÄÄÄÄÄÄ %R1 - ÄÄÄÄÄÄÄÄ %R1 - ÄÄÄÄÄÄÄ %R1 + 235053 235053 100737 + + + 409930 7 37340389 6 34893715 5 + - ÄÄÄÄÄÄ %R1 - ÄÄÄÄÄÄÄÄ %R1 - ÄÄÄÄÄÄÄÄ %R1 + 6027 705159 705159 + + + 26686318 4 801511 3 17206178 2 + - ÄÄÄÄÄÄÄÄ %R1 - ÄÄÄÄÄÄ %R1 - ÄÄÄÄÄÄÄÄ %R1 + 705159 26117 705159 + + + 4406102 377534 + - ÄÄÄÄÄÄÄ %R1 + ÄÄÄÄÄÄ + 705159 705159 + ] + , + + [%R2, + + 1184459 19 2335702 18 5460230 17 + ÄÄÄÄÄÄÄ %R2 - ÄÄÄÄÄÄÄ %R2 - ÄÄÄÄÄÄÄ %R2 + 1645371 548457 182819 + + + 79900378 16 43953929 15 13420192 14 + ÄÄÄÄÄÄÄÄ %R2 + ÄÄÄÄÄÄÄÄ %R2 + ÄÄÄÄÄÄÄÄ %R2 + 1645371 548457 182819 + + + 553986 13 193381378 12 35978916 11 + ÄÄÄÄÄÄ %R2 + ÄÄÄÄÄÄÄÄÄ %R2 + ÄÄÄÄÄÄÄÄ %R2 + 3731 1645371 182819 + + + 358660781 10 271667666 9 118784873 8 + ÄÄÄÄÄÄÄÄÄ %R2 + ÄÄÄÄÄÄÄÄÄ %R2 + ÄÄÄÄÄÄÄÄÄ %R2 + 1645371 1645371 548457 + + + 337505020 7 1389370 6 688291 5 + ÄÄÄÄÄÄÄÄÄ %R2 + ÄÄÄÄÄÄÄ %R2 + ÄÄÄÄÄÄ %R2 + 1645371 11193 4459 + + + 3378002 4 140671876 3 32325724 2 + ÄÄÄÄÄÄÄ %R2 + ÄÄÄÄÄÄÄÄÄ %R2 + ÄÄÄÄÄÄÄÄ %R2 + 42189 1645371 548457 + + + 8270 9741532 + - ÄÄÄÄ %R2 - ÄÄÄÄÄÄÄ + 343 1645371 + , + + 91729 19 487915 18 4114333 17 + - ÄÄÄÄÄÄ %R2 + ÄÄÄÄÄÄ %R2 + ÄÄÄÄÄÄÄ %R2 + 705159 705159 705159 + + + 1276987 16 13243117 15 16292173 14 + - ÄÄÄÄÄÄÄ %R2 - ÄÄÄÄÄÄÄÄ %R2 - ÄÄÄÄÄÄÄÄ %R2 + 235053 705159 705159 + + + 26536060 13 722714 12 5382578 11 + - ÄÄÄÄÄÄÄÄ %R2 - ÄÄÄÄÄÄ %R2 - ÄÄÄÄÄÄÄ %R2 + 705159 18081 100737 + + + 15449995 10 14279770 9 6603890 8 + - ÄÄÄÄÄÄÄÄ %R2 - ÄÄÄÄÄÄÄÄ %R2 - ÄÄÄÄÄÄÄ %R2 + 235053 235053 100737 + + + 409930 7 37340389 6 34893715 5 + - ÄÄÄÄÄÄ %R2 - ÄÄÄÄÄÄÄÄ %R2 - ÄÄÄÄÄÄÄÄ %R2 + 6027 705159 705159 + + + 26686318 4 801511 3 17206178 2 + - ÄÄÄÄÄÄÄÄ %R2 - ÄÄÄÄÄÄ %R2 - ÄÄÄÄÄÄÄÄ %R2 + 705159 26117 705159 + + + 4406102 377534 + - ÄÄÄÄÄÄÄ %R2 + ÄÄÄÄÄÄ + 705159 705159 + ] + , + + [%R3, + + 1184459 19 2335702 18 5460230 17 + ÄÄÄÄÄÄÄ %R3 - ÄÄÄÄÄÄÄ %R3 - ÄÄÄÄÄÄÄ %R3 + 1645371 548457 182819 + + + 79900378 16 43953929 15 13420192 14 + ÄÄÄÄÄÄÄÄ %R3 + ÄÄÄÄÄÄÄÄ %R3 + ÄÄÄÄÄÄÄÄ %R3 + 1645371 548457 182819 + + + 553986 13 193381378 12 35978916 11 + ÄÄÄÄÄÄ %R3 + ÄÄÄÄÄÄÄÄÄ %R3 + ÄÄÄÄÄÄÄÄ %R3 + 3731 1645371 182819 + + + 358660781 10 271667666 9 118784873 8 + ÄÄÄÄÄÄÄÄÄ %R3 + ÄÄÄÄÄÄÄÄÄ %R3 + ÄÄÄÄÄÄÄÄÄ %R3 + 1645371 1645371 548457 + + + 337505020 7 1389370 6 688291 5 + ÄÄÄÄÄÄÄÄÄ %R3 + ÄÄÄÄÄÄÄ %R3 + ÄÄÄÄÄÄ %R3 + 1645371 11193 4459 + + + 3378002 4 140671876 3 32325724 2 + ÄÄÄÄÄÄÄ %R3 + ÄÄÄÄÄÄÄÄÄ %R3 + ÄÄÄÄÄÄÄÄ %R3 + 42189 1645371 548457 + + + 8270 9741532 + - ÄÄÄÄ %R3 - ÄÄÄÄÄÄÄ + 343 1645371 + , + + 91729 19 487915 18 4114333 17 + - ÄÄÄÄÄÄ %R3 + ÄÄÄÄÄÄ %R3 + ÄÄÄÄÄÄÄ %R3 + 705159 705159 705159 + + + 1276987 16 13243117 15 16292173 14 + - ÄÄÄÄÄÄÄ %R3 - ÄÄÄÄÄÄÄÄ %R3 - ÄÄÄÄÄÄÄÄ %R3 + 235053 705159 705159 + + + 26536060 13 722714 12 5382578 11 + - ÄÄÄÄÄÄÄÄ %R3 - ÄÄÄÄÄÄ %R3 - ÄÄÄÄÄÄÄ %R3 + 705159 18081 100737 + + + 15449995 10 14279770 9 6603890 8 + - ÄÄÄÄÄÄÄÄ %R3 - ÄÄÄÄÄÄÄÄ %R3 - ÄÄÄÄÄÄÄ %R3 + 235053 235053 100737 + + + 409930 7 37340389 6 34893715 5 + - ÄÄÄÄÄÄ %R3 - ÄÄÄÄÄÄÄÄ %R3 - ÄÄÄÄÄÄÄÄ %R3 + 6027 705159 705159 + + + 26686318 4 801511 3 17206178 2 + - ÄÄÄÄÄÄÄÄ %R3 - ÄÄÄÄÄÄ %R3 - ÄÄÄÄÄÄÄÄ %R3 + 705159 26117 705159 + + + 4406102 377534 + - ÄÄÄÄÄÄÄ %R3 + ÄÄÄÄÄÄ + 705159 705159 + ] + , + + [%R4, + + 1184459 19 2335702 18 5460230 17 + ÄÄÄÄÄÄÄ %R4 - ÄÄÄÄÄÄÄ %R4 - ÄÄÄÄÄÄÄ %R4 + 1645371 548457 182819 + + + 79900378 16 43953929 15 13420192 14 + ÄÄÄÄÄÄÄÄ %R4 + ÄÄÄÄÄÄÄÄ %R4 + ÄÄÄÄÄÄÄÄ %R4 + 1645371 548457 182819 + + + 553986 13 193381378 12 35978916 11 + ÄÄÄÄÄÄ %R4 + ÄÄÄÄÄÄÄÄÄ %R4 + ÄÄÄÄÄÄÄÄ %R4 + 3731 1645371 182819 + + + 358660781 10 271667666 9 118784873 8 + ÄÄÄÄÄÄÄÄÄ %R4 + ÄÄÄÄÄÄÄÄÄ %R4 + ÄÄÄÄÄÄÄÄÄ %R4 + 1645371 1645371 548457 + + + 337505020 7 1389370 6 688291 5 + ÄÄÄÄÄÄÄÄÄ %R4 + ÄÄÄÄÄÄÄ %R4 + ÄÄÄÄÄÄ %R4 + 1645371 11193 4459 + + + 3378002 4 140671876 3 32325724 2 + ÄÄÄÄÄÄÄ %R4 + ÄÄÄÄÄÄÄÄÄ %R4 + ÄÄÄÄÄÄÄÄ %R4 + 42189 1645371 548457 + + + 8270 9741532 + - ÄÄÄÄ %R4 - ÄÄÄÄÄÄÄ + 343 1645371 + , + + 91729 19 487915 18 4114333 17 + - ÄÄÄÄÄÄ %R4 + ÄÄÄÄÄÄ %R4 + ÄÄÄÄÄÄÄ %R4 + 705159 705159 705159 + + + 1276987 16 13243117 15 16292173 14 + - ÄÄÄÄÄÄÄ %R4 - ÄÄÄÄÄÄÄÄ %R4 - ÄÄÄÄÄÄÄÄ %R4 + 235053 705159 705159 + + + 26536060 13 722714 12 5382578 11 + - ÄÄÄÄÄÄÄÄ %R4 - ÄÄÄÄÄÄ %R4 - ÄÄÄÄÄÄÄ %R4 + 705159 18081 100737 + + + 15449995 10 14279770 9 6603890 8 + - ÄÄÄÄÄÄÄÄ %R4 - ÄÄÄÄÄÄÄÄ %R4 - ÄÄÄÄÄÄÄ %R4 + 235053 235053 100737 + + + 409930 7 37340389 6 34893715 5 + - ÄÄÄÄÄÄ %R4 - ÄÄÄÄÄÄÄÄ %R4 - ÄÄÄÄÄÄÄÄ %R4 + 6027 705159 705159 + + + 26686318 4 801511 3 17206178 2 + - ÄÄÄÄÄÄÄÄ %R4 - ÄÄÄÄÄÄ %R4 - ÄÄÄÄÄÄÄÄ %R4 + 705159 26117 705159 + + + 4406102 377534 + - ÄÄÄÄÄÄÄ %R4 + ÄÄÄÄÄÄ + 705159 705159 + ] + , + + [%R5, + + 1184459 19 2335702 18 5460230 17 + ÄÄÄÄÄÄÄ %R5 - ÄÄÄÄÄÄÄ %R5 - ÄÄÄÄÄÄÄ %R5 + 1645371 548457 182819 + + + 79900378 16 43953929 15 13420192 14 + ÄÄÄÄÄÄÄÄ %R5 + ÄÄÄÄÄÄÄÄ %R5 + ÄÄÄÄÄÄÄÄ %R5 + 1645371 548457 182819 + + + 553986 13 193381378 12 35978916 11 + ÄÄÄÄÄÄ %R5 + ÄÄÄÄÄÄÄÄÄ %R5 + ÄÄÄÄÄÄÄÄ %R5 + 3731 1645371 182819 + + + 358660781 10 271667666 9 118784873 8 + ÄÄÄÄÄÄÄÄÄ %R5 + ÄÄÄÄÄÄÄÄÄ %R5 + ÄÄÄÄÄÄÄÄÄ %R5 + 1645371 1645371 548457 + + + 337505020 7 1389370 6 688291 5 + ÄÄÄÄÄÄÄÄÄ %R5 + ÄÄÄÄÄÄÄ %R5 + ÄÄÄÄÄÄ %R5 + 1645371 11193 4459 + + + 3378002 4 140671876 3 32325724 2 + ÄÄÄÄÄÄÄ %R5 + ÄÄÄÄÄÄÄÄÄ %R5 + ÄÄÄÄÄÄÄÄ %R5 + 42189 1645371 548457 + + + 8270 9741532 + - ÄÄÄÄ %R5 - ÄÄÄÄÄÄÄ + 343 1645371 + , + + 91729 19 487915 18 4114333 17 + - ÄÄÄÄÄÄ %R5 + ÄÄÄÄÄÄ %R5 + ÄÄÄÄÄÄÄ %R5 + 705159 705159 705159 + + + 1276987 16 13243117 15 16292173 14 + - ÄÄÄÄÄÄÄ %R5 - ÄÄÄÄÄÄÄÄ %R5 - ÄÄÄÄÄÄÄÄ %R5 + 235053 705159 705159 + + + 26536060 13 722714 12 5382578 11 + - ÄÄÄÄÄÄÄÄ %R5 - ÄÄÄÄÄÄ %R5 - ÄÄÄÄÄÄÄ %R5 + 705159 18081 100737 + + + 15449995 10 14279770 9 6603890 8 + - ÄÄÄÄÄÄÄÄ %R5 - ÄÄÄÄÄÄÄÄ %R5 - ÄÄÄÄÄÄÄ %R5 + 235053 235053 100737 + + + 409930 7 37340389 6 34893715 5 + - ÄÄÄÄÄÄ %R5 - ÄÄÄÄÄÄÄÄ %R5 - ÄÄÄÄÄÄÄÄ %R5 + 6027 705159 705159 + + + 26686318 4 801511 3 17206178 2 + - ÄÄÄÄÄÄÄÄ %R5 - ÄÄÄÄÄÄ %R5 - ÄÄÄÄÄÄÄÄ %R5 + 705159 26117 705159 + + + 4406102 377534 + - ÄÄÄÄÄÄÄ %R5 + ÄÄÄÄÄÄ + 705159 705159 + ] + , + + [%R6, + + 1184459 19 2335702 18 5460230 17 + ÄÄÄÄÄÄÄ %R6 - ÄÄÄÄÄÄÄ %R6 - ÄÄÄÄÄÄÄ %R6 + 1645371 548457 182819 + + + 79900378 16 43953929 15 13420192 14 + ÄÄÄÄÄÄÄÄ %R6 + ÄÄÄÄÄÄÄÄ %R6 + ÄÄÄÄÄÄÄÄ %R6 + 1645371 548457 182819 + + + 553986 13 193381378 12 35978916 11 + ÄÄÄÄÄÄ %R6 + ÄÄÄÄÄÄÄÄÄ %R6 + ÄÄÄÄÄÄÄÄ %R6 + 3731 1645371 182819 + + + 358660781 10 271667666 9 118784873 8 + ÄÄÄÄÄÄÄÄÄ %R6 + ÄÄÄÄÄÄÄÄÄ %R6 + ÄÄÄÄÄÄÄÄÄ %R6 + 1645371 1645371 548457 + + + 337505020 7 1389370 6 688291 5 + ÄÄÄÄÄÄÄÄÄ %R6 + ÄÄÄÄÄÄÄ %R6 + ÄÄÄÄÄÄ %R6 + 1645371 11193 4459 + + + 3378002 4 140671876 3 32325724 2 + ÄÄÄÄÄÄÄ %R6 + ÄÄÄÄÄÄÄÄÄ %R6 + ÄÄÄÄÄÄÄÄ %R6 + 42189 1645371 548457 + + + 8270 9741532 + - ÄÄÄÄ %R6 - ÄÄÄÄÄÄÄ + 343 1645371 + , + + 91729 19 487915 18 4114333 17 + - ÄÄÄÄÄÄ %R6 + ÄÄÄÄÄÄ %R6 + ÄÄÄÄÄÄÄ %R6 + 705159 705159 705159 + + + 1276987 16 13243117 15 16292173 14 + - ÄÄÄÄÄÄÄ %R6 - ÄÄÄÄÄÄÄÄ %R6 - ÄÄÄÄÄÄÄÄ %R6 + 235053 705159 705159 + + + 26536060 13 722714 12 5382578 11 + - ÄÄÄÄÄÄÄÄ %R6 - ÄÄÄÄÄÄ %R6 - ÄÄÄÄÄÄÄ %R6 + 705159 18081 100737 + + + 15449995 10 14279770 9 6603890 8 + - ÄÄÄÄÄÄÄÄ %R6 - ÄÄÄÄÄÄÄÄ %R6 - ÄÄÄÄÄÄÄ %R6 + 235053 235053 100737 + + + 409930 7 37340389 6 34893715 5 + - ÄÄÄÄÄÄ %R6 - ÄÄÄÄÄÄÄÄ %R6 - ÄÄÄÄÄÄÄÄ %R6 + 6027 705159 705159 + + + 26686318 4 801511 3 17206178 2 + - ÄÄÄÄÄÄÄÄ %R6 - ÄÄÄÄÄÄ %R6 - ÄÄÄÄÄÄÄÄ %R6 + 705159 26117 705159 + + + 4406102 377534 + - ÄÄÄÄÄÄÄ %R6 + ÄÄÄÄÄÄ + 705159 705159 + ] + , + + [%R7, + + 1184459 19 2335702 18 5460230 17 + ÄÄÄÄÄÄÄ %R7 - ÄÄÄÄÄÄÄ %R7 - ÄÄÄÄÄÄÄ %R7 + 1645371 548457 182819 + + + 79900378 16 43953929 15 13420192 14 + ÄÄÄÄÄÄÄÄ %R7 + ÄÄÄÄÄÄÄÄ %R7 + ÄÄÄÄÄÄÄÄ %R7 + 1645371 548457 182819 + + + 553986 13 193381378 12 35978916 11 + ÄÄÄÄÄÄ %R7 + ÄÄÄÄÄÄÄÄÄ %R7 + ÄÄÄÄÄÄÄÄ %R7 + 3731 1645371 182819 + + + 358660781 10 271667666 9 118784873 8 + ÄÄÄÄÄÄÄÄÄ %R7 + ÄÄÄÄÄÄÄÄÄ %R7 + ÄÄÄÄÄÄÄÄÄ %R7 + 1645371 1645371 548457 + + + 337505020 7 1389370 6 688291 5 + ÄÄÄÄÄÄÄÄÄ %R7 + ÄÄÄÄÄÄÄ %R7 + ÄÄÄÄÄÄ %R7 + 1645371 11193 4459 + + + 3378002 4 140671876 3 32325724 2 + ÄÄÄÄÄÄÄ %R7 + ÄÄÄÄÄÄÄÄÄ %R7 + ÄÄÄÄÄÄÄÄ %R7 + 42189 1645371 548457 + + + 8270 9741532 + - ÄÄÄÄ %R7 - ÄÄÄÄÄÄÄ + 343 1645371 + , + + 91729 19 487915 18 4114333 17 + - ÄÄÄÄÄÄ %R7 + ÄÄÄÄÄÄ %R7 + ÄÄÄÄÄÄÄ %R7 + 705159 705159 705159 + + + 1276987 16 13243117 15 16292173 14 + - ÄÄÄÄÄÄÄ %R7 - ÄÄÄÄÄÄÄÄ %R7 - ÄÄÄÄÄÄÄÄ %R7 + 235053 705159 705159 + + + 26536060 13 722714 12 5382578 11 + - ÄÄÄÄÄÄÄÄ %R7 - ÄÄÄÄÄÄ %R7 - ÄÄÄÄÄÄÄ %R7 + 705159 18081 100737 + + + 15449995 10 14279770 9 6603890 8 + - ÄÄÄÄÄÄÄÄ %R7 - ÄÄÄÄÄÄÄÄ %R7 - ÄÄÄÄÄÄÄ %R7 + 235053 235053 100737 + + + 409930 7 37340389 6 34893715 5 + - ÄÄÄÄÄÄ %R7 - ÄÄÄÄÄÄÄÄ %R7 - ÄÄÄÄÄÄÄÄ %R7 + 6027 705159 705159 + + + 26686318 4 801511 3 17206178 2 + - ÄÄÄÄÄÄÄÄ %R7 - ÄÄÄÄÄÄ %R7 - ÄÄÄÄÄÄÄÄ %R7 + 705159 26117 705159 + + + 4406102 377534 + - ÄÄÄÄÄÄÄ %R7 + ÄÄÄÄÄÄ + 705159 705159 + ] + , + + [%R8, + + 1184459 19 2335702 18 5460230 17 + ÄÄÄÄÄÄÄ %R8 - ÄÄÄÄÄÄÄ %R8 - ÄÄÄÄÄÄÄ %R8 + 1645371 548457 182819 + + + 79900378 16 43953929 15 13420192 14 + ÄÄÄÄÄÄÄÄ %R8 + ÄÄÄÄÄÄÄÄ %R8 + ÄÄÄÄÄÄÄÄ %R8 + 1645371 548457 182819 + + + 553986 13 193381378 12 35978916 11 + ÄÄÄÄÄÄ %R8 + ÄÄÄÄÄÄÄÄÄ %R8 + ÄÄÄÄÄÄÄÄ %R8 + 3731 1645371 182819 + + + 358660781 10 271667666 9 118784873 8 + ÄÄÄÄÄÄÄÄÄ %R8 + ÄÄÄÄÄÄÄÄÄ %R8 + ÄÄÄÄÄÄÄÄÄ %R8 + 1645371 1645371 548457 + + + 337505020 7 1389370 6 688291 5 + ÄÄÄÄÄÄÄÄÄ %R8 + ÄÄÄÄÄÄÄ %R8 + ÄÄÄÄÄÄ %R8 + 1645371 11193 4459 + + + 3378002 4 140671876 3 32325724 2 + ÄÄÄÄÄÄÄ %R8 + ÄÄÄÄÄÄÄÄÄ %R8 + ÄÄÄÄÄÄÄÄ %R8 + 42189 1645371 548457 + + + 8270 9741532 + - ÄÄÄÄ %R8 - ÄÄÄÄÄÄÄ + 343 1645371 + , + + 91729 19 487915 18 4114333 17 + - ÄÄÄÄÄÄ %R8 + ÄÄÄÄÄÄ %R8 + ÄÄÄÄÄÄÄ %R8 + 705159 705159 705159 + + + 1276987 16 13243117 15 16292173 14 + - ÄÄÄÄÄÄÄ %R8 - ÄÄÄÄÄÄÄÄ %R8 - ÄÄÄÄÄÄÄÄ %R8 + 235053 705159 705159 + + + 26536060 13 722714 12 5382578 11 + - ÄÄÄÄÄÄÄÄ %R8 - ÄÄÄÄÄÄ %R8 - ÄÄÄÄÄÄÄ %R8 + 705159 18081 100737 + + + 15449995 10 14279770 9 6603890 8 + - ÄÄÄÄÄÄÄÄ %R8 - ÄÄÄÄÄÄÄÄ %R8 - ÄÄÄÄÄÄÄ %R8 + 235053 235053 100737 + + + 409930 7 37340389 6 34893715 5 + - ÄÄÄÄÄÄ %R8 - ÄÄÄÄÄÄÄÄ %R8 - ÄÄÄÄÄÄÄÄ %R8 + 6027 705159 705159 + + + 26686318 4 801511 3 17206178 2 + - ÄÄÄÄÄÄÄÄ %R8 - ÄÄÄÄÄÄ %R8 - ÄÄÄÄÄÄÄÄ %R8 + 705159 26117 705159 + + + 4406102 377534 + - ÄÄÄÄÄÄÄ %R8 + ÄÄÄÄÄÄ + 705159 705159 + ] + ] + Type: List List RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty11} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty11}{ZeroDimSolvePkgXmpPagePatch11} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty11}{\showpaste} +\tab{5}\spadcommand{lr := realSolve(lp)$pack\free{lp }\free{pack }\bound{lr }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch12} +\begin{paste}{ZeroDimSolvePkgXmpPageFull12}{ZeroDimSolvePkgXmpPageEmpty12} +\pastebutton{ZeroDimSolvePkgXmpPageFull12}{\hidepaste} +\tab{5}\spadcommand{\# lr\free{lr }} +\indentrel{3}\begin{verbatim} + (12) 8 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty12} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty12}{ZeroDimSolvePkgXmpPagePatch12} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty12}{\showpaste} +\tab{5}\spadcommand{\# lr\free{lr }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch13} +\begin{paste}{ZeroDimSolvePkgXmpPageFull13}{ZeroDimSolvePkgXmpPageEmpty13} +\pastebutton{ZeroDimSolvePkgXmpPageFull13}{\hidepaste} +\tab{5}\spadcommand{[[approximate(r,1/1000000) for r in point] for point in lr]\free{lr }} +\indentrel{3}\begin{verbatim} + (13) + [ + 10048059 + [- ÄÄÄÄÄÄÄÄ, + 2097152 + + 450305731698538794352439791383896641459673197621_ + 17682193358812083855163140589245671760914236296_ + 95777403099833360761048898228916578137094309838_ + 59733113720258484693913237615701950676035760116_ + 59174549868153820987890948515234203928112931261_ + 41329856546977145464661495487825919941188447041_ + 72244049192156726354215802806143775884436463441_ + 0045253024786561923163288214175 + / + 450305728302524548851651180698582663508310069375_ + 73204652805547068656449495775099168672018894380_ + 90408354817931718593862797624551518983570793048_ + 77442429148870882984032418920030143612331486020_ + 08214437337907553112436329198648954217042289495_ + 71290016119498807957023663865443069392027148979_ + 68826671232335604349152343406892427528041733857_ + 4817381189277066143312396681216 + , + + 210626076882347507389479868048601659624960714869_ + 06855387636837150206396808586496507900558895056_ + 46893309447097099937802187329095325898785247249_ + 02071750498366048207515661873872451468533306001_ + 12029646351663813515432559822002503052839810868_ + 37110614842307026091211297929876896285681830479_ + 05476005638076266490561846205530604781619178201_ + 15887037891389881895 + / + 210626060949846419247211380481647417534196295329_ + 64341024139031423687579676852738885855909759652_ + 11778862189872881953943640246297357061959812326_ + 10365979902512686325867656720234210687703171018_ + 42474841814232889218376812370627084702957062184_ + 85928867400771937828499200923760593314168901000_ + 66637389634759811822855673103707202647449677622_ + 83837629939232800768 + ] + , + + 2563013 + [- ÄÄÄÄÄÄÄ, + 2097152 + + - + 261134617679192778969861769323775771923825996_ + 30635417819227523304401898996680729283384907_ + 68623593207442125925986733815932243504809294_ + 83752303023733723680666816744617300172727135_ + 3311571242897 + / + 116522540050522253058398191600458914375722661_ + 02768589900087901348199149409224137539839713_ + 94019523433320408139928153188829495755455163_ + 96341761930839597754479714023146923426903492_ + 1938055593984 + , + + 357259455027591722109658872961578827299851705467_ + 56032395781981410060340917352828265906219023044_ + 66963941971038923304526273329316373757450061978_ + 9892286110976997087250466235373 + / + 103954826934559893687707124483402605580081455112_ + 01705922005223665917594096594864423391410294529_ + 50265179989960104811875822530205346505131581243_ + 9017247289173865014702966308864 + ] + , + + 1715967 + [- ÄÄÄÄÄÄÄ, + 2097152 + + - + 421309353378430352108483951797708239037726150_ + 39695862248289984366060306560763593745648137_ + 73498376603121267822565801436206939519951465_ + 18222580524697287410022543952491 + / + 944181414418537445864969203434922405243659747_ + 09662536639306419607958058825854931998401916_ + 99917659443264824641135187383583888147867340_ + 19307857605820364195856822304768 + , + + 763583334711264422251562542441083122534747566900_ + 85893388341621725019049943763467308768090428452_ + 08919919925302105720971453918982731389072591403_ + 5 + / + 262418876408609719978429761047806663393423046789_ + 58516022785809785037845492057884990196406022669_ + 66026891580103543567625039018629887141284916756_ + 48 + ] + , + + 437701 + [- ÄÄÄÄÄÄÄ, + 2097152 + + 168310690863834958832217233265422591356298631318_ + 19510314527501614414974734553281507213648683555_ + 79646781603507777199075077835213366484533654913_ + 83623741304759 + / + 168310686809521338900170998270591363896307766873_ + 12261111677851880049074252262986803258878109626_ + 14140298597366984264887998908377068799998454233_ + 81649008099328 + , + + 496155010983501018642268101342210873595871480100_ + 37606397079680966469128267084728344431172391721_ + 9104249213450966312411133 + / + 496154987275773831550919207821020902985289711861_ + 10971262363840408293765926191431317025486746479_ + 2718363492160482442215424 + ] + , + + 222801 + [ÄÄÄÄÄÄÄ, + 2097152 + + - + 899488488040242826510759512197069142713604569_ + 25419782755730018652137599215881377166961263_ + 49101655220195142994932299137183241705867672_ + 383477 + / + 116788999866502637217776510069188858270896996_ + 02299347696908357524570777794164352094737678_ + 66507769405888942764587718542434255625992456_ + 372224 + , + + - + 238970488813315687832080154437380839561277150_ + 92084910198474529918855095465195254678390166_ + 13593999693886640036283570552321155037871291_ + 458703265 + / + 535548727364509632609040328668993190598822544_ + 46854114332215938336811929575628336714686542_ + 90340746993656285925599117602120446183443145_ + 479421952 + ] + , + + 765693 + [ÄÄÄÄÄÄÄ, + 2097152 + + 855896921981671626787324476117819808872469895861_ + 66701402137657543220023032516857861186783308402_ + 03328837654339523418704917749518340772512899000_ + 391009630373148561 + / + 294144244553301079097642841137639349981558021594_ + 58569179064525354957230138568189417023302287798_ + 90141296236721138154231997238917322156711965244_ + 4639331719460159488 + , + + - + 205761823058257210124765032486024256111130258_ + 15435888088439236627675493822416593627122907_ + 77612800192921420574408948085193743688582762_ + 2246433251878894899015 + / + 267159820332573553809795235350145022057631375_ + 98908350970917225206427101987719026671839489_ + 06289863714759678360292483949204616471537777_ + 775324180661095366656 + ] + , + + 5743879 + [ÄÄÄÄÄÄÄ, + 2097152 + + 107628881696890684795554639477357020817145672494_ + 26186140236631235747689608504342639713980725465_ + 92772662158833449797698617455397887562900072984_ + 76800060834355318980169340872720504761255988923_ + 27575638305286889535354218094827710589175426028_ + 90060941949620874083007858366669453501766248414_ + 88732463225 + / + 313176895708031794664846194002355204419037661345_ + 85849862285496319161966016162197817656155325322_ + 94746529648276430583810894079374566460757823146_ + 88858119555602920851521883888320031865840746939_ + 94260632605898286123092315966691297079864813198_ + 51571942927230340622934023923486703042068153044_ + 0845099008 + , + + - + 211328669918575091836412047556545843787017248_ + 98654859943898281353352644446652845575264927_ + 34931691731407872701432935503473348172076098_ + 72054584900878007756416053431789468836611952_ + 97399805029441626685500981279619504962102219_ + 42878089359674925850594427768502251789758706_ + 752831632503615 + / + 162761558493798758024290662434710458088914446_ + 61684597180431538394083725255333098080703636_ + 99585502216011211087103263609551026027769414_ + 08739114812622116813978168258743807532259146_ + 61319399754572005223498385689642856344480185_ + 62038272378787354460106106141518010935617205_ + 1706396253618176 + ] + , + + 19739877 + [ÄÄÄÄÄÄÄÄ, + 2097152 + + - + 299724993683270330379901580486152094921504038_ + 75007071777012857667201925305794224789535660_ + 24359860143101547801638082771611160372212874_ + 84777803580987284314922548423836585801362934_ + 17053217025823333509180096017899370239859353_ + 04900460493389873837030853410347089908880814_ + 85398113201846458245880061539477074169948729_ + 58759602107502158919488144768548710315309312_ + 95467332190133702671098200902282300510751860_ + 71859284570302778073977965258138627622392869_ + 96106809728023675 + / + 230843327485227859072891008119181102390650414_ + 13214326461239367948739333192706089607021381_ + 93417647898360620229519176632937631786851455_ + 01476602720625902225250555174182368889688380_ + 66366025744317604722402920931967294751602472_ + 68834121141893318848728661844434927287285112_ + 89708076755286489505658586403317856591038706_ + 50061128015164035227410373609905560544769495_ + 27059227070809593049491257519554708879259595_ + 52929920110858560812556635485429471554031675_ + 979542656381353984 + , + + - + 512818926354822848909627639786894008060093841_ + 06630804594079663358450092641094905204598253_ + 16250084723010047035024497436523038925818959_ + 28931293158470135392762143543439867426304729_ + 39091228501338519906964902315660943719943337_ + 95070782624011727587749989296611277318372294_ + 62420711653791043655457414608288470130554391_ + 26204193548854107359401577758966028223645758_ + 64611831512943973974715166920465061850603762_ + 87516256195847052412587282839139194642913955 + / + 228828193977843933053120879318129047118363109_ + 24553689903863908242435094636442362497730806_ + 47438987739144921607794682653851741189091711_ + 74186814511497833728419182249767586835872948_ + 66447308566225526872092037244118004814057028_ + 37198310642291275676195774614443815996713502_ + 62939174978359004147086012775237299648862774_ + 26724876224800632688088893248918508424949343_ + 47337603075939980268208482904859678177751444_ + 65749979827872616963053217673201717237252096 + ] + ] + Type: List List Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty13} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty13}{ZeroDimSolvePkgXmpPagePatch13} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty13}{\showpaste} +\tab{5}\spadcommand{[[approximate(r,1/1000000) for r in point] for point in lr]\free{lr }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch14} +\begin{paste}{ZeroDimSolvePkgXmpPageFull14}{ZeroDimSolvePkgXmpPageEmpty14} +\pastebutton{ZeroDimSolvePkgXmpPageFull14}{\hidepaste} +\tab{5}\spadcommand{lpr := positiveSolve(lp)$pack\free{lp }\free{pack }\bound{lpr }} +\indentrel{3}\begin{verbatim} + (14) [] + Type: List List RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty14} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty14}{ZeroDimSolvePkgXmpPagePatch14} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty14}{\showpaste} +\tab{5}\spadcommand{lpr := positiveSolve(lp)$pack\free{lp }\free{pack }\bound{lpr }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch15} +\begin{paste}{ZeroDimSolvePkgXmpPageFull15}{ZeroDimSolvePkgXmpPageEmpty15} +\pastebutton{ZeroDimSolvePkgXmpPageFull15}{\hidepaste} +\tab{5}\spadcommand{f0 := x**3 + y + z + t- 1\bound{f0 }} +\indentrel{3}\begin{verbatim} + 3 + (15) z + y + x + t - 1 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty15} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty15}{ZeroDimSolvePkgXmpPagePatch15} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty15}{\showpaste} +\tab{5}\spadcommand{f0 := x**3 + y + z + t- 1\bound{f0 }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch16} +\begin{paste}{ZeroDimSolvePkgXmpPageFull16}{ZeroDimSolvePkgXmpPageEmpty16} +\pastebutton{ZeroDimSolvePkgXmpPageFull16}{\hidepaste} +\tab{5}\spadcommand{f1 := x + y**3 + z + t -1\bound{f1 }} +\indentrel{3}\begin{verbatim} + 3 + (16) z + y + x + t - 1 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty16} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty16}{ZeroDimSolvePkgXmpPagePatch16} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty16}{\showpaste} +\tab{5}\spadcommand{f1 := x + y**3 + z + t -1\bound{f1 }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch17} +\begin{paste}{ZeroDimSolvePkgXmpPageFull17}{ZeroDimSolvePkgXmpPageEmpty17} +\pastebutton{ZeroDimSolvePkgXmpPageFull17}{\hidepaste} +\tab{5}\spadcommand{f2 := x + y + z**3 + t-1\bound{f2 }} +\indentrel{3}\begin{verbatim} + 3 + (17) z + y + x + t - 1 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty17} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty17}{ZeroDimSolvePkgXmpPagePatch17} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty17}{\showpaste} +\tab{5}\spadcommand{f2 := x + y + z**3 + t-1\bound{f2 }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch18} +\begin{paste}{ZeroDimSolvePkgXmpPageFull18}{ZeroDimSolvePkgXmpPageEmpty18} +\pastebutton{ZeroDimSolvePkgXmpPageFull18}{\hidepaste} +\tab{5}\spadcommand{f3 := x + y + z + t**3 -1\bound{f3 }} +\indentrel{3}\begin{verbatim} + 3 + (18) z + y + x + t - 1 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty18} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty18}{ZeroDimSolvePkgXmpPagePatch18} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty18}{\showpaste} +\tab{5}\spadcommand{f3 := x + y + z + t**3 -1\bound{f3 }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch19} +\begin{paste}{ZeroDimSolvePkgXmpPageFull19}{ZeroDimSolvePkgXmpPageEmpty19} +\pastebutton{ZeroDimSolvePkgXmpPageFull19}{\hidepaste} +\tab{5}\spadcommand{lf := [f0, f1, f2, f3]\free{f0 }\free{f1 }\free{f2 }\free{f3 }\bound{lf }} +\indentrel{3}\begin{verbatim} + (19) + 3 3 + [z + y + x + t - 1, z + y + x + t - 1, + 3 3 + z + y + x + t - 1, z + y + x + t - 1] + Type: List Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty19} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty19}{ZeroDimSolvePkgXmpPagePatch19} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty19}{\showpaste} +\tab{5}\spadcommand{lf := [f0, f1, f2, f3]\free{f0 }\free{f1 }\free{f2 }\free{f3 }\bound{lf }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch20} +\begin{paste}{ZeroDimSolvePkgXmpPageFull20}{ZeroDimSolvePkgXmpPageEmpty20} +\pastebutton{ZeroDimSolvePkgXmpPageFull20}{\hidepaste} +\tab{5}\spadcommand{lts := triangSolve(lf)$pack\free{lf }\free{pack }\bound{lts }} +\indentrel{3}\begin{verbatim} + (20) + [ + 2 3 3 + {t + t + 1, z - z - t + t, + + 3 2 + (3z + 3t - 3)y + + + 2 3 6 3 3 2 + (3z + (6t - 6)z + 3t - 6t + 3)y + (3t - 3)z + + + 6 3 9 6 3 + (3t - 6t + 3)z + t - 3t + 5t - 3t + , + x + y + z} + , + + 16 13 10 7 4 2 + {t - 6t + 9t + 4t + 15t - 54t + 27, + + 15 14 13 + 4907232t + 40893984t - 115013088t + + + 12 11 10 + 22805712t + 36330336t + 162959040t + + + 9 8 7 + - 159859440t - 156802608t + 117168768t + + + 6 5 4 + 126282384t - 129351600t + 306646992t + + + 3 2 + 475302816t - 1006837776t - 237269088t + + + 480716208 + * + z + + + 54 51 48 46 45 + 48t - 912t + 8232t - 72t - 46848t + + + 43 42 40 39 + 1152t + 186324t - 3780t - 543144t + + + 38 37 36 35 + - 3168t - 21384t + 1175251t + 41184t + + + 34 33 32 31 + 278003t - 1843242t - 301815t - 1440726t + + + 30 29 28 27 + 1912012t + 1442826t + 4696262t - 922481t + + + 26 25 24 + - 4816188t - 10583524t - 208751t + + + 23 22 21 + 11472138t + 16762859t - 857663t + + + 20 19 18 + - 19328175t - 18270421t + 4914903t + + + 17 16 15 + 22483044t + 12926517t - 8605511t + + + 14 13 12 + - 17455518t - 5014597t + 8108814t + + + 11 10 9 8 + 8465535t + 190542t - 4305624t - 2226123t + + + 7 6 5 4 + 661905t + 1169775t + 226260t - 209952t + + + 3 + - 141183t + 27216t + , + + 3 2 + (3z + 3t - 3)y + + + 2 3 6 3 3 2 + (3z + (6t - 6)z + 3t - 6t + 3)y + (3t - 3)z + + + 6 3 9 6 3 + (3t - 6t + 3)z + t - 3t + 5t - 3t + , + 3 + x + y + z + t - 1} + , + 2 2 + {t,z - 1,y - 1,x + y}, {t - 1,z,y - 1,x + y}, + 2 + {t - 1,z - 1,z y + 1,x}, + + 16 13 10 7 4 2 + {t - 6t + 9t + 4t + 15t - 54t + 27, + + 29 28 27 + 4907232t + 40893984t - 115013088t + + + 26 25 24 + - 1730448t - 168139584t + 738024480t + + + 23 22 21 + - 195372288t + 315849456t - 2567279232t + + + 20 19 18 + 937147968t + 1026357696t + 4780488240t + + + 17 16 + - 2893767696t - 5617160352t + + + 15 14 + - 3427651728t + 5001100848t + + + 13 12 11 + 8720098416t + 2331732960t - 499046544t + + + 10 9 + - 16243306272t - 9748123200t + + + 8 7 6 + 3927244320t + 25257280896t + 10348032096t + + + 5 4 3 + - 17128672128t - 14755488768t + 544086720t + + + 2 + 10848188736t + 1423614528t - 2884297248 + * + z + + + 68 65 62 60 59 + - 48t + 1152t - 13560t + 360t + 103656t + + + 57 56 54 53 + - 7560t - 572820t + 71316t + 2414556t + + + 52 51 50 49 + 2736t - 402876t - 7985131t - 49248t + + + 48 47 46 45 + 1431133t + 20977409t + 521487t - 2697635t + + + 44 43 42 + - 43763654t - 3756573t - 2093410t + + + 41 40 39 + 71546495t + 19699032t + 35025028t + + + 38 37 36 + - 89623786t - 77798760t - 138654191t + + + 35 34 33 + 87596128t + 235642497t + 349607642t + + + 32 31 30 + - 93299834t - 551563167t - 630995176t + + + 29 28 27 + 186818962t + 995427468t + 828416204t + + + 26 25 24 + - 393919231t - 1076617485t - 1609479791t + + + 23 22 21 + 595738126t + 1198787136t + 4342832069t + + + 20 19 18 + - 2075938757t - 4390835799t - 4822843033t + + + 17 16 15 + 6932747678t + 6172196808t + 1141517740t + + + 14 13 12 + - 4981677585t - 9819815280t - 7404299976t + + + 11 10 9 + - 157295760t + 29124027630t + 14856038208t + + + 8 7 6 + - 16184101410t - 26935440354t - 3574164258t + + + 5 4 3 + 10271338974t + 11191425264t + 6869861262t + + + 2 + - 9780477840t - 3586674168t + 2884297248 + , + + 3 3 2 6 3 9 + 3z + (6t - 6)z + (6t - 12t + 3)z + 2t + + + 6 3 + - 6t + t + 3t + * + y + + + 3 3 6 3 2 + (3t - 3)z + (6t - 12t + 6)z + + + 9 6 3 12 9 6 3 + (4t - 12t + 11t - 3)z + t - 4t + 5t - 2t + , + 3 + x + y + z + t - 1} + , + 2 + {t - 1,z - 1,y,x + z}, + + 8 7 6 5 4 3 2 + {t + t + t - 2t - 2t - 2t + 19t + 19t - 8, + + 7 6 5 + 2395770t + 3934440t - 3902067t + + + 4 3 2 + - 10084164t - 1010448t + 32386932t + + + 22413225t - 10432368 + * + z + + + 7 6 5 4 + - 463519t + 3586833t + 9494955t - 8539305t + + + 3 2 + - 33283098t + 35479377t + 46263256t - 17419896 + , + + 4 3 3 6 3 2 + 3z + (9t - 9)z + (12t - 24t + 9)z + + + 3 6 4 3 + (- 152t + 219t - 67)z - 41t + 57t + 25t + + + - 57t + 16 + * + y + + + 3 4 6 3 3 + (3t - 3)z + (9t - 18t + 9)z + + + 3 2 + (- 181t + 270t - 89)z + + + 6 4 3 7 + (- 92t + 135t + 49t - 135t + 43)z + 27t + + + 6 4 3 + - 27t - 54t + 396t - 486t + 144 + , + 3 + x + y + z + t - 1} + , + 3 + {t,z - t + 1,y - 1,x - 1}, {t - 1,z,y,x}, + {t,z - 1,y,x}, {t,z,y - 1,x}, {t,z,y,x - 1}] + Type: List RegularChain(Integer,[x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty20} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty20}{ZeroDimSolvePkgXmpPagePatch20} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty20}{\showpaste} +\tab{5}\spadcommand{lts := triangSolve(lf)$pack\free{lf }\free{pack }\bound{lts }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch21} +\begin{paste}{ZeroDimSolvePkgXmpPageFull21}{ZeroDimSolvePkgXmpPageEmpty21} +\pastebutton{ZeroDimSolvePkgXmpPageFull21}{\hidepaste} +\tab{5}\spadcommand{univariateSolve(lf)$pack\free{lf }\free{pack }} +\indentrel{3}\begin{verbatim} + (21) + [ + [complexRoots= ?, + coordinates= [x - 1,y - 1,z + 1,t - %A]] + , + [complexRoots= ?,coordinates= [x,y - 1,z,t - %A]], + [complexRoots= ? - 1,coordinates= [x,y,z,t - %A]], + [complexRoots= ?,coordinates= [x - 1,y,z,t - %A]], + [complexRoots= ?,coordinates= [x,y,z - 1,t - %A]], + + [complexRoots= ? - 2, + coordinates= [x - 1,y + 1,z,t - 1]] + , + [complexRoots= ?,coordinates= [x + 1,y - 1,z,t - 1]], + + [complexRoots= ? - 1, + coordinates= [x - 1,y + 1,z - 1,t]] + , + + [complexRoots= ? + 1, + coordinates= [x + 1,y - 1,z - 1,t]] + , + + 6 3 2 + [complexRoots= ? - 2? + 3? - 3, + + coordinates = + 3 3 + [2x + %A + %A - 1, 2y + %A + %A - 1, z - %A, + t - %A] + ] + , + + 5 3 2 + [complexRoots= ? + 3? - 2? + 3? - 3, + + coordinates = + 3 + [x - %A,y - %A,z + %A + 2%A - 1,t - %A] + ] + , + + 4 3 2 + [complexRoots= ? - ? - 2? + 3, + + coordinates = + 3 3 + [x + %A - %A - 1, y + %A - %A - 1, + 3 + z - %A + 2%A + 1, t - %A] + ] + , + + [complexRoots= ? + 1, + coordinates= [x - 1,y - 1,z,t - %A]] + , + + 6 3 2 + [complexRoots= ? + 2? + 3? - 3, + + coordinates = + 3 3 + [2x - %A - %A - 1, y + %A, 2z - %A - %A - 1, + t + %A] + ] + , + + 6 4 3 2 + [complexRoots= ? + 12? + 20? - 45? - 42? - 953, + + coordinates = + [ + 5 4 3 2 + 12609x + 23%A + 49%A - 46%A + 362%A + + + - 5015%A - 8239 + , + + 5 4 3 2 + 25218y + 23%A + 49%A - 46%A + 362%A + + + 7594%A - 8239 + , + + 5 4 3 2 + 25218z + 23%A + 49%A - 46%A + 362%A + + + 7594%A - 8239 + , + + 5 4 3 2 + 12609t + 23%A + 49%A - 46%A + 362%A + + + - 5015%A - 8239 + ] + ] + , + + 5 3 2 + [complexRoots= ? + 12? - 16? + 48? - 96, + + coordinates = + 3 + [8x + %A + 8%A - 8,2y - %A,2z - %A,2t - %A] + ] + , + + 5 4 3 2 + [complexRoots= ? + ? - 5? - 3? + 9? + 3, + + coordinates = + 3 3 + [2x - %A + 2%A - 1, 2y + %A - 4%A + 1, + 3 3 + 2z - %A + 2%A - 1, 2t - %A + 2%A - 1] + ] + , + + 4 3 2 + [complexRoots= ? - 3? + 4? - 6? + 13, + + coordinates = + 3 2 + [9x - 2%A + 4%A - %A + 2, + 3 2 + 9y + %A - 2%A + 5%A - 1, + 3 2 + 9z + %A - 2%A + 5%A - 1, + 3 2 + 9t + %A - 2%A - 4%A - 1] + ] + , + + 4 2 + [complexRoots= ? - 11? + 37, + + coordinates = + 2 2 2 + [3x - %A + 7, 6y + %A + 3%A - 7, 3z - %A + 7, + 2 + 6t + %A - 3%A - 7] + ] + , + + [complexRoots= ? + 1, + coordinates= [x - 1,y,z - 1,t + 1]] + , + + [complexRoots= ? + 2, + coordinates= [x,y - 1,z - 1,t + 1]] + , + + [complexRoots= ? - 2, + coordinates= [x,y - 1,z + 1,t - 1]] + , + [complexRoots= ?,coordinates= [x,y + 1,z - 1,t - 1]], + + [complexRoots= ? - 2, + coordinates= [x - 1,y,z + 1,t - 1]] + , + [complexRoots= ?,coordinates= [x + 1,y,z - 1,t - 1]], + + 4 3 2 + [complexRoots= ? + 5? + 16? + 30? + 57, + + coordinates = + 3 2 + [151x + 15%A + 54%A + 104%A + 93, + 3 2 + 151y - 10%A - 36%A - 19%A - 62, + 3 2 + 151z - 5%A - 18%A - 85%A - 31, + 3 2 + 151t - 5%A - 18%A - 85%A - 31] + ] + , + + 4 3 2 + [complexRoots= ? - ? - 2? + 3, + + coordinates = + 3 3 + [x - %A + 2%A + 1, y + %A - %A - 1, z - %A, + 3 + t + %A - %A - 1] + ] + , + + 4 3 2 + [complexRoots= ? + 2? - 8? + 48, + + coordinates = + 3 + [8x - %A + 4%A - 8, 2y + %A, + 3 3 + 8z + %A - 8%A + 8, 8t - %A + 4%A - 8] + ] + , + + 5 4 3 2 + [complexRoots= ? + ? - 2? - 4? + 5? + 8, + + coordinates = + 3 3 3 + [3x + %A - 1,3y + %A - 1,3z + %A - 1,t - %A] + ] + , + + 3 + [complexRoots= ? + 3? - 1, + coordinates= [x - %A,y - %A,z - %A,t - %A]] + ] +Type: List Record(complexRoots: SparseUnivariatePolynomial Integer,coordinates: List Polynomial Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty21} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty21}{ZeroDimSolvePkgXmpPagePatch21} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty21}{\showpaste} +\tab{5}\spadcommand{univariateSolve(lf)$pack\free{lf }\free{pack }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch22} +\begin{paste}{ZeroDimSolvePkgXmpPageFull22}{ZeroDimSolvePkgXmpPageEmpty22} +\pastebutton{ZeroDimSolvePkgXmpPageFull22}{\hidepaste} +\tab{5}\spadcommand{ts := lts.1\free{lts }\bound{ts }} +\indentrel{3}\begin{verbatim} + (22) + 2 3 3 + {t + t + 1, z - z - t + t, + + 3 2 + (3z + 3t - 3)y + + + 2 3 6 3 3 2 + (3z + (6t - 6)z + 3t - 6t + 3)y + (3t - 3)z + + + 6 3 9 6 3 + (3t - 6t + 3)z + t - 3t + 5t - 3t + , + x + y + z} + Type: RegularChain(Integer,[x,y,z,t]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty22} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty22}{ZeroDimSolvePkgXmpPagePatch22} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty22}{\showpaste} +\tab{5}\spadcommand{ts := lts.1\free{lts }\bound{ts }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch23} +\begin{paste}{ZeroDimSolvePkgXmpPageFull23}{ZeroDimSolvePkgXmpPageEmpty23} +\pastebutton{ZeroDimSolvePkgXmpPageFull23}{\hidepaste} +\tab{5}\spadcommand{univariateSolve(ts)$pack\free{ts }\free{pack }} +\indentrel{3}\begin{verbatim} + (23) + [ + 4 3 2 + [complexRoots= ? + 5? + 16? + 30? + 57, + + coordinates = + 3 2 + [151x + 15%A + 54%A + 104%A + 93, + 3 2 + 151y - 10%A - 36%A - 19%A - 62, + 3 2 + 151z - 5%A - 18%A - 85%A - 31, + 3 2 + 151t - 5%A - 18%A - 85%A - 31] + ] + , + + 4 3 2 + [complexRoots= ? - ? - 2? + 3, + + coordinates = + 3 3 + [x - %A + 2%A + 1, y + %A - %A - 1, z - %A, + 3 + t + %A - %A - 1] + ] + , + + 4 3 2 + [complexRoots= ? + 2? - 8? + 48, + + coordinates = + 3 + [8x - %A + 4%A - 8, 2y + %A, + 3 3 + 8z + %A - 8%A + 8, 8t - %A + 4%A - 8] + ] + ] +Type: List Record(complexRoots: SparseUnivariatePolynomial Integer,coordinates: List Polynomial Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty23} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty23}{ZeroDimSolvePkgXmpPagePatch23} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty23}{\showpaste} +\tab{5}\spadcommand{univariateSolve(ts)$pack\free{ts }\free{pack }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch24} +\begin{paste}{ZeroDimSolvePkgXmpPageFull24}{ZeroDimSolvePkgXmpPageEmpty24} +\pastebutton{ZeroDimSolvePkgXmpPageFull24}{\hidepaste} +\tab{5}\spadcommand{realSolve(ts)$pack\free{ts }\free{pack }} +\indentrel{3}\begin{verbatim} + (24) [] + Type: List List RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty24} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty24}{ZeroDimSolvePkgXmpPagePatch24} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty24}{\showpaste} +\tab{5}\spadcommand{realSolve(ts)$pack\free{ts }\free{pack }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch25} +\begin{paste}{ZeroDimSolvePkgXmpPageFull25}{ZeroDimSolvePkgXmpPageEmpty25} +\pastebutton{ZeroDimSolvePkgXmpPageFull25}{\hidepaste} +\tab{5}\spadcommand{lr2 := realSolve(lf)$pack\free{lf }\free{pack }\bound{lr2 }} +\indentrel{3}\begin{verbatim} + (25) + [[0,- 1,1,1], [0,0,1,0], [1,0,0,0], [0,0,0,1], + [0,1,0,0], [1,0,%R37,- %R37], [1,0,%R38,- %R38], + [0,1,%R35,- %R35], [0,1,%R36,- %R36], [- 1,0,1,1], + + [%R32, + + 1 15 2 14 1 13 4 12 + ÄÄ %R32 + ÄÄ %R32 + ÄÄ %R32 - ÄÄ %R32 + 27 27 27 27 + + + 11 11 4 10 1 9 14 8 + - ÄÄ %R32 - ÄÄ %R32 + ÄÄ %R32 + ÄÄ %R32 + 27 27 27 27 + + + 1 7 2 6 1 5 2 4 3 + ÄÄ %R32 + Ä %R32 + Ä %R32 + Ä %R32 + %R32 + 27 9 3 9 + + + 4 2 + Ä %R32 - %R32 - 2 + 3 + , + + 1 15 1 14 1 13 2 12 + - ÄÄ %R32 - ÄÄ %R32 - ÄÄ %R32 + ÄÄ %R32 + 54 27 54 27 + + + 11 11 2 10 1 9 7 8 + ÄÄ %R32 + ÄÄ %R32 - ÄÄ %R32 - ÄÄ %R32 + 54 27 54 27 + + + 1 7 1 6 1 5 1 4 3 + - ÄÄ %R32 - Ä %R32 - Ä %R32 - Ä %R32 - %R32 + 54 9 6 9 + + + 2 2 1 3 + - Ä %R32 + Ä %R32 + Ä + 3 2 2 + , + + 1 15 1 14 1 13 2 12 + - ÄÄ %R32 - ÄÄ %R32 - ÄÄ %R32 + ÄÄ %R32 + 54 27 54 27 + + + 11 11 2 10 1 9 7 8 + ÄÄ %R32 + ÄÄ %R32 - ÄÄ %R32 - ÄÄ %R32 + 54 27 54 27 + + + 1 7 1 6 1 5 1 4 3 + - ÄÄ %R32 - Ä %R32 - Ä %R32 - Ä %R32 - %R32 + 54 9 6 9 + + + 2 2 1 3 + - Ä %R32 + Ä %R32 + Ä + 3 2 2 + ] + , + + [%R33, + + 1 15 2 14 1 13 4 12 + ÄÄ %R33 + ÄÄ %R33 + ÄÄ %R33 - ÄÄ %R33 + 27 27 27 27 + + + 11 11 4 10 1 9 14 8 + - ÄÄ %R33 - ÄÄ %R33 + ÄÄ %R33 + ÄÄ %R33 + 27 27 27 27 + + + 1 7 2 6 1 5 2 4 3 + ÄÄ %R33 + Ä %R33 + Ä %R33 + Ä %R33 + %R33 + 27 9 3 9 + + + 4 2 + Ä %R33 - %R33 - 2 + 3 + , + + 1 15 1 14 1 13 2 12 + - ÄÄ %R33 - ÄÄ %R33 - ÄÄ %R33 + ÄÄ %R33 + 54 27 54 27 + + + 11 11 2 10 1 9 7 8 + ÄÄ %R33 + ÄÄ %R33 - ÄÄ %R33 - ÄÄ %R33 + 54 27 54 27 + + + 1 7 1 6 1 5 1 4 3 + - ÄÄ %R33 - Ä %R33 - Ä %R33 - Ä %R33 - %R33 + 54 9 6 9 + + + 2 2 1 3 + - Ä %R33 + Ä %R33 + Ä + 3 2 2 + , + + 1 15 1 14 1 13 2 12 + - ÄÄ %R33 - ÄÄ %R33 - ÄÄ %R33 + ÄÄ %R33 + 54 27 54 27 + + + 11 11 2 10 1 9 7 8 + ÄÄ %R33 + ÄÄ %R33 - ÄÄ %R33 - ÄÄ %R33 + 54 27 54 27 + + + 1 7 1 6 1 5 1 4 3 + - ÄÄ %R33 - Ä %R33 - Ä %R33 - Ä %R33 - %R33 + 54 9 6 9 + + + 2 2 1 3 + - Ä %R33 + Ä %R33 + Ä + 3 2 2 + ] + , + + [%R34, + + 1 15 2 14 1 13 4 12 + ÄÄ %R34 + ÄÄ %R34 + ÄÄ %R34 - ÄÄ %R34 + 27 27 27 27 + + + 11 11 4 10 1 9 14 8 + - ÄÄ %R34 - ÄÄ %R34 + ÄÄ %R34 + ÄÄ %R34 + 27 27 27 27 + + + 1 7 2 6 1 5 2 4 3 + ÄÄ %R34 + Ä %R34 + Ä %R34 + Ä %R34 + %R34 + 27 9 3 9 + + + 4 2 + Ä %R34 - %R34 - 2 + 3 + , + + 1 15 1 14 1 13 2 12 + - ÄÄ %R34 - ÄÄ %R34 - ÄÄ %R34 + ÄÄ %R34 + 54 27 54 27 + + + 11 11 2 10 1 9 7 8 + ÄÄ %R34 + ÄÄ %R34 - ÄÄ %R34 - ÄÄ %R34 + 54 27 54 27 + + + 1 7 1 6 1 5 1 4 3 + - ÄÄ %R34 - Ä %R34 - Ä %R34 - Ä %R34 - %R34 + 54 9 6 9 + + + 2 2 1 3 + - Ä %R34 + Ä %R34 + Ä + 3 2 2 + , + + 1 15 1 14 1 13 2 12 + - ÄÄ %R34 - ÄÄ %R34 - ÄÄ %R34 + ÄÄ %R34 + 54 27 54 27 + + + 11 11 2 10 1 9 7 8 + ÄÄ %R34 + ÄÄ %R34 - ÄÄ %R34 - ÄÄ %R34 + 54 27 54 27 + + + 1 7 1 6 1 5 1 4 3 + - ÄÄ %R34 - Ä %R34 - Ä %R34 - Ä %R34 - %R34 + 54 9 6 9 + + + 2 2 1 3 + - Ä %R34 + Ä %R34 + Ä + 3 2 2 + ] + , + [- 1,1,0,1], [- 1,1,1,0], + + [%R23, + + 1 15 1 14 1 13 2 12 + - ÄÄ %R23 - ÄÄ %R23 - ÄÄ %R23 + ÄÄ %R23 + 54 27 54 27 + + + 11 11 2 10 1 9 7 8 + ÄÄ %R23 + ÄÄ %R23 - ÄÄ %R23 - ÄÄ %R23 + 54 27 54 27 + + + 1 7 1 6 1 5 1 4 3 + - ÄÄ %R23 - Ä %R23 - Ä %R23 - Ä %R23 - %R23 + 54 9 6 9 + + + 2 2 1 3 + - Ä %R23 + Ä %R23 + Ä + 3 2 2 + , + %R30, + + 1 15 1 14 1 13 + - %R30 + ÄÄ %R23 + ÄÄ %R23 + ÄÄ %R23 + 54 27 54 + + + 2 12 11 11 2 10 1 9 + - ÄÄ %R23 - ÄÄ %R23 - ÄÄ %R23 + ÄÄ %R23 + 27 54 27 54 + + + 7 8 1 7 1 6 1 5 1 4 + ÄÄ %R23 + ÄÄ %R23 + Ä %R23 + Ä %R23 + Ä %R23 + 27 54 9 6 9 + + + 2 2 1 1 + Ä %R23 - Ä %R23 - Ä + 3 2 2 + ] + , + + [%R23, + + 1 15 1 14 1 13 2 12 + - ÄÄ %R23 - ÄÄ %R23 - ÄÄ %R23 + ÄÄ %R23 + 54 27 54 27 + + + 11 11 2 10 1 9 7 8 + ÄÄ %R23 + ÄÄ %R23 - ÄÄ %R23 - ÄÄ %R23 + 54 27 54 27 + + + 1 7 1 6 1 5 1 4 3 + - ÄÄ %R23 - Ä %R23 - Ä %R23 - Ä %R23 - %R23 + 54 9 6 9 + + + 2 2 1 3 + - Ä %R23 + Ä %R23 + Ä + 3 2 2 + , + %R31, + + 1 15 1 14 1 13 + - %R31 + ÄÄ %R23 + ÄÄ %R23 + ÄÄ %R23 + 54 27 54 + + + 2 12 11 11 2 10 1 9 + - ÄÄ %R23 - ÄÄ %R23 - ÄÄ %R23 + ÄÄ %R23 + 27 54 27 54 + + + 7 8 1 7 1 6 1 5 1 4 + ÄÄ %R23 + ÄÄ %R23 + Ä %R23 + Ä %R23 + Ä %R23 + 27 54 9 6 9 + + + 2 2 1 1 + Ä %R23 - Ä %R23 - Ä + 3 2 2 + ] + , + + [%R24, + + 1 15 1 14 1 13 2 12 + - ÄÄ %R24 - ÄÄ %R24 - ÄÄ %R24 + ÄÄ %R24 + 54 27 54 27 + + + 11 11 2 10 1 9 7 8 + ÄÄ %R24 + ÄÄ %R24 - ÄÄ %R24 - ÄÄ %R24 + 54 27 54 27 + + + 1 7 1 6 1 5 1 4 3 + - ÄÄ %R24 - Ä %R24 - Ä %R24 - Ä %R24 - %R24 + 54 9 6 9 + + + 2 2 1 3 + - Ä %R24 + Ä %R24 + Ä + 3 2 2 + , + %R28, + + 1 15 1 14 1 13 + - %R28 + ÄÄ %R24 + ÄÄ %R24 + ÄÄ %R24 + 54 27 54 + + + 2 12 11 11 2 10 1 9 + - ÄÄ %R24 - ÄÄ %R24 - ÄÄ %R24 + ÄÄ %R24 + 27 54 27 54 + + + 7 8 1 7 1 6 1 5 1 4 + ÄÄ %R24 + ÄÄ %R24 + Ä %R24 + Ä %R24 + Ä %R24 + 27 54 9 6 9 + + + 2 2 1 1 + Ä %R24 - Ä %R24 - Ä + 3 2 2 + ] + , + + [%R24, + + 1 15 1 14 1 13 2 12 + - ÄÄ %R24 - ÄÄ %R24 - ÄÄ %R24 + ÄÄ %R24 + 54 27 54 27 + + + 11 11 2 10 1 9 7 8 + ÄÄ %R24 + ÄÄ %R24 - ÄÄ %R24 - ÄÄ %R24 + 54 27 54 27 + + + 1 7 1 6 1 5 1 4 3 + - ÄÄ %R24 - Ä %R24 - Ä %R24 - Ä %R24 - %R24 + 54 9 6 9 + + + 2 2 1 3 + - Ä %R24 + Ä %R24 + Ä + 3 2 2 + , + %R29, + + 1 15 1 14 1 13 + - %R29 + ÄÄ %R24 + ÄÄ %R24 + ÄÄ %R24 + 54 27 54 + + + 2 12 11 11 2 10 1 9 + - ÄÄ %R24 - ÄÄ %R24 - ÄÄ %R24 + ÄÄ %R24 + 27 54 27 54 + + + 7 8 1 7 1 6 1 5 1 4 + ÄÄ %R24 + ÄÄ %R24 + Ä %R24 + Ä %R24 + Ä %R24 + 27 54 9 6 9 + + + 2 2 1 1 + Ä %R24 - Ä %R24 - Ä + 3 2 2 + ] + , + + [%R25, + + 1 15 1 14 1 13 2 12 + - ÄÄ %R25 - ÄÄ %R25 - ÄÄ %R25 + ÄÄ %R25 + 54 27 54 27 + + + 11 11 2 10 1 9 7 8 + ÄÄ %R25 + ÄÄ %R25 - ÄÄ %R25 - ÄÄ %R25 + 54 27 54 27 + + + 1 7 1 6 1 5 1 4 3 + - ÄÄ %R25 - Ä %R25 - Ä %R25 - Ä %R25 - %R25 + 54 9 6 9 + + + 2 2 1 3 + - Ä %R25 + Ä %R25 + Ä + 3 2 2 + , + %R26, + + 1 15 1 14 1 13 + - %R26 + ÄÄ %R25 + ÄÄ %R25 + ÄÄ %R25 + 54 27 54 + + + 2 12 11 11 2 10 1 9 + - ÄÄ %R25 - ÄÄ %R25 - ÄÄ %R25 + ÄÄ %R25 + 27 54 27 54 + + + 7 8 1 7 1 6 1 5 1 4 + ÄÄ %R25 + ÄÄ %R25 + Ä %R25 + Ä %R25 + Ä %R25 + 27 54 9 6 9 + + + 2 2 1 1 + Ä %R25 - Ä %R25 - Ä + 3 2 2 + ] + , + + [%R25, + + 1 15 1 14 1 13 2 12 + - ÄÄ %R25 - ÄÄ %R25 - ÄÄ %R25 + ÄÄ %R25 + 54 27 54 27 + + + 11 11 2 10 1 9 7 8 + ÄÄ %R25 + ÄÄ %R25 - ÄÄ %R25 - ÄÄ %R25 + 54 27 54 27 + + + 1 7 1 6 1 5 1 4 3 + - ÄÄ %R25 - Ä %R25 - Ä %R25 - Ä %R25 - %R25 + 54 9 6 9 + + + 2 2 1 3 + - Ä %R25 + Ä %R25 + Ä + 3 2 2 + , + %R27, + + 1 15 1 14 1 13 + - %R27 + ÄÄ %R25 + ÄÄ %R25 + ÄÄ %R25 + 54 27 54 + + + 2 12 11 11 2 10 1 9 + - ÄÄ %R25 - ÄÄ %R25 - ÄÄ %R25 + ÄÄ %R25 + 27 54 27 54 + + + 7 8 1 7 1 6 1 5 1 4 + ÄÄ %R25 + ÄÄ %R25 + Ä %R25 + Ä %R25 + Ä %R25 + 27 54 9 6 9 + + + 2 2 1 1 + Ä %R25 - Ä %R25 - Ä + 3 2 2 + ] + , + [1,%R21,- %R21,0], [1,%R22,- %R22,0], + [1,%R19,0,- %R19], [1,%R20,0,- %R20], + 1 3 1 1 3 1 1 3 1 + [%R17,- Ä %R17 + Ä,- Ä %R17 + Ä,- Ä %R17 + Ä], + 3 3 3 3 3 3 + 1 3 1 1 3 1 1 3 1 + [%R18,- Ä %R18 + Ä,- Ä %R18 + Ä,- Ä %R18 + Ä]] + 3 3 3 3 3 3 + Type: List List RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty25} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty25}{ZeroDimSolvePkgXmpPagePatch25} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty25}{\showpaste} +\tab{5}\spadcommand{lr2 := realSolve(lf)$pack\free{lf }\free{pack }\bound{lr2 }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch26} +\begin{paste}{ZeroDimSolvePkgXmpPageFull26}{ZeroDimSolvePkgXmpPageEmpty26} +\pastebutton{ZeroDimSolvePkgXmpPageFull26}{\hidepaste} +\tab{5}\spadcommand{\#lr2\free{lr2 }} +\indentrel{3}\begin{verbatim} + (26) 27 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty26} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty26}{ZeroDimSolvePkgXmpPagePatch26} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty26}{\showpaste} +\tab{5}\spadcommand{\#lr2\free{lr2 }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch27} +\begin{paste}{ZeroDimSolvePkgXmpPageFull27}{ZeroDimSolvePkgXmpPageEmpty27} +\pastebutton{ZeroDimSolvePkgXmpPageFull27}{\hidepaste} +\tab{5}\spadcommand{lpr2 := positiveSolve(lf)$pack\free{lf }\free{pack }\bound{lpr2 }} +\indentrel{3}\begin{verbatim} + (27) + 1 3 1 1 3 1 1 3 1 + [[%R40,- Ä %R40 + Ä,- Ä %R40 + Ä,- Ä %R40 + Ä]] + 3 3 3 3 3 3 + Type: List List RealClosure Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty27} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty27}{ZeroDimSolvePkgXmpPagePatch27} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty27}{\showpaste} +\tab{5}\spadcommand{lpr2 := positiveSolve(lf)$pack\free{lf }\free{pack }\bound{lpr2 }} +\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPagePatch28} +\begin{paste}{ZeroDimSolvePkgXmpPageFull28}{ZeroDimSolvePkgXmpPageEmpty28} +\pastebutton{ZeroDimSolvePkgXmpPageFull28}{\hidepaste} +\tab{5}\spadcommand{[approximate(r,1/10**21)::Float for r in lpr2.1]\free{lpr2 }} +\indentrel{3}\begin{verbatim} + (28) + [0.3221853546 2608559291, 0.3221853546 2608559291, + 0.3221853546 2608559291, 0.3221853546 2608559291] + Type: List Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ZeroDimSolvePkgXmpPageEmpty28} +\begin{paste}{ZeroDimSolvePkgXmpPageEmpty28}{ZeroDimSolvePkgXmpPagePatch28} +\pastebutton{ZeroDimSolvePkgXmpPageEmpty28}{\showpaste} +\tab{5}\spadcommand{[approximate(r,1/10**21)::Float for r in lpr2.1]\free{lpr2 }} +\end{paste}\end{patch} + @ \section{zlindep.ht} \pagehead{IntegerLinearDependenceXmpPage}{zlindep.ht} @@ -22681,6 +65275,144 @@ To express a given element in terms of other elements, use the operation \autobuttons \end{page} +\begin{patch}{IntegerLinearDependenceXmpPagePatch1} +\begin{paste}{IntegerLinearDependenceXmpPageFull1}{IntegerLinearDependenceXmpPageEmpty1} +\pastebutton{IntegerLinearDependenceXmpPageFull1}{\hidepaste} +\tab{5}\spadcommand{M := SQMATRIX(2,INT)\bound{M }} +\indentrel{3}\begin{verbatim} + (1) SquareMatrix(2,Integer) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerLinearDependenceXmpPageEmpty1} +\begin{paste}{IntegerLinearDependenceXmpPageEmpty1}{IntegerLinearDependenceXmpPagePatch1} +\pastebutton{IntegerLinearDependenceXmpPageEmpty1}{\showpaste} +\tab{5}\spadcommand{M := SQMATRIX(2,INT)\bound{M }} +\end{paste}\end{patch} + +\begin{patch}{IntegerLinearDependenceXmpPagePatch2} +\begin{paste}{IntegerLinearDependenceXmpPageFull2}{IntegerLinearDependenceXmpPageEmpty2} +\pastebutton{IntegerLinearDependenceXmpPageFull2}{\hidepaste} +\tab{5}\spadcommand{m1: M := squareMatrix matrix [[1, 2], [0, -1]]\free{M }\bound{m1 }} +\indentrel{3}\begin{verbatim} + Ú1 2 ¿ + (2) ³ ³ + À0 - 1Ù + Type: SquareMatrix(2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerLinearDependenceXmpPageEmpty2} +\begin{paste}{IntegerLinearDependenceXmpPageEmpty2}{IntegerLinearDependenceXmpPagePatch2} +\pastebutton{IntegerLinearDependenceXmpPageEmpty2}{\showpaste} +\tab{5}\spadcommand{m1: M := squareMatrix matrix [[1, 2], [0, -1]]\free{M }\bound{m1 }} +\end{paste}\end{patch} + +\begin{patch}{IntegerLinearDependenceXmpPagePatch3} +\begin{paste}{IntegerLinearDependenceXmpPageFull3}{IntegerLinearDependenceXmpPageEmpty3} +\pastebutton{IntegerLinearDependenceXmpPageFull3}{\hidepaste} +\tab{5}\spadcommand{m2: M := squareMatrix matrix [[2, 3], [1, -2]]\free{M }\bound{m2 }} +\indentrel{3}\begin{verbatim} + Ú2 3 ¿ + (3) ³ ³ + À1 - 2Ù + Type: SquareMatrix(2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerLinearDependenceXmpPageEmpty3} +\begin{paste}{IntegerLinearDependenceXmpPageEmpty3}{IntegerLinearDependenceXmpPagePatch3} +\pastebutton{IntegerLinearDependenceXmpPageEmpty3}{\showpaste} +\tab{5}\spadcommand{m2: M := squareMatrix matrix [[2, 3], [1, -2]]\free{M }\bound{m2 }} +\end{paste}\end{patch} + +\begin{patch}{IntegerLinearDependenceXmpPagePatch4} +\begin{paste}{IntegerLinearDependenceXmpPageFull4}{IntegerLinearDependenceXmpPageEmpty4} +\pastebutton{IntegerLinearDependenceXmpPageFull4}{\hidepaste} +\tab{5}\spadcommand{m3: M := squareMatrix matrix [[3, 4], [2, -3]]\free{M }\bound{m3 }} +\indentrel{3}\begin{verbatim} + Ú3 4 ¿ + (4) ³ ³ + À2 - 3Ù + Type: SquareMatrix(2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerLinearDependenceXmpPageEmpty4} +\begin{paste}{IntegerLinearDependenceXmpPageEmpty4}{IntegerLinearDependenceXmpPagePatch4} +\pastebutton{IntegerLinearDependenceXmpPageEmpty4}{\showpaste} +\tab{5}\spadcommand{m3: M := squareMatrix matrix [[3, 4], [2, -3]]\free{M }\bound{m3 }} +\end{paste}\end{patch} + +\begin{patch}{IntegerLinearDependenceXmpPagePatch5} +\begin{paste}{IntegerLinearDependenceXmpPageFull5}{IntegerLinearDependenceXmpPageEmpty5} +\pastebutton{IntegerLinearDependenceXmpPageFull5}{\hidepaste} +\tab{5}\spadcommand{linearlyDependentOverZ? vector [m1, m2, m3]\free{m1 m2 m3 }} +\indentrel{3}\begin{verbatim} + (5) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerLinearDependenceXmpPageEmpty5} +\begin{paste}{IntegerLinearDependenceXmpPageEmpty5}{IntegerLinearDependenceXmpPagePatch5} +\pastebutton{IntegerLinearDependenceXmpPageEmpty5}{\showpaste} +\tab{5}\spadcommand{linearlyDependentOverZ? vector [m1, m2, m3]\free{m1 m2 m3 }} +\end{paste}\end{patch} + +\begin{patch}{IntegerLinearDependenceXmpPagePatch6} +\begin{paste}{IntegerLinearDependenceXmpPageFull6}{IntegerLinearDependenceXmpPageEmpty6} +\pastebutton{IntegerLinearDependenceXmpPageFull6}{\hidepaste} +\tab{5}\spadcommand{c := linearDependenceOverZ vector [m1, m2, m3]\free{m1 m2 m3 }\bound{c }} +\indentrel{3}\begin{verbatim} + (6) [1,- 2,1] + Type: Union(Vector Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerLinearDependenceXmpPageEmpty6} +\begin{paste}{IntegerLinearDependenceXmpPageEmpty6}{IntegerLinearDependenceXmpPagePatch6} +\pastebutton{IntegerLinearDependenceXmpPageEmpty6}{\showpaste} +\tab{5}\spadcommand{c := linearDependenceOverZ vector [m1, m2, m3]\free{m1 m2 m3 }\bound{c }} +\end{paste}\end{patch} + +\begin{patch}{IntegerLinearDependenceXmpPagePatch7} +\begin{paste}{IntegerLinearDependenceXmpPageFull7}{IntegerLinearDependenceXmpPageEmpty7} +\pastebutton{IntegerLinearDependenceXmpPageFull7}{\hidepaste} +\tab{5}\spadcommand{c.1 * m1 + c.2 * m2 + c.3 * m3\free{c m1 m2 m3 }} +\indentrel{3}\begin{verbatim} + Ú0 0¿ + (7) ³ ³ + À0 0Ù + Type: SquareMatrix(2,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerLinearDependenceXmpPageEmpty7} +\begin{paste}{IntegerLinearDependenceXmpPageEmpty7}{IntegerLinearDependenceXmpPagePatch7} +\pastebutton{IntegerLinearDependenceXmpPageEmpty7}{\showpaste} +\tab{5}\spadcommand{c.1 * m1 + c.2 * m2 + c.3 * m3\free{c m1 m2 m3 }} +\end{paste}\end{patch} + +\begin{patch}{IntegerLinearDependenceXmpPagePatch8} +\begin{paste}{IntegerLinearDependenceXmpPageFull8}{IntegerLinearDependenceXmpPageEmpty8} +\pastebutton{IntegerLinearDependenceXmpPageFull8}{\hidepaste} +\tab{5}\spadcommand{solveLinearlyOverQ(vector [m1, m3], m2)\free{m1 m2 m3 }} +\indentrel{3}\begin{verbatim} + 1 1 + (8) [Ä,Ä] + 2 2 + Type: Union(Vector Fraction Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{IntegerLinearDependenceXmpPageEmpty8} +\begin{paste}{IntegerLinearDependenceXmpPageEmpty8}{IntegerLinearDependenceXmpPagePatch8} +\pastebutton{IntegerLinearDependenceXmpPageEmpty8}{\showpaste} +\tab{5}\spadcommand{solveLinearlyOverQ(vector [m1, m3], m2)\free{m1 m2 m3 }} +\end{paste}\end{patch} + @ \chapter{Users Guide Pages (ug.ht)} \pagehead{UsersGuidePage}{page.ht}{Users Guide} @@ -23519,6 +66251,60 @@ right, from inside out). \autobuttons \end{page} +\begin{patch}{ugIntroArithmeticPagePatch1} +\begin{paste}{ugIntroArithmeticPageFull1}{ugIntroArithmeticPageEmpty1} +\pastebutton{ugIntroArithmeticPageFull1}{\hidepaste} +\tab{5}\spadcommand{1 + 2 - 3 / 4 * 3 ** 2 - 1} +\indentrel{3}\begin{verbatim} + 19 + (1) - ÄÄ + 4 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroArithmeticPageEmpty1} +\begin{paste}{ugIntroArithmeticPageEmpty1}{ugIntroArithmeticPagePatch1} +\pastebutton{ugIntroArithmeticPageEmpty1}{\showpaste} +\tab{5}\spadcommand{1 + 2 - 3 / 4 * 3 ** 2 - 1} +\end{paste}\end{patch} + +\begin{patch}{ugIntroArithmeticPagePatch2} +\begin{paste}{ugIntroArithmeticPageFull2}{ugIntroArithmeticPageEmpty2} +\pastebutton{ugIntroArithmeticPageFull2}{\hidepaste} +\tab{5}\spadcommand{((1 + 2) - ((3 / 4) * (3 ** 2))) - 1} +\indentrel{3}\begin{verbatim} + 19 + (2) - ÄÄ + 4 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroArithmeticPageEmpty2} +\begin{paste}{ugIntroArithmeticPageEmpty2}{ugIntroArithmeticPagePatch2} +\pastebutton{ugIntroArithmeticPageEmpty2}{\showpaste} +\tab{5}\spadcommand{((1 + 2) - ((3 / 4) * (3 ** 2))) - 1} +\end{paste}\end{patch} + +\begin{patch}{ugIntroArithmeticPagePatch3} +\begin{paste}{ugIntroArithmeticPageFull3}{ugIntroArithmeticPageEmpty3} +\pastebutton{ugIntroArithmeticPageFull3}{\hidepaste} +\tab{5}\spadcommand{1 + 2 - 3/ (4 * 3 ** (2 - 1))} +\indentrel{3}\begin{verbatim} + 11 + (3) ÄÄ + 4 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroArithmeticPageEmpty3} +\begin{paste}{ugIntroArithmeticPageEmpty3}{ugIntroArithmeticPagePatch3} +\pastebutton{ugIntroArithmeticPageEmpty3}{\showpaste} +\tab{5}\spadcommand{1 + 2 - 3/ (4 * 3 ** (2 - 1))} +\end{paste}\end{patch} + @ \pagehead{ugIntroPreviousPage}{ug01.ht}{Previous Results} <>= @@ -23559,6 +66345,70 @@ This is the result from step number 1. \autobuttons \end{page} +\begin{patch}{ugIntroPreviousPagePatch1} +\begin{paste}{ugIntroPreviousPageFull1}{ugIntroPreviousPageEmpty1} +\pastebutton{ugIntroPreviousPageFull1}{\hidepaste} +\tab{5}\spadcommand{10 ** 10\bound{prev }} +\indentrel{3}\begin{verbatim} + (1) 10000000000 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroPreviousPageEmpty1} +\begin{paste}{ugIntroPreviousPageEmpty1}{ugIntroPreviousPagePatch1} +\pastebutton{ugIntroPreviousPageEmpty1}{\showpaste} +\tab{5}\spadcommand{10 ** 10\bound{prev }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroPreviousPagePatch2} +\begin{paste}{ugIntroPreviousPageFull2}{ugIntroPreviousPageEmpty2} +\pastebutton{ugIntroPreviousPageFull2}{\hidepaste} +\tab{5}\spadcommand{\% - 1\free{prev }\bound{prev1 }} +\indentrel{3}\begin{verbatim} + (2) 9999999999 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroPreviousPageEmpty2} +\begin{paste}{ugIntroPreviousPageEmpty2}{ugIntroPreviousPagePatch2} +\pastebutton{ugIntroPreviousPageEmpty2}{\showpaste} +\tab{5}\spadcommand{\% - 1\free{prev }\bound{prev1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroPreviousPagePatch3} +\begin{paste}{ugIntroPreviousPageFull3}{ugIntroPreviousPageEmpty3} +\pastebutton{ugIntroPreviousPageFull3}{\hidepaste} +\tab{5}\spadcommand{\%\%(-1)\free{prev1 }\bound{prev2 }} +\indentrel{3}\begin{verbatim} + (3) 9999999999 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroPreviousPageEmpty3} +\begin{paste}{ugIntroPreviousPageEmpty3}{ugIntroPreviousPagePatch3} +\pastebutton{ugIntroPreviousPageEmpty3}{\showpaste} +\tab{5}\spadcommand{\%\%(-1)\free{prev1 }\bound{prev2 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroPreviousPagePatch4} +\begin{paste}{ugIntroPreviousPageFull4}{ugIntroPreviousPageEmpty4} +\pastebutton{ugIntroPreviousPageFull4}{\hidepaste} +\tab{5}\spadcommand{\%\%(1)\free{prev2 }} +\indentrel{3}\begin{verbatim} + (4) 10000000000 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroPreviousPageEmpty4} +\begin{paste}{ugIntroPreviousPageEmpty4}{ugIntroPreviousPagePatch4} +\pastebutton{ugIntroPreviousPageEmpty4}{\showpaste} +\tab{5}\spadcommand{\%\%(1)\free{prev2 }} +\end{paste}\end{patch} + @ \pagehead{ugIntroTypesPage}{ug01.ht}{Some Types} \pageto{notitle}{ugTypesPage} @@ -23603,6 +66453,74 @@ Here a negative integer exponent produces a fraction. \autobuttons \end{page} +\begin{patch}{ugIntroTypesPagePatch1} +\begin{paste}{ugIntroTypesPageFull1}{ugIntroTypesPageEmpty1} +\pastebutton{ugIntroTypesPageFull1}{\hidepaste} +\tab{5}\spadcommand{8} +\indentrel{3}\begin{verbatim} + (1) 8 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroTypesPageEmpty1} +\begin{paste}{ugIntroTypesPageEmpty1}{ugIntroTypesPagePatch1} +\pastebutton{ugIntroTypesPageEmpty1}{\showpaste} +\tab{5}\spadcommand{8} +\end{paste}\end{patch} + +\begin{patch}{ugIntroTypesPagePatch2} +\begin{paste}{ugIntroTypesPageFull2}{ugIntroTypesPageEmpty2} +\pastebutton{ugIntroTypesPageFull2}{\hidepaste} +\tab{5}\spadcommand{-8} +\indentrel{3}\begin{verbatim} + (2) - 8 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroTypesPageEmpty2} +\begin{paste}{ugIntroTypesPageEmpty2}{ugIntroTypesPagePatch2} +\pastebutton{ugIntroTypesPageEmpty2}{\showpaste} +\tab{5}\spadcommand{-8} +\end{paste}\end{patch} + +\begin{patch}{ugIntroTypesPagePatch3} +\begin{paste}{ugIntroTypesPageFull3}{ugIntroTypesPageEmpty3} +\pastebutton{ugIntroTypesPageFull3}{\hidepaste} +\tab{5}\spadcommand{x**8} +\indentrel{3}\begin{verbatim} + 8 + (3) x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroTypesPageEmpty3} +\begin{paste}{ugIntroTypesPageEmpty3}{ugIntroTypesPagePatch3} +\pastebutton{ugIntroTypesPageEmpty3}{\showpaste} +\tab{5}\spadcommand{x**8} +\end{paste}\end{patch} + +\begin{patch}{ugIntroTypesPagePatch4} +\begin{paste}{ugIntroTypesPageFull4}{ugIntroTypesPageEmpty4} +\pastebutton{ugIntroTypesPageFull4}{\hidepaste} +\tab{5}\spadcommand{x**(-8)} +\indentrel{3}\begin{verbatim} + 1 + (4) ÄÄ + 8 + x + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroTypesPageEmpty4} +\begin{paste}{ugIntroTypesPageEmpty4}{ugIntroTypesPagePatch4} +\pastebutton{ugIntroTypesPageEmpty4}{\showpaste} +\tab{5}\spadcommand{x**(-8)} +\end{paste}\end{patch} + @ \pagehead{ugIntroAssignPage}{ug01.ht} {Symbols, Variables, Assignments, and Declarations} @@ -23731,6 +66649,217 @@ We try to point out the location of such trouble spots. \autobuttons \end{page} +\begin{patch}{ugIntroAssignPagePatch1} +\begin{paste}{ugIntroAssignPageFull1}{ugIntroAssignPageEmpty1} +\pastebutton{ugIntroAssignPageFull1}{\hidepaste} +\tab{5}\spadcommand{(x - y*z)**2} +\indentrel{3}\begin{verbatim} + 2 2 2 + (1) y z - 2x y z + x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroAssignPageEmpty1} +\begin{paste}{ugIntroAssignPageEmpty1}{ugIntroAssignPagePatch1} +\pastebutton{ugIntroAssignPageEmpty1}{\showpaste} +\tab{5}\spadcommand{(x - y*z)**2} +\end{paste}\end{patch} + +\begin{patch}{ugIntroAssignPagePatch2} +\begin{paste}{ugIntroAssignPageFull2}{ugIntroAssignPageEmpty2} +\pastebutton{ugIntroAssignPageFull2}{\hidepaste} +\tab{5}\spadcommand{x := 4} +\indentrel{3}\begin{verbatim} + (2) 4 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroAssignPageEmpty2} +\begin{paste}{ugIntroAssignPageEmpty2}{ugIntroAssignPagePatch2} +\pastebutton{ugIntroAssignPageEmpty2}{\showpaste} +\tab{5}\spadcommand{x := 4} +\end{paste}\end{patch} + +\begin{patch}{ugIntroAssignPagePatch3} +\begin{paste}{ugIntroAssignPageFull3}{ugIntroAssignPageEmpty3} +\pastebutton{ugIntroAssignPageFull3}{\hidepaste} +\tab{5}\spadcommand{x := z + 3/5} +\indentrel{3}\begin{verbatim} + 3 + (3) z + Ä + 5 + Type: Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroAssignPageEmpty3} +\begin{paste}{ugIntroAssignPageEmpty3}{ugIntroAssignPagePatch3} +\pastebutton{ugIntroAssignPageEmpty3}{\showpaste} +\tab{5}\spadcommand{x := z + 3/5} +\end{paste}\end{patch} + +\begin{patch}{ugIntroAssignPagePatch4} +\begin{paste}{ugIntroAssignPageFull4}{ugIntroAssignPageEmpty4} +\pastebutton{ugIntroAssignPageFull4}{\hidepaste} +\tab{5}\spadcommand{y : Integer\bound{y }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroAssignPageEmpty4} +\begin{paste}{ugIntroAssignPageEmpty4}{ugIntroAssignPagePatch4} +\pastebutton{ugIntroAssignPageEmpty4}{\showpaste} +\tab{5}\spadcommand{y : Integer\bound{y }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroAssignPagePatch5} +\begin{paste}{ugIntroAssignPageFull5}{ugIntroAssignPageEmpty5} +\pastebutton{ugIntroAssignPageFull5}{\hidepaste} +\tab{5}\spadcommand{y := 89\bound{y1 }\free{y }} +\indentrel{3}\begin{verbatim} + (5) 89 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroAssignPageEmpty5} +\begin{paste}{ugIntroAssignPageEmpty5}{ugIntroAssignPagePatch5} +\pastebutton{ugIntroAssignPageEmpty5}{\showpaste} +\tab{5}\spadcommand{y := 89\bound{y1 }\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroAssignPagePatch6} +\begin{paste}{ugIntroAssignPageFull6}{ugIntroAssignPageEmpty6} +\pastebutton{ugIntroAssignPageFull6}{\hidepaste} +\tab{5}\spadcommand{y := sin \%pi} +\indentrel{3}\begin{verbatim} + (6) 0 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroAssignPageEmpty6} +\begin{paste}{ugIntroAssignPageEmpty6}{ugIntroAssignPagePatch6} +\pastebutton{ugIntroAssignPageEmpty6}{\showpaste} +\tab{5}\spadcommand{y := sin \%pi} +\end{paste}\end{patch} + +\begin{patch}{ugIntroAssignPagePatch7} +\begin{paste}{ugIntroAssignPageFull7}{ugIntroAssignPageEmpty7} +\pastebutton{ugIntroAssignPageFull7}{\hidepaste} +\tab{5}\spadcommand{y := 2/3} +\indentrel{3}\begin{verbatim} + 2 + Ä + 3 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroAssignPageEmpty7} +\begin{paste}{ugIntroAssignPageEmpty7}{ugIntroAssignPagePatch7} +\pastebutton{ugIntroAssignPageEmpty7}{\showpaste} +\tab{5}\spadcommand{y := 2/3} +\end{paste}\end{patch} + +\begin{patch}{ugIntroAssignPagePatch8} +\begin{paste}{ugIntroAssignPageFull8}{ugIntroAssignPageEmpty8} +\pastebutton{ugIntroAssignPageFull8}{\hidepaste} +\tab{5}\spadcommand{f : Float := 2/3} +\indentrel{3}\begin{verbatim} + (7) 0.6666666666 6666666667 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroAssignPageEmpty8} +\begin{paste}{ugIntroAssignPageEmpty8}{ugIntroAssignPagePatch8} +\pastebutton{ugIntroAssignPageEmpty8}{\showpaste} +\tab{5}\spadcommand{f : Float := 2/3} +\end{paste}\end{patch} + +\begin{patch}{ugIntroAssignPagePatch9} +\begin{paste}{ugIntroAssignPageFull9}{ugIntroAssignPageEmpty9} +\pastebutton{ugIntroAssignPageFull9}{\hidepaste} +\tab{5}\spadcommand{f : Float; f := 2/3\bound{fff }} +\indentrel{3}\begin{verbatim} + (8) 0.6666666666 6666666667 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroAssignPageEmpty9} +\begin{paste}{ugIntroAssignPageEmpty9}{ugIntroAssignPagePatch9} +\pastebutton{ugIntroAssignPageEmpty9}{\showpaste} +\tab{5}\spadcommand{f : Float; f := 2/3\bound{fff }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroAssignPagePatch10} +\begin{paste}{ugIntroAssignPageFull10}{ugIntroAssignPageEmpty10} +\pastebutton{ugIntroAssignPageFull10}{\hidepaste} +\tab{5}\spadcommand{q} +\indentrel{3}\begin{verbatim} + (9) q + Type: Variable q +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroAssignPageEmpty10} +\begin{paste}{ugIntroAssignPageEmpty10}{ugIntroAssignPagePatch10} +\pastebutton{ugIntroAssignPageEmpty10}{\showpaste} +\tab{5}\spadcommand{q} +\end{paste}\end{patch} + +\begin{patch}{ugIntroAssignPagePatch11} +\begin{paste}{ugIntroAssignPageFull11}{ugIntroAssignPageEmpty11} +\pastebutton{ugIntroAssignPageFull11}{\hidepaste} +\tab{5}\spadcommand{[q, r]} +\indentrel{3}\begin{verbatim} + (10) [q,r] + Type: List OrderedVariableList [q,r] +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroAssignPageEmpty11} +\begin{paste}{ugIntroAssignPageEmpty11}{ugIntroAssignPagePatch11} +\pastebutton{ugIntroAssignPageEmpty11}{\showpaste} +\tab{5}\spadcommand{[q, r]} +\end{paste}\end{patch} + +\begin{patch}{ugIntroAssignPagePatch12} +\begin{paste}{ugIntroAssignPageFull12}{ugIntroAssignPageEmpty12} +\pastebutton{ugIntroAssignPageFull12}{\hidepaste} +\tab{5}\spadcommand{f\free{fff }} +\indentrel{3}\begin{verbatim} + (11) 0.6666666666 6666666667 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroAssignPageEmpty12} +\begin{paste}{ugIntroAssignPageEmpty12}{ugIntroAssignPagePatch12} +\pastebutton{ugIntroAssignPageEmpty12}{\showpaste} +\tab{5}\spadcommand{f\free{fff }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroAssignPagePatch13} +\begin{paste}{ugIntroAssignPageFull13}{ugIntroAssignPageEmpty13} +\pastebutton{ugIntroAssignPageFull13}{\hidepaste} +\tab{5}\spadcommand{'f} +\indentrel{3}\begin{verbatim} + (12) f + Type: Variable f +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroAssignPageEmpty13} +\begin{paste}{ugIntroAssignPageEmpty13}{ugIntroAssignPagePatch13} +\pastebutton{ugIntroAssignPageEmpty13}{\showpaste} +\tab{5}\spadcommand{'f} +\end{paste}\end{patch} + @ \pagehead{ugIntroConversionPage}{ug01.ht}{Conversion} \pageto{notitle}{ugTypesConvertPage} @@ -23767,6 +66896,43 @@ Others conversions must be explicitly requested. \autobuttons \end{page} +\begin{patch}{ugIntroConversionPagePatch1} +\begin{paste}{ugIntroConversionPageFull1}{ugIntroConversionPageEmpty1} +\pastebutton{ugIntroConversionPageFull1}{\hidepaste} +\tab{5}\spadcommand{p := r**2 + 2/3\bound{p }} +\indentrel{3}\begin{verbatim} + 2 2 + (1) r + Ä + 3 + Type: Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroConversionPageEmpty1} +\begin{paste}{ugIntroConversionPageEmpty1}{ugIntroConversionPagePatch1} +\pastebutton{ugIntroConversionPageEmpty1}{\showpaste} +\tab{5}\spadcommand{p := r**2 + 2/3\bound{p }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroConversionPagePatch2} +\begin{paste}{ugIntroConversionPageFull2}{ugIntroConversionPageEmpty2} +\pastebutton{ugIntroConversionPageFull2}{\hidepaste} +\tab{5}\spadcommand{p :: Fraction Polynomial Integer\free{p }} +\indentrel{3}\begin{verbatim} + 2 + 3r + 2 + (2) ÄÄÄÄÄÄÄ + 3 + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroConversionPageEmpty2} +\begin{paste}{ugIntroConversionPageEmpty2}{ugIntroConversionPagePatch2} +\pastebutton{ugIntroConversionPageEmpty2}{\showpaste} +\tab{5}\spadcommand{p :: Fraction Polynomial Integer\free{p }} +\end{paste}\end{patch} + @ \pagehead{ugIntroCallFunPage}{ug01.ht}{Calling Functions} <>= @@ -23828,6 +66994,71 @@ operations are provided for efficiency reasons. \autobuttons \end{page} +\begin{patch}{ugIntroCallFunPagePatch1} +\begin{paste}{ugIntroCallFunPageFull1}{ugIntroCallFunPageEmpty1} +\pastebutton{ugIntroCallFunPageFull1}{\hidepaste} +\tab{5}\spadcommand{factor(120)} +\indentrel{3}\begin{verbatim} + 3 + (1) 2 3 5 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCallFunPageEmpty1} +\begin{paste}{ugIntroCallFunPageEmpty1}{ugIntroCallFunPagePatch1} +\pastebutton{ugIntroCallFunPageEmpty1}{\showpaste} +\tab{5}\spadcommand{factor(120)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCallFunPagePatch2} +\begin{paste}{ugIntroCallFunPageFull2}{ugIntroCallFunPageEmpty2} +\pastebutton{ugIntroCallFunPageFull2}{\hidepaste} +\tab{5}\spadcommand{divide(125,7)} +\indentrel{3}\begin{verbatim} + (2) [quotient= 17,remainder= 6] + Type: Record(quotient: Integer,remainder: Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCallFunPageEmpty2} +\begin{paste}{ugIntroCallFunPageEmpty2}{ugIntroCallFunPagePatch2} +\pastebutton{ugIntroCallFunPageEmpty2}{\showpaste} +\tab{5}\spadcommand{divide(125,7)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCallFunPagePatch3} +\begin{paste}{ugIntroCallFunPageFull3}{ugIntroCallFunPageEmpty3} +\pastebutton{ugIntroCallFunPageFull3}{\hidepaste} +\tab{5}\spadcommand{quatern(3.4,5.6,2.9,0.1)} +\indentrel{3}\begin{verbatim} + (3) 3.4 + 5.6 i + 2.9 j + 0.1 k + Type: Quaternion Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCallFunPageEmpty3} +\begin{paste}{ugIntroCallFunPageEmpty3}{ugIntroCallFunPagePatch3} +\pastebutton{ugIntroCallFunPageEmpty3}{\showpaste} +\tab{5}\spadcommand{quatern(3.4,5.6,2.9,0.1)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCallFunPagePatch4} +\begin{paste}{ugIntroCallFunPageFull4}{ugIntroCallFunPageEmpty4} +\pastebutton{ugIntroCallFunPageFull4}{\hidepaste} +\tab{5}\spadcommand{factorial 10} +\indentrel{3}\begin{verbatim} + (4) 3628800 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCallFunPageEmpty4} +\begin{paste}{ugIntroCallFunPageEmpty4}{ugIntroCallFunPagePatch4} +\pastebutton{ugIntroCallFunPageEmpty4}{\showpaste} +\tab{5}\spadcommand{factorial 10} +\end{paste}\end{patch} + @ \pagehead{ugIntroMacrosPage}{ug01.ht}{Some Predefined Macros} \pageto{notitle}{ugUserMacrosPage} @@ -23932,6 +67163,22 @@ other than starting each line with \axiomSyntax{--} or \autobuttons \end{page} +\begin{patch}{ugIntroCommentsPagePatch1} +\begin{paste}{ugIntroCommentsPageFull1}{ugIntroCommentsPageEmpty1} +\pastebutton{ugIntroCommentsPageFull1}{\hidepaste} +\tab{5}\spadcommand{2 + 3 -- this is rather simple, no?} +\indentrel{3}\begin{verbatim} + (1) 5 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCommentsPageEmpty1} +\begin{paste}{ugIntroCommentsPageEmpty1}{ugIntroCommentsPagePatch1} +\pastebutton{ugIntroCommentsPageEmpty1}{\showpaste} +\tab{5}\spadcommand{2 + 3 -- this is rather simple, no?} +\end{paste}\end{patch} + @ \pagehead{ugIntroGraphicsPage}{ug01.ht}{Graphics} \pageto{notitle}{ugProblemNumericPage} @@ -23997,6 +67244,32 @@ using Axiom's graphics facilities. \autobuttons \end{page} +\begin{patch}{ugIntroGraphicsPagePatch1} +\begin{paste}{ugIntroGraphicsPageFull1}{ugIntroGraphicsPageEmpty1} +\pastebutton{ugIntroGraphicsPageFull1}{\hidepaste} +\tab{5}\spadgraph{draw(cos(5*t/8), t=0..16*\%pi, coordinates==polar)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugintrographicspage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugintrographicspage1}} +\end{paste}\end{patch} + +\begin{patch}{ugIntroGraphicsPageEmpty1} +\begin{paste}{ugIntroGraphicsPageEmpty1}{ugIntroGraphicsPagePatch1} +\pastebutton{ugIntroGraphicsPageEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(cos(5*t/8), t=0..16*\%pi, coordinates==polar)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroGraphicsPagePatch2} +\begin{paste}{ugIntroGraphicsPageFull2}{ugIntroGraphicsPageEmpty2} +\pastebutton{ugIntroGraphicsPageFull2}{\hidepaste} +\tab{5}\spadgraph{draw((x,y) +-> real atan complex(x,y), -\%pi..\%pi, -\%pi..\%pi, colorFunction == (x,y) +-> argument atan complex(x,y))} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugintrographicspage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugintrographicspage2}} +\end{paste}\end{patch} + +\begin{patch}{ugIntroGraphicsPageEmpty2} +\begin{paste}{ugIntroGraphicsPageEmpty2}{ugIntroGraphicsPagePatch2} +\pastebutton{ugIntroGraphicsPageEmpty2}{\showpaste} +\tab{5}\spadgraph{draw((x,y) +-> real atan complex(x,y), -\%pi..\%pi, -\%pi..\%pi, colorFunction == (x,y) +-> argument atan complex(x,y))} +\end{paste}\end{patch} + @ \pagehead{ugIntroNumbersPage}{ug01.ht}{Numbers} \pagepic{ps/v71ugintronumberspage.eps}{ugIntroNumbersPage} @@ -24268,6 +67541,667 @@ quatern(5,6,7,8)*quatern(1,2,3,4)} \autobuttons \end{page} +\begin{patch}{ugIntroNumbersPagePatch1} +\begin{paste}{ugIntroNumbersPageFull1}{ugIntroNumbersPageEmpty1} +\pastebutton{ugIntroNumbersPageFull1}{\hidepaste} +\tab{5}\spadcommand{11**13 * 13**11 * 17**7 - 19**5 * 23**3} +\indentrel{3}\begin{verbatim} + (1) 25387751112538918594666224484237298 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty1} +\begin{paste}{ugIntroNumbersPageEmpty1}{ugIntroNumbersPagePatch1} +\pastebutton{ugIntroNumbersPageEmpty1}{\showpaste} +\tab{5}\spadcommand{11**13 * 13**11 * 17**7 - 19**5 * 23**3} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch2} +\begin{paste}{ugIntroNumbersPageFull2}{ugIntroNumbersPageEmpty2} +\pastebutton{ugIntroNumbersPageFull2}{\hidepaste} +\tab{5}\spadcommand{factor 643238070748569023720594412551704344145570763243\bound{ex1 }} +\indentrel{3}\begin{verbatim} + 13 11 7 5 3 2 + (2) 11 13 17 19 23 29 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty2} +\begin{paste}{ugIntroNumbersPageEmpty2}{ugIntroNumbersPagePatch2} +\pastebutton{ugIntroNumbersPageEmpty2}{\showpaste} +\tab{5}\spadcommand{factor 643238070748569023720594412551704344145570763243\bound{ex1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch3} +\begin{paste}{ugIntroNumbersPageFull3}{ugIntroNumbersPageEmpty3} +\pastebutton{ugIntroNumbersPageFull3}{\hidepaste} +\tab{5}\spadcommand{\% * 12\free{ex1 }} +\indentrel{3}\begin{verbatim} + 2 13 11 7 5 3 2 + (3) 2 3 11 13 17 19 23 29 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty3} +\begin{paste}{ugIntroNumbersPageEmpty3}{ugIntroNumbersPagePatch3} +\pastebutton{ugIntroNumbersPageEmpty3}{\showpaste} +\tab{5}\spadcommand{\% * 12\free{ex1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch4} +\begin{paste}{ugIntroNumbersPageFull4}{ugIntroNumbersPageEmpty4} +\pastebutton{ugIntroNumbersPageFull4}{\hidepaste} +\tab{5}\spadcommand{radix(25937424601,11)} +\indentrel{3}\begin{verbatim} + (4) 10000000000 + Type: RadixExpansion 11 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty4} +\begin{paste}{ugIntroNumbersPageEmpty4}{ugIntroNumbersPagePatch4} +\pastebutton{ugIntroNumbersPageEmpty4}{\showpaste} +\tab{5}\spadcommand{radix(25937424601,11)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch5} +\begin{paste}{ugIntroNumbersPageFull5}{ugIntroNumbersPageEmpty5} +\pastebutton{ugIntroNumbersPageFull5}{\hidepaste} +\tab{5}\spadcommand{roman(1992)} +\indentrel{3}\begin{verbatim} + (5) MCMXCII + Type: RomanNumeral +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty5} +\begin{paste}{ugIntroNumbersPageEmpty5}{ugIntroNumbersPagePatch5} +\pastebutton{ugIntroNumbersPageEmpty5}{\showpaste} +\tab{5}\spadcommand{roman(1992)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch6} +\begin{paste}{ugIntroNumbersPageFull6}{ugIntroNumbersPageEmpty6} +\pastebutton{ugIntroNumbersPageFull6}{\hidepaste} +\tab{5}\spadcommand{r := 10 + 9/2 + 8/3 + 7/4 + 6/5 + 5/6 + 4/7 + 3/8 + 2/9\bound{r }} +\indentrel{3}\begin{verbatim} + 55739 + (6) ÄÄÄÄÄ + 2520 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty6} +\begin{paste}{ugIntroNumbersPageEmpty6}{ugIntroNumbersPagePatch6} +\pastebutton{ugIntroNumbersPageEmpty6}{\showpaste} +\tab{5}\spadcommand{r := 10 + 9/2 + 8/3 + 7/4 + 6/5 + 5/6 + 4/7 + 3/8 + 2/9\bound{r }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch7} +\begin{paste}{ugIntroNumbersPageFull7}{ugIntroNumbersPageEmpty7} +\pastebutton{ugIntroNumbersPageFull7}{\hidepaste} +\tab{5}\spadcommand{map(factor,r)\free{r }} +\indentrel{3}\begin{verbatim} + 139 401 + (7) ÄÄÄÄÄÄÄ + 3 2 + 2 3 5 7 + Type: Fraction Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty7} +\begin{paste}{ugIntroNumbersPageEmpty7}{ugIntroNumbersPagePatch7} +\pastebutton{ugIntroNumbersPageEmpty7}{\showpaste} +\tab{5}\spadcommand{map(factor,r)\free{r }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch8} +\begin{paste}{ugIntroNumbersPageFull8}{ugIntroNumbersPageEmpty8} +\pastebutton{ugIntroNumbersPageFull8}{\hidepaste} +\tab{5}\spadcommand{11@SingleInteger} +\indentrel{3}\begin{verbatim} + (8) 11 + Type: SingleInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty8} +\begin{paste}{ugIntroNumbersPageEmpty8}{ugIntroNumbersPagePatch8} +\pastebutton{ugIntroNumbersPageEmpty8}{\showpaste} +\tab{5}\spadcommand{11@SingleInteger} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch9} +\begin{paste}{ugIntroNumbersPageFull9}{ugIntroNumbersPageEmpty9} +\pastebutton{ugIntroNumbersPageFull9}{\hidepaste} +\tab{5}\spadcommand{123.21@DoubleFloat} +\indentrel{3}\begin{verbatim} + (9) 123.21000000000001 + Type: DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty9} +\begin{paste}{ugIntroNumbersPageEmpty9}{ugIntroNumbersPagePatch9} +\pastebutton{ugIntroNumbersPageEmpty9}{\showpaste} +\tab{5}\spadcommand{123.21@DoubleFloat} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch10} +\begin{paste}{ugIntroNumbersPageFull10}{ugIntroNumbersPageEmpty10} +\pastebutton{ugIntroNumbersPageFull10}{\hidepaste} +\tab{5}\spadcommand{r :: Float\free{r }} +\indentrel{3}\begin{verbatim} + (10) 22.1186507936 50793651 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty10} +\begin{paste}{ugIntroNumbersPageEmpty10}{ugIntroNumbersPagePatch10} +\pastebutton{ugIntroNumbersPageEmpty10}{\showpaste} +\tab{5}\spadcommand{r :: Float\free{r }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch11} +\begin{paste}{ugIntroNumbersPageFull11}{ugIntroNumbersPageEmpty11} +\pastebutton{ugIntroNumbersPageFull11}{\hidepaste} +\tab{5}\spadcommand{digits(22)\bound{fewerdigits }} +\indentrel{3}\begin{verbatim} + (11) 20 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty11} +\begin{paste}{ugIntroNumbersPageEmpty11}{ugIntroNumbersPagePatch11} +\pastebutton{ugIntroNumbersPageEmpty11}{\showpaste} +\tab{5}\spadcommand{digits(22)\bound{fewerdigits }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch12} +\begin{paste}{ugIntroNumbersPageFull12}{ugIntroNumbersPageEmpty12} +\pastebutton{ugIntroNumbersPageFull12}{\hidepaste} +\tab{5}\spadcommand{exp(\%pi * sqrt 163.0)\free{fewerdigits }} +\indentrel{3}\begin{verbatim} + (12) 26253741 2640768744.0 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty12} +\begin{paste}{ugIntroNumbersPageEmpty12}{ugIntroNumbersPagePatch12} +\pastebutton{ugIntroNumbersPageEmpty12}{\showpaste} +\tab{5}\spadcommand{exp(\%pi * sqrt 163.0)\free{fewerdigits }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch13} +\begin{paste}{ugIntroNumbersPageFull13}{ugIntroNumbersPageEmpty13} +\pastebutton{ugIntroNumbersPageFull13}{\hidepaste} +\tab{5}\spadcommand{digits(40); exp(\%pi * sqrt 163.0)\free{moredigits }} +\indentrel{3}\begin{verbatim} + (13) 26253741 2640768743.9999999999 9925007259 76 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty13} +\begin{paste}{ugIntroNumbersPageEmpty13}{ugIntroNumbersPagePatch13} +\pastebutton{ugIntroNumbersPageEmpty13}{\showpaste} +\tab{5}\spadcommand{digits(40); exp(\%pi * sqrt 163.0)\free{moredigits }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch14} +\begin{paste}{ugIntroNumbersPageFull14}{ugIntroNumbersPageEmpty14} +\pastebutton{ugIntroNumbersPageFull14}{\hidepaste} +\tab{5}\spadcommand{(2/3 + \%i)**3\bound{gaussint }} +\indentrel{3}\begin{verbatim} + 46 1 + (14) - ÄÄ + Ä %i + 27 3 + Type: Complex Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty14} +\begin{paste}{ugIntroNumbersPageEmpty14}{ugIntroNumbersPagePatch14} +\pastebutton{ugIntroNumbersPageEmpty14}{\showpaste} +\tab{5}\spadcommand{(2/3 + \%i)**3\bound{gaussint }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch15} +\begin{paste}{ugIntroNumbersPageFull15}{ugIntroNumbersPageEmpty15} +\pastebutton{ugIntroNumbersPageFull15}{\hidepaste} +\tab{5}\spadcommand{conjugate \%\free{gaussint }} +\indentrel{3}\begin{verbatim} + 46 1 + (15) - ÄÄ - Ä %i + 27 3 + Type: Complex Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty15} +\begin{paste}{ugIntroNumbersPageEmpty15}{ugIntroNumbersPagePatch15} +\pastebutton{ugIntroNumbersPageEmpty15}{\showpaste} +\tab{5}\spadcommand{conjugate \%\free{gaussint }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch16} +\begin{paste}{ugIntroNumbersPageFull16}{ugIntroNumbersPageEmpty16} +\pastebutton{ugIntroNumbersPageFull16}{\hidepaste} +\tab{5}\spadcommand{factor(89 - 23 * \%i)} +\indentrel{3}\begin{verbatim} + 2 2 + (16) - (1 + %i)(2 + %i) (3 + 2%i) + Type: Factored Complex Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty16} +\begin{paste}{ugIntroNumbersPageEmpty16}{ugIntroNumbersPagePatch16} +\pastebutton{ugIntroNumbersPageEmpty16}{\showpaste} +\tab{5}\spadcommand{factor(89 - 23 * \%i)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch17} +\begin{paste}{ugIntroNumbersPageFull17}{ugIntroNumbersPageEmpty17} +\pastebutton{ugIntroNumbersPageFull17}{\hidepaste} +\tab{5}\spadcommand{exp(\%pi/4.0 * \%i)} +\indentrel{3}\begin{verbatim} + (17) + 0.7071067811 8654752440 0844362104 8490392849 + + + 0.7071067811 8654752440 0844362104 8490392848 %i + Type: Complex Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty17} +\begin{paste}{ugIntroNumbersPageEmpty17}{ugIntroNumbersPagePatch17} +\pastebutton{ugIntroNumbersPageEmpty17}{\showpaste} +\tab{5}\spadcommand{exp(\%pi/4.0 * \%i)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch18} +\begin{paste}{ugIntroNumbersPageFull18}{ugIntroNumbersPageEmpty18} +\pastebutton{ugIntroNumbersPageFull18}{\hidepaste} +\tab{5}\spadcommand{decimal(1/352)} +\indentrel{3}\begin{verbatim} + __ + (18) 0.0028409 + Type: DecimalExpansion +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty18} +\begin{paste}{ugIntroNumbersPageEmpty18}{ugIntroNumbersPagePatch18} +\pastebutton{ugIntroNumbersPageEmpty18}{\showpaste} +\tab{5}\spadcommand{decimal(1/352)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch19} +\begin{paste}{ugIntroNumbersPageFull19}{ugIntroNumbersPageEmpty19} +\pastebutton{ugIntroNumbersPageFull19}{\hidepaste} +\tab{5}\spadcommand{continuedFraction(6543/210)} +\indentrel{3}\begin{verbatim} + 1 ³ 1 ³ 1 ³ 1 ³ + (19) 31 + ÚÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÙ + ³ 6 ³ 2 ³ 1 ³ 3 + Type: ContinuedFraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty19} +\begin{paste}{ugIntroNumbersPageEmpty19}{ugIntroNumbersPagePatch19} +\pastebutton{ugIntroNumbersPageEmpty19}{\showpaste} +\tab{5}\spadcommand{continuedFraction(6543/210)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch20} +\begin{paste}{ugIntroNumbersPageFull20}{ugIntroNumbersPageEmpty20} +\pastebutton{ugIntroNumbersPageFull20}{\hidepaste} +\tab{5}\spadcommand{partialFraction(1,factorial(10))\bound{partfrac }} +\indentrel{3}\begin{verbatim} + 159 23 12 1 + (20) ÄÄÄ - ÄÄ - ÄÄ + Ä + 8 4 2 7 + 2 3 5 + Type: PartialFraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty20} +\begin{paste}{ugIntroNumbersPageEmpty20}{ugIntroNumbersPagePatch20} +\pastebutton{ugIntroNumbersPageEmpty20}{\showpaste} +\tab{5}\spadcommand{partialFraction(1,factorial(10))\bound{partfrac }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch21} +\begin{paste}{ugIntroNumbersPageFull21}{ugIntroNumbersPageEmpty21} +\pastebutton{ugIntroNumbersPageFull21}{\hidepaste} +\tab{5}\spadcommand{padicFraction(\%)\free{partfrac }} +\indentrel{3}\begin{verbatim} + (21) + 1 1 1 1 1 1 2 1 2 2 2 1 + Ä + ÄÄ + ÄÄ + ÄÄ + ÄÄ + ÄÄ - ÄÄ - ÄÄ - ÄÄ - Ä - ÄÄ + Ä + 2 4 5 6 7 8 2 3 4 5 2 7 + 2 2 2 2 2 3 3 3 5 + Type: PartialFraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty21} +\begin{paste}{ugIntroNumbersPageEmpty21}{ugIntroNumbersPagePatch21} +\pastebutton{ugIntroNumbersPageEmpty21}{\showpaste} +\tab{5}\spadcommand{padicFraction(\%)\free{partfrac }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch22} +\begin{paste}{ugIntroNumbersPageFull22}{ugIntroNumbersPageEmpty22} +\pastebutton{ugIntroNumbersPageFull22}{\hidepaste} +\tab{5}\spadcommand{radix(4/7, 8)\bound{rad }} +\indentrel{3}\begin{verbatim} + _ + (22) 0.4 + Type: RadixExpansion 8 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty22} +\begin{paste}{ugIntroNumbersPageEmpty22}{ugIntroNumbersPagePatch22} +\pastebutton{ugIntroNumbersPageEmpty22}{\showpaste} +\tab{5}\spadcommand{radix(4/7, 8)\bound{rad }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch23} +\begin{paste}{ugIntroNumbersPageFull23}{ugIntroNumbersPageEmpty23} +\pastebutton{ugIntroNumbersPageFull23}{\hidepaste} +\tab{5}\spadcommand{\% + 2/3*\%i\free{rad }} +\indentrel{3}\begin{verbatim} + 4 2 + (23) Ä + Ä %i + 7 3 + Type: Complex Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty23} +\begin{paste}{ugIntroNumbersPageEmpty23}{ugIntroNumbersPagePatch23} +\pastebutton{ugIntroNumbersPageEmpty23}{\showpaste} +\tab{5}\spadcommand{\% + 2/3*\%i\free{rad }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch24} +\begin{paste}{ugIntroNumbersPageFull24}{ugIntroNumbersPageEmpty24} +\pastebutton{ugIntroNumbersPageFull24}{\hidepaste} +\tab{5}\spadcommand{(5 + sqrt 63 + sqrt 847)**(1/3)} +\indentrel{3}\begin{verbatim} + ÚÄÄÄÄÄÄÄÄÄÄ¿ + 3³ ÚÄ¿ + (24) \³14\³7 + 5 + Type: AlgebraicNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty24} +\begin{paste}{ugIntroNumbersPageEmpty24}{ugIntroNumbersPagePatch24} +\pastebutton{ugIntroNumbersPageEmpty24}{\showpaste} +\tab{5}\spadcommand{(5 + sqrt 63 + sqrt 847)**(1/3)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch25} +\begin{paste}{ugIntroNumbersPageFull25}{ugIntroNumbersPageEmpty25} +\pastebutton{ugIntroNumbersPageFull25}{\hidepaste} +\tab{5}\spadcommand{x : PrimeField 7 := 5\bound{x }} +\indentrel{3}\begin{verbatim} + (25) 5 + Type: PrimeField 7 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty25} +\begin{paste}{ugIntroNumbersPageEmpty25}{ugIntroNumbersPagePatch25} +\pastebutton{ugIntroNumbersPageEmpty25}{\showpaste} +\tab{5}\spadcommand{x : PrimeField 7 := 5\bound{x }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch26} +\begin{paste}{ugIntroNumbersPageFull26}{ugIntroNumbersPageEmpty26} +\pastebutton{ugIntroNumbersPageFull26}{\hidepaste} +\tab{5}\spadcommand{x**3\free{x }} +\indentrel{3}\begin{verbatim} + (26) 6 + Type: PrimeField 7 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty26} +\begin{paste}{ugIntroNumbersPageEmpty26}{ugIntroNumbersPagePatch26} +\pastebutton{ugIntroNumbersPageEmpty26}{\showpaste} +\tab{5}\spadcommand{x**3\free{x }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch27} +\begin{paste}{ugIntroNumbersPageFull27}{ugIntroNumbersPageEmpty27} +\pastebutton{ugIntroNumbersPageFull27}{\hidepaste} +\tab{5}\spadcommand{1/x\free{x }} +\indentrel{3}\begin{verbatim} + (27) 3 + Type: PrimeField 7 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty27} +\begin{paste}{ugIntroNumbersPageEmpty27}{ugIntroNumbersPagePatch27} +\pastebutton{ugIntroNumbersPageEmpty27}{\showpaste} +\tab{5}\spadcommand{1/x\free{x }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch28} +\begin{paste}{ugIntroNumbersPageFull28}{ugIntroNumbersPageEmpty28} +\pastebutton{ugIntroNumbersPageFull28}{\hidepaste} +\tab{5}\spadcommand{y : IntegerMod 6 := 5\bound{y }} +\indentrel{3}\begin{verbatim} + (28) 5 + Type: IntegerMod 6 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty28} +\begin{paste}{ugIntroNumbersPageEmpty28}{ugIntroNumbersPagePatch28} +\pastebutton{ugIntroNumbersPageEmpty28}{\showpaste} +\tab{5}\spadcommand{y : IntegerMod 6 := 5\bound{y }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch29} +\begin{paste}{ugIntroNumbersPageFull29}{ugIntroNumbersPageEmpty29} +\pastebutton{ugIntroNumbersPageFull29}{\hidepaste} +\tab{5}\spadcommand{y**3\free{y }} +\indentrel{3}\begin{verbatim} + (29) 5 + Type: IntegerMod 6 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty29} +\begin{paste}{ugIntroNumbersPageEmpty29}{ugIntroNumbersPagePatch29} +\pastebutton{ugIntroNumbersPageEmpty29}{\showpaste} +\tab{5}\spadcommand{y**3\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch30} +\begin{paste}{ugIntroNumbersPageFull30}{ugIntroNumbersPageEmpty30} +\pastebutton{ugIntroNumbersPageFull30}{\hidepaste} +\tab{5}\spadcommand{1/y\free{y }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty30} +\begin{paste}{ugIntroNumbersPageEmpty30}{ugIntroNumbersPagePatch30} +\pastebutton{ugIntroNumbersPageEmpty30}{\showpaste} +\tab{5}\spadcommand{1/y\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch31} +\begin{paste}{ugIntroNumbersPageFull31}{ugIntroNumbersPageEmpty31} +\pastebutton{ugIntroNumbersPageFull31}{\hidepaste} +\tab{5}\spadcommand{a := rootOf(a**5 + a**3 + a**2 + 3,a)\bound{a }} +\indentrel{3}\begin{verbatim} + (30) a + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty31} +\begin{paste}{ugIntroNumbersPageEmpty31}{ugIntroNumbersPagePatch31} +\pastebutton{ugIntroNumbersPageEmpty31}{\showpaste} +\tab{5}\spadcommand{a := rootOf(a**5 + a**3 + a**2 + 3,a)\bound{a }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch32} +\begin{paste}{ugIntroNumbersPageFull32}{ugIntroNumbersPageEmpty32} +\pastebutton{ugIntroNumbersPageFull32}{\hidepaste} +\tab{5}\spadcommand{(a + 1)**10\free{a }} +\indentrel{3}\begin{verbatim} + 4 3 2 + (31) - 85a - 264a - 378a - 458a - 287 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty32} +\begin{paste}{ugIntroNumbersPageEmpty32}{ugIntroNumbersPagePatch32} +\pastebutton{ugIntroNumbersPageEmpty32}{\showpaste} +\tab{5}\spadcommand{(a + 1)**10\free{a }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch33} +\begin{paste}{ugIntroNumbersPageFull33}{ugIntroNumbersPageEmpty33} +\pastebutton{ugIntroNumbersPageFull33}{\hidepaste} +\tab{5}\spadcommand{b := rootOf(b**4 + a,b)\bound{b }\free{a }} +\indentrel{3}\begin{verbatim} + (32) b + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty33} +\begin{paste}{ugIntroNumbersPageEmpty33}{ugIntroNumbersPagePatch33} +\pastebutton{ugIntroNumbersPageEmpty33}{\showpaste} +\tab{5}\spadcommand{b := rootOf(b**4 + a,b)\bound{b }\free{a }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch34} +\begin{paste}{ugIntroNumbersPageFull34}{ugIntroNumbersPageEmpty34} +\pastebutton{ugIntroNumbersPageFull34}{\hidepaste} +\tab{5}\spadcommand{2/(b - 1)\free{b }\bound{check }} +\indentrel{3}\begin{verbatim} + 2 + (33) ÄÄÄÄÄ + b - 1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty34} +\begin{paste}{ugIntroNumbersPageEmpty34}{ugIntroNumbersPagePatch34} +\pastebutton{ugIntroNumbersPageEmpty34}{\showpaste} +\tab{5}\spadcommand{2/(b - 1)\free{b }\bound{check }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch35} +\begin{paste}{ugIntroNumbersPageFull35}{ugIntroNumbersPageEmpty35} +\pastebutton{ugIntroNumbersPageFull35}{\hidepaste} +\tab{5}\spadcommand{ratDenom(\%)\free{check }\bound{check1 }} +\indentrel{3}\begin{verbatim} + (34) + 4 3 2 3 4 3 2 2 + (a - a + 2a - a + 1)b + (a - a + 2a - a + 1)b + + + 4 3 2 4 3 2 + (a - a + 2a - a + 1)b + a - a + 2a - a + 1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty35} +\begin{paste}{ugIntroNumbersPageEmpty35}{ugIntroNumbersPagePatch35} +\pastebutton{ugIntroNumbersPageEmpty35}{\showpaste} +\tab{5}\spadcommand{ratDenom(\%)\free{check }\bound{check1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch36} +\begin{paste}{ugIntroNumbersPageFull36}{ugIntroNumbersPageEmpty36} +\pastebutton{ugIntroNumbersPageFull36}{\hidepaste} +\tab{5}\spadcommand{2/\%+1\free{check1 }\bound{check2 }} +\indentrel{3}\begin{verbatim} + (35) + 4 3 2 3 + (a - a + 2a - a + 1)b + + + 4 3 2 2 + (a - a + 2a - a + 1)b + + + 4 3 2 4 3 2 + (a - a + 2a - a + 1)b + a - a + 2a - a + 3 + / + 4 3 2 3 + (a - a + 2a - a + 1)b + + + 4 3 2 2 + (a - a + 2a - a + 1)b + + + 4 3 2 4 3 2 + (a - a + 2a - a + 1)b + a - a + 2a - a + 1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty36} +\begin{paste}{ugIntroNumbersPageEmpty36}{ugIntroNumbersPagePatch36} +\pastebutton{ugIntroNumbersPageEmpty36}{\showpaste} +\tab{5}\spadcommand{2/\%+1\free{check1 }\bound{check2 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch37} +\begin{paste}{ugIntroNumbersPageFull37}{ugIntroNumbersPageEmpty37} +\pastebutton{ugIntroNumbersPageFull37}{\hidepaste} +\tab{5}\spadcommand{ratDenom(\%)\free{check2 }} +\indentrel{3}\begin{verbatim} + (36) b + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty37} +\begin{paste}{ugIntroNumbersPageEmpty37}{ugIntroNumbersPagePatch37} +\pastebutton{ugIntroNumbersPageEmpty37}{\showpaste} +\tab{5}\spadcommand{ratDenom(\%)\free{check2 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPagePatch38} +\begin{paste}{ugIntroNumbersPageFull38}{ugIntroNumbersPageEmpty38} +\pastebutton{ugIntroNumbersPageFull38}{\hidepaste} +\tab{5}\spadcommand{q:=quatern(1,2,3,4)*quatern(5,6,7,8) - quatern(5,6,7,8)*quatern(1,2,3,4)} +\indentrel{3}\begin{verbatim} + (37) - 8i + 16j - 8k + Type: Quaternion Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroNumbersPageEmpty38} +\begin{paste}{ugIntroNumbersPageEmpty38}{ugIntroNumbersPagePatch38} +\pastebutton{ugIntroNumbersPageEmpty38}{\showpaste} +\tab{5}\spadcommand{q:=quatern(1,2,3,4)*quatern(5,6,7,8) - quatern(5,6,7,8)*quatern(1,2,3,4)} +\end{paste}\end{patch} + @ \pagehead{ugIntroCollectPage}{ug01.ht}{Data Structures} \pageto{notitle}{ListXmpPage} @@ -24659,6 +68593,442 @@ to obtaining good performance. \autobuttons \end{page} +\begin{patch}{ugIntroCollectPagePatch1} +\begin{paste}{ugIntroCollectPageFull1}{ugIntroCollectPageEmpty1} +\pastebutton{ugIntroCollectPageFull1}{\hidepaste} +\tab{5}\spadcommand{u := [1,-7,11]\bound{u }} +\indentrel{3}\begin{verbatim} + (1) [1,- 7,11] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty1} +\begin{paste}{ugIntroCollectPageEmpty1}{ugIntroCollectPagePatch1} +\pastebutton{ugIntroCollectPageEmpty1}{\showpaste} +\tab{5}\spadcommand{u := [1,-7,11]\bound{u }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPagePatch2} +\begin{paste}{ugIntroCollectPageFull2}{ugIntroCollectPageEmpty2} +\pastebutton{ugIntroCollectPageFull2}{\hidepaste} +\tab{5}\spadcommand{first rest rest u\free{u }} +\indentrel{3}\begin{verbatim} + (2) 11 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty2} +\begin{paste}{ugIntroCollectPageEmpty2}{ugIntroCollectPagePatch2} +\pastebutton{ugIntroCollectPageEmpty2}{\showpaste} +\tab{5}\spadcommand{first rest rest u\free{u }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPagePatch3} +\begin{paste}{ugIntroCollectPageFull3}{ugIntroCollectPageEmpty3} +\pastebutton{ugIntroCollectPageFull3}{\hidepaste} +\tab{5}\spadcommand{concat!(u,[9,1,3,-4]); u\free{u }\bound{u1 }} +\indentrel{3}\begin{verbatim} + (3) [1,- 7,11,9,1,3,- 4] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty3} +\begin{paste}{ugIntroCollectPageEmpty3}{ugIntroCollectPagePatch3} +\pastebutton{ugIntroCollectPageEmpty3}{\showpaste} +\tab{5}\spadcommand{concat!(u,[9,1,3,-4]); u\free{u }\bound{u1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPagePatch4} +\begin{paste}{ugIntroCollectPageFull4}{ugIntroCollectPageEmpty4} +\pastebutton{ugIntroCollectPageFull4}{\hidepaste} +\tab{5}\spadcommand{lastnode := rest(u,3)\free{u1 }\bound{u2 }} +\indentrel{3}\begin{verbatim} + (4) [9,1,3,- 4] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty4} +\begin{paste}{ugIntroCollectPageEmpty4}{ugIntroCollectPagePatch4} +\pastebutton{ugIntroCollectPageEmpty4}{\showpaste} +\tab{5}\spadcommand{lastnode := rest(u,3)\free{u1 }\bound{u2 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPagePatch5} +\begin{paste}{ugIntroCollectPageFull5}{ugIntroCollectPageEmpty5} +\pastebutton{ugIntroCollectPageFull5}{\hidepaste} +\tab{5}\spadcommand{setrest!(lastnode,rest(u,2)); u\free{u2 }} +\indentrel{3}\begin{verbatim} + ____ + (5) [1,- 7,11,9] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty5} +\begin{paste}{ugIntroCollectPageEmpty5}{ugIntroCollectPagePatch5} +\pastebutton{ugIntroCollectPageEmpty5}{\showpaste} +\tab{5}\spadcommand{setrest!(lastnode,rest(u,2)); u\free{u2 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPagePatch6} +\begin{paste}{ugIntroCollectPageFull6}{ugIntroCollectPageEmpty6} +\pastebutton{ugIntroCollectPageFull6}{\hidepaste} +\tab{5}\spadcommand{[factor(i) for i in 2.. by 2]\bound{stream1 }} +\indentrel{3}\begin{verbatim} + 2 3 2 4 2 2 + (6) [2,2 ,2 3,2 ,2 5,2 3,2 7,2 ,2 3 ,2 5,...] + Type: Stream Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty6} +\begin{paste}{ugIntroCollectPageEmpty6}{ugIntroCollectPagePatch6} +\pastebutton{ugIntroCollectPageEmpty6}{\showpaste} +\tab{5}\spadcommand{[factor(i) for i in 2.. by 2]\bound{stream1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPagePatch7} +\begin{paste}{ugIntroCollectPageFull7}{ugIntroCollectPageEmpty7} +\pastebutton{ugIntroCollectPageFull7}{\hidepaste} +\tab{5}\spadcommand{\%.36\free{stream1 }} +\indentrel{3}\begin{verbatim} + 3 2 + (7) 2 3 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty7} +\begin{paste}{ugIntroCollectPageEmpty7}{ugIntroCollectPagePatch7} +\pastebutton{ugIntroCollectPageEmpty7}{\showpaste} +\tab{5}\spadcommand{\%.36\free{stream1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPagePatch8} +\begin{paste}{ugIntroCollectPageFull8}{ugIntroCollectPageEmpty8} +\pastebutton{ugIntroCollectPageFull8}{\hidepaste} +\tab{5}\spadcommand{a := oneDimensionalArray [1, -7, 3, 3/2]\bound{a }} +\indentrel{3}\begin{verbatim} + 3 + (8) [1,- 7,3,Ä] + 2 + Type: OneDimensionalArray Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty8} +\begin{paste}{ugIntroCollectPageEmpty8}{ugIntroCollectPagePatch8} +\pastebutton{ugIntroCollectPageEmpty8}{\showpaste} +\tab{5}\spadcommand{a := oneDimensionalArray [1, -7, 3, 3/2]\bound{a }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPagePatch9} +\begin{paste}{ugIntroCollectPageFull9}{ugIntroCollectPageEmpty9} +\pastebutton{ugIntroCollectPageFull9}{\hidepaste} +\tab{5}\spadcommand{a.3 := 11; a\bound{a1 }\free{a }} +\indentrel{3}\begin{verbatim} + 3 + (9) [1,- 7,11,Ä] + 2 + Type: OneDimensionalArray Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty9} +\begin{paste}{ugIntroCollectPageEmpty9}{ugIntroCollectPagePatch9} +\pastebutton{ugIntroCollectPageEmpty9}{\showpaste} +\tab{5}\spadcommand{a.3 := 11; a\bound{a1 }\free{a }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPagePatch10} +\begin{paste}{ugIntroCollectPageFull10}{ugIntroCollectPageEmpty10} +\pastebutton{ugIntroCollectPageFull10}{\hidepaste} +\tab{5}\spadcommand{concat!(a,oneDimensionalArray [1,-2])\free{a1 }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty10} +\begin{paste}{ugIntroCollectPageEmpty10}{ugIntroCollectPagePatch10} +\pastebutton{ugIntroCollectPageEmpty10}{\showpaste} +\tab{5}\spadcommand{concat!(a,oneDimensionalArray [1,-2])\free{a1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPagePatch11} +\begin{paste}{ugIntroCollectPageFull11}{ugIntroCollectPageEmpty11} +\pastebutton{ugIntroCollectPageFull11}{\hidepaste} +\tab{5}\spadcommand{bits(32,true)} +\indentrel{3}\begin{verbatim} + (10) "11111111111111111111111111111111" + Type: Bits +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty11} +\begin{paste}{ugIntroCollectPageEmpty11}{ugIntroCollectPagePatch11} +\pastebutton{ugIntroCollectPageEmpty11}{\showpaste} +\tab{5}\spadcommand{bits(32,true)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPagePatch12} +\begin{paste}{ugIntroCollectPageFull12}{ugIntroCollectPageEmpty12} +\pastebutton{ugIntroCollectPageFull12}{\hidepaste} +\tab{5}\spadcommand{f := flexibleArray [2, 7, -5]\bound{f }} +\indentrel{3}\begin{verbatim} + (11) [2,7,- 5] + Type: FlexibleArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty12} +\begin{paste}{ugIntroCollectPageEmpty12}{ugIntroCollectPagePatch12} +\pastebutton{ugIntroCollectPageEmpty12}{\showpaste} +\tab{5}\spadcommand{f := flexibleArray [2, 7, -5]\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPagePatch13} +\begin{paste}{ugIntroCollectPageFull13}{ugIntroCollectPageEmpty13} +\pastebutton{ugIntroCollectPageFull13}{\hidepaste} +\tab{5}\spadcommand{insert!(flexibleArray [11, -3],f,2)\free{f }} +\indentrel{3}\begin{verbatim} + (12) [2,11,- 3,7,- 5] + Type: FlexibleArray Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty13} +\begin{paste}{ugIntroCollectPageEmpty13}{ugIntroCollectPagePatch13} +\pastebutton{ugIntroCollectPageEmpty13}{\showpaste} +\tab{5}\spadcommand{insert!(flexibleArray [11, -3],f,2)\free{f }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPagePatch14} +\begin{paste}{ugIntroCollectPageFull14}{ugIntroCollectPageEmpty14} +\pastebutton{ugIntroCollectPageFull14}{\hidepaste} +\tab{5}\spadcommand{h := heap [-4,7,11,3,4,-7]\bound{h }} +\indentrel{3}\begin{verbatim} + (13) [11,4,7,- 4,3,- 7] + Type: Heap Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty14} +\begin{paste}{ugIntroCollectPageEmpty14}{ugIntroCollectPagePatch14} +\pastebutton{ugIntroCollectPageEmpty14}{\showpaste} +\tab{5}\spadcommand{h := heap [-4,7,11,3,4,-7]\bound{h }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPagePatch15} +\begin{paste}{ugIntroCollectPageFull15}{ugIntroCollectPageEmpty15} +\pastebutton{ugIntroCollectPageFull15}{\hidepaste} +\tab{5}\spadcommand{[extract!(h) while not empty?(h)]\free{h }} +\indentrel{3}\begin{verbatim} + (14) [11,7,4,3,- 4,- 7] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty15} +\begin{paste}{ugIntroCollectPageEmpty15}{ugIntroCollectPagePatch15} +\pastebutton{ugIntroCollectPageEmpty15}{\showpaste} +\tab{5}\spadcommand{[extract!(h) while not empty?(h)]\free{h }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPagePatch16} +\begin{paste}{ugIntroCollectPageFull16}{ugIntroCollectPageEmpty16} +\pastebutton{ugIntroCollectPageFull16}{\hidepaste} +\tab{5}\spadcommand{binarySearchTree [5,3,2,9,4,7,11]} +\indentrel{3}\begin{verbatim} + (15) [[2,3,4],5,[7,9,11]] + Type: BinarySearchTree PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty16} +\begin{paste}{ugIntroCollectPageEmpty16}{ugIntroCollectPagePatch16} +\pastebutton{ugIntroCollectPageEmpty16}{\showpaste} +\tab{5}\spadcommand{binarySearchTree [5,3,2,9,4,7,11]} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPagePatch17} +\begin{paste}{ugIntroCollectPageFull17}{ugIntroCollectPageEmpty17} +\pastebutton{ugIntroCollectPageFull17}{\hidepaste} +\tab{5}\spadcommand{modTree(8,[2,3,5,7])} +\indentrel{3}\begin{verbatim} + (16) [0,2,3,1] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty17} +\begin{paste}{ugIntroCollectPageEmpty17}{ugIntroCollectPagePatch17} +\pastebutton{ugIntroCollectPageEmpty17}{\showpaste} +\tab{5}\spadcommand{modTree(8,[2,3,5,7])} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPagePatch18} +\begin{paste}{ugIntroCollectPageFull18}{ugIntroCollectPageEmpty18} +\pastebutton{ugIntroCollectPageFull18}{\hidepaste} +\tab{5}\spadcommand{fs := set[1/3,4/5,-1/3,4/5]\bound{fs }} +\indentrel{3}\begin{verbatim} + 1 1 4 + (17) {- Ä,Ä,Ä} + 3 3 5 + Type: Set Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty18} +\begin{paste}{ugIntroCollectPageEmpty18}{ugIntroCollectPagePatch18} +\pastebutton{ugIntroCollectPageEmpty18}{\showpaste} +\tab{5}\spadcommand{fs := set[1/3,4/5,-1/3,4/5]\bound{fs }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPagePatch19} +\begin{paste}{ugIntroCollectPageFull19}{ugIntroCollectPageEmpty19} +\pastebutton{ugIntroCollectPageFull19}{\hidepaste} +\tab{5}\spadcommand{multiset [x rem 5 for x in primes(2,1000)]} +\indentrel{3}\begin{verbatim} + (18) {0,42: 3,40: 1,38: 4,47: 2} + Type: Multiset Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty19} +\begin{paste}{ugIntroCollectPageEmpty19}{ugIntroCollectPagePatch19} +\pastebutton{ugIntroCollectPageEmpty19}{\showpaste} +\tab{5}\spadcommand{multiset [x rem 5 for x in primes(2,1000)]} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPagePatch20} +\begin{paste}{ugIntroCollectPageFull20}{ugIntroCollectPageEmpty20} +\pastebutton{ugIntroCollectPageFull20}{\hidepaste} +\tab{5}\spadcommand{t : Table(Integer,Integer) := empty()\bound{t }} +\indentrel{3}\begin{verbatim} + (19) table() + Type: Table(Integer,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty20} +\begin{paste}{ugIntroCollectPageEmpty20}{ugIntroCollectPagePatch20} +\pastebutton{ugIntroCollectPageEmpty20}{\showpaste} +\tab{5}\spadcommand{t : Table(Integer,Integer) := empty()\bound{t }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPagePatch21} +\begin{paste}{ugIntroCollectPageFull21}{ugIntroCollectPageEmpty21} +\pastebutton{ugIntroCollectPageFull21}{\hidepaste} +\tab{5}\spadcommand{howMany(k) == (n:=search(k,t); n case "failed" => 1; n+1)\bound{how }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty21} +\begin{paste}{ugIntroCollectPageEmpty21}{ugIntroCollectPagePatch21} +\pastebutton{ugIntroCollectPageEmpty21}{\showpaste} +\tab{5}\spadcommand{howMany(k) == (n:=search(k,t); n case "failed" => 1; n+1)\bound{how }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPagePatch22} +\begin{paste}{ugIntroCollectPageFull22}{ugIntroCollectPageEmpty22} +\pastebutton{ugIntroCollectPageFull22}{\hidepaste} +\tab{5}\spadcommand{for p in primes(2,1000) repeat (m:= p rem 5; t.m:= howMany(m)); t\free{how t }} +\indentrel{3}\begin{verbatim} + (21) table(2= 47,4= 38,1= 40,3= 42,0= 1) + Type: Table(Integer,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty22} +\begin{paste}{ugIntroCollectPageEmpty22}{ugIntroCollectPagePatch22} +\pastebutton{ugIntroCollectPageEmpty22}{\showpaste} +\tab{5}\spadcommand{for p in primes(2,1000) repeat (m:= p rem 5; t.m:= howMany(m)); t\free{how t }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPagePatch23} +\begin{paste}{ugIntroCollectPageFull23}{ugIntroCollectPageEmpty23} +\pastebutton{ugIntroCollectPageFull23}{\hidepaste} +\tab{5}\spadcommand{daniel : Record(age : Integer, salary : Float)\bound{danieldec }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty23} +\begin{paste}{ugIntroCollectPageEmpty23}{ugIntroCollectPagePatch23} +\pastebutton{ugIntroCollectPageEmpty23}{\showpaste} +\tab{5}\spadcommand{daniel : Record(age : Integer, salary : Float)\bound{danieldec }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPagePatch24} +\begin{paste}{ugIntroCollectPageFull24}{ugIntroCollectPageEmpty24} +\pastebutton{ugIntroCollectPageFull24}{\hidepaste} +\tab{5}\spadcommand{daniel := [28, 32005.12]\free{danieldec }\bound{daniel }} +\indentrel{3}\begin{verbatim} + (23) [age= 28,salary= 32005.12] + Type: Record(age: Integer,salary: Float) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty24} +\begin{paste}{ugIntroCollectPageEmpty24}{ugIntroCollectPagePatch24} +\pastebutton{ugIntroCollectPageEmpty24}{\showpaste} +\tab{5}\spadcommand{daniel := [28, 32005.12]\free{danieldec }\bound{daniel }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPagePatch25} +\begin{paste}{ugIntroCollectPageFull25}{ugIntroCollectPageEmpty25} +\pastebutton{ugIntroCollectPageFull25}{\hidepaste} +\tab{5}\spadcommand{daniel.salary := 35000; daniel\free{daniel }} +\indentrel{3}\begin{verbatim} + (24) [age= 28,salary= 35000.0] + Type: Record(age: Integer,salary: Float) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty25} +\begin{paste}{ugIntroCollectPageEmpty25}{ugIntroCollectPagePatch25} +\pastebutton{ugIntroCollectPageEmpty25}{\showpaste} +\tab{5}\spadcommand{daniel.salary := 35000; daniel\free{daniel }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPagePatch26} +\begin{paste}{ugIntroCollectPageFull26}{ugIntroCollectPageEmpty26} +\pastebutton{ugIntroCollectPageFull26}{\hidepaste} +\tab{5}\spadcommand{dog: Union(licenseNumber: Integer, name: String)\bound{xint }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty26} +\begin{paste}{ugIntroCollectPageEmpty26}{ugIntroCollectPagePatch26} +\pastebutton{ugIntroCollectPageEmpty26}{\showpaste} +\tab{5}\spadcommand{dog: Union(licenseNumber: Integer, name: String)\bound{xint }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPagePatch27} +\begin{paste}{ugIntroCollectPageFull27}{ugIntroCollectPageEmpty27} +\pastebutton{ugIntroCollectPageFull27}{\hidepaste} +\tab{5}\spadcommand{dog := "Whisper"\free{xint }} +\indentrel{3}\begin{verbatim} + (26) "Whisper" + Type: Union(name: String,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCollectPageEmpty27} +\begin{paste}{ugIntroCollectPageEmpty27}{ugIntroCollectPagePatch27} +\pastebutton{ugIntroCollectPageEmpty27}{\showpaste} +\tab{5}\spadcommand{dog := "Whisper"\free{xint }} +\end{paste}\end{patch} + @ \pagehead{ugIntroTwoDimPage}{ug01.ht}{Expanding to Higher Dimensions} \pageto{notitle}{TwoDimensionalArrayXmpPage} @@ -24753,6 +69123,149 @@ You can perform operations such as \autobuttons \end{page} +\begin{patch}{ugIntroTwoDimPagePatch1} +\begin{paste}{ugIntroTwoDimPageFull1}{ugIntroTwoDimPageEmpty1} +\pastebutton{ugIntroTwoDimPageFull1}{\hidepaste} +\tab{5}\spadcommand{m := matrix([[1,2], [3,4]])\bound{m }} +\indentrel{3}\begin{verbatim} + Ú1 2¿ + (1) ³ ³ + À3 4Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroTwoDimPageEmpty1} +\begin{paste}{ugIntroTwoDimPageEmpty1}{ugIntroTwoDimPagePatch1} +\pastebutton{ugIntroTwoDimPageEmpty1}{\showpaste} +\tab{5}\spadcommand{m := matrix([[1,2], [3,4]])\bound{m }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroTwoDimPagePatch2} +\begin{paste}{ugIntroTwoDimPageFull2}{ugIntroTwoDimPageEmpty2} +\pastebutton{ugIntroTwoDimPageFull2}{\hidepaste} +\tab{5}\spadcommand{matrix([[1/(i + j - x) for i in 1..4] for j in 1..4])\bound{hilb }} +\indentrel{3}\begin{verbatim} + Ú 1 1 1 1 ¿ + ³- ÄÄÄÄÄ - ÄÄÄÄÄ - ÄÄÄÄÄ - ÄÄÄÄij + ³ x - 2 x - 3 x - 4 x - 5³ + ³ ³ + ³ 1 1 1 1 ³ + ³- ÄÄÄÄÄ - ÄÄÄÄÄ - ÄÄÄÄÄ - ÄÄÄÄij + ³ x - 3 x - 4 x - 5 x - 6³ + (2) ³ ³ + ³ 1 1 1 1 ³ + ³- ÄÄÄÄÄ - ÄÄÄÄÄ - ÄÄÄÄÄ - ÄÄÄÄij + ³ x - 4 x - 5 x - 6 x - 7³ + ³ ³ + ³ 1 1 1 1 ³ + ³- ÄÄÄÄÄ - ÄÄÄÄÄ - ÄÄÄÄÄ - ÄÄÄÄij + À x - 5 x - 6 x - 7 x - 8Ù + Type: Matrix Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroTwoDimPageEmpty2} +\begin{paste}{ugIntroTwoDimPageEmpty2}{ugIntroTwoDimPagePatch2} +\pastebutton{ugIntroTwoDimPageEmpty2}{\showpaste} +\tab{5}\spadcommand{matrix([[1/(i + j - x) for i in 1..4] for j in 1..4])\bound{hilb }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroTwoDimPagePatch3} +\begin{paste}{ugIntroTwoDimPageFull3}{ugIntroTwoDimPageEmpty3} +\pastebutton{ugIntroTwoDimPageFull3}{\hidepaste} +\tab{5}\spadcommand{vm := matrix [[1,1,1], [x,y,z], [x*x,y*y,z*z]]\bound{vm }} +\indentrel{3}\begin{verbatim} + Ú1 1 1 ¿ + ³ ³ + (3) ³x y z ³ + ³ ³ + ³ 2 2 2³ + Àx y z Ù + Type: Matrix Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroTwoDimPageEmpty3} +\begin{paste}{ugIntroTwoDimPageEmpty3}{ugIntroTwoDimPagePatch3} +\pastebutton{ugIntroTwoDimPageEmpty3}{\showpaste} +\tab{5}\spadcommand{vm := matrix [[1,1,1], [x,y,z], [x*x,y*y,z*z]]\bound{vm }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroTwoDimPagePatch4} +\begin{paste}{ugIntroTwoDimPageFull4}{ugIntroTwoDimPageEmpty4} +\pastebutton{ugIntroTwoDimPageFull4}{\hidepaste} +\tab{5}\spadcommand{vm(3,3)\free{vm }} +\indentrel{3}\begin{verbatim} + 2 + (4) z + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroTwoDimPageEmpty4} +\begin{paste}{ugIntroTwoDimPageEmpty4}{ugIntroTwoDimPagePatch4} +\pastebutton{ugIntroTwoDimPageEmpty4}{\showpaste} +\tab{5}\spadcommand{vm(3,3)\free{vm }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroTwoDimPagePatch5} +\begin{paste}{ugIntroTwoDimPageFull5}{ugIntroTwoDimPageEmpty5} +\pastebutton{ugIntroTwoDimPageFull5}{\hidepaste} +\tab{5}\spadcommand{column(vm,2)\free{vm }} +\indentrel{3}\begin{verbatim} + 2 + (5) [1,y,y ] + Type: Vector Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroTwoDimPageEmpty5} +\begin{paste}{ugIntroTwoDimPageEmpty5}{ugIntroTwoDimPagePatch5} +\pastebutton{ugIntroTwoDimPageEmpty5}{\showpaste} +\tab{5}\spadcommand{column(vm,2)\free{vm }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroTwoDimPagePatch6} +\begin{paste}{ugIntroTwoDimPageFull6}{ugIntroTwoDimPageEmpty6} +\pastebutton{ugIntroTwoDimPageFull6}{\hidepaste} +\tab{5}\spadcommand{vm * vm\free{vm }} +\indentrel{3}\begin{verbatim} + (6) + Ú 2 2 2 ¿ + ³ x + x + 1 y + y + 1 z + z + 1 ³ + ³ ³ + ³ 2 2 2 3 ³ + ³ x z + x y + x y z + y + x z + y z + x ³ + ³ ³ + ³ 2 2 2 2 2 2 3 2 4 2 2³ + Àx z + x y + x y z + y + x z + y z + x Ù + Type: Matrix Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroTwoDimPageEmpty6} +\begin{paste}{ugIntroTwoDimPageEmpty6}{ugIntroTwoDimPagePatch6} +\pastebutton{ugIntroTwoDimPageEmpty6}{\showpaste} +\tab{5}\spadcommand{vm * vm\free{vm }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroTwoDimPagePatch7} +\begin{paste}{ugIntroTwoDimPageFull7}{ugIntroTwoDimPageEmpty7} +\pastebutton{ugIntroTwoDimPageFull7}{\hidepaste} +\tab{5}\spadcommand{factor determinant vm\free{vm }\bound{d }} +\indentrel{3}\begin{verbatim} + (7) (y - x)(z - y)(z - x) + Type: Factored Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroTwoDimPageEmpty7} +\begin{paste}{ugIntroTwoDimPageEmpty7}{ugIntroTwoDimPagePatch7} +\pastebutton{ugIntroTwoDimPageEmpty7}{\showpaste} +\tab{5}\spadcommand{factor determinant vm\free{vm }\bound{d }} +\end{paste}\end{patch} + @ \pagehead{ugIntroYouPage}{ug01.ht}{Writing Your Own Functions} \pageto{notitle}{ugUserPage} @@ -24957,6 +69470,408 @@ The rule \autobuttons \end{page} +\begin{patch}{ugIntroYouPagePatch1} +\begin{paste}{ugIntroYouPageFull1}{ugIntroYouPageEmpty1} +\pastebutton{ugIntroYouPageFull1}{\hidepaste} +\tab{5}\spadcommand{fact(0) == 1\bound{fact }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPageEmpty1} +\begin{paste}{ugIntroYouPageEmpty1}{ugIntroYouPagePatch1} +\pastebutton{ugIntroYouPageEmpty1}{\showpaste} +\tab{5}\spadcommand{fact(0) == 1\bound{fact }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPagePatch2} +\begin{paste}{ugIntroYouPageFull2}{ugIntroYouPageEmpty2} +\pastebutton{ugIntroYouPageFull2}{\hidepaste} +\tab{5}\spadcommand{fact(n) == n*fact(n-1)\bound{facta }\free{fact }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPageEmpty2} +\begin{paste}{ugIntroYouPageEmpty2}{ugIntroYouPagePatch2} +\pastebutton{ugIntroYouPageEmpty2}{\showpaste} +\tab{5}\spadcommand{fact(n) == n*fact(n-1)\bound{facta }\free{fact }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPagePatch3} +\begin{paste}{ugIntroYouPageFull3}{ugIntroYouPageEmpty3} +\pastebutton{ugIntroYouPageFull3}{\hidepaste} +\tab{5}\spadcommand{fact(50)\free{facta }} +\indentrel{3}\begin{verbatim} + (3) + 304140932017133780436126081660647688443776415689605120_ + 00000000000 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPageEmpty3} +\begin{paste}{ugIntroYouPageEmpty3}{ugIntroYouPagePatch3} +\pastebutton{ugIntroYouPageEmpty3}{\showpaste} +\tab{5}\spadcommand{fact(50)\free{facta }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPagePatch4} +\begin{paste}{ugIntroYouPageFull4}{ugIntroYouPageEmpty4} +\pastebutton{ugIntroYouPageFull4}{\hidepaste} +\tab{5}\spadcommand{fac(n) == if n < 3 then n else n * fac(n - 1)\bound{fac }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPageEmpty4} +\begin{paste}{ugIntroYouPageEmpty4}{ugIntroYouPagePatch4} +\pastebutton{ugIntroYouPageEmpty4}{\showpaste} +\tab{5}\spadcommand{fac(n) == if n < 3 then n else n * fac(n - 1)\bound{fac }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPagePatch5} +\begin{paste}{ugIntroYouPageFull5}{ugIntroYouPageEmpty5} +\pastebutton{ugIntroYouPageFull5}{\hidepaste} +\tab{5}\spadcommand{fac(50)\free{fac }} +\indentrel{3}\begin{verbatim} + (5) + 304140932017133780436126081660647688443776415689605120_ + 00000000000 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPageEmpty5} +\begin{paste}{ugIntroYouPageEmpty5}{ugIntroYouPagePatch5} +\pastebutton{ugIntroYouPageEmpty5}{\showpaste} +\tab{5}\spadcommand{fac(50)\free{fac }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPagePatch6} +\begin{paste}{ugIntroYouPageFull6}{ugIntroYouPageEmpty6} +\pastebutton{ugIntroYouPageFull6}{\hidepaste} +\tab{5}\spadcommand{fa(n) == (a := 1; for i in 2..n repeat a := a*i; a)\bound{fa }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPageEmpty6} +\begin{paste}{ugIntroYouPageEmpty6}{ugIntroYouPagePatch6} +\pastebutton{ugIntroYouPageEmpty6}{\showpaste} +\tab{5}\spadcommand{fa(n) == (a := 1; for i in 2..n repeat a := a*i; a)\bound{fa }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPagePatch7} +\begin{paste}{ugIntroYouPageFull7}{ugIntroYouPageEmpty7} +\pastebutton{ugIntroYouPageFull7}{\hidepaste} +\tab{5}\spadcommand{fa(50)\free{fa }} +\indentrel{3}\begin{verbatim} + (7) + 304140932017133780436126081660647688443776415689605120_ + 00000000000 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPageEmpty7} +\begin{paste}{ugIntroYouPageEmpty7}{ugIntroYouPagePatch7} +\pastebutton{ugIntroYouPageEmpty7}{\showpaste} +\tab{5}\spadcommand{fa(50)\free{fa }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPagePatch8} +\begin{paste}{ugIntroYouPageFull8}{ugIntroYouPageEmpty8} +\pastebutton{ugIntroYouPageFull8}{\hidepaste} +\tab{5}\spadcommand{f(n) == reduce(*,[i for i in 2..n])\bound{f }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPageEmpty8} +\begin{paste}{ugIntroYouPageEmpty8}{ugIntroYouPagePatch8} +\pastebutton{ugIntroYouPageEmpty8}{\showpaste} +\tab{5}\spadcommand{f(n) == reduce(*,[i for i in 2..n])\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPagePatch9} +\begin{paste}{ugIntroYouPageFull9}{ugIntroYouPageEmpty9} +\pastebutton{ugIntroYouPageFull9}{\hidepaste} +\tab{5}\spadcommand{f(50)\free{f }} +\indentrel{3}\begin{verbatim} + (9) + 304140932017133780436126081660647688443776415689605120_ + 00000000000 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPageEmpty9} +\begin{paste}{ugIntroYouPageEmpty9}{ugIntroYouPagePatch9} +\pastebutton{ugIntroYouPageEmpty9}{\showpaste} +\tab{5}\spadcommand{f(50)\free{f }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPagePatch10} +\begin{paste}{ugIntroYouPageFull10}{ugIntroYouPageEmpty10} +\pastebutton{ugIntroYouPageFull10}{\hidepaste} +\tab{5}\spadcommand{factorial(50)} +\indentrel{3}\begin{verbatim} + (10) + 304140932017133780436126081660647688443776415689605120_ + 00000000000 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPageEmpty10} +\begin{paste}{ugIntroYouPageEmpty10}{ugIntroYouPagePatch10} +\pastebutton{ugIntroYouPageEmpty10}{\showpaste} +\tab{5}\spadcommand{factorial(50)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPagePatch11} +\begin{paste}{ugIntroYouPageFull11}{ugIntroYouPageEmpty11} +\pastebutton{ugIntroYouPageFull11}{\hidepaste} +\tab{5}\spadcommand{permMat(n, i, j) == + m := diagonalMatrix + [(if i = k or j = k then 0 else 1) + for k in 1..n] + m(i,j) := 1 + m(j,i) := 1 + m +\bound{permMat }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPageEmpty11} +\begin{paste}{ugIntroYouPageEmpty11}{ugIntroYouPagePatch11} +\pastebutton{ugIntroYouPageEmpty11}{\showpaste} +\tab{5}\spadcommand{permMat(n, i, j) == + m := diagonalMatrix + [(if i = k or j = k then 0 else 1) + for k in 1..n] + m(i,j) := 1 + m(j,i) := 1 + m +\bound{permMat }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPagePatch12} +\begin{paste}{ugIntroYouPageFull12}{ugIntroYouPageEmpty12} +\pastebutton{ugIntroYouPageFull12}{\hidepaste} +\tab{5}\spadcommand{p := permMat(4,2,3)\free{permMat }\bound{p }} +\indentrel{3}\begin{verbatim} + Ú1 0 0 0¿ + ³ ³ + ³0 0 1 0³ + (12) ³ ³ + ³0 1 0 0³ + ³ ³ + À0 0 0 1Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPageEmpty12} +\begin{paste}{ugIntroYouPageEmpty12}{ugIntroYouPagePatch12} +\pastebutton{ugIntroYouPageEmpty12}{\showpaste} +\tab{5}\spadcommand{p := permMat(4,2,3)\free{permMat }\bound{p }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPagePatch13} +\begin{paste}{ugIntroYouPageFull13}{ugIntroYouPageEmpty13} +\pastebutton{ugIntroYouPageFull13}{\hidepaste} +\tab{5}\spadcommand{m := matrix [[4*i + j for j in 1..4] for i in 0..3]\bound{m }} +\indentrel{3}\begin{verbatim} + Ú1 2 3 4 ¿ + ³ ³ + ³5 6 7 8 ³ + (13) ³ ³ + ³9 10 11 12³ + ³ ³ + À13 14 15 16Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPageEmpty13} +\begin{paste}{ugIntroYouPageEmpty13}{ugIntroYouPagePatch13} +\pastebutton{ugIntroYouPageEmpty13}{\showpaste} +\tab{5}\spadcommand{m := matrix [[4*i + j for j in 1..4] for i in 0..3]\bound{m }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPagePatch14} +\begin{paste}{ugIntroYouPageFull14}{ugIntroYouPageEmpty14} +\pastebutton{ugIntroYouPageFull14}{\hidepaste} +\tab{5}\spadcommand{permMat(4,2,3) * m\free{p m }} +\indentrel{3}\begin{verbatim} + Ú1 2 3 4 ¿ + ³ ³ + ³9 10 11 12³ + (14) ³ ³ + ³5 6 7 8 ³ + ³ ³ + À13 14 15 16Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPageEmpty14} +\begin{paste}{ugIntroYouPageEmpty14}{ugIntroYouPagePatch14} +\pastebutton{ugIntroYouPageEmpty14}{\showpaste} +\tab{5}\spadcommand{permMat(4,2,3) * m\free{p m }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPagePatch15} +\begin{paste}{ugIntroYouPageFull15}{ugIntroYouPageEmpty15} +\pastebutton{ugIntroYouPageFull15}{\hidepaste} +\tab{5}\spadcommand{t : (Float -> Float, Float) -> Float\bound{tdecl }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPageEmpty15} +\begin{paste}{ugIntroYouPageEmpty15}{ugIntroYouPagePatch15} +\pastebutton{ugIntroYouPageEmpty15}{\showpaste} +\tab{5}\spadcommand{t : (Float -> Float, Float) -> Float\bound{tdecl }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPagePatch16} +\begin{paste}{ugIntroYouPageFull16}{ugIntroYouPageEmpty16} +\pastebutton{ugIntroYouPageFull16}{\hidepaste} +\tab{5}\spadcommand{t(fun, x) == fun(x)**2 + sin(x)**2\free{tdecl }\bound{t }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPageEmpty16} +\begin{paste}{ugIntroYouPageEmpty16}{ugIntroYouPagePatch16} +\pastebutton{ugIntroYouPageEmpty16}{\showpaste} +\tab{5}\spadcommand{t(fun, x) == fun(x)**2 + sin(x)**2\free{tdecl }\bound{t }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPagePatch17} +\begin{paste}{ugIntroYouPageFull17}{ugIntroYouPageEmpty17} +\pastebutton{ugIntroYouPageFull17}{\hidepaste} +\tab{5}\spadcommand{t(cos, 5.2058)\free{t }} +\indentrel{3}\begin{verbatim} + (17) 1.0 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPageEmpty17} +\begin{paste}{ugIntroYouPageEmpty17}{ugIntroYouPagePatch17} +\pastebutton{ugIntroYouPageEmpty17}{\showpaste} +\tab{5}\spadcommand{t(cos, 5.2058)\free{t }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPagePatch18} +\begin{paste}{ugIntroYouPageFull18}{ugIntroYouPageEmpty18} +\pastebutton{ugIntroYouPageFull18}{\hidepaste} +\tab{5}\spadcommand{cosinv(y) == cos(1/y)\bound{cosinv }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPageEmpty18} +\begin{paste}{ugIntroYouPageEmpty18}{ugIntroYouPagePatch18} +\pastebutton{ugIntroYouPageEmpty18}{\showpaste} +\tab{5}\spadcommand{cosinv(y) == cos(1/y)\bound{cosinv }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPagePatch19} +\begin{paste}{ugIntroYouPageFull19}{ugIntroYouPageEmpty19} +\pastebutton{ugIntroYouPageFull19}{\hidepaste} +\tab{5}\spadcommand{t(cosinv, 5.2058)\free{t }\free{cosinv }} +\indentrel{3}\begin{verbatim} + (19) 1.7392237241 800516493 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPageEmpty19} +\begin{paste}{ugIntroYouPageEmpty19}{ugIntroYouPagePatch19} +\pastebutton{ugIntroYouPageEmpty19}{\showpaste} +\tab{5}\spadcommand{t(cosinv, 5.2058)\free{t }\free{cosinv }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPagePatch20} +\begin{paste}{ugIntroYouPageFull20}{ugIntroYouPageEmpty20} +\pastebutton{ugIntroYouPageFull20}{\hidepaste} +\tab{5}\spadcommand{groupSqrt := rule(sqrt(a) * sqrt(b) == sqrt(a*b))\bound{g }} +\indentrel{3}\begin{verbatim} + ÚÄ¿ ÚÄ¿ ÚÄÄÄ¿ + (20) %BD\³a \³b == %BD\³a b + Type: RewriteRule(Integer,Integer,Expression Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPageEmpty20} +\begin{paste}{ugIntroYouPageEmpty20}{ugIntroYouPagePatch20} +\pastebutton{ugIntroYouPageEmpty20}{\showpaste} +\tab{5}\spadcommand{groupSqrt := rule(sqrt(a) * sqrt(b) == sqrt(a*b))\bound{g }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPagePatch21} +\begin{paste}{ugIntroYouPageFull21}{ugIntroYouPageEmpty21} +\pastebutton{ugIntroYouPageFull21}{\hidepaste} +\tab{5}\spadcommand{a := (sqrt(x) + sqrt(y) + sqrt(z))**4\bound{sxy }} +\indentrel{3}\begin{verbatim} + (21) + ÚÄ¿ ÚÄ¿ ÚÄ¿ + ((4z + 4y + 12x)\³y + (4z + 12y + 4x)\³x )\³z + + + ÚÄ¿ ÚÄ¿ 2 2 + (12z + 4y + 4x)\³x \³y + z + (6y + 6x)z + y + 6x y + + + 2 + x + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPageEmpty21} +\begin{paste}{ugIntroYouPageEmpty21}{ugIntroYouPagePatch21} +\pastebutton{ugIntroYouPageEmpty21}{\showpaste} +\tab{5}\spadcommand{a := (sqrt(x) + sqrt(y) + sqrt(z))**4\bound{sxy }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPagePatch22} +\begin{paste}{ugIntroYouPageFull22}{ugIntroYouPageEmpty22} +\pastebutton{ugIntroYouPageFull22}{\hidepaste} +\tab{5}\spadcommand{groupSqrt a\free{sxy }\free{g }} +\indentrel{3}\begin{verbatim} + (22) + ÚÄÄÄ¿ ÚÄÄÄ¿ + (4z + 4y + 12x)\³y z + (4z + 12y + 4x)\³x z + + + ÚÄÄÄ¿ 2 2 + (12z + 4y + 4x)\³x y + z + (6y + 6x)z + y + 6x y + + + 2 + x + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroYouPageEmpty22} +\begin{paste}{ugIntroYouPageEmpty22}{ugIntroYouPagePatch22} +\pastebutton{ugIntroYouPageEmpty22}{\showpaste} +\tab{5}\spadcommand{groupSqrt a\free{sxy }\free{g }} +\end{paste}\end{patch} + @ \pagehead{ugIntroVariablesPage}{ug01.ht}{Polynomials} <>= @@ -25039,6 +69954,108 @@ wanted and the term ordering is critical for controlling the computation. \autobuttons \end{page} +\begin{patch}{ugIntroVariablesPagePatch1} +\begin{paste}{ugIntroVariablesPageFull1}{ugIntroVariablesPageEmpty1} +\pastebutton{ugIntroVariablesPageFull1}{\hidepaste} +\tab{5}\spadcommand{(x**2 - x*y**3 +3*y)**2} +\indentrel{3}\begin{verbatim} + 2 6 4 3 3 2 2 4 + (1) x y - 6x y - 2x y + 9y + 6x y + x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroVariablesPageEmpty1} +\begin{paste}{ugIntroVariablesPageEmpty1}{ugIntroVariablesPagePatch1} +\pastebutton{ugIntroVariablesPageEmpty1}{\showpaste} +\tab{5}\spadcommand{(x**2 - x*y**3 +3*y)**2} +\end{paste}\end{patch} + +\begin{patch}{ugIntroVariablesPagePatch2} +\begin{paste}{ugIntroVariablesPageFull2}{ugIntroVariablesPageEmpty2} +\pastebutton{ugIntroVariablesPageFull2}{\hidepaste} +\tab{5}\spadcommand{p: UP(x,INT) := (3*x-1)**2 * (2*x + 8)} +\indentrel{3}\begin{verbatim} + 3 2 + (2) 18x + 60x - 46x + 8 + Type: UnivariatePolynomial(x,Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroVariablesPageEmpty2} +\begin{paste}{ugIntroVariablesPageEmpty2}{ugIntroVariablesPagePatch2} +\pastebutton{ugIntroVariablesPageEmpty2}{\showpaste} +\tab{5}\spadcommand{p: UP(x,INT) := (3*x-1)**2 * (2*x + 8)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroVariablesPagePatch3} +\begin{paste}{ugIntroVariablesPageFull3}{ugIntroVariablesPageEmpty3} +\pastebutton{ugIntroVariablesPageFull3}{\hidepaste} +\tab{5}\spadcommand{m: MPOLY([x,y],INT) := (x**2-x*y**3+3*y)**2\bound{m }} +\indentrel{3}\begin{verbatim} + 4 3 3 6 2 4 2 + (3) x - 2y x + (y + 6y)x - 6y x + 9y + Type: MultivariatePolynomial([x,y],Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroVariablesPageEmpty3} +\begin{paste}{ugIntroVariablesPageEmpty3}{ugIntroVariablesPagePatch3} +\pastebutton{ugIntroVariablesPageEmpty3}{\showpaste} +\tab{5}\spadcommand{m: MPOLY([x,y],INT) := (x**2-x*y**3+3*y)**2\bound{m }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroVariablesPagePatch4} +\begin{paste}{ugIntroVariablesPageFull4}{ugIntroVariablesPageEmpty4} +\pastebutton{ugIntroVariablesPageFull4}{\hidepaste} +\tab{5}\spadcommand{m :: MPOLY([y,x],INT)\free{m }} +\indentrel{3}\begin{verbatim} + 2 6 4 3 3 2 2 4 + (4) x y - 6x y - 2x y + 9y + 6x y + x + Type: MultivariatePolynomial([y,x],Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroVariablesPageEmpty4} +\begin{paste}{ugIntroVariablesPageEmpty4}{ugIntroVariablesPagePatch4} +\pastebutton{ugIntroVariablesPageEmpty4}{\showpaste} +\tab{5}\spadcommand{m :: MPOLY([y,x],INT)\free{m }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroVariablesPagePatch5} +\begin{paste}{ugIntroVariablesPageFull5}{ugIntroVariablesPageEmpty5} +\pastebutton{ugIntroVariablesPageFull5}{\hidepaste} +\tab{5}\spadcommand{m :: DMP([y,x],INT)\free{m }} +\indentrel{3}\begin{verbatim} + 6 2 4 3 3 2 2 4 + (5) y x - 6y x - 2y x + 9y + 6y x + x + Type: DistributedMultivariatePolynomial([y,x],Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroVariablesPageEmpty5} +\begin{paste}{ugIntroVariablesPageEmpty5}{ugIntroVariablesPagePatch5} +\pastebutton{ugIntroVariablesPageEmpty5}{\showpaste} +\tab{5}\spadcommand{m :: DMP([y,x],INT)\free{m }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroVariablesPagePatch6} +\begin{paste}{ugIntroVariablesPageFull6}{ugIntroVariablesPageEmpty6} +\pastebutton{ugIntroVariablesPageFull6}{\hidepaste} +\tab{5}\spadcommand{m :: HDMP([y,x],INT)\free{m }} +\indentrel{3}\begin{verbatim} + 6 2 3 3 4 4 2 2 + (6) y x - 2y x - 6y x + x + 6y x + 9y +Type: HomogeneousDistributedMultivariatePolynomial([y,x],Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroVariablesPageEmpty6} +\begin{paste}{ugIntroVariablesPageEmpty6}{ugIntroVariablesPagePatch6} +\pastebutton{ugIntroVariablesPageEmpty6}{\showpaste} +\tab{5}\spadcommand{m :: HDMP([y,x],INT)\free{m }} +\end{paste}\end{patch} + @ \pagehead{ugIntroCalcLimitsPage}{ug01.ht}{Limits} \pageto{notitle}{ugProblemLimitsPage} @@ -25106,6 +70123,125 @@ returned by the function. \autobuttons \end{page} +\begin{patch}{ugIntroCalcLimitsPagePatch1} +\begin{paste}{ugIntroCalcLimitsPageFull1}{ugIntroCalcLimitsPageEmpty1} +\pastebutton{ugIntroCalcLimitsPageFull1}{\hidepaste} +\tab{5}\spadcommand{g := csc(a*x) / csch(b*x)\bound{g }} +\indentrel{3}\begin{verbatim} + csc(a x) + (1) ÄÄÄÄÄÄÄÄÄ + csch(b x) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcLimitsPageEmpty1} +\begin{paste}{ugIntroCalcLimitsPageEmpty1}{ugIntroCalcLimitsPagePatch1} +\pastebutton{ugIntroCalcLimitsPageEmpty1}{\showpaste} +\tab{5}\spadcommand{g := csc(a*x) / csch(b*x)\bound{g }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcLimitsPagePatch2} +\begin{paste}{ugIntroCalcLimitsPageFull2}{ugIntroCalcLimitsPageEmpty2} +\pastebutton{ugIntroCalcLimitsPageFull2}{\hidepaste} +\tab{5}\spadcommand{limit(g,x=0)\free{g }} +\indentrel{3}\begin{verbatim} + b + (2) Ä + a + Type: Union(OrderedCompletion Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcLimitsPageEmpty2} +\begin{paste}{ugIntroCalcLimitsPageEmpty2}{ugIntroCalcLimitsPagePatch2} +\pastebutton{ugIntroCalcLimitsPageEmpty2}{\showpaste} +\tab{5}\spadcommand{limit(g,x=0)\free{g }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcLimitsPagePatch3} +\begin{paste}{ugIntroCalcLimitsPageFull3}{ugIntroCalcLimitsPageEmpty3} +\pastebutton{ugIntroCalcLimitsPageFull3}{\hidepaste} +\tab{5}\spadcommand{h := (1 + k/x)**x\bound{h }} +\indentrel{3}\begin{verbatim} + x + k x + (3) (ÄÄÄÄÄ) + x + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcLimitsPageEmpty3} +\begin{paste}{ugIntroCalcLimitsPageEmpty3}{ugIntroCalcLimitsPagePatch3} +\pastebutton{ugIntroCalcLimitsPageEmpty3}{\showpaste} +\tab{5}\spadcommand{h := (1 + k/x)**x\bound{h }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcLimitsPagePatch4} +\begin{paste}{ugIntroCalcLimitsPageFull4}{ugIntroCalcLimitsPageEmpty4} +\pastebutton{ugIntroCalcLimitsPageFull4}{\hidepaste} +\tab{5}\spadcommand{limit(h,x=\%plusInfinity)\free{h }} +\indentrel{3}\begin{verbatim} + k + (4) %e + Type: Union(OrderedCompletion Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcLimitsPageEmpty4} +\begin{paste}{ugIntroCalcLimitsPageEmpty4}{ugIntroCalcLimitsPagePatch4} +\pastebutton{ugIntroCalcLimitsPageEmpty4}{\showpaste} +\tab{5}\spadcommand{limit(h,x=\%plusInfinity)\free{h }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcLimitsPagePatch5} +\begin{paste}{ugIntroCalcLimitsPageFull5}{ugIntroCalcLimitsPageEmpty5} +\pastebutton{ugIntroCalcLimitsPageFull5}{\hidepaste} +\tab{5}\spadcommand{limit(sqrt(y**2)/y,y = 0)} +\indentrel{3}\begin{verbatim} + (5) [leftHandLimit= - 1,rightHandLimit= 1] +Type: Union(Record(leftHandLimit: Union(OrderedCompletion Expression Integer,"failed"),rightHandLimit: Union(OrderedCompletion Expression Integer,"failed")),...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcLimitsPageEmpty5} +\begin{paste}{ugIntroCalcLimitsPageEmpty5}{ugIntroCalcLimitsPagePatch5} +\pastebutton{ugIntroCalcLimitsPageEmpty5}{\showpaste} +\tab{5}\spadcommand{limit(sqrt(y**2)/y,y = 0)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcLimitsPagePatch6} +\begin{paste}{ugIntroCalcLimitsPageFull6}{ugIntroCalcLimitsPageEmpty6} +\pastebutton{ugIntroCalcLimitsPageFull6}{\hidepaste} +\tab{5}\spadcommand{limit(exp(-1/x**2),x = 0)} +\indentrel{3}\begin{verbatim} + (6) 0 + Type: Union(OrderedCompletion Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcLimitsPageEmpty6} +\begin{paste}{ugIntroCalcLimitsPageEmpty6}{ugIntroCalcLimitsPagePatch6} +\pastebutton{ugIntroCalcLimitsPageEmpty6}{\showpaste} +\tab{5}\spadcommand{limit(exp(-1/x**2),x = 0)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcLimitsPagePatch7} +\begin{paste}{ugIntroCalcLimitsPageFull7}{ugIntroCalcLimitsPageEmpty7} +\pastebutton{ugIntroCalcLimitsPageFull7}{\hidepaste} +\tab{5}\spadcommand{complexLimit(exp(-1/x**2),x = 0)} +\indentrel{3}\begin{verbatim} + (7) "failed" + Type: Union("failed",...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcLimitsPageEmpty7} +\begin{paste}{ugIntroCalcLimitsPageEmpty7}{ugIntroCalcLimitsPagePatch7} +\pastebutton{ugIntroCalcLimitsPageEmpty7}{\showpaste} +\tab{5}\spadcommand{complexLimit(exp(-1/x**2),x = 0)} +\end{paste}\end{patch} + @ \pagehead{ugIntroSeriesPage}{ug01.ht}{Series} \pageto{notitle}{ugProblemSeriesPage} @@ -25197,6 +70333,250 @@ As you see, you get a sequence of partial sums. \autobuttons \end{page} +\begin{patch}{ugIntroSeriesPagePatch1} +\begin{paste}{ugIntroSeriesPageFull1}{ugIntroSeriesPageEmpty1} +\pastebutton{ugIntroSeriesPageFull1}{\hidepaste} +\tab{5}\spadcommand{series(sin(a*x),x = 0)} +\indentrel{3}\begin{verbatim} + (1) + 3 5 7 9 + a 3 a 5 a 7 a 9 + a x - ÄÄ x + ÄÄÄ x - ÄÄÄÄ x + ÄÄÄÄÄÄ x + 6 120 5040 362880 + + + 11 + a 11 12 + - ÄÄÄÄÄÄÄÄ x + O(x ) + 39916800 + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroSeriesPageEmpty1} +\begin{paste}{ugIntroSeriesPageEmpty1}{ugIntroSeriesPagePatch1} +\pastebutton{ugIntroSeriesPageEmpty1}{\showpaste} +\tab{5}\spadcommand{series(sin(a*x),x = 0)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroSeriesPagePatch2} +\begin{paste}{ugIntroSeriesPageFull2}{ugIntroSeriesPageEmpty2} +\pastebutton{ugIntroSeriesPageFull2}{\hidepaste} +\tab{5}\spadcommand{series(sin(a*x),x = \%pi/4)} +\indentrel{3}\begin{verbatim} + (2) + a %pi a %pi %pi + sin(ÄÄÄÄÄ) + a cos(ÄÄÄÄÄ)(x - ÄÄÄ) + 4 4 4 + + + 2 a %pi 3 a %pi + a sin(ÄÄÄÄÄ) a cos(ÄÄÄÄÄ) + 4 %pi 2 4 %pi 3 + - ÄÄÄÄÄÄÄÄÄÄÄÄ (x - ÄÄÄ) - ÄÄÄÄÄÄÄÄÄÄÄÄ (x - ÄÄÄ) + 2 4 6 4 + + + 4 a %pi 5 a %pi + a sin(ÄÄÄÄÄ) a cos(ÄÄÄÄÄ) + 4 %pi 4 4 %pi 5 + ÄÄÄÄÄÄÄÄÄÄÄÄ (x - ÄÄÄ) + ÄÄÄÄÄÄÄÄÄÄÄÄ (x - ÄÄÄ) + 24 4 120 4 + + + 6 a %pi 7 a %pi + a sin(ÄÄÄÄÄ) a cos(ÄÄÄÄÄ) + 4 %pi 6 4 %pi 7 + - ÄÄÄÄÄÄÄÄÄÄÄÄ (x - ÄÄÄ) - ÄÄÄÄÄÄÄÄÄÄÄÄ (x - ÄÄÄ) + 720 4 5040 4 + + + 8 a %pi 9 a %pi + a sin(ÄÄÄÄÄ) a cos(ÄÄÄÄÄ) + 4 %pi 8 4 %pi 9 + ÄÄÄÄÄÄÄÄÄÄÄÄ (x - ÄÄÄ) + ÄÄÄÄÄÄÄÄÄÄÄÄ (x - ÄÄÄ) + 40320 4 362880 4 + + + 10 a %pi + a sin(ÄÄÄÄÄ) + 4 %pi 10 %pi 11 + - ÄÄÄÄÄÄÄÄÄÄÄÄÄ (x - ÄÄÄ) + O((x - ÄÄÄ) ) + 3628800 4 4 +Type: UnivariatePuiseuxSeries(Expression Integer,x,pi/4) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroSeriesPageEmpty2} +\begin{paste}{ugIntroSeriesPageEmpty2}{ugIntroSeriesPagePatch2} +\pastebutton{ugIntroSeriesPageEmpty2}{\showpaste} +\tab{5}\spadcommand{series(sin(a*x),x = \%pi/4)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroSeriesPagePatch3} +\begin{paste}{ugIntroSeriesPageFull3}{ugIntroSeriesPageEmpty3} +\pastebutton{ugIntroSeriesPageFull3}{\hidepaste} +\tab{5}\spadcommand{series(n +-> (-1)**((3*n - 4)/6)/factorial(n - 1/3),x = 0,4/3..,2)} +\indentrel{3}\begin{verbatim} + 4 10 + Ä ÄÄ + 3 1 3 5 + (3) x - Ä x + O(x ) + 6 + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroSeriesPageEmpty3} +\begin{paste}{ugIntroSeriesPageEmpty3}{ugIntroSeriesPagePatch3} +\pastebutton{ugIntroSeriesPageEmpty3}{\showpaste} +\tab{5}\spadcommand{series(n +-> (-1)**((3*n - 4)/6)/factorial(n - 1/3),x = 0,4/3..,2)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroSeriesPagePatch4} +\begin{paste}{ugIntroSeriesPageFull4}{ugIntroSeriesPageEmpty4} +\pastebutton{ugIntroSeriesPageFull4}{\hidepaste} +\tab{5}\spadcommand{f := series(1/(1-x),x = 0)\bound{f }} +\indentrel{3}\begin{verbatim} + (4) + 2 3 4 5 6 7 8 9 10 + 1 + x + x + x + x + x + x + x + x + x + x + + + 11 + O(x ) + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroSeriesPageEmpty4} +\begin{paste}{ugIntroSeriesPageEmpty4}{ugIntroSeriesPagePatch4} +\pastebutton{ugIntroSeriesPageEmpty4}{\showpaste} +\tab{5}\spadcommand{f := series(1/(1-x),x = 0)\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroSeriesPagePatch5} +\begin{paste}{ugIntroSeriesPageFull5}{ugIntroSeriesPageEmpty5} +\pastebutton{ugIntroSeriesPageFull5}{\hidepaste} +\tab{5}\spadcommand{f ** 2\free{f }} +\indentrel{3}\begin{verbatim} + (5) + 2 3 4 5 6 7 8 + 1 + 2x + 3x + 4x + 5x + 6x + 7x + 8x + 9x + + + 9 10 11 + 10x + 11x + O(x ) + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroSeriesPageEmpty5} +\begin{paste}{ugIntroSeriesPageEmpty5}{ugIntroSeriesPagePatch5} +\pastebutton{ugIntroSeriesPageEmpty5}{\showpaste} +\tab{5}\spadcommand{f ** 2\free{f }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroSeriesPagePatch6} +\begin{paste}{ugIntroSeriesPageFull6}{ugIntroSeriesPageEmpty6} +\pastebutton{ugIntroSeriesPageFull6}{\hidepaste} +\tab{5}\spadcommand{f := series(1/(1-x),x = 0)\bound{f1 }} +\indentrel{3}\begin{verbatim} + (6) + 2 3 4 5 6 7 8 9 10 + 1 + x + x + x + x + x + x + x + x + x + x + + + 11 + O(x ) + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroSeriesPageEmpty6} +\begin{paste}{ugIntroSeriesPageEmpty6}{ugIntroSeriesPagePatch6} +\pastebutton{ugIntroSeriesPageEmpty6}{\showpaste} +\tab{5}\spadcommand{f := series(1/(1-x),x = 0)\bound{f1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroSeriesPagePatch7} +\begin{paste}{ugIntroSeriesPageFull7}{ugIntroSeriesPageEmpty7} +\pastebutton{ugIntroSeriesPageFull7}{\hidepaste} +\tab{5}\spadcommand{g := log(f)\free{f1 }\bound{g }} +\indentrel{3}\begin{verbatim} + (7) + 1 2 1 3 1 4 1 5 1 6 1 7 1 8 + x + Ä x + Ä x + Ä x + Ä x + Ä x + Ä x + Ä x + 2 3 4 5 6 7 8 + + + 1 9 1 10 1 11 12 + Ä x + ÄÄ x + ÄÄ x + O(x ) + 9 10 11 + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroSeriesPageEmpty7} +\begin{paste}{ugIntroSeriesPageEmpty7}{ugIntroSeriesPagePatch7} +\pastebutton{ugIntroSeriesPageEmpty7}{\showpaste} +\tab{5}\spadcommand{g := log(f)\free{f1 }\bound{g }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroSeriesPagePatch8} +\begin{paste}{ugIntroSeriesPageFull8}{ugIntroSeriesPageEmpty8} +\pastebutton{ugIntroSeriesPageFull8}{\hidepaste} +\tab{5}\spadcommand{exp(g)\free{g }} +\indentrel{3}\begin{verbatim} + (8) + 2 3 4 5 6 7 8 9 10 + 1 + x + x + x + x + x + x + x + x + x + x + + + 11 + O(x ) + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroSeriesPageEmpty8} +\begin{paste}{ugIntroSeriesPageEmpty8}{ugIntroSeriesPagePatch8} +\pastebutton{ugIntroSeriesPageEmpty8}{\showpaste} +\tab{5}\spadcommand{exp(g)\free{g }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroSeriesPagePatch9} +\begin{paste}{ugIntroSeriesPageFull9}{ugIntroSeriesPageEmpty9} +\pastebutton{ugIntroSeriesPageFull9}{\hidepaste} +\tab{5}\spadcommand{f := taylor(exp(x))\bound{f2 }} +\indentrel{3}\begin{verbatim} + (9) + 1 2 1 3 1 4 1 5 1 6 + 1 + x + Ä x + Ä x + ÄÄ x + ÄÄÄ x + ÄÄÄ x + 2 6 24 120 720 + + + 1 7 1 8 1 9 1 10 11 + ÄÄÄÄ x + ÄÄÄÄÄ x + ÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄ x + O(x ) + 5040 40320 362880 3628800 + Type: UnivariateTaylorSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroSeriesPageEmpty9} +\begin{paste}{ugIntroSeriesPageEmpty9}{ugIntroSeriesPagePatch9} +\pastebutton{ugIntroSeriesPageEmpty9}{\showpaste} +\tab{5}\spadcommand{f := taylor(exp(x))\bound{f2 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroSeriesPagePatch10} +\begin{paste}{ugIntroSeriesPageFull10}{ugIntroSeriesPageEmpty10} +\pastebutton{ugIntroSeriesPageFull10}{\hidepaste} +\tab{5}\spadcommand{eval(f,1.0)\free{f2 }} +\indentrel{3}\begin{verbatim} + (10) + [1.0, 2.0, 2.5, 2.6666666666 666666667, + 2.7083333333 333333333, 2.7166666666 666666667, + 2.7180555555 555555556, 2.7182539682 53968254, + 2.7182787698 412698413, 2.7182815255 731922399, ...] + Type: Stream Expression Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroSeriesPageEmpty10} +\begin{paste}{ugIntroSeriesPageEmpty10}{ugIntroSeriesPagePatch10} +\pastebutton{ugIntroSeriesPageEmpty10}{\showpaste} +\tab{5}\spadcommand{eval(f,1.0)\free{f2 }} +\end{paste}\end{patch} + @ \pagehead{ugIntroCalcDerivPage}{ug01.ht}{Derivatives} <>= @@ -25294,6 +70674,258 @@ then differentiating. \autobuttons \end{page} +\begin{patch}{ugIntroCalcDerivPagePatch1} +\begin{paste}{ugIntroCalcDerivPageFull1}{ugIntroCalcDerivPageEmpty1} +\pastebutton{ugIntroCalcDerivPageFull1}{\hidepaste} +\tab{5}\spadcommand{f := exp exp x\bound{f }} +\indentrel{3}\begin{verbatim} + x + %e + (1) %e + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcDerivPageEmpty1} +\begin{paste}{ugIntroCalcDerivPageEmpty1}{ugIntroCalcDerivPagePatch1} +\pastebutton{ugIntroCalcDerivPageEmpty1}{\showpaste} +\tab{5}\spadcommand{f := exp exp x\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcDerivPagePatch2} +\begin{paste}{ugIntroCalcDerivPageFull2}{ugIntroCalcDerivPageEmpty2} +\pastebutton{ugIntroCalcDerivPageFull2}{\hidepaste} +\tab{5}\spadcommand{D(f, x)\free{f }} +\indentrel{3}\begin{verbatim} + x + x %e + (2) %e %e + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcDerivPageEmpty2} +\begin{paste}{ugIntroCalcDerivPageEmpty2}{ugIntroCalcDerivPagePatch2} +\pastebutton{ugIntroCalcDerivPageEmpty2}{\showpaste} +\tab{5}\spadcommand{D(f, x)\free{f }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcDerivPagePatch3} +\begin{paste}{ugIntroCalcDerivPageFull3}{ugIntroCalcDerivPageEmpty3} +\pastebutton{ugIntroCalcDerivPageFull3}{\hidepaste} +\tab{5}\spadcommand{D(f, x, 4)\free{f }} +\indentrel{3}\begin{verbatim} + x + x 4 x 3 x 2 x %e + (3) ((%e ) + 6(%e ) + 7(%e ) + %e )%e + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcDerivPageEmpty3} +\begin{paste}{ugIntroCalcDerivPageEmpty3}{ugIntroCalcDerivPagePatch3} +\pastebutton{ugIntroCalcDerivPageEmpty3}{\showpaste} +\tab{5}\spadcommand{D(f, x, 4)\free{f }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcDerivPagePatch4} +\begin{paste}{ugIntroCalcDerivPageFull4}{ugIntroCalcDerivPageEmpty4} +\pastebutton{ugIntroCalcDerivPageFull4}{\hidepaste} +\tab{5}\spadcommand{g := sin(x**2 + y)\bound{g }} +\indentrel{3}\begin{verbatim} + 2 + (4) sin(y + x ) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcDerivPageEmpty4} +\begin{paste}{ugIntroCalcDerivPageEmpty4}{ugIntroCalcDerivPagePatch4} +\pastebutton{ugIntroCalcDerivPageEmpty4}{\showpaste} +\tab{5}\spadcommand{g := sin(x**2 + y)\bound{g }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcDerivPagePatch5} +\begin{paste}{ugIntroCalcDerivPageFull5}{ugIntroCalcDerivPageEmpty5} +\pastebutton{ugIntroCalcDerivPageFull5}{\hidepaste} +\tab{5}\spadcommand{D(g, y)\free{g }} +\indentrel{3}\begin{verbatim} + 2 + (5) cos(y + x ) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcDerivPageEmpty5} +\begin{paste}{ugIntroCalcDerivPageEmpty5}{ugIntroCalcDerivPagePatch5} +\pastebutton{ugIntroCalcDerivPageEmpty5}{\showpaste} +\tab{5}\spadcommand{D(g, y)\free{g }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcDerivPagePatch6} +\begin{paste}{ugIntroCalcDerivPageFull6}{ugIntroCalcDerivPageEmpty6} +\pastebutton{ugIntroCalcDerivPageFull6}{\hidepaste} +\tab{5}\spadcommand{D(g, [y, y, x, x])\free{g }} +\indentrel{3}\begin{verbatim} + 2 2 2 + (6) 4x sin(y + x ) - 2cos(y + x ) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcDerivPageEmpty6} +\begin{paste}{ugIntroCalcDerivPageEmpty6}{ugIntroCalcDerivPagePatch6} +\pastebutton{ugIntroCalcDerivPageEmpty6}{\showpaste} +\tab{5}\spadcommand{D(g, [y, y, x, x])\free{g }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcDerivPagePatch7} +\begin{paste}{ugIntroCalcDerivPageFull7}{ugIntroCalcDerivPageEmpty7} +\pastebutton{ugIntroCalcDerivPageFull7}{\hidepaste} +\tab{5}\spadcommand{D(F,x)} +\indentrel{3}\begin{verbatim} + (7) 0 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcDerivPageEmpty7} +\begin{paste}{ugIntroCalcDerivPageEmpty7}{ugIntroCalcDerivPagePatch7} +\pastebutton{ugIntroCalcDerivPageEmpty7}{\showpaste} +\tab{5}\spadcommand{D(F,x)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcDerivPagePatch8} +\begin{paste}{ugIntroCalcDerivPageFull8}{ugIntroCalcDerivPageEmpty8} +\pastebutton{ugIntroCalcDerivPageFull8}{\hidepaste} +\tab{5}\spadcommand{F := operator 'F; x := operator 'x; y := operator 'y\bound{F x y }} +\indentrel{3}\begin{verbatim} + (8) y + Type: BasicOperator +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcDerivPageEmpty8} +\begin{paste}{ugIntroCalcDerivPageEmpty8}{ugIntroCalcDerivPagePatch8} +\pastebutton{ugIntroCalcDerivPageEmpty8}{\showpaste} +\tab{5}\spadcommand{F := operator 'F; x := operator 'x; y := operator 'y\bound{F x y }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcDerivPagePatch9} +\begin{paste}{ugIntroCalcDerivPageFull9}{ugIntroCalcDerivPageEmpty9} +\pastebutton{ugIntroCalcDerivPageFull9}{\hidepaste} +\tab{5}\spadcommand{a := F(x z, y z, z**2) + x y(z+1)\bound{a }\free{F }\free{x }\free{y }} +\indentrel{3}\begin{verbatim} + 2 + (9) x(y(z + 1)) + F(x(z),y(z),z ) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcDerivPageEmpty9} +\begin{paste}{ugIntroCalcDerivPageEmpty9}{ugIntroCalcDerivPagePatch9} +\pastebutton{ugIntroCalcDerivPageEmpty9}{\showpaste} +\tab{5}\spadcommand{a := F(x z, y z, z**2) + x y(z+1)\bound{a }\free{F }\free{x }\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcDerivPagePatch10} +\begin{paste}{ugIntroCalcDerivPageFull10}{ugIntroCalcDerivPageEmpty10} +\pastebutton{ugIntroCalcDerivPageFull10}{\hidepaste} +\tab{5}\spadcommand{dadz := D(a, z)\bound{da }\free{a }} +\indentrel{3}\begin{verbatim} + (10) + 2 , 2 + 2zF (x(z),y(z),z ) + y (z)F (x(z),y(z),z ) + ,3 ,2 + + + , 2 , , + x (z)F (x(z),y(z),z ) + x (y(z + 1))y (z + 1) + ,1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcDerivPageEmpty10} +\begin{paste}{ugIntroCalcDerivPageEmpty10}{ugIntroCalcDerivPagePatch10} +\pastebutton{ugIntroCalcDerivPageEmpty10}{\showpaste} +\tab{5}\spadcommand{dadz := D(a, z)\bound{da }\free{a }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcDerivPagePatch11} +\begin{paste}{ugIntroCalcDerivPageFull11}{ugIntroCalcDerivPageEmpty11} +\pastebutton{ugIntroCalcDerivPageFull11}{\hidepaste} +\tab{5}\spadcommand{eval(eval(dadz, 'x, z +-> exp z), 'y, z +-> log(z+1))\free{da }} +\indentrel{3}\begin{verbatim} + (11) + 2 z 2 + (2z + 2z)F (%e ,log(z + 1),z ) + ,3 + + + z 2 + F (%e ,log(z + 1),z ) + ,2 + + + z z 2 + (z + 1)%e F (%e ,log(z + 1),z ) + z + 1 + ,1 + / + z + 1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcDerivPageEmpty11} +\begin{paste}{ugIntroCalcDerivPageEmpty11}{ugIntroCalcDerivPagePatch11} +\pastebutton{ugIntroCalcDerivPageEmpty11}{\showpaste} +\tab{5}\spadcommand{eval(eval(dadz, 'x, z +-> exp z), 'y, z +-> log(z+1))\free{da }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcDerivPagePatch12} +\begin{paste}{ugIntroCalcDerivPageFull12}{ugIntroCalcDerivPageEmpty12} +\pastebutton{ugIntroCalcDerivPageFull12}{\hidepaste} +\tab{5}\spadcommand{eval(eval(a, 'x, z +-> exp z), 'y, z +-> log(z+1))\free{a }\bound{eva }} +\indentrel{3}\begin{verbatim} + z 2 + (12) F(%e ,log(z + 1),z ) + z + 2 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcDerivPageEmpty12} +\begin{paste}{ugIntroCalcDerivPageEmpty12}{ugIntroCalcDerivPagePatch12} +\pastebutton{ugIntroCalcDerivPageEmpty12}{\showpaste} +\tab{5}\spadcommand{eval(eval(a, 'x, z +-> exp z), 'y, z +-> log(z+1))\free{a }\bound{eva }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcDerivPagePatch13} +\begin{paste}{ugIntroCalcDerivPageFull13}{ugIntroCalcDerivPageEmpty13} +\pastebutton{ugIntroCalcDerivPageFull13}{\hidepaste} +\tab{5}\spadcommand{D(\%, z)\free{eva }} +\indentrel{3}\begin{verbatim} + (13) + 2 z 2 + (2z + 2z)F (%e ,log(z + 1),z ) + ,3 + + + z 2 + F (%e ,log(z + 1),z ) + ,2 + + + z z 2 + (z + 1)%e F (%e ,log(z + 1),z ) + z + 1 + ,1 + / + z + 1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroCalcDerivPageEmpty13} +\begin{paste}{ugIntroCalcDerivPageEmpty13}{ugIntroCalcDerivPagePatch13} +\pastebutton{ugIntroCalcDerivPageEmpty13}{\showpaste} +\tab{5}\spadcommand{D(\%, z)\free{eva }} +\end{paste}\end{patch} + @ \pagehead{ugIntroIntegratePage}{ug01.ht}{Integration} \pageto{notitle}{ugProblemIntegrationPage} @@ -25436,6 +71068,235 @@ in Section 8.8\ignore{ugProblemIntegration}. \autobuttons \end{page} +\begin{patch}{ugIntroIntegratePagePatch1} +\begin{paste}{ugIntroIntegratePageFull1}{ugIntroIntegratePageEmpty1} +\pastebutton{ugIntroIntegratePageFull1}{\hidepaste} +\tab{5}\spadcommand{integrate((x**2+2*x+1)/((x+1)**6+1),x)} +\indentrel{3}\begin{verbatim} + 3 2 + atan(x + 3x + 3x + 1) + (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 3 + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroIntegratePageEmpty1} +\begin{paste}{ugIntroIntegratePageEmpty1}{ugIntroIntegratePagePatch1} +\pastebutton{ugIntroIntegratePageEmpty1}{\showpaste} +\tab{5}\spadcommand{integrate((x**2+2*x+1)/((x+1)**6+1),x)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroIntegratePagePatch2} +\begin{paste}{ugIntroIntegratePageFull2}{ugIntroIntegratePageEmpty2} +\pastebutton{ugIntroIntegratePageFull2}{\hidepaste} +\tab{5}\spadcommand{integrate(1/(x**2 + a),x)} +\indentrel{3}\begin{verbatim} + 2 ÚÄÄÄ¿ + (x - a)\³- a + 2a x ÚÄ¿ + log(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) x\³a + 2 atan(ÄÄÄÄÄ) + x + a a + (2) [ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄÄÄÄ] + ÚÄÄÄ¿ ÚÄ¿ + 2\³- a \³a + Type: Union(List Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroIntegratePageEmpty2} +\begin{paste}{ugIntroIntegratePageEmpty2}{ugIntroIntegratePagePatch2} +\pastebutton{ugIntroIntegratePageEmpty2}{\showpaste} +\tab{5}\spadcommand{integrate(1/(x**2 + a),x)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroIntegratePagePatch3} +\begin{paste}{ugIntroIntegratePageFull3}{ugIntroIntegratePageEmpty3} +\pastebutton{ugIntroIntegratePageFull3}{\hidepaste} +\tab{5}\spadcommand{complexIntegrate(1/(x**2 + a),x)} +\indentrel{3}\begin{verbatim} + ÚÄÄÄ¿ ÚÄÄÄ¿ + x\³- a + a x\³- a - a + log(ÄÄÄÄÄÄÄÄÄÄÄ) - log(ÄÄÄÄÄÄÄÄÄÄÄ) + ÚÄÄÄ¿ ÚÄÄÄ¿ + \³- a \³- a + (3) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + ÚÄÄÄ¿ + 2\³- a + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroIntegratePageEmpty3} +\begin{paste}{ugIntroIntegratePageEmpty3}{ugIntroIntegratePagePatch3} +\pastebutton{ugIntroIntegratePageEmpty3}{\showpaste} +\tab{5}\spadcommand{complexIntegrate(1/(x**2 + a),x)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroIntegratePagePatch4} +\begin{paste}{ugIntroIntegratePageFull4}{ugIntroIntegratePageEmpty4} +\pastebutton{ugIntroIntegratePageFull4}{\hidepaste} +\tab{5}\spadcommand{integrate(x**3 / (a+b*x)**(1/3),x)} +\indentrel{3}\begin{verbatim} + (4) + 3 3 2 2 2 3 3ÚÄÄÄÄÄÄÄ¿2 + (120b x - 135a b x + 162a b x - 243a )\³b x + a + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 4 + 440b + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroIntegratePageEmpty4} +\begin{paste}{ugIntroIntegratePageEmpty4}{ugIntroIntegratePagePatch4} +\pastebutton{ugIntroIntegratePageEmpty4}{\showpaste} +\tab{5}\spadcommand{integrate(x**3 / (a+b*x)**(1/3),x)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroIntegratePagePatch5} +\begin{paste}{ugIntroIntegratePageFull5}{ugIntroIntegratePageEmpty5} +\pastebutton{ugIntroIntegratePageFull5}{\hidepaste} +\tab{5}\spadcommand{integrate(1 / (x**3 * (a+b*x)**(1/3)),x)} +\indentrel{3}\begin{verbatim} + (5) + - + 2 2 ÚÄ¿ + 2b x \³3 + * + 3ÚÄ¿3ÚÄÄÄÄÄÄÄ¿2 3ÚÄ¿2 3ÚÄÄÄÄÄÄÄ¿ + log(\³a \³b x + a + \³a \³b x + a + a) + + + 2 2 ÚÄ¿ 3ÚÄ¿2 3ÚÄÄÄÄÄÄÄ¿ + 4b x \³3 log(\³a \³b x + a - a) + + + ÚÄ¿3ÚÄ¿2 3ÚÄÄÄÄÄÄÄ¿ ÚÄ¿ + 2 2 2\³3 \³a \³b x + a + a\³3 + 12b x atan(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) + 3a + + + ÚÄ¿3ÚÄ¿3ÚÄÄÄÄÄÄÄ¿2 + (12b x - 9a)\³3 \³a \³b x + a + / + 2 2 ÚÄ¿3ÚÄ¿ + 18a x \³3 \³a + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroIntegratePageEmpty5} +\begin{paste}{ugIntroIntegratePageEmpty5}{ugIntroIntegratePagePatch5} +\pastebutton{ugIntroIntegratePageEmpty5}{\showpaste} +\tab{5}\spadcommand{integrate(1 / (x**3 * (a+b*x)**(1/3)),x)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroIntegratePagePatch6} +\begin{paste}{ugIntroIntegratePageFull6}{ugIntroIntegratePageEmpty6} +\pastebutton{ugIntroIntegratePageFull6}{\hidepaste} +\tab{5}\spadcommand{integrate(log(1 + sqrt(a*x + b)) / x,x)} +\indentrel{3}\begin{verbatim} + x ÚÄÄÄÄÄÄÄÄ¿ + Ú¿ log(\³b + %S a + 1) + (6) ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ d%S + ÀÙ %S + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroIntegratePageEmpty6} +\begin{paste}{ugIntroIntegratePageEmpty6}{ugIntroIntegratePagePatch6} +\pastebutton{ugIntroIntegratePageEmpty6}{\showpaste} +\tab{5}\spadcommand{integrate(log(1 + sqrt(a*x + b)) / x,x)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroIntegratePagePatch7} +\begin{paste}{ugIntroIntegratePageFull7}{ugIntroIntegratePageEmpty7} +\pastebutton{ugIntroIntegratePageFull7}{\hidepaste} +\tab{5}\spadcommand{integrate((sinh(1+sqrt(x+b))+2*sqrt(x+b)) / (sqrt(x+b) * (x + cosh(1+sqrt(x + b)))), x)} +\indentrel{3}\begin{verbatim} + (7) + ÚÄÄÄÄÄ¿ + - 2cosh(\³x + b + 1) - 2x + 2log(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) + ÚÄÄÄÄÄ¿ ÚÄÄÄÄÄ¿ + sinh(\³x + b + 1) - cosh(\³x + b + 1) + + + ÚÄÄÄÄÄ¿ + - 2\³x + b + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroIntegratePageEmpty7} +\begin{paste}{ugIntroIntegratePageEmpty7}{ugIntroIntegratePagePatch7} +\pastebutton{ugIntroIntegratePageEmpty7}{\showpaste} +\tab{5}\spadcommand{integrate((sinh(1+sqrt(x+b))+2*sqrt(x+b)) / (sqrt(x+b) * (x + cosh(1+sqrt(x + b)))), x)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroIntegratePagePatch8} +\begin{paste}{ugIntroIntegratePageFull8}{ugIntroIntegratePageEmpty8} +\pastebutton{ugIntroIntegratePageFull8}{\hidepaste} +\tab{5}\spadcommand{integrate(tan(atan(x)/3),x)} +\indentrel{3}\begin{verbatim} + (8) + atan(x) 2 atan(x) 2 + 8log(3tan(ÄÄÄÄÄÄÄ) - 1) - 3tan(ÄÄÄÄÄÄÄ) + 3 3 + + + atan(x) + 18x tan(ÄÄÄÄÄÄÄ) + 3 + / + 18 + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroIntegratePageEmpty8} +\begin{paste}{ugIntroIntegratePageEmpty8}{ugIntroIntegratePagePatch8} +\pastebutton{ugIntroIntegratePageEmpty8}{\showpaste} +\tab{5}\spadcommand{integrate(tan(atan(x)/3),x)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroIntegratePagePatch9} +\begin{paste}{ugIntroIntegratePageFull9}{ugIntroIntegratePageEmpty9} +\pastebutton{ugIntroIntegratePageFull9}{\hidepaste} +\tab{5}\spadcommand{integrate((x + 1) / (x*(x + log x) ** (3/2)), x)} +\indentrel{3}\begin{verbatim} + ÚÄÄÄÄÄÄÄÄÄÄ¿ + 2\³log(x) + x + (9) - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + log(x) + x + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroIntegratePageEmpty9} +\begin{paste}{ugIntroIntegratePageEmpty9}{ugIntroIntegratePagePatch9} +\pastebutton{ugIntroIntegratePageEmpty9}{\showpaste} +\tab{5}\spadcommand{integrate((x + 1) / (x*(x + log x) ** (3/2)), x)} +\end{paste}\end{patch} + +\begin{patch}{ugIntroIntegratePagePatch10} +\begin{paste}{ugIntroIntegratePageFull10}{ugIntroIntegratePageEmpty10} +\pastebutton{ugIntroIntegratePageFull10}{\hidepaste} +\tab{5}\spadcommand{integrate(exp(-x**2) * erf(x) / (erf(x)**3 - erf(x)**2 - erf(x) + 1),x)} +\indentrel{3}\begin{verbatim} + ÚÄÄÄ¿ erf(x) - 1 ÚÄÄÄ¿ + (erf(x) - 1)\³%pi log(ÄÄÄÄÄÄÄÄÄÄ) - 2\³%pi + erf(x) + 1 + (10) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 8erf(x) - 8 + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroIntegratePageEmpty10} +\begin{paste}{ugIntroIntegratePageEmpty10}{ugIntroIntegratePagePatch10} +\pastebutton{ugIntroIntegratePageEmpty10}{\showpaste} +\tab{5}\spadcommand{integrate(exp(-x**2) * erf(x) / (erf(x)**3 - erf(x)**2 - erf(x) + 1),x)} +\end{paste}\end{patch} + @ \pagehead{ugIntroDiffEqnsPage}{ug01.ht}{Differential Equations} <>= @@ -25537,6 +71398,259 @@ order \axiom{[x, y]}, the answer is a list of two series in the order \autobuttons \end{page} +\begin{patch}{ugIntroDiffEqnsPagePatch1} +\begin{paste}{ugIntroDiffEqnsPageFull1}{ugIntroDiffEqnsPageEmpty1} +\pastebutton{ugIntroDiffEqnsPageFull1}{\hidepaste} +\tab{5}\spadcommand{y := operator 'y\bound{y }} +\indentrel{3}\begin{verbatim} + (1) y + Type: BasicOperator +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroDiffEqnsPageEmpty1} +\begin{paste}{ugIntroDiffEqnsPageEmpty1}{ugIntroDiffEqnsPagePatch1} +\pastebutton{ugIntroDiffEqnsPageEmpty1}{\showpaste} +\tab{5}\spadcommand{y := operator 'y\bound{y }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroDiffEqnsPagePatch2} +\begin{paste}{ugIntroDiffEqnsPageFull2}{ugIntroDiffEqnsPageEmpty2} +\pastebutton{ugIntroDiffEqnsPageFull2}{\hidepaste} +\tab{5}\spadcommand{deq := x**3 * D(y x, x, 3) + x**2 * D(y x, x, 2) - 2 * x * D(y x, x) + 2 * y x = 2 * x**4\bound{e3 }\free{y }} +\indentrel{3}\begin{verbatim} + 3 ,,, 2 ,, , 4 + (2) x y (x) + x y (x) - 2xy (x) + 2y(x)= 2x + + Type: Equation Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroDiffEqnsPageEmpty2} +\begin{paste}{ugIntroDiffEqnsPageEmpty2}{ugIntroDiffEqnsPagePatch2} +\pastebutton{ugIntroDiffEqnsPageEmpty2}{\showpaste} +\tab{5}\spadcommand{deq := x**3 * D(y x, x, 3) + x**2 * D(y x, x, 2) - 2 * x * D(y x, x) + 2 * y x = 2 * x**4\bound{e3 }\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroDiffEqnsPagePatch3} +\begin{paste}{ugIntroDiffEqnsPageFull3}{ugIntroDiffEqnsPageEmpty3} +\pastebutton{ugIntroDiffEqnsPageFull3}{\hidepaste} +\tab{5}\spadcommand{solve(deq, y, x)\free{e3 }\free{y }} +\indentrel{3}\begin{verbatim} + (3) + 5 3 2 + x - 10x + 20x + 4 + [particular= ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, + 15x + 3 2 3 3 2 + 2x - 3x + 1 x - 1 x - 3x - 1 + basis= [ÄÄÄÄÄÄÄÄÄÄÄÄÄ,ÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄÄÄÄÄ]] + x x x +Type: Union(Record(particular: Expression Integer,basis: List Expression Integer),...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroDiffEqnsPageEmpty3} +\begin{paste}{ugIntroDiffEqnsPageEmpty3}{ugIntroDiffEqnsPagePatch3} +\pastebutton{ugIntroDiffEqnsPageEmpty3}{\showpaste} +\tab{5}\spadcommand{solve(deq, y, x)\free{e3 }\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroDiffEqnsPagePatch4} +\begin{paste}{ugIntroDiffEqnsPageFull4}{ugIntroDiffEqnsPageEmpty4} +\pastebutton{ugIntroDiffEqnsPageFull4}{\hidepaste} +\tab{5}\spadcommand{deq := (x**2 + 1) * D(y x, x, 2) + 3 * x * D(y x, x) + y x = 0\bound{e5 }\free{y }} +\indentrel{3}\begin{verbatim} + 2 ,, , + (4) (x + 1)y (x) + 3xy (x) + y(x)= 0 + + Type: Equation Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroDiffEqnsPageEmpty4} +\begin{paste}{ugIntroDiffEqnsPageEmpty4}{ugIntroDiffEqnsPagePatch4} +\pastebutton{ugIntroDiffEqnsPageEmpty4}{\showpaste} +\tab{5}\spadcommand{deq := (x**2 + 1) * D(y x, x, 2) + 3 * x * D(y x, x) + y x = 0\bound{e5 }\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroDiffEqnsPagePatch5} +\begin{paste}{ugIntroDiffEqnsPageFull5}{ugIntroDiffEqnsPageEmpty5} +\pastebutton{ugIntroDiffEqnsPageFull5}{\hidepaste} +\tab{5}\spadcommand{solve(deq, y, x)\free{e5 }\free{y }} +\indentrel{3}\begin{verbatim} + (5) + ÚÄÄÄÄÄÄ¿ + ³ 2 + 1 log(\³x + 1 - x) + [particular= 0,basis= [ÄÄÄÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ]] + ÚÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄ¿ + ³ 2 ³ 2 + \³x + 1 \³x + 1 +Type: Union(Record(particular: Expression Integer,basis: List Expression Integer),...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroDiffEqnsPageEmpty5} +\begin{paste}{ugIntroDiffEqnsPageEmpty5}{ugIntroDiffEqnsPagePatch5} +\pastebutton{ugIntroDiffEqnsPageEmpty5}{\showpaste} +\tab{5}\spadcommand{solve(deq, y, x)\free{e5 }\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroDiffEqnsPagePatch6} +\begin{paste}{ugIntroDiffEqnsPageFull6}{ugIntroDiffEqnsPageEmpty6} +\pastebutton{ugIntroDiffEqnsPageFull6}{\hidepaste} +\tab{5}\spadcommand{eq := 2*x**3 * D(y x,x,2) + 3*x**2 * D(y x,x) - 2 * y x\bound{eq }\free{y }} +\indentrel{3}\begin{verbatim} + 3 ,, 2 , + (6) 2x y (x) + 3x y (x) - 2y(x) + + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroDiffEqnsPageEmpty6} +\begin{paste}{ugIntroDiffEqnsPageEmpty6}{ugIntroDiffEqnsPagePatch6} +\pastebutton{ugIntroDiffEqnsPageEmpty6}{\showpaste} +\tab{5}\spadcommand{eq := 2*x**3 * D(y x,x,2) + 3*x**2 * D(y x,x) - 2 * y x\bound{eq }\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroDiffEqnsPagePatch7} +\begin{paste}{ugIntroDiffEqnsPageFull7}{ugIntroDiffEqnsPageEmpty7} +\pastebutton{ugIntroDiffEqnsPageFull7}{\hidepaste} +\tab{5}\spadcommand{solve(eq,y,x).basis\free{eq }} +\indentrel{3}\begin{verbatim} + 2 2 + - ÄÄÄÄ ÄÄÄÄ + ÚÄ¿ ÚÄ¿ + \³x \³x + (7) [%e ,%e ] + Type: List Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroDiffEqnsPageEmpty7} +\begin{paste}{ugIntroDiffEqnsPageEmpty7}{ugIntroDiffEqnsPagePatch7} +\pastebutton{ugIntroDiffEqnsPageEmpty7}{\showpaste} +\tab{5}\spadcommand{solve(eq,y,x).basis\free{eq }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroDiffEqnsPagePatch8} +\begin{paste}{ugIntroDiffEqnsPageFull8}{ugIntroDiffEqnsPageEmpty8} +\pastebutton{ugIntroDiffEqnsPageFull8}{\hidepaste} +\tab{5}\spadcommand{deq := D(y x, x) = y(x) / (x + y(x) * log y x)\bound{deqi }\free{y }} +\indentrel{3}\begin{verbatim} + , y(x) + (8) y (x)= ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + y(x)log(y(x)) + x + Type: Equation Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroDiffEqnsPageEmpty8} +\begin{paste}{ugIntroDiffEqnsPageEmpty8}{ugIntroDiffEqnsPagePatch8} +\pastebutton{ugIntroDiffEqnsPageEmpty8}{\showpaste} +\tab{5}\spadcommand{deq := D(y x, x) = y(x) / (x + y(x) * log y x)\bound{deqi }\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroDiffEqnsPagePatch9} +\begin{paste}{ugIntroDiffEqnsPageFull9}{ugIntroDiffEqnsPageEmpty9} +\pastebutton{ugIntroDiffEqnsPageFull9}{\hidepaste} +\tab{5}\spadcommand{solve(deq, y, x)\free{deqi y }} +\indentrel{3}\begin{verbatim} + 2 + y(x)log(y(x)) - 2x + (9) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 2y(x) + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroDiffEqnsPageEmpty9} +\begin{paste}{ugIntroDiffEqnsPageEmpty9}{ugIntroDiffEqnsPagePatch9} +\pastebutton{ugIntroDiffEqnsPageEmpty9}{\showpaste} +\tab{5}\spadcommand{solve(deq, y, x)\free{deqi y }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroDiffEqnsPagePatch10} +\begin{paste}{ugIntroDiffEqnsPageFull10}{ugIntroDiffEqnsPageEmpty10} +\pastebutton{ugIntroDiffEqnsPageFull10}{\hidepaste} +\tab{5}\spadcommand{x := operator 'x\bound{x }} +\indentrel{3}\begin{verbatim} + (10) x + Type: BasicOperator +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroDiffEqnsPageEmpty10} +\begin{paste}{ugIntroDiffEqnsPageEmpty10}{ugIntroDiffEqnsPagePatch10} +\pastebutton{ugIntroDiffEqnsPageEmpty10}{\showpaste} +\tab{5}\spadcommand{x := operator 'x\bound{x }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroDiffEqnsPagePatch11} +\begin{paste}{ugIntroDiffEqnsPageFull11}{ugIntroDiffEqnsPageEmpty11} +\pastebutton{ugIntroDiffEqnsPageFull11}{\hidepaste} +\tab{5}\spadcommand{eq1 := D(x(t), t) = 1 + x(t)**2\free{x }\free{y }\bound{eq1 }} +\indentrel{3}\begin{verbatim} + , 2 + (11) x (t)= x(t) + 1 + + Type: Equation Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroDiffEqnsPageEmpty11} +\begin{paste}{ugIntroDiffEqnsPageEmpty11}{ugIntroDiffEqnsPagePatch11} +\pastebutton{ugIntroDiffEqnsPageEmpty11}{\showpaste} +\tab{5}\spadcommand{eq1 := D(x(t), t) = 1 + x(t)**2\free{x }\free{y }\bound{eq1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroDiffEqnsPagePatch12} +\begin{paste}{ugIntroDiffEqnsPageFull12}{ugIntroDiffEqnsPageEmpty12} +\pastebutton{ugIntroDiffEqnsPageFull12}{\hidepaste} +\tab{5}\spadcommand{eq2 := D(y(t), t) = x(t) * y(t)\free{x }\free{y }\bound{eq2 }} +\indentrel{3}\begin{verbatim} + , + (12) y (t)= x(t)y(t) + + Type: Equation Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroDiffEqnsPageEmpty12} +\begin{paste}{ugIntroDiffEqnsPageEmpty12}{ugIntroDiffEqnsPagePatch12} +\pastebutton{ugIntroDiffEqnsPageEmpty12}{\showpaste} +\tab{5}\spadcommand{eq2 := D(y(t), t) = x(t) * y(t)\free{x }\free{y }\bound{eq2 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroDiffEqnsPagePatch13} +\begin{paste}{ugIntroDiffEqnsPageFull13}{ugIntroDiffEqnsPageEmpty13} +\pastebutton{ugIntroDiffEqnsPageFull13}{\hidepaste} +\tab{5}\spadcommand{seriesSolve([eq2, eq1], [x, y], t = 0, [y(0) = 1, x(0) = 0])\free{x }\free{y }\free{eq1 }\free{eq2 }} +\indentrel{3}\begin{verbatim} + (13) + 1 3 2 5 17 7 62 9 11 + [t + Ä t + ÄÄ t + ÄÄÄ t + ÄÄÄÄ t + O(t ), + 3 15 315 2835 + + 1 2 5 4 61 6 277 8 50521 10 + 1 + Ä t + ÄÄ t + ÄÄÄ t + ÄÄÄÄ t + ÄÄÄÄÄÄÄ t + 2 24 720 8064 3628800 + + + 11 + O(t ) + ] +Type: List UnivariateTaylorSeries(Expression Integer,t,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroDiffEqnsPageEmpty13} +\begin{paste}{ugIntroDiffEqnsPageEmpty13}{ugIntroDiffEqnsPagePatch13} +\pastebutton{ugIntroDiffEqnsPageEmpty13}{\showpaste} +\tab{5}\spadcommand{seriesSolve([eq2, eq1], [x, y], t = 0, [y(0) = 1, x(0) = 0])\free{x }\free{y }\free{eq1 }\free{eq2 }} +\end{paste}\end{patch} + @ \pagehead{ugIntroSolutionPage}{ug01.ht}{Solution of Equations} <>= @@ -25603,6 +71717,143 @@ reducing the solution to triangular form. \autobuttons \end{page} +\begin{patch}{ugIntroSolutionPagePatch1} +\begin{paste}{ugIntroSolutionPageFull1}{ugIntroSolutionPageEmpty1} +\pastebutton{ugIntroSolutionPageFull1}{\hidepaste} +\tab{5}\spadcommand{S(t) == [x**2-2*y**2 - t,x*y-y-5*x + 5]\bound{S1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroSolutionPageEmpty1} +\begin{paste}{ugIntroSolutionPageEmpty1}{ugIntroSolutionPagePatch1} +\pastebutton{ugIntroSolutionPageEmpty1}{\showpaste} +\tab{5}\spadcommand{S(t) == [x**2-2*y**2 - t,x*y-y-5*x + 5]\bound{S1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroSolutionPagePatch2} +\begin{paste}{ugIntroSolutionPageFull2}{ugIntroSolutionPageEmpty2} +\pastebutton{ugIntroSolutionPageFull2}{\hidepaste} +\tab{5}\spadcommand{solve(S(19),1/10**20)\free{S1 }} +\indentrel{3}\begin{verbatim} + (2) + 2451682632253093442511 + [[y= 5,x= - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ], + 295147905179352825856 + 2451682632253093442511 + [y= 5,x= ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ]] + 295147905179352825856 + Type: List List Equation Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroSolutionPageEmpty2} +\begin{paste}{ugIntroSolutionPageEmpty2}{ugIntroSolutionPagePatch2} +\pastebutton{ugIntroSolutionPageEmpty2}{\showpaste} +\tab{5}\spadcommand{solve(S(19),1/10**20)\free{S1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroSolutionPagePatch3} +\begin{paste}{ugIntroSolutionPageFull3}{ugIntroSolutionPageEmpty3} +\pastebutton{ugIntroSolutionPageFull3}{\hidepaste} +\tab{5}\spadcommand{complexSolve(S(19),10.e-20)\free{S1 }} +\indentrel{3}\begin{verbatim} + (3) + [ + [y= 5.0, + x= 8.3066238629 1807485256 1669055295 290320373] + , + + [y= 5.0, + x= - 8.3066238629 1807485256 1669055295 290320373] + , + [y= - 3.0 %i,x= 1.0], [y= 3.0 %i,x= 1.0]] + Type: List List Equation Polynomial Complex Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroSolutionPageEmpty3} +\begin{paste}{ugIntroSolutionPageEmpty3}{ugIntroSolutionPagePatch3} +\pastebutton{ugIntroSolutionPageEmpty3}{\showpaste} +\tab{5}\spadcommand{complexSolve(S(19),10.e-20)\free{S1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroSolutionPagePatch4} +\begin{paste}{ugIntroSolutionPageFull4}{ugIntroSolutionPageEmpty4} +\pastebutton{ugIntroSolutionPageFull4}{\hidepaste} +\tab{5}\spadcommand{radicalSolve(S(a),[x,y])\free{S1 }} +\indentrel{3}\begin{verbatim} + (4) + ÚÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄ¿ + [[x= - \³a + 50 ,y= 5], [x= \³a + 50 ,y= 5], + ÚÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄ¿ + ³- a + 1 ³- a + 1 + [x= 1,y= ³ÄÄÄÄÄÄÄ ], [x= 1,y= - ³ÄÄÄÄÄÄÄ ]] + \³ 2 \³ 2 + Type: List List Equation Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroSolutionPageEmpty4} +\begin{paste}{ugIntroSolutionPageEmpty4}{ugIntroSolutionPagePatch4} +\pastebutton{ugIntroSolutionPageEmpty4}{\showpaste} +\tab{5}\spadcommand{radicalSolve(S(a),[x,y])\free{S1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroSolutionPagePatch5} +\begin{paste}{ugIntroSolutionPageFull5}{ugIntroSolutionPageEmpty5} +\pastebutton{ugIntroSolutionPageFull5}{\hidepaste} +\tab{5}\spadcommand{eqns := [x**2 - y + z,x**2*z + x**4 - b*y, y**2 *z - a - b*x]\bound{e }} +\indentrel{3}\begin{verbatim} + 2 2 4 2 + (5) [z - y + x ,x z - b y + x ,y z - b x - a] + Type: List Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroSolutionPageEmpty5} +\begin{paste}{ugIntroSolutionPageEmpty5}{ugIntroSolutionPagePatch5} +\pastebutton{ugIntroSolutionPageEmpty5}{\showpaste} +\tab{5}\spadcommand{eqns := [x**2 - y + z,x**2*z + x**4 - b*y, y**2 *z - a - b*x]\bound{e }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroSolutionPagePatch6} +\begin{paste}{ugIntroSolutionPageFull6}{ugIntroSolutionPageEmpty6} +\pastebutton{ugIntroSolutionPageFull6}{\hidepaste} +\tab{5}\spadcommand{solve(eqns,[x,y,z])\free{e }} +\indentrel{3}\begin{verbatim} + (6) + 2 + a a + [[x= - Ä,y= 0,z= - ÄÄ], + b 2 + b + + 3 2 2 + z + 2b z + b z - a + [x= ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, y= z + b, + b + + 6 5 2 4 3 3 4 2 + z + 4b z + 6b z + (4b - 2a)z + (b - 4a b)z + + + 2 3 2 + - 2a b z - b + a + = + 0 + ] + ] + Type: List List Equation Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroSolutionPageEmpty6} +\begin{paste}{ugIntroSolutionPageEmpty6}{ugIntroSolutionPagePatch6} +\pastebutton{ugIntroSolutionPageEmpty6}{\showpaste} +\tab{5}\spadcommand{solve(eqns,[x,y,z])\free{e }} +\end{paste}\end{patch} + @ \pagehead{ugIntroSysCmmandsPage}{ug01.ht}{System Commands} \pageto{notitle}{ugSysCmdPage} @@ -25735,7 +71986,161 @@ and return to the operating system. \endscroll \autobuttons \end{page} -% + +\begin{patch}{ugIntroSysCmmandsPagePatch1} +\begin{paste}{ugIntroSysCmmandsPageFull1}{ugIntroSysCmmandsPageEmpty1} +\pastebutton{ugIntroSysCmmandsPageFull1}{\hidepaste} +\tab{5}\spadcommand{)what operations integrate} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroSysCmmandsPageEmpty1} +\begin{paste}{ugIntroSysCmmandsPageEmpty1}{ugIntroSysCmmandsPagePatch1} +\pastebutton{ugIntroSysCmmandsPageEmpty1}{\showpaste} +\tab{5}\spadcommand{)what operations integrate} +\end{paste}\end{patch} + +\begin{patch}{ugIntroSysCmmandsPagePatch2} +\begin{paste}{ugIntroSysCmmandsPageFull2}{ugIntroSysCmmandsPageEmpty2} +\pastebutton{ugIntroSysCmmandsPageFull2}{\hidepaste} +\tab{5}\spadcommand{f(0) == 1; g(0) == 1\bound{u1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroSysCmmandsPageEmpty2} +\begin{paste}{ugIntroSysCmmandsPageEmpty2}{ugIntroSysCmmandsPagePatch2} +\pastebutton{ugIntroSysCmmandsPageEmpty2}{\showpaste} +\tab{5}\spadcommand{f(0) == 1; g(0) == 1\bound{u1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroSysCmmandsPagePatch3} +\begin{paste}{ugIntroSysCmmandsPageFull3}{ugIntroSysCmmandsPageEmpty3} +\pastebutton{ugIntroSysCmmandsPageFull3}{\hidepaste} +\tab{5}\spadcommand{f(n) == e/2*f(n-1) - x*g(n-1)\bound{u2 }\free{u1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroSysCmmandsPageEmpty3} +\begin{paste}{ugIntroSysCmmandsPageEmpty3}{ugIntroSysCmmandsPagePatch3} +\pastebutton{ugIntroSysCmmandsPageEmpty3}{\showpaste} +\tab{5}\spadcommand{f(n) == e/2*f(n-1) - x*g(n-1)\bound{u2 }\free{u1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroSysCmmandsPagePatch4} +\begin{paste}{ugIntroSysCmmandsPageFull4}{ugIntroSysCmmandsPageEmpty4} +\pastebutton{ugIntroSysCmmandsPageFull4}{\hidepaste} +\tab{5}\spadcommand{g(n) == -x*f(n-1) + d/3*g(n-1)\bound{u3 }\free{u2 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroSysCmmandsPageEmpty4} +\begin{paste}{ugIntroSysCmmandsPageEmpty4}{ugIntroSysCmmandsPagePatch4} +\pastebutton{ugIntroSysCmmandsPageEmpty4}{\showpaste} +\tab{5}\spadcommand{g(n) == -x*f(n-1) + d/3*g(n-1)\bound{u3 }\free{u2 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroSysCmmandsPagePatch5} +\begin{paste}{ugIntroSysCmmandsPageFull5}{ugIntroSysCmmandsPageEmpty5} +\pastebutton{ugIntroSysCmmandsPageFull5}{\hidepaste} +\tab{5}\spadcommand{f(3)\bound{u4 }\free{u3 }} +\indentrel{3}\begin{verbatim} + (4) + 3 1 2 1 2 1 1 2 1 3 + - x + (e + Ä d)x + (- Ä e - Ä d e - Ä d )x + Ä e + 3 4 6 9 8 + Type: Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroSysCmmandsPageEmpty5} +\begin{paste}{ugIntroSysCmmandsPageEmpty5}{ugIntroSysCmmandsPagePatch5} +\pastebutton{ugIntroSysCmmandsPageEmpty5}{\showpaste} +\tab{5}\spadcommand{f(3)\bound{u4 }\free{u3 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroSysCmmandsPagePatch6} +\begin{paste}{ugIntroSysCmmandsPageFull6}{ugIntroSysCmmandsPageEmpty6} +\pastebutton{ugIntroSysCmmandsPageFull6}{\hidepaste} +\tab{5}\spadcommand{)undo 2\bound{u5 }\free{u4 }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroSysCmmandsPageEmpty6} +\begin{paste}{ugIntroSysCmmandsPageEmpty6}{ugIntroSysCmmandsPagePatch6} +\pastebutton{ugIntroSysCmmandsPageEmpty6}{\showpaste} +\tab{5}\spadcommand{)undo 2\bound{u5 }\free{u4 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroSysCmmandsPagePatch7} +\begin{paste}{ugIntroSysCmmandsPageFull7}{ugIntroSysCmmandsPageEmpty7} +\pastebutton{ugIntroSysCmmandsPageFull7}{\hidepaste} +\tab{5}\spadcommand{f(n) == d/3*f(n-1) - x*g(n-1)\bound{u6 }\free{u5 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroSysCmmandsPageEmpty7} +\begin{paste}{ugIntroSysCmmandsPageEmpty7}{ugIntroSysCmmandsPagePatch7} +\pastebutton{ugIntroSysCmmandsPageEmpty7}{\showpaste} +\tab{5}\spadcommand{f(n) == d/3*f(n-1) - x*g(n-1)\bound{u6 }\free{u5 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroSysCmmandsPagePatch8} +\begin{paste}{ugIntroSysCmmandsPageFull8}{ugIntroSysCmmandsPageEmpty8} +\pastebutton{ugIntroSysCmmandsPageFull8}{\hidepaste} +\tab{5}\spadcommand{)undo )redo\bound{u7 }\free{u6 }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroSysCmmandsPageEmpty8} +\begin{paste}{ugIntroSysCmmandsPageEmpty8}{ugIntroSysCmmandsPagePatch8} +\pastebutton{ugIntroSysCmmandsPageEmpty8}{\showpaste} +\tab{5}\spadcommand{)undo )redo\bound{u7 }\free{u6 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroSysCmmandsPagePatch9} +\begin{paste}{ugIntroSysCmmandsPageFull9}{ugIntroSysCmmandsPageEmpty9} +\pastebutton{ugIntroSysCmmandsPageFull9}{\hidepaste} +\tab{5}\spadcommand{)undo 4\bound{u8 }\free{u7 }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroSysCmmandsPageEmpty9} +\begin{paste}{ugIntroSysCmmandsPageEmpty9}{ugIntroSysCmmandsPagePatch9} +\pastebutton{ugIntroSysCmmandsPageEmpty9}{\showpaste} +\tab{5}\spadcommand{)undo 4\bound{u8 }\free{u7 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntroSysCmmandsPagePatch10} +\begin{paste}{ugIntroSysCmmandsPageFull10}{ugIntroSysCmmandsPageEmpty10} +\pastebutton{ugIntroSysCmmandsPageFull10}{\hidepaste} +\tab{5}\spadcommand{f(3)\bound{u9 }\free{u8 }} +\indentrel{3}\begin{verbatim} + (6) + 3 1 2 1 2 1 1 2 1 3 + - x + (e + Ä d)x + (- Ä e - Ä d e - Ä d )x + Ä e + 3 4 6 9 8 + Type: Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntroSysCmmandsPageEmpty10} +\begin{paste}{ugIntroSysCmmandsPageEmpty10}{ugIntroSysCmmandsPagePatch10} +\pastebutton{ugIntroSysCmmandsPageEmpty10}{\showpaste} +\tab{5}\spadcommand{f(3)\bound{u9 }\free{u8 }} +\end{paste}\end{patch} + @ \chapter{Users Guide Chapter 2 (ug02.ht)} \pagehead{ugTypesPage}{ug02.ht}{Using Types and Modes} @@ -25882,6 +72287,86 @@ and 17,'' and so on. \autobuttons \end{page} +\begin{patch}{ugTypesBasicPagePatch1} +\begin{paste}{ugTypesBasicPageFull1}{ugTypesBasicPageEmpty1} +\pastebutton{ugTypesBasicPageFull1}{\hidepaste} +\tab{5}\spadcommand{-3} +\indentrel{3}\begin{verbatim} + (1) - 3 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicPageEmpty1} +\begin{paste}{ugTypesBasicPageEmpty1}{ugTypesBasicPagePatch1} +\pastebutton{ugTypesBasicPageEmpty1}{\showpaste} +\tab{5}\spadcommand{-3} +\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicPagePatch2} +\begin{paste}{ugTypesBasicPageFull2}{ugTypesBasicPageEmpty2} +\pastebutton{ugTypesBasicPageFull2}{\hidepaste} +\tab{5}\spadcommand{-3/1} +\indentrel{3}\begin{verbatim} + (2) - 3 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicPageEmpty2} +\begin{paste}{ugTypesBasicPageEmpty2}{ugTypesBasicPagePatch2} +\pastebutton{ugTypesBasicPageEmpty2}{\showpaste} +\tab{5}\spadcommand{-3/1} +\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicPagePatch3} +\begin{paste}{ugTypesBasicPageFull3}{ugTypesBasicPageEmpty3} +\pastebutton{ugTypesBasicPageFull3}{\hidepaste} +\tab{5}\spadcommand{x + 3 - x\bound{three }} +\indentrel{3}\begin{verbatim} + (3) 3 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicPageEmpty3} +\begin{paste}{ugTypesBasicPageEmpty3}{ugTypesBasicPagePatch3} +\pastebutton{ugTypesBasicPageEmpty3}{\showpaste} +\tab{5}\spadcommand{x + 3 - x\bound{three }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicPagePatch4} +\begin{paste}{ugTypesBasicPageFull4}{ugTypesBasicPageEmpty4} +\pastebutton{ugTypesBasicPageFull4}{\hidepaste} +\tab{5}\spadcommand{factorial(\%)\free{three }} +\indentrel{3}\begin{verbatim} + (4) 6 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicPageEmpty4} +\begin{paste}{ugTypesBasicPageEmpty4}{ugTypesBasicPagePatch4} +\pastebutton{ugTypesBasicPageEmpty4}{\showpaste} +\tab{5}\spadcommand{factorial(\%)\free{three }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicPagePatch5} +\begin{paste}{ugTypesBasicPageFull5}{ugTypesBasicPageEmpty5} +\pastebutton{ugTypesBasicPageFull5}{\hidepaste} +\tab{5}\spadcommand{3} +\indentrel{3}\begin{verbatim} + (5) 3 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicPageEmpty5} +\begin{paste}{ugTypesBasicPageEmpty5}{ugTypesBasicPagePatch5} +\pastebutton{ugTypesBasicPageEmpty5}{\showpaste} +\tab{5}\spadcommand{3} +\end{paste}\end{patch} + @ \pagehead{ugTypesBasicDomainConsPage}{ug02.ht}{Domain Constructors} \pagepic{ps/v71ugtypesbasicdomainconspage.eps}{ugTypesBasicDomainConsPage} @@ -26187,6 +72672,195 @@ their functions and how to write your own functions. \autobuttons \end{page} +\begin{patch}{ugTypesBasicDomainConsPagePatch1} +\begin{paste}{ugTypesBasicDomainConsPageFull1}{ugTypesBasicDomainConsPageEmpty1} +\pastebutton{ugTypesBasicDomainConsPageFull1}{\hidepaste} +\tab{5}\spadcommand{factorial(7)} +\indentrel{3}\begin{verbatim} + (1) 5040 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicDomainConsPageEmpty1} +\begin{paste}{ugTypesBasicDomainConsPageEmpty1}{ugTypesBasicDomainConsPagePatch1} +\pastebutton{ugTypesBasicDomainConsPageEmpty1}{\showpaste} +\tab{5}\spadcommand{factorial(7)} +\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicDomainConsPagePatch2} +\begin{paste}{ugTypesBasicDomainConsPageFull2}{ugTypesBasicDomainConsPageEmpty2} +\pastebutton{ugTypesBasicDomainConsPageFull2}{\hidepaste} +\tab{5}\spadcommand{Polynomial(Integer)} +\indentrel{3}\begin{verbatim} + (2) Polynomial Integer + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicDomainConsPageEmpty2} +\begin{paste}{ugTypesBasicDomainConsPageEmpty2}{ugTypesBasicDomainConsPagePatch2} +\pastebutton{ugTypesBasicDomainConsPageEmpty2}{\showpaste} +\tab{5}\spadcommand{Polynomial(Integer)} +\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicDomainConsPagePatch3} +\begin{paste}{ugTypesBasicDomainConsPageFull3}{ugTypesBasicDomainConsPageEmpty3} +\pastebutton{ugTypesBasicDomainConsPageFull3}{\hidepaste} +\tab{5}\spadcommand{List (List (Matrix (Polynomial (Complex (Fraction (Integer))))))} +\indentrel{3}\begin{verbatim} + (3) + List List Matrix Polynomial Complex Fraction Integer + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicDomainConsPageEmpty3} +\begin{paste}{ugTypesBasicDomainConsPageEmpty3}{ugTypesBasicDomainConsPagePatch3} +\pastebutton{ugTypesBasicDomainConsPageEmpty3}{\showpaste} +\tab{5}\spadcommand{List (List (Matrix (Polynomial (Complex (Fraction (Integer))))))} +\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicDomainConsPagePatch4} +\begin{paste}{ugTypesBasicDomainConsPageFull4}{ugTypesBasicDomainConsPageEmpty4} +\pastebutton{ugTypesBasicDomainConsPageFull4}{\hidepaste} +\tab{5}\spadcommand{Polynomial(String)} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicDomainConsPageEmpty4} +\begin{paste}{ugTypesBasicDomainConsPageEmpty4}{ugTypesBasicDomainConsPagePatch4} +\pastebutton{ugTypesBasicDomainConsPageEmpty4}{\showpaste} +\tab{5}\spadcommand{Polynomial(String)} +\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicDomainConsPagePatch5} +\begin{paste}{ugTypesBasicDomainConsPageFull5}{ugTypesBasicDomainConsPageEmpty5} +\pastebutton{ugTypesBasicDomainConsPageFull5}{\hidepaste} +\tab{5}\spadcommand{Polynomial(Integer) has Ring} +\indentrel{3}\begin{verbatim} + (4) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicDomainConsPageEmpty5} +\begin{paste}{ugTypesBasicDomainConsPageEmpty5}{ugTypesBasicDomainConsPagePatch5} +\pastebutton{ugTypesBasicDomainConsPageEmpty5}{\showpaste} +\tab{5}\spadcommand{Polynomial(Integer) has Ring} +\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicDomainConsPagePatch6} +\begin{paste}{ugTypesBasicDomainConsPageFull6}{ugTypesBasicDomainConsPageEmpty6} +\pastebutton{ugTypesBasicDomainConsPageFull6}{\hidepaste} +\tab{5}\spadcommand{List(Integer) has Ring} +\indentrel{3}\begin{verbatim} + (5) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicDomainConsPageEmpty6} +\begin{paste}{ugTypesBasicDomainConsPageEmpty6}{ugTypesBasicDomainConsPagePatch6} +\pastebutton{ugTypesBasicDomainConsPageEmpty6}{\showpaste} +\tab{5}\spadcommand{List(Integer) has Ring} +\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicDomainConsPagePatch7} +\begin{paste}{ugTypesBasicDomainConsPageFull7}{ugTypesBasicDomainConsPageEmpty7} +\pastebutton{ugTypesBasicDomainConsPageFull7}{\hidepaste} +\tab{5}\spadcommand{Matrix(Integer) has Ring} +\indentrel{3}\begin{verbatim} + (6) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicDomainConsPageEmpty7} +\begin{paste}{ugTypesBasicDomainConsPageEmpty7}{ugTypesBasicDomainConsPagePatch7} +\pastebutton{ugTypesBasicDomainConsPageEmpty7}{\showpaste} +\tab{5}\spadcommand{Matrix(Integer) has Ring} +\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicDomainConsPagePatch8} +\begin{paste}{ugTypesBasicDomainConsPageFull8}{ugTypesBasicDomainConsPageEmpty8} +\pastebutton{ugTypesBasicDomainConsPageFull8}{\hidepaste} +\tab{5}\spadcommand{Polynomial(Matrix(Integer))} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicDomainConsPageEmpty8} +\begin{paste}{ugTypesBasicDomainConsPageEmpty8}{ugTypesBasicDomainConsPagePatch8} +\pastebutton{ugTypesBasicDomainConsPageEmpty8}{\showpaste} +\tab{5}\spadcommand{Polynomial(Matrix(Integer))} +\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicDomainConsPagePatch9} +\begin{paste}{ugTypesBasicDomainConsPageFull9}{ugTypesBasicDomainConsPageEmpty9} +\pastebutton{ugTypesBasicDomainConsPageFull9}{\hidepaste} +\tab{5}\spadcommand{Polynomial(SquareMatrix(7,Complex(Integer)))} +\indentrel{3}\begin{verbatim} + (7) Polynomial SquareMatrix(7,Complex Integer) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicDomainConsPageEmpty9} +\begin{paste}{ugTypesBasicDomainConsPageEmpty9}{ugTypesBasicDomainConsPagePatch9} +\pastebutton{ugTypesBasicDomainConsPageEmpty9}{\showpaste} +\tab{5}\spadcommand{Polynomial(SquareMatrix(7,Complex(Integer)))} +\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicDomainConsPagePatch10} +\begin{paste}{ugTypesBasicDomainConsPageFull10}{ugTypesBasicDomainConsPageEmpty10} +\pastebutton{ugTypesBasicDomainConsPageFull10}{\hidepaste} +\tab{5}\spadcommand{Complex(Integer) has Field} +\indentrel{3}\begin{verbatim} + (8) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicDomainConsPageEmpty10} +\begin{paste}{ugTypesBasicDomainConsPageEmpty10}{ugTypesBasicDomainConsPagePatch10} +\pastebutton{ugTypesBasicDomainConsPageEmpty10}{\showpaste} +\tab{5}\spadcommand{Complex(Integer) has Field} +\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicDomainConsPagePatch11} +\begin{paste}{ugTypesBasicDomainConsPageFull11}{ugTypesBasicDomainConsPageEmpty11} +\pastebutton{ugTypesBasicDomainConsPageFull11}{\hidepaste} +\tab{5}\spadcommand{Fraction(Complex(Integer)) has Field} +\indentrel{3}\begin{verbatim} + (9) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicDomainConsPageEmpty11} +\begin{paste}{ugTypesBasicDomainConsPageEmpty11}{ugTypesBasicDomainConsPagePatch11} +\pastebutton{ugTypesBasicDomainConsPageEmpty11}{\showpaste} +\tab{5}\spadcommand{Fraction(Complex(Integer)) has Field} +\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicDomainConsPagePatch12} +\begin{paste}{ugTypesBasicDomainConsPageFull12}{ugTypesBasicDomainConsPageEmpty12} +\pastebutton{ugTypesBasicDomainConsPageFull12}{\hidepaste} +\tab{5}\spadcommand{Complex(Fraction(Integer)) has Field} +\indentrel{3}\begin{verbatim} + (10) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesBasicDomainConsPageEmpty12} +\begin{paste}{ugTypesBasicDomainConsPageEmpty12}{ugTypesBasicDomainConsPagePatch12} +\pastebutton{ugTypesBasicDomainConsPageEmpty12}{\showpaste} +\tab{5}\spadcommand{Complex(Fraction(Integer)) has Field} +\end{paste}\end{patch} + @ \pagehead{ugTypesWritingPage}{ug02.ht}{Writing Types and Modes} \pageto{notitle}{ugTypesBasicPage} @@ -26257,6 +72931,85 @@ in Section 2.9\ignore{ugTypesPkgCall}). \autobuttons \end{page} +\begin{patch}{ugTypesWritingPagePatch1} +\begin{paste}{ugTypesWritingPageFull1}{ugTypesWritingPageEmpty1} +\pastebutton{ugTypesWritingPageFull1}{\hidepaste} +\tab{5}\spadcommand{a : PositiveInteger} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesWritingPageEmpty1} +\begin{paste}{ugTypesWritingPageEmpty1}{ugTypesWritingPagePatch1} +\pastebutton{ugTypesWritingPageEmpty1}{\showpaste} +\tab{5}\spadcommand{a : PositiveInteger} +\end{paste}\end{patch} + +\begin{patch}{ugTypesWritingPagePatch2} +\begin{paste}{ugTypesWritingPageFull2}{ugTypesWritingPageEmpty2} +\pastebutton{ugTypesWritingPageFull2}{\hidepaste} +\tab{5}\spadcommand{f : Integer -> String} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesWritingPageEmpty2} +\begin{paste}{ugTypesWritingPageEmpty2}{ugTypesWritingPagePatch2} +\pastebutton{ugTypesWritingPageEmpty2}{\showpaste} +\tab{5}\spadcommand{f : Integer -> String} +\end{paste}\end{patch} + +\begin{patch}{ugTypesWritingPagePatch3} +\begin{paste}{ugTypesWritingPageFull3}{ugTypesWritingPageEmpty3} +\pastebutton{ugTypesWritingPageFull3}{\hidepaste} +\tab{5}\spadcommand{factor(2 :: Complex(Integer))} +\indentrel{3}\begin{verbatim} + 2 + (3) - %i (1 + %i) + Type: Factored Complex Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesWritingPageEmpty3} +\begin{paste}{ugTypesWritingPageEmpty3}{ugTypesWritingPagePatch3} +\pastebutton{ugTypesWritingPageEmpty3}{\showpaste} +\tab{5}\spadcommand{factor(2 :: Complex(Integer))} +\end{paste}\end{patch} + +\begin{patch}{ugTypesWritingPagePatch4} +\begin{paste}{ugTypesWritingPageFull4}{ugTypesWritingPageEmpty4} +\pastebutton{ugTypesWritingPageFull4}{\hidepaste} +\tab{5}\spadcommand{(2 = 3)$Integer} +\indentrel{3}\begin{verbatim} + (4) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesWritingPageEmpty4} +\begin{paste}{ugTypesWritingPageEmpty4}{ugTypesWritingPagePatch4} +\pastebutton{ugTypesWritingPageEmpty4}{\showpaste} +\tab{5}\spadcommand{(2 = 3)$Integer} +\end{paste}\end{patch} + +\begin{patch}{ugTypesWritingPagePatch5} +\begin{paste}{ugTypesWritingPageFull5}{ugTypesWritingPageEmpty5} +\pastebutton{ugTypesWritingPageFull5}{\hidepaste} +\tab{5}\spadcommand{(2 = 3)@Boolean} +\indentrel{3}\begin{verbatim} + (5) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesWritingPageEmpty5} +\begin{paste}{ugTypesWritingPageEmpty5}{ugTypesWritingPagePatch5} +\pastebutton{ugTypesWritingPageEmpty5}{\showpaste} +\tab{5}\spadcommand{(2 = 3)@Boolean} +\end{paste}\end{patch} + @ \pagehead{ugTypesWritingZeroPage}{ug02.ht}{Types with No Arguments} <>= @@ -26358,6 +73111,104 @@ then the parentheses can usually be omitted. \autobuttons \end{page} +\begin{patch}{ugTypesWritingOnePagePatch1} +\begin{paste}{ugTypesWritingOnePageFull1}{ugTypesWritingOnePageEmpty1} +\pastebutton{ugTypesWritingOnePageFull1}{\hidepaste} +\tab{5}\spadcommand{e : PrimeField(2 + 3)} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesWritingOnePageEmpty1} +\begin{paste}{ugTypesWritingOnePageEmpty1}{ugTypesWritingOnePagePatch1} +\pastebutton{ugTypesWritingOnePageEmpty1}{\showpaste} +\tab{5}\spadcommand{e : PrimeField(2 + 3)} +\end{paste}\end{patch} + +\begin{patch}{ugTypesWritingOnePagePatch2} +\begin{paste}{ugTypesWritingOnePageFull2}{ugTypesWritingOnePageEmpty2} +\pastebutton{ugTypesWritingOnePageFull2}{\hidepaste} +\tab{5}\spadcommand{content(2)$Polynomial(Integer)} +\indentrel{3}\begin{verbatim} + (2) 2 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesWritingOnePageEmpty2} +\begin{paste}{ugTypesWritingOnePageEmpty2}{ugTypesWritingOnePagePatch2} +\pastebutton{ugTypesWritingOnePageEmpty2}{\showpaste} +\tab{5}\spadcommand{content(2)$Polynomial(Integer)} +\end{paste}\end{patch} + +\begin{patch}{ugTypesWritingOnePagePatch3} +\begin{paste}{ugTypesWritingOnePageFull3}{ugTypesWritingOnePageEmpty3} +\pastebutton{ugTypesWritingOnePageFull3}{\hidepaste} +\tab{5}\spadcommand{content(2)$(Polynomial Complex Fraction Integer)} +\indentrel{3}\begin{verbatim} + (3) 2 + Type: Complex Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesWritingOnePageEmpty3} +\begin{paste}{ugTypesWritingOnePageEmpty3}{ugTypesWritingOnePagePatch3} +\pastebutton{ugTypesWritingOnePageEmpty3}{\showpaste} +\tab{5}\spadcommand{content(2)$(Polynomial Complex Fraction Integer)} +\end{paste}\end{patch} + +\begin{patch}{ugTypesWritingOnePagePatch4} +\begin{paste}{ugTypesWritingOnePageFull4}{ugTypesWritingOnePageEmpty4} +\pastebutton{ugTypesWritingOnePageFull4}{\hidepaste} +\tab{5}\spadcommand{(2/3)@Fraction(Polynomial(Integer))} +\indentrel{3}\begin{verbatim} + 2 + (4) Ä + 3 + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesWritingOnePageEmpty4} +\begin{paste}{ugTypesWritingOnePageEmpty4}{ugTypesWritingOnePagePatch4} +\pastebutton{ugTypesWritingOnePageEmpty4}{\showpaste} +\tab{5}\spadcommand{(2/3)@Fraction(Polynomial(Integer))} +\end{paste}\end{patch} + +\begin{patch}{ugTypesWritingOnePagePatch5} +\begin{paste}{ugTypesWritingOnePageFull5}{ugTypesWritingOnePageEmpty5} +\pastebutton{ugTypesWritingOnePageFull5}{\hidepaste} +\tab{5}\spadcommand{(2/3)@Fraction(Polynomial Integer)} +\indentrel{3}\begin{verbatim} + 2 + (5) Ä + 3 + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesWritingOnePageEmpty5} +\begin{paste}{ugTypesWritingOnePageEmpty5}{ugTypesWritingOnePagePatch5} +\pastebutton{ugTypesWritingOnePageEmpty5}{\showpaste} +\tab{5}\spadcommand{(2/3)@Fraction(Polynomial Integer)} +\end{paste}\end{patch} + +\begin{patch}{ugTypesWritingOnePagePatch6} +\begin{paste}{ugTypesWritingOnePageFull6}{ugTypesWritingOnePageEmpty6} +\pastebutton{ugTypesWritingOnePageFull6}{\hidepaste} +\tab{5}\spadcommand{(d,f,g) : Complex Polynomial Integer} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesWritingOnePageEmpty6} +\begin{paste}{ugTypesWritingOnePageEmpty6}{ugTypesWritingOnePagePatch6} +\pastebutton{ugTypesWritingOnePageEmpty6}{\showpaste} +\tab{5}\spadcommand{(d,f,g) : Complex Polynomial Integer} +\end{paste}\end{patch} + @ \pagehead{ugTypesWritingMorePage}{ug02.ht} {Types with More Than One Argument} @@ -26510,6 +73361,48 @@ Issue this to see all packages whose names contain the string ``ode''. \autobuttons \end{page} +\begin{patch}{ugTypesWritingAbbrPagePatch1} +\begin{paste}{ugTypesWritingAbbrPageFull1}{ugTypesWritingAbbrPageEmpty1} +\pastebutton{ugTypesWritingAbbrPageFull1}{\hidepaste} +\tab{5}\spadcommand{)abb q Integer} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesWritingAbbrPageEmpty1} +\begin{paste}{ugTypesWritingAbbrPageEmpty1}{ugTypesWritingAbbrPagePatch1} +\pastebutton{ugTypesWritingAbbrPageEmpty1}{\showpaste} +\tab{5}\spadcommand{)abb q Integer} +\end{paste}\end{patch} + +\begin{patch}{ugTypesWritingAbbrPagePatch2} +\begin{paste}{ugTypesWritingAbbrPageFull2}{ugTypesWritingAbbrPageEmpty2} +\pastebutton{ugTypesWritingAbbrPageFull2}{\hidepaste} +\tab{5}\spadcommand{)abb q DMP} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesWritingAbbrPageEmpty2} +\begin{paste}{ugTypesWritingAbbrPageEmpty2}{ugTypesWritingAbbrPagePatch2} +\pastebutton{ugTypesWritingAbbrPageEmpty2}{\showpaste} +\tab{5}\spadcommand{)abb q DMP} +\end{paste}\end{patch} + +\begin{patch}{ugTypesWritingAbbrPagePatch3} +\begin{paste}{ugTypesWritingAbbrPageFull3}{ugTypesWritingAbbrPageEmpty3} +\pastebutton{ugTypesWritingAbbrPageFull3}{\hidepaste} +\tab{5}\spadcommand{)what packages ode} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesWritingAbbrPageEmpty3} +\begin{paste}{ugTypesWritingAbbrPageEmpty3}{ugTypesWritingAbbrPagePatch3} +\pastebutton{ugTypesWritingAbbrPageEmpty3}{\showpaste} +\tab{5}\spadcommand{)what packages ode} +\end{paste}\end{patch} + @ \pagehead{ugTypesDeclarePage}{ug02.ht}{Declarations} \pageto{notitle}{ugLangAssignPage} @@ -26625,6 +73518,221 @@ information. \autobuttons \end{page} +\begin{patch}{ugTypesDeclarePagePatch1} +\begin{paste}{ugTypesDeclarePageFull1}{ugTypesDeclarePageEmpty1} +\pastebutton{ugTypesDeclarePageFull1}{\hidepaste} +\tab{5}\spadcommand{a : Integer\bound{a }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesDeclarePageEmpty1} +\begin{paste}{ugTypesDeclarePageEmpty1}{ugTypesDeclarePagePatch1} +\pastebutton{ugTypesDeclarePageEmpty1}{\showpaste} +\tab{5}\spadcommand{a : Integer\bound{a }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesDeclarePagePatch2} +\begin{paste}{ugTypesDeclarePageFull2}{ugTypesDeclarePageEmpty2} +\pastebutton{ugTypesDeclarePageFull2}{\hidepaste} +\tab{5}\spadcommand{(b,c) : Integer\bound{b c }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesDeclarePageEmpty2} +\begin{paste}{ugTypesDeclarePageEmpty2}{ugTypesDeclarePagePatch2} +\pastebutton{ugTypesDeclarePageEmpty2}{\showpaste} +\tab{5}\spadcommand{(b,c) : Integer\bound{b c }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesDeclarePagePatch3} +\begin{paste}{ugTypesDeclarePageFull3}{ugTypesDeclarePageEmpty3} +\pastebutton{ugTypesDeclarePageFull3}{\hidepaste} +\tab{5}\spadcommand{a := 45\free{a }} +\indentrel{3}\begin{verbatim} + (3) 45 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesDeclarePageEmpty3} +\begin{paste}{ugTypesDeclarePageEmpty3}{ugTypesDeclarePagePatch3} +\pastebutton{ugTypesDeclarePageEmpty3}{\showpaste} +\tab{5}\spadcommand{a := 45\free{a }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesDeclarePagePatch4} +\begin{paste}{ugTypesDeclarePageFull4}{ugTypesDeclarePageEmpty4} +\pastebutton{ugTypesDeclarePageFull4}{\hidepaste} +\tab{5}\spadcommand{b := 4/5\free{b }} +\indentrel{3}\begin{verbatim} + 4 + Ä + 5 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesDeclarePageEmpty4} +\begin{paste}{ugTypesDeclarePageEmpty4}{ugTypesDeclarePagePatch4} +\pastebutton{ugTypesDeclarePageEmpty4}{\showpaste} +\tab{5}\spadcommand{b := 4/5\free{b }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesDeclarePagePatch5} +\begin{paste}{ugTypesDeclarePageFull5}{ugTypesDeclarePageEmpty5} +\pastebutton{ugTypesDeclarePageFull5}{\hidepaste} +\tab{5}\spadcommand{n : Complex ?\bound{n }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesDeclarePageEmpty5} +\begin{paste}{ugTypesDeclarePageEmpty5}{ugTypesDeclarePagePatch5} +\pastebutton{ugTypesDeclarePageEmpty5}{\showpaste} +\tab{5}\spadcommand{n : Complex ?\bound{n }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesDeclarePagePatch6} +\begin{paste}{ugTypesDeclarePageFull6}{ugTypesDeclarePageEmpty6} +\pastebutton{ugTypesDeclarePageFull6}{\hidepaste} +\tab{5}\spadcommand{(p,q,r) : Matrix Polynomial ?\bound{p q r }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesDeclarePageEmpty6} +\begin{paste}{ugTypesDeclarePageEmpty6}{ugTypesDeclarePagePatch6} +\pastebutton{ugTypesDeclarePageEmpty6}{\showpaste} +\tab{5}\spadcommand{(p,q,r) : Matrix Polynomial ?\bound{p q r }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesDeclarePagePatch7} +\begin{paste}{ugTypesDeclarePageFull7}{ugTypesDeclarePageEmpty7} +\pastebutton{ugTypesDeclarePageFull7}{\hidepaste} +\tab{5}\spadcommand{n := -36 + 9 * \%i\free{n }} +\indentrel{3}\begin{verbatim} + (6) - 36 + 9%i + Type: Complex Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesDeclarePageEmpty7} +\begin{paste}{ugTypesDeclarePageEmpty7}{ugTypesDeclarePagePatch7} +\pastebutton{ugTypesDeclarePageEmpty7}{\showpaste} +\tab{5}\spadcommand{n := -36 + 9 * \%i\free{n }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesDeclarePagePatch8} +\begin{paste}{ugTypesDeclarePageFull8}{ugTypesDeclarePageEmpty8} +\pastebutton{ugTypesDeclarePageFull8}{\hidepaste} +\tab{5}\spadcommand{n := complex(4/(x + y),y/x)\free{n }} +\indentrel{3}\begin{verbatim} + 4 y + (7) ÄÄÄÄÄ + Ä %i + y + x x + Type: Complex Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesDeclarePageEmpty8} +\begin{paste}{ugTypesDeclarePageEmpty8}{ugTypesDeclarePagePatch8} +\pastebutton{ugTypesDeclarePageEmpty8}{\showpaste} +\tab{5}\spadcommand{n := complex(4/(x + y),y/x)\free{n }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesDeclarePagePatch9} +\begin{paste}{ugTypesDeclarePageFull9}{ugTypesDeclarePageEmpty9} +\pastebutton{ugTypesDeclarePageFull9}{\hidepaste} +\tab{5}\spadcommand{p := [[1,2],[3,4],[5,6]]\free{p }} +\indentrel{3}\begin{verbatim} + Ú1 2¿ + ³ ³ + (8) ³3 4³ + ³ ³ + À5 6Ù + Type: Matrix Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesDeclarePageEmpty9} +\begin{paste}{ugTypesDeclarePageEmpty9}{ugTypesDeclarePagePatch9} +\pastebutton{ugTypesDeclarePageEmpty9}{\showpaste} +\tab{5}\spadcommand{p := [[1,2],[3,4],[5,6]]\free{p }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesDeclarePagePatch10} +\begin{paste}{ugTypesDeclarePageFull10}{ugTypesDeclarePageEmpty10} +\pastebutton{ugTypesDeclarePageFull10}{\hidepaste} +\tab{5}\spadcommand{q := [[x - 2/3]]\free{q }} +\indentrel{3}\begin{verbatim} + Ú 2¿ + (9) ³x - ij + À 3Ù + Type: Matrix Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesDeclarePageEmpty10} +\begin{paste}{ugTypesDeclarePageEmpty10}{ugTypesDeclarePagePatch10} +\pastebutton{ugTypesDeclarePageEmpty10}{\showpaste} +\tab{5}\spadcommand{q := [[x - 2/3]]\free{q }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesDeclarePagePatch11} +\begin{paste}{ugTypesDeclarePageFull11}{ugTypesDeclarePageEmpty11} +\pastebutton{ugTypesDeclarePageFull11}{\hidepaste} +\tab{5}\spadcommand{r := [[1-\%i*x,7*y+4*\%i]]\free{r }} +\indentrel{3}\begin{verbatim} + (10) [- %i x + 1 7y + 4%i] + Type: Matrix Polynomial Complex Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesDeclarePageEmpty11} +\begin{paste}{ugTypesDeclarePageEmpty11}{ugTypesDeclarePagePatch11} +\pastebutton{ugTypesDeclarePageEmpty11}{\showpaste} +\tab{5}\spadcommand{r := [[1-\%i*x,7*y+4*\%i]]\free{r }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesDeclarePagePatch12} +\begin{paste}{ugTypesDeclarePageFull12}{ugTypesDeclarePageEmpty12} +\pastebutton{ugTypesDeclarePageFull12}{\hidepaste} +\tab{5}\spadcommand{f : COMPLEX POLY ? := (x + y*\%i)**2} +\indentrel{3}\begin{verbatim} + 2 2 + (11) - y + x + 2x y %i + Type: Complex Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesDeclarePageEmpty12} +\begin{paste}{ugTypesDeclarePageEmpty12}{ugTypesDeclarePagePatch12} +\pastebutton{ugTypesDeclarePageEmpty12}{\showpaste} +\tab{5}\spadcommand{f : COMPLEX POLY ? := (x + y*\%i)**2} +\end{paste}\end{patch} + +\begin{patch}{ugTypesDeclarePagePatch13} +\begin{paste}{ugTypesDeclarePageFull13}{ugTypesDeclarePageEmpty13} +\pastebutton{ugTypesDeclarePageFull13}{\hidepaste} +\tab{5}\spadcommand{g : POLY COMPLEX ? := (x + y*\%i)**2} +\indentrel{3}\begin{verbatim} + 2 2 + (12) - y + 2%i x y + x + Type: Polynomial Complex Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesDeclarePageEmpty13} +\begin{paste}{ugTypesDeclarePageEmpty13}{ugTypesDeclarePagePatch13} +\pastebutton{ugTypesDeclarePageEmpty13}{\showpaste} +\tab{5}\spadcommand{g : POLY COMPLEX ? := (x + y*\%i)**2} +\end{paste}\end{patch} + @ \pagehead{ugTypesRecordsPage}{ug02.ht}{Records} <>= @@ -26774,6 +73882,292 @@ Look at \axiom{r} to make sure it was modified. \autobuttons \end{page} +\begin{patch}{ugTypesRecordsPagePatch1} +\begin{paste}{ugTypesRecordsPageFull1}{ugTypesRecordsPageEmpty1} +\pastebutton{ugTypesRecordsPageFull1}{\hidepaste} +\tab{5}\spadcommand{u := divide(5,2)\bound{u }} +\indentrel{3}\begin{verbatim} + (1) [quotient= 2,remainder= 1] + Type: Record(quotient: Integer,remainder: Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPageEmpty1} +\begin{paste}{ugTypesRecordsPageEmpty1}{ugTypesRecordsPagePatch1} +\pastebutton{ugTypesRecordsPageEmpty1}{\showpaste} +\tab{5}\spadcommand{u := divide(5,2)\bound{u }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPagePatch2} +\begin{paste}{ugTypesRecordsPageFull2}{ugTypesRecordsPageEmpty2} +\pastebutton{ugTypesRecordsPageFull2}{\hidepaste} +\tab{5}\spadcommand{u.quotient\free{u }} +\indentrel{3}\begin{verbatim} + (2) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPageEmpty2} +\begin{paste}{ugTypesRecordsPageEmpty2}{ugTypesRecordsPagePatch2} +\pastebutton{ugTypesRecordsPageEmpty2}{\showpaste} +\tab{5}\spadcommand{u.quotient\free{u }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPagePatch3} +\begin{paste}{ugTypesRecordsPageFull3}{ugTypesRecordsPageEmpty3} +\pastebutton{ugTypesRecordsPageFull3}{\hidepaste} +\tab{5}\spadcommand{u.remainder\free{u }} +\indentrel{3}\begin{verbatim} + (3) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPageEmpty3} +\begin{paste}{ugTypesRecordsPageEmpty3}{ugTypesRecordsPagePatch3} +\pastebutton{ugTypesRecordsPageEmpty3}{\showpaste} +\tab{5}\spadcommand{u.remainder\free{u }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPagePatch4} +\begin{paste}{ugTypesRecordsPageFull4}{ugTypesRecordsPageEmpty4} +\pastebutton{ugTypesRecordsPageFull4}{\hidepaste} +\tab{5}\spadcommand{u.quotient := 8978\free{u }\bound{u1 }} +\indentrel{3}\begin{verbatim} + (4) 8978 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPageEmpty4} +\begin{paste}{ugTypesRecordsPageEmpty4}{ugTypesRecordsPagePatch4} +\pastebutton{ugTypesRecordsPageEmpty4}{\showpaste} +\tab{5}\spadcommand{u.quotient := 8978\free{u }\bound{u1 }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPagePatch5} +\begin{paste}{ugTypesRecordsPageFull5}{ugTypesRecordsPageEmpty5} +\pastebutton{ugTypesRecordsPageFull5}{\hidepaste} +\tab{5}\spadcommand{u\free{u }\free{u1 }} +\indentrel{3}\begin{verbatim} + (5) [quotient= 8978,remainder= 1] + Type: Record(quotient: Integer,remainder: Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPageEmpty5} +\begin{paste}{ugTypesRecordsPageEmpty5}{ugTypesRecordsPagePatch5} +\pastebutton{ugTypesRecordsPageEmpty5}{\showpaste} +\tab{5}\spadcommand{u\free{u }\free{u1 }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPagePatch6} +\begin{paste}{ugTypesRecordsPageFull6}{ugTypesRecordsPageEmpty6} +\pastebutton{ugTypesRecordsPageFull6}{\hidepaste} +\tab{5}\spadcommand{s := 'quotient\bound{s }} +\indentrel{3}\begin{verbatim} + (6) quotient + Type: Variable quotient +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPageEmpty6} +\begin{paste}{ugTypesRecordsPageEmpty6}{ugTypesRecordsPagePatch6} +\pastebutton{ugTypesRecordsPageEmpty6}{\showpaste} +\tab{5}\spadcommand{s := 'quotient\bound{s }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPagePatch7} +\begin{paste}{ugTypesRecordsPageFull7}{ugTypesRecordsPageEmpty7} +\pastebutton{ugTypesRecordsPageFull7}{\hidepaste} +\tab{5}\spadcommand{divide(5,2).s\free{s }} +\indentrel{3}\begin{verbatim} + (7) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPageEmpty7} +\begin{paste}{ugTypesRecordsPageEmpty7}{ugTypesRecordsPagePatch7} +\pastebutton{ugTypesRecordsPageEmpty7}{\showpaste} +\tab{5}\spadcommand{divide(5,2).s\free{s }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPagePatch8} +\begin{paste}{ugTypesRecordsPageFull8}{ugTypesRecordsPageEmpty8} +\pastebutton{ugTypesRecordsPageFull8}{\hidepaste} +\tab{5}\spadcommand{bd : Record(name : String, birthdayMonth : Integer)\bound{bddec }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPageEmpty8} +\begin{paste}{ugTypesRecordsPageEmpty8}{ugTypesRecordsPagePatch8} +\pastebutton{ugTypesRecordsPageEmpty8}{\showpaste} +\tab{5}\spadcommand{bd : Record(name : String, birthdayMonth : Integer)\bound{bddec }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPagePatch9} +\begin{paste}{ugTypesRecordsPageFull9}{ugTypesRecordsPageEmpty9} +\pastebutton{ugTypesRecordsPageFull9}{\hidepaste} +\tab{5}\spadcommand{bd := ["Judith", 3]\free{bddec }\bound{bd }} +\indentrel{3}\begin{verbatim} + (9) [name= "Judith",birthdayMonth= 3] + Type: Record(name: String,birthdayMonth: Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPageEmpty9} +\begin{paste}{ugTypesRecordsPageEmpty9}{ugTypesRecordsPagePatch9} +\pastebutton{ugTypesRecordsPageEmpty9}{\showpaste} +\tab{5}\spadcommand{bd := ["Judith", 3]\free{bddec }\bound{bd }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPagePatch10} +\begin{paste}{ugTypesRecordsPageFull10}{ugTypesRecordsPageEmpty10} +\pastebutton{ugTypesRecordsPageFull10}{\hidepaste} +\tab{5}\spadcommand{bd.name := "Katie"\free{bd }} +\indentrel{3}\begin{verbatim} + (10) "Katie" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPageEmpty10} +\begin{paste}{ugTypesRecordsPageEmpty10}{ugTypesRecordsPagePatch10} +\pastebutton{ugTypesRecordsPageEmpty10}{\showpaste} +\tab{5}\spadcommand{bd.name := "Katie"\free{bd }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPagePatch11} +\begin{paste}{ugTypesRecordsPageFull11}{ugTypesRecordsPageEmpty11} +\pastebutton{ugTypesRecordsPageFull11}{\hidepaste} +\tab{5}\spadcommand{r : Record(a : Record(b: Integer, c: Integer), b: Integer)\bound{rdec }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPageEmpty11} +\begin{paste}{ugTypesRecordsPageEmpty11}{ugTypesRecordsPagePatch11} +\pastebutton{ugTypesRecordsPageEmpty11}{\showpaste} +\tab{5}\spadcommand{r : Record(a : Record(b: Integer, c: Integer), b: Integer)\bound{rdec }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPagePatch12} +\begin{paste}{ugTypesRecordsPageFull12}{ugTypesRecordsPageEmpty12} +\pastebutton{ugTypesRecordsPageFull12}{\hidepaste} +\tab{5}\spadcommand{r := [[1,2],3]\bound{r }\free{rdec }} +\indentrel{3}\begin{verbatim} + (12) [a= [b= 1,c= 2],b= 3] +Type: Record(a: Record(b: Integer,c: Integer),b: Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPageEmpty12} +\begin{paste}{ugTypesRecordsPageEmpty12}{ugTypesRecordsPagePatch12} +\pastebutton{ugTypesRecordsPageEmpty12}{\showpaste} +\tab{5}\spadcommand{r := [[1,2],3]\bound{r }\free{rdec }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPagePatch13} +\begin{paste}{ugTypesRecordsPageFull13}{ugTypesRecordsPageEmpty13} +\pastebutton{ugTypesRecordsPageFull13}{\hidepaste} +\tab{5}\spadcommand{r.a.b\free{r }} +\indentrel{3}\begin{verbatim} + (13) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPageEmpty13} +\begin{paste}{ugTypesRecordsPageEmpty13}{ugTypesRecordsPagePatch13} +\pastebutton{ugTypesRecordsPageEmpty13}{\showpaste} +\tab{5}\spadcommand{r.a.b\free{r }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPagePatch14} +\begin{paste}{ugTypesRecordsPageFull14}{ugTypesRecordsPageEmpty14} +\pastebutton{ugTypesRecordsPageFull14}{\hidepaste} +\tab{5}\spadcommand{r.b\free{r }} +\indentrel{3}\begin{verbatim} + (14) 3 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPageEmpty14} +\begin{paste}{ugTypesRecordsPageEmpty14}{ugTypesRecordsPagePatch14} +\pastebutton{ugTypesRecordsPageEmpty14}{\showpaste} +\tab{5}\spadcommand{r.b\free{r }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPagePatch15} +\begin{paste}{ugTypesRecordsPageFull15}{ugTypesRecordsPageEmpty15} +\pastebutton{ugTypesRecordsPageFull15}{\hidepaste} +\tab{5}\spadcommand{r(a)\free{r }} +\indentrel{3}\begin{verbatim} + (15) [b= 1,c= 2] + Type: Record(b: Integer,c: Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPageEmpty15} +\begin{paste}{ugTypesRecordsPageEmpty15}{ugTypesRecordsPagePatch15} +\pastebutton{ugTypesRecordsPageEmpty15}{\showpaste} +\tab{5}\spadcommand{r(a)\free{r }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPagePatch16} +\begin{paste}{ugTypesRecordsPageFull16}{ugTypesRecordsPageEmpty16} +\pastebutton{ugTypesRecordsPageFull16}{\hidepaste} +\tab{5}\spadcommand{r b\free{r }} +\indentrel{3}\begin{verbatim} + (16) 3 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPageEmpty16} +\begin{paste}{ugTypesRecordsPageEmpty16}{ugTypesRecordsPagePatch16} +\pastebutton{ugTypesRecordsPageEmpty16}{\showpaste} +\tab{5}\spadcommand{r b\free{r }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPagePatch17} +\begin{paste}{ugTypesRecordsPageFull17}{ugTypesRecordsPageEmpty17} +\pastebutton{ugTypesRecordsPageFull17}{\hidepaste} +\tab{5}\spadcommand{r(b) := 10\free{r }\bound{r1 }} +\indentrel{3}\begin{verbatim} + (17) 10 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPageEmpty17} +\begin{paste}{ugTypesRecordsPageEmpty17}{ugTypesRecordsPagePatch17} +\pastebutton{ugTypesRecordsPageEmpty17}{\showpaste} +\tab{5}\spadcommand{r(b) := 10\free{r }\bound{r1 }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPagePatch18} +\begin{paste}{ugTypesRecordsPageFull18}{ugTypesRecordsPageEmpty18} +\pastebutton{ugTypesRecordsPageFull18}{\hidepaste} +\tab{5}\spadcommand{r\free{r1 }} +\indentrel{3}\begin{verbatim} + (18) [a= [b= 1,c= 2],b= 10] +Type: Record(a: Record(b: Integer,c: Integer),b: Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesRecordsPageEmpty18} +\begin{paste}{ugTypesRecordsPageEmpty18}{ugTypesRecordsPagePatch18} +\pastebutton{ugTypesRecordsPageEmpty18}{\showpaste} +\tab{5}\spadcommand{r\free{r1 }} +\end{paste}\end{patch} + @ \pagehead{ugTypesUnionsPage}{ug02.ht}{Unions} \pageto{notitle}{ugTypesUnionsWOSelPage} @@ -26951,6 +74345,225 @@ Here the retraction fails. \autobuttons \end{page} +\begin{patch}{ugTypesUnionsWOSelPagePatch1} +\begin{paste}{ugTypesUnionsWOSelPageFull1}{ugTypesUnionsWOSelPageEmpty1} +\pastebutton{ugTypesUnionsWOSelPageFull1}{\hidepaste} +\tab{5}\spadcommand{sayBranch(x : Union(Integer,String,Float)) : Void == + output + x case Integer => "Integer branch" + x case String => "String branch" + "Float branch" +\bound{sayBranch }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWOSelPageEmpty1} +\begin{paste}{ugTypesUnionsWOSelPageEmpty1}{ugTypesUnionsWOSelPagePatch1} +\pastebutton{ugTypesUnionsWOSelPageEmpty1}{\showpaste} +\tab{5}\spadcommand{sayBranch(x : Union(Integer,String,Float)) : Void == + output + x case Integer => "Integer branch" + x case String => "String branch" + "Float branch" +\bound{sayBranch }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWOSelPagePatch2} +\begin{paste}{ugTypesUnionsWOSelPageFull2}{ugTypesUnionsWOSelPageEmpty2} +\pastebutton{ugTypesUnionsWOSelPageFull2}{\hidepaste} +\tab{5}\spadcommand{sayBranch 1\free{sayBranch }} +\indentrel{3}\begin{verbatim} + Integer branch + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWOSelPageEmpty2} +\begin{paste}{ugTypesUnionsWOSelPageEmpty2}{ugTypesUnionsWOSelPagePatch2} +\pastebutton{ugTypesUnionsWOSelPageEmpty2}{\showpaste} +\tab{5}\spadcommand{sayBranch 1\free{sayBranch }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWOSelPagePatch3} +\begin{paste}{ugTypesUnionsWOSelPageFull3}{ugTypesUnionsWOSelPageEmpty3} +\pastebutton{ugTypesUnionsWOSelPageFull3}{\hidepaste} +\tab{5}\spadcommand{sayBranch "hello"\free{sayBranch }} +\indentrel{3}\begin{verbatim} + String branch + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWOSelPageEmpty3} +\begin{paste}{ugTypesUnionsWOSelPageEmpty3}{ugTypesUnionsWOSelPagePatch3} +\pastebutton{ugTypesUnionsWOSelPageEmpty3}{\showpaste} +\tab{5}\spadcommand{sayBranch "hello"\free{sayBranch }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWOSelPagePatch4} +\begin{paste}{ugTypesUnionsWOSelPageFull4}{ugTypesUnionsWOSelPageEmpty4} +\pastebutton{ugTypesUnionsWOSelPageFull4}{\hidepaste} +\tab{5}\spadcommand{sayBranch 2.718281828\free{sayBranch }} +\indentrel{3}\begin{verbatim} + Float branch + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWOSelPageEmpty4} +\begin{paste}{ugTypesUnionsWOSelPageEmpty4}{ugTypesUnionsWOSelPagePatch4} +\pastebutton{ugTypesUnionsWOSelPageEmpty4}{\showpaste} +\tab{5}\spadcommand{sayBranch 2.718281828\free{sayBranch }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWOSelPagePatch5} +\begin{paste}{ugTypesUnionsWOSelPageFull5}{ugTypesUnionsWOSelPageEmpty5} +\pastebutton{ugTypesUnionsWOSelPageFull5}{\hidepaste} +\tab{5}\spadcommand{78 :: Union(Integer,String)} +\indentrel{3}\begin{verbatim} + (5) 78 + Type: Union(Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWOSelPageEmpty5} +\begin{paste}{ugTypesUnionsWOSelPageEmpty5}{ugTypesUnionsWOSelPagePatch5} +\pastebutton{ugTypesUnionsWOSelPageEmpty5}{\showpaste} +\tab{5}\spadcommand{78 :: Union(Integer,String)} +\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWOSelPagePatch6} +\begin{paste}{ugTypesUnionsWOSelPageFull6}{ugTypesUnionsWOSelPageEmpty6} +\pastebutton{ugTypesUnionsWOSelPageFull6}{\hidepaste} +\tab{5}\spadcommand{s := "string" :: Union(Integer,String)\bound{s }} +\indentrel{3}\begin{verbatim} + (6) "string" + Type: Union(String,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWOSelPageEmpty6} +\begin{paste}{ugTypesUnionsWOSelPageEmpty6}{ugTypesUnionsWOSelPagePatch6} +\pastebutton{ugTypesUnionsWOSelPageEmpty6}{\showpaste} +\tab{5}\spadcommand{s := "string" :: Union(Integer,String)\bound{s }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWOSelPagePatch7} +\begin{paste}{ugTypesUnionsWOSelPageFull7}{ugTypesUnionsWOSelPageEmpty7} +\pastebutton{ugTypesUnionsWOSelPageFull7}{\hidepaste} +\tab{5}\spadcommand{typeOf s} +\indentrel{3}\begin{verbatim} + (7) Union(Integer,String) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWOSelPageEmpty7} +\begin{paste}{ugTypesUnionsWOSelPageEmpty7}{ugTypesUnionsWOSelPagePatch7} +\pastebutton{ugTypesUnionsWOSelPageEmpty7}{\showpaste} +\tab{5}\spadcommand{typeOf s} +\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWOSelPagePatch8} +\begin{paste}{ugTypesUnionsWOSelPageFull8}{ugTypesUnionsWOSelPageEmpty8} +\pastebutton{ugTypesUnionsWOSelPageFull8}{\hidepaste} +\tab{5}\spadcommand{three := exquo(6,2)\bound{three }} +\indentrel{3}\begin{verbatim} + (8) 3 + Type: Union(Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWOSelPageEmpty8} +\begin{paste}{ugTypesUnionsWOSelPageEmpty8}{ugTypesUnionsWOSelPagePatch8} +\pastebutton{ugTypesUnionsWOSelPageEmpty8}{\showpaste} +\tab{5}\spadcommand{three := exquo(6,2)\bound{three }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWOSelPagePatch9} +\begin{paste}{ugTypesUnionsWOSelPageFull9}{ugTypesUnionsWOSelPageEmpty9} +\pastebutton{ugTypesUnionsWOSelPageFull9}{\hidepaste} +\tab{5}\spadcommand{exquo(5,2)} +\indentrel{3}\begin{verbatim} + (9) "failed" + Type: Union("failed",...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWOSelPageEmpty9} +\begin{paste}{ugTypesUnionsWOSelPageEmpty9}{ugTypesUnionsWOSelPagePatch9} +\pastebutton{ugTypesUnionsWOSelPageEmpty9}{\showpaste} +\tab{5}\spadcommand{exquo(5,2)} +\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWOSelPagePatch10} +\begin{paste}{ugTypesUnionsWOSelPageFull10}{ugTypesUnionsWOSelPageEmpty10} +\pastebutton{ugTypesUnionsWOSelPageFull10}{\hidepaste} +\tab{5}\spadcommand{r: FRAC INT := 3\bound{r }\bound{rdec }} +\indentrel{3}\begin{verbatim} + (10) 3 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWOSelPageEmpty10} +\begin{paste}{ugTypesUnionsWOSelPageEmpty10}{ugTypesUnionsWOSelPagePatch10} +\pastebutton{ugTypesUnionsWOSelPageEmpty10}{\showpaste} +\tab{5}\spadcommand{r: FRAC INT := 3\bound{r }\bound{rdec }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWOSelPagePatch11} +\begin{paste}{ugTypesUnionsWOSelPageFull11}{ugTypesUnionsWOSelPageEmpty11} +\pastebutton{ugTypesUnionsWOSelPageFull11}{\hidepaste} +\tab{5}\spadcommand{retractIfCan(r)\free{r }} +\indentrel{3}\begin{verbatim} + (11) 3 + Type: Union(Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWOSelPageEmpty11} +\begin{paste}{ugTypesUnionsWOSelPageEmpty11}{ugTypesUnionsWOSelPagePatch11} +\pastebutton{ugTypesUnionsWOSelPageEmpty11}{\showpaste} +\tab{5}\spadcommand{retractIfCan(r)\free{r }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWOSelPagePatch12} +\begin{paste}{ugTypesUnionsWOSelPageFull12}{ugTypesUnionsWOSelPageEmpty12} +\pastebutton{ugTypesUnionsWOSelPageFull12}{\hidepaste} +\tab{5}\spadcommand{r := 3/2\bound{r1 }\free{rdec }} +\indentrel{3}\begin{verbatim} + 3 + (12) Ä + 2 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWOSelPageEmpty12} +\begin{paste}{ugTypesUnionsWOSelPageEmpty12}{ugTypesUnionsWOSelPagePatch12} +\pastebutton{ugTypesUnionsWOSelPageEmpty12}{\showpaste} +\tab{5}\spadcommand{r := 3/2\bound{r1 }\free{rdec }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWOSelPagePatch13} +\begin{paste}{ugTypesUnionsWOSelPageFull13}{ugTypesUnionsWOSelPageEmpty13} +\pastebutton{ugTypesUnionsWOSelPageFull13}{\hidepaste} +\tab{5}\spadcommand{retractIfCan(r)\free{r1 }} +\indentrel{3}\begin{verbatim} + (13) "failed" + Type: Union("failed",...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWOSelPageEmpty13} +\begin{paste}{ugTypesUnionsWOSelPageEmpty13}{ugTypesUnionsWOSelPagePatch13} +\pastebutton{ugTypesUnionsWOSelPageEmpty13}{\showpaste} +\tab{5}\spadcommand{retractIfCan(r)\free{r1 }} +\end{paste}\end{patch} + @ \pagehead{ugTypesUnionsWSelPage}{ug02.ht}{Unions With Selectors} \pageto{notitle}{ugTypesRecordsPage} @@ -27033,6 +74646,85 @@ To access the element in a particular branch, use the selector. \autobuttons \end{page} +\begin{patch}{ugTypesUnionsWSelPagePatch1} +\begin{paste}{ugTypesUnionsWSelPageFull1}{ugTypesUnionsWSelPageEmpty1} +\pastebutton{ugTypesUnionsWSelPageFull1}{\hidepaste} +\tab{5}\spadcommand{u : Union(i : Integer, s : String)\bound{undec }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWSelPageEmpty1} +\begin{paste}{ugTypesUnionsWSelPageEmpty1}{ugTypesUnionsWSelPagePatch1} +\pastebutton{ugTypesUnionsWSelPageEmpty1}{\showpaste} +\tab{5}\spadcommand{u : Union(i : Integer, s : String)\bound{undec }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWSelPagePatch2} +\begin{paste}{ugTypesUnionsWSelPageFull2}{ugTypesUnionsWSelPageEmpty2} +\pastebutton{ugTypesUnionsWSelPageFull2}{\hidepaste} +\tab{5}\spadcommand{u := "good morning"\bound{u }\free{undec }} +\indentrel{3}\begin{verbatim} + (2) "good morning" + Type: Union(s: String,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWSelPageEmpty2} +\begin{paste}{ugTypesUnionsWSelPageEmpty2}{ugTypesUnionsWSelPagePatch2} +\pastebutton{ugTypesUnionsWSelPageEmpty2}{\showpaste} +\tab{5}\spadcommand{u := "good morning"\bound{u }\free{undec }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWSelPagePatch3} +\begin{paste}{ugTypesUnionsWSelPageFull3}{ugTypesUnionsWSelPageEmpty3} +\pastebutton{ugTypesUnionsWSelPageFull3}{\hidepaste} +\tab{5}\spadcommand{u case i\free{u }} +\indentrel{3}\begin{verbatim} + (3) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWSelPageEmpty3} +\begin{paste}{ugTypesUnionsWSelPageEmpty3}{ugTypesUnionsWSelPagePatch3} +\pastebutton{ugTypesUnionsWSelPageEmpty3}{\showpaste} +\tab{5}\spadcommand{u case i\free{u }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWSelPagePatch4} +\begin{paste}{ugTypesUnionsWSelPageFull4}{ugTypesUnionsWSelPageEmpty4} +\pastebutton{ugTypesUnionsWSelPageFull4}{\hidepaste} +\tab{5}\spadcommand{u case s\free{u }} +\indentrel{3}\begin{verbatim} + (4) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWSelPageEmpty4} +\begin{paste}{ugTypesUnionsWSelPageEmpty4}{ugTypesUnionsWSelPagePatch4} +\pastebutton{ugTypesUnionsWSelPageEmpty4}{\showpaste} +\tab{5}\spadcommand{u case s\free{u }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWSelPagePatch5} +\begin{paste}{ugTypesUnionsWSelPageFull5}{ugTypesUnionsWSelPageEmpty5} +\pastebutton{ugTypesUnionsWSelPageFull5}{\hidepaste} +\tab{5}\spadcommand{u.s\free{u }} +\indentrel{3}\begin{verbatim} + (5) "good morning" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesUnionsWSelPageEmpty5} +\begin{paste}{ugTypesUnionsWSelPageEmpty5}{ugTypesUnionsWSelPagePatch5} +\pastebutton{ugTypesUnionsWSelPageEmpty5}{\showpaste} +\tab{5}\spadcommand{u.s\free{u }} +\end{paste}\end{patch} + @ \pagehead{ugTypesAnyNonePage}{ug02.ht}{The ``Any'' Domain} <>= @@ -27096,6 +74788,87 @@ object of type \axiomType{Any} internally looks like \autobuttons \end{page} +\begin{patch}{ugTypesAnyNonePagePatch1} +\begin{paste}{ugTypesAnyNonePageFull1}{ugTypesAnyNonePageEmpty1} +\pastebutton{ugTypesAnyNonePageFull1}{\hidepaste} +\tab{5}\spadcommand{u: Any\bound{uany }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesAnyNonePageEmpty1} +\begin{paste}{ugTypesAnyNonePageEmpty1}{ugTypesAnyNonePagePatch1} +\pastebutton{ugTypesAnyNonePageEmpty1}{\showpaste} +\tab{5}\spadcommand{u: Any\bound{uany }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesAnyNonePagePatch2} +\begin{paste}{ugTypesAnyNonePageFull2}{ugTypesAnyNonePageEmpty2} +\pastebutton{ugTypesAnyNonePageFull2}{\hidepaste} +\tab{5}\spadcommand{u := [1, 7.2, 3/2, x**2, "wally"]\free{uany }\bound{u }} +\indentrel{3}\begin{verbatim} + 3 2 + (2) [1,7.2,Ä,x ,"wally"] + 2 + Type: List Any +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesAnyNonePageEmpty2} +\begin{paste}{ugTypesAnyNonePageEmpty2}{ugTypesAnyNonePagePatch2} +\pastebutton{ugTypesAnyNonePageEmpty2}{\showpaste} +\tab{5}\spadcommand{u := [1, 7.2, 3/2, x**2, "wally"]\free{uany }\bound{u }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesAnyNonePagePatch3} +\begin{paste}{ugTypesAnyNonePageFull3}{ugTypesAnyNonePageEmpty3} +\pastebutton{ugTypesAnyNonePageFull3}{\hidepaste} +\tab{5}\spadcommand{u.1\free{u }} +\indentrel{3}\begin{verbatim} + (3) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesAnyNonePageEmpty3} +\begin{paste}{ugTypesAnyNonePageEmpty3}{ugTypesAnyNonePagePatch3} +\pastebutton{ugTypesAnyNonePageEmpty3}{\showpaste} +\tab{5}\spadcommand{u.1\free{u }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesAnyNonePagePatch4} +\begin{paste}{ugTypesAnyNonePageFull4}{ugTypesAnyNonePageEmpty4} +\pastebutton{ugTypesAnyNonePageFull4}{\hidepaste} +\tab{5}\spadcommand{u.3\free{u }} +\indentrel{3}\begin{verbatim} + 3 + (4) Ä + 2 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesAnyNonePageEmpty4} +\begin{paste}{ugTypesAnyNonePageEmpty4}{ugTypesAnyNonePagePatch4} +\pastebutton{ugTypesAnyNonePageEmpty4}{\showpaste} +\tab{5}\spadcommand{u.3\free{u }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesAnyNonePagePatch5} +\begin{paste}{ugTypesAnyNonePageFull5}{ugTypesAnyNonePageEmpty5} +\pastebutton{ugTypesAnyNonePageFull5}{\hidepaste} +\tab{5}\spadcommand{v : Matrix(Any)} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesAnyNonePageEmpty5} +\begin{paste}{ugTypesAnyNonePageEmpty5}{ugTypesAnyNonePagePatch5} +\pastebutton{ugTypesAnyNonePageEmpty5}{\showpaste} +\tab{5}\spadcommand{v : Matrix(Any)} +\end{paste}\end{patch} + @ \pagehead{ugTypesConvertPage}{ug02.ht}{Conversion} \pagepic{ps/v71ugtypesconvertpage.eps}{ugTypesConvertPage} @@ -27233,6 +75006,272 @@ of the matrices to be fractions. \autobuttons \end{page} +\begin{patch}{ugTypesConvertPagePatch1} +\begin{paste}{ugTypesConvertPageFull1}{ugTypesConvertPageEmpty1} +\pastebutton{ugTypesConvertPageFull1}{\hidepaste} +\tab{5}\spadcommand{3} +\indentrel{3}\begin{verbatim} + (1) 3 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesConvertPageEmpty1} +\begin{paste}{ugTypesConvertPageEmpty1}{ugTypesConvertPagePatch1} +\pastebutton{ugTypesConvertPageEmpty1}{\showpaste} +\tab{5}\spadcommand{3} +\end{paste}\end{patch} + +\begin{patch}{ugTypesConvertPagePatch2} +\begin{paste}{ugTypesConvertPageFull2}{ugTypesConvertPageEmpty2} +\pastebutton{ugTypesConvertPageFull2}{\hidepaste} +\tab{5}\spadcommand{3 :: Fraction Integer} +\indentrel{3}\begin{verbatim} + (2) 3 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesConvertPageEmpty2} +\begin{paste}{ugTypesConvertPageEmpty2}{ugTypesConvertPagePatch2} +\pastebutton{ugTypesConvertPageEmpty2}{\showpaste} +\tab{5}\spadcommand{3 :: Fraction Integer} +\end{paste}\end{patch} + +\begin{patch}{ugTypesConvertPagePatch3} +\begin{paste}{ugTypesConvertPageFull3}{ugTypesConvertPageEmpty3} +\pastebutton{ugTypesConvertPageFull3}{\hidepaste} +\tab{5}\spadcommand{m : SquareMatrix(2,POLY COMPLEX FRAC INT)\bound{mdec }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesConvertPageEmpty3} +\begin{paste}{ugTypesConvertPageEmpty3}{ugTypesConvertPagePatch3} +\pastebutton{ugTypesConvertPageEmpty3}{\showpaste} +\tab{5}\spadcommand{m : SquareMatrix(2,POLY COMPLEX FRAC INT)\bound{mdec }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesConvertPagePatch4} +\begin{paste}{ugTypesConvertPageFull4}{ugTypesConvertPageEmpty4} +\pastebutton{ugTypesConvertPageFull4}{\hidepaste} +\tab{5}\spadcommand{m := matrix [[x-3/4*\%i,z*y**2+1/2],[3/7*\%i*y**4 - x,12-\%i*9/5]]\bound{m }\free{mdec }} +\indentrel{3}\begin{verbatim} + Ú 3 2 1 ¿ + ³ x - Ä %i y z + Ä ³ + ³ 4 2 ³ + (4) ³ ³ + ³3 4 9 ³ + ³Ä %i y - x 12 - Ä %i³ + À7 5 Ù +Type: SquareMatrix(2,Polynomial Complex Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesConvertPageEmpty4} +\begin{paste}{ugTypesConvertPageEmpty4}{ugTypesConvertPagePatch4} +\pastebutton{ugTypesConvertPageEmpty4}{\showpaste} +\tab{5}\spadcommand{m := matrix [[x-3/4*\%i,z*y**2+1/2],[3/7*\%i*y**4 - x,12-\%i*9/5]]\bound{m }\free{mdec }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesConvertPagePatch5} +\begin{paste}{ugTypesConvertPageFull5}{ugTypesConvertPageEmpty5} +\pastebutton{ugTypesConvertPageFull5}{\hidepaste} +\tab{5}\spadcommand{m1 := m :: SquareMatrix(2,POLY FRAC COMPLEX INT)\free{m }\bound{m1 }} +\indentrel{3}\begin{verbatim} + Ú 3%i 2 1 ¿ + ³ x - ÄÄÄ y z + Ä ³ + ³ 4 2 ³ + (5) ³ ³ + ³3%i 4 60 - 9%i³ + ³ÄÄÄ y - x ÄÄÄÄÄÄÄij + À 7 5 Ù +Type: SquareMatrix(2,Polynomial Fraction Complex Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesConvertPageEmpty5} +\begin{paste}{ugTypesConvertPageEmpty5}{ugTypesConvertPagePatch5} +\pastebutton{ugTypesConvertPageEmpty5}{\showpaste} +\tab{5}\spadcommand{m1 := m :: SquareMatrix(2,POLY FRAC COMPLEX INT)\free{m }\bound{m1 }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesConvertPagePatch6} +\begin{paste}{ugTypesConvertPageFull6}{ugTypesConvertPageEmpty6} +\pastebutton{ugTypesConvertPageFull6}{\hidepaste} +\tab{5}\spadcommand{m2 := m1 :: SquareMatrix(2,FRAC POLY COMPLEX INT)\free{m1 }\bound{m2 }} +\indentrel{3}\begin{verbatim} + Ú 2 ¿ + ³ 4x - 3%i 2y z + 1³ + ³ ÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄij + ³ 4 2 ³ + (6) ³ ³ + ³ 4 ³ + ³3%i y - 7x 60 - 9%i³ + ³ÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄij + À 7 5 Ù +Type: SquareMatrix(2,Fraction Polynomial Complex Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesConvertPageEmpty6} +\begin{paste}{ugTypesConvertPageEmpty6}{ugTypesConvertPagePatch6} +\pastebutton{ugTypesConvertPageEmpty6}{\showpaste} +\tab{5}\spadcommand{m2 := m1 :: SquareMatrix(2,FRAC POLY COMPLEX INT)\free{m1 }\bound{m2 }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesConvertPagePatch7} +\begin{paste}{ugTypesConvertPageFull7}{ugTypesConvertPageEmpty7} +\pastebutton{ugTypesConvertPageFull7}{\hidepaste} +\tab{5}\spadcommand{m3 := m2 :: SquareMatrix(2,FRAC COMPLEX POLY INT)\free{m2 }\bound{m3 }} +\indentrel{3}\begin{verbatim} + Ú 2 ¿ + ³ 4x - 3%i 2y z + 1³ + ³ ÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄij + ³ 4 2 ³ + (7) ³ ³ + ³ 4 ³ + ³- 7x + 3y %i 60 - 9%i³ + ³ÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄij + À 7 5 Ù +Type: SquareMatrix(2,Fraction Complex Polynomial Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesConvertPageEmpty7} +\begin{paste}{ugTypesConvertPageEmpty7}{ugTypesConvertPagePatch7} +\pastebutton{ugTypesConvertPageEmpty7}{\showpaste} +\tab{5}\spadcommand{m3 := m2 :: SquareMatrix(2,FRAC COMPLEX POLY INT)\free{m2 }\bound{m3 }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesConvertPagePatch8} +\begin{paste}{ugTypesConvertPageFull8}{ugTypesConvertPageEmpty8} +\pastebutton{ugTypesConvertPageFull8}{\hidepaste} +\tab{5}\spadcommand{m :: SquareMatrix(2,FRAC COMPLEX POLY INT)\free{m }} +\indentrel{3}\begin{verbatim} + Ú 2 ¿ + ³ 4x - 3%i 2y z + 1³ + ³ ÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄij + ³ 4 2 ³ + (8) ³ ³ + ³ 4 ³ + ³- 7x + 3y %i 60 - 9%i³ + ³ÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄij + À 7 5 Ù +Type: SquareMatrix(2,Fraction Complex Polynomial Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesConvertPageEmpty8} +\begin{paste}{ugTypesConvertPageEmpty8}{ugTypesConvertPagePatch8} +\pastebutton{ugTypesConvertPageEmpty8}{\showpaste} +\tab{5}\spadcommand{m :: SquareMatrix(2,FRAC COMPLEX POLY INT)\free{m }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesConvertPagePatch9} +\begin{paste}{ugTypesConvertPageFull9}{ugTypesConvertPageEmpty9} +\pastebutton{ugTypesConvertPageFull9}{\hidepaste} +\tab{5}\spadcommand{m\free{m }} +\indentrel{3}\begin{verbatim} + Ú 3 2 1 ¿ + ³ x - Ä %i y z + Ä ³ + ³ 4 2 ³ + (9) ³ ³ + ³3 4 9 ³ + ³Ä %i y - x 12 - Ä %i³ + À7 5 Ù +Type: SquareMatrix(2,Polynomial Complex Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesConvertPageEmpty9} +\begin{paste}{ugTypesConvertPageEmpty9}{ugTypesConvertPagePatch9} +\pastebutton{ugTypesConvertPageEmpty9}{\showpaste} +\tab{5}\spadcommand{m\free{m }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesConvertPagePatch10} +\begin{paste}{ugTypesConvertPageFull10}{ugTypesConvertPageEmpty10} +\pastebutton{ugTypesConvertPageFull10}{\hidepaste} +\tab{5}\spadcommand{m :: POLY SquareMatrix(2,COMPLEX FRAC INT)\free{m }} +\indentrel{3}\begin{verbatim} + (10) + Ú 0 0¿ + Ú0 1¿ 2 ³ ³ 4 Ú 1 0¿ + ³ ³y z + ³3 ³y + ³ ³x + À0 0Ù ³Ä %i 0³ À- 1 0Ù + À7 Ù + + + Ú 3 1 ¿ + ³- Ä %i Ä ³ + ³ 4 2 ³ + ³ ³ + ³ 9 ³ + ³ 0 12 - Ä %i³ + À 5 Ù +Type: Polynomial SquareMatrix(2,Complex Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesConvertPageEmpty10} +\begin{paste}{ugTypesConvertPageEmpty10}{ugTypesConvertPagePatch10} +\pastebutton{ugTypesConvertPageEmpty10}{\showpaste} +\tab{5}\spadcommand{m :: POLY SquareMatrix(2,COMPLEX FRAC INT)\free{m }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesConvertPagePatch11} +\begin{paste}{ugTypesConvertPageFull11}{ugTypesConvertPageEmpty11} +\pastebutton{ugTypesConvertPageFull11}{\hidepaste} +\tab{5}\spadcommand{m :: POLY ?\free{m }} +\indentrel{3}\begin{verbatim} + (11) + Ú 0 0¿ + Ú0 1¿ 2 ³ ³ 4 Ú 1 0¿ + ³ ³y z + ³3 ³y + ³ ³x + À0 0Ù ³Ä %i 0³ À- 1 0Ù + À7 Ù + + + Ú 3 1 ¿ + ³- Ä %i Ä ³ + ³ 4 2 ³ + ³ ³ + ³ 9 ³ + ³ 0 12 - Ä %i³ + À 5 Ù +Type: Polynomial SquareMatrix(2,Complex Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesConvertPageEmpty11} +\begin{paste}{ugTypesConvertPageEmpty11}{ugTypesConvertPagePatch11} +\pastebutton{ugTypesConvertPageEmpty11}{\showpaste} +\tab{5}\spadcommand{m :: POLY ?\free{m }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesConvertPagePatch12} +\begin{paste}{ugTypesConvertPageFull12}{ugTypesConvertPageEmpty12} +\pastebutton{ugTypesConvertPageFull12}{\hidepaste} +\tab{5}\spadcommand{m :: POLY SquareMatrix(2,FRAC ?)\free{m }} +\indentrel{3}\begin{verbatim} + (12) + Ú 3%i 1 ¿ + Ú 0 0¿ ³- ÄÄÄ Ä ³ + Ú0 1¿ 2 ³ ³ 4 Ú 1 0¿ ³ 4 2 ³ + ³ ³y z + ³3%i ³y + ³ ³x + ³ ³ + À0 0Ù ³ÄÄÄ 0³ À- 1 0Ù ³ 60 - 9%i³ + À 7 Ù ³ 0 ÄÄÄÄÄÄÄij + À 5 Ù +Type: Polynomial SquareMatrix(2,Fraction Complex Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesConvertPageEmpty12} +\begin{paste}{ugTypesConvertPageEmpty12}{ugTypesConvertPagePatch12} +\pastebutton{ugTypesConvertPageEmpty12}{\showpaste} +\tab{5}\spadcommand{m :: POLY SquareMatrix(2,FRAC ?)\free{m }} +\end{paste}\end{patch} + @ \pagehead{ugTypesSubdomainsPage}{ug02.ht}{Subdomains Again} <>= @@ -27375,6 +75414,216 @@ Axiom trusts you that the value is of the specified type. \autobuttons \end{page} +\begin{patch}{ugTypesSubdomainsPagePatch1} +\begin{paste}{ugTypesSubdomainsPageFull1}{ugTypesSubdomainsPageEmpty1} +\pastebutton{ugTypesSubdomainsPageFull1}{\hidepaste} +\tab{5}\spadcommand{5} +\indentrel{3}\begin{verbatim} + (1) 5 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesSubdomainsPageEmpty1} +\begin{paste}{ugTypesSubdomainsPageEmpty1}{ugTypesSubdomainsPagePatch1} +\pastebutton{ugTypesSubdomainsPageEmpty1}{\showpaste} +\tab{5}\spadcommand{5} +\end{paste}\end{patch} + +\begin{patch}{ugTypesSubdomainsPagePatch2} +\begin{paste}{ugTypesSubdomainsPageFull2}{ugTypesSubdomainsPageEmpty2} +\pastebutton{ugTypesSubdomainsPageFull2}{\hidepaste} +\tab{5}\spadcommand{0} +\indentrel{3}\begin{verbatim} + (2) 0 + Type: NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesSubdomainsPageEmpty2} +\begin{paste}{ugTypesSubdomainsPageEmpty2}{ugTypesSubdomainsPagePatch2} +\pastebutton{ugTypesSubdomainsPageEmpty2}{\showpaste} +\tab{5}\spadcommand{0} +\end{paste}\end{patch} + +\begin{patch}{ugTypesSubdomainsPagePatch3} +\begin{paste}{ugTypesSubdomainsPageFull3}{ugTypesSubdomainsPageEmpty3} +\pastebutton{ugTypesSubdomainsPageFull3}{\hidepaste} +\tab{5}\spadcommand{-5} +\indentrel{3}\begin{verbatim} + (3) - 5 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesSubdomainsPageEmpty3} +\begin{paste}{ugTypesSubdomainsPageEmpty3}{ugTypesSubdomainsPagePatch3} +\pastebutton{ugTypesSubdomainsPageEmpty3}{\showpaste} +\tab{5}\spadcommand{-5} +\end{paste}\end{patch} + +\begin{patch}{ugTypesSubdomainsPagePatch4} +\begin{paste}{ugTypesSubdomainsPageFull4}{ugTypesSubdomainsPageEmpty4} +\pastebutton{ugTypesSubdomainsPageFull4}{\hidepaste} +\tab{5}\spadcommand{(-2) - (-3)} +\indentrel{3}\begin{verbatim} + (4) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesSubdomainsPageEmpty4} +\begin{paste}{ugTypesSubdomainsPageEmpty4}{ugTypesSubdomainsPagePatch4} +\pastebutton{ugTypesSubdomainsPageEmpty4}{\showpaste} +\tab{5}\spadcommand{(-2) - (-3)} +\end{paste}\end{patch} + +\begin{patch}{ugTypesSubdomainsPagePatch5} +\begin{paste}{ugTypesSubdomainsPageFull5}{ugTypesSubdomainsPageEmpty5} +\pastebutton{ugTypesSubdomainsPageFull5}{\hidepaste} +\tab{5}\spadcommand{0 :: Integer} +\indentrel{3}\begin{verbatim} + (5) 0 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesSubdomainsPageEmpty5} +\begin{paste}{ugTypesSubdomainsPageEmpty5}{ugTypesSubdomainsPagePatch5} +\pastebutton{ugTypesSubdomainsPageEmpty5}{\showpaste} +\tab{5}\spadcommand{0 :: Integer} +\end{paste}\end{patch} + +\begin{patch}{ugTypesSubdomainsPagePatch6} +\begin{paste}{ugTypesSubdomainsPageFull6}{ugTypesSubdomainsPageEmpty6} +\pastebutton{ugTypesSubdomainsPageFull6}{\hidepaste} +\tab{5}\spadcommand{x : NonNegativeInteger := 5} +\indentrel{3}\begin{verbatim} + (6) 5 + Type: NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesSubdomainsPageEmpty6} +\begin{paste}{ugTypesSubdomainsPageEmpty6}{ugTypesSubdomainsPagePatch6} +\pastebutton{ugTypesSubdomainsPageEmpty6}{\showpaste} +\tab{5}\spadcommand{x : NonNegativeInteger := 5} +\end{paste}\end{patch} + +\begin{patch}{ugTypesSubdomainsPagePatch7} +\begin{paste}{ugTypesSubdomainsPageFull7}{ugTypesSubdomainsPageEmpty7} +\pastebutton{ugTypesSubdomainsPageFull7}{\hidepaste} +\tab{5}\spadcommand{2 ** 2} +\indentrel{3}\begin{verbatim} + (7) 4 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesSubdomainsPageEmpty7} +\begin{paste}{ugTypesSubdomainsPageEmpty7}{ugTypesSubdomainsPagePatch7} +\pastebutton{ugTypesSubdomainsPageEmpty7}{\showpaste} +\tab{5}\spadcommand{2 ** 2} +\end{paste}\end{patch} + +\begin{patch}{ugTypesSubdomainsPagePatch8} +\begin{paste}{ugTypesSubdomainsPageFull8}{ugTypesSubdomainsPageEmpty8} +\pastebutton{ugTypesSubdomainsPageFull8}{\hidepaste} +\tab{5}\spadcommand{2 ** (-2)} +\indentrel{3}\begin{verbatim} + 1 + (8) Ä + 4 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesSubdomainsPageEmpty8} +\begin{paste}{ugTypesSubdomainsPageEmpty8}{ugTypesSubdomainsPagePatch8} +\pastebutton{ugTypesSubdomainsPageEmpty8}{\showpaste} +\tab{5}\spadcommand{2 ** (-2)} +\end{paste}\end{patch} + +\begin{patch}{ugTypesSubdomainsPagePatch9} +\begin{paste}{ugTypesSubdomainsPageFull9}{ugTypesSubdomainsPageEmpty9} +\pastebutton{ugTypesSubdomainsPageFull9}{\hidepaste} +\tab{5}\spadcommand{[10**i for i in 2..5]} +\indentrel{3}\begin{verbatim} + (9) [100,1000,10000,100000] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesSubdomainsPageEmpty9} +\begin{paste}{ugTypesSubdomainsPageEmpty9}{ugTypesSubdomainsPagePatch9} +\pastebutton{ugTypesSubdomainsPageEmpty9}{\showpaste} +\tab{5}\spadcommand{[10**i for i in 2..5]} +\end{paste}\end{patch} + +\begin{patch}{ugTypesSubdomainsPagePatch10} +\begin{paste}{ugTypesSubdomainsPageFull10}{ugTypesSubdomainsPageEmpty10} +\pastebutton{ugTypesSubdomainsPageFull10}{\hidepaste} +\tab{5}\spadcommand{[10**(i-1) for i in 2..5]} +\indentrel{3}\begin{verbatim} + (10) [10,100,1000,10000] + Type: List Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesSubdomainsPageEmpty10} +\begin{paste}{ugTypesSubdomainsPageEmpty10}{ugTypesSubdomainsPagePatch10} +\pastebutton{ugTypesSubdomainsPageEmpty10}{\showpaste} +\tab{5}\spadcommand{[10**(i-1) for i in 2..5]} +\end{paste}\end{patch} + +\begin{patch}{ugTypesSubdomainsPagePatch11} +\begin{paste}{ugTypesSubdomainsPageFull11}{ugTypesSubdomainsPageEmpty11} +\pastebutton{ugTypesSubdomainsPageFull11}{\hidepaste} +\tab{5}\spadcommand{[10**((i-1) :: PI) for i in 2..5]} +\indentrel{3}\begin{verbatim} + (11) [10,100,1000,10000] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesSubdomainsPageEmpty11} +\begin{paste}{ugTypesSubdomainsPageEmpty11}{ugTypesSubdomainsPagePatch11} +\pastebutton{ugTypesSubdomainsPageEmpty11}{\showpaste} +\tab{5}\spadcommand{[10**((i-1) :: PI) for i in 2..5]} +\end{paste}\end{patch} + +\begin{patch}{ugTypesSubdomainsPagePatch12} +\begin{paste}{ugTypesSubdomainsPageFull12}{ugTypesSubdomainsPageEmpty12} +\pastebutton{ugTypesSubdomainsPageFull12}{\hidepaste} +\tab{5}\spadcommand{[10**((i-1) pretend PI) for i in 2..5]} +\indentrel{3}\begin{verbatim} + (12) [10,100,1000,10000] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesSubdomainsPageEmpty12} +\begin{paste}{ugTypesSubdomainsPageEmpty12}{ugTypesSubdomainsPagePatch12} +\pastebutton{ugTypesSubdomainsPageEmpty12}{\showpaste} +\tab{5}\spadcommand{[10**((i-1) pretend PI) for i in 2..5]} +\end{paste}\end{patch} + +\begin{patch}{ugTypesSubdomainsPagePatch13} +\begin{paste}{ugTypesSubdomainsPageFull13}{ugTypesSubdomainsPageEmpty13} +\pastebutton{ugTypesSubdomainsPageFull13}{\hidepaste} +\tab{5}\spadcommand{(2/3) pretend Complex Integer} +\indentrel{3}\begin{verbatim} + (13) 2 + 3%i + Type: Complex Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesSubdomainsPageEmpty13} +\begin{paste}{ugTypesSubdomainsPageEmpty13}{ugTypesSubdomainsPagePatch13} +\pastebutton{ugTypesSubdomainsPageEmpty13}{\showpaste} +\tab{5}\spadcommand{(2/3) pretend Complex Integer} +\end{paste}\end{patch} + @ \pagehead{ugTypesPkgCallPage}{ug02.ht}{Package Calling and Target Types} \pageto{notitle}{ugTypesDeclarePage} @@ -27577,6 +75826,254 @@ We can just say this. \autobuttons \end{page} +\begin{patch}{ugTypesPkgCallPagePatch1} +\begin{paste}{ugTypesPkgCallPageFull1}{ugTypesPkgCallPageEmpty1} +\pastebutton{ugTypesPkgCallPageFull1}{\hidepaste} +\tab{5}\spadcommand{2/3} +\indentrel{3}\begin{verbatim} + 2 + (1) Ä + 3 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPageEmpty1} +\begin{paste}{ugTypesPkgCallPageEmpty1}{ugTypesPkgCallPagePatch1} +\pastebutton{ugTypesPkgCallPageEmpty1}{\showpaste} +\tab{5}\spadcommand{2/3} +\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPagePatch2} +\begin{paste}{ugTypesPkgCallPageFull2}{ugTypesPkgCallPageEmpty2} +\pastebutton{ugTypesPkgCallPageFull2}{\hidepaste} +\tab{5}\spadcommand{(2/3)$Float} +\indentrel{3}\begin{verbatim} + (2) 0.6666666666 6666666667 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPageEmpty2} +\begin{paste}{ugTypesPkgCallPageEmpty2}{ugTypesPkgCallPagePatch2} +\pastebutton{ugTypesPkgCallPageEmpty2}{\showpaste} +\tab{5}\spadcommand{(2/3)$Float} +\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPagePatch3} +\begin{paste}{ugTypesPkgCallPageFull3}{ugTypesPkgCallPageEmpty3} +\pastebutton{ugTypesPkgCallPageFull3}{\hidepaste} +\tab{5}\spadcommand{(2/3)$Fraction(Complex Integer)} +\indentrel{3}\begin{verbatim} + 2 + (3) Ä + 3 + Type: Fraction Complex Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPageEmpty3} +\begin{paste}{ugTypesPkgCallPageEmpty3}{ugTypesPkgCallPagePatch3} +\pastebutton{ugTypesPkgCallPageEmpty3}{\showpaste} +\tab{5}\spadcommand{(2/3)$Fraction(Complex Integer)} +\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPagePatch4} +\begin{paste}{ugTypesPkgCallPageFull4}{ugTypesPkgCallPageEmpty4} +\pastebutton{ugTypesPkgCallPageFull4}{\hidepaste} +\tab{5}\spadcommand{(2/3)@Float} +\indentrel{3}\begin{verbatim} + (4) 0.6666666666 6666666667 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPageEmpty4} +\begin{paste}{ugTypesPkgCallPageEmpty4}{ugTypesPkgCallPagePatch4} +\pastebutton{ugTypesPkgCallPageEmpty4}{\showpaste} +\tab{5}\spadcommand{(2/3)@Float} +\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPagePatch5} +\begin{paste}{ugTypesPkgCallPageFull5}{ugTypesPkgCallPageEmpty5} +\pastebutton{ugTypesPkgCallPageFull5}{\hidepaste} +\tab{5}\spadcommand{(2 + 3)@String} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPageEmpty5} +\begin{paste}{ugTypesPkgCallPageEmpty5}{ugTypesPkgCallPagePatch5} +\pastebutton{ugTypesPkgCallPageEmpty5}{\showpaste} +\tab{5}\spadcommand{(2 + 3)@String} +\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPagePatch6} +\begin{paste}{ugTypesPkgCallPageFull6}{ugTypesPkgCallPageEmpty6} +\pastebutton{ugTypesPkgCallPageFull6}{\hidepaste} +\tab{5}\spadcommand{(2 + 3)$String} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPageEmpty6} +\begin{paste}{ugTypesPkgCallPageEmpty6}{ugTypesPkgCallPagePatch6} +\pastebutton{ugTypesPkgCallPageEmpty6}{\showpaste} +\tab{5}\spadcommand{(2 + 3)$String} +\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPagePatch7} +\begin{paste}{ugTypesPkgCallPageFull7}{ugTypesPkgCallPageEmpty7} +\pastebutton{ugTypesPkgCallPageFull7}{\hidepaste} +\tab{5}\spadcommand{((x + y * \%i)**2)@(Complex Polynomial Integer)} +\indentrel{3}\begin{verbatim} + 2 2 + (5) - y + x + 2x y %i + Type: Complex Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPageEmpty7} +\begin{paste}{ugTypesPkgCallPageEmpty7}{ugTypesPkgCallPagePatch7} +\pastebutton{ugTypesPkgCallPageEmpty7}{\showpaste} +\tab{5}\spadcommand{((x + y * \%i)**2)@(Complex Polynomial Integer)} +\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPagePatch8} +\begin{paste}{ugTypesPkgCallPageFull8}{ugTypesPkgCallPageEmpty8} +\pastebutton{ugTypesPkgCallPageFull8}{\hidepaste} +\tab{5}\spadcommand{((x + y * \%i)**2)@(Polynomial Complex Integer)} +\indentrel{3}\begin{verbatim} + 2 2 + (6) - y + 2%i x y + x + Type: Polynomial Complex Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPageEmpty8} +\begin{paste}{ugTypesPkgCallPageEmpty8}{ugTypesPkgCallPagePatch8} +\pastebutton{ugTypesPkgCallPageEmpty8}{\showpaste} +\tab{5}\spadcommand{((x + y * \%i)**2)@(Polynomial Complex Integer)} +\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPagePatch9} +\begin{paste}{ugTypesPkgCallPageFull9}{ugTypesPkgCallPageEmpty9} +\pastebutton{ugTypesPkgCallPageFull9}{\hidepaste} +\tab{5}\spadcommand{(x + y * \%i)**2\bound{prevC }} +\indentrel{3}\begin{verbatim} + 2 2 + (7) - y + 2%i x y + x + Type: Polynomial Complex Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPageEmpty9} +\begin{paste}{ugTypesPkgCallPageEmpty9}{ugTypesPkgCallPagePatch9} +\pastebutton{ugTypesPkgCallPageEmpty9}{\showpaste} +\tab{5}\spadcommand{(x + y * \%i)**2\bound{prevC }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPagePatch10} +\begin{paste}{ugTypesPkgCallPageFull10}{ugTypesPkgCallPageEmpty10} +\pastebutton{ugTypesPkgCallPageFull10}{\hidepaste} +\tab{5}\spadcommand{\% :: Complex ?\free{prevC }} +\indentrel{3}\begin{verbatim} + 2 2 + (8) - y + x + 2x y %i + Type: Complex Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPageEmpty10} +\begin{paste}{ugTypesPkgCallPageEmpty10}{ugTypesPkgCallPagePatch10} +\pastebutton{ugTypesPkgCallPageEmpty10}{\showpaste} +\tab{5}\spadcommand{\% :: Complex ?\free{prevC }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPagePatch11} +\begin{paste}{ugTypesPkgCallPageFull11}{ugTypesPkgCallPageEmpty11} +\pastebutton{ugTypesPkgCallPageFull11}{\hidepaste} +\tab{5}\spadcommand{h := matrix [[8,6],[-4,9]]\bound{h }} +\indentrel{3}\begin{verbatim} + Ú 8 6¿ + (9) ³ ³ + À- 4 9Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPageEmpty11} +\begin{paste}{ugTypesPkgCallPageEmpty11}{ugTypesPkgCallPagePatch11} +\pastebutton{ugTypesPkgCallPageEmpty11}{\showpaste} +\tab{5}\spadcommand{h := matrix [[8,6],[-4,9]]\bound{h }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPagePatch12} +\begin{paste}{ugTypesPkgCallPageFull12}{ugTypesPkgCallPageEmpty12} +\pastebutton{ugTypesPkgCallPageFull12}{\hidepaste} +\tab{5}\spadcommand{map(inv$Fraction(Integer),h)\free{h }} +\indentrel{3}\begin{verbatim} + Ú 1 1¿ + ³ Ä Ä³ + ³ 8 6³ + (10) ³ ³ + ³ 1 1³ + ³- Ä Ä³ + À 4 9Ù + Type: Matrix Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPageEmpty12} +\begin{paste}{ugTypesPkgCallPageEmpty12}{ugTypesPkgCallPagePatch12} +\pastebutton{ugTypesPkgCallPageEmpty12}{\showpaste} +\tab{5}\spadcommand{map(inv$Fraction(Integer),h)\free{h }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPagePatch13} +\begin{paste}{ugTypesPkgCallPageFull13}{ugTypesPkgCallPageEmpty13} +\pastebutton{ugTypesPkgCallPageFull13}{\hidepaste} +\tab{5}\spadcommand{map(inv$FRAC(INT),h)\free{h }\bound{h1 }} +\indentrel{3}\begin{verbatim} + Ú 1 1¿ + ³ Ä Ä³ + ³ 8 6³ + (11) ³ ³ + ³ 1 1³ + ³- Ä Ä³ + À 4 9Ù + Type: Matrix Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPageEmpty13} +\begin{paste}{ugTypesPkgCallPageEmpty13}{ugTypesPkgCallPagePatch13} +\pastebutton{ugTypesPkgCallPageEmpty13}{\showpaste} +\tab{5}\spadcommand{map(inv$FRAC(INT),h)\free{h }\bound{h1 }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPagePatch14} +\begin{paste}{ugTypesPkgCallPageFull14}{ugTypesPkgCallPageEmpty14} +\pastebutton{ugTypesPkgCallPageFull14}{\hidepaste} +\tab{5}\spadcommand{map(inv,h)\free{h }} +\indentrel{3}\begin{verbatim} + Ú 1 1¿ + ³ Ä Ä³ + ³ 8 6³ + (12) ³ ³ + ³ 1 1³ + ³- Ä Ä³ + À 4 9Ù + Type: Matrix Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesPkgCallPageEmpty14} +\begin{paste}{ugTypesPkgCallPageEmpty14}{ugTypesPkgCallPagePatch14} +\pastebutton{ugTypesPkgCallPageEmpty14}{\showpaste} +\tab{5}\spadcommand{map(inv,h)\free{h }} +\end{paste}\end{patch} + @ \pagehead{ugTypesResolvePage}{ug02.ht}{Resolving Types} <>= @@ -27652,6 +76149,84 @@ little help to analyze quickly and perform your computations. \autobuttons \end{page} +\begin{patch}{ugTypesResolvePagePatch1} +\begin{paste}{ugTypesResolvePageFull1}{ugTypesResolvePageEmpty1} +\pastebutton{ugTypesResolvePageFull1}{\hidepaste} +\tab{5}\spadcommand{x} +\indentrel{3}\begin{verbatim} + (1) x + Type: Variable x +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesResolvePageEmpty1} +\begin{paste}{ugTypesResolvePageEmpty1}{ugTypesResolvePagePatch1} +\pastebutton{ugTypesResolvePageEmpty1}{\showpaste} +\tab{5}\spadcommand{x} +\end{paste}\end{patch} + +\begin{patch}{ugTypesResolvePagePatch2} +\begin{paste}{ugTypesResolvePageFull2}{ugTypesResolvePageEmpty2} +\pastebutton{ugTypesResolvePageFull2}{\hidepaste} +\tab{5}\spadcommand{1} +\indentrel{3}\begin{verbatim} + (2) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesResolvePageEmpty2} +\begin{paste}{ugTypesResolvePageEmpty2}{ugTypesResolvePagePatch2} +\pastebutton{ugTypesResolvePageEmpty2}{\showpaste} +\tab{5}\spadcommand{1} +\end{paste}\end{patch} + +\begin{patch}{ugTypesResolvePagePatch3} +\begin{paste}{ugTypesResolvePageFull3}{ugTypesResolvePageEmpty3} +\pastebutton{ugTypesResolvePageFull3}{\hidepaste} +\tab{5}\spadcommand{x + 1} +\indentrel{3}\begin{verbatim} + (3) x + 1 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesResolvePageEmpty3} +\begin{paste}{ugTypesResolvePageEmpty3}{ugTypesResolvePagePatch3} +\pastebutton{ugTypesResolvePageEmpty3}{\showpaste} +\tab{5}\spadcommand{x + 1} +\end{paste}\end{patch} + +\begin{patch}{ugTypesResolvePagePatch4} +\begin{paste}{ugTypesResolvePageFull4}{ugTypesResolvePageEmpty4} +\pastebutton{ugTypesResolvePageFull4}{\hidepaste} +\tab{5}\spadcommand{["string",3.14159]} +\indentrel{3}\begin{verbatim} + (4) ["string",3.14159] + Type: List Any +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesResolvePageEmpty4} +\begin{paste}{ugTypesResolvePageEmpty4}{ugTypesResolvePagePatch4} +\pastebutton{ugTypesResolvePageEmpty4}{\showpaste} +\tab{5}\spadcommand{["string",3.14159]} +\end{paste}\end{patch} + +\begin{patch}{ugTypesResolvePagePatch5} +\begin{paste}{ugTypesResolvePageFull5}{ugTypesResolvePageEmpty5} +\pastebutton{ugTypesResolvePageFull5}{\hidepaste} +\tab{5}\spadcommand{"string" + 3.14159} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesResolvePageEmpty5} +\begin{paste}{ugTypesResolvePageEmpty5}{ugTypesResolvePagePatch5} +\pastebutton{ugTypesResolvePageEmpty5}{\showpaste} +\tab{5}\spadcommand{"string" + 3.14159} +\end{paste}\end{patch} + @ \pagehead{ugTypesExposePage}{ug02.ht}{Exposing Domains and Packages} \pageto{notitle}{ugTypesPkgCallPage} @@ -27793,6 +76368,66 @@ add or drop constructors from view. \autobuttons \end{page} +\begin{patch}{ugTypesExposePagePatch1} +\begin{paste}{ugTypesExposePageFull1}{ugTypesExposePageEmpty1} +\pastebutton{ugTypesExposePageFull1}{\hidepaste} +\tab{5}\spadcommand{x + x} +\indentrel{3}\begin{verbatim} + (1) 2x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesExposePageEmpty1} +\begin{paste}{ugTypesExposePageEmpty1}{ugTypesExposePagePatch1} +\pastebutton{ugTypesExposePageEmpty1}{\showpaste} +\tab{5}\spadcommand{x + x} +\end{paste}\end{patch} + +\begin{patch}{ugTypesExposePagePatch2} +\begin{paste}{ugTypesExposePageFull2}{ugTypesExposePageEmpty2} +\pastebutton{ugTypesExposePageFull2}{\hidepaste} +\tab{5}\spadcommand{)set expose add constructor OutputForm\bound{setexposeadd }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesExposePageEmpty2} +\begin{paste}{ugTypesExposePageEmpty2}{ugTypesExposePagePatch2} +\pastebutton{ugTypesExposePageEmpty2}{\showpaste} +\tab{5}\spadcommand{)set expose add constructor OutputForm\bound{setexposeadd }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesExposePagePatch3} +\begin{paste}{ugTypesExposePageFull3}{ugTypesExposePageEmpty3} +\pastebutton{ugTypesExposePageFull3}{\hidepaste} +\tab{5}\spadcommand{x + x\free{setexposeadd }} +\indentrel{3}\begin{verbatim} + (2) x + x + Type: OutputForm +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesExposePageEmpty3} +\begin{paste}{ugTypesExposePageEmpty3}{ugTypesExposePagePatch3} +\pastebutton{ugTypesExposePageEmpty3}{\showpaste} +\tab{5}\spadcommand{x + x\free{setexposeadd }} +\end{paste}\end{patch} + +\begin{patch}{ugTypesExposePagePatch4} +\begin{paste}{ugTypesExposePageFull4}{ugTypesExposePageEmpty4} +\pastebutton{ugTypesExposePageFull4}{\hidepaste} +\tab{5}\spadcommand{)set expose drop constructor OutputForm\bound{setexposedrop }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugTypesExposePageEmpty4} +\begin{paste}{ugTypesExposePageEmpty4}{ugTypesExposePagePatch4} +\pastebutton{ugTypesExposePageEmpty4}{\showpaste} +\tab{5}\spadcommand{)set expose drop constructor OutputForm\bound{setexposedrop }} +\end{paste}\end{patch} + @ \pagehead{ugAvailSnoopPage}{ug02.ht}{Commands for Snooping} \pageto{notitle}{ugBrowsePage} @@ -27871,6 +76506,104 @@ for more information on function types. \autobuttons \end{page} +\begin{patch}{ugAvailSnoopPagePatch1} +\begin{paste}{ugAvailSnoopPageFull1}{ugAvailSnoopPageEmpty1} +\pastebutton{ugAvailSnoopPageFull1}{\hidepaste} +\tab{5}\spadcommand{)what operation complex} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugAvailSnoopPageEmpty1} +\begin{paste}{ugAvailSnoopPageEmpty1}{ugAvailSnoopPagePatch1} +\pastebutton{ugAvailSnoopPageEmpty1}{\showpaste} +\tab{5}\spadcommand{)what operation complex} +\end{paste}\end{patch} + +\begin{patch}{ugAvailSnoopPagePatch2} +\begin{paste}{ugAvailSnoopPageFull2}{ugAvailSnoopPageEmpty2} +\pastebutton{ugAvailSnoopPageFull2}{\hidepaste} +\tab{5}\spadcommand{)what domain matrix} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugAvailSnoopPageEmpty2} +\begin{paste}{ugAvailSnoopPageEmpty2}{ugAvailSnoopPagePatch2} +\pastebutton{ugAvailSnoopPageEmpty2}{\showpaste} +\tab{5}\spadcommand{)what domain matrix} +\end{paste}\end{patch} + +\begin{patch}{ugAvailSnoopPagePatch3} +\begin{paste}{ugAvailSnoopPageFull3}{ugAvailSnoopPageEmpty3} +\pastebutton{ugAvailSnoopPageFull3}{\hidepaste} +\tab{5}\spadcommand{)what package gauss} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugAvailSnoopPageEmpty3} +\begin{paste}{ugAvailSnoopPageEmpty3}{ugAvailSnoopPagePatch3} +\pastebutton{ugAvailSnoopPageEmpty3}{\showpaste} +\tab{5}\spadcommand{)what package gauss} +\end{paste}\end{patch} + +\begin{patch}{ugAvailSnoopPagePatch4} +\begin{paste}{ugAvailSnoopPageFull4}{ugAvailSnoopPageEmpty4} +\pastebutton{ugAvailSnoopPageFull4}{\hidepaste} +\tab{5}\spadcommand{)show Any} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugAvailSnoopPageEmpty4} +\begin{paste}{ugAvailSnoopPageEmpty4}{ugAvailSnoopPagePatch4} +\pastebutton{ugAvailSnoopPageEmpty4}{\showpaste} +\tab{5}\spadcommand{)show Any} +\end{paste}\end{patch} + +\begin{patch}{ugAvailSnoopPagePatch5} +\begin{paste}{ugAvailSnoopPageFull5}{ugAvailSnoopPageEmpty5} +\pastebutton{ugAvailSnoopPageFull5}{\hidepaste} +\tab{5}\spadcommand{)display operation complex} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugAvailSnoopPageEmpty5} +\begin{paste}{ugAvailSnoopPageEmpty5}{ugAvailSnoopPagePatch5} +\pastebutton{ugAvailSnoopPageEmpty5}{\showpaste} +\tab{5}\spadcommand{)display operation complex} +\end{paste}\end{patch} + +\begin{patch}{ugAvailSnoopPagePatch6} +\begin{paste}{ugAvailSnoopPageFull6}{ugAvailSnoopPageEmpty6} +\pastebutton{ugAvailSnoopPageFull6}{\hidepaste} +\tab{5}\spadcommand{)abbreviation query COMPCAT} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugAvailSnoopPageEmpty6} +\begin{paste}{ugAvailSnoopPageEmpty6}{ugAvailSnoopPagePatch6} +\pastebutton{ugAvailSnoopPageEmpty6}{\showpaste} +\tab{5}\spadcommand{)abbreviation query COMPCAT} +\end{paste}\end{patch} + +\begin{patch}{ugAvailSnoopPagePatch7} +\begin{paste}{ugAvailSnoopPageFull7}{ugAvailSnoopPageEmpty7} +\pastebutton{ugAvailSnoopPageFull7}{\hidepaste} +\tab{5}\spadcommand{)abbreviation query COMRING} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugAvailSnoopPageEmpty7} +\begin{paste}{ugAvailSnoopPageEmpty7}{ugAvailSnoopPagePatch7} +\pastebutton{ugAvailSnoopPageEmpty7}{\showpaste} +\tab{5}\spadcommand{)abbreviation query COMRING} +\end{paste}\end{patch} + @ \chapter{Users Guide Chapter 3 (ug03.ht)} \pagehead{ugHyperPage}{ug03.ht}{Using Hyperdoc} @@ -28301,6 +77034,40 @@ or issue the Axiom system command \spadsys{)close.} \autobuttons \end{page} +\begin{patch}{ugHyperExamplePagePatch1} +\begin{paste}{ugHyperExamplePageFull1}{ugHyperExamplePageEmpty1} +\pastebutton{ugHyperExamplePageFull1}{\hidepaste} +\tab{5}\spadcommand{a:= x**2 + 1\bound{a }} +\indentrel{3}\begin{verbatim} + 2 + (1) x + 1 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugHyperExamplePageEmpty1} +\begin{paste}{ugHyperExamplePageEmpty1}{ugHyperExamplePagePatch1} +\pastebutton{ugHyperExamplePageEmpty1}{\showpaste} +\tab{5}\spadcommand{a:= x**2 + 1\bound{a }} +\end{paste}\end{patch} + +\begin{patch}{ugHyperExamplePagePatch2} +\begin{paste}{ugHyperExamplePageFull2}{ugHyperExamplePageEmpty2} +\pastebutton{ugHyperExamplePageFull2}{\hidepaste} +\tab{5}\spadcommand{(a - 2)**2\free{a }} +\indentrel{3}\begin{verbatim} + 4 2 + (2) x - 2x + 1 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugHyperExamplePageEmpty2} +\begin{paste}{ugHyperExamplePageEmpty2}{ugHyperExamplePagePatch2} +\pastebutton{ugHyperExamplePageEmpty2}{\showpaste} +\tab{5}\spadcommand{(a - 2)**2\free{a }} +\end{paste}\end{patch} + @ \pagehead{ugHyperResourcesPage}{ug03.ht}{X Window Resources for Hyperdoc} <>= @@ -28615,6 +77382,76 @@ change the FORTRAN line length from its default value of \spad{72}. \autobuttons \end{page} +\begin{patch}{ugInOutOutPagePatch1} +\begin{paste}{ugInOutOutPageFull1}{ugInOutOutPageEmpty1} +\pastebutton{ugInOutOutPageFull1}{\hidepaste} +\tab{5}\spadcommand{)set output fortran linalg} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutOutPageEmpty1} +\begin{paste}{ugInOutOutPageEmpty1}{ugInOutOutPagePatch1} +\pastebutton{ugInOutOutPageEmpty1}{\showpaste} +\tab{5}\spadcommand{)set output fortran linalg} +\end{paste}\end{patch} + +\begin{patch}{ugInOutOutPagePatch2} +\begin{paste}{ugInOutOutPageFull2}{ugInOutOutPageEmpty2} +\pastebutton{ugInOutOutPageFull2}{\hidepaste} +\tab{5}\spadcommand{)set output fortran on} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutOutPageEmpty2} +\begin{paste}{ugInOutOutPageEmpty2}{ugInOutOutPagePatch2} +\pastebutton{ugInOutOutPageEmpty2}{\showpaste} +\tab{5}\spadcommand{)set output fortran on} +\end{paste}\end{patch} + +\begin{patch}{ugInOutOutPagePatch3} +\begin{paste}{ugInOutOutPageFull3}{ugInOutOutPageEmpty3} +\pastebutton{ugInOutOutPageFull3}{\hidepaste} +\tab{5}\spadcommand{)set output fortran console} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutOutPageEmpty3} +\begin{paste}{ugInOutOutPageEmpty3}{ugInOutOutPagePatch3} +\pastebutton{ugInOutOutPageEmpty3}{\showpaste} +\tab{5}\spadcommand{)set output fortran console} +\end{paste}\end{patch} + +\begin{patch}{ugInOutOutPagePatch4} +\begin{paste}{ugInOutOutPageFull4}{ugInOutOutPageEmpty4} +\pastebutton{ugInOutOutPageFull4}{\hidepaste} +\tab{5}\spadcommand{)set output fortran off} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutOutPageEmpty4} +\begin{paste}{ugInOutOutPageEmpty4}{ugInOutOutPagePatch4} +\pastebutton{ugInOutOutPageEmpty4}{\showpaste} +\tab{5}\spadcommand{)set output fortran off} +\end{paste}\end{patch} + +\begin{patch}{ugInOutOutPagePatch5} +\begin{paste}{ugInOutOutPageFull5}{ugInOutOutPageEmpty5} +\pastebutton{ugInOutOutPageFull5}{\hidepaste} +\tab{5}\spadcommand{)system rm linalg.sfort} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutOutPageEmpty5} +\begin{paste}{ugInOutOutPageEmpty5}{ugInOutOutPagePatch5} +\pastebutton{ugInOutOutPageEmpty5}{\showpaste} +\tab{5}\spadcommand{)system rm linalg.sfort} +\end{paste}\end{patch} + @ \pagehead{ugInOutAlgebraPage}{ug04.ht} {Monospace 2D Mathematical Format} @@ -28672,6 +77509,82 @@ to get better looking output. \autobuttons \end{page} +\begin{patch}{ugInOutAlgebraPagePatch1} +\begin{paste}{ugInOutAlgebraPageFull1}{ugInOutAlgebraPageEmpty1} +\pastebutton{ugInOutAlgebraPageFull1}{\hidepaste} +\tab{5}\spadcommand{)set output algebra on\bound{algon }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutAlgebraPageEmpty1} +\begin{paste}{ugInOutAlgebraPageEmpty1}{ugInOutAlgebraPagePatch1} +\pastebutton{ugInOutAlgebraPageEmpty1}{\showpaste} +\tab{5}\spadcommand{)set output algebra on\bound{algon }} +\end{paste}\end{patch} + +\begin{patch}{ugInOutAlgebraPagePatch2} +\begin{paste}{ugInOutAlgebraPageFull2}{ugInOutAlgebraPageEmpty2} +\pastebutton{ugInOutAlgebraPageFull2}{\hidepaste} +\tab{5}\spadcommand{)set output tex off\bound{texoff }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutAlgebraPageEmpty2} +\begin{paste}{ugInOutAlgebraPageEmpty2}{ugInOutAlgebraPagePatch2} +\pastebutton{ugInOutAlgebraPageEmpty2}{\showpaste} +\tab{5}\spadcommand{)set output tex off\bound{texoff }} +\end{paste}\end{patch} + +\begin{patch}{ugInOutAlgebraPagePatch3} +\begin{paste}{ugInOutAlgebraPageFull3}{ugInOutAlgebraPageEmpty3} +\pastebutton{ugInOutAlgebraPageFull3}{\hidepaste} +\tab{5}\spadcommand{matrix [[i*x**i + j*\%i*y**j for i in 1..2] for j in 3..4]\free{algon texoff }} +\indentrel{3}\begin{verbatim} + Ú 3 3 2¿ + ³3%i y + x 3%i y + 2x ³ + (1) ³ ³ + ³ 4 4 2³ + À4%i y + x 4%i y + 2x Ù + Type: Matrix Polynomial Complex Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutAlgebraPageEmpty3} +\begin{paste}{ugInOutAlgebraPageEmpty3}{ugInOutAlgebraPagePatch3} +\pastebutton{ugInOutAlgebraPageEmpty3}{\showpaste} +\tab{5}\spadcommand{matrix [[i*x**i + j*\%i*y**j for i in 1..2] for j in 3..4]\free{algon texoff }} +\end{paste}\end{patch} + +\begin{patch}{ugInOutAlgebraPagePatch4} +\begin{paste}{ugInOutAlgebraPageFull4}{ugInOutAlgebraPageEmpty4} +\pastebutton{ugInOutAlgebraPageFull4}{\hidepaste} +\tab{5}\spadcommand{)set output algebra off} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutAlgebraPageEmpty4} +\begin{paste}{ugInOutAlgebraPageEmpty4}{ugInOutAlgebraPagePatch4} +\pastebutton{ugInOutAlgebraPageEmpty4}{\showpaste} +\tab{5}\spadcommand{)set output algebra off} +\end{paste}\end{patch} + +\begin{patch}{ugInOutAlgebraPagePatch5} +\begin{paste}{ugInOutAlgebraPageFull5}{ugInOutAlgebraPageEmpty5} +\pastebutton{ugInOutAlgebraPageFull5}{\hidepaste} +\tab{5}\spadcommand{)set output tex on} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutAlgebraPageEmpty5} +\begin{paste}{ugInOutAlgebraPageEmpty5}{ugInOutAlgebraPagePatch5} +\pastebutton{ugInOutAlgebraPageEmpty5}{\showpaste} +\tab{5}\spadcommand{)set output tex on} +\end{paste}\end{patch} + @ \pagehead{ugInOutTeXPage}{ug04.ht}{TeX Format} <>= @@ -28730,6 +77643,20 @@ are all standard except for the following definitions: \autobuttons \end{page} +\begin{patch}{ugInOutTeXPagePatch1} +\begin{paste}{ugInOutTeXPageFull1}{ugInOutTeXPageEmpty1} +\pastebutton{ugInOutTeXPageFull1}{\hidepaste} +\tab{5}\spadcommand{)set output tex on\bound{texon }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutTeXPageEmpty1} +\begin{paste}{ugInOutTeXPageEmpty1}{ugInOutTeXPagePatch1} +\pastebutton{ugInOutTeXPageEmpty1}{\showpaste} +\tab{5}\spadcommand{)set output tex on\bound{texon }} +\end{paste}\end{patch} + @ \pagehead{ugInOutScriptPage}{ug04.ht}{IBM Script Formula Format} <>= @@ -28768,6 +77695,34 @@ To turn IBM Script Formula Format output formatting off, issue this. \autobuttons \end{page} +\begin{patch}{ugInOutScriptPagePatch1} +\begin{paste}{ugInOutScriptPageFull1}{ugInOutScriptPageEmpty1} +\pastebutton{ugInOutScriptPageFull1}{\hidepaste} +\tab{5}\spadcommand{)set output script on} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutScriptPageEmpty1} +\begin{paste}{ugInOutScriptPageEmpty1}{ugInOutScriptPagePatch1} +\pastebutton{ugInOutScriptPageEmpty1}{\showpaste} +\tab{5}\spadcommand{)set output script on} +\end{paste}\end{patch} + +\begin{patch}{ugInOutScriptPagePatch2} +\begin{paste}{ugInOutScriptPageFull2}{ugInOutScriptPageEmpty2} +\pastebutton{ugInOutScriptPageFull2}{\hidepaste} +\tab{5}\spadcommand{)set output script off} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutScriptPageEmpty2} +\begin{paste}{ugInOutScriptPageEmpty2}{ugInOutScriptPagePatch2} +\pastebutton{ugInOutScriptPageEmpty2}{\showpaste} +\tab{5}\spadcommand{)set output script off} +\end{paste}\end{patch} + @ \pagehead{ugInOutFortranPage}{ug04.ht}{FORTRAN Format} <>= @@ -28914,6 +77869,312 @@ Look at the code generated for the matrix again. \endscroll \autobuttons \end{page} + +\begin{patch}{ugInOutFortranPagePatch1} +\begin{paste}{ugInOutFortranPageFull1}{ugInOutFortranPageEmpty1} +\pastebutton{ugInOutFortranPageFull1}{\hidepaste} +\tab{5}\spadcommand{)set output fortran on\bound{forton }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPageEmpty1} +\begin{paste}{ugInOutFortranPageEmpty1}{ugInOutFortranPagePatch1} +\pastebutton{ugInOutFortranPageEmpty1}{\showpaste} +\tab{5}\spadcommand{)set output fortran on\bound{forton }} +\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPagePatch2} +\begin{paste}{ugInOutFortranPageFull2}{ugInOutFortranPageEmpty2} +\pastebutton{ugInOutFortranPageFull2}{\hidepaste} +\tab{5}\spadcommand{)set fortran optlevel 0\bound{opt0 }\free{forton }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPageEmpty2} +\begin{paste}{ugInOutFortranPageEmpty2}{ugInOutFortranPagePatch2} +\pastebutton{ugInOutFortranPageEmpty2}{\showpaste} +\tab{5}\spadcommand{)set fortran optlevel 0\bound{opt0 }\free{forton }} +\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPagePatch3} +\begin{paste}{ugInOutFortranPageFull3}{ugInOutFortranPageEmpty3} +\pastebutton{ugInOutFortranPageFull3}{\hidepaste} +\tab{5}\spadcommand{)set fortran fortlength 60} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPageEmpty3} +\begin{paste}{ugInOutFortranPageEmpty3}{ugInOutFortranPagePatch3} +\pastebutton{ugInOutFortranPageEmpty3}{\showpaste} +\tab{5}\spadcommand{)set fortran fortlength 60} +\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPagePatch4} +\begin{paste}{ugInOutFortranPageFull4}{ugInOutFortranPageEmpty4} +\pastebutton{ugInOutFortranPageFull4}{\hidepaste} +\tab{5}\spadcommand{(x+y)**3\free{opt0 }} +\indentrel{3}\begin{verbatim} + 3 2 2 3 + (1) y + 3x y + 3x y + x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPageEmpty4} +\begin{paste}{ugInOutFortranPageEmpty4}{ugInOutFortranPagePatch4} +\pastebutton{ugInOutFortranPageEmpty4}{\showpaste} +\tab{5}\spadcommand{(x+y)**3\free{opt0 }} +\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPagePatch5} +\begin{paste}{ugInOutFortranPageFull5}{ugInOutFortranPageEmpty5} +\pastebutton{ugInOutFortranPageFull5}{\hidepaste} +\tab{5}\spadcommand{(x+y+z)**3\free{opt0 }} +\indentrel{3}\begin{verbatim} + (2) + 3 2 2 2 3 2 + z + (3y + 3x)z + (3y + 6x y + 3x )z + y + 3x y + + + 2 3 + 3x y + x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPageEmpty5} +\begin{paste}{ugInOutFortranPageEmpty5}{ugInOutFortranPagePatch5} +\pastebutton{ugInOutFortranPageEmpty5}{\showpaste} +\tab{5}\spadcommand{(x+y+z)**3\free{opt0 }} +\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPagePatch6} +\begin{paste}{ugInOutFortranPageFull6}{ugInOutFortranPageEmpty6} +\pastebutton{ugInOutFortranPageFull6}{\hidepaste} +\tab{5}\spadcommand{sin(x)\free{opt1 }} +\indentrel{3}\begin{verbatim} + (3) sin(x) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPageEmpty6} +\begin{paste}{ugInOutFortranPageEmpty6}{ugInOutFortranPagePatch6} +\pastebutton{ugInOutFortranPageEmpty6}{\showpaste} +\tab{5}\spadcommand{sin(x)\free{opt1 }} +\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPagePatch7} +\begin{paste}{ugInOutFortranPageFull7}{ugInOutFortranPageEmpty7} +\pastebutton{ugInOutFortranPageFull7}{\hidepaste} +\tab{5}\spadcommand{)set fortran optlevel 1\bound{opt1 }\free{forton }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPageEmpty7} +\begin{paste}{ugInOutFortranPageEmpty7}{ugInOutFortranPagePatch7} +\pastebutton{ugInOutFortranPageEmpty7}{\showpaste} +\tab{5}\spadcommand{)set fortran optlevel 1\bound{opt1 }\free{forton }} +\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPagePatch8} +\begin{paste}{ugInOutFortranPageFull8}{ugInOutFortranPageEmpty8} +\pastebutton{ugInOutFortranPageFull8}{\hidepaste} +\tab{5}\spadcommand{(x+y+z)**3\free{opt1 }} +\indentrel{3}\begin{verbatim} + (4) + 3 2 2 2 3 2 + z + (3y + 3x)z + (3y + 6x y + 3x )z + y + 3x y + + + 2 3 + 3x y + x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPageEmpty8} +\begin{paste}{ugInOutFortranPageEmpty8}{ugInOutFortranPagePatch8} +\pastebutton{ugInOutFortranPageEmpty8}{\showpaste} +\tab{5}\spadcommand{(x+y+z)**3\free{opt1 }} +\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPagePatch9} +\begin{paste}{ugInOutFortranPageFull9}{ugInOutFortranPageEmpty9} +\pastebutton{ugInOutFortranPageFull9}{\hidepaste} +\tab{5}\spadcommand{)set fortran precision double\free{opt1 }\bound{double1 }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPageEmpty9} +\begin{paste}{ugInOutFortranPageEmpty9}{ugInOutFortranPagePatch9} +\pastebutton{ugInOutFortranPageEmpty9}{\showpaste} +\tab{5}\spadcommand{)set fortran precision double\free{opt1 }\bound{double1 }} +\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPagePatch10} +\begin{paste}{ugInOutFortranPageFull10}{ugInOutFortranPageEmpty10} +\pastebutton{ugInOutFortranPageFull10}{\hidepaste} +\tab{5}\spadcommand{2.3 + 5.6*\%i\free{double1 }} +\indentrel{3}\begin{verbatim} + (5) 2.3 + 5.6 %i + Type: Complex Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPageEmpty10} +\begin{paste}{ugInOutFortranPageEmpty10}{ugInOutFortranPagePatch10} +\pastebutton{ugInOutFortranPageEmpty10}{\showpaste} +\tab{5}\spadcommand{2.3 + 5.6*\%i\free{double1 }} +\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPagePatch11} +\begin{paste}{ugInOutFortranPageFull11}{ugInOutFortranPageEmpty11} +\pastebutton{ugInOutFortranPageFull11}{\hidepaste} +\tab{5}\spadcommand{sin \%e\free{double1 }} +\indentrel{3}\begin{verbatim} + (6) sin(%e) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPageEmpty11} +\begin{paste}{ugInOutFortranPageEmpty11}{ugInOutFortranPagePatch11} +\pastebutton{ugInOutFortranPageEmpty11}{\showpaste} +\tab{5}\spadcommand{sin \%e\free{double1 }} +\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPagePatch12} +\begin{paste}{ugInOutFortranPageFull12}{ugInOutFortranPageEmpty12} +\pastebutton{ugInOutFortranPageFull12}{\hidepaste} +\tab{5}\spadcommand{)set fortran precision single\free{opt1 }\bound{single1 }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPageEmpty12} +\begin{paste}{ugInOutFortranPageEmpty12}{ugInOutFortranPagePatch12} +\pastebutton{ugInOutFortranPageEmpty12}{\showpaste} +\tab{5}\spadcommand{)set fortran precision single\free{opt1 }\bound{single1 }} +\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPagePatch13} +\begin{paste}{ugInOutFortranPageFull13}{ugInOutFortranPageEmpty13} +\pastebutton{ugInOutFortranPageFull13}{\hidepaste} +\tab{5}\spadcommand{2.3 + 5.6*\%i\free{single1 }} +\indentrel{3}\begin{verbatim} + (7) 2.3 + 5.6 %i + Type: Complex Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPageEmpty13} +\begin{paste}{ugInOutFortranPageEmpty13}{ugInOutFortranPagePatch13} +\pastebutton{ugInOutFortranPageEmpty13}{\showpaste} +\tab{5}\spadcommand{2.3 + 5.6*\%i\free{single1 }} +\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPagePatch14} +\begin{paste}{ugInOutFortranPageFull14}{ugInOutFortranPageEmpty14} +\pastebutton{ugInOutFortranPageFull14}{\hidepaste} +\tab{5}\spadcommand{sin \%e\free{single1 }} +\indentrel{3}\begin{verbatim} + (8) sin(%e) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPageEmpty14} +\begin{paste}{ugInOutFortranPageEmpty14}{ugInOutFortranPagePatch14} +\pastebutton{ugInOutFortranPageEmpty14}{\showpaste} +\tab{5}\spadcommand{sin \%e\free{single1 }} +\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPagePatch15} +\begin{paste}{ugInOutFortranPageFull15}{ugInOutFortranPageEmpty15} +\pastebutton{ugInOutFortranPageFull15}{\hidepaste} +\tab{5}\spadcommand{[x+1,y+1,z+1]\free{opt1 }} +\indentrel{3}\begin{verbatim} + (9) [x + 1,y + 1,z + 1] + Type: List Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPageEmpty15} +\begin{paste}{ugInOutFortranPageEmpty15}{ugInOutFortranPagePatch15} +\pastebutton{ugInOutFortranPageEmpty15}{\showpaste} +\tab{5}\spadcommand{[x+1,y+1,z+1]\free{opt1 }} +\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPagePatch16} +\begin{paste}{ugInOutFortranPageFull16}{ugInOutFortranPageEmpty16} +\pastebutton{ugInOutFortranPageFull16}{\hidepaste} +\tab{5}\spadcommand{set[2,3,4,3,5]\free{opt1 }} +\indentrel{3}\begin{verbatim} + (10) {2,3,4,5} + Type: Set PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPageEmpty16} +\begin{paste}{ugInOutFortranPageEmpty16}{ugInOutFortranPagePatch16} +\pastebutton{ugInOutFortranPageEmpty16}{\showpaste} +\tab{5}\spadcommand{set[2,3,4,3,5]\free{opt1 }} +\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPagePatch17} +\begin{paste}{ugInOutFortranPageFull17}{ugInOutFortranPageEmpty17} +\pastebutton{ugInOutFortranPageFull17}{\hidepaste} +\tab{5}\spadcommand{matrix [[2.3,9.7],[0.0,18.778]]\free{opt1 }} +\indentrel{3}\begin{verbatim} + Ú2.3 9.7 ¿ + (11) ³ ³ + À0.0 18.778Ù + Type: Matrix Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPageEmpty17} +\begin{paste}{ugInOutFortranPageEmpty17}{ugInOutFortranPagePatch17} +\pastebutton{ugInOutFortranPageEmpty17}{\showpaste} +\tab{5}\spadcommand{matrix [[2.3,9.7],[0.0,18.778]]\free{opt1 }} +\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPagePatch18} +\begin{paste}{ugInOutFortranPageFull18}{ugInOutFortranPageEmpty18} +\pastebutton{ugInOutFortranPageFull18}{\hidepaste} +\tab{5}\spadcommand{)set fortran startindex 1\free{opt1 }\bound{start1 }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPageEmpty18} +\begin{paste}{ugInOutFortranPageEmpty18}{ugInOutFortranPagePatch18} +\pastebutton{ugInOutFortranPageEmpty18}{\showpaste} +\tab{5}\spadcommand{)set fortran startindex 1\free{opt1 }\bound{start1 }} +\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPagePatch19} +\begin{paste}{ugInOutFortranPageFull19}{ugInOutFortranPageEmpty19} +\pastebutton{ugInOutFortranPageFull19}{\hidepaste} +\tab{5}\spadcommand{matrix [[2.3,9.7],[0.0,18.778]]\free{start1 }} +\indentrel{3}\begin{verbatim} + Ú2.3 9.7 ¿ + (12) ³ ³ + À0.0 18.778Ù + Type: Matrix Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugInOutFortranPageEmpty19} +\begin{paste}{ugInOutFortranPageEmpty19}{ugInOutFortranPagePatch19} +\pastebutton{ugInOutFortranPageEmpty19}{\showpaste} +\tab{5}\spadcommand{matrix [[2.3,9.7],[0.0,18.778]]\free{start1 }} +\end{paste}\end{patch} + @ \chapter{Users Guide Chapter 5 (ug05.ht)} \pagehead{ugLangPage}{ug05.ht} @@ -29123,6 +78384,243 @@ user functions of no arguments. \autobuttons \end{page} +\begin{patch}{ugLangAssignPagePatch1} +\begin{paste}{ugLangAssignPageFull1}{ugLangAssignPageEmpty1} +\pastebutton{ugLangAssignPageFull1}{\hidepaste} +\tab{5}\spadcommand{a := 1\bound{a }} +\indentrel{3}\begin{verbatim} + (1) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPageEmpty1} +\begin{paste}{ugLangAssignPageEmpty1}{ugLangAssignPagePatch1} +\pastebutton{ugLangAssignPageEmpty1}{\showpaste} +\tab{5}\spadcommand{a := 1\bound{a }} +\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPagePatch2} +\begin{paste}{ugLangAssignPageFull2}{ugLangAssignPageEmpty2} +\pastebutton{ugLangAssignPageFull2}{\hidepaste} +\tab{5}\spadcommand{b := a\free{a }\bound{b }} +\indentrel{3}\begin{verbatim} + (2) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPageEmpty2} +\begin{paste}{ugLangAssignPageEmpty2}{ugLangAssignPagePatch2} +\pastebutton{ugLangAssignPageEmpty2}{\showpaste} +\tab{5}\spadcommand{b := a\free{a }\bound{b }} +\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPagePatch3} +\begin{paste}{ugLangAssignPageFull3}{ugLangAssignPageEmpty3} +\pastebutton{ugLangAssignPageFull3}{\hidepaste} +\tab{5}\spadcommand{a := 2\bound{a2 }} +\indentrel{3}\begin{verbatim} + (3) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPageEmpty3} +\begin{paste}{ugLangAssignPageEmpty3}{ugLangAssignPagePatch3} +\pastebutton{ugLangAssignPageEmpty3}{\showpaste} +\tab{5}\spadcommand{a := 2\bound{a2 }} +\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPagePatch4} +\begin{paste}{ugLangAssignPageFull4}{ugLangAssignPageEmpty4} +\pastebutton{ugLangAssignPageFull4}{\hidepaste} +\tab{5}\spadcommand{b\free{b }} +\indentrel{3}\begin{verbatim} + (4) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPageEmpty4} +\begin{paste}{ugLangAssignPageEmpty4}{ugLangAssignPagePatch4} +\pastebutton{ugLangAssignPageEmpty4}{\showpaste} +\tab{5}\spadcommand{b\free{b }} +\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPagePatch5} +\begin{paste}{ugLangAssignPageFull5}{ugLangAssignPageEmpty5} +\pastebutton{ugLangAssignPageFull5}{\hidepaste} +\tab{5}\spadcommand{a == 1\bound{ad }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPageEmpty5} +\begin{paste}{ugLangAssignPageEmpty5}{ugLangAssignPagePatch5} +\pastebutton{ugLangAssignPageEmpty5}{\showpaste} +\tab{5}\spadcommand{a == 1\bound{ad }} +\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPagePatch6} +\begin{paste}{ugLangAssignPageFull6}{ugLangAssignPageEmpty6} +\pastebutton{ugLangAssignPageFull6}{\hidepaste} +\tab{5}\spadcommand{b == a\free{ad }\bound{bd }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPageEmpty6} +\begin{paste}{ugLangAssignPageEmpty6}{ugLangAssignPagePatch6} +\pastebutton{ugLangAssignPageEmpty6}{\showpaste} +\tab{5}\spadcommand{b == a\free{ad }\bound{bd }} +\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPagePatch7} +\begin{paste}{ugLangAssignPageFull7}{ugLangAssignPageEmpty7} +\pastebutton{ugLangAssignPageFull7}{\hidepaste} +\tab{5}\spadcommand{a\free{ad }} +\indentrel{3}\begin{verbatim} + (7) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPageEmpty7} +\begin{paste}{ugLangAssignPageEmpty7}{ugLangAssignPagePatch7} +\pastebutton{ugLangAssignPageEmpty7}{\showpaste} +\tab{5}\spadcommand{a\free{ad }} +\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPagePatch8} +\begin{paste}{ugLangAssignPageFull8}{ugLangAssignPageEmpty8} +\pastebutton{ugLangAssignPageFull8}{\hidepaste} +\tab{5}\spadcommand{b\free{bd }} +\indentrel{3}\begin{verbatim} + (8) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPageEmpty8} +\begin{paste}{ugLangAssignPageEmpty8}{ugLangAssignPagePatch8} +\pastebutton{ugLangAssignPageEmpty8}{\showpaste} +\tab{5}\spadcommand{b\free{bd }} +\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPagePatch9} +\begin{paste}{ugLangAssignPageFull9}{ugLangAssignPageEmpty9} +\pastebutton{ugLangAssignPageFull9}{\hidepaste} +\tab{5}\spadcommand{a == 2\bound{ad2 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPageEmpty9} +\begin{paste}{ugLangAssignPageEmpty9}{ugLangAssignPagePatch9} +\pastebutton{ugLangAssignPageEmpty9}{\showpaste} +\tab{5}\spadcommand{a == 2\bound{ad2 }} +\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPagePatch10} +\begin{paste}{ugLangAssignPageFull10}{ugLangAssignPageEmpty10} +\pastebutton{ugLangAssignPageFull10}{\hidepaste} +\tab{5}\spadcommand{a\free{ad2 }} +\indentrel{3}\begin{verbatim} + (10) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPageEmpty10} +\begin{paste}{ugLangAssignPageEmpty10}{ugLangAssignPagePatch10} +\pastebutton{ugLangAssignPageEmpty10}{\showpaste} +\tab{5}\spadcommand{a\free{ad2 }} +\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPagePatch11} +\begin{paste}{ugLangAssignPageFull11}{ugLangAssignPageEmpty11} +\pastebutton{ugLangAssignPageFull11}{\hidepaste} +\tab{5}\spadcommand{b\free{bd ad2 }} +\indentrel{3}\begin{verbatim} + (11) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPageEmpty11} +\begin{paste}{ugLangAssignPageEmpty11}{ugLangAssignPagePatch11} +\pastebutton{ugLangAssignPageEmpty11}{\showpaste} +\tab{5}\spadcommand{b\free{bd ad2 }} +\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPagePatch12} +\begin{paste}{ugLangAssignPageFull12}{ugLangAssignPageEmpty12} +\pastebutton{ugLangAssignPageFull12}{\hidepaste} +\tab{5}\spadcommand{(x,y) := (1,2)\bound{x }\bound{y }} +\indentrel{3}\begin{verbatim} + (12) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPageEmpty12} +\begin{paste}{ugLangAssignPageEmpty12}{ugLangAssignPagePatch12} +\pastebutton{ugLangAssignPageEmpty12}{\showpaste} +\tab{5}\spadcommand{(x,y) := (1,2)\bound{x }\bound{y }} +\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPagePatch13} +\begin{paste}{ugLangAssignPageFull13}{ugLangAssignPageEmpty13} +\pastebutton{ugLangAssignPageFull13}{\hidepaste} +\tab{5}\spadcommand{(x,y) := (y,x)\free{x y }\bound{swap }} +\indentrel{3}\begin{verbatim} + (13) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPageEmpty13} +\begin{paste}{ugLangAssignPageEmpty13}{ugLangAssignPagePatch13} +\pastebutton{ugLangAssignPageEmpty13}{\showpaste} +\tab{5}\spadcommand{(x,y) := (y,x)\free{x y }\bound{swap }} +\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPagePatch14} +\begin{paste}{ugLangAssignPageFull14}{ugLangAssignPageEmpty14} +\pastebutton{ugLangAssignPageFull14}{\hidepaste} +\tab{5}\spadcommand{x\free{swap }} +\indentrel{3}\begin{verbatim} + (14) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPageEmpty14} +\begin{paste}{ugLangAssignPageEmpty14}{ugLangAssignPagePatch14} +\pastebutton{ugLangAssignPageEmpty14}{\showpaste} +\tab{5}\spadcommand{x\free{swap }} +\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPagePatch15} +\begin{paste}{ugLangAssignPageFull15}{ugLangAssignPageEmpty15} +\pastebutton{ugLangAssignPageFull15}{\hidepaste} +\tab{5}\spadcommand{y\free{swap }} +\indentrel{3}\begin{verbatim} + (15) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangAssignPageEmpty15} +\begin{paste}{ugLangAssignPageEmpty15}{ugLangAssignPagePatch15} +\pastebutton{ugLangAssignPageEmpty15}{\showpaste} +\tab{5}\spadcommand{y\free{swap }} +\end{paste}\end{patch} + @ \pagehead{ugLangBlocksPage}{ug05.ht}{Blocks} \pageto{notitle}{ugLangIfPage} @@ -29310,6 +78808,248 @@ a := \autobuttons \end{page} +\begin{patch}{ugLangBlocksPagePatch1} +\begin{paste}{ugLangBlocksPageFull1}{ugLangBlocksPageEmpty1} +\pastebutton{ugLangBlocksPageFull1}{\hidepaste} +\tab{5}\spadcommand{a := + i := gcd(234,672) + i := 3*i**5 - i + 1 + 1 / i +} +\indentrel{3}\begin{verbatim} + 1 + (1) ÄÄÄÄÄ + 23323 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangBlocksPageEmpty1} +\begin{paste}{ugLangBlocksPageEmpty1}{ugLangBlocksPagePatch1} +\pastebutton{ugLangBlocksPageEmpty1}{\showpaste} +\tab{5}\spadcommand{a := + i := gcd(234,672) + i := 3*i**5 - i + 1 + 1 / i +} +\end{paste}\end{patch} + +\begin{patch}{ugLangBlocksPagePatch2} +\begin{paste}{ugLangBlocksPageFull2}{ugLangBlocksPageEmpty2} +\pastebutton{ugLangBlocksPageFull2}{\hidepaste} +\tab{5}\spadcommand{a := (i := gcd(234,672); i := 3*i**5 - i + 1; 1 / i)} +\indentrel{3}\begin{verbatim} + 1 + (2) ÄÄÄÄÄ + 23323 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangBlocksPageEmpty2} +\begin{paste}{ugLangBlocksPageEmpty2}{ugLangBlocksPagePatch2} +\pastebutton{ugLangBlocksPageEmpty2}{\showpaste} +\tab{5}\spadcommand{a := (i := gcd(234,672); i := 3*i**5 - i + 1; 1 / i)} +\end{paste}\end{patch} + +\begin{patch}{ugLangBlocksPagePatch3} +\begin{paste}{ugLangBlocksPageFull3}{ugLangBlocksPageEmpty3} +\pastebutton{ugLangBlocksPageFull3}{\hidepaste} +\tab{5}\spadcommand{(a := 1; b := 2; c := 3; [a,b,c])\bound{a b c }} +\indentrel{3}\begin{verbatim} + (3) [1,2,3] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangBlocksPageEmpty3} +\begin{paste}{ugLangBlocksPageEmpty3}{ugLangBlocksPagePatch3} +\pastebutton{ugLangBlocksPageEmpty3}{\showpaste} +\tab{5}\spadcommand{(a := 1; b := 2; c := 3; [a,b,c])\bound{a b c }} +\end{paste}\end{patch} + +\begin{patch}{ugLangBlocksPagePatch4} +\begin{paste}{ugLangBlocksPageFull4}{ugLangBlocksPageEmpty4} +\pastebutton{ugLangBlocksPageFull4}{\hidepaste} +\tab{5}\spadcommand{d := + c := a**2 + b**2 + sqrt(c * 1.3) +\free{a b }} +\indentrel{3}\begin{verbatim} + (4) 2.5495097567 96392415 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangBlocksPageEmpty4} +\begin{paste}{ugLangBlocksPageEmpty4}{ugLangBlocksPagePatch4} +\pastebutton{ugLangBlocksPageEmpty4}{\showpaste} +\tab{5}\spadcommand{d := + c := a**2 + b**2 + sqrt(c * 1.3) +\free{a b }} +\end{paste}\end{patch} + +\begin{patch}{ugLangBlocksPagePatch5} +\begin{paste}{ugLangBlocksPageFull5}{ugLangBlocksPageEmpty5} +\pastebutton{ugLangBlocksPageFull5}{\hidepaste} +\tab{5}\spadcommand{h := 2.1 + + 1.0 + 3.5 +\bound{h }} +\indentrel{3}\begin{verbatim} + (5) 5.6 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangBlocksPageEmpty5} +\begin{paste}{ugLangBlocksPageEmpty5}{ugLangBlocksPagePatch5} +\pastebutton{ugLangBlocksPageEmpty5}{\showpaste} +\tab{5}\spadcommand{h := 2.1 + + 1.0 + 3.5 +\bound{h }} +\end{paste}\end{patch} + +\begin{patch}{ugLangBlocksPagePatch6} +\begin{paste}{ugLangBlocksPageFull6}{ugLangBlocksPageEmpty6} +\pastebutton{ugLangBlocksPageFull6}{\hidepaste} +\tab{5}\spadcommand{eval(x**2 - x*y**2, + z := \%pi/2.0 - exp(4.1) + x = z + ) +} +\indentrel{3}\begin{verbatim} + (6) + 2 + 58.7694912705 67072878 y + 3453.8531042012 59382 + Type: Polynomial Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangBlocksPageEmpty6} +\begin{paste}{ugLangBlocksPageEmpty6}{ugLangBlocksPagePatch6} +\pastebutton{ugLangBlocksPageEmpty6}{\showpaste} +\tab{5}\spadcommand{eval(x**2 - x*y**2, + z := \%pi/2.0 - exp(4.1) + x = z + ) +} +\end{paste}\end{patch} + +\begin{patch}{ugLangBlocksPagePatch7} +\begin{paste}{ugLangBlocksPageFull7}{ugLangBlocksPageEmpty7} +\pastebutton{ugLangBlocksPageFull7}{\hidepaste} +\tab{5}\spadcommand{if h > 3.1 then 1.0 else (z := cos(h); max(z,0.5))\free{h }} +\indentrel{3}\begin{verbatim} + (7) 1.0 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangBlocksPageEmpty7} +\begin{paste}{ugLangBlocksPageEmpty7}{ugLangBlocksPagePatch7} +\pastebutton{ugLangBlocksPageEmpty7}{\showpaste} +\tab{5}\spadcommand{if h > 3.1 then 1.0 else (z := cos(h); max(z,0.5))\free{h }} +\end{paste}\end{patch} + +\begin{patch}{ugLangBlocksPagePatch8} +\begin{paste}{ugLangBlocksPageFull8}{ugLangBlocksPageEmpty8} +\pastebutton{ugLangBlocksPageFull8}{\hidepaste} +\tab{5}\spadcommand{if h > 3.1 then + 1.0 + else + z := cos(h) + max(z,0.5) +\free{h }} +\indentrel{3}\begin{verbatim} + (8) 1.0 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangBlocksPageEmpty8} +\begin{paste}{ugLangBlocksPageEmpty8}{ugLangBlocksPagePatch8} +\pastebutton{ugLangBlocksPageEmpty8}{\showpaste} +\tab{5}\spadcommand{if h > 3.1 then + 1.0 + else + z := cos(h) + max(z,0.5) +\free{h }} +\end{paste}\end{patch} + +\begin{patch}{ugLangBlocksPagePatch9} +\begin{paste}{ugLangBlocksPageFull9}{ugLangBlocksPageEmpty9} +\pastebutton{ugLangBlocksPageFull9}{\hidepaste} +\tab{5}\spadcommand{a := (b := factorial(12); c := (d := eulerPhi(22); factorial(d));b+c)} +\indentrel{3}\begin{verbatim} + (9) 482630400 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangBlocksPageEmpty9} +\begin{paste}{ugLangBlocksPageEmpty9}{ugLangBlocksPagePatch9} +\pastebutton{ugLangBlocksPageEmpty9}{\showpaste} +\tab{5}\spadcommand{a := (b := factorial(12); c := (d := eulerPhi(22); factorial(d));b+c)} +\end{paste}\end{patch} + +\begin{patch}{ugLangBlocksPagePatch10} +\begin{paste}{ugLangBlocksPageFull10}{ugLangBlocksPageEmpty10} +\pastebutton{ugLangBlocksPageFull10}{\hidepaste} +\tab{5}\spadcommand{a := + b := factorial(12) + c := + d := eulerPhi(22) + factorial(d) + b+c +} +\indentrel{3}\begin{verbatim} + (10) 482630400 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangBlocksPageEmpty10} +\begin{paste}{ugLangBlocksPageEmpty10}{ugLangBlocksPagePatch10} +\pastebutton{ugLangBlocksPageEmpty10}{\showpaste} +\tab{5}\spadcommand{a := + b := factorial(12) + c := + d := eulerPhi(22) + factorial(d) + b+c +} +\end{paste}\end{patch} + +\begin{patch}{ugLangBlocksPagePatch11} +\begin{paste}{ugLangBlocksPageFull11}{ugLangBlocksPageEmpty11} +\pastebutton{ugLangBlocksPageFull11}{\hidepaste} +\tab{5}\spadcommand{a := + c := factorial 10 + d := fibonacci 10 + c + d = 3628855 => c + d +} +\indentrel{3}\begin{verbatim} + (11) 3628800 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangBlocksPageEmpty11} +\begin{paste}{ugLangBlocksPageEmpty11}{ugLangBlocksPagePatch11} +\pastebutton{ugLangBlocksPageEmpty11}{\showpaste} +\tab{5}\spadcommand{a := + c := factorial 10 + d := fibonacci 10 + c + d = 3628855 => c + d +} +\end{paste}\end{patch} + @ \pagehead{ugLangIfPage}{ug05.ht}{if-then-else} \pageto{notitle}{ugTypesResolvePage} @@ -29443,6 +79183,22 @@ a := \autobuttons \end{page} +\begin{patch}{ugLangIfPagePatch1} +\begin{paste}{ugLangIfPageFull1}{ugLangIfPageEmpty1} +\pastebutton{ugLangIfPageFull1}{\hidepaste} +\tab{5}\spadcommand{x + 1 = y} +\indentrel{3}\begin{verbatim} + (1) x + 1= y + Type: Equation Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangIfPageEmpty1} +\begin{paste}{ugLangIfPageEmpty1}{ugLangIfPagePatch1} +\pastebutton{ugLangIfPageEmpty1}{\showpaste} +\tab{5}\spadcommand{x + 1 = y} +\end{paste}\end{patch} + @ \pagehead{ugLangLoopsPage}{ug05.ht}{Loops} \pageto{notitle}{ugLangLoopsCompIntPage} @@ -29617,6 +79373,89 @@ for more information. \autobuttons \end{page} +\begin{patch}{ugLangLoopsReturnPagePatch1} +\begin{paste}{ugLangLoopsReturnPageFull1}{ugLangLoopsReturnPageEmpty1} +\pastebutton{ugLangLoopsReturnPageFull1}{\hidepaste} +\tab{5}\spadcommand{f() == + i := 1 + repeat + if factorial(i) > 1000 then return i + i := i + 1 +\bound{f }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsReturnPageEmpty1} +\begin{paste}{ugLangLoopsReturnPageEmpty1}{ugLangLoopsReturnPagePatch1} +\pastebutton{ugLangLoopsReturnPageEmpty1}{\showpaste} +\tab{5}\spadcommand{f() == + i := 1 + repeat + if factorial(i) > 1000 then return i + i := i + 1 +\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsReturnPagePatch2} +\begin{paste}{ugLangLoopsReturnPageFull2}{ugLangLoopsReturnPageEmpty2} +\pastebutton{ugLangLoopsReturnPageFull2}{\hidepaste} +\tab{5}\spadcommand{f()\free{f }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsReturnPageEmpty2} +\begin{paste}{ugLangLoopsReturnPageEmpty2}{ugLangLoopsReturnPagePatch2} +\pastebutton{ugLangLoopsReturnPageEmpty2}{\showpaste} +\tab{5}\spadcommand{f()\free{f }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsReturnPagePatch3} +\begin{paste}{ugLangLoopsReturnPageFull3}{ugLangLoopsReturnPageEmpty3} +\pastebutton{ugLangLoopsReturnPageFull3}{\hidepaste} +\tab{5}\spadcommand{f() == + i := 1 + repeat + if factorial(i) > 1000 then return i + i := i + 1 + 0 +\bound{f1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsReturnPageEmpty3} +\begin{paste}{ugLangLoopsReturnPageEmpty3}{ugLangLoopsReturnPagePatch3} +\pastebutton{ugLangLoopsReturnPageEmpty3}{\showpaste} +\tab{5}\spadcommand{f() == + i := 1 + repeat + if factorial(i) > 1000 then return i + i := i + 1 + 0 +\bound{f1 }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsReturnPagePatch4} +\begin{paste}{ugLangLoopsReturnPageFull4}{ugLangLoopsReturnPageEmpty4} +\pastebutton{ugLangLoopsReturnPageFull4}{\hidepaste} +\tab{5}\spadcommand{f()\free{f1 }} +\indentrel{3}\begin{verbatim} + (4) 7 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsReturnPageEmpty4} +\begin{paste}{ugLangLoopsReturnPageEmpty4}{ugLangLoopsReturnPagePatch4} +\pastebutton{ugLangLoopsReturnPageEmpty4}{\showpaste} +\tab{5}\spadcommand{f()\free{f1 }} +\end{paste}\end{patch} + @ \pagehead{ugLangLoopsBreakPage}{ug05.ht}{break in Loops} \pageto{notitle}{ugLangLoopsReturnPage} @@ -29684,6 +79523,92 @@ repeat \autobuttons \end{page} +\begin{patch}{ugLangLoopsBreakPagePatch1} +\begin{paste}{ugLangLoopsBreakPageFull1}{ugLangLoopsBreakPageEmpty1} +\pastebutton{ugLangLoopsBreakPageFull1}{\hidepaste} +\tab{5}\spadcommand{f() == + i := 1 + repeat + if factorial(i) > 1000 then break + i := i + 1 + i +\bound{f1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakPageEmpty1} +\begin{paste}{ugLangLoopsBreakPageEmpty1}{ugLangLoopsBreakPagePatch1} +\pastebutton{ugLangLoopsBreakPageEmpty1}{\showpaste} +\tab{5}\spadcommand{f() == + i := 1 + repeat + if factorial(i) > 1000 then break + i := i + 1 + i +\bound{f1 }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakPagePatch2} +\begin{paste}{ugLangLoopsBreakPageFull2}{ugLangLoopsBreakPageEmpty2} +\pastebutton{ugLangLoopsBreakPageFull2}{\hidepaste} +\tab{5}\spadcommand{f()\free{f1 }} +\indentrel{3}\begin{verbatim} + (2) 7 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakPageEmpty2} +\begin{paste}{ugLangLoopsBreakPageEmpty2}{ugLangLoopsBreakPagePatch2} +\pastebutton{ugLangLoopsBreakPageEmpty2}{\showpaste} +\tab{5}\spadcommand{f()\free{f1 }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakPagePatch3} +\begin{paste}{ugLangLoopsBreakPageFull3}{ugLangLoopsBreakPageEmpty3} +\pastebutton{ugLangLoopsBreakPageFull3}{\hidepaste} +\tab{5}\spadcommand{(i,j) := (1, 1)\bound{i }\bound{j }} +\indentrel{3}\begin{verbatim} + (3) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakPageEmpty3} +\begin{paste}{ugLangLoopsBreakPageEmpty3}{ugLangLoopsBreakPagePatch3} +\pastebutton{ugLangLoopsBreakPageEmpty3}{\showpaste} +\tab{5}\spadcommand{(i,j) := (1, 1)\bound{i }\bound{j }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakPagePatch4} +\begin{paste}{ugLangLoopsBreakPageFull4}{ugLangLoopsBreakPageEmpty4} +\pastebutton{ugLangLoopsBreakPageFull4}{\hidepaste} +\tab{5}\spadcommand{repeat + repeat + if (i + j) > 10 then break + j := j + 1 + if (i + j) > 10 then break + i := i + 1 +\free{i j }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakPageEmpty4} +\begin{paste}{ugLangLoopsBreakPageEmpty4}{ugLangLoopsBreakPagePatch4} +\pastebutton{ugLangLoopsBreakPageEmpty4}{\showpaste} +\tab{5}\spadcommand{repeat + repeat + if (i + j) > 10 then break + j := j + 1 + if (i + j) > 10 then break + i := i + 1 +\free{i j }} +\end{paste}\end{patch} + @ \pagehead{ugLangLoopsBreakVsPage}{ug05.ht} {break vs. {\tt =>} in Loop Bodies} @@ -29852,6 +79777,262 @@ repeat \autobuttons \end{page} +\begin{patch}{ugLangLoopsBreakMorePagePatch1} +\begin{paste}{ugLangLoopsBreakMorePageFull1}{ugLangLoopsBreakMorePageEmpty1} +\pastebutton{ugLangLoopsBreakMorePageFull1}{\hidepaste} +\tab{5}\spadcommand{i := 0\bound{i }} +\indentrel{3}\begin{verbatim} + (1) 0 + Type: NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakMorePageEmpty1} +\begin{paste}{ugLangLoopsBreakMorePageEmpty1}{ugLangLoopsBreakMorePagePatch1} +\pastebutton{ugLangLoopsBreakMorePageEmpty1}{\showpaste} +\tab{5}\spadcommand{i := 0\bound{i }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakMorePagePatch2} +\begin{paste}{ugLangLoopsBreakMorePageFull2}{ugLangLoopsBreakMorePageEmpty2} +\pastebutton{ugLangLoopsBreakMorePageFull2}{\hidepaste} +\tab{5}\spadcommand{repeat + i := i + 1 + if i**2 > 100 then break +\free{i }\bound{i1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakMorePageEmpty2} +\begin{paste}{ugLangLoopsBreakMorePageEmpty2}{ugLangLoopsBreakMorePagePatch2} +\pastebutton{ugLangLoopsBreakMorePageEmpty2}{\showpaste} +\tab{5}\spadcommand{repeat + i := i + 1 + if i**2 > 100 then break +\free{i }\bound{i1 }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakMorePagePatch3} +\begin{paste}{ugLangLoopsBreakMorePageFull3}{ugLangLoopsBreakMorePageEmpty3} +\pastebutton{ugLangLoopsBreakMorePageFull3}{\hidepaste} +\tab{5}\spadcommand{i\free{i1 }} +\indentrel{3}\begin{verbatim} + (3) 11 + Type: NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakMorePageEmpty3} +\begin{paste}{ugLangLoopsBreakMorePageEmpty3}{ugLangLoopsBreakMorePagePatch3} +\pastebutton{ugLangLoopsBreakMorePageEmpty3}{\showpaste} +\tab{5}\spadcommand{i\free{i1 }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakMorePagePatch4} +\begin{paste}{ugLangLoopsBreakMorePageFull4}{ugLangLoopsBreakMorePageEmpty4} +\pastebutton{ugLangLoopsBreakMorePageFull4}{\hidepaste} +\tab{5}\spadcommand{i := 0\bound{i2 }} +\indentrel{3}\begin{verbatim} + (4) 0 + Type: NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakMorePageEmpty4} +\begin{paste}{ugLangLoopsBreakMorePageEmpty4}{ugLangLoopsBreakMorePagePatch4} +\pastebutton{ugLangLoopsBreakMorePageEmpty4}{\showpaste} +\tab{5}\spadcommand{i := 0\bound{i2 }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakMorePagePatch5} +\begin{paste}{ugLangLoopsBreakMorePageFull5}{ugLangLoopsBreakMorePageEmpty5} +\pastebutton{ugLangLoopsBreakMorePageFull5}{\hidepaste} +\tab{5}\spadcommand{repeat + i := i + 1 + i**2 > 100 => break +\free{i2 }\bound{i3 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakMorePageEmpty5} +\begin{paste}{ugLangLoopsBreakMorePageEmpty5}{ugLangLoopsBreakMorePagePatch5} +\pastebutton{ugLangLoopsBreakMorePageEmpty5}{\showpaste} +\tab{5}\spadcommand{repeat + i := i + 1 + i**2 > 100 => break +\free{i2 }\bound{i3 }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakMorePagePatch6} +\begin{paste}{ugLangLoopsBreakMorePageFull6}{ugLangLoopsBreakMorePageEmpty6} +\pastebutton{ugLangLoopsBreakMorePageFull6}{\hidepaste} +\tab{5}\spadcommand{i\free{i3 }} +\indentrel{3}\begin{verbatim} + (6) 11 + Type: NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakMorePageEmpty6} +\begin{paste}{ugLangLoopsBreakMorePageEmpty6}{ugLangLoopsBreakMorePagePatch6} +\pastebutton{ugLangLoopsBreakMorePageEmpty6}{\showpaste} +\tab{5}\spadcommand{i\free{i3 }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakMorePagePatch7} +\begin{paste}{ugLangLoopsBreakMorePageFull7}{ugLangLoopsBreakMorePageEmpty7} +\pastebutton{ugLangLoopsBreakMorePageFull7}{\hidepaste} +\tab{5}\spadcommand{(n, i, f) := (100, 1, 1)\bound{n }\bound{i4 }\bound{f }} +\indentrel{3}\begin{verbatim} + (7) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakMorePageEmpty7} +\begin{paste}{ugLangLoopsBreakMorePageEmpty7}{ugLangLoopsBreakMorePagePatch7} +\pastebutton{ugLangLoopsBreakMorePageEmpty7}{\showpaste} +\tab{5}\spadcommand{(n, i, f) := (100, 1, 1)\bound{n }\bound{i4 }\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakMorePagePatch8} +\begin{paste}{ugLangLoopsBreakMorePageFull8}{ugLangLoopsBreakMorePageEmpty8} +\pastebutton{ugLangLoopsBreakMorePageFull8}{\hidepaste} +\tab{5}\spadcommand{repeat + if i > n then break + f := f * i + i := i + 1 +\bound{f1 }\bound{i5 }\free{f i4 n }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakMorePageEmpty8} +\begin{paste}{ugLangLoopsBreakMorePageEmpty8}{ugLangLoopsBreakMorePagePatch8} +\pastebutton{ugLangLoopsBreakMorePageEmpty8}{\showpaste} +\tab{5}\spadcommand{repeat + if i > n then break + f := f * i + i := i + 1 +\bound{f1 }\bound{i5 }\free{f i4 n }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakMorePagePatch9} +\begin{paste}{ugLangLoopsBreakMorePageFull9}{ugLangLoopsBreakMorePageEmpty9} +\pastebutton{ugLangLoopsBreakMorePageFull9}{\hidepaste} +\tab{5}\spadcommand{f\free{f1 }} +\indentrel{3}\begin{verbatim} + (9) + 933262154439441526816992388562667004907159682643816214_ + 68592963895217599993229915608941463976156518286253697_ + 920827223758251185210916864000000000000000000000000 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakMorePageEmpty9} +\begin{paste}{ugLangLoopsBreakMorePageEmpty9}{ugLangLoopsBreakMorePagePatch9} +\pastebutton{ugLangLoopsBreakMorePageEmpty9}{\showpaste} +\tab{5}\spadcommand{f\free{f1 }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakMorePagePatch10} +\begin{paste}{ugLangLoopsBreakMorePageFull10}{ugLangLoopsBreakMorePageEmpty10} +\pastebutton{ugLangLoopsBreakMorePageFull10}{\hidepaste} +\tab{5}\spadcommand{m := matrix [[21,37,53,14], [8,-24,22,-16], [2,10,15,14], [26,33,55,-13]]\bound{m2 }} +\indentrel{3}\begin{verbatim} + Ú21 37 53 14 ¿ + ³ ³ + ³8 - 24 22 - 16³ + (10) ³ ³ + ³2 10 15 14 ³ + ³ ³ + À26 33 55 - 13Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakMorePageEmpty10} +\begin{paste}{ugLangLoopsBreakMorePageEmpty10}{ugLangLoopsBreakMorePagePatch10} +\pastebutton{ugLangLoopsBreakMorePageEmpty10}{\showpaste} +\tab{5}\spadcommand{m := matrix [[21,37,53,14], [8,-24,22,-16], [2,10,15,14], [26,33,55,-13]]\bound{m2 }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakMorePagePatch11} +\begin{paste}{ugLangLoopsBreakMorePageFull11}{ugLangLoopsBreakMorePageEmpty11} +\pastebutton{ugLangLoopsBreakMorePageFull11}{\hidepaste} +\tab{5}\spadcommand{(r, c) := (1, 1)\bound{r }\bound{c }} +\indentrel{3}\begin{verbatim} + (11) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakMorePageEmpty11} +\begin{paste}{ugLangLoopsBreakMorePageEmpty11}{ugLangLoopsBreakMorePagePatch11} +\pastebutton{ugLangLoopsBreakMorePageEmpty11}{\showpaste} +\tab{5}\spadcommand{(r, c) := (1, 1)\bound{r }\bound{c }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakMorePagePatch12} +\begin{paste}{ugLangLoopsBreakMorePageFull12}{ugLangLoopsBreakMorePageEmpty12} +\pastebutton{ugLangLoopsBreakMorePageFull12}{\hidepaste} +\tab{5}\spadcommand{(lastrow, lastcol) := (nrows(m), ncols(m))\bound{lastrow }\bound{lastcol }\free{m2 }} +\indentrel{3}\begin{verbatim} + (12) 4 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakMorePageEmpty12} +\begin{paste}{ugLangLoopsBreakMorePageEmpty12}{ugLangLoopsBreakMorePagePatch12} +\pastebutton{ugLangLoopsBreakMorePageEmpty12}{\showpaste} +\tab{5}\spadcommand{(lastrow, lastcol) := (nrows(m), ncols(m))\bound{lastrow }\bound{lastcol }\free{m2 }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakMorePagePatch13} +\begin{paste}{ugLangLoopsBreakMorePageFull13}{ugLangLoopsBreakMorePageEmpty13} +\pastebutton{ugLangLoopsBreakMorePageFull13}{\hidepaste} +\tab{5}\spadcommand{repeat + if r > lastrow then break + c := 1 + repeat + if c > lastcol then break + if elt(m,r,c) < 0 then + output [r, c, elt(m,r,c)] + r := lastrow + break -- don't look any further + c := c + 1 + r := r + 1 +\free{m2 r c lastrow lastcol }} +\indentrel{3}\begin{verbatim} + [2,2,- 24] + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsBreakMorePageEmpty13} +\begin{paste}{ugLangLoopsBreakMorePageEmpty13}{ugLangLoopsBreakMorePagePatch13} +\pastebutton{ugLangLoopsBreakMorePageEmpty13}{\showpaste} +\tab{5}\spadcommand{repeat + if r > lastrow then break + c := 1 + repeat + if c > lastcol then break + if elt(m,r,c) < 0 then + output [r, c, elt(m,r,c)] + r := lastrow + break -- don't look any further + c := c + 1 + r := r + 1 +\free{m2 r c lastrow lastcol }} +\end{paste}\end{patch} + @ \pagehead{ugLangLoopsIteratePage}{ug05.ht}{iterate in Loops} <>= @@ -29882,6 +80063,49 @@ repeat \autobuttons \end{page} +\begin{patch}{ugLangLoopsIteratePagePatch1} +\begin{paste}{ugLangLoopsIteratePageFull1}{ugLangLoopsIteratePageEmpty1} +\pastebutton{ugLangLoopsIteratePageFull1}{\hidepaste} +\tab{5}\spadcommand{i := 0\bound{i }} +\indentrel{3}\begin{verbatim} + (1) 0 + Type: NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsIteratePageEmpty1} +\begin{paste}{ugLangLoopsIteratePageEmpty1}{ugLangLoopsIteratePagePatch1} +\pastebutton{ugLangLoopsIteratePageEmpty1}{\showpaste} +\tab{5}\spadcommand{i := 0\bound{i }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsIteratePagePatch2} +\begin{paste}{ugLangLoopsIteratePageFull2}{ugLangLoopsIteratePageEmpty2} +\pastebutton{ugLangLoopsIteratePageFull2}{\hidepaste} +\tab{5}\spadcommand{repeat + i := i + 1 + if i > 5 then break + if odd?(i) then iterate + output(i) +\free{i }} +\indentrel{3}\begin{verbatim} + 2 + 4 + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsIteratePageEmpty2} +\begin{paste}{ugLangLoopsIteratePageEmpty2}{ugLangLoopsIteratePagePatch2} +\pastebutton{ugLangLoopsIteratePageEmpty2}{\showpaste} +\tab{5}\spadcommand{repeat + i := i + 1 + if i > 5 then break + if odd?(i) then iterate + output(i) +\free{i }} +\end{paste}\end{patch} + @ \pagehead{ugLangLoopsWhilePage}{ug05.ht}{while Loops} <>= @@ -30002,6 +80226,216 @@ while r <= lastrow repeat \autobuttons \end{page} +\begin{patch}{ugLangLoopsWhilePagePatch1} +\begin{paste}{ugLangLoopsWhilePageFull1}{ugLangLoopsWhilePageEmpty1} +\pastebutton{ugLangLoopsWhilePageFull1}{\hidepaste} +\tab{5}\spadcommand{i := 1\bound{i }} +\indentrel{3}\begin{verbatim} + (1) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsWhilePageEmpty1} +\begin{paste}{ugLangLoopsWhilePageEmpty1}{ugLangLoopsWhilePagePatch1} +\pastebutton{ugLangLoopsWhilePageEmpty1}{\showpaste} +\tab{5}\spadcommand{i := 1\bound{i }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsWhilePagePatch2} +\begin{paste}{ugLangLoopsWhilePageFull2}{ugLangLoopsWhilePageEmpty2} +\pastebutton{ugLangLoopsWhilePageFull2}{\hidepaste} +\tab{5}\spadcommand{while i < 1 repeat + output "hello" + i := i + 1 +\free{i }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsWhilePageEmpty2} +\begin{paste}{ugLangLoopsWhilePageEmpty2}{ugLangLoopsWhilePagePatch2} +\pastebutton{ugLangLoopsWhilePageEmpty2}{\showpaste} +\tab{5}\spadcommand{while i < 1 repeat + output "hello" + i := i + 1 +\free{i }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsWhilePagePatch3} +\begin{paste}{ugLangLoopsWhilePageFull3}{ugLangLoopsWhilePageEmpty3} +\pastebutton{ugLangLoopsWhilePageFull3}{\hidepaste} +\tab{5}\spadcommand{(x, y) := (1, 1)\bound{x }\bound{y }} +\indentrel{3}\begin{verbatim} + (3) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsWhilePageEmpty3} +\begin{paste}{ugLangLoopsWhilePageEmpty3}{ugLangLoopsWhilePagePatch3} +\pastebutton{ugLangLoopsWhilePageEmpty3}{\showpaste} +\tab{5}\spadcommand{(x, y) := (1, 1)\bound{x }\bound{y }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsWhilePagePatch4} +\begin{paste}{ugLangLoopsWhilePageFull4}{ugLangLoopsWhilePageEmpty4} +\pastebutton{ugLangLoopsWhilePageFull4}{\hidepaste} +\tab{5}\spadcommand{while x < 4 and y < 10 repeat + output [x,y] + x := x + 1 + y := y + 2 +\free{x y }} +\indentrel{3}\begin{verbatim} + [1,1] + [2,3] + [3,5] + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsWhilePageEmpty4} +\begin{paste}{ugLangLoopsWhilePageEmpty4}{ugLangLoopsWhilePagePatch4} +\pastebutton{ugLangLoopsWhilePageEmpty4}{\showpaste} +\tab{5}\spadcommand{while x < 4 and y < 10 repeat + output [x,y] + x := x + 1 + y := y + 2 +\free{x y }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsWhilePagePatch5} +\begin{paste}{ugLangLoopsWhilePageFull5}{ugLangLoopsWhilePageEmpty5} +\pastebutton{ugLangLoopsWhilePageFull5}{\hidepaste} +\tab{5}\spadcommand{(x, y) := (1, 1)\bound{x1 }\bound{y1 }} +\indentrel{3}\begin{verbatim} + (5) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsWhilePageEmpty5} +\begin{paste}{ugLangLoopsWhilePageEmpty5}{ugLangLoopsWhilePagePatch5} +\pastebutton{ugLangLoopsWhilePageEmpty5}{\showpaste} +\tab{5}\spadcommand{(x, y) := (1, 1)\bound{x1 }\bound{y1 }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsWhilePagePatch6} +\begin{paste}{ugLangLoopsWhilePageFull6}{ugLangLoopsWhilePageEmpty6} +\pastebutton{ugLangLoopsWhilePageFull6}{\hidepaste} +\tab{5}\spadcommand{while x < 4 while y < 10 repeat + if x + y > 7 then break + output [x,y] + x := x + 1 + y := y + 2 +\free{x1 y1 }} +\indentrel{3}\begin{verbatim} + [1,1] + [2,3] + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsWhilePageEmpty6} +\begin{paste}{ugLangLoopsWhilePageEmpty6}{ugLangLoopsWhilePagePatch6} +\pastebutton{ugLangLoopsWhilePageEmpty6}{\showpaste} +\tab{5}\spadcommand{while x < 4 while y < 10 repeat + if x + y > 7 then break + output [x,y] + x := x + 1 + y := y + 2 +\free{x1 y1 }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsWhilePagePatch7} +\begin{paste}{ugLangLoopsWhilePageFull7}{ugLangLoopsWhilePageEmpty7} +\pastebutton{ugLangLoopsWhilePageFull7}{\hidepaste} +\tab{5}\spadcommand{m := matrix [[21,37,53,14], [8,-24,22,-16], [2,10,15,14], [26,33,55,-13]]\bound{m2 }} +\indentrel{3}\begin{verbatim} + Ú21 37 53 14 ¿ + ³ ³ + ³8 - 24 22 - 16³ + (7) ³ ³ + ³2 10 15 14 ³ + ³ ³ + À26 33 55 - 13Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsWhilePageEmpty7} +\begin{paste}{ugLangLoopsWhilePageEmpty7}{ugLangLoopsWhilePagePatch7} +\pastebutton{ugLangLoopsWhilePageEmpty7}{\showpaste} +\tab{5}\spadcommand{m := matrix [[21,37,53,14], [8,-24,22,-16], [2,10,15,14], [26,33,55,-13]]\bound{m2 }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsWhilePagePatch8} +\begin{paste}{ugLangLoopsWhilePageFull8}{ugLangLoopsWhilePageEmpty8} +\pastebutton{ugLangLoopsWhilePageFull8}{\hidepaste} +\tab{5}\spadcommand{r := 1\bound{r }} +\indentrel{3}\begin{verbatim} + (8) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsWhilePageEmpty8} +\begin{paste}{ugLangLoopsWhilePageEmpty8}{ugLangLoopsWhilePagePatch8} +\pastebutton{ugLangLoopsWhilePageEmpty8}{\showpaste} +\tab{5}\spadcommand{r := 1\bound{r }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsWhilePagePatch9} +\begin{paste}{ugLangLoopsWhilePageFull9}{ugLangLoopsWhilePageEmpty9} +\pastebutton{ugLangLoopsWhilePageFull9}{\hidepaste} +\tab{5}\spadcommand{(lastrow, lastcol) := (nrows(m), ncols(m))\bound{lastrow }\bound{lastcol }\free{m2 }} +\indentrel{3}\begin{verbatim} + (9) 4 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsWhilePageEmpty9} +\begin{paste}{ugLangLoopsWhilePageEmpty9}{ugLangLoopsWhilePagePatch9} +\pastebutton{ugLangLoopsWhilePageEmpty9}{\showpaste} +\tab{5}\spadcommand{(lastrow, lastcol) := (nrows(m), ncols(m))\bound{lastrow }\bound{lastcol }\free{m2 }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsWhilePagePatch10} +\begin{paste}{ugLangLoopsWhilePageFull10}{ugLangLoopsWhilePageEmpty10} +\pastebutton{ugLangLoopsWhilePageFull10}{\hidepaste} +\tab{5}\spadcommand{while r <= lastrow repeat + c := 1 -- index of first column + while c <= lastcol repeat + if elt(m,r,c) < 0 then + output [r, c, elt(m,r,c)] + r := lastrow + break -- don't look any further + c := c + 1 + r := r + 1 +\free{m2 r lastrow lastcol }} +\indentrel{3}\begin{verbatim} + [2,2,- 24] + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsWhilePageEmpty10} +\begin{paste}{ugLangLoopsWhilePageEmpty10}{ugLangLoopsWhilePagePatch10} +\pastebutton{ugLangLoopsWhilePageEmpty10}{\showpaste} +\tab{5}\spadcommand{while r <= lastrow repeat + c := 1 -- index of first column + while c <= lastcol repeat + if elt(m,r,c) < 0 then + output [r, c, elt(m,r,c)] + r := lastrow + break -- don't look any further + c := c + 1 + r := r + 1 +\free{m2 r lastrow lastcol }} +\end{paste}\end{patch} + @ \pagehead{ugLangLoopsForInPage}{ug05.ht}{for Loops} <>= @@ -30119,6 +80553,119 @@ for more information about segments. \autobuttons \end{page} +\begin{patch}{ugLangLoopsForInNMPagePatch1} +\begin{paste}{ugLangLoopsForInNMPageFull1}{ugLangLoopsForInNMPageEmpty1} +\pastebutton{ugLangLoopsForInNMPageFull1}{\hidepaste} +\tab{5}\spadcommand{for i in 10..12 repeat output(i**3)} +\indentrel{3}\begin{verbatim} + 1000 + 1331 + 1728 + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsForInNMPageEmpty1} +\begin{paste}{ugLangLoopsForInNMPageEmpty1}{ugLangLoopsForInNMPagePatch1} +\pastebutton{ugLangLoopsForInNMPageEmpty1}{\showpaste} +\tab{5}\spadcommand{for i in 10..12 repeat output(i**3)} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsForInNMPagePatch2} +\begin{paste}{ugLangLoopsForInNMPageFull2}{ugLangLoopsForInNMPageEmpty2} +\pastebutton{ugLangLoopsForInNMPageFull2}{\hidepaste} +\tab{5}\spadcommand{a := [1,2,3]\bound{a }} +\indentrel{3}\begin{verbatim} + (2) [1,2,3] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsForInNMPageEmpty2} +\begin{paste}{ugLangLoopsForInNMPageEmpty2}{ugLangLoopsForInNMPagePatch2} +\pastebutton{ugLangLoopsForInNMPageEmpty2}{\showpaste} +\tab{5}\spadcommand{a := [1,2,3]\bound{a }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsForInNMPagePatch3} +\begin{paste}{ugLangLoopsForInNMPageFull3}{ugLangLoopsForInNMPageEmpty3} +\pastebutton{ugLangLoopsForInNMPageFull3}{\hidepaste} +\tab{5}\spadcommand{for i in 1..\#a repeat output(a.i)\free{a }} +\indentrel{3}\begin{verbatim} + 1 + 2 + 3 + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsForInNMPageEmpty3} +\begin{paste}{ugLangLoopsForInNMPageEmpty3}{ugLangLoopsForInNMPagePatch3} +\pastebutton{ugLangLoopsForInNMPageEmpty3}{\showpaste} +\tab{5}\spadcommand{for i in 1..\#a repeat output(a.i)\free{a }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsForInNMPagePatch4} +\begin{paste}{ugLangLoopsForInNMPageFull4}{ugLangLoopsForInNMPageEmpty4} +\pastebutton{ugLangLoopsForInNMPageFull4}{\hidepaste} +\tab{5}\spadcommand{m := matrix [[1,2],[4,3],[9,0]]\bound{m }} +\indentrel{3}\begin{verbatim} + Ú1 2¿ + ³ ³ + (4) ³4 3³ + ³ ³ + À9 0Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsForInNMPageEmpty4} +\begin{paste}{ugLangLoopsForInNMPageEmpty4}{ugLangLoopsForInNMPagePatch4} +\pastebutton{ugLangLoopsForInNMPageEmpty4}{\showpaste} +\tab{5}\spadcommand{m := matrix [[1,2],[4,3],[9,0]]\bound{m }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsForInNMPagePatch5} +\begin{paste}{ugLangLoopsForInNMPageFull5}{ugLangLoopsForInNMPageEmpty5} +\pastebutton{ugLangLoopsForInNMPageFull5}{\hidepaste} +\tab{5}\spadcommand{for i in 1..nrows(m) repeat output row(m,i)\free{m }} +\indentrel{3}\begin{verbatim} + [1,2] + [4,3] + [9,0] + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsForInNMPageEmpty5} +\begin{paste}{ugLangLoopsForInNMPageEmpty5}{ugLangLoopsForInNMPagePatch5} +\pastebutton{ugLangLoopsForInNMPageEmpty5}{\showpaste} +\tab{5}\spadcommand{for i in 1..nrows(m) repeat output row(m,i)\free{m }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsForInNMPagePatch6} +\begin{paste}{ugLangLoopsForInNMPageFull6}{ugLangLoopsForInNMPageEmpty6} +\pastebutton{ugLangLoopsForInNMPageFull6}{\hidepaste} +\tab{5}\spadcommand{for i in 1..5 repeat + if odd?(i) then iterate + output(i) +} +\indentrel{3}\begin{verbatim} + 2 + 4 + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsForInNMPageEmpty6} +\begin{paste}{ugLangLoopsForInNMPageEmpty6}{ugLangLoopsForInNMPagePatch6} +\pastebutton{ugLangLoopsForInNMPageEmpty6}{\showpaste} +\tab{5}\spadcommand{for i in 1..5 repeat + if odd?(i) then iterate + output(i) +} +\end{paste}\end{patch} + @ \pagehead{ugLangLoopsForInNMSPage}{ug05.ht}{for i in n..m by s repeat} <>= @@ -30153,6 +80700,42 @@ Use this to display the numbers in reverse order. \autobuttons \end{page} +\begin{patch}{ugLangLoopsForInNMSPagePatch1} +\begin{paste}{ugLangLoopsForInNMSPageFull1}{ugLangLoopsForInNMSPageEmpty1} +\pastebutton{ugLangLoopsForInNMSPageFull1}{\hidepaste} +\tab{5}\spadcommand{for i in 1..5 by 2 repeat output(i)} +\indentrel{3}\begin{verbatim} + 1 + 3 + 5 + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsForInNMSPageEmpty1} +\begin{paste}{ugLangLoopsForInNMSPageEmpty1}{ugLangLoopsForInNMSPagePatch1} +\pastebutton{ugLangLoopsForInNMSPageEmpty1}{\showpaste} +\tab{5}\spadcommand{for i in 1..5 by 2 repeat output(i)} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsForInNMSPagePatch2} +\begin{paste}{ugLangLoopsForInNMSPageFull2}{ugLangLoopsForInNMSPageEmpty2} +\pastebutton{ugLangLoopsForInNMSPageFull2}{\hidepaste} +\tab{5}\spadcommand{for i in 5..1 by -2 repeat output(i)} +\indentrel{3}\begin{verbatim} + 5 + 3 + 1 + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsForInNMSPageEmpty2} +\begin{paste}{ugLangLoopsForInNMSPageEmpty2}{ugLangLoopsForInNMSPagePatch2} +\pastebutton{ugLangLoopsForInNMSPageEmpty2}{\showpaste} +\tab{5}\spadcommand{for i in 5..1 by -2 repeat output(i)} +\end{paste}\end{patch} + @ \pagehead{ugLangLoopsForInNPage}{ug05.ht}{for i in n.. repeat} <>= @@ -30179,6 +80762,23 @@ and less than the first prime greater than \axiom{15}. \autobuttons \end{page} +\begin{patch}{ugLangLoopsForInNPagePatch1} +\begin{paste}{ugLangLoopsForInNPageFull1}{ugLangLoopsForInNPageEmpty1} +\pastebutton{ugLangLoopsForInNPageFull1}{\hidepaste} +\tab{5}\spadcommand{for i in 15.. while not prime?(i) repeat output(i)} +\indentrel{3}\begin{verbatim} + 15 + 16 + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsForInNPageEmpty1} +\begin{paste}{ugLangLoopsForInNPageEmpty1}{ugLangLoopsForInNPagePatch1} +\pastebutton{ugLangLoopsForInNPageEmpty1}{\showpaste} +\tab{5}\spadcommand{for i in 15.. while not prime?(i) repeat output(i)} +\end{paste}\end{patch} + @ \pagehead{ugLangLoopsForInXLPage}{ug05.ht}{for x in l repeat} <>= @@ -30235,6 +80835,58 @@ This displays each of the factors of \axiom{2400000}. \autobuttons \end{page} +\begin{patch}{ugLangLoopsForInXLPagePatch1} +\begin{paste}{ugLangLoopsForInXLPageFull1}{ugLangLoopsForInXLPageEmpty1} +\pastebutton{ugLangLoopsForInXLPageFull1}{\hidepaste} +\tab{5}\spadcommand{l := [0,-5,3]\bound{l }} +\indentrel{3}\begin{verbatim} + (1) [0,- 5,3] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsForInXLPageEmpty1} +\begin{paste}{ugLangLoopsForInXLPageEmpty1}{ugLangLoopsForInXLPagePatch1} +\pastebutton{ugLangLoopsForInXLPageEmpty1}{\showpaste} +\tab{5}\spadcommand{l := [0,-5,3]\bound{l }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsForInXLPagePatch2} +\begin{paste}{ugLangLoopsForInXLPageFull2}{ugLangLoopsForInXLPageEmpty2} +\pastebutton{ugLangLoopsForInXLPageFull2}{\hidepaste} +\tab{5}\spadcommand{for x in l repeat output(x)\free{l }} +\indentrel{3}\begin{verbatim} + 0 + - 5 + 3 + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsForInXLPageEmpty2} +\begin{paste}{ugLangLoopsForInXLPageEmpty2}{ugLangLoopsForInXLPagePatch2} +\pastebutton{ugLangLoopsForInXLPageEmpty2}{\showpaste} +\tab{5}\spadcommand{for x in l repeat output(x)\free{l }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsForInXLPagePatch3} +\begin{paste}{ugLangLoopsForInXLPageFull3}{ugLangLoopsForInXLPageEmpty3} +\pastebutton{ugLangLoopsForInXLPageFull3}{\hidepaste} +\tab{5}\spadcommand{for f in factors(factor(2400000)) repeat output(f)} +\indentrel{3}\begin{verbatim} + [factor= 2,exponent= 8] + [factor= 3,exponent= 1] + [factor= 5,exponent= 5] + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsForInXLPageEmpty3} +\begin{paste}{ugLangLoopsForInXLPageEmpty3}{ugLangLoopsForInXLPagePatch3} +\pastebutton{ugLangLoopsForInXLPageEmpty3}{\showpaste} +\tab{5}\spadcommand{for f in factors(factor(2400000)) repeat output(f)} +\end{paste}\end{patch} + @ \pagehead{ugLangLoopsForInPredPage}{ug05.ht}{``Such that'' Predicates} <>= @@ -30283,6 +80935,50 @@ for i in 1..50 repeat \autobuttons \end{page} +\begin{patch}{ugLangLoopsForInPredPagePatch1} +\begin{paste}{ugLangLoopsForInPredPageFull1}{ugLangLoopsForInPredPageEmpty1} +\pastebutton{ugLangLoopsForInPredPageFull1}{\hidepaste} +\tab{5}\spadcommand{for n in 0..4 | odd? n repeat output n} +\indentrel{3}\begin{verbatim} + 1 + 3 + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsForInPredPageEmpty1} +\begin{paste}{ugLangLoopsForInPredPageEmpty1}{ugLangLoopsForInPredPagePatch1} +\pastebutton{ugLangLoopsForInPredPageEmpty1}{\showpaste} +\tab{5}\spadcommand{for n in 0..4 | odd? n repeat output n} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsForInPredPagePatch2} +\begin{paste}{ugLangLoopsForInPredPageFull2}{ugLangLoopsForInPredPageEmpty2} +\pastebutton{ugLangLoopsForInPredPageFull2}{\hidepaste} +\tab{5}\spadcommand{for i in 1..50 repeat + for j in 1..50 | factorial(i+j) < 25 repeat + output [i,j] +} +\indentrel{3}\begin{verbatim} + [1,1] + [1,2] + [1,3] + [2,1] + [2,2] + [3,1] + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsForInPredPageEmpty2} +\begin{paste}{ugLangLoopsForInPredPageEmpty2}{ugLangLoopsForInPredPagePatch2} +\pastebutton{ugLangLoopsForInPredPageEmpty2}{\showpaste} +\tab{5}\spadcommand{for i in 1..50 repeat + for j in 1..50 | factorial(i+j) < 25 repeat + output [i,j] +} +\end{paste}\end{patch} + @ \pagehead{ugLangLoopsParPage}{ug05.ht}{Parallel Iteration} \pageto{notitle}{ugLangLoopsForInPredPage} @@ -30419,6 +81115,177 @@ or any \axiom{for} clause to the left. \autobuttons \end{page} +\begin{patch}{ugLangLoopsParPagePatch1} +\begin{paste}{ugLangLoopsParPageFull1}{ugLangLoopsParPageEmpty1} +\pastebutton{ugLangLoopsParPageFull1}{\hidepaste} +\tab{5}\spadcommand{l := [1,3,5,7]\bound{l }} +\indentrel{3}\begin{verbatim} + (1) [1,3,5,7] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsParPageEmpty1} +\begin{paste}{ugLangLoopsParPageEmpty1}{ugLangLoopsParPagePatch1} +\pastebutton{ugLangLoopsParPageEmpty1}{\showpaste} +\tab{5}\spadcommand{l := [1,3,5,7]\bound{l }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsParPagePatch2} +\begin{paste}{ugLangLoopsParPageFull2}{ugLangLoopsParPageEmpty2} +\pastebutton{ugLangLoopsParPageFull2}{\hidepaste} +\tab{5}\spadcommand{m := [100,200]\bound{m }} +\indentrel{3}\begin{verbatim} + (2) [100,200] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsParPageEmpty2} +\begin{paste}{ugLangLoopsParPageEmpty2}{ugLangLoopsParPagePatch2} +\pastebutton{ugLangLoopsParPageEmpty2}{\showpaste} +\tab{5}\spadcommand{m := [100,200]\bound{m }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsParPagePatch3} +\begin{paste}{ugLangLoopsParPageFull3}{ugLangLoopsParPageEmpty3} +\pastebutton{ugLangLoopsParPageFull3}{\hidepaste} +\tab{5}\spadcommand{sum := 0\bound{sum }} +\indentrel{3}\begin{verbatim} + (3) 0 + Type: NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsParPageEmpty3} +\begin{paste}{ugLangLoopsParPageEmpty3}{ugLangLoopsParPagePatch3} +\pastebutton{ugLangLoopsParPageEmpty3}{\showpaste} +\tab{5}\spadcommand{sum := 0\bound{sum }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsParPagePatch4} +\begin{paste}{ugLangLoopsParPageFull4}{ugLangLoopsParPageEmpty4} +\pastebutton{ugLangLoopsParPageFull4}{\hidepaste} +\tab{5}\spadcommand{for x in l for y in m repeat + sum := sum + x*y +\bound{doit }\free{sum l m }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsParPageEmpty4} +\begin{paste}{ugLangLoopsParPageEmpty4}{ugLangLoopsParPagePatch4} +\pastebutton{ugLangLoopsParPageEmpty4}{\showpaste} +\tab{5}\spadcommand{for x in l for y in m repeat + sum := sum + x*y +\bound{doit }\free{sum l m }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsParPagePatch5} +\begin{paste}{ugLangLoopsParPageFull5}{ugLangLoopsParPageEmpty5} +\pastebutton{ugLangLoopsParPageFull5}{\hidepaste} +\tab{5}\spadcommand{sum\free{doit }} +\indentrel{3}\begin{verbatim} + (5) 700 + Type: NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsParPageEmpty5} +\begin{paste}{ugLangLoopsParPageEmpty5}{ugLangLoopsParPagePatch5} +\pastebutton{ugLangLoopsParPageEmpty5}{\showpaste} +\tab{5}\spadcommand{sum\free{doit }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsParPagePatch6} +\begin{paste}{ugLangLoopsParPageFull6}{ugLangLoopsParPageEmpty6} +\pastebutton{ugLangLoopsParPageFull6}{\hidepaste} +\tab{5}\spadcommand{l := [2,3,5,7,11,13,17,19,23,29,31,37]\bound{l1 }} +\indentrel{3}\begin{verbatim} + (6) [2,3,5,7,11,13,17,19,23,29,31,37] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsParPageEmpty6} +\begin{paste}{ugLangLoopsParPageEmpty6}{ugLangLoopsParPagePatch6} +\pastebutton{ugLangLoopsParPageEmpty6}{\showpaste} +\tab{5}\spadcommand{l := [2,3,5,7,11,13,17,19,23,29,31,37]\bound{l1 }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsParPagePatch7} +\begin{paste}{ugLangLoopsParPageFull7}{ugLangLoopsParPageEmpty7} +\pastebutton{ugLangLoopsParPageFull7}{\hidepaste} +\tab{5}\spadcommand{sum := 0\bound{sum1 }} +\indentrel{3}\begin{verbatim} + (7) 0 + Type: NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsParPageEmpty7} +\begin{paste}{ugLangLoopsParPageEmpty7}{ugLangLoopsParPagePatch7} +\pastebutton{ugLangLoopsParPageEmpty7}{\showpaste} +\tab{5}\spadcommand{sum := 0\bound{sum1 }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsParPagePatch8} +\begin{paste}{ugLangLoopsParPageFull8}{ugLangLoopsParPageEmpty8} +\pastebutton{ugLangLoopsParPageFull8}{\hidepaste} +\tab{5}\spadcommand{for i in 0.. for x in l repeat sum := i * x\bound{doit1 }\free{sum1 l1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsParPageEmpty8} +\begin{paste}{ugLangLoopsParPageEmpty8}{ugLangLoopsParPagePatch8} +\pastebutton{ugLangLoopsParPageEmpty8}{\showpaste} +\tab{5}\spadcommand{for i in 0.. for x in l repeat sum := i * x\bound{doit1 }\free{sum1 l1 }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsParPagePatch9} +\begin{paste}{ugLangLoopsParPageFull9}{ugLangLoopsParPageEmpty9} +\pastebutton{ugLangLoopsParPageFull9}{\hidepaste} +\tab{5}\spadcommand{sum\free{doit1 }} +\indentrel{3}\begin{verbatim} + (9) 407 + Type: NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsParPageEmpty9} +\begin{paste}{ugLangLoopsParPageEmpty9}{ugLangLoopsParPagePatch9} +\pastebutton{ugLangLoopsParPageEmpty9}{\showpaste} +\tab{5}\spadcommand{sum\free{doit1 }} +\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsParPagePatch10} +\begin{paste}{ugLangLoopsParPageFull10}{ugLangLoopsParPageEmpty10} +\pastebutton{ugLangLoopsParPageFull10}{\hidepaste} +\tab{5}\spadcommand{for i in 1..10 + for j in 151..160 | odd? j + while i + j < 160 repeat + output [i,j] +} +\indentrel{3}\begin{verbatim} + [1,151] + [3,153] + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangLoopsParPageEmpty10} +\begin{paste}{ugLangLoopsParPageEmpty10}{ugLangLoopsParPagePatch10} +\pastebutton{ugLangLoopsParPageEmpty10}{\showpaste} +\tab{5}\spadcommand{for i in 1..10 + for j in 151..160 | odd? j + while i + j < 160 repeat + output [i,j] +} +\end{paste}\end{patch} + @ \pagehead{ugLangItsPage}{ug05.ht}{Creating Lists and Streams with Iterators} \pageto{notitle}{ugLangLoopsPage} @@ -30547,6 +81414,221 @@ manipulating lists and streams, respectively. \autobuttons \end{page} +\begin{patch}{ugLangItsPagePatch1} +\begin{paste}{ugLangItsPageFull1}{ugLangItsPageEmpty1} +\pastebutton{ugLangItsPageFull1}{\hidepaste} +\tab{5}\spadcommand{list := [i for i in 1..10]\bound{list }} +\indentrel{3}\begin{verbatim} + (1) [1,2,3,4,5,6,7,8,9,10] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangItsPageEmpty1} +\begin{paste}{ugLangItsPageEmpty1}{ugLangItsPagePatch1} +\pastebutton{ugLangItsPageEmpty1}{\showpaste} +\tab{5}\spadcommand{list := [i for i in 1..10]\bound{list }} +\end{paste}\end{patch} + +\begin{patch}{ugLangItsPagePatch2} +\begin{paste}{ugLangItsPageFull2}{ugLangItsPageEmpty2} +\pastebutton{ugLangItsPageFull2}{\hidepaste} +\tab{5}\spadcommand{stream := [i for i in 1..]\bound{stream }} +\indentrel{3}\begin{verbatim} + (2) [1,2,3,4,5,6,7,8,9,10,...] + Type: Stream PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangItsPageEmpty2} +\begin{paste}{ugLangItsPageEmpty2}{ugLangItsPagePatch2} +\pastebutton{ugLangItsPageEmpty2}{\showpaste} +\tab{5}\spadcommand{stream := [i for i in 1..]\bound{stream }} +\end{paste}\end{patch} + +\begin{patch}{ugLangItsPagePatch3} +\begin{paste}{ugLangItsPageFull3}{ugLangItsPageEmpty3} +\pastebutton{ugLangItsPageFull3}{\hidepaste} +\tab{5}\spadcommand{[i for i in 1..10 | prime? i]} +\indentrel{3}\begin{verbatim} + (3) [2,3,5,7] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangItsPageEmpty3} +\begin{paste}{ugLangItsPageEmpty3}{ugLangItsPagePatch3} +\pastebutton{ugLangItsPageEmpty3}{\showpaste} +\tab{5}\spadcommand{[i for i in 1..10 | prime? i]} +\end{paste}\end{patch} + +\begin{patch}{ugLangItsPagePatch4} +\begin{paste}{ugLangItsPageFull4}{ugLangItsPageEmpty4} +\pastebutton{ugLangItsPageFull4}{\hidepaste} +\tab{5}\spadcommand{[i for i in 1.. | prime? i]} +\indentrel{3}\begin{verbatim} + (4) [2,3,5,7,11,13,17,19,23,29,...] + Type: Stream PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangItsPageEmpty4} +\begin{paste}{ugLangItsPageEmpty4}{ugLangItsPagePatch4} +\pastebutton{ugLangItsPageEmpty4}{\showpaste} +\tab{5}\spadcommand{[i for i in 1.. | prime? i]} +\end{paste}\end{patch} + +\begin{patch}{ugLangItsPagePatch5} +\begin{paste}{ugLangItsPageFull5}{ugLangItsPageEmpty5} +\pastebutton{ugLangItsPageFull5}{\hidepaste} +\tab{5}\spadcommand{[i for i in 1..10 while i*i < 700]} +\indentrel{3}\begin{verbatim} + (5) [1,2,3,4,5,6,7,8,9,10] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangItsPageEmpty5} +\begin{paste}{ugLangItsPageEmpty5}{ugLangItsPagePatch5} +\pastebutton{ugLangItsPageEmpty5}{\showpaste} +\tab{5}\spadcommand{[i for i in 1..10 while i*i < 700]} +\end{paste}\end{patch} + +\begin{patch}{ugLangItsPagePatch6} +\begin{paste}{ugLangItsPageFull6}{ugLangItsPageEmpty6} +\pastebutton{ugLangItsPageFull6}{\hidepaste} +\tab{5}\spadcommand{[i for i in 1.. while i*i < 700]} +\indentrel{3}\begin{verbatim} + (6) [1,2,3,4,5,6,7,8,9,10,...] + Type: Stream PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangItsPageEmpty6} +\begin{paste}{ugLangItsPageEmpty6}{ugLangItsPagePatch6} +\pastebutton{ugLangItsPageEmpty6}{\showpaste} +\tab{5}\spadcommand{[i for i in 1.. while i*i < 700]} +\end{paste}\end{patch} + +\begin{patch}{ugLangItsPagePatch7} +\begin{paste}{ugLangItsPageFull7}{ugLangItsPageEmpty7} +\pastebutton{ugLangItsPageFull7}{\hidepaste} +\tab{5}\spadcommand{matrix [[x**i+j for i in 1..3] for j in 10..12]} +\indentrel{3}\begin{verbatim} + Ú 2 3 ¿ + ³x + 10 x + 10 x + 10³ + ³ ³ + (7) ³ 2 3 ³ + ³x + 11 x + 11 x + 11³ + ³ ³ + ³ 2 3 ³ + Àx + 12 x + 12 x + 12Ù + Type: Matrix Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangItsPageEmpty7} +\begin{paste}{ugLangItsPageEmpty7}{ugLangItsPagePatch7} +\pastebutton{ugLangItsPageEmpty7}{\showpaste} +\tab{5}\spadcommand{matrix [[x**i+j for i in 1..3] for j in 10..12]} +\end{paste}\end{patch} + +\begin{patch}{ugLangItsPagePatch8} +\begin{paste}{ugLangItsPageFull8}{ugLangItsPageEmpty8} +\pastebutton{ugLangItsPageFull8}{\hidepaste} +\tab{5}\spadcommand{[[i/j for i in j+1..] for j in 1..]} +\indentrel{3}\begin{verbatim} + (8) + [[2,3,4,5,6,7,8,9,10,11,...], + 3 5 7 9 11 + [Ä,2,Ä,3,Ä,4,Ä,5,ÄÄ,6,...], + 2 2 2 2 2 + 4 5 7 8 10 11 13 + [Ä,Ä,2,Ä,Ä,3,ÄÄ,ÄÄ,4,ÄÄ,...], + 3 3 3 3 3 3 3 + 5 3 7 9 5 11 13 7 + [Ä,Ä,Ä,2,Ä,Ä,ÄÄ,3,ÄÄ,Ä,...], + 4 2 4 4 2 4 4 2 + 6 7 8 9 11 12 13 14 + [Ä,Ä,Ä,Ä,2,ÄÄ,ÄÄ,ÄÄ,ÄÄ,3,...], + 5 5 5 5 5 5 5 5 + 7 4 3 5 11 13 7 5 8 + [Ä,Ä,Ä,Ä,ÄÄ,2,ÄÄ,Ä,Ä,Ä,...], + 6 3 2 3 6 6 3 2 3 + 8 9 10 11 12 13 15 16 17 + [Ä,Ä,ÄÄ,ÄÄ,ÄÄ,ÄÄ,2,ÄÄ,ÄÄ,ÄÄ,...], + 7 7 7 7 7 7 7 7 7 + 9 5 11 3 13 7 15 17 9 + [Ä,Ä,ÄÄ,Ä,ÄÄ,Ä,ÄÄ,2,ÄÄ,Ä,...], + 8 4 8 2 8 4 8 8 4 + 10 11 4 13 14 5 16 17 19 + [ÄÄ,ÄÄ,Ä,ÄÄ,ÄÄ,Ä,ÄÄ,ÄÄ,2,ÄÄ,...], + 9 9 3 9 9 3 9 9 9 + 11 6 13 7 3 8 17 9 19 + [ÄÄ,Ä,ÄÄ,Ä,Ä,Ä,ÄÄ,Ä,ÄÄ,2,...], ...] + 10 5 10 5 2 5 10 5 10 + Type: Stream Stream Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangItsPageEmpty8} +\begin{paste}{ugLangItsPageEmpty8}{ugLangItsPagePatch8} +\pastebutton{ugLangItsPageEmpty8}{\showpaste} +\tab{5}\spadcommand{[[i/j for i in j+1..] for j in 1..]} +\end{paste}\end{patch} + +\begin{patch}{ugLangItsPagePatch9} +\begin{paste}{ugLangItsPageFull9}{ugLangItsPageEmpty9} +\pastebutton{ugLangItsPageFull9}{\hidepaste} +\tab{5}\spadcommand{[i/j for i in 3.. by 10 for j in 2..]} +\indentrel{3}\begin{verbatim} + 3 13 23 33 43 53 63 73 83 93 + (9) [Ä,ÄÄ,ÄÄ,ÄÄ,ÄÄ,ÄÄ,ÄÄ,ÄÄ,ÄÄ,ÄÄ,...] + 2 3 4 5 6 7 8 9 10 11 + Type: Stream Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangItsPageEmpty9} +\begin{paste}{ugLangItsPageEmpty9}{ugLangItsPagePatch9} +\pastebutton{ugLangItsPageEmpty9}{\showpaste} +\tab{5}\spadcommand{[i/j for i in 3.. by 10 for j in 2..]} +\end{paste}\end{patch} + +\begin{patch}{ugLangItsPagePatch10} +\begin{paste}{ugLangItsPageFull10}{ugLangItsPageEmpty10} +\pastebutton{ugLangItsPageFull10}{\hidepaste} +\tab{5}\spadcommand{[i**j for i in 1..7 for j in 2.. ]} +\indentrel{3}\begin{verbatim} + (10) [1,8,81,1024,15625,279936,5764801] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangItsPageEmpty10} +\begin{paste}{ugLangItsPageEmpty10}{ugLangItsPagePatch10} +\pastebutton{ugLangItsPageEmpty10}{\showpaste} +\tab{5}\spadcommand{[i**j for i in 1..7 for j in 2.. ]} +\end{paste}\end{patch} + +\begin{patch}{ugLangItsPagePatch11} +\begin{paste}{ugLangItsPageFull11}{ugLangItsPageEmpty11} +\pastebutton{ugLangItsPageFull11}{\hidepaste} +\tab{5}\spadcommand{[[[i,j] for i in 10..15 | prime? i] for j in 17..22 | j = squareFreePart j]} +\indentrel{3}\begin{verbatim} + (11) + [[[11,17],[13,17]], [[11,19],[13,19]], + [[11,21],[13,21]], [[11,22],[13,22]]] + Type: List List List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangItsPageEmpty11} +\begin{paste}{ugLangItsPageEmpty11}{ugLangItsPagePatch11} +\pastebutton{ugLangItsPageEmpty11}{\showpaste} +\tab{5}\spadcommand{[[[i,j] for i in 10..15 | prime? i] for j in 17..22 | j = squareFreePart j]} +\end{paste}\end{patch} + @ \pagehead{ugLangStreamsPrimesPage}{ug05.ht}{An Example: Streams of Primes} <>= @@ -30703,6 +81785,187 @@ it left off. \autobuttons \end{page} +\begin{patch}{ugLangStreamsPrimesPagePatch1} +\begin{paste}{ugLangStreamsPrimesPageFull1}{ugLangStreamsPrimesPageEmpty1} +\pastebutton{ugLangStreamsPrimesPageFull1}{\hidepaste} +\tab{5}\spadcommand{primes : Stream Integer := [i for i in 2.. | prime? i]} +\indentrel{3}\begin{verbatim} + (1) [2,3,5,7,11,13,17,19,23,29,...] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangStreamsPrimesPageEmpty1} +\begin{paste}{ugLangStreamsPrimesPageEmpty1}{ugLangStreamsPrimesPagePatch1} +\pastebutton{ugLangStreamsPrimesPageEmpty1}{\showpaste} +\tab{5}\spadcommand{primes : Stream Integer := [i for i in 2.. | prime? i]} +\end{paste}\end{patch} + +\begin{patch}{ugLangStreamsPrimesPagePatch2} +\begin{paste}{ugLangStreamsPrimesPageFull2}{ugLangStreamsPrimesPageEmpty2} +\pastebutton{ugLangStreamsPrimesPageFull2}{\hidepaste} +\tab{5}\spadcommand{primes := generate(nextPrime,2)} +\indentrel{3}\begin{verbatim} + (2) [2,3,5,7,11,13,17,19,23,29,...] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangStreamsPrimesPageEmpty2} +\begin{paste}{ugLangStreamsPrimesPageEmpty2}{ugLangStreamsPrimesPagePatch2} +\pastebutton{ugLangStreamsPrimesPageEmpty2}{\showpaste} +\tab{5}\spadcommand{primes := generate(nextPrime,2)} +\end{paste}\end{patch} + +\begin{patch}{ugLangStreamsPrimesPagePatch3} +\begin{paste}{ugLangStreamsPrimesPageFull3}{ugLangStreamsPrimesPageEmpty3} +\pastebutton{ugLangStreamsPrimesPageFull3}{\hidepaste} +\tab{5}\spadcommand{smallPrimes := [p for p in primes | p > 1000]\bound{smallPrimes }} +\indentrel{3}\begin{verbatim} + (3) + [1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,...] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangStreamsPrimesPageEmpty3} +\begin{paste}{ugLangStreamsPrimesPageEmpty3}{ugLangStreamsPrimesPagePatch3} +\pastebutton{ugLangStreamsPrimesPageEmpty3}{\showpaste} +\tab{5}\spadcommand{smallPrimes := [p for p in primes | p > 1000]\bound{smallPrimes }} +\end{paste}\end{patch} + +\begin{patch}{ugLangStreamsPrimesPagePatch4} +\begin{paste}{ugLangStreamsPrimesPageFull4}{ugLangStreamsPrimesPageEmpty4} +\pastebutton{ugLangStreamsPrimesPageFull4}{\hidepaste} +\tab{5}\spadcommand{[p for p in smallPrimes for i in 1..11]\free{smallPrimes }} +\indentrel{3}\begin{verbatim} + (4) + [1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,...] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangStreamsPrimesPageEmpty4} +\begin{paste}{ugLangStreamsPrimesPageEmpty4}{ugLangStreamsPrimesPagePatch4} +\pastebutton{ugLangStreamsPrimesPageEmpty4}{\showpaste} +\tab{5}\spadcommand{[p for p in smallPrimes for i in 1..11]\free{smallPrimes }} +\end{paste}\end{patch} + +\begin{patch}{ugLangStreamsPrimesPagePatch5} +\begin{paste}{ugLangStreamsPrimesPageFull5}{ugLangStreamsPrimesPageEmpty5} +\pastebutton{ugLangStreamsPrimesPageFull5}{\hidepaste} +\tab{5}\spadcommand{[p for p in smallPrimes while p < 1200]\free{smallPrimes }} +\indentrel{3}\begin{verbatim} + (5) + [1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,...] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangStreamsPrimesPageEmpty5} +\begin{paste}{ugLangStreamsPrimesPageEmpty5}{ugLangStreamsPrimesPagePatch5} +\pastebutton{ugLangStreamsPrimesPageEmpty5}{\showpaste} +\tab{5}\spadcommand{[p for p in smallPrimes while p < 1200]\free{smallPrimes }} +\end{paste}\end{patch} + +\begin{patch}{ugLangStreamsPrimesPagePatch6} +\begin{paste}{ugLangStreamsPrimesPageFull6}{ugLangStreamsPrimesPageEmpty6} +\pastebutton{ugLangStreamsPrimesPageFull6}{\hidepaste} +\tab{5}\spadcommand{complete \%} +\indentrel{3}\begin{verbatim} + (6) + [1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,...] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangStreamsPrimesPageEmpty6} +\begin{paste}{ugLangStreamsPrimesPageEmpty6}{ugLangStreamsPrimesPagePatch6} +\pastebutton{ugLangStreamsPrimesPageEmpty6}{\showpaste} +\tab{5}\spadcommand{complete \%} +\end{paste}\end{patch} + +\begin{patch}{ugLangStreamsPrimesPagePatch7} +\begin{paste}{ugLangStreamsPrimesPageFull7}{ugLangStreamsPrimesPageEmpty7} +\pastebutton{ugLangStreamsPrimesPageFull7}{\hidepaste} +\tab{5}\spadcommand{twinPrimes := [[p,p+2] for p in primes | prime?(p + 2)]} +\indentrel{3}\begin{verbatim} + (7) + [[3,5], [5,7], [11,13], [17,19], [29,31], [41,43], + [59,61], [71,73], [101,103], [107,109], ...] + Type: Stream List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangStreamsPrimesPageEmpty7} +\begin{paste}{ugLangStreamsPrimesPageEmpty7}{ugLangStreamsPrimesPagePatch7} +\pastebutton{ugLangStreamsPrimesPageEmpty7}{\showpaste} +\tab{5}\spadcommand{twinPrimes := [[p,p+2] for p in primes | prime?(p + 2)]} +\end{paste}\end{patch} + +\begin{patch}{ugLangStreamsPrimesPagePatch8} +\begin{paste}{ugLangStreamsPrimesPageFull8}{ugLangStreamsPrimesPageEmpty8} +\pastebutton{ugLangStreamsPrimesPageFull8}{\hidepaste} +\tab{5}\spadcommand{firstOfTwins:= [p for p in primes for q in rest primes | q=p+2]} +\indentrel{3}\begin{verbatim} + (8) [3,5,11,17,29,41,59,71,101,107,...] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangStreamsPrimesPageEmpty8} +\begin{paste}{ugLangStreamsPrimesPageEmpty8}{ugLangStreamsPrimesPagePatch8} +\pastebutton{ugLangStreamsPrimesPageEmpty8}{\showpaste} +\tab{5}\spadcommand{firstOfTwins:= [p for p in primes for q in rest primes | q=p+2]} +\end{paste}\end{patch} + +\begin{patch}{ugLangStreamsPrimesPagePatch9} +\begin{paste}{ugLangStreamsPrimesPageFull9}{ugLangStreamsPrimesPageEmpty9} +\pastebutton{ugLangStreamsPrimesPageFull9}{\hidepaste} +\tab{5}\spadcommand{firstTriplets := [p for p in firstOfTwins for q in rest firstOfTwins | q = p+2];} +\indentrel{3}\begin{verbatim} + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangStreamsPrimesPageEmpty9} +\begin{paste}{ugLangStreamsPrimesPageEmpty9}{ugLangStreamsPrimesPagePatch9} +\pastebutton{ugLangStreamsPrimesPageEmpty9}{\showpaste} +\tab{5}\spadcommand{firstTriplets := [p for p in firstOfTwins for q in rest firstOfTwins | q = p+2];} +\end{paste}\end{patch} + +\begin{patch}{ugLangStreamsPrimesPagePatch10} +\begin{paste}{ugLangStreamsPrimesPageFull10}{ugLangStreamsPrimesPageEmpty10} +\pastebutton{ugLangStreamsPrimesPageFull10}{\hidepaste} +\tab{5}\spadcommand{firstTriplets.1} +\indentrel{3}\begin{verbatim} + (10) 3 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangStreamsPrimesPageEmpty10} +\begin{paste}{ugLangStreamsPrimesPageEmpty10}{ugLangStreamsPrimesPagePatch10} +\pastebutton{ugLangStreamsPrimesPageEmpty10}{\showpaste} +\tab{5}\spadcommand{firstTriplets.1} +\end{paste}\end{patch} + +\begin{patch}{ugLangStreamsPrimesPagePatch11} +\begin{paste}{ugLangStreamsPrimesPageFull11}{ugLangStreamsPrimesPageEmpty11} +\pastebutton{ugLangStreamsPrimesPageFull11}{\hidepaste} +\tab{5}\spadcommand{primes.2045} +\indentrel{3}\begin{verbatim} + (11) 17837 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugLangStreamsPrimesPageEmpty11} +\begin{paste}{ugLangStreamsPrimesPageEmpty11}{ugLangStreamsPrimesPagePatch11} +\pastebutton{ugLangStreamsPrimesPageEmpty11}{\showpaste} +\tab{5}\spadcommand{primes.2045} +\end{paste}\end{patch} + @ \chapter{Users Guide Chapter 6 (ug06.ht)} \pagehead{ugUserPage}{ug06.ht}{User-Defined Functions, Macros and Rules} @@ -30840,6 +82103,38 @@ macros are extensions to the Axiom expression parser. \autobuttons \end{page} +\begin{patch}{ugUserFunMacPagePatch1} +\begin{paste}{ugUserFunMacPageFull1}{ugUserFunMacPageEmpty1} +\pastebutton{ugUserFunMacPageFull1}{\hidepaste} +\tab{5}\spadcommand{abs(-8)} +\indentrel{3}\begin{verbatim} + (1) 8 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFunMacPageEmpty1} +\begin{paste}{ugUserFunMacPageEmpty1}{ugUserFunMacPagePatch1} +\pastebutton{ugUserFunMacPageEmpty1}{\showpaste} +\tab{5}\spadcommand{abs(-8)} +\end{paste}\end{patch} + +\begin{patch}{ugUserFunMacPagePatch2} +\begin{paste}{ugUserFunMacPageFull2}{ugUserFunMacPageEmpty2} +\pastebutton{ugUserFunMacPageFull2}{\hidepaste} +\tab{5}\spadcommand{(x +-> if x < 0 then -x else x)(-8)} +\indentrel{3}\begin{verbatim} + (2) 8 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFunMacPageEmpty2} +\begin{paste}{ugUserFunMacPageEmpty2}{ugUserFunMacPagePatch2} +\pastebutton{ugUserFunMacPageEmpty2}{\showpaste} +\tab{5}\spadcommand{(x +-> if x < 0 then -x else x)(-8)} +\end{paste}\end{patch} + @ \pagehead{ugUserMacrosPage}{ug06.ht}{Macros} <>= @@ -30964,6 +82259,277 @@ use the library operation \axiomFun{fibonacci}. \autobuttons \end{page} +\begin{patch}{ugUserMacrosPagePatch1} +\begin{paste}{ugUserMacrosPageFull1}{ugUserMacrosPageEmpty1} +\pastebutton{ugUserMacrosPageFull1}{\hidepaste} +\tab{5}\spadcommand{macro df == D\bound{df }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPageEmpty1} +\begin{paste}{ugUserMacrosPageEmpty1}{ugUserMacrosPagePatch1} +\pastebutton{ugUserMacrosPageEmpty1}{\showpaste} +\tab{5}\spadcommand{macro df == D\bound{df }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPagePatch2} +\begin{paste}{ugUserMacrosPageFull2}{ugUserMacrosPageEmpty2} +\pastebutton{ugUserMacrosPageFull2}{\hidepaste} +\tab{5}\spadcommand{df(x**2 + x + 1,x)\free{df }} +\indentrel{3}\begin{verbatim} + (2) 2x + 1 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPageEmpty2} +\begin{paste}{ugUserMacrosPageEmpty2}{ugUserMacrosPagePatch2} +\pastebutton{ugUserMacrosPageEmpty2}{\showpaste} +\tab{5}\spadcommand{df(x**2 + x + 1,x)\free{df }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPagePatch3} +\begin{paste}{ugUserMacrosPageFull3}{ugUserMacrosPageEmpty3} +\pastebutton{ugUserMacrosPageFull3}{\hidepaste} +\tab{5}\spadcommand{macro ff(x) == x**2 + 1\bound{ff }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPageEmpty3} +\begin{paste}{ugUserMacrosPageEmpty3}{ugUserMacrosPagePatch3} +\pastebutton{ugUserMacrosPageEmpty3}{\showpaste} +\tab{5}\spadcommand{macro ff(x) == x**2 + 1\bound{ff }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPagePatch4} +\begin{paste}{ugUserMacrosPageFull4}{ugUserMacrosPageEmpty4} +\pastebutton{ugUserMacrosPageFull4}{\hidepaste} +\tab{5}\spadcommand{ff z\free{ff }} +\indentrel{3}\begin{verbatim} + 2 + (4) z + 1 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPageEmpty4} +\begin{paste}{ugUserMacrosPageEmpty4}{ugUserMacrosPagePatch4} +\pastebutton{ugUserMacrosPageEmpty4}{\showpaste} +\tab{5}\spadcommand{ff z\free{ff }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPagePatch5} +\begin{paste}{ugUserMacrosPageFull5}{ugUserMacrosPageEmpty5} +\pastebutton{ugUserMacrosPageFull5}{\hidepaste} +\tab{5}\spadcommand{macro gg(x) == ff(2*x - 2/3)\bound{gg }\free{ff }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPageEmpty5} +\begin{paste}{ugUserMacrosPageEmpty5}{ugUserMacrosPagePatch5} +\pastebutton{ugUserMacrosPageEmpty5}{\showpaste} +\tab{5}\spadcommand{macro gg(x) == ff(2*x - 2/3)\bound{gg }\free{ff }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPagePatch6} +\begin{paste}{ugUserMacrosPageFull6}{ugUserMacrosPageEmpty6} +\pastebutton{ugUserMacrosPageFull6}{\hidepaste} +\tab{5}\spadcommand{gg(1/w)\free{gg }} +\indentrel{3}\begin{verbatim} + 2 + 13w - 24w + 36 + (6) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 2 + 9w + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPageEmpty6} +\begin{paste}{ugUserMacrosPageEmpty6}{ugUserMacrosPagePatch6} +\pastebutton{ugUserMacrosPageEmpty6}{\showpaste} +\tab{5}\spadcommand{gg(1/w)\free{gg }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPagePatch7} +\begin{paste}{ugUserMacrosPageFull7}{ugUserMacrosPageEmpty7} +\pastebutton{ugUserMacrosPageFull7}{\hidepaste} +\tab{5}\spadcommand{macro ff(x) == gg(-x)\free{gg }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPageEmpty7} +\begin{paste}{ugUserMacrosPageEmpty7}{ugUserMacrosPagePatch7} +\pastebutton{ugUserMacrosPageEmpty7}{\showpaste} +\tab{5}\spadcommand{macro ff(x) == gg(-x)\free{gg }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPagePatch8} +\begin{paste}{ugUserMacrosPageFull8}{ugUserMacrosPageEmpty8} +\pastebutton{ugUserMacrosPageFull8}{\hidepaste} +\tab{5}\spadcommand{macro next == (past := present; present := future; future := past + present)\bound{next }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPageEmpty8} +\begin{paste}{ugUserMacrosPageEmpty8}{ugUserMacrosPagePatch8} +\pastebutton{ugUserMacrosPageEmpty8}{\showpaste} +\tab{5}\spadcommand{macro next == (past := present; present := future; future := past + present)\bound{next }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPagePatch9} +\begin{paste}{ugUserMacrosPageFull9}{ugUserMacrosPageEmpty9} +\pastebutton{ugUserMacrosPageFull9}{\hidepaste} +\tab{5}\spadcommand{present : Integer := 0\bound{present }} +\indentrel{3}\begin{verbatim} + (9) 0 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPageEmpty9} +\begin{paste}{ugUserMacrosPageEmpty9}{ugUserMacrosPagePatch9} +\pastebutton{ugUserMacrosPageEmpty9}{\showpaste} +\tab{5}\spadcommand{present : Integer := 0\bound{present }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPagePatch10} +\begin{paste}{ugUserMacrosPageFull10}{ugUserMacrosPageEmpty10} +\pastebutton{ugUserMacrosPageFull10}{\hidepaste} +\tab{5}\spadcommand{future : Integer := 1\bound{future }} +\indentrel{3}\begin{verbatim} + (10) 1 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPageEmpty10} +\begin{paste}{ugUserMacrosPageEmpty10}{ugUserMacrosPagePatch10} +\pastebutton{ugUserMacrosPageEmpty10}{\showpaste} +\tab{5}\spadcommand{future : Integer := 1\bound{future }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPagePatch11} +\begin{paste}{ugUserMacrosPageFull11}{ugUserMacrosPageEmpty11} +\pastebutton{ugUserMacrosPageFull11}{\hidepaste} +\tab{5}\spadcommand{next\free{future }\free{present }} +\indentrel{3}\begin{verbatim} + (11) 1 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPageEmpty11} +\begin{paste}{ugUserMacrosPageEmpty11}{ugUserMacrosPagePatch11} +\pastebutton{ugUserMacrosPageEmpty11}{\showpaste} +\tab{5}\spadcommand{next\free{future }\free{present }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPagePatch12} +\begin{paste}{ugUserMacrosPageFull12}{ugUserMacrosPageEmpty12} +\pastebutton{ugUserMacrosPageFull12}{\hidepaste} +\tab{5}\spadcommand{next\free{future }\free{present }} +\indentrel{3}\begin{verbatim} + (12) 2 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPageEmpty12} +\begin{paste}{ugUserMacrosPageEmpty12}{ugUserMacrosPagePatch12} +\pastebutton{ugUserMacrosPageEmpty12}{\showpaste} +\tab{5}\spadcommand{next\free{future }\free{present }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPagePatch13} +\begin{paste}{ugUserMacrosPageFull13}{ugUserMacrosPageEmpty13} +\pastebutton{ugUserMacrosPageFull13}{\hidepaste} +\tab{5}\spadcommand{[next for i in 1..]\free{future }\free{present }} +\indentrel{3}\begin{verbatim} + (13) [3,5,8,13,21,34,55,89,144,233,...] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPageEmpty13} +\begin{paste}{ugUserMacrosPageEmpty13}{ugUserMacrosPagePatch13} +\pastebutton{ugUserMacrosPageEmpty13}{\showpaste} +\tab{5}\spadcommand{[next for i in 1..]\free{future }\free{present }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPagePatch14} +\begin{paste}{ugUserMacrosPageFull14}{ugUserMacrosPageEmpty14} +\pastebutton{ugUserMacrosPageFull14}{\hidepaste} +\tab{5}\spadcommand{macro fibStream == + present : Integer := 1 + future : Integer := 1 + [next for i in 1..] where + macro next == + past := present + present := future + future := past + present +\bound{fibstr }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPageEmpty14} +\begin{paste}{ugUserMacrosPageEmpty14}{ugUserMacrosPagePatch14} +\pastebutton{ugUserMacrosPageEmpty14}{\showpaste} +\tab{5}\spadcommand{macro fibStream == + present : Integer := 1 + future : Integer := 1 + [next for i in 1..] where + macro next == + past := present + present := future + future := past + present +\bound{fibstr }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPagePatch15} +\begin{paste}{ugUserMacrosPageFull15}{ugUserMacrosPageEmpty15} +\pastebutton{ugUserMacrosPageFull15}{\hidepaste} +\tab{5}\spadcommand{concat([0,1],fibStream)\free{fibstr }} +\indentrel{3}\begin{verbatim} + (15) [0,1,2,3,5,8,13,21,34,55,...] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPageEmpty15} +\begin{paste}{ugUserMacrosPageEmpty15}{ugUserMacrosPagePatch15} +\pastebutton{ugUserMacrosPageEmpty15}{\showpaste} +\tab{5}\spadcommand{concat([0,1],fibStream)\free{fibstr }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPagePatch16} +\begin{paste}{ugUserMacrosPageFull16}{ugUserMacrosPageEmpty16} +\pastebutton{ugUserMacrosPageFull16}{\hidepaste} +\tab{5}\spadcommand{[fibonacci i for i in 1..]} +\indentrel{3}\begin{verbatim} + (16) [1,1,2,3,5,8,13,21,34,55,...] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMacrosPageEmpty16} +\begin{paste}{ugUserMacrosPageEmpty16}{ugUserMacrosPagePatch16} +\pastebutton{ugUserMacrosPageEmpty16}{\showpaste} +\tab{5}\spadcommand{[fibonacci i for i in 1..]} +\end{paste}\end{patch} + @ \pagehead{ugUserIntroPage}{ug06.ht}{Introduction to Functions} \pageto{notitle}{ugTypesPkgCallPage} @@ -31061,6 +82627,55 @@ but with different functions. \autobuttons \end{page} +\begin{patch}{ugUserIntroPagePatch1} +\begin{paste}{ugUserIntroPageFull1}{ugUserIntroPageEmpty1} +\pastebutton{ugUserIntroPageFull1}{\hidepaste} +\tab{5}\spadcommand{factor(12)} +\indentrel{3}\begin{verbatim} + 2 + (1) 2 3 + Type: Factored Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserIntroPageEmpty1} +\begin{paste}{ugUserIntroPageEmpty1}{ugUserIntroPagePatch1} +\pastebutton{ugUserIntroPageEmpty1}{\showpaste} +\tab{5}\spadcommand{factor(12)} +\end{paste}\end{patch} + +\begin{patch}{ugUserIntroPagePatch2} +\begin{paste}{ugUserIntroPageFull2}{ugUserIntroPageEmpty2} +\pastebutton{ugUserIntroPageFull2}{\hidepaste} +\tab{5}\spadcommand{3 + 4} +\indentrel{3}\begin{verbatim} + (2) 7 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserIntroPageEmpty2} +\begin{paste}{ugUserIntroPageEmpty2}{ugUserIntroPagePatch2} +\pastebutton{ugUserIntroPageEmpty2}{\showpaste} +\tab{5}\spadcommand{3 + 4} +\end{paste}\end{patch} + +\begin{patch}{ugUserIntroPagePatch3} +\begin{paste}{ugUserIntroPageFull3}{ugUserIntroPageEmpty3} +\pastebutton{ugUserIntroPageFull3}{\hidepaste} +\tab{5}\spadcommand{1 + 2 + 7} +\indentrel{3}\begin{verbatim} + (3) 10 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserIntroPageEmpty3} +\begin{paste}{ugUserIntroPageEmpty3}{ugUserIntroPagePatch3} +\pastebutton{ugUserIntroPageEmpty3}{\showpaste} +\tab{5}\spadcommand{1 + 2 + 7} +\end{paste}\end{patch} + @ \pagehead{ugUserDeclarePage}{ug06.ht}{Declaring the Type of Functions} \pageto{notitle}{ugTypesDeclarePage} @@ -31145,6 +82760,81 @@ in Section 2.3\ignore{ugTypesDeclare}. \autobuttons \end{page} +\begin{patch}{ugUserDeclarePagePatch1} +\begin{paste}{ugUserDeclarePageFull1}{ugUserDeclarePageEmpty1} +\pastebutton{ugUserDeclarePageFull1}{\hidepaste} +\tab{5}\spadcommand{g: (Integer,Float,Integer) -> String} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDeclarePageEmpty1} +\begin{paste}{ugUserDeclarePageEmpty1}{ugUserDeclarePagePatch1} +\pastebutton{ugUserDeclarePageEmpty1}{\showpaste} +\tab{5}\spadcommand{g: (Integer,Float,Integer) -> String} +\end{paste}\end{patch} + +\begin{patch}{ugUserDeclarePagePatch2} +\begin{paste}{ugUserDeclarePageFull2}{ugUserDeclarePageEmpty2} +\pastebutton{ugUserDeclarePageFull2}{\hidepaste} +\tab{5}\spadcommand{g: (INT,FLOAT,INT) -> STRING} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDeclarePageEmpty2} +\begin{paste}{ugUserDeclarePageEmpty2}{ugUserDeclarePagePatch2} +\pastebutton{ugUserDeclarePageEmpty2}{\showpaste} +\tab{5}\spadcommand{g: (INT,FLOAT,INT) -> STRING} +\end{paste}\end{patch} + +\begin{patch}{ugUserDeclarePagePatch3} +\begin{paste}{ugUserDeclarePageFull3}{ugUserDeclarePageEmpty3} +\pastebutton{ugUserDeclarePageFull3}{\hidepaste} +\tab{5}\spadcommand{h: () -> POLY INT} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDeclarePageEmpty3} +\begin{paste}{ugUserDeclarePageEmpty3}{ugUserDeclarePagePatch3} +\pastebutton{ugUserDeclarePageEmpty3}{\showpaste} +\tab{5}\spadcommand{h: () -> POLY INT} +\end{paste}\end{patch} + +\begin{patch}{ugUserDeclarePagePatch4} +\begin{paste}{ugUserDeclarePageFull4}{ugUserDeclarePageEmpty4} +\pastebutton{ugUserDeclarePageFull4}{\hidepaste} +\tab{5}\spadcommand{h: () -> Polynomial INT} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDeclarePageEmpty4} +\begin{paste}{ugUserDeclarePageEmpty4}{ugUserDeclarePagePatch4} +\pastebutton{ugUserDeclarePageEmpty4}{\showpaste} +\tab{5}\spadcommand{h: () -> Polynomial INT} +\end{paste}\end{patch} + +\begin{patch}{ugUserDeclarePagePatch5} +\begin{paste}{ugUserDeclarePageFull5}{ugUserDeclarePageEmpty5} +\pastebutton{ugUserDeclarePageFull5}{\hidepaste} +\tab{5}\spadcommand{h: () -> POLY Integer} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDeclarePageEmpty5} +\begin{paste}{ugUserDeclarePageEmpty5}{ugUserDeclarePagePatch5} +\pastebutton{ugUserDeclarePageEmpty5}{\showpaste} +\tab{5}\spadcommand{h: () -> POLY Integer} +\end{paste}\end{patch} + @ \pagehead{ugUserOnePage}{ug06.ht}{One-Line Functions} <>= @@ -31213,6 +82903,165 @@ prime. \autobuttons \end{page} +\begin{patch}{ugUserOnePagePatch1} +\begin{paste}{ugUserOnePageFull1}{ugUserOnePageEmpty1} +\pastebutton{ugUserOnePageFull1}{\hidepaste} +\tab{5}\spadcommand{fac n == if n < 3 then n else n * fac(n-1)\bound{fac }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserOnePageEmpty1} +\begin{paste}{ugUserOnePageEmpty1}{ugUserOnePagePatch1} +\pastebutton{ugUserOnePageEmpty1}{\showpaste} +\tab{5}\spadcommand{fac n == if n < 3 then n else n * fac(n-1)\bound{fac }} +\end{paste}\end{patch} + +\begin{patch}{ugUserOnePagePatch2} +\begin{paste}{ugUserOnePageFull2}{ugUserOnePageEmpty2} +\pastebutton{ugUserOnePageFull2}{\hidepaste} +\tab{5}\spadcommand{fac 10\free{fac }} +\indentrel{3}\begin{verbatim} + (2) 3628800 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserOnePageEmpty2} +\begin{paste}{ugUserOnePageEmpty2}{ugUserOnePagePatch2} +\pastebutton{ugUserOnePageEmpty2}{\showpaste} +\tab{5}\spadcommand{fac 10\free{fac }} +\end{paste}\end{patch} + +\begin{patch}{ugUserOnePagePatch3} +\begin{paste}{ugUserOnePageFull3}{ugUserOnePageEmpty3} +\pastebutton{ugUserOnePageFull3}{\hidepaste} +\tab{5}\spadcommand{s n == reduce(+,[1/i for i in 1..n])\bound{s }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserOnePageEmpty3} +\begin{paste}{ugUserOnePageEmpty3}{ugUserOnePagePatch3} +\pastebutton{ugUserOnePageEmpty3}{\showpaste} +\tab{5}\spadcommand{s n == reduce(+,[1/i for i in 1..n])\bound{s }} +\end{paste}\end{patch} + +\begin{patch}{ugUserOnePagePatch4} +\begin{paste}{ugUserOnePageFull4}{ugUserOnePageEmpty4} +\pastebutton{ugUserOnePageFull4}{\hidepaste} +\tab{5}\spadcommand{s 50\free{s }} +\indentrel{3}\begin{verbatim} + 13943237577224054960759 + (4) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 3099044504245996706400 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserOnePageEmpty4} +\begin{paste}{ugUserOnePageEmpty4}{ugUserOnePagePatch4} +\pastebutton{ugUserOnePageEmpty4}{\showpaste} +\tab{5}\spadcommand{s 50\free{s }} +\end{paste}\end{patch} + +\begin{patch}{ugUserOnePagePatch5} +\begin{paste}{ugUserOnePageFull5}{ugUserOnePageEmpty5} +\pastebutton{ugUserOnePageFull5}{\hidepaste} +\tab{5}\spadcommand{mersenne i == 2**i - 1\bound{mersenne }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserOnePageEmpty5} +\begin{paste}{ugUserOnePageEmpty5}{ugUserOnePagePatch5} +\pastebutton{ugUserOnePageEmpty5}{\showpaste} +\tab{5}\spadcommand{mersenne i == 2**i - 1\bound{mersenne }} +\end{paste}\end{patch} + +\begin{patch}{ugUserOnePagePatch6} +\begin{paste}{ugUserOnePageFull6}{ugUserOnePageEmpty6} +\pastebutton{ugUserOnePageFull6}{\hidepaste} +\tab{5}\spadcommand{mersenne\free{mersenne }} +\indentrel{3}\begin{verbatim} + i + (6) mersenne i == 2 - 1 + Type: FunctionCalled mersenne +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserOnePageEmpty6} +\begin{paste}{ugUserOnePageEmpty6}{ugUserOnePagePatch6} +\pastebutton{ugUserOnePageEmpty6}{\showpaste} +\tab{5}\spadcommand{mersenne\free{mersenne }} +\end{paste}\end{patch} + +\begin{patch}{ugUserOnePagePatch7} +\begin{paste}{ugUserOnePageFull7}{ugUserOnePageEmpty7} +\pastebutton{ugUserOnePageFull7}{\hidepaste} +\tab{5}\spadcommand{[mersenne i for i in 1..]\free{mersenne }} +\indentrel{3}\begin{verbatim} + (7) [1,3,7,15,31,63,127,255,511,1023,...] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserOnePageEmpty7} +\begin{paste}{ugUserOnePageEmpty7}{ugUserOnePagePatch7} +\pastebutton{ugUserOnePageEmpty7}{\showpaste} +\tab{5}\spadcommand{[mersenne i for i in 1..]\free{mersenne }} +\end{paste}\end{patch} + +\begin{patch}{ugUserOnePagePatch8} +\begin{paste}{ugUserOnePageFull8}{ugUserOnePageEmpty8} +\pastebutton{ugUserOnePageFull8}{\hidepaste} +\tab{5}\spadcommand{mersenneIndex := [n for n in 1.. | prime?(mersenne(n))]\bound{mersenneIndex }\free{mersenne }} +\indentrel{3}\begin{verbatim} + (8) [2,3,5,7,13,17,19,31,61,89,...] + Type: Stream PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserOnePageEmpty8} +\begin{paste}{ugUserOnePageEmpty8}{ugUserOnePagePatch8} +\pastebutton{ugUserOnePageEmpty8}{\showpaste} +\tab{5}\spadcommand{mersenneIndex := [n for n in 1.. | prime?(mersenne(n))]\bound{mersenneIndex }\free{mersenne }} +\end{paste}\end{patch} + +\begin{patch}{ugUserOnePagePatch9} +\begin{paste}{ugUserOnePageFull9}{ugUserOnePageEmpty9} +\pastebutton{ugUserOnePageFull9}{\hidepaste} +\tab{5}\spadcommand{mersennePrime n == mersenne mersenneIndex(n)\free{mersenne mersenneIndex }\bound{mersennePrime }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserOnePageEmpty9} +\begin{paste}{ugUserOnePageEmpty9}{ugUserOnePagePatch9} +\pastebutton{ugUserOnePageEmpty9}{\showpaste} +\tab{5}\spadcommand{mersennePrime n == mersenne mersenneIndex(n)\free{mersenne mersenneIndex }\bound{mersennePrime }} +\end{paste}\end{patch} + +\begin{patch}{ugUserOnePagePatch10} +\begin{paste}{ugUserOnePageFull10}{ugUserOnePageEmpty10} +\pastebutton{ugUserOnePageFull10}{\hidepaste} +\tab{5}\spadcommand{mersennePrime 5\free{mersennePrime }} +\indentrel{3}\begin{verbatim} + (10) 8191 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserOnePageEmpty10} +\begin{paste}{ugUserOnePageEmpty10}{ugUserOnePagePatch10} +\pastebutton{ugUserOnePageEmpty10}{\showpaste} +\tab{5}\spadcommand{mersennePrime 5\free{mersennePrime }} +\end{paste}\end{patch} + @ \pagehead{ugUserDecUndecPage}{ug06.ht}{Declared vs. Undeclared Functions} \pageto{notitle}{ugCategoriesPage} @@ -31279,6 +83128,133 @@ Axiom has a formal idea of categories for what ``makes sense.'' \autobuttons \end{page} +\begin{patch}{ugUserDecUndecPagePatch1} +\begin{paste}{ugUserDecUndecPageFull1}{ugUserDecUndecPageEmpty1} +\pastebutton{ugUserDecUndecPageFull1}{\hidepaste} +\tab{5}\spadcommand{f(x: Integer): Integer == x + 1\bound{f }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDecUndecPageEmpty1} +\begin{paste}{ugUserDecUndecPageEmpty1}{ugUserDecUndecPagePatch1} +\pastebutton{ugUserDecUndecPageEmpty1}{\showpaste} +\tab{5}\spadcommand{f(x: Integer): Integer == x + 1\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{ugUserDecUndecPagePatch2} +\begin{paste}{ugUserDecUndecPageFull2}{ugUserDecUndecPageEmpty2} +\pastebutton{ugUserDecUndecPageFull2}{\hidepaste} +\tab{5}\spadcommand{f 9\free{f }} +\indentrel{3}\begin{verbatim} + (2) 10 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDecUndecPageEmpty2} +\begin{paste}{ugUserDecUndecPageEmpty2}{ugUserDecUndecPagePatch2} +\pastebutton{ugUserDecUndecPageEmpty2}{\showpaste} +\tab{5}\spadcommand{f 9\free{f }} +\end{paste}\end{patch} + +\begin{patch}{ugUserDecUndecPagePatch3} +\begin{paste}{ugUserDecUndecPageFull3}{ugUserDecUndecPageEmpty3} +\pastebutton{ugUserDecUndecPageFull3}{\hidepaste} +\tab{5}\spadcommand{f(-2.0)\free{f }} +\indentrel{3}\begin{verbatim} + (3) - 1 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDecUndecPageEmpty3} +\begin{paste}{ugUserDecUndecPageEmpty3}{ugUserDecUndecPagePatch3} +\pastebutton{ugUserDecUndecPageEmpty3}{\showpaste} +\tab{5}\spadcommand{f(-2.0)\free{f }} +\end{paste}\end{patch} + +\begin{patch}{ugUserDecUndecPagePatch4} +\begin{paste}{ugUserDecUndecPageFull4}{ugUserDecUndecPageEmpty4} +\pastebutton{ugUserDecUndecPageFull4}{\hidepaste} +\tab{5}\spadcommand{f(2/3)\free{f }} +\indentrel{3}\begin{verbatim} + 2 + Ä + 3 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDecUndecPageEmpty4} +\begin{paste}{ugUserDecUndecPageEmpty4}{ugUserDecUndecPagePatch4} +\pastebutton{ugUserDecUndecPageEmpty4}{\showpaste} +\tab{5}\spadcommand{f(2/3)\free{f }} +\end{paste}\end{patch} + +\begin{patch}{ugUserDecUndecPagePatch5} +\begin{paste}{ugUserDecUndecPageFull5}{ugUserDecUndecPageEmpty5} +\pastebutton{ugUserDecUndecPageFull5}{\hidepaste} +\tab{5}\spadcommand{g x == x + 1\bound{g }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDecUndecPageEmpty5} +\begin{paste}{ugUserDecUndecPageEmpty5}{ugUserDecUndecPagePatch5} +\pastebutton{ugUserDecUndecPageEmpty5}{\showpaste} +\tab{5}\spadcommand{g x == x + 1\bound{g }} +\end{paste}\end{patch} + +\begin{patch}{ugUserDecUndecPagePatch6} +\begin{paste}{ugUserDecUndecPageFull6}{ugUserDecUndecPageEmpty6} +\pastebutton{ugUserDecUndecPageFull6}{\hidepaste} +\tab{5}\spadcommand{g 9\free{g }} +\indentrel{3}\begin{verbatim} + (5) 10 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDecUndecPageEmpty6} +\begin{paste}{ugUserDecUndecPageEmpty6}{ugUserDecUndecPagePatch6} +\pastebutton{ugUserDecUndecPageEmpty6}{\showpaste} +\tab{5}\spadcommand{g 9\free{g }} +\end{paste}\end{patch} + +\begin{patch}{ugUserDecUndecPagePatch7} +\begin{paste}{ugUserDecUndecPageFull7}{ugUserDecUndecPageEmpty7} +\pastebutton{ugUserDecUndecPageFull7}{\hidepaste} +\tab{5}\spadcommand{g(2/3)\free{g }} +\indentrel{3}\begin{verbatim} + 5 + (6) Ä + 3 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDecUndecPageEmpty7} +\begin{paste}{ugUserDecUndecPageEmpty7}{ugUserDecUndecPagePatch7} +\pastebutton{ugUserDecUndecPageEmpty7}{\showpaste} +\tab{5}\spadcommand{g(2/3)\free{g }} +\end{paste}\end{patch} + +\begin{patch}{ugUserDecUndecPagePatch8} +\begin{paste}{ugUserDecUndecPageFull8}{ugUserDecUndecPageEmpty8} +\pastebutton{ugUserDecUndecPageFull8}{\hidepaste} +\tab{5}\spadcommand{g("axiom")\free{g }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDecUndecPageEmpty8} +\begin{paste}{ugUserDecUndecPageEmpty8}{ugUserDecUndecPagePatch8} +\pastebutton{ugUserDecUndecPageEmpty8}{\showpaste} +\tab{5}\spadcommand{g("axiom")\free{g }} +\end{paste}\end{patch} + @ \pagehead{ugUserDecOpersPage}{ug06.ht}{Functions vs. Operations} \pageto{notitle}{MappingPackageOneXmpPage} @@ -31392,6 +83368,84 @@ in the latter case. \autobuttons \end{page} +\begin{patch}{ugUserDelayPagePatch1} +\begin{paste}{ugUserDelayPageFull1}{ugUserDelayPageEmpty1} +\pastebutton{ugUserDelayPageFull1}{\hidepaste} +\tab{5}\spadcommand{sin24() == sin(24.0)\bound{sin24 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDelayPageEmpty1} +\begin{paste}{ugUserDelayPageEmpty1}{ugUserDelayPagePatch1} +\pastebutton{ugUserDelayPageEmpty1}{\showpaste} +\tab{5}\spadcommand{sin24() == sin(24.0)\bound{sin24 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserDelayPagePatch2} +\begin{paste}{ugUserDelayPageFull2}{ugUserDelayPageEmpty2} +\pastebutton{ugUserDelayPageFull2}{\hidepaste} +\tab{5}\spadcommand{sin24()\free{sin24 }} +\indentrel{3}\begin{verbatim} + (2) - 0.9055783620 0662384514 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDelayPageEmpty2} +\begin{paste}{ugUserDelayPageEmpty2}{ugUserDelayPagePatch2} +\pastebutton{ugUserDelayPageEmpty2}{\showpaste} +\tab{5}\spadcommand{sin24()\free{sin24 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserDelayPagePatch3} +\begin{paste}{ugUserDelayPageFull3}{ugUserDelayPageEmpty3} +\pastebutton{ugUserDelayPageFull3}{\hidepaste} +\tab{5}\spadcommand{sin24\free{sin24 }} +\indentrel{3}\begin{verbatim} + (3) sin24 () == sin(24.0) + Type: FunctionCalled sin24 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDelayPageEmpty3} +\begin{paste}{ugUserDelayPageEmpty3}{ugUserDelayPagePatch3} +\pastebutton{ugUserDelayPageEmpty3}{\showpaste} +\tab{5}\spadcommand{sin24\free{sin24 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserDelayPagePatch4} +\begin{paste}{ugUserDelayPageFull4}{ugUserDelayPageEmpty4} +\pastebutton{ugUserDelayPageFull4}{\hidepaste} +\tab{5}\spadcommand{cos24 == cos(24.0)\bound{cos24 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDelayPageEmpty4} +\begin{paste}{ugUserDelayPageEmpty4}{ugUserDelayPagePatch4} +\pastebutton{ugUserDelayPageEmpty4}{\showpaste} +\tab{5}\spadcommand{cos24 == cos(24.0)\bound{cos24 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserDelayPagePatch5} +\begin{paste}{ugUserDelayPageFull5}{ugUserDelayPageEmpty5} +\pastebutton{ugUserDelayPageFull5}{\hidepaste} +\tab{5}\spadcommand{cos24\free{cos24 }} +\indentrel{3}\begin{verbatim} + (5) 0.4241790073 3699697594 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDelayPageEmpty5} +\begin{paste}{ugUserDelayPageEmpty5}{ugUserDelayPagePatch5} +\pastebutton{ugUserDelayPageEmpty5}{\showpaste} +\tab{5}\spadcommand{cos24\free{cos24 }} +\end{paste}\end{patch} + @ \pagehead{ugUserUsePage}{ug06.ht}{How Axiom Determines What Function to Use} \pageto{notitle}{ugTypesPkgCallPage} @@ -31495,6 +83549,129 @@ of type \axiomType{Polynomial (Fraction (Integer))}. \autobuttons \end{page} +\begin{patch}{ugUserUsePagePatch1} +\begin{paste}{ugUserUsePageFull1}{ugUserUsePageEmpty1} +\pastebutton{ugUserUsePageFull1}{\hidepaste} +\tab{5}\spadcommand{sin x == 1.0\bound{sin }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserUsePageEmpty1} +\begin{paste}{ugUserUsePageEmpty1}{ugUserUsePagePatch1} +\pastebutton{ugUserUsePageEmpty1}{\showpaste} +\tab{5}\spadcommand{sin x == 1.0\bound{sin }} +\end{paste}\end{patch} + +\begin{patch}{ugUserUsePagePatch2} +\begin{paste}{ugUserUsePageFull2}{ugUserUsePageEmpty2} +\pastebutton{ugUserUsePageFull2}{\hidepaste} +\tab{5}\spadcommand{sin 4.3\free{sin }} +\indentrel{3}\begin{verbatim} + (2) 1.0 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserUsePageEmpty2} +\begin{paste}{ugUserUsePageEmpty2}{ugUserUsePagePatch2} +\pastebutton{ugUserUsePageEmpty2}{\showpaste} +\tab{5}\spadcommand{sin 4.3\free{sin }} +\end{paste}\end{patch} + +\begin{patch}{ugUserUsePagePatch3} +\begin{paste}{ugUserUsePageFull3}{ugUserUsePageEmpty3} +\pastebutton{ugUserUsePageFull3}{\hidepaste} +\tab{5}\spadcommand{sin(4.3)$Float} +\indentrel{3}\begin{verbatim} + (3) - 0.9161659367 4945498404 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserUsePageEmpty3} +\begin{paste}{ugUserUsePageEmpty3}{ugUserUsePagePatch3} +\pastebutton{ugUserUsePageEmpty3}{\showpaste} +\tab{5}\spadcommand{sin(4.3)$Float} +\end{paste}\end{patch} + +\begin{patch}{ugUserUsePagePatch4} +\begin{paste}{ugUserUsePageFull4}{ugUserUsePageEmpty4} +\pastebutton{ugUserUsePageFull4}{\hidepaste} +\tab{5}\spadcommand{sin(34.6)$Float} +\indentrel{3}\begin{verbatim} + (4) - 0.0424680347 1695010154 3 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserUsePageEmpty4} +\begin{paste}{ugUserUsePageEmpty4}{ugUserUsePagePatch4} +\pastebutton{ugUserUsePageEmpty4}{\showpaste} +\tab{5}\spadcommand{sin(34.6)$Float} +\end{paste}\end{patch} + +\begin{patch}{ugUserUsePagePatch5} +\begin{paste}{ugUserUsePageFull5}{ugUserUsePageEmpty5} +\pastebutton{ugUserUsePageFull5}{\hidepaste} +\tab{5}\spadcommand{sin x == sin x\bound{sin1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserUsePageEmpty5} +\begin{paste}{ugUserUsePageEmpty5}{ugUserUsePagePatch5} +\pastebutton{ugUserUsePageEmpty5}{\showpaste} +\tab{5}\spadcommand{sin x == sin x\bound{sin1 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserUsePagePatch6} +\begin{paste}{ugUserUsePageFull6}{ugUserUsePageEmpty6} +\pastebutton{ugUserUsePageFull6}{\hidepaste} +\tab{5}\spadcommand{sin 4.3\free{sin1 }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserUsePageEmpty6} +\begin{paste}{ugUserUsePageEmpty6}{ugUserUsePagePatch6} +\pastebutton{ugUserUsePageEmpty6}{\showpaste} +\tab{5}\spadcommand{sin 4.3\free{sin1 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserUsePagePatch7} +\begin{paste}{ugUserUsePageFull7}{ugUserUsePageEmpty7} +\pastebutton{ugUserUsePageFull7}{\hidepaste} +\tab{5}\spadcommand{sin x == sin(x)$Float\bound{sin2 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserUsePageEmpty7} +\begin{paste}{ugUserUsePageEmpty7}{ugUserUsePagePatch7} +\pastebutton{ugUserUsePageEmpty7}{\showpaste} +\tab{5}\spadcommand{sin x == sin(x)$Float\bound{sin2 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserUsePagePatch8} +\begin{paste}{ugUserUsePageFull8}{ugUserUsePageEmpty8} +\pastebutton{ugUserUsePageFull8}{\hidepaste} +\tab{5}\spadcommand{sin 4.3\free{sin2 }} +\indentrel{3}\begin{verbatim} + (7) - 0.9161659367 4945498404 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserUsePageEmpty8} +\begin{paste}{ugUserUsePageEmpty8}{ugUserUsePagePatch8} +\pastebutton{ugUserUsePageEmpty8}{\showpaste} +\tab{5}\spadcommand{sin 4.3\free{sin2 }} +\end{paste}\end{patch} + @ \pagehead{ugUserCompIntPage}{ug06.ht}{Compiling vs. Interpreting} \pageto{notitle}{ugTypesSubdomainsPage} @@ -31583,6 +83760,67 @@ certainly true that you will get the best performance by issuing \autobuttons \end{page} +\begin{patch}{ugUserCompIntPagePatch1} +\begin{paste}{ugUserCompIntPageFull1}{ugUserCompIntPageEmpty1} +\pastebutton{ugUserCompIntPageFull1}{\hidepaste} +\tab{5}\spadcommand{varPolys(vars) == + for var in vars repeat + output(1 :: UnivariatePolynomial(var,Integer)) +\bound{varPolys }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserCompIntPageEmpty1} +\begin{paste}{ugUserCompIntPageEmpty1}{ugUserCompIntPagePatch1} +\pastebutton{ugUserCompIntPageEmpty1}{\showpaste} +\tab{5}\spadcommand{varPolys(vars) == + for var in vars repeat + output(1 :: UnivariatePolynomial(var,Integer)) +\bound{varPolys }} +\end{paste}\end{patch} + +\begin{patch}{ugUserCompIntPagePatch2} +\begin{paste}{ugUserCompIntPageFull2}{ugUserCompIntPageEmpty2} +\pastebutton{ugUserCompIntPageFull2}{\hidepaste} +\tab{5}\spadcommand{varPolys ['x,'y,'z]\free{varPolys }} +\indentrel{3}\begin{verbatim} + 1 + 1 + 1 + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserCompIntPageEmpty2} +\begin{paste}{ugUserCompIntPageEmpty2}{ugUserCompIntPagePatch2} +\pastebutton{ugUserCompIntPageEmpty2}{\showpaste} +\tab{5}\spadcommand{varPolys ['x,'y,'z]\free{varPolys }} +\end{paste}\end{patch} + +\begin{patch}{ugUserCompIntPagePatch3} +\begin{paste}{ugUserCompIntPageFull3}{ugUserCompIntPageEmpty3} +\pastebutton{ugUserCompIntPageFull3}{\hidepaste} +\tab{5}\spadcommand{for var in ['x,'y,'z] repeat + output(1 :: UnivariatePolynomial(var,Integer)) +} +\indentrel{3}\begin{verbatim} + 1 + 1 + 1 + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserCompIntPageEmpty3} +\begin{paste}{ugUserCompIntPageEmpty3}{ugUserCompIntPagePatch3} +\pastebutton{ugUserCompIntPageEmpty3}{\showpaste} +\tab{5}\spadcommand{for var in ['x,'y,'z] repeat + output(1 :: UnivariatePolynomial(var,Integer)) +} +\end{paste}\end{patch} + @ \pagehead{ugUserPiecePage}{ug06.ht}{Piece-Wise Function Definitions} \pageto{notitle}{ugUserPieceBasicPage} @@ -31719,6 +83957,239 @@ What is the Axiom's definition of \axiom{eleven}? \autobuttons \end{page} +\begin{patch}{ugUserPieceBasicPagePatch1} +\begin{paste}{ugUserPieceBasicPageFull1}{ugUserPieceBasicPageEmpty1} +\pastebutton{ugUserPieceBasicPageFull1}{\hidepaste} +\tab{5}\spadcommand{fact(0) == 1\bound{fact0 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPageEmpty1} +\begin{paste}{ugUserPieceBasicPageEmpty1}{ugUserPieceBasicPagePatch1} +\pastebutton{ugUserPieceBasicPageEmpty1}{\showpaste} +\tab{5}\spadcommand{fact(0) == 1\bound{fact0 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPagePatch2} +\begin{paste}{ugUserPieceBasicPageFull2}{ugUserPieceBasicPageEmpty2} +\pastebutton{ugUserPieceBasicPageFull2}{\hidepaste} +\tab{5}\spadcommand{fact(n | n > 0) == n * fact(n - 1)\free{fact0 }\bound{factn }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPageEmpty2} +\begin{paste}{ugUserPieceBasicPageEmpty2}{ugUserPieceBasicPagePatch2} +\pastebutton{ugUserPieceBasicPageEmpty2}{\showpaste} +\tab{5}\spadcommand{fact(n | n > 0) == n * fact(n - 1)\free{fact0 }\bound{factn }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPagePatch3} +\begin{paste}{ugUserPieceBasicPageFull3}{ugUserPieceBasicPageEmpty3} +\pastebutton{ugUserPieceBasicPageFull3}{\hidepaste} +\tab{5}\spadcommand{fact(3)\free{factn }} +\indentrel{3}\begin{verbatim} + (3) 6 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPageEmpty3} +\begin{paste}{ugUserPieceBasicPageEmpty3}{ugUserPieceBasicPagePatch3} +\pastebutton{ugUserPieceBasicPageEmpty3}{\showpaste} +\tab{5}\spadcommand{fact(3)\free{factn }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPagePatch4} +\begin{paste}{ugUserPieceBasicPageFull4}{ugUserPieceBasicPageEmpty4} +\pastebutton{ugUserPieceBasicPageFull4}{\hidepaste} +\tab{5}\spadcommand{fact(-3)\free{factn }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPageEmpty4} +\begin{paste}{ugUserPieceBasicPageEmpty4}{ugUserPieceBasicPagePatch4} +\pastebutton{ugUserPieceBasicPageEmpty4}{\showpaste} +\tab{5}\spadcommand{fact(-3)\free{factn }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPagePatch5} +\begin{paste}{ugUserPieceBasicPageFull5}{ugUserPieceBasicPageEmpty5} +\pastebutton{ugUserPieceBasicPageFull5}{\hidepaste} +\tab{5}\spadcommand{facto(0) == 1\bound{facto0 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPageEmpty5} +\begin{paste}{ugUserPieceBasicPageEmpty5}{ugUserPieceBasicPagePatch5} +\pastebutton{ugUserPieceBasicPageEmpty5}{\showpaste} +\tab{5}\spadcommand{facto(0) == 1\bound{facto0 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPagePatch6} +\begin{paste}{ugUserPieceBasicPageFull6}{ugUserPieceBasicPageEmpty6} +\pastebutton{ugUserPieceBasicPageFull6}{\hidepaste} +\tab{5}\spadcommand{facto(n | n < 0) == error "arguments to facto must be non-negative"\free{facto0 }\bound{factop }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPageEmpty6} +\begin{paste}{ugUserPieceBasicPageEmpty6}{ugUserPieceBasicPagePatch6} +\pastebutton{ugUserPieceBasicPageEmpty6}{\showpaste} +\tab{5}\spadcommand{facto(n | n < 0) == error "arguments to facto must be non-negative"\free{facto0 }\bound{factop }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPagePatch7} +\begin{paste}{ugUserPieceBasicPageFull7}{ugUserPieceBasicPageEmpty7} +\pastebutton{ugUserPieceBasicPageFull7}{\hidepaste} +\tab{5}\spadcommand{facto(n) == n * facto(n - 1)\free{factop }\bound{facton }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPageEmpty7} +\begin{paste}{ugUserPieceBasicPageEmpty7}{ugUserPieceBasicPagePatch7} +\pastebutton{ugUserPieceBasicPageEmpty7}{\showpaste} +\tab{5}\spadcommand{facto(n) == n * facto(n - 1)\free{factop }\bound{facton }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPagePatch8} +\begin{paste}{ugUserPieceBasicPageFull8}{ugUserPieceBasicPageEmpty8} +\pastebutton{ugUserPieceBasicPageFull8}{\hidepaste} +\tab{5}\spadcommand{facto(3)\free{facton }} +\indentrel{3}\begin{verbatim} + (7) 6 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPageEmpty8} +\begin{paste}{ugUserPieceBasicPageEmpty8}{ugUserPieceBasicPagePatch8} +\pastebutton{ugUserPieceBasicPageEmpty8}{\showpaste} +\tab{5}\spadcommand{facto(3)\free{facton }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPagePatch9} +\begin{paste}{ugUserPieceBasicPageFull9}{ugUserPieceBasicPageEmpty9} +\pastebutton{ugUserPieceBasicPageFull9}{\hidepaste} +\tab{5}\spadcommand{facto(-7)\free{facton }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPageEmpty9} +\begin{paste}{ugUserPieceBasicPageEmpty9}{ugUserPieceBasicPagePatch9} +\pastebutton{ugUserPieceBasicPageEmpty9}{\showpaste} +\tab{5}\spadcommand{facto(-7)\free{facton }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPagePatch10} +\begin{paste}{ugUserPieceBasicPageFull10}{ugUserPieceBasicPageEmpty10} +\pastebutton{ugUserPieceBasicPageFull10}{\hidepaste} +\tab{5}\spadcommand{)display value facto\free{facton }} +\indentrel{3}\begin{verbatim} + Definition: + facto 0 == 1 + facto (n | n < 0) == + error(arguments to facto must be non-negative) + facto n == n facto(n - 1) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPageEmpty10} +\begin{paste}{ugUserPieceBasicPageEmpty10}{ugUserPieceBasicPagePatch10} +\pastebutton{ugUserPieceBasicPageEmpty10}{\showpaste} +\tab{5}\spadcommand{)display value facto\free{facton }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPagePatch11} +\begin{paste}{ugUserPieceBasicPageFull11}{ugUserPieceBasicPageEmpty11} +\pastebutton{ugUserPieceBasicPageFull11}{\hidepaste} +\tab{5}\spadcommand{eleven(n | n < 1) == n + 11\bound{ff0 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPageEmpty11} +\begin{paste}{ugUserPieceBasicPageEmpty11}{ugUserPieceBasicPagePatch11} +\pastebutton{ugUserPieceBasicPageEmpty11}{\showpaste} +\tab{5}\spadcommand{eleven(n | n < 1) == n + 11\bound{ff0 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPagePatch12} +\begin{paste}{ugUserPieceBasicPageFull12}{ugUserPieceBasicPageEmpty12} +\pastebutton{ugUserPieceBasicPageFull12}{\hidepaste} +\tab{5}\spadcommand{eleven(m) == eleven(eleven(m - 12))\bound{ff1 }\free{ff0 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPageEmpty12} +\begin{paste}{ugUserPieceBasicPageEmpty12}{ugUserPieceBasicPagePatch12} +\pastebutton{ugUserPieceBasicPageEmpty12}{\showpaste} +\tab{5}\spadcommand{eleven(m) == eleven(eleven(m - 12))\bound{ff1 }\free{ff0 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPagePatch13} +\begin{paste}{ugUserPieceBasicPageFull13}{ugUserPieceBasicPageEmpty13} +\pastebutton{ugUserPieceBasicPageFull13}{\hidepaste} +\tab{5}\spadcommand{elevens := [eleven(i) for i in 0..]\bound{ff2 }\free{ff1 }} +\indentrel{3}\begin{verbatim} + (10) [11,11,11,11,11,11,11,11,11,11,...] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPageEmpty13} +\begin{paste}{ugUserPieceBasicPageEmpty13}{ugUserPieceBasicPagePatch13} +\pastebutton{ugUserPieceBasicPageEmpty13}{\showpaste} +\tab{5}\spadcommand{elevens := [eleven(i) for i in 0..]\bound{ff2 }\free{ff1 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPagePatch14} +\begin{paste}{ugUserPieceBasicPageFull14}{ugUserPieceBasicPageEmpty14} +\pastebutton{ugUserPieceBasicPageFull14}{\hidepaste} +\tab{5}\spadcommand{elevens 200\free{ff2 }} +\indentrel{3}\begin{verbatim} + (11) 11 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPageEmpty14} +\begin{paste}{ugUserPieceBasicPageEmpty14}{ugUserPieceBasicPagePatch14} +\pastebutton{ugUserPieceBasicPageEmpty14}{\showpaste} +\tab{5}\spadcommand{elevens 200\free{ff2 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPagePatch15} +\begin{paste}{ugUserPieceBasicPageFull15}{ugUserPieceBasicPageEmpty15} +\pastebutton{ugUserPieceBasicPageFull15}{\hidepaste} +\tab{5}\spadcommand{)display value eleven\free{ff2 }} +\indentrel{3}\begin{verbatim} + Definition: + eleven (m | m < 1) == m + 11 + eleven m == eleven(eleven(m - 12)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPieceBasicPageEmpty15} +\begin{paste}{ugUserPieceBasicPageEmpty15}{ugUserPieceBasicPagePatch15} +\pastebutton{ugUserPieceBasicPageEmpty15}{\showpaste} +\tab{5}\spadcommand{)display value eleven\free{ff2 }} +\end{paste}\end{patch} + @ \pagehead{ugUserPiecePickingPage}{ug06.ht}{Picking Up the Pieces} \pageto{notitle}{ugUserPieceBasicPage} @@ -31852,6 +84323,198 @@ Check it at \axiom{n= 100}. \autobuttons \end{page} +\begin{patch}{ugUserPiecePickingPagePatch1} +\begin{paste}{ugUserPiecePickingPageFull1}{ugUserPiecePickingPageEmpty1} +\pastebutton{ugUserPiecePickingPageFull1}{\hidepaste} +\tab{5}\spadcommand{eleven(n | n < 1) == n + 11\bound{ff0 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePickingPageEmpty1} +\begin{paste}{ugUserPiecePickingPageEmpty1}{ugUserPiecePickingPagePatch1} +\pastebutton{ugUserPiecePickingPageEmpty1}{\showpaste} +\tab{5}\spadcommand{eleven(n | n < 1) == n + 11\bound{ff0 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePickingPagePatch2} +\begin{paste}{ugUserPiecePickingPageFull2}{ugUserPiecePickingPageEmpty2} +\pastebutton{ugUserPiecePickingPageFull2}{\hidepaste} +\tab{5}\spadcommand{eleven(m) == eleven(eleven(m - 12))\bound{ff1 }\free{ff0 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePickingPageEmpty2} +\begin{paste}{ugUserPiecePickingPageEmpty2}{ugUserPiecePickingPagePatch2} +\pastebutton{ugUserPiecePickingPageEmpty2}{\showpaste} +\tab{5}\spadcommand{eleven(m) == eleven(eleven(m - 12))\bound{ff1 }\free{ff0 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePickingPagePatch3} +\begin{paste}{ugUserPiecePickingPageFull3}{ugUserPiecePickingPageEmpty3} +\pastebutton{ugUserPiecePickingPageFull3}{\hidepaste} +\tab{5}\spadcommand{minusEleven(n) == + n >= 0 => n - 11 + minusEleven (5 + minusEleven(n + 7)) +\bound{rf1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePickingPageEmpty3} +\begin{paste}{ugUserPiecePickingPageEmpty3}{ugUserPiecePickingPagePatch3} +\pastebutton{ugUserPiecePickingPageEmpty3}{\showpaste} +\tab{5}\spadcommand{minusEleven(n) == + n >= 0 => n - 11 + minusEleven (5 + minusEleven(n + 7)) +\bound{rf1 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePickingPagePatch4} +\begin{paste}{ugUserPiecePickingPageFull4}{ugUserPiecePickingPageEmpty4} +\pastebutton{ugUserPiecePickingPageFull4}{\hidepaste} +\tab{5}\spadcommand{s(0) == 1\bound{rf2 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePickingPageEmpty4} +\begin{paste}{ugUserPiecePickingPageEmpty4}{ugUserPiecePickingPagePatch4} +\pastebutton{ugUserPiecePickingPageEmpty4}{\showpaste} +\tab{5}\spadcommand{s(0) == 1\bound{rf2 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePickingPagePatch5} +\begin{paste}{ugUserPiecePickingPageFull5}{ugUserPiecePickingPageEmpty5} +\pastebutton{ugUserPiecePickingPageFull5}{\hidepaste} +\tab{5}\spadcommand{s(n) == (eleven(n) + minusEleven(n))/n\bound{rf3 }\free{rf2 rf1 ff1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePickingPageEmpty5} +\begin{paste}{ugUserPiecePickingPageEmpty5}{ugUserPiecePickingPagePatch5} +\pastebutton{ugUserPiecePickingPageEmpty5}{\showpaste} +\tab{5}\spadcommand{s(n) == (eleven(n) + minusEleven(n))/n\bound{rf3 }\free{rf2 rf1 ff1 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePickingPagePatch6} +\begin{paste}{ugUserPiecePickingPageFull6}{ugUserPiecePickingPageEmpty6} +\pastebutton{ugUserPiecePickingPageFull6}{\hidepaste} +\tab{5}\spadcommand{[s(n) for n in 0..]\free{rf3 }} +\indentrel{3}\begin{verbatim} + (6) [1,1,1,1,1,1,1,1,1,1,...] + Type: Stream Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePickingPageEmpty6} +\begin{paste}{ugUserPiecePickingPageEmpty6}{ugUserPiecePickingPagePatch6} +\pastebutton{ugUserPiecePickingPageEmpty6}{\showpaste} +\tab{5}\spadcommand{[s(n) for n in 0..]\free{rf3 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePickingPagePatch7} +\begin{paste}{ugUserPiecePickingPageFull7}{ugUserPiecePickingPageEmpty7} +\pastebutton{ugUserPiecePickingPageFull7}{\hidepaste} +\tab{5}\spadcommand{t(1) == s(0)\bound{t1 }\free{rf4 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePickingPageEmpty7} +\begin{paste}{ugUserPiecePickingPageEmpty7}{ugUserPiecePickingPagePatch7} +\pastebutton{ugUserPiecePickingPageEmpty7}{\showpaste} +\tab{5}\spadcommand{t(1) == s(0)\bound{t1 }\free{rf4 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePickingPagePatch8} +\begin{paste}{ugUserPiecePickingPageFull8}{ugUserPiecePickingPageEmpty8} +\pastebutton{ugUserPiecePickingPageFull8}{\hidepaste} +\tab{5}\spadcommand{t(n | even?(n)) == s(n quo 2)\free{t1 }\bound{t2 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePickingPageEmpty8} +\begin{paste}{ugUserPiecePickingPageEmpty8}{ugUserPiecePickingPagePatch8} +\pastebutton{ugUserPiecePickingPageEmpty8}{\showpaste} +\tab{5}\spadcommand{t(n | even?(n)) == s(n quo 2)\free{t1 }\bound{t2 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePickingPagePatch9} +\begin{paste}{ugUserPiecePickingPageFull9}{ugUserPiecePickingPageEmpty9} +\pastebutton{ugUserPiecePickingPageFull9}{\hidepaste} +\tab{5}\spadcommand{t(p) == s(- p quo 2)\free{t2 }\bound{t3 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePickingPageEmpty9} +\begin{paste}{ugUserPiecePickingPageEmpty9}{ugUserPiecePickingPagePatch9} +\pastebutton{ugUserPiecePickingPageEmpty9}{\showpaste} +\tab{5}\spadcommand{t(p) == s(- p quo 2)\free{t2 }\bound{t3 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePickingPagePatch10} +\begin{paste}{ugUserPiecePickingPageFull10}{ugUserPiecePickingPageEmpty10} +\pastebutton{ugUserPiecePickingPageFull10}{\hidepaste} +\tab{5}\spadcommand{)display value t\free{t2 }} +\indentrel{3}\begin{verbatim} + Definition: + t 1 == s(0) + t (p | even?(p)) == s(p quo 2) + t p == s(- p quo 2) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePickingPageEmpty10} +\begin{paste}{ugUserPiecePickingPageEmpty10}{ugUserPiecePickingPagePatch10} +\pastebutton{ugUserPiecePickingPageEmpty10}{\showpaste} +\tab{5}\spadcommand{)display value t\free{t2 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePickingPagePatch11} +\begin{paste}{ugUserPiecePickingPageFull11}{ugUserPiecePickingPageEmpty11} +\pastebutton{ugUserPiecePickingPageFull11}{\hidepaste} +\tab{5}\spadcommand{[t(i) for i in 1..]\free{t3 }\bound{t4 }} +\indentrel{3}\begin{verbatim} + (10) [1,1,1,1,1,1,1,1,1,1,...] + Type: Stream Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePickingPageEmpty11} +\begin{paste}{ugUserPiecePickingPageEmpty11}{ugUserPiecePickingPagePatch11} +\pastebutton{ugUserPiecePickingPageEmpty11}{\showpaste} +\tab{5}\spadcommand{[t(i) for i in 1..]\free{t3 }\bound{t4 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePickingPagePatch12} +\begin{paste}{ugUserPiecePickingPageFull12}{ugUserPiecePickingPageEmpty12} +\pastebutton{ugUserPiecePickingPageFull12}{\hidepaste} +\tab{5}\spadcommand{t(100)\free{t4 }} +\indentrel{3}\begin{verbatim} + (11) 1 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePickingPageEmpty12} +\begin{paste}{ugUserPiecePickingPageEmpty12}{ugUserPiecePickingPagePatch12} +\pastebutton{ugUserPiecePickingPageEmpty12}{\showpaste} +\tab{5}\spadcommand{t(100)\free{t4 }} +\end{paste}\end{patch} + @ \pagehead{ugUserPiecePredPage}{ug06.ht}{Predicates} \pageto{notitle}{ugUserPieceBasicPage} @@ -31937,6 +84600,128 @@ Try it out. \autobuttons \end{page} +\begin{patch}{ugUserPiecePredPagePatch1} +\begin{paste}{ugUserPiecePredPageFull1}{ugUserPiecePredPageEmpty1} +\pastebutton{ugUserPiecePredPageFull1}{\hidepaste} +\tab{5}\spadcommand{opposite 'right == 'left} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePredPageEmpty1} +\begin{paste}{ugUserPiecePredPageEmpty1}{ugUserPiecePredPagePatch1} +\pastebutton{ugUserPiecePredPageEmpty1}{\showpaste} +\tab{5}\spadcommand{opposite 'right == 'left} +\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePredPagePatch2} +\begin{paste}{ugUserPiecePredPageFull2}{ugUserPiecePredPageEmpty2} +\pastebutton{ugUserPiecePredPageFull2}{\hidepaste} +\tab{5}\spadcommand{opposite (x | x = 'left) == 'right} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePredPageEmpty2} +\begin{paste}{ugUserPiecePredPageEmpty2}{ugUserPiecePredPagePatch2} +\pastebutton{ugUserPiecePredPageEmpty2}{\showpaste} +\tab{5}\spadcommand{opposite (x | x = 'left) == 'right} +\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePredPagePatch3} +\begin{paste}{ugUserPiecePredPageFull3}{ugUserPiecePredPageEmpty3} +\pastebutton{ugUserPiecePredPageFull3}{\hidepaste} +\tab{5}\spadcommand{for x in ['right,'left,'inbetween] repeat output opposite x} +\indentrel{3}\begin{verbatim} + left + right +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePredPageEmpty3} +\begin{paste}{ugUserPiecePredPageEmpty3}{ugUserPiecePredPagePatch3} +\pastebutton{ugUserPiecePredPageEmpty3}{\showpaste} +\tab{5}\spadcommand{for x in ['right,'left,'inbetween] repeat output opposite x} +\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePredPagePatch4} +\begin{paste}{ugUserPiecePredPageFull4}{ugUserPiecePredPageEmpty4} +\pastebutton{ugUserPiecePredPageFull4}{\hidepaste} +\tab{5}\spadcommand{inFirstHalfQuadrant(x | x > 0,y | y < x) == true} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePredPageEmpty4} +\begin{paste}{ugUserPiecePredPageEmpty4}{ugUserPiecePredPagePatch4} +\pastebutton{ugUserPiecePredPageEmpty4}{\showpaste} +\tab{5}\spadcommand{inFirstHalfQuadrant(x | x > 0,y | y < x) == true} +\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePredPagePatch5} +\begin{paste}{ugUserPiecePredPageFull5}{ugUserPiecePredPageEmpty5} +\pastebutton{ugUserPiecePredPageFull5}{\hidepaste} +\tab{5}\spadcommand{inFirstHalfQuadrant(x | x > 0 and y < x,y) == true} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePredPageEmpty5} +\begin{paste}{ugUserPiecePredPageEmpty5}{ugUserPiecePredPagePatch5} +\pastebutton{ugUserPiecePredPageEmpty5}{\showpaste} +\tab{5}\spadcommand{inFirstHalfQuadrant(x | x > 0 and y < x,y) == true} +\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePredPagePatch6} +\begin{paste}{ugUserPiecePredPageFull6}{ugUserPiecePredPageEmpty6} +\pastebutton{ugUserPiecePredPageFull6}{\hidepaste} +\tab{5}\spadcommand{inFirstHalfQuadrant(x,y | x > 0 and y < x) == true\bound{ifq1a }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePredPageEmpty6} +\begin{paste}{ugUserPiecePredPageEmpty6}{ugUserPiecePredPagePatch6} +\pastebutton{ugUserPiecePredPageEmpty6}{\showpaste} +\tab{5}\spadcommand{inFirstHalfQuadrant(x,y | x > 0 and y < x) == true\bound{ifq1a }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePredPagePatch7} +\begin{paste}{ugUserPiecePredPageFull7}{ugUserPiecePredPageEmpty7} +\pastebutton{ugUserPiecePredPageFull7}{\hidepaste} +\tab{5}\spadcommand{inFirstHalfQuadrant(x,y) == false\bound{ifq1b }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePredPageEmpty7} +\begin{paste}{ugUserPiecePredPageEmpty7}{ugUserPiecePredPagePatch7} +\pastebutton{ugUserPiecePredPageEmpty7}{\showpaste} +\tab{5}\spadcommand{inFirstHalfQuadrant(x,y) == false\bound{ifq1b }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePredPagePatch8} +\begin{paste}{ugUserPiecePredPageFull8}{ugUserPiecePredPageEmpty8} +\pastebutton{ugUserPiecePredPageFull8}{\hidepaste} +\tab{5}\spadcommand{[inFirstHalfQuadrant(i,3) for i in 1..5]\bound{ifq1b }} +\indentrel{3}\begin{verbatim} + (7) [false,false,false,true,true] + Type: List Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPiecePredPageEmpty8} +\begin{paste}{ugUserPiecePredPageEmpty8}{ugUserPiecePredPagePatch8} +\pastebutton{ugUserPiecePredPageEmpty8}{\showpaste} +\tab{5}\spadcommand{[inFirstHalfQuadrant(i,3) for i in 1..5]\bound{ifq1b }} +\end{paste}\end{patch} + @ \pagehead{ugUserCachePage}{ug06.ht}{Caching Previously Computed Results} \pageto{notitle}{ugUserFreeLocalPage} @@ -32012,6 +84797,93 @@ for an example. \autobuttons \end{page} +\begin{patch}{ugUserCachePagePatch1} +\begin{paste}{ugUserCachePageFull1}{ugUserCachePageEmpty1} +\pastebutton{ugUserCachePageFull1}{\hidepaste} +\tab{5}\spadcommand{)set functions cache 3 f g\bound{cache }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserCachePageEmpty1} +\begin{paste}{ugUserCachePageEmpty1}{ugUserCachePagePatch1} +\pastebutton{ugUserCachePageEmpty1}{\showpaste} +\tab{5}\spadcommand{)set functions cache 3 f g\bound{cache }} +\end{paste}\end{patch} + +\begin{patch}{ugUserCachePagePatch2} +\begin{paste}{ugUserCachePageFull2}{ugUserCachePageEmpty2} +\pastebutton{ugUserCachePageFull2}{\hidepaste} +\tab{5}\spadcommand{f x == factorial(2**x)\bound{fdef }\free{cache }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserCachePageEmpty2} +\begin{paste}{ugUserCachePageEmpty2}{ugUserCachePagePatch2} +\pastebutton{ugUserCachePageEmpty2}{\showpaste} +\tab{5}\spadcommand{f x == factorial(2**x)\bound{fdef }\free{cache }} +\end{paste}\end{patch} + +\begin{patch}{ugUserCachePagePatch3} +\begin{paste}{ugUserCachePageFull3}{ugUserCachePageEmpty3} +\pastebutton{ugUserCachePageFull3}{\hidepaste} +\tab{5}\spadcommand{f(4)\free{}\free{cache }} +\indentrel{3}\begin{verbatim} + (2) 20922789888000 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserCachePageEmpty3} +\begin{paste}{ugUserCachePageEmpty3}{ugUserCachePagePatch3} +\pastebutton{ugUserCachePageEmpty3}{\showpaste} +\tab{5}\spadcommand{f(4)\free{}\free{cache }} +\end{paste}\end{patch} + +\begin{patch}{ugUserCachePagePatch4} +\begin{paste}{ugUserCachePageFull4}{ugUserCachePageEmpty4} +\pastebutton{ugUserCachePageFull4}{\hidepaste} +\tab{5}\spadcommand{)set functions cache all} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserCachePageEmpty4} +\begin{paste}{ugUserCachePageEmpty4}{ugUserCachePagePatch4} +\pastebutton{ugUserCachePageEmpty4}{\showpaste} +\tab{5}\spadcommand{)set functions cache all} +\end{paste}\end{patch} + +\begin{patch}{ugUserCachePagePatch5} +\begin{paste}{ugUserCachePageFull5}{ugUserCachePageEmpty5} +\pastebutton{ugUserCachePageFull5}{\hidepaste} +\tab{5}\spadcommand{)set functions cache 0} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserCachePageEmpty5} +\begin{paste}{ugUserCachePageEmpty5}{ugUserCachePagePatch5} +\pastebutton{ugUserCachePageEmpty5}{\showpaste} +\tab{5}\spadcommand{)set functions cache 0} +\end{paste}\end{patch} + +\begin{patch}{ugUserCachePagePatch6} +\begin{paste}{ugUserCachePageFull6}{ugUserCachePageEmpty6} +\pastebutton{ugUserCachePageFull6}{\hidepaste} +\tab{5}\spadcommand{)set functions cache 0 f g} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserCachePageEmpty6} +\begin{paste}{ugUserCachePageEmpty6}{ugUserCachePagePatch6} +\pastebutton{ugUserCachePageEmpty6}{\showpaste} +\tab{5}\spadcommand{)set functions cache 0 f g} +\end{paste}\end{patch} + @ \pagehead{ugUserRecurPage}{ug06.ht}{Recurrence Relations} \pageto{notitle}{ugUserFreeLocalPage} @@ -32137,6 +85009,148 @@ Compute the Legendre polynomial of degree \axiom{6.} \autobuttons \end{page} +\begin{patch}{ugUserRecurPagePatch1} +\begin{paste}{ugUserRecurPageFull1}{ugUserRecurPageEmpty1} +\pastebutton{ugUserRecurPageFull1}{\hidepaste} +\tab{5}\spadcommand{[fibonacci(i) for i in 0..]} +\indentrel{3}\begin{verbatim} + (1) [0,1,1,2,3,5,8,13,21,34,...] + Type: Stream Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRecurPageEmpty1} +\begin{paste}{ugUserRecurPageEmpty1}{ugUserRecurPagePatch1} +\pastebutton{ugUserRecurPageEmpty1}{\showpaste} +\tab{5}\spadcommand{[fibonacci(i) for i in 0..]} +\end{paste}\end{patch} + +\begin{patch}{ugUserRecurPagePatch2} +\begin{paste}{ugUserRecurPageFull2}{ugUserRecurPageEmpty2} +\pastebutton{ugUserRecurPageFull2}{\hidepaste} +\tab{5}\spadcommand{fib(1) == 1\bound{fib0 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRecurPageEmpty2} +\begin{paste}{ugUserRecurPageEmpty2}{ugUserRecurPagePatch2} +\pastebutton{ugUserRecurPageEmpty2}{\showpaste} +\tab{5}\spadcommand{fib(1) == 1\bound{fib0 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRecurPagePatch3} +\begin{paste}{ugUserRecurPageFull3}{ugUserRecurPageEmpty3} +\pastebutton{ugUserRecurPageFull3}{\hidepaste} +\tab{5}\spadcommand{fib(2) == 1\bound{fib1 }\free{fib0 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRecurPageEmpty3} +\begin{paste}{ugUserRecurPageEmpty3}{ugUserRecurPagePatch3} +\pastebutton{ugUserRecurPageEmpty3}{\showpaste} +\tab{5}\spadcommand{fib(2) == 1\bound{fib1 }\free{fib0 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRecurPagePatch4} +\begin{paste}{ugUserRecurPageFull4}{ugUserRecurPageEmpty4} +\pastebutton{ugUserRecurPageFull4}{\hidepaste} +\tab{5}\spadcommand{fib(n) == fib(n-1) + fib(n-2)\bound{fibn }\free{fib1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRecurPageEmpty4} +\begin{paste}{ugUserRecurPageEmpty4}{ugUserRecurPagePatch4} +\pastebutton{ugUserRecurPageEmpty4}{\showpaste} +\tab{5}\spadcommand{fib(n) == fib(n-1) + fib(n-2)\bound{fibn }\free{fib1 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRecurPagePatch5} +\begin{paste}{ugUserRecurPageFull5}{ugUserRecurPageEmpty5} +\pastebutton{ugUserRecurPageFull5}{\hidepaste} +\tab{5}\spadcommand{fib(500)\free{fibn }} +\indentrel{3}\begin{verbatim} + (5) + 139423224561697880139724382870407283950070256587697307_ + 264108962948325571622863290691557658876222521294125 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRecurPageEmpty5} +\begin{paste}{ugUserRecurPageEmpty5}{ugUserRecurPagePatch5} +\pastebutton{ugUserRecurPageEmpty5}{\showpaste} +\tab{5}\spadcommand{fib(500)\free{fibn }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRecurPagePatch6} +\begin{paste}{ugUserRecurPageFull6}{ugUserRecurPageEmpty6} +\pastebutton{ugUserRecurPageFull6}{\hidepaste} +\tab{5}\spadcommand{p(0) == 1\bound{p0 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRecurPageEmpty6} +\begin{paste}{ugUserRecurPageEmpty6}{ugUserRecurPagePatch6} +\pastebutton{ugUserRecurPageEmpty6}{\showpaste} +\tab{5}\spadcommand{p(0) == 1\bound{p0 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRecurPagePatch7} +\begin{paste}{ugUserRecurPageFull7}{ugUserRecurPageEmpty7} +\pastebutton{ugUserRecurPageFull7}{\hidepaste} +\tab{5}\spadcommand{p(1) == x\bound{p1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRecurPageEmpty7} +\begin{paste}{ugUserRecurPageEmpty7}{ugUserRecurPagePatch7} +\pastebutton{ugUserRecurPageEmpty7}{\showpaste} +\tab{5}\spadcommand{p(1) == x\bound{p1 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRecurPagePatch8} +\begin{paste}{ugUserRecurPageFull8}{ugUserRecurPageEmpty8} +\pastebutton{ugUserRecurPageFull8}{\hidepaste} +\tab{5}\spadcommand{p(n) == ((2*n-1)*x*p(n-1) - (n-1)*p(n-2))/n\bound{pn }\free{p1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRecurPageEmpty8} +\begin{paste}{ugUserRecurPageEmpty8}{ugUserRecurPagePatch8} +\pastebutton{ugUserRecurPageEmpty8}{\showpaste} +\tab{5}\spadcommand{p(n) == ((2*n-1)*x*p(n-1) - (n-1)*p(n-2))/n\bound{pn }\free{p1 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRecurPagePatch9} +\begin{paste}{ugUserRecurPageFull9}{ugUserRecurPageEmpty9} +\pastebutton{ugUserRecurPageFull9}{\hidepaste} +\tab{5}\spadcommand{p(6)\free{pn }} +\indentrel{3}\begin{verbatim} + 231 6 315 4 105 2 5 + (9) ÄÄÄ x - ÄÄÄ x + ÄÄÄ x - ÄÄ + 16 16 16 16 + Type: Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRecurPageEmpty9} +\begin{paste}{ugUserRecurPageEmpty9}{ugUserRecurPagePatch9} +\pastebutton{ugUserRecurPageEmpty9}{\showpaste} +\tab{5}\spadcommand{p(6)\free{pn }} +\end{paste}\end{patch} + @ \pagehead{ugUserMakePage}{ug06.ht}{Making Functions from Objects} \pageto{notitle}{MakeFunctionXmpPage} @@ -32287,6 +85301,293 @@ InputForm}. Thus you can use \axiomFun{function} for \autobuttons \end{page} +\begin{patch}{ugUserMakePagePatch1} +\begin{paste}{ugUserMakePageFull1}{ugUserMakePageEmpty1} +\pastebutton{ugUserMakePageFull1}{\hidepaste} +\tab{5}\spadcommand{p := -x + y**2 - z**3\bound{p }} +\indentrel{3}\begin{verbatim} + 3 2 + (1) - z + y - x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMakePageEmpty1} +\begin{paste}{ugUserMakePageEmpty1}{ugUserMakePagePatch1} +\pastebutton{ugUserMakePageEmpty1}{\showpaste} +\tab{5}\spadcommand{p := -x + y**2 - z**3\bound{p }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMakePagePatch2} +\begin{paste}{ugUserMakePageFull2}{ugUserMakePageEmpty2} +\pastebutton{ugUserMakePageFull2}{\hidepaste} +\tab{5}\spadcommand{function(p,'f0)\free{p }\bound{f0 }} +\indentrel{3}\begin{verbatim} + (2) f0 + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMakePageEmpty2} +\begin{paste}{ugUserMakePageEmpty2}{ugUserMakePagePatch2} +\pastebutton{ugUserMakePageEmpty2}{\showpaste} +\tab{5}\spadcommand{function(p,'f0)\free{p }\bound{f0 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMakePagePatch3} +\begin{paste}{ugUserMakePageFull3}{ugUserMakePageEmpty3} +\pastebutton{ugUserMakePageFull3}{\hidepaste} +\tab{5}\spadcommand{f0\free{f0 }} +\indentrel{3}\begin{verbatim} + 3 2 + (3) f0 () == - z + y - x + Type: FunctionCalled f0 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMakePageEmpty3} +\begin{paste}{ugUserMakePageEmpty3}{ugUserMakePagePatch3} +\pastebutton{ugUserMakePageEmpty3}{\showpaste} +\tab{5}\spadcommand{f0\free{f0 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMakePagePatch4} +\begin{paste}{ugUserMakePageFull4}{ugUserMakePageEmpty4} +\pastebutton{ugUserMakePageFull4}{\hidepaste} +\tab{5}\spadcommand{f0()\free{f0 }} +\indentrel{3}\begin{verbatim} + 3 2 + (4) - z + y - x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMakePageEmpty4} +\begin{paste}{ugUserMakePageEmpty4}{ugUserMakePagePatch4} +\pastebutton{ugUserMakePageEmpty4}{\showpaste} +\tab{5}\spadcommand{f0()\free{f0 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMakePagePatch5} +\begin{paste}{ugUserMakePageFull5}{ugUserMakePageEmpty5} +\pastebutton{ugUserMakePageFull5}{\hidepaste} +\tab{5}\spadcommand{function(p,'f1,'x)\free{p }\bound{f1 }} +\indentrel{3}\begin{verbatim} + (5) f1 + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMakePageEmpty5} +\begin{paste}{ugUserMakePageEmpty5}{ugUserMakePagePatch5} +\pastebutton{ugUserMakePageEmpty5}{\showpaste} +\tab{5}\spadcommand{function(p,'f1,'x)\free{p }\bound{f1 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMakePagePatch6} +\begin{paste}{ugUserMakePageFull6}{ugUserMakePageEmpty6} +\pastebutton{ugUserMakePageFull6}{\hidepaste} +\tab{5}\spadcommand{f1\free{f1 }} +\indentrel{3}\begin{verbatim} + 3 2 + (6) f1 x == - z + y - x + Type: FunctionCalled f1 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMakePageEmpty6} +\begin{paste}{ugUserMakePageEmpty6}{ugUserMakePagePatch6} +\pastebutton{ugUserMakePageEmpty6}{\showpaste} +\tab{5}\spadcommand{f1\free{f1 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMakePagePatch7} +\begin{paste}{ugUserMakePageFull7}{ugUserMakePageEmpty7} +\pastebutton{ugUserMakePageFull7}{\hidepaste} +\tab{5}\spadcommand{f1(3)\free{f1 }} +\indentrel{3}\begin{verbatim} + 3 2 + (7) - z + y - 3 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMakePageEmpty7} +\begin{paste}{ugUserMakePageEmpty7}{ugUserMakePagePatch7} +\pastebutton{ugUserMakePageEmpty7}{\showpaste} +\tab{5}\spadcommand{f1(3)\free{f1 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMakePagePatch8} +\begin{paste}{ugUserMakePageFull8}{ugUserMakePageEmpty8} +\pastebutton{ugUserMakePageFull8}{\hidepaste} +\tab{5}\spadcommand{function(p,'f2,'x,'y)\free{p }\bound{f2 }} +\indentrel{3}\begin{verbatim} + (8) f2 + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMakePageEmpty8} +\begin{paste}{ugUserMakePageEmpty8}{ugUserMakePagePatch8} +\pastebutton{ugUserMakePageEmpty8}{\showpaste} +\tab{5}\spadcommand{function(p,'f2,'x,'y)\free{p }\bound{f2 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMakePagePatch9} +\begin{paste}{ugUserMakePageFull9}{ugUserMakePageEmpty9} +\pastebutton{ugUserMakePageFull9}{\hidepaste} +\tab{5}\spadcommand{f2\free{f2 }} +\indentrel{3}\begin{verbatim} + 3 2 + (9) f2 (x,y) == - z + y - x + Type: FunctionCalled f2 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMakePageEmpty9} +\begin{paste}{ugUserMakePageEmpty9}{ugUserMakePagePatch9} +\pastebutton{ugUserMakePageEmpty9}{\showpaste} +\tab{5}\spadcommand{f2\free{f2 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMakePagePatch10} +\begin{paste}{ugUserMakePageFull10}{ugUserMakePageEmpty10} +\pastebutton{ugUserMakePageFull10}{\hidepaste} +\tab{5}\spadcommand{f2(3,0)\free{f2 }} +\indentrel{3}\begin{verbatim} + 3 + (10) - z - 3 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMakePageEmpty10} +\begin{paste}{ugUserMakePageEmpty10}{ugUserMakePagePatch10} +\pastebutton{ugUserMakePageEmpty10}{\showpaste} +\tab{5}\spadcommand{f2(3,0)\free{f2 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMakePagePatch11} +\begin{paste}{ugUserMakePageFull11}{ugUserMakePageEmpty11} +\pastebutton{ugUserMakePageFull11}{\hidepaste} +\tab{5}\spadcommand{function(p,'f3,['x,'y,'z])\free{p }\bound{f3 }} +\indentrel{3}\begin{verbatim} + (11) f3 + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMakePageEmpty11} +\begin{paste}{ugUserMakePageEmpty11}{ugUserMakePagePatch11} +\pastebutton{ugUserMakePageEmpty11}{\showpaste} +\tab{5}\spadcommand{function(p,'f3,['x,'y,'z])\free{p }\bound{f3 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMakePagePatch12} +\begin{paste}{ugUserMakePageFull12}{ugUserMakePageEmpty12} +\pastebutton{ugUserMakePageFull12}{\hidepaste} +\tab{5}\spadcommand{f3\free{f3 }} +\indentrel{3}\begin{verbatim} + 3 2 + (12) f3 (x,y,z) == - z + y - x + Type: FunctionCalled f3 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMakePageEmpty12} +\begin{paste}{ugUserMakePageEmpty12}{ugUserMakePagePatch12} +\pastebutton{ugUserMakePageEmpty12}{\showpaste} +\tab{5}\spadcommand{f3\free{f3 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMakePagePatch13} +\begin{paste}{ugUserMakePageFull13}{ugUserMakePageEmpty13} +\pastebutton{ugUserMakePageFull13}{\hidepaste} +\tab{5}\spadcommand{f3(3,0,-6)\free{f3 }} +\indentrel{3}\begin{verbatim} + (13) 213 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMakePageEmpty13} +\begin{paste}{ugUserMakePageEmpty13}{ugUserMakePagePatch13} +\pastebutton{ugUserMakePageEmpty13}{\showpaste} +\tab{5}\spadcommand{f3(3,0,-6)\free{f3 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMakePagePatch14} +\begin{paste}{ugUserMakePageFull14}{ugUserMakePageEmpty14} +\pastebutton{ugUserMakePageFull14}{\hidepaste} +\tab{5}\spadcommand{g: (Integer, Integer) -> Float\bound{g }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMakePageEmpty14} +\begin{paste}{ugUserMakePageEmpty14}{ugUserMakePagePatch14} +\pastebutton{ugUserMakePageEmpty14}{\showpaste} +\tab{5}\spadcommand{g: (Integer, Integer) -> Float\bound{g }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMakePagePatch15} +\begin{paste}{ugUserMakePageFull15}{ugUserMakePageEmpty15} +\pastebutton{ugUserMakePageFull15}{\hidepaste} +\tab{5}\spadcommand{D(sin(x-y)/cos(x+y),x)\bound{prev }} +\indentrel{3}\begin{verbatim} + - sin(y - x)sin(y + x) + cos(y - x)cos(y + x) + (15) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 2 + cos(y + x) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMakePageEmpty15} +\begin{paste}{ugUserMakePageEmpty15}{ugUserMakePagePatch15} +\pastebutton{ugUserMakePageEmpty15}{\showpaste} +\tab{5}\spadcommand{D(sin(x-y)/cos(x+y),x)\bound{prev }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMakePagePatch16} +\begin{paste}{ugUserMakePageFull16}{ugUserMakePageEmpty16} +\pastebutton{ugUserMakePageFull16}{\hidepaste} +\tab{5}\spadcommand{function(\%,'g,'x,'y)\free{g }\free{prev }} +\indentrel{3}\begin{verbatim} + (16) g + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMakePageEmpty16} +\begin{paste}{ugUserMakePageEmpty16}{ugUserMakePagePatch16} +\pastebutton{ugUserMakePageEmpty16}{\showpaste} +\tab{5}\spadcommand{function(\%,'g,'x,'y)\free{g }\free{prev }} +\end{paste}\end{patch} + +\begin{patch}{ugUserMakePagePatch17} +\begin{paste}{ugUserMakePageFull17}{ugUserMakePageEmpty17} +\pastebutton{ugUserMakePageFull17}{\hidepaste} +\tab{5}\spadcommand{g\free{g }} +\indentrel{3}\begin{verbatim} + (17) + g (x,y) == + - sin(y - x)sin(y + x) + cos(y - x)cos(y + x) + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 2 + cos(y + x) + Type: FunctionCalled g +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserMakePageEmpty17} +\begin{paste}{ugUserMakePageEmpty17}{ugUserMakePagePatch17} +\pastebutton{ugUserMakePageEmpty17}{\showpaste} +\tab{5}\spadcommand{g\free{g }} +\end{paste}\end{patch} + @ \pagehead{ugUserBlocksPage}{ug06.ht}{Functions Defined with Blocks} \pageto{notitle}{ugLangBlocksPage} @@ -32443,6 +85744,284 @@ call. \autobuttons \end{page} +\begin{patch}{ugUserBlocksPagePatch1} +\begin{paste}{ugUserBlocksPageFull1}{ugUserBlocksPageEmpty1} +\pastebutton{ugUserBlocksPageFull1}{\hidepaste} +\tab{5}\spadcommand{swap(m,i,j) == + temp := m.i + m.i := m.j + m.j := temp +\bound{swap }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPageEmpty1} +\begin{paste}{ugUserBlocksPageEmpty1}{ugUserBlocksPagePatch1} +\pastebutton{ugUserBlocksPageEmpty1}{\showpaste} +\tab{5}\spadcommand{swap(m,i,j) == + temp := m.i + m.i := m.j + m.j := temp +\bound{swap }} +\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPagePatch2} +\begin{paste}{ugUserBlocksPageFull2}{ugUserBlocksPageEmpty2} +\pastebutton{ugUserBlocksPageFull2}{\hidepaste} +\tab{5}\spadcommand{k := [1,2,3,4,5]\bound{k }} +\indentrel{3}\begin{verbatim} + (2) [1,2,3,4,5] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPageEmpty2} +\begin{paste}{ugUserBlocksPageEmpty2}{ugUserBlocksPagePatch2} +\pastebutton{ugUserBlocksPageEmpty2}{\showpaste} +\tab{5}\spadcommand{k := [1,2,3,4,5]\bound{k }} +\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPagePatch3} +\begin{paste}{ugUserBlocksPageFull3}{ugUserBlocksPageEmpty3} +\pastebutton{ugUserBlocksPageFull3}{\hidepaste} +\tab{5}\spadcommand{swap(k,2,4)\free{l swap }\bound{swapk }} +\indentrel{3}\begin{verbatim} + (3) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPageEmpty3} +\begin{paste}{ugUserBlocksPageEmpty3}{ugUserBlocksPagePatch3} +\pastebutton{ugUserBlocksPageEmpty3}{\showpaste} +\tab{5}\spadcommand{swap(k,2,4)\free{l swap }\bound{swapk }} +\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPagePatch4} +\begin{paste}{ugUserBlocksPageFull4}{ugUserBlocksPageEmpty4} +\pastebutton{ugUserBlocksPageFull4}{\hidepaste} +\tab{5}\spadcommand{k\free{swapk }} +\indentrel{3}\begin{verbatim} + (4) [1,4,3,2,5] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPageEmpty4} +\begin{paste}{ugUserBlocksPageEmpty4}{ugUserBlocksPagePatch4} +\pastebutton{ugUserBlocksPageEmpty4}{\showpaste} +\tab{5}\spadcommand{k\free{swapk }} +\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPagePatch5} +\begin{paste}{ugUserBlocksPageFull5}{ugUserBlocksPageEmpty5} +\pastebutton{ugUserBlocksPageFull5}{\hidepaste} +\tab{5}\spadcommand{bubbleSort(m) == + n := \#m + for i in 1..(n-1) repeat + for j in n..(i+1) by -1 repeat + if m.j < m.(j-1) then swap(m,j,j-1) + m +\bound{bubbleSort }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPageEmpty5} +\begin{paste}{ugUserBlocksPageEmpty5}{ugUserBlocksPagePatch5} +\pastebutton{ugUserBlocksPageEmpty5}{\showpaste} +\tab{5}\spadcommand{bubbleSort(m) == + n := \#m + for i in 1..(n-1) repeat + for j in n..(i+1) by -1 repeat + if m.j < m.(j-1) then swap(m,j,j-1) + m +\bound{bubbleSort }} +\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPagePatch6} +\begin{paste}{ugUserBlocksPageFull6}{ugUserBlocksPageEmpty6} +\pastebutton{ugUserBlocksPageFull6}{\hidepaste} +\tab{5}\spadcommand{m := [8,4,-3,9]\bound{m }} +\indentrel{3}\begin{verbatim} + (6) [8,4,- 3,9] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPageEmpty6} +\begin{paste}{ugUserBlocksPageEmpty6}{ugUserBlocksPagePatch6} +\pastebutton{ugUserBlocksPageEmpty6}{\showpaste} +\tab{5}\spadcommand{m := [8,4,-3,9]\bound{m }} +\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPagePatch7} +\begin{paste}{ugUserBlocksPageFull7}{ugUserBlocksPageEmpty7} +\pastebutton{ugUserBlocksPageFull7}{\hidepaste} +\tab{5}\spadcommand{bubbleSort(m)\free{m swap bubbleSort }\bound{sortm }} +\indentrel{3}\begin{verbatim} + (7) [- 3,4,8,9] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPageEmpty7} +\begin{paste}{ugUserBlocksPageEmpty7}{ugUserBlocksPagePatch7} +\pastebutton{ugUserBlocksPageEmpty7}{\showpaste} +\tab{5}\spadcommand{bubbleSort(m)\free{m swap bubbleSort }\bound{sortm }} +\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPagePatch8} +\begin{paste}{ugUserBlocksPageFull8}{ugUserBlocksPageEmpty8} +\pastebutton{ugUserBlocksPageFull8}{\hidepaste} +\tab{5}\spadcommand{m\free{sortm }} +\indentrel{3}\begin{verbatim} + (8) [- 3,4,8,9] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPageEmpty8} +\begin{paste}{ugUserBlocksPageEmpty8}{ugUserBlocksPagePatch8} +\pastebutton{ugUserBlocksPageEmpty8}{\showpaste} +\tab{5}\spadcommand{m\free{sortm }} +\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPagePatch9} +\begin{paste}{ugUserBlocksPageFull9}{ugUserBlocksPageEmpty9} +\pastebutton{ugUserBlocksPageFull9}{\hidepaste} +\tab{5}\spadcommand{insertionSort(m) == + for i in 2..\#m repeat + j := i + while j > 1 and m.j < m.(j-1) repeat + swap(m,j,j-1) + j := j - 1 + m +\bound{insertionSort }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPageEmpty9} +\begin{paste}{ugUserBlocksPageEmpty9}{ugUserBlocksPagePatch9} +\pastebutton{ugUserBlocksPageEmpty9}{\showpaste} +\tab{5}\spadcommand{insertionSort(m) == + for i in 2..\#m repeat + j := i + while j > 1 and m.j < m.(j-1) repeat + swap(m,j,j-1) + j := j - 1 + m +\bound{insertionSort }} +\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPagePatch10} +\begin{paste}{ugUserBlocksPageFull10}{ugUserBlocksPageEmpty10} +\pastebutton{ugUserBlocksPageFull10}{\hidepaste} +\tab{5}\spadcommand{m := [8,4,-3,9]\bound{m1 }} +\indentrel{3}\begin{verbatim} + (10) [8,4,- 3,9] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPageEmpty10} +\begin{paste}{ugUserBlocksPageEmpty10}{ugUserBlocksPagePatch10} +\pastebutton{ugUserBlocksPageEmpty10}{\showpaste} +\tab{5}\spadcommand{m := [8,4,-3,9]\bound{m1 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPagePatch11} +\begin{paste}{ugUserBlocksPageFull11}{ugUserBlocksPageEmpty11} +\pastebutton{ugUserBlocksPageFull11}{\hidepaste} +\tab{5}\spadcommand{insertionSort(m)\free{m1 swap insertionSort }\bound{sortm1 }} +\indentrel{3}\begin{verbatim} + (11) [- 3,4,8,9] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPageEmpty11} +\begin{paste}{ugUserBlocksPageEmpty11}{ugUserBlocksPagePatch11} +\pastebutton{ugUserBlocksPageEmpty11}{\showpaste} +\tab{5}\spadcommand{insertionSort(m)\free{m1 swap insertionSort }\bound{sortm1 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPagePatch12} +\begin{paste}{ugUserBlocksPageFull12}{ugUserBlocksPageEmpty12} +\pastebutton{ugUserBlocksPageFull12}{\hidepaste} +\tab{5}\spadcommand{m\free{sortm1 }} +\indentrel{3}\begin{verbatim} + (12) [- 3,4,8,9] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPageEmpty12} +\begin{paste}{ugUserBlocksPageEmpty12}{ugUserBlocksPagePatch12} +\pastebutton{ugUserBlocksPageEmpty12}{\showpaste} +\tab{5}\spadcommand{m\free{sortm1 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPagePatch13} +\begin{paste}{ugUserBlocksPageFull13}{ugUserBlocksPageEmpty13} +\pastebutton{ugUserBlocksPageFull13}{\hidepaste} +\tab{5}\spadcommand{bubbleSort2(m: List Integer): List Integer == + null m => m + l := m + while not null (r := l.rest) repeat + r := bubbleSort2 r + x := l.first + if x < r.first then + l.first := r.first + r.first := x + l.rest := r + l := l.rest + m +\bound{bubbleSort2 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPageEmpty13} +\begin{paste}{ugUserBlocksPageEmpty13}{ugUserBlocksPagePatch13} +\pastebutton{ugUserBlocksPageEmpty13}{\showpaste} +\tab{5}\spadcommand{bubbleSort2(m: List Integer): List Integer == + null m => m + l := m + while not null (r := l.rest) repeat + r := bubbleSort2 r + x := l.first + if x < r.first then + l.first := r.first + r.first := x + l.rest := r + l := l.rest + m +\bound{bubbleSort2 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPagePatch14} +\begin{paste}{ugUserBlocksPageFull14}{ugUserBlocksPageEmpty14} +\pastebutton{ugUserBlocksPageFull14}{\hidepaste} +\tab{5}\spadcommand{bubbleSort2 [3,7,2]\free{bubbleSort2 }} +\indentrel{3}\begin{verbatim} + (14) [7,3,2] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserBlocksPageEmpty14} +\begin{paste}{ugUserBlocksPageEmpty14}{ugUserBlocksPagePatch14} +\pastebutton{ugUserBlocksPageEmpty14}{\showpaste} +\tab{5}\spadcommand{bubbleSort2 [3,7,2]\free{bubbleSort2 }} +\end{paste}\end{patch} + @ \pagehead{ugUserFreeLocalPage}{ug06.ht}{Free and Local Variables} \pageto{notitle}{ugUserCachePage} @@ -32718,6 +86297,478 @@ to hold the previously computed values? \autobuttons \end{page} +\begin{patch}{ugUserFreeLocalPagePatch1} +\begin{paste}{ugUserFreeLocalPageFull1}{ugUserFreeLocalPageEmpty1} +\pastebutton{ugUserFreeLocalPageFull1}{\hidepaste} +\tab{5}\spadcommand{counter := 0\bound{counter }} +\indentrel{3}\begin{verbatim} + (1) 0 + Type: NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty1} +\begin{paste}{ugUserFreeLocalPageEmpty1}{ugUserFreeLocalPagePatch1} +\pastebutton{ugUserFreeLocalPageEmpty1}{\showpaste} +\tab{5}\spadcommand{counter := 0\bound{counter }} +\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPagePatch2} +\begin{paste}{ugUserFreeLocalPageFull2}{ugUserFreeLocalPageEmpty2} +\pastebutton{ugUserFreeLocalPageFull2}{\hidepaste} +\tab{5}\spadcommand{f() == + free counter + counter := counter + 1 +\free{counter }\bound{f }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty2} +\begin{paste}{ugUserFreeLocalPageEmpty2}{ugUserFreeLocalPagePatch2} +\pastebutton{ugUserFreeLocalPageEmpty2}{\showpaste} +\tab{5}\spadcommand{f() == + free counter + counter := counter + 1 +\free{counter }\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPagePatch3} +\begin{paste}{ugUserFreeLocalPageFull3}{ugUserFreeLocalPageEmpty3} +\pastebutton{ugUserFreeLocalPageFull3}{\hidepaste} +\tab{5}\spadcommand{f()\free{f }\bound{f1 }} +\indentrel{3}\begin{verbatim} + (3) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty3} +\begin{paste}{ugUserFreeLocalPageEmpty3}{ugUserFreeLocalPagePatch3} +\pastebutton{ugUserFreeLocalPageEmpty3}{\showpaste} +\tab{5}\spadcommand{f()\free{f }\bound{f1 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPagePatch4} +\begin{paste}{ugUserFreeLocalPageFull4}{ugUserFreeLocalPageEmpty4} +\pastebutton{ugUserFreeLocalPageFull4}{\hidepaste} +\tab{5}\spadcommand{counter\free{f1 }} +\indentrel{3}\begin{verbatim} + (4) 1 + Type: NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty4} +\begin{paste}{ugUserFreeLocalPageEmpty4}{ugUserFreeLocalPagePatch4} +\pastebutton{ugUserFreeLocalPageEmpty4}{\showpaste} +\tab{5}\spadcommand{counter\free{f1 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPagePatch5} +\begin{paste}{ugUserFreeLocalPageFull5}{ugUserFreeLocalPageEmpty5} +\pastebutton{ugUserFreeLocalPageFull5}{\hidepaste} +\tab{5}\spadcommand{g() == + local counter + counter := 7 +\bound{g }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty5} +\begin{paste}{ugUserFreeLocalPageEmpty5}{ugUserFreeLocalPagePatch5} +\pastebutton{ugUserFreeLocalPageEmpty5}{\showpaste} +\tab{5}\spadcommand{g() == + local counter + counter := 7 +\bound{g }} +\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPagePatch6} +\begin{paste}{ugUserFreeLocalPageFull6}{ugUserFreeLocalPageEmpty6} +\pastebutton{ugUserFreeLocalPageFull6}{\hidepaste} +\tab{5}\spadcommand{g()\free{g }} +\indentrel{3}\begin{verbatim} + (6) 7 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty6} +\begin{paste}{ugUserFreeLocalPageEmpty6}{ugUserFreeLocalPagePatch6} +\pastebutton{ugUserFreeLocalPageEmpty6}{\showpaste} +\tab{5}\spadcommand{g()\free{g }} +\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPagePatch7} +\begin{paste}{ugUserFreeLocalPageFull7}{ugUserFreeLocalPageEmpty7} +\pastebutton{ugUserFreeLocalPageFull7}{\hidepaste} +\tab{5}\spadcommand{counter\free{g f1 }} +\indentrel{3}\begin{verbatim} + (7) 1 + Type: NonNegativeInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty7} +\begin{paste}{ugUserFreeLocalPageEmpty7}{ugUserFreeLocalPagePatch7} +\pastebutton{ugUserFreeLocalPageEmpty7}{\showpaste} +\tab{5}\spadcommand{counter\free{g f1 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPagePatch8} +\begin{paste}{ugUserFreeLocalPageFull8}{ugUserFreeLocalPageEmpty8} +\pastebutton{ugUserFreeLocalPageFull8}{\hidepaste} +\tab{5}\spadcommand{a := b := 1\bound{ab1 }} +\indentrel{3}\begin{verbatim} + (8) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty8} +\begin{paste}{ugUserFreeLocalPageEmpty8}{ugUserFreeLocalPagePatch8} +\pastebutton{ugUserFreeLocalPageEmpty8}{\showpaste} +\tab{5}\spadcommand{a := b := 1\bound{ab1 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPagePatch9} +\begin{paste}{ugUserFreeLocalPageFull9}{ugUserFreeLocalPageEmpty9} +\pastebutton{ugUserFreeLocalPageFull9}{\hidepaste} +\tab{5}\spadcommand{h() == + b := a + 1 + a := b + a +\bound{hh }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty9} +\begin{paste}{ugUserFreeLocalPageEmpty9}{ugUserFreeLocalPagePatch9} +\pastebutton{ugUserFreeLocalPageEmpty9}{\showpaste} +\tab{5}\spadcommand{h() == + b := a + 1 + a := b + a +\bound{hh }} +\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPagePatch10} +\begin{paste}{ugUserFreeLocalPageFull10}{ugUserFreeLocalPageEmpty10} +\pastebutton{ugUserFreeLocalPageFull10}{\hidepaste} +\tab{5}\spadcommand{h()\free{ab1 hh }\bound{hhh }} +\indentrel{3}\begin{verbatim} + (10) 3 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty10} +\begin{paste}{ugUserFreeLocalPageEmpty10}{ugUserFreeLocalPagePatch10} +\pastebutton{ugUserFreeLocalPageEmpty10}{\showpaste} +\tab{5}\spadcommand{h()\free{ab1 hh }\bound{hhh }} +\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPagePatch11} +\begin{paste}{ugUserFreeLocalPageFull11}{ugUserFreeLocalPageEmpty11} +\pastebutton{ugUserFreeLocalPageFull11}{\hidepaste} +\tab{5}\spadcommand{[a, b]\free{hhh }} +\indentrel{3}\begin{verbatim} + (11) [3,1] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty11} +\begin{paste}{ugUserFreeLocalPageEmpty11}{ugUserFreeLocalPagePatch11} +\pastebutton{ugUserFreeLocalPageEmpty11}{\showpaste} +\tab{5}\spadcommand{[a, b]\free{hhh }} +\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPagePatch12} +\begin{paste}{ugUserFreeLocalPageFull12}{ugUserFreeLocalPageEmpty12} +\pastebutton{ugUserFreeLocalPageFull12}{\hidepaste} +\tab{5}\spadcommand{)set fun cache all p\bound{pcache }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty12} +\begin{paste}{ugUserFreeLocalPageEmpty12}{ugUserFreeLocalPagePatch12} +\pastebutton{ugUserFreeLocalPageEmpty12}{\showpaste} +\tab{5}\spadcommand{)set fun cache all p\bound{pcache }} +\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPagePatch13} +\begin{paste}{ugUserFreeLocalPageFull13}{ugUserFreeLocalPageEmpty13} +\pastebutton{ugUserFreeLocalPageFull13}{\hidepaste} +\tab{5}\spadcommand{p(i,x) == ( free N; reduce( + , [ (x-i)**n for n in 1..N ] ) )\free{pcache }\bound{pdef }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty13} +\begin{paste}{ugUserFreeLocalPageEmpty13}{ugUserFreeLocalPagePatch13} +\pastebutton{ugUserFreeLocalPageEmpty13}{\showpaste} +\tab{5}\spadcommand{p(i,x) == ( free N; reduce( + , [ (x-i)**n for n in 1..N ] ) )\free{pcache }\bound{pdef }} +\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPagePatch14} +\begin{paste}{ugUserFreeLocalPageFull14}{ugUserFreeLocalPageEmpty14} +\pastebutton{ugUserFreeLocalPageFull14}{\hidepaste} +\tab{5}\spadcommand{N := 1\bound{Nass }} +\indentrel{3}\begin{verbatim} + (13) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty14} +\begin{paste}{ugUserFreeLocalPageEmpty14}{ugUserFreeLocalPagePatch14} +\pastebutton{ugUserFreeLocalPageEmpty14}{\showpaste} +\tab{5}\spadcommand{N := 1\bound{Nass }} +\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPagePatch15} +\begin{paste}{ugUserFreeLocalPageFull15}{ugUserFreeLocalPageEmpty15} +\pastebutton{ugUserFreeLocalPageFull15}{\hidepaste} +\tab{5}\spadcommand{p(0, x)\free{pdef Nass }\bound{pfirst }} +\indentrel{3}\begin{verbatim} + (14) x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty15} +\begin{paste}{ugUserFreeLocalPageEmpty15}{ugUserFreeLocalPagePatch15} +\pastebutton{ugUserFreeLocalPageEmpty15}{\showpaste} +\tab{5}\spadcommand{p(0, x)\free{pdef Nass }\bound{pfirst }} +\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPagePatch16} +\begin{paste}{ugUserFreeLocalPageFull16}{ugUserFreeLocalPageEmpty16} +\pastebutton{ugUserFreeLocalPageFull16}{\hidepaste} +\tab{5}\spadcommand{N := 2\bound{Nass2 }} +\indentrel{3}\begin{verbatim} + (15) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty16} +\begin{paste}{ugUserFreeLocalPageEmpty16}{ugUserFreeLocalPagePatch16} +\pastebutton{ugUserFreeLocalPageEmpty16}{\showpaste} +\tab{5}\spadcommand{N := 2\bound{Nass2 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPagePatch17} +\begin{paste}{ugUserFreeLocalPageFull17}{ugUserFreeLocalPageEmpty17} +\pastebutton{ugUserFreeLocalPageFull17}{\hidepaste} +\tab{5}\spadcommand{p(0, x)\free{pfirst Nass2 }} +\indentrel{3}\begin{verbatim} + (16) x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty17} +\begin{paste}{ugUserFreeLocalPageEmpty17}{ugUserFreeLocalPagePatch17} +\pastebutton{ugUserFreeLocalPageEmpty17}{\showpaste} +\tab{5}\spadcommand{p(0, x)\free{pfirst Nass2 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPagePatch18} +\begin{paste}{ugUserFreeLocalPageFull18}{ugUserFreeLocalPageEmpty18} +\pastebutton{ugUserFreeLocalPageFull18}{\hidepaste} +\tab{5}\spadcommand{)set fun cache 0 p} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty18} +\begin{paste}{ugUserFreeLocalPageEmpty18}{ugUserFreeLocalPagePatch18} +\pastebutton{ugUserFreeLocalPageEmpty18}{\showpaste} +\tab{5}\spadcommand{)set fun cache 0 p} +\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPagePatch19} +\begin{paste}{ugUserFreeLocalPageFull19}{ugUserFreeLocalPageEmpty19} +\pastebutton{ugUserFreeLocalPageFull19}{\hidepaste} +\tab{5}\spadcommand{r : Record(i : Integer) := [1]\free{r }} +\indentrel{3}\begin{verbatim} + (17) [i= 1] + Type: Record(i: Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty19} +\begin{paste}{ugUserFreeLocalPageEmpty19}{ugUserFreeLocalPagePatch19} +\pastebutton{ugUserFreeLocalPageEmpty19}{\showpaste} +\tab{5}\spadcommand{r : Record(i : Integer) := [1]\free{r }} +\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPagePatch20} +\begin{paste}{ugUserFreeLocalPageFull20}{ugUserFreeLocalPageEmpty20} +\pastebutton{ugUserFreeLocalPageFull20}{\hidepaste} +\tab{5}\spadcommand{resetRecord rr == + rr.i := 2 + rr := [10] +\bound{resetRecord }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty20} +\begin{paste}{ugUserFreeLocalPageEmpty20}{ugUserFreeLocalPagePatch20} +\pastebutton{ugUserFreeLocalPageEmpty20}{\showpaste} +\tab{5}\spadcommand{resetRecord rr == + rr.i := 2 + rr := [10] +\bound{resetRecord }} +\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPagePatch21} +\begin{paste}{ugUserFreeLocalPageFull21}{ugUserFreeLocalPageEmpty21} +\pastebutton{ugUserFreeLocalPageFull21}{\hidepaste} +\tab{5}\spadcommand{resetRecord r\free{r resetRecord }\bound{rr }} +\indentrel{3}\begin{verbatim} + (19) [i= 10] + Type: Record(i: Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty21} +\begin{paste}{ugUserFreeLocalPageEmpty21}{ugUserFreeLocalPagePatch21} +\pastebutton{ugUserFreeLocalPageEmpty21}{\showpaste} +\tab{5}\spadcommand{resetRecord r\free{r resetRecord }\bound{rr }} +\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPagePatch22} +\begin{paste}{ugUserFreeLocalPageFull22}{ugUserFreeLocalPageEmpty22} +\pastebutton{ugUserFreeLocalPageFull22}{\hidepaste} +\tab{5}\spadcommand{r\free{rr }} +\indentrel{3}\begin{verbatim} + (20) [i= 2] + Type: Record(i: Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty22} +\begin{paste}{ugUserFreeLocalPageEmpty22}{ugUserFreeLocalPagePatch22} +\pastebutton{ugUserFreeLocalPageEmpty22}{\showpaste} +\tab{5}\spadcommand{r\free{rr }} +\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPagePatch23} +\begin{paste}{ugUserFreeLocalPageFull23}{ugUserFreeLocalPageEmpty23} +\pastebutton{ugUserFreeLocalPageFull23}{\hidepaste} +\tab{5}\spadcommand{past := present := 1\bound{f0 }} +\indentrel{3}\begin{verbatim} + (21) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty23} +\begin{paste}{ugUserFreeLocalPageEmpty23}{ugUserFreeLocalPagePatch23} +\pastebutton{ugUserFreeLocalPageEmpty23}{\showpaste} +\tab{5}\spadcommand{past := present := 1\bound{f0 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPagePatch24} +\begin{paste}{ugUserFreeLocalPageFull24}{ugUserFreeLocalPageEmpty24} +\pastebutton{ugUserFreeLocalPageFull24}{\hidepaste} +\tab{5}\spadcommand{index := 2\bound{f1 }\free{f0 }} +\indentrel{3}\begin{verbatim} + (22) 2 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty24} +\begin{paste}{ugUserFreeLocalPageEmpty24}{ugUserFreeLocalPagePatch24} +\pastebutton{ugUserFreeLocalPageEmpty24}{\showpaste} +\tab{5}\spadcommand{index := 2\bound{f1 }\free{f0 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPagePatch25} +\begin{paste}{ugUserFreeLocalPageFull25}{ugUserFreeLocalPageEmpty25} +\pastebutton{ugUserFreeLocalPageFull25}{\hidepaste} +\tab{5}\spadcommand{fib(n) == + free past, present, index + n < 3 => 1 + n = index - 1 => past + if n < index-1 then + (past,present) := (1,1) + index := 2 + while (index < n) repeat + (past,present) := (present, past+present) + index := index + 1 + present +\bound{f3 }\free{f2 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty25} +\begin{paste}{ugUserFreeLocalPageEmpty25}{ugUserFreeLocalPagePatch25} +\pastebutton{ugUserFreeLocalPageEmpty25}{\showpaste} +\tab{5}\spadcommand{fib(n) == + free past, present, index + n < 3 => 1 + n = index - 1 => past + if n < index-1 then + (past,present) := (1,1) + index := 2 + while (index < n) repeat + (past,present) := (present, past+present) + index := index + 1 + present +\bound{f3 }\free{f2 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPagePatch26} +\begin{paste}{ugUserFreeLocalPageFull26}{ugUserFreeLocalPageEmpty26} +\pastebutton{ugUserFreeLocalPageFull26}{\hidepaste} +\tab{5}\spadcommand{fibs := [fib(n) for n in 1..]\bound{fibs }\free{f3 }} +\indentrel{3}\begin{verbatim} + (24) [1,1,2,3,5,8,13,21,34,55,...] + Type: Stream PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty26} +\begin{paste}{ugUserFreeLocalPageEmpty26}{ugUserFreeLocalPagePatch26} +\pastebutton{ugUserFreeLocalPageEmpty26}{\showpaste} +\tab{5}\spadcommand{fibs := [fib(n) for n in 1..]\bound{fibs }\free{f3 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPagePatch27} +\begin{paste}{ugUserFreeLocalPageFull27}{ugUserFreeLocalPageEmpty27} +\pastebutton{ugUserFreeLocalPageFull27}{\hidepaste} +\tab{5}\spadcommand{fibs 1000\free{fibs }} +\indentrel{3}\begin{verbatim} + (25) + 434665576869374564356885276750406258025646605173717804_ + 02481729089536555417949051890403879840079255169295922_ + 59308032263477520968962323987332247116164299644090653_ + 3187938298969649928516003704476137795166849228875 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserFreeLocalPageEmpty27} +\begin{paste}{ugUserFreeLocalPageEmpty27}{ugUserFreeLocalPagePatch27} +\pastebutton{ugUserFreeLocalPageEmpty27}{\showpaste} +\tab{5}\spadcommand{fibs 1000\free{fibs }} +\end{paste}\end{patch} + @ \pagehead{ugUserAnonPage}{ug06.ht}{Anonymous Functions} \pageto{notitle}{ugUserAnonExampPage} @@ -32832,6 +86883,169 @@ The one you use is a matter of taste. \autobuttons \end{page} +\begin{patch}{ugUserAnonExampPagePatch1} +\begin{paste}{ugUserAnonExampPageFull1}{ugUserAnonExampPageEmpty1} +\pastebutton{ugUserAnonExampPageFull1}{\hidepaste} +\tab{5}\spadcommand{x +-> if x < 0 then -x else x\bound{anon0 }} +\indentrel{3}\begin{verbatim} + (1) + x + +-> + if x < 0 + then - x + else x + Type: AnonymousFunction +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserAnonExampPageEmpty1} +\begin{paste}{ugUserAnonExampPageEmpty1}{ugUserAnonExampPagePatch1} +\pastebutton{ugUserAnonExampPageEmpty1}{\showpaste} +\tab{5}\spadcommand{x +-> if x < 0 then -x else x\bound{anon0 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserAnonExampPagePatch2} +\begin{paste}{ugUserAnonExampPageFull2}{ugUserAnonExampPageEmpty2} +\pastebutton{ugUserAnonExampPageFull2}{\hidepaste} +\tab{5}\spadcommand{abs1 := \%\free{anon0 }\bound{abs1 }} +\indentrel{3}\begin{verbatim} + (2) + x + +-> + if x < 0 + then - x + else x + Type: AnonymousFunction +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserAnonExampPageEmpty2} +\begin{paste}{ugUserAnonExampPageEmpty2}{ugUserAnonExampPagePatch2} +\pastebutton{ugUserAnonExampPageEmpty2}{\showpaste} +\tab{5}\spadcommand{abs1 := \%\free{anon0 }\bound{abs1 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserAnonExampPagePatch3} +\begin{paste}{ugUserAnonExampPageFull3}{ugUserAnonExampPageEmpty3} +\pastebutton{ugUserAnonExampPageFull3}{\hidepaste} +\tab{5}\spadcommand{(x,y) +-> abs1(x) > abs1(y)\bound{anon1 }\free{abs1 }} +\indentrel{3}\begin{verbatim} + (3) (x,y) +-> abs1(y) < abs1(x) + Type: AnonymousFunction +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserAnonExampPageEmpty3} +\begin{paste}{ugUserAnonExampPageEmpty3}{ugUserAnonExampPagePatch3} +\pastebutton{ugUserAnonExampPageEmpty3}{\showpaste} +\tab{5}\spadcommand{(x,y) +-> abs1(x) > abs1(y)\bound{anon1 }\free{abs1 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserAnonExampPagePatch4} +\begin{paste}{ugUserAnonExampPageFull4}{ugUserAnonExampPageEmpty4} +\pastebutton{ugUserAnonExampPageFull4}{\hidepaste} +\tab{5}\spadcommand{sort(\%,[3,9,-4,10,-3,-1,-9,5])\free{anon1 }} +\indentrel{3}\begin{verbatim} + (4) [10,- 9,9,5,- 4,- 3,3,- 1] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserAnonExampPageEmpty4} +\begin{paste}{ugUserAnonExampPageEmpty4}{ugUserAnonExampPagePatch4} +\pastebutton{ugUserAnonExampPageEmpty4}{\showpaste} +\tab{5}\spadcommand{sort(\%,[3,9,-4,10,-3,-1,-9,5])\free{anon1 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserAnonExampPagePatch5} +\begin{paste}{ugUserAnonExampPageFull5}{ugUserAnonExampPageEmpty5} +\pastebutton{ugUserAnonExampPageFull5}{\hidepaste} +\tab{5}\spadcommand{ev := ( (i,j) +-> if even?(i+j) then 1 else -1)\bound{ev }} +\indentrel{3}\begin{verbatim} + (5) + (i,j) + +-> + if even?(i + j) + then 1 + else - 1 + Type: AnonymousFunction +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserAnonExampPageEmpty5} +\begin{paste}{ugUserAnonExampPageEmpty5}{ugUserAnonExampPagePatch5} +\pastebutton{ugUserAnonExampPageEmpty5}{\showpaste} +\tab{5}\spadcommand{ev := ( (i,j) +-> if even?(i+j) then 1 else -1)\bound{ev }} +\end{paste}\end{patch} + +\begin{patch}{ugUserAnonExampPagePatch6} +\begin{paste}{ugUserAnonExampPageFull6}{ugUserAnonExampPageEmpty6} +\pastebutton{ugUserAnonExampPageFull6}{\hidepaste} +\tab{5}\spadcommand{matrix([[ev(row,col) for row in 1..4] for col in 1..4])\free{ev }} +\indentrel{3}\begin{verbatim} + Ú 1 - 1 1 - 1¿ + ³ ³ + ³- 1 1 - 1 1 ³ + (6) ³ ³ + ³ 1 - 1 1 - 1³ + ³ ³ + À- 1 1 - 1 1 Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserAnonExampPageEmpty6} +\begin{paste}{ugUserAnonExampPageEmpty6}{ugUserAnonExampPagePatch6} +\pastebutton{ugUserAnonExampPageEmpty6}{\showpaste} +\tab{5}\spadcommand{matrix([[ev(row,col) for row in 1..4] for col in 1..4])\free{ev }} +\end{paste}\end{patch} + +\begin{patch}{ugUserAnonExampPagePatch7} +\begin{paste}{ugUserAnonExampPageFull7}{ugUserAnonExampPageEmpty7} +\pastebutton{ugUserAnonExampPageFull7}{\hidepaste} +\tab{5}\spadcommand{( p +-> not one?(gcd(p,D(p,x))) )(x**2+4*x+4)} +\indentrel{3}\begin{verbatim} + (7) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserAnonExampPageEmpty7} +\begin{paste}{ugUserAnonExampPageEmpty7}{ugUserAnonExampPagePatch7} +\pastebutton{ugUserAnonExampPageEmpty7}{\showpaste} +\tab{5}\spadcommand{( p +-> not one?(gcd(p,D(p,x))) )(x**2+4*x+4)} +\end{paste}\end{patch} + +\begin{patch}{ugUserAnonExampPagePatch8} +\begin{paste}{ugUserAnonExampPageFull8}{ugUserAnonExampPageEmpty8} +\pastebutton{ugUserAnonExampPageFull8}{\hidepaste} +\tab{5}\spadcommand{g(x,y,z) == cos(x + sin(y + tan(z)))} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserAnonExampPageEmpty8} +\begin{paste}{ugUserAnonExampPageEmpty8}{ugUserAnonExampPagePatch8} +\pastebutton{ugUserAnonExampPageEmpty8}{\showpaste} +\tab{5}\spadcommand{g(x,y,z) == cos(x + sin(y + tan(z)))} +\end{paste}\end{patch} + +\begin{patch}{ugUserAnonExampPagePatch9} +\begin{paste}{ugUserAnonExampPageFull9}{ugUserAnonExampPageEmpty9} +\pastebutton{ugUserAnonExampPageFull9}{\hidepaste} +\tab{5}\spadcommand{g == (x,y,z) +-> cos(x + sin(y + tan(z)))} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserAnonExampPageEmpty9} +\begin{paste}{ugUserAnonExampPageEmpty9}{ugUserAnonExampPagePatch9} +\pastebutton{ugUserAnonExampPageEmpty9}{\showpaste} +\tab{5}\spadcommand{g == (x,y,z) +-> cos(x + sin(y + tan(z)))} +\end{paste}\end{patch} + @ \pagehead{ugUserAnonDeclarePage}{ug06.ht}{Declaring Anonymous Functions} <>= @@ -32929,6 +87143,131 @@ anonymous function must be declared. \autobuttons \end{page} +\begin{patch}{ugUserAnonDeclarePagePatch1} +\begin{paste}{ugUserAnonDeclarePageFull1}{ugUserAnonDeclarePageEmpty1} +\pastebutton{ugUserAnonDeclarePageFull1}{\hidepaste} +\tab{5}\spadcommand{(x: INT,y: INT): FRAC INT +-> (x + 2*y)/(y - 1)} +\indentrel{3}\begin{verbatim} + (1) theMap(NIL) + Type: ((Integer,Integer) -> Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserAnonDeclarePageEmpty1} +\begin{paste}{ugUserAnonDeclarePageEmpty1}{ugUserAnonDeclarePagePatch1} +\pastebutton{ugUserAnonDeclarePageEmpty1}{\showpaste} +\tab{5}\spadcommand{(x: INT,y: INT): FRAC INT +-> (x + 2*y)/(y - 1)} +\end{paste}\end{patch} + +\begin{patch}{ugUserAnonDeclarePagePatch2} +\begin{paste}{ugUserAnonDeclarePageFull2}{ugUserAnonDeclarePageEmpty2} +\pastebutton{ugUserAnonDeclarePageFull2}{\hidepaste} +\tab{5}\spadcommand{(x: INT,y: INT) +-> (x + 2*y)/(y - 1)} +\indentrel{3}\begin{verbatim} + (2) theMap(NIL) + Type: ((Integer,Integer) -> Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserAnonDeclarePageEmpty2} +\begin{paste}{ugUserAnonDeclarePageEmpty2}{ugUserAnonDeclarePagePatch2} +\pastebutton{ugUserAnonDeclarePageEmpty2}{\showpaste} +\tab{5}\spadcommand{(x: INT,y: INT) +-> (x + 2*y)/(y - 1)} +\end{paste}\end{patch} + +\begin{patch}{ugUserAnonDeclarePagePatch3} +\begin{paste}{ugUserAnonDeclarePageFull3}{ugUserAnonDeclarePageEmpty3} +\pastebutton{ugUserAnonDeclarePageFull3}{\hidepaste} +\tab{5}\spadcommand{h(x: INT,y: INT): FRAC INT == (x + 2*y)/(y - 1)} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserAnonDeclarePageEmpty3} +\begin{paste}{ugUserAnonDeclarePageEmpty3}{ugUserAnonDeclarePagePatch3} +\pastebutton{ugUserAnonDeclarePageEmpty3}{\showpaste} +\tab{5}\spadcommand{h(x: INT,y: INT): FRAC INT == (x + 2*y)/(y - 1)} +\end{paste}\end{patch} + +\begin{patch}{ugUserAnonDeclarePagePatch4} +\begin{paste}{ugUserAnonDeclarePageFull4}{ugUserAnonDeclarePageEmpty4} +\pastebutton{ugUserAnonDeclarePageFull4}{\hidepaste} +\tab{5}\spadcommand{h == (x: INT,y: INT): FRAC INT +-> (x + 2*y)/(y - 1)} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserAnonDeclarePageEmpty4} +\begin{paste}{ugUserAnonDeclarePageEmpty4}{ugUserAnonDeclarePagePatch4} +\pastebutton{ugUserAnonDeclarePageEmpty4}{\showpaste} +\tab{5}\spadcommand{h == (x: INT,y: INT): FRAC INT +-> (x + 2*y)/(y - 1)} +\end{paste}\end{patch} + +\begin{patch}{ugUserAnonDeclarePagePatch5} +\begin{paste}{ugUserAnonDeclarePageFull5}{ugUserAnonDeclarePageEmpty5} +\pastebutton{ugUserAnonDeclarePageFull5}{\hidepaste} +\tab{5}\spadcommand{addx x == ((y: Integer): Integer +-> x + y)\bound{addx }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserAnonDeclarePageEmpty5} +\begin{paste}{ugUserAnonDeclarePageEmpty5}{ugUserAnonDeclarePagePatch5} +\pastebutton{ugUserAnonDeclarePageEmpty5}{\showpaste} +\tab{5}\spadcommand{addx x == ((y: Integer): Integer +-> x + y)\bound{addx }} +\end{paste}\end{patch} + +\begin{patch}{ugUserAnonDeclarePagePatch6} +\begin{paste}{ugUserAnonDeclarePageFull6}{ugUserAnonDeclarePageEmpty6} +\pastebutton{ugUserAnonDeclarePageFull6}{\hidepaste} +\tab{5}\spadcommand{g := addx 10\free{addx }\bound{g }} +\indentrel{3}\begin{verbatim} + (6) theMap(LAMBDA_f647nv_704,826) + Type: (Integer -> Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserAnonDeclarePageEmpty6} +\begin{paste}{ugUserAnonDeclarePageEmpty6}{ugUserAnonDeclarePagePatch6} +\pastebutton{ugUserAnonDeclarePageEmpty6}{\showpaste} +\tab{5}\spadcommand{g := addx 10\free{addx }\bound{g }} +\end{paste}\end{patch} + +\begin{patch}{ugUserAnonDeclarePagePatch7} +\begin{paste}{ugUserAnonDeclarePageFull7}{ugUserAnonDeclarePageEmpty7} +\pastebutton{ugUserAnonDeclarePageFull7}{\hidepaste} +\tab{5}\spadcommand{g 3\free{g }} +\indentrel{3}\begin{verbatim} + (7) 13 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserAnonDeclarePageEmpty7} +\begin{paste}{ugUserAnonDeclarePageEmpty7}{ugUserAnonDeclarePagePatch7} +\pastebutton{ugUserAnonDeclarePageEmpty7}{\showpaste} +\tab{5}\spadcommand{g 3\free{g }} +\end{paste}\end{patch} + +\begin{patch}{ugUserAnonDeclarePagePatch8} +\begin{paste}{ugUserAnonDeclarePageFull8}{ugUserAnonDeclarePageEmpty8} +\pastebutton{ugUserAnonDeclarePageFull8}{\hidepaste} +\tab{5}\spadcommand{g(-4)\free{g }} +\indentrel{3}\begin{verbatim} + (8) 6 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserAnonDeclarePageEmpty8} +\begin{paste}{ugUserAnonDeclarePageEmpty8}{ugUserAnonDeclarePagePatch8} +\pastebutton{ugUserAnonDeclarePageEmpty8}{\showpaste} +\tab{5}\spadcommand{g(-4)\free{g }} +\end{paste}\end{patch} + @ \pagehead{ugUserDatabasePage}{ug06.ht}{Example: A Database} <>= @@ -33045,6 +87384,225 @@ Who are the great-grandparents? \autobuttons \end{page} +\begin{patch}{ugUserDatabasePagePatch1} +\begin{paste}{ugUserDatabasePageFull1}{ugUserDatabasePageEmpty1} +\pastebutton{ugUserDatabasePageFull1}{\hidepaste} +\tab{5}\spadcommand{children("albert") == ["albertJr","richard","diane"]\bound{d1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDatabasePageEmpty1} +\begin{paste}{ugUserDatabasePageEmpty1}{ugUserDatabasePagePatch1} +\pastebutton{ugUserDatabasePageEmpty1}{\showpaste} +\tab{5}\spadcommand{children("albert") == ["albertJr","richard","diane"]\bound{d1 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserDatabasePagePatch2} +\begin{paste}{ugUserDatabasePageFull2}{ugUserDatabasePageEmpty2} +\pastebutton{ugUserDatabasePageFull2}{\hidepaste} +\tab{5}\spadcommand{children("richard") == ["douglas","daniel","susan"]\free{d1 }\bound{d2 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDatabasePageEmpty2} +\begin{paste}{ugUserDatabasePageEmpty2}{ugUserDatabasePagePatch2} +\pastebutton{ugUserDatabasePageEmpty2}{\showpaste} +\tab{5}\spadcommand{children("richard") == ["douglas","daniel","susan"]\free{d1 }\bound{d2 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserDatabasePagePatch3} +\begin{paste}{ugUserDatabasePageFull3}{ugUserDatabasePageEmpty3} +\pastebutton{ugUserDatabasePageFull3}{\hidepaste} +\tab{5}\spadcommand{children("douglas") == ["dougie","valerie"]\free{d2 }\bound{d3 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDatabasePageEmpty3} +\begin{paste}{ugUserDatabasePageEmpty3}{ugUserDatabasePagePatch3} +\pastebutton{ugUserDatabasePageEmpty3}{\showpaste} +\tab{5}\spadcommand{children("douglas") == ["dougie","valerie"]\free{d2 }\bound{d3 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserDatabasePagePatch4} +\begin{paste}{ugUserDatabasePageFull4}{ugUserDatabasePageEmpty4} +\pastebutton{ugUserDatabasePageFull4}{\hidepaste} +\tab{5}\spadcommand{children(x) == []\free{d3 }\bound{d4 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDatabasePageEmpty4} +\begin{paste}{ugUserDatabasePageEmpty4}{ugUserDatabasePagePatch4} +\pastebutton{ugUserDatabasePageEmpty4}{\showpaste} +\tab{5}\spadcommand{children(x) == []\free{d3 }\bound{d4 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserDatabasePagePatch5} +\begin{paste}{ugUserDatabasePageFull5}{ugUserDatabasePageEmpty5} +\pastebutton{ugUserDatabasePageFull5}{\hidepaste} +\tab{5}\spadcommand{childOf(x,y) == member?(x,children(y))\bound{d9 }\free{d10 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDatabasePageEmpty5} +\begin{paste}{ugUserDatabasePageEmpty5}{ugUserDatabasePagePatch5} +\pastebutton{ugUserDatabasePageEmpty5}{\showpaste} +\tab{5}\spadcommand{childOf(x,y) == member?(x,children(y))\bound{d9 }\free{d10 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserDatabasePagePatch6} +\begin{paste}{ugUserDatabasePageFull6}{ugUserDatabasePageEmpty6} +\pastebutton{ugUserDatabasePageFull6}{\hidepaste} +\tab{5}\spadcommand{parentOf(x) == + for y in people repeat + (if childOf(x,y) then return y) + "unknown" +\bound{d8a }\free{d9 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDatabasePageEmpty6} +\begin{paste}{ugUserDatabasePageEmpty6}{ugUserDatabasePagePatch6} +\pastebutton{ugUserDatabasePageEmpty6}{\showpaste} +\tab{5}\spadcommand{parentOf(x) == + for y in people repeat + (if childOf(x,y) then return y) + "unknown" +\bound{d8a }\free{d9 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserDatabasePagePatch7} +\begin{paste}{ugUserDatabasePageFull7}{ugUserDatabasePageEmpty7} +\pastebutton{ugUserDatabasePageFull7}{\hidepaste} +\tab{5}\spadcommand{grandParentOf(x) == parentOf parentOf x\bound{d8 }\free{d8a }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDatabasePageEmpty7} +\begin{paste}{ugUserDatabasePageEmpty7}{ugUserDatabasePagePatch7} +\pastebutton{ugUserDatabasePageEmpty7}{\showpaste} +\tab{5}\spadcommand{grandParentOf(x) == parentOf parentOf x\bound{d8 }\free{d8a }} +\end{paste}\end{patch} + +\begin{patch}{ugUserDatabasePagePatch8} +\begin{paste}{ugUserDatabasePageFull8}{ugUserDatabasePageEmpty8} +\pastebutton{ugUserDatabasePageFull8}{\hidepaste} +\tab{5}\spadcommand{grandchildren(x) == [y for y in people | grandParentOf(y) = x]\free{d7 }\bound{d8 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDatabasePageEmpty8} +\begin{paste}{ugUserDatabasePageEmpty8}{ugUserDatabasePagePatch8} +\pastebutton{ugUserDatabasePageEmpty8}{\showpaste} +\tab{5}\spadcommand{grandchildren(x) == [y for y in people | grandParentOf(y) = x]\free{d7 }\bound{d8 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserDatabasePagePatch9} +\begin{paste}{ugUserDatabasePageFull9}{ugUserDatabasePageEmpty9} +\pastebutton{ugUserDatabasePageFull9}{\hidepaste} +\tab{5}\spadcommand{greatGrandParents == [x for x in people | + reduce(_or,[not empty? children(y) for y in grandchildren(x)],false)] +\free{d6 }\bound{d7 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDatabasePageEmpty9} +\begin{paste}{ugUserDatabasePageEmpty9}{ugUserDatabasePagePatch9} +\pastebutton{ugUserDatabasePageEmpty9}{\showpaste} +\tab{5}\spadcommand{greatGrandParents == [x for x in people | + reduce(_or,[not empty? children(y) for y in grandchildren(x)],false)] +\free{d6 }\bound{d7 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserDatabasePagePatch10} +\begin{paste}{ugUserDatabasePageFull10}{ugUserDatabasePageEmpty10} +\pastebutton{ugUserDatabasePageFull10}{\hidepaste} +\tab{5}\spadcommand{descendants(x) == + kids := children(x) + null kids => [x] + concat(x,reduce(concat,[descendants(y) + for y in kids],[])) +\free{d5 }\bound{d6 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDatabasePageEmpty10} +\begin{paste}{ugUserDatabasePageEmpty10}{ugUserDatabasePagePatch10} +\pastebutton{ugUserDatabasePageEmpty10}{\showpaste} +\tab{5}\spadcommand{descendants(x) == + kids := children(x) + null kids => [x] + concat(x,reduce(concat,[descendants(y) + for y in kids],[])) +\free{d5 }\bound{d6 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserDatabasePagePatch11} +\begin{paste}{ugUserDatabasePageFull11}{ugUserDatabasePageEmpty11} +\pastebutton{ugUserDatabasePageFull11}{\hidepaste} +\tab{5}\spadcommand{people == descendants "albert"\free{d4 }\bound{d5 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDatabasePageEmpty11} +\begin{paste}{ugUserDatabasePageEmpty11}{ugUserDatabasePagePatch11} +\pastebutton{ugUserDatabasePageEmpty11}{\showpaste} +\tab{5}\spadcommand{people == descendants "albert"\free{d4 }\bound{d5 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserDatabasePagePatch12} +\begin{paste}{ugUserDatabasePageFull12}{ugUserDatabasePageEmpty12} +\pastebutton{ugUserDatabasePageFull12}{\hidepaste} +\tab{5}\spadcommand{grandchildren "richard"\bound{d10 }\free{d11 }} +\indentrel{3}\begin{verbatim} + (12) ["dougie","valerie"] + Type: List String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDatabasePageEmpty12} +\begin{paste}{ugUserDatabasePageEmpty12}{ugUserDatabasePagePatch12} +\pastebutton{ugUserDatabasePageEmpty12}{\showpaste} +\tab{5}\spadcommand{grandchildren "richard"\bound{d10 }\free{d11 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserDatabasePagePatch13} +\begin{paste}{ugUserDatabasePageFull13}{ugUserDatabasePageEmpty13} +\pastebutton{ugUserDatabasePageFull13}{\hidepaste} +\tab{5}\spadcommand{greatGrandParents\bound{d11 }\free{d12 }} +\indentrel{3}\begin{verbatim} + (13) ["albert"] + Type: List String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserDatabasePageEmpty13} +\begin{paste}{ugUserDatabasePageEmpty13}{ugUserDatabasePagePatch13} +\pastebutton{ugUserDatabasePageEmpty13}{\showpaste} +\tab{5}\spadcommand{greatGrandParents\bound{d11 }\free{d12 }} +\end{paste}\end{patch} + @ \pagehead{ugUserTrianglePage}{ug06.ht}{Example: A Famous Triangle} \pageto{notitle}{ugTypesExposePage} @@ -33148,6 +87706,172 @@ results later. \autobuttons \end{page} +\begin{patch}{ugUserTrianglePagePatch1} +\begin{paste}{ugUserTrianglePageFull1}{ugUserTrianglePageEmpty1} +\pastebutton{ugUserTrianglePageFull1}{\hidepaste} +\tab{5}\spadcommand{)set expose add constructor OutputForm\bound{expose }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserTrianglePageEmpty1} +\begin{paste}{ugUserTrianglePageEmpty1}{ugUserTrianglePagePatch1} +\pastebutton{ugUserTrianglePageEmpty1}{\showpaste} +\tab{5}\spadcommand{)set expose add constructor OutputForm\bound{expose }} +\end{paste}\end{patch} + +\begin{patch}{ugUserTrianglePagePatch2} +\begin{paste}{ugUserTrianglePageFull2}{ugUserTrianglePageEmpty2} +\pastebutton{ugUserTrianglePageFull2}{\hidepaste} +\tab{5}\spadcommand{pascal(1,i) == 1\bound{pas1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserTrianglePageEmpty2} +\begin{paste}{ugUserTrianglePageEmpty2}{ugUserTrianglePagePatch2} +\pastebutton{ugUserTrianglePageEmpty2}{\showpaste} +\tab{5}\spadcommand{pascal(1,i) == 1\bound{pas1 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserTrianglePagePatch3} +\begin{paste}{ugUserTrianglePageFull3}{ugUserTrianglePageEmpty3} +\pastebutton{ugUserTrianglePageFull3}{\hidepaste} +\tab{5}\spadcommand{pascal(n,n) == 1\bound{pas2 }\free{pas1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserTrianglePageEmpty3} +\begin{paste}{ugUserTrianglePageEmpty3}{ugUserTrianglePagePatch3} +\pastebutton{ugUserTrianglePageEmpty3}{\showpaste} +\tab{5}\spadcommand{pascal(n,n) == 1\bound{pas2 }\free{pas1 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserTrianglePagePatch4} +\begin{paste}{ugUserTrianglePageFull4}{ugUserTrianglePageEmpty4} +\pastebutton{ugUserTrianglePageFull4}{\hidepaste} +\tab{5}\spadcommand{pascal(i,j | 1 < i and i < j) == + pascal(i-1,j-1)+pascal(i,j-1) +\bound{pas3 }\free{pas1 pas2 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserTrianglePageEmpty4} +\begin{paste}{ugUserTrianglePageEmpty4}{ugUserTrianglePagePatch4} +\pastebutton{ugUserTrianglePageEmpty4}{\showpaste} +\tab{5}\spadcommand{pascal(i,j | 1 < i and i < j) == + pascal(i-1,j-1)+pascal(i,j-1) +\bound{pas3 }\free{pas1 pas2 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserTrianglePagePatch5} +\begin{paste}{ugUserTrianglePageFull5}{ugUserTrianglePageEmpty5} +\pastebutton{ugUserTrianglePageFull5}{\hidepaste} +\tab{5}\spadcommand{pascalRow(n) == [pascal(i,n) for i in 1..n]\bound{pascalRow }\free{pas3 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserTrianglePageEmpty5} +\begin{paste}{ugUserTrianglePageEmpty5}{ugUserTrianglePagePatch5} +\pastebutton{ugUserTrianglePageEmpty5}{\showpaste} +\tab{5}\spadcommand{pascalRow(n) == [pascal(i,n) for i in 1..n]\bound{pascalRow }\free{pas3 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserTrianglePagePatch6} +\begin{paste}{ugUserTrianglePageFull6}{ugUserTrianglePageEmpty6} +\pastebutton{ugUserTrianglePageFull6}{\hidepaste} +\tab{5}\spadcommand{displayRow(n) == output center blankSeparate pascalRow(n)\free{pascalRow }\bound{displayRow }\free{expose }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserTrianglePageEmpty6} +\begin{paste}{ugUserTrianglePageEmpty6}{ugUserTrianglePagePatch6} +\pastebutton{ugUserTrianglePageEmpty6}{\showpaste} +\tab{5}\spadcommand{displayRow(n) == output center blankSeparate pascalRow(n)\free{pascalRow }\bound{displayRow }\free{expose }} +\end{paste}\end{patch} + +\begin{patch}{ugUserTrianglePagePatch7} +\begin{paste}{ugUserTrianglePageFull7}{ugUserTrianglePageEmpty7} +\pastebutton{ugUserTrianglePageFull7}{\hidepaste} +\tab{5}\spadcommand{for i in 1..7 repeat displayRow i\free{displayRow }} +\indentrel{3}\begin{verbatim} + 1 + 1 1 + 1 2 1 + 1 3 3 1 + 1 4 6 4 1 + 1 5 10 10 5 1 + 1 6 15 20 15 6 1 + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserTrianglePageEmpty7} +\begin{paste}{ugUserTrianglePageEmpty7}{ugUserTrianglePagePatch7} +\pastebutton{ugUserTrianglePageEmpty7}{\showpaste} +\tab{5}\spadcommand{for i in 1..7 repeat displayRow i\free{displayRow }} +\end{paste}\end{patch} + +\begin{patch}{ugUserTrianglePagePatch8} +\begin{paste}{ugUserTrianglePageFull8}{ugUserTrianglePageEmpty8} +\pastebutton{ugUserTrianglePageFull8}{\hidepaste} +\tab{5}\spadcommand{pascalRow(n) == [right(pascal(i,n),4) for i in 1..n]\bound{pascalRow2 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserTrianglePageEmpty8} +\begin{paste}{ugUserTrianglePageEmpty8}{ugUserTrianglePagePatch8} +\pastebutton{ugUserTrianglePageEmpty8}{\showpaste} +\tab{5}\spadcommand{pascalRow(n) == [right(pascal(i,n),4) for i in 1..n]\bound{pascalRow2 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserTrianglePagePatch9} +\begin{paste}{ugUserTrianglePageFull9}{ugUserTrianglePageEmpty9} +\pastebutton{ugUserTrianglePageFull9}{\hidepaste} +\tab{5}\spadcommand{for i in 1..7 repeat displayRow i\free{pascalRow2 }\free{displayRow }} +\indentrel{3}\begin{verbatim} + 1 + 1 1 + 1 2 1 + 1 3 3 1 + 1 4 6 4 1 + 1 5 10 10 5 1 + 1 6 15 20 15 6 1 + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserTrianglePageEmpty9} +\begin{paste}{ugUserTrianglePageEmpty9}{ugUserTrianglePagePatch9} +\pastebutton{ugUserTrianglePageEmpty9}{\showpaste} +\tab{5}\spadcommand{for i in 1..7 repeat displayRow i\free{pascalRow2 }\free{displayRow }} +\end{paste}\end{patch} + +\begin{patch}{ugUserTrianglePagePatch10} +\begin{paste}{ugUserTrianglePageFull10}{ugUserTrianglePageEmpty10} +\pastebutton{ugUserTrianglePageFull10}{\hidepaste} +\tab{5}\spadcommand{)set expose drop constructor OutputForm} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserTrianglePageEmpty10} +\begin{paste}{ugUserTrianglePageEmpty10}{ugUserTrianglePagePatch10} +\pastebutton{ugUserTrianglePageEmpty10}{\showpaste} +\tab{5}\spadcommand{)set expose drop constructor OutputForm} +\end{paste}\end{patch} + @ \pagehead{ugUserPalPage}{ug06.ht}{Example: Testing for Palindromes} \pageto{notitle}{ugUserTrianglePage} @@ -33230,6 +87954,162 @@ Well, let's test them all! \autobuttons \end{page} +\begin{patch}{ugUserPalPagePatch1} +\begin{paste}{ugUserPalPageFull1}{ugUserPalPageEmpty1} +\pastebutton{ugUserPalPageFull1}{\hidepaste} +\tab{5}\spadcommand{pal? s == palAux?(s,1,\#s)\bound{pal }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPalPageEmpty1} +\begin{paste}{ugUserPalPageEmpty1}{ugUserPalPagePatch1} +\pastebutton{ugUserPalPageEmpty1}{\showpaste} +\tab{5}\spadcommand{pal? s == palAux?(s,1,\#s)\bound{pal }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPalPagePatch2} +\begin{paste}{ugUserPalPageFull2}{ugUserPalPageEmpty2} +\pastebutton{ugUserPalPageFull2}{\hidepaste} +\tab{5}\spadcommand{palAux?(s,i,j) == + j > i => + (s.i = s.j) and palAux?(s,i+1,i-1) + true +\bound{palAux }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPalPageEmpty2} +\begin{paste}{ugUserPalPageEmpty2}{ugUserPalPagePatch2} +\pastebutton{ugUserPalPageEmpty2}{\showpaste} +\tab{5}\spadcommand{palAux?(s,i,j) == + j > i => + (s.i = s.j) and palAux?(s,i+1,i-1) + true +\bound{palAux }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPalPagePatch3} +\begin{paste}{ugUserPalPageFull3}{ugUserPalPageEmpty3} +\pastebutton{ugUserPalPageFull3}{\hidepaste} +\tab{5}\spadcommand{pal? "Oxford"\free{pal palAux }} +\indentrel{3}\begin{verbatim} + (3) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPalPageEmpty3} +\begin{paste}{ugUserPalPageEmpty3}{ugUserPalPagePatch3} +\pastebutton{ugUserPalPageEmpty3}{\showpaste} +\tab{5}\spadcommand{pal? "Oxford"\free{pal palAux }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPalPagePatch4} +\begin{paste}{ugUserPalPageFull4}{ugUserPalPageEmpty4} +\pastebutton{ugUserPalPageFull4}{\hidepaste} +\tab{5}\spadcommand{pal? [4,a,x-1,0,x-1,a,4]\free{pal palAux }} +\indentrel{3}\begin{verbatim} + (4) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPalPageEmpty4} +\begin{paste}{ugUserPalPageEmpty4}{ugUserPalPagePatch4} +\pastebutton{ugUserPalPageEmpty4}{\showpaste} +\tab{5}\spadcommand{pal? [4,a,x-1,0,x-1,a,4]\free{pal palAux }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPalPagePatch5} +\begin{paste}{ugUserPalPageFull5}{ugUserPalPageEmpty5} +\pastebutton{ugUserPalPageFull5}{\hidepaste} +\tab{5}\spadcommand{pal? [1,6,15,20,15,6,1]\free{pal palAux }} +\indentrel{3}\begin{verbatim} + (5) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPalPageEmpty5} +\begin{paste}{ugUserPalPageEmpty5}{ugUserPalPagePatch5} +\pastebutton{ugUserPalPageEmpty5}{\showpaste} +\tab{5}\spadcommand{pal? [1,6,15,20,15,6,1]\free{pal palAux }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPalPagePatch6} +\begin{paste}{ugUserPalPageFull6}{ugUserPalPageEmpty6} +\pastebutton{ugUserPalPageFull6}{\hidepaste} +\tab{5}\spadcommand{pal?(1441::String)\free{pal palAux }} +\indentrel{3}\begin{verbatim} + (6) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPalPageEmpty6} +\begin{paste}{ugUserPalPageEmpty6}{ugUserPalPagePatch6} +\pastebutton{ugUserPalPageEmpty6}{\showpaste} +\tab{5}\spadcommand{pal?(1441::String)\free{pal palAux }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPalPagePatch7} +\begin{paste}{ugUserPalPageFull7}{ugUserPalPageEmpty7} +\pastebutton{ugUserPalPageFull7}{\hidepaste} +\tab{5}\spadcommand{ones := [reduce(+,[10**j for j in 0..i]) for i in 1..]\free{pal palAux }\bound{pal5 }} +\indentrel{3}\begin{verbatim} + (7) + [11, 111, 1111, 11111, 111111, 1111111, 11111111, + 111111111, 1111111111, 11111111111, ...] + Type: Stream PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPalPageEmpty7} +\begin{paste}{ugUserPalPageEmpty7}{ugUserPalPagePatch7} +\pastebutton{ugUserPalPageEmpty7}{\showpaste} +\tab{5}\spadcommand{ones := [reduce(+,[10**j for j in 0..i]) for i in 1..]\free{pal palAux }\bound{pal5 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPalPagePatch8} +\begin{paste}{ugUserPalPageFull8}{ugUserPalPageEmpty8} +\pastebutton{ugUserPalPageFull8}{\hidepaste} +\tab{5}\spadcommand{squares := [x**2 for x in ones]\free{pal5 }\bound{pal6 }} +\indentrel{3}\begin{verbatim} + (8) + [121, 12321, 1234321, 123454321, 12345654321, + 1234567654321, 123456787654321, 12345678987654321, + 1234567900987654321, 123456790120987654321, ...] + Type: Stream PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPalPageEmpty8} +\begin{paste}{ugUserPalPageEmpty8}{ugUserPalPagePatch8} +\pastebutton{ugUserPalPageEmpty8}{\showpaste} +\tab{5}\spadcommand{squares := [x**2 for x in ones]\free{pal5 }\bound{pal6 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserPalPagePatch9} +\begin{paste}{ugUserPalPageFull9}{ugUserPalPageEmpty9} +\pastebutton{ugUserPalPageFull9}{\hidepaste} +\tab{5}\spadcommand{[pal?(x::String) for x in squares]\free{pal6 }} +\indentrel{3}\begin{verbatim} + (9) + [true,true,true,true,true,true,true,true,true,true,...] + Type: Stream Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserPalPageEmpty9} +\begin{paste}{ugUserPalPageEmpty9}{ugUserPalPagePatch9} +\pastebutton{ugUserPalPageEmpty9}{\showpaste} +\tab{5}\spadcommand{[pal?(x::String) for x in squares]\free{pal6 }} +\end{paste}\end{patch} + @ \pagehead{ugUserRulesPage}{ug06.ht}{Rules and Pattern Matching} <>= @@ -33568,6 +88448,453 @@ or by building a new domain of objects for your application. \endscroll \autobuttons \end{page} + +\begin{patch}{ugUserRulesPagePatch1} +\begin{paste}{ugUserRulesPageFull1}{ugUserRulesPageEmpty1} +\pastebutton{ugUserRulesPageFull1}{\hidepaste} +\tab{5}\spadcommand{logrule := rule log(x) + log(y) == log(x * y)\bound{logrule }} +\indentrel{3}\begin{verbatim} + (1) log(y) + log(x) + %B == log(x y) + %B + Type: RewriteRule(Integer,Integer,Expression Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPageEmpty1} +\begin{paste}{ugUserRulesPageEmpty1}{ugUserRulesPagePatch1} +\pastebutton{ugUserRulesPageEmpty1}{\showpaste} +\tab{5}\spadcommand{logrule := rule log(x) + log(y) == log(x * y)\bound{logrule }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPagePatch2} +\begin{paste}{ugUserRulesPageFull2}{ugUserRulesPageEmpty2} +\pastebutton{ugUserRulesPageFull2}{\hidepaste} +\tab{5}\spadcommand{f := log sin x + log x\bound{f }} +\indentrel{3}\begin{verbatim} + (2) log(sin(x)) + log(x) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPageEmpty2} +\begin{paste}{ugUserRulesPageEmpty2}{ugUserRulesPagePatch2} +\pastebutton{ugUserRulesPageEmpty2}{\showpaste} +\tab{5}\spadcommand{f := log sin x + log x\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPagePatch3} +\begin{paste}{ugUserRulesPageFull3}{ugUserRulesPageEmpty3} +\pastebutton{ugUserRulesPageFull3}{\hidepaste} +\tab{5}\spadcommand{logrule f\free{f }\free{logrule }} +\indentrel{3}\begin{verbatim} + (3) log(x sin(x)) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPageEmpty3} +\begin{paste}{ugUserRulesPageEmpty3}{ugUserRulesPagePatch3} +\pastebutton{ugUserRulesPageEmpty3}{\showpaste} +\tab{5}\spadcommand{logrule f\free{f }\free{logrule }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPagePatch4} +\begin{paste}{ugUserRulesPageFull4}{ugUserRulesPageEmpty4} +\pastebutton{ugUserRulesPageFull4}{\hidepaste} +\tab{5}\spadcommand{logrules := rule + log(x) + log(y) == log(x * y) + y * log x == log(x ** y) +\bound{logrules }} +\indentrel{3}\begin{verbatim} + (4) + {log(y) + log(x) + %C == log(x y) + %C, + y + y log(x) == log(x )} + Type: Ruleset(Integer,Integer,Expression Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPageEmpty4} +\begin{paste}{ugUserRulesPageEmpty4}{ugUserRulesPagePatch4} +\pastebutton{ugUserRulesPageEmpty4}{\showpaste} +\tab{5}\spadcommand{logrules := rule + log(x) + log(y) == log(x * y) + y * log x == log(x ** y) +\bound{logrules }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPagePatch5} +\begin{paste}{ugUserRulesPageFull5}{ugUserRulesPageEmpty5} +\pastebutton{ugUserRulesPageFull5}{\hidepaste} +\tab{5}\spadcommand{f := a * log(sin x) - 2 * log x\bound{f1 }} +\indentrel{3}\begin{verbatim} + (5) a log(sin(x)) - 2log(x) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPageEmpty5} +\begin{paste}{ugUserRulesPageEmpty5}{ugUserRulesPagePatch5} +\pastebutton{ugUserRulesPageEmpty5}{\showpaste} +\tab{5}\spadcommand{f := a * log(sin x) - 2 * log x\bound{f1 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPagePatch6} +\begin{paste}{ugUserRulesPageFull6}{ugUserRulesPageEmpty6} +\pastebutton{ugUserRulesPageFull6}{\hidepaste} +\tab{5}\spadcommand{logrules f\free{f1 }\free{logrules }} +\indentrel{3}\begin{verbatim} + a + sin(x) + (6) log(ÄÄÄÄÄÄÄ) + 2 + x + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPageEmpty6} +\begin{paste}{ugUserRulesPageEmpty6}{ugUserRulesPagePatch6} +\pastebutton{ugUserRulesPageEmpty6}{\showpaste} +\tab{5}\spadcommand{logrules f\free{f1 }\free{logrules }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPagePatch7} +\begin{paste}{ugUserRulesPageFull7}{ugUserRulesPageEmpty7} +\pastebutton{ugUserRulesPageFull7}{\hidepaste} +\tab{5}\spadcommand{logrules2 := rule + log(x) + log(y) == log(x * y) + (y | integer? y) * log x == log(x ** y) +\bound{logrules2 }} +\indentrel{3}\begin{verbatim} + (7) + {log(y) + log(x) + %E == log(x y) + %E, + y + y log(x) == log(x )} + Type: Ruleset(Integer,Integer,Expression Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPageEmpty7} +\begin{paste}{ugUserRulesPageEmpty7}{ugUserRulesPagePatch7} +\pastebutton{ugUserRulesPageEmpty7}{\showpaste} +\tab{5}\spadcommand{logrules2 := rule + log(x) + log(y) == log(x * y) + (y | integer? y) * log x == log(x ** y) +\bound{logrules2 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPagePatch8} +\begin{paste}{ugUserRulesPageFull8}{ugUserRulesPageEmpty8} +\pastebutton{ugUserRulesPageFull8}{\hidepaste} +\tab{5}\spadcommand{f\free{f1 }} +\indentrel{3}\begin{verbatim} + (8) a log(sin(x)) - 2log(x) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPageEmpty8} +\begin{paste}{ugUserRulesPageEmpty8}{ugUserRulesPagePatch8} +\pastebutton{ugUserRulesPageEmpty8}{\showpaste} +\tab{5}\spadcommand{f\free{f1 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPagePatch9} +\begin{paste}{ugUserRulesPageFull9}{ugUserRulesPageEmpty9} +\pastebutton{ugUserRulesPageFull9}{\hidepaste} +\tab{5}\spadcommand{logrules2 f\free{f1 }\free{logrules2 }} +\indentrel{3}\begin{verbatim} + 1 + (9) a log(sin(x)) + log(ÄÄ) + 2 + x + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPageEmpty9} +\begin{paste}{ugUserRulesPageEmpty9}{ugUserRulesPagePatch9} +\pastebutton{ugUserRulesPageEmpty9}{\showpaste} +\tab{5}\spadcommand{logrules2 f\free{f1 }\free{logrules2 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPagePatch10} +\begin{paste}{ugUserRulesPageFull10}{ugUserRulesPageEmpty10} +\pastebutton{ugUserRulesPageFull10}{\hidepaste} +\tab{5}\spadcommand{evenRule := rule cos(x)**(n | integer? n and even? integer n)==(1-sin(x)**2)**(n/2)\bound{evenRule }} +\indentrel{3}\begin{verbatim} + n + Ä + n 2 2 + (10) cos(x) == (- sin(x) + 1) + Type: RewriteRule(Integer,Integer,Expression Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPageEmpty10} +\begin{paste}{ugUserRulesPageEmpty10}{ugUserRulesPagePatch10} +\pastebutton{ugUserRulesPageEmpty10}{\showpaste} +\tab{5}\spadcommand{evenRule := rule cos(x)**(n | integer? n and even? integer n)==(1-sin(x)**2)**(n/2)\bound{evenRule }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPagePatch11} +\begin{paste}{ugUserRulesPageFull11}{ugUserRulesPageEmpty11} +\pastebutton{ugUserRulesPageFull11}{\hidepaste} +\tab{5}\spadcommand{evenRule( cos(x)**2 )\free{evenRule }} +\indentrel{3}\begin{verbatim} + 2 + (11) - sin(x) + 1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPageEmpty11} +\begin{paste}{ugUserRulesPageEmpty11}{ugUserRulesPagePatch11} +\pastebutton{ugUserRulesPageEmpty11}{\showpaste} +\tab{5}\spadcommand{evenRule( cos(x)**2 )\free{evenRule }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPagePatch12} +\begin{paste}{ugUserRulesPageFull12}{ugUserRulesPageEmpty12} +\pastebutton{ugUserRulesPageFull12}{\hidepaste} +\tab{5}\spadcommand{sinCosProducts == rule + sin(x) * sin(y) == (cos(x-y) - cos(x + y))/2 + cos(x) * cos(y) == (cos(x-y) + cos(x+y))/2 + sin(x) * cos(y) == (sin(x-y) + sin(x + y))/2 +\bound{sinCosProducts }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPageEmpty12} +\begin{paste}{ugUserRulesPageEmpty12}{ugUserRulesPagePatch12} +\pastebutton{ugUserRulesPageEmpty12}{\showpaste} +\tab{5}\spadcommand{sinCosProducts == rule + sin(x) * sin(y) == (cos(x-y) - cos(x + y))/2 + cos(x) * cos(y) == (cos(x-y) + cos(x+y))/2 + sin(x) * cos(y) == (sin(x-y) + sin(x + y))/2 +\bound{sinCosProducts }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPagePatch13} +\begin{paste}{ugUserRulesPageFull13}{ugUserRulesPageEmpty13} +\pastebutton{ugUserRulesPageFull13}{\hidepaste} +\tab{5}\spadcommand{g := sin(a)*sin(b) + cos(b)*cos(a) + sin(2*a)*cos(2*a)\bound{g }} +\indentrel{3}\begin{verbatim} + (13) sin(a)sin(b) + cos(2a)sin(2a) + cos(a)cos(b) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPageEmpty13} +\begin{paste}{ugUserRulesPageEmpty13}{ugUserRulesPagePatch13} +\pastebutton{ugUserRulesPageEmpty13}{\showpaste} +\tab{5}\spadcommand{g := sin(a)*sin(b) + cos(b)*cos(a) + sin(2*a)*cos(2*a)\bound{g }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPagePatch14} +\begin{paste}{ugUserRulesPageFull14}{ugUserRulesPageEmpty14} +\pastebutton{ugUserRulesPageFull14}{\hidepaste} +\tab{5}\spadcommand{sinCosProducts g\free{sinCosProducts g }} +\indentrel{3}\begin{verbatim} + sin(4a) + 2cos(b - a) + (14) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 2 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPageEmpty14} +\begin{paste}{ugUserRulesPageEmpty14}{ugUserRulesPagePatch14} +\pastebutton{ugUserRulesPageEmpty14}{\showpaste} +\tab{5}\spadcommand{sinCosProducts g\free{sinCosProducts g }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPagePatch15} +\begin{paste}{ugUserRulesPageFull15}{ugUserRulesPageEmpty15} +\pastebutton{ugUserRulesPageFull15}{\hidepaste} +\tab{5}\spadcommand{exprule := rule exp(a + b) == exp(a) * exp(b)\bound{exprule }} +\indentrel{3}\begin{verbatim} + b + a a b + (15) %e == %e %e + Type: RewriteRule(Integer,Integer,Expression Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPageEmpty15} +\begin{paste}{ugUserRulesPageEmpty15}{ugUserRulesPagePatch15} +\pastebutton{ugUserRulesPageEmpty15}{\showpaste} +\tab{5}\spadcommand{exprule := rule exp(a + b) == exp(a) * exp(b)\bound{exprule }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPagePatch16} +\begin{paste}{ugUserRulesPageFull16}{ugUserRulesPageEmpty16} +\pastebutton{ugUserRulesPageFull16}{\hidepaste} +\tab{5}\spadcommand{exprule exp x\free{exprule }} +\indentrel{3}\begin{verbatim} + x + (16) %e + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPageEmpty16} +\begin{paste}{ugUserRulesPageEmpty16}{ugUserRulesPagePatch16} +\pastebutton{ugUserRulesPageEmpty16}{\showpaste} +\tab{5}\spadcommand{exprule exp x\free{exprule }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPagePatch17} +\begin{paste}{ugUserRulesPageFull17}{ugUserRulesPageEmpty17} +\pastebutton{ugUserRulesPageFull17}{\hidepaste} +\tab{5}\spadcommand{eirule := rule integral((?y + exp x)/x,x) == integral(y/x,x) + Ei x\bound{eirule }} +\indentrel{3}\begin{verbatim} + x %N + Ú¿ %e + y y + (17) ³ ÄÄÄÄÄÄÄÄ d%N == 'integral(Ä,x) + 'Ei(x) + ÀÙ %N x + Type: RewriteRule(Integer,Integer,Expression Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPageEmpty17} +\begin{paste}{ugUserRulesPageEmpty17}{ugUserRulesPagePatch17} +\pastebutton{ugUserRulesPageEmpty17}{\showpaste} +\tab{5}\spadcommand{eirule := rule integral((?y + exp x)/x,x) == integral(y/x,x) + Ei x\bound{eirule }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPagePatch18} +\begin{paste}{ugUserRulesPageFull18}{ugUserRulesPageEmpty18} +\pastebutton{ugUserRulesPageFull18}{\hidepaste} +\tab{5}\spadcommand{eirule integral(exp u/u, u)\free{eirule }} +\indentrel{3}\begin{verbatim} + (18) Ei(u) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPageEmpty18} +\begin{paste}{ugUserRulesPageEmpty18}{ugUserRulesPagePatch18} +\pastebutton{ugUserRulesPageEmpty18}{\showpaste} +\tab{5}\spadcommand{eirule integral(exp u/u, u)\free{eirule }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPagePatch19} +\begin{paste}{ugUserRulesPageFull19}{ugUserRulesPageEmpty19} +\pastebutton{ugUserRulesPageFull19}{\hidepaste} +\tab{5}\spadcommand{eirule integral(sin u + exp u/u, u)\free{eirule }} +\indentrel{3}\begin{verbatim} + u + Ú¿ + (19) ³ sin(%N)d%N + Ei(u) + ÀÙ + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPageEmpty19} +\begin{paste}{ugUserRulesPageEmpty19}{ugUserRulesPagePatch19} +\pastebutton{ugUserRulesPageEmpty19}{\showpaste} +\tab{5}\spadcommand{eirule integral(sin u + exp u/u, u)\free{eirule }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPagePatch20} +\begin{paste}{ugUserRulesPageFull20}{ugUserRulesPageEmpty20} +\pastebutton{ugUserRulesPageFull20}{\hidepaste} +\tab{5}\spadcommand{u := operator 'u\bound{u }} +\indentrel{3}\begin{verbatim} + (20) u + Type: BasicOperator +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPageEmpty20} +\begin{paste}{ugUserRulesPageEmpty20}{ugUserRulesPagePatch20} +\pastebutton{ugUserRulesPageEmpty20}{\showpaste} +\tab{5}\spadcommand{u := operator 'u\bound{u }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPagePatch21} +\begin{paste}{ugUserRulesPageFull21}{ugUserRulesPageEmpty21} +\pastebutton{ugUserRulesPageFull21}{\hidepaste} +\tab{5}\spadcommand{v := operator 'v\bound{v }} +\indentrel{3}\begin{verbatim} + (21) v + Type: BasicOperator +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPageEmpty21} +\begin{paste}{ugUserRulesPageEmpty21}{ugUserRulesPagePatch21} +\pastebutton{ugUserRulesPageEmpty21}{\showpaste} +\tab{5}\spadcommand{v := operator 'v\bound{v }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPagePatch22} +\begin{paste}{ugUserRulesPageFull22}{ugUserRulesPageEmpty22} +\pastebutton{ugUserRulesPageFull22}{\hidepaste} +\tab{5}\spadcommand{myRule := rule u(x + y) == u x + v y\free{u v }\bound{m }} +\indentrel{3}\begin{verbatim} + (22) u(y + x) == 'v(y) + 'u(x) + Type: RewriteRule(Integer,Integer,Expression Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPageEmpty22} +\begin{paste}{ugUserRulesPageEmpty22}{ugUserRulesPagePatch22} +\pastebutton{ugUserRulesPageEmpty22}{\showpaste} +\tab{5}\spadcommand{myRule := rule u(x + y) == u x + v y\free{u v }\bound{m }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPagePatch23} +\begin{paste}{ugUserRulesPageFull23}{ugUserRulesPageEmpty23} +\pastebutton{ugUserRulesPageFull23}{\hidepaste} +\tab{5}\spadcommand{myRule u(a + b + c + d)\free{m }} +\indentrel{3}\begin{verbatim} + (23) v(d + c + b) + u(a) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPageEmpty23} +\begin{paste}{ugUserRulesPageEmpty23}{ugUserRulesPagePatch23} +\pastebutton{ugUserRulesPageEmpty23}{\showpaste} +\tab{5}\spadcommand{myRule u(a + b + c + d)\free{m }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPagePatch24} +\begin{paste}{ugUserRulesPageFull24}{ugUserRulesPageEmpty24} +\pastebutton{ugUserRulesPageFull24}{\hidepaste} +\tab{5}\spadcommand{myOtherRule := rule u(:x + y) == u x + v y\free{u v }\bound{m2 }} +\indentrel{3}\begin{verbatim} + (24) u(y + x) == 'v(y) + 'u(x) + Type: RewriteRule(Integer,Integer,Expression Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPageEmpty24} +\begin{paste}{ugUserRulesPageEmpty24}{ugUserRulesPagePatch24} +\pastebutton{ugUserRulesPageEmpty24}{\showpaste} +\tab{5}\spadcommand{myOtherRule := rule u(:x + y) == u x + v y\free{u v }\bound{m2 }} +\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPagePatch25} +\begin{paste}{ugUserRulesPageFull25}{ugUserRulesPageEmpty25} +\pastebutton{ugUserRulesPageFull25}{\hidepaste} +\tab{5}\spadcommand{myOtherRule u(a + b + c + d)\free{m2 }} +\indentrel{3}\begin{verbatim} + (25) v(c) + v(b) + v(a) + u(d) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugUserRulesPageEmpty25} +\begin{paste}{ugUserRulesPageEmpty25}{ugUserRulesPagePatch25} +\pastebutton{ugUserRulesPageEmpty25}{\showpaste} +\tab{5}\spadcommand{myOtherRule u(a + b + c + d)\free{m2 }} +\end{paste}\end{patch} + @ \chapter{Users Guide Chapter 7 (ug07.ht)} <>= @@ -33751,6 +89078,60 @@ and the second is just the range with no independent variable. \autobuttons \end{page} +\begin{patch}{ugGraphTwoDPlotPagePatch1} +\begin{paste}{ugGraphTwoDPlotPageFull1}{ugGraphTwoDPlotPageEmpty1} +\pastebutton{ugGraphTwoDPlotPageFull1}{\hidepaste} +\tab{5}\spadgraph{draw(sin(tan(x)) - tan(sin(x)),x = 0..6)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodplotpage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodplotpage1}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDPlotPageEmpty1} +\begin{paste}{ugGraphTwoDPlotPageEmpty1}{ugGraphTwoDPlotPagePatch1} +\pastebutton{ugGraphTwoDPlotPageEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(sin(tan(x)) - tan(sin(x)),x = 0..6)} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDPlotPagePatch2} +\begin{paste}{ugGraphTwoDPlotPageFull2}{ugGraphTwoDPlotPageEmpty2} +\pastebutton{ugGraphTwoDPlotPageFull2}{\hidepaste} +\tab{5}\spadgraph{draw(sin(tan(x)) - tan(sin(x)),x = 10..16)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodplotpage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodplotpage2}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDPlotPageEmpty2} +\begin{paste}{ugGraphTwoDPlotPageEmpty2}{ugGraphTwoDPlotPagePatch2} +\pastebutton{ugGraphTwoDPlotPageEmpty2}{\showpaste} +\tab{5}\spadgraph{draw(sin(tan(x)) - tan(sin(x)),x = 10..16)} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDPlotPagePatch3} +\begin{paste}{ugGraphTwoDPlotPageFull3}{ugGraphTwoDPlotPageEmpty3} +\pastebutton{ugGraphTwoDPlotPageFull3}{\hidepaste} +\tab{5}\spadcommand{f(x) == (x-1)*(x-2)*(x-3)\bound{f }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDPlotPageEmpty3} +\begin{paste}{ugGraphTwoDPlotPageEmpty3}{ugGraphTwoDPlotPagePatch3} +\pastebutton{ugGraphTwoDPlotPageEmpty3}{\showpaste} +\tab{5}\spadcommand{f(x) == (x-1)*(x-2)*(x-3)\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDPlotPagePatch4} +\begin{paste}{ugGraphTwoDPlotPageFull4}{ugGraphTwoDPlotPageEmpty4} +\pastebutton{ugGraphTwoDPlotPageFull4}{\hidepaste} +\tab{5}\spadgraph{draw(f, 0..4)\free{f }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodplotpage4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodplotpage4}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDPlotPageEmpty4} +\begin{paste}{ugGraphTwoDPlotPageEmpty4}{ugGraphTwoDPlotPagePatch4} +\pastebutton{ugGraphTwoDPlotPageEmpty4}{\showpaste} +\tab{5}\spadgraph{draw(f, 0..4)\free{f }} +\end{paste}\end{patch} + @ \pagehead{ugGraphTwoDParPage}{ug07.ht} {Plotting 2D Parametric Plane Curves} @@ -33848,6 +89229,88 @@ the first function specified in \axiomFun{curve}. \autobuttons \end{page} +\begin{patch}{ugGraphTwoDParPagePatch1} +\begin{paste}{ugGraphTwoDParPageFull1}{ugGraphTwoDParPageEmpty1} +\pastebutton{ugGraphTwoDParPageFull1}{\hidepaste} +\tab{5}\spadgraph{draw(curve(sin(t)*sin(2*t)*sin(3*t), sin(4*t)*sin(5*t)*sin(6*t)), t = 0..2*\%pi)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodparpage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodparpage1}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDParPageEmpty1} +\begin{paste}{ugGraphTwoDParPageEmpty1}{ugGraphTwoDParPagePatch1} +\pastebutton{ugGraphTwoDParPageEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(curve(sin(t)*sin(2*t)*sin(3*t), sin(4*t)*sin(5*t)*sin(6*t)), t = 0..2*\%pi)} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDParPagePatch2} +\begin{paste}{ugGraphTwoDParPageFull2}{ugGraphTwoDParPageEmpty2} +\pastebutton{ugGraphTwoDParPageFull2}{\hidepaste} +\tab{5}\spadgraph{draw(curve(cos(t), sin(t)), t = 0..2*\%pi)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodparpage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodparpage2}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDParPageEmpty2} +\begin{paste}{ugGraphTwoDParPageEmpty2}{ugGraphTwoDParPagePatch2} +\pastebutton{ugGraphTwoDParPageEmpty2}{\showpaste} +\tab{5}\spadgraph{draw(curve(cos(t), sin(t)), t = 0..2*\%pi)} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDParPagePatch3} +\begin{paste}{ugGraphTwoDParPageFull3}{ugGraphTwoDParPageEmpty3} +\pastebutton{ugGraphTwoDParPageFull3}{\hidepaste} +\tab{5}\spadcommand{f(t:DFLOAT):DFLOAT == sin(3*t/4)\bound{f }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDParPageEmpty3} +\begin{paste}{ugGraphTwoDParPageEmpty3}{ugGraphTwoDParPagePatch3} +\pastebutton{ugGraphTwoDParPageEmpty3}{\showpaste} +\tab{5}\spadcommand{f(t:DFLOAT):DFLOAT == sin(3*t/4)\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDParPagePatch4} +\begin{paste}{ugGraphTwoDParPageFull4}{ugGraphTwoDParPageEmpty4} +\pastebutton{ugGraphTwoDParPageFull4}{\hidepaste} +\tab{5}\spadcommand{g(t:DFLOAT):DFLOAT == sin(t)\bound{g }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDParPageEmpty4} +\begin{paste}{ugGraphTwoDParPageEmpty4}{ugGraphTwoDParPagePatch4} +\pastebutton{ugGraphTwoDParPageEmpty4}{\showpaste} +\tab{5}\spadcommand{g(t:DFLOAT):DFLOAT == sin(t)\bound{g }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDParPagePatch5} +\begin{paste}{ugGraphTwoDParPageFull5}{ugGraphTwoDParPageEmpty5} +\pastebutton{ugGraphTwoDParPageFull5}{\hidepaste} +\tab{5}\spadgraph{draw(curve(f,g),0..\%pi)\free{f g }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodparpage5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodparpage5}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDParPageEmpty5} +\begin{paste}{ugGraphTwoDParPageEmpty5}{ugGraphTwoDParPagePatch5} +\pastebutton{ugGraphTwoDParPageEmpty5}{\showpaste} +\tab{5}\spadgraph{draw(curve(f,g),0..\%pi)\free{f g }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDParPagePatch6} +\begin{paste}{ugGraphTwoDParPageFull6}{ugGraphTwoDParPageEmpty6} +\pastebutton{ugGraphTwoDParPageFull6}{\hidepaste} +\tab{5}\spadgraph{draw(curve(f,g),-4*\%pi..4*\%pi)\free{f g }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodparpage6.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodparpage6}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDParPageEmpty6} +\begin{paste}{ugGraphTwoDParPageEmpty6}{ugGraphTwoDParPagePatch6} +\pastebutton{ugGraphTwoDParPageEmpty6}{\showpaste} +\tab{5}\spadgraph{draw(curve(f,g),-4*\%pi..4*\%pi)\free{f g }} +\end{paste}\end{patch} + @ \pagehead{ugGraphTwoDPlanePage}{ug07.ht}{Plotting Plane Algebraic Curves} \pageto{notitle}{ugGraphTwoDOptionsPage} @@ -33907,6 +89370,37 @@ The first argument is always expressed as an equation of the form \autobuttons \end{page} +\begin{patch}{ugGraphTwoDPlanePagePatch1} +\begin{paste}{ugGraphTwoDPlanePageFull1}{ugGraphTwoDPlanePageEmpty1} +\pastebutton{ugGraphTwoDPlanePageFull1}{\hidepaste} +\tab{5}\spadcommand{p := ((x**2 + y**2 + 1) - 8*x)**2 - (8*(x**2 + y**2 + 1)-4*x-1)\bound{p }} +\indentrel{3}\begin{verbatim} + (1) + 4 2 2 4 3 2 + y + (2x - 16x - 6)y + x - 16x + 58x - 12x - 6 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDPlanePageEmpty1} +\begin{paste}{ugGraphTwoDPlanePageEmpty1}{ugGraphTwoDPlanePagePatch1} +\pastebutton{ugGraphTwoDPlanePageEmpty1}{\showpaste} +\tab{5}\spadcommand{p := ((x**2 + y**2 + 1) - 8*x)**2 - (8*(x**2 + y**2 + 1)-4*x-1)\bound{p }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDPlanePagePatch2} +\begin{paste}{ugGraphTwoDPlanePageFull2}{ugGraphTwoDPlanePageEmpty2} +\pastebutton{ugGraphTwoDPlanePageFull2}{\hidepaste} +\tab{5}\spadgraph{draw(p = 0, x, y, range == [-1..11, -7..7])\free{p }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodplanepage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodplanepage2}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDPlanePageEmpty2} +\begin{paste}{ugGraphTwoDPlanePageEmpty2}{ugGraphTwoDPlanePagePatch2} +\pastebutton{ugGraphTwoDPlanePageEmpty2}{\showpaste} +\tab{5}\spadgraph{draw(p = 0, x, y, range == [-1..11, -7..7])\free{p }} +\end{paste}\end{patch} + @ \pagehead{ugGraphTwoDOptionsPage}{ug07.ht}{Two-Dimensional Options} \pageto{notitle}{ugGraphColorPage} @@ -34056,6 +89550,136 @@ Section 7.2.7\ignore{ugGraphCoord} \texht{.}{or \autobuttons \end{page} +\begin{patch}{ugGraphTwoDOptionsPagePatch1} +\begin{paste}{ugGraphTwoDOptionsPageFull1}{ugGraphTwoDOptionsPageEmpty1} +\pastebutton{ugGraphTwoDOptionsPageFull1}{\hidepaste} +\tab{5}\spadgraph{draw(sin(1/x),x=-2*\%pi..2*\%pi, adaptive == false)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodoptionspage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodoptionspage1}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDOptionsPageEmpty1} +\begin{paste}{ugGraphTwoDOptionsPageEmpty1}{ugGraphTwoDOptionsPagePatch1} +\pastebutton{ugGraphTwoDOptionsPageEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(sin(1/x),x=-2*\%pi..2*\%pi, adaptive == false)} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDOptionsPagePatch2} +\begin{paste}{ugGraphTwoDOptionsPageFull2}{ugGraphTwoDOptionsPageEmpty2} +\pastebutton{ugGraphTwoDOptionsPageFull2}{\hidepaste} +\tab{5}\spadgraph{draw(tan(x),x=-2*\%pi..2*\%pi, clip == true)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodoptionspage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodoptionspage2}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDOptionsPageEmpty2} +\begin{paste}{ugGraphTwoDOptionsPageEmpty2}{ugGraphTwoDOptionsPagePatch2} +\pastebutton{ugGraphTwoDOptionsPageEmpty2}{\showpaste} +\tab{5}\spadgraph{draw(tan(x),x=-2*\%pi..2*\%pi, clip == true)} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDOptionsPagePatch3} +\begin{paste}{ugGraphTwoDOptionsPageFull3}{ugGraphTwoDOptionsPageEmpty3} +\pastebutton{ugGraphTwoDOptionsPageFull3}{\hidepaste} +\tab{5}\spadgraph{draw(sin(x),x=-\%pi..\%pi, toScale == true, unit == [1.0,1.0])} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodoptionspage3.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodoptionspage3}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDOptionsPageEmpty3} +\begin{paste}{ugGraphTwoDOptionsPageEmpty3}{ugGraphTwoDOptionsPagePatch3} +\pastebutton{ugGraphTwoDOptionsPageEmpty3}{\showpaste} +\tab{5}\spadgraph{draw(sin(x),x=-\%pi..\%pi, toScale == true, unit == [1.0,1.0])} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDOptionsPagePatch4} +\begin{paste}{ugGraphTwoDOptionsPageFull4}{ugGraphTwoDOptionsPageEmpty4} +\pastebutton{ugGraphTwoDOptionsPageFull4}{\hidepaste} +\tab{5}\spadgraph{draw(sec(x),x=-2*\%pi..2*\%pi, clip == [-2*\%pi..2*\%pi,-\%pi..\%pi], unit == [1.0,1.0])} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodoptionspage4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodoptionspage4}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDOptionsPageEmpty4} +\begin{paste}{ugGraphTwoDOptionsPageEmpty4}{ugGraphTwoDOptionsPagePatch4} +\pastebutton{ugGraphTwoDOptionsPageEmpty4}{\showpaste} +\tab{5}\spadgraph{draw(sec(x),x=-2*\%pi..2*\%pi, clip == [-2*\%pi..2*\%pi,-\%pi..\%pi], unit == [1.0,1.0])} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDOptionsPagePatch5} +\begin{paste}{ugGraphTwoDOptionsPageFull5}{ugGraphTwoDOptionsPageEmpty5} +\pastebutton{ugGraphTwoDOptionsPageFull5}{\hidepaste} +\tab{5}\spadgraph{draw(sin(x),x=-\%pi..\%pi, curveColor == bright red())} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodoptionspage5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodoptionspage5}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDOptionsPageEmpty5} +\begin{paste}{ugGraphTwoDOptionsPageEmpty5}{ugGraphTwoDOptionsPagePatch5} +\pastebutton{ugGraphTwoDOptionsPageEmpty5}{\showpaste} +\tab{5}\spadgraph{draw(sin(x),x=-\%pi..\%pi, curveColor == bright red())} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDOptionsPagePatch6} +\begin{paste}{ugGraphTwoDOptionsPageFull6}{ugGraphTwoDOptionsPageEmpty6} +\pastebutton{ugGraphTwoDOptionsPageFull6}{\hidepaste} +\tab{5}\spadgraph{draw(sin(x),x=-\%pi..\%pi, pointColor == pastel yellow())} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodoptionspage6.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodoptionspage6}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDOptionsPageEmpty6} +\begin{paste}{ugGraphTwoDOptionsPageEmpty6}{ugGraphTwoDOptionsPagePatch6} +\pastebutton{ugGraphTwoDOptionsPageEmpty6}{\showpaste} +\tab{5}\spadgraph{draw(sin(x),x=-\%pi..\%pi, pointColor == pastel yellow())} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDOptionsPagePatch7} +\begin{paste}{ugGraphTwoDOptionsPageFull7}{ugGraphTwoDOptionsPageEmpty7} +\pastebutton{ugGraphTwoDOptionsPageFull7}{\hidepaste} +\tab{5}\spadgraph{draw(curve(9*sin(3*t/4),8*sin(t)), t = -4*\%pi..4*\%pi, unit == [2.0,1.0])} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodoptionspage7.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodoptionspage7}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDOptionsPageEmpty7} +\begin{paste}{ugGraphTwoDOptionsPageEmpty7}{ugGraphTwoDOptionsPagePatch7} +\pastebutton{ugGraphTwoDOptionsPageEmpty7}{\showpaste} +\tab{5}\spadgraph{draw(curve(9*sin(3*t/4),8*sin(t)), t = -4*\%pi..4*\%pi, unit == [2.0,1.0])} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDOptionsPagePatch8} +\begin{paste}{ugGraphTwoDOptionsPageFull8}{ugGraphTwoDOptionsPageEmpty8} +\pastebutton{ugGraphTwoDOptionsPageFull8}{\hidepaste} +\tab{5}\spadgraph{draw(y**2 + y - (x**3 - x) = 0, x, y, range == [-2..2,-2..1], unit==[1.0,1.0])} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodoptionspage8.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodoptionspage8}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDOptionsPageEmpty8} +\begin{paste}{ugGraphTwoDOptionsPageEmpty8}{ugGraphTwoDOptionsPagePatch8} +\pastebutton{ugGraphTwoDOptionsPageEmpty8}{\showpaste} +\tab{5}\spadgraph{draw(y**2 + y - (x**3 - x) = 0, x, y, range == [-2..2,-2..1], unit==[1.0,1.0])} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDOptionsPagePatch9} +\begin{paste}{ugGraphTwoDOptionsPageFull9}{ugGraphTwoDOptionsPageEmpty9} +\pastebutton{ugGraphTwoDOptionsPageFull9}{\hidepaste} +\tab{5}\spadgraph{draw(x**2 + y**2 = 1, x, y, range == [-3/2..3/2,-3/2..3/2], unit==[0.5,0.5])} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodoptionspage9.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodoptionspage9}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDOptionsPageEmpty9} +\begin{paste}{ugGraphTwoDOptionsPageEmpty9}{ugGraphTwoDOptionsPagePatch9} +\pastebutton{ugGraphTwoDOptionsPageEmpty9}{\showpaste} +\tab{5}\spadgraph{draw(x**2 + y**2 = 1, x, y, range == [-3/2..3/2,-3/2..3/2], unit==[0.5,0.5])} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDOptionsPagePatch10} +\begin{paste}{ugGraphTwoDOptionsPageFull10}{ugGraphTwoDOptionsPageEmpty10} +\pastebutton{ugGraphTwoDOptionsPageFull10}{\hidepaste} +\tab{5}\spadgraph{draw(curve(sin(5*t),t),t=0..2*\%pi, coordinates == polar)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodoptionspage10.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodoptionspage10}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDOptionsPageEmpty10} +\begin{paste}{ugGraphTwoDOptionsPageEmpty10}{ugGraphTwoDOptionsPagePatch10} +\pastebutton{ugGraphTwoDOptionsPageEmpty10}{\showpaste} +\tab{5}\spadgraph{draw(curve(sin(5*t),t),t=0..2*\%pi, coordinates == polar)} +\end{paste}\end{patch} + @ \pagehead{ugGraphColorPage}{ug07.ht}{Color} <>= @@ -34121,6 +89745,32 @@ Use the {\tt curveColor} option for curves. \autobuttons \end{page} +\begin{patch}{ugGraphColorPagePatch1} +\begin{paste}{ugGraphColorPageFull1}{ugGraphColorPageEmpty1} +\pastebutton{ugGraphColorPageFull1}{\hidepaste} +\tab{5}\spadgraph{draw(x**2,x=-1..1,pointColor == green())} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphcolorpage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphcolorpage1}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphColorPageEmpty1} +\begin{paste}{ugGraphColorPageEmpty1}{ugGraphColorPagePatch1} +\pastebutton{ugGraphColorPageEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(x**2,x=-1..1,pointColor == green())} +\end{paste}\end{patch} + +\begin{patch}{ugGraphColorPagePatch2} +\begin{paste}{ugGraphColorPageFull2}{ugGraphColorPageEmpty2} +\pastebutton{ugGraphColorPageFull2}{\hidepaste} +\tab{5}\spadgraph{draw(x**2,x=-1..1,curveColor == color(13) + 2*blue())} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphcolorpage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphcolorpage2}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphColorPageEmpty2} +\begin{paste}{ugGraphColorPageEmpty2}{ugGraphColorPagePatch2} +\pastebutton{ugGraphColorPageEmpty2}{\showpaste} +\tab{5}\spadgraph{draw(x**2,x=-1..1,curveColor == color(13) + 2*blue())} +\end{paste}\end{patch} + @ \pagehead{ugGraphColorPalettePage}{ug07.ht}{Palette} <>= @@ -34164,6 +89814,83 @@ Palettes can be used in specifying colors in \twodim{} graphs. \autobuttons \end{page} +\begin{patch}{ugGraphColorPalettePagePatch1} +\begin{paste}{ugGraphColorPalettePageFull1}{ugGraphColorPalettePageEmpty1} +\pastebutton{ugGraphColorPalettePageFull1}{\hidepaste} +\tab{5}\spadcommand{shade red()} +\indentrel{3}\begin{verbatim} + (1) 3 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphColorPalettePageEmpty1} +\begin{paste}{ugGraphColorPalettePageEmpty1}{ugGraphColorPalettePagePatch1} +\pastebutton{ugGraphColorPalettePageEmpty1}{\showpaste} +\tab{5}\spadcommand{shade red()} +\end{paste}\end{patch} + +\begin{patch}{ugGraphColorPalettePagePatch2} +\begin{paste}{ugGraphColorPalettePageFull2}{ugGraphColorPalettePageEmpty2} +\pastebutton{ugGraphColorPalettePageFull2}{\hidepaste} +\tab{5}\spadcommand{myFavoriteColor := dark blue()\bound{mfc }} +\indentrel{3}\begin{verbatim} + (2) [Hue: 22 Weight: 1.0] from the Dark palette + Type: Palette +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphColorPalettePageEmpty2} +\begin{paste}{ugGraphColorPalettePageEmpty2}{ugGraphColorPalettePagePatch2} +\pastebutton{ugGraphColorPalettePageEmpty2}{\showpaste} +\tab{5}\spadcommand{myFavoriteColor := dark blue()\bound{mfc }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphColorPalettePagePatch3} +\begin{paste}{ugGraphColorPalettePageFull3}{ugGraphColorPalettePageEmpty3} +\pastebutton{ugGraphColorPalettePageFull3}{\hidepaste} +\tab{5}\spadcommand{shade myFavoriteColor\free{mfc }} +\indentrel{3}\begin{verbatim} + (3) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphColorPalettePageEmpty3} +\begin{paste}{ugGraphColorPalettePageEmpty3}{ugGraphColorPalettePagePatch3} +\pastebutton{ugGraphColorPalettePageEmpty3}{\showpaste} +\tab{5}\spadcommand{shade myFavoriteColor\free{mfc }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphColorPalettePagePatch4} +\begin{paste}{ugGraphColorPalettePageFull4}{ugGraphColorPalettePageEmpty4} +\pastebutton{ugGraphColorPalettePageFull4}{\hidepaste} +\tab{5}\spadcommand{hue myFavoriteColor\free{mfc }} +\indentrel{3}\begin{verbatim} + (4) Hue: 22 Weight: 1.0 + Type: Color +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphColorPalettePageEmpty4} +\begin{paste}{ugGraphColorPalettePageEmpty4}{ugGraphColorPalettePagePatch4} +\pastebutton{ugGraphColorPalettePageEmpty4}{\showpaste} +\tab{5}\spadcommand{hue myFavoriteColor\free{mfc }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphColorPalettePagePatch5} +\begin{paste}{ugGraphColorPalettePageFull5}{ugGraphColorPalettePageEmpty5} +\pastebutton{ugGraphColorPalettePageFull5}{\hidepaste} +\tab{5}\spadgraph{draw(x**2,x=-1..1,curveColor == dark blue())} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphcolorpalettepage5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphcolorpalettepage5}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphColorPalettePageEmpty5} +\begin{paste}{ugGraphColorPalettePageEmpty5}{ugGraphColorPalettePagePatch5} +\pastebutton{ugGraphColorPalettePageEmpty5}{\showpaste} +\tab{5}\spadgraph{draw(x**2,x=-1..1,curveColor == dark blue())} +\end{paste}\end{patch} + @ \pagehead{ugGraphTwoDControlPage}{ug07.ht}{Two-Dimensional Control-Panel} <>= @@ -34803,6 +90530,709 @@ the point data is in the file \axiom{"file.data"}. \autobuttons \end{page} +\begin{patch}{ugGraphTwoDbuildPagePatch1} +\begin{paste}{ugGraphTwoDbuildPageFull1}{ugGraphTwoDbuildPageEmpty1} +\pastebutton{ugGraphTwoDbuildPageFull1}{\hidepaste} +\tab{5}\spadcommand{p1 := point [1,1]$(Point DFLOAT)\bound{p1 }} +\indentrel{3}\begin{verbatim} + (1) [1.0,1.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty1} +\begin{paste}{ugGraphTwoDbuildPageEmpty1}{ugGraphTwoDbuildPagePatch1} +\pastebutton{ugGraphTwoDbuildPageEmpty1}{\showpaste} +\tab{5}\spadcommand{p1 := point [1,1]$(Point DFLOAT)\bound{p1 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch2} +\begin{paste}{ugGraphTwoDbuildPageFull2}{ugGraphTwoDbuildPageEmpty2} +\pastebutton{ugGraphTwoDbuildPageFull2}{\hidepaste} +\tab{5}\spadcommand{p2 := point [0,1]$(Point DFLOAT)\bound{p2 }} +\indentrel{3}\begin{verbatim} + (2) [0.0,1.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty2} +\begin{paste}{ugGraphTwoDbuildPageEmpty2}{ugGraphTwoDbuildPagePatch2} +\pastebutton{ugGraphTwoDbuildPageEmpty2}{\showpaste} +\tab{5}\spadcommand{p2 := point [0,1]$(Point DFLOAT)\bound{p2 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch3} +\begin{paste}{ugGraphTwoDbuildPageFull3}{ugGraphTwoDbuildPageEmpty3} +\pastebutton{ugGraphTwoDbuildPageFull3}{\hidepaste} +\tab{5}\spadcommand{p3 := point [0,0]$(Point DFLOAT)\bound{p3 }} +\indentrel{3}\begin{verbatim} + (3) [0.0,0.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty3} +\begin{paste}{ugGraphTwoDbuildPageEmpty3}{ugGraphTwoDbuildPagePatch3} +\pastebutton{ugGraphTwoDbuildPageEmpty3}{\showpaste} +\tab{5}\spadcommand{p3 := point [0,0]$(Point DFLOAT)\bound{p3 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch4} +\begin{paste}{ugGraphTwoDbuildPageFull4}{ugGraphTwoDbuildPageEmpty4} +\pastebutton{ugGraphTwoDbuildPageFull4}{\hidepaste} +\tab{5}\spadcommand{p4 := point [1,0]$(Point DFLOAT)\bound{p4 }} +\indentrel{3}\begin{verbatim} + (4) [1.0,0.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty4} +\begin{paste}{ugGraphTwoDbuildPageEmpty4}{ugGraphTwoDbuildPagePatch4} +\pastebutton{ugGraphTwoDbuildPageEmpty4}{\showpaste} +\tab{5}\spadcommand{p4 := point [1,0]$(Point DFLOAT)\bound{p4 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch5} +\begin{paste}{ugGraphTwoDbuildPageFull5}{ugGraphTwoDbuildPageEmpty5} +\pastebutton{ugGraphTwoDbuildPageFull5}{\hidepaste} +\tab{5}\spadcommand{p5 := point [1,.5]$(Point DFLOAT)\bound{p5 }} +\indentrel{3}\begin{verbatim} + (5) [1.0,0.5] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty5} +\begin{paste}{ugGraphTwoDbuildPageEmpty5}{ugGraphTwoDbuildPagePatch5} +\pastebutton{ugGraphTwoDbuildPageEmpty5}{\showpaste} +\tab{5}\spadcommand{p5 := point [1,.5]$(Point DFLOAT)\bound{p5 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch6} +\begin{paste}{ugGraphTwoDbuildPageFull6}{ugGraphTwoDbuildPageEmpty6} +\pastebutton{ugGraphTwoDbuildPageFull6}{\hidepaste} +\tab{5}\spadcommand{p6 := point [.5,0]$(Point DFLOAT)\bound{p6 }} +\indentrel{3}\begin{verbatim} + (6) [0.5,0.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty6} +\begin{paste}{ugGraphTwoDbuildPageEmpty6}{ugGraphTwoDbuildPagePatch6} +\pastebutton{ugGraphTwoDbuildPageEmpty6}{\showpaste} +\tab{5}\spadcommand{p6 := point [.5,0]$(Point DFLOAT)\bound{p6 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch7} +\begin{paste}{ugGraphTwoDbuildPageFull7}{ugGraphTwoDbuildPageEmpty7} +\pastebutton{ugGraphTwoDbuildPageFull7}{\hidepaste} +\tab{5}\spadcommand{p7 := point [0,0.5]$(Point DFLOAT)\bound{p7 }} +\indentrel{3}\begin{verbatim} + (7) [0.0,0.5] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty7} +\begin{paste}{ugGraphTwoDbuildPageEmpty7}{ugGraphTwoDbuildPagePatch7} +\pastebutton{ugGraphTwoDbuildPageEmpty7}{\showpaste} +\tab{5}\spadcommand{p7 := point [0,0.5]$(Point DFLOAT)\bound{p7 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch8} +\begin{paste}{ugGraphTwoDbuildPageFull8}{ugGraphTwoDbuildPageEmpty8} +\pastebutton{ugGraphTwoDbuildPageFull8}{\hidepaste} +\tab{5}\spadcommand{p8 := point [.5,1]$(Point DFLOAT)\bound{p8 }} +\indentrel{3}\begin{verbatim} + (8) [0.5,1.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty8} +\begin{paste}{ugGraphTwoDbuildPageEmpty8}{ugGraphTwoDbuildPagePatch8} +\pastebutton{ugGraphTwoDbuildPageEmpty8}{\showpaste} +\tab{5}\spadcommand{p8 := point [.5,1]$(Point DFLOAT)\bound{p8 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch9} +\begin{paste}{ugGraphTwoDbuildPageFull9}{ugGraphTwoDbuildPageEmpty9} +\pastebutton{ugGraphTwoDbuildPageFull9}{\hidepaste} +\tab{5}\spadcommand{p9 := point [.25,.25]$(Point DFLOAT)\bound{p9 }} +\indentrel{3}\begin{verbatim} + (9) [0.25,0.25] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty9} +\begin{paste}{ugGraphTwoDbuildPageEmpty9}{ugGraphTwoDbuildPagePatch9} +\pastebutton{ugGraphTwoDbuildPageEmpty9}{\showpaste} +\tab{5}\spadcommand{p9 := point [.25,.25]$(Point DFLOAT)\bound{p9 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch10} +\begin{paste}{ugGraphTwoDbuildPageFull10}{ugGraphTwoDbuildPageEmpty10} +\pastebutton{ugGraphTwoDbuildPageFull10}{\hidepaste} +\tab{5}\spadcommand{p10 := point [.25,.75]$(Point DFLOAT)\bound{p10 }} +\indentrel{3}\begin{verbatim} + (10) [0.25,0.75] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty10} +\begin{paste}{ugGraphTwoDbuildPageEmpty10}{ugGraphTwoDbuildPagePatch10} +\pastebutton{ugGraphTwoDbuildPageEmpty10}{\showpaste} +\tab{5}\spadcommand{p10 := point [.25,.75]$(Point DFLOAT)\bound{p10 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch11} +\begin{paste}{ugGraphTwoDbuildPageFull11}{ugGraphTwoDbuildPageEmpty11} +\pastebutton{ugGraphTwoDbuildPageFull11}{\hidepaste} +\tab{5}\spadcommand{p11 := point [.75,.75]$(Point DFLOAT)\bound{p11 }} +\indentrel{3}\begin{verbatim} + (11) [0.75,0.75] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty11} +\begin{paste}{ugGraphTwoDbuildPageEmpty11}{ugGraphTwoDbuildPagePatch11} +\pastebutton{ugGraphTwoDbuildPageEmpty11}{\showpaste} +\tab{5}\spadcommand{p11 := point [.75,.75]$(Point DFLOAT)\bound{p11 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch12} +\begin{paste}{ugGraphTwoDbuildPageFull12}{ugGraphTwoDbuildPageEmpty12} +\pastebutton{ugGraphTwoDbuildPageFull12}{\hidepaste} +\tab{5}\spadcommand{p12 := point [.75,.25]$(Point DFLOAT)\bound{p12 }} +\indentrel{3}\begin{verbatim} + (12) [0.75,0.25] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty12} +\begin{paste}{ugGraphTwoDbuildPageEmpty12}{ugGraphTwoDbuildPagePatch12} +\pastebutton{ugGraphTwoDbuildPageEmpty12}{\showpaste} +\tab{5}\spadcommand{p12 := point [.75,.25]$(Point DFLOAT)\bound{p12 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch13} +\begin{paste}{ugGraphTwoDbuildPageFull13}{ugGraphTwoDbuildPageEmpty13} +\pastebutton{ugGraphTwoDbuildPageFull13}{\hidepaste} +\tab{5}\spadcommand{llp := [[p1,p2], [p2,p3], [p3,p4], [p4,p1], [p5,p6], [p6,p7], [p7,p8], [p8,p5], [p9,p10], [p10,p11], [p11,p12], [p12,p9]]\free{p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 }\bound{llp }} +\indentrel{3}\begin{verbatim} + (13) + [[[1.0,1.0],[0.0,1.0]], [[0.0,1.0],[0.0,0.0]], + [[0.0,0.0],[1.0,0.0]], [[1.0,0.0],[1.0,1.0]], + [[1.0,0.5],[0.5,0.0]], [[0.5,0.0],[0.0,0.5]], + [[0.0,0.5],[0.5,1.0]], [[0.5,1.0],[1.0,0.5]], + [[0.25,0.25],[0.25,0.75]], [[0.25,0.75],[0.75,0.75]], + [[0.75,0.75],[0.75,0.25]], [[0.75,0.25],[0.25,0.25]]] + Type: List List Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty13} +\begin{paste}{ugGraphTwoDbuildPageEmpty13}{ugGraphTwoDbuildPagePatch13} +\pastebutton{ugGraphTwoDbuildPageEmpty13}{\showpaste} +\tab{5}\spadcommand{llp := [[p1,p2], [p2,p3], [p3,p4], [p4,p1], [p5,p6], [p6,p7], [p7,p8], [p8,p5], [p9,p10], [p10,p11], [p11,p12], [p12,p9]]\free{p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 }\bound{llp }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch14} +\begin{paste}{ugGraphTwoDbuildPageFull14}{ugGraphTwoDbuildPageEmpty14} +\pastebutton{ugGraphTwoDbuildPageFull14}{\hidepaste} +\tab{5}\spadcommand{size1 := 6::PositiveInteger\bound{size1 }} +\indentrel{3}\begin{verbatim} + (14) 6 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty14} +\begin{paste}{ugGraphTwoDbuildPageEmpty14}{ugGraphTwoDbuildPagePatch14} +\pastebutton{ugGraphTwoDbuildPageEmpty14}{\showpaste} +\tab{5}\spadcommand{size1 := 6::PositiveInteger\bound{size1 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch15} +\begin{paste}{ugGraphTwoDbuildPageFull15}{ugGraphTwoDbuildPageEmpty15} +\pastebutton{ugGraphTwoDbuildPageFull15}{\hidepaste} +\tab{5}\spadcommand{size2 := 8::PositiveInteger\bound{size2 }} +\indentrel{3}\begin{verbatim} + (15) 8 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty15} +\begin{paste}{ugGraphTwoDbuildPageEmpty15}{ugGraphTwoDbuildPagePatch15} +\pastebutton{ugGraphTwoDbuildPageEmpty15}{\showpaste} +\tab{5}\spadcommand{size2 := 8::PositiveInteger\bound{size2 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch16} +\begin{paste}{ugGraphTwoDbuildPageFull16}{ugGraphTwoDbuildPageEmpty16} +\pastebutton{ugGraphTwoDbuildPageFull16}{\hidepaste} +\tab{5}\spadcommand{size3 := 10::PositiveInteger\bound{size3 }} +\indentrel{3}\begin{verbatim} + (16) 10 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty16} +\begin{paste}{ugGraphTwoDbuildPageEmpty16}{ugGraphTwoDbuildPagePatch16} +\pastebutton{ugGraphTwoDbuildPageEmpty16}{\showpaste} +\tab{5}\spadcommand{size3 := 10::PositiveInteger\bound{size3 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch17} +\begin{paste}{ugGraphTwoDbuildPageFull17}{ugGraphTwoDbuildPageEmpty17} +\pastebutton{ugGraphTwoDbuildPageFull17}{\hidepaste} +\tab{5}\spadcommand{lsize := [size1, size1, size1, size1, size2, size2, size2, size2, size3, size3, size3, size3]\bound{lsize }\free{size1 size2 size3 }} +\indentrel{3}\begin{verbatim} + (17) [6,6,6,6,8,8,8,8,10,10,10,10] + Type: List PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty17} +\begin{paste}{ugGraphTwoDbuildPageEmpty17}{ugGraphTwoDbuildPagePatch17} +\pastebutton{ugGraphTwoDbuildPageEmpty17}{\showpaste} +\tab{5}\spadcommand{lsize := [size1, size1, size1, size1, size2, size2, size2, size2, size3, size3, size3, size3]\bound{lsize }\free{size1 size2 size3 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch18} +\begin{paste}{ugGraphTwoDbuildPageFull18}{ugGraphTwoDbuildPageEmpty18} +\pastebutton{ugGraphTwoDbuildPageFull18}{\hidepaste} +\tab{5}\spadcommand{pc1 := pastel red()\bound{pc1 }} +\indentrel{3}\begin{verbatim} + (18) [Hue: 1 Weight: 1.0] from the Pastel palette + Type: Palette +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty18} +\begin{paste}{ugGraphTwoDbuildPageEmpty18}{ugGraphTwoDbuildPagePatch18} +\pastebutton{ugGraphTwoDbuildPageEmpty18}{\showpaste} +\tab{5}\spadcommand{pc1 := pastel red()\bound{pc1 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch19} +\begin{paste}{ugGraphTwoDbuildPageFull19}{ugGraphTwoDbuildPageEmpty19} +\pastebutton{ugGraphTwoDbuildPageFull19}{\hidepaste} +\tab{5}\spadcommand{pc2 := dim green()\bound{pc2 }} +\indentrel{3}\begin{verbatim} + (19) [Hue: 14 Weight: 1.0] from the Dim palette + Type: Palette +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty19} +\begin{paste}{ugGraphTwoDbuildPageEmpty19}{ugGraphTwoDbuildPagePatch19} +\pastebutton{ugGraphTwoDbuildPageEmpty19}{\showpaste} +\tab{5}\spadcommand{pc2 := dim green()\bound{pc2 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch20} +\begin{paste}{ugGraphTwoDbuildPageFull20}{ugGraphTwoDbuildPageEmpty20} +\pastebutton{ugGraphTwoDbuildPageFull20}{\hidepaste} +\tab{5}\spadcommand{pc3 := pastel yellow()\bound{pc3 }} +\indentrel{3}\begin{verbatim} + (20) [Hue: 11 Weight: 1.0] from the Pastel palette + Type: Palette +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty20} +\begin{paste}{ugGraphTwoDbuildPageEmpty20}{ugGraphTwoDbuildPagePatch20} +\pastebutton{ugGraphTwoDbuildPageEmpty20}{\showpaste} +\tab{5}\spadcommand{pc3 := pastel yellow()\bound{pc3 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch21} +\begin{paste}{ugGraphTwoDbuildPageFull21}{ugGraphTwoDbuildPageEmpty21} +\pastebutton{ugGraphTwoDbuildPageFull21}{\hidepaste} +\tab{5}\spadcommand{lpc := [pc1, pc1, pc1, pc1, pc2, pc2, pc2, pc2, pc3, pc3, pc3, pc3]\free{pc1 pc2 pc3 }\bound{lpc }} +\indentrel{3}\begin{verbatim} + (21) + [[Hue: 1 Weight: 1.0] from the Pastel palette, + [Hue: 1 Weight: 1.0] from the Pastel palette, + [Hue: 1 Weight: 1.0] from the Pastel palette, + [Hue: 1 Weight: 1.0] from the Pastel palette, + [Hue: 14 Weight: 1.0] from the Dim palette, + [Hue: 14 Weight: 1.0] from the Dim palette, + [Hue: 14 Weight: 1.0] from the Dim palette, + [Hue: 14 Weight: 1.0] from the Dim palette, + [Hue: 11 Weight: 1.0] from the Pastel palette, + [Hue: 11 Weight: 1.0] from the Pastel palette, + [Hue: 11 Weight: 1.0] from the Pastel palette, + [Hue: 11 Weight: 1.0] from the Pastel palette] + Type: List Palette +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty21} +\begin{paste}{ugGraphTwoDbuildPageEmpty21}{ugGraphTwoDbuildPagePatch21} +\pastebutton{ugGraphTwoDbuildPageEmpty21}{\showpaste} +\tab{5}\spadcommand{lpc := [pc1, pc1, pc1, pc1, pc2, pc2, pc2, pc2, pc3, pc3, pc3, pc3]\free{pc1 pc2 pc3 }\bound{lpc }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch22} +\begin{paste}{ugGraphTwoDbuildPageFull22}{ugGraphTwoDbuildPageEmpty22} +\pastebutton{ugGraphTwoDbuildPageFull22}{\hidepaste} +\tab{5}\spadcommand{lc := [pastel blue(), light yellow(), dim green(), bright red(), light green(), dim yellow(), bright blue(), dark red(), pastel red(), light blue(), dim green(), light yellow()]\bound{lc }} +\indentrel{3}\begin{verbatim} + (22) + [[Hue: 22 Weight: 1.0] from the Pastel palette, + [Hue: 11 Weight: 1.0] from the Light palette, + [Hue: 14 Weight: 1.0] from the Dim palette, + [Hue: 1 Weight: 1.0] from the Bright palette, + [Hue: 14 Weight: 1.0] from the Light palette, + [Hue: 11 Weight: 1.0] from the Dim palette, + [Hue: 22 Weight: 1.0] from the Bright palette, + [Hue: 1 Weight: 1.0] from the Dark palette, + [Hue: 1 Weight: 1.0] from the Pastel palette, + [Hue: 22 Weight: 1.0] from the Light palette, + [Hue: 14 Weight: 1.0] from the Dim palette, + [Hue: 11 Weight: 1.0] from the Light palette] + Type: List Palette +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty22} +\begin{paste}{ugGraphTwoDbuildPageEmpty22}{ugGraphTwoDbuildPagePatch22} +\pastebutton{ugGraphTwoDbuildPageEmpty22}{\showpaste} +\tab{5}\spadcommand{lc := [pastel blue(), light yellow(), dim green(), bright red(), light green(), dim yellow(), bright blue(), dark red(), pastel red(), light blue(), dim green(), light yellow()]\bound{lc }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch23} +\begin{paste}{ugGraphTwoDbuildPageFull23}{ugGraphTwoDbuildPageEmpty23} +\pastebutton{ugGraphTwoDbuildPageFull23}{\hidepaste} +\tab{5}\spadcommand{g := makeGraphImage(llp,lpc,lc,lsize)$GRIMAGE\bound{g }\free{llp lpc lc lsize }} +\indentrel{3}\begin{verbatim} + (23) Graph with 12 point lists + Type: GraphImage +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty23} +\begin{paste}{ugGraphTwoDbuildPageEmpty23}{ugGraphTwoDbuildPagePatch23} +\pastebutton{ugGraphTwoDbuildPageEmpty23}{\showpaste} +\tab{5}\spadcommand{g := makeGraphImage(llp,lpc,lc,lsize)$GRIMAGE\bound{g }\free{llp lpc lc lsize }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch24} +\begin{paste}{ugGraphTwoDbuildPageFull24}{ugGraphTwoDbuildPageEmpty24} +\pastebutton{ugGraphTwoDbuildPageFull24}{\hidepaste} +\tab{5}\spadgraph{makeViewport2D(g,[title("Lines")])$VIEW2D\free{g }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodbuildpage24.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodbuildpage24}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty24} +\begin{paste}{ugGraphTwoDbuildPageEmpty24}{ugGraphTwoDbuildPagePatch24} +\pastebutton{ugGraphTwoDbuildPageEmpty24}{\showpaste} +\tab{5}\spadgraph{makeViewport2D(g,[title("Lines")])$VIEW2D\free{g }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch25} +\begin{paste}{ugGraphTwoDbuildPageFull25}{ugGraphTwoDbuildPageEmpty25} +\pastebutton{ugGraphTwoDbuildPageFull25}{\hidepaste} +\tab{5}\spadcommand{)clear all\bound{clearAll }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty25} +\begin{paste}{ugGraphTwoDbuildPageEmpty25}{ugGraphTwoDbuildPagePatch25} +\pastebutton{ugGraphTwoDbuildPageEmpty25}{\showpaste} +\tab{5}\spadcommand{)clear all\bound{clearAll }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch26} +\begin{paste}{ugGraphTwoDbuildPageFull26}{ugGraphTwoDbuildPageEmpty26} +\pastebutton{ugGraphTwoDbuildPageFull26}{\hidepaste} +\tab{5}\spadcommand{g := graphImage()$GRIMAGE\bound{Sg }\free{clearAll }} +\indentrel{3}\begin{verbatim} + (1) Graph with 0 point lists + Type: GraphImage +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty26} +\begin{paste}{ugGraphTwoDbuildPageEmpty26}{ugGraphTwoDbuildPagePatch26} +\pastebutton{ugGraphTwoDbuildPageEmpty26}{\showpaste} +\tab{5}\spadcommand{g := graphImage()$GRIMAGE\bound{Sg }\free{clearAll }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch27} +\begin{paste}{ugGraphTwoDbuildPageFull27}{ugGraphTwoDbuildPageEmpty27} +\pastebutton{ugGraphTwoDbuildPageFull27}{\hidepaste} +\tab{5}\spadcommand{p1 := point [0,0]$(Point DFLOAT)\bound{Sp1 }} +\indentrel{3}\begin{verbatim} + (2) [0.0,0.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty27} +\begin{paste}{ugGraphTwoDbuildPageEmpty27}{ugGraphTwoDbuildPagePatch27} +\pastebutton{ugGraphTwoDbuildPageEmpty27}{\showpaste} +\tab{5}\spadcommand{p1 := point [0,0]$(Point DFLOAT)\bound{Sp1 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch28} +\begin{paste}{ugGraphTwoDbuildPageFull28}{ugGraphTwoDbuildPageEmpty28} +\pastebutton{ugGraphTwoDbuildPageFull28}{\hidepaste} +\tab{5}\spadcommand{p2 := point [.25,.25]$(Point DFLOAT)\bound{Sp2 }} +\indentrel{3}\begin{verbatim} + (3) [0.25,0.25] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty28} +\begin{paste}{ugGraphTwoDbuildPageEmpty28}{ugGraphTwoDbuildPagePatch28} +\pastebutton{ugGraphTwoDbuildPageEmpty28}{\showpaste} +\tab{5}\spadcommand{p2 := point [.25,.25]$(Point DFLOAT)\bound{Sp2 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch29} +\begin{paste}{ugGraphTwoDbuildPageFull29}{ugGraphTwoDbuildPageEmpty29} +\pastebutton{ugGraphTwoDbuildPageFull29}{\hidepaste} +\tab{5}\spadcommand{p3 := point [.5,.5]$(Point DFLOAT)\bound{Sp3 }} +\indentrel{3}\begin{verbatim} + (4) [0.5,0.5] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty29} +\begin{paste}{ugGraphTwoDbuildPageEmpty29}{ugGraphTwoDbuildPagePatch29} +\pastebutton{ugGraphTwoDbuildPageEmpty29}{\showpaste} +\tab{5}\spadcommand{p3 := point [.5,.5]$(Point DFLOAT)\bound{Sp3 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch30} +\begin{paste}{ugGraphTwoDbuildPageFull30}{ugGraphTwoDbuildPageEmpty30} +\pastebutton{ugGraphTwoDbuildPageFull30}{\hidepaste} +\tab{5}\spadcommand{p4 := point [.75,.75]$(Point DFLOAT)\bound{Sp4 }} +\indentrel{3}\begin{verbatim} + (5) [0.75,0.75] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty30} +\begin{paste}{ugGraphTwoDbuildPageEmpty30}{ugGraphTwoDbuildPagePatch30} +\pastebutton{ugGraphTwoDbuildPageEmpty30}{\showpaste} +\tab{5}\spadcommand{p4 := point [.75,.75]$(Point DFLOAT)\bound{Sp4 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch31} +\begin{paste}{ugGraphTwoDbuildPageFull31}{ugGraphTwoDbuildPageEmpty31} +\pastebutton{ugGraphTwoDbuildPageFull31}{\hidepaste} +\tab{5}\spadcommand{p5 := point [1,1]$(Point DFLOAT)\bound{Sp5 }} +\indentrel{3}\begin{verbatim} + (6) [1.0,1.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty31} +\begin{paste}{ugGraphTwoDbuildPageEmpty31}{ugGraphTwoDbuildPagePatch31} +\pastebutton{ugGraphTwoDbuildPageEmpty31}{\showpaste} +\tab{5}\spadcommand{p5 := point [1,1]$(Point DFLOAT)\bound{Sp5 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch32} +\begin{paste}{ugGraphTwoDbuildPageFull32}{ugGraphTwoDbuildPageEmpty32} +\pastebutton{ugGraphTwoDbuildPageFull32}{\hidepaste} +\tab{5}\spadcommand{component(g,p1)$GRIMAGE\free{Sg Sp1 }\bound{gp1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty32} +\begin{paste}{ugGraphTwoDbuildPageEmpty32}{ugGraphTwoDbuildPagePatch32} +\pastebutton{ugGraphTwoDbuildPageEmpty32}{\showpaste} +\tab{5}\spadcommand{component(g,p1)$GRIMAGE\free{Sg Sp1 }\bound{gp1 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch33} +\begin{paste}{ugGraphTwoDbuildPageFull33}{ugGraphTwoDbuildPageEmpty33} +\pastebutton{ugGraphTwoDbuildPageFull33}{\hidepaste} +\tab{5}\spadcommand{component(g,p2)$GRIMAGE\free{Sg Sp2 }\bound{gp2 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty33} +\begin{paste}{ugGraphTwoDbuildPageEmpty33}{ugGraphTwoDbuildPagePatch33} +\pastebutton{ugGraphTwoDbuildPageEmpty33}{\showpaste} +\tab{5}\spadcommand{component(g,p2)$GRIMAGE\free{Sg Sp2 }\bound{gp2 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch34} +\begin{paste}{ugGraphTwoDbuildPageFull34}{ugGraphTwoDbuildPageEmpty34} +\pastebutton{ugGraphTwoDbuildPageFull34}{\hidepaste} +\tab{5}\spadcommand{appendPoint(g,p3)$GRIMAGE\free{gp1 gp2 Sp3 }\bound{gp3 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty34} +\begin{paste}{ugGraphTwoDbuildPageEmpty34}{ugGraphTwoDbuildPagePatch34} +\pastebutton{ugGraphTwoDbuildPageEmpty34}{\showpaste} +\tab{5}\spadcommand{appendPoint(g,p3)$GRIMAGE\free{gp1 gp2 Sp3 }\bound{gp3 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch35} +\begin{paste}{ugGraphTwoDbuildPageFull35}{ugGraphTwoDbuildPageEmpty35} +\pastebutton{ugGraphTwoDbuildPageFull35}{\hidepaste} +\tab{5}\spadcommand{appendPoint(g,p4)$GRIMAGE\free{gp3 Sp4 }\bound{gp4 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty35} +\begin{paste}{ugGraphTwoDbuildPageEmpty35}{ugGraphTwoDbuildPagePatch35} +\pastebutton{ugGraphTwoDbuildPageEmpty35}{\showpaste} +\tab{5}\spadcommand{appendPoint(g,p4)$GRIMAGE\free{gp3 Sp4 }\bound{gp4 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch36} +\begin{paste}{ugGraphTwoDbuildPageFull36}{ugGraphTwoDbuildPageEmpty36} +\pastebutton{ugGraphTwoDbuildPageFull36}{\hidepaste} +\tab{5}\spadcommand{appendPoint(g,p5)$GRIMAGE\free{gp4 Sp5 }\bound{gp5 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty36} +\begin{paste}{ugGraphTwoDbuildPageEmpty36}{ugGraphTwoDbuildPagePatch36} +\pastebutton{ugGraphTwoDbuildPageEmpty36}{\showpaste} +\tab{5}\spadcommand{appendPoint(g,p5)$GRIMAGE\free{gp4 Sp5 }\bound{gp5 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch37} +\begin{paste}{ugGraphTwoDbuildPageFull37}{ugGraphTwoDbuildPageEmpty37} +\pastebutton{ugGraphTwoDbuildPageFull37}{\hidepaste} +\tab{5}\spadcommand{g1 := makeGraphImage(g)$GRIMAGE\bound{Sg1 }\free{gp5 }} +\indentrel{3}\begin{verbatim} + (12) Graph with 2 point lists + Type: GraphImage +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty37} +\begin{paste}{ugGraphTwoDbuildPageEmpty37}{ugGraphTwoDbuildPagePatch37} +\pastebutton{ugGraphTwoDbuildPageEmpty37}{\showpaste} +\tab{5}\spadcommand{g1 := makeGraphImage(g)$GRIMAGE\bound{Sg1 }\free{gp5 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch38} +\begin{paste}{ugGraphTwoDbuildPageFull38}{ugGraphTwoDbuildPageEmpty38} +\pastebutton{ugGraphTwoDbuildPageFull38}{\hidepaste} +\tab{5}\spadgraph{makeViewport2D(g1,[title("Graph Points")])$VIEW2D\free{Sg1 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodbuildpage38.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodbuildpage38}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty38} +\begin{paste}{ugGraphTwoDbuildPageEmpty38}{ugGraphTwoDbuildPagePatch38} +\pastebutton{ugGraphTwoDbuildPageEmpty38}{\showpaste} +\tab{5}\spadgraph{makeViewport2D(g1,[title("Graph Points")])$VIEW2D\free{Sg1 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch39} +\begin{paste}{ugGraphTwoDbuildPageFull39}{ugGraphTwoDbuildPageEmpty39} +\pastebutton{ugGraphTwoDbuildPageFull39}{\hidepaste} +\tab{5}\spadcommand{g2 := coerce([[p1],[p2],[p3],[p4],[p5]])$GRIMAGE\free{Sp1 Sp2 Sp3 Sp4 Sp5 }\bound{Sg2 }} +\indentrel{3}\begin{verbatim} + (14) Graph with 5 point lists + Type: GraphImage +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty39} +\begin{paste}{ugGraphTwoDbuildPageEmpty39}{ugGraphTwoDbuildPagePatch39} +\pastebutton{ugGraphTwoDbuildPageEmpty39}{\showpaste} +\tab{5}\spadcommand{g2 := coerce([[p1],[p2],[p3],[p4],[p5]])$GRIMAGE\free{Sp1 Sp2 Sp3 Sp4 Sp5 }\bound{Sg2 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch40} +\begin{paste}{ugGraphTwoDbuildPageFull40}{ugGraphTwoDbuildPageEmpty40} +\pastebutton{ugGraphTwoDbuildPageFull40}{\hidepaste} +\tab{5}\spadcommand{v := viewport2D()$VIEW2D\bound{Sv }} +\indentrel{3}\begin{verbatim} + (15) + Closed or Undefined TwoDimensionalViewport: "AXIOM2D" + Type: TwoDimensionalViewport +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty40} +\begin{paste}{ugGraphTwoDbuildPageEmpty40}{ugGraphTwoDbuildPagePatch40} +\pastebutton{ugGraphTwoDbuildPageEmpty40}{\showpaste} +\tab{5}\spadcommand{v := viewport2D()$VIEW2D\bound{Sv }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch41} +\begin{paste}{ugGraphTwoDbuildPageFull41}{ugGraphTwoDbuildPageEmpty41} +\pastebutton{ugGraphTwoDbuildPageFull41}{\hidepaste} +\tab{5}\spadcommand{options(v,[title("Just Points")])$VIEW2D\free{Sv }\bound{Svo }} +\indentrel{3}\begin{verbatim} + (16) + Closed or Undefined TwoDimensionalViewport: "AXIOM2D" + Type: TwoDimensionalViewport +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty41} +\begin{paste}{ugGraphTwoDbuildPageEmpty41}{ugGraphTwoDbuildPagePatch41} +\pastebutton{ugGraphTwoDbuildPageEmpty41}{\showpaste} +\tab{5}\spadcommand{options(v,[title("Just Points")])$VIEW2D\free{Sv }\bound{Svo }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch42} +\begin{paste}{ugGraphTwoDbuildPageFull42}{ugGraphTwoDbuildPageEmpty42} +\pastebutton{ugGraphTwoDbuildPageFull42}{\hidepaste} +\tab{5}\spadcommand{putGraph(v,g2,1)$VIEW2D\free{Sg2 Svo }\bound{Svog2 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty42} +\begin{paste}{ugGraphTwoDbuildPageEmpty42}{ugGraphTwoDbuildPagePatch42} +\pastebutton{ugGraphTwoDbuildPageEmpty42}{\showpaste} +\tab{5}\spadcommand{putGraph(v,g2,1)$VIEW2D\free{Sg2 Svo }\bound{Svog2 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPagePatch43} +\begin{paste}{ugGraphTwoDbuildPageFull43}{ugGraphTwoDbuildPageEmpty43} +\pastebutton{ugGraphTwoDbuildPageFull43}{\hidepaste} +\tab{5}\spadgraph{makeViewport2D(v)$VIEW2D\free{Svog2 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodbuildpage43.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodbuildpage43}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDbuildPageEmpty43} +\begin{paste}{ugGraphTwoDbuildPageEmpty43}{ugGraphTwoDbuildPagePatch43} +\pastebutton{ugGraphTwoDbuildPageEmpty43}{\showpaste} +\tab{5}\spadgraph{makeViewport2D(v)$VIEW2D\free{Svog2 }} +\end{paste}\end{patch} + @ \pagehead{ugGraphTwoDappendPage}{ug07.ht} {Addendum: Appending a Graph to a Viewport Window Containing a Graph} @@ -34856,6 +91286,82 @@ Display the new \axiomType{TwoDimensionalViewport} containing both graphs. \autobuttons \end{page} +\begin{patch}{ugGraphTwoDappendPagePatch1} +\begin{paste}{ugGraphTwoDappendPageFull1}{ugGraphTwoDappendPageEmpty1} +\pastebutton{ugGraphTwoDappendPageFull1}{\hidepaste} +\tab{5}\spadcommand{v1 := draw(sin(x),x=0..2*\%pi)\bound{v1 }} +\indentrel{3}\begin{verbatim} + (1) TwoDimensionalViewport: "sin x" + Type: TwoDimensionalViewport +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDappendPageEmpty1} +\begin{paste}{ugGraphTwoDappendPageEmpty1}{ugGraphTwoDappendPagePatch1} +\pastebutton{ugGraphTwoDappendPageEmpty1}{\showpaste} +\tab{5}\spadcommand{v1 := draw(sin(x),x=0..2*\%pi)\bound{v1 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDappendPagePatch2} +\begin{paste}{ugGraphTwoDappendPageFull2}{ugGraphTwoDappendPageEmpty2} +\pastebutton{ugGraphTwoDappendPageFull2}{\hidepaste} +\tab{5}\spadcommand{v2 := draw(cos(x),x=0..2*\%pi, curveColor==light red())\bound{v2 }} +\indentrel{3}\begin{verbatim} + (2) TwoDimensionalViewport: "cos x" + Type: TwoDimensionalViewport +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDappendPageEmpty2} +\begin{paste}{ugGraphTwoDappendPageEmpty2}{ugGraphTwoDappendPagePatch2} +\pastebutton{ugGraphTwoDappendPageEmpty2}{\showpaste} +\tab{5}\spadcommand{v2 := draw(cos(x),x=0..2*\%pi, curveColor==light red())\bound{v2 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDappendPagePatch3} +\begin{paste}{ugGraphTwoDappendPageFull3}{ugGraphTwoDappendPageEmpty3} +\pastebutton{ugGraphTwoDappendPageFull3}{\hidepaste} +\tab{5}\spadcommand{g1 := getGraph(v1,1)\bound{g1 }\free{v1 }} +\indentrel{3}\begin{verbatim} + (3) Graph with 1 point list + Type: GraphImage +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDappendPageEmpty3} +\begin{paste}{ugGraphTwoDappendPageEmpty3}{ugGraphTwoDappendPagePatch3} +\pastebutton{ugGraphTwoDappendPageEmpty3}{\showpaste} +\tab{5}\spadcommand{g1 := getGraph(v1,1)\bound{g1 }\free{v1 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDappendPagePatch4} +\begin{paste}{ugGraphTwoDappendPageFull4}{ugGraphTwoDappendPageEmpty4} +\pastebutton{ugGraphTwoDappendPageFull4}{\hidepaste} +\tab{5}\spadcommand{putGraph(v2,g1,2)\bound{v22 }\free{g1 v2 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDappendPageEmpty4} +\begin{paste}{ugGraphTwoDappendPageEmpty4}{ugGraphTwoDappendPagePatch4} +\pastebutton{ugGraphTwoDappendPageEmpty4}{\showpaste} +\tab{5}\spadcommand{putGraph(v2,g1,2)\bound{v22 }\free{g1 v2 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDappendPagePatch5} +\begin{paste}{ugGraphTwoDappendPageFull5}{ugGraphTwoDappendPageEmpty5} +\pastebutton{ugGraphTwoDappendPageFull5}{\hidepaste} +\tab{5}\spadgraph{makeViewport2D(v2)\free{v22 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodappendpage5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodappendpage5}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphTwoDappendPageEmpty5} +\begin{paste}{ugGraphTwoDappendPageEmpty5}{ugGraphTwoDappendPagePatch5} +\pastebutton{ugGraphTwoDappendPageEmpty5}{\showpaste} +\tab{5}\spadgraph{makeViewport2D(v2)\free{v22 }} +\end{paste}\end{patch} + @ \pagehead{ugGraphThreeDPage}{ug07.ht}{Three-Dimensional Graphics} \pageto{notitle}{ugGraphThreeDPlotPage} @@ -34989,6 +91495,47 @@ default title. \autobuttons \end{page} +\begin{patch}{ugGraphThreeDPlotPagePatch1} +\begin{paste}{ugGraphThreeDPlotPageFull1}{ugGraphThreeDPlotPageEmpty1} +\pastebutton{ugGraphThreeDPlotPageFull1}{\hidepaste} +\tab{5}\spadgraph{draw(cos(x*y),x=-3..3,y=-3..3)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedplotpage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedplotpage1}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDPlotPageEmpty1} +\begin{paste}{ugGraphThreeDPlotPageEmpty1}{ugGraphThreeDPlotPagePatch1} +\pastebutton{ugGraphThreeDPlotPageEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(cos(x*y),x=-3..3,y=-3..3)} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDPlotPagePatch2} +\begin{paste}{ugGraphThreeDPlotPageFull2}{ugGraphThreeDPlotPageEmpty2} +\pastebutton{ugGraphThreeDPlotPageFull2}{\hidepaste} +\tab{5}\spadcommand{f(x,y) == sin(x)*cos(y)\bound{f }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDPlotPageEmpty2} +\begin{paste}{ugGraphThreeDPlotPageEmpty2}{ugGraphThreeDPlotPagePatch2} +\pastebutton{ugGraphThreeDPlotPageEmpty2}{\showpaste} +\tab{5}\spadcommand{f(x,y) == sin(x)*cos(y)\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDPlotPagePatch3} +\begin{paste}{ugGraphThreeDPlotPageFull3}{ugGraphThreeDPlotPageEmpty3} +\pastebutton{ugGraphThreeDPlotPageFull3}{\hidepaste} +\tab{5}\spadgraph{draw(f,-\%pi..\%pi,-\%pi..\%pi)\free{f }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedplotpage3.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedplotpage3}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDPlotPageEmpty3} +\begin{paste}{ugGraphThreeDPlotPageEmpty3}{ugGraphThreeDPlotPagePatch3} +\pastebutton{ugGraphThreeDPlotPageEmpty3}{\showpaste} +\tab{5}\spadgraph{draw(f,-\%pi..\%pi,-\%pi..\%pi)\free{f }} +\end{paste}\end{patch} + @ \pagehead{ugGraphThreeDParmPage}{ug07.ht} {Plotting Three-Dimensional Parametric Space Curves} @@ -35061,6 +91608,77 @@ Again, Axiom supplies a default title. \autobuttons \end{page} +\begin{patch}{ugGraphThreeDParmPagePatch1} +\begin{paste}{ugGraphThreeDParmPageFull1}{ugGraphThreeDParmPageEmpty1} +\pastebutton{ugGraphThreeDParmPageFull1}{\hidepaste} +\tab{5}\spadgraph{draw(curve(5*cos(t), 5*sin(t),t), t=-12..12)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedparmpage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedparmpage1}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDParmPageEmpty1} +\begin{paste}{ugGraphThreeDParmPageEmpty1}{ugGraphThreeDParmPagePatch1} +\pastebutton{ugGraphThreeDParmPageEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(curve(5*cos(t), 5*sin(t),t), t=-12..12)} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDParmPagePatch2} +\begin{paste}{ugGraphThreeDParmPageFull2}{ugGraphThreeDParmPageEmpty2} +\pastebutton{ugGraphThreeDParmPageFull2}{\hidepaste} +\tab{5}\spadcommand{i1(t:DFLOAT):DFLOAT == sin(t)*cos(3*t/5)\bound{i1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDParmPageEmpty2} +\begin{paste}{ugGraphThreeDParmPageEmpty2}{ugGraphThreeDParmPagePatch2} +\pastebutton{ugGraphThreeDParmPageEmpty2}{\showpaste} +\tab{5}\spadcommand{i1(t:DFLOAT):DFLOAT == sin(t)*cos(3*t/5)\bound{i1 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDParmPagePatch3} +\begin{paste}{ugGraphThreeDParmPageFull3}{ugGraphThreeDParmPageEmpty3} +\pastebutton{ugGraphThreeDParmPageFull3}{\hidepaste} +\tab{5}\spadcommand{i2(t:DFLOAT):DFLOAT == cos(t)*cos(3*t/5)\bound{i2 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDParmPageEmpty3} +\begin{paste}{ugGraphThreeDParmPageEmpty3}{ugGraphThreeDParmPagePatch3} +\pastebutton{ugGraphThreeDParmPageEmpty3}{\showpaste} +\tab{5}\spadcommand{i2(t:DFLOAT):DFLOAT == cos(t)*cos(3*t/5)\bound{i2 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDParmPagePatch4} +\begin{paste}{ugGraphThreeDParmPageFull4}{ugGraphThreeDParmPageEmpty4} +\pastebutton{ugGraphThreeDParmPageFull4}{\hidepaste} +\tab{5}\spadcommand{i3(t:DFLOAT):DFLOAT == cos(t)*sin(3*t/5)\bound{i3 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDParmPageEmpty4} +\begin{paste}{ugGraphThreeDParmPageEmpty4}{ugGraphThreeDParmPagePatch4} +\pastebutton{ugGraphThreeDParmPageEmpty4}{\showpaste} +\tab{5}\spadcommand{i3(t:DFLOAT):DFLOAT == cos(t)*sin(3*t/5)\bound{i3 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDParmPagePatch5} +\begin{paste}{ugGraphThreeDParmPageFull5}{ugGraphThreeDParmPageEmpty5} +\pastebutton{ugGraphThreeDParmPageFull5}{\hidepaste} +\tab{5}\spadgraph{draw(curve(i1,i2,i3),0..15*\%pi)\free{i1 i2 i3 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedparmpage5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedparmpage5}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDParmPageEmpty5} +\begin{paste}{ugGraphThreeDParmPageEmpty5}{ugGraphThreeDParmPagePatch5} +\pastebutton{ugGraphThreeDParmPageEmpty5}{\showpaste} +\tab{5}\spadgraph{draw(curve(i1,i2,i3),0..15*\%pi)\free{i1 i2 i3 }} +\end{paste}\end{patch} + @ \pagehead{ugGraphThreeDParPage}{ug07.ht} {Plotting 3D Parametric Surfaces} @@ -35152,6 +91770,93 @@ coordinates == toroidal(1\$DFLOAT)) \free{n1 n2 n3}} \autobuttons \end{page} +\begin{patch}{ugGraphThreeDParPagePatch1} +\begin{paste}{ugGraphThreeDParPageFull1}{ugGraphThreeDParPageEmpty1} +\pastebutton{ugGraphThreeDParPageFull1}{\hidepaste} +\tab{5}\spadgraph{draw(surface(u*cos(v), u*sin(v), v*cos(u)), u=-4..4, v=0..\%pi, coordinates== parabolicCylindrical)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedparpage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedparpage1}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDParPageEmpty1} +\begin{paste}{ugGraphThreeDParPageEmpty1}{ugGraphThreeDParPagePatch1} +\pastebutton{ugGraphThreeDParPageEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(surface(u*cos(v), u*sin(v), v*cos(u)), u=-4..4, v=0..\%pi, coordinates== parabolicCylindrical)} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDParPagePatch2} +\begin{paste}{ugGraphThreeDParPageFull2}{ugGraphThreeDParPageEmpty2} +\pastebutton{ugGraphThreeDParPageFull2}{\hidepaste} +\tab{5}\spadcommand{n1(u:DFLOAT,v:DFLOAT):DFLOAT == u*cos(v)\bound{n1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDParPageEmpty2} +\begin{paste}{ugGraphThreeDParPageEmpty2}{ugGraphThreeDParPagePatch2} +\pastebutton{ugGraphThreeDParPageEmpty2}{\showpaste} +\tab{5}\spadcommand{n1(u:DFLOAT,v:DFLOAT):DFLOAT == u*cos(v)\bound{n1 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDParPagePatch3} +\begin{paste}{ugGraphThreeDParPageFull3}{ugGraphThreeDParPageEmpty3} +\pastebutton{ugGraphThreeDParPageFull3}{\hidepaste} +\tab{5}\spadcommand{n2(u:DFLOAT,v:DFLOAT):DFLOAT == u*sin(v)\bound{n2 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDParPageEmpty3} +\begin{paste}{ugGraphThreeDParPageEmpty3}{ugGraphThreeDParPagePatch3} +\pastebutton{ugGraphThreeDParPageEmpty3}{\showpaste} +\tab{5}\spadcommand{n2(u:DFLOAT,v:DFLOAT):DFLOAT == u*sin(v)\bound{n2 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDParPagePatch4} +\begin{paste}{ugGraphThreeDParPageFull4}{ugGraphThreeDParPageEmpty4} +\pastebutton{ugGraphThreeDParPageFull4}{\hidepaste} +\tab{5}\spadcommand{n3(u:DFLOAT,v:DFLOAT):DFLOAT == u\bound{n3 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDParPageEmpty4} +\begin{paste}{ugGraphThreeDParPageEmpty4}{ugGraphThreeDParPagePatch4} +\pastebutton{ugGraphThreeDParPageEmpty4}{\showpaste} +\tab{5}\spadcommand{n3(u:DFLOAT,v:DFLOAT):DFLOAT == u\bound{n3 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDParPagePatch5} +\begin{paste}{ugGraphThreeDParPageFull5}{ugGraphThreeDParPageEmpty5} +\pastebutton{ugGraphThreeDParPageFull5}{\hidepaste} +\tab{5}\spadcommand{n3(0.5,1.0)\free{n3 }} +\indentrel{3}\begin{verbatim} + (5) 0.5 + Type: DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDParPageEmpty5} +\begin{paste}{ugGraphThreeDParPageEmpty5}{ugGraphThreeDParPagePatch5} +\pastebutton{ugGraphThreeDParPageEmpty5}{\showpaste} +\tab{5}\spadcommand{n3(0.5,1.0)\free{n3 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDParPagePatch6} +\begin{paste}{ugGraphThreeDParPageFull6}{ugGraphThreeDParPageEmpty6} +\pastebutton{ugGraphThreeDParPageFull6}{\hidepaste} +\tab{5}\spadgraph{draw(surface(n1,n2,n3), 1..4, 1..2*\%pi, coordinates == toroidal(1$DFLOAT))\free{n1 n2 n3 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedparpage6.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedparpage6}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDParPageEmpty6} +\begin{paste}{ugGraphThreeDParPageEmpty6}{ugGraphThreeDParPagePatch6} +\pastebutton{ugGraphThreeDParPageEmpty6}{\showpaste} +\tab{5}\spadgraph{draw(surface(n1,n2,n3), 1..4, 1..2*\%pi, coordinates == toroidal(1$DFLOAT))\free{n1 n2 n3 }} +\end{paste}\end{patch} + @ \pagehead{ugGraphThreeDOptionsPage}{ug07.ht}{Three-Dimensional Options} \pageto{notitle}{ugGraphCoordPage} @@ -35364,6 +92069,286 @@ Create a viewport window from a three-space object. \autobuttons \end{page} +\begin{patch}{ugGraphThreeDOptionsPagePatch1} +\begin{paste}{ugGraphThreeDOptionsPageFull1}{ugGraphThreeDOptionsPageEmpty1} +\pastebutton{ugGraphThreeDOptionsPageFull1}{\hidepaste} +\tab{5}\spadgraph{draw(cos(x*y),x=0..2*\%pi,y=0..\%pi,title == "Title of Graph")} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugGraphThreeDOptionsPage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugGraphThreeDOptionsPage1}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPageEmpty1} +\begin{paste}{ugGraphThreeDOptionsPageEmpty1}{ugGraphThreeDOptionsPagePatch1} +\pastebutton{ugGraphThreeDOptionsPageEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(cos(x*y),x=0..2*\%pi,y=0..\%pi,title == "Title of Graph")} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPagePatch2} +\begin{paste}{ugGraphThreeDOptionsPageFull2}{ugGraphThreeDOptionsPageEmpty2} +\pastebutton{ugGraphThreeDOptionsPageFull2}{\hidepaste} +\tab{5}\spadgraph{draw(cos(x*y),x=-3..3,y=-3..3, style=="smooth", title=="Smooth Option")} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedoptionspage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedoptionspage2}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPageEmpty2} +\begin{paste}{ugGraphThreeDOptionsPageEmpty2}{ugGraphThreeDOptionsPagePatch2} +\pastebutton{ugGraphThreeDOptionsPageEmpty2}{\showpaste} +\tab{5}\spadgraph{draw(cos(x*y),x=-3..3,y=-3..3, style=="smooth", title=="Smooth Option")} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPagePatch3} +\begin{paste}{ugGraphThreeDOptionsPageFull3}{ugGraphThreeDOptionsPageEmpty3} +\pastebutton{ugGraphThreeDOptionsPageFull3}{\hidepaste} +\tab{5}\spadcommand{color1(t) == t\bound{colorFxn1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPageEmpty3} +\begin{paste}{ugGraphThreeDOptionsPageEmpty3}{ugGraphThreeDOptionsPagePatch3} +\pastebutton{ugGraphThreeDOptionsPageEmpty3}{\showpaste} +\tab{5}\spadcommand{color1(t) == t\bound{colorFxn1 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPagePatch4} +\begin{paste}{ugGraphThreeDOptionsPageFull4}{ugGraphThreeDOptionsPageEmpty4} +\pastebutton{ugGraphThreeDOptionsPageFull4}{\hidepaste} +\tab{5}\spadgraph{draw(curve(sin(t), cos(t),0), t=0..2*\%pi, tubeRadius == .3, colorFunction == color1)\free{colorFxn1 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedoptionspage4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedoptionspage4}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPageEmpty4} +\begin{paste}{ugGraphThreeDOptionsPageEmpty4}{ugGraphThreeDOptionsPagePatch4} +\pastebutton{ugGraphThreeDOptionsPageEmpty4}{\showpaste} +\tab{5}\spadgraph{draw(curve(sin(t), cos(t),0), t=0..2*\%pi, tubeRadius == .3, colorFunction == color1)\free{colorFxn1 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPagePatch5} +\begin{paste}{ugGraphThreeDOptionsPageFull5}{ugGraphThreeDOptionsPageEmpty5} +\pastebutton{ugGraphThreeDOptionsPageFull5}{\hidepaste} +\tab{5}\spadcommand{color2(u,v) == u**2 - v**2\bound{colorFxn2 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPageEmpty5} +\begin{paste}{ugGraphThreeDOptionsPageEmpty5}{ugGraphThreeDOptionsPagePatch5} +\pastebutton{ugGraphThreeDOptionsPageEmpty5}{\showpaste} +\tab{5}\spadcommand{color2(u,v) == u**2 - v**2\bound{colorFxn2 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPagePatch6} +\begin{paste}{ugGraphThreeDOptionsPageFull6}{ugGraphThreeDOptionsPageEmpty6} +\pastebutton{ugGraphThreeDOptionsPageFull6}{\hidepaste} +\tab{5}\spadgraph{draw(cos(u*v), u=-3..3, v=-3..3, colorFunction == color2)\free{colorFxn2 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedoptionspage6.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedoptionspage6}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPageEmpty6} +\begin{paste}{ugGraphThreeDOptionsPageEmpty6}{ugGraphThreeDOptionsPagePatch6} +\pastebutton{ugGraphThreeDOptionsPageEmpty6}{\showpaste} +\tab{5}\spadgraph{draw(cos(u*v), u=-3..3, v=-3..3, colorFunction == color2)\free{colorFxn2 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPagePatch7} +\begin{paste}{ugGraphThreeDOptionsPageFull7}{ugGraphThreeDOptionsPageEmpty7} +\pastebutton{ugGraphThreeDOptionsPageFull7}{\hidepaste} +\tab{5}\spadcommand{color3(x,y,fxy) == sin(x*fxy) + cos(y*fxy)\bound{colorFxn3 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPageEmpty7} +\begin{paste}{ugGraphThreeDOptionsPageEmpty7}{ugGraphThreeDOptionsPagePatch7} +\pastebutton{ugGraphThreeDOptionsPageEmpty7}{\showpaste} +\tab{5}\spadcommand{color3(x,y,fxy) == sin(x*fxy) + cos(y*fxy)\bound{colorFxn3 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPagePatch8} +\begin{paste}{ugGraphThreeDOptionsPageFull8}{ugGraphThreeDOptionsPageEmpty8} +\pastebutton{ugGraphThreeDOptionsPageFull8}{\hidepaste} +\tab{5}\spadgraph{draw(cos(x*y), x=-3..3, y=-3..3, colorFunction == color3)\free{colorFxn3 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedoptionspage8.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedoptionspage8}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPageEmpty8} +\begin{paste}{ugGraphThreeDOptionsPageEmpty8}{ugGraphThreeDOptionsPagePatch8} +\pastebutton{ugGraphThreeDOptionsPageEmpty8}{\showpaste} +\tab{5}\spadgraph{draw(cos(x*y), x=-3..3, y=-3..3, colorFunction == color3)\free{colorFxn3 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPagePatch9} +\begin{paste}{ugGraphThreeDOptionsPageFull9}{ugGraphThreeDOptionsPageEmpty9} +\pastebutton{ugGraphThreeDOptionsPageFull9}{\hidepaste} +\tab{5}\spadcommand{m(u:DFLOAT,v:DFLOAT):DFLOAT == 1\bound{m }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPageEmpty9} +\begin{paste}{ugGraphThreeDOptionsPageEmpty9}{ugGraphThreeDOptionsPagePatch9} +\pastebutton{ugGraphThreeDOptionsPageEmpty9}{\showpaste} +\tab{5}\spadcommand{m(u:DFLOAT,v:DFLOAT):DFLOAT == 1\bound{m }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPagePatch10} +\begin{paste}{ugGraphThreeDOptionsPageFull10}{ugGraphThreeDOptionsPageEmpty10} +\pastebutton{ugGraphThreeDOptionsPageFull10}{\hidepaste} +\tab{5}\spadgraph{draw(m, 0..2*\%pi,0..\%pi, coordinates == spherical, style=="shade")\free{m }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugGraphThreeDOptionsPage10.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugGraphThreeDOptionsPage10}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPageEmpty10} +\begin{paste}{ugGraphThreeDOptionsPageEmpty10}{ugGraphThreeDOptionsPagePatch10} +\pastebutton{ugGraphThreeDOptionsPageEmpty10}{\showpaste} +\tab{5}\spadgraph{draw(m, 0..2*\%pi,0..\%pi, coordinates == spherical, style=="shade")\free{m }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPagePatch11} +\begin{paste}{ugGraphThreeDOptionsPageFull11}{ugGraphThreeDOptionsPageEmpty11} +\pastebutton{ugGraphThreeDOptionsPageFull11}{\hidepaste} +\tab{5}\spadgraph{draw(curve(sin(t),cos(t),0),t=0..2*\%pi, style=="shade", tubeRadius == .3)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedoptionspage11.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedoptionspage11}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPageEmpty11} +\begin{paste}{ugGraphThreeDOptionsPageEmpty11}{ugGraphThreeDOptionsPagePatch11} +\pastebutton{ugGraphThreeDOptionsPageEmpty11}{\showpaste} +\tab{5}\spadgraph{draw(curve(sin(t),cos(t),0),t=0..2*\%pi, style=="shade", tubeRadius == .3)} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPagePatch12} +\begin{paste}{ugGraphThreeDOptionsPageFull12}{ugGraphThreeDOptionsPageEmpty12} +\pastebutton{ugGraphThreeDOptionsPageFull12}{\hidepaste} +\tab{5}\spadgraph{draw(curve(sin(t), cos(t), 0), t=0..2*\%pi, style=="shade", tubeRadius == .25, tubePoints == 3)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedoptionspage12.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedoptionspage12}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPageEmpty12} +\begin{paste}{ugGraphThreeDOptionsPageEmpty12}{ugGraphThreeDOptionsPagePatch12} +\pastebutton{ugGraphThreeDOptionsPageEmpty12}{\showpaste} +\tab{5}\spadgraph{draw(curve(sin(t), cos(t), 0), t=0..2*\%pi, style=="shade", tubeRadius == .25, tubePoints == 3)} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPagePatch13} +\begin{paste}{ugGraphThreeDOptionsPageFull13}{ugGraphThreeDOptionsPageEmpty13} +\pastebutton{ugGraphThreeDOptionsPageFull13}{\hidepaste} +\tab{5}\spadgraph{draw(cos(x*y),x=-3..3,y=-3..3, style=="shade", var1Steps == 30, var2Steps == 30)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedoptionspage13.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedoptionspage13}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPageEmpty13} +\begin{paste}{ugGraphThreeDOptionsPageEmpty13}{ugGraphThreeDOptionsPagePatch13} +\pastebutton{ugGraphThreeDOptionsPageEmpty13}{\showpaste} +\tab{5}\spadgraph{draw(cos(x*y),x=-3..3,y=-3..3, style=="shade", var1Steps == 30, var2Steps == 30)} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPagePatch14} +\begin{paste}{ugGraphThreeDOptionsPageFull14}{ugGraphThreeDOptionsPageEmpty14} +\pastebutton{ugGraphThreeDOptionsPageFull14}{\hidepaste} +\tab{5}\spadcommand{s := create3Space()$(ThreeSpace DFLOAT)\bound{s }} +\indentrel{3}\begin{verbatim} + (14) 3-Space with 0 components + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPageEmpty14} +\begin{paste}{ugGraphThreeDOptionsPageEmpty14}{ugGraphThreeDOptionsPagePatch14} +\pastebutton{ugGraphThreeDOptionsPageEmpty14}{\showpaste} +\tab{5}\spadcommand{s := create3Space()$(ThreeSpace DFLOAT)\bound{s }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPagePatch15} +\begin{paste}{ugGraphThreeDOptionsPageFull15}{ugGraphThreeDOptionsPageEmpty15} +\pastebutton{ugGraphThreeDOptionsPageFull15}{\hidepaste} +\tab{5}\spadcommand{m(u:DFLOAT,v:DFLOAT):DFLOAT == 1\bound{m }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPageEmpty15} +\begin{paste}{ugGraphThreeDOptionsPageEmpty15}{ugGraphThreeDOptionsPagePatch15} +\pastebutton{ugGraphThreeDOptionsPageEmpty15}{\showpaste} +\tab{5}\spadcommand{m(u:DFLOAT,v:DFLOAT):DFLOAT == 1\bound{m }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPagePatch16} +\begin{paste}{ugGraphThreeDOptionsPageFull16}{ugGraphThreeDOptionsPageEmpty16} +\pastebutton{ugGraphThreeDOptionsPageFull16}{\hidepaste} +\tab{5}\spadgraph{draw(m,0..\%pi,0..2*\%pi, coordinates == spherical, space == s)\free{s m }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedoptionspage16.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedoptionspage16}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPageEmpty16} +\begin{paste}{ugGraphThreeDOptionsPageEmpty16}{ugGraphThreeDOptionsPagePatch16} +\pastebutton{ugGraphThreeDOptionsPageEmpty16}{\showpaste} +\tab{5}\spadgraph{draw(m,0..\%pi,0..2*\%pi, coordinates == spherical, space == s)\free{s m }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPagePatch17} +\begin{paste}{ugGraphThreeDOptionsPageFull17}{ugGraphThreeDOptionsPageEmpty17} +\pastebutton{ugGraphThreeDOptionsPageFull17}{\hidepaste} +\tab{5}\spadgraph{v := draw(curve(1.5*sin(t), 1.5*cos(t),0), t=0..2*\%pi, tubeRadius == .25, space == s)\free{s }\bound{v }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedoptionspage17.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedoptionspage17}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPageEmpty17} +\begin{paste}{ugGraphThreeDOptionsPageEmpty17}{ugGraphThreeDOptionsPagePatch17} +\pastebutton{ugGraphThreeDOptionsPageEmpty17}{\showpaste} +\tab{5}\spadgraph{v := draw(curve(1.5*sin(t), 1.5*cos(t),0), t=0..2*\%pi, tubeRadius == .25, space == s)\free{s }\bound{v }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPagePatch18} +\begin{paste}{ugGraphThreeDOptionsPageFull18}{ugGraphThreeDOptionsPageEmpty18} +\pastebutton{ugGraphThreeDOptionsPageFull18}{\hidepaste} +\tab{5}\spadcommand{subsp := subspace v\free{v }\bound{su }} +\indentrel{3}\begin{verbatim} + (18) 3-Space with 2 components + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPageEmpty18} +\begin{paste}{ugGraphThreeDOptionsPageEmpty18}{ugGraphThreeDOptionsPagePatch18} +\pastebutton{ugGraphThreeDOptionsPageEmpty18}{\showpaste} +\tab{5}\spadcommand{subsp := subspace v\free{v }\bound{su }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPagePatch19} +\begin{paste}{ugGraphThreeDOptionsPageFull19}{ugGraphThreeDOptionsPageEmpty19} +\pastebutton{ugGraphThreeDOptionsPageFull19}{\hidepaste} +\tab{5}\spadcommand{subspace(v, subsp)\bound{sp }\free{su }} +\indentrel{3}\begin{verbatim} + (19) + Closed or Undefined ThreeDimensionalViewport: "AXIOM3D" + Type: ThreeDimensionalViewport +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPageEmpty19} +\begin{paste}{ugGraphThreeDOptionsPageEmpty19}{ugGraphThreeDOptionsPagePatch19} +\pastebutton{ugGraphThreeDOptionsPageEmpty19}{\showpaste} +\tab{5}\spadcommand{subspace(v, subsp)\bound{sp }\free{su }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPagePatch20} +\begin{paste}{ugGraphThreeDOptionsPageFull20}{ugGraphThreeDOptionsPageEmpty20} +\pastebutton{ugGraphThreeDOptionsPageFull20}{\hidepaste} +\tab{5}\spadgraph{makeViewport3D(subsp,"Graphs")\free{sp }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedoptionspage20.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedoptionspage20}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDOptionsPageEmpty20} +\begin{paste}{ugGraphThreeDOptionsPageEmpty20}{ugGraphThreeDOptionsPagePatch20} +\pastebutton{ugGraphThreeDOptionsPageEmpty20}{\showpaste} +\tab{5}\spadgraph{makeViewport3D(subsp,"Graphs")\free{sp }} +\end{paste}\end{patch} + @ \pagehead{ugGraphMakeObjectPage}{ug07.ht}{The makeObject Command} <>= @@ -35415,6 +92400,66 @@ previously generated before including it in a command line. \autobuttons \end{page} +\begin{patch}{ugGraphMakeObjectPagePatch1} +\begin{paste}{ugGraphMakeObjectPageFull1}{ugGraphMakeObjectPageEmpty1} +\pastebutton{ugGraphMakeObjectPageFull1}{\hidepaste} +\tab{5}\spadcommand{m(u:DFLOAT,v:DFLOAT):DFLOAT == 1\bound{m }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphMakeObjectPageEmpty1} +\begin{paste}{ugGraphMakeObjectPageEmpty1}{ugGraphMakeObjectPagePatch1} +\pastebutton{ugGraphMakeObjectPageEmpty1}{\showpaste} +\tab{5}\spadcommand{m(u:DFLOAT,v:DFLOAT):DFLOAT == 1\bound{m }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphMakeObjectPagePatch2} +\begin{paste}{ugGraphMakeObjectPageFull2}{ugGraphMakeObjectPageEmpty2} +\pastebutton{ugGraphMakeObjectPageFull2}{\hidepaste} +\tab{5}\spadcommand{sph := makeObject(m, 0..\%pi, 0..2*\%pi, coordinates==spherical)\bound{sph }\free{m }} +\indentrel{3}\begin{verbatim} + (2) 3-Space with 1 component + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphMakeObjectPageEmpty2} +\begin{paste}{ugGraphMakeObjectPageEmpty2}{ugGraphMakeObjectPagePatch2} +\pastebutton{ugGraphMakeObjectPageEmpty2}{\showpaste} +\tab{5}\spadcommand{sph := makeObject(m, 0..\%pi, 0..2*\%pi, coordinates==spherical)\bound{sph }\free{m }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphMakeObjectPagePatch3} +\begin{paste}{ugGraphMakeObjectPageFull3}{ugGraphMakeObjectPageEmpty3} +\pastebutton{ugGraphMakeObjectPageFull3}{\hidepaste} +\tab{5}\spadcommand{makeObject(curve(1.5*sin(t), 1.5*cos(t), 0), t=0..2*\%pi, space == sph, tubeRadius == .25)\free{sph }\bound{v1 }} +\indentrel{3}\begin{verbatim} + (3) 3-Space with 2 components + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphMakeObjectPageEmpty3} +\begin{paste}{ugGraphMakeObjectPageEmpty3}{ugGraphMakeObjectPagePatch3} +\pastebutton{ugGraphMakeObjectPageEmpty3}{\showpaste} +\tab{5}\spadcommand{makeObject(curve(1.5*sin(t), 1.5*cos(t), 0), t=0..2*\%pi, space == sph, tubeRadius == .25)\free{sph }\bound{v1 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphMakeObjectPagePatch4} +\begin{paste}{ugGraphMakeObjectPageFull4}{ugGraphMakeObjectPageEmpty4} +\pastebutton{ugGraphMakeObjectPageFull4}{\hidepaste} +\tab{5}\spadgraph{makeViewport3D(sph,"Multiple Objects")\free{v1 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphmakeobjectpage4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphmakeobjectpage4}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphMakeObjectPageEmpty4} +\begin{paste}{ugGraphMakeObjectPageEmpty4}{ugGraphMakeObjectPagePatch4} +\pastebutton{ugGraphMakeObjectPageEmpty4}{\showpaste} +\tab{5}\spadgraph{makeViewport3D(sph,"Multiple Objects")\free{v1 }} +\end{paste}\end{patch} + @ \pagehead{ugGraphThreeDBuildPage}{ug07.ht} {Building 3D Objects From Primitives} @@ -35608,6 +92653,448 @@ Create and display the viewport. \autobuttons \end{page} +\begin{patch}{ugGraphThreeDBuildPagePatch1} +\begin{paste}{ugGraphThreeDBuildPageFull1}{ugGraphThreeDBuildPageEmpty1} +\pastebutton{ugGraphThreeDBuildPageFull1}{\hidepaste} +\tab{5}\spadcommand{space := create3Space()$(ThreeSpace DFLOAT)\bound{space }} +\indentrel{3}\begin{verbatim} + (1) 3-Space with 0 components + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty1} +\begin{paste}{ugGraphThreeDBuildPageEmpty1}{ugGraphThreeDBuildPagePatch1} +\pastebutton{ugGraphThreeDBuildPageEmpty1}{\showpaste} +\tab{5}\spadcommand{space := create3Space()$(ThreeSpace DFLOAT)\bound{space }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch2} +\begin{paste}{ugGraphThreeDBuildPageFull2}{ugGraphThreeDBuildPageEmpty2} +\pastebutton{ugGraphThreeDBuildPageFull2}{\hidepaste} +\tab{5}\spadcommand{closedCurve(space,[[0,30,20], [0,30,30], [0,40,30], [0,40,100], [0,30,100],[0,30,110], [0,60,110], [0,60,100], [0,50,100], [0,50,30], [0,60,30], [0,60,20]])\bound{curve1 }\free{space }} +\indentrel{3}\begin{verbatim} + (2) 3-Space with 1 component + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty2} +\begin{paste}{ugGraphThreeDBuildPageEmpty2}{ugGraphThreeDBuildPagePatch2} +\pastebutton{ugGraphThreeDBuildPageEmpty2}{\showpaste} +\tab{5}\spadcommand{closedCurve(space,[[0,30,20], [0,30,30], [0,40,30], [0,40,100], [0,30,100],[0,30,110], [0,60,110], [0,60,100], [0,50,100], [0,50,30], [0,60,30], [0,60,20]])\bound{curve1 }\free{space }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch3} +\begin{paste}{ugGraphThreeDBuildPageFull3}{ugGraphThreeDBuildPageEmpty3} +\pastebutton{ugGraphThreeDBuildPageFull3}{\hidepaste} +\tab{5}\spadcommand{closedCurve(space,[[80,0,30], [80,0,100], [70,0,110], [40,0,110], [30,0,100], [30,0,90], [40,0,90], [40,0,95], [45,0,100], [65,0,100], [70,0,95], [70,0,35]])\bound{curve2 }\free{space }} +\indentrel{3}\begin{verbatim} + (3) 3-Space with 2 components + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty3} +\begin{paste}{ugGraphThreeDBuildPageEmpty3}{ugGraphThreeDBuildPagePatch3} +\pastebutton{ugGraphThreeDBuildPageEmpty3}{\showpaste} +\tab{5}\spadcommand{closedCurve(space,[[80,0,30], [80,0,100], [70,0,110], [40,0,110], [30,0,100], [30,0,90], [40,0,90], [40,0,95], [45,0,100], [65,0,100], [70,0,95], [70,0,35]])\bound{curve2 }\free{space }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch4} +\begin{paste}{ugGraphThreeDBuildPageFull4}{ugGraphThreeDBuildPageEmpty4} +\pastebutton{ugGraphThreeDBuildPageFull4}{\hidepaste} +\tab{5}\spadcommand{closedCurve(space,[[70,0,35], [65,0,30], [45,0,30], [40,0,35], [40,0,60], [50,0,60], [50,0,70], [30,0,70], [30,0,30], [40,0,20], [70,0,20], [80,0,30]])\bound{curve3 }\free{space }} +\indentrel{3}\begin{verbatim} + (4) 3-Space with 3 components + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty4} +\begin{paste}{ugGraphThreeDBuildPageEmpty4}{ugGraphThreeDBuildPagePatch4} +\pastebutton{ugGraphThreeDBuildPageEmpty4}{\showpaste} +\tab{5}\spadcommand{closedCurve(space,[[70,0,35], [65,0,30], [45,0,30], [40,0,35], [40,0,60], [50,0,60], [50,0,70], [30,0,70], [30,0,30], [40,0,20], [70,0,20], [80,0,30]])\bound{curve3 }\free{space }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch5} +\begin{paste}{ugGraphThreeDBuildPageFull5}{ugGraphThreeDBuildPageEmpty5} +\pastebutton{ugGraphThreeDBuildPageFull5}{\hidepaste} +\tab{5}\spadcommand{closedCurve(space,[[0,70,20], [0,70,110], [0,110,110], [0,120,100], [0,120,70], [0,115,65], [0,120,60], [0,120,30], [0,110,20], [0,80,20], [0,80,30], [0,80,20]])\bound{curve4 }\free{space }} +\indentrel{3}\begin{verbatim} + (5) 3-Space with 4 components + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty5} +\begin{paste}{ugGraphThreeDBuildPageEmpty5}{ugGraphThreeDBuildPagePatch5} +\pastebutton{ugGraphThreeDBuildPageEmpty5}{\showpaste} +\tab{5}\spadcommand{closedCurve(space,[[0,70,20], [0,70,110], [0,110,110], [0,120,100], [0,120,70], [0,115,65], [0,120,60], [0,120,30], [0,110,20], [0,80,20], [0,80,30], [0,80,20]])\bound{curve4 }\free{space }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch6} +\begin{paste}{ugGraphThreeDBuildPageFull6}{ugGraphThreeDBuildPageEmpty6} +\pastebutton{ugGraphThreeDBuildPageFull6}{\hidepaste} +\tab{5}\spadcommand{closedCurve(space,[[0,105,30], [0,110,35], [0,110,55], [0,105,60], [0,80,60], [0,80,70], [0,105,70], [0,110,75], [0,110,95], [0,105,100], [0,80,100], [0,80,20], [0,80,30]])\bound{curve5 }\free{space }} +\indentrel{3}\begin{verbatim} + (6) 3-Space with 5 components + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty6} +\begin{paste}{ugGraphThreeDBuildPageEmpty6}{ugGraphThreeDBuildPagePatch6} +\pastebutton{ugGraphThreeDBuildPageEmpty6}{\showpaste} +\tab{5}\spadcommand{closedCurve(space,[[0,105,30], [0,110,35], [0,110,55], [0,105,60], [0,80,60], [0,80,70], [0,105,70], [0,110,75], [0,110,95], [0,105,100], [0,80,100], [0,80,20], [0,80,30]])\bound{curve5 }\free{space }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch7} +\begin{paste}{ugGraphThreeDBuildPageFull7}{ugGraphThreeDBuildPageEmpty7} +\pastebutton{ugGraphThreeDBuildPageFull7}{\hidepaste} +\tab{5}\spadcommand{closedCurve(space,[[140,0,20], [140,0,110], [130,0,110], [90,0,20], [101,0,20],[114,0,50], [130,0,50], [130,0,60], [119,0,60], [130,0,85], [130,0,20]])\bound{curve6 }\free{space }} +\indentrel{3}\begin{verbatim} + (7) 3-Space with 6 components + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty7} +\begin{paste}{ugGraphThreeDBuildPageEmpty7}{ugGraphThreeDBuildPagePatch7} +\pastebutton{ugGraphThreeDBuildPageEmpty7}{\showpaste} +\tab{5}\spadcommand{closedCurve(space,[[140,0,20], [140,0,110], [130,0,110], [90,0,20], [101,0,20],[114,0,50], [130,0,50], [130,0,60], [119,0,60], [130,0,85], [130,0,20]])\bound{curve6 }\free{space }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch8} +\begin{paste}{ugGraphThreeDBuildPageFull8}{ugGraphThreeDBuildPageEmpty8} +\pastebutton{ugGraphThreeDBuildPageFull8}{\hidepaste} +\tab{5}\spadcommand{closedCurve(space,[[0,140,20], [0,140,110], [0,150,110], [0,170,50], [0,190,110], [0,200,110], [0,200,20], [0,190,20], [0,190,75], [0,175,35], [0,165,35],[0,150,75], [0,150,20]])\bound{curve7 }\free{space }} +\indentrel{3}\begin{verbatim} + (8) 3-Space with 7 components + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty8} +\begin{paste}{ugGraphThreeDBuildPageEmpty8}{ugGraphThreeDBuildPagePatch8} +\pastebutton{ugGraphThreeDBuildPageEmpty8}{\showpaste} +\tab{5}\spadcommand{closedCurve(space,[[0,140,20], [0,140,110], [0,150,110], [0,170,50], [0,190,110], [0,200,110], [0,200,20], [0,190,20], [0,190,75], [0,175,35], [0,165,35],[0,150,75], [0,150,20]])\bound{curve7 }\free{space }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch9} +\begin{paste}{ugGraphThreeDBuildPageFull9}{ugGraphThreeDBuildPageEmpty9} +\pastebutton{ugGraphThreeDBuildPageFull9}{\hidepaste} +\tab{5}\spadcommand{closedCurve(space,[[200,0,20], [200,0,110], [189,0,110], [160,0,45], [160,0,110], [150,0,110], [150,0,20], [161,0,20], [190,0,85], [190,0,20]])\bound{curve8 }\free{space }} +\indentrel{3}\begin{verbatim} + (9) 3-Space with 8 components + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty9} +\begin{paste}{ugGraphThreeDBuildPageEmpty9}{ugGraphThreeDBuildPagePatch9} +\pastebutton{ugGraphThreeDBuildPageEmpty9}{\showpaste} +\tab{5}\spadcommand{closedCurve(space,[[200,0,20], [200,0,110], [189,0,110], [160,0,45], [160,0,110], [150,0,110], [150,0,20], [161,0,20], [190,0,85], [190,0,20]])\bound{curve8 }\free{space }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch10} +\begin{paste}{ugGraphThreeDBuildPageFull10}{ugGraphThreeDBuildPageEmpty10} +\pastebutton{ugGraphThreeDBuildPageFull10}{\hidepaste} +\tab{5}\spadgraph{makeViewport3D(space, title == "Letters")\free{space curve1 curve2 curve3 curve4 curve5 curve6 curve7 curve8 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedbuildpage10.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedbuildpage10}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty10} +\begin{paste}{ugGraphThreeDBuildPageEmpty10}{ugGraphThreeDBuildPagePatch10} +\pastebutton{ugGraphThreeDBuildPageEmpty10}{\showpaste} +\tab{5}\spadgraph{makeViewport3D(space, title == "Letters")\free{space curve1 curve2 curve3 curve4 curve5 curve6 curve7 curve8 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch11} +\begin{paste}{ugGraphThreeDBuildPageFull11}{ugGraphThreeDBuildPageEmpty11} +\pastebutton{ugGraphThreeDBuildPageFull11}{\hidepaste} +\tab{5}\spadcommand{spaceC := create3Space()$(ThreeSpace DFLOAT)\bound{spaceC }} +\indentrel{3}\begin{verbatim} + (11) 3-Space with 0 components + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty11} +\begin{paste}{ugGraphThreeDBuildPageEmpty11}{ugGraphThreeDBuildPagePatch11} +\pastebutton{ugGraphThreeDBuildPageEmpty11}{\showpaste} +\tab{5}\spadcommand{spaceC := create3Space()$(ThreeSpace DFLOAT)\bound{spaceC }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch12} +\begin{paste}{ugGraphThreeDBuildPageFull12}{ugGraphThreeDBuildPageEmpty12} +\pastebutton{ugGraphThreeDBuildPageFull12}{\hidepaste} +\tab{5}\spadcommand{x: DFLOAT := 1\bound{x }} +\indentrel{3}\begin{verbatim} + (12) 1.0 + Type: DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty12} +\begin{paste}{ugGraphThreeDBuildPageEmpty12}{ugGraphThreeDBuildPagePatch12} +\pastebutton{ugGraphThreeDBuildPageEmpty12}{\showpaste} +\tab{5}\spadcommand{x: DFLOAT := 1\bound{x }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch13} +\begin{paste}{ugGraphThreeDBuildPageFull13}{ugGraphThreeDBuildPageEmpty13} +\pastebutton{ugGraphThreeDBuildPageFull13}{\hidepaste} +\tab{5}\spadcommand{y: DFLOAT := -1\bound{y }} +\indentrel{3}\begin{verbatim} + (13) - 1.0 + Type: DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty13} +\begin{paste}{ugGraphThreeDBuildPageEmpty13}{ugGraphThreeDBuildPagePatch13} +\pastebutton{ugGraphThreeDBuildPageEmpty13}{\showpaste} +\tab{5}\spadcommand{y: DFLOAT := -1\bound{y }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch14} +\begin{paste}{ugGraphThreeDBuildPageFull14}{ugGraphThreeDBuildPageEmpty14} +\pastebutton{ugGraphThreeDBuildPageFull14}{\hidepaste} +\tab{5}\spadcommand{a := point [x,x,y,1::DFLOAT]$(Point DFLOAT)\bound{a }\free{x y }} +\indentrel{3}\begin{verbatim} + (14) [1.0,1.0,- 1.0,1.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty14} +\begin{paste}{ugGraphThreeDBuildPageEmpty14}{ugGraphThreeDBuildPagePatch14} +\pastebutton{ugGraphThreeDBuildPageEmpty14}{\showpaste} +\tab{5}\spadcommand{a := point [x,x,y,1::DFLOAT]$(Point DFLOAT)\bound{a }\free{x y }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch15} +\begin{paste}{ugGraphThreeDBuildPageFull15}{ugGraphThreeDBuildPageEmpty15} +\pastebutton{ugGraphThreeDBuildPageFull15}{\hidepaste} +\tab{5}\spadcommand{b := point [y,x,y,4::DFLOAT]$(Point DFLOAT)\bound{b }\free{x y }} +\indentrel{3}\begin{verbatim} + (15) [- 1.0,1.0,- 1.0,4.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty15} +\begin{paste}{ugGraphThreeDBuildPageEmpty15}{ugGraphThreeDBuildPagePatch15} +\pastebutton{ugGraphThreeDBuildPageEmpty15}{\showpaste} +\tab{5}\spadcommand{b := point [y,x,y,4::DFLOAT]$(Point DFLOAT)\bound{b }\free{x y }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch16} +\begin{paste}{ugGraphThreeDBuildPageFull16}{ugGraphThreeDBuildPageEmpty16} +\pastebutton{ugGraphThreeDBuildPageFull16}{\hidepaste} +\tab{5}\spadcommand{c := point [y,x,x,8::DFLOAT]$(Point DFLOAT)\bound{c }\free{x y }} +\indentrel{3}\begin{verbatim} + (16) [- 1.0,1.0,1.0,8.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty16} +\begin{paste}{ugGraphThreeDBuildPageEmpty16}{ugGraphThreeDBuildPagePatch16} +\pastebutton{ugGraphThreeDBuildPageEmpty16}{\showpaste} +\tab{5}\spadcommand{c := point [y,x,x,8::DFLOAT]$(Point DFLOAT)\bound{c }\free{x y }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch17} +\begin{paste}{ugGraphThreeDBuildPageFull17}{ugGraphThreeDBuildPageEmpty17} +\pastebutton{ugGraphThreeDBuildPageFull17}{\hidepaste} +\tab{5}\spadcommand{d := point [x,x,x,12::DFLOAT]$(Point DFLOAT)\bound{d }\free{x y }} +\indentrel{3}\begin{verbatim} + (17) [1.0,1.0,1.0,12.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty17} +\begin{paste}{ugGraphThreeDBuildPageEmpty17}{ugGraphThreeDBuildPagePatch17} +\pastebutton{ugGraphThreeDBuildPageEmpty17}{\showpaste} +\tab{5}\spadcommand{d := point [x,x,x,12::DFLOAT]$(Point DFLOAT)\bound{d }\free{x y }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch18} +\begin{paste}{ugGraphThreeDBuildPageFull18}{ugGraphThreeDBuildPageEmpty18} +\pastebutton{ugGraphThreeDBuildPageFull18}{\hidepaste} +\tab{5}\spadcommand{e := point [x,y,y,16::DFLOAT]$(Point DFLOAT)\bound{e }\free{x y }} +\indentrel{3}\begin{verbatim} + (18) [1.0,- 1.0,- 1.0,16.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty18} +\begin{paste}{ugGraphThreeDBuildPageEmpty18}{ugGraphThreeDBuildPagePatch18} +\pastebutton{ugGraphThreeDBuildPageEmpty18}{\showpaste} +\tab{5}\spadcommand{e := point [x,y,y,16::DFLOAT]$(Point DFLOAT)\bound{e }\free{x y }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch19} +\begin{paste}{ugGraphThreeDBuildPageFull19}{ugGraphThreeDBuildPageEmpty19} +\pastebutton{ugGraphThreeDBuildPageFull19}{\hidepaste} +\tab{5}\spadcommand{f := point [y,y,y,20::DFLOAT]$(Point DFLOAT)\bound{f }\free{x y }} +\indentrel{3}\begin{verbatim} + (19) [- 1.0,- 1.0,- 1.0,20.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty19} +\begin{paste}{ugGraphThreeDBuildPageEmpty19}{ugGraphThreeDBuildPagePatch19} +\pastebutton{ugGraphThreeDBuildPageEmpty19}{\showpaste} +\tab{5}\spadcommand{f := point [y,y,y,20::DFLOAT]$(Point DFLOAT)\bound{f }\free{x y }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch20} +\begin{paste}{ugGraphThreeDBuildPageFull20}{ugGraphThreeDBuildPageEmpty20} +\pastebutton{ugGraphThreeDBuildPageFull20}{\hidepaste} +\tab{5}\spadcommand{g := point [y,y,x,24::DFLOAT]$(Point DFLOAT)\bound{g }\free{x y }} +\indentrel{3}\begin{verbatim} + (20) [- 1.0,- 1.0,1.0,24.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty20} +\begin{paste}{ugGraphThreeDBuildPageEmpty20}{ugGraphThreeDBuildPagePatch20} +\pastebutton{ugGraphThreeDBuildPageEmpty20}{\showpaste} +\tab{5}\spadcommand{g := point [y,y,x,24::DFLOAT]$(Point DFLOAT)\bound{g }\free{x y }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch21} +\begin{paste}{ugGraphThreeDBuildPageFull21}{ugGraphThreeDBuildPageEmpty21} +\pastebutton{ugGraphThreeDBuildPageFull21}{\hidepaste} +\tab{5}\spadcommand{h := point [x,y,x,27::DFLOAT]$(Point DFLOAT)\bound{h }\free{x y }} +\indentrel{3}\begin{verbatim} + (21) [1.0,- 1.0,1.0,27.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty21} +\begin{paste}{ugGraphThreeDBuildPageEmpty21}{ugGraphThreeDBuildPagePatch21} +\pastebutton{ugGraphThreeDBuildPageEmpty21}{\showpaste} +\tab{5}\spadcommand{h := point [x,y,x,27::DFLOAT]$(Point DFLOAT)\bound{h }\free{x y }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch22} +\begin{paste}{ugGraphThreeDBuildPageFull22}{ugGraphThreeDBuildPageEmpty22} +\pastebutton{ugGraphThreeDBuildPageFull22}{\hidepaste} +\tab{5}\spadcommand{polygon(spaceC,[d,c,g,h])\free{d c g h spaceC }\bound{pol1 }} +\indentrel{3}\begin{verbatim} + (22) 3-Space with 1 component + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty22} +\begin{paste}{ugGraphThreeDBuildPageEmpty22}{ugGraphThreeDBuildPagePatch22} +\pastebutton{ugGraphThreeDBuildPageEmpty22}{\showpaste} +\tab{5}\spadcommand{polygon(spaceC,[d,c,g,h])\free{d c g h spaceC }\bound{pol1 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch23} +\begin{paste}{ugGraphThreeDBuildPageFull23}{ugGraphThreeDBuildPageEmpty23} +\pastebutton{ugGraphThreeDBuildPageFull23}{\hidepaste} +\tab{5}\spadcommand{polygon(spaceC,[d,h,e,a])\free{d h e a spaceC }\bound{pol2 }} +\indentrel{3}\begin{verbatim} + (23) 3-Space with 2 components + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty23} +\begin{paste}{ugGraphThreeDBuildPageEmpty23}{ugGraphThreeDBuildPagePatch23} +\pastebutton{ugGraphThreeDBuildPageEmpty23}{\showpaste} +\tab{5}\spadcommand{polygon(spaceC,[d,h,e,a])\free{d h e a spaceC }\bound{pol2 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch24} +\begin{paste}{ugGraphThreeDBuildPageFull24}{ugGraphThreeDBuildPageEmpty24} +\pastebutton{ugGraphThreeDBuildPageFull24}{\hidepaste} +\tab{5}\spadcommand{polygon(spaceC,[c,d,a,b])\free{c d a b spaceC }\bound{pol3 }} +\indentrel{3}\begin{verbatim} + (24) 3-Space with 3 components + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty24} +\begin{paste}{ugGraphThreeDBuildPageEmpty24}{ugGraphThreeDBuildPagePatch24} +\pastebutton{ugGraphThreeDBuildPageEmpty24}{\showpaste} +\tab{5}\spadcommand{polygon(spaceC,[c,d,a,b])\free{c d a b spaceC }\bound{pol3 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch25} +\begin{paste}{ugGraphThreeDBuildPageFull25}{ugGraphThreeDBuildPageEmpty25} +\pastebutton{ugGraphThreeDBuildPageFull25}{\hidepaste} +\tab{5}\spadcommand{polygon(spaceC,[g,c,b,f])\free{g c b f spaceC }\bound{pol4 }} +\indentrel{3}\begin{verbatim} + (25) 3-Space with 4 components + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty25} +\begin{paste}{ugGraphThreeDBuildPageEmpty25}{ugGraphThreeDBuildPagePatch25} +\pastebutton{ugGraphThreeDBuildPageEmpty25}{\showpaste} +\tab{5}\spadcommand{polygon(spaceC,[g,c,b,f])\free{g c b f spaceC }\bound{pol4 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch26} +\begin{paste}{ugGraphThreeDBuildPageFull26}{ugGraphThreeDBuildPageEmpty26} +\pastebutton{ugGraphThreeDBuildPageFull26}{\hidepaste} +\tab{5}\spadcommand{polygon(spaceC,[h,g,f,e])\free{h g f e spaceC }\bound{pol5 }} +\indentrel{3}\begin{verbatim} + (26) 3-Space with 5 components + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty26} +\begin{paste}{ugGraphThreeDBuildPageEmpty26}{ugGraphThreeDBuildPagePatch26} +\pastebutton{ugGraphThreeDBuildPageEmpty26}{\showpaste} +\tab{5}\spadcommand{polygon(spaceC,[h,g,f,e])\free{h g f e spaceC }\bound{pol5 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch27} +\begin{paste}{ugGraphThreeDBuildPageFull27}{ugGraphThreeDBuildPageEmpty27} +\pastebutton{ugGraphThreeDBuildPageFull27}{\hidepaste} +\tab{5}\spadcommand{polygon(spaceC,[e,f,b,a])\free{e f b a spaceC }\bound{pol6 }} +\indentrel{3}\begin{verbatim} + (27) 3-Space with 6 components + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty27} +\begin{paste}{ugGraphThreeDBuildPageEmpty27}{ugGraphThreeDBuildPagePatch27} +\pastebutton{ugGraphThreeDBuildPageEmpty27}{\showpaste} +\tab{5}\spadcommand{polygon(spaceC,[e,f,b,a])\free{e f b a spaceC }\bound{pol6 }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPagePatch28} +\begin{paste}{ugGraphThreeDBuildPageFull28}{ugGraphThreeDBuildPageEmpty28} +\pastebutton{ugGraphThreeDBuildPageFull28}{\hidepaste} +\tab{5}\spadgraph{makeViewport3D(spaceC, title == "Cube")\free{pol1 pol2 pol3 pol4 pol5 pol6 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedbuildpage28.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedbuildpage28}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphThreeDBuildPageEmpty28} +\begin{paste}{ugGraphThreeDBuildPageEmpty28}{ugGraphThreeDBuildPagePatch28} +\pastebutton{ugGraphThreeDBuildPageEmpty28}{\showpaste} +\tab{5}\spadgraph{makeViewport3D(spaceC, title == "Cube")\free{pol1 pol2 pol3 pol4 pol5 pol6 }} +\end{paste}\end{patch} + @ \pagehead{ugGraphCoordPage}{ug07.ht}{Coordinate System Transformations} <>= @@ -35773,6 +93260,198 @@ to get more information. \autobuttons \end{page} +\begin{patch}{ugGraphCoordPagePatch1} +\begin{paste}{ugGraphCoordPageFull1}{ugGraphCoordPageEmpty1} +\pastebutton{ugGraphCoordPageFull1}{\hidepaste} +\tab{5}\spadcommand{m(u:DFLOAT,v:DFLOAT):DFLOAT == u**2\bound{m }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphCoordPageEmpty1} +\begin{paste}{ugGraphCoordPageEmpty1}{ugGraphCoordPagePatch1} +\pastebutton{ugGraphCoordPageEmpty1}{\showpaste} +\tab{5}\spadcommand{m(u:DFLOAT,v:DFLOAT):DFLOAT == u**2\bound{m }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphCoordPagePatch2} +\begin{paste}{ugGraphCoordPageFull2}{ugGraphCoordPageEmpty2} +\pastebutton{ugGraphCoordPageFull2}{\hidepaste} +\tab{5}\spadgraph{draw(m,0..3,0..5)\free{m }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphcoordpage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphcoordpage2}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphCoordPageEmpty2} +\begin{paste}{ugGraphCoordPageEmpty2}{ugGraphCoordPagePatch2} +\pastebutton{ugGraphCoordPageEmpty2}{\showpaste} +\tab{5}\spadgraph{draw(m,0..3,0..5)\free{m }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphCoordPagePatch3} +\begin{paste}{ugGraphCoordPageFull3}{ugGraphCoordPageEmpty3} +\pastebutton{ugGraphCoordPageFull3}{\hidepaste} +\tab{5}\spadcommand{cartesian(point:Point DFLOAT):Point DFLOAT == point\bound{cart }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphCoordPageEmpty3} +\begin{paste}{ugGraphCoordPageEmpty3}{ugGraphCoordPagePatch3} +\pastebutton{ugGraphCoordPageEmpty3}{\showpaste} +\tab{5}\spadcommand{cartesian(point:Point DFLOAT):Point DFLOAT == point\bound{cart }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphCoordPagePatch4} +\begin{paste}{ugGraphCoordPageFull4}{ugGraphCoordPageEmpty4} +\pastebutton{ugGraphCoordPageFull4}{\hidepaste} +\tab{5}\spadgraph{draw(m,0..3,0..5,coordinates==cartesian)\free{m cart }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphcoordpage4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphcoordpage4}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphCoordPageEmpty4} +\begin{paste}{ugGraphCoordPageEmpty4}{ugGraphCoordPagePatch4} +\pastebutton{ugGraphCoordPageEmpty4}{\showpaste} +\tab{5}\spadgraph{draw(m,0..3,0..5,coordinates==cartesian)\free{m cart }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphCoordPagePatch5} +\begin{paste}{ugGraphCoordPageFull5}{ugGraphCoordPageEmpty5} +\pastebutton{ugGraphCoordPageFull5}{\hidepaste} +\tab{5}\spadcommand{f(u:DFLOAT,v:DFLOAT):DFLOAT == 3\bound{f }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphCoordPageEmpty5} +\begin{paste}{ugGraphCoordPageEmpty5}{ugGraphCoordPagePatch5} +\pastebutton{ugGraphCoordPageEmpty5}{\showpaste} +\tab{5}\spadcommand{f(u:DFLOAT,v:DFLOAT):DFLOAT == 3\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphCoordPagePatch6} +\begin{paste}{ugGraphCoordPageFull6}{ugGraphCoordPageEmpty6} +\pastebutton{ugGraphCoordPageFull6}{\hidepaste} +\tab{5}\spadgraph{draw(f,0..\%pi,0..6,coordinates==cylindrical)\free{f }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphcoordpage6.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphcoordpage6}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphCoordPageEmpty6} +\begin{paste}{ugGraphCoordPageEmpty6}{ugGraphCoordPagePatch6} +\pastebutton{ugGraphCoordPageEmpty6}{\showpaste} +\tab{5}\spadgraph{draw(f,0..\%pi,0..6,coordinates==cylindrical)\free{f }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphCoordPagePatch7} +\begin{paste}{ugGraphCoordPageFull7}{ugGraphCoordPageEmpty7} +\pastebutton{ugGraphCoordPageFull7}{\hidepaste} +\tab{5}\spadcommand{col := 5\bound{c }} +\indentrel{3}\begin{verbatim} + (7) 5 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphCoordPageEmpty7} +\begin{paste}{ugGraphCoordPageEmpty7}{ugGraphCoordPagePatch7} +\pastebutton{ugGraphCoordPageEmpty7}{\showpaste} +\tab{5}\spadcommand{col := 5\bound{c }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphCoordPagePatch8} +\begin{paste}{ugGraphCoordPageFull8}{ugGraphCoordPageEmpty8} +\pastebutton{ugGraphCoordPageFull8}{\hidepaste} +\tab{5}\spadcommand{pt := point[1,2,3,col]$(Point DFLOAT)\free{c }\bound{pt }} +\indentrel{3}\begin{verbatim} + (8) [1.0,2.0,3.0,5.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphCoordPageEmpty8} +\begin{paste}{ugGraphCoordPageEmpty8}{ugGraphCoordPagePatch8} +\pastebutton{ugGraphCoordPageEmpty8}{\showpaste} +\tab{5}\spadcommand{pt := point[1,2,3,col]$(Point DFLOAT)\free{c }\bound{pt }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphCoordPagePatch9} +\begin{paste}{ugGraphCoordPageFull9}{ugGraphCoordPageEmpty9} +\pastebutton{ugGraphCoordPageFull9}{\hidepaste} +\tab{5}\spadcommand{reorder(p:Point DFLOAT):Point DFLOAT == point[p.2, p.3, p.1, p.4]\bound{freo }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphCoordPageEmpty9} +\begin{paste}{ugGraphCoordPageEmpty9}{ugGraphCoordPagePatch9} +\pastebutton{ugGraphCoordPageEmpty9}{\showpaste} +\tab{5}\spadcommand{reorder(p:Point DFLOAT):Point DFLOAT == point[p.2, p.3, p.1, p.4]\bound{freo }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphCoordPagePatch10} +\begin{paste}{ugGraphCoordPageFull10}{ugGraphCoordPageEmpty10} +\pastebutton{ugGraphCoordPageFull10}{\hidepaste} +\tab{5}\spadcommand{reorder pt\free{pt freo }} +\indentrel{3}\begin{verbatim} + (10) [2.0,3.0,1.0,5.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphCoordPageEmpty10} +\begin{paste}{ugGraphCoordPageEmpty10}{ugGraphCoordPagePatch10} +\pastebutton{ugGraphCoordPageEmpty10}{\showpaste} +\tab{5}\spadcommand{reorder pt\free{pt freo }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphCoordPagePatch11} +\begin{paste}{ugGraphCoordPageFull11}{ugGraphCoordPageEmpty11} +\pastebutton{ugGraphCoordPageFull11}{\hidepaste} +\tab{5}\spadcommand{newmap(pt:Point DFLOAT):Point DFLOAT == cylindrical(reorder pt)\free{freo }\bound{fnewmap }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphCoordPageEmpty11} +\begin{paste}{ugGraphCoordPageEmpty11}{ugGraphCoordPagePatch11} +\pastebutton{ugGraphCoordPageEmpty11}{\showpaste} +\tab{5}\spadcommand{newmap(pt:Point DFLOAT):Point DFLOAT == cylindrical(reorder pt)\free{freo }\bound{fnewmap }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphCoordPagePatch12} +\begin{paste}{ugGraphCoordPageFull12}{ugGraphCoordPageEmpty12} +\pastebutton{ugGraphCoordPageFull12}{\hidepaste} +\tab{5}\spadcommand{newmap pt\free{fnewmap pt }\bound{new }} +\indentrel{3}\begin{verbatim} + (12) + [- 1.9799849932008908,0.28224001611973443,1.0,5.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphCoordPageEmpty12} +\begin{paste}{ugGraphCoordPageEmpty12}{ugGraphCoordPagePatch12} +\pastebutton{ugGraphCoordPageEmpty12}{\showpaste} +\tab{5}\spadcommand{newmap pt\free{fnewmap pt }\bound{new }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphCoordPagePatch13} +\begin{paste}{ugGraphCoordPageFull13}{ugGraphCoordPageEmpty13} +\pastebutton{ugGraphCoordPageFull13}{\hidepaste} +\tab{5}\spadgraph{draw(f,0..3,0..2*\%pi,coordinates==newmap)\free{f new }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphcoordpage13.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphcoordpage13}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphCoordPageEmpty13} +\begin{paste}{ugGraphCoordPageEmpty13}{ugGraphCoordPagePatch13} +\pastebutton{ugGraphCoordPageEmpty13}{\showpaste} +\tab{5}\spadgraph{draw(f,0..3,0..2*\%pi,coordinates==newmap)\free{f new }} +\end{paste}\end{patch} + @ \pagehead{ugGraphClipPage}{ug07.ht}{Three-Dimensional Clipping} <>= @@ -35806,6 +93485,40 @@ draw(gamma,-\%pi..\%pi,-\%pi..\%pi,var1Steps==50,var2Steps==50) \free{g}} \autobuttons \end{page} +\begin{patch}{ugGraphClipPagePatch1} +\begin{paste}{ugGraphClipPageFull1}{ugGraphClipPageEmpty1} +\pastebutton{ugGraphClipPageFull1}{\hidepaste} +\tab{5}\spadcommand{gamma(x,y) == + g := Gamma complex(x,y) + point [x, y, max( min(real g, 4), -4), argument g] +\bound{g }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugGraphClipPageEmpty1} +\begin{paste}{ugGraphClipPageEmpty1}{ugGraphClipPagePatch1} +\pastebutton{ugGraphClipPageEmpty1}{\showpaste} +\tab{5}\spadcommand{gamma(x,y) == + g := Gamma complex(x,y) + point [x, y, max( min(real g, 4), -4), argument g] +\bound{g }} +\end{paste}\end{patch} + +\begin{patch}{ugGraphClipPagePatch2} +\begin{paste}{ugGraphClipPageFull2}{ugGraphClipPageEmpty2} +\pastebutton{ugGraphClipPageFull2}{\hidepaste} +\tab{5}\spadgraph{draw(gamma,-\%pi..\%pi,-\%pi..\%pi,var1Steps==50,var2Steps==50)\free{g }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphclippage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphclippage2}} +\end{paste}\end{patch} + +\begin{patch}{ugGraphClipPageEmpty2} +\begin{paste}{ugGraphClipPageEmpty2}{ugGraphClipPagePatch2} +\pastebutton{ugGraphClipPageEmpty2}{\showpaste} +\tab{5}\spadgraph{draw(gamma,-\%pi..\%pi,-\%pi..\%pi,var1Steps==50,var2Steps==50)\free{g }} +\end{paste}\end{patch} + @ \pagehead{ugGraphThreeDControlPage}{ug07.ht} {Three-Dimensional Control-Panel} @@ -37132,6 +94845,541 @@ title=="besselI(x+i*y,5)", style=="shade")} \autobuttons \end{page} +\begin{patch}{ugProblemNumericPagePatch1} +\begin{paste}{ugProblemNumericPageFull1}{ugProblemNumericPageEmpty1} +\pastebutton{ugProblemNumericPageFull1}{\hidepaste} +\tab{5}\spadcommand{exp(3.1)} +\indentrel{3}\begin{verbatim} + (1) 22.1979512814 41633405 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty1} +\begin{paste}{ugProblemNumericPageEmpty1}{ugProblemNumericPagePatch1} +\pastebutton{ugProblemNumericPageEmpty1}{\showpaste} +\tab{5}\spadcommand{exp(3.1)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch2} +\begin{paste}{ugProblemNumericPageFull2}{ugProblemNumericPageEmpty2} +\pastebutton{ugProblemNumericPageFull2}{\hidepaste} +\tab{5}\spadcommand{exp(3.1 + 4.5 * \%i)} +\indentrel{3}\begin{verbatim} + (2) + - 4.6792348860 969899118 - 21.6991659280 71731864 %i + Type: Complex Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty2} +\begin{paste}{ugProblemNumericPageEmpty2}{ugProblemNumericPagePatch2} +\pastebutton{ugProblemNumericPageEmpty2}{\showpaste} +\tab{5}\spadcommand{exp(3.1 + 4.5 * \%i)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch3} +\begin{paste}{ugProblemNumericPageFull3}{ugProblemNumericPageEmpty3} +\pastebutton{ugProblemNumericPageFull3}{\hidepaste} +\tab{5}\spadcommand{r: DFLOAT := 3.1; t: DFLOAT := 4.5; exp(r + t*\%i)} +\indentrel{3}\begin{verbatim} + (3) - 4.6792348860969906 - 21.699165928071732%i + Type: Complex DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty3} +\begin{paste}{ugProblemNumericPageEmpty3}{ugProblemNumericPagePatch3} +\pastebutton{ugProblemNumericPageEmpty3}{\showpaste} +\tab{5}\spadcommand{r: DFLOAT := 3.1; t: DFLOAT := 4.5; exp(r + t*\%i)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch4} +\begin{paste}{ugProblemNumericPageFull4}{ugProblemNumericPageEmpty4} +\pastebutton{ugProblemNumericPageFull4}{\hidepaste} +\tab{5}\spadcommand{exp(3.1::DFLOAT + 4.5::DFLOAT * \%i)} +\indentrel{3}\begin{verbatim} + (4) - 4.6792348860969906 - 21.699165928071732%i + Type: Complex DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty4} +\begin{paste}{ugProblemNumericPageEmpty4}{ugProblemNumericPagePatch4} +\pastebutton{ugProblemNumericPageEmpty4}{\showpaste} +\tab{5}\spadcommand{exp(3.1::DFLOAT + 4.5::DFLOAT * \%i)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch5} +\begin{paste}{ugProblemNumericPageFull5}{ugProblemNumericPageEmpty5} +\pastebutton{ugProblemNumericPageFull5}{\hidepaste} +\tab{5}\spadcommand{Gamma(0.5)**2} +\indentrel{3}\begin{verbatim} + (5) 3.14159265358979 + Type: DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty5} +\begin{paste}{ugProblemNumericPageEmpty5}{ugProblemNumericPagePatch5} +\pastebutton{ugProblemNumericPageEmpty5}{\showpaste} +\tab{5}\spadcommand{Gamma(0.5)**2} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch6} +\begin{paste}{ugProblemNumericPageFull6}{ugProblemNumericPageEmpty6} +\pastebutton{ugProblemNumericPageFull6}{\hidepaste} +\tab{5}\spadcommand{a := 2.1; b := 1.1; besselI(a + \%i*b, b*a + 1)} +\indentrel{3}\begin{verbatim} + (6) 2.489482417547372 - 2.3658460381468371%i + Type: Complex DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty6} +\begin{paste}{ugProblemNumericPageEmpty6}{ugProblemNumericPagePatch6} +\pastebutton{ugProblemNumericPageEmpty6}{\showpaste} +\tab{5}\spadcommand{a := 2.1; b := 1.1; besselI(a + \%i*b, b*a + 1)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch7} +\begin{paste}{ugProblemNumericPageFull7}{ugProblemNumericPageEmpty7} +\pastebutton{ugProblemNumericPageFull7}{\hidepaste} +\tab{5}\spadcommand{[chebyshevT(i, z) for i in 0..5]} +\indentrel{3}\begin{verbatim} + (7) + 2 3 4 2 5 3 + [1,z,2z - 1,4z - 3z,8z - 8z + 1,16z - 20z + 5z] + Type: List Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty7} +\begin{paste}{ugProblemNumericPageEmpty7}{ugProblemNumericPagePatch7} +\pastebutton{ugProblemNumericPageEmpty7}{\showpaste} +\tab{5}\spadcommand{[chebyshevT(i, z) for i in 0..5]} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch8} +\begin{paste}{ugProblemNumericPageFull8}{ugProblemNumericPageEmpty8} +\pastebutton{ugProblemNumericPageFull8}{\hidepaste} +\tab{5}\spadcommand{chebyshevT(3, 5.0 + 6.0*\%i)} +\indentrel{3}\begin{verbatim} + (8) - 1675.0 + 918.0 %i + Type: Complex Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty8} +\begin{paste}{ugProblemNumericPageEmpty8}{ugProblemNumericPagePatch8} +\pastebutton{ugProblemNumericPageEmpty8}{\showpaste} +\tab{5}\spadcommand{chebyshevT(3, 5.0 + 6.0*\%i)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch9} +\begin{paste}{ugProblemNumericPageFull9}{ugProblemNumericPageEmpty9} +\pastebutton{ugProblemNumericPageFull9}{\hidepaste} +\tab{5}\spadcommand{chebyshevT(3, 5.0::DoubleFloat)} +\indentrel{3}\begin{verbatim} + (9) 485.0 + Type: DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty9} +\begin{paste}{ugProblemNumericPageEmpty9}{ugProblemNumericPagePatch9} +\pastebutton{ugProblemNumericPageEmpty9}{\showpaste} +\tab{5}\spadcommand{chebyshevT(3, 5.0::DoubleFloat)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch10} +\begin{paste}{ugProblemNumericPageFull10}{ugProblemNumericPageEmpty10} +\pastebutton{ugProblemNumericPageFull10}{\hidepaste} +\tab{5}\spadcommand{[chebyshevU(i, z) for i in 0..5]} +\indentrel{3}\begin{verbatim} + (10) + 2 3 4 2 + [1, 2z, 4z - 1, 8z - 4z, 16z - 12z + 1, + 5 3 + 32z - 32z + 6z] + Type: List Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty10} +\begin{paste}{ugProblemNumericPageEmpty10}{ugProblemNumericPagePatch10} +\pastebutton{ugProblemNumericPageEmpty10}{\showpaste} +\tab{5}\spadcommand{[chebyshevU(i, z) for i in 0..5]} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch11} +\begin{paste}{ugProblemNumericPageFull11}{ugProblemNumericPageEmpty11} +\pastebutton{ugProblemNumericPageFull11}{\hidepaste} +\tab{5}\spadcommand{chebyshevU(3, 0.2)} +\indentrel{3}\begin{verbatim} + (11) - 0.736 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty11} +\begin{paste}{ugProblemNumericPageEmpty11}{ugProblemNumericPagePatch11} +\pastebutton{ugProblemNumericPageEmpty11}{\showpaste} +\tab{5}\spadcommand{chebyshevU(3, 0.2)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch12} +\begin{paste}{ugProblemNumericPageFull12}{ugProblemNumericPageEmpty12} +\pastebutton{ugProblemNumericPageFull12}{\hidepaste} +\tab{5}\spadcommand{[hermiteH(i, z) for i in 0..5]} +\indentrel{3}\begin{verbatim} + (12) + 2 3 4 2 + [1, 2z, 4z - 2, 8z - 12z, 16z - 48z + 12, + 5 3 + 32z - 160z + 120z] + Type: List Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty12} +\begin{paste}{ugProblemNumericPageEmpty12}{ugProblemNumericPagePatch12} +\pastebutton{ugProblemNumericPageEmpty12}{\showpaste} +\tab{5}\spadcommand{[hermiteH(i, z) for i in 0..5]} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch13} +\begin{paste}{ugProblemNumericPageFull13}{ugProblemNumericPageEmpty13} +\pastebutton{ugProblemNumericPageFull13}{\hidepaste} +\tab{5}\spadcommand{hermiteH(100, 1.0)} +\indentrel{3}\begin{verbatim} + (13) - 0.1448706729 337934088 E 93 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty13} +\begin{paste}{ugProblemNumericPageEmpty13}{ugProblemNumericPagePatch13} +\pastebutton{ugProblemNumericPageEmpty13}{\showpaste} +\tab{5}\spadcommand{hermiteH(100, 1.0)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch14} +\begin{paste}{ugProblemNumericPageFull14}{ugProblemNumericPageEmpty14} +\pastebutton{ugProblemNumericPageFull14}{\hidepaste} +\tab{5}\spadcommand{[laguerreL(i, z) for i in 0..4]} +\indentrel{3}\begin{verbatim} + (14) + 2 3 2 + [1, - z + 1, z - 4z + 2, - z + 9z - 18z + 6, + 4 3 2 + z - 16z + 72z - 96z + 24] + Type: List Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty14} +\begin{paste}{ugProblemNumericPageEmpty14}{ugProblemNumericPagePatch14} +\pastebutton{ugProblemNumericPageEmpty14}{\showpaste} +\tab{5}\spadcommand{[laguerreL(i, z) for i in 0..4]} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch15} +\begin{paste}{ugProblemNumericPageFull15}{ugProblemNumericPageEmpty15} +\pastebutton{ugProblemNumericPageFull15}{\hidepaste} +\tab{5}\spadcommand{laguerreL(4, 1.2)} +\indentrel{3}\begin{verbatim} + (15) - 13.0944 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty15} +\begin{paste}{ugProblemNumericPageEmpty15}{ugProblemNumericPagePatch15} +\pastebutton{ugProblemNumericPageEmpty15}{\showpaste} +\tab{5}\spadcommand{laguerreL(4, 1.2)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch16} +\begin{paste}{ugProblemNumericPageFull16}{ugProblemNumericPageEmpty16} +\pastebutton{ugProblemNumericPageFull16}{\hidepaste} +\tab{5}\spadcommand{[laguerreL(j, 3, z) for j in 0..4]} +\indentrel{3}\begin{verbatim} + (16) + 3 2 2 + [- z + 9z - 18z + 6,- 3z + 18z - 18,- 6z + 18,- 6,0] + Type: List Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty16} +\begin{paste}{ugProblemNumericPageEmpty16}{ugProblemNumericPagePatch16} +\pastebutton{ugProblemNumericPageEmpty16}{\showpaste} +\tab{5}\spadcommand{[laguerreL(j, 3, z) for j in 0..4]} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch17} +\begin{paste}{ugProblemNumericPageFull17}{ugProblemNumericPageEmpty17} +\pastebutton{ugProblemNumericPageFull17}{\hidepaste} +\tab{5}\spadcommand{laguerreL(1, 3, 2.1)} +\indentrel{3}\begin{verbatim} + (17) 6.57 + Type: Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty17} +\begin{paste}{ugProblemNumericPageEmpty17}{ugProblemNumericPagePatch17} +\pastebutton{ugProblemNumericPageEmpty17}{\showpaste} +\tab{5}\spadcommand{laguerreL(1, 3, 2.1)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch18} +\begin{paste}{ugProblemNumericPageFull18}{ugProblemNumericPageEmpty18} +\pastebutton{ugProblemNumericPageFull18}{\hidepaste} +\tab{5}\spadcommand{[legendreP(i,z) for i in 0..5]} +\indentrel{3}\begin{verbatim} + (18) + 3 2 1 5 3 3 35 4 15 2 3 + [1, z, Ä z - Ä, Ä z - Ä z, ÄÄ z - ÄÄ z + Ä, + 2 2 2 2 8 4 8 + 63 5 35 3 15 + ÄÄ z - ÄÄ z + ÄÄ z] + 8 4 8 + Type: List Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty18} +\begin{paste}{ugProblemNumericPageEmpty18}{ugProblemNumericPagePatch18} +\pastebutton{ugProblemNumericPageEmpty18}{\showpaste} +\tab{5}\spadcommand{[legendreP(i,z) for i in 0..5]} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch19} +\begin{paste}{ugProblemNumericPageFull19}{ugProblemNumericPageEmpty19} +\pastebutton{ugProblemNumericPageFull19}{\hidepaste} +\tab{5}\spadcommand{legendreP(3, 3.0*\%i)} +\indentrel{3}\begin{verbatim} + (19) - 72.0 %i + Type: Complex Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty19} +\begin{paste}{ugProblemNumericPageEmpty19}{ugProblemNumericPagePatch19} +\pastebutton{ugProblemNumericPageEmpty19}{\showpaste} +\tab{5}\spadcommand{legendreP(3, 3.0*\%i)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch20} +\begin{paste}{ugProblemNumericPageFull20}{ugProblemNumericPageEmpty20} +\pastebutton{ugProblemNumericPageFull20}{\hidepaste} +\tab{5}\spadcommand{bernoulliB(3, z)} +\indentrel{3}\begin{verbatim} + 3 3 2 1 + (20) z - Ä z + Ä z + 2 2 + Type: Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty20} +\begin{paste}{ugProblemNumericPageEmpty20}{ugProblemNumericPagePatch20} +\pastebutton{ugProblemNumericPageEmpty20}{\showpaste} +\tab{5}\spadcommand{bernoulliB(3, z)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch21} +\begin{paste}{ugProblemNumericPageFull21}{ugProblemNumericPageEmpty21} +\pastebutton{ugProblemNumericPageFull21}{\hidepaste} +\tab{5}\spadcommand{bernoulliB(3, 0.7 + 0.4 * \%i)} +\indentrel{3}\begin{verbatim} + (21) - 0.138 - 0.116 %i + Type: Complex Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty21} +\begin{paste}{ugProblemNumericPageEmpty21}{ugProblemNumericPagePatch21} +\pastebutton{ugProblemNumericPageEmpty21}{\showpaste} +\tab{5}\spadcommand{bernoulliB(3, 0.7 + 0.4 * \%i)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch22} +\begin{paste}{ugProblemNumericPageFull22}{ugProblemNumericPageEmpty22} +\pastebutton{ugProblemNumericPageFull22}{\hidepaste} +\tab{5}\spadcommand{eulerE(3, z)} +\indentrel{3}\begin{verbatim} + 3 3 2 1 + (22) z - Ä z + Ä + 2 4 + Type: Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty22} +\begin{paste}{ugProblemNumericPageEmpty22}{ugProblemNumericPagePatch22} +\pastebutton{ugProblemNumericPageEmpty22}{\showpaste} +\tab{5}\spadcommand{eulerE(3, z)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch23} +\begin{paste}{ugProblemNumericPageFull23}{ugProblemNumericPageEmpty23} +\pastebutton{ugProblemNumericPageFull23}{\hidepaste} +\tab{5}\spadcommand{eulerE(3, 0.7 + 0.4 * \%i)} +\indentrel{3}\begin{verbatim} + (23) - 0.238 - 0.316 %i + Type: Complex Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty23} +\begin{paste}{ugProblemNumericPageEmpty23}{ugProblemNumericPagePatch23} +\pastebutton{ugProblemNumericPageEmpty23}{\showpaste} +\tab{5}\spadcommand{eulerE(3, 0.7 + 0.4 * \%i)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch24} +\begin{paste}{ugProblemNumericPageFull24}{ugProblemNumericPageEmpty24} +\pastebutton{ugProblemNumericPageFull24}{\hidepaste} +\tab{5}\spadcommand{cyclotomic(3, z)} +\indentrel{3}\begin{verbatim} + 2 + (24) z + z + 1 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty24} +\begin{paste}{ugProblemNumericPageEmpty24}{ugProblemNumericPagePatch24} +\pastebutton{ugProblemNumericPageEmpty24}{\showpaste} +\tab{5}\spadcommand{cyclotomic(3, z)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch25} +\begin{paste}{ugProblemNumericPageFull25}{ugProblemNumericPageEmpty25} +\pastebutton{ugProblemNumericPageFull25}{\hidepaste} +\tab{5}\spadcommand{cyclotomic(3, (-1.0 + 0.0 * \%i)**(2/3))} +\indentrel{3}\begin{verbatim} + (25) 0.0 + Type: Complex Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty25} +\begin{paste}{ugProblemNumericPageEmpty25}{ugProblemNumericPagePatch25} +\pastebutton{ugProblemNumericPageEmpty25}{\showpaste} +\tab{5}\spadcommand{cyclotomic(3, (-1.0 + 0.0 * \%i)**(2/3))} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch26} +\begin{paste}{ugProblemNumericPageFull26}{ugProblemNumericPageEmpty26} +\pastebutton{ugProblemNumericPageFull26}{\hidepaste} +\tab{5}\spadgraph{draw((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")} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugproblemnumericpage26.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugproblemnumericpage26}} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty26} +\begin{paste}{ugProblemNumericPageEmpty26}{ugProblemNumericPagePatch26} +\pastebutton{ugProblemNumericPageEmpty26}{\showpaste} +\tab{5}\spadgraph{draw((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")} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch27} +\begin{paste}{ugProblemNumericPageFull27}{ugProblemNumericPageEmpty27} +\pastebutton{ugProblemNumericPageFull27}{\hidepaste} +\tab{5}\spadgraph{vp := draw((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"); rotate(vp,-160,-45); vp} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugproblemnumericpage27.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugproblemnumericpage27}} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty27} +\begin{paste}{ugProblemNumericPageEmpty27}{ugProblemNumericPagePatch27} +\pastebutton{ugProblemNumericPageEmpty27}{\showpaste} +\tab{5}\spadgraph{vp := draw((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"); rotate(vp,-160,-45); vp} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch28} +\begin{paste}{ugProblemNumericPageFull28}{ugProblemNumericPageEmpty28} +\pastebutton{ugProblemNumericPageFull28}{\hidepaste} +\tab{5}\spadgraph{draw((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)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugproblemnumericpage28.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugproblemnumericpage28}} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty28} +\begin{paste}{ugProblemNumericPageEmpty28}{ugProblemNumericPagePatch28} +\pastebutton{ugProblemNumericPageEmpty28}{\showpaste} +\tab{5}\spadgraph{draw((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)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch29} +\begin{paste}{ugProblemNumericPageFull29}{ugProblemNumericPageEmpty29} +\pastebutton{ugProblemNumericPageFull29}{\hidepaste} +\tab{5}\spadgraph{draw(Beta(x,y)/100, x=-1.6..1.7, y = -1.6..1.7, style=="shade", title=="Beta(x,y)", var1Steps==40, var2Steps==40)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugproblemnumericpage29.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugproblemnumericpage29}} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty29} +\begin{paste}{ugProblemNumericPageEmpty29}{ugProblemNumericPagePatch29} +\pastebutton{ugProblemNumericPageEmpty29}{\showpaste} +\tab{5}\spadgraph{draw(Beta(x,y)/100, x=-1.6..1.7, y = -1.6..1.7, style=="shade", title=="Beta(x,y)", var1Steps==40, var2Steps==40)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch30} +\begin{paste}{ugProblemNumericPageFull30}{ugProblemNumericPageEmpty30} +\pastebutton{ugProblemNumericPageFull30}{\hidepaste} +\tab{5}\spadgraph{draw((alpha,x) +-> min(max(besselJ(alpha, x+8), -6), 6), -6..4, -6..6, title=="besselJ(alpha,x)", style=="shade", var1Steps==40, var2Steps==40)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugproblemnumericpage30.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugproblemnumericpage30}} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty30} +\begin{paste}{ugProblemNumericPageEmpty30}{ugProblemNumericPagePatch30} +\pastebutton{ugProblemNumericPageEmpty30}{\showpaste} +\tab{5}\spadgraph{draw((alpha,x) +-> min(max(besselJ(alpha, x+8), -6), 6), -6..4, -6..6, title=="besselJ(alpha,x)", style=="shade", var1Steps==40, var2Steps==40)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch31} +\begin{paste}{ugProblemNumericPageFull31}{ugProblemNumericPageEmpty31} +\pastebutton{ugProblemNumericPageFull31}{\hidepaste} +\tab{5}\spadgraph{draw(besselI(alpha, 5), alpha = -12..12, unit==[5,20])} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugproblemnumericpage31.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugproblemnumericpage31}} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty31} +\begin{paste}{ugProblemNumericPageEmpty31}{ugProblemNumericPagePatch31} +\pastebutton{ugProblemNumericPageEmpty31}{\showpaste} +\tab{5}\spadgraph{draw(besselI(alpha, 5), alpha = -12..12, unit==[5,20])} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch32} +\begin{paste}{ugProblemNumericPageFull32}{ugProblemNumericPageEmpty32} +\pastebutton{ugProblemNumericPageFull32}{\hidepaste} +\tab{5}\spadgraph{draw((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")} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugproblemnumericpage32.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugproblemnumericpage32}} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty32} +\begin{paste}{ugProblemNumericPageEmpty32}{ugProblemNumericPagePatch32} +\pastebutton{ugProblemNumericPageEmpty32}{\showpaste} +\tab{5}\spadgraph{draw((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")} +\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPagePatch33} +\begin{paste}{ugProblemNumericPageFull33}{ugProblemNumericPageEmpty33} +\pastebutton{ugProblemNumericPageFull33}{\hidepaste} +\tab{5}\spadcommand{all} +\indentrel{3}\begin{verbatim} + (33) all + Type: Variable all +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemNumericPageEmpty33} +\begin{paste}{ugProblemNumericPageEmpty33}{ugProblemNumericPagePatch33} +\pastebutton{ugProblemNumericPageEmpty33}{\showpaste} +\tab{5}\spadcommand{all} +\end{paste}\end{patch} + @ \pagehead{ugProblemFactorPage}{ug08.ht}{Polynomial Factorization} \pageto{notitle}{ugProblemFactorIntRatPage} @@ -37195,6 +95443,80 @@ rational number coefficients. \autobuttons \end{page} +\begin{patch}{ugProblemFactorIntRatPagePatch1} +\begin{paste}{ugProblemFactorIntRatPageFull1}{ugProblemFactorIntRatPageEmpty1} +\pastebutton{ugProblemFactorIntRatPageFull1}{\hidepaste} +\tab{5}\spadcommand{v := (4*x**3+2*y**2+1)*(12*x**5-x**3*y+12)\bound{v }} +\indentrel{3}\begin{verbatim} + (1) + 3 3 5 2 6 3 8 5 + - 2x y + (24x + 24)y + (- 4x - x )y + 48x + 12x + + + 3 + 48x + 12 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorIntRatPageEmpty1} +\begin{paste}{ugProblemFactorIntRatPageEmpty1}{ugProblemFactorIntRatPagePatch1} +\pastebutton{ugProblemFactorIntRatPageEmpty1}{\showpaste} +\tab{5}\spadcommand{v := (4*x**3+2*y**2+1)*(12*x**5-x**3*y+12)\bound{v }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorIntRatPagePatch2} +\begin{paste}{ugProblemFactorIntRatPageFull2}{ugProblemFactorIntRatPageEmpty2} +\pastebutton{ugProblemFactorIntRatPageFull2}{\hidepaste} +\tab{5}\spadcommand{factor v\free{v }} +\indentrel{3}\begin{verbatim} + 3 5 2 3 + (2) - (x y - 12x - 12)(2y + 4x + 1) + Type: Factored Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorIntRatPageEmpty2} +\begin{paste}{ugProblemFactorIntRatPageEmpty2}{ugProblemFactorIntRatPagePatch2} +\pastebutton{ugProblemFactorIntRatPageEmpty2}{\showpaste} +\tab{5}\spadcommand{factor v\free{v }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorIntRatPagePatch3} +\begin{paste}{ugProblemFactorIntRatPageFull3}{ugProblemFactorIntRatPageEmpty3} +\pastebutton{ugProblemFactorIntRatPageFull3}{\hidepaste} +\tab{5}\spadcommand{w := (4*x**3+(2/3)*x**2+1)*(12*x**5-(1/2)*x**3+12)\bound{w }} +\indentrel{3}\begin{verbatim} + 8 7 6 35 5 95 3 2 + (3) 48x + 8x - 2x + ÄÄ x + ÄÄ x + 8x + 12 + 3 2 + Type: Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorIntRatPageEmpty3} +\begin{paste}{ugProblemFactorIntRatPageEmpty3}{ugProblemFactorIntRatPagePatch3} +\pastebutton{ugProblemFactorIntRatPageEmpty3}{\showpaste} +\tab{5}\spadcommand{w := (4*x**3+(2/3)*x**2+1)*(12*x**5-(1/2)*x**3+12)\bound{w }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorIntRatPagePatch4} +\begin{paste}{ugProblemFactorIntRatPageFull4}{ugProblemFactorIntRatPageEmpty4} +\pastebutton{ugProblemFactorIntRatPageFull4}{\hidepaste} +\tab{5}\spadcommand{factor w\free{w }} +\indentrel{3}\begin{verbatim} + 3 1 2 1 5 1 3 + (4) 48(x + Ä x + Ä)(x - ÄÄ x + 1) + 6 4 24 + Type: Factored Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorIntRatPageEmpty4} +\begin{paste}{ugProblemFactorIntRatPageEmpty4}{ugProblemFactorIntRatPagePatch4} +\pastebutton{ugProblemFactorIntRatPageEmpty4}{\showpaste} +\tab{5}\spadcommand{factor w\free{w }} +\end{paste}\end{patch} + @ \pagehead{ugProblemFactorFFPage}{ug08.ht}{Finite Field Coefficients} \pageto{notitle}{ugProblemFinitePage} @@ -37231,6 +95553,61 @@ about finite fields. \autobuttons \end{page} +\begin{patch}{ugProblemFactorFFPagePatch1} +\begin{paste}{ugProblemFactorFFPageFull1}{ugProblemFactorFFPageEmpty1} +\pastebutton{ugProblemFactorFFPageFull1}{\hidepaste} +\tab{5}\spadcommand{u : POLY(PF(19)) :=3*x**4+2*x**2+15*x+18\bound{u }} +\indentrel{3}\begin{verbatim} + 4 2 + (1) 3x + 2x + 15x + 18 + Type: Polynomial PrimeField 19 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorFFPageEmpty1} +\begin{paste}{ugProblemFactorFFPageEmpty1}{ugProblemFactorFFPagePatch1} +\pastebutton{ugProblemFactorFFPageEmpty1}{\showpaste} +\tab{5}\spadcommand{u : POLY(PF(19)) :=3*x**4+2*x**2+15*x+18\bound{u }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorFFPagePatch2} +\begin{paste}{ugProblemFactorFFPageFull2}{ugProblemFactorFFPageEmpty2} +\pastebutton{ugProblemFactorFFPageFull2}{\hidepaste} +\tab{5}\spadcommand{factor u\free{u }} +\indentrel{3}\begin{verbatim} + 3 2 + (2) 3(x + 18)(x + x + 8x + 13) + Type: Factored Polynomial PrimeField 19 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorFFPageEmpty2} +\begin{paste}{ugProblemFactorFFPageEmpty2}{ugProblemFactorFFPagePatch2} +\pastebutton{ugProblemFactorFFPageEmpty2}{\showpaste} +\tab{5}\spadcommand{factor u\free{u }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorFFPagePatch3} +\begin{paste}{ugProblemFactorFFPageFull3}{ugProblemFactorFFPageEmpty3} +\pastebutton{ugProblemFactorFFPageFull3}{\hidepaste} +\tab{5}\spadcommand{factor(u :: POLY FFX(PF 19,3))\free{u }} +\indentrel{3}\begin{verbatim} + (3) + 2 + 3(x + 18)(x + 5%BC + 3%BC + 13) + * + 2 2 + (x + 16%BC + 14%BC + 13)(x + 17%BC + 2%BC + 13) +Type: Factored Polynomial FiniteFieldExtension(PrimeField 19,3) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorFFPageEmpty3} +\begin{paste}{ugProblemFactorFFPageEmpty3}{ugProblemFactorFFPagePatch3} +\pastebutton{ugProblemFactorFFPageEmpty3}{\showpaste} +\tab{5}\spadcommand{factor(u :: POLY FFX(PF 19,3))\free{u }} +\end{paste}\end{patch} + @ \pagehead{ugProblemFactorAlgPage}{ug08.ht} {Simple Algebraic Extension Field Coefficients} @@ -37294,6 +95671,174 @@ and \axiom{bb} to the rational numbers. \autobuttons \end{page} +\begin{patch}{ugProblemFactorAlgPagePatch1} +\begin{paste}{ugProblemFactorAlgPageFull1}{ugProblemFactorAlgPageEmpty1} +\pastebutton{ugProblemFactorAlgPageFull1}{\hidepaste} +\tab{5}\spadcommand{aa := rootOf(aa**2+aa+1)\bound{aa }} +\indentrel{3}\begin{verbatim} + (1) aa + Type: AlgebraicNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorAlgPageEmpty1} +\begin{paste}{ugProblemFactorAlgPageEmpty1}{ugProblemFactorAlgPagePatch1} +\pastebutton{ugProblemFactorAlgPageEmpty1}{\showpaste} +\tab{5}\spadcommand{aa := rootOf(aa**2+aa+1)\bound{aa }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorAlgPagePatch2} +\begin{paste}{ugProblemFactorAlgPageFull2}{ugProblemFactorAlgPageEmpty2} +\pastebutton{ugProblemFactorAlgPageFull2}{\hidepaste} +\tab{5}\spadcommand{p:=(x**3+aa**2*x+y)*(aa*x**2+aa*x+aa*y**2)**2\free{aa }\bound{p }} +\indentrel{3}\begin{verbatim} + (2) + 5 3 4 + (- aa - 1)y + ((- aa - 1)x + aa x)y + + + 2 3 + ((- 2aa - 2)x + (- 2aa - 2)x)y + + + 5 4 3 2 2 + ((- 2aa - 2)x + (- 2aa - 2)x + 2aa x + 2aa x )y + + + 4 3 2 + ((- aa - 1)x + (- 2aa - 2)x + (- aa - 1)x )y + + + 7 6 5 4 3 + (- aa - 1)x + (- 2aa - 2)x - x + 2aa x + aa x + Type: Polynomial AlgebraicNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorAlgPageEmpty2} +\begin{paste}{ugProblemFactorAlgPageEmpty2}{ugProblemFactorAlgPagePatch2} +\pastebutton{ugProblemFactorAlgPageEmpty2}{\showpaste} +\tab{5}\spadcommand{p:=(x**3+aa**2*x+y)*(aa*x**2+aa*x+aa*y**2)**2\free{aa }\bound{p }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorAlgPagePatch3} +\begin{paste}{ugProblemFactorAlgPageFull3}{ugProblemFactorAlgPageEmpty3} +\pastebutton{ugProblemFactorAlgPageFull3}{\hidepaste} +\tab{5}\spadcommand{factor(p,[aa])\free{p aa }} +\indentrel{3}\begin{verbatim} + 3 2 2 2 + (3) (- aa - 1)(y + x + (- aa - 1)x)(y + x + x) + Type: Factored Polynomial AlgebraicNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorAlgPageEmpty3} +\begin{paste}{ugProblemFactorAlgPageEmpty3}{ugProblemFactorAlgPagePatch3} +\pastebutton{ugProblemFactorAlgPageEmpty3}{\showpaste} +\tab{5}\spadcommand{factor(p,[aa])\free{p aa }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorAlgPagePatch4} +\begin{paste}{ugProblemFactorAlgPageFull4}{ugProblemFactorAlgPageEmpty4} +\pastebutton{ugProblemFactorAlgPageFull4}{\hidepaste} +\tab{5}\spadcommand{factor(x**2+3)} +\indentrel{3}\begin{verbatim} + 2 + (4) x + 3 + Type: Factored Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorAlgPageEmpty4} +\begin{paste}{ugProblemFactorAlgPageEmpty4}{ugProblemFactorAlgPagePatch4} +\pastebutton{ugProblemFactorAlgPageEmpty4}{\showpaste} +\tab{5}\spadcommand{factor(x**2+3)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorAlgPagePatch5} +\begin{paste}{ugProblemFactorAlgPageFull5}{ugProblemFactorAlgPageEmpty5} +\pastebutton{ugProblemFactorAlgPageFull5}{\hidepaste} +\tab{5}\spadcommand{factor(x**2+3,[aa])\free{aa }} +\indentrel{3}\begin{verbatim} + (5) (x - 2aa - 1)(x + 2aa + 1) + Type: Factored Polynomial AlgebraicNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorAlgPageEmpty5} +\begin{paste}{ugProblemFactorAlgPageEmpty5}{ugProblemFactorAlgPagePatch5} +\pastebutton{ugProblemFactorAlgPageEmpty5}{\showpaste} +\tab{5}\spadcommand{factor(x**2+3,[aa])\free{aa }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorAlgPagePatch6} +\begin{paste}{ugProblemFactorAlgPageFull6}{ugProblemFactorAlgPageEmpty6} +\pastebutton{ugProblemFactorAlgPageFull6}{\hidepaste} +\tab{5}\spadcommand{factor(x**6+108,[aa])\free{aa }} +\indentrel{3}\begin{verbatim} + 3 3 + (6) (x - 12aa - 6)(x + 12aa + 6) + Type: Factored Polynomial AlgebraicNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorAlgPageEmpty6} +\begin{paste}{ugProblemFactorAlgPageEmpty6}{ugProblemFactorAlgPagePatch6} +\pastebutton{ugProblemFactorAlgPageEmpty6}{\showpaste} +\tab{5}\spadcommand{factor(x**6+108,[aa])\free{aa }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorAlgPagePatch7} +\begin{paste}{ugProblemFactorAlgPageFull7}{ugProblemFactorAlgPageEmpty7} +\pastebutton{ugProblemFactorAlgPageFull7}{\hidepaste} +\tab{5}\spadcommand{bb:=rootOf(bb**3-2)\bound{bb }} +\indentrel{3}\begin{verbatim} + (7) bb + Type: AlgebraicNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorAlgPageEmpty7} +\begin{paste}{ugProblemFactorAlgPageEmpty7}{ugProblemFactorAlgPagePatch7} +\pastebutton{ugProblemFactorAlgPageEmpty7}{\showpaste} +\tab{5}\spadcommand{bb:=rootOf(bb**3-2)\bound{bb }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorAlgPagePatch8} +\begin{paste}{ugProblemFactorAlgPageFull8}{ugProblemFactorAlgPageEmpty8} +\pastebutton{ugProblemFactorAlgPageFull8}{\hidepaste} +\tab{5}\spadcommand{factor(x**6+108,[bb])\free{bb }} +\indentrel{3}\begin{verbatim} + (8) + 2 2 2 2 2 2 + (x - 3bb x + 3bb )(x + 3bb )(x + 3bb x + 3bb ) + Type: Factored Polynomial AlgebraicNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorAlgPageEmpty8} +\begin{paste}{ugProblemFactorAlgPageEmpty8}{ugProblemFactorAlgPagePatch8} +\pastebutton{ugProblemFactorAlgPageEmpty8}{\showpaste} +\tab{5}\spadcommand{factor(x**6+108,[bb])\free{bb }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorAlgPagePatch9} +\begin{paste}{ugProblemFactorAlgPageFull9}{ugProblemFactorAlgPageEmpty9} +\pastebutton{ugProblemFactorAlgPageFull9}{\hidepaste} +\tab{5}\spadcommand{factor(x**6+108,[aa,bb])\free{aa bb }} +\indentrel{3}\begin{verbatim} + (9) + (x + (- 2aa - 1)bb)(x + (- aa - 2)bb) + * + (x + (- aa + 1)bb)(x + (aa - 1)bb)(x + (aa + 2)bb) + * + (x + (2aa + 1)bb) + Type: Factored Polynomial AlgebraicNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorAlgPageEmpty9} +\begin{paste}{ugProblemFactorAlgPageEmpty9}{ugProblemFactorAlgPagePatch9} +\pastebutton{ugProblemFactorAlgPageEmpty9}{\showpaste} +\tab{5}\spadcommand{factor(x**6+108,[aa,bb])\free{aa bb }} +\end{paste}\end{patch} + @ \pagehead{ugProblemFactorRatFunPage}{ug08.ht} {Factoring Rational Functions} @@ -37326,6 +95871,42 @@ to the numerator and denominator. \autobuttons \end{page} +\begin{patch}{ugProblemFactorRatFunPagePatch1} +\begin{paste}{ugProblemFactorRatFunPageFull1}{ugProblemFactorRatFunPageEmpty1} +\pastebutton{ugProblemFactorRatFunPageFull1}{\hidepaste} +\tab{5}\spadcommand{factorFraction((x**2-4)/(y**2-4))} +\indentrel{3}\begin{verbatim} + (x - 2)(x + 2) + (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + (y - 2)(y + 2) + Type: Fraction Factored Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorRatFunPageEmpty1} +\begin{paste}{ugProblemFactorRatFunPageEmpty1}{ugProblemFactorRatFunPagePatch1} +\pastebutton{ugProblemFactorRatFunPageEmpty1}{\showpaste} +\tab{5}\spadcommand{factorFraction((x**2-4)/(y**2-4))} +\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorRatFunPagePatch2} +\begin{paste}{ugProblemFactorRatFunPageFull2}{ugProblemFactorRatFunPageEmpty2} +\pastebutton{ugProblemFactorRatFunPageFull2}{\hidepaste} +\tab{5}\spadcommand{map(factor,(x**2-4)/(y**2-4))} +\indentrel{3}\begin{verbatim} + (x - 2)(x + 2) + (2) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + (y - 2)(y + 2) + Type: Fraction Factored Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemFactorRatFunPageEmpty2} +\begin{paste}{ugProblemFactorRatFunPageEmpty2}{ugProblemFactorRatFunPagePatch2} +\pastebutton{ugProblemFactorRatFunPageEmpty2}{\showpaste} +\tab{5}\spadcommand{map(factor,(x**2-4)/(y**2-4))} +\end{paste}\end{patch} + @ \pagehead{ugProblemSymRootPage}{ug08.ht} {Manipulating Symbolic Roots of a Polynomial} @@ -37423,6 +96004,156 @@ except that it may express the root using radicals in some cases. \autobuttons \end{page} +\begin{patch}{ugxProblemSymRootOnePagePatch1} +\begin{paste}{ugxProblemSymRootOnePageFull1}{ugxProblemSymRootOnePageEmpty1} +\pastebutton{ugxProblemSymRootOnePageFull1}{\hidepaste} +\tab{5}\spadcommand{a := rootOf(a**4+1,a)\bound{a }} +\indentrel{3}\begin{verbatim} + (1) a + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootOnePageEmpty1} +\begin{paste}{ugxProblemSymRootOnePageEmpty1}{ugxProblemSymRootOnePagePatch1} +\pastebutton{ugxProblemSymRootOnePageEmpty1}{\showpaste} +\tab{5}\spadcommand{a := rootOf(a**4+1,a)\bound{a }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootOnePagePatch2} +\begin{paste}{ugxProblemSymRootOnePageFull2}{ugxProblemSymRootOnePageEmpty2} +\pastebutton{ugxProblemSymRootOnePageFull2}{\hidepaste} +\tab{5}\spadcommand{definingPolynomial a\free{a }} +\indentrel{3}\begin{verbatim} + 4 + (2) a + 1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootOnePageEmpty2} +\begin{paste}{ugxProblemSymRootOnePageEmpty2}{ugxProblemSymRootOnePagePatch2} +\pastebutton{ugxProblemSymRootOnePageEmpty2}{\showpaste} +\tab{5}\spadcommand{definingPolynomial a\free{a }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootOnePagePatch3} +\begin{paste}{ugxProblemSymRootOnePageFull3}{ugxProblemSymRootOnePageEmpty3} +\pastebutton{ugxProblemSymRootOnePageFull3}{\hidepaste} +\tab{5}\spadcommand{b := rootOf(b**2-a-1,b)\free{a }\bound{b }} +\indentrel{3}\begin{verbatim} + (3) b + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootOnePageEmpty3} +\begin{paste}{ugxProblemSymRootOnePageEmpty3}{ugxProblemSymRootOnePagePatch3} +\pastebutton{ugxProblemSymRootOnePageEmpty3}{\showpaste} +\tab{5}\spadcommand{b := rootOf(b**2-a-1,b)\free{a }\bound{b }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootOnePagePatch4} +\begin{paste}{ugxProblemSymRootOnePageFull4}{ugxProblemSymRootOnePageEmpty4} +\pastebutton{ugxProblemSymRootOnePageFull4}{\hidepaste} +\tab{5}\spadcommand{a + b\free{a b }\bound{c }} +\indentrel{3}\begin{verbatim} + (4) b + a + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootOnePageEmpty4} +\begin{paste}{ugxProblemSymRootOnePageEmpty4}{ugxProblemSymRootOnePagePatch4} +\pastebutton{ugxProblemSymRootOnePageEmpty4}{\showpaste} +\tab{5}\spadcommand{a + b\free{a b }\bound{c }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootOnePagePatch5} +\begin{paste}{ugxProblemSymRootOnePageFull5}{ugxProblemSymRootOnePageEmpty5} +\pastebutton{ugxProblemSymRootOnePageFull5}{\hidepaste} +\tab{5}\spadcommand{\% ** 5\free{c }} +\indentrel{3}\begin{verbatim} + 3 2 3 2 + (5) (10a + 11a + 2a - 4)b + 15a + 10a + 4a - 10 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootOnePageEmpty5} +\begin{paste}{ugxProblemSymRootOnePageEmpty5}{ugxProblemSymRootOnePagePatch5} +\pastebutton{ugxProblemSymRootOnePageEmpty5}{\showpaste} +\tab{5}\spadcommand{\% ** 5\free{c }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootOnePagePatch6} +\begin{paste}{ugxProblemSymRootOnePageFull6}{ugxProblemSymRootOnePageEmpty6} +\pastebutton{ugxProblemSymRootOnePageFull6}{\hidepaste} +\tab{5}\spadcommand{rootOf(c**2+c+1,c)} +\indentrel{3}\begin{verbatim} + (6) c + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootOnePageEmpty6} +\begin{paste}{ugxProblemSymRootOnePageEmpty6}{ugxProblemSymRootOnePagePatch6} +\pastebutton{ugxProblemSymRootOnePageEmpty6}{\showpaste} +\tab{5}\spadcommand{rootOf(c**2+c+1,c)} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootOnePagePatch7} +\begin{paste}{ugxProblemSymRootOnePageFull7}{ugxProblemSymRootOnePageEmpty7} +\pastebutton{ugxProblemSymRootOnePageFull7}{\hidepaste} +\tab{5}\spadcommand{zeroOf(d**2+d+1,d)} +\indentrel{3}\begin{verbatim} + ÚÄÄÄ¿ + \³- 3 - 1 + (7) ÄÄÄÄÄÄÄÄÄÄ + 2 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootOnePageEmpty7} +\begin{paste}{ugxProblemSymRootOnePageEmpty7}{ugxProblemSymRootOnePagePatch7} +\pastebutton{ugxProblemSymRootOnePageEmpty7}{\showpaste} +\tab{5}\spadcommand{zeroOf(d**2+d+1,d)} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootOnePagePatch8} +\begin{paste}{ugxProblemSymRootOnePageFull8}{ugxProblemSymRootOnePageEmpty8} +\pastebutton{ugxProblemSymRootOnePageFull8}{\hidepaste} +\tab{5}\spadcommand{rootOf(e**5-2,e)} +\indentrel{3}\begin{verbatim} + (8) e + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootOnePageEmpty8} +\begin{paste}{ugxProblemSymRootOnePageEmpty8}{ugxProblemSymRootOnePagePatch8} +\pastebutton{ugxProblemSymRootOnePageEmpty8}{\showpaste} +\tab{5}\spadcommand{rootOf(e**5-2,e)} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootOnePagePatch9} +\begin{paste}{ugxProblemSymRootOnePageFull9}{ugxProblemSymRootOnePageEmpty9} +\pastebutton{ugxProblemSymRootOnePageFull9}{\hidepaste} +\tab{5}\spadcommand{zeroOf(f**5-2,f)} +\indentrel{3}\begin{verbatim} + 5ÚÄ¿ + (9) \³2 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootOnePageEmpty9} +\begin{paste}{ugxProblemSymRootOnePageEmpty9}{ugxProblemSymRootOnePagePatch9} +\pastebutton{ugxProblemSymRootOnePageEmpty9}{\showpaste} +\tab{5}\spadcommand{zeroOf(f**5-2,f)} +\end{paste}\end{patch} + @ \pagehead{ugxProblemSymRootAllPage}{ug08.ht} {Using All Roots of a Polynomial} @@ -37504,6 +96235,175 @@ The other three roots are expressed in radicals. \autobuttons \end{page} +\begin{patch}{ugxProblemSymRootAllPagePatch1} +\begin{paste}{ugxProblemSymRootAllPageFull1}{ugxProblemSymRootAllPageEmpty1} +\pastebutton{ugxProblemSymRootAllPageFull1}{\hidepaste} +\tab{5}\spadcommand{l := rootsOf(x**4+1,x)\bound{l }} +\indentrel{3}\begin{verbatim} + (1) [%x0,%x0 %x1,- %x0,- %x0 %x1] + Type: List Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootAllPageEmpty1} +\begin{paste}{ugxProblemSymRootAllPageEmpty1}{ugxProblemSymRootAllPagePatch1} +\pastebutton{ugxProblemSymRootAllPageEmpty1}{\showpaste} +\tab{5}\spadcommand{l := rootsOf(x**4+1,x)\bound{l }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootAllPagePatch2} +\begin{paste}{ugxProblemSymRootAllPageFull2}{ugxProblemSymRootAllPageEmpty2} +\pastebutton{ugxProblemSymRootAllPageFull2}{\hidepaste} +\tab{5}\spadcommand{\%x0**5\free{l }} +\indentrel{3}\begin{verbatim} + (2) - %x0 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootAllPageEmpty2} +\begin{paste}{ugxProblemSymRootAllPageEmpty2}{ugxProblemSymRootAllPagePatch2} +\pastebutton{ugxProblemSymRootAllPageEmpty2}{\showpaste} +\tab{5}\spadcommand{\%x0**5\free{l }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootAllPagePatch3} +\begin{paste}{ugxProblemSymRootAllPageFull3}{ugxProblemSymRootAllPageEmpty3} +\pastebutton{ugxProblemSymRootAllPageFull3}{\hidepaste} +\tab{5}\spadcommand{definingPolynomial \%x0\free{l }} +\indentrel{3}\begin{verbatim} + 4 + (3) %x0 + 1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootAllPageEmpty3} +\begin{paste}{ugxProblemSymRootAllPageEmpty3}{ugxProblemSymRootAllPagePatch3} +\pastebutton{ugxProblemSymRootAllPageEmpty3}{\showpaste} +\tab{5}\spadcommand{definingPolynomial \%x0\free{l }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootAllPagePatch4} +\begin{paste}{ugxProblemSymRootAllPageFull4}{ugxProblemSymRootAllPageEmpty4} +\pastebutton{ugxProblemSymRootAllPageFull4}{\hidepaste} +\tab{5}\spadcommand{definingPolynomial \%x1\free{l }} +\indentrel{3}\begin{verbatim} + 2 + (4) %x1 + 1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootAllPageEmpty4} +\begin{paste}{ugxProblemSymRootAllPageEmpty4}{ugxProblemSymRootAllPagePatch4} +\pastebutton{ugxProblemSymRootAllPageEmpty4}{\showpaste} +\tab{5}\spadcommand{definingPolynomial \%x1\free{l }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootAllPagePatch5} +\begin{paste}{ugxProblemSymRootAllPageFull5}{ugxProblemSymRootAllPageEmpty5} +\pastebutton{ugxProblemSymRootAllPageFull5}{\hidepaste} +\tab{5}\spadcommand{definingPolynomial \%x2\free{l }} +\indentrel{3}\begin{verbatim} + (5) - %x2 + %%var + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootAllPageEmpty5} +\begin{paste}{ugxProblemSymRootAllPageEmpty5}{ugxProblemSymRootAllPagePatch5} +\pastebutton{ugxProblemSymRootAllPageEmpty5}{\showpaste} +\tab{5}\spadcommand{definingPolynomial \%x2\free{l }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootAllPagePatch6} +\begin{paste}{ugxProblemSymRootAllPageFull6}{ugxProblemSymRootAllPageEmpty6} +\pastebutton{ugxProblemSymRootAllPageFull6}{\hidepaste} +\tab{5}\spadcommand{x3 := last l\free{l }\bound{x3 }} +\indentrel{3}\begin{verbatim} + (6) - %x0 %x1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootAllPageEmpty6} +\begin{paste}{ugxProblemSymRootAllPageEmpty6}{ugxProblemSymRootAllPagePatch6} +\pastebutton{ugxProblemSymRootAllPageEmpty6}{\showpaste} +\tab{5}\spadcommand{x3 := last l\free{l }\bound{x3 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootAllPagePatch7} +\begin{paste}{ugxProblemSymRootAllPageFull7}{ugxProblemSymRootAllPageEmpty7} +\pastebutton{ugxProblemSymRootAllPageFull7}{\hidepaste} +\tab{5}\spadcommand{\%x0 + \%x1 + \%x2 + x3\free{x3 }} +\indentrel{3}\begin{verbatim} + (7) (- %x0 + 1)%x1 + %x0 + %x2 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootAllPageEmpty7} +\begin{paste}{ugxProblemSymRootAllPageEmpty7}{ugxProblemSymRootAllPagePatch7} +\pastebutton{ugxProblemSymRootAllPageEmpty7}{\showpaste} +\tab{5}\spadcommand{\%x0 + \%x1 + \%x2 + x3\free{x3 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootAllPagePatch8} +\begin{paste}{ugxProblemSymRootAllPageFull8}{ugxProblemSymRootAllPageEmpty8} +\pastebutton{ugxProblemSymRootAllPageFull8}{\hidepaste} +\tab{5}\spadcommand{\%x0 * \%x1 * \%x2 * x3\free{x3 }} +\indentrel{3}\begin{verbatim} + 2 + (8) %x2 %x0 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootAllPageEmpty8} +\begin{paste}{ugxProblemSymRootAllPageEmpty8}{ugxProblemSymRootAllPagePatch8} +\pastebutton{ugxProblemSymRootAllPageEmpty8}{\showpaste} +\tab{5}\spadcommand{\%x0 * \%x1 * \%x2 * x3\free{x3 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootAllPagePatch9} +\begin{paste}{ugxProblemSymRootAllPageFull9}{ugxProblemSymRootAllPageEmpty9} +\pastebutton{ugxProblemSymRootAllPageFull9}{\hidepaste} +\tab{5}\spadcommand{zerosOf(y**4+1,y)\bound{z }} +\indentrel{3}\begin{verbatim} + (9) + ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ + \³- 1 + 1 \³- 1 - 1 - \³- 1 - 1 - \³- 1 + 1 + [ÄÄÄÄÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄÄÄÄÄ] + ÚÄ¿ ÚÄ¿ ÚÄ¿ ÚÄ¿ + \³2 \³2 \³2 \³2 + Type: List Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootAllPageEmpty9} +\begin{paste}{ugxProblemSymRootAllPageEmpty9}{ugxProblemSymRootAllPagePatch9} +\pastebutton{ugxProblemSymRootAllPageEmpty9}{\showpaste} +\tab{5}\spadcommand{zerosOf(y**4+1,y)\bound{z }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootAllPagePatch10} +\begin{paste}{ugxProblemSymRootAllPageFull10}{ugxProblemSymRootAllPageEmpty10} +\pastebutton{ugxProblemSymRootAllPageFull10}{\hidepaste} +\tab{5}\spadcommand{definingPolynomial \%y1\free{z }} +\indentrel{3}\begin{verbatim} + 2 + (10) %%var + 1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSymRootAllPageEmpty10} +\begin{paste}{ugxProblemSymRootAllPageEmpty10}{ugxProblemSymRootAllPagePatch10} +\pastebutton{ugxProblemSymRootAllPageEmpty10}{\showpaste} +\tab{5}\spadcommand{definingPolynomial \%y1\free{z }} +\end{paste}\end{patch} + @ \pagehead{ugProblemEigenPage}{ug08.ht} {Computation of Eigenvalues and Eigenvectors} @@ -37615,6 +96515,280 @@ has a basis of orthonormal eigenvectors, then \autobuttons \end{page} +\begin{patch}{ugProblemEigenPagePatch1} +\begin{paste}{ugProblemEigenPageFull1}{ugProblemEigenPageEmpty1} +\pastebutton{ugProblemEigenPageFull1}{\hidepaste} +\tab{5}\spadcommand{m1 := matrix [[1,2,1],[2,1,-2],[1,-2,4]]\bound{m1 }} +\indentrel{3}\begin{verbatim} + Ú1 2 1 ¿ + ³ ³ + (1) ³2 1 - 2³ + ³ ³ + À1 - 2 4 Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemEigenPageEmpty1} +\begin{paste}{ugProblemEigenPageEmpty1}{ugProblemEigenPagePatch1} +\pastebutton{ugProblemEigenPageEmpty1}{\showpaste} +\tab{5}\spadcommand{m1 := matrix [[1,2,1],[2,1,-2],[1,-2,4]]\bound{m1 }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemEigenPagePatch2} +\begin{paste}{ugProblemEigenPageFull2}{ugProblemEigenPageEmpty2} +\pastebutton{ugProblemEigenPageFull2}{\hidepaste} +\tab{5}\spadcommand{leig := eigenvalues(m1)\free{m1 }\bound{leig }} +\indentrel{3}\begin{verbatim} + 2 + (2) [5,%DA | %DA - %DA - 5] +Type: List Union(Fraction Polynomial Integer,SuchThat(Symbol,Polynomial Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemEigenPageEmpty2} +\begin{paste}{ugProblemEigenPageEmpty2}{ugProblemEigenPagePatch2} +\pastebutton{ugProblemEigenPageEmpty2}{\showpaste} +\tab{5}\spadcommand{leig := eigenvalues(m1)\free{m1 }\bound{leig }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemEigenPagePatch3} +\begin{paste}{ugProblemEigenPageFull3}{ugProblemEigenPageEmpty3} +\pastebutton{ugProblemEigenPageFull3}{\hidepaste} +\tab{5}\spadcommand{eigenvector(first(leig),m1)\free{m1 leig }} +\indentrel{3}\begin{verbatim} + Ú 0 ¿ + ³ ³ + ³ 1³ + (3) [³- ij] + ³ 2³ + ³ ³ + À 1 Ù + Type: List Matrix Fraction Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemEigenPageEmpty3} +\begin{paste}{ugProblemEigenPageEmpty3}{ugProblemEigenPagePatch3} +\pastebutton{ugProblemEigenPageEmpty3}{\showpaste} +\tab{5}\spadcommand{eigenvector(first(leig),m1)\free{m1 leig }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemEigenPagePatch4} +\begin{paste}{ugProblemEigenPageFull4}{ugProblemEigenPageEmpty4} +\pastebutton{ugProblemEigenPageFull4}{\hidepaste} +\tab{5}\spadcommand{eigenvectors(m1)\free{m1 }} +\indentrel{3}\begin{verbatim} + (4) + Ú 0 ¿ + ³ ³ + ³ 1³ + [[eigval= 5,eigmult= 1,eigvec= [³- ij]], + ³ 2³ + ³ ³ + À 1 Ù + + 2 + [eigval= (%DB | %DB - %DB - 5), eigmult= 1, + Ú%DB¿ + ³ ³ + eigvec= [³ 2 ³]] + ³ ³ + À 1 Ù + ] +Type: List Record(eigval: Union(Fraction Polynomial Integer,SuchThat(Symbol,Polynomial Integer)),eigmult: NonNegativeInteger,eigvec: List Matrix Fraction Polynomial Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemEigenPageEmpty4} +\begin{paste}{ugProblemEigenPageEmpty4}{ugProblemEigenPagePatch4} +\pastebutton{ugProblemEigenPageEmpty4}{\showpaste} +\tab{5}\spadcommand{eigenvectors(m1)\free{m1 }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemEigenPagePatch5} +\begin{paste}{ugProblemEigenPageFull5}{ugProblemEigenPageEmpty5} +\pastebutton{ugProblemEigenPageFull5}{\hidepaste} +\tab{5}\spadcommand{radicalEigenvectors(m1)\free{m1 }} +\indentrel{3}\begin{verbatim} + (5) + Ú ÚÄÄ¿ ¿ + ÚÄÄ¿ ³\³21 + 1³ + \³21 + 1 ³ÄÄÄÄÄÄÄÄij + [[radval= ÄÄÄÄÄÄÄÄÄ,radmult= 1,radvect= [³ 2 ³]], + 2 ³ ³ + ³ 2 ³ + ³ ³ + À 1 Ù + + ÚÄÄ¿ + - \³21 + 1 + [radval= ÄÄÄÄÄÄÄÄÄÄÄ, radmult= 1, + 2 + Ú ÚÄÄ¿ ¿ + ³- \³21 + 1³ + ³ÄÄÄÄÄÄÄÄÄÄij + radvect= [³ 2 ³]] + ³ ³ + ³ 2 ³ + ³ ³ + À 1 Ù + , + Ú 0 ¿ + ³ ³ + ³ 1³ + [radval= 5,radmult= 1,radvect= [³- ij]]] + ³ 2³ + ³ ³ + À 1 Ù +Type: List Record(radval: Expression Integer,radmult: Integer,radvect: List Matrix Expression Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemEigenPageEmpty5} +\begin{paste}{ugProblemEigenPageEmpty5}{ugProblemEigenPagePatch5} +\pastebutton{ugProblemEigenPageEmpty5}{\showpaste} +\tab{5}\spadcommand{radicalEigenvectors(m1)\free{m1 }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemEigenPagePatch6} +\begin{paste}{ugProblemEigenPageFull6}{ugProblemEigenPageEmpty6} +\pastebutton{ugProblemEigenPageFull6}{\hidepaste} +\tab{5}\spadcommand{realEigenvectors(m1,1/1000)\free{m1 }} +\indentrel{3}\begin{verbatim} + (6) + Ú 0 ¿ + ³ ³ + ³ 1³ + [[outval= 5,outmult= 1,outvect= [³- ij]], + ³ 2³ + ³ ³ + À 1 Ù + Ú5717¿ + ³ÄÄÄij + 5717 ³2048³ + [outval= ÄÄÄÄ,outmult= 1,outvect= [³ ³]], + 2048 ³ 2 ³ + ³ ³ + À 1 Ù + Ú 3669¿ + ³- ÄÄÄij + 3669 ³ 2048³ + [outval= - ÄÄÄÄ,outmult= 1,outvect= [³ ³]]] + 2048 ³ 2 ³ + ³ ³ + À 1 Ù +Type: List Record(outval: Fraction Integer,outmult: Integer,outvect: List Matrix Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemEigenPageEmpty6} +\begin{paste}{ugProblemEigenPageEmpty6}{ugProblemEigenPagePatch6} +\pastebutton{ugProblemEigenPageEmpty6}{\showpaste} +\tab{5}\spadcommand{realEigenvectors(m1,1/1000)\free{m1 }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemEigenPagePatch7} +\begin{paste}{ugProblemEigenPageFull7}{ugProblemEigenPageEmpty7} +\pastebutton{ugProblemEigenPageFull7}{\hidepaste} +\tab{5}\spadcommand{eigenMatrix(m1)\free{m1 }} +\indentrel{3}\begin{verbatim} + Ú ÚÄÄ¿ ÚÄÄ¿ ¿ + ³\³21 + 1 - \³21 + 1 ³ + ³ÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄ 0 ³ + ³ 2 2 ³ + (7) ³ ³ + ³ 1³ + ³ 2 2 - ij + ³ 2³ + ³ ³ + À 1 1 1 Ù + Type: Union(Matrix Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemEigenPageEmpty7} +\begin{paste}{ugProblemEigenPageEmpty7}{ugProblemEigenPagePatch7} +\pastebutton{ugProblemEigenPageEmpty7}{\showpaste} +\tab{5}\spadcommand{eigenMatrix(m1)\free{m1 }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemEigenPagePatch8} +\begin{paste}{ugProblemEigenPageFull8}{ugProblemEigenPageEmpty8} +\pastebutton{ugProblemEigenPageFull8}{\hidepaste} +\tab{5}\spadcommand{m2 := matrix [[-5,-2],[18,7]]\bound{m2 }} +\indentrel{3}\begin{verbatim} + Ú- 5 - 2¿ + (8) ³ ³ + À18 7 Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemEigenPageEmpty8} +\begin{paste}{ugProblemEigenPageEmpty8}{ugProblemEigenPagePatch8} +\pastebutton{ugProblemEigenPageEmpty8}{\showpaste} +\tab{5}\spadcommand{m2 := matrix [[-5,-2],[18,7]]\bound{m2 }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemEigenPagePatch9} +\begin{paste}{ugProblemEigenPageFull9}{ugProblemEigenPageEmpty9} +\pastebutton{ugProblemEigenPageFull9}{\hidepaste} +\tab{5}\spadcommand{eigenMatrix(m2)\free{m2 }} +\indentrel{3}\begin{verbatim} + (9) "failed" + Type: Union("failed",...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemEigenPageEmpty9} +\begin{paste}{ugProblemEigenPageEmpty9}{ugProblemEigenPagePatch9} +\pastebutton{ugProblemEigenPageEmpty9}{\showpaste} +\tab{5}\spadcommand{eigenMatrix(m2)\free{m2 }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemEigenPagePatch10} +\begin{paste}{ugProblemEigenPageFull10}{ugProblemEigenPageEmpty10} +\pastebutton{ugProblemEigenPageFull10}{\hidepaste} +\tab{5}\spadcommand{m3 := matrix [[1,2],[2,1]]\bound{m3 }} +\indentrel{3}\begin{verbatim} + Ú1 2¿ + (10) ³ ³ + À2 1Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemEigenPageEmpty10} +\begin{paste}{ugProblemEigenPageEmpty10}{ugProblemEigenPagePatch10} +\pastebutton{ugProblemEigenPageEmpty10}{\showpaste} +\tab{5}\spadcommand{m3 := matrix [[1,2],[2,1]]\bound{m3 }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemEigenPagePatch11} +\begin{paste}{ugProblemEigenPageFull11}{ugProblemEigenPageEmpty11} +\pastebutton{ugProblemEigenPageFull11}{\hidepaste} +\tab{5}\spadcommand{orthonormalBasis(m3)\free{m3 }} +\indentrel{3}\begin{verbatim} + Ú 1 ¿ Ú 1 ¿ + ³- ÄÄÄij ³ÄÄÄij + ³ ÚÄ¿³ ³ ÚÄ¿³ + ³ \³2 ³ ³\³2 ³ + (11) [³ ³,³ ³] + ³ 1 ³ ³ 1 ³ + ³ ÄÄÄÄ ³ ³ÄÄÄij + ³ ÚÄ¿ ³ ³ ÚÄ¿³ + À \³2 Ù À\³2 Ù + Type: List Matrix Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemEigenPageEmpty11} +\begin{paste}{ugProblemEigenPageEmpty11}{ugProblemEigenPagePatch11} +\pastebutton{ugProblemEigenPageEmpty11}{\showpaste} +\tab{5}\spadcommand{orthonormalBasis(m3)\free{m3 }} +\end{paste}\end{patch} + @ \pagehead{ugProblemLinPolEqnPage}{ug08.ht} {Solution of Linear and Polynomial Equations} @@ -37757,6 +96931,102 @@ these vectors form a basis for the solution space. \autobuttons \end{page} +\begin{patch}{ugxProblemLinSysPagePatch1} +\begin{paste}{ugxProblemLinSysPageFull1}{ugxProblemLinSysPageEmpty1} +\pastebutton{ugxProblemLinSysPageFull1}{\hidepaste} +\tab{5}\spadcommand{solve([x+y+z=8,3*x-2*y+z=0,x+2*y+2*z=17],[x,y,z])} +\indentrel{3}\begin{verbatim} + (1) [[x= - 1,y= 2,z= 7]] + Type: List List Equation Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemLinSysPageEmpty1} +\begin{paste}{ugxProblemLinSysPageEmpty1}{ugxProblemLinSysPagePatch1} +\pastebutton{ugxProblemLinSysPageEmpty1}{\showpaste} +\tab{5}\spadcommand{solve([x+y+z=8,3*x-2*y+z=0,x+2*y+2*z=17],[x,y,z])} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemLinSysPagePatch2} +\begin{paste}{ugxProblemLinSysPageFull2}{ugxProblemLinSysPageEmpty2} +\pastebutton{ugxProblemLinSysPageFull2}{\hidepaste} +\tab{5}\spadcommand{solve([x+2*y+3*z=2,2*x+3*y+4*z=2,3*x+4*y+5*z=2],[x,y,z])} +\indentrel{3}\begin{verbatim} + (2) [[x= %Y - 2,y= - 2%Y + 2,z= %Y]] + Type: List List Equation Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemLinSysPageEmpty2} +\begin{paste}{ugxProblemLinSysPageEmpty2}{ugxProblemLinSysPagePatch2} +\pastebutton{ugxProblemLinSysPageEmpty2}{\showpaste} +\tab{5}\spadcommand{solve([x+2*y+3*z=2,2*x+3*y+4*z=2,3*x+4*y+5*z=2],[x,y,z])} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemLinSysPagePatch3} +\begin{paste}{ugxProblemLinSysPageFull3}{ugxProblemLinSysPageEmpty3} +\pastebutton{ugxProblemLinSysPageFull3}{\hidepaste} +\tab{5}\spadcommand{solve([[1,1,1],[3,-2,1],[1,2,2]],[8,0,17])} +\indentrel{3}\begin{verbatim} + (3) [particular= [- 1,2,7],basis= [[0,0,0]]] +Type: Record(particular: Union(Vector Fraction Integer,"failed"),basis: List Vector Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemLinSysPageEmpty3} +\begin{paste}{ugxProblemLinSysPageEmpty3}{ugxProblemLinSysPagePatch3} +\pastebutton{ugxProblemLinSysPageEmpty3}{\showpaste} +\tab{5}\spadcommand{solve([[1,1,1],[3,-2,1],[1,2,2]],[8,0,17])} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemLinSysPagePatch4} +\begin{paste}{ugxProblemLinSysPageFull4}{ugxProblemLinSysPageEmpty4} +\pastebutton{ugxProblemLinSysPageFull4}{\hidepaste} +\tab{5}\spadcommand{solve([[1,2,3],[2,3,4],[3,4,5]],[2,2,2])} +\indentrel{3}\begin{verbatim} + (4) [particular= [- 2,2,0],basis= [[1,- 2,1]]] +Type: Record(particular: Union(Vector Fraction Integer,"failed"),basis: List Vector Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemLinSysPageEmpty4} +\begin{paste}{ugxProblemLinSysPageEmpty4}{ugxProblemLinSysPagePatch4} +\pastebutton{ugxProblemLinSysPageEmpty4}{\showpaste} +\tab{5}\spadcommand{solve([[1,2,3],[2,3,4],[3,4,5]],[2,2,2])} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemLinSysPagePatch5} +\begin{paste}{ugxProblemLinSysPageFull5}{ugxProblemLinSysPageEmpty5} +\pastebutton{ugxProblemLinSysPageFull5}{\hidepaste} +\tab{5}\spadcommand{solve([[1,2,3],[2,3,4],[3,4,5]],[2,3,2])} +\indentrel{3}\begin{verbatim} + (5) [particular= "failed",basis= [[1,- 2,1]]] +Type: Record(particular: Union(Vector Fraction Integer,"failed"),basis: List Vector Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemLinSysPageEmpty5} +\begin{paste}{ugxProblemLinSysPageEmpty5}{ugxProblemLinSysPagePatch5} +\pastebutton{ugxProblemLinSysPageEmpty5}{\showpaste} +\tab{5}\spadcommand{solve([[1,2,3],[2,3,4],[3,4,5]],[2,3,2])} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemLinSysPagePatch6} +\begin{paste}{ugxProblemLinSysPageFull6}{ugxProblemLinSysPageEmpty6} +\pastebutton{ugxProblemLinSysPageFull6}{\hidepaste} +\tab{5}\spadcommand{nullSpace([[1,2,3],[2,3,4],[3,4,5]])} +\indentrel{3}\begin{verbatim} + (6) [[1,- 2,1]] + Type: List Vector Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemLinSysPageEmpty6} +\begin{paste}{ugxProblemLinSysPageEmpty6}{ugxProblemLinSysPagePatch6} +\pastebutton{ugxProblemLinSysPageEmpty6}{\showpaste} +\tab{5}\spadcommand{nullSpace([[1,2,3],[2,3,4],[3,4,5]])} +\end{paste}\end{patch} + @ \pagehead{ugxProblemOnePolPage}{ug08.ht} {Solution of a Single Polynomial Equation} @@ -37838,6 +97108,130 @@ Solutions where the denominator vanishes are discarded. \autobuttons \end{page} +\begin{patch}{ugxProblemOnePolPagePatch1} +\begin{paste}{ugxProblemOnePolPageFull1}{ugxProblemOnePolPageEmpty1} +\pastebutton{ugxProblemOnePolPageFull1}{\hidepaste} +\tab{5}\spadcommand{solve(x**3 = 8,x)} +\indentrel{3}\begin{verbatim} + 2 + (1) [x= 2,x + 2x + 4= 0] + Type: List Equation Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemOnePolPageEmpty1} +\begin{paste}{ugxProblemOnePolPageEmpty1}{ugxProblemOnePolPagePatch1} +\pastebutton{ugxProblemOnePolPageEmpty1}{\showpaste} +\tab{5}\spadcommand{solve(x**3 = 8,x)} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemOnePolPagePatch2} +\begin{paste}{ugxProblemOnePolPageFull2}{ugxProblemOnePolPageEmpty2} +\pastebutton{ugxProblemOnePolPageFull2}{\hidepaste} +\tab{5}\spadcommand{radicalSolve(x**3 = 8,x)} +\indentrel{3}\begin{verbatim} + ÚÄÄÄ¿ ÚÄÄÄ¿ + (2) [x= - \³- 3 - 1,x= \³- 3 - 1,x= 2] + Type: List Equation Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemOnePolPageEmpty2} +\begin{paste}{ugxProblemOnePolPageEmpty2}{ugxProblemOnePolPagePatch2} +\pastebutton{ugxProblemOnePolPageEmpty2}{\showpaste} +\tab{5}\spadcommand{radicalSolve(x**3 = 8,x)} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemOnePolPagePatch3} +\begin{paste}{ugxProblemOnePolPageFull3}{ugxProblemOnePolPageEmpty3} +\pastebutton{ugxProblemOnePolPageFull3}{\hidepaste} +\tab{5}\spadcommand{solve(x**4 - 10*x**3 + 35*x**2 - 50*x + 25,.0001)} +\indentrel{3}\begin{verbatim} + (3) [x= 3.6180114746 09375,x= 1.3819885253 90625] + Type: List Equation Polynomial Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemOnePolPageEmpty3} +\begin{paste}{ugxProblemOnePolPageEmpty3}{ugxProblemOnePolPagePatch3} +\pastebutton{ugxProblemOnePolPageEmpty3}{\showpaste} +\tab{5}\spadcommand{solve(x**4 - 10*x**3 + 35*x**2 - 50*x + 25,.0001)} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemOnePolPagePatch4} +\begin{paste}{ugxProblemOnePolPageFull4}{ugxProblemOnePolPageEmpty4} +\pastebutton{ugxProblemOnePolPageFull4}{\hidepaste} +\tab{5}\spadcommand{solve(x**3-2,1/1000)} +\indentrel{3}\begin{verbatim} + 2581 + (4) [x= ÄÄÄÄ] + 2048 + Type: List Equation Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemOnePolPageEmpty4} +\begin{paste}{ugxProblemOnePolPageEmpty4}{ugxProblemOnePolPagePatch4} +\pastebutton{ugxProblemOnePolPageEmpty4}{\showpaste} +\tab{5}\spadcommand{solve(x**3-2,1/1000)} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemOnePolPagePatch5} +\begin{paste}{ugxProblemOnePolPageFull5}{ugxProblemOnePolPageEmpty5} +\pastebutton{ugxProblemOnePolPageFull5}{\hidepaste} +\tab{5}\spadcommand{complexSolve(x**3-2,.0001)} +\indentrel{3}\begin{verbatim} + (5) + [x= 1.2599182128 90625, + x= - 0.6298943279 5395613131 - 1.0910949707 03125 %i, + x= - 0.6298943279 5395613131 + 1.0910949707 03125 %i] + Type: List Equation Polynomial Complex Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemOnePolPageEmpty5} +\begin{paste}{ugxProblemOnePolPageEmpty5}{ugxProblemOnePolPagePatch5} +\pastebutton{ugxProblemOnePolPageEmpty5}{\showpaste} +\tab{5}\spadcommand{complexSolve(x**3-2,.0001)} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemOnePolPagePatch6} +\begin{paste}{ugxProblemOnePolPageFull6}{ugxProblemOnePolPageEmpty6} +\pastebutton{ugxProblemOnePolPageFull6}{\hidepaste} +\tab{5}\spadcommand{complexSolve(x**2-2*\%i+1,1/100)} +\indentrel{3}\begin{verbatim} + 13028925 325 13028925 325 + (6) [x= - ÄÄÄÄÄÄÄÄ - ÄÄÄ %i,x= ÄÄÄÄÄÄÄÄ + ÄÄÄ %i] + 16777216 256 16777216 256 +Type: List Equation Polynomial Complex Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemOnePolPageEmpty6} +\begin{paste}{ugxProblemOnePolPageEmpty6}{ugxProblemOnePolPagePatch6} +\pastebutton{ugxProblemOnePolPageEmpty6}{\showpaste} +\tab{5}\spadcommand{complexSolve(x**2-2*\%i+1,1/100)} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemOnePolPagePatch7} +\begin{paste}{ugxProblemOnePolPageFull7}{ugxProblemOnePolPageEmpty7} +\pastebutton{ugxProblemOnePolPageFull7}{\hidepaste} +\tab{5}\spadcommand{radicalSolve(1/x**3 + 1/x**2 + 1/x = 0,x)} +\indentrel{3}\begin{verbatim} + ÚÄÄÄ¿ ÚÄÄÄ¿ + - \³- 3 - 1 \³- 3 - 1 + (7) [x= ÄÄÄÄÄÄÄÄÄÄÄÄ,x= ÄÄÄÄÄÄÄÄÄÄ] + 2 2 + Type: List Equation Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemOnePolPageEmpty7} +\begin{paste}{ugxProblemOnePolPageEmpty7}{ugxProblemOnePolPagePatch7} +\pastebutton{ugxProblemOnePolPageEmpty7}{\showpaste} +\tab{5}\spadcommand{radicalSolve(1/x**3 + 1/x**2 + 1/x = 0,x)} +\end{paste}\end{patch} + @ \pagehead{ugxProblemPolSysPage}{ug08.ht} {Solution of Systems of Polynomial Equations} @@ -37934,6 +97328,172 @@ discarded. \autobuttons \end{page} +\begin{patch}{ugxProblemPolSysPagePatch1} +\begin{paste}{ugxProblemPolSysPageFull1}{ugxProblemPolSysPageEmpty1} +\pastebutton{ugxProblemPolSysPageFull1}{\hidepaste} +\tab{5}\spadcommand{solve([3*x**3 + y + 1,y**2 -4],[x,y])} +\indentrel{3}\begin{verbatim} + (1) + 2 + [[x= - 1,y= 2], [x - x + 1= 0,y= 2], + 3 + [3x - 1= 0,y= - 2]] + Type: List List Equation Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemPolSysPageEmpty1} +\begin{paste}{ugxProblemPolSysPageEmpty1}{ugxProblemPolSysPagePatch1} +\pastebutton{ugxProblemPolSysPageEmpty1}{\showpaste} +\tab{5}\spadcommand{solve([3*x**3 + y + 1,y**2 -4],[x,y])} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemPolSysPagePatch2} +\begin{paste}{ugxProblemPolSysPageFull2}{ugxProblemPolSysPageEmpty2} +\pastebutton{ugxProblemPolSysPageFull2}{\hidepaste} +\tab{5}\spadcommand{solve([x = y**2-19,y = z**2+x+3,z = 3*x],[x,y,z])} +\indentrel{3}\begin{verbatim} + (2) + 2 + z 3z + z + 9 4 3 2 + [[x= Ä,y= ÄÄÄÄÄÄÄÄÄÄÄ,9z + 6z + 55z + 15z - 90= 0]] + 3 3 + Type: List List Equation Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemPolSysPageEmpty2} +\begin{paste}{ugxProblemPolSysPageEmpty2}{ugxProblemPolSysPagePatch2} +\pastebutton{ugxProblemPolSysPageEmpty2}{\showpaste} +\tab{5}\spadcommand{solve([x = y**2-19,y = z**2+x+3,z = 3*x],[x,y,z])} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemPolSysPagePatch3} +\begin{paste}{ugxProblemPolSysPageFull3}{ugxProblemPolSysPageEmpty3} +\pastebutton{ugxProblemPolSysPageFull3}{\hidepaste} +\tab{5}\spadcommand{radicalSolve([3*x**3 + y + 1,y**2 -4],[x,y])} +\indentrel{3}\begin{verbatim} + (3) + ÚÄÄÄ¿ ÚÄÄÄ¿ + \³- 3 + 1 - \³- 3 + 1 + [[x= ÄÄÄÄÄÄÄÄÄÄ,y= 2], [x= ÄÄÄÄÄÄÄÄÄÄÄÄ,y= 2], + 2 2 + ÚÄÄÄ¿ ÚÄ¿ + - \³- 1 \³3 - 1 + [x= ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ,y= - 2], + 3ÚÄ¿ + 2\³3 + ÚÄÄÄ¿ ÚÄ¿ + \³- 1 \³3 - 1 1 + [x= ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ,y= - 2], [x= ÄÄÄÄ,y= - 2], + 3ÚÄ¿ 3ÚÄ¿ + 2\³3 \³3 + [x= - 1,y= 2]] + Type: List List Equation Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemPolSysPageEmpty3} +\begin{paste}{ugxProblemPolSysPageEmpty3}{ugxProblemPolSysPagePatch3} +\pastebutton{ugxProblemPolSysPageEmpty3}{\showpaste} +\tab{5}\spadcommand{radicalSolve([3*x**3 + y + 1,y**2 -4],[x,y])} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemPolSysPagePatch4} +\begin{paste}{ugxProblemPolSysPageFull4}{ugxProblemPolSysPageEmpty4} +\pastebutton{ugxProblemPolSysPageFull4}{\hidepaste} +\tab{5}\spadcommand{solve([x**2*y - 1,x*y**2 - 2],.01)} +\indentrel{3}\begin{verbatim} + (4) [[y= 1.5859375,x= 0.79296875]] + Type: List List Equation Polynomial Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemPolSysPageEmpty4} +\begin{paste}{ugxProblemPolSysPageEmpty4}{ugxProblemPolSysPagePatch4} +\pastebutton{ugxProblemPolSysPageEmpty4}{\showpaste} +\tab{5}\spadcommand{solve([x**2*y - 1,x*y**2 - 2],.01)} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemPolSysPagePatch5} +\begin{paste}{ugxProblemPolSysPageFull5}{ugxProblemPolSysPageEmpty5} +\pastebutton{ugxProblemPolSysPageFull5}{\hidepaste} +\tab{5}\spadcommand{complexSolve([x**2*y - 1,x*y**2 - 2],1/1000)} +\indentrel{3}\begin{verbatim} + (5) + 1625 1625 + [[y= ÄÄÄÄ,x= ÄÄÄÄ], + 1024 2048 + + 435445573689 1407 + [y= - ÄÄÄÄÄÄÄÄÄÄÄÄ - ÄÄÄÄ %i, + 549755813888 1024 + 435445573689 1407 + x= - ÄÄÄÄÄÄÄÄÄÄÄÄÄ - ÄÄÄÄ %i] + 1099511627776 2048 + , + + 435445573689 1407 + [y= - ÄÄÄÄÄÄÄÄÄÄÄÄ + ÄÄÄÄ %i, + 549755813888 1024 + 435445573689 1407 + x= - ÄÄÄÄÄÄÄÄÄÄÄÄÄ + ÄÄÄÄ %i] + 1099511627776 2048 + ] +Type: List List Equation Polynomial Complex Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemPolSysPageEmpty5} +\begin{paste}{ugxProblemPolSysPageEmpty5}{ugxProblemPolSysPagePatch5} +\pastebutton{ugxProblemPolSysPageEmpty5}{\showpaste} +\tab{5}\spadcommand{complexSolve([x**2*y - 1,x*y**2 - 2],1/1000)} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemPolSysPagePatch6} +\begin{paste}{ugxProblemPolSysPageFull6}{ugxProblemPolSysPageEmpty6} +\pastebutton{ugxProblemPolSysPageFull6}{\hidepaste} +\tab{5}\spadcommand{solve([x**2/a = a,a = a*x],.001)} +\indentrel{3}\begin{verbatim} + (6) [[x= 1.0,a= - 1.0],[x= 1.0,a= 1.0]] + Type: List List Equation Polynomial Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemPolSysPageEmpty6} +\begin{paste}{ugxProblemPolSysPageEmpty6}{ugxProblemPolSysPagePatch6} +\pastebutton{ugxProblemPolSysPageEmpty6}{\showpaste} +\tab{5}\spadcommand{solve([x**2/a = a,a = a*x],.001)} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemPolSysPagePatch7} +\begin{paste}{ugxProblemPolSysPageFull7}{ugxProblemPolSysPageEmpty7} +\pastebutton{ugxProblemPolSysPageFull7}{\hidepaste} +\tab{5}\spadcommand{radicalSolve([x**2/a + a + y**3 - 1,a*y + a + 1],[x,y])} +\indentrel{3}\begin{verbatim} + (7) + ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ + ³ 4 3 2 + ³- a + 2a + 3a + 3a + 1 - a - 1 + [[x= - ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ,y= ÄÄÄÄÄÄÄ], + ³ 2 a + \³ a + ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ + ³ 4 3 2 + ³- a + 2a + 3a + 3a + 1 - a - 1 + [x= ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ,y= ÄÄÄÄÄÄÄ]] + ³ 2 a + \³ a + Type: List List Equation Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemPolSysPageEmpty7} +\begin{paste}{ugxProblemPolSysPageEmpty7}{ugxProblemPolSysPagePatch7} +\pastebutton{ugxProblemPolSysPageEmpty7}{\showpaste} +\tab{5}\spadcommand{radicalSolve([x**2/a + a + y**3 - 1,a*y + a + 1],[x,y])} +\end{paste}\end{patch} + @ \pagehead{ugProblemLimitsPage}{ug08.ht}{Limits} <>= @@ -38076,6 +97636,227 @@ But this limit does not. \autobuttons \end{page} +\begin{patch}{ugProblemLimitsPagePatch1} +\begin{paste}{ugProblemLimitsPageFull1}{ugProblemLimitsPageEmpty1} +\pastebutton{ugProblemLimitsPageFull1}{\hidepaste} +\tab{5}\spadcommand{limit((x**2 - 3*x + 2)/(x**2 - 1),x = 1)} +\indentrel{3}\begin{verbatim} + 1 + (1) - Ä + 2 +Type: Union(OrderedCompletion Fraction Polynomial Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemLimitsPageEmpty1} +\begin{paste}{ugProblemLimitsPageEmpty1}{ugProblemLimitsPagePatch1} +\pastebutton{ugProblemLimitsPageEmpty1}{\showpaste} +\tab{5}\spadcommand{limit((x**2 - 3*x + 2)/(x**2 - 1),x = 1)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemLimitsPagePatch2} +\begin{paste}{ugProblemLimitsPageFull2}{ugProblemLimitsPageEmpty2} +\pastebutton{ugProblemLimitsPageFull2}{\hidepaste} +\tab{5}\spadcommand{limit(x * log(x),x = 0,"right")} +\indentrel{3}\begin{verbatim} + (2) 0 + Type: Union(OrderedCompletion Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemLimitsPageEmpty2} +\begin{paste}{ugProblemLimitsPageEmpty2}{ugProblemLimitsPagePatch2} +\pastebutton{ugProblemLimitsPageEmpty2}{\showpaste} +\tab{5}\spadcommand{limit(x * log(x),x = 0,"right")} +\end{paste}\end{patch} + +\begin{patch}{ugProblemLimitsPagePatch3} +\begin{paste}{ugProblemLimitsPageFull3}{ugProblemLimitsPageEmpty3} +\pastebutton{ugProblemLimitsPageFull3}{\hidepaste} +\tab{5}\spadcommand{limit(x * log(x),x = 0)} +\indentrel{3}\begin{verbatim} + (3) [leftHandLimit= "failed",rightHandLimit= 0] +Type: Union(Record(leftHandLimit: Union(OrderedCompletion Expression Integer,"failed"),rightHandLimit: Union(OrderedCompletion Expression Integer,"failed")),...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemLimitsPageEmpty3} +\begin{paste}{ugProblemLimitsPageEmpty3}{ugProblemLimitsPagePatch3} +\pastebutton{ugProblemLimitsPageEmpty3}{\showpaste} +\tab{5}\spadcommand{limit(x * log(x),x = 0)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemLimitsPagePatch4} +\begin{paste}{ugProblemLimitsPageFull4}{ugProblemLimitsPageEmpty4} +\pastebutton{ugProblemLimitsPageFull4}{\hidepaste} +\tab{5}\spadcommand{limit(sqrt(y**2)/y,y = 0)} +\indentrel{3}\begin{verbatim} + (4) [leftHandLimit= - 1,rightHandLimit= 1] +Type: Union(Record(leftHandLimit: Union(OrderedCompletion Expression Integer,"failed"),rightHandLimit: Union(OrderedCompletion Expression Integer,"failed")),...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemLimitsPageEmpty4} +\begin{paste}{ugProblemLimitsPageEmpty4}{ugProblemLimitsPagePatch4} +\pastebutton{ugProblemLimitsPageEmpty4}{\showpaste} +\tab{5}\spadcommand{limit(sqrt(y**2)/y,y = 0)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemLimitsPagePatch5} +\begin{paste}{ugProblemLimitsPageFull5}{ugProblemLimitsPageEmpty5} +\pastebutton{ugProblemLimitsPageFull5}{\hidepaste} +\tab{5}\spadcommand{limit(sqrt(1 - cos(t))/t,t = 0)} +\indentrel{3}\begin{verbatim} + 1 1 + (5) [leftHandLimit= - ÄÄÄÄ,rightHandLimit= ÄÄÄÄ] + ÚÄ¿ ÚÄ¿ + \³2 \³2 +Type: Union(Record(leftHandLimit: Union(OrderedCompletion Expression Integer,"failed"),rightHandLimit: Union(OrderedCompletion Expression Integer,"failed")),...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemLimitsPageEmpty5} +\begin{paste}{ugProblemLimitsPageEmpty5}{ugProblemLimitsPagePatch5} +\pastebutton{ugProblemLimitsPageEmpty5}{\showpaste} +\tab{5}\spadcommand{limit(sqrt(1 - cos(t))/t,t = 0)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemLimitsPagePatch6} +\begin{paste}{ugProblemLimitsPageFull6}{ugProblemLimitsPageEmpty6} +\pastebutton{ugProblemLimitsPageFull6}{\hidepaste} +\tab{5}\spadcommand{limit(sqrt(3*x**2 + 1)/(5*x),x = \%plusInfinity)} +\indentrel{3}\begin{verbatim} + ÚÄ¿ + \³3 + (6) ÄÄÄÄ + 5 + Type: Union(OrderedCompletion Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemLimitsPageEmpty6} +\begin{paste}{ugProblemLimitsPageEmpty6}{ugProblemLimitsPagePatch6} +\pastebutton{ugProblemLimitsPageEmpty6}{\showpaste} +\tab{5}\spadcommand{limit(sqrt(3*x**2 + 1)/(5*x),x = \%plusInfinity)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemLimitsPagePatch7} +\begin{paste}{ugProblemLimitsPageFull7}{ugProblemLimitsPageEmpty7} +\pastebutton{ugProblemLimitsPageFull7}{\hidepaste} +\tab{5}\spadcommand{limit(sqrt(3*x**2 + 1)/(5*x),x = \%minusInfinity)} +\indentrel{3}\begin{verbatim} + ÚÄ¿ + \³3 + (7) - ÄÄÄÄ + 5 + Type: Union(OrderedCompletion Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemLimitsPageEmpty7} +\begin{paste}{ugProblemLimitsPageEmpty7}{ugProblemLimitsPagePatch7} +\pastebutton{ugProblemLimitsPageEmpty7}{\showpaste} +\tab{5}\spadcommand{limit(sqrt(3*x**2 + 1)/(5*x),x = \%minusInfinity)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemLimitsPagePatch8} +\begin{paste}{ugProblemLimitsPageFull8}{ugProblemLimitsPageEmpty8} +\pastebutton{ugProblemLimitsPageFull8}{\hidepaste} +\tab{5}\spadcommand{limit(sinh(a*x)/tan(b*x),x = 0)} +\indentrel{3}\begin{verbatim} + a + (8) Ä + b + Type: Union(OrderedCompletion Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemLimitsPageEmpty8} +\begin{paste}{ugProblemLimitsPageEmpty8}{ugProblemLimitsPagePatch8} +\pastebutton{ugProblemLimitsPageEmpty8}{\showpaste} +\tab{5}\spadcommand{limit(sinh(a*x)/tan(b*x),x = 0)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemLimitsPagePatch9} +\begin{paste}{ugProblemLimitsPageFull9}{ugProblemLimitsPageEmpty9} +\pastebutton{ugProblemLimitsPageFull9}{\hidepaste} +\tab{5}\spadcommand{limit(z * sin(1/z),z = 0)} +\indentrel{3}\begin{verbatim} + (9) 0 + Type: Union(OrderedCompletion Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemLimitsPageEmpty9} +\begin{paste}{ugProblemLimitsPageEmpty9}{ugProblemLimitsPagePatch9} +\pastebutton{ugProblemLimitsPageEmpty9}{\showpaste} +\tab{5}\spadcommand{limit(z * sin(1/z),z = 0)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemLimitsPagePatch10} +\begin{paste}{ugProblemLimitsPageFull10}{ugProblemLimitsPageEmpty10} +\pastebutton{ugProblemLimitsPageFull10}{\hidepaste} +\tab{5}\spadcommand{complexLimit(z * sin(1/z),z = 0)} +\indentrel{3}\begin{verbatim} + (10) "failed" + Type: Union("failed",...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemLimitsPageEmpty10} +\begin{paste}{ugProblemLimitsPageEmpty10}{ugProblemLimitsPagePatch10} +\pastebutton{ugProblemLimitsPageEmpty10}{\showpaste} +\tab{5}\spadcommand{complexLimit(z * sin(1/z),z = 0)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemLimitsPagePatch11} +\begin{paste}{ugProblemLimitsPageFull11}{ugProblemLimitsPageEmpty11} +\pastebutton{ugProblemLimitsPageFull11}{\hidepaste} +\tab{5}\spadcommand{complexLimit((2 + z)/(1 - z),z = \%infinity)} +\indentrel{3}\begin{verbatim} + (11) - 1 + Type: OnePointCompletion Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemLimitsPageEmpty11} +\begin{paste}{ugProblemLimitsPageEmpty11}{ugProblemLimitsPagePatch11} +\pastebutton{ugProblemLimitsPageEmpty11}{\showpaste} +\tab{5}\spadcommand{complexLimit((2 + z)/(1 - z),z = \%infinity)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemLimitsPagePatch12} +\begin{paste}{ugProblemLimitsPageFull12}{ugProblemLimitsPageEmpty12} +\pastebutton{ugProblemLimitsPageFull12}{\hidepaste} +\tab{5}\spadcommand{limit(sin(x)/x,x = \%plusInfinity)} +\indentrel{3}\begin{verbatim} + (12) 0 + Type: Union(OrderedCompletion Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemLimitsPageEmpty12} +\begin{paste}{ugProblemLimitsPageEmpty12}{ugProblemLimitsPagePatch12} +\pastebutton{ugProblemLimitsPageEmpty12}{\showpaste} +\tab{5}\spadcommand{limit(sin(x)/x,x = \%plusInfinity)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemLimitsPagePatch13} +\begin{paste}{ugProblemLimitsPageFull13}{ugProblemLimitsPageEmpty13} +\pastebutton{ugProblemLimitsPageFull13}{\hidepaste} +\tab{5}\spadcommand{complexLimit(sin(x)/x,x = \%infinity)} +\indentrel{3}\begin{verbatim} + (13) "failed" + Type: Union("failed",...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemLimitsPageEmpty13} +\begin{paste}{ugProblemLimitsPageEmpty13}{ugProblemLimitsPagePatch13} +\pastebutton{ugProblemLimitsPageEmpty13}{\showpaste} +\tab{5}\spadcommand{complexLimit(sin(x)/x,x = \%infinity)} +\end{paste}\end{patch} + @ \pagehead{ugProblemLaplacePage}{ug08.ht}{Laplace Transforms} <>= @@ -38131,6 +97912,160 @@ it keeps it as a formal transform in the answer. \autobuttons \end{page} +\begin{patch}{ugProblemLaplacePagePatch1} +\begin{paste}{ugProblemLaplacePageFull1}{ugProblemLaplacePageEmpty1} +\pastebutton{ugProblemLaplacePageFull1}{\hidepaste} +\tab{5}\spadcommand{laplace(sin(a*t)*cosh(a*t)-cos(a*t)*sinh(a*t), t, s)} +\indentrel{3}\begin{verbatim} + 3 + 4a + (1) ÄÄÄÄÄÄÄÄ + 4 4 + s + 4a + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemLaplacePageEmpty1} +\begin{paste}{ugProblemLaplacePageEmpty1}{ugProblemLaplacePagePatch1} +\pastebutton{ugProblemLaplacePageEmpty1}{\showpaste} +\tab{5}\spadcommand{laplace(sin(a*t)*cosh(a*t)-cos(a*t)*sinh(a*t), t, s)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemLaplacePagePatch2} +\begin{paste}{ugProblemLaplacePageFull2}{ugProblemLaplacePageEmpty2} +\pastebutton{ugProblemLaplacePageFull2}{\hidepaste} +\tab{5}\spadcommand{laplace((exp(a*t) - exp(b*t))/t, t, s)} +\indentrel{3}\begin{verbatim} + (2) - log(s - a) + log(s - b) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemLaplacePageEmpty2} +\begin{paste}{ugProblemLaplacePageEmpty2}{ugProblemLaplacePagePatch2} +\pastebutton{ugProblemLaplacePageEmpty2}{\showpaste} +\tab{5}\spadcommand{laplace((exp(a*t) - exp(b*t))/t, t, s)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemLaplacePagePatch3} +\begin{paste}{ugProblemLaplacePageFull3}{ugProblemLaplacePageEmpty3} +\pastebutton{ugProblemLaplacePageFull3}{\hidepaste} +\tab{5}\spadcommand{laplace(2/t * (1 - cos(a*t)), t, s)} +\indentrel{3}\begin{verbatim} + 2 2 + (3) log(s + a ) - 2log(s) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemLaplacePageEmpty3} +\begin{paste}{ugProblemLaplacePageEmpty3}{ugProblemLaplacePagePatch3} +\pastebutton{ugProblemLaplacePageEmpty3}{\showpaste} +\tab{5}\spadcommand{laplace(2/t * (1 - cos(a*t)), t, s)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemLaplacePagePatch4} +\begin{paste}{ugProblemLaplacePageFull4}{ugProblemLaplacePageEmpty4} +\pastebutton{ugProblemLaplacePageFull4}{\hidepaste} +\tab{5}\spadcommand{laplace(exp(-a*t) * sin(b*t) / b**2, t, s)} +\indentrel{3}\begin{verbatim} + 1 + (4) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 2 3 2 + b s + 2a b s + b + a b + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemLaplacePageEmpty4} +\begin{paste}{ugProblemLaplacePageEmpty4}{ugProblemLaplacePagePatch4} +\pastebutton{ugProblemLaplacePageEmpty4}{\showpaste} +\tab{5}\spadcommand{laplace(exp(-a*t) * sin(b*t) / b**2, t, s)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemLaplacePagePatch5} +\begin{paste}{ugProblemLaplacePageFull5}{ugProblemLaplacePageEmpty5} +\pastebutton{ugProblemLaplacePageFull5}{\hidepaste} +\tab{5}\spadcommand{laplace((cos(a*t) - cos(b*t))/t, t, s)} +\indentrel{3}\begin{verbatim} + 2 2 2 2 + log(s + b ) - log(s + a ) + (5) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 2 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemLaplacePageEmpty5} +\begin{paste}{ugProblemLaplacePageEmpty5}{ugProblemLaplacePagePatch5} +\pastebutton{ugProblemLaplacePageEmpty5}{\showpaste} +\tab{5}\spadcommand{laplace((cos(a*t) - cos(b*t))/t, t, s)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemLaplacePagePatch6} +\begin{paste}{ugProblemLaplacePageFull6}{ugProblemLaplacePageEmpty6} +\pastebutton{ugProblemLaplacePageFull6}{\hidepaste} +\tab{5}\spadcommand{laplace(exp(a*t+b)*Ei(c*t), t, s)} +\indentrel{3}\begin{verbatim} + b s + c - a + %e log(ÄÄÄÄÄÄÄÄÄ) + c + (6) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + s - a + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemLaplacePageEmpty6} +\begin{paste}{ugProblemLaplacePageEmpty6}{ugProblemLaplacePagePatch6} +\pastebutton{ugProblemLaplacePageEmpty6}{\showpaste} +\tab{5}\spadcommand{laplace(exp(a*t+b)*Ei(c*t), t, s)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemLaplacePagePatch7} +\begin{paste}{ugProblemLaplacePageFull7}{ugProblemLaplacePageEmpty7} +\pastebutton{ugProblemLaplacePageFull7}{\hidepaste} +\tab{5}\spadcommand{laplace(a*Ci(b*t) + c*Si(d*t), t, s)} +\indentrel{3}\begin{verbatim} + 2 2 + s + b d + a log(ÄÄÄÄÄÄÄ) + 2c atan(Ä) + 2 s + b + (7) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 2s + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemLaplacePageEmpty7} +\begin{paste}{ugProblemLaplacePageEmpty7}{ugProblemLaplacePagePatch7} +\pastebutton{ugProblemLaplacePageEmpty7}{\showpaste} +\tab{5}\spadcommand{laplace(a*Ci(b*t) + c*Si(d*t), t, s)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemLaplacePagePatch8} +\begin{paste}{ugProblemLaplacePageFull8}{ugProblemLaplacePageEmpty8} +\pastebutton{ugProblemLaplacePageFull8}{\hidepaste} +\tab{5}\spadcommand{laplace(sin(a*t) - a*t*cos(a*t) + exp(t**2), t, s)} +\indentrel{3}\begin{verbatim} + 2 + 4 2 2 4 t 3 + (s + 2a s + a )laplace(%e ,t,s) + 2a + (8) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 4 2 2 4 + s + 2a s + a + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemLaplacePageEmpty8} +\begin{paste}{ugProblemLaplacePageEmpty8}{ugProblemLaplacePagePatch8} +\pastebutton{ugProblemLaplacePageEmpty8}{\showpaste} +\tab{5}\spadcommand{laplace(sin(a*t) - a*t*cos(a*t) + exp(t**2), t, s)} +\end{paste}\end{patch} + @ \pagehead{ugProblemIntegrationPage}{ug08.ht}{Integration} \pageto{notitle}{ugxProblemSymRootAllPage} @@ -38270,6 +98205,245 @@ The value here is, of course, incorrect if \axiom{sqrt(a)} is between \autobuttons \end{page} +\begin{patch}{ugProblemIntegrationPagePatch1} +\begin{paste}{ugProblemIntegrationPageFull1}{ugProblemIntegrationPageEmpty1} +\pastebutton{ugProblemIntegrationPageFull1}{\hidepaste} +\tab{5}\spadcommand{integrate(cosh(a*x)*sinh(a*x), x)} +\indentrel{3}\begin{verbatim} + 2 2 + sinh(a x) + cosh(a x) + (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 4a + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIntegrationPageEmpty1} +\begin{paste}{ugProblemIntegrationPageEmpty1}{ugProblemIntegrationPagePatch1} +\pastebutton{ugProblemIntegrationPageEmpty1}{\showpaste} +\tab{5}\spadcommand{integrate(cosh(a*x)*sinh(a*x), x)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemIntegrationPagePatch2} +\begin{paste}{ugProblemIntegrationPageFull2}{ugProblemIntegrationPageEmpty2} +\pastebutton{ugProblemIntegrationPageFull2}{\hidepaste} +\tab{5}\spadcommand{integrate(log(1 + sqrt(a * x + b)) / x, x)} +\indentrel{3}\begin{verbatim} + x ÚÄÄÄÄÄÄÄÄ¿ + Ú¿ log(\³b + %E a + 1) + (2) ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ d%E + ÀÙ %E + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIntegrationPageEmpty2} +\begin{paste}{ugProblemIntegrationPageEmpty2}{ugProblemIntegrationPagePatch2} +\pastebutton{ugProblemIntegrationPageEmpty2}{\showpaste} +\tab{5}\spadcommand{integrate(log(1 + sqrt(a * x + b)) / x, x)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemIntegrationPagePatch3} +\begin{paste}{ugProblemIntegrationPageFull3}{ugProblemIntegrationPageEmpty3} +\pastebutton{ugProblemIntegrationPageFull3}{\hidepaste} +\tab{5}\spadcommand{integrate(1/(x**2 - 2),x)} +\indentrel{3}\begin{verbatim} + 2 ÚÄ¿ + (x + 2)\³2 - 4x + log(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) + 2 + x - 2 + (3) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + ÚÄ¿ + 2\³2 + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIntegrationPageEmpty3} +\begin{paste}{ugProblemIntegrationPageEmpty3}{ugProblemIntegrationPagePatch3} +\pastebutton{ugProblemIntegrationPageEmpty3}{\showpaste} +\tab{5}\spadcommand{integrate(1/(x**2 - 2),x)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemIntegrationPagePatch4} +\begin{paste}{ugProblemIntegrationPageFull4}{ugProblemIntegrationPageEmpty4} +\pastebutton{ugProblemIntegrationPageFull4}{\hidepaste} +\tab{5}\spadcommand{integrate(1/(x**2 + 2),x)} +\indentrel{3}\begin{verbatim} + ÚÄ¿ + x\³2 + atan(ÄÄÄÄÄ) + 2 + (4) ÄÄÄÄÄÄÄÄÄÄÄ + ÚÄ¿ + \³2 + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIntegrationPageEmpty4} +\begin{paste}{ugProblemIntegrationPageEmpty4}{ugProblemIntegrationPagePatch4} +\pastebutton{ugProblemIntegrationPageEmpty4}{\showpaste} +\tab{5}\spadcommand{integrate(1/(x**2 + 2),x)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemIntegrationPagePatch5} +\begin{paste}{ugProblemIntegrationPageFull5}{ugProblemIntegrationPageEmpty5} +\pastebutton{ugProblemIntegrationPageFull5}{\hidepaste} +\tab{5}\spadcommand{integrate(x**2 / (x**4 - a**2), x)} +\indentrel{3}\begin{verbatim} + (5) + 2 ÚÄ¿ ÚÄ¿ + (x + a)\³a - 2a x x\³a + log(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) + 2atan(ÄÄÄÄÄ) + 2 a + x - a + [ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, + ÚÄ¿ + 4\³a + 2 ÚÄÄÄ¿ ÚÄÄÄ¿ + (x - a)\³- a + 2a x x\³- a + log(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) - 2atan(ÄÄÄÄÄÄÄ) + 2 a + x + a + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ] + ÚÄÄÄ¿ + 4\³- a + Type: Union(List Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIntegrationPageEmpty5} +\begin{paste}{ugProblemIntegrationPageEmpty5}{ugProblemIntegrationPagePatch5} +\pastebutton{ugProblemIntegrationPageEmpty5}{\showpaste} +\tab{5}\spadcommand{integrate(x**2 / (x**4 - a**2), x)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemIntegrationPagePatch6} +\begin{paste}{ugProblemIntegrationPageFull6}{ugProblemIntegrationPageEmpty6} +\pastebutton{ugProblemIntegrationPageFull6}{\hidepaste} +\tab{5}\spadcommand{complexIntegrate(x**2 / (x**4 - a**2), x)} +\indentrel{3}\begin{verbatim} + (6) + ÚÄÄÄÄ¿ ÚÄÄ¿ + ÚÄÄ¿ x\³- 4a + 2a ÚÄÄÄÄ¿ x\³4a + 2a + \³4a log(ÄÄÄÄÄÄÄÄÄÄÄÄÄ) - \³- 4a log(ÄÄÄÄÄÄÄÄÄÄÄ) + ÚÄÄÄÄ¿ ÚÄÄ¿ + \³- 4a \³4a + + + ÚÄÄ¿ ÚÄÄÄÄ¿ + ÚÄÄÄÄ¿ x\³4a - 2a ÚÄÄ¿ x\³- 4a - 2a + \³- 4a log(ÄÄÄÄÄÄÄÄÄÄÄ) - \³4a log(ÄÄÄÄÄÄÄÄÄÄÄÄÄ) + ÚÄÄ¿ ÚÄÄÄÄ¿ + \³4a \³- 4a + / + ÚÄÄÄÄ¿ ÚÄÄ¿ + 2\³- 4a \³4a + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIntegrationPageEmpty6} +\begin{paste}{ugProblemIntegrationPageEmpty6}{ugProblemIntegrationPagePatch6} +\pastebutton{ugProblemIntegrationPageEmpty6}{\showpaste} +\tab{5}\spadcommand{complexIntegrate(x**2 / (x**4 - a**2), x)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemIntegrationPagePatch7} +\begin{paste}{ugProblemIntegrationPageFull7}{ugProblemIntegrationPageEmpty7} +\pastebutton{ugProblemIntegrationPageFull7}{\hidepaste} +\tab{5}\spadcommand{complexIntegrate(log(1 + sqrt(a * x + b)) / x, x)} +\indentrel{3}\begin{verbatim} + x ÚÄÄÄÄÄÄÄÄ¿ + Ú¿ log(\³b + %E a + 1) + (7) ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ d%E + ÀÙ %E + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIntegrationPageEmpty7} +\begin{paste}{ugProblemIntegrationPageEmpty7}{ugProblemIntegrationPagePatch7} +\pastebutton{ugProblemIntegrationPageEmpty7}{\showpaste} +\tab{5}\spadcommand{complexIntegrate(log(1 + sqrt(a * x + b)) / x, x)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemIntegrationPagePatch8} +\begin{paste}{ugProblemIntegrationPageFull8}{ugProblemIntegrationPageEmpty8} +\pastebutton{ugProblemIntegrationPageFull8}{\hidepaste} +\tab{5}\spadcommand{integrate((x**4 - 3*x**2 + 6)/(x**6-5*x**4+5*x**2+4), x = 1..2)} +\indentrel{3}\begin{verbatim} + 1 + 2atan(8) + 2atan(5) + 2atan(2) + 2atan(Ä) - %pi + 2 + (8) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 2 +Type: Union(f1: OrderedCompletion Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIntegrationPageEmpty8} +\begin{paste}{ugProblemIntegrationPageEmpty8}{ugProblemIntegrationPagePatch8} +\pastebutton{ugProblemIntegrationPageEmpty8}{\showpaste} +\tab{5}\spadcommand{integrate((x**4 - 3*x**2 + 6)/(x**6-5*x**4+5*x**2+4), x = 1..2)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemIntegrationPagePatch9} +\begin{paste}{ugProblemIntegrationPageFull9}{ugProblemIntegrationPageEmpty9} +\pastebutton{ugProblemIntegrationPageFull9}{\hidepaste} +\tab{5}\spadcommand{integrate(1/(x**2-a), x = 1..2)} +\indentrel{3}\begin{verbatim} + (9) potentialPole + Type: Union(pole: potentialPole,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIntegrationPageEmpty9} +\begin{paste}{ugProblemIntegrationPageEmpty9}{ugProblemIntegrationPagePatch9} +\pastebutton{ugProblemIntegrationPageEmpty9}{\showpaste} +\tab{5}\spadcommand{integrate(1/(x**2-a), x = 1..2)} +\end{paste}\end{patch} + +\begin{patch}{ugProblemIntegrationPagePatch10} +\begin{paste}{ugProblemIntegrationPageFull10}{ugProblemIntegrationPageEmpty10} +\pastebutton{ugProblemIntegrationPageFull10}{\hidepaste} +\tab{5}\spadcommand{integrate(1/(x**2-a), x = 1..2, "noPole")} +\indentrel{3}\begin{verbatim} + (10) + [ + 2 ÚÄ¿ 3 2 + (- 4a - 4a)\³a + a + 6a + a + - log(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) + 2 + a - 2a + 1 + + + 2 ÚÄ¿ 3 2 + (- 8a - 32a)\³a + a + 24a + 16a + log(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) + 2 + a - 8a + 16 + / + ÚÄ¿ + 4\³a + , + ÚÄÄÄ¿ ÚÄÄÄ¿ + 2\³- a \³- a + - atan(ÄÄÄÄÄÄÄ) + atan(ÄÄÄÄÄÄ) + a a + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ] + ÚÄÄÄ¿ + \³- a +Type: Union(f2: List OrderedCompletion Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIntegrationPageEmpty10} +\begin{paste}{ugProblemIntegrationPageEmpty10}{ugProblemIntegrationPagePatch10} +\pastebutton{ugProblemIntegrationPageEmpty10}{\showpaste} +\tab{5}\spadcommand{integrate(1/(x**2-a), x = 1..2, "noPole")} +\end{paste}\end{patch} + @ \pagehead{ugProblemSeriesPage}{ug08.ht}{Working with Power Series} \pageto{notitle}{ugxProblemDEQSeriesPage} @@ -38433,6 +98607,211 @@ This is the Taylor expansion of \axiom{exp(w)} at \axiom{w = 0}. \autobuttons \end{page} +\begin{patch}{ugxProblemSeriesCreatePagePatch1} +\begin{paste}{ugxProblemSeriesCreatePageFull1}{ugxProblemSeriesCreatePageEmpty1} +\pastebutton{ugxProblemSeriesCreatePageFull1}{\hidepaste} +\tab{5}\spadcommand{x := series 'x\bound{x }} +\indentrel{3}\begin{verbatim} + (1) x + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesCreatePageEmpty1} +\begin{paste}{ugxProblemSeriesCreatePageEmpty1}{ugxProblemSeriesCreatePagePatch1} +\pastebutton{ugxProblemSeriesCreatePageEmpty1}{\showpaste} +\tab{5}\spadcommand{x := series 'x\bound{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesCreatePagePatch2} +\begin{paste}{ugxProblemSeriesCreatePageFull2}{ugxProblemSeriesCreatePageEmpty2} +\pastebutton{ugxProblemSeriesCreatePageFull2}{\hidepaste} +\tab{5}\spadcommand{1/(1 - x - x**2)\free{x }} +\indentrel{3}\begin{verbatim} + (2) + 2 3 4 5 6 7 8 + 1 + x + 2x + 3x + 5x + 8x + 13x + 21x + 34x + + + 9 10 11 + 55x + 89x + O(x ) + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesCreatePageEmpty2} +\begin{paste}{ugxProblemSeriesCreatePageEmpty2}{ugxProblemSeriesCreatePagePatch2} +\pastebutton{ugxProblemSeriesCreatePageEmpty2}{\showpaste} +\tab{5}\spadcommand{1/(1 - x - x**2)\free{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesCreatePagePatch3} +\begin{paste}{ugxProblemSeriesCreatePageFull3}{ugxProblemSeriesCreatePageEmpty3} +\pastebutton{ugxProblemSeriesCreatePageFull3}{\hidepaste} +\tab{5}\spadcommand{sin(x)\free{x }} +\indentrel{3}\begin{verbatim} + (3) + 1 3 1 5 1 7 1 9 + x - Ä x + ÄÄÄ x - ÄÄÄÄ x + ÄÄÄÄÄÄ x + 6 120 5040 362880 + + + 1 11 12 + - ÄÄÄÄÄÄÄÄ x + O(x ) + 39916800 + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesCreatePageEmpty3} +\begin{paste}{ugxProblemSeriesCreatePageEmpty3}{ugxProblemSeriesCreatePagePatch3} +\pastebutton{ugxProblemSeriesCreatePageEmpty3}{\showpaste} +\tab{5}\spadcommand{sin(x)\free{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesCreatePagePatch4} +\begin{paste}{ugxProblemSeriesCreatePageFull4}{ugxProblemSeriesCreatePageEmpty4} +\pastebutton{ugxProblemSeriesCreatePageFull4}{\hidepaste} +\tab{5}\spadcommand{sin(1 + x)\free{x }} +\indentrel{3}\begin{verbatim} + (4) + sin(1) 2 cos(1) 3 sin(1) 4 + sin(1) + cos(1)x - ÄÄÄÄÄÄ x - ÄÄÄÄÄÄ x + ÄÄÄÄÄÄ x + 2 6 24 + + + cos(1) 5 sin(1) 6 cos(1) 7 sin(1) 8 + ÄÄÄÄÄÄ x - ÄÄÄÄÄÄ x - ÄÄÄÄÄÄ x + ÄÄÄÄÄÄ x + 120 720 5040 40320 + + + cos(1) 9 sin(1) 10 11 + ÄÄÄÄÄÄ x - ÄÄÄÄÄÄÄ x + O(x ) + 362880 3628800 + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesCreatePageEmpty4} +\begin{paste}{ugxProblemSeriesCreatePageEmpty4}{ugxProblemSeriesCreatePagePatch4} +\pastebutton{ugxProblemSeriesCreatePageEmpty4}{\showpaste} +\tab{5}\spadcommand{sin(1 + x)\free{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesCreatePagePatch5} +\begin{paste}{ugxProblemSeriesCreatePageFull5}{ugxProblemSeriesCreatePageEmpty5} +\pastebutton{ugxProblemSeriesCreatePageFull5}{\hidepaste} +\tab{5}\spadcommand{sin(a * x)\free{x }} +\indentrel{3}\begin{verbatim} + (5) + 3 5 7 9 + a 3 a 5 a 7 a 9 + a x - ÄÄ x + ÄÄÄ x - ÄÄÄÄ x + ÄÄÄÄÄÄ x + 6 120 5040 362880 + + + 11 + a 11 12 + - ÄÄÄÄÄÄÄÄ x + O(x ) + 39916800 + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesCreatePageEmpty5} +\begin{paste}{ugxProblemSeriesCreatePageEmpty5}{ugxProblemSeriesCreatePagePatch5} +\pastebutton{ugxProblemSeriesCreatePageEmpty5}{\showpaste} +\tab{5}\spadcommand{sin(a * x)\free{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesCreatePagePatch6} +\begin{paste}{ugxProblemSeriesCreatePageFull6}{ugxProblemSeriesCreatePageEmpty6} +\pastebutton{ugxProblemSeriesCreatePageFull6}{\hidepaste} +\tab{5}\spadcommand{series(1/log(y),y = 1)} +\indentrel{3}\begin{verbatim} + (6) + - 1 1 1 1 2 + (y - 1) + Ä - ÄÄ (y - 1) + ÄÄ (y - 1) + 2 12 24 + + + 19 3 3 4 863 5 + - ÄÄÄ (y - 1) + ÄÄÄ (y - 1) - ÄÄÄÄÄ (y - 1) + 720 160 60480 + + + 275 6 33953 7 8183 8 + ÄÄÄÄÄ (y - 1) - ÄÄÄÄÄÄÄ (y - 1) + ÄÄÄÄÄÄÄ (y - 1) + 24192 3628800 1036800 + + + 3250433 9 10 + - ÄÄÄÄÄÄÄÄÄ (y - 1) + O((y - 1) ) + 479001600 + Type: UnivariatePuiseuxSeries(Expression Integer,y,1) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesCreatePageEmpty6} +\begin{paste}{ugxProblemSeriesCreatePageEmpty6}{ugxProblemSeriesCreatePagePatch6} +\pastebutton{ugxProblemSeriesCreatePageEmpty6}{\showpaste} +\tab{5}\spadcommand{series(1/log(y),y = 1)} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesCreatePagePatch7} +\begin{paste}{ugxProblemSeriesCreatePageFull7}{ugxProblemSeriesCreatePageEmpty7} +\pastebutton{ugxProblemSeriesCreatePageFull7}{\hidepaste} +\tab{5}\spadcommand{y : UTS(FLOAT,'z,0) := exp(z)\bound{y }} +\indentrel{3}\begin{verbatim} + (7) + 2 3 + 1.0 + z + 0.5 z + 0.1666666666 6666666667 z + + + 4 + 0.0416666666 6666666666 7 z + + + 5 + 0.0083333333 3333333333 34 z + + + 6 + 0.0013888888 8888888888 89 z + + + 7 + 0.0001984126 9841269841 27 z + + + 8 + 0.0000248015 8730158730 1587 z + + + 9 + 0.0000027557 3192239858 90653 z + + + 10 11 + 0.2755731922 3985890653 E -6 z + O(z ) + Type: UnivariateTaylorSeries(Float,z,0.0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesCreatePageEmpty7} +\begin{paste}{ugxProblemSeriesCreatePageEmpty7}{ugxProblemSeriesCreatePagePatch7} +\pastebutton{ugxProblemSeriesCreatePageEmpty7}{\showpaste} +\tab{5}\spadcommand{y : UTS(FLOAT,'z,0) := exp(z)\bound{y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesCreatePagePatch8} +\begin{paste}{ugxProblemSeriesCreatePageFull8}{ugxProblemSeriesCreatePageEmpty8} +\pastebutton{ugxProblemSeriesCreatePageFull8}{\hidepaste} +\tab{5}\spadcommand{series(1/factorial(n),n,w = 0)} +\indentrel{3}\begin{verbatim} + (8) + 1 2 1 3 1 4 1 5 1 6 + 1 + w + Ä w + Ä w + ÄÄ w + ÄÄÄ w + ÄÄÄ w + 2 6 24 120 720 + + + 1 7 1 8 1 9 1 10 11 + ÄÄÄÄ w + ÄÄÄÄÄ w + ÄÄÄÄÄÄ w + ÄÄÄÄÄÄÄ w + O(w ) + 5040 40320 362880 3628800 + Type: UnivariatePuiseuxSeries(Expression Integer,w,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesCreatePageEmpty8} +\begin{paste}{ugxProblemSeriesCreatePageEmpty8}{ugxProblemSeriesCreatePagePatch8} +\pastebutton{ugxProblemSeriesCreatePageEmpty8}{\showpaste} +\tab{5}\spadcommand{series(1/factorial(n),n,w = 0)} +\end{paste}\end{patch} + @ \pagehead{ugxProblemSeriesCoefficientsPage}{ug08.ht} {Coefficients of Power Series} @@ -38483,6 +98862,108 @@ have all been computed. \autobuttons \end{page} +\begin{patch}{ugxProblemSeriesCoefficientsPagePatch1} +\begin{paste}{ugxProblemSeriesCoefficientsPageFull1}{ugxProblemSeriesCoefficientsPageEmpty1} +\pastebutton{ugxProblemSeriesCoefficientsPageFull1}{\hidepaste} +\tab{5}\spadcommand{x := series(x)\bound{x }} +\indentrel{3}\begin{verbatim} + (1) x + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesCoefficientsPageEmpty1} +\begin{paste}{ugxProblemSeriesCoefficientsPageEmpty1}{ugxProblemSeriesCoefficientsPagePatch1} +\pastebutton{ugxProblemSeriesCoefficientsPageEmpty1}{\showpaste} +\tab{5}\spadcommand{x := series(x)\bound{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesCoefficientsPagePatch2} +\begin{paste}{ugxProblemSeriesCoefficientsPageFull2}{ugxProblemSeriesCoefficientsPageEmpty2} +\pastebutton{ugxProblemSeriesCoefficientsPageFull2}{\hidepaste} +\tab{5}\spadcommand{y := exp(x) * sin(x)\free{x }\bound{y }} +\indentrel{3}\begin{verbatim} + (2) + 2 1 3 1 5 1 6 1 7 1 9 + x + x + Ä x - ÄÄ x - ÄÄ x - ÄÄÄ x + ÄÄÄÄÄ x + 3 30 90 630 22680 + + + 1 10 1 11 12 + ÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄ x + O(x ) + 113400 1247400 + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesCoefficientsPageEmpty2} +\begin{paste}{ugxProblemSeriesCoefficientsPageEmpty2}{ugxProblemSeriesCoefficientsPagePatch2} +\pastebutton{ugxProblemSeriesCoefficientsPageEmpty2}{\showpaste} +\tab{5}\spadcommand{y := exp(x) * sin(x)\free{x }\bound{y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesCoefficientsPagePatch3} +\begin{paste}{ugxProblemSeriesCoefficientsPageFull3}{ugxProblemSeriesCoefficientsPageEmpty3} +\pastebutton{ugxProblemSeriesCoefficientsPageFull3}{\hidepaste} +\tab{5}\spadcommand{coefficient(y,6)\free{y }} +\indentrel{3}\begin{verbatim} + 1 + (3) - ÄÄ + 90 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesCoefficientsPageEmpty3} +\begin{paste}{ugxProblemSeriesCoefficientsPageEmpty3}{ugxProblemSeriesCoefficientsPagePatch3} +\pastebutton{ugxProblemSeriesCoefficientsPageEmpty3}{\showpaste} +\tab{5}\spadcommand{coefficient(y,6)\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesCoefficientsPagePatch4} +\begin{paste}{ugxProblemSeriesCoefficientsPageFull4}{ugxProblemSeriesCoefficientsPageEmpty4} +\pastebutton{ugxProblemSeriesCoefficientsPageFull4}{\hidepaste} +\tab{5}\spadcommand{coefficient(y,15)\free{y }\bound{y15 }} +\indentrel{3}\begin{verbatim} + 1 + (4) - ÄÄÄÄÄÄÄÄÄÄÄ + 10216206000 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesCoefficientsPageEmpty4} +\begin{paste}{ugxProblemSeriesCoefficientsPageEmpty4}{ugxProblemSeriesCoefficientsPagePatch4} +\pastebutton{ugxProblemSeriesCoefficientsPageEmpty4}{\showpaste} +\tab{5}\spadcommand{coefficient(y,15)\free{y }\bound{y15 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesCoefficientsPagePatch5} +\begin{paste}{ugxProblemSeriesCoefficientsPageFull5}{ugxProblemSeriesCoefficientsPageEmpty5} +\pastebutton{ugxProblemSeriesCoefficientsPageFull5}{\hidepaste} +\tab{5}\spadcommand{y\free{y15 }} +\indentrel{3}\begin{verbatim} + (5) + 2 1 3 1 5 1 6 1 7 1 9 + x + x + Ä x - ÄÄ x - ÄÄ x - ÄÄÄ x + ÄÄÄÄÄ x + 3 30 90 630 22680 + + + 1 10 1 11 1 13 + ÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄ x - ÄÄÄÄÄÄÄÄ x + 113400 1247400 97297200 + + + 1 14 1 15 16 + - ÄÄÄÄÄÄÄÄÄ x - ÄÄÄÄÄÄÄÄÄÄÄ x + O(x ) + 681080400 10216206000 + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesCoefficientsPageEmpty5} +\begin{paste}{ugxProblemSeriesCoefficientsPageEmpty5}{ugxProblemSeriesCoefficientsPagePatch5} +\pastebutton{ugxProblemSeriesCoefficientsPageEmpty5}{\showpaste} +\tab{5}\spadcommand{y\free{y15 }} +\end{paste}\end{patch} + @ \pagehead{ugxProblemSeriesArithmeticPage}{ug08.ht} {Power Series Arithmetic} @@ -38530,6 +99011,111 @@ are two power series. \autobuttons \end{page} +\begin{patch}{ugxProblemSeriesArithmeticPagePatch1} +\begin{paste}{ugxProblemSeriesArithmeticPageFull1}{ugxProblemSeriesArithmeticPageEmpty1} +\pastebutton{ugxProblemSeriesArithmeticPageFull1}{\hidepaste} +\tab{5}\spadcommand{x := series x\bound{x }} +\indentrel{3}\begin{verbatim} + (1) x + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesArithmeticPageEmpty1} +\begin{paste}{ugxProblemSeriesArithmeticPageEmpty1}{ugxProblemSeriesArithmeticPagePatch1} +\pastebutton{ugxProblemSeriesArithmeticPageEmpty1}{\showpaste} +\tab{5}\spadcommand{x := series x\bound{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesArithmeticPagePatch2} +\begin{paste}{ugxProblemSeriesArithmeticPageFull2}{ugxProblemSeriesArithmeticPageEmpty2} +\pastebutton{ugxProblemSeriesArithmeticPageFull2}{\hidepaste} +\tab{5}\spadcommand{(3 + x) / (1 + 7*x)} +\indentrel{3}\begin{verbatim} + (2) + 2 3 4 5 6 + 3 - 20x + 140x - 980x + 6860x - 48020x + 336140x + + + 7 8 9 10 + - 2352980x + 16470860x - 115296020x + 807072140x + + + 11 + O(x ) + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesArithmeticPageEmpty2} +\begin{paste}{ugxProblemSeriesArithmeticPageEmpty2}{ugxProblemSeriesArithmeticPagePatch2} +\pastebutton{ugxProblemSeriesArithmeticPageEmpty2}{\showpaste} +\tab{5}\spadcommand{(3 + x) / (1 + 7*x)} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesArithmeticPagePatch3} +\begin{paste}{ugxProblemSeriesArithmeticPageFull3}{ugxProblemSeriesArithmeticPageEmpty3} +\pastebutton{ugxProblemSeriesArithmeticPageFull3}{\hidepaste} +\tab{5}\spadcommand{base := 1 / (1 - x)\free{x }\bound{base }} +\indentrel{3}\begin{verbatim} + (3) + 2 3 4 5 6 7 8 9 10 + 1 + x + x + x + x + x + x + x + x + x + x + + + 11 + O(x ) + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesArithmeticPageEmpty3} +\begin{paste}{ugxProblemSeriesArithmeticPageEmpty3}{ugxProblemSeriesArithmeticPagePatch3} +\pastebutton{ugxProblemSeriesArithmeticPageEmpty3}{\showpaste} +\tab{5}\spadcommand{base := 1 / (1 - x)\free{x }\bound{base }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesArithmeticPagePatch4} +\begin{paste}{ugxProblemSeriesArithmeticPageFull4}{ugxProblemSeriesArithmeticPageEmpty4} +\pastebutton{ugxProblemSeriesArithmeticPageFull4}{\hidepaste} +\tab{5}\spadcommand{expon := x * base\free{x base }\bound{expon }} +\indentrel{3}\begin{verbatim} + (4) + 2 3 4 5 6 7 8 9 10 11 + x + x + x + x + x + x + x + x + x + x + x + + + 12 + O(x ) + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesArithmeticPageEmpty4} +\begin{paste}{ugxProblemSeriesArithmeticPageEmpty4}{ugxProblemSeriesArithmeticPagePatch4} +\pastebutton{ugxProblemSeriesArithmeticPageEmpty4}{\showpaste} +\tab{5}\spadcommand{expon := x * base\free{x base }\bound{expon }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesArithmeticPagePatch5} +\begin{paste}{ugxProblemSeriesArithmeticPageFull5}{ugxProblemSeriesArithmeticPageEmpty5} +\pastebutton{ugxProblemSeriesArithmeticPageFull5}{\hidepaste} +\tab{5}\spadcommand{base ** expon\free{base expon }} +\indentrel{3}\begin{verbatim} + (5) + 2 3 3 7 4 43 5 649 6 241 7 + 1 + x + Ä x + Ä x + ÄÄ x + ÄÄÄ x + ÄÄÄ x + 2 3 12 120 30 + + + 3706 8 85763 9 245339 10 11 + ÄÄÄÄ x + ÄÄÄÄÄ x + ÄÄÄÄÄÄ x + O(x ) + 315 5040 10080 + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesArithmeticPageEmpty5} +\begin{paste}{ugxProblemSeriesArithmeticPageEmpty5}{ugxProblemSeriesArithmeticPagePatch5} +\pastebutton{ugxProblemSeriesArithmeticPageEmpty5}{\showpaste} +\tab{5}\spadcommand{base ** expon\free{base expon }} +\end{paste}\end{patch} + @ \pagehead{ugxProblemSeriesFunctionsPage}{ug08.ht} {Functions on Power Series} @@ -38667,6 +99253,267 @@ are using the variable \axiom{w} instead of \axiom{z}. \autobuttons \end{page} +\begin{patch}{ugxProblemSeriesFunctionsPagePatch1} +\begin{paste}{ugxProblemSeriesFunctionsPageFull1}{ugxProblemSeriesFunctionsPageEmpty1} +\pastebutton{ugxProblemSeriesFunctionsPageFull1}{\hidepaste} +\tab{5}\spadcommand{x := series 'x\bound{x }} +\indentrel{3}\begin{verbatim} + (1) x + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFunctionsPageEmpty1} +\begin{paste}{ugxProblemSeriesFunctionsPageEmpty1}{ugxProblemSeriesFunctionsPagePatch1} +\pastebutton{ugxProblemSeriesFunctionsPageEmpty1}{\showpaste} +\tab{5}\spadcommand{x := series 'x\bound{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFunctionsPagePatch2} +\begin{paste}{ugxProblemSeriesFunctionsPageFull2}{ugxProblemSeriesFunctionsPageEmpty2} +\pastebutton{ugxProblemSeriesFunctionsPageFull2}{\hidepaste} +\tab{5}\spadcommand{rat := x**2 / (1 - 6*x + x**2)\free{x }\bound{rat }} +\indentrel{3}\begin{verbatim} + (2) + 2 3 4 5 6 7 8 + x + 6x + 35x + 204x + 1189x + 6930x + 40391x + + + 9 10 11 12 + 235416x + 1372105x + 7997214x + 46611179x + + + 13 + O(x ) + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFunctionsPageEmpty2} +\begin{paste}{ugxProblemSeriesFunctionsPageEmpty2}{ugxProblemSeriesFunctionsPagePatch2} +\pastebutton{ugxProblemSeriesFunctionsPageEmpty2}{\showpaste} +\tab{5}\spadcommand{rat := x**2 / (1 - 6*x + x**2)\free{x }\bound{rat }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFunctionsPagePatch3} +\begin{paste}{ugxProblemSeriesFunctionsPageFull3}{ugxProblemSeriesFunctionsPageEmpty3} +\pastebutton{ugxProblemSeriesFunctionsPageFull3}{\hidepaste} +\tab{5}\spadcommand{sin(rat)\free{rat }} +\indentrel{3}\begin{verbatim} + (3) + 2 3 4 5 7133 6 7 80711 8 + x + 6x + 35x + 204x + ÄÄÄÄ x + 6927x + ÄÄÄÄÄ x + 6 2 + + + 9 164285281 10 31888513 11 + 235068x + ÄÄÄÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄÄ x + 120 4 + + + 371324777 12 13 + ÄÄÄÄÄÄÄÄÄ x + O(x ) + 8 + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFunctionsPageEmpty3} +\begin{paste}{ugxProblemSeriesFunctionsPageEmpty3}{ugxProblemSeriesFunctionsPagePatch3} +\pastebutton{ugxProblemSeriesFunctionsPageEmpty3}{\showpaste} +\tab{5}\spadcommand{sin(rat)\free{rat }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFunctionsPagePatch4} +\begin{paste}{ugxProblemSeriesFunctionsPageFull4}{ugxProblemSeriesFunctionsPageEmpty4} +\pastebutton{ugxProblemSeriesFunctionsPageFull4}{\hidepaste} +\tab{5}\spadcommand{y : UTS(FRAC INT,y,0) := y\bound{y }} +\indentrel{3}\begin{verbatim} + (4) y + Type: UnivariateTaylorSeries(Fraction Integer,y,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFunctionsPageEmpty4} +\begin{paste}{ugxProblemSeriesFunctionsPageEmpty4}{ugxProblemSeriesFunctionsPagePatch4} +\pastebutton{ugxProblemSeriesFunctionsPageEmpty4}{\showpaste} +\tab{5}\spadcommand{y : UTS(FRAC INT,y,0) := y\bound{y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFunctionsPagePatch5} +\begin{paste}{ugxProblemSeriesFunctionsPageFull5}{ugxProblemSeriesFunctionsPageEmpty5} +\pastebutton{ugxProblemSeriesFunctionsPageFull5}{\hidepaste} +\tab{5}\spadcommand{exp(y)\free{y }} +\indentrel{3}\begin{verbatim} + (5) + 1 2 1 3 1 4 1 5 1 6 + 1 + y + Ä y + Ä y + ÄÄ y + ÄÄÄ y + ÄÄÄ y + 2 6 24 120 720 + + + 1 7 1 8 1 9 1 10 11 + ÄÄÄÄ y + ÄÄÄÄÄ y + ÄÄÄÄÄÄ y + ÄÄÄÄÄÄÄ y + O(y ) + 5040 40320 362880 3628800 + Type: UnivariateTaylorSeries(Fraction Integer,y,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFunctionsPageEmpty5} +\begin{paste}{ugxProblemSeriesFunctionsPageEmpty5}{ugxProblemSeriesFunctionsPagePatch5} +\pastebutton{ugxProblemSeriesFunctionsPageEmpty5}{\showpaste} +\tab{5}\spadcommand{exp(y)\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFunctionsPagePatch6} +\begin{paste}{ugxProblemSeriesFunctionsPageFull6}{ugxProblemSeriesFunctionsPageEmpty6} +\pastebutton{ugxProblemSeriesFunctionsPageFull6}{\hidepaste} +\tab{5}\spadcommand{tan(y**2)\free{y }} +\indentrel{3}\begin{verbatim} + 2 1 6 2 10 11 + (6) y + Ä y + ÄÄ y + O(y ) + 3 15 + Type: UnivariateTaylorSeries(Fraction Integer,y,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFunctionsPageEmpty6} +\begin{paste}{ugxProblemSeriesFunctionsPageEmpty6}{ugxProblemSeriesFunctionsPagePatch6} +\pastebutton{ugxProblemSeriesFunctionsPageEmpty6}{\showpaste} +\tab{5}\spadcommand{tan(y**2)\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFunctionsPagePatch7} +\begin{paste}{ugxProblemSeriesFunctionsPageFull7}{ugxProblemSeriesFunctionsPageEmpty7} +\pastebutton{ugxProblemSeriesFunctionsPageFull7}{\hidepaste} +\tab{5}\spadcommand{cos(y + y**5)\free{y }} +\indentrel{3}\begin{verbatim} + (7) + 1 2 1 4 721 6 6721 8 1844641 10 + 1 - Ä y + ÄÄ y - ÄÄÄ y + ÄÄÄÄÄ y - ÄÄÄÄÄÄÄ y + 2 24 720 40320 3628800 + + + 11 + O(y ) + Type: UnivariateTaylorSeries(Fraction Integer,y,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFunctionsPageEmpty7} +\begin{paste}{ugxProblemSeriesFunctionsPageEmpty7}{ugxProblemSeriesFunctionsPagePatch7} +\pastebutton{ugxProblemSeriesFunctionsPageEmpty7}{\showpaste} +\tab{5}\spadcommand{cos(y + y**5)\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFunctionsPagePatch8} +\begin{paste}{ugxProblemSeriesFunctionsPageFull8}{ugxProblemSeriesFunctionsPageEmpty8} +\pastebutton{ugxProblemSeriesFunctionsPageFull8}{\hidepaste} +\tab{5}\spadcommand{log(1 + sin(y))\free{y }} +\indentrel{3}\begin{verbatim} + (8) + 1 2 1 3 1 4 1 5 1 6 61 7 + y - Ä y + Ä y - ÄÄ y + ÄÄ y - ÄÄ y + ÄÄÄÄ y + 2 6 12 24 45 5040 + + + 17 8 277 9 31 10 11 + - ÄÄÄÄ y + ÄÄÄÄÄ y - ÄÄÄÄÄ y + O(y ) + 2520 72576 14175 + Type: UnivariateTaylorSeries(Fraction Integer,y,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFunctionsPageEmpty8} +\begin{paste}{ugxProblemSeriesFunctionsPageEmpty8}{ugxProblemSeriesFunctionsPagePatch8} +\pastebutton{ugxProblemSeriesFunctionsPageEmpty8}{\showpaste} +\tab{5}\spadcommand{log(1 + sin(y))\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFunctionsPagePatch9} +\begin{paste}{ugxProblemSeriesFunctionsPageFull9}{ugxProblemSeriesFunctionsPageEmpty9} +\pastebutton{ugxProblemSeriesFunctionsPageFull9}{\hidepaste} +\tab{5}\spadcommand{z : UTS(EXPR INT,z,0) := z\bound{z }} +\indentrel{3}\begin{verbatim} + (9) z + Type: UnivariateTaylorSeries(Expression Integer,z,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFunctionsPageEmpty9} +\begin{paste}{ugxProblemSeriesFunctionsPageEmpty9}{ugxProblemSeriesFunctionsPagePatch9} +\pastebutton{ugxProblemSeriesFunctionsPageEmpty9}{\showpaste} +\tab{5}\spadcommand{z : UTS(EXPR INT,z,0) := z\bound{z }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFunctionsPagePatch10} +\begin{paste}{ugxProblemSeriesFunctionsPageFull10}{ugxProblemSeriesFunctionsPageEmpty10} +\pastebutton{ugxProblemSeriesFunctionsPageFull10}{\hidepaste} +\tab{5}\spadcommand{exp(2 + tan(z))\free{z }} +\indentrel{3}\begin{verbatim} + (10) + 2 2 2 2 + 2 2 %e 2 %e 3 3%e 4 37%e 5 + %e + %e z + ÄÄÄ z + ÄÄÄ z + ÄÄÄÄ z + ÄÄÄÄÄ z + 2 2 8 120 + + + 2 2 2 2 + 59%e 6 137%e 7 871%e 8 41641%e 9 + ÄÄÄÄÄ z + ÄÄÄÄÄÄ z + ÄÄÄÄÄÄ z + ÄÄÄÄÄÄÄÄ z + 240 720 5760 362880 + + + 2 + 325249%e 10 11 + ÄÄÄÄÄÄÄÄÄ z + O(z ) + 3628800 + Type: UnivariateTaylorSeries(Expression Integer,z,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFunctionsPageEmpty10} +\begin{paste}{ugxProblemSeriesFunctionsPageEmpty10}{ugxProblemSeriesFunctionsPagePatch10} +\pastebutton{ugxProblemSeriesFunctionsPageEmpty10}{\showpaste} +\tab{5}\spadcommand{exp(2 + tan(z))\free{z }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFunctionsPagePatch11} +\begin{paste}{ugxProblemSeriesFunctionsPageFull11}{ugxProblemSeriesFunctionsPageEmpty11} +\pastebutton{ugxProblemSeriesFunctionsPageFull11}{\hidepaste} +\tab{5}\spadcommand{w := taylor 'w\bound{w }} +\indentrel{3}\begin{verbatim} + (11) w + Type: UnivariateTaylorSeries(Expression Integer,w,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFunctionsPageEmpty11} +\begin{paste}{ugxProblemSeriesFunctionsPageEmpty11}{ugxProblemSeriesFunctionsPagePatch11} +\pastebutton{ugxProblemSeriesFunctionsPageEmpty11}{\showpaste} +\tab{5}\spadcommand{w := taylor 'w\bound{w }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFunctionsPagePatch12} +\begin{paste}{ugxProblemSeriesFunctionsPageFull12}{ugxProblemSeriesFunctionsPageEmpty12} +\pastebutton{ugxProblemSeriesFunctionsPageFull12}{\hidepaste} +\tab{5}\spadcommand{exp(2 + tan(w))\free{w }} +\indentrel{3}\begin{verbatim} + (12) + 2 2 2 2 + 2 2 %e 2 %e 3 3%e 4 37%e 5 + %e + %e w + ÄÄÄ w + ÄÄÄ w + ÄÄÄÄ w + ÄÄÄÄÄ w + 2 2 8 120 + + + 2 2 2 2 + 59%e 6 137%e 7 871%e 8 41641%e 9 + ÄÄÄÄÄ w + ÄÄÄÄÄÄ w + ÄÄÄÄÄÄ w + ÄÄÄÄÄÄÄÄ w + 240 720 5760 362880 + + + 2 + 325249%e 10 11 + ÄÄÄÄÄÄÄÄÄ w + O(w ) + 3628800 + Type: UnivariateTaylorSeries(Expression Integer,w,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFunctionsPageEmpty12} +\begin{paste}{ugxProblemSeriesFunctionsPageEmpty12}{ugxProblemSeriesFunctionsPagePatch12} +\pastebutton{ugxProblemSeriesFunctionsPageEmpty12}{\showpaste} +\tab{5}\spadcommand{exp(2 + tan(w))\free{w }} +\end{paste}\end{patch} + @ \pagehead{ugxProblemSeriesConversionsPage}{ug08.ht} {Converting to Power Series} @@ -38790,6 +99637,279 @@ exclusively. \autobuttons \end{page} +\begin{patch}{ugxProblemSeriesConversionsPagePatch1} +\begin{paste}{ugxProblemSeriesConversionsPageFull1}{ugxProblemSeriesConversionsPageEmpty1} +\pastebutton{ugxProblemSeriesConversionsPageFull1}{\hidepaste} +\tab{5}\spadcommand{taylor(sin(x),x = 0)} +\indentrel{3}\begin{verbatim} + 1 3 1 5 1 7 1 9 11 + (1) x - Ä x + ÄÄÄ x - ÄÄÄÄ x + ÄÄÄÄÄÄ x + O(x ) + 6 120 5040 362880 + Type: UnivariateTaylorSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesConversionsPageEmpty1} +\begin{paste}{ugxProblemSeriesConversionsPageEmpty1}{ugxProblemSeriesConversionsPagePatch1} +\pastebutton{ugxProblemSeriesConversionsPageEmpty1}{\showpaste} +\tab{5}\spadcommand{taylor(sin(x),x = 0)} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesConversionsPagePatch2} +\begin{paste}{ugxProblemSeriesConversionsPageFull2}{ugxProblemSeriesConversionsPageEmpty2} +\pastebutton{ugxProblemSeriesConversionsPageFull2}{\hidepaste} +\tab{5}\spadcommand{taylor(sin(x),x = \%pi/6)} +\indentrel{3}\begin{verbatim} + (2) + ÚÄ¿ ÚÄ¿ + 1 \³3 %pi 1 %pi 2 \³3 %pi 3 + Ä + ÄÄÄÄ (x - ÄÄÄ) - Ä (x - ÄÄÄ) - ÄÄÄÄ (x - ÄÄÄ) + 2 2 6 4 6 12 6 + + + ÚÄ¿ + 1 %pi 4 \³3 %pi 5 1 %pi 6 + ÄÄ (x - ÄÄÄ) + ÄÄÄÄ (x - ÄÄÄ) - ÄÄÄÄ (x - ÄÄÄ) + 48 6 240 6 1440 6 + + + ÚÄ¿ + \³3 %pi 7 1 %pi 8 + - ÄÄÄÄÄ (x - ÄÄÄ) + ÄÄÄÄÄ (x - ÄÄÄ) + 10080 6 80640 6 + + + ÚÄ¿ + \³3 %pi 9 1 %pi 10 + ÄÄÄÄÄÄ (x - ÄÄÄ) - ÄÄÄÄÄÄÄ (x - ÄÄÄ) + 725760 6 7257600 6 + + + %pi 11 + O((x - ÄÄÄ) ) + 6 +Type: UnivariateTaylorSeries(Expression Integer,x,pi/6) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesConversionsPageEmpty2} +\begin{paste}{ugxProblemSeriesConversionsPageEmpty2}{ugxProblemSeriesConversionsPagePatch2} +\pastebutton{ugxProblemSeriesConversionsPageEmpty2}{\showpaste} +\tab{5}\spadcommand{taylor(sin(x),x = \%pi/6)} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesConversionsPagePatch3} +\begin{paste}{ugxProblemSeriesConversionsPageFull3}{ugxProblemSeriesConversionsPageEmpty3} +\pastebutton{ugxProblemSeriesConversionsPageFull3}{\hidepaste} +\tab{5}\spadcommand{taylor(tan(x*y),x = 0)} +\indentrel{3}\begin{verbatim} + (3) + 3 5 7 9 + y 3 2y 5 17y 7 62y 9 11 + y x + ÄÄ x + ÄÄÄ x + ÄÄÄÄ x + ÄÄÄÄ x + O(x ) + 3 15 315 2835 + Type: UnivariateTaylorSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesConversionsPageEmpty3} +\begin{paste}{ugxProblemSeriesConversionsPageEmpty3}{ugxProblemSeriesConversionsPagePatch3} +\pastebutton{ugxProblemSeriesConversionsPageEmpty3}{\showpaste} +\tab{5}\spadcommand{taylor(tan(x*y),x = 0)} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesConversionsPagePatch4} +\begin{paste}{ugxProblemSeriesConversionsPageFull4}{ugxProblemSeriesConversionsPageEmpty4} +\pastebutton{ugxProblemSeriesConversionsPageFull4}{\hidepaste} +\tab{5}\spadcommand{taylor(tan(x*y),y = 0)} +\indentrel{3}\begin{verbatim} + (4) + 3 5 7 9 + x 3 2x 5 17x 7 62x 9 11 + x y + ÄÄ y + ÄÄÄ y + ÄÄÄÄ y + ÄÄÄÄ y + O(y ) + 3 15 315 2835 + Type: UnivariateTaylorSeries(Expression Integer,y,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesConversionsPageEmpty4} +\begin{paste}{ugxProblemSeriesConversionsPageEmpty4}{ugxProblemSeriesConversionsPagePatch4} +\pastebutton{ugxProblemSeriesConversionsPageEmpty4}{\showpaste} +\tab{5}\spadcommand{taylor(tan(x*y),y = 0)} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesConversionsPagePatch5} +\begin{paste}{ugxProblemSeriesConversionsPageFull5}{ugxProblemSeriesConversionsPageEmpty5} +\pastebutton{ugxProblemSeriesConversionsPageFull5}{\hidepaste} +\tab{5}\spadcommand{bern := taylor(t*exp(x*t)/(exp(t) - 1),t = 0)\bound{bern }} +\indentrel{3}\begin{verbatim} + (5) + 2 3 2 + 2x - 1 6x - 6x + 1 2 2x - 3x + x 3 + 1 + ÄÄÄÄÄÄ t + ÄÄÄÄÄÄÄÄÄÄÄÄ t + ÄÄÄÄÄÄÄÄÄÄÄÄÄ t + 2 12 12 + + + 4 3 2 5 4 3 + 30x - 60x + 30x - 1 4 6x - 15x + 10x - x 5 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ t + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ t + 720 720 + + + 6 5 4 2 + 42x - 126x + 105x - 21x + 1 6 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ t + 30240 + + + 7 6 5 3 + 6x - 21x + 21x - 7x + x 7 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ t + 30240 + + + 8 7 6 4 2 + 30x - 120x + 140x - 70x + 20x - 1 8 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ t + 1209600 + + + 9 8 7 5 3 + 10x - 45x + 60x - 42x + 20x - 3x 9 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ t + 3628800 + + + 10 9 8 6 4 2 + 66x - 330x + 495x - 462x + 330x - 99x + 5 10 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ t + 239500800 + + + 11 + O(t ) + Type: UnivariateTaylorSeries(Expression Integer,t,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesConversionsPageEmpty5} +\begin{paste}{ugxProblemSeriesConversionsPageEmpty5}{ugxProblemSeriesConversionsPagePatch5} +\pastebutton{ugxProblemSeriesConversionsPageEmpty5}{\showpaste} +\tab{5}\spadcommand{bern := taylor(t*exp(x*t)/(exp(t) - 1),t = 0)\bound{bern }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesConversionsPagePatch6} +\begin{paste}{ugxProblemSeriesConversionsPageFull6}{ugxProblemSeriesConversionsPageEmpty6} +\pastebutton{ugxProblemSeriesConversionsPageFull6}{\hidepaste} +\tab{5}\spadcommand{factorial(6) * coefficient(bern,6)\free{bern }} +\indentrel{3}\begin{verbatim} + 6 5 4 2 + 42x - 126x + 105x - 21x + 1 + (6) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 42 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesConversionsPageEmpty6} +\begin{paste}{ugxProblemSeriesConversionsPageEmpty6}{ugxProblemSeriesConversionsPagePatch6} +\pastebutton{ugxProblemSeriesConversionsPageEmpty6}{\showpaste} +\tab{5}\spadcommand{factorial(6) * coefficient(bern,6)\free{bern }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesConversionsPagePatch7} +\begin{paste}{ugxProblemSeriesConversionsPageFull7}{ugxProblemSeriesConversionsPageEmpty7} +\pastebutton{ugxProblemSeriesConversionsPageFull7}{\hidepaste} +\tab{5}\spadcommand{bernoulliB(6,x)} +\indentrel{3}\begin{verbatim} + 6 5 5 4 1 2 1 + (7) x - 3x + Ä x - Ä x + ÄÄ + 2 2 42 + Type: Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesConversionsPageEmpty7} +\begin{paste}{ugxProblemSeriesConversionsPageEmpty7}{ugxProblemSeriesConversionsPagePatch7} +\pastebutton{ugxProblemSeriesConversionsPageEmpty7}{\showpaste} +\tab{5}\spadcommand{bernoulliB(6,x)} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesConversionsPagePatch8} +\begin{paste}{ugxProblemSeriesConversionsPageFull8}{ugxProblemSeriesConversionsPageEmpty8} +\pastebutton{ugxProblemSeriesConversionsPageFull8}{\hidepaste} +\tab{5}\spadcommand{laurent(x/log(x),x = 1)} +\indentrel{3}\begin{verbatim} + (8) + - 1 3 5 1 2 + (x - 1) + Ä + ÄÄ (x - 1) - ÄÄ (x - 1) + 2 12 24 + + + 11 3 11 4 271 5 + ÄÄÄ (x - 1) - ÄÄÄÄ (x - 1) + ÄÄÄÄÄ (x - 1) + 720 1440 60480 + + + 13 6 7297 7 425 8 + - ÄÄÄÄ (x - 1) + ÄÄÄÄÄÄÄ (x - 1) - ÄÄÄÄÄÄ (x - 1) + 4480 3628800 290304 + + + 530113 9 10 + ÄÄÄÄÄÄÄÄÄ (x - 1) + O((x - 1) ) + 479001600 + Type: UnivariateLaurentSeries(Expression Integer,x,1) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesConversionsPageEmpty8} +\begin{paste}{ugxProblemSeriesConversionsPageEmpty8}{ugxProblemSeriesConversionsPagePatch8} +\pastebutton{ugxProblemSeriesConversionsPageEmpty8}{\showpaste} +\tab{5}\spadcommand{laurent(x/log(x),x = 1)} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesConversionsPagePatch9} +\begin{paste}{ugxProblemSeriesConversionsPageFull9}{ugxProblemSeriesConversionsPageEmpty9} +\pastebutton{ugxProblemSeriesConversionsPageFull9}{\hidepaste} +\tab{5}\spadcommand{puiseux(sqrt(sec(x)),x = 3 * \%pi/2)} +\indentrel{3}\begin{verbatim} + (9) + 1 3 7 + - Ä Ä Ä + 3%pi 2 1 3%pi 2 1 3%pi 2 + (x - ÄÄÄÄ) + ÄÄ (x - ÄÄÄÄ) + ÄÄÄ (x - ÄÄÄÄ) + 2 12 2 160 2 + + + 3%pi 5 + O((x - ÄÄÄÄ) ) + 2 +Type: UnivariatePuiseuxSeries(Expression Integer,x,(3*pi)/2) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesConversionsPageEmpty9} +\begin{paste}{ugxProblemSeriesConversionsPageEmpty9}{ugxProblemSeriesConversionsPagePatch9} +\pastebutton{ugxProblemSeriesConversionsPageEmpty9}{\showpaste} +\tab{5}\spadcommand{puiseux(sqrt(sec(x)),x = 3 * \%pi/2)} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesConversionsPagePatch10} +\begin{paste}{ugxProblemSeriesConversionsPageFull10}{ugxProblemSeriesConversionsPageEmpty10} +\pastebutton{ugxProblemSeriesConversionsPageFull10}{\hidepaste} +\tab{5}\spadcommand{series(x**x,x=0)} +\indentrel{3}\begin{verbatim} + (10) + 2 3 4 + log(x) 2 log(x) 3 log(x) 4 + 1 + log(x)x + ÄÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄ x + 2 6 24 + + + 5 6 7 8 + log(x) 5 log(x) 6 log(x) 7 log(x) 8 + ÄÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄ x + 120 720 5040 40320 + + + 9 10 + log(x) 9 log(x) 10 11 + ÄÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄÄ x + O(x ) + 362880 3628800 +Type: GeneralUnivariatePowerSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesConversionsPageEmpty10} +\begin{paste}{ugxProblemSeriesConversionsPageEmpty10}{ugxProblemSeriesConversionsPagePatch10} +\pastebutton{ugxProblemSeriesConversionsPageEmpty10}{\showpaste} +\tab{5}\spadcommand{series(x**x,x=0)} +\end{paste}\end{patch} + @ \pagehead{ugxProblemSeriesFormulaPage}{ug08.ht} {Power Series from Formulas} @@ -38941,6 +100061,188 @@ You can't go wrong using \axiomFun{series}, though. \autobuttons \end{page} +\begin{patch}{ugxProblemSeriesFormulaPagePatch1} +\begin{paste}{ugxProblemSeriesFormulaPageFull1}{ugxProblemSeriesFormulaPageEmpty1} +\pastebutton{ugxProblemSeriesFormulaPageFull1}{\hidepaste} +\tab{5}\spadcommand{series(n +-> 1/factorial(n),x = 0)} +\indentrel{3}\begin{verbatim} + (1) + 1 2 1 3 1 4 1 5 1 6 + 1 + x + Ä x + Ä x + ÄÄ x + ÄÄÄ x + ÄÄÄ x + 2 6 24 120 720 + + + 1 7 1 8 1 9 1 10 11 + ÄÄÄÄ x + ÄÄÄÄÄ x + ÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄ x + O(x ) + 5040 40320 362880 3628800 + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFormulaPageEmpty1} +\begin{paste}{ugxProblemSeriesFormulaPageEmpty1}{ugxProblemSeriesFormulaPagePatch1} +\pastebutton{ugxProblemSeriesFormulaPageEmpty1}{\showpaste} +\tab{5}\spadcommand{series(n +-> 1/factorial(n),x = 0)} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFormulaPagePatch2} +\begin{paste}{ugxProblemSeriesFormulaPageFull2}{ugxProblemSeriesFormulaPageEmpty2} +\pastebutton{ugxProblemSeriesFormulaPageFull2}{\hidepaste} +\tab{5}\spadcommand{series(n +-> (-1)**(n-1)/n,x = 1,1..)} +\indentrel{3}\begin{verbatim} + (2) + 1 2 1 3 1 4 + (x - 1) - Ä (x - 1) + Ä (x - 1) - Ä (x - 1) + 2 3 4 + + + 1 5 1 6 1 7 1 8 + Ä (x - 1) - Ä (x - 1) + Ä (x - 1) - Ä (x - 1) + 5 6 7 8 + + + 1 9 1 10 1 11 12 + Ä (x - 1) - ÄÄ (x - 1) + ÄÄ (x - 1) + O((x - 1) ) + 9 10 11 + Type: UnivariatePuiseuxSeries(Expression Integer,x,1) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFormulaPageEmpty2} +\begin{paste}{ugxProblemSeriesFormulaPageEmpty2}{ugxProblemSeriesFormulaPagePatch2} +\pastebutton{ugxProblemSeriesFormulaPageEmpty2}{\showpaste} +\tab{5}\spadcommand{series(n +-> (-1)**(n-1)/n,x = 1,1..)} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFormulaPagePatch3} +\begin{paste}{ugxProblemSeriesFormulaPageFull3}{ugxProblemSeriesFormulaPageEmpty3} +\pastebutton{ugxProblemSeriesFormulaPageFull3}{\hidepaste} +\tab{5}\spadcommand{series(n +-> (-1)**((n-1)/2)/factorial(n),x = 0,1..,2)} +\indentrel{3}\begin{verbatim} + (3) + 1 3 1 5 1 7 1 9 + x - Ä x + ÄÄÄ x - ÄÄÄÄ x + ÄÄÄÄÄÄ x + 6 120 5040 362880 + + + 1 11 12 + - ÄÄÄÄÄÄÄÄ x + O(x ) + 39916800 + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFormulaPageEmpty3} +\begin{paste}{ugxProblemSeriesFormulaPageEmpty3}{ugxProblemSeriesFormulaPagePatch3} +\pastebutton{ugxProblemSeriesFormulaPageEmpty3}{\showpaste} +\tab{5}\spadcommand{series(n +-> (-1)**((n-1)/2)/factorial(n),x = 0,1..,2)} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFormulaPagePatch4} +\begin{paste}{ugxProblemSeriesFormulaPageFull4}{ugxProblemSeriesFormulaPageEmpty4} +\pastebutton{ugxProblemSeriesFormulaPageFull4}{\hidepaste} +\tab{5}\spadcommand{series(n +-> (-1)**((3*n-1)/2)/factorial(3*n),x = 0,1/3..,2/3)} +\indentrel{3}\begin{verbatim} + (4) + 1 5 7 + Ä Ä Ä + 3 1 1 3 1 3 1 3 + x - Ä x + ÄÄÄ x - ÄÄÄÄ x + ÄÄÄÄÄÄ x + 6 120 5040 362880 + + + 11 + ÄÄ + 1 3 4 + - ÄÄÄÄÄÄÄÄ x + O(x ) + 39916800 + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFormulaPageEmpty4} +\begin{paste}{ugxProblemSeriesFormulaPageEmpty4}{ugxProblemSeriesFormulaPagePatch4} +\pastebutton{ugxProblemSeriesFormulaPageEmpty4}{\showpaste} +\tab{5}\spadcommand{series(n +-> (-1)**((3*n-1)/2)/factorial(3*n),x = 0,1/3..,2/3)} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFormulaPagePatch5} +\begin{paste}{ugxProblemSeriesFormulaPageFull5}{ugxProblemSeriesFormulaPageEmpty5} +\pastebutton{ugxProblemSeriesFormulaPageFull5}{\hidepaste} +\tab{5}\spadcommand{cscx := series(n +-> (-1)**((n-1)/2) * 2 * (2**n-1) * bernoulli(numer(n+1)) / factorial(n+1), x=0, -1..,2)\bound{cscx }} +\indentrel{3}\begin{verbatim} + (5) + - 1 1 7 3 31 5 127 7 + x + Ä x + ÄÄÄ x + ÄÄÄÄÄ x + ÄÄÄÄÄÄ x + 6 360 15120 604800 + + + 73 9 10 + ÄÄÄÄÄÄÄ x + O(x ) + 3421440 + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFormulaPageEmpty5} +\begin{paste}{ugxProblemSeriesFormulaPageEmpty5}{ugxProblemSeriesFormulaPagePatch5} +\pastebutton{ugxProblemSeriesFormulaPageEmpty5}{\showpaste} +\tab{5}\spadcommand{cscx := series(n +-> (-1)**((n-1)/2) * 2 * (2**n-1) * bernoulli(numer(n+1)) / factorial(n+1), x=0, -1..,2)\bound{cscx }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFormulaPagePatch6} +\begin{paste}{ugxProblemSeriesFormulaPageFull6}{ugxProblemSeriesFormulaPageEmpty6} +\pastebutton{ugxProblemSeriesFormulaPageFull6}{\hidepaste} +\tab{5}\spadcommand{1/cscx\free{cscx }} +\indentrel{3}\begin{verbatim} + (6) + 1 3 1 5 1 7 1 9 + x - Ä x + ÄÄÄ x - ÄÄÄÄ x + ÄÄÄÄÄÄ x + 6 120 5040 362880 + + + 1 11 12 + - ÄÄÄÄÄÄÄÄ x + O(x ) + 39916800 + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFormulaPageEmpty6} +\begin{paste}{ugxProblemSeriesFormulaPageEmpty6}{ugxProblemSeriesFormulaPagePatch6} +\pastebutton{ugxProblemSeriesFormulaPageEmpty6}{\showpaste} +\tab{5}\spadcommand{1/cscx\free{cscx }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFormulaPagePatch7} +\begin{paste}{ugxProblemSeriesFormulaPageFull7}{ugxProblemSeriesFormulaPageEmpty7} +\pastebutton{ugxProblemSeriesFormulaPageFull7}{\hidepaste} +\tab{5}\spadcommand{asinx := series(n +-> binomial(n-1,(n-1)/2)/(n*2**(n-1)),x=0,1..,2)\bound{asinx }} +\indentrel{3}\begin{verbatim} + (7) + 1 3 3 5 5 7 35 9 63 11 12 + x + Ä x + ÄÄ x + ÄÄÄ x + ÄÄÄÄ x + ÄÄÄÄ x + O(x ) + 6 40 112 1152 2816 + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFormulaPageEmpty7} +\begin{paste}{ugxProblemSeriesFormulaPageEmpty7}{ugxProblemSeriesFormulaPagePatch7} +\pastebutton{ugxProblemSeriesFormulaPageEmpty7}{\showpaste} +\tab{5}\spadcommand{asinx := series(n +-> binomial(n-1,(n-1)/2)/(n*2**(n-1)),x=0,1..,2)\bound{asinx }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFormulaPagePatch8} +\begin{paste}{ugxProblemSeriesFormulaPageFull8}{ugxProblemSeriesFormulaPageEmpty8} +\pastebutton{ugxProblemSeriesFormulaPageFull8}{\hidepaste} +\tab{5}\spadcommand{sin(asinx)\free{asinx }} +\indentrel{3}\begin{verbatim} + 12 + (8) x + O(x ) + Type: UnivariatePuiseuxSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesFormulaPageEmpty8} +\begin{paste}{ugxProblemSeriesFormulaPageEmpty8}{ugxProblemSeriesFormulaPagePatch8} +\pastebutton{ugxProblemSeriesFormulaPageEmpty8}{\showpaste} +\tab{5}\spadcommand{sin(asinx)\free{asinx }} +\end{paste}\end{patch} + @ \pagehead{ugxProblemSeriesSubstitutePage}{ug08.ht} {Substituting Numerical Values in Power Series} @@ -38973,6 +100275,49 @@ The result is a sequence of the partial sums. \autobuttons \end{page} +\begin{patch}{ugxProblemSeriesSubstitutePagePatch1} +\begin{paste}{ugxProblemSeriesSubstitutePageFull1}{ugxProblemSeriesSubstitutePageEmpty1} +\pastebutton{ugxProblemSeriesSubstitutePageFull1}{\hidepaste} +\tab{5}\spadcommand{f := taylor(exp(x))\bound{f }} +\indentrel{3}\begin{verbatim} + (1) + 1 2 1 3 1 4 1 5 1 6 + 1 + x + Ä x + Ä x + ÄÄ x + ÄÄÄ x + ÄÄÄ x + 2 6 24 120 720 + + + 1 7 1 8 1 9 1 10 11 + ÄÄÄÄ x + ÄÄÄÄÄ x + ÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄ x + O(x ) + 5040 40320 362880 3628800 + Type: UnivariateTaylorSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesSubstitutePageEmpty1} +\begin{paste}{ugxProblemSeriesSubstitutePageEmpty1}{ugxProblemSeriesSubstitutePagePatch1} +\pastebutton{ugxProblemSeriesSubstitutePageEmpty1}{\showpaste} +\tab{5}\spadcommand{f := taylor(exp(x))\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesSubstitutePagePatch2} +\begin{paste}{ugxProblemSeriesSubstitutePageFull2}{ugxProblemSeriesSubstitutePageEmpty2} +\pastebutton{ugxProblemSeriesSubstitutePageFull2}{\hidepaste} +\tab{5}\spadcommand{eval(f,1.0)} +\indentrel{3}\begin{verbatim} + (2) + [1.0, 2.0, 2.5, 2.6666666666 666666667, + 2.7083333333 333333333, 2.7166666666 666666667, + 2.7180555555 555555556, 2.7182539682 53968254, + 2.7182787698 412698413, 2.7182815255 731922399, ...] + Type: Stream Expression Float +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesSubstitutePageEmpty2} +\begin{paste}{ugxProblemSeriesSubstitutePageEmpty2}{ugxProblemSeriesSubstitutePagePatch2} +\pastebutton{ugxProblemSeriesSubstitutePageEmpty2}{\showpaste} +\tab{5}\spadcommand{eval(f,1.0)} +\end{paste}\end{patch} + @ \pagehead{ugxProblemSeriesBernoulliPage}{ug08.ht} {Example: Bernoulli Polynomials and Sums of Powers} @@ -39147,6 +100492,251 @@ first \texht{$k$}{\axiom{k}} 20th powers. \autobuttons \end{page} +\begin{patch}{ugxProblemSeriesBernoulliPagePatch1} +\begin{paste}{ugxProblemSeriesBernoulliPageFull1}{ugxProblemSeriesBernoulliPageEmpty1} +\pastebutton{ugxProblemSeriesBernoulliPageFull1}{\hidepaste} +\tab{5}\spadcommand{reduce(+,[m**4 for m in 1..10])} +\indentrel{3}\begin{verbatim} + (1) 25333 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesBernoulliPageEmpty1} +\begin{paste}{ugxProblemSeriesBernoulliPageEmpty1}{ugxProblemSeriesBernoulliPagePatch1} +\pastebutton{ugxProblemSeriesBernoulliPageEmpty1}{\showpaste} +\tab{5}\spadcommand{reduce(+,[m**4 for m in 1..10])} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesBernoulliPagePatch2} +\begin{paste}{ugxProblemSeriesBernoulliPageFull2}{ugxProblemSeriesBernoulliPageEmpty2} +\pastebutton{ugxProblemSeriesBernoulliPageFull2}{\hidepaste} +\tab{5}\spadcommand{sum4 := sum(m**4, m = 1..k)\bound{sum4 }} +\indentrel{3}\begin{verbatim} + 5 4 3 + 6k + 15k + 10k - k + (2) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 30 + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesBernoulliPageEmpty2} +\begin{paste}{ugxProblemSeriesBernoulliPageEmpty2}{ugxProblemSeriesBernoulliPagePatch2} +\pastebutton{ugxProblemSeriesBernoulliPageEmpty2}{\showpaste} +\tab{5}\spadcommand{sum4 := sum(m**4, m = 1..k)\bound{sum4 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesBernoulliPagePatch3} +\begin{paste}{ugxProblemSeriesBernoulliPageFull3}{ugxProblemSeriesBernoulliPageEmpty3} +\pastebutton{ugxProblemSeriesBernoulliPageFull3}{\hidepaste} +\tab{5}\spadcommand{eval(sum4, k = 10)\free{sum4 }} +\indentrel{3}\begin{verbatim} + (3) 25333 + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesBernoulliPageEmpty3} +\begin{paste}{ugxProblemSeriesBernoulliPageEmpty3}{ugxProblemSeriesBernoulliPagePatch3} +\pastebutton{ugxProblemSeriesBernoulliPageEmpty3}{\showpaste} +\tab{5}\spadcommand{eval(sum4, k = 10)\free{sum4 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesBernoulliPagePatch4} +\begin{paste}{ugxProblemSeriesBernoulliPageFull4}{ugxProblemSeriesBernoulliPageEmpty4} +\pastebutton{ugxProblemSeriesBernoulliPageFull4}{\hidepaste} +\tab{5}\spadcommand{f := t*exp(x*t) / (exp(t) - 1)\bound{f }} +\indentrel{3}\begin{verbatim} + t x + t %e + (4) ÄÄÄÄÄÄÄ + t + %e - 1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesBernoulliPageEmpty4} +\begin{paste}{ugxProblemSeriesBernoulliPageEmpty4}{ugxProblemSeriesBernoulliPagePatch4} +\pastebutton{ugxProblemSeriesBernoulliPageEmpty4}{\showpaste} +\tab{5}\spadcommand{f := t*exp(x*t) / (exp(t) - 1)\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesBernoulliPagePatch5} +\begin{paste}{ugxProblemSeriesBernoulliPageFull5}{ugxProblemSeriesBernoulliPageEmpty5} +\pastebutton{ugxProblemSeriesBernoulliPageFull5}{\hidepaste} +\tab{5}\spadcommand{)set streams calculate 5\bound{set }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesBernoulliPageEmpty5} +\begin{paste}{ugxProblemSeriesBernoulliPageEmpty5}{ugxProblemSeriesBernoulliPagePatch5} +\pastebutton{ugxProblemSeriesBernoulliPageEmpty5}{\showpaste} +\tab{5}\spadcommand{)set streams calculate 5\bound{set }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesBernoulliPagePatch6} +\begin{paste}{ugxProblemSeriesBernoulliPageFull6}{ugxProblemSeriesBernoulliPageEmpty6} +\pastebutton{ugxProblemSeriesBernoulliPageFull6}{\hidepaste} +\tab{5}\spadcommand{ff := taylor(f,t = 0)\free{f set }\bound{ff }} +\indentrel{3}\begin{verbatim} + (5) + 2 3 2 + 2x - 1 6x - 6x + 1 2 2x - 3x + x 3 + 1 + ÄÄÄÄÄÄ t + ÄÄÄÄÄÄÄÄÄÄÄÄ t + ÄÄÄÄÄÄÄÄÄÄÄÄÄ t + 2 12 12 + + + 4 3 2 5 4 3 + 30x - 60x + 30x - 1 4 6x - 15x + 10x - x 5 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ t + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ t + 720 720 + + + 6 + O(t ) + Type: UnivariateTaylorSeries(Expression Integer,t,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesBernoulliPageEmpty6} +\begin{paste}{ugxProblemSeriesBernoulliPageEmpty6}{ugxProblemSeriesBernoulliPagePatch6} +\pastebutton{ugxProblemSeriesBernoulliPageEmpty6}{\showpaste} +\tab{5}\spadcommand{ff := taylor(f,t = 0)\free{f set }\bound{ff }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesBernoulliPagePatch7} +\begin{paste}{ugxProblemSeriesBernoulliPageFull7}{ugxProblemSeriesBernoulliPageEmpty7} +\pastebutton{ugxProblemSeriesBernoulliPageFull7}{\hidepaste} +\tab{5}\spadcommand{factorial(6) * coefficient(ff,6)\free{ff }} +\indentrel{3}\begin{verbatim} + 6 5 4 2 + 42x - 126x + 105x - 21x + 1 + (6) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 42 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesBernoulliPageEmpty7} +\begin{paste}{ugxProblemSeriesBernoulliPageEmpty7}{ugxProblemSeriesBernoulliPagePatch7} +\pastebutton{ugxProblemSeriesBernoulliPageEmpty7}{\showpaste} +\tab{5}\spadcommand{factorial(6) * coefficient(ff,6)\free{ff }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesBernoulliPagePatch8} +\begin{paste}{ugxProblemSeriesBernoulliPageFull8}{ugxProblemSeriesBernoulliPageEmpty8} +\pastebutton{ugxProblemSeriesBernoulliPageFull8}{\hidepaste} +\tab{5}\spadcommand{g := eval(f, x = x + 1) - f\bound{g }\free{f }} +\indentrel{3}\begin{verbatim} + t x + t t x + t %e - t %e + (7) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + t + %e - 1 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesBernoulliPageEmpty8} +\begin{paste}{ugxProblemSeriesBernoulliPageEmpty8}{ugxProblemSeriesBernoulliPagePatch8} +\pastebutton{ugxProblemSeriesBernoulliPageEmpty8}{\showpaste} +\tab{5}\spadcommand{g := eval(f, x = x + 1) - f\bound{g }\free{f }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesBernoulliPagePatch9} +\begin{paste}{ugxProblemSeriesBernoulliPageFull9}{ugxProblemSeriesBernoulliPageEmpty9} +\pastebutton{ugxProblemSeriesBernoulliPageFull9}{\hidepaste} +\tab{5}\spadcommand{normalize(g)\free{g }} +\indentrel{3}\begin{verbatim} + t x + (8) t %e + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesBernoulliPageEmpty9} +\begin{paste}{ugxProblemSeriesBernoulliPageEmpty9}{ugxProblemSeriesBernoulliPagePatch9} +\pastebutton{ugxProblemSeriesBernoulliPageEmpty9}{\showpaste} +\tab{5}\spadcommand{normalize(g)\free{g }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesBernoulliPagePatch10} +\begin{paste}{ugxProblemSeriesBernoulliPageFull10}{ugxProblemSeriesBernoulliPageEmpty10} +\pastebutton{ugxProblemSeriesBernoulliPageFull10}{\hidepaste} +\tab{5}\spadcommand{taylor(g,t = 0)\free{g }} +\indentrel{3}\begin{verbatim} + 2 3 4 + 2 x 3 x 4 x 5 6 + (9) t + x t + ÄÄ t + ÄÄ t + ÄÄ t + O(t ) + 2 6 24 + Type: UnivariateTaylorSeries(Expression Integer,t,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesBernoulliPageEmpty10} +\begin{paste}{ugxProblemSeriesBernoulliPageEmpty10}{ugxProblemSeriesBernoulliPagePatch10} +\pastebutton{ugxProblemSeriesBernoulliPageEmpty10}{\showpaste} +\tab{5}\spadcommand{taylor(g,t = 0)\free{g }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesBernoulliPagePatch11} +\begin{paste}{ugxProblemSeriesBernoulliPageFull11}{ugxProblemSeriesBernoulliPageEmpty11} +\pastebutton{ugxProblemSeriesBernoulliPageFull11}{\hidepaste} +\tab{5}\spadcommand{B5 := factorial(5) * coefficient(ff,5)\free{ff }\bound{B5 }} +\indentrel{3}\begin{verbatim} + 5 4 3 + 6x - 15x + 10x - x + (10) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 6 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesBernoulliPageEmpty11} +\begin{paste}{ugxProblemSeriesBernoulliPageEmpty11}{ugxProblemSeriesBernoulliPagePatch11} +\pastebutton{ugxProblemSeriesBernoulliPageEmpty11}{\showpaste} +\tab{5}\spadcommand{B5 := factorial(5) * coefficient(ff,5)\free{ff }\bound{B5 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesBernoulliPagePatch12} +\begin{paste}{ugxProblemSeriesBernoulliPageFull12}{ugxProblemSeriesBernoulliPageEmpty12} +\pastebutton{ugxProblemSeriesBernoulliPageFull12}{\hidepaste} +\tab{5}\spadcommand{1/5 * (eval(B5, x = k + 1) - eval(B5, x = 1))\free{B5 }} +\indentrel{3}\begin{verbatim} + 5 4 3 + 6k + 15k + 10k - k + (11) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 30 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesBernoulliPageEmpty12} +\begin{paste}{ugxProblemSeriesBernoulliPageEmpty12}{ugxProblemSeriesBernoulliPagePatch12} +\pastebutton{ugxProblemSeriesBernoulliPageEmpty12}{\showpaste} +\tab{5}\spadcommand{1/5 * (eval(B5, x = k + 1) - eval(B5, x = 1))\free{B5 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesBernoulliPagePatch13} +\begin{paste}{ugxProblemSeriesBernoulliPageFull13}{ugxProblemSeriesBernoulliPageEmpty13} +\pastebutton{ugxProblemSeriesBernoulliPageFull13}{\hidepaste} +\tab{5}\spadcommand{sum4\free{sum4 }} +\indentrel{3}\begin{verbatim} + 5 4 3 + 6k + 15k + 10k - k + (12) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 30 + Type: Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemSeriesBernoulliPageEmpty13} +\begin{paste}{ugxProblemSeriesBernoulliPageEmpty13}{ugxProblemSeriesBernoulliPagePatch13} +\pastebutton{ugxProblemSeriesBernoulliPageEmpty13}{\showpaste} +\tab{5}\spadcommand{sum4\free{sum4 }} +\end{paste}\end{patch} + @ \pagehead{ugProblemDEQPage}{ug08.ht}{Solution of Differential Equations} \pageto{notitle}{ugProblemLinPolEqnPage} @@ -39344,6 +100934,224 @@ D(y x, x) + y x = 0 \bound{e5}\free{y}} \autobuttons \end{page} +\begin{patch}{ugxProblemLDEQClosedPagePatch1} +\begin{paste}{ugxProblemLDEQClosedPageFull1}{ugxProblemLDEQClosedPageEmpty1} +\pastebutton{ugxProblemLDEQClosedPageFull1}{\hidepaste} +\tab{5}\spadcommand{y := operator 'y\bound{y }} +\indentrel{3}\begin{verbatim} + (1) y + Type: BasicOperator +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemLDEQClosedPageEmpty1} +\begin{paste}{ugxProblemLDEQClosedPageEmpty1}{ugxProblemLDEQClosedPagePatch1} +\pastebutton{ugxProblemLDEQClosedPageEmpty1}{\showpaste} +\tab{5}\spadcommand{y := operator 'y\bound{y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemLDEQClosedPagePatch2} +\begin{paste}{ugxProblemLDEQClosedPageFull2}{ugxProblemLDEQClosedPageEmpty2} +\pastebutton{ugxProblemLDEQClosedPageFull2}{\hidepaste} +\tab{5}\spadcommand{deq := D(y x, x, 2) + D(y x, x) + y x = 0\bound{e1 }\free{y }} +\indentrel{3}\begin{verbatim} + ,, , + (2) y (x) + y (x) + y(x)= 0 + + Type: Equation Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemLDEQClosedPageEmpty2} +\begin{paste}{ugxProblemLDEQClosedPageEmpty2}{ugxProblemLDEQClosedPagePatch2} +\pastebutton{ugxProblemLDEQClosedPageEmpty2}{\showpaste} +\tab{5}\spadcommand{deq := D(y x, x, 2) + D(y x, x) + y x = 0\bound{e1 }\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemLDEQClosedPagePatch3} +\begin{paste}{ugxProblemLDEQClosedPageFull3}{ugxProblemLDEQClosedPageEmpty3} +\pastebutton{ugxProblemLDEQClosedPageFull3}{\hidepaste} +\tab{5}\spadcommand{solve(deq, y, x)\free{e1 }\free{y }} +\indentrel{3}\begin{verbatim} + (3) + [particular= 0, + x x + ÚÄ¿ - Ä - Ä ÚÄ¿ + x\³3 2 2 x\³3 + basis= [cos(ÄÄÄÄÄ)%e ,%e sin(ÄÄÄÄÄ)]] + 2 2 +Type: Union(Record(particular: Expression Integer,basis: List Expression Integer),...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemLDEQClosedPageEmpty3} +\begin{paste}{ugxProblemLDEQClosedPageEmpty3}{ugxProblemLDEQClosedPagePatch3} +\pastebutton{ugxProblemLDEQClosedPageEmpty3}{\showpaste} +\tab{5}\spadcommand{solve(deq, y, x)\free{e1 }\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemLDEQClosedPagePatch4} +\begin{paste}{ugxProblemLDEQClosedPageFull4}{ugxProblemLDEQClosedPageEmpty4} +\pastebutton{ugxProblemLDEQClosedPageFull4}{\hidepaste} +\tab{5}\spadcommand{deq := D(y x, x, 2) + y x\bound{e2 }\free{y }} +\indentrel{3}\begin{verbatim} + ,, + (4) y (x) + y(x) + + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemLDEQClosedPageEmpty4} +\begin{paste}{ugxProblemLDEQClosedPageEmpty4}{ugxProblemLDEQClosedPagePatch4} +\pastebutton{ugxProblemLDEQClosedPageEmpty4}{\showpaste} +\tab{5}\spadcommand{deq := D(y x, x, 2) + y x\bound{e2 }\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemLDEQClosedPagePatch5} +\begin{paste}{ugxProblemLDEQClosedPageFull5}{ugxProblemLDEQClosedPageEmpty5} +\pastebutton{ugxProblemLDEQClosedPageFull5}{\hidepaste} +\tab{5}\spadcommand{solve(deq, y, x = 0, [1, 1])\free{e2 }\free{y }} +\indentrel{3}\begin{verbatim} + (5) sin(x) + cos(x) + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemLDEQClosedPageEmpty5} +\begin{paste}{ugxProblemLDEQClosedPageEmpty5}{ugxProblemLDEQClosedPagePatch5} +\pastebutton{ugxProblemLDEQClosedPageEmpty5}{\showpaste} +\tab{5}\spadcommand{solve(deq, y, x = 0, [1, 1])\free{e2 }\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemLDEQClosedPagePatch6} +\begin{paste}{ugxProblemLDEQClosedPageFull6}{ugxProblemLDEQClosedPageEmpty6} +\pastebutton{ugxProblemLDEQClosedPageFull6}{\hidepaste} +\tab{5}\spadcommand{deq := x**3 * D(y x, x, 3) + x**2 * D(y x, x, 2) - 2 * x * D(y x, x) + 2 * y x = 2 * x**4\bound{e3 }\free{y }} +\indentrel{3}\begin{verbatim} + 3 ,,, 2 ,, , 4 + (6) x y (x) + x y (x) - 2xy (x) + 2y(x)= 2x + + Type: Equation Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemLDEQClosedPageEmpty6} +\begin{paste}{ugxProblemLDEQClosedPageEmpty6}{ugxProblemLDEQClosedPagePatch6} +\pastebutton{ugxProblemLDEQClosedPageEmpty6}{\showpaste} +\tab{5}\spadcommand{deq := x**3 * D(y x, x, 3) + x**2 * D(y x, x, 2) - 2 * x * D(y x, x) + 2 * y x = 2 * x**4\bound{e3 }\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemLDEQClosedPagePatch7} +\begin{paste}{ugxProblemLDEQClosedPageFull7}{ugxProblemLDEQClosedPageEmpty7} +\pastebutton{ugxProblemLDEQClosedPageFull7}{\hidepaste} +\tab{5}\spadcommand{solve(deq, y, x)\free{e3 }\free{y }} +\indentrel{3}\begin{verbatim} + (7) + 5 3 2 + x - 10x + 20x + 4 + [particular= ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, + 15x + 3 2 3 3 2 + 2x - 3x + 1 x - 1 x - 3x - 1 + basis= [ÄÄÄÄÄÄÄÄÄÄÄÄÄ,ÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄÄÄÄÄ]] + x x x +Type: Union(Record(particular: Expression Integer,basis: List Expression Integer),...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemLDEQClosedPageEmpty7} +\begin{paste}{ugxProblemLDEQClosedPageEmpty7}{ugxProblemLDEQClosedPagePatch7} +\pastebutton{ugxProblemLDEQClosedPageEmpty7}{\showpaste} +\tab{5}\spadcommand{solve(deq, y, x)\free{e3 }\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemLDEQClosedPagePatch8} +\begin{paste}{ugxProblemLDEQClosedPageFull8}{ugxProblemLDEQClosedPageEmpty8} +\pastebutton{ugxProblemLDEQClosedPageFull8}{\hidepaste} +\tab{5}\spadcommand{deq := (x**9+x**3) * D(y x, x, 3) + 18 * x**8 * D(y x, x, 2) - 90 * x * D(y x, x) - 30 * (11 * x**6 - 3) * y x\bound{e4 }\free{y }} +\indentrel{3}\begin{verbatim} + (8) + 9 3 ,,, 8 ,, , + (x + x )y (x) + 18x y (x) - 90xy (x) + + + + 6 + (- 330x + 90)y(x) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemLDEQClosedPageEmpty8} +\begin{paste}{ugxProblemLDEQClosedPageEmpty8}{ugxProblemLDEQClosedPagePatch8} +\pastebutton{ugxProblemLDEQClosedPageEmpty8}{\showpaste} +\tab{5}\spadcommand{deq := (x**9+x**3) * D(y x, x, 3) + 18 * x**8 * D(y x, x, 2) - 90 * x * D(y x, x) - 30 * (11 * x**6 - 3) * y x\bound{e4 }\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemLDEQClosedPagePatch9} +\begin{paste}{ugxProblemLDEQClosedPageFull9}{ugxProblemLDEQClosedPageEmpty9} +\pastebutton{ugxProblemLDEQClosedPageFull9}{\hidepaste} +\tab{5}\spadcommand{solve(deq, y, x)\free{e4 }\free{y }} +\indentrel{3}\begin{verbatim} + (9) + [particular= 0, + ÚÄÄ¿ ÚÄÄ¿ + - \³91 log(x) \³91 log(x) + x x %e x %e + basis= [ÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ]] + 6 6 6 + x + 1 x + 1 x + 1 +Type: Union(Record(particular: Expression Integer,basis: List Expression Integer),...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemLDEQClosedPageEmpty9} +\begin{paste}{ugxProblemLDEQClosedPageEmpty9}{ugxProblemLDEQClosedPagePatch9} +\pastebutton{ugxProblemLDEQClosedPageEmpty9}{\showpaste} +\tab{5}\spadcommand{solve(deq, y, x)\free{e4 }\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemLDEQClosedPagePatch10} +\begin{paste}{ugxProblemLDEQClosedPageFull10}{ugxProblemLDEQClosedPageEmpty10} +\pastebutton{ugxProblemLDEQClosedPageFull10}{\hidepaste} +\tab{5}\spadcommand{deq := (x**2 + 1) * D(y x, x, 2) + 3 * x * D(y x, x) + y x = 0\bound{e5 }\free{y }} +\indentrel{3}\begin{verbatim} + 2 ,, , + (10) (x + 1)y (x) + 3xy (x) + y(x)= 0 + + Type: Equation Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemLDEQClosedPageEmpty10} +\begin{paste}{ugxProblemLDEQClosedPageEmpty10}{ugxProblemLDEQClosedPagePatch10} +\pastebutton{ugxProblemLDEQClosedPageEmpty10}{\showpaste} +\tab{5}\spadcommand{deq := (x**2 + 1) * D(y x, x, 2) + 3 * x * D(y x, x) + y x = 0\bound{e5 }\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemLDEQClosedPagePatch11} +\begin{paste}{ugxProblemLDEQClosedPageFull11}{ugxProblemLDEQClosedPageEmpty11} +\pastebutton{ugxProblemLDEQClosedPageFull11}{\hidepaste} +\tab{5}\spadcommand{solve(deq, y, x)\free{e5 }\free{y }} +\indentrel{3}\begin{verbatim} + (11) + ÚÄÄÄÄÄÄ¿ + ³ 2 + 1 log(\³x + 1 - x) + [particular= 0,basis= [ÄÄÄÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ]] + ÚÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄ¿ + ³ 2 ³ 2 + \³x + 1 \³x + 1 +Type: Union(Record(particular: Expression Integer,basis: List Expression Integer),...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemLDEQClosedPageEmpty11} +\begin{paste}{ugxProblemLDEQClosedPageEmpty11}{ugxProblemLDEQClosedPagePatch11} +\pastebutton{ugxProblemLDEQClosedPageEmpty11}{\showpaste} +\tab{5}\spadcommand{solve(deq, y, x)\free{e5 }\free{y }} +\end{paste}\end{patch} + @ \pagehead{ugxProblemNLDEQClosedPage}{ug08.ht} {Closed-Form Solutions of Non-Linear DEs} @@ -39501,6 +101309,363 @@ Finally, we solve it. \autobuttons \end{page} +\begin{patch}{ugxProblemNLDEQClosedPagePatch1} +\begin{paste}{ugxProblemNLDEQClosedPageFull1}{ugxProblemNLDEQClosedPageEmpty1} +\pastebutton{ugxProblemNLDEQClosedPageFull1}{\hidepaste} +\tab{5}\spadcommand{m := -y\bound{m }} +\indentrel{3}\begin{verbatim} + (1) - y + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPageEmpty1} +\begin{paste}{ugxProblemNLDEQClosedPageEmpty1}{ugxProblemNLDEQClosedPagePatch1} +\pastebutton{ugxProblemNLDEQClosedPageEmpty1}{\showpaste} +\tab{5}\spadcommand{m := -y\bound{m }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPagePatch2} +\begin{paste}{ugxProblemNLDEQClosedPageFull2}{ugxProblemNLDEQClosedPageEmpty2} +\pastebutton{ugxProblemNLDEQClosedPageFull2}{\hidepaste} +\tab{5}\spadcommand{n := x + y * log y\bound{n }} +\indentrel{3}\begin{verbatim} + (2) y log(y) + x + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPageEmpty2} +\begin{paste}{ugxProblemNLDEQClosedPageEmpty2}{ugxProblemNLDEQClosedPagePatch2} +\pastebutton{ugxProblemNLDEQClosedPageEmpty2}{\showpaste} +\tab{5}\spadcommand{n := x + y * log y\bound{n }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPagePatch3} +\begin{paste}{ugxProblemNLDEQClosedPageFull3}{ugxProblemNLDEQClosedPageEmpty3} +\pastebutton{ugxProblemNLDEQClosedPageFull3}{\hidepaste} +\tab{5}\spadcommand{D(m, y) - D(n, x)\free{m n }} +\indentrel{3}\begin{verbatim} + (3) - 2 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPageEmpty3} +\begin{paste}{ugxProblemNLDEQClosedPageEmpty3}{ugxProblemNLDEQClosedPagePatch3} +\pastebutton{ugxProblemNLDEQClosedPageEmpty3}{\showpaste} +\tab{5}\spadcommand{D(m, y) - D(n, x)\free{m n }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPagePatch4} +\begin{paste}{ugxProblemNLDEQClosedPageFull4}{ugxProblemNLDEQClosedPageEmpty4} +\pastebutton{ugxProblemNLDEQClosedPageFull4}{\hidepaste} +\tab{5}\spadcommand{mu := operator 'mu\bound{mu }} +\indentrel{3}\begin{verbatim} + (4) mu + Type: BasicOperator +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPageEmpty4} +\begin{paste}{ugxProblemNLDEQClosedPageEmpty4}{ugxProblemNLDEQClosedPagePatch4} +\pastebutton{ugxProblemNLDEQClosedPageEmpty4}{\showpaste} +\tab{5}\spadcommand{mu := operator 'mu\bound{mu }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPagePatch5} +\begin{paste}{ugxProblemNLDEQClosedPageFull5}{ugxProblemNLDEQClosedPageEmpty5} +\pastebutton{ugxProblemNLDEQClosedPageFull5}{\hidepaste} +\tab{5}\spadcommand{a := D(mu(x) * m, y) - D(mu(x) * n, x)\bound{a }\free{m n mu }} +\indentrel{3}\begin{verbatim} + , + (5) (- y log(y) - x)mu (x) - 2mu(x) + + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPageEmpty5} +\begin{paste}{ugxProblemNLDEQClosedPageEmpty5}{ugxProblemNLDEQClosedPagePatch5} +\pastebutton{ugxProblemNLDEQClosedPageEmpty5}{\showpaste} +\tab{5}\spadcommand{a := D(mu(x) * m, y) - D(mu(x) * n, x)\bound{a }\free{m n mu }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPagePatch6} +\begin{paste}{ugxProblemNLDEQClosedPageFull6}{ugxProblemNLDEQClosedPageEmpty6} +\pastebutton{ugxProblemNLDEQClosedPageFull6}{\hidepaste} +\tab{5}\spadcommand{solve(a = 0, mu, x)\free{mu a }} +\indentrel{3}\begin{verbatim} + (6) + 1 + [particular= 0,basis= [ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ]] + 2 2 2 + y log(y) + 2x y log(y) + x +Type: Union(Record(particular: Expression Integer,basis: List Expression Integer),...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPageEmpty6} +\begin{paste}{ugxProblemNLDEQClosedPageEmpty6}{ugxProblemNLDEQClosedPagePatch6} +\pastebutton{ugxProblemNLDEQClosedPageEmpty6}{\showpaste} +\tab{5}\spadcommand{solve(a = 0, mu, x)\free{mu a }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPagePatch7} +\begin{paste}{ugxProblemNLDEQClosedPageFull7}{ugxProblemNLDEQClosedPageEmpty7} +\pastebutton{ugxProblemNLDEQClosedPageFull7}{\hidepaste} +\tab{5}\spadcommand{b := D(mu(y) * m, y) - D(mu(y) * n, x)\bound{b }\free{mu m }} +\indentrel{3}\begin{verbatim} + , + (7) - ymu (y) - 2mu(y) + + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPageEmpty7} +\begin{paste}{ugxProblemNLDEQClosedPageEmpty7}{ugxProblemNLDEQClosedPagePatch7} +\pastebutton{ugxProblemNLDEQClosedPageEmpty7}{\showpaste} +\tab{5}\spadcommand{b := D(mu(y) * m, y) - D(mu(y) * n, x)\bound{b }\free{mu m }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPagePatch8} +\begin{paste}{ugxProblemNLDEQClosedPageFull8}{ugxProblemNLDEQClosedPageEmpty8} +\pastebutton{ugxProblemNLDEQClosedPageFull8}{\hidepaste} +\tab{5}\spadcommand{sb := solve(b = 0, mu, y)\free{mu b }\bound{sb }} +\indentrel{3}\begin{verbatim} + 1 + (8) [particular= 0,basis= [ÄÄ]] + 2 + y +Type: Union(Record(particular: Expression Integer,basis: List Expression Integer),...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPageEmpty8} +\begin{paste}{ugxProblemNLDEQClosedPageEmpty8}{ugxProblemNLDEQClosedPagePatch8} +\pastebutton{ugxProblemNLDEQClosedPageEmpty8}{\showpaste} +\tab{5}\spadcommand{sb := solve(b = 0, mu, y)\free{mu b }\bound{sb }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPagePatch9} +\begin{paste}{ugxProblemNLDEQClosedPageFull9}{ugxProblemNLDEQClosedPageEmpty9} +\pastebutton{ugxProblemNLDEQClosedPageFull9}{\hidepaste} +\tab{5}\spadcommand{intFactor := sb.basis.1\bound{intFactor }\free{sb }} +\indentrel{3}\begin{verbatim} + 1 + (9) ÄÄ + 2 + y + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPageEmpty9} +\begin{paste}{ugxProblemNLDEQClosedPageEmpty9}{ugxProblemNLDEQClosedPagePatch9} +\pastebutton{ugxProblemNLDEQClosedPageEmpty9}{\showpaste} +\tab{5}\spadcommand{intFactor := sb.basis.1\bound{intFactor }\free{sb }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPagePatch10} +\begin{paste}{ugxProblemNLDEQClosedPageFull10}{ugxProblemNLDEQClosedPageEmpty10} +\pastebutton{ugxProblemNLDEQClosedPageFull10}{\hidepaste} +\tab{5}\spadcommand{m := intFactor * m\bound{m1 }\free{m intFactor }} +\indentrel{3}\begin{verbatim} + 1 + (10) - Ä + y + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPageEmpty10} +\begin{paste}{ugxProblemNLDEQClosedPageEmpty10}{ugxProblemNLDEQClosedPagePatch10} +\pastebutton{ugxProblemNLDEQClosedPageEmpty10}{\showpaste} +\tab{5}\spadcommand{m := intFactor * m\bound{m1 }\free{m intFactor }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPagePatch11} +\begin{paste}{ugxProblemNLDEQClosedPageFull11}{ugxProblemNLDEQClosedPageEmpty11} +\pastebutton{ugxProblemNLDEQClosedPageFull11}{\hidepaste} +\tab{5}\spadcommand{n := intFactor * n\bound{n1 }\free{n intFactor }} +\indentrel{3}\begin{verbatim} + y log(y) + x + (11) ÄÄÄÄÄÄÄÄÄÄÄÄ + 2 + y + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPageEmpty11} +\begin{paste}{ugxProblemNLDEQClosedPageEmpty11}{ugxProblemNLDEQClosedPagePatch11} +\pastebutton{ugxProblemNLDEQClosedPageEmpty11}{\showpaste} +\tab{5}\spadcommand{n := intFactor * n\bound{n1 }\free{n intFactor }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPagePatch12} +\begin{paste}{ugxProblemNLDEQClosedPageFull12}{ugxProblemNLDEQClosedPageEmpty12} +\pastebutton{ugxProblemNLDEQClosedPageFull12}{\hidepaste} +\tab{5}\spadcommand{D(m, y) - D(n, x)\free{m1 n1 }} +\indentrel{3}\begin{verbatim} + (12) 0 + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPageEmpty12} +\begin{paste}{ugxProblemNLDEQClosedPageEmpty12}{ugxProblemNLDEQClosedPagePatch12} +\pastebutton{ugxProblemNLDEQClosedPageEmpty12}{\showpaste} +\tab{5}\spadcommand{D(m, y) - D(n, x)\free{m1 n1 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPagePatch13} +\begin{paste}{ugxProblemNLDEQClosedPageFull13}{ugxProblemNLDEQClosedPageEmpty13} +\pastebutton{ugxProblemNLDEQClosedPageFull13}{\hidepaste} +\tab{5}\spadcommand{h := operator 'h\bound{h }} +\indentrel{3}\begin{verbatim} + (13) h + Type: BasicOperator +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPageEmpty13} +\begin{paste}{ugxProblemNLDEQClosedPageEmpty13}{ugxProblemNLDEQClosedPagePatch13} +\pastebutton{ugxProblemNLDEQClosedPageEmpty13}{\showpaste} +\tab{5}\spadcommand{h := operator 'h\bound{h }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPagePatch14} +\begin{paste}{ugxProblemNLDEQClosedPageFull14}{ugxProblemNLDEQClosedPageEmpty14} +\pastebutton{ugxProblemNLDEQClosedPageFull14}{\hidepaste} +\tab{5}\spadcommand{sol := h y + integrate(m, x)\bound{sol }\free{h m1 }} +\indentrel{3}\begin{verbatim} + y h(y) - x + (14) ÄÄÄÄÄÄÄÄÄÄ + y + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPageEmpty14} +\begin{paste}{ugxProblemNLDEQClosedPageEmpty14}{ugxProblemNLDEQClosedPagePatch14} +\pastebutton{ugxProblemNLDEQClosedPageEmpty14}{\showpaste} +\tab{5}\spadcommand{sol := h y + integrate(m, x)\bound{sol }\free{h m1 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPagePatch15} +\begin{paste}{ugxProblemNLDEQClosedPageFull15}{ugxProblemNLDEQClosedPageEmpty15} +\pastebutton{ugxProblemNLDEQClosedPageFull15}{\hidepaste} +\tab{5}\spadcommand{dsol := D(sol, y)\free{sol }\bound{dsol }} +\indentrel{3}\begin{verbatim} + 2 , + y h (y) + x + + (15) ÄÄÄÄÄÄÄÄÄÄÄ + 2 + y + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPageEmpty15} +\begin{paste}{ugxProblemNLDEQClosedPageEmpty15}{ugxProblemNLDEQClosedPagePatch15} +\pastebutton{ugxProblemNLDEQClosedPageEmpty15}{\showpaste} +\tab{5}\spadcommand{dsol := D(sol, y)\free{sol }\bound{dsol }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPagePatch16} +\begin{paste}{ugxProblemNLDEQClosedPageFull16}{ugxProblemNLDEQClosedPageEmpty16} +\pastebutton{ugxProblemNLDEQClosedPageFull16}{\hidepaste} +\tab{5}\spadcommand{nsol := solve(dsol = n, h, y)\free{dsol n1 h }\bound{nsol }} +\indentrel{3}\begin{verbatim} + 2 + log(y) + (16) [particular= ÄÄÄÄÄÄÄ,basis= [1]] + 2 +Type: Union(Record(particular: Expression Integer,basis: List Expression Integer),...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPageEmpty16} +\begin{paste}{ugxProblemNLDEQClosedPageEmpty16}{ugxProblemNLDEQClosedPagePatch16} +\pastebutton{ugxProblemNLDEQClosedPageEmpty16}{\showpaste} +\tab{5}\spadcommand{nsol := solve(dsol = n, h, y)\free{dsol n1 h }\bound{nsol }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPagePatch17} +\begin{paste}{ugxProblemNLDEQClosedPageFull17}{ugxProblemNLDEQClosedPageEmpty17} +\pastebutton{ugxProblemNLDEQClosedPageFull17}{\hidepaste} +\tab{5}\spadcommand{eval(sol, h y = nsol.particular)\free{sol h nsol }} +\indentrel{3}\begin{verbatim} + 2 + y log(y) - 2x + (17) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 2y + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPageEmpty17} +\begin{paste}{ugxProblemNLDEQClosedPageEmpty17}{ugxProblemNLDEQClosedPagePatch17} +\pastebutton{ugxProblemNLDEQClosedPageEmpty17}{\showpaste} +\tab{5}\spadcommand{eval(sol, h y = nsol.particular)\free{sol h nsol }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPagePatch18} +\begin{paste}{ugxProblemNLDEQClosedPageFull18}{ugxProblemNLDEQClosedPageEmpty18} +\pastebutton{ugxProblemNLDEQClosedPageFull18}{\hidepaste} +\tab{5}\spadcommand{y := operator 'y\bound{y }} +\indentrel{3}\begin{verbatim} + (18) y + Type: BasicOperator +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPageEmpty18} +\begin{paste}{ugxProblemNLDEQClosedPageEmpty18}{ugxProblemNLDEQClosedPagePatch18} +\pastebutton{ugxProblemNLDEQClosedPageEmpty18}{\showpaste} +\tab{5}\spadcommand{y := operator 'y\bound{y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPagePatch19} +\begin{paste}{ugxProblemNLDEQClosedPageFull19}{ugxProblemNLDEQClosedPageEmpty19} +\pastebutton{ugxProblemNLDEQClosedPageFull19}{\hidepaste} +\tab{5}\spadcommand{deq := D(y x, x) = y(x) / (x + y(x) * log y x)\bound{deqi }\free{y }} +\indentrel{3}\begin{verbatim} + , y(x) + (19) y (x)= ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + y(x)log(y(x)) + x + Type: Equation Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPageEmpty19} +\begin{paste}{ugxProblemNLDEQClosedPageEmpty19}{ugxProblemNLDEQClosedPagePatch19} +\pastebutton{ugxProblemNLDEQClosedPageEmpty19}{\showpaste} +\tab{5}\spadcommand{deq := D(y x, x) = y(x) / (x + y(x) * log y x)\bound{deqi }\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPagePatch20} +\begin{paste}{ugxProblemNLDEQClosedPageFull20}{ugxProblemNLDEQClosedPageEmpty20} +\pastebutton{ugxProblemNLDEQClosedPageFull20}{\hidepaste} +\tab{5}\spadcommand{solve(deq, y, x)\free{deqi y }} +\indentrel{3}\begin{verbatim} + 2 + y(x)log(y(x)) - 2x + (20) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 2y(x) + Type: Union(Expression Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemNLDEQClosedPageEmpty20} +\begin{paste}{ugxProblemNLDEQClosedPageEmpty20}{ugxProblemNLDEQClosedPagePatch20} +\pastebutton{ugxProblemNLDEQClosedPageEmpty20}{\showpaste} +\tab{5}\spadcommand{solve(deq, y, x)\free{deqi y }} +\end{paste}\end{patch} + @ \pagehead{ugxProblemDEQSeriesPage}{ug08.ht} {Power Series Solutions of Differential Equations} @@ -39589,6 +101754,153 @@ the solution. \autobuttons \end{page} +\begin{patch}{ugxProblemDEQSeriesPagePatch1} +\begin{paste}{ugxProblemDEQSeriesPageFull1}{ugxProblemDEQSeriesPageEmpty1} +\pastebutton{ugxProblemDEQSeriesPageFull1}{\hidepaste} +\tab{5}\spadcommand{)set streams calculate 7\bound{c7 }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemDEQSeriesPageEmpty1} +\begin{paste}{ugxProblemDEQSeriesPageEmpty1}{ugxProblemDEQSeriesPagePatch1} +\pastebutton{ugxProblemDEQSeriesPageEmpty1}{\showpaste} +\tab{5}\spadcommand{)set streams calculate 7\bound{c7 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemDEQSeriesPagePatch2} +\begin{paste}{ugxProblemDEQSeriesPageFull2}{ugxProblemDEQSeriesPageEmpty2} +\pastebutton{ugxProblemDEQSeriesPageFull2}{\hidepaste} +\tab{5}\spadcommand{y := operator 'y\bound{y }} +\indentrel{3}\begin{verbatim} + (1) y + Type: BasicOperator +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemDEQSeriesPageEmpty2} +\begin{paste}{ugxProblemDEQSeriesPageEmpty2}{ugxProblemDEQSeriesPagePatch2} +\pastebutton{ugxProblemDEQSeriesPageEmpty2}{\showpaste} +\tab{5}\spadcommand{y := operator 'y\bound{y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemDEQSeriesPagePatch3} +\begin{paste}{ugxProblemDEQSeriesPageFull3}{ugxProblemDEQSeriesPageEmpty3} +\pastebutton{ugxProblemDEQSeriesPageFull3}{\hidepaste} +\tab{5}\spadcommand{eq := D(y(x), x, 3) - sin(D(y(x), x, 2))*exp(y(x)) = cos(x)\bound{eq }\free{y }} +\indentrel{3}\begin{verbatim} + ,,, y(x) ,, + (2) y (x) - %e sin(y (x))= cos(x) + + Type: Equation Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemDEQSeriesPageEmpty3} +\begin{paste}{ugxProblemDEQSeriesPageEmpty3}{ugxProblemDEQSeriesPagePatch3} +\pastebutton{ugxProblemDEQSeriesPageEmpty3}{\showpaste} +\tab{5}\spadcommand{eq := D(y(x), x, 3) - sin(D(y(x), x, 2))*exp(y(x)) = cos(x)\bound{eq }\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemDEQSeriesPagePatch4} +\begin{paste}{ugxProblemDEQSeriesPageFull4}{ugxProblemDEQSeriesPageEmpty4} +\pastebutton{ugxProblemDEQSeriesPageFull4}{\hidepaste} +\tab{5}\spadcommand{seriesSolve(eq, y, x = 0, [1, 0, 0])\free{y }\free{eq }\free{c7 }} +\indentrel{3}\begin{verbatim} + (3) + 2 3 + 1 3 %e 4 %e - 1 5 %e - 2%e 6 + 1 + Ä x + ÄÄ x + ÄÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄÄÄ x + 6 24 120 720 + + + 4 2 + %e - 8%e + 4%e + 1 7 8 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ x + O(x ) + 5040 + Type: UnivariateTaylorSeries(Expression Integer,x,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemDEQSeriesPageEmpty4} +\begin{paste}{ugxProblemDEQSeriesPageEmpty4}{ugxProblemDEQSeriesPagePatch4} +\pastebutton{ugxProblemDEQSeriesPageEmpty4}{\showpaste} +\tab{5}\spadcommand{seriesSolve(eq, y, x = 0, [1, 0, 0])\free{y }\free{eq }\free{c7 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemDEQSeriesPagePatch5} +\begin{paste}{ugxProblemDEQSeriesPageFull5}{ugxProblemDEQSeriesPageEmpty5} +\pastebutton{ugxProblemDEQSeriesPageFull5}{\hidepaste} +\tab{5}\spadcommand{x := operator 'x\bound{x }} +\indentrel{3}\begin{verbatim} + (4) x + Type: BasicOperator +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemDEQSeriesPageEmpty5} +\begin{paste}{ugxProblemDEQSeriesPageEmpty5}{ugxProblemDEQSeriesPagePatch5} +\pastebutton{ugxProblemDEQSeriesPageEmpty5}{\showpaste} +\tab{5}\spadcommand{x := operator 'x\bound{x }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemDEQSeriesPagePatch6} +\begin{paste}{ugxProblemDEQSeriesPageFull6}{ugxProblemDEQSeriesPageEmpty6} +\pastebutton{ugxProblemDEQSeriesPageFull6}{\hidepaste} +\tab{5}\spadcommand{eq1 := D(x(t), t) = 1 + x(t)**2\free{x }\free{y }\bound{eq1 }} +\indentrel{3}\begin{verbatim} + , 2 + (5) x (t)= x(t) + 1 + + Type: Equation Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemDEQSeriesPageEmpty6} +\begin{paste}{ugxProblemDEQSeriesPageEmpty6}{ugxProblemDEQSeriesPagePatch6} +\pastebutton{ugxProblemDEQSeriesPageEmpty6}{\showpaste} +\tab{5}\spadcommand{eq1 := D(x(t), t) = 1 + x(t)**2\free{x }\free{y }\bound{eq1 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemDEQSeriesPagePatch7} +\begin{paste}{ugxProblemDEQSeriesPageFull7}{ugxProblemDEQSeriesPageEmpty7} +\pastebutton{ugxProblemDEQSeriesPageFull7}{\hidepaste} +\tab{5}\spadcommand{eq2 := D(y(t), t) = x(t) * y(t)\free{x }\free{y }\bound{eq2 }} +\indentrel{3}\begin{verbatim} + , + (6) y (t)= x(t)y(t) + + Type: Equation Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemDEQSeriesPageEmpty7} +\begin{paste}{ugxProblemDEQSeriesPageEmpty7}{ugxProblemDEQSeriesPagePatch7} +\pastebutton{ugxProblemDEQSeriesPageEmpty7}{\showpaste} +\tab{5}\spadcommand{eq2 := D(y(t), t) = x(t) * y(t)\free{x }\free{y }\bound{eq2 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemDEQSeriesPagePatch8} +\begin{paste}{ugxProblemDEQSeriesPageFull8}{ugxProblemDEQSeriesPageEmpty8} +\pastebutton{ugxProblemDEQSeriesPageFull8}{\hidepaste} +\tab{5}\spadcommand{seriesSolve([eq2, eq1], [x, y], t = 0, [y(0) = 1, x(0) = 0])\free{x }\free{y }\free{eq1 }\free{eq2 }\free{c7 }} +\indentrel{3}\begin{verbatim} + (7) + 1 3 2 5 17 7 8 + [t + Ä t + ÄÄ t + ÄÄÄ t + O(t ), + 3 15 315 + 1 2 5 4 61 6 8 + 1 + Ä t + ÄÄ t + ÄÄÄ t + O(t )] + 2 24 720 +Type: List UnivariateTaylorSeries(Expression Integer,t,0) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemDEQSeriesPageEmpty8} +\begin{paste}{ugxProblemDEQSeriesPageEmpty8}{ugxProblemDEQSeriesPagePatch8} +\pastebutton{ugxProblemDEQSeriesPageEmpty8}{\showpaste} +\tab{5}\spadcommand{seriesSolve([eq2, eq1], [x, y], t = 0, [y(0) = 1, x(0) = 0])\free{x }\free{y }\free{eq1 }\free{eq2 }\free{c7 }} +\end{paste}\end{patch} + @ \pagehead{ugProblemFinitePage}{ug08.ht}{Finite Fields} \pagepic{ps/v71ugproblemfinitepage.eps}{ugProblemFinitePage} @@ -39812,6 +102124,331 @@ The order of a primitive element is the defining \smath{p-1}. \autobuttons \end{page} +\begin{patch}{ugxProblemFinitePrimePagePatch1} +\begin{paste}{ugxProblemFinitePrimePageFull1}{ugxProblemFinitePrimePageEmpty1} +\pastebutton{ugxProblemFinitePrimePageFull1}{\hidepaste} +\tab{5}\spadcommand{(a,b) : IntegerMod 12\bound{abdec }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePageEmpty1} +\begin{paste}{ugxProblemFinitePrimePageEmpty1}{ugxProblemFinitePrimePagePatch1} +\pastebutton{ugxProblemFinitePrimePageEmpty1}{\showpaste} +\tab{5}\spadcommand{(a,b) : IntegerMod 12\bound{abdec }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePagePatch2} +\begin{paste}{ugxProblemFinitePrimePageFull2}{ugxProblemFinitePrimePageEmpty2} +\pastebutton{ugxProblemFinitePrimePageFull2}{\hidepaste} +\tab{5}\spadcommand{(a, b) := (16, 7)\free{abdec }\bound{a b }} +\indentrel{3}\begin{verbatim} + (2) 7 + Type: IntegerMod 12 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePageEmpty2} +\begin{paste}{ugxProblemFinitePrimePageEmpty2}{ugxProblemFinitePrimePagePatch2} +\pastebutton{ugxProblemFinitePrimePageEmpty2}{\showpaste} +\tab{5}\spadcommand{(a, b) := (16, 7)\free{abdec }\bound{a b }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePagePatch3} +\begin{paste}{ugxProblemFinitePrimePageFull3}{ugxProblemFinitePrimePageEmpty3} +\pastebutton{ugxProblemFinitePrimePageFull3}{\hidepaste} +\tab{5}\spadcommand{[a - b, a * b]\free{a b }} +\indentrel{3}\begin{verbatim} + (3) [9,4] + Type: List IntegerMod 12 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePageEmpty3} +\begin{paste}{ugxProblemFinitePrimePageEmpty3}{ugxProblemFinitePrimePagePatch3} +\pastebutton{ugxProblemFinitePrimePageEmpty3}{\showpaste} +\tab{5}\spadcommand{[a - b, a * b]\free{a b }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePagePatch4} +\begin{paste}{ugxProblemFinitePrimePageFull4}{ugxProblemFinitePrimePageEmpty4} +\pastebutton{ugxProblemFinitePrimePageFull4}{\hidepaste} +\tab{5}\spadcommand{a / b\free{a b }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePageEmpty4} +\begin{paste}{ugxProblemFinitePrimePageEmpty4}{ugxProblemFinitePrimePagePatch4} +\pastebutton{ugxProblemFinitePrimePageEmpty4}{\showpaste} +\tab{5}\spadcommand{a / b\free{a b }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePagePatch5} +\begin{paste}{ugxProblemFinitePrimePageFull5}{ugxProblemFinitePrimePageEmpty5} +\pastebutton{ugxProblemFinitePrimePageFull5}{\hidepaste} +\tab{5}\spadcommand{recip a\free{a }} +\indentrel{3}\begin{verbatim} + (4) "failed" + Type: Union("failed",...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePageEmpty5} +\begin{paste}{ugxProblemFinitePrimePageEmpty5}{ugxProblemFinitePrimePagePatch5} +\pastebutton{ugxProblemFinitePrimePageEmpty5}{\showpaste} +\tab{5}\spadcommand{recip a\free{a }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePagePatch6} +\begin{paste}{ugxProblemFinitePrimePageFull6}{ugxProblemFinitePrimePageEmpty6} +\pastebutton{ugxProblemFinitePrimePageFull6}{\hidepaste} +\tab{5}\spadcommand{recip b\free{b }} +\indentrel{3}\begin{verbatim} + (5) 7 + Type: Union(IntegerMod 12,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePageEmpty6} +\begin{paste}{ugxProblemFinitePrimePageEmpty6}{ugxProblemFinitePrimePagePatch6} +\pastebutton{ugxProblemFinitePrimePageEmpty6}{\showpaste} +\tab{5}\spadcommand{recip b\free{b }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePagePatch7} +\begin{paste}{ugxProblemFinitePrimePageFull7}{ugxProblemFinitePrimePageEmpty7} +\pastebutton{ugxProblemFinitePrimePageFull7}{\hidepaste} +\tab{5}\spadcommand{c : PrimeField 11 := 8\bound{c }} +\indentrel{3}\begin{verbatim} + (6) 8 + Type: PrimeField 11 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePageEmpty7} +\begin{paste}{ugxProblemFinitePrimePageEmpty7}{ugxProblemFinitePrimePagePatch7} +\pastebutton{ugxProblemFinitePrimePageEmpty7}{\showpaste} +\tab{5}\spadcommand{c : PrimeField 11 := 8\bound{c }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePagePatch8} +\begin{paste}{ugxProblemFinitePrimePageFull8}{ugxProblemFinitePrimePageEmpty8} +\pastebutton{ugxProblemFinitePrimePageFull8}{\hidepaste} +\tab{5}\spadcommand{inv c\free{c }} +\indentrel{3}\begin{verbatim} + (7) 7 + Type: PrimeField 11 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePageEmpty8} +\begin{paste}{ugxProblemFinitePrimePageEmpty8}{ugxProblemFinitePrimePagePatch8} +\pastebutton{ugxProblemFinitePrimePageEmpty8}{\showpaste} +\tab{5}\spadcommand{inv c\free{c }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePagePatch9} +\begin{paste}{ugxProblemFinitePrimePageFull9}{ugxProblemFinitePrimePageEmpty9} +\pastebutton{ugxProblemFinitePrimePageFull9}{\hidepaste} +\tab{5}\spadcommand{9/c\free{c }} +\indentrel{3}\begin{verbatim} + (8) 8 + Type: PrimeField 11 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePageEmpty9} +\begin{paste}{ugxProblemFinitePrimePageEmpty9}{ugxProblemFinitePrimePagePatch9} +\pastebutton{ugxProblemFinitePrimePageEmpty9}{\showpaste} +\tab{5}\spadcommand{9/c\free{c }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePagePatch10} +\begin{paste}{ugxProblemFinitePrimePageFull10}{ugxProblemFinitePrimePageEmpty10} +\pastebutton{ugxProblemFinitePrimePageFull10}{\hidepaste} +\tab{5}\spadcommand{GF101 := PF 101\bound{GF101 }} +\indentrel{3}\begin{verbatim} + (9) PrimeField 101 + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePageEmpty10} +\begin{paste}{ugxProblemFinitePrimePageEmpty10}{ugxProblemFinitePrimePagePatch10} +\pastebutton{ugxProblemFinitePrimePageEmpty10}{\showpaste} +\tab{5}\spadcommand{GF101 := PF 101\bound{GF101 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePagePatch11} +\begin{paste}{ugxProblemFinitePrimePageFull11}{ugxProblemFinitePrimePageEmpty11} +\pastebutton{ugxProblemFinitePrimePageFull11}{\hidepaste} +\tab{5}\spadcommand{x := random()$GF101\bound{x }\free{GF101 }} +\indentrel{3}\begin{verbatim} + (10) 78 + Type: PrimeField 101 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePageEmpty11} +\begin{paste}{ugxProblemFinitePrimePageEmpty11}{ugxProblemFinitePrimePagePatch11} +\pastebutton{ugxProblemFinitePrimePageEmpty11}{\showpaste} +\tab{5}\spadcommand{x := random()$GF101\bound{x }\free{GF101 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePagePatch12} +\begin{paste}{ugxProblemFinitePrimePageFull12}{ugxProblemFinitePrimePageEmpty12} +\pastebutton{ugxProblemFinitePrimePageFull12}{\hidepaste} +\tab{5}\spadcommand{y : GF101 := 37\bound{y }\free{GF101 }} +\indentrel{3}\begin{verbatim} + (11) 37 + Type: PrimeField 101 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePageEmpty12} +\begin{paste}{ugxProblemFinitePrimePageEmpty12}{ugxProblemFinitePrimePagePatch12} +\pastebutton{ugxProblemFinitePrimePageEmpty12}{\showpaste} +\tab{5}\spadcommand{y : GF101 := 37\bound{y }\free{GF101 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePagePatch13} +\begin{paste}{ugxProblemFinitePrimePageFull13}{ugxProblemFinitePrimePageEmpty13} +\pastebutton{ugxProblemFinitePrimePageFull13}{\hidepaste} +\tab{5}\spadcommand{z := x/y\bound{z }\free{x y }} +\indentrel{3}\begin{verbatim} + (12) 84 + Type: PrimeField 101 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePageEmpty13} +\begin{paste}{ugxProblemFinitePrimePageEmpty13}{ugxProblemFinitePrimePagePatch13} +\pastebutton{ugxProblemFinitePrimePageEmpty13}{\showpaste} +\tab{5}\spadcommand{z := x/y\bound{z }\free{x y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePagePatch14} +\begin{paste}{ugxProblemFinitePrimePageFull14}{ugxProblemFinitePrimePageEmpty14} +\pastebutton{ugxProblemFinitePrimePageFull14}{\hidepaste} +\tab{5}\spadcommand{z * y - x\free{x y z }} +\indentrel{3}\begin{verbatim} + (13) 0 + Type: PrimeField 101 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePageEmpty14} +\begin{paste}{ugxProblemFinitePrimePageEmpty14}{ugxProblemFinitePrimePagePatch14} +\pastebutton{ugxProblemFinitePrimePageEmpty14}{\showpaste} +\tab{5}\spadcommand{z * y - x\free{x y z }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePagePatch15} +\begin{paste}{ugxProblemFinitePrimePageFull15}{ugxProblemFinitePrimePageEmpty15} +\pastebutton{ugxProblemFinitePrimePageFull15}{\hidepaste} +\tab{5}\spadcommand{pe := primitiveElement()$GF101\bound{pe }\free{GF101 }} +\indentrel{3}\begin{verbatim} + (14) 2 + Type: PrimeField 101 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePageEmpty15} +\begin{paste}{ugxProblemFinitePrimePageEmpty15}{ugxProblemFinitePrimePagePatch15} +\pastebutton{ugxProblemFinitePrimePageEmpty15}{\showpaste} +\tab{5}\spadcommand{pe := primitiveElement()$GF101\bound{pe }\free{GF101 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePagePatch16} +\begin{paste}{ugxProblemFinitePrimePageFull16}{ugxProblemFinitePrimePageEmpty16} +\pastebutton{ugxProblemFinitePrimePageFull16}{\hidepaste} +\tab{5}\spadcommand{[pe**i for i in 0..99]\free{pe }} +\indentrel{3}\begin{verbatim} + (15) + [1, 2, 4, 8, 16, 32, 64, 27, 54, 7, 14, 28, 56, 11, + 22, 44, 88, 75, 49, 98, 95, 89, 77, 53, 5, 10, 20, + 40, 80, 59, 17, 34, 68, 35, 70, 39, 78, 55, 9, 18, + 36, 72, 43, 86, 71, 41, 82, 63, 25, 50, 100, 99, 97, + 93, 85, 69, 37, 74, 47, 94, 87, 73, 45, 90, 79, 57, + 13, 26, 52, 3, 6, 12, 24, 48, 96, 91, 81, 61, 21, 42, + 84, 67, 33, 66, 31, 62, 23, 46, 92, 83, 65, 29, 58, + 15, 30, 60, 19, 38, 76, 51] + Type: List PrimeField 101 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePageEmpty16} +\begin{paste}{ugxProblemFinitePrimePageEmpty16}{ugxProblemFinitePrimePagePatch16} +\pastebutton{ugxProblemFinitePrimePageEmpty16}{\showpaste} +\tab{5}\spadcommand{[pe**i for i in 0..99]\free{pe }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePagePatch17} +\begin{paste}{ugxProblemFinitePrimePageFull17}{ugxProblemFinitePrimePageEmpty17} +\pastebutton{ugxProblemFinitePrimePageFull17}{\hidepaste} +\tab{5}\spadcommand{ex := discreteLog(y)\bound{ex }\free{y }} +\indentrel{3}\begin{verbatim} + (16) 56 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePageEmpty17} +\begin{paste}{ugxProblemFinitePrimePageEmpty17}{ugxProblemFinitePrimePagePatch17} +\pastebutton{ugxProblemFinitePrimePageEmpty17}{\showpaste} +\tab{5}\spadcommand{ex := discreteLog(y)\bound{ex }\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePagePatch18} +\begin{paste}{ugxProblemFinitePrimePageFull18}{ugxProblemFinitePrimePageEmpty18} +\pastebutton{ugxProblemFinitePrimePageFull18}{\hidepaste} +\tab{5}\spadcommand{pe ** ex\free{ex pe }} +\indentrel{3}\begin{verbatim} + (17) 37 + Type: PrimeField 101 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePageEmpty18} +\begin{paste}{ugxProblemFinitePrimePageEmpty18}{ugxProblemFinitePrimePagePatch18} +\pastebutton{ugxProblemFinitePrimePageEmpty18}{\showpaste} +\tab{5}\spadcommand{pe ** ex\free{ex pe }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePagePatch19} +\begin{paste}{ugxProblemFinitePrimePageFull19}{ugxProblemFinitePrimePageEmpty19} +\pastebutton{ugxProblemFinitePrimePageFull19}{\hidepaste} +\tab{5}\spadcommand{order y\free{y }} +\indentrel{3}\begin{verbatim} + (18) 25 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePageEmpty19} +\begin{paste}{ugxProblemFinitePrimePageEmpty19}{ugxProblemFinitePrimePagePatch19} +\pastebutton{ugxProblemFinitePrimePageEmpty19}{\showpaste} +\tab{5}\spadcommand{order y\free{y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePagePatch20} +\begin{paste}{ugxProblemFinitePrimePageFull20}{ugxProblemFinitePrimePageEmpty20} +\pastebutton{ugxProblemFinitePrimePageFull20}{\hidepaste} +\tab{5}\spadcommand{order pe\free{pe }} +\indentrel{3}\begin{verbatim} + (19) 100 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFinitePrimePageEmpty20} +\begin{paste}{ugxProblemFinitePrimePageEmpty20}{ugxProblemFinitePrimePagePatch20} +\pastebutton{ugxProblemFinitePrimePageEmpty20}{\showpaste} +\tab{5}\spadcommand{order pe\free{pe }} +\end{paste}\end{patch} + @ \pagehead{ugxProblemFiniteExtensionFinitePage}{ug08.ht} {Extensions of Finite Fields} @@ -40086,6 +102723,280 @@ The degree of the extension is the degree of the polynomial. \autobuttons \end{page} +\begin{patch}{ugxProblemFiniteModulusPagePatch1} +\begin{paste}{ugxProblemFiniteModulusPageFull1}{ugxProblemFiniteModulusPageEmpty1} +\pastebutton{ugxProblemFiniteModulusPageFull1}{\hidepaste} +\tab{5}\spadcommand{GF4096 := FF(2,12);\bound{GF4096 }} +\indentrel{3}\begin{verbatim} + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPageEmpty1} +\begin{paste}{ugxProblemFiniteModulusPageEmpty1}{ugxProblemFiniteModulusPagePatch1} +\pastebutton{ugxProblemFiniteModulusPageEmpty1}{\showpaste} +\tab{5}\spadcommand{GF4096 := FF(2,12);\bound{GF4096 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPagePatch2} +\begin{paste}{ugxProblemFiniteModulusPageFull2}{ugxProblemFiniteModulusPageEmpty2} +\pastebutton{ugxProblemFiniteModulusPageFull2}{\hidepaste} +\tab{5}\spadcommand{a := index(2)$GF4096\bound{a }\free{GF4096 }} +\indentrel{3}\begin{verbatim} + (2) %CS + Type: FiniteField(2,12) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPageEmpty2} +\begin{paste}{ugxProblemFiniteModulusPageEmpty2}{ugxProblemFiniteModulusPagePatch2} +\pastebutton{ugxProblemFiniteModulusPageEmpty2}{\showpaste} +\tab{5}\spadcommand{a := index(2)$GF4096\bound{a }\free{GF4096 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPagePatch3} +\begin{paste}{ugxProblemFiniteModulusPageFull3}{ugxProblemFiniteModulusPageEmpty3} +\pastebutton{ugxProblemFiniteModulusPageFull3}{\hidepaste} +\tab{5}\spadcommand{b := a**12 - a**5 + a\bound{b }\free{a }} +\indentrel{3}\begin{verbatim} + 5 3 + (3) %CS + %CS + %CS + 1 + Type: FiniteField(2,12) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPageEmpty3} +\begin{paste}{ugxProblemFiniteModulusPageEmpty3}{ugxProblemFiniteModulusPagePatch3} +\pastebutton{ugxProblemFiniteModulusPageEmpty3}{\showpaste} +\tab{5}\spadcommand{b := a**12 - a**5 + a\bound{b }\free{a }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPagePatch4} +\begin{paste}{ugxProblemFiniteModulusPageFull4}{ugxProblemFiniteModulusPageEmpty4} +\pastebutton{ugxProblemFiniteModulusPageFull4}{\hidepaste} +\tab{5}\spadcommand{b ** 1000\free{b }} +\indentrel{3}\begin{verbatim} + 10 9 7 5 4 3 + (4) %CS + %CS + %CS + %CS + %CS + %CS + %CS + Type: FiniteField(2,12) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPageEmpty4} +\begin{paste}{ugxProblemFiniteModulusPageEmpty4}{ugxProblemFiniteModulusPagePatch4} +\pastebutton{ugxProblemFiniteModulusPageEmpty4}{\showpaste} +\tab{5}\spadcommand{b ** 1000\free{b }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPagePatch5} +\begin{paste}{ugxProblemFiniteModulusPageFull5}{ugxProblemFiniteModulusPageEmpty5} +\pastebutton{ugxProblemFiniteModulusPageFull5}{\hidepaste} +\tab{5}\spadcommand{c := a/b\free{a b }\bound{c }} +\indentrel{3}\begin{verbatim} + 11 8 7 5 4 3 2 + (5) %CS + %CS + %CS + %CS + %CS + %CS + %CS + Type: FiniteField(2,12) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPageEmpty5} +\begin{paste}{ugxProblemFiniteModulusPageEmpty5}{ugxProblemFiniteModulusPagePatch5} +\pastebutton{ugxProblemFiniteModulusPageEmpty5}{\showpaste} +\tab{5}\spadcommand{c := a/b\free{a b }\bound{c }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPagePatch6} +\begin{paste}{ugxProblemFiniteModulusPageFull6}{ugxProblemFiniteModulusPageEmpty6} +\pastebutton{ugxProblemFiniteModulusPageFull6}{\hidepaste} +\tab{5}\spadcommand{norm c\free{c }} +\indentrel{3}\begin{verbatim} + (6) 1 + Type: PrimeField 2 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPageEmpty6} +\begin{paste}{ugxProblemFiniteModulusPageEmpty6}{ugxProblemFiniteModulusPagePatch6} +\pastebutton{ugxProblemFiniteModulusPageEmpty6}{\showpaste} +\tab{5}\spadcommand{norm c\free{c }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPagePatch7} +\begin{paste}{ugxProblemFiniteModulusPageFull7}{ugxProblemFiniteModulusPageEmpty7} +\pastebutton{ugxProblemFiniteModulusPageFull7}{\hidepaste} +\tab{5}\spadcommand{trace c\free{c }} +\indentrel{3}\begin{verbatim} + (7) 0 + Type: PrimeField 2 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPageEmpty7} +\begin{paste}{ugxProblemFiniteModulusPageEmpty7}{ugxProblemFiniteModulusPagePatch7} +\pastebutton{ugxProblemFiniteModulusPageEmpty7}{\showpaste} +\tab{5}\spadcommand{trace c\free{c }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPagePatch8} +\begin{paste}{ugxProblemFiniteModulusPageFull8}{ugxProblemFiniteModulusPageEmpty8} +\pastebutton{ugxProblemFiniteModulusPageFull8}{\hidepaste} +\tab{5}\spadcommand{dL := discreteLog a\free{a }\bound{dL }} +\indentrel{3}\begin{verbatim} + (8) 1729 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPageEmpty8} +\begin{paste}{ugxProblemFiniteModulusPageEmpty8}{ugxProblemFiniteModulusPagePatch8} +\pastebutton{ugxProblemFiniteModulusPageEmpty8}{\showpaste} +\tab{5}\spadcommand{dL := discreteLog a\free{a }\bound{dL }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPagePatch9} +\begin{paste}{ugxProblemFiniteModulusPageFull9}{ugxProblemFiniteModulusPageEmpty9} +\pastebutton{ugxProblemFiniteModulusPageFull9}{\hidepaste} +\tab{5}\spadcommand{g ** dL\free{dL g }} +\indentrel{3}\begin{verbatim} + 1729 + (9) g + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPageEmpty9} +\begin{paste}{ugxProblemFiniteModulusPageEmpty9}{ugxProblemFiniteModulusPagePatch9} +\pastebutton{ugxProblemFiniteModulusPageEmpty9}{\showpaste} +\tab{5}\spadcommand{g ** dL\free{dL g }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPagePatch10} +\begin{paste}{ugxProblemFiniteModulusPageFull10}{ugxProblemFiniteModulusPageEmpty10} +\pastebutton{ugxProblemFiniteModulusPageFull10}{\hidepaste} +\tab{5}\spadcommand{GF16 := FF(2,4);\bound{GF16 }} +\indentrel{3}\begin{verbatim} + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPageEmpty10} +\begin{paste}{ugxProblemFiniteModulusPageEmpty10}{ugxProblemFiniteModulusPagePatch10} +\pastebutton{ugxProblemFiniteModulusPageEmpty10}{\showpaste} +\tab{5}\spadcommand{GF16 := FF(2,4);\bound{GF16 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPagePatch11} +\begin{paste}{ugxProblemFiniteModulusPageFull11}{ugxProblemFiniteModulusPageEmpty11} +\pastebutton{ugxProblemFiniteModulusPageFull11}{\hidepaste} +\tab{5}\spadcommand{GF4096 := FFX(GF16,3);\bound{GF4096x }\free{GF16 }} +\indentrel{3}\begin{verbatim} + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPageEmpty11} +\begin{paste}{ugxProblemFiniteModulusPageEmpty11}{ugxProblemFiniteModulusPagePatch11} +\pastebutton{ugxProblemFiniteModulusPageEmpty11}{\showpaste} +\tab{5}\spadcommand{GF4096 := FFX(GF16,3);\bound{GF4096x }\free{GF16 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPagePatch12} +\begin{paste}{ugxProblemFiniteModulusPageFull12}{ugxProblemFiniteModulusPageEmpty12} +\pastebutton{ugxProblemFiniteModulusPageFull12}{\hidepaste} +\tab{5}\spadcommand{r := (random()$GF4096) ** 20\free{GF4096x }\bound{r }} +\indentrel{3}\begin{verbatim} + 3 2 + (12) (%CT + %CT + 1)%CU + %CT %CU + Type: FiniteFieldExtension(FiniteField(2,4),3) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPageEmpty12} +\begin{paste}{ugxProblemFiniteModulusPageEmpty12}{ugxProblemFiniteModulusPagePatch12} +\pastebutton{ugxProblemFiniteModulusPageEmpty12}{\showpaste} +\tab{5}\spadcommand{r := (random()$GF4096) ** 20\free{GF4096x }\bound{r }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPagePatch13} +\begin{paste}{ugxProblemFiniteModulusPageFull13}{ugxProblemFiniteModulusPageEmpty13} +\pastebutton{ugxProblemFiniteModulusPageFull13}{\hidepaste} +\tab{5}\spadcommand{norm(r)\free{r }} +\indentrel{3}\begin{verbatim} + 2 + (13) %CT + %CT + Type: FiniteField(2,4) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPageEmpty13} +\begin{paste}{ugxProblemFiniteModulusPageEmpty13}{ugxProblemFiniteModulusPagePatch13} +\pastebutton{ugxProblemFiniteModulusPageEmpty13}{\showpaste} +\tab{5}\spadcommand{norm(r)\free{r }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPagePatch14} +\begin{paste}{ugxProblemFiniteModulusPageFull14}{ugxProblemFiniteModulusPageEmpty14} +\pastebutton{ugxProblemFiniteModulusPageFull14}{\hidepaste} +\tab{5}\spadcommand{GF4 := FF(2,2);\bound{GF4 }} +\indentrel{3}\begin{verbatim} + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPageEmpty14} +\begin{paste}{ugxProblemFiniteModulusPageEmpty14}{ugxProblemFiniteModulusPagePatch14} +\pastebutton{ugxProblemFiniteModulusPageEmpty14}{\showpaste} +\tab{5}\spadcommand{GF4 := FF(2,2);\bound{GF4 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPagePatch15} +\begin{paste}{ugxProblemFiniteModulusPageFull15}{ugxProblemFiniteModulusPageEmpty15} +\pastebutton{ugxProblemFiniteModulusPageFull15}{\hidepaste} +\tab{5}\spadcommand{f := nextIrreduciblePoly(random(6)$FFPOLY(GF4))$FFPOLY(GF4)\free{GF4 }\bound{f }} +\indentrel{3}\begin{verbatim} + 6 5 4 2 + (15) ? + ? + (%CV + 1)? + (%CV + 1)? + ? + %CV +Type: Union(SparseUnivariatePolynomial FiniteField(2,2),...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPageEmpty15} +\begin{paste}{ugxProblemFiniteModulusPageEmpty15}{ugxProblemFiniteModulusPagePatch15} +\pastebutton{ugxProblemFiniteModulusPageEmpty15}{\showpaste} +\tab{5}\spadcommand{f := nextIrreduciblePoly(random(6)$FFPOLY(GF4))$FFPOLY(GF4)\free{GF4 }\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPagePatch16} +\begin{paste}{ugxProblemFiniteModulusPageFull16}{ugxProblemFiniteModulusPageEmpty16} +\pastebutton{ugxProblemFiniteModulusPageFull16}{\hidepaste} +\tab{5}\spadcommand{GF4096 := FFP(GF4,f);\bound{GF4096y }\free{f GF4 }} +\indentrel{3}\begin{verbatim} + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPageEmpty16} +\begin{paste}{ugxProblemFiniteModulusPageEmpty16}{ugxProblemFiniteModulusPagePatch16} +\pastebutton{ugxProblemFiniteModulusPageEmpty16}{\showpaste} +\tab{5}\spadcommand{GF4096 := FFP(GF4,f);\bound{GF4096y }\free{f GF4 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPagePatch17} +\begin{paste}{ugxProblemFiniteModulusPageFull17}{ugxProblemFiniteModulusPageEmpty17} +\pastebutton{ugxProblemFiniteModulusPageFull17}{\hidepaste} +\tab{5}\spadcommand{discreteLog random()$GF4096\free{GF4096y }} +\indentrel{3}\begin{verbatim} + (17) 3370 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteModulusPageEmpty17} +\begin{paste}{ugxProblemFiniteModulusPageEmpty17}{ugxProblemFiniteModulusPagePatch17} +\pastebutton{ugxProblemFiniteModulusPageEmpty17}{\showpaste} +\tab{5}\spadcommand{discreteLog random()$GF4096\free{GF4096y }} +\end{paste}\end{patch} + @ \pagehead{ugxProblemFiniteCyclicPage}{ug08.ht} {Cyclic Group Representations} @@ -40212,6 +103123,215 @@ Let's look at a random element from this field. \autobuttons \end{page} +\begin{patch}{ugxProblemFiniteCyclicPagePatch1} +\begin{paste}{ugxProblemFiniteCyclicPageFull1}{ugxProblemFiniteCyclicPageEmpty1} +\pastebutton{ugxProblemFiniteCyclicPageFull1}{\hidepaste} +\tab{5}\spadcommand{GF81 := FFCG(3,4);\bound{GF81 }} +\indentrel{3}\begin{verbatim} + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteCyclicPageEmpty1} +\begin{paste}{ugxProblemFiniteCyclicPageEmpty1}{ugxProblemFiniteCyclicPagePatch1} +\pastebutton{ugxProblemFiniteCyclicPageEmpty1}{\showpaste} +\tab{5}\spadcommand{GF81 := FFCG(3,4);\bound{GF81 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteCyclicPagePatch2} +\begin{paste}{ugxProblemFiniteCyclicPageFull2}{ugxProblemFiniteCyclicPageEmpty2} +\pastebutton{ugxProblemFiniteCyclicPageFull2}{\hidepaste} +\tab{5}\spadcommand{a := primitiveElement()$GF81\bound{a }\free{GF81 }} +\indentrel{3}\begin{verbatim} + 1 + (2) %BF + Type: FiniteFieldCyclicGroup(3,4) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteCyclicPageEmpty2} +\begin{paste}{ugxProblemFiniteCyclicPageEmpty2}{ugxProblemFiniteCyclicPagePatch2} +\pastebutton{ugxProblemFiniteCyclicPageEmpty2}{\showpaste} +\tab{5}\spadcommand{a := primitiveElement()$GF81\bound{a }\free{GF81 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteCyclicPagePatch3} +\begin{paste}{ugxProblemFiniteCyclicPageFull3}{ugxProblemFiniteCyclicPageEmpty3} +\pastebutton{ugxProblemFiniteCyclicPageFull3}{\hidepaste} +\tab{5}\spadcommand{b := a**12 - a**5 + a\bound{b }\free{a }} +\indentrel{3}\begin{verbatim} + 72 + (3) %BF + Type: FiniteFieldCyclicGroup(3,4) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteCyclicPageEmpty3} +\begin{paste}{ugxProblemFiniteCyclicPageEmpty3}{ugxProblemFiniteCyclicPagePatch3} +\pastebutton{ugxProblemFiniteCyclicPageEmpty3}{\showpaste} +\tab{5}\spadcommand{b := a**12 - a**5 + a\bound{b }\free{a }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteCyclicPagePatch4} +\begin{paste}{ugxProblemFiniteCyclicPageFull4}{ugxProblemFiniteCyclicPageEmpty4} +\pastebutton{ugxProblemFiniteCyclicPageFull4}{\hidepaste} +\tab{5}\spadcommand{b\free{b }} +\indentrel{3}\begin{verbatim} + 72 + (4) %BF + Type: FiniteFieldCyclicGroup(3,4) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteCyclicPageEmpty4} +\begin{paste}{ugxProblemFiniteCyclicPageEmpty4}{ugxProblemFiniteCyclicPagePatch4} +\pastebutton{ugxProblemFiniteCyclicPageEmpty4}{\showpaste} +\tab{5}\spadcommand{b\free{b }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteCyclicPagePatch5} +\begin{paste}{ugxProblemFiniteCyclicPageFull5}{ugxProblemFiniteCyclicPageEmpty5} +\pastebutton{ugxProblemFiniteCyclicPageFull5}{\hidepaste} +\tab{5}\spadcommand{discreteLog b\free{b }} +\indentrel{3}\begin{verbatim} + (5) 72 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteCyclicPageEmpty5} +\begin{paste}{ugxProblemFiniteCyclicPageEmpty5}{ugxProblemFiniteCyclicPagePatch5} +\pastebutton{ugxProblemFiniteCyclicPageEmpty5}{\showpaste} +\tab{5}\spadcommand{discreteLog b\free{b }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteCyclicPagePatch6} +\begin{paste}{ugxProblemFiniteCyclicPageFull6}{ugxProblemFiniteCyclicPageEmpty6} +\pastebutton{ugxProblemFiniteCyclicPageFull6}{\hidepaste} +\tab{5}\spadcommand{GF9 := FF(3,2);\bound{GF9 }} +\indentrel{3}\begin{verbatim} + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteCyclicPageEmpty6} +\begin{paste}{ugxProblemFiniteCyclicPageEmpty6}{ugxProblemFiniteCyclicPagePatch6} +\pastebutton{ugxProblemFiniteCyclicPageEmpty6}{\showpaste} +\tab{5}\spadcommand{GF9 := FF(3,2);\bound{GF9 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteCyclicPagePatch7} +\begin{paste}{ugxProblemFiniteCyclicPageFull7}{ugxProblemFiniteCyclicPageEmpty7} +\pastebutton{ugxProblemFiniteCyclicPageFull7}{\hidepaste} +\tab{5}\spadcommand{GF729 := FFCGX(GF9,3);\bound{GF729 }\free{GF9 }} +\indentrel{3}\begin{verbatim} + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteCyclicPageEmpty7} +\begin{paste}{ugxProblemFiniteCyclicPageEmpty7}{ugxProblemFiniteCyclicPagePatch7} +\pastebutton{ugxProblemFiniteCyclicPageEmpty7}{\showpaste} +\tab{5}\spadcommand{GF729 := FFCGX(GF9,3);\bound{GF729 }\free{GF9 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteCyclicPagePatch8} +\begin{paste}{ugxProblemFiniteCyclicPageFull8}{ugxProblemFiniteCyclicPageEmpty8} +\pastebutton{ugxProblemFiniteCyclicPageFull8}{\hidepaste} +\tab{5}\spadcommand{r := (random()$GF729) ** 20\free{GF729 }\bound{r }} +\indentrel{3}\begin{verbatim} + 68 + (8) %CN +Type: FiniteFieldCyclicGroupExtension(FiniteField(3,2),3) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteCyclicPageEmpty8} +\begin{paste}{ugxProblemFiniteCyclicPageEmpty8}{ugxProblemFiniteCyclicPagePatch8} +\pastebutton{ugxProblemFiniteCyclicPageEmpty8}{\showpaste} +\tab{5}\spadcommand{r := (random()$GF729) ** 20\free{GF729 }\bound{r }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteCyclicPagePatch9} +\begin{paste}{ugxProblemFiniteCyclicPageFull9}{ugxProblemFiniteCyclicPageEmpty9} +\pastebutton{ugxProblemFiniteCyclicPageFull9}{\hidepaste} +\tab{5}\spadcommand{trace(r)\free{r }} +\indentrel{3}\begin{verbatim} + (9) 2 + Type: FiniteField(3,2) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteCyclicPageEmpty9} +\begin{paste}{ugxProblemFiniteCyclicPageEmpty9}{ugxProblemFiniteCyclicPagePatch9} +\pastebutton{ugxProblemFiniteCyclicPageEmpty9}{\showpaste} +\tab{5}\spadcommand{trace(r)\free{r }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteCyclicPagePatch10} +\begin{paste}{ugxProblemFiniteCyclicPageFull10}{ugxProblemFiniteCyclicPageEmpty10} +\pastebutton{ugxProblemFiniteCyclicPageFull10}{\hidepaste} +\tab{5}\spadcommand{GF3 := PrimeField 3;\bound{GF3 }} +\indentrel{3}\begin{verbatim} + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteCyclicPageEmpty10} +\begin{paste}{ugxProblemFiniteCyclicPageEmpty10}{ugxProblemFiniteCyclicPagePatch10} +\pastebutton{ugxProblemFiniteCyclicPageEmpty10}{\showpaste} +\tab{5}\spadcommand{GF3 := PrimeField 3;\bound{GF3 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteCyclicPagePatch11} +\begin{paste}{ugxProblemFiniteCyclicPageFull11}{ugxProblemFiniteCyclicPageEmpty11} +\pastebutton{ugxProblemFiniteCyclicPageFull11}{\hidepaste} +\tab{5}\spadcommand{f := createPrimitivePoly(4)$FFPOLY(GF3)\bound{f }\free{GF3 }} +\indentrel{3}\begin{verbatim} + 4 + (11) ? + ? + 2 + Type: SparseUnivariatePolynomial PrimeField 3 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteCyclicPageEmpty11} +\begin{paste}{ugxProblemFiniteCyclicPageEmpty11}{ugxProblemFiniteCyclicPagePatch11} +\pastebutton{ugxProblemFiniteCyclicPageEmpty11}{\showpaste} +\tab{5}\spadcommand{f := createPrimitivePoly(4)$FFPOLY(GF3)\bound{f }\free{GF3 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteCyclicPagePatch12} +\begin{paste}{ugxProblemFiniteCyclicPageFull12}{ugxProblemFiniteCyclicPageEmpty12} +\pastebutton{ugxProblemFiniteCyclicPageFull12}{\hidepaste} +\tab{5}\spadcommand{GF81 := FFCGP(GF3,f);\bound{GF81x }\free{f GF3 }} +\indentrel{3}\begin{verbatim} + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteCyclicPageEmpty12} +\begin{paste}{ugxProblemFiniteCyclicPageEmpty12}{ugxProblemFiniteCyclicPagePatch12} +\pastebutton{ugxProblemFiniteCyclicPageEmpty12}{\showpaste} +\tab{5}\spadcommand{GF81 := FFCGP(GF3,f);\bound{GF81x }\free{f GF3 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteCyclicPagePatch13} +\begin{paste}{ugxProblemFiniteCyclicPageFull13}{ugxProblemFiniteCyclicPageEmpty13} +\pastebutton{ugxProblemFiniteCyclicPageFull13}{\hidepaste} +\tab{5}\spadcommand{random()$GF81\free{GF81x }} +\indentrel{3}\begin{verbatim} + 8 + (13) %BF +Type: FiniteFieldCyclicGroupExtensionByPolynomial(PrimeField 3,?**4+?+2) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteCyclicPageEmpty13} +\begin{paste}{ugxProblemFiniteCyclicPageEmpty13}{ugxProblemFiniteCyclicPagePatch13} +\pastebutton{ugxProblemFiniteCyclicPageEmpty13}{\showpaste} +\tab{5}\spadcommand{random()$GF81\free{GF81x }} +\end{paste}\end{patch} + @ \pagehead{ugxProblemFiniteNormalPage}{ug08.ht} {Normal Basis Representations} @@ -40352,6 +103472,221 @@ Let's look at a random element from this field. \autobuttons \end{page} +\begin{patch}{ugxProblemFiniteNormalPagePatch1} +\begin{paste}{ugxProblemFiniteNormalPageFull1}{ugxProblemFiniteNormalPageEmpty1} +\pastebutton{ugxProblemFiniteNormalPageFull1}{\hidepaste} +\tab{5}\spadcommand{K := FFNB(3,8)\bound{K }} +\indentrel{3}\begin{verbatim} + (1) FiniteFieldNormalBasis(3,8) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteNormalPageEmpty1} +\begin{paste}{ugxProblemFiniteNormalPageEmpty1}{ugxProblemFiniteNormalPagePatch1} +\pastebutton{ugxProblemFiniteNormalPageEmpty1}{\showpaste} +\tab{5}\spadcommand{K := FFNB(3,8)\bound{K }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteNormalPagePatch2} +\begin{paste}{ugxProblemFiniteNormalPageFull2}{ugxProblemFiniteNormalPageEmpty2} +\pastebutton{ugxProblemFiniteNormalPageFull2}{\hidepaste} +\tab{5}\spadcommand{a := normalElement()$K\bound{a }\free{K }} +\indentrel{3}\begin{verbatim} + (2) %CO + Type: FiniteFieldNormalBasis(3,8) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteNormalPageEmpty2} +\begin{paste}{ugxProblemFiniteNormalPageEmpty2}{ugxProblemFiniteNormalPagePatch2} +\pastebutton{ugxProblemFiniteNormalPageEmpty2}{\showpaste} +\tab{5}\spadcommand{a := normalElement()$K\bound{a }\free{K }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteNormalPagePatch3} +\begin{paste}{ugxProblemFiniteNormalPageFull3}{ugxProblemFiniteNormalPageEmpty3} +\pastebutton{ugxProblemFiniteNormalPageFull3}{\hidepaste} +\tab{5}\spadcommand{b := a**12 - a**5 + a\bound{b }\free{a }} +\indentrel{3}\begin{verbatim} + 7 5 + q q q + (3) 2%CO + %CO + %CO + Type: FiniteFieldNormalBasis(3,8) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteNormalPageEmpty3} +\begin{paste}{ugxProblemFiniteNormalPageEmpty3}{ugxProblemFiniteNormalPagePatch3} +\pastebutton{ugxProblemFiniteNormalPageEmpty3}{\showpaste} +\tab{5}\spadcommand{b := a**12 - a**5 + a\bound{b }\free{a }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteNormalPagePatch4} +\begin{paste}{ugxProblemFiniteNormalPageFull4}{ugxProblemFiniteNormalPageEmpty4} +\pastebutton{ugxProblemFiniteNormalPageFull4}{\hidepaste} +\tab{5}\spadcommand{GF9 := FFNB(3,2);\bound{GF9 }} +\indentrel{3}\begin{verbatim} + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteNormalPageEmpty4} +\begin{paste}{ugxProblemFiniteNormalPageEmpty4}{ugxProblemFiniteNormalPagePatch4} +\pastebutton{ugxProblemFiniteNormalPageEmpty4}{\showpaste} +\tab{5}\spadcommand{GF9 := FFNB(3,2);\bound{GF9 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteNormalPagePatch5} +\begin{paste}{ugxProblemFiniteNormalPageFull5}{ugxProblemFiniteNormalPageEmpty5} +\pastebutton{ugxProblemFiniteNormalPageFull5}{\hidepaste} +\tab{5}\spadcommand{GF729 := FFNBX(GF9,3);\bound{GF729 }\free{GF9 }} +\indentrel{3}\begin{verbatim} + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteNormalPageEmpty5} +\begin{paste}{ugxProblemFiniteNormalPageEmpty5}{ugxProblemFiniteNormalPagePatch5} +\pastebutton{ugxProblemFiniteNormalPageEmpty5}{\showpaste} +\tab{5}\spadcommand{GF729 := FFNBX(GF9,3);\bound{GF729 }\free{GF9 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteNormalPagePatch6} +\begin{paste}{ugxProblemFiniteNormalPageFull6}{ugxProblemFiniteNormalPageEmpty6} +\pastebutton{ugxProblemFiniteNormalPageFull6}{\hidepaste} +\tab{5}\spadcommand{r := random()$GF729\bound{r }\free{GF729 }} +\indentrel{3}\begin{verbatim} + 2 + q q + (6) 2%CP %CQ +Type: FiniteFieldNormalBasisExtension(FiniteFieldNormalBasis(3,2),3) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteNormalPageEmpty6} +\begin{paste}{ugxProblemFiniteNormalPageEmpty6}{ugxProblemFiniteNormalPagePatch6} +\pastebutton{ugxProblemFiniteNormalPageEmpty6}{\showpaste} +\tab{5}\spadcommand{r := random()$GF729\bound{r }\free{GF729 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteNormalPagePatch7} +\begin{paste}{ugxProblemFiniteNormalPageFull7}{ugxProblemFiniteNormalPageEmpty7} +\pastebutton{ugxProblemFiniteNormalPageFull7}{\hidepaste} +\tab{5}\spadcommand{r + r**3 + r**9 + r**27\free{r }} +\indentrel{3}\begin{verbatim} + 2 + q q q q + (7) (2%CP + 2%CP)%CQ + 2%CP %CQ + 2%CP %CQ +Type: FiniteFieldNormalBasisExtension(FiniteFieldNormalBasis(3,2),3) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteNormalPageEmpty7} +\begin{paste}{ugxProblemFiniteNormalPageEmpty7}{ugxProblemFiniteNormalPagePatch7} +\pastebutton{ugxProblemFiniteNormalPageEmpty7}{\showpaste} +\tab{5}\spadcommand{r + r**3 + r**9 + r**27\free{r }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteNormalPagePatch8} +\begin{paste}{ugxProblemFiniteNormalPageFull8}{ugxProblemFiniteNormalPageEmpty8} +\pastebutton{ugxProblemFiniteNormalPageFull8}{\hidepaste} +\tab{5}\spadcommand{GF3 := PrimeField 3;\bound{GF3 }} +\indentrel{3}\begin{verbatim} + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteNormalPageEmpty8} +\begin{paste}{ugxProblemFiniteNormalPageEmpty8}{ugxProblemFiniteNormalPagePatch8} +\pastebutton{ugxProblemFiniteNormalPageEmpty8}{\showpaste} +\tab{5}\spadcommand{GF3 := PrimeField 3;\bound{GF3 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteNormalPagePatch9} +\begin{paste}{ugxProblemFiniteNormalPageFull9}{ugxProblemFiniteNormalPageEmpty9} +\pastebutton{ugxProblemFiniteNormalPageFull9}{\hidepaste} +\tab{5}\spadcommand{f := createNormalPoly(4)$FFPOLY(GF3)\free{GF3 }\bound{f }} +\indentrel{3}\begin{verbatim} + 4 3 + (9) ? + 2? + 2 + Type: SparseUnivariatePolynomial PrimeField 3 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteNormalPageEmpty9} +\begin{paste}{ugxProblemFiniteNormalPageEmpty9}{ugxProblemFiniteNormalPagePatch9} +\pastebutton{ugxProblemFiniteNormalPageEmpty9}{\showpaste} +\tab{5}\spadcommand{f := createNormalPoly(4)$FFPOLY(GF3)\free{GF3 }\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteNormalPagePatch10} +\begin{paste}{ugxProblemFiniteNormalPageFull10}{ugxProblemFiniteNormalPageEmpty10} +\pastebutton{ugxProblemFiniteNormalPageFull10}{\hidepaste} +\tab{5}\spadcommand{GF81 := FFNBP(GF3,f);\bound{GF81 }\free{f GF3 }} +\indentrel{3}\begin{verbatim} + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteNormalPageEmpty10} +\begin{paste}{ugxProblemFiniteNormalPageEmpty10}{ugxProblemFiniteNormalPagePatch10} +\pastebutton{ugxProblemFiniteNormalPageEmpty10}{\showpaste} +\tab{5}\spadcommand{GF81 := FFNBP(GF3,f);\bound{GF81 }\free{f GF3 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteNormalPagePatch11} +\begin{paste}{ugxProblemFiniteNormalPageFull11}{ugxProblemFiniteNormalPageEmpty11} +\pastebutton{ugxProblemFiniteNormalPageFull11}{\hidepaste} +\tab{5}\spadcommand{r := random()$GF81\free{GF81 }\bound{r1 }} +\indentrel{3}\begin{verbatim} + 3 2 + q q q + (11) %CR + %CR + %CR +Type: FiniteFieldNormalBasisExtensionByPolynomial(PrimeField 3,?**4+2*?**3+2) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteNormalPageEmpty11} +\begin{paste}{ugxProblemFiniteNormalPageEmpty11}{ugxProblemFiniteNormalPagePatch11} +\pastebutton{ugxProblemFiniteNormalPageEmpty11}{\showpaste} +\tab{5}\spadcommand{r := random()$GF81\free{GF81 }\bound{r1 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteNormalPagePatch12} +\begin{paste}{ugxProblemFiniteNormalPageFull12}{ugxProblemFiniteNormalPageEmpty12} +\pastebutton{ugxProblemFiniteNormalPageFull12}{\hidepaste} +\tab{5}\spadcommand{r * r**3 * r**9 * r**27\free{r1 }} +\indentrel{3}\begin{verbatim} + 3 2 + q q q + (12) 2%CR + 2%CR + 2%CR + 2%CR +Type: FiniteFieldNormalBasisExtensionByPolynomial(PrimeField 3,?**4+2*?**3+2) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteNormalPageEmpty12} +\begin{paste}{ugxProblemFiniteNormalPageEmpty12}{ugxProblemFiniteNormalPagePatch12} +\pastebutton{ugxProblemFiniteNormalPageEmpty12}{\showpaste} +\tab{5}\spadcommand{r * r**3 * r**9 * r**27\free{r1 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteNormalPagePatch13} +\begin{paste}{ugxProblemFiniteNormalPageFull13}{ugxProblemFiniteNormalPageEmpty13} +\pastebutton{ugxProblemFiniteNormalPageFull13}{\hidepaste} +\tab{5}\spadcommand{norm r\free{r1 }} +\indentrel{3}\begin{verbatim} + (13) 2 + Type: PrimeField 3 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteNormalPageEmpty13} +\begin{paste}{ugxProblemFiniteNormalPageEmpty13}{ugxProblemFiniteNormalPagePatch13} +\pastebutton{ugxProblemFiniteNormalPageEmpty13}{\showpaste} +\tab{5}\spadcommand{norm r\free{r1 }} +\end{paste}\end{patch} + @ \pagehead{ugxProblemFiniteConversionPage}{ug08.ht} {Conversion Operations for Finite Fields} @@ -40488,6 +103823,292 @@ Check the arithmetic again. \autobuttons \end{page} +\begin{patch}{ugxProblemFiniteConversionPagePatch1} +\begin{paste}{ugxProblemFiniteConversionPageFull1}{ugxProblemFiniteConversionPageEmpty1} +\pastebutton{ugxProblemFiniteConversionPageFull1}{\hidepaste} +\tab{5}\spadcommand{K := PrimeField 3\bound{K }} +\indentrel{3}\begin{verbatim} + (1) PrimeField 3 + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPageEmpty1} +\begin{paste}{ugxProblemFiniteConversionPageEmpty1}{ugxProblemFiniteConversionPagePatch1} +\pastebutton{ugxProblemFiniteConversionPageEmpty1}{\showpaste} +\tab{5}\spadcommand{K := PrimeField 3\bound{K }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPagePatch2} +\begin{paste}{ugxProblemFiniteConversionPageFull2}{ugxProblemFiniteConversionPageEmpty2} +\pastebutton{ugxProblemFiniteConversionPageFull2}{\hidepaste} +\tab{5}\spadcommand{(m,n) := (4,8)\bound{m n }} +\indentrel{3}\begin{verbatim} + (2) 8 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPageEmpty2} +\begin{paste}{ugxProblemFiniteConversionPageEmpty2}{ugxProblemFiniteConversionPagePatch2} +\pastebutton{ugxProblemFiniteConversionPageEmpty2}{\showpaste} +\tab{5}\spadcommand{(m,n) := (4,8)\bound{m n }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPagePatch3} +\begin{paste}{ugxProblemFiniteConversionPageFull3}{ugxProblemFiniteConversionPageEmpty3} +\pastebutton{ugxProblemFiniteConversionPageFull3}{\hidepaste} +\tab{5}\spadcommand{Km := FiniteFieldExtension(K,m)\bound{Km }\free{K m }} +\indentrel{3}\begin{verbatim} + (3) FiniteFieldExtension(PrimeField 3,4) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPageEmpty3} +\begin{paste}{ugxProblemFiniteConversionPageEmpty3}{ugxProblemFiniteConversionPagePatch3} +\pastebutton{ugxProblemFiniteConversionPageEmpty3}{\showpaste} +\tab{5}\spadcommand{Km := FiniteFieldExtension(K,m)\bound{Km }\free{K m }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPagePatch4} +\begin{paste}{ugxProblemFiniteConversionPageFull4}{ugxProblemFiniteConversionPageEmpty4} +\pastebutton{ugxProblemFiniteConversionPageFull4}{\hidepaste} +\tab{5}\spadcommand{Kn := FiniteFieldExtension(K,n)\bound{Kn }\free{K n }} +\indentrel{3}\begin{verbatim} + (4) FiniteFieldExtension(PrimeField 3,8) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPageEmpty4} +\begin{paste}{ugxProblemFiniteConversionPageEmpty4}{ugxProblemFiniteConversionPagePatch4} +\pastebutton{ugxProblemFiniteConversionPageEmpty4}{\showpaste} +\tab{5}\spadcommand{Kn := FiniteFieldExtension(K,n)\bound{Kn }\free{K n }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPagePatch5} +\begin{paste}{ugxProblemFiniteConversionPageFull5}{ugxProblemFiniteConversionPageEmpty5} +\pastebutton{ugxProblemFiniteConversionPageFull5}{\hidepaste} +\tab{5}\spadcommand{a1 := random()$Km\bound{a1 }\free{Km }} +\indentrel{3}\begin{verbatim} + 3 2 + (5) 2%BD + 2%BD + 2%BD + 1 + Type: FiniteFieldExtension(PrimeField 3,4) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPageEmpty5} +\begin{paste}{ugxProblemFiniteConversionPageEmpty5}{ugxProblemFiniteConversionPagePatch5} +\pastebutton{ugxProblemFiniteConversionPageEmpty5}{\showpaste} +\tab{5}\spadcommand{a1 := random()$Km\bound{a1 }\free{Km }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPagePatch6} +\begin{paste}{ugxProblemFiniteConversionPageFull6}{ugxProblemFiniteConversionPageEmpty6} +\pastebutton{ugxProblemFiniteConversionPageFull6}{\hidepaste} +\tab{5}\spadcommand{b1 := random()$Km\bound{b1 }\free{Km }} +\indentrel{3}\begin{verbatim} + 3 2 + (6) %BD + %BD + 2%BD + 2 + Type: FiniteFieldExtension(PrimeField 3,4) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPageEmpty6} +\begin{paste}{ugxProblemFiniteConversionPageEmpty6}{ugxProblemFiniteConversionPagePatch6} +\pastebutton{ugxProblemFiniteConversionPageEmpty6}{\showpaste} +\tab{5}\spadcommand{b1 := random()$Km\bound{b1 }\free{Km }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPagePatch7} +\begin{paste}{ugxProblemFiniteConversionPageFull7}{ugxProblemFiniteConversionPageEmpty7} +\pastebutton{ugxProblemFiniteConversionPageFull7}{\hidepaste} +\tab{5}\spadcommand{a2 := a1 :: Kn\bound{a2 }\free{a1 Kn }} +\indentrel{3}\begin{verbatim} + 6 + (7) 2%BE + 1 + Type: FiniteFieldExtension(PrimeField 3,8) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPageEmpty7} +\begin{paste}{ugxProblemFiniteConversionPageEmpty7}{ugxProblemFiniteConversionPagePatch7} +\pastebutton{ugxProblemFiniteConversionPageEmpty7}{\showpaste} +\tab{5}\spadcommand{a2 := a1 :: Kn\bound{a2 }\free{a1 Kn }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPagePatch8} +\begin{paste}{ugxProblemFiniteConversionPageFull8}{ugxProblemFiniteConversionPageEmpty8} +\pastebutton{ugxProblemFiniteConversionPageFull8}{\hidepaste} +\tab{5}\spadcommand{b2 := b1 :: Kn\bound{b2 }\free{b1 Kn }} +\indentrel{3}\begin{verbatim} + 6 4 2 + (8) 2%BE + 2%BE + %BE + 2 + Type: FiniteFieldExtension(PrimeField 3,8) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPageEmpty8} +\begin{paste}{ugxProblemFiniteConversionPageEmpty8}{ugxProblemFiniteConversionPagePatch8} +\pastebutton{ugxProblemFiniteConversionPageEmpty8}{\showpaste} +\tab{5}\spadcommand{b2 := b1 :: Kn\bound{b2 }\free{b1 Kn }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPagePatch9} +\begin{paste}{ugxProblemFiniteConversionPageFull9}{ugxProblemFiniteConversionPageEmpty9} +\pastebutton{ugxProblemFiniteConversionPageFull9}{\hidepaste} +\tab{5}\spadcommand{a1+b1 - ((a2+b2) :: Km)\free{a1 a2 b1 b2 Km Kn }} +\indentrel{3}\begin{verbatim} + (9) 0 + Type: FiniteFieldExtension(PrimeField 3,4) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPageEmpty9} +\begin{paste}{ugxProblemFiniteConversionPageEmpty9}{ugxProblemFiniteConversionPagePatch9} +\pastebutton{ugxProblemFiniteConversionPageEmpty9}{\showpaste} +\tab{5}\spadcommand{a1+b1 - ((a2+b2) :: Km)\free{a1 a2 b1 b2 Km Kn }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPagePatch10} +\begin{paste}{ugxProblemFiniteConversionPageFull10}{ugxProblemFiniteConversionPageEmpty10} +\pastebutton{ugxProblemFiniteConversionPageFull10}{\hidepaste} +\tab{5}\spadcommand{a1*b1 - ((a2*b2) :: Km)\free{a1 a2 b1 b2 Km Kn }} +\indentrel{3}\begin{verbatim} + (10) 0 + Type: FiniteFieldExtension(PrimeField 3,4) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPageEmpty10} +\begin{paste}{ugxProblemFiniteConversionPageEmpty10}{ugxProblemFiniteConversionPagePatch10} +\pastebutton{ugxProblemFiniteConversionPageEmpty10}{\showpaste} +\tab{5}\spadcommand{a1*b1 - ((a2*b2) :: Km)\free{a1 a2 b1 b2 Km Kn }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPagePatch11} +\begin{paste}{ugxProblemFiniteConversionPageFull11}{ugxProblemFiniteConversionPageEmpty11} +\pastebutton{ugxProblemFiniteConversionPageFull11}{\hidepaste} +\tab{5}\spadcommand{Km := FFCGX(K,m)\bound{Km2 }\free{K m }} +\indentrel{3}\begin{verbatim} + (11) FiniteFieldCyclicGroupExtension(PrimeField 3,4) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPageEmpty11} +\begin{paste}{ugxProblemFiniteConversionPageEmpty11}{ugxProblemFiniteConversionPagePatch11} +\pastebutton{ugxProblemFiniteConversionPageEmpty11}{\showpaste} +\tab{5}\spadcommand{Km := FFCGX(K,m)\bound{Km2 }\free{K m }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPagePatch12} +\begin{paste}{ugxProblemFiniteConversionPageFull12}{ugxProblemFiniteConversionPageEmpty12} +\pastebutton{ugxProblemFiniteConversionPageFull12}{\hidepaste} +\tab{5}\spadcommand{Kn := FFNBX(K,n)\bound{Kn2 }\free{K n }} +\indentrel{3}\begin{verbatim} + (12) FiniteFieldNormalBasisExtension(PrimeField 3,8) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPageEmpty12} +\begin{paste}{ugxProblemFiniteConversionPageEmpty12}{ugxProblemFiniteConversionPagePatch12} +\pastebutton{ugxProblemFiniteConversionPageEmpty12}{\showpaste} +\tab{5}\spadcommand{Kn := FFNBX(K,n)\bound{Kn2 }\free{K n }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPagePatch13} +\begin{paste}{ugxProblemFiniteConversionPageFull13}{ugxProblemFiniteConversionPageEmpty13} +\pastebutton{ugxProblemFiniteConversionPageFull13}{\hidepaste} +\tab{5}\spadcommand{(a1,b1) := (random()$Km,random()$Km)\bound{a12 b12 }\free{Km2 }} +\indentrel{3}\begin{verbatim} + 13 + (13) %BF + Type: FiniteFieldCyclicGroupExtension(PrimeField 3,4) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPageEmpty13} +\begin{paste}{ugxProblemFiniteConversionPageEmpty13}{ugxProblemFiniteConversionPagePatch13} +\pastebutton{ugxProblemFiniteConversionPageEmpty13}{\showpaste} +\tab{5}\spadcommand{(a1,b1) := (random()$Km,random()$Km)\bound{a12 b12 }\free{Km2 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPagePatch14} +\begin{paste}{ugxProblemFiniteConversionPageFull14}{ugxProblemFiniteConversionPageEmpty14} +\pastebutton{ugxProblemFiniteConversionPageFull14}{\hidepaste} +\tab{5}\spadcommand{a2 := a1 :: Kn\bound{a22 }\free{a12 Kn2 }} +\indentrel{3}\begin{verbatim} + (14) + 6 5 4 2 + q q q q q + 2%BG + 2%BG + 2%BG + 2%BG + 2%BG + 2%BG + Type: FiniteFieldNormalBasisExtension(PrimeField 3,8) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPageEmpty14} +\begin{paste}{ugxProblemFiniteConversionPageEmpty14}{ugxProblemFiniteConversionPagePatch14} +\pastebutton{ugxProblemFiniteConversionPageEmpty14}{\showpaste} +\tab{5}\spadcommand{a2 := a1 :: Kn\bound{a22 }\free{a12 Kn2 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPagePatch15} +\begin{paste}{ugxProblemFiniteConversionPageFull15}{ugxProblemFiniteConversionPageEmpty15} +\pastebutton{ugxProblemFiniteConversionPageFull15}{\hidepaste} +\tab{5}\spadcommand{b2 := b1 :: Kn\bound{b22 }\free{b12 Kn2 }} +\indentrel{3}\begin{verbatim} + (15) + 7 6 5 4 3 2 + q q q q q q + 2%BG + %BG + %BG + %BG + 2%BG + %BG + + + q + %BG + %BG + Type: FiniteFieldNormalBasisExtension(PrimeField 3,8) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPageEmpty15} +\begin{paste}{ugxProblemFiniteConversionPageEmpty15}{ugxProblemFiniteConversionPagePatch15} +\pastebutton{ugxProblemFiniteConversionPageEmpty15}{\showpaste} +\tab{5}\spadcommand{b2 := b1 :: Kn\bound{b22 }\free{b12 Kn2 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPagePatch16} +\begin{paste}{ugxProblemFiniteConversionPageFull16}{ugxProblemFiniteConversionPageEmpty16} +\pastebutton{ugxProblemFiniteConversionPageFull16}{\hidepaste} +\tab{5}\spadcommand{a1+b1 - ((a2+b2) :: Km)\free{a12 a22 b12 b22 Km2 }} +\indentrel{3}\begin{verbatim} + (16) 0 + Type: FiniteFieldCyclicGroupExtension(PrimeField 3,4) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPageEmpty16} +\begin{paste}{ugxProblemFiniteConversionPageEmpty16}{ugxProblemFiniteConversionPagePatch16} +\pastebutton{ugxProblemFiniteConversionPageEmpty16}{\showpaste} +\tab{5}\spadcommand{a1+b1 - ((a2+b2) :: Km)\free{a12 a22 b12 b22 Km2 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPagePatch17} +\begin{paste}{ugxProblemFiniteConversionPageFull17}{ugxProblemFiniteConversionPageEmpty17} +\pastebutton{ugxProblemFiniteConversionPageFull17}{\hidepaste} +\tab{5}\spadcommand{a1*b1 - ((a2*b2) :: Km)\free{a12 a22 b12 b22 Km2 }} +\indentrel{3}\begin{verbatim} + (17) 0 + Type: FiniteFieldCyclicGroupExtension(PrimeField 3,4) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteConversionPageEmpty17} +\begin{paste}{ugxProblemFiniteConversionPageEmpty17}{ugxProblemFiniteConversionPagePatch17} +\pastebutton{ugxProblemFiniteConversionPageEmpty17}{\showpaste} +\tab{5}\spadcommand{a1*b1 - ((a2*b2) :: Km)\free{a12 a22 b12 b22 Km2 }} +\end{paste}\end{patch} + @ \pagehead{ugxProblemFiniteUtilityPage}{ug08.ht} {Utility Operations for Finite Fields} @@ -40784,8 +104405,544 @@ We compute a root of \axiom{f}. \autobuttons \end{page} -@ \pagehead{ugProblemIdealPage}{ug08.ht} -{Primary Decomposition of Ideals} +\begin{patch}{ugxProblemFiniteUtilityPagePatch1} +\begin{paste}{ugxProblemFiniteUtilityPageFull1}{ugxProblemFiniteUtilityPageEmpty1} +\pastebutton{ugxProblemFiniteUtilityPageFull1}{\hidepaste} +\tab{5}\spadcommand{GF5 := PF 5;\bound{GF5 }} +\indentrel{3}\begin{verbatim} + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty1} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty1}{ugxProblemFiniteUtilityPagePatch1} +\pastebutton{ugxProblemFiniteUtilityPageEmpty1}{\showpaste} +\tab{5}\spadcommand{GF5 := PF 5;\bound{GF5 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch2} +\begin{paste}{ugxProblemFiniteUtilityPageFull2}{ugxProblemFiniteUtilityPageEmpty2} +\pastebutton{ugxProblemFiniteUtilityPageFull2}{\hidepaste} +\tab{5}\spadcommand{f := createIrreduciblePoly(8)$FFPOLY(GF5)\bound{f }\free{GF5 }} +\indentrel{3}\begin{verbatim} + 8 4 + (2) ? + ? + 2 + Type: SparseUnivariatePolynomial PrimeField 5 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty2} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty2}{ugxProblemFiniteUtilityPagePatch2} +\pastebutton{ugxProblemFiniteUtilityPageEmpty2}{\showpaste} +\tab{5}\spadcommand{f := createIrreduciblePoly(8)$FFPOLY(GF5)\bound{f }\free{GF5 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch3} +\begin{paste}{ugxProblemFiniteUtilityPageFull3}{ugxProblemFiniteUtilityPageEmpty3} +\pastebutton{ugxProblemFiniteUtilityPageFull3}{\hidepaste} +\tab{5}\spadcommand{primitive?(f)$FFPOLY(GF5)\free{f }} +\indentrel{3}\begin{verbatim} + (3) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty3} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty3}{ugxProblemFiniteUtilityPagePatch3} +\pastebutton{ugxProblemFiniteUtilityPageEmpty3}{\showpaste} +\tab{5}\spadcommand{primitive?(f)$FFPOLY(GF5)\free{f }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch4} +\begin{paste}{ugxProblemFiniteUtilityPageFull4}{ugxProblemFiniteUtilityPageEmpty4} +\pastebutton{ugxProblemFiniteUtilityPageFull4}{\hidepaste} +\tab{5}\spadcommand{normal?(f)$FFPOLY(GF5)\free{f }} +\indentrel{3}\begin{verbatim} + (4) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty4} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty4}{ugxProblemFiniteUtilityPagePatch4} +\pastebutton{ugxProblemFiniteUtilityPageEmpty4}{\showpaste} +\tab{5}\spadcommand{normal?(f)$FFPOLY(GF5)\free{f }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch5} +\begin{paste}{ugxProblemFiniteUtilityPageFull5}{ugxProblemFiniteUtilityPageEmpty5} +\pastebutton{ugxProblemFiniteUtilityPageFull5}{\hidepaste} +\tab{5}\spadcommand{p := createPrimitivePoly(8)$FFPOLY(GF5)\bound{p }\free{GF5 }} +\indentrel{3}\begin{verbatim} + 8 3 2 + (5) ? + ? + ? + ? + 2 + Type: SparseUnivariatePolynomial PrimeField 5 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty5} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty5}{ugxProblemFiniteUtilityPagePatch5} +\pastebutton{ugxProblemFiniteUtilityPageEmpty5}{\showpaste} +\tab{5}\spadcommand{p := createPrimitivePoly(8)$FFPOLY(GF5)\bound{p }\free{GF5 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch6} +\begin{paste}{ugxProblemFiniteUtilityPageFull6}{ugxProblemFiniteUtilityPageEmpty6} +\pastebutton{ugxProblemFiniteUtilityPageFull6}{\hidepaste} +\tab{5}\spadcommand{primitive?(p)$FFPOLY(GF5)\free{p }} +\indentrel{3}\begin{verbatim} + (6) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty6} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty6}{ugxProblemFiniteUtilityPagePatch6} +\pastebutton{ugxProblemFiniteUtilityPageEmpty6}{\showpaste} +\tab{5}\spadcommand{primitive?(p)$FFPOLY(GF5)\free{p }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch7} +\begin{paste}{ugxProblemFiniteUtilityPageFull7}{ugxProblemFiniteUtilityPageEmpty7} +\pastebutton{ugxProblemFiniteUtilityPageFull7}{\hidepaste} +\tab{5}\spadcommand{normal?(p)$FFPOLY(GF5)\free{p }} +\indentrel{3}\begin{verbatim} + (7) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty7} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty7}{ugxProblemFiniteUtilityPagePatch7} +\pastebutton{ugxProblemFiniteUtilityPageEmpty7}{\showpaste} +\tab{5}\spadcommand{normal?(p)$FFPOLY(GF5)\free{p }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch8} +\begin{paste}{ugxProblemFiniteUtilityPageFull8}{ugxProblemFiniteUtilityPageEmpty8} +\pastebutton{ugxProblemFiniteUtilityPageFull8}{\hidepaste} +\tab{5}\spadcommand{n := createNormalPoly(8)$FFPOLY(GF5)\bound{n }\free{GF5 }} +\indentrel{3}\begin{verbatim} + 8 7 3 + (8) ? + 4? + ? + 1 + Type: SparseUnivariatePolynomial PrimeField 5 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty8} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty8}{ugxProblemFiniteUtilityPagePatch8} +\pastebutton{ugxProblemFiniteUtilityPageEmpty8}{\showpaste} +\tab{5}\spadcommand{n := createNormalPoly(8)$FFPOLY(GF5)\bound{n }\free{GF5 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch9} +\begin{paste}{ugxProblemFiniteUtilityPageFull9}{ugxProblemFiniteUtilityPageEmpty9} +\pastebutton{ugxProblemFiniteUtilityPageFull9}{\hidepaste} +\tab{5}\spadcommand{primitive?(n)$FFPOLY(GF5)\free{n }} +\indentrel{3}\begin{verbatim} + (9) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty9} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty9}{ugxProblemFiniteUtilityPagePatch9} +\pastebutton{ugxProblemFiniteUtilityPageEmpty9}{\showpaste} +\tab{5}\spadcommand{primitive?(n)$FFPOLY(GF5)\free{n }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch10} +\begin{paste}{ugxProblemFiniteUtilityPageFull10}{ugxProblemFiniteUtilityPageEmpty10} +\pastebutton{ugxProblemFiniteUtilityPageFull10}{\hidepaste} +\tab{5}\spadcommand{createPrimitiveNormalPoly(8)$FFPOLY(GF5)\free{GF5 }} +\indentrel{3}\begin{verbatim} + 8 7 5 + (10) ? + 4? + 2? + 2 + Type: SparseUnivariatePolynomial PrimeField 5 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty10} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty10}{ugxProblemFiniteUtilityPagePatch10} +\pastebutton{ugxProblemFiniteUtilityPageEmpty10}{\showpaste} +\tab{5}\spadcommand{createPrimitiveNormalPoly(8)$FFPOLY(GF5)\free{GF5 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch11} +\begin{paste}{ugxProblemFiniteUtilityPageFull11}{ugxProblemFiniteUtilityPageEmpty11} +\pastebutton{ugxProblemFiniteUtilityPageFull11}{\hidepaste} +\tab{5}\spadcommand{GF5 := PF 5;\bound{GF5 }} +\indentrel{3}\begin{verbatim} + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty11} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty11}{ugxProblemFiniteUtilityPagePatch11} +\pastebutton{ugxProblemFiniteUtilityPageEmpty11}{\showpaste} +\tab{5}\spadcommand{GF5 := PF 5;\bound{GF5 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch12} +\begin{paste}{ugxProblemFiniteUtilityPageFull12}{ugxProblemFiniteUtilityPageEmpty12} +\pastebutton{ugxProblemFiniteUtilityPageFull12}{\hidepaste} +\tab{5}\spadcommand{h := monomial(1,8)$SUP(GF5)\bound{h }\free{GF5 }} +\indentrel{3}\begin{verbatim} + 8 + (12) ? + Type: SparseUnivariatePolynomial PrimeField 5 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty12} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty12}{ugxProblemFiniteUtilityPagePatch12} +\pastebutton{ugxProblemFiniteUtilityPageEmpty12}{\showpaste} +\tab{5}\spadcommand{h := monomial(1,8)$SUP(GF5)\bound{h }\free{GF5 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch13} +\begin{paste}{ugxProblemFiniteUtilityPageFull13}{ugxProblemFiniteUtilityPageEmpty13} +\pastebutton{ugxProblemFiniteUtilityPageFull13}{\hidepaste} +\tab{5}\spadcommand{nh := nextIrreduciblePoly(h)$FFPOLY(GF5)\bound{nh }\free{h }} +\indentrel{3}\begin{verbatim} + 8 + (13) ? + 2 +Type: Union(SparseUnivariatePolynomial PrimeField 5,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty13} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty13}{ugxProblemFiniteUtilityPagePatch13} +\pastebutton{ugxProblemFiniteUtilityPageEmpty13}{\showpaste} +\tab{5}\spadcommand{nh := nextIrreduciblePoly(h)$FFPOLY(GF5)\bound{nh }\free{h }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch14} +\begin{paste}{ugxProblemFiniteUtilityPageFull14}{ugxProblemFiniteUtilityPageEmpty14} +\pastebutton{ugxProblemFiniteUtilityPageFull14}{\hidepaste} +\tab{5}\spadcommand{createIrreduciblePoly(3)$FFPOLY(GF5)\free{GF5 }} +\indentrel{3}\begin{verbatim} + 3 + (14) ? + ? + 1 + Type: SparseUnivariatePolynomial PrimeField 5 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty14} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty14}{ugxProblemFiniteUtilityPagePatch14} +\pastebutton{ugxProblemFiniteUtilityPageEmpty14}{\showpaste} +\tab{5}\spadcommand{createIrreduciblePoly(3)$FFPOLY(GF5)\free{GF5 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch15} +\begin{paste}{ugxProblemFiniteUtilityPageFull15}{ugxProblemFiniteUtilityPageEmpty15} +\pastebutton{ugxProblemFiniteUtilityPageFull15}{\hidepaste} +\tab{5}\spadcommand{nh := nextIrreduciblePoly(nh)$FFPOLY(GF5)\free{nh }} +\indentrel{3}\begin{verbatim} + 8 + (15) ? + 3 +Type: Union(SparseUnivariatePolynomial PrimeField 5,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty15} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty15}{ugxProblemFiniteUtilityPagePatch15} +\pastebutton{ugxProblemFiniteUtilityPageEmpty15}{\showpaste} +\tab{5}\spadcommand{nh := nextIrreduciblePoly(nh)$FFPOLY(GF5)\free{nh }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch16} +\begin{paste}{ugxProblemFiniteUtilityPageFull16}{ugxProblemFiniteUtilityPageEmpty16} +\pastebutton{ugxProblemFiniteUtilityPageFull16}{\hidepaste} +\tab{5}\spadcommand{numberOfIrreduciblePoly(5)$FFPOLY(GF5)\free{GF5 }} +\indentrel{3}\begin{verbatim} + (16) 624 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty16} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty16}{ugxProblemFiniteUtilityPagePatch16} +\pastebutton{ugxProblemFiniteUtilityPageEmpty16}{\showpaste} +\tab{5}\spadcommand{numberOfIrreduciblePoly(5)$FFPOLY(GF5)\free{GF5 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch17} +\begin{paste}{ugxProblemFiniteUtilityPageFull17}{ugxProblemFiniteUtilityPageEmpty17} +\pastebutton{ugxProblemFiniteUtilityPageFull17}{\hidepaste} +\tab{5}\spadcommand{numberOfPrimitivePoly(3)$FFPOLY(GF5)\free{GF5 }} +\indentrel{3}\begin{verbatim} + (17) 20 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty17} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty17}{ugxProblemFiniteUtilityPagePatch17} +\pastebutton{ugxProblemFiniteUtilityPageEmpty17}{\showpaste} +\tab{5}\spadcommand{numberOfPrimitivePoly(3)$FFPOLY(GF5)\free{GF5 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch18} +\begin{paste}{ugxProblemFiniteUtilityPageFull18}{ugxProblemFiniteUtilityPageEmpty18} +\pastebutton{ugxProblemFiniteUtilityPageFull18}{\hidepaste} +\tab{5}\spadcommand{m := monomial(1,1)$SUP(GF5)\bound{m }\free{GF5 }} +\indentrel{3}\begin{verbatim} + (18) ? + Type: SparseUnivariatePolynomial PrimeField 5 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty18} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty18}{ugxProblemFiniteUtilityPagePatch18} +\pastebutton{ugxProblemFiniteUtilityPageEmpty18}{\showpaste} +\tab{5}\spadcommand{m := monomial(1,1)$SUP(GF5)\bound{m }\free{GF5 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch19} +\begin{paste}{ugxProblemFiniteUtilityPageFull19}{ugxProblemFiniteUtilityPageEmpty19} +\pastebutton{ugxProblemFiniteUtilityPageFull19}{\hidepaste} +\tab{5}\spadcommand{f := m**3 + 4*m**2 + m + 2\bound{fx }\free{m }} +\indentrel{3}\begin{verbatim} + 3 2 + (19) ? + 4? + ? + 2 + Type: SparseUnivariatePolynomial PrimeField 5 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty19} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty19}{ugxProblemFiniteUtilityPagePatch19} +\pastebutton{ugxProblemFiniteUtilityPageEmpty19}{\showpaste} +\tab{5}\spadcommand{f := m**3 + 4*m**2 + m + 2\bound{fx }\free{m }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch20} +\begin{paste}{ugxProblemFiniteUtilityPageFull20}{ugxProblemFiniteUtilityPageEmpty20} +\pastebutton{ugxProblemFiniteUtilityPageFull20}{\hidepaste} +\tab{5}\spadcommand{f1 := nextPrimitivePoly(f)$FFPOLY(GF5)\free{fx }\bound{f1 }} +\indentrel{3}\begin{verbatim} + 3 2 + (20) ? + 4? + 4? + 2 +Type: Union(SparseUnivariatePolynomial PrimeField 5,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty20} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty20}{ugxProblemFiniteUtilityPagePatch20} +\pastebutton{ugxProblemFiniteUtilityPageEmpty20}{\showpaste} +\tab{5}\spadcommand{f1 := nextPrimitivePoly(f)$FFPOLY(GF5)\free{fx }\bound{f1 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch21} +\begin{paste}{ugxProblemFiniteUtilityPageFull21}{ugxProblemFiniteUtilityPageEmpty21} +\pastebutton{ugxProblemFiniteUtilityPageFull21}{\hidepaste} +\tab{5}\spadcommand{nextPrimitivePoly(f1)$FFPOLY(GF5)\free{f1 }} +\indentrel{3}\begin{verbatim} + 3 2 + (21) ? + 2? + 3 +Type: Union(SparseUnivariatePolynomial PrimeField 5,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty21} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty21}{ugxProblemFiniteUtilityPagePatch21} +\pastebutton{ugxProblemFiniteUtilityPageEmpty21}{\showpaste} +\tab{5}\spadcommand{nextPrimitivePoly(f1)$FFPOLY(GF5)\free{f1 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch22} +\begin{paste}{ugxProblemFiniteUtilityPageFull22}{ugxProblemFiniteUtilityPageEmpty22} +\pastebutton{ugxProblemFiniteUtilityPageFull22}{\hidepaste} +\tab{5}\spadcommand{f := m**3 + m**2 + 4*m + 1\bound{fy }\free{m }} +\indentrel{3}\begin{verbatim} + 3 2 + (22) ? + ? + 4? + 1 + Type: SparseUnivariatePolynomial PrimeField 5 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty22} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty22}{ugxProblemFiniteUtilityPagePatch22} +\pastebutton{ugxProblemFiniteUtilityPageEmpty22}{\showpaste} +\tab{5}\spadcommand{f := m**3 + m**2 + 4*m + 1\bound{fy }\free{m }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch23} +\begin{paste}{ugxProblemFiniteUtilityPageFull23}{ugxProblemFiniteUtilityPageEmpty23} +\pastebutton{ugxProblemFiniteUtilityPageFull23}{\hidepaste} +\tab{5}\spadcommand{f1 := nextNormalPoly(f)$FFPOLY(GF5)\free{fy }\bound{f1y }} +\indentrel{3}\begin{verbatim} + 3 2 + (23) ? + ? + 4? + 3 +Type: Union(SparseUnivariatePolynomial PrimeField 5,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty23} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty23}{ugxProblemFiniteUtilityPagePatch23} +\pastebutton{ugxProblemFiniteUtilityPageEmpty23}{\showpaste} +\tab{5}\spadcommand{f1 := nextNormalPoly(f)$FFPOLY(GF5)\free{fy }\bound{f1y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch24} +\begin{paste}{ugxProblemFiniteUtilityPageFull24}{ugxProblemFiniteUtilityPageEmpty24} +\pastebutton{ugxProblemFiniteUtilityPageFull24}{\hidepaste} +\tab{5}\spadcommand{nextNormalPoly(f1)$FFPOLY(GF5)\free{f1y }} +\indentrel{3}\begin{verbatim} + 3 2 + (24) ? + 2? + 1 +Type: Union(SparseUnivariatePolynomial PrimeField 5,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty24} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty24}{ugxProblemFiniteUtilityPagePatch24} +\pastebutton{ugxProblemFiniteUtilityPageEmpty24}{\showpaste} +\tab{5}\spadcommand{nextNormalPoly(f1)$FFPOLY(GF5)\free{f1y }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch25} +\begin{paste}{ugxProblemFiniteUtilityPageFull25}{ugxProblemFiniteUtilityPageEmpty25} +\pastebutton{ugxProblemFiniteUtilityPageFull25}{\hidepaste} +\tab{5}\spadcommand{GF16 := FFX(FFX(PF 2,2),2);\bound{GF16 }} +\indentrel{3}\begin{verbatim} + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty25} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty25}{ugxProblemFiniteUtilityPagePatch25} +\pastebutton{ugxProblemFiniteUtilityPageEmpty25}{\showpaste} +\tab{5}\spadcommand{GF16 := FFX(FFX(PF 2,2),2);\bound{GF16 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch26} +\begin{paste}{ugxProblemFiniteUtilityPageFull26}{ugxProblemFiniteUtilityPageEmpty26} +\pastebutton{ugxProblemFiniteUtilityPageFull26}{\hidepaste} +\tab{5}\spadcommand{createIrreduciblePoly(5)$FFPOLY(GF16)\free{GF16 }} +\indentrel{3}\begin{verbatim} + 5 + (26) ? + %CZ +Type: SparseUnivariatePolynomial FiniteFieldExtension(FiniteFieldExtension(PrimeField 2,2),2) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty26} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty26}{ugxProblemFiniteUtilityPagePatch26} +\pastebutton{ugxProblemFiniteUtilityPageEmpty26}{\showpaste} +\tab{5}\spadcommand{createIrreduciblePoly(5)$FFPOLY(GF16)\free{GF16 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch27} +\begin{paste}{ugxProblemFiniteUtilityPageFull27}{ugxProblemFiniteUtilityPageEmpty27} +\pastebutton{ugxProblemFiniteUtilityPageFull27}{\hidepaste} +\tab{5}\spadcommand{random(5)$FFPOLY(GF16)\free{GF16 }} +\indentrel{3}\begin{verbatim} + (27) + 5 4 3 + ? + (%CV + 1)? + ((%CV + 1)%CZ + %CV + 1)? + + + 2 + (%CV + 1)? + ((%CV + 1)%CZ + %CV + 1)? + + + (%CV + 1)%CZ + 1 +Type: SparseUnivariatePolynomial FiniteFieldExtension(FiniteFieldExtension(PrimeField 2,2),2) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty27} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty27}{ugxProblemFiniteUtilityPagePatch27} +\pastebutton{ugxProblemFiniteUtilityPageEmpty27}{\showpaste} +\tab{5}\spadcommand{random(5)$FFPOLY(GF16)\free{GF16 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch28} +\begin{paste}{ugxProblemFiniteUtilityPageFull28}{ugxProblemFiniteUtilityPageEmpty28} +\pastebutton{ugxProblemFiniteUtilityPageFull28}{\hidepaste} +\tab{5}\spadcommand{random(3,9)$FFPOLY(GF16)\free{GF16 }} +\indentrel{3}\begin{verbatim} + (28) + 4 3 2 + ? + (%CZ + %CV + 1)? + (%CV %CZ + %CV + 1)? + + + (%CZ + %CV)? + (%CV + 1)%CZ +Type: SparseUnivariatePolynomial FiniteFieldExtension(FiniteFieldExtension(PrimeField 2,2),2) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty28} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty28}{ugxProblemFiniteUtilityPagePatch28} +\pastebutton{ugxProblemFiniteUtilityPageEmpty28}{\showpaste} +\tab{5}\spadcommand{random(3,9)$FFPOLY(GF16)\free{GF16 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch29} +\begin{paste}{ugxProblemFiniteUtilityPageFull29}{ugxProblemFiniteUtilityPageEmpty29} +\pastebutton{ugxProblemFiniteUtilityPageFull29}{\hidepaste} +\tab{5}\spadcommand{GF2 := PrimeField 2;\bound{GF2 }} +\indentrel{3}\begin{verbatim} + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty29} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty29}{ugxProblemFiniteUtilityPagePatch29} +\pastebutton{ugxProblemFiniteUtilityPageEmpty29}{\showpaste} +\tab{5}\spadcommand{GF2 := PrimeField 2;\bound{GF2 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch30} +\begin{paste}{ugxProblemFiniteUtilityPageFull30}{ugxProblemFiniteUtilityPageEmpty30} +\pastebutton{ugxProblemFiniteUtilityPageFull30}{\hidepaste} +\tab{5}\spadcommand{F := FFX(GF2,12)\bound{F }\free{GF2 }} +\indentrel{3}\begin{verbatim} + (30) FiniteFieldExtension(PrimeField 2,12) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty30} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty30}{ugxProblemFiniteUtilityPagePatch30} +\pastebutton{ugxProblemFiniteUtilityPageEmpty30}{\showpaste} +\tab{5}\spadcommand{F := FFX(GF2,12)\bound{F }\free{GF2 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch31} +\begin{paste}{ugxProblemFiniteUtilityPageFull31}{ugxProblemFiniteUtilityPageEmpty31} +\pastebutton{ugxProblemFiniteUtilityPageFull31}{\hidepaste} +\tab{5}\spadcommand{f := createIrreduciblePoly(6)$FFPOLY(GF2)\bound{fz }\free{GF2 }} +\indentrel{3}\begin{verbatim} + 6 + (31) ? + ? + 1 + Type: SparseUnivariatePolynomial PrimeField 2 +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty31} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty31}{ugxProblemFiniteUtilityPagePatch31} +\pastebutton{ugxProblemFiniteUtilityPageEmpty31}{\showpaste} +\tab{5}\spadcommand{f := createIrreduciblePoly(6)$FFPOLY(GF2)\bound{fz }\free{GF2 }} +\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPagePatch32} +\begin{paste}{ugxProblemFiniteUtilityPageFull32}{ugxProblemFiniteUtilityPageEmpty32} +\pastebutton{ugxProblemFiniteUtilityPageFull32}{\hidepaste} +\tab{5}\spadcommand{root := rootOfIrreduciblePoly(f)$FFPOLY2(F,GF2)\free{F GF2 fz }\bound{root }} +\indentrel{3}\begin{verbatim} + 11 8 7 5 + (32) %CS + %CS + %CS + %CS + %CS + 1 + Type: FiniteFieldExtension(PrimeField 2,12) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugxProblemFiniteUtilityPageEmpty32} +\begin{paste}{ugxProblemFiniteUtilityPageEmpty32}{ugxProblemFiniteUtilityPagePatch32} +\pastebutton{ugxProblemFiniteUtilityPageEmpty32}{\showpaste} +\tab{5}\spadcommand{root := rootOfIrreduciblePoly(f)$FFPOLY2(F,GF2)\free{F GF2 fz }\bound{root }} +\end{paste}\end{patch} + +@ +\pagehead{ugProblemIdealPage}{ug08.ht}{Primary Decomposition of Ideals} <>= \begin{page}{ugProblemIdealPage}{8.12. Primary Decomposition of Ideals} \beginscroll @@ -40909,6 +105066,290 @@ Their intersection is equal to the radical of the ideal of \axiom{l}. \autobuttons \end{page} +\begin{patch}{ugProblemIdealPagePatch1} +\begin{paste}{ugProblemIdealPageFull1}{ugProblemIdealPageEmpty1} +\pastebutton{ugProblemIdealPageFull1}{\hidepaste} +\tab{5}\spadcommand{(n,m) : List DMP([x,y],FRAC INT)\bound{nm }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPageEmpty1} +\begin{paste}{ugProblemIdealPageEmpty1}{ugProblemIdealPagePatch1} +\pastebutton{ugProblemIdealPageEmpty1}{\showpaste} +\tab{5}\spadcommand{(n,m) : List DMP([x,y],FRAC INT)\bound{nm }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPagePatch2} +\begin{paste}{ugProblemIdealPageFull2}{ugProblemIdealPageEmpty2} +\pastebutton{ugProblemIdealPageFull2}{\hidepaste} +\tab{5}\spadcommand{m := [x**2+y**2-1]\free{nm }\bound{m }} +\indentrel{3}\begin{verbatim} + 2 2 + (2) [x + y - 1] +Type: List DistributedMultivariatePolynomial([x,y],Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPageEmpty2} +\begin{paste}{ugProblemIdealPageEmpty2}{ugProblemIdealPagePatch2} +\pastebutton{ugProblemIdealPageEmpty2}{\showpaste} +\tab{5}\spadcommand{m := [x**2+y**2-1]\free{nm }\bound{m }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPagePatch3} +\begin{paste}{ugProblemIdealPageFull3}{ugProblemIdealPageEmpty3} +\pastebutton{ugProblemIdealPageFull3}{\hidepaste} +\tab{5}\spadcommand{n := [x**2-y**2]\free{nm }\bound{n }} +\indentrel{3}\begin{verbatim} + 2 2 + (3) [x - y ] +Type: List DistributedMultivariatePolynomial([x,y],Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPageEmpty3} +\begin{paste}{ugProblemIdealPageEmpty3}{ugProblemIdealPagePatch3} +\pastebutton{ugProblemIdealPageEmpty3}{\showpaste} +\tab{5}\spadcommand{n := [x**2-y**2]\free{nm }\bound{n }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPagePatch4} +\begin{paste}{ugProblemIdealPageFull4}{ugProblemIdealPageEmpty4} +\pastebutton{ugProblemIdealPageFull4}{\hidepaste} +\tab{5}\spadcommand{id := ideal m + ideal n\free{n m }\bound{id }} +\indentrel{3}\begin{verbatim} + 2 1 2 1 + (4) [x - Ä,y - Ä] + 2 2 +Type: PolynomialIdeals(Fraction Integer,DirectProduct(2,NonNegativeInteger),OrderedVariableList [x,y],DistributedMultivariatePolynomial([x,y],Fraction Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPageEmpty4} +\begin{paste}{ugProblemIdealPageEmpty4}{ugProblemIdealPagePatch4} +\pastebutton{ugProblemIdealPageEmpty4}{\showpaste} +\tab{5}\spadcommand{id := ideal m + ideal n\free{n m }\bound{id }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPagePatch5} +\begin{paste}{ugProblemIdealPageFull5}{ugProblemIdealPageEmpty5} +\pastebutton{ugProblemIdealPageFull5}{\hidepaste} +\tab{5}\spadcommand{zeroDim? id\free{id }} +\indentrel{3}\begin{verbatim} + (5) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPageEmpty5} +\begin{paste}{ugProblemIdealPageEmpty5}{ugProblemIdealPagePatch5} +\pastebutton{ugProblemIdealPageEmpty5}{\showpaste} +\tab{5}\spadcommand{zeroDim? id\free{id }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPagePatch6} +\begin{paste}{ugProblemIdealPageFull6}{ugProblemIdealPageEmpty6} +\pastebutton{ugProblemIdealPageFull6}{\hidepaste} +\tab{5}\spadcommand{zeroDim?(ideal m)\free{m }} +\indentrel{3}\begin{verbatim} + (6) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPageEmpty6} +\begin{paste}{ugProblemIdealPageEmpty6}{ugProblemIdealPagePatch6} +\pastebutton{ugProblemIdealPageEmpty6}{\showpaste} +\tab{5}\spadcommand{zeroDim?(ideal m)\free{m }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPagePatch7} +\begin{paste}{ugProblemIdealPageFull7}{ugProblemIdealPageEmpty7} +\pastebutton{ugProblemIdealPageFull7}{\hidepaste} +\tab{5}\spadcommand{dimension ideal m\free{m }} +\indentrel{3}\begin{verbatim} + (7) 1 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPageEmpty7} +\begin{paste}{ugProblemIdealPageEmpty7}{ugProblemIdealPagePatch7} +\pastebutton{ugProblemIdealPageEmpty7}{\showpaste} +\tab{5}\spadcommand{dimension ideal m\free{m }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPagePatch8} +\begin{paste}{ugProblemIdealPageFull8}{ugProblemIdealPageEmpty8} +\pastebutton{ugProblemIdealPageFull8}{\hidepaste} +\tab{5}\spadcommand{(f,g):DMP([x,y],FRAC INT)\bound{fg }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPageEmpty8} +\begin{paste}{ugProblemIdealPageEmpty8}{ugProblemIdealPagePatch8} +\pastebutton{ugProblemIdealPageEmpty8}{\showpaste} +\tab{5}\spadcommand{(f,g):DMP([x,y],FRAC INT)\bound{fg }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPagePatch9} +\begin{paste}{ugProblemIdealPageFull9}{ugProblemIdealPageEmpty9} +\pastebutton{ugProblemIdealPageFull9}{\hidepaste} +\tab{5}\spadcommand{f := x**2-1\free{fg }\bound{f }} +\indentrel{3}\begin{verbatim} + 2 + (9) x - 1 +Type: DistributedMultivariatePolynomial([x,y],Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPageEmpty9} +\begin{paste}{ugProblemIdealPageEmpty9}{ugProblemIdealPagePatch9} +\pastebutton{ugProblemIdealPageEmpty9}{\showpaste} +\tab{5}\spadcommand{f := x**2-1\free{fg }\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPagePatch10} +\begin{paste}{ugProblemIdealPageFull10}{ugProblemIdealPageEmpty10} +\pastebutton{ugProblemIdealPageFull10}{\hidepaste} +\tab{5}\spadcommand{g := x*(x**2-1)\free{fg }\bound{g }} +\indentrel{3}\begin{verbatim} + 3 + (10) x - x +Type: DistributedMultivariatePolynomial([x,y],Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPageEmpty10} +\begin{paste}{ugProblemIdealPageEmpty10}{ugProblemIdealPagePatch10} +\pastebutton{ugProblemIdealPageEmpty10}{\showpaste} +\tab{5}\spadcommand{g := x*(x**2-1)\free{fg }\bound{g }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPagePatch11} +\begin{paste}{ugProblemIdealPageFull11}{ugProblemIdealPageEmpty11} +\pastebutton{ugProblemIdealPageFull11}{\hidepaste} +\tab{5}\spadcommand{relationsIdeal [f,g]\free{f g }} +\indentrel{3}\begin{verbatim} + (11) + 2 3 2 2 3 + [- %CY + %CX + %CX ] | [%CX= x - 1,%CY= x - x] +Type: SuchThat(List Polynomial Fraction Integer,List Equation Polynomial Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPageEmpty11} +\begin{paste}{ugProblemIdealPageEmpty11}{ugProblemIdealPagePatch11} +\pastebutton{ugProblemIdealPageEmpty11}{\showpaste} +\tab{5}\spadcommand{relationsIdeal [f,g]\free{f g }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPagePatch12} +\begin{paste}{ugProblemIdealPageFull12}{ugProblemIdealPageEmpty12} +\pastebutton{ugProblemIdealPageFull12}{\hidepaste} +\tab{5}\spadcommand{l: List DMP([x,y,z],FRAC INT)\bound{ll }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPageEmpty12} +\begin{paste}{ugProblemIdealPageEmpty12}{ugProblemIdealPagePatch12} +\pastebutton{ugProblemIdealPageEmpty12}{\showpaste} +\tab{5}\spadcommand{l: List DMP([x,y,z],FRAC INT)\bound{ll }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPagePatch13} +\begin{paste}{ugProblemIdealPageFull13}{ugProblemIdealPageEmpty13} +\pastebutton{ugProblemIdealPageFull13}{\hidepaste} +\tab{5}\spadcommand{l:=[x**2+2*y**2,x*z**2-y*z,z**2-4]\free{ll }\bound{l }} +\indentrel{3}\begin{verbatim} + 2 2 2 2 + (13) [x + 2y ,x z - y z,z - 4] +Type: List DistributedMultivariatePolynomial([x,y,z],Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPageEmpty13} +\begin{paste}{ugProblemIdealPageEmpty13}{ugProblemIdealPagePatch13} +\pastebutton{ugProblemIdealPageEmpty13}{\showpaste} +\tab{5}\spadcommand{l:=[x**2+2*y**2,x*z**2-y*z,z**2-4]\free{ll }\bound{l }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPagePatch14} +\begin{paste}{ugProblemIdealPageFull14}{ugProblemIdealPageEmpty14} +\pastebutton{ugProblemIdealPageFull14}{\hidepaste} +\tab{5}\spadcommand{ld:=primaryDecomp ideal l\free{l }\bound{ld }} +\indentrel{3}\begin{verbatim} + 1 2 1 2 + (14) [[x + Ä y,y ,z + 2],[x - Ä y,y ,z - 2]] + 2 2 +Type: List PolynomialIdeals(Fraction Integer,DirectProduct(3,NonNegativeInteger),OrderedVariableList [x,y,z],DistributedMultivariatePolynomial([x,y,z],Fraction Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPageEmpty14} +\begin{paste}{ugProblemIdealPageEmpty14}{ugProblemIdealPagePatch14} +\pastebutton{ugProblemIdealPageEmpty14}{\showpaste} +\tab{5}\spadcommand{ld:=primaryDecomp ideal l\free{l }\bound{ld }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPagePatch15} +\begin{paste}{ugProblemIdealPageFull15}{ugProblemIdealPageEmpty15} +\pastebutton{ugProblemIdealPageFull15}{\hidepaste} +\tab{5}\spadcommand{reduce(intersect,ld)\free{ld }} +\indentrel{3}\begin{verbatim} + 1 2 2 + (15) [x - Ä y z,y ,z - 4] + 4 +Type: PolynomialIdeals(Fraction Integer,DirectProduct(3,NonNegativeInteger),OrderedVariableList [x,y,z],DistributedMultivariatePolynomial([x,y,z],Fraction Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPageEmpty15} +\begin{paste}{ugProblemIdealPageEmpty15}{ugProblemIdealPagePatch15} +\pastebutton{ugProblemIdealPageEmpty15}{\showpaste} +\tab{5}\spadcommand{reduce(intersect,ld)\free{ld }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPagePatch16} +\begin{paste}{ugProblemIdealPageFull16}{ugProblemIdealPageEmpty16} +\pastebutton{ugProblemIdealPageFull16}{\hidepaste} +\tab{5}\spadcommand{reduce(intersect,[radical ld.i for i in 1..2])\free{ld }} +\indentrel{3}\begin{verbatim} + 2 + (16) [x,y,z - 4] +Type: PolynomialIdeals(Fraction Integer,DirectProduct(3,NonNegativeInteger),OrderedVariableList [x,y,z],DistributedMultivariatePolynomial([x,y,z],Fraction Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPageEmpty16} +\begin{paste}{ugProblemIdealPageEmpty16}{ugProblemIdealPagePatch16} +\pastebutton{ugProblemIdealPageEmpty16}{\showpaste} +\tab{5}\spadcommand{reduce(intersect,[radical ld.i for i in 1..2])\free{ld }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPagePatch17} +\begin{paste}{ugProblemIdealPageFull17}{ugProblemIdealPageEmpty17} +\pastebutton{ugProblemIdealPageFull17}{\hidepaste} +\tab{5}\spadcommand{radical ideal l\free{l }} +\indentrel{3}\begin{verbatim} + 2 + (17) [x,y,z - 4] +Type: PolynomialIdeals(Fraction Integer,DirectProduct(3,NonNegativeInteger),OrderedVariableList [x,y,z],DistributedMultivariatePolynomial([x,y,z],Fraction Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemIdealPageEmpty17} +\begin{paste}{ugProblemIdealPageEmpty17}{ugProblemIdealPagePatch17} +\pastebutton{ugProblemIdealPageEmpty17}{\showpaste} +\tab{5}\spadcommand{radical ideal l\free{l }} +\end{paste}\end{patch} + @ \pagehead{ugProblemGaloisPage}{ug08.ht}{Computation of Galois Groups} \pagepic{ps/v71ugproblemgaloispage.eps}{ugProblemGaloisPage} @@ -41254,6 +105695,628 @@ isomorphic to \texht{$S_3,$}{} the symmetric group on three letters. \autobuttons \end{page} +\begin{patch}{ugProblemGaloisPagePatch1} +\begin{paste}{ugProblemGaloisPageFull1}{ugProblemGaloisPageEmpty1} +\pastebutton{ugProblemGaloisPageFull1}{\hidepaste} +\tab{5}\spadcommand{p := x**5 - 5*x + 12\bound{p }} +\indentrel{3}\begin{verbatim} + 5 + (1) x - 5x + 12 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty1} +\begin{paste}{ugProblemGaloisPageEmpty1}{ugProblemGaloisPagePatch1} +\pastebutton{ugProblemGaloisPageEmpty1}{\showpaste} +\tab{5}\spadcommand{p := x**5 - 5*x + 12\bound{p }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch2} +\begin{paste}{ugProblemGaloisPageFull2}{ugProblemGaloisPageEmpty2} +\pastebutton{ugProblemGaloisPageFull2}{\hidepaste} +\tab{5}\spadcommand{q := resultant(eval(p,x,y),-eval(p,x,y-x),y)\free{p }\bound{q }} +\indentrel{3}\begin{verbatim} + (2) + 25 21 17 15 13 + x - 50x - 2375x + 90000x - 5000x + + + 11 9 7 5 + 2700000x + 250000x + 18000000x + 64000000x + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty2} +\begin{paste}{ugProblemGaloisPageEmpty2}{ugProblemGaloisPagePatch2} +\pastebutton{ugProblemGaloisPageEmpty2}{\showpaste} +\tab{5}\spadcommand{q := resultant(eval(p,x,y),-eval(p,x,y-x),y)\free{p }\bound{q }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch3} +\begin{paste}{ugProblemGaloisPageFull3}{ugProblemGaloisPageEmpty3} +\pastebutton{ugProblemGaloisPageFull3}{\hidepaste} +\tab{5}\spadcommand{q1 := exquo(q, x**5)\free{q }\bound{q1 }} +\indentrel{3}\begin{verbatim} + (3) + 20 16 12 10 8 6 + x - 50x - 2375x + 90000x - 5000x + 2700000x + + + 4 2 + 250000x + 18000000x + 64000000 + Type: Union(Polynomial Integer,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty3} +\begin{paste}{ugProblemGaloisPageEmpty3}{ugProblemGaloisPagePatch3} +\pastebutton{ugProblemGaloisPageEmpty3}{\showpaste} +\tab{5}\spadcommand{q1 := exquo(q, x**5)\free{q }\bound{q1 }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch4} +\begin{paste}{ugProblemGaloisPageFull4}{ugProblemGaloisPageEmpty4} +\pastebutton{ugProblemGaloisPageFull4}{\hidepaste} +\tab{5}\spadcommand{factoredQ := factor q1\free{q1 }\bound{factoredQ }} +\indentrel{3}\begin{verbatim} + (4) + 10 8 6 4 2 + (x - 10x - 75x + 1500x - 5500x + 16000) + * + 10 8 6 4 2 + (x + 10x + 125x + 500x + 2500x + 4000) + Type: Factored Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty4} +\begin{paste}{ugProblemGaloisPageEmpty4}{ugProblemGaloisPagePatch4} +\pastebutton{ugProblemGaloisPageEmpty4}{\showpaste} +\tab{5}\spadcommand{factoredQ := factor q1\free{q1 }\bound{factoredQ }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch5} +\begin{paste}{ugProblemGaloisPageFull5}{ugProblemGaloisPageEmpty5} +\pastebutton{ugProblemGaloisPageFull5}{\hidepaste} +\tab{5}\spadcommand{r := nthFactor(factoredQ,1)\free{factoredQ }\bound{r }} +\indentrel{3}\begin{verbatim} + 10 8 6 4 2 + (5) x - 10x - 75x + 1500x - 5500x + 16000 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty5} +\begin{paste}{ugProblemGaloisPageEmpty5}{ugProblemGaloisPagePatch5} +\pastebutton{ugProblemGaloisPageEmpty5}{\showpaste} +\tab{5}\spadcommand{r := nthFactor(factoredQ,1)\free{factoredQ }\bound{r }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch6} +\begin{paste}{ugProblemGaloisPageFull6}{ugProblemGaloisPageEmpty6} +\pastebutton{ugProblemGaloisPageFull6}{\hidepaste} +\tab{5}\spadcommand{beta:AN := rootOf(eval(r,x,b))\free{r }\bound{beta }} +\indentrel{3}\begin{verbatim} + (6) b + Type: AlgebraicNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty6} +\begin{paste}{ugProblemGaloisPageEmpty6}{ugProblemGaloisPagePatch6} +\pastebutton{ugProblemGaloisPageEmpty6}{\showpaste} +\tab{5}\spadcommand{beta:AN := rootOf(eval(r,x,b))\free{r }\bound{beta }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch7} +\begin{paste}{ugProblemGaloisPageFull7}{ugProblemGaloisPageEmpty7} +\pastebutton{ugProblemGaloisPageFull7}{\hidepaste} +\tab{5}\spadcommand{p := p::UP(x,INT)::UP(x,AN)\free{p }\bound{declareP }} +\indentrel{3}\begin{verbatim} + 5 + (7) x - 5x + 12 + Type: UnivariatePolynomial(x,AlgebraicNumber) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty7} +\begin{paste}{ugProblemGaloisPageEmpty7}{ugProblemGaloisPagePatch7} +\pastebutton{ugProblemGaloisPageEmpty7}{\showpaste} +\tab{5}\spadcommand{p := p::UP(x,INT)::UP(x,AN)\free{p }\bound{declareP }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch8} +\begin{paste}{ugProblemGaloisPageFull8}{ugProblemGaloisPageEmpty8} +\pastebutton{ugProblemGaloisPageFull8}{\hidepaste} +\tab{5}\spadcommand{algFactors := factor(p,[beta])\free{declareP beta }\bound{algFactors }} +\indentrel{3}\begin{verbatim} + (8) + x + + + 9 8 7 6 5 + - 85b - 116b + 780b + 2640b + 14895b + + + 4 3 2 + - 8820b - 127050b - 327000b - 405200b + + + 2062400 + / + 1339200 + * + 8 6 4 2 + - 17b + 156b + 2979b - 25410b - 14080 + (x + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) + 66960 + * + x + + + 8 6 4 2 + 143b - 2100b - 10485b + 290550b - 334800b + + + - 960800 + / + 669600 + * + x + + + 8 6 4 2 + 143b - 2100b - 10485b + 290550b + 334800b + + + - 960800 + / + 669600 + * + x + + + 9 8 7 6 5 + 85b - 116b - 780b + 2640b - 14895b + + + 4 3 2 + - 8820b + 127050b - 327000b + 405200b + + + 2062400 + / + 1339200 + Type: Factored UnivariatePolynomial(x,AlgebraicNumber) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty8} +\begin{paste}{ugProblemGaloisPageEmpty8}{ugProblemGaloisPagePatch8} +\pastebutton{ugProblemGaloisPageEmpty8}{\showpaste} +\tab{5}\spadcommand{algFactors := factor(p,[beta])\free{declareP beta }\bound{algFactors }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch9} +\begin{paste}{ugProblemGaloisPageFull9}{ugProblemGaloisPageEmpty9} +\pastebutton{ugProblemGaloisPageFull9}{\hidepaste} +\tab{5}\spadcommand{factor(p)\free{declareP }} +\indentrel{3}\begin{verbatim} + 5 + (9) x - 5x + 12 + Type: Factored UnivariatePolynomial(x,AlgebraicNumber) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty9} +\begin{paste}{ugProblemGaloisPageEmpty9}{ugProblemGaloisPagePatch9} +\pastebutton{ugProblemGaloisPageEmpty9}{\showpaste} +\tab{5}\spadcommand{factor(p)\free{declareP }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch10} +\begin{paste}{ugProblemGaloisPageFull10}{ugProblemGaloisPageEmpty10} +\pastebutton{ugProblemGaloisPageFull10}{\hidepaste} +\tab{5}\spadcommand{factor1 := nthFactor(algFactors,1)\free{algFactors }\bound{factor1 }} +\indentrel{3}\begin{verbatim} + (10) + x + + + 9 8 7 6 5 + - 85b - 116b + 780b + 2640b + 14895b + + + 4 3 2 + - 8820b - 127050b - 327000b - 405200b + 2062400 + / + 1339200 + Type: UnivariatePolynomial(x,AlgebraicNumber) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty10} +\begin{paste}{ugProblemGaloisPageEmpty10}{ugProblemGaloisPagePatch10} +\pastebutton{ugProblemGaloisPageEmpty10}{\showpaste} +\tab{5}\spadcommand{factor1 := nthFactor(algFactors,1)\free{algFactors }\bound{factor1 }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch11} +\begin{paste}{ugProblemGaloisPageFull11}{ugProblemGaloisPageEmpty11} +\pastebutton{ugProblemGaloisPageFull11}{\hidepaste} +\tab{5}\spadcommand{root1 := -coefficient(factor1,0)\free{factor1 }\bound{root1 }} +\indentrel{3}\begin{verbatim} + (11) + 9 8 7 6 5 4 + 85b + 116b - 780b - 2640b - 14895b + 8820b + + + 3 2 + 127050b + 327000b + 405200b - 2062400 + / + 1339200 + Type: AlgebraicNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty11} +\begin{paste}{ugProblemGaloisPageEmpty11}{ugProblemGaloisPagePatch11} +\pastebutton{ugProblemGaloisPageEmpty11}{\showpaste} +\tab{5}\spadcommand{root1 := -coefficient(factor1,0)\free{factor1 }\bound{root1 }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch12} +\begin{paste}{ugProblemGaloisPageFull12}{ugProblemGaloisPageEmpty12} +\pastebutton{ugProblemGaloisPageFull12}{\hidepaste} +\tab{5}\spadcommand{roots := [-coefficient(nthFactor(algFactors,i),0) for i in 1..5]\free{algFactors }\bound{roots }} +\indentrel{3}\begin{verbatim} + (12) + [ + 9 8 7 6 5 4 + 85b + 116b - 780b - 2640b - 14895b + 8820b + + + 3 2 + 127050b + 327000b + 405200b - 2062400 + / + 1339200 + , + 8 6 4 2 + 17b - 156b - 2979b + 25410b + 14080 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, + 66960 + + 8 6 4 2 + - 143b + 2100b + 10485b - 290550b + 334800b + + + 960800 + / + 669600 + , + + 8 6 4 2 + - 143b + 2100b + 10485b - 290550b - 334800b + + + 960800 + / + 669600 + , + + 9 8 7 6 5 + - 85b + 116b + 780b - 2640b + 14895b + + + 4 3 2 + 8820b - 127050b + 327000b - 405200b - 2062400 + / + 1339200 + ] + Type: List AlgebraicNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty12} +\begin{paste}{ugProblemGaloisPageEmpty12}{ugProblemGaloisPagePatch12} +\pastebutton{ugProblemGaloisPageEmpty12}{\showpaste} +\tab{5}\spadcommand{roots := [-coefficient(nthFactor(algFactors,i),0) for i in 1..5]\free{algFactors }\bound{roots }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch13} +\begin{paste}{ugProblemGaloisPageFull13}{ugProblemGaloisPageEmpty13} +\pastebutton{ugProblemGaloisPageFull13}{\hidepaste} +\tab{5}\spadcommand{(a1,a2,a3,a4,a5) := (roots.1,roots.2,roots.3,roots.4,roots.5)\free{roots }\bound{ais }} +\indentrel{3}\begin{verbatim} + (13) + 9 8 7 6 5 4 + - 85b + 116b + 780b - 2640b + 14895b + 8820b + + + 3 2 + - 127050b + 327000b - 405200b - 2062400 + / + 1339200 + Type: AlgebraicNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty13} +\begin{paste}{ugProblemGaloisPageEmpty13}{ugProblemGaloisPagePatch13} +\pastebutton{ugProblemGaloisPageEmpty13}{\showpaste} +\tab{5}\spadcommand{(a1,a2,a3,a4,a5) := (roots.1,roots.2,roots.3,roots.4,roots.5)\free{roots }\bound{ais }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch14} +\begin{paste}{ugProblemGaloisPageFull14}{ugProblemGaloisPageEmpty14} +\pastebutton{ugProblemGaloisPageFull14}{\hidepaste} +\tab{5}\spadcommand{eval(r,x,a1 - a2)\free{ais }} +\indentrel{3}\begin{verbatim} + (14) 0 + Type: Polynomial AlgebraicNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty14} +\begin{paste}{ugProblemGaloisPageEmpty14}{ugProblemGaloisPagePatch14} +\pastebutton{ugProblemGaloisPageEmpty14}{\showpaste} +\tab{5}\spadcommand{eval(r,x,a1 - a2)\free{ais }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch15} +\begin{paste}{ugProblemGaloisPageFull15}{ugProblemGaloisPageEmpty15} +\pastebutton{ugProblemGaloisPageFull15}{\hidepaste} +\tab{5}\spadcommand{eval(r,x,a1 - a3)\free{ais }} +\indentrel{3}\begin{verbatim} + (15) + 9 8 7 6 5 + 47905b + 66920b - 536100b - 980400b - 3345075b + + + 4 3 2 + - 5787000b + 75572250b + 161688000b - 184600000b + + + - 710912000 + / + 4464 + Type: Polynomial AlgebraicNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty15} +\begin{paste}{ugProblemGaloisPageEmpty15}{ugProblemGaloisPagePatch15} +\pastebutton{ugProblemGaloisPageEmpty15}{\showpaste} +\tab{5}\spadcommand{eval(r,x,a1 - a3)\free{ais }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch16} +\begin{paste}{ugProblemGaloisPageFull16}{ugProblemGaloisPageEmpty16} +\pastebutton{ugProblemGaloisPageFull16}{\hidepaste} +\tab{5}\spadcommand{eval(r,x,a1 - a4)\free{ais }} +\indentrel{3}\begin{verbatim} + (16) 0 + Type: Polynomial AlgebraicNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty16} +\begin{paste}{ugProblemGaloisPageEmpty16}{ugProblemGaloisPagePatch16} +\pastebutton{ugProblemGaloisPageEmpty16}{\showpaste} +\tab{5}\spadcommand{eval(r,x,a1 - a4)\free{ais }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch17} +\begin{paste}{ugProblemGaloisPageFull17}{ugProblemGaloisPageEmpty17} +\pastebutton{ugProblemGaloisPageFull17}{\hidepaste} +\tab{5}\spadcommand{eval(r,x,a1 - a5)\free{ais }} +\indentrel{3}\begin{verbatim} + 8 6 4 2 + 405b + 3450b - 19875b - 198000b - 588000 + (17) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 31 + Type: Polynomial AlgebraicNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty17} +\begin{paste}{ugProblemGaloisPageEmpty17}{ugProblemGaloisPagePatch17} +\pastebutton{ugProblemGaloisPageEmpty17}{\showpaste} +\tab{5}\spadcommand{eval(r,x,a1 - a5)\free{ais }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch18} +\begin{paste}{ugProblemGaloisPageFull18}{ugProblemGaloisPageEmpty18} +\pastebutton{ugProblemGaloisPageFull18}{\hidepaste} +\tab{5}\spadcommand{bb := a1 - a4\free{ais }\bound{bb }} +\indentrel{3}\begin{verbatim} + (18) + 9 8 7 6 5 4 + 85b + 402b - 780b - 6840b - 14895b - 12150b + + + 3 2 + 127050b + 908100b + 1074800b - 3984000 + / + 1339200 + Type: AlgebraicNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty18} +\begin{paste}{ugProblemGaloisPageEmpty18}{ugProblemGaloisPagePatch18} +\pastebutton{ugProblemGaloisPageEmpty18}{\showpaste} +\tab{5}\spadcommand{bb := a1 - a4\free{ais }\bound{bb }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch19} +\begin{paste}{ugProblemGaloisPageFull19}{ugProblemGaloisPageEmpty19} +\pastebutton{ugProblemGaloisPageFull19}{\hidepaste} +\tab{5}\spadcommand{aa1 := subst(a1,beta = bb)\free{beta bb ais }\bound{aa1 }} +\indentrel{3}\begin{verbatim} + (19) + 8 6 4 2 + - 143b + 2100b + 10485b - 290550b + 334800b + + + 960800 + / + 669600 + Type: AlgebraicNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty19} +\begin{paste}{ugProblemGaloisPageEmpty19}{ugProblemGaloisPagePatch19} +\pastebutton{ugProblemGaloisPageEmpty19}{\showpaste} +\tab{5}\spadcommand{aa1 := subst(a1,beta = bb)\free{beta bb ais }\bound{aa1 }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch20} +\begin{paste}{ugProblemGaloisPageFull20}{ugProblemGaloisPageEmpty20} +\pastebutton{ugProblemGaloisPageFull20}{\hidepaste} +\tab{5}\spadcommand{aa2 := subst(a2,beta = bb)\free{beta bb ais }\bound{aa2 }} +\indentrel{3}\begin{verbatim} + (20) + 9 8 7 6 5 4 + - 85b + 116b + 780b - 2640b + 14895b + 8820b + + + 3 2 + - 127050b + 327000b - 405200b - 2062400 + / + 1339200 + Type: AlgebraicNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty20} +\begin{paste}{ugProblemGaloisPageEmpty20}{ugProblemGaloisPagePatch20} +\pastebutton{ugProblemGaloisPageEmpty20}{\showpaste} +\tab{5}\spadcommand{aa2 := subst(a2,beta = bb)\free{beta bb ais }\bound{aa2 }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch21} +\begin{paste}{ugProblemGaloisPageFull21}{ugProblemGaloisPageEmpty21} +\pastebutton{ugProblemGaloisPageFull21}{\hidepaste} +\tab{5}\spadcommand{aa3 := subst(a3,beta = bb)\free{beta bb ais }\bound{aa3 }} +\indentrel{3}\begin{verbatim} + (21) + 9 8 7 6 5 4 + 85b + 116b - 780b - 2640b - 14895b + 8820b + + + 3 2 + 127050b + 327000b + 405200b - 2062400 + / + 1339200 + Type: AlgebraicNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty21} +\begin{paste}{ugProblemGaloisPageEmpty21}{ugProblemGaloisPagePatch21} +\pastebutton{ugProblemGaloisPageEmpty21}{\showpaste} +\tab{5}\spadcommand{aa3 := subst(a3,beta = bb)\free{beta bb ais }\bound{aa3 }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch22} +\begin{paste}{ugProblemGaloisPageFull22}{ugProblemGaloisPageEmpty22} +\pastebutton{ugProblemGaloisPageFull22}{\hidepaste} +\tab{5}\spadcommand{aa4 := subst(a4,beta = bb)\free{beta bb ais }\bound{aa4 }} +\indentrel{3}\begin{verbatim} + (22) + 8 6 4 2 + - 143b + 2100b + 10485b - 290550b - 334800b + + + 960800 + / + 669600 + Type: AlgebraicNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty22} +\begin{paste}{ugProblemGaloisPageEmpty22}{ugProblemGaloisPagePatch22} +\pastebutton{ugProblemGaloisPageEmpty22}{\showpaste} +\tab{5}\spadcommand{aa4 := subst(a4,beta = bb)\free{beta bb ais }\bound{aa4 }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch23} +\begin{paste}{ugProblemGaloisPageFull23}{ugProblemGaloisPageEmpty23} +\pastebutton{ugProblemGaloisPageFull23}{\hidepaste} +\tab{5}\spadcommand{aa5 := subst(a5,beta = bb)\free{beta bb ais }\bound{aa5 }} +\indentrel{3}\begin{verbatim} + 8 6 4 2 + 17b - 156b - 2979b + 25410b + 14080 + (23) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 66960 + Type: AlgebraicNumber +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty23} +\begin{paste}{ugProblemGaloisPageEmpty23}{ugProblemGaloisPagePatch23} +\pastebutton{ugProblemGaloisPageEmpty23}{\showpaste} +\tab{5}\spadcommand{aa5 := subst(a5,beta = bb)\free{beta bb ais }\bound{aa5 }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch24} +\begin{paste}{ugProblemGaloisPageFull24}{ugProblemGaloisPageEmpty24} +\pastebutton{ugProblemGaloisPageFull24}{\hidepaste} +\tab{5}\spadcommand{(aa1 = a1) :: Boolean\free{aa1 }} +\indentrel{3}\begin{verbatim} + (24) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty24} +\begin{paste}{ugProblemGaloisPageEmpty24}{ugProblemGaloisPagePatch24} +\pastebutton{ugProblemGaloisPageEmpty24}{\showpaste} +\tab{5}\spadcommand{(aa1 = a1) :: Boolean\free{aa1 }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch25} +\begin{paste}{ugProblemGaloisPageFull25}{ugProblemGaloisPageEmpty25} +\pastebutton{ugProblemGaloisPageFull25}{\hidepaste} +\tab{5}\spadcommand{(aa1 = a2) :: Boolean\free{aa1 }} +\indentrel{3}\begin{verbatim} + (25) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty25} +\begin{paste}{ugProblemGaloisPageEmpty25}{ugProblemGaloisPagePatch25} +\pastebutton{ugProblemGaloisPageEmpty25}{\showpaste} +\tab{5}\spadcommand{(aa1 = a2) :: Boolean\free{aa1 }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch26} +\begin{paste}{ugProblemGaloisPageFull26}{ugProblemGaloisPageEmpty26} +\pastebutton{ugProblemGaloisPageFull26}{\hidepaste} +\tab{5}\spadcommand{(aa1 = a3) :: Boolean\free{aa1 }} +\indentrel{3}\begin{verbatim} + (26) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty26} +\begin{paste}{ugProblemGaloisPageEmpty26}{ugProblemGaloisPagePatch26} +\pastebutton{ugProblemGaloisPageEmpty26}{\showpaste} +\tab{5}\spadcommand{(aa1 = a3) :: Boolean\free{aa1 }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch27} +\begin{paste}{ugProblemGaloisPageFull27}{ugProblemGaloisPageEmpty27} +\pastebutton{ugProblemGaloisPageFull27}{\hidepaste} +\tab{5}\spadcommand{(aa1 = a4) :: Boolean\free{aa1 }} +\indentrel{3}\begin{verbatim} + (27) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty27} +\begin{paste}{ugProblemGaloisPageEmpty27}{ugProblemGaloisPagePatch27} +\pastebutton{ugProblemGaloisPageEmpty27}{\showpaste} +\tab{5}\spadcommand{(aa1 = a4) :: Boolean\free{aa1 }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPagePatch28} +\begin{paste}{ugProblemGaloisPageFull28}{ugProblemGaloisPageEmpty28} +\pastebutton{ugProblemGaloisPageFull28}{\hidepaste} +\tab{5}\spadcommand{(aa1 = a5) :: Boolean\free{aa1 }} +\indentrel{3}\begin{verbatim} + (28) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGaloisPageEmpty28} +\begin{paste}{ugProblemGaloisPageEmpty28}{ugProblemGaloisPagePatch28} +\pastebutton{ugProblemGaloisPageEmpty28}{\showpaste} +\tab{5}\spadcommand{(aa1 = a5) :: Boolean\free{aa1 }} +\end{paste}\end{patch} + @ \pagehead{ugProblemGeneticPage}{ug08.ht} {Non-Associative Algebras and Genetic Laws} @@ -41475,6 +106538,320 @@ Verify the result. \autobuttons \end{page} +\begin{patch}{ugProblemGeneticPagePatch1} +\begin{paste}{ugProblemGeneticPageFull1}{ugProblemGeneticPageEmpty1} +\pastebutton{ugProblemGeneticPageFull1}{\hidepaste} +\tab{5}\spadcommand{segregationRates : List SquareMatrix(4,FRAC INT) := [matrix [ [1, 1/2, 1/2, 9/20], [1/2, 0, 1/20, 0], [1/2, 1/20, 0, 0], [9/20, 0, 0, 0] ], matrix [ [0, 1/2, 0, 1/20], [1/2, 1, 9/20, 1/2], [0, 9/20, 0, 0], [1/20, 1/2, 0, 0] ], matrix [ [0, 0, 1/2, 1/20], [0, 0, 9/20, 0], [1/2, 9/20, 1, 1/2], [1/20, 0, 1/2, 0] ], matrix [ [0, 0, 0, 9/20], [0, 0, 1/20, 1/2], [0, 1/20, 0, 1/2], [9/20, 1/2, 1/2, 1] ] ]\bound{segregationRates }} +\indentrel{3}\begin{verbatim} + (1) + Ú 1 1 9¿ Ú 1 1¿ Ú 1 1¿ + ³1 Ä Ä Äij ³0 Ä 0 Äij ³0 0 Ä Äij + ³ 2 2 20³ ³ 2 20³ ³ 2 20³ + ³ ³ ³ ³ ³ ³ + ³1 1 ³ ³1 9 1 ³ ³ 9 ³ + ³Ä 0 ÄÄ 0 ³ ³Ä 1 ÄÄ Ä ³ ³0 0 ÄÄ 0 ³ + ³2 20 ³ ³2 20 2 ³ ³ 20 ³ + [³ ³, ³ ³, ³ ³, + ³1 1 ³ ³ 9 ³ ³1 9 1 ³ + ³Ä ÄÄ 0 0 ³ ³0 ÄÄ 0 0 ³ ³Ä ÄÄ 1 Ä ³ + ³2 20 ³ ³ 20 ³ ³2 20 2 ³ + ³ ³ ³ ³ ³ ³ + ³ 9 ³ ³ 1 1 ³ ³ 1 1 ³ + ³ÄÄ 0 0 0 ³ ³ÄÄ Ä 0 0 ³ ³ÄÄ 0 Ä 0 ³ + À20 Ù À20 2 Ù À20 2 Ù + Ú 9¿ + ³0 0 0 Äij + ³ 20³ + ³ ³ + ³ 1 1 ³ + ³0 0 ÄÄ Ä ³ + ³ 20 2 ³ + ³ ³] + ³ 1 1 ³ + ³0 ÄÄ 0 Ä ³ + ³ 20 2 ³ + ³ ³ + ³ 9 1 1 ³ + ³ÄÄ Ä Ä 1 ³ + À20 2 2 Ù + Type: List SquareMatrix(4,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPageEmpty1} +\begin{paste}{ugProblemGeneticPageEmpty1}{ugProblemGeneticPagePatch1} +\pastebutton{ugProblemGeneticPageEmpty1}{\showpaste} +\tab{5}\spadcommand{segregationRates : List SquareMatrix(4,FRAC INT) := [matrix [ [1, 1/2, 1/2, 9/20], [1/2, 0, 1/20, 0], [1/2, 1/20, 0, 0], [9/20, 0, 0, 0] ], matrix [ [0, 1/2, 0, 1/20], [1/2, 1, 9/20, 1/2], [0, 9/20, 0, 0], [1/20, 1/2, 0, 0] ], matrix [ [0, 0, 1/2, 1/20], [0, 0, 9/20, 0], [1/2, 9/20, 1, 1/2], [1/20, 0, 1/2, 0] ], matrix [ [0, 0, 0, 9/20], [0, 0, 1/20, 1/2], [0, 1/20, 0, 1/2], [9/20, 1/2, 1/2, 1] ] ]\bound{segregationRates }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPagePatch2} +\begin{paste}{ugProblemGeneticPageFull2}{ugProblemGeneticPageEmpty2} +\pastebutton{ugProblemGeneticPageFull2}{\hidepaste} +\tab{5}\spadcommand{gametes := ['AB,'Ab,'aB,'ab]\bound{gametes }} +\indentrel{3}\begin{verbatim} + (2) [AB,Ab,aB,ab] + Type: List OrderedVariableList [AB,Ab,aB,ab] +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPageEmpty2} +\begin{paste}{ugProblemGeneticPageEmpty2}{ugProblemGeneticPagePatch2} +\pastebutton{ugProblemGeneticPageEmpty2}{\showpaste} +\tab{5}\spadcommand{gametes := ['AB,'Ab,'aB,'ab]\bound{gametes }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPagePatch3} +\begin{paste}{ugProblemGeneticPageFull3}{ugProblemGeneticPageEmpty3} +\pastebutton{ugProblemGeneticPageFull3}{\hidepaste} +\tab{5}\spadcommand{A := ALGSC(FRAC INT, 4, gametes, segregationRates);\bound{A }\free{gametes segregationRates }} +\indentrel{3}\begin{verbatim} + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPageEmpty3} +\begin{paste}{ugProblemGeneticPageEmpty3}{ugProblemGeneticPagePatch3} +\pastebutton{ugProblemGeneticPageEmpty3}{\showpaste} +\tab{5}\spadcommand{A := ALGSC(FRAC INT, 4, gametes, segregationRates);\bound{A }\free{gametes segregationRates }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPagePatch4} +\begin{paste}{ugProblemGeneticPageFull4}{ugProblemGeneticPageEmpty4} +\pastebutton{ugProblemGeneticPageFull4}{\hidepaste} +\tab{5}\spadcommand{a := basis()$A; a.1*a.4} +\indentrel{3}\begin{verbatim} + 9 1 1 9 + (4) ÄÄ ab + ÄÄ aB + ÄÄ Ab + ÄÄ AB + 20 20 20 20 +Type: AlgebraGivenByStructuralConstants(Fraction Integer,4,[AB,Ab,aB,ab],[MATRIX,MATRIX,MATRIX,MATRIX]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPageEmpty4} +\begin{paste}{ugProblemGeneticPageEmpty4}{ugProblemGeneticPagePatch4} +\pastebutton{ugProblemGeneticPageEmpty4}{\showpaste} +\tab{5}\spadcommand{a := basis()$A; a.1*a.4} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPagePatch5} +\begin{paste}{ugProblemGeneticPageFull5}{ugProblemGeneticPageEmpty5} +\pastebutton{ugProblemGeneticPageFull5}{\hidepaste} +\tab{5}\spadcommand{commutative?()$A\free{A }} +\indentrel{3}\begin{verbatim} + algebra is commutative + (5) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPageEmpty5} +\begin{paste}{ugProblemGeneticPageEmpty5}{ugProblemGeneticPagePatch5} +\pastebutton{ugProblemGeneticPageEmpty5}{\showpaste} +\tab{5}\spadcommand{commutative?()$A\free{A }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPagePatch6} +\begin{paste}{ugProblemGeneticPageFull6}{ugProblemGeneticPageEmpty6} +\pastebutton{ugProblemGeneticPageFull6}{\hidepaste} +\tab{5}\spadcommand{associative?()$A\free{A }} +\indentrel{3}\begin{verbatim} + algebra is not associative + (6) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPageEmpty6} +\begin{paste}{ugProblemGeneticPageEmpty6}{ugProblemGeneticPagePatch6} +\pastebutton{ugProblemGeneticPageEmpty6}{\showpaste} +\tab{5}\spadcommand{associative?()$A\free{A }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPagePatch7} +\begin{paste}{ugProblemGeneticPageFull7}{ugProblemGeneticPageEmpty7} +\pastebutton{ugProblemGeneticPageFull7}{\hidepaste} +\tab{5}\spadcommand{x : ALGSC(DECIMAL, 4, gametes, segregationRates) := convert [3/10, 1/5, 1/10, 2/5]\bound{x }\free{gametes segregationRates }} +\indentrel{3}\begin{verbatim} + (7) 0.4ab + 0.1aB + 0.2Ab + 0.3AB +Type: AlgebraGivenByStructuralConstants(DecimalExpansion,4,[AB,Ab,aB,ab],[MATRIX,MATRIX,MATRIX,MATRIX]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPageEmpty7} +\begin{paste}{ugProblemGeneticPageEmpty7}{ugProblemGeneticPagePatch7} +\pastebutton{ugProblemGeneticPageEmpty7}{\showpaste} +\tab{5}\spadcommand{x : ALGSC(DECIMAL, 4, gametes, segregationRates) := convert [3/10, 1/5, 1/10, 2/5]\bound{x }\free{gametes segregationRates }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPagePatch8} +\begin{paste}{ugProblemGeneticPageFull8}{ugProblemGeneticPageEmpty8} +\pastebutton{ugProblemGeneticPageFull8}{\hidepaste} +\tab{5}\spadcommand{plenaryPower(x,5)\free{x }} +\indentrel{3}\begin{verbatim} + (8) 0.36561ab + 0.13439aB + 0.23439Ab + 0.26561AB +Type: AlgebraGivenByStructuralConstants(DecimalExpansion,4,[AB,Ab,aB,ab],[MATRIX,MATRIX,MATRIX,MATRIX]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPageEmpty8} +\begin{paste}{ugProblemGeneticPageEmpty8}{ugProblemGeneticPagePatch8} +\pastebutton{ugProblemGeneticPageEmpty8}{\showpaste} +\tab{5}\spadcommand{plenaryPower(x,5)\free{x }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPagePatch9} +\begin{paste}{ugProblemGeneticPageFull9}{ugProblemGeneticPageEmpty9} +\pastebutton{ugProblemGeneticPageFull9}{\hidepaste} +\tab{5}\spadcommand{q := leftRankPolynomial()$GCNAALG(FRAC INT, 4, gametes, segregationRates) :: UP(Y, POLY FRAC INT)\bound{q }\free{gametes segregationRates }} +\indentrel{3}\begin{verbatim} + (9) + 3 29 29 29 29 2 + Y + (- ÄÄ %x4 - ÄÄ %x3 - ÄÄ %x2 - ÄÄ %x1)Y + 20 20 20 20 + + + 9 2 9 9 9 9 2 + ÄÄ %x4 + (ÄÄ %x3 + ÄÄ %x2 + ÄÄ %x1)%x4 + ÄÄ %x3 + 20 10 10 10 20 + + + 9 9 9 2 9 + (ÄÄ %x2 + ÄÄ %x1)%x3 + ÄÄ %x2 + ÄÄ %x1 %x2 + 10 10 20 10 + + + 9 2 + ÄÄ %x1 + 20 + * + Y +Type: UnivariatePolynomial(Y,Polynomial Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPageEmpty9} +\begin{paste}{ugProblemGeneticPageEmpty9}{ugProblemGeneticPagePatch9} +\pastebutton{ugProblemGeneticPageEmpty9}{\showpaste} +\tab{5}\spadcommand{q := leftRankPolynomial()$GCNAALG(FRAC INT, 4, gametes, segregationRates) :: UP(Y, POLY FRAC INT)\bound{q }\free{gametes segregationRates }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPagePatch10} +\begin{paste}{ugProblemGeneticPageFull10}{ugProblemGeneticPageEmpty10} +\pastebutton{ugProblemGeneticPageFull10}{\hidepaste} +\tab{5}\spadcommand{factor(q :: POLY FRAC INT)\free{q }} +\indentrel{3}\begin{verbatim} + (10) + (Y - %x4 - %x3 - %x2 - %x1) + * + 9 9 9 9 + (Y - ÄÄ %x4 - ÄÄ %x3 - ÄÄ %x2 - ÄÄ %x1)Y + 20 20 20 20 + Type: Factored Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPageEmpty10} +\begin{paste}{ugProblemGeneticPageEmpty10}{ugProblemGeneticPagePatch10} +\pastebutton{ugProblemGeneticPageEmpty10}{\showpaste} +\tab{5}\spadcommand{factor(q :: POLY FRAC INT)\free{q }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPagePatch11} +\begin{paste}{ugProblemGeneticPageFull11}{ugProblemGeneticPageEmpty11} +\pastebutton{ugProblemGeneticPageFull11}{\hidepaste} +\tab{5}\spadcommand{cI := conditionsForIdempotents()$GCNAALG(FRAC INT, 4, gametes, segregationRates)\bound{cI }\free{gametes segregationRates }} +\indentrel{3}\begin{verbatim} + (11) + 9 1 2 + [ÄÄ %x1 %x4 + (ÄÄ %x2 + %x1)%x3 + %x1 %x2 + %x1 - %x1, + 10 10 + 1 9 2 + (%x2 + ÄÄ %x1)%x4 + ÄÄ %x2 %x3 + %x2 + (%x1 - 1)%x2, + 10 10 + 1 2 9 + (%x3 + ÄÄ %x1)%x4 + %x3 + (ÄÄ %x2 + %x1 - 1)%x3, + 10 10 + 2 9 1 + %x4 + (%x3 + %x2 + ÄÄ %x1 - 1)%x4 + ÄÄ %x2 %x3] + 10 10 + Type: List Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPageEmpty11} +\begin{paste}{ugProblemGeneticPageEmpty11}{ugProblemGeneticPagePatch11} +\pastebutton{ugProblemGeneticPageEmpty11}{\showpaste} +\tab{5}\spadcommand{cI := conditionsForIdempotents()$GCNAALG(FRAC INT, 4, gametes, segregationRates)\bound{cI }\free{gametes segregationRates }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPagePatch12} +\begin{paste}{ugProblemGeneticPageFull12}{ugProblemGeneticPageEmpty12} +\pastebutton{ugProblemGeneticPageFull12}{\hidepaste} +\tab{5}\spadcommand{gbs:= groebnerFactorize cI; gbs.1\free{cI }\bound{gbs }} +\indentrel{3}\begin{verbatim} + (12) + [%x4 + %x3 + %x2 + %x1 - 1, + 2 + (%x2 + %x1)%x3 + %x1 %x2 + %x1 - %x1] + Type: List Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPageEmpty12} +\begin{paste}{ugProblemGeneticPageEmpty12}{ugProblemGeneticPagePatch12} +\pastebutton{ugProblemGeneticPageEmpty12}{\showpaste} +\tab{5}\spadcommand{gbs:= groebnerFactorize cI; gbs.1\free{cI }\bound{gbs }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPagePatch13} +\begin{paste}{ugProblemGeneticPageFull13}{ugProblemGeneticPageEmpty13} +\pastebutton{ugProblemGeneticPageFull13}{\hidepaste} +\tab{5}\spadcommand{sol := solve concat(gbs.1,[\%x1-1/10,\%x2-1/10])\bound{sol }\free{gbs }} +\indentrel{3}\begin{verbatim} + 2 2 1 1 + (13) [[%x4= Ä,%x3= Ä,%x2= ÄÄ,%x1= ÄÄ]] + 5 5 10 10 + Type: List List Equation Fraction Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPageEmpty13} +\begin{paste}{ugProblemGeneticPageEmpty13}{ugProblemGeneticPagePatch13} +\pastebutton{ugProblemGeneticPageEmpty13}{\showpaste} +\tab{5}\spadcommand{sol := solve concat(gbs.1,[\%x1-1/10,\%x2-1/10])\bound{sol }\free{gbs }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPagePatch14} +\begin{paste}{ugProblemGeneticPageFull14}{ugProblemGeneticPageEmpty14} +\pastebutton{ugProblemGeneticPageFull14}{\hidepaste} +\tab{5}\spadcommand{e : A := represents reverse (map(rhs, sol.1) :: List FRAC INT)\bound{e }\free{A sol }} +\indentrel{3}\begin{verbatim} + 2 2 1 1 + (14) Ä ab + Ä aB + ÄÄ Ab + ÄÄ AB + 5 5 10 10 +Type: AlgebraGivenByStructuralConstants(Fraction Integer,4,[AB,Ab,aB,ab],[MATRIX,MATRIX,MATRIX,MATRIX]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPageEmpty14} +\begin{paste}{ugProblemGeneticPageEmpty14}{ugProblemGeneticPagePatch14} +\pastebutton{ugProblemGeneticPageEmpty14}{\showpaste} +\tab{5}\spadcommand{e : A := represents reverse (map(rhs, sol.1) :: List FRAC INT)\bound{e }\free{A sol }} +\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPagePatch15} +\begin{paste}{ugProblemGeneticPageFull15}{ugProblemGeneticPageEmpty15} +\pastebutton{ugProblemGeneticPageFull15}{\hidepaste} +\tab{5}\spadcommand{e*e-e\free{e }} +\indentrel{3}\begin{verbatim} + (15) 0 +Type: AlgebraGivenByStructuralConstants(Fraction Integer,4,[AB,Ab,aB,ab],[MATRIX,MATRIX,MATRIX,MATRIX]) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugProblemGeneticPageEmpty15} +\begin{paste}{ugProblemGeneticPageEmpty15}{ugProblemGeneticPagePatch15} +\pastebutton{ugProblemGeneticPageEmpty15}{\showpaste} +\tab{5}\spadcommand{e*e-e\free{e }} +\end{paste}\end{patch} + @ \chapter{Users Guide Chapter 10 (ug10.ht)} \pagehead{ugIntProgPage}{ug10.ht}{Interactive Programming} @@ -41701,6 +107078,106 @@ the details. \autobuttons \end{page} +\begin{patch}{ugIntProgDrawingPagePatch1} +\begin{paste}{ugIntProgDrawingPageFull1}{ugIntProgDrawingPageEmpty1} +\pastebutton{ugIntProgDrawingPageFull1}{\hidepaste} +\tab{5}\spadgraph{draw(x**2,x=-1..1,y=0..1)} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugintprogdrawingpage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugintprogdrawingpage1}} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgDrawingPageEmpty1} +\begin{paste}{ugIntProgDrawingPageEmpty1}{ugIntProgDrawingPagePatch1} +\pastebutton{ugIntProgDrawingPageEmpty1}{\showpaste} +\tab{5}\spadgraph{draw(x**2,x=-1..1,y=0..1)} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgDrawingPagePatch2} +\begin{paste}{ugIntProgDrawingPageFull2}{ugIntProgDrawingPageEmpty2} +\pastebutton{ugIntProgDrawingPageFull2}{\hidepaste} +\tab{5}\spadgraph{vp := draw(x**2,x=-1..1,y=0..1,var2Steps==1)\bound{d1 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugintprogdrawingpage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugintprogdrawingpage2}} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgDrawingPageEmpty2} +\begin{paste}{ugIntProgDrawingPageEmpty2}{ugIntProgDrawingPagePatch2} +\pastebutton{ugIntProgDrawingPageEmpty2}{\showpaste} +\tab{5}\spadgraph{vp := draw(x**2,x=-1..1,y=0..1,var2Steps==1)\bound{d1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgDrawingPagePatch3} +\begin{paste}{ugIntProgDrawingPageFull3}{ugIntProgDrawingPageEmpty3} +\pastebutton{ugIntProgDrawingPageFull3}{\hidepaste} +\tab{5}\spadcommand{rotate(vp, 0, -90)\bound{d3 }\free{d1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgDrawingPageEmpty3} +\begin{paste}{ugIntProgDrawingPageEmpty3}{ugIntProgDrawingPagePatch3} +\pastebutton{ugIntProgDrawingPageEmpty3}{\showpaste} +\tab{5}\spadcommand{rotate(vp, 0, -90)\bound{d3 }\free{d1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgDrawingPagePatch4} +\begin{paste}{ugIntProgDrawingPageFull4}{ugIntProgDrawingPageEmpty4} +\pastebutton{ugIntProgDrawingPageFull4}{\hidepaste} +\tab{5}\spadcommand{sp := subspace(vp)\bound{d5 }\free{d1 }} +\indentrel{3}\begin{verbatim} + (4) 3-Space with 1 component + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgDrawingPageEmpty4} +\begin{paste}{ugIntProgDrawingPageEmpty4}{ugIntProgDrawingPagePatch4} +\pastebutton{ugIntProgDrawingPageEmpty4}{\showpaste} +\tab{5}\spadcommand{sp := subspace(vp)\bound{d5 }\free{d1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgDrawingPagePatch5} +\begin{paste}{ugIntProgDrawingPageFull5}{ugIntProgDrawingPageEmpty5} +\pastebutton{ugIntProgDrawingPageFull5}{\hidepaste} +\tab{5}\spadgraph{vp := draw(x**3,x=-1..1,y=1..2,var2Steps==1, space==sp)\bound{d6 }\free{d5 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugintprogdrawingpage5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugintprogdrawingpage5}} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgDrawingPageEmpty5} +\begin{paste}{ugIntProgDrawingPageEmpty5}{ugIntProgDrawingPagePatch5} +\pastebutton{ugIntProgDrawingPageEmpty5}{\showpaste} +\tab{5}\spadgraph{vp := draw(x**3,x=-1..1,y=1..2,var2Steps==1, space==sp)\bound{d6 }\free{d5 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgDrawingPagePatch6} +\begin{paste}{ugIntProgDrawingPageFull6}{ugIntProgDrawingPageEmpty6} +\pastebutton{ugIntProgDrawingPageFull6}{\hidepaste} +\tab{5}\spadcommand{drawStyle(vp,"shade");outlineRender(vp,"on")\bound{d10 }\free{d6 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgDrawingPageEmpty6} +\begin{paste}{ugIntProgDrawingPageEmpty6}{ugIntProgDrawingPagePatch6} +\pastebutton{ugIntProgDrawingPageEmpty6}{\showpaste} +\tab{5}\spadcommand{drawStyle(vp,"shade");outlineRender(vp,"on")\bound{d10 }\free{d6 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgDrawingPagePatch7} +\begin{paste}{ugIntProgDrawingPageFull7}{ugIntProgDrawingPageEmpty7} +\pastebutton{ugIntProgDrawingPageFull7}{\hidepaste} +\tab{5}\spadcommand{rotate(vp,20,-60); showRegion(vp,"on")\bound{d11 }\free{d10 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgDrawingPageEmpty7} +\begin{paste}{ugIntProgDrawingPageEmpty7}{ugIntProgDrawingPagePatch7} +\pastebutton{ugIntProgDrawingPageEmpty7}{\showpaste} +\tab{5}\spadcommand{rotate(vp,20,-60); showRegion(vp,"on")\bound{d11 }\free{d10 }} +\end{paste}\end{patch} + @ \pagehead{ugIntProgRibbonPage}{ug10.ht}{A Ribbon Program} \pageto{notitle}{ugUserPage} @@ -41803,11 +107280,38 @@ for \texht{$-1 \leq x \leq 1$}{-1 <= x <= 1} \epsffile[0 0 295 295]{../ps/ribbons5.ps} } - \endscroll \autobuttons \end{page} +\begin{patch}{ugIntProgRibbonPagePatch1} +\begin{paste}{ugIntProgRibbonPageFull1}{ugIntProgRibbonPageEmpty1} +\pastebutton{ugIntProgRibbonPageFull1}{\hidepaste} +\tab{5}\spadcommand{)read ribbon\bound{s0 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgRibbonPageEmpty1} +\begin{paste}{ugIntProgRibbonPageEmpty1}{ugIntProgRibbonPagePatch1} +\pastebutton{ugIntProgRibbonPageEmpty1}{\showpaste} +\tab{5}\spadcommand{)read ribbon\bound{s0 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgRibbonPagePatch2} +\begin{paste}{ugIntProgRibbonPageFull2}{ugIntProgRibbonPageEmpty2} +\pastebutton{ugIntProgRibbonPageFull2}{\hidepaste} +\tab{5}\spadgraph{drawRibbons([x**i for i in 1..5],x=-1..1)\free{s0 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugintprogribbonpage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugintprogribbonpage2}} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgRibbonPageEmpty2} +\begin{paste}{ugIntProgRibbonPageEmpty2}{ugIntProgRibbonPagePatch2} +\pastebutton{ugIntProgRibbonPageEmpty2}{\showpaste} +\tab{5}\spadgraph{drawRibbons([x**i for i in 1..5],x=-1..1)\free{s0 }} +\end{paste}\end{patch} + @ \pagehead{ugIntProgColorPage}{ug10.ht}{Coloring and Positioning Ribbons} <>= @@ -42013,6 +107517,194 @@ Here is a better viewing angle. \autobuttons \end{page} +\begin{patch}{ugIntProgPLCPagePatch1} +\begin{paste}{ugIntProgPLCPageFull1}{ugIntProgPLCPageEmpty1} +\pastebutton{ugIntProgPLCPageFull1}{\hidepaste} +\tab{5}\spadcommand{zero := 0.0@DFLOAT\bound{d1 }} +\indentrel{3}\begin{verbatim} + (1) 0.0 + Type: DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgPLCPageEmpty1} +\begin{paste}{ugIntProgPLCPageEmpty1}{ugIntProgPLCPagePatch1} +\pastebutton{ugIntProgPLCPageEmpty1}{\showpaste} +\tab{5}\spadcommand{zero := 0.0@DFLOAT\bound{d1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgPLCPagePatch2} +\begin{paste}{ugIntProgPLCPageFull2}{ugIntProgPLCPageEmpty2} +\pastebutton{ugIntProgPLCPageFull2}{\hidepaste} +\tab{5}\spadcommand{one := 1.0@DFLOAT\bound{d2 }} +\indentrel{3}\begin{verbatim} + (2) 1.0 + Type: DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgPLCPageEmpty2} +\begin{paste}{ugIntProgPLCPageEmpty2}{ugIntProgPLCPagePatch2} +\pastebutton{ugIntProgPLCPageEmpty2}{\showpaste} +\tab{5}\spadcommand{one := 1.0@DFLOAT\bound{d2 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgPLCPagePatch3} +\begin{paste}{ugIntProgPLCPageFull3}{ugIntProgPLCPageEmpty3} +\pastebutton{ugIntProgPLCPageFull3}{\hidepaste} +\tab{5}\spadcommand{origin := point [zero,zero,zero,zero]\free{d1 }\bound{d3 }} +\indentrel{3}\begin{verbatim} + (3) [0.0,0.0,0.0,0.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgPLCPageEmpty3} +\begin{paste}{ugIntProgPLCPageEmpty3}{ugIntProgPLCPagePatch3} +\pastebutton{ugIntProgPLCPageEmpty3}{\showpaste} +\tab{5}\spadcommand{origin := point [zero,zero,zero,zero]\free{d1 }\bound{d3 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgPLCPagePatch4} +\begin{paste}{ugIntProgPLCPageFull4}{ugIntProgPLCPageEmpty4} +\pastebutton{ugIntProgPLCPageFull4}{\hidepaste} +\tab{5}\spadcommand{unit := point [one,one,one,zero]\free{d1 d2 }\bound{d4 }} +\indentrel{3}\begin{verbatim} + (4) [1.0,1.0,1.0,0.0] + Type: Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgPLCPageEmpty4} +\begin{paste}{ugIntProgPLCPageEmpty4}{ugIntProgPLCPagePatch4} +\pastebutton{ugIntProgPLCPageEmpty4}{\showpaste} +\tab{5}\spadcommand{unit := point [one,one,one,zero]\free{d1 d2 }\bound{d4 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgPLCPagePatch5} +\begin{paste}{ugIntProgPLCPageFull5}{ugIntProgPLCPageEmpty5} +\pastebutton{ugIntProgPLCPageFull5}{\hidepaste} +\tab{5}\spadcommand{line := [origin, unit]\free{d3 d4 }\bound{d5 }} +\indentrel{3}\begin{verbatim} + (5) [[0.0,0.0,0.0,0.0],[1.0,1.0,1.0,0.0]] + Type: List Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgPLCPageEmpty5} +\begin{paste}{ugIntProgPLCPageEmpty5}{ugIntProgPLCPagePatch5} +\pastebutton{ugIntProgPLCPageEmpty5}{\showpaste} +\tab{5}\spadcommand{line := [origin, unit]\free{d3 d4 }\bound{d5 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgPLCPagePatch6} +\begin{paste}{ugIntProgPLCPageFull6}{ugIntProgPLCPageEmpty6} +\pastebutton{ugIntProgPLCPageFull6}{\hidepaste} +\tab{5}\spadcommand{)read arrows\bound{v1 }} +\indentrel{3}\begin{verbatim} + (6) 2.8274333882308138 + Type: DoubleFloat + (7) 0.20000000000000001 + Type: DoubleFloat + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgPLCPageEmpty6} +\begin{paste}{ugIntProgPLCPageEmpty6}{ugIntProgPLCPagePatch6} +\pastebutton{ugIntProgPLCPageEmpty6}{\showpaste} +\tab{5}\spadcommand{)read arrows\bound{v1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgPLCPagePatch7} +\begin{paste}{ugIntProgPLCPageFull7}{ugIntProgPLCPageEmpty7} +\pastebutton{ugIntProgPLCPageFull7}{\hidepaste} +\tab{5}\spadcommand{arrow := makeArrow(origin,unit)\bound{v2 }\free{v1 d3 d4 }} +\indentrel{3}\begin{verbatim} + (9) + [ + [[0.0,0.0,0.0,0.0], [1.0,1.0,1.0,0.0], + + [0.69134628604607973, 0.842733077659504, + 0.80000000000000004, 0.0] + ] + , + + [[1.0,1.0,1.0,0.0], + + [0.842733077659504, 0.69134628604607973, + 0.80000000000000004, 0.0] + ] + ] + Type: List List Point DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgPLCPageEmpty7} +\begin{paste}{ugIntProgPLCPageEmpty7}{ugIntProgPLCPagePatch7} +\pastebutton{ugIntProgPLCPageEmpty7}{\showpaste} +\tab{5}\spadcommand{arrow := makeArrow(origin,unit)\bound{v2 }\free{v1 d3 d4 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgPLCPagePatch8} +\begin{paste}{ugIntProgPLCPageFull8}{ugIntProgPLCPageEmpty8} +\pastebutton{ugIntProgPLCPageFull8}{\hidepaste} +\tab{5}\spadcommand{sp := createThreeSpace()\bound{c1 }} +\indentrel{3}\begin{verbatim} + (10) 3-Space with 0 components + Type: ThreeSpace DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgPLCPageEmpty8} +\begin{paste}{ugIntProgPLCPageEmpty8}{ugIntProgPLCPagePatch8} +\pastebutton{ugIntProgPLCPageEmpty8}{\showpaste} +\tab{5}\spadcommand{sp := createThreeSpace()\bound{c1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgPLCPagePatch9} +\begin{paste}{ugIntProgPLCPageFull9}{ugIntProgPLCPageEmpty9} +\pastebutton{ugIntProgPLCPageFull9}{\hidepaste} +\tab{5}\spadcommand{for a in arrow repeat sp := curve(sp,a)\bound{v3 }\free{v2 }\free{c1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgPLCPageEmpty9} +\begin{paste}{ugIntProgPLCPageEmpty9}{ugIntProgPLCPagePatch9} +\pastebutton{ugIntProgPLCPageEmpty9}{\showpaste} +\tab{5}\spadcommand{for a in arrow repeat sp := curve(sp,a)\bound{v3 }\free{v2 }\free{c1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgPLCPagePatch10} +\begin{paste}{ugIntProgPLCPageFull10}{ugIntProgPLCPageEmpty10} +\pastebutton{ugIntProgPLCPageFull10}{\hidepaste} +\tab{5}\spadgraph{vp := makeViewport3D(sp,"Arrow")\bound{v4 }\free{v3 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugintprogplcpage10.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugintprogplcpage10}} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgPLCPageEmpty10} +\begin{paste}{ugIntProgPLCPageEmpty10}{ugIntProgPLCPagePatch10} +\pastebutton{ugIntProgPLCPageEmpty10}{\showpaste} +\tab{5}\spadgraph{vp := makeViewport3D(sp,"Arrow")\bound{v4 }\free{v3 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgPLCPagePatch11} +\begin{paste}{ugIntProgPLCPageFull11}{ugIntProgPLCPageEmpty11} +\pastebutton{ugIntProgPLCPageFull11}{\hidepaste} +\tab{5}\spadcommand{rotate(vp,200,-60)\bound{v5 }\free{v4 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgPLCPageEmpty11} +\begin{paste}{ugIntProgPLCPageEmpty11}{ugIntProgPLCPagePatch11} +\pastebutton{ugIntProgPLCPageEmpty11}{\showpaste} +\tab{5}\spadcommand{rotate(vp,200,-60)\bound{v5 }\free{v4 }} +\end{paste}\end{patch} + @ \pagehead{ugIntProgColorArrPage}{ug10.ht}{A Bouquet of Arrows} <>= @@ -42071,6 +107763,39 @@ A bouquet of a dozen arrows. \autobuttons \end{page} +\begin{patch}{ugIntProgColorArrPagePatch1} +\begin{paste}{ugIntProgColorArrPageFull1}{ugIntProgColorArrPageEmpty1} +\pastebutton{ugIntProgColorArrPageFull1}{\hidepaste} +\tab{5}\spadcommand{)read bouquet\bound{b1 }} +\indentrel{3}\begin{verbatim} + (1) 0.20000000000000001 + Type: DoubleFloat + (2) 2.8274333882308138 + Type: DoubleFloat + Type: Void + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgColorArrPageEmpty1} +\begin{paste}{ugIntProgColorArrPageEmpty1}{ugIntProgColorArrPagePatch1} +\pastebutton{ugIntProgColorArrPageEmpty1}{\showpaste} +\tab{5}\spadcommand{)read bouquet\bound{b1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgColorArrPagePatch2} +\begin{paste}{ugIntProgColorArrPageFull2}{ugIntProgColorArrPageEmpty2} +\pastebutton{ugIntProgColorArrPageFull2}{\hidepaste} +\tab{5}\spadgraph{drawBouquet(12,"A Dozen Arrows")\free{b1 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugintprogcolorarrpage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugintprogcolorarrpage2}} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgColorArrPageEmpty2} +\begin{paste}{ugIntProgColorArrPageEmpty2}{ugIntProgColorArrPagePatch2} +\pastebutton{ugIntProgColorArrPageEmpty2}{\showpaste} +\tab{5}\spadgraph{drawBouquet(12,"A Dozen Arrows")\free{b1 }} +\end{paste}\end{patch} + @ \pagehead{ugIntProgVecFieldsPage}{ug10.ht}{Drawing Complex Vector Fields} <>= @@ -42219,6 +107944,53 @@ Draw the complex vector field of \spad{sin(x)}. \autobuttons \end{page} +\begin{patch}{ugIntProgVecFieldsPagePatch1} +\begin{paste}{ugIntProgVecFieldsPageFull1}{ugIntProgVecFieldsPageEmpty1} +\pastebutton{ugIntProgVecFieldsPageFull1}{\hidepaste} +\tab{5}\spadcommand{)read vectors\bound{readVI }} +\indentrel{3}\begin{verbatim} + (1) 2.8274333882308138 + Type: DoubleFloat + (2) 0.20000000000000001 + Type: DoubleFloat + Type: Void + (4) 6.0 + Type: DoubleFloat + Type: Void + (6) 25 + Type: Integer + (7) 25 + Type: Integer + (8) Complex DoubleFloat + Type: Domain + (9) Segment DoubleFloat + Type: Domain + Type: Void + Type: Void + Type: Void + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgVecFieldsPageEmpty1} +\begin{paste}{ugIntProgVecFieldsPageEmpty1}{ugIntProgVecFieldsPagePatch1} +\pastebutton{ugIntProgVecFieldsPageEmpty1}{\showpaste} +\tab{5}\spadcommand{)read vectors\bound{readVI }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgVecFieldsPagePatch2} +\begin{paste}{ugIntProgVecFieldsPageFull2}{ugIntProgVecFieldsPageEmpty2} +\pastebutton{ugIntProgVecFieldsPageFull2}{\hidepaste} +\tab{5}\spadgraph{drawComplexVectorField(sin,-2..2,-2..2)\free{readVI }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugintprogvecfieldspage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugintprogvecfieldspage2}} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgVecFieldsPageEmpty2} +\begin{paste}{ugIntProgVecFieldsPageEmpty2}{ugIntProgVecFieldsPagePatch2} +\pastebutton{ugIntProgVecFieldsPageEmpty2}{\showpaste} +\tab{5}\spadgraph{drawComplexVectorField(sin,-2..2,-2..2)\free{readVI }} +\end{paste}\end{patch} + @ \pagehead{ugIntProgCompFunsPage}{ug10.ht}{Drawing Complex Functions} \pageto{notitle}{ugGraphPage} @@ -42323,6 +108095,68 @@ Draw it with an odd number of steps to avoid the pole. \autobuttons \end{page} +\begin{patch}{ugIntProgCompFunsPagePatch1} +\begin{paste}{ugIntProgCompFunsPageFull1}{ugIntProgCompFunsPageEmpty1} +\pastebutton{ugIntProgCompFunsPageFull1}{\hidepaste} +\tab{5}\spadcommand{)read vectors\bound{readVI }} +\indentrel{3}\begin{verbatim} + (1) 2.8274333882308138 + Type: DoubleFloat + (2) 0.20000000000000001 + Type: DoubleFloat + Type: Void + (4) 6.0 + Type: DoubleFloat + Type: Void + (6) 25 + Type: Integer + (7) 25 + Type: Integer + (8) Complex DoubleFloat + Type: Domain + (9) Segment DoubleFloat + Type: Domain + Type: Void + Type: Void + Type: Void + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgCompFunsPageEmpty1} +\begin{paste}{ugIntProgCompFunsPageEmpty1}{ugIntProgCompFunsPagePatch1} +\pastebutton{ugIntProgCompFunsPageEmpty1}{\showpaste} +\tab{5}\spadcommand{)read vectors\bound{readVI }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgCompFunsPagePatch2} +\begin{paste}{ugIntProgCompFunsPageFull2}{ugIntProgCompFunsPageEmpty2} +\pastebutton{ugIntProgCompFunsPageFull2}{\hidepaste} +\tab{5}\spadcommand{f(z) == exp(1/z)\bound{e1 }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgCompFunsPageEmpty2} +\begin{paste}{ugIntProgCompFunsPageEmpty2}{ugIntProgCompFunsPagePatch2} +\pastebutton{ugIntProgCompFunsPageEmpty2}{\showpaste} +\tab{5}\spadcommand{f(z) == exp(1/z)\bound{e1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgCompFunsPagePatch3} +\begin{paste}{ugIntProgCompFunsPageFull3}{ugIntProgCompFunsPageEmpty3} +\pastebutton{ugIntProgCompFunsPageFull3}{\hidepaste} +\tab{5}\spadgraph{drawComplex(f,-2..2,-2..2)\free{e1 readVI }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugintprogcompfunspage3.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugintprogcompfunspage3}} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgCompFunsPageEmpty3} +\begin{paste}{ugIntProgCompFunsPageEmpty3}{ugIntProgCompFunsPagePatch3} +\pastebutton{ugIntProgCompFunsPageEmpty3}{\showpaste} +\tab{5}\spadgraph{drawComplex(f,-2..2,-2..2)\free{e1 readVI }} +\end{paste}\end{patch} + @ \pagehead{ugIntProgFunctionsPage}{ug10.ht}{Functions Producing Functions} \pageto{notitle}{ugUserMakePage} @@ -42361,6 +108195,56 @@ For a more sophisticated application, read on. \autobuttons \end{page} +\begin{patch}{ugIntProgFunctionsPagePatch1} +\begin{paste}{ugIntProgFunctionsPageFull1}{ugIntProgFunctionsPageEmpty1} +\pastebutton{ugIntProgFunctionsPageFull1}{\hidepaste} +\tab{5}\spadcommand{(x+1/3)**5\bound{p1 }} +\indentrel{3}\begin{verbatim} + 5 5 4 10 3 10 2 5 1 + (1) x + Ä x + ÄÄ x + ÄÄ x + ÄÄ x + ÄÄÄ + 3 9 27 81 243 + Type: Polynomial Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgFunctionsPageEmpty1} +\begin{paste}{ugIntProgFunctionsPageEmpty1}{ugIntProgFunctionsPagePatch1} +\pastebutton{ugIntProgFunctionsPageEmpty1}{\showpaste} +\tab{5}\spadcommand{(x+1/3)**5\bound{p1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgFunctionsPagePatch2} +\begin{paste}{ugIntProgFunctionsPageFull2}{ugIntProgFunctionsPageEmpty2} +\pastebutton{ugIntProgFunctionsPageFull2}{\hidepaste} +\tab{5}\spadcommand{p := compiledFunction(\%,x)$MakeUnaryCompiledFunction(POLY FRAC INT,DFLOAT,DFLOAT)\bound{p2 }\free{p1 }} +\indentrel{3}\begin{verbatim} + (2) theMap(MKUCFUNC;unaryFunction;SM;2!0,350) + Type: (DoubleFloat -> DoubleFloat) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgFunctionsPageEmpty2} +\begin{paste}{ugIntProgFunctionsPageEmpty2}{ugIntProgFunctionsPagePatch2} +\pastebutton{ugIntProgFunctionsPageEmpty2}{\showpaste} +\tab{5}\spadcommand{p := compiledFunction(\%,x)$MakeUnaryCompiledFunction(POLY FRAC INT,DFLOAT,DFLOAT)\bound{p2 }\free{p1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgFunctionsPagePatch3} +\begin{paste}{ugIntProgFunctionsPageFull3}{ugIntProgFunctionsPageEmpty3} +\pastebutton{ugIntProgFunctionsPageFull3}{\hidepaste} +\tab{5}\spadcommand{p(sin(1.3))\bound{p3 }\free{p2 }} +\indentrel{3}\begin{verbatim} + (3) 3.668751115057229 + Type: DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgFunctionsPageEmpty3} +\begin{paste}{ugIntProgFunctionsPageEmpty3}{ugIntProgFunctionsPagePatch3} +\pastebutton{ugIntProgFunctionsPageEmpty3}{\showpaste} +\tab{5}\spadcommand{p(sin(1.3))\bound{p3 }\free{p2 }} +\end{paste}\end{patch} + @ \pagehead{ugIntProgNewtonPage}{ug10.ht} {Automatic Newton Iteration Formulas} @@ -42529,11 +108413,231 @@ The surface. } \ - \endscroll \autobuttons \end{page} +\begin{patch}{ugIntProgNewtonPagePatch1} +\begin{paste}{ugIntProgNewtonPageFull1}{ugIntProgNewtonPageEmpty1} +\pastebutton{ugIntProgNewtonPageFull1}{\hidepaste} +\tab{5}\spadcommand{)read newton\bound{n1 }} +\indentrel{3}\begin{verbatim} + Type: Void + (2) + MakeUnaryCompiledFunction(Expression Integer,Complex Do + ubleFloat,Complex DoubleFloat) + Type: Domain + Type: Void + Type: Void + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgNewtonPageEmpty1} +\begin{paste}{ugIntProgNewtonPageEmpty1}{ugIntProgNewtonPagePatch1} +\pastebutton{ugIntProgNewtonPageEmpty1}{\showpaste} +\tab{5}\spadcommand{)read newton\bound{n1 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgNewtonPagePatch2} +\begin{paste}{ugIntProgNewtonPageFull2}{ugIntProgNewtonPageEmpty2} +\pastebutton{ugIntProgNewtonPageFull2}{\hidepaste} +\tab{5}\spadcommand{)read vectors\bound{n1a }} +\indentrel{3}\begin{verbatim} + (6) 2.8274333882308138 + Type: DoubleFloat + (7) 0.20000000000000001 + Type: DoubleFloat + Type: Void + (9) 6.0 + Type: DoubleFloat + Type: Void + (11) 25 + Type: Integer + (12) 25 + Type: Integer + (13) Complex DoubleFloat + Type: Domain + (14) Segment DoubleFloat + Type: Domain + Type: Void + Type: Void + Type: Void + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgNewtonPageEmpty2} +\begin{paste}{ugIntProgNewtonPageEmpty2}{ugIntProgNewtonPagePatch2} +\pastebutton{ugIntProgNewtonPageEmpty2}{\showpaste} +\tab{5}\spadcommand{)read vectors\bound{n1a }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgNewtonPagePatch3} +\begin{paste}{ugIntProgNewtonPageFull3}{ugIntProgNewtonPageEmpty3} +\pastebutton{ugIntProgNewtonPageFull3}{\hidepaste} +\tab{5}\spadcommand{f := x**3 - 2\bound{n2 }\free{n1 n1a }} +\indentrel{3}\begin{verbatim} + 3 + (19) x - 2 + Type: Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgNewtonPageEmpty3} +\begin{paste}{ugIntProgNewtonPageEmpty3}{ugIntProgNewtonPagePatch3} +\pastebutton{ugIntProgNewtonPageEmpty3}{\showpaste} +\tab{5}\spadcommand{f := x**3 - 2\bound{n2 }\free{n1 n1a }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgNewtonPagePatch4} +\begin{paste}{ugIntProgNewtonPageFull4}{ugIntProgNewtonPageEmpty4} +\pastebutton{ugIntProgNewtonPageFull4}{\hidepaste} +\tab{5}\spadcommand{g := newtonStep f\bound{n3 }\free{n2 }} +\indentrel{3}\begin{verbatim} + (20) theMap(LAMBDA_f3lkwh_704,484) + Type: (Complex DoubleFloat -> Complex DoubleFloat) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgNewtonPageEmpty4} +\begin{paste}{ugIntProgNewtonPageEmpty4}{ugIntProgNewtonPagePatch4} +\pastebutton{ugIntProgNewtonPageEmpty4}{\showpaste} +\tab{5}\spadcommand{g := newtonStep f\bound{n3 }\free{n2 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgNewtonPagePatch5} +\begin{paste}{ugIntProgNewtonPageFull5}{ugIntProgNewtonPageEmpty5} +\pastebutton{ugIntProgNewtonPageFull5}{\hidepaste} +\tab{5}\spadcommand{a := g(1.0 + \%i)\bound{n4 }\free{n3 }} +\indentrel{3}\begin{verbatim} + (21) 0.66666666666666674 + 0.33333333333333337%i + Type: Complex DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgNewtonPageEmpty5} +\begin{paste}{ugIntProgNewtonPageEmpty5}{ugIntProgNewtonPagePatch5} +\pastebutton{ugIntProgNewtonPageEmpty5}{\showpaste} +\tab{5}\spadcommand{a := g(1.0 + \%i)\bound{n4 }\free{n3 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgNewtonPagePatch6} +\begin{paste}{ugIntProgNewtonPageFull6}{ugIntProgNewtonPageEmpty6} +\pastebutton{ugIntProgNewtonPageFull6}{\hidepaste} +\tab{5}\spadcommand{[(a := g(a)) for i in 1..]\bound{n5 }\free{n4 }} +\indentrel{3}\begin{verbatim} + (22) + [1.1644444444444444 - 0.73777777777777775%i, + 0.92614004697164776 - 0.17463006425584393%i, + 1.3164444838140228 + 0.15690694583015852%i, + 1.2462991025761463 + 0.015454763610132094%i, + 1.2598725296532081 - 0.00033827162059311272%i, + 1.259920960928212 + 2.6023534653422681e-08%i, + 1.259921049894879 - 3.6751942591616685e-15%i, + 1.2599210498948732 - 3.3132158019282496e-29%i, + 1.2599210498948732 - 5.6051938572992683e-45%i, + 1.2599210498948732, ...] + Type: Stream Complex DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgNewtonPageEmpty6} +\begin{paste}{ugIntProgNewtonPageEmpty6}{ugIntProgNewtonPagePatch6} +\pastebutton{ugIntProgNewtonPageEmpty6}{\showpaste} +\tab{5}\spadcommand{[(a := g(a)) for i in 1..]\bound{n5 }\free{n4 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgNewtonPagePatch7} +\begin{paste}{ugIntProgNewtonPageFull7}{ugIntProgNewtonPageEmpty7} +\pastebutton{ugIntProgNewtonPageFull7}{\hidepaste} +\tab{5}\spadcommand{a**3\bound{n6 }\free{n5 }} +\indentrel{3}\begin{verbatim} + (23) 2.0 + Type: Complex DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgNewtonPageEmpty7} +\begin{paste}{ugIntProgNewtonPageEmpty7}{ugIntProgNewtonPagePatch7} +\pastebutton{ugIntProgNewtonPageEmpty7}{\showpaste} +\tab{5}\spadcommand{a**3\bound{n6 }\free{n5 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgNewtonPagePatch8} +\begin{paste}{ugIntProgNewtonPageFull8}{ugIntProgNewtonPageEmpty8} +\pastebutton{ugIntProgNewtonPageFull8}{\hidepaste} +\tab{5}\spadcommand{(g*g) (1.0 + \%i)\bound{n10 }\free{n3 }} +\indentrel{3}\begin{verbatim} + (24) 1.1644444444444444 - 0.73777777777777775%i + Type: Complex DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgNewtonPageEmpty8} +\begin{paste}{ugIntProgNewtonPageEmpty8}{ugIntProgNewtonPagePatch8} +\pastebutton{ugIntProgNewtonPageEmpty8}{\showpaste} +\tab{5}\spadcommand{(g*g) (1.0 + \%i)\bound{n10 }\free{n3 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgNewtonPagePatch9} +\begin{paste}{ugIntProgNewtonPageFull9}{ugIntProgNewtonPageEmpty9} +\pastebutton{ugIntProgNewtonPageFull9}{\hidepaste} +\tab{5}\spadcommand{(g**11) (1.0 + \%i)\bound{n11 }\free{n10 }} +\indentrel{3}\begin{verbatim} + (25) 1.2599210498948732 + Type: Complex DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgNewtonPageEmpty9} +\begin{paste}{ugIntProgNewtonPageEmpty9}{ugIntProgNewtonPagePatch9} +\pastebutton{ugIntProgNewtonPageEmpty9}{\showpaste} +\tab{5}\spadcommand{(g**11) (1.0 + \%i)\bound{n11 }\free{n10 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgNewtonPagePatch10} +\begin{paste}{ugIntProgNewtonPageFull10}{ugIntProgNewtonPageEmpty10} +\pastebutton{ugIntProgNewtonPageFull10}{\hidepaste} +\tab{5}\spadgraph{drawComplexVectorField(g**3,-3..3,-3..3)\free{n3 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugintprognewtonpage10.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugintprognewtonpage10}} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgNewtonPageEmpty10} +\begin{paste}{ugIntProgNewtonPageEmpty10}{ugIntProgNewtonPagePatch10} +\pastebutton{ugIntProgNewtonPageEmpty10}{\showpaste} +\tab{5}\spadgraph{drawComplexVectorField(g**3,-3..3,-3..3)\free{n3 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgNewtonPagePatch11} +\begin{paste}{ugIntProgNewtonPageFull11}{ugIntProgNewtonPageEmpty11} +\pastebutton{ugIntProgNewtonPageFull11}{\hidepaste} +\tab{5}\spadgraph{drawComplex(g**3,-3..3,-3..3)\free{n3 }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugintprognewtonpage11.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugintprognewtonpage11}} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgNewtonPageEmpty11} +\begin{paste}{ugIntProgNewtonPageEmpty11}{ugIntProgNewtonPagePatch11} +\pastebutton{ugIntProgNewtonPageEmpty11}{\showpaste} +\tab{5}\spadgraph{drawComplex(g**3,-3..3,-3..3)\free{n3 }} +\end{paste}\end{patch} + +\begin{patch}{ugIntProgNewtonPagePatch12} +\begin{paste}{ugIntProgNewtonPageFull12}{ugIntProgNewtonPageEmpty12} +\pastebutton{ugIntProgNewtonPageFull12}{\hidepaste} +\tab{5}\spadcommand{all} +\indentrel{3}\begin{verbatim} + (28) all + Type: Variable all +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugIntProgNewtonPageEmpty12} +\begin{paste}{ugIntProgNewtonPageEmpty12}{ugIntProgNewtonPagePatch12} +\pastebutton{ugIntProgNewtonPageEmpty12}{\showpaste} +\tab{5}\spadcommand{all} +\end{paste}\end{patch} + @ \chapter{Users Guide Chapter 11 (ug11.ht)} \pagehead{ugPackagesPage}{ug11.ht}{Packages} @@ -42976,6 +109080,110 @@ Draw the \spadfun{Gamma} function. \autobuttons \end{page} +\begin{patch}{ugPackagesPackagesPagePatch1} +\begin{paste}{ugPackagesPackagesPageFull1}{ugPackagesPackagesPageEmpty1} +\pastebutton{ugPackagesPackagesPageFull1}{\hidepaste} +\tab{5}\spadcommand{)compile drawpak} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugPackagesPackagesPageEmpty1} +\begin{paste}{ugPackagesPackagesPageEmpty1}{ugPackagesPackagesPagePatch1} +\pastebutton{ugPackagesPackagesPageEmpty1}{\showpaste} +\tab{5}\spadcommand{)compile drawpak} +\end{paste}\end{patch} + +\begin{patch}{ugPackagesPackagesPagePatch2} +\begin{paste}{ugPackagesPackagesPageFull2}{ugPackagesPackagesPageEmpty2} +\pastebutton{ugPackagesPackagesPageFull2}{\hidepaste} +\tab{5}\spadcommand{)expose DRAWCX\bound{dp }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugPackagesPackagesPageEmpty2} +\begin{paste}{ugPackagesPackagesPageEmpty2}{ugPackagesPackagesPagePatch2} +\pastebutton{ugPackagesPackagesPageEmpty2}{\showpaste} +\tab{5}\spadcommand{)expose DRAWCX\bound{dp }} +\end{paste}\end{patch} + +\begin{patch}{ugPackagesPackagesPagePatch3} +\begin{paste}{ugPackagesPackagesPageFull3}{ugPackagesPackagesPageEmpty3} +\pastebutton{ugPackagesPackagesPageFull3}{\hidepaste} +\tab{5}\spadcommand{setRealSteps 51\free{dp }\bound{srs }} +\indentrel{3}\begin{verbatim} + (1) 51 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugPackagesPackagesPageEmpty3} +\begin{paste}{ugPackagesPackagesPageEmpty3}{ugPackagesPackagesPagePatch3} +\pastebutton{ugPackagesPackagesPageEmpty3}{\showpaste} +\tab{5}\spadcommand{setRealSteps 51\free{dp }\bound{srs }} +\end{paste}\end{patch} + +\begin{patch}{ugPackagesPackagesPagePatch4} +\begin{paste}{ugPackagesPackagesPageFull4}{ugPackagesPackagesPageEmpty4} +\pastebutton{ugPackagesPackagesPageFull4}{\hidepaste} +\tab{5}\spadcommand{setImagSteps 51\free{dp }\bound{scs }} +\indentrel{3}\begin{verbatim} + (2) 51 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugPackagesPackagesPageEmpty4} +\begin{paste}{ugPackagesPackagesPageEmpty4}{ugPackagesPackagesPagePatch4} +\pastebutton{ugPackagesPackagesPageEmpty4}{\showpaste} +\tab{5}\spadcommand{setImagSteps 51\free{dp }\bound{scs }} +\end{paste}\end{patch} + +\begin{patch}{ugPackagesPackagesPagePatch5} +\begin{paste}{ugPackagesPackagesPageFull5}{ugPackagesPackagesPageEmpty5} +\pastebutton{ugPackagesPackagesPageFull5}{\hidepaste} +\tab{5}\spadcommand{f(z) == Gamma(z)\bound{f }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugPackagesPackagesPageEmpty5} +\begin{paste}{ugPackagesPackagesPageEmpty5}{ugPackagesPackagesPagePatch5} +\pastebutton{ugPackagesPackagesPageEmpty5}{\showpaste} +\tab{5}\spadcommand{f(z) == Gamma(z)\bound{f }} +\end{paste}\end{patch} + +\begin{patch}{ugPackagesPackagesPagePatch6} +\begin{paste}{ugPackagesPackagesPageFull6}{ugPackagesPackagesPageEmpty6} +\pastebutton{ugPackagesPackagesPageFull6}{\hidepaste} +\tab{5}\spadcommand{setClipValue 7} +\indentrel{3}\begin{verbatim} + (4) 7.0 + Type: DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugPackagesPackagesPageEmpty6} +\begin{paste}{ugPackagesPackagesPageEmpty6}{ugPackagesPackagesPagePatch6} +\pastebutton{ugPackagesPackagesPageEmpty6}{\showpaste} +\tab{5}\spadcommand{setClipValue 7} +\end{paste}\end{patch} + +\begin{patch}{ugPackagesPackagesPagePatch7} +\begin{paste}{ugPackagesPackagesPageFull7}{ugPackagesPackagesPageEmpty7} +\pastebutton{ugPackagesPackagesPageFull7}{\hidepaste} +\tab{5}\spadgraph{drawComplex(f,-\%pi..\%pi,-\%pi..\%pi, false)\free{srs scs f }} +\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugpackagespackagespage7.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugpackagespackagespage7}} +\end{paste}\end{patch} + +\begin{patch}{ugPackagesPackagesPageEmpty7} +\begin{paste}{ugPackagesPackagesPageEmpty7}{ugPackagesPackagesPagePatch7} +\pastebutton{ugPackagesPackagesPageEmpty7}{\showpaste} +\tab{5}\spadgraph{drawComplex(f,-\%pi..\%pi,-\%pi..\%pi, false)\free{srs scs f }} +\end{paste}\end{patch} + @ \pagehead{ugPackagesParametersPage}{ug11.ht}{Parameters} \pageto{notitle}{ugTypesPage} @@ -43329,6 +109537,244 @@ Now sort it. \autobuttons \end{page} +\begin{patch}{ugPackagesCompilingPagePatch1} +\begin{paste}{ugPackagesCompilingPageFull1}{ugPackagesCompilingPageEmpty1} +\pastebutton{ugPackagesCompilingPageFull1}{\hidepaste} +\tab{5}\spadcommand{)expose SORTPAK} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPageEmpty1} +\begin{paste}{ugPackagesCompilingPageEmpty1}{ugPackagesCompilingPagePatch1} +\pastebutton{ugPackagesCompilingPageEmpty1}{\showpaste} +\tab{5}\spadcommand{)expose SORTPAK} +\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPagePatch2} +\begin{paste}{ugPackagesCompilingPageFull2}{ugPackagesCompilingPageEmpty2} +\pastebutton{ugPackagesCompilingPageFull2}{\hidepaste} +\tab{5}\spadcommand{l := [1,7,4,2,11,-7,3,2]} +\indentrel{3}\begin{verbatim} + (1) [1,7,4,2,11,- 7,3,2] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPageEmpty2} +\begin{paste}{ugPackagesCompilingPageEmpty2}{ugPackagesCompilingPagePatch2} +\pastebutton{ugPackagesCompilingPageEmpty2}{\showpaste} +\tab{5}\spadcommand{l := [1,7,4,2,11,-7,3,2]} +\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPagePatch3} +\begin{paste}{ugPackagesCompilingPageFull3}{ugPackagesCompilingPageEmpty3} +\pastebutton{ugPackagesCompilingPageFull3}{\hidepaste} +\tab{5}\spadcommand{bubbleSort!(l)} +\indentrel{3}\begin{verbatim} + (2) [- 7,1,2,2,3,4,7,11] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPageEmpty3} +\begin{paste}{ugPackagesCompilingPageEmpty3}{ugPackagesCompilingPagePatch3} +\pastebutton{ugPackagesCompilingPageEmpty3}{\showpaste} +\tab{5}\spadcommand{bubbleSort!(l)} +\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPagePatch4} +\begin{paste}{ugPackagesCompilingPageFull4}{ugPackagesCompilingPageEmpty4} +\pastebutton{ugPackagesCompilingPageFull4}{\hidepaste} +\tab{5}\spadcommand{bubbleSort!(l,(x,y) +-> x > y)} +\indentrel{3}\begin{verbatim} + (3) [11,7,4,3,2,2,1,- 7] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPageEmpty4} +\begin{paste}{ugPackagesCompilingPageEmpty4}{ugPackagesCompilingPagePatch4} +\pastebutton{ugPackagesCompilingPageEmpty4}{\showpaste} +\tab{5}\spadcommand{bubbleSort!(l,(x,y) +-> x > y)} +\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPagePatch5} +\begin{paste}{ugPackagesCompilingPageFull5}{ugPackagesCompilingPageEmpty5} +\pastebutton{ugPackagesCompilingPageFull5}{\hidepaste} +\tab{5}\spadcommand{bubbleSort!(l, <$Integer)} +\indentrel{3}\begin{verbatim} + (4) [- 7,1,2,2,3,4,7,11] + Type: List Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPageEmpty5} +\begin{paste}{ugPackagesCompilingPageEmpty5}{ugPackagesCompilingPagePatch5} +\pastebutton{ugPackagesCompilingPageEmpty5}{\showpaste} +\tab{5}\spadcommand{bubbleSort!(l, <$Integer)} +\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPagePatch6} +\begin{paste}{ugPackagesCompilingPageFull6}{ugPackagesCompilingPageEmpty6} +\pastebutton{ugPackagesCompilingPageFull6}{\hidepaste} +\tab{5}\spadcommand{bubbleSort! "Mathematical Sciences"} +\indentrel{3}\begin{verbatim} + (5) " MSaaaccceeehiilmnstt" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPageEmpty6} +\begin{paste}{ugPackagesCompilingPageEmpty6}{ugPackagesCompilingPagePatch6} +\pastebutton{ugPackagesCompilingPageEmpty6}{\showpaste} +\tab{5}\spadcommand{bubbleSort! "Mathematical Sciences"} +\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPagePatch7} +\begin{paste}{ugPackagesCompilingPageFull7}{ugPackagesCompilingPageEmpty7} +\pastebutton{ugPackagesCompilingPageFull7}{\hidepaste} +\tab{5}\spadcommand{false < true} +\indentrel{3}\begin{verbatim} + (6) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPageEmpty7} +\begin{paste}{ugPackagesCompilingPageEmpty7}{ugPackagesCompilingPagePatch7} +\pastebutton{ugPackagesCompilingPageEmpty7}{\showpaste} +\tab{5}\spadcommand{false < true} +\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPagePatch8} +\begin{paste}{ugPackagesCompilingPageFull8}{ugPackagesCompilingPageEmpty8} +\pastebutton{ugPackagesCompilingPageFull8}{\hidepaste} +\tab{5}\spadcommand{u : Bits := new(10,true)} +\indentrel{3}\begin{verbatim} + (7) "1111111111" + Type: Bits +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPageEmpty8} +\begin{paste}{ugPackagesCompilingPageEmpty8}{ugPackagesCompilingPagePatch8} +\pastebutton{ugPackagesCompilingPageEmpty8}{\showpaste} +\tab{5}\spadcommand{u : Bits := new(10,true)} +\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPagePatch9} +\begin{paste}{ugPackagesCompilingPageFull9}{ugPackagesCompilingPageEmpty9} +\pastebutton{ugPackagesCompilingPageFull9}{\hidepaste} +\tab{5}\spadcommand{u(3..5) := false; u} +\indentrel{3}\begin{verbatim} + (8) "1100011111" + Type: Bits +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPageEmpty9} +\begin{paste}{ugPackagesCompilingPageEmpty9}{ugPackagesCompilingPagePatch9} +\pastebutton{ugPackagesCompilingPageEmpty9}{\showpaste} +\tab{5}\spadcommand{u(3..5) := false; u} +\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPagePatch10} +\begin{paste}{ugPackagesCompilingPageFull10}{ugPackagesCompilingPageEmpty10} +\pastebutton{ugPackagesCompilingPageFull10}{\hidepaste} +\tab{5}\spadcommand{bubbleSort! u} +\indentrel{3}\begin{verbatim} + (9) "0001111111" + Type: Bits +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPageEmpty10} +\begin{paste}{ugPackagesCompilingPageEmpty10}{ugPackagesCompilingPagePatch10} +\pastebutton{ugPackagesCompilingPageEmpty10}{\showpaste} +\tab{5}\spadcommand{bubbleSort! u} +\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPagePatch11} +\begin{paste}{ugPackagesCompilingPageFull11}{ugPackagesCompilingPageEmpty11} +\pastebutton{ugPackagesCompilingPageFull11}{\hidepaste} +\tab{5}\spadcommand{t : EqTable(Integer,String) := table()} +\indentrel{3}\begin{verbatim} + (10) table() + Type: EqTable(Integer,String) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPageEmpty11} +\begin{paste}{ugPackagesCompilingPageEmpty11}{ugPackagesCompilingPagePatch11} +\pastebutton{ugPackagesCompilingPageEmpty11}{\showpaste} +\tab{5}\spadcommand{t : EqTable(Integer,String) := table()} +\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPagePatch12} +\begin{paste}{ugPackagesCompilingPageFull12}{ugPackagesCompilingPageEmpty12} +\pastebutton{ugPackagesCompilingPageFull12}{\hidepaste} +\tab{5}\spadcommand{t.1 := "robert"} +\indentrel{3}\begin{verbatim} + (11) "robert" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPageEmpty12} +\begin{paste}{ugPackagesCompilingPageEmpty12}{ugPackagesCompilingPagePatch12} +\pastebutton{ugPackagesCompilingPageEmpty12}{\showpaste} +\tab{5}\spadcommand{t.1 := "robert"} +\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPagePatch13} +\begin{paste}{ugPackagesCompilingPageFull13}{ugPackagesCompilingPageEmpty13} +\pastebutton{ugPackagesCompilingPageFull13}{\hidepaste} +\tab{5}\spadcommand{t.2 := "richard"} +\indentrel{3}\begin{verbatim} + (12) "richard" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPageEmpty13} +\begin{paste}{ugPackagesCompilingPageEmpty13}{ugPackagesCompilingPagePatch13} +\pastebutton{ugPackagesCompilingPageEmpty13}{\showpaste} +\tab{5}\spadcommand{t.2 := "richard"} +\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPagePatch14} +\begin{paste}{ugPackagesCompilingPageFull14}{ugPackagesCompilingPageEmpty14} +\pastebutton{ugPackagesCompilingPageFull14}{\hidepaste} +\tab{5}\spadcommand{t} +\indentrel{3}\begin{verbatim} + (13) table(2= "richard",1= "robert") + Type: EqTable(Integer,String) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPageEmpty14} +\begin{paste}{ugPackagesCompilingPageEmpty14}{ugPackagesCompilingPagePatch14} +\pastebutton{ugPackagesCompilingPageEmpty14}{\showpaste} +\tab{5}\spadcommand{t} +\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPagePatch15} +\begin{paste}{ugPackagesCompilingPageFull15}{ugPackagesCompilingPageEmpty15} +\pastebutton{ugPackagesCompilingPageFull15}{\hidepaste} +\tab{5}\spadcommand{bubbleSort! t} +\indentrel{3}\begin{verbatim} + (14) table(2= "robert",1= "richard") + Type: EqTable(Integer,String) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugPackagesCompilingPageEmpty15} +\begin{paste}{ugPackagesCompilingPageEmpty15}{ugPackagesCompilingPagePatch15} +\pastebutton{ugPackagesCompilingPageEmpty15}{\showpaste} +\tab{5}\spadcommand{bubbleSort! t} +\end{paste}\end{patch} + @ \pagehead{ugPackagesHowPage}{ug11.ht}{How Packages Work} \pageto{notitle}{ugCategoriesHierPage} @@ -43403,6 +109849,20 @@ the function to the argument \axiom{[1,-5,3]}. The environment and produces the result. \endscroll \autobuttons \end{page} +\begin{patch}{ugPackagesHowPagePatch1} +\begin{paste}{ugPackagesHowPageFull1}{ugPackagesHowPageEmpty1} +\pastebutton{ugPackagesHowPageFull1}{\hidepaste} +\tab{5}\spadcommand{)display op bubbleSort!} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugPackagesHowPageEmpty1} +\begin{paste}{ugPackagesHowPageEmpty1}{ugPackagesHowPagePatch1} +\pastebutton{ugPackagesHowPageEmpty1}{\showpaste} +\tab{5}\spadcommand{)display op bubbleSort!} +\end{paste}\end{patch} + @ \chapter{Users Guide Chapter 12 (ug12.ht)} \pagehead{ugCategoriesPage}{ug12.ht}{Categories} @@ -44094,6 +110554,38 @@ to rings but do not have this attribute). \autobuttons \end{page} +\begin{patch}{ugCategoriesAttributesPagePatch1} +\begin{paste}{ugCategoriesAttributesPageFull1}{ugCategoriesAttributesPageEmpty1} +\pastebutton{ugCategoriesAttributesPageFull1}{\hidepaste} +\tab{5}\spadcommand{Polynomial Integer has commutative("*")} +\indentrel{3}\begin{verbatim} + (1) true + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugCategoriesAttributesPageEmpty1} +\begin{paste}{ugCategoriesAttributesPageEmpty1}{ugCategoriesAttributesPagePatch1} +\pastebutton{ugCategoriesAttributesPageEmpty1}{\showpaste} +\tab{5}\spadcommand{Polynomial Integer has commutative("*")} +\end{paste}\end{patch} + +\begin{patch}{ugCategoriesAttributesPagePatch2} +\begin{paste}{ugCategoriesAttributesPageFull2}{ugCategoriesAttributesPageEmpty2} +\pastebutton{ugCategoriesAttributesPageFull2}{\hidepaste} +\tab{5}\spadcommand{Matrix Integer has commutative("*")} +\indentrel{3}\begin{verbatim} + (2) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugCategoriesAttributesPageEmpty2} +\begin{paste}{ugCategoriesAttributesPageEmpty2}{ugCategoriesAttributesPagePatch2} +\pastebutton{ugCategoriesAttributesPageEmpty2}{\showpaste} +\tab{5}\spadcommand{Matrix Integer has commutative("*")} +\end{paste}\end{patch} + @ \pagehead{ugCategoriesParametersPage}{ug12.ht}{Parameters} \pagefrom{Categories}{ugCategoriesPage} @@ -44599,6 +111091,134 @@ What is 3 times \axiom{q} minus \axiom{q} plus \axiom{q}? \autobuttons \end{page} +\begin{patch}{ugDomainsDemoPagePatch1} +\begin{paste}{ugDomainsDemoPageFull1}{ugDomainsDemoPageEmpty1} +\pastebutton{ugDomainsDemoPageFull1}{\hidepaste} +\tab{5}\spadcommand{QF := QuadraticForm(2,Fraction Integer)\bound{x2 }\free{x1 }} +\indentrel{3}\begin{verbatim} + (1) QuadraticForm(2,Fraction Integer) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsDemoPageEmpty1} +\begin{paste}{ugDomainsDemoPageEmpty1}{ugDomainsDemoPagePatch1} +\pastebutton{ugDomainsDemoPageEmpty1}{\showpaste} +\tab{5}\spadcommand{QF := QuadraticForm(2,Fraction Integer)\bound{x2 }\free{x1 }} +\end{paste}\end{patch} + +\begin{patch}{ugDomainsDemoPagePatch2} +\begin{paste}{ugDomainsDemoPageFull2}{ugDomainsDemoPageEmpty2} +\pastebutton{ugDomainsDemoPageFull2}{\hidepaste} +\tab{5}\spadcommand{A := matrix [[-1,1/2],[1/2,1]]\bound{x3 }\free{x2 }} +\indentrel{3}\begin{verbatim} + Ú 1¿ + ³- 1 ij + ³ 2³ + (2) ³ ³ + ³ 1 ³ + ³ Ä 1³ + À 2 Ù + Type: Matrix Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsDemoPageEmpty2} +\begin{paste}{ugDomainsDemoPageEmpty2}{ugDomainsDemoPagePatch2} +\pastebutton{ugDomainsDemoPageEmpty2}{\showpaste} +\tab{5}\spadcommand{A := matrix [[-1,1/2],[1/2,1]]\bound{x3 }\free{x2 }} +\end{paste}\end{patch} + +\begin{patch}{ugDomainsDemoPagePatch3} +\begin{paste}{ugDomainsDemoPageFull3}{ugDomainsDemoPageEmpty3} +\pastebutton{ugDomainsDemoPageFull3}{\hidepaste} +\tab{5}\spadcommand{q : QF := quadraticForm(A)\bound{x4 }\free{x3 }} +\indentrel{3}\begin{verbatim} + Ú 1¿ + ³- 1 ij + ³ 2³ + (3) ³ ³ + ³ 1 ³ + ³ Ä 1³ + À 2 Ù + Type: QuadraticForm(2,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsDemoPageEmpty3} +\begin{paste}{ugDomainsDemoPageEmpty3}{ugDomainsDemoPagePatch3} +\pastebutton{ugDomainsDemoPageEmpty3}{\showpaste} +\tab{5}\spadcommand{q : QF := quadraticForm(A)\bound{x4 }\free{x3 }} +\end{paste}\end{patch} + +\begin{patch}{ugDomainsDemoPagePatch4} +\begin{paste}{ugDomainsDemoPageFull4}{ugDomainsDemoPageEmpty4} +\pastebutton{ugDomainsDemoPageFull4}{\hidepaste} +\tab{5}\spadcommand{nrows q\free{x3 }} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsDemoPageEmpty4} +\begin{paste}{ugDomainsDemoPageEmpty4}{ugDomainsDemoPagePatch4} +\pastebutton{ugDomainsDemoPageEmpty4}{\showpaste} +\tab{5}\spadcommand{nrows q\free{x3 }} +\end{paste}\end{patch} + +\begin{patch}{ugDomainsDemoPagePatch5} +\begin{paste}{ugDomainsDemoPageFull5}{ugDomainsDemoPageEmpty5} +\pastebutton{ugDomainsDemoPageFull5}{\hidepaste} +\tab{5}\spadcommand{v := directProduct([2,-1])$DirectProduct(2,Fraction Integer)\bound{x5 }\free{x4 }} +\indentrel{3}\begin{verbatim} + (4) [2,- 1] + Type: DirectProduct(2,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsDemoPageEmpty5} +\begin{paste}{ugDomainsDemoPageEmpty5}{ugDomainsDemoPagePatch5} +\pastebutton{ugDomainsDemoPageEmpty5}{\showpaste} +\tab{5}\spadcommand{v := directProduct([2,-1])$DirectProduct(2,Fraction Integer)\bound{x5 }\free{x4 }} +\end{paste}\end{patch} + +\begin{patch}{ugDomainsDemoPagePatch6} +\begin{paste}{ugDomainsDemoPageFull6}{ugDomainsDemoPageEmpty6} +\pastebutton{ugDomainsDemoPageFull6}{\hidepaste} +\tab{5}\spadcommand{q.v\free{x5 }} +\indentrel{3}\begin{verbatim} + (5) - 5 + Type: Fraction Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsDemoPageEmpty6} +\begin{paste}{ugDomainsDemoPageEmpty6}{ugDomainsDemoPagePatch6} +\pastebutton{ugDomainsDemoPageEmpty6}{\showpaste} +\tab{5}\spadcommand{q.v\free{x5 }} +\end{paste}\end{patch} + +\begin{patch}{ugDomainsDemoPagePatch7} +\begin{paste}{ugDomainsDemoPageFull7}{ugDomainsDemoPageEmpty7} +\pastebutton{ugDomainsDemoPageFull7}{\hidepaste} +\tab{5}\spadcommand{3*q-q+q\free{x4 }} +\indentrel{3}\begin{verbatim} + Ú 3¿ + ³- 3 ij + ³ 2³ + (6) ³ ³ + ³ 3 ³ + ³ Ä 3³ + À 2 Ù + Type: QuadraticForm(2,Fraction Integer) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsDemoPageEmpty7} +\begin{paste}{ugDomainsDemoPageEmpty7}{ugDomainsDemoPagePatch7} +\pastebutton{ugDomainsDemoPageEmpty7}{\showpaste} +\tab{5}\spadcommand{3*q-q+q\free{x4 }} +\end{paste}\end{patch} + @ \pagehead{ugDomainsBrowsePage}{ug13.ht}{Browse} <>= @@ -45235,6 +111855,57 @@ we now build the necessary domains and packages to implement it. \autobuttons \end{page} +\begin{patch}{ugDomainsQueryLanguagePagePatch1} +\begin{paste}{ugDomainsQueryLanguagePageFull1}{ugDomainsQueryLanguagePageEmpty1} +\pastebutton{ugDomainsQueryLanguagePageFull1}{\hidepaste} +\tab{5}\spadcommand{ops := getDatabase("o")\bound{o1 }} +\indentrel{3}\begin{verbatim} + (1) 6315 + Type: Database IndexCard +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsQueryLanguagePageEmpty1} +\begin{paste}{ugDomainsQueryLanguagePageEmpty1}{ugDomainsQueryLanguagePagePatch1} +\pastebutton{ugDomainsQueryLanguagePageEmpty1}{\showpaste} +\tab{5}\spadcommand{ops := getDatabase("o")\bound{o1 }} +\end{paste}\end{patch} + +\begin{patch}{ugDomainsQueryLanguagePagePatch2} +\begin{paste}{ugDomainsQueryLanguagePageFull2}{ugDomainsQueryLanguagePageEmpty2} +\pastebutton{ugDomainsQueryLanguagePageFull2}{\hidepaste} +\tab{5}\spadcommand{ops.(name="map").(nargs="3").(type="*Stream*")\bound{o2 }\free{o1 }} +\indentrel{3}\begin{verbatim} + (2) 3 + Type: Database IndexCard +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsQueryLanguagePageEmpty2} +\begin{paste}{ugDomainsQueryLanguagePageEmpty2}{ugDomainsQueryLanguagePagePatch2} +\pastebutton{ugDomainsQueryLanguagePageEmpty2}{\showpaste} +\tab{5}\spadcommand{ops.(name="map").(nargs="3").(type="*Stream*")\bound{o2 }\free{o1 }} +\end{paste}\end{patch} + +\begin{patch}{ugDomainsQueryLanguagePagePatch3} +\begin{paste}{ugDomainsQueryLanguagePageFull3}{ugDomainsQueryLanguagePageEmpty3} +\pastebutton{ugDomainsQueryLanguagePageFull3}{\hidepaste} +\tab{5}\spadcommand{elt(elt(elt(elt(ops,name="determinant"),origin),sort),unique)\free{o1 }} +\indentrel{3}\begin{verbatim} + (3) + ["InnerMatrixLinearAlgebraFunctions", + "MatrixCategory", "MatrixLinearAlgebraFunctions", + "SquareMatrixCategory"] + Type: DataList String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsQueryLanguagePageEmpty3} +\begin{paste}{ugDomainsQueryLanguagePageEmpty3}{ugDomainsQueryLanguagePagePatch3} +\pastebutton{ugDomainsQueryLanguagePageEmpty3}{\showpaste} +\tab{5}\spadcommand{elt(elt(elt(elt(ops,name="determinant"),origin),sort),unique)\free{o1 }} +\end{paste}\end{patch} + @ \pagehead{ugDomainsDatabaseConstructorPage}{ug13.ht} {The Database Constructor} @@ -45701,12 +112372,504 @@ How many distinct names of operations involving matrices are there? \spadpaste{elt(elt(elt(m,name),unique),count) \free{x14}} } - - \endscroll \autobuttons \end{page} +\begin{patch}{ugDomainsExamplesPagePatch1} +\begin{paste}{ugDomainsExamplesPageFull1}{ugDomainsExamplesPageEmpty1} +\pastebutton{ugDomainsExamplesPageFull1}{\hidepaste} +\tab{5}\spadcommand{ks := getDatabase "k"\bound{q1 }} +\indentrel{3}\begin{verbatim} + (1) 1067 + Type: Database IndexCard +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPageEmpty1} +\begin{paste}{ugDomainsExamplesPageEmpty1}{ugDomainsExamplesPagePatch1} +\pastebutton{ugDomainsExamplesPageEmpty1}{\showpaste} +\tab{5}\spadcommand{ks := getDatabase "k"\bound{q1 }} +\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPagePatch2} +\begin{paste}{ugDomainsExamplesPageFull2}{ugDomainsExamplesPageEmpty2} +\pastebutton{ugDomainsExamplesPageFull2}{\hidepaste} +\tab{5}\spadcommand{[ks.(kind=k) for k in ["c","d","p"]]\bound{q3 }\free{q1 }} +\indentrel{3}\begin{verbatim} + (2) [205,393,469] + Type: List Database IndexCard +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPageEmpty2} +\begin{paste}{ugDomainsExamplesPageEmpty2}{ugDomainsExamplesPagePatch2} +\pastebutton{ugDomainsExamplesPageEmpty2}{\showpaste} +\tab{5}\spadcommand{[ks.(kind=k) for k in ["c","d","p"]]\bound{q3 }\free{q1 }} +\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPagePatch3} +\begin{paste}{ugDomainsExamplesPageFull3}{ugDomainsExamplesPageEmpty3} +\pastebutton{ugDomainsExamplesPageFull3}{\hidepaste} +\tab{5}\spadcommand{elt(ks.(kind="d").(nargs="0"),name)\bound{q4 }\free{q1 }} +\indentrel{3}\begin{verbatim} + (3) + ["AlgebraicNumber", "AnonymousFunction", "Any", + "AttributeButtons", "BasicFunctions", + "BasicOperator", "BinaryExpansion", "BinaryFile", + "Bits", "Boolean", "CardinalNumber", + "CharacterClass", "Character", "Color", "Commutator", + "DecimalExpansion", "DoubleFloat", "DrawOption", + "Exit", "ExtAlgBasis", "FileName", "Float", + "FortranCode", "FortranScalarType", + "FortranTemplate", "FortranType", "GraphImage", + "HexadecimalExpansion", "IVBaseColor", "IVBasicNode", + "IVCoordinate3", "IVCoordinate4", "IVFaceSet", + "IVField", "IVGroup", "IVIndexedLineSet", + "IVNodeConnection", "IVNodeObject", "IVPointSet", + "IVQuadMesh", "IVSeparator", "IVSimpleInnerNode", + "IVUtilities", "IVValue", "IndexCard", + "InnerAlgebraicNumber", "InputForm", "Integer", + "IntegrationFunctionsTable", "InventorDataSink", + "InventorRenderPackage", "InventorViewPort", + "Library", "MachineComplex", "MachineFloat", + "MachineInteger", + "NagDiscreteFourierTransformInterfacePackage", + "NagEigenInterfacePackage", + "NagOptimisationInterfacePackage", + "NagQuadratureInterfacePackage", "NagResultChecks", + "NagSpecialFunctionsInterfacePackage", + "NonNegativeInteger", "None", + "NumericalIntegrationProblem", "NumericalODEProblem", + "NumericalOptimizationProblem", + "NumericalPDEProblem", "ODEIntensityFunctionsTable", + "OrdSetInts", "OutputForm", "Palette", "Partition", + "Pi", "PlaneAlgebraicCurvePlot", "Plot3D", "Plot", + "PositiveInteger", "QueryEquation", "RenderTools", + "Result", "RomanNumeral", "RoutinesTable", + "SExpression", "ScriptFormulaFormat", + "SingleInteger", "SingletonAsOrderedSet", "String", + "SubSpaceComponentProperty", "Switch", "SymbolTable", + "Symbol", "TexFormat", "TextFile", "TheSymbolTable", + "ThreeDimensionalViewport", "Timer", + "TwoDimensionalViewport", "Void", + "d01TransformFunctionType", "d01ajfAnnaType", + "d01akfAnnaType", "d01alfAnnaType", "d01amfAnnaType", + "d01anfAnnaType", "d01apfAnnaType", "d01aqfAnnaType", + "d01asfAnnaType", "d01fcfAnnaType", "d01gbfAnnaType", + "d02bbfAnnaType", "d02bhfAnnaType", "d02cjfAnnaType", + "d02ejfAnnaType", "d03eefAnnaType", "d03fafAnnaType", + "e04dgfAnnaType", "e04fdfAnnaType", "e04gcfAnnaType", + "e04jafAnnaType", "e04mbfAnnaType", "e04nafAnnaType", + "e04ucfAnnaType"] + Type: DataList String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPageEmpty3} +\begin{paste}{ugDomainsExamplesPageEmpty3}{ugDomainsExamplesPagePatch3} +\pastebutton{ugDomainsExamplesPageEmpty3}{\showpaste} +\tab{5}\spadcommand{elt(ks.(kind="d").(nargs="0"),name)\bound{q4 }\free{q1 }} +\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPagePatch4} +\begin{paste}{ugDomainsExamplesPageFull4}{ugDomainsExamplesPageEmpty4} +\pastebutton{ugDomainsExamplesPageFull4}{\hidepaste} +\tab{5}\spadcommand{mk := ks.(name="*Matrix*")\bound{q5 }\free{q1 }} +\indentrel{3}\begin{verbatim} + (4) 26 + Type: Database IndexCard +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPageEmpty4} +\begin{paste}{ugDomainsExamplesPageEmpty4}{ugDomainsExamplesPagePatch4} +\pastebutton{ugDomainsExamplesPageEmpty4}{\showpaste} +\tab{5}\spadcommand{mk := ks.(name="*Matrix*")\bound{q5 }\free{q1 }} +\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPagePatch5} +\begin{paste}{ugDomainsExamplesPageFull5}{ugDomainsExamplesPageEmpty5} +\pastebutton{ugDomainsExamplesPageFull5}{\hidepaste} +\tab{5}\spadcommand{elt(mk.(kind="d"),name)\bound{q6 }\free{q5 }} +\indentrel{3}\begin{verbatim} + (5) + ["DenavitHartenbergMatrix", + "DirectProductMatrixModule", "IndexedMatrix", + "LieSquareMatrix", "Matrix", "RectangularMatrix", + "SquareMatrix", "ThreeDimensionalMatrix"] + Type: DataList String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPageEmpty5} +\begin{paste}{ugDomainsExamplesPageEmpty5}{ugDomainsExamplesPagePatch5} +\pastebutton{ugDomainsExamplesPageEmpty5}{\showpaste} +\tab{5}\spadcommand{elt(mk.(kind="d"),name)\bound{q6 }\free{q5 }} +\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPagePatch6} +\begin{paste}{ugDomainsExamplesPageFull6}{ugDomainsExamplesPageEmpty6} +\pastebutton{ugDomainsExamplesPageFull6}{\hidepaste} +\tab{5}\spadcommand{o := getDatabase "o"\bound{o1 }} +\indentrel{3}\begin{verbatim} + (6) 6315 + Type: Database IndexCard +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPageEmpty6} +\begin{paste}{ugDomainsExamplesPageEmpty6}{ugDomainsExamplesPagePatch6} +\pastebutton{ugDomainsExamplesPageEmpty6}{\showpaste} +\tab{5}\spadcommand{o := getDatabase "o"\bound{o1 }} +\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPagePatch7} +\begin{paste}{ugDomainsExamplesPageFull7}{ugDomainsExamplesPageEmpty7} +\pastebutton{ugDomainsExamplesPageFull7}{\hidepaste} +\tab{5}\spadcommand{[o.(kind=k) for k in ["c","d","p"]]\free{o1 }} +\indentrel{3}\begin{verbatim} + (7) [1646,2040,2629] + Type: List Database IndexCard +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPageEmpty7} +\begin{paste}{ugDomainsExamplesPageEmpty7}{ugDomainsExamplesPagePatch7} +\pastebutton{ugDomainsExamplesPageEmpty7}{\showpaste} +\tab{5}\spadcommand{[o.(kind=k) for k in ["c","d","p"]]\free{o1 }} +\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPagePatch8} +\begin{paste}{ugDomainsExamplesPageFull8}{ugDomainsExamplesPageEmpty8} +\pastebutton{ugDomainsExamplesPageFull8}{\hidepaste} +\tab{5}\spadcommand{eigens := o.(name="*eigen*")\bound{eigens }\free{o1 }} +\indentrel{3}\begin{verbatim} + (8) 4 + Type: Database IndexCard +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPageEmpty8} +\begin{paste}{ugDomainsExamplesPageEmpty8}{ugDomainsExamplesPagePatch8} +\pastebutton{ugDomainsExamplesPageEmpty8}{\showpaste} +\tab{5}\spadcommand{eigens := o.(name="*eigen*")\bound{eigens }\free{o1 }} +\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPagePatch9} +\begin{paste}{ugDomainsExamplesPageFull9}{ugDomainsExamplesPageEmpty9} +\pastebutton{ugDomainsExamplesPageFull9}{\hidepaste} +\tab{5}\spadcommand{elt(eigens,name)\free{eigens }} +\indentrel{3}\begin{verbatim} + (9) + ["eigenMatrix", "eigenvalues", "eigenvector", + "eigenvectors"] + Type: DataList String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPageEmpty9} +\begin{paste}{ugDomainsExamplesPageEmpty9}{ugDomainsExamplesPagePatch9} +\pastebutton{ugDomainsExamplesPageEmpty9}{\showpaste} +\tab{5}\spadcommand{elt(eigens,name)\free{eigens }} +\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPagePatch10} +\begin{paste}{ugDomainsExamplesPageFull10}{ugDomainsExamplesPageEmpty10} +\pastebutton{ugDomainsExamplesPageFull10}{\hidepaste} +\tab{5}\spadcommand{elt(elt(elt(eigens,origin),sort),unique)\free{eigens }} +\indentrel{3}\begin{verbatim} + (10) ["EigenPackage","RadicalEigenPackage"] + Type: DataList String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPageEmpty10} +\begin{paste}{ugDomainsExamplesPageEmpty10}{ugDomainsExamplesPagePatch10} +\pastebutton{ugDomainsExamplesPageEmpty10}{\showpaste} +\tab{5}\spadcommand{elt(elt(elt(eigens,origin),sort),unique)\free{eigens }} +\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPagePatch11} +\begin{paste}{ugDomainsExamplesPageFull11}{ugDomainsExamplesPageEmpty11} +\pastebutton{ugDomainsExamplesPageFull11}{\hidepaste} +\tab{5}\spadcommand{tm := o.(type="*Matrix*")\bound{x10 }\free{o1 }} +\indentrel{3}\begin{verbatim} + (11) 353 + Type: Database IndexCard +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPageEmpty11} +\begin{paste}{ugDomainsExamplesPageEmpty11}{ugDomainsExamplesPagePatch11} +\pastebutton{ugDomainsExamplesPageEmpty11}{\showpaste} +\tab{5}\spadcommand{tm := o.(type="*Matrix*")\bound{x10 }\free{o1 }} +\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPagePatch12} +\begin{paste}{ugDomainsExamplesPageFull12}{ugDomainsExamplesPageEmpty12} +\pastebutton{ugDomainsExamplesPageFull12}{\hidepaste} +\tab{5}\spadcommand{fm := o.(origin="*Matrix*")\bound{x11 }\free{o1 }} +\indentrel{3}\begin{verbatim} + (12) 192 + Type: Database IndexCard +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPageEmpty12} +\begin{paste}{ugDomainsExamplesPageEmpty12}{ugDomainsExamplesPagePatch12} +\pastebutton{ugDomainsExamplesPageEmpty12}{\showpaste} +\tab{5}\spadcommand{fm := o.(origin="*Matrix*")\bound{x11 }\free{o1 }} +\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPagePatch13} +\begin{paste}{ugDomainsExamplesPageFull13}{ugDomainsExamplesPageEmpty13} +\pastebutton{ugDomainsExamplesPageFull13}{\hidepaste} +\tab{5}\spadcommand{fm-tm\bound{x12 }\free{x10 x11 }} +\indentrel{3}\begin{verbatim} + (13) 146 + Type: Database IndexCard +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPageEmpty13} +\begin{paste}{ugDomainsExamplesPageEmpty13}{ugDomainsExamplesPagePatch13} +\pastebutton{ugDomainsExamplesPageEmpty13}{\showpaste} +\tab{5}\spadcommand{fm-tm\bound{x12 }\free{x10 x11 }} +\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPagePatch14} +\begin{paste}{ugDomainsExamplesPageFull14}{ugDomainsExamplesPageEmpty14} +\pastebutton{ugDomainsExamplesPageFull14}{\hidepaste} +\tab{5}\spadcommand{fullDisplay(fm-\%)\bound{x13 }\free{x12 }} +\indentrel{3}\begin{verbatim} + ** : (Matrix(R),NonNegativeInteger)->Matrix(R) + from StorageEfficientMatrixOperations(R) (unexposed) + clearDenominator : (Matrix(Q))->Matrix(R) + from MatrixCommonDenominator(R,Q) + coerceP + : (Vector(Matrix(R)))->Vector(Matrix(Polynomial(R))) + from CoerceVectorMatrixPackage(R) (unexposed) + coerce + : + (Vector(Matrix(R)))->Vector(Matrix(Fraction(Polynom + ial(R)))) + from CoerceVectorMatrixPackage(R) (unexposed) + coerce : (_$)->Matrix(R) + from RectangularMatrix(m,n,R) (unexposed) + coerce : (_$)->Matrix(R) + from SquareMatrix(ndim,R) (unexposed) + coerce : (Matrix(MachineFloat))->_$ + from FortranMatrixCategory + commonDenominator : (Matrix(Q))->R + from MatrixCommonDenominator(R,Q) + copy! : (Matrix(R),Matrix(R))->Matrix(R) + from StorageEfficientMatrixOperations(R) (unexposed) + f01brf + : + (Integer,Integer,Integer,Integer,DoubleFloat,Boolea + n,Boolean,List(Boolean),Matrix(DoubleFloat),Matrix( + Integer),Matrix(Integer),Integer)->Result + from NagMatrixOperationsPackage + f01bsf + : + (Integer,Integer,Integer,Matrix(Integer),Matrix(Int + eger),Matrix(Integer),Matrix(Integer),Boolean,Doubl + eFloat,Boolean,Matrix(Integer),Matrix(DoubleFloat), + Integer)->Result + from NagMatrixOperationsPackage + f01maf + : + (Integer,Integer,Integer,Integer,List(Boolean),Matr + ix(DoubleFloat),Matrix(Integer),Matrix(Integer),Dou + bleFloat,DoubleFloat,Integer)->Result + from NagMatrixOperationsPackage + f01mcf + : + (Integer,Matrix(DoubleFloat),Integer,Matrix(Integer + ),Integer)->Result + from NagMatrixOperationsPackage + f01qcf + : + (Integer,Integer,Integer,Matrix(DoubleFloat),Intege + r)->Result + from NagMatrixOperationsPackage + f01qdf + : + (String,String,Integer,Integer,Matrix(DoubleFloat), + Integer,Matrix(DoubleFloat),Integer,Integer,Matrix( + DoubleFloat),Integer)->Result + from NagMatrixOperationsPackage + f01qef + : + (String,Integer,Integer,Integer,Integer,Matrix(Doub + leFloat),Matrix(DoubleFloat),Integer)->Result + from NagMatrixOperationsPackage + f01rcf + : + (Integer,Integer,Integer,Matrix(Complex(DoubleFloat + )),Integer)->Result + from NagMatrixOperationsPackage + f01rdf + : + (String,String,Integer,Integer,Matrix(Complex(Doubl + eFloat)),Integer,Matrix(Complex(DoubleFloat)),Integ + er,Integer,Matrix(Complex(DoubleFloat)),Integer)->R + esult + from NagMatrixOperationsPackage + f01ref + : + (String,Integer,Integer,Integer,Integer,Matrix(Comp + lex(DoubleFloat)),Matrix(Complex(DoubleFloat)),Inte + ger)->Result + from NagMatrixOperationsPackage + hasSolution? : (Matrix(F),Vector(F))->Boolean + from LinearSystemMatrixPackage1(F) + leftScalarTimes! : (Matrix(R),R,Matrix(R))->Matrix(R) + from StorageEfficientMatrixOperations(R) (unexposed) + minus! : (Matrix(R),Matrix(R))->Matrix(R) + from StorageEfficientMatrixOperations(R) (unexposed) + minus! : (Matrix(R),Matrix(R),Matrix(R))->Matrix(R) + from StorageEfficientMatrixOperations(R) (unexposed) + particularSolution + : (Matrix(F),Vector(F))->Union(Vector(F),"failed") + from LinearSystemMatrixPackage1(F) + plus! : (Matrix(R),Matrix(R),Matrix(R))->Matrix(R) + from StorageEfficientMatrixOperations(R) (unexposed) + power! + : + (Matrix(R),Matrix(R),Matrix(R),Matrix(R),NonNegativ + eInteger)->Matrix(R) + from StorageEfficientMatrixOperations(R) (unexposed) + rank : (Matrix(F),Vector(F))->NonNegativeInteger + from LinearSystemMatrixPackage1(F) + rectangularMatrix : (Matrix(R))->_$ + from RectangularMatrix(m,n,R) (unexposed) + retractIfCan + : (Matrix(Expression(Float)))->Union(_$,"failed") + from FortranMatrixFunctionCategory + retractIfCan + : (Matrix(Expression(Integer)))->Union(_$,"failed") + from FortranMatrixFunctionCategory + retractIfCan + : + (Matrix(Fraction(Polynomial(Float))))->Union(_$,"fa + iled") + from FortranMatrixFunctionCategory + retractIfCan + : + (Matrix(Fraction(Polynomial(Integer))))->Union(_$," + failed") + from FortranMatrixFunctionCategory + retractIfCan + : (Matrix(Polynomial(Float)))->Union(_$,"failed") + from FortranMatrixFunctionCategory + retractIfCan + : (Matrix(Polynomial(Integer)))->Union(_$,"failed") + from FortranMatrixFunctionCategory + retract : (Matrix(Expression(Float)))->_$ + from FortranMatrixFunctionCategory + retract : (Matrix(Expression(Integer)))->_$ + from FortranMatrixFunctionCategory + retract : (Matrix(Fraction(Polynomial(Float))))->_$ + from FortranMatrixFunctionCategory + retract : (Matrix(Fraction(Polynomial(Integer))))->_$ + from FortranMatrixFunctionCategory + retract : (Matrix(Polynomial(Float)))->_$ + from FortranMatrixFunctionCategory + retract : (Matrix(Polynomial(Integer)))->_$ + from FortranMatrixFunctionCategory + rightScalarTimes! : (Matrix(R),Matrix(R),R)->Matrix(R) + from StorageEfficientMatrixOperations(R) (unexposed) + solve + : + (Matrix(F),List(Vector(F)))->List(Record(particular + :Union(Vector(F),"failed"),basis:List(Vector(F)))) + from LinearSystemMatrixPackage1(F) + solve + : + (Matrix(F),Vector(F))->Record(particular:Union(Vect + or(F),"failed"),basis:List(Vector(F))) + from LinearSystemMatrixPackage1(F) + splitDenominator + : (Matrix(Q))->Record(num:Matrix(R),den:R) + from MatrixCommonDenominator(R,Q) + squareMatrix : (Matrix(R))->_$ + from SquareMatrix(ndim,R) (unexposed) + times! : (Matrix(R),Matrix(R),Matrix(R))->Matrix(R) + from StorageEfficientMatrixOperations(R) (unexposed) + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPageEmpty14} +\begin{paste}{ugDomainsExamplesPageEmpty14}{ugDomainsExamplesPagePatch14} +\pastebutton{ugDomainsExamplesPageEmpty14}{\showpaste} +\tab{5}\spadcommand{fullDisplay(fm-\%)\bound{x13 }\free{x12 }} +\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPagePatch15} +\begin{paste}{ugDomainsExamplesPageFull15}{ugDomainsExamplesPageEmpty15} +\pastebutton{ugDomainsExamplesPageFull15}{\hidepaste} +\tab{5}\spadcommand{m := tm+fm\bound{x14 }\free{x10 x11 }} +\indentrel{3}\begin{verbatim} + (15) 499 + Type: Database IndexCard +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPageEmpty15} +\begin{paste}{ugDomainsExamplesPageEmpty15}{ugDomainsExamplesPagePatch15} +\pastebutton{ugDomainsExamplesPageEmpty15}{\showpaste} +\tab{5}\spadcommand{m := tm+fm\bound{x14 }\free{x10 x11 }} +\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPagePatch16} +\begin{paste}{ugDomainsExamplesPageFull16}{ugDomainsExamplesPageEmpty16} +\pastebutton{ugDomainsExamplesPageFull16}{\hidepaste} +\tab{5}\spadcommand{fullDisplay(m, 202, 205)\free{x14 }} +\indentrel{3}\begin{verbatim} + elt : (_$,List(Integer),List(Integer))->_$ + from MatrixCategory(R,Row,Col) + elt : (_$,Integer,Integer,R)->R + from RectangularMatrixCategory(m,n,R,Row,Col) + elt + : + (_$,NonNegativeInteger,NonNegativeInteger,NonNegati + veInteger)->R + from ThreeDimensionalMatrix(R) + eval + : + (Matrix(Expression(DoubleFloat)),List(Symbol),Vecto + r(Expression(DoubleFloat)))->Matrix(Expression(Doub + leFloat)) + from d02AgentsPackage + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPageEmpty16} +\begin{paste}{ugDomainsExamplesPageEmpty16}{ugDomainsExamplesPagePatch16} +\pastebutton{ugDomainsExamplesPageEmpty16}{\showpaste} +\tab{5}\spadcommand{fullDisplay(m, 202, 205)\free{x14 }} +\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPagePatch17} +\begin{paste}{ugDomainsExamplesPageFull17}{ugDomainsExamplesPageEmpty17} +\pastebutton{ugDomainsExamplesPageFull17}{\hidepaste} +\tab{5}\spadcommand{elt(elt(elt(m,name),unique),count)\free{x14 }} +\indentrel{3}\begin{verbatim} + (17) 317 + Type: PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugDomainsExamplesPageEmpty17} +\begin{paste}{ugDomainsExamplesPageEmpty17}{ugDomainsExamplesPagePatch17} +\pastebutton{ugDomainsExamplesPageEmpty17}{\showpaste} +\tab{5}\spadcommand{elt(elt(elt(m,name),unique),count)\free{x14 }} +\end{paste}\end{patch} + @ \chapter{Users Guide Chapter 14 (ug14.ht)} \pagehead{ugBrowsePage}{ug14.ht}{Browse} @@ -46978,6 +114141,100 @@ example for that routine. \autobuttons \end{page} +\begin{patch}{nagLinkUsagePagePatch1} +\begin{paste}{nagLinkUsagePageFull1}{nagLinkUsagePageEmpty1} +\pastebutton{nagLinkUsagePageFull1}{\hidepaste} +\tab{5}\spadcommand{answer:=c05adf(3.0,4.0,1.0e-5,0.0,-1,sin(X)::ASP1(F))\bound{answer }} +\indentrel{3}\begin{verbatim} + (1) [ifail: Integer,x: DoubleFloat] + Type: Result +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{nagLinkUsagePageEmpty1} +\begin{paste}{nagLinkUsagePageEmpty1}{nagLinkUsagePagePatch1} +\pastebutton{nagLinkUsagePageEmpty1}{\showpaste} +\tab{5}\spadcommand{answer:=c05adf(3.0,4.0,1.0e-5,0.0,-1,sin(X)::ASP1(F))\bound{answer }} +\end{paste}\end{patch} + +\begin{patch}{nagLinkUsagePagePatch2} +\begin{paste}{nagLinkUsagePageFull2}{nagLinkUsagePageEmpty2} +\pastebutton{nagLinkUsagePageFull2}{\hidepaste} +\tab{5}\spadcommand{answer . x\free{answer }} +\indentrel{3}\begin{verbatim} + (2) 3.14159265545896 + Type: DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{nagLinkUsagePageEmpty2} +\begin{paste}{nagLinkUsagePageEmpty2}{nagLinkUsagePagePatch2} +\pastebutton{nagLinkUsagePageEmpty2}{\showpaste} +\tab{5}\spadcommand{answer . x\free{answer }} +\end{paste}\end{patch} + +\begin{patch}{nagLinkUsagePagePatch3} +\begin{paste}{nagLinkUsagePageFull3}{nagLinkUsagePageEmpty3} +\pastebutton{nagLinkUsagePageFull3}{\hidepaste} +\tab{5}\spadcommand{answer . ifail\free{answer }} +\indentrel{3}\begin{verbatim} + (3) 0 + Type: Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{nagLinkUsagePageEmpty3} +\begin{paste}{nagLinkUsagePageEmpty3}{nagLinkUsagePagePatch3} +\pastebutton{nagLinkUsagePageEmpty3}{\showpaste} +\tab{5}\spadcommand{answer . ifail\free{answer }} +\end{paste}\end{patch} + +\begin{patch}{nagLinkUsagePagePatch4} +\begin{paste}{nagLinkUsagePageFull4}{nagLinkUsagePageEmpty4} +\pastebutton{nagLinkUsagePageFull4}{\hidepaste} +\tab{5}\spadcommand{answer "x"\free{answer }} +\indentrel{3}\begin{verbatim} + (4) 3.14159265545896 + Type: DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{nagLinkUsagePageEmpty4} +\begin{paste}{nagLinkUsagePageEmpty4}{nagLinkUsagePagePatch4} +\pastebutton{nagLinkUsagePageEmpty4}{\showpaste} +\tab{5}\spadcommand{answer "x"\free{answer }} +\end{paste}\end{patch} + +\begin{patch}{nagLinkUsagePagePatch5} +\begin{paste}{nagLinkUsagePageFull5}{nagLinkUsagePageEmpty5} +\pastebutton{nagLinkUsagePageFull5}{\hidepaste} +\tab{5}\spadcommand{)read c05adf.input} +\indentrel{3}\begin{verbatim} + (1) true + Type: Boolean + (2) true + Type: Boolean + (3) F + Type: Asp1 F + (4) 0.0 + Type: DoubleFloat + (5) 1.0 + Type: DoubleFloat + (6) 1.0e-05 + Type: DoubleFloat + (7) 0.0 + Type: DoubleFloat + (8) [ifail: 0,x: 0.567143306604963] + Type: Result +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{nagLinkUsagePageEmpty5} +\begin{paste}{nagLinkUsagePageEmpty5}{nagLinkUsagePagePatch5} +\pastebutton{nagLinkUsagePageEmpty5}{\showpaste} +\tab{5}\spadcommand{)read c05adf.input} +\end{paste}\end{patch} + @ \pagehead{aspSectionPage}{ug15.ht} {Providing values for Argument Subprograms} @@ -47079,6 +114336,68 @@ d01ajf(0.0 ,1.0, 0.0, 1.0e-5, 800, 200, -1, "asp.f") \autobuttons \end{page} +\begin{patch}{aspSectionPagePatch1} +\begin{paste}{aspSectionPageFull1}{aspSectionPageEmpty1} +\pastebutton{aspSectionPageFull1}{\hidepaste} +\tab{5}\spadcommand{)display operation c05adf} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{aspSectionPageEmpty1} +\begin{paste}{aspSectionPageEmpty1}{aspSectionPagePatch1} +\pastebutton{aspSectionPageEmpty1}{\showpaste} +\tab{5}\spadcommand{)display operation c05adf} +\end{paste}\end{patch} + +\begin{patch}{aspSectionPagePatch2} +\begin{paste}{aspSectionPageFull2}{aspSectionPageEmpty2} +\pastebutton{aspSectionPageFull2}{\hidepaste} +\tab{5}\spadcommand{f : FortranExpression([X],[M],MachineFloat) := sin(X)+M[3,1]} +\indentrel{3}\begin{verbatim} + (1) sin(X) + M + 3,1 + Type: FortranExpression([X],[M],MachineFloat) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{aspSectionPageEmpty2} +\begin{paste}{aspSectionPageEmpty2}{aspSectionPagePatch2} +\pastebutton{aspSectionPageEmpty2}{\showpaste} +\tab{5}\spadcommand{f : FortranExpression([X],[M],MachineFloat) := sin(X)+M[3,1]} +\end{paste}\end{patch} + +\begin{patch}{aspSectionPagePatch3} +\begin{paste}{aspSectionPageFull3}{aspSectionPageEmpty3} +\pastebutton{aspSectionPageFull3}{\hidepaste} +\tab{5}\spadcommand{f : FortranExpression([X],[M],MachineFloat) := sin(M)+Y} +\indentrel{3}\begin{verbatim} + sin(M) + Y +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{aspSectionPageEmpty3} +\begin{paste}{aspSectionPageEmpty3}{aspSectionPagePatch3} +\pastebutton{aspSectionPageEmpty3}{\showpaste} +\tab{5}\spadcommand{f : FortranExpression([X],[M],MachineFloat) := sin(M)+Y} +\end{paste}\end{patch} + +\begin{patch}{aspSectionPagePatch4} +\begin{paste}{aspSectionPageFull4}{aspSectionPageEmpty4} +\pastebutton{aspSectionPageFull4}{\hidepaste} +\tab{5}\spadcommand{d01ajf(-1.0, 1.0, 0.0, 1.0e-5, 800, 200, -1, cond(LT(X,0), assign(F,-X), assign(F,X))) result} +\indentrel{3}\begin{verbatim} + (2) 1.0 + Type: DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{aspSectionPageEmpty4} +\begin{paste}{aspSectionPageEmpty4}{aspSectionPagePatch4} +\pastebutton{aspSectionPageEmpty4}{\showpaste} +\tab{5}\spadcommand{d01ajf(-1.0, 1.0, 0.0, 1.0e-5, 800, 200, -1, cond(LT(X,0), assign(F,-X), assign(F,X))) result} +\end{paste}\end{patch} + @ \pagehead{generalFortranPage}{ug15.ht} {General Fortran-generation utilities in Axiom} @@ -47650,6 +114969,667 @@ and transform the conditional expression we prepared earlier: \autobuttons \end{page} +\begin{patch}{generalFortranPagePatch1} +\begin{paste}{generalFortranPageFull1}{generalFortranPageEmpty1} +\pastebutton{generalFortranPageFull1}{\hidepaste} +\tab{5}\spadcommand{)set fortran precision} +\indentrel{3}\begin{verbatim} +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty1} +\begin{paste}{generalFortranPageEmpty1}{generalFortranPagePatch1} +\pastebutton{generalFortranPageEmpty1}{\showpaste} +\tab{5}\spadcommand{)set fortran precision} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch2} +\begin{paste}{generalFortranPageFull2}{generalFortranPageEmpty2} +\pastebutton{generalFortranPageFull2}{\hidepaste} +\tab{5}\spadcommand{m := matrix [[1,2,3],[4,5,6]]\bound{m }} +\indentrel{3}\begin{verbatim} + Ú1 2 3¿ + (1) ³ ³ + À4 5 6Ù + Type: Matrix Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty2} +\begin{paste}{generalFortranPageEmpty2}{generalFortranPagePatch2} +\pastebutton{generalFortranPageEmpty2}{\showpaste} +\tab{5}\spadcommand{m := matrix [[1,2,3],[4,5,6]]\bound{m }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch3} +\begin{paste}{generalFortranPageFull3}{generalFortranPageEmpty3} +\pastebutton{generalFortranPageFull3}{\hidepaste} +\tab{5}\spadcommand{fortranLiteralLine concat ["C The Matrix has ", nrows(m)::String, " rows and ", ncols(m)::String, " columns"]\free{m }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty3} +\begin{paste}{generalFortranPageEmpty3}{generalFortranPagePatch3} +\pastebutton{generalFortranPageEmpty3}{\showpaste} +\tab{5}\spadcommand{fortranLiteralLine concat ["C The Matrix has ", nrows(m)::String, " rows and ", ncols(m)::String, " columns"]\free{m }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch4} +\begin{paste}{generalFortranPageFull4}{generalFortranPageEmpty4} +\pastebutton{generalFortranPageFull4}{\hidepaste} +\tab{5}\spadcommand{fortranLiteral "C The Matrix has "} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty4} +\begin{paste}{generalFortranPageEmpty4}{generalFortranPagePatch4} +\pastebutton{generalFortranPageEmpty4}{\showpaste} +\tab{5}\spadcommand{fortranLiteral "C The Matrix has "} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch5} +\begin{paste}{generalFortranPageFull5}{generalFortranPageEmpty5} +\pastebutton{generalFortranPageFull5}{\hidepaste} +\tab{5}\spadcommand{fortranLiteral(nrows(m)::String)} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty5} +\begin{paste}{generalFortranPageEmpty5}{generalFortranPagePatch5} +\pastebutton{generalFortranPageEmpty5}{\showpaste} +\tab{5}\spadcommand{fortranLiteral(nrows(m)::String)} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch6} +\begin{paste}{generalFortranPageFull6}{generalFortranPageEmpty6} +\pastebutton{generalFortranPageFull6}{\hidepaste} +\tab{5}\spadcommand{fortranLiteral " rows and "} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty6} +\begin{paste}{generalFortranPageEmpty6}{generalFortranPagePatch6} +\pastebutton{generalFortranPageEmpty6}{\showpaste} +\tab{5}\spadcommand{fortranLiteral " rows and "} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch7} +\begin{paste}{generalFortranPageFull7}{generalFortranPageEmpty7} +\pastebutton{generalFortranPageFull7}{\hidepaste} +\tab{5}\spadcommand{fortranLiteral(ncols(m)::String)\free{m }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty7} +\begin{paste}{generalFortranPageEmpty7}{generalFortranPagePatch7} +\pastebutton{generalFortranPageEmpty7}{\showpaste} +\tab{5}\spadcommand{fortranLiteral(ncols(m)::String)\free{m }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch8} +\begin{paste}{generalFortranPageFull8}{generalFortranPageEmpty8} +\pastebutton{generalFortranPageFull8}{\hidepaste} +\tab{5}\spadcommand{fortranLiteral " columns"} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty8} +\begin{paste}{generalFortranPageEmpty8}{generalFortranPagePatch8} +\pastebutton{generalFortranPageEmpty8}{\showpaste} +\tab{5}\spadcommand{fortranLiteral " columns"} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch9} +\begin{paste}{generalFortranPageFull9}{generalFortranPageEmpty9} +\pastebutton{generalFortranPageFull9}{\hidepaste} +\tab{5}\spadcommand{fortranCarriageReturn()} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty9} +\begin{paste}{generalFortranPageEmpty9}{generalFortranPagePatch9} +\pastebutton{generalFortranPageEmpty9}{\showpaste} +\tab{5}\spadcommand{fortranCarriageReturn()} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch10} +\begin{paste}{generalFortranPageFull10}{generalFortranPageEmpty10} +\pastebutton{generalFortranPageFull10}{\hidepaste} +\tab{5}\spadcommand{topFortranOutputStack()} +\indentrel{3}\begin{verbatim} + (9) "CONSOLE" + Type: String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty10} +\begin{paste}{generalFortranPageEmpty10}{generalFortranPagePatch10} +\pastebutton{generalFortranPageEmpty10}{\showpaste} +\tab{5}\spadcommand{topFortranOutputStack()} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch11} +\begin{paste}{generalFortranPageFull11}{generalFortranPageEmpty11} +\pastebutton{generalFortranPageFull11}{\hidepaste} +\tab{5}\spadcommand{type:=construct(real,[i,10],false)$FortranType} +\indentrel{3}\begin{verbatim} + (10) REAL + (i,10) + Type: FortranType +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty11} +\begin{paste}{generalFortranPageEmpty11}{generalFortranPagePatch11} +\pastebutton{generalFortranPageEmpty11}{\showpaste} +\tab{5}\spadcommand{type:=construct(real,[i,10],false)$FortranType} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch12} +\begin{paste}{generalFortranPageFull12}{generalFortranPageEmpty12} +\pastebutton{generalFortranPageFull12}{\hidepaste} +\tab{5}\spadcommand{type:=[real,[i,10],false]$FortranType\bound{type }} +\indentrel{3}\begin{verbatim} + (11) REAL + (i,10) + Type: FortranType +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty12} +\begin{paste}{generalFortranPageEmpty12}{generalFortranPagePatch12} +\pastebutton{generalFortranPageEmpty12}{\showpaste} +\tab{5}\spadcommand{type:=[real,[i,10],false]$FortranType\bound{type }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch13} +\begin{paste}{generalFortranPageFull13}{generalFortranPageEmpty13} +\pastebutton{generalFortranPageFull13}{\hidepaste} +\tab{5}\spadcommand{scalarTypeOf type\free{type }} +\indentrel{3}\begin{verbatim} + (12) REAL + Type: Union(fst: FortranScalarType,...) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty13} +\begin{paste}{generalFortranPageEmpty13}{generalFortranPagePatch13} +\pastebutton{generalFortranPageEmpty13}{\showpaste} +\tab{5}\spadcommand{scalarTypeOf type\free{type }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch14} +\begin{paste}{generalFortranPageFull14}{generalFortranPageEmpty14} +\pastebutton{generalFortranPageFull14}{\hidepaste} +\tab{5}\spadcommand{dimensionsOf type\free{type }} +\indentrel{3}\begin{verbatim} + (13) [i,10] + Type: List Polynomial Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty14} +\begin{paste}{generalFortranPageEmpty14}{generalFortranPagePatch14} +\pastebutton{generalFortranPageEmpty14}{\showpaste} +\tab{5}\spadcommand{dimensionsOf type\free{type }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch15} +\begin{paste}{generalFortranPageFull15}{generalFortranPageEmpty15} +\pastebutton{generalFortranPageFull15}{\hidepaste} +\tab{5}\spadcommand{external? type\free{type }} +\indentrel{3}\begin{verbatim} + (14) false + Type: Boolean +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty15} +\begin{paste}{generalFortranPageEmpty15}{generalFortranPagePatch15} +\pastebutton{generalFortranPageEmpty15}{\showpaste} +\tab{5}\spadcommand{external? type\free{type }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch16} +\begin{paste}{generalFortranPageFull16}{generalFortranPageEmpty16} +\pastebutton{generalFortranPageFull16}{\hidepaste} +\tab{5}\spadcommand{fortranLogical()} +\indentrel{3}\begin{verbatim} + (15) LOGICAL + Type: FortranType +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty16} +\begin{paste}{generalFortranPageEmpty16}{generalFortranPagePatch16} +\pastebutton{generalFortranPageEmpty16}{\showpaste} +\tab{5}\spadcommand{fortranLogical()} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch17} +\begin{paste}{generalFortranPageFull17}{generalFortranPageEmpty17} +\pastebutton{generalFortranPageFull17}{\hidepaste} +\tab{5}\spadcommand{construct(integer,[],true)$FortranType} +\indentrel{3}\begin{verbatim} + (16) EXTERNAL INTEGER + Type: FortranType +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty17} +\begin{paste}{generalFortranPageEmpty17}{generalFortranPagePatch17} +\pastebutton{generalFortranPageEmpty17}{\showpaste} +\tab{5}\spadcommand{construct(integer,[],true)$FortranType} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch18} +\begin{paste}{generalFortranPageFull18}{generalFortranPageEmpty18} +\pastebutton{generalFortranPageFull18}{\hidepaste} +\tab{5}\spadcommand{symbols := empty()$SymbolTable\bound{symbols }} +\indentrel{3}\begin{verbatim} + (17) table() + Type: SymbolTable +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty18} +\begin{paste}{generalFortranPageEmpty18}{generalFortranPagePatch18} +\pastebutton{generalFortranPageEmpty18}{\showpaste} +\tab{5}\spadcommand{symbols := empty()$SymbolTable\bound{symbols }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch19} +\begin{paste}{generalFortranPageFull19}{generalFortranPageEmpty19} +\pastebutton{generalFortranPageFull19}{\hidepaste} +\tab{5}\spadcommand{declare!(X,fortranReal(),symbols)\free{symbols }} +\indentrel{3}\begin{verbatim} + (18) REAL + Type: FortranType +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty19} +\begin{paste}{generalFortranPageEmpty19}{generalFortranPagePatch19} +\pastebutton{generalFortranPageEmpty19}{\showpaste} +\tab{5}\spadcommand{declare!(X,fortranReal(),symbols)\free{symbols }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch20} +\begin{paste}{generalFortranPageFull20}{generalFortranPageEmpty20} +\pastebutton{generalFortranPageFull20}{\hidepaste} +\tab{5}\spadcommand{declare!(M,construct(real,[i,j],false)$FortranType,symbols)\free{symbols }} +\indentrel{3}\begin{verbatim} + (19) REAL + (i,j) + Type: FortranType +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty20} +\begin{paste}{generalFortranPageEmpty20}{generalFortranPagePatch20} +\pastebutton{generalFortranPageEmpty20}{\showpaste} +\tab{5}\spadcommand{declare!(M,construct(real,[i,j],false)$FortranType,symbols)\free{symbols }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch21} +\begin{paste}{generalFortranPageFull21}{generalFortranPageEmpty21} +\pastebutton{generalFortranPageFull21}{\hidepaste} +\tab{5}\spadcommand{declare!([i,j],fortranInteger(),symbols)\free{symbols }} +\indentrel{3}\begin{verbatim} + (20) INTEGER + Type: FortranType +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty21} +\begin{paste}{generalFortranPageEmpty21}{generalFortranPagePatch21} +\pastebutton{generalFortranPageEmpty21}{\showpaste} +\tab{5}\spadcommand{declare!([i,j],fortranInteger(),symbols)\free{symbols }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch22} +\begin{paste}{generalFortranPageFull22}{generalFortranPageEmpty22} +\pastebutton{generalFortranPageFull22}{\hidepaste} +\tab{5}\spadcommand{symbols\free{symbols }} +\indentrel{3}\begin{verbatim} + (21) + table(X= REAL,M= REAL ,i= INTEGER,j= INTEGER) + (i,j) + Type: SymbolTable +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty22} +\begin{paste}{generalFortranPageEmpty22}{generalFortranPagePatch22} +\pastebutton{generalFortranPageEmpty22}{\showpaste} +\tab{5}\spadcommand{symbols\free{symbols }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch23} +\begin{paste}{generalFortranPageFull23}{generalFortranPageEmpty23} +\pastebutton{generalFortranPageFull23}{\hidepaste} +\tab{5}\spadcommand{fortranTypeOf(i,symbols)\free{symbols }} +\indentrel{3}\begin{verbatim} + (22) INTEGER + Type: FortranType +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty23} +\begin{paste}{generalFortranPageEmpty23}{generalFortranPagePatch23} +\pastebutton{generalFortranPageEmpty23}{\showpaste} +\tab{5}\spadcommand{fortranTypeOf(i,symbols)\free{symbols }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch24} +\begin{paste}{generalFortranPageFull24}{generalFortranPageEmpty24} +\pastebutton{generalFortranPageFull24}{\hidepaste} +\tab{5}\spadcommand{typeList(real,symbols)\free{symbols }} +\indentrel{3}\begin{verbatim} + (23) [X,[M,i,j]] +Type: List Union(name: Symbol,bounds: List Union(S: Symbol,P: Polynomial Integer)) +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty24} +\begin{paste}{generalFortranPageEmpty24}{generalFortranPagePatch24} +\pastebutton{generalFortranPageEmpty24}{\showpaste} +\tab{5}\spadcommand{typeList(real,symbols)\free{symbols }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch25} +\begin{paste}{generalFortranPageFull25}{generalFortranPageEmpty25} +\pastebutton{generalFortranPageFull25}{\hidepaste} +\tab{5}\spadcommand{printTypes symbols\free{symbols }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty25} +\begin{paste}{generalFortranPageEmpty25}{generalFortranPagePatch25} +\pastebutton{generalFortranPageEmpty25}{\showpaste} +\tab{5}\spadcommand{printTypes symbols\free{symbols }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch26} +\begin{paste}{generalFortranPageFull26}{generalFortranPageEmpty26} +\pastebutton{generalFortranPageFull26}{\hidepaste} +\tab{5}\spadcommand{newSubProgram F} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty26} +\begin{paste}{generalFortranPageEmpty26}{generalFortranPagePatch26} +\pastebutton{generalFortranPageEmpty26}{\showpaste} +\tab{5}\spadcommand{newSubProgram F} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch27} +\begin{paste}{generalFortranPageFull27}{generalFortranPageEmpty27} +\pastebutton{generalFortranPageFull27}{\hidepaste} +\tab{5}\spadcommand{endSubProgram()} +\indentrel{3}\begin{verbatim} + (26) MAIN + Type: Symbol +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty27} +\begin{paste}{generalFortranPageEmpty27}{generalFortranPagePatch27} +\pastebutton{generalFortranPageEmpty27}{\showpaste} +\tab{5}\spadcommand{endSubProgram()} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch28} +\begin{paste}{generalFortranPageFull28}{generalFortranPageEmpty28} +\pastebutton{generalFortranPageFull28}{\hidepaste} +\tab{5}\spadcommand{newSubProgram F\bound{forPleasure }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty28} +\begin{paste}{generalFortranPageEmpty28}{generalFortranPagePatch28} +\pastebutton{generalFortranPageEmpty28}{\showpaste} +\tab{5}\spadcommand{newSubProgram F\bound{forPleasure }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch29} +\begin{paste}{generalFortranPageFull29}{generalFortranPageEmpty29} +\pastebutton{generalFortranPageFull29}{\hidepaste} +\tab{5}\spadcommand{argumentList!(F,[X])\free{forPleasure }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty29} +\begin{paste}{generalFortranPageEmpty29}{generalFortranPagePatch29} +\pastebutton{generalFortranPageEmpty29}{\showpaste} +\tab{5}\spadcommand{argumentList!(F,[X])\free{forPleasure }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch30} +\begin{paste}{generalFortranPageFull30}{generalFortranPageEmpty30} +\pastebutton{generalFortranPageFull30}{\hidepaste} +\tab{5}\spadcommand{returnType!(F,real)\free{forPleasure }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty30} +\begin{paste}{generalFortranPageEmpty30}{generalFortranPagePatch30} +\pastebutton{generalFortranPageEmpty30}{\showpaste} +\tab{5}\spadcommand{returnType!(F,real)\free{forPleasure }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch31} +\begin{paste}{generalFortranPageFull31}{generalFortranPageEmpty31} +\pastebutton{generalFortranPageFull31}{\hidepaste} +\tab{5}\spadcommand{declare!(X,fortranReal(),F)\free{forPleasure }} +\indentrel{3}\begin{verbatim} + (30) REAL + Type: FortranType +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty31} +\begin{paste}{generalFortranPageEmpty31}{generalFortranPagePatch31} +\pastebutton{generalFortranPageEmpty31}{\showpaste} +\tab{5}\spadcommand{declare!(X,fortranReal(),F)\free{forPleasure }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch32} +\begin{paste}{generalFortranPageFull32}{generalFortranPageEmpty32} +\pastebutton{generalFortranPageFull32}{\hidepaste} +\tab{5}\spadcommand{printHeader F\free{forPleasure }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty32} +\begin{paste}{generalFortranPageEmpty32}{generalFortranPagePatch32} +\pastebutton{generalFortranPageEmpty32}{\showpaste} +\tab{5}\spadcommand{printHeader F\free{forPleasure }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch33} +\begin{paste}{generalFortranPageFull33}{generalFortranPageEmpty33} +\pastebutton{generalFortranPageFull33}{\hidepaste} +\tab{5}\spadcommand{LT(x,y)} +\indentrel{3}\begin{verbatim} + (32) x < y + Type: Switch +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty33} +\begin{paste}{generalFortranPageEmpty33}{generalFortranPagePatch33} +\pastebutton{generalFortranPageEmpty33}{\showpaste} +\tab{5}\spadcommand{LT(x,y)} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch34} +\begin{paste}{generalFortranPageFull34}{generalFortranPageEmpty34} +\pastebutton{generalFortranPageFull34}{\hidepaste} +\tab{5}\spadcommand{c := cond(LT(X,Y),assign(F,X),cond(GT(Y,Z),assign(F,Y),assign(F,Z)))\bound{c }} +\indentrel{3}\begin{verbatim} + (33) conditional + Type: FortranCode +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty34} +\begin{paste}{generalFortranPageEmpty34}{generalFortranPagePatch34} +\pastebutton{generalFortranPageEmpty34}{\showpaste} +\tab{5}\spadcommand{c := cond(LT(X,Y),assign(F,X),cond(GT(Y,Z),assign(F,Y),assign(F,Z)))\bound{c }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch35} +\begin{paste}{generalFortranPageFull35}{generalFortranPageEmpty35} +\pastebutton{generalFortranPageFull35}{\hidepaste} +\tab{5}\spadcommand{printCode c\free{c }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty35} +\begin{paste}{generalFortranPageEmpty35}{generalFortranPagePatch35} +\pastebutton{generalFortranPageEmpty35}{\showpaste} +\tab{5}\spadcommand{printCode c\free{c }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch36} +\begin{paste}{generalFortranPageFull36}{generalFortranPageEmpty36} +\pastebutton{generalFortranPageFull36}{\hidepaste} +\tab{5}\spadcommand{symbols := empty()$SymbolTable\bound{symbols }} +\indentrel{3}\begin{verbatim} + (35) table() + Type: SymbolTable +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty36} +\begin{paste}{generalFortranPageEmpty36}{generalFortranPagePatch36} +\pastebutton{generalFortranPageEmpty36}{\showpaste} +\tab{5}\spadcommand{symbols := empty()$SymbolTable\bound{symbols }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch37} +\begin{paste}{generalFortranPageFull37}{generalFortranPageEmpty37} +\pastebutton{generalFortranPageFull37}{\hidepaste} +\tab{5}\spadcommand{declare!([X,Y],fortranReal(),symbols)\free{symbols }} +\indentrel{3}\begin{verbatim} + (36) REAL + Type: FortranType +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty37} +\begin{paste}{generalFortranPageEmpty37}{generalFortranPagePatch37} +\pastebutton{generalFortranPageEmpty37}{\showpaste} +\tab{5}\spadcommand{declare!([X,Y],fortranReal(),symbols)\free{symbols }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch38} +\begin{paste}{generalFortranPageFull38}{generalFortranPageEmpty38} +\pastebutton{generalFortranPageFull38}{\hidepaste} +\tab{5}\spadcommand{FP := FortranProgram(F,real,[X,Y],symbols)\free{symbols }\bound{FP }} +\indentrel{3}\begin{verbatim} + (37) FortranProgram(F,REAL,[X,Y],table(...,...)) + Type: Domain +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty38} +\begin{paste}{generalFortranPageEmpty38}{generalFortranPagePatch38} +\pastebutton{generalFortranPageEmpty38}{\showpaste} +\tab{5}\spadcommand{FP := FortranProgram(F,real,[X,Y],symbols)\free{symbols }\bound{FP }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch39} +\begin{paste}{generalFortranPageFull39}{generalFortranPageEmpty39} +\pastebutton{generalFortranPageFull39}{\hidepaste} +\tab{5}\spadcommand{asp := X*sin(Y)\bound{asp }} +\indentrel{3}\begin{verbatim} + (38) X sin(Y) + Type: Expression Integer +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty39} +\begin{paste}{generalFortranPageEmpty39}{generalFortranPagePatch39} +\pastebutton{generalFortranPageEmpty39}{\showpaste} +\tab{5}\spadcommand{asp := X*sin(Y)\bound{asp }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch40} +\begin{paste}{generalFortranPageFull40}{generalFortranPageEmpty40} +\pastebutton{generalFortranPageFull40}{\hidepaste} +\tab{5}\spadcommand{outputAsFortran(asp::FP)\free{FP asp }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty40} +\begin{paste}{generalFortranPageEmpty40}{generalFortranPagePatch40} +\pastebutton{generalFortranPageEmpty40}{\showpaste} +\tab{5}\spadcommand{outputAsFortran(asp::FP)\free{FP asp }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch41} +\begin{paste}{generalFortranPageFull41}{generalFortranPageEmpty41} +\pastebutton{generalFortranPageFull41}{\hidepaste} +\tab{5}\spadcommand{declare!(Z,fortranReal(),symbols)\free{symbols }\bound{Z }} +\indentrel{3}\begin{verbatim} + (40) REAL + Type: FortranType +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty41} +\begin{paste}{generalFortranPageEmpty41}{generalFortranPagePatch41} +\pastebutton{generalFortranPageEmpty41}{\showpaste} +\tab{5}\spadcommand{declare!(Z,fortranReal(),symbols)\free{symbols }\bound{Z }} +\end{paste}\end{patch} + +\begin{patch}{generalFortranPagePatch42} +\begin{paste}{generalFortranPageFull42}{generalFortranPageEmpty42} +\pastebutton{generalFortranPageFull42}{\hidepaste} +\tab{5}\spadcommand{outputAsFortran([c,returns()]::FP)\free{FP c Z }} +\indentrel{3}\begin{verbatim} + Type: Void +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{generalFortranPageEmpty42} +\begin{paste}{generalFortranPageEmpty42}{generalFortranPagePatch42} +\pastebutton{generalFortranPageEmpty42}{\showpaste} +\tab{5}\spadcommand{outputAsFortran([c,returns()]::FP)\free{FP c Z }} +\end{paste}\end{patch} + @ \pagehead{nagTechnicalPage}{ug15.ht}{Some technical information} <>= @@ -47748,6 +115728,22 @@ Various messages have been added or rewritten for clarity. \autobuttons \end{page} +\begin{patch}{ugWhatsNewLanguagePagePatch1} +\begin{paste}{ugWhatsNewLanguagePageFull1}{ugWhatsNewLanguagePageEmpty1} +\pastebutton{ugWhatsNewLanguagePageFull1}{\hidepaste} +\tab{5}\spadcommand{set [1,2,3,4]} +\indentrel{3}\begin{verbatim} + (1) {1,2,3,4} + Type: Set PositiveInteger +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{ugWhatsNewLanguagePageEmpty1} +\begin{paste}{ugWhatsNewLanguagePageEmpty1}{ugWhatsNewLanguagePagePatch1} +\pastebutton{ugWhatsNewLanguagePageEmpty1}{\showpaste} +\tab{5}\spadcommand{set [1,2,3,4]} +\end{paste}\end{patch} + @ \pagehead{ugWhatsNewLibraryPage}{ug15.ht}{Library} \pageto{notitle}{FullPartialFracExpansionXmpPage} @@ -51737,9 +119733,7 @@ displays and acts like this The best way to familiarise yourself to macros is to study the macros defined in -\centerline{ -{\bf \env{AXIOM}/doc/hypertex/pages/util.ht} -} +\centerline{{\bf util.ht}} It is highly probable that a good many of them will prove useful to you. Clever use of macros will allow you to @@ -52020,7 +120014,7 @@ Set the environment variable {\tt HTPATH} so that it points first to your directory and then the system directory. In the {\bf /bin/csh}, you might use \centerline{ -{\tt setenv HTPATH /tmp:\$AXIOM/doc/hypertex/pages} +{\tt setenv HTPATH /tmp:\$AXIOM/doc} } Make sure that no {\bf trypaste.input} or {\bf trypaste.pht} files exist in the directory. @@ -53602,7 +121596,7 @@ of an X11 bitmap file. \begin{paste}{HTXFormatPage8xPaste1}{HTXFormatPage8xPatch1} \pastebutton{HTXFormatPage8xPaste1}{Interpret} \newline -{\tt \\inputbitmap\{\env{AXIOM}/doc/hypertex/bitmaps/sup.bitmap\} } +{\tt \\inputbitmap\{\env{AXIOM}/doc/bitmaps/sup.bitmap\} } \end{paste} \endImportant @@ -53628,7 +121622,7 @@ the {\it image.xpm} or the {\it image.bm} file for you based on the capabilities of your X server. For your convenience, there are two macros defined -in \centerline{ {\bf \env{AXIOM}{}/doc/hypertex/pages/util.ht}.} +in \centerline{ {\bf util.ht}.} The {\tt \\viewport} macro eliminates the need to specify the {\tt .view/image} part and the {\tt \\axiomViewport} macro automatically selects viewport @@ -53662,14 +121656,14 @@ or \begin{paste}{HTXFormatPage8xPaste1A}{HTXFormatPage8xPatch1A} \pastebutton{HTXFormatPage8xPaste1A}{Source} \newline -\inputbitmap{\env{AXIOM}/doc/hypertex/bitmaps/sup.bitmap} +\inputbitmap{\env{AXIOM}/doc/bitmaps/sup.bitmap} \end{paste} \end{patch} \begin{patch}{HTXFormatPage8xPatch1A} \begin{paste}{HTXFormatPage8xPaste1B}{HTXFormatPage8xPatch1} \pastebutton{HTXFormatPage8xPaste1B}{Interpret} \newline -{\tt \\inputbitmap\{\env{AXIOM}/doc/hypertex/bitmaps/sup.bitmap\} } +{\tt \\inputbitmap\{\env{AXIOM}/doc/bitmaps/sup.bitmap\} } \end{paste} \end{patch} @@ -53882,7 +121876,7 @@ in the case where you have started Hyperdoc with the Axiom database --- see \downlink{later on}{HTXLinkPage6}. It is suggested that the page names you define start with the letters {\tt UX} (standing for {\tt U}ser e{\tt X}tensions). You can have a look at the Axiom system -database file {\centerline{\bf \env{AXIOM}/doc/hypertex/pages/ht.db} } +database file {\centerline{\bf \env{AXIOM}/doc/ht.db} } which contains the names of all pages, macros and patches used by Axiom. @@ -54208,7 +122202,7 @@ the {\tt AXIOM} environment variable is not set. If it is, then Hyperdoc will assume that it points to the Axiom system directory and will look for these files in -{\bf \$AXIOM/doc/hypertex/bitmaps}. +{\bf \$AXIOM/doc/bitmaps}. \end{scroll} \beginmenu @@ -54271,7 +122265,7 @@ This section explains how to include Axiom commands in your page. The commands we will introduce are actually {\it macros} that are defined in -\centerline{{\bf \env{AXIOM}/doc/hypertex/pages/util.ht}} +\centerline{{\bf \env{AXIOM}/doc/util.ht}} This means that you can use them only if you include this file in your Hyperdoc database. @@ -54694,7 +122688,7 @@ Now, the most important use of this facility so far has been in the \Browse{} and Basic Commands components of Hyperdoc. Instead of giving you details of the various \Browse{} {\it Lisp} functions, a few macros are defined in -\centerline{{\bf \$AXIOM/doc/hypertex/pages/util.ht}} +\centerline{{\bf \$AXIOM/doc/util.ht}} The most important defined macros are \beginImportant @@ -54991,7 +122985,7 @@ file known to contain just one page. \pastebutton{HTXLinkPage5xPaste2}{Interpret} \newline {\tt \\unixlink\{Some file\}} \newline -{\tt \{cat\\ \\env\{AXIOM\}/doc/hypertex/pages/HTXplay.ht\}} +{\tt \{cat\\ \\env\{AXIOM\}/doc/HTXplay.ht\}} \end{paste} \endImportant @@ -55057,7 +123051,7 @@ a file by clicking on its name. \pastebutton{HTXLinkPage5xPaste2A}{Source} \newline \unixlink{Some file} -{cat\ \env{AXIOM}/doc/hypertex/pages/HTXplay.ht} +{cat\ \env{AXIOM}/doc/HTXplay.ht} \end{paste} \end{patch} @@ -55073,7 +123067,7 @@ a file by clicking on its name. \pastebutton{HTXLinkPage5xPaste2B}{Interpret} \newline {\tt \\unixlink\{Some file\}} \newline -{\tt \{cat\\ \\env\{AXIOM\}/doc/hypertex/pages/HTXplay.ht\}} +{\tt \{cat\\ \\env\{AXIOM\}/doc/HTXplay.ht\}} \end{paste} \end{patch} @@ -55106,7 +123100,7 @@ a line like this. \endImportant This macro is defined in -\centerline{ {\bf \env{AXIOM}/doc/hypertex/pages/util.ht}} +\centerline{ {\bf \env{AXIOM}/doc/util.ht}} to be (see \downlink{Macros}{HTXAdvPage3} to learn how to define macros): \beginImportant \newline @@ -55161,7 +123155,7 @@ list of directory full pathnames. The order of the directories is respected with earlier entries overriding later ones. Since we want all the Axiom pages but need to override the {\tt \\localinfo} macro, we should use the value -\centerline{{\bf /u/sugar/Hyperdoc:\env{AXIOM}/doc/hypertex/pages}} +\centerline{{\bf /u/sugar/Hyperdoc:\env{AXIOM}/doc}} The way that you define environment variables depends on the shell you are using. In the {\bf /bin/csh}, it would be \newline @@ -55225,9 +123219,9 @@ is specified. {\tt -s}\tab{8}\indentrel{8} build {\bf ht.db} database in {\it system} directory. The system directory is built as follows. If the {\tt AXIOM} -variable is defined, the {\bf \$AXIOM/doc/hypertex/pages} directory +variable is defined, the {\bf \$AXIOM/doc} directory is used. If {\tt AXIOM} is not defined, the -{\bf /usr/local/axiom/doc/hypertex/pages} directory is used. +{\bf /usr/local/axiom/doc} directory is used. \indentrel{-8}\newline @@ -55258,7 +123252,7 @@ Otherwise, the following interpretation will occur: If the {\tt HTPATH} variable is defined, the directories specified in it will be tried in order. If {\tt HTPATH} is not defined, then, if {\tt AXIOM} is defined, the -{\bf \$AXIOM/doc/hypertex/pages} will be tried, else +{\bf \$AXIOM/doc} will be tried, else the file will be deemed missing and {\bf htadd} will fail. \indentrel{-12} \end{paste} @@ -55293,7 +123287,7 @@ the file will be deemed missing and {\bf htadd} will fail. The Hyperdoc program is \centerline{{\bf \env{AXIOM}/lib/hypertex}} If {\tt AXIOM} is defined and {\tt HTPATH} is not (this is the case when Axiom starts Hyperdoc) Hyperdoc will look in -\centerline{{\bf \env{AXIOM}/doc/hypertex/pages}} +\centerline{{\bf \env{AXIOM}/doc}} for the {\bf ht.db} file and all Hyperdoc pages. If {\tt HTPATH} is defined, it is assumed that it alone points to the directories to be searched (the above default will @@ -55424,7 +123418,7 @@ just get back to this page and click on {\bf Link} again. } \beginmenu {\it Filename: }{\inputstring{filename}{40}{\env{HOME}/HTXplay.ht}} \menuunixcommand{Initialize} -{cp\space{1}\env{AXIOM}/doc/hypertex/pages/HTXplay.ht +{cp\space{1}\env{AXIOM}/doc/HTXplay.ht \stringvalue{filename}} \tab{20} Get a fresh copy from the system. \menuunixcommand{Edit}{xterm -T "\stringvalue{filename}" -e vi \stringvalue{filename}} \tab{20} Edit the file. @@ -118054,6 +186048,212 @@ results. This whole process was transparent to the user. %\downlink{Decision Agents}{UXANNADec} \end{page} +\begin{patch}{UXANNAExPatch1} +\begin{paste}{UXANNAExFull1}{UXANNAExEmpty1} +\pastebutton{UXANNAExFull1}{\hidepaste} +\tab{5}\spadcommand{ans := integrate((exp(-X^3)+exp(-3*X^2))/sqrt(X),0.0..\%plusInfinity)\bound{ans }} +\indentrel{3}\begin{verbatim} + (1) + [d01ajfAnnaTypeAnswer: Result, abserr: DoubleFloat, + method: Result, result: DoubleFloat, + explanations: List(String), attributes: List(Any), + d01apfAnnaTypeAnswer: Result] + Type: Result +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UXANNAExEmpty1} +\begin{paste}{UXANNAExEmpty1}{UXANNAExPatch1} +\pastebutton{UXANNAExEmpty1}{\showpaste} +\tab{5}\spadcommand{ans := integrate((exp(-X^3)+exp(-3*X^2))/sqrt(X),0.0..\%plusInfinity)\bound{ans }} +\end{paste}\end{patch} + +\begin{patch}{UXANNAExPatch2} +\begin{paste}{UXANNAExFull2}{UXANNAExEmpty2} +\pastebutton{UXANNAExFull2}{\hidepaste} +\tab{5}\spadcommand{ans . 'result\free{ans }} +\indentrel{3}\begin{verbatim} + (2) 3.23287256251958 + Type: DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UXANNAExEmpty2} +\begin{paste}{UXANNAExEmpty2}{UXANNAExPatch2} +\pastebutton{UXANNAExEmpty2}{\showpaste} +\tab{5}\spadcommand{ans . 'result\free{ans }} +\end{paste}\end{patch} + +\begin{patch}{UXANNAExPatch3} +\begin{paste}{UXANNAExFull3}{UXANNAExEmpty3} +\pastebutton{UXANNAExFull3}{\hidepaste} +\tab{5}\spadcommand{ans . 'abserr\free{ans }} +\indentrel{3}\begin{verbatim} + (3) 2.69960156338737e-08 + Type: DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UXANNAExEmpty3} +\begin{paste}{UXANNAExEmpty3}{UXANNAExPatch3} +\pastebutton{UXANNAExEmpty3}{\showpaste} +\tab{5}\spadcommand{ans . 'abserr\free{ans }} +\end{paste}\end{patch} + +\begin{patch}{UXANNAEx2Patch1} +\begin{paste}{UXANNAEx2Full1}{UXANNAEx2Empty1} +\pastebutton{UXANNAEx2Full1}{\hidepaste} +\tab{5}\spadcommand{ans2 := solve([Y[2],-1001*Y[2]-1000*Y[1]], 0.0, 10.0, [1.0,-1.0], [2,4,6,8], 1.0e-4)\bound{ans2 }} +\indentrel{3}\begin{verbatim} + (1) + [ifail: Integer, intensityFunctions: List(String), + tol: DoubleFloat, result: Matrix(DoubleFloat), + y: Matrix(DoubleFloat), method: Result, + explanations: List(String), x: DoubleFloat] + Type: Result +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UXANNAEx2Empty1} +\begin{paste}{UXANNAEx2Empty1}{UXANNAEx2Patch1} +\pastebutton{UXANNAEx2Empty1}{\showpaste} +\tab{5}\spadcommand{ans2 := solve([Y[2],-1001*Y[2]-1000*Y[1]], 0.0, 10.0, [1.0,-1.0], [2,4,6,8], 1.0e-4)\bound{ans2 }} +\end{paste}\end{patch} + +\begin{patch}{UXANNAEx2Patch2} +\begin{paste}{UXANNAEx2Full2}{UXANNAEx2Empty2} +\pastebutton{UXANNAEx2Full2}{\hidepaste} +\tab{5}\spadcommand{ans2 . 'result\free{ans2 }} +\indentrel{3}\begin{verbatim} + Ú 1.0 - 1.0 ¿ + ³ ³ + ³ 0.135329965475963 - 0.135329965475963 ³ + ³ ³ + (2) ³ 0.018315370486087 - 0.0183153704860871 ³ + ³ ³ + ³0.00247869592278824 - 0.00247869592278825 ³ + ³ ³ + À0.000335497710871914 - 0.000335497710871913Ù + Type: Matrix DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UXANNAEx2Empty2} +\begin{paste}{UXANNAEx2Empty2}{UXANNAEx2Patch2} +\pastebutton{UXANNAEx2Empty2}{\showpaste} +\tab{5}\spadcommand{ans2 . 'result\free{ans2 }} +\end{paste}\end{patch} + +\begin{patch}{UXANNAEx2Patch3} +\begin{paste}{UXANNAEx2Full3}{UXANNAEx2Empty3} +\pastebutton{UXANNAEx2Full3}{\hidepaste} +\tab{5}\spadcommand{ans2 . 'y\free{ans2 }} +\indentrel{3}\begin{verbatim} + (3) [4.54002176643708e-05 - 4.54002176643708e-05] + Type: Matrix DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UXANNAEx2Empty3} +\begin{paste}{UXANNAEx2Empty3}{UXANNAEx2Patch3} +\pastebutton{UXANNAEx2Empty3}{\showpaste} +\tab{5}\spadcommand{ans2 . 'y\free{ans2 }} +\end{paste}\end{patch} + +\begin{patch}{UXANNAEx3Patch1} +\begin{paste}{UXANNAEx3Full1}{UXANNAEx3Empty1} +\pastebutton{UXANNAEx3Full1}{\hidepaste} +\tab{5}\spadcommand{ans3 := optimize((X[1]+10*X[2])**2 + 5*(X[3]-X[4])**2 + (X[2]-2*X[3])**4 + 10*(X[1]-X[4])**4, [3,-1,0,1], [1,-2,\%minusInfinity,1], [3,0,\%plusInfinity,3])\bound{ans3 }} +\indentrel{3}\begin{verbatim} + (1) + [ifail: Integer, bl: Matrix(DoubleFloat), + bu: Matrix(DoubleFloat), method: Result, + attributes: List(String), explanations: List(String), + x: Matrix(DoubleFloat), objf: DoubleFloat] + Type: Result +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UXANNAEx3Empty1} +\begin{paste}{UXANNAEx3Empty1}{UXANNAEx3Patch1} +\pastebutton{UXANNAEx3Empty1}{\showpaste} +\tab{5}\spadcommand{ans3 := optimize((X[1]+10*X[2])**2 + 5*(X[3]-X[4])**2 + (X[2]-2*X[3])**4 + 10*(X[1]-X[4])**4, [3,-1,0,1], [1,-2,\%minusInfinity,1], [3,0,\%plusInfinity,3])\bound{ans3 }} +\end{paste}\end{patch} + +\begin{patch}{UXANNAEx3Patch2} +\begin{paste}{UXANNAEx3Full2}{UXANNAEx3Empty2} +\pastebutton{UXANNAEx3Full2}{\hidepaste} +\tab{5}\spadcommand{ans3 . objf\free{ans3 }} +\indentrel{3}\begin{verbatim} + (2) 2.43378751212073 + Type: DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UXANNAEx3Empty2} +\begin{paste}{UXANNAEx3Empty2}{UXANNAEx3Patch2} +\pastebutton{UXANNAEx3Empty2}{\showpaste} +\tab{5}\spadcommand{ans3 . objf\free{ans3 }} +\end{paste}\end{patch} + +\begin{patch}{UXANNAEx3Patch3} +\begin{paste}{UXANNAEx3Full3}{UXANNAEx3Empty3} +\pastebutton{UXANNAEx3Full3}{\hidepaste} +\tab{5}\spadcommand{ans3 . x\free{ans3 }} +\indentrel{3}\begin{verbatim} + (3) + [1.0 - 0.0852325900999037 0.409303588204477 1.0] + Type: Matrix DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UXANNAEx3Empty3} +\begin{paste}{UXANNAEx3Empty3}{UXANNAEx3Patch3} +\pastebutton{UXANNAEx3Empty3}{\showpaste} +\tab{5}\spadcommand{ans3 . x\free{ans3 }} +\end{paste}\end{patch} + +\begin{patch}{UXANNAEx3Patch4} +\begin{paste}{UXANNAEx3Full4}{UXANNAEx3Empty4} +\pastebutton{UXANNAEx3Full4}{\hidepaste} +\tab{5}\spadcommand{ans3 . attributes\free{ans3 }} +\indentrel{3}\begin{verbatim} + (4) + ["The object function is non-linear", + "There are simple bounds on the variables", + "There are no constraint functions"] + Type: List String +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UXANNAEx3Empty4} +\begin{paste}{UXANNAEx3Empty4}{UXANNAEx3Patch4} +\pastebutton{UXANNAEx3Empty4}{\showpaste} +\tab{5}\spadcommand{ans3 . attributes\free{ans3 }} +\end{paste}\end{patch} + +\begin{patch}{UXANNAAgentPatch1} +\begin{paste}{UXANNAAgentFull1}{UXANNAAgentEmpty1} +\pastebutton{UXANNAAgentFull1}{\hidepaste} +\tab{5}\spadcommand{s := singularitiesOf(tan x,[x],0..12*\%pi)$ESCONT\free{lib3 }} +\indentrel{3}\begin{verbatim} + (1) + [1.5707963267948966, 4.7123889803846897, + 7.8539816339744828, 10.995574287564276, + 14.137166941154069, 17.27875959474386, + 20.420352248333657, 23.561944901923447, + 26.703537555513243, 29.845130209103033, ...] + Type: Stream DoubleFloat +\end{verbatim} +\indentrel{-3}\end{paste}\end{patch} + +\begin{patch}{UXANNAAgentEmpty1} +\begin{paste}{UXANNAAgentEmpty1}{UXANNAAgentPatch1} +\pastebutton{UXANNAAgentEmpty1}{\showpaste} +\tab{5}\spadcommand{s := singularitiesOf(tan x,[x],0..12*\%pi)$ESCONT\free{lib3 }} +\end{paste}\end{patch} + + @ \pagehead{UXANNAEx2}{annaex.ht}{Example using the Axiom/NAG Expert System} \pageto{notitle}{UXANNAEx3} @@ -120072,7 +188272,7 @@ PAGELIST= ${PHT} algebra aspex basic bmcat cphelp expose gloss \ -HYPER=${MNT}/${SYS}/doc/hypertex/pages +HYPER=${MNT}/${SYS}/doc PAGEFILE=${HYPER}/bookvol7.1.pamphlet SMAN=${MNT}/${SYS}/bin/sman @@ -120098,32 +188298,17 @@ ${PAGEFILE}: ${BOOK} @${TANGLE} -R"$*.ht" ${BOOK} >${HYPER}/$*.ht @ -Note that I've commented out the paste file creation process -as it hangs occasionally leading to a failed build. We need -to figure out where the graphics "goes off into the weeds" and hangs. -Killing the process confuses make and leads to bad results. -Ulimately the commented loop needs to be fixed and the line: -\begin{verbatim} - @ cp -pr ${IN}/*.pht ${HYPER} -\end{verbatim} -should be removed. +The patch/paste files are now included directly in bookvol7.1 +Add new patch/paste files is a manual process when editing the book. <<*>>= ${HYPER}/ht.db: ${BOOK} @echo 2 making ${HYPER} from ${BOOK} -# @ (cd ${HYPER} ; \ -# htadd *.ht ; \ -# for j in ${PHT} ; do \ -# echo 2a making $$j.pht from $$j.ht ; \ -# ${SMAN} -noihere -paste $$j.ht ; \ -# done ) - @ cp -pr ${IN}/pages/*.pht ${HYPER} @ (cd ${HYPER} ; \ rm -f ht.db ; \ - rm -f *~ ; \ - htadd ${PAGEFILE} *.pht ) + htadd ${PAGEFILE} ) @ cp -pr ${IN}/bitmaps ${HYPER} - @ cp -pr ${IN}/viewports ${MNT}/${SYS}/doc + @ cp -pr ${IN}/viewports ${HYPER} @ diff --git a/books/bookvol7.pamphlet b/books/bookvol7.pamphlet index 776042b..1ce229c 100644 --- a/books/bookvol7.pamphlet +++ b/books/bookvol7.pamphlet @@ -1681,7 +1681,7 @@ static int buildHtFilename(char *fname, char *aname, char *name) { HTPATH = (char *) getenv("HTPATH"); if (HTPATH == NULL) { /** The user does not have a HTPATH, so I will use the the directory - $AXIOM/doc/hypertex/pages/ as the default path ***/ + $AXIOM/doc as the default path ***/ char *spad = (char *) getenv("AXIOM"); if (spad == NULL) { fprintf(stderr, @@ -1690,7 +1690,7 @@ static int buildHtFilename(char *fname, char *aname, char *name) { } HTPATH = (char *) halloc(1024 * sizeof(char), "HTPATH"); strcpy(HTPATH, spad); - strcat(HTPATH, "/doc/hypertex/pages"); + strcat(HTPATH, "/doc"); } /** Now that I have filled HTPATH, I should try to open a file by the given name **/ @@ -1755,7 +1755,7 @@ FILE *htFileOpen(char *fname, char *aname, char *name) { \subsection{dbFileOpen} This function is responsible for actually opening the database file. For the moment it gets the \$AXIOM environment variable, and appends to it -``doc/hypertex/ht.db'', and then opens it +``doc/ht.db'', and then opens it Modified on 12/3/89 to take a second argument. This argument tells the open routine whether it is reading the db file, or writing it. If writing @@ -1790,7 +1790,7 @@ FILE *dbFileOpen(char *dbFile) { } gDatabasePath = (char *) halloc(sizeof(char) * 1024, "dbFileOpen"); strcpy(gDatabasePath, spad); - strcat(gDatabasePath, "/doc/hypertex/pages"); + strcat(gDatabasePath, "/doc"); } db_path_trace = gDatabasePath; } @@ -1804,15 +1804,14 @@ FILE *dbFileOpen(char *dbFile) { *dbFile_trace++ = *db_path_trace; *dbFile_trace = '\0'; strcat(dbFile_trace, "/ht.db"); -/* -fprintf(stderr,"addfile:dbFileOpen: dbFile_trace=%s\n",dbFile_trace); -fprintf(stderr,"addfile:dbFileOpen: dbFile=%s\n",dbFile); -*/ +/* fprintf(stderr,"addfile:dbFileOpen: dbFile_trace=%s\n",dbFile_trace); */ +/* fprintf(stderr,"addfile:dbFileOpen: dbFile=%s\n",dbFile); */ db_fp = fopen(dbFile, "r"); if (*db_path_trace != '\0') db_path_trace++; } -/* if (db_fp == NULL) +/* + if (db_fp == NULL) fprintf(stderr,"addfile:dbFileOpen: exit (null)\n"); else fprintf(stderr,"addfile:dbFileOpen: exit opened\n"); @@ -3457,7 +3456,7 @@ hfree(char *p) { \section{hyper.h} The \verb|hypertex| function, of which this is the top level, is a browser for Axiom information. It works off a database of pages. The pages are -stored in the \verb|$AXIOM/doc/hypertex/pages| subdirectory and there is +stored in the \verb|$AXIOM/doc| subdirectory and there is a key file called \verb|ht.db| in that subdirectory which contains critical information about each page. If you add or delete pages you must rerun the \verb|htadd| command. @@ -3466,12 +3465,12 @@ must rerun the \verb|htadd| command. Generally, if you add or delete pages you can recreate a proper \verb|pages/ht.db| file by doing: \begin{verbatim} -cd $AXIOM/doc/hypertex +cd $AXIOM/doc htadd -f pages -n pages/* \end{verbatim} -The \verb|hypertex| function looks in \verb|$AXIOM/doc/hypertex/pages| by +The \verb|hypertex| function looks in \verb|$AXIOM/doc| by default. This can be over-ridden by setting the \verb|HTPATH| shell variable to point to the desired directory containing the pages and the ht.db file. @@ -4496,7 +4495,7 @@ int main(int argc, char **argv){ @ \chapter{The htadd command} The \verb|htadd| function can manipulate the database of hypertex pages. -To rebuild the hypertex database changes to the \verb|$AXIOM/doc/hypertex| +To rebuild the hypertex database changes to the \verb|$AXIOM/doc| subdirectory and type: \begin{verbatim} htadd -f pages -n pages/* @@ -4706,8 +4705,8 @@ static int buildDBFilename(short flag, char *db_dir, char *dbfilename) { "buildDBFilename: Defaulting on $AXIOM\n"); SPAD = (char *) def_spad; } - sprintf(dbfilename, "%s/doc/hypertex/pages/%s", SPAD, dbFileName); - sprintf(path, "%s/doc/hypertex/pages", SPAD); + sprintf(dbfilename, "%s/doc/%s", SPAD, dbFileName); + sprintf(path, "%s/doc", SPAD); } else if (flag & Named) { sprintf(dbfilename, "%s/%s", db_dir, dbFileName); @@ -19866,31 +19865,31 @@ static void readTitleBarImages(void) { char *axiomEnvVar = NULL; axiomEnvVar = getenv("AXIOM"); if (axiomEnvVar) - sprintf(filename, "%s/doc/hypertex/bitmaps/%s", axiomEnvVar, tw1file); + sprintf(filename, "%s/doc/bitmaps/%s", axiomEnvVar, tw1file); else sprintf(filename, "%s", tw1file); tw1image = HTReadBitmapFile(gXDisplay, gXScreenNumber, filename, &twwidth, &twheight); if (axiomEnvVar) - sprintf(filename, "%s/doc/hypertex/bitmaps/%s", axiomEnvVar, tw2file); + sprintf(filename, "%s/doc/bitmaps/%s", axiomEnvVar, tw2file); else sprintf(filename, "%s", tw2file); tw2image = HTReadBitmapFile(gXDisplay, gXScreenNumber, filename, &w, &h); twwidth = ((twwidth >= w) ? (twwidth) : (w)); if (axiomEnvVar) - sprintf(filename, "%s/doc/hypertex/bitmaps/%s", axiomEnvVar, tw3file); + sprintf(filename, "%s/doc/bitmaps/%s", axiomEnvVar, tw3file); else sprintf(filename, "%s", tw3file); tw3image = HTReadBitmapFile(gXDisplay, gXScreenNumber, filename, &w, &h); twwidth = ((twwidth >= w) ? (twwidth) : (w)); if (axiomEnvVar) - sprintf(filename, "%s/doc/hypertex/bitmaps/%s", axiomEnvVar, tw4file); + sprintf(filename, "%s/doc/bitmaps/%s", axiomEnvVar, tw4file); else sprintf(filename, "%s", tw4file); tw4image = HTReadBitmapFile(gXDisplay, gXScreenNumber, filename, &w, &h); twwidth = ((twwidth >= w) ? (twwidth) : (w)); if (axiomEnvVar) - sprintf(filename, "%s/doc/hypertex/bitmaps/%s", axiomEnvVar, noopfile); + sprintf(filename, "%s/doc/bitmaps/%s", axiomEnvVar, noopfile); else sprintf(filename, "%s", noopfile); noopimage = HTReadBitmapFile(gXDisplay, gXScreenNumber, filename, @@ -20025,7 +20024,7 @@ The syntax of the command is: #!/bin/sh htbindir=$AXIOM/lib -htpagedir=$AXIOM/doc/hypertex/pages +htpagedir=$AXIOM/doc if test -z "$1" then @@ -20605,8 +20604,7 @@ INC= ${SRC}/include # this is where we hid the libspad library LIB= ${OBJ}/${SYS}/lib -HYPER=${MNT}/${SYS}/doc/hypertex -BMAPS=${HYPER}/bitmaps +HYPER=${MNT}/${SYS}/doc CFLAGS= ${CCF} LDFLAGS= -L${LIB} -lspad ${LDF} @@ -20621,7 +20619,7 @@ HYPER_LIBS=${LIBS} ${LIB}/pixmap.o ${LIB}/spadcolors.o ${LIB}/util.o all: ${OUTLIB}/spadbuf ${OUTLIB}/ex2ht ${OUTBIN}/htadd ${OUTLIB}/hthits \ ${OUTLIB}/htsearch ${OUTLIB}/presea ${OUTBIN}/hypertex \ ${HYPER}/axbook ${HYPER}/bigbayou.png ${HYPER}/doctitle.png - @cp ${IN}/bitmaps/* ${HYPER}/bitmaps + @cp -pr ${IN}/bitmaps ${HYPER} @ echo 0 finished ${BOOK} ${OUTLIB}/spadbuf: ${BOOK} diff --git a/books/pages/alist.pht b/books/pages/alist.pht deleted file mode 100644 index 3cf6ce8..0000000 --- a/books/pages/alist.pht +++ /dev/null @@ -1,173 +0,0 @@ -\begin{patch}{AssociationListXmpPagePatch1} -\begin{paste}{AssociationListXmpPageFull1}{AssociationListXmpPageEmpty1} -\pastebutton{AssociationListXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{Data := Record(monthsOld : Integer, gender : String)\bound{Data }} -\indentrel{3}\begin{verbatim} - (1) Record(monthsOld: Integer,gender: String) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{AssociationListXmpPageEmpty1} -\begin{paste}{AssociationListXmpPageEmpty1}{AssociationListXmpPagePatch1} -\pastebutton{AssociationListXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{Data := Record(monthsOld : Integer, gender : String)\bound{Data }} -\end{paste}\end{patch} - -\begin{patch}{AssociationListXmpPagePatch2} -\begin{paste}{AssociationListXmpPageFull2}{AssociationListXmpPageEmpty2} -\pastebutton{AssociationListXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{al : AssociationList(String,Data)\free{Data }\bound{al }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{AssociationListXmpPageEmpty2} -\begin{paste}{AssociationListXmpPageEmpty2}{AssociationListXmpPagePatch2} -\pastebutton{AssociationListXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{al : AssociationList(String,Data)\free{Data }\bound{al }} -\end{paste}\end{patch} - -\begin{patch}{AssociationListXmpPagePatch3} -\begin{paste}{AssociationListXmpPageFull3}{AssociationListXmpPageEmpty3} -\pastebutton{AssociationListXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{al := table()\free{al }\bound{al1 }} -\indentrel{3}\begin{verbatim} - (3) table() -Type: AssociationList(String,Record(monthsOld: Integer,gender: String)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{AssociationListXmpPageEmpty3} -\begin{paste}{AssociationListXmpPageEmpty3}{AssociationListXmpPagePatch3} -\pastebutton{AssociationListXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{al := table()\free{al }\bound{al1 }} -\end{paste}\end{patch} - -\begin{patch}{AssociationListXmpPagePatch4} -\begin{paste}{AssociationListXmpPageFull4}{AssociationListXmpPageEmpty4} -\pastebutton{AssociationListXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{al."bob" := [407,"male"]$Data\free{al1 }\bound{al2 }} -\indentrel{3}\begin{verbatim} - (4) [monthsOld= 407,gender= "male"] - Type: Record(monthsOld: Integer,gender: String) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{AssociationListXmpPageEmpty4} -\begin{paste}{AssociationListXmpPageEmpty4}{AssociationListXmpPagePatch4} -\pastebutton{AssociationListXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{al."bob" := [407,"male"]$Data\free{al1 }\bound{al2 }} -\end{paste}\end{patch} - -\begin{patch}{AssociationListXmpPagePatch5} -\begin{paste}{AssociationListXmpPageFull5}{AssociationListXmpPageEmpty5} -\pastebutton{AssociationListXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{al."judith" := [366,"female"]$Data\free{al2 }\bound{al3 }} -\indentrel{3}\begin{verbatim} - (5) [monthsOld= 366,gender= "female"] - Type: Record(monthsOld: Integer,gender: String) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{AssociationListXmpPageEmpty5} -\begin{paste}{AssociationListXmpPageEmpty5}{AssociationListXmpPagePatch5} -\pastebutton{AssociationListXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{al."judith" := [366,"female"]$Data\free{al2 }\bound{al3 }} -\end{paste}\end{patch} - -\begin{patch}{AssociationListXmpPagePatch6} -\begin{paste}{AssociationListXmpPageFull6}{AssociationListXmpPageEmpty6} -\pastebutton{AssociationListXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{al."katie" := [24,"female"]$Data\free{al3 }\bound{al4 }} -\indentrel{3}\begin{verbatim} - (6) [monthsOld= 24,gender= "female"] - Type: Record(monthsOld: Integer,gender: String) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{AssociationListXmpPageEmpty6} -\begin{paste}{AssociationListXmpPageEmpty6}{AssociationListXmpPagePatch6} -\pastebutton{AssociationListXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{al."katie" := [24,"female"]$Data\free{al3 }\bound{al4 }} -\end{paste}\end{patch} - -\begin{patch}{AssociationListXmpPagePatch7} -\begin{paste}{AssociationListXmpPageFull7}{AssociationListXmpPageEmpty7} -\pastebutton{AssociationListXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{al."smokie" := [200,"female"]$Data\free{al4 }\bound{al5 }} -\indentrel{3}\begin{verbatim} - (7) [monthsOld= 200,gender= "female"] - Type: Record(monthsOld: Integer,gender: String) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{AssociationListXmpPageEmpty7} -\begin{paste}{AssociationListXmpPageEmpty7}{AssociationListXmpPagePatch7} -\pastebutton{AssociationListXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{al."smokie" := [200,"female"]$Data\free{al4 }\bound{al5 }} -\end{paste}\end{patch} - -\begin{patch}{AssociationListXmpPagePatch8} -\begin{paste}{AssociationListXmpPageFull8}{AssociationListXmpPageEmpty8} -\pastebutton{AssociationListXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{al\free{al5 }} -\indentrel{3}\begin{verbatim} - (8) - table - "smokie"= [monthsOld= 200,gender= "female"] - , - "katie"= [monthsOld= 24,gender= "female"] - , - "judith"= [monthsOld= 366,gender= "female"] - , - "bob"= [monthsOld= 407,gender= "male"] -Type: AssociationList(String,Record(monthsOld: Integer,gender: String)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{AssociationListXmpPageEmpty8} -\begin{paste}{AssociationListXmpPageEmpty8}{AssociationListXmpPagePatch8} -\pastebutton{AssociationListXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{al\free{al5 }} -\end{paste}\end{patch} - -\begin{patch}{AssociationListXmpPagePatch9} -\begin{paste}{AssociationListXmpPageFull9}{AssociationListXmpPageEmpty9} -\pastebutton{AssociationListXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{al."katie" := [23,"female"]$Data\free{al5 }\bound{al6 }} -\indentrel{3}\begin{verbatim} - (9) [monthsOld= 23,gender= "female"] - Type: Record(monthsOld: Integer,gender: String) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{AssociationListXmpPageEmpty9} -\begin{paste}{AssociationListXmpPageEmpty9}{AssociationListXmpPagePatch9} -\pastebutton{AssociationListXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{al."katie" := [23,"female"]$Data\free{al5 }\bound{al6 }} -\end{paste}\end{patch} - -\begin{patch}{AssociationListXmpPagePatch10} -\begin{paste}{AssociationListXmpPageFull10}{AssociationListXmpPageEmpty10} -\pastebutton{AssociationListXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{delete!(al,1)\free{al6 }\bound{al7 }} -\indentrel{3}\begin{verbatim} - (10) - table - "katie"= [monthsOld= 23,gender= "female"] - , - "judith"= [monthsOld= 366,gender= "female"] - , - "bob"= [monthsOld= 407,gender= "male"] -Type: AssociationList(String,Record(monthsOld: Integer,gender: String)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{AssociationListXmpPageEmpty10} -\begin{paste}{AssociationListXmpPageEmpty10}{AssociationListXmpPagePatch10} -\pastebutton{AssociationListXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{delete!(al,1)\free{al6 }\bound{al7 }} -\end{paste}\end{patch} - diff --git a/books/pages/anna-es.pht b/books/pages/anna-es.pht deleted file mode 100644 index 6729473..0000000 --- a/books/pages/anna-es.pht +++ /dev/null @@ -1,205 +0,0 @@ -\begin{patch}{UXANNAExPatch1} -\begin{paste}{UXANNAExFull1}{UXANNAExEmpty1} -\pastebutton{UXANNAExFull1}{\hidepaste} -\tab{5}\spadcommand{ans := integrate((exp(-X^3)+exp(-3*X^2))/sqrt(X),0.0..\%plusInfinity)\bound{ans }} -\indentrel{3}\begin{verbatim} - (1) - [d01ajfAnnaTypeAnswer: Result, abserr: DoubleFloat, - method: Result, result: DoubleFloat, - explanations: List(String), attributes: List(Any), - d01apfAnnaTypeAnswer: Result] - Type: Result -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UXANNAExEmpty1} -\begin{paste}{UXANNAExEmpty1}{UXANNAExPatch1} -\pastebutton{UXANNAExEmpty1}{\showpaste} -\tab{5}\spadcommand{ans := integrate((exp(-X^3)+exp(-3*X^2))/sqrt(X),0.0..\%plusInfinity)\bound{ans }} -\end{paste}\end{patch} - -\begin{patch}{UXANNAExPatch2} -\begin{paste}{UXANNAExFull2}{UXANNAExEmpty2} -\pastebutton{UXANNAExFull2}{\hidepaste} -\tab{5}\spadcommand{ans . 'result\free{ans }} -\indentrel{3}\begin{verbatim} - (2) 3.23287256251958 - Type: DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UXANNAExEmpty2} -\begin{paste}{UXANNAExEmpty2}{UXANNAExPatch2} -\pastebutton{UXANNAExEmpty2}{\showpaste} -\tab{5}\spadcommand{ans . 'result\free{ans }} -\end{paste}\end{patch} - -\begin{patch}{UXANNAExPatch3} -\begin{paste}{UXANNAExFull3}{UXANNAExEmpty3} -\pastebutton{UXANNAExFull3}{\hidepaste} -\tab{5}\spadcommand{ans . 'abserr\free{ans }} -\indentrel{3}\begin{verbatim} - (3) 2.69960156338737e-08 - Type: DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UXANNAExEmpty3} -\begin{paste}{UXANNAExEmpty3}{UXANNAExPatch3} -\pastebutton{UXANNAExEmpty3}{\showpaste} -\tab{5}\spadcommand{ans . 'abserr\free{ans }} -\end{paste}\end{patch} - -\begin{patch}{UXANNAEx2Patch1} -\begin{paste}{UXANNAEx2Full1}{UXANNAEx2Empty1} -\pastebutton{UXANNAEx2Full1}{\hidepaste} -\tab{5}\spadcommand{ans2 := solve([Y[2],-1001*Y[2]-1000*Y[1]], 0.0, 10.0, [1.0,-1.0], [2,4,6,8], 1.0e-4)\bound{ans2 }} -\indentrel{3}\begin{verbatim} - (1) - [ifail: Integer, intensityFunctions: List(String), - tol: DoubleFloat, result: Matrix(DoubleFloat), - y: Matrix(DoubleFloat), method: Result, - explanations: List(String), x: DoubleFloat] - Type: Result -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UXANNAEx2Empty1} -\begin{paste}{UXANNAEx2Empty1}{UXANNAEx2Patch1} -\pastebutton{UXANNAEx2Empty1}{\showpaste} -\tab{5}\spadcommand{ans2 := solve([Y[2],-1001*Y[2]-1000*Y[1]], 0.0, 10.0, [1.0,-1.0], [2,4,6,8], 1.0e-4)\bound{ans2 }} -\end{paste}\end{patch} - -\begin{patch}{UXANNAEx2Patch2} -\begin{paste}{UXANNAEx2Full2}{UXANNAEx2Empty2} -\pastebutton{UXANNAEx2Full2}{\hidepaste} -\tab{5}\spadcommand{ans2 . 'result\free{ans2 }} -\indentrel{3}\begin{verbatim} - Ú 1.0 - 1.0 ¿ - ³ ³ - ³ 0.135329965475963 - 0.135329965475963 ³ - ³ ³ - (2) ³ 0.018315370486087 - 0.0183153704860871 ³ - ³ ³ - ³0.00247869592278824 - 0.00247869592278825 ³ - ³ ³ - À0.000335497710871914 - 0.000335497710871913Ù - Type: Matrix DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UXANNAEx2Empty2} -\begin{paste}{UXANNAEx2Empty2}{UXANNAEx2Patch2} -\pastebutton{UXANNAEx2Empty2}{\showpaste} -\tab{5}\spadcommand{ans2 . 'result\free{ans2 }} -\end{paste}\end{patch} - -\begin{patch}{UXANNAEx2Patch3} -\begin{paste}{UXANNAEx2Full3}{UXANNAEx2Empty3} -\pastebutton{UXANNAEx2Full3}{\hidepaste} -\tab{5}\spadcommand{ans2 . 'y\free{ans2 }} -\indentrel{3}\begin{verbatim} - (3) [4.54002176643708e-05 - 4.54002176643708e-05] - Type: Matrix DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UXANNAEx2Empty3} -\begin{paste}{UXANNAEx2Empty3}{UXANNAEx2Patch3} -\pastebutton{UXANNAEx2Empty3}{\showpaste} -\tab{5}\spadcommand{ans2 . 'y\free{ans2 }} -\end{paste}\end{patch} - -\begin{patch}{UXANNAEx3Patch1} -\begin{paste}{UXANNAEx3Full1}{UXANNAEx3Empty1} -\pastebutton{UXANNAEx3Full1}{\hidepaste} -\tab{5}\spadcommand{ans3 := optimize((X[1]+10*X[2])**2 + 5*(X[3]-X[4])**2 + (X[2]-2*X[3])**4 + 10*(X[1]-X[4])**4, [3,-1,0,1], [1,-2,\%minusInfinity,1], [3,0,\%plusInfinity,3])\bound{ans3 }} -\indentrel{3}\begin{verbatim} - (1) - [ifail: Integer, bl: Matrix(DoubleFloat), - bu: Matrix(DoubleFloat), method: Result, - attributes: List(String), explanations: List(String), - x: Matrix(DoubleFloat), objf: DoubleFloat] - Type: Result -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UXANNAEx3Empty1} -\begin{paste}{UXANNAEx3Empty1}{UXANNAEx3Patch1} -\pastebutton{UXANNAEx3Empty1}{\showpaste} -\tab{5}\spadcommand{ans3 := optimize((X[1]+10*X[2])**2 + 5*(X[3]-X[4])**2 + (X[2]-2*X[3])**4 + 10*(X[1]-X[4])**4, [3,-1,0,1], [1,-2,\%minusInfinity,1], [3,0,\%plusInfinity,3])\bound{ans3 }} -\end{paste}\end{patch} - -\begin{patch}{UXANNAEx3Patch2} -\begin{paste}{UXANNAEx3Full2}{UXANNAEx3Empty2} -\pastebutton{UXANNAEx3Full2}{\hidepaste} -\tab{5}\spadcommand{ans3 . objf\free{ans3 }} -\indentrel{3}\begin{verbatim} - (2) 2.43378751212073 - Type: DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UXANNAEx3Empty2} -\begin{paste}{UXANNAEx3Empty2}{UXANNAEx3Patch2} -\pastebutton{UXANNAEx3Empty2}{\showpaste} -\tab{5}\spadcommand{ans3 . objf\free{ans3 }} -\end{paste}\end{patch} - -\begin{patch}{UXANNAEx3Patch3} -\begin{paste}{UXANNAEx3Full3}{UXANNAEx3Empty3} -\pastebutton{UXANNAEx3Full3}{\hidepaste} -\tab{5}\spadcommand{ans3 . x\free{ans3 }} -\indentrel{3}\begin{verbatim} - (3) - [1.0 - 0.0852325900999037 0.409303588204477 1.0] - Type: Matrix DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UXANNAEx3Empty3} -\begin{paste}{UXANNAEx3Empty3}{UXANNAEx3Patch3} -\pastebutton{UXANNAEx3Empty3}{\showpaste} -\tab{5}\spadcommand{ans3 . x\free{ans3 }} -\end{paste}\end{patch} - -\begin{patch}{UXANNAEx3Patch4} -\begin{paste}{UXANNAEx3Full4}{UXANNAEx3Empty4} -\pastebutton{UXANNAEx3Full4}{\hidepaste} -\tab{5}\spadcommand{ans3 . attributes\free{ans3 }} -\indentrel{3}\begin{verbatim} - (4) - ["The object function is non-linear", - "There are simple bounds on the variables", - "There are no constraint functions"] - Type: List String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UXANNAEx3Empty4} -\begin{paste}{UXANNAEx3Empty4}{UXANNAEx3Patch4} -\pastebutton{UXANNAEx3Empty4}{\showpaste} -\tab{5}\spadcommand{ans3 . attributes\free{ans3 }} -\end{paste}\end{patch} - -\begin{patch}{UXANNAAgentPatch1} -\begin{paste}{UXANNAAgentFull1}{UXANNAAgentEmpty1} -\pastebutton{UXANNAAgentFull1}{\hidepaste} -\tab{5}\spadcommand{s := singularitiesOf(tan x,[x],0..12*\%pi)$ESCONT\free{lib3 }} -\indentrel{3}\begin{verbatim} - (1) - [1.5707963267948966, 4.7123889803846897, - 7.8539816339744828, 10.995574287564276, - 14.137166941154069, 17.27875959474386, - 20.420352248333657, 23.561944901923447, - 26.703537555513243, 29.845130209103033, ...] - Type: Stream DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UXANNAAgentEmpty1} -\begin{paste}{UXANNAAgentEmpty1}{UXANNAAgentPatch1} -\pastebutton{UXANNAAgentEmpty1}{\showpaste} -\tab{5}\spadcommand{s := singularitiesOf(tan x,[x],0..12*\%pi)$ESCONT\free{lib3 }} -\end{paste}\end{patch} - diff --git a/books/pages/array1.pht b/books/pages/array1.pht deleted file mode 100644 index 1a2079a..0000000 --- a/books/pages/array1.pht +++ /dev/null @@ -1,144 +0,0 @@ -\begin{patch}{OneDimensionalArrayXmpPagePatch1} -\begin{paste}{OneDimensionalArrayXmpPageFull1}{OneDimensionalArrayXmpPageEmpty1} -\pastebutton{OneDimensionalArrayXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{oneDimensionalArray [i**2 for i in 1..10]} -\indentrel{3}\begin{verbatim} - (1) [1,4,9,16,25,36,49,64,81,100] - Type: OneDimensionalArray PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OneDimensionalArrayXmpPageEmpty1} -\begin{paste}{OneDimensionalArrayXmpPageEmpty1}{OneDimensionalArrayXmpPagePatch1} -\pastebutton{OneDimensionalArrayXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{oneDimensionalArray [i**2 for i in 1..10]} -\end{paste}\end{patch} - -\begin{patch}{OneDimensionalArrayXmpPagePatch2} -\begin{paste}{OneDimensionalArrayXmpPageFull2}{OneDimensionalArrayXmpPageEmpty2} -\pastebutton{OneDimensionalArrayXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{a : ARRAY1 INT := new(10,0)\bound{a }} -\indentrel{3}\begin{verbatim} - (2) [0,0,0,0,0,0,0,0,0,0] - Type: OneDimensionalArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OneDimensionalArrayXmpPageEmpty2} -\begin{paste}{OneDimensionalArrayXmpPageEmpty2}{OneDimensionalArrayXmpPagePatch2} -\pastebutton{OneDimensionalArrayXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{a : ARRAY1 INT := new(10,0)\bound{a }} -\end{paste}\end{patch} - -\begin{patch}{OneDimensionalArrayXmpPagePatch3} -\begin{paste}{OneDimensionalArrayXmpPageFull3}{OneDimensionalArrayXmpPageEmpty3} -\pastebutton{OneDimensionalArrayXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{for i in 1..10 repeat a.i := i; a\bound{a1 }\free{a }} -\indentrel{3}\begin{verbatim} - (3) [1,2,3,4,5,6,7,8,9,10] - Type: OneDimensionalArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OneDimensionalArrayXmpPageEmpty3} -\begin{paste}{OneDimensionalArrayXmpPageEmpty3}{OneDimensionalArrayXmpPagePatch3} -\pastebutton{OneDimensionalArrayXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{for i in 1..10 repeat a.i := i; a\bound{a1 }\free{a }} -\end{paste}\end{patch} - -\begin{patch}{OneDimensionalArrayXmpPagePatch4} -\begin{paste}{OneDimensionalArrayXmpPageFull4}{OneDimensionalArrayXmpPageEmpty4} -\pastebutton{OneDimensionalArrayXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{map!(i +-> i ** 2,a); a\bound{a3 }\free{a2 }} -\indentrel{3}\begin{verbatim} - (4) [1,4,9,16,25,36,49,64,81,100] - Type: OneDimensionalArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OneDimensionalArrayXmpPageEmpty4} -\begin{paste}{OneDimensionalArrayXmpPageEmpty4}{OneDimensionalArrayXmpPagePatch4} -\pastebutton{OneDimensionalArrayXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{map!(i +-> i ** 2,a); a\bound{a3 }\free{a2 }} -\end{paste}\end{patch} - -\begin{patch}{OneDimensionalArrayXmpPagePatch5} -\begin{paste}{OneDimensionalArrayXmpPageFull5}{OneDimensionalArrayXmpPageEmpty5} -\pastebutton{OneDimensionalArrayXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{reverse! a\bound{a4 }\free{a3 }} -\indentrel{3}\begin{verbatim} - (5) [100,81,64,49,36,25,16,9,4,1] - Type: OneDimensionalArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OneDimensionalArrayXmpPageEmpty5} -\begin{paste}{OneDimensionalArrayXmpPageEmpty5}{OneDimensionalArrayXmpPagePatch5} -\pastebutton{OneDimensionalArrayXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{reverse! a\bound{a4 }\free{a3 }} -\end{paste}\end{patch} - -\begin{patch}{OneDimensionalArrayXmpPagePatch6} -\begin{paste}{OneDimensionalArrayXmpPageFull6}{OneDimensionalArrayXmpPageEmpty6} -\pastebutton{OneDimensionalArrayXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{swap!(a,4,5); a\bound{a5 }\free{a4 }} -\indentrel{3}\begin{verbatim} - (6) [100,81,64,36,49,25,16,9,4,1] - Type: OneDimensionalArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OneDimensionalArrayXmpPageEmpty6} -\begin{paste}{OneDimensionalArrayXmpPageEmpty6}{OneDimensionalArrayXmpPagePatch6} -\pastebutton{OneDimensionalArrayXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{swap!(a,4,5); a\bound{a5 }\free{a4 }} -\end{paste}\end{patch} - -\begin{patch}{OneDimensionalArrayXmpPagePatch7} -\begin{paste}{OneDimensionalArrayXmpPageFull7}{OneDimensionalArrayXmpPageEmpty7} -\pastebutton{OneDimensionalArrayXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{sort! a\bound{a6 }\free{a5 }} -\indentrel{3}\begin{verbatim} - (7) [1,4,9,16,25,36,49,64,81,100] - Type: OneDimensionalArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OneDimensionalArrayXmpPageEmpty7} -\begin{paste}{OneDimensionalArrayXmpPageEmpty7}{OneDimensionalArrayXmpPagePatch7} -\pastebutton{OneDimensionalArrayXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{sort! a\bound{a6 }\free{a5 }} -\end{paste}\end{patch} - -\begin{patch}{OneDimensionalArrayXmpPagePatch8} -\begin{paste}{OneDimensionalArrayXmpPageFull8}{OneDimensionalArrayXmpPageEmpty8} -\pastebutton{OneDimensionalArrayXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{b := a(6..10)\bound{b }\free{a6 }} -\indentrel{3}\begin{verbatim} - (8) [36,49,64,81,100] - Type: OneDimensionalArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OneDimensionalArrayXmpPageEmpty8} -\begin{paste}{OneDimensionalArrayXmpPageEmpty8}{OneDimensionalArrayXmpPagePatch8} -\pastebutton{OneDimensionalArrayXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{b := a(6..10)\bound{b }\free{a6 }} -\end{paste}\end{patch} - -\begin{patch}{OneDimensionalArrayXmpPagePatch9} -\begin{paste}{OneDimensionalArrayXmpPageFull9}{OneDimensionalArrayXmpPageEmpty9} -\pastebutton{OneDimensionalArrayXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{copyInto!(a,b,1)\free{b }} -\indentrel{3}\begin{verbatim} - (9) [36,49,64,81,100,36,49,64,81,100] - Type: OneDimensionalArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OneDimensionalArrayXmpPageEmpty9} -\begin{paste}{OneDimensionalArrayXmpPageEmpty9}{OneDimensionalArrayXmpPagePatch9} -\pastebutton{OneDimensionalArrayXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{copyInto!(a,b,1)\free{b }} -\end{paste}\end{patch} - diff --git a/books/pages/array2.pht b/books/pages/array2.pht deleted file mode 100644 index bc797ee..0000000 --- a/books/pages/array2.pht +++ /dev/null @@ -1,384 +0,0 @@ -\begin{patch}{TwoDimensionalArrayXmpPagePatch1} -\begin{paste}{TwoDimensionalArrayXmpPageFull1}{TwoDimensionalArrayXmpPageEmpty1} -\pastebutton{TwoDimensionalArrayXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{arr : ARRAY2 INT := new(5,4,0)\bound{arr }} -\indentrel{3}\begin{verbatim} - Ú0 0 0 0¿ - ³ ³ - ³0 0 0 0³ - ³ ³ - (1) ³0 0 0 0³ - ³ ³ - ³0 0 0 0³ - ³ ³ - À0 0 0 0Ù - Type: TwoDimensionalArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPageEmpty1} -\begin{paste}{TwoDimensionalArrayXmpPageEmpty1}{TwoDimensionalArrayXmpPagePatch1} -\pastebutton{TwoDimensionalArrayXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{arr : ARRAY2 INT := new(5,4,0)\bound{arr }} -\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPagePatch2} -\begin{paste}{TwoDimensionalArrayXmpPageFull2}{TwoDimensionalArrayXmpPageEmpty2} -\pastebutton{TwoDimensionalArrayXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{setelt(arr,1,1,17)\free{arr }\bound{arr1 }} -\indentrel{3}\begin{verbatim} - (2) 17 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPageEmpty2} -\begin{paste}{TwoDimensionalArrayXmpPageEmpty2}{TwoDimensionalArrayXmpPagePatch2} -\pastebutton{TwoDimensionalArrayXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{setelt(arr,1,1,17)\free{arr }\bound{arr1 }} -\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPagePatch3} -\begin{paste}{TwoDimensionalArrayXmpPageFull3}{TwoDimensionalArrayXmpPageEmpty3} -\pastebutton{TwoDimensionalArrayXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{arr\free{arr1 }} -\indentrel{3}\begin{verbatim} - Ú17 0 0 0¿ - ³ ³ - ³0 0 0 0³ - ³ ³ - (3) ³0 0 0 0³ - ³ ³ - ³0 0 0 0³ - ³ ³ - À0 0 0 0Ù - Type: TwoDimensionalArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPageEmpty3} -\begin{paste}{TwoDimensionalArrayXmpPageEmpty3}{TwoDimensionalArrayXmpPagePatch3} -\pastebutton{TwoDimensionalArrayXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{arr\free{arr1 }} -\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPagePatch4} -\begin{paste}{TwoDimensionalArrayXmpPageFull4}{TwoDimensionalArrayXmpPageEmpty4} -\pastebutton{TwoDimensionalArrayXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{elt(arr,1,1)\free{arr1 }} -\indentrel{3}\begin{verbatim} - (4) 17 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPageEmpty4} -\begin{paste}{TwoDimensionalArrayXmpPageEmpty4}{TwoDimensionalArrayXmpPagePatch4} -\pastebutton{TwoDimensionalArrayXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{elt(arr,1,1)\free{arr1 }} -\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPagePatch5} -\begin{paste}{TwoDimensionalArrayXmpPageFull5}{TwoDimensionalArrayXmpPageEmpty5} -\pastebutton{TwoDimensionalArrayXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{arr(3,2) := 15\free{arr1 }\bound{arr2 }} -\indentrel{3}\begin{verbatim} - (5) 15 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPageEmpty5} -\begin{paste}{TwoDimensionalArrayXmpPageEmpty5}{TwoDimensionalArrayXmpPagePatch5} -\pastebutton{TwoDimensionalArrayXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{arr(3,2) := 15\free{arr1 }\bound{arr2 }} -\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPagePatch6} -\begin{paste}{TwoDimensionalArrayXmpPageFull6}{TwoDimensionalArrayXmpPageEmpty6} -\pastebutton{TwoDimensionalArrayXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{arr(3,2)\free{arr2 }} -\indentrel{3}\begin{verbatim} - (6) 15 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPageEmpty6} -\begin{paste}{TwoDimensionalArrayXmpPageEmpty6}{TwoDimensionalArrayXmpPagePatch6} -\pastebutton{TwoDimensionalArrayXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{arr(3,2)\free{arr2 }} -\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPagePatch7} -\begin{paste}{TwoDimensionalArrayXmpPageFull7}{TwoDimensionalArrayXmpPageEmpty7} -\pastebutton{TwoDimensionalArrayXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{row(arr,1)\free{arr2 }} -\indentrel{3}\begin{verbatim} - (7) [17,0,0,0] - Type: OneDimensionalArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPageEmpty7} -\begin{paste}{TwoDimensionalArrayXmpPageEmpty7}{TwoDimensionalArrayXmpPagePatch7} -\pastebutton{TwoDimensionalArrayXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{row(arr,1)\free{arr2 }} -\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPagePatch8} -\begin{paste}{TwoDimensionalArrayXmpPageFull8}{TwoDimensionalArrayXmpPageEmpty8} -\pastebutton{TwoDimensionalArrayXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{column(arr,1)\free{arr2 }} -\indentrel{3}\begin{verbatim} - (8) [17,0,0,0,0] - Type: OneDimensionalArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPageEmpty8} -\begin{paste}{TwoDimensionalArrayXmpPageEmpty8}{TwoDimensionalArrayXmpPagePatch8} -\pastebutton{TwoDimensionalArrayXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{column(arr,1)\free{arr2 }} -\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPagePatch9} -\begin{paste}{TwoDimensionalArrayXmpPageFull9}{TwoDimensionalArrayXmpPageEmpty9} -\pastebutton{TwoDimensionalArrayXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{nrows(arr)\free{arr2 }} -\indentrel{3}\begin{verbatim} - (9) 5 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPageEmpty9} -\begin{paste}{TwoDimensionalArrayXmpPageEmpty9}{TwoDimensionalArrayXmpPagePatch9} -\pastebutton{TwoDimensionalArrayXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{nrows(arr)\free{arr2 }} -\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPagePatch10} -\begin{paste}{TwoDimensionalArrayXmpPageFull10}{TwoDimensionalArrayXmpPageEmpty10} -\pastebutton{TwoDimensionalArrayXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{ncols(arr)\free{arr2 }} -\indentrel{3}\begin{verbatim} - (10) 4 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPageEmpty10} -\begin{paste}{TwoDimensionalArrayXmpPageEmpty10}{TwoDimensionalArrayXmpPagePatch10} -\pastebutton{TwoDimensionalArrayXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{ncols(arr)\free{arr2 }} -\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPagePatch11} -\begin{paste}{TwoDimensionalArrayXmpPageFull11}{TwoDimensionalArrayXmpPageEmpty11} -\pastebutton{TwoDimensionalArrayXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{map(-,arr)\free{arr2 }} -\indentrel{3}\begin{verbatim} - Ú- 17 0 0 0¿ - ³ ³ - ³ 0 0 0 0³ - ³ ³ - (11) ³ 0 - 15 0 0³ - ³ ³ - ³ 0 0 0 0³ - ³ ³ - À 0 0 0 0Ù - Type: TwoDimensionalArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPageEmpty11} -\begin{paste}{TwoDimensionalArrayXmpPageEmpty11}{TwoDimensionalArrayXmpPagePatch11} -\pastebutton{TwoDimensionalArrayXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{map(-,arr)\free{arr2 }} -\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPagePatch12} -\begin{paste}{TwoDimensionalArrayXmpPageFull12}{TwoDimensionalArrayXmpPageEmpty12} -\pastebutton{TwoDimensionalArrayXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{map((x +-> x + x),arr)\free{arr2 }} -\indentrel{3}\begin{verbatim} - Ú34 0 0 0¿ - ³ ³ - ³0 0 0 0³ - ³ ³ - (12) ³0 30 0 0³ - ³ ³ - ³0 0 0 0³ - ³ ³ - À0 0 0 0Ù - Type: TwoDimensionalArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPageEmpty12} -\begin{paste}{TwoDimensionalArrayXmpPageEmpty12}{TwoDimensionalArrayXmpPagePatch12} -\pastebutton{TwoDimensionalArrayXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{map((x +-> x + x),arr)\free{arr2 }} -\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPagePatch13} -\begin{paste}{TwoDimensionalArrayXmpPageFull13}{TwoDimensionalArrayXmpPageEmpty13} -\pastebutton{TwoDimensionalArrayXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{arrc := copy(arr)\bound{arrc }\free{arr2 }} -\indentrel{3}\begin{verbatim} - Ú17 0 0 0¿ - ³ ³ - ³0 0 0 0³ - ³ ³ - (13) ³0 15 0 0³ - ³ ³ - ³0 0 0 0³ - ³ ³ - À0 0 0 0Ù - Type: TwoDimensionalArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPageEmpty13} -\begin{paste}{TwoDimensionalArrayXmpPageEmpty13}{TwoDimensionalArrayXmpPagePatch13} -\pastebutton{TwoDimensionalArrayXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{arrc := copy(arr)\bound{arrc }\free{arr2 }} -\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPagePatch14} -\begin{paste}{TwoDimensionalArrayXmpPageFull14}{TwoDimensionalArrayXmpPageEmpty14} -\pastebutton{TwoDimensionalArrayXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{map!(-,arrc)\free{arrc }} -\indentrel{3}\begin{verbatim} - Ú- 17 0 0 0¿ - ³ ³ - ³ 0 0 0 0³ - ³ ³ - (14) ³ 0 - 15 0 0³ - ³ ³ - ³ 0 0 0 0³ - ³ ³ - À 0 0 0 0Ù - Type: TwoDimensionalArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPageEmpty14} -\begin{paste}{TwoDimensionalArrayXmpPageEmpty14}{TwoDimensionalArrayXmpPagePatch14} -\pastebutton{TwoDimensionalArrayXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{map!(-,arrc)\free{arrc }} -\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPagePatch15} -\begin{paste}{TwoDimensionalArrayXmpPageFull15}{TwoDimensionalArrayXmpPageEmpty15} -\pastebutton{TwoDimensionalArrayXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{arrc\free{arrc }} -\indentrel{3}\begin{verbatim} - Ú- 17 0 0 0¿ - ³ ³ - ³ 0 0 0 0³ - ³ ³ - (15) ³ 0 - 15 0 0³ - ³ ³ - ³ 0 0 0 0³ - ³ ³ - À 0 0 0 0Ù - Type: TwoDimensionalArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPageEmpty15} -\begin{paste}{TwoDimensionalArrayXmpPageEmpty15}{TwoDimensionalArrayXmpPagePatch15} -\pastebutton{TwoDimensionalArrayXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{arrc\free{arrc }} -\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPagePatch16} -\begin{paste}{TwoDimensionalArrayXmpPageFull16}{TwoDimensionalArrayXmpPageEmpty16} -\pastebutton{TwoDimensionalArrayXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{arr\free{arr2 }} -\indentrel{3}\begin{verbatim} - Ú17 0 0 0¿ - ³ ³ - ³0 0 0 0³ - ³ ³ - (16) ³0 15 0 0³ - ³ ³ - ³0 0 0 0³ - ³ ³ - À0 0 0 0Ù - Type: TwoDimensionalArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPageEmpty16} -\begin{paste}{TwoDimensionalArrayXmpPageEmpty16}{TwoDimensionalArrayXmpPagePatch16} -\pastebutton{TwoDimensionalArrayXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{arr\free{arr2 }} -\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPagePatch17} -\begin{paste}{TwoDimensionalArrayXmpPageFull17}{TwoDimensionalArrayXmpPageEmpty17} -\pastebutton{TwoDimensionalArrayXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{member?(17,arr)\free{arr2 }} -\indentrel{3}\begin{verbatim} - (17) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPageEmpty17} -\begin{paste}{TwoDimensionalArrayXmpPageEmpty17}{TwoDimensionalArrayXmpPagePatch17} -\pastebutton{TwoDimensionalArrayXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{member?(17,arr)\free{arr2 }} -\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPagePatch18} -\begin{paste}{TwoDimensionalArrayXmpPageFull18}{TwoDimensionalArrayXmpPageEmpty18} -\pastebutton{TwoDimensionalArrayXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{member?(10317,arr)\free{arr2 }} -\indentrel{3}\begin{verbatim} - (18) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPageEmpty18} -\begin{paste}{TwoDimensionalArrayXmpPageEmpty18}{TwoDimensionalArrayXmpPagePatch18} -\pastebutton{TwoDimensionalArrayXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{member?(10317,arr)\free{arr2 }} -\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPagePatch19} -\begin{paste}{TwoDimensionalArrayXmpPageFull19}{TwoDimensionalArrayXmpPageEmpty19} -\pastebutton{TwoDimensionalArrayXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{count(17,arr)\free{arr2 }} -\indentrel{3}\begin{verbatim} - (19) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPageEmpty19} -\begin{paste}{TwoDimensionalArrayXmpPageEmpty19}{TwoDimensionalArrayXmpPagePatch19} -\pastebutton{TwoDimensionalArrayXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{count(17,arr)\free{arr2 }} -\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPagePatch20} -\begin{paste}{TwoDimensionalArrayXmpPageFull20}{TwoDimensionalArrayXmpPageEmpty20} -\pastebutton{TwoDimensionalArrayXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{count(0,arr)\free{arr2 }} -\indentrel{3}\begin{verbatim} - (20) 18 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TwoDimensionalArrayXmpPageEmpty20} -\begin{paste}{TwoDimensionalArrayXmpPageEmpty20}{TwoDimensionalArrayXmpPagePatch20} -\pastebutton{TwoDimensionalArrayXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{count(0,arr)\free{arr2 }} -\end{paste}\end{patch} - diff --git a/books/pages/bbtree.pht b/books/pages/bbtree.pht deleted file mode 100644 index 2effaf8..0000000 --- a/books/pages/bbtree.pht +++ /dev/null @@ -1,160 +0,0 @@ -\begin{patch}{BalancedBinaryTreeXmpPagePatch1} -\begin{paste}{BalancedBinaryTreeXmpPageFull1}{BalancedBinaryTreeXmpPageEmpty1} -\pastebutton{BalancedBinaryTreeXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{lm := [3,5,7,11]\bound{lm }} -\indentrel{3}\begin{verbatim} - (1) [3,5,7,11] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BalancedBinaryTreeXmpPageEmpty1} -\begin{paste}{BalancedBinaryTreeXmpPageEmpty1}{BalancedBinaryTreeXmpPagePatch1} -\pastebutton{BalancedBinaryTreeXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{lm := [3,5,7,11]\bound{lm }} -\end{paste}\end{patch} - -\begin{patch}{BalancedBinaryTreeXmpPagePatch2} -\begin{paste}{BalancedBinaryTreeXmpPageFull2}{BalancedBinaryTreeXmpPageEmpty2} -\pastebutton{BalancedBinaryTreeXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{modTree(12,lm)\free{lm }} -\indentrel{3}\begin{verbatim} - (2) [0,2,5,1] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BalancedBinaryTreeXmpPageEmpty2} -\begin{paste}{BalancedBinaryTreeXmpPageEmpty2}{BalancedBinaryTreeXmpPagePatch2} -\pastebutton{BalancedBinaryTreeXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{modTree(12,lm)\free{lm }} -\end{paste}\end{patch} - -\begin{patch}{BalancedBinaryTreeXmpPagePatch3} -\begin{paste}{BalancedBinaryTreeXmpPageFull3}{BalancedBinaryTreeXmpPageEmpty3} -\pastebutton{BalancedBinaryTreeXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{t := balancedBinaryTree(\#lm, 0)\bound{t }\free{lm }} -\indentrel{3}\begin{verbatim} - (3) [[0,0,0],0,[0,0,0]] - Type: BalancedBinaryTree NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BalancedBinaryTreeXmpPageEmpty3} -\begin{paste}{BalancedBinaryTreeXmpPageEmpty3}{BalancedBinaryTreeXmpPagePatch3} -\pastebutton{BalancedBinaryTreeXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{t := balancedBinaryTree(\#lm, 0)\bound{t }\free{lm }} -\end{paste}\end{patch} - -\begin{patch}{BalancedBinaryTreeXmpPagePatch4} -\begin{paste}{BalancedBinaryTreeXmpPageFull4}{BalancedBinaryTreeXmpPageEmpty4} -\pastebutton{BalancedBinaryTreeXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{setleaves!(t,lm)\bound{t1 }\free{t }} -\indentrel{3}\begin{verbatim} - (4) [[3,0,5],0,[7,0,11]] - Type: BalancedBinaryTree NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BalancedBinaryTreeXmpPageEmpty4} -\begin{paste}{BalancedBinaryTreeXmpPageEmpty4}{BalancedBinaryTreeXmpPagePatch4} -\pastebutton{BalancedBinaryTreeXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{setleaves!(t,lm)\bound{t1 }\free{t }} -\end{paste}\end{patch} - -\begin{patch}{BalancedBinaryTreeXmpPagePatch5} -\begin{paste}{BalancedBinaryTreeXmpPageFull5}{BalancedBinaryTreeXmpPageEmpty5} -\pastebutton{BalancedBinaryTreeXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{mapUp!(t,_*)\bound{t2 }\free{t1 }} -\indentrel{3}\begin{verbatim} - (5) 1155 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BalancedBinaryTreeXmpPageEmpty5} -\begin{paste}{BalancedBinaryTreeXmpPageEmpty5}{BalancedBinaryTreeXmpPagePatch5} -\pastebutton{BalancedBinaryTreeXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{mapUp!(t,_*)\bound{t2 }\free{t1 }} -\end{paste}\end{patch} - -\begin{patch}{BalancedBinaryTreeXmpPagePatch6} -\begin{paste}{BalancedBinaryTreeXmpPageFull6}{BalancedBinaryTreeXmpPageEmpty6} -\pastebutton{BalancedBinaryTreeXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{t\bound{t3 }\free{t2 }} -\indentrel{3}\begin{verbatim} - (6) [[3,15,5],1155,[7,77,11]] - Type: BalancedBinaryTree NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BalancedBinaryTreeXmpPageEmpty6} -\begin{paste}{BalancedBinaryTreeXmpPageEmpty6}{BalancedBinaryTreeXmpPagePatch6} -\pastebutton{BalancedBinaryTreeXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{t\bound{t3 }\free{t2 }} -\end{paste}\end{patch} - -\begin{patch}{BalancedBinaryTreeXmpPagePatch7} -\begin{paste}{BalancedBinaryTreeXmpPageFull7}{BalancedBinaryTreeXmpPageEmpty7} -\pastebutton{BalancedBinaryTreeXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{mapDown!(t,12,_rem)\bound{t4 }\free{t3 }} -\indentrel{3}\begin{verbatim} - (7) [[0,12,2],12,[5,12,1]] - Type: BalancedBinaryTree NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BalancedBinaryTreeXmpPageEmpty7} -\begin{paste}{BalancedBinaryTreeXmpPageEmpty7}{BalancedBinaryTreeXmpPagePatch7} -\pastebutton{BalancedBinaryTreeXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{mapDown!(t,12,_rem)\bound{t4 }\free{t3 }} -\end{paste}\end{patch} - -\begin{patch}{BalancedBinaryTreeXmpPagePatch8} -\begin{paste}{BalancedBinaryTreeXmpPageFull8}{BalancedBinaryTreeXmpPageEmpty8} -\pastebutton{BalancedBinaryTreeXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{leaves \%\bound{t5 }\free{t4 }} -\indentrel{3}\begin{verbatim} - (8) [0,2,5,1] - Type: List NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BalancedBinaryTreeXmpPageEmpty8} -\begin{paste}{BalancedBinaryTreeXmpPageEmpty8}{BalancedBinaryTreeXmpPagePatch8} -\pastebutton{BalancedBinaryTreeXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{leaves \%\bound{t5 }\free{t4 }} -\end{paste}\end{patch} - -\begin{patch}{BalancedBinaryTreeXmpPagePatch9} -\begin{paste}{BalancedBinaryTreeXmpPageFull9}{BalancedBinaryTreeXmpPageEmpty9} -\pastebutton{BalancedBinaryTreeXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{squares := [x**2 rem m for x in \% for m in lm]\bound{t6 }\free{t5 }} -\indentrel{3}\begin{verbatim} - (9) [0,4,4,1] - Type: List NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BalancedBinaryTreeXmpPageEmpty9} -\begin{paste}{BalancedBinaryTreeXmpPageEmpty9}{BalancedBinaryTreeXmpPagePatch9} -\pastebutton{BalancedBinaryTreeXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{squares := [x**2 rem m for x in \% for m in lm]\bound{t6 }\free{t5 }} -\end{paste}\end{patch} - -\begin{patch}{BalancedBinaryTreeXmpPagePatch10} -\begin{paste}{BalancedBinaryTreeXmpPageFull10}{BalancedBinaryTreeXmpPageEmpty10} -\pastebutton{BalancedBinaryTreeXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{chineseRemainder(\%,lm)\free{t6 }} -\indentrel{3}\begin{verbatim} - (10) 144 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BalancedBinaryTreeXmpPageEmpty10} -\begin{paste}{BalancedBinaryTreeXmpPageEmpty10}{BalancedBinaryTreeXmpPagePatch10} -\pastebutton{BalancedBinaryTreeXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{chineseRemainder(\%,lm)\free{t6 }} -\end{paste}\end{patch} - diff --git a/books/pages/binary.pht b/books/pages/binary.pht deleted file mode 100644 index 8590e7a..0000000 --- a/books/pages/binary.pht +++ /dev/null @@ -1,140 +0,0 @@ -\begin{patch}{BinaryExpansionXmpPagePatch1} -\begin{paste}{BinaryExpansionXmpPageFull1}{BinaryExpansionXmpPageEmpty1} -\pastebutton{BinaryExpansionXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{r := binary(22/7)\bound{r }} -\indentrel{3}\begin{verbatim} - ___ - (1) 11.001 - Type: BinaryExpansion -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BinaryExpansionXmpPageEmpty1} -\begin{paste}{BinaryExpansionXmpPageEmpty1}{BinaryExpansionXmpPagePatch1} -\pastebutton{BinaryExpansionXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{r := binary(22/7)\bound{r }} -\end{paste}\end{patch} - -\begin{patch}{BinaryExpansionXmpPagePatch2} -\begin{paste}{BinaryExpansionXmpPageFull2}{BinaryExpansionXmpPageEmpty2} -\pastebutton{BinaryExpansionXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{r + binary(6/7)\free{r }} -\indentrel{3}\begin{verbatim} - (2) 100 - Type: BinaryExpansion -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BinaryExpansionXmpPageEmpty2} -\begin{paste}{BinaryExpansionXmpPageEmpty2}{BinaryExpansionXmpPagePatch2} -\pastebutton{BinaryExpansionXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{r + binary(6/7)\free{r }} -\end{paste}\end{patch} - -\begin{patch}{BinaryExpansionXmpPagePatch3} -\begin{paste}{BinaryExpansionXmpPageFull3}{BinaryExpansionXmpPageEmpty3} -\pastebutton{BinaryExpansionXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{[binary(1/i) for i in 102..106]} -\indentrel{3}\begin{verbatim} - (3) - ________ - [0.000000101, - ___________________________________________________ - 0.000000100111110001000101100101111001110010010101001, - ____________ ____________ - 0.000000100111011, 0.000000100111, - - 0.0 - OVERBAR - 00000100110101001000011100111110110010101101111 - 00011 - ] - Type: List BinaryExpansion -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BinaryExpansionXmpPageEmpty3} -\begin{paste}{BinaryExpansionXmpPageEmpty3}{BinaryExpansionXmpPagePatch3} -\pastebutton{BinaryExpansionXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{[binary(1/i) for i in 102..106]} -\end{paste}\end{patch} - -\begin{patch}{BinaryExpansionXmpPagePatch4} -\begin{paste}{BinaryExpansionXmpPageFull4}{BinaryExpansionXmpPageEmpty4} -\pastebutton{BinaryExpansionXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{binary(1/1007)} -\indentrel{3}\begin{verbatim} - (4) - 0. - OVERBAR - 0000000001000001000101001001011110000011111100001 - 01111110010110001111101000100111001001100110001 - 10010010101011110110100110000000011000011001111 - 01110001101000101111010010001111011000010101110 - 11100111010101110011001010010111000000011100011 - 11001000000100100100110111001010100111010001101 - 11011010111000100100000110010110110000001011001 - 01111100010100000101010101101011000001101101110 - 10010101111111010111010100110010000101001101100 - 0100110001000100001000011000111010011110001 - Type: BinaryExpansion -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BinaryExpansionXmpPageEmpty4} -\begin{paste}{BinaryExpansionXmpPageEmpty4}{BinaryExpansionXmpPagePatch4} -\pastebutton{BinaryExpansionXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{binary(1/1007)} -\end{paste}\end{patch} - -\begin{patch}{BinaryExpansionXmpPagePatch5} -\begin{paste}{BinaryExpansionXmpPageFull5}{BinaryExpansionXmpPageEmpty5} -\pastebutton{BinaryExpansionXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{p := binary(1/4)*x**2 + binary(2/3)*x + binary(4/9)\bound{p }} -\indentrel{3}\begin{verbatim} - 2 __ ______ - (5) 0.01x + 0.10x + 0.011100 - Type: Polynomial BinaryExpansion -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BinaryExpansionXmpPageEmpty5} -\begin{paste}{BinaryExpansionXmpPageEmpty5}{BinaryExpansionXmpPagePatch5} -\pastebutton{BinaryExpansionXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{p := binary(1/4)*x**2 + binary(2/3)*x + binary(4/9)\bound{p }} -\end{paste}\end{patch} - -\begin{patch}{BinaryExpansionXmpPagePatch6} -\begin{paste}{BinaryExpansionXmpPageFull6}{BinaryExpansionXmpPageEmpty6} -\pastebutton{BinaryExpansionXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{q := D(p, x)\free{p }\bound{q }} -\indentrel{3}\begin{verbatim} - __ - (6) 0.1x + 0.10 - Type: Polynomial BinaryExpansion -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BinaryExpansionXmpPageEmpty6} -\begin{paste}{BinaryExpansionXmpPageEmpty6}{BinaryExpansionXmpPagePatch6} -\pastebutton{BinaryExpansionXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{q := D(p, x)\free{p }\bound{q }} -\end{paste}\end{patch} - -\begin{patch}{BinaryExpansionXmpPagePatch7} -\begin{paste}{BinaryExpansionXmpPageFull7}{BinaryExpansionXmpPageEmpty7} -\pastebutton{BinaryExpansionXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{g := gcd(p, q)\free{p q }\bound{g }} -\indentrel{3}\begin{verbatim} - __ - (7) x + 1.01 - Type: Polynomial BinaryExpansion -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BinaryExpansionXmpPageEmpty7} -\begin{paste}{BinaryExpansionXmpPageEmpty7}{BinaryExpansionXmpPagePatch7} -\pastebutton{BinaryExpansionXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{g := gcd(p, q)\free{p q }\bound{g }} -\end{paste}\end{patch} - diff --git a/books/pages/bop.pht b/books/pages/bop.pht deleted file mode 100644 index 6156e50..0000000 --- a/books/pages/bop.pht +++ /dev/null @@ -1,296 +0,0 @@ -\begin{patch}{BasicOperatorXmpPagePatch1} -\begin{paste}{BasicOperatorXmpPageFull1}{BasicOperatorXmpPageEmpty1} -\pastebutton{BasicOperatorXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{y := operator 'y\bound{y }} -\indentrel{3}\begin{verbatim} - (1) y - Type: BasicOperator -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPageEmpty1} -\begin{paste}{BasicOperatorXmpPageEmpty1}{BasicOperatorXmpPagePatch1} -\pastebutton{BasicOperatorXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{y := operator 'y\bound{y }} -\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPagePatch2} -\begin{paste}{BasicOperatorXmpPageFull2}{BasicOperatorXmpPageEmpty2} -\pastebutton{BasicOperatorXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{deq := D(y x, x, 2) + D(y x, x) + y x = 0\bound{e1 }\free{y }} -\indentrel{3}\begin{verbatim} - ,, , - (2) y (x) + y (x) + y(x)= 0 - - Type: Equation Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPageEmpty2} -\begin{paste}{BasicOperatorXmpPageEmpty2}{BasicOperatorXmpPagePatch2} -\pastebutton{BasicOperatorXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{deq := D(y x, x, 2) + D(y x, x) + y x = 0\bound{e1 }\free{y }} -\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPagePatch3} -\begin{paste}{BasicOperatorXmpPageFull3}{BasicOperatorXmpPageEmpty3} -\pastebutton{BasicOperatorXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{solve(deq, y, x)\free{e1 }\free{y }} -\indentrel{3}\begin{verbatim} - (3) - [particular= 0, - x x - ÚÄ¿ - Ä - Ä ÚÄ¿ - x\³3 2 2 x\³3 - basis= [cos(ÄÄÄÄÄ)%e ,%e sin(ÄÄÄÄÄ)]] - 2 2 -Type: Union(Record(particular: Expression Integer,basis: List Expression Integer),...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPageEmpty3} -\begin{paste}{BasicOperatorXmpPageEmpty3}{BasicOperatorXmpPagePatch3} -\pastebutton{BasicOperatorXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{solve(deq, y, x)\free{e1 }\free{y }} -\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPagePatch4} -\begin{paste}{BasicOperatorXmpPageFull4}{BasicOperatorXmpPageEmpty4} -\pastebutton{BasicOperatorXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{nary? y\free{y }} -\indentrel{3}\begin{verbatim} - (4) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPageEmpty4} -\begin{paste}{BasicOperatorXmpPageEmpty4}{BasicOperatorXmpPagePatch4} -\pastebutton{BasicOperatorXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{nary? y\free{y }} -\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPagePatch5} -\begin{paste}{BasicOperatorXmpPageFull5}{BasicOperatorXmpPageEmpty5} -\pastebutton{BasicOperatorXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{unary? y\free{y }} -\indentrel{3}\begin{verbatim} - (5) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPageEmpty5} -\begin{paste}{BasicOperatorXmpPageEmpty5}{BasicOperatorXmpPagePatch5} -\pastebutton{BasicOperatorXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{unary? y\free{y }} -\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPagePatch6} -\begin{paste}{BasicOperatorXmpPageFull6}{BasicOperatorXmpPageEmpty6} -\pastebutton{BasicOperatorXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{opOne := operator('opOne, 1)\bound{opOne }} -\indentrel{3}\begin{verbatim} - (6) opOne - Type: BasicOperator -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPageEmpty6} -\begin{paste}{BasicOperatorXmpPageEmpty6}{BasicOperatorXmpPagePatch6} -\pastebutton{BasicOperatorXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{opOne := operator('opOne, 1)\bound{opOne }} -\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPagePatch7} -\begin{paste}{BasicOperatorXmpPageFull7}{BasicOperatorXmpPageEmpty7} -\pastebutton{BasicOperatorXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{nary? opOne\free{opOne }} -\indentrel{3}\begin{verbatim} - (7) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPageEmpty7} -\begin{paste}{BasicOperatorXmpPageEmpty7}{BasicOperatorXmpPagePatch7} -\pastebutton{BasicOperatorXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{nary? opOne\free{opOne }} -\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPagePatch8} -\begin{paste}{BasicOperatorXmpPageFull8}{BasicOperatorXmpPageEmpty8} -\pastebutton{BasicOperatorXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{unary? opOne\free{opOne }} -\indentrel{3}\begin{verbatim} - (8) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPageEmpty8} -\begin{paste}{BasicOperatorXmpPageEmpty8}{BasicOperatorXmpPagePatch8} -\pastebutton{BasicOperatorXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{unary? opOne\free{opOne }} -\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPagePatch9} -\begin{paste}{BasicOperatorXmpPageFull9}{BasicOperatorXmpPageEmpty9} -\pastebutton{BasicOperatorXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{arity opOne\free{opOne }} -\indentrel{3}\begin{verbatim} - (9) 1 - Type: Union(NonNegativeInteger,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPageEmpty9} -\begin{paste}{BasicOperatorXmpPageEmpty9}{BasicOperatorXmpPagePatch9} -\pastebutton{BasicOperatorXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{arity opOne\free{opOne }} -\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPagePatch10} -\begin{paste}{BasicOperatorXmpPageFull10}{BasicOperatorXmpPageEmpty10} -\pastebutton{BasicOperatorXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{name opOne\free{opOne }} -\indentrel{3}\begin{verbatim} - (10) opOne - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPageEmpty10} -\begin{paste}{BasicOperatorXmpPageEmpty10}{BasicOperatorXmpPagePatch10} -\pastebutton{BasicOperatorXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{name opOne\free{opOne }} -\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPagePatch11} -\begin{paste}{BasicOperatorXmpPageFull11}{BasicOperatorXmpPageEmpty11} -\pastebutton{BasicOperatorXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{is?(opOne, 'z2)\free{opOne }} -\indentrel{3}\begin{verbatim} - (11) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPageEmpty11} -\begin{paste}{BasicOperatorXmpPageEmpty11}{BasicOperatorXmpPagePatch11} -\pastebutton{BasicOperatorXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{is?(opOne, 'z2)\free{opOne }} -\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPagePatch12} -\begin{paste}{BasicOperatorXmpPageFull12}{BasicOperatorXmpPageEmpty12} -\pastebutton{BasicOperatorXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{is?(opOne, "opOne")\free{opOne }} -\indentrel{3}\begin{verbatim} - (12) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPageEmpty12} -\begin{paste}{BasicOperatorXmpPageEmpty12}{BasicOperatorXmpPagePatch12} -\pastebutton{BasicOperatorXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{is?(opOne, "opOne")\free{opOne }} -\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPagePatch13} -\begin{paste}{BasicOperatorXmpPageFull13}{BasicOperatorXmpPageEmpty13} -\pastebutton{BasicOperatorXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{properties y\free{y }} -\indentrel{3}\begin{verbatim} - (13) table() - Type: AssociationList(String,None) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPageEmpty13} -\begin{paste}{BasicOperatorXmpPageEmpty13}{BasicOperatorXmpPagePatch13} -\pastebutton{BasicOperatorXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{properties y\free{y }} -\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPagePatch14} -\begin{paste}{BasicOperatorXmpPageFull14}{BasicOperatorXmpPageEmpty14} -\pastebutton{BasicOperatorXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{setProperty(y, "use", "unknown function" :: None )\free{y }\bound{spy }} -\indentrel{3}\begin{verbatim} - (14) y - Type: BasicOperator -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPageEmpty14} -\begin{paste}{BasicOperatorXmpPageEmpty14}{BasicOperatorXmpPagePatch14} -\pastebutton{BasicOperatorXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{setProperty(y, "use", "unknown function" :: None )\free{y }\bound{spy }} -\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPagePatch15} -\begin{paste}{BasicOperatorXmpPageFull15}{BasicOperatorXmpPageEmpty15} -\pastebutton{BasicOperatorXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{properties y\free{y spy }} -\indentrel{3}\begin{verbatim} - (15) table("use"= NONE) - Type: AssociationList(String,None) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPageEmpty15} -\begin{paste}{BasicOperatorXmpPageEmpty15}{BasicOperatorXmpPagePatch15} -\pastebutton{BasicOperatorXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{properties y\free{y spy }} -\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPagePatch16} -\begin{paste}{BasicOperatorXmpPageFull16}{BasicOperatorXmpPageEmpty16} -\pastebutton{BasicOperatorXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{property(y, "use") :: None pretend String\free{y spy }} -\indentrel{3}\begin{verbatim} - (16) "unknown function" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPageEmpty16} -\begin{paste}{BasicOperatorXmpPageEmpty16}{BasicOperatorXmpPagePatch16} -\pastebutton{BasicOperatorXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{property(y, "use") :: None pretend String\free{y spy }} -\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPagePatch17} -\begin{paste}{BasicOperatorXmpPageFull17}{BasicOperatorXmpPageEmpty17} -\pastebutton{BasicOperatorXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{deleteProperty!(y, "use")\free{y spy }\bound{dpy }} -\indentrel{3}\begin{verbatim} - (17) y - Type: BasicOperator -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPageEmpty17} -\begin{paste}{BasicOperatorXmpPageEmpty17}{BasicOperatorXmpPagePatch17} -\pastebutton{BasicOperatorXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{deleteProperty!(y, "use")\free{y spy }\bound{dpy }} -\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPagePatch18} -\begin{paste}{BasicOperatorXmpPageFull18}{BasicOperatorXmpPageEmpty18} -\pastebutton{BasicOperatorXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{properties y\free{dpy }} -\indentrel{3}\begin{verbatim} - (18) table() - Type: AssociationList(String,None) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BasicOperatorXmpPageEmpty18} -\begin{paste}{BasicOperatorXmpPageEmpty18}{BasicOperatorXmpPagePatch18} -\pastebutton{BasicOperatorXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{properties y\free{dpy }} -\end{paste}\end{patch} - diff --git a/books/pages/bstree.pht b/books/pages/bstree.pht deleted file mode 100644 index b18379f..0000000 --- a/books/pages/bstree.pht +++ /dev/null @@ -1,196 +0,0 @@ -\begin{patch}{BinarySearchTreeXmpPagePatch1} -\begin{paste}{BinarySearchTreeXmpPageFull1}{BinarySearchTreeXmpPageEmpty1} -\pastebutton{BinarySearchTreeXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{lv := [8,3,5,4,6,2,1,5,7]\bound{lv }} -\indentrel{3}\begin{verbatim} - (1) [8,3,5,4,6,2,1,5,7] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BinarySearchTreeXmpPageEmpty1} -\begin{paste}{BinarySearchTreeXmpPageEmpty1}{BinarySearchTreeXmpPagePatch1} -\pastebutton{BinarySearchTreeXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{lv := [8,3,5,4,6,2,1,5,7]\bound{lv }} -\end{paste}\end{patch} - -\begin{patch}{BinarySearchTreeXmpPagePatch2} -\begin{paste}{BinarySearchTreeXmpPageFull2}{BinarySearchTreeXmpPageEmpty2} -\pastebutton{BinarySearchTreeXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{t := binarySearchTree lv\free{lv }\bound{t }} -\indentrel{3}\begin{verbatim} - (2) [[[1,2,.],3,[4,5,[5,6,7]]],8,.] - Type: BinarySearchTree PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BinarySearchTreeXmpPageEmpty2} -\begin{paste}{BinarySearchTreeXmpPageEmpty2}{BinarySearchTreeXmpPagePatch2} -\pastebutton{BinarySearchTreeXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{t := binarySearchTree lv\free{lv }\bound{t }} -\end{paste}\end{patch} - -\begin{patch}{BinarySearchTreeXmpPagePatch3} -\begin{paste}{BinarySearchTreeXmpPageFull3}{BinarySearchTreeXmpPageEmpty3} -\pastebutton{BinarySearchTreeXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{emptybst := empty()$BSTREE(INT)\bound{e }} -\indentrel{3}\begin{verbatim} - (3) [] - Type: BinarySearchTree Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BinarySearchTreeXmpPageEmpty3} -\begin{paste}{BinarySearchTreeXmpPageEmpty3}{BinarySearchTreeXmpPagePatch3} -\pastebutton{BinarySearchTreeXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{emptybst := empty()$BSTREE(INT)\bound{e }} -\end{paste}\end{patch} - -\begin{patch}{BinarySearchTreeXmpPagePatch4} -\begin{paste}{BinarySearchTreeXmpPageFull4}{BinarySearchTreeXmpPageEmpty4} -\pastebutton{BinarySearchTreeXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{t1 := insert!(8,emptybst)\free{e }\bound{t1 }} -\indentrel{3}\begin{verbatim} - (4) 8 - Type: BinarySearchTree Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BinarySearchTreeXmpPageEmpty4} -\begin{paste}{BinarySearchTreeXmpPageEmpty4}{BinarySearchTreeXmpPagePatch4} -\pastebutton{BinarySearchTreeXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{t1 := insert!(8,emptybst)\free{e }\bound{t1 }} -\end{paste}\end{patch} - -\begin{patch}{BinarySearchTreeXmpPagePatch5} -\begin{paste}{BinarySearchTreeXmpPageFull5}{BinarySearchTreeXmpPageEmpty5} -\pastebutton{BinarySearchTreeXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{insert!(3,t1)\free{t1 }} -\indentrel{3}\begin{verbatim} - (5) [3,8,.] - Type: BinarySearchTree Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BinarySearchTreeXmpPageEmpty5} -\begin{paste}{BinarySearchTreeXmpPageEmpty5}{BinarySearchTreeXmpPagePatch5} -\pastebutton{BinarySearchTreeXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{insert!(3,t1)\free{t1 }} -\end{paste}\end{patch} - -\begin{patch}{BinarySearchTreeXmpPagePatch6} -\begin{paste}{BinarySearchTreeXmpPageFull6}{BinarySearchTreeXmpPageEmpty6} -\pastebutton{BinarySearchTreeXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{leaves t\free{t }} -\indentrel{3}\begin{verbatim} - (6) [1,4,5,7] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BinarySearchTreeXmpPageEmpty6} -\begin{paste}{BinarySearchTreeXmpPageEmpty6}{BinarySearchTreeXmpPagePatch6} -\pastebutton{BinarySearchTreeXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{leaves t\free{t }} -\end{paste}\end{patch} - -\begin{patch}{BinarySearchTreeXmpPagePatch7} -\begin{paste}{BinarySearchTreeXmpPageFull7}{BinarySearchTreeXmpPageEmpty7} -\pastebutton{BinarySearchTreeXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{split(3,t)\free{t }} -\indentrel{3}\begin{verbatim} - (7) - [less= [1,2,.],greater= [[.,3,[4,5,[5,6,7]]],8,.]] -Type: Record(less: BinarySearchTree PositiveInteger,greater: BinarySearchTree PositiveInteger) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BinarySearchTreeXmpPageEmpty7} -\begin{paste}{BinarySearchTreeXmpPageEmpty7}{BinarySearchTreeXmpPagePatch7} -\pastebutton{BinarySearchTreeXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{split(3,t)\free{t }} -\end{paste}\end{patch} - -\begin{patch}{BinarySearchTreeXmpPagePatch8} -\begin{paste}{BinarySearchTreeXmpPageFull8}{BinarySearchTreeXmpPageEmpty8} -\pastebutton{BinarySearchTreeXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{insertRoot: (INT,BSTREE INT) -> BSTREE INT\bound{x }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BinarySearchTreeXmpPageEmpty8} -\begin{paste}{BinarySearchTreeXmpPageEmpty8}{BinarySearchTreeXmpPagePatch8} -\pastebutton{BinarySearchTreeXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{insertRoot: (INT,BSTREE INT) -> BSTREE INT\bound{x }} -\end{paste}\end{patch} - -\begin{patch}{BinarySearchTreeXmpPagePatch9} -\begin{paste}{BinarySearchTreeXmpPageFull9}{BinarySearchTreeXmpPageEmpty9} -\pastebutton{BinarySearchTreeXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{insertRoot(x, t) == - a := split(x, t) - node(a.less, x, a.greater) -\bound{x1 }\free{x }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BinarySearchTreeXmpPageEmpty9} -\begin{paste}{BinarySearchTreeXmpPageEmpty9}{BinarySearchTreeXmpPagePatch9} -\pastebutton{BinarySearchTreeXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{insertRoot(x, t) == - a := split(x, t) - node(a.less, x, a.greater) -\bound{x1 }\free{x }} -\end{paste}\end{patch} - -\begin{patch}{BinarySearchTreeXmpPagePatch10} -\begin{paste}{BinarySearchTreeXmpPageFull10}{BinarySearchTreeXmpPageEmpty10} -\pastebutton{BinarySearchTreeXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{buildFromRoot ls == reduce(insertRoot,ls,emptybst)\bound{x2 }\free{x1 e }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BinarySearchTreeXmpPageEmpty10} -\begin{paste}{BinarySearchTreeXmpPageEmpty10}{BinarySearchTreeXmpPagePatch10} -\pastebutton{BinarySearchTreeXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{buildFromRoot ls == reduce(insertRoot,ls,emptybst)\bound{x2 }\free{x1 e }} -\end{paste}\end{patch} - -\begin{patch}{BinarySearchTreeXmpPagePatch11} -\begin{paste}{BinarySearchTreeXmpPageFull11}{BinarySearchTreeXmpPageEmpty11} -\pastebutton{BinarySearchTreeXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{rt := buildFromRoot reverse lv\bound{rt }\free{lv x2 }} -\indentrel{3}\begin{verbatim} - (11) [[[1,2,.],3,[4,5,[5,6,7]]],8,.] - Type: BinarySearchTree Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BinarySearchTreeXmpPageEmpty11} -\begin{paste}{BinarySearchTreeXmpPageEmpty11}{BinarySearchTreeXmpPagePatch11} -\pastebutton{BinarySearchTreeXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{rt := buildFromRoot reverse lv\bound{rt }\free{lv x2 }} -\end{paste}\end{patch} - -\begin{patch}{BinarySearchTreeXmpPagePatch12} -\begin{paste}{BinarySearchTreeXmpPageFull12}{BinarySearchTreeXmpPageEmpty12} -\pastebutton{BinarySearchTreeXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{(t = rt)@Boolean\free{rt t }} -\indentrel{3}\begin{verbatim} - (12) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{BinarySearchTreeXmpPageEmpty12} -\begin{paste}{BinarySearchTreeXmpPageEmpty12}{BinarySearchTreeXmpPagePatch12} -\pastebutton{BinarySearchTreeXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{(t = rt)@Boolean\free{rt t }} -\end{paste}\end{patch} - diff --git a/books/pages/card.pht b/books/pages/card.pht deleted file mode 100644 index 887e029..0000000 --- a/books/pages/card.pht +++ /dev/null @@ -1,321 +0,0 @@ -\begin{patch}{CardinalNumberXmpPagePatch1} -\begin{paste}{CardinalNumberXmpPageFull1}{CardinalNumberXmpPageEmpty1} -\pastebutton{CardinalNumberXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{c0 := 0 :: CardinalNumber\bound{c0 }} -\indentrel{3}\begin{verbatim} - (1) 0 - Type: CardinalNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPageEmpty1} -\begin{paste}{CardinalNumberXmpPageEmpty1}{CardinalNumberXmpPagePatch1} -\pastebutton{CardinalNumberXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{c0 := 0 :: CardinalNumber\bound{c0 }} -\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPagePatch2} -\begin{paste}{CardinalNumberXmpPageFull2}{CardinalNumberXmpPageEmpty2} -\pastebutton{CardinalNumberXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{c1 := 1 :: CardinalNumber\bound{c1 }} -\indentrel{3}\begin{verbatim} - (2) 1 - Type: CardinalNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPageEmpty2} -\begin{paste}{CardinalNumberXmpPageEmpty2}{CardinalNumberXmpPagePatch2} -\pastebutton{CardinalNumberXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{c1 := 1 :: CardinalNumber\bound{c1 }} -\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPagePatch3} -\begin{paste}{CardinalNumberXmpPageFull3}{CardinalNumberXmpPageEmpty3} -\pastebutton{CardinalNumberXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{c2 := 2 :: CardinalNumber\bound{c2 }} -\indentrel{3}\begin{verbatim} - (3) 2 - Type: CardinalNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPageEmpty3} -\begin{paste}{CardinalNumberXmpPageEmpty3}{CardinalNumberXmpPagePatch3} -\pastebutton{CardinalNumberXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{c2 := 2 :: CardinalNumber\bound{c2 }} -\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPagePatch4} -\begin{paste}{CardinalNumberXmpPageFull4}{CardinalNumberXmpPageEmpty4} -\pastebutton{CardinalNumberXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{c3 := 3 :: CardinalNumber\bound{c3 }} -\indentrel{3}\begin{verbatim} - (4) 3 - Type: CardinalNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPageEmpty4} -\begin{paste}{CardinalNumberXmpPageEmpty4}{CardinalNumberXmpPagePatch4} -\pastebutton{CardinalNumberXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{c3 := 3 :: CardinalNumber\bound{c3 }} -\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPagePatch5} -\begin{paste}{CardinalNumberXmpPageFull5}{CardinalNumberXmpPageEmpty5} -\pastebutton{CardinalNumberXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{A0 := Aleph 0\bound{A0 }} -\indentrel{3}\begin{verbatim} - (5) Aleph(0) - Type: CardinalNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPageEmpty5} -\begin{paste}{CardinalNumberXmpPageEmpty5}{CardinalNumberXmpPagePatch5} -\pastebutton{CardinalNumberXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{A0 := Aleph 0\bound{A0 }} -\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPagePatch6} -\begin{paste}{CardinalNumberXmpPageFull6}{CardinalNumberXmpPageEmpty6} -\pastebutton{CardinalNumberXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{A1 := Aleph 1\bound{A1 }} -\indentrel{3}\begin{verbatim} - (6) Aleph(1) - Type: CardinalNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPageEmpty6} -\begin{paste}{CardinalNumberXmpPageEmpty6}{CardinalNumberXmpPagePatch6} -\pastebutton{CardinalNumberXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{A1 := Aleph 1\bound{A1 }} -\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPagePatch7} -\begin{paste}{CardinalNumberXmpPageFull7}{CardinalNumberXmpPageEmpty7} -\pastebutton{CardinalNumberXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{finite? c2\free{c2 }} -\indentrel{3}\begin{verbatim} - (7) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPageEmpty7} -\begin{paste}{CardinalNumberXmpPageEmpty7}{CardinalNumberXmpPagePatch7} -\pastebutton{CardinalNumberXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{finite? c2\free{c2 }} -\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPagePatch8} -\begin{paste}{CardinalNumberXmpPageFull8}{CardinalNumberXmpPageEmpty8} -\pastebutton{CardinalNumberXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{finite? A0\free{A0 }} -\indentrel{3}\begin{verbatim} - (8) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPageEmpty8} -\begin{paste}{CardinalNumberXmpPageEmpty8}{CardinalNumberXmpPagePatch8} -\pastebutton{CardinalNumberXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{finite? A0\free{A0 }} -\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPagePatch9} -\begin{paste}{CardinalNumberXmpPageFull9}{CardinalNumberXmpPageEmpty9} -\pastebutton{CardinalNumberXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{countable? c2\free{c2 }} -\indentrel{3}\begin{verbatim} - (9) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPageEmpty9} -\begin{paste}{CardinalNumberXmpPageEmpty9}{CardinalNumberXmpPagePatch9} -\pastebutton{CardinalNumberXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{countable? c2\free{c2 }} -\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPagePatch10} -\begin{paste}{CardinalNumberXmpPageFull10}{CardinalNumberXmpPageEmpty10} -\pastebutton{CardinalNumberXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{countable? A0\free{A0 }} -\indentrel{3}\begin{verbatim} - (10) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPageEmpty10} -\begin{paste}{CardinalNumberXmpPageEmpty10}{CardinalNumberXmpPagePatch10} -\pastebutton{CardinalNumberXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{countable? A0\free{A0 }} -\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPagePatch11} -\begin{paste}{CardinalNumberXmpPageFull11}{CardinalNumberXmpPageEmpty11} -\pastebutton{CardinalNumberXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{countable? A1\free{A1 }} -\indentrel{3}\begin{verbatim} - (11) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPageEmpty11} -\begin{paste}{CardinalNumberXmpPageEmpty11}{CardinalNumberXmpPagePatch11} -\pastebutton{CardinalNumberXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{countable? A1\free{A1 }} -\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPagePatch12} -\begin{paste}{CardinalNumberXmpPageFull12}{CardinalNumberXmpPageEmpty12} -\pastebutton{CardinalNumberXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{[c2 + c2, c2 + A1]\free{c2 A1 }} -\indentrel{3}\begin{verbatim} - (12) [4,Aleph(1)] - Type: List CardinalNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPageEmpty12} -\begin{paste}{CardinalNumberXmpPageEmpty12}{CardinalNumberXmpPagePatch12} -\pastebutton{CardinalNumberXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{[c2 + c2, c2 + A1]\free{c2 A1 }} -\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPagePatch13} -\begin{paste}{CardinalNumberXmpPageFull13}{CardinalNumberXmpPageEmpty13} -\pastebutton{CardinalNumberXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{[c0*c2, c1*c2, c2*c2, c0*A1, c1*A1, c2*A1, A0*A1]\free{c0 c1 c2 A0 A1 }} -\indentrel{3}\begin{verbatim} - (13) [0,2,4,0,Aleph(1),Aleph(1),Aleph(1)] - Type: List CardinalNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPageEmpty13} -\begin{paste}{CardinalNumberXmpPageEmpty13}{CardinalNumberXmpPagePatch13} -\pastebutton{CardinalNumberXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{[c0*c2, c1*c2, c2*c2, c0*A1, c1*A1, c2*A1, A0*A1]\free{c0 c1 c2 A0 A1 }} -\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPagePatch14} -\begin{paste}{CardinalNumberXmpPageFull14}{CardinalNumberXmpPageEmpty14} -\pastebutton{CardinalNumberXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{[c2**c0, c2**c1, c2**c2, A1**c0, A1**c1, A1**c2]\free{c0 c1 c2 A1 }} -\indentrel{3}\begin{verbatim} - (14) [1,2,4,1,Aleph(1),Aleph(1)] - Type: List CardinalNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPageEmpty14} -\begin{paste}{CardinalNumberXmpPageEmpty14}{CardinalNumberXmpPagePatch14} -\pastebutton{CardinalNumberXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{[c2**c0, c2**c1, c2**c2, A1**c0, A1**c1, A1**c2]\free{c0 c1 c2 A1 }} -\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPagePatch15} -\begin{paste}{CardinalNumberXmpPageFull15}{CardinalNumberXmpPageEmpty15} -\pastebutton{CardinalNumberXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{[c2-c1, c2-c2, c2-c3, A1-c2, A1-A0, A1-A1]\free{c1 c2 c3 A0 A1 }} -\indentrel{3}\begin{verbatim} - (15) [1,0,"failed",Aleph(1),Aleph(1),"failed"] - Type: List Union(CardinalNumber,"failed") -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPageEmpty15} -\begin{paste}{CardinalNumberXmpPageEmpty15}{CardinalNumberXmpPagePatch15} -\pastebutton{CardinalNumberXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{[c2-c1, c2-c2, c2-c3, A1-c2, A1-A0, A1-A1]\free{c1 c2 c3 A0 A1 }} -\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPagePatch16} -\begin{paste}{CardinalNumberXmpPageFull16}{CardinalNumberXmpPageEmpty16} -\pastebutton{CardinalNumberXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{generalizedContinuumHypothesisAssumed true\bound{GCH }} -\indentrel{3}\begin{verbatim} - (16) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPageEmpty16} -\begin{paste}{CardinalNumberXmpPageEmpty16}{CardinalNumberXmpPagePatch16} -\pastebutton{CardinalNumberXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{generalizedContinuumHypothesisAssumed true\bound{GCH }} -\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPagePatch17} -\begin{paste}{CardinalNumberXmpPageFull17}{CardinalNumberXmpPageEmpty17} -\pastebutton{CardinalNumberXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{[c0**A0, c1**A0, c2**A0, A0**A0, A0**A1, A1**A0, A1**A1]\free{c0 c1 c2 A0 A1 GCH }} -\indentrel{3}\begin{verbatim} - (17) - [0,1,Aleph(1),Aleph(1),Aleph(2),Aleph(1),Aleph(2)] - Type: List CardinalNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPageEmpty17} -\begin{paste}{CardinalNumberXmpPageEmpty17}{CardinalNumberXmpPagePatch17} -\pastebutton{CardinalNumberXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{[c0**A0, c1**A0, c2**A0, A0**A0, A0**A1, A1**A0, A1**A1]\free{c0 c1 c2 A0 A1 GCH }} -\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPagePatch18} -\begin{paste}{CardinalNumberXmpPageFull18}{CardinalNumberXmpPageEmpty18} -\pastebutton{CardinalNumberXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{a := Aleph 0\free{GCH }\bound{a }} -\indentrel{3}\begin{verbatim} - (18) Aleph(0) - Type: CardinalNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPageEmpty18} -\begin{paste}{CardinalNumberXmpPageEmpty18}{CardinalNumberXmpPagePatch18} -\pastebutton{CardinalNumberXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{a := Aleph 0\free{GCH }\bound{a }} -\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPagePatch19} -\begin{paste}{CardinalNumberXmpPageFull19}{CardinalNumberXmpPageEmpty19} -\pastebutton{CardinalNumberXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{c := 2**a\free{a }\bound{c }} -\indentrel{3}\begin{verbatim} - (19) Aleph(1) - Type: CardinalNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPageEmpty19} -\begin{paste}{CardinalNumberXmpPageEmpty19}{CardinalNumberXmpPagePatch19} -\pastebutton{CardinalNumberXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{c := 2**a\free{a }\bound{c }} -\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPagePatch20} -\begin{paste}{CardinalNumberXmpPageFull20}{CardinalNumberXmpPageEmpty20} -\pastebutton{CardinalNumberXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{f := 2**c\free{c }\bound{f }} -\indentrel{3}\begin{verbatim} - (20) Aleph(2) - Type: CardinalNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CardinalNumberXmpPageEmpty20} -\begin{paste}{CardinalNumberXmpPageEmpty20}{CardinalNumberXmpPagePatch20} -\pastebutton{CardinalNumberXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{f := 2**c\free{c }\bound{f }} -\end{paste}\end{patch} - diff --git a/books/pages/carten.pht b/books/pages/carten.pht deleted file mode 100644 index ed63da8..0000000 --- a/books/pages/carten.pht +++ /dev/null @@ -1,846 +0,0 @@ -\begin{patch}{CartesianTensorXmpPagePatch1} -\begin{paste}{CartesianTensorXmpPageFull1}{CartesianTensorXmpPageEmpty1} -\pastebutton{CartesianTensorXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{CT := CARTEN(i0 := 1, 2, Integer)\bound{CT i0 }} -\indentrel{3}\begin{verbatim} - (1) CartesianTensor(1,2,Integer) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty1} -\begin{paste}{CartesianTensorXmpPageEmpty1}{CartesianTensorXmpPagePatch1} -\pastebutton{CartesianTensorXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{CT := CARTEN(i0 := 1, 2, Integer)\bound{CT i0 }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch2} -\begin{paste}{CartesianTensorXmpPageFull2}{CartesianTensorXmpPageEmpty2} -\pastebutton{CartesianTensorXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{t0: CT := 8\free{CT }\bound{t0 }} -\indentrel{3}\begin{verbatim} - (2) 8 - Type: CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty2} -\begin{paste}{CartesianTensorXmpPageEmpty2}{CartesianTensorXmpPagePatch2} -\pastebutton{CartesianTensorXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{t0: CT := 8\free{CT }\bound{t0 }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch3} -\begin{paste}{CartesianTensorXmpPageFull3}{CartesianTensorXmpPageEmpty3} -\pastebutton{CartesianTensorXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{rank t0\free{t0 }} -\indentrel{3}\begin{verbatim} - (3) 0 - Type: NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty3} -\begin{paste}{CartesianTensorXmpPageEmpty3}{CartesianTensorXmpPagePatch3} -\pastebutton{CartesianTensorXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{rank t0\free{t0 }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch4} -\begin{paste}{CartesianTensorXmpPageFull4}{CartesianTensorXmpPageEmpty4} -\pastebutton{CartesianTensorXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{v: DirectProduct(2, Integer) := directProduct [3,4]\bound{v }} -\indentrel{3}\begin{verbatim} - (4) [3,4] - Type: DirectProduct(2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty4} -\begin{paste}{CartesianTensorXmpPageEmpty4}{CartesianTensorXmpPagePatch4} -\pastebutton{CartesianTensorXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{v: DirectProduct(2, Integer) := directProduct [3,4]\bound{v }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch5} -\begin{paste}{CartesianTensorXmpPageFull5}{CartesianTensorXmpPageEmpty5} -\pastebutton{CartesianTensorXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{Tv: CT := v\free{v CT }\bound{Tv }} -\indentrel{3}\begin{verbatim} - (5) [3,4] - Type: CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty5} -\begin{paste}{CartesianTensorXmpPageEmpty5}{CartesianTensorXmpPagePatch5} -\pastebutton{CartesianTensorXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{Tv: CT := v\free{v CT }\bound{Tv }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch6} -\begin{paste}{CartesianTensorXmpPageFull6}{CartesianTensorXmpPageEmpty6} -\pastebutton{CartesianTensorXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{m: SquareMatrix(2, Integer) := matrix [[1,2],[4,5]]\bound{m }} -\indentrel{3}\begin{verbatim} - Ú1 2¿ - (6) ³ ³ - À4 5Ù - Type: SquareMatrix(2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty6} -\begin{paste}{CartesianTensorXmpPageEmpty6}{CartesianTensorXmpPagePatch6} -\pastebutton{CartesianTensorXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{m: SquareMatrix(2, Integer) := matrix [[1,2],[4,5]]\bound{m }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch7} -\begin{paste}{CartesianTensorXmpPageFull7}{CartesianTensorXmpPageEmpty7} -\pastebutton{CartesianTensorXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{Tm: CT := m\bound{Tm }\free{CT m }} -\indentrel{3}\begin{verbatim} - Ú1 2¿ - (7) ³ ³ - À4 5Ù - Type: CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty7} -\begin{paste}{CartesianTensorXmpPageEmpty7}{CartesianTensorXmpPagePatch7} -\pastebutton{CartesianTensorXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{Tm: CT := m\bound{Tm }\free{CT m }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch8} -\begin{paste}{CartesianTensorXmpPageFull8}{CartesianTensorXmpPageEmpty8} -\pastebutton{CartesianTensorXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{n: SquareMatrix(2, Integer) := matrix [[2,3],[0,1]]\bound{n }} -\indentrel{3}\begin{verbatim} - Ú2 3¿ - (8) ³ ³ - À0 1Ù - Type: SquareMatrix(2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty8} -\begin{paste}{CartesianTensorXmpPageEmpty8}{CartesianTensorXmpPagePatch8} -\pastebutton{CartesianTensorXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{n: SquareMatrix(2, Integer) := matrix [[2,3],[0,1]]\bound{n }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch9} -\begin{paste}{CartesianTensorXmpPageFull9}{CartesianTensorXmpPageEmpty9} -\pastebutton{CartesianTensorXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{Tn: CT := n\bound{Tn }\free{CT n }} -\indentrel{3}\begin{verbatim} - Ú2 3¿ - (9) ³ ³ - À0 1Ù - Type: CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty9} -\begin{paste}{CartesianTensorXmpPageEmpty9}{CartesianTensorXmpPagePatch9} -\pastebutton{CartesianTensorXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{Tn: CT := n\bound{Tn }\free{CT n }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch10} -\begin{paste}{CartesianTensorXmpPageFull10}{CartesianTensorXmpPageEmpty10} -\pastebutton{CartesianTensorXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{t1: CT := [2, 3]\free{CT }\bound{t1 }} -\indentrel{3}\begin{verbatim} - (10) [2,3] - Type: CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty10} -\begin{paste}{CartesianTensorXmpPageEmpty10}{CartesianTensorXmpPagePatch10} -\pastebutton{CartesianTensorXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{t1: CT := [2, 3]\free{CT }\bound{t1 }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch11} -\begin{paste}{CartesianTensorXmpPageFull11}{CartesianTensorXmpPageEmpty11} -\pastebutton{CartesianTensorXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{rank t1\free{t1 }} -\indentrel{3}\begin{verbatim} - (11) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty11} -\begin{paste}{CartesianTensorXmpPageEmpty11}{CartesianTensorXmpPagePatch11} -\pastebutton{CartesianTensorXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{rank t1\free{t1 }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch12} -\begin{paste}{CartesianTensorXmpPageFull12}{CartesianTensorXmpPageEmpty12} -\pastebutton{CartesianTensorXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{t2: CT := [t1, t1]\free{CT t1 }\bound{t2 }} -\indentrel{3}\begin{verbatim} - Ú2 3¿ - (12) ³ ³ - À2 3Ù - Type: CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty12} -\begin{paste}{CartesianTensorXmpPageEmpty12}{CartesianTensorXmpPagePatch12} -\pastebutton{CartesianTensorXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{t2: CT := [t1, t1]\free{CT t1 }\bound{t2 }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch13} -\begin{paste}{CartesianTensorXmpPageFull13}{CartesianTensorXmpPageEmpty13} -\pastebutton{CartesianTensorXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{t3: CT := [t2, t2]\free{CT t2 }\bound{t3 }} -\indentrel{3}\begin{verbatim} - Ú2 3¿ Ú2 3¿ - (13) [³ ³,³ ³] - À2 3Ù À2 3Ù - Type: CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty13} -\begin{paste}{CartesianTensorXmpPageEmpty13}{CartesianTensorXmpPagePatch13} -\pastebutton{CartesianTensorXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{t3: CT := [t2, t2]\free{CT t2 }\bound{t3 }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch14} -\begin{paste}{CartesianTensorXmpPageFull14}{CartesianTensorXmpPageEmpty14} -\pastebutton{CartesianTensorXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{tt: CT := [t3, t3]; tt := [tt, tt]\free{CT t3 }\bound{tt }} -\indentrel{3}\begin{verbatim} - ÚÚ2 3¿ Ú2 3¿¿ ÚÚ2 3¿ Ú2 3¿¿ - ³³ ³ ³ ³³ ³³ ³ ³ ³³ - ³À2 3Ù À2 3Ù³ ³À2 3Ù À2 3Ù³ - (14) [³ ³,³ ³] - ³Ú2 3¿ Ú2 3¿³ ³Ú2 3¿ Ú2 3¿³ - ³³ ³ ³ ³³ ³³ ³ ³ ³³ - ÀÀ2 3Ù À2 3ÙÙ ÀÀ2 3Ù À2 3ÙÙ - Type: CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty14} -\begin{paste}{CartesianTensorXmpPageEmpty14}{CartesianTensorXmpPagePatch14} -\pastebutton{CartesianTensorXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{tt: CT := [t3, t3]; tt := [tt, tt]\free{CT t3 }\bound{tt }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch15} -\begin{paste}{CartesianTensorXmpPageFull15}{CartesianTensorXmpPageEmpty15} -\pastebutton{CartesianTensorXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{rank tt\free{tt }} -\indentrel{3}\begin{verbatim} - (15) 5 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty15} -\begin{paste}{CartesianTensorXmpPageEmpty15}{CartesianTensorXmpPagePatch15} -\pastebutton{CartesianTensorXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{rank tt\free{tt }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch16} -\begin{paste}{CartesianTensorXmpPageFull16}{CartesianTensorXmpPageEmpty16} -\pastebutton{CartesianTensorXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{Tmn := product(Tm, Tn)\free{Tm Tn }\bound{Tmn }} -\indentrel{3}\begin{verbatim} - ÚÚ2 3¿ Ú4 6¿ ¿ - ³³ ³ ³ ³ ³ - ³À0 1Ù À0 2Ù ³ - (16) ³ ³ - ³Ú8 12¿ Ú10 15¿³ - ³³ ³ ³ ³³ - ÀÀ0 4 Ù À0 5 ÙÙ - Type: CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty16} -\begin{paste}{CartesianTensorXmpPageEmpty16}{CartesianTensorXmpPagePatch16} -\pastebutton{CartesianTensorXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{Tmn := product(Tm, Tn)\free{Tm Tn }\bound{Tmn }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch17} -\begin{paste}{CartesianTensorXmpPageFull17}{CartesianTensorXmpPageEmpty17} -\pastebutton{CartesianTensorXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{Tmv := contract(Tm,2,Tv,1)\free{Tm Tv }\bound{Tmv }} -\indentrel{3}\begin{verbatim} - (17) [11,32] - Type: CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty17} -\begin{paste}{CartesianTensorXmpPageEmpty17}{CartesianTensorXmpPagePatch17} -\pastebutton{CartesianTensorXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{Tmv := contract(Tm,2,Tv,1)\free{Tm Tv }\bound{Tmv }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch18} -\begin{paste}{CartesianTensorXmpPageFull18}{CartesianTensorXmpPageEmpty18} -\pastebutton{CartesianTensorXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{Tm*Tv\free{Tm Tv }} -\indentrel{3}\begin{verbatim} - (18) [11,32] - Type: CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty18} -\begin{paste}{CartesianTensorXmpPageEmpty18}{CartesianTensorXmpPagePatch18} -\pastebutton{CartesianTensorXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{Tm*Tv\free{Tm Tv }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch19} -\begin{paste}{CartesianTensorXmpPageFull19}{CartesianTensorXmpPageEmpty19} -\pastebutton{CartesianTensorXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{Tmv = m * v\free{Tmv m v }} -\indentrel{3}\begin{verbatim} - (19) [11,32]= [11,32] - Type: Equation CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty19} -\begin{paste}{CartesianTensorXmpPageEmpty19}{CartesianTensorXmpPagePatch19} -\pastebutton{CartesianTensorXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{Tmv = m * v\free{Tmv m v }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch20} -\begin{paste}{CartesianTensorXmpPageFull20}{CartesianTensorXmpPageEmpty20} -\pastebutton{CartesianTensorXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{t0()\free{t0 }} -\indentrel{3}\begin{verbatim} - (20) 8 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty20} -\begin{paste}{CartesianTensorXmpPageEmpty20}{CartesianTensorXmpPagePatch20} -\pastebutton{CartesianTensorXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{t0()\free{t0 }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch21} -\begin{paste}{CartesianTensorXmpPageFull21}{CartesianTensorXmpPageEmpty21} -\pastebutton{CartesianTensorXmpPageFull21}{\hidepaste} -\tab{5}\spadcommand{t1(1+1)\free{t1 }} -\indentrel{3}\begin{verbatim} - (21) 3 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty21} -\begin{paste}{CartesianTensorXmpPageEmpty21}{CartesianTensorXmpPagePatch21} -\pastebutton{CartesianTensorXmpPageEmpty21}{\showpaste} -\tab{5}\spadcommand{t1(1+1)\free{t1 }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch22} -\begin{paste}{CartesianTensorXmpPageFull22}{CartesianTensorXmpPageEmpty22} -\pastebutton{CartesianTensorXmpPageFull22}{\hidepaste} -\tab{5}\spadcommand{t2(2,1)\free{t2 }} -\indentrel{3}\begin{verbatim} - (22) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty22} -\begin{paste}{CartesianTensorXmpPageEmpty22}{CartesianTensorXmpPagePatch22} -\pastebutton{CartesianTensorXmpPageEmpty22}{\showpaste} -\tab{5}\spadcommand{t2(2,1)\free{t2 }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch23} -\begin{paste}{CartesianTensorXmpPageFull23}{CartesianTensorXmpPageEmpty23} -\pastebutton{CartesianTensorXmpPageFull23}{\hidepaste} -\tab{5}\spadcommand{t3(2,1,2)\free{t3 }} -\indentrel{3}\begin{verbatim} - (23) 3 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty23} -\begin{paste}{CartesianTensorXmpPageEmpty23}{CartesianTensorXmpPagePatch23} -\pastebutton{CartesianTensorXmpPageEmpty23}{\showpaste} -\tab{5}\spadcommand{t3(2,1,2)\free{t3 }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch24} -\begin{paste}{CartesianTensorXmpPageFull24}{CartesianTensorXmpPageEmpty24} -\pastebutton{CartesianTensorXmpPageFull24}{\hidepaste} -\tab{5}\spadcommand{Tmn(2,1,2,1)\free{Tmn }} -\indentrel{3}\begin{verbatim} - (24) 0 - Type: NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty24} -\begin{paste}{CartesianTensorXmpPageEmpty24}{CartesianTensorXmpPagePatch24} -\pastebutton{CartesianTensorXmpPageEmpty24}{\showpaste} -\tab{5}\spadcommand{Tmn(2,1,2,1)\free{Tmn }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch25} -\begin{paste}{CartesianTensorXmpPageFull25}{CartesianTensorXmpPageEmpty25} -\pastebutton{CartesianTensorXmpPageFull25}{\hidepaste} -\tab{5}\spadcommand{t0[]\free{t0 }} -\indentrel{3}\begin{verbatim} - (25) 8 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty25} -\begin{paste}{CartesianTensorXmpPageEmpty25}{CartesianTensorXmpPagePatch25} -\pastebutton{CartesianTensorXmpPageEmpty25}{\showpaste} -\tab{5}\spadcommand{t0[]\free{t0 }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch26} -\begin{paste}{CartesianTensorXmpPageFull26}{CartesianTensorXmpPageEmpty26} -\pastebutton{CartesianTensorXmpPageFull26}{\hidepaste} -\tab{5}\spadcommand{t1[2]\free{t1 }} -\indentrel{3}\begin{verbatim} - (26) 3 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty26} -\begin{paste}{CartesianTensorXmpPageEmpty26}{CartesianTensorXmpPagePatch26} -\pastebutton{CartesianTensorXmpPageEmpty26}{\showpaste} -\tab{5}\spadcommand{t1[2]\free{t1 }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch27} -\begin{paste}{CartesianTensorXmpPageFull27}{CartesianTensorXmpPageEmpty27} -\pastebutton{CartesianTensorXmpPageFull27}{\hidepaste} -\tab{5}\spadcommand{t2[2,1]\free{t2 }} -\indentrel{3}\begin{verbatim} - (27) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty27} -\begin{paste}{CartesianTensorXmpPageEmpty27}{CartesianTensorXmpPagePatch27} -\pastebutton{CartesianTensorXmpPageEmpty27}{\showpaste} -\tab{5}\spadcommand{t2[2,1]\free{t2 }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch28} -\begin{paste}{CartesianTensorXmpPageFull28}{CartesianTensorXmpPageEmpty28} -\pastebutton{CartesianTensorXmpPageFull28}{\hidepaste} -\tab{5}\spadcommand{t3[2,1,2]\free{t3 }} -\indentrel{3}\begin{verbatim} - (28) 3 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty28} -\begin{paste}{CartesianTensorXmpPageEmpty28}{CartesianTensorXmpPagePatch28} -\pastebutton{CartesianTensorXmpPageEmpty28}{\showpaste} -\tab{5}\spadcommand{t3[2,1,2]\free{t3 }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch29} -\begin{paste}{CartesianTensorXmpPageFull29}{CartesianTensorXmpPageEmpty29} -\pastebutton{CartesianTensorXmpPageFull29}{\hidepaste} -\tab{5}\spadcommand{Tmn[2,1,2,1]\free{Tmn }} -\indentrel{3}\begin{verbatim} - (29) 0 - Type: NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty29} -\begin{paste}{CartesianTensorXmpPageEmpty29}{CartesianTensorXmpPagePatch29} -\pastebutton{CartesianTensorXmpPageEmpty29}{\showpaste} -\tab{5}\spadcommand{Tmn[2,1,2,1]\free{Tmn }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch30} -\begin{paste}{CartesianTensorXmpPageFull30}{CartesianTensorXmpPageEmpty30} -\pastebutton{CartesianTensorXmpPageFull30}{\hidepaste} -\tab{5}\spadcommand{cTmn := contract(Tmn,1,2)\free{Tmn }\bound{cTmn }} -\indentrel{3}\begin{verbatim} - Ú12 18¿ - (30) ³ ³ - À0 6 Ù - Type: CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty30} -\begin{paste}{CartesianTensorXmpPageEmpty30}{CartesianTensorXmpPagePatch30} -\pastebutton{CartesianTensorXmpPageEmpty30}{\showpaste} -\tab{5}\spadcommand{cTmn := contract(Tmn,1,2)\free{Tmn }\bound{cTmn }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch31} -\begin{paste}{CartesianTensorXmpPageFull31}{CartesianTensorXmpPageEmpty31} -\pastebutton{CartesianTensorXmpPageFull31}{\hidepaste} -\tab{5}\spadcommand{trace(m) * n\free{m n }} -\indentrel{3}\begin{verbatim} - Ú12 18¿ - (31) ³ ³ - À0 6 Ù - Type: SquareMatrix(2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty31} -\begin{paste}{CartesianTensorXmpPageEmpty31}{CartesianTensorXmpPagePatch31} -\pastebutton{CartesianTensorXmpPageEmpty31}{\showpaste} -\tab{5}\spadcommand{trace(m) * n\free{m n }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch32} -\begin{paste}{CartesianTensorXmpPageFull32}{CartesianTensorXmpPageEmpty32} -\pastebutton{CartesianTensorXmpPageFull32}{\hidepaste} -\tab{5}\spadcommand{contract(Tmn,1,2) = trace(m) * n\free{Tmn m n }} -\indentrel{3}\begin{verbatim} - Ú12 18¿ Ú12 18¿ - (32) ³ ³= ³ ³ - À0 6 Ù À0 6 Ù - Type: Equation CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty32} -\begin{paste}{CartesianTensorXmpPageEmpty32}{CartesianTensorXmpPagePatch32} -\pastebutton{CartesianTensorXmpPageEmpty32}{\showpaste} -\tab{5}\spadcommand{contract(Tmn,1,2) = trace(m) * n\free{Tmn m n }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch33} -\begin{paste}{CartesianTensorXmpPageFull33}{CartesianTensorXmpPageEmpty33} -\pastebutton{CartesianTensorXmpPageFull33}{\hidepaste} -\tab{5}\spadcommand{contract(Tmn,1,3) = transpose(m) * n\free{Tmn m n }} -\indentrel{3}\begin{verbatim} - Ú2 7 ¿ Ú2 7 ¿ - (33) ³ ³= ³ ³ - À4 11Ù À4 11Ù - Type: Equation CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty33} -\begin{paste}{CartesianTensorXmpPageEmpty33}{CartesianTensorXmpPagePatch33} -\pastebutton{CartesianTensorXmpPageEmpty33}{\showpaste} -\tab{5}\spadcommand{contract(Tmn,1,3) = transpose(m) * n\free{Tmn m n }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch34} -\begin{paste}{CartesianTensorXmpPageFull34}{CartesianTensorXmpPageEmpty34} -\pastebutton{CartesianTensorXmpPageFull34}{\hidepaste} -\tab{5}\spadcommand{contract(Tmn,1,4) = transpose(m) * transpose(n)\free{Tmn m n }} -\indentrel{3}\begin{verbatim} - Ú14 4¿ Ú14 4¿ - (34) ³ ³= ³ ³ - À19 5Ù À19 5Ù - Type: Equation CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty34} -\begin{paste}{CartesianTensorXmpPageEmpty34}{CartesianTensorXmpPagePatch34} -\pastebutton{CartesianTensorXmpPageEmpty34}{\showpaste} -\tab{5}\spadcommand{contract(Tmn,1,4) = transpose(m) * transpose(n)\free{Tmn m n }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch35} -\begin{paste}{CartesianTensorXmpPageFull35}{CartesianTensorXmpPageEmpty35} -\pastebutton{CartesianTensorXmpPageFull35}{\hidepaste} -\tab{5}\spadcommand{contract(Tmn,2,3) = m * n\free{Tmn m n }} -\indentrel{3}\begin{verbatim} - Ú2 5 ¿ Ú2 5 ¿ - (35) ³ ³= ³ ³ - À8 17Ù À8 17Ù - Type: Equation CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty35} -\begin{paste}{CartesianTensorXmpPageEmpty35}{CartesianTensorXmpPagePatch35} -\pastebutton{CartesianTensorXmpPageEmpty35}{\showpaste} -\tab{5}\spadcommand{contract(Tmn,2,3) = m * n\free{Tmn m n }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch36} -\begin{paste}{CartesianTensorXmpPageFull36}{CartesianTensorXmpPageEmpty36} -\pastebutton{CartesianTensorXmpPageFull36}{\hidepaste} -\tab{5}\spadcommand{contract(Tmn,2,4) = m * transpose(n)\free{Tmn m n }} -\indentrel{3}\begin{verbatim} - Ú8 2¿ Ú8 2¿ - (36) ³ ³= ³ ³ - À23 5Ù À23 5Ù - Type: Equation CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty36} -\begin{paste}{CartesianTensorXmpPageEmpty36}{CartesianTensorXmpPagePatch36} -\pastebutton{CartesianTensorXmpPageEmpty36}{\showpaste} -\tab{5}\spadcommand{contract(Tmn,2,4) = m * transpose(n)\free{Tmn m n }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch37} -\begin{paste}{CartesianTensorXmpPageFull37}{CartesianTensorXmpPageEmpty37} -\pastebutton{CartesianTensorXmpPageFull37}{\hidepaste} -\tab{5}\spadcommand{contract(Tmn,3,4) = trace(n) * m\free{Tmn m n }} -\indentrel{3}\begin{verbatim} - Ú3 6 ¿ Ú3 6 ¿ - (37) ³ ³= ³ ³ - À12 15Ù À12 15Ù - Type: Equation CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty37} -\begin{paste}{CartesianTensorXmpPageEmpty37}{CartesianTensorXmpPagePatch37} -\pastebutton{CartesianTensorXmpPageEmpty37}{\showpaste} -\tab{5}\spadcommand{contract(Tmn,3,4) = trace(n) * m\free{Tmn m n }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch38} -\begin{paste}{CartesianTensorXmpPageFull38}{CartesianTensorXmpPageEmpty38} -\pastebutton{CartesianTensorXmpPageFull38}{\hidepaste} -\tab{5}\spadcommand{tTmn := transpose(Tmn,1,3)\free{tTmn }} -\indentrel{3}\begin{verbatim} - ÚÚ2 3 ¿ Ú4 6 ¿¿ - ³³ ³ ³ ³³ - ³À8 12Ù À10 15Ù³ - (38) ³ ³ - ³Ú0 1¿ Ú0 2¿ ³ - ³³ ³ ³ ³ ³ - ÀÀ0 4Ù À0 5Ù Ù - Type: CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty38} -\begin{paste}{CartesianTensorXmpPageEmpty38}{CartesianTensorXmpPagePatch38} -\pastebutton{CartesianTensorXmpPageEmpty38}{\showpaste} -\tab{5}\spadcommand{tTmn := transpose(Tmn,1,3)\free{tTmn }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch39} -\begin{paste}{CartesianTensorXmpPageFull39}{CartesianTensorXmpPageEmpty39} -\pastebutton{CartesianTensorXmpPageFull39}{\hidepaste} -\tab{5}\spadcommand{transpose Tmn\free{Tmn }} -\indentrel{3}\begin{verbatim} - ÚÚ2 8¿ Ú4 10¿¿ - ³³ ³ ³ ³³ - ³À0 0Ù À0 0 Ù³ - (39) ³ ³ - ³Ú3 12¿ Ú6 15¿³ - ³³ ³ ³ ³³ - ÀÀ1 4 Ù À2 5 ÙÙ - Type: CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty39} -\begin{paste}{CartesianTensorXmpPageEmpty39}{CartesianTensorXmpPagePatch39} -\pastebutton{CartesianTensorXmpPageEmpty39}{\showpaste} -\tab{5}\spadcommand{transpose Tmn\free{Tmn }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch40} -\begin{paste}{CartesianTensorXmpPageFull40}{CartesianTensorXmpPageEmpty40} -\pastebutton{CartesianTensorXmpPageFull40}{\hidepaste} -\tab{5}\spadcommand{transpose Tm = transpose m\free{Tm m }} -\indentrel{3}\begin{verbatim} - Ú1 4¿ Ú1 4¿ - (40) ³ ³= ³ ³ - À2 5Ù À2 5Ù - Type: Equation CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty40} -\begin{paste}{CartesianTensorXmpPageEmpty40}{CartesianTensorXmpPagePatch40} -\pastebutton{CartesianTensorXmpPageEmpty40}{\showpaste} -\tab{5}\spadcommand{transpose Tm = transpose m\free{Tm m }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch41} -\begin{paste}{CartesianTensorXmpPageFull41}{CartesianTensorXmpPageEmpty41} -\pastebutton{CartesianTensorXmpPageFull41}{\hidepaste} -\tab{5}\spadcommand{rTmn := reindex(Tmn, [1,4,2,3])\free{Tmn }\bound{rTmn }} -\indentrel{3}\begin{verbatim} - ÚÚ2 0¿ Ú3 1¿ ¿ - ³³ ³ ³ ³ ³ - ³À4 0Ù À6 2Ù ³ - (41) ³ ³ - ³Ú8 0¿ Ú12 4¿³ - ³³ ³ ³ ³³ - ÀÀ10 0Ù À15 5ÙÙ - Type: CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty41} -\begin{paste}{CartesianTensorXmpPageEmpty41}{CartesianTensorXmpPagePatch41} -\pastebutton{CartesianTensorXmpPageEmpty41}{\showpaste} -\tab{5}\spadcommand{rTmn := reindex(Tmn, [1,4,2,3])\free{Tmn }\bound{rTmn }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch42} -\begin{paste}{CartesianTensorXmpPageFull42}{CartesianTensorXmpPageEmpty42} -\pastebutton{CartesianTensorXmpPageFull42}{\hidepaste} -\tab{5}\spadcommand{tt := transpose(Tm)*Tn - Tn*transpose(Tm)\free{Tm Tn }\bound{tt2 }} -\indentrel{3}\begin{verbatim} - Ú- 6 - 16¿ - (42) ³ ³ - À 2 6 Ù - Type: CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty42} -\begin{paste}{CartesianTensorXmpPageEmpty42}{CartesianTensorXmpPagePatch42} -\pastebutton{CartesianTensorXmpPageEmpty42}{\showpaste} -\tab{5}\spadcommand{tt := transpose(Tm)*Tn - Tn*transpose(Tm)\free{Tm Tn }\bound{tt2 }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch43} -\begin{paste}{CartesianTensorXmpPageFull43}{CartesianTensorXmpPageEmpty43} -\pastebutton{CartesianTensorXmpPageFull43}{\hidepaste} -\tab{5}\spadcommand{Tv*(tt+Tn)\free{tt2 Tv Tn }} -\indentrel{3}\begin{verbatim} - (43) [- 4,- 11] - Type: CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty43} -\begin{paste}{CartesianTensorXmpPageEmpty43}{CartesianTensorXmpPagePatch43} -\pastebutton{CartesianTensorXmpPageEmpty43}{\showpaste} -\tab{5}\spadcommand{Tv*(tt+Tn)\free{tt2 Tv Tn }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch44} -\begin{paste}{CartesianTensorXmpPageFull44}{CartesianTensorXmpPageEmpty44} -\pastebutton{CartesianTensorXmpPageFull44}{\hidepaste} -\tab{5}\spadcommand{reindex(product(Tn,Tn),[4,3,2,1])+3*Tn*product(Tm,Tm)\free{Tm Tn }} -\indentrel{3}\begin{verbatim} - ÚÚ46 84 ¿ Ú57 114¿¿ - ³³ ³ ³ ³³ - ³À174 212Ù À228 285Ù³ - (44) ³ ³ - ³ Ú18 24¿ Ú17 30¿ ³ - ³ ³ ³ ³ ³ ³ - À À57 63Ù À63 76Ù Ù - Type: CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty44} -\begin{paste}{CartesianTensorXmpPageEmpty44}{CartesianTensorXmpPagePatch44} -\pastebutton{CartesianTensorXmpPageEmpty44}{\showpaste} -\tab{5}\spadcommand{reindex(product(Tn,Tn),[4,3,2,1])+3*Tn*product(Tm,Tm)\free{Tm Tn }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch45} -\begin{paste}{CartesianTensorXmpPageFull45}{CartesianTensorXmpPageEmpty45} -\pastebutton{CartesianTensorXmpPageFull45}{\hidepaste} -\tab{5}\spadcommand{delta: CT := kroneckerDelta()\free{CT }\bound{delta }} -\indentrel{3}\begin{verbatim} - Ú1 0¿ - (45) ³ ³ - À0 1Ù - Type: CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty45} -\begin{paste}{CartesianTensorXmpPageEmpty45}{CartesianTensorXmpPagePatch45} -\pastebutton{CartesianTensorXmpPageEmpty45}{\showpaste} -\tab{5}\spadcommand{delta: CT := kroneckerDelta()\free{CT }\bound{delta }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch46} -\begin{paste}{CartesianTensorXmpPageFull46}{CartesianTensorXmpPageEmpty46} -\pastebutton{CartesianTensorXmpPageFull46}{\hidepaste} -\tab{5}\spadcommand{contract(Tmn, 2, delta, 1) = reindex(Tmn, [1,3,4,2])\free{Tmn delta }} -\indentrel{3}\begin{verbatim} - Ú Ú2 4¿ Ú0 0¿¿ Ú Ú2 4¿ Ú0 0¿¿ - ³ ³ ³ ³ ³³ ³ ³ ³ ³ ³³ - ³ À3 6Ù À1 2Ù³ ³ À3 6Ù À1 2Ù³ - (46) ³ ³= ³ ³ - ³Ú8 10¿ Ú0 0¿³ ³Ú8 10¿ Ú0 0¿³ - ³³ ³ ³ ³³ ³³ ³ ³ ³³ - ÀÀ12 15Ù À4 5ÙÙ ÀÀ12 15Ù À4 5ÙÙ - Type: Equation CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty46} -\begin{paste}{CartesianTensorXmpPageEmpty46}{CartesianTensorXmpPagePatch46} -\pastebutton{CartesianTensorXmpPageEmpty46}{\showpaste} -\tab{5}\spadcommand{contract(Tmn, 2, delta, 1) = reindex(Tmn, [1,3,4,2])\free{Tmn delta }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch47} -\begin{paste}{CartesianTensorXmpPageFull47}{CartesianTensorXmpPageEmpty47} -\pastebutton{CartesianTensorXmpPageFull47}{\hidepaste} -\tab{5}\spadcommand{epsilon:CT := leviCivitaSymbol()\free{CT }\bound{epsilon }} -\indentrel{3}\begin{verbatim} - Ú 0 1¿ - (47) ³ ³ - À- 1 0Ù - Type: CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty47} -\begin{paste}{CartesianTensorXmpPageEmpty47}{CartesianTensorXmpPagePatch47} -\pastebutton{CartesianTensorXmpPageEmpty47}{\showpaste} -\tab{5}\spadcommand{epsilon:CT := leviCivitaSymbol()\free{CT }\bound{epsilon }} -\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPagePatch48} -\begin{paste}{CartesianTensorXmpPageFull48}{CartesianTensorXmpPageEmpty48} -\pastebutton{CartesianTensorXmpPageFull48}{\hidepaste} -\tab{5}\spadcommand{contract(epsilon*Tm*epsilon, 1,2) = 2 * determinant m\free{epsilon Tm m }} -\indentrel{3}\begin{verbatim} - (48) - 6= - 6 - Type: Equation CartesianTensor(1,2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CartesianTensorXmpPageEmpty48} -\begin{paste}{CartesianTensorXmpPageEmpty48}{CartesianTensorXmpPagePatch48} -\pastebutton{CartesianTensorXmpPageEmpty48}{\showpaste} -\tab{5}\spadcommand{contract(epsilon*Tm*epsilon, 1,2) = 2 * determinant m\free{epsilon Tm m }} -\end{paste}\end{patch} - diff --git a/books/pages/cclass.pht b/books/pages/cclass.pht deleted file mode 100644 index d1f1d5e..0000000 --- a/books/pages/cclass.pht +++ /dev/null @@ -1,259 +0,0 @@ -\begin{patch}{CharacterClassXmpPagePatch1} -\begin{paste}{CharacterClassXmpPageFull1}{CharacterClassXmpPageEmpty1} -\pastebutton{CharacterClassXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{cl1 := charClass [char "a", char "e", char "i", char "o", char "u", char "y"]\bound{cl1 }} -\indentrel{3}\begin{verbatim} - (1) "aeiouy" - Type: CharacterClass -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPageEmpty1} -\begin{paste}{CharacterClassXmpPageEmpty1}{CharacterClassXmpPagePatch1} -\pastebutton{CharacterClassXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{cl1 := charClass [char "a", char "e", char "i", char "o", char "u", char "y"]\bound{cl1 }} -\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPagePatch2} -\begin{paste}{CharacterClassXmpPageFull2}{CharacterClassXmpPageEmpty2} -\pastebutton{CharacterClassXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{cl2 := charClass "bcdfghjklmnpqrstvwxyz"\bound{cl2 }} -\indentrel{3}\begin{verbatim} - (2) "bcdfghjklmnpqrstvwxyz" - Type: CharacterClass -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPageEmpty2} -\begin{paste}{CharacterClassXmpPageEmpty2}{CharacterClassXmpPagePatch2} -\pastebutton{CharacterClassXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{cl2 := charClass "bcdfghjklmnpqrstvwxyz"\bound{cl2 }} -\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPagePatch3} -\begin{paste}{CharacterClassXmpPageFull3}{CharacterClassXmpPageEmpty3} -\pastebutton{CharacterClassXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{digit()} -\indentrel{3}\begin{verbatim} - (3) "0123456789" - Type: CharacterClass -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPageEmpty3} -\begin{paste}{CharacterClassXmpPageEmpty3}{CharacterClassXmpPagePatch3} -\pastebutton{CharacterClassXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{digit()} -\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPagePatch4} -\begin{paste}{CharacterClassXmpPageFull4}{CharacterClassXmpPageEmpty4} -\pastebutton{CharacterClassXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{hexDigit()} -\indentrel{3}\begin{verbatim} - (4) "0123456789ABCDEFabcdef" - Type: CharacterClass -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPageEmpty4} -\begin{paste}{CharacterClassXmpPageEmpty4}{CharacterClassXmpPagePatch4} -\pastebutton{CharacterClassXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{hexDigit()} -\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPagePatch5} -\begin{paste}{CharacterClassXmpPageFull5}{CharacterClassXmpPageEmpty5} -\pastebutton{CharacterClassXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{upperCase()} -\indentrel{3}\begin{verbatim} - (5) "ABCDEFGHIJKLMNOPQRSTUVWXYZ" - Type: CharacterClass -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPageEmpty5} -\begin{paste}{CharacterClassXmpPageEmpty5}{CharacterClassXmpPagePatch5} -\pastebutton{CharacterClassXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{upperCase()} -\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPagePatch6} -\begin{paste}{CharacterClassXmpPageFull6}{CharacterClassXmpPageEmpty6} -\pastebutton{CharacterClassXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{lowerCase()} -\indentrel{3}\begin{verbatim} - (6) "abcdefghijklmnopqrstuvwxyz" - Type: CharacterClass -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPageEmpty6} -\begin{paste}{CharacterClassXmpPageEmpty6}{CharacterClassXmpPagePatch6} -\pastebutton{CharacterClassXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{lowerCase()} -\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPagePatch7} -\begin{paste}{CharacterClassXmpPageFull7}{CharacterClassXmpPageEmpty7} -\pastebutton{CharacterClassXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{alphabetic()} -\indentrel{3}\begin{verbatim} - (7) - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" - Type: CharacterClass -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPageEmpty7} -\begin{paste}{CharacterClassXmpPageEmpty7}{CharacterClassXmpPagePatch7} -\pastebutton{CharacterClassXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{alphabetic()} -\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPagePatch8} -\begin{paste}{CharacterClassXmpPageFull8}{CharacterClassXmpPageEmpty8} -\pastebutton{CharacterClassXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{alphanumeric()} -\indentrel{3}\begin{verbatim} - (8) - "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqr - stuvwxyz" - Type: CharacterClass -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPageEmpty8} -\begin{paste}{CharacterClassXmpPageEmpty8}{CharacterClassXmpPagePatch8} -\pastebutton{CharacterClassXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{alphanumeric()} -\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPagePatch9} -\begin{paste}{CharacterClassXmpPageFull9}{CharacterClassXmpPageEmpty9} -\pastebutton{CharacterClassXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{member?(char "a", cl1)\free{cl1 }} -\indentrel{3}\begin{verbatim} - (9) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPageEmpty9} -\begin{paste}{CharacterClassXmpPageEmpty9}{CharacterClassXmpPagePatch9} -\pastebutton{CharacterClassXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{member?(char "a", cl1)\free{cl1 }} -\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPagePatch10} -\begin{paste}{CharacterClassXmpPageFull10}{CharacterClassXmpPageEmpty10} -\pastebutton{CharacterClassXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{member?(char "a", cl2)\free{cl2 }} -\indentrel{3}\begin{verbatim} - (10) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPageEmpty10} -\begin{paste}{CharacterClassXmpPageEmpty10}{CharacterClassXmpPagePatch10} -\pastebutton{CharacterClassXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{member?(char "a", cl2)\free{cl2 }} -\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPagePatch11} -\begin{paste}{CharacterClassXmpPageFull11}{CharacterClassXmpPageEmpty11} -\pastebutton{CharacterClassXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{intersect(cl1, cl2)\free{cl1 cl2 }} -\indentrel{3}\begin{verbatim} - (11) "y" - Type: CharacterClass -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPageEmpty11} -\begin{paste}{CharacterClassXmpPageEmpty11}{CharacterClassXmpPagePatch11} -\pastebutton{CharacterClassXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{intersect(cl1, cl2)\free{cl1 cl2 }} -\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPagePatch12} -\begin{paste}{CharacterClassXmpPageFull12}{CharacterClassXmpPageEmpty12} -\pastebutton{CharacterClassXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{union(cl1,cl2)\free{cl1 cl2 }} -\indentrel{3}\begin{verbatim} - (12) "abcdefghijklmnopqrstuvwxyz" - Type: CharacterClass -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPageEmpty12} -\begin{paste}{CharacterClassXmpPageEmpty12}{CharacterClassXmpPagePatch12} -\pastebutton{CharacterClassXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{union(cl1,cl2)\free{cl1 cl2 }} -\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPagePatch13} -\begin{paste}{CharacterClassXmpPageFull13}{CharacterClassXmpPageEmpty13} -\pastebutton{CharacterClassXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{difference(cl1,cl2)\free{cl1 cl2 }} -\indentrel{3}\begin{verbatim} - (13) "aeiou" - Type: CharacterClass -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPageEmpty13} -\begin{paste}{CharacterClassXmpPageEmpty13}{CharacterClassXmpPagePatch13} -\pastebutton{CharacterClassXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{difference(cl1,cl2)\free{cl1 cl2 }} -\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPagePatch14} -\begin{paste}{CharacterClassXmpPageFull14}{CharacterClassXmpPageEmpty14} -\pastebutton{CharacterClassXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{intersect(complement(cl1),cl2)\free{cl1 cl2 }} -\indentrel{3}\begin{verbatim} - (14) "bcdfghjklmnpqrstvwxz" - Type: CharacterClass -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPageEmpty14} -\begin{paste}{CharacterClassXmpPageEmpty14}{CharacterClassXmpPagePatch14} -\pastebutton{CharacterClassXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{intersect(complement(cl1),cl2)\free{cl1 cl2 }} -\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPagePatch15} -\begin{paste}{CharacterClassXmpPageFull15}{CharacterClassXmpPageEmpty15} -\pastebutton{CharacterClassXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{insert!(char "a", cl2)\free{cl2 }\bound{cl22 }} -\indentrel{3}\begin{verbatim} - (15) "abcdfghjklmnpqrstvwxyz" - Type: CharacterClass -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPageEmpty15} -\begin{paste}{CharacterClassXmpPageEmpty15}{CharacterClassXmpPagePatch15} -\pastebutton{CharacterClassXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{insert!(char "a", cl2)\free{cl2 }\bound{cl22 }} -\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPagePatch16} -\begin{paste}{CharacterClassXmpPageFull16}{CharacterClassXmpPageEmpty16} -\pastebutton{CharacterClassXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{remove!(char "b", cl2)\free{cl22 }\bound{cl23 }} -\indentrel{3}\begin{verbatim} - (16) "acdfghjklmnpqrstvwxyz" - Type: CharacterClass -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterClassXmpPageEmpty16} -\begin{paste}{CharacterClassXmpPageEmpty16}{CharacterClassXmpPagePatch16} -\pastebutton{CharacterClassXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{remove!(char "b", cl2)\free{cl22 }\bound{cl23 }} -\end{paste}\end{patch} - diff --git a/books/pages/char.pht b/books/pages/char.pht deleted file mode 100644 index 2287bc0..0000000 --- a/books/pages/char.pht +++ /dev/null @@ -1,208 +0,0 @@ -\begin{patch}{CharacterXmpPagePatch1} -\begin{paste}{CharacterXmpPageFull1}{CharacterXmpPageEmpty1} -\pastebutton{CharacterXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{chars := [char "a", char "A", char "X", char "8", char "+"]\bound{chars }} -\indentrel{3}\begin{verbatim} - (1) [a,A,X,8,+] - Type: List Character -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterXmpPageEmpty1} -\begin{paste}{CharacterXmpPageEmpty1}{CharacterXmpPagePatch1} -\pastebutton{CharacterXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{chars := [char "a", char "A", char "X", char "8", char "+"]\bound{chars }} -\end{paste}\end{patch} - -\begin{patch}{CharacterXmpPagePatch2} -\begin{paste}{CharacterXmpPageFull2}{CharacterXmpPageEmpty2} -\pastebutton{CharacterXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{space()} -\indentrel{3}\begin{verbatim} - (2) - Type: Character -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterXmpPageEmpty2} -\begin{paste}{CharacterXmpPageEmpty2}{CharacterXmpPagePatch2} -\pastebutton{CharacterXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{space()} -\end{paste}\end{patch} - -\begin{patch}{CharacterXmpPagePatch3} -\begin{paste}{CharacterXmpPageFull3}{CharacterXmpPageEmpty3} -\pastebutton{CharacterXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{quote()} -\indentrel{3}\begin{verbatim} - (3) " - Type: Character -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterXmpPageEmpty3} -\begin{paste}{CharacterXmpPageEmpty3}{CharacterXmpPagePatch3} -\pastebutton{CharacterXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{quote()} -\end{paste}\end{patch} - -\begin{patch}{CharacterXmpPagePatch4} -\begin{paste}{CharacterXmpPageFull4}{CharacterXmpPageEmpty4} -\pastebutton{CharacterXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{escape()} -\indentrel{3}\begin{verbatim} - (4) _ - Type: Character -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterXmpPageEmpty4} -\begin{paste}{CharacterXmpPageEmpty4}{CharacterXmpPagePatch4} -\pastebutton{CharacterXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{escape()} -\end{paste}\end{patch} - -\begin{patch}{CharacterXmpPagePatch5} -\begin{paste}{CharacterXmpPageFull5}{CharacterXmpPageEmpty5} -\pastebutton{CharacterXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{[ord c for c in chars]\free{chars }} -\indentrel{3}\begin{verbatim} - (5) [97,65,88,56,43] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterXmpPageEmpty5} -\begin{paste}{CharacterXmpPageEmpty5}{CharacterXmpPagePatch5} -\pastebutton{CharacterXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{[ord c for c in chars]\free{chars }} -\end{paste}\end{patch} - -\begin{patch}{CharacterXmpPagePatch6} -\begin{paste}{CharacterXmpPageFull6}{CharacterXmpPageEmpty6} -\pastebutton{CharacterXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{[upperCase c for c in chars]\free{chars }} -\indentrel{3}\begin{verbatim} - (6) [A,A,X,8,+] - Type: List Character -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterXmpPageEmpty6} -\begin{paste}{CharacterXmpPageEmpty6}{CharacterXmpPagePatch6} -\pastebutton{CharacterXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{[upperCase c for c in chars]\free{chars }} -\end{paste}\end{patch} - -\begin{patch}{CharacterXmpPagePatch7} -\begin{paste}{CharacterXmpPageFull7}{CharacterXmpPageEmpty7} -\pastebutton{CharacterXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{[lowerCase c for c in chars]\free{chars }} -\indentrel{3}\begin{verbatim} - (7) [a,a,x,8,+] - Type: List Character -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterXmpPageEmpty7} -\begin{paste}{CharacterXmpPageEmpty7}{CharacterXmpPagePatch7} -\pastebutton{CharacterXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{[lowerCase c for c in chars]\free{chars }} -\end{paste}\end{patch} - -\begin{patch}{CharacterXmpPagePatch8} -\begin{paste}{CharacterXmpPageFull8}{CharacterXmpPageEmpty8} -\pastebutton{CharacterXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{[alphabetic? c for c in chars]\free{chars }} -\indentrel{3}\begin{verbatim} - (8) [true,true,true,false,false] - Type: List Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterXmpPageEmpty8} -\begin{paste}{CharacterXmpPageEmpty8}{CharacterXmpPagePatch8} -\pastebutton{CharacterXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{[alphabetic? c for c in chars]\free{chars }} -\end{paste}\end{patch} - -\begin{patch}{CharacterXmpPagePatch9} -\begin{paste}{CharacterXmpPageFull9}{CharacterXmpPageEmpty9} -\pastebutton{CharacterXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{[upperCase? c for c in chars]\free{chars }} -\indentrel{3}\begin{verbatim} - (9) [false,true,true,false,false] - Type: List Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterXmpPageEmpty9} -\begin{paste}{CharacterXmpPageEmpty9}{CharacterXmpPagePatch9} -\pastebutton{CharacterXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{[upperCase? c for c in chars]\free{chars }} -\end{paste}\end{patch} - -\begin{patch}{CharacterXmpPagePatch10} -\begin{paste}{CharacterXmpPageFull10}{CharacterXmpPageEmpty10} -\pastebutton{CharacterXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{[lowerCase? c for c in chars]\free{chars }} -\indentrel{3}\begin{verbatim} - (10) [true,false,false,false,false] - Type: List Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterXmpPageEmpty10} -\begin{paste}{CharacterXmpPageEmpty10}{CharacterXmpPagePatch10} -\pastebutton{CharacterXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{[lowerCase? c for c in chars]\free{chars }} -\end{paste}\end{patch} - -\begin{patch}{CharacterXmpPagePatch11} -\begin{paste}{CharacterXmpPageFull11}{CharacterXmpPageEmpty11} -\pastebutton{CharacterXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{[digit? c for c in chars]\free{chars }} -\indentrel{3}\begin{verbatim} - (11) [false,false,false,true,false] - Type: List Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterXmpPageEmpty11} -\begin{paste}{CharacterXmpPageEmpty11}{CharacterXmpPagePatch11} -\pastebutton{CharacterXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{[digit? c for c in chars]\free{chars }} -\end{paste}\end{patch} - -\begin{patch}{CharacterXmpPagePatch12} -\begin{paste}{CharacterXmpPageFull12}{CharacterXmpPageEmpty12} -\pastebutton{CharacterXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{[hexDigit? c for c in chars]\free{chars }} -\indentrel{3}\begin{verbatim} - (12) [true,true,false,true,false] - Type: List Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterXmpPageEmpty12} -\begin{paste}{CharacterXmpPageEmpty12}{CharacterXmpPagePatch12} -\pastebutton{CharacterXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{[hexDigit? c for c in chars]\free{chars }} -\end{paste}\end{patch} - -\begin{patch}{CharacterXmpPagePatch13} -\begin{paste}{CharacterXmpPageFull13}{CharacterXmpPageEmpty13} -\pastebutton{CharacterXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{[alphanumeric? c for c in chars]\free{chars }} -\indentrel{3}\begin{verbatim} - (13) [true,true,true,true,false] - Type: List Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CharacterXmpPageEmpty13} -\begin{paste}{CharacterXmpPageEmpty13}{CharacterXmpPagePatch13} -\pastebutton{CharacterXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{[alphanumeric? c for c in chars]\free{chars }} -\end{paste}\end{patch} - diff --git a/books/pages/clif.pht b/books/pages/clif.pht deleted file mode 100644 index 1331d45..0000000 --- a/books/pages/clif.pht +++ /dev/null @@ -1,622 +0,0 @@ -\begin{patch}{ugxCliffordDiracPagePatch1} -\begin{paste}{ugxCliffordDiracPageFull1}{ugxCliffordDiracPageEmpty1} -\pastebutton{ugxCliffordDiracPageFull1}{\hidepaste} -\tab{5}\spadcommand{K := Fraction Integer\bound{K }} -\indentrel{3}\begin{verbatim} - (1) Fraction Integer - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordDiracPageEmpty1} -\begin{paste}{ugxCliffordDiracPageEmpty1}{ugxCliffordDiracPagePatch1} -\pastebutton{ugxCliffordDiracPageEmpty1}{\showpaste} -\tab{5}\spadcommand{K := Fraction Integer\bound{K }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordDiracPagePatch2} -\begin{paste}{ugxCliffordDiracPageFull2}{ugxCliffordDiracPageEmpty2} -\pastebutton{ugxCliffordDiracPageFull2}{\hidepaste} -\tab{5}\spadcommand{g := matrix [[1,0,0,0], [0,-1,0,0], [0,0,-1,0], [0,0,0,-1]]\bound{g }} -\indentrel{3}\begin{verbatim} - Ú1 0 0 0 ¿ - ³ ³ - ³0 - 1 0 0 ³ - (2) ³ ³ - ³0 0 - 1 0 ³ - ³ ³ - À0 0 0 - 1Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordDiracPageEmpty2} -\begin{paste}{ugxCliffordDiracPageEmpty2}{ugxCliffordDiracPagePatch2} -\pastebutton{ugxCliffordDiracPageEmpty2}{\showpaste} -\tab{5}\spadcommand{g := matrix [[1,0,0,0], [0,-1,0,0], [0,0,-1,0], [0,0,0,-1]]\bound{g }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordDiracPagePatch3} -\begin{paste}{ugxCliffordDiracPageFull3}{ugxCliffordDiracPageEmpty3} -\pastebutton{ugxCliffordDiracPageFull3}{\hidepaste} -\tab{5}\spadcommand{D := CliffordAlgebra(4,K, quadraticForm g)\free{K g }\bound{D }} -\indentrel{3}\begin{verbatim} - (3) CliffordAlgebra(4,Fraction Integer,MATRIX) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordDiracPageEmpty3} -\begin{paste}{ugxCliffordDiracPageEmpty3}{ugxCliffordDiracPagePatch3} -\pastebutton{ugxCliffordDiracPageEmpty3}{\showpaste} -\tab{5}\spadcommand{D := CliffordAlgebra(4,K, quadraticForm g)\free{K g }\bound{D }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordDiracPagePatch4} -\begin{paste}{ugxCliffordDiracPageFull4}{ugxCliffordDiracPageEmpty4} -\pastebutton{ugxCliffordDiracPageFull4}{\hidepaste} -\tab{5}\spadcommand{gam := [e(i)$D for i in 1..4]\free{D }\bound{gam }} -\indentrel{3}\begin{verbatim} - (4) [e ,e ,e ,e ] - 1 2 3 4 - Type: List CliffordAlgebra(4,Fraction Integer,MATRIX) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordDiracPageEmpty4} -\begin{paste}{ugxCliffordDiracPageEmpty4}{ugxCliffordDiracPagePatch4} -\pastebutton{ugxCliffordDiracPageEmpty4}{\showpaste} -\tab{5}\spadcommand{gam := [e(i)$D for i in 1..4]\free{D }\bound{gam }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordDiracPagePatch5} -\begin{paste}{ugxCliffordDiracPageFull5}{ugxCliffordDiracPageEmpty5} -\pastebutton{ugxCliffordDiracPageFull5}{\hidepaste} -\tab{5}\spadcommand{m := 1; n:= 2; r := 3; s := 4;\bound{m n r s }} -\indentrel{3}\begin{verbatim} - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordDiracPageEmpty5} -\begin{paste}{ugxCliffordDiracPageEmpty5}{ugxCliffordDiracPagePatch5} -\pastebutton{ugxCliffordDiracPageEmpty5}{\showpaste} -\tab{5}\spadcommand{m := 1; n:= 2; r := 3; s := 4;\bound{m n r s }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordDiracPagePatch6} -\begin{paste}{ugxCliffordDiracPageFull6}{ugxCliffordDiracPageEmpty6} -\pastebutton{ugxCliffordDiracPageFull6}{\hidepaste} -\tab{5}\spadcommand{lhs := reduce(+, [reduce(+, [ g(l,t)*gam(l)*gam(m)*gam(n)*gam(r)*gam(s)*gam(t) for l in 1..4]) for t in 1..4])\bound{lhs }\free{g gam m n r s }} -\indentrel{3}\begin{verbatim} - (6) - 4e e e e - 1 2 3 4 - Type: CliffordAlgebra(4,Fraction Integer,MATRIX) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordDiracPageEmpty6} -\begin{paste}{ugxCliffordDiracPageEmpty6}{ugxCliffordDiracPagePatch6} -\pastebutton{ugxCliffordDiracPageEmpty6}{\showpaste} -\tab{5}\spadcommand{lhs := reduce(+, [reduce(+, [ g(l,t)*gam(l)*gam(m)*gam(n)*gam(r)*gam(s)*gam(t) for l in 1..4]) for t in 1..4])\bound{lhs }\free{g gam m n r s }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordDiracPagePatch7} -\begin{paste}{ugxCliffordDiracPageFull7}{ugxCliffordDiracPageEmpty7} -\pastebutton{ugxCliffordDiracPageFull7}{\hidepaste} -\tab{5}\spadcommand{rhs := 2*(gam s * gam m*gam n*gam r + gam r*gam n*gam m*gam s)\bound{rhs }\free{lhs g gam m n r s }} -\indentrel{3}\begin{verbatim} - (7) - 4e e e e - 1 2 3 4 - Type: CliffordAlgebra(4,Fraction Integer,MATRIX) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordDiracPageEmpty7} -\begin{paste}{ugxCliffordDiracPageEmpty7}{ugxCliffordDiracPagePatch7} -\pastebutton{ugxCliffordDiracPageEmpty7}{\showpaste} -\tab{5}\spadcommand{rhs := 2*(gam s * gam m*gam n*gam r + gam r*gam n*gam m*gam s)\bound{rhs }\free{lhs g gam m n r s }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordComplexPagePatch1} -\begin{paste}{ugxCliffordComplexPageFull1}{ugxCliffordComplexPageEmpty1} -\pastebutton{ugxCliffordComplexPageFull1}{\hidepaste} -\tab{5}\spadcommand{K := Fraction Polynomial Integer\bound{K }} -\indentrel{3}\begin{verbatim} - (1) Fraction Polynomial Integer - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordComplexPageEmpty1} -\begin{paste}{ugxCliffordComplexPageEmpty1}{ugxCliffordComplexPagePatch1} -\pastebutton{ugxCliffordComplexPageEmpty1}{\showpaste} -\tab{5}\spadcommand{K := Fraction Polynomial Integer\bound{K }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordComplexPagePatch2} -\begin{paste}{ugxCliffordComplexPageFull2}{ugxCliffordComplexPageEmpty2} -\pastebutton{ugxCliffordComplexPageFull2}{\hidepaste} -\tab{5}\spadcommand{m := matrix [[-1]]\bound{m }} -\indentrel{3}\begin{verbatim} - (2) [- 1] - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordComplexPageEmpty2} -\begin{paste}{ugxCliffordComplexPageEmpty2}{ugxCliffordComplexPagePatch2} -\pastebutton{ugxCliffordComplexPageEmpty2}{\showpaste} -\tab{5}\spadcommand{m := matrix [[-1]]\bound{m }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordComplexPagePatch3} -\begin{paste}{ugxCliffordComplexPageFull3}{ugxCliffordComplexPageEmpty3} -\pastebutton{ugxCliffordComplexPageFull3}{\hidepaste} -\tab{5}\spadcommand{C := CliffordAlgebra(1, K, quadraticForm m)\free{K m }\bound{C }} -\indentrel{3}\begin{verbatim} - (3) - CliffordAlgebra(1,Fraction Polynomial Integer,MATRIX) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordComplexPageEmpty3} -\begin{paste}{ugxCliffordComplexPageEmpty3}{ugxCliffordComplexPagePatch3} -\pastebutton{ugxCliffordComplexPageEmpty3}{\showpaste} -\tab{5}\spadcommand{C := CliffordAlgebra(1, K, quadraticForm m)\free{K m }\bound{C }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordComplexPagePatch4} -\begin{paste}{ugxCliffordComplexPageFull4}{ugxCliffordComplexPageEmpty4} -\pastebutton{ugxCliffordComplexPageFull4}{\hidepaste} -\tab{5}\spadcommand{i: C := e(1)\bound{i }\free{C }} -\indentrel{3}\begin{verbatim} - (4) e - 1 -Type: CliffordAlgebra(1,Fraction Polynomial Integer,MATRIX) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordComplexPageEmpty4} -\begin{paste}{ugxCliffordComplexPageEmpty4}{ugxCliffordComplexPagePatch4} -\pastebutton{ugxCliffordComplexPageEmpty4}{\showpaste} -\tab{5}\spadcommand{i: C := e(1)\bound{i }\free{C }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordComplexPagePatch5} -\begin{paste}{ugxCliffordComplexPageFull5}{ugxCliffordComplexPageEmpty5} -\pastebutton{ugxCliffordComplexPageFull5}{\hidepaste} -\tab{5}\spadcommand{x := a + b * i\bound{x }\free{i }} -\indentrel{3}\begin{verbatim} - (5) a + b e - 1 -Type: CliffordAlgebra(1,Fraction Polynomial Integer,MATRIX) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordComplexPageEmpty5} -\begin{paste}{ugxCliffordComplexPageEmpty5}{ugxCliffordComplexPagePatch5} -\pastebutton{ugxCliffordComplexPageEmpty5}{\showpaste} -\tab{5}\spadcommand{x := a + b * i\bound{x }\free{i }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordComplexPagePatch6} -\begin{paste}{ugxCliffordComplexPageFull6}{ugxCliffordComplexPageEmpty6} -\pastebutton{ugxCliffordComplexPageFull6}{\hidepaste} -\tab{5}\spadcommand{y := c + d * i\bound{y }\free{i }} -\indentrel{3}\begin{verbatim} - (6) c + d e - 1 -Type: CliffordAlgebra(1,Fraction Polynomial Integer,MATRIX) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordComplexPageEmpty6} -\begin{paste}{ugxCliffordComplexPageEmpty6}{ugxCliffordComplexPagePatch6} -\pastebutton{ugxCliffordComplexPageEmpty6}{\showpaste} -\tab{5}\spadcommand{y := c + d * i\bound{y }\free{i }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordComplexPagePatch7} -\begin{paste}{ugxCliffordComplexPageFull7}{ugxCliffordComplexPageEmpty7} -\pastebutton{ugxCliffordComplexPageFull7}{\hidepaste} -\tab{5}\spadcommand{x * y\free{x y }} -\indentrel{3}\begin{verbatim} - (7) - b d + a c + (a d + b c)e - 1 -Type: CliffordAlgebra(1,Fraction Polynomial Integer,MATRIX) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordComplexPageEmpty7} -\begin{paste}{ugxCliffordComplexPageEmpty7}{ugxCliffordComplexPagePatch7} -\pastebutton{ugxCliffordComplexPageEmpty7}{\showpaste} -\tab{5}\spadcommand{x * y\free{x y }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordQuaternPagePatch1} -\begin{paste}{ugxCliffordQuaternPageFull1}{ugxCliffordQuaternPageEmpty1} -\pastebutton{ugxCliffordQuaternPageFull1}{\hidepaste} -\tab{5}\spadcommand{K := Fraction Polynomial Integer\bound{K }} -\indentrel{3}\begin{verbatim} - (1) Fraction Polynomial Integer - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordQuaternPageEmpty1} -\begin{paste}{ugxCliffordQuaternPageEmpty1}{ugxCliffordQuaternPagePatch1} -\pastebutton{ugxCliffordQuaternPageEmpty1}{\showpaste} -\tab{5}\spadcommand{K := Fraction Polynomial Integer\bound{K }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordQuaternPagePatch2} -\begin{paste}{ugxCliffordQuaternPageFull2}{ugxCliffordQuaternPageEmpty2} -\pastebutton{ugxCliffordQuaternPageFull2}{\hidepaste} -\tab{5}\spadcommand{m := matrix [[-1,0],[0,-1]]\bound{m }} -\indentrel{3}\begin{verbatim} - Ú- 1 0 ¿ - (2) ³ ³ - À 0 - 1Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordQuaternPageEmpty2} -\begin{paste}{ugxCliffordQuaternPageEmpty2}{ugxCliffordQuaternPagePatch2} -\pastebutton{ugxCliffordQuaternPageEmpty2}{\showpaste} -\tab{5}\spadcommand{m := matrix [[-1,0],[0,-1]]\bound{m }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordQuaternPagePatch3} -\begin{paste}{ugxCliffordQuaternPageFull3}{ugxCliffordQuaternPageEmpty3} -\pastebutton{ugxCliffordQuaternPageFull3}{\hidepaste} -\tab{5}\spadcommand{H := CliffordAlgebra(2, K, quadraticForm m)\free{K m }\bound{H }} -\indentrel{3}\begin{verbatim} - (3) - CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordQuaternPageEmpty3} -\begin{paste}{ugxCliffordQuaternPageEmpty3}{ugxCliffordQuaternPagePatch3} -\pastebutton{ugxCliffordQuaternPageEmpty3}{\showpaste} -\tab{5}\spadcommand{H := CliffordAlgebra(2, K, quadraticForm m)\free{K m }\bound{H }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordQuaternPagePatch4} -\begin{paste}{ugxCliffordQuaternPageFull4}{ugxCliffordQuaternPageEmpty4} -\pastebutton{ugxCliffordQuaternPageFull4}{\hidepaste} -\tab{5}\spadcommand{i: H := e(1)\free{H }\bound{i }} -\indentrel{3}\begin{verbatim} - (4) e - 1 -Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordQuaternPageEmpty4} -\begin{paste}{ugxCliffordQuaternPageEmpty4}{ugxCliffordQuaternPagePatch4} -\pastebutton{ugxCliffordQuaternPageEmpty4}{\showpaste} -\tab{5}\spadcommand{i: H := e(1)\free{H }\bound{i }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordQuaternPagePatch5} -\begin{paste}{ugxCliffordQuaternPageFull5}{ugxCliffordQuaternPageEmpty5} -\pastebutton{ugxCliffordQuaternPageFull5}{\hidepaste} -\tab{5}\spadcommand{j: H := e(2)\free{H }\bound{j }} -\indentrel{3}\begin{verbatim} - (5) e - 2 -Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordQuaternPageEmpty5} -\begin{paste}{ugxCliffordQuaternPageEmpty5}{ugxCliffordQuaternPagePatch5} -\pastebutton{ugxCliffordQuaternPageEmpty5}{\showpaste} -\tab{5}\spadcommand{j: H := e(2)\free{H }\bound{j }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordQuaternPagePatch6} -\begin{paste}{ugxCliffordQuaternPageFull6}{ugxCliffordQuaternPageEmpty6} -\pastebutton{ugxCliffordQuaternPageFull6}{\hidepaste} -\tab{5}\spadcommand{k: H := i * j\free{H i j }\bound{k }} -\indentrel{3}\begin{verbatim} - (6) e e - 1 2 -Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordQuaternPageEmpty6} -\begin{paste}{ugxCliffordQuaternPageEmpty6}{ugxCliffordQuaternPagePatch6} -\pastebutton{ugxCliffordQuaternPageEmpty6}{\showpaste} -\tab{5}\spadcommand{k: H := i * j\free{H i j }\bound{k }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordQuaternPagePatch7} -\begin{paste}{ugxCliffordQuaternPageFull7}{ugxCliffordQuaternPageEmpty7} -\pastebutton{ugxCliffordQuaternPageFull7}{\hidepaste} -\tab{5}\spadcommand{x := a + b * i + c * j + d * k\free{i j k }\bound{x }} -\indentrel{3}\begin{verbatim} - (7) a + b e + c e + d e e - 1 2 1 2 -Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordQuaternPageEmpty7} -\begin{paste}{ugxCliffordQuaternPageEmpty7}{ugxCliffordQuaternPagePatch7} -\pastebutton{ugxCliffordQuaternPageEmpty7}{\showpaste} -\tab{5}\spadcommand{x := a + b * i + c * j + d * k\free{i j k }\bound{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordQuaternPagePatch8} -\begin{paste}{ugxCliffordQuaternPageFull8}{ugxCliffordQuaternPageEmpty8} -\pastebutton{ugxCliffordQuaternPageFull8}{\hidepaste} -\tab{5}\spadcommand{y := e + f * i + g * j + h * k\free{i j k }\bound{y }} -\indentrel{3}\begin{verbatim} - (8) e + f e + g e + h e e - 1 2 1 2 -Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordQuaternPageEmpty8} -\begin{paste}{ugxCliffordQuaternPageEmpty8}{ugxCliffordQuaternPagePatch8} -\pastebutton{ugxCliffordQuaternPageEmpty8}{\showpaste} -\tab{5}\spadcommand{y := e + f * i + g * j + h * k\free{i j k }\bound{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordQuaternPagePatch9} -\begin{paste}{ugxCliffordQuaternPageFull9}{ugxCliffordQuaternPageEmpty9} -\pastebutton{ugxCliffordQuaternPageFull9}{\hidepaste} -\tab{5}\spadcommand{x + y\free{x y }} -\indentrel{3}\begin{verbatim} - (9) e + a + (f + b)e + (g + c)e + (h + d)e e - 1 2 1 2 -Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordQuaternPageEmpty9} -\begin{paste}{ugxCliffordQuaternPageEmpty9}{ugxCliffordQuaternPagePatch9} -\pastebutton{ugxCliffordQuaternPageEmpty9}{\showpaste} -\tab{5}\spadcommand{x + y\free{x y }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordQuaternPagePatch10} -\begin{paste}{ugxCliffordQuaternPageFull10}{ugxCliffordQuaternPageEmpty10} -\pastebutton{ugxCliffordQuaternPageFull10}{\hidepaste} -\tab{5}\spadcommand{x * y\free{x y }} -\indentrel{3}\begin{verbatim} - (10) - - d h - c g - b f + a e + (c h - d g + a f + b e)e - 1 - + - (- b h + a g + d f + c e)e - 2 - + - (a h + b g - c f + d e)e e - 1 2 -Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordQuaternPageEmpty10} -\begin{paste}{ugxCliffordQuaternPageEmpty10}{ugxCliffordQuaternPagePatch10} -\pastebutton{ugxCliffordQuaternPageEmpty10}{\showpaste} -\tab{5}\spadcommand{x * y\free{x y }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordQuaternPagePatch11} -\begin{paste}{ugxCliffordQuaternPageFull11}{ugxCliffordQuaternPageEmpty11} -\pastebutton{ugxCliffordQuaternPageFull11}{\hidepaste} -\tab{5}\spadcommand{y * x\free{x y }} -\indentrel{3}\begin{verbatim} - (11) - - d h - c g - b f + a e + (- c h + d g + a f + b e)e - 1 - + - (b h + a g - d f + c e)e + (a h - b g + c f + d e)e e - 2 1 2 -Type: CliffordAlgebra(2,Fraction Polynomial Integer,MATRIX) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordQuaternPageEmpty11} -\begin{paste}{ugxCliffordQuaternPageEmpty11}{ugxCliffordQuaternPagePatch11} -\pastebutton{ugxCliffordQuaternPageEmpty11}{\showpaste} -\tab{5}\spadcommand{y * x\free{x y }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordExteriorPagePatch1} -\begin{paste}{ugxCliffordExteriorPageFull1}{ugxCliffordExteriorPageEmpty1} -\pastebutton{ugxCliffordExteriorPageFull1}{\hidepaste} -\tab{5}\spadcommand{K := Fraction Polynomial Integer\bound{K }} -\indentrel{3}\begin{verbatim} - (1) Fraction Polynomial Integer - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordExteriorPageEmpty1} -\begin{paste}{ugxCliffordExteriorPageEmpty1}{ugxCliffordExteriorPagePatch1} -\pastebutton{ugxCliffordExteriorPageEmpty1}{\showpaste} -\tab{5}\spadcommand{K := Fraction Polynomial Integer\bound{K }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordExteriorPagePatch2} -\begin{paste}{ugxCliffordExteriorPageFull2}{ugxCliffordExteriorPageEmpty2} -\pastebutton{ugxCliffordExteriorPageFull2}{\hidepaste} -\tab{5}\spadcommand{Ext := CliffordAlgebra(3, K, quadraticForm 0)\bound{Ext }\free{K }} -\indentrel{3}\begin{verbatim} - (2) - CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordExteriorPageEmpty2} -\begin{paste}{ugxCliffordExteriorPageEmpty2}{ugxCliffordExteriorPagePatch2} -\pastebutton{ugxCliffordExteriorPageEmpty2}{\showpaste} -\tab{5}\spadcommand{Ext := CliffordAlgebra(3, K, quadraticForm 0)\bound{Ext }\free{K }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordExteriorPagePatch3} -\begin{paste}{ugxCliffordExteriorPageFull3}{ugxCliffordExteriorPageEmpty3} -\pastebutton{ugxCliffordExteriorPageFull3}{\hidepaste} -\tab{5}\spadcommand{i: Ext := e(1)\free{Ext }\bound{i }} -\indentrel{3}\begin{verbatim} - (3) e - 1 -Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordExteriorPageEmpty3} -\begin{paste}{ugxCliffordExteriorPageEmpty3}{ugxCliffordExteriorPagePatch3} -\pastebutton{ugxCliffordExteriorPageEmpty3}{\showpaste} -\tab{5}\spadcommand{i: Ext := e(1)\free{Ext }\bound{i }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordExteriorPagePatch4} -\begin{paste}{ugxCliffordExteriorPageFull4}{ugxCliffordExteriorPageEmpty4} -\pastebutton{ugxCliffordExteriorPageFull4}{\hidepaste} -\tab{5}\spadcommand{j: Ext := e(2)\free{Ext }\bound{j }} -\indentrel{3}\begin{verbatim} - (4) e - 2 -Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordExteriorPageEmpty4} -\begin{paste}{ugxCliffordExteriorPageEmpty4}{ugxCliffordExteriorPagePatch4} -\pastebutton{ugxCliffordExteriorPageEmpty4}{\showpaste} -\tab{5}\spadcommand{j: Ext := e(2)\free{Ext }\bound{j }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordExteriorPagePatch5} -\begin{paste}{ugxCliffordExteriorPageFull5}{ugxCliffordExteriorPageEmpty5} -\pastebutton{ugxCliffordExteriorPageFull5}{\hidepaste} -\tab{5}\spadcommand{k: Ext := e(3)\free{Ext }\bound{k }} -\indentrel{3}\begin{verbatim} - (5) e - 3 -Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordExteriorPageEmpty5} -\begin{paste}{ugxCliffordExteriorPageEmpty5}{ugxCliffordExteriorPagePatch5} -\pastebutton{ugxCliffordExteriorPageEmpty5}{\showpaste} -\tab{5}\spadcommand{k: Ext := e(3)\free{Ext }\bound{k }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordExteriorPagePatch6} -\begin{paste}{ugxCliffordExteriorPageFull6}{ugxCliffordExteriorPageEmpty6} -\pastebutton{ugxCliffordExteriorPageFull6}{\hidepaste} -\tab{5}\spadcommand{x := x1*i + x2*j + x3*k\free{i j k }\bound{x }} -\indentrel{3}\begin{verbatim} - (6) x1 e + x2 e + x3 e - 1 2 3 -Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordExteriorPageEmpty6} -\begin{paste}{ugxCliffordExteriorPageEmpty6}{ugxCliffordExteriorPagePatch6} -\pastebutton{ugxCliffordExteriorPageEmpty6}{\showpaste} -\tab{5}\spadcommand{x := x1*i + x2*j + x3*k\free{i j k }\bound{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordExteriorPagePatch7} -\begin{paste}{ugxCliffordExteriorPageFull7}{ugxCliffordExteriorPageEmpty7} -\pastebutton{ugxCliffordExteriorPageFull7}{\hidepaste} -\tab{5}\spadcommand{y := y1*i + y2*j + y3*k\free{i j k }\bound{y }} -\indentrel{3}\begin{verbatim} - (7) y1 e + y2 e + y3 e - 1 2 3 -Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordExteriorPageEmpty7} -\begin{paste}{ugxCliffordExteriorPageEmpty7}{ugxCliffordExteriorPagePatch7} -\pastebutton{ugxCliffordExteriorPageEmpty7}{\showpaste} -\tab{5}\spadcommand{y := y1*i + y2*j + y3*k\free{i j k }\bound{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordExteriorPagePatch8} -\begin{paste}{ugxCliffordExteriorPageFull8}{ugxCliffordExteriorPageEmpty8} -\pastebutton{ugxCliffordExteriorPageFull8}{\hidepaste} -\tab{5}\spadcommand{x + y\free{x y }} -\indentrel{3}\begin{verbatim} - (8) (y1 + x1)e + (y2 + x2)e + (y3 + x3)e - 1 2 3 -Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordExteriorPageEmpty8} -\begin{paste}{ugxCliffordExteriorPageEmpty8}{ugxCliffordExteriorPagePatch8} -\pastebutton{ugxCliffordExteriorPageEmpty8}{\showpaste} -\tab{5}\spadcommand{x + y\free{x y }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordExteriorPagePatch9} -\begin{paste}{ugxCliffordExteriorPageFull9}{ugxCliffordExteriorPageEmpty9} -\pastebutton{ugxCliffordExteriorPageFull9}{\hidepaste} -\tab{5}\spadcommand{x * y + y * x\free{x y }} -\indentrel{3}\begin{verbatim} - (9) 0 -Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordExteriorPageEmpty9} -\begin{paste}{ugxCliffordExteriorPageEmpty9}{ugxCliffordExteriorPagePatch9} -\pastebutton{ugxCliffordExteriorPageEmpty9}{\showpaste} -\tab{5}\spadcommand{x * y + y * x\free{x y }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordExteriorPagePatch10} -\begin{paste}{ugxCliffordExteriorPageFull10}{ugxCliffordExteriorPageEmpty10} -\pastebutton{ugxCliffordExteriorPageFull10}{\hidepaste} -\tab{5}\spadcommand{dual2 a == coefficient(a,[2,3]) * i + coefficient(a,[3,1]) * j + coefficient(a,[1,2]) * k\free{i j k }\bound{dual2 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordExteriorPageEmpty10} -\begin{paste}{ugxCliffordExteriorPageEmpty10}{ugxCliffordExteriorPagePatch10} -\pastebutton{ugxCliffordExteriorPageEmpty10}{\showpaste} -\tab{5}\spadcommand{dual2 a == coefficient(a,[2,3]) * i + coefficient(a,[3,1]) * j + coefficient(a,[1,2]) * k\free{i j k }\bound{dual2 }} -\end{paste}\end{patch} - -\begin{patch}{ugxCliffordExteriorPagePatch11} -\begin{paste}{ugxCliffordExteriorPageFull11}{ugxCliffordExteriorPageEmpty11} -\pastebutton{ugxCliffordExteriorPageFull11}{\hidepaste} -\tab{5}\spadcommand{dual2(x*y)\free{x y dual2 }} -\indentrel{3}\begin{verbatim} - (11) - (x2 y3 - x3 y2)e + (- x1 y3 + x3 y1)e - 1 2 - + - (x1 y2 - x2 y1)e - 3 -Type: CliffordAlgebra(3,Fraction Polynomial Integer,MATRIX) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxCliffordExteriorPageEmpty11} -\begin{paste}{ugxCliffordExteriorPageEmpty11}{ugxCliffordExteriorPagePatch11} -\pastebutton{ugxCliffordExteriorPageEmpty11}{\showpaste} -\tab{5}\spadcommand{dual2(x*y)\free{x y dual2 }} -\end{paste}\end{patch} - diff --git a/books/pages/complex.pht b/books/pages/complex.pht deleted file mode 100644 index e7c6974..0000000 --- a/books/pages/complex.pht +++ /dev/null @@ -1,277 +0,0 @@ -\begin{patch}{ComplexXmpPagePatch1} -\begin{paste}{ComplexXmpPageFull1}{ComplexXmpPageEmpty1} -\pastebutton{ComplexXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{a := complex(4/3,5/2)\bound{a }} -\indentrel{3}\begin{verbatim} - 4 5 - (1) Ä + Ä %i - 3 2 - Type: Complex Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPageEmpty1} -\begin{paste}{ComplexXmpPageEmpty1}{ComplexXmpPagePatch1} -\pastebutton{ComplexXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{a := complex(4/3,5/2)\bound{a }} -\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPagePatch2} -\begin{paste}{ComplexXmpPageFull2}{ComplexXmpPageEmpty2} -\pastebutton{ComplexXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{b := complex(4/3,-5/2)\bound{b }} -\indentrel{3}\begin{verbatim} - 4 5 - (2) Ä - Ä %i - 3 2 - Type: Complex Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPageEmpty2} -\begin{paste}{ComplexXmpPageEmpty2}{ComplexXmpPagePatch2} -\pastebutton{ComplexXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{b := complex(4/3,-5/2)\bound{b }} -\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPagePatch3} -\begin{paste}{ComplexXmpPageFull3}{ComplexXmpPageEmpty3} -\pastebutton{ComplexXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{a + b\free{a b }} -\indentrel{3}\begin{verbatim} - 8 - (3) Ä - 3 - Type: Complex Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPageEmpty3} -\begin{paste}{ComplexXmpPageEmpty3}{ComplexXmpPagePatch3} -\pastebutton{ComplexXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{a + b\free{a b }} -\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPagePatch4} -\begin{paste}{ComplexXmpPageFull4}{ComplexXmpPageEmpty4} -\pastebutton{ComplexXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{a - b\free{a b }} -\indentrel{3}\begin{verbatim} - (4) 5%i - Type: Complex Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPageEmpty4} -\begin{paste}{ComplexXmpPageEmpty4}{ComplexXmpPagePatch4} -\pastebutton{ComplexXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{a - b\free{a b }} -\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPagePatch5} -\begin{paste}{ComplexXmpPageFull5}{ComplexXmpPageEmpty5} -\pastebutton{ComplexXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{a * b\free{a b }} -\indentrel{3}\begin{verbatim} - 289 - (5) ÄÄÄ - 36 - Type: Complex Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPageEmpty5} -\begin{paste}{ComplexXmpPageEmpty5}{ComplexXmpPagePatch5} -\pastebutton{ComplexXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{a * b\free{a b }} -\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPagePatch6} -\begin{paste}{ComplexXmpPageFull6}{ComplexXmpPageEmpty6} -\pastebutton{ComplexXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{a / b\free{a b }\bound{adb }} -\indentrel{3}\begin{verbatim} - 161 240 - (6) - ÄÄÄ + ÄÄÄ %i - 289 289 - Type: Complex Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPageEmpty6} -\begin{paste}{ComplexXmpPageEmpty6}{ComplexXmpPagePatch6} -\pastebutton{ComplexXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{a / b\free{a b }\bound{adb }} -\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPagePatch7} -\begin{paste}{ComplexXmpPageFull7}{ComplexXmpPageEmpty7} -\pastebutton{ComplexXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{\% :: Fraction Complex Integer\free{adb }} -\indentrel{3}\begin{verbatim} - - 15 + 8%i - (7) ÄÄÄÄÄÄÄÄÄÄ - 15 + 8%i - Type: Fraction Complex Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPageEmpty7} -\begin{paste}{ComplexXmpPageEmpty7}{ComplexXmpPagePatch7} -\pastebutton{ComplexXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{\% :: Fraction Complex Integer\free{adb }} -\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPagePatch8} -\begin{paste}{ComplexXmpPageFull8}{ComplexXmpPageEmpty8} -\pastebutton{ComplexXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{3.4 + 6.7 * \%i} -\indentrel{3}\begin{verbatim} - (8) 3.4 + 6.7 %i - Type: Complex Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPageEmpty8} -\begin{paste}{ComplexXmpPageEmpty8}{ComplexXmpPagePatch8} -\pastebutton{ComplexXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{3.4 + 6.7 * \%i} -\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPagePatch9} -\begin{paste}{ComplexXmpPageFull9}{ComplexXmpPageEmpty9} -\pastebutton{ComplexXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{conjugate a\free{a }} -\indentrel{3}\begin{verbatim} - 4 5 - (9) Ä - Ä %i - 3 2 - Type: Complex Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPageEmpty9} -\begin{paste}{ComplexXmpPageEmpty9}{ComplexXmpPagePatch9} -\pastebutton{ComplexXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{conjugate a\free{a }} -\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPagePatch10} -\begin{paste}{ComplexXmpPageFull10}{ComplexXmpPageEmpty10} -\pastebutton{ComplexXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{norm a\free{a }} -\indentrel{3}\begin{verbatim} - 289 - (10) ÄÄÄ - 36 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPageEmpty10} -\begin{paste}{ComplexXmpPageEmpty10}{ComplexXmpPagePatch10} -\pastebutton{ComplexXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{norm a\free{a }} -\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPagePatch11} -\begin{paste}{ComplexXmpPageFull11}{ComplexXmpPageEmpty11} -\pastebutton{ComplexXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{real a\free{a }} -\indentrel{3}\begin{verbatim} - 4 - (11) Ä - 3 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPageEmpty11} -\begin{paste}{ComplexXmpPageEmpty11}{ComplexXmpPagePatch11} -\pastebutton{ComplexXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{real a\free{a }} -\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPagePatch12} -\begin{paste}{ComplexXmpPageFull12}{ComplexXmpPageEmpty12} -\pastebutton{ComplexXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{imag a\free{a }} -\indentrel{3}\begin{verbatim} - 5 - (12) Ä - 2 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPageEmpty12} -\begin{paste}{ComplexXmpPageEmpty12}{ComplexXmpPagePatch12} -\pastebutton{ComplexXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{imag a\free{a }} -\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPagePatch13} -\begin{paste}{ComplexXmpPageFull13}{ComplexXmpPageEmpty13} -\pastebutton{ComplexXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{gcd(13 - 13*\%i,31 + 27*\%i)} -\indentrel{3}\begin{verbatim} - (13) 5 + %i - Type: Complex Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPageEmpty13} -\begin{paste}{ComplexXmpPageEmpty13}{ComplexXmpPagePatch13} -\pastebutton{ComplexXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{gcd(13 - 13*\%i,31 + 27*\%i)} -\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPagePatch14} -\begin{paste}{ComplexXmpPageFull14}{ComplexXmpPageEmpty14} -\pastebutton{ComplexXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{lcm(13 - 13*\%i,31 + 27*\%i)} -\indentrel{3}\begin{verbatim} - (14) 143 - 39%i - Type: Complex Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPageEmpty14} -\begin{paste}{ComplexXmpPageEmpty14}{ComplexXmpPagePatch14} -\pastebutton{ComplexXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{lcm(13 - 13*\%i,31 + 27*\%i)} -\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPagePatch15} -\begin{paste}{ComplexXmpPageFull15}{ComplexXmpPageEmpty15} -\pastebutton{ComplexXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{factor(13 - 13*\%i)} -\indentrel{3}\begin{verbatim} - (15) - (1 + %i)(2 + 3%i)(3 + 2%i) - Type: Factored Complex Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPageEmpty15} -\begin{paste}{ComplexXmpPageEmpty15}{ComplexXmpPagePatch15} -\pastebutton{ComplexXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{factor(13 - 13*\%i)} -\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPagePatch16} -\begin{paste}{ComplexXmpPageFull16}{ComplexXmpPageEmpty16} -\pastebutton{ComplexXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{factor complex(2,0)} -\indentrel{3}\begin{verbatim} - 2 - (16) - %i (1 + %i) - Type: Factored Complex Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ComplexXmpPageEmpty16} -\begin{paste}{ComplexXmpPageEmpty16}{ComplexXmpPagePatch16} -\pastebutton{ComplexXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{factor complex(2,0)} -\end{paste}\end{patch} - diff --git a/books/pages/contfrac.pht b/books/pages/contfrac.pht deleted file mode 100644 index fb95eff..0000000 --- a/books/pages/contfrac.pht +++ /dev/null @@ -1,437 +0,0 @@ -\begin{patch}{ContinuedFractionXmpPagePatch1} -\begin{paste}{ContinuedFractionXmpPageFull1}{ContinuedFractionXmpPageEmpty1} -\pastebutton{ContinuedFractionXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{c := continuedFraction(314159/100000)\bound{c }} -\indentrel{3}\begin{verbatim} - (1) - 1 ³ 1 ³ 1 ³ 1 ³ 1 ³ 1 ³ - 3 + ÚÄÄÄÙ + ÚÄÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÙ - ³ 7 ³ 15 ³ 1 ³ 25 ³ 1 ³ 7 - + - 1 ³ - ÚÄÄÄÙ - ³ 4 - Type: ContinuedFraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPageEmpty1} -\begin{paste}{ContinuedFractionXmpPageEmpty1}{ContinuedFractionXmpPagePatch1} -\pastebutton{ContinuedFractionXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{c := continuedFraction(314159/100000)\bound{c }} -\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPagePatch2} -\begin{paste}{ContinuedFractionXmpPageFull2}{ContinuedFractionXmpPageEmpty2} -\pastebutton{ContinuedFractionXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{partialQuotients c\free{c }} -\indentrel{3}\begin{verbatim} - (2) [3,7,15,1,25,1,7,4] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPageEmpty2} -\begin{paste}{ContinuedFractionXmpPageEmpty2}{ContinuedFractionXmpPagePatch2} -\pastebutton{ContinuedFractionXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{partialQuotients c\free{c }} -\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPagePatch3} -\begin{paste}{ContinuedFractionXmpPageFull3}{ContinuedFractionXmpPageEmpty3} -\pastebutton{ContinuedFractionXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{convergents c\free{c }} -\indentrel{3}\begin{verbatim} - 22 333 355 9208 9563 76149 314159 - (3) [3,ÄÄ,ÄÄÄ,ÄÄÄ,ÄÄÄÄ,ÄÄÄÄ,ÄÄÄÄÄ,ÄÄÄÄÄÄ] - 7 106 113 2931 3044 24239 100000 - Type: Stream Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPageEmpty3} -\begin{paste}{ContinuedFractionXmpPageEmpty3}{ContinuedFractionXmpPagePatch3} -\pastebutton{ContinuedFractionXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{convergents c\free{c }} -\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPagePatch4} -\begin{paste}{ContinuedFractionXmpPageFull4}{ContinuedFractionXmpPageEmpty4} -\pastebutton{ContinuedFractionXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{approximants c\free{c }} -\indentrel{3}\begin{verbatim} - ______ - 22 333 355 9208 9563 76149 314159 - (4) [3,ÄÄ,ÄÄÄ,ÄÄÄ,ÄÄÄÄ,ÄÄÄÄ,ÄÄÄÄÄ,ÄÄÄÄÄÄ] - 7 106 113 2931 3044 24239 100000 - Type: Stream Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPageEmpty4} -\begin{paste}{ContinuedFractionXmpPageEmpty4}{ContinuedFractionXmpPagePatch4} -\pastebutton{ContinuedFractionXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{approximants c\free{c }} -\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPagePatch5} -\begin{paste}{ContinuedFractionXmpPageFull5}{ContinuedFractionXmpPageEmpty5} -\pastebutton{ContinuedFractionXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{pq := partialQuotients(1/c)\free{c }\bound{pq }} -\indentrel{3}\begin{verbatim} - (5) [0,3,7,15,1,25,1,7,4] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPageEmpty5} -\begin{paste}{ContinuedFractionXmpPageEmpty5}{ContinuedFractionXmpPagePatch5} -\pastebutton{ContinuedFractionXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{pq := partialQuotients(1/c)\free{c }\bound{pq }} -\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPagePatch6} -\begin{paste}{ContinuedFractionXmpPageFull6}{ContinuedFractionXmpPageEmpty6} -\pastebutton{ContinuedFractionXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{continuedFraction(first pq,repeating [1],rest pq)\free{pq }} -\indentrel{3}\begin{verbatim} - (6) - 1 ³ 1 ³ 1 ³ 1 ³ 1 ³ 1 ³ - ÚÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÄÙ + ÚÄÄÄÙ - ³ 3 ³ 7 ³ 15 ³ 1 ³ 25 ³ 1 - + - 1 ³ 1 ³ - ÚÄÄÄÙ + ÚÄÄÄÙ - ³ 7 ³ 4 - Type: ContinuedFraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPageEmpty6} -\begin{paste}{ContinuedFractionXmpPageEmpty6}{ContinuedFractionXmpPagePatch6} -\pastebutton{ContinuedFractionXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{continuedFraction(first pq,repeating [1],rest pq)\free{pq }} -\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPagePatch7} -\begin{paste}{ContinuedFractionXmpPageFull7}{ContinuedFractionXmpPageEmpty7} -\pastebutton{ContinuedFractionXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{z:=continuedFraction(3,repeating [1],repeating [3,6])\bound{z }} -\indentrel{3}\begin{verbatim} - (7) - 1 ³ 1 ³ 1 ³ 1 ³ 1 ³ 1 ³ - 3 + ÚÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÙ - ³ 3 ³ 6 ³ 3 ³ 6 ³ 3 ³ 6 - + - 1 ³ 1 ³ 1 ³ 1 ³ - ÚÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÙ + ... - ³ 3 ³ 6 ³ 3 ³ 6 - Type: ContinuedFraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPageEmpty7} -\begin{paste}{ContinuedFractionXmpPageEmpty7}{ContinuedFractionXmpPagePatch7} -\pastebutton{ContinuedFractionXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{z:=continuedFraction(3,repeating [1],repeating [3,6])\bound{z }} -\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPagePatch8} -\begin{paste}{ContinuedFractionXmpPageFull8}{ContinuedFractionXmpPageEmpty8} -\pastebutton{ContinuedFractionXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{dens:Stream Integer := cons(1,generate((x+->x+4),6))\bound{dens }} -\indentrel{3}\begin{verbatim} - (8) [1,6,10,14,18,22,26,30,34,38,...] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPageEmpty8} -\begin{paste}{ContinuedFractionXmpPageEmpty8}{ContinuedFractionXmpPagePatch8} -\pastebutton{ContinuedFractionXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{dens:Stream Integer := cons(1,generate((x+->x+4),6))\bound{dens }} -\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPagePatch9} -\begin{paste}{ContinuedFractionXmpPageFull9}{ContinuedFractionXmpPageEmpty9} -\pastebutton{ContinuedFractionXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{cf := continuedFraction(0,repeating [1],dens)\free{dens }\bound{cf }} -\indentrel{3}\begin{verbatim} - (9) - 1 ³ 1 ³ 1 ³ 1 ³ 1 ³ 1 ³ - ÚÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÄÙ + ÚÄÄÄÄÙ + ÚÄÄÄÄÙ + ÚÄÄÄÄÙ - ³ 1 ³ 6 ³ 10 ³ 14 ³ 18 ³ 22 - + - 1 ³ 1 ³ 1 ³ 1 ³ - ÚÄÄÄÄÙ + ÚÄÄÄÄÙ + ÚÄÄÄÄÙ + ÚÄÄÄÄÙ + ... - ³ 26 ³ 30 ³ 34 ³ 38 - Type: ContinuedFraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPageEmpty9} -\begin{paste}{ContinuedFractionXmpPageEmpty9}{ContinuedFractionXmpPagePatch9} -\pastebutton{ContinuedFractionXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{cf := continuedFraction(0,repeating [1],dens)\free{dens }\bound{cf }} -\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPagePatch10} -\begin{paste}{ContinuedFractionXmpPageFull10}{ContinuedFractionXmpPageEmpty10} -\pastebutton{ContinuedFractionXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{ccf := convergents cf\free{cf }\bound{ccf }} -\indentrel{3}\begin{verbatim} - (10) - 6 61 860 15541 342762 8927353 - [0, 1, Ä, ÄÄ, ÄÄÄÄ, ÄÄÄÄÄ, ÄÄÄÄÄÄ, ÄÄÄÄÄÄÄÄ, - 7 71 1001 18089 398959 10391023 - 268163352 9126481321 - ÄÄÄÄÄÄÄÄÄ, ÄÄÄÄÄÄÄÄÄÄÄ, ...] - 312129649 10622799089 - Type: Stream Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPageEmpty10} -\begin{paste}{ContinuedFractionXmpPageEmpty10}{ContinuedFractionXmpPagePatch10} -\pastebutton{ContinuedFractionXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{ccf := convergents cf\free{cf }\bound{ccf }} -\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPagePatch11} -\begin{paste}{ContinuedFractionXmpPageFull11}{ContinuedFractionXmpPageEmpty11} -\pastebutton{ContinuedFractionXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{eConvergents := [2*e + 1 for e in ccf]\bound{ec }\free{ccf }} -\indentrel{3}\begin{verbatim} - (11) - 19 193 2721 49171 1084483 28245729 - [1, 3, ÄÄ, ÄÄÄ, ÄÄÄÄ, ÄÄÄÄÄ, ÄÄÄÄÄÄÄ, ÄÄÄÄÄÄÄÄ, - 7 71 1001 18089 398959 10391023 - 848456353 28875761731 - ÄÄÄÄÄÄÄÄÄ, ÄÄÄÄÄÄÄÄÄÄÄ, ...] - 312129649 10622799089 - Type: Stream Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPageEmpty11} -\begin{paste}{ContinuedFractionXmpPageEmpty11}{ContinuedFractionXmpPagePatch11} -\pastebutton{ContinuedFractionXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{eConvergents := [2*e + 1 for e in ccf]\bound{ec }\free{ccf }} -\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPagePatch12} -\begin{paste}{ContinuedFractionXmpPageFull12}{ContinuedFractionXmpPageEmpty12} -\pastebutton{ContinuedFractionXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{eConvergents :: Stream Float\free{ec }} -\indentrel{3}\begin{verbatim} - (12) - [1.0, 3.0, 2.7142857142 857142857, - 2.7183098591 549295775, 2.7182817182 817182817, - 2.7182818287 356957267, 2.7182818284 585634113, - 2.7182818284 590458514, 2.7182818284 590452348, - 2.7182818284 590452354, ...] - Type: Stream Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPageEmpty12} -\begin{paste}{ContinuedFractionXmpPageEmpty12}{ContinuedFractionXmpPagePatch12} -\pastebutton{ContinuedFractionXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{eConvergents :: Stream Float\free{ec }} -\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPagePatch13} -\begin{paste}{ContinuedFractionXmpPageFull13}{ContinuedFractionXmpPageEmpty13} -\pastebutton{ContinuedFractionXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{exp 1.0} -\indentrel{3}\begin{verbatim} - (13) 2.7182818284 590452354 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPageEmpty13} -\begin{paste}{ContinuedFractionXmpPageEmpty13}{ContinuedFractionXmpPagePatch13} -\pastebutton{ContinuedFractionXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{exp 1.0} -\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPagePatch14} -\begin{paste}{ContinuedFractionXmpPageFull14}{ContinuedFractionXmpPageEmpty14} -\pastebutton{ContinuedFractionXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{cf := continuedFraction(1,[(2*i+1)**2 for i in 0..],repeating [2])\bound{cf1 }} -\indentrel{3}\begin{verbatim} - (14) - 1 ³ 9 ³ 25 ³ 49 ³ 81 ³ - 1 + ÚÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÄÙ + ÚÄÄÄÄÙ + ÚÄÄÄÄÙ - ³ 2 ³ 2 ³ 2 ³ 2 ³ 2 - + - 121 ³ 169 ³ 225 ³ 289 ³ 361 ³ - ÚÄÄÄÄÄÙ + ÚÄÄÄÄÄÙ + ÚÄÄÄÄÄÙ + ÚÄÄÄÄÄÙ + ÚÄÄÄÄÄÙ + ... - ³ 2 ³ 2 ³ 2 ³ 2 ³ 2 - Type: ContinuedFraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPageEmpty14} -\begin{paste}{ContinuedFractionXmpPageEmpty14}{ContinuedFractionXmpPagePatch14} -\pastebutton{ContinuedFractionXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{cf := continuedFraction(1,[(2*i+1)**2 for i in 0..],repeating [2])\bound{cf1 }} -\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPagePatch15} -\begin{paste}{ContinuedFractionXmpPageFull15}{ContinuedFractionXmpPageEmpty15} -\pastebutton{ContinuedFractionXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{ccf := convergents cf\free{cf1 }\bound{ccf1 }} -\indentrel{3}\begin{verbatim} - (15) - 3 15 105 315 3465 45045 45045 765765 14549535 - [1,Ä,ÄÄ,ÄÄÄ,ÄÄÄ,ÄÄÄÄ,ÄÄÄÄÄ,ÄÄÄÄÄ,ÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄ,...] - 2 13 76 263 2578 36979 33976 622637 11064338 - Type: Stream Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPageEmpty15} -\begin{paste}{ContinuedFractionXmpPageEmpty15}{ContinuedFractionXmpPagePatch15} -\pastebutton{ContinuedFractionXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{ccf := convergents cf\free{cf1 }\bound{ccf1 }} -\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPagePatch16} -\begin{paste}{ContinuedFractionXmpPageFull16}{ContinuedFractionXmpPageEmpty16} -\pastebutton{ContinuedFractionXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{piConvergents := [4/p for p in ccf]\bound{piConvergents }\free{ccf1 }} -\indentrel{3}\begin{verbatim} - (16) - 8 52 304 1052 10312 147916 135904 2490548 - [4, Ä, ÄÄ, ÄÄÄ, ÄÄÄÄ, ÄÄÄÄÄ, ÄÄÄÄÄÄ, ÄÄÄÄÄÄ, ÄÄÄÄÄÄÄ, - 3 15 105 315 3465 45045 45045 765765 - 44257352 - ÄÄÄÄÄÄÄÄ, ...] - 14549535 - Type: Stream Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPageEmpty16} -\begin{paste}{ContinuedFractionXmpPageEmpty16}{ContinuedFractionXmpPagePatch16} -\pastebutton{ContinuedFractionXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{piConvergents := [4/p for p in ccf]\bound{piConvergents }\free{ccf1 }} -\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPagePatch17} -\begin{paste}{ContinuedFractionXmpPageFull17}{ContinuedFractionXmpPageEmpty17} -\pastebutton{ContinuedFractionXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{piConvergents :: Stream Float\free{piConvergents }} -\indentrel{3}\begin{verbatim} - (17) - [4.0, 2.6666666666 666666667, 3.4666666666 666666667, - 2.8952380952 380952381, 3.3396825396 825396825, - 2.9760461760 461760462, 3.2837384837 384837385, - 3.0170718170 718170718, 3.2523659347 188758953, - 3.0418396189 294022111, ...] - Type: Stream Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPageEmpty17} -\begin{paste}{ContinuedFractionXmpPageEmpty17}{ContinuedFractionXmpPagePatch17} -\pastebutton{ContinuedFractionXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{piConvergents :: Stream Float\free{piConvergents }} -\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPagePatch18} -\begin{paste}{ContinuedFractionXmpPageFull18}{ContinuedFractionXmpPageEmpty18} -\pastebutton{ContinuedFractionXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{continuedFraction((- 122 + 597*\%i)/(4 - 4*\%i))} -\indentrel{3}\begin{verbatim} - 1 ³ 1 ³ - (18) - 90 + 59%i + ÚÄÄÄÄÄÄÄÄÄÙ + ÚÄÄÄÄÄÄÄÄÄÄÄÙ - ³ 1 - 2%i ³ - 1 + 2%i - Type: ContinuedFraction Complex Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPageEmpty18} -\begin{paste}{ContinuedFractionXmpPageEmpty18}{ContinuedFractionXmpPagePatch18} -\pastebutton{ContinuedFractionXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{continuedFraction((- 122 + 597*\%i)/(4 - 4*\%i))} -\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPagePatch19} -\begin{paste}{ContinuedFractionXmpPageFull19}{ContinuedFractionXmpPageEmpty19} -\pastebutton{ContinuedFractionXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{r : Fraction UnivariatePolynomial(x,Fraction Integer)\bound{rdec }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPageEmpty19} -\begin{paste}{ContinuedFractionXmpPageEmpty19}{ContinuedFractionXmpPagePatch19} -\pastebutton{ContinuedFractionXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{r : Fraction UnivariatePolynomial(x,Fraction Integer)\bound{rdec }} -\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPagePatch20} -\begin{paste}{ContinuedFractionXmpPageFull20}{ContinuedFractionXmpPageEmpty20} -\pastebutton{ContinuedFractionXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{r := ((x - 1) * (x - 2)) / ((x-3) * (x-4))\free{rdec }\bound{r }} -\indentrel{3}\begin{verbatim} - 2 - x - 3x + 2 - (20) ÄÄÄÄÄÄÄÄÄÄÄÄ - 2 - x - 7x + 12 -Type: Fraction UnivariatePolynomial(x,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPageEmpty20} -\begin{paste}{ContinuedFractionXmpPageEmpty20}{ContinuedFractionXmpPagePatch20} -\pastebutton{ContinuedFractionXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{r := ((x - 1) * (x - 2)) / ((x-3) * (x-4))\free{rdec }\bound{r }} -\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPagePatch21} -\begin{paste}{ContinuedFractionXmpPageFull21}{ContinuedFractionXmpPageEmpty21} -\pastebutton{ContinuedFractionXmpPageFull21}{\hidepaste} -\tab{5}\spadcommand{continuedFraction r\free{r }} -\indentrel{3}\begin{verbatim} - 1 ³ 1 ³ - (21) 1 + ÚÄÄÄÄÄÄÄÄÄÙ + ÚÄÄÄÄÄÄÄÄÄÄÄÙ - ³ 1 9 ³ 16 40 - ³ Ä x - Ä ³ ÄÄ x - ÄÄ - ³ 4 8 ³ 3 3 -Type: ContinuedFraction UnivariatePolynomial(x,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPageEmpty21} -\begin{paste}{ContinuedFractionXmpPageEmpty21}{ContinuedFractionXmpPagePatch21} -\pastebutton{ContinuedFractionXmpPageEmpty21}{\showpaste} -\tab{5}\spadcommand{continuedFraction r\free{r }} -\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPagePatch22} -\begin{paste}{ContinuedFractionXmpPageFull22}{ContinuedFractionXmpPageEmpty22} -\pastebutton{ContinuedFractionXmpPageFull22}{\hidepaste} -\tab{5}\spadcommand{[i*i for i in convergents(z) :: Stream Float]\free{z }} -\indentrel{3}\begin{verbatim} - (22) - [9.0, 11.1111111111 11111111, 10.9944598337 9501385, - 11.0002777777 77777778, 10.9999860763 98799786, - 11.0000006979 29731039, 10.9999999650 15834446, - 11.0000000017 53603304, 10.9999999999 12099531, - 11.0000000000 04406066, ...] - Type: Stream Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ContinuedFractionXmpPageEmpty22} -\begin{paste}{ContinuedFractionXmpPageEmpty22}{ContinuedFractionXmpPagePatch22} -\pastebutton{ContinuedFractionXmpPageEmpty22}{\showpaste} -\tab{5}\spadcommand{[i*i for i in convergents(z) :: Stream Float]\free{z }} -\end{paste}\end{patch} - diff --git a/books/pages/coverex.pht b/books/pages/coverex.pht deleted file mode 100644 index b719826..0000000 --- a/books/pages/coverex.pht +++ /dev/null @@ -1,1748 +0,0 @@ -\begin{patch}{MenuexdiffPatch1} -\begin{paste}{MenuexdiffFull1}{MenuexdiffEmpty1} -\pastebutton{MenuexdiffFull1}{\hidepaste} -\tab{5}\spadcommand{differentiate(sin(x) * exp(x**2),x)} -\indentrel{3}\begin{verbatim} - 2 2 - x x - (1) 2x %e sin(x) + cos(x)%e - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexdiffEmpty1} -\begin{paste}{MenuexdiffEmpty1}{MenuexdiffPatch1} -\pastebutton{MenuexdiffEmpty1}{\showpaste} -\tab{5}\spadcommand{differentiate(sin(x) * exp(x**2),x)} -\end{paste}\end{patch} - -\begin{patch}{MenuexdiffPatch2} -\begin{paste}{MenuexdiffFull2}{MenuexdiffEmpty2} -\pastebutton{MenuexdiffFull2}{\hidepaste} -\tab{5}\spadcommand{differentiate(sin(x) * tan(y)/(x**2 + y**2),x)} -\indentrel{3}\begin{verbatim} - 2 2 - (- 2x sin(x) + (y + x )cos(x))tan(y) - (2) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 4 2 2 4 - y + 2x y + x - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexdiffEmpty2} -\begin{paste}{MenuexdiffEmpty2}{MenuexdiffPatch2} -\pastebutton{MenuexdiffEmpty2}{\showpaste} -\tab{5}\spadcommand{differentiate(sin(x) * tan(y)/(x**2 + y**2),x)} -\end{paste}\end{patch} - -\begin{patch}{MenuexdiffPatch3} -\begin{paste}{MenuexdiffFull3}{MenuexdiffEmpty3} -\pastebutton{MenuexdiffFull3}{\hidepaste} -\tab{5}\spadcommand{differentiate(sin(x) * tan(y)/(x**2 + y**2),y)} -\indentrel{3}\begin{verbatim} - (3) - 2 2 2 - (y + x )sin(x)tan(y) - 2y sin(x)tan(y) - + - 2 2 - (y + x )sin(x) - / - 4 2 2 4 - y + 2x y + x - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexdiffEmpty3} -\begin{paste}{MenuexdiffEmpty3}{MenuexdiffPatch3} -\pastebutton{MenuexdiffEmpty3}{\showpaste} -\tab{5}\spadcommand{differentiate(sin(x) * tan(y)/(x**2 + y**2),y)} -\end{paste}\end{patch} - -\begin{patch}{MenuexdiffPatch4} -\begin{paste}{MenuexdiffFull4}{MenuexdiffEmpty4} -\pastebutton{MenuexdiffFull4}{\hidepaste} -\tab{5}\spadcommand{differentiate(exp(x**2),x,4)} -\indentrel{3}\begin{verbatim} - 2 - 4 2 x - (4) (16x + 48x + 12)%e - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexdiffEmpty4} -\begin{paste}{MenuexdiffEmpty4}{MenuexdiffPatch4} -\pastebutton{MenuexdiffEmpty4}{\showpaste} -\tab{5}\spadcommand{differentiate(exp(x**2),x,4)} -\end{paste}\end{patch} - -\begin{patch}{MenuexdiffPatch5} -\begin{paste}{MenuexdiffFull5}{MenuexdiffEmpty5} -\pastebutton{MenuexdiffFull5}{\hidepaste} -\tab{5}\spadcommand{differentiate(sin(x)/(x**2 + y**2),[x,y])} -\indentrel{3}\begin{verbatim} - 3 2 - 8x y sin(x) + (- 2y - 2x y)cos(x) - (5) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 6 2 4 4 2 6 - y + 3x y + 3x y + x - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexdiffEmpty5} -\begin{paste}{MenuexdiffEmpty5}{MenuexdiffPatch5} -\pastebutton{MenuexdiffEmpty5}{\showpaste} -\tab{5}\spadcommand{differentiate(sin(x)/(x**2 + y**2),[x,y])} -\end{paste}\end{patch} - -\begin{patch}{MenuexdiffPatch6} -\begin{paste}{MenuexdiffFull6}{MenuexdiffEmpty6} -\pastebutton{MenuexdiffFull6}{\hidepaste} -\tab{5}\spadcommand{differentiate(sin(x)/(x**2 + y**2),[x,y,y])} -\indentrel{3}\begin{verbatim} - (6) - 2 3 4 2 2 4 - (- 40x y + 8x )sin(x) + (6y + 4x y - 2x )cos(x) - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 8 2 6 4 4 6 2 8 - y + 4x y + 6x y + 4x y + x - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexdiffEmpty6} -\begin{paste}{MenuexdiffEmpty6}{MenuexdiffPatch6} -\pastebutton{MenuexdiffEmpty6}{\showpaste} -\tab{5}\spadcommand{differentiate(sin(x)/(x**2 + y**2),[x,y,y])} -\end{paste}\end{patch} - -\begin{patch}{MenuexdiffPatch7} -\begin{paste}{MenuexdiffFull7}{MenuexdiffEmpty7} -\pastebutton{MenuexdiffFull7}{\hidepaste} -\tab{5}\spadcommand{differentiate(cos(z)/(x**2 + y**3),[x,y,z],[1,2,3])} -\indentrel{3}\begin{verbatim} - 4 3 - (- 84x y + 24x y)sin(z) - (7) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 12 2 9 4 6 6 3 8 - y + 4x y + 6x y + 4x y + x - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexdiffEmpty7} -\begin{paste}{MenuexdiffEmpty7}{MenuexdiffPatch7} -\pastebutton{MenuexdiffEmpty7}{\showpaste} -\tab{5}\spadcommand{differentiate(cos(z)/(x**2 + y**3),[x,y,z],[1,2,3])} -\end{paste}\end{patch} - -\begin{patch}{MenuexdiffPatch8} -\begin{paste}{MenuexdiffFull8}{MenuexdiffEmpty8} -\pastebutton{MenuexdiffFull8}{\hidepaste} -\tab{5}\spadcommand{f := integrate(sqrt(1 + t**3),t)\bound{f }} -\indentrel{3}\begin{verbatim} - t ÚÄÄÄÄÄÄÄ¿ - Ú¿ ³ 3 - (8) ³ \³%N + 1 d%N - ÀÙ - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexdiffEmpty8} -\begin{paste}{MenuexdiffEmpty8}{MenuexdiffPatch8} -\pastebutton{MenuexdiffEmpty8}{\showpaste} -\tab{5}\spadcommand{f := integrate(sqrt(1 + t**3),t)\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{MenuexdiffPatch9} -\begin{paste}{MenuexdiffFull9}{MenuexdiffEmpty9} -\pastebutton{MenuexdiffFull9}{\hidepaste} -\tab{5}\spadcommand{differentiate(f,t)\free{f }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄÄÄÄ¿ - ³ 3 - (9) \³t + 1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexdiffEmpty9} -\begin{paste}{MenuexdiffEmpty9}{MenuexdiffPatch9} -\pastebutton{MenuexdiffEmpty9}{\showpaste} -\tab{5}\spadcommand{differentiate(f,t)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{MenuexdiffPatch10} -\begin{paste}{MenuexdiffFull10}{MenuexdiffEmpty10} -\pastebutton{MenuexdiffFull10}{\hidepaste} -\tab{5}\spadcommand{differentiate(f * t**2,t)\free{f }} -\indentrel{3}\begin{verbatim} - t ÚÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄ¿ - Ú¿ ³ 3 2 ³ 3 - (10) 2t ³ \³%N + 1 d%N + t \³t + 1 - ÀÙ - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexdiffEmpty10} -\begin{paste}{MenuexdiffEmpty10}{MenuexdiffPatch10} -\pastebutton{MenuexdiffEmpty10}{\showpaste} -\tab{5}\spadcommand{differentiate(f * t**2,t)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{MenuexlimitPatch1} -\begin{paste}{MenuexlimitFull1}{MenuexlimitEmpty1} -\pastebutton{MenuexlimitFull1}{\hidepaste} -\tab{5}\spadcommand{limit((x**2 - 3*x + 2)/(x**2 - 1),x = 1)} -\indentrel{3}\begin{verbatim} - 1 - (1) - Ä - 2 -Type: Union(OrderedCompletion Fraction Polynomial Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexlimitEmpty1} -\begin{paste}{MenuexlimitEmpty1}{MenuexlimitPatch1} -\pastebutton{MenuexlimitEmpty1}{\showpaste} -\tab{5}\spadcommand{limit((x**2 - 3*x + 2)/(x**2 - 1),x = 1)} -\end{paste}\end{patch} - -\begin{patch}{MenuexlimitPatch2} -\begin{paste}{MenuexlimitFull2}{MenuexlimitEmpty2} -\pastebutton{MenuexlimitFull2}{\hidepaste} -\tab{5}\spadcommand{limit(sinh(a*x)/tan(b*x),x = 0)} -\indentrel{3}\begin{verbatim} - a - (2) Ä - b - Type: Union(OrderedCompletion Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexlimitEmpty2} -\begin{paste}{MenuexlimitEmpty2}{MenuexlimitPatch2} -\pastebutton{MenuexlimitEmpty2}{\showpaste} -\tab{5}\spadcommand{limit(sinh(a*x)/tan(b*x),x = 0)} -\end{paste}\end{patch} - -\begin{patch}{MenuexlimitPatch3} -\begin{paste}{MenuexlimitFull3}{MenuexlimitEmpty3} -\pastebutton{MenuexlimitFull3}{\hidepaste} -\tab{5}\spadcommand{limit(x * log(x),x = 0,"right")} -\indentrel{3}\begin{verbatim} - (3) 0 - Type: Union(OrderedCompletion Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexlimitEmpty3} -\begin{paste}{MenuexlimitEmpty3}{MenuexlimitPatch3} -\pastebutton{MenuexlimitEmpty3}{\showpaste} -\tab{5}\spadcommand{limit(x * log(x),x = 0,"right")} -\end{paste}\end{patch} - -\begin{patch}{MenuexlimitPatch4} -\begin{paste}{MenuexlimitFull4}{MenuexlimitEmpty4} -\pastebutton{MenuexlimitFull4}{\hidepaste} -\tab{5}\spadcommand{limit(x * log(x),x = 0)} -\indentrel{3}\begin{verbatim} - (4) [leftHandLimit= "failed",rightHandLimit= 0] -Type: Union(Record(leftHandLimit: Union(OrderedCompletion Expression Integer,"failed"),rightHandLimit: Union(OrderedCompletion Expression Integer,"failed")),...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexlimitEmpty4} -\begin{paste}{MenuexlimitEmpty4}{MenuexlimitPatch4} -\pastebutton{MenuexlimitEmpty4}{\showpaste} -\tab{5}\spadcommand{limit(x * log(x),x = 0)} -\end{paste}\end{patch} - -\begin{patch}{MenuexlimitPatch5} -\begin{paste}{MenuexlimitFull5}{MenuexlimitEmpty5} -\pastebutton{MenuexlimitFull5}{\hidepaste} -\tab{5}\spadcommand{limit(sqrt(y**2)/y,y = 0)} -\indentrel{3}\begin{verbatim} - (5) [leftHandLimit= - 1,rightHandLimit= 1] -Type: Union(Record(leftHandLimit: Union(OrderedCompletion Expression Integer,"failed"),rightHandLimit: Union(OrderedCompletion Expression Integer,"failed")),...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexlimitEmpty5} -\begin{paste}{MenuexlimitEmpty5}{MenuexlimitPatch5} -\pastebutton{MenuexlimitEmpty5}{\showpaste} -\tab{5}\spadcommand{limit(sqrt(y**2)/y,y = 0)} -\end{paste}\end{patch} - -\begin{patch}{MenuexlimitPatch6} -\begin{paste}{MenuexlimitFull6}{MenuexlimitEmpty6} -\pastebutton{MenuexlimitFull6}{\hidepaste} -\tab{5}\spadcommand{limit(sqrt(1 - cos(t))/t,t = 0)} -\indentrel{3}\begin{verbatim} - 1 1 - (6) [leftHandLimit= - ÄÄÄÄ,rightHandLimit= ÄÄÄÄ] - ÚÄ¿ ÚÄ¿ - \³2 \³2 -Type: Union(Record(leftHandLimit: Union(OrderedCompletion Expression Integer,"failed"),rightHandLimit: Union(OrderedCompletion Expression Integer,"failed")),...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexlimitEmpty6} -\begin{paste}{MenuexlimitEmpty6}{MenuexlimitPatch6} -\pastebutton{MenuexlimitEmpty6}{\showpaste} -\tab{5}\spadcommand{limit(sqrt(1 - cos(t))/t,t = 0)} -\end{paste}\end{patch} - -\begin{patch}{MenuexlimitPatch7} -\begin{paste}{MenuexlimitFull7}{MenuexlimitEmpty7} -\pastebutton{MenuexlimitFull7}{\hidepaste} -\tab{5}\spadcommand{limit(sqrt(3*x**2 + 1)/(5*x),x = \%plusInfinity)} -\indentrel{3}\begin{verbatim} - ÚÄ¿ - \³3 - (7) ÄÄÄÄ - 5 - Type: Union(OrderedCompletion Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexlimitEmpty7} -\begin{paste}{MenuexlimitEmpty7}{MenuexlimitPatch7} -\pastebutton{MenuexlimitEmpty7}{\showpaste} -\tab{5}\spadcommand{limit(sqrt(3*x**2 + 1)/(5*x),x = \%plusInfinity)} -\end{paste}\end{patch} - -\begin{patch}{MenuexlimitPatch8} -\begin{paste}{MenuexlimitFull8}{MenuexlimitEmpty8} -\pastebutton{MenuexlimitFull8}{\hidepaste} -\tab{5}\spadcommand{limit(sqrt(3*x**2 + 1)/(5*x),x = \%minusInfinity)} -\indentrel{3}\begin{verbatim} - ÚÄ¿ - \³3 - (8) - ÄÄÄÄ - 5 - Type: Union(OrderedCompletion Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexlimitEmpty8} -\begin{paste}{MenuexlimitEmpty8}{MenuexlimitPatch8} -\pastebutton{MenuexlimitEmpty8}{\showpaste} -\tab{5}\spadcommand{limit(sqrt(3*x**2 + 1)/(5*x),x = \%minusInfinity)} -\end{paste}\end{patch} - -\begin{patch}{MenuexlimitPatch9} -\begin{paste}{MenuexlimitFull9}{MenuexlimitEmpty9} -\pastebutton{MenuexlimitFull9}{\hidepaste} -\tab{5}\spadcommand{limit(z * sin(1/z),z = 0)} -\indentrel{3}\begin{verbatim} - (9) 0 - Type: Union(OrderedCompletion Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexlimitEmpty9} -\begin{paste}{MenuexlimitEmpty9}{MenuexlimitPatch9} -\pastebutton{MenuexlimitEmpty9}{\showpaste} -\tab{5}\spadcommand{limit(z * sin(1/z),z = 0)} -\end{paste}\end{patch} - -\begin{patch}{MenuexlimitPatch10} -\begin{paste}{MenuexlimitFull10}{MenuexlimitEmpty10} -\pastebutton{MenuexlimitFull10}{\hidepaste} -\tab{5}\spadcommand{complexLimit(z * sin(1/z),z = 0)} -\indentrel{3}\begin{verbatim} - (10) "failed" - Type: Union("failed",...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexlimitEmpty10} -\begin{paste}{MenuexlimitEmpty10}{MenuexlimitPatch10} -\pastebutton{MenuexlimitEmpty10}{\showpaste} -\tab{5}\spadcommand{complexLimit(z * sin(1/z),z = 0)} -\end{paste}\end{patch} - -\begin{patch}{MenuexlimitPatch11} -\begin{paste}{MenuexlimitFull11}{MenuexlimitEmpty11} -\pastebutton{MenuexlimitFull11}{\hidepaste} -\tab{5}\spadcommand{complexLimit((2 + z)/(1 - z),z = \%infinity)} -\indentrel{3}\begin{verbatim} - (11) - 1 - Type: OnePointCompletion Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexlimitEmpty11} -\begin{paste}{MenuexlimitEmpty11}{MenuexlimitPatch11} -\pastebutton{MenuexlimitEmpty11}{\showpaste} -\tab{5}\spadcommand{complexLimit((2 + z)/(1 - z),z = \%infinity)} -\end{paste}\end{patch} - -\begin{patch}{MenuexlimitPatch12} -\begin{paste}{MenuexlimitFull12}{MenuexlimitEmpty12} -\pastebutton{MenuexlimitFull12}{\hidepaste} -\tab{5}\spadcommand{limit(sin(x)/x,x = \%plusInfinity)} -\indentrel{3}\begin{verbatim} - (12) 0 - Type: Union(OrderedCompletion Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexlimitEmpty12} -\begin{paste}{MenuexlimitEmpty12}{MenuexlimitPatch12} -\pastebutton{MenuexlimitEmpty12}{\showpaste} -\tab{5}\spadcommand{limit(sin(x)/x,x = \%plusInfinity)} -\end{paste}\end{patch} - -\begin{patch}{MenuexlimitPatch13} -\begin{paste}{MenuexlimitFull13}{MenuexlimitEmpty13} -\pastebutton{MenuexlimitFull13}{\hidepaste} -\tab{5}\spadcommand{complexLimit(sin(x)/x,x = \%infinity)} -\indentrel{3}\begin{verbatim} - (13) "failed" - Type: Union("failed",...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexlimitEmpty13} -\begin{paste}{MenuexlimitEmpty13}{MenuexlimitPatch13} -\pastebutton{MenuexlimitEmpty13}{\showpaste} -\tab{5}\spadcommand{complexLimit(sin(x)/x,x = \%infinity)} -\end{paste}\end{patch} - -\begin{patch}{Menuexplot2dPatch1} -\begin{paste}{Menuexplot2dFull1}{Menuexplot2dEmpty1} -\pastebutton{Menuexplot2dFull1}{\hidepaste} -\tab{5}\spadgraph{draw(sin(tan(x)) - tan(sin(x)),x = 0..6)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/menuexplot2d1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/menuexplot2d1}} -\end{paste}\end{patch} - -\begin{patch}{Menuexplot2dEmpty1} -\begin{paste}{Menuexplot2dEmpty1}{Menuexplot2dPatch1} -\pastebutton{Menuexplot2dEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(sin(tan(x)) - tan(sin(x)),x = 0..6)} -\end{paste}\end{patch} - -\begin{patch}{Menuexplot2dPatch2} -\begin{paste}{Menuexplot2dFull2}{Menuexplot2dEmpty2} -\pastebutton{Menuexplot2dFull2}{\hidepaste} -\tab{5}\spadgraph{draw(curve(9 * sin(3*t/4),8 * sin(t)),t = -4*\%pi..4*\%pi)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/menuexplot2d2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/menuexplot2d2}} -\end{paste}\end{patch} - -\begin{patch}{Menuexplot2dEmpty2} -\begin{paste}{Menuexplot2dEmpty2}{Menuexplot2dPatch2} -\pastebutton{Menuexplot2dEmpty2}{\showpaste} -\tab{5}\spadgraph{draw(curve(9 * sin(3*t/4),8 * sin(t)),t = -4*\%pi..4*\%pi)} -\end{paste}\end{patch} - -\begin{patch}{Menuexplot2dPatch3} -\begin{paste}{Menuexplot2dFull3}{Menuexplot2dEmpty3} -\pastebutton{Menuexplot2dFull3}{\hidepaste} -\tab{5}\spadgraph{draw(sin(4*t/7),t = 0..14*\%pi,coordinates == polar)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/menuexplot2d3.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/menuexplot2d3}} -\end{paste}\end{patch} - -\begin{patch}{Menuexplot2dEmpty3} -\begin{paste}{Menuexplot2dEmpty3}{Menuexplot2dPatch3} -\pastebutton{Menuexplot2dEmpty3}{\showpaste} -\tab{5}\spadgraph{draw(sin(4*t/7),t = 0..14*\%pi,coordinates == polar)} -\end{paste}\end{patch} - -\begin{patch}{Menuexplot2dPatch4} -\begin{paste}{Menuexplot2dFull4}{Menuexplot2dEmpty4} -\pastebutton{Menuexplot2dFull4}{\hidepaste} -\tab{5}\spadgraph{draw(y**2 + y - (x**3 - x) = 0, x, y, range == [-2..2,-2..1])} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/menuexplot2d4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/menuexplot2d4}} -\end{paste}\end{patch} - -\begin{patch}{Menuexplot2dEmpty4} -\begin{paste}{Menuexplot2dEmpty4}{Menuexplot2dPatch4} -\pastebutton{Menuexplot2dEmpty4}{\showpaste} -\tab{5}\spadgraph{draw(y**2 + y - (x**3 - x) = 0, x, y, range == [-2..2,-2..1])} -\end{paste}\end{patch} - -\begin{patch}{Menuexplot3dPatch1} -\begin{paste}{Menuexplot3dFull1}{Menuexplot3dEmpty1} -\pastebutton{Menuexplot3dFull1}{\hidepaste} -\tab{5}\spadgraph{draw(cos(x*y),x = -3..3,y = -3..3)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/menuexplot3d1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/menuexplot3d1}} -\end{paste}\end{patch} - -\begin{patch}{Menuexplot3dEmpty1} -\begin{paste}{Menuexplot3dEmpty1}{Menuexplot3dPatch1} -\pastebutton{Menuexplot3dEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(cos(x*y),x = -3..3,y = -3..3)} -\end{paste}\end{patch} - -\begin{patch}{Menuexplot3dPatch2} -\begin{paste}{Menuexplot3dFull2}{Menuexplot3dEmpty2} -\pastebutton{Menuexplot3dFull2}{\hidepaste} -\tab{5}\spadgraph{draw(surface(5*sin(u)*cos(v),4*sin(u)*sin(v),3*cos(u)),u=0..\%pi,v=0..2*\%pi)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/menuexplot3d2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/menuexplot3d2}} -\end{paste}\end{patch} - -\begin{patch}{Menuexplot3dEmpty2} -\begin{paste}{Menuexplot3dEmpty2}{Menuexplot3dPatch2} -\pastebutton{Menuexplot3dEmpty2}{\showpaste} -\tab{5}\spadgraph{draw(surface(5*sin(u)*cos(v),4*sin(u)*sin(v),3*cos(u)),u=0..\%pi,v=0..2*\%pi)} -\end{paste}\end{patch} - -\begin{patch}{Menuexplot3dPatch3} -\begin{paste}{Menuexplot3dFull3}{Menuexplot3dEmpty3} -\pastebutton{Menuexplot3dFull3}{\hidepaste} -\tab{5}\spadgraph{draw(surface(u*cos(v),u*sin(v),u),u=0..4,v=0..2*\%pi)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/menuexplot3d3.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/menuexplot3d3}} -\end{paste}\end{patch} - -\begin{patch}{Menuexplot3dEmpty3} -\begin{paste}{Menuexplot3dEmpty3}{Menuexplot3dPatch3} -\pastebutton{Menuexplot3dEmpty3}{\showpaste} -\tab{5}\spadgraph{draw(surface(u*cos(v),u*sin(v),u),u=0..4,v=0..2*\%pi)} -\end{paste}\end{patch} - -\begin{patch}{Menuexplot3dPatch4} -\begin{paste}{Menuexplot3dFull4}{Menuexplot3dEmpty4} -\pastebutton{Menuexplot3dFull4}{\hidepaste} -\tab{5}\spadgraph{draw(curve(cos(t),sin(t),t),t=0..6)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/menuexplot3d4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/menuexplot3d4}} -\end{paste}\end{patch} - -\begin{patch}{Menuexplot3dEmpty4} -\begin{paste}{Menuexplot3dEmpty4}{Menuexplot3dPatch4} -\pastebutton{Menuexplot3dEmpty4}{\showpaste} -\tab{5}\spadgraph{draw(curve(cos(t),sin(t),t),t=0..6)} -\end{paste}\end{patch} - -\begin{patch}{Menuexplot3dPatch5} -\begin{paste}{Menuexplot3dFull5}{Menuexplot3dEmpty5} -\pastebutton{Menuexplot3dFull5}{\hidepaste} -\tab{5}\spadgraph{draw(curve(t,t**2,t**3),t=-3..3)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/menuexplot3d5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/menuexplot3d5}} -\end{paste}\end{patch} - -\begin{patch}{Menuexplot3dEmpty5} -\begin{paste}{Menuexplot3dEmpty5}{Menuexplot3dPatch5} -\pastebutton{Menuexplot3dEmpty5}{\showpaste} -\tab{5}\spadgraph{draw(curve(t,t**2,t**3),t=-3..3)} -\end{paste}\end{patch} - -\begin{patch}{MenuexseriesPatch1} -\begin{paste}{MenuexseriesFull1}{MenuexseriesEmpty1} -\pastebutton{MenuexseriesFull1}{\hidepaste} -\tab{5}\spadcommand{series(sin(a*x),x = 0)} -\indentrel{3}\begin{verbatim} - (1) - 3 5 7 9 - a 3 a 5 a 7 a 9 - a x - ÄÄ x + ÄÄÄ x - ÄÄÄÄ x + ÄÄÄÄÄÄ x - 6 120 5040 362880 - + - 11 - a 11 12 - - ÄÄÄÄÄÄÄÄ x + O(x ) - 39916800 - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexseriesEmpty1} -\begin{paste}{MenuexseriesEmpty1}{MenuexseriesPatch1} -\pastebutton{MenuexseriesEmpty1}{\showpaste} -\tab{5}\spadcommand{series(sin(a*x),x = 0)} -\end{paste}\end{patch} - -\begin{patch}{MenuexseriesPatch2} -\begin{paste}{MenuexseriesFull2}{MenuexseriesEmpty2} -\pastebutton{MenuexseriesFull2}{\hidepaste} -\tab{5}\spadcommand{series(sin(a*x),a = \%pi/4)} -\indentrel{3}\begin{verbatim} - (2) - %pi x %pi x %pi - sin(ÄÄÄÄÄ) + x cos(ÄÄÄÄÄ)(a - ÄÄÄ) - 4 4 4 - + - 2 %pi x 3 %pi x - x sin(ÄÄÄÄÄ) x cos(ÄÄÄÄÄ) - 4 %pi 2 4 %pi 3 - - ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) - ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) - 2 4 6 4 - + - 4 %pi x 5 %pi x - x sin(ÄÄÄÄÄ) x cos(ÄÄÄÄÄ) - 4 %pi 4 4 %pi 5 - ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) + ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) - 24 4 120 4 - + - 6 %pi x 7 %pi x - x sin(ÄÄÄÄÄ) x cos(ÄÄÄÄÄ) - 4 %pi 6 4 %pi 7 - - ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) - ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) - 720 4 5040 4 - + - 8 %pi x 9 %pi x - x sin(ÄÄÄÄÄ) x cos(ÄÄÄÄÄ) - 4 %pi 8 4 %pi 9 - ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) + ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) - 40320 4 362880 4 - + - 10 %pi x - x sin(ÄÄÄÄÄ) - 4 %pi 10 %pi 11 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) + O((a - ÄÄÄ) ) - 3628800 4 4 -Type: UnivariatePuiseuxSeries(Expression Integer,a,pi/4) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexseriesEmpty2} -\begin{paste}{MenuexseriesEmpty2}{MenuexseriesPatch2} -\pastebutton{MenuexseriesEmpty2}{\showpaste} -\tab{5}\spadcommand{series(sin(a*x),a = \%pi/4)} -\end{paste}\end{patch} - -\begin{patch}{MenuexseriesPatch3} -\begin{paste}{MenuexseriesFull3}{MenuexseriesEmpty3} -\pastebutton{MenuexseriesFull3}{\hidepaste} -\tab{5}\spadcommand{f := series(1/(1-x),x = 0)\bound{f }} -\indentrel{3}\begin{verbatim} - (3) - 2 3 4 5 6 7 8 9 10 - 1 + x + x + x + x + x + x + x + x + x + x - + - 11 - O(x ) - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexseriesEmpty3} -\begin{paste}{MenuexseriesEmpty3}{MenuexseriesPatch3} -\pastebutton{MenuexseriesEmpty3}{\showpaste} -\tab{5}\spadcommand{f := series(1/(1-x),x = 0)\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{MenuexseriesPatch4} -\begin{paste}{MenuexseriesFull4}{MenuexseriesEmpty4} -\pastebutton{MenuexseriesFull4}{\hidepaste} -\tab{5}\spadcommand{f ** 2\free{f }} -\indentrel{3}\begin{verbatim} - (4) - 2 3 4 5 6 7 8 - 1 + 2x + 3x + 4x + 5x + 6x + 7x + 8x + 9x - + - 9 10 11 - 10x + 11x + O(x ) - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexseriesEmpty4} -\begin{paste}{MenuexseriesEmpty4}{MenuexseriesPatch4} -\pastebutton{MenuexseriesEmpty4}{\showpaste} -\tab{5}\spadcommand{f ** 2\free{f }} -\end{paste}\end{patch} - -\begin{patch}{MenuexseriesPatch5} -\begin{paste}{MenuexseriesFull5}{MenuexseriesEmpty5} -\pastebutton{MenuexseriesFull5}{\hidepaste} -\tab{5}\spadcommand{f := series(1/(1-x),x = 0)\bound{f1 }} -\indentrel{3}\begin{verbatim} - (5) - 2 3 4 5 6 7 8 9 10 - 1 + x + x + x + x + x + x + x + x + x + x - + - 11 - O(x ) - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexseriesEmpty5} -\begin{paste}{MenuexseriesEmpty5}{MenuexseriesPatch5} -\pastebutton{MenuexseriesEmpty5}{\showpaste} -\tab{5}\spadcommand{f := series(1/(1-x),x = 0)\bound{f1 }} -\end{paste}\end{patch} - -\begin{patch}{MenuexseriesPatch6} -\begin{paste}{MenuexseriesFull6}{MenuexseriesEmpty6} -\pastebutton{MenuexseriesFull6}{\hidepaste} -\tab{5}\spadcommand{g := log(f)\free{f1 }\bound{g }} -\indentrel{3}\begin{verbatim} - (6) - 1 2 1 3 1 4 1 5 1 6 1 7 1 8 - x + Ä x + Ä x + Ä x + Ä x + Ä x + Ä x + Ä x - 2 3 4 5 6 7 8 - + - 1 9 1 10 1 11 12 - Ä x + ÄÄ x + ÄÄ x + O(x ) - 9 10 11 - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexseriesEmpty6} -\begin{paste}{MenuexseriesEmpty6}{MenuexseriesPatch6} -\pastebutton{MenuexseriesEmpty6}{\showpaste} -\tab{5}\spadcommand{g := log(f)\free{f1 }\bound{g }} -\end{paste}\end{patch} - -\begin{patch}{MenuexseriesPatch7} -\begin{paste}{MenuexseriesFull7}{MenuexseriesEmpty7} -\pastebutton{MenuexseriesFull7}{\hidepaste} -\tab{5}\spadcommand{exp(g)\free{g }} -\indentrel{3}\begin{verbatim} - (7) - 2 3 4 5 6 7 8 9 10 - 1 + x + x + x + x + x + x + x + x + x + x - + - 11 - O(x ) - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexseriesEmpty7} -\begin{paste}{MenuexseriesEmpty7}{MenuexseriesPatch7} -\pastebutton{MenuexseriesEmpty7}{\showpaste} -\tab{5}\spadcommand{exp(g)\free{g }} -\end{paste}\end{patch} - -\begin{patch}{MenuexseriesPatch8} -\begin{paste}{MenuexseriesFull8}{MenuexseriesEmpty8} -\pastebutton{MenuexseriesFull8}{\hidepaste} -\tab{5}\spadcommand{f := taylor(exp(x))\bound{f2 }} -\indentrel{3}\begin{verbatim} - (8) - 1 2 1 3 1 4 1 5 1 6 - 1 + x + Ä x + Ä x + ÄÄ x + ÄÄÄ x + ÄÄÄ x - 2 6 24 120 720 - + - 1 7 1 8 1 9 1 10 11 - ÄÄÄÄ x + ÄÄÄÄÄ x + ÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄ x + O(x ) - 5040 40320 362880 3628800 - Type: UnivariateTaylorSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexseriesEmpty8} -\begin{paste}{MenuexseriesEmpty8}{MenuexseriesPatch8} -\pastebutton{MenuexseriesEmpty8}{\showpaste} -\tab{5}\spadcommand{f := taylor(exp(x))\bound{f2 }} -\end{paste}\end{patch} - -\begin{patch}{MenuexseriesPatch9} -\begin{paste}{MenuexseriesFull9}{MenuexseriesEmpty9} -\pastebutton{MenuexseriesFull9}{\hidepaste} -\tab{5}\spadcommand{eval(f,1.0)\free{f2 }} -\indentrel{3}\begin{verbatim} - (9) - [1.0, 2.0, 2.5, 2.6666666666 666666667, - 2.7083333333 333333333, 2.7166666666 666666667, - 2.7180555555 555555556, 2.7182539682 53968254, - 2.7182787698 412698413, 2.7182815255 731922399, ...] - Type: Stream Expression Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexseriesEmpty9} -\begin{paste}{MenuexseriesEmpty9}{MenuexseriesPatch9} -\pastebutton{MenuexseriesEmpty9}{\showpaste} -\tab{5}\spadcommand{eval(f,1.0)\free{f2 }} -\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixPatch1} -\begin{paste}{MenuexmatrixFull1}{MenuexmatrixEmpty1} -\pastebutton{MenuexmatrixFull1}{\hidepaste} -\tab{5}\spadcommand{m1 := matrix([[1,-2,1],[4,2,-4]])\bound{m1 }} -\indentrel{3}\begin{verbatim} - Ú1 - 2 1 ¿ - (1) ³ ³ - À4 2 - 4Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixEmpty1} -\begin{paste}{MenuexmatrixEmpty1}{MenuexmatrixPatch1} -\pastebutton{MenuexmatrixEmpty1}{\showpaste} -\tab{5}\spadcommand{m1 := matrix([[1,-2,1],[4,2,-4]])\bound{m1 }} -\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixPatch2} -\begin{paste}{MenuexmatrixFull2}{MenuexmatrixEmpty2} -\pastebutton{MenuexmatrixFull2}{\hidepaste} -\tab{5}\spadcommand{m2 := matrix([[1,0,2],[20,30,10],[0,200,100]])\bound{m2 }} -\indentrel{3}\begin{verbatim} - Ú1 0 2 ¿ - ³ ³ - (2) ³20 30 10 ³ - ³ ³ - À0 200 100Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixEmpty2} -\begin{paste}{MenuexmatrixEmpty2}{MenuexmatrixPatch2} -\pastebutton{MenuexmatrixEmpty2}{\showpaste} -\tab{5}\spadcommand{m2 := matrix([[1,0,2],[20,30,10],[0,200,100]])\bound{m2 }} -\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixPatch3} -\begin{paste}{MenuexmatrixFull3}{MenuexmatrixEmpty3} -\pastebutton{MenuexmatrixFull3}{\hidepaste} -\tab{5}\spadcommand{m3 := matrix([[1,2,3],[2,4,6]])\bound{m3 }} -\indentrel{3}\begin{verbatim} - Ú1 2 3¿ - (3) ³ ³ - À2 4 6Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixEmpty3} -\begin{paste}{MenuexmatrixEmpty3}{MenuexmatrixPatch3} -\pastebutton{MenuexmatrixEmpty3}{\showpaste} -\tab{5}\spadcommand{m3 := matrix([[1,2,3],[2,4,6]])\bound{m3 }} -\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixPatch4} -\begin{paste}{MenuexmatrixFull4}{MenuexmatrixEmpty4} -\pastebutton{MenuexmatrixFull4}{\hidepaste} -\tab{5}\spadcommand{m1 + m3\free{m1 }\free{m3 }} -\indentrel{3}\begin{verbatim} - Ú2 0 4¿ - (4) ³ ³ - À6 6 2Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixEmpty4} -\begin{paste}{MenuexmatrixEmpty4}{MenuexmatrixPatch4} -\pastebutton{MenuexmatrixEmpty4}{\showpaste} -\tab{5}\spadcommand{m1 + m3\free{m1 }\free{m3 }} -\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixPatch5} -\begin{paste}{MenuexmatrixFull5}{MenuexmatrixEmpty5} -\pastebutton{MenuexmatrixFull5}{\hidepaste} -\tab{5}\spadcommand{100 * m1\free{m1 }} -\indentrel{3}\begin{verbatim} - Ú100 - 200 100 ¿ - (5) ³ ³ - À400 200 - 400Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixEmpty5} -\begin{paste}{MenuexmatrixEmpty5}{MenuexmatrixPatch5} -\pastebutton{MenuexmatrixEmpty5}{\showpaste} -\tab{5}\spadcommand{100 * m1\free{m1 }} -\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixPatch6} -\begin{paste}{MenuexmatrixFull6}{MenuexmatrixEmpty6} -\pastebutton{MenuexmatrixFull6}{\hidepaste} -\tab{5}\spadcommand{m1 * m2\free{m1 }\free{m2 }} -\indentrel{3}\begin{verbatim} - Ú- 39 140 82 ¿ - (6) ³ ³ - À 44 - 740 - 372Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixEmpty6} -\begin{paste}{MenuexmatrixEmpty6}{MenuexmatrixPatch6} -\pastebutton{MenuexmatrixEmpty6}{\showpaste} -\tab{5}\spadcommand{m1 * m2\free{m1 }\free{m2 }} -\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixPatch7} -\begin{paste}{MenuexmatrixFull7}{MenuexmatrixEmpty7} -\pastebutton{MenuexmatrixFull7}{\hidepaste} -\tab{5}\spadcommand{-m1 + m3 * m2\free{m1 }\free{m2 }\free{m3 }} -\indentrel{3}\begin{verbatim} - Ú40 662 321¿ - (7) ³ ³ - À78 1318 648Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixEmpty7} -\begin{paste}{MenuexmatrixEmpty7}{MenuexmatrixPatch7} -\pastebutton{MenuexmatrixEmpty7}{\showpaste} -\tab{5}\spadcommand{-m1 + m3 * m2\free{m1 }\free{m2 }\free{m3 }} -\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixPatch8} -\begin{paste}{MenuexmatrixFull8}{MenuexmatrixEmpty8} -\pastebutton{MenuexmatrixFull8}{\hidepaste} -\tab{5}\spadcommand{m3 *vector([1,0,1])\free{m3 }} -\indentrel{3}\begin{verbatim} - (8) [4,8] - Type: Vector Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixEmpty8} -\begin{paste}{MenuexmatrixEmpty8}{MenuexmatrixPatch8} -\pastebutton{MenuexmatrixEmpty8}{\showpaste} -\tab{5}\spadcommand{m3 *vector([1,0,1])\free{m3 }} -\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixPatch9} -\begin{paste}{MenuexmatrixFull9}{MenuexmatrixEmpty9} -\pastebutton{MenuexmatrixFull9}{\hidepaste} -\tab{5}\spadcommand{diagonalMatrix([1,2,3,2,1])} -\indentrel{3}\begin{verbatim} - Ú1 0 0 0 0¿ - ³ ³ - ³0 2 0 0 0³ - ³ ³ - (9) ³0 0 3 0 0³ - ³ ³ - ³0 0 0 2 0³ - ³ ³ - À0 0 0 0 1Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixEmpty9} -\begin{paste}{MenuexmatrixEmpty9}{MenuexmatrixPatch9} -\pastebutton{MenuexmatrixEmpty9}{\showpaste} -\tab{5}\spadcommand{diagonalMatrix([1,2,3,2,1])} -\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixPatch10} -\begin{paste}{MenuexmatrixFull10}{MenuexmatrixEmpty10} -\pastebutton{MenuexmatrixFull10}{\hidepaste} -\tab{5}\spadcommand{subMatrix(matrix([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]]), 1,3,2,4)} -\indentrel{3}\begin{verbatim} - Ú1 2 3 ¿ - ³ ³ - (10) ³6 7 8 ³ - ³ ³ - À11 12 13Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixEmpty10} -\begin{paste}{MenuexmatrixEmpty10}{MenuexmatrixPatch10} -\pastebutton{MenuexmatrixEmpty10}{\showpaste} -\tab{5}\spadcommand{subMatrix(matrix([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]]), 1,3,2,4)} -\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixPatch11} -\begin{paste}{MenuexmatrixFull11}{MenuexmatrixEmpty11} -\pastebutton{MenuexmatrixFull11}{\hidepaste} -\tab{5}\spadcommand{horizConcat(matrix([[1,2,3],[6,7,8]]),matrix([[11,12,13],[55,77,88]]))} -\indentrel{3}\begin{verbatim} - Ú1 2 3 11 12 13¿ - (11) ³ ³ - À6 7 8 55 77 88Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixEmpty11} -\begin{paste}{MenuexmatrixEmpty11}{MenuexmatrixPatch11} -\pastebutton{MenuexmatrixEmpty11}{\showpaste} -\tab{5}\spadcommand{horizConcat(matrix([[1,2,3],[6,7,8]]),matrix([[11,12,13],[55,77,88]]))} -\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixPatch12} -\begin{paste}{MenuexmatrixFull12}{MenuexmatrixEmpty12} -\pastebutton{MenuexmatrixFull12}{\hidepaste} -\tab{5}\spadcommand{vertConcat(matrix([[1,2,3],[6,7,8]]),matrix([[11,12,13],[55,77,88]]))} -\indentrel{3}\begin{verbatim} - Ú1 2 3 ¿ - ³ ³ - ³6 7 8 ³ - (12) ³ ³ - ³11 12 13³ - ³ ³ - À55 77 88Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixEmpty12} -\begin{paste}{MenuexmatrixEmpty12}{MenuexmatrixPatch12} -\pastebutton{MenuexmatrixEmpty12}{\showpaste} -\tab{5}\spadcommand{vertConcat(matrix([[1,2,3],[6,7,8]]),matrix([[11,12,13],[55,77,88]]))} -\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixPatch13} -\begin{paste}{MenuexmatrixFull13}{MenuexmatrixEmpty13} -\pastebutton{MenuexmatrixFull13}{\hidepaste} -\tab{5}\spadcommand{b:=matrix([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]])\bound{b }} -\indentrel{3}\begin{verbatim} - Ú0 1 2 3 4 ¿ - ³ ³ - (13) ³5 6 7 8 9 ³ - ³ ³ - À10 11 12 13 14Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixEmpty13} -\begin{paste}{MenuexmatrixEmpty13}{MenuexmatrixPatch13} -\pastebutton{MenuexmatrixEmpty13}{\showpaste} -\tab{5}\spadcommand{b:=matrix([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]])\bound{b }} -\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixPatch14} -\begin{paste}{MenuexmatrixFull14}{MenuexmatrixEmpty14} -\pastebutton{MenuexmatrixFull14}{\hidepaste} -\tab{5}\spadcommand{setsubMatrix!(b,1,1,transpose(subMatrix(b,1,3,1,3)))\free{b }} -\indentrel{3}\begin{verbatim} - Ú0 5 10 3 4 ¿ - ³ ³ - (14) ³1 6 11 8 9 ³ - ³ ³ - À2 7 12 13 14Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixEmpty14} -\begin{paste}{MenuexmatrixEmpty14}{MenuexmatrixPatch14} -\pastebutton{MenuexmatrixEmpty14}{\showpaste} -\tab{5}\spadcommand{setsubMatrix!(b,1,1,transpose(subMatrix(b,1,3,1,3)))\free{b }} -\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixPatch15} -\begin{paste}{MenuexmatrixFull15}{MenuexmatrixEmpty15} -\pastebutton{MenuexmatrixFull15}{\hidepaste} -\tab{5}\spadcommand{trace( matrix([[1,x,x**2,x**3],[1,y,y**2,y**3],[1,z,z**2,z**3],[1,u,u**2,u**3]]) )} -\indentrel{3}\begin{verbatim} - 2 3 - (15) z + y + u + 1 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixEmpty15} -\begin{paste}{MenuexmatrixEmpty15}{MenuexmatrixPatch15} -\pastebutton{MenuexmatrixEmpty15}{\showpaste} -\tab{5}\spadcommand{trace( matrix([[1,x,x**2,x**3],[1,y,y**2,y**3],[1,z,z**2,z**3],[1,u,u**2,u**3]]) )} -\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixPatch16} -\begin{paste}{MenuexmatrixFull16}{MenuexmatrixEmpty16} -\pastebutton{MenuexmatrixFull16}{\hidepaste} -\tab{5}\spadcommand{determinant(matrix([[1,2,3,4],[2,3,2,5],[3,4,5,6],[4,1,6,7]]))} -\indentrel{3}\begin{verbatim} - (16) - 48 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixEmpty16} -\begin{paste}{MenuexmatrixEmpty16}{MenuexmatrixPatch16} -\pastebutton{MenuexmatrixEmpty16}{\showpaste} -\tab{5}\spadcommand{determinant(matrix([[1,2,3,4],[2,3,2,5],[3,4,5,6],[4,1,6,7]]))} -\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixPatch17} -\begin{paste}{MenuexmatrixFull17}{MenuexmatrixEmpty17} -\pastebutton{MenuexmatrixFull17}{\hidepaste} -\tab{5}\spadcommand{inverse(matrix([[1,2,1],[-2,3,4],[-1,5,6]]))} -\indentrel{3}\begin{verbatim} - Ú 2 5 ¿ - ³- Ä - 1 Ä ³ - ³ 7 7 ³ - ³ ³ - (17) ³ 8 6³ - ³ Ä 1 - ij - ³ 7 7³ - ³ ³ - À- 1 - 1 1 Ù - Type: Union(Matrix Fraction Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixEmpty17} -\begin{paste}{MenuexmatrixEmpty17}{MenuexmatrixPatch17} -\pastebutton{MenuexmatrixEmpty17}{\showpaste} -\tab{5}\spadcommand{inverse(matrix([[1,2,1],[-2,3,4],[-1,5,6]]))} -\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixPatch18} -\begin{paste}{MenuexmatrixFull18}{MenuexmatrixEmpty18} -\pastebutton{MenuexmatrixFull18}{\hidepaste} -\tab{5}\spadcommand{rank(matrix([[0,4,1],[5,3,-7],[-5,5,9]]))} -\indentrel{3}\begin{verbatim} - (18) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexmatrixEmpty18} -\begin{paste}{MenuexmatrixEmpty18}{MenuexmatrixPatch18} -\pastebutton{MenuexmatrixEmpty18}{\showpaste} -\tab{5}\spadcommand{rank(matrix([[0,4,1],[5,3,-7],[-5,5,9]]))} -\end{paste}\end{patch} - -\begin{patch}{MenuexlapPatch1} -\begin{paste}{MenuexlapFull1}{MenuexlapEmpty1} -\pastebutton{MenuexlapFull1}{\hidepaste} -\tab{5}\spadcommand{laplace(t**4 * exp(-a*t) / factorial(4), t, s)} -\indentrel{3}\begin{verbatim} - 1 - (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 5 4 2 3 3 2 4 5 - s + 5a s + 10a s + 10a s + 5a s + a - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexlapEmpty1} -\begin{paste}{MenuexlapEmpty1}{MenuexlapPatch1} -\pastebutton{MenuexlapEmpty1}{\showpaste} -\tab{5}\spadcommand{laplace(t**4 * exp(-a*t) / factorial(4), t, s)} -\end{paste}\end{patch} - -\begin{patch}{MenuexlapPatch2} -\begin{paste}{MenuexlapFull2}{MenuexlapEmpty2} -\pastebutton{MenuexlapFull2}{\hidepaste} -\tab{5}\spadcommand{laplace(sin(a*t) * cosh(a*t) - cos(a*t) * sinh(a*t), t, s)} -\indentrel{3}\begin{verbatim} - 3 - 4a - (2) ÄÄÄÄÄÄÄÄ - 4 4 - s + 4a - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexlapEmpty2} -\begin{paste}{MenuexlapEmpty2}{MenuexlapPatch2} -\pastebutton{MenuexlapEmpty2}{\showpaste} -\tab{5}\spadcommand{laplace(sin(a*t) * cosh(a*t) - cos(a*t) * sinh(a*t), t, s)} -\end{paste}\end{patch} - -\begin{patch}{MenuexlapPatch3} -\begin{paste}{MenuexlapFull3}{MenuexlapEmpty3} -\pastebutton{MenuexlapFull3}{\hidepaste} -\tab{5}\spadcommand{laplace(2/t * (1 - cos(a*t)), t, s)} -\indentrel{3}\begin{verbatim} - 2 2 - (3) log(s + a ) - 2log(s) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexlapEmpty3} -\begin{paste}{MenuexlapEmpty3}{MenuexlapPatch3} -\pastebutton{MenuexlapEmpty3}{\showpaste} -\tab{5}\spadcommand{laplace(2/t * (1 - cos(a*t)), t, s)} -\end{paste}\end{patch} - -\begin{patch}{MenuexlapPatch4} -\begin{paste}{MenuexlapFull4}{MenuexlapEmpty4} -\pastebutton{MenuexlapFull4}{\hidepaste} -\tab{5}\spadcommand{laplace((exp(a*t) - exp(b*t))/t, t, s)} -\indentrel{3}\begin{verbatim} - (4) - log(s - a) + log(s - b) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexlapEmpty4} -\begin{paste}{MenuexlapEmpty4}{MenuexlapPatch4} -\pastebutton{MenuexlapEmpty4}{\showpaste} -\tab{5}\spadcommand{laplace((exp(a*t) - exp(b*t))/t, t, s)} -\end{paste}\end{patch} - -\begin{patch}{MenuexlapPatch5} -\begin{paste}{MenuexlapFull5}{MenuexlapEmpty5} -\pastebutton{MenuexlapFull5}{\hidepaste} -\tab{5}\spadcommand{laplace(exp(a*t+b)*Ei(c*t), t, s)} -\indentrel{3}\begin{verbatim} - b s + c - a - %e log(ÄÄÄÄÄÄÄÄÄ) - c - (5) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - s - a - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexlapEmpty5} -\begin{paste}{MenuexlapEmpty5}{MenuexlapPatch5} -\pastebutton{MenuexlapEmpty5}{\showpaste} -\tab{5}\spadcommand{laplace(exp(a*t+b)*Ei(c*t), t, s)} -\end{paste}\end{patch} - -\begin{patch}{MenuexlapPatch6} -\begin{paste}{MenuexlapFull6}{MenuexlapEmpty6} -\pastebutton{MenuexlapFull6}{\hidepaste} -\tab{5}\spadcommand{laplace(a*Ci(b*t) + c*Si(d*t), t, s)} -\indentrel{3}\begin{verbatim} - 2 2 - s + b d - a log(ÄÄÄÄÄÄÄ) + 2c atan(Ä) - 2 s - b - (6) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 2s - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexlapEmpty6} -\begin{paste}{MenuexlapEmpty6}{MenuexlapPatch6} -\pastebutton{MenuexlapEmpty6}{\showpaste} -\tab{5}\spadcommand{laplace(a*Ci(b*t) + c*Si(d*t), t, s)} -\end{paste}\end{patch} - -\begin{patch}{MenuexintPatch1} -\begin{paste}{MenuexintFull1}{MenuexintEmpty1} -\pastebutton{MenuexintFull1}{\hidepaste} -\tab{5}\spadcommand{integrate((x**2+2*x+1)/((x+1)**6+1),x)} -\indentrel{3}\begin{verbatim} - 3 2 - atan(x + 3x + 3x + 1) - (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 3 - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexintEmpty1} -\begin{paste}{MenuexintEmpty1}{MenuexintPatch1} -\pastebutton{MenuexintEmpty1}{\showpaste} -\tab{5}\spadcommand{integrate((x**2+2*x+1)/((x+1)**6+1),x)} -\end{paste}\end{patch} - -\begin{patch}{MenuexintPatch2} -\begin{paste}{MenuexintFull2}{MenuexintEmpty2} -\pastebutton{MenuexintFull2}{\hidepaste} -\tab{5}\spadcommand{integrate(1/(x**3+x+1),x)\bound{i }} -\indentrel{3}\begin{verbatim} - (2) - ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ - ³ 2 - ³- 93%%CE0 + 12 - ( ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - %%CE0) - \³ 31 - * - log - ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ - ³ 2 - ³- 93%%CE0 + 12 2 - (62%%CE0 + 31) ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 62%%CE0 - \³ 31 - + - - 31%%CE0 + 18x - 4 - + - ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ - ³ 2 - ³- 93%%CE0 + 12 - (- ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - %%CE0) - \³ 31 - * - log - ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ - ³ 2 - ³- 93%%CE0 + 12 - (- 62%%CE0 - 31) ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - \³ 31 - + - 2 - 62%%CE0 - 31%%CE0 + 18x - 4 - + - 2 - 2%%CE0 log(- 62%%CE0 + 31%%CE0 + 9x + 4) - / - 2 - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexintEmpty2} -\begin{paste}{MenuexintEmpty2}{MenuexintPatch2} -\pastebutton{MenuexintEmpty2}{\showpaste} -\tab{5}\spadcommand{integrate(1/(x**3+x+1),x)\bound{i }} -\end{paste}\end{patch} - -\begin{patch}{MenuexintPatch3} -\begin{paste}{MenuexintFull3}{MenuexintEmpty3} -\pastebutton{MenuexintFull3}{\hidepaste} -\tab{5}\spadcommand{definingPolynomial(tower(\%).2::EXPR INT)\free{i }} -\indentrel{3}\begin{verbatim} - 3 - 31%%CE0 - 3%%CE0 - 1 - (3) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 31 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexintEmpty3} -\begin{paste}{MenuexintEmpty3}{MenuexintPatch3} -\pastebutton{MenuexintEmpty3}{\showpaste} -\tab{5}\spadcommand{definingPolynomial(tower(\%).2::EXPR INT)\free{i }} -\end{paste}\end{patch} - -\begin{patch}{MenuexintPatch4} -\begin{paste}{MenuexintFull4}{MenuexintEmpty4} -\pastebutton{MenuexintFull4}{\hidepaste} -\tab{5}\spadcommand{integrate(1/(x**2 + a),x)} -\indentrel{3}\begin{verbatim} - 2 ÚÄÄÄ¿ - (x - a)\³- a + 2a x ÚÄ¿ - log(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) x\³a - 2 atan(ÄÄÄÄÄ) - x + a a - (4) [ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄÄÄÄ] - ÚÄÄÄ¿ ÚÄ¿ - 2\³- a \³a - Type: Union(List Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexintEmpty4} -\begin{paste}{MenuexintEmpty4}{MenuexintPatch4} -\pastebutton{MenuexintEmpty4}{\showpaste} -\tab{5}\spadcommand{integrate(1/(x**2 + a),x)} -\end{paste}\end{patch} - -\begin{patch}{MenuexintPatch5} -\begin{paste}{MenuexintFull5}{MenuexintEmpty5} -\pastebutton{MenuexintFull5}{\hidepaste} -\tab{5}\spadcommand{complexIntegrate(1/(x**2 + a),x)} -\indentrel{3}\begin{verbatim} - ÚÄÄÄ¿ ÚÄÄÄ¿ - x\³- a + a x\³- a - a - log(ÄÄÄÄÄÄÄÄÄÄÄ) - log(ÄÄÄÄÄÄÄÄÄÄÄ) - ÚÄÄÄ¿ ÚÄÄÄ¿ - \³- a \³- a - (5) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - ÚÄÄÄ¿ - 2\³- a - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexintEmpty5} -\begin{paste}{MenuexintEmpty5}{MenuexintPatch5} -\pastebutton{MenuexintEmpty5}{\showpaste} -\tab{5}\spadcommand{complexIntegrate(1/(x**2 + a),x)} -\end{paste}\end{patch} - -\begin{patch}{MenuexintPatch6} -\begin{paste}{MenuexintFull6}{MenuexintEmpty6} -\pastebutton{MenuexintFull6}{\hidepaste} -\tab{5}\spadcommand{integrate(x**3 / (a+b*x)**(1/3),x)} -\indentrel{3}\begin{verbatim} - (6) - 3 3 2 2 2 3 3ÚÄÄÄÄÄÄÄ¿2 - (120b x - 135a b x + 162a b x - 243a )\³b x + a - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 4 - 440b - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexintEmpty6} -\begin{paste}{MenuexintEmpty6}{MenuexintPatch6} -\pastebutton{MenuexintEmpty6}{\showpaste} -\tab{5}\spadcommand{integrate(x**3 / (a+b*x)**(1/3),x)} -\end{paste}\end{patch} - -\begin{patch}{MenuexintPatch7} -\begin{paste}{MenuexintFull7}{MenuexintEmpty7} -\pastebutton{MenuexintFull7}{\hidepaste} -\tab{5}\spadcommand{integrate(1 / (x**3 * (a+b*x)**(1/3)),x)} -\indentrel{3}\begin{verbatim} - (7) - - - 2 2 ÚÄ¿ - 2b x \³3 - * - 3ÚÄ¿3ÚÄÄÄÄÄÄÄ¿2 3ÚÄ¿2 3ÚÄÄÄÄÄÄÄ¿ - log(\³a \³b x + a + \³a \³b x + a + a) - + - 2 2 ÚÄ¿ 3ÚÄ¿2 3ÚÄÄÄÄÄÄÄ¿ - 4b x \³3 log(\³a \³b x + a - a) - + - ÚÄ¿3ÚÄ¿2 3ÚÄÄÄÄÄÄÄ¿ ÚÄ¿ - 2 2 2\³3 \³a \³b x + a + a\³3 - 12b x atan(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) - 3a - + - ÚÄ¿3ÚÄ¿3ÚÄÄÄÄÄÄÄ¿2 - (12b x - 9a)\³3 \³a \³b x + a - / - 2 2 ÚÄ¿3ÚÄ¿ - 18a x \³3 \³a - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexintEmpty7} -\begin{paste}{MenuexintEmpty7}{MenuexintPatch7} -\pastebutton{MenuexintEmpty7}{\showpaste} -\tab{5}\spadcommand{integrate(1 / (x**3 * (a+b*x)**(1/3)),x)} -\end{paste}\end{patch} - -\begin{patch}{MenuexintPatch8} -\begin{paste}{MenuexintFull8}{MenuexintEmpty8} -\pastebutton{MenuexintFull8}{\hidepaste} -\tab{5}\spadcommand{integrate(log(1 + sqrt(a*x + b)) / x,x)} -\indentrel{3}\begin{verbatim} - x ÚÄÄÄÄÄÄÄÄ¿ - Ú¿ log(\³b + %N a + 1) - (8) ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ d%N - ÀÙ %N - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexintEmpty8} -\begin{paste}{MenuexintEmpty8}{MenuexintPatch8} -\pastebutton{MenuexintEmpty8}{\showpaste} -\tab{5}\spadcommand{integrate(log(1 + sqrt(a*x + b)) / x,x)} -\end{paste}\end{patch} - -\begin{patch}{MenuexintPatch9} -\begin{paste}{MenuexintFull9}{MenuexintEmpty9} -\pastebutton{MenuexintFull9}{\hidepaste} -\tab{5}\spadcommand{integrate((sinh(1+sqrt(x+b))+2*sqrt(x+b))/(sqrt(x+b)*(x+cosh(1+sqrt(x+b)))),x)} -\indentrel{3}\begin{verbatim} - (9) - ÚÄÄÄÄÄ¿ - - 2cosh(\³x + b + 1) - 2x - 2log(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) - ÚÄÄÄÄÄ¿ ÚÄÄÄÄÄ¿ - sinh(\³x + b + 1) - cosh(\³x + b + 1) - + - ÚÄÄÄÄÄ¿ - - 2\³x + b - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexintEmpty9} -\begin{paste}{MenuexintEmpty9}{MenuexintPatch9} -\pastebutton{MenuexintEmpty9}{\showpaste} -\tab{5}\spadcommand{integrate((sinh(1+sqrt(x+b))+2*sqrt(x+b))/(sqrt(x+b)*(x+cosh(1+sqrt(x+b)))),x)} -\end{paste}\end{patch} - -\begin{patch}{MenuexintPatch10} -\begin{paste}{MenuexintFull10}{MenuexintEmpty10} -\pastebutton{MenuexintFull10}{\hidepaste} -\tab{5}\spadcommand{integrate(tan(atan(x)/3),x)} -\indentrel{3}\begin{verbatim} - (10) - atan(x) 2 atan(x) 2 - 8log(3tan(ÄÄÄÄÄÄÄ) - 1) - 3tan(ÄÄÄÄÄÄÄ) - 3 3 - + - atan(x) - 18x tan(ÄÄÄÄÄÄÄ) - 3 - / - 18 - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexintEmpty10} -\begin{paste}{MenuexintEmpty10}{MenuexintPatch10} -\pastebutton{MenuexintEmpty10}{\showpaste} -\tab{5}\spadcommand{integrate(tan(atan(x)/3),x)} -\end{paste}\end{patch} - -\begin{patch}{MenuexintPatch11} -\begin{paste}{MenuexintFull11}{MenuexintEmpty11} -\pastebutton{MenuexintFull11}{\hidepaste} -\tab{5}\spadcommand{integrate((x + 1) / (x * (x + log x)**(3/2)),x)} -\indentrel{3}\begin{verbatim} - ÚÄÄÄÄÄÄÄÄÄÄ¿ - 2\³log(x) + x - (11) - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - log(x) + x - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexintEmpty11} -\begin{paste}{MenuexintEmpty11}{MenuexintPatch11} -\pastebutton{MenuexintEmpty11}{\showpaste} -\tab{5}\spadcommand{integrate((x + 1) / (x * (x + log x)**(3/2)),x)} -\end{paste}\end{patch} - -\begin{patch}{MenuexintPatch12} -\begin{paste}{MenuexintFull12}{MenuexintEmpty12} -\pastebutton{MenuexintFull12}{\hidepaste} -\tab{5}\spadcommand{integrate(exp(-x**2) * erf(x) / (erf(x)**3 - erf(x)**2 - erf(x) + 1),x)} -\indentrel{3}\begin{verbatim} - ÚÄÄÄ¿ erf(x) - 1 ÚÄÄÄ¿ - (erf(x) - 1)\³%pi log(ÄÄÄÄÄÄÄÄÄÄ) - 2\³%pi - erf(x) + 1 - (12) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 8erf(x) - 8 - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexintEmpty12} -\begin{paste}{MenuexintEmpty12}{MenuexintPatch12} -\pastebutton{MenuexintEmpty12}{\showpaste} -\tab{5}\spadcommand{integrate(exp(-x**2) * erf(x) / (erf(x)**3 - erf(x)**2 - erf(x) + 1),x)} -\end{paste}\end{patch} - -\begin{patch}{MenuexsumPatch1} -\begin{paste}{MenuexsumFull1}{MenuexsumEmpty1} -\pastebutton{MenuexsumFull1}{\hidepaste} -\tab{5}\spadcommand{[i for i in 1..15]} -\indentrel{3}\begin{verbatim} - (1) [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexsumEmpty1} -\begin{paste}{MenuexsumEmpty1}{MenuexsumPatch1} -\pastebutton{MenuexsumEmpty1}{\showpaste} -\tab{5}\spadcommand{[i for i in 1..15]} -\end{paste}\end{patch} - -\begin{patch}{MenuexsumPatch2} -\begin{paste}{MenuexsumFull2}{MenuexsumEmpty2} -\pastebutton{MenuexsumFull2}{\hidepaste} -\tab{5}\spadcommand{reduce(+,[i for i in 1..15])} -\indentrel{3}\begin{verbatim} - (2) 120 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexsumEmpty2} -\begin{paste}{MenuexsumEmpty2}{MenuexsumPatch2} -\pastebutton{MenuexsumEmpty2}{\showpaste} -\tab{5}\spadcommand{reduce(+,[i for i in 1..15])} -\end{paste}\end{patch} - -\begin{patch}{MenuexsumPatch3} -\begin{paste}{MenuexsumFull3}{MenuexsumEmpty3} -\pastebutton{MenuexsumFull3}{\hidepaste} -\tab{5}\spadcommand{[n**2 for n in 5..20]} -\indentrel{3}\begin{verbatim} - (3) - [25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, - 256, 289, 324, 361, 400] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexsumEmpty3} -\begin{paste}{MenuexsumEmpty3}{MenuexsumPatch3} -\pastebutton{MenuexsumEmpty3}{\showpaste} -\tab{5}\spadcommand{[n**2 for n in 5..20]} -\end{paste}\end{patch} - -\begin{patch}{MenuexsumPatch4} -\begin{paste}{MenuexsumFull4}{MenuexsumEmpty4} -\pastebutton{MenuexsumFull4}{\hidepaste} -\tab{5}\spadcommand{reduce(+,[n**2 for n in 5..20])} -\indentrel{3}\begin{verbatim} - (4) 2840 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexsumEmpty4} -\begin{paste}{MenuexsumEmpty4}{MenuexsumPatch4} -\pastebutton{MenuexsumEmpty4}{\showpaste} -\tab{5}\spadcommand{reduce(+,[n**2 for n in 5..20])} -\end{paste}\end{patch} - -\begin{patch}{MenuexsumPatch5} -\begin{paste}{MenuexsumFull5}{MenuexsumEmpty5} -\pastebutton{MenuexsumFull5}{\hidepaste} -\tab{5}\spadcommand{reduce(+,[1.0/factorial(n) for n in 0..20])} -\indentrel{3}\begin{verbatim} - (5) 2.7182818284 590452354 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexsumEmpty5} -\begin{paste}{MenuexsumEmpty5}{MenuexsumPatch5} -\pastebutton{MenuexsumEmpty5}{\showpaste} -\tab{5}\spadcommand{reduce(+,[1.0/factorial(n) for n in 0..20])} -\end{paste}\end{patch} - -\begin{patch}{MenuexsumPatch6} -\begin{paste}{MenuexsumFull6}{MenuexsumEmpty6} -\pastebutton{MenuexsumFull6}{\hidepaste} -\tab{5}\spadcommand{s := sum(k**2,k = a..b)\bound{s }} -\indentrel{3}\begin{verbatim} - 3 2 3 2 - 2b + 3b + b - 2a + 3a - a - (6) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 6 - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexsumEmpty6} -\begin{paste}{MenuexsumEmpty6}{MenuexsumPatch6} -\pastebutton{MenuexsumEmpty6}{\showpaste} -\tab{5}\spadcommand{s := sum(k**2,k = a..b)\bound{s }} -\end{paste}\end{patch} - -\begin{patch}{MenuexsumPatch7} -\begin{paste}{MenuexsumFull7}{MenuexsumEmpty7} -\pastebutton{MenuexsumFull7}{\hidepaste} -\tab{5}\spadcommand{eval(s,[a,b],[1,25])\free{s }} -\indentrel{3}\begin{verbatim} - (7) 5525 - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexsumEmpty7} -\begin{paste}{MenuexsumEmpty7}{MenuexsumPatch7} -\pastebutton{MenuexsumEmpty7}{\showpaste} -\tab{5}\spadcommand{eval(s,[a,b],[1,25])\free{s }} -\end{paste}\end{patch} - -\begin{patch}{MenuexsumPatch8} -\begin{paste}{MenuexsumFull8}{MenuexsumEmpty8} -\pastebutton{MenuexsumFull8}{\hidepaste} -\tab{5}\spadcommand{reduce(+,[i**2 for i in 1..25])} -\indentrel{3}\begin{verbatim} - (8) 5525 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexsumEmpty8} -\begin{paste}{MenuexsumEmpty8}{MenuexsumPatch8} -\pastebutton{MenuexsumEmpty8}{\showpaste} -\tab{5}\spadcommand{reduce(+,[i**2 for i in 1..25])} -\end{paste}\end{patch} - -\begin{patch}{MenuexsumPatch9} -\begin{paste}{MenuexsumFull9}{MenuexsumEmpty9} -\pastebutton{MenuexsumFull9}{\hidepaste} -\tab{5}\spadcommand{sum(k**3,k = 1..n)} -\indentrel{3}\begin{verbatim} - 4 3 2 - n + 2n + n - (9) ÄÄÄÄÄÄÄÄÄÄÄÄÄ - 4 - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexsumEmpty9} -\begin{paste}{MenuexsumEmpty9}{MenuexsumPatch9} -\pastebutton{MenuexsumEmpty9}{\showpaste} -\tab{5}\spadcommand{sum(k**3,k = 1..n)} -\end{paste}\end{patch} - -\begin{patch}{MenuexsumPatch10} -\begin{paste}{MenuexsumFull10}{MenuexsumEmpty10} -\pastebutton{MenuexsumFull10}{\hidepaste} -\tab{5}\spadcommand{sum(k,k = 1..n) ** 2} -\indentrel{3}\begin{verbatim} - 4 3 2 - n + 2n + n - (10) ÄÄÄÄÄÄÄÄÄÄÄÄÄ - 4 - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexsumEmpty10} -\begin{paste}{MenuexsumEmpty10}{MenuexsumPatch10} -\pastebutton{MenuexsumEmpty10}{\showpaste} -\tab{5}\spadcommand{sum(k,k = 1..n) ** 2} -\end{paste}\end{patch} - -\begin{patch}{MenuexsumPatch11} -\begin{paste}{MenuexsumFull11}{MenuexsumEmpty11} -\pastebutton{MenuexsumFull11}{\hidepaste} -\tab{5}\spadcommand{sum(3*k**2/(c**2 + 1) + 12*k/d,k = (3*a)..(4*b))} -\indentrel{3}\begin{verbatim} - (11) - 3 2 3 2 - (128b + 48b + 4b - 54a + 27a - 3a)d - + - 2 2 2 2 2 - (192b + 48b - 108a + 36a)c + 192b + 48b - 108a - + - 36a - / - 2 - (2c + 2)d - Type: Union(Fraction Polynomial Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexsumEmpty11} -\begin{paste}{MenuexsumEmpty11}{MenuexsumPatch11} -\pastebutton{MenuexsumEmpty11}{\showpaste} -\tab{5}\spadcommand{sum(3*k**2/(c**2 + 1) + 12*k/d,k = (3*a)..(4*b))} -\end{paste}\end{patch} - -\begin{patch}{MenuexsumPatch12} -\begin{paste}{MenuexsumFull12}{MenuexsumEmpty12} -\pastebutton{MenuexsumFull12}{\hidepaste} -\tab{5}\spadcommand{sum(k * x**k,k = 1..n)} -\indentrel{3}\begin{verbatim} - 2 n - (n x + (- n - 1)x)x + x - (12) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 2 - x - 2x + 1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexsumEmpty12} -\begin{paste}{MenuexsumEmpty12}{MenuexsumPatch12} -\pastebutton{MenuexsumEmpty12}{\showpaste} -\tab{5}\spadcommand{sum(k * x**k,k = 1..n)} -\end{paste}\end{patch} - -\begin{patch}{MenuexsumPatch13} -\begin{paste}{MenuexsumFull13}{MenuexsumEmpty13} -\pastebutton{MenuexsumFull13}{\hidepaste} -\tab{5}\spadcommand{limit( sum(1/(k * (k + 2)),k = 1..n) ,n = \%plusInfinity)} -\indentrel{3}\begin{verbatim} - 3 - (13) Ä - 4 -Type: Union(OrderedCompletion Fraction Polynomial Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MenuexsumEmpty13} -\begin{paste}{MenuexsumEmpty13}{MenuexsumPatch13} -\pastebutton{MenuexsumEmpty13}{\showpaste} -\tab{5}\spadcommand{limit( sum(1/(k * (k + 2)),k = 1..n) ,n = \%plusInfinity)} -\end{paste}\end{patch} - diff --git a/books/pages/cycles.pht b/books/pages/cycles.pht deleted file mode 100644 index 65fc1f3..0000000 --- a/books/pages/cycles.pht +++ /dev/null @@ -1,855 +0,0 @@ -\begin{patch}{CycleIndicatorsXmpPagePatch1} -\begin{paste}{CycleIndicatorsXmpPageFull1}{CycleIndicatorsXmpPageEmpty1} -\pastebutton{CycleIndicatorsXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{)expose EVALCYC} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty1} -\begin{paste}{CycleIndicatorsXmpPageEmpty1}{CycleIndicatorsXmpPagePatch1} -\pastebutton{CycleIndicatorsXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{)expose EVALCYC} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch2} -\begin{paste}{CycleIndicatorsXmpPageFull2}{CycleIndicatorsXmpPageEmpty2} -\pastebutton{CycleIndicatorsXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{complete 1} -\indentrel{3}\begin{verbatim} - (1) (1) - Type: SymmetricPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty2} -\begin{paste}{CycleIndicatorsXmpPageEmpty2}{CycleIndicatorsXmpPagePatch2} -\pastebutton{CycleIndicatorsXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{complete 1} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch3} -\begin{paste}{CycleIndicatorsXmpPageFull3}{CycleIndicatorsXmpPageEmpty3} -\pastebutton{CycleIndicatorsXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{complete 2} -\indentrel{3}\begin{verbatim} - 1 1 2 - (2) Ä (2) + Ä (1 ) - 2 2 - Type: SymmetricPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty3} -\begin{paste}{CycleIndicatorsXmpPageEmpty3}{CycleIndicatorsXmpPagePatch3} -\pastebutton{CycleIndicatorsXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{complete 2} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch4} -\begin{paste}{CycleIndicatorsXmpPageFull4}{CycleIndicatorsXmpPageEmpty4} -\pastebutton{CycleIndicatorsXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{complete 3} -\indentrel{3}\begin{verbatim} - 1 1 1 3 - (3) Ä (3) + Ä (2 1) + Ä (1 ) - 3 2 6 - Type: SymmetricPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty4} -\begin{paste}{CycleIndicatorsXmpPageEmpty4}{CycleIndicatorsXmpPagePatch4} -\pastebutton{CycleIndicatorsXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{complete 3} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch5} -\begin{paste}{CycleIndicatorsXmpPageFull5}{CycleIndicatorsXmpPageEmpty5} -\pastebutton{CycleIndicatorsXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{complete 7} -\indentrel{3}\begin{verbatim} - (4) - 1 1 1 1 2 1 - Ä (7) + Ä (6 1) + ÄÄ (5 2) + ÄÄ (5 1 ) + ÄÄ (4 3) - 7 6 10 10 12 - + - 1 1 3 1 2 1 2 - Ä (4 2 1) + ÄÄ (4 1 ) + ÄÄ (3 1) + ÄÄ (3 2 ) - 8 24 18 24 - + - 1 2 1 4 1 3 1 2 3 - ÄÄ (3 2 1 ) + ÄÄ (3 1 ) + ÄÄ (2 1) + ÄÄ (2 1 ) - 12 72 48 48 - + - 1 5 1 7 - ÄÄÄ (2 1 ) + ÄÄÄÄ (1 ) - 240 5040 - Type: SymmetricPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty5} -\begin{paste}{CycleIndicatorsXmpPageEmpty5}{CycleIndicatorsXmpPagePatch5} -\pastebutton{CycleIndicatorsXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{complete 7} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch6} -\begin{paste}{CycleIndicatorsXmpPageFull6}{CycleIndicatorsXmpPageEmpty6} -\pastebutton{CycleIndicatorsXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{elementary 7} -\indentrel{3}\begin{verbatim} - (5) - 1 1 1 1 2 1 - Ä (7) - Ä (6 1) - ÄÄ (5 2) + ÄÄ (5 1 ) - ÄÄ (4 3) - 7 6 10 10 12 - + - 1 1 3 1 2 1 2 - Ä (4 2 1) - ÄÄ (4 1 ) + ÄÄ (3 1) + ÄÄ (3 2 ) - 8 24 18 24 - + - 1 2 1 4 1 3 1 2 3 - - ÄÄ (3 2 1 ) + ÄÄ (3 1 ) - ÄÄ (2 1) + ÄÄ (2 1 ) - 12 72 48 48 - + - 1 5 1 7 - - ÄÄÄ (2 1 ) + ÄÄÄÄ (1 ) - 240 5040 - Type: SymmetricPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty6} -\begin{paste}{CycleIndicatorsXmpPageEmpty6}{CycleIndicatorsXmpPagePatch6} -\pastebutton{CycleIndicatorsXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{elementary 7} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch7} -\begin{paste}{CycleIndicatorsXmpPageFull7}{CycleIndicatorsXmpPageEmpty7} -\pastebutton{CycleIndicatorsXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{alternating 7} -\indentrel{3}\begin{verbatim} - (6) - 2 1 2 1 1 2 1 2 - Ä (7) + Ä (5 1 ) + Ä (4 2 1) + Ä (3 1) + ÄÄ (3 2 ) - 7 5 4 9 12 - + - 1 4 1 2 3 1 7 - ÄÄ (3 1 ) + ÄÄ (2 1 ) + ÄÄÄÄ (1 ) - 36 24 2520 - Type: SymmetricPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty7} -\begin{paste}{CycleIndicatorsXmpPageEmpty7}{CycleIndicatorsXmpPagePatch7} -\pastebutton{CycleIndicatorsXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{alternating 7} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch8} -\begin{paste}{CycleIndicatorsXmpPageFull8}{CycleIndicatorsXmpPageEmpty8} -\pastebutton{CycleIndicatorsXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{cyclic 7} -\indentrel{3}\begin{verbatim} - 6 1 7 - (7) Ä (7) + Ä (1 ) - 7 7 - Type: SymmetricPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty8} -\begin{paste}{CycleIndicatorsXmpPageEmpty8}{CycleIndicatorsXmpPagePatch8} -\pastebutton{CycleIndicatorsXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{cyclic 7} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch9} -\begin{paste}{CycleIndicatorsXmpPageFull9}{CycleIndicatorsXmpPageEmpty9} -\pastebutton{CycleIndicatorsXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{dihedral 7} -\indentrel{3}\begin{verbatim} - 3 1 3 1 7 - (8) Ä (7) + Ä (2 1) + ÄÄ (1 ) - 7 2 14 - Type: SymmetricPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty9} -\begin{paste}{CycleIndicatorsXmpPageEmpty9}{CycleIndicatorsXmpPagePatch9} -\pastebutton{CycleIndicatorsXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{dihedral 7} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch10} -\begin{paste}{CycleIndicatorsXmpPageFull10}{CycleIndicatorsXmpPageEmpty10} -\pastebutton{CycleIndicatorsXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{graphs 5} -\indentrel{3}\begin{verbatim} - (9) - 1 1 2 1 2 1 3 1 4 2 - Ä (6 3 1) + Ä (5 ) + Ä (4 2) + Ä (3 1) + Ä (2 1 ) - 6 5 4 6 8 - + - 1 3 4 1 10 - ÄÄ (2 1 ) + ÄÄÄ (1 ) - 12 120 - Type: SymmetricPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty10} -\begin{paste}{CycleIndicatorsXmpPageEmpty10}{CycleIndicatorsXmpPagePatch10} -\pastebutton{CycleIndicatorsXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{graphs 5} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch11} -\begin{paste}{CycleIndicatorsXmpPageFull11}{CycleIndicatorsXmpPageEmpty11} -\pastebutton{CycleIndicatorsXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{cap(complete 2**2, complete 2*complete 1**2)} -\indentrel{3}\begin{verbatim} - (10) 4 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty11} -\begin{paste}{CycleIndicatorsXmpPageEmpty11}{CycleIndicatorsXmpPagePatch11} -\pastebutton{CycleIndicatorsXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{cap(complete 2**2, complete 2*complete 1**2)} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch12} -\begin{paste}{CycleIndicatorsXmpPageFull12}{CycleIndicatorsXmpPageEmpty12} -\pastebutton{CycleIndicatorsXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{cap(elementary 2**2, complete 2*complete 1**2)} -\indentrel{3}\begin{verbatim} - (11) 2 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty12} -\begin{paste}{CycleIndicatorsXmpPageEmpty12}{CycleIndicatorsXmpPagePatch12} -\pastebutton{CycleIndicatorsXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{cap(elementary 2**2, complete 2*complete 1**2)} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch13} -\begin{paste}{CycleIndicatorsXmpPageFull13}{CycleIndicatorsXmpPageEmpty13} -\pastebutton{CycleIndicatorsXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{cap(complete 3*complete 2*complete 1,complete 2**2*complete 1**2)} -\indentrel{3}\begin{verbatim} - (12) 24 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty13} -\begin{paste}{CycleIndicatorsXmpPageEmpty13}{CycleIndicatorsXmpPagePatch13} -\pastebutton{CycleIndicatorsXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{cap(complete 3*complete 2*complete 1,complete 2**2*complete 1**2)} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch14} -\begin{paste}{CycleIndicatorsXmpPageFull14}{CycleIndicatorsXmpPageEmpty14} -\pastebutton{CycleIndicatorsXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{cap(elementary 3*elementary 2*elementary 1,complete 2**2*complete 1**2)} -\indentrel{3}\begin{verbatim} - (13) 8 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty14} -\begin{paste}{CycleIndicatorsXmpPageEmpty14}{CycleIndicatorsXmpPagePatch14} -\pastebutton{CycleIndicatorsXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{cap(elementary 3*elementary 2*elementary 1,complete 2**2*complete 1**2)} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch15} -\begin{paste}{CycleIndicatorsXmpPageFull15}{CycleIndicatorsXmpPageEmpty15} -\pastebutton{CycleIndicatorsXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{cap(complete 3*complete 2*complete 1,elementary 2**2*elementary 1**2)} -\indentrel{3}\begin{verbatim} - (14) 8 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty15} -\begin{paste}{CycleIndicatorsXmpPageEmpty15}{CycleIndicatorsXmpPagePatch15} -\pastebutton{CycleIndicatorsXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{cap(complete 3*complete 2*complete 1,elementary 2**2*elementary 1**2)} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch16} -\begin{paste}{CycleIndicatorsXmpPageFull16}{CycleIndicatorsXmpPageEmpty16} -\pastebutton{CycleIndicatorsXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{eval(cup(complete 3*complete 2*complete 1, cup(complete 2**2*complete 1**2,complete 2**3)))} -\indentrel{3}\begin{verbatim} - (15) 1500 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty16} -\begin{paste}{CycleIndicatorsXmpPageEmpty16}{CycleIndicatorsXmpPagePatch16} -\pastebutton{CycleIndicatorsXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{eval(cup(complete 3*complete 2*complete 1, cup(complete 2**2*complete 1**2,complete 2**3)))} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch17} -\begin{paste}{CycleIndicatorsXmpPageFull17}{CycleIndicatorsXmpPageEmpty17} -\pastebutton{CycleIndicatorsXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{square:=dihedral 4} -\indentrel{3}\begin{verbatim} - 1 3 2 1 2 1 4 - (16) Ä (4) + Ä (2 ) + Ä (2 1 ) + Ä (1 ) - 4 8 4 8 - Type: SymmetricPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty17} -\begin{paste}{CycleIndicatorsXmpPageEmpty17}{CycleIndicatorsXmpPagePatch17} -\pastebutton{CycleIndicatorsXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{square:=dihedral 4} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch18} -\begin{paste}{CycleIndicatorsXmpPageFull18}{CycleIndicatorsXmpPageEmpty18} -\pastebutton{CycleIndicatorsXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{cap(complete 2**2,square)} -\indentrel{3}\begin{verbatim} - (17) 2 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty18} -\begin{paste}{CycleIndicatorsXmpPageEmpty18}{CycleIndicatorsXmpPagePatch18} -\pastebutton{CycleIndicatorsXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{cap(complete 2**2,square)} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch19} -\begin{paste}{CycleIndicatorsXmpPageFull19}{CycleIndicatorsXmpPageEmpty19} -\pastebutton{CycleIndicatorsXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{cap(complete 3*complete 2**2,dihedral 7)} -\indentrel{3}\begin{verbatim} - (18) 18 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty19} -\begin{paste}{CycleIndicatorsXmpPageEmpty19}{CycleIndicatorsXmpPagePatch19} -\pastebutton{CycleIndicatorsXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{cap(complete 3*complete 2**2,dihedral 7)} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch20} -\begin{paste}{CycleIndicatorsXmpPageFull20}{CycleIndicatorsXmpPageEmpty20} -\pastebutton{CycleIndicatorsXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{cap(graphs 5,complete 7*complete 3)} -\indentrel{3}\begin{verbatim} - (19) 4 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty20} -\begin{paste}{CycleIndicatorsXmpPageEmpty20}{CycleIndicatorsXmpPagePatch20} -\pastebutton{CycleIndicatorsXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{cap(graphs 5,complete 7*complete 3)} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch21} -\begin{paste}{CycleIndicatorsXmpPageFull21}{CycleIndicatorsXmpPageEmpty21} -\pastebutton{CycleIndicatorsXmpPageFull21}{\hidepaste} -\tab{5}\spadcommand{s(x) == powerSum(x)} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty21} -\begin{paste}{CycleIndicatorsXmpPageEmpty21}{CycleIndicatorsXmpPagePatch21} -\pastebutton{CycleIndicatorsXmpPageEmpty21}{\showpaste} -\tab{5}\spadcommand{s(x) == powerSum(x)} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch22} -\begin{paste}{CycleIndicatorsXmpPageFull22}{CycleIndicatorsXmpPageEmpty22} -\pastebutton{CycleIndicatorsXmpPageFull22}{\hidepaste} -\tab{5}\spadcommand{cube:=(1/24)*(s 1**8+9*s 2**4 + 8*s 3**2*s 1**2+6*s 4**2)} -\indentrel{3}\begin{verbatim} - 1 2 1 2 2 3 4 1 8 - (21) Ä (4 ) + Ä (3 1 ) + Ä (2 ) + ÄÄ (1 ) - 4 3 8 24 - Type: SymmetricPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty22} -\begin{paste}{CycleIndicatorsXmpPageEmpty22}{CycleIndicatorsXmpPagePatch22} -\pastebutton{CycleIndicatorsXmpPageEmpty22}{\showpaste} -\tab{5}\spadcommand{cube:=(1/24)*(s 1**8+9*s 2**4 + 8*s 3**2*s 1**2+6*s 4**2)} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch23} -\begin{paste}{CycleIndicatorsXmpPageFull23}{CycleIndicatorsXmpPageEmpty23} -\pastebutton{CycleIndicatorsXmpPageFull23}{\hidepaste} -\tab{5}\spadcommand{cap(complete 4**2,cube)} -\indentrel{3}\begin{verbatim} - (22) 7 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty23} -\begin{paste}{CycleIndicatorsXmpPageEmpty23}{CycleIndicatorsXmpPagePatch23} -\pastebutton{CycleIndicatorsXmpPageEmpty23}{\showpaste} -\tab{5}\spadcommand{cap(complete 4**2,cube)} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch24} -\begin{paste}{CycleIndicatorsXmpPageFull24}{CycleIndicatorsXmpPageEmpty24} -\pastebutton{CycleIndicatorsXmpPageFull24}{\hidepaste} -\tab{5}\spadcommand{cap(complete 2**3*complete 1**2,wreath(elementary 4,elementary 2))} -\indentrel{3}\begin{verbatim} - (23) 7 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty24} -\begin{paste}{CycleIndicatorsXmpPageEmpty24}{CycleIndicatorsXmpPagePatch24} -\pastebutton{CycleIndicatorsXmpPageEmpty24}{\showpaste} -\tab{5}\spadcommand{cap(complete 2**3*complete 1**2,wreath(elementary 4,elementary 2))} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch25} -\begin{paste}{CycleIndicatorsXmpPageFull25}{CycleIndicatorsXmpPageEmpty25} -\pastebutton{CycleIndicatorsXmpPageFull25}{\hidepaste} -\tab{5}\spadcommand{cap(complete 2**3*complete 1**2,wreath(elementary 4,complete 2))} -\indentrel{3}\begin{verbatim} - (24) 17 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty25} -\begin{paste}{CycleIndicatorsXmpPageEmpty25}{CycleIndicatorsXmpPagePatch25} -\pastebutton{CycleIndicatorsXmpPageEmpty25}{\showpaste} -\tab{5}\spadcommand{cap(complete 2**3*complete 1**2,wreath(elementary 4,complete 2))} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch26} -\begin{paste}{CycleIndicatorsXmpPageFull26}{CycleIndicatorsXmpPageEmpty26} -\pastebutton{CycleIndicatorsXmpPageFull26}{\hidepaste} -\tab{5}\spadcommand{cap(complete 2**3*complete 1**2,wreath(complete 4,elementary 2))} -\indentrel{3}\begin{verbatim} - (25) 10 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty26} -\begin{paste}{CycleIndicatorsXmpPageEmpty26}{CycleIndicatorsXmpPagePatch26} -\pastebutton{CycleIndicatorsXmpPageEmpty26}{\showpaste} -\tab{5}\spadcommand{cap(complete 2**3*complete 1**2,wreath(complete 4,elementary 2))} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch27} -\begin{paste}{CycleIndicatorsXmpPageFull27}{CycleIndicatorsXmpPageEmpty27} -\pastebutton{CycleIndicatorsXmpPageFull27}{\hidepaste} -\tab{5}\spadcommand{cap(complete 2**3*complete 1**2,wreath(complete 4,complete 2))} -\indentrel{3}\begin{verbatim} - (26) 23 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty27} -\begin{paste}{CycleIndicatorsXmpPageEmpty27}{CycleIndicatorsXmpPagePatch27} -\pastebutton{CycleIndicatorsXmpPageEmpty27}{\showpaste} -\tab{5}\spadcommand{cap(complete 2**3*complete 1**2,wreath(complete 4,complete 2))} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch28} -\begin{paste}{CycleIndicatorsXmpPageFull28}{CycleIndicatorsXmpPageEmpty28} -\pastebutton{CycleIndicatorsXmpPageFull28}{\hidepaste} -\tab{5}\spadcommand{x: ULS(FRAC INT,'x,0) := 'x\bound{x }} -\indentrel{3}\begin{verbatim} - (27) x - Type: UnivariateLaurentSeries(Fraction Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty28} -\begin{paste}{CycleIndicatorsXmpPageEmpty28}{CycleIndicatorsXmpPagePatch28} -\pastebutton{CycleIndicatorsXmpPageEmpty28}{\showpaste} -\tab{5}\spadcommand{x: ULS(FRAC INT,'x,0) := 'x\bound{x }} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch29} -\begin{paste}{CycleIndicatorsXmpPageFull29}{CycleIndicatorsXmpPageEmpty29} -\pastebutton{CycleIndicatorsXmpPageFull29}{\hidepaste} -\tab{5}\spadcommand{ZeroOrOne: INT -> ULS(FRAC INT, 'x, 0)\bound{zodec }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty29} -\begin{paste}{CycleIndicatorsXmpPageEmpty29}{CycleIndicatorsXmpPagePatch29} -\pastebutton{CycleIndicatorsXmpPageEmpty29}{\showpaste} -\tab{5}\spadcommand{ZeroOrOne: INT -> ULS(FRAC INT, 'x, 0)\bound{zodec }} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch30} -\begin{paste}{CycleIndicatorsXmpPageFull30}{CycleIndicatorsXmpPageEmpty30} -\pastebutton{CycleIndicatorsXmpPageFull30}{\hidepaste} -\tab{5}\spadcommand{Integers: INT -> ULS(FRAC INT, 'x, 0)\bound{idec }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty30} -\begin{paste}{CycleIndicatorsXmpPageEmpty30}{CycleIndicatorsXmpPagePatch30} -\pastebutton{CycleIndicatorsXmpPageEmpty30}{\showpaste} -\tab{5}\spadcommand{Integers: INT -> ULS(FRAC INT, 'x, 0)\bound{idec }} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch31} -\begin{paste}{CycleIndicatorsXmpPageFull31}{CycleIndicatorsXmpPageEmpty31} -\pastebutton{CycleIndicatorsXmpPageFull31}{\hidepaste} -\tab{5}\spadcommand{ZeroOrOne n == 1+x**n\free{x zodec }\bound{zo }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty31} -\begin{paste}{CycleIndicatorsXmpPageEmpty31}{CycleIndicatorsXmpPagePatch31} -\pastebutton{CycleIndicatorsXmpPageEmpty31}{\showpaste} -\tab{5}\spadcommand{ZeroOrOne n == 1+x**n\free{x zodec }\bound{zo }} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch32} -\begin{paste}{CycleIndicatorsXmpPageFull32}{CycleIndicatorsXmpPageEmpty32} -\pastebutton{CycleIndicatorsXmpPageFull32}{\hidepaste} -\tab{5}\spadcommand{ZeroOrOne 5\free{zo }} -\indentrel{3}\begin{verbatim} - 5 - (31) 1 + x - Type: UnivariateLaurentSeries(Fraction Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty32} -\begin{paste}{CycleIndicatorsXmpPageEmpty32}{CycleIndicatorsXmpPagePatch32} -\pastebutton{CycleIndicatorsXmpPageEmpty32}{\showpaste} -\tab{5}\spadcommand{ZeroOrOne 5\free{zo }} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch33} -\begin{paste}{CycleIndicatorsXmpPageFull33}{CycleIndicatorsXmpPageEmpty33} -\pastebutton{CycleIndicatorsXmpPageFull33}{\hidepaste} -\tab{5}\spadcommand{Integers n == 1/(1-x**n)\free{x idec }\bound{i }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty33} -\begin{paste}{CycleIndicatorsXmpPageEmpty33}{CycleIndicatorsXmpPagePatch33} -\pastebutton{CycleIndicatorsXmpPageEmpty33}{\showpaste} -\tab{5}\spadcommand{Integers n == 1/(1-x**n)\free{x idec }\bound{i }} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch34} -\begin{paste}{CycleIndicatorsXmpPageFull34}{CycleIndicatorsXmpPageEmpty34} -\pastebutton{CycleIndicatorsXmpPageFull34}{\hidepaste} -\tab{5}\spadcommand{Integers 5\free{i }} -\indentrel{3}\begin{verbatim} - 5 10 11 - (33) 1 + x + x + O(x ) - Type: UnivariateLaurentSeries(Fraction Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty34} -\begin{paste}{CycleIndicatorsXmpPageEmpty34}{CycleIndicatorsXmpPagePatch34} -\pastebutton{CycleIndicatorsXmpPageEmpty34}{\showpaste} -\tab{5}\spadcommand{Integers 5\free{i }} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch35} -\begin{paste}{CycleIndicatorsXmpPageFull35}{CycleIndicatorsXmpPageEmpty35} -\pastebutton{CycleIndicatorsXmpPageFull35}{\hidepaste} -\tab{5}\spadcommand{eval(ZeroOrOne, graphs 5)\free{zo }} -\indentrel{3}\begin{verbatim} - (34) - 2 3 4 5 6 7 8 9 - 1 + x + 2x + 4x + 6x + 6x + 6x + 4x + 2x + x - + - 10 11 - x + O(x ) - Type: UnivariateLaurentSeries(Fraction Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty35} -\begin{paste}{CycleIndicatorsXmpPageEmpty35}{CycleIndicatorsXmpPagePatch35} -\pastebutton{CycleIndicatorsXmpPageEmpty35}{\showpaste} -\tab{5}\spadcommand{eval(ZeroOrOne, graphs 5)\free{zo }} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch36} -\begin{paste}{CycleIndicatorsXmpPageFull36}{CycleIndicatorsXmpPageEmpty36} -\pastebutton{CycleIndicatorsXmpPageFull36}{\hidepaste} -\tab{5}\spadcommand{eval(ZeroOrOne,dihedral 8)\free{zo }} -\indentrel{3}\begin{verbatim} - 2 3 4 5 6 7 8 - (35) 1 + x + 4x + 5x + 8x + 5x + 4x + x + x - Type: UnivariateLaurentSeries(Fraction Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty36} -\begin{paste}{CycleIndicatorsXmpPageEmpty36}{CycleIndicatorsXmpPagePatch36} -\pastebutton{CycleIndicatorsXmpPageEmpty36}{\showpaste} -\tab{5}\spadcommand{eval(ZeroOrOne,dihedral 8)\free{zo }} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch37} -\begin{paste}{CycleIndicatorsXmpPageFull37}{CycleIndicatorsXmpPageEmpty37} -\pastebutton{CycleIndicatorsXmpPageFull37}{\hidepaste} -\tab{5}\spadcommand{eval(Integers,complete 4)\free{i }} -\indentrel{3}\begin{verbatim} - (36) - 2 3 4 5 6 7 8 - 1 + x + 2x + 3x + 5x + 6x + 9x + 11x + 15x - + - 9 10 11 - 18x + 23x + O(x ) - Type: UnivariateLaurentSeries(Fraction Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty37} -\begin{paste}{CycleIndicatorsXmpPageEmpty37}{CycleIndicatorsXmpPagePatch37} -\pastebutton{CycleIndicatorsXmpPageEmpty37}{\showpaste} -\tab{5}\spadcommand{eval(Integers,complete 4)\free{i }} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch38} -\begin{paste}{CycleIndicatorsXmpPageFull38}{CycleIndicatorsXmpPageEmpty38} -\pastebutton{CycleIndicatorsXmpPageFull38}{\hidepaste} -\tab{5}\spadcommand{eval(Integers,elementary 4)\free{i }} -\indentrel{3}\begin{verbatim} - (37) - 6 7 8 9 10 11 12 13 - x + x + 2x + 3x + 5x + 6x + 9x + 11x - + - 14 15 16 17 - 15x + 18x + 23x + O(x ) - Type: UnivariateLaurentSeries(Fraction Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty38} -\begin{paste}{CycleIndicatorsXmpPageEmpty38}{CycleIndicatorsXmpPagePatch38} -\pastebutton{CycleIndicatorsXmpPageEmpty38}{\showpaste} -\tab{5}\spadcommand{eval(Integers,elementary 4)\free{i }} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch39} -\begin{paste}{CycleIndicatorsXmpPageFull39}{CycleIndicatorsXmpPageEmpty39} -\pastebutton{CycleIndicatorsXmpPageFull39}{\hidepaste} -\tab{5}\spadcommand{eval(ZeroOrOne,cube)\free{zo }} -\indentrel{3}\begin{verbatim} - 2 3 4 5 6 7 8 - (38) 1 + x + 3x + 3x + 7x + 3x + 3x + x + x - Type: UnivariateLaurentSeries(Fraction Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty39} -\begin{paste}{CycleIndicatorsXmpPageEmpty39}{CycleIndicatorsXmpPagePatch39} -\pastebutton{CycleIndicatorsXmpPageEmpty39}{\showpaste} -\tab{5}\spadcommand{eval(ZeroOrOne,cube)\free{zo }} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch40} -\begin{paste}{CycleIndicatorsXmpPageFull40}{CycleIndicatorsXmpPageEmpty40} -\pastebutton{CycleIndicatorsXmpPageFull40}{\hidepaste} -\tab{5}\spadcommand{eval(Integers,cube)\free{i }} -\indentrel{3}\begin{verbatim} - (39) - 2 3 4 5 6 7 - 1 + x + 4x + 7x + 21x + 37x + 85x + 151x - + - 8 9 10 11 - 292x + 490x + 848x + O(x ) - Type: UnivariateLaurentSeries(Fraction Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty40} -\begin{paste}{CycleIndicatorsXmpPageEmpty40}{CycleIndicatorsXmpPagePatch40} -\pastebutton{CycleIndicatorsXmpPageEmpty40}{\showpaste} -\tab{5}\spadcommand{eval(Integers,cube)\free{i }} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch41} -\begin{paste}{CycleIndicatorsXmpPageFull41}{CycleIndicatorsXmpPageEmpty41} -\pastebutton{CycleIndicatorsXmpPageFull41}{\hidepaste} -\tab{5}\spadcommand{eval(Integers,graphs 5)\free{i }} -\indentrel{3}\begin{verbatim} - (40) - 2 3 4 5 6 7 - 1 + x + 3x + 7x + 17x + 35x + 76x + 149x - + - 8 9 10 11 - 291x + 539x + 974x + O(x ) - Type: UnivariateLaurentSeries(Fraction Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty41} -\begin{paste}{CycleIndicatorsXmpPageEmpty41}{CycleIndicatorsXmpPagePatch41} -\pastebutton{CycleIndicatorsXmpPageEmpty41}{\showpaste} -\tab{5}\spadcommand{eval(Integers,graphs 5)\free{i }} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch42} -\begin{paste}{CycleIndicatorsXmpPageFull42}{CycleIndicatorsXmpPageEmpty42} -\pastebutton{CycleIndicatorsXmpPageFull42}{\hidepaste} -\tab{5}\spadcommand{eval(ZeroOrOne ,graphs 15)\free{zo }} -\indentrel{3}\begin{verbatim} - (41) - 2 3 4 5 6 7 - 1 + x + 2x + 5x + 11x + 26x + 68x + 177x - + - 8 9 10 11 - 496x + 1471x + 4583x + O(x ) - Type: UnivariateLaurentSeries(Fraction Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty42} -\begin{paste}{CycleIndicatorsXmpPageEmpty42}{CycleIndicatorsXmpPagePatch42} -\pastebutton{CycleIndicatorsXmpPageEmpty42}{\showpaste} -\tab{5}\spadcommand{eval(ZeroOrOne ,graphs 15)\free{zo }} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch43} -\begin{paste}{CycleIndicatorsXmpPageFull43}{CycleIndicatorsXmpPageEmpty43} -\pastebutton{CycleIndicatorsXmpPageFull43}{\hidepaste} -\tab{5}\spadcommand{cap(dihedral 30,complete 7*complete 8*complete 5*complete 10)} -\indentrel{3}\begin{verbatim} - (42) 49958972383320 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty43} -\begin{paste}{CycleIndicatorsXmpPageEmpty43}{CycleIndicatorsXmpPagePatch43} -\pastebutton{CycleIndicatorsXmpPageEmpty43}{\showpaste} -\tab{5}\spadcommand{cap(dihedral 30,complete 7*complete 8*complete 5*complete 10)} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch44} -\begin{paste}{CycleIndicatorsXmpPageFull44}{CycleIndicatorsXmpPageEmpty44} -\pastebutton{CycleIndicatorsXmpPageFull44}{\hidepaste} -\tab{5}\spadcommand{sf3221:= SFunction [3,2,2,1]\bound{sf3221 }} -\indentrel{3}\begin{verbatim} - (43) - 1 1 2 1 2 1 - ÄÄ (6 2) - ÄÄ (6 1 ) - ÄÄ (4 ) + ÄÄ (4 3 1) - 12 12 16 12 - + - 1 4 1 2 1 2 2 1 2 - ÄÄ (4 1 ) - ÄÄ (3 2) + ÄÄ (3 1 ) - ÄÄ (3 2 1) - 24 36 36 24 - + - 1 3 1 5 1 4 1 3 2 - - ÄÄ (3 2 1 ) - ÄÄ (3 1 ) - ÄÄÄ (2 ) + ÄÄ (2 1 ) - 36 72 192 48 - + - 1 2 4 1 6 1 8 - ÄÄ (2 1 ) - ÄÄÄ (2 1 ) + ÄÄÄ (1 ) - 96 144 576 - Type: SymmetricPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty44} -\begin{paste}{CycleIndicatorsXmpPageEmpty44}{CycleIndicatorsXmpPagePatch44} -\pastebutton{CycleIndicatorsXmpPageEmpty44}{\showpaste} -\tab{5}\spadcommand{sf3221:= SFunction [3,2,2,1]\bound{sf3221 }} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch45} -\begin{paste}{CycleIndicatorsXmpPageFull45}{CycleIndicatorsXmpPageEmpty45} -\pastebutton{CycleIndicatorsXmpPageFull45}{\hidepaste} -\tab{5}\spadcommand{cap(sf3221,complete 2**4)\free{sf3221 }} -\indentrel{3}\begin{verbatim} - (44) 3 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty45} -\begin{paste}{CycleIndicatorsXmpPageEmpty45}{CycleIndicatorsXmpPagePatch45} -\pastebutton{CycleIndicatorsXmpPageEmpty45}{\showpaste} -\tab{5}\spadcommand{cap(sf3221,complete 2**4)\free{sf3221 }} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch46} -\begin{paste}{CycleIndicatorsXmpPageFull46}{CycleIndicatorsXmpPageEmpty46} -\pastebutton{CycleIndicatorsXmpPageFull46}{\hidepaste} -\tab{5}\spadcommand{cap(sf3221, powerSum 1**8)\free{sf3221 }} -\indentrel{3}\begin{verbatim} - (45) 70 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty46} -\begin{paste}{CycleIndicatorsXmpPageEmpty46}{CycleIndicatorsXmpPagePatch46} -\pastebutton{CycleIndicatorsXmpPageEmpty46}{\showpaste} -\tab{5}\spadcommand{cap(sf3221, powerSum 1**8)\free{sf3221 }} -\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPagePatch47} -\begin{paste}{CycleIndicatorsXmpPageFull47}{CycleIndicatorsXmpPageEmpty47} -\pastebutton{CycleIndicatorsXmpPageFull47}{\hidepaste} -\tab{5}\spadcommand{eval(Integers, sf3221)\free{i sf3221 }} -\indentrel{3}\begin{verbatim} - (46) - 9 10 11 12 13 14 15 - x + 3x + 7x + 14x + 27x + 47x + 79x - + - 16 17 18 19 20 - 126x + 196x + 294x + 432x + O(x ) - Type: UnivariateLaurentSeries(Fraction Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{CycleIndicatorsXmpPageEmpty47} -\begin{paste}{CycleIndicatorsXmpPageEmpty47}{CycleIndicatorsXmpPagePatch47} -\pastebutton{CycleIndicatorsXmpPageEmpty47}{\showpaste} -\tab{5}\spadcommand{eval(Integers, sf3221)\free{i sf3221 }} -\end{paste}\end{patch} - diff --git a/books/pages/decimal.pht b/books/pages/decimal.pht deleted file mode 100644 index 38c32de..0000000 --- a/books/pages/decimal.pht +++ /dev/null @@ -1,136 +0,0 @@ -\begin{patch}{DecimalExpansionXmpPagePatch1} -\begin{paste}{DecimalExpansionXmpPageFull1}{DecimalExpansionXmpPageEmpty1} -\pastebutton{DecimalExpansionXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{r := decimal(22/7)\bound{r }} -\indentrel{3}\begin{verbatim} - ______ - (1) 3.142857 - Type: DecimalExpansion -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DecimalExpansionXmpPageEmpty1} -\begin{paste}{DecimalExpansionXmpPageEmpty1}{DecimalExpansionXmpPagePatch1} -\pastebutton{DecimalExpansionXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{r := decimal(22/7)\bound{r }} -\end{paste}\end{patch} - -\begin{patch}{DecimalExpansionXmpPagePatch2} -\begin{paste}{DecimalExpansionXmpPageFull2}{DecimalExpansionXmpPageEmpty2} -\pastebutton{DecimalExpansionXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{r + decimal(6/7)\free{r }} -\indentrel{3}\begin{verbatim} - (2) 4 - Type: DecimalExpansion -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DecimalExpansionXmpPageEmpty2} -\begin{paste}{DecimalExpansionXmpPageEmpty2}{DecimalExpansionXmpPagePatch2} -\pastebutton{DecimalExpansionXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{r + decimal(6/7)\free{r }} -\end{paste}\end{patch} - -\begin{patch}{DecimalExpansionXmpPagePatch3} -\begin{paste}{DecimalExpansionXmpPageFull3}{DecimalExpansionXmpPageEmpty3} -\pastebutton{DecimalExpansionXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{[decimal(1/i) for i in 350..354]} -\indentrel{3}\begin{verbatim} - (3) - ______ ______ __ - [0.00285714, 0.002849, 0.0028409, - ________________________________ - 0.00283286118980169971671388101983, - - 0.0 - OVERBAR - 02824858757062146892655367231638418079096045197 - 74011299435 - ] - Type: List DecimalExpansion -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DecimalExpansionXmpPageEmpty3} -\begin{paste}{DecimalExpansionXmpPageEmpty3}{DecimalExpansionXmpPagePatch3} -\pastebutton{DecimalExpansionXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{[decimal(1/i) for i in 350..354]} -\end{paste}\end{patch} - -\begin{patch}{DecimalExpansionXmpPagePatch4} -\begin{paste}{DecimalExpansionXmpPageFull4}{DecimalExpansionXmpPageEmpty4} -\pastebutton{DecimalExpansionXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{decimal(1/2049)} -\indentrel{3}\begin{verbatim} - (4) - 0. - OVERBAR - 0004880429477794045876037091264031234748657881893 - 60663738408979990239141044411908247925817471937 - 53050268423621278672523182040019521717911176183 - 50414836505612493899463152757442654953635919960 - 95656417764763299170326988775012201073694485114 - 69009272816007808687164470473401659346022449975 - 59785261102977061981454367984382625671059053196 - 6813079551 - Type: DecimalExpansion -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DecimalExpansionXmpPageEmpty4} -\begin{paste}{DecimalExpansionXmpPageEmpty4}{DecimalExpansionXmpPagePatch4} -\pastebutton{DecimalExpansionXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{decimal(1/2049)} -\end{paste}\end{patch} - -\begin{patch}{DecimalExpansionXmpPagePatch5} -\begin{paste}{DecimalExpansionXmpPageFull5}{DecimalExpansionXmpPageEmpty5} -\pastebutton{DecimalExpansionXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{p := decimal(1/4)*x**2 + decimal(2/3)*x + decimal(4/9)\bound{p }} -\indentrel{3}\begin{verbatim} - 2 _ _ - (5) 0.25x + 0.6x + 0.4 - Type: Polynomial DecimalExpansion -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DecimalExpansionXmpPageEmpty5} -\begin{paste}{DecimalExpansionXmpPageEmpty5}{DecimalExpansionXmpPagePatch5} -\pastebutton{DecimalExpansionXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{p := decimal(1/4)*x**2 + decimal(2/3)*x + decimal(4/9)\bound{p }} -\end{paste}\end{patch} - -\begin{patch}{DecimalExpansionXmpPagePatch6} -\begin{paste}{DecimalExpansionXmpPageFull6}{DecimalExpansionXmpPageEmpty6} -\pastebutton{DecimalExpansionXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{q := differentiate(p, x)\free{p }\bound{q }} -\indentrel{3}\begin{verbatim} - _ - (6) 0.5x + 0.6 - Type: Polynomial DecimalExpansion -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DecimalExpansionXmpPageEmpty6} -\begin{paste}{DecimalExpansionXmpPageEmpty6}{DecimalExpansionXmpPagePatch6} -\pastebutton{DecimalExpansionXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{q := differentiate(p, x)\free{p }\bound{q }} -\end{paste}\end{patch} - -\begin{patch}{DecimalExpansionXmpPagePatch7} -\begin{paste}{DecimalExpansionXmpPageFull7}{DecimalExpansionXmpPageEmpty7} -\pastebutton{DecimalExpansionXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{g := gcd(p, q)\free{p q }\bound{g }} -\indentrel{3}\begin{verbatim} - _ - (7) x + 1.3 - Type: Polynomial DecimalExpansion -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DecimalExpansionXmpPageEmpty7} -\begin{paste}{DecimalExpansionXmpPageEmpty7}{DecimalExpansionXmpPagePatch7} -\pastebutton{DecimalExpansionXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{g := gcd(p, q)\free{p q }\bound{g }} -\end{paste}\end{patch} - diff --git a/books/pages/derham.pht b/books/pages/derham.pht deleted file mode 100644 index 8342214..0000000 --- a/books/pages/derham.pht +++ /dev/null @@ -1,591 +0,0 @@ -\begin{patch}{DeRhamComplexXmpPagePatch1} -\begin{paste}{DeRhamComplexXmpPageFull1}{DeRhamComplexXmpPageEmpty1} -\pastebutton{DeRhamComplexXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{coefRing := Integer\bound{coefRing }} -\indentrel{3}\begin{verbatim} - (1) Integer - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty1} -\begin{paste}{DeRhamComplexXmpPageEmpty1}{DeRhamComplexXmpPagePatch1} -\pastebutton{DeRhamComplexXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{coefRing := Integer\bound{coefRing }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch2} -\begin{paste}{DeRhamComplexXmpPageFull2}{DeRhamComplexXmpPageEmpty2} -\pastebutton{DeRhamComplexXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{lv : List Symbol := [x,y,z]\bound{lv }} -\indentrel{3}\begin{verbatim} - (2) [x,y,z] - Type: List Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty2} -\begin{paste}{DeRhamComplexXmpPageEmpty2}{DeRhamComplexXmpPagePatch2} -\pastebutton{DeRhamComplexXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{lv : List Symbol := [x,y,z]\bound{lv }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch3} -\begin{paste}{DeRhamComplexXmpPageFull3}{DeRhamComplexXmpPageEmpty3} -\pastebutton{DeRhamComplexXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{der := DERHAM(coefRing,lv)\free{coefRing }\free{lv }\bound{der }} -\indentrel{3}\begin{verbatim} - (3) DeRhamComplex(Integer,[x,y,z]) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty3} -\begin{paste}{DeRhamComplexXmpPageEmpty3}{DeRhamComplexXmpPagePatch3} -\pastebutton{DeRhamComplexXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{der := DERHAM(coefRing,lv)\free{coefRing }\free{lv }\bound{der }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch4} -\begin{paste}{DeRhamComplexXmpPageFull4}{DeRhamComplexXmpPageEmpty4} -\pastebutton{DeRhamComplexXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{R := Expression coefRing\free{coefRing }\bound{R }} -\indentrel{3}\begin{verbatim} - (4) Expression Integer - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty4} -\begin{paste}{DeRhamComplexXmpPageEmpty4}{DeRhamComplexXmpPagePatch4} -\pastebutton{DeRhamComplexXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{R := Expression coefRing\free{coefRing }\bound{R }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch5} -\begin{paste}{DeRhamComplexXmpPageFull5}{DeRhamComplexXmpPageEmpty5} -\pastebutton{DeRhamComplexXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{f : R := x**2*y*z-5*x**3*y**2*z**5\free{R }\bound{f }} -\indentrel{3}\begin{verbatim} - 3 2 5 2 - (5) - 5x y z + x y z - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty5} -\begin{paste}{DeRhamComplexXmpPageEmpty5}{DeRhamComplexXmpPagePatch5} -\pastebutton{DeRhamComplexXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{f : R := x**2*y*z-5*x**3*y**2*z**5\free{R }\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch6} -\begin{paste}{DeRhamComplexXmpPageFull6}{DeRhamComplexXmpPageEmpty6} -\pastebutton{DeRhamComplexXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{g : R := z**2*y*cos(z)-7*sin(x**3*y**2)*z**2\free{R }\bound{g }} -\indentrel{3}\begin{verbatim} - 2 3 2 2 - (6) - 7z sin(x y ) + y z cos(z) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty6} -\begin{paste}{DeRhamComplexXmpPageEmpty6}{DeRhamComplexXmpPagePatch6} -\pastebutton{DeRhamComplexXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{g : R := z**2*y*cos(z)-7*sin(x**3*y**2)*z**2\free{R }\bound{g }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch7} -\begin{paste}{DeRhamComplexXmpPageFull7}{DeRhamComplexXmpPageEmpty7} -\pastebutton{DeRhamComplexXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{h : R :=x*y*z-2*x**3*y*z**2\free{R }\bound{h }} -\indentrel{3}\begin{verbatim} - 3 2 - (7) - 2x y z + x y z - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty7} -\begin{paste}{DeRhamComplexXmpPageEmpty7}{DeRhamComplexXmpPagePatch7} -\pastebutton{DeRhamComplexXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{h : R :=x*y*z-2*x**3*y*z**2\free{R }\bound{h }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch8} -\begin{paste}{DeRhamComplexXmpPageFull8}{DeRhamComplexXmpPageEmpty8} -\pastebutton{DeRhamComplexXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{dx : der := generator(1)\free{der }\bound{dx }} -\indentrel{3}\begin{verbatim} - (8) dx - Type: DeRhamComplex(Integer,[x,y,z]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty8} -\begin{paste}{DeRhamComplexXmpPageEmpty8}{DeRhamComplexXmpPagePatch8} -\pastebutton{DeRhamComplexXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{dx : der := generator(1)\free{der }\bound{dx }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch9} -\begin{paste}{DeRhamComplexXmpPageFull9}{DeRhamComplexXmpPageEmpty9} -\pastebutton{DeRhamComplexXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{dy : der := generator(2)\free{der }\bound{dy }} -\indentrel{3}\begin{verbatim} - (9) dy - Type: DeRhamComplex(Integer,[x,y,z]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty9} -\begin{paste}{DeRhamComplexXmpPageEmpty9}{DeRhamComplexXmpPagePatch9} -\pastebutton{DeRhamComplexXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{dy : der := generator(2)\free{der }\bound{dy }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch10} -\begin{paste}{DeRhamComplexXmpPageFull10}{DeRhamComplexXmpPageEmpty10} -\pastebutton{DeRhamComplexXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{dz : der := generator(3)\free{der }\bound{dz }} -\indentrel{3}\begin{verbatim} - (10) dz - Type: DeRhamComplex(Integer,[x,y,z]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty10} -\begin{paste}{DeRhamComplexXmpPageEmpty10}{DeRhamComplexXmpPagePatch10} -\pastebutton{DeRhamComplexXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{dz : der := generator(3)\free{der }\bound{dz }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch11} -\begin{paste}{DeRhamComplexXmpPageFull11}{DeRhamComplexXmpPageEmpty11} -\pastebutton{DeRhamComplexXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{[dx,dy,dz] := [generator(i)$der for i in 1..3]\free{der }\bound{dxyz }} -\indentrel{3}\begin{verbatim} - (11) [dx,dy,dz] - Type: List DeRhamComplex(Integer,[x,y,z]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty11} -\begin{paste}{DeRhamComplexXmpPageEmpty11}{DeRhamComplexXmpPagePatch11} -\pastebutton{DeRhamComplexXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{[dx,dy,dz] := [generator(i)$der for i in 1..3]\free{der }\bound{dxyz }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch12} -\begin{paste}{DeRhamComplexXmpPageFull12}{DeRhamComplexXmpPageEmpty12} -\pastebutton{DeRhamComplexXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{alpha : der := f*dx + g*dy + h*dz\bound{alpha }\free{der f g h dxyz }} -\indentrel{3}\begin{verbatim} - (12) - 3 2 - (- 2x y z + x y z)dz - + - 2 3 2 2 3 2 5 2 - (- 7z sin(x y ) + y z cos(z))dy + (- 5x y z + x y z)dx - Type: DeRhamComplex(Integer,[x,y,z]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty12} -\begin{paste}{DeRhamComplexXmpPageEmpty12}{DeRhamComplexXmpPagePatch12} -\pastebutton{DeRhamComplexXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{alpha : der := f*dx + g*dy + h*dz\bound{alpha }\free{der f g h dxyz }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch13} -\begin{paste}{DeRhamComplexXmpPageFull13}{DeRhamComplexXmpPageEmpty13} -\pastebutton{DeRhamComplexXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{beta : der := cos(tan(x*y*z)+x*y*z)*dx + x*dy\bound{beta }\free{der f g h dxyz }} -\indentrel{3}\begin{verbatim} - (13) x dy + cos(tan(x y z) + x y z)dx - Type: DeRhamComplex(Integer,[x,y,z]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty13} -\begin{paste}{DeRhamComplexXmpPageEmpty13}{DeRhamComplexXmpPagePatch13} -\pastebutton{DeRhamComplexXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{beta : der := cos(tan(x*y*z)+x*y*z)*dx + x*dy\bound{beta }\free{der f g h dxyz }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch14} -\begin{paste}{DeRhamComplexXmpPageFull14}{DeRhamComplexXmpPageEmpty14} -\pastebutton{DeRhamComplexXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{exteriorDifferential alpha;\free{alpha }\bound{ed }} -\indentrel{3}\begin{verbatim} - Type: DeRhamComplex(Integer,[x,y,z]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty14} -\begin{paste}{DeRhamComplexXmpPageEmpty14}{DeRhamComplexXmpPagePatch14} -\pastebutton{DeRhamComplexXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{exteriorDifferential alpha;\free{alpha }\bound{ed }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch15} -\begin{paste}{DeRhamComplexXmpPageFull15}{DeRhamComplexXmpPageEmpty15} -\pastebutton{DeRhamComplexXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{exteriorDifferential \%\free{ed }} -\indentrel{3}\begin{verbatim} - (15) 0 - Type: DeRhamComplex(Integer,[x,y,z]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty15} -\begin{paste}{DeRhamComplexXmpPageEmpty15}{DeRhamComplexXmpPagePatch15} -\pastebutton{DeRhamComplexXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{exteriorDifferential \%\free{ed }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch16} -\begin{paste}{DeRhamComplexXmpPageFull16}{DeRhamComplexXmpPageEmpty16} -\pastebutton{DeRhamComplexXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{gamma := alpha * beta\bound{gamma }\free{alpha }\free{beta }} -\indentrel{3}\begin{verbatim} - (16) - 4 2 2 - (2x y z - x y z)dy dz - + - 3 2 - (2x y z - x y z)cos(tan(x y z) + x y z)dx dz - + - 2 3 2 2 - (7z sin(x y ) - y z cos(z)) - * - cos(tan(x y z) + x y z) - + - 4 2 5 3 - - 5x y z + x y z - * - dx dy - Type: DeRhamComplex(Integer,[x,y,z]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty16} -\begin{paste}{DeRhamComplexXmpPageEmpty16}{DeRhamComplexXmpPagePatch16} -\pastebutton{DeRhamComplexXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{gamma := alpha * beta\bound{gamma }\free{alpha }\free{beta }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch17} -\begin{paste}{DeRhamComplexXmpPageFull17}{DeRhamComplexXmpPageEmpty17} -\pastebutton{DeRhamComplexXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{exteriorDifferential(gamma) - (exteriorDifferential(alpha)*beta - alpha * exteriorDifferential(beta))\free{alpha beta gamma }} -\indentrel{3}\begin{verbatim} - (17) 0 - Type: DeRhamComplex(Integer,[x,y,z]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty17} -\begin{paste}{DeRhamComplexXmpPageEmpty17}{DeRhamComplexXmpPagePatch17} -\pastebutton{DeRhamComplexXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{exteriorDifferential(gamma) - (exteriorDifferential(alpha)*beta - alpha * exteriorDifferential(beta))\free{alpha beta gamma }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch18} -\begin{paste}{DeRhamComplexXmpPageFull18}{DeRhamComplexXmpPageEmpty18} -\pastebutton{DeRhamComplexXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{a : BOP := operator('a)\bound{ao }} -\indentrel{3}\begin{verbatim} - (18) a - Type: BasicOperator -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty18} -\begin{paste}{DeRhamComplexXmpPageEmpty18}{DeRhamComplexXmpPagePatch18} -\pastebutton{DeRhamComplexXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{a : BOP := operator('a)\bound{ao }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch19} -\begin{paste}{DeRhamComplexXmpPageFull19}{DeRhamComplexXmpPageEmpty19} -\pastebutton{DeRhamComplexXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{b : BOP := operator('b)\bound{bo }} -\indentrel{3}\begin{verbatim} - (19) b - Type: BasicOperator -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty19} -\begin{paste}{DeRhamComplexXmpPageEmpty19}{DeRhamComplexXmpPagePatch19} -\pastebutton{DeRhamComplexXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{b : BOP := operator('b)\bound{bo }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch20} -\begin{paste}{DeRhamComplexXmpPageFull20}{DeRhamComplexXmpPageEmpty20} -\pastebutton{DeRhamComplexXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{c : BOP := operator('c)\bound{co }} -\indentrel{3}\begin{verbatim} - (20) c - Type: BasicOperator -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty20} -\begin{paste}{DeRhamComplexXmpPageEmpty20}{DeRhamComplexXmpPagePatch20} -\pastebutton{DeRhamComplexXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{c : BOP := operator('c)\bound{co }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch21} -\begin{paste}{DeRhamComplexXmpPageFull21}{DeRhamComplexXmpPageEmpty21} -\pastebutton{DeRhamComplexXmpPageFull21}{\hidepaste} -\tab{5}\spadcommand{sigma := a(x,y,z) * dx + b(x,y,z) * dy + c(x,y,z) * dz\bound{sigma }\free{ao bo co dxyz }} -\indentrel{3}\begin{verbatim} - (21) c(x,y,z)dz + b(x,y,z)dy + a(x,y,z)dx - Type: DeRhamComplex(Integer,[x,y,z]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty21} -\begin{paste}{DeRhamComplexXmpPageEmpty21}{DeRhamComplexXmpPagePatch21} -\pastebutton{DeRhamComplexXmpPageEmpty21}{\showpaste} -\tab{5}\spadcommand{sigma := a(x,y,z) * dx + b(x,y,z) * dy + c(x,y,z) * dz\bound{sigma }\free{ao bo co dxyz }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch22} -\begin{paste}{DeRhamComplexXmpPageFull22}{DeRhamComplexXmpPageEmpty22} -\pastebutton{DeRhamComplexXmpPageFull22}{\hidepaste} -\tab{5}\spadcommand{theta := a(x,y,z) * dx * dy + b(x,y,z) * dx * dz + c(x,y,z) * dy * dz\bound{theta }\free{ao bo co dxyz }} -\indentrel{3}\begin{verbatim} - (22) c(x,y,z)dy dz + b(x,y,z)dx dz + a(x,y,z)dx dy - Type: DeRhamComplex(Integer,[x,y,z]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty22} -\begin{paste}{DeRhamComplexXmpPageEmpty22}{DeRhamComplexXmpPagePatch22} -\pastebutton{DeRhamComplexXmpPageEmpty22}{\showpaste} -\tab{5}\spadcommand{theta := a(x,y,z) * dx * dy + b(x,y,z) * dx * dz + c(x,y,z) * dy * dz\bound{theta }\free{ao bo co dxyz }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch23} -\begin{paste}{DeRhamComplexXmpPageFull23}{DeRhamComplexXmpPageEmpty23} -\pastebutton{DeRhamComplexXmpPageFull23}{\hidepaste} -\tab{5}\spadcommand{totalDifferential(a(x,y,z))$der\free{ao der }} -\indentrel{3}\begin{verbatim} - (23) a (x,y,z)dz + a (x,y,z)dy + a (x,y,z)dx - ,3 ,2 ,1 - Type: DeRhamComplex(Integer,[x,y,z]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty23} -\begin{paste}{DeRhamComplexXmpPageEmpty23}{DeRhamComplexXmpPagePatch23} -\pastebutton{DeRhamComplexXmpPageEmpty23}{\showpaste} -\tab{5}\spadcommand{totalDifferential(a(x,y,z))$der\free{ao der }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch24} -\begin{paste}{DeRhamComplexXmpPageFull24}{DeRhamComplexXmpPageEmpty24} -\pastebutton{DeRhamComplexXmpPageFull24}{\hidepaste} -\tab{5}\spadcommand{exteriorDifferential sigma\free{sigma }} -\indentrel{3}\begin{verbatim} - (24) - (c (x,y,z) - b (x,y,z))dy dz - ,2 ,3 - + - (c (x,y,z) - a (x,y,z))dx dz - ,1 ,3 - + - (b (x,y,z) - a (x,y,z))dx dy - ,1 ,2 - Type: DeRhamComplex(Integer,[x,y,z]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty24} -\begin{paste}{DeRhamComplexXmpPageEmpty24}{DeRhamComplexXmpPagePatch24} -\pastebutton{DeRhamComplexXmpPageEmpty24}{\showpaste} -\tab{5}\spadcommand{exteriorDifferential sigma\free{sigma }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch25} -\begin{paste}{DeRhamComplexXmpPageFull25}{DeRhamComplexXmpPageEmpty25} -\pastebutton{DeRhamComplexXmpPageFull25}{\hidepaste} -\tab{5}\spadcommand{exteriorDifferential theta\free{theta }} -\indentrel{3}\begin{verbatim} - (25) (c (x,y,z) - b (x,y,z) + a (x,y,z))dx dy dz - ,1 ,2 ,3 - Type: DeRhamComplex(Integer,[x,y,z]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty25} -\begin{paste}{DeRhamComplexXmpPageEmpty25}{DeRhamComplexXmpPagePatch25} -\pastebutton{DeRhamComplexXmpPageEmpty25}{\showpaste} -\tab{5}\spadcommand{exteriorDifferential theta\free{theta }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch26} -\begin{paste}{DeRhamComplexXmpPageFull26}{DeRhamComplexXmpPageEmpty26} -\pastebutton{DeRhamComplexXmpPageFull26}{\hidepaste} -\tab{5}\spadcommand{one : der := 1\bound{one }\free{der }} -\indentrel{3}\begin{verbatim} - (26) 1 - Type: DeRhamComplex(Integer,[x,y,z]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty26} -\begin{paste}{DeRhamComplexXmpPageEmpty26}{DeRhamComplexXmpPagePatch26} -\pastebutton{DeRhamComplexXmpPageEmpty26}{\showpaste} -\tab{5}\spadcommand{one : der := 1\bound{one }\free{der }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch27} -\begin{paste}{DeRhamComplexXmpPageFull27}{DeRhamComplexXmpPageEmpty27} -\pastebutton{DeRhamComplexXmpPageFull27}{\hidepaste} -\tab{5}\spadcommand{g1 : der := a([x,t,y,u,v,z,e]) * one\free{der one ao }\bound{g1 }} -\indentrel{3}\begin{verbatim} - (27) a(x,t,y,u,v,z,e) - Type: DeRhamComplex(Integer,[x,y,z]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty27} -\begin{paste}{DeRhamComplexXmpPageEmpty27}{DeRhamComplexXmpPagePatch27} -\pastebutton{DeRhamComplexXmpPageEmpty27}{\showpaste} -\tab{5}\spadcommand{g1 : der := a([x,t,y,u,v,z,e]) * one\free{der one ao }\bound{g1 }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch28} -\begin{paste}{DeRhamComplexXmpPageFull28}{DeRhamComplexXmpPageEmpty28} -\pastebutton{DeRhamComplexXmpPageFull28}{\hidepaste} -\tab{5}\spadcommand{h1 : der := a([x,y,x,t,x,z,y,r,u,x]) * one\free{der one ao }\bound{h1 }} -\indentrel{3}\begin{verbatim} - (28) a(x,y,x,t,x,z,y,r,u,x) - Type: DeRhamComplex(Integer,[x,y,z]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty28} -\begin{paste}{DeRhamComplexXmpPageEmpty28}{DeRhamComplexXmpPagePatch28} -\pastebutton{DeRhamComplexXmpPageEmpty28}{\showpaste} -\tab{5}\spadcommand{h1 : der := a([x,y,x,t,x,z,y,r,u,x]) * one\free{der one ao }\bound{h1 }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch29} -\begin{paste}{DeRhamComplexXmpPageFull29}{DeRhamComplexXmpPageEmpty29} -\pastebutton{DeRhamComplexXmpPageFull29}{\hidepaste} -\tab{5}\spadcommand{exteriorDifferential g1\free{g1 }} -\indentrel{3}\begin{verbatim} - (29) - a (x,t,y,u,v,z,e)dz + a (x,t,y,u,v,z,e)dy - ,6 ,3 - + - a (x,t,y,u,v,z,e)dx - ,1 - Type: DeRhamComplex(Integer,[x,y,z]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty29} -\begin{paste}{DeRhamComplexXmpPageEmpty29}{DeRhamComplexXmpPagePatch29} -\pastebutton{DeRhamComplexXmpPageEmpty29}{\showpaste} -\tab{5}\spadcommand{exteriorDifferential g1\free{g1 }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch30} -\begin{paste}{DeRhamComplexXmpPageFull30}{DeRhamComplexXmpPageEmpty30} -\pastebutton{DeRhamComplexXmpPageFull30}{\hidepaste} -\tab{5}\spadcommand{exteriorDifferential h1\free{h1 }} -\indentrel{3}\begin{verbatim} - (30) - a (x,y,x,t,x,z,y,r,u,x)dz - ,6 - + - a (x,y,x,t,x,z,y,r,u,x) - ,7 - + - a (x,y,x,t,x,z,y,r,u,x) - ,2 - * - dy - + - a (x,y,x,t,x,z,y,r,u,x) - ,10 - + - a (x,y,x,t,x,z,y,r,u,x) - ,5 - + - a (x,y,x,t,x,z,y,r,u,x) + a (x,y,x,t,x,z,y,r,u,x) - ,3 ,1 - * - dx - Type: DeRhamComplex(Integer,[x,y,z]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty30} -\begin{paste}{DeRhamComplexXmpPageEmpty30}{DeRhamComplexXmpPagePatch30} -\pastebutton{DeRhamComplexXmpPageEmpty30}{\showpaste} -\tab{5}\spadcommand{exteriorDifferential h1\free{h1 }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch31} -\begin{paste}{DeRhamComplexXmpPageFull31}{DeRhamComplexXmpPageEmpty31} -\pastebutton{DeRhamComplexXmpPageFull31}{\hidepaste} -\tab{5}\spadcommand{coefficient(gamma, dx*dy)\free{gamma dxyz }} -\indentrel{3}\begin{verbatim} - (31) - 2 3 2 2 - (7z sin(x y ) - y z cos(z))cos(tan(x y z) + x y z) - + - 4 2 5 3 - - 5x y z + x y z - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty31} -\begin{paste}{DeRhamComplexXmpPageEmpty31}{DeRhamComplexXmpPagePatch31} -\pastebutton{DeRhamComplexXmpPageEmpty31}{\showpaste} -\tab{5}\spadcommand{coefficient(gamma, dx*dy)\free{gamma dxyz }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch32} -\begin{paste}{DeRhamComplexXmpPageFull32}{DeRhamComplexXmpPageEmpty32} -\pastebutton{DeRhamComplexXmpPageFull32}{\hidepaste} -\tab{5}\spadcommand{coefficient(gamma, one)\free{gamma one }} -\indentrel{3}\begin{verbatim} - (32) 0 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty32} -\begin{paste}{DeRhamComplexXmpPageEmpty32}{DeRhamComplexXmpPagePatch32} -\pastebutton{DeRhamComplexXmpPageEmpty32}{\showpaste} -\tab{5}\spadcommand{coefficient(gamma, one)\free{gamma one }} -\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPagePatch33} -\begin{paste}{DeRhamComplexXmpPageFull33}{DeRhamComplexXmpPageEmpty33} -\pastebutton{DeRhamComplexXmpPageFull33}{\hidepaste} -\tab{5}\spadcommand{coefficient(g1,one)\free{g1 one }} -\indentrel{3}\begin{verbatim} - (33) a(x,t,y,u,v,z,e) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DeRhamComplexXmpPageEmpty33} -\begin{paste}{DeRhamComplexXmpPageEmpty33}{DeRhamComplexXmpPagePatch33} -\pastebutton{DeRhamComplexXmpPageEmpty33}{\showpaste} -\tab{5}\spadcommand{coefficient(g1,one)\free{g1 one }} -\end{paste}\end{patch} - diff --git a/books/pages/dfloat.pht b/books/pages/dfloat.pht deleted file mode 100644 index 5dbc76b..0000000 --- a/books/pages/dfloat.pht +++ /dev/null @@ -1,164 +0,0 @@ -\begin{patch}{DoubleFloatXmpPagePatch1} -\begin{paste}{DoubleFloatXmpPageFull1}{DoubleFloatXmpPageEmpty1} -\pastebutton{DoubleFloatXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{2.71828} -\indentrel{3}\begin{verbatim} - (1) 2.71828 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DoubleFloatXmpPageEmpty1} -\begin{paste}{DoubleFloatXmpPageEmpty1}{DoubleFloatXmpPagePatch1} -\pastebutton{DoubleFloatXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{2.71828} -\end{paste}\end{patch} - -\begin{patch}{DoubleFloatXmpPagePatch2} -\begin{paste}{DoubleFloatXmpPageFull2}{DoubleFloatXmpPageEmpty2} -\pastebutton{DoubleFloatXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{2.71828@DoubleFloat} -\indentrel{3}\begin{verbatim} - (2) 2.71828 - Type: DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DoubleFloatXmpPageEmpty2} -\begin{paste}{DoubleFloatXmpPageEmpty2}{DoubleFloatXmpPagePatch2} -\pastebutton{DoubleFloatXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{2.71828@DoubleFloat} -\end{paste}\end{patch} - -\begin{patch}{DoubleFloatXmpPagePatch3} -\begin{paste}{DoubleFloatXmpPageFull3}{DoubleFloatXmpPageEmpty3} -\pastebutton{DoubleFloatXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{2.71828 :: DoubleFloat} -\indentrel{3}\begin{verbatim} - (3) 2.71828 - Type: DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DoubleFloatXmpPageEmpty3} -\begin{paste}{DoubleFloatXmpPageEmpty3}{DoubleFloatXmpPagePatch3} -\pastebutton{DoubleFloatXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{2.71828 :: DoubleFloat} -\end{paste}\end{patch} - -\begin{patch}{DoubleFloatXmpPagePatch4} -\begin{paste}{DoubleFloatXmpPageFull4}{DoubleFloatXmpPageEmpty4} -\pastebutton{DoubleFloatXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{eApprox : DoubleFloat := 2.71828\bound{eApprox }} -\indentrel{3}\begin{verbatim} - (4) 2.71828 - Type: DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DoubleFloatXmpPageEmpty4} -\begin{paste}{DoubleFloatXmpPageEmpty4}{DoubleFloatXmpPagePatch4} -\pastebutton{DoubleFloatXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{eApprox : DoubleFloat := 2.71828\bound{eApprox }} -\end{paste}\end{patch} - -\begin{patch}{DoubleFloatXmpPagePatch5} -\begin{paste}{DoubleFloatXmpPageFull5}{DoubleFloatXmpPageEmpty5} -\pastebutton{DoubleFloatXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{avg : List DoubleFloat -> DoubleFloat\bound{avgDec }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DoubleFloatXmpPageEmpty5} -\begin{paste}{DoubleFloatXmpPageEmpty5}{DoubleFloatXmpPagePatch5} -\pastebutton{DoubleFloatXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{avg : List DoubleFloat -> DoubleFloat\bound{avgDec }} -\end{paste}\end{patch} - -\begin{patch}{DoubleFloatXmpPagePatch6} -\begin{paste}{DoubleFloatXmpPageFull6}{DoubleFloatXmpPageEmpty6} -\pastebutton{DoubleFloatXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{avg l == - empty? l => 0 :: DoubleFloat - reduce(_+,l) / \#l -\bound{avg }\free{avgDec }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DoubleFloatXmpPageEmpty6} -\begin{paste}{DoubleFloatXmpPageEmpty6}{DoubleFloatXmpPagePatch6} -\pastebutton{DoubleFloatXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{avg l == - empty? l => 0 :: DoubleFloat - reduce(_+,l) / \#l -\bound{avg }\free{avgDec }} -\end{paste}\end{patch} - -\begin{patch}{DoubleFloatXmpPagePatch7} -\begin{paste}{DoubleFloatXmpPageFull7}{DoubleFloatXmpPageEmpty7} -\pastebutton{DoubleFloatXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{avg []\free{avg }} -\indentrel{3}\begin{verbatim} - (7) 0.0 - Type: DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DoubleFloatXmpPageEmpty7} -\begin{paste}{DoubleFloatXmpPageEmpty7}{DoubleFloatXmpPagePatch7} -\pastebutton{DoubleFloatXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{avg []\free{avg }} -\end{paste}\end{patch} - -\begin{patch}{DoubleFloatXmpPagePatch8} -\begin{paste}{DoubleFloatXmpPageFull8}{DoubleFloatXmpPageEmpty8} -\pastebutton{DoubleFloatXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{avg [3.4,9.7,-6.8]\free{avg }} -\indentrel{3}\begin{verbatim} - (8) 2.1 - Type: DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DoubleFloatXmpPageEmpty8} -\begin{paste}{DoubleFloatXmpPageEmpty8}{DoubleFloatXmpPagePatch8} -\pastebutton{DoubleFloatXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{avg [3.4,9.7,-6.8]\free{avg }} -\end{paste}\end{patch} - -\begin{patch}{DoubleFloatXmpPagePatch9} -\begin{paste}{DoubleFloatXmpPageFull9}{DoubleFloatXmpPageEmpty9} -\pastebutton{DoubleFloatXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{cos(3.1415926)$DoubleFloat} -\indentrel{3}\begin{verbatim} - (9) - 0.999999999999999 - Type: DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DoubleFloatXmpPageEmpty9} -\begin{paste}{DoubleFloatXmpPageEmpty9}{DoubleFloatXmpPagePatch9} -\pastebutton{DoubleFloatXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{cos(3.1415926)$DoubleFloat} -\end{paste}\end{patch} - -\begin{patch}{DoubleFloatXmpPagePatch10} -\begin{paste}{DoubleFloatXmpPageFull10}{DoubleFloatXmpPageEmpty10} -\pastebutton{DoubleFloatXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{cos(3.1415926 :: DoubleFloat)} -\indentrel{3}\begin{verbatim} - (10) - 0.999999999999999 - Type: DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DoubleFloatXmpPageEmpty10} -\begin{paste}{DoubleFloatXmpPageEmpty10}{DoubleFloatXmpPagePatch10} -\pastebutton{DoubleFloatXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{cos(3.1415926 :: DoubleFloat)} -\end{paste}\end{patch} - diff --git a/books/pages/dmp.pht b/books/pages/dmp.pht deleted file mode 100644 index 75cf5a4..0000000 --- a/books/pages/dmp.pht +++ /dev/null @@ -1,163 +0,0 @@ -\begin{patch}{DistributedMultivariatePolynomialXmpPagePatch1} -\begin{paste}{DistributedMultivariatePolynomialXmpPageFull1}{DistributedMultivariatePolynomialXmpPageEmpty1} -\pastebutton{DistributedMultivariatePolynomialXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{(d1,d2,d3) : DMP([z,y,x],FRAC INT)\bound{d1dec d2dec d3dec }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DistributedMultivariatePolynomialXmpPageEmpty1} -\begin{paste}{DistributedMultivariatePolynomialXmpPageEmpty1}{DistributedMultivariatePolynomialXmpPagePatch1} -\pastebutton{DistributedMultivariatePolynomialXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{(d1,d2,d3) : DMP([z,y,x],FRAC INT)\bound{d1dec d2dec d3dec }} -\end{paste}\end{patch} - -\begin{patch}{DistributedMultivariatePolynomialXmpPagePatch2} -\begin{paste}{DistributedMultivariatePolynomialXmpPageFull2}{DistributedMultivariatePolynomialXmpPageEmpty2} -\pastebutton{DistributedMultivariatePolynomialXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{d1 := -4*z + 4*y**2*x + 16*x**2 + 1\bound{d1 }\free{d1dec }} -\indentrel{3}\begin{verbatim} - 2 2 - (2) - 4z + 4y x + 16x + 1 -Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DistributedMultivariatePolynomialXmpPageEmpty2} -\begin{paste}{DistributedMultivariatePolynomialXmpPageEmpty2}{DistributedMultivariatePolynomialXmpPagePatch2} -\pastebutton{DistributedMultivariatePolynomialXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{d1 := -4*z + 4*y**2*x + 16*x**2 + 1\bound{d1 }\free{d1dec }} -\end{paste}\end{patch} - -\begin{patch}{DistributedMultivariatePolynomialXmpPagePatch3} -\begin{paste}{DistributedMultivariatePolynomialXmpPageFull3}{DistributedMultivariatePolynomialXmpPageEmpty3} -\pastebutton{DistributedMultivariatePolynomialXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{d2 := 2*z*y**2 + 4*x + 1\bound{d2 }\free{d2dec }} -\indentrel{3}\begin{verbatim} - 2 - (3) 2z y + 4x + 1 -Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DistributedMultivariatePolynomialXmpPageEmpty3} -\begin{paste}{DistributedMultivariatePolynomialXmpPageEmpty3}{DistributedMultivariatePolynomialXmpPagePatch3} -\pastebutton{DistributedMultivariatePolynomialXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{d2 := 2*z*y**2 + 4*x + 1\bound{d2 }\free{d2dec }} -\end{paste}\end{patch} - -\begin{patch}{DistributedMultivariatePolynomialXmpPagePatch4} -\begin{paste}{DistributedMultivariatePolynomialXmpPageFull4}{DistributedMultivariatePolynomialXmpPageEmpty4} -\pastebutton{DistributedMultivariatePolynomialXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{d3 := 2*z*x**2 - 2*y**2 - x\bound{d3 }\free{d3dec }} -\indentrel{3}\begin{verbatim} - 2 2 - (4) 2z x - 2y - x -Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DistributedMultivariatePolynomialXmpPageEmpty4} -\begin{paste}{DistributedMultivariatePolynomialXmpPageEmpty4}{DistributedMultivariatePolynomialXmpPagePatch4} -\pastebutton{DistributedMultivariatePolynomialXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{d3 := 2*z*x**2 - 2*y**2 - x\bound{d3 }\free{d3dec }} -\end{paste}\end{patch} - -\begin{patch}{DistributedMultivariatePolynomialXmpPagePatch5} -\begin{paste}{DistributedMultivariatePolynomialXmpPageFull5}{DistributedMultivariatePolynomialXmpPageEmpty5} -\pastebutton{DistributedMultivariatePolynomialXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{groebner [d1,d2,d3]\free{d1 d2 d3 }} -\indentrel{3}\begin{verbatim} - (5) - [ - 1568 6 1264 5 6 4 182 3 2047 2 - z - ÄÄÄÄ x - ÄÄÄÄ x + ÄÄÄ x + ÄÄÄ x - ÄÄÄÄ x - 2745 305 305 549 610 - + - 103 2857 - - ÄÄÄÄ x - ÄÄÄÄÄ - 2745 10980 - , - - 2 112 6 84 5 1264 4 13 3 84 2 - y + ÄÄÄÄ x - ÄÄÄ x - ÄÄÄÄ x - ÄÄÄ x + ÄÄÄ x - 2745 305 305 549 305 - + - 1772 2 - ÄÄÄÄ x + ÄÄÄÄ - 2745 2745 - , - 7 29 6 17 4 11 3 1 2 15 1 - x + ÄÄ x - ÄÄ x - ÄÄ x + ÄÄ x + ÄÄ x + Ä] - 4 16 8 32 16 4 -Type: List DistributedMultivariatePolynomial([z,y,x],Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DistributedMultivariatePolynomialXmpPageEmpty5} -\begin{paste}{DistributedMultivariatePolynomialXmpPageEmpty5}{DistributedMultivariatePolynomialXmpPagePatch5} -\pastebutton{DistributedMultivariatePolynomialXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{groebner [d1,d2,d3]\free{d1 d2 d3 }} -\end{paste}\end{patch} - -\begin{patch}{DistributedMultivariatePolynomialXmpPagePatch6} -\begin{paste}{DistributedMultivariatePolynomialXmpPageFull6}{DistributedMultivariatePolynomialXmpPageEmpty6} -\pastebutton{DistributedMultivariatePolynomialXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{(n1,n2,n3) : HDMP([z,y,x],FRAC INT)\bound{ndec }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DistributedMultivariatePolynomialXmpPageEmpty6} -\begin{paste}{DistributedMultivariatePolynomialXmpPageEmpty6}{DistributedMultivariatePolynomialXmpPagePatch6} -\pastebutton{DistributedMultivariatePolynomialXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{(n1,n2,n3) : HDMP([z,y,x],FRAC INT)\bound{ndec }} -\end{paste}\end{patch} - -\begin{patch}{DistributedMultivariatePolynomialXmpPagePatch7} -\begin{paste}{DistributedMultivariatePolynomialXmpPageFull7}{DistributedMultivariatePolynomialXmpPageEmpty7} -\pastebutton{DistributedMultivariatePolynomialXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{(n1,n2,n3) := (d1,d2,d3)\free{ndec }\bound{n }\free{d1 d2 d3 }} -\indentrel{3}\begin{verbatim} - 2 2 - (7) 2z x - 2y - x -Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DistributedMultivariatePolynomialXmpPageEmpty7} -\begin{paste}{DistributedMultivariatePolynomialXmpPageEmpty7}{DistributedMultivariatePolynomialXmpPagePatch7} -\pastebutton{DistributedMultivariatePolynomialXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{(n1,n2,n3) := (d1,d2,d3)\free{ndec }\bound{n }\free{d1 d2 d3 }} -\end{paste}\end{patch} - -\begin{patch}{DistributedMultivariatePolynomialXmpPagePatch8} -\begin{paste}{DistributedMultivariatePolynomialXmpPageFull8}{DistributedMultivariatePolynomialXmpPageEmpty8} -\pastebutton{DistributedMultivariatePolynomialXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{groebner [n1,n2,n3]\free{n }} -\indentrel{3}\begin{verbatim} - (8) - 4 3 3 2 1 1 - [y + 2x - Ä x + Ä z - Ä, - 2 2 8 - 4 29 3 1 2 7 9 1 2 1 - x + ÄÄ x - Ä y - Ä z x - ÄÄ x - Ä, z y + 2x + Ä, - 4 8 4 16 4 2 - 2 2 1 2 2 1 - y x + 4x - z + Ä, z x - y - Ä x, - 4 2 - 2 2 2 1 3 - z - 4y + 2x - Ä z - Ä x] - 4 2 -Type: List HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{DistributedMultivariatePolynomialXmpPageEmpty8} -\begin{paste}{DistributedMultivariatePolynomialXmpPageEmpty8}{DistributedMultivariatePolynomialXmpPagePatch8} -\pastebutton{DistributedMultivariatePolynomialXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{groebner [n1,n2,n3]\free{n }} -\end{paste}\end{patch} - diff --git a/books/pages/eq.pht b/books/pages/eq.pht deleted file mode 100644 index d232a8e..0000000 --- a/books/pages/eq.pht +++ /dev/null @@ -1,194 +0,0 @@ -\begin{patch}{EquationXmpPagePatch1} -\begin{paste}{EquationXmpPageFull1}{EquationXmpPageEmpty1} -\pastebutton{EquationXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{eq1 := 3*x + 4*y = 5\bound{eq1 }} -\indentrel{3}\begin{verbatim} - (1) 4y + 3x= 5 - Type: Equation Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{EquationXmpPageEmpty1} -\begin{paste}{EquationXmpPageEmpty1}{EquationXmpPagePatch1} -\pastebutton{EquationXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{eq1 := 3*x + 4*y = 5\bound{eq1 }} -\end{paste}\end{patch} - -\begin{patch}{EquationXmpPagePatch2} -\begin{paste}{EquationXmpPageFull2}{EquationXmpPageEmpty2} -\pastebutton{EquationXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{eq2 := 2*x + 2*y = 3\bound{eq2 }} -\indentrel{3}\begin{verbatim} - (2) 2y + 2x= 3 - Type: Equation Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{EquationXmpPageEmpty2} -\begin{paste}{EquationXmpPageEmpty2}{EquationXmpPagePatch2} -\pastebutton{EquationXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{eq2 := 2*x + 2*y = 3\bound{eq2 }} -\end{paste}\end{patch} - -\begin{patch}{EquationXmpPagePatch3} -\begin{paste}{EquationXmpPageFull3}{EquationXmpPageEmpty3} -\pastebutton{EquationXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{lhs eq1\free{eq1 }} -\indentrel{3}\begin{verbatim} - (3) 4y + 3x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{EquationXmpPageEmpty3} -\begin{paste}{EquationXmpPageEmpty3}{EquationXmpPagePatch3} -\pastebutton{EquationXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{lhs eq1\free{eq1 }} -\end{paste}\end{patch} - -\begin{patch}{EquationXmpPagePatch4} -\begin{paste}{EquationXmpPageFull4}{EquationXmpPageEmpty4} -\pastebutton{EquationXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{rhs eq1\free{eq1 }} -\indentrel{3}\begin{verbatim} - (4) 5 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{EquationXmpPageEmpty4} -\begin{paste}{EquationXmpPageEmpty4}{EquationXmpPagePatch4} -\pastebutton{EquationXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{rhs eq1\free{eq1 }} -\end{paste}\end{patch} - -\begin{patch}{EquationXmpPagePatch5} -\begin{paste}{EquationXmpPageFull5}{EquationXmpPageEmpty5} -\pastebutton{EquationXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{eq1 + eq2\free{eq1 eq2 }} -\indentrel{3}\begin{verbatim} - (5) 6y + 5x= 8 - Type: Equation Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{EquationXmpPageEmpty5} -\begin{paste}{EquationXmpPageEmpty5}{EquationXmpPagePatch5} -\pastebutton{EquationXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{eq1 + eq2\free{eq1 eq2 }} -\end{paste}\end{patch} - -\begin{patch}{EquationXmpPagePatch6} -\begin{paste}{EquationXmpPageFull6}{EquationXmpPageEmpty6} -\pastebutton{EquationXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{eq1 * eq2\free{eq1 eq2 }} -\indentrel{3}\begin{verbatim} - 2 2 - (6) 8y + 14x y + 6x = 15 - Type: Equation Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{EquationXmpPageEmpty6} -\begin{paste}{EquationXmpPageEmpty6}{EquationXmpPagePatch6} -\pastebutton{EquationXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{eq1 * eq2\free{eq1 eq2 }} -\end{paste}\end{patch} - -\begin{patch}{EquationXmpPagePatch7} -\begin{paste}{EquationXmpPageFull7}{EquationXmpPageEmpty7} -\pastebutton{EquationXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{2*eq2 - eq1\free{eq1 eq2 }} -\indentrel{3}\begin{verbatim} - (7) x= 1 - Type: Equation Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{EquationXmpPageEmpty7} -\begin{paste}{EquationXmpPageEmpty7}{EquationXmpPagePatch7} -\pastebutton{EquationXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{2*eq2 - eq1\free{eq1 eq2 }} -\end{paste}\end{patch} - -\begin{patch}{EquationXmpPagePatch8} -\begin{paste}{EquationXmpPageFull8}{EquationXmpPageEmpty8} -\pastebutton{EquationXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{eq1**2\free{eq1 }} -\indentrel{3}\begin{verbatim} - 2 2 - (8) 16y + 24x y + 9x = 25 - Type: Equation Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{EquationXmpPageEmpty8} -\begin{paste}{EquationXmpPageEmpty8}{EquationXmpPagePatch8} -\pastebutton{EquationXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{eq1**2\free{eq1 }} -\end{paste}\end{patch} - -\begin{patch}{EquationXmpPagePatch9} -\begin{paste}{EquationXmpPageFull9}{EquationXmpPageEmpty9} -\pastebutton{EquationXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{if x+1 = y then "equal" else "unequal"} -\indentrel{3}\begin{verbatim} - (9) "unequal" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{EquationXmpPageEmpty9} -\begin{paste}{EquationXmpPageEmpty9}{EquationXmpPagePatch9} -\pastebutton{EquationXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{if x+1 = y then "equal" else "unequal"} -\end{paste}\end{patch} - -\begin{patch}{EquationXmpPagePatch10} -\begin{paste}{EquationXmpPageFull10}{EquationXmpPageEmpty10} -\pastebutton{EquationXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{eqpol := x+1 = y\bound{eqpol }} -\indentrel{3}\begin{verbatim} - (10) x + 1= y - Type: Equation Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{EquationXmpPageEmpty10} -\begin{paste}{EquationXmpPageEmpty10}{EquationXmpPagePatch10} -\pastebutton{EquationXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{eqpol := x+1 = y\bound{eqpol }} -\end{paste}\end{patch} - -\begin{patch}{EquationXmpPagePatch11} -\begin{paste}{EquationXmpPageFull11}{EquationXmpPageEmpty11} -\pastebutton{EquationXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{if eqpol then "equal" else "unequal"\free{eqpol }} -\indentrel{3}\begin{verbatim} - (11) "unequal" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{EquationXmpPageEmpty11} -\begin{paste}{EquationXmpPageEmpty11}{EquationXmpPagePatch11} -\pastebutton{EquationXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{if eqpol then "equal" else "unequal"\free{eqpol }} -\end{paste}\end{patch} - -\begin{patch}{EquationXmpPagePatch12} -\begin{paste}{EquationXmpPageFull12}{EquationXmpPageEmpty12} -\pastebutton{EquationXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{eqpol::Boolean\free{eqpol }} -\indentrel{3}\begin{verbatim} - (12) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{EquationXmpPageEmpty12} -\begin{paste}{EquationXmpPageEmpty12}{EquationXmpPagePatch12} -\pastebutton{EquationXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{eqpol::Boolean\free{eqpol }} -\end{paste}\end{patch} - diff --git a/books/pages/eqtbl.pht b/books/pages/eqtbl.pht deleted file mode 100644 index c73987b..0000000 --- a/books/pages/eqtbl.pht +++ /dev/null @@ -1,96 +0,0 @@ -\begin{patch}{EqTableXmpPagePatch1} -\begin{paste}{EqTableXmpPageFull1}{EqTableXmpPageEmpty1} -\pastebutton{EqTableXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{e: EqTable(List Integer, Integer) := table()\bound{e }} -\indentrel{3}\begin{verbatim} - (1) table() - Type: EqTable(List Integer,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{EqTableXmpPageEmpty1} -\begin{paste}{EqTableXmpPageEmpty1}{EqTableXmpPagePatch1} -\pastebutton{EqTableXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{e: EqTable(List Integer, Integer) := table()\bound{e }} -\end{paste}\end{patch} - -\begin{patch}{EqTableXmpPagePatch2} -\begin{paste}{EqTableXmpPageFull2}{EqTableXmpPageEmpty2} -\pastebutton{EqTableXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{l1 := [1,2,3]\bound{l1 }} -\indentrel{3}\begin{verbatim} - (2) [1,2,3] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{EqTableXmpPageEmpty2} -\begin{paste}{EqTableXmpPageEmpty2}{EqTableXmpPagePatch2} -\pastebutton{EqTableXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{l1 := [1,2,3]\bound{l1 }} -\end{paste}\end{patch} - -\begin{patch}{EqTableXmpPagePatch3} -\begin{paste}{EqTableXmpPageFull3}{EqTableXmpPageEmpty3} -\pastebutton{EqTableXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{l2 := [1,2,3]\bound{l2 }} -\indentrel{3}\begin{verbatim} - (3) [1,2,3] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{EqTableXmpPageEmpty3} -\begin{paste}{EqTableXmpPageEmpty3}{EqTableXmpPagePatch3} -\pastebutton{EqTableXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{l2 := [1,2,3]\bound{l2 }} -\end{paste}\end{patch} - -\begin{patch}{EqTableXmpPagePatch4} -\begin{paste}{EqTableXmpPageFull4}{EqTableXmpPageEmpty4} -\pastebutton{EqTableXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{e.l1 := 111\free{e l1 }\bound{e1 }} -\indentrel{3}\begin{verbatim} - (4) 111 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{EqTableXmpPageEmpty4} -\begin{paste}{EqTableXmpPageEmpty4}{EqTableXmpPagePatch4} -\pastebutton{EqTableXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{e.l1 := 111\free{e l1 }\bound{e1 }} -\end{paste}\end{patch} - -\begin{patch}{EqTableXmpPagePatch5} -\begin{paste}{EqTableXmpPageFull5}{EqTableXmpPageEmpty5} -\pastebutton{EqTableXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{e.l2 := 222\free{e1 l2 }\bound{e2 }} -\indentrel{3}\begin{verbatim} - (5) 222 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{EqTableXmpPageEmpty5} -\begin{paste}{EqTableXmpPageEmpty5}{EqTableXmpPagePatch5} -\pastebutton{EqTableXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{e.l2 := 222\free{e1 l2 }\bound{e2 }} -\end{paste}\end{patch} - -\begin{patch}{EqTableXmpPagePatch6} -\begin{paste}{EqTableXmpPageFull6}{EqTableXmpPageEmpty6} -\pastebutton{EqTableXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{e.l1\free{e2 l1 }} -\indentrel{3}\begin{verbatim} - (6) 111 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{EqTableXmpPageEmpty6} -\begin{paste}{EqTableXmpPageEmpty6}{EqTableXmpPagePatch6} -\pastebutton{EqTableXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{e.l1\free{e2 l1 }} -\end{paste}\end{patch} - diff --git a/books/pages/evalex.pht b/books/pages/evalex.pht deleted file mode 100644 index c44d271..0000000 --- a/books/pages/evalex.pht +++ /dev/null @@ -1,32 +0,0 @@ -\begin{patch}{PrefixEvalPatch1} -\begin{paste}{PrefixEvalFull1}{PrefixEvalEmpty1} -\pastebutton{PrefixEvalFull1}{\hidepaste} -\tab{5}\spadcommand{cos(2)} -\indentrel{3}\begin{verbatim} - (1) cos(2) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PrefixEvalEmpty1} -\begin{paste}{PrefixEvalEmpty1}{PrefixEvalPatch1} -\pastebutton{PrefixEvalEmpty1}{\showpaste} -\tab{5}\spadcommand{cos(2)} -\end{paste}\end{patch} - -\begin{patch}{InfixEvalPatch1} -\begin{paste}{InfixEvalFull1}{InfixEvalEmpty1} -\pastebutton{InfixEvalFull1}{\hidepaste} -\tab{5}\spadcommand{2 + 3.4} -\indentrel{3}\begin{verbatim} - (1) 5.4 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{InfixEvalEmpty1} -\begin{paste}{InfixEvalEmpty1}{InfixEvalPatch1} -\pastebutton{InfixEvalEmpty1}{\showpaste} -\tab{5}\spadcommand{2 + 3.4} -\end{paste}\end{patch} - diff --git a/books/pages/exdiff.pht b/books/pages/exdiff.pht deleted file mode 100644 index f8f5ca5..0000000 --- a/books/pages/exdiff.pht +++ /dev/null @@ -1,197 +0,0 @@ -\begin{patch}{ExDiffBasicPatch1} -\begin{paste}{ExDiffBasicFull1}{ExDiffBasicEmpty1} -\pastebutton{ExDiffBasicFull1}{\hidepaste} -\tab{5}\spadcommand{differentiate(sin(x) * exp(x**2),x)} -\indentrel{3}\begin{verbatim} - 2 2 - x x - (1) 2x %e sin(x) + cos(x)%e - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExDiffBasicEmpty1} -\begin{paste}{ExDiffBasicEmpty1}{ExDiffBasicPatch1} -\pastebutton{ExDiffBasicEmpty1}{\showpaste} -\tab{5}\spadcommand{differentiate(sin(x) * exp(x**2),x)} -\end{paste}\end{patch} - -\begin{patch}{ExDiffSeveralVariablesPatch1} -\begin{paste}{ExDiffSeveralVariablesFull1}{ExDiffSeveralVariablesEmpty1} -\pastebutton{ExDiffSeveralVariablesFull1}{\hidepaste} -\tab{5}\spadcommand{differentiate(sin(x) * tan(y)/(x**2 + y**2),x)} -\indentrel{3}\begin{verbatim} - 2 2 - (- 2x sin(x) + (y + x )cos(x))tan(y) - (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 4 2 2 4 - y + 2x y + x - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExDiffSeveralVariablesEmpty1} -\begin{paste}{ExDiffSeveralVariablesEmpty1}{ExDiffSeveralVariablesPatch1} -\pastebutton{ExDiffSeveralVariablesEmpty1}{\showpaste} -\tab{5}\spadcommand{differentiate(sin(x) * tan(y)/(x**2 + y**2),x)} -\end{paste}\end{patch} - -\begin{patch}{ExDiffSeveralVariablesPatch2} -\begin{paste}{ExDiffSeveralVariablesFull2}{ExDiffSeveralVariablesEmpty2} -\pastebutton{ExDiffSeveralVariablesFull2}{\hidepaste} -\tab{5}\spadcommand{differentiate(sin(x) * tan(y)/(x**2 + y**2),y)} -\indentrel{3}\begin{verbatim} - (2) - 2 2 2 - (y + x )sin(x)tan(y) - 2y sin(x)tan(y) - + - 2 2 - (y + x )sin(x) - / - 4 2 2 4 - y + 2x y + x - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExDiffSeveralVariablesEmpty2} -\begin{paste}{ExDiffSeveralVariablesEmpty2}{ExDiffSeveralVariablesPatch2} -\pastebutton{ExDiffSeveralVariablesEmpty2}{\showpaste} -\tab{5}\spadcommand{differentiate(sin(x) * tan(y)/(x**2 + y**2),y)} -\end{paste}\end{patch} - -\begin{patch}{ExDiffMultipleIPatch1} -\begin{paste}{ExDiffMultipleIFull1}{ExDiffMultipleIEmpty1} -\pastebutton{ExDiffMultipleIFull1}{\hidepaste} -\tab{5}\spadcommand{differentiate(sin(x)/(x**2 + y**2),[x,y])} -\indentrel{3}\begin{verbatim} - 3 2 - 8x y sin(x) + (- 2y - 2x y)cos(x) - (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 6 2 4 4 2 6 - y + 3x y + 3x y + x - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExDiffMultipleIEmpty1} -\begin{paste}{ExDiffMultipleIEmpty1}{ExDiffMultipleIPatch1} -\pastebutton{ExDiffMultipleIEmpty1}{\showpaste} -\tab{5}\spadcommand{differentiate(sin(x)/(x**2 + y**2),[x,y])} -\end{paste}\end{patch} - -\begin{patch}{ExDiffMultipleIPatch2} -\begin{paste}{ExDiffMultipleIFull2}{ExDiffMultipleIEmpty2} -\pastebutton{ExDiffMultipleIFull2}{\hidepaste} -\tab{5}\spadcommand{differentiate(sin(x)/(x**2 + y**2),[x,y,y])} -\indentrel{3}\begin{verbatim} - (2) - 2 3 4 2 2 4 - (- 40x y + 8x )sin(x) + (6y + 4x y - 2x )cos(x) - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 8 2 6 4 4 6 2 8 - y + 4x y + 6x y + 4x y + x - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExDiffMultipleIEmpty2} -\begin{paste}{ExDiffMultipleIEmpty2}{ExDiffMultipleIPatch2} -\pastebutton{ExDiffMultipleIEmpty2}{\showpaste} -\tab{5}\spadcommand{differentiate(sin(x)/(x**2 + y**2),[x,y,y])} -\end{paste}\end{patch} - -\begin{patch}{ExDiffMultipleIIPatch1} -\begin{paste}{ExDiffMultipleIIFull1}{ExDiffMultipleIIEmpty1} -\pastebutton{ExDiffMultipleIIFull1}{\hidepaste} -\tab{5}\spadcommand{differentiate(cos(z)/(x**2 + y**3),[x,y,z],[1,2,3])} -\indentrel{3}\begin{verbatim} - 4 3 - (- 84x y + 24x y)sin(z) - (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 12 2 9 4 6 6 3 8 - y + 4x y + 6x y + 4x y + x - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExDiffMultipleIIEmpty1} -\begin{paste}{ExDiffMultipleIIEmpty1}{ExDiffMultipleIIPatch1} -\pastebutton{ExDiffMultipleIIEmpty1}{\showpaste} -\tab{5}\spadcommand{differentiate(cos(z)/(x**2 + y**3),[x,y,z],[1,2,3])} -\end{paste}\end{patch} - -\begin{patch}{ExDiffHigherOrderPatch1} -\begin{paste}{ExDiffHigherOrderFull1}{ExDiffHigherOrderEmpty1} -\pastebutton{ExDiffHigherOrderFull1}{\hidepaste} -\tab{5}\spadcommand{differentiate(exp(x**2),x,4)} -\indentrel{3}\begin{verbatim} - 2 - 4 2 x - (1) (16x + 48x + 12)%e - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExDiffHigherOrderEmpty1} -\begin{paste}{ExDiffHigherOrderEmpty1}{ExDiffHigherOrderPatch1} -\pastebutton{ExDiffHigherOrderEmpty1}{\showpaste} -\tab{5}\spadcommand{differentiate(exp(x**2),x,4)} -\end{paste}\end{patch} - -\begin{patch}{ExDiffFormalIntegralPatch1} -\begin{paste}{ExDiffFormalIntegralFull1}{ExDiffFormalIntegralEmpty1} -\pastebutton{ExDiffFormalIntegralFull1}{\hidepaste} -\tab{5}\spadcommand{f := integrate(sqrt(1 + t**3),t)\bound{f }} -\indentrel{3}\begin{verbatim} - t ÚÄÄÄÄÄÄÄ¿ - Ú¿ ³ 3 - (1) ³ \³%N + 1 d%N - ÀÙ - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExDiffFormalIntegralEmpty1} -\begin{paste}{ExDiffFormalIntegralEmpty1}{ExDiffFormalIntegralPatch1} -\pastebutton{ExDiffFormalIntegralEmpty1}{\showpaste} -\tab{5}\spadcommand{f := integrate(sqrt(1 + t**3),t)\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{ExDiffFormalIntegralPatch2} -\begin{paste}{ExDiffFormalIntegralFull2}{ExDiffFormalIntegralEmpty2} -\pastebutton{ExDiffFormalIntegralFull2}{\hidepaste} -\tab{5}\spadcommand{differentiate(f,t)\free{f }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄÄÄÄ¿ - ³ 3 - (2) \³t + 1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExDiffFormalIntegralEmpty2} -\begin{paste}{ExDiffFormalIntegralEmpty2}{ExDiffFormalIntegralPatch2} -\pastebutton{ExDiffFormalIntegralEmpty2}{\showpaste} -\tab{5}\spadcommand{differentiate(f,t)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{ExDiffFormalIntegralPatch3} -\begin{paste}{ExDiffFormalIntegralFull3}{ExDiffFormalIntegralEmpty3} -\pastebutton{ExDiffFormalIntegralFull3}{\hidepaste} -\tab{5}\spadcommand{differentiate(f * t**2,t)\free{f }} -\indentrel{3}\begin{verbatim} - t ÚÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄ¿ - Ú¿ ³ 3 2 ³ 3 - (3) 2t ³ \³%N + 1 d%N + t \³t + 1 - ÀÙ - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExDiffFormalIntegralEmpty3} -\begin{paste}{ExDiffFormalIntegralEmpty3}{ExDiffFormalIntegralPatch3} -\pastebutton{ExDiffFormalIntegralEmpty3}{\showpaste} -\tab{5}\spadcommand{differentiate(f * t**2,t)\free{f }} -\end{paste}\end{patch} - diff --git a/books/pages/exint.pht b/books/pages/exint.pht deleted file mode 100644 index 401aab1..0000000 --- a/books/pages/exint.pht +++ /dev/null @@ -1,298 +0,0 @@ -\begin{patch}{ExIntRationalWithRealParameterPatch1} -\begin{paste}{ExIntRationalWithRealParameterFull1}{ExIntRationalWithRealParameterEmpty1} -\pastebutton{ExIntRationalWithRealParameterFull1}{\hidepaste} -\tab{5}\spadcommand{integrate(1/(x**2 + a),x)} -\indentrel{3}\begin{verbatim} - 2 ÚÄÄÄ¿ - (x - a)\³- a + 2a x ÚÄ¿ - log(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) x\³a - 2 atan(ÄÄÄÄÄ) - x + a a - (1) [ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄÄÄÄ] - ÚÄÄÄ¿ ÚÄ¿ - 2\³- a \³a - Type: Union(List Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExIntRationalWithRealParameterEmpty1} -\begin{paste}{ExIntRationalWithRealParameterEmpty1}{ExIntRationalWithRealParameterPatch1} -\pastebutton{ExIntRationalWithRealParameterEmpty1}{\showpaste} -\tab{5}\spadcommand{integrate(1/(x**2 + a),x)} -\end{paste}\end{patch} - -\begin{patch}{ExIntRationalFunctionPatch1} -\begin{paste}{ExIntRationalFunctionFull1}{ExIntRationalFunctionEmpty1} -\pastebutton{ExIntRationalFunctionFull1}{\hidepaste} -\tab{5}\spadcommand{integrate((x**2+2*x+1)/((x+1)**6+1),x)} -\indentrel{3}\begin{verbatim} - 3 2 - atan(x + 3x + 3x + 1) - (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 3 - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExIntRationalFunctionEmpty1} -\begin{paste}{ExIntRationalFunctionEmpty1}{ExIntRationalFunctionPatch1} -\pastebutton{ExIntRationalFunctionEmpty1}{\showpaste} -\tab{5}\spadcommand{integrate((x**2+2*x+1)/((x+1)**6+1),x)} -\end{paste}\end{patch} - -\begin{patch}{ExIntRationalFunctionPatch2} -\begin{paste}{ExIntRationalFunctionFull2}{ExIntRationalFunctionEmpty2} -\pastebutton{ExIntRationalFunctionFull2}{\hidepaste} -\tab{5}\spadcommand{integrate(1/(x**3+x+1),x)\bound{i }} -\indentrel{3}\begin{verbatim} - (2) - ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ - ³ 2 - ³- 93%%H0 + 12 - ( ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - %%H0) - \³ 31 - * - log - ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ - ³ 2 - ³- 93%%H0 + 12 2 - (62%%H0 + 31) ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 62%%H0 - \³ 31 - + - - 31%%H0 + 18x - 4 - + - ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ - ³ 2 - ³- 93%%H0 + 12 - (- ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - %%H0) - \³ 31 - * - log - ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ - ³ 2 - ³- 93%%H0 + 12 2 - (- 62%%H0 - 31) ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + 62%%H0 - \³ 31 - + - - 31%%H0 + 18x - 4 - + - 2 - 2%%H0 log(- 62%%H0 + 31%%H0 + 9x + 4) - / - 2 - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExIntRationalFunctionEmpty2} -\begin{paste}{ExIntRationalFunctionEmpty2}{ExIntRationalFunctionPatch2} -\pastebutton{ExIntRationalFunctionEmpty2}{\showpaste} -\tab{5}\spadcommand{integrate(1/(x**3+x+1),x)\bound{i }} -\end{paste}\end{patch} - -\begin{patch}{ExIntRationalFunctionPatch3} -\begin{paste}{ExIntRationalFunctionFull3}{ExIntRationalFunctionEmpty3} -\pastebutton{ExIntRationalFunctionFull3}{\hidepaste} -\tab{5}\spadcommand{definingPolynomial(tower(\%).2::EXPR INT)\free{i }} -\indentrel{3}\begin{verbatim} - 3 - 31%%H0 - 3%%H0 - 1 - (3) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 31 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExIntRationalFunctionEmpty3} -\begin{paste}{ExIntRationalFunctionEmpty3}{ExIntRationalFunctionPatch3} -\pastebutton{ExIntRationalFunctionEmpty3}{\showpaste} -\tab{5}\spadcommand{definingPolynomial(tower(\%).2::EXPR INT)\free{i }} -\end{paste}\end{patch} - -\begin{patch}{ExIntAlgebraicRelationPatch1} -\begin{paste}{ExIntAlgebraicRelationFull1}{ExIntAlgebraicRelationEmpty1} -\pastebutton{ExIntAlgebraicRelationFull1}{\hidepaste} -\tab{5}\spadcommand{integrate(tan(atan(x)/3),x)} -\indentrel{3}\begin{verbatim} - (1) - atan(x) 2 atan(x) 2 - 8log(3tan(ÄÄÄÄÄÄÄ) - 1) - 3tan(ÄÄÄÄÄÄÄ) - 3 3 - + - atan(x) - 18x tan(ÄÄÄÄÄÄÄ) - 3 - / - 18 - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExIntAlgebraicRelationEmpty1} -\begin{paste}{ExIntAlgebraicRelationEmpty1}{ExIntAlgebraicRelationPatch1} -\pastebutton{ExIntAlgebraicRelationEmpty1}{\showpaste} -\tab{5}\spadcommand{integrate(tan(atan(x)/3),x)} -\end{paste}\end{patch} - -\begin{patch}{ExIntRationalWithComplexParameterPatch1} -\begin{paste}{ExIntRationalWithComplexParameterFull1}{ExIntRationalWithComplexParameterEmpty1} -\pastebutton{ExIntRationalWithComplexParameterFull1}{\hidepaste} -\tab{5}\spadcommand{complexIntegrate(1/(x**2 + a),x)} -\indentrel{3}\begin{verbatim} - ÚÄÄÄ¿ ÚÄÄÄ¿ - x\³- a + a x\³- a - a - log(ÄÄÄÄÄÄÄÄÄÄÄ) - log(ÄÄÄÄÄÄÄÄÄÄÄ) - ÚÄÄÄ¿ ÚÄÄÄ¿ - \³- a \³- a - (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - ÚÄÄÄ¿ - 2\³- a - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExIntRationalWithComplexParameterEmpty1} -\begin{paste}{ExIntRationalWithComplexParameterEmpty1}{ExIntRationalWithComplexParameterPatch1} -\pastebutton{ExIntRationalWithComplexParameterEmpty1}{\showpaste} -\tab{5}\spadcommand{complexIntegrate(1/(x**2 + a),x)} -\end{paste}\end{patch} - -\begin{patch}{ExIntNoSolutionPatch1} -\begin{paste}{ExIntNoSolutionFull1}{ExIntNoSolutionEmpty1} -\pastebutton{ExIntNoSolutionFull1}{\hidepaste} -\tab{5}\spadcommand{integrate(log(1 + sqrt(a*x + b)) / x,x)} -\indentrel{3}\begin{verbatim} - x ÚÄÄÄÄÄÄÄÄ¿ - Ú¿ log(\³b + %T a + 1) - (1) ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ d%T - ÀÙ %T - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExIntNoSolutionEmpty1} -\begin{paste}{ExIntNoSolutionEmpty1}{ExIntNoSolutionPatch1} -\pastebutton{ExIntNoSolutionEmpty1}{\showpaste} -\tab{5}\spadcommand{integrate(log(1 + sqrt(a*x + b)) / x,x)} -\end{paste}\end{patch} - -\begin{patch}{ExIntTwoSimilarIntegrandsPatch1} -\begin{paste}{ExIntTwoSimilarIntegrandsFull1}{ExIntTwoSimilarIntegrandsEmpty1} -\pastebutton{ExIntTwoSimilarIntegrandsFull1}{\hidepaste} -\tab{5}\spadcommand{integrate(x**3 / (a+b*x)**(1/3),x)} -\indentrel{3}\begin{verbatim} - (1) - 3 3 2 2 2 3 3ÚÄÄÄÄÄÄÄ¿2 - (120b x - 135a b x + 162a b x - 243a )\³b x + a - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 4 - 440b - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExIntTwoSimilarIntegrandsEmpty1} -\begin{paste}{ExIntTwoSimilarIntegrandsEmpty1}{ExIntTwoSimilarIntegrandsPatch1} -\pastebutton{ExIntTwoSimilarIntegrandsEmpty1}{\showpaste} -\tab{5}\spadcommand{integrate(x**3 / (a+b*x)**(1/3),x)} -\end{paste}\end{patch} - -\begin{patch}{ExIntTwoSimilarIntegrandsPatch2} -\begin{paste}{ExIntTwoSimilarIntegrandsFull2}{ExIntTwoSimilarIntegrandsEmpty2} -\pastebutton{ExIntTwoSimilarIntegrandsFull2}{\hidepaste} -\tab{5}\spadcommand{integrate(1 / (x**3 * (a+b*x)**(1/3)),x)} -\indentrel{3}\begin{verbatim} - (2) - - - 2 2 ÚÄ¿ - 2b x \³3 - * - 3ÚÄ¿3ÚÄÄÄÄÄÄÄ¿2 3ÚÄ¿2 3ÚÄÄÄÄÄÄÄ¿ - log(\³a \³b x + a + \³a \³b x + a + a) - + - 2 2 ÚÄ¿ 3ÚÄ¿2 3ÚÄÄÄÄÄÄÄ¿ - 4b x \³3 log(\³a \³b x + a - a) - + - ÚÄ¿3ÚÄ¿2 3ÚÄÄÄÄÄÄÄ¿ ÚÄ¿ - 2 2 2\³3 \³a \³b x + a + a\³3 - 12b x atan(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) - 3a - + - ÚÄ¿3ÚÄ¿3ÚÄÄÄÄÄÄÄ¿2 - (12b x - 9a)\³3 \³a \³b x + a - / - 2 2 ÚÄ¿3ÚÄ¿ - 18a x \³3 \³a - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExIntTwoSimilarIntegrandsEmpty2} -\begin{paste}{ExIntTwoSimilarIntegrandsEmpty2}{ExIntTwoSimilarIntegrandsPatch2} -\pastebutton{ExIntTwoSimilarIntegrandsEmpty2}{\showpaste} -\tab{5}\spadcommand{integrate(1 / (x**3 * (a+b*x)**(1/3)),x)} -\end{paste}\end{patch} - -\begin{patch}{ExIntRadicalOfTranscendentalPatch1} -\begin{paste}{ExIntRadicalOfTranscendentalFull1}{ExIntRadicalOfTranscendentalEmpty1} -\pastebutton{ExIntRadicalOfTranscendentalFull1}{\hidepaste} -\tab{5}\spadcommand{integrate((x + 1) / (x * (x + log x)**(3/2)),x)} -\indentrel{3}\begin{verbatim} - ÚÄÄÄÄÄÄÄÄÄÄ¿ - 2\³log(x) + x - (1) - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - log(x) + x - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExIntRadicalOfTranscendentalEmpty1} -\begin{paste}{ExIntRadicalOfTranscendentalEmpty1}{ExIntRadicalOfTranscendentalPatch1} -\pastebutton{ExIntRadicalOfTranscendentalEmpty1}{\showpaste} -\tab{5}\spadcommand{integrate((x + 1) / (x * (x + log x)**(3/2)),x)} -\end{paste}\end{patch} - -\begin{patch}{ExIntNonElementaryPatch1} -\begin{paste}{ExIntNonElementaryFull1}{ExIntNonElementaryEmpty1} -\pastebutton{ExIntNonElementaryFull1}{\hidepaste} -\tab{5}\spadcommand{integrate(exp(-x**2) * erf(x) / (erf(x)**3 - erf(x)**2 - erf(x) + 1),x)} -\indentrel{3}\begin{verbatim} - ÚÄÄÄ¿ erf(x) - 1 ÚÄÄÄ¿ - (erf(x) - 1)\³%pi log(ÄÄÄÄÄÄÄÄÄÄ) - 2\³%pi - erf(x) + 1 - (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 8erf(x) - 8 - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExIntNonElementaryEmpty1} -\begin{paste}{ExIntNonElementaryEmpty1}{ExIntNonElementaryPatch1} -\pastebutton{ExIntNonElementaryEmpty1}{\showpaste} -\tab{5}\spadcommand{integrate(exp(-x**2) * erf(x) / (erf(x)**3 - erf(x)**2 - erf(x) + 1),x)} -\end{paste}\end{patch} - -\begin{patch}{ExIntTrigPatch1} -\begin{paste}{ExIntTrigFull1}{ExIntTrigEmpty1} -\pastebutton{ExIntTrigFull1}{\hidepaste} -\tab{5}\spadcommand{integrate((sinh(1+sqrt(x+b))+2*sqrt(x+b))/(sqrt(x+b)*(x+cosh(1+sqrt(x+b)))),x)} -\indentrel{3}\begin{verbatim} - (1) - ÚÄÄÄÄÄ¿ - - 2cosh(\³x + b + 1) - 2x - 2log(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) - ÚÄÄÄÄÄ¿ ÚÄÄÄÄÄ¿ - sinh(\³x + b + 1) - cosh(\³x + b + 1) - + - ÚÄÄÄÄÄ¿ - - 2\³x + b - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExIntTrigEmpty1} -\begin{paste}{ExIntTrigEmpty1}{ExIntTrigPatch1} -\pastebutton{ExIntTrigEmpty1}{\showpaste} -\tab{5}\spadcommand{integrate((sinh(1+sqrt(x+b))+2*sqrt(x+b))/(sqrt(x+b)*(x+cosh(1+sqrt(x+b)))),x)} -\end{paste}\end{patch} - diff --git a/books/pages/exit.pht b/books/pages/exit.pht deleted file mode 100644 index c8a261d..0000000 --- a/books/pages/exit.pht +++ /dev/null @@ -1,106 +0,0 @@ -\begin{patch}{ExitXmpPagePatch1} -\begin{paste}{ExitXmpPageFull1}{ExitXmpPageEmpty1} -\pastebutton{ExitXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{n := 0\bound{n }} -\indentrel{3}\begin{verbatim} - (1) 0 - Type: NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExitXmpPageEmpty1} -\begin{paste}{ExitXmpPageEmpty1}{ExitXmpPagePatch1} -\pastebutton{ExitXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{n := 0\bound{n }} -\end{paste}\end{patch} - -\begin{patch}{ExitXmpPagePatch2} -\begin{paste}{ExitXmpPageFull2}{ExitXmpPageEmpty2} -\pastebutton{ExitXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{gasp(): Exit == - free n - n := n + 1 - error "Oh no!" -\bound{gasp }\free{n }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExitXmpPageEmpty2} -\begin{paste}{ExitXmpPageEmpty2}{ExitXmpPagePatch2} -\pastebutton{ExitXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{gasp(): Exit == - free n - n := n + 1 - error "Oh no!" -\bound{gasp }\free{n }} -\end{paste}\end{patch} - -\begin{patch}{ExitXmpPagePatch3} -\begin{paste}{ExitXmpPageFull3}{ExitXmpPageEmpty3} -\pastebutton{ExitXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{half(k) == - if odd? k then gasp() - else k quo 2 -\bound{half }\free{gasp }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExitXmpPageEmpty3} -\begin{paste}{ExitXmpPageEmpty3}{ExitXmpPagePatch3} -\pastebutton{ExitXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{half(k) == - if odd? k then gasp() - else k quo 2 -\bound{half }\free{gasp }} -\end{paste}\end{patch} - -\begin{patch}{ExitXmpPagePatch4} -\begin{paste}{ExitXmpPageFull4}{ExitXmpPageEmpty4} -\pastebutton{ExitXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{half 4\free{half }\bound{app1 }} -\indentrel{3}\begin{verbatim} - (4) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExitXmpPageEmpty4} -\begin{paste}{ExitXmpPageEmpty4}{ExitXmpPagePatch4} -\pastebutton{ExitXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{half 4\free{half }\bound{app1 }} -\end{paste}\end{patch} - -\begin{patch}{ExitXmpPagePatch5} -\begin{paste}{ExitXmpPageFull5}{ExitXmpPageEmpty5} -\pastebutton{ExitXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{half 3\free{half app1 }\bound{app2 }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExitXmpPageEmpty5} -\begin{paste}{ExitXmpPageEmpty5}{ExitXmpPagePatch5} -\pastebutton{ExitXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{half 3\free{half app1 }\bound{app2 }} -\end{paste}\end{patch} - -\begin{patch}{ExitXmpPagePatch6} -\begin{paste}{ExitXmpPageFull6}{ExitXmpPageEmpty6} -\pastebutton{ExitXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{n\free{app2 }} -\indentrel{3}\begin{verbatim} - (5) 1 - Type: NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExitXmpPageEmpty6} -\begin{paste}{ExitXmpPageEmpty6}{ExitXmpPagePatch6} -\pastebutton{ExitXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{n\free{app2 }} -\end{paste}\end{patch} - diff --git a/books/pages/exlap.pht b/books/pages/exlap.pht deleted file mode 100644 index d7a965e..0000000 --- a/books/pages/exlap.pht +++ /dev/null @@ -1,114 +0,0 @@ -\begin{patch}{ExLapDefIntPatch1} -\begin{paste}{ExLapDefIntFull1}{ExLapDefIntEmpty1} -\pastebutton{ExLapDefIntFull1}{\hidepaste} -\tab{5}\spadcommand{laplace(2/t * (1 - cos(a*t)), t, s)} -\indentrel{3}\begin{verbatim} - 2 2 - (1) log(s + a ) - 2log(s) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExLapDefIntEmpty1} -\begin{paste}{ExLapDefIntEmpty1}{ExLapDefIntPatch1} -\pastebutton{ExLapDefIntEmpty1}{\showpaste} -\tab{5}\spadcommand{laplace(2/t * (1 - cos(a*t)), t, s)} -\end{paste}\end{patch} - -\begin{patch}{ExLapExpExpPatch1} -\begin{paste}{ExLapExpExpFull1}{ExLapExpExpEmpty1} -\pastebutton{ExLapExpExpFull1}{\hidepaste} -\tab{5}\spadcommand{laplace((exp(a*t) - exp(b*t))/t, t, s)} -\indentrel{3}\begin{verbatim} - (1) - log(s - a) + log(s - b) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExLapExpExpEmpty1} -\begin{paste}{ExLapExpExpEmpty1}{ExLapExpExpPatch1} -\pastebutton{ExLapExpExpEmpty1}{\showpaste} -\tab{5}\spadcommand{laplace((exp(a*t) - exp(b*t))/t, t, s)} -\end{paste}\end{patch} - -\begin{patch}{ExLapSpecial1Patch1} -\begin{paste}{ExLapSpecial1Full1}{ExLapSpecial1Empty1} -\pastebutton{ExLapSpecial1Full1}{\hidepaste} -\tab{5}\spadcommand{laplace(exp(a*t+b)*Ei(c*t), t, s)} -\indentrel{3}\begin{verbatim} - b s + c - a - %e log(ÄÄÄÄÄÄÄÄÄ) - c - (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - s - a - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExLapSpecial1Empty1} -\begin{paste}{ExLapSpecial1Empty1}{ExLapSpecial1Patch1} -\pastebutton{ExLapSpecial1Empty1}{\showpaste} -\tab{5}\spadcommand{laplace(exp(a*t+b)*Ei(c*t), t, s)} -\end{paste}\end{patch} - -\begin{patch}{ExLapSpecial2Patch1} -\begin{paste}{ExLapSpecial2Full1}{ExLapSpecial2Empty1} -\pastebutton{ExLapSpecial2Full1}{\hidepaste} -\tab{5}\spadcommand{laplace(a*Ci(b*t) + c*Si(d*t), t, s)} -\indentrel{3}\begin{verbatim} - 2 2 - s + b d - a log(ÄÄÄÄÄÄÄ) + 2c atan(Ä) - 2 s - b - (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 2s - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExLapSpecial2Empty1} -\begin{paste}{ExLapSpecial2Empty1}{ExLapSpecial2Patch1} -\pastebutton{ExLapSpecial2Empty1}{\showpaste} -\tab{5}\spadcommand{laplace(a*Ci(b*t) + c*Si(d*t), t, s)} -\end{paste}\end{patch} - -\begin{patch}{ExLapTrigTrighPatch1} -\begin{paste}{ExLapTrigTrighFull1}{ExLapTrigTrighEmpty1} -\pastebutton{ExLapTrigTrighFull1}{\hidepaste} -\tab{5}\spadcommand{laplace(sin(a*t) * cosh(a*t) - cos(a*t) * sinh(a*t), t, s)} -\indentrel{3}\begin{verbatim} - 3 - 4a - (1) ÄÄÄÄÄÄÄÄ - 4 4 - s + 4a - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExLapTrigTrighEmpty1} -\begin{paste}{ExLapTrigTrighEmpty1}{ExLapTrigTrighPatch1} -\pastebutton{ExLapTrigTrighEmpty1}{\showpaste} -\tab{5}\spadcommand{laplace(sin(a*t) * cosh(a*t) - cos(a*t) * sinh(a*t), t, s)} -\end{paste}\end{patch} - -\begin{patch}{ExLapSimplePolePatch1} -\begin{paste}{ExLapSimplePoleFull1}{ExLapSimplePoleEmpty1} -\pastebutton{ExLapSimplePoleFull1}{\hidepaste} -\tab{5}\spadcommand{laplace(t**4 * exp(-a*t) / factorial(4), t, s)} -\indentrel{3}\begin{verbatim} - 1 - (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 5 4 2 3 3 2 4 5 - s + 5a s + 10a s + 10a s + 5a s + a - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExLapSimplePoleEmpty1} -\begin{paste}{ExLapSimplePoleEmpty1}{ExLapSimplePolePatch1} -\pastebutton{ExLapSimplePoleEmpty1}{\showpaste} -\tab{5}\spadcommand{laplace(t**4 * exp(-a*t) / factorial(4), t, s)} -\end{paste}\end{patch} - diff --git a/books/pages/exlimit.pht b/books/pages/exlimit.pht deleted file mode 100644 index d15d79f..0000000 --- a/books/pages/exlimit.pht +++ /dev/null @@ -1,221 +0,0 @@ -\begin{patch}{ExLimitBasicPatch1} -\begin{paste}{ExLimitBasicFull1}{ExLimitBasicEmpty1} -\pastebutton{ExLimitBasicFull1}{\hidepaste} -\tab{5}\spadcommand{limit((x**2 - 3*x + 2)/(x**2 - 1),x = 1)} -\indentrel{3}\begin{verbatim} - 1 - (1) - Ä - 2 -Type: Union(OrderedCompletion Fraction Polynomial Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExLimitBasicEmpty1} -\begin{paste}{ExLimitBasicEmpty1}{ExLimitBasicPatch1} -\pastebutton{ExLimitBasicEmpty1}{\showpaste} -\tab{5}\spadcommand{limit((x**2 - 3*x + 2)/(x**2 - 1),x = 1)} -\end{paste}\end{patch} - -\begin{patch}{ExLimitComplexInfinitePatch1} -\begin{paste}{ExLimitComplexInfiniteFull1}{ExLimitComplexInfiniteEmpty1} -\pastebutton{ExLimitComplexInfiniteFull1}{\hidepaste} -\tab{5}\spadcommand{complexLimit((2 + z)/(1 - z),z = \%infinity)} -\indentrel{3}\begin{verbatim} - (1) - 1 - Type: OnePointCompletion Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExLimitComplexInfiniteEmpty1} -\begin{paste}{ExLimitComplexInfiniteEmpty1}{ExLimitComplexInfinitePatch1} -\pastebutton{ExLimitComplexInfiniteEmpty1}{\showpaste} -\tab{5}\spadcommand{complexLimit((2 + z)/(1 - z),z = \%infinity)} -\end{paste}\end{patch} - -\begin{patch}{ExLimitComplexInfinitePatch2} -\begin{paste}{ExLimitComplexInfiniteFull2}{ExLimitComplexInfiniteEmpty2} -\pastebutton{ExLimitComplexInfiniteFull2}{\hidepaste} -\tab{5}\spadcommand{limit(sin(x)/x,x = \%plusInfinity)} -\indentrel{3}\begin{verbatim} - (2) 0 - Type: Union(OrderedCompletion Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExLimitComplexInfiniteEmpty2} -\begin{paste}{ExLimitComplexInfiniteEmpty2}{ExLimitComplexInfinitePatch2} -\pastebutton{ExLimitComplexInfiniteEmpty2}{\showpaste} -\tab{5}\spadcommand{limit(sin(x)/x,x = \%plusInfinity)} -\end{paste}\end{patch} - -\begin{patch}{ExLimitComplexInfinitePatch3} -\begin{paste}{ExLimitComplexInfiniteFull3}{ExLimitComplexInfiniteEmpty3} -\pastebutton{ExLimitComplexInfiniteFull3}{\hidepaste} -\tab{5}\spadcommand{complexLimit(sin(x)/x,x = \%infinity)} -\indentrel{3}\begin{verbatim} - (3) "failed" - Type: Union("failed",...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExLimitComplexInfiniteEmpty3} -\begin{paste}{ExLimitComplexInfiniteEmpty3}{ExLimitComplexInfinitePatch3} -\pastebutton{ExLimitComplexInfiniteEmpty3}{\showpaste} -\tab{5}\spadcommand{complexLimit(sin(x)/x,x = \%infinity)} -\end{paste}\end{patch} - -\begin{patch}{ExLimitOneSidedPatch1} -\begin{paste}{ExLimitOneSidedFull1}{ExLimitOneSidedEmpty1} -\pastebutton{ExLimitOneSidedFull1}{\hidepaste} -\tab{5}\spadcommand{limit(x * log(x),x = 0,"right")} -\indentrel{3}\begin{verbatim} - (1) 0 - Type: Union(OrderedCompletion Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExLimitOneSidedEmpty1} -\begin{paste}{ExLimitOneSidedEmpty1}{ExLimitOneSidedPatch1} -\pastebutton{ExLimitOneSidedEmpty1}{\showpaste} -\tab{5}\spadcommand{limit(x * log(x),x = 0,"right")} -\end{paste}\end{patch} - -\begin{patch}{ExLimitOneSidedPatch2} -\begin{paste}{ExLimitOneSidedFull2}{ExLimitOneSidedEmpty2} -\pastebutton{ExLimitOneSidedFull2}{\hidepaste} -\tab{5}\spadcommand{limit(x * log(x),x = 0)} -\indentrel{3}\begin{verbatim} - (2) [leftHandLimit= "failed",rightHandLimit= 0] -Type: Union(Record(leftHandLimit: Union(OrderedCompletion Expression Integer,"failed"),rightHandLimit: Union(OrderedCompletion Expression Integer,"failed")),...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExLimitOneSidedEmpty2} -\begin{paste}{ExLimitOneSidedEmpty2}{ExLimitOneSidedPatch2} -\pastebutton{ExLimitOneSidedEmpty2}{\showpaste} -\tab{5}\spadcommand{limit(x * log(x),x = 0)} -\end{paste}\end{patch} - -\begin{patch}{ExLimitTwoSidedPatch1} -\begin{paste}{ExLimitTwoSidedFull1}{ExLimitTwoSidedEmpty1} -\pastebutton{ExLimitTwoSidedFull1}{\hidepaste} -\tab{5}\spadcommand{limit(sqrt(y**2)/y,y = 0)} -\indentrel{3}\begin{verbatim} - (1) [leftHandLimit= - 1,rightHandLimit= 1] -Type: Union(Record(leftHandLimit: Union(OrderedCompletion Expression Integer,"failed"),rightHandLimit: Union(OrderedCompletion Expression Integer,"failed")),...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExLimitTwoSidedEmpty1} -\begin{paste}{ExLimitTwoSidedEmpty1}{ExLimitTwoSidedPatch1} -\pastebutton{ExLimitTwoSidedEmpty1}{\showpaste} -\tab{5}\spadcommand{limit(sqrt(y**2)/y,y = 0)} -\end{paste}\end{patch} - -\begin{patch}{ExLimitTwoSidedPatch2} -\begin{paste}{ExLimitTwoSidedFull2}{ExLimitTwoSidedEmpty2} -\pastebutton{ExLimitTwoSidedFull2}{\hidepaste} -\tab{5}\spadcommand{limit(sqrt(1 - cos(t))/t,t = 0)} -\indentrel{3}\begin{verbatim} - 1 1 - (2) [leftHandLimit= - ÄÄÄÄ,rightHandLimit= ÄÄÄÄ] - ÚÄ¿ ÚÄ¿ - \³2 \³2 -Type: Union(Record(leftHandLimit: Union(OrderedCompletion Expression Integer,"failed"),rightHandLimit: Union(OrderedCompletion Expression Integer,"failed")),...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExLimitTwoSidedEmpty2} -\begin{paste}{ExLimitTwoSidedEmpty2}{ExLimitTwoSidedPatch2} -\pastebutton{ExLimitTwoSidedEmpty2}{\showpaste} -\tab{5}\spadcommand{limit(sqrt(1 - cos(t))/t,t = 0)} -\end{paste}\end{patch} - -\begin{patch}{ExLimitInfinitePatch1} -\begin{paste}{ExLimitInfiniteFull1}{ExLimitInfiniteEmpty1} -\pastebutton{ExLimitInfiniteFull1}{\hidepaste} -\tab{5}\spadcommand{limit(sqrt(3*x**2 + 1)/(5*x),x = \%plusInfinity)} -\indentrel{3}\begin{verbatim} - ÚÄ¿ - \³3 - (1) ÄÄÄÄ - 5 - Type: Union(OrderedCompletion Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExLimitInfiniteEmpty1} -\begin{paste}{ExLimitInfiniteEmpty1}{ExLimitInfinitePatch1} -\pastebutton{ExLimitInfiniteEmpty1}{\showpaste} -\tab{5}\spadcommand{limit(sqrt(3*x**2 + 1)/(5*x),x = \%plusInfinity)} -\end{paste}\end{patch} - -\begin{patch}{ExLimitInfinitePatch2} -\begin{paste}{ExLimitInfiniteFull2}{ExLimitInfiniteEmpty2} -\pastebutton{ExLimitInfiniteFull2}{\hidepaste} -\tab{5}\spadcommand{limit(sqrt(3*x**2 + 1)/(5*x),x = \%minusInfinity)} -\indentrel{3}\begin{verbatim} - ÚÄ¿ - \³3 - (2) - ÄÄÄÄ - 5 - Type: Union(OrderedCompletion Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExLimitInfiniteEmpty2} -\begin{paste}{ExLimitInfiniteEmpty2}{ExLimitInfinitePatch2} -\pastebutton{ExLimitInfiniteEmpty2}{\showpaste} -\tab{5}\spadcommand{limit(sqrt(3*x**2 + 1)/(5*x),x = \%minusInfinity)} -\end{paste}\end{patch} - -\begin{patch}{ExLimitParameterPatch1} -\begin{paste}{ExLimitParameterFull1}{ExLimitParameterEmpty1} -\pastebutton{ExLimitParameterFull1}{\hidepaste} -\tab{5}\spadcommand{limit(sinh(a*x)/tan(b*x),x = 0)} -\indentrel{3}\begin{verbatim} - a - (1) Ä - b - Type: Union(OrderedCompletion Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExLimitParameterEmpty1} -\begin{paste}{ExLimitParameterEmpty1}{ExLimitParameterPatch1} -\pastebutton{ExLimitParameterEmpty1}{\showpaste} -\tab{5}\spadcommand{limit(sinh(a*x)/tan(b*x),x = 0)} -\end{paste}\end{patch} - -\begin{patch}{ExLimitRealComplexPatch1} -\begin{paste}{ExLimitRealComplexFull1}{ExLimitRealComplexEmpty1} -\pastebutton{ExLimitRealComplexFull1}{\hidepaste} -\tab{5}\spadcommand{limit(z * sin(1/z),z = 0)} -\indentrel{3}\begin{verbatim} - (1) 0 - Type: Union(OrderedCompletion Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExLimitRealComplexEmpty1} -\begin{paste}{ExLimitRealComplexEmpty1}{ExLimitRealComplexPatch1} -\pastebutton{ExLimitRealComplexEmpty1}{\showpaste} -\tab{5}\spadcommand{limit(z * sin(1/z),z = 0)} -\end{paste}\end{patch} - -\begin{patch}{ExLimitRealComplexPatch2} -\begin{paste}{ExLimitRealComplexFull2}{ExLimitRealComplexEmpty2} -\pastebutton{ExLimitRealComplexFull2}{\hidepaste} -\tab{5}\spadcommand{complexLimit(z * sin(1/z),z = 0)} -\indentrel{3}\begin{verbatim} - (2) "failed" - Type: Union("failed",...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExLimitRealComplexEmpty2} -\begin{paste}{ExLimitRealComplexEmpty2}{ExLimitRealComplexPatch2} -\pastebutton{ExLimitRealComplexEmpty2}{\showpaste} -\tab{5}\spadcommand{complexLimit(z * sin(1/z),z = 0)} -\end{paste}\end{patch} - diff --git a/books/pages/exmatrix.pht b/books/pages/exmatrix.pht deleted file mode 100644 index 2ce8a79..0000000 --- a/books/pages/exmatrix.pht +++ /dev/null @@ -1,341 +0,0 @@ -\begin{patch}{ExMatrixBasicFunctionPatch1} -\begin{paste}{ExMatrixBasicFunctionFull1}{ExMatrixBasicFunctionEmpty1} -\pastebutton{ExMatrixBasicFunctionFull1}{\hidepaste} -\tab{5}\spadcommand{m1 := matrix([[1,-2,1],[4,2,-4]])\bound{m1 }} -\indentrel{3}\begin{verbatim} - Ú1 - 2 1 ¿ - (1) ³ ³ - À4 2 - 4Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExMatrixBasicFunctionEmpty1} -\begin{paste}{ExMatrixBasicFunctionEmpty1}{ExMatrixBasicFunctionPatch1} -\pastebutton{ExMatrixBasicFunctionEmpty1}{\showpaste} -\tab{5}\spadcommand{m1 := matrix([[1,-2,1],[4,2,-4]])\bound{m1 }} -\end{paste}\end{patch} - -\begin{patch}{ExMatrixBasicFunctionPatch2} -\begin{paste}{ExMatrixBasicFunctionFull2}{ExMatrixBasicFunctionEmpty2} -\pastebutton{ExMatrixBasicFunctionFull2}{\hidepaste} -\tab{5}\spadcommand{m2 := matrix([[1,0,2],[20,30,10],[0,200,100]])\bound{m2 }} -\indentrel{3}\begin{verbatim} - Ú1 0 2 ¿ - ³ ³ - (2) ³20 30 10 ³ - ³ ³ - À0 200 100Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExMatrixBasicFunctionEmpty2} -\begin{paste}{ExMatrixBasicFunctionEmpty2}{ExMatrixBasicFunctionPatch2} -\pastebutton{ExMatrixBasicFunctionEmpty2}{\showpaste} -\tab{5}\spadcommand{m2 := matrix([[1,0,2],[20,30,10],[0,200,100]])\bound{m2 }} -\end{paste}\end{patch} - -\begin{patch}{ExMatrixBasicFunctionPatch3} -\begin{paste}{ExMatrixBasicFunctionFull3}{ExMatrixBasicFunctionEmpty3} -\pastebutton{ExMatrixBasicFunctionFull3}{\hidepaste} -\tab{5}\spadcommand{m3 := matrix([[1,2,3],[2,4,6]])\bound{m3 }} -\indentrel{3}\begin{verbatim} - Ú1 2 3¿ - (3) ³ ³ - À2 4 6Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExMatrixBasicFunctionEmpty3} -\begin{paste}{ExMatrixBasicFunctionEmpty3}{ExMatrixBasicFunctionPatch3} -\pastebutton{ExMatrixBasicFunctionEmpty3}{\showpaste} -\tab{5}\spadcommand{m3 := matrix([[1,2,3],[2,4,6]])\bound{m3 }} -\end{paste}\end{patch} - -\begin{patch}{ExMatrixBasicFunctionPatch4} -\begin{paste}{ExMatrixBasicFunctionFull4}{ExMatrixBasicFunctionEmpty4} -\pastebutton{ExMatrixBasicFunctionFull4}{\hidepaste} -\tab{5}\spadcommand{m1 + m3\free{m1 }\free{m3 }} -\indentrel{3}\begin{verbatim} - Ú2 0 4¿ - (4) ³ ³ - À6 6 2Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExMatrixBasicFunctionEmpty4} -\begin{paste}{ExMatrixBasicFunctionEmpty4}{ExMatrixBasicFunctionPatch4} -\pastebutton{ExMatrixBasicFunctionEmpty4}{\showpaste} -\tab{5}\spadcommand{m1 + m3\free{m1 }\free{m3 }} -\end{paste}\end{patch} - -\begin{patch}{ExMatrixBasicFunctionPatch5} -\begin{paste}{ExMatrixBasicFunctionFull5}{ExMatrixBasicFunctionEmpty5} -\pastebutton{ExMatrixBasicFunctionFull5}{\hidepaste} -\tab{5}\spadcommand{100 * m1\free{m1 }} -\indentrel{3}\begin{verbatim} - Ú100 - 200 100 ¿ - (5) ³ ³ - À400 200 - 400Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExMatrixBasicFunctionEmpty5} -\begin{paste}{ExMatrixBasicFunctionEmpty5}{ExMatrixBasicFunctionPatch5} -\pastebutton{ExMatrixBasicFunctionEmpty5}{\showpaste} -\tab{5}\spadcommand{100 * m1\free{m1 }} -\end{paste}\end{patch} - -\begin{patch}{ExMatrixBasicFunctionPatch6} -\begin{paste}{ExMatrixBasicFunctionFull6}{ExMatrixBasicFunctionEmpty6} -\pastebutton{ExMatrixBasicFunctionFull6}{\hidepaste} -\tab{5}\spadcommand{m1 * m2\free{m1 }\free{m2 }} -\indentrel{3}\begin{verbatim} - Ú- 39 140 82 ¿ - (6) ³ ³ - À 44 - 740 - 372Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExMatrixBasicFunctionEmpty6} -\begin{paste}{ExMatrixBasicFunctionEmpty6}{ExMatrixBasicFunctionPatch6} -\pastebutton{ExMatrixBasicFunctionEmpty6}{\showpaste} -\tab{5}\spadcommand{m1 * m2\free{m1 }\free{m2 }} -\end{paste}\end{patch} - -\begin{patch}{ExMatrixBasicFunctionPatch7} -\begin{paste}{ExMatrixBasicFunctionFull7}{ExMatrixBasicFunctionEmpty7} -\pastebutton{ExMatrixBasicFunctionFull7}{\hidepaste} -\tab{5}\spadcommand{-m1 + m3 * m2\free{m1 }\free{m2 }\free{m3 }} -\indentrel{3}\begin{verbatim} - Ú40 662 321¿ - (7) ³ ³ - À78 1318 648Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExMatrixBasicFunctionEmpty7} -\begin{paste}{ExMatrixBasicFunctionEmpty7}{ExMatrixBasicFunctionPatch7} -\pastebutton{ExMatrixBasicFunctionEmpty7}{\showpaste} -\tab{5}\spadcommand{-m1 + m3 * m2\free{m1 }\free{m2 }\free{m3 }} -\end{paste}\end{patch} - -\begin{patch}{ExMatrixBasicFunctionPatch8} -\begin{paste}{ExMatrixBasicFunctionFull8}{ExMatrixBasicFunctionEmpty8} -\pastebutton{ExMatrixBasicFunctionFull8}{\hidepaste} -\tab{5}\spadcommand{m3 *vector([1,0,1])\free{m3 }} -\indentrel{3}\begin{verbatim} - (8) [4,8] - Type: Vector Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExMatrixBasicFunctionEmpty8} -\begin{paste}{ExMatrixBasicFunctionEmpty8}{ExMatrixBasicFunctionPatch8} -\pastebutton{ExMatrixBasicFunctionEmpty8}{\showpaste} -\tab{5}\spadcommand{m3 *vector([1,0,1])\free{m3 }} -\end{paste}\end{patch} - -\begin{patch}{ExRankMatrixPatch1} -\begin{paste}{ExRankMatrixFull1}{ExRankMatrixEmpty1} -\pastebutton{ExRankMatrixFull1}{\hidepaste} -\tab{5}\spadcommand{rank(matrix([[0,4,1],[5,3,-7],[-5,5,9]]))} -\indentrel{3}\begin{verbatim} - (1) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExRankMatrixEmpty1} -\begin{paste}{ExRankMatrixEmpty1}{ExRankMatrixPatch1} -\pastebutton{ExRankMatrixEmpty1}{\showpaste} -\tab{5}\spadcommand{rank(matrix([[0,4,1],[5,3,-7],[-5,5,9]]))} -\end{paste}\end{patch} - -\begin{patch}{ExTraceMatrixPatch1} -\begin{paste}{ExTraceMatrixFull1}{ExTraceMatrixEmpty1} -\pastebutton{ExTraceMatrixFull1}{\hidepaste} -\tab{5}\spadcommand{trace( matrix([[1,x,x**2,x**3],[1,y,y**2,y**3],[1,z,z**2,z**3],[1,u,u**2,u**3]]) )} -\indentrel{3}\begin{verbatim} - 2 3 - (1) z + y + u + 1 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExTraceMatrixEmpty1} -\begin{paste}{ExTraceMatrixEmpty1}{ExTraceMatrixPatch1} -\pastebutton{ExTraceMatrixEmpty1}{\showpaste} -\tab{5}\spadcommand{trace( matrix([[1,x,x**2,x**3],[1,y,y**2,y**3],[1,z,z**2,z**3],[1,u,u**2,u**3]]) )} -\end{paste}\end{patch} - -\begin{patch}{ExInverseMatrixPatch1} -\begin{paste}{ExInverseMatrixFull1}{ExInverseMatrixEmpty1} -\pastebutton{ExInverseMatrixFull1}{\hidepaste} -\tab{5}\spadcommand{inverse(matrix([[1,2,1],[-2,3,4],[-1,5,6]]))} -\indentrel{3}\begin{verbatim} - Ú 2 5 ¿ - ³- Ä - 1 Ä ³ - ³ 7 7 ³ - ³ ³ - (1) ³ 8 6³ - ³ Ä 1 - ij - ³ 7 7³ - ³ ³ - À- 1 - 1 1 Ù - Type: Union(Matrix Fraction Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExInverseMatrixEmpty1} -\begin{paste}{ExInverseMatrixEmpty1}{ExInverseMatrixPatch1} -\pastebutton{ExInverseMatrixEmpty1}{\showpaste} -\tab{5}\spadcommand{inverse(matrix([[1,2,1],[-2,3,4],[-1,5,6]]))} -\end{paste}\end{patch} - -\begin{patch}{ExConstructMatrixPatch1} -\begin{paste}{ExConstructMatrixFull1}{ExConstructMatrixEmpty1} -\pastebutton{ExConstructMatrixFull1}{\hidepaste} -\tab{5}\spadcommand{diagonalMatrix([1,2,3,2,1])} -\indentrel{3}\begin{verbatim} - Ú1 0 0 0 0¿ - ³ ³ - ³0 2 0 0 0³ - ³ ³ - (1) ³0 0 3 0 0³ - ³ ³ - ³0 0 0 2 0³ - ³ ³ - À0 0 0 0 1Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExConstructMatrixEmpty1} -\begin{paste}{ExConstructMatrixEmpty1}{ExConstructMatrixPatch1} -\pastebutton{ExConstructMatrixEmpty1}{\showpaste} -\tab{5}\spadcommand{diagonalMatrix([1,2,3,2,1])} -\end{paste}\end{patch} - -\begin{patch}{ExConstructMatrixPatch2} -\begin{paste}{ExConstructMatrixFull2}{ExConstructMatrixEmpty2} -\pastebutton{ExConstructMatrixFull2}{\hidepaste} -\tab{5}\spadcommand{subMatrix(matrix([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]]), 1,3,2,4)} -\indentrel{3}\begin{verbatim} - Ú1 2 3 ¿ - ³ ³ - (2) ³6 7 8 ³ - ³ ³ - À11 12 13Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExConstructMatrixEmpty2} -\begin{paste}{ExConstructMatrixEmpty2}{ExConstructMatrixPatch2} -\pastebutton{ExConstructMatrixEmpty2}{\showpaste} -\tab{5}\spadcommand{subMatrix(matrix([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]]), 1,3,2,4)} -\end{paste}\end{patch} - -\begin{patch}{ExConstructMatrixPatch3} -\begin{paste}{ExConstructMatrixFull3}{ExConstructMatrixEmpty3} -\pastebutton{ExConstructMatrixFull3}{\hidepaste} -\tab{5}\spadcommand{horizConcat(matrix([[1,2,3],[6,7,8]]),matrix([[11,12,13],[55,77,88]]))} -\indentrel{3}\begin{verbatim} - Ú1 2 3 11 12 13¿ - (3) ³ ³ - À6 7 8 55 77 88Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExConstructMatrixEmpty3} -\begin{paste}{ExConstructMatrixEmpty3}{ExConstructMatrixPatch3} -\pastebutton{ExConstructMatrixEmpty3}{\showpaste} -\tab{5}\spadcommand{horizConcat(matrix([[1,2,3],[6,7,8]]),matrix([[11,12,13],[55,77,88]]))} -\end{paste}\end{patch} - -\begin{patch}{ExConstructMatrixPatch4} -\begin{paste}{ExConstructMatrixFull4}{ExConstructMatrixEmpty4} -\pastebutton{ExConstructMatrixFull4}{\hidepaste} -\tab{5}\spadcommand{vertConcat(matrix([[1,2,3],[6,7,8]]),matrix([[11,12,13],[55,77,88]]))} -\indentrel{3}\begin{verbatim} - Ú1 2 3 ¿ - ³ ³ - ³6 7 8 ³ - (4) ³ ³ - ³11 12 13³ - ³ ³ - À55 77 88Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExConstructMatrixEmpty4} -\begin{paste}{ExConstructMatrixEmpty4}{ExConstructMatrixPatch4} -\pastebutton{ExConstructMatrixEmpty4}{\showpaste} -\tab{5}\spadcommand{vertConcat(matrix([[1,2,3],[6,7,8]]),matrix([[11,12,13],[55,77,88]]))} -\end{paste}\end{patch} - -\begin{patch}{ExConstructMatrixPatch5} -\begin{paste}{ExConstructMatrixFull5}{ExConstructMatrixEmpty5} -\pastebutton{ExConstructMatrixFull5}{\hidepaste} -\tab{5}\spadcommand{b:=matrix([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]])\bound{b }} -\indentrel{3}\begin{verbatim} - Ú0 1 2 3 4 ¿ - ³ ³ - (5) ³5 6 7 8 9 ³ - ³ ³ - À10 11 12 13 14Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExConstructMatrixEmpty5} -\begin{paste}{ExConstructMatrixEmpty5}{ExConstructMatrixPatch5} -\pastebutton{ExConstructMatrixEmpty5}{\showpaste} -\tab{5}\spadcommand{b:=matrix([[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14]])\bound{b }} -\end{paste}\end{patch} - -\begin{patch}{ExConstructMatrixPatch6} -\begin{paste}{ExConstructMatrixFull6}{ExConstructMatrixEmpty6} -\pastebutton{ExConstructMatrixFull6}{\hidepaste} -\tab{5}\spadcommand{setsubMatrix!(b,1,1,transpose(subMatrix(b,1,3,1,3)))\free{b }} -\indentrel{3}\begin{verbatim} - Ú0 5 10 3 4 ¿ - ³ ³ - (6) ³1 6 11 8 9 ³ - ³ ³ - À2 7 12 13 14Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExConstructMatrixEmpty6} -\begin{paste}{ExConstructMatrixEmpty6}{ExConstructMatrixPatch6} -\pastebutton{ExConstructMatrixEmpty6}{\showpaste} -\tab{5}\spadcommand{setsubMatrix!(b,1,1,transpose(subMatrix(b,1,3,1,3)))\free{b }} -\end{paste}\end{patch} - -\begin{patch}{ExDeterminantMatrixPatch1} -\begin{paste}{ExDeterminantMatrixFull1}{ExDeterminantMatrixEmpty1} -\pastebutton{ExDeterminantMatrixFull1}{\hidepaste} -\tab{5}\spadcommand{determinant(matrix([[1,2,3,4],[2,3,2,5],[3,4,5,6],[4,1,6,7]]))} -\indentrel{3}\begin{verbatim} - (1) - 48 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExDeterminantMatrixEmpty1} -\begin{paste}{ExDeterminantMatrixEmpty1}{ExDeterminantMatrixPatch1} -\pastebutton{ExDeterminantMatrixEmpty1}{\showpaste} -\tab{5}\spadcommand{determinant(matrix([[1,2,3,4],[2,3,2,5],[3,4,5,6],[4,1,6,7]]))} -\end{paste}\end{patch} - diff --git a/books/pages/explot2d.pht b/books/pages/explot2d.pht deleted file mode 100644 index c8c7cdb..0000000 --- a/books/pages/explot2d.pht +++ /dev/null @@ -1,52 +0,0 @@ -\begin{patch}{ExPlot2DPolarPatch1} -\begin{paste}{ExPlot2DPolarFull1}{ExPlot2DPolarEmpty1} -\pastebutton{ExPlot2DPolarFull1}{\hidepaste} -\tab{5}\spadgraph{draw(sin(4*t/7),t = 0..14*\%pi,coordinates == polar)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/explot2dpolar1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/explot2dpolar1}} -\end{paste}\end{patch} - -\begin{patch}{ExPlot2DPolarEmpty1} -\begin{paste}{ExPlot2DPolarEmpty1}{ExPlot2DPolarPatch1} -\pastebutton{ExPlot2DPolarEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(sin(4*t/7),t = 0..14*\%pi,coordinates == polar)} -\end{paste}\end{patch} - -\begin{patch}{ExPlot2DAlgebraicPatch1} -\begin{paste}{ExPlot2DAlgebraicFull1}{ExPlot2DAlgebraicEmpty1} -\pastebutton{ExPlot2DAlgebraicFull1}{\hidepaste} -\tab{5}\spadgraph{draw(y**2 + y - (x**3 - x) = 0, x, y, range == [-2..2,-2..1])} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/explot2dalgebraic1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/explot2dalgebraic1}} -\end{paste}\end{patch} - -\begin{patch}{ExPlot2DAlgebraicEmpty1} -\begin{paste}{ExPlot2DAlgebraicEmpty1}{ExPlot2DAlgebraicPatch1} -\pastebutton{ExPlot2DAlgebraicEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(y**2 + y - (x**3 - x) = 0, x, y, range == [-2..2,-2..1])} -\end{paste}\end{patch} - -\begin{patch}{ExPlot2DFunctionsPatch1} -\begin{paste}{ExPlot2DFunctionsFull1}{ExPlot2DFunctionsEmpty1} -\pastebutton{ExPlot2DFunctionsFull1}{\hidepaste} -\tab{5}\spadgraph{draw(sin(tan(x)) - tan(sin(x)),x = 0..6)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/explot2dfunctions1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/explot2dfunctions1}} -\end{paste}\end{patch} - -\begin{patch}{ExPlot2DFunctionsEmpty1} -\begin{paste}{ExPlot2DFunctionsEmpty1}{ExPlot2DFunctionsPatch1} -\pastebutton{ExPlot2DFunctionsEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(sin(tan(x)) - tan(sin(x)),x = 0..6)} -\end{paste}\end{patch} - -\begin{patch}{ExPlot2DParametricPatch1} -\begin{paste}{ExPlot2DParametricFull1}{ExPlot2DParametricEmpty1} -\pastebutton{ExPlot2DParametricFull1}{\hidepaste} -\tab{5}\spadgraph{draw(curve(9 * sin(3*t/4),8 * sin(t)),t = -4*\%pi..4*\%pi)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/explot2dparametric1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/explot2dparametric1}} -\end{paste}\end{patch} - -\begin{patch}{ExPlot2DParametricEmpty1} -\begin{paste}{ExPlot2DParametricEmpty1}{ExPlot2DParametricPatch1} -\pastebutton{ExPlot2DParametricEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(curve(9 * sin(3*t/4),8 * sin(t)),t = -4*\%pi..4*\%pi)} -\end{paste}\end{patch} - diff --git a/books/pages/explot3d.pht b/books/pages/explot3d.pht deleted file mode 100644 index f2235c4..0000000 --- a/books/pages/explot3d.pht +++ /dev/null @@ -1,65 +0,0 @@ -\begin{patch}{ExPlot3DParametricCurvePatch1} -\begin{paste}{ExPlot3DParametricCurveFull1}{ExPlot3DParametricCurveEmpty1} -\pastebutton{ExPlot3DParametricCurveFull1}{\hidepaste} -\tab{5}\spadgraph{draw(curve(cos(t),sin(t),t),t=0..6)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/explot3dparametriccurve1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/explot3dparametriccurve1}} -\end{paste}\end{patch} - -\begin{patch}{ExPlot3DParametricCurveEmpty1} -\begin{paste}{ExPlot3DParametricCurveEmpty1}{ExPlot3DParametricCurvePatch1} -\pastebutton{ExPlot3DParametricCurveEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(curve(cos(t),sin(t),t),t=0..6)} -\end{paste}\end{patch} - -\begin{patch}{ExPlot3DParametricCurvePatch2} -\begin{paste}{ExPlot3DParametricCurveFull2}{ExPlot3DParametricCurveEmpty2} -\pastebutton{ExPlot3DParametricCurveFull2}{\hidepaste} -\tab{5}\spadgraph{draw(curve(t,t**2,t**3),t=-3..3)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/explot3dparametriccurve2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/explot3dparametriccurve2}} -\end{paste}\end{patch} - -\begin{patch}{ExPlot3DParametricCurveEmpty2} -\begin{paste}{ExPlot3DParametricCurveEmpty2}{ExPlot3DParametricCurvePatch2} -\pastebutton{ExPlot3DParametricCurveEmpty2}{\showpaste} -\tab{5}\spadgraph{draw(curve(t,t**2,t**3),t=-3..3)} -\end{paste}\end{patch} - -\begin{patch}{ExPlot3DParametricSurfacePatch1} -\begin{paste}{ExPlot3DParametricSurfaceFull1}{ExPlot3DParametricSurfaceEmpty1} -\pastebutton{ExPlot3DParametricSurfaceFull1}{\hidepaste} -\tab{5}\spadgraph{draw(surface(5*sin(u)*cos(v),4*sin(u)*sin(v),3*cos(u)),u=0..\%pi,v=0..2*\%pi)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/explot3dparametricsurface1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/explot3dparametricsurface1}} -\end{paste}\end{patch} - -\begin{patch}{ExPlot3DParametricSurfaceEmpty1} -\begin{paste}{ExPlot3DParametricSurfaceEmpty1}{ExPlot3DParametricSurfacePatch1} -\pastebutton{ExPlot3DParametricSurfaceEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(surface(5*sin(u)*cos(v),4*sin(u)*sin(v),3*cos(u)),u=0..\%pi,v=0..2*\%pi)} -\end{paste}\end{patch} - -\begin{patch}{ExPlot3DParametricSurfacePatch2} -\begin{paste}{ExPlot3DParametricSurfaceFull2}{ExPlot3DParametricSurfaceEmpty2} -\pastebutton{ExPlot3DParametricSurfaceFull2}{\hidepaste} -\tab{5}\spadgraph{draw(surface(u*cos(v),u*sin(v),u),u=0..4,v=0..2*\%pi)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/explot3dparametricsurface2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/explot3dparametricsurface2}} -\end{paste}\end{patch} - -\begin{patch}{ExPlot3DParametricSurfaceEmpty2} -\begin{paste}{ExPlot3DParametricSurfaceEmpty2}{ExPlot3DParametricSurfacePatch2} -\pastebutton{ExPlot3DParametricSurfaceEmpty2}{\showpaste} -\tab{5}\spadgraph{draw(surface(u*cos(v),u*sin(v),u),u=0..4,v=0..2*\%pi)} -\end{paste}\end{patch} - -\begin{patch}{ExPlot3DFunctionsPatch1} -\begin{paste}{ExPlot3DFunctionsFull1}{ExPlot3DFunctionsEmpty1} -\pastebutton{ExPlot3DFunctionsFull1}{\hidepaste} -\tab{5}\spadgraph{draw(cos(x*y),x = -3..3,y = -3..3)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/explot3dfunctions1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/explot3dfunctions1}} -\end{paste}\end{patch} - -\begin{patch}{ExPlot3DFunctionsEmpty1} -\begin{paste}{ExPlot3DFunctionsEmpty1}{ExPlot3DFunctionsPatch1} -\pastebutton{ExPlot3DFunctionsEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(cos(x*y),x = -3..3,y = -3..3)} -\end{paste}\end{patch} - diff --git a/books/pages/expr.pht b/books/pages/expr.pht deleted file mode 100644 index 9d571eb..0000000 --- a/books/pages/expr.pht +++ /dev/null @@ -1,423 +0,0 @@ -\begin{patch}{ExpressionXmpPagePatch1} -\begin{paste}{ExpressionXmpPageFull1}{ExpressionXmpPageEmpty1} -\pastebutton{ExpressionXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{sin(x) + 3*cos(x)**2} -\indentrel{3}\begin{verbatim} - 2 - (1) sin(x) + 3cos(x) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPageEmpty1} -\begin{paste}{ExpressionXmpPageEmpty1}{ExpressionXmpPagePatch1} -\pastebutton{ExpressionXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{sin(x) + 3*cos(x)**2} -\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPagePatch2} -\begin{paste}{ExpressionXmpPageFull2}{ExpressionXmpPageEmpty2} -\pastebutton{ExpressionXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{tan(x) - 3.45*x} -\indentrel{3}\begin{verbatim} - (2) tan(x) - 3.45 x - Type: Expression Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPageEmpty2} -\begin{paste}{ExpressionXmpPageEmpty2}{ExpressionXmpPagePatch2} -\pastebutton{ExpressionXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{tan(x) - 3.45*x} -\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPagePatch3} -\begin{paste}{ExpressionXmpPageFull3}{ExpressionXmpPageEmpty3} -\pastebutton{ExpressionXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{(tan sqrt 7 - sin sqrt 11)**2 / (4 - cos(x - y))} -\indentrel{3}\begin{verbatim} - (3) - ÚÄ¿ 2 ÚÄÄ¿ ÚÄ¿ ÚÄÄ¿ 2 - - tan(\³7 ) + 2sin(\³11 )tan(\³7 ) - sin(\³11 ) - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - cos(y - x) - 4 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPageEmpty3} -\begin{paste}{ExpressionXmpPageEmpty3}{ExpressionXmpPagePatch3} -\pastebutton{ExpressionXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{(tan sqrt 7 - sin sqrt 11)**2 / (4 - cos(x - y))} -\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPagePatch4} -\begin{paste}{ExpressionXmpPageFull4}{ExpressionXmpPageEmpty4} -\pastebutton{ExpressionXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{log(exp x)@Expression(Integer)} -\indentrel{3}\begin{verbatim} - (4) x - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPageEmpty4} -\begin{paste}{ExpressionXmpPageEmpty4}{ExpressionXmpPagePatch4} -\pastebutton{ExpressionXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{log(exp x)@Expression(Integer)} -\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPagePatch5} -\begin{paste}{ExpressionXmpPageFull5}{ExpressionXmpPageEmpty5} -\pastebutton{ExpressionXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{log(exp x)@Expression(Complex Integer)} -\indentrel{3}\begin{verbatim} - x - (5) log(%e ) - Type: Expression Complex Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPageEmpty5} -\begin{paste}{ExpressionXmpPageEmpty5}{ExpressionXmpPagePatch5} -\pastebutton{ExpressionXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{log(exp x)@Expression(Complex Integer)} -\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPagePatch6} -\begin{paste}{ExpressionXmpPageFull6}{ExpressionXmpPageEmpty6} -\pastebutton{ExpressionXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{sqrt 3 + sqrt(2 + sqrt(-5))\bound{algnum1 }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄÄÄÄÄÄÄÄ¿ - ³ ÚÄÄÄ¿ ÚÄ¿ - (6) \³\³- 5 + 2 + \³3 - Type: AlgebraicNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPageEmpty6} -\begin{paste}{ExpressionXmpPageEmpty6}{ExpressionXmpPagePatch6} -\pastebutton{ExpressionXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{sqrt 3 + sqrt(2 + sqrt(-5))\bound{algnum1 }} -\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPagePatch7} -\begin{paste}{ExpressionXmpPageFull7}{ExpressionXmpPageEmpty7} -\pastebutton{ExpressionXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{\% :: Expression Integer\free{algnum1 }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄÄÄÄÄÄÄÄ¿ - ³ ÚÄÄÄ¿ ÚÄ¿ - (7) \³\³- 5 + 2 + \³3 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPageEmpty7} -\begin{paste}{ExpressionXmpPageEmpty7}{ExpressionXmpPagePatch7} -\pastebutton{ExpressionXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{\% :: Expression Integer\free{algnum1 }} -\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPagePatch8} -\begin{paste}{ExpressionXmpPageFull8}{ExpressionXmpPageEmpty8} -\pastebutton{ExpressionXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{height mainKernel sin(x + 4)} -\indentrel{3}\begin{verbatim} - (8) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPageEmpty8} -\begin{paste}{ExpressionXmpPageEmpty8}{ExpressionXmpPagePatch8} -\pastebutton{ExpressionXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{height mainKernel sin(x + 4)} -\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPagePatch9} -\begin{paste}{ExpressionXmpPageFull9}{ExpressionXmpPageEmpty9} -\pastebutton{ExpressionXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{e := (sin(x) - 4)**2 / ( 1 - 2*y*sqrt(- y) )\bound{e }} -\indentrel{3}\begin{verbatim} - 2 - - sin(x) + 8sin(x) - 16 - (9) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - ÚÄÄÄ¿ - 2y\³- y - 1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPageEmpty9} -\begin{paste}{ExpressionXmpPageEmpty9}{ExpressionXmpPagePatch9} -\pastebutton{ExpressionXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{e := (sin(x) - 4)**2 / ( 1 - 2*y*sqrt(- y) )\bound{e }} -\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPagePatch10} -\begin{paste}{ExpressionXmpPageFull10}{ExpressionXmpPageEmpty10} -\pastebutton{ExpressionXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{numer e\free{e }} -\indentrel{3}\begin{verbatim} - 2 - (10) - sin(x) + 8sin(x) - 16 -Type: SparseMultivariatePolynomial(Integer,Kernel Expression Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPageEmpty10} -\begin{paste}{ExpressionXmpPageEmpty10}{ExpressionXmpPagePatch10} -\pastebutton{ExpressionXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{numer e\free{e }} -\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPagePatch11} -\begin{paste}{ExpressionXmpPageFull11}{ExpressionXmpPageEmpty11} -\pastebutton{ExpressionXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{denom e\free{e }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄ¿ - (11) 2y\³- y - 1 -Type: SparseMultivariatePolynomial(Integer,Kernel Expression Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPageEmpty11} -\begin{paste}{ExpressionXmpPageEmpty11}{ExpressionXmpPagePatch11} -\pastebutton{ExpressionXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{denom e\free{e }} -\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPagePatch12} -\begin{paste}{ExpressionXmpPageFull12}{ExpressionXmpPageEmpty12} -\pastebutton{ExpressionXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{D(e, x)\free{e }} -\indentrel{3}\begin{verbatim} - (12) - ÚÄÄÄ¿ - (4y cos(x)sin(x) - 16y cos(x))\³- y - + - - 2cos(x)sin(x) + 8cos(x) - / - ÚÄÄÄ¿ 3 - 4y\³- y + 4y - 1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPageEmpty12} -\begin{paste}{ExpressionXmpPageEmpty12}{ExpressionXmpPagePatch12} -\pastebutton{ExpressionXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{D(e, x)\free{e }} -\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPagePatch13} -\begin{paste}{ExpressionXmpPageFull13}{ExpressionXmpPageEmpty13} -\pastebutton{ExpressionXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{D(e, [x, y], [1, 2])\free{e }} -\indentrel{3}\begin{verbatim} - (13) - 7 4 - (- 2304y + 960y )cos(x)sin(x) - + - 7 4 - (9216y - 3840y )cos(x) - * - ÚÄÄÄ¿ - \³- y - + - 9 6 3 - (- 960y + 2160y - 180y - 3)cos(x)sin(x) - + - 9 6 3 - (3840y - 8640y + 720y + 12)cos(x) - / - 12 9 6 3 ÚÄÄÄ¿ - (256y - 1792y + 1120y - 112y + 1)\³- y - + - 11 8 5 2 - - 1024y + 1792y - 448y + 16y - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPageEmpty13} -\begin{paste}{ExpressionXmpPageEmpty13}{ExpressionXmpPagePatch13} -\pastebutton{ExpressionXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{D(e, [x, y], [1, 2])\free{e }} -\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPagePatch14} -\begin{paste}{ExpressionXmpPageFull14}{ExpressionXmpPageEmpty14} -\pastebutton{ExpressionXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{complexNumeric(cos(2 - 3*\%i))} -\indentrel{3}\begin{verbatim} - (14) - - 4.1896256909 688072301 + 9.1092278937 55336598 %i - Type: Complex Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPageEmpty14} -\begin{paste}{ExpressionXmpPageEmpty14}{ExpressionXmpPagePatch14} -\pastebutton{ExpressionXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{complexNumeric(cos(2 - 3*\%i))} -\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPagePatch15} -\begin{paste}{ExpressionXmpPageFull15}{ExpressionXmpPageEmpty15} -\pastebutton{ExpressionXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{numeric(tan 3.8)} -\indentrel{3}\begin{verbatim} - (15) 0.7735560905 0312607286 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPageEmpty15} -\begin{paste}{ExpressionXmpPageEmpty15}{ExpressionXmpPagePatch15} -\pastebutton{ExpressionXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{numeric(tan 3.8)} -\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPagePatch16} -\begin{paste}{ExpressionXmpPageFull16}{ExpressionXmpPageEmpty16} -\pastebutton{ExpressionXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{e2 := cos(x**2 - y + 3)\bound{e2 }} -\indentrel{3}\begin{verbatim} - 2 - (16) cos(y - x - 3) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPageEmpty16} -\begin{paste}{ExpressionXmpPageEmpty16}{ExpressionXmpPagePatch16} -\pastebutton{ExpressionXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{e2 := cos(x**2 - y + 3)\bound{e2 }} -\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPagePatch17} -\begin{paste}{ExpressionXmpPageFull17}{ExpressionXmpPageEmpty17} -\pastebutton{ExpressionXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{e3 := asin(e2) - \%pi/2\free{e2 }\bound{e3 }} -\indentrel{3}\begin{verbatim} - 2 - (17) - y + x + 3 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPageEmpty17} -\begin{paste}{ExpressionXmpPageEmpty17}{ExpressionXmpPagePatch17} -\pastebutton{ExpressionXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{e3 := asin(e2) - \%pi/2\free{e2 }\bound{e3 }} -\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPagePatch18} -\begin{paste}{ExpressionXmpPageFull18}{ExpressionXmpPageEmpty18} -\pastebutton{ExpressionXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{e3 :: Polynomial Integer\free{e3 }} -\indentrel{3}\begin{verbatim} - 2 - (18) - y + x + 3 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPageEmpty18} -\begin{paste}{ExpressionXmpPageEmpty18}{ExpressionXmpPagePatch18} -\pastebutton{ExpressionXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{e3 :: Polynomial Integer\free{e3 }} -\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPagePatch19} -\begin{paste}{ExpressionXmpPageFull19}{ExpressionXmpPageEmpty19} -\pastebutton{ExpressionXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{e3 :: DMP([x, y], Integer)\free{e3 }} -\indentrel{3}\begin{verbatim} - 2 - (19) x - y + 3 - Type: DistributedMultivariatePolynomial([x,y],Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPageEmpty19} -\begin{paste}{ExpressionXmpPageEmpty19}{ExpressionXmpPagePatch19} -\pastebutton{ExpressionXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{e3 :: DMP([x, y], Integer)\free{e3 }} -\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPagePatch20} -\begin{paste}{ExpressionXmpPageFull20}{ExpressionXmpPageEmpty20} -\pastebutton{ExpressionXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{sin \%pi} -\indentrel{3}\begin{verbatim} - (20) 0 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPageEmpty20} -\begin{paste}{ExpressionXmpPageEmpty20}{ExpressionXmpPagePatch20} -\pastebutton{ExpressionXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{sin \%pi} -\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPagePatch21} -\begin{paste}{ExpressionXmpPageFull21}{ExpressionXmpPageEmpty21} -\pastebutton{ExpressionXmpPageFull21}{\hidepaste} -\tab{5}\spadcommand{cos(\%pi / 4)} -\indentrel{3}\begin{verbatim} - ÚÄ¿ - \³2 - (21) ÄÄÄÄ - 2 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPageEmpty21} -\begin{paste}{ExpressionXmpPageEmpty21}{ExpressionXmpPagePatch21} -\pastebutton{ExpressionXmpPageEmpty21}{\showpaste} -\tab{5}\spadcommand{cos(\%pi / 4)} -\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPagePatch22} -\begin{paste}{ExpressionXmpPageFull22}{ExpressionXmpPageEmpty22} -\pastebutton{ExpressionXmpPageFull22}{\hidepaste} -\tab{5}\spadcommand{tan(x)**6 + 3*tan(x)**4 + 3*tan(x)**2 + 1\bound{tan6 }} -\indentrel{3}\begin{verbatim} - 6 4 2 - (22) tan(x) + 3tan(x) + 3tan(x) + 1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPageEmpty22} -\begin{paste}{ExpressionXmpPageEmpty22}{ExpressionXmpPagePatch22} -\pastebutton{ExpressionXmpPageEmpty22}{\showpaste} -\tab{5}\spadcommand{tan(x)**6 + 3*tan(x)**4 + 3*tan(x)**2 + 1\bound{tan6 }} -\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPagePatch23} -\begin{paste}{ExpressionXmpPageFull23}{ExpressionXmpPageEmpty23} -\pastebutton{ExpressionXmpPageFull23}{\hidepaste} -\tab{5}\spadcommand{simplify \%\free{tan6 }} -\indentrel{3}\begin{verbatim} - 1 - (23) ÄÄÄÄÄÄÄ - 6 - cos(x) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExpressionXmpPageEmpty23} -\begin{paste}{ExpressionXmpPageEmpty23}{ExpressionXmpPagePatch23} -\pastebutton{ExpressionXmpPageEmpty23}{\showpaste} -\tab{5}\spadcommand{simplify \%\free{tan6 }} -\end{paste}\end{patch} - diff --git a/books/pages/exseries.pht b/books/pages/exseries.pht deleted file mode 100644 index df10df9..0000000 --- a/books/pages/exseries.pht +++ /dev/null @@ -1,224 +0,0 @@ -\begin{patch}{ExSeriesSubstitutionPatch1} -\begin{paste}{ExSeriesSubstitutionFull1}{ExSeriesSubstitutionEmpty1} -\pastebutton{ExSeriesSubstitutionFull1}{\hidepaste} -\tab{5}\spadcommand{f := taylor(exp(x))\bound{f2 }} -\indentrel{3}\begin{verbatim} - (1) - 1 2 1 3 1 4 1 5 1 6 - 1 + x + Ä x + Ä x + ÄÄ x + ÄÄÄ x + ÄÄÄ x - 2 6 24 120 720 - + - 1 7 1 8 1 9 1 10 11 - ÄÄÄÄ x + ÄÄÄÄÄ x + ÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄ x + O(x ) - 5040 40320 362880 3628800 - Type: UnivariateTaylorSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExSeriesSubstitutionEmpty1} -\begin{paste}{ExSeriesSubstitutionEmpty1}{ExSeriesSubstitutionPatch1} -\pastebutton{ExSeriesSubstitutionEmpty1}{\showpaste} -\tab{5}\spadcommand{f := taylor(exp(x))\bound{f2 }} -\end{paste}\end{patch} - -\begin{patch}{ExSeriesSubstitutionPatch2} -\begin{paste}{ExSeriesSubstitutionFull2}{ExSeriesSubstitutionEmpty2} -\pastebutton{ExSeriesSubstitutionFull2}{\hidepaste} -\tab{5}\spadcommand{eval(f,1.0)\free{f2 }} -\indentrel{3}\begin{verbatim} - (2) - [1.0, 2.0, 2.5, 2.6666666666 666666667, - 2.7083333333 333333333, 2.7166666666 666666667, - 2.7180555555 555555556, 2.7182539682 53968254, - 2.7182787698 412698413, 2.7182815255 731922399, ...] - Type: Stream Expression Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExSeriesSubstitutionEmpty2} -\begin{paste}{ExSeriesSubstitutionEmpty2}{ExSeriesSubstitutionPatch2} -\pastebutton{ExSeriesSubstitutionEmpty2}{\showpaste} -\tab{5}\spadcommand{eval(f,1.0)\free{f2 }} -\end{paste}\end{patch} - -\begin{patch}{ExSeriesConvertPatch1} -\begin{paste}{ExSeriesConvertFull1}{ExSeriesConvertEmpty1} -\pastebutton{ExSeriesConvertFull1}{\hidepaste} -\tab{5}\spadcommand{series(sin(a*x),x = 0)} -\indentrel{3}\begin{verbatim} - (1) - 3 5 7 9 - a 3 a 5 a 7 a 9 - a x - ÄÄ x + ÄÄÄ x - ÄÄÄÄ x + ÄÄÄÄÄÄ x - 6 120 5040 362880 - + - 11 - a 11 12 - - ÄÄÄÄÄÄÄÄ x + O(x ) - 39916800 - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExSeriesConvertEmpty1} -\begin{paste}{ExSeriesConvertEmpty1}{ExSeriesConvertPatch1} -\pastebutton{ExSeriesConvertEmpty1}{\showpaste} -\tab{5}\spadcommand{series(sin(a*x),x = 0)} -\end{paste}\end{patch} - -\begin{patch}{ExSeriesConvertPatch2} -\begin{paste}{ExSeriesConvertFull2}{ExSeriesConvertEmpty2} -\pastebutton{ExSeriesConvertFull2}{\hidepaste} -\tab{5}\spadcommand{series(sin(a*x),a = \%pi/4)} -\indentrel{3}\begin{verbatim} - (2) - %pi x %pi x %pi - sin(ÄÄÄÄÄ) + x cos(ÄÄÄÄÄ)(a - ÄÄÄ) - 4 4 4 - + - 2 %pi x 3 %pi x - x sin(ÄÄÄÄÄ) x cos(ÄÄÄÄÄ) - 4 %pi 2 4 %pi 3 - - ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) - ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) - 2 4 6 4 - + - 4 %pi x 5 %pi x - x sin(ÄÄÄÄÄ) x cos(ÄÄÄÄÄ) - 4 %pi 4 4 %pi 5 - ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) + ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) - 24 4 120 4 - + - 6 %pi x 7 %pi x - x sin(ÄÄÄÄÄ) x cos(ÄÄÄÄÄ) - 4 %pi 6 4 %pi 7 - - ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) - ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) - 720 4 5040 4 - + - 8 %pi x 9 %pi x - x sin(ÄÄÄÄÄ) x cos(ÄÄÄÄÄ) - 4 %pi 8 4 %pi 9 - ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) + ÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) - 40320 4 362880 4 - + - 10 %pi x - x sin(ÄÄÄÄÄ) - 4 %pi 10 %pi 11 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄ (a - ÄÄÄ) + O((a - ÄÄÄ) ) - 3628800 4 4 -Type: UnivariatePuiseuxSeries(Expression Integer,a,pi/4) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExSeriesConvertEmpty2} -\begin{paste}{ExSeriesConvertEmpty2}{ExSeriesConvertPatch2} -\pastebutton{ExSeriesConvertEmpty2}{\showpaste} -\tab{5}\spadcommand{series(sin(a*x),a = \%pi/4)} -\end{paste}\end{patch} - -\begin{patch}{ExSeriesFunctionsPatch1} -\begin{paste}{ExSeriesFunctionsFull1}{ExSeriesFunctionsEmpty1} -\pastebutton{ExSeriesFunctionsFull1}{\hidepaste} -\tab{5}\spadcommand{f := series(1/(1-x),x = 0)\bound{f1 }} -\indentrel{3}\begin{verbatim} - (1) - 2 3 4 5 6 7 8 9 10 - 1 + x + x + x + x + x + x + x + x + x + x - + - 11 - O(x ) - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExSeriesFunctionsEmpty1} -\begin{paste}{ExSeriesFunctionsEmpty1}{ExSeriesFunctionsPatch1} -\pastebutton{ExSeriesFunctionsEmpty1}{\showpaste} -\tab{5}\spadcommand{f := series(1/(1-x),x = 0)\bound{f1 }} -\end{paste}\end{patch} - -\begin{patch}{ExSeriesFunctionsPatch2} -\begin{paste}{ExSeriesFunctionsFull2}{ExSeriesFunctionsEmpty2} -\pastebutton{ExSeriesFunctionsFull2}{\hidepaste} -\tab{5}\spadcommand{g := log(f)\free{f1 }\bound{g }} -\indentrel{3}\begin{verbatim} - (2) - 1 2 1 3 1 4 1 5 1 6 1 7 1 8 - x + Ä x + Ä x + Ä x + Ä x + Ä x + Ä x + Ä x - 2 3 4 5 6 7 8 - + - 1 9 1 10 1 11 12 - Ä x + ÄÄ x + ÄÄ x + O(x ) - 9 10 11 - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExSeriesFunctionsEmpty2} -\begin{paste}{ExSeriesFunctionsEmpty2}{ExSeriesFunctionsPatch2} -\pastebutton{ExSeriesFunctionsEmpty2}{\showpaste} -\tab{5}\spadcommand{g := log(f)\free{f1 }\bound{g }} -\end{paste}\end{patch} - -\begin{patch}{ExSeriesFunctionsPatch3} -\begin{paste}{ExSeriesFunctionsFull3}{ExSeriesFunctionsEmpty3} -\pastebutton{ExSeriesFunctionsFull3}{\hidepaste} -\tab{5}\spadcommand{exp(g)\free{g }} -\indentrel{3}\begin{verbatim} - (3) - 2 3 4 5 6 7 8 9 10 - 1 + x + x + x + x + x + x + x + x + x + x - + - 11 - O(x ) - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExSeriesFunctionsEmpty3} -\begin{paste}{ExSeriesFunctionsEmpty3}{ExSeriesFunctionsPatch3} -\pastebutton{ExSeriesFunctionsEmpty3}{\showpaste} -\tab{5}\spadcommand{exp(g)\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ExSeriesManipulatePatch1} -\begin{paste}{ExSeriesManipulateFull1}{ExSeriesManipulateEmpty1} -\pastebutton{ExSeriesManipulateFull1}{\hidepaste} -\tab{5}\spadcommand{f := series(1/(1-x),x = 0)\bound{f }} -\indentrel{3}\begin{verbatim} - (1) - 2 3 4 5 6 7 8 9 10 - 1 + x + x + x + x + x + x + x + x + x + x - + - 11 - O(x ) - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExSeriesManipulateEmpty1} -\begin{paste}{ExSeriesManipulateEmpty1}{ExSeriesManipulatePatch1} -\pastebutton{ExSeriesManipulateEmpty1}{\showpaste} -\tab{5}\spadcommand{f := series(1/(1-x),x = 0)\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{ExSeriesManipulatePatch2} -\begin{paste}{ExSeriesManipulateFull2}{ExSeriesManipulateEmpty2} -\pastebutton{ExSeriesManipulateFull2}{\hidepaste} -\tab{5}\spadcommand{f ** 2\free{f }} -\indentrel{3}\begin{verbatim} - (2) - 2 3 4 5 6 7 8 - 1 + 2x + 3x + 4x + 5x + 6x + 7x + 8x + 9x - + - 9 10 11 - 10x + 11x + O(x ) - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExSeriesManipulateEmpty2} -\begin{paste}{ExSeriesManipulateEmpty2}{ExSeriesManipulatePatch2} -\pastebutton{ExSeriesManipulateEmpty2}{\showpaste} -\tab{5}\spadcommand{f ** 2\free{f }} -\end{paste}\end{patch} - diff --git a/books/pages/exsum.pht b/books/pages/exsum.pht deleted file mode 100644 index 7d6c765..0000000 --- a/books/pages/exsum.pht +++ /dev/null @@ -1,235 +0,0 @@ -\begin{patch}{ExSumGeneralFunctionPatch1} -\begin{paste}{ExSumGeneralFunctionFull1}{ExSumGeneralFunctionEmpty1} -\pastebutton{ExSumGeneralFunctionFull1}{\hidepaste} -\tab{5}\spadcommand{sum(k * x**k,k = 1..n)} -\indentrel{3}\begin{verbatim} - 2 n - (n x + (- n - 1)x)x + x - (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 2 - x - 2x + 1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExSumGeneralFunctionEmpty1} -\begin{paste}{ExSumGeneralFunctionEmpty1}{ExSumGeneralFunctionPatch1} -\pastebutton{ExSumGeneralFunctionEmpty1}{\showpaste} -\tab{5}\spadcommand{sum(k * x**k,k = 1..n)} -\end{paste}\end{patch} - -\begin{patch}{ExSumInfinitePatch1} -\begin{paste}{ExSumInfiniteFull1}{ExSumInfiniteEmpty1} -\pastebutton{ExSumInfiniteFull1}{\hidepaste} -\tab{5}\spadcommand{limit( sum(1/(k * (k + 2)),k = 1..n) ,n = \%plusInfinity)} -\indentrel{3}\begin{verbatim} - 3 - (1) Ä - 4 -Type: Union(OrderedCompletion Fraction Polynomial Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExSumInfiniteEmpty1} -\begin{paste}{ExSumInfiniteEmpty1}{ExSumInfinitePatch1} -\pastebutton{ExSumInfiniteEmpty1}{\showpaste} -\tab{5}\spadcommand{limit( sum(1/(k * (k + 2)),k = 1..n) ,n = \%plusInfinity)} -\end{paste}\end{patch} - -\begin{patch}{ExSumClosedFormPatch1} -\begin{paste}{ExSumClosedFormFull1}{ExSumClosedFormEmpty1} -\pastebutton{ExSumClosedFormFull1}{\hidepaste} -\tab{5}\spadcommand{s := sum(k**2,k = a..b)\bound{s }} -\indentrel{3}\begin{verbatim} - 3 2 3 2 - 2b + 3b + b - 2a + 3a - a - (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 6 - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExSumClosedFormEmpty1} -\begin{paste}{ExSumClosedFormEmpty1}{ExSumClosedFormPatch1} -\pastebutton{ExSumClosedFormEmpty1}{\showpaste} -\tab{5}\spadcommand{s := sum(k**2,k = a..b)\bound{s }} -\end{paste}\end{patch} - -\begin{patch}{ExSumClosedFormPatch2} -\begin{paste}{ExSumClosedFormFull2}{ExSumClosedFormEmpty2} -\pastebutton{ExSumClosedFormFull2}{\hidepaste} -\tab{5}\spadcommand{eval(s,[a,b],[1,25])\free{s }} -\indentrel{3}\begin{verbatim} - (2) 5525 - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExSumClosedFormEmpty2} -\begin{paste}{ExSumClosedFormEmpty2}{ExSumClosedFormPatch2} -\pastebutton{ExSumClosedFormEmpty2}{\showpaste} -\tab{5}\spadcommand{eval(s,[a,b],[1,25])\free{s }} -\end{paste}\end{patch} - -\begin{patch}{ExSumClosedFormPatch3} -\begin{paste}{ExSumClosedFormFull3}{ExSumClosedFormEmpty3} -\pastebutton{ExSumClosedFormFull3}{\hidepaste} -\tab{5}\spadcommand{reduce(+,[i**2 for i in 1..25])} -\indentrel{3}\begin{verbatim} - (3) 5525 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExSumClosedFormEmpty3} -\begin{paste}{ExSumClosedFormEmpty3}{ExSumClosedFormPatch3} -\pastebutton{ExSumClosedFormEmpty3}{\showpaste} -\tab{5}\spadcommand{reduce(+,[i**2 for i in 1..25])} -\end{paste}\end{patch} - -\begin{patch}{ExSumPolynomialPatch1} -\begin{paste}{ExSumPolynomialFull1}{ExSumPolynomialEmpty1} -\pastebutton{ExSumPolynomialFull1}{\hidepaste} -\tab{5}\spadcommand{sum(3*k**2/(c**2 + 1) + 12*k/d,k = (3*a)..(4*b))} -\indentrel{3}\begin{verbatim} - (1) - 3 2 3 2 - (128b + 48b + 4b - 54a + 27a - 3a)d - + - 2 2 2 2 2 - (192b + 48b - 108a + 36a)c + 192b + 48b - 108a - + - 36a - / - 2 - (2c + 2)d - Type: Union(Fraction Polynomial Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExSumPolynomialEmpty1} -\begin{paste}{ExSumPolynomialEmpty1}{ExSumPolynomialPatch1} -\pastebutton{ExSumPolynomialEmpty1}{\showpaste} -\tab{5}\spadcommand{sum(3*k**2/(c**2 + 1) + 12*k/d,k = (3*a)..(4*b))} -\end{paste}\end{patch} - -\begin{patch}{ExSumListEntriesIPatch1} -\begin{paste}{ExSumListEntriesIFull1}{ExSumListEntriesIEmpty1} -\pastebutton{ExSumListEntriesIFull1}{\hidepaste} -\tab{5}\spadcommand{[i for i in 1..15]} -\indentrel{3}\begin{verbatim} - (1) [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExSumListEntriesIEmpty1} -\begin{paste}{ExSumListEntriesIEmpty1}{ExSumListEntriesIPatch1} -\pastebutton{ExSumListEntriesIEmpty1}{\showpaste} -\tab{5}\spadcommand{[i for i in 1..15]} -\end{paste}\end{patch} - -\begin{patch}{ExSumListEntriesIPatch2} -\begin{paste}{ExSumListEntriesIFull2}{ExSumListEntriesIEmpty2} -\pastebutton{ExSumListEntriesIFull2}{\hidepaste} -\tab{5}\spadcommand{reduce(+,[i for i in 1..15])} -\indentrel{3}\begin{verbatim} - (2) 120 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExSumListEntriesIEmpty2} -\begin{paste}{ExSumListEntriesIEmpty2}{ExSumListEntriesIPatch2} -\pastebutton{ExSumListEntriesIEmpty2}{\showpaste} -\tab{5}\spadcommand{reduce(+,[i for i in 1..15])} -\end{paste}\end{patch} - -\begin{patch}{ExSumApproximateEPatch1} -\begin{paste}{ExSumApproximateEFull1}{ExSumApproximateEEmpty1} -\pastebutton{ExSumApproximateEFull1}{\hidepaste} -\tab{5}\spadcommand{reduce(+,[1.0/factorial(n) for n in 0..20])} -\indentrel{3}\begin{verbatim} - (1) 2.7182818284 590452354 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExSumApproximateEEmpty1} -\begin{paste}{ExSumApproximateEEmpty1}{ExSumApproximateEPatch1} -\pastebutton{ExSumApproximateEEmpty1}{\showpaste} -\tab{5}\spadcommand{reduce(+,[1.0/factorial(n) for n in 0..20])} -\end{paste}\end{patch} - -\begin{patch}{ExSumListEntriesIIPatch1} -\begin{paste}{ExSumListEntriesIIFull1}{ExSumListEntriesIIEmpty1} -\pastebutton{ExSumListEntriesIIFull1}{\hidepaste} -\tab{5}\spadcommand{[n**2 for n in 5..20]} -\indentrel{3}\begin{verbatim} - (1) - [25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, - 256, 289, 324, 361, 400] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExSumListEntriesIIEmpty1} -\begin{paste}{ExSumListEntriesIIEmpty1}{ExSumListEntriesIIPatch1} -\pastebutton{ExSumListEntriesIIEmpty1}{\showpaste} -\tab{5}\spadcommand{[n**2 for n in 5..20]} -\end{paste}\end{patch} - -\begin{patch}{ExSumListEntriesIIPatch2} -\begin{paste}{ExSumListEntriesIIFull2}{ExSumListEntriesIIEmpty2} -\pastebutton{ExSumListEntriesIIFull2}{\hidepaste} -\tab{5}\spadcommand{reduce(+,[n**2 for n in 5..20])} -\indentrel{3}\begin{verbatim} - (2) 2840 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExSumListEntriesIIEmpty2} -\begin{paste}{ExSumListEntriesIIEmpty2}{ExSumListEntriesIIPatch2} -\pastebutton{ExSumListEntriesIIEmpty2}{\showpaste} -\tab{5}\spadcommand{reduce(+,[n**2 for n in 5..20])} -\end{paste}\end{patch} - -\begin{patch}{ExSumCubesPatch1} -\begin{paste}{ExSumCubesFull1}{ExSumCubesEmpty1} -\pastebutton{ExSumCubesFull1}{\hidepaste} -\tab{5}\spadcommand{sum(k**3,k = 1..n)} -\indentrel{3}\begin{verbatim} - 4 3 2 - n + 2n + n - (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄ - 4 - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExSumCubesEmpty1} -\begin{paste}{ExSumCubesEmpty1}{ExSumCubesPatch1} -\pastebutton{ExSumCubesEmpty1}{\showpaste} -\tab{5}\spadcommand{sum(k**3,k = 1..n)} -\end{paste}\end{patch} - -\begin{patch}{ExSumCubesPatch2} -\begin{paste}{ExSumCubesFull2}{ExSumCubesEmpty2} -\pastebutton{ExSumCubesFull2}{\hidepaste} -\tab{5}\spadcommand{sum(k,k = 1..n) ** 2} -\indentrel{3}\begin{verbatim} - 4 3 2 - n + 2n + n - (2) ÄÄÄÄÄÄÄÄÄÄÄÄÄ - 4 - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ExSumCubesEmpty2} -\begin{paste}{ExSumCubesEmpty2}{ExSumCubesPatch2} -\pastebutton{ExSumCubesEmpty2}{\showpaste} -\tab{5}\spadcommand{sum(k,k = 1..n) ** 2} -\end{paste}\end{patch} - diff --git a/books/pages/farray.pht b/books/pages/farray.pht deleted file mode 100644 index 5346e3e..0000000 --- a/books/pages/farray.pht +++ /dev/null @@ -1,258 +0,0 @@ -\begin{patch}{FlexibleArrayXmpPagePatch1} -\begin{paste}{FlexibleArrayXmpPageFull1}{FlexibleArrayXmpPageEmpty1} -\pastebutton{FlexibleArrayXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{flexibleArray [i for i in 1..6]} -\indentrel{3}\begin{verbatim} - (1) [1,2,3,4,5,6] - Type: FlexibleArray PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPageEmpty1} -\begin{paste}{FlexibleArrayXmpPageEmpty1}{FlexibleArrayXmpPagePatch1} -\pastebutton{FlexibleArrayXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{flexibleArray [i for i in 1..6]} -\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPagePatch2} -\begin{paste}{FlexibleArrayXmpPageFull2}{FlexibleArrayXmpPageEmpty2} -\pastebutton{FlexibleArrayXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{f : FARRAY INT := new(6,0)\bound{f }} -\indentrel{3}\begin{verbatim} - (2) [0,0,0,0,0,0] - Type: FlexibleArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPageEmpty2} -\begin{paste}{FlexibleArrayXmpPageEmpty2}{FlexibleArrayXmpPagePatch2} -\pastebutton{FlexibleArrayXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{f : FARRAY INT := new(6,0)\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPagePatch3} -\begin{paste}{FlexibleArrayXmpPageFull3}{FlexibleArrayXmpPageEmpty3} -\pastebutton{FlexibleArrayXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{for i in 1..6 repeat f.i := i; f\bound{f1 }\free{f }} -\indentrel{3}\begin{verbatim} - (3) [1,2,3,4,5,6] - Type: FlexibleArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPageEmpty3} -\begin{paste}{FlexibleArrayXmpPageEmpty3}{FlexibleArrayXmpPagePatch3} -\pastebutton{FlexibleArrayXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{for i in 1..6 repeat f.i := i; f\bound{f1 }\free{f }} -\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPagePatch4} -\begin{paste}{FlexibleArrayXmpPageFull4}{FlexibleArrayXmpPageEmpty4} -\pastebutton{FlexibleArrayXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{physicalLength f\free{f1 }} -\indentrel{3}\begin{verbatim} - (4) 6 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPageEmpty4} -\begin{paste}{FlexibleArrayXmpPageEmpty4}{FlexibleArrayXmpPagePatch4} -\pastebutton{FlexibleArrayXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{physicalLength f\free{f1 }} -\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPagePatch5} -\begin{paste}{FlexibleArrayXmpPageFull5}{FlexibleArrayXmpPageEmpty5} -\pastebutton{FlexibleArrayXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{concat!(f,11)\bound{f2 }\free{f1 }} -\indentrel{3}\begin{verbatim} - (5) [1,2,3,4,5,6,11] - Type: FlexibleArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPageEmpty5} -\begin{paste}{FlexibleArrayXmpPageEmpty5}{FlexibleArrayXmpPagePatch5} -\pastebutton{FlexibleArrayXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{concat!(f,11)\bound{f2 }\free{f1 }} -\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPagePatch6} -\begin{paste}{FlexibleArrayXmpPageFull6}{FlexibleArrayXmpPageEmpty6} -\pastebutton{FlexibleArrayXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{physicalLength f\free{f2 }} -\indentrel{3}\begin{verbatim} - (6) 10 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPageEmpty6} -\begin{paste}{FlexibleArrayXmpPageEmpty6}{FlexibleArrayXmpPagePatch6} -\pastebutton{FlexibleArrayXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{physicalLength f\free{f2 }} -\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPagePatch7} -\begin{paste}{FlexibleArrayXmpPageFull7}{FlexibleArrayXmpPageEmpty7} -\pastebutton{FlexibleArrayXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{physicalLength!(f,15)\bound{f3 }\free{f2 }} -\indentrel{3}\begin{verbatim} - (7) [1,2,3,4,5,6,11] - Type: FlexibleArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPageEmpty7} -\begin{paste}{FlexibleArrayXmpPageEmpty7}{FlexibleArrayXmpPagePatch7} -\pastebutton{FlexibleArrayXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{physicalLength!(f,15)\bound{f3 }\free{f2 }} -\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPagePatch8} -\begin{paste}{FlexibleArrayXmpPageFull8}{FlexibleArrayXmpPageEmpty8} -\pastebutton{FlexibleArrayXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{concat!(f,f)\bound{f4 }\free{f3 }} -\indentrel{3}\begin{verbatim} - (8) [1,2,3,4,5,6,11,1,2,3,4,5,6,11] - Type: FlexibleArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPageEmpty8} -\begin{paste}{FlexibleArrayXmpPageEmpty8}{FlexibleArrayXmpPagePatch8} -\pastebutton{FlexibleArrayXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{concat!(f,f)\bound{f4 }\free{f3 }} -\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPagePatch9} -\begin{paste}{FlexibleArrayXmpPageFull9}{FlexibleArrayXmpPageEmpty9} -\pastebutton{FlexibleArrayXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{insert!(22,f,1)\bound{f5 }\free{f4 }} -\indentrel{3}\begin{verbatim} - (9) [22,1,2,3,4,5,6,11,1,2,3,4,5,6,11] - Type: FlexibleArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPageEmpty9} -\begin{paste}{FlexibleArrayXmpPageEmpty9}{FlexibleArrayXmpPagePatch9} -\pastebutton{FlexibleArrayXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{insert!(22,f,1)\bound{f5 }\free{f4 }} -\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPagePatch10} -\begin{paste}{FlexibleArrayXmpPageFull10}{FlexibleArrayXmpPageEmpty10} -\pastebutton{FlexibleArrayXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{g := f(10..)\bound{g }\free{f5 }} -\indentrel{3}\begin{verbatim} - (10) [2,3,4,5,6,11] - Type: FlexibleArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPageEmpty10} -\begin{paste}{FlexibleArrayXmpPageEmpty10}{FlexibleArrayXmpPagePatch10} -\pastebutton{FlexibleArrayXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{g := f(10..)\bound{g }\free{f5 }} -\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPagePatch11} -\begin{paste}{FlexibleArrayXmpPageFull11}{FlexibleArrayXmpPageEmpty11} -\pastebutton{FlexibleArrayXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{insert!(g,f,1)\bound{g1 }\free{g f5 }} -\indentrel{3}\begin{verbatim} - (11) [2,3,4,5,6,11,22,1,2,3,4,5,6,11,1,2,3,4,5,6,11] - Type: FlexibleArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPageEmpty11} -\begin{paste}{FlexibleArrayXmpPageEmpty11}{FlexibleArrayXmpPagePatch11} -\pastebutton{FlexibleArrayXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{insert!(g,f,1)\bound{g1 }\free{g f5 }} -\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPagePatch12} -\begin{paste}{FlexibleArrayXmpPageFull12}{FlexibleArrayXmpPageEmpty12} -\pastebutton{FlexibleArrayXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{merge!(sort! f, sort! g)\bound{f6 }\free{g f5 }} -\indentrel{3}\begin{verbatim} - (12) - [1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, - 6, 6, 6, 6, 11, 11, 11, 11, 22] - Type: FlexibleArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPageEmpty12} -\begin{paste}{FlexibleArrayXmpPageEmpty12}{FlexibleArrayXmpPagePatch12} -\pastebutton{FlexibleArrayXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{merge!(sort! f, sort! g)\bound{f6 }\free{g f5 }} -\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPagePatch13} -\begin{paste}{FlexibleArrayXmpPageFull13}{FlexibleArrayXmpPageEmpty13} -\pastebutton{FlexibleArrayXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{removeDuplicates! f\bound{f7 }\free{f6 }} -\indentrel{3}\begin{verbatim} - (13) [1,2,3,4,5,6,11,22] - Type: FlexibleArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPageEmpty13} -\begin{paste}{FlexibleArrayXmpPageEmpty13}{FlexibleArrayXmpPagePatch13} -\pastebutton{FlexibleArrayXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{removeDuplicates! f\bound{f7 }\free{f6 }} -\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPagePatch14} -\begin{paste}{FlexibleArrayXmpPageFull14}{FlexibleArrayXmpPageEmpty14} -\pastebutton{FlexibleArrayXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{select!(i +-> even? i,f)\bound{f8 }\free{f7 }} -\indentrel{3}\begin{verbatim} - (14) [2,4,6,22] - Type: FlexibleArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPageEmpty14} -\begin{paste}{FlexibleArrayXmpPageEmpty14}{FlexibleArrayXmpPagePatch14} -\pastebutton{FlexibleArrayXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{select!(i +-> even? i,f)\bound{f8 }\free{f7 }} -\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPagePatch15} -\begin{paste}{FlexibleArrayXmpPageFull15}{FlexibleArrayXmpPageEmpty15} -\pastebutton{FlexibleArrayXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{physicalLength f\free{b8 }} -\indentrel{3}\begin{verbatim} - (15) 8 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPageEmpty15} -\begin{paste}{FlexibleArrayXmpPageEmpty15}{FlexibleArrayXmpPagePatch15} -\pastebutton{FlexibleArrayXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{physicalLength f\free{b8 }} -\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPagePatch16} -\begin{paste}{FlexibleArrayXmpPageFull16}{FlexibleArrayXmpPageEmpty16} -\pastebutton{FlexibleArrayXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{shrinkable(false)$FlexibleArray(Integer)} -\indentrel{3}\begin{verbatim} - (16) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FlexibleArrayXmpPageEmpty16} -\begin{paste}{FlexibleArrayXmpPageEmpty16}{FlexibleArrayXmpPagePatch16} -\pastebutton{FlexibleArrayXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{shrinkable(false)$FlexibleArray(Integer)} -\end{paste}\end{patch} - diff --git a/books/pages/file.pht b/books/pages/file.pht deleted file mode 100644 index 19cd4b2..0000000 --- a/books/pages/file.pht +++ /dev/null @@ -1,206 +0,0 @@ -\begin{patch}{FileXmpPagePatch1} -\begin{paste}{FileXmpPageFull1}{FileXmpPageEmpty1} -\pastebutton{FileXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{ifile:File List Integer:=open("/tmp/jazz1","output")\bound{ifile }} -\indentrel{3}\begin{verbatim} - (1) "/tmp/jazz1" - Type: File List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileXmpPageEmpty1} -\begin{paste}{FileXmpPageEmpty1}{FileXmpPagePatch1} -\pastebutton{FileXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{ifile:File List Integer:=open("/tmp/jazz1","output")\bound{ifile }} -\end{paste}\end{patch} - -\begin{patch}{FileXmpPagePatch2} -\begin{paste}{FileXmpPageFull2}{FileXmpPageEmpty2} -\pastebutton{FileXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{write!(ifile, [-1,2,3])\free{ifile }\bound{ifile1 }} -\indentrel{3}\begin{verbatim} - (2) [- 1,2,3] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileXmpPageEmpty2} -\begin{paste}{FileXmpPageEmpty2}{FileXmpPagePatch2} -\pastebutton{FileXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{write!(ifile, [-1,2,3])\free{ifile }\bound{ifile1 }} -\end{paste}\end{patch} - -\begin{patch}{FileXmpPagePatch3} -\begin{paste}{FileXmpPageFull3}{FileXmpPageEmpty3} -\pastebutton{FileXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{write!(ifile, [10,-10,0,111])\free{ifile1 }\bound{ifile2 }} -\indentrel{3}\begin{verbatim} - (3) [10,- 10,0,111] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileXmpPageEmpty3} -\begin{paste}{FileXmpPageEmpty3}{FileXmpPagePatch3} -\pastebutton{FileXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{write!(ifile, [10,-10,0,111])\free{ifile1 }\bound{ifile2 }} -\end{paste}\end{patch} - -\begin{patch}{FileXmpPagePatch4} -\begin{paste}{FileXmpPageFull4}{FileXmpPageEmpty4} -\pastebutton{FileXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{write!(ifile, [7])\free{ifile2 }\bound{ifile3 }} -\indentrel{3}\begin{verbatim} - (4) [7] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileXmpPageEmpty4} -\begin{paste}{FileXmpPageEmpty4}{FileXmpPagePatch4} -\pastebutton{FileXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{write!(ifile, [7])\free{ifile2 }\bound{ifile3 }} -\end{paste}\end{patch} - -\begin{patch}{FileXmpPagePatch5} -\begin{paste}{FileXmpPageFull5}{FileXmpPageEmpty5} -\pastebutton{FileXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{reopen!(ifile, "input")\free{ifile3 }\bound{ifile4 }} -\indentrel{3}\begin{verbatim} - (5) "/tmp/jazz1" - Type: File List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileXmpPageEmpty5} -\begin{paste}{FileXmpPageEmpty5}{FileXmpPagePatch5} -\pastebutton{FileXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{reopen!(ifile, "input")\free{ifile3 }\bound{ifile4 }} -\end{paste}\end{patch} - -\begin{patch}{FileXmpPagePatch6} -\begin{paste}{FileXmpPageFull6}{FileXmpPageEmpty6} -\pastebutton{FileXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{read! ifile\free{ifile4 }\bound{ifile5 }} -\indentrel{3}\begin{verbatim} - (6) [- 1,2,3] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileXmpPageEmpty6} -\begin{paste}{FileXmpPageEmpty6}{FileXmpPagePatch6} -\pastebutton{FileXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{read! ifile\free{ifile4 }\bound{ifile5 }} -\end{paste}\end{patch} - -\begin{patch}{FileXmpPagePatch7} -\begin{paste}{FileXmpPageFull7}{FileXmpPageEmpty7} -\pastebutton{FileXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{read! ifile\free{ifile5 }\bound{ifile6 }} -\indentrel{3}\begin{verbatim} - (7) [10,- 10,0,111] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileXmpPageEmpty7} -\begin{paste}{FileXmpPageEmpty7}{FileXmpPagePatch7} -\pastebutton{FileXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{read! ifile\free{ifile5 }\bound{ifile6 }} -\end{paste}\end{patch} - -\begin{patch}{FileXmpPagePatch8} -\begin{paste}{FileXmpPageFull8}{FileXmpPageEmpty8} -\pastebutton{FileXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{readIfCan! ifile\free{ifile6 }\bound{ifile7 }} -\indentrel{3}\begin{verbatim} - (8) [7] - Type: Union(List Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileXmpPageEmpty8} -\begin{paste}{FileXmpPageEmpty8}{FileXmpPagePatch8} -\pastebutton{FileXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{readIfCan! ifile\free{ifile6 }\bound{ifile7 }} -\end{paste}\end{patch} - -\begin{patch}{FileXmpPagePatch9} -\begin{paste}{FileXmpPageFull9}{FileXmpPageEmpty9} -\pastebutton{FileXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{readIfCan! ifile\free{ifile7 }\bound{ifile8 }} -\indentrel{3}\begin{verbatim} - (9) "failed" - Type: Union("failed",...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileXmpPageEmpty9} -\begin{paste}{FileXmpPageEmpty9}{FileXmpPagePatch9} -\pastebutton{FileXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{readIfCan! ifile\free{ifile7 }\bound{ifile8 }} -\end{paste}\end{patch} - -\begin{patch}{FileXmpPagePatch10} -\begin{paste}{FileXmpPageFull10}{FileXmpPageEmpty10} -\pastebutton{FileXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{iomode ifile\free{ifile }} -\indentrel{3}\begin{verbatim} - (10) "input" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileXmpPageEmpty10} -\begin{paste}{FileXmpPageEmpty10}{FileXmpPagePatch10} -\pastebutton{FileXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{iomode ifile\free{ifile }} -\end{paste}\end{patch} - -\begin{patch}{FileXmpPagePatch11} -\begin{paste}{FileXmpPageFull11}{FileXmpPageEmpty11} -\pastebutton{FileXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{name ifile\free{ifile }} -\indentrel{3}\begin{verbatim} - (11) "/tmp/jazz1" - Type: FileName -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileXmpPageEmpty11} -\begin{paste}{FileXmpPageEmpty11}{FileXmpPagePatch11} -\pastebutton{FileXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{name ifile\free{ifile }} -\end{paste}\end{patch} - -\begin{patch}{FileXmpPagePatch12} -\begin{paste}{FileXmpPageFull12}{FileXmpPageEmpty12} -\pastebutton{FileXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{close! ifile\free{ifile }\bound{ifileA }} -\indentrel{3}\begin{verbatim} - (12) "/tmp/jazz1" - Type: File List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileXmpPageEmpty12} -\begin{paste}{FileXmpPageEmpty12}{FileXmpPagePatch12} -\pastebutton{FileXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{close! ifile\free{ifile }\bound{ifileA }} -\end{paste}\end{patch} - -\begin{patch}{FileXmpPagePatch13} -\begin{paste}{FileXmpPageFull13}{FileXmpPageEmpty13} -\pastebutton{FileXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{)system rm /tmp/jazz1\free{ifileA }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileXmpPageEmpty13} -\begin{paste}{FileXmpPageEmpty13}{FileXmpPagePatch13} -\pastebutton{FileXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{)system rm /tmp/jazz1\free{ifileA }} -\end{paste}\end{patch} - diff --git a/books/pages/float.pht b/books/pages/float.pht deleted file mode 100644 index d1181af..0000000 --- a/books/pages/float.pht +++ /dev/null @@ -1,645 +0,0 @@ -\begin{patch}{ugxFloatIntroPagePatch1} -\begin{paste}{ugxFloatIntroPageFull1}{ugxFloatIntroPageEmpty1} -\pastebutton{ugxFloatIntroPageFull1}{\hidepaste} -\tab{5}\spadcommand{1.234} -\indentrel{3}\begin{verbatim} - (1) 1.234 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatIntroPageEmpty1} -\begin{paste}{ugxFloatIntroPageEmpty1}{ugxFloatIntroPagePatch1} -\pastebutton{ugxFloatIntroPageEmpty1}{\showpaste} -\tab{5}\spadcommand{1.234} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatIntroPagePatch2} -\begin{paste}{ugxFloatIntroPageFull2}{ugxFloatIntroPageEmpty2} -\pastebutton{ugxFloatIntroPageFull2}{\hidepaste} -\tab{5}\spadcommand{1.234E2} -\indentrel{3}\begin{verbatim} - (2) 123.4 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatIntroPageEmpty2} -\begin{paste}{ugxFloatIntroPageEmpty2}{ugxFloatIntroPagePatch2} -\pastebutton{ugxFloatIntroPageEmpty2}{\showpaste} -\tab{5}\spadcommand{1.234E2} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatIntroPagePatch3} -\begin{paste}{ugxFloatIntroPageFull3}{ugxFloatIntroPageEmpty3} -\pastebutton{ugxFloatIntroPageFull3}{\hidepaste} -\tab{5}\spadcommand{sqrt(1.2 + 2.3 / 3.4 ** 4.5)} -\indentrel{3}\begin{verbatim} - (3) 1.0996972790 671286226 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatIntroPageEmpty3} -\begin{paste}{ugxFloatIntroPageEmpty3}{ugxFloatIntroPagePatch3} -\pastebutton{ugxFloatIntroPageEmpty3}{\showpaste} -\tab{5}\spadcommand{sqrt(1.2 + 2.3 / 3.4 ** 4.5)} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatOutputPagePatch1} -\begin{paste}{ugxFloatOutputPageFull1}{ugxFloatOutputPageEmpty1} -\pastebutton{ugxFloatOutputPageFull1}{\hidepaste} -\tab{5}\spadcommand{outputSpacing 0; x := sqrt 0.2\bound{x }\bound{os0 }} -\indentrel{3}\begin{verbatim} - (1) 0.44721359549995793928 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatOutputPageEmpty1} -\begin{paste}{ugxFloatOutputPageEmpty1}{ugxFloatOutputPagePatch1} -\pastebutton{ugxFloatOutputPageEmpty1}{\showpaste} -\tab{5}\spadcommand{outputSpacing 0; x := sqrt 0.2\bound{x }\bound{os0 }} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatOutputPagePatch2} -\begin{paste}{ugxFloatOutputPageFull2}{ugxFloatOutputPageEmpty2} -\pastebutton{ugxFloatOutputPageFull2}{\hidepaste} -\tab{5}\spadcommand{outputSpacing 5; x\bound{os5 }\free{x }} -\indentrel{3}\begin{verbatim} - (2) 0.44721 35954 99957 93928 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatOutputPageEmpty2} -\begin{paste}{ugxFloatOutputPageEmpty2}{ugxFloatOutputPagePatch2} -\pastebutton{ugxFloatOutputPageEmpty2}{\showpaste} -\tab{5}\spadcommand{outputSpacing 5; x\bound{os5 }\free{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatOutputPagePatch3} -\begin{paste}{ugxFloatOutputPageFull3}{ugxFloatOutputPageEmpty3} -\pastebutton{ugxFloatOutputPageFull3}{\hidepaste} -\tab{5}\spadcommand{y := x/10**10\bound{y }\free{x os5 }} -\indentrel{3}\begin{verbatim} - (3) 0.44721 35954 99957 93928 E -10 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatOutputPageEmpty3} -\begin{paste}{ugxFloatOutputPageEmpty3}{ugxFloatOutputPagePatch3} -\pastebutton{ugxFloatOutputPageEmpty3}{\showpaste} -\tab{5}\spadcommand{y := x/10**10\bound{y }\free{x os5 }} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatOutputPagePatch4} -\begin{paste}{ugxFloatOutputPageFull4}{ugxFloatOutputPageEmpty4} -\pastebutton{ugxFloatOutputPageFull4}{\hidepaste} -\tab{5}\spadcommand{outputFloating(); x\bound{of }\free{os5 x }} -\indentrel{3}\begin{verbatim} - (4) 0.44721 35954 99957 93928 E 0 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatOutputPageEmpty4} -\begin{paste}{ugxFloatOutputPageEmpty4}{ugxFloatOutputPagePatch4} -\pastebutton{ugxFloatOutputPageEmpty4}{\showpaste} -\tab{5}\spadcommand{outputFloating(); x\bound{of }\free{os5 x }} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatOutputPagePatch5} -\begin{paste}{ugxFloatOutputPageFull5}{ugxFloatOutputPageEmpty5} -\pastebutton{ugxFloatOutputPageFull5}{\hidepaste} -\tab{5}\spadcommand{outputFixed(); y\bound{ox }\free{os5 y }} -\indentrel{3}\begin{verbatim} - (5) 0.00000 00000 44721 35954 99957 93928 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatOutputPageEmpty5} -\begin{paste}{ugxFloatOutputPageEmpty5}{ugxFloatOutputPagePatch5} -\pastebutton{ugxFloatOutputPageEmpty5}{\showpaste} -\tab{5}\spadcommand{outputFixed(); y\bound{ox }\free{os5 y }} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatOutputPagePatch6} -\begin{paste}{ugxFloatOutputPageFull6}{ugxFloatOutputPageEmpty6} -\pastebutton{ugxFloatOutputPageFull6}{\hidepaste} -\tab{5}\spadcommand{outputFloating 2; y\bound{of2 }\free{os5 y }} -\indentrel{3}\begin{verbatim} - (6) 0.45 E -10 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatOutputPageEmpty6} -\begin{paste}{ugxFloatOutputPageEmpty6}{ugxFloatOutputPagePatch6} -\pastebutton{ugxFloatOutputPageEmpty6}{\showpaste} -\tab{5}\spadcommand{outputFloating 2; y\bound{of2 }\free{os5 y }} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatOutputPagePatch7} -\begin{paste}{ugxFloatOutputPageFull7}{ugxFloatOutputPageEmpty7} -\pastebutton{ugxFloatOutputPageFull7}{\hidepaste} -\tab{5}\spadcommand{outputFixed 2; x\bound{ox2 }\free{os5 x }} -\indentrel{3}\begin{verbatim} - (7) 0.45 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatOutputPageEmpty7} -\begin{paste}{ugxFloatOutputPageEmpty7}{ugxFloatOutputPagePatch7} -\pastebutton{ugxFloatOutputPageEmpty7}{\showpaste} -\tab{5}\spadcommand{outputFixed 2; x\bound{ox2 }\free{os5 x }} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatOutputPagePatch8} -\begin{paste}{ugxFloatOutputPageFull8}{ugxFloatOutputPageEmpty8} -\pastebutton{ugxFloatOutputPageFull8}{\hidepaste} -\tab{5}\spadcommand{outputGeneral()} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatOutputPageEmpty8} -\begin{paste}{ugxFloatOutputPageEmpty8}{ugxFloatOutputPagePatch8} -\pastebutton{ugxFloatOutputPageEmpty8}{\showpaste} -\tab{5}\spadcommand{outputGeneral()} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatHilbertPagePatch1} -\begin{paste}{ugxFloatHilbertPageFull1}{ugxFloatHilbertPageEmpty1} -\pastebutton{ugxFloatHilbertPageFull1}{\hidepaste} -\tab{5}\spadcommand{a: Matrix Fraction Integer := matrix [[1/(i+j+1) for j in 0..9] for i in 0..9]\bound{a }} -\indentrel{3}\begin{verbatim} - Ú 1 1 1 1 1 1 1 1 1¿ - ³1 Ä Ä Ä Ä Ä Ä Ä Ä Äij - ³ 2 3 4 5 6 7 8 9 10³ - ³ ³ - ³1 1 1 1 1 1 1 1 1 1³ - ³Ä Ä Ä Ä Ä Ä Ä Ä ÄÄ Äij - ³2 3 4 5 6 7 8 9 10 11³ - ³ ³ - ³1 1 1 1 1 1 1 1 1 1³ - ³Ä Ä Ä Ä Ä Ä Ä ÄÄ ÄÄ Äij - ³3 4 5 6 7 8 9 10 11 12³ - ³ ³ - ³1 1 1 1 1 1 1 1 1 1³ - ³Ä Ä Ä Ä Ä Ä ÄÄ ÄÄ ÄÄ Äij - ³4 5 6 7 8 9 10 11 12 13³ - ³ ³ - ³1 1 1 1 1 1 1 1 1 1³ - ³Ä Ä Ä Ä Ä ÄÄ ÄÄ ÄÄ ÄÄ Äij - ³5 6 7 8 9 10 11 12 13 14³ - (1) ³ ³ - ³1 1 1 1 1 1 1 1 1 1³ - ³Ä Ä Ä Ä ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ Äij - ³6 7 8 9 10 11 12 13 14 15³ - ³ ³ - ³1 1 1 1 1 1 1 1 1 1³ - ³Ä Ä Ä ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ Äij - ³7 8 9 10 11 12 13 14 15 16³ - ³ ³ - ³1 1 1 1 1 1 1 1 1 1³ - ³Ä Ä ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ Äij - ³8 9 10 11 12 13 14 15 16 17³ - ³ ³ - ³1 1 1 1 1 1 1 1 1 1³ - ³Ä ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ Äij - ³9 10 11 12 13 14 15 16 17 18³ - ³ ³ - ³ 1 1 1 1 1 1 1 1 1 1³ - ³ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ ÄÄ Äij - À10 11 12 13 14 15 16 17 18 19Ù - Type: Matrix Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatHilbertPageEmpty1} -\begin{paste}{ugxFloatHilbertPageEmpty1}{ugxFloatHilbertPagePatch1} -\pastebutton{ugxFloatHilbertPageEmpty1}{\showpaste} -\tab{5}\spadcommand{a: Matrix Fraction Integer := matrix [[1/(i+j+1) for j in 0..9] for i in 0..9]\bound{a }} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatHilbertPagePatch2} -\begin{paste}{ugxFloatHilbertPageFull2}{ugxFloatHilbertPageEmpty2} -\pastebutton{ugxFloatHilbertPageFull2}{\hidepaste} -\tab{5}\spadcommand{d:= determinant a\free{a }\bound{d }} -\indentrel{3}\begin{verbatim} - (2) - 1 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 46206893947914691316295628839036278726983680000000000 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatHilbertPageEmpty2} -\begin{paste}{ugxFloatHilbertPageEmpty2}{ugxFloatHilbertPagePatch2} -\pastebutton{ugxFloatHilbertPageEmpty2}{\showpaste} -\tab{5}\spadcommand{d:= determinant a\free{a }\bound{d }} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatHilbertPagePatch3} -\begin{paste}{ugxFloatHilbertPageFull3}{ugxFloatHilbertPageEmpty3} -\pastebutton{ugxFloatHilbertPageFull3}{\hidepaste} -\tab{5}\spadcommand{d :: Float\free{d }} -\indentrel{3}\begin{verbatim} - (3) 0.21641 79226 43149 18691 E -52 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatHilbertPageEmpty3} -\begin{paste}{ugxFloatHilbertPageEmpty3}{ugxFloatHilbertPagePatch3} -\pastebutton{ugxFloatHilbertPageEmpty3}{\showpaste} -\tab{5}\spadcommand{d :: Float\free{d }} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatHilbertPagePatch4} -\begin{paste}{ugxFloatHilbertPageFull4}{ugxFloatHilbertPageEmpty4} -\pastebutton{ugxFloatHilbertPageFull4}{\hidepaste} -\tab{5}\spadcommand{b: Matrix DoubleFloat := matrix [[1/(i+j+1$DoubleFloat) for j in 0..9] for i in 0..9];\bound{b }} -\indentrel{3}\begin{verbatim} - Type: Matrix DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatHilbertPageEmpty4} -\begin{paste}{ugxFloatHilbertPageEmpty4}{ugxFloatHilbertPagePatch4} -\pastebutton{ugxFloatHilbertPageEmpty4}{\showpaste} -\tab{5}\spadcommand{b: Matrix DoubleFloat := matrix [[1/(i+j+1$DoubleFloat) for j in 0..9] for i in 0..9];\bound{b }} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatHilbertPagePatch5} -\begin{paste}{ugxFloatHilbertPageFull5}{ugxFloatHilbertPageEmpty5} -\pastebutton{ugxFloatHilbertPageFull5}{\hidepaste} -\tab{5}\spadcommand{determinant b\free{b }} -\indentrel{3}\begin{verbatim} - (5) 2.1643677945721411e-53 - Type: DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatHilbertPageEmpty5} -\begin{paste}{ugxFloatHilbertPageEmpty5}{ugxFloatHilbertPagePatch5} -\pastebutton{ugxFloatHilbertPageEmpty5}{\showpaste} -\tab{5}\spadcommand{determinant b\free{b }} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatHilbertPagePatch6} -\begin{paste}{ugxFloatHilbertPageFull6}{ugxFloatHilbertPageEmpty6} -\pastebutton{ugxFloatHilbertPageFull6}{\hidepaste} -\tab{5}\spadcommand{digits 40\bound{d40 }} -\indentrel{3}\begin{verbatim} - (6) 20 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatHilbertPageEmpty6} -\begin{paste}{ugxFloatHilbertPageEmpty6}{ugxFloatHilbertPagePatch6} -\pastebutton{ugxFloatHilbertPageEmpty6}{\showpaste} -\tab{5}\spadcommand{digits 40\bound{d40 }} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatHilbertPagePatch7} -\begin{paste}{ugxFloatHilbertPageFull7}{ugxFloatHilbertPageEmpty7} -\pastebutton{ugxFloatHilbertPageFull7}{\hidepaste} -\tab{5}\spadcommand{c: Matrix Float := matrix [[1/(i+j+1$Float) for j in 0..9] for i in 0..9];\free{d40 }\bound{c }} -\indentrel{3}\begin{verbatim} - Type: Matrix Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatHilbertPageEmpty7} -\begin{paste}{ugxFloatHilbertPageEmpty7}{ugxFloatHilbertPagePatch7} -\pastebutton{ugxFloatHilbertPageEmpty7}{\showpaste} -\tab{5}\spadcommand{c: Matrix Float := matrix [[1/(i+j+1$Float) for j in 0..9] for i in 0..9];\free{d40 }\bound{c }} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatHilbertPagePatch8} -\begin{paste}{ugxFloatHilbertPageFull8}{ugxFloatHilbertPageEmpty8} -\pastebutton{ugxFloatHilbertPageFull8}{\hidepaste} -\tab{5}\spadcommand{determinant c\free{c }} -\indentrel{3}\begin{verbatim} - (8) - 0.21641 79226 43149 18690 60594 98362 26174 36159 E -52 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatHilbertPageEmpty8} -\begin{paste}{ugxFloatHilbertPageEmpty8}{ugxFloatHilbertPagePatch8} -\pastebutton{ugxFloatHilbertPageEmpty8}{\showpaste} -\tab{5}\spadcommand{determinant c\free{c }} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatHilbertPagePatch9} -\begin{paste}{ugxFloatHilbertPageFull9}{ugxFloatHilbertPageEmpty9} -\pastebutton{ugxFloatHilbertPageFull9}{\hidepaste} -\tab{5}\spadcommand{digits 20} -\indentrel{3}\begin{verbatim} - (9) 40 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatHilbertPageEmpty9} -\begin{paste}{ugxFloatHilbertPageEmpty9}{ugxFloatHilbertPagePatch9} -\pastebutton{ugxFloatHilbertPageEmpty9}{\showpaste} -\tab{5}\spadcommand{digits 20} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPagePatch1} -\begin{paste}{ugxFloatConvertPageFull1}{ugxFloatConvertPageEmpty1} -\pastebutton{ugxFloatConvertPageFull1}{\hidepaste} -\tab{5}\spadcommand{i := 3 :: Float\bound{i }} -\indentrel{3}\begin{verbatim} - (1) 3.0 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPageEmpty1} -\begin{paste}{ugxFloatConvertPageEmpty1}{ugxFloatConvertPagePatch1} -\pastebutton{ugxFloatConvertPageEmpty1}{\showpaste} -\tab{5}\spadcommand{i := 3 :: Float\bound{i }} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPagePatch2} -\begin{paste}{ugxFloatConvertPageFull2}{ugxFloatConvertPageEmpty2} -\pastebutton{ugxFloatConvertPageFull2}{\hidepaste} -\tab{5}\spadcommand{i :: Integer\free{i }} -\indentrel{3}\begin{verbatim} - (2) 3 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPageEmpty2} -\begin{paste}{ugxFloatConvertPageEmpty2}{ugxFloatConvertPagePatch2} -\pastebutton{ugxFloatConvertPageEmpty2}{\showpaste} -\tab{5}\spadcommand{i :: Integer\free{i }} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPagePatch3} -\begin{paste}{ugxFloatConvertPageFull3}{ugxFloatConvertPageEmpty3} -\pastebutton{ugxFloatConvertPageFull3}{\hidepaste} -\tab{5}\spadcommand{i :: Fraction Integer\free{i }} -\indentrel{3}\begin{verbatim} - (3) 3 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPageEmpty3} -\begin{paste}{ugxFloatConvertPageEmpty3}{ugxFloatConvertPagePatch3} -\pastebutton{ugxFloatConvertPageEmpty3}{\showpaste} -\tab{5}\spadcommand{i :: Fraction Integer\free{i }} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPagePatch4} -\begin{paste}{ugxFloatConvertPageFull4}{ugxFloatConvertPageEmpty4} -\pastebutton{ugxFloatConvertPageFull4}{\hidepaste} -\tab{5}\spadcommand{r := 3/7 :: Float\bound{r }} -\indentrel{3}\begin{verbatim} - (4) 0.42857 14285 71428 57143 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPageEmpty4} -\begin{paste}{ugxFloatConvertPageEmpty4}{ugxFloatConvertPagePatch4} -\pastebutton{ugxFloatConvertPageEmpty4}{\showpaste} -\tab{5}\spadcommand{r := 3/7 :: Float\bound{r }} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPagePatch5} -\begin{paste}{ugxFloatConvertPageFull5}{ugxFloatConvertPageEmpty5} -\pastebutton{ugxFloatConvertPageFull5}{\hidepaste} -\tab{5}\spadcommand{r :: Fraction Integer\free{r }} -\indentrel{3}\begin{verbatim} - 3 - (5) Ä - 7 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPageEmpty5} -\begin{paste}{ugxFloatConvertPageEmpty5}{ugxFloatConvertPagePatch5} -\pastebutton{ugxFloatConvertPageEmpty5}{\showpaste} -\tab{5}\spadcommand{r :: Fraction Integer\free{r }} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPagePatch6} -\begin{paste}{ugxFloatConvertPageFull6}{ugxFloatConvertPageEmpty6} -\pastebutton{ugxFloatConvertPageFull6}{\hidepaste} -\tab{5}\spadcommand{r :: Integer\free{r }} -\indentrel{3}\begin{verbatim} - 0.42857 14285 71428 57143 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPageEmpty6} -\begin{paste}{ugxFloatConvertPageEmpty6}{ugxFloatConvertPagePatch6} -\pastebutton{ugxFloatConvertPageEmpty6}{\showpaste} -\tab{5}\spadcommand{r :: Integer\free{r }} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPagePatch7} -\begin{paste}{ugxFloatConvertPageFull7}{ugxFloatConvertPageEmpty7} -\pastebutton{ugxFloatConvertPageFull7}{\hidepaste} -\tab{5}\spadcommand{truncate 3.6} -\indentrel{3}\begin{verbatim} - (6) 3.0 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPageEmpty7} -\begin{paste}{ugxFloatConvertPageEmpty7}{ugxFloatConvertPagePatch7} -\pastebutton{ugxFloatConvertPageEmpty7}{\showpaste} -\tab{5}\spadcommand{truncate 3.6} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPagePatch8} -\begin{paste}{ugxFloatConvertPageFull8}{ugxFloatConvertPageEmpty8} -\pastebutton{ugxFloatConvertPageFull8}{\hidepaste} -\tab{5}\spadcommand{round 3.6} -\indentrel{3}\begin{verbatim} - (7) 4.0 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPageEmpty8} -\begin{paste}{ugxFloatConvertPageEmpty8}{ugxFloatConvertPagePatch8} -\pastebutton{ugxFloatConvertPageEmpty8}{\showpaste} -\tab{5}\spadcommand{round 3.6} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPagePatch9} -\begin{paste}{ugxFloatConvertPageFull9}{ugxFloatConvertPageEmpty9} -\pastebutton{ugxFloatConvertPageFull9}{\hidepaste} -\tab{5}\spadcommand{truncate(-3.6)} -\indentrel{3}\begin{verbatim} - (8) - 3.0 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPageEmpty9} -\begin{paste}{ugxFloatConvertPageEmpty9}{ugxFloatConvertPagePatch9} -\pastebutton{ugxFloatConvertPageEmpty9}{\showpaste} -\tab{5}\spadcommand{truncate(-3.6)} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPagePatch10} -\begin{paste}{ugxFloatConvertPageFull10}{ugxFloatConvertPageEmpty10} -\pastebutton{ugxFloatConvertPageFull10}{\hidepaste} -\tab{5}\spadcommand{round(-3.6)} -\indentrel{3}\begin{verbatim} - (9) - 4.0 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPageEmpty10} -\begin{paste}{ugxFloatConvertPageEmpty10}{ugxFloatConvertPagePatch10} -\pastebutton{ugxFloatConvertPageEmpty10}{\showpaste} -\tab{5}\spadcommand{round(-3.6)} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPagePatch11} -\begin{paste}{ugxFloatConvertPageFull11}{ugxFloatConvertPageEmpty11} -\pastebutton{ugxFloatConvertPageFull11}{\hidepaste} -\tab{5}\spadcommand{fractionPart 3.6} -\indentrel{3}\begin{verbatim} - (10) 0.6 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPageEmpty11} -\begin{paste}{ugxFloatConvertPageEmpty11}{ugxFloatConvertPagePatch11} -\pastebutton{ugxFloatConvertPageEmpty11}{\showpaste} -\tab{5}\spadcommand{fractionPart 3.6} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPagePatch12} -\begin{paste}{ugxFloatConvertPageFull12}{ugxFloatConvertPageEmpty12} -\pastebutton{ugxFloatConvertPageFull12}{\hidepaste} -\tab{5}\spadcommand{digits 40\bound{d40 }} -\indentrel{3}\begin{verbatim} - (11) 20 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPageEmpty12} -\begin{paste}{ugxFloatConvertPageEmpty12}{ugxFloatConvertPagePatch12} -\pastebutton{ugxFloatConvertPageEmpty12}{\showpaste} -\tab{5}\spadcommand{digits 40\bound{d40 }} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPagePatch13} -\begin{paste}{ugxFloatConvertPageFull13}{ugxFloatConvertPageEmpty13} -\pastebutton{ugxFloatConvertPageFull13}{\hidepaste} -\tab{5}\spadcommand{sqrt 0.2} -\indentrel{3}\begin{verbatim} - (12) - 0.44721 35954 99957 93928 18347 33746 25524 70881 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPageEmpty13} -\begin{paste}{ugxFloatConvertPageEmpty13}{ugxFloatConvertPagePatch13} -\pastebutton{ugxFloatConvertPageEmpty13}{\showpaste} -\tab{5}\spadcommand{sqrt 0.2} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPagePatch14} -\begin{paste}{ugxFloatConvertPageFull14}{ugxFloatConvertPageEmpty14} -\pastebutton{ugxFloatConvertPageFull14}{\hidepaste} -\tab{5}\spadcommand{pi()$Float\free{d40 }} -\indentrel{3}\begin{verbatim} - (13) - 3.14159 26535 89793 23846 26433 83279 50288 4197 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPageEmpty14} -\begin{paste}{ugxFloatConvertPageEmpty14}{ugxFloatConvertPagePatch14} -\pastebutton{ugxFloatConvertPageEmpty14}{\showpaste} -\tab{5}\spadcommand{pi()$Float\free{d40 }} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPagePatch15} -\begin{paste}{ugxFloatConvertPageFull15}{ugxFloatConvertPageEmpty15} -\pastebutton{ugxFloatConvertPageFull15}{\hidepaste} -\tab{5}\spadcommand{digits 500\bound{d1000 }} -\indentrel{3}\begin{verbatim} - (14) 40 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPageEmpty15} -\begin{paste}{ugxFloatConvertPageEmpty15}{ugxFloatConvertPagePatch15} -\pastebutton{ugxFloatConvertPageEmpty15}{\showpaste} -\tab{5}\spadcommand{digits 500\bound{d1000 }} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPagePatch16} -\begin{paste}{ugxFloatConvertPageFull16}{ugxFloatConvertPageEmpty16} -\pastebutton{ugxFloatConvertPageFull16}{\hidepaste} -\tab{5}\spadcommand{pi()$Float\free{d1000 }} -\indentrel{3}\begin{verbatim} - (15) - 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 - 37510 58209 74944 59230 78164 06286 20899 86280 34825 - 34211 70679 82148 08651 32823 06647 09384 46095 50582 2 - 3172 53594 08128 48111 74502 84102 70193 85211 05559 64 - 462 29489 54930 38196 44288 10975 66593 34461 28475 648 - 23 37867 83165 27120 19091 45648 56692 34603 48610 4543 - 2 66482 13393 60726 02491 41273 72458 70066 06315 58817 - 48815 20920 96282 92540 91715 36436 78925 90360 01133 - 05305 48820 46652 13841 46951 94151 16094 33057 27036 5 - 7595 91953 09218 61173 81932 61179 31051 18548 07446 23 - 799 62749 56735 18857 52724 89122 79381 83011 9491 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPageEmpty16} -\begin{paste}{ugxFloatConvertPageEmpty16}{ugxFloatConvertPagePatch16} -\pastebutton{ugxFloatConvertPageEmpty16}{\showpaste} -\tab{5}\spadcommand{pi()$Float\free{d1000 }} -\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPagePatch17} -\begin{paste}{ugxFloatConvertPageFull17}{ugxFloatConvertPageEmpty17} -\pastebutton{ugxFloatConvertPageFull17}{\hidepaste} -\tab{5}\spadcommand{digits 20} -\indentrel{3}\begin{verbatim} - (16) 500 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFloatConvertPageEmpty17} -\begin{paste}{ugxFloatConvertPageEmpty17}{ugxFloatConvertPagePatch17} -\pastebutton{ugxFloatConvertPageEmpty17}{\showpaste} -\tab{5}\spadcommand{digits 20} -\end{paste}\end{patch} - diff --git a/books/pages/fname.pht b/books/pages/fname.pht deleted file mode 100644 index 06831d3..0000000 --- a/books/pages/fname.pht +++ /dev/null @@ -1,287 +0,0 @@ -\begin{patch}{FileNameXmpPagePatch1} -\begin{paste}{FileNameXmpPageFull1}{FileNameXmpPageEmpty1} -\pastebutton{FileNameXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{fn: FileName\bound{fndecl }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPageEmpty1} -\begin{paste}{FileNameXmpPageEmpty1}{FileNameXmpPagePatch1} -\pastebutton{FileNameXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{fn: FileName\bound{fndecl }} -\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPagePatch2} -\begin{paste}{FileNameXmpPageFull2}{FileNameXmpPageEmpty2} -\pastebutton{FileNameXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{fn := "/spad/src/input/fname.input"\free{fndecl }\bound{fn }} -\indentrel{3}\begin{verbatim} - (2) "/spad/src/input/fname.input" - Type: FileName -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPageEmpty2} -\begin{paste}{FileNameXmpPageEmpty2}{FileNameXmpPagePatch2} -\pastebutton{FileNameXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{fn := "/spad/src/input/fname.input"\free{fndecl }\bound{fn }} -\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPagePatch3} -\begin{paste}{FileNameXmpPageFull3}{FileNameXmpPageEmpty3} -\pastebutton{FileNameXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{directory fn\free{fn }} -\indentrel{3}\begin{verbatim} - (3) "/spad/src/input" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPageEmpty3} -\begin{paste}{FileNameXmpPageEmpty3}{FileNameXmpPagePatch3} -\pastebutton{FileNameXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{directory fn\free{fn }} -\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPagePatch4} -\begin{paste}{FileNameXmpPageFull4}{FileNameXmpPageEmpty4} -\pastebutton{FileNameXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{name fn\free{fn }} -\indentrel{3}\begin{verbatim} - (4) "fname" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPageEmpty4} -\begin{paste}{FileNameXmpPageEmpty4}{FileNameXmpPagePatch4} -\pastebutton{FileNameXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{name fn\free{fn }} -\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPagePatch5} -\begin{paste}{FileNameXmpPageFull5}{FileNameXmpPageEmpty5} -\pastebutton{FileNameXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{extension fn\free{fn }} -\indentrel{3}\begin{verbatim} - (5) "input" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPageEmpty5} -\begin{paste}{FileNameXmpPageEmpty5}{FileNameXmpPagePatch5} -\pastebutton{FileNameXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{extension fn\free{fn }} -\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPagePatch6} -\begin{paste}{FileNameXmpPageFull6}{FileNameXmpPageEmpty6} -\pastebutton{FileNameXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{fn := filename("/u/smwatt/work", "fname", "input")\free{fndecl }\bound{fn1 }} -\indentrel{3}\begin{verbatim} - (6) "/u/smwatt/work/fname.input" - Type: FileName -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPageEmpty6} -\begin{paste}{FileNameXmpPageEmpty6}{FileNameXmpPagePatch6} -\pastebutton{FileNameXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{fn := filename("/u/smwatt/work", "fname", "input")\free{fndecl }\bound{fn1 }} -\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPagePatch7} -\begin{paste}{FileNameXmpPageFull7}{FileNameXmpPageEmpty7} -\pastebutton{FileNameXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{objdir := "/tmp"\bound{objdir }} -\indentrel{3}\begin{verbatim} - (7) "/tmp" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPageEmpty7} -\begin{paste}{FileNameXmpPageEmpty7}{FileNameXmpPagePatch7} -\pastebutton{FileNameXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{objdir := "/tmp"\bound{objdir }} -\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPagePatch8} -\begin{paste}{FileNameXmpPageFull8}{FileNameXmpPageEmpty8} -\pastebutton{FileNameXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{fn := filename(objdir, "table", "spad")\free{fndecl objdir }\bound{fn2 }} -\indentrel{3}\begin{verbatim} - (8) "/tmp/table.spad" - Type: FileName -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPageEmpty8} -\begin{paste}{FileNameXmpPageEmpty8}{FileNameXmpPagePatch8} -\pastebutton{FileNameXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{fn := filename(objdir, "table", "spad")\free{fndecl objdir }\bound{fn2 }} -\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPagePatch9} -\begin{paste}{FileNameXmpPageFull9}{FileNameXmpPageEmpty9} -\pastebutton{FileNameXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{fn := filename("", "letter", "")\free{fndecl }\bound{fn3 }} -\indentrel{3}\begin{verbatim} - (9) "letter" - Type: FileName -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPageEmpty9} -\begin{paste}{FileNameXmpPageEmpty9}{FileNameXmpPagePatch9} -\pastebutton{FileNameXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{fn := filename("", "letter", "")\free{fndecl }\bound{fn3 }} -\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPagePatch10} -\begin{paste}{FileNameXmpPageFull10}{FileNameXmpPageEmpty10} -\pastebutton{FileNameXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{exists? "/etc/passwd"} -\indentrel{3}\begin{verbatim} - (10) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPageEmpty10} -\begin{paste}{FileNameXmpPageEmpty10}{FileNameXmpPagePatch10} -\pastebutton{FileNameXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{exists? "/etc/passwd"} -\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPagePatch11} -\begin{paste}{FileNameXmpPageFull11}{FileNameXmpPageEmpty11} -\pastebutton{FileNameXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{readable? "/etc/passwd"} -\indentrel{3}\begin{verbatim} - (11) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPageEmpty11} -\begin{paste}{FileNameXmpPageEmpty11}{FileNameXmpPagePatch11} -\pastebutton{FileNameXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{readable? "/etc/passwd"} -\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPagePatch12} -\begin{paste}{FileNameXmpPageFull12}{FileNameXmpPageEmpty12} -\pastebutton{FileNameXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{readable? "/etc/security/passwd"} -\indentrel{3}\begin{verbatim} - (12) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPageEmpty12} -\begin{paste}{FileNameXmpPageEmpty12}{FileNameXmpPagePatch12} -\pastebutton{FileNameXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{readable? "/etc/security/passwd"} -\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPagePatch13} -\begin{paste}{FileNameXmpPageFull13}{FileNameXmpPageEmpty13} -\pastebutton{FileNameXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{readable? "/ect/passwd"} -\indentrel{3}\begin{verbatim} - (13) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPageEmpty13} -\begin{paste}{FileNameXmpPageEmpty13}{FileNameXmpPagePatch13} -\pastebutton{FileNameXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{readable? "/ect/passwd"} -\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPagePatch14} -\begin{paste}{FileNameXmpPageFull14}{FileNameXmpPageEmpty14} -\pastebutton{FileNameXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{writable? "/etc/passwd"} -\indentrel{3}\begin{verbatim} - (14) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPageEmpty14} -\begin{paste}{FileNameXmpPageEmpty14}{FileNameXmpPagePatch14} -\pastebutton{FileNameXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{writable? "/etc/passwd"} -\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPagePatch15} -\begin{paste}{FileNameXmpPageFull15}{FileNameXmpPageEmpty15} -\pastebutton{FileNameXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{writable? "/dev/null"} -\indentrel{3}\begin{verbatim} - (15) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPageEmpty15} -\begin{paste}{FileNameXmpPageEmpty15}{FileNameXmpPagePatch15} -\pastebutton{FileNameXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{writable? "/dev/null"} -\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPagePatch16} -\begin{paste}{FileNameXmpPageFull16}{FileNameXmpPageEmpty16} -\pastebutton{FileNameXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{writable? "/etc/DoesNotExist"} -\indentrel{3}\begin{verbatim} - (16) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPageEmpty16} -\begin{paste}{FileNameXmpPageEmpty16}{FileNameXmpPagePatch16} -\pastebutton{FileNameXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{writable? "/etc/DoesNotExist"} -\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPagePatch17} -\begin{paste}{FileNameXmpPageFull17}{FileNameXmpPageEmpty17} -\pastebutton{FileNameXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{writable? "/tmp/DoesNotExist"} -\indentrel{3}\begin{verbatim} - (17) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPageEmpty17} -\begin{paste}{FileNameXmpPageEmpty17}{FileNameXmpPagePatch17} -\pastebutton{FileNameXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{writable? "/tmp/DoesNotExist"} -\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPagePatch18} -\begin{paste}{FileNameXmpPageFull18}{FileNameXmpPageEmpty18} -\pastebutton{FileNameXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{fn := new(objdir, "xxx", "yy")\free{objdir fndecl }\bound{fn4 }} -\indentrel{3}\begin{verbatim} - (18) "/tmp/xxx82222.yy" - Type: FileName -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FileNameXmpPageEmpty18} -\begin{paste}{FileNameXmpPageEmpty18}{FileNameXmpPagePatch18} -\pastebutton{FileNameXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{fn := new(objdir, "xxx", "yy")\free{objdir fndecl }\bound{fn4 }} -\end{paste}\end{patch} - diff --git a/books/pages/fparfrac.pht b/books/pages/fparfrac.pht deleted file mode 100644 index 805d673..0000000 --- a/books/pages/fparfrac.pht +++ /dev/null @@ -1,411 +0,0 @@ -\begin{patch}{FullPartialFractionExpansionXmpPagePatch1} -\begin{paste}{FullPartialFractionExpansionXmpPageFull1}{FullPartialFractionExpansionXmpPageEmpty1} -\pastebutton{FullPartialFractionExpansionXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{Fx := FRAC UP(x, FRAC INT)\bound{Fx }} -\indentrel{3}\begin{verbatim} - (1) - Fraction UnivariatePolynomial(x,Fraction Integer) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPageEmpty1} -\begin{paste}{FullPartialFractionExpansionXmpPageEmpty1}{FullPartialFractionExpansionXmpPagePatch1} -\pastebutton{FullPartialFractionExpansionXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{Fx := FRAC UP(x, FRAC INT)\bound{Fx }} -\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPagePatch2} -\begin{paste}{FullPartialFractionExpansionXmpPageFull2}{FullPartialFractionExpansionXmpPageEmpty2} -\pastebutton{FullPartialFractionExpansionXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{f : Fx := 36 / (x**5-2*x**4-2*x**3+4*x**2+x-2)\bound{f }\free{Fx }} -\indentrel{3}\begin{verbatim} - 36 - (2) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 5 4 3 2 - x - 2x - 2x + 4x + x - 2 -Type: Fraction UnivariatePolynomial(x,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPageEmpty2} -\begin{paste}{FullPartialFractionExpansionXmpPageEmpty2}{FullPartialFractionExpansionXmpPagePatch2} -\pastebutton{FullPartialFractionExpansionXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{f : Fx := 36 / (x**5-2*x**4-2*x**3+4*x**2+x-2)\bound{f }\free{Fx }} -\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPagePatch3} -\begin{paste}{FullPartialFractionExpansionXmpPageFull3}{FullPartialFractionExpansionXmpPageEmpty3} -\pastebutton{FullPartialFractionExpansionXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{g := fullPartialFraction f\bound{g }\free{f }} -\indentrel{3}\begin{verbatim} - 4 4 ÄÄ¿ - 3%A - 6 - (3) ÄÄÄÄÄ - ÄÄÄÄÄ + > ÄÄÄÄÄÄÄÄÄ - x - 2 x + 1 ÄÄÙ 2 - 2 (x - %A) - %A - 1= 0 -Type: FullPartialFractionExpansion(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPageEmpty3} -\begin{paste}{FullPartialFractionExpansionXmpPageEmpty3}{FullPartialFractionExpansionXmpPagePatch3} -\pastebutton{FullPartialFractionExpansionXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{g := fullPartialFraction f\bound{g }\free{f }} -\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPagePatch4} -\begin{paste}{FullPartialFractionExpansionXmpPageFull4}{FullPartialFractionExpansionXmpPageEmpty4} -\pastebutton{FullPartialFractionExpansionXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{g :: Fx\free{g }} -\indentrel{3}\begin{verbatim} - 36 - (4) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 5 4 3 2 - x - 2x - 2x + 4x + x - 2 -Type: Fraction UnivariatePolynomial(x,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPageEmpty4} -\begin{paste}{FullPartialFractionExpansionXmpPageEmpty4}{FullPartialFractionExpansionXmpPagePatch4} -\pastebutton{FullPartialFractionExpansionXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{g :: Fx\free{g }} -\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPagePatch5} -\begin{paste}{FullPartialFractionExpansionXmpPageFull5}{FullPartialFractionExpansionXmpPageEmpty5} -\pastebutton{FullPartialFractionExpansionXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{g5 := D(g, 5)\free{g }\bound{g5 }} -\indentrel{3}\begin{verbatim} - (5) - 480 480 ÄÄ¿ 2160%A + 4320 - - ÄÄÄÄÄÄÄÄ + ÄÄÄÄÄÄÄÄ + > ÄÄÄÄÄÄÄÄÄÄÄÄÄ - 6 6 ÄÄÙ 7 - (x - 2) (x + 1) 2 (x - %A) - %A - 1= 0 -Type: FullPartialFractionExpansion(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPageEmpty5} -\begin{paste}{FullPartialFractionExpansionXmpPageEmpty5}{FullPartialFractionExpansionXmpPagePatch5} -\pastebutton{FullPartialFractionExpansionXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{g5 := D(g, 5)\free{g }\bound{g5 }} -\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPagePatch6} -\begin{paste}{FullPartialFractionExpansionXmpPageFull6}{FullPartialFractionExpansionXmpPageEmpty6} -\pastebutton{FullPartialFractionExpansionXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{f5 := D(f, 5)\free{f }\bound{f5 }} -\indentrel{3}\begin{verbatim} - (6) - 10 9 8 7 - - 544320x + 4354560x - 14696640x + 28615680x - + - 6 5 4 3 - - 40085280x + 46656000x - 39411360x + 18247680x - + - 2 - - 5870880x + 3317760x + 246240 - / - 20 19 18 17 16 15 - x - 12x + 53x - 76x - 159x + 676x - + - 14 13 12 11 10 - - 391x - 1596x + 2527x + 1148x - 4977x - + - 9 8 7 6 5 4 - 1372x + 4907x - 3444x - 2381x + 2924x + 276x - + - 3 2 - - 1184x + 208x + 192x - 64 -Type: Fraction UnivariatePolynomial(x,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPageEmpty6} -\begin{paste}{FullPartialFractionExpansionXmpPageEmpty6}{FullPartialFractionExpansionXmpPagePatch6} -\pastebutton{FullPartialFractionExpansionXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{f5 := D(f, 5)\free{f }\bound{f5 }} -\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPagePatch7} -\begin{paste}{FullPartialFractionExpansionXmpPageFull7}{FullPartialFractionExpansionXmpPageEmpty7} -\pastebutton{FullPartialFractionExpansionXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{g5::Fx - f5\free{Fx g5 f5 }} -\indentrel{3}\begin{verbatim} - (7) 0 -Type: Fraction UnivariatePolynomial(x,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPageEmpty7} -\begin{paste}{FullPartialFractionExpansionXmpPageEmpty7}{FullPartialFractionExpansionXmpPagePatch7} -\pastebutton{FullPartialFractionExpansionXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{g5::Fx - f5\free{Fx g5 f5 }} -\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPagePatch8} -\begin{paste}{FullPartialFractionExpansionXmpPageFull8}{FullPartialFractionExpansionXmpPageEmpty8} -\pastebutton{FullPartialFractionExpansionXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{f : Fx := (x**5 * (x-1)) / ((x**2 + x + 1)**2 * (x-2)**3)\free{Fx }\bound{f2 }} -\indentrel{3}\begin{verbatim} - 6 5 - x - x - (8) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 7 6 5 3 2 - x - 4x + 3x + 9x - 6x - 4x - 8 -Type: Fraction UnivariatePolynomial(x,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPageEmpty8} -\begin{paste}{FullPartialFractionExpansionXmpPageEmpty8}{FullPartialFractionExpansionXmpPagePatch8} -\pastebutton{FullPartialFractionExpansionXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{f : Fx := (x**5 * (x-1)) / ((x**2 + x + 1)**2 * (x-2)**3)\free{Fx }\bound{f2 }} -\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPagePatch9} -\begin{paste}{FullPartialFractionExpansionXmpPageFull9}{FullPartialFractionExpansionXmpPageEmpty9} -\pastebutton{FullPartialFractionExpansionXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{g := fullPartialFraction f\free{f2 }\bound{g2 }} -\indentrel{3}\begin{verbatim} - (9) - 1952 464 32 - ÄÄÄÄ ÄÄÄ ÄÄ - 2401 343 49 - ÄÄÄÄÄÄ + ÄÄÄÄÄÄÄÄ + ÄÄÄÄÄÄÄÄ - x - 2 2 3 - (x - 2) (x - 2) - + - 179 135 - - ÄÄÄÄ %A + ÄÄÄÄ - ÄÄ¿ 2401 2401 - > ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - ÄÄÙ x - %A - 2 - %A + %A + 1= 0 - + - 37 20 - ÄÄÄÄ %A + ÄÄÄÄ - ÄÄ¿ 1029 1029 - > ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - ÄÄÙ 2 - 2 (x - %A) - %A + %A + 1= 0 -Type: FullPartialFractionExpansion(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPageEmpty9} -\begin{paste}{FullPartialFractionExpansionXmpPageEmpty9}{FullPartialFractionExpansionXmpPagePatch9} -\pastebutton{FullPartialFractionExpansionXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{g := fullPartialFraction f\free{f2 }\bound{g2 }} -\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPagePatch10} -\begin{paste}{FullPartialFractionExpansionXmpPageFull10}{FullPartialFractionExpansionXmpPageEmpty10} -\pastebutton{FullPartialFractionExpansionXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{g :: Fx - f\free{f2 g2 Fx }} -\indentrel{3}\begin{verbatim} - (10) 0 -Type: Fraction UnivariatePolynomial(x,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPageEmpty10} -\begin{paste}{FullPartialFractionExpansionXmpPageEmpty10}{FullPartialFractionExpansionXmpPagePatch10} -\pastebutton{FullPartialFractionExpansionXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{g :: Fx - f\free{f2 g2 Fx }} -\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPagePatch11} -\begin{paste}{FullPartialFractionExpansionXmpPageFull11}{FullPartialFractionExpansionXmpPageEmpty11} -\pastebutton{FullPartialFractionExpansionXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{f : Fx := (2*x**7-7*x**5+26*x**3+8*x) / (x**8-5*x**6+6*x**4+4*x**2-8)\free{Fx }\bound{f3 }} -\indentrel{3}\begin{verbatim} - 7 5 3 - 2x - 7x + 26x + 8x - (11) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 8 6 4 2 - x - 5x + 6x + 4x - 8 -Type: Fraction UnivariatePolynomial(x,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPageEmpty11} -\begin{paste}{FullPartialFractionExpansionXmpPageEmpty11}{FullPartialFractionExpansionXmpPagePatch11} -\pastebutton{FullPartialFractionExpansionXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{f : Fx := (2*x**7-7*x**5+26*x**3+8*x) / (x**8-5*x**6+6*x**4+4*x**2-8)\free{Fx }\bound{f3 }} -\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPagePatch12} -\begin{paste}{FullPartialFractionExpansionXmpPageFull12}{FullPartialFractionExpansionXmpPageEmpty12} -\pastebutton{FullPartialFractionExpansionXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{g := fullPartialFraction f\free{f3 }\bound{g3 }} -\indentrel{3}\begin{verbatim} - (12) - 1 - Ä - ÄÄ¿ 2 ÄÄ¿ 1 - > ÄÄÄÄÄÄ + > ÄÄÄÄÄÄÄÄÄ - ÄÄÙ x - %A ÄÄÙ 3 - 2 2 (x - %A) - %A - 2= 0 %A - 2= 0 - + - 1 - Ä - ÄÄ¿ 2 - > ÄÄÄÄÄÄ - ÄÄÙ x - %A - 2 - %A + 1= 0 -Type: FullPartialFractionExpansion(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPageEmpty12} -\begin{paste}{FullPartialFractionExpansionXmpPageEmpty12}{FullPartialFractionExpansionXmpPagePatch12} -\pastebutton{FullPartialFractionExpansionXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{g := fullPartialFraction f\free{f3 }\bound{g3 }} -\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPagePatch13} -\begin{paste}{FullPartialFractionExpansionXmpPageFull13}{FullPartialFractionExpansionXmpPageEmpty13} -\pastebutton{FullPartialFractionExpansionXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{g :: Fx - f\free{f3 g3 Fx }} -\indentrel{3}\begin{verbatim} - (13) 0 -Type: Fraction UnivariatePolynomial(x,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPageEmpty13} -\begin{paste}{FullPartialFractionExpansionXmpPageEmpty13}{FullPartialFractionExpansionXmpPagePatch13} -\pastebutton{FullPartialFractionExpansionXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{g :: Fx - f\free{f3 g3 Fx }} -\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPagePatch14} -\begin{paste}{FullPartialFractionExpansionXmpPageFull14}{FullPartialFractionExpansionXmpPageEmpty14} -\pastebutton{FullPartialFractionExpansionXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{f:Fx := x**3 / (x**21 + 2*x**20 + 4*x**19 + 7*x**18 + 10*x**17 + 17*x**16 + 22*x**15 + 30*x**14 + 36*x**13 + 40*x**12 + 47*x**11 + 46*x**10 + 49*x**9 + 43*x**8 + 38*x**7 + 32*x**6 + 23*x**5 + 19*x**4 + 10*x**3 + 7*x**2 + 2*x + 1)\free{Fx }\bound{f4 }} -\indentrel{3}\begin{verbatim} - (14) - 3 - x - / - 21 20 19 18 17 16 15 - x + 2x + 4x + 7x + 10x + 17x + 22x - + - 14 13 12 11 10 9 8 - 30x + 36x + 40x + 47x + 46x + 49x + 43x - + - 7 6 5 4 3 2 - 38x + 32x + 23x + 19x + 10x + 7x + 2x + 1 -Type: Fraction UnivariatePolynomial(x,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPageEmpty14} -\begin{paste}{FullPartialFractionExpansionXmpPageEmpty14}{FullPartialFractionExpansionXmpPagePatch14} -\pastebutton{FullPartialFractionExpansionXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{f:Fx := x**3 / (x**21 + 2*x**20 + 4*x**19 + 7*x**18 + 10*x**17 + 17*x**16 + 22*x**15 + 30*x**14 + 36*x**13 + 40*x**12 + 47*x**11 + 46*x**10 + 49*x**9 + 43*x**8 + 38*x**7 + 32*x**6 + 23*x**5 + 19*x**4 + 10*x**3 + 7*x**2 + 2*x + 1)\free{Fx }\bound{f4 }} -\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPagePatch15} -\begin{paste}{FullPartialFractionExpansionXmpPageFull15}{FullPartialFractionExpansionXmpPageEmpty15} -\pastebutton{FullPartialFractionExpansionXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{g := fullPartialFraction f\free{f4 }\bound{g4 }} -\indentrel{3}\begin{verbatim} - (15) - 1 1 19 - Ä %A Ä %A - ÄÄ - ÄÄ¿ 2 ÄÄ¿ 9 27 - > ÄÄÄÄÄÄ + > ÄÄÄÄÄÄÄÄÄ - ÄÄÙ x - %A ÄÄÙ x - %A - 2 2 - %A + 1= 0 %A + %A + 1= 0 - + - 1 1 - ÄÄ %A - ÄÄ - ÄÄ¿ 27 27 - > ÄÄÄÄÄÄÄÄÄÄ - ÄÄÙ 2 - 2 (x - %A) - %A + %A + 1= 0 - + - SIGMA - 5 2 - %A + %A + 1= 0 - , - 96556567040 4 420961732891 3 - - ÄÄÄÄÄÄÄÄÄÄÄÄ %A + ÄÄÄÄÄÄÄÄÄÄÄÄ %A - 912390759099 912390759099 - + - 59101056149 2 373545875923 - - ÄÄÄÄÄÄÄÄÄÄÄÄ %A - ÄÄÄÄÄÄÄÄÄÄÄÄ %A - 912390759099 912390759099 - + - 529673492498 - ÄÄÄÄÄÄÄÄÄÄÄÄ - 912390759099 - / - x - %A - + - SIGMA - 5 2 - %A + %A + 1= 0 - , - 5580868 4 2024443 3 4321919 2 - - ÄÄÄÄÄÄÄÄ %A - ÄÄÄÄÄÄÄÄ %A + ÄÄÄÄÄÄÄÄ %A - 94070601 94070601 94070601 - + - 84614 5070620 - - ÄÄÄÄÄÄÄ %A - ÄÄÄÄÄÄÄÄ - 1542141 94070601 - / - 2 - (x - %A) - + - SIGMA - 5 2 - %A + %A + 1= 0 - , - 1610957 4 2763014 3 2016775 2 - ÄÄÄÄÄÄÄÄ %A + ÄÄÄÄÄÄÄÄ %A - ÄÄÄÄÄÄÄÄ %A - 94070601 94070601 94070601 - + - 266953 4529359 - ÄÄÄÄÄÄÄÄ %A + ÄÄÄÄÄÄÄÄ - 94070601 94070601 - / - 3 - (x - %A) -Type: FullPartialFractionExpansion(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPageEmpty15} -\begin{paste}{FullPartialFractionExpansionXmpPageEmpty15}{FullPartialFractionExpansionXmpPagePatch15} -\pastebutton{FullPartialFractionExpansionXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{g := fullPartialFraction f\free{f4 }\bound{g4 }} -\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPagePatch16} -\begin{paste}{FullPartialFractionExpansionXmpPageFull16}{FullPartialFractionExpansionXmpPageEmpty16} -\pastebutton{FullPartialFractionExpansionXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{g :: Fx - f\free{f4 g4 Fx }} -\indentrel{3}\begin{verbatim} - (16) 0 -Type: Fraction UnivariatePolynomial(x,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FullPartialFractionExpansionXmpPageEmpty16} -\begin{paste}{FullPartialFractionExpansionXmpPageEmpty16}{FullPartialFractionExpansionXmpPagePatch16} -\pastebutton{FullPartialFractionExpansionXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{g :: Fx - f\free{f4 g4 Fx }} -\end{paste}\end{patch} - diff --git a/books/pages/fr.pht b/books/pages/fr.pht deleted file mode 100644 index c72f4e0..0000000 --- a/books/pages/fr.pht +++ /dev/null @@ -1,633 +0,0 @@ -\begin{patch}{ugxFactoredArithPagePatch1} -\begin{paste}{ugxFactoredArithPageFull1}{ugxFactoredArithPageEmpty1} -\pastebutton{ugxFactoredArithPageFull1}{\hidepaste} -\tab{5}\spadcommand{g := factor(4312)\bound{g }} -\indentrel{3}\begin{verbatim} - 3 2 - (1) 2 7 11 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPageEmpty1} -\begin{paste}{ugxFactoredArithPageEmpty1}{ugxFactoredArithPagePatch1} -\pastebutton{ugxFactoredArithPageEmpty1}{\showpaste} -\tab{5}\spadcommand{g := factor(4312)\bound{g }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPagePatch2} -\begin{paste}{ugxFactoredArithPageFull2}{ugxFactoredArithPageEmpty2} -\pastebutton{ugxFactoredArithPageFull2}{\hidepaste} -\tab{5}\spadcommand{f := factor(246960)\bound{f }} -\indentrel{3}\begin{verbatim} - 4 2 3 - (2) 2 3 5 7 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPageEmpty2} -\begin{paste}{ugxFactoredArithPageEmpty2}{ugxFactoredArithPagePatch2} -\pastebutton{ugxFactoredArithPageEmpty2}{\showpaste} -\tab{5}\spadcommand{f := factor(246960)\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPagePatch3} -\begin{paste}{ugxFactoredArithPageFull3}{ugxFactoredArithPageEmpty3} -\pastebutton{ugxFactoredArithPageFull3}{\hidepaste} -\tab{5}\spadcommand{f * g\free{f g }} -\indentrel{3}\begin{verbatim} - 7 2 5 - (3) 2 3 5 7 11 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPageEmpty3} -\begin{paste}{ugxFactoredArithPageEmpty3}{ugxFactoredArithPagePatch3} -\pastebutton{ugxFactoredArithPageEmpty3}{\showpaste} -\tab{5}\spadcommand{f * g\free{f g }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPagePatch4} -\begin{paste}{ugxFactoredArithPageFull4}{ugxFactoredArithPageEmpty4} -\pastebutton{ugxFactoredArithPageFull4}{\hidepaste} -\tab{5}\spadcommand{f**500\free{f }} -\indentrel{3}\begin{verbatim} - 2000 1000 500 1500 - (4) 2 3 5 7 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPageEmpty4} -\begin{paste}{ugxFactoredArithPageEmpty4}{ugxFactoredArithPagePatch4} -\pastebutton{ugxFactoredArithPageEmpty4}{\showpaste} -\tab{5}\spadcommand{f**500\free{f }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPagePatch5} -\begin{paste}{ugxFactoredArithPageFull5}{ugxFactoredArithPageEmpty5} -\pastebutton{ugxFactoredArithPageFull5}{\hidepaste} -\tab{5}\spadcommand{gcd(f,g)\free{f g }} -\indentrel{3}\begin{verbatim} - 3 2 - (5) 2 7 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPageEmpty5} -\begin{paste}{ugxFactoredArithPageEmpty5}{ugxFactoredArithPagePatch5} -\pastebutton{ugxFactoredArithPageEmpty5}{\showpaste} -\tab{5}\spadcommand{gcd(f,g)\free{f g }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPagePatch6} -\begin{paste}{ugxFactoredArithPageFull6}{ugxFactoredArithPageEmpty6} -\pastebutton{ugxFactoredArithPageFull6}{\hidepaste} -\tab{5}\spadcommand{lcm(f,g)\free{f g }} -\indentrel{3}\begin{verbatim} - 4 2 3 - (6) 2 3 5 7 11 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPageEmpty6} -\begin{paste}{ugxFactoredArithPageEmpty6}{ugxFactoredArithPagePatch6} -\pastebutton{ugxFactoredArithPageEmpty6}{\showpaste} -\tab{5}\spadcommand{lcm(f,g)\free{f g }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPagePatch7} -\begin{paste}{ugxFactoredArithPageFull7}{ugxFactoredArithPageEmpty7} -\pastebutton{ugxFactoredArithPageFull7}{\hidepaste} -\tab{5}\spadcommand{f + g\free{f g }} -\indentrel{3}\begin{verbatim} - 3 2 - (7) 2 7 641 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPageEmpty7} -\begin{paste}{ugxFactoredArithPageEmpty7}{ugxFactoredArithPagePatch7} -\pastebutton{ugxFactoredArithPageEmpty7}{\showpaste} -\tab{5}\spadcommand{f + g\free{f g }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPagePatch8} -\begin{paste}{ugxFactoredArithPageFull8}{ugxFactoredArithPageEmpty8} -\pastebutton{ugxFactoredArithPageFull8}{\hidepaste} -\tab{5}\spadcommand{f - g\free{f g }} -\indentrel{3}\begin{verbatim} - 3 2 - (8) 2 7 619 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPageEmpty8} -\begin{paste}{ugxFactoredArithPageEmpty8}{ugxFactoredArithPagePatch8} -\pastebutton{ugxFactoredArithPageEmpty8}{\showpaste} -\tab{5}\spadcommand{f - g\free{f g }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPagePatch9} -\begin{paste}{ugxFactoredArithPageFull9}{ugxFactoredArithPageEmpty9} -\pastebutton{ugxFactoredArithPageFull9}{\hidepaste} -\tab{5}\spadcommand{zero?(factor(0))} -\indentrel{3}\begin{verbatim} - (9) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPageEmpty9} -\begin{paste}{ugxFactoredArithPageEmpty9}{ugxFactoredArithPagePatch9} -\pastebutton{ugxFactoredArithPageEmpty9}{\showpaste} -\tab{5}\spadcommand{zero?(factor(0))} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPagePatch10} -\begin{paste}{ugxFactoredArithPageFull10}{ugxFactoredArithPageEmpty10} -\pastebutton{ugxFactoredArithPageFull10}{\hidepaste} -\tab{5}\spadcommand{zero?(g)\free{g }} -\indentrel{3}\begin{verbatim} - (10) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPageEmpty10} -\begin{paste}{ugxFactoredArithPageEmpty10}{ugxFactoredArithPagePatch10} -\pastebutton{ugxFactoredArithPageEmpty10}{\showpaste} -\tab{5}\spadcommand{zero?(g)\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPagePatch11} -\begin{paste}{ugxFactoredArithPageFull11}{ugxFactoredArithPageEmpty11} -\pastebutton{ugxFactoredArithPageFull11}{\hidepaste} -\tab{5}\spadcommand{one?(factor(1))} -\indentrel{3}\begin{verbatim} - (11) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPageEmpty11} -\begin{paste}{ugxFactoredArithPageEmpty11}{ugxFactoredArithPagePatch11} -\pastebutton{ugxFactoredArithPageEmpty11}{\showpaste} -\tab{5}\spadcommand{one?(factor(1))} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPagePatch12} -\begin{paste}{ugxFactoredArithPageFull12}{ugxFactoredArithPageEmpty12} -\pastebutton{ugxFactoredArithPageFull12}{\hidepaste} -\tab{5}\spadcommand{one?(f)\free{f }} -\indentrel{3}\begin{verbatim} - (12) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPageEmpty12} -\begin{paste}{ugxFactoredArithPageEmpty12}{ugxFactoredArithPagePatch12} -\pastebutton{ugxFactoredArithPageEmpty12}{\showpaste} -\tab{5}\spadcommand{one?(f)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPagePatch13} -\begin{paste}{ugxFactoredArithPageFull13}{ugxFactoredArithPageEmpty13} -\pastebutton{ugxFactoredArithPageFull13}{\hidepaste} -\tab{5}\spadcommand{0$Factored(Integer)} -\indentrel{3}\begin{verbatim} - (13) 0 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPageEmpty13} -\begin{paste}{ugxFactoredArithPageEmpty13}{ugxFactoredArithPagePatch13} -\pastebutton{ugxFactoredArithPageEmpty13}{\showpaste} -\tab{5}\spadcommand{0$Factored(Integer)} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPagePatch14} -\begin{paste}{ugxFactoredArithPageFull14}{ugxFactoredArithPageEmpty14} -\pastebutton{ugxFactoredArithPageFull14}{\hidepaste} -\tab{5}\spadcommand{1$Factored(Integer)} -\indentrel{3}\begin{verbatim} - (14) 1 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredArithPageEmpty14} -\begin{paste}{ugxFactoredArithPageEmpty14}{ugxFactoredArithPagePatch14} -\pastebutton{ugxFactoredArithPageEmpty14}{\showpaste} -\tab{5}\spadcommand{1$Factored(Integer)} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredDecompPagePatch1} -\begin{paste}{ugxFactoredDecompPageFull1}{ugxFactoredDecompPageEmpty1} -\pastebutton{ugxFactoredDecompPageFull1}{\hidepaste} -\tab{5}\spadcommand{g := factor(4312)\bound{g }} -\indentrel{3}\begin{verbatim} - 3 2 - (1) 2 7 11 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredDecompPageEmpty1} -\begin{paste}{ugxFactoredDecompPageEmpty1}{ugxFactoredDecompPagePatch1} -\pastebutton{ugxFactoredDecompPageEmpty1}{\showpaste} -\tab{5}\spadcommand{g := factor(4312)\bound{g }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredDecompPagePatch2} -\begin{paste}{ugxFactoredDecompPageFull2}{ugxFactoredDecompPageEmpty2} -\pastebutton{ugxFactoredDecompPageFull2}{\hidepaste} -\tab{5}\spadcommand{unit(g)\free{g }} -\indentrel{3}\begin{verbatim} - (2) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredDecompPageEmpty2} -\begin{paste}{ugxFactoredDecompPageEmpty2}{ugxFactoredDecompPagePatch2} -\pastebutton{ugxFactoredDecompPageEmpty2}{\showpaste} -\tab{5}\spadcommand{unit(g)\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredDecompPagePatch3} -\begin{paste}{ugxFactoredDecompPageFull3}{ugxFactoredDecompPageEmpty3} -\pastebutton{ugxFactoredDecompPageFull3}{\hidepaste} -\tab{5}\spadcommand{numberOfFactors(g)\free{g }} -\indentrel{3}\begin{verbatim} - (3) 3 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredDecompPageEmpty3} -\begin{paste}{ugxFactoredDecompPageEmpty3}{ugxFactoredDecompPagePatch3} -\pastebutton{ugxFactoredDecompPageEmpty3}{\showpaste} -\tab{5}\spadcommand{numberOfFactors(g)\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredDecompPagePatch4} -\begin{paste}{ugxFactoredDecompPageFull4}{ugxFactoredDecompPageEmpty4} -\pastebutton{ugxFactoredDecompPageFull4}{\hidepaste} -\tab{5}\spadcommand{[nthFactor(g,i) for i in 1..numberOfFactors(g)]\free{g }} -\indentrel{3}\begin{verbatim} - (4) [2,7,11] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredDecompPageEmpty4} -\begin{paste}{ugxFactoredDecompPageEmpty4}{ugxFactoredDecompPagePatch4} -\pastebutton{ugxFactoredDecompPageEmpty4}{\showpaste} -\tab{5}\spadcommand{[nthFactor(g,i) for i in 1..numberOfFactors(g)]\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredDecompPagePatch5} -\begin{paste}{ugxFactoredDecompPageFull5}{ugxFactoredDecompPageEmpty5} -\pastebutton{ugxFactoredDecompPageFull5}{\hidepaste} -\tab{5}\spadcommand{[nthExponent(g,i) for i in 1..numberOfFactors(g)]\free{g }} -\indentrel{3}\begin{verbatim} - (5) [3,2,1] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredDecompPageEmpty5} -\begin{paste}{ugxFactoredDecompPageEmpty5}{ugxFactoredDecompPagePatch5} -\pastebutton{ugxFactoredDecompPageEmpty5}{\showpaste} -\tab{5}\spadcommand{[nthExponent(g,i) for i in 1..numberOfFactors(g)]\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredDecompPagePatch6} -\begin{paste}{ugxFactoredDecompPageFull6}{ugxFactoredDecompPageEmpty6} -\pastebutton{ugxFactoredDecompPageFull6}{\hidepaste} -\tab{5}\spadcommand{[nthFlag(g,i) for i in 1..numberOfFactors(g)]\free{g }} -\indentrel{3}\begin{verbatim} - (6) ["prime","prime","prime"] - Type: List Union("nil","sqfr","irred","prime") -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredDecompPageEmpty6} -\begin{paste}{ugxFactoredDecompPageEmpty6}{ugxFactoredDecompPagePatch6} -\pastebutton{ugxFactoredDecompPageEmpty6}{\showpaste} -\tab{5}\spadcommand{[nthFlag(g,i) for i in 1..numberOfFactors(g)]\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredDecompPagePatch7} -\begin{paste}{ugxFactoredDecompPageFull7}{ugxFactoredDecompPageEmpty7} -\pastebutton{ugxFactoredDecompPageFull7}{\hidepaste} -\tab{5}\spadcommand{factorList(g)\free{g }} -\indentrel{3}\begin{verbatim} - (7) - [[flg= "prime",fctr= 2,xpnt= 3], - [flg= "prime",fctr= 7,xpnt= 2], - [flg= "prime",fctr= 11,xpnt= 1]] -Type: List Record(flg: Union("nil","sqfr","irred","prime"),fctr: Integer,xpnt: Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredDecompPageEmpty7} -\begin{paste}{ugxFactoredDecompPageEmpty7}{ugxFactoredDecompPagePatch7} -\pastebutton{ugxFactoredDecompPageEmpty7}{\showpaste} -\tab{5}\spadcommand{factorList(g)\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredDecompPagePatch8} -\begin{paste}{ugxFactoredDecompPageFull8}{ugxFactoredDecompPageEmpty8} -\pastebutton{ugxFactoredDecompPageFull8}{\hidepaste} -\tab{5}\spadcommand{factors(g)\free{g }\bound{prev1 }} -\indentrel{3}\begin{verbatim} - (8) - [[factor= 2,exponent= 3], [factor= 7,exponent= 2], - [factor= 11,exponent= 1]] - Type: List Record(factor: Integer,exponent: Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredDecompPageEmpty8} -\begin{paste}{ugxFactoredDecompPageEmpty8}{ugxFactoredDecompPagePatch8} -\pastebutton{ugxFactoredDecompPageEmpty8}{\showpaste} -\tab{5}\spadcommand{factors(g)\free{g }\bound{prev1 }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredDecompPagePatch9} -\begin{paste}{ugxFactoredDecompPageFull9}{ugxFactoredDecompPageEmpty9} -\pastebutton{ugxFactoredDecompPageFull9}{\hidepaste} -\tab{5}\spadcommand{first(\%).factor\free{prev1 }} -\indentrel{3}\begin{verbatim} - (9) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredDecompPageEmpty9} -\begin{paste}{ugxFactoredDecompPageEmpty9}{ugxFactoredDecompPagePatch9} -\pastebutton{ugxFactoredDecompPageEmpty9}{\showpaste} -\tab{5}\spadcommand{first(\%).factor\free{prev1 }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredExpandPagePatch1} -\begin{paste}{ugxFactoredExpandPageFull1}{ugxFactoredExpandPageEmpty1} -\pastebutton{ugxFactoredExpandPageFull1}{\hidepaste} -\tab{5}\spadcommand{g := factor(4312)\bound{g }} -\indentrel{3}\begin{verbatim} - 3 2 - (1) 2 7 11 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredExpandPageEmpty1} -\begin{paste}{ugxFactoredExpandPageEmpty1}{ugxFactoredExpandPagePatch1} -\pastebutton{ugxFactoredExpandPageEmpty1}{\showpaste} -\tab{5}\spadcommand{g := factor(4312)\bound{g }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredExpandPagePatch2} -\begin{paste}{ugxFactoredExpandPageFull2}{ugxFactoredExpandPageEmpty2} -\pastebutton{ugxFactoredExpandPageFull2}{\hidepaste} -\tab{5}\spadcommand{expand(g)\free{g }} -\indentrel{3}\begin{verbatim} - (2) 4312 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredExpandPageEmpty2} -\begin{paste}{ugxFactoredExpandPageEmpty2}{ugxFactoredExpandPagePatch2} -\pastebutton{ugxFactoredExpandPageEmpty2}{\showpaste} -\tab{5}\spadcommand{expand(g)\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredExpandPagePatch3} -\begin{paste}{ugxFactoredExpandPageFull3}{ugxFactoredExpandPageEmpty3} -\pastebutton{ugxFactoredExpandPageFull3}{\hidepaste} -\tab{5}\spadcommand{reduce(*,[t.factor for t in factors(g)])\free{g }} -\indentrel{3}\begin{verbatim} - (3) 154 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredExpandPageEmpty3} -\begin{paste}{ugxFactoredExpandPageEmpty3}{ugxFactoredExpandPagePatch3} -\pastebutton{ugxFactoredExpandPageEmpty3}{\showpaste} -\tab{5}\spadcommand{reduce(*,[t.factor for t in factors(g)])\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredVarPagePatch1} -\begin{paste}{ugxFactoredVarPageFull1}{ugxFactoredVarPageEmpty1} -\pastebutton{ugxFactoredVarPageFull1}{\hidepaste} -\tab{5}\spadcommand{p := (4*x*x-12*x+9)*y*y + (4*x*x-12*x+9)*y + 28*x*x - 84*x + 63\bound{p }} -\indentrel{3}\begin{verbatim} - (1) - 2 2 2 2 - (4x - 12x + 9)y + (4x - 12x + 9)y + 28x - 84x + 63 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredVarPageEmpty1} -\begin{paste}{ugxFactoredVarPageEmpty1}{ugxFactoredVarPagePatch1} -\pastebutton{ugxFactoredVarPageEmpty1}{\showpaste} -\tab{5}\spadcommand{p := (4*x*x-12*x+9)*y*y + (4*x*x-12*x+9)*y + 28*x*x - 84*x + 63\bound{p }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredVarPagePatch2} -\begin{paste}{ugxFactoredVarPageFull2}{ugxFactoredVarPageEmpty2} -\pastebutton{ugxFactoredVarPageFull2}{\hidepaste} -\tab{5}\spadcommand{fp := factor(p)\free{p }\bound{fp }} -\indentrel{3}\begin{verbatim} - 2 2 - (2) (2x - 3) (y + y + 7) - Type: Factored Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredVarPageEmpty2} -\begin{paste}{ugxFactoredVarPageEmpty2}{ugxFactoredVarPagePatch2} -\pastebutton{ugxFactoredVarPageEmpty2}{\showpaste} -\tab{5}\spadcommand{fp := factor(p)\free{p }\bound{fp }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredVarPagePatch3} -\begin{paste}{ugxFactoredVarPageFull3}{ugxFactoredVarPageEmpty3} -\pastebutton{ugxFactoredVarPageFull3}{\hidepaste} -\tab{5}\spadcommand{D(p,x)\free{p }} -\indentrel{3}\begin{verbatim} - 2 - (3) (8x - 12)y + (8x - 12)y + 56x - 84 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredVarPageEmpty3} -\begin{paste}{ugxFactoredVarPageEmpty3}{ugxFactoredVarPagePatch3} -\pastebutton{ugxFactoredVarPageEmpty3}{\showpaste} -\tab{5}\spadcommand{D(p,x)\free{p }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredVarPagePatch4} -\begin{paste}{ugxFactoredVarPageFull4}{ugxFactoredVarPageEmpty4} -\pastebutton{ugxFactoredVarPageFull4}{\hidepaste} -\tab{5}\spadcommand{D(fp,x)\free{fp }\bound{prev1 }} -\indentrel{3}\begin{verbatim} - 2 - (4) 4(2x - 3)(y + y + 7) - Type: Factored Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredVarPageEmpty4} -\begin{paste}{ugxFactoredVarPageEmpty4}{ugxFactoredVarPagePatch4} -\pastebutton{ugxFactoredVarPageEmpty4}{\showpaste} -\tab{5}\spadcommand{D(fp,x)\free{fp }\bound{prev1 }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredVarPagePatch5} -\begin{paste}{ugxFactoredVarPageFull5}{ugxFactoredVarPageEmpty5} -\pastebutton{ugxFactoredVarPageFull5}{\hidepaste} -\tab{5}\spadcommand{numberOfFactors(\%)\free{prev1 }} -\indentrel{3}\begin{verbatim} - (5) 3 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredVarPageEmpty5} -\begin{paste}{ugxFactoredVarPageEmpty5}{ugxFactoredVarPagePatch5} -\pastebutton{ugxFactoredVarPageEmpty5}{\showpaste} -\tab{5}\spadcommand{numberOfFactors(\%)\free{prev1 }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredNewPagePatch1} -\begin{paste}{ugxFactoredNewPageFull1}{ugxFactoredNewPageEmpty1} -\pastebutton{ugxFactoredNewPageFull1}{\hidepaste} -\tab{5}\spadcommand{nilFactor(24,2)\bound{prev2 }} -\indentrel{3}\begin{verbatim} - 2 - (1) 24 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredNewPageEmpty1} -\begin{paste}{ugxFactoredNewPageEmpty1}{ugxFactoredNewPagePatch1} -\pastebutton{ugxFactoredNewPageEmpty1}{\showpaste} -\tab{5}\spadcommand{nilFactor(24,2)\bound{prev2 }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredNewPagePatch2} -\begin{paste}{ugxFactoredNewPageFull2}{ugxFactoredNewPageEmpty2} -\pastebutton{ugxFactoredNewPageFull2}{\hidepaste} -\tab{5}\spadcommand{nthFlag(\%,1)\free{prev2 }} -\indentrel{3}\begin{verbatim} - (2) "nil" - Type: Union("nil",...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredNewPageEmpty2} -\begin{paste}{ugxFactoredNewPageEmpty2}{ugxFactoredNewPagePatch2} -\pastebutton{ugxFactoredNewPageEmpty2}{\showpaste} -\tab{5}\spadcommand{nthFlag(\%,1)\free{prev2 }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredNewPagePatch3} -\begin{paste}{ugxFactoredNewPageFull3}{ugxFactoredNewPageEmpty3} -\pastebutton{ugxFactoredNewPageFull3}{\hidepaste} -\tab{5}\spadcommand{sqfrFactor(30,2)\bound{prev3 }} -\indentrel{3}\begin{verbatim} - 2 - (3) 30 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredNewPageEmpty3} -\begin{paste}{ugxFactoredNewPageEmpty3}{ugxFactoredNewPagePatch3} -\pastebutton{ugxFactoredNewPageEmpty3}{\showpaste} -\tab{5}\spadcommand{sqfrFactor(30,2)\bound{prev3 }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredNewPagePatch4} -\begin{paste}{ugxFactoredNewPageFull4}{ugxFactoredNewPageEmpty4} -\pastebutton{ugxFactoredNewPageFull4}{\hidepaste} -\tab{5}\spadcommand{irreducibleFactor(13,10)\bound{prev4 }} -\indentrel{3}\begin{verbatim} - 10 - (4) 13 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredNewPageEmpty4} -\begin{paste}{ugxFactoredNewPageEmpty4}{ugxFactoredNewPagePatch4} -\pastebutton{ugxFactoredNewPageEmpty4}{\showpaste} -\tab{5}\spadcommand{irreducibleFactor(13,10)\bound{prev4 }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredNewPagePatch5} -\begin{paste}{ugxFactoredNewPageFull5}{ugxFactoredNewPageEmpty5} -\pastebutton{ugxFactoredNewPageFull5}{\hidepaste} -\tab{5}\spadcommand{primeFactor(11,5)\bound{prev5 }} -\indentrel{3}\begin{verbatim} - 5 - (5) 11 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredNewPageEmpty5} -\begin{paste}{ugxFactoredNewPageEmpty5}{ugxFactoredNewPagePatch5} -\pastebutton{ugxFactoredNewPageEmpty5}{\showpaste} -\tab{5}\spadcommand{primeFactor(11,5)\bound{prev5 }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredNewPagePatch6} -\begin{paste}{ugxFactoredNewPageFull6}{ugxFactoredNewPageEmpty6} -\pastebutton{ugxFactoredNewPageFull6}{\hidepaste} -\tab{5}\spadcommand{h := factor(-720)\bound{h }} -\indentrel{3}\begin{verbatim} - 4 2 - (6) - 2 3 5 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredNewPageEmpty6} -\begin{paste}{ugxFactoredNewPageEmpty6}{ugxFactoredNewPagePatch6} -\pastebutton{ugxFactoredNewPageEmpty6}{\showpaste} -\tab{5}\spadcommand{h := factor(-720)\bound{h }} -\end{paste}\end{patch} - -\begin{patch}{ugxFactoredNewPagePatch7} -\begin{paste}{ugxFactoredNewPageFull7}{ugxFactoredNewPageEmpty7} -\pastebutton{ugxFactoredNewPageFull7}{\hidepaste} -\tab{5}\spadcommand{h - makeFR(unit(h),factorList(h))\free{h }} -\indentrel{3}\begin{verbatim} - (7) 0 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxFactoredNewPageEmpty7} -\begin{paste}{ugxFactoredNewPageEmpty7}{ugxFactoredNewPagePatch7} -\pastebutton{ugxFactoredNewPageEmpty7}{\showpaste} -\tab{5}\spadcommand{h - makeFR(unit(h),factorList(h))\free{h }} -\end{paste}\end{patch} - diff --git a/books/pages/fr2.pht b/books/pages/fr2.pht deleted file mode 100644 index 5b26c40..0000000 --- a/books/pages/fr2.pht +++ /dev/null @@ -1,97 +0,0 @@ -\begin{patch}{FactoredFunctionsTwoXmpPagePatch1} -\begin{paste}{FactoredFunctionsTwoXmpPageFull1}{FactoredFunctionsTwoXmpPageEmpty1} -\pastebutton{FactoredFunctionsTwoXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{double(x) == x + x\bound{double }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FactoredFunctionsTwoXmpPageEmpty1} -\begin{paste}{FactoredFunctionsTwoXmpPageEmpty1}{FactoredFunctionsTwoXmpPagePatch1} -\pastebutton{FactoredFunctionsTwoXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{double(x) == x + x\bound{double }} -\end{paste}\end{patch} - -\begin{patch}{FactoredFunctionsTwoXmpPagePatch2} -\begin{paste}{FactoredFunctionsTwoXmpPageFull2}{FactoredFunctionsTwoXmpPageEmpty2} -\pastebutton{FactoredFunctionsTwoXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{f := factor(720)\bound{f }} -\indentrel{3}\begin{verbatim} - 4 2 - (2) 2 3 5 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FactoredFunctionsTwoXmpPageEmpty2} -\begin{paste}{FactoredFunctionsTwoXmpPageEmpty2}{FactoredFunctionsTwoXmpPagePatch2} -\pastebutton{FactoredFunctionsTwoXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{f := factor(720)\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{FactoredFunctionsTwoXmpPagePatch3} -\begin{paste}{FactoredFunctionsTwoXmpPageFull3}{FactoredFunctionsTwoXmpPageEmpty3} -\pastebutton{FactoredFunctionsTwoXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{map(double,f)\free{f }\free{double }} -\indentrel{3}\begin{verbatim} - 4 2 - (3) 2 4 6 10 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FactoredFunctionsTwoXmpPageEmpty3} -\begin{paste}{FactoredFunctionsTwoXmpPageEmpty3}{FactoredFunctionsTwoXmpPagePatch3} -\pastebutton{FactoredFunctionsTwoXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{map(double,f)\free{f }\free{double }} -\end{paste}\end{patch} - -\begin{patch}{FactoredFunctionsTwoXmpPagePatch4} -\begin{paste}{FactoredFunctionsTwoXmpPageFull4}{FactoredFunctionsTwoXmpPageEmpty4} -\pastebutton{FactoredFunctionsTwoXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{makePoly(b) == x + b\bound{makePoly }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FactoredFunctionsTwoXmpPageEmpty4} -\begin{paste}{FactoredFunctionsTwoXmpPageEmpty4}{FactoredFunctionsTwoXmpPagePatch4} -\pastebutton{FactoredFunctionsTwoXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{makePoly(b) == x + b\bound{makePoly }} -\end{paste}\end{patch} - -\begin{patch}{FactoredFunctionsTwoXmpPagePatch5} -\begin{paste}{FactoredFunctionsTwoXmpPageFull5}{FactoredFunctionsTwoXmpPageEmpty5} -\pastebutton{FactoredFunctionsTwoXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{g := map(makePoly,f)\free{f }\free{makePoly }\bound{g }} -\indentrel{3}\begin{verbatim} - 4 2 - (5) (x + 1)(x + 2) (x + 3) (x + 5) - Type: Factored Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FactoredFunctionsTwoXmpPageEmpty5} -\begin{paste}{FactoredFunctionsTwoXmpPageEmpty5}{FactoredFunctionsTwoXmpPagePatch5} -\pastebutton{FactoredFunctionsTwoXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{g := map(makePoly,f)\free{f }\free{makePoly }\bound{g }} -\end{paste}\end{patch} - -\begin{patch}{FactoredFunctionsTwoXmpPagePatch6} -\begin{paste}{FactoredFunctionsTwoXmpPageFull6}{FactoredFunctionsTwoXmpPageEmpty6} -\pastebutton{FactoredFunctionsTwoXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{nthFlag(g,1)\free{g }} -\indentrel{3}\begin{verbatim} - (6) "nil" - Type: Union("nil",...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FactoredFunctionsTwoXmpPageEmpty6} -\begin{paste}{FactoredFunctionsTwoXmpPageEmpty6}{FactoredFunctionsTwoXmpPagePatch6} -\pastebutton{FactoredFunctionsTwoXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{nthFlag(g,1)\free{g }} -\end{paste}\end{patch} - diff --git a/books/pages/frac.pht b/books/pages/frac.pht deleted file mode 100644 index f5fa2f8..0000000 --- a/books/pages/frac.pht +++ /dev/null @@ -1,219 +0,0 @@ -\begin{patch}{FractionXmpPagePatch1} -\begin{paste}{FractionXmpPageFull1}{FractionXmpPageEmpty1} -\pastebutton{FractionXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{a := 11/12\bound{a }} -\indentrel{3}\begin{verbatim} - 11 - (1) ÄÄ - 12 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FractionXmpPageEmpty1} -\begin{paste}{FractionXmpPageEmpty1}{FractionXmpPagePatch1} -\pastebutton{FractionXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{a := 11/12\bound{a }} -\end{paste}\end{patch} - -\begin{patch}{FractionXmpPagePatch2} -\begin{paste}{FractionXmpPageFull2}{FractionXmpPageEmpty2} -\pastebutton{FractionXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{b := 23/24\bound{b }} -\indentrel{3}\begin{verbatim} - 23 - (2) ÄÄ - 24 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FractionXmpPageEmpty2} -\begin{paste}{FractionXmpPageEmpty2}{FractionXmpPagePatch2} -\pastebutton{FractionXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{b := 23/24\bound{b }} -\end{paste}\end{patch} - -\begin{patch}{FractionXmpPagePatch3} -\begin{paste}{FractionXmpPageFull3}{FractionXmpPageEmpty3} -\pastebutton{FractionXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{3 - a*b**2 + a + b/a\free{a }\free{b }} -\indentrel{3}\begin{verbatim} - 313271 - (3) ÄÄÄÄÄÄ - 76032 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FractionXmpPageEmpty3} -\begin{paste}{FractionXmpPageEmpty3}{FractionXmpPagePatch3} -\pastebutton{FractionXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{3 - a*b**2 + a + b/a\free{a }\free{b }} -\end{paste}\end{patch} - -\begin{patch}{FractionXmpPagePatch4} -\begin{paste}{FractionXmpPageFull4}{FractionXmpPageEmpty4} -\pastebutton{FractionXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{numer(a)\free{a }} -\indentrel{3}\begin{verbatim} - (4) 11 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FractionXmpPageEmpty4} -\begin{paste}{FractionXmpPageEmpty4}{FractionXmpPagePatch4} -\pastebutton{FractionXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{numer(a)\free{a }} -\end{paste}\end{patch} - -\begin{patch}{FractionXmpPagePatch5} -\begin{paste}{FractionXmpPageFull5}{FractionXmpPageEmpty5} -\pastebutton{FractionXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{denom(b)\free{b }} -\indentrel{3}\begin{verbatim} - (5) 24 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FractionXmpPageEmpty5} -\begin{paste}{FractionXmpPageEmpty5}{FractionXmpPagePatch5} -\pastebutton{FractionXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{denom(b)\free{b }} -\end{paste}\end{patch} - -\begin{patch}{FractionXmpPagePatch6} -\begin{paste}{FractionXmpPageFull6}{FractionXmpPageEmpty6} -\pastebutton{FractionXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{r := (x**2 + 2*x + 1)/(x**2 - 2*x + 1)\bound{r }} -\indentrel{3}\begin{verbatim} - 2 - x + 2x + 1 - (6) ÄÄÄÄÄÄÄÄÄÄÄ - 2 - x - 2x + 1 - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FractionXmpPageEmpty6} -\begin{paste}{FractionXmpPageEmpty6}{FractionXmpPagePatch6} -\pastebutton{FractionXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{r := (x**2 + 2*x + 1)/(x**2 - 2*x + 1)\bound{r }} -\end{paste}\end{patch} - -\begin{patch}{FractionXmpPagePatch7} -\begin{paste}{FractionXmpPageFull7}{FractionXmpPageEmpty7} -\pastebutton{FractionXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{factor(r)\free{r }} -\indentrel{3}\begin{verbatim} - 2 - x + 2x + 1 - (7) ÄÄÄÄÄÄÄÄÄÄÄ - 2 - x - 2x + 1 - Type: Factored Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FractionXmpPageEmpty7} -\begin{paste}{FractionXmpPageEmpty7}{FractionXmpPagePatch7} -\pastebutton{FractionXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{factor(r)\free{r }} -\end{paste}\end{patch} - -\begin{patch}{FractionXmpPagePatch8} -\begin{paste}{FractionXmpPageFull8}{FractionXmpPageEmpty8} -\pastebutton{FractionXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{map(factor,r)\free{r }} -\indentrel{3}\begin{verbatim} - 2 - (x + 1) - (8) ÄÄÄÄÄÄÄÄ - 2 - (x - 1) - Type: Fraction Factored Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FractionXmpPageEmpty8} -\begin{paste}{FractionXmpPageEmpty8}{FractionXmpPagePatch8} -\pastebutton{FractionXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{map(factor,r)\free{r }} -\end{paste}\end{patch} - -\begin{patch}{FractionXmpPagePatch9} -\begin{paste}{FractionXmpPageFull9}{FractionXmpPageEmpty9} -\pastebutton{FractionXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{continuedFraction(7/12)} -\indentrel{3}\begin{verbatim} - 1 ³ 1 ³ 1 ³ 1 ³ - (9) ÚÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÙ - ³ 1 ³ 1 ³ 2 ³ 2 - Type: ContinuedFraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FractionXmpPageEmpty9} -\begin{paste}{FractionXmpPageEmpty9}{FractionXmpPagePatch9} -\pastebutton{FractionXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{continuedFraction(7/12)} -\end{paste}\end{patch} - -\begin{patch}{FractionXmpPagePatch10} -\begin{paste}{FractionXmpPageFull10}{FractionXmpPageEmpty10} -\pastebutton{FractionXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{partialFraction(7,12)} -\indentrel{3}\begin{verbatim} - 3 1 - (10) 1 - ÄÄ + Ä - 2 3 - 2 - Type: PartialFraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FractionXmpPageEmpty10} -\begin{paste}{FractionXmpPageEmpty10}{FractionXmpPagePatch10} -\pastebutton{FractionXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{partialFraction(7,12)} -\end{paste}\end{patch} - -\begin{patch}{FractionXmpPagePatch11} -\begin{paste}{FractionXmpPageFull11}{FractionXmpPageEmpty11} -\pastebutton{FractionXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{g := 2/3 + 4/5*\%i\bound{g }} -\indentrel{3}\begin{verbatim} - 2 4 - (11) Ä + Ä %i - 3 5 - Type: Complex Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FractionXmpPageEmpty11} -\begin{paste}{FractionXmpPageEmpty11}{FractionXmpPagePatch11} -\pastebutton{FractionXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{g := 2/3 + 4/5*\%i\bound{g }} -\end{paste}\end{patch} - -\begin{patch}{FractionXmpPagePatch12} -\begin{paste}{FractionXmpPageFull12}{FractionXmpPageEmpty12} -\pastebutton{FractionXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{g :: FRAC COMPLEX INT\free{g }} -\indentrel{3}\begin{verbatim} - 10 + 12%i - (12) ÄÄÄÄÄÄÄÄÄ - 15 - Type: Fraction Complex Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FractionXmpPageEmpty12} -\begin{paste}{FractionXmpPageEmpty12}{FractionXmpPagePatch12} -\pastebutton{FractionXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{g :: FRAC COMPLEX INT\free{g }} -\end{paste}\end{patch} - diff --git a/books/pages/function.pht b/books/pages/function.pht deleted file mode 100644 index eeb51b2..0000000 --- a/books/pages/function.pht +++ /dev/null @@ -1,506 +0,0 @@ -\begin{patch}{RationatFunctionPagePatch1} -\begin{paste}{RationatFunctionPageFull1}{RationatFunctionPageEmpty1} -\pastebutton{RationatFunctionPageFull1}{\hidepaste} -\tab{5}\spadcommand{f := (x - y) / (x + y)\bound{f }} -\indentrel{3}\begin{verbatim} - - y + x - (1) ÄÄÄÄÄÄÄ - y + x - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RationatFunctionPageEmpty1} -\begin{paste}{RationatFunctionPageEmpty1}{RationatFunctionPagePatch1} -\pastebutton{RationatFunctionPageEmpty1}{\showpaste} -\tab{5}\spadcommand{f := (x - y) / (x + y)\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{RationatFunctionPagePatch2} -\begin{paste}{RationatFunctionPageFull2}{RationatFunctionPageEmpty2} -\pastebutton{RationatFunctionPageFull2}{\hidepaste} -\tab{5}\spadcommand{numer f\free{f }} -\indentrel{3}\begin{verbatim} - (2) - y + x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RationatFunctionPageEmpty2} -\begin{paste}{RationatFunctionPageEmpty2}{RationatFunctionPagePatch2} -\pastebutton{RationatFunctionPageEmpty2}{\showpaste} -\tab{5}\spadcommand{numer f\free{f }} -\end{paste}\end{patch} - -\begin{patch}{RationatFunctionPagePatch3} -\begin{paste}{RationatFunctionPageFull3}{RationatFunctionPageEmpty3} -\pastebutton{RationatFunctionPageFull3}{\hidepaste} -\tab{5}\spadcommand{denom f\free{f }} -\indentrel{3}\begin{verbatim} - (3) y + x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RationatFunctionPageEmpty3} -\begin{paste}{RationatFunctionPageEmpty3}{RationatFunctionPagePatch3} -\pastebutton{RationatFunctionPageEmpty3}{\showpaste} -\tab{5}\spadcommand{denom f\free{f }} -\end{paste}\end{patch} - -\begin{patch}{RationatFunctionPagePatch4} -\begin{paste}{RationatFunctionPageFull4}{RationatFunctionPageEmpty4} -\pastebutton{RationatFunctionPageFull4}{\hidepaste} -\tab{5}\spadcommand{eval(f, x = 1/x)\free{f }} -\indentrel{3}\begin{verbatim} - - x y + 1 - (4) ÄÄÄÄÄÄÄÄÄ - x y + 1 - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RationatFunctionPageEmpty4} -\begin{paste}{RationatFunctionPageEmpty4}{RationatFunctionPagePatch4} -\pastebutton{RationatFunctionPageEmpty4}{\showpaste} -\tab{5}\spadcommand{eval(f, x = 1/x)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{RationatFunctionPagePatch5} -\begin{paste}{RationatFunctionPageFull5}{RationatFunctionPageEmpty5} -\pastebutton{RationatFunctionPageFull5}{\hidepaste} -\tab{5}\spadcommand{eval(f, [x = y, y = x])\free{f }} -\indentrel{3}\begin{verbatim} - y - x - (5) ÄÄÄÄÄ - y + x - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RationatFunctionPageEmpty5} -\begin{paste}{RationatFunctionPageEmpty5}{RationatFunctionPagePatch5} -\pastebutton{RationatFunctionPageEmpty5}{\showpaste} -\tab{5}\spadcommand{eval(f, [x = y, y = x])\free{f }} -\end{paste}\end{patch} - -\begin{patch}{AlgebraicFunctionPagePatch1} -\begin{paste}{AlgebraicFunctionPageFull1}{AlgebraicFunctionPageEmpty1} -\pastebutton{AlgebraicFunctionPageFull1}{\hidepaste} -\tab{5}\spadcommand{f := sqrt(1 + x ** (1/3))\bound{f }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄÄÄÄÄÄ¿ - ³3ÚÄ¿ - (1) \³\³x + 1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{AlgebraicFunctionPageEmpty1} -\begin{paste}{AlgebraicFunctionPageEmpty1}{AlgebraicFunctionPagePatch1} -\pastebutton{AlgebraicFunctionPageEmpty1}{\showpaste} -\tab{5}\spadcommand{f := sqrt(1 + x ** (1/3))\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{AlgebraicFunctionPagePatch2} -\begin{paste}{AlgebraicFunctionPageFull2}{AlgebraicFunctionPageEmpty2} -\pastebutton{AlgebraicFunctionPageFull2}{\hidepaste} -\tab{5}\spadcommand{y := rootOf(y**3 + y**2 - x*y + x**3 - 1, y)\bound{y }} -\indentrel{3}\begin{verbatim} - (2) y - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{AlgebraicFunctionPageEmpty2} -\begin{paste}{AlgebraicFunctionPageEmpty2}{AlgebraicFunctionPagePatch2} -\pastebutton{AlgebraicFunctionPageEmpty2}{\showpaste} -\tab{5}\spadcommand{y := rootOf(y**3 + y**2 - x*y + x**3 - 1, y)\bound{y }} -\end{paste}\end{patch} - -\begin{patch}{AlgebraicFunctionPagePatch3} -\begin{paste}{AlgebraicFunctionPageFull3}{AlgebraicFunctionPageEmpty3} -\pastebutton{AlgebraicFunctionPageFull3}{\hidepaste} -\tab{5}\spadcommand{differentiate(y, x)\free{y }} -\indentrel{3}\begin{verbatim} - 2 - y - 3x - (3) ÄÄÄÄÄÄÄÄÄÄÄÄ - 2 - 3y + 2y - x - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{AlgebraicFunctionPageEmpty3} -\begin{paste}{AlgebraicFunctionPageEmpty3}{AlgebraicFunctionPagePatch3} -\pastebutton{AlgebraicFunctionPageEmpty3}{\showpaste} -\tab{5}\spadcommand{differentiate(y, x)\free{y }} -\end{paste}\end{patch} - -\begin{patch}{AlgebraicFunctionPagePatch4} -\begin{paste}{AlgebraicFunctionPageFull4}{AlgebraicFunctionPageEmpty4} -\pastebutton{AlgebraicFunctionPageFull4}{\hidepaste} -\tab{5}\spadcommand{(y + 1) ** 3\free{y }} -\indentrel{3}\begin{verbatim} - 2 3 - (4) 2y + (x + 3)y - x + 2 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{AlgebraicFunctionPageEmpty4} -\begin{paste}{AlgebraicFunctionPageEmpty4}{AlgebraicFunctionPagePatch4} -\pastebutton{AlgebraicFunctionPageEmpty4}{\showpaste} -\tab{5}\spadcommand{(y + 1) ** 3\free{y }} -\end{paste}\end{patch} - -\begin{patch}{AlgebraicFunctionPagePatch5} -\begin{paste}{AlgebraicFunctionPageFull5}{AlgebraicFunctionPageEmpty5} -\pastebutton{AlgebraicFunctionPageFull5}{\hidepaste} -\tab{5}\spadcommand{g := inv f\bound{g }\free{y }} -\indentrel{3}\begin{verbatim} - 1 - (5) ÄÄÄÄÄÄÄÄÄÄÄ - ÚÄÄÄÄÄÄÄÄ¿ - ³3ÚÄ¿ - \³\³x + 1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{AlgebraicFunctionPageEmpty5} -\begin{paste}{AlgebraicFunctionPageEmpty5}{AlgebraicFunctionPagePatch5} -\pastebutton{AlgebraicFunctionPageEmpty5}{\showpaste} -\tab{5}\spadcommand{g := inv f\bound{g }\free{y }} -\end{paste}\end{patch} - -\begin{patch}{AlgebraicFunctionPagePatch6} -\begin{paste}{AlgebraicFunctionPageFull6}{AlgebraicFunctionPageEmpty6} -\pastebutton{AlgebraicFunctionPageFull6}{\hidepaste} -\tab{5}\spadcommand{ratDenom g\free{g }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄÄÄÄÄÄ¿ - 3ÚÄ¿2 3ÚÄ¿ ³3ÚÄ¿ - (\³x - \³x + 1)\³\³x + 1 - (6) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - x + 1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{AlgebraicFunctionPageEmpty6} -\begin{paste}{AlgebraicFunctionPageEmpty6}{AlgebraicFunctionPagePatch6} -\pastebutton{AlgebraicFunctionPageEmpty6}{\showpaste} -\tab{5}\spadcommand{ratDenom g\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ElementaryFunctionPagePatch1} -\begin{paste}{ElementaryFunctionPageFull1}{ElementaryFunctionPageEmpty1} -\pastebutton{ElementaryFunctionPageFull1}{\hidepaste} -\tab{5}\spadcommand{f := x * log y * sin(1/(x+y))\bound{f }} -\indentrel{3}\begin{verbatim} - 1 - (1) x log(y)sin(ÄÄÄÄÄ) - y + x - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ElementaryFunctionPageEmpty1} -\begin{paste}{ElementaryFunctionPageEmpty1}{ElementaryFunctionPagePatch1} -\pastebutton{ElementaryFunctionPageEmpty1}{\showpaste} -\tab{5}\spadcommand{f := x * log y * sin(1/(x+y))\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{ElementaryFunctionPagePatch2} -\begin{paste}{ElementaryFunctionPageFull2}{ElementaryFunctionPageEmpty2} -\pastebutton{ElementaryFunctionPageFull2}{\hidepaste} -\tab{5}\spadcommand{eval(f, [x = y, y = x])\free{f }} -\indentrel{3}\begin{verbatim} - 1 - (2) y log(x)sin(ÄÄÄÄÄ) - y + x - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ElementaryFunctionPageEmpty2} -\begin{paste}{ElementaryFunctionPageEmpty2}{ElementaryFunctionPagePatch2} -\pastebutton{ElementaryFunctionPageEmpty2}{\showpaste} -\tab{5}\spadcommand{eval(f, [x = y, y = x])\free{f }} -\end{paste}\end{patch} - -\begin{patch}{ElementaryFunctionPagePatch3} -\begin{paste}{ElementaryFunctionPageFull3}{ElementaryFunctionPageEmpty3} -\pastebutton{ElementaryFunctionPageFull3}{\hidepaste} -\tab{5}\spadcommand{eval(f, log y = acosh(x + sqrt y))\free{f }} -\indentrel{3}\begin{verbatim} - 1 ÚÄ¿ - (3) x sin(ÄÄÄÄÄ)acosh(\³y + x) - y + x - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ElementaryFunctionPageEmpty3} -\begin{paste}{ElementaryFunctionPageEmpty3}{ElementaryFunctionPagePatch3} -\pastebutton{ElementaryFunctionPageEmpty3}{\showpaste} -\tab{5}\spadcommand{eval(f, log y = acosh(x + sqrt y))\free{f }} -\end{paste}\end{patch} - -\begin{patch}{FunctionSimplificationPagePatch1} -\begin{paste}{FunctionSimplificationPageFull1}{FunctionSimplificationPageEmpty1} -\pastebutton{FunctionSimplificationPageFull1}{\hidepaste} -\tab{5}\spadcommand{f := cos(x)/sec(x) * log(sin(x)**2/(cos(x)**2+sin(x)**2))\bound{f }} -\indentrel{3}\begin{verbatim} - 2 - sin(x) - cos(x)log(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) - 2 2 - sin(x) + cos(x) - (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - sec(x) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FunctionSimplificationPageEmpty1} -\begin{paste}{FunctionSimplificationPageEmpty1}{FunctionSimplificationPagePatch1} -\pastebutton{FunctionSimplificationPageEmpty1}{\showpaste} -\tab{5}\spadcommand{f := cos(x)/sec(x) * log(sin(x)**2/(cos(x)**2+sin(x)**2))\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{FunctionSimplificationPagePatch2} -\begin{paste}{FunctionSimplificationPageFull2}{FunctionSimplificationPageEmpty2} -\pastebutton{FunctionSimplificationPageFull2}{\hidepaste} -\tab{5}\spadcommand{g := simplify f\bound{g }\free{f }} -\indentrel{3}\begin{verbatim} - 2 2 - (2) cos(x) log(- cos(x) + 1) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FunctionSimplificationPageEmpty2} -\begin{paste}{FunctionSimplificationPageEmpty2}{FunctionSimplificationPagePatch2} -\pastebutton{FunctionSimplificationPageEmpty2}{\showpaste} -\tab{5}\spadcommand{g := simplify f\bound{g }\free{f }} -\end{paste}\end{patch} - -\begin{patch}{FunctionSimplificationPagePatch3} -\begin{paste}{FunctionSimplificationPageFull3}{FunctionSimplificationPageEmpty3} -\pastebutton{FunctionSimplificationPageFull3}{\hidepaste} -\tab{5}\spadcommand{h := sin2csc cos2sec g\bound{h }\free{g }} -\indentrel{3}\begin{verbatim} - 2 - sec(x) - 1 - log(ÄÄÄÄÄÄÄÄÄÄÄ) - 2 - sec(x) - (3) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 2 - sec(x) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FunctionSimplificationPageEmpty3} -\begin{paste}{FunctionSimplificationPageEmpty3}{FunctionSimplificationPagePatch3} -\pastebutton{FunctionSimplificationPageEmpty3}{\showpaste} -\tab{5}\spadcommand{h := sin2csc cos2sec g\bound{h }\free{g }} -\end{paste}\end{patch} - -\begin{patch}{FunctionSimplificationPagePatch4} -\begin{paste}{FunctionSimplificationPageFull4}{FunctionSimplificationPageEmpty4} -\pastebutton{FunctionSimplificationPageFull4}{\hidepaste} -\tab{5}\spadcommand{expandLog h\free{h }} -\indentrel{3}\begin{verbatim} - 2 - log(sec(x) - 1) - 2log(sec(x)) - (4) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 2 - sec(x) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FunctionSimplificationPageEmpty4} -\begin{paste}{FunctionSimplificationPageEmpty4}{FunctionSimplificationPagePatch4} -\pastebutton{FunctionSimplificationPageEmpty4}{\showpaste} -\tab{5}\spadcommand{expandLog h\free{h }} -\end{paste}\end{patch} - -\begin{patch}{FunctionSimplificationPagePatch5} -\begin{paste}{FunctionSimplificationPageFull5}{FunctionSimplificationPageEmpty5} -\pastebutton{FunctionSimplificationPageFull5}{\hidepaste} -\tab{5}\spadcommand{f1 := sqrt((x+1)**3)\bound{f1 }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ - ³ 3 2 - (5) \³x + 3x + 3x + 1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FunctionSimplificationPageEmpty5} -\begin{paste}{FunctionSimplificationPageEmpty5}{FunctionSimplificationPagePatch5} -\pastebutton{FunctionSimplificationPageEmpty5}{\showpaste} -\tab{5}\spadcommand{f1 := sqrt((x+1)**3)\bound{f1 }} -\end{paste}\end{patch} - -\begin{patch}{FunctionSimplificationPagePatch6} -\begin{paste}{FunctionSimplificationPageFull6}{FunctionSimplificationPageEmpty6} -\pastebutton{FunctionSimplificationPageFull6}{\hidepaste} -\tab{5}\spadcommand{rootSimp f1\free{f1 }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄÄÄ¿ - (6) (x + 1)\³x + 1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FunctionSimplificationPageEmpty6} -\begin{paste}{FunctionSimplificationPageEmpty6}{FunctionSimplificationPagePatch6} -\pastebutton{FunctionSimplificationPageEmpty6}{\showpaste} -\tab{5}\spadcommand{rootSimp f1\free{f1 }} -\end{paste}\end{patch} - -\begin{patch}{FunctionSimplificationPagePatch7} -\begin{paste}{FunctionSimplificationPageFull7}{FunctionSimplificationPageEmpty7} -\pastebutton{FunctionSimplificationPageFull7}{\hidepaste} -\tab{5}\spadcommand{g1 := sin(x + cos x)\bound{g1 }} -\indentrel{3}\begin{verbatim} - (7) sin(cos(x) + x) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FunctionSimplificationPageEmpty7} -\begin{paste}{FunctionSimplificationPageEmpty7}{FunctionSimplificationPagePatch7} -\pastebutton{FunctionSimplificationPageEmpty7}{\showpaste} -\tab{5}\spadcommand{g1 := sin(x + cos x)\bound{g1 }} -\end{paste}\end{patch} - -\begin{patch}{FunctionSimplificationPagePatch8} -\begin{paste}{FunctionSimplificationPageFull8}{FunctionSimplificationPageEmpty8} -\pastebutton{FunctionSimplificationPageFull8}{\hidepaste} -\tab{5}\spadcommand{g2 := complexElementary g1\bound{g2 }\free{g1 }} -\indentrel{3}\begin{verbatim} - (8) - - - ÚÄÄÄ¿ - \³- 1 - * - %e - ** - ÚÄÄÄ¿ 2 ÚÄÄÄ¿ - ÚÄÄÄ¿ x\³- 1 ÚÄÄÄ¿ x\³- 1 - \³- 1 (%e ) + 2x\³- 1 %e - + - ÚÄÄÄ¿ - \³- 1 - / - ÚÄÄÄ¿ - x\³- 1 - 2%e - ** - 2 - + - ÚÄÄÄ¿ - \³- 1 - / - ÚÄÄÄ¿ 2 ÚÄÄÄ¿ - ÚÄÄÄ¿ x\³- 1 ÚÄÄÄ¿ x\³- 1 ÚÄÄÄ¿ - \³- 1 (%e ) + 2x\³- 1 %e + \³- 1 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - ÚÄÄÄ¿ - x\³- 1 - 2%e - 2%e - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FunctionSimplificationPageEmpty8} -\begin{paste}{FunctionSimplificationPageEmpty8}{FunctionSimplificationPagePatch8} -\pastebutton{FunctionSimplificationPageEmpty8}{\showpaste} -\tab{5}\spadcommand{g2 := complexElementary g1\bound{g2 }\free{g1 }} -\end{paste}\end{patch} - -\begin{patch}{FunctionSimplificationPagePatch9} -\begin{paste}{FunctionSimplificationPageFull9}{FunctionSimplificationPageEmpty9} -\pastebutton{FunctionSimplificationPageFull9}{\hidepaste} -\tab{5}\spadcommand{trigs g2\free{g2 }} -\indentrel{3}\begin{verbatim} - (9) sin(cos(x) + x) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FunctionSimplificationPageEmpty9} -\begin{paste}{FunctionSimplificationPageEmpty9}{FunctionSimplificationPagePatch9} -\pastebutton{FunctionSimplificationPageEmpty9}{\showpaste} -\tab{5}\spadcommand{trigs g2\free{g2 }} -\end{paste}\end{patch} - -\begin{patch}{FunctionSimplificationPagePatch10} -\begin{paste}{FunctionSimplificationPageFull10}{FunctionSimplificationPageEmpty10} -\pastebutton{FunctionSimplificationPageFull10}{\hidepaste} -\tab{5}\spadcommand{h1 := sinh(x + cosh x)\bound{h1 }} -\indentrel{3}\begin{verbatim} - (10) sinh(cosh(x) + x) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FunctionSimplificationPageEmpty10} -\begin{paste}{FunctionSimplificationPageEmpty10}{FunctionSimplificationPagePatch10} -\pastebutton{FunctionSimplificationPageEmpty10}{\showpaste} -\tab{5}\spadcommand{h1 := sinh(x + cosh x)\bound{h1 }} -\end{paste}\end{patch} - -\begin{patch}{FunctionSimplificationPagePatch11} -\begin{paste}{FunctionSimplificationPageFull11}{FunctionSimplificationPageEmpty11} -\pastebutton{FunctionSimplificationPageFull11}{\hidepaste} -\tab{5}\spadcommand{h2 := realElementary h1\bound{h2 }\free{h1 }} -\indentrel{3}\begin{verbatim} - x 2 x 2 - (%e ) + 2x %e + 1 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - x - 2%e - (%e ) - 1 - (11) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - x 2 x - (%e ) + 2x %e + 1 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - x - 2%e - 2%e - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FunctionSimplificationPageEmpty11} -\begin{paste}{FunctionSimplificationPageEmpty11}{FunctionSimplificationPagePatch11} -\pastebutton{FunctionSimplificationPageEmpty11}{\showpaste} -\tab{5}\spadcommand{h2 := realElementary h1\bound{h2 }\free{h1 }} -\end{paste}\end{patch} - -\begin{patch}{FunctionSimplificationPagePatch12} -\begin{paste}{FunctionSimplificationPageFull12}{FunctionSimplificationPageEmpty12} -\pastebutton{FunctionSimplificationPageFull12}{\hidepaste} -\tab{5}\spadcommand{htrigs h2\free{h2 }} -\indentrel{3}\begin{verbatim} - (12) sinh(cosh(x) + x) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FunctionSimplificationPageEmpty12} -\begin{paste}{FunctionSimplificationPageEmpty12}{FunctionSimplificationPagePatch12} -\pastebutton{FunctionSimplificationPageEmpty12}{\showpaste} -\tab{5}\spadcommand{htrigs h2\free{h2 }} -\end{paste}\end{patch} - diff --git a/books/pages/gbf.pht b/books/pages/gbf.pht deleted file mode 100644 index ea39b58..0000000 --- a/books/pages/gbf.pht +++ /dev/null @@ -1,110 +0,0 @@ -\begin{patch}{GroebnerFactorizationPackageXmpPagePatch1} -\begin{paste}{GroebnerFactorizationPackageXmpPageFull1}{GroebnerFactorizationPackageXmpPageEmpty1} -\pastebutton{GroebnerFactorizationPackageXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{mfzn : SQMATRIX(6,DMP([x,y,z],Fraction INT)) := [[0,1,1,1,1,1], [1,0,1,8/3,x,8/3], [1,1,0,1,8/3,y], [1,8/3,1,0,1,8/3], [1,x,8/3,1,0,1], [1,8/3,y,8/3,1,0]]\bound{mfzn }} -\indentrel{3}\begin{verbatim} - Ú0 1 1 1 1 1¿ - ³ ³ - ³ 8 8³ - ³1 0 1 Ä x ij - ³ 3 3³ - ³ ³ - ³ 8 ³ - ³1 1 0 1 Ä y³ - ³ 3 ³ - ³ ³ - (1) ³ 8 8³ - ³1 Ä 1 0 1 ij - ³ 3 3³ - ³ ³ - ³ 8 ³ - ³1 x Ä 1 0 1³ - ³ 3 ³ - ³ ³ - ³ 8 8 ³ - ³1 Ä y Ä 1 0³ - À 3 3 Ù -Type: SquareMatrix(6,DistributedMultivariatePolynomial([x,y,z],Fraction Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{GroebnerFactorizationPackageXmpPageEmpty1} -\begin{paste}{GroebnerFactorizationPackageXmpPageEmpty1}{GroebnerFactorizationPackageXmpPagePatch1} -\pastebutton{GroebnerFactorizationPackageXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{mfzn : SQMATRIX(6,DMP([x,y,z],Fraction INT)) := [[0,1,1,1,1,1], [1,0,1,8/3,x,8/3], [1,1,0,1,8/3,y], [1,8/3,1,0,1,8/3], [1,x,8/3,1,0,1], [1,8/3,y,8/3,1,0]]\bound{mfzn }} -\end{paste}\end{patch} - -\begin{patch}{GroebnerFactorizationPackageXmpPagePatch2} -\begin{paste}{GroebnerFactorizationPackageXmpPageFull2}{GroebnerFactorizationPackageXmpPageEmpty2} -\pastebutton{GroebnerFactorizationPackageXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{eq := determinant mfzn\free{mfzn }\bound{eq }} -\indentrel{3}\begin{verbatim} - (2) - 2 2 22 2 25 2 22 2 388 250 - - x y + ÄÄ x y - ÄÄ x + ÄÄ x y - ÄÄÄ x y - ÄÄÄ x - 3 9 3 9 27 - + - 25 2 250 14575 - - ÄÄ y - ÄÄÄ y + ÄÄÄÄÄ - 9 27 81 -Type: DistributedMultivariatePolynomial([x,y,z],Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{GroebnerFactorizationPackageXmpPageEmpty2} -\begin{paste}{GroebnerFactorizationPackageXmpPageEmpty2}{GroebnerFactorizationPackageXmpPagePatch2} -\pastebutton{GroebnerFactorizationPackageXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{eq := determinant mfzn\free{mfzn }\bound{eq }} -\end{paste}\end{patch} - -\begin{patch}{GroebnerFactorizationPackageXmpPagePatch3} -\begin{paste}{GroebnerFactorizationPackageXmpPageFull3}{GroebnerFactorizationPackageXmpPageEmpty3} -\pastebutton{GroebnerFactorizationPackageXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{groebnerFactorize [eq, eval(eq, [x,y,z], [y,z,x]), eval(eq, [x,y,z], [z,x,y])]\free{eq }} -\indentrel{3}\begin{verbatim} - (3) - [ - 22 22 22 121 - [x y + x z - ÄÄ x + y z - ÄÄ y - ÄÄ z + ÄÄÄ, - 3 3 3 3 - - 2 22 25 2 22 25 - x z - ÄÄ x z + ÄÄ x + y z - ÄÄ y z + ÄÄ y - 3 9 3 9 - + - 22 2 388 250 - - ÄÄ z + ÄÄÄ z + ÄÄÄ - 3 9 27 - , - - 2 2 22 2 25 2 22 2 388 250 - y z - ÄÄ y z + ÄÄ y - ÄÄ y z + ÄÄÄ y z + ÄÄÄ y - 3 9 3 9 27 - + - 25 2 250 14575 - ÄÄ z + ÄÄÄ z - ÄÄÄÄÄ - 9 27 81 - ] - , - 21994 2 21994 4427 463 - [x + y - ÄÄÄÄÄ,y - ÄÄÄÄÄ y + ÄÄÄÄ,z - ÄÄÄ], - 5625 5625 675 87 - 2 1 11 5 265 2 38 265 - [x - Ä x z - ÄÄ x - Ä z + ÄÄÄ,y - z,z - ÄÄ z + ÄÄÄ], - 2 2 6 18 3 9 - 25 11 11 11 11 11 - [x - ÄÄ,y - ÄÄ,z - ÄÄ], [x - ÄÄ,y - ÄÄ,z - ÄÄ], - 9 3 3 3 3 3 - 5 5 5 19 5 5 - [x + Ä,y + Ä,z + Ä], [x - ÄÄ,y + Ä,z + Ä]] - 3 3 3 3 3 3 -Type: List List DistributedMultivariatePolynomial([x,y,z],Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{GroebnerFactorizationPackageXmpPageEmpty3} -\begin{paste}{GroebnerFactorizationPackageXmpPageEmpty3}{GroebnerFactorizationPackageXmpPagePatch3} -\pastebutton{GroebnerFactorizationPackageXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{groebnerFactorize [eq, eval(eq, [x,y,z], [y,z,x]), eval(eq, [x,y,z], [z,x,y])]\free{eq }} -\end{paste}\end{patch} - diff --git a/books/pages/graphics.pht b/books/pages/graphics.pht deleted file mode 100644 index 6d58e6c..0000000 --- a/books/pages/graphics.pht +++ /dev/null @@ -1,2087 +0,0 @@ -\begin{patch}{AssortedGraphicsExamplePagePatch1} -\begin{paste}{AssortedGraphicsExamplePageFull1}{AssortedGraphicsExamplePageEmpty1} -\pastebutton{AssortedGraphicsExamplePageFull1}{\hidepaste} -\tab{5}\spadgraph{draw(sin(x * y), x = -2.5..2.5, y = -2.5..2.5)\bound{example1 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/assortedgraphicsexamplepage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/assortedgraphicsexamplepage1}} -\end{paste}\end{patch} - -\begin{patch}{AssortedGraphicsExamplePageEmpty1} -\begin{paste}{AssortedGraphicsExamplePageEmpty1}{AssortedGraphicsExamplePagePatch1} -\pastebutton{AssortedGraphicsExamplePageEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(sin(x * y), x = -2.5..2.5, y = -2.5..2.5)\bound{example1 }} -\end{paste}\end{patch} - -\begin{patch}{AssortedGraphicsExamplePagePatch2} -\begin{paste}{AssortedGraphicsExamplePageFull2}{AssortedGraphicsExamplePageEmpty2} -\pastebutton{AssortedGraphicsExamplePageFull2}{\hidepaste} -\tab{5}\spadgraph{draw(sin tan x - tan sin x,x = 0..6)\bound{example2 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/assortedgraphicsexamplepage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/assortedgraphicsexamplepage2}} -\end{paste}\end{patch} - -\begin{patch}{AssortedGraphicsExamplePageEmpty2} -\begin{paste}{AssortedGraphicsExamplePageEmpty2}{AssortedGraphicsExamplePagePatch2} -\pastebutton{AssortedGraphicsExamplePageEmpty2}{\showpaste} -\tab{5}\spadgraph{draw(sin tan x - tan sin x,x = 0..6)\bound{example2 }} -\end{paste}\end{patch} - -\begin{patch}{AssortedGraphicsExamplePagePatch3} -\begin{paste}{AssortedGraphicsExamplePageFull3}{AssortedGraphicsExamplePageEmpty3} -\pastebutton{AssortedGraphicsExamplePageFull3}{\hidepaste} -\tab{5}\spadgraph{draw(curve(sin(t)*sin(2*t), sin(3*t)*sin(4*t)), t = 0..2*\%pi)\bound{example3 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/assortedgraphicsexamplepage3.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/assortedgraphicsexamplepage3}} -\end{paste}\end{patch} - -\begin{patch}{AssortedGraphicsExamplePageEmpty3} -\begin{paste}{AssortedGraphicsExamplePageEmpty3}{AssortedGraphicsExamplePagePatch3} -\pastebutton{AssortedGraphicsExamplePageEmpty3}{\showpaste} -\tab{5}\spadgraph{draw(curve(sin(t)*sin(2*t), sin(3*t)*sin(4*t)), t = 0..2*\%pi)\bound{example3 }} -\end{paste}\end{patch} - -\begin{patch}{AssortedGraphicsExamplePagePatch4} -\begin{paste}{AssortedGraphicsExamplePageFull4}{AssortedGraphicsExamplePageEmpty4} -\pastebutton{AssortedGraphicsExamplePageFull4}{\hidepaste} -\tab{5}\spadgraph{draw(curve(sin(t)*sin(2*t), sin(3*t)*sin(4*t), sin(5*t)*sin(6*t)), t = 0..2*\%pi)\bound{example4 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/assortedgraphicsexamplepage4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/assortedgraphicsexamplepage4}} -\end{paste}\end{patch} - -\begin{patch}{AssortedGraphicsExamplePageEmpty4} -\begin{paste}{AssortedGraphicsExamplePageEmpty4}{AssortedGraphicsExamplePagePatch4} -\pastebutton{AssortedGraphicsExamplePageEmpty4}{\showpaste} -\tab{5}\spadgraph{draw(curve(sin(t)*sin(2*t), sin(3*t)*sin(4*t), sin(5*t)*sin(6*t)), t = 0..2*\%pi)\bound{example4 }} -\end{paste}\end{patch} - -\begin{patch}{AssortedGraphicsExamplePagePatch5} -\begin{paste}{AssortedGraphicsExamplePageFull5}{AssortedGraphicsExamplePageEmpty5} -\pastebutton{AssortedGraphicsExamplePageFull5}{\hidepaste} -\tab{5}\spadgraph{draw(sin(17*t), t = 0..2*\%pi, coordinates == polar)\bound{example5 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/assortedgraphicsexamplepage5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/assortedgraphicsexamplepage5}} -\end{paste}\end{patch} - -\begin{patch}{AssortedGraphicsExamplePageEmpty5} -\begin{paste}{AssortedGraphicsExamplePageEmpty5}{AssortedGraphicsExamplePagePatch5} -\pastebutton{AssortedGraphicsExamplePageEmpty5}{\showpaste} -\tab{5}\spadgraph{draw(sin(17*t), t = 0..2*\%pi, coordinates == polar)\bound{example5 }} -\end{paste}\end{patch} - -\begin{patch}{AssortedGraphicsExamplePagePatch6} -\begin{paste}{AssortedGraphicsExamplePageFull6}{AssortedGraphicsExamplePageEmpty6} -\pastebutton{AssortedGraphicsExamplePageFull6}{\hidepaste} -\tab{5}\spadgraph{draw(y**2 + y = x**3 - x, x, y,range == [-2..2,-2..1])\bound{example6 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/assortedgraphicsexamplepage6.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/assortedgraphicsexamplepage6}} -\end{paste}\end{patch} - -\begin{patch}{AssortedGraphicsExamplePageEmpty6} -\begin{paste}{AssortedGraphicsExamplePageEmpty6}{AssortedGraphicsExamplePagePatch6} -\pastebutton{AssortedGraphicsExamplePageEmpty6}{\showpaste} -\tab{5}\spadgraph{draw(y**2 + y = x**3 - x, x, y,range == [-2..2,-2..1])\bound{example6 }} -\end{paste}\end{patch} - -\begin{patch}{AssortedGraphicsExamplePagePatch7} -\begin{paste}{AssortedGraphicsExamplePageFull7}{AssortedGraphicsExamplePageEmpty7} -\pastebutton{AssortedGraphicsExamplePageFull7}{\hidepaste} -\tab{5}\spadcommand{All\free{example1 example2 example3 example4 example5 example6 }} -\indentrel{3}\begin{verbatim} - (7) All - Type: Variable All -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{AssortedGraphicsExamplePageEmpty7} -\begin{paste}{AssortedGraphicsExamplePageEmpty7}{AssortedGraphicsExamplePagePatch7} -\pastebutton{AssortedGraphicsExamplePageEmpty7}{\showpaste} -\tab{5}\spadcommand{All\free{example1 example2 example3 example4 example5 example6 }} -\end{paste}\end{patch} - -\begin{patch}{ThreeDimensionalGraphicsExamplePagePatch1} -\begin{paste}{ThreeDimensionalGraphicsExamplePageFull1}{ThreeDimensionalGraphicsExamplePageEmpty1} -\pastebutton{ThreeDimensionalGraphicsExamplePageFull1}{\hidepaste} -\tab{5}\spadgraph{draw(surface((1+exp(-100*u*u))*sin(\%pi*u)*sin(\%pi*v), (1+exp(-100*u*u))*sin(\%pi*u)*cos(\%pi*v), (1+exp(-100*u*u))*cos(\%pi*u)), u=0..1, v=0..2, title=="Pear")\bound{example1 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/threedimensionalgraphicsexamplepage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/threedimensionalgraphicsexamplepage1}} -\end{paste}\end{patch} - -\begin{patch}{ThreeDimensionalGraphicsExamplePageEmpty1} -\begin{paste}{ThreeDimensionalGraphicsExamplePageEmpty1}{ThreeDimensionalGraphicsExamplePagePatch1} -\pastebutton{ThreeDimensionalGraphicsExamplePageEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(surface((1+exp(-100*u*u))*sin(\%pi*u)*sin(\%pi*v), (1+exp(-100*u*u))*sin(\%pi*u)*cos(\%pi*v), (1+exp(-100*u*u))*cos(\%pi*u)), u=0..1, v=0..2, title=="Pear")\bound{example1 }} -\end{paste}\end{patch} - -\begin{patch}{ThreeDimensionalGraphicsExamplePagePatch2} -\begin{paste}{ThreeDimensionalGraphicsExamplePageFull2}{ThreeDimensionalGraphicsExamplePageEmpty2} -\pastebutton{ThreeDimensionalGraphicsExamplePageFull2}{\hidepaste} -\tab{5}\spadgraph{draw(surface(x*cos(y),x*sin(y),y*cos(x)), x=-4..4, y=0..2*\%pi, var1Steps==40, var2Steps==40, title=="Trig Screw")\bound{example2 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/threedimensionalgraphicsexamplepage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/threedimensionalgraphicsexamplepage2}} -\end{paste}\end{patch} - -\begin{patch}{ThreeDimensionalGraphicsExamplePageEmpty2} -\begin{paste}{ThreeDimensionalGraphicsExamplePageEmpty2}{ThreeDimensionalGraphicsExamplePagePatch2} -\pastebutton{ThreeDimensionalGraphicsExamplePageEmpty2}{\showpaste} -\tab{5}\spadgraph{draw(surface(x*cos(y),x*sin(y),y*cos(x)), x=-4..4, y=0..2*\%pi, var1Steps==40, var2Steps==40, title=="Trig Screw")\bound{example2 }} -\end{paste}\end{patch} - -\begin{patch}{ThreeDimensionalGraphicsExamplePagePatch3} -\begin{paste}{ThreeDimensionalGraphicsExamplePageFull3}{ThreeDimensionalGraphicsExamplePageEmpty3} -\pastebutton{ThreeDimensionalGraphicsExamplePageFull3}{\hidepaste} -\tab{5}\spadcommand{a := 1.3 * cos(2*x) * cos(y) + sin(y) * cos(x)\bound{a }} -\indentrel{3}\begin{verbatim} - (3) cos(x)sin(y) + 1.3 cos(2.0 x)cos(y) - Type: Expression Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ThreeDimensionalGraphicsExamplePageEmpty3} -\begin{paste}{ThreeDimensionalGraphicsExamplePageEmpty3}{ThreeDimensionalGraphicsExamplePagePatch3} -\pastebutton{ThreeDimensionalGraphicsExamplePageEmpty3}{\showpaste} -\tab{5}\spadcommand{a := 1.3 * cos(2*x) * cos(y) + sin(y) * cos(x)\bound{a }} -\end{paste}\end{patch} - -\begin{patch}{ThreeDimensionalGraphicsExamplePagePatch4} -\begin{paste}{ThreeDimensionalGraphicsExamplePageFull4}{ThreeDimensionalGraphicsExamplePageEmpty4} -\pastebutton{ThreeDimensionalGraphicsExamplePageFull4}{\hidepaste} -\tab{5}\spadcommand{b := 1.3 * sin(2*x) * cos(y) - sin(y) * sin(x)\bound{b }} -\indentrel{3}\begin{verbatim} - (4) - 1.0 sin(x)sin(y) + 1.3 cos(y)sin(2.0 x) - Type: Expression Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ThreeDimensionalGraphicsExamplePageEmpty4} -\begin{paste}{ThreeDimensionalGraphicsExamplePageEmpty4}{ThreeDimensionalGraphicsExamplePagePatch4} -\pastebutton{ThreeDimensionalGraphicsExamplePageEmpty4}{\showpaste} -\tab{5}\spadcommand{b := 1.3 * sin(2*x) * cos(y) - sin(y) * sin(x)\bound{b }} -\end{paste}\end{patch} - -\begin{patch}{ThreeDimensionalGraphicsExamplePagePatch5} -\begin{paste}{ThreeDimensionalGraphicsExamplePageFull5}{ThreeDimensionalGraphicsExamplePageEmpty5} -\pastebutton{ThreeDimensionalGraphicsExamplePageFull5}{\hidepaste} -\tab{5}\spadcommand{c := 2.5 * cos(y)\bound{c }} -\indentrel{3}\begin{verbatim} - (5) 2.5 cos(y) - Type: Expression Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ThreeDimensionalGraphicsExamplePageEmpty5} -\begin{paste}{ThreeDimensionalGraphicsExamplePageEmpty5}{ThreeDimensionalGraphicsExamplePagePatch5} -\pastebutton{ThreeDimensionalGraphicsExamplePageEmpty5}{\showpaste} -\tab{5}\spadcommand{c := 2.5 * cos(y)\bound{c }} -\end{paste}\end{patch} - -\begin{patch}{ThreeDimensionalGraphicsExamplePagePatch6} -\begin{paste}{ThreeDimensionalGraphicsExamplePageFull6}{ThreeDimensionalGraphicsExamplePageEmpty6} -\pastebutton{ThreeDimensionalGraphicsExamplePageFull6}{\hidepaste} -\tab{5}\spadgraph{draw(surface(a,b,c), x=0..\%pi, y=-\%pi..\%pi, var1Steps==40, var2Steps==40, title=="Etruscan Venus")\free{a b c }\bound{example3 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/threedimensionalgraphicsexamplepage6.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/threedimensionalgraphicsexamplepage6}} -\end{paste}\end{patch} - -\begin{patch}{ThreeDimensionalGraphicsExamplePageEmpty6} -\begin{paste}{ThreeDimensionalGraphicsExamplePageEmpty6}{ThreeDimensionalGraphicsExamplePagePatch6} -\pastebutton{ThreeDimensionalGraphicsExamplePageEmpty6}{\showpaste} -\tab{5}\spadgraph{draw(surface(a,b,c), x=0..\%pi, y=-\%pi..\%pi, var1Steps==40, var2Steps==40, title=="Etruscan Venus")\free{a b c }\bound{example3 }} -\end{paste}\end{patch} - -\begin{patch}{ThreeDimensionalGraphicsExamplePagePatch7} -\begin{paste}{ThreeDimensionalGraphicsExamplePageFull7}{ThreeDimensionalGraphicsExamplePageEmpty7} -\pastebutton{ThreeDimensionalGraphicsExamplePageFull7}{\hidepaste} -\tab{5}\spadcommand{f:=cos(x)*(cos(x/2)*(sqrt(2) + cos(y))+(sin(x/2)*sin(y)*cos(y)))\bound{f }} -\indentrel{3}\begin{verbatim} - (7) - x x - cos(x)cos(y)sin(Ä)sin(y) + cos(Ä)cos(x)cos(y) - 2 2 - + - ÚÄ¿ x - \³2 cos(Ä)cos(x) - 2 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ThreeDimensionalGraphicsExamplePageEmpty7} -\begin{paste}{ThreeDimensionalGraphicsExamplePageEmpty7}{ThreeDimensionalGraphicsExamplePagePatch7} -\pastebutton{ThreeDimensionalGraphicsExamplePageEmpty7}{\showpaste} -\tab{5}\spadcommand{f:=cos(x)*(cos(x/2)*(sqrt(2) + cos(y))+(sin(x/2)*sin(y)*cos(y)))\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{ThreeDimensionalGraphicsExamplePagePatch8} -\begin{paste}{ThreeDimensionalGraphicsExamplePageFull8}{ThreeDimensionalGraphicsExamplePageEmpty8} -\pastebutton{ThreeDimensionalGraphicsExamplePageFull8}{\hidepaste} -\tab{5}\spadcommand{g:=sin(x)*(cos(x/2)*(sqrt(2) + cos(y))+(sin(x/2)*sin(y)*cos(y)))\bound{g }} -\indentrel{3}\begin{verbatim} - (8) - x - cos(y)sin(Ä)sin(x)sin(y) - 2 - + - x ÚÄ¿ x - (cos(Ä)cos(y) + \³2 cos(Ä))sin(x) - 2 2 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ThreeDimensionalGraphicsExamplePageEmpty8} -\begin{paste}{ThreeDimensionalGraphicsExamplePageEmpty8}{ThreeDimensionalGraphicsExamplePagePatch8} -\pastebutton{ThreeDimensionalGraphicsExamplePageEmpty8}{\showpaste} -\tab{5}\spadcommand{g:=sin(x)*(cos(x/2)*(sqrt(2) + cos(y))+(sin(x/2)*sin(y)*cos(y)))\bound{g }} -\end{paste}\end{patch} - -\begin{patch}{ThreeDimensionalGraphicsExamplePagePatch9} -\begin{paste}{ThreeDimensionalGraphicsExamplePageFull9}{ThreeDimensionalGraphicsExamplePageEmpty9} -\pastebutton{ThreeDimensionalGraphicsExamplePageFull9}{\hidepaste} -\tab{5}\spadcommand{h:=-sin(x/2)*(sqrt(2)+cos(y)) + cos(x/2)*sin(y)*cos(y)\bound{h }} -\indentrel{3}\begin{verbatim} - x ÚÄ¿ x - (9) cos(Ä)cos(y)sin(y) + (- cos(y) - \³2 )sin(Ä) - 2 2 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ThreeDimensionalGraphicsExamplePageEmpty9} -\begin{paste}{ThreeDimensionalGraphicsExamplePageEmpty9}{ThreeDimensionalGraphicsExamplePagePatch9} -\pastebutton{ThreeDimensionalGraphicsExamplePageEmpty9}{\showpaste} -\tab{5}\spadcommand{h:=-sin(x/2)*(sqrt(2)+cos(y)) + cos(x/2)*sin(y)*cos(y)\bound{h }} -\end{paste}\end{patch} - -\begin{patch}{ThreeDimensionalGraphicsExamplePagePatch10} -\begin{paste}{ThreeDimensionalGraphicsExamplePageFull10}{ThreeDimensionalGraphicsExamplePageEmpty10} -\pastebutton{ThreeDimensionalGraphicsExamplePageFull10}{\hidepaste} -\tab{5}\spadgraph{draw(surface(f,g,h), x=0..4*\%pi, y=0..2*\%pi, var1Steps==50, var2Steps==50, title=="Banchoff Klein Bottle")\free{f g h }\bound{example4 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/threedimensionalgraphicsexamplepage10.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/threedimensionalgraphicsexamplepage10}} -\end{paste}\end{patch} - -\begin{patch}{ThreeDimensionalGraphicsExamplePageEmpty10} -\begin{paste}{ThreeDimensionalGraphicsExamplePageEmpty10}{ThreeDimensionalGraphicsExamplePagePatch10} -\pastebutton{ThreeDimensionalGraphicsExamplePageEmpty10}{\showpaste} -\tab{5}\spadgraph{draw(surface(f,g,h), x=0..4*\%pi, y=0..2*\%pi, var1Steps==50, var2Steps==50, title=="Banchoff Klein Bottle")\free{f g h }\bound{example4 }} -\end{paste}\end{patch} - -\begin{patch}{ThreeDimensionalGraphicsExamplePagePatch11} -\begin{paste}{ThreeDimensionalGraphicsExamplePageFull11}{ThreeDimensionalGraphicsExamplePageEmpty11} -\pastebutton{ThreeDimensionalGraphicsExamplePageFull11}{\hidepaste} -\tab{5}\spadcommand{All\free{example1 example2 example3 example4 }} -\indentrel{3}\begin{verbatim} - (11) All - Type: Variable All -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ThreeDimensionalGraphicsExamplePageEmpty11} -\begin{paste}{ThreeDimensionalGraphicsExamplePageEmpty11}{ThreeDimensionalGraphicsExamplePagePatch11} -\pastebutton{ThreeDimensionalGraphicsExamplePageEmpty11}{\showpaste} -\tab{5}\spadcommand{All\free{example1 example2 example3 example4 }} -\end{paste}\end{patch} - -\begin{patch}{OneVariableGraphicsExamplePagePatch1} -\begin{paste}{OneVariableGraphicsExamplePageFull1}{OneVariableGraphicsExamplePageEmpty1} -\pastebutton{OneVariableGraphicsExamplePageFull1}{\hidepaste} -\tab{5}\spadgraph{draw(sin tan x - tan sin x, x = 0..6)\bound{example1 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/onevariablegraphicsexamplepage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/onevariablegraphicsexamplepage1}} -\end{paste}\end{patch} - -\begin{patch}{OneVariableGraphicsExamplePageEmpty1} -\begin{paste}{OneVariableGraphicsExamplePageEmpty1}{OneVariableGraphicsExamplePagePatch1} -\pastebutton{OneVariableGraphicsExamplePageEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(sin tan x - tan sin x, x = 0..6)\bound{example1 }} -\end{paste}\end{patch} - -\begin{patch}{OneVariableGraphicsExamplePagePatch2} -\begin{paste}{OneVariableGraphicsExamplePageFull2}{OneVariableGraphicsExamplePageEmpty2} -\pastebutton{OneVariableGraphicsExamplePageFull2}{\hidepaste} -\tab{5}\spadgraph{draw(sin x + cos x, x = 0..2*\%pi)\bound{example2 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/onevariablegraphicsexamplepage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/onevariablegraphicsexamplepage2}} -\end{paste}\end{patch} - -\begin{patch}{OneVariableGraphicsExamplePageEmpty2} -\begin{paste}{OneVariableGraphicsExamplePageEmpty2}{OneVariableGraphicsExamplePagePatch2} -\pastebutton{OneVariableGraphicsExamplePageEmpty2}{\showpaste} -\tab{5}\spadgraph{draw(sin x + cos x, x = 0..2*\%pi)\bound{example2 }} -\end{paste}\end{patch} - -\begin{patch}{OneVariableGraphicsExamplePagePatch3} -\begin{paste}{OneVariableGraphicsExamplePageFull3}{OneVariableGraphicsExamplePageEmpty3} -\pastebutton{OneVariableGraphicsExamplePageFull3}{\hidepaste} -\tab{5}\spadgraph{draw(sin(1/x), x = -1..1)\bound{example3 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/onevariablegraphicsexamplepage3.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/onevariablegraphicsexamplepage3}} -\end{paste}\end{patch} - -\begin{patch}{OneVariableGraphicsExamplePageEmpty3} -\begin{paste}{OneVariableGraphicsExamplePageEmpty3}{OneVariableGraphicsExamplePagePatch3} -\pastebutton{OneVariableGraphicsExamplePageEmpty3}{\showpaste} -\tab{5}\spadgraph{draw(sin(1/x), x = -1..1)\bound{example3 }} -\end{paste}\end{patch} - -\begin{patch}{OneVariableGraphicsExamplePagePatch4} -\begin{paste}{OneVariableGraphicsExamplePageFull4}{OneVariableGraphicsExamplePageEmpty4} -\pastebutton{OneVariableGraphicsExamplePageFull4}{\hidepaste} -\tab{5}\spadgraph{draw(x * sin(1/x), x = -1..1)\bound{example4 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/onevariablegraphicsexamplepage4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/onevariablegraphicsexamplepage4}} -\end{paste}\end{patch} - -\begin{patch}{OneVariableGraphicsExamplePageEmpty4} -\begin{paste}{OneVariableGraphicsExamplePageEmpty4}{OneVariableGraphicsExamplePagePatch4} -\pastebutton{OneVariableGraphicsExamplePageEmpty4}{\showpaste} -\tab{5}\spadgraph{draw(x * sin(1/x), x = -1..1)\bound{example4 }} -\end{paste}\end{patch} - -\begin{patch}{OneVariableGraphicsExamplePagePatch5} -\begin{paste}{OneVariableGraphicsExamplePageFull5}{OneVariableGraphicsExamplePageEmpty5} -\pastebutton{OneVariableGraphicsExamplePageFull5}{\hidepaste} -\tab{5}\spadcommand{All\free{example1 example2 example3 example4 }} -\indentrel{3}\begin{verbatim} - (5) All - Type: Variable All -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OneVariableGraphicsExamplePageEmpty5} -\begin{paste}{OneVariableGraphicsExamplePageEmpty5}{OneVariableGraphicsExamplePagePatch5} -\pastebutton{OneVariableGraphicsExamplePageEmpty5}{\showpaste} -\tab{5}\spadcommand{All\free{example1 example2 example3 example4 }} -\end{paste}\end{patch} - -\begin{patch}{ParametricCurveGraphicsExamplePagePatch1} -\begin{paste}{ParametricCurveGraphicsExamplePageFull1}{ParametricCurveGraphicsExamplePageEmpty1} -\pastebutton{ParametricCurveGraphicsExamplePageFull1}{\hidepaste} -\tab{5}\spadgraph{draw(curve(cos(t/(1+sin(t)**2)), sin(t)*cos(t)/(1+sin(t)**2)), t = -\%pi..\%pi)\bound{example1 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/parametriccurvegraphicsexamplepage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/parametriccurvegraphicsexamplepage1}} -\end{paste}\end{patch} - -\begin{patch}{ParametricCurveGraphicsExamplePageEmpty1} -\begin{paste}{ParametricCurveGraphicsExamplePageEmpty1}{ParametricCurveGraphicsExamplePagePatch1} -\pastebutton{ParametricCurveGraphicsExamplePageEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(curve(cos(t/(1+sin(t)**2)), sin(t)*cos(t)/(1+sin(t)**2)), t = -\%pi..\%pi)\bound{example1 }} -\end{paste}\end{patch} - -\begin{patch}{ParametricCurveGraphicsExamplePagePatch2} -\begin{paste}{ParametricCurveGraphicsExamplePageFull2}{ParametricCurveGraphicsExamplePageEmpty2} -\pastebutton{ParametricCurveGraphicsExamplePageFull2}{\hidepaste} -\tab{5}\spadgraph{draw(curve(9*sin(3*t/4), 8*sin(t)), t = -4*\%pi..4*\%pi)\bound{example2 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/parametriccurvegraphicsexamplepage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/parametriccurvegraphicsexamplepage2}} -\end{paste}\end{patch} - -\begin{patch}{ParametricCurveGraphicsExamplePageEmpty2} -\begin{paste}{ParametricCurveGraphicsExamplePageEmpty2}{ParametricCurveGraphicsExamplePagePatch2} -\pastebutton{ParametricCurveGraphicsExamplePageEmpty2}{\showpaste} -\tab{5}\spadgraph{draw(curve(9*sin(3*t/4), 8*sin(t)), t = -4*\%pi..4*\%pi)\bound{example2 }} -\end{paste}\end{patch} - -\begin{patch}{ParametricCurveGraphicsExamplePagePatch3} -\begin{paste}{ParametricCurveGraphicsExamplePageFull3}{ParametricCurveGraphicsExamplePageEmpty3} -\pastebutton{ParametricCurveGraphicsExamplePageFull3}{\hidepaste} -\tab{5}\spadgraph{draw(curve(sin(t)*sin(2*t)*sin(3*t), sin(4*t)*sin(5*t)*sin(6*t)),t = 0..2*\%pi)\bound{example3 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/parametriccurvegraphicsexamplepage3.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/parametriccurvegraphicsexamplepage3}} -\end{paste}\end{patch} - -\begin{patch}{ParametricCurveGraphicsExamplePageEmpty3} -\begin{paste}{ParametricCurveGraphicsExamplePageEmpty3}{ParametricCurveGraphicsExamplePagePatch3} -\pastebutton{ParametricCurveGraphicsExamplePageEmpty3}{\showpaste} -\tab{5}\spadgraph{draw(curve(sin(t)*sin(2*t)*sin(3*t), sin(4*t)*sin(5*t)*sin(6*t)),t = 0..2*\%pi)\bound{example3 }} -\end{paste}\end{patch} - -\begin{patch}{ParametricCurveGraphicsExamplePagePatch4} -\begin{paste}{ParametricCurveGraphicsExamplePageFull4}{ParametricCurveGraphicsExamplePageEmpty4} -\pastebutton{ParametricCurveGraphicsExamplePageFull4}{\hidepaste} -\tab{5}\spadgraph{draw(curve(cos(4*t)*cos(7*t), cos(4*t)*sin(7*t)), t = 0..2*\%pi)\bound{example4 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/parametriccurvegraphicsexamplepage4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/parametriccurvegraphicsexamplepage4}} -\end{paste}\end{patch} - -\begin{patch}{ParametricCurveGraphicsExamplePageEmpty4} -\begin{paste}{ParametricCurveGraphicsExamplePageEmpty4}{ParametricCurveGraphicsExamplePagePatch4} -\pastebutton{ParametricCurveGraphicsExamplePageEmpty4}{\showpaste} -\tab{5}\spadgraph{draw(curve(cos(4*t)*cos(7*t), cos(4*t)*sin(7*t)), t = 0..2*\%pi)\bound{example4 }} -\end{paste}\end{patch} - -\begin{patch}{ParametricCurveGraphicsExamplePagePatch5} -\begin{paste}{ParametricCurveGraphicsExamplePageFull5}{ParametricCurveGraphicsExamplePageEmpty5} -\pastebutton{ParametricCurveGraphicsExamplePageFull5}{\hidepaste} -\tab{5}\spadcommand{All\free{example1 example2 example3 example4 }} -\indentrel{3}\begin{verbatim} - (5) All - Type: Variable All -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ParametricCurveGraphicsExamplePageEmpty5} -\begin{paste}{ParametricCurveGraphicsExamplePageEmpty5}{ParametricCurveGraphicsExamplePagePatch5} -\pastebutton{ParametricCurveGraphicsExamplePageEmpty5}{\showpaste} -\tab{5}\spadcommand{All\free{example1 example2 example3 example4 }} -\end{paste}\end{patch} - -\begin{patch}{PolarGraphicsExamplePagePatch1} -\begin{paste}{PolarGraphicsExamplePageFull1}{PolarGraphicsExamplePageEmpty1} -\pastebutton{PolarGraphicsExamplePageFull1}{\hidepaste} -\tab{5}\spadgraph{draw(1,t = 0..2*\%pi, coordinates == polar)\bound{example1 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/polargraphicsexamplepage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/polargraphicsexamplepage1}} -\end{paste}\end{patch} - -\begin{patch}{PolarGraphicsExamplePageEmpty1} -\begin{paste}{PolarGraphicsExamplePageEmpty1}{PolarGraphicsExamplePagePatch1} -\pastebutton{PolarGraphicsExamplePageEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(1,t = 0..2*\%pi, coordinates == polar)\bound{example1 }} -\end{paste}\end{patch} - -\begin{patch}{PolarGraphicsExamplePagePatch2} -\begin{paste}{PolarGraphicsExamplePageFull2}{PolarGraphicsExamplePageEmpty2} -\pastebutton{PolarGraphicsExamplePageFull2}{\hidepaste} -\tab{5}\spadgraph{draw(t,t = 0..100, coordinates == polar)\bound{example2 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/polargraphicsexamplepage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/polargraphicsexamplepage2}} -\end{paste}\end{patch} - -\begin{patch}{PolarGraphicsExamplePageEmpty2} -\begin{paste}{PolarGraphicsExamplePageEmpty2}{PolarGraphicsExamplePagePatch2} -\pastebutton{PolarGraphicsExamplePageEmpty2}{\showpaste} -\tab{5}\spadgraph{draw(t,t = 0..100, coordinates == polar)\bound{example2 }} -\end{paste}\end{patch} - -\begin{patch}{PolarGraphicsExamplePagePatch3} -\begin{paste}{PolarGraphicsExamplePageFull3}{PolarGraphicsExamplePageEmpty3} -\pastebutton{PolarGraphicsExamplePageFull3}{\hidepaste} -\tab{5}\spadgraph{draw(sin(4*t), t = 0..2*\%pi, coordinates == polar)\bound{example3 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/polargraphicsexamplepage3.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/polargraphicsexamplepage3}} -\end{paste}\end{patch} - -\begin{patch}{PolarGraphicsExamplePageEmpty3} -\begin{paste}{PolarGraphicsExamplePageEmpty3}{PolarGraphicsExamplePagePatch3} -\pastebutton{PolarGraphicsExamplePageEmpty3}{\showpaste} -\tab{5}\spadgraph{draw(sin(4*t), t = 0..2*\%pi, coordinates == polar)\bound{example3 }} -\end{paste}\end{patch} - -\begin{patch}{PolarGraphicsExamplePagePatch4} -\begin{paste}{PolarGraphicsExamplePageFull4}{PolarGraphicsExamplePageEmpty4} -\pastebutton{PolarGraphicsExamplePageFull4}{\hidepaste} -\tab{5}\spadgraph{draw(2 + 3 * sin t, t = 0..2*\%pi, coordinates == polar)\bound{example4 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/polargraphicsexamplepage4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/polargraphicsexamplepage4}} -\end{paste}\end{patch} - -\begin{patch}{PolarGraphicsExamplePageEmpty4} -\begin{paste}{PolarGraphicsExamplePageEmpty4}{PolarGraphicsExamplePagePatch4} -\pastebutton{PolarGraphicsExamplePageEmpty4}{\showpaste} -\tab{5}\spadgraph{draw(2 + 3 * sin t, t = 0..2*\%pi, coordinates == polar)\bound{example4 }} -\end{paste}\end{patch} - -\begin{patch}{PolarGraphicsExamplePagePatch5} -\begin{paste}{PolarGraphicsExamplePageFull5}{PolarGraphicsExamplePageEmpty5} -\pastebutton{PolarGraphicsExamplePageFull5}{\hidepaste} -\tab{5}\spadcommand{All\free{example2 example3 example4 }} -\indentrel{3}\begin{verbatim} - (5) All - Type: Variable All -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolarGraphicsExamplePageEmpty5} -\begin{paste}{PolarGraphicsExamplePageEmpty5}{PolarGraphicsExamplePagePatch5} -\pastebutton{PolarGraphicsExamplePageEmpty5}{\showpaste} -\tab{5}\spadcommand{All\free{example2 example3 example4 }} -\end{paste}\end{patch} - -\begin{patch}{ImplicitCurveGraphicsExamplePagePatch1} -\begin{paste}{ImplicitCurveGraphicsExamplePageFull1}{ImplicitCurveGraphicsExamplePageEmpty1} -\pastebutton{ImplicitCurveGraphicsExamplePageFull1}{\hidepaste} -\tab{5}\spadgraph{draw(x * y = 1, x, y, range == [-3..3, -3..3])\bound{example1 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/implicitcurvegraphicsexamplepage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/implicitcurvegraphicsexamplepage1}} -\end{paste}\end{patch} - -\begin{patch}{ImplicitCurveGraphicsExamplePageEmpty1} -\begin{paste}{ImplicitCurveGraphicsExamplePageEmpty1}{ImplicitCurveGraphicsExamplePagePatch1} -\pastebutton{ImplicitCurveGraphicsExamplePageEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(x * y = 1, x, y, range == [-3..3, -3..3])\bound{example1 }} -\end{paste}\end{patch} - -\begin{patch}{ImplicitCurveGraphicsExamplePagePatch2} -\begin{paste}{ImplicitCurveGraphicsExamplePageFull2}{ImplicitCurveGraphicsExamplePageEmpty2} -\pastebutton{ImplicitCurveGraphicsExamplePageFull2}{\hidepaste} -\tab{5}\spadgraph{draw(y**2 + y = x**3 - x, x, y, range == [-2..2, -2..1])\bound{example2 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/implicitcurvegraphicsexamplepage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/implicitcurvegraphicsexamplepage2}} -\end{paste}\end{patch} - -\begin{patch}{ImplicitCurveGraphicsExamplePageEmpty2} -\begin{paste}{ImplicitCurveGraphicsExamplePageEmpty2}{ImplicitCurveGraphicsExamplePagePatch2} -\pastebutton{ImplicitCurveGraphicsExamplePageEmpty2}{\showpaste} -\tab{5}\spadgraph{draw(y**2 + y = x**3 - x, x, y, range == [-2..2, -2..1])\bound{example2 }} -\end{paste}\end{patch} - -\begin{patch}{ImplicitCurveGraphicsExamplePagePatch3} -\begin{paste}{ImplicitCurveGraphicsExamplePageFull3}{ImplicitCurveGraphicsExamplePageEmpty3} -\pastebutton{ImplicitCurveGraphicsExamplePageFull3}{\hidepaste} -\tab{5}\spadcommand{p := ((x**2 + y**2 + 1) - 8*x)**2 - (8*(x**2 + y**2 + 1) - 4*x - 1)\bound{p }} -\indentrel{3}\begin{verbatim} - (3) - 4 2 2 4 3 2 - y + (2x - 16x - 6)y + x - 16x + 58x - 12x - 6 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ImplicitCurveGraphicsExamplePageEmpty3} -\begin{paste}{ImplicitCurveGraphicsExamplePageEmpty3}{ImplicitCurveGraphicsExamplePagePatch3} -\pastebutton{ImplicitCurveGraphicsExamplePageEmpty3}{\showpaste} -\tab{5}\spadcommand{p := ((x**2 + y**2 + 1) - 8*x)**2 - (8*(x**2 + y**2 + 1) - 4*x - 1)\bound{p }} -\end{paste}\end{patch} - -\begin{patch}{ImplicitCurveGraphicsExamplePagePatch4} -\begin{paste}{ImplicitCurveGraphicsExamplePageFull4}{ImplicitCurveGraphicsExamplePageEmpty4} -\pastebutton{ImplicitCurveGraphicsExamplePageFull4}{\hidepaste} -\tab{5}\spadgraph{draw(p = 0, x, y, range == [-1..11, -7..7], title == "Cartesian Ovals")\free{p }\bound{example3 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/implicitcurvegraphicsexamplepage4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/implicitcurvegraphicsexamplepage4}} -\end{paste}\end{patch} - -\begin{patch}{ImplicitCurveGraphicsExamplePageEmpty4} -\begin{paste}{ImplicitCurveGraphicsExamplePageEmpty4}{ImplicitCurveGraphicsExamplePagePatch4} -\pastebutton{ImplicitCurveGraphicsExamplePageEmpty4}{\showpaste} -\tab{5}\spadgraph{draw(p = 0, x, y, range == [-1..11, -7..7], title == "Cartesian Ovals")\free{p }\bound{example3 }} -\end{paste}\end{patch} - -\begin{patch}{ImplicitCurveGraphicsExamplePagePatch5} -\begin{paste}{ImplicitCurveGraphicsExamplePageFull5}{ImplicitCurveGraphicsExamplePageEmpty5} -\pastebutton{ImplicitCurveGraphicsExamplePageFull5}{\hidepaste} -\tab{5}\spadcommand{q := (x**2 + y**2 + 7**2)**2 - (6**4 + 4*7**2*x**2)\bound{q }} -\indentrel{3}\begin{verbatim} - 4 2 2 4 2 - (5) y + (2x + 98)y + x - 98x + 1105 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ImplicitCurveGraphicsExamplePageEmpty5} -\begin{paste}{ImplicitCurveGraphicsExamplePageEmpty5}{ImplicitCurveGraphicsExamplePagePatch5} -\pastebutton{ImplicitCurveGraphicsExamplePageEmpty5}{\showpaste} -\tab{5}\spadcommand{q := (x**2 + y**2 + 7**2)**2 - (6**4 + 4*7**2*x**2)\bound{q }} -\end{paste}\end{patch} - -\begin{patch}{ImplicitCurveGraphicsExamplePagePatch6} -\begin{paste}{ImplicitCurveGraphicsExamplePageFull6}{ImplicitCurveGraphicsExamplePageEmpty6} -\pastebutton{ImplicitCurveGraphicsExamplePageFull6}{\hidepaste} -\tab{5}\spadgraph{draw(q = 0, x, y, range == [-10..10, -4..4], title == "Cassinian oval with two loops")\free{q }\bound{example4 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/implicitcurvegraphicsexamplepage6.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/implicitcurvegraphicsexamplepage6}} -\end{paste}\end{patch} - -\begin{patch}{ImplicitCurveGraphicsExamplePageEmpty6} -\begin{paste}{ImplicitCurveGraphicsExamplePageEmpty6}{ImplicitCurveGraphicsExamplePagePatch6} -\pastebutton{ImplicitCurveGraphicsExamplePageEmpty6}{\showpaste} -\tab{5}\spadgraph{draw(q = 0, x, y, range == [-10..10, -4..4], title == "Cassinian oval with two loops")\free{q }\bound{example4 }} -\end{paste}\end{patch} - -\begin{patch}{ImplicitCurveGraphicsExamplePagePatch7} -\begin{paste}{ImplicitCurveGraphicsExamplePageFull7}{ImplicitCurveGraphicsExamplePageEmpty7} -\pastebutton{ImplicitCurveGraphicsExamplePageFull7}{\hidepaste} -\tab{5}\spadcommand{All\free{example1 example2 example3 example4 }} -\indentrel{3}\begin{verbatim} - (7) All - Type: Variable All -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ImplicitCurveGraphicsExamplePageEmpty7} -\begin{paste}{ImplicitCurveGraphicsExamplePageEmpty7}{ImplicitCurveGraphicsExamplePagePatch7} -\pastebutton{ImplicitCurveGraphicsExamplePageEmpty7}{\showpaste} -\tab{5}\spadcommand{All\free{example1 example2 example3 example4 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePagePatch1} -\begin{paste}{ListPointsGraphicsExamplePageFull1}{ListPointsGraphicsExamplePageEmpty1} -\pastebutton{ListPointsGraphicsExamplePageFull1}{\hidepaste} -\tab{5}\spadcommand{p1 := point [1::SF,1::SF]$(Point SF)\bound{p1 }} -\indentrel{3}\begin{verbatim} - (1) [1.0,1.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePageEmpty1} -\begin{paste}{ListPointsGraphicsExamplePageEmpty1}{ListPointsGraphicsExamplePagePatch1} -\pastebutton{ListPointsGraphicsExamplePageEmpty1}{\showpaste} -\tab{5}\spadcommand{p1 := point [1::SF,1::SF]$(Point SF)\bound{p1 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePagePatch2} -\begin{paste}{ListPointsGraphicsExamplePageFull2}{ListPointsGraphicsExamplePageEmpty2} -\pastebutton{ListPointsGraphicsExamplePageFull2}{\hidepaste} -\tab{5}\spadcommand{p2 := point [0::SF,1::SF]$(Point SF)\bound{p2 }} -\indentrel{3}\begin{verbatim} - (2) [0.0,1.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePageEmpty2} -\begin{paste}{ListPointsGraphicsExamplePageEmpty2}{ListPointsGraphicsExamplePagePatch2} -\pastebutton{ListPointsGraphicsExamplePageEmpty2}{\showpaste} -\tab{5}\spadcommand{p2 := point [0::SF,1::SF]$(Point SF)\bound{p2 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePagePatch3} -\begin{paste}{ListPointsGraphicsExamplePageFull3}{ListPointsGraphicsExamplePageEmpty3} -\pastebutton{ListPointsGraphicsExamplePageFull3}{\hidepaste} -\tab{5}\spadcommand{p3 := point [0::SF,0::SF]$(Point SF)\bound{p3 }} -\indentrel{3}\begin{verbatim} - (3) [0.0,0.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePageEmpty3} -\begin{paste}{ListPointsGraphicsExamplePageEmpty3}{ListPointsGraphicsExamplePagePatch3} -\pastebutton{ListPointsGraphicsExamplePageEmpty3}{\showpaste} -\tab{5}\spadcommand{p3 := point [0::SF,0::SF]$(Point SF)\bound{p3 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePagePatch4} -\begin{paste}{ListPointsGraphicsExamplePageFull4}{ListPointsGraphicsExamplePageEmpty4} -\pastebutton{ListPointsGraphicsExamplePageFull4}{\hidepaste} -\tab{5}\spadcommand{p4 := point [1::SF,0::SF]$(Point SF)\bound{p4 }} -\indentrel{3}\begin{verbatim} - (4) [1.0,0.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePageEmpty4} -\begin{paste}{ListPointsGraphicsExamplePageEmpty4}{ListPointsGraphicsExamplePagePatch4} -\pastebutton{ListPointsGraphicsExamplePageEmpty4}{\showpaste} -\tab{5}\spadcommand{p4 := point [1::SF,0::SF]$(Point SF)\bound{p4 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePagePatch5} -\begin{paste}{ListPointsGraphicsExamplePageFull5}{ListPointsGraphicsExamplePageEmpty5} -\pastebutton{ListPointsGraphicsExamplePageFull5}{\hidepaste} -\tab{5}\spadcommand{p5 := point [1::SF,.5::SF]$(Point SF)\bound{p5 }} -\indentrel{3}\begin{verbatim} - (5) [1.0,0.5] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePageEmpty5} -\begin{paste}{ListPointsGraphicsExamplePageEmpty5}{ListPointsGraphicsExamplePagePatch5} -\pastebutton{ListPointsGraphicsExamplePageEmpty5}{\showpaste} -\tab{5}\spadcommand{p5 := point [1::SF,.5::SF]$(Point SF)\bound{p5 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePagePatch6} -\begin{paste}{ListPointsGraphicsExamplePageFull6}{ListPointsGraphicsExamplePageEmpty6} -\pastebutton{ListPointsGraphicsExamplePageFull6}{\hidepaste} -\tab{5}\spadcommand{p6 := point [.5::SF,0::SF]$(Point SF)\bound{p6 }} -\indentrel{3}\begin{verbatim} - (6) [0.5,0.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePageEmpty6} -\begin{paste}{ListPointsGraphicsExamplePageEmpty6}{ListPointsGraphicsExamplePagePatch6} -\pastebutton{ListPointsGraphicsExamplePageEmpty6}{\showpaste} -\tab{5}\spadcommand{p6 := point [.5::SF,0::SF]$(Point SF)\bound{p6 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePagePatch7} -\begin{paste}{ListPointsGraphicsExamplePageFull7}{ListPointsGraphicsExamplePageEmpty7} -\pastebutton{ListPointsGraphicsExamplePageFull7}{\hidepaste} -\tab{5}\spadcommand{p7 := point [0::SF,0.5::SF]$(Point SF)\bound{p7 }} -\indentrel{3}\begin{verbatim} - (7) [0.0,0.5] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePageEmpty7} -\begin{paste}{ListPointsGraphicsExamplePageEmpty7}{ListPointsGraphicsExamplePagePatch7} -\pastebutton{ListPointsGraphicsExamplePageEmpty7}{\showpaste} -\tab{5}\spadcommand{p7 := point [0::SF,0.5::SF]$(Point SF)\bound{p7 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePagePatch8} -\begin{paste}{ListPointsGraphicsExamplePageFull8}{ListPointsGraphicsExamplePageEmpty8} -\pastebutton{ListPointsGraphicsExamplePageFull8}{\hidepaste} -\tab{5}\spadcommand{p8 := point [.5::SF,1::SF]$(Point SF)\bound{p8 }} -\indentrel{3}\begin{verbatim} - (8) [0.5,1.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePageEmpty8} -\begin{paste}{ListPointsGraphicsExamplePageEmpty8}{ListPointsGraphicsExamplePagePatch8} -\pastebutton{ListPointsGraphicsExamplePageEmpty8}{\showpaste} -\tab{5}\spadcommand{p8 := point [.5::SF,1::SF]$(Point SF)\bound{p8 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePagePatch9} -\begin{paste}{ListPointsGraphicsExamplePageFull9}{ListPointsGraphicsExamplePageEmpty9} -\pastebutton{ListPointsGraphicsExamplePageFull9}{\hidepaste} -\tab{5}\spadcommand{p9 := point [.25::SF,.25::SF]$(Point SF)\bound{p9 }} -\indentrel{3}\begin{verbatim} - (9) [0.25,0.25] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePageEmpty9} -\begin{paste}{ListPointsGraphicsExamplePageEmpty9}{ListPointsGraphicsExamplePagePatch9} -\pastebutton{ListPointsGraphicsExamplePageEmpty9}{\showpaste} -\tab{5}\spadcommand{p9 := point [.25::SF,.25::SF]$(Point SF)\bound{p9 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePagePatch10} -\begin{paste}{ListPointsGraphicsExamplePageFull10}{ListPointsGraphicsExamplePageEmpty10} -\pastebutton{ListPointsGraphicsExamplePageFull10}{\hidepaste} -\tab{5}\spadcommand{p10 := point [.25::SF,.75::SF]$(Point SF)\bound{p10 }} -\indentrel{3}\begin{verbatim} - (10) [0.25,0.75] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePageEmpty10} -\begin{paste}{ListPointsGraphicsExamplePageEmpty10}{ListPointsGraphicsExamplePagePatch10} -\pastebutton{ListPointsGraphicsExamplePageEmpty10}{\showpaste} -\tab{5}\spadcommand{p10 := point [.25::SF,.75::SF]$(Point SF)\bound{p10 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePagePatch11} -\begin{paste}{ListPointsGraphicsExamplePageFull11}{ListPointsGraphicsExamplePageEmpty11} -\pastebutton{ListPointsGraphicsExamplePageFull11}{\hidepaste} -\tab{5}\spadcommand{p11 := point [.75::SF,.75::SF]$(Point SF)\bound{p11 }} -\indentrel{3}\begin{verbatim} - (11) [0.75,0.75] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePageEmpty11} -\begin{paste}{ListPointsGraphicsExamplePageEmpty11}{ListPointsGraphicsExamplePagePatch11} -\pastebutton{ListPointsGraphicsExamplePageEmpty11}{\showpaste} -\tab{5}\spadcommand{p11 := point [.75::SF,.75::SF]$(Point SF)\bound{p11 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePagePatch12} -\begin{paste}{ListPointsGraphicsExamplePageFull12}{ListPointsGraphicsExamplePageEmpty12} -\pastebutton{ListPointsGraphicsExamplePageFull12}{\hidepaste} -\tab{5}\spadcommand{p12 := point [.75::SF,.25::SF]$(Point SF)\bound{p12 }} -\indentrel{3}\begin{verbatim} - (12) [0.75,0.25] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePageEmpty12} -\begin{paste}{ListPointsGraphicsExamplePageEmpty12}{ListPointsGraphicsExamplePagePatch12} -\pastebutton{ListPointsGraphicsExamplePageEmpty12}{\showpaste} -\tab{5}\spadcommand{p12 := point [.75::SF,.25::SF]$(Point SF)\bound{p12 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePagePatch13} -\begin{paste}{ListPointsGraphicsExamplePageFull13}{ListPointsGraphicsExamplePageEmpty13} -\pastebutton{ListPointsGraphicsExamplePageFull13}{\hidepaste} -\tab{5}\spadcommand{llp := [[p1,p2],[p2,p3],[p3,p4],[p4,p1],[p5,p6],[p6,p7],[p7,p8],[p8,p5],[p9,p10],[p10,p11],[p11,p12],[p12,p9]]\bound{llp }\free{p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 }} -\indentrel{3}\begin{verbatim} - (13) - [[[1.0,1.0],[0.0,1.0]], [[0.0,1.0],[0.0,0.0]], - [[0.0,0.0],[1.0,0.0]], [[1.0,0.0],[1.0,1.0]], - [[1.0,0.5],[0.5,0.0]], [[0.5,0.0],[0.0,0.5]], - [[0.0,0.5],[0.5,1.0]], [[0.5,1.0],[1.0,0.5]], - [[0.25,0.25],[0.25,0.75]], [[0.25,0.75],[0.75,0.75]], - [[0.75,0.75],[0.75,0.25]], [[0.75,0.25],[0.25,0.25]]] - Type: List List Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePageEmpty13} -\begin{paste}{ListPointsGraphicsExamplePageEmpty13}{ListPointsGraphicsExamplePagePatch13} -\pastebutton{ListPointsGraphicsExamplePageEmpty13}{\showpaste} -\tab{5}\spadcommand{llp := [[p1,p2],[p2,p3],[p3,p4],[p4,p1],[p5,p6],[p6,p7],[p7,p8],[p8,p5],[p9,p10],[p10,p11],[p11,p12],[p12,p9]]\bound{llp }\free{p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePagePatch14} -\begin{paste}{ListPointsGraphicsExamplePageFull14}{ListPointsGraphicsExamplePageEmpty14} -\pastebutton{ListPointsGraphicsExamplePageFull14}{\hidepaste} -\tab{5}\spadcommand{size1 := 6::PositiveInteger\bound{size1 }} -\indentrel{3}\begin{verbatim} - (14) 6 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePageEmpty14} -\begin{paste}{ListPointsGraphicsExamplePageEmpty14}{ListPointsGraphicsExamplePagePatch14} -\pastebutton{ListPointsGraphicsExamplePageEmpty14}{\showpaste} -\tab{5}\spadcommand{size1 := 6::PositiveInteger\bound{size1 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePagePatch15} -\begin{paste}{ListPointsGraphicsExamplePageFull15}{ListPointsGraphicsExamplePageEmpty15} -\pastebutton{ListPointsGraphicsExamplePageFull15}{\hidepaste} -\tab{5}\spadcommand{size2 := 8::PositiveInteger\bound{size2 }} -\indentrel{3}\begin{verbatim} - (15) 8 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePageEmpty15} -\begin{paste}{ListPointsGraphicsExamplePageEmpty15}{ListPointsGraphicsExamplePagePatch15} -\pastebutton{ListPointsGraphicsExamplePageEmpty15}{\showpaste} -\tab{5}\spadcommand{size2 := 8::PositiveInteger\bound{size2 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePagePatch16} -\begin{paste}{ListPointsGraphicsExamplePageFull16}{ListPointsGraphicsExamplePageEmpty16} -\pastebutton{ListPointsGraphicsExamplePageFull16}{\hidepaste} -\tab{5}\spadcommand{size3 := 10::PositiveInteger\bound{size3 }} -\indentrel{3}\begin{verbatim} - (16) 10 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePageEmpty16} -\begin{paste}{ListPointsGraphicsExamplePageEmpty16}{ListPointsGraphicsExamplePagePatch16} -\pastebutton{ListPointsGraphicsExamplePageEmpty16}{\showpaste} -\tab{5}\spadcommand{size3 := 10::PositiveInteger\bound{size3 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePagePatch17} -\begin{paste}{ListPointsGraphicsExamplePageFull17}{ListPointsGraphicsExamplePageEmpty17} -\pastebutton{ListPointsGraphicsExamplePageFull17}{\hidepaste} -\tab{5}\spadcommand{lsize := [size1, size1, size1, size1, size2, size2, size2, size2, size3, size3, size3, size3]\bound{lsize }\free{size1 size2 size3 }} -\indentrel{3}\begin{verbatim} - (17) [6,6,6,6,8,8,8,8,10,10,10,10] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePageEmpty17} -\begin{paste}{ListPointsGraphicsExamplePageEmpty17}{ListPointsGraphicsExamplePagePatch17} -\pastebutton{ListPointsGraphicsExamplePageEmpty17}{\showpaste} -\tab{5}\spadcommand{lsize := [size1, size1, size1, size1, size2, size2, size2, size2, size3, size3, size3, size3]\bound{lsize }\free{size1 size2 size3 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePagePatch18} -\begin{paste}{ListPointsGraphicsExamplePageFull18}{ListPointsGraphicsExamplePageEmpty18} -\pastebutton{ListPointsGraphicsExamplePageFull18}{\hidepaste} -\tab{5}\spadcommand{pc1 := pastel red()\bound{pc1 }} -\indentrel{3}\begin{verbatim} - (18) [Hue: 1 Weight: 1.0] from the Pastel palette - Type: Palette -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePageEmpty18} -\begin{paste}{ListPointsGraphicsExamplePageEmpty18}{ListPointsGraphicsExamplePagePatch18} -\pastebutton{ListPointsGraphicsExamplePageEmpty18}{\showpaste} -\tab{5}\spadcommand{pc1 := pastel red()\bound{pc1 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePagePatch19} -\begin{paste}{ListPointsGraphicsExamplePageFull19}{ListPointsGraphicsExamplePageEmpty19} -\pastebutton{ListPointsGraphicsExamplePageFull19}{\hidepaste} -\tab{5}\spadcommand{pc2 := dim green()\bound{pc2 }} -\indentrel{3}\begin{verbatim} - (19) [Hue: 14 Weight: 1.0] from the Dim palette - Type: Palette -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePageEmpty19} -\begin{paste}{ListPointsGraphicsExamplePageEmpty19}{ListPointsGraphicsExamplePagePatch19} -\pastebutton{ListPointsGraphicsExamplePageEmpty19}{\showpaste} -\tab{5}\spadcommand{pc2 := dim green()\bound{pc2 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePagePatch20} -\begin{paste}{ListPointsGraphicsExamplePageFull20}{ListPointsGraphicsExamplePageEmpty20} -\pastebutton{ListPointsGraphicsExamplePageFull20}{\hidepaste} -\tab{5}\spadcommand{pc3 := pastel yellow()\bound{pc3 }} -\indentrel{3}\begin{verbatim} - (20) [Hue: 11 Weight: 1.0] from the Pastel palette - Type: Palette -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePageEmpty20} -\begin{paste}{ListPointsGraphicsExamplePageEmpty20}{ListPointsGraphicsExamplePagePatch20} -\pastebutton{ListPointsGraphicsExamplePageEmpty20}{\showpaste} -\tab{5}\spadcommand{pc3 := pastel yellow()\bound{pc3 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePagePatch21} -\begin{paste}{ListPointsGraphicsExamplePageFull21}{ListPointsGraphicsExamplePageEmpty21} -\pastebutton{ListPointsGraphicsExamplePageFull21}{\hidepaste} -\tab{5}\spadcommand{lpc := [pc1, pc1, pc1, pc1, pc2, pc2, pc2, pc2, pc3, pc3, pc3, pc3]\bound{lpc }\free{pc1 pc2 pc3 }} -\indentrel{3}\begin{verbatim} - (21) - [[Hue: 1 Weight: 1.0] from the Pastel palette, - [Hue: 1 Weight: 1.0] from the Pastel palette, - [Hue: 1 Weight: 1.0] from the Pastel palette, - [Hue: 1 Weight: 1.0] from the Pastel palette, - [Hue: 14 Weight: 1.0] from the Dim palette, - [Hue: 14 Weight: 1.0] from the Dim palette, - [Hue: 14 Weight: 1.0] from the Dim palette, - [Hue: 14 Weight: 1.0] from the Dim palette, - [Hue: 11 Weight: 1.0] from the Pastel palette, - [Hue: 11 Weight: 1.0] from the Pastel palette, - [Hue: 11 Weight: 1.0] from the Pastel palette, - [Hue: 11 Weight: 1.0] from the Pastel palette] - Type: List Palette -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePageEmpty21} -\begin{paste}{ListPointsGraphicsExamplePageEmpty21}{ListPointsGraphicsExamplePagePatch21} -\pastebutton{ListPointsGraphicsExamplePageEmpty21}{\showpaste} -\tab{5}\spadcommand{lpc := [pc1, pc1, pc1, pc1, pc2, pc2, pc2, pc2, pc3, pc3, pc3, pc3]\bound{lpc }\free{pc1 pc2 pc3 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePagePatch22} -\begin{paste}{ListPointsGraphicsExamplePageFull22}{ListPointsGraphicsExamplePageEmpty22} -\pastebutton{ListPointsGraphicsExamplePageFull22}{\hidepaste} -\tab{5}\spadcommand{lc := [pastel blue(), light yellow(), dim green(), bright red(), light green(), dim yellow(), bright blue(), dark red(), pastel red(), light blue(), dim green(), light yellow()]\bound{lc }} -\indentrel{3}\begin{verbatim} - (22) - [[Hue: 22 Weight: 1.0] from the Pastel palette, - [Hue: 11 Weight: 1.0] from the Light palette, - [Hue: 14 Weight: 1.0] from the Dim palette, - [Hue: 1 Weight: 1.0] from the Bright palette, - [Hue: 14 Weight: 1.0] from the Light palette, - [Hue: 11 Weight: 1.0] from the Dim palette, - [Hue: 22 Weight: 1.0] from the Bright palette, - [Hue: 1 Weight: 1.0] from the Dark palette, - [Hue: 1 Weight: 1.0] from the Pastel palette, - [Hue: 22 Weight: 1.0] from the Light palette, - [Hue: 14 Weight: 1.0] from the Dim palette, - [Hue: 11 Weight: 1.0] from the Light palette] - Type: List Palette -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePageEmpty22} -\begin{paste}{ListPointsGraphicsExamplePageEmpty22}{ListPointsGraphicsExamplePagePatch22} -\pastebutton{ListPointsGraphicsExamplePageEmpty22}{\showpaste} -\tab{5}\spadcommand{lc := [pastel blue(), light yellow(), dim green(), bright red(), light green(), dim yellow(), bright blue(), dark red(), pastel red(), light blue(), dim green(), light yellow()]\bound{lc }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePagePatch23} -\begin{paste}{ListPointsGraphicsExamplePageFull23}{ListPointsGraphicsExamplePageEmpty23} -\pastebutton{ListPointsGraphicsExamplePageFull23}{\hidepaste} -\tab{5}\spadcommand{g := makeGraphImage(llp,lpc,lc,lsize)$GRIMAGE\bound{g }\free{llp lpc lc lsize }} -\indentrel{3}\begin{verbatim} - (23) Graph with 12 point lists - Type: GraphImage -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePageEmpty23} -\begin{paste}{ListPointsGraphicsExamplePageEmpty23}{ListPointsGraphicsExamplePagePatch23} -\pastebutton{ListPointsGraphicsExamplePageEmpty23}{\showpaste} -\tab{5}\spadcommand{g := makeGraphImage(llp,lpc,lc,lsize)$GRIMAGE\bound{g }\free{llp lpc lc lsize }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePagePatch24} -\begin{paste}{ListPointsGraphicsExamplePageFull24}{ListPointsGraphicsExamplePageEmpty24} -\pastebutton{ListPointsGraphicsExamplePageFull24}{\hidepaste} -\tab{5}\spadgraph{makeViewport2D(g,[title("Lines")])$VIEW2D\free{g }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/listpointsgraphicsexamplepage24.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/listpointsgraphicsexamplepage24}} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsExamplePageEmpty24} -\begin{paste}{ListPointsGraphicsExamplePageEmpty24}{ListPointsGraphicsExamplePagePatch24} -\pastebutton{ListPointsGraphicsExamplePageEmpty24}{\showpaste} -\tab{5}\spadgraph{makeViewport2D(g,[title("Lines")])$VIEW2D\free{g }} -\end{paste}\end{patch} - -\begin{patch}{TwoVariableGraphicsPagePatch1} -\begin{paste}{TwoVariableGraphicsPageFull1}{TwoVariableGraphicsPageEmpty1} -\pastebutton{TwoVariableGraphicsPageFull1}{\hidepaste} -\tab{5}\spadgraph{draw(cos(x*y),x=-3..3,y=-3..3)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/twovariablegraphicspage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/twovariablegraphicspage1}} -\end{paste}\end{patch} - -\begin{patch}{TwoVariableGraphicsPageEmpty1} -\begin{paste}{TwoVariableGraphicsPageEmpty1}{TwoVariableGraphicsPagePatch1} -\pastebutton{TwoVariableGraphicsPageEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(cos(x*y),x=-3..3,y=-3..3)} -\end{paste}\end{patch} - -\begin{patch}{TwoVariableGraphicsPagePatch2} -\begin{paste}{TwoVariableGraphicsPageFull2}{TwoVariableGraphicsPageEmpty2} -\pastebutton{TwoVariableGraphicsPageFull2}{\hidepaste} -\tab{5}\spadcommand{f(x:SF,y:SF):SF == sin(x)*cos(y)\bound{f }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TwoVariableGraphicsPageEmpty2} -\begin{paste}{TwoVariableGraphicsPageEmpty2}{TwoVariableGraphicsPagePatch2} -\pastebutton{TwoVariableGraphicsPageEmpty2}{\showpaste} -\tab{5}\spadcommand{f(x:SF,y:SF):SF == sin(x)*cos(y)\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{TwoVariableGraphicsPagePatch3} -\begin{paste}{TwoVariableGraphicsPageFull3}{TwoVariableGraphicsPageEmpty3} -\pastebutton{TwoVariableGraphicsPageFull3}{\hidepaste} -\tab{5}\spadgraph{draw(f,-\%pi..\%pi,-\%pi..\%pi)\free{f }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/twovariablegraphicspage3.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/twovariablegraphicspage3}} -\end{paste}\end{patch} - -\begin{patch}{TwoVariableGraphicsPageEmpty3} -\begin{paste}{TwoVariableGraphicsPageEmpty3}{TwoVariableGraphicsPagePatch3} -\pastebutton{TwoVariableGraphicsPageEmpty3}{\showpaste} -\tab{5}\spadgraph{draw(f,-\%pi..\%pi,-\%pi..\%pi)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{SpaceCurveGraphicsPagePatch1} -\begin{paste}{SpaceCurveGraphicsPageFull1}{SpaceCurveGraphicsPageEmpty1} -\pastebutton{SpaceCurveGraphicsPageFull1}{\hidepaste} -\tab{5}\spadgraph{draw(curve(cos(t),sin(t),t), t=-12..12)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/spacecurvegraphicspage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/spacecurvegraphicspage1}} -\end{paste}\end{patch} - -\begin{patch}{SpaceCurveGraphicsPageEmpty1} -\begin{paste}{SpaceCurveGraphicsPageEmpty1}{SpaceCurveGraphicsPagePatch1} -\pastebutton{SpaceCurveGraphicsPageEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(curve(cos(t),sin(t),t), t=-12..12)} -\end{paste}\end{patch} - -\begin{patch}{SpaceCurveGraphicsPagePatch2} -\begin{paste}{SpaceCurveGraphicsPageFull2}{SpaceCurveGraphicsPageEmpty2} -\pastebutton{SpaceCurveGraphicsPageFull2}{\hidepaste} -\tab{5}\spadcommand{i1(t:SF):SF == sin(t)*cos(3*t/5)\bound{i1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SpaceCurveGraphicsPageEmpty2} -\begin{paste}{SpaceCurveGraphicsPageEmpty2}{SpaceCurveGraphicsPagePatch2} -\pastebutton{SpaceCurveGraphicsPageEmpty2}{\showpaste} -\tab{5}\spadcommand{i1(t:SF):SF == sin(t)*cos(3*t/5)\bound{i1 }} -\end{paste}\end{patch} - -\begin{patch}{SpaceCurveGraphicsPagePatch3} -\begin{paste}{SpaceCurveGraphicsPageFull3}{SpaceCurveGraphicsPageEmpty3} -\pastebutton{SpaceCurveGraphicsPageFull3}{\hidepaste} -\tab{5}\spadcommand{i2(t:SF):SF == cos(t)*cos(3*t/5)\bound{i2 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SpaceCurveGraphicsPageEmpty3} -\begin{paste}{SpaceCurveGraphicsPageEmpty3}{SpaceCurveGraphicsPagePatch3} -\pastebutton{SpaceCurveGraphicsPageEmpty3}{\showpaste} -\tab{5}\spadcommand{i2(t:SF):SF == cos(t)*cos(3*t/5)\bound{i2 }} -\end{paste}\end{patch} - -\begin{patch}{SpaceCurveGraphicsPagePatch4} -\begin{paste}{SpaceCurveGraphicsPageFull4}{SpaceCurveGraphicsPageEmpty4} -\pastebutton{SpaceCurveGraphicsPageFull4}{\hidepaste} -\tab{5}\spadcommand{i3(t:SF):SF == cos(t)*sin(3*t/5)\bound{i3 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SpaceCurveGraphicsPageEmpty4} -\begin{paste}{SpaceCurveGraphicsPageEmpty4}{SpaceCurveGraphicsPagePatch4} -\pastebutton{SpaceCurveGraphicsPageEmpty4}{\showpaste} -\tab{5}\spadcommand{i3(t:SF):SF == cos(t)*sin(3*t/5)\bound{i3 }} -\end{paste}\end{patch} - -\begin{patch}{SpaceCurveGraphicsPagePatch5} -\begin{paste}{SpaceCurveGraphicsPageFull5}{SpaceCurveGraphicsPageEmpty5} -\pastebutton{SpaceCurveGraphicsPageFull5}{\hidepaste} -\tab{5}\spadgraph{draw(curve(i1,i2,i3),0..15*\%pi)\free{i1 i2 i3 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/spacecurvegraphicspage5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/spacecurvegraphicspage5}} -\end{paste}\end{patch} - -\begin{patch}{SpaceCurveGraphicsPageEmpty5} -\begin{paste}{SpaceCurveGraphicsPageEmpty5}{SpaceCurveGraphicsPagePatch5} -\pastebutton{SpaceCurveGraphicsPageEmpty5}{\showpaste} -\tab{5}\spadgraph{draw(curve(i1,i2,i3),0..15*\%pi)\free{i1 i2 i3 }} -\end{paste}\end{patch} - -\begin{patch}{ParametricTubeGraphicsPagePatch1} -\begin{paste}{ParametricTubeGraphicsPageFull1}{ParametricTubeGraphicsPageEmpty1} -\pastebutton{ParametricTubeGraphicsPageFull1}{\hidepaste} -\tab{5}\spadgraph{draw(curve(sin(t)*cos(3*t/5), cos(t)*cos(3*t/5), cos(t)*sin(3*t/5)), t=0..15*\%pi,tubeRadius == .15)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/parametrictubegraphicspage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/parametrictubegraphicspage1}} -\end{paste}\end{patch} - -\begin{patch}{ParametricTubeGraphicsPageEmpty1} -\begin{paste}{ParametricTubeGraphicsPageEmpty1}{ParametricTubeGraphicsPagePatch1} -\pastebutton{ParametricTubeGraphicsPageEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(curve(sin(t)*cos(3*t/5), cos(t)*cos(3*t/5), cos(t)*sin(3*t/5)), t=0..15*\%pi,tubeRadius == .15)} -\end{paste}\end{patch} - -\begin{patch}{ParametricTubeGraphicsPagePatch2} -\begin{paste}{ParametricTubeGraphicsPageFull2}{ParametricTubeGraphicsPageEmpty2} -\pastebutton{ParametricTubeGraphicsPageFull2}{\hidepaste} -\tab{5}\spadcommand{t1(t:SF):SF == 4/(2-sin(3*t))*cos(2*t)\bound{t1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ParametricTubeGraphicsPageEmpty2} -\begin{paste}{ParametricTubeGraphicsPageEmpty2}{ParametricTubeGraphicsPagePatch2} -\pastebutton{ParametricTubeGraphicsPageEmpty2}{\showpaste} -\tab{5}\spadcommand{t1(t:SF):SF == 4/(2-sin(3*t))*cos(2*t)\bound{t1 }} -\end{paste}\end{patch} - -\begin{patch}{ParametricTubeGraphicsPagePatch3} -\begin{paste}{ParametricTubeGraphicsPageFull3}{ParametricTubeGraphicsPageEmpty3} -\pastebutton{ParametricTubeGraphicsPageFull3}{\hidepaste} -\tab{5}\spadcommand{t2(t:SF):SF == 4/(2-sin(3*t))*sin(2*t)\bound{t2 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ParametricTubeGraphicsPageEmpty3} -\begin{paste}{ParametricTubeGraphicsPageEmpty3}{ParametricTubeGraphicsPagePatch3} -\pastebutton{ParametricTubeGraphicsPageEmpty3}{\showpaste} -\tab{5}\spadcommand{t2(t:SF):SF == 4/(2-sin(3*t))*sin(2*t)\bound{t2 }} -\end{paste}\end{patch} - -\begin{patch}{ParametricTubeGraphicsPagePatch4} -\begin{paste}{ParametricTubeGraphicsPageFull4}{ParametricTubeGraphicsPageEmpty4} -\pastebutton{ParametricTubeGraphicsPageFull4}{\hidepaste} -\tab{5}\spadcommand{t3(t:SF):SF == 4/(2-sin(3*t))*cos(3*t)\bound{t3 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ParametricTubeGraphicsPageEmpty4} -\begin{paste}{ParametricTubeGraphicsPageEmpty4}{ParametricTubeGraphicsPagePatch4} -\pastebutton{ParametricTubeGraphicsPageEmpty4}{\showpaste} -\tab{5}\spadcommand{t3(t:SF):SF == 4/(2-sin(3*t))*cos(3*t)\bound{t3 }} -\end{paste}\end{patch} - -\begin{patch}{ParametricTubeGraphicsPagePatch5} -\begin{paste}{ParametricTubeGraphicsPageFull5}{ParametricTubeGraphicsPageEmpty5} -\pastebutton{ParametricTubeGraphicsPageFull5}{\hidepaste} -\tab{5}\spadgraph{draw(curve(t1,t2,t3),0..2*\%pi,tubeRadius == .2)\free{t1 t2 t3 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/parametrictubegraphicspage5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/parametrictubegraphicspage5}} -\end{paste}\end{patch} - -\begin{patch}{ParametricTubeGraphicsPageEmpty5} -\begin{paste}{ParametricTubeGraphicsPageEmpty5}{ParametricTubeGraphicsPagePatch5} -\pastebutton{ParametricTubeGraphicsPageEmpty5}{\showpaste} -\tab{5}\spadgraph{draw(curve(t1,t2,t3),0..2*\%pi,tubeRadius == .2)\free{t1 t2 t3 }} -\end{paste}\end{patch} - -\begin{patch}{ParametricSurfaceGraphicsPagePatch1} -\begin{paste}{ParametricSurfaceGraphicsPageFull1}{ParametricSurfaceGraphicsPageEmpty1} -\pastebutton{ParametricSurfaceGraphicsPageFull1}{\hidepaste} -\tab{5}\spadgraph{draw(surface(u*cos(v), u*sin(v),v*cos(u)),u=-4..4,v=0..2*\%pi, coordinates== parabolicCylindrical)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/parametricsurfacegraphicspage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/parametricsurfacegraphicspage1}} -\end{paste}\end{patch} - -\begin{patch}{ParametricSurfaceGraphicsPageEmpty1} -\begin{paste}{ParametricSurfaceGraphicsPageEmpty1}{ParametricSurfaceGraphicsPagePatch1} -\pastebutton{ParametricSurfaceGraphicsPageEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(surface(u*cos(v), u*sin(v),v*cos(u)),u=-4..4,v=0..2*\%pi, coordinates== parabolicCylindrical)} -\end{paste}\end{patch} - -\begin{patch}{ParametricSurfaceGraphicsPagePatch2} -\begin{paste}{ParametricSurfaceGraphicsPageFull2}{ParametricSurfaceGraphicsPageEmpty2} -\pastebutton{ParametricSurfaceGraphicsPageFull2}{\hidepaste} -\tab{5}\spadcommand{n1(u:SF,v:SF):SF == u*cos(v)\bound{n1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ParametricSurfaceGraphicsPageEmpty2} -\begin{paste}{ParametricSurfaceGraphicsPageEmpty2}{ParametricSurfaceGraphicsPagePatch2} -\pastebutton{ParametricSurfaceGraphicsPageEmpty2}{\showpaste} -\tab{5}\spadcommand{n1(u:SF,v:SF):SF == u*cos(v)\bound{n1 }} -\end{paste}\end{patch} - -\begin{patch}{ParametricSurfaceGraphicsPagePatch3} -\begin{paste}{ParametricSurfaceGraphicsPageFull3}{ParametricSurfaceGraphicsPageEmpty3} -\pastebutton{ParametricSurfaceGraphicsPageFull3}{\hidepaste} -\tab{5}\spadcommand{n2(u:SF,v:SF):SF == u*sin(v)\bound{n2 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ParametricSurfaceGraphicsPageEmpty3} -\begin{paste}{ParametricSurfaceGraphicsPageEmpty3}{ParametricSurfaceGraphicsPagePatch3} -\pastebutton{ParametricSurfaceGraphicsPageEmpty3}{\showpaste} -\tab{5}\spadcommand{n2(u:SF,v:SF):SF == u*sin(v)\bound{n2 }} -\end{paste}\end{patch} - -\begin{patch}{ParametricSurfaceGraphicsPagePatch4} -\begin{paste}{ParametricSurfaceGraphicsPageFull4}{ParametricSurfaceGraphicsPageEmpty4} -\pastebutton{ParametricSurfaceGraphicsPageFull4}{\hidepaste} -\tab{5}\spadcommand{n3(u:SF,v:SF):SF == u\bound{n3 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ParametricSurfaceGraphicsPageEmpty4} -\begin{paste}{ParametricSurfaceGraphicsPageEmpty4}{ParametricSurfaceGraphicsPagePatch4} -\pastebutton{ParametricSurfaceGraphicsPageEmpty4}{\showpaste} -\tab{5}\spadcommand{n3(u:SF,v:SF):SF == u\bound{n3 }} -\end{paste}\end{patch} - -\begin{patch}{ParametricSurfaceGraphicsPagePatch5} -\begin{paste}{ParametricSurfaceGraphicsPageFull5}{ParametricSurfaceGraphicsPageEmpty5} -\pastebutton{ParametricSurfaceGraphicsPageFull5}{\hidepaste} -\tab{5}\spadgraph{draw(surface(n1,n2,n3), 1.0..4.0, 1.0..4*\%pi, coordinates == toroidal(1$SF))\free{n1 n2 n3 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/parametricsurfacegraphicspage5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/parametricsurfacegraphicspage5}} -\end{paste}\end{patch} - -\begin{patch}{ParametricSurfaceGraphicsPageEmpty5} -\begin{paste}{ParametricSurfaceGraphicsPageEmpty5}{ParametricSurfaceGraphicsPagePatch5} -\pastebutton{ParametricSurfaceGraphicsPageEmpty5}{\showpaste} -\tab{5}\spadgraph{draw(surface(n1,n2,n3), 1.0..4.0, 1.0..4*\%pi, coordinates == toroidal(1$SF))\free{n1 n2 n3 }} -\end{paste}\end{patch} - -\begin{patch}{3DObjectGraphicsPagePatch1} -\begin{paste}{3DObjectGraphicsPageFull1}{3DObjectGraphicsPageEmpty1} -\pastebutton{3DObjectGraphicsPageFull1}{\hidepaste} -\tab{5}\spadcommand{space := create3Space()$(ThreeSpace SF)\bound{space }} -\indentrel{3}\begin{verbatim} - (1) 3-Space with 0 components - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{3DObjectGraphicsPageEmpty1} -\begin{paste}{3DObjectGraphicsPageEmpty1}{3DObjectGraphicsPagePatch1} -\pastebutton{3DObjectGraphicsPageEmpty1}{\showpaste} -\tab{5}\spadcommand{space := create3Space()$(ThreeSpace SF)\bound{space }} -\end{paste}\end{patch} - -\begin{patch}{3DObjectGraphicsPagePatch2} -\begin{paste}{3DObjectGraphicsPageFull2}{3DObjectGraphicsPageEmpty2} -\pastebutton{3DObjectGraphicsPageFull2}{\hidepaste} -\tab{5}\spadcommand{curve(space,[[0,20,20],[0,20,30],[0,30,30],[0,30,100], [0,20,100],[0,20,110],[0,50,110],[0,50,100],[0,40,100], [0,40,30],[0,50,30],[0,50,20],[0,20,20]])\bound{curveI }} -\indentrel{3}\begin{verbatim} - (2) 3-Space with 1 component - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{3DObjectGraphicsPageEmpty2} -\begin{paste}{3DObjectGraphicsPageEmpty2}{3DObjectGraphicsPagePatch2} -\pastebutton{3DObjectGraphicsPageEmpty2}{\showpaste} -\tab{5}\spadcommand{curve(space,[[0,20,20],[0,20,30],[0,30,30],[0,30,100], [0,20,100],[0,20,110],[0,50,110],[0,50,100],[0,40,100], [0,40,30],[0,50,30],[0,50,20],[0,20,20]])\bound{curveI }} -\end{paste}\end{patch} - -\begin{patch}{3DObjectGraphicsPagePatch3} -\begin{paste}{3DObjectGraphicsPageFull3}{3DObjectGraphicsPageEmpty3} -\pastebutton{3DObjectGraphicsPageFull3}{\hidepaste} -\tab{5}\spadcommand{curve(space,[[0,80,20],[0,70,20],[0,70,110],[0,110,110], [0,120,100],[0,120,70],[0,115,65],[0,120,60],[0,120,30], [0,110,20],[0,80,20],[0,80,30],[0,105,30],[0,110,35]])\bound{curveB1 }} -\indentrel{3}\begin{verbatim} - (3) 3-Space with 2 components - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{3DObjectGraphicsPageEmpty3} -\begin{paste}{3DObjectGraphicsPageEmpty3}{3DObjectGraphicsPagePatch3} -\pastebutton{3DObjectGraphicsPageEmpty3}{\showpaste} -\tab{5}\spadcommand{curve(space,[[0,80,20],[0,70,20],[0,70,110],[0,110,110], [0,120,100],[0,120,70],[0,115,65],[0,120,60],[0,120,30], [0,110,20],[0,80,20],[0,80,30],[0,105,30],[0,110,35]])\bound{curveB1 }} -\end{paste}\end{patch} - -\begin{patch}{3DObjectGraphicsPagePatch4} -\begin{paste}{3DObjectGraphicsPageFull4}{3DObjectGraphicsPageEmpty4} -\pastebutton{3DObjectGraphicsPageFull4}{\hidepaste} -\tab{5}\spadcommand{curve(space,[[0,110,35],[0,110,55],[0,105,60],[0,80,60],[0,80,70], [0,105,70],[0,110,75],[0,110,95],[0,105,100],[0,80,100], [0,80,30]])\bound{curveB2 }} -\indentrel{3}\begin{verbatim} - (4) 3-Space with 3 components - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{3DObjectGraphicsPageEmpty4} -\begin{paste}{3DObjectGraphicsPageEmpty4}{3DObjectGraphicsPagePatch4} -\pastebutton{3DObjectGraphicsPageEmpty4}{\showpaste} -\tab{5}\spadcommand{curve(space,[[0,110,35],[0,110,55],[0,105,60],[0,80,60],[0,80,70], [0,105,70],[0,110,75],[0,110,95],[0,105,100],[0,80,100], [0,80,30]])\bound{curveB2 }} -\end{paste}\end{patch} - -\begin{patch}{3DObjectGraphicsPagePatch5} -\begin{paste}{3DObjectGraphicsPageFull5}{3DObjectGraphicsPageEmpty5} -\pastebutton{3DObjectGraphicsPageFull5}{\hidepaste} -\tab{5}\spadcommand{closedCurve(space,[[0,140,20],[0,140,110],[0,150,110],[0,170,50], [0,190,110],[0,200,110],[0,200,20],[0,190,20],[0,190,75], [0,175,35],[0,165,35],[0,150,75],[0,150,20]])\bound{curveM }} -\indentrel{3}\begin{verbatim} - (5) 3-Space with 4 components - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{3DObjectGraphicsPageEmpty5} -\begin{paste}{3DObjectGraphicsPageEmpty5}{3DObjectGraphicsPagePatch5} -\pastebutton{3DObjectGraphicsPageEmpty5}{\showpaste} -\tab{5}\spadcommand{closedCurve(space,[[0,140,20],[0,140,110],[0,150,110],[0,170,50], [0,190,110],[0,200,110],[0,200,20],[0,190,20],[0,190,75], [0,175,35],[0,165,35],[0,150,75],[0,150,20]])\bound{curveM }} -\end{paste}\end{patch} - -\begin{patch}{3DObjectGraphicsPagePatch6} -\begin{paste}{3DObjectGraphicsPageFull6}{3DObjectGraphicsPageEmpty6} -\pastebutton{3DObjectGraphicsPageFull6}{\hidepaste} -\tab{5}\spadcommand{closedCurve(space,[[200,0,20], [200,0,110], [185,0,110], [160,0,45], [160,0,110], [150,0,110], [150,0,20], [165,0,20], [190,0,85], [190,0,20]])\bound{curveN }} -\indentrel{3}\begin{verbatim} - (6) 3-Space with 5 components - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{3DObjectGraphicsPageEmpty6} -\begin{paste}{3DObjectGraphicsPageEmpty6}{3DObjectGraphicsPagePatch6} -\pastebutton{3DObjectGraphicsPageEmpty6}{\showpaste} -\tab{5}\spadcommand{closedCurve(space,[[200,0,20], [200,0,110], [185,0,110], [160,0,45], [160,0,110], [150,0,110], [150,0,20], [165,0,20], [190,0,85], [190,0,20]])\bound{curveN }} -\end{paste}\end{patch} - -\begin{patch}{3DObjectGraphicsPagePatch7} -\begin{paste}{3DObjectGraphicsPageFull7}{3DObjectGraphicsPageEmpty7} -\pastebutton{3DObjectGraphicsPageFull7}{\hidepaste} -\tab{5}\spadcommand{closedCurve(space,[[140,0,20], [120,0,110], [110,0,110], [90,0,20], [100,0,20], [108,0,50], [123,0,50], [121,0,60], [110,0,60], [115,0,90], [130,0,20]])\bound{curveA }} -\indentrel{3}\begin{verbatim} - (7) 3-Space with 6 components - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{3DObjectGraphicsPageEmpty7} -\begin{paste}{3DObjectGraphicsPageEmpty7}{3DObjectGraphicsPagePatch7} -\pastebutton{3DObjectGraphicsPageEmpty7}{\showpaste} -\tab{5}\spadcommand{closedCurve(space,[[140,0,20], [120,0,110], [110,0,110], [90,0,20], [100,0,20], [108,0,50], [123,0,50], [121,0,60], [110,0,60], [115,0,90], [130,0,20]])\bound{curveA }} -\end{paste}\end{patch} - -\begin{patch}{3DObjectGraphicsPagePatch8} -\begin{paste}{3DObjectGraphicsPageFull8}{3DObjectGraphicsPageEmpty8} -\pastebutton{3DObjectGraphicsPageFull8}{\hidepaste} -\tab{5}\spadcommand{closedCurve(space,[[80,0,30], [80,0,100], [70,0,110], [40,0,110], [30,0,100], [30,0,90], [40,0,90], [40,0,95], [45,0,100], [65,0,100], [70,0,95], [70,0,35], [65,0,30], [45,0,30], [40,0,35], [40,0,60], [50,0,60], [50,0,70], [30,0,70], [30,0,30], [40,0,20], [70,0,20]])\bound{curveG }} -\indentrel{3}\begin{verbatim} - (8) 3-Space with 7 components - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{3DObjectGraphicsPageEmpty8} -\begin{paste}{3DObjectGraphicsPageEmpty8}{3DObjectGraphicsPagePatch8} -\pastebutton{3DObjectGraphicsPageEmpty8}{\showpaste} -\tab{5}\spadcommand{closedCurve(space,[[80,0,30], [80,0,100], [70,0,110], [40,0,110], [30,0,100], [30,0,90], [40,0,90], [40,0,95], [45,0,100], [65,0,100], [70,0,95], [70,0,35], [65,0,30], [45,0,30], [40,0,35], [40,0,60], [50,0,60], [50,0,70], [30,0,70], [30,0,30], [40,0,20], [70,0,20]])\bound{curveG }} -\end{paste}\end{patch} - -\begin{patch}{3DObjectGraphicsPagePatch9} -\begin{paste}{3DObjectGraphicsPageFull9}{3DObjectGraphicsPageEmpty9} -\pastebutton{3DObjectGraphicsPageFull9}{\hidepaste} -\tab{5}\spadgraph{makeViewport3D(space,[title("Curves")])$VIEW3D\free{space curveI curveB1 curveB2 curveM curveN curveA curveG }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/3dobjectgraphicspage9.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/3dobjectgraphicspage9}} -\end{paste}\end{patch} - -\begin{patch}{3DObjectGraphicsPageEmpty9} -\begin{paste}{3DObjectGraphicsPageEmpty9}{3DObjectGraphicsPagePatch9} -\pastebutton{3DObjectGraphicsPageEmpty9}{\showpaste} -\tab{5}\spadgraph{makeViewport3D(space,[title("Curves")])$VIEW3D\free{space curveI curveB1 curveB2 curveM curveN curveA curveG }} -\end{paste}\end{patch} - -\begin{patch}{OneVariableGraphicsPagePatch1} -\begin{paste}{OneVariableGraphicsPageFull1}{OneVariableGraphicsPageEmpty1} -\pastebutton{OneVariableGraphicsPageFull1}{\hidepaste} -\tab{5}\spadgraph{draw(sin(tan(x)) - tan(sin(x)),x = 0..6)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/onevariablegraphicspage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/onevariablegraphicspage1}} -\end{paste}\end{patch} - -\begin{patch}{OneVariableGraphicsPageEmpty1} -\begin{paste}{OneVariableGraphicsPageEmpty1}{OneVariableGraphicsPagePatch1} -\pastebutton{OneVariableGraphicsPageEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(sin(tan(x)) - tan(sin(x)),x = 0..6)} -\end{paste}\end{patch} - -\begin{patch}{OneVariableGraphicsPagePatch2} -\begin{paste}{OneVariableGraphicsPageFull2}{OneVariableGraphicsPageEmpty2} -\pastebutton{OneVariableGraphicsPageFull2}{\hidepaste} -\tab{5}\spadgraph{draw(sin(tan(x)) - tan(sin(x)),x = 10..16,title == "y = sin tan x - tan sin x")} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/onevariablegraphicspage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/onevariablegraphicspage2}} -\end{paste}\end{patch} - -\begin{patch}{OneVariableGraphicsPageEmpty2} -\begin{paste}{OneVariableGraphicsPageEmpty2}{OneVariableGraphicsPagePatch2} -\pastebutton{OneVariableGraphicsPageEmpty2}{\showpaste} -\tab{5}\spadgraph{draw(sin(tan(x)) - tan(sin(x)),x = 10..16,title == "y = sin tan x - tan sin x")} -\end{paste}\end{patch} - -\begin{patch}{OneVariableGraphicsPagePatch3} -\begin{paste}{OneVariableGraphicsPageFull3}{OneVariableGraphicsPageEmpty3} -\pastebutton{OneVariableGraphicsPageFull3}{\hidepaste} -\tab{5}\spadcommand{f(x) == (x-1)*(x-2)*(x-3)\bound{f }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OneVariableGraphicsPageEmpty3} -\begin{paste}{OneVariableGraphicsPageEmpty3}{OneVariableGraphicsPagePatch3} -\pastebutton{OneVariableGraphicsPageEmpty3}{\showpaste} -\tab{5}\spadcommand{f(x) == (x-1)*(x-2)*(x-3)\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{OneVariableGraphicsPagePatch4} -\begin{paste}{OneVariableGraphicsPageFull4}{OneVariableGraphicsPageEmpty4} -\pastebutton{OneVariableGraphicsPageFull4}{\hidepaste} -\tab{5}\spadgraph{draw(f, 0..2, title == "y = f(x) on [0,2]")\free{f }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/OneVariableGraphicsPage4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/OneVariableGraphicsPage4}} -\end{paste}\end{patch} - -\begin{patch}{OneVariableGraphicsPageEmpty4} -\begin{paste}{OneVariableGraphicsPageEmpty4}{OneVariableGraphicsPagePatch4} -\pastebutton{OneVariableGraphicsPageEmpty4}{\showpaste} -\tab{5}\spadgraph{draw(f, 0..2, title == "y = f(x) on [0,2]")\free{f }} -\end{paste}\end{patch} - -\begin{patch}{OneVariableGraphicsPagePatch5} -\begin{paste}{OneVariableGraphicsPageFull5}{OneVariableGraphicsPageEmpty5} -\pastebutton{OneVariableGraphicsPageFull5}{\hidepaste} -\tab{5}\spadgraph{draw(f, 0..4,title == "y = f(x) on [0,4]")\free{f }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/OneVariableGraphicsPage5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/OneVariableGraphicsPage5}} -\end{paste}\end{patch} - -\begin{patch}{OneVariableGraphicsPageEmpty5} -\begin{paste}{OneVariableGraphicsPageEmpty5}{OneVariableGraphicsPagePatch5} -\pastebutton{OneVariableGraphicsPageEmpty5}{\showpaste} -\tab{5}\spadgraph{draw(f, 0..4,title == "y = f(x) on [0,4]")\free{f }} -\end{paste}\end{patch} - -\begin{patch}{ParametricCurveGraphicsPagePatch1} -\begin{paste}{ParametricCurveGraphicsPageFull1}{ParametricCurveGraphicsPageEmpty1} -\pastebutton{ParametricCurveGraphicsPageFull1}{\hidepaste} -\tab{5}\spadgraph{draw(curve(sin(t)*sin(2*t)*sin(3*t), sin(4*t)*sin(5*t)*sin(6*t)), t = 0..2*\%pi)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/parametriccurvegraphicspage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/parametriccurvegraphicspage1}} -\end{paste}\end{patch} - -\begin{patch}{ParametricCurveGraphicsPageEmpty1} -\begin{paste}{ParametricCurveGraphicsPageEmpty1}{ParametricCurveGraphicsPagePatch1} -\pastebutton{ParametricCurveGraphicsPageEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(curve(sin(t)*sin(2*t)*sin(3*t), sin(4*t)*sin(5*t)*sin(6*t)), t = 0..2*\%pi)} -\end{paste}\end{patch} - -\begin{patch}{ParametricCurveGraphicsPagePatch2} -\begin{paste}{ParametricCurveGraphicsPageFull2}{ParametricCurveGraphicsPageEmpty2} -\pastebutton{ParametricCurveGraphicsPageFull2}{\hidepaste} -\tab{5}\spadgraph{draw(curve(cos(t), sin(t)), t = 0..2*\%pi, title == "The Unit Circle")} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/parametriccurvegraphicspage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/parametriccurvegraphicspage2}} -\end{paste}\end{patch} - -\begin{patch}{ParametricCurveGraphicsPageEmpty2} -\begin{paste}{ParametricCurveGraphicsPageEmpty2}{ParametricCurveGraphicsPagePatch2} -\pastebutton{ParametricCurveGraphicsPageEmpty2}{\showpaste} -\tab{5}\spadgraph{draw(curve(cos(t), sin(t)), t = 0..2*\%pi, title == "The Unit Circle")} -\end{paste}\end{patch} - -\begin{patch}{ParametricCurveGraphicsPagePatch3} -\begin{paste}{ParametricCurveGraphicsPageFull3}{ParametricCurveGraphicsPageEmpty3} -\pastebutton{ParametricCurveGraphicsPageFull3}{\hidepaste} -\tab{5}\spadcommand{f(t:SF):SF == sin(3*t/4)\bound{f }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ParametricCurveGraphicsPageEmpty3} -\begin{paste}{ParametricCurveGraphicsPageEmpty3}{ParametricCurveGraphicsPagePatch3} -\pastebutton{ParametricCurveGraphicsPageEmpty3}{\showpaste} -\tab{5}\spadcommand{f(t:SF):SF == sin(3*t/4)\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{ParametricCurveGraphicsPagePatch4} -\begin{paste}{ParametricCurveGraphicsPageFull4}{ParametricCurveGraphicsPageEmpty4} -\pastebutton{ParametricCurveGraphicsPageFull4}{\hidepaste} -\tab{5}\spadcommand{g(t:SF):SF == sin(t)\bound{g }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ParametricCurveGraphicsPageEmpty4} -\begin{paste}{ParametricCurveGraphicsPageEmpty4}{ParametricCurveGraphicsPagePatch4} -\pastebutton{ParametricCurveGraphicsPageEmpty4}{\showpaste} -\tab{5}\spadcommand{g(t:SF):SF == sin(t)\bound{g }} -\end{paste}\end{patch} - -\begin{patch}{ParametricCurveGraphicsPagePatch5} -\begin{paste}{ParametricCurveGraphicsPageFull5}{ParametricCurveGraphicsPageEmpty5} -\pastebutton{ParametricCurveGraphicsPageFull5}{\hidepaste} -\tab{5}\spadgraph{draw(curve(f,g), 0..\%pi)\free{f g }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/parametriccurvegraphicspage5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/parametriccurvegraphicspage5}} -\end{paste}\end{patch} - -\begin{patch}{ParametricCurveGraphicsPageEmpty5} -\begin{paste}{ParametricCurveGraphicsPageEmpty5}{ParametricCurveGraphicsPagePatch5} -\pastebutton{ParametricCurveGraphicsPageEmpty5}{\showpaste} -\tab{5}\spadgraph{draw(curve(f,g), 0..\%pi)\free{f g }} -\end{paste}\end{patch} - -\begin{patch}{ParametricCurveGraphicsPagePatch6} -\begin{paste}{ParametricCurveGraphicsPageFull6}{ParametricCurveGraphicsPageEmpty6} -\pastebutton{ParametricCurveGraphicsPageFull6}{\hidepaste} -\tab{5}\spadgraph{draw(curve(f,g) ,\%pi..2*\%pi)\free{f g }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/parametriccurvegraphicspage6.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/parametriccurvegraphicspage6}} -\end{paste}\end{patch} - -\begin{patch}{ParametricCurveGraphicsPageEmpty6} -\begin{paste}{ParametricCurveGraphicsPageEmpty6}{ParametricCurveGraphicsPagePatch6} -\pastebutton{ParametricCurveGraphicsPageEmpty6}{\showpaste} -\tab{5}\spadgraph{draw(curve(f,g) ,\%pi..2*\%pi)\free{f g }} -\end{paste}\end{patch} - -\begin{patch}{ParametricCurveGraphicsPagePatch7} -\begin{paste}{ParametricCurveGraphicsPageFull7}{ParametricCurveGraphicsPageEmpty7} -\pastebutton{ParametricCurveGraphicsPageFull7}{\hidepaste} -\tab{5}\spadgraph{draw(curve(f,g), -4*\%pi..4*\%pi)\free{f g }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/parametriccurvegraphicspage7.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/parametriccurvegraphicspage7}} -\end{paste}\end{patch} - -\begin{patch}{ParametricCurveGraphicsPageEmpty7} -\begin{paste}{ParametricCurveGraphicsPageEmpty7}{ParametricCurveGraphicsPagePatch7} -\pastebutton{ParametricCurveGraphicsPageEmpty7}{\showpaste} -\tab{5}\spadgraph{draw(curve(f,g), -4*\%pi..4*\%pi)\free{f g }} -\end{paste}\end{patch} - -\begin{patch}{PolarGraphicsPagePatch1} -\begin{paste}{PolarGraphicsPageFull1}{PolarGraphicsPageEmpty1} -\pastebutton{PolarGraphicsPageFull1}{\hidepaste} -\tab{5}\spadgraph{draw(1,t = 0..2*\%pi,coordinates == polar, title == "The Unit Circle")} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/polargraphicspage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/polargraphicspage1}} -\end{paste}\end{patch} - -\begin{patch}{PolarGraphicsPageEmpty1} -\begin{paste}{PolarGraphicsPageEmpty1}{PolarGraphicsPagePatch1} -\pastebutton{PolarGraphicsPageEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(1,t = 0..2*\%pi,coordinates == polar, title == "The Unit Circle")} -\end{paste}\end{patch} - -\begin{patch}{PolarGraphicsPagePatch2} -\begin{paste}{PolarGraphicsPageFull2}{PolarGraphicsPageEmpty2} -\pastebutton{PolarGraphicsPageFull2}{\hidepaste} -\tab{5}\spadgraph{draw(sin(17*t), t = 0..2*\%pi, coordinates == polar, title == "A Petal Curve")} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/polargraphicspage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/polargraphicspage2}} -\end{paste}\end{patch} - -\begin{patch}{PolarGraphicsPageEmpty2} -\begin{paste}{PolarGraphicsPageEmpty2}{PolarGraphicsPagePatch2} -\pastebutton{PolarGraphicsPageEmpty2}{\showpaste} -\tab{5}\spadgraph{draw(sin(17*t), t = 0..2*\%pi, coordinates == polar, title == "A Petal Curve")} -\end{paste}\end{patch} - -\begin{patch}{PolarGraphicsPagePatch3} -\begin{paste}{PolarGraphicsPageFull3}{PolarGraphicsPageEmpty3} -\pastebutton{PolarGraphicsPageFull3}{\hidepaste} -\tab{5}\spadcommand{f(t) == cos(4*t/7)\bound{f }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolarGraphicsPageEmpty3} -\begin{paste}{PolarGraphicsPageEmpty3}{PolarGraphicsPagePatch3} -\pastebutton{PolarGraphicsPageEmpty3}{\showpaste} -\tab{5}\spadcommand{f(t) == cos(4*t/7)\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{PolarGraphicsPagePatch4} -\begin{paste}{PolarGraphicsPageFull4}{PolarGraphicsPageEmpty4} -\pastebutton{PolarGraphicsPageFull4}{\hidepaste} -\tab{5}\spadgraph{draw(f, 0..2*\%pi, coordinates == polar)\free{f }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/polargraphicspage4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/polargraphicspage4}} -\end{paste}\end{patch} - -\begin{patch}{PolarGraphicsPageEmpty4} -\begin{paste}{PolarGraphicsPageEmpty4}{PolarGraphicsPagePatch4} -\pastebutton{PolarGraphicsPageEmpty4}{\showpaste} -\tab{5}\spadgraph{draw(f, 0..2*\%pi, coordinates == polar)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{PolarGraphicsPagePatch5} -\begin{paste}{PolarGraphicsPageFull5}{PolarGraphicsPageEmpty5} -\pastebutton{PolarGraphicsPageFull5}{\hidepaste} -\tab{5}\spadgraph{draw(f, 0..14*\%pi, coordinates == polar)\free{f }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/polargraphicspage5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/polargraphicspage5}} -\end{paste}\end{patch} - -\begin{patch}{PolarGraphicsPageEmpty5} -\begin{paste}{PolarGraphicsPageEmpty5}{PolarGraphicsPagePatch5} -\pastebutton{PolarGraphicsPageEmpty5}{\showpaste} -\tab{5}\spadgraph{draw(f, 0..14*\%pi, coordinates == polar)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{ImplicitCurveGraphicsPagePatch1} -\begin{paste}{ImplicitCurveGraphicsPageFull1}{ImplicitCurveGraphicsPageEmpty1} -\pastebutton{ImplicitCurveGraphicsPageFull1}{\hidepaste} -\tab{5}\spadcommand{p := ((x**2 + y**2 + 1) - 8*x)**2 - (8*(x**2 + y**2 + 1) - 4*x - 1)\bound{p }} -\indentrel{3}\begin{verbatim} - (1) - 4 2 2 4 3 2 - y + (2x - 16x - 6)y + x - 16x + 58x - 12x - 6 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ImplicitCurveGraphicsPageEmpty1} -\begin{paste}{ImplicitCurveGraphicsPageEmpty1}{ImplicitCurveGraphicsPagePatch1} -\pastebutton{ImplicitCurveGraphicsPageEmpty1}{\showpaste} -\tab{5}\spadcommand{p := ((x**2 + y**2 + 1) - 8*x)**2 - (8*(x**2 + y**2 + 1) - 4*x - 1)\bound{p }} -\end{paste}\end{patch} - -\begin{patch}{ImplicitCurveGraphicsPagePatch2} -\begin{paste}{ImplicitCurveGraphicsPageFull2}{ImplicitCurveGraphicsPageEmpty2} -\pastebutton{ImplicitCurveGraphicsPageFull2}{\hidepaste} -\tab{5}\spadgraph{draw(p = 0, x, y, range == [-1..11, -7..7], title == "Cartesian Ovals")\free{p }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/implicitcurvegraphicspage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/implicitcurvegraphicspage2}} -\end{paste}\end{patch} - -\begin{patch}{ImplicitCurveGraphicsPageEmpty2} -\begin{paste}{ImplicitCurveGraphicsPageEmpty2}{ImplicitCurveGraphicsPagePatch2} -\pastebutton{ImplicitCurveGraphicsPageEmpty2}{\showpaste} -\tab{5}\spadgraph{draw(p = 0, x, y, range == [-1..11, -7..7], title == "Cartesian Ovals")\free{p }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPagePatch1} -\begin{paste}{ListPointsGraphicsPageFull1}{ListPointsGraphicsPageEmpty1} -\pastebutton{ListPointsGraphicsPageFull1}{\hidepaste} -\tab{5}\spadcommand{p1 := point [1::SF,1::SF]$(Point SF)\bound{p1 }} -\indentrel{3}\begin{verbatim} - (1) [1.0,1.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPageEmpty1} -\begin{paste}{ListPointsGraphicsPageEmpty1}{ListPointsGraphicsPagePatch1} -\pastebutton{ListPointsGraphicsPageEmpty1}{\showpaste} -\tab{5}\spadcommand{p1 := point [1::SF,1::SF]$(Point SF)\bound{p1 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPagePatch2} -\begin{paste}{ListPointsGraphicsPageFull2}{ListPointsGraphicsPageEmpty2} -\pastebutton{ListPointsGraphicsPageFull2}{\hidepaste} -\tab{5}\spadcommand{p2 := point [0::SF,1::SF]$(Point SF)\bound{p2 }} -\indentrel{3}\begin{verbatim} - (2) [0.0,1.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPageEmpty2} -\begin{paste}{ListPointsGraphicsPageEmpty2}{ListPointsGraphicsPagePatch2} -\pastebutton{ListPointsGraphicsPageEmpty2}{\showpaste} -\tab{5}\spadcommand{p2 := point [0::SF,1::SF]$(Point SF)\bound{p2 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPagePatch3} -\begin{paste}{ListPointsGraphicsPageFull3}{ListPointsGraphicsPageEmpty3} -\pastebutton{ListPointsGraphicsPageFull3}{\hidepaste} -\tab{5}\spadcommand{p3 := point [0::SF,0::SF]$(Point SF)\bound{p3 }} -\indentrel{3}\begin{verbatim} - (3) [0.0,0.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPageEmpty3} -\begin{paste}{ListPointsGraphicsPageEmpty3}{ListPointsGraphicsPagePatch3} -\pastebutton{ListPointsGraphicsPageEmpty3}{\showpaste} -\tab{5}\spadcommand{p3 := point [0::SF,0::SF]$(Point SF)\bound{p3 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPagePatch4} -\begin{paste}{ListPointsGraphicsPageFull4}{ListPointsGraphicsPageEmpty4} -\pastebutton{ListPointsGraphicsPageFull4}{\hidepaste} -\tab{5}\spadcommand{p4 := point [1::SF,0::SF]$(Point SF)\bound{p4 }} -\indentrel{3}\begin{verbatim} - (4) [1.0,0.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPageEmpty4} -\begin{paste}{ListPointsGraphicsPageEmpty4}{ListPointsGraphicsPagePatch4} -\pastebutton{ListPointsGraphicsPageEmpty4}{\showpaste} -\tab{5}\spadcommand{p4 := point [1::SF,0::SF]$(Point SF)\bound{p4 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPagePatch5} -\begin{paste}{ListPointsGraphicsPageFull5}{ListPointsGraphicsPageEmpty5} -\pastebutton{ListPointsGraphicsPageFull5}{\hidepaste} -\tab{5}\spadcommand{p5 := point [1::SF,.5::SF]$(Point SF)\bound{p5 }} -\indentrel{3}\begin{verbatim} - (5) [1.0,0.5] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPageEmpty5} -\begin{paste}{ListPointsGraphicsPageEmpty5}{ListPointsGraphicsPagePatch5} -\pastebutton{ListPointsGraphicsPageEmpty5}{\showpaste} -\tab{5}\spadcommand{p5 := point [1::SF,.5::SF]$(Point SF)\bound{p5 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPagePatch6} -\begin{paste}{ListPointsGraphicsPageFull6}{ListPointsGraphicsPageEmpty6} -\pastebutton{ListPointsGraphicsPageFull6}{\hidepaste} -\tab{5}\spadcommand{p6 := point [.5::SF,0::SF]$(Point SF)\bound{p6 }} -\indentrel{3}\begin{verbatim} - (6) [0.5,0.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPageEmpty6} -\begin{paste}{ListPointsGraphicsPageEmpty6}{ListPointsGraphicsPagePatch6} -\pastebutton{ListPointsGraphicsPageEmpty6}{\showpaste} -\tab{5}\spadcommand{p6 := point [.5::SF,0::SF]$(Point SF)\bound{p6 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPagePatch7} -\begin{paste}{ListPointsGraphicsPageFull7}{ListPointsGraphicsPageEmpty7} -\pastebutton{ListPointsGraphicsPageFull7}{\hidepaste} -\tab{5}\spadcommand{p7 := point [0::SF,0.5::SF]$(Point SF)\bound{p7 }} -\indentrel{3}\begin{verbatim} - (7) [0.0,0.5] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPageEmpty7} -\begin{paste}{ListPointsGraphicsPageEmpty7}{ListPointsGraphicsPagePatch7} -\pastebutton{ListPointsGraphicsPageEmpty7}{\showpaste} -\tab{5}\spadcommand{p7 := point [0::SF,0.5::SF]$(Point SF)\bound{p7 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPagePatch8} -\begin{paste}{ListPointsGraphicsPageFull8}{ListPointsGraphicsPageEmpty8} -\pastebutton{ListPointsGraphicsPageFull8}{\hidepaste} -\tab{5}\spadcommand{p8 := point [.5::SF,1::SF]$(Point SF)\bound{p8 }} -\indentrel{3}\begin{verbatim} - (8) [0.5,1.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPageEmpty8} -\begin{paste}{ListPointsGraphicsPageEmpty8}{ListPointsGraphicsPagePatch8} -\pastebutton{ListPointsGraphicsPageEmpty8}{\showpaste} -\tab{5}\spadcommand{p8 := point [.5::SF,1::SF]$(Point SF)\bound{p8 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPagePatch9} -\begin{paste}{ListPointsGraphicsPageFull9}{ListPointsGraphicsPageEmpty9} -\pastebutton{ListPointsGraphicsPageFull9}{\hidepaste} -\tab{5}\spadcommand{p9 := point [.25::SF,.25::SF]$(Point SF)\bound{p9 }} -\indentrel{3}\begin{verbatim} - (9) [0.25,0.25] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPageEmpty9} -\begin{paste}{ListPointsGraphicsPageEmpty9}{ListPointsGraphicsPagePatch9} -\pastebutton{ListPointsGraphicsPageEmpty9}{\showpaste} -\tab{5}\spadcommand{p9 := point [.25::SF,.25::SF]$(Point SF)\bound{p9 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPagePatch10} -\begin{paste}{ListPointsGraphicsPageFull10}{ListPointsGraphicsPageEmpty10} -\pastebutton{ListPointsGraphicsPageFull10}{\hidepaste} -\tab{5}\spadcommand{p10 := point [.25::SF,.75::SF]$(Point SF)\bound{p10 }} -\indentrel{3}\begin{verbatim} - (10) [0.25,0.75] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPageEmpty10} -\begin{paste}{ListPointsGraphicsPageEmpty10}{ListPointsGraphicsPagePatch10} -\pastebutton{ListPointsGraphicsPageEmpty10}{\showpaste} -\tab{5}\spadcommand{p10 := point [.25::SF,.75::SF]$(Point SF)\bound{p10 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPagePatch11} -\begin{paste}{ListPointsGraphicsPageFull11}{ListPointsGraphicsPageEmpty11} -\pastebutton{ListPointsGraphicsPageFull11}{\hidepaste} -\tab{5}\spadcommand{p11 := point [.75::SF,.75::SF]$(Point SF)\bound{p11 }} -\indentrel{3}\begin{verbatim} - (11) [0.75,0.75] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPageEmpty11} -\begin{paste}{ListPointsGraphicsPageEmpty11}{ListPointsGraphicsPagePatch11} -\pastebutton{ListPointsGraphicsPageEmpty11}{\showpaste} -\tab{5}\spadcommand{p11 := point [.75::SF,.75::SF]$(Point SF)\bound{p11 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPagePatch12} -\begin{paste}{ListPointsGraphicsPageFull12}{ListPointsGraphicsPageEmpty12} -\pastebutton{ListPointsGraphicsPageFull12}{\hidepaste} -\tab{5}\spadcommand{p12 := point [.75::SF,.25::SF]$(Point SF)\bound{p12 }} -\indentrel{3}\begin{verbatim} - (12) [0.75,0.25] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPageEmpty12} -\begin{paste}{ListPointsGraphicsPageEmpty12}{ListPointsGraphicsPagePatch12} -\pastebutton{ListPointsGraphicsPageEmpty12}{\showpaste} -\tab{5}\spadcommand{p12 := point [.75::SF,.25::SF]$(Point SF)\bound{p12 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPagePatch13} -\begin{paste}{ListPointsGraphicsPageFull13}{ListPointsGraphicsPageEmpty13} -\pastebutton{ListPointsGraphicsPageFull13}{\hidepaste} -\tab{5}\spadcommand{llp := [[p1,p2],[p2,p3],[p3,p4],[p4,p1],[p5,p6],[p6,p7],[p7,p8],[p8,p5],[p9,p10],[p10,p11],[p11,p12],[p12,p9]]\bound{llp }\free{p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 }} -\indentrel{3}\begin{verbatim} - (13) - [[[1.0,1.0],[0.0,1.0]], [[0.0,1.0],[0.0,0.0]], - [[0.0,0.0],[1.0,0.0]], [[1.0,0.0],[1.0,1.0]], - [[1.0,0.5],[0.5,0.0]], [[0.5,0.0],[0.0,0.5]], - [[0.0,0.5],[0.5,1.0]], [[0.5,1.0],[1.0,0.5]], - [[0.25,0.25],[0.25,0.75]], [[0.25,0.75],[0.75,0.75]], - [[0.75,0.75],[0.75,0.25]], [[0.75,0.25],[0.25,0.25]]] - Type: List List Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPageEmpty13} -\begin{paste}{ListPointsGraphicsPageEmpty13}{ListPointsGraphicsPagePatch13} -\pastebutton{ListPointsGraphicsPageEmpty13}{\showpaste} -\tab{5}\spadcommand{llp := [[p1,p2],[p2,p3],[p3,p4],[p4,p1],[p5,p6],[p6,p7],[p7,p8],[p8,p5],[p9,p10],[p10,p11],[p11,p12],[p12,p9]]\bound{llp }\free{p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPagePatch14} -\begin{paste}{ListPointsGraphicsPageFull14}{ListPointsGraphicsPageEmpty14} -\pastebutton{ListPointsGraphicsPageFull14}{\hidepaste} -\tab{5}\spadcommand{size1 := 6::PositiveInteger\bound{size1 }} -\indentrel{3}\begin{verbatim} - (14) 6 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPageEmpty14} -\begin{paste}{ListPointsGraphicsPageEmpty14}{ListPointsGraphicsPagePatch14} -\pastebutton{ListPointsGraphicsPageEmpty14}{\showpaste} -\tab{5}\spadcommand{size1 := 6::PositiveInteger\bound{size1 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPagePatch15} -\begin{paste}{ListPointsGraphicsPageFull15}{ListPointsGraphicsPageEmpty15} -\pastebutton{ListPointsGraphicsPageFull15}{\hidepaste} -\tab{5}\spadcommand{size2 := 8::PositiveInteger\bound{size2 }} -\indentrel{3}\begin{verbatim} - (15) 8 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPageEmpty15} -\begin{paste}{ListPointsGraphicsPageEmpty15}{ListPointsGraphicsPagePatch15} -\pastebutton{ListPointsGraphicsPageEmpty15}{\showpaste} -\tab{5}\spadcommand{size2 := 8::PositiveInteger\bound{size2 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPagePatch16} -\begin{paste}{ListPointsGraphicsPageFull16}{ListPointsGraphicsPageEmpty16} -\pastebutton{ListPointsGraphicsPageFull16}{\hidepaste} -\tab{5}\spadcommand{size3 := 10::PositiveInteger\bound{size3 }} -\indentrel{3}\begin{verbatim} - (16) 10 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPageEmpty16} -\begin{paste}{ListPointsGraphicsPageEmpty16}{ListPointsGraphicsPagePatch16} -\pastebutton{ListPointsGraphicsPageEmpty16}{\showpaste} -\tab{5}\spadcommand{size3 := 10::PositiveInteger\bound{size3 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPagePatch17} -\begin{paste}{ListPointsGraphicsPageFull17}{ListPointsGraphicsPageEmpty17} -\pastebutton{ListPointsGraphicsPageFull17}{\hidepaste} -\tab{5}\spadcommand{lsize := [size1, size1, size1, size1, size2, size2, size2, size2, size3, size3, size3, size3]\bound{lsize }\free{size1 size2 size3 }} -\indentrel{3}\begin{verbatim} - (17) [6,6,6,6,8,8,8,8,10,10,10,10] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPageEmpty17} -\begin{paste}{ListPointsGraphicsPageEmpty17}{ListPointsGraphicsPagePatch17} -\pastebutton{ListPointsGraphicsPageEmpty17}{\showpaste} -\tab{5}\spadcommand{lsize := [size1, size1, size1, size1, size2, size2, size2, size2, size3, size3, size3, size3]\bound{lsize }\free{size1 size2 size3 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPagePatch18} -\begin{paste}{ListPointsGraphicsPageFull18}{ListPointsGraphicsPageEmpty18} -\pastebutton{ListPointsGraphicsPageFull18}{\hidepaste} -\tab{5}\spadcommand{pc1 := pastel red()\bound{pc1 }} -\indentrel{3}\begin{verbatim} - (18) [Hue: 1 Weight: 1.0] from the Pastel palette - Type: Palette -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPageEmpty18} -\begin{paste}{ListPointsGraphicsPageEmpty18}{ListPointsGraphicsPagePatch18} -\pastebutton{ListPointsGraphicsPageEmpty18}{\showpaste} -\tab{5}\spadcommand{pc1 := pastel red()\bound{pc1 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPagePatch19} -\begin{paste}{ListPointsGraphicsPageFull19}{ListPointsGraphicsPageEmpty19} -\pastebutton{ListPointsGraphicsPageFull19}{\hidepaste} -\tab{5}\spadcommand{pc2 := dim green()\bound{pc2 }} -\indentrel{3}\begin{verbatim} - (19) [Hue: 14 Weight: 1.0] from the Dim palette - Type: Palette -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPageEmpty19} -\begin{paste}{ListPointsGraphicsPageEmpty19}{ListPointsGraphicsPagePatch19} -\pastebutton{ListPointsGraphicsPageEmpty19}{\showpaste} -\tab{5}\spadcommand{pc2 := dim green()\bound{pc2 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPagePatch20} -\begin{paste}{ListPointsGraphicsPageFull20}{ListPointsGraphicsPageEmpty20} -\pastebutton{ListPointsGraphicsPageFull20}{\hidepaste} -\tab{5}\spadcommand{pc3 := pastel yellow()\bound{pc3 }} -\indentrel{3}\begin{verbatim} - (20) [Hue: 11 Weight: 1.0] from the Pastel palette - Type: Palette -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPageEmpty20} -\begin{paste}{ListPointsGraphicsPageEmpty20}{ListPointsGraphicsPagePatch20} -\pastebutton{ListPointsGraphicsPageEmpty20}{\showpaste} -\tab{5}\spadcommand{pc3 := pastel yellow()\bound{pc3 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPagePatch21} -\begin{paste}{ListPointsGraphicsPageFull21}{ListPointsGraphicsPageEmpty21} -\pastebutton{ListPointsGraphicsPageFull21}{\hidepaste} -\tab{5}\spadcommand{lpc := [pc1, pc1, pc1, pc1, pc2, pc2, pc2, pc2, pc3, pc3, pc3, pc3]\bound{lpc }\free{pc1 pc2 pc3 }} -\indentrel{3}\begin{verbatim} - (21) - [[Hue: 1 Weight: 1.0] from the Pastel palette, - [Hue: 1 Weight: 1.0] from the Pastel palette, - [Hue: 1 Weight: 1.0] from the Pastel palette, - [Hue: 1 Weight: 1.0] from the Pastel palette, - [Hue: 14 Weight: 1.0] from the Dim palette, - [Hue: 14 Weight: 1.0] from the Dim palette, - [Hue: 14 Weight: 1.0] from the Dim palette, - [Hue: 14 Weight: 1.0] from the Dim palette, - [Hue: 11 Weight: 1.0] from the Pastel palette, - [Hue: 11 Weight: 1.0] from the Pastel palette, - [Hue: 11 Weight: 1.0] from the Pastel palette, - [Hue: 11 Weight: 1.0] from the Pastel palette] - Type: List Palette -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPageEmpty21} -\begin{paste}{ListPointsGraphicsPageEmpty21}{ListPointsGraphicsPagePatch21} -\pastebutton{ListPointsGraphicsPageEmpty21}{\showpaste} -\tab{5}\spadcommand{lpc := [pc1, pc1, pc1, pc1, pc2, pc2, pc2, pc2, pc3, pc3, pc3, pc3]\bound{lpc }\free{pc1 pc2 pc3 }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPagePatch22} -\begin{paste}{ListPointsGraphicsPageFull22}{ListPointsGraphicsPageEmpty22} -\pastebutton{ListPointsGraphicsPageFull22}{\hidepaste} -\tab{5}\spadcommand{lc := [pastel blue(), light yellow(), dim green(), bright red(), light green(), dim yellow(), bright blue(), dark red(), pastel red(), light blue(), dim green(), light yellow()]\bound{lc }} -\indentrel{3}\begin{verbatim} - (22) - [[Hue: 22 Weight: 1.0] from the Pastel palette, - [Hue: 11 Weight: 1.0] from the Light palette, - [Hue: 14 Weight: 1.0] from the Dim palette, - [Hue: 1 Weight: 1.0] from the Bright palette, - [Hue: 14 Weight: 1.0] from the Light palette, - [Hue: 11 Weight: 1.0] from the Dim palette, - [Hue: 22 Weight: 1.0] from the Bright palette, - [Hue: 1 Weight: 1.0] from the Dark palette, - [Hue: 1 Weight: 1.0] from the Pastel palette, - [Hue: 22 Weight: 1.0] from the Light palette, - [Hue: 14 Weight: 1.0] from the Dim palette, - [Hue: 11 Weight: 1.0] from the Light palette] - Type: List Palette -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPageEmpty22} -\begin{paste}{ListPointsGraphicsPageEmpty22}{ListPointsGraphicsPagePatch22} -\pastebutton{ListPointsGraphicsPageEmpty22}{\showpaste} -\tab{5}\spadcommand{lc := [pastel blue(), light yellow(), dim green(), bright red(), light green(), dim yellow(), bright blue(), dark red(), pastel red(), light blue(), dim green(), light yellow()]\bound{lc }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPagePatch23} -\begin{paste}{ListPointsGraphicsPageFull23}{ListPointsGraphicsPageEmpty23} -\pastebutton{ListPointsGraphicsPageFull23}{\hidepaste} -\tab{5}\spadcommand{g := makeGraphImage(llp,lpc,lc,lsize)$GRIMAGE\bound{g }\free{llp lpc lc lsize }} -\indentrel{3}\begin{verbatim} - (23) Graph with 12 point lists - Type: GraphImage -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPageEmpty23} -\begin{paste}{ListPointsGraphicsPageEmpty23}{ListPointsGraphicsPagePatch23} -\pastebutton{ListPointsGraphicsPageEmpty23}{\showpaste} -\tab{5}\spadcommand{g := makeGraphImage(llp,lpc,lc,lsize)$GRIMAGE\bound{g }\free{llp lpc lc lsize }} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPagePatch24} -\begin{paste}{ListPointsGraphicsPageFull24}{ListPointsGraphicsPageEmpty24} -\pastebutton{ListPointsGraphicsPageFull24}{\hidepaste} -\tab{5}\spadgraph{makeViewport2D(g,[title("Lines")])$VIEW2D\free{g }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/listpointsgraphicspage24.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/listpointsgraphicspage24}} -\end{paste}\end{patch} - -\begin{patch}{ListPointsGraphicsPageEmpty24} -\begin{paste}{ListPointsGraphicsPageEmpty24}{ListPointsGraphicsPagePatch24} -\pastebutton{ListPointsGraphicsPageEmpty24}{\showpaste} -\tab{5}\spadgraph{makeViewport2D(g,[title("Lines")])$VIEW2D\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ViewportPagePatch1} -\begin{paste}{ViewportPageFull1}{ViewportPageEmpty1} -\pastebutton{ViewportPageFull1}{\hidepaste} -\tab{5}\spadgraph{v := draw(x*x-y*y,x=-1..1,y=-1..1)\bound{v }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/viewportpage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/viewportpage1}} -\end{paste}\end{patch} - -\begin{patch}{ViewportPageEmpty1} -\begin{paste}{ViewportPageEmpty1}{ViewportPagePatch1} -\pastebutton{ViewportPageEmpty1}{\showpaste} -\tab{5}\spadgraph{v := draw(x*x-y*y,x=-1..1,y=-1..1)\bound{v }} -\end{paste}\end{patch} - -\begin{patch}{ViewportPagePatch2} -\begin{paste}{ViewportPageFull2}{ViewportPageEmpty2} -\pastebutton{ViewportPageFull2}{\hidepaste} -\tab{5}\spadcommand{write(v,"saddle","pixmap")\free{v }} -\indentrel{3}\begin{verbatim} - (2) "NIL" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ViewportPageEmpty2} -\begin{paste}{ViewportPageEmpty2}{ViewportPagePatch2} -\pastebutton{ViewportPageEmpty2}{\showpaste} -\tab{5}\spadcommand{write(v,"saddle","pixmap")\free{v }} -\end{paste}\end{patch} - diff --git a/books/pages/grpthry.pht b/books/pages/grpthry.pht deleted file mode 100644 index b04349e..0000000 --- a/books/pages/grpthry.pht +++ /dev/null @@ -1,866 +0,0 @@ -\begin{patch}{RepA6PagePatch1} -\begin{paste}{RepA6PageFull1}{RepA6PageEmpty1} -\pastebutton{RepA6PageFull1}{\hidepaste} -\tab{5}\spadcommand{genA6 : LIST PERM INT := [cycle [1,2,3],cycle [2,3,4,5,6]]\bound{genA6 }} -\indentrel{3}\begin{verbatim} - (1) [(1 2 3),(2 3 4 5 6)] - Type: List Permutation Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RepA6PageEmpty1} -\begin{paste}{RepA6PageEmpty1}{RepA6PagePatch1} -\pastebutton{RepA6PageEmpty1}{\showpaste} -\tab{5}\spadcommand{genA6 : LIST PERM INT := [cycle [1,2,3],cycle [2,3,4,5,6]]\bound{genA6 }} -\end{paste}\end{patch} - -\begin{patch}{RepA6PagePatch2} -\begin{paste}{RepA6PageFull2}{RepA6PageEmpty2} -\pastebutton{RepA6PageFull2}{\hidepaste} -\tab{5}\spadcommand{pRA6 := permutationRepresentation (genA6, 6)\bound{pRA6 }\free{genA6 }} -\indentrel{3}\begin{verbatim} - Ú0 0 1 0 0 0¿ Ú1 0 0 0 0 0¿ - ³ ³ ³ ³ - ³1 0 0 0 0 0³ ³0 0 0 0 0 1³ - ³ ³ ³ ³ - ³0 1 0 0 0 0³ ³0 1 0 0 0 0³ - (2) [³ ³,³ ³] - ³0 0 0 1 0 0³ ³0 0 1 0 0 0³ - ³ ³ ³ ³ - ³0 0 0 0 1 0³ ³0 0 0 1 0 0³ - ³ ³ ³ ³ - À0 0 0 0 0 1Ù À0 0 0 0 1 0Ù - Type: List Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RepA6PageEmpty2} -\begin{paste}{RepA6PageEmpty2}{RepA6PagePatch2} -\pastebutton{RepA6PageEmpty2}{\showpaste} -\tab{5}\spadcommand{pRA6 := permutationRepresentation (genA6, 6)\bound{pRA6 }\free{genA6 }} -\end{paste}\end{patch} - -\begin{patch}{RepA6PagePatch3} -\begin{paste}{RepA6PageFull3}{RepA6PageEmpty3} -\pastebutton{RepA6PageFull3}{\hidepaste} -\tab{5}\spadcommand{sp0 := meatAxe (pRA6::(LIST MATRIX PF 2))\free{pRA6 }\bound{sp0 }} -\indentrel{3}\begin{verbatim} - Fingerprint element in generated algebra is singular - A proper cyclic submodule is found. - Transition matrix computed - The inverse of the transition matrix computed - Now transform the matrices - Ú0 0 1 0 0¿ Ú1 0 0 0 0¿ - ³ ³ ³ ³ - ³1 0 0 0 0³ ³1 1 1 1 1³ - ³ ³ ³ ³ - (3) [[³0 1 0 0 0³,³0 1 0 0 0³],[[1],[1]]] - ³ ³ ³ ³ - ³0 0 0 1 0³ ³0 0 1 0 0³ - ³ ³ ³ ³ - À0 0 0 0 1Ù À0 0 0 1 0Ù - Type: List List Matrix PrimeField 2 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RepA6PageEmpty3} -\begin{paste}{RepA6PageEmpty3}{RepA6PagePatch3} -\pastebutton{RepA6PageEmpty3}{\showpaste} -\tab{5}\spadcommand{sp0 := meatAxe (pRA6::(LIST MATRIX PF 2))\free{pRA6 }\bound{sp0 }} -\end{paste}\end{patch} - -\begin{patch}{RepA6PagePatch4} -\begin{paste}{RepA6PageFull4}{RepA6PageEmpty4} -\pastebutton{RepA6PageFull4}{\hidepaste} -\tab{5}\spadcommand{sp1 := meatAxe sp0.1\bound{sp1 }} -\indentrel{3}\begin{verbatim} - Fingerprint element in generated algebra is singular - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - We know that all the cyclic submodules generated by a - ll - non-trivial element of the singular matrix under vi - ew are - not proper, hence Norton's irreducibility test can - be done: - A proper cyclic submodule is found. - Transition matrix computed - The inverse of the transition matrix computed - Now transform the matrices - Representation is not irreducible and it will be spli - t: - Ú0 1 0 0¿ Ú0 1 1 1¿ - ³ ³ ³ ³ - ³0 0 1 0³ ³1 1 0 1³ - (4) [[[1],[1]],[³ ³,³ ³]] - ³1 0 0 0³ ³1 1 1 0³ - ³ ³ ³ ³ - À0 0 0 1Ù À1 1 1 1Ù - Type: List List Matrix PrimeField 2 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RepA6PageEmpty4} -\begin{paste}{RepA6PageEmpty4}{RepA6PagePatch4} -\pastebutton{RepA6PageEmpty4}{\showpaste} -\tab{5}\spadcommand{sp1 := meatAxe sp0.1\bound{sp1 }} -\end{paste}\end{patch} - -\begin{patch}{RepA6PagePatch5} -\begin{paste}{RepA6PageFull5}{RepA6PageEmpty5} -\pastebutton{RepA6PageFull5}{\hidepaste} -\tab{5}\spadcommand{isAbsolutelyIrreducible? sp1.2} -\indentrel{3}\begin{verbatim} - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra has - one-dimensional kernel - We know that all the cyclic submodules generated by a - ll - non-trivial element of the singular matrix under vi - ew are - not proper, hence Norton's irreducibility test can - be done: - The generated cyclic submodule was not proper - Representation is absolutely irreducible - (5) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RepA6PageEmpty5} -\begin{paste}{RepA6PageEmpty5}{RepA6PagePatch5} -\pastebutton{RepA6PageEmpty5}{\showpaste} -\tab{5}\spadcommand{isAbsolutelyIrreducible? sp1.2} -\end{paste}\end{patch} - -\begin{patch}{RepA6PagePatch6} -\begin{paste}{RepA6PageFull6}{RepA6PageEmpty6} -\pastebutton{RepA6PageFull6}{\hidepaste} -\tab{5}\spadcommand{d2211 := irreducibleRepresentation ([2,2,1,1],genA6)\bound{d2211 }} -\indentrel{3}\begin{verbatim} - (6) - Ú1 0 0 - 1 1 0 0 0 0 ¿ - ³ ³ - ³0 1 0 1 0 1 0 0 0 ³ - ³ ³ - ³0 0 1 0 1 - 1 0 0 0 ³ - ³ ³ - ³0 0 0 - 1 0 0 - 1 0 0 ³ - ³ ³ - [³0 0 0 0 - 1 0 0 - 1 0 ³, - ³ ³ - ³0 0 0 0 0 - 1 0 0 - 1³ - ³ ³ - ³0 0 0 1 0 0 0 0 0 ³ - ³ ³ - ³0 0 0 0 1 0 0 0 0 ³ - ³ ³ - À0 0 0 0 0 1 0 0 0 Ù - Ú 0 0 1 0 0 0 1 0 0¿ - ³ ³ - ³ 0 0 0 0 1 0 - 1 0 0³ - ³ ³ - ³ 0 0 0 0 0 1 1 0 0³ - ³ ³ - ³ 0 0 0 0 0 0 1 1 0³ - ³ ³ - ³ 0 0 0 0 0 0 - 1 0 1³] - ³ ³ - ³ 0 0 0 0 0 0 1 0 0³ - ³ ³ - ³- 1 0 0 0 0 0 - 1 0 0³ - ³ ³ - ³ 0 - 1 0 0 0 0 1 0 0³ - ³ ³ - À 0 0 0 - 1 0 0 - 1 0 0Ù - Type: List Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RepA6PageEmpty6} -\begin{paste}{RepA6PageEmpty6}{RepA6PagePatch6} -\pastebutton{RepA6PageEmpty6}{\showpaste} -\tab{5}\spadcommand{d2211 := irreducibleRepresentation ([2,2,1,1],genA6)\bound{d2211 }} -\end{paste}\end{patch} - -\begin{patch}{RepA6PagePatch7} -\begin{paste}{RepA6PageFull7}{RepA6PageEmpty7} -\pastebutton{RepA6PageFull7}{\hidepaste} -\tab{5}\spadcommand{d2211m2 := d2211:: (LIST MATRIX PF 2); sp2 := meatAxe d2211m2\free{d2211 }\bound{sp2 }} -\indentrel{3}\begin{verbatim} - Fingerprint element in generated algebra is singular - A proper cyclic submodule is found. - Transition matrix computed - The inverse of the transition matrix computed - Now transform the matrices - (7) - Ú1 0 1 1¿ Ú0 0 1 0¿ - ³ ³ ³ ³ - ³0 1 0 1³ ³1 1 1 1³ - [[³ ³,³ ³], - ³1 1 0 0³ ³1 0 1 1³ - ³ ³ ³ ³ - À0 1 0 0Ù À0 1 0 1Ù - Ú1 0 0 0 0¿ Ú1 1 1 0 0¿ - ³ ³ ³ ³ - ³0 1 1 1 1³ ³0 0 1 1 1³ - ³ ³ ³ ³ - [³0 1 1 0 0³,³1 0 0 1 0³]] - ³ ³ ³ ³ - ³0 1 0 1 0³ ³0 0 1 0 1³ - ³ ³ ³ ³ - À0 1 1 1 0Ù À1 0 0 1 1Ù - Type: List List Matrix PrimeField 2 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RepA6PageEmpty7} -\begin{paste}{RepA6PageEmpty7}{RepA6PagePatch7} -\pastebutton{RepA6PageEmpty7}{\showpaste} -\tab{5}\spadcommand{d2211m2 := d2211:: (LIST MATRIX PF 2); sp2 := meatAxe d2211m2\free{d2211 }\bound{sp2 }} -\end{paste}\end{patch} - -\begin{patch}{RepA6PagePatch8} -\begin{paste}{RepA6PageFull8}{RepA6PageEmpty8} -\pastebutton{RepA6PageFull8}{\hidepaste} -\tab{5}\spadcommand{isAbsolutelyIrreducible? sp2.1} -\indentrel{3}\begin{verbatim} - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra has - one-dimensional kernel - We know that all the cyclic submodules generated by a - ll - non-trivial element of the singular matrix under vi - ew are - not proper, hence Norton's irreducibility test can - be done: - The generated cyclic submodule was not proper - Representation is absolutely irreducible - (8) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RepA6PageEmpty8} -\begin{paste}{RepA6PageEmpty8}{RepA6PagePatch8} -\pastebutton{RepA6PageEmpty8}{\showpaste} -\tab{5}\spadcommand{isAbsolutelyIrreducible? sp2.1} -\end{paste}\end{patch} - -\begin{patch}{RepA6PagePatch9} -\begin{paste}{RepA6PageFull9}{RepA6PageEmpty9} -\pastebutton{RepA6PageFull9}{\hidepaste} -\tab{5}\spadcommand{areEquivalent? (sp1.2, sp2.1)} -\indentrel{3}\begin{verbatim} - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra has - one-dimensional kernel - There is no isomorphism, as the only possible one - fails to do the necessary base change - - Representations are not equivalent. - (9) [0] - Type: Matrix PrimeField 2 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RepA6PageEmpty9} -\begin{paste}{RepA6PageEmpty9}{RepA6PagePatch9} -\pastebutton{RepA6PageEmpty9}{\showpaste} -\tab{5}\spadcommand{areEquivalent? (sp1.2, sp2.1)} -\end{paste}\end{patch} - -\begin{patch}{RepA6PagePatch10} -\begin{paste}{RepA6PageFull10}{RepA6PageEmpty10} -\pastebutton{RepA6PageFull10}{\hidepaste} -\tab{5}\spadcommand{dA6d16 := tensorProduct(sp1.2,sp2.1); meatAxe dA6d16\bound{dA6d16 }} -\indentrel{3}\begin{verbatim} - Fingerprint element in generated algebra is non-singula - r - Fingerprint element in generated algebra is singular - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - Fingerprint element in generated algebra is non-singula - r - Fingerprint element in generated algebra is singular - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - Fingerprint element in generated algebra is singular - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - We know that all the cyclic submodules generated by a - ll - non-trivial element of the singular matrix under vi - ew are - not proper, hence Norton's irreducibility test can - be done: - The generated cyclic submodule was not proper - Representation is irreducible, but we don't know - whether it is absolutely irreducible - (10) - [ - Ú0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0¿ - ³ ³ - ³0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0³ - ³ ³ - ³0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0³ - ³ ³ - ³0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0³ - ³ ³ - ³1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0³ - ³ ³ - ³0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0³ - ³ ³ - ³1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0³ - ³ ³ - ³1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0³ - [³ ³, - ³0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0³ - ³ ³ - ³0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0³ - ³ ³ - ³0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0³ - ³ ³ - ³0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0³ - ³ ³ - ³0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0³ - ³ ³ - ³0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1³ - ³ ³ - ³0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0³ - ³ ³ - À0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0Ù - Ú0 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0¿ - ³ ³ - ³0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1³ - ³ ³ - ³0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 0³ - ³ ³ - ³0 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1³ - ³ ³ - ³0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0³ - ³ ³ - ³0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1³ - ³ ³ - ³1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0³ - ³ ³ - ³0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1³ - ³ ³] - ³0 1 1 0 0 0 0 0 0 1 1 0 0 1 1 0³ - ³ ³ - ³0 1 0 1 0 0 0 0 0 1 0 1 0 1 0 1³ - ³ ³ - ³1 1 1 0 0 0 0 0 1 1 1 0 1 1 1 0³ - ³ ³ - ³0 1 1 1 0 0 0 0 0 1 1 1 0 1 1 1³ - ³ ³ - ³0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 0³ - ³ ³ - ³0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 1³ - ³ ³ - ³1 1 1 0 1 1 1 0 0 0 0 0 1 1 1 0³ - ³ ³ - À0 1 1 1 0 1 1 1 0 0 0 0 0 1 1 1Ù - ] - Type: List List Matrix PrimeField 2 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RepA6PageEmpty10} -\begin{paste}{RepA6PageEmpty10}{RepA6PagePatch10} -\pastebutton{RepA6PageEmpty10}{\showpaste} -\tab{5}\spadcommand{dA6d16 := tensorProduct(sp1.2,sp2.1); meatAxe dA6d16\bound{dA6d16 }} -\end{paste}\end{patch} - -\begin{patch}{RepA6PagePatch11} -\begin{paste}{RepA6PageFull11}{RepA6PageEmpty11} -\pastebutton{RepA6PageFull11}{\hidepaste} -\tab{5}\spadcommand{isAbsolutelyIrreducible? dA6d16} -\indentrel{3}\begin{verbatim} - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - We have not found a one-dimensional kernel so far, - as we do a random search you could try again - (11) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RepA6PageEmpty11} -\begin{paste}{RepA6PageEmpty11}{RepA6PagePatch11} -\pastebutton{RepA6PageEmpty11}{\showpaste} -\tab{5}\spadcommand{isAbsolutelyIrreducible? dA6d16} -\end{paste}\end{patch} - -\begin{patch}{RepA6PagePatch12} -\begin{paste}{RepA6PageFull12}{RepA6PageEmpty12} -\pastebutton{RepA6PageFull12}{\hidepaste} -\tab{5}\spadcommand{sp3 := meatAxe (dA6d16 :: (LIST MATRIX FF(2,2)))\bound{sp3 }} -\indentrel{3}\begin{verbatim} - Fingerprint element in generated algebra is non-singula - r - Fingerprint element in generated algebra is singular - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - Fingerprint element in generated algebra is non-singula - r - Fingerprint element in generated algebra is singular - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - Fingerprint element in generated algebra is singular - The generated cyclic submodule was not proper - The generated cyclic submodule was not proper - A proper cyclic submodule is found. - Transition matrix computed - The inverse of the transition matrix computed - Now transform the matrices - (12) - [ - [ - [[%A,%A + 1,0,%A,1,%A + 1,0,0], - [0,0,%A,%A + 1,%A,%A,0,0], - [%A,%A + 1,%A,1,%A + 1,0,0,0], - [%A,%A + 1,%A,1,%A,0,0,0], - [%A + 1,1,1,1,0,0,%A + 1,%A], - [0,0,%A + 1,1,0,0,%A,0], [1,0,1,1,0,0,0,0], - [1,1,0,0,0,0,0,0]] - , - - [[1,0,%A,0,1,1,%A,%A + 1], - [1,%A + 1,0,0,0,%A + 1,1,%A + 1], - [%A,1,%A + 1,%A + 1,%A + 1,1,%A,0], - [%A + 1,%A + 1,0,0,1,%A + 1,1,1], - [1,0,%A + 1,0,1,1,%A,%A], - [0,0,%A + 1,%A + 1,%A + 1,1,1,%A], [0,0,1,0,0,1,0,1], - [0,%A,0,%A,1,%A + 1,%A + 1,%A]] - ] - , - - Ú0 1 1 %A + 1 0 0 0 0¿ - ³ ³ - ³1 1 %A + 1 0 0 0 0 0³ - ³ ³ - ³%A 0 0 0 0 0 0 0³ - ³ ³ - ³1 %A 0 0 0 0 0 0³ - [³ ³, - ³%A %A + 1 1 1 1 0 1 1³ - ³ ³ - ³0 0 %A 1 0 1 0 1³ - ³ ³ - ³%A 1 0 1 1 1 0 0³ - ³ ³ - À1 %A %A + 1 %A 0 1 0 0Ù - - [[%A + 1,1,%A,0,0,%A + 1,0,1], - [0,%A,1,1,1,0,%A + 1,%A], - [0,%A + 1,0,%A + 1,%A + 1,1,%A + 1,%A], - [1,%A + 1,1,%A + 1,0,0,%A + 1,1], - [0,%A,0,%A + 1,%A + 1,0,0,%A + 1], - [%A + 1,0,%A + 1,%A,0,%A + 1,0,%A + 1], - [0,1,0,1,%A + 1,0,%A + 1,%A + 1], - [%A,%A,%A,1,%A,%A,1,%A + 1]] - ] - ] - Type: List List Matrix FiniteField(2,2) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RepA6PageEmpty12} -\begin{paste}{RepA6PageEmpty12}{RepA6PagePatch12} -\pastebutton{RepA6PageEmpty12}{\showpaste} -\tab{5}\spadcommand{sp3 := meatAxe (dA6d16 :: (LIST MATRIX FF(2,2)))\bound{sp3 }} -\end{paste}\end{patch} - -\begin{patch}{RepA6PagePatch13} -\begin{paste}{RepA6PageFull13}{RepA6PageEmpty13} -\pastebutton{RepA6PageFull13}{\hidepaste} -\tab{5}\spadcommand{isAbsolutelyIrreducible? sp3.1} -\indentrel{3}\begin{verbatim} - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra has - one-dimensional kernel - We know that all the cyclic submodules generated by a - ll - non-trivial element of the singular matrix under vi - ew are - not proper, hence Norton's irreducibility test can - be done: - The generated cyclic submodule was not proper - Representation is absolutely irreducible - (13) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RepA6PageEmpty13} -\begin{paste}{RepA6PageEmpty13}{RepA6PagePatch13} -\pastebutton{RepA6PageEmpty13}{\showpaste} -\tab{5}\spadcommand{isAbsolutelyIrreducible? sp3.1} -\end{paste}\end{patch} - -\begin{patch}{RepA6PagePatch14} -\begin{paste}{RepA6PageFull14}{RepA6PageEmpty14} -\pastebutton{RepA6PageFull14}{\hidepaste} -\tab{5}\spadcommand{isAbsolutelyIrreducible? sp3.2} -\indentrel{3}\begin{verbatim} - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra has - one-dimensional kernel - We know that all the cyclic submodules generated by a - ll - non-trivial element of the singular matrix under vi - ew are - not proper, hence Norton's irreducibility test can - be done: - The generated cyclic submodule was not proper - Representation is absolutely irreducible - (14) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RepA6PageEmpty14} -\begin{paste}{RepA6PageEmpty14}{RepA6PagePatch14} -\pastebutton{RepA6PageEmpty14}{\showpaste} -\tab{5}\spadcommand{isAbsolutelyIrreducible? sp3.2} -\end{paste}\end{patch} - -\begin{patch}{RepA6PagePatch15} -\begin{paste}{RepA6PageFull15}{RepA6PageEmpty15} -\pastebutton{RepA6PageFull15}{\hidepaste} -\tab{5}\spadcommand{areEquivalent? (sp3.1,sp3.2)} -\indentrel{3}\begin{verbatim} - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra does - not have a one-dimensional kernel - Random element in generated algebra has - one-dimensional kernel - There is no isomorphism, as the only possible one - fails to do the necessary base change - - Representations are not equivalent. - (15) [0] - Type: Matrix FiniteField(2,2) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RepA6PageEmpty15} -\begin{paste}{RepA6PageEmpty15}{RepA6PagePatch15} -\pastebutton{RepA6PageEmpty15}{\showpaste} -\tab{5}\spadcommand{areEquivalent? (sp3.1,sp3.2)} -\end{paste}\end{patch} - -\begin{patch}{RepA6PagePatch16} -\begin{paste}{RepA6PageFull16}{RepA6PageEmpty16} -\pastebutton{RepA6PageFull16}{\hidepaste} -\tab{5}\spadcommand{sp0.2\free{sp0 }} -\indentrel{3}\begin{verbatim} - (16) [[1],[1]] - Type: List Matrix PrimeField 2 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RepA6PageEmpty16} -\begin{paste}{RepA6PageEmpty16}{RepA6PagePatch16} -\pastebutton{RepA6PageEmpty16}{\showpaste} -\tab{5}\spadcommand{sp0.2\free{sp0 }} -\end{paste}\end{patch} - -\begin{patch}{RepA6PagePatch17} -\begin{paste}{RepA6PageFull17}{RepA6PageEmpty17} -\pastebutton{RepA6PageFull17}{\hidepaste} -\tab{5}\spadcommand{sp1.2\free{sp1 }} -\indentrel{3}\begin{verbatim} - Ú0 1 0 0¿ Ú0 1 1 1¿ - ³ ³ ³ ³ - ³0 0 1 0³ ³1 1 0 1³ - (17) [³ ³,³ ³] - ³1 0 0 0³ ³1 1 1 0³ - ³ ³ ³ ³ - À0 0 0 1Ù À1 1 1 1Ù - Type: List Matrix PrimeField 2 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RepA6PageEmpty17} -\begin{paste}{RepA6PageEmpty17}{RepA6PagePatch17} -\pastebutton{RepA6PageEmpty17}{\showpaste} -\tab{5}\spadcommand{sp1.2\free{sp1 }} -\end{paste}\end{patch} - -\begin{patch}{RepA6PagePatch18} -\begin{paste}{RepA6PageFull18}{RepA6PageEmpty18} -\pastebutton{RepA6PageFull18}{\hidepaste} -\tab{5}\spadcommand{sp2.1\free{sp2 }} -\indentrel{3}\begin{verbatim} - Ú1 0 1 1¿ Ú0 0 1 0¿ - ³ ³ ³ ³ - ³0 1 0 1³ ³1 1 1 1³ - (18) [³ ³,³ ³] - ³1 1 0 0³ ³1 0 1 1³ - ³ ³ ³ ³ - À0 1 0 0Ù À0 1 0 1Ù - Type: List Matrix PrimeField 2 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RepA6PageEmpty18} -\begin{paste}{RepA6PageEmpty18}{RepA6PagePatch18} -\pastebutton{RepA6PageEmpty18}{\showpaste} -\tab{5}\spadcommand{sp2.1\free{sp2 }} -\end{paste}\end{patch} - -\begin{patch}{RepA6PagePatch19} -\begin{paste}{RepA6PageFull19}{RepA6PageEmpty19} -\pastebutton{RepA6PageFull19}{\hidepaste} -\tab{5}\spadcommand{sp3.1\free{sp3 }} -\indentrel{3}\begin{verbatim} - (19) - [ - [[%A,%A + 1,0,%A,1,%A + 1,0,0], - [0,0,%A,%A + 1,%A,%A,0,0], - [%A,%A + 1,%A,1,%A + 1,0,0,0], - [%A,%A + 1,%A,1,%A,0,0,0], - [%A + 1,1,1,1,0,0,%A + 1,%A], - [0,0,%A + 1,1,0,0,%A,0], [1,0,1,1,0,0,0,0], - [1,1,0,0,0,0,0,0]] - , - - [[1,0,%A,0,1,1,%A,%A + 1], - [1,%A + 1,0,0,0,%A + 1,1,%A + 1], - [%A,1,%A + 1,%A + 1,%A + 1,1,%A,0], - [%A + 1,%A + 1,0,0,1,%A + 1,1,1], - [1,0,%A + 1,0,1,1,%A,%A], - [0,0,%A + 1,%A + 1,%A + 1,1,1,%A], [0,0,1,0,0,1,0,1], - [0,%A,0,%A,1,%A + 1,%A + 1,%A]] - ] - Type: List Matrix FiniteField(2,2) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RepA6PageEmpty19} -\begin{paste}{RepA6PageEmpty19}{RepA6PagePatch19} -\pastebutton{RepA6PageEmpty19}{\showpaste} -\tab{5}\spadcommand{sp3.1\free{sp3 }} -\end{paste}\end{patch} - -\begin{patch}{RepA6PagePatch20} -\begin{paste}{RepA6PageFull20}{RepA6PageEmpty20} -\pastebutton{RepA6PageFull20}{\hidepaste} -\tab{5}\spadcommand{sp3.2\free{sp3 }} -\indentrel{3}\begin{verbatim} - (20) - Ú0 1 1 %A + 1 0 0 0 0¿ - ³ ³ - ³1 1 %A + 1 0 0 0 0 0³ - ³ ³ - ³%A 0 0 0 0 0 0 0³ - ³ ³ - ³1 %A 0 0 0 0 0 0³ - [³ ³, - ³%A %A + 1 1 1 1 0 1 1³ - ³ ³ - ³0 0 %A 1 0 1 0 1³ - ³ ³ - ³%A 1 0 1 1 1 0 0³ - ³ ³ - À1 %A %A + 1 %A 0 1 0 0Ù - - [[%A + 1,1,%A,0,0,%A + 1,0,1], - [0,%A,1,1,1,0,%A + 1,%A], - [0,%A + 1,0,%A + 1,%A + 1,1,%A + 1,%A], - [1,%A + 1,1,%A + 1,0,0,%A + 1,1], - [0,%A,0,%A + 1,%A + 1,0,0,%A + 1], - [%A + 1,0,%A + 1,%A,0,%A + 1,0,%A + 1], - [0,1,0,1,%A + 1,0,%A + 1,%A + 1], - [%A,%A,%A,1,%A,%A,1,%A + 1]] - ] - Type: List Matrix FiniteField(2,2) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RepA6PageEmpty20} -\begin{paste}{RepA6PageEmpty20}{RepA6PagePatch20} -\pastebutton{RepA6PageEmpty20}{\showpaste} -\tab{5}\spadcommand{sp3.2\free{sp3 }} -\end{paste}\end{patch} - -\begin{patch}{RepA6PagePatch21} -\begin{paste}{RepA6PageFull21}{RepA6PageEmpty21} -\pastebutton{RepA6PageFull21}{\hidepaste} -\tab{5}\spadcommand{dA6d16\free{dA6d16 }} -\indentrel{3}\begin{verbatim} - (21) - Ú0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0¿ - ³ ³ - ³0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0³ - ³ ³ - ³0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0³ - ³ ³ - ³0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0³ - ³ ³ - ³0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0³ - ³ ³ - ³0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0³ - ³ ³ - ³0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0³ - ³ ³ - ³0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0³ - [³ ³, - ³1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0³ - ³ ³ - ³0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0³ - ³ ³ - ³1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0³ - ³ ³ - ³0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0³ - ³ ³ - ³0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1³ - ³ ³ - ³0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1³ - ³ ³ - ³0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0³ - ³ ³ - À0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0Ù - Ú0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0¿ - ³ ³ - ³0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1³ - ³ ³ - ³0 0 0 0 1 0 1 1 1 0 1 1 1 0 1 1³ - ³ ³ - ³0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1³ - ³ ³ - ³0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0³ - ³ ³ - ³1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1³ - ³ ³ - ³1 0 1 1 1 0 1 1 0 0 0 0 1 0 1 1³ - ³ ³ - ³0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 1³ - ³ ³] - ³0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0³ - ³ ³ - ³1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0³ - ³ ³ - ³1 0 1 1 1 0 1 1 1 0 1 1 0 0 0 0³ - ³ ³ - ³0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0³ - ³ ³ - ³0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0³ - ³ ³ - ³1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1³ - ³ ³ - ³1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1³ - ³ ³ - À0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1Ù - Type: List Matrix PrimeField 2 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RepA6PageEmpty21} -\begin{paste}{RepA6PageEmpty21}{RepA6PagePatch21} -\pastebutton{RepA6PageEmpty21}{\showpaste} -\tab{5}\spadcommand{dA6d16\free{dA6d16 }} -\end{paste}\end{patch} - diff --git a/books/pages/gstbl.pht b/books/pages/gstbl.pht deleted file mode 100644 index ff0b5cb..0000000 --- a/books/pages/gstbl.pht +++ /dev/null @@ -1,109 +0,0 @@ -\begin{patch}{GeneralSparseTableXmpPagePatch1} -\begin{paste}{GeneralSparseTableXmpPageFull1}{GeneralSparseTableXmpPageEmpty1} -\pastebutton{GeneralSparseTableXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{patrons: GeneralSparseTable(String, Integer, KeyedAccessFile(Integer), 0) := table() ;\bound{patrons }} -\indentrel{3}\begin{verbatim} -Type: GeneralSparseTable(String,Integer,KeyedAccessFile Integer,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{GeneralSparseTableXmpPageEmpty1} -\begin{paste}{GeneralSparseTableXmpPageEmpty1}{GeneralSparseTableXmpPagePatch1} -\pastebutton{GeneralSparseTableXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{patrons: GeneralSparseTable(String, Integer, KeyedAccessFile(Integer), 0) := table() ;\bound{patrons }} -\end{paste}\end{patch} - -\begin{patch}{GeneralSparseTableXmpPagePatch2} -\begin{paste}{GeneralSparseTableXmpPageFull2}{GeneralSparseTableXmpPageEmpty2} -\pastebutton{GeneralSparseTableXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{patrons."Smith" := 10500\free{patrons }\bound{smith }} -\indentrel{3}\begin{verbatim} - (2) 10500 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{GeneralSparseTableXmpPageEmpty2} -\begin{paste}{GeneralSparseTableXmpPageEmpty2}{GeneralSparseTableXmpPagePatch2} -\pastebutton{GeneralSparseTableXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{patrons."Smith" := 10500\free{patrons }\bound{smith }} -\end{paste}\end{patch} - -\begin{patch}{GeneralSparseTableXmpPagePatch3} -\begin{paste}{GeneralSparseTableXmpPageFull3}{GeneralSparseTableXmpPageEmpty3} -\pastebutton{GeneralSparseTableXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{patrons."Jones" := 22000\free{smith }\bound{jones }} -\indentrel{3}\begin{verbatim} - (3) 22000 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{GeneralSparseTableXmpPageEmpty3} -\begin{paste}{GeneralSparseTableXmpPageEmpty3}{GeneralSparseTableXmpPagePatch3} -\pastebutton{GeneralSparseTableXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{patrons."Jones" := 22000\free{smith }\bound{jones }} -\end{paste}\end{patch} - -\begin{patch}{GeneralSparseTableXmpPagePatch4} -\begin{paste}{GeneralSparseTableXmpPageFull4}{GeneralSparseTableXmpPageEmpty4} -\pastebutton{GeneralSparseTableXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{patrons."Jones"\free{jones }} -\indentrel{3}\begin{verbatim} - (4) 22000 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{GeneralSparseTableXmpPageEmpty4} -\begin{paste}{GeneralSparseTableXmpPageEmpty4}{GeneralSparseTableXmpPagePatch4} -\pastebutton{GeneralSparseTableXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{patrons."Jones"\free{jones }} -\end{paste}\end{patch} - -\begin{patch}{GeneralSparseTableXmpPagePatch5} -\begin{paste}{GeneralSparseTableXmpPageFull5}{GeneralSparseTableXmpPageEmpty5} -\pastebutton{GeneralSparseTableXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{patrons."Stingy"\free{jones }} -\indentrel{3}\begin{verbatim} - (5) 0 - Type: NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{GeneralSparseTableXmpPageEmpty5} -\begin{paste}{GeneralSparseTableXmpPageEmpty5}{GeneralSparseTableXmpPagePatch5} -\pastebutton{GeneralSparseTableXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{patrons."Stingy"\free{jones }} -\end{paste}\end{patch} - -\begin{patch}{GeneralSparseTableXmpPagePatch6} -\begin{paste}{GeneralSparseTableXmpPageFull6}{GeneralSparseTableXmpPageEmpty6} -\pastebutton{GeneralSparseTableXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{reduce(+, entries patrons)\free{jones }} -\indentrel{3}\begin{verbatim} - (6) 32500 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{GeneralSparseTableXmpPageEmpty6} -\begin{paste}{GeneralSparseTableXmpPageEmpty6}{GeneralSparseTableXmpPagePatch6} -\pastebutton{GeneralSparseTableXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{reduce(+, entries patrons)\free{jones }} -\end{paste}\end{patch} - -\begin{patch}{GeneralSparseTableXmpPagePatch7} -\begin{paste}{GeneralSparseTableXmpPageFull7}{GeneralSparseTableXmpPageEmpty7} -\pastebutton{GeneralSparseTableXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{)system rm -r kaf*.sdata\free{patrons }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{GeneralSparseTableXmpPageEmpty7} -\begin{paste}{GeneralSparseTableXmpPageEmpty7}{GeneralSparseTableXmpPagePatch7} -\pastebutton{GeneralSparseTableXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{)system rm -r kaf*.sdata\free{patrons }} -\end{paste}\end{patch} - diff --git a/books/pages/heap.pht b/books/pages/heap.pht deleted file mode 100644 index f7a9508..0000000 --- a/books/pages/heap.pht +++ /dev/null @@ -1,127 +0,0 @@ -\begin{patch}{HeapXmpPagePatch1} -\begin{paste}{HeapXmpPageFull1}{HeapXmpPageEmpty1} -\pastebutton{HeapXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{h := heap [-4,9,11,2,7,-7]\bound{h }} -\indentrel{3}\begin{verbatim} - (1) [11,7,9,- 4,2,- 7] - Type: Heap Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{HeapXmpPageEmpty1} -\begin{paste}{HeapXmpPageEmpty1}{HeapXmpPagePatch1} -\pastebutton{HeapXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{h := heap [-4,9,11,2,7,-7]\bound{h }} -\end{paste}\end{patch} - -\begin{patch}{HeapXmpPagePatch2} -\begin{paste}{HeapXmpPageFull2}{HeapXmpPageEmpty2} -\pastebutton{HeapXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{insert!(3,h)\bound{h1 }\free{h }} -\indentrel{3}\begin{verbatim} - (2) [11,7,9,- 4,2,- 7,3] - Type: Heap Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{HeapXmpPageEmpty2} -\begin{paste}{HeapXmpPageEmpty2}{HeapXmpPagePatch2} -\pastebutton{HeapXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{insert!(3,h)\bound{h1 }\free{h }} -\end{paste}\end{patch} - -\begin{patch}{HeapXmpPagePatch3} -\begin{paste}{HeapXmpPageFull3}{HeapXmpPageEmpty3} -\pastebutton{HeapXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{extract! h\bound{h2 }\free{h1 }} -\indentrel{3}\begin{verbatim} - (3) 11 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{HeapXmpPageEmpty3} -\begin{paste}{HeapXmpPageEmpty3}{HeapXmpPagePatch3} -\pastebutton{HeapXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{extract! h\bound{h2 }\free{h1 }} -\end{paste}\end{patch} - -\begin{patch}{HeapXmpPagePatch4} -\begin{paste}{HeapXmpPageFull4}{HeapXmpPageEmpty4} -\pastebutton{HeapXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{h\free{h2 }} -\indentrel{3}\begin{verbatim} - (4) [9,7,3,- 4,2,- 7] - Type: Heap Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{HeapXmpPageEmpty4} -\begin{paste}{HeapXmpPageEmpty4}{HeapXmpPagePatch4} -\pastebutton{HeapXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{h\free{h2 }} -\end{paste}\end{patch} - -\begin{patch}{HeapXmpPagePatch5} -\begin{paste}{HeapXmpPageFull5}{HeapXmpPageEmpty5} -\pastebutton{HeapXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{[extract!(h) while not empty?(h)]\bound{h2 }} -\indentrel{3}\begin{verbatim} - (5) [9,7,3,2,- 4,- 7] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{HeapXmpPageEmpty5} -\begin{paste}{HeapXmpPageEmpty5}{HeapXmpPagePatch5} -\pastebutton{HeapXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{[extract!(h) while not empty?(h)]\bound{h2 }} -\end{paste}\end{patch} - -\begin{patch}{HeapXmpPagePatch6} -\begin{paste}{HeapXmpPageFull6}{HeapXmpPageEmpty6} -\pastebutton{HeapXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{heapsort(x) == (empty? x => []; cons(extract!(x),heapsort x))\bound{f }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{HeapXmpPageEmpty6} -\begin{paste}{HeapXmpPageEmpty6}{HeapXmpPagePatch6} -\pastebutton{HeapXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{heapsort(x) == (empty? x => []; cons(extract!(x),heapsort x))\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{HeapXmpPagePatch7} -\begin{paste}{HeapXmpPageFull7}{HeapXmpPageEmpty7} -\pastebutton{HeapXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{h1 := heap [17,-4,9,-11,2,7,-7]\bound{h1 }} -\indentrel{3}\begin{verbatim} - (7) [17,2,9,- 11,- 4,7,- 7] - Type: Heap Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{HeapXmpPageEmpty7} -\begin{paste}{HeapXmpPageEmpty7}{HeapXmpPagePatch7} -\pastebutton{HeapXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{h1 := heap [17,-4,9,-11,2,7,-7]\bound{h1 }} -\end{paste}\end{patch} - -\begin{patch}{HeapXmpPagePatch8} -\begin{paste}{HeapXmpPageFull8}{HeapXmpPageEmpty8} -\pastebutton{HeapXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{heapsort h1\free{f }} -\indentrel{3}\begin{verbatim} - (8) [17,9,7,2,- 4,- 7,- 11] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{HeapXmpPageEmpty8} -\begin{paste}{HeapXmpPageEmpty8}{HeapXmpPagePatch8} -\pastebutton{HeapXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{heapsort h1\free{f }} -\end{paste}\end{patch} - diff --git a/books/pages/hexadec.pht b/books/pages/hexadec.pht deleted file mode 100644 index 0998596..0000000 --- a/books/pages/hexadec.pht +++ /dev/null @@ -1,127 +0,0 @@ -\begin{patch}{HexadecimalExpansionXmpPagePatch1} -\begin{paste}{HexadecimalExpansionXmpPageFull1}{HexadecimalExpansionXmpPageEmpty1} -\pastebutton{HexadecimalExpansionXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{r := hex(22/7)\bound{r }} -\indentrel{3}\begin{verbatim} - ___ - (1) 3.249 - Type: HexadecimalExpansion -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{HexadecimalExpansionXmpPageEmpty1} -\begin{paste}{HexadecimalExpansionXmpPageEmpty1}{HexadecimalExpansionXmpPagePatch1} -\pastebutton{HexadecimalExpansionXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{r := hex(22/7)\bound{r }} -\end{paste}\end{patch} - -\begin{patch}{HexadecimalExpansionXmpPagePatch2} -\begin{paste}{HexadecimalExpansionXmpPageFull2}{HexadecimalExpansionXmpPageEmpty2} -\pastebutton{HexadecimalExpansionXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{r + hex(6/7)\free{r }} -\indentrel{3}\begin{verbatim} - (2) 4 - Type: HexadecimalExpansion -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{HexadecimalExpansionXmpPageEmpty2} -\begin{paste}{HexadecimalExpansionXmpPageEmpty2}{HexadecimalExpansionXmpPagePatch2} -\pastebutton{HexadecimalExpansionXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{r + hex(6/7)\free{r }} -\end{paste}\end{patch} - -\begin{patch}{HexadecimalExpansionXmpPagePatch3} -\begin{paste}{HexadecimalExpansionXmpPageFull3}{HexadecimalExpansionXmpPageEmpty3} -\pastebutton{HexadecimalExpansionXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{[hex(1/i) for i in 350..354]} -\indentrel{3}\begin{verbatim} - (3) - _______________ _________ _____ - [0.00BB3EE721A54D88, 0.00BAB6561, 0.00BA2E8, - ______________________ - 0.00B9A7862A0FF465879D5F, - _____________________________ - 0.00B92143FA36F5E02E4850FE8DBD78] - Type: List HexadecimalExpansion -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{HexadecimalExpansionXmpPageEmpty3} -\begin{paste}{HexadecimalExpansionXmpPageEmpty3}{HexadecimalExpansionXmpPagePatch3} -\pastebutton{HexadecimalExpansionXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{[hex(1/i) for i in 350..354]} -\end{paste}\end{patch} - -\begin{patch}{HexadecimalExpansionXmpPagePatch4} -\begin{paste}{HexadecimalExpansionXmpPageFull4}{HexadecimalExpansionXmpPageEmpty4} -\pastebutton{HexadecimalExpansionXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{hex(1/1007)} -\indentrel{3}\begin{verbatim} - (4) - 0. - OVERBAR - 0041149783F0BF2C7D13933192AF6980619EE345E91EC2BB9 - D5CCA5C071E40926E54E8DDAE24196C0B2F8A0AAD60DBA5 - 7F5D4C8536262210C74F1 - Type: HexadecimalExpansion -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{HexadecimalExpansionXmpPageEmpty4} -\begin{paste}{HexadecimalExpansionXmpPageEmpty4}{HexadecimalExpansionXmpPagePatch4} -\pastebutton{HexadecimalExpansionXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{hex(1/1007)} -\end{paste}\end{patch} - -\begin{patch}{HexadecimalExpansionXmpPagePatch5} -\begin{paste}{HexadecimalExpansionXmpPageFull5}{HexadecimalExpansionXmpPageEmpty5} -\pastebutton{HexadecimalExpansionXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{p := hex(1/4)*x**2 + hex(2/3)*x + hex(4/9)\bound{p }} -\indentrel{3}\begin{verbatim} - 2 _ ___ - (5) 0.4x + 0.Ax + 0.71C - Type: Polynomial HexadecimalExpansion -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{HexadecimalExpansionXmpPageEmpty5} -\begin{paste}{HexadecimalExpansionXmpPageEmpty5}{HexadecimalExpansionXmpPagePatch5} -\pastebutton{HexadecimalExpansionXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{p := hex(1/4)*x**2 + hex(2/3)*x + hex(4/9)\bound{p }} -\end{paste}\end{patch} - -\begin{patch}{HexadecimalExpansionXmpPagePatch6} -\begin{paste}{HexadecimalExpansionXmpPageFull6}{HexadecimalExpansionXmpPageEmpty6} -\pastebutton{HexadecimalExpansionXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{q := D(p, x)\free{p }\bound{q }} -\indentrel{3}\begin{verbatim} - _ - (6) 0.8x + 0.A - Type: Polynomial HexadecimalExpansion -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{HexadecimalExpansionXmpPageEmpty6} -\begin{paste}{HexadecimalExpansionXmpPageEmpty6}{HexadecimalExpansionXmpPagePatch6} -\pastebutton{HexadecimalExpansionXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{q := D(p, x)\free{p }\bound{q }} -\end{paste}\end{patch} - -\begin{patch}{HexadecimalExpansionXmpPagePatch7} -\begin{paste}{HexadecimalExpansionXmpPageFull7}{HexadecimalExpansionXmpPageEmpty7} -\pastebutton{HexadecimalExpansionXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{g := gcd(p, q)\free{p }\free{q }} -\indentrel{3}\begin{verbatim} - _ - (7) x + 1.5 - Type: Polynomial HexadecimalExpansion -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{HexadecimalExpansionXmpPageEmpty7} -\begin{paste}{HexadecimalExpansionXmpPageEmpty7}{HexadecimalExpansionXmpPagePatch7} -\pastebutton{HexadecimalExpansionXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{g := gcd(p, q)\free{p }\free{q }} -\end{paste}\end{patch} - diff --git a/books/pages/int.pht b/books/pages/int.pht deleted file mode 100644 index 4264dc2..0000000 --- a/books/pages/int.pht +++ /dev/null @@ -1,763 +0,0 @@ -\begin{patch}{ugxIntegerPrimesPagePatch1} -\begin{paste}{ugxIntegerPrimesPageFull1}{ugxIntegerPrimesPageEmpty1} -\pastebutton{ugxIntegerPrimesPageFull1}{\hidepaste} -\tab{5}\spadcommand{factor 102400} -\indentrel{3}\begin{verbatim} - 12 2 - (1) 2 5 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerPrimesPageEmpty1} -\begin{paste}{ugxIntegerPrimesPageEmpty1}{ugxIntegerPrimesPagePatch1} -\pastebutton{ugxIntegerPrimesPageEmpty1}{\showpaste} -\tab{5}\spadcommand{factor 102400} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerPrimesPagePatch2} -\begin{paste}{ugxIntegerPrimesPageFull2}{ugxIntegerPrimesPageEmpty2} -\pastebutton{ugxIntegerPrimesPageFull2}{\hidepaste} -\tab{5}\spadcommand{prime? 7} -\indentrel{3}\begin{verbatim} - (2) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerPrimesPageEmpty2} -\begin{paste}{ugxIntegerPrimesPageEmpty2}{ugxIntegerPrimesPagePatch2} -\pastebutton{ugxIntegerPrimesPageEmpty2}{\showpaste} -\tab{5}\spadcommand{prime? 7} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerPrimesPagePatch3} -\begin{paste}{ugxIntegerPrimesPageFull3}{ugxIntegerPrimesPageEmpty3} -\pastebutton{ugxIntegerPrimesPageFull3}{\hidepaste} -\tab{5}\spadcommand{prime? 8} -\indentrel{3}\begin{verbatim} - (3) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerPrimesPageEmpty3} -\begin{paste}{ugxIntegerPrimesPageEmpty3}{ugxIntegerPrimesPagePatch3} -\pastebutton{ugxIntegerPrimesPageEmpty3}{\showpaste} -\tab{5}\spadcommand{prime? 8} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerPrimesPagePatch4} -\begin{paste}{ugxIntegerPrimesPageFull4}{ugxIntegerPrimesPageEmpty4} -\pastebutton{ugxIntegerPrimesPageFull4}{\hidepaste} -\tab{5}\spadcommand{nextPrime 100} -\indentrel{3}\begin{verbatim} - (4) 101 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerPrimesPageEmpty4} -\begin{paste}{ugxIntegerPrimesPageEmpty4}{ugxIntegerPrimesPagePatch4} -\pastebutton{ugxIntegerPrimesPageEmpty4}{\showpaste} -\tab{5}\spadcommand{nextPrime 100} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerPrimesPagePatch5} -\begin{paste}{ugxIntegerPrimesPageFull5}{ugxIntegerPrimesPageEmpty5} -\pastebutton{ugxIntegerPrimesPageFull5}{\hidepaste} -\tab{5}\spadcommand{prevPrime 100} -\indentrel{3}\begin{verbatim} - (5) 97 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerPrimesPageEmpty5} -\begin{paste}{ugxIntegerPrimesPageEmpty5}{ugxIntegerPrimesPagePatch5} -\pastebutton{ugxIntegerPrimesPageEmpty5}{\showpaste} -\tab{5}\spadcommand{prevPrime 100} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerPrimesPagePatch6} -\begin{paste}{ugxIntegerPrimesPageFull6}{ugxIntegerPrimesPageEmpty6} -\pastebutton{ugxIntegerPrimesPageFull6}{\hidepaste} -\tab{5}\spadcommand{primes(100,175)} -\indentrel{3}\begin{verbatim} - (6) - [173, 167, 163, 157, 151, 149, 139, 137, 131, 127, - 113, 109, 107, 103, 101] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerPrimesPageEmpty6} -\begin{paste}{ugxIntegerPrimesPageEmpty6}{ugxIntegerPrimesPagePatch6} -\pastebutton{ugxIntegerPrimesPageEmpty6}{\showpaste} -\tab{5}\spadcommand{primes(100,175)} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerPrimesPagePatch7} -\begin{paste}{ugxIntegerPrimesPageFull7}{ugxIntegerPrimesPageEmpty7} -\pastebutton{ugxIntegerPrimesPageFull7}{\hidepaste} -\tab{5}\spadcommand{factor(2 :: Complex Integer)} -\indentrel{3}\begin{verbatim} - 2 - (7) - %i (1 + %i) - Type: Factored Complex Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerPrimesPageEmpty7} -\begin{paste}{ugxIntegerPrimesPageEmpty7}{ugxIntegerPrimesPagePatch7} -\pastebutton{ugxIntegerPrimesPageEmpty7}{\showpaste} -\tab{5}\spadcommand{factor(2 :: Complex Integer)} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerNTPagePatch1} -\begin{paste}{ugxIntegerNTPageFull1}{ugxIntegerNTPageEmpty1} -\pastebutton{ugxIntegerNTPageFull1}{\hidepaste} -\tab{5}\spadcommand{[fibonacci(k) for k in 0..]} -\indentrel{3}\begin{verbatim} - (1) [0,1,1,2,3,5,8,13,21,34,...] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerNTPageEmpty1} -\begin{paste}{ugxIntegerNTPageEmpty1}{ugxIntegerNTPagePatch1} -\pastebutton{ugxIntegerNTPageEmpty1}{\showpaste} -\tab{5}\spadcommand{[fibonacci(k) for k in 0..]} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerNTPagePatch2} -\begin{paste}{ugxIntegerNTPageFull2}{ugxIntegerNTPageEmpty2} -\pastebutton{ugxIntegerNTPageFull2}{\hidepaste} -\tab{5}\spadcommand{[legendre(i,11) for i in 0..10]} -\indentrel{3}\begin{verbatim} - (2) [0,1,- 1,1,1,1,- 1,- 1,- 1,1,- 1] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerNTPageEmpty2} -\begin{paste}{ugxIntegerNTPageEmpty2}{ugxIntegerNTPagePatch2} -\pastebutton{ugxIntegerNTPageEmpty2}{\showpaste} -\tab{5}\spadcommand{[legendre(i,11) for i in 0..10]} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerNTPagePatch3} -\begin{paste}{ugxIntegerNTPageFull3}{ugxIntegerNTPageEmpty3} -\pastebutton{ugxIntegerNTPageFull3}{\hidepaste} -\tab{5}\spadcommand{[jacobi(i,15) for i in 0..9]} -\indentrel{3}\begin{verbatim} - (3) [0,1,1,0,1,0,0,- 1,1,0] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerNTPageEmpty3} -\begin{paste}{ugxIntegerNTPageEmpty3}{ugxIntegerNTPagePatch3} -\pastebutton{ugxIntegerNTPageEmpty3}{\showpaste} -\tab{5}\spadcommand{[jacobi(i,15) for i in 0..9]} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerNTPagePatch4} -\begin{paste}{ugxIntegerNTPageFull4}{ugxIntegerNTPageEmpty4} -\pastebutton{ugxIntegerNTPageFull4}{\hidepaste} -\tab{5}\spadcommand{[eulerPhi i for i in 1..]} -\indentrel{3}\begin{verbatim} - (4) [1,1,2,2,4,2,6,4,6,4,...] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerNTPageEmpty4} -\begin{paste}{ugxIntegerNTPageEmpty4}{ugxIntegerNTPagePatch4} -\pastebutton{ugxIntegerNTPageEmpty4}{\showpaste} -\tab{5}\spadcommand{[eulerPhi i for i in 1..]} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerNTPagePatch5} -\begin{paste}{ugxIntegerNTPageFull5}{ugxIntegerNTPageEmpty5} -\pastebutton{ugxIntegerNTPageFull5}{\hidepaste} -\tab{5}\spadcommand{[moebiusMu i for i in 1..]} -\indentrel{3}\begin{verbatim} - (5) [1,- 1,- 1,0,- 1,1,- 1,0,0,1,...] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerNTPageEmpty5} -\begin{paste}{ugxIntegerNTPageEmpty5}{ugxIntegerNTPagePatch5} -\pastebutton{ugxIntegerNTPageEmpty5}{\showpaste} -\tab{5}\spadcommand{[moebiusMu i for i in 1..]} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerNTPagePatch6} -\begin{paste}{ugxIntegerNTPageFull6}{ugxIntegerNTPageEmpty6} -\pastebutton{ugxIntegerNTPageFull6}{\hidepaste} -\tab{5}\spadcommand{a := roman(78)\bound{a }} -\indentrel{3}\begin{verbatim} - (6) LXXVIII - Type: RomanNumeral -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerNTPageEmpty6} -\begin{paste}{ugxIntegerNTPageEmpty6}{ugxIntegerNTPagePatch6} -\pastebutton{ugxIntegerNTPageEmpty6}{\showpaste} -\tab{5}\spadcommand{a := roman(78)\bound{a }} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerNTPagePatch7} -\begin{paste}{ugxIntegerNTPageFull7}{ugxIntegerNTPageEmpty7} -\pastebutton{ugxIntegerNTPageFull7}{\hidepaste} -\tab{5}\spadcommand{b := roman(87)\bound{b }} -\indentrel{3}\begin{verbatim} - (7) LXXXVII - Type: RomanNumeral -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerNTPageEmpty7} -\begin{paste}{ugxIntegerNTPageEmpty7}{ugxIntegerNTPagePatch7} -\pastebutton{ugxIntegerNTPageEmpty7}{\showpaste} -\tab{5}\spadcommand{b := roman(87)\bound{b }} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerNTPagePatch8} -\begin{paste}{ugxIntegerNTPageFull8}{ugxIntegerNTPageEmpty8} -\pastebutton{ugxIntegerNTPageFull8}{\hidepaste} -\tab{5}\spadcommand{a + b\free{a }\free{b }} -\indentrel{3}\begin{verbatim} - (8) CLXV - Type: RomanNumeral -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerNTPageEmpty8} -\begin{paste}{ugxIntegerNTPageEmpty8}{ugxIntegerNTPagePatch8} -\pastebutton{ugxIntegerNTPageEmpty8}{\showpaste} -\tab{5}\spadcommand{a + b\free{a }\free{b }} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerNTPagePatch9} -\begin{paste}{ugxIntegerNTPageFull9}{ugxIntegerNTPageEmpty9} -\pastebutton{ugxIntegerNTPageFull9}{\hidepaste} -\tab{5}\spadcommand{a * b\free{a }\free{b }} -\indentrel{3}\begin{verbatim} - (9) MMMMMMDCCLXXXVI - Type: RomanNumeral -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerNTPageEmpty9} -\begin{paste}{ugxIntegerNTPageEmpty9}{ugxIntegerNTPagePatch9} -\pastebutton{ugxIntegerNTPageEmpty9}{\showpaste} -\tab{5}\spadcommand{a * b\free{a }\free{b }} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerNTPagePatch10} -\begin{paste}{ugxIntegerNTPageFull10}{ugxIntegerNTPageEmpty10} -\pastebutton{ugxIntegerNTPageFull10}{\hidepaste} -\tab{5}\spadcommand{b rem a\free{a }\free{b }} -\indentrel{3}\begin{verbatim} - (10) IX - Type: RomanNumeral -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerNTPageEmpty10} -\begin{paste}{ugxIntegerNTPageEmpty10}{ugxIntegerNTPagePatch10} -\pastebutton{ugxIntegerNTPageEmpty10}{\showpaste} -\tab{5}\spadcommand{b rem a\free{a }\free{b }} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch1} -\begin{paste}{ugxIntegerBasicPageFull1}{ugxIntegerBasicPageEmpty1} -\pastebutton{ugxIntegerBasicPageFull1}{\hidepaste} -\tab{5}\spadcommand{2**(5678 - 4856 + 2 * 17)} -\indentrel{3}\begin{verbatim} - (1) - 480481077043500814718154092512592439123952613987168226_ - 34738556100880842000763082930863425270914120837430745_ - 72278211496076276922026433435687527334980249539302425_ - 42523045817764949544214392905306388478705146745768073_ - 877141698859815495632935288783334250628775936 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty1} -\begin{paste}{ugxIntegerBasicPageEmpty1}{ugxIntegerBasicPagePatch1} -\pastebutton{ugxIntegerBasicPageEmpty1}{\showpaste} -\tab{5}\spadcommand{2**(5678 - 4856 + 2 * 17)} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch2} -\begin{paste}{ugxIntegerBasicPageFull2}{ugxIntegerBasicPageEmpty2} -\pastebutton{ugxIntegerBasicPageFull2}{\hidepaste} -\tab{5}\spadcommand{x := -101\bound{x }} -\indentrel{3}\begin{verbatim} - (2) - 101 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty2} -\begin{paste}{ugxIntegerBasicPageEmpty2}{ugxIntegerBasicPagePatch2} -\pastebutton{ugxIntegerBasicPageEmpty2}{\showpaste} -\tab{5}\spadcommand{x := -101\bound{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch3} -\begin{paste}{ugxIntegerBasicPageFull3}{ugxIntegerBasicPageEmpty3} -\pastebutton{ugxIntegerBasicPageFull3}{\hidepaste} -\tab{5}\spadcommand{abs(x)\free{x }} -\indentrel{3}\begin{verbatim} - (3) 101 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty3} -\begin{paste}{ugxIntegerBasicPageEmpty3}{ugxIntegerBasicPagePatch3} -\pastebutton{ugxIntegerBasicPageEmpty3}{\showpaste} -\tab{5}\spadcommand{abs(x)\free{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch4} -\begin{paste}{ugxIntegerBasicPageFull4}{ugxIntegerBasicPageEmpty4} -\pastebutton{ugxIntegerBasicPageFull4}{\hidepaste} -\tab{5}\spadcommand{sign(x)\free{x }} -\indentrel{3}\begin{verbatim} - (4) - 1 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty4} -\begin{paste}{ugxIntegerBasicPageEmpty4}{ugxIntegerBasicPagePatch4} -\pastebutton{ugxIntegerBasicPageEmpty4}{\showpaste} -\tab{5}\spadcommand{sign(x)\free{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch5} -\begin{paste}{ugxIntegerBasicPageFull5}{ugxIntegerBasicPageEmpty5} -\pastebutton{ugxIntegerBasicPageFull5}{\hidepaste} -\tab{5}\spadcommand{x < 0\free{x }} -\indentrel{3}\begin{verbatim} - (5) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty5} -\begin{paste}{ugxIntegerBasicPageEmpty5}{ugxIntegerBasicPagePatch5} -\pastebutton{ugxIntegerBasicPageEmpty5}{\showpaste} -\tab{5}\spadcommand{x < 0\free{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch6} -\begin{paste}{ugxIntegerBasicPageFull6}{ugxIntegerBasicPageEmpty6} -\pastebutton{ugxIntegerBasicPageFull6}{\hidepaste} -\tab{5}\spadcommand{x <= -1\free{x }} -\indentrel{3}\begin{verbatim} - (6) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty6} -\begin{paste}{ugxIntegerBasicPageEmpty6}{ugxIntegerBasicPagePatch6} -\pastebutton{ugxIntegerBasicPageEmpty6}{\showpaste} -\tab{5}\spadcommand{x <= -1\free{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch7} -\begin{paste}{ugxIntegerBasicPageFull7}{ugxIntegerBasicPageEmpty7} -\pastebutton{ugxIntegerBasicPageFull7}{\hidepaste} -\tab{5}\spadcommand{negative?(x)\free{x }} -\indentrel{3}\begin{verbatim} - (7) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty7} -\begin{paste}{ugxIntegerBasicPageEmpty7}{ugxIntegerBasicPagePatch7} -\pastebutton{ugxIntegerBasicPageEmpty7}{\showpaste} -\tab{5}\spadcommand{negative?(x)\free{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch8} -\begin{paste}{ugxIntegerBasicPageFull8}{ugxIntegerBasicPageEmpty8} -\pastebutton{ugxIntegerBasicPageFull8}{\hidepaste} -\tab{5}\spadcommand{x > 0\free{x }} -\indentrel{3}\begin{verbatim} - (8) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty8} -\begin{paste}{ugxIntegerBasicPageEmpty8}{ugxIntegerBasicPagePatch8} -\pastebutton{ugxIntegerBasicPageEmpty8}{\showpaste} -\tab{5}\spadcommand{x > 0\free{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch9} -\begin{paste}{ugxIntegerBasicPageFull9}{ugxIntegerBasicPageEmpty9} -\pastebutton{ugxIntegerBasicPageFull9}{\hidepaste} -\tab{5}\spadcommand{x >= 1\free{x }} -\indentrel{3}\begin{verbatim} - (9) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty9} -\begin{paste}{ugxIntegerBasicPageEmpty9}{ugxIntegerBasicPagePatch9} -\pastebutton{ugxIntegerBasicPageEmpty9}{\showpaste} -\tab{5}\spadcommand{x >= 1\free{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch10} -\begin{paste}{ugxIntegerBasicPageFull10}{ugxIntegerBasicPageEmpty10} -\pastebutton{ugxIntegerBasicPageFull10}{\hidepaste} -\tab{5}\spadcommand{positive?(x)\free{x }} -\indentrel{3}\begin{verbatim} - (10) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty10} -\begin{paste}{ugxIntegerBasicPageEmpty10}{ugxIntegerBasicPagePatch10} -\pastebutton{ugxIntegerBasicPageEmpty10}{\showpaste} -\tab{5}\spadcommand{positive?(x)\free{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch11} -\begin{paste}{ugxIntegerBasicPageFull11}{ugxIntegerBasicPageEmpty11} -\pastebutton{ugxIntegerBasicPageFull11}{\hidepaste} -\tab{5}\spadcommand{zero?(x)\free{x }} -\indentrel{3}\begin{verbatim} - (11) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty11} -\begin{paste}{ugxIntegerBasicPageEmpty11}{ugxIntegerBasicPagePatch11} -\pastebutton{ugxIntegerBasicPageEmpty11}{\showpaste} -\tab{5}\spadcommand{zero?(x)\free{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch12} -\begin{paste}{ugxIntegerBasicPageFull12}{ugxIntegerBasicPageEmpty12} -\pastebutton{ugxIntegerBasicPageFull12}{\hidepaste} -\tab{5}\spadcommand{one?(x)\free{x }} -\indentrel{3}\begin{verbatim} - (12) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty12} -\begin{paste}{ugxIntegerBasicPageEmpty12}{ugxIntegerBasicPagePatch12} -\pastebutton{ugxIntegerBasicPageEmpty12}{\showpaste} -\tab{5}\spadcommand{one?(x)\free{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch13} -\begin{paste}{ugxIntegerBasicPageFull13}{ugxIntegerBasicPageEmpty13} -\pastebutton{ugxIntegerBasicPageFull13}{\hidepaste} -\tab{5}\spadcommand{(x = -101)@Boolean\free{x }} -\indentrel{3}\begin{verbatim} - (13) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty13} -\begin{paste}{ugxIntegerBasicPageEmpty13}{ugxIntegerBasicPagePatch13} -\pastebutton{ugxIntegerBasicPageEmpty13}{\showpaste} -\tab{5}\spadcommand{(x = -101)@Boolean\free{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch14} -\begin{paste}{ugxIntegerBasicPageFull14}{ugxIntegerBasicPageEmpty14} -\pastebutton{ugxIntegerBasicPageFull14}{\hidepaste} -\tab{5}\spadcommand{odd?(x)\free{x }} -\indentrel{3}\begin{verbatim} - (14) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty14} -\begin{paste}{ugxIntegerBasicPageEmpty14}{ugxIntegerBasicPagePatch14} -\pastebutton{ugxIntegerBasicPageEmpty14}{\showpaste} -\tab{5}\spadcommand{odd?(x)\free{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch15} -\begin{paste}{ugxIntegerBasicPageFull15}{ugxIntegerBasicPageEmpty15} -\pastebutton{ugxIntegerBasicPageFull15}{\hidepaste} -\tab{5}\spadcommand{even?(x)\free{x }} -\indentrel{3}\begin{verbatim} - (15) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty15} -\begin{paste}{ugxIntegerBasicPageEmpty15}{ugxIntegerBasicPagePatch15} -\pastebutton{ugxIntegerBasicPageEmpty15}{\showpaste} -\tab{5}\spadcommand{even?(x)\free{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch16} -\begin{paste}{ugxIntegerBasicPageFull16}{ugxIntegerBasicPageEmpty16} -\pastebutton{ugxIntegerBasicPageFull16}{\hidepaste} -\tab{5}\spadcommand{gcd(56788,43688)} -\indentrel{3}\begin{verbatim} - (16) 4 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty16} -\begin{paste}{ugxIntegerBasicPageEmpty16}{ugxIntegerBasicPagePatch16} -\pastebutton{ugxIntegerBasicPageEmpty16}{\showpaste} -\tab{5}\spadcommand{gcd(56788,43688)} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch17} -\begin{paste}{ugxIntegerBasicPageFull17}{ugxIntegerBasicPageEmpty17} -\pastebutton{ugxIntegerBasicPageFull17}{\hidepaste} -\tab{5}\spadcommand{lcm(56788,43688)} -\indentrel{3}\begin{verbatim} - (17) 620238536 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty17} -\begin{paste}{ugxIntegerBasicPageEmpty17}{ugxIntegerBasicPagePatch17} -\pastebutton{ugxIntegerBasicPageEmpty17}{\showpaste} -\tab{5}\spadcommand{lcm(56788,43688)} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch18} -\begin{paste}{ugxIntegerBasicPageFull18}{ugxIntegerBasicPageEmpty18} -\pastebutton{ugxIntegerBasicPageFull18}{\hidepaste} -\tab{5}\spadcommand{max(678,567)} -\indentrel{3}\begin{verbatim} - (18) 678 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty18} -\begin{paste}{ugxIntegerBasicPageEmpty18}{ugxIntegerBasicPagePatch18} -\pastebutton{ugxIntegerBasicPageEmpty18}{\showpaste} -\tab{5}\spadcommand{max(678,567)} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch19} -\begin{paste}{ugxIntegerBasicPageFull19}{ugxIntegerBasicPageEmpty19} -\pastebutton{ugxIntegerBasicPageFull19}{\hidepaste} -\tab{5}\spadcommand{min(678,567)} -\indentrel{3}\begin{verbatim} - (19) 567 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty19} -\begin{paste}{ugxIntegerBasicPageEmpty19}{ugxIntegerBasicPagePatch19} -\pastebutton{ugxIntegerBasicPageEmpty19}{\showpaste} -\tab{5}\spadcommand{min(678,567)} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch20} -\begin{paste}{ugxIntegerBasicPageFull20}{ugxIntegerBasicPageEmpty20} -\pastebutton{ugxIntegerBasicPageFull20}{\hidepaste} -\tab{5}\spadcommand{reduce(max,[2,45,-89,78,100,-45])} -\indentrel{3}\begin{verbatim} - (20) 100 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty20} -\begin{paste}{ugxIntegerBasicPageEmpty20}{ugxIntegerBasicPagePatch20} -\pastebutton{ugxIntegerBasicPageEmpty20}{\showpaste} -\tab{5}\spadcommand{reduce(max,[2,45,-89,78,100,-45])} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch21} -\begin{paste}{ugxIntegerBasicPageFull21}{ugxIntegerBasicPageEmpty21} -\pastebutton{ugxIntegerBasicPageFull21}{\hidepaste} -\tab{5}\spadcommand{reduce(min,[2,45,-89,78,100,-45])} -\indentrel{3}\begin{verbatim} - (21) - 89 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty21} -\begin{paste}{ugxIntegerBasicPageEmpty21}{ugxIntegerBasicPagePatch21} -\pastebutton{ugxIntegerBasicPageEmpty21}{\showpaste} -\tab{5}\spadcommand{reduce(min,[2,45,-89,78,100,-45])} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch22} -\begin{paste}{ugxIntegerBasicPageFull22}{ugxIntegerBasicPageEmpty22} -\pastebutton{ugxIntegerBasicPageFull22}{\hidepaste} -\tab{5}\spadcommand{reduce(gcd,[2,45,-89,78,100,-45])} -\indentrel{3}\begin{verbatim} - (22) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty22} -\begin{paste}{ugxIntegerBasicPageEmpty22}{ugxIntegerBasicPagePatch22} -\pastebutton{ugxIntegerBasicPageEmpty22}{\showpaste} -\tab{5}\spadcommand{reduce(gcd,[2,45,-89,78,100,-45])} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch23} -\begin{paste}{ugxIntegerBasicPageFull23}{ugxIntegerBasicPageEmpty23} -\pastebutton{ugxIntegerBasicPageFull23}{\hidepaste} -\tab{5}\spadcommand{reduce(lcm,[2,45,-89,78,100,-45])} -\indentrel{3}\begin{verbatim} - (23) 1041300 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty23} -\begin{paste}{ugxIntegerBasicPageEmpty23}{ugxIntegerBasicPagePatch23} -\pastebutton{ugxIntegerBasicPageEmpty23}{\showpaste} -\tab{5}\spadcommand{reduce(lcm,[2,45,-89,78,100,-45])} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch24} -\begin{paste}{ugxIntegerBasicPageFull24}{ugxIntegerBasicPageEmpty24} -\pastebutton{ugxIntegerBasicPageFull24}{\hidepaste} -\tab{5}\spadcommand{13 / 4} -\indentrel{3}\begin{verbatim} - 13 - (24) ÄÄ - 4 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty24} -\begin{paste}{ugxIntegerBasicPageEmpty24}{ugxIntegerBasicPagePatch24} -\pastebutton{ugxIntegerBasicPageEmpty24}{\showpaste} -\tab{5}\spadcommand{13 / 4} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch25} -\begin{paste}{ugxIntegerBasicPageFull25}{ugxIntegerBasicPageEmpty25} -\pastebutton{ugxIntegerBasicPageFull25}{\hidepaste} -\tab{5}\spadcommand{13 quo 4} -\indentrel{3}\begin{verbatim} - (25) 3 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty25} -\begin{paste}{ugxIntegerBasicPageEmpty25}{ugxIntegerBasicPagePatch25} -\pastebutton{ugxIntegerBasicPageEmpty25}{\showpaste} -\tab{5}\spadcommand{13 quo 4} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch26} -\begin{paste}{ugxIntegerBasicPageFull26}{ugxIntegerBasicPageEmpty26} -\pastebutton{ugxIntegerBasicPageFull26}{\hidepaste} -\tab{5}\spadcommand{13 rem 4} -\indentrel{3}\begin{verbatim} - (26) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty26} -\begin{paste}{ugxIntegerBasicPageEmpty26}{ugxIntegerBasicPagePatch26} -\pastebutton{ugxIntegerBasicPageEmpty26}{\showpaste} -\tab{5}\spadcommand{13 rem 4} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch27} -\begin{paste}{ugxIntegerBasicPageFull27}{ugxIntegerBasicPageEmpty27} -\pastebutton{ugxIntegerBasicPageFull27}{\hidepaste} -\tab{5}\spadcommand{zero?(167604736446952 rem 2003644)} -\indentrel{3}\begin{verbatim} - (27) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty27} -\begin{paste}{ugxIntegerBasicPageEmpty27}{ugxIntegerBasicPagePatch27} -\pastebutton{ugxIntegerBasicPageEmpty27}{\showpaste} -\tab{5}\spadcommand{zero?(167604736446952 rem 2003644)} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch28} -\begin{paste}{ugxIntegerBasicPageFull28}{ugxIntegerBasicPageEmpty28} -\pastebutton{ugxIntegerBasicPageFull28}{\hidepaste} -\tab{5}\spadcommand{d := divide(13,4)\bound{d }} -\indentrel{3}\begin{verbatim} - (28) [quotient= 3,remainder= 1] - Type: Record(quotient: Integer,remainder: Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty28} -\begin{paste}{ugxIntegerBasicPageEmpty28}{ugxIntegerBasicPagePatch28} -\pastebutton{ugxIntegerBasicPageEmpty28}{\showpaste} -\tab{5}\spadcommand{d := divide(13,4)\bound{d }} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch29} -\begin{paste}{ugxIntegerBasicPageFull29}{ugxIntegerBasicPageEmpty29} -\pastebutton{ugxIntegerBasicPageFull29}{\hidepaste} -\tab{5}\spadcommand{d.quotient\free{d }} -\indentrel{3}\begin{verbatim} - (29) 3 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty29} -\begin{paste}{ugxIntegerBasicPageEmpty29}{ugxIntegerBasicPagePatch29} -\pastebutton{ugxIntegerBasicPageEmpty29}{\showpaste} -\tab{5}\spadcommand{d.quotient\free{d }} -\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPagePatch30} -\begin{paste}{ugxIntegerBasicPageFull30}{ugxIntegerBasicPageEmpty30} -\pastebutton{ugxIntegerBasicPageFull30}{\hidepaste} -\tab{5}\spadcommand{d.remainder\free{d }} -\indentrel{3}\begin{verbatim} - (30) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxIntegerBasicPageEmpty30} -\begin{paste}{ugxIntegerBasicPageEmpty30}{ugxIntegerBasicPagePatch30} -\pastebutton{ugxIntegerBasicPageEmpty30}{\showpaste} -\tab{5}\spadcommand{d.remainder\free{d }} -\end{paste}\end{patch} - diff --git a/books/pages/intheory.pht b/books/pages/intheory.pht deleted file mode 100644 index 7456ecb..0000000 --- a/books/pages/intheory.pht +++ /dev/null @@ -1,348 +0,0 @@ -\begin{patch}{IntegerNumberTheoryFunctionsXmpPagePatch1} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageFull1}{IntegerNumberTheoryFunctionsXmpPageEmpty1} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{div144 := divisors(144)\bound{div144 }} -\indentrel{3}\begin{verbatim} - (1) [1,2,3,4,6,8,9,12,16,18,24,36,48,72,144] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPageEmpty1} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageEmpty1}{IntegerNumberTheoryFunctionsXmpPagePatch1} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{div144 := divisors(144)\bound{div144 }} -\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPagePatch2} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageFull2}{IntegerNumberTheoryFunctionsXmpPageEmpty2} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{\#(div144)\free{div144 }} -\indentrel{3}\begin{verbatim} - (2) 15 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPageEmpty2} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageEmpty2}{IntegerNumberTheoryFunctionsXmpPagePatch2} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{\#(div144)\free{div144 }} -\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPagePatch3} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageFull3}{IntegerNumberTheoryFunctionsXmpPageEmpty3} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{reduce(+,div144)\free{div144 }} -\indentrel{3}\begin{verbatim} - (3) 403 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPageEmpty3} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageEmpty3}{IntegerNumberTheoryFunctionsXmpPagePatch3} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{reduce(+,div144)\free{div144 }} -\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPagePatch4} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageFull4}{IntegerNumberTheoryFunctionsXmpPageEmpty4} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{numberOfDivisors(144)} -\indentrel{3}\begin{verbatim} - (4) 15 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPageEmpty4} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageEmpty4}{IntegerNumberTheoryFunctionsXmpPagePatch4} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{numberOfDivisors(144)} -\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPagePatch5} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageFull5}{IntegerNumberTheoryFunctionsXmpPageEmpty5} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{sumOfDivisors(144)} -\indentrel{3}\begin{verbatim} - (5) 403 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPageEmpty5} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageEmpty5}{IntegerNumberTheoryFunctionsXmpPagePatch5} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{sumOfDivisors(144)} -\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPagePatch6} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageFull6}{IntegerNumberTheoryFunctionsXmpPageEmpty6} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{f1(n) == reduce(+,[moebiusMu(d) * numberOfDivisors(quo(n,d)) for d in divisors(n)])\bound{f1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPageEmpty6} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageEmpty6}{IntegerNumberTheoryFunctionsXmpPagePatch6} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{f1(n) == reduce(+,[moebiusMu(d) * numberOfDivisors(quo(n,d)) for d in divisors(n)])\bound{f1 }} -\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPagePatch7} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageFull7}{IntegerNumberTheoryFunctionsXmpPageEmpty7} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{f1(200)\free{f1 }} -\indentrel{3}\begin{verbatim} - (7) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPageEmpty7} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageEmpty7}{IntegerNumberTheoryFunctionsXmpPagePatch7} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{f1(200)\free{f1 }} -\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPagePatch8} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageFull8}{IntegerNumberTheoryFunctionsXmpPageEmpty8} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{f1(846)\free{f1 }} -\indentrel{3}\begin{verbatim} - (8) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPageEmpty8} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageEmpty8}{IntegerNumberTheoryFunctionsXmpPagePatch8} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{f1(846)\free{f1 }} -\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPagePatch9} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageFull9}{IntegerNumberTheoryFunctionsXmpPageEmpty9} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{f2(n) == reduce(+,[moebiusMu(d) * sumOfDivisors(quo(n,d)) for d in divisors(n)])\bound{f2 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPageEmpty9} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageEmpty9}{IntegerNumberTheoryFunctionsXmpPagePatch9} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{f2(n) == reduce(+,[moebiusMu(d) * sumOfDivisors(quo(n,d)) for d in divisors(n)])\bound{f2 }} -\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPagePatch10} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageFull10}{IntegerNumberTheoryFunctionsXmpPageEmpty10} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{f2(200)\free{f2 }} -\indentrel{3}\begin{verbatim} - (10) 200 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPageEmpty10} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageEmpty10}{IntegerNumberTheoryFunctionsXmpPagePatch10} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{f2(200)\free{f2 }} -\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPagePatch11} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageFull11}{IntegerNumberTheoryFunctionsXmpPageEmpty11} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{f2(846)\free{f2 }} -\indentrel{3}\begin{verbatim} - (11) 846 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPageEmpty11} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageEmpty11}{IntegerNumberTheoryFunctionsXmpPagePatch11} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{f2(846)\free{f2 }} -\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPagePatch12} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageFull12}{IntegerNumberTheoryFunctionsXmpPageEmpty12} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{fibonacci(25)} -\indentrel{3}\begin{verbatim} - (12) 75025 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPageEmpty12} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageEmpty12}{IntegerNumberTheoryFunctionsXmpPagePatch12} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{fibonacci(25)} -\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPagePatch13} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageFull13}{IntegerNumberTheoryFunctionsXmpPageEmpty13} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{[fibonacci(n) for n in 1..15]} -\indentrel{3}\begin{verbatim} - (13) [1,1,2,3,5,8,13,21,34,55,89,144,233,377,610] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPageEmpty13} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageEmpty13}{IntegerNumberTheoryFunctionsXmpPagePatch13} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{[fibonacci(n) for n in 1..15]} -\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPagePatch14} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageFull14}{IntegerNumberTheoryFunctionsXmpPageEmpty14} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{fib(n) == reduce(+,[binomial(n-1-k,k) for k in 0..quo(n-1,2)])\bound{fib }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPageEmpty14} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageEmpty14}{IntegerNumberTheoryFunctionsXmpPagePatch14} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{fib(n) == reduce(+,[binomial(n-1-k,k) for k in 0..quo(n-1,2)])\bound{fib }} -\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPagePatch15} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageFull15}{IntegerNumberTheoryFunctionsXmpPageEmpty15} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{fib(25)\free{fib }} -\indentrel{3}\begin{verbatim} - (15) 75025 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPageEmpty15} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageEmpty15}{IntegerNumberTheoryFunctionsXmpPagePatch15} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{fib(25)\free{fib }} -\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPagePatch16} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageFull16}{IntegerNumberTheoryFunctionsXmpPageEmpty16} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{[fib(n) for n in 1..15]\free{fib }} -\indentrel{3}\begin{verbatim} - (16) [1,1,2,3,5,8,13,21,34,55,89,144,233,377,610] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPageEmpty16} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageEmpty16}{IntegerNumberTheoryFunctionsXmpPagePatch16} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{[fib(n) for n in 1..15]\free{fib }} -\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPagePatch17} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageFull17}{IntegerNumberTheoryFunctionsXmpPageEmpty17} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{legendre(3,5)} -\indentrel{3}\begin{verbatim} - (17) - 1 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPageEmpty17} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageEmpty17}{IntegerNumberTheoryFunctionsXmpPagePatch17} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{legendre(3,5)} -\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPagePatch18} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageFull18}{IntegerNumberTheoryFunctionsXmpPageEmpty18} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{legendre(23,691)} -\indentrel{3}\begin{verbatim} - (18) - 1 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPageEmpty18} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageEmpty18}{IntegerNumberTheoryFunctionsXmpPagePatch18} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{legendre(23,691)} -\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPagePatch19} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageFull19}{IntegerNumberTheoryFunctionsXmpPageEmpty19} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{h(d) == quo(reduce(+, [jacobi(d,k) for k in 1..quo(-d, 2)]), 2 - jacobi(d,2))\bound{h }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPageEmpty19} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageEmpty19}{IntegerNumberTheoryFunctionsXmpPagePatch19} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{h(d) == quo(reduce(+, [jacobi(d,k) for k in 1..quo(-d, 2)]), 2 - jacobi(d,2))\bound{h }} -\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPagePatch20} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageFull20}{IntegerNumberTheoryFunctionsXmpPageEmpty20} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{h(-163)\free{h }} -\indentrel{3}\begin{verbatim} - (20) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPageEmpty20} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageEmpty20}{IntegerNumberTheoryFunctionsXmpPagePatch20} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{h(-163)\free{h }} -\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPagePatch21} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageFull21}{IntegerNumberTheoryFunctionsXmpPageEmpty21} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageFull21}{\hidepaste} -\tab{5}\spadcommand{h(-499)\free{h }} -\indentrel{3}\begin{verbatim} - (21) 3 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPageEmpty21} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageEmpty21}{IntegerNumberTheoryFunctionsXmpPagePatch21} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageEmpty21}{\showpaste} -\tab{5}\spadcommand{h(-499)\free{h }} -\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPagePatch22} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageFull22}{IntegerNumberTheoryFunctionsXmpPageEmpty22} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageFull22}{\hidepaste} -\tab{5}\spadcommand{h(-1832)\free{h }} -\indentrel{3}\begin{verbatim} - (22) 26 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerNumberTheoryFunctionsXmpPageEmpty22} -\begin{paste}{IntegerNumberTheoryFunctionsXmpPageEmpty22}{IntegerNumberTheoryFunctionsXmpPagePatch22} -\pastebutton{IntegerNumberTheoryFunctionsXmpPageEmpty22}{\showpaste} -\tab{5}\spadcommand{h(-1832)\free{h }} -\end{paste}\end{patch} - diff --git a/books/pages/kafile.pht b/books/pages/kafile.pht deleted file mode 100644 index ea8d923..0000000 --- a/books/pages/kafile.pht +++ /dev/null @@ -1,335 +0,0 @@ -\begin{patch}{KeyedAccessFileXmpPagePatch1} -\begin{paste}{KeyedAccessFileXmpPageFull1}{KeyedAccessFileXmpPageEmpty1} -\pastebutton{KeyedAccessFileXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{ey: KeyedAccessFile(Integer) := open("/tmp/editor.year", "output")\bound{ey }} -\indentrel{3}\begin{verbatim} - (1) "/tmp/editor.year" - Type: KeyedAccessFile Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPageEmpty1} -\begin{paste}{KeyedAccessFileXmpPageEmpty1}{KeyedAccessFileXmpPagePatch1} -\pastebutton{KeyedAccessFileXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{ey: KeyedAccessFile(Integer) := open("/tmp/editor.year", "output")\bound{ey }} -\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPagePatch2} -\begin{paste}{KeyedAccessFileXmpPageFull2}{KeyedAccessFileXmpPageEmpty2} -\pastebutton{KeyedAccessFileXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{ey."Char" := 1986\free{ey }\bound{eya }} -\indentrel{3}\begin{verbatim} - (2) 1986 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPageEmpty2} -\begin{paste}{KeyedAccessFileXmpPageEmpty2}{KeyedAccessFileXmpPagePatch2} -\pastebutton{KeyedAccessFileXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{ey."Char" := 1986\free{ey }\bound{eya }} -\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPagePatch3} -\begin{paste}{KeyedAccessFileXmpPageFull3}{KeyedAccessFileXmpPageEmpty3} -\pastebutton{KeyedAccessFileXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{ey."Caviness" := 1985\free{ey }\bound{eyb }} -\indentrel{3}\begin{verbatim} - (3) 1985 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPageEmpty3} -\begin{paste}{KeyedAccessFileXmpPageEmpty3}{KeyedAccessFileXmpPagePatch3} -\pastebutton{KeyedAccessFileXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{ey."Caviness" := 1985\free{ey }\bound{eyb }} -\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPagePatch4} -\begin{paste}{KeyedAccessFileXmpPageFull4}{KeyedAccessFileXmpPageEmpty4} -\pastebutton{KeyedAccessFileXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{ey."Fitch" := 1984\free{ey }\bound{eyc }} -\indentrel{3}\begin{verbatim} - (4) 1984 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPageEmpty4} -\begin{paste}{KeyedAccessFileXmpPageEmpty4}{KeyedAccessFileXmpPagePatch4} -\pastebutton{KeyedAccessFileXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{ey."Fitch" := 1984\free{ey }\bound{eyc }} -\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPagePatch5} -\begin{paste}{KeyedAccessFileXmpPageFull5}{KeyedAccessFileXmpPageEmpty5} -\pastebutton{KeyedAccessFileXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{ey."Char"\free{eya }} -\indentrel{3}\begin{verbatim} - (5) 1986 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPageEmpty5} -\begin{paste}{KeyedAccessFileXmpPageEmpty5}{KeyedAccessFileXmpPagePatch5} -\pastebutton{KeyedAccessFileXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{ey."Char"\free{eya }} -\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPagePatch6} -\begin{paste}{KeyedAccessFileXmpPageFull6}{KeyedAccessFileXmpPageEmpty6} -\pastebutton{KeyedAccessFileXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{ey("Char")\free{eya }} -\indentrel{3}\begin{verbatim} - (6) 1986 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPageEmpty6} -\begin{paste}{KeyedAccessFileXmpPageEmpty6}{KeyedAccessFileXmpPagePatch6} -\pastebutton{KeyedAccessFileXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{ey("Char")\free{eya }} -\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPagePatch7} -\begin{paste}{KeyedAccessFileXmpPageFull7}{KeyedAccessFileXmpPageEmpty7} -\pastebutton{KeyedAccessFileXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{ey "Char"\free{eya }} -\indentrel{3}\begin{verbatim} - (7) 1986 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPageEmpty7} -\begin{paste}{KeyedAccessFileXmpPageEmpty7}{KeyedAccessFileXmpPagePatch7} -\pastebutton{KeyedAccessFileXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{ey "Char"\free{eya }} -\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPagePatch8} -\begin{paste}{KeyedAccessFileXmpPageFull8}{KeyedAccessFileXmpPageEmpty8} -\pastebutton{KeyedAccessFileXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{search("Char", ey)\free{eya eyb eyc }\bound{eyaa }} -\indentrel{3}\begin{verbatim} - (8) 1986 - Type: Union(Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPageEmpty8} -\begin{paste}{KeyedAccessFileXmpPageEmpty8}{KeyedAccessFileXmpPagePatch8} -\pastebutton{KeyedAccessFileXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{search("Char", ey)\free{eya eyb eyc }\bound{eyaa }} -\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPagePatch9} -\begin{paste}{KeyedAccessFileXmpPageFull9}{KeyedAccessFileXmpPageEmpty9} -\pastebutton{KeyedAccessFileXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{search("Smith", ey)\free{eyaa }} -\indentrel{3}\begin{verbatim} - (9) "failed" - Type: Union("failed",...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPageEmpty9} -\begin{paste}{KeyedAccessFileXmpPageEmpty9}{KeyedAccessFileXmpPagePatch9} -\pastebutton{KeyedAccessFileXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{search("Smith", ey)\free{eyaa }} -\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPagePatch10} -\begin{paste}{KeyedAccessFileXmpPageFull10}{KeyedAccessFileXmpPageEmpty10} -\pastebutton{KeyedAccessFileXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{remove!("Char", ey)\free{eyaa }\bound{eybb }} -\indentrel{3}\begin{verbatim} - (10) 1986 - Type: Union(Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPageEmpty10} -\begin{paste}{KeyedAccessFileXmpPageEmpty10}{KeyedAccessFileXmpPagePatch10} -\pastebutton{KeyedAccessFileXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{remove!("Char", ey)\free{eyaa }\bound{eybb }} -\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPagePatch11} -\begin{paste}{KeyedAccessFileXmpPageFull11}{KeyedAccessFileXmpPageEmpty11} -\pastebutton{KeyedAccessFileXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{keys ey\free{eybb }} -\indentrel{3}\begin{verbatim} - (11) ["Fitch","Caviness"] - Type: List String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPageEmpty11} -\begin{paste}{KeyedAccessFileXmpPageEmpty11}{KeyedAccessFileXmpPagePatch11} -\pastebutton{KeyedAccessFileXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{keys ey\free{eybb }} -\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPagePatch12} -\begin{paste}{KeyedAccessFileXmpPageFull12}{KeyedAccessFileXmpPageEmpty12} -\pastebutton{KeyedAccessFileXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{\#ey\free{eybb }} -\indentrel{3}\begin{verbatim} - (12) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPageEmpty12} -\begin{paste}{KeyedAccessFileXmpPageEmpty12}{KeyedAccessFileXmpPagePatch12} -\pastebutton{KeyedAccessFileXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{\#ey\free{eybb }} -\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPagePatch13} -\begin{paste}{KeyedAccessFileXmpPageFull13}{KeyedAccessFileXmpPageEmpty13} -\pastebutton{KeyedAccessFileXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{KE := Record(key: String, entry: Integer)\bound{KE }} -\indentrel{3}\begin{verbatim} - (13) Record(key: String,entry: Integer) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPageEmpty13} -\begin{paste}{KeyedAccessFileXmpPageEmpty13}{KeyedAccessFileXmpPagePatch13} -\pastebutton{KeyedAccessFileXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{KE := Record(key: String, entry: Integer)\bound{KE }} -\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPagePatch14} -\begin{paste}{KeyedAccessFileXmpPageFull14}{KeyedAccessFileXmpPageEmpty14} -\pastebutton{KeyedAccessFileXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{reopen!(ey, "output")\free{eybb KE }\bound{eycc }} -\indentrel{3}\begin{verbatim} - (14) "/tmp/editor.year" - Type: KeyedAccessFile Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPageEmpty14} -\begin{paste}{KeyedAccessFileXmpPageEmpty14}{KeyedAccessFileXmpPagePatch14} -\pastebutton{KeyedAccessFileXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{reopen!(ey, "output")\free{eybb KE }\bound{eycc }} -\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPagePatch15} -\begin{paste}{KeyedAccessFileXmpPageFull15}{KeyedAccessFileXmpPageEmpty15} -\pastebutton{KeyedAccessFileXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{write!(ey, ["van Hulzen", 1983]$KE)\bound{eyccA }\free{eycc }} -\indentrel{3}\begin{verbatim} - (15) [key= "van Hulzen",entry= 1983] - Type: Record(key: String,entry: Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPageEmpty15} -\begin{paste}{KeyedAccessFileXmpPageEmpty15}{KeyedAccessFileXmpPagePatch15} -\pastebutton{KeyedAccessFileXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{write!(ey, ["van Hulzen", 1983]$KE)\bound{eyccA }\free{eycc }} -\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPagePatch16} -\begin{paste}{KeyedAccessFileXmpPageFull16}{KeyedAccessFileXmpPageEmpty16} -\pastebutton{KeyedAccessFileXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{write!(ey, ["Calmet", 1982]$KE)\bound{eyccB }\free{eycc }} -\indentrel{3}\begin{verbatim} - (16) [key= "Calmet",entry= 1982] - Type: Record(key: String,entry: Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPageEmpty16} -\begin{paste}{KeyedAccessFileXmpPageEmpty16}{KeyedAccessFileXmpPagePatch16} -\pastebutton{KeyedAccessFileXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{write!(ey, ["Calmet", 1982]$KE)\bound{eyccB }\free{eycc }} -\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPagePatch17} -\begin{paste}{KeyedAccessFileXmpPageFull17}{KeyedAccessFileXmpPageEmpty17} -\pastebutton{KeyedAccessFileXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{write!(ey, ["Wang", 1981]$KE)\bound{eyccC }\free{eycc }} -\indentrel{3}\begin{verbatim} - (17) [key= "Wang",entry= 1981] - Type: Record(key: String,entry: Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPageEmpty17} -\begin{paste}{KeyedAccessFileXmpPageEmpty17}{KeyedAccessFileXmpPagePatch17} -\pastebutton{KeyedAccessFileXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{write!(ey, ["Wang", 1981]$KE)\bound{eyccC }\free{eycc }} -\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPagePatch18} -\begin{paste}{KeyedAccessFileXmpPageFull18}{KeyedAccessFileXmpPageEmpty18} -\pastebutton{KeyedAccessFileXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{close! ey\free{eyccA eyccB eyccC }\bound{eydd }} -\indentrel{3}\begin{verbatim} - (18) "/tmp/editor.year" - Type: KeyedAccessFile Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPageEmpty18} -\begin{paste}{KeyedAccessFileXmpPageEmpty18}{KeyedAccessFileXmpPagePatch18} -\pastebutton{KeyedAccessFileXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{close! ey\free{eyccA eyccB eyccC }\bound{eydd }} -\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPagePatch19} -\begin{paste}{KeyedAccessFileXmpPageFull19}{KeyedAccessFileXmpPageEmpty19} -\pastebutton{KeyedAccessFileXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{keys ey\free{eydd }} -\indentrel{3}\begin{verbatim} - (19) - ["Wang","Calmet","van Hulzen","Fitch","Caviness"] - Type: List String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPageEmpty19} -\begin{paste}{KeyedAccessFileXmpPageEmpty19}{KeyedAccessFileXmpPagePatch19} -\pastebutton{KeyedAccessFileXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{keys ey\free{eydd }} -\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPagePatch20} -\begin{paste}{KeyedAccessFileXmpPageFull20}{KeyedAccessFileXmpPageEmpty20} -\pastebutton{KeyedAccessFileXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{members ey\free{eydd }} -\indentrel{3}\begin{verbatim} - (20) [1981,1982,1983,1984,1985] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPageEmpty20} -\begin{paste}{KeyedAccessFileXmpPageEmpty20}{KeyedAccessFileXmpPagePatch20} -\pastebutton{KeyedAccessFileXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{members ey\free{eydd }} -\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPagePatch21} -\begin{paste}{KeyedAccessFileXmpPageFull21}{KeyedAccessFileXmpPageEmpty21} -\pastebutton{KeyedAccessFileXmpPageFull21}{\hidepaste} -\tab{5}\spadcommand{)system rm -r /tmp/editor.year\free{ey }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KeyedAccessFileXmpPageEmpty21} -\begin{paste}{KeyedAccessFileXmpPageEmpty21}{KeyedAccessFileXmpPagePatch21} -\pastebutton{KeyedAccessFileXmpPageEmpty21}{\showpaste} -\tab{5}\spadcommand{)system rm -r /tmp/editor.year\free{ey }} -\end{paste}\end{patch} - diff --git a/books/pages/kernel.pht b/books/pages/kernel.pht deleted file mode 100644 index c005dd6..0000000 --- a/books/pages/kernel.pht +++ /dev/null @@ -1,305 +0,0 @@ -\begin{patch}{KernelXmpPagePatch1} -\begin{paste}{KernelXmpPageFull1}{KernelXmpPageEmpty1} -\pastebutton{KernelXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{x :: Expression Integer} -\indentrel{3}\begin{verbatim} - (1) x - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KernelXmpPageEmpty1} -\begin{paste}{KernelXmpPageEmpty1}{KernelXmpPagePatch1} -\pastebutton{KernelXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{x :: Expression Integer} -\end{paste}\end{patch} - -\begin{patch}{KernelXmpPagePatch2} -\begin{paste}{KernelXmpPageFull2}{KernelXmpPageEmpty2} -\pastebutton{KernelXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{kernel x} -\indentrel{3}\begin{verbatim} - (2) x - Type: Kernel Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KernelXmpPageEmpty2} -\begin{paste}{KernelXmpPageEmpty2}{KernelXmpPagePatch2} -\pastebutton{KernelXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{kernel x} -\end{paste}\end{patch} - -\begin{patch}{KernelXmpPagePatch3} -\begin{paste}{KernelXmpPageFull3}{KernelXmpPageEmpty3} -\pastebutton{KernelXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{sin(x) + cos(x)\bound{sincos }} -\indentrel{3}\begin{verbatim} - (3) sin(x) + cos(x) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KernelXmpPageEmpty3} -\begin{paste}{KernelXmpPageEmpty3}{KernelXmpPagePatch3} -\pastebutton{KernelXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{sin(x) + cos(x)\bound{sincos }} -\end{paste}\end{patch} - -\begin{patch}{KernelXmpPagePatch4} -\begin{paste}{KernelXmpPageFull4}{KernelXmpPageEmpty4} -\pastebutton{KernelXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{kernels \%\free{sincos }} -\indentrel{3}\begin{verbatim} - (4) [sin(x),cos(x)] - Type: List Kernel Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KernelXmpPageEmpty4} -\begin{paste}{KernelXmpPageEmpty4}{KernelXmpPagePatch4} -\pastebutton{KernelXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{kernels \%\free{sincos }} -\end{paste}\end{patch} - -\begin{patch}{KernelXmpPagePatch5} -\begin{paste}{KernelXmpPageFull5}{KernelXmpPageEmpty5} -\pastebutton{KernelXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{sin(x)**2 + sin(x) + cos(x)\bound{sincos2 }} -\indentrel{3}\begin{verbatim} - 2 - (5) sin(x) + sin(x) + cos(x) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KernelXmpPageEmpty5} -\begin{paste}{KernelXmpPageEmpty5}{KernelXmpPagePatch5} -\pastebutton{KernelXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{sin(x)**2 + sin(x) + cos(x)\bound{sincos2 }} -\end{paste}\end{patch} - -\begin{patch}{KernelXmpPagePatch6} -\begin{paste}{KernelXmpPageFull6}{KernelXmpPageEmpty6} -\pastebutton{KernelXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{kernels \%\free{sincos2 }} -\indentrel{3}\begin{verbatim} - (6) [sin(x),cos(x)] - Type: List Kernel Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KernelXmpPageEmpty6} -\begin{paste}{KernelXmpPageEmpty6}{KernelXmpPagePatch6} -\pastebutton{KernelXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{kernels \%\free{sincos2 }} -\end{paste}\end{patch} - -\begin{patch}{KernelXmpPagePatch7} -\begin{paste}{KernelXmpPageFull7}{KernelXmpPageEmpty7} -\pastebutton{KernelXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{kernels(1 :: Expression Integer)} -\indentrel{3}\begin{verbatim} - (7) [] - Type: List Kernel Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KernelXmpPageEmpty7} -\begin{paste}{KernelXmpPageEmpty7}{KernelXmpPagePatch7} -\pastebutton{KernelXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{kernels(1 :: Expression Integer)} -\end{paste}\end{patch} - -\begin{patch}{KernelXmpPagePatch8} -\begin{paste}{KernelXmpPageFull8}{KernelXmpPageEmpty8} -\pastebutton{KernelXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{mainKernel(cos(x) + tan(x))} -\indentrel{3}\begin{verbatim} - (8) tan(x) - Type: Union(Kernel Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KernelXmpPageEmpty8} -\begin{paste}{KernelXmpPageEmpty8}{KernelXmpPagePatch8} -\pastebutton{KernelXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{mainKernel(cos(x) + tan(x))} -\end{paste}\end{patch} - -\begin{patch}{KernelXmpPagePatch9} -\begin{paste}{KernelXmpPageFull9}{KernelXmpPageEmpty9} -\pastebutton{KernelXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{height kernel x} -\indentrel{3}\begin{verbatim} - (9) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KernelXmpPageEmpty9} -\begin{paste}{KernelXmpPageEmpty9}{KernelXmpPagePatch9} -\pastebutton{KernelXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{height kernel x} -\end{paste}\end{patch} - -\begin{patch}{KernelXmpPagePatch10} -\begin{paste}{KernelXmpPageFull10}{KernelXmpPageEmpty10} -\pastebutton{KernelXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{height mainKernel(sin x)} -\indentrel{3}\begin{verbatim} - (10) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KernelXmpPageEmpty10} -\begin{paste}{KernelXmpPageEmpty10}{KernelXmpPagePatch10} -\pastebutton{KernelXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{height mainKernel(sin x)} -\end{paste}\end{patch} - -\begin{patch}{KernelXmpPagePatch11} -\begin{paste}{KernelXmpPageFull11}{KernelXmpPageEmpty11} -\pastebutton{KernelXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{height mainKernel(sin cos x)} -\indentrel{3}\begin{verbatim} - (11) 3 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KernelXmpPageEmpty11} -\begin{paste}{KernelXmpPageEmpty11}{KernelXmpPagePatch11} -\pastebutton{KernelXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{height mainKernel(sin cos x)} -\end{paste}\end{patch} - -\begin{patch}{KernelXmpPagePatch12} -\begin{paste}{KernelXmpPageFull12}{KernelXmpPageEmpty12} -\pastebutton{KernelXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{height mainKernel(sin cos (tan x + sin x))} -\indentrel{3}\begin{verbatim} - (12) 4 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KernelXmpPageEmpty12} -\begin{paste}{KernelXmpPageEmpty12}{KernelXmpPagePatch12} -\pastebutton{KernelXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{height mainKernel(sin cos (tan x + sin x))} -\end{paste}\end{patch} - -\begin{patch}{KernelXmpPagePatch13} -\begin{paste}{KernelXmpPageFull13}{KernelXmpPageEmpty13} -\pastebutton{KernelXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{operator mainKernel(sin cos (tan x + sin x))} -\indentrel{3}\begin{verbatim} - (13) sin - Type: BasicOperator -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KernelXmpPageEmpty13} -\begin{paste}{KernelXmpPageEmpty13}{KernelXmpPagePatch13} -\pastebutton{KernelXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{operator mainKernel(sin cos (tan x + sin x))} -\end{paste}\end{patch} - -\begin{patch}{KernelXmpPagePatch14} -\begin{paste}{KernelXmpPageFull14}{KernelXmpPageEmpty14} -\pastebutton{KernelXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{name mainKernel(sin cos (tan x + sin x))} -\indentrel{3}\begin{verbatim} - (14) sin - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KernelXmpPageEmpty14} -\begin{paste}{KernelXmpPageEmpty14}{KernelXmpPagePatch14} -\pastebutton{KernelXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{name mainKernel(sin cos (tan x + sin x))} -\end{paste}\end{patch} - -\begin{patch}{KernelXmpPagePatch15} -\begin{paste}{KernelXmpPageFull15}{KernelXmpPageEmpty15} -\pastebutton{KernelXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{f := operator 'f\bound{f }} -\indentrel{3}\begin{verbatim} - (15) f - Type: BasicOperator -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KernelXmpPageEmpty15} -\begin{paste}{KernelXmpPageEmpty15}{KernelXmpPagePatch15} -\pastebutton{KernelXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{f := operator 'f\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{KernelXmpPagePatch16} -\begin{paste}{KernelXmpPageFull16}{KernelXmpPageEmpty16} -\pastebutton{KernelXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{e := f(x, y, 10)\free{f }\bound{e }} -\indentrel{3}\begin{verbatim} - (16) f(x,y,10) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KernelXmpPageEmpty16} -\begin{paste}{KernelXmpPageEmpty16}{KernelXmpPagePatch16} -\pastebutton{KernelXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{e := f(x, y, 10)\free{f }\bound{e }} -\end{paste}\end{patch} - -\begin{patch}{KernelXmpPagePatch17} -\begin{paste}{KernelXmpPageFull17}{KernelXmpPageEmpty17} -\pastebutton{KernelXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{is?(e, f)\free{f e }} -\indentrel{3}\begin{verbatim} - (17) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KernelXmpPageEmpty17} -\begin{paste}{KernelXmpPageEmpty17}{KernelXmpPagePatch17} -\pastebutton{KernelXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{is?(e, f)\free{f e }} -\end{paste}\end{patch} - -\begin{patch}{KernelXmpPagePatch18} -\begin{paste}{KernelXmpPageFull18}{KernelXmpPageEmpty18} -\pastebutton{KernelXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{is?(e, 'f)\free{e }} -\indentrel{3}\begin{verbatim} - (18) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KernelXmpPageEmpty18} -\begin{paste}{KernelXmpPageEmpty18}{KernelXmpPagePatch18} -\pastebutton{KernelXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{is?(e, 'f)\free{e }} -\end{paste}\end{patch} - -\begin{patch}{KernelXmpPagePatch19} -\begin{paste}{KernelXmpPageFull19}{KernelXmpPageEmpty19} -\pastebutton{KernelXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{argument mainKernel e\free{f }\free{e }} -\indentrel{3}\begin{verbatim} - (19) [x,y,10] - Type: List Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{KernelXmpPageEmpty19} -\begin{paste}{KernelXmpPageEmpty19}{KernelXmpPagePatch19} -\pastebutton{KernelXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{argument mainKernel e\free{f }\free{e }} -\end{paste}\end{patch} - diff --git a/books/pages/lazm3pk.pht b/books/pages/lazm3pk.pht deleted file mode 100644 index 5afd80f..0000000 --- a/books/pages/lazm3pk.pht +++ /dev/null @@ -1,955 +0,0 @@ -\begin{patch}{LazardSetSolvingPackageXmpPagePatch1} -\begin{paste}{LazardSetSolvingPackageXmpPageFull1}{LazardSetSolvingPackageXmpPageEmpty1} -\pastebutton{LazardSetSolvingPackageXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{R := Integer\bound{R }} -\indentrel{3}\begin{verbatim} - (1) Integer - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty1} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty1}{LazardSetSolvingPackageXmpPagePatch1} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{R := Integer\bound{R }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch2} -\begin{paste}{LazardSetSolvingPackageXmpPageFull2}{LazardSetSolvingPackageXmpPageEmpty2} -\pastebutton{LazardSetSolvingPackageXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{ls : List Symbol := [b1,x,y,z,t,v,u,w]\bound{ls }} -\indentrel{3}\begin{verbatim} - (2) [b1,x,y,z,t,v,u,w] - Type: List Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty2} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty2}{LazardSetSolvingPackageXmpPagePatch2} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{ls : List Symbol := [b1,x,y,z,t,v,u,w]\bound{ls }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch3} -\begin{paste}{LazardSetSolvingPackageXmpPageFull3}{LazardSetSolvingPackageXmpPageEmpty3} -\pastebutton{LazardSetSolvingPackageXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{V := OVAR(ls)\free{ls }\bound{V }} -\indentrel{3}\begin{verbatim} - (3) OrderedVariableList [b1,x,y,z,t,v,u,w] - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty3} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty3}{LazardSetSolvingPackageXmpPagePatch3} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{V := OVAR(ls)\free{ls }\bound{V }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch4} -\begin{paste}{LazardSetSolvingPackageXmpPageFull4}{LazardSetSolvingPackageXmpPageEmpty4} -\pastebutton{LazardSetSolvingPackageXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{E := IndexedExponents V\free{V }\bound{E }} -\indentrel{3}\begin{verbatim} - (4) - IndexedExponents OrderedVariableList [b1,x,y,z,t,v,u,w] - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty4} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty4}{LazardSetSolvingPackageXmpPagePatch4} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{E := IndexedExponents V\free{V }\bound{E }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch5} -\begin{paste}{LazardSetSolvingPackageXmpPageFull5}{LazardSetSolvingPackageXmpPageEmpty5} -\pastebutton{LazardSetSolvingPackageXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{P := NSMP(R, V)\free{R }\free{V }\bound{P }} -\indentrel{3}\begin{verbatim} - (5) - NewSparseMultivariatePolynomial(Integer,OrderedVariable - List [b1,x,y,z,t,v,u,w]) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty5} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty5}{LazardSetSolvingPackageXmpPagePatch5} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{P := NSMP(R, V)\free{R }\free{V }\bound{P }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch6} -\begin{paste}{LazardSetSolvingPackageXmpPageFull6}{LazardSetSolvingPackageXmpPageEmpty6} -\pastebutton{LazardSetSolvingPackageXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{b1: P := 'b1\free{P }\bound{b1 }} -\indentrel{3}\begin{verbatim} - (6) b1 -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty6} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty6}{LazardSetSolvingPackageXmpPagePatch6} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{b1: P := 'b1\free{P }\bound{b1 }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch7} -\begin{paste}{LazardSetSolvingPackageXmpPageFull7}{LazardSetSolvingPackageXmpPageEmpty7} -\pastebutton{LazardSetSolvingPackageXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{x: P := 'x\free{P }\bound{x }} -\indentrel{3}\begin{verbatim} - (7) x -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty7} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty7}{LazardSetSolvingPackageXmpPagePatch7} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{x: P := 'x\free{P }\bound{x }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch8} -\begin{paste}{LazardSetSolvingPackageXmpPageFull8}{LazardSetSolvingPackageXmpPageEmpty8} -\pastebutton{LazardSetSolvingPackageXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{y: P := 'y\free{P }\bound{y }} -\indentrel{3}\begin{verbatim} - (8) y -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty8} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty8}{LazardSetSolvingPackageXmpPagePatch8} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{y: P := 'y\free{P }\bound{y }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch9} -\begin{paste}{LazardSetSolvingPackageXmpPageFull9}{LazardSetSolvingPackageXmpPageEmpty9} -\pastebutton{LazardSetSolvingPackageXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{z: P := 'z\free{P }\bound{z }} -\indentrel{3}\begin{verbatim} - (9) z -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty9} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty9}{LazardSetSolvingPackageXmpPagePatch9} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{z: P := 'z\free{P }\bound{z }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch10} -\begin{paste}{LazardSetSolvingPackageXmpPageFull10}{LazardSetSolvingPackageXmpPageEmpty10} -\pastebutton{LazardSetSolvingPackageXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{t: P := 't\free{P }\bound{t }} -\indentrel{3}\begin{verbatim} - (10) t -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty10} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty10}{LazardSetSolvingPackageXmpPagePatch10} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{t: P := 't\free{P }\bound{t }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch11} -\begin{paste}{LazardSetSolvingPackageXmpPageFull11}{LazardSetSolvingPackageXmpPageEmpty11} -\pastebutton{LazardSetSolvingPackageXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{u: P := 'u\free{P }\bound{u }} -\indentrel{3}\begin{verbatim} - (11) u -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty11} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty11}{LazardSetSolvingPackageXmpPagePatch11} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{u: P := 'u\free{P }\bound{u }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch12} -\begin{paste}{LazardSetSolvingPackageXmpPageFull12}{LazardSetSolvingPackageXmpPageEmpty12} -\pastebutton{LazardSetSolvingPackageXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{v: P := 'v\free{P }\bound{v }} -\indentrel{3}\begin{verbatim} - (12) v -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty12} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty12}{LazardSetSolvingPackageXmpPagePatch12} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{v: P := 'v\free{P }\bound{v }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch13} -\begin{paste}{LazardSetSolvingPackageXmpPageFull13}{LazardSetSolvingPackageXmpPageEmpty13} -\pastebutton{LazardSetSolvingPackageXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{w: P := 'w\free{P }\bound{w }} -\indentrel{3}\begin{verbatim} - (13) w -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty13} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty13}{LazardSetSolvingPackageXmpPagePatch13} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{w: P := 'w\free{P }\bound{w }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch14} -\begin{paste}{LazardSetSolvingPackageXmpPageFull14}{LazardSetSolvingPackageXmpPageEmpty14} -\pastebutton{LazardSetSolvingPackageXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{T := REGSET(R,E,V,P)\free{R }\free{E }\free{V }\free{P }\bound{T }} -\indentrel{3}\begin{verbatim} - (14) - RegularTriangularSet(Integer,IndexedExponents OrderedVa - riableList [b1,x,y,z,t,v,u,w],OrderedVariableList [b1,x - ,y,z,t,v,u,w],NewSparseMultivariatePolynomial(Integer,O - rderedVariableList [b1,x,y,z,t,v,u,w])) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty14} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty14}{LazardSetSolvingPackageXmpPagePatch14} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{T := REGSET(R,E,V,P)\free{R }\free{E }\free{V }\free{P }\bound{T }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch15} -\begin{paste}{LazardSetSolvingPackageXmpPageFull15}{LazardSetSolvingPackageXmpPageEmpty15} -\pastebutton{LazardSetSolvingPackageXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{p0 := b1 + y + z - t - w\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p0 }} -\indentrel{3}\begin{verbatim} - (15) b1 + y + z - t - w -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty15} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty15}{LazardSetSolvingPackageXmpPagePatch15} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{p0 := b1 + y + z - t - w\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p0 }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch16} -\begin{paste}{LazardSetSolvingPackageXmpPageFull16}{LazardSetSolvingPackageXmpPageEmpty16} -\pastebutton{LazardSetSolvingPackageXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{p1 := 2*z*u + 2*y*v + 2*t*w - 2*w**2 - w - 1\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p1 }} -\indentrel{3}\begin{verbatim} - 2 - (16) 2v y + 2u z + 2w t - 2w - w - 1 -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty16} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty16}{LazardSetSolvingPackageXmpPagePatch16} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{p1 := 2*z*u + 2*y*v + 2*t*w - 2*w**2 - w - 1\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p1 }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch17} -\begin{paste}{LazardSetSolvingPackageXmpPageFull17}{LazardSetSolvingPackageXmpPageEmpty17} -\pastebutton{LazardSetSolvingPackageXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{p2 := 3*z*u**2 + 3*y*v**2 - 3*t*w**2 + 3*w**3 + 3*w**2 - t + 4*w\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p2 }} -\indentrel{3}\begin{verbatim} - 2 2 2 3 2 - (17) 3v y + 3u z + (- 3w - 1)t + 3w + 3w + 4w -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty17} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty17}{LazardSetSolvingPackageXmpPagePatch17} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{p2 := 3*z*u**2 + 3*y*v**2 - 3*t*w**2 + 3*w**3 + 3*w**2 - t + 4*w\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p2 }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch18} -\begin{paste}{LazardSetSolvingPackageXmpPageFull18}{LazardSetSolvingPackageXmpPageEmpty18} -\pastebutton{LazardSetSolvingPackageXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{p3 := 6*x*z*v - 6*t*w**2 + 6*w**3 - 3*t*w + 6*w**2 - t + 4*w\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p3 }} -\indentrel{3}\begin{verbatim} - 2 3 2 - (18) 6v z x + (- 6w - 3w - 1)t + 6w + 6w + 4w -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty18} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty18}{LazardSetSolvingPackageXmpPagePatch18} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{p3 := 6*x*z*v - 6*t*w**2 + 6*w**3 - 3*t*w + 6*w**2 - t + 4*w\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p3 }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch19} -\begin{paste}{LazardSetSolvingPackageXmpPageFull19}{LazardSetSolvingPackageXmpPageEmpty19} -\pastebutton{LazardSetSolvingPackageXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{p4 := 4*z*u**3+ 4*y*v**3+ 4*t*w**3- 4*w**4 - 6*w**3+ 4*t*w- 10*w**2- w- 1\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p4 }} -\indentrel{3}\begin{verbatim} - (19) - 3 3 3 4 3 2 - 4v y + 4u z + (4w + 4w)t - 4w - 6w - 10w - w - 1 -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty19} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty19}{LazardSetSolvingPackageXmpPagePatch19} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{p4 := 4*z*u**3+ 4*y*v**3+ 4*t*w**3- 4*w**4 - 6*w**3+ 4*t*w- 10*w**2- w- 1\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p4 }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch20} -\begin{paste}{LazardSetSolvingPackageXmpPageFull20}{LazardSetSolvingPackageXmpPageEmpty20} -\pastebutton{LazardSetSolvingPackageXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{p5 := 8*x*z*u*v +8*t*w**3 -8*w**4 +4*t*w**2 -12*w**3 +4*t*w -14*w**2 -3*w -1\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p5 }} -\indentrel{3}\begin{verbatim} - (20) - 3 2 4 3 2 - 8u v z x + (8w + 4w + 4w)t - 8w - 12w - 14w - 3w - + - - 1 -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty20} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty20}{LazardSetSolvingPackageXmpPagePatch20} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{p5 := 8*x*z*u*v +8*t*w**3 -8*w**4 +4*t*w**2 -12*w**3 +4*t*w -14*w**2 -3*w -1\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p5 }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch21} -\begin{paste}{LazardSetSolvingPackageXmpPageFull21}{LazardSetSolvingPackageXmpPageEmpty21} -\pastebutton{LazardSetSolvingPackageXmpPageFull21}{\hidepaste} -\tab{5}\spadcommand{p6 := 12*x*z*v**2+12*t*w**3 -12*w**4 +12*t*w**2 -18*w**3 +8*t*w -14*w**2 -w -1\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p6 }} -\indentrel{3}\begin{verbatim} - (21) - 2 3 2 4 3 2 - 12v z x + (12w + 12w + 8w)t - 12w - 18w - 14w - + - - w - 1 -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty21} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty21}{LazardSetSolvingPackageXmpPagePatch21} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty21}{\showpaste} -\tab{5}\spadcommand{p6 := 12*x*z*v**2+12*t*w**3 -12*w**4 +12*t*w**2 -18*w**3 +8*t*w -14*w**2 -w -1\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p6 }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch22} -\begin{paste}{LazardSetSolvingPackageXmpPageFull22}{LazardSetSolvingPackageXmpPageEmpty22} -\pastebutton{LazardSetSolvingPackageXmpPageFull22}{\hidepaste} -\tab{5}\spadcommand{p7 := -24*t*w**3 + 24*w**4 - 24*t*w**2 + 36*w**3 - 8*t*w + 26*w**2 + 7*w + 1\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p7 }} -\indentrel{3}\begin{verbatim} - (22) - 3 2 4 3 2 - (- 24w - 24w - 8w)t + 24w + 36w + 26w + 7w + 1 -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty22} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty22}{LazardSetSolvingPackageXmpPagePatch22} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty22}{\showpaste} -\tab{5}\spadcommand{p7 := -24*t*w**3 + 24*w**4 - 24*t*w**2 + 36*w**3 - 8*t*w + 26*w**2 + 7*w + 1\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{p7 }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch23} -\begin{paste}{LazardSetSolvingPackageXmpPageFull23}{LazardSetSolvingPackageXmpPageEmpty23} -\pastebutton{LazardSetSolvingPackageXmpPageFull23}{\hidepaste} -\tab{5}\spadcommand{lp := [p0, p1, p2, p3, p4, p5, p6, p7]\free{p0 }\free{p1 }\free{p2 }\free{p3 }\free{p4 }\free{p5 }\free{p6 }\free{p7 }\bound{lp }} -\indentrel{3}\begin{verbatim} - (23) - 2 - [b1 + y + z - t - w, 2v y + 2u z + 2w t - 2w - w - 1, - 2 2 2 3 2 - 3v y + 3u z + (- 3w - 1)t + 3w + 3w + 4w, - 2 3 2 - 6v z x + (- 6w - 3w - 1)t + 6w + 6w + 4w, - 3 3 3 4 3 2 - 4v y + 4u z + (4w + 4w)t - 4w - 6w - 10w - w - 1, - - 3 2 4 3 2 - 8u v z x + (8w + 4w + 4w)t - 8w - 12w - 14w - + - - 3w - 1 - , - - 2 3 2 4 3 2 - 12v z x + (12w + 12w + 8w)t - 12w - 18w - 14w - + - - w - 1 - , - 3 2 4 3 2 - (- 24w - 24w - 8w)t + 24w + 36w + 26w + 7w + 1] -Type: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty23} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty23}{LazardSetSolvingPackageXmpPagePatch23} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty23}{\showpaste} -\tab{5}\spadcommand{lp := [p0, p1, p2, p3, p4, p5, p6, p7]\free{p0 }\free{p1 }\free{p2 }\free{p3 }\free{p4 }\free{p5 }\free{p6 }\free{p7 }\bound{lp }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch24} -\begin{paste}{LazardSetSolvingPackageXmpPageFull24}{LazardSetSolvingPackageXmpPageEmpty24} -\pastebutton{LazardSetSolvingPackageXmpPageFull24}{\hidepaste} -\tab{5}\spadcommand{lts := zeroSetSplit(lp,false)$T\free{lp }\free{T }\bound{lts }} -\indentrel{3}\begin{verbatim} - (24) - [{w + 1,u,v,t + 1,b1 + y + z + 2}, - {w + 1,v,t + 1,z,b1 + y + 2}, - {w + 1,t + 1,z,y,b1 + 2}, - {w + 1,v - u,t + 1,y + z,x,b1 + 2}, - {w + 1,u,t + 1,y,x,b1 + z + 2}, - - 5 4 3 2 - {144w + 216w + 96w + 6w - 11w - 1, - 2 5 4 3 2 - (12w + 9w + 1)u - 72w - 108w - 42w - 9w - 3w, - 2 4 3 2 - (12w + 9w + 1)v + 36w + 54w + 18w , - 3 2 4 3 2 - (24w + 24w + 8w)t - 24w - 36w - 26w - 7w - 1, - - 2 2 - (12u v - 12u )z + (12w v + 12w + 4)t + (3w - 5)v - + - 4 3 2 - 36w + 42w + 6w - 16w - , - 2 - 2v y + 2u z + 2w t - 2w - w - 1, - 2 3 2 - 6v z x + (- 6w - 3w - 1)t + 6w + 6w + 4w, - b1 + y + z - t - w} - ] -Type: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [b1,x,y,z,t,v,u,w],OrderedVariableList [b1,x,y,z,t,v,u,w],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w])) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty24} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty24}{LazardSetSolvingPackageXmpPagePatch24} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty24}{\showpaste} -\tab{5}\spadcommand{lts := zeroSetSplit(lp,false)$T\free{lp }\free{T }\bound{lts }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch25} -\begin{paste}{LazardSetSolvingPackageXmpPageFull25}{LazardSetSolvingPackageXmpPageEmpty25} -\pastebutton{LazardSetSolvingPackageXmpPageFull25}{\hidepaste} -\tab{5}\spadcommand{[coHeight(ts) for ts in lts]\free{lts }} -\indentrel{3}\begin{verbatim} - (25) [3,3,3,2,2,0] - Type: List NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty25} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty25}{LazardSetSolvingPackageXmpPagePatch25} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty25}{\showpaste} -\tab{5}\spadcommand{[coHeight(ts) for ts in lts]\free{lts }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch26} -\begin{paste}{LazardSetSolvingPackageXmpPageFull26}{LazardSetSolvingPackageXmpPageEmpty26} -\pastebutton{LazardSetSolvingPackageXmpPageFull26}{\hidepaste} -\tab{5}\spadcommand{ST := SREGSET(R,E,V,P)\free{R }\free{E }\free{V }\free{P }\bound{ST }} -\indentrel{3}\begin{verbatim} - (26) - SquareFreeRegularTriangularSet(Integer,IndexedExponents - OrderedVariableList [b1,x,y,z,t,v,u,w],OrderedVariable - List [b1,x,y,z,t,v,u,w],NewSparseMultivariatePolynomial - (Integer,OrderedVariableList [b1,x,y,z,t,v,u,w])) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty26} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty26}{LazardSetSolvingPackageXmpPagePatch26} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty26}{\showpaste} -\tab{5}\spadcommand{ST := SREGSET(R,E,V,P)\free{R }\free{E }\free{V }\free{P }\bound{ST }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch27} -\begin{paste}{LazardSetSolvingPackageXmpPageFull27}{LazardSetSolvingPackageXmpPageEmpty27} -\pastebutton{LazardSetSolvingPackageXmpPageFull27}{\hidepaste} -\tab{5}\spadcommand{pack := LAZM3PK(R,E,V,P,T,ST)\free{R }\free{E }\free{V }\free{P }\free{T }\free{ST }\bound{pack }} -\indentrel{3}\begin{verbatim} - (27) - LazardSetSolvingPackage(Integer,IndexedExponents Ordere - dVariableList [b1,x,y,z,t,v,u,w],OrderedVariableList [b - 1,x,y,z,t,v,u,w],NewSparseMultivariatePolynomial(Intege - r,OrderedVariableList [b1,x,y,z,t,v,u,w]),RegularTriang - ularSet(Integer,IndexedExponents OrderedVariableList [b - 1,x,y,z,t,v,u,w],OrderedVariableList [b1,x,y,z,t,v,u,w] - ,NewSparseMultivariatePolynomial(Integer,OrderedVariabl - eList [b1,x,y,z,t,v,u,w])),SquareFreeRegularTriangularS - et(Integer,IndexedExponents OrderedVariableList [b1,x,y - ,z,t,v,u,w],OrderedVariableList [b1,x,y,z,t,v,u,w],NewS - parseMultivariatePolynomial(Integer,OrderedVariableList - [b1,x,y,z,t,v,u,w]))) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty27} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty27}{LazardSetSolvingPackageXmpPagePatch27} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty27}{\showpaste} -\tab{5}\spadcommand{pack := LAZM3PK(R,E,V,P,T,ST)\free{R }\free{E }\free{V }\free{P }\free{T }\free{ST }\bound{pack }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch28} -\begin{paste}{LazardSetSolvingPackageXmpPageFull28}{LazardSetSolvingPackageXmpPageEmpty28} -\pastebutton{LazardSetSolvingPackageXmpPageFull28}{\hidepaste} -\tab{5}\spadcommand{zeroSetSplit(lp,false)$pack\free{lp }\free{pack }} -\indentrel{3}\begin{verbatim} - (28) - [{w + 1,t + 1,z,y,b1 + 2}, - {w + 1,v,t + 1,z,b1 + y + 2}, - {w + 1,u,v,t + 1,b1 + y + z + 2}, - {w + 1,v - u,t + 1,y + z,x,b1 + 2}, - {w + 1,u,t + 1,y,x,b1 + z + 2}, - - 5 4 3 2 - {144w + 216w + 96w + 6w - 11w - 1, - 4 3 2 - u - 24w - 36w - 14w + w + 1, - 4 3 2 - 3v - 48w - 60w - 10w + 8w + 2, - 4 3 2 - t - 24w - 36w - 14w - w + 1, - 4 3 2 - 486z - 2772w - 4662w - 2055w + 30w + 127, - 4 3 2 - 2916y - 22752w - 30312w - 8220w + 2064w + 1561, - 4 3 2 - 356x - 3696w - 4536w - 968w + 822w + 371, - 4 3 2 - 2916b1 - 30600w - 46692w - 20274w - 8076w + 593} - ] -Type: List SquareFreeRegularTriangularSet(Integer,IndexedExponents OrderedVariableList [b1,x,y,z,t,v,u,w],OrderedVariableList [b1,x,y,z,t,v,u,w],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w])) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty28} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty28}{LazardSetSolvingPackageXmpPagePatch28} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty28}{\showpaste} -\tab{5}\spadcommand{zeroSetSplit(lp,false)$pack\free{lp }\free{pack }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch29} -\begin{paste}{LazardSetSolvingPackageXmpPageFull29}{LazardSetSolvingPackageXmpPageEmpty29} -\pastebutton{LazardSetSolvingPackageXmpPageFull29}{\hidepaste} -\tab{5}\spadcommand{f0 := (w - v) ** 2 + (u - t) ** 2 - 1\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{f0 }} -\indentrel{3}\begin{verbatim} - 2 2 2 2 - (29) t - 2u t + v - 2w v + u + w - 1 -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty29} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty29}{LazardSetSolvingPackageXmpPagePatch29} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty29}{\showpaste} -\tab{5}\spadcommand{f0 := (w - v) ** 2 + (u - t) ** 2 - 1\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{f0 }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch30} -\begin{paste}{LazardSetSolvingPackageXmpPageFull30}{LazardSetSolvingPackageXmpPageEmpty30} -\pastebutton{LazardSetSolvingPackageXmpPageFull30}{\hidepaste} -\tab{5}\spadcommand{f1 := t ** 2 - v ** 3\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{f1 }} -\indentrel{3}\begin{verbatim} - 2 3 - (30) t - v -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty30} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty30}{LazardSetSolvingPackageXmpPagePatch30} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty30}{\showpaste} -\tab{5}\spadcommand{f1 := t ** 2 - v ** 3\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{f1 }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch31} -\begin{paste}{LazardSetSolvingPackageXmpPageFull31}{LazardSetSolvingPackageXmpPageEmpty31} -\pastebutton{LazardSetSolvingPackageXmpPageFull31}{\hidepaste} -\tab{5}\spadcommand{f2 := 2 * t * (w - v) + 3 * v ** 2 * (u - t)\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{f2 }} -\indentrel{3}\begin{verbatim} - 2 2 - (31) (- 3v - 2v + 2w)t + 3u v -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty31} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty31}{LazardSetSolvingPackageXmpPagePatch31} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty31}{\showpaste} -\tab{5}\spadcommand{f2 := 2 * t * (w - v) + 3 * v ** 2 * (u - t)\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{f2 }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch32} -\begin{paste}{LazardSetSolvingPackageXmpPageFull32}{LazardSetSolvingPackageXmpPageEmpty32} -\pastebutton{LazardSetSolvingPackageXmpPageFull32}{\hidepaste} -\tab{5}\spadcommand{f3 := (3 * z * v ** 2 - 1) * (2 * z * t - 1)\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{f3 }} -\indentrel{3}\begin{verbatim} - 2 2 2 - (32) 6v t z + (- 2t - 3v )z + 1 -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty32} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty32}{LazardSetSolvingPackageXmpPagePatch32} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty32}{\showpaste} -\tab{5}\spadcommand{f3 := (3 * z * v ** 2 - 1) * (2 * z * t - 1)\free{b1 }\free{x }\free{y }\free{z }\free{t }\free{u }\free{v }\free{w }\bound{f3 }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch33} -\begin{paste}{LazardSetSolvingPackageXmpPageFull33}{LazardSetSolvingPackageXmpPageEmpty33} -\pastebutton{LazardSetSolvingPackageXmpPageFull33}{\hidepaste} -\tab{5}\spadcommand{lf := [f0, f1, f2, f3]\free{f0 }\free{f1 }\free{f2 }\free{f3 }\bound{lf }} -\indentrel{3}\begin{verbatim} - (33) - 2 2 2 2 2 3 - [t - 2u t + v - 2w v + u + w - 1, t - v , - 2 2 - (- 3v - 2v + 2w)t + 3u v , - 2 2 2 - 6v t z + (- 2t - 3v )z + 1] -Type: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty33} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty33}{LazardSetSolvingPackageXmpPagePatch33} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty33}{\showpaste} -\tab{5}\spadcommand{lf := [f0, f1, f2, f3]\free{f0 }\free{f1 }\free{f2 }\free{f3 }\bound{lf }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch34} -\begin{paste}{LazardSetSolvingPackageXmpPageFull34}{LazardSetSolvingPackageXmpPageEmpty34} -\pastebutton{LazardSetSolvingPackageXmpPageFull34}{\hidepaste} -\tab{5}\spadcommand{zeroSetSplit(lf,true)$T\free{lf }\free{T }} -\indentrel{3}\begin{verbatim} - (34) - [ - { - 6 3 2 4 - 729u + (- 1458w + 729w - 4158w - 1685)u - + - 6 5 4 3 2 - 729w - 1458w - 2619w - 4892w - 297w - + - 5814w + 427 - * - 2 - u - + - 8 7 6 5 4 3 - 729w + 216w - 2900w - 2376w + 3870w + 4072w - + - 2 - - 1188w - 1656w + 529 - , - - 4 3 2 2 - 2187u + (- 4374w - 972w - 12474w - 2868)u - + - 6 5 4 3 2 - 2187w - 1944w - 10125w - 4800w + 2501w - + - 4968w - 1587 - * - v - + - 3 2 2 6 5 4 - (1944w - 108w )u + 972w + 3024w - 1080w - + - 3 2 - 496w + 1116w - , - 2 2 - (3v + 2v - 2w)t - 3u v , - 2 2 2 - ((4v - 4w)t - 6u v )z + (2t + 3v )z - 1} - ] -Type: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [b1,x,y,z,t,v,u,w],OrderedVariableList [b1,x,y,z,t,v,u,w],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w])) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty34} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty34}{LazardSetSolvingPackageXmpPagePatch34} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty34}{\showpaste} -\tab{5}\spadcommand{zeroSetSplit(lf,true)$T\free{lf }\free{T }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch35} -\begin{paste}{LazardSetSolvingPackageXmpPageFull35}{LazardSetSolvingPackageXmpPageEmpty35} -\pastebutton{LazardSetSolvingPackageXmpPageFull35}{\hidepaste} -\tab{5}\spadcommand{zeroSetSplit(lf,false)$T\free{lf }\free{T }} -\indentrel{3}\begin{verbatim} - (35) - [ - { - 6 3 2 4 - 729u + (- 1458w + 729w - 4158w - 1685)u - + - 6 5 4 3 2 - 729w - 1458w - 2619w - 4892w - 297w - + - 5814w + 427 - * - 2 - u - + - 8 7 6 5 4 3 - 729w + 216w - 2900w - 2376w + 3870w + 4072w - + - 2 - - 1188w - 1656w + 529 - , - - 4 3 2 2 - 2187u + (- 4374w - 972w - 12474w - 2868)u - + - 6 5 4 3 2 - 2187w - 1944w - 10125w - 4800w + 2501w - + - 4968w - 1587 - * - v - + - 3 2 2 6 5 4 - (1944w - 108w )u + 972w + 3024w - 1080w - + - 3 2 - 496w + 1116w - , - 2 2 - (3v + 2v - 2w)t - 3u v , - 2 2 2 - ((4v - 4w)t - 6u v )z + (2t + 3v )z - 1} - , - - 4 3 2 - {27w + 4w - 54w - 36w + 23, u, - 2 2 2 - (12w + 2)v - 9w - 2w + 9, 6t - 2v - 3w + 2w + 3, - 2t z - 1} - , - - { - 6 5 4 3 2 - 59049w + 91854w - 45198w + 145152w + 63549w - + - 60922w + 21420 - , - - 5 4 - 31484448266904w - 18316865522574w - + - 3 2 - 23676995746098w + 6657857188965w - + - 8904703998546w + 3890631403260 - * - 2 - u - + - 5 4 - 94262810316408w - 82887296576616w - + - 3 2 - 89801831438784w + 28141734167208w - + - 38070359425432w + 16003865949120 - , - - 2 2 - (243w + 36w + 85)v - + - 2 3 2 3 2 - (- 81u - 162w + 36w + 154w + 72)v - 72w + 4w - , - 2 2 - (3v + 2v - 2w)t - 3u v , - 2 2 2 - ((4v - 4w)t - 6u v )z + (2t + 3v )z - 1} - , - - 4 3 2 - {27w + 4w - 54w - 36w + 23, u, - 2 2 2 - (12w + 2)v - 9w - 2w + 9, 6t - 2v - 3w + 2w + 3, - 2 - 3v z - 1} - ] -Type: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [b1,x,y,z,t,v,u,w],OrderedVariableList [b1,x,y,z,t,v,u,w],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w])) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty35} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty35}{LazardSetSolvingPackageXmpPagePatch35} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty35}{\showpaste} -\tab{5}\spadcommand{zeroSetSplit(lf,false)$T\free{lf }\free{T }} -\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPagePatch36} -\begin{paste}{LazardSetSolvingPackageXmpPageFull36}{LazardSetSolvingPackageXmpPageEmpty36} -\pastebutton{LazardSetSolvingPackageXmpPageFull36}{\hidepaste} -\tab{5}\spadcommand{zeroSetSplit(lf,false)$pack\free{lf }\free{pack }} -\indentrel{3}\begin{verbatim} - (36) - [ - { - 6 3 2 4 - 729u + (- 1458w + 729w - 4158w - 1685)u - + - 6 5 4 3 2 - 729w - 1458w - 2619w - 4892w - 297w - + - 5814w + 427 - * - 2 - u - + - 8 7 6 5 4 3 - 729w + 216w - 2900w - 2376w + 3870w + 4072w - + - 2 - - 1188w - 1656w + 529 - , - - 4 3 2 2 - 2187u + (- 4374w - 972w - 12474w - 2868)u - + - 6 5 4 3 2 - 2187w - 1944w - 10125w - 4800w + 2501w - + - 4968w - 1587 - * - v - + - 3 2 2 6 5 4 - (1944w - 108w )u + 972w + 3024w - 1080w - + - 3 2 - 496w + 1116w - , - 2 2 - (3v + 2v - 2w)t - 3u v , - 2 2 2 - ((4v - 4w)t - 6u v )z + (2t + 3v )z - 1} - , - - 2 2 - {81w + 18w + 28, 729u - 1890w - 533, - 2 - 81v + (- 162w + 27)v - 72w - 112, - 11881t + (972w + 2997)u v + (- 11448w - 11536)u, - - 2 - 641237934604288z - + - (78614584763904w + 26785578742272)u - + - 236143618655616w + 70221988585728 - * - v - + - (358520253138432w + 101922133759488)u - + - 142598803536000w + 54166419595008 - * - z - + - (32655103844499w - 44224572465882)u v - + - (43213900115457w - 32432039102070)u - } - , - - 4 3 2 - {27w + 4w - 54w - 36w + 23, u, - 3 2 - 218v - 162w + 3w + 160w + 153, - 2 3 2 - 109t - 27w - 54w + 63w + 80, - 3 2 - 1744z + (- 1458w + 27w + 1440w + 505)t} - , - - 4 3 2 - {27w + 4w - 54w - 36w + 23, u, - 3 2 - 218v - 162w + 3w + 160w + 153, - 2 3 2 - 109t - 27w - 54w + 63w + 80, - 3 2 - 1308z + 162w - 3w - 814w - 153} - , - - 4 3 2 - {729w + 972w - 1026w + 1684w + 765, - 2 2 - 81u + 72w + 16w - 72, - 3 2 - 702v - 162w - 225w + 40w - 99, - 3 2 - 11336t + (324w - 603w - 1718w - 1557)u, - - 2 - 595003968z - + - 3 2 - - 963325386w - 898607682w + 1516286466w - + - - 3239166186 - * - u - + - 3 2 - - 1579048992w - 1796454288w + 2428328160w - + - - 4368495024 - * - z - + - 3 2 - 9713133306w + 9678670317w - 16726834476w - + - 28144233593 - * - u - } - ] -Type: List SquareFreeRegularTriangularSet(Integer,IndexedExponents OrderedVariableList [b1,x,y,z,t,v,u,w],OrderedVariableList [b1,x,y,z,t,v,u,w],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [b1,x,y,z,t,v,u,w])) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LazardSetSolvingPackageXmpPageEmpty36} -\begin{paste}{LazardSetSolvingPackageXmpPageEmpty36}{LazardSetSolvingPackageXmpPagePatch36} -\pastebutton{LazardSetSolvingPackageXmpPageEmpty36}{\showpaste} -\tab{5}\spadcommand{zeroSetSplit(lf,false)$pack\free{lf }\free{pack }} -\end{paste}\end{patch} - diff --git a/books/pages/lexp.pht b/books/pages/lexp.pht deleted file mode 100644 index 0e87394..0000000 --- a/books/pages/lexp.pht +++ /dev/null @@ -1,227 +0,0 @@ -\begin{patch}{LieExponentialsXmpPagePatch1} -\begin{paste}{LieExponentialsXmpPageFull1}{LieExponentialsXmpPageEmpty1} -\pastebutton{LieExponentialsXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{ a: Symbol := 'a\bound{a }} -\indentrel{3}\begin{verbatim} - (1) a - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LieExponentialsXmpPageEmpty1} -\begin{paste}{LieExponentialsXmpPageEmpty1}{LieExponentialsXmpPagePatch1} -\pastebutton{LieExponentialsXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{ a: Symbol := 'a\bound{a }} -\end{paste}\end{patch} - -\begin{patch}{LieExponentialsXmpPagePatch2} -\begin{paste}{LieExponentialsXmpPageFull2}{LieExponentialsXmpPageEmpty2} -\pastebutton{LieExponentialsXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{ b: Symbol := 'b\bound{b }} -\indentrel{3}\begin{verbatim} - (2) b - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LieExponentialsXmpPageEmpty2} -\begin{paste}{LieExponentialsXmpPageEmpty2}{LieExponentialsXmpPagePatch2} -\pastebutton{LieExponentialsXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{ b: Symbol := 'b\bound{b }} -\end{paste}\end{patch} - -\begin{patch}{LieExponentialsXmpPagePatch3} -\begin{paste}{LieExponentialsXmpPageFull3}{LieExponentialsXmpPageEmpty3} -\pastebutton{LieExponentialsXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{ coef := Fraction(Integer)\bound{coef }} -\indentrel{3}\begin{verbatim} - (3) Fraction Integer - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LieExponentialsXmpPageEmpty3} -\begin{paste}{LieExponentialsXmpPageEmpty3}{LieExponentialsXmpPagePatch3} -\pastebutton{LieExponentialsXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{ coef := Fraction(Integer)\bound{coef }} -\end{paste}\end{patch} - -\begin{patch}{LieExponentialsXmpPagePatch4} -\begin{paste}{LieExponentialsXmpPageFull4}{LieExponentialsXmpPageEmpty4} -\pastebutton{LieExponentialsXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{ group := LieExponentials(Symbol, coef, 3)\free{coef }\bound{group }} -\indentrel{3}\begin{verbatim} - (4) LieExponentials(Symbol,Fraction Integer,3) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LieExponentialsXmpPageEmpty4} -\begin{paste}{LieExponentialsXmpPageEmpty4}{LieExponentialsXmpPagePatch4} -\pastebutton{LieExponentialsXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{ group := LieExponentials(Symbol, coef, 3)\free{coef }\bound{group }} -\end{paste}\end{patch} - -\begin{patch}{LieExponentialsXmpPagePatch5} -\begin{paste}{LieExponentialsXmpPageFull5}{LieExponentialsXmpPageEmpty5} -\pastebutton{LieExponentialsXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{ lpoly := LiePolynomial(Symbol, coef)\free{coef }\bound{lpoly }} -\indentrel{3}\begin{verbatim} - (5) LiePolynomial(Symbol,Fraction Integer) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LieExponentialsXmpPageEmpty5} -\begin{paste}{LieExponentialsXmpPageEmpty5}{LieExponentialsXmpPagePatch5} -\pastebutton{LieExponentialsXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{ lpoly := LiePolynomial(Symbol, coef)\free{coef }\bound{lpoly }} -\end{paste}\end{patch} - -\begin{patch}{LieExponentialsXmpPagePatch6} -\begin{paste}{LieExponentialsXmpPageFull6}{LieExponentialsXmpPageEmpty6} -\pastebutton{LieExponentialsXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{ poly := XPBWPolynomial(Symbol, coef)\free{coef }\bound{poly }} -\indentrel{3}\begin{verbatim} - (6) XPBWPolynomial(Symbol,Fraction Integer) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LieExponentialsXmpPageEmpty6} -\begin{paste}{LieExponentialsXmpPageEmpty6}{LieExponentialsXmpPagePatch6} -\pastebutton{LieExponentialsXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{ poly := XPBWPolynomial(Symbol, coef)\free{coef }\bound{poly }} -\end{paste}\end{patch} - -\begin{patch}{LieExponentialsXmpPagePatch7} -\begin{paste}{LieExponentialsXmpPageFull7}{LieExponentialsXmpPageEmpty7} -\pastebutton{LieExponentialsXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{ ea := exp(a::lpoly)$group\free{a }\free{lpoly }\free{group }\bound{ea }} -\indentrel{3}\begin{verbatim} - [a] - (7) e - Type: LieExponentials(Symbol,Fraction Integer,3) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LieExponentialsXmpPageEmpty7} -\begin{paste}{LieExponentialsXmpPageEmpty7}{LieExponentialsXmpPagePatch7} -\pastebutton{LieExponentialsXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{ ea := exp(a::lpoly)$group\free{a }\free{lpoly }\free{group }\bound{ea }} -\end{paste}\end{patch} - -\begin{patch}{LieExponentialsXmpPagePatch8} -\begin{paste}{LieExponentialsXmpPageFull8}{LieExponentialsXmpPageEmpty8} -\pastebutton{LieExponentialsXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{ eb := exp(b::lpoly)$group\free{b }\free{lpoly }\free{group }\bound{eb }} -\indentrel{3}\begin{verbatim} - [b] - (8) e - Type: LieExponentials(Symbol,Fraction Integer,3) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LieExponentialsXmpPageEmpty8} -\begin{paste}{LieExponentialsXmpPageEmpty8}{LieExponentialsXmpPagePatch8} -\pastebutton{LieExponentialsXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{ eb := exp(b::lpoly)$group\free{b }\free{lpoly }\free{group }\bound{eb }} -\end{paste}\end{patch} - -\begin{patch}{LieExponentialsXmpPagePatch9} -\begin{paste}{LieExponentialsXmpPageFull9}{LieExponentialsXmpPageEmpty9} -\pastebutton{LieExponentialsXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{ g: group := ea*eb\free{ea }\free{eb }\bound{g }} -\indentrel{3}\begin{verbatim} - 1 2 1 2 - Ä [a b ] Ä [a b] - [b] 2 [a b] 2 [a] - (9) e e e e e - Type: LieExponentials(Symbol,Fraction Integer,3) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LieExponentialsXmpPageEmpty9} -\begin{paste}{LieExponentialsXmpPageEmpty9}{LieExponentialsXmpPagePatch9} -\pastebutton{LieExponentialsXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{ g: group := ea*eb\free{ea }\free{eb }\bound{g }} -\end{paste}\end{patch} - -\begin{patch}{LieExponentialsXmpPagePatch10} -\begin{paste}{LieExponentialsXmpPageFull10}{LieExponentialsXmpPageEmpty10} -\pastebutton{LieExponentialsXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{ g :: poly\free{g }\free{poly }} -\indentrel{3}\begin{verbatim} - (10) - 1 1 - 1 + [a] + [b] + Ä [a][a] + [a b] + [b][a] + Ä [b][b] - 2 2 - + - 1 1 2 1 2 - Ä [a][a][a] + Ä [a b] + [a b][a] + Ä [a b ] - 6 2 2 - + - 1 1 1 - Ä [b][a][a] + [b][a b] + Ä [b][b][a] + Ä [b][b][b] - 2 2 6 - Type: XPBWPolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LieExponentialsXmpPageEmpty10} -\begin{paste}{LieExponentialsXmpPageEmpty10}{LieExponentialsXmpPagePatch10} -\pastebutton{LieExponentialsXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{ g :: poly\free{g }\free{poly }} -\end{paste}\end{patch} - -\begin{patch}{LieExponentialsXmpPagePatch11} -\begin{paste}{LieExponentialsXmpPageFull11}{LieExponentialsXmpPageEmpty11} -\pastebutton{LieExponentialsXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{ log(g)$group\free{g }\free{group }} -\indentrel{3}\begin{verbatim} - 1 1 2 1 2 - (11) [a] + [b] + Ä [a b] + ÄÄ [a b] + ÄÄ [a b ] - 2 12 12 - Type: LiePolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LieExponentialsXmpPageEmpty11} -\begin{paste}{LieExponentialsXmpPageEmpty11}{LieExponentialsXmpPagePatch11} -\pastebutton{LieExponentialsXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{ log(g)$group\free{g }\free{group }} -\end{paste}\end{patch} - -\begin{patch}{LieExponentialsXmpPagePatch12} -\begin{paste}{LieExponentialsXmpPageFull12}{LieExponentialsXmpPageEmpty12} -\pastebutton{LieExponentialsXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{ g1: group := inv(g)\free{g }\free{group }\bound{g1 }} -\indentrel{3}\begin{verbatim} - - [b] - [a] - (12) e e - Type: LieExponentials(Symbol,Fraction Integer,3) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LieExponentialsXmpPageEmpty12} -\begin{paste}{LieExponentialsXmpPageEmpty12}{LieExponentialsXmpPagePatch12} -\pastebutton{LieExponentialsXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{ g1: group := inv(g)\free{g }\free{group }\bound{g1 }} -\end{paste}\end{patch} - -\begin{patch}{LieExponentialsXmpPagePatch13} -\begin{paste}{LieExponentialsXmpPageFull13}{LieExponentialsXmpPageEmpty13} -\pastebutton{LieExponentialsXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{ g*g1\free{g }\free{g1 }} -\indentrel{3}\begin{verbatim} - (13) 1 - Type: LieExponentials(Symbol,Fraction Integer,3) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LieExponentialsXmpPageEmpty13} -\begin{paste}{LieExponentialsXmpPageEmpty13}{LieExponentialsXmpPagePatch13} -\pastebutton{LieExponentialsXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{ g*g1\free{g }\free{g1 }} -\end{paste}\end{patch} - diff --git a/books/pages/lextripk.pht b/books/pages/lextripk.pht deleted file mode 100644 index 18c3b7b..0000000 --- a/books/pages/lextripk.pht +++ /dev/null @@ -1,2553 +0,0 @@ -\begin{patch}{LexTriangularPackageXmpPagePatch1} -\begin{paste}{LexTriangularPackageXmpPageFull1}{LexTriangularPackageXmpPageEmpty1} -\pastebutton{LexTriangularPackageXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{R := Integer\bound{R }} -\indentrel{3}\begin{verbatim} - (1) Integer - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPageEmpty1} -\begin{paste}{LexTriangularPackageXmpPageEmpty1}{LexTriangularPackageXmpPagePatch1} -\pastebutton{LexTriangularPackageXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{R := Integer\bound{R }} -\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPagePatch2} -\begin{paste}{LexTriangularPackageXmpPageFull2}{LexTriangularPackageXmpPageEmpty2} -\pastebutton{LexTriangularPackageXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{ls : List Symbol := [a,b,c,d,e,f]\bound{ls }} -\indentrel{3}\begin{verbatim} - (2) [a,b,c,d,e,f] - Type: List Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPageEmpty2} -\begin{paste}{LexTriangularPackageXmpPageEmpty2}{LexTriangularPackageXmpPagePatch2} -\pastebutton{LexTriangularPackageXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{ls : List Symbol := [a,b,c,d,e,f]\bound{ls }} -\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPagePatch3} -\begin{paste}{LexTriangularPackageXmpPageFull3}{LexTriangularPackageXmpPageEmpty3} -\pastebutton{LexTriangularPackageXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{V := OVAR(ls)\free{ls }\bound{V }} -\indentrel{3}\begin{verbatim} - (3) OrderedVariableList [a,b,c,d,e,f] - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPageEmpty3} -\begin{paste}{LexTriangularPackageXmpPageEmpty3}{LexTriangularPackageXmpPagePatch3} -\pastebutton{LexTriangularPackageXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{V := OVAR(ls)\free{ls }\bound{V }} -\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPagePatch4} -\begin{paste}{LexTriangularPackageXmpPageFull4}{LexTriangularPackageXmpPageEmpty4} -\pastebutton{LexTriangularPackageXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{P := NSMP(R, V)\free{R }\free{V }\bound{P }} -\indentrel{3}\begin{verbatim} - (4) - NewSparseMultivariatePolynomial(Integer,OrderedVariable - List [a,b,c,d,e,f]) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPageEmpty4} -\begin{paste}{LexTriangularPackageXmpPageEmpty4}{LexTriangularPackageXmpPagePatch4} -\pastebutton{LexTriangularPackageXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{P := NSMP(R, V)\free{R }\free{V }\bound{P }} -\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPagePatch5} -\begin{paste}{LexTriangularPackageXmpPageFull5}{LexTriangularPackageXmpPageEmpty5} -\pastebutton{LexTriangularPackageXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{p1: P := a*b*c*d*e*f - 1\free{P }\bound{p1 }} -\indentrel{3}\begin{verbatim} - (5) f e d c b a - 1 -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPageEmpty5} -\begin{paste}{LexTriangularPackageXmpPageEmpty5}{LexTriangularPackageXmpPagePatch5} -\pastebutton{LexTriangularPackageXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{p1: P := a*b*c*d*e*f - 1\free{P }\bound{p1 }} -\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPagePatch6} -\begin{paste}{LexTriangularPackageXmpPageFull6}{LexTriangularPackageXmpPageEmpty6} -\pastebutton{LexTriangularPackageXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{p2: P := a*b*c*d*e +a*b*c*d*f +a*b*c*e*f +a*b*d*e*f +a*c*d*e*f +b*c*d*e*f\free{P }\bound{p2 }} -\indentrel{3}\begin{verbatim} - (6) - ((((e + f)d + f e)c + f e d)b + f e d c)a + f e d c b -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPageEmpty6} -\begin{paste}{LexTriangularPackageXmpPageEmpty6}{LexTriangularPackageXmpPagePatch6} -\pastebutton{LexTriangularPackageXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{p2: P := a*b*c*d*e +a*b*c*d*f +a*b*c*e*f +a*b*d*e*f +a*c*d*e*f +b*c*d*e*f\free{P }\bound{p2 }} -\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPagePatch7} -\begin{paste}{LexTriangularPackageXmpPageFull7}{LexTriangularPackageXmpPageEmpty7} -\pastebutton{LexTriangularPackageXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{p3: P := a*b*c*d + a*b*c*f + a*b*e*f + a*d*e*f + b*c*d*e + c*d*e*f\free{P }\bound{p3 }} -\indentrel{3}\begin{verbatim} - (7) (((d + f)c + f e)b + f e d)a + e d c b + f e d c -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPageEmpty7} -\begin{paste}{LexTriangularPackageXmpPageEmpty7}{LexTriangularPackageXmpPagePatch7} -\pastebutton{LexTriangularPackageXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{p3: P := a*b*c*d + a*b*c*f + a*b*e*f + a*d*e*f + b*c*d*e + c*d*e*f\free{P }\bound{p3 }} -\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPagePatch8} -\begin{paste}{LexTriangularPackageXmpPageFull8}{LexTriangularPackageXmpPageEmpty8} -\pastebutton{LexTriangularPackageXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{p4: P := a*b*c + a*b*f + a*e*f + b*c*d + c*d*e + d*e*f\free{P }\bound{p4 }} -\indentrel{3}\begin{verbatim} - (8) ((c + f)b + f e)a + d c b + e d c + f e d -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPageEmpty8} -\begin{paste}{LexTriangularPackageXmpPageEmpty8}{LexTriangularPackageXmpPagePatch8} -\pastebutton{LexTriangularPackageXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{p4: P := a*b*c + a*b*f + a*e*f + b*c*d + c*d*e + d*e*f\free{P }\bound{p4 }} -\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPagePatch9} -\begin{paste}{LexTriangularPackageXmpPageFull9}{LexTriangularPackageXmpPageEmpty9} -\pastebutton{LexTriangularPackageXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{p5: P := a*b + a*f + b*c + c*d + d*e + e*f\free{P }\bound{p5 }} -\indentrel{3}\begin{verbatim} - (9) (b + f)a + c b + d c + e d + f e -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPageEmpty9} -\begin{paste}{LexTriangularPackageXmpPageEmpty9}{LexTriangularPackageXmpPagePatch9} -\pastebutton{LexTriangularPackageXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{p5: P := a*b + a*f + b*c + c*d + d*e + e*f\free{P }\bound{p5 }} -\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPagePatch10} -\begin{paste}{LexTriangularPackageXmpPageFull10}{LexTriangularPackageXmpPageEmpty10} -\pastebutton{LexTriangularPackageXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{p6: P := a + b + c + d + e + f\free{P }\bound{p6 }} -\indentrel{3}\begin{verbatim} - (10) a + b + c + d + e + f -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPageEmpty10} -\begin{paste}{LexTriangularPackageXmpPageEmpty10}{LexTriangularPackageXmpPagePatch10} -\pastebutton{LexTriangularPackageXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{p6: P := a + b + c + d + e + f\free{P }\bound{p6 }} -\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPagePatch11} -\begin{paste}{LexTriangularPackageXmpPageFull11}{LexTriangularPackageXmpPageEmpty11} -\pastebutton{LexTriangularPackageXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{lp := [p1, p2, p3, p4, p5, p6]\free{p1 }\free{p2 }\free{p3 }\free{p4 }\free{p5 }\free{p6 }\bound{lp }} -\indentrel{3}\begin{verbatim} - (11) - [f e d c b a - 1, - ((((e + f)d + f e)c + f e d)b + f e d c)a + f e d c b, - (((d + f)c + f e)b + f e d)a + e d c b + f e d c, - ((c + f)b + f e)a + d c b + e d c + f e d, - (b + f)a + c b + d c + e d + f e, - a + b + c + d + e + f] -Type: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPageEmpty11} -\begin{paste}{LexTriangularPackageXmpPageEmpty11}{LexTriangularPackageXmpPagePatch11} -\pastebutton{LexTriangularPackageXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{lp := [p1, p2, p3, p4, p5, p6]\free{p1 }\free{p2 }\free{p3 }\free{p4 }\free{p5 }\free{p6 }\bound{lp }} -\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPagePatch12} -\begin{paste}{LexTriangularPackageXmpPageFull12}{LexTriangularPackageXmpPageEmpty12} -\pastebutton{LexTriangularPackageXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{lextripack := LEXTRIPK(R,ls)\free{R }\free{ls }\bound{lextripack }} -\indentrel{3}\begin{verbatim} - (12) LexTriangularPackage(Integer,[a,b,c,d,e,f]) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPageEmpty12} -\begin{paste}{LexTriangularPackageXmpPageEmpty12}{LexTriangularPackageXmpPagePatch12} -\pastebutton{LexTriangularPackageXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{lextripack := LEXTRIPK(R,ls)\free{R }\free{ls }\bound{lextripack }} -\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPagePatch13} -\begin{paste}{LexTriangularPackageXmpPageFull13}{LexTriangularPackageXmpPageEmpty13} -\pastebutton{LexTriangularPackageXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{lg := groebner(lp)$lextripack\free{lp }\free{lextripack }\bound{lg }} -\indentrel{3}\begin{verbatim} - (13) - [a + b + c + d + e + f, - - 2 - 3968379498283200b + 15873517993132800f b - + - 2 - 3968379498283200d + 15873517993132800f d - + - 3 5 4 4 - 3968379498283200f e - 15873517993132800f e - + - 5 3 - 23810276989699200f e - + - 6 2 - (206355733910726400f + 230166010900425600)e - + - 43 37 - - 729705987316687f + 1863667496867205421f - + - 31 - 291674853771731104461f - + - 25 - 365285994691106921745f - + - 19 - 549961185828911895f - + - 13 - - 365048404038768439269f - + - 7 - - 292382820431504027669f - 2271898467631865497f - * - e - + - 44 38 - - 3988812642545399f + 10187423878429609997f - + - 32 - 1594377523424314053637f - + - 26 20 - 1994739308439916238065f + 1596840088052642815f - + - 14 - - 1993494118301162145413f - + - 8 2 - - 1596049742289689815053f - 11488171330159667449f - , - - (23810276989699200c - 23810276989699200f)b - + - 2 - 23810276989699200c + 71430830969097600f c - + - 2 - - 23810276989699200d - 95241107958796800f d - + - 3 5 4 4 - - 55557312975964800f e + 174608697924460800f e - + - 5 3 - - 174608697924460800f e - + - 6 2 - (- 2428648252949318400f - 2611193709870345600)e - + - 43 37 - 8305444561289527f - 21212087151945459641f - + - 31 - - 3319815883093451385381f - + - 25 - - 4157691646261657136445f - + - 19 - - 6072721607510764095f - + - 13 - 4154986709036460221649f - + - 7 - 3327761311138587096749f + 25885340608290841637f - * - e - + - 44 38 - 45815897629010329f - 117013765582151891207f - + - 32 - - 18313166848970865074187f - + - 26 - - 22909971239649297438915f - + - 20 - - 16133250761305157265f - + - 14 - 22897305857636178256623f - + - 8 2 - 18329944781867242497923f + 130258531002020420699f - , - - (7936758996566400d - 7936758996566400f)b - + - 3 5 - - 7936758996566400f d - 7936758996566400f e - + - 4 4 5 3 - 23810276989699200f e - 23810276989699200f e - + - 6 2 - (- 337312257354072000f - 369059293340337600)e - + - 43 37 - 1176345388640471f - 3004383582891473073f - + - 31 - - 470203502707246105653f - + - 25 - - 588858183402644348085f - + - 19 - - 856939308623513535f - + - 13 - 588472674242340526377f - + - 7 - 471313241958371103517f + 3659742549078552381f - * - e - + - 44 38 - 6423170513956901f - 16404772137036480803f - + - 32 - - 2567419165227528774463f - + - 26 - - 3211938090825682172335f - + - 20 - - 2330490332697587485f - + - 14 - 3210100109444754864587f - + - 8 2 - 2569858315395162617847f + 18326089487427735751f - , - - (11905138494849600e - 11905138494849600f)b - + - 3 5 4 4 - - 3968379498283200f e + 15873517993132800f e - + - 5 3 - - 27778656487982400f e - + - 6 2 - (- 208339923659868000f - 240086959646133600)e - + - 43 37 - 786029984751110f - 2007519008182245250f - + - 31 - - 314188062908073807090f - + - 25 - - 393423667537929575250f - + - 19 - - 550329120654394950f - + - 13 - 393196408728889612770f - + - 7 - 314892372799176495730f + 2409386515146668530f - * - e - + - 44 38 - 4177638546747827f - 10669685294602576381f - + - 32 - - 1669852980419949524601f - + - 26 - - 2089077057287904170745f - + - 20 - - 1569899763580278795f - + - 14 - 2087864026859015573349f - + - 8 2 - 1671496085945199577969f + 11940257226216280177f - , - - 6 - (11905138494849600f - 11905138494849600)b - + - 2 5 3 4 - - 15873517993132800f e + 39683794982832000f e - + - 4 3 - - 39683794982832000f e - + - 11 5 2 - (- 686529653202993600f - 607162063237329600f )e - + - 42 36 - 65144531306704f - 166381280901088652f - + - 30 - - 26033434502470283472f - + - 24 - - 31696259583860650140f - + - 18 12 - 971492093167581360f + 32220085033691389548f - + - 6 - 25526177666070529808f + 138603268355749244 - * - e - + - 43 37 - 167620036074811f - 428102417974791473f - + - 31 25 - - 66997243801231679313f - 83426716722148750485f - + - 19 13 - 203673895369980765f + 83523056326010432457f - + - 7 - 66995789640238066937f + 478592855549587901f - , - - 3 2 - 801692827936c + 2405078483808f c - + - 2 45 - - 2405078483808f c - 13752945467f - + - 39 33 - 35125117815561f + 5496946957826433f - + - 27 21 - 6834659447749117f - 44484880462461f - + - 15 9 - - 6873406230093057f - 5450844938762633f - + - 3 - 1216586044571f - , - - (23810276989699200d - 23810276989699200f)c - + - 2 - 23810276989699200d + 71430830969097600f d - + - 3 5 4 4 - 7936758996566400f e - 31747035986265600f e - + - 5 3 - 31747035986265600f e - + - 6 2 - (404774708824886400f + 396837949828320000)e - + - 43 37 - - 1247372229446701f + 3185785654596621203f - + - 31 - 498594866849974751463f - + - 25 - 624542545845791047935f - + - 19 - 931085755769682885f - + - 13 - - 624150663582417063387f - + - 7 - - 499881859388360475647f - 3926885313819527351f - * - e - + - 44 38 - - 7026011547118141f + 17944427051950691243f - + - 32 - 2808383522593986603543f - + - 26 20 - 3513624142354807530135f + 2860757006705537685f - + - 14 - - 3511356735642190737267f - + - 8 2 - - 2811332494697103819887f - 20315011631522847311f - , - - (7936758996566400e - 7936758996566400f)c - + - 43 37 - - 4418748183673f + 11285568707456559f - + - 31 25 - 1765998617294451019f + 2173749283622606155f - + - 19 13 - - 55788292195402895f - 2215291421788292951f - + - 7 - - 1718142665347430851f + 30256569458230237f - * - e - + - 44 38 - 4418748183673f - 11285568707456559f - + - 32 26 - - 1765998617294451019f - 2173749283622606155f - + - 20 14 - 55788292195402895f + 2215291421788292951f - + - 8 2 - 1718142665347430851f - 30256569458230237f - , - - 6 - (72152354514240f - 72152354514240)c - + - 43 37 - 40950859449f - 104588980990367f - + - 31 25 - - 16367227395575307f - 20268523416527355f - + - 19 13 - 442205002259535f + 20576059935789063f - + - 7 - 15997133796970563f - 275099892785581f - , - - 3 2 - 1984189749141600d + 5952569247424800f d - + - 2 4 5 - - 5952569247424800f d - 3968379498283200f e - + - 5 4 3 - 15873517993132800f e + 17857707742274400e - + - 7 2 - (- 148814231185620000f - 162703559429611200f)e - + - 44 38 - - 390000914678878f + 996062704593756434f - + - 32 - 155886323972034823914f - + - 26 20 - 194745956143985421330f + 6205077595574430f - + - 14 - - 194596512653299068786f - + - 8 2 - - 155796897940756922666f - 1036375759077320978f - * - e - + - 45 39 - - 374998630035991f + 957747106595453993f - + - 33 27 - 149889155566764891693f + 187154171443494641685f - + - 21 15 - - 127129015426348065f - 187241533243115040417f - + - 9 3 - - 149719983567976534037f - 836654081239648061f - , - - (5952569247424800e - 5952569247424800f)d - + - 3 5 4 4 - - 3968379498283200f e + 9920948745708000f e - + - 5 3 - - 3968379498283200f e - + - 6 2 - (- 148814231185620000f - 150798420934761600)e - + - 43 37 - 492558110242553f - 1257992359608074599f - + - 31 - - 196883094539368513959f - + - 25 - - 246562115745735428055f - + - 19 - - 325698701993885505f - + - 13 - 246417769883651808111f - + - 7 - 197327352068200652911f + 1523373796389332143f - * - e - + - 44 38 - 2679481081803026f - 6843392695421906608f - + - 32 - - 1071020459642646913578f - + - 26 20 - - 1339789169692041240060f - 852746750910750210f - + - 14 - 1339105101971878401312f - + - 8 2 - 1071900289758712984762f + 7555239072072727756f - , - - 6 - (11905138494849600f - 11905138494849600)d - + - 2 5 3 4 - - 7936758996566400f e + 31747035986265600f e - + - 4 3 - - 31747035986265600f e - + - 11 5 2 - (- 420648226818019200f - 404774708824886400f )e - + - 42 36 - 15336187600889f - 39169739565161107f - + - 30 - - 6127176127489690827f - + - 24 - - 7217708742310509615f - + - 18 12 - 538628483890722735f + 7506804353843507643f - + - 6 - 5886160769782607203f + 63576108396535879 - * - e - + - 43 37 - 71737781777066f - 183218856207557938f - + - 31 25 - - 28672874271132276078f - 35625223686939812010f - + - 19 13 - 164831339634084390f + 35724160423073052642f - + - 7 - 28627022578664910622f + 187459987029680506f - , - - 6 5 - 1322793166094400e - 3968379498283200f e - + - 2 4 3 3 - 3968379498283200f e - 5291172664377600f e - + - 10 4 2 - (- 230166010900425600f - 226197631402142400f )e - + - 47 - - 152375364610443885f - + - 41 - 389166626064854890415f - + - 35 - 60906097841360558987335f - + - 29 - 76167367934608798697275f - + - 23 - 27855066785995181125f - + - 17 - - 76144952817052723145495f - + - 11 - - 60933629892463517546975f - + - 5 - - 411415071682002547795f - * - e - + - 42 36 - - 209493533143822f + 535045979490560586f - + - 30 24 - 83737947964973553146f + 104889507084213371570f - + - 18 12 - 167117997269207870f - 104793725781390615514f - + - 6 - - 83842685189903180394f - 569978796672974242 - , - - 6 3 - (25438330117200f + 25438330117200)e - + - 7 2 - (76314990351600f + 76314990351600f)e - + - 44 38 - - 1594966552735f + 4073543370415745f - + - 32 26 - 637527159231148925f + 797521176113606525f - + - 20 14 - 530440941097175f - 797160527306433145f - + - 8 2 - - 638132320196044965f - 4510507167940725f - * - e - + - 45 39 - - 6036376800443f + 15416903421476909f - + - 33 27 - 2412807646192304449f + 3017679923028013705f - + - 21 15 - 1422320037411955f - 3016560402417843941f - + - 9 3 - - 2414249368183033161f - 16561862361763873f - , - - 12 2 - (1387545279120f - 1387545279120)e - + - 43 37 - 4321823003f - 11037922310209f - + - 31 25 - - 1727510711947989f - 2165150991154425f - + - 19 13 - - 5114342560755f + 2162682824948601f - + - 7 - 1732620732685741f + 13506088516033f - * - e - + - 44 38 - 24177661775f - 61749727185325f - + - 32 26 - - 9664106795754225f - 12090487758628245f - + - 20 14 - - 8787672733575f + 12083693383005045f - + - 8 2 - 9672870290826025f + 68544102808525f - , - - 48 42 36 30 18 - f - 2554f - 399710f - 499722f + 499722f - + - 12 6 - 399710f + 2554f - 1 - ] -Type: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPageEmpty13} -\begin{paste}{LexTriangularPackageXmpPageEmpty13}{LexTriangularPackageXmpPagePatch13} -\pastebutton{LexTriangularPackageXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{lg := groebner(lp)$lextripack\free{lp }\free{lextripack }\bound{lg }} -\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPagePatch14} -\begin{paste}{LexTriangularPackageXmpPageFull14}{LexTriangularPackageXmpPageEmpty14} -\pastebutton{LexTriangularPackageXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{lexTriangular(lg,false)$lextripack\free{lg }\free{lextripack }} -\indentrel{3}\begin{verbatim} - (14) - [ - 6 - {f + 1, - 6 5 2 4 3 3 4 2 5 - e - 3f e + 3f e - 4f e + 3f e - 3f e - 1, - 2 5 3 4 4 3 5 2 - 3d + f e - 4f e + 4f e - 2f e - 2e + 2f, c + f, - 2 5 3 4 4 3 5 2 - 3b + 2f e - 5f e + 5f e - 10f e - 4e + 7f, - 2 5 3 4 4 3 5 2 - a - f e + 3f e - 3f e + 4f e + 3e - 3f} - , - - 6 2 2 - {f - 1, e - f, d - f, c + 4f c + f , - 2 - (c - f)b - f c - 5f , a + b + c + 3f} - , - 6 2 2 - {f - 1,e - f,d - f,c - f,b + 4f b + f ,a + b + 4f}, - - 6 2 2 - {f - 1, e - f, d + 4f d + f , - 2 - (d - f)c - f d - 5f , b - f, a + c + d + 3f} - , - - { - 36 30 24 18 12 - f - 2554f - 399709f - 502276f - 399709f - + - 6 - - 2554f + 1 - , - - 12 2 - (161718564f - 161718564)e - + - 31 25 19 - - 504205f + 1287737951f + 201539391380f - + - 13 7 - 253982817368f + 201940704665f + 1574134601f - * - e - + - 32 26 20 - - 2818405f + 7198203911f + 1126548149060f - + - 14 8 2 - 1416530563364f + 1127377589345f + 7988820725f - , - - 6 - (693772639560f - 693772639560)d - + - 2 5 3 4 - - 462515093040f e + 1850060372160f e - + - 4 3 - - 1850060372160f e - + - 11 5 2 - (- 24513299931120f - 23588269745040f )e - + - 30 24 - - 890810428f + 2275181044754f - + - 18 12 - 355937263869776f + 413736880104344f - + - 6 - 342849304487996f + 3704966481878 - * - e - + - 31 25 - - 4163798003f + 10634395752169f - + - 19 13 - 1664161760192806f + 2079424391370694f - + - 7 - 1668153650635921f + 10924274392693f - , - - 6 31 - (12614047992f - 12614047992)c - 7246825f - + - 25 19 - 18508536599f + 2896249516034f - + - 13 7 - 3581539649666f + 2796477571739f - 48094301893f - , - - 6 - (693772639560f - 693772639560)b - + - 2 5 3 4 - - 925030186080f e + 2312575465200f e - + - 4 3 - - 2312575465200f e - + - 11 5 2 - (- 40007555547960f - 35382404617560f )e - + - 30 24 - - 3781280823f + 9657492291789f - + - 18 12 - 1511158913397906f + 1837290892286154f - + - 6 - 1487216006594361f + 8077238712093 - * - e - + - 31 25 - - 9736390478f + 24866827916734f - + - 19 13 - 3891495681905296f + 4872556418871424f - + - 7 - 3904047887269606f + 27890075838538f - , - a + b + c + d + e + f} - , - - 6 2 2 2 - {f - 1, e + 4f e + f , (e - f)d - f e - 5f , - c - f, b - f, a + d + e + 3f} - ] - Type: List RegularChain(Integer,[a,b,c,d,e,f]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPageEmpty14} -\begin{paste}{LexTriangularPackageXmpPageEmpty14}{LexTriangularPackageXmpPagePatch14} -\pastebutton{LexTriangularPackageXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{lexTriangular(lg,false)$lextripack\free{lg }\free{lextripack }} -\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPagePatch15} -\begin{paste}{LexTriangularPackageXmpPageFull15}{LexTriangularPackageXmpPageEmpty15} -\pastebutton{LexTriangularPackageXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{lts := lexTriangular(lg,true)$lextripack\free{lg }\free{lextripack }\bound{lts }} -\indentrel{3}\begin{verbatim} - (15) - [ - 6 - {f + 1, - 6 5 2 4 3 3 4 2 5 - e - 3f e + 3f e - 4f e + 3f e - 3f e - 1, - 2 5 3 4 4 3 5 2 - 3d + f e - 4f e + 4f e - 2f e - 2e + 2f, c + f, - 2 5 3 4 4 3 5 2 - 3b + 2f e - 5f e + 5f e - 10f e - 4e + 7f, - 2 5 3 4 4 3 5 2 - a - f e + 3f e - 3f e + 4f e + 3e - 3f} - , - 6 2 2 - {f - 1,e - f,d - f,c + 4f c + f ,b + c + 4f,a - f}, - 6 2 2 - {f - 1,e - f,d - f,c - f,b + 4f b + f ,a + b + 4f}, - 6 2 2 - {f - 1,e - f,d + 4f d + f ,c + d + 4f,b - f,a - f}, - - { - 36 30 24 18 12 - f - 2554f - 399709f - 502276f - 399709f - + - 6 - - 2554f + 1 - , - - 2 - 1387545279120e - + - 31 25 - 4321823003f - 11037922310209f - + - 19 13 - - 1727506390124986f - 2176188913464634f - + - 7 - - 1732620732685741f - 13506088516033f - * - e - + - 32 26 - 24177661775f - 61749727185325f - + - 20 14 - - 9664082618092450f - 12152237485813570f - + - 8 2 - - 9672870290826025f - 68544102808525f - , - - 1387545279120d - + - 30 24 - - 1128983050f + 2883434331830f - + - 18 12 - 451234998755840f + 562426491685760f - + - 6 - 447129055314890f - 165557857270 - * - e - + - 31 25 - - 1816935351f + 4640452214013f - + - 19 13 - 726247129626942f + 912871801716798f - + - 7 - 726583262666877f + 4909358645961f - , - - 31 25 - 1387545279120c + 778171189f - 1987468196267f - + - 19 13 - - 310993556954378f - 383262822316802f - + - 7 - - 300335488637543f + 5289595037041f - , - - 1387545279120b - + - 30 24 - 1128983050f - 2883434331830f - + - 18 12 - - 451234998755840f - 562426491685760f - + - 6 - - 447129055314890f + 165557857270 - * - e - + - 31 25 - - 3283058841f + 8384938292463f - + - 19 13 - 1312252817452422f + 1646579934064638f - + - 7 - 1306372958656407f + 4694680112151f - , - - 31 - 1387545279120a + 1387545279120e + 4321823003f - + - 25 19 - - 11037922310209f - 1727506390124986f - + - 13 7 - - 2176188913464634f - 1732620732685741f - + - - 13506088516033f - } - , - 6 2 2 - {f - 1,e + 4f e + f ,d + e + 4f,c - f,b - f,a - f}] - Type: List RegularChain(Integer,[a,b,c,d,e,f]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPageEmpty15} -\begin{paste}{LexTriangularPackageXmpPageEmpty15}{LexTriangularPackageXmpPagePatch15} -\pastebutton{LexTriangularPackageXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{lts := lexTriangular(lg,true)$lextripack\free{lg }\free{lextripack }\bound{lts }} -\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPagePatch16} -\begin{paste}{LexTriangularPackageXmpPageFull16}{LexTriangularPackageXmpPageEmpty16} -\pastebutton{LexTriangularPackageXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{[[init(p) for p in (ts :: List(P))] for ts in lts]\free{lts }} -\indentrel{3}\begin{verbatim} - (16) - [[1,3,1,3,1,1], [1,1,1,1,1,1], [1,1,1,1,1,1], - [1,1,1,1,1,1], - - [1387545279120, 1387545279120, 1387545279120, - 1387545279120, 1387545279120, 1] - , - [1,1,1,1,1,1]] -Type: List List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPageEmpty16} -\begin{paste}{LexTriangularPackageXmpPageEmpty16}{LexTriangularPackageXmpPagePatch16} -\pastebutton{LexTriangularPackageXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{[[init(p) for p in (ts :: List(P))] for ts in lts]\free{lts }} -\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPagePatch17} -\begin{paste}{LexTriangularPackageXmpPageFull17}{LexTriangularPackageXmpPageEmpty17} -\pastebutton{LexTriangularPackageXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{squareFreeLexTriangular(lg,true)$lextripack\free{lg }\free{lextripack }} -\indentrel{3}\begin{verbatim} - (17) - [ - 6 - {f + 1, - 6 5 2 4 3 3 4 2 5 - e - 3f e + 3f e - 4f e + 3f e - 3f e - 1, - 2 5 3 4 4 3 5 2 - 3d + f e - 4f e + 4f e - 2f e - 2e + 2f, c + f, - 2 5 3 4 4 3 5 2 - 3b + 2f e - 5f e + 5f e - 10f e - 4e + 7f, - 2 5 3 4 4 3 5 2 - a - f e + 3f e - 3f e + 4f e + 3e - 3f} - , - 6 2 2 - {f - 1,e - f,d - f,c + 4f c + f ,b + c + 4f,a - f}, - 6 2 2 - {f - 1,e - f,d - f,c - f,b + 4f b + f ,a + b + 4f}, - 6 2 2 - {f - 1,e - f,d + 4f d + f ,c + d + 4f,b - f,a - f}, - - { - 36 30 24 18 12 - f - 2554f - 399709f - 502276f - 399709f - + - 6 - - 2554f + 1 - , - - 2 - 1387545279120e - + - 31 25 - 4321823003f - 11037922310209f - + - 19 13 - - 1727506390124986f - 2176188913464634f - + - 7 - - 1732620732685741f - 13506088516033f - * - e - + - 32 26 - 24177661775f - 61749727185325f - + - 20 14 - - 9664082618092450f - 12152237485813570f - + - 8 2 - - 9672870290826025f - 68544102808525f - , - - 1387545279120d - + - 30 24 - - 1128983050f + 2883434331830f - + - 18 12 - 451234998755840f + 562426491685760f - + - 6 - 447129055314890f - 165557857270 - * - e - + - 31 25 - - 1816935351f + 4640452214013f - + - 19 13 - 726247129626942f + 912871801716798f - + - 7 - 726583262666877f + 4909358645961f - , - - 31 25 - 1387545279120c + 778171189f - 1987468196267f - + - 19 13 - - 310993556954378f - 383262822316802f - + - 7 - - 300335488637543f + 5289595037041f - , - - 1387545279120b - + - 30 24 - 1128983050f - 2883434331830f - + - 18 12 - - 451234998755840f - 562426491685760f - + - 6 - - 447129055314890f + 165557857270 - * - e - + - 31 25 - - 3283058841f + 8384938292463f - + - 19 13 - 1312252817452422f + 1646579934064638f - + - 7 - 1306372958656407f + 4694680112151f - , - - 31 - 1387545279120a + 1387545279120e + 4321823003f - + - 25 19 - - 11037922310209f - 1727506390124986f - + - 13 7 - - 2176188913464634f - 1732620732685741f - + - - 13506088516033f - } - , - 6 2 2 - {f - 1,e + 4f e + f ,d + e + 4f,c - f,b - f,a - f}] -Type: List SquareFreeRegularTriangularSet(Integer,IndexedExponents OrderedVariableList [a,b,c,d,e,f],OrderedVariableList [a,b,c,d,e,f],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [a,b,c,d,e,f])) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPageEmpty17} -\begin{paste}{LexTriangularPackageXmpPageEmpty17}{LexTriangularPackageXmpPagePatch17} -\pastebutton{LexTriangularPackageXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{squareFreeLexTriangular(lg,true)$lextripack\free{lg }\free{lextripack }} -\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPagePatch18} -\begin{paste}{LexTriangularPackageXmpPageFull18}{LexTriangularPackageXmpPageEmpty18} -\pastebutton{LexTriangularPackageXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{reduce(+,[degree(ts) for ts in lts])\free{lts }} -\indentrel{3}\begin{verbatim} - (18) 156 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPageEmpty18} -\begin{paste}{LexTriangularPackageXmpPageEmpty18}{LexTriangularPackageXmpPagePatch18} -\pastebutton{LexTriangularPackageXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{reduce(+,[degree(ts) for ts in lts])\free{lts }} -\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPagePatch19} -\begin{paste}{LexTriangularPackageXmpPageFull19}{LexTriangularPackageXmpPageEmpty19} -\pastebutton{LexTriangularPackageXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{ls2 : List Symbol := concat(ls,new()$Symbol)\free{ls }\bound{ls2 }} -\indentrel{3}\begin{verbatim} - (19) [a,b,c,d,e,f,%A] - Type: List Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPageEmpty19} -\begin{paste}{LexTriangularPackageXmpPageEmpty19}{LexTriangularPackageXmpPagePatch19} -\pastebutton{LexTriangularPackageXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{ls2 : List Symbol := concat(ls,new()$Symbol)\free{ls }\bound{ls2 }} -\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPagePatch20} -\begin{paste}{LexTriangularPackageXmpPageFull20}{LexTriangularPackageXmpPageEmpty20} -\pastebutton{LexTriangularPackageXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{zdpack := ZDSOLVE(R,ls,ls2)\free{R }\free{ls }\free{ls2 }\bound{zdpack }} -\indentrel{3}\begin{verbatim} - (20) - ZeroDimensionalSolvePackage(Integer,[a,b,c,d,e,f],[a,b, - c,d,e,f,%A]) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPageEmpty20} -\begin{paste}{LexTriangularPackageXmpPageEmpty20}{LexTriangularPackageXmpPagePatch20} -\pastebutton{LexTriangularPackageXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{zdpack := ZDSOLVE(R,ls,ls2)\free{R }\free{ls }\free{ls2 }\bound{zdpack }} -\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPagePatch21} -\begin{paste}{LexTriangularPackageXmpPageFull21}{LexTriangularPackageXmpPageEmpty21} -\pastebutton{LexTriangularPackageXmpPageFull21}{\hidepaste} -\tab{5}\spadcommand{concat [univariateSolve(ts)$zdpack for ts in lts]\free{lts }\free{zdpack }} -\indentrel{3}\begin{verbatim} - (21) - [ - 4 2 - [complexRoots= ? - 13? + 49, - - coordinates = - 3 3 - [7a + %A - 6%A, 21b + %A + %A, - 3 3 - 21c - 2%A + 19%A, 7d - %A + 6%A, - 3 3 - 21e - %A - %A, 21f + 2%A - 19%A] - ] - , - - 4 2 - [complexRoots= ? + 11? + 49, - - coordinates = - 3 3 - [35a + 3%A + 19%A, 35b + %A + 18%A, - 3 3 - 35c - 2%A - %A, 35d - 3%A - 19%A, - 3 3 - 35e - %A - 18%A, 35f + 2%A + %A] - ] - , - - [ - complexRoots = - 8 7 6 5 4 3 - ? - 12? + 58? - 120? + 207? - 360? - + - 2 - 802? - 1332? + 1369 - , - - coordinates = - [ - 7 6 5 - 43054532a + 33782%A - 546673%A + 3127348%A - + - 4 3 2 - - 6927123%A + 4365212%A - 25086957%A - + - 39582814%A - 107313172 - , - - 7 6 5 - 43054532b - 33782%A + 546673%A - 3127348%A - + - 4 3 2 - 6927123%A - 4365212%A + 25086957%A - + - - 39582814%A + 107313172 - , - - 7 6 5 - 21527266c - 22306%A + 263139%A - 1166076%A - + - 4 3 2 - 1821805%A - 2892788%A + 10322663%A - + - - 9026596%A + 12950740 - , - - 7 6 5 - 43054532d + 22306%A - 263139%A + 1166076%A - + - 4 3 2 - - 1821805%A + 2892788%A - 10322663%A - + - 30553862%A - 12950740 - , - - 7 6 5 - 43054532e - 22306%A + 263139%A - 1166076%A - + - 4 3 2 - 1821805%A - 2892788%A + 10322663%A - + - - 30553862%A + 12950740 - , - - 7 6 5 - 21527266f + 22306%A - 263139%A + 1166076%A - + - 4 3 2 - - 1821805%A + 2892788%A - 10322663%A - + - 9026596%A - 12950740 - ] - ] - , - - [ - complexRoots = - 8 7 6 5 4 3 - ? + 12? + 58? + 120? + 207? + 360? - + - 2 - 802? + 1332? + 1369 - , - - coordinates = - [ - 7 6 5 - 43054532a + 33782%A + 546673%A + 3127348%A - + - 4 3 2 - 6927123%A + 4365212%A + 25086957%A - + - 39582814%A + 107313172 - , - - 7 6 5 - 43054532b - 33782%A - 546673%A - 3127348%A - + - 4 3 2 - - 6927123%A - 4365212%A - 25086957%A - + - - 39582814%A - 107313172 - , - - 7 6 5 - 21527266c - 22306%A - 263139%A - 1166076%A - + - 4 3 2 - - 1821805%A - 2892788%A - 10322663%A - + - - 9026596%A - 12950740 - , - - 7 6 5 - 43054532d + 22306%A + 263139%A + 1166076%A - + - 4 3 2 - 1821805%A + 2892788%A + 10322663%A - + - 30553862%A + 12950740 - , - - 7 6 5 - 43054532e - 22306%A - 263139%A - 1166076%A - + - 4 3 2 - - 1821805%A - 2892788%A - 10322663%A - + - - 30553862%A - 12950740 - , - - 7 6 5 - 21527266f + 22306%A + 263139%A + 1166076%A - + - 4 3 2 - 1821805%A + 2892788%A + 10322663%A - + - 9026596%A + 12950740 - ] - ] - , - - 4 2 - [complexRoots= ? - ? + 1, - - coordinates = - 3 3 - [a - %A, b + %A - %A, c + %A , d + %A, - 3 3 - e - %A + %A, f - %A ] - ] - , - - 8 6 4 2 - [complexRoots= ? + 4? + 12? + 16? + 4, - - coordinates = - 7 5 3 - [4a - 2%A - 7%A - 20%A - 22%A, - 7 5 3 - 4b + 2%A + 7%A + 20%A + 22%A, - 7 5 3 - 4c + %A + 3%A + 10%A + 10%A, - 7 5 3 - 4d + %A + 3%A + 10%A + 6%A, - 7 5 3 - 4e - %A - 3%A - 10%A - 6%A, - 7 5 3 - 4f - %A - 3%A - 10%A - 10%A] - ] - , - - 4 3 2 - [complexRoots= ? + 6? + 30? + 36? + 36, - - coordinates = - 3 2 - [30a - %A - 5%A - 30%A - 6, - 3 2 - 6b + %A + 5%A + 24%A + 6, - 3 2 - 30c - %A - 5%A - 6, - 3 2 - 30d - %A - 5%A - 30%A - 6, - 3 2 - 30e - %A - 5%A - 30%A - 6, - 3 2 - 30f - %A - 5%A - 30%A - 6] - ] - , - - 4 3 2 - [complexRoots= ? - 6? + 30? - 36? + 36, - - coordinates = - 3 2 - [30a - %A + 5%A - 30%A + 6, - 3 2 - 6b + %A - 5%A + 24%A - 6, - 3 2 - 30c - %A + 5%A + 6, - 3 2 - 30d - %A + 5%A - 30%A + 6, - 3 2 - 30e - %A + 5%A - 30%A + 6, - 3 2 - 30f - %A + 5%A - 30%A + 6] - ] - , - - 2 - [complexRoots= ? + 6? + 6, - - coordinates = - [a + 1,b - %A - 5,c + %A + 1,d + 1,e + 1,f + 1] - ] - , - - 2 - [complexRoots= ? - 6? + 6, - - coordinates = - [a - 1,b - %A + 5,c + %A - 1,d - 1,e - 1,f - 1] - ] - , - - 4 3 2 - [complexRoots= ? + 6? + 30? + 36? + 36, - - coordinates = - 3 2 - [6a + %A + 5%A + 24%A + 6, - 3 2 - 30b - %A - 5%A - 6, - 3 2 - 30c - %A - 5%A - 30%A - 6, - 3 2 - 30d - %A - 5%A - 30%A - 6, - 3 2 - 30e - %A - 5%A - 30%A - 6, - 3 2 - 30f - %A - 5%A - 30%A - 6] - ] - , - - 4 3 2 - [complexRoots= ? - 6? + 30? - 36? + 36, - - coordinates = - 3 2 - [6a + %A - 5%A + 24%A - 6, - 3 2 - 30b - %A + 5%A + 6, - 3 2 - 30c - %A + 5%A - 30%A + 6, - 3 2 - 30d - %A + 5%A - 30%A + 6, - 3 2 - 30e - %A + 5%A - 30%A + 6, - 3 2 - 30f - %A + 5%A - 30%A + 6] - ] - , - - 2 - [complexRoots= ? + 6? + 6, - - coordinates = - [a - %A - 5,b + %A + 1,c + 1,d + 1,e + 1,f + 1] - ] - , - - 2 - [complexRoots= ? - 6? + 6, - - coordinates = - [a - %A + 5,b + %A - 1,c - 1,d - 1,e - 1,f - 1] - ] - , - - 4 3 2 - [complexRoots= ? + 6? + 30? + 36? + 36, - - coordinates = - 3 2 - [30a - %A - 5%A - 30%A - 6, - 3 2 - 30b - %A - 5%A - 30%A - 6, - 3 2 - 6c + %A + 5%A + 24%A + 6, - 3 2 - 30d - %A - 5%A - 6, - 3 2 - 30e - %A - 5%A - 30%A - 6, - 3 2 - 30f - %A - 5%A - 30%A - 6] - ] - , - - 4 3 2 - [complexRoots= ? - 6? + 30? - 36? + 36, - - coordinates = - 3 2 - [30a - %A + 5%A - 30%A + 6, - 3 2 - 30b - %A + 5%A - 30%A + 6, - 3 2 - 6c + %A - 5%A + 24%A - 6, - 3 2 - 30d - %A + 5%A + 6, - 3 2 - 30e - %A + 5%A - 30%A + 6, - 3 2 - 30f - %A + 5%A - 30%A + 6] - ] - , - - 2 - [complexRoots= ? + 6? + 6, - - coordinates = - [a + 1,b + 1,c - %A - 5,d + %A + 1,e + 1,f + 1] - ] - , - - 2 - [complexRoots= ? - 6? + 6, - - coordinates = - [a - 1,b - 1,c - %A + 5,d + %A - 1,e - 1,f - 1] - ] - , - - [ - complexRoots = - 8 7 6 5 4 2 - ? + 6? + 16? + 24? + 18? - 8? + 4 - , - - coordinates = - [ - 7 6 5 4 3 - 2a + 2%A + 9%A + 18%A + 19%A + 4%A - + - 2 - - 10%A - 2%A + 4 - , - - 7 6 5 4 3 - 2b + 2%A + 9%A + 18%A + 19%A + 4%A - + - 2 - - 10%A - 4%A + 4 - , - 7 6 5 4 3 - 2c - %A - 4%A - 8%A - 9%A - 4%A - 2%A - 4, - 7 6 5 4 3 - 2d + %A + 4%A + 8%A + 9%A + 4%A + 2%A + 4, - - 7 6 5 4 3 - 2e - 2%A - 9%A - 18%A - 19%A - 4%A - + - 2 - 10%A + 4%A - 4 - , - - 7 6 5 4 3 - 2f - 2%A - 9%A - 18%A - 19%A - 4%A - + - 2 - 10%A + 2%A - 4 - ] - ] - , - - [ - complexRoots = - 8 7 6 5 4 3 - ? + 12? + 64? + 192? + 432? + 768? - + - 2 - 1024? + 768? + 256 - , - - coordinates = - [ - 7 6 5 4 - 1408a - 19%A - 200%A - 912%A - 2216%A - + - 3 2 - - 4544%A - 6784%A - 6976%A - 1792 - , - - 7 6 5 4 - 1408b - 37%A - 408%A - 1952%A - 5024%A - + - 3 2 - - 10368%A - 16768%A - 17920%A - 5120 - , - - 7 6 5 4 - 1408c + 37%A + 408%A + 1952%A + 5024%A - + - 3 2 - 10368%A + 16768%A + 17920%A + 5120 - , - - 7 6 5 4 - 1408d + 19%A + 200%A + 912%A + 2216%A - + - 3 2 - 4544%A + 6784%A + 6976%A + 1792 - , - 2e + %A, 2f - %A] - ] - , - - 8 6 4 2 - [complexRoots= ? + 4? + 12? + 16? + 4, - - coordinates = - 7 5 3 - [4a - %A - 3%A - 10%A - 6%A, - 7 5 3 - 4b - %A - 3%A - 10%A - 10%A, - 7 5 3 - 4c - 2%A - 7%A - 20%A - 22%A, - 7 5 3 - 4d + 2%A + 7%A + 20%A + 22%A, - 7 5 3 - 4e + %A + 3%A + 10%A + 10%A, - 7 5 3 - 4f + %A + 3%A + 10%A + 6%A] - ] - , - - 8 6 4 2 - [complexRoots= ? + 16? - 96? + 256? + 256, - - coordinates = - 7 5 3 - [512a - %A - 12%A + 176%A - 448%A, - 7 5 3 - 128b - %A - 16%A + 96%A - 256%A, - 7 5 3 - 128c + %A + 16%A - 96%A + 256%A, - 7 5 3 - 512d + %A + 12%A - 176%A + 448%A, 2e + %A, - 2f - %A] - ] - , - - [ - complexRoots = - 8 7 6 5 4 3 - ? - 12? + 64? - 192? + 432? - 768? - + - 2 - 1024? - 768? + 256 - , - - coordinates = - [ - 7 6 5 4 - 1408a - 19%A + 200%A - 912%A + 2216%A - + - 3 2 - - 4544%A + 6784%A - 6976%A + 1792 - , - - 7 6 5 4 - 1408b - 37%A + 408%A - 1952%A + 5024%A - + - 3 2 - - 10368%A + 16768%A - 17920%A + 5120 - , - - 7 6 5 4 - 1408c + 37%A - 408%A + 1952%A - 5024%A - + - 3 2 - 10368%A - 16768%A + 17920%A - 5120 - , - - 7 6 5 4 - 1408d + 19%A - 200%A + 912%A - 2216%A - + - 3 2 - 4544%A - 6784%A + 6976%A - 1792 - , - 2e + %A, 2f - %A] - ] - , - - [ - complexRoots = - 8 7 6 5 4 2 - ? - 6? + 16? - 24? + 18? - 8? + 4 - , - - coordinates = - [ - 7 6 5 4 3 - 2a + 2%A - 9%A + 18%A - 19%A + 4%A - + - 2 - 10%A - 2%A - 4 - , - - 7 6 5 4 3 - 2b + 2%A - 9%A + 18%A - 19%A + 4%A - + - 2 - 10%A - 4%A - 4 - , - 7 6 5 4 3 - 2c - %A + 4%A - 8%A + 9%A - 4%A - 2%A + 4, - 7 6 5 4 3 - 2d + %A - 4%A + 8%A - 9%A + 4%A + 2%A - 4, - - 7 6 5 4 3 - 2e - 2%A + 9%A - 18%A + 19%A - 4%A - + - 2 - - 10%A + 4%A + 4 - , - - 7 6 5 4 3 - 2f - 2%A + 9%A - 18%A + 19%A - 4%A - + - 2 - - 10%A + 2%A + 4 - ] - ] - , - - 4 2 - [complexRoots= ? + 12? + 144, - - coordinates = - 2 2 2 - [12a - %A - 12, 12b - %A - 12, 12c - %A - 12, - 2 2 - 12d - %A - 12, 6e + %A + 3%A + 12, - 2 - 6f + %A - 3%A + 12] - ] - , - - 4 3 2 - [complexRoots= ? + 6? + 30? + 36? + 36, - - coordinates = - 3 2 - [6a - %A - 5%A - 24%A - 6, - 3 2 - 30b + %A + 5%A + 30%A + 6, - 3 2 - 30c + %A + 5%A + 30%A + 6, - 3 2 - 30d + %A + 5%A + 30%A + 6, - 3 2 - 30e + %A + 5%A + 30%A + 6, - 3 2 - 30f + %A + 5%A + 6] - ] - , - - 4 3 2 - [complexRoots= ? - 6? + 30? - 36? + 36, - - coordinates = - 3 2 - [6a - %A + 5%A - 24%A + 6, - 3 2 - 30b + %A - 5%A + 30%A - 6, - 3 2 - 30c + %A - 5%A + 30%A - 6, - 3 2 - 30d + %A - 5%A + 30%A - 6, - 3 2 - 30e + %A - 5%A + 30%A - 6, - 3 2 - 30f + %A - 5%A - 6] - ] - , - - 4 2 - [complexRoots= ? + 12? + 144, - - coordinates = - 2 2 2 - [12a + %A + 12, 12b + %A + 12, 12c + %A + 12, - 2 2 - 12d + %A + 12, 6e - %A + 3%A - 12, - 2 - 6f - %A - 3%A - 12] - ] - , - - 2 - [complexRoots= ? - 12, - - coordinates = - [a - 1,b - 1,c - 1,d - 1,2e + %A + 4,2f - %A + 4] - ] - , - - 2 - [complexRoots= ? + 6? + 6, - - coordinates = - [a + %A + 5,b - 1,c - 1,d - 1,e - 1,f - %A - 1] - ] - , - - 2 - [complexRoots= ? - 6? + 6, - - coordinates = - [a + %A - 5,b + 1,c + 1,d + 1,e + 1,f - %A + 1] - ] - , - - 2 - [complexRoots= ? - 12, - - coordinates = - [a + 1,b + 1,c + 1,d + 1,2e + %A - 4,2f - %A - 4] - ] - , - - 4 3 2 - [complexRoots= ? + 6? + 30? + 36? + 36, - - coordinates = - 3 2 - [30a - %A - 5%A - 30%A - 6, - 3 2 - 30b - %A - 5%A - 30%A - 6, - 3 2 - 30c - %A - 5%A - 30%A - 6, - 3 2 - 6d + %A + 5%A + 24%A + 6, - 3 2 - 30e - %A - 5%A - 6, - 3 2 - 30f - %A - 5%A - 30%A - 6] - ] - , - - 4 3 2 - [complexRoots= ? - 6? + 30? - 36? + 36, - - coordinates = - 3 2 - [30a - %A + 5%A - 30%A + 6, - 3 2 - 30b - %A + 5%A - 30%A + 6, - 3 2 - 30c - %A + 5%A - 30%A + 6, - 3 2 - 6d + %A - 5%A + 24%A - 6, - 3 2 - 30e - %A + 5%A + 6, - 3 2 - 30f - %A + 5%A - 30%A + 6] - ] - , - - 2 - [complexRoots= ? + 6? + 6, - - coordinates = - [a + 1,b + 1,c + 1,d - %A - 5,e + %A + 1,f + 1] - ] - , - - 2 - [complexRoots= ? - 6? + 6, - - coordinates = - [a - 1,b - 1,c - 1,d - %A + 5,e + %A - 1,f - 1] - ] - ] -Type: List Record(complexRoots: SparseUnivariatePolynomial Integer,coordinates: List Polynomial Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPageEmpty21} -\begin{paste}{LexTriangularPackageXmpPageEmpty21}{LexTriangularPackageXmpPagePatch21} -\pastebutton{LexTriangularPackageXmpPageEmpty21}{\showpaste} -\tab{5}\spadcommand{concat [univariateSolve(ts)$zdpack for ts in lts]\free{lts }\free{zdpack }} -\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPagePatch22} -\begin{paste}{LexTriangularPackageXmpPageFull22}{LexTriangularPackageXmpPageEmpty22} -\pastebutton{LexTriangularPackageXmpPageFull22}{\hidepaste} -\tab{5}\spadcommand{concat [realSolve(ts)$zdpack for ts in lts]\free{lts }\free{zdpack }} -\indentrel{3}\begin{verbatim} - (22) - [[%R1,%R1,%R1,%R5,- %R5 - 4%R1,%R1], - [%R1,%R1,%R1,%R6,- %R6 - 4%R1,%R1], - [%R2,%R2,%R2,%R3,- %R3 - 4%R2,%R2], - [%R2,%R2,%R2,%R4,- %R4 - 4%R2,%R2], - [%R7,%R7,%R7,%R7,%R11,- %R11 - 4%R7], - [%R7,%R7,%R7,%R7,%R12,- %R12 - 4%R7], - [%R8,%R8,%R8,%R8,%R9,- %R9 - 4%R8], - [%R8,%R8,%R8,%R8,%R10,- %R10 - 4%R8], - [%R13,%R13,%R17,- %R17 - 4%R13,%R13,%R13], - [%R13,%R13,%R18,- %R18 - 4%R13,%R13,%R13], - [%R14,%R14,%R15,- %R15 - 4%R14,%R14,%R14], - [%R14,%R14,%R16,- %R16 - 4%R14,%R14,%R14], - - [%R19, %R29, - - 7865521 31 6696179241 25 - ÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄ %R19 - 6006689520 2002229840 - + - 25769893181 19 1975912990729 13 - - ÄÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - 49235160 3003344760 - + - 1048460696489 7 21252634831 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄÄ %R19 - 2002229840 6006689520 - , - - 778171189 31 1987468196267 25 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - 1387545279120 1387545279120 - + - 155496778477189 19 191631411158401 13 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - 693772639560 693772639560 - + - 300335488637543 7 755656433863 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - 1387545279120 198220754160 - , - - 1094352947 31 2794979430821 25 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - 462515093040 462515093040 - + - 218708802908737 19 91476663003591 13 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - 231257546520 77085848840 - + - 145152550961823 7 1564893370717 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - 154171697680 462515093040 - , - - 4321823003 31 - - %R29 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - 1387545279120 - + - 180949546069 25 863753195062493 19 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - 22746643920 693772639560 - + - 1088094456732317 13 1732620732685741 7 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - 693772639560 1387545279120 - + - 13506088516033 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - 1387545279120 - ] - , - - [%R19, %R30, - - 7865521 31 6696179241 25 - ÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄ %R19 - 6006689520 2002229840 - + - 25769893181 19 1975912990729 13 - - ÄÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - 49235160 3003344760 - + - 1048460696489 7 21252634831 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄÄ %R19 - 2002229840 6006689520 - , - - 778171189 31 1987468196267 25 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - 1387545279120 1387545279120 - + - 155496778477189 19 191631411158401 13 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - 693772639560 693772639560 - + - 300335488637543 7 755656433863 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - 1387545279120 198220754160 - , - - 1094352947 31 2794979430821 25 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - 462515093040 462515093040 - + - 218708802908737 19 91476663003591 13 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - 231257546520 77085848840 - + - 145152550961823 7 1564893370717 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - 154171697680 462515093040 - , - - 4321823003 31 - - %R30 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - 1387545279120 - + - 180949546069 25 863753195062493 19 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - 22746643920 693772639560 - + - 1088094456732317 13 1732620732685741 7 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - 693772639560 1387545279120 - + - 13506088516033 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R19 - 1387545279120 - ] - , - - [%R20, %R27, - - 7865521 31 6696179241 25 - ÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄ %R20 - 6006689520 2002229840 - + - 25769893181 19 1975912990729 13 - - ÄÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - 49235160 3003344760 - + - 1048460696489 7 21252634831 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄÄ %R20 - 2002229840 6006689520 - , - - 778171189 31 1987468196267 25 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - 1387545279120 1387545279120 - + - 155496778477189 19 191631411158401 13 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - 693772639560 693772639560 - + - 300335488637543 7 755656433863 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - 1387545279120 198220754160 - , - - 1094352947 31 2794979430821 25 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - 462515093040 462515093040 - + - 218708802908737 19 91476663003591 13 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - 231257546520 77085848840 - + - 145152550961823 7 1564893370717 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - 154171697680 462515093040 - , - - 4321823003 31 - - %R27 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - 1387545279120 - + - 180949546069 25 863753195062493 19 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - 22746643920 693772639560 - + - 1088094456732317 13 1732620732685741 7 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - 693772639560 1387545279120 - + - 13506088516033 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - 1387545279120 - ] - , - - [%R20, %R28, - - 7865521 31 6696179241 25 - ÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄ %R20 - 6006689520 2002229840 - + - 25769893181 19 1975912990729 13 - - ÄÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - 49235160 3003344760 - + - 1048460696489 7 21252634831 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄÄ %R20 - 2002229840 6006689520 - , - - 778171189 31 1987468196267 25 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - 1387545279120 1387545279120 - + - 155496778477189 19 191631411158401 13 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - 693772639560 693772639560 - + - 300335488637543 7 755656433863 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - 1387545279120 198220754160 - , - - 1094352947 31 2794979430821 25 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - 462515093040 462515093040 - + - 218708802908737 19 91476663003591 13 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - 231257546520 77085848840 - + - 145152550961823 7 1564893370717 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - 154171697680 462515093040 - , - - 4321823003 31 - - %R28 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - 1387545279120 - + - 180949546069 25 863753195062493 19 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - 22746643920 693772639560 - + - 1088094456732317 13 1732620732685741 7 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - 693772639560 1387545279120 - + - 13506088516033 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R20 - 1387545279120 - ] - , - - [%R21, %R25, - - 7865521 31 6696179241 25 - ÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄ %R21 - 6006689520 2002229840 - + - 25769893181 19 1975912990729 13 - - ÄÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - 49235160 3003344760 - + - 1048460696489 7 21252634831 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄÄ %R21 - 2002229840 6006689520 - , - - 778171189 31 1987468196267 25 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - 1387545279120 1387545279120 - + - 155496778477189 19 191631411158401 13 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - 693772639560 693772639560 - + - 300335488637543 7 755656433863 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - 1387545279120 198220754160 - , - - 1094352947 31 2794979430821 25 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - 462515093040 462515093040 - + - 218708802908737 19 91476663003591 13 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - 231257546520 77085848840 - + - 145152550961823 7 1564893370717 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - 154171697680 462515093040 - , - - 4321823003 31 - - %R25 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - 1387545279120 - + - 180949546069 25 863753195062493 19 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - 22746643920 693772639560 - + - 1088094456732317 13 1732620732685741 7 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - 693772639560 1387545279120 - + - 13506088516033 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - 1387545279120 - ] - , - - [%R21, %R26, - - 7865521 31 6696179241 25 - ÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄ %R21 - 6006689520 2002229840 - + - 25769893181 19 1975912990729 13 - - ÄÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - 49235160 3003344760 - + - 1048460696489 7 21252634831 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄÄ %R21 - 2002229840 6006689520 - , - - 778171189 31 1987468196267 25 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - 1387545279120 1387545279120 - + - 155496778477189 19 191631411158401 13 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - 693772639560 693772639560 - + - 300335488637543 7 755656433863 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - 1387545279120 198220754160 - , - - 1094352947 31 2794979430821 25 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - 462515093040 462515093040 - + - 218708802908737 19 91476663003591 13 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - 231257546520 77085848840 - + - 145152550961823 7 1564893370717 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - 154171697680 462515093040 - , - - 4321823003 31 - - %R26 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - 1387545279120 - + - 180949546069 25 863753195062493 19 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - 22746643920 693772639560 - + - 1088094456732317 13 1732620732685741 7 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - 693772639560 1387545279120 - + - 13506088516033 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R21 - 1387545279120 - ] - , - - [%R22, %R23, - - 7865521 31 6696179241 25 - ÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄ %R22 - 6006689520 2002229840 - + - 25769893181 19 1975912990729 13 - - ÄÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - 49235160 3003344760 - + - 1048460696489 7 21252634831 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄÄ %R22 - 2002229840 6006689520 - , - - 778171189 31 1987468196267 25 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - 1387545279120 1387545279120 - + - 155496778477189 19 191631411158401 13 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - 693772639560 693772639560 - + - 300335488637543 7 755656433863 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - 1387545279120 198220754160 - , - - 1094352947 31 2794979430821 25 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - 462515093040 462515093040 - + - 218708802908737 19 91476663003591 13 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - 231257546520 77085848840 - + - 145152550961823 7 1564893370717 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - 154171697680 462515093040 - , - - 4321823003 31 - - %R23 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - 1387545279120 - + - 180949546069 25 863753195062493 19 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - 22746643920 693772639560 - + - 1088094456732317 13 1732620732685741 7 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - 693772639560 1387545279120 - + - 13506088516033 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - 1387545279120 - ] - , - - [%R22, %R24, - - 7865521 31 6696179241 25 - ÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄ %R22 - 6006689520 2002229840 - + - 25769893181 19 1975912990729 13 - - ÄÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - 49235160 3003344760 - + - 1048460696489 7 21252634831 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄÄ %R22 - 2002229840 6006689520 - , - - 778171189 31 1987468196267 25 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - 1387545279120 1387545279120 - + - 155496778477189 19 191631411158401 13 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - 693772639560 693772639560 - + - 300335488637543 7 755656433863 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - 1387545279120 198220754160 - , - - 1094352947 31 2794979430821 25 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - 462515093040 462515093040 - + - 218708802908737 19 91476663003591 13 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - 231257546520 77085848840 - + - 145152550961823 7 1564893370717 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - 154171697680 462515093040 - , - - 4321823003 31 - - %R24 - ÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - 1387545279120 - + - 180949546069 25 863753195062493 19 - ÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - 22746643920 693772639560 - + - 1088094456732317 13 1732620732685741 7 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - 693772639560 1387545279120 - + - 13506088516033 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %R22 - 1387545279120 - ] - , - [%R31,%R35,- %R35 - 4%R31,%R31,%R31,%R31], - [%R31,%R36,- %R36 - 4%R31,%R31,%R31,%R31], - [%R32,%R33,- %R33 - 4%R32,%R32,%R32,%R32], - [%R32,%R34,- %R34 - 4%R32,%R32,%R32,%R32]] - Type: List List RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LexTriangularPackageXmpPageEmpty22} -\begin{paste}{LexTriangularPackageXmpPageEmpty22}{LexTriangularPackageXmpPagePatch22} -\pastebutton{LexTriangularPackageXmpPageEmpty22}{\showpaste} -\tab{5}\spadcommand{concat [realSolve(ts)$zdpack for ts in lts]\free{lts }\free{zdpack }} -\end{paste}\end{patch} - diff --git a/books/pages/lib.pht b/books/pages/lib.pht deleted file mode 100644 index 27593b0..0000000 --- a/books/pages/lib.pht +++ /dev/null @@ -1,129 +0,0 @@ -\begin{patch}{LibraryXmpPagePatch1} -\begin{paste}{LibraryXmpPageFull1}{LibraryXmpPageEmpty1} -\pastebutton{LibraryXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{stuff := library "/tmp/Neat.stuff"\bound{stuff }} -\indentrel{3}\begin{verbatim} - (1) "/tmp/Neat.stuff" - Type: Library -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LibraryXmpPageEmpty1} -\begin{paste}{LibraryXmpPageEmpty1}{LibraryXmpPagePatch1} -\pastebutton{LibraryXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{stuff := library "/tmp/Neat.stuff"\bound{stuff }} -\end{paste}\end{patch} - -\begin{patch}{LibraryXmpPagePatch2} -\begin{paste}{LibraryXmpPageFull2}{LibraryXmpPageEmpty2} -\pastebutton{LibraryXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{stuff.int := 32**2\free{stuff }\bound{stuffa }} -\indentrel{3}\begin{verbatim} - (2) 1024 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LibraryXmpPageEmpty2} -\begin{paste}{LibraryXmpPageEmpty2}{LibraryXmpPagePatch2} -\pastebutton{LibraryXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{stuff.int := 32**2\free{stuff }\bound{stuffa }} -\end{paste}\end{patch} - -\begin{patch}{LibraryXmpPagePatch3} -\begin{paste}{LibraryXmpPageFull3}{LibraryXmpPageEmpty3} -\pastebutton{LibraryXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{stuff."poly" := x**2 + 1\free{stuffa }\bound{stuffb }} -\indentrel{3}\begin{verbatim} - 2 - (3) x + 1 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LibraryXmpPageEmpty3} -\begin{paste}{LibraryXmpPageEmpty3}{LibraryXmpPagePatch3} -\pastebutton{LibraryXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{stuff."poly" := x**2 + 1\free{stuffa }\bound{stuffb }} -\end{paste}\end{patch} - -\begin{patch}{LibraryXmpPagePatch4} -\begin{paste}{LibraryXmpPageFull4}{LibraryXmpPageEmpty4} -\pastebutton{LibraryXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{stuff.str := "Hello"\free{stuffb }\bound{stuffc }} -\indentrel{3}\begin{verbatim} - (4) "Hello" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LibraryXmpPageEmpty4} -\begin{paste}{LibraryXmpPageEmpty4}{LibraryXmpPagePatch4} -\pastebutton{LibraryXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{stuff.str := "Hello"\free{stuffb }\bound{stuffc }} -\end{paste}\end{patch} - -\begin{patch}{LibraryXmpPagePatch5} -\begin{paste}{LibraryXmpPageFull5}{LibraryXmpPageEmpty5} -\pastebutton{LibraryXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{keys stuff\free{stuffa stuffb stuffc }\bound{stuffabc }} -\indentrel{3}\begin{verbatim} - (5) ["str","poly","int"] - Type: List String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LibraryXmpPageEmpty5} -\begin{paste}{LibraryXmpPageEmpty5}{LibraryXmpPagePatch5} -\pastebutton{LibraryXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{keys stuff\free{stuffa stuffb stuffc }\bound{stuffabc }} -\end{paste}\end{patch} - -\begin{patch}{LibraryXmpPagePatch6} -\begin{paste}{LibraryXmpPageFull6}{LibraryXmpPageEmpty6} -\pastebutton{LibraryXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{stuff.poly\free{stuffb }} -\indentrel{3}\begin{verbatim} - 2 - (6) x + 1 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LibraryXmpPageEmpty6} -\begin{paste}{LibraryXmpPageEmpty6}{LibraryXmpPagePatch6} -\pastebutton{LibraryXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{stuff.poly\free{stuffb }} -\end{paste}\end{patch} - -\begin{patch}{LibraryXmpPagePatch7} -\begin{paste}{LibraryXmpPageFull7}{LibraryXmpPageEmpty7} -\pastebutton{LibraryXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{stuff("poly")\free{stuffb }} -\indentrel{3}\begin{verbatim} - 2 - (7) x + 1 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LibraryXmpPageEmpty7} -\begin{paste}{LibraryXmpPageEmpty7}{LibraryXmpPagePatch7} -\pastebutton{LibraryXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{stuff("poly")\free{stuffb }} -\end{paste}\end{patch} - -\begin{patch}{LibraryXmpPagePatch8} -\begin{paste}{LibraryXmpPageFull8}{LibraryXmpPageEmpty8} -\pastebutton{LibraryXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{)system rm -rf /tmp/Neat.stuff\free{stuff }\bound{rmstuff }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LibraryXmpPageEmpty8} -\begin{paste}{LibraryXmpPageEmpty8}{LibraryXmpPagePatch8} -\pastebutton{LibraryXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{)system rm -rf /tmp/Neat.stuff\free{stuff }\bound{rmstuff }} -\end{paste}\end{patch} - diff --git a/books/pages/list.pht b/books/pages/list.pht deleted file mode 100644 index 59ecb37..0000000 --- a/books/pages/list.pht +++ /dev/null @@ -1,528 +0,0 @@ -\begin{patch}{ugxListDotPagePatch1} -\begin{paste}{ugxListDotPageFull1}{ugxListDotPageEmpty1} -\pastebutton{ugxListDotPageFull1}{\hidepaste} -\tab{5}\spadcommand{[1..3,10,20..23]} -\indentrel{3}\begin{verbatim} - (1) [1..3,10..10,20..23] - Type: List Segment PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListDotPageEmpty1} -\begin{paste}{ugxListDotPageEmpty1}{ugxListDotPagePatch1} -\pastebutton{ugxListDotPageEmpty1}{\showpaste} -\tab{5}\spadcommand{[1..3,10,20..23]} -\end{paste}\end{patch} - -\begin{patch}{ugxListDotPagePatch2} -\begin{paste}{ugxListDotPageFull2}{ugxListDotPageEmpty2} -\pastebutton{ugxListDotPageFull2}{\hidepaste} -\tab{5}\spadcommand{expand [1..3,10,20..23]} -\indentrel{3}\begin{verbatim} - (2) [1,2,3,10,20,21,22,23] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListDotPageEmpty2} -\begin{paste}{ugxListDotPageEmpty2}{ugxListDotPagePatch2} -\pastebutton{ugxListDotPageEmpty2}{\showpaste} -\tab{5}\spadcommand{expand [1..3,10,20..23]} -\end{paste}\end{patch} - -\begin{patch}{ugxListDotPagePatch3} -\begin{paste}{ugxListDotPageFull3}{ugxListDotPageEmpty3} -\pastebutton{ugxListDotPageFull3}{\hidepaste} -\tab{5}\spadcommand{expand [1..]} -\indentrel{3}\begin{verbatim} - (3) [1,2,3,4,5,6,7,8,9,10,...] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListDotPageEmpty3} -\begin{paste}{ugxListDotPageEmpty3}{ugxListDotPagePatch3} -\pastebutton{ugxListDotPageEmpty3}{\showpaste} -\tab{5}\spadcommand{expand [1..]} -\end{paste}\end{patch} - -\begin{patch}{ugxListOtherPagePatch1} -\begin{paste}{ugxListOtherPageFull1}{ugxListOtherPageEmpty1} -\pastebutton{ugxListOtherPageFull1}{\hidepaste} -\tab{5}\spadcommand{k := [1,2,3]\bound{k }} -\indentrel{3}\begin{verbatim} - (1) [1,2,3] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListOtherPageEmpty1} -\begin{paste}{ugxListOtherPageEmpty1}{ugxListOtherPagePatch1} -\pastebutton{ugxListOtherPageEmpty1}{\showpaste} -\tab{5}\spadcommand{k := [1,2,3]\bound{k }} -\end{paste}\end{patch} - -\begin{patch}{ugxListOtherPagePatch2} -\begin{paste}{ugxListOtherPageFull2}{ugxListOtherPageEmpty2} -\pastebutton{ugxListOtherPageFull2}{\hidepaste} -\tab{5}\spadcommand{rest k\free{k }} -\indentrel{3}\begin{verbatim} - (2) [2,3] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListOtherPageEmpty2} -\begin{paste}{ugxListOtherPageEmpty2}{ugxListOtherPagePatch2} -\pastebutton{ugxListOtherPageEmpty2}{\showpaste} -\tab{5}\spadcommand{rest k\free{k }} -\end{paste}\end{patch} - -\begin{patch}{ugxListOtherPagePatch3} -\begin{paste}{ugxListOtherPageFull3}{ugxListOtherPageEmpty3} -\pastebutton{ugxListOtherPageFull3}{\hidepaste} -\tab{5}\spadcommand{removeDuplicates [4,3,4,3,5,3,4]} -\indentrel{3}\begin{verbatim} - (3) [4,3,5] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListOtherPageEmpty3} -\begin{paste}{ugxListOtherPageEmpty3}{ugxListOtherPagePatch3} -\pastebutton{ugxListOtherPageEmpty3}{\showpaste} -\tab{5}\spadcommand{removeDuplicates [4,3,4,3,5,3,4]} -\end{paste}\end{patch} - -\begin{patch}{ugxListOtherPagePatch4} -\begin{paste}{ugxListOtherPageFull4}{ugxListOtherPageEmpty4} -\pastebutton{ugxListOtherPageFull4}{\hidepaste} -\tab{5}\spadcommand{reverse [1,2,3,4,5,6]} -\indentrel{3}\begin{verbatim} - (4) [6,5,4,3,2,1] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListOtherPageEmpty4} -\begin{paste}{ugxListOtherPageEmpty4}{ugxListOtherPagePatch4} -\pastebutton{ugxListOtherPageEmpty4}{\showpaste} -\tab{5}\spadcommand{reverse [1,2,3,4,5,6]} -\end{paste}\end{patch} - -\begin{patch}{ugxListOtherPagePatch5} -\begin{paste}{ugxListOtherPageFull5}{ugxListOtherPageEmpty5} -\pastebutton{ugxListOtherPageFull5}{\hidepaste} -\tab{5}\spadcommand{member?(1/2,[3/4,5/6,1/2])} -\indentrel{3}\begin{verbatim} - (5) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListOtherPageEmpty5} -\begin{paste}{ugxListOtherPageEmpty5}{ugxListOtherPagePatch5} -\pastebutton{ugxListOtherPageEmpty5}{\showpaste} -\tab{5}\spadcommand{member?(1/2,[3/4,5/6,1/2])} -\end{paste}\end{patch} - -\begin{patch}{ugxListOtherPagePatch6} -\begin{paste}{ugxListOtherPageFull6}{ugxListOtherPageEmpty6} -\pastebutton{ugxListOtherPageFull6}{\hidepaste} -\tab{5}\spadcommand{member?(1/12,[3/4,5/6,1/2])} -\indentrel{3}\begin{verbatim} - (6) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListOtherPageEmpty6} -\begin{paste}{ugxListOtherPageEmpty6}{ugxListOtherPagePatch6} -\pastebutton{ugxListOtherPageEmpty6}{\showpaste} -\tab{5}\spadcommand{member?(1/12,[3/4,5/6,1/2])} -\end{paste}\end{patch} - -\begin{patch}{ugxListChangePagePatch1} -\begin{paste}{ugxListChangePageFull1}{ugxListChangePageEmpty1} -\pastebutton{ugxListChangePageFull1}{\hidepaste} -\tab{5}\spadcommand{k := [4,3,7,3,8,5,9,2]\bound{k }} -\indentrel{3}\begin{verbatim} - (1) [4,3,7,3,8,5,9,2] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListChangePageEmpty1} -\begin{paste}{ugxListChangePageEmpty1}{ugxListChangePagePatch1} -\pastebutton{ugxListChangePageEmpty1}{\showpaste} -\tab{5}\spadcommand{k := [4,3,7,3,8,5,9,2]\bound{k }} -\end{paste}\end{patch} - -\begin{patch}{ugxListChangePagePatch2} -\begin{paste}{ugxListChangePageFull2}{ugxListChangePageEmpty2} -\pastebutton{ugxListChangePageFull2}{\hidepaste} -\tab{5}\spadcommand{k.1 := 999\free{k }\bound{k1 }} -\indentrel{3}\begin{verbatim} - (2) 999 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListChangePageEmpty2} -\begin{paste}{ugxListChangePageEmpty2}{ugxListChangePagePatch2} -\pastebutton{ugxListChangePageEmpty2}{\showpaste} -\tab{5}\spadcommand{k.1 := 999\free{k }\bound{k1 }} -\end{paste}\end{patch} - -\begin{patch}{ugxListChangePagePatch3} -\begin{paste}{ugxListChangePageFull3}{ugxListChangePageEmpty3} -\pastebutton{ugxListChangePageFull3}{\hidepaste} -\tab{5}\spadcommand{k\free{k1 }} -\indentrel{3}\begin{verbatim} - (3) [999,3,7,3,8,5,9,2] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListChangePageEmpty3} -\begin{paste}{ugxListChangePageEmpty3}{ugxListChangePagePatch3} -\pastebutton{ugxListChangePageEmpty3}{\showpaste} -\tab{5}\spadcommand{k\free{k1 }} -\end{paste}\end{patch} - -\begin{patch}{ugxListChangePagePatch4} -\begin{paste}{ugxListChangePageFull4}{ugxListChangePageEmpty4} -\pastebutton{ugxListChangePageFull4}{\hidepaste} -\tab{5}\spadcommand{k := [1,2]\bound{k2 }} -\indentrel{3}\begin{verbatim} - (4) [1,2] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListChangePageEmpty4} -\begin{paste}{ugxListChangePageEmpty4}{ugxListChangePagePatch4} -\pastebutton{ugxListChangePageEmpty4}{\showpaste} -\tab{5}\spadcommand{k := [1,2]\bound{k2 }} -\end{paste}\end{patch} - -\begin{patch}{ugxListChangePagePatch5} -\begin{paste}{ugxListChangePageFull5}{ugxListChangePageEmpty5} -\pastebutton{ugxListChangePageFull5}{\hidepaste} -\tab{5}\spadcommand{m := cons(0,k)\free{k2 }\bound{m }} -\indentrel{3}\begin{verbatim} - (5) [0,1,2] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListChangePageEmpty5} -\begin{paste}{ugxListChangePageEmpty5}{ugxListChangePagePatch5} -\pastebutton{ugxListChangePageEmpty5}{\showpaste} -\tab{5}\spadcommand{m := cons(0,k)\free{k2 }\bound{m }} -\end{paste}\end{patch} - -\begin{patch}{ugxListChangePagePatch6} -\begin{paste}{ugxListChangePageFull6}{ugxListChangePageEmpty6} -\pastebutton{ugxListChangePageFull6}{\hidepaste} -\tab{5}\spadcommand{m.2 := 99\free{m }\bound{m2 }} -\indentrel{3}\begin{verbatim} - (6) 99 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListChangePageEmpty6} -\begin{paste}{ugxListChangePageEmpty6}{ugxListChangePagePatch6} -\pastebutton{ugxListChangePageEmpty6}{\showpaste} -\tab{5}\spadcommand{m.2 := 99\free{m }\bound{m2 }} -\end{paste}\end{patch} - -\begin{patch}{ugxListChangePagePatch7} -\begin{paste}{ugxListChangePageFull7}{ugxListChangePageEmpty7} -\pastebutton{ugxListChangePageFull7}{\hidepaste} -\tab{5}\spadcommand{m\free{m2 }} -\indentrel{3}\begin{verbatim} - (7) [0,99,2] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListChangePageEmpty7} -\begin{paste}{ugxListChangePageEmpty7}{ugxListChangePagePatch7} -\pastebutton{ugxListChangePageEmpty7}{\showpaste} -\tab{5}\spadcommand{m\free{m2 }} -\end{paste}\end{patch} - -\begin{patch}{ugxListChangePagePatch8} -\begin{paste}{ugxListChangePageFull8}{ugxListChangePageEmpty8} -\pastebutton{ugxListChangePageFull8}{\hidepaste} -\tab{5}\spadcommand{k\free{m2 k2 }} -\indentrel{3}\begin{verbatim} - (8) [99,2] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListChangePageEmpty8} -\begin{paste}{ugxListChangePageEmpty8}{ugxListChangePagePatch8} -\pastebutton{ugxListChangePageEmpty8}{\showpaste} -\tab{5}\spadcommand{k\free{m2 k2 }} -\end{paste}\end{patch} - -\begin{patch}{ugxListAccessPagePatch1} -\begin{paste}{ugxListAccessPageFull1}{ugxListAccessPageEmpty1} -\pastebutton{ugxListAccessPageFull1}{\hidepaste} -\tab{5}\spadcommand{empty? [x+1]} -\indentrel{3}\begin{verbatim} - (1) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListAccessPageEmpty1} -\begin{paste}{ugxListAccessPageEmpty1}{ugxListAccessPagePatch1} -\pastebutton{ugxListAccessPageEmpty1}{\showpaste} -\tab{5}\spadcommand{empty? [x+1]} -\end{paste}\end{patch} - -\begin{patch}{ugxListAccessPagePatch2} -\begin{paste}{ugxListAccessPageFull2}{ugxListAccessPageEmpty2} -\pastebutton{ugxListAccessPageFull2}{\hidepaste} -\tab{5}\spadcommand{([] = nil)@Boolean} -\indentrel{3}\begin{verbatim} - (2) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListAccessPageEmpty2} -\begin{paste}{ugxListAccessPageEmpty2}{ugxListAccessPagePatch2} -\pastebutton{ugxListAccessPageEmpty2}{\showpaste} -\tab{5}\spadcommand{([] = nil)@Boolean} -\end{paste}\end{patch} - -\begin{patch}{ugxListAccessPagePatch3} -\begin{paste}{ugxListAccessPageFull3}{ugxListAccessPageEmpty3} -\pastebutton{ugxListAccessPageFull3}{\hidepaste} -\tab{5}\spadcommand{k := [4,3,7,3,8,5,9,2]\bound{k }} -\indentrel{3}\begin{verbatim} - (3) [4,3,7,3,8,5,9,2] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListAccessPageEmpty3} -\begin{paste}{ugxListAccessPageEmpty3}{ugxListAccessPagePatch3} -\pastebutton{ugxListAccessPageEmpty3}{\showpaste} -\tab{5}\spadcommand{k := [4,3,7,3,8,5,9,2]\bound{k }} -\end{paste}\end{patch} - -\begin{patch}{ugxListAccessPagePatch4} -\begin{paste}{ugxListAccessPageFull4}{ugxListAccessPageEmpty4} -\pastebutton{ugxListAccessPageFull4}{\hidepaste} -\tab{5}\spadcommand{first k\free{k }} -\indentrel{3}\begin{verbatim} - (4) 4 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListAccessPageEmpty4} -\begin{paste}{ugxListAccessPageEmpty4}{ugxListAccessPagePatch4} -\pastebutton{ugxListAccessPageEmpty4}{\showpaste} -\tab{5}\spadcommand{first k\free{k }} -\end{paste}\end{patch} - -\begin{patch}{ugxListAccessPagePatch5} -\begin{paste}{ugxListAccessPageFull5}{ugxListAccessPageEmpty5} -\pastebutton{ugxListAccessPageFull5}{\hidepaste} -\tab{5}\spadcommand{k.first\free{k }} -\indentrel{3}\begin{verbatim} - (5) 4 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListAccessPageEmpty5} -\begin{paste}{ugxListAccessPageEmpty5}{ugxListAccessPagePatch5} -\pastebutton{ugxListAccessPageEmpty5}{\showpaste} -\tab{5}\spadcommand{k.first\free{k }} -\end{paste}\end{patch} - -\begin{patch}{ugxListAccessPagePatch6} -\begin{paste}{ugxListAccessPageFull6}{ugxListAccessPageEmpty6} -\pastebutton{ugxListAccessPageFull6}{\hidepaste} -\tab{5}\spadcommand{k.1\free{k }} -\indentrel{3}\begin{verbatim} - (6) 4 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListAccessPageEmpty6} -\begin{paste}{ugxListAccessPageEmpty6}{ugxListAccessPagePatch6} -\pastebutton{ugxListAccessPageEmpty6}{\showpaste} -\tab{5}\spadcommand{k.1\free{k }} -\end{paste}\end{patch} - -\begin{patch}{ugxListAccessPagePatch7} -\begin{paste}{ugxListAccessPageFull7}{ugxListAccessPageEmpty7} -\pastebutton{ugxListAccessPageFull7}{\hidepaste} -\tab{5}\spadcommand{k(1)\free{k }} -\indentrel{3}\begin{verbatim} - (7) 4 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListAccessPageEmpty7} -\begin{paste}{ugxListAccessPageEmpty7}{ugxListAccessPagePatch7} -\pastebutton{ugxListAccessPageEmpty7}{\showpaste} -\tab{5}\spadcommand{k(1)\free{k }} -\end{paste}\end{patch} - -\begin{patch}{ugxListAccessPagePatch8} -\begin{paste}{ugxListAccessPageFull8}{ugxListAccessPageEmpty8} -\pastebutton{ugxListAccessPageFull8}{\hidepaste} -\tab{5}\spadcommand{n := \#k\free{k }} -\indentrel{3}\begin{verbatim} - (8) 8 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListAccessPageEmpty8} -\begin{paste}{ugxListAccessPageEmpty8}{ugxListAccessPagePatch8} -\pastebutton{ugxListAccessPageEmpty8}{\showpaste} -\tab{5}\spadcommand{n := \#k\free{k }} -\end{paste}\end{patch} - -\begin{patch}{ugxListAccessPagePatch9} -\begin{paste}{ugxListAccessPageFull9}{ugxListAccessPageEmpty9} -\pastebutton{ugxListAccessPageFull9}{\hidepaste} -\tab{5}\spadcommand{last k\free{k }} -\indentrel{3}\begin{verbatim} - (9) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListAccessPageEmpty9} -\begin{paste}{ugxListAccessPageEmpty9}{ugxListAccessPagePatch9} -\pastebutton{ugxListAccessPageEmpty9}{\showpaste} -\tab{5}\spadcommand{last k\free{k }} -\end{paste}\end{patch} - -\begin{patch}{ugxListAccessPagePatch10} -\begin{paste}{ugxListAccessPageFull10}{ugxListAccessPageEmpty10} -\pastebutton{ugxListAccessPageFull10}{\hidepaste} -\tab{5}\spadcommand{k.last\free{k }} -\indentrel{3}\begin{verbatim} - (10) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListAccessPageEmpty10} -\begin{paste}{ugxListAccessPageEmpty10}{ugxListAccessPagePatch10} -\pastebutton{ugxListAccessPageEmpty10}{\showpaste} -\tab{5}\spadcommand{k.last\free{k }} -\end{paste}\end{patch} - -\begin{patch}{ugxListAccessPagePatch11} -\begin{paste}{ugxListAccessPageFull11}{ugxListAccessPageEmpty11} -\pastebutton{ugxListAccessPageFull11}{\hidepaste} -\tab{5}\spadcommand{k.(\#k)\free{k }} -\indentrel{3}\begin{verbatim} - (11) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListAccessPageEmpty11} -\begin{paste}{ugxListAccessPageEmpty11}{ugxListAccessPagePatch11} -\pastebutton{ugxListAccessPageEmpty11}{\showpaste} -\tab{5}\spadcommand{k.(\#k)\free{k }} -\end{paste}\end{patch} - -\begin{patch}{ugxListCreatePagePatch1} -\begin{paste}{ugxListCreatePageFull1}{ugxListCreatePageEmpty1} -\pastebutton{ugxListCreatePageFull1}{\hidepaste} -\tab{5}\spadcommand{[2, 4, 5, 6]} -\indentrel{3}\begin{verbatim} - (1) [2,4,5,6] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListCreatePageEmpty1} -\begin{paste}{ugxListCreatePageEmpty1}{ugxListCreatePagePatch1} -\pastebutton{ugxListCreatePageEmpty1}{\showpaste} -\tab{5}\spadcommand{[2, 4, 5, 6]} -\end{paste}\end{patch} - -\begin{patch}{ugxListCreatePagePatch2} -\begin{paste}{ugxListCreatePageFull2}{ugxListCreatePageEmpty2} -\pastebutton{ugxListCreatePageFull2}{\hidepaste} -\tab{5}\spadcommand{[1]} -\indentrel{3}\begin{verbatim} - (2) [1] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListCreatePageEmpty2} -\begin{paste}{ugxListCreatePageEmpty2}{ugxListCreatePagePatch2} -\pastebutton{ugxListCreatePageEmpty2}{\showpaste} -\tab{5}\spadcommand{[1]} -\end{paste}\end{patch} - -\begin{patch}{ugxListCreatePagePatch3} -\begin{paste}{ugxListCreatePageFull3}{ugxListCreatePageEmpty3} -\pastebutton{ugxListCreatePageFull3}{\hidepaste} -\tab{5}\spadcommand{list(1)} -\indentrel{3}\begin{verbatim} - (3) [1] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListCreatePageEmpty3} -\begin{paste}{ugxListCreatePageEmpty3}{ugxListCreatePagePatch3} -\pastebutton{ugxListCreatePageEmpty3}{\showpaste} -\tab{5}\spadcommand{list(1)} -\end{paste}\end{patch} - -\begin{patch}{ugxListCreatePagePatch4} -\begin{paste}{ugxListCreatePageFull4}{ugxListCreatePageEmpty4} -\pastebutton{ugxListCreatePageFull4}{\hidepaste} -\tab{5}\spadcommand{append([1,2,3],[5,6,7])} -\indentrel{3}\begin{verbatim} - (4) [1,2,3,5,6,7] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListCreatePageEmpty4} -\begin{paste}{ugxListCreatePageEmpty4}{ugxListCreatePagePatch4} -\pastebutton{ugxListCreatePageEmpty4}{\showpaste} -\tab{5}\spadcommand{append([1,2,3],[5,6,7])} -\end{paste}\end{patch} - -\begin{patch}{ugxListCreatePagePatch5} -\begin{paste}{ugxListCreatePageFull5}{ugxListCreatePageEmpty5} -\pastebutton{ugxListCreatePageFull5}{\hidepaste} -\tab{5}\spadcommand{cons(10,[9,8,7])} -\indentrel{3}\begin{verbatim} - (5) [10,9,8,7] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxListCreatePageEmpty5} -\begin{paste}{ugxListCreatePageEmpty5}{ugxListCreatePagePatch5} -\pastebutton{ugxListCreatePageEmpty5}{\showpaste} -\tab{5}\spadcommand{cons(10,[9,8,7])} -\end{paste}\end{patch} - diff --git a/books/pages/lodo.pht b/books/pages/lodo.pht deleted file mode 100644 index 22e701b..0000000 --- a/books/pages/lodo.pht +++ /dev/null @@ -1,391 +0,0 @@ -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch1} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull1}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty1} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull1}{\hidepaste} -\tab{5}\spadcommand{Dx: LODO(EXPR INT, f +-> D(f, x))\bound{Dxd }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty1} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty1}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch1} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty1}{\showpaste} -\tab{5}\spadcommand{Dx: LODO(EXPR INT, f +-> D(f, x))\bound{Dxd }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch2} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull2}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty2} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull2}{\hidepaste} -\tab{5}\spadcommand{Dx := D()\free{Dxd }\bound{Dx }} -\indentrel{3}\begin{verbatim} - (2) D -Type: LinearOrdinaryDifferentialOperator(Expression Integer,theMap NIL) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty2} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty2}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch2} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty2}{\showpaste} -\tab{5}\spadcommand{Dx := D()\free{Dxd }\bound{Dx }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch3} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull3}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty3} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull3}{\hidepaste} -\tab{5}\spadcommand{Dop:= Dx**3 + G/x**2*Dx + H/x**3 - 1\free{Dx }\bound{Dop }} -\indentrel{3}\begin{verbatim} - 3 - 3 G - x + H - (3) D + ÄÄ D + ÄÄÄÄÄÄÄÄ - 2 3 - x x -Type: LinearOrdinaryDifferentialOperator(Expression Integer,theMap NIL) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty3} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty3}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch3} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty3}{\showpaste} -\tab{5}\spadcommand{Dop:= Dx**3 + G/x**2*Dx + H/x**3 - 1\free{Dx }\bound{Dop }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch4} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull4}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty4} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull4}{\hidepaste} -\tab{5}\spadcommand{n == 3\bound{n3 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty4} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty4}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch4} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty4}{\showpaste} -\tab{5}\spadcommand{n == 3\bound{n3 }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch5} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull5}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty5} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull5}{\hidepaste} -\tab{5}\spadcommand{phi == reduce(+,[subscript(s,[i])*exp(x)/x**i for i in 0..n])\bound{phi }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty5} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty5}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch5} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty5}{\showpaste} -\tab{5}\spadcommand{phi == reduce(+,[subscript(s,[i])*exp(x)/x**i for i in 0..n])\bound{phi }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch6} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull6}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty6} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull6}{\hidepaste} -\tab{5}\spadcommand{phi1 == Dop(phi) / exp x\bound{phi1 }\free{Dop phi }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty6} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty6}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch6} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty6}{\showpaste} -\tab{5}\spadcommand{phi1 == Dop(phi) / exp x\bound{phi1 }\free{Dop phi }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch7} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull7}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty7} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull7}{\hidepaste} -\tab{5}\spadcommand{phi2 == phi1 *x**(n+3)\bound{phi2 }\free{phi1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty7} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty7}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch7} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty7}{\showpaste} -\tab{5}\spadcommand{phi2 == phi1 *x**(n+3)\bound{phi2 }\free{phi1 }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch8} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull8}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty8} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull8}{\hidepaste} -\tab{5}\spadcommand{phi3 == retract(phi2)@(POLY INT)\bound{phi3 }\free{phi2 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty8} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty8}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch8} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty8}{\showpaste} -\tab{5}\spadcommand{phi3 == retract(phi2)@(POLY INT)\bound{phi3 }\free{phi2 }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch9} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull9}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty9} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull9}{\hidepaste} -\tab{5}\spadcommand{pans == phi3 ::UP(x,POLY INT)\free{phi3 }\bound{pans }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty9} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty9}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch9} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty9}{\showpaste} -\tab{5}\spadcommand{pans == phi3 ::UP(x,POLY INT)\free{phi3 }\bound{pans }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch10} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull10}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty10} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull10}{\hidepaste} -\tab{5}\spadcommand{pans1 == [coefficient(pans, (n+3-i) :: NNI) for i in 2..n+1]\bound{pans1 }\free{pans }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty10} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty10}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch10} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty10}{\showpaste} -\tab{5}\spadcommand{pans1 == [coefficient(pans, (n+3-i) :: NNI) for i in 2..n+1]\bound{pans1 }\free{pans }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch11} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull11}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty11} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull11}{\hidepaste} -\tab{5}\spadcommand{leq == solve(pans1,[subscript(s,[i]) for i in 1..n])\bound{leq }\free{pans1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty11} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty11}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch11} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty11}{\showpaste} -\tab{5}\spadcommand{leq == solve(pans1,[subscript(s,[i]) for i in 1..n])\bound{leq }\free{pans1 }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch12} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull12}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty12} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull12}{\hidepaste} -\tab{5}\spadcommand{leq\free{n3 leq }} -\indentrel{3}\begin{verbatim} - (12) - [ - 2 - s G 3s H + s G + 6s G - 0 0 0 0 - [s = ÄÄÄ, s = ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, - 1 3 2 18 - 3 2 - (9s G + 54s )H + s G + 18s G + 72s G - 0 0 0 0 0 - s = ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ] - 3 162 - ] - Type: List List Equation Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty12} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty12}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch12} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty12}{\showpaste} -\tab{5}\spadcommand{leq\free{n3 leq }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch13} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull13}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty13} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull13}{\hidepaste} -\tab{5}\spadcommand{n==4\bound{n4 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty13} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty13}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch13} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty13}{\showpaste} -\tab{5}\spadcommand{n==4\bound{n4 }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch14} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull14}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty14} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull14}{\hidepaste} -\tab{5}\spadcommand{leq\free{n4 leq }} -\indentrel{3}\begin{verbatim} - (14) - [ - 2 - s G 3s H + s G + 6s G - 0 0 0 0 - [s = ÄÄÄ, s = ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, - 1 3 2 18 - 3 2 - (9s G + 54s )H + s G + 18s G + 72s G - 0 0 0 0 0 - s = ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, - 3 162 - - s = - 4 - 2 2 4 - 27s H + (18s G + 378s G + 1296s )H + s G - 0 0 0 0 0 - + - 3 2 - 36s G + 396s G + 1296s G - 0 0 0 - / - 1944 - ] - ] - Type: List List Equation Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty14} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty14}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch14} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty14}{\showpaste} -\tab{5}\spadcommand{leq\free{n4 leq }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch15} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull15}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty15} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull15}{\hidepaste} -\tab{5}\spadcommand{n==7\bound{n7 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty15} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty15}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch15} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty15}{\showpaste} -\tab{5}\spadcommand{n==7\bound{n7 }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch16} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull16}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty16} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageFull16}{\hidepaste} -\tab{5}\spadcommand{leq\free{n7 leq }} -\indentrel{3}\begin{verbatim} - (16) - [ - 2 - s G 3s H + s G + 6s G - 0 0 0 0 - [s = ÄÄÄ, s = ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, - 1 3 2 18 - 3 2 - (9s G + 54s )H + s G + 18s G + 72s G - 0 0 0 0 0 - s = ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, - 3 162 - - s = - 4 - 2 2 4 - 27s H + (18s G + 378s G + 1296s )H + s G - 0 0 0 0 0 - + - 3 2 - 36s G + 396s G + 1296s G - 0 0 0 - / - 1944 - , - - s = - 5 - 2 - (135s G + 2268s )H - 0 0 - + - 3 2 - (30s G + 1350s G + 16416s G + 38880s )H - 0 0 0 0 - + - 5 4 3 2 - s G + 60s G + 1188s G + 9504s G + 25920s G - 0 0 0 0 0 - / - 29160 - , - - s = - 6 - 3 2 2 - 405s H + (405s G + 18468s G + 174960s )H - 0 0 0 0 - + - 4 3 2 - 45s G + 3510s G + 88776s G + 777600s G - 0 0 0 0 - + - 1166400s - 0 - * - H - + - 6 5 4 3 - s G + 90s G + 2628s G + 27864s G - 0 0 0 0 - + - 2 - 90720s G - 0 - / - 524880 - , - - s = - 7 - 3 - (2835s G + 91854s )H - 0 0 - + - 3 2 - 945s G + 81648s G + 2082996s G - 0 0 0 - + - 14171760s - 0 - * - 2 - H - + - 5 4 3 - 63s G + 7560s G + 317520s G - 0 0 0 - + - 2 - 5554008s G + 34058880s G - 0 0 - * - H - + - 7 6 5 4 - s G + 126s G + 4788s G + 25272s G - 0 0 0 0 - + - 3 2 - - 1744416s G - 26827200s G - 97977600s G - 0 0 0 - / - 11022480 - ] - ] - Type: List List Equation Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty16} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty16}{ugxLinearOrdinaryDifferentialOperatorSeriesPagePatch16} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorSeriesPageEmpty16}{\showpaste} -\tab{5}\spadcommand{leq\free{n7 leq }} -\end{paste}\end{patch} - diff --git a/books/pages/lodo1.pht b/books/pages/lodo1.pht deleted file mode 100644 index 0c7ae65..0000000 --- a/books/pages/lodo1.pht +++ /dev/null @@ -1,356 +0,0 @@ -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch1} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull1}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty1} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull1}{\hidepaste} -\tab{5}\spadcommand{RFZ := Fraction UnivariatePolynomial('x, Integer)\bound{RFZ0 }} -\indentrel{3}\begin{verbatim} - (1) Fraction UnivariatePolynomial(x,Integer) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty1} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty1}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch1} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty1}{\showpaste} -\tab{5}\spadcommand{RFZ := Fraction UnivariatePolynomial('x, Integer)\bound{RFZ0 }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch2} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull2}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty2} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull2}{\hidepaste} -\tab{5}\spadcommand{x : RFZ := 'x\free{RFZ0 }\bound{RFZ }} -\indentrel{3}\begin{verbatim} - (2) x - Type: Fraction UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty2} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty2}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch2} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty2}{\showpaste} -\tab{5}\spadcommand{x : RFZ := 'x\free{RFZ0 }\bound{RFZ }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch3} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull3}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty3} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull3}{\hidepaste} -\tab{5}\spadcommand{Dx : LODO1 RFZ := D()\bound{Dx }\free{RFZ }} -\indentrel{3}\begin{verbatim} - (3) D -Type: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty3} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty3}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch3} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty3}{\showpaste} -\tab{5}\spadcommand{Dx : LODO1 RFZ := D()\bound{Dx }\free{RFZ }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch4} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull4}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty4} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull4}{\hidepaste} -\tab{5}\spadcommand{b : LODO1 RFZ := 3*x**2*Dx**2 + 2*Dx + 1/x\free{Dx }\bound{b }} -\indentrel{3}\begin{verbatim} - 2 2 1 - (4) 3x D + 2D + Ä - x -Type: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty4} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty4}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch4} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty4}{\showpaste} -\tab{5}\spadcommand{b : LODO1 RFZ := 3*x**2*Dx**2 + 2*Dx + 1/x\free{Dx }\bound{b }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch5} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull5}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty5} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull5}{\hidepaste} -\tab{5}\spadcommand{a : LODO1 RFZ := b*(5*x*Dx + 7)\free{b Dx }\bound{a }} -\indentrel{3}\begin{verbatim} - 3 3 2 2 7 - (5) 15x D + (51x + 10x)D + 29D + Ä - x -Type: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty5} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty5}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch5} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty5}{\showpaste} -\tab{5}\spadcommand{a : LODO1 RFZ := b*(5*x*Dx + 7)\free{b Dx }\bound{a }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch6} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull6}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty6} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull6}{\hidepaste} -\tab{5}\spadcommand{p := x**2 + 1/x**2\bound{p }\free{RFZ }} -\indentrel{3}\begin{verbatim} - 4 - x + 1 - (6) ÄÄÄÄÄÄ - 2 - x - Type: Fraction UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty6} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty6}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch6} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty6}{\showpaste} -\tab{5}\spadcommand{p := x**2 + 1/x**2\bound{p }\free{RFZ }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch7} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull7}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty7} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull7}{\hidepaste} -\tab{5}\spadcommand{(a*b - b*a) p\free{a b p }} -\indentrel{3}\begin{verbatim} - 4 - - 75x + 540x - 75 - (7) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 4 - x - Type: Fraction UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty7} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty7}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch7} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty7}{\showpaste} -\tab{5}\spadcommand{(a*b - b*a) p\free{a b p }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch8} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull8}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty8} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull8}{\hidepaste} -\tab{5}\spadcommand{ld := leftDivide(a,b)\bound{ld }\free{a b }} -\indentrel{3}\begin{verbatim} - (8) [quotient= 5x D + 7,remainder= 0] -Type: Record(quotient: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer),remainder: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty8} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty8}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch8} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty8}{\showpaste} -\tab{5}\spadcommand{ld := leftDivide(a,b)\bound{ld }\free{a b }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch9} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull9}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty9} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull9}{\hidepaste} -\tab{5}\spadcommand{a = b * ld.quotient + ld.remainder\free{a b ld }} -\indentrel{3}\begin{verbatim} - (9) - 3 3 2 2 7 - 15x D + (51x + 10x)D + 29D + Ä = - x - 3 3 2 2 7 - 15x D + (51x + 10x)D + 29D + Ä - x -Type: Equation LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty9} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty9}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch9} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty9}{\showpaste} -\tab{5}\spadcommand{a = b * ld.quotient + ld.remainder\free{a b ld }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch10} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull10}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty10} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull10}{\hidepaste} -\tab{5}\spadcommand{rd := rightDivide(a,b)\bound{rd }\free{a b }} -\indentrel{3}\begin{verbatim} - 5 - (10) [quotient= 5x D + 7,remainder= 10D + Ä] - x -Type: Record(quotient: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer),remainder: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty10} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty10}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch10} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty10}{\showpaste} -\tab{5}\spadcommand{rd := rightDivide(a,b)\bound{rd }\free{a b }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch11} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull11}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty11} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull11}{\hidepaste} -\tab{5}\spadcommand{a = rd.quotient * b + rd.remainder\free{a b rd }} -\indentrel{3}\begin{verbatim} - (11) - 3 3 2 2 7 - 15x D + (51x + 10x)D + 29D + Ä = - x - 3 3 2 2 7 - 15x D + (51x + 10x)D + 29D + Ä - x -Type: Equation LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty11} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty11}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch11} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty11}{\showpaste} -\tab{5}\spadcommand{a = rd.quotient * b + rd.remainder\free{a b rd }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch12} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull12}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty12} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull12}{\hidepaste} -\tab{5}\spadcommand{rightQuotient(a,b)\free{a b }} -\indentrel{3}\begin{verbatim} - (12) 5x D + 7 -Type: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty12} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty12}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch12} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty12}{\showpaste} -\tab{5}\spadcommand{rightQuotient(a,b)\free{a b }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch13} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull13}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty13} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull13}{\hidepaste} -\tab{5}\spadcommand{rightRemainder(a,b)\free{a b }} -\indentrel{3}\begin{verbatim} - 5 - (13) 10D + Ä - x -Type: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty13} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty13}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch13} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty13}{\showpaste} -\tab{5}\spadcommand{rightRemainder(a,b)\free{a b }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch14} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull14}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty14} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull14}{\hidepaste} -\tab{5}\spadcommand{leftExactQuotient(a,b)\free{a b }} -\indentrel{3}\begin{verbatim} - (14) 5x D + 7 -Type: Union(LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer),...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty14} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty14}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch14} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty14}{\showpaste} -\tab{5}\spadcommand{leftExactQuotient(a,b)\free{a b }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch15} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull15}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty15} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull15}{\hidepaste} -\tab{5}\spadcommand{e := leftGcd(a,b)\bound{e }\free{a b }} -\indentrel{3}\begin{verbatim} - 2 2 1 - (15) 3x D + 2D + Ä - x -Type: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty15} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty15}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch15} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty15}{\showpaste} -\tab{5}\spadcommand{e := leftGcd(a,b)\bound{e }\free{a b }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch16} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull16}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty16} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull16}{\hidepaste} -\tab{5}\spadcommand{leftRemainder(a, e)\free{a e }} -\indentrel{3}\begin{verbatim} - (16) 0 -Type: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty16} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty16}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch16} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty16}{\showpaste} -\tab{5}\spadcommand{leftRemainder(a, e)\free{a e }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch17} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull17}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty17} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull17}{\hidepaste} -\tab{5}\spadcommand{rightRemainder(a, e)\free{a e }} -\indentrel{3}\begin{verbatim} - 5 - (17) 10D + Ä - x -Type: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty17} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty17}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch17} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty17}{\showpaste} -\tab{5}\spadcommand{rightRemainder(a, e)\free{a e }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch18} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull18}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty18} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull18}{\hidepaste} -\tab{5}\spadcommand{f := rightLcm(a,b)\bound{f }\free{a b }} -\indentrel{3}\begin{verbatim} - 3 3 2 2 7 - (18) 15x D + (51x + 10x)D + 29D + Ä - x -Type: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty18} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty18}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch18} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty18}{\showpaste} -\tab{5}\spadcommand{f := rightLcm(a,b)\bound{f }\free{a b }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch19} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull19}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty19} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull19}{\hidepaste} -\tab{5}\spadcommand{rightRemainder(f, b)\free{f b }} -\indentrel{3}\begin{verbatim} - 5 - (19) 10D + Ä - x -Type: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty19} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty19}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch19} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty19}{\showpaste} -\tab{5}\spadcommand{rightRemainder(f, b)\free{f b }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch20} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull20}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty20} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageFull20}{\hidepaste} -\tab{5}\spadcommand{leftRemainder(f, b)\free{f b }} -\indentrel{3}\begin{verbatim} - (20) 0 -Type: LinearOrdinaryDifferentialOperator1 Fraction UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty20} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty20}{ugxLinearOrdinaryDifferentialOperatorOneRatPagePatch20} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorOneRatPageEmpty20}{\showpaste} -\tab{5}\spadcommand{leftRemainder(f, b)\free{f b }} -\end{paste}\end{patch} - diff --git a/books/pages/lodo2.pht b/books/pages/lodo2.pht deleted file mode 100644 index 9c26756..0000000 --- a/books/pages/lodo2.pht +++ /dev/null @@ -1,499 +0,0 @@ -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoConstPagePatch1} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageFull1}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty1} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoConstPageFull1}{\hidepaste} -\tab{5}\spadcommand{Q := Fraction Integer\bound{Q }} -\indentrel{3}\begin{verbatim} - (1) Fraction Integer - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty1} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty1}{ugxLinearOrdinaryDifferentialOperatorTwoConstPagePatch1} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty1}{\showpaste} -\tab{5}\spadcommand{Q := Fraction Integer\bound{Q }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoConstPagePatch2} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageFull2}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty2} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoConstPageFull2}{\hidepaste} -\tab{5}\spadcommand{PQ := UnivariatePolynomial('x, Q)\free{Q }\bound{PQ0 }} -\indentrel{3}\begin{verbatim} - (2) UnivariatePolynomial(x,Fraction Integer) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty2} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty2}{ugxLinearOrdinaryDifferentialOperatorTwoConstPagePatch2} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty2}{\showpaste} -\tab{5}\spadcommand{PQ := UnivariatePolynomial('x, Q)\free{Q }\bound{PQ0 }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoConstPagePatch3} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageFull3}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty3} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoConstPageFull3}{\hidepaste} -\tab{5}\spadcommand{x: PQ := 'x\free{PQ0 }\bound{x }} -\indentrel{3}\begin{verbatim} - (3) x - Type: UnivariatePolynomial(x,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty3} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty3}{ugxLinearOrdinaryDifferentialOperatorTwoConstPagePatch3} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty3}{\showpaste} -\tab{5}\spadcommand{x: PQ := 'x\free{PQ0 }\bound{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoConstPagePatch4} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageFull4}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty4} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoConstPageFull4}{\hidepaste} -\tab{5}\spadcommand{Dx: LODO2(Q, PQ) := D()\free{Q PQ0 }\bound{Dx }} -\indentrel{3}\begin{verbatim} - (4) D -Type: LinearOrdinaryDifferentialOperator2(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty4} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty4}{ugxLinearOrdinaryDifferentialOperatorTwoConstPagePatch4} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty4}{\showpaste} -\tab{5}\spadcommand{Dx: LODO2(Q, PQ) := D()\free{Q PQ0 }\bound{Dx }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoConstPagePatch5} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageFull5}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty5} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoConstPageFull5}{\hidepaste} -\tab{5}\spadcommand{a := Dx + 1\bound{a }\free{Dx }} -\indentrel{3}\begin{verbatim} - (5) D + 1 -Type: LinearOrdinaryDifferentialOperator2(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty5} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty5}{ugxLinearOrdinaryDifferentialOperatorTwoConstPagePatch5} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty5}{\showpaste} -\tab{5}\spadcommand{a := Dx + 1\bound{a }\free{Dx }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoConstPagePatch6} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageFull6}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty6} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoConstPageFull6}{\hidepaste} -\tab{5}\spadcommand{b := a + 1/2*Dx**2 - 1/2\bound{b }\free{Dx }} -\indentrel{3}\begin{verbatim} - 1 2 1 - (6) Ä D + D + Ä - 2 2 -Type: LinearOrdinaryDifferentialOperator2(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty6} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty6}{ugxLinearOrdinaryDifferentialOperatorTwoConstPagePatch6} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty6}{\showpaste} -\tab{5}\spadcommand{b := a + 1/2*Dx**2 - 1/2\bound{b }\free{Dx }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoConstPagePatch7} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageFull7}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty7} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoConstPageFull7}{\hidepaste} -\tab{5}\spadcommand{p := 4*x**2 + 2/3\free{x }\bound{p }} -\indentrel{3}\begin{verbatim} - 2 2 - (7) 4x + Ä - 3 - Type: UnivariatePolynomial(x,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty7} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty7}{ugxLinearOrdinaryDifferentialOperatorTwoConstPagePatch7} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty7}{\showpaste} -\tab{5}\spadcommand{p := 4*x**2 + 2/3\free{x }\bound{p }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoConstPagePatch8} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageFull8}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty8} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoConstPageFull8}{\hidepaste} -\tab{5}\spadcommand{a p\free{a p }} -\indentrel{3}\begin{verbatim} - 2 2 - (8) 4x + 8x + Ä - 3 - Type: UnivariatePolynomial(x,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty8} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty8}{ugxLinearOrdinaryDifferentialOperatorTwoConstPagePatch8} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty8}{\showpaste} -\tab{5}\spadcommand{a p\free{a p }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoConstPagePatch9} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageFull9}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty9} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoConstPageFull9}{\hidepaste} -\tab{5}\spadcommand{(a * b) p = a b p\free{a b p }} -\indentrel{3}\begin{verbatim} - 2 37 2 37 - (9) 2x + 12x + ÄÄ= 2x + 12x + ÄÄ - 3 3 -Type: Equation UnivariatePolynomial(x,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty9} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty9}{ugxLinearOrdinaryDifferentialOperatorTwoConstPagePatch9} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty9}{\showpaste} -\tab{5}\spadcommand{(a * b) p = a b p\free{a b p }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoConstPagePatch10} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageFull10}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty10} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoConstPageFull10}{\hidepaste} -\tab{5}\spadcommand{c := (1/9)*b*(a + b)**2\free{a b }\bound{c }} -\indentrel{3}\begin{verbatim} - (10) - 1 6 5 5 13 4 19 3 79 2 7 1 - ÄÄ D + ÄÄ D + ÄÄ D + ÄÄ D + ÄÄ D + ÄÄ D + Ä - 72 36 24 18 72 12 8 -Type: LinearOrdinaryDifferentialOperator2(Fraction Integer,UnivariatePolynomial(x,Fraction Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty10} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty10}{ugxLinearOrdinaryDifferentialOperatorTwoConstPagePatch10} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty10}{\showpaste} -\tab{5}\spadcommand{c := (1/9)*b*(a + b)**2\free{a b }\bound{c }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoConstPagePatch11} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageFull11}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty11} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoConstPageFull11}{\hidepaste} -\tab{5}\spadcommand{(a**2 - 3/4*b + c) (p + 1)\free{a b c p }} -\indentrel{3}\begin{verbatim} - 2 44 541 - (11) 3x + ÄÄ x + ÄÄÄ - 3 36 - Type: UnivariatePolynomial(x,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty11} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty11}{ugxLinearOrdinaryDifferentialOperatorTwoConstPagePatch11} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoConstPageEmpty11}{\showpaste} -\tab{5}\spadcommand{(a**2 - 3/4*b + c) (p + 1)\free{a b c p }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch1} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull1}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty1} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull1}{\hidepaste} -\tab{5}\spadcommand{PZ := UnivariatePolynomial(x,Integer)\bound{PZ0 }} -\indentrel{3}\begin{verbatim} - (1) UnivariatePolynomial(x,Integer) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty1} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty1}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch1} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty1}{\showpaste} -\tab{5}\spadcommand{PZ := UnivariatePolynomial(x,Integer)\bound{PZ0 }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch2} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull2}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty2} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull2}{\hidepaste} -\tab{5}\spadcommand{x:PZ := 'x\free{PZ0 }\bound{PZ }} -\indentrel{3}\begin{verbatim} - (2) x - Type: UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty2} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty2}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch2} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty2}{\showpaste} -\tab{5}\spadcommand{x:PZ := 'x\free{PZ0 }\bound{PZ }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch3} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull3}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty3} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull3}{\hidepaste} -\tab{5}\spadcommand{Mat := SquareMatrix(3,PZ)\free{PZ }\bound{Mat }} -\indentrel{3}\begin{verbatim} - (3) SquareMatrix(3,UnivariatePolynomial(x,Integer)) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty3} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty3}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch3} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty3}{\showpaste} -\tab{5}\spadcommand{Mat := SquareMatrix(3,PZ)\free{PZ }\bound{Mat }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch4} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull4}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty4} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull4}{\hidepaste} -\tab{5}\spadcommand{Vect := DPMM(3, PZ, Mat, PZ);\free{PZ Mat }\bound{Vect }} -\indentrel{3}\begin{verbatim} - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty4} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty4}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch4} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty4}{\showpaste} -\tab{5}\spadcommand{Vect := DPMM(3, PZ, Mat, PZ);\free{PZ Mat }\bound{Vect }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch5} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull5}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty5} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull5}{\hidepaste} -\tab{5}\spadcommand{Modo := LODO2(Mat, Vect);\free{Mat Vect }\bound{Modo }} -\indentrel{3}\begin{verbatim} - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty5} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty5}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch5} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty5}{\showpaste} -\tab{5}\spadcommand{Modo := LODO2(Mat, Vect);\free{Mat Vect }\bound{Modo }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch6} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull6}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty6} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull6}{\hidepaste} -\tab{5}\spadcommand{m:Mat := matrix [[x**2,1,0],[1,x**4,0],[0,0,4*x**2]]\free{Mat }\bound{m }} -\indentrel{3}\begin{verbatim} - Ú 2 ¿ - ³x 1 0 ³ - ³ ³ - (6) ³ 4 ³ - ³1 x 0 ³ - ³ ³ - ³ 2³ - À0 0 4x Ù - Type: SquareMatrix(3,UnivariatePolynomial(x,Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty6} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty6}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch6} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty6}{\showpaste} -\tab{5}\spadcommand{m:Mat := matrix [[x**2,1,0],[1,x**4,0],[0,0,4*x**2]]\free{Mat }\bound{m }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch7} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull7}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty7} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull7}{\hidepaste} -\tab{5}\spadcommand{p:Vect := directProduct [3*x**2+1,2*x,7*x**3+2*x]\free{Vect }\bound{p }} -\indentrel{3}\begin{verbatim} - 2 3 - (7) [3x + 1,2x,7x + 2x] -Type: DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty7} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty7}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch7} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty7}{\showpaste} -\tab{5}\spadcommand{p:Vect := directProduct [3*x**2+1,2*x,7*x**3+2*x]\free{Vect }\bound{p }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch8} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull8}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty8} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull8}{\hidepaste} -\tab{5}\spadcommand{q: Vect := m * p\free{m p Vect }\bound{q }} -\indentrel{3}\begin{verbatim} - 4 2 5 2 5 3 - (8) [3x + x + 2x,2x + 3x + 1,28x + 8x ] -Type: DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty8} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty8}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch8} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty8}{\showpaste} -\tab{5}\spadcommand{q: Vect := m * p\free{m p Vect }\bound{q }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch9} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull9}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty9} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull9}{\hidepaste} -\tab{5}\spadcommand{Dx : Modo := D()\bound{Dx }\free{Modo }} -\indentrel{3}\begin{verbatim} - (9) D -Type: LinearOrdinaryDifferentialOperator2(SquareMatrix(3,UnivariatePolynomial(x,Integer)),DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer))) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty9} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty9}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch9} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty9}{\showpaste} -\tab{5}\spadcommand{Dx : Modo := D()\bound{Dx }\free{Modo }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch10} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull10}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty10} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull10}{\hidepaste} -\tab{5}\spadcommand{a : Modo := Dx + m\bound{a }\free{m Dx }} -\indentrel{3}\begin{verbatim} - Ú 2 ¿ - ³x 1 0 ³ - ³ ³ - (10) D + ³ 4 ³ - ³1 x 0 ³ - ³ ³ - ³ 2³ - À0 0 4x Ù -Type: LinearOrdinaryDifferentialOperator2(SquareMatrix(3,UnivariatePolynomial(x,Integer)),DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer))) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty10} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty10}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch10} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty10}{\showpaste} -\tab{5}\spadcommand{a : Modo := Dx + m\bound{a }\free{m Dx }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch11} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull11}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty11} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull11}{\hidepaste} -\tab{5}\spadcommand{b : Modo := m*Dx + 1\bound{b }\free{m Dx }} -\indentrel{3}\begin{verbatim} - Ú 2 ¿ - ³x 1 0 ³ Ú1 0 0¿ - ³ ³ ³ ³ - (11) ³ 4 ³D + ³0 1 0³ - ³1 x 0 ³ ³ ³ - ³ ³ À0 0 1Ù - ³ 2³ - À0 0 4x Ù -Type: LinearOrdinaryDifferentialOperator2(SquareMatrix(3,UnivariatePolynomial(x,Integer)),DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer))) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty11} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty11}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch11} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty11}{\showpaste} -\tab{5}\spadcommand{b : Modo := m*Dx + 1\bound{b }\free{m Dx }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch12} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull12}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty12} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull12}{\hidepaste} -\tab{5}\spadcommand{c := a*b\bound{c }\free{a b }} -\indentrel{3}\begin{verbatim} - (12) - Ú 2 ¿ - ³x 1 0 ³ - ³ ³ 2 - ³ 4 ³D - ³1 x 0 ³ - ³ ³ - ³ 2³ - À0 0 4x Ù - + - Ú 4 4 2 ¿ - ³x + 2x + 2 x + x 0 ³ - ³ ³ - ³ 4 2 8 3 ³D - ³ x + x x + 4x + 2 0 ³ - ³ ³ - ³ 4 ³ - À 0 0 16x + 8x + 1Ù - + - Ú 2 ¿ - ³x 1 0 ³ - ³ ³ - ³ 4 ³ - ³1 x 0 ³ - ³ ³ - ³ 2³ - À0 0 4x Ù -Type: LinearOrdinaryDifferentialOperator2(SquareMatrix(3,UnivariatePolynomial(x,Integer)),DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer))) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty12} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty12}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch12} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty12}{\showpaste} -\tab{5}\spadcommand{c := a*b\bound{c }\free{a b }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch13} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull13}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty13} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull13}{\hidepaste} -\tab{5}\spadcommand{a p\free{p a }} -\indentrel{3}\begin{verbatim} - (13) - 4 2 5 2 5 3 2 - [3x + x + 8x,2x + 3x + 3,28x + 8x + 21x + 2] -Type: DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty13} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty13}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch13} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty13}{\showpaste} -\tab{5}\spadcommand{a p\free{p a }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch14} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull14}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty14} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull14}{\hidepaste} -\tab{5}\spadcommand{b p\free{p b }} -\indentrel{3}\begin{verbatim} - 3 2 4 4 3 2 - (14) [6x + 3x + 3,2x + 8x,84x + 7x + 8x + 2x] -Type: DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty14} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty14}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch14} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty14}{\showpaste} -\tab{5}\spadcommand{b p\free{p b }} -\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch15} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull15}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty15} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageFull15}{\hidepaste} -\tab{5}\spadcommand{(a + b + c) (p + q)\free{a b c p q }} -\indentrel{3}\begin{verbatim} - (15) - [ - 8 7 6 5 4 3 2 - 10x + 12x + 16x + 30x + 85x + 94x + 40x - + - 40x + 17 - , - - 12 9 8 7 6 5 4 - 10x + 10x + 12x + 92x + 6x + 32x + 72x - + - 3 2 - 28x + 49x + 32x + 19 - , - - 8 7 6 5 4 3 - 2240x + 224x + 1280x + 3508x + 492x + 751x - + - 2 - 98x + 18x + 4 - ] -Type: DirectProductMatrixModule(3,UnivariatePolynomial(x,Integer),SquareMatrix(3,UnivariatePolynomial(x,Integer)),UnivariatePolynomial(x,Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty15} -\begin{paste}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty15}{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPagePatch15} -\pastebutton{ugxLinearOrdinaryDifferentialOperatorTwoMatrixPageEmpty15}{\showpaste} -\tab{5}\spadcommand{(a + b + c) (p + q)\free{a b c p q }} -\end{paste}\end{patch} - diff --git a/books/pages/lpoly.pht b/books/pages/lpoly.pht deleted file mode 100644 index ac44b36..0000000 --- a/books/pages/lpoly.pht +++ /dev/null @@ -1,455 +0,0 @@ -\begin{patch}{LiePolynomialXmpPagePatch1} -\begin{paste}{LiePolynomialXmpPageFull1}{LiePolynomialXmpPageEmpty1} -\pastebutton{LiePolynomialXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{RN := Fraction Integer\bound{RN }} -\indentrel{3}\begin{verbatim} - (1) Fraction Integer - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty1} -\begin{paste}{LiePolynomialXmpPageEmpty1}{LiePolynomialXmpPagePatch1} -\pastebutton{LiePolynomialXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{RN := Fraction Integer\bound{RN }} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch2} -\begin{paste}{LiePolynomialXmpPageFull2}{LiePolynomialXmpPageEmpty2} -\pastebutton{LiePolynomialXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{Lpoly := LiePolynomial(Symbol,RN)\bound{Lpoly }\free{RN }} -\indentrel{3}\begin{verbatim} - (2) LiePolynomial(Symbol,Fraction Integer) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty2} -\begin{paste}{LiePolynomialXmpPageEmpty2}{LiePolynomialXmpPagePatch2} -\pastebutton{LiePolynomialXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{Lpoly := LiePolynomial(Symbol,RN)\bound{Lpoly }\free{RN }} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch3} -\begin{paste}{LiePolynomialXmpPageFull3}{LiePolynomialXmpPageEmpty3} -\pastebutton{LiePolynomialXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{Dpoly := XDPOLY(Symbol,RN)\bound{Dpoly }\free{RN }} -\indentrel{3}\begin{verbatim} - (3) XDistributedPolynomial(Symbol,Fraction Integer) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty3} -\begin{paste}{LiePolynomialXmpPageEmpty3}{LiePolynomialXmpPagePatch3} -\pastebutton{LiePolynomialXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{Dpoly := XDPOLY(Symbol,RN)\bound{Dpoly }\free{RN }} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch4} -\begin{paste}{LiePolynomialXmpPageFull4}{LiePolynomialXmpPageEmpty4} -\pastebutton{LiePolynomialXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{Lword := LyndonWord Symbol\bound{Lword }} -\indentrel{3}\begin{verbatim} - (4) LyndonWord Symbol - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty4} -\begin{paste}{LiePolynomialXmpPageEmpty4}{LiePolynomialXmpPagePatch4} -\pastebutton{LiePolynomialXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{Lword := LyndonWord Symbol\bound{Lword }} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch5} -\begin{paste}{LiePolynomialXmpPageFull5}{LiePolynomialXmpPageEmpty5} -\pastebutton{LiePolynomialXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{a:Symbol := 'a\bound{a }} -\indentrel{3}\begin{verbatim} - (5) a - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty5} -\begin{paste}{LiePolynomialXmpPageEmpty5}{LiePolynomialXmpPagePatch5} -\pastebutton{LiePolynomialXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{a:Symbol := 'a\bound{a }} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch6} -\begin{paste}{LiePolynomialXmpPageFull6}{LiePolynomialXmpPageEmpty6} -\pastebutton{LiePolynomialXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{b:Symbol := 'b\bound{b }} -\indentrel{3}\begin{verbatim} - (6) b - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty6} -\begin{paste}{LiePolynomialXmpPageEmpty6}{LiePolynomialXmpPagePatch6} -\pastebutton{LiePolynomialXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{b:Symbol := 'b\bound{b }} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch7} -\begin{paste}{LiePolynomialXmpPageFull7}{LiePolynomialXmpPageEmpty7} -\pastebutton{LiePolynomialXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{c:Symbol := 'c\bound{c }} -\indentrel{3}\begin{verbatim} - (7) c - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty7} -\begin{paste}{LiePolynomialXmpPageEmpty7}{LiePolynomialXmpPagePatch7} -\pastebutton{LiePolynomialXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{c:Symbol := 'c\bound{c }} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch8} -\begin{paste}{LiePolynomialXmpPageFull8}{LiePolynomialXmpPageEmpty8} -\pastebutton{LiePolynomialXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{aa: Lpoly := a\bound{aa }\free{Lpoly }\free{a }} -\indentrel{3}\begin{verbatim} - (8) [a] - Type: LiePolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty8} -\begin{paste}{LiePolynomialXmpPageEmpty8}{LiePolynomialXmpPagePatch8} -\pastebutton{LiePolynomialXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{aa: Lpoly := a\bound{aa }\free{Lpoly }\free{a }} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch9} -\begin{paste}{LiePolynomialXmpPageFull9}{LiePolynomialXmpPageEmpty9} -\pastebutton{LiePolynomialXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{bb: Lpoly := b\bound{bb }\free{Lpoly }\free{b }} -\indentrel{3}\begin{verbatim} - (9) [b] - Type: LiePolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty9} -\begin{paste}{LiePolynomialXmpPageEmpty9}{LiePolynomialXmpPagePatch9} -\pastebutton{LiePolynomialXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{bb: Lpoly := b\bound{bb }\free{Lpoly }\free{b }} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch10} -\begin{paste}{LiePolynomialXmpPageFull10}{LiePolynomialXmpPageEmpty10} -\pastebutton{LiePolynomialXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{cc: Lpoly := c\bound{cc }\free{Lpoly }\free{c }} -\indentrel{3}\begin{verbatim} - (10) [c] - Type: LiePolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty10} -\begin{paste}{LiePolynomialXmpPageEmpty10}{LiePolynomialXmpPagePatch10} -\pastebutton{LiePolynomialXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{cc: Lpoly := c\bound{cc }\free{Lpoly }\free{c }} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch11} -\begin{paste}{LiePolynomialXmpPageFull11}{LiePolynomialXmpPageEmpty11} -\pastebutton{LiePolynomialXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{p : Lpoly := [aa,bb]\bound{p }\free{aa }\free{bb }\free{Lpoly }} -\indentrel{3}\begin{verbatim} - (11) [a b] - Type: LiePolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty11} -\begin{paste}{LiePolynomialXmpPageEmpty11}{LiePolynomialXmpPagePatch11} -\pastebutton{LiePolynomialXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{p : Lpoly := [aa,bb]\bound{p }\free{aa }\free{bb }\free{Lpoly }} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch12} -\begin{paste}{LiePolynomialXmpPageFull12}{LiePolynomialXmpPageEmpty12} -\pastebutton{LiePolynomialXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{q : Lpoly := [p,bb]\bound{q }\free{p }\free{bb }\free{Lpoly }} -\indentrel{3}\begin{verbatim} - 2 - (12) [a b ] - Type: LiePolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty12} -\begin{paste}{LiePolynomialXmpPageEmpty12}{LiePolynomialXmpPagePatch12} -\pastebutton{LiePolynomialXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{q : Lpoly := [p,bb]\bound{q }\free{p }\free{bb }\free{Lpoly }} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch13} -\begin{paste}{LiePolynomialXmpPageFull13}{LiePolynomialXmpPageEmpty13} -\pastebutton{LiePolynomialXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{liste : List Lword := LyndonWordsList([a,b], 4)\free{a }\free{b }\free{Lword }\bound{liste }} -\indentrel{3}\begin{verbatim} - (13) - 2 2 3 2 2 3 - [[a],[b],[a b],[a b],[a b ],[a b],[a b ],[a b ]] - Type: List LyndonWord Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty13} -\begin{paste}{LiePolynomialXmpPageEmpty13}{LiePolynomialXmpPagePatch13} -\pastebutton{LiePolynomialXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{liste : List Lword := LyndonWordsList([a,b], 4)\free{a }\free{b }\free{Lword }\bound{liste }} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch14} -\begin{paste}{LiePolynomialXmpPageFull14}{LiePolynomialXmpPageEmpty14} -\pastebutton{LiePolynomialXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{r: Lpoly := p + q + 3*LiePoly(liste.4)$Lpoly\bound{r }\free{Lpoly }\free{p }\free{q }\free{liste }} -\indentrel{3}\begin{verbatim} - 2 2 - (14) [a b] + 3[a b] + [a b ] - Type: LiePolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty14} -\begin{paste}{LiePolynomialXmpPageEmpty14}{LiePolynomialXmpPagePatch14} -\pastebutton{LiePolynomialXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{r: Lpoly := p + q + 3*LiePoly(liste.4)$Lpoly\bound{r }\free{Lpoly }\free{p }\free{q }\free{liste }} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch15} -\begin{paste}{LiePolynomialXmpPageFull15}{LiePolynomialXmpPageEmpty15} -\pastebutton{LiePolynomialXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{s:Lpoly := [p,r]\bound{s }\free{Lpoly }\free{p }\free{r }} -\indentrel{3}\begin{verbatim} - 2 2 - (15) - 3[a b a b] + [a b a b ] - Type: LiePolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty15} -\begin{paste}{LiePolynomialXmpPageEmpty15}{LiePolynomialXmpPagePatch15} -\pastebutton{LiePolynomialXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{s:Lpoly := [p,r]\bound{s }\free{Lpoly }\free{p }\free{r }} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch16} -\begin{paste}{LiePolynomialXmpPageFull16}{LiePolynomialXmpPageEmpty16} -\pastebutton{LiePolynomialXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{t:Lpoly := s + 2*LiePoly(liste.3) - 5*LiePoly(liste.5)\bound{t }\free{Lpoly }\free{s }\free{liste }} -\indentrel{3}\begin{verbatim} - 2 2 2 - (16) 2[a b] - 5[a b ] - 3[a b a b] + [a b a b ] - Type: LiePolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty16} -\begin{paste}{LiePolynomialXmpPageEmpty16}{LiePolynomialXmpPagePatch16} -\pastebutton{LiePolynomialXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{t:Lpoly := s + 2*LiePoly(liste.3) - 5*LiePoly(liste.5)\bound{t }\free{Lpoly }\free{s }\free{liste }} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch17} -\begin{paste}{LiePolynomialXmpPageFull17}{LiePolynomialXmpPageEmpty17} -\pastebutton{LiePolynomialXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{degree t\free{t }} -\indentrel{3}\begin{verbatim} - (17) 5 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty17} -\begin{paste}{LiePolynomialXmpPageEmpty17}{LiePolynomialXmpPagePatch17} -\pastebutton{LiePolynomialXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{degree t\free{t }} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch18} -\begin{paste}{LiePolynomialXmpPageFull18}{LiePolynomialXmpPageEmpty18} -\pastebutton{LiePolynomialXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{mirror t\free{t }} -\indentrel{3}\begin{verbatim} - 2 2 2 - (18) - 2[a b] - 5[a b ] - 3[a b a b] + [a b a b ] - Type: LiePolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty18} -\begin{paste}{LiePolynomialXmpPageEmpty18}{LiePolynomialXmpPagePatch18} -\pastebutton{LiePolynomialXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{mirror t\free{t }} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch19} -\begin{paste}{LiePolynomialXmpPageFull19}{LiePolynomialXmpPageEmpty19} -\pastebutton{LiePolynomialXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{Jacobi(p: Lpoly, q: Lpoly, r: Lpoly): Lpoly == [[p,q]$Lpoly, r] + [[q,r]$Lpoly, p] + [[r,p]$Lpoly, q]\free{Lpoly }\bound{J }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty19} -\begin{paste}{LiePolynomialXmpPageEmpty19}{LiePolynomialXmpPagePatch19} -\pastebutton{LiePolynomialXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{Jacobi(p: Lpoly, q: Lpoly, r: Lpoly): Lpoly == [[p,q]$Lpoly, r] + [[q,r]$Lpoly, p] + [[r,p]$Lpoly, q]\free{Lpoly }\bound{J }} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch20} -\begin{paste}{LiePolynomialXmpPageFull20}{LiePolynomialXmpPageEmpty20} -\pastebutton{LiePolynomialXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{test: Lpoly := Jacobi(a,b,b)\free{J Lpoly a b }\bound{test1 }} -\indentrel{3}\begin{verbatim} - (20) 0 - Type: LiePolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty20} -\begin{paste}{LiePolynomialXmpPageEmpty20}{LiePolynomialXmpPagePatch20} -\pastebutton{LiePolynomialXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{test: Lpoly := Jacobi(a,b,b)\free{J Lpoly a b }\bound{test1 }} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch21} -\begin{paste}{LiePolynomialXmpPageFull21}{LiePolynomialXmpPageEmpty21} -\pastebutton{LiePolynomialXmpPageFull21}{\hidepaste} -\tab{5}\spadcommand{test: Lpoly := Jacobi(p,q,r)\free{J p q r Lpoly }\bound{test2 }} -\indentrel{3}\begin{verbatim} - (21) 0 - Type: LiePolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty21} -\begin{paste}{LiePolynomialXmpPageEmpty21}{LiePolynomialXmpPagePatch21} -\pastebutton{LiePolynomialXmpPageEmpty21}{\showpaste} -\tab{5}\spadcommand{test: Lpoly := Jacobi(p,q,r)\free{J p q r Lpoly }\bound{test2 }} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch22} -\begin{paste}{LiePolynomialXmpPageFull22}{LiePolynomialXmpPageEmpty22} -\pastebutton{LiePolynomialXmpPageFull22}{\hidepaste} -\tab{5}\spadcommand{test: Lpoly := Jacobi(r,s,t)\free{J r s t Lpoly }\bound{test3 }} -\indentrel{3}\begin{verbatim} - (22) 0 - Type: LiePolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty22} -\begin{paste}{LiePolynomialXmpPageEmpty22}{LiePolynomialXmpPagePatch22} -\pastebutton{LiePolynomialXmpPageEmpty22}{\showpaste} -\tab{5}\spadcommand{test: Lpoly := Jacobi(r,s,t)\free{J r s t Lpoly }\bound{test3 }} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch23} -\begin{paste}{LiePolynomialXmpPageFull23}{LiePolynomialXmpPageEmpty23} -\pastebutton{LiePolynomialXmpPageFull23}{\hidepaste} -\tab{5}\spadcommand{eval(p, a, p)$Lpoly} -\indentrel{3}\begin{verbatim} - 2 - (23) [a b ] - Type: LiePolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty23} -\begin{paste}{LiePolynomialXmpPageEmpty23}{LiePolynomialXmpPagePatch23} -\pastebutton{LiePolynomialXmpPageEmpty23}{\showpaste} -\tab{5}\spadcommand{eval(p, a, p)$Lpoly} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch24} -\begin{paste}{LiePolynomialXmpPageFull24}{LiePolynomialXmpPageEmpty24} -\pastebutton{LiePolynomialXmpPageFull24}{\hidepaste} -\tab{5}\spadcommand{eval(p, [a,b], [2*bb, 3*aa])$Lpoly\free{p a b bb aa Lpoly }} -\indentrel{3}\begin{verbatim} - (24) - 6[a b] - Type: LiePolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty24} -\begin{paste}{LiePolynomialXmpPageEmpty24}{LiePolynomialXmpPagePatch24} -\pastebutton{LiePolynomialXmpPageEmpty24}{\showpaste} -\tab{5}\spadcommand{eval(p, [a,b], [2*bb, 3*aa])$Lpoly\free{p a b bb aa Lpoly }} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch25} -\begin{paste}{LiePolynomialXmpPageFull25}{LiePolynomialXmpPageEmpty25} -\pastebutton{LiePolynomialXmpPageFull25}{\hidepaste} -\tab{5}\spadcommand{r: Lpoly := [p,c]\free{p c Lpoly }\bound{rr }} -\indentrel{3}\begin{verbatim} - (25) [a b c] + [a c b] - Type: LiePolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty25} -\begin{paste}{LiePolynomialXmpPageEmpty25}{LiePolynomialXmpPagePatch25} -\pastebutton{LiePolynomialXmpPageEmpty25}{\showpaste} -\tab{5}\spadcommand{r: Lpoly := [p,c]\free{p c Lpoly }\bound{rr }} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch26} -\begin{paste}{LiePolynomialXmpPageFull26}{LiePolynomialXmpPageEmpty26} -\pastebutton{LiePolynomialXmpPageFull26}{\hidepaste} -\tab{5}\spadcommand{r1: Lpoly := eval(r, [a,b,c], [bb, cc, aa])$Lpoly\free{rr a b c aa bb cc Lpoly }\bound{r1 }} -\indentrel{3}\begin{verbatim} - (26) - [a b c] - Type: LiePolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty26} -\begin{paste}{LiePolynomialXmpPageEmpty26}{LiePolynomialXmpPagePatch26} -\pastebutton{LiePolynomialXmpPageEmpty26}{\showpaste} -\tab{5}\spadcommand{r1: Lpoly := eval(r, [a,b,c], [bb, cc, aa])$Lpoly\free{rr a b c aa bb cc Lpoly }\bound{r1 }} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch27} -\begin{paste}{LiePolynomialXmpPageFull27}{LiePolynomialXmpPageEmpty27} -\pastebutton{LiePolynomialXmpPageFull27}{\hidepaste} -\tab{5}\spadcommand{r2: Lpoly := eval(r, [a,b,c], [cc, aa, bb])$Lpoly\free{rr a b c cc bb aa Lpoly }\bound{r2 }} -\indentrel{3}\begin{verbatim} - (27) - [a c b] - Type: LiePolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty27} -\begin{paste}{LiePolynomialXmpPageEmpty27}{LiePolynomialXmpPagePatch27} -\pastebutton{LiePolynomialXmpPageEmpty27}{\showpaste} -\tab{5}\spadcommand{r2: Lpoly := eval(r, [a,b,c], [cc, aa, bb])$Lpoly\free{rr a b c cc bb aa Lpoly }\bound{r2 }} -\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPagePatch28} -\begin{paste}{LiePolynomialXmpPageFull28}{LiePolynomialXmpPageEmpty28} -\pastebutton{LiePolynomialXmpPageFull28}{\hidepaste} -\tab{5}\spadcommand{r + r1 + r2\free{rr r1 r2 }} -\indentrel{3}\begin{verbatim} - (28) 0 - Type: LiePolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LiePolynomialXmpPageEmpty28} -\begin{paste}{LiePolynomialXmpPageEmpty28}{LiePolynomialXmpPagePatch28} -\pastebutton{LiePolynomialXmpPageEmpty28}{\showpaste} -\tab{5}\spadcommand{r + r1 + r2\free{rr r1 r2 }} -\end{paste}\end{patch} - diff --git a/books/pages/lword.pht b/books/pages/lword.pht deleted file mode 100644 index 9c3675e..0000000 --- a/books/pages/lword.pht +++ /dev/null @@ -1,377 +0,0 @@ -\begin{patch}{LyndonWordXmpPagePatch1} -\begin{paste}{LyndonWordXmpPageFull1}{LyndonWordXmpPageEmpty1} -\pastebutton{LyndonWordXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{a:Symbol :='a\bound{a }} -\indentrel{3}\begin{verbatim} - (1) a - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPageEmpty1} -\begin{paste}{LyndonWordXmpPageEmpty1}{LyndonWordXmpPagePatch1} -\pastebutton{LyndonWordXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{a:Symbol :='a\bound{a }} -\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPagePatch2} -\begin{paste}{LyndonWordXmpPageFull2}{LyndonWordXmpPageEmpty2} -\pastebutton{LyndonWordXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{b:Symbol :='b\bound{b }} -\indentrel{3}\begin{verbatim} - (2) b - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPageEmpty2} -\begin{paste}{LyndonWordXmpPageEmpty2}{LyndonWordXmpPagePatch2} -\pastebutton{LyndonWordXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{b:Symbol :='b\bound{b }} -\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPagePatch3} -\begin{paste}{LyndonWordXmpPageFull3}{LyndonWordXmpPageEmpty3} -\pastebutton{LyndonWordXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{c:Symbol :='c\bound{c }} -\indentrel{3}\begin{verbatim} - (3) c - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPageEmpty3} -\begin{paste}{LyndonWordXmpPageEmpty3}{LyndonWordXmpPagePatch3} -\pastebutton{LyndonWordXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{c:Symbol :='c\bound{c }} -\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPagePatch4} -\begin{paste}{LyndonWordXmpPageFull4}{LyndonWordXmpPageEmpty4} -\pastebutton{LyndonWordXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{lword:= LyndonWord(Symbol)\bound{lword }} -\indentrel{3}\begin{verbatim} - (4) LyndonWord Symbol - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPageEmpty4} -\begin{paste}{LyndonWordXmpPageEmpty4}{LyndonWordXmpPagePatch4} -\pastebutton{LyndonWordXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{lword:= LyndonWord(Symbol)\bound{lword }} -\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPagePatch5} -\begin{paste}{LyndonWordXmpPageFull5}{LyndonWordXmpPageEmpty5} -\pastebutton{LyndonWordXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{magma := Magma(Symbol)\bound{magma }} -\indentrel{3}\begin{verbatim} - (5) Magma Symbol - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPageEmpty5} -\begin{paste}{LyndonWordXmpPageEmpty5}{LyndonWordXmpPagePatch5} -\pastebutton{LyndonWordXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{magma := Magma(Symbol)\bound{magma }} -\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPagePatch6} -\begin{paste}{LyndonWordXmpPageFull6}{LyndonWordXmpPageEmpty6} -\pastebutton{LyndonWordXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{word := OrderedFreeMonoid(Symbol)\bound{word }} -\indentrel{3}\begin{verbatim} - (6) OrderedFreeMonoid Symbol - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPageEmpty6} -\begin{paste}{LyndonWordXmpPageEmpty6}{LyndonWordXmpPagePatch6} -\pastebutton{LyndonWordXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{word := OrderedFreeMonoid(Symbol)\bound{word }} -\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPagePatch7} -\begin{paste}{LyndonWordXmpPageFull7}{LyndonWordXmpPageEmpty7} -\pastebutton{LyndonWordXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{LyndonWordsList1([a,b,c],3)$lword\free{lword }\free{a }\free{b }\free{c }} -\indentrel{3}\begin{verbatim} - (7) - [[[a],[b],[c]], [[a b],[a c],[b c]], - - 2 2 2 2 - [[a b], [a c], [a b ], [a b c], [a c b], [a c ], - 2 2 - [b c], [b c ]] - ] - Type: OneDimensionalArray List LyndonWord Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPageEmpty7} -\begin{paste}{LyndonWordXmpPageEmpty7}{LyndonWordXmpPagePatch7} -\pastebutton{LyndonWordXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{LyndonWordsList1([a,b,c],3)$lword\free{lword }\free{a }\free{b }\free{c }} -\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPagePatch8} -\begin{paste}{LyndonWordXmpPageFull8}{LyndonWordXmpPageEmpty8} -\pastebutton{LyndonWordXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{LyndonWordsList([a,b,c],3)$lword\free{a }\free{b }\free{c }\free{lword }} -\indentrel{3}\begin{verbatim} - (8) - 2 2 - [[a], [b], [c], [a b], [a c], [b c], [a b], [a c], - 2 2 2 2 - [a b ], [a b c], [a c b], [a c ], [b c], [b c ]] - Type: List LyndonWord Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPageEmpty8} -\begin{paste}{LyndonWordXmpPageEmpty8}{LyndonWordXmpPagePatch8} -\pastebutton{LyndonWordXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{LyndonWordsList([a,b,c],3)$lword\free{a }\free{b }\free{c }\free{lword }} -\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPagePatch9} -\begin{paste}{LyndonWordXmpPageFull9}{LyndonWordXmpPageEmpty9} -\pastebutton{LyndonWordXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{lw := LyndonWordsList([a,b],5)$lword\free{a }\free{b }\free{lword }\bound{lw }} -\indentrel{3}\begin{verbatim} - (9) - 2 2 3 2 2 - [[a], [b], [a b], [a b], [a b ], [a b], [a b ], - 3 4 3 2 2 2 3 2 - [a b ], [a b], [a b ], [a b a b], [a b ], [a b a b ], - 4 - [a b ]] - Type: List LyndonWord Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPageEmpty9} -\begin{paste}{LyndonWordXmpPageEmpty9}{LyndonWordXmpPagePatch9} -\pastebutton{LyndonWordXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{lw := LyndonWordsList([a,b],5)$lword\free{a }\free{b }\free{lword }\bound{lw }} -\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPagePatch10} -\begin{paste}{LyndonWordXmpPageFull10}{LyndonWordXmpPageEmpty10} -\pastebutton{LyndonWordXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{w1 : word := lw.4 :: word\free{word }\free{lw }\bound{w1 }} -\indentrel{3}\begin{verbatim} - 2 - (10) a b - Type: OrderedFreeMonoid Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPageEmpty10} -\begin{paste}{LyndonWordXmpPageEmpty10}{LyndonWordXmpPagePatch10} -\pastebutton{LyndonWordXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{w1 : word := lw.4 :: word\free{word }\free{lw }\bound{w1 }} -\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPagePatch11} -\begin{paste}{LyndonWordXmpPageFull11}{LyndonWordXmpPageEmpty11} -\pastebutton{LyndonWordXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{w2 : word := lw.5 :: word\free{word }\free{lw }\bound{w2 }} -\indentrel{3}\begin{verbatim} - 2 - (11) a b - Type: OrderedFreeMonoid Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPageEmpty11} -\begin{paste}{LyndonWordXmpPageEmpty11}{LyndonWordXmpPagePatch11} -\pastebutton{LyndonWordXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{w2 : word := lw.5 :: word\free{word }\free{lw }\bound{w2 }} -\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPagePatch12} -\begin{paste}{LyndonWordXmpPageFull12}{LyndonWordXmpPageEmpty12} -\pastebutton{LyndonWordXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{factor(a::word)$lword\free{a word lword }} -\indentrel{3}\begin{verbatim} - (12) [[a]] - Type: List LyndonWord Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPageEmpty12} -\begin{paste}{LyndonWordXmpPageEmpty12}{LyndonWordXmpPagePatch12} -\pastebutton{LyndonWordXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{factor(a::word)$lword\free{a word lword }} -\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPagePatch13} -\begin{paste}{LyndonWordXmpPageFull13}{LyndonWordXmpPageEmpty13} -\pastebutton{LyndonWordXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{factor(w1*w2)$lword\free{w1 w2 lword }} -\indentrel{3}\begin{verbatim} - 2 2 - (13) [[a b a b ]] - Type: List LyndonWord Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPageEmpty13} -\begin{paste}{LyndonWordXmpPageEmpty13}{LyndonWordXmpPagePatch13} -\pastebutton{LyndonWordXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{factor(w1*w2)$lword\free{w1 w2 lword }} -\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPagePatch14} -\begin{paste}{LyndonWordXmpPageFull14}{LyndonWordXmpPageEmpty14} -\pastebutton{LyndonWordXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{factor(w2*w2)$lword\free{w2 lword }} -\indentrel{3}\begin{verbatim} - 2 2 - (14) [[a b ],[a b ]] - Type: List LyndonWord Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPageEmpty14} -\begin{paste}{LyndonWordXmpPageEmpty14}{LyndonWordXmpPagePatch14} -\pastebutton{LyndonWordXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{factor(w2*w2)$lword\free{w2 lword }} -\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPagePatch15} -\begin{paste}{LyndonWordXmpPageFull15}{LyndonWordXmpPageEmpty15} -\pastebutton{LyndonWordXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{factor(w2*w1)$lword\free{w1 w2 lword }} -\indentrel{3}\begin{verbatim} - 2 2 - (15) [[a b ],[a b]] - Type: List LyndonWord Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPageEmpty15} -\begin{paste}{LyndonWordXmpPageEmpty15}{LyndonWordXmpPagePatch15} -\pastebutton{LyndonWordXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{factor(w2*w1)$lword\free{w1 w2 lword }} -\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPagePatch16} -\begin{paste}{LyndonWordXmpPageFull16}{LyndonWordXmpPageEmpty16} -\pastebutton{LyndonWordXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{lyndon?(w1)$lword\free{w1 lword }} -\indentrel{3}\begin{verbatim} - (16) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPageEmpty16} -\begin{paste}{LyndonWordXmpPageEmpty16}{LyndonWordXmpPagePatch16} -\pastebutton{LyndonWordXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{lyndon?(w1)$lword\free{w1 lword }} -\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPagePatch17} -\begin{paste}{LyndonWordXmpPageFull17}{LyndonWordXmpPageEmpty17} -\pastebutton{LyndonWordXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{lyndon?(w1*w2)$lword\free{w1 w2 lword }} -\indentrel{3}\begin{verbatim} - (17) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPageEmpty17} -\begin{paste}{LyndonWordXmpPageEmpty17}{LyndonWordXmpPagePatch17} -\pastebutton{LyndonWordXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{lyndon?(w1*w2)$lword\free{w1 w2 lword }} -\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPagePatch18} -\begin{paste}{LyndonWordXmpPageFull18}{LyndonWordXmpPageEmpty18} -\pastebutton{LyndonWordXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{lyndon?(w2*w1)$lword\free{w1 w2 lword }} -\indentrel{3}\begin{verbatim} - (18) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPageEmpty18} -\begin{paste}{LyndonWordXmpPageEmpty18}{LyndonWordXmpPagePatch18} -\pastebutton{LyndonWordXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{lyndon?(w2*w1)$lword\free{w1 w2 lword }} -\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPagePatch19} -\begin{paste}{LyndonWordXmpPageFull19}{LyndonWordXmpPageEmpty19} -\pastebutton{LyndonWordXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{lyndonIfCan(w1)$lword\free{w1 lword }} -\indentrel{3}\begin{verbatim} - 2 - (19) [a b] - Type: Union(LyndonWord Symbol,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPageEmpty19} -\begin{paste}{LyndonWordXmpPageEmpty19}{LyndonWordXmpPagePatch19} -\pastebutton{LyndonWordXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{lyndonIfCan(w1)$lword\free{w1 lword }} -\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPagePatch20} -\begin{paste}{LyndonWordXmpPageFull20}{LyndonWordXmpPageEmpty20} -\pastebutton{LyndonWordXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{lyndonIfCan(w2*w1)$lword\free{w1 w2 lword }} -\indentrel{3}\begin{verbatim} - (20) "failed" - Type: Union("failed",...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPageEmpty20} -\begin{paste}{LyndonWordXmpPageEmpty20}{LyndonWordXmpPagePatch20} -\pastebutton{LyndonWordXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{lyndonIfCan(w2*w1)$lword\free{w1 w2 lword }} -\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPagePatch21} -\begin{paste}{LyndonWordXmpPageFull21}{LyndonWordXmpPageEmpty21} -\pastebutton{LyndonWordXmpPageFull21}{\hidepaste} -\tab{5}\spadcommand{lyndon(w1)$lword\free{w1 lword }} -\indentrel{3}\begin{verbatim} - 2 - (21) [a b] - Type: LyndonWord Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPageEmpty21} -\begin{paste}{LyndonWordXmpPageEmpty21}{LyndonWordXmpPagePatch21} -\pastebutton{LyndonWordXmpPageEmpty21}{\showpaste} -\tab{5}\spadcommand{lyndon(w1)$lword\free{w1 lword }} -\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPagePatch22} -\begin{paste}{LyndonWordXmpPageFull22}{LyndonWordXmpPageEmpty22} -\pastebutton{LyndonWordXmpPageFull22}{\hidepaste} -\tab{5}\spadcommand{lyndon(w1*w2)$lword\free{w1 w2 lword }} -\indentrel{3}\begin{verbatim} - 2 2 - (22) [a b a b ] - Type: LyndonWord Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{LyndonWordXmpPageEmpty22} -\begin{paste}{LyndonWordXmpPageEmpty22}{LyndonWordXmpPagePatch22} -\pastebutton{LyndonWordXmpPageEmpty22}{\showpaste} -\tab{5}\spadcommand{lyndon(w1*w2)$lword\free{w1 w2 lword }} -\end{paste}\end{patch} - diff --git a/books/pages/magma.pht b/books/pages/magma.pht deleted file mode 100644 index f6cbc6a..0000000 --- a/books/pages/magma.pht +++ /dev/null @@ -1,353 +0,0 @@ -\begin{patch}{MagmaXmpPagePatch1} -\begin{paste}{MagmaXmpPageFull1}{MagmaXmpPageEmpty1} -\pastebutton{MagmaXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{x:Symbol :='x\bound{x }} -\indentrel{3}\begin{verbatim} - (1) x - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPageEmpty1} -\begin{paste}{MagmaXmpPageEmpty1}{MagmaXmpPagePatch1} -\pastebutton{MagmaXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{x:Symbol :='x\bound{x }} -\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPagePatch2} -\begin{paste}{MagmaXmpPageFull2}{MagmaXmpPageEmpty2} -\pastebutton{MagmaXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{y:Symbol :='y\bound{y }} -\indentrel{3}\begin{verbatim} - (2) y - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPageEmpty2} -\begin{paste}{MagmaXmpPageEmpty2}{MagmaXmpPagePatch2} -\pastebutton{MagmaXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{y:Symbol :='y\bound{y }} -\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPagePatch3} -\begin{paste}{MagmaXmpPageFull3}{MagmaXmpPageEmpty3} -\pastebutton{MagmaXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{z:Symbol :='z\bound{z }} -\indentrel{3}\begin{verbatim} - (3) z - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPageEmpty3} -\begin{paste}{MagmaXmpPageEmpty3}{MagmaXmpPagePatch3} -\pastebutton{MagmaXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{z:Symbol :='z\bound{z }} -\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPagePatch4} -\begin{paste}{MagmaXmpPageFull4}{MagmaXmpPageEmpty4} -\pastebutton{MagmaXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{word := OrderedFreeMonoid(Symbol)\bound{word }} -\indentrel{3}\begin{verbatim} - (4) OrderedFreeMonoid Symbol - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPageEmpty4} -\begin{paste}{MagmaXmpPageEmpty4}{MagmaXmpPagePatch4} -\pastebutton{MagmaXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{word := OrderedFreeMonoid(Symbol)\bound{word }} -\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPagePatch5} -\begin{paste}{MagmaXmpPageFull5}{MagmaXmpPageEmpty5} -\pastebutton{MagmaXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{tree := Magma(Symbol)\bound{tree }} -\indentrel{3}\begin{verbatim} - (5) Magma Symbol - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPageEmpty5} -\begin{paste}{MagmaXmpPageEmpty5}{MagmaXmpPagePatch5} -\pastebutton{MagmaXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{tree := Magma(Symbol)\bound{tree }} -\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPagePatch6} -\begin{paste}{MagmaXmpPageFull6}{MagmaXmpPageEmpty6} -\pastebutton{MagmaXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{a:tree := x*x\free{x tree }\bound{a }} -\indentrel{3}\begin{verbatim} - (6) [x,x] - Type: Magma Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPageEmpty6} -\begin{paste}{MagmaXmpPageEmpty6}{MagmaXmpPagePatch6} -\pastebutton{MagmaXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{a:tree := x*x\free{x tree }\bound{a }} -\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPagePatch7} -\begin{paste}{MagmaXmpPageFull7}{MagmaXmpPageEmpty7} -\pastebutton{MagmaXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{b:tree := y*y\free{y tree }\bound{b }} -\indentrel{3}\begin{verbatim} - (7) [y,y] - Type: Magma Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPageEmpty7} -\begin{paste}{MagmaXmpPageEmpty7}{MagmaXmpPagePatch7} -\pastebutton{MagmaXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{b:tree := y*y\free{y tree }\bound{b }} -\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPagePatch8} -\begin{paste}{MagmaXmpPageFull8}{MagmaXmpPageEmpty8} -\pastebutton{MagmaXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{c:tree := a*b\free{a b tree }\bound{c }} -\indentrel{3}\begin{verbatim} - (8) [[x,x],[y,y]] - Type: Magma Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPageEmpty8} -\begin{paste}{MagmaXmpPageEmpty8}{MagmaXmpPagePatch8} -\pastebutton{MagmaXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{c:tree := a*b\free{a b tree }\bound{c }} -\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPagePatch9} -\begin{paste}{MagmaXmpPageFull9}{MagmaXmpPageEmpty9} -\pastebutton{MagmaXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{left c\free{c }} -\indentrel{3}\begin{verbatim} - (9) [x,x] - Type: Magma Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPageEmpty9} -\begin{paste}{MagmaXmpPageEmpty9}{MagmaXmpPagePatch9} -\pastebutton{MagmaXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{left c\free{c }} -\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPagePatch10} -\begin{paste}{MagmaXmpPageFull10}{MagmaXmpPageEmpty10} -\pastebutton{MagmaXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{right c\free{c }} -\indentrel{3}\begin{verbatim} - (10) [y,y] - Type: Magma Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPageEmpty10} -\begin{paste}{MagmaXmpPageEmpty10}{MagmaXmpPagePatch10} -\pastebutton{MagmaXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{right c\free{c }} -\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPagePatch11} -\begin{paste}{MagmaXmpPageFull11}{MagmaXmpPageEmpty11} -\pastebutton{MagmaXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{length c\free{c }} -\indentrel{3}\begin{verbatim} - (11) 4 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPageEmpty11} -\begin{paste}{MagmaXmpPageEmpty11}{MagmaXmpPagePatch11} -\pastebutton{MagmaXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{length c\free{c }} -\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPagePatch12} -\begin{paste}{MagmaXmpPageFull12}{MagmaXmpPageEmpty12} -\pastebutton{MagmaXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{c::word\free{c word }} -\indentrel{3}\begin{verbatim} - 2 2 - (12) x y - Type: OrderedFreeMonoid Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPageEmpty12} -\begin{paste}{MagmaXmpPageEmpty12}{MagmaXmpPagePatch12} -\pastebutton{MagmaXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{c::word\free{c word }} -\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPagePatch13} -\begin{paste}{MagmaXmpPageFull13}{MagmaXmpPageEmpty13} -\pastebutton{MagmaXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{a < b\free{a b }} -\indentrel{3}\begin{verbatim} - (13) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPageEmpty13} -\begin{paste}{MagmaXmpPageEmpty13}{MagmaXmpPagePatch13} -\pastebutton{MagmaXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{a < b\free{a b }} -\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPagePatch14} -\begin{paste}{MagmaXmpPageFull14}{MagmaXmpPageEmpty14} -\pastebutton{MagmaXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{a < c\free{a c }} -\indentrel{3}\begin{verbatim} - (14) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPageEmpty14} -\begin{paste}{MagmaXmpPageEmpty14}{MagmaXmpPagePatch14} -\pastebutton{MagmaXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{a < c\free{a c }} -\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPagePatch15} -\begin{paste}{MagmaXmpPageFull15}{MagmaXmpPageEmpty15} -\pastebutton{MagmaXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{b < c\free{b c }} -\indentrel{3}\begin{verbatim} - (15) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPageEmpty15} -\begin{paste}{MagmaXmpPageEmpty15}{MagmaXmpPagePatch15} -\pastebutton{MagmaXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{b < c\free{b c }} -\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPagePatch16} -\begin{paste}{MagmaXmpPageFull16}{MagmaXmpPageEmpty16} -\pastebutton{MagmaXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{first c\free{c }} -\indentrel{3}\begin{verbatim} - (16) x - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPageEmpty16} -\begin{paste}{MagmaXmpPageEmpty16}{MagmaXmpPagePatch16} -\pastebutton{MagmaXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{first c\free{c }} -\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPagePatch17} -\begin{paste}{MagmaXmpPageFull17}{MagmaXmpPageEmpty17} -\pastebutton{MagmaXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{rest c\free{c }} -\indentrel{3}\begin{verbatim} - (17) [x,[y,y]] - Type: Magma Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPageEmpty17} -\begin{paste}{MagmaXmpPageEmpty17}{MagmaXmpPagePatch17} -\pastebutton{MagmaXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{rest c\free{c }} -\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPagePatch18} -\begin{paste}{MagmaXmpPageFull18}{MagmaXmpPageEmpty18} -\pastebutton{MagmaXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{rest rest c\free{c }} -\indentrel{3}\begin{verbatim} - (18) [y,y] - Type: Magma Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPageEmpty18} -\begin{paste}{MagmaXmpPageEmpty18}{MagmaXmpPagePatch18} -\pastebutton{MagmaXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{rest rest c\free{c }} -\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPagePatch19} -\begin{paste}{MagmaXmpPageFull19}{MagmaXmpPageEmpty19} -\pastebutton{MagmaXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{ax:tree := a*x\free{a x tree }\bound{ax }} -\indentrel{3}\begin{verbatim} - (19) [[x,x],x] - Type: Magma Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPageEmpty19} -\begin{paste}{MagmaXmpPageEmpty19}{MagmaXmpPagePatch19} -\pastebutton{MagmaXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{ax:tree := a*x\free{a x tree }\bound{ax }} -\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPagePatch20} -\begin{paste}{MagmaXmpPageFull20}{MagmaXmpPageEmpty20} -\pastebutton{MagmaXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{xa:tree := x*a\free{a x tree }\bound{xa }} -\indentrel{3}\begin{verbatim} - (20) [x,[x,x]] - Type: Magma Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPageEmpty20} -\begin{paste}{MagmaXmpPageEmpty20}{MagmaXmpPagePatch20} -\pastebutton{MagmaXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{xa:tree := x*a\free{a x tree }\bound{xa }} -\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPagePatch21} -\begin{paste}{MagmaXmpPageFull21}{MagmaXmpPageEmpty21} -\pastebutton{MagmaXmpPageFull21}{\hidepaste} -\tab{5}\spadcommand{xa < ax\free{ax xa }} -\indentrel{3}\begin{verbatim} - (21) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPageEmpty21} -\begin{paste}{MagmaXmpPageEmpty21}{MagmaXmpPagePatch21} -\pastebutton{MagmaXmpPageEmpty21}{\showpaste} -\tab{5}\spadcommand{xa < ax\free{ax xa }} -\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPagePatch22} -\begin{paste}{MagmaXmpPageFull22}{MagmaXmpPageEmpty22} -\pastebutton{MagmaXmpPageFull22}{\hidepaste} -\tab{5}\spadcommand{lexico(xa,ax)\free{ax xa }} -\indentrel{3}\begin{verbatim} - (22) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MagmaXmpPageEmpty22} -\begin{paste}{MagmaXmpPageEmpty22}{MagmaXmpPagePatch22} -\pastebutton{MagmaXmpPageEmpty22}{\showpaste} -\tab{5}\spadcommand{lexico(xa,ax)\free{ax xa }} -\end{paste}\end{patch} - diff --git a/books/pages/mappkg1.pht b/books/pages/mappkg1.pht deleted file mode 100644 index f17e04a..0000000 --- a/books/pages/mappkg1.pht +++ /dev/null @@ -1,443 +0,0 @@ -\begin{patch}{MappingPackageOneXmpPagePatch1} -\begin{paste}{MappingPackageOneXmpPageFull1}{MappingPackageOneXmpPageEmpty1} -\pastebutton{MappingPackageOneXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{power(q: FRAC INT, n: INT): FRAC INT == q**n\bound{power }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPageEmpty1} -\begin{paste}{MappingPackageOneXmpPageEmpty1}{MappingPackageOneXmpPagePatch1} -\pastebutton{MappingPackageOneXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{power(q: FRAC INT, n: INT): FRAC INT == q**n\bound{power }} -\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPagePatch2} -\begin{paste}{MappingPackageOneXmpPageFull2}{MappingPackageOneXmpPageEmpty2} -\pastebutton{MappingPackageOneXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{power(2,3)\free{power }} -\indentrel{3}\begin{verbatim} - (2) 8 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPageEmpty2} -\begin{paste}{MappingPackageOneXmpPageEmpty2}{MappingPackageOneXmpPagePatch2} -\pastebutton{MappingPackageOneXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{power(2,3)\free{power }} -\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPagePatch3} -\begin{paste}{MappingPackageOneXmpPageFull3}{MappingPackageOneXmpPageEmpty3} -\pastebutton{MappingPackageOneXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{rewop := twist power\free{power }\bound{rewop }} -\indentrel{3}\begin{verbatim} - (3) theMap(MAPPKG3;twist;MM;5!0) - Type: ((Integer,Fraction Integer) -> Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPageEmpty3} -\begin{paste}{MappingPackageOneXmpPageEmpty3}{MappingPackageOneXmpPagePatch3} -\pastebutton{MappingPackageOneXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{rewop := twist power\free{power }\bound{rewop }} -\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPagePatch4} -\begin{paste}{MappingPackageOneXmpPageFull4}{MappingPackageOneXmpPageEmpty4} -\pastebutton{MappingPackageOneXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{rewop(3, 2)\free{rewop }} -\indentrel{3}\begin{verbatim} - (4) 8 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPageEmpty4} -\begin{paste}{MappingPackageOneXmpPageEmpty4}{MappingPackageOneXmpPagePatch4} -\pastebutton{MappingPackageOneXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{rewop(3, 2)\free{rewop }} -\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPagePatch5} -\begin{paste}{MappingPackageOneXmpPageFull5}{MappingPackageOneXmpPageEmpty5} -\pastebutton{MappingPackageOneXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{square: FRAC INT -> FRAC INT\bound{squaredec }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPageEmpty5} -\begin{paste}{MappingPackageOneXmpPageEmpty5}{MappingPackageOneXmpPagePatch5} -\pastebutton{MappingPackageOneXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{square: FRAC INT -> FRAC INT\bound{squaredec }} -\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPagePatch6} -\begin{paste}{MappingPackageOneXmpPageFull6}{MappingPackageOneXmpPageEmpty6} -\pastebutton{MappingPackageOneXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{square:= curryRight(power, 2)\free{squaredec poswer }\bound{square }} -\indentrel{3}\begin{verbatim} - (6) theMap(MAPPKG3;curryRight;MBM;1!0,430) - Type: (Fraction Integer -> Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPageEmpty6} -\begin{paste}{MappingPackageOneXmpPageEmpty6}{MappingPackageOneXmpPagePatch6} -\pastebutton{MappingPackageOneXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{square:= curryRight(power, 2)\free{squaredec poswer }\bound{square }} -\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPagePatch7} -\begin{paste}{MappingPackageOneXmpPageFull7}{MappingPackageOneXmpPageEmpty7} -\pastebutton{MappingPackageOneXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{square 4\free{square }} -\indentrel{3}\begin{verbatim} - (7) 16 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPageEmpty7} -\begin{paste}{MappingPackageOneXmpPageEmpty7}{MappingPackageOneXmpPagePatch7} -\pastebutton{MappingPackageOneXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{square 4\free{square }} -\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPagePatch8} -\begin{paste}{MappingPackageOneXmpPageFull8}{MappingPackageOneXmpPageEmpty8} -\pastebutton{MappingPackageOneXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{squirrel:= constantRight(square)$MAPPKG3(FRAC INT,FRAC INT,FRAC INT)\free{square }\bound{squirrel }} -\indentrel{3}\begin{verbatim} - (8) theMap(MAPPKG3;constantRight;MM;3!0) -Type: ((Fraction Integer,Fraction Integer) -> Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPageEmpty8} -\begin{paste}{MappingPackageOneXmpPageEmpty8}{MappingPackageOneXmpPagePatch8} -\pastebutton{MappingPackageOneXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{squirrel:= constantRight(square)$MAPPKG3(FRAC INT,FRAC INT,FRAC INT)\free{square }\bound{squirrel }} -\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPagePatch9} -\begin{paste}{MappingPackageOneXmpPageFull9}{MappingPackageOneXmpPageEmpty9} -\pastebutton{MappingPackageOneXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{squirrel(1/2, 1/3)\free{squirrel }} -\indentrel{3}\begin{verbatim} - 1 - (9) Ä - 4 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPageEmpty9} -\begin{paste}{MappingPackageOneXmpPageEmpty9}{MappingPackageOneXmpPagePatch9} -\pastebutton{MappingPackageOneXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{squirrel(1/2, 1/3)\free{squirrel }} -\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPagePatch10} -\begin{paste}{MappingPackageOneXmpPageFull10}{MappingPackageOneXmpPageEmpty10} -\pastebutton{MappingPackageOneXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{sixteen := curry(square, 4/1)\free{square }\bound{sixteen }} -\indentrel{3}\begin{verbatim} - (10) theMap(MAPPKG2;curry;MAM;2!0,488) - Type: (() -> Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPageEmpty10} -\begin{paste}{MappingPackageOneXmpPageEmpty10}{MappingPackageOneXmpPagePatch10} -\pastebutton{MappingPackageOneXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{sixteen := curry(square, 4/1)\free{square }\bound{sixteen }} -\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPagePatch11} -\begin{paste}{MappingPackageOneXmpPageFull11}{MappingPackageOneXmpPageEmpty11} -\pastebutton{MappingPackageOneXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{sixteen()\free{sixteen }} -\indentrel{3}\begin{verbatim} - (11) 16 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPageEmpty11} -\begin{paste}{MappingPackageOneXmpPageEmpty11}{MappingPackageOneXmpPagePatch11} -\pastebutton{MappingPackageOneXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{sixteen()\free{sixteen }} -\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPagePatch12} -\begin{paste}{MappingPackageOneXmpPageFull12}{MappingPackageOneXmpPageEmpty12} -\pastebutton{MappingPackageOneXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{square2:=square*square\free{square }\bound{square2 }} -\indentrel{3}\begin{verbatim} - (12) theMap(MAPPKG3;*;MMM;6!0,589) - Type: (Fraction Integer -> Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPageEmpty12} -\begin{paste}{MappingPackageOneXmpPageEmpty12}{MappingPackageOneXmpPagePatch12} -\pastebutton{MappingPackageOneXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{square2:=square*square\free{square }\bound{square2 }} -\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPagePatch13} -\begin{paste}{MappingPackageOneXmpPageFull13}{MappingPackageOneXmpPageEmpty13} -\pastebutton{MappingPackageOneXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{square2 3\free{square2 }} -\indentrel{3}\begin{verbatim} - (13) 81 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPageEmpty13} -\begin{paste}{MappingPackageOneXmpPageEmpty13}{MappingPackageOneXmpPagePatch13} -\pastebutton{MappingPackageOneXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{square2 3\free{square2 }} -\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPagePatch14} -\begin{paste}{MappingPackageOneXmpPageFull14}{MappingPackageOneXmpPageEmpty14} -\pastebutton{MappingPackageOneXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{sc(x: FRAC INT): FRAC INT == x + 1\bound{sc }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPageEmpty14} -\begin{paste}{MappingPackageOneXmpPageEmpty14}{MappingPackageOneXmpPagePatch14} -\pastebutton{MappingPackageOneXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{sc(x: FRAC INT): FRAC INT == x + 1\bound{sc }} -\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPagePatch15} -\begin{paste}{MappingPackageOneXmpPageFull15}{MappingPackageOneXmpPageEmpty15} -\pastebutton{MappingPackageOneXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{incfns := [sc**i for i in 0..10]\free{sc }\bound{incfns }} -\indentrel{3}\begin{verbatim} - (15) - [theMap(MAPPKG1;**;MNniM;6!0,314), - theMap(MAPPKG1;**;MNniM;6!0,963), - theMap(MAPPKG1;**;MNniM;6!0,810), - theMap(MAPPKG1;**;MNniM;6!0,546), - theMap(MAPPKG1;**;MNniM;6!0,338), - theMap(MAPPKG1;**;MNniM;6!0,989), - theMap(MAPPKG1;**;MNniM;6!0,218), - theMap(MAPPKG1;**;MNniM;6!0,20), - theMap(MAPPKG1;**;MNniM;6!0,533), - theMap(MAPPKG1;**;MNniM;6!0,437), - theMap(MAPPKG1;**;MNniM;6!0,900)] - Type: List (Fraction Integer -> Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPageEmpty15} -\begin{paste}{MappingPackageOneXmpPageEmpty15}{MappingPackageOneXmpPagePatch15} -\pastebutton{MappingPackageOneXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{incfns := [sc**i for i in 0..10]\free{sc }\bound{incfns }} -\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPagePatch16} -\begin{paste}{MappingPackageOneXmpPageFull16}{MappingPackageOneXmpPageEmpty16} -\pastebutton{MappingPackageOneXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{[f 4 for f in incfns]\free{incfns }} -\indentrel{3}\begin{verbatim} - (16) [4,5,6,7,8,9,10,11,12,13,14] - Type: List Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPageEmpty16} -\begin{paste}{MappingPackageOneXmpPageEmpty16}{MappingPackageOneXmpPagePatch16} -\pastebutton{MappingPackageOneXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{[f 4 for f in incfns]\free{incfns }} -\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPagePatch17} -\begin{paste}{MappingPackageOneXmpPageFull17}{MappingPackageOneXmpPageEmpty17} -\pastebutton{MappingPackageOneXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{times(n:NNI, i:INT):INT == n*i\bound{rdec }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPageEmpty17} -\begin{paste}{MappingPackageOneXmpPageEmpty17}{MappingPackageOneXmpPagePatch17} -\pastebutton{MappingPackageOneXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{times(n:NNI, i:INT):INT == n*i\bound{rdec }} -\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPagePatch18} -\begin{paste}{MappingPackageOneXmpPageFull18}{MappingPackageOneXmpPageEmpty18} -\pastebutton{MappingPackageOneXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{r := recur(times)\free{rdec }\bound{r }} -\indentrel{3}\begin{verbatim} - (18) theMap(MAPPKG1;recur;2M;7!0,161) - Type: ((NonNegativeInteger,Integer) -> Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPageEmpty18} -\begin{paste}{MappingPackageOneXmpPageEmpty18}{MappingPackageOneXmpPagePatch18} -\pastebutton{MappingPackageOneXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{r := recur(times)\free{rdec }\bound{r }} -\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPagePatch19} -\begin{paste}{MappingPackageOneXmpPageFull19}{MappingPackageOneXmpPageEmpty19} -\pastebutton{MappingPackageOneXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{fact := curryRight(r, 1)\free{r }\bound{fact }} -\indentrel{3}\begin{verbatim} - (19) theMap(MAPPKG3;curryRight;MBM;1!0,541) - Type: (NonNegativeInteger -> Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPageEmpty19} -\begin{paste}{MappingPackageOneXmpPageEmpty19}{MappingPackageOneXmpPagePatch19} -\pastebutton{MappingPackageOneXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{fact := curryRight(r, 1)\free{r }\bound{fact }} -\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPagePatch20} -\begin{paste}{MappingPackageOneXmpPageFull20}{MappingPackageOneXmpPageEmpty20} -\pastebutton{MappingPackageOneXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{fact 4\free{fact }} -\indentrel{3}\begin{verbatim} - (20) 24 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPageEmpty20} -\begin{paste}{MappingPackageOneXmpPageEmpty20}{MappingPackageOneXmpPagePatch20} -\pastebutton{MappingPackageOneXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{fact 4\free{fact }} -\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPagePatch21} -\begin{paste}{MappingPackageOneXmpPageFull21}{MappingPackageOneXmpPageEmpty21} -\pastebutton{MappingPackageOneXmpPageFull21}{\hidepaste} -\tab{5}\spadcommand{mto2ton(m, n) == - raiser := square**n - raiser m -\free{square }\bound{mto2ton }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPageEmpty21} -\begin{paste}{MappingPackageOneXmpPageEmpty21}{MappingPackageOneXmpPagePatch21} -\pastebutton{MappingPackageOneXmpPageEmpty21}{\showpaste} -\tab{5}\spadcommand{mto2ton(m, n) == - raiser := square**n - raiser m -\free{square }\bound{mto2ton }} -\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPagePatch22} -\begin{paste}{MappingPackageOneXmpPageFull22}{MappingPackageOneXmpPageEmpty22} -\pastebutton{MappingPackageOneXmpPageFull22}{\hidepaste} -\tab{5}\spadcommand{mto2ton(3, 3)\free{mto2ton }} -\indentrel{3}\begin{verbatim} - (22) 6561 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPageEmpty22} -\begin{paste}{MappingPackageOneXmpPageEmpty22}{MappingPackageOneXmpPagePatch22} -\pastebutton{MappingPackageOneXmpPageEmpty22}{\showpaste} -\tab{5}\spadcommand{mto2ton(3, 3)\free{mto2ton }} -\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPagePatch23} -\begin{paste}{MappingPackageOneXmpPageFull23}{MappingPackageOneXmpPageEmpty23} -\pastebutton{MappingPackageOneXmpPageFull23}{\hidepaste} -\tab{5}\spadcommand{shiftfib(r: List INT) : INT == - t := r.1 - r.1 := r.2 - r.2 := r.2 + t - t -\bound{shiftfib }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPageEmpty23} -\begin{paste}{MappingPackageOneXmpPageEmpty23}{MappingPackageOneXmpPagePatch23} -\pastebutton{MappingPackageOneXmpPageEmpty23}{\showpaste} -\tab{5}\spadcommand{shiftfib(r: List INT) : INT == - t := r.1 - r.1 := r.2 - r.2 := r.2 + t - t -\bound{shiftfib }} -\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPagePatch24} -\begin{paste}{MappingPackageOneXmpPageFull24}{MappingPackageOneXmpPageEmpty24} -\pastebutton{MappingPackageOneXmpPageFull24}{\hidepaste} -\tab{5}\spadcommand{fibinit: List INT := [0, 1]\bound{fibinitdec }} -\indentrel{3}\begin{verbatim} - (24) [0,1] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPageEmpty24} -\begin{paste}{MappingPackageOneXmpPageEmpty24}{MappingPackageOneXmpPagePatch24} -\pastebutton{MappingPackageOneXmpPageEmpty24}{\showpaste} -\tab{5}\spadcommand{fibinit: List INT := [0, 1]\bound{fibinitdec }} -\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPagePatch25} -\begin{paste}{MappingPackageOneXmpPageFull25}{MappingPackageOneXmpPageEmpty25} -\pastebutton{MappingPackageOneXmpPageFull25}{\hidepaste} -\tab{5}\spadcommand{fibs := curry(shiftfib, fibinit)\free{shiftfib fibinit }\bound{fibs }} -\indentrel{3}\begin{verbatim} - (25) theMap(MAPPKG2;curry;MAM;2!0,91) - Type: (() -> Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPageEmpty25} -\begin{paste}{MappingPackageOneXmpPageEmpty25}{MappingPackageOneXmpPagePatch25} -\pastebutton{MappingPackageOneXmpPageEmpty25}{\showpaste} -\tab{5}\spadcommand{fibs := curry(shiftfib, fibinit)\free{shiftfib fibinit }\bound{fibs }} -\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPagePatch26} -\begin{paste}{MappingPackageOneXmpPageFull26}{MappingPackageOneXmpPageEmpty26} -\pastebutton{MappingPackageOneXmpPageFull26}{\hidepaste} -\tab{5}\spadcommand{[fibs() for i in 0..30]\free{fibs }} -\indentrel{3}\begin{verbatim} - (26) - [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, - 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, - 28657, 46368, 75025, 121393, 196418, 317811, 514229, - 832040] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MappingPackageOneXmpPageEmpty26} -\begin{paste}{MappingPackageOneXmpPageEmpty26}{MappingPackageOneXmpPagePatch26} -\pastebutton{MappingPackageOneXmpPageEmpty26}{\showpaste} -\tab{5}\spadcommand{[fibs() for i in 0..30]\free{fibs }} -\end{paste}\end{patch} - diff --git a/books/pages/matrix.pht b/books/pages/matrix.pht deleted file mode 100644 index 4c5d611..0000000 --- a/books/pages/matrix.pht +++ /dev/null @@ -1,771 +0,0 @@ -\begin{patch}{ugxMatrixOpsPagePatch1} -\begin{paste}{ugxMatrixOpsPageFull1}{ugxMatrixOpsPageEmpty1} -\pastebutton{ugxMatrixOpsPageFull1}{\hidepaste} -\tab{5}\spadcommand{m := matrix [[1,2],[3,4]]\bound{m }} -\indentrel{3}\begin{verbatim} - Ú1 2¿ - (1) ³ ³ - À3 4Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPageEmpty1} -\begin{paste}{ugxMatrixOpsPageEmpty1}{ugxMatrixOpsPagePatch1} -\pastebutton{ugxMatrixOpsPageEmpty1}{\showpaste} -\tab{5}\spadcommand{m := matrix [[1,2],[3,4]]\bound{m }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPagePatch2} -\begin{paste}{ugxMatrixOpsPageFull2}{ugxMatrixOpsPageEmpty2} -\pastebutton{ugxMatrixOpsPageFull2}{\hidepaste} -\tab{5}\spadcommand{4 * m * (-5)\free{m }} -\indentrel{3}\begin{verbatim} - Ú- 20 - 40¿ - (2) ³ ³ - À- 60 - 80Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPageEmpty2} -\begin{paste}{ugxMatrixOpsPageEmpty2}{ugxMatrixOpsPagePatch2} -\pastebutton{ugxMatrixOpsPageEmpty2}{\showpaste} -\tab{5}\spadcommand{4 * m * (-5)\free{m }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPagePatch3} -\begin{paste}{ugxMatrixOpsPageFull3}{ugxMatrixOpsPageEmpty3} -\pastebutton{ugxMatrixOpsPageFull3}{\hidepaste} -\tab{5}\spadcommand{n := matrix([[1,0,-2],[-3,5,1]])\bound{n }} -\indentrel{3}\begin{verbatim} - Ú 1 0 - 2¿ - (3) ³ ³ - À- 3 5 1 Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPageEmpty3} -\begin{paste}{ugxMatrixOpsPageEmpty3}{ugxMatrixOpsPagePatch3} -\pastebutton{ugxMatrixOpsPageEmpty3}{\showpaste} -\tab{5}\spadcommand{n := matrix([[1,0,-2],[-3,5,1]])\bound{n }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPagePatch4} -\begin{paste}{ugxMatrixOpsPageFull4}{ugxMatrixOpsPageEmpty4} -\pastebutton{ugxMatrixOpsPageFull4}{\hidepaste} -\tab{5}\spadcommand{m * n\free{m n }} -\indentrel{3}\begin{verbatim} - Ú- 5 10 0 ¿ - (4) ³ ³ - À- 9 20 - 2Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPageEmpty4} -\begin{paste}{ugxMatrixOpsPageEmpty4}{ugxMatrixOpsPagePatch4} -\pastebutton{ugxMatrixOpsPageEmpty4}{\showpaste} -\tab{5}\spadcommand{m * n\free{m n }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPagePatch5} -\begin{paste}{ugxMatrixOpsPageFull5}{ugxMatrixOpsPageEmpty5} -\pastebutton{ugxMatrixOpsPageFull5}{\hidepaste} -\tab{5}\spadcommand{vec := column(n,3)\free{n }\bound{vec }} -\indentrel{3}\begin{verbatim} - (5) [- 2,1] - Type: Vector Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPageEmpty5} -\begin{paste}{ugxMatrixOpsPageEmpty5}{ugxMatrixOpsPagePatch5} -\pastebutton{ugxMatrixOpsPageEmpty5}{\showpaste} -\tab{5}\spadcommand{vec := column(n,3)\free{n }\bound{vec }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPagePatch6} -\begin{paste}{ugxMatrixOpsPageFull6}{ugxMatrixOpsPageEmpty6} -\pastebutton{ugxMatrixOpsPageFull6}{\hidepaste} -\tab{5}\spadcommand{vec * m\free{vec m }} -\indentrel{3}\begin{verbatim} - (6) [1,0] - Type: Vector Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPageEmpty6} -\begin{paste}{ugxMatrixOpsPageEmpty6}{ugxMatrixOpsPagePatch6} -\pastebutton{ugxMatrixOpsPageEmpty6}{\showpaste} -\tab{5}\spadcommand{vec * m\free{vec m }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPagePatch7} -\begin{paste}{ugxMatrixOpsPageFull7}{ugxMatrixOpsPageEmpty7} -\pastebutton{ugxMatrixOpsPageFull7}{\hidepaste} -\tab{5}\spadcommand{m * vec\free{vec m }} -\indentrel{3}\begin{verbatim} - (7) [0,- 2] - Type: Vector Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPageEmpty7} -\begin{paste}{ugxMatrixOpsPageEmpty7}{ugxMatrixOpsPagePatch7} -\pastebutton{ugxMatrixOpsPageEmpty7}{\showpaste} -\tab{5}\spadcommand{m * vec\free{vec m }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPagePatch8} -\begin{paste}{ugxMatrixOpsPageFull8}{ugxMatrixOpsPageEmpty8} -\pastebutton{ugxMatrixOpsPageFull8}{\hidepaste} -\tab{5}\spadcommand{hilb := matrix([[1/(i + j) for i in 1..3] for j in 1..3])\bound{hilb }} -\indentrel{3}\begin{verbatim} - Ú1 1 1¿ - ³Ä Ä Ä³ - ³2 3 4³ - ³ ³ - ³1 1 1³ - (8) ³Ä Ä Ä³ - ³3 4 5³ - ³ ³ - ³1 1 1³ - ³Ä Ä Ä³ - À4 5 6Ù - Type: Matrix Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPageEmpty8} -\begin{paste}{ugxMatrixOpsPageEmpty8}{ugxMatrixOpsPagePatch8} -\pastebutton{ugxMatrixOpsPageEmpty8}{\showpaste} -\tab{5}\spadcommand{hilb := matrix([[1/(i + j) for i in 1..3] for j in 1..3])\bound{hilb }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPagePatch9} -\begin{paste}{ugxMatrixOpsPageFull9}{ugxMatrixOpsPageEmpty9} -\pastebutton{ugxMatrixOpsPageFull9}{\hidepaste} -\tab{5}\spadcommand{inverse(hilb)\free{hilb }} -\indentrel{3}\begin{verbatim} - Ú 72 - 240 180 ¿ - ³ ³ - (9) ³- 240 900 - 720³ - ³ ³ - À 180 - 720 600 Ù - Type: Union(Matrix Fraction Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPageEmpty9} -\begin{paste}{ugxMatrixOpsPageEmpty9}{ugxMatrixOpsPagePatch9} -\pastebutton{ugxMatrixOpsPageEmpty9}{\showpaste} -\tab{5}\spadcommand{inverse(hilb)\free{hilb }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPagePatch10} -\begin{paste}{ugxMatrixOpsPageFull10}{ugxMatrixOpsPageEmpty10} -\pastebutton{ugxMatrixOpsPageFull10}{\hidepaste} -\tab{5}\spadcommand{mm := matrix([[1,2,3,4], [5,6,7,8], [9,10,11,12], [13,14,15,16]])\bound{mm }} -\indentrel{3}\begin{verbatim} - Ú1 2 3 4 ¿ - ³ ³ - ³5 6 7 8 ³ - (10) ³ ³ - ³9 10 11 12³ - ³ ³ - À13 14 15 16Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPageEmpty10} -\begin{paste}{ugxMatrixOpsPageEmpty10}{ugxMatrixOpsPagePatch10} -\pastebutton{ugxMatrixOpsPageEmpty10}{\showpaste} -\tab{5}\spadcommand{mm := matrix([[1,2,3,4], [5,6,7,8], [9,10,11,12], [13,14,15,16]])\bound{mm }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPagePatch11} -\begin{paste}{ugxMatrixOpsPageFull11}{ugxMatrixOpsPageEmpty11} -\pastebutton{ugxMatrixOpsPageFull11}{\hidepaste} -\tab{5}\spadcommand{inverse(mm)\free{mm }} -\indentrel{3}\begin{verbatim} - (11) "failed" - Type: Union("failed",...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPageEmpty11} -\begin{paste}{ugxMatrixOpsPageEmpty11}{ugxMatrixOpsPagePatch11} -\pastebutton{ugxMatrixOpsPageEmpty11}{\showpaste} -\tab{5}\spadcommand{inverse(mm)\free{mm }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPagePatch12} -\begin{paste}{ugxMatrixOpsPageFull12}{ugxMatrixOpsPageEmpty12} -\pastebutton{ugxMatrixOpsPageFull12}{\hidepaste} -\tab{5}\spadcommand{determinant(mm)\free{mm }} -\indentrel{3}\begin{verbatim} - (12) 0 - Type: NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPageEmpty12} -\begin{paste}{ugxMatrixOpsPageEmpty12}{ugxMatrixOpsPagePatch12} -\pastebutton{ugxMatrixOpsPageEmpty12}{\showpaste} -\tab{5}\spadcommand{determinant(mm)\free{mm }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPagePatch13} -\begin{paste}{ugxMatrixOpsPageFull13}{ugxMatrixOpsPageEmpty13} -\pastebutton{ugxMatrixOpsPageFull13}{\hidepaste} -\tab{5}\spadcommand{trace(mm)\free{mm }} -\indentrel{3}\begin{verbatim} - (13) 34 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPageEmpty13} -\begin{paste}{ugxMatrixOpsPageEmpty13}{ugxMatrixOpsPagePatch13} -\pastebutton{ugxMatrixOpsPageEmpty13}{\showpaste} -\tab{5}\spadcommand{trace(mm)\free{mm }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPagePatch14} -\begin{paste}{ugxMatrixOpsPageFull14}{ugxMatrixOpsPageEmpty14} -\pastebutton{ugxMatrixOpsPageFull14}{\hidepaste} -\tab{5}\spadcommand{rank(mm)\free{mm }} -\indentrel{3}\begin{verbatim} - (14) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPageEmpty14} -\begin{paste}{ugxMatrixOpsPageEmpty14}{ugxMatrixOpsPagePatch14} -\pastebutton{ugxMatrixOpsPageEmpty14}{\showpaste} -\tab{5}\spadcommand{rank(mm)\free{mm }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPagePatch15} -\begin{paste}{ugxMatrixOpsPageFull15}{ugxMatrixOpsPageEmpty15} -\pastebutton{ugxMatrixOpsPageFull15}{\hidepaste} -\tab{5}\spadcommand{nullity(mm)\free{mm }} -\indentrel{3}\begin{verbatim} - (15) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPageEmpty15} -\begin{paste}{ugxMatrixOpsPageEmpty15}{ugxMatrixOpsPagePatch15} -\pastebutton{ugxMatrixOpsPageEmpty15}{\showpaste} -\tab{5}\spadcommand{nullity(mm)\free{mm }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPagePatch16} -\begin{paste}{ugxMatrixOpsPageFull16}{ugxMatrixOpsPageEmpty16} -\pastebutton{ugxMatrixOpsPageFull16}{\hidepaste} -\tab{5}\spadcommand{nullSpace(mm)\free{mm }} -\indentrel{3}\begin{verbatim} - (16) [[1,- 2,1,0],[2,- 3,0,1]] - Type: List Vector Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPageEmpty16} -\begin{paste}{ugxMatrixOpsPageEmpty16}{ugxMatrixOpsPagePatch16} -\pastebutton{ugxMatrixOpsPageEmpty16}{\showpaste} -\tab{5}\spadcommand{nullSpace(mm)\free{mm }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPagePatch17} -\begin{paste}{ugxMatrixOpsPageFull17}{ugxMatrixOpsPageEmpty17} -\pastebutton{ugxMatrixOpsPageFull17}{\hidepaste} -\tab{5}\spadcommand{rowEchelon(mm)\free{mm }} -\indentrel{3}\begin{verbatim} - Ú1 2 3 4 ¿ - ³ ³ - ³0 4 8 12³ - (17) ³ ³ - ³0 0 0 0 ³ - ³ ³ - À0 0 0 0 Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixOpsPageEmpty17} -\begin{paste}{ugxMatrixOpsPageEmpty17}{ugxMatrixOpsPagePatch17} -\pastebutton{ugxMatrixOpsPageEmpty17}{\showpaste} -\tab{5}\spadcommand{rowEchelon(mm)\free{mm }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePagePatch1} -\begin{paste}{ugxMatrixCreatePageFull1}{ugxMatrixCreatePageEmpty1} -\pastebutton{ugxMatrixCreatePageFull1}{\hidepaste} -\tab{5}\spadcommand{m : Matrix(Integer) := new(3,3,0)\bound{m }} -\indentrel{3}\begin{verbatim} - Ú0 0 0¿ - ³ ³ - (1) ³0 0 0³ - ³ ³ - À0 0 0Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePageEmpty1} -\begin{paste}{ugxMatrixCreatePageEmpty1}{ugxMatrixCreatePagePatch1} -\pastebutton{ugxMatrixCreatePageEmpty1}{\showpaste} -\tab{5}\spadcommand{m : Matrix(Integer) := new(3,3,0)\bound{m }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePagePatch2} -\begin{paste}{ugxMatrixCreatePageFull2}{ugxMatrixCreatePageEmpty2} -\pastebutton{ugxMatrixCreatePageFull2}{\hidepaste} -\tab{5}\spadcommand{setelt(m,2,3,5)\free{m }\bound{m1 }} -\indentrel{3}\begin{verbatim} - (2) 5 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePageEmpty2} -\begin{paste}{ugxMatrixCreatePageEmpty2}{ugxMatrixCreatePagePatch2} -\pastebutton{ugxMatrixCreatePageEmpty2}{\showpaste} -\tab{5}\spadcommand{setelt(m,2,3,5)\free{m }\bound{m1 }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePagePatch3} -\begin{paste}{ugxMatrixCreatePageFull3}{ugxMatrixCreatePageEmpty3} -\pastebutton{ugxMatrixCreatePageFull3}{\hidepaste} -\tab{5}\spadcommand{m(1,2) := 10\free{m1 }\bound{m2 }} -\indentrel{3}\begin{verbatim} - (3) 10 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePageEmpty3} -\begin{paste}{ugxMatrixCreatePageEmpty3}{ugxMatrixCreatePagePatch3} -\pastebutton{ugxMatrixCreatePageEmpty3}{\showpaste} -\tab{5}\spadcommand{m(1,2) := 10\free{m1 }\bound{m2 }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePagePatch4} -\begin{paste}{ugxMatrixCreatePageFull4}{ugxMatrixCreatePageEmpty4} -\pastebutton{ugxMatrixCreatePageFull4}{\hidepaste} -\tab{5}\spadcommand{m\free{m2 }} -\indentrel{3}\begin{verbatim} - Ú0 10 0¿ - ³ ³ - (4) ³0 0 5³ - ³ ³ - À0 0 0Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePageEmpty4} -\begin{paste}{ugxMatrixCreatePageEmpty4}{ugxMatrixCreatePagePatch4} -\pastebutton{ugxMatrixCreatePageEmpty4}{\showpaste} -\tab{5}\spadcommand{m\free{m2 }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePagePatch5} -\begin{paste}{ugxMatrixCreatePageFull5}{ugxMatrixCreatePageEmpty5} -\pastebutton{ugxMatrixCreatePageFull5}{\hidepaste} -\tab{5}\spadcommand{matrix [[1,2,3,4],[0,9,8,7]]} -\indentrel{3}\begin{verbatim} - Ú1 2 3 4¿ - (5) ³ ³ - À0 9 8 7Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePageEmpty5} -\begin{paste}{ugxMatrixCreatePageEmpty5}{ugxMatrixCreatePagePatch5} -\pastebutton{ugxMatrixCreatePageEmpty5}{\showpaste} -\tab{5}\spadcommand{matrix [[1,2,3,4],[0,9,8,7]]} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePagePatch6} -\begin{paste}{ugxMatrixCreatePageFull6}{ugxMatrixCreatePageEmpty6} -\pastebutton{ugxMatrixCreatePageFull6}{\hidepaste} -\tab{5}\spadcommand{dm := diagonalMatrix [1,x**2,x**3,x**4,x**5]\bound{dm }} -\indentrel{3}\begin{verbatim} - Ú1 0 0 0 0 ¿ - ³ ³ - ³ 2 ³ - ³0 x 0 0 0 ³ - ³ ³ - ³ 3 ³ - (6) ³0 0 x 0 0 ³ - ³ ³ - ³ 4 ³ - ³0 0 0 x 0 ³ - ³ ³ - ³ 5³ - À0 0 0 0 x Ù - Type: Matrix Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePageEmpty6} -\begin{paste}{ugxMatrixCreatePageEmpty6}{ugxMatrixCreatePagePatch6} -\pastebutton{ugxMatrixCreatePageEmpty6}{\showpaste} -\tab{5}\spadcommand{dm := diagonalMatrix [1,x**2,x**3,x**4,x**5]\bound{dm }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePagePatch7} -\begin{paste}{ugxMatrixCreatePageFull7}{ugxMatrixCreatePageEmpty7} -\pastebutton{ugxMatrixCreatePageFull7}{\hidepaste} -\tab{5}\spadcommand{setRow!(dm,5,vector [1,1,1,1,1])\free{dm }\bound{dm1 }} -\indentrel{3}\begin{verbatim} - Ú1 0 0 0 0¿ - ³ ³ - ³ 2 ³ - ³0 x 0 0 0³ - ³ ³ - (7) ³ 3 ³ - ³0 0 x 0 0³ - ³ ³ - ³ 4 ³ - ³0 0 0 x 0³ - ³ ³ - À1 1 1 1 1Ù - Type: Matrix Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePageEmpty7} -\begin{paste}{ugxMatrixCreatePageEmpty7}{ugxMatrixCreatePagePatch7} -\pastebutton{ugxMatrixCreatePageEmpty7}{\showpaste} -\tab{5}\spadcommand{setRow!(dm,5,vector [1,1,1,1,1])\free{dm }\bound{dm1 }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePagePatch8} -\begin{paste}{ugxMatrixCreatePageFull8}{ugxMatrixCreatePageEmpty8} -\pastebutton{ugxMatrixCreatePageFull8}{\hidepaste} -\tab{5}\spadcommand{setColumn!(dm,2,vector [y,y,y,y,y])\free{dm1 }\bound{dm2 }} -\indentrel{3}\begin{verbatim} - Ú1 y 0 0 0¿ - ³ ³ - ³0 y 0 0 0³ - ³ ³ - ³ 3 ³ - (8) ³0 y x 0 0³ - ³ ³ - ³ 4 ³ - ³0 y 0 x 0³ - ³ ³ - À1 y 1 1 1Ù - Type: Matrix Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePageEmpty8} -\begin{paste}{ugxMatrixCreatePageEmpty8}{ugxMatrixCreatePagePatch8} -\pastebutton{ugxMatrixCreatePageEmpty8}{\showpaste} -\tab{5}\spadcommand{setColumn!(dm,2,vector [y,y,y,y,y])\free{dm1 }\bound{dm2 }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePagePatch9} -\begin{paste}{ugxMatrixCreatePageFull9}{ugxMatrixCreatePageEmpty9} -\pastebutton{ugxMatrixCreatePageFull9}{\hidepaste} -\tab{5}\spadcommand{cdm := copy(dm)\free{dm2 }\bound{cdm }} -\indentrel{3}\begin{verbatim} - Ú1 y 0 0 0¿ - ³ ³ - ³0 y 0 0 0³ - ³ ³ - ³ 3 ³ - (9) ³0 y x 0 0³ - ³ ³ - ³ 4 ³ - ³0 y 0 x 0³ - ³ ³ - À1 y 1 1 1Ù - Type: Matrix Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePageEmpty9} -\begin{paste}{ugxMatrixCreatePageEmpty9}{ugxMatrixCreatePagePatch9} -\pastebutton{ugxMatrixCreatePageEmpty9}{\showpaste} -\tab{5}\spadcommand{cdm := copy(dm)\free{dm2 }\bound{cdm }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePagePatch10} -\begin{paste}{ugxMatrixCreatePageFull10}{ugxMatrixCreatePageEmpty10} -\pastebutton{ugxMatrixCreatePageFull10}{\hidepaste} -\tab{5}\spadcommand{setelt(dm,4,1,1-x**7)\free{dm2 }\bound{setdm }} -\indentrel{3}\begin{verbatim} - 7 - (10) - x + 1 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePageEmpty10} -\begin{paste}{ugxMatrixCreatePageEmpty10}{ugxMatrixCreatePagePatch10} -\pastebutton{ugxMatrixCreatePageEmpty10}{\showpaste} -\tab{5}\spadcommand{setelt(dm,4,1,1-x**7)\free{dm2 }\bound{setdm }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePagePatch11} -\begin{paste}{ugxMatrixCreatePageFull11}{ugxMatrixCreatePageEmpty11} -\pastebutton{ugxMatrixCreatePageFull11}{\hidepaste} -\tab{5}\spadcommand{[dm,cdm]\free{setdm cdm }} -\indentrel{3}\begin{verbatim} - Ú 1 y 0 0 0¿ Ú1 y 0 0 0¿ - ³ ³ ³ ³ - ³ 0 y 0 0 0³ ³0 y 0 0 0³ - ³ ³ ³ ³ - ³ 3 ³ ³ 3 ³ - (11) [³ 0 y x 0 0³,³0 y x 0 0³] - ³ ³ ³ ³ - ³ 7 4 ³ ³ 4 ³ - ³- x + 1 y 0 x 0³ ³0 y 0 x 0³ - ³ ³ ³ ³ - À 1 y 1 1 1Ù À1 y 1 1 1Ù - Type: List Matrix Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePageEmpty11} -\begin{paste}{ugxMatrixCreatePageEmpty11}{ugxMatrixCreatePagePatch11} -\pastebutton{ugxMatrixCreatePageEmpty11}{\showpaste} -\tab{5}\spadcommand{[dm,cdm]\free{setdm cdm }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePagePatch12} -\begin{paste}{ugxMatrixCreatePageFull12}{ugxMatrixCreatePageEmpty12} -\pastebutton{ugxMatrixCreatePageFull12}{\hidepaste} -\tab{5}\spadcommand{subMatrix(dm,2,3,2,4)\free{setdm }} -\indentrel{3}\begin{verbatim} - Úy 0 0¿ - (12) ³ ³ - ³ 3 ³ - Ày x 0Ù - Type: Matrix Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePageEmpty12} -\begin{paste}{ugxMatrixCreatePageEmpty12}{ugxMatrixCreatePagePatch12} -\pastebutton{ugxMatrixCreatePageEmpty12}{\showpaste} -\tab{5}\spadcommand{subMatrix(dm,2,3,2,4)\free{setdm }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePagePatch13} -\begin{paste}{ugxMatrixCreatePageFull13}{ugxMatrixCreatePageEmpty13} -\pastebutton{ugxMatrixCreatePageFull13}{\hidepaste} -\tab{5}\spadcommand{d := diagonalMatrix [1.2,-1.3,1.4,-1.5]\bound{d }} -\indentrel{3}\begin{verbatim} - Ú1.2 0.0 0.0 0.0 ¿ - ³ ³ - ³0.0 - 1.3 0.0 0.0 ³ - (13) ³ ³ - ³0.0 0.0 1.4 0.0 ³ - ³ ³ - À0.0 0.0 0.0 - 1.5Ù - Type: Matrix Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePageEmpty13} -\begin{paste}{ugxMatrixCreatePageEmpty13}{ugxMatrixCreatePagePatch13} -\pastebutton{ugxMatrixCreatePageEmpty13}{\showpaste} -\tab{5}\spadcommand{d := diagonalMatrix [1.2,-1.3,1.4,-1.5]\bound{d }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePagePatch14} -\begin{paste}{ugxMatrixCreatePageFull14}{ugxMatrixCreatePageEmpty14} -\pastebutton{ugxMatrixCreatePageFull14}{\hidepaste} -\tab{5}\spadcommand{e := matrix [[6.7,9.11],[-31.33,67.19]]\bound{e }} -\indentrel{3}\begin{verbatim} - Ú 6.7 9.11 ¿ - (14) ³ ³ - À- 31.33 67.19Ù - Type: Matrix Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePageEmpty14} -\begin{paste}{ugxMatrixCreatePageEmpty14}{ugxMatrixCreatePagePatch14} -\pastebutton{ugxMatrixCreatePageEmpty14}{\showpaste} -\tab{5}\spadcommand{e := matrix [[6.7,9.11],[-31.33,67.19]]\bound{e }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePagePatch15} -\begin{paste}{ugxMatrixCreatePageFull15}{ugxMatrixCreatePageEmpty15} -\pastebutton{ugxMatrixCreatePageFull15}{\hidepaste} -\tab{5}\spadcommand{setsubMatrix!(d,1,2,e)\free{d e }\bound{d1 }} -\indentrel{3}\begin{verbatim} - Ú1.2 6.7 9.11 0.0 ¿ - ³ ³ - ³0.0 - 31.33 67.19 0.0 ³ - (15) ³ ³ - ³0.0 0.0 1.4 0.0 ³ - ³ ³ - À0.0 0.0 0.0 - 1.5Ù - Type: Matrix Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePageEmpty15} -\begin{paste}{ugxMatrixCreatePageEmpty15}{ugxMatrixCreatePagePatch15} -\pastebutton{ugxMatrixCreatePageEmpty15}{\showpaste} -\tab{5}\spadcommand{setsubMatrix!(d,1,2,e)\free{d e }\bound{d1 }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePagePatch16} -\begin{paste}{ugxMatrixCreatePageFull16}{ugxMatrixCreatePageEmpty16} -\pastebutton{ugxMatrixCreatePageFull16}{\hidepaste} -\tab{5}\spadcommand{d\free{d1 }} -\indentrel{3}\begin{verbatim} - Ú1.2 6.7 9.11 0.0 ¿ - ³ ³ - ³0.0 - 31.33 67.19 0.0 ³ - (16) ³ ³ - ³0.0 0.0 1.4 0.0 ³ - ³ ³ - À0.0 0.0 0.0 - 1.5Ù - Type: Matrix Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePageEmpty16} -\begin{paste}{ugxMatrixCreatePageEmpty16}{ugxMatrixCreatePagePatch16} -\pastebutton{ugxMatrixCreatePageEmpty16}{\showpaste} -\tab{5}\spadcommand{d\free{d1 }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePagePatch17} -\begin{paste}{ugxMatrixCreatePageFull17}{ugxMatrixCreatePageEmpty17} -\pastebutton{ugxMatrixCreatePageFull17}{\hidepaste} -\tab{5}\spadcommand{a := matrix [[1/2,1/3,1/4],[1/5,1/6,1/7]]\bound{a }} -\indentrel{3}\begin{verbatim} - Ú1 1 1¿ - ³Ä Ä Ä³ - ³2 3 4³ - (17) ³ ³ - ³1 1 1³ - ³Ä Ä Ä³ - À5 6 7Ù - Type: Matrix Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePageEmpty17} -\begin{paste}{ugxMatrixCreatePageEmpty17}{ugxMatrixCreatePagePatch17} -\pastebutton{ugxMatrixCreatePageEmpty17}{\showpaste} -\tab{5}\spadcommand{a := matrix [[1/2,1/3,1/4],[1/5,1/6,1/7]]\bound{a }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePagePatch18} -\begin{paste}{ugxMatrixCreatePageFull18}{ugxMatrixCreatePageEmpty18} -\pastebutton{ugxMatrixCreatePageFull18}{\hidepaste} -\tab{5}\spadcommand{b := matrix [[3/5,3/7,3/11],[3/13,3/17,3/19]]\bound{b }} -\indentrel{3}\begin{verbatim} - Ú3 3 3¿ - ³Ä Ä Äij - ³5 7 11³ - (18) ³ ³ - ³ 3 3 3³ - ³ÄÄ ÄÄ Äij - À13 17 19Ù - Type: Matrix Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePageEmpty18} -\begin{paste}{ugxMatrixCreatePageEmpty18}{ugxMatrixCreatePagePatch18} -\pastebutton{ugxMatrixCreatePageEmpty18}{\showpaste} -\tab{5}\spadcommand{b := matrix [[3/5,3/7,3/11],[3/13,3/17,3/19]]\bound{b }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePagePatch19} -\begin{paste}{ugxMatrixCreatePageFull19}{ugxMatrixCreatePageEmpty19} -\pastebutton{ugxMatrixCreatePageFull19}{\hidepaste} -\tab{5}\spadcommand{horizConcat(a,b)\free{a b }} -\indentrel{3}\begin{verbatim} - Ú1 1 1 3 3 3¿ - ³Ä Ä Ä Ä Ä Äij - ³2 3 4 5 7 11³ - (19) ³ ³ - ³1 1 1 3 3 3³ - ³Ä Ä Ä ÄÄ ÄÄ Äij - À5 6 7 13 17 19Ù - Type: Matrix Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePageEmpty19} -\begin{paste}{ugxMatrixCreatePageEmpty19}{ugxMatrixCreatePagePatch19} -\pastebutton{ugxMatrixCreatePageEmpty19}{\showpaste} -\tab{5}\spadcommand{horizConcat(a,b)\free{a b }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePagePatch20} -\begin{paste}{ugxMatrixCreatePageFull20}{ugxMatrixCreatePageEmpty20} -\pastebutton{ugxMatrixCreatePageFull20}{\hidepaste} -\tab{5}\spadcommand{vab := vertConcat(a,b)\free{a b }\bound{vab }} -\indentrel{3}\begin{verbatim} - Ú1 1 1 ¿ - ³Ä Ä Ä ³ - ³2 3 4 ³ - ³ ³ - ³1 1 1 ³ - ³Ä Ä Ä ³ - ³5 6 7 ³ - (20) ³ ³ - ³3 3 3³ - ³Ä Ä Äij - ³5 7 11³ - ³ ³ - ³ 3 3 3³ - ³ÄÄ ÄÄ Äij - À13 17 19Ù - Type: Matrix Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePageEmpty20} -\begin{paste}{ugxMatrixCreatePageEmpty20}{ugxMatrixCreatePagePatch20} -\pastebutton{ugxMatrixCreatePageEmpty20}{\showpaste} -\tab{5}\spadcommand{vab := vertConcat(a,b)\free{a b }\bound{vab }} -\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePagePatch21} -\begin{paste}{ugxMatrixCreatePageFull21}{ugxMatrixCreatePageEmpty21} -\pastebutton{ugxMatrixCreatePageFull21}{\hidepaste} -\tab{5}\spadcommand{transpose vab\free{vab }} -\indentrel{3}\begin{verbatim} - Ú1 1 3 3¿ - ³Ä Ä Ä Äij - ³2 5 5 13³ - ³ ³ - ³1 1 3 3³ - (21) ³Ä Ä Ä Äij - ³3 6 7 17³ - ³ ³ - ³1 1 3 3³ - ³Ä Ä ÄÄ Äij - À4 7 11 19Ù - Type: Matrix Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxMatrixCreatePageEmpty21} -\begin{paste}{ugxMatrixCreatePageEmpty21}{ugxMatrixCreatePagePatch21} -\pastebutton{ugxMatrixCreatePageEmpty21}{\showpaste} -\tab{5}\spadcommand{transpose vab\free{vab }} -\end{paste}\end{patch} - diff --git a/books/pages/mkfunc.pht b/books/pages/mkfunc.pht deleted file mode 100644 index 8760d48..0000000 --- a/books/pages/mkfunc.pht +++ /dev/null @@ -1,171 +0,0 @@ -\begin{patch}{MakeFunctionXmpPagePatch1} -\begin{paste}{MakeFunctionXmpPageFull1}{MakeFunctionXmpPageEmpty1} -\pastebutton{MakeFunctionXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{expr := (x - exp x + 1)**2 * (sin(x**2) * x + 1)**3\bound{expr }} -\indentrel{3}\begin{verbatim} - (1) - 3 x 2 4 3 x 5 4 3 2 3 - (x (%e ) + (- 2x - 2x )%e + x + 2x + x )sin(x ) - + - 2 x 2 3 2 x 4 3 2 - (3x (%e ) + (- 6x - 6x )%e + 3x + 6x + 3x ) - * - 2 2 - sin(x ) - + - x 2 2 x 3 2 2 - (3x (%e ) + (- 6x - 6x)%e + 3x + 6x + 3x)sin(x ) - + - x 2 x 2 - (%e ) + (- 2x - 2)%e + x + 2x + 1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MakeFunctionXmpPageEmpty1} -\begin{paste}{MakeFunctionXmpPageEmpty1}{MakeFunctionXmpPagePatch1} -\pastebutton{MakeFunctionXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{expr := (x - exp x + 1)**2 * (sin(x**2) * x + 1)**3\bound{expr }} -\end{paste}\end{patch} - -\begin{patch}{MakeFunctionXmpPagePatch2} -\begin{paste}{MakeFunctionXmpPageFull2}{MakeFunctionXmpPageEmpty2} -\pastebutton{MakeFunctionXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{function(expr, f, x)\bound{f }\free{expr }} -\indentrel{3}\begin{verbatim} - (2) f - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MakeFunctionXmpPageEmpty2} -\begin{paste}{MakeFunctionXmpPageEmpty2}{MakeFunctionXmpPagePatch2} -\pastebutton{MakeFunctionXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{function(expr, f, x)\bound{f }\free{expr }} -\end{paste}\end{patch} - -\begin{patch}{MakeFunctionXmpPagePatch3} -\begin{paste}{MakeFunctionXmpPageFull3}{MakeFunctionXmpPageEmpty3} -\pastebutton{MakeFunctionXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{tbl := [f(0.1 * i - 1) for i in 0..20];\free{f }\bound{tbl }} -\indentrel{3}\begin{verbatim} - Type: List Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MakeFunctionXmpPageEmpty3} -\begin{paste}{MakeFunctionXmpPageEmpty3}{MakeFunctionXmpPagePatch3} -\pastebutton{MakeFunctionXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{tbl := [f(0.1 * i - 1) for i in 0..20];\free{f }\bound{tbl }} -\end{paste}\end{patch} - -\begin{patch}{MakeFunctionXmpPagePatch4} -\begin{paste}{MakeFunctionXmpPageFull4}{MakeFunctionXmpPageEmpty4} -\pastebutton{MakeFunctionXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{e := (x - y + 1)**2 * (x**2 * y + 1)**2\bound{e }} -\indentrel{3}\begin{verbatim} - (4) - 4 4 5 4 2 3 - x y + (- 2x - 2x + 2x )y - + - 6 5 4 3 2 2 - (x + 2x + x - 4x - 4x + 1)y - + - 4 3 2 2 - (2x + 4x + 2x - 2x - 2)y + x + 2x + 1 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MakeFunctionXmpPageEmpty4} -\begin{paste}{MakeFunctionXmpPageEmpty4}{MakeFunctionXmpPagePatch4} -\pastebutton{MakeFunctionXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{e := (x - y + 1)**2 * (x**2 * y + 1)**2\bound{e }} -\end{paste}\end{patch} - -\begin{patch}{MakeFunctionXmpPagePatch5} -\begin{paste}{MakeFunctionXmpPageFull5}{MakeFunctionXmpPageEmpty5} -\pastebutton{MakeFunctionXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{function(e, g, [x, y])\free{e }} -\indentrel{3}\begin{verbatim} - (5) g - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MakeFunctionXmpPageEmpty5} -\begin{paste}{MakeFunctionXmpPageEmpty5}{MakeFunctionXmpPagePatch5} -\pastebutton{MakeFunctionXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{function(e, g, [x, y])\free{e }} -\end{paste}\end{patch} - -\begin{patch}{MakeFunctionXmpPagePatch6} -\begin{paste}{MakeFunctionXmpPageFull6}{MakeFunctionXmpPageEmpty6} -\pastebutton{MakeFunctionXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{function(e, h, x, y)\free{e }\bound{h }} -\indentrel{3}\begin{verbatim} - (6) h - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MakeFunctionXmpPageEmpty6} -\begin{paste}{MakeFunctionXmpPageEmpty6}{MakeFunctionXmpPagePatch6} -\pastebutton{MakeFunctionXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{function(e, h, x, y)\free{e }\bound{h }} -\end{paste}\end{patch} - -\begin{patch}{MakeFunctionXmpPagePatch7} -\begin{paste}{MakeFunctionXmpPageFull7}{MakeFunctionXmpPageEmpty7} -\pastebutton{MakeFunctionXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{m1 := squareMatrix [[1, 2], [3, 4]]\bound{m1 }} -\indentrel{3}\begin{verbatim} - Ú1 2¿ - (7) ³ ³ - À3 4Ù - Type: SquareMatrix(2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MakeFunctionXmpPageEmpty7} -\begin{paste}{MakeFunctionXmpPageEmpty7}{MakeFunctionXmpPagePatch7} -\pastebutton{MakeFunctionXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{m1 := squareMatrix [[1, 2], [3, 4]]\bound{m1 }} -\end{paste}\end{patch} - -\begin{patch}{MakeFunctionXmpPagePatch8} -\begin{paste}{MakeFunctionXmpPageFull8}{MakeFunctionXmpPageEmpty8} -\pastebutton{MakeFunctionXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{m2 := squareMatrix [[1, 0], [-1, 1]]\bound{m2 }} -\indentrel{3}\begin{verbatim} - Ú 1 0¿ - (8) ³ ³ - À- 1 1Ù - Type: SquareMatrix(2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MakeFunctionXmpPageEmpty8} -\begin{paste}{MakeFunctionXmpPageEmpty8}{MakeFunctionXmpPagePatch8} -\pastebutton{MakeFunctionXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{m2 := squareMatrix [[1, 0], [-1, 1]]\bound{m2 }} -\end{paste}\end{patch} - -\begin{patch}{MakeFunctionXmpPagePatch9} -\begin{paste}{MakeFunctionXmpPageFull9}{MakeFunctionXmpPageEmpty9} -\pastebutton{MakeFunctionXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{h(m1, m2)\free{h m1 m2 }} -\indentrel{3}\begin{verbatim} - Ú- 7836 8960 ¿ - (9) ³ ³ - À- 17132 19588Ù - Type: SquareMatrix(2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MakeFunctionXmpPageEmpty9} -\begin{paste}{MakeFunctionXmpPageEmpty9}{MakeFunctionXmpPagePatch9} -\pastebutton{MakeFunctionXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{h(m1, m2)\free{h m1 m2 }} -\end{paste}\end{patch} - diff --git a/books/pages/mpoly.pht b/books/pages/mpoly.pht deleted file mode 100644 index 310a655..0000000 --- a/books/pages/mpoly.pht +++ /dev/null @@ -1,190 +0,0 @@ -\begin{patch}{MultivariatePolynomialXmpPagePatch1} -\begin{paste}{MultivariatePolynomialXmpPageFull1}{MultivariatePolynomialXmpPageEmpty1} -\pastebutton{MultivariatePolynomialXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{m : MPOLY([x,y],INT) := (x**2 - x*y**3 +3*y)**2\bound{m }} -\indentrel{3}\begin{verbatim} - 4 3 3 6 2 4 2 - (1) x - 2y x + (y + 6y)x - 6y x + 9y - Type: MultivariatePolynomial([x,y],Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MultivariatePolynomialXmpPageEmpty1} -\begin{paste}{MultivariatePolynomialXmpPageEmpty1}{MultivariatePolynomialXmpPagePatch1} -\pastebutton{MultivariatePolynomialXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{m : MPOLY([x,y],INT) := (x**2 - x*y**3 +3*y)**2\bound{m }} -\end{paste}\end{patch} - -\begin{patch}{MultivariatePolynomialXmpPagePatch2} -\begin{paste}{MultivariatePolynomialXmpPageFull2}{MultivariatePolynomialXmpPageEmpty2} -\pastebutton{MultivariatePolynomialXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{m :: MPOLY([y,x],INT)\free{m }} -\indentrel{3}\begin{verbatim} - 2 6 4 3 3 2 2 4 - (2) x y - 6x y - 2x y + 9y + 6x y + x - Type: MultivariatePolynomial([y,x],Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MultivariatePolynomialXmpPageEmpty2} -\begin{paste}{MultivariatePolynomialXmpPageEmpty2}{MultivariatePolynomialXmpPagePatch2} -\pastebutton{MultivariatePolynomialXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{m :: MPOLY([y,x],INT)\free{m }} -\end{paste}\end{patch} - -\begin{patch}{MultivariatePolynomialXmpPagePatch3} -\begin{paste}{MultivariatePolynomialXmpPageFull3}{MultivariatePolynomialXmpPageEmpty3} -\pastebutton{MultivariatePolynomialXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{p : MPOLY([x,y],POLY INT)\bound{pdec }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MultivariatePolynomialXmpPageEmpty3} -\begin{paste}{MultivariatePolynomialXmpPageEmpty3}{MultivariatePolynomialXmpPagePatch3} -\pastebutton{MultivariatePolynomialXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{p : MPOLY([x,y],POLY INT)\bound{pdec }} -\end{paste}\end{patch} - -\begin{patch}{MultivariatePolynomialXmpPagePatch4} -\begin{paste}{MultivariatePolynomialXmpPageFull4}{MultivariatePolynomialXmpPageEmpty4} -\pastebutton{MultivariatePolynomialXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{p := (a**2*x - b*y**2 + 1)**2\free{pdec }\bound{p }} -\indentrel{3}\begin{verbatim} - 4 2 2 2 2 2 4 2 - (4) a x + (- 2a b y + 2a )x + b y - 2b y + 1 - Type: MultivariatePolynomial([x,y],Polynomial Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MultivariatePolynomialXmpPageEmpty4} -\begin{paste}{MultivariatePolynomialXmpPageEmpty4}{MultivariatePolynomialXmpPagePatch4} -\pastebutton{MultivariatePolynomialXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{p := (a**2*x - b*y**2 + 1)**2\free{pdec }\bound{p }} -\end{paste}\end{patch} - -\begin{patch}{MultivariatePolynomialXmpPagePatch5} -\begin{paste}{MultivariatePolynomialXmpPageFull5}{MultivariatePolynomialXmpPageEmpty5} -\pastebutton{MultivariatePolynomialXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{p :: POLY INT\free{p }\bound{prev }} -\indentrel{3}\begin{verbatim} - 2 4 2 2 4 2 2 - (5) b y + (- 2a b x - 2b)y + a x + 2a x + 1 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MultivariatePolynomialXmpPageEmpty5} -\begin{paste}{MultivariatePolynomialXmpPageEmpty5}{MultivariatePolynomialXmpPagePatch5} -\pastebutton{MultivariatePolynomialXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{p :: POLY INT\free{p }\bound{prev }} -\end{paste}\end{patch} - -\begin{patch}{MultivariatePolynomialXmpPagePatch6} -\begin{paste}{MultivariatePolynomialXmpPageFull6}{MultivariatePolynomialXmpPageEmpty6} -\pastebutton{MultivariatePolynomialXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{\% :: MPOLY([a,b],POLY INT)\free{prev }} -\indentrel{3}\begin{verbatim} - 2 4 2 2 4 2 2 - (6) x a + (- 2x y b + 2x)a + y b - 2y b + 1 - Type: MultivariatePolynomial([a,b],Polynomial Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MultivariatePolynomialXmpPageEmpty6} -\begin{paste}{MultivariatePolynomialXmpPageEmpty6}{MultivariatePolynomialXmpPagePatch6} -\pastebutton{MultivariatePolynomialXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{\% :: MPOLY([a,b],POLY INT)\free{prev }} -\end{paste}\end{patch} - -\begin{patch}{MultivariatePolynomialXmpPagePatch7} -\begin{paste}{MultivariatePolynomialXmpPageFull7}{MultivariatePolynomialXmpPageEmpty7} -\pastebutton{MultivariatePolynomialXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{q : UP(x, FRAC MPOLY([y,z],INT))\bound{qdec }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MultivariatePolynomialXmpPageEmpty7} -\begin{paste}{MultivariatePolynomialXmpPageEmpty7}{MultivariatePolynomialXmpPagePatch7} -\pastebutton{MultivariatePolynomialXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{q : UP(x, FRAC MPOLY([y,z],INT))\bound{qdec }} -\end{paste}\end{patch} - -\begin{patch}{MultivariatePolynomialXmpPagePatch8} -\begin{paste}{MultivariatePolynomialXmpPageFull8}{MultivariatePolynomialXmpPageEmpty8} -\pastebutton{MultivariatePolynomialXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{q := (x**2 - x*(z+1)/y +2)**2\free{qdec }\bound{q }} -\indentrel{3}\begin{verbatim} - (8) - 2 2 - 4 - 2z - 2 3 4y + z + 2z + 1 2 - 4z - 4 - x + ÄÄÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄÄ x - y 2 y - y - + - 4 -Type: UnivariatePolynomial(x,Fraction MultivariatePolynomial([y,z],Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MultivariatePolynomialXmpPageEmpty8} -\begin{paste}{MultivariatePolynomialXmpPageEmpty8}{MultivariatePolynomialXmpPagePatch8} -\pastebutton{MultivariatePolynomialXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{q := (x**2 - x*(z+1)/y +2)**2\free{qdec }\bound{q }} -\end{paste}\end{patch} - -\begin{patch}{MultivariatePolynomialXmpPagePatch9} -\begin{paste}{MultivariatePolynomialXmpPageFull9}{MultivariatePolynomialXmpPageEmpty9} -\pastebutton{MultivariatePolynomialXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{q :: UP(z, FRAC MPOLY([x,y],INT))\free{q }} -\indentrel{3}\begin{verbatim} - (9) - 2 3 2 - x 2 - 2y x + 2x - 4y x - ÄÄ z + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ z - 2 2 - y y - + - 2 4 3 2 2 2 - y x - 2y x + (4y + 1)x - 4y x + 4y - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 2 - y -Type: UnivariatePolynomial(z,Fraction MultivariatePolynomial([x,y],Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MultivariatePolynomialXmpPageEmpty9} -\begin{paste}{MultivariatePolynomialXmpPageEmpty9}{MultivariatePolynomialXmpPagePatch9} -\pastebutton{MultivariatePolynomialXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{q :: UP(z, FRAC MPOLY([x,y],INT))\free{q }} -\end{paste}\end{patch} - -\begin{patch}{MultivariatePolynomialXmpPagePatch10} -\begin{paste}{MultivariatePolynomialXmpPageFull10}{MultivariatePolynomialXmpPageEmpty10} -\pastebutton{MultivariatePolynomialXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{q :: MPOLY([x,z], FRAC UP(y,INT))\free{q }} -\indentrel{3}\begin{verbatim} - (10) - 2 - 4 2 2 3 1 2 2 4y + 1 2 - x + (- Ä z - Ä)x + (ÄÄ z + ÄÄ z + ÄÄÄÄÄÄÄ)x - y y 2 2 2 - y y y - + - 4 4 - (- Ä z - Ä)x + 4 - y y -Type: MultivariatePolynomial([x,z],Fraction UnivariatePolynomial(y,Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MultivariatePolynomialXmpPageEmpty10} -\begin{paste}{MultivariatePolynomialXmpPageEmpty10}{MultivariatePolynomialXmpPagePatch10} -\pastebutton{MultivariatePolynomialXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{q :: MPOLY([x,z], FRAC UP(y,INT))\free{q }} -\end{paste}\end{patch} - diff --git a/books/pages/mset.pht b/books/pages/mset.pht deleted file mode 100644 index 09fc539..0000000 --- a/books/pages/mset.pht +++ /dev/null @@ -1,192 +0,0 @@ -\begin{patch}{MultiSetXmpPagePatch1} -\begin{paste}{MultiSetXmpPageFull1}{MultiSetXmpPageEmpty1} -\pastebutton{MultiSetXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{s := multiset [1,2,3,4,5,4,3,2,3,4,5,6,7,4,10]\bound{s }} -\indentrel{3}\begin{verbatim} - (1) {7,2: 5,3: 3,1,10,6,4: 4,2: 2} - Type: Multiset PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MultiSetXmpPageEmpty1} -\begin{paste}{MultiSetXmpPageEmpty1}{MultiSetXmpPagePatch1} -\pastebutton{MultiSetXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{s := multiset [1,2,3,4,5,4,3,2,3,4,5,6,7,4,10]\bound{s }} -\end{paste}\end{patch} - -\begin{patch}{MultiSetXmpPagePatch2} -\begin{paste}{MultiSetXmpPageFull2}{MultiSetXmpPageEmpty2} -\pastebutton{MultiSetXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{insert!(3,s)\bound{s1 }\free{s }} -\indentrel{3}\begin{verbatim} - (2) {7,2: 5,4: 3,1,10,6,4: 4,2: 2} - Type: Multiset PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MultiSetXmpPageEmpty2} -\begin{paste}{MultiSetXmpPageEmpty2}{MultiSetXmpPagePatch2} -\pastebutton{MultiSetXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{insert!(3,s)\bound{s1 }\free{s }} -\end{paste}\end{patch} - -\begin{patch}{MultiSetXmpPagePatch3} -\begin{paste}{MultiSetXmpPageFull3}{MultiSetXmpPageEmpty3} -\pastebutton{MultiSetXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{remove!(3,s,1); s\bound{s2 }\free{s1 }} -\indentrel{3}\begin{verbatim} - (3) {7,2: 5,3: 3,1,10,6,4: 4,2: 2} - Type: Multiset PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MultiSetXmpPageEmpty3} -\begin{paste}{MultiSetXmpPageEmpty3}{MultiSetXmpPagePatch3} -\pastebutton{MultiSetXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{remove!(3,s,1); s\bound{s2 }\free{s1 }} -\end{paste}\end{patch} - -\begin{patch}{MultiSetXmpPagePatch4} -\begin{paste}{MultiSetXmpPageFull4}{MultiSetXmpPageEmpty4} -\pastebutton{MultiSetXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{remove!(5,s); s\bound{s2 }\free{s1 }} -\indentrel{3}\begin{verbatim} - (4) {7,3: 3,1,10,6,4: 4,2: 2} - Type: Multiset PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MultiSetXmpPageEmpty4} -\begin{paste}{MultiSetXmpPageEmpty4}{MultiSetXmpPagePatch4} -\pastebutton{MultiSetXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{remove!(5,s); s\bound{s2 }\free{s1 }} -\end{paste}\end{patch} - -\begin{patch}{MultiSetXmpPagePatch5} -\begin{paste}{MultiSetXmpPageFull5}{MultiSetXmpPageEmpty5} -\pastebutton{MultiSetXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{count(5,s)\free{s2 }} -\indentrel{3}\begin{verbatim} - (5) 0 - Type: NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MultiSetXmpPageEmpty5} -\begin{paste}{MultiSetXmpPageEmpty5}{MultiSetXmpPagePatch5} -\pastebutton{MultiSetXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{count(5,s)\free{s2 }} -\end{paste}\end{patch} - -\begin{patch}{MultiSetXmpPagePatch6} -\begin{paste}{MultiSetXmpPageFull6}{MultiSetXmpPageEmpty6} -\pastebutton{MultiSetXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{t := multiset [2,2,2,-9]\bound{t }} -\indentrel{3}\begin{verbatim} - (6) {- 9,3: 2} - Type: Multiset Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MultiSetXmpPageEmpty6} -\begin{paste}{MultiSetXmpPageEmpty6}{MultiSetXmpPagePatch6} -\pastebutton{MultiSetXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{t := multiset [2,2,2,-9]\bound{t }} -\end{paste}\end{patch} - -\begin{patch}{MultiSetXmpPagePatch7} -\begin{paste}{MultiSetXmpPageFull7}{MultiSetXmpPageEmpty7} -\pastebutton{MultiSetXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{U := union(s,t)\bound{U }} -\indentrel{3}\begin{verbatim} - (7) {7,3: 3,1,- 9,10,6,4: 4,5: 2} - Type: Multiset Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MultiSetXmpPageEmpty7} -\begin{paste}{MultiSetXmpPageEmpty7}{MultiSetXmpPagePatch7} -\pastebutton{MultiSetXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{U := union(s,t)\bound{U }} -\end{paste}\end{patch} - -\begin{patch}{MultiSetXmpPagePatch8} -\begin{paste}{MultiSetXmpPageFull8}{MultiSetXmpPageEmpty8} -\pastebutton{MultiSetXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{I := intersect(s,t)\bound{I }} -\indentrel{3}\begin{verbatim} - (8) {5: 2} - Type: Multiset Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MultiSetXmpPageEmpty8} -\begin{paste}{MultiSetXmpPageEmpty8}{MultiSetXmpPagePatch8} -\pastebutton{MultiSetXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{I := intersect(s,t)\bound{I }} -\end{paste}\end{patch} - -\begin{patch}{MultiSetXmpPagePatch9} -\begin{paste}{MultiSetXmpPageFull9}{MultiSetXmpPageEmpty9} -\pastebutton{MultiSetXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{difference(s,t)\free{s2 t }} -\indentrel{3}\begin{verbatim} - (9) {7,3: 3,1,10,6,4: 4} - Type: Multiset Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MultiSetXmpPageEmpty9} -\begin{paste}{MultiSetXmpPageEmpty9}{MultiSetXmpPagePatch9} -\pastebutton{MultiSetXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{difference(s,t)\free{s2 t }} -\end{paste}\end{patch} - -\begin{patch}{MultiSetXmpPagePatch10} -\begin{paste}{MultiSetXmpPageFull10}{MultiSetXmpPageEmpty10} -\pastebutton{MultiSetXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{S := symmetricDifference(s,t)\bound{S }\free{s2 t }} -\indentrel{3}\begin{verbatim} - (10) {7,3: 3,1,- 9,10,6,4: 4} - Type: Multiset Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MultiSetXmpPageEmpty10} -\begin{paste}{MultiSetXmpPageEmpty10}{MultiSetXmpPagePatch10} -\pastebutton{MultiSetXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{S := symmetricDifference(s,t)\bound{S }\free{s2 t }} -\end{paste}\end{patch} - -\begin{patch}{MultiSetXmpPagePatch11} -\begin{paste}{MultiSetXmpPageFull11}{MultiSetXmpPageEmpty11} -\pastebutton{MultiSetXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{(U = union(S,I))@Boolean\free{S I U }} -\indentrel{3}\begin{verbatim} - (11) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MultiSetXmpPageEmpty11} -\begin{paste}{MultiSetXmpPageEmpty11}{MultiSetXmpPagePatch11} -\pastebutton{MultiSetXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{(U = union(S,I))@Boolean\free{S I U }} -\end{paste}\end{patch} - -\begin{patch}{MultiSetXmpPagePatch12} -\begin{paste}{MultiSetXmpPageFull12}{MultiSetXmpPageEmpty12} -\pastebutton{MultiSetXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{t1 := multiset [1,2,2,3]; [t1 < t, t1 < s, t < s, t1 <= s]\free{t s2 }} -\indentrel{3}\begin{verbatim} - (12) [false,true,false,true] - Type: List Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{MultiSetXmpPageEmpty12} -\begin{paste}{MultiSetXmpPageEmpty12}{MultiSetXmpPagePatch12} -\pastebutton{MultiSetXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{t1 := multiset [1,2,2,3]; [t1 < t, t1 < s, t < s, t1 <= s]\free{t s2 }} -\end{paste}\end{patch} - diff --git a/books/pages/none.pht b/books/pages/none.pht deleted file mode 100644 index 7e748c0..0000000 --- a/books/pages/none.pht +++ /dev/null @@ -1,48 +0,0 @@ -\begin{patch}{NoneXmpPagePatch1} -\begin{paste}{NoneXmpPageFull1}{NoneXmpPageEmpty1} -\pastebutton{NoneXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{[]} -\indentrel{3}\begin{verbatim} - (1) [] - Type: List None -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{NoneXmpPageEmpty1} -\begin{paste}{NoneXmpPageEmpty1}{NoneXmpPagePatch1} -\pastebutton{NoneXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{[]} -\end{paste}\end{patch} - -\begin{patch}{NoneXmpPagePatch2} -\begin{paste}{NoneXmpPageFull2}{NoneXmpPageEmpty2} -\pastebutton{NoneXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{[] :: List Float} -\indentrel{3}\begin{verbatim} - (2) [] - Type: List Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{NoneXmpPageEmpty2} -\begin{paste}{NoneXmpPageEmpty2}{NoneXmpPagePatch2} -\pastebutton{NoneXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{[] :: List Float} -\end{paste}\end{patch} - -\begin{patch}{NoneXmpPagePatch3} -\begin{paste}{NoneXmpPageFull3}{NoneXmpPageEmpty3} -\pastebutton{NoneXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{[]$List(NonNegativeInteger)} -\indentrel{3}\begin{verbatim} - (3) [] - Type: List NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{NoneXmpPageEmpty3} -\begin{paste}{NoneXmpPageEmpty3}{NoneXmpPagePatch3} -\pastebutton{NoneXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{[]$List(NonNegativeInteger)} -\end{paste}\end{patch} - diff --git a/books/pages/numbers.pht b/books/pages/numbers.pht deleted file mode 100644 index 52f963f..0000000 --- a/books/pages/numbers.pht +++ /dev/null @@ -1,607 +0,0 @@ -\begin{patch}{IntegerPagePatch1} -\begin{paste}{IntegerPageFull1}{IntegerPageEmpty1} -\pastebutton{IntegerPageFull1}{\hidepaste} -\tab{5}\spadcommand{x := factorial(200)\bound{x }} -\indentrel{3}\begin{verbatim} - (1) - 788657867364790503552363213932185062295135977687173263_ - 29474253324435944996340334292030428401198462390417721_ - 21389196388302576427902426371050619266249528299311134_ - 62857270763317237396988943922445621451664240254033291_ - 86413122742829485327752424240757390324032125740557956_ - 86602260319041703240623517008587961789222227896237038_ - 97374720000000000000000000000000000000000000000000000_ - 000 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerPageEmpty1} -\begin{paste}{IntegerPageEmpty1}{IntegerPagePatch1} -\pastebutton{IntegerPageEmpty1}{\showpaste} -\tab{5}\spadcommand{x := factorial(200)\bound{x }} -\end{paste}\end{patch} - -\begin{patch}{IntegerPagePatch2} -\begin{paste}{IntegerPageFull2}{IntegerPageEmpty2} -\pastebutton{IntegerPageFull2}{\hidepaste} -\tab{5}\spadcommand{y := 2**90 - 1\bound{y }} -\indentrel{3}\begin{verbatim} - (2) 1237940039285380274899124223 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerPageEmpty2} -\begin{paste}{IntegerPageEmpty2}{IntegerPagePatch2} -\pastebutton{IntegerPageEmpty2}{\showpaste} -\tab{5}\spadcommand{y := 2**90 - 1\bound{y }} -\end{paste}\end{patch} - -\begin{patch}{IntegerPagePatch3} -\begin{paste}{IntegerPageFull3}{IntegerPageEmpty3} -\pastebutton{IntegerPageFull3}{\hidepaste} -\tab{5}\spadcommand{x + y\free{x y }} -\indentrel{3}\begin{verbatim} - (3) - 788657867364790503552363213932185062295135977687173263_ - 29474253324435944996340334292030428401198462390417721_ - 21389196388302576427902426371050619266249528299311134_ - 62857270763317237396988943922445621451664240254033291_ - 86413122742829485327752424240757390324032125740557956_ - 86602260319041703240623517008587961789222227896237038_ - 97374720000000000000000000001237940039285380274899124_ - 223 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerPageEmpty3} -\begin{paste}{IntegerPageEmpty3}{IntegerPagePatch3} -\pastebutton{IntegerPageEmpty3}{\showpaste} -\tab{5}\spadcommand{x + y\free{x y }} -\end{paste}\end{patch} - -\begin{patch}{IntegerPagePatch4} -\begin{paste}{IntegerPageFull4}{IntegerPageEmpty4} -\pastebutton{IntegerPageFull4}{\hidepaste} -\tab{5}\spadcommand{x - y\free{x y }} -\indentrel{3}\begin{verbatim} - (4) - 788657867364790503552363213932185062295135977687173263_ - 29474253324435944996340334292030428401198462390417721_ - 21389196388302576427902426371050619266249528299311134_ - 62857270763317237396988943922445621451664240254033291_ - 86413122742829485327752424240757390324032125740557956_ - 86602260319041703240623517008587961789222227896237038_ - 97374719999999999999999999998762059960714619725100875_ - 777 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerPageEmpty4} -\begin{paste}{IntegerPageEmpty4}{IntegerPagePatch4} -\pastebutton{IntegerPageEmpty4}{\showpaste} -\tab{5}\spadcommand{x - y\free{x y }} -\end{paste}\end{patch} - -\begin{patch}{IntegerPagePatch5} -\begin{paste}{IntegerPageFull5}{IntegerPageEmpty5} -\pastebutton{IntegerPageFull5}{\hidepaste} -\tab{5}\spadcommand{x * y\free{x y }} -\indentrel{3}\begin{verbatim} - (5) - 976311151308292982184363119660950225776642966765414042_ - 37079496488133389834070329188092355479782812765687260_ - 17975734913119466356078732929100728088106228471338396_ - 75509315106953260921744797014165125163884859138819053_ - 52475858689630194698878995048210905618067437176553811_ - 33973032509524956986554360537566475497856969235918273_ - 09521182392695050703382396859842560000000000000000000_ - 000000000000000000000000000000 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerPageEmpty5} -\begin{paste}{IntegerPageEmpty5}{IntegerPagePatch5} -\pastebutton{IntegerPageEmpty5}{\showpaste} -\tab{5}\spadcommand{x * y\free{x y }} -\end{paste}\end{patch} - -\begin{patch}{IntegerPagePatch6} -\begin{paste}{IntegerPageFull6}{IntegerPageEmpty6} -\pastebutton{IntegerPageFull6}{\hidepaste} -\tab{5}\spadcommand{factor(x)\free{x }} -\indentrel{3}\begin{verbatim} - (6) - 197 97 49 32 19 16 11 10 8 6 6 5 4 4 4 3 - 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 - * - 3 3 2 2 2 2 2 2 2 - 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 - * - 131 137 139 149 151 157 163 167 173 179 181 191 193 - * - 197 199 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerPageEmpty6} -\begin{paste}{IntegerPageEmpty6}{IntegerPagePatch6} -\pastebutton{IntegerPageEmpty6}{\showpaste} -\tab{5}\spadcommand{factor(x)\free{x }} -\end{paste}\end{patch} - -\begin{patch}{IntegerPagePatch7} -\begin{paste}{IntegerPageFull7}{IntegerPageEmpty7} -\pastebutton{IntegerPageFull7}{\hidepaste} -\tab{5}\spadcommand{factor(y)\free{y }} -\indentrel{3}\begin{verbatim} - 3 - (7) 3 7 11 19 31 73 151 331 631 23311 18837001 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerPageEmpty7} -\begin{paste}{IntegerPageEmpty7}{IntegerPagePatch7} -\pastebutton{IntegerPageEmpty7}{\showpaste} -\tab{5}\spadcommand{factor(y)\free{y }} -\end{paste}\end{patch} - -\begin{patch}{FractionPagePatch1} -\begin{paste}{FractionPageFull1}{FractionPageEmpty1} -\pastebutton{FractionPageFull1}{\hidepaste} -\tab{5}\spadcommand{1/4 - 1/5} -\indentrel{3}\begin{verbatim} - 1 - (1) ÄÄ - 20 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FractionPageEmpty1} -\begin{paste}{FractionPageEmpty1}{FractionPagePatch1} -\pastebutton{FractionPageEmpty1}{\showpaste} -\tab{5}\spadcommand{1/4 - 1/5} -\end{paste}\end{patch} - -\begin{patch}{FractionPagePatch2} -\begin{paste}{FractionPageFull2}{FractionPageEmpty2} -\pastebutton{FractionPageFull2}{\hidepaste} -\tab{5}\spadcommand{f := (x**2 + 1)/(x - 1)\bound{f }} -\indentrel{3}\begin{verbatim} - 2 - x + 1 - (2) ÄÄÄÄÄÄ - x - 1 - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FractionPageEmpty2} -\begin{paste}{FractionPageEmpty2}{FractionPagePatch2} -\pastebutton{FractionPageEmpty2}{\showpaste} -\tab{5}\spadcommand{f := (x**2 + 1)/(x - 1)\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{FractionPagePatch3} -\begin{paste}{FractionPageFull3}{FractionPageEmpty3} -\pastebutton{FractionPageFull3}{\hidepaste} -\tab{5}\spadcommand{g := (x**2 - 3*x + 2)/(x + 2)\bound{g }} -\indentrel{3}\begin{verbatim} - 2 - x - 3x + 2 - (3) ÄÄÄÄÄÄÄÄÄÄÄ - x + 2 - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FractionPageEmpty3} -\begin{paste}{FractionPageEmpty3}{FractionPagePatch3} -\pastebutton{FractionPageEmpty3}{\showpaste} -\tab{5}\spadcommand{g := (x**2 - 3*x + 2)/(x + 2)\bound{g }} -\end{paste}\end{patch} - -\begin{patch}{FractionPagePatch4} -\begin{paste}{FractionPageFull4}{FractionPageEmpty4} -\pastebutton{FractionPageFull4}{\hidepaste} -\tab{5}\spadcommand{f * g\free{f g }} -\indentrel{3}\begin{verbatim} - 3 2 - x - 2x + x - 2 - (4) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - x + 2 - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{FractionPageEmpty4} -\begin{paste}{FractionPageEmpty4}{FractionPagePatch4} -\pastebutton{FractionPageEmpty4}{\showpaste} -\tab{5}\spadcommand{f * g\free{f g }} -\end{paste}\end{patch} - -\begin{patch}{IntegerProblemAnswerPage1Patch1} -\begin{paste}{IntegerProblemAnswerPage1Full1}{IntegerProblemAnswerPage1Empty1} -\pastebutton{IntegerProblemAnswerPage1Full1}{\hidepaste} -\tab{5}\spadcommand{f: NNI -> INT\bound{f1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerProblemAnswerPage1Empty1} -\begin{paste}{IntegerProblemAnswerPage1Empty1}{IntegerProblemAnswerPage1Patch1} -\pastebutton{IntegerProblemAnswerPage1Empty1}{\showpaste} -\tab{5}\spadcommand{f: NNI -> INT\bound{f1 }} -\end{paste}\end{patch} - -\begin{patch}{IntegerProblemAnswerPage1Patch2} -\begin{paste}{IntegerProblemAnswerPage1Full2}{IntegerProblemAnswerPage1Empty2} -\pastebutton{IntegerProblemAnswerPage1Full2}{\hidepaste} -\tab{5}\spadcommand{f(n) == 2**n - 1\bound{f }\free{f1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerProblemAnswerPage1Empty2} -\begin{paste}{IntegerProblemAnswerPage1Empty2}{IntegerProblemAnswerPage1Patch2} -\pastebutton{IntegerProblemAnswerPage1Empty2}{\showpaste} -\tab{5}\spadcommand{f(n) == 2**n - 1\bound{f }\free{f1 }} -\end{paste}\end{patch} - -\begin{patch}{IntegerProblemAnswerPage1Patch3} -\begin{paste}{IntegerProblemAnswerPage1Full3}{IntegerProblemAnswerPage1Empty3} -\pastebutton{IntegerProblemAnswerPage1Full3}{\hidepaste} -\tab{5}\spadcommand{factor f(7)\free{f }} -\indentrel{3}\begin{verbatim} - (3) 127 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerProblemAnswerPage1Empty3} -\begin{paste}{IntegerProblemAnswerPage1Empty3}{IntegerProblemAnswerPage1Patch3} -\pastebutton{IntegerProblemAnswerPage1Empty3}{\showpaste} -\tab{5}\spadcommand{factor f(7)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{IntegerProblemAnswerPage1Patch4} -\begin{paste}{IntegerProblemAnswerPage1Full4}{IntegerProblemAnswerPage1Empty4} -\pastebutton{IntegerProblemAnswerPage1Full4}{\hidepaste} -\tab{5}\spadcommand{ints := [n for n in 1..]\bound{ints }} -\indentrel{3}\begin{verbatim} - (4) [1,2,3,4,5,6,7,8,9,10,...] - Type: Stream PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerProblemAnswerPage1Empty4} -\begin{paste}{IntegerProblemAnswerPage1Empty4}{IntegerProblemAnswerPage1Patch4} -\pastebutton{IntegerProblemAnswerPage1Empty4}{\showpaste} -\tab{5}\spadcommand{ints := [n for n in 1..]\bound{ints }} -\end{paste}\end{patch} - -\begin{patch}{IntegerProblemAnswerPage1Patch5} -\begin{paste}{IntegerProblemAnswerPage1Full5}{IntegerProblemAnswerPage1Empty5} -\pastebutton{IntegerProblemAnswerPage1Full5}{\hidepaste} -\tab{5}\spadcommand{primes := [x for x in ints | prime? x]\bound{primes }\free{ints }} -\indentrel{3}\begin{verbatim} - (5) [2,3,5,7,11,13,17,19,23,29,...] - Type: Stream PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerProblemAnswerPage1Empty5} -\begin{paste}{IntegerProblemAnswerPage1Empty5}{IntegerProblemAnswerPage1Patch5} -\pastebutton{IntegerProblemAnswerPage1Empty5}{\showpaste} -\tab{5}\spadcommand{primes := [x for x in ints | prime? x]\bound{primes }\free{ints }} -\end{paste}\end{patch} - -\begin{patch}{IntegerProblemAnswerPage1Patch6} -\begin{paste}{IntegerProblemAnswerPage1Full6}{IntegerProblemAnswerPage1Empty6} -\pastebutton{IntegerProblemAnswerPage1Full6}{\hidepaste} -\tab{5}\spadcommand{primes.25\free{primes }} -\indentrel{3}\begin{verbatim} - (6) 97 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerProblemAnswerPage1Empty6} -\begin{paste}{IntegerProblemAnswerPage1Empty6}{IntegerProblemAnswerPage1Patch6} -\pastebutton{IntegerProblemAnswerPage1Empty6}{\showpaste} -\tab{5}\spadcommand{primes.25\free{primes }} -\end{paste}\end{patch} - -\begin{patch}{IntegerProblemAnswerPage1Patch7} -\begin{paste}{IntegerProblemAnswerPage1Full7}{IntegerProblemAnswerPage1Empty7} -\pastebutton{IntegerProblemAnswerPage1Full7}{\hidepaste} -\tab{5}\spadcommand{numbers := [f(n) for n in primes]\bound{numbers }\free{primes f }} -\indentrel{3}\begin{verbatim} - (7) - [3, 7, 31, 127, 2047, 8191, 131071, 524287, 8388607, - 536870911, ...] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerProblemAnswerPage1Empty7} -\begin{paste}{IntegerProblemAnswerPage1Empty7}{IntegerProblemAnswerPage1Patch7} -\pastebutton{IntegerProblemAnswerPage1Empty7}{\showpaste} -\tab{5}\spadcommand{numbers := [f(n) for n in primes]\bound{numbers }\free{primes f }} -\end{paste}\end{patch} - -\begin{patch}{IntegerProblemAnswerPage1Patch8} -\begin{paste}{IntegerProblemAnswerPage1Full8}{IntegerProblemAnswerPage1Empty8} -\pastebutton{IntegerProblemAnswerPage1Full8}{\hidepaste} -\tab{5}\spadcommand{factors := [factor n for n in numbers]\bound{factors }\free{numbers }} -\indentrel{3}\begin{verbatim} - (8) - [3, 7, 31, 127, 23 89, 8191, 131071, 524287, - 47 178481, 233 1103 2089, ...] - Type: Stream Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerProblemAnswerPage1Empty8} -\begin{paste}{IntegerProblemAnswerPage1Empty8}{IntegerProblemAnswerPage1Patch8} -\pastebutton{IntegerProblemAnswerPage1Empty8}{\showpaste} -\tab{5}\spadcommand{factors := [factor n for n in numbers]\bound{factors }\free{numbers }} -\end{paste}\end{patch} - -\begin{patch}{IntegerProblemAnswerPage1Patch9} -\begin{paste}{IntegerProblemAnswerPage1Full9}{IntegerProblemAnswerPage1Empty9} -\pastebutton{IntegerProblemAnswerPage1Full9}{\hidepaste} -\tab{5}\spadcommand{nums := [x for x in numbers | not prime? x]\bound{nums }\free{numbers }} -\indentrel{3}\begin{verbatim} - (9) - [2047, 8388607, 536870911, 137438953471, - 2199023255551, 8796093022207, 140737488355327, - 9007199254740991, 576460752303423487, - 147573952589676412927, ...] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerProblemAnswerPage1Empty9} -\begin{paste}{IntegerProblemAnswerPage1Empty9}{IntegerProblemAnswerPage1Patch9} -\pastebutton{IntegerProblemAnswerPage1Empty9}{\showpaste} -\tab{5}\spadcommand{nums := [x for x in numbers | not prime? x]\bound{nums }\free{numbers }} -\end{paste}\end{patch} - -\begin{patch}{IntegerProblemAnswerPage2Patch1} -\begin{paste}{IntegerProblemAnswerPage2Full1}{IntegerProblemAnswerPage2Empty1} -\pastebutton{IntegerProblemAnswerPage2Full1}{\hidepaste} -\tab{5}\spadcommand{numbers := [n**2 - n + 41 for n in 0..40]\bound{numbers }} -\indentrel{3}\begin{verbatim} - (1) - [41, 41, 43, 47, 53, 61, 71, 83, 97, 113, 131, 151, - 173, 197, 223, 251, 281, 313, 347, 383, 421, 461, - 503, 547, 593, 641, 691, 743, 797, 853, 911, 971, - 1033, 1097, 1163, 1231, 1301, 1373, 1447, 1523, 1601] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerProblemAnswerPage2Empty1} -\begin{paste}{IntegerProblemAnswerPage2Empty1}{IntegerProblemAnswerPage2Patch1} -\pastebutton{IntegerProblemAnswerPage2Empty1}{\showpaste} -\tab{5}\spadcommand{numbers := [n**2 - n + 41 for n in 0..40]\bound{numbers }} -\end{paste}\end{patch} - -\begin{patch}{IntegerProblemAnswerPage2Patch2} -\begin{paste}{IntegerProblemAnswerPage2Full2}{IntegerProblemAnswerPage2Empty2} -\pastebutton{IntegerProblemAnswerPage2Full2}{\hidepaste} -\tab{5}\spadcommand{[factor n for n in numbers]\free{numbers }} -\indentrel{3}\begin{verbatim} - (2) - [41, 41, 43, 47, 53, 61, 71, 83, 97, 113, 131, 151, - 173, 197, 223, 251, 281, 313, 347, 383, 421, 461, - 503, 547, 593, 641, 691, 743, 797, 853, 911, 971, - 1033, 1097, 1163, 1231, 1301, 1373, 1447, 1523, 1601] - Type: List Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerProblemAnswerPage2Empty2} -\begin{paste}{IntegerProblemAnswerPage2Empty2}{IntegerProblemAnswerPage2Patch2} -\pastebutton{IntegerProblemAnswerPage2Empty2}{\showpaste} -\tab{5}\spadcommand{[factor n for n in numbers]\free{numbers }} -\end{paste}\end{patch} - -\begin{patch}{IntegerExamplePagePatch1} -\begin{paste}{IntegerExamplePageFull1}{IntegerExamplePageEmpty1} -\pastebutton{IntegerExamplePageFull1}{\hidepaste} -\tab{5}\spadcommand{f: NNI -> INT\bound{f1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerExamplePageEmpty1} -\begin{paste}{IntegerExamplePageEmpty1}{IntegerExamplePagePatch1} -\pastebutton{IntegerExamplePageEmpty1}{\showpaste} -\tab{5}\spadcommand{f: NNI -> INT\bound{f1 }} -\end{paste}\end{patch} - -\begin{patch}{IntegerExamplePagePatch2} -\begin{paste}{IntegerExamplePageFull2}{IntegerExamplePageEmpty2} -\pastebutton{IntegerExamplePageFull2}{\hidepaste} -\tab{5}\spadcommand{f(n) == 2**(2**n) + 1\bound{f }\free{f1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerExamplePageEmpty2} -\begin{paste}{IntegerExamplePageEmpty2}{IntegerExamplePagePatch2} -\pastebutton{IntegerExamplePageEmpty2}{\showpaste} -\tab{5}\spadcommand{f(n) == 2**(2**n) + 1\bound{f }\free{f1 }} -\end{paste}\end{patch} - -\begin{patch}{IntegerExamplePagePatch3} -\begin{paste}{IntegerExamplePageFull3}{IntegerExamplePageEmpty3} -\pastebutton{IntegerExamplePageFull3}{\hidepaste} -\tab{5}\spadcommand{factor f(1)\free{f }} -\indentrel{3}\begin{verbatim} - (3) 5 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerExamplePageEmpty3} -\begin{paste}{IntegerExamplePageEmpty3}{IntegerExamplePagePatch3} -\pastebutton{IntegerExamplePageEmpty3}{\showpaste} -\tab{5}\spadcommand{factor f(1)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{IntegerExamplePagePatch4} -\begin{paste}{IntegerExamplePageFull4}{IntegerExamplePageEmpty4} -\pastebutton{IntegerExamplePageFull4}{\hidepaste} -\tab{5}\spadcommand{factor f(2)\free{f }} -\indentrel{3}\begin{verbatim} - (4) 17 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerExamplePageEmpty4} -\begin{paste}{IntegerExamplePageEmpty4}{IntegerExamplePagePatch4} -\pastebutton{IntegerExamplePageEmpty4}{\showpaste} -\tab{5}\spadcommand{factor f(2)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{IntegerExamplePagePatch5} -\begin{paste}{IntegerExamplePageFull5}{IntegerExamplePageEmpty5} -\pastebutton{IntegerExamplePageFull5}{\hidepaste} -\tab{5}\spadcommand{for n in 1..6 repeat output factor f(n)\free{f }} -\indentrel{3}\begin{verbatim} - 5 - 17 - 257 - 65537 - 641 6700417 - 274177 67280421310721 - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerExamplePageEmpty5} -\begin{paste}{IntegerExamplePageEmpty5}{IntegerExamplePagePatch5} -\pastebutton{IntegerExamplePageEmpty5}{\showpaste} -\tab{5}\spadcommand{for n in 1..6 repeat output factor f(n)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{RationalNumberPagePatch1} -\begin{paste}{RationalNumberPageFull1}{RationalNumberPageEmpty1} -\pastebutton{RationalNumberPageFull1}{\hidepaste} -\tab{5}\spadcommand{61657 ** 10 / 999983 ** 12} -\indentrel{3}\begin{verbatim} - (1) - 794006207119672937688869745365148806136551203249 - / - 9997960190729191813417704955587887712239578440952258_ - 46167460930641229761 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RationalNumberPageEmpty1} -\begin{paste}{RationalNumberPageEmpty1}{RationalNumberPagePatch1} -\pastebutton{RationalNumberPageEmpty1}{\showpaste} -\tab{5}\spadcommand{61657 ** 10 / 999983 ** 12} -\end{paste}\end{patch} - -\begin{patch}{RationalNumberPagePatch2} -\begin{paste}{RationalNumberPageFull2}{RationalNumberPageEmpty2} -\pastebutton{RationalNumberPageFull2}{\hidepaste} -\tab{5}\spadcommand{x := 104348/33215\bound{x }} -\indentrel{3}\begin{verbatim} - 104348 - (2) ÄÄÄÄÄÄ - 33215 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RationalNumberPageEmpty2} -\begin{paste}{RationalNumberPageEmpty2}{RationalNumberPagePatch2} -\pastebutton{RationalNumberPageEmpty2}{\showpaste} -\tab{5}\spadcommand{x := 104348/33215\bound{x }} -\end{paste}\end{patch} - -\begin{patch}{RationalNumberPagePatch3} -\begin{paste}{RationalNumberPageFull3}{RationalNumberPageEmpty3} -\pastebutton{RationalNumberPageFull3}{\hidepaste} -\tab{5}\spadcommand{numeric x\free{x }} -\indentrel{3}\begin{verbatim} - (3) 3.1415926539 214210447 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RationalNumberPageEmpty3} -\begin{paste}{RationalNumberPageEmpty3}{RationalNumberPagePatch3} -\pastebutton{RationalNumberPageEmpty3}{\showpaste} -\tab{5}\spadcommand{numeric x\free{x }} -\end{paste}\end{patch} - -\begin{patch}{RationalNumberPagePatch4} -\begin{paste}{RationalNumberPageFull4}{RationalNumberPageEmpty4} -\pastebutton{RationalNumberPageFull4}{\hidepaste} -\tab{5}\spadcommand{numer(x)\free{x }} -\indentrel{3}\begin{verbatim} - (4) 104348 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RationalNumberPageEmpty4} -\begin{paste}{RationalNumberPageEmpty4}{RationalNumberPagePatch4} -\pastebutton{RationalNumberPageEmpty4}{\showpaste} -\tab{5}\spadcommand{numer(x)\free{x }} -\end{paste}\end{patch} - -\begin{patch}{RationalNumberPagePatch5} -\begin{paste}{RationalNumberPageFull5}{RationalNumberPageEmpty5} -\pastebutton{RationalNumberPageFull5}{\hidepaste} -\tab{5}\spadcommand{denom(x)\free{x }} -\indentrel{3}\begin{verbatim} - (5) 33215 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RationalNumberPageEmpty5} -\begin{paste}{RationalNumberPageEmpty5}{RationalNumberPagePatch5} -\pastebutton{RationalNumberPageEmpty5}{\showpaste} -\tab{5}\spadcommand{denom(x)\free{x }} -\end{paste}\end{patch} - -\begin{patch}{RationalNumberPagePatch6} -\begin{paste}{RationalNumberPageFull6}{RationalNumberPageEmpty6} -\pastebutton{RationalNumberPageFull6}{\hidepaste} -\tab{5}\spadcommand{factor(numer x) / factor(denom x)\free{x }} -\indentrel{3}\begin{verbatim} - 2 - 2 19 1373 - (6) ÄÄÄÄÄÄÄÄÄ - 5 7 13 73 - Type: Fraction Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RationalNumberPageEmpty6} -\begin{paste}{RationalNumberPageEmpty6}{RationalNumberPagePatch6} -\pastebutton{RationalNumberPageEmpty6}{\showpaste} -\tab{5}\spadcommand{factor(numer x) / factor(denom x)\free{x }} -\end{paste}\end{patch} - diff --git a/books/pages/oct.pht b/books/pages/oct.pht deleted file mode 100644 index e29fb1b..0000000 --- a/books/pages/oct.pht +++ /dev/null @@ -1,333 +0,0 @@ -\begin{patch}{OctonionXmpPagePatch1} -\begin{paste}{OctonionXmpPageFull1}{OctonionXmpPageEmpty1} -\pastebutton{OctonionXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{oci1 := octon(1,2,3,4,5,6,7,8)\bound{oci1 }} -\indentrel{3}\begin{verbatim} - (1) 1 + 2i + 3j + 4k + 5E + 6I + 7J + 8K - Type: Octonion Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPageEmpty1} -\begin{paste}{OctonionXmpPageEmpty1}{OctonionXmpPagePatch1} -\pastebutton{OctonionXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{oci1 := octon(1,2,3,4,5,6,7,8)\bound{oci1 }} -\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPagePatch2} -\begin{paste}{OctonionXmpPageFull2}{OctonionXmpPageEmpty2} -\pastebutton{OctonionXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{oci2 := octon(7,2,3,-4,5,6,-7,0)\bound{oci2 }} -\indentrel{3}\begin{verbatim} - (2) 7 + 2i + 3j - 4k + 5E + 6I - 7J - Type: Octonion Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPageEmpty2} -\begin{paste}{OctonionXmpPageEmpty2}{OctonionXmpPagePatch2} -\pastebutton{OctonionXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{oci2 := octon(7,2,3,-4,5,6,-7,0)\bound{oci2 }} -\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPagePatch3} -\begin{paste}{OctonionXmpPageFull3}{OctonionXmpPageEmpty3} -\pastebutton{OctonionXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{oci3 := octon(quatern(-7,-12,3,-10), quatern(5,6,9,0))\bound{oci3 }} -\indentrel{3}\begin{verbatim} - (3) - 7 - 12i + 3j - 10k + 5E + 6I + 9J - Type: Octonion Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPageEmpty3} -\begin{paste}{OctonionXmpPageEmpty3}{OctonionXmpPagePatch3} -\pastebutton{OctonionXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{oci3 := octon(quatern(-7,-12,3,-10), quatern(5,6,9,0))\bound{oci3 }} -\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPagePatch4} -\begin{paste}{OctonionXmpPageFull4}{OctonionXmpPageEmpty4} -\pastebutton{OctonionXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{(oci1 * oci2) * oci3 - oci1 * (oci2 * oci3)\free{oci1 oci2 oci3 }} -\indentrel{3}\begin{verbatim} - (4) - 2696i - 2928j - 4072k + 16E - 1192I + 832J + 2616K - Type: Octonion Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPageEmpty4} -\begin{paste}{OctonionXmpPageEmpty4}{OctonionXmpPagePatch4} -\pastebutton{OctonionXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{(oci1 * oci2) * oci3 - oci1 * (oci2 * oci3)\free{oci1 oci2 oci3 }} -\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPagePatch5} -\begin{paste}{OctonionXmpPageFull5}{OctonionXmpPageEmpty5} -\pastebutton{OctonionXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{[real oci1, imagi oci1, imagj oci1, imagk oci1, imagE oci1, imagI oci1, imagJ oci1, imagK oci1]\free{oci1 }} -\indentrel{3}\begin{verbatim} - (5) [1,2,3,4,5,6,7,8] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPageEmpty5} -\begin{paste}{OctonionXmpPageEmpty5}{OctonionXmpPagePatch5} -\pastebutton{OctonionXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{[real oci1, imagi oci1, imagj oci1, imagk oci1, imagE oci1, imagI oci1, imagJ oci1, imagK oci1]\free{oci1 }} -\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPagePatch6} -\begin{paste}{OctonionXmpPageFull6}{OctonionXmpPageEmpty6} -\pastebutton{OctonionXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{q : Quaternion Polynomial Integer := quatern(q1, qi, qj, qk)\bound{q }} -\indentrel{3}\begin{verbatim} - (6) q1 + qi i + qj j + qk k - Type: Quaternion Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPageEmpty6} -\begin{paste}{OctonionXmpPageEmpty6}{OctonionXmpPagePatch6} -\pastebutton{OctonionXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{q : Quaternion Polynomial Integer := quatern(q1, qi, qj, qk)\bound{q }} -\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPagePatch7} -\begin{paste}{OctonionXmpPageFull7}{OctonionXmpPageEmpty7} -\pastebutton{OctonionXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{E : Octonion Polynomial Integer:= octon(0,0,0,0,1,0,0,0)\bound{E }} -\indentrel{3}\begin{verbatim} - (7) E - Type: Octonion Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPageEmpty7} -\begin{paste}{OctonionXmpPageEmpty7}{OctonionXmpPagePatch7} -\pastebutton{OctonionXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{E : Octonion Polynomial Integer:= octon(0,0,0,0,1,0,0,0)\bound{E }} -\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPagePatch8} -\begin{paste}{OctonionXmpPageFull8}{OctonionXmpPageEmpty8} -\pastebutton{OctonionXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{q * E\free{q E }} -\indentrel{3}\begin{verbatim} - (8) q1 E + qi I + qj J + qk K - Type: Octonion Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPageEmpty8} -\begin{paste}{OctonionXmpPageEmpty8}{OctonionXmpPagePatch8} -\pastebutton{OctonionXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{q * E\free{q E }} -\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPagePatch9} -\begin{paste}{OctonionXmpPageFull9}{OctonionXmpPageEmpty9} -\pastebutton{OctonionXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{E * q\free{E q }} -\indentrel{3}\begin{verbatim} - (9) q1 E - qi I - qj J - qk K - Type: Octonion Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPageEmpty9} -\begin{paste}{OctonionXmpPageEmpty9}{OctonionXmpPagePatch9} -\pastebutton{OctonionXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{E * q\free{E q }} -\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPagePatch10} -\begin{paste}{OctonionXmpPageFull10}{OctonionXmpPageEmpty10} -\pastebutton{OctonionXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{q * 1$(Octonion Polynomial Integer)\free{q }} -\indentrel{3}\begin{verbatim} - (10) q1 + qi i + qj j + qk k - Type: Octonion Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPageEmpty10} -\begin{paste}{OctonionXmpPageEmpty10}{OctonionXmpPagePatch10} -\pastebutton{OctonionXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{q * 1$(Octonion Polynomial Integer)\free{q }} -\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPagePatch11} -\begin{paste}{OctonionXmpPageFull11}{OctonionXmpPageEmpty11} -\pastebutton{OctonionXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{1$(Octonion Polynomial Integer) * q\free{q }} -\indentrel{3}\begin{verbatim} - (11) q1 + qi i + qj j + qk k - Type: Octonion Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPageEmpty11} -\begin{paste}{OctonionXmpPageEmpty11}{OctonionXmpPagePatch11} -\pastebutton{OctonionXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{1$(Octonion Polynomial Integer) * q\free{q }} -\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPagePatch12} -\begin{paste}{OctonionXmpPageFull12}{OctonionXmpPageEmpty12} -\pastebutton{OctonionXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{o : Octonion Polynomial Integer := octon(o1, oi, oj, ok, oE, oI, oJ, oK)\bound{o }} -\indentrel{3}\begin{verbatim} - (12) - o1 + oi i + oj j + ok k + oE E + oI I + oJ J + oK K - Type: Octonion Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPageEmpty12} -\begin{paste}{OctonionXmpPageEmpty12}{OctonionXmpPagePatch12} -\pastebutton{OctonionXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{o : Octonion Polynomial Integer := octon(o1, oi, oj, ok, oE, oI, oJ, oK)\bound{o }} -\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPagePatch13} -\begin{paste}{OctonionXmpPageFull13}{OctonionXmpPageEmpty13} -\pastebutton{OctonionXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{norm o\free{o }} -\indentrel{3}\begin{verbatim} - 2 2 2 2 2 2 2 2 - (13) ok + oj + oi + oK + oJ + oI + oE + o1 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPageEmpty13} -\begin{paste}{OctonionXmpPageEmpty13}{OctonionXmpPagePatch13} -\pastebutton{OctonionXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{norm o\free{o }} -\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPagePatch14} -\begin{paste}{OctonionXmpPageFull14}{OctonionXmpPageEmpty14} -\pastebutton{OctonionXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{p : Octonion Polynomial Integer := octon(p1, pi, pj, pk, pE, pI, pJ, pK)\bound{p }} -\indentrel{3}\begin{verbatim} - (14) - p1 + pi i + pj j + pk k + pE E + pI I + pJ J + pK K - Type: Octonion Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPageEmpty14} -\begin{paste}{OctonionXmpPageEmpty14}{OctonionXmpPagePatch14} -\pastebutton{OctonionXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{p : Octonion Polynomial Integer := octon(p1, pi, pj, pk, pE, pI, pJ, pK)\bound{p }} -\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPagePatch15} -\begin{paste}{OctonionXmpPageFull15}{OctonionXmpPageEmpty15} -\pastebutton{OctonionXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{norm(o*p)-norm(p)*norm(p)\free{o p }} -\indentrel{3}\begin{verbatim} - (15) - 4 - - pk - + - 2 2 2 2 2 2 2 - - 2pj - 2pi - 2pK - 2pJ - 2pI - 2pE - 2p1 - + - 2 2 2 2 2 2 2 2 - ok + oj + oi + oK + oJ + oI + oE + o1 - * - 2 - pk - + - 4 - - pj - + - 2 2 2 2 2 2 2 - - 2pi - 2pK - 2pJ - 2pI - 2pE - 2p1 + ok - + - 2 2 2 2 2 2 2 - oj + oi + oK + oJ + oI + oE + o1 - * - 2 - pj - + - 4 - - pi - + - 2 2 2 2 2 2 2 - - 2pK - 2pJ - 2pI - 2pE - 2p1 + ok + oj - + - 2 2 2 2 2 2 - oi + oK + oJ + oI + oE + o1 - * - 2 - pi - + - 4 - - pK - + - 2 2 2 2 2 2 2 - - 2pJ - 2pI - 2pE - 2p1 + ok + oj + oi - + - 2 2 2 2 2 - oK + oJ + oI + oE + o1 - * - 2 - pK - + - 4 - - pJ - + - 2 2 2 2 2 2 2 - - 2pI - 2pE - 2p1 + ok + oj + oi + oK - + - 2 2 2 2 - oJ + oI + oE + o1 - * - 2 - pJ - + - 4 - - pI - + - 2 2 2 2 2 2 2 2 - - 2pE - 2p1 + ok + oj + oi + oK + oJ + oI - + - 2 2 - oE + o1 - * - 2 - pI - + - 4 - - pE - + - 2 2 2 2 2 2 2 2 - - 2p1 + ok + oj + oi + oK + oJ + oI + oE - + - 2 - o1 - * - 2 - pE - + - 4 - - p1 - + - 2 2 2 2 2 2 2 2 2 - (ok + oj + oi + oK + oJ + oI + oE + o1 )p1 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OctonionXmpPageEmpty15} -\begin{paste}{OctonionXmpPageEmpty15}{OctonionXmpPagePatch15} -\pastebutton{OctonionXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{norm(o*p)-norm(p)*norm(p)\free{o p }} -\end{paste}\end{patch} - diff --git a/books/pages/odpol.pht b/books/pages/odpol.pht deleted file mode 100644 index 2c37bab..0000000 --- a/books/pages/odpol.pht +++ /dev/null @@ -1,626 +0,0 @@ -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch1} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull1}{OrderlyDifferentialPolynomialXmpPageEmpty1} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{dpol:= ODPOL(FRAC INT)\bound{dpol }} -\indentrel{3}\begin{verbatim} - (1) OrderlyDifferentialPolynomial Fraction Integer - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty1} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty1}{OrderlyDifferentialPolynomialXmpPagePatch1} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{dpol:= ODPOL(FRAC INT)\bound{dpol }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch2} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull2}{OrderlyDifferentialPolynomialXmpPageEmpty2} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{w := makeVariable('w)$dpol\free{dpol }\bound{w }} -\indentrel{3}\begin{verbatim} - (2) theMap(DPOLCAT-;makeVariable;AM;17!0,62) -Type: (NonNegativeInteger -> OrderlyDifferentialPolynomial Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty2} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty2}{OrderlyDifferentialPolynomialXmpPagePatch2} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{w := makeVariable('w)$dpol\free{dpol }\bound{w }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch3} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull3}{OrderlyDifferentialPolynomialXmpPageEmpty3} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{z := makeVariable('z)$dpol\free{dpol }\bound{z }} -\indentrel{3}\begin{verbatim} - (3) theMap(DPOLCAT-;makeVariable;AM;17!0,187) -Type: (NonNegativeInteger -> OrderlyDifferentialPolynomial Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty3} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty3}{OrderlyDifferentialPolynomialXmpPagePatch3} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{z := makeVariable('z)$dpol\free{dpol }\bound{z }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch4} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull4}{OrderlyDifferentialPolynomialXmpPageEmpty4} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{w.5\free{w }} -\indentrel{3}\begin{verbatim} - (4) w - 5 - Type: OrderlyDifferentialPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty4} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty4}{OrderlyDifferentialPolynomialXmpPagePatch4} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{w.5\free{w }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch5} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull5}{OrderlyDifferentialPolynomialXmpPageEmpty5} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{w 0\free{w }} -\indentrel{3}\begin{verbatim} - (5) w - Type: OrderlyDifferentialPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty5} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty5}{OrderlyDifferentialPolynomialXmpPagePatch5} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{w 0\free{w }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch6} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull6}{OrderlyDifferentialPolynomialXmpPageEmpty6} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{[z.i for i in 1..5]\free{z }} -\indentrel{3}\begin{verbatim} - (6) [z ,z ,z ,z ,z ] - 1 2 3 4 5 -Type: List OrderlyDifferentialPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty6} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty6}{OrderlyDifferentialPolynomialXmpPagePatch6} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{[z.i for i in 1..5]\free{z }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch7} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull7}{OrderlyDifferentialPolynomialXmpPageEmpty7} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{f:= w.4 - w.1 * w.1 * z.3\free{w }\free{z }\bound{f }} -\indentrel{3}\begin{verbatim} - 2 - (7) w - w z - 4 1 3 - Type: OrderlyDifferentialPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty7} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty7}{OrderlyDifferentialPolynomialXmpPagePatch7} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{f:= w.4 - w.1 * w.1 * z.3\free{w }\free{z }\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch8} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull8}{OrderlyDifferentialPolynomialXmpPageEmpty8} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{g:=(z.1)**3 * (z.2)**2 - w.2\free{z }\free{w }\bound{g }} -\indentrel{3}\begin{verbatim} - 3 2 - (8) z z - w - 1 2 2 - Type: OrderlyDifferentialPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty8} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty8}{OrderlyDifferentialPolynomialXmpPagePatch8} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{g:=(z.1)**3 * (z.2)**2 - w.2\free{z }\free{w }\bound{g }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch9} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull9}{OrderlyDifferentialPolynomialXmpPageEmpty9} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{D(f)\free{f }} -\indentrel{3}\begin{verbatim} - 2 - (9) w - w z - 2w w z - 5 1 4 1 2 3 - Type: OrderlyDifferentialPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty9} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty9}{OrderlyDifferentialPolynomialXmpPagePatch9} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{D(f)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch10} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull10}{OrderlyDifferentialPolynomialXmpPageEmpty10} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{D(f,4)\free{f }} -\indentrel{3}\begin{verbatim} - (10) - 2 2 - w - w z - 8w w z + (- 12w w - 12w )z - 2w z w - 8 1 7 1 2 6 1 3 2 5 1 3 5 - + - 2 - (- 8w w - 24w w )z - 8w z w - 6w z - 1 4 2 3 4 2 3 4 3 3 - Type: OrderlyDifferentialPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty10} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty10}{OrderlyDifferentialPolynomialXmpPagePatch10} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{D(f,4)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch11} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull11}{OrderlyDifferentialPolynomialXmpPageEmpty11} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{df:=makeVariable(f)$dpol\free{f }\bound{df }} -\indentrel{3}\begin{verbatim} - (11) theMap(DPOLCAT-;makeVariable;AM;17!0,488) -Type: (NonNegativeInteger -> OrderlyDifferentialPolynomial Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty11} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty11}{OrderlyDifferentialPolynomialXmpPagePatch11} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{df:=makeVariable(f)$dpol\free{f }\bound{df }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch12} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull12}{OrderlyDifferentialPolynomialXmpPageEmpty12} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{df.4\free{df }} -\indentrel{3}\begin{verbatim} - (12) - 2 2 - w - w z - 8w w z + (- 12w w - 12w )z - 2w z w - 8 1 7 1 2 6 1 3 2 5 1 3 5 - + - 2 - (- 8w w - 24w w )z - 8w z w - 6w z - 1 4 2 3 4 2 3 4 3 3 - Type: OrderlyDifferentialPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty12} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty12}{OrderlyDifferentialPolynomialXmpPagePatch12} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{df.4\free{df }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch13} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull13}{OrderlyDifferentialPolynomialXmpPageEmpty13} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{order(g)\free{g }} -\indentrel{3}\begin{verbatim} - (13) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty13} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty13}{OrderlyDifferentialPolynomialXmpPagePatch13} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{order(g)\free{g }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch14} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull14}{OrderlyDifferentialPolynomialXmpPageEmpty14} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{order(g, 'w)\free{g }} -\indentrel{3}\begin{verbatim} - (14) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty14} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty14}{OrderlyDifferentialPolynomialXmpPagePatch14} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{order(g, 'w)\free{g }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch15} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull15}{OrderlyDifferentialPolynomialXmpPageEmpty15} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{differentialVariables(g)\free{g }} -\indentrel{3}\begin{verbatim} - (15) [z,w] - Type: List Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty15} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty15}{OrderlyDifferentialPolynomialXmpPagePatch15} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{differentialVariables(g)\free{g }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch16} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull16}{OrderlyDifferentialPolynomialXmpPageEmpty16} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{degree(g)\free{g }} -\indentrel{3}\begin{verbatim} - 2 3 - (16) z z - 2 1 -Type: IndexedExponents OrderlyDifferentialVariable Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty16} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty16}{OrderlyDifferentialPolynomialXmpPagePatch16} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{degree(g)\free{g }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch17} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull17}{OrderlyDifferentialPolynomialXmpPageEmpty17} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{degree(g, 'w)\free{g }} -\indentrel{3}\begin{verbatim} - (17) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty17} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty17}{OrderlyDifferentialPolynomialXmpPagePatch17} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{degree(g, 'w)\free{g }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch18} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull18}{OrderlyDifferentialPolynomialXmpPageEmpty18} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{weights(g)\free{g }} -\indentrel{3}\begin{verbatim} - (18) [7,2] - Type: List NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty18} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty18}{OrderlyDifferentialPolynomialXmpPagePatch18} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{weights(g)\free{g }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch19} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull19}{OrderlyDifferentialPolynomialXmpPageEmpty19} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{weights(g,'w)\free{g }} -\indentrel{3}\begin{verbatim} - (19) [2] - Type: List NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty19} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty19}{OrderlyDifferentialPolynomialXmpPagePatch19} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{weights(g,'w)\free{g }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch20} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull20}{OrderlyDifferentialPolynomialXmpPageEmpty20} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{weight(g)\free{g }} -\indentrel{3}\begin{verbatim} - (20) 7 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty20} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty20}{OrderlyDifferentialPolynomialXmpPagePatch20} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{weight(g)\free{g }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch21} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull21}{OrderlyDifferentialPolynomialXmpPageEmpty21} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull21}{\hidepaste} -\tab{5}\spadcommand{isobaric?(g)\free{g }} -\indentrel{3}\begin{verbatim} - (21) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty21} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty21}{OrderlyDifferentialPolynomialXmpPagePatch21} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty21}{\showpaste} -\tab{5}\spadcommand{isobaric?(g)\free{g }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch22} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull22}{OrderlyDifferentialPolynomialXmpPageEmpty22} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull22}{\hidepaste} -\tab{5}\spadcommand{eval(g,['w::Symbol],[f])\free{f }\free{g }} -\indentrel{3}\begin{verbatim} - (22) - 2 2 3 2 - - w + w z + 4w w z + (2w w + 2w )z + z z - 6 1 5 1 2 4 1 3 2 3 1 2 - Type: OrderlyDifferentialPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty22} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty22}{OrderlyDifferentialPolynomialXmpPagePatch22} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty22}{\showpaste} -\tab{5}\spadcommand{eval(g,['w::Symbol],[f])\free{f }\free{g }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch23} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull23}{OrderlyDifferentialPolynomialXmpPageEmpty23} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull23}{\hidepaste} -\tab{5}\spadcommand{eval(g,variables(w.0),[f])\free{f }\free{g }} -\indentrel{3}\begin{verbatim} - 3 2 - (23) z z - w - 1 2 2 - Type: OrderlyDifferentialPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty23} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty23}{OrderlyDifferentialPolynomialXmpPagePatch23} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty23}{\showpaste} -\tab{5}\spadcommand{eval(g,variables(w.0),[f])\free{f }\free{g }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch24} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull24}{OrderlyDifferentialPolynomialXmpPageEmpty24} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull24}{\hidepaste} -\tab{5}\spadcommand{monomials(g)\free{g }} -\indentrel{3}\begin{verbatim} - 3 2 - (24) [z z ,- w ] - 1 2 2 -Type: List OrderlyDifferentialPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty24} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty24}{OrderlyDifferentialPolynomialXmpPagePatch24} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty24}{\showpaste} -\tab{5}\spadcommand{monomials(g)\free{g }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch25} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull25}{OrderlyDifferentialPolynomialXmpPageEmpty25} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull25}{\hidepaste} -\tab{5}\spadcommand{variables(g)\free{g }} -\indentrel{3}\begin{verbatim} - (25) [z ,w ,z ] - 2 2 1 - Type: List OrderlyDifferentialVariable Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty25} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty25}{OrderlyDifferentialPolynomialXmpPagePatch25} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty25}{\showpaste} -\tab{5}\spadcommand{variables(g)\free{g }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch26} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull26}{OrderlyDifferentialPolynomialXmpPageEmpty26} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull26}{\hidepaste} -\tab{5}\spadcommand{gcd(f,g)\free{f }\free{g }} -\indentrel{3}\begin{verbatim} - (26) 1 - Type: OrderlyDifferentialPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty26} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty26}{OrderlyDifferentialPolynomialXmpPagePatch26} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty26}{\showpaste} -\tab{5}\spadcommand{gcd(f,g)\free{f }\free{g }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch27} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull27}{OrderlyDifferentialPolynomialXmpPageEmpty27} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull27}{\hidepaste} -\tab{5}\spadcommand{groebner([f,g])\free{f }\free{g }} -\indentrel{3}\begin{verbatim} - 2 3 2 - (27) [w - w z ,z z - w ] - 4 1 3 1 2 2 -Type: List OrderlyDifferentialPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty27} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty27}{OrderlyDifferentialPolynomialXmpPagePatch27} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty27}{\showpaste} -\tab{5}\spadcommand{groebner([f,g])\free{f }\free{g }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch28} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull28}{OrderlyDifferentialPolynomialXmpPageEmpty28} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull28}{\hidepaste} -\tab{5}\spadcommand{lg:=leader(g)\free{g }\bound{lg }} -\indentrel{3}\begin{verbatim} - (28) z - 2 - Type: OrderlyDifferentialVariable Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty28} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty28}{OrderlyDifferentialPolynomialXmpPagePatch28} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty28}{\showpaste} -\tab{5}\spadcommand{lg:=leader(g)\free{g }\bound{lg }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch29} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull29}{OrderlyDifferentialPolynomialXmpPageEmpty29} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull29}{\hidepaste} -\tab{5}\spadcommand{sg:=separant(g)\free{g }\bound{sg }} -\indentrel{3}\begin{verbatim} - 3 - (29) 2z z - 1 2 - Type: OrderlyDifferentialPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty29} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty29}{OrderlyDifferentialPolynomialXmpPagePatch29} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty29}{\showpaste} -\tab{5}\spadcommand{sg:=separant(g)\free{g }\bound{sg }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch30} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull30}{OrderlyDifferentialPolynomialXmpPageEmpty30} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull30}{\hidepaste} -\tab{5}\spadcommand{ig:=initial(g)\free{g }\bound{ig }} -\indentrel{3}\begin{verbatim} - 3 - (30) z - 1 - Type: OrderlyDifferentialPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty30} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty30}{OrderlyDifferentialPolynomialXmpPagePatch30} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty30}{\showpaste} -\tab{5}\spadcommand{ig:=initial(g)\free{g }\bound{ig }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch31} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull31}{OrderlyDifferentialPolynomialXmpPageEmpty31} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull31}{\hidepaste} -\tab{5}\spadcommand{g1 := D g\free{g }\bound{g1 }} -\indentrel{3}\begin{verbatim} - 3 2 3 - (31) 2z z z - w + 3z z - 1 2 3 3 1 2 - Type: OrderlyDifferentialPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty31} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty31}{OrderlyDifferentialPolynomialXmpPagePatch31} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty31}{\showpaste} -\tab{5}\spadcommand{g1 := D g\free{g }\bound{g1 }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch32} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull32}{OrderlyDifferentialPolynomialXmpPageEmpty32} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull32}{\hidepaste} -\tab{5}\spadcommand{lg1:= leader g1\free{g1 }\bound{lg1 }} -\indentrel{3}\begin{verbatim} - (32) z - 3 - Type: OrderlyDifferentialVariable Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty32} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty32}{OrderlyDifferentialPolynomialXmpPagePatch32} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty32}{\showpaste} -\tab{5}\spadcommand{lg1:= leader g1\free{g1 }\bound{lg1 }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch33} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull33}{OrderlyDifferentialPolynomialXmpPageEmpty33} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull33}{\hidepaste} -\tab{5}\spadcommand{pdf:=D(f, lg1)\free{f }\free{lg1 }\bound{pdf }} -\indentrel{3}\begin{verbatim} - 2 - (33) - w - 1 - Type: OrderlyDifferentialPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty33} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty33}{OrderlyDifferentialPolynomialXmpPagePatch33} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty33}{\showpaste} -\tab{5}\spadcommand{pdf:=D(f, lg1)\free{f }\free{lg1 }\bound{pdf }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch34} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull34}{OrderlyDifferentialPolynomialXmpPageEmpty34} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull34}{\hidepaste} -\tab{5}\spadcommand{prf:=sg * f- pdf * g1\free{f }\free{sg }\free{pdf }\free{g1 }\bound{prf }} -\indentrel{3}\begin{verbatim} - 3 2 2 2 3 - (34) 2z z w - w w + 3w z z - 1 2 4 1 3 1 1 2 - Type: OrderlyDifferentialPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty34} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty34}{OrderlyDifferentialPolynomialXmpPagePatch34} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty34}{\showpaste} -\tab{5}\spadcommand{prf:=sg * f- pdf * g1\free{f }\free{sg }\free{pdf }\free{g1 }\bound{prf }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch35} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull35}{OrderlyDifferentialPolynomialXmpPageEmpty35} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull35}{\hidepaste} -\tab{5}\spadcommand{lcf:=leadingCoefficient univariate(prf, lg)\free{prf }\free{lg }\bound{lcf }} -\indentrel{3}\begin{verbatim} - 2 2 - (35) 3w z - 1 1 - Type: OrderlyDifferentialPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty35} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty35}{OrderlyDifferentialPolynomialXmpPagePatch35} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty35}{\showpaste} -\tab{5}\spadcommand{lcf:=leadingCoefficient univariate(prf, lg)\free{prf }\free{lg }\bound{lcf }} -\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPagePatch36} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageFull36}{OrderlyDifferentialPolynomialXmpPageEmpty36} -\pastebutton{OrderlyDifferentialPolynomialXmpPageFull36}{\hidepaste} -\tab{5}\spadcommand{ig * prf - lcf * g * lg\free{ig }\free{prf }\free{lcf }\free{g }\free{lg }} -\indentrel{3}\begin{verbatim} - 6 2 3 2 2 - (36) 2z z w - w z w + 3w z w z - 1 2 4 1 1 3 1 1 2 2 - Type: OrderlyDifferentialPolynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderlyDifferentialPolynomialXmpPageEmpty36} -\begin{paste}{OrderlyDifferentialPolynomialXmpPageEmpty36}{OrderlyDifferentialPolynomialXmpPagePatch36} -\pastebutton{OrderlyDifferentialPolynomialXmpPageEmpty36}{\showpaste} -\tab{5}\spadcommand{ig * prf - lcf * g * lg\free{ig }\free{prf }\free{lcf }\free{g }\free{lg }} -\end{paste}\end{patch} - diff --git a/books/pages/op.pht b/books/pages/op.pht deleted file mode 100644 index 4b55386..0000000 --- a/books/pages/op.pht +++ /dev/null @@ -1,373 +0,0 @@ -\begin{patch}{OperatorXmpPagePatch1} -\begin{paste}{OperatorXmpPageFull1}{OperatorXmpPageEmpty1} -\pastebutton{OperatorXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{R := SQMATRIX(2, INT)\bound{r }} -\indentrel{3}\begin{verbatim} - (1) SquareMatrix(2,Integer) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPageEmpty1} -\begin{paste}{OperatorXmpPageEmpty1}{OperatorXmpPagePatch1} -\pastebutton{OperatorXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{R := SQMATRIX(2, INT)\bound{r }} -\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPagePatch2} -\begin{paste}{OperatorXmpPageFull2}{OperatorXmpPageEmpty2} -\pastebutton{OperatorXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{t := operator("tilde") :: OP(R)\free{r }\bound{t }} -\indentrel{3}\begin{verbatim} - (2) tilde - Type: Operator SquareMatrix(2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPageEmpty2} -\begin{paste}{OperatorXmpPageEmpty2}{OperatorXmpPagePatch2} -\pastebutton{OperatorXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{t := operator("tilde") :: OP(R)\free{r }\bound{t }} -\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPagePatch3} -\begin{paste}{OperatorXmpPageFull3}{OperatorXmpPageEmpty3} -\pastebutton{OperatorXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{)set expose add constructor Operator\free{t }\bound{expose }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPageEmpty3} -\begin{paste}{OperatorXmpPageEmpty3}{OperatorXmpPagePatch3} -\pastebutton{OperatorXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{)set expose add constructor Operator\free{t }\bound{expose }} -\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPagePatch4} -\begin{paste}{OperatorXmpPageFull4}{OperatorXmpPageEmpty4} -\pastebutton{OperatorXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{evaluate(t, m +-> transpose m)\free{expose }\free{t }\bound{evt }} -\indentrel{3}\begin{verbatim} - (3) tilde - Type: Operator SquareMatrix(2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPageEmpty4} -\begin{paste}{OperatorXmpPageEmpty4}{OperatorXmpPagePatch4} -\pastebutton{OperatorXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{evaluate(t, m +-> transpose m)\free{expose }\free{t }\bound{evt }} -\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPagePatch5} -\begin{paste}{OperatorXmpPageFull5}{OperatorXmpPageEmpty5} -\pastebutton{OperatorXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{s : R := matrix [[0, 1], [1, 0]]\bound{s }} -\indentrel{3}\begin{verbatim} - Ú0 1¿ - (4) ³ ³ - À1 0Ù - Type: SquareMatrix(2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPageEmpty5} -\begin{paste}{OperatorXmpPageEmpty5}{OperatorXmpPagePatch5} -\pastebutton{OperatorXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{s : R := matrix [[0, 1], [1, 0]]\bound{s }} -\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPagePatch6} -\begin{paste}{OperatorXmpPageFull6}{OperatorXmpPageEmpty6} -\pastebutton{OperatorXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{rho := t * s\free{evt s }\bound{rho }} -\indentrel{3}\begin{verbatim} - Ú0 1¿ - (5) tilde³ ³ - À1 0Ù - Type: Operator SquareMatrix(2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPageEmpty6} -\begin{paste}{OperatorXmpPageEmpty6}{OperatorXmpPagePatch6} -\pastebutton{OperatorXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{rho := t * s\free{evt s }\bound{rho }} -\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPagePatch7} -\begin{paste}{OperatorXmpPageFull7}{OperatorXmpPageEmpty7} -\pastebutton{OperatorXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{z := rho**4 - 1\free{rho }\bound{z }} -\indentrel{3}\begin{verbatim} - (6) - Ú0 1¿ Ú0 1¿ Ú0 1¿ Ú0 1¿ - - 1 + tilde³ ³tilde³ ³tilde³ ³tilde³ ³ - À1 0Ù À1 0Ù À1 0Ù À1 0Ù - Type: Operator SquareMatrix(2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPageEmpty7} -\begin{paste}{OperatorXmpPageEmpty7}{OperatorXmpPagePatch7} -\pastebutton{OperatorXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{z := rho**4 - 1\free{rho }\bound{z }} -\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPagePatch8} -\begin{paste}{OperatorXmpPageFull8}{OperatorXmpPageEmpty8} -\pastebutton{OperatorXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{m:R := matrix [[1, 2], [3, 4]]\bound{m }} -\indentrel{3}\begin{verbatim} - Ú1 2¿ - (7) ³ ³ - À3 4Ù - Type: SquareMatrix(2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPageEmpty8} -\begin{paste}{OperatorXmpPageEmpty8}{OperatorXmpPagePatch8} -\pastebutton{OperatorXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{m:R := matrix [[1, 2], [3, 4]]\bound{m }} -\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPagePatch9} -\begin{paste}{OperatorXmpPageFull9}{OperatorXmpPageEmpty9} -\pastebutton{OperatorXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{z m\free{z m }} -\indentrel{3}\begin{verbatim} - Ú0 0¿ - (8) ³ ³ - À0 0Ù - Type: SquareMatrix(2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPageEmpty9} -\begin{paste}{OperatorXmpPageEmpty9}{OperatorXmpPagePatch9} -\pastebutton{OperatorXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{z m\free{z m }} -\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPagePatch10} -\begin{paste}{OperatorXmpPageFull10}{OperatorXmpPageEmpty10} -\pastebutton{OperatorXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{rho m\free{rho m }} -\indentrel{3}\begin{verbatim} - Ú3 1¿ - (9) ³ ³ - À4 2Ù - Type: SquareMatrix(2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPageEmpty10} -\begin{paste}{OperatorXmpPageEmpty10}{OperatorXmpPagePatch10} -\pastebutton{OperatorXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{rho m\free{rho m }} -\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPagePatch11} -\begin{paste}{OperatorXmpPageFull11}{OperatorXmpPageEmpty11} -\pastebutton{OperatorXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{rho rho m\free{rho m }} -\indentrel{3}\begin{verbatim} - Ú4 3¿ - (10) ³ ³ - À2 1Ù - Type: SquareMatrix(2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPageEmpty11} -\begin{paste}{OperatorXmpPageEmpty11}{OperatorXmpPagePatch11} -\pastebutton{OperatorXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{rho rho m\free{rho m }} -\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPagePatch12} -\begin{paste}{OperatorXmpPageFull12}{OperatorXmpPageEmpty12} -\pastebutton{OperatorXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{(rho**3) m\free{rho m }} -\indentrel{3}\begin{verbatim} - Ú2 4¿ - (11) ³ ³ - À1 3Ù - Type: SquareMatrix(2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPageEmpty12} -\begin{paste}{OperatorXmpPageEmpty12}{OperatorXmpPagePatch12} -\pastebutton{OperatorXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{(rho**3) m\free{rho m }} -\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPagePatch13} -\begin{paste}{OperatorXmpPageFull13}{OperatorXmpPageEmpty13} -\pastebutton{OperatorXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{b := t * s - s * t\free{s evt }\bound{b }} -\indentrel{3}\begin{verbatim} - Ú0 1¿ Ú0 1¿ - (12) - ³ ³tilde + tilde³ ³ - À1 0Ù À1 0Ù - Type: Operator SquareMatrix(2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPageEmpty13} -\begin{paste}{OperatorXmpPageEmpty13}{OperatorXmpPagePatch13} -\pastebutton{OperatorXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{b := t * s - s * t\free{s evt }\bound{b }} -\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPagePatch14} -\begin{paste}{OperatorXmpPageFull14}{OperatorXmpPageEmpty14} -\pastebutton{OperatorXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{b m\free{b m }} -\indentrel{3}\begin{verbatim} - Ú1 - 3¿ - (13) ³ ³ - À3 - 1Ù - Type: SquareMatrix(2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPageEmpty14} -\begin{paste}{OperatorXmpPageEmpty14}{OperatorXmpPagePatch14} -\pastebutton{OperatorXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{b m\free{b m }} -\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPagePatch15} -\begin{paste}{OperatorXmpPageFull15}{OperatorXmpPageEmpty15} -\pastebutton{OperatorXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{L n == - n = 0 => 1 - n = 1 => x - (2*n-1)/n * x * L(n-1) - (n-1)/n * L(n-2) -\bound{l }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPageEmpty15} -\begin{paste}{OperatorXmpPageEmpty15}{OperatorXmpPagePatch15} -\pastebutton{OperatorXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{L n == - n = 0 => 1 - n = 1 => x - (2*n-1)/n * x * L(n-1) - (n-1)/n * L(n-2) -\bound{l }} -\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPagePatch16} -\begin{paste}{OperatorXmpPageFull16}{OperatorXmpPageEmpty16} -\pastebutton{OperatorXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{dx := operator("D") :: OP(POLY FRAC INT)\bound{dx }} -\indentrel{3}\begin{verbatim} - (15) D - Type: Operator Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPageEmpty16} -\begin{paste}{OperatorXmpPageEmpty16}{OperatorXmpPagePatch16} -\pastebutton{OperatorXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{dx := operator("D") :: OP(POLY FRAC INT)\bound{dx }} -\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPagePatch17} -\begin{paste}{OperatorXmpPageFull17}{OperatorXmpPageEmpty17} -\pastebutton{OperatorXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{evaluate(dx, p +-> D(p, 'x))\free{dx }\bound{edx }} -\indentrel{3}\begin{verbatim} - (16) D - Type: Operator Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPageEmpty17} -\begin{paste}{OperatorXmpPageEmpty17}{OperatorXmpPagePatch17} -\pastebutton{OperatorXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{evaluate(dx, p +-> D(p, 'x))\free{dx }\bound{edx }} -\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPagePatch18} -\begin{paste}{OperatorXmpPageFull18}{OperatorXmpPageEmpty18} -\pastebutton{OperatorXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{E n == (1 - x**2) * dx**2 - 2 * x * dx + n*(n+1)\free{edx }\bound{E }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPageEmpty18} -\begin{paste}{OperatorXmpPageEmpty18}{OperatorXmpPagePatch18} -\pastebutton{OperatorXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{E n == (1 - x**2) * dx**2 - 2 * x * dx + n*(n+1)\free{edx }\bound{E }} -\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPagePatch19} -\begin{paste}{OperatorXmpPageFull19}{OperatorXmpPageEmpty19} -\pastebutton{OperatorXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{L 15\free{L }} -\indentrel{3}\begin{verbatim} - (18) - 9694845 15 35102025 13 50702925 11 - ÄÄÄÄÄÄÄ x - ÄÄÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄÄ x - 2048 2048 2048 - + - 37182145 9 14549535 7 2909907 5 255255 3 - - ÄÄÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄÄ x - ÄÄÄÄÄÄÄ x + ÄÄÄÄÄÄ x - 2048 2048 2048 2048 - + - 6435 - - ÄÄÄÄ x - 2048 - Type: Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPageEmpty19} -\begin{paste}{OperatorXmpPageEmpty19}{OperatorXmpPagePatch19} -\pastebutton{OperatorXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{L 15\free{L }} -\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPagePatch20} -\begin{paste}{OperatorXmpPageFull20}{OperatorXmpPageEmpty20} -\pastebutton{OperatorXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{E 15\free{E }} -\indentrel{3}\begin{verbatim} - 2 2 - (19) 240 - 2x D - (x - 1)D - Type: Operator Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPageEmpty20} -\begin{paste}{OperatorXmpPageEmpty20}{OperatorXmpPagePatch20} -\pastebutton{OperatorXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{E 15\free{E }} -\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPagePatch21} -\begin{paste}{OperatorXmpPageFull21}{OperatorXmpPageEmpty21} -\pastebutton{OperatorXmpPageFull21}{\hidepaste} -\tab{5}\spadcommand{(E 15)(L 15)\free{L E }} -\indentrel{3}\begin{verbatim} - (20) 0 - Type: Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OperatorXmpPageEmpty21} -\begin{paste}{OperatorXmpPageEmpty21}{OperatorXmpPagePatch21} -\pastebutton{OperatorXmpPageEmpty21}{\showpaste} -\tab{5}\spadcommand{(E 15)(L 15)\free{L E }} -\end{paste}\end{patch} - diff --git a/books/pages/ovar.pht b/books/pages/ovar.pht deleted file mode 100644 index fee0ca6..0000000 --- a/books/pages/ovar.pht +++ /dev/null @@ -1,80 +0,0 @@ -\begin{patch}{OrderedVariableListXmpPagePatch1} -\begin{paste}{OrderedVariableListXmpPageFull1}{OrderedVariableListXmpPageEmpty1} -\pastebutton{OrderedVariableListXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{ls:List Symbol:=['x,'a,'z]\bound{ls }} -\indentrel{3}\begin{verbatim} - (1) [x,a,z] - Type: List Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderedVariableListXmpPageEmpty1} -\begin{paste}{OrderedVariableListXmpPageEmpty1}{OrderedVariableListXmpPagePatch1} -\pastebutton{OrderedVariableListXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{ls:List Symbol:=['x,'a,'z]\bound{ls }} -\end{paste}\end{patch} - -\begin{patch}{OrderedVariableListXmpPagePatch2} -\begin{paste}{OrderedVariableListXmpPageFull2}{OrderedVariableListXmpPageEmpty2} -\pastebutton{OrderedVariableListXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{Z:=OVAR ls\bound{Z }\free{ls }} -\indentrel{3}\begin{verbatim} - (2) OrderedVariableList [x,a,z] - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderedVariableListXmpPageEmpty2} -\begin{paste}{OrderedVariableListXmpPageEmpty2}{OrderedVariableListXmpPagePatch2} -\pastebutton{OrderedVariableListXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{Z:=OVAR ls\bound{Z }\free{ls }} -\end{paste}\end{patch} - -\begin{patch}{OrderedVariableListXmpPagePatch3} -\begin{paste}{OrderedVariableListXmpPageFull3}{OrderedVariableListXmpPageEmpty3} -\pastebutton{OrderedVariableListXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{size()$Z\free{Z }} -\indentrel{3}\begin{verbatim} - (3) 3 - Type: NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderedVariableListXmpPageEmpty3} -\begin{paste}{OrderedVariableListXmpPageEmpty3}{OrderedVariableListXmpPagePatch3} -\pastebutton{OrderedVariableListXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{size()$Z\free{Z }} -\end{paste}\end{patch} - -\begin{patch}{OrderedVariableListXmpPagePatch4} -\begin{paste}{OrderedVariableListXmpPageFull4}{OrderedVariableListXmpPageEmpty4} -\pastebutton{OrderedVariableListXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{lv:=[index(i::PI)$Z for i in 1..size()$Z]\bound{lv }\free{Z }} -\indentrel{3}\begin{verbatim} - (4) [x,a,z] - Type: List OrderedVariableList [x,a,z] -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderedVariableListXmpPageEmpty4} -\begin{paste}{OrderedVariableListXmpPageEmpty4}{OrderedVariableListXmpPagePatch4} -\pastebutton{OrderedVariableListXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{lv:=[index(i::PI)$Z for i in 1..size()$Z]\bound{lv }\free{Z }} -\end{paste}\end{patch} - -\begin{patch}{OrderedVariableListXmpPagePatch5} -\begin{paste}{OrderedVariableListXmpPageFull5}{OrderedVariableListXmpPageEmpty5} -\pastebutton{OrderedVariableListXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{sorted?(>,lv)\free{lv }} -\indentrel{3}\begin{verbatim} - (5) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{OrderedVariableListXmpPageEmpty5} -\begin{paste}{OrderedVariableListXmpPageEmpty5}{OrderedVariableListXmpPagePatch5} -\pastebutton{OrderedVariableListXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{sorted?(>,lv)\free{lv }} -\end{paste}\end{patch} - diff --git a/books/pages/perman.pht b/books/pages/perman.pht deleted file mode 100644 index 684dd7f..0000000 --- a/books/pages/perman.pht +++ /dev/null @@ -1,59 +0,0 @@ -\begin{patch}{PermanentXmpPagePatch1} -\begin{paste}{PermanentXmpPageFull1}{PermanentXmpPageEmpty1} -\pastebutton{PermanentXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{kn n == - r : MATRIX INT := new(n,n,1) - for i in 1..n repeat - r.i.i := 0 - r -\bound{kn }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PermanentXmpPageEmpty1} -\begin{paste}{PermanentXmpPageEmpty1}{PermanentXmpPagePatch1} -\pastebutton{PermanentXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{kn n == - r : MATRIX INT := new(n,n,1) - for i in 1..n repeat - r.i.i := 0 - r -\bound{kn }} -\end{paste}\end{patch} - -\begin{patch}{PermanentXmpPagePatch2} -\begin{paste}{PermanentXmpPageFull2}{PermanentXmpPageEmpty2} -\pastebutton{PermanentXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{permanent(kn(5) :: SQMATRIX(5,INT))\free{kn }} -\indentrel{3}\begin{verbatim} - (2) 44 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PermanentXmpPageEmpty2} -\begin{paste}{PermanentXmpPageEmpty2}{PermanentXmpPagePatch2} -\pastebutton{PermanentXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{permanent(kn(5) :: SQMATRIX(5,INT))\free{kn }} -\end{paste}\end{patch} - -\begin{patch}{PermanentXmpPagePatch3} -\begin{paste}{PermanentXmpPageFull3}{PermanentXmpPageEmpty3} -\pastebutton{PermanentXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{[permanent(kn(n) :: SQMATRIX(n,INT)) for n in 1..13]\free{kn }} -\indentrel{3}\begin{verbatim} - (3) - [0, 1, 2, 9, 44, 265, 1854, 14833, 133496, 1334961, - 14684570, 176214841, 2290792932] - Type: List NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PermanentXmpPageEmpty3} -\begin{paste}{PermanentXmpPageEmpty3}{PermanentXmpPagePatch3} -\pastebutton{PermanentXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{[permanent(kn(n) :: SQMATRIX(n,INT)) for n in 1..13]\free{kn }} -\end{paste}\end{patch} - diff --git a/books/pages/pfr.pht b/books/pages/pfr.pht deleted file mode 100644 index 8933919..0000000 --- a/books/pages/pfr.pht +++ /dev/null @@ -1,204 +0,0 @@ -\begin{patch}{PartialFractionXmpPagePatch1} -\begin{paste}{PartialFractionXmpPageFull1}{PartialFractionXmpPageEmpty1} -\pastebutton{PartialFractionXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{partialFraction(1,factorial 10)\bound{prev1 }} -\indentrel{3}\begin{verbatim} - 159 23 12 1 - (1) ÄÄÄ - ÄÄ - ÄÄ + Ä - 8 4 2 7 - 2 3 5 - Type: PartialFraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PartialFractionXmpPageEmpty1} -\begin{paste}{PartialFractionXmpPageEmpty1}{PartialFractionXmpPagePatch1} -\pastebutton{PartialFractionXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{partialFraction(1,factorial 10)\bound{prev1 }} -\end{paste}\end{patch} - -\begin{patch}{PartialFractionXmpPagePatch2} -\begin{paste}{PartialFractionXmpPageFull2}{PartialFractionXmpPageEmpty2} -\pastebutton{PartialFractionXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{f := padicFraction(\%)\free{prev1 }\bound{f }} -\indentrel{3}\begin{verbatim} - (2) - 1 1 1 1 1 1 2 1 2 2 2 1 - Ä + ÄÄ + ÄÄ + ÄÄ + ÄÄ + ÄÄ - ÄÄ - ÄÄ - ÄÄ - Ä - ÄÄ + Ä - 2 4 5 6 7 8 2 3 4 5 2 7 - 2 2 2 2 2 3 3 3 5 - Type: PartialFraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PartialFractionXmpPageEmpty2} -\begin{paste}{PartialFractionXmpPageEmpty2}{PartialFractionXmpPagePatch2} -\pastebutton{PartialFractionXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{f := padicFraction(\%)\free{prev1 }\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{PartialFractionXmpPagePatch3} -\begin{paste}{PartialFractionXmpPageFull3}{PartialFractionXmpPageEmpty3} -\pastebutton{PartialFractionXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{compactFraction(f)\free{f }} -\indentrel{3}\begin{verbatim} - 159 23 12 1 - (3) ÄÄÄ - ÄÄ - ÄÄ + Ä - 8 4 2 7 - 2 3 5 - Type: PartialFraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PartialFractionXmpPageEmpty3} -\begin{paste}{PartialFractionXmpPageEmpty3}{PartialFractionXmpPagePatch3} -\pastebutton{PartialFractionXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{compactFraction(f)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{PartialFractionXmpPagePatch4} -\begin{paste}{PartialFractionXmpPageFull4}{PartialFractionXmpPageEmpty4} -\pastebutton{PartialFractionXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{numberOfFractionalTerms(f)\free{f }} -\indentrel{3}\begin{verbatim} - (4) 12 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PartialFractionXmpPageEmpty4} -\begin{paste}{PartialFractionXmpPageEmpty4}{PartialFractionXmpPagePatch4} -\pastebutton{PartialFractionXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{numberOfFractionalTerms(f)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{PartialFractionXmpPagePatch5} -\begin{paste}{PartialFractionXmpPageFull5}{PartialFractionXmpPageEmpty5} -\pastebutton{PartialFractionXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{nthFractionalTerm(f,3)\free{f }} -\indentrel{3}\begin{verbatim} - 1 - (5) ÄÄ - 5 - 2 - Type: PartialFraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PartialFractionXmpPageEmpty5} -\begin{paste}{PartialFractionXmpPageEmpty5}{PartialFractionXmpPagePatch5} -\pastebutton{PartialFractionXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{nthFractionalTerm(f,3)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{PartialFractionXmpPagePatch6} -\begin{paste}{PartialFractionXmpPageFull6}{PartialFractionXmpPageEmpty6} -\pastebutton{PartialFractionXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{partialFraction(1,- 13 + 14 * \%i)\bound{prev2 }} -\indentrel{3}\begin{verbatim} - 1 4 - (6) - ÄÄÄÄÄÄÄ + ÄÄÄÄÄÄÄ - 1 + 2%i 3 + 8%i - Type: PartialFraction Complex Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PartialFractionXmpPageEmpty6} -\begin{paste}{PartialFractionXmpPageEmpty6}{PartialFractionXmpPagePatch6} -\pastebutton{PartialFractionXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{partialFraction(1,- 13 + 14 * \%i)\bound{prev2 }} -\end{paste}\end{patch} - -\begin{patch}{PartialFractionXmpPagePatch7} -\begin{paste}{PartialFractionXmpPageFull7}{PartialFractionXmpPageEmpty7} -\pastebutton{PartialFractionXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{\% :: Fraction Complex Integer\free{prev2 }} -\indentrel{3}\begin{verbatim} - %i - (7) - ÄÄÄÄÄÄÄÄÄ - 14 + 13%i - Type: Fraction Complex Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PartialFractionXmpPageEmpty7} -\begin{paste}{PartialFractionXmpPageEmpty7}{PartialFractionXmpPagePatch7} -\pastebutton{PartialFractionXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{\% :: Fraction Complex Integer\free{prev2 }} -\end{paste}\end{patch} - -\begin{patch}{PartialFractionXmpPagePatch8} -\begin{paste}{PartialFractionXmpPageFull8}{PartialFractionXmpPageEmpty8} -\pastebutton{PartialFractionXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{u : FR UP(x, FRAC INT) := reduce(*,[primeFactor(x+i,i) for i in 1..4])\bound{u }} -\indentrel{3}\begin{verbatim} - 2 3 4 - (8) (x + 1)(x + 2) (x + 3) (x + 4) -Type: Factored UnivariatePolynomial(x,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PartialFractionXmpPageEmpty8} -\begin{paste}{PartialFractionXmpPageEmpty8}{PartialFractionXmpPagePatch8} -\pastebutton{PartialFractionXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{u : FR UP(x, FRAC INT) := reduce(*,[primeFactor(x+i,i) for i in 1..4])\bound{u }} -\end{paste}\end{patch} - -\begin{patch}{PartialFractionXmpPagePatch9} -\begin{paste}{PartialFractionXmpPageFull9}{PartialFractionXmpPageEmpty9} -\pastebutton{PartialFractionXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{partialFraction(1,u)\free{u }\bound{prev3 }} -\indentrel{3}\begin{verbatim} - (9) - 1 1 7 17 2 139 - ÄÄÄ Ä x + ÄÄ - ÄÄ x - 12x - ÄÄÄ - 648 4 16 8 8 - ÄÄÄÄÄ + ÄÄÄÄÄÄÄÄ + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - x + 1 2 3 - (x + 2) (x + 3) - + - 607 3 10115 2 391 44179 - ÄÄÄ x + ÄÄÄÄÄ x + ÄÄÄ x + ÄÄÄÄÄ - 324 432 4 324 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 4 - (x + 4) -Type: PartialFraction UnivariatePolynomial(x,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PartialFractionXmpPageEmpty9} -\begin{paste}{PartialFractionXmpPageEmpty9}{PartialFractionXmpPagePatch9} -\pastebutton{PartialFractionXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{partialFraction(1,u)\free{u }\bound{prev3 }} -\end{paste}\end{patch} - -\begin{patch}{PartialFractionXmpPagePatch10} -\begin{paste}{PartialFractionXmpPageFull10}{PartialFractionXmpPageEmpty10} -\pastebutton{PartialFractionXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{padicFraction \%\free{prev3 }} -\indentrel{3}\begin{verbatim} - (10) - 1 1 1 17 3 - ÄÄÄ Ä ÄÄ ÄÄ Ä - 648 4 16 8 4 - ÄÄÄÄÄ + ÄÄÄÄÄ - ÄÄÄÄÄÄÄÄ - ÄÄÄÄÄ + ÄÄÄÄÄÄÄÄ - x + 1 x + 2 2 x + 3 2 - (x + 2) (x + 3) - + - 1 607 403 13 1 - Ä ÄÄÄ ÄÄÄ ÄÄ ÄÄ - 2 324 432 36 12 - - ÄÄÄÄÄÄÄÄ + ÄÄÄÄÄ + ÄÄÄÄÄÄÄÄ + ÄÄÄÄÄÄÄÄ + ÄÄÄÄÄÄÄÄ - 3 x + 4 2 3 4 - (x + 3) (x + 4) (x + 4) (x + 4) -Type: PartialFraction UnivariatePolynomial(x,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PartialFractionXmpPageEmpty10} -\begin{paste}{PartialFractionXmpPageEmpty10}{PartialFractionXmpPagePatch10} -\pastebutton{PartialFractionXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{padicFraction \%\free{prev3 }} -\end{paste}\end{patch} - diff --git a/books/pages/poly.pht b/books/pages/poly.pht deleted file mode 100644 index 8a94c23..0000000 --- a/books/pages/poly.pht +++ /dev/null @@ -1,501 +0,0 @@ -\begin{patch}{PolynomialGCDPagePatch1} -\begin{paste}{PolynomialGCDPageFull1}{PolynomialGCDPageEmpty1} -\pastebutton{PolynomialGCDPageFull1}{\hidepaste} -\tab{5}\spadcommand{p := 3*x**8 + 2*x**7 + 6*x**2 + 7*x + 2\bound{p }} -\indentrel{3}\begin{verbatim} - 8 7 2 - (1) 3x + 2x + 6x + 7x + 2 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialGCDPageEmpty1} -\begin{paste}{PolynomialGCDPageEmpty1}{PolynomialGCDPagePatch1} -\pastebutton{PolynomialGCDPageEmpty1}{\showpaste} -\tab{5}\spadcommand{p := 3*x**8 + 2*x**7 + 6*x**2 + 7*x + 2\bound{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialGCDPagePatch2} -\begin{paste}{PolynomialGCDPageFull2}{PolynomialGCDPageEmpty2} -\pastebutton{PolynomialGCDPageFull2}{\hidepaste} -\tab{5}\spadcommand{q := 2*x**13 + 9*x**7 + 2*x**6 + 10*x + 5\bound{q }} -\indentrel{3}\begin{verbatim} - 13 7 6 - (2) 2x + 9x + 2x + 10x + 5 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialGCDPageEmpty2} -\begin{paste}{PolynomialGCDPageEmpty2}{PolynomialGCDPagePatch2} -\pastebutton{PolynomialGCDPageEmpty2}{\showpaste} -\tab{5}\spadcommand{q := 2*x**13 + 9*x**7 + 2*x**6 + 10*x + 5\bound{q }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialGCDPagePatch3} -\begin{paste}{PolynomialGCDPageFull3}{PolynomialGCDPageEmpty3} -\pastebutton{PolynomialGCDPageFull3}{\hidepaste} -\tab{5}\spadcommand{gcd(p,q)\free{p q }} -\indentrel{3}\begin{verbatim} - 7 - (3) x + 2x + 1 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialGCDPageEmpty3} -\begin{paste}{PolynomialGCDPageEmpty3}{PolynomialGCDPagePatch3} -\pastebutton{PolynomialGCDPageEmpty3}{\showpaste} -\tab{5}\spadcommand{gcd(p,q)\free{p q }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialGCDPagePatch4} -\begin{paste}{PolynomialGCDPageFull4}{PolynomialGCDPageEmpty4} -\pastebutton{PolynomialGCDPageFull4}{\hidepaste} -\tab{5}\spadcommand{resultant(p,q,x)\free{p q }} -\indentrel{3}\begin{verbatim} - (4) 0 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialGCDPageEmpty4} -\begin{paste}{PolynomialGCDPageEmpty4}{PolynomialGCDPagePatch4} -\pastebutton{PolynomialGCDPageEmpty4}{\showpaste} -\tab{5}\spadcommand{resultant(p,q,x)\free{p q }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialSubstitutionPagePatch1} -\begin{paste}{PolynomialSubstitutionPageFull1}{PolynomialSubstitutionPageEmpty1} -\pastebutton{PolynomialSubstitutionPageFull1}{\hidepaste} -\tab{5}\spadcommand{p := x**2 + y**2\bound{p }} -\indentrel{3}\begin{verbatim} - 2 2 - (1) y + x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialSubstitutionPageEmpty1} -\begin{paste}{PolynomialSubstitutionPageEmpty1}{PolynomialSubstitutionPagePatch1} -\pastebutton{PolynomialSubstitutionPageEmpty1}{\showpaste} -\tab{5}\spadcommand{p := x**2 + y**2\bound{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialSubstitutionPagePatch2} -\begin{paste}{PolynomialSubstitutionPageFull2}{PolynomialSubstitutionPageEmpty2} -\pastebutton{PolynomialSubstitutionPageFull2}{\hidepaste} -\tab{5}\spadcommand{eval(p,x=5)\free{p }} -\indentrel{3}\begin{verbatim} - 2 - (2) y + 25 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialSubstitutionPageEmpty2} -\begin{paste}{PolynomialSubstitutionPageEmpty2}{PolynomialSubstitutionPagePatch2} -\pastebutton{PolynomialSubstitutionPageEmpty2}{\showpaste} -\tab{5}\spadcommand{eval(p,x=5)\free{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialSubstitutionPagePatch3} -\begin{paste}{PolynomialSubstitutionPageFull3}{PolynomialSubstitutionPageEmpty3} -\pastebutton{PolynomialSubstitutionPageFull3}{\hidepaste} -\tab{5}\spadcommand{eval(p,[x = a + b,y = c + d])\free{p }} -\indentrel{3}\begin{verbatim} - 2 2 2 2 - (3) d + 2c d + c + b + 2a b + a - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialSubstitutionPageEmpty3} -\begin{paste}{PolynomialSubstitutionPageEmpty3}{PolynomialSubstitutionPagePatch3} -\pastebutton{PolynomialSubstitutionPageEmpty3}{\showpaste} -\tab{5}\spadcommand{eval(p,[x = a + b,y = c + d])\free{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialSubstitutionPagePatch4} -\begin{paste}{PolynomialSubstitutionPageFull4}{PolynomialSubstitutionPageEmpty4} -\pastebutton{PolynomialSubstitutionPageFull4}{\hidepaste} -\tab{5}\spadcommand{q := x**3 + 5*x - y**4\bound{q }} -\indentrel{3}\begin{verbatim} - 4 3 - (4) - y + x + 5x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialSubstitutionPageEmpty4} -\begin{paste}{PolynomialSubstitutionPageEmpty4}{PolynomialSubstitutionPagePatch4} -\pastebutton{PolynomialSubstitutionPageEmpty4}{\showpaste} -\tab{5}\spadcommand{q := x**3 + 5*x - y**4\bound{q }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialSubstitutionPagePatch5} -\begin{paste}{PolynomialSubstitutionPageFull5}{PolynomialSubstitutionPageEmpty5} -\pastebutton{PolynomialSubstitutionPageFull5}{\hidepaste} -\tab{5}\spadcommand{eval(q,[x=y,y=x])\free{q }} -\indentrel{3}\begin{verbatim} - 3 4 - (5) y + 5y - x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialSubstitutionPageEmpty5} -\begin{paste}{PolynomialSubstitutionPageEmpty5}{PolynomialSubstitutionPagePatch5} -\pastebutton{PolynomialSubstitutionPageEmpty5}{\showpaste} -\tab{5}\spadcommand{eval(q,[x=y,y=x])\free{q }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialSubstitutionPagePatch6} -\begin{paste}{PolynomialSubstitutionPageFull6}{PolynomialSubstitutionPageEmpty6} -\pastebutton{PolynomialSubstitutionPageFull6}{\hidepaste} -\tab{5}\spadcommand{px := eval(p, y = sin(2.0))\bound{px }\free{p }} -\indentrel{3}\begin{verbatim} - 2 - (6) x + 0.8268218104 3180595732 - Type: Polynomial Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialSubstitutionPageEmpty6} -\begin{paste}{PolynomialSubstitutionPageEmpty6}{PolynomialSubstitutionPagePatch6} -\pastebutton{PolynomialSubstitutionPageEmpty6}{\showpaste} -\tab{5}\spadcommand{px := eval(p, y = sin(2.0))\bound{px }\free{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialSubstitutionPagePatch7} -\begin{paste}{PolynomialSubstitutionPageFull7}{PolynomialSubstitutionPageEmpty7} -\pastebutton{PolynomialSubstitutionPageFull7}{\hidepaste} -\tab{5}\spadcommand{eval(px, x = cos(2.0))\free{px }} -\indentrel{3}\begin{verbatim} - (7) 1.0 - Type: Polynomial Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialSubstitutionPageEmpty7} -\begin{paste}{PolynomialSubstitutionPageEmpty7}{PolynomialSubstitutionPagePatch7} -\pastebutton{PolynomialSubstitutionPageEmpty7}{\showpaste} -\tab{5}\spadcommand{eval(px, x = cos(2.0))\free{px }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPagePatch1} -\begin{paste}{PolynomialBasicPageFull1}{PolynomialBasicPageEmpty1} -\pastebutton{PolynomialBasicPageFull1}{\hidepaste} -\tab{5}\spadcommand{p := a*x**2 + b*x*y + c*y**2\bound{p }} -\indentrel{3}\begin{verbatim} - 2 2 - (1) c y + b x y + a x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPageEmpty1} -\begin{paste}{PolynomialBasicPageEmpty1}{PolynomialBasicPagePatch1} -\pastebutton{PolynomialBasicPageEmpty1}{\showpaste} -\tab{5}\spadcommand{p := a*x**2 + b*x*y + c*y**2\bound{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPagePatch2} -\begin{paste}{PolynomialBasicPageFull2}{PolynomialBasicPageEmpty2} -\pastebutton{PolynomialBasicPageFull2}{\hidepaste} -\tab{5}\spadcommand{q := 13*x**2 + 3*z\bound{q }} -\indentrel{3}\begin{verbatim} - 2 - (2) 3z + 13x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPageEmpty2} -\begin{paste}{PolynomialBasicPageEmpty2}{PolynomialBasicPagePatch2} -\pastebutton{PolynomialBasicPageEmpty2}{\showpaste} -\tab{5}\spadcommand{q := 13*x**2 + 3*z\bound{q }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPagePatch3} -\begin{paste}{PolynomialBasicPageFull3}{PolynomialBasicPageEmpty3} -\pastebutton{PolynomialBasicPageFull3}{\hidepaste} -\tab{5}\spadcommand{p + q\free{p q }} -\indentrel{3}\begin{verbatim} - 2 2 - (3) 3z + c y + b x y + (a + 13)x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPageEmpty3} -\begin{paste}{PolynomialBasicPageEmpty3}{PolynomialBasicPagePatch3} -\pastebutton{PolynomialBasicPageEmpty3}{\showpaste} -\tab{5}\spadcommand{p + q\free{p q }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPagePatch4} -\begin{paste}{PolynomialBasicPageFull4}{PolynomialBasicPageEmpty4} -\pastebutton{PolynomialBasicPageFull4}{\hidepaste} -\tab{5}\spadcommand{p - 3*q\free{p q }} -\indentrel{3}\begin{verbatim} - 2 2 - (4) - 9z + c y + b x y + (a - 39)x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPageEmpty4} -\begin{paste}{PolynomialBasicPageEmpty4}{PolynomialBasicPagePatch4} -\pastebutton{PolynomialBasicPageEmpty4}{\showpaste} -\tab{5}\spadcommand{p - 3*q\free{p q }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPagePatch5} -\begin{paste}{PolynomialBasicPageFull5}{PolynomialBasicPageEmpty5} -\pastebutton{PolynomialBasicPageFull5}{\hidepaste} -\tab{5}\spadcommand{p**2 + p*q\free{p q }} -\indentrel{3}\begin{verbatim} - (5) - 2 2 2 4 3 - (3c y + 3b x y + 3a x )z + c y + 2b c x y - + - 2 2 2 3 2 4 - ((2a + 13)c + b )x y + (2a + 13)b x y + (a + 13a)x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPageEmpty5} -\begin{paste}{PolynomialBasicPageEmpty5}{PolynomialBasicPagePatch5} -\pastebutton{PolynomialBasicPageEmpty5}{\showpaste} -\tab{5}\spadcommand{p**2 + p*q\free{p q }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPagePatch6} -\begin{paste}{PolynomialBasicPageFull6}{PolynomialBasicPageEmpty6} -\pastebutton{PolynomialBasicPageFull6}{\hidepaste} -\tab{5}\spadcommand{r := (p + q)**2\bound{r }\free{p q }} -\indentrel{3}\begin{verbatim} - (6) - 2 2 2 2 4 - 9z + (6c y + 6b x y + (6a + 78)x )z + c y - + - 3 2 2 2 3 - 2b c x y + ((2a + 26)c + b )x y + (2a + 26)b x y - + - 2 4 - (a + 26a + 169)x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPageEmpty6} -\begin{paste}{PolynomialBasicPageEmpty6}{PolynomialBasicPagePatch6} -\pastebutton{PolynomialBasicPageEmpty6}{\showpaste} -\tab{5}\spadcommand{r := (p + q)**2\bound{r }\free{p q }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPagePatch7} -\begin{paste}{PolynomialBasicPageFull7}{PolynomialBasicPageEmpty7} -\pastebutton{PolynomialBasicPageFull7}{\hidepaste} -\tab{5}\spadcommand{setVariableOrder [a,b,c,x,y,z]\bound{vord }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPageEmpty7} -\begin{paste}{PolynomialBasicPageEmpty7}{PolynomialBasicPagePatch7} -\pastebutton{PolynomialBasicPageEmpty7}{\showpaste} -\tab{5}\spadcommand{setVariableOrder [a,b,c,x,y,z]\bound{vord }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPagePatch8} -\begin{paste}{PolynomialBasicPageFull8}{PolynomialBasicPageEmpty8} -\pastebutton{PolynomialBasicPageFull8}{\hidepaste} -\tab{5}\spadcommand{p\free{p vord }} -\indentrel{3}\begin{verbatim} - 2 2 - (8) x a + y x b + y c - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPageEmpty8} -\begin{paste}{PolynomialBasicPageEmpty8}{PolynomialBasicPagePatch8} -\pastebutton{PolynomialBasicPageEmpty8}{\showpaste} -\tab{5}\spadcommand{p\free{p vord }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPagePatch9} -\begin{paste}{PolynomialBasicPageFull9}{PolynomialBasicPageEmpty9} -\pastebutton{PolynomialBasicPageFull9}{\hidepaste} -\tab{5}\spadcommand{q\free{q vord }} -\indentrel{3}\begin{verbatim} - 2 - (9) 13x + 3z - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPageEmpty9} -\begin{paste}{PolynomialBasicPageEmpty9}{PolynomialBasicPagePatch9} -\pastebutton{PolynomialBasicPageEmpty9}{\showpaste} -\tab{5}\spadcommand{q\free{q vord }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPagePatch10} -\begin{paste}{PolynomialBasicPageFull10}{PolynomialBasicPageEmpty10} -\pastebutton{PolynomialBasicPageFull10}{\hidepaste} -\tab{5}\spadcommand{r\free{r vord }} -\indentrel{3}\begin{verbatim} - (10) - 4 2 3 2 2 4 2 2 2 2 - x a + (2y x b + 2y x c + 26x + 6z x )a + y x b - + - 3 3 4 2 - (2y x c + 26y x + 6z y x)b + y c - + - 2 2 2 4 2 2 - (26y x + 6z y )c + 169x + 78z x + 9z - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPageEmpty10} -\begin{paste}{PolynomialBasicPageEmpty10}{PolynomialBasicPagePatch10} -\pastebutton{PolynomialBasicPageEmpty10}{\showpaste} -\tab{5}\spadcommand{r\free{r vord }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPagePatch11} -\begin{paste}{PolynomialBasicPageFull11}{PolynomialBasicPageEmpty11} -\pastebutton{PolynomialBasicPageFull11}{\hidepaste} -\tab{5}\spadcommand{resetVariableOrder()\bound{rvord }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPageEmpty11} -\begin{paste}{PolynomialBasicPageEmpty11}{PolynomialBasicPagePatch11} -\pastebutton{PolynomialBasicPageEmpty11}{\showpaste} -\tab{5}\spadcommand{resetVariableOrder()\bound{rvord }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPagePatch12} -\begin{paste}{PolynomialBasicPageFull12}{PolynomialBasicPageEmpty12} -\pastebutton{PolynomialBasicPageFull12}{\hidepaste} -\tab{5}\spadcommand{p\free{p rvord }} -\indentrel{3}\begin{verbatim} - 2 2 - (12) c y + b x y + a x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPageEmpty12} -\begin{paste}{PolynomialBasicPageEmpty12}{PolynomialBasicPagePatch12} -\pastebutton{PolynomialBasicPageEmpty12}{\showpaste} -\tab{5}\spadcommand{p\free{p rvord }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPagePatch13} -\begin{paste}{PolynomialBasicPageFull13}{PolynomialBasicPageEmpty13} -\pastebutton{PolynomialBasicPageFull13}{\hidepaste} -\tab{5}\spadcommand{coefficient(q,x,2)\free{q }} -\indentrel{3}\begin{verbatim} - (13) 13 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPageEmpty13} -\begin{paste}{PolynomialBasicPageEmpty13}{PolynomialBasicPagePatch13} -\pastebutton{PolynomialBasicPageEmpty13}{\showpaste} -\tab{5}\spadcommand{coefficient(q,x,2)\free{q }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPagePatch14} -\begin{paste}{PolynomialBasicPageFull14}{PolynomialBasicPageEmpty14} -\pastebutton{PolynomialBasicPageFull14}{\hidepaste} -\tab{5}\spadcommand{coefficient(r,x,3)\free{r }} -\indentrel{3}\begin{verbatim} - (14) (2a + 26)b y - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPageEmpty14} -\begin{paste}{PolynomialBasicPageEmpty14}{PolynomialBasicPagePatch14} -\pastebutton{PolynomialBasicPageEmpty14}{\showpaste} -\tab{5}\spadcommand{coefficient(r,x,3)\free{r }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPagePatch15} -\begin{paste}{PolynomialBasicPageFull15}{PolynomialBasicPageEmpty15} -\pastebutton{PolynomialBasicPageFull15}{\hidepaste} -\tab{5}\spadcommand{c := coefficient(r,z,1)\free{r }\bound{c }} -\indentrel{3}\begin{verbatim} - 2 2 - (15) 6c y + 6b x y + (6a + 78)x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPageEmpty15} -\begin{paste}{PolynomialBasicPageEmpty15}{PolynomialBasicPagePatch15} -\pastebutton{PolynomialBasicPageEmpty15}{\showpaste} -\tab{5}\spadcommand{c := coefficient(r,z,1)\free{r }\bound{c }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPagePatch16} -\begin{paste}{PolynomialBasicPageFull16}{PolynomialBasicPageEmpty16} -\pastebutton{PolynomialBasicPageFull16}{\hidepaste} -\tab{5}\spadcommand{coefficient(c,x,2)\free{c }} -\indentrel{3}\begin{verbatim} - (16) 6a + 78 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPageEmpty16} -\begin{paste}{PolynomialBasicPageEmpty16}{PolynomialBasicPagePatch16} -\pastebutton{PolynomialBasicPageEmpty16}{\showpaste} -\tab{5}\spadcommand{coefficient(c,x,2)\free{c }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPagePatch17} -\begin{paste}{PolynomialBasicPageFull17}{PolynomialBasicPageEmpty17} -\pastebutton{PolynomialBasicPageFull17}{\hidepaste} -\tab{5}\spadcommand{coefficient(q**2, [x,z], [2,1])\free{q }} -\indentrel{3}\begin{verbatim} - (17) 78 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPageEmpty17} -\begin{paste}{PolynomialBasicPageEmpty17}{PolynomialBasicPagePatch17} -\pastebutton{PolynomialBasicPageEmpty17}{\showpaste} -\tab{5}\spadcommand{coefficient(q**2, [x,z], [2,1])\free{q }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPagePatch18} -\begin{paste}{PolynomialBasicPageFull18}{PolynomialBasicPageEmpty18} -\pastebutton{PolynomialBasicPageFull18}{\hidepaste} -\tab{5}\spadcommand{coefficient(r, [x,y], [2,2])\free{r }} -\indentrel{3}\begin{verbatim} - 2 - (18) (2a + 26)c + b - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialBasicPageEmpty18} -\begin{paste}{PolynomialBasicPageEmpty18}{PolynomialBasicPagePatch18} -\pastebutton{PolynomialBasicPageEmpty18}{\showpaste} -\tab{5}\spadcommand{coefficient(r, [x,y], [2,2])\free{r }} -\end{paste}\end{patch} - diff --git a/books/pages/poly1.pht b/books/pages/poly1.pht deleted file mode 100644 index c3067fb..0000000 --- a/books/pages/poly1.pht +++ /dev/null @@ -1,773 +0,0 @@ -\begin{patch}{PolynomialXmpPagePatch1} -\begin{paste}{PolynomialXmpPageFull1}{PolynomialXmpPageEmpty1} -\pastebutton{PolynomialXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{x + 1} -\indentrel{3}\begin{verbatim} - (1) x + 1 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty1} -\begin{paste}{PolynomialXmpPageEmpty1}{PolynomialXmpPagePatch1} -\pastebutton{PolynomialXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{x + 1} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch2} -\begin{paste}{PolynomialXmpPageFull2}{PolynomialXmpPageEmpty2} -\pastebutton{PolynomialXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{z - 2.3} -\indentrel{3}\begin{verbatim} - (2) z - 2.3 - Type: Polynomial Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty2} -\begin{paste}{PolynomialXmpPageEmpty2}{PolynomialXmpPagePatch2} -\pastebutton{PolynomialXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{z - 2.3} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch3} -\begin{paste}{PolynomialXmpPageFull3}{PolynomialXmpPageEmpty3} -\pastebutton{PolynomialXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{y**2 - z + 3/4} -\indentrel{3}\begin{verbatim} - 2 3 - (3) - z + y + Ä - 4 - Type: Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty3} -\begin{paste}{PolynomialXmpPageEmpty3}{PolynomialXmpPagePatch3} -\pastebutton{PolynomialXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{y**2 - z + 3/4} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch4} -\begin{paste}{PolynomialXmpPageFull4}{PolynomialXmpPageEmpty4} -\pastebutton{PolynomialXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{y **2 + x*y + y\bound{prev }} -\indentrel{3}\begin{verbatim} - 2 - (4) y + (x + 1)y - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty4} -\begin{paste}{PolynomialXmpPageEmpty4}{PolynomialXmpPagePatch4} -\pastebutton{PolynomialXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{y **2 + x*y + y\bound{prev }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch5} -\begin{paste}{PolynomialXmpPageFull5}{PolynomialXmpPageEmpty5} -\pastebutton{PolynomialXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{\% :: DMP([y,x],INT)\free{prev }} -\indentrel{3}\begin{verbatim} - 2 - (5) y + y x + y - Type: DistributedMultivariatePolynomial([y,x],Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty5} -\begin{paste}{PolynomialXmpPageEmpty5}{PolynomialXmpPagePatch5} -\pastebutton{PolynomialXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{\% :: DMP([y,x],INT)\free{prev }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch6} -\begin{paste}{PolynomialXmpPageFull6}{PolynomialXmpPageEmpty6} -\pastebutton{PolynomialXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{p := (y-1)**2 * x * z\bound{p }} -\indentrel{3}\begin{verbatim} - 2 - (6) (x y - 2x y + x)z - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty6} -\begin{paste}{PolynomialXmpPageEmpty6}{PolynomialXmpPagePatch6} -\pastebutton{PolynomialXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{p := (y-1)**2 * x * z\bound{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch7} -\begin{paste}{PolynomialXmpPageFull7}{PolynomialXmpPageEmpty7} -\pastebutton{PolynomialXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{q := (y-1) * x * (z+5)\bound{q }} -\indentrel{3}\begin{verbatim} - (7) (x y - x)z + 5x y - 5x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty7} -\begin{paste}{PolynomialXmpPageEmpty7}{PolynomialXmpPagePatch7} -\pastebutton{PolynomialXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{q := (y-1) * x * (z+5)\bound{q }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch8} -\begin{paste}{PolynomialXmpPageFull8}{PolynomialXmpPageEmpty8} -\pastebutton{PolynomialXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{factor(q)\free{q }} -\indentrel{3}\begin{verbatim} - (8) x(y - 1)(z + 5) - Type: Factored Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty8} -\begin{paste}{PolynomialXmpPageEmpty8}{PolynomialXmpPagePatch8} -\pastebutton{PolynomialXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{factor(q)\free{q }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch9} -\begin{paste}{PolynomialXmpPageFull9}{PolynomialXmpPageEmpty9} -\pastebutton{PolynomialXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{p - q**2\free{p q }} -\indentrel{3}\begin{verbatim} - (9) - 2 2 2 2 2 - (- x y + 2x y - x )z - + - 2 2 2 2 2 2 - ((- 10x + x)y + (20x - 2x)y - 10x + x)z - 25x y - + - 2 2 - 50x y - 25x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty9} -\begin{paste}{PolynomialXmpPageEmpty9}{PolynomialXmpPagePatch9} -\pastebutton{PolynomialXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{p - q**2\free{p q }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch10} -\begin{paste}{PolynomialXmpPageFull10}{PolynomialXmpPageEmpty10} -\pastebutton{PolynomialXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{gcd(p,q)\free{p q }\bound{prev4 }} -\indentrel{3}\begin{verbatim} - (10) x y - x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty10} -\begin{paste}{PolynomialXmpPageEmpty10}{PolynomialXmpPagePatch10} -\pastebutton{PolynomialXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{gcd(p,q)\free{p q }\bound{prev4 }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch11} -\begin{paste}{PolynomialXmpPageFull11}{PolynomialXmpPageEmpty11} -\pastebutton{PolynomialXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{factor \%\free{prev4 }} -\indentrel{3}\begin{verbatim} - (11) x(y - 1) - Type: Factored Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty11} -\begin{paste}{PolynomialXmpPageEmpty11}{PolynomialXmpPagePatch11} -\pastebutton{PolynomialXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{factor \%\free{prev4 }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch12} -\begin{paste}{PolynomialXmpPageFull12}{PolynomialXmpPageEmpty12} -\pastebutton{PolynomialXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{lcm(p,q)\free{p q }} -\indentrel{3}\begin{verbatim} - 2 2 2 - (12) (x y - 2x y + x)z + (5x y - 10x y + 5x)z - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty12} -\begin{paste}{PolynomialXmpPageEmpty12}{PolynomialXmpPagePatch12} -\pastebutton{PolynomialXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{lcm(p,q)\free{p q }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch13} -\begin{paste}{PolynomialXmpPageFull13}{PolynomialXmpPageEmpty13} -\pastebutton{PolynomialXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{content p\free{p }} -\indentrel{3}\begin{verbatim} - (13) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty13} -\begin{paste}{PolynomialXmpPageEmpty13}{PolynomialXmpPagePatch13} -\pastebutton{PolynomialXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{content p\free{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch14} -\begin{paste}{PolynomialXmpPageFull14}{PolynomialXmpPageEmpty14} -\pastebutton{PolynomialXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{resultant(p,q,z)\free{p q }} -\indentrel{3}\begin{verbatim} - 2 3 2 2 2 2 - (14) 5x y - 15x y + 15x y - 5x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty14} -\begin{paste}{PolynomialXmpPageEmpty14}{PolynomialXmpPagePatch14} -\pastebutton{PolynomialXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{resultant(p,q,z)\free{p q }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch15} -\begin{paste}{PolynomialXmpPageFull15}{PolynomialXmpPageEmpty15} -\pastebutton{PolynomialXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{resultant(p,q,x)\free{p }\free{q }} -\indentrel{3}\begin{verbatim} - (15) 0 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty15} -\begin{paste}{PolynomialXmpPageEmpty15}{PolynomialXmpPagePatch15} -\pastebutton{PolynomialXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{resultant(p,q,x)\free{p }\free{q }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch16} -\begin{paste}{PolynomialXmpPageFull16}{PolynomialXmpPageEmpty16} -\pastebutton{PolynomialXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{mainVariable p\free{p }} -\indentrel{3}\begin{verbatim} - (16) z - Type: Union(Symbol,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty16} -\begin{paste}{PolynomialXmpPageEmpty16}{PolynomialXmpPagePatch16} -\pastebutton{PolynomialXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{mainVariable p\free{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch17} -\begin{paste}{PolynomialXmpPageFull17}{PolynomialXmpPageEmpty17} -\pastebutton{PolynomialXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{mainVariable(1 :: POLY INT)} -\indentrel{3}\begin{verbatim} - (17) "failed" - Type: Union("failed",...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty17} -\begin{paste}{PolynomialXmpPageEmpty17}{PolynomialXmpPagePatch17} -\pastebutton{PolynomialXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{mainVariable(1 :: POLY INT)} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch18} -\begin{paste}{PolynomialXmpPageFull18}{PolynomialXmpPageEmpty18} -\pastebutton{PolynomialXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{ground? p\free{p }} -\indentrel{3}\begin{verbatim} - (18) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty18} -\begin{paste}{PolynomialXmpPageEmpty18}{PolynomialXmpPagePatch18} -\pastebutton{PolynomialXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{ground? p\free{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch19} -\begin{paste}{PolynomialXmpPageFull19}{PolynomialXmpPageEmpty19} -\pastebutton{PolynomialXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{ground?(1 :: POLY INT)} -\indentrel{3}\begin{verbatim} - (19) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty19} -\begin{paste}{PolynomialXmpPageEmpty19}{PolynomialXmpPagePatch19} -\pastebutton{PolynomialXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{ground?(1 :: POLY INT)} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch20} -\begin{paste}{PolynomialXmpPageFull20}{PolynomialXmpPageEmpty20} -\pastebutton{PolynomialXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{variables p\free{p }} -\indentrel{3}\begin{verbatim} - (20) [z,y,x] - Type: List Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty20} -\begin{paste}{PolynomialXmpPageEmpty20}{PolynomialXmpPagePatch20} -\pastebutton{PolynomialXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{variables p\free{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch21} -\begin{paste}{PolynomialXmpPageFull21}{PolynomialXmpPageEmpty21} -\pastebutton{PolynomialXmpPageFull21}{\hidepaste} -\tab{5}\spadcommand{degree(p,x)\free{p }} -\indentrel{3}\begin{verbatim} - (21) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty21} -\begin{paste}{PolynomialXmpPageEmpty21}{PolynomialXmpPagePatch21} -\pastebutton{PolynomialXmpPageEmpty21}{\showpaste} -\tab{5}\spadcommand{degree(p,x)\free{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch22} -\begin{paste}{PolynomialXmpPageFull22}{PolynomialXmpPageEmpty22} -\pastebutton{PolynomialXmpPageFull22}{\hidepaste} -\tab{5}\spadcommand{degree(p,y)\free{p }} -\indentrel{3}\begin{verbatim} - (22) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty22} -\begin{paste}{PolynomialXmpPageEmpty22}{PolynomialXmpPagePatch22} -\pastebutton{PolynomialXmpPageEmpty22}{\showpaste} -\tab{5}\spadcommand{degree(p,y)\free{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch23} -\begin{paste}{PolynomialXmpPageFull23}{PolynomialXmpPageEmpty23} -\pastebutton{PolynomialXmpPageFull23}{\hidepaste} -\tab{5}\spadcommand{degree(p,z)\free{p }} -\indentrel{3}\begin{verbatim} - (23) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty23} -\begin{paste}{PolynomialXmpPageEmpty23}{PolynomialXmpPagePatch23} -\pastebutton{PolynomialXmpPageEmpty23}{\showpaste} -\tab{5}\spadcommand{degree(p,z)\free{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch24} -\begin{paste}{PolynomialXmpPageFull24}{PolynomialXmpPageEmpty24} -\pastebutton{PolynomialXmpPageFull24}{\hidepaste} -\tab{5}\spadcommand{degree(p,[x,y,z])\free{p }} -\indentrel{3}\begin{verbatim} - (24) [1,2,1] - Type: List NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty24} -\begin{paste}{PolynomialXmpPageEmpty24}{PolynomialXmpPagePatch24} -\pastebutton{PolynomialXmpPageEmpty24}{\showpaste} -\tab{5}\spadcommand{degree(p,[x,y,z])\free{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch25} -\begin{paste}{PolynomialXmpPageFull25}{PolynomialXmpPageEmpty25} -\pastebutton{PolynomialXmpPageFull25}{\hidepaste} -\tab{5}\spadcommand{minimumDegree(p,z)\free{p }} -\indentrel{3}\begin{verbatim} - (25) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty25} -\begin{paste}{PolynomialXmpPageEmpty25}{PolynomialXmpPagePatch25} -\pastebutton{PolynomialXmpPageEmpty25}{\showpaste} -\tab{5}\spadcommand{minimumDegree(p,z)\free{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch26} -\begin{paste}{PolynomialXmpPageFull26}{PolynomialXmpPageEmpty26} -\pastebutton{PolynomialXmpPageFull26}{\hidepaste} -\tab{5}\spadcommand{totalDegree p\free{p }} -\indentrel{3}\begin{verbatim} - (26) 4 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty26} -\begin{paste}{PolynomialXmpPageEmpty26}{PolynomialXmpPagePatch26} -\pastebutton{PolynomialXmpPageEmpty26}{\showpaste} -\tab{5}\spadcommand{totalDegree p\free{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch27} -\begin{paste}{PolynomialXmpPageFull27}{PolynomialXmpPageEmpty27} -\pastebutton{PolynomialXmpPageFull27}{\hidepaste} -\tab{5}\spadcommand{leadingMonomial p\free{p }} -\indentrel{3}\begin{verbatim} - 2 - (27) x y z - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty27} -\begin{paste}{PolynomialXmpPageEmpty27}{PolynomialXmpPagePatch27} -\pastebutton{PolynomialXmpPageEmpty27}{\showpaste} -\tab{5}\spadcommand{leadingMonomial p\free{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch28} -\begin{paste}{PolynomialXmpPageFull28}{PolynomialXmpPageEmpty28} -\pastebutton{PolynomialXmpPageFull28}{\hidepaste} -\tab{5}\spadcommand{reductum p\free{p }} -\indentrel{3}\begin{verbatim} - (28) (- 2x y + x)z - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty28} -\begin{paste}{PolynomialXmpPageEmpty28}{PolynomialXmpPagePatch28} -\pastebutton{PolynomialXmpPageEmpty28}{\showpaste} -\tab{5}\spadcommand{reductum p\free{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch29} -\begin{paste}{PolynomialXmpPageFull29}{PolynomialXmpPageEmpty29} -\pastebutton{PolynomialXmpPageFull29}{\hidepaste} -\tab{5}\spadcommand{p - leadingMonomial p - reductum p\free{p }} -\indentrel{3}\begin{verbatim} - (29) 0 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty29} -\begin{paste}{PolynomialXmpPageEmpty29}{PolynomialXmpPagePatch29} -\pastebutton{PolynomialXmpPageEmpty29}{\showpaste} -\tab{5}\spadcommand{p - leadingMonomial p - reductum p\free{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch30} -\begin{paste}{PolynomialXmpPageFull30}{PolynomialXmpPageEmpty30} -\pastebutton{PolynomialXmpPageFull30}{\hidepaste} -\tab{5}\spadcommand{leadingCoefficient p\free{p }} -\indentrel{3}\begin{verbatim} - (30) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty30} -\begin{paste}{PolynomialXmpPageEmpty30}{PolynomialXmpPagePatch30} -\pastebutton{PolynomialXmpPageEmpty30}{\showpaste} -\tab{5}\spadcommand{leadingCoefficient p\free{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch31} -\begin{paste}{PolynomialXmpPageFull31}{PolynomialXmpPageEmpty31} -\pastebutton{PolynomialXmpPageFull31}{\hidepaste} -\tab{5}\spadcommand{p\free{p }} -\indentrel{3}\begin{verbatim} - 2 - (31) (x y - 2x y + x)z - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty31} -\begin{paste}{PolynomialXmpPageEmpty31}{PolynomialXmpPagePatch31} -\pastebutton{PolynomialXmpPageEmpty31}{\showpaste} -\tab{5}\spadcommand{p\free{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch32} -\begin{paste}{PolynomialXmpPageFull32}{PolynomialXmpPageEmpty32} -\pastebutton{PolynomialXmpPageFull32}{\hidepaste} -\tab{5}\spadcommand{eval(p,x,w)\free{p }} -\indentrel{3}\begin{verbatim} - 2 - (32) (w y - 2w y + w)z - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty32} -\begin{paste}{PolynomialXmpPageEmpty32}{PolynomialXmpPagePatch32} -\pastebutton{PolynomialXmpPageEmpty32}{\showpaste} -\tab{5}\spadcommand{eval(p,x,w)\free{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch33} -\begin{paste}{PolynomialXmpPageFull33}{PolynomialXmpPageEmpty33} -\pastebutton{PolynomialXmpPageFull33}{\hidepaste} -\tab{5}\spadcommand{eval(p,x,1)\free{p }} -\indentrel{3}\begin{verbatim} - 2 - (33) (y - 2y + 1)z - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty33} -\begin{paste}{PolynomialXmpPageEmpty33}{PolynomialXmpPagePatch33} -\pastebutton{PolynomialXmpPageEmpty33}{\showpaste} -\tab{5}\spadcommand{eval(p,x,1)\free{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch34} -\begin{paste}{PolynomialXmpPageFull34}{PolynomialXmpPageEmpty34} -\pastebutton{PolynomialXmpPageFull34}{\hidepaste} -\tab{5}\spadcommand{eval(p,x,y**2 - 1)\free{p }} -\indentrel{3}\begin{verbatim} - 4 3 - (34) (y - 2y + 2y - 1)z - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty34} -\begin{paste}{PolynomialXmpPageEmpty34}{PolynomialXmpPagePatch34} -\pastebutton{PolynomialXmpPageEmpty34}{\showpaste} -\tab{5}\spadcommand{eval(p,x,y**2 - 1)\free{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch35} -\begin{paste}{PolynomialXmpPageFull35}{PolynomialXmpPageEmpty35} -\pastebutton{PolynomialXmpPageFull35}{\hidepaste} -\tab{5}\spadcommand{D(p,x)\free{p }} -\indentrel{3}\begin{verbatim} - 2 - (35) (y - 2y + 1)z - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty35} -\begin{paste}{PolynomialXmpPageEmpty35}{PolynomialXmpPagePatch35} -\pastebutton{PolynomialXmpPageEmpty35}{\showpaste} -\tab{5}\spadcommand{D(p,x)\free{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch36} -\begin{paste}{PolynomialXmpPageFull36}{PolynomialXmpPageEmpty36} -\pastebutton{PolynomialXmpPageFull36}{\hidepaste} -\tab{5}\spadcommand{D(p,y)\free{p }} -\indentrel{3}\begin{verbatim} - (36) (2x y - 2x)z - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty36} -\begin{paste}{PolynomialXmpPageEmpty36}{PolynomialXmpPagePatch36} -\pastebutton{PolynomialXmpPageEmpty36}{\showpaste} -\tab{5}\spadcommand{D(p,y)\free{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch37} -\begin{paste}{PolynomialXmpPageFull37}{PolynomialXmpPageEmpty37} -\pastebutton{PolynomialXmpPageFull37}{\hidepaste} -\tab{5}\spadcommand{D(p,z)\free{p }} -\indentrel{3}\begin{verbatim} - 2 - (37) x y - 2x y + x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty37} -\begin{paste}{PolynomialXmpPageEmpty37}{PolynomialXmpPagePatch37} -\pastebutton{PolynomialXmpPageEmpty37}{\showpaste} -\tab{5}\spadcommand{D(p,z)\free{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch38} -\begin{paste}{PolynomialXmpPageFull38}{PolynomialXmpPageEmpty38} -\pastebutton{PolynomialXmpPageFull38}{\hidepaste} -\tab{5}\spadcommand{integrate(p,y)\free{p }} -\indentrel{3}\begin{verbatim} - 1 3 2 - (38) (Ä x y - x y + x y)z - 3 - Type: Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty38} -\begin{paste}{PolynomialXmpPageEmpty38}{PolynomialXmpPagePatch38} -\pastebutton{PolynomialXmpPageEmpty38}{\showpaste} -\tab{5}\spadcommand{integrate(p,y)\free{p }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch39} -\begin{paste}{PolynomialXmpPageFull39}{PolynomialXmpPageEmpty39} -\pastebutton{PolynomialXmpPageFull39}{\hidepaste} -\tab{5}\spadcommand{qr := monicDivide(p,x+1,x)\free{p }\bound{qr }} -\indentrel{3}\begin{verbatim} - (39) - 2 2 - [quotient= (y - 2y + 1)z,remainder= (- y + 2y - 1)z] -Type: Record(quotient: Polynomial Integer,remainder: Polynomial Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty39} -\begin{paste}{PolynomialXmpPageEmpty39}{PolynomialXmpPagePatch39} -\pastebutton{PolynomialXmpPageEmpty39}{\showpaste} -\tab{5}\spadcommand{qr := monicDivide(p,x+1,x)\free{p }\bound{qr }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch40} -\begin{paste}{PolynomialXmpPageFull40}{PolynomialXmpPageEmpty40} -\pastebutton{PolynomialXmpPageFull40}{\hidepaste} -\tab{5}\spadcommand{qr.remainder\free{qr }} -\indentrel{3}\begin{verbatim} - 2 - (40) (- y + 2y - 1)z - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty40} -\begin{paste}{PolynomialXmpPageEmpty40}{PolynomialXmpPagePatch40} -\pastebutton{PolynomialXmpPageEmpty40}{\showpaste} -\tab{5}\spadcommand{qr.remainder\free{qr }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch41} -\begin{paste}{PolynomialXmpPageFull41}{PolynomialXmpPageEmpty41} -\pastebutton{PolynomialXmpPageFull41}{\hidepaste} -\tab{5}\spadcommand{p - ((x+1) * qr.quotient + qr.remainder)\free{p }\free{qr }} -\indentrel{3}\begin{verbatim} - (41) 0 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty41} -\begin{paste}{PolynomialXmpPageEmpty41}{PolynomialXmpPagePatch41} -\pastebutton{PolynomialXmpPageEmpty41}{\showpaste} -\tab{5}\spadcommand{p - ((x+1) * qr.quotient + qr.remainder)\free{p }\free{qr }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch42} -\begin{paste}{PolynomialXmpPageFull42}{PolynomialXmpPageEmpty42} -\pastebutton{PolynomialXmpPageFull42}{\hidepaste} -\tab{5}\spadcommand{p/q\free{p }\free{q }} -\indentrel{3}\begin{verbatim} - (y - 1)z - (42) ÄÄÄÄÄÄÄÄ - z + 5 - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty42} -\begin{paste}{PolynomialXmpPageEmpty42}{PolynomialXmpPagePatch42} -\pastebutton{PolynomialXmpPageEmpty42}{\showpaste} -\tab{5}\spadcommand{p/q\free{p }\free{q }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch43} -\begin{paste}{PolynomialXmpPageFull43}{PolynomialXmpPageEmpty43} -\pastebutton{PolynomialXmpPageFull43}{\hidepaste} -\tab{5}\spadcommand{(2/3) * x**2 - y + 4/5\bound{prev1 }} -\indentrel{3}\begin{verbatim} - 2 2 4 - (43) - y + Ä x + Ä - 3 5 - Type: Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty43} -\begin{paste}{PolynomialXmpPageEmpty43}{PolynomialXmpPagePatch43} -\pastebutton{PolynomialXmpPageEmpty43}{\showpaste} -\tab{5}\spadcommand{(2/3) * x**2 - y + 4/5\bound{prev1 }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch44} -\begin{paste}{PolynomialXmpPageFull44}{PolynomialXmpPageEmpty44} -\pastebutton{PolynomialXmpPageFull44}{\hidepaste} -\tab{5}\spadcommand{\% :: FRAC POLY INT\free{prev1 }\bound{prev2 }} -\indentrel{3}\begin{verbatim} - 2 - - 15y + 10x + 12 - (44) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 15 - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty44} -\begin{paste}{PolynomialXmpPageEmpty44}{PolynomialXmpPagePatch44} -\pastebutton{PolynomialXmpPageEmpty44}{\showpaste} -\tab{5}\spadcommand{\% :: FRAC POLY INT\free{prev1 }\bound{prev2 }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch45} -\begin{paste}{PolynomialXmpPageFull45}{PolynomialXmpPageEmpty45} -\pastebutton{PolynomialXmpPageFull45}{\hidepaste} -\tab{5}\spadcommand{\% :: POLY FRAC INT\free{prev2 }\bound{prev3 }} -\indentrel{3}\begin{verbatim} - 2 2 4 - (45) - y + Ä x + Ä - 3 5 - Type: Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty45} -\begin{paste}{PolynomialXmpPageEmpty45}{PolynomialXmpPagePatch45} -\pastebutton{PolynomialXmpPageEmpty45}{\showpaste} -\tab{5}\spadcommand{\% :: POLY FRAC INT\free{prev2 }\bound{prev3 }} -\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPagePatch46} -\begin{paste}{PolynomialXmpPageFull46}{PolynomialXmpPageEmpty46} -\pastebutton{PolynomialXmpPageFull46}{\hidepaste} -\tab{5}\spadcommand{map(numeric,\%)\free{prev3 }} -\indentrel{3}\begin{verbatim} - 2 - (46) - 1.0 y + 0.6666666666 6666666667 x + 0.8 - Type: Polynomial Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{PolynomialXmpPageEmpty46} -\begin{paste}{PolynomialXmpPageEmpty46}{PolynomialXmpPagePatch46} -\pastebutton{PolynomialXmpPageEmpty46}{\showpaste} -\tab{5}\spadcommand{map(numeric,\%)\free{prev3 }} -\end{paste}\end{patch} - diff --git a/books/pages/quat.pht b/books/pages/quat.pht deleted file mode 100644 index 5d872fe..0000000 --- a/books/pages/quat.pht +++ /dev/null @@ -1,201 +0,0 @@ -\begin{patch}{QuaternionXmpPagePatch1} -\begin{paste}{QuaternionXmpPageFull1}{QuaternionXmpPageEmpty1} -\pastebutton{QuaternionXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{q := quatern(2/11,-8,3/4,1)\bound{q }} -\indentrel{3}\begin{verbatim} - 2 3 - (1) ÄÄ - 8i + Ä j + k - 11 4 - Type: Quaternion Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{QuaternionXmpPageEmpty1} -\begin{paste}{QuaternionXmpPageEmpty1}{QuaternionXmpPagePatch1} -\pastebutton{QuaternionXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{q := quatern(2/11,-8,3/4,1)\bound{q }} -\end{paste}\end{patch} - -\begin{patch}{QuaternionXmpPagePatch2} -\begin{paste}{QuaternionXmpPageFull2}{QuaternionXmpPageEmpty2} -\pastebutton{QuaternionXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{[real q, imagI q, imagJ q, imagK q]\free{q }} -\indentrel{3}\begin{verbatim} - 2 3 - (2) [ÄÄ,- 8,Ä,1] - 11 4 - Type: List Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{QuaternionXmpPageEmpty2} -\begin{paste}{QuaternionXmpPageEmpty2}{QuaternionXmpPagePatch2} -\pastebutton{QuaternionXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{[real q, imagI q, imagJ q, imagK q]\free{q }} -\end{paste}\end{patch} - -\begin{patch}{QuaternionXmpPagePatch3} -\begin{paste}{QuaternionXmpPageFull3}{QuaternionXmpPageEmpty3} -\pastebutton{QuaternionXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{inv q\free{q }} -\indentrel{3}\begin{verbatim} - 352 15488 484 1936 - (3) ÄÄÄÄÄÄ + ÄÄÄÄÄÄ i - ÄÄÄÄÄ j - ÄÄÄÄÄÄ k - 126993 126993 42331 126993 - Type: Quaternion Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{QuaternionXmpPageEmpty3} -\begin{paste}{QuaternionXmpPageEmpty3}{QuaternionXmpPagePatch3} -\pastebutton{QuaternionXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{inv q\free{q }} -\end{paste}\end{patch} - -\begin{patch}{QuaternionXmpPagePatch4} -\begin{paste}{QuaternionXmpPageFull4}{QuaternionXmpPageEmpty4} -\pastebutton{QuaternionXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{q**6\free{q }} -\indentrel{3}\begin{verbatim} - (4) - 2029490709319345 48251690851 144755072553 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - ÄÄÄÄÄÄÄÄÄÄÄ i + ÄÄÄÄÄÄÄÄÄÄÄÄ j - 7256313856 1288408 41229056 - + - 48251690851 - ÄÄÄÄÄÄÄÄÄÄÄ k - 10307264 - Type: Quaternion Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{QuaternionXmpPageEmpty4} -\begin{paste}{QuaternionXmpPageEmpty4}{QuaternionXmpPagePatch4} -\pastebutton{QuaternionXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{q**6\free{q }} -\end{paste}\end{patch} - -\begin{patch}{QuaternionXmpPagePatch5} -\begin{paste}{QuaternionXmpPageFull5}{QuaternionXmpPageEmpty5} -\pastebutton{QuaternionXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{r := quatern(-2,3,23/9,-89); q + r\bound{r }\free{q }} -\indentrel{3}\begin{verbatim} - 20 119 - (5) - ÄÄ - 5i + ÄÄÄ j - 88k - 11 36 - Type: Quaternion Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{QuaternionXmpPageEmpty5} -\begin{paste}{QuaternionXmpPageEmpty5}{QuaternionXmpPagePatch5} -\pastebutton{QuaternionXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{r := quatern(-2,3,23/9,-89); q + r\bound{r }\free{q }} -\end{paste}\end{patch} - -\begin{patch}{QuaternionXmpPagePatch6} -\begin{paste}{QuaternionXmpPageFull6}{QuaternionXmpPageEmpty6} -\pastebutton{QuaternionXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{q * r - r * q\free{q r }} -\indentrel{3}\begin{verbatim} - 2495 817 - (6) - ÄÄÄÄ i - 1418j - ÄÄÄ k - 18 18 - Type: Quaternion Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{QuaternionXmpPageEmpty6} -\begin{paste}{QuaternionXmpPageEmpty6}{QuaternionXmpPagePatch6} -\pastebutton{QuaternionXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{q * r - r * q\free{q r }} -\end{paste}\end{patch} - -\begin{patch}{QuaternionXmpPagePatch7} -\begin{paste}{QuaternionXmpPageFull7}{QuaternionXmpPageEmpty7} -\pastebutton{QuaternionXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{i:=quatern(0,1,0,0); j:=quatern(0,0,1,0); k:=quatern(0,0,0,1)\bound{i j k }} -\indentrel{3}\begin{verbatim} - (7) k - Type: Quaternion Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{QuaternionXmpPageEmpty7} -\begin{paste}{QuaternionXmpPageEmpty7}{QuaternionXmpPagePatch7} -\pastebutton{QuaternionXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{i:=quatern(0,1,0,0); j:=quatern(0,0,1,0); k:=quatern(0,0,0,1)\bound{i j k }} -\end{paste}\end{patch} - -\begin{patch}{QuaternionXmpPagePatch8} -\begin{paste}{QuaternionXmpPageFull8}{QuaternionXmpPageEmpty8} -\pastebutton{QuaternionXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{[i*i, j*j, k*k, i*j, j*k, k*i, q*i]\free{i j k q }} -\indentrel{3}\begin{verbatim} - 2 3 - (8) [- 1,- 1,- 1,k,i,j,8 + ÄÄ i + j - Ä k] - 11 4 - Type: List Quaternion Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{QuaternionXmpPageEmpty8} -\begin{paste}{QuaternionXmpPageEmpty8}{QuaternionXmpPagePatch8} -\pastebutton{QuaternionXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{[i*i, j*j, k*k, i*j, j*k, k*i, q*i]\free{i j k q }} -\end{paste}\end{patch} - -\begin{patch}{QuaternionXmpPagePatch9} -\begin{paste}{QuaternionXmpPageFull9}{QuaternionXmpPageEmpty9} -\pastebutton{QuaternionXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{norm q\free{q }} -\indentrel{3}\begin{verbatim} - 126993 - (9) ÄÄÄÄÄÄ - 1936 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{QuaternionXmpPageEmpty9} -\begin{paste}{QuaternionXmpPageEmpty9}{QuaternionXmpPagePatch9} -\pastebutton{QuaternionXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{norm q\free{q }} -\end{paste}\end{patch} - -\begin{patch}{QuaternionXmpPagePatch10} -\begin{paste}{QuaternionXmpPageFull10}{QuaternionXmpPageEmpty10} -\pastebutton{QuaternionXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{conjugate q\free{q }\bound{prev }} -\indentrel{3}\begin{verbatim} - 2 3 - (10) ÄÄ + 8i - Ä j - k - 11 4 - Type: Quaternion Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{QuaternionXmpPageEmpty10} -\begin{paste}{QuaternionXmpPageEmpty10}{QuaternionXmpPagePatch10} -\pastebutton{QuaternionXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{conjugate q\free{q }\bound{prev }} -\end{paste}\end{patch} - -\begin{patch}{QuaternionXmpPagePatch11} -\begin{paste}{QuaternionXmpPageFull11}{QuaternionXmpPageEmpty11} -\pastebutton{QuaternionXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{q * \%\free{q prev }} -\indentrel{3}\begin{verbatim} - 126993 - (11) ÄÄÄÄÄÄ - 1936 - Type: Quaternion Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{QuaternionXmpPageEmpty11} -\begin{paste}{QuaternionXmpPageEmpty11}{QuaternionXmpPagePatch11} -\pastebutton{QuaternionXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{q * \%\free{q prev }} -\end{paste}\end{patch} - diff --git a/books/pages/radix.pht b/books/pages/radix.pht deleted file mode 100644 index dc7b4dc..0000000 --- a/books/pages/radix.pht +++ /dev/null @@ -1,284 +0,0 @@ -\begin{patch}{RadixExpansionXmpPagePatch1} -\begin{paste}{RadixExpansionXmpPageFull1}{RadixExpansionXmpPageEmpty1} -\pastebutton{RadixExpansionXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{111::RadixExpansion(5)} -\indentrel{3}\begin{verbatim} - (1) 421 - Type: RadixExpansion 5 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPageEmpty1} -\begin{paste}{RadixExpansionXmpPageEmpty1}{RadixExpansionXmpPagePatch1} -\pastebutton{RadixExpansionXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{111::RadixExpansion(5)} -\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPagePatch2} -\begin{paste}{RadixExpansionXmpPageFull2}{RadixExpansionXmpPageEmpty2} -\pastebutton{RadixExpansionXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{(5/24)::RadixExpansion(2)} -\indentrel{3}\begin{verbatim} - __ - (2) 0.00110 - Type: RadixExpansion 2 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPageEmpty2} -\begin{paste}{RadixExpansionXmpPageEmpty2}{RadixExpansionXmpPagePatch2} -\pastebutton{RadixExpansionXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{(5/24)::RadixExpansion(2)} -\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPagePatch3} -\begin{paste}{RadixExpansionXmpPageFull3}{RadixExpansionXmpPageEmpty3} -\pastebutton{RadixExpansionXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{(5/24)::RadixExpansion(3)} -\indentrel{3}\begin{verbatim} - __ - (3) 0.012 - Type: RadixExpansion 3 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPageEmpty3} -\begin{paste}{RadixExpansionXmpPageEmpty3}{RadixExpansionXmpPagePatch3} -\pastebutton{RadixExpansionXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{(5/24)::RadixExpansion(3)} -\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPagePatch4} -\begin{paste}{RadixExpansionXmpPageFull4}{RadixExpansionXmpPageEmpty4} -\pastebutton{RadixExpansionXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{(5/24)::RadixExpansion(8)} -\indentrel{3}\begin{verbatim} - __ - (4) 0.152 - Type: RadixExpansion 8 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPageEmpty4} -\begin{paste}{RadixExpansionXmpPageEmpty4}{RadixExpansionXmpPagePatch4} -\pastebutton{RadixExpansionXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{(5/24)::RadixExpansion(8)} -\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPagePatch5} -\begin{paste}{RadixExpansionXmpPageFull5}{RadixExpansionXmpPageEmpty5} -\pastebutton{RadixExpansionXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{(5/24)::RadixExpansion(10)} -\indentrel{3}\begin{verbatim} - _ - (5) 0.2083 - Type: RadixExpansion 10 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPageEmpty5} -\begin{paste}{RadixExpansionXmpPageEmpty5}{RadixExpansionXmpPagePatch5} -\pastebutton{RadixExpansionXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{(5/24)::RadixExpansion(10)} -\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPagePatch6} -\begin{paste}{RadixExpansionXmpPageFull6}{RadixExpansionXmpPageEmpty6} -\pastebutton{RadixExpansionXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{(5/24)::RadixExpansion(12)} -\indentrel{3}\begin{verbatim} - (6) 0.26 - Type: RadixExpansion 12 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPageEmpty6} -\begin{paste}{RadixExpansionXmpPageEmpty6}{RadixExpansionXmpPagePatch6} -\pastebutton{RadixExpansionXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{(5/24)::RadixExpansion(12)} -\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPagePatch7} -\begin{paste}{RadixExpansionXmpPageFull7}{RadixExpansionXmpPageEmpty7} -\pastebutton{RadixExpansionXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{(5/24)::RadixExpansion(16)} -\indentrel{3}\begin{verbatim} - _ - (7) 0.35 - Type: RadixExpansion 16 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPageEmpty7} -\begin{paste}{RadixExpansionXmpPageEmpty7}{RadixExpansionXmpPagePatch7} -\pastebutton{RadixExpansionXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{(5/24)::RadixExpansion(16)} -\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPagePatch8} -\begin{paste}{RadixExpansionXmpPageFull8}{RadixExpansionXmpPageEmpty8} -\pastebutton{RadixExpansionXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{(5/24)::RadixExpansion(36)} -\indentrel{3}\begin{verbatim} - (8) 0.7I - Type: RadixExpansion 36 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPageEmpty8} -\begin{paste}{RadixExpansionXmpPageEmpty8}{RadixExpansionXmpPagePatch8} -\pastebutton{RadixExpansionXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{(5/24)::RadixExpansion(36)} -\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPagePatch9} -\begin{paste}{RadixExpansionXmpPageFull9}{RadixExpansionXmpPageEmpty9} -\pastebutton{RadixExpansionXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{(5/24)::RadixExpansion(38)} -\indentrel{3}\begin{verbatim} - _____ - (9) 0 . 7 34 31 25 12 - Type: RadixExpansion 38 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPageEmpty9} -\begin{paste}{RadixExpansionXmpPageEmpty9}{RadixExpansionXmpPagePatch9} -\pastebutton{RadixExpansionXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{(5/24)::RadixExpansion(38)} -\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPagePatch10} -\begin{paste}{RadixExpansionXmpPageFull10}{RadixExpansionXmpPageEmpty10} -\pastebutton{RadixExpansionXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{a := (76543/210)::RadixExpansion(8)\bound{a }} -\indentrel{3}\begin{verbatim} - ____ - (10) 554.37307 - Type: RadixExpansion 8 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPageEmpty10} -\begin{paste}{RadixExpansionXmpPageEmpty10}{RadixExpansionXmpPagePatch10} -\pastebutton{RadixExpansionXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{a := (76543/210)::RadixExpansion(8)\bound{a }} -\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPagePatch11} -\begin{paste}{RadixExpansionXmpPageFull11}{RadixExpansionXmpPageEmpty11} -\pastebutton{RadixExpansionXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{w := wholeRagits a\free{a }\bound{w }} -\indentrel{3}\begin{verbatim} - (11) [5,5,4] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPageEmpty11} -\begin{paste}{RadixExpansionXmpPageEmpty11}{RadixExpansionXmpPagePatch11} -\pastebutton{RadixExpansionXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{w := wholeRagits a\free{a }\bound{w }} -\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPagePatch12} -\begin{paste}{RadixExpansionXmpPageFull12}{RadixExpansionXmpPageEmpty12} -\pastebutton{RadixExpansionXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{f0 := prefixRagits a\free{a }\bound{f0 }} -\indentrel{3}\begin{verbatim} - (12) [3] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPageEmpty12} -\begin{paste}{RadixExpansionXmpPageEmpty12}{RadixExpansionXmpPagePatch12} -\pastebutton{RadixExpansionXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{f0 := prefixRagits a\free{a }\bound{f0 }} -\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPagePatch13} -\begin{paste}{RadixExpansionXmpPageFull13}{RadixExpansionXmpPageEmpty13} -\pastebutton{RadixExpansionXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{f1 := cycleRagits a\free{a }\bound{f1 }} -\indentrel{3}\begin{verbatim} - (13) [7,3,0,7] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPageEmpty13} -\begin{paste}{RadixExpansionXmpPageEmpty13}{RadixExpansionXmpPagePatch13} -\pastebutton{RadixExpansionXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{f1 := cycleRagits a\free{a }\bound{f1 }} -\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPagePatch14} -\begin{paste}{RadixExpansionXmpPageFull14}{RadixExpansionXmpPageEmpty14} -\pastebutton{RadixExpansionXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{u:RadixExpansion(8):=wholeRadix(w)+fractRadix(f0,f1)\free{w f0 f1 }\bound{u }} -\indentrel{3}\begin{verbatim} - ____ - (14) 554.37307 - Type: RadixExpansion 8 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPageEmpty14} -\begin{paste}{RadixExpansionXmpPageEmpty14}{RadixExpansionXmpPagePatch14} -\pastebutton{RadixExpansionXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{u:RadixExpansion(8):=wholeRadix(w)+fractRadix(f0,f1)\free{w f0 f1 }\bound{u }} -\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPagePatch15} -\begin{paste}{RadixExpansionXmpPageFull15}{RadixExpansionXmpPageEmpty15} -\pastebutton{RadixExpansionXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{v: RadixExpansion(12) := fractRadix([1,2,3,11], [0])\bound{v }} -\indentrel{3}\begin{verbatim} - _ - (15) 0.123B0 - Type: RadixExpansion 12 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPageEmpty15} -\begin{paste}{RadixExpansionXmpPageEmpty15}{RadixExpansionXmpPagePatch15} -\pastebutton{RadixExpansionXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{v: RadixExpansion(12) := fractRadix([1,2,3,11], [0])\bound{v }} -\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPagePatch16} -\begin{paste}{RadixExpansionXmpPageFull16}{RadixExpansionXmpPageEmpty16} -\pastebutton{RadixExpansionXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{fractRagits(u)\free{u }} -\indentrel{3}\begin{verbatim} - _______ - (16) [3,7,3,0,7,7] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPageEmpty16} -\begin{paste}{RadixExpansionXmpPageEmpty16}{RadixExpansionXmpPagePatch16} -\pastebutton{RadixExpansionXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{fractRagits(u)\free{u }} -\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPagePatch17} -\begin{paste}{RadixExpansionXmpPageFull17}{RadixExpansionXmpPageEmpty17} -\pastebutton{RadixExpansionXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{a :: Fraction(Integer)\free{a }} -\indentrel{3}\begin{verbatim} - 76543 - (17) ÄÄÄÄÄ - 210 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RadixExpansionXmpPageEmpty17} -\begin{paste}{RadixExpansionXmpPageEmpty17}{RadixExpansionXmpPagePatch17} -\pastebutton{RadixExpansionXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{a :: Fraction(Integer)\free{a }} -\end{paste}\end{patch} - diff --git a/books/pages/reclos.pht b/books/pages/reclos.pht deleted file mode 100644 index 2e3ed9c..0000000 --- a/books/pages/reclos.pht +++ /dev/null @@ -1,1258 +0,0 @@ -\begin{patch}{RealClosureXmpPagePatch1} -\begin{paste}{RealClosureXmpPageFull1}{RealClosureXmpPageEmpty1} -\pastebutton{RealClosureXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{Ran := RECLOS(FRAC INT)\bound{Ran }} -\indentrel{3}\begin{verbatim} - (1) RealClosure Fraction Integer - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty1} -\begin{paste}{RealClosureXmpPageEmpty1}{RealClosureXmpPagePatch1} -\pastebutton{RealClosureXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{Ran := RECLOS(FRAC INT)\bound{Ran }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch2} -\begin{paste}{RealClosureXmpPageFull2}{RealClosureXmpPageEmpty2} -\pastebutton{RealClosureXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{fourSquares(a:Ran,b:Ran,c:Ran,d:Ran):Ran == sqrt(a)+sqrt(b) - sqrt(c)-sqrt(d)\free{Ran }\bound{fs }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty2} -\begin{paste}{RealClosureXmpPageEmpty2}{RealClosureXmpPagePatch2} -\pastebutton{RealClosureXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{fourSquares(a:Ran,b:Ran,c:Ran,d:Ran):Ran == sqrt(a)+sqrt(b) - sqrt(c)-sqrt(d)\free{Ran }\bound{fs }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch3} -\begin{paste}{RealClosureXmpPageFull3}{RealClosureXmpPageEmpty3} -\pastebutton{RealClosureXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{squareDiff1 := fourSquares(73,548,60,586)\free{fs }\bound{sd1 }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄ¿ ÚÄÄ¿ ÚÄÄÄ¿ ÚÄÄ¿ - (3) - \³586 - \³60 + \³548 + \³73 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty3} -\begin{paste}{RealClosureXmpPageEmpty3}{RealClosureXmpPagePatch3} -\pastebutton{RealClosureXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{squareDiff1 := fourSquares(73,548,60,586)\free{fs }\bound{sd1 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch4} -\begin{paste}{RealClosureXmpPageFull4}{RealClosureXmpPageEmpty4} -\pastebutton{RealClosureXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{recip(squareDiff1)\free{sd1 }} -\indentrel{3}\begin{verbatim} - (4) - ÚÄÄÄ¿ ÚÄÄ¿ ÚÄÄ¿ - (54602\³548 + 149602\³73 )\³60 - + - ÚÄÄ¿ ÚÄÄÄ¿ - 49502\³73 \³548 + 9900895 - * - ÚÄÄÄ¿ - \³586 - + - ÚÄÄ¿ ÚÄÄÄ¿ ÚÄÄ¿ ÚÄÄÄ¿ - (154702\³73 \³548 + 30941947)\³60 + 10238421\³548 - + - ÚÄÄ¿ - 28051871\³73 - Type: Union(RealClosure Fraction Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty4} -\begin{paste}{RealClosureXmpPageEmpty4}{RealClosureXmpPagePatch4} -\pastebutton{RealClosureXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{recip(squareDiff1)\free{sd1 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch5} -\begin{paste}{RealClosureXmpPageFull5}{RealClosureXmpPageEmpty5} -\pastebutton{RealClosureXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{sign(squareDiff1)\free{sd1 }} -\indentrel{3}\begin{verbatim} - (5) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty5} -\begin{paste}{RealClosureXmpPageEmpty5}{RealClosureXmpPagePatch5} -\pastebutton{RealClosureXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{sign(squareDiff1)\free{sd1 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch6} -\begin{paste}{RealClosureXmpPageFull6}{RealClosureXmpPageEmpty6} -\pastebutton{RealClosureXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{squareDiff2 := fourSquares(165,778,86,990)\free{fs }\bound{sd2 }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄ¿ ÚÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ - (6) - \³990 - \³86 + \³778 + \³165 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty6} -\begin{paste}{RealClosureXmpPageEmpty6}{RealClosureXmpPagePatch6} -\pastebutton{RealClosureXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{squareDiff2 := fourSquares(165,778,86,990)\free{fs }\bound{sd2 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch7} -\begin{paste}{RealClosureXmpPageFull7}{RealClosureXmpPageEmpty7} -\pastebutton{RealClosureXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{recip(squareDiff2)\free{sd2 }} -\indentrel{3}\begin{verbatim} - (7) - ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄ¿ - (556778\³778 + 1209010\³165 )\³86 - + - ÚÄÄÄ¿ ÚÄÄÄ¿ - 401966\³165 \³778 + 144019431 - * - ÚÄÄÄ¿ - \³990 - + - ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄ¿ - (1363822\³165 \³778 + 488640503)\³86 - + - ÚÄÄÄ¿ ÚÄÄÄ¿ - 162460913\³778 + 352774119\³165 - Type: Union(RealClosure Fraction Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty7} -\begin{paste}{RealClosureXmpPageEmpty7}{RealClosureXmpPagePatch7} -\pastebutton{RealClosureXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{recip(squareDiff2)\free{sd2 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch8} -\begin{paste}{RealClosureXmpPageFull8}{RealClosureXmpPageEmpty8} -\pastebutton{RealClosureXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{sign(squareDiff2)\free{sd2 }} -\indentrel{3}\begin{verbatim} - (8) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty8} -\begin{paste}{RealClosureXmpPageEmpty8}{RealClosureXmpPagePatch8} -\pastebutton{RealClosureXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{sign(squareDiff2)\free{sd2 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch9} -\begin{paste}{RealClosureXmpPageFull9}{RealClosureXmpPageEmpty9} -\pastebutton{RealClosureXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{squareDiff3 := fourSquares(217,708,226,692)\free{fs }\bound{sd3 }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ - (9) - \³692 - \³226 + \³708 + \³217 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty9} -\begin{paste}{RealClosureXmpPageEmpty9}{RealClosureXmpPagePatch9} -\pastebutton{RealClosureXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{squareDiff3 := fourSquares(217,708,226,692)\free{fs }\bound{sd3 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch10} -\begin{paste}{RealClosureXmpPageFull10}{RealClosureXmpPageEmpty10} -\pastebutton{RealClosureXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{recip(squareDiff3)\free{sd3 }} -\indentrel{3}\begin{verbatim} - (10) - ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ - (- 34102\³708 - 61598\³217 )\³226 - + - ÚÄÄÄ¿ ÚÄÄÄ¿ - - 34802\³217 \³708 - 13641141 - * - ÚÄÄÄ¿ - \³692 - + - ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ - (- 60898\³217 \³708 - 23869841)\³226 - + - ÚÄÄÄ¿ ÚÄÄÄ¿ - - 13486123\³708 - 24359809\³217 - Type: Union(RealClosure Fraction Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty10} -\begin{paste}{RealClosureXmpPageEmpty10}{RealClosureXmpPagePatch10} -\pastebutton{RealClosureXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{recip(squareDiff3)\free{sd3 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch11} -\begin{paste}{RealClosureXmpPageFull11}{RealClosureXmpPageEmpty11} -\pastebutton{RealClosureXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{sign(squareDiff3)\free{sd3 }} -\indentrel{3}\begin{verbatim} - (11) - 1 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty11} -\begin{paste}{RealClosureXmpPageEmpty11}{RealClosureXmpPagePatch11} -\pastebutton{RealClosureXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{sign(squareDiff3)\free{sd3 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch12} -\begin{paste}{RealClosureXmpPageFull12}{RealClosureXmpPageEmpty12} -\pastebutton{RealClosureXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{squareDiff4 := fourSquares(155,836,162,820)\free{fs }\bound{sd4 }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ - (12) - \³820 - \³162 + \³836 + \³155 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty12} -\begin{paste}{RealClosureXmpPageEmpty12}{RealClosureXmpPagePatch12} -\pastebutton{RealClosureXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{squareDiff4 := fourSquares(155,836,162,820)\free{fs }\bound{sd4 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch13} -\begin{paste}{RealClosureXmpPageFull13}{RealClosureXmpPageEmpty13} -\pastebutton{RealClosureXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{recip(squareDiff4)\free{sd4 }} -\indentrel{3}\begin{verbatim} - (13) - ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ - (- 37078\³836 - 86110\³155 )\³162 - + - ÚÄÄÄ¿ ÚÄÄÄ¿ - - 37906\³155 \³836 - 13645107 - * - ÚÄÄÄ¿ - \³820 - + - ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ - (- 85282\³155 \³836 - 30699151)\³162 - + - ÚÄÄÄ¿ ÚÄÄÄ¿ - - 13513901\³836 - 31384703\³155 - Type: Union(RealClosure Fraction Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty13} -\begin{paste}{RealClosureXmpPageEmpty13}{RealClosureXmpPagePatch13} -\pastebutton{RealClosureXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{recip(squareDiff4)\free{sd4 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch14} -\begin{paste}{RealClosureXmpPageFull14}{RealClosureXmpPageEmpty14} -\pastebutton{RealClosureXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{sign(squareDiff4)\free{sd4 }} -\indentrel{3}\begin{verbatim} - (14) - 1 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty14} -\begin{paste}{RealClosureXmpPageEmpty14}{RealClosureXmpPagePatch14} -\pastebutton{RealClosureXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{sign(squareDiff4)\free{sd4 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch15} -\begin{paste}{RealClosureXmpPageFull15}{RealClosureXmpPageEmpty15} -\pastebutton{RealClosureXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{squareDiff5 := fourSquares(591,772,552,818)\free{fs }\bound{sd5 }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ - (15) - \³818 - \³552 + \³772 + \³591 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty15} -\begin{paste}{RealClosureXmpPageEmpty15}{RealClosureXmpPagePatch15} -\pastebutton{RealClosureXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{squareDiff5 := fourSquares(591,772,552,818)\free{fs }\bound{sd5 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch16} -\begin{paste}{RealClosureXmpPageFull16}{RealClosureXmpPageEmpty16} -\pastebutton{RealClosureXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{recip(squareDiff5)\free{sd5 }} -\indentrel{3}\begin{verbatim} - (16) - ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ - (70922\³772 + 81058\³591 )\³552 - + - ÚÄÄÄ¿ ÚÄÄÄ¿ - 68542\³591 \³772 + 46297673 - * - ÚÄÄÄ¿ - \³818 - + - ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ - (83438\³591 \³772 + 56359389)\³552 + 47657051\³772 - + - ÚÄÄÄ¿ - 54468081\³591 - Type: Union(RealClosure Fraction Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty16} -\begin{paste}{RealClosureXmpPageEmpty16}{RealClosureXmpPagePatch16} -\pastebutton{RealClosureXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{recip(squareDiff5)\free{sd5 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch17} -\begin{paste}{RealClosureXmpPageFull17}{RealClosureXmpPageEmpty17} -\pastebutton{RealClosureXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{sign(squareDiff5)\free{sd5 }} -\indentrel{3}\begin{verbatim} - (17) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty17} -\begin{paste}{RealClosureXmpPageEmpty17}{RealClosureXmpPagePatch17} -\pastebutton{RealClosureXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{sign(squareDiff5)\free{sd5 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch18} -\begin{paste}{RealClosureXmpPageFull18}{RealClosureXmpPageEmpty18} -\pastebutton{RealClosureXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{squareDiff6 := fourSquares(434,1053,412,1088)\free{fs }\bound{sd6 }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄÄ¿ ÚÄÄÄ¿ - (18) - \³1088 - \³412 + \³1053 + \³434 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty18} -\begin{paste}{RealClosureXmpPageEmpty18}{RealClosureXmpPagePatch18} -\pastebutton{RealClosureXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{squareDiff6 := fourSquares(434,1053,412,1088)\free{fs }\bound{sd6 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch19} -\begin{paste}{RealClosureXmpPageFull19}{RealClosureXmpPageEmpty19} -\pastebutton{RealClosureXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{recip(squareDiff6)\free{sd6 }} -\indentrel{3}\begin{verbatim} - (19) - ÚÄÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ - (115442\³1053 + 179818\³434 )\³412 - + - ÚÄÄÄ¿ ÚÄÄÄÄ¿ - 112478\³434 \³1053 + 76037291 - * - ÚÄÄÄÄ¿ - \³1088 - + - ÚÄÄÄ¿ ÚÄÄÄÄ¿ ÚÄÄÄ¿ - (182782\³434 \³1053 + 123564147)\³412 - + - ÚÄÄÄÄ¿ ÚÄÄÄ¿ - 77290639\³1053 + 120391609\³434 - Type: Union(RealClosure Fraction Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty19} -\begin{paste}{RealClosureXmpPageEmpty19}{RealClosureXmpPagePatch19} -\pastebutton{RealClosureXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{recip(squareDiff6)\free{sd6 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch20} -\begin{paste}{RealClosureXmpPageFull20}{RealClosureXmpPageEmpty20} -\pastebutton{RealClosureXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{sign(squareDiff6)\free{sd6 }} -\indentrel{3}\begin{verbatim} - (20) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty20} -\begin{paste}{RealClosureXmpPageEmpty20}{RealClosureXmpPagePatch20} -\pastebutton{RealClosureXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{sign(squareDiff6)\free{sd6 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch21} -\begin{paste}{RealClosureXmpPageFull21}{RealClosureXmpPageEmpty21} -\pastebutton{RealClosureXmpPageFull21}{\hidepaste} -\tab{5}\spadcommand{squareDiff7 := fourSquares(514,1049,446,1152)\free{fs }\bound{sd7 }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄÄ¿ ÚÄÄÄ¿ - (21) - \³1152 - \³446 + \³1049 + \³514 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty21} -\begin{paste}{RealClosureXmpPageEmpty21}{RealClosureXmpPagePatch21} -\pastebutton{RealClosureXmpPageEmpty21}{\showpaste} -\tab{5}\spadcommand{squareDiff7 := fourSquares(514,1049,446,1152)\free{fs }\bound{sd7 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch22} -\begin{paste}{RealClosureXmpPageFull22}{RealClosureXmpPageEmpty22} -\pastebutton{RealClosureXmpPageFull22}{\hidepaste} -\tab{5}\spadcommand{recip(squareDiff7)\free{sd7 }} -\indentrel{3}\begin{verbatim} - (22) - ÚÄÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ - (349522\³1049 + 499322\³514 )\³446 - + - ÚÄÄÄ¿ ÚÄÄÄÄ¿ - 325582\³514 \³1049 + 239072537 - * - ÚÄÄÄÄ¿ - \³1152 - + - ÚÄÄÄ¿ ÚÄÄÄÄ¿ ÚÄÄÄ¿ - (523262\³514 \³1049 + 384227549)\³446 - + - ÚÄÄÄÄ¿ ÚÄÄÄ¿ - 250534873\³1049 + 357910443\³514 - Type: Union(RealClosure Fraction Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty22} -\begin{paste}{RealClosureXmpPageEmpty22}{RealClosureXmpPagePatch22} -\pastebutton{RealClosureXmpPageEmpty22}{\showpaste} -\tab{5}\spadcommand{recip(squareDiff7)\free{sd7 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch23} -\begin{paste}{RealClosureXmpPageFull23}{RealClosureXmpPageEmpty23} -\pastebutton{RealClosureXmpPageFull23}{\hidepaste} -\tab{5}\spadcommand{sign(squareDiff7)\free{sd7 }} -\indentrel{3}\begin{verbatim} - (23) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty23} -\begin{paste}{RealClosureXmpPageEmpty23}{RealClosureXmpPagePatch23} -\pastebutton{RealClosureXmpPageEmpty23}{\showpaste} -\tab{5}\spadcommand{sign(squareDiff7)\free{sd7 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch24} -\begin{paste}{RealClosureXmpPageFull24}{RealClosureXmpPageEmpty24} -\pastebutton{RealClosureXmpPageFull24}{\hidepaste} -\tab{5}\spadcommand{squareDiff8 := fourSquares(190,1751,208,1698)\free{fs }\bound{sd8 }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄÄ¿ ÚÄÄÄ¿ - (24) - \³1698 - \³208 + \³1751 + \³190 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty24} -\begin{paste}{RealClosureXmpPageEmpty24}{RealClosureXmpPagePatch24} -\pastebutton{RealClosureXmpPageEmpty24}{\showpaste} -\tab{5}\spadcommand{squareDiff8 := fourSquares(190,1751,208,1698)\free{fs }\bound{sd8 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch25} -\begin{paste}{RealClosureXmpPageFull25}{RealClosureXmpPageEmpty25} -\pastebutton{RealClosureXmpPageFull25}{\hidepaste} -\tab{5}\spadcommand{recip(squareDiff8)\free{sd8 }} -\indentrel{3}\begin{verbatim} - (25) - ÚÄÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ - (- 214702\³1751 - 651782\³190 )\³208 - + - ÚÄÄÄ¿ ÚÄÄÄÄ¿ - - 224642\³190 \³1751 - 129571901 - * - ÚÄÄÄÄ¿ - \³1698 - + - ÚÄÄÄ¿ ÚÄÄÄÄ¿ ÚÄÄÄ¿ - (- 641842\³190 \³1751 - 370209881)\³208 - + - ÚÄÄÄÄ¿ ÚÄÄÄ¿ - - 127595865\³1751 - 387349387\³190 - Type: Union(RealClosure Fraction Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty25} -\begin{paste}{RealClosureXmpPageEmpty25}{RealClosureXmpPagePatch25} -\pastebutton{RealClosureXmpPageEmpty25}{\showpaste} -\tab{5}\spadcommand{recip(squareDiff8)\free{sd8 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch26} -\begin{paste}{RealClosureXmpPageFull26}{RealClosureXmpPageEmpty26} -\pastebutton{RealClosureXmpPageFull26}{\hidepaste} -\tab{5}\spadcommand{sign(squareDiff8)\free{sd8 }} -\indentrel{3}\begin{verbatim} - (26) - 1 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty26} -\begin{paste}{RealClosureXmpPageEmpty26}{RealClosureXmpPagePatch26} -\pastebutton{RealClosureXmpPageEmpty26}{\showpaste} -\tab{5}\spadcommand{sign(squareDiff8)\free{sd8 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch27} -\begin{paste}{RealClosureXmpPageFull27}{RealClosureXmpPageEmpty27} -\pastebutton{RealClosureXmpPageFull27}{\hidepaste} -\tab{5}\spadcommand{relativeApprox(squareDiff8,10**(-3))::Float\free{sd8 }} -\indentrel{3}\begin{verbatim} - (27) - 0.2340527771 5937700123 E -10 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty27} -\begin{paste}{RealClosureXmpPageEmpty27}{RealClosureXmpPagePatch27} -\pastebutton{RealClosureXmpPageEmpty27}{\showpaste} -\tab{5}\spadcommand{relativeApprox(squareDiff8,10**(-3))::Float\free{sd8 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch28} -\begin{paste}{RealClosureXmpPageFull28}{RealClosureXmpPageEmpty28} -\pastebutton{RealClosureXmpPageFull28}{\hidepaste} -\tab{5}\spadcommand{l := allRootsOf((x**2-2)**2-2)$Ran\free{Ran }\bound{l }} -\indentrel{3}\begin{verbatim} - (28) [%R33,%R34,%R35,%R36] - Type: List RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty28} -\begin{paste}{RealClosureXmpPageEmpty28}{RealClosureXmpPagePatch28} -\pastebutton{RealClosureXmpPageEmpty28}{\showpaste} -\tab{5}\spadcommand{l := allRootsOf((x**2-2)**2-2)$Ran\free{Ran }\bound{l }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch29} -\begin{paste}{RealClosureXmpPageFull29}{RealClosureXmpPageEmpty29} -\pastebutton{RealClosureXmpPageFull29}{\hidepaste} -\tab{5}\spadcommand{removeDuplicates map(mainDefiningPolynomial,l)\free{l }} -\indentrel{3}\begin{verbatim} - 4 2 - (29) [? - 4? + 2] -Type: List Union(SparseUnivariatePolynomial RealClosure Fraction Integer,"failed") -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty29} -\begin{paste}{RealClosureXmpPageEmpty29}{RealClosureXmpPagePatch29} -\pastebutton{RealClosureXmpPageEmpty29}{\showpaste} -\tab{5}\spadcommand{removeDuplicates map(mainDefiningPolynomial,l)\free{l }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch30} -\begin{paste}{RealClosureXmpPageFull30}{RealClosureXmpPageEmpty30} -\pastebutton{RealClosureXmpPageFull30}{\hidepaste} -\tab{5}\spadcommand{map(mainCharacterization,l)\free{l }} -\indentrel{3}\begin{verbatim} - (30) [[- 2,- 1[,[- 1,0[,[0,1[,[1,2[] -Type: List Union(RightOpenIntervalRootCharacterization(RealClosure Fraction Integer,SparseUnivariatePolynomial RealClosure Fraction Integer),"failed") -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty30} -\begin{paste}{RealClosureXmpPageEmpty30}{RealClosureXmpPagePatch30} -\pastebutton{RealClosureXmpPageEmpty30}{\showpaste} -\tab{5}\spadcommand{map(mainCharacterization,l)\free{l }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch31} -\begin{paste}{RealClosureXmpPageFull31}{RealClosureXmpPageEmpty31} -\pastebutton{RealClosureXmpPageFull31}{\hidepaste} -\tab{5}\spadcommand{[reduce(+,l),reduce(*,l)-2]\free{l }} -\indentrel{3}\begin{verbatim} - (31) [0,0] - Type: List RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty31} -\begin{paste}{RealClosureXmpPageEmpty31}{RealClosureXmpPagePatch31} -\pastebutton{RealClosureXmpPageEmpty31}{\showpaste} -\tab{5}\spadcommand{[reduce(+,l),reduce(*,l)-2]\free{l }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch32} -\begin{paste}{RealClosureXmpPageFull32}{RealClosureXmpPageEmpty32} -\pastebutton{RealClosureXmpPageFull32}{\hidepaste} -\tab{5}\spadcommand{(s2, s5, s10) := (sqrt(2)$Ran, sqrt(5)$Ran, sqrt(10)$Ran)\free{Ran }\bound{s2 }\bound{s5 }\bound{s10 }} -\indentrel{3}\begin{verbatim} - ÚÄÄ¿ - (32) \³10 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty32} -\begin{paste}{RealClosureXmpPageEmpty32}{RealClosureXmpPagePatch32} -\pastebutton{RealClosureXmpPageEmpty32}{\showpaste} -\tab{5}\spadcommand{(s2, s5, s10) := (sqrt(2)$Ran, sqrt(5)$Ran, sqrt(10)$Ran)\free{Ran }\bound{s2 }\bound{s5 }\bound{s10 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch33} -\begin{paste}{RealClosureXmpPageFull33}{RealClosureXmpPageEmpty33} -\pastebutton{RealClosureXmpPageFull33}{\hidepaste} -\tab{5}\spadcommand{eq1:=sqrt(s10+3)*sqrt(s5+2) - sqrt(s10-3)*sqrt(s5-2) = sqrt(10*s2+10)\free{s2 }\free{s5 }\free{s10 }\bound{eq1 }} -\indentrel{3}\begin{verbatim} - (33) - ÚÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄ¿ - ³ ÚÄÄ¿ ³ ÚÄ¿ ³ ÚÄÄ¿ ³ ÚÄ¿ - - \³\³10 - 3 \³\³5 - 2 + \³\³10 + 3 \³\³5 + 2 = - ÚÄÄÄÄÄÄÄÄÄÄÄ¿ - ³ ÚÄ¿ - \³10\³2 + 10 - Type: Equation RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty33} -\begin{paste}{RealClosureXmpPageEmpty33}{RealClosureXmpPagePatch33} -\pastebutton{RealClosureXmpPageEmpty33}{\showpaste} -\tab{5}\spadcommand{eq1:=sqrt(s10+3)*sqrt(s5+2) - sqrt(s10-3)*sqrt(s5-2) = sqrt(10*s2+10)\free{s2 }\free{s5 }\free{s10 }\bound{eq1 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch34} -\begin{paste}{RealClosureXmpPageFull34}{RealClosureXmpPageEmpty34} -\pastebutton{RealClosureXmpPageFull34}{\hidepaste} -\tab{5}\spadcommand{eq1::Boolean\free{eq1 }} -\indentrel{3}\begin{verbatim} - (34) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty34} -\begin{paste}{RealClosureXmpPageEmpty34}{RealClosureXmpPagePatch34} -\pastebutton{RealClosureXmpPageEmpty34}{\showpaste} -\tab{5}\spadcommand{eq1::Boolean\free{eq1 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch35} -\begin{paste}{RealClosureXmpPageFull35}{RealClosureXmpPageEmpty35} -\pastebutton{RealClosureXmpPageFull35}{\hidepaste} -\tab{5}\spadcommand{eq2:=sqrt(s5+2)*sqrt(s2+1) - sqrt(s5-2)*sqrt(s2-1) = sqrt(2*s10+2)\free{s2 }\free{s5 }\free{s10 }\bound{eq2 }} -\indentrel{3}\begin{verbatim} - (35) - ÚÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄ¿ - ³ ÚÄ¿ ³ ÚÄ¿ ³ ÚÄ¿ ³ ÚÄ¿ - - \³\³5 - 2 \³\³2 - 1 + \³\³5 + 2 \³\³2 + 1 = - ÚÄÄÄÄÄÄÄÄÄÄ¿ - ³ ÚÄÄ¿ - \³2\³10 + 2 - Type: Equation RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty35} -\begin{paste}{RealClosureXmpPageEmpty35}{RealClosureXmpPagePatch35} -\pastebutton{RealClosureXmpPageEmpty35}{\showpaste} -\tab{5}\spadcommand{eq2:=sqrt(s5+2)*sqrt(s2+1) - sqrt(s5-2)*sqrt(s2-1) = sqrt(2*s10+2)\free{s2 }\free{s5 }\free{s10 }\bound{eq2 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch36} -\begin{paste}{RealClosureXmpPageFull36}{RealClosureXmpPageEmpty36} -\pastebutton{RealClosureXmpPageFull36}{\hidepaste} -\tab{5}\spadcommand{eq2::Boolean\free{eq2 }} -\indentrel{3}\begin{verbatim} - (36) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty36} -\begin{paste}{RealClosureXmpPageEmpty36}{RealClosureXmpPagePatch36} -\pastebutton{RealClosureXmpPageEmpty36}{\showpaste} -\tab{5}\spadcommand{eq2::Boolean\free{eq2 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch37} -\begin{paste}{RealClosureXmpPageFull37}{RealClosureXmpPageEmpty37} -\pastebutton{RealClosureXmpPageFull37}{\hidepaste} -\tab{5}\spadcommand{s3 := sqrt(3)$Ran\free{Ran }\bound{s3 }} -\indentrel{3}\begin{verbatim} - ÚÄ¿ - (37) \³3 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty37} -\begin{paste}{RealClosureXmpPageEmpty37}{RealClosureXmpPagePatch37} -\pastebutton{RealClosureXmpPageEmpty37}{\showpaste} -\tab{5}\spadcommand{s3 := sqrt(3)$Ran\free{Ran }\bound{s3 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch38} -\begin{paste}{RealClosureXmpPageFull38}{RealClosureXmpPageEmpty38} -\pastebutton{RealClosureXmpPageFull38}{\hidepaste} -\tab{5}\spadcommand{s7:= sqrt(7)$Ran\free{Ran }\bound{s7 }} -\indentrel{3}\begin{verbatim} - ÚÄ¿ - (38) \³7 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty38} -\begin{paste}{RealClosureXmpPageEmpty38}{RealClosureXmpPagePatch38} -\pastebutton{RealClosureXmpPageEmpty38}{\showpaste} -\tab{5}\spadcommand{s7:= sqrt(7)$Ran\free{Ran }\bound{s7 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch39} -\begin{paste}{RealClosureXmpPageFull39}{RealClosureXmpPageEmpty39} -\pastebutton{RealClosureXmpPageFull39}{\hidepaste} -\tab{5}\spadcommand{e1 := sqrt(2*s7-3*s3,3)\free{s7 }\free{s3 }\bound{e1 }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ - 3³ ÚÄ¿ ÚÄ¿ - (39) \³2\³7 - 3\³3 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty39} -\begin{paste}{RealClosureXmpPageEmpty39}{RealClosureXmpPagePatch39} -\pastebutton{RealClosureXmpPageEmpty39}{\showpaste} -\tab{5}\spadcommand{e1 := sqrt(2*s7-3*s3,3)\free{s7 }\free{s3 }\bound{e1 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch40} -\begin{paste}{RealClosureXmpPageFull40}{RealClosureXmpPageEmpty40} -\pastebutton{RealClosureXmpPageFull40}{\hidepaste} -\tab{5}\spadcommand{e2 := sqrt(2*s7+3*s3,3)\free{s7 }\free{s3 }\bound{e2 }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ - 3³ ÚÄ¿ ÚÄ¿ - (40) \³2\³7 + 3\³3 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty40} -\begin{paste}{RealClosureXmpPageEmpty40}{RealClosureXmpPagePatch40} -\pastebutton{RealClosureXmpPageEmpty40}{\showpaste} -\tab{5}\spadcommand{e2 := sqrt(2*s7+3*s3,3)\free{s7 }\free{s3 }\bound{e2 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch41} -\begin{paste}{RealClosureXmpPageFull41}{RealClosureXmpPageEmpty41} -\pastebutton{RealClosureXmpPageFull41}{\hidepaste} -\tab{5}\spadcommand{e2-e1-s3\free{e2 }\free{e1 }\free{s3 }} -\indentrel{3}\begin{verbatim} - (41) 0 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty41} -\begin{paste}{RealClosureXmpPageEmpty41}{RealClosureXmpPagePatch41} -\pastebutton{RealClosureXmpPageEmpty41}{\showpaste} -\tab{5}\spadcommand{e2-e1-s3\free{e2 }\free{e1 }\free{s3 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch42} -\begin{paste}{RealClosureXmpPageFull42}{RealClosureXmpPageEmpty42} -\pastebutton{RealClosureXmpPageFull42}{\hidepaste} -\tab{5}\spadcommand{pol : UP(x,Ran) := x**4+(7/3)*x**2+30*x-(100/3)\free{Ran }\bound{pol }} -\indentrel{3}\begin{verbatim} - 4 7 2 100 - (42) x + Ä x + 30x - ÄÄÄ - 3 3 -Type: UnivariatePolynomial(x,RealClosure Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty42} -\begin{paste}{RealClosureXmpPageEmpty42}{RealClosureXmpPagePatch42} -\pastebutton{RealClosureXmpPageEmpty42}{\showpaste} -\tab{5}\spadcommand{pol : UP(x,Ran) := x**4+(7/3)*x**2+30*x-(100/3)\free{Ran }\bound{pol }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch43} -\begin{paste}{RealClosureXmpPageFull43}{RealClosureXmpPageEmpty43} -\pastebutton{RealClosureXmpPageFull43}{\hidepaste} -\tab{5}\spadcommand{r1 := sqrt(7633)$Ran\free{Ran }\bound{r1 }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄÄ¿ - (43) \³7633 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty43} -\begin{paste}{RealClosureXmpPageEmpty43}{RealClosureXmpPagePatch43} -\pastebutton{RealClosureXmpPageEmpty43}{\showpaste} -\tab{5}\spadcommand{r1 := sqrt(7633)$Ran\free{Ran }\bound{r1 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch44} -\begin{paste}{RealClosureXmpPageFull44}{RealClosureXmpPageEmpty44} -\pastebutton{RealClosureXmpPageFull44}{\hidepaste} -\tab{5}\spadcommand{alpha := sqrt(5*r1-436,3)/3\free{r1 }\bound{alpha }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ - 1 3³ ÚÄÄÄÄ¿ - (44) Ä \³5\³7633 - 436 - 3 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty44} -\begin{paste}{RealClosureXmpPageEmpty44}{RealClosureXmpPagePatch44} -\pastebutton{RealClosureXmpPageEmpty44}{\showpaste} -\tab{5}\spadcommand{alpha := sqrt(5*r1-436,3)/3\free{r1 }\bound{alpha }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch45} -\begin{paste}{RealClosureXmpPageFull45}{RealClosureXmpPageEmpty45} -\pastebutton{RealClosureXmpPageFull45}{\hidepaste} -\tab{5}\spadcommand{beta := -sqrt(5*r1+436,3)/3\free{r1 }\bound{beta }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ - 1 3³ ÚÄÄÄÄ¿ - (45) - Ä \³5\³7633 + 436 - 3 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty45} -\begin{paste}{RealClosureXmpPageEmpty45}{RealClosureXmpPagePatch45} -\pastebutton{RealClosureXmpPageEmpty45}{\showpaste} -\tab{5}\spadcommand{beta := -sqrt(5*r1+436,3)/3\free{r1 }\bound{beta }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch46} -\begin{paste}{RealClosureXmpPageFull46}{RealClosureXmpPageEmpty46} -\pastebutton{RealClosureXmpPageFull46}{\hidepaste} -\tab{5}\spadcommand{pol.(alpha+beta-1/3)\free{pol }\free{alpha }\free{beta }} -\indentrel{3}\begin{verbatim} - (46) 0 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty46} -\begin{paste}{RealClosureXmpPageEmpty46}{RealClosureXmpPagePatch46} -\pastebutton{RealClosureXmpPageEmpty46}{\showpaste} -\tab{5}\spadcommand{pol.(alpha+beta-1/3)\free{pol }\free{alpha }\free{beta }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch47} -\begin{paste}{RealClosureXmpPageFull47}{RealClosureXmpPageEmpty47} -\pastebutton{RealClosureXmpPageFull47}{\hidepaste} -\tab{5}\spadcommand{qol : UP(x,Ran) := x**5+10*x**3+20*x+22\free{Ran }\bound{qol }} -\indentrel{3}\begin{verbatim} - 5 3 - (47) x + 10x + 20x + 22 -Type: UnivariatePolynomial(x,RealClosure Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty47} -\begin{paste}{RealClosureXmpPageEmpty47}{RealClosureXmpPagePatch47} -\pastebutton{RealClosureXmpPageEmpty47}{\showpaste} -\tab{5}\spadcommand{qol : UP(x,Ran) := x**5+10*x**3+20*x+22\free{Ran }\bound{qol }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch48} -\begin{paste}{RealClosureXmpPageFull48}{RealClosureXmpPageEmpty48} -\pastebutton{RealClosureXmpPageFull48}{\hidepaste} -\tab{5}\spadcommand{r2 := sqrt(153)$Ran\free{Ran }\bound{r2 }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄ¿ - (48) \³153 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty48} -\begin{paste}{RealClosureXmpPageEmpty48}{RealClosureXmpPagePatch48} -\pastebutton{RealClosureXmpPageEmpty48}{\showpaste} -\tab{5}\spadcommand{r2 := sqrt(153)$Ran\free{Ran }\bound{r2 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch49} -\begin{paste}{RealClosureXmpPageFull49}{RealClosureXmpPageEmpty49} -\pastebutton{RealClosureXmpPageFull49}{\hidepaste} -\tab{5}\spadcommand{alpha2 := sqrt(r2-11,5)\free{r2 }\bound{alpha2 }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄÄÄÄÄÄÄÄÄ¿ - 5³ ÚÄÄÄ¿ - (49) \³\³153 - 11 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty49} -\begin{paste}{RealClosureXmpPageEmpty49}{RealClosureXmpPagePatch49} -\pastebutton{RealClosureXmpPageEmpty49}{\showpaste} -\tab{5}\spadcommand{alpha2 := sqrt(r2-11,5)\free{r2 }\bound{alpha2 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch50} -\begin{paste}{RealClosureXmpPageFull50}{RealClosureXmpPageEmpty50} -\pastebutton{RealClosureXmpPageFull50}{\hidepaste} -\tab{5}\spadcommand{beta2 := -sqrt(r2+11,5)\free{r2 }\bound{beta2 }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄÄÄÄÄÄÄÄÄ¿ - 5³ ÚÄÄÄ¿ - (50) - \³\³153 + 11 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty50} -\begin{paste}{RealClosureXmpPageEmpty50}{RealClosureXmpPagePatch50} -\pastebutton{RealClosureXmpPageEmpty50}{\showpaste} -\tab{5}\spadcommand{beta2 := -sqrt(r2+11,5)\free{r2 }\bound{beta2 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch51} -\begin{paste}{RealClosureXmpPageFull51}{RealClosureXmpPageEmpty51} -\pastebutton{RealClosureXmpPageFull51}{\hidepaste} -\tab{5}\spadcommand{qol(alpha2+beta2)\free{qol }\free{alpha2 }\free{beta2 }} -\indentrel{3}\begin{verbatim} - (51) 0 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty51} -\begin{paste}{RealClosureXmpPageEmpty51}{RealClosureXmpPagePatch51} -\pastebutton{RealClosureXmpPageEmpty51}{\showpaste} -\tab{5}\spadcommand{qol(alpha2+beta2)\free{qol }\free{alpha2 }\free{beta2 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch52} -\begin{paste}{RealClosureXmpPageFull52}{RealClosureXmpPageEmpty52} -\pastebutton{RealClosureXmpPageFull52}{\hidepaste} -\tab{5}\spadcommand{dst1:=sqrt(9+4*s2)=1+2*s2\free{s2 }\bound{dst1 }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄÄÄÄÄÄÄ¿ - ³ ÚÄ¿ ÚÄ¿ - (52) \³4\³2 + 9 = 2\³2 + 1 - Type: Equation RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty52} -\begin{paste}{RealClosureXmpPageEmpty52}{RealClosureXmpPagePatch52} -\pastebutton{RealClosureXmpPageEmpty52}{\showpaste} -\tab{5}\spadcommand{dst1:=sqrt(9+4*s2)=1+2*s2\free{s2 }\bound{dst1 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch53} -\begin{paste}{RealClosureXmpPageFull53}{RealClosureXmpPageEmpty53} -\pastebutton{RealClosureXmpPageFull53}{\hidepaste} -\tab{5}\spadcommand{dst1::Boolean\free{dst1 }} -\indentrel{3}\begin{verbatim} - (53) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty53} -\begin{paste}{RealClosureXmpPageEmpty53}{RealClosureXmpPagePatch53} -\pastebutton{RealClosureXmpPageEmpty53}{\showpaste} -\tab{5}\spadcommand{dst1::Boolean\free{dst1 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch54} -\begin{paste}{RealClosureXmpPageFull54}{RealClosureXmpPageEmpty54} -\pastebutton{RealClosureXmpPageFull54}{\hidepaste} -\tab{5}\spadcommand{s6:Ran:=sqrt 6\free{Ran }\bound{s6 }} -\indentrel{3}\begin{verbatim} - ÚÄ¿ - (54) \³6 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty54} -\begin{paste}{RealClosureXmpPageEmpty54}{RealClosureXmpPagePatch54} -\pastebutton{RealClosureXmpPageEmpty54}{\showpaste} -\tab{5}\spadcommand{s6:Ran:=sqrt 6\free{Ran }\bound{s6 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch55} -\begin{paste}{RealClosureXmpPageFull55}{RealClosureXmpPageEmpty55} -\pastebutton{RealClosureXmpPageFull55}{\hidepaste} -\tab{5}\spadcommand{dst2:=sqrt(5+2*s6)+sqrt(5-2*s6) = 2*s3\free{s6 }\free{s3 }\bound{dst2 }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄ¿ - ³ ÚÄ¿ ³ ÚÄ¿ ÚÄ¿ - (55) \³- 2\³6 + 5 + \³2\³6 + 5 = 2\³3 - Type: Equation RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty55} -\begin{paste}{RealClosureXmpPageEmpty55}{RealClosureXmpPagePatch55} -\pastebutton{RealClosureXmpPageEmpty55}{\showpaste} -\tab{5}\spadcommand{dst2:=sqrt(5+2*s6)+sqrt(5-2*s6) = 2*s3\free{s6 }\free{s3 }\bound{dst2 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch56} -\begin{paste}{RealClosureXmpPageFull56}{RealClosureXmpPageEmpty56} -\pastebutton{RealClosureXmpPageFull56}{\hidepaste} -\tab{5}\spadcommand{dst2::Boolean\free{dst2 }} -\indentrel{3}\begin{verbatim} - (56) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty56} -\begin{paste}{RealClosureXmpPageEmpty56}{RealClosureXmpPagePatch56} -\pastebutton{RealClosureXmpPageEmpty56}{\showpaste} -\tab{5}\spadcommand{dst2::Boolean\free{dst2 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch57} -\begin{paste}{RealClosureXmpPageFull57}{RealClosureXmpPageEmpty57} -\pastebutton{RealClosureXmpPageFull57}{\hidepaste} -\tab{5}\spadcommand{s29:Ran:=sqrt 29\free{Ran }\bound{s29 }} -\indentrel{3}\begin{verbatim} - ÚÄÄ¿ - (57) \³29 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty57} -\begin{paste}{RealClosureXmpPageEmpty57}{RealClosureXmpPagePatch57} -\pastebutton{RealClosureXmpPageEmpty57}{\showpaste} -\tab{5}\spadcommand{s29:Ran:=sqrt 29\free{Ran }\bound{s29 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch58} -\begin{paste}{RealClosureXmpPageFull58}{RealClosureXmpPageEmpty58} -\pastebutton{RealClosureXmpPageFull58}{\hidepaste} -\tab{5}\spadcommand{dst4:=sqrt(16-2*s29+2*sqrt(55-10*s29)) = sqrt(22+2*s5)-sqrt(11+2*s29)+s5\free{s29 }\free{s5 }\bound{dst4 }} -\indentrel{3}\begin{verbatim} - (58) - ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ - ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ - ³ ³ ÚÄÄ¿ ÚÄÄ¿ - \³2\³- 10\³29 + 55 - 2\³29 + 16 = - ÚÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄ¿ - ³ ÚÄÄ¿ ³ ÚÄ¿ ÚÄ¿ - - \³2\³29 + 11 + \³2\³5 + 22 + \³5 - Type: Equation RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty58} -\begin{paste}{RealClosureXmpPageEmpty58}{RealClosureXmpPagePatch58} -\pastebutton{RealClosureXmpPageEmpty58}{\showpaste} -\tab{5}\spadcommand{dst4:=sqrt(16-2*s29+2*sqrt(55-10*s29)) = sqrt(22+2*s5)-sqrt(11+2*s29)+s5\free{s29 }\free{s5 }\bound{dst4 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch59} -\begin{paste}{RealClosureXmpPageFull59}{RealClosureXmpPageEmpty59} -\pastebutton{RealClosureXmpPageFull59}{\hidepaste} -\tab{5}\spadcommand{dst4::Boolean\free{dst4 }} -\indentrel{3}\begin{verbatim} - (59) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty59} -\begin{paste}{RealClosureXmpPageEmpty59}{RealClosureXmpPagePatch59} -\pastebutton{RealClosureXmpPageEmpty59}{\showpaste} -\tab{5}\spadcommand{dst4::Boolean\free{dst4 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch60} -\begin{paste}{RealClosureXmpPageFull60}{RealClosureXmpPageEmpty60} -\pastebutton{RealClosureXmpPageFull60}{\hidepaste} -\tab{5}\spadcommand{dst6:=sqrt((112+70*s2)+(46+34*s2)*s5) = (5+4*s2)+(3+s2)*s5\free{s2 }\free{s5 }\bound{dst6 }} -\indentrel{3}\begin{verbatim} - (60) - ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ - ³ ÚÄ¿ ÚÄ¿ ÚÄ¿ - \³(34\³2 + 46)\³5 + 70\³2 + 112 = - ÚÄ¿ ÚÄ¿ ÚÄ¿ - (\³2 + 3)\³5 + 4\³2 + 5 - Type: Equation RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty60} -\begin{paste}{RealClosureXmpPageEmpty60}{RealClosureXmpPagePatch60} -\pastebutton{RealClosureXmpPageEmpty60}{\showpaste} -\tab{5}\spadcommand{dst6:=sqrt((112+70*s2)+(46+34*s2)*s5) = (5+4*s2)+(3+s2)*s5\free{s2 }\free{s5 }\bound{dst6 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch61} -\begin{paste}{RealClosureXmpPageFull61}{RealClosureXmpPageEmpty61} -\pastebutton{RealClosureXmpPageFull61}{\hidepaste} -\tab{5}\spadcommand{dst6::Boolean\free{dst6 }} -\indentrel{3}\begin{verbatim} - (61) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty61} -\begin{paste}{RealClosureXmpPageEmpty61}{RealClosureXmpPagePatch61} -\pastebutton{RealClosureXmpPageEmpty61}{\showpaste} -\tab{5}\spadcommand{dst6::Boolean\free{dst6 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch62} -\begin{paste}{RealClosureXmpPageFull62}{RealClosureXmpPageEmpty62} -\pastebutton{RealClosureXmpPageFull62}{\hidepaste} -\tab{5}\spadcommand{f3:Ran:=sqrt(3,5)\free{Ran }\bound{f3 }} -\indentrel{3}\begin{verbatim} - 5ÚÄ¿ - (62) \³3 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty62} -\begin{paste}{RealClosureXmpPageEmpty62}{RealClosureXmpPagePatch62} -\pastebutton{RealClosureXmpPageEmpty62}{\showpaste} -\tab{5}\spadcommand{f3:Ran:=sqrt(3,5)\free{Ran }\bound{f3 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch63} -\begin{paste}{RealClosureXmpPageFull63}{RealClosureXmpPageEmpty63} -\pastebutton{RealClosureXmpPageFull63}{\hidepaste} -\tab{5}\spadcommand{f25:Ran:=sqrt(1/25,5)\free{Ran }\bound{f25 }} -\indentrel{3}\begin{verbatim} - ÚÄÄ¿ - ³ 1 - (63) 5³ÄÄ - \³25 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty63} -\begin{paste}{RealClosureXmpPageEmpty63}{RealClosureXmpPagePatch63} -\pastebutton{RealClosureXmpPageEmpty63}{\showpaste} -\tab{5}\spadcommand{f25:Ran:=sqrt(1/25,5)\free{Ran }\bound{f25 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch64} -\begin{paste}{RealClosureXmpPageFull64}{RealClosureXmpPageEmpty64} -\pastebutton{RealClosureXmpPageFull64}{\hidepaste} -\tab{5}\spadcommand{f32:Ran:=sqrt(32/5,5)\free{Ran }\bound{f32 }} -\indentrel{3}\begin{verbatim} - ÚÄÄ¿ - ³32 - (64) 5³ÄÄ - \³ 5 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty64} -\begin{paste}{RealClosureXmpPageEmpty64}{RealClosureXmpPagePatch64} -\pastebutton{RealClosureXmpPageEmpty64}{\showpaste} -\tab{5}\spadcommand{f32:Ran:=sqrt(32/5,5)\free{Ran }\bound{f32 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch65} -\begin{paste}{RealClosureXmpPageFull65}{RealClosureXmpPageEmpty65} -\pastebutton{RealClosureXmpPageFull65}{\hidepaste} -\tab{5}\spadcommand{f27:Ran:=sqrt(27/5,5)\free{Ran }\bound{f27 }} -\indentrel{3}\begin{verbatim} - ÚÄÄ¿ - ³27 - (65) 5³ÄÄ - \³ 5 - Type: RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty65} -\begin{paste}{RealClosureXmpPageEmpty65}{RealClosureXmpPagePatch65} -\pastebutton{RealClosureXmpPageEmpty65}{\showpaste} -\tab{5}\spadcommand{f27:Ran:=sqrt(27/5,5)\free{Ran }\bound{f27 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch66} -\begin{paste}{RealClosureXmpPageFull66}{RealClosureXmpPageEmpty66} -\pastebutton{RealClosureXmpPageFull66}{\hidepaste} -\tab{5}\spadcommand{dst5:=sqrt((f32-f27,3)) = f25*(1+f3-f3**2)\free{f32 }\free{f27 }\free{f25 }\free{f3 }\bound{dst5 }} -\indentrel{3}\begin{verbatim} - ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ - ³ ÚÄÄ¿ ÚÄÄ¿ ÚÄÄ¿ - ³ ³27 ³32 5ÚÄ¿2 5ÚÄ¿ ³ 1 - (66) 3³- 5³ÄÄ + 5³ÄÄ = (- \³3 + \³3 + 1) 5³ÄÄ - \³ \³ 5 \³ 5 \³25 - Type: Equation RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty66} -\begin{paste}{RealClosureXmpPageEmpty66}{RealClosureXmpPagePatch66} -\pastebutton{RealClosureXmpPageEmpty66}{\showpaste} -\tab{5}\spadcommand{dst5:=sqrt((f32-f27,3)) = f25*(1+f3-f3**2)\free{f32 }\free{f27 }\free{f25 }\free{f3 }\bound{dst5 }} -\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPagePatch67} -\begin{paste}{RealClosureXmpPageFull67}{RealClosureXmpPageEmpty67} -\pastebutton{RealClosureXmpPageFull67}{\hidepaste} -\tab{5}\spadcommand{dst5::Boolean\free{dst5 }} -\indentrel{3}\begin{verbatim} - (67) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RealClosureXmpPageEmpty67} -\begin{paste}{RealClosureXmpPageEmpty67}{RealClosureXmpPagePatch67} -\pastebutton{RealClosureXmpPageEmpty67}{\showpaste} -\tab{5}\spadcommand{dst5::Boolean\free{dst5 }} -\end{paste}\end{patch} - diff --git a/books/pages/regset.pht b/books/pages/regset.pht deleted file mode 100644 index 9c62078..0000000 --- a/books/pages/regset.pht +++ /dev/null @@ -1,1012 +0,0 @@ -\begin{patch}{RegularTriangularSetXmpPagePatch1} -\begin{paste}{RegularTriangularSetXmpPageFull1}{RegularTriangularSetXmpPageEmpty1} -\pastebutton{RegularTriangularSetXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{R := Integer\bound{R }} -\indentrel{3}\begin{verbatim} - (1) Integer - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty1} -\begin{paste}{RegularTriangularSetXmpPageEmpty1}{RegularTriangularSetXmpPagePatch1} -\pastebutton{RegularTriangularSetXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{R := Integer\bound{R }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch2} -\begin{paste}{RegularTriangularSetXmpPageFull2}{RegularTriangularSetXmpPageEmpty2} -\pastebutton{RegularTriangularSetXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{ls : List Symbol := [x,y,z,t]\bound{ls }} -\indentrel{3}\begin{verbatim} - (2) [x,y,z,t] - Type: List Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty2} -\begin{paste}{RegularTriangularSetXmpPageEmpty2}{RegularTriangularSetXmpPagePatch2} -\pastebutton{RegularTriangularSetXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{ls : List Symbol := [x,y,z,t]\bound{ls }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch3} -\begin{paste}{RegularTriangularSetXmpPageFull3}{RegularTriangularSetXmpPageEmpty3} -\pastebutton{RegularTriangularSetXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{V := OVAR(ls)\free{ls }\bound{V }} -\indentrel{3}\begin{verbatim} - (3) OrderedVariableList [x,y,z,t] - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty3} -\begin{paste}{RegularTriangularSetXmpPageEmpty3}{RegularTriangularSetXmpPagePatch3} -\pastebutton{RegularTriangularSetXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{V := OVAR(ls)\free{ls }\bound{V }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch4} -\begin{paste}{RegularTriangularSetXmpPageFull4}{RegularTriangularSetXmpPageEmpty4} -\pastebutton{RegularTriangularSetXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{E := IndexedExponents V\free{V }\bound{E }} -\indentrel{3}\begin{verbatim} - (4) IndexedExponents OrderedVariableList [x,y,z,t] - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty4} -\begin{paste}{RegularTriangularSetXmpPageEmpty4}{RegularTriangularSetXmpPagePatch4} -\pastebutton{RegularTriangularSetXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{E := IndexedExponents V\free{V }\bound{E }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch5} -\begin{paste}{RegularTriangularSetXmpPageFull5}{RegularTriangularSetXmpPageEmpty5} -\pastebutton{RegularTriangularSetXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{P := NSMP(R, V)\free{R }\free{V }\bound{P }} -\indentrel{3}\begin{verbatim} - (5) - NewSparseMultivariatePolynomial(Integer,OrderedVariable - List [x,y,z,t]) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty5} -\begin{paste}{RegularTriangularSetXmpPageEmpty5}{RegularTriangularSetXmpPagePatch5} -\pastebutton{RegularTriangularSetXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{P := NSMP(R, V)\free{R }\free{V }\bound{P }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch6} -\begin{paste}{RegularTriangularSetXmpPageFull6}{RegularTriangularSetXmpPageEmpty6} -\pastebutton{RegularTriangularSetXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{x: P := 'x\free{P }\bound{x }} -\indentrel{3}\begin{verbatim} - (6) x -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty6} -\begin{paste}{RegularTriangularSetXmpPageEmpty6}{RegularTriangularSetXmpPagePatch6} -\pastebutton{RegularTriangularSetXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{x: P := 'x\free{P }\bound{x }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch7} -\begin{paste}{RegularTriangularSetXmpPageFull7}{RegularTriangularSetXmpPageEmpty7} -\pastebutton{RegularTriangularSetXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{y: P := 'y\free{P }\bound{y }} -\indentrel{3}\begin{verbatim} - (7) y -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty7} -\begin{paste}{RegularTriangularSetXmpPageEmpty7}{RegularTriangularSetXmpPagePatch7} -\pastebutton{RegularTriangularSetXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{y: P := 'y\free{P }\bound{y }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch8} -\begin{paste}{RegularTriangularSetXmpPageFull8}{RegularTriangularSetXmpPageEmpty8} -\pastebutton{RegularTriangularSetXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{z: P := 'z\free{P }\bound{z }} -\indentrel{3}\begin{verbatim} - (8) z -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty8} -\begin{paste}{RegularTriangularSetXmpPageEmpty8}{RegularTriangularSetXmpPagePatch8} -\pastebutton{RegularTriangularSetXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{z: P := 'z\free{P }\bound{z }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch9} -\begin{paste}{RegularTriangularSetXmpPageFull9}{RegularTriangularSetXmpPageEmpty9} -\pastebutton{RegularTriangularSetXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{t: P := 't\free{P }\bound{t }} -\indentrel{3}\begin{verbatim} - (9) t -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty9} -\begin{paste}{RegularTriangularSetXmpPageEmpty9}{RegularTriangularSetXmpPagePatch9} -\pastebutton{RegularTriangularSetXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{t: P := 't\free{P }\bound{t }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch10} -\begin{paste}{RegularTriangularSetXmpPageFull10}{RegularTriangularSetXmpPageEmpty10} -\pastebutton{RegularTriangularSetXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{T := REGSET(R,E,V,P)\free{R }\free{E }\free{V }\free{P }\bound{T }} -\indentrel{3}\begin{verbatim} - (10) - RegularTriangularSet(Integer,IndexedExponents OrderedVa - riableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewS - parseMultivariatePolynomial(Integer,OrderedVariableList - [x,y,z,t])) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty10} -\begin{paste}{RegularTriangularSetXmpPageEmpty10}{RegularTriangularSetXmpPagePatch10} -\pastebutton{RegularTriangularSetXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{T := REGSET(R,E,V,P)\free{R }\free{E }\free{V }\free{P }\bound{T }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch11} -\begin{paste}{RegularTriangularSetXmpPageFull11}{RegularTriangularSetXmpPageEmpty11} -\pastebutton{RegularTriangularSetXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{p1 := x ** 31 - x ** 6 - x - y\free{x }\free{y }\bound{p1 }} -\indentrel{3}\begin{verbatim} - 31 6 - (11) x - x - x - y -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty11} -\begin{paste}{RegularTriangularSetXmpPageEmpty11}{RegularTriangularSetXmpPagePatch11} -\pastebutton{RegularTriangularSetXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{p1 := x ** 31 - x ** 6 - x - y\free{x }\free{y }\bound{p1 }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch12} -\begin{paste}{RegularTriangularSetXmpPageFull12}{RegularTriangularSetXmpPageEmpty12} -\pastebutton{RegularTriangularSetXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{p2 := x ** 8 - z\free{x }\free{z }\bound{p2 }} -\indentrel{3}\begin{verbatim} - 8 - (12) x - z -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty12} -\begin{paste}{RegularTriangularSetXmpPageEmpty12}{RegularTriangularSetXmpPagePatch12} -\pastebutton{RegularTriangularSetXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{p2 := x ** 8 - z\free{x }\free{z }\bound{p2 }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch13} -\begin{paste}{RegularTriangularSetXmpPageFull13}{RegularTriangularSetXmpPageEmpty13} -\pastebutton{RegularTriangularSetXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{p3 := x ** 10 - t\free{x }\free{t }\bound{p3 }} -\indentrel{3}\begin{verbatim} - 10 - (13) x - t -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty13} -\begin{paste}{RegularTriangularSetXmpPageEmpty13}{RegularTriangularSetXmpPagePatch13} -\pastebutton{RegularTriangularSetXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{p3 := x ** 10 - t\free{x }\free{t }\bound{p3 }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch14} -\begin{paste}{RegularTriangularSetXmpPageFull14}{RegularTriangularSetXmpPageEmpty14} -\pastebutton{RegularTriangularSetXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{lp := [p1, p2, p3]\free{p1 }\free{p2 }\free{p3 }\bound{lp }} -\indentrel{3}\begin{verbatim} - 31 6 8 10 - (14) [x - x - x - y,x - z,x - t] -Type: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty14} -\begin{paste}{RegularTriangularSetXmpPageEmpty14}{RegularTriangularSetXmpPagePatch14} -\pastebutton{RegularTriangularSetXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{lp := [p1, p2, p3]\free{p1 }\free{p2 }\free{p3 }\bound{lp }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch15} -\begin{paste}{RegularTriangularSetXmpPageFull15}{RegularTriangularSetXmpPageEmpty15} -\pastebutton{RegularTriangularSetXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{zeroSetSplit(lp)$T\free{lp }\free{T }} -\indentrel{3}\begin{verbatim} - (15) - [ - 5 4 2 3 8 5 3 2 - {z - t , t z y + 2z y - t + 2t + t - t , - 4 2 - (t - t)x - t y - z } - ] -Type: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty15} -\begin{paste}{RegularTriangularSetXmpPageEmpty15}{RegularTriangularSetXmpPagePatch15} -\pastebutton{RegularTriangularSetXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{zeroSetSplit(lp)$T\free{lp }\free{T }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch16} -\begin{paste}{RegularTriangularSetXmpPageFull16}{RegularTriangularSetXmpPageEmpty16} -\pastebutton{RegularTriangularSetXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{lts := zeroSetSplit(lp,false)$T\free{lp }\free{T }\bound{lts }} -\indentrel{3}\begin{verbatim} - (16) - [ - 5 4 2 3 8 5 3 2 - {z - t , t z y + 2z y - t + 2t + t - t , - 4 2 - (t - t)x - t y - z } - , - 3 5 2 3 2 - {t - 1,z - t,t z y + 2z y + 1,z x - t}, - {t,z,y,x}] -Type: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty16} -\begin{paste}{RegularTriangularSetXmpPageEmpty16}{RegularTriangularSetXmpPagePatch16} -\pastebutton{RegularTriangularSetXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{lts := zeroSetSplit(lp,false)$T\free{lp }\free{T }\bound{lts }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch17} -\begin{paste}{RegularTriangularSetXmpPageFull17}{RegularTriangularSetXmpPageEmpty17} -\pastebutton{RegularTriangularSetXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{[coHeight(ts) for ts in lts]\free{lts }} -\indentrel{3}\begin{verbatim} - (17) [1,0,0] - Type: List NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty17} -\begin{paste}{RegularTriangularSetXmpPageEmpty17}{RegularTriangularSetXmpPagePatch17} -\pastebutton{RegularTriangularSetXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{[coHeight(ts) for ts in lts]\free{lts }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch18} -\begin{paste}{RegularTriangularSetXmpPageFull18}{RegularTriangularSetXmpPageEmpty18} -\pastebutton{RegularTriangularSetXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{f1 := y**2*z+2*x*y*t-2*x-z\free{z }\free{x }\free{y }\free{t }\bound{f1 }} -\indentrel{3}\begin{verbatim} - 2 - (18) (2t y - 2)x + z y - z -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty18} -\begin{paste}{RegularTriangularSetXmpPageEmpty18}{RegularTriangularSetXmpPagePatch18} -\pastebutton{RegularTriangularSetXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{f1 := y**2*z+2*x*y*t-2*x-z\free{z }\free{x }\free{y }\free{t }\bound{f1 }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch19} -\begin{paste}{RegularTriangularSetXmpPageFull19}{RegularTriangularSetXmpPageEmpty19} -\pastebutton{RegularTriangularSetXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{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\free{z }\free{x }\free{y }\free{t }\bound{f2 }} -\indentrel{3}\begin{verbatim} - (19) - 3 2 2 3 2 - - z x + (4t y + 4)x + (4z y + 4z)x + 2t y - 10y - + - - 10t y + 2 -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty19} -\begin{paste}{RegularTriangularSetXmpPageEmpty19}{RegularTriangularSetXmpPagePatch19} -\pastebutton{RegularTriangularSetXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{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\free{z }\free{x }\free{y }\free{t }\bound{f2 }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch20} -\begin{paste}{RegularTriangularSetXmpPageFull20}{RegularTriangularSetXmpPageEmpty20} -\pastebutton{RegularTriangularSetXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{f3 := 2*y*z*t+x*t**2-x-2*z\free{z }\free{x }\free{y }\free{t }\bound{f3 }} -\indentrel{3}\begin{verbatim} - 2 - (20) (t - 1)x + 2t z y - 2z -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty20} -\begin{paste}{RegularTriangularSetXmpPageEmpty20}{RegularTriangularSetXmpPagePatch20} -\pastebutton{RegularTriangularSetXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{f3 := 2*y*z*t+x*t**2-x-2*z\free{z }\free{x }\free{y }\free{t }\bound{f3 }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch21} -\begin{paste}{RegularTriangularSetXmpPageFull21}{RegularTriangularSetXmpPageEmpty21} -\pastebutton{RegularTriangularSetXmpPageFull21}{\hidepaste} -\tab{5}\spadcommand{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\free{z }\free{x }\free{y }\free{t }\bound{f4 }} -\indentrel{3}\begin{verbatim} - (21) - 3 2 2 3 2 - (- z + (4t + 4)z)x + (4t z + 2t - 10t)y + 4z - + - 2 - - 10t + 2 -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty21} -\begin{paste}{RegularTriangularSetXmpPageEmpty21}{RegularTriangularSetXmpPagePatch21} -\pastebutton{RegularTriangularSetXmpPageEmpty21}{\showpaste} -\tab{5}\spadcommand{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\free{z }\free{x }\free{y }\free{t }\bound{f4 }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch22} -\begin{paste}{RegularTriangularSetXmpPageFull22}{RegularTriangularSetXmpPageEmpty22} -\pastebutton{RegularTriangularSetXmpPageFull22}{\hidepaste} -\tab{5}\spadcommand{lf := [f1, f2, f3, f4]\free{f1 }\free{f2 }\free{f3 }\free{f4 }\bound{lf }} -\indentrel{3}\begin{verbatim} - (22) - 2 - [(2t y - 2)x + z y - z, - - 3 2 2 3 - - z x + (4t y + 4)x + (4z y + 4z)x + 2t y - + - 2 - - 10y - 10t y + 2 - , - 2 - (t - 1)x + 2t z y - 2z, - - 3 2 2 3 2 - (- z + (4t + 4)z)x + (4t z + 2t - 10t)y + 4z - + - 2 - - 10t + 2 - ] -Type: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty22} -\begin{paste}{RegularTriangularSetXmpPageEmpty22}{RegularTriangularSetXmpPagePatch22} -\pastebutton{RegularTriangularSetXmpPageEmpty22}{\showpaste} -\tab{5}\spadcommand{lf := [f1, f2, f3, f4]\free{f1 }\free{f2 }\free{f3 }\free{f4 }\bound{lf }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch23} -\begin{paste}{RegularTriangularSetXmpPageFull23}{RegularTriangularSetXmpPageEmpty23} -\pastebutton{RegularTriangularSetXmpPageFull23}{\hidepaste} -\tab{5}\spadcommand{zeroSetSplit(lf)$T\free{lf }\free{T }} -\indentrel{3}\begin{verbatim} - (23) - [ - 2 8 6 2 - {t - 1, z - 16z + 256z - 256, t y - 1, - 3 2 - (z - 8z)x - 8z + 16} - , - 2 2 2 - {3t + 1,z - 7t - 1,y + t,x + z}, - 8 6 2 3 2 - {t - 10t + 10t - 1,z,(t - 5t)y - 5t + 1,x}, - 2 2 - {t + 3,z - 4,y + t,x - z}] -Type: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty23} -\begin{paste}{RegularTriangularSetXmpPageEmpty23}{RegularTriangularSetXmpPagePatch23} -\pastebutton{RegularTriangularSetXmpPageEmpty23}{\showpaste} -\tab{5}\spadcommand{zeroSetSplit(lf)$T\free{lf }\free{T }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch24} -\begin{paste}{RegularTriangularSetXmpPageFull24}{RegularTriangularSetXmpPageEmpty24} -\pastebutton{RegularTriangularSetXmpPageFull24}{\hidepaste} -\tab{5}\spadcommand{lts2 := zeroSetSplit(lf,false)$T\free{lf }\free{T }\bound{lts2 }} -\indentrel{3}\begin{verbatim} - (24) - 8 6 2 3 2 - [{t - 10t + 10t - 1,z,(t - 5t)y - 5t + 1,x}, - - 2 8 6 2 - {t - 1, z - 16z + 256z - 256, t y - 1, - 3 2 - (z - 8z)x - 8z + 16} - , - 2 2 2 - {3t + 1,z - 7t - 1,y + t,x + z}, - 2 2 - {t + 3,z - 4,y + t,x - z}] -Type: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty24} -\begin{paste}{RegularTriangularSetXmpPageEmpty24}{RegularTriangularSetXmpPagePatch24} -\pastebutton{RegularTriangularSetXmpPageEmpty24}{\showpaste} -\tab{5}\spadcommand{lts2 := zeroSetSplit(lf,false)$T\free{lf }\free{T }\bound{lts2 }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch25} -\begin{paste}{RegularTriangularSetXmpPageFull25}{RegularTriangularSetXmpPageEmpty25} -\pastebutton{RegularTriangularSetXmpPageFull25}{\hidepaste} -\tab{5}\spadcommand{[coHeight(ts) for ts in lts2]\free{lts2 }} -\indentrel{3}\begin{verbatim} - (25) [0,0,0,0] - Type: List NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty25} -\begin{paste}{RegularTriangularSetXmpPageEmpty25}{RegularTriangularSetXmpPagePatch25} -\pastebutton{RegularTriangularSetXmpPageEmpty25}{\showpaste} -\tab{5}\spadcommand{[coHeight(ts) for ts in lts2]\free{lts2 }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch26} -\begin{paste}{RegularTriangularSetXmpPageFull26}{RegularTriangularSetXmpPageEmpty26} -\pastebutton{RegularTriangularSetXmpPageFull26}{\hidepaste} -\tab{5}\spadcommand{degrees := [degree(ts) for ts in lts2]\free{lts2 }\bound{degrees }} -\indentrel{3}\begin{verbatim} - (26) [8,16,4,4] - Type: List NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty26} -\begin{paste}{RegularTriangularSetXmpPageEmpty26}{RegularTriangularSetXmpPagePatch26} -\pastebutton{RegularTriangularSetXmpPageEmpty26}{\showpaste} -\tab{5}\spadcommand{degrees := [degree(ts) for ts in lts2]\free{lts2 }\bound{degrees }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch27} -\begin{paste}{RegularTriangularSetXmpPageFull27}{RegularTriangularSetXmpPageEmpty27} -\pastebutton{RegularTriangularSetXmpPageFull27}{\hidepaste} -\tab{5}\spadcommand{reduce(+,degrees)\free{degrees }} -\indentrel{3}\begin{verbatim} - (27) 32 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty27} -\begin{paste}{RegularTriangularSetXmpPageEmpty27}{RegularTriangularSetXmpPagePatch27} -\pastebutton{RegularTriangularSetXmpPageEmpty27}{\showpaste} -\tab{5}\spadcommand{reduce(+,degrees)\free{degrees }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch28} -\begin{paste}{RegularTriangularSetXmpPageFull28}{RegularTriangularSetXmpPageEmpty28} -\pastebutton{RegularTriangularSetXmpPageFull28}{\hidepaste} -\tab{5}\spadcommand{u : R := 2\free{R }\bound{u }} -\indentrel{3}\begin{verbatim} - (28) 2 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty28} -\begin{paste}{RegularTriangularSetXmpPageEmpty28}{RegularTriangularSetXmpPagePatch28} -\pastebutton{RegularTriangularSetXmpPageEmpty28}{\showpaste} -\tab{5}\spadcommand{u : R := 2\free{R }\bound{u }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch29} -\begin{paste}{RegularTriangularSetXmpPageFull29}{RegularTriangularSetXmpPageEmpty29} -\pastebutton{RegularTriangularSetXmpPageFull29}{\hidepaste} -\tab{5}\spadcommand{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\free{z }\free{x }\free{y }\free{t }\free{u }\bound{q1 }} -\indentrel{3}\begin{verbatim} - (29) - 2 2 2 - (y - 2t y + t )x - + - 2 2 2 - (- 2y + ((2t + 4)z + 2t)y + (- 2t + 2)z - 4t - 2)x - + - 2 2 2 2 - y + (- 2t z - 4t)y + (t + 10)z - 8z + 4t + 2 -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty29} -\begin{paste}{RegularTriangularSetXmpPageEmpty29}{RegularTriangularSetXmpPagePatch29} -\pastebutton{RegularTriangularSetXmpPageEmpty29}{\showpaste} -\tab{5}\spadcommand{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\free{z }\free{x }\free{y }\free{t }\free{u }\bound{q1 }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch30} -\begin{paste}{RegularTriangularSetXmpPageFull30}{RegularTriangularSetXmpPageEmpty30} -\pastebutton{RegularTriangularSetXmpPageFull30}{\hidepaste} -\tab{5}\spadcommand{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\free{z }\free{x }\free{y }\free{t }\free{u }\bound{q2 }} -\indentrel{3}\begin{verbatim} - 2 - (30) (- 3z y + 2t z + t)x + (z + 4)y + 4t z - 7t z -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty30} -\begin{paste}{RegularTriangularSetXmpPageEmpty30}{RegularTriangularSetXmpPagePatch30} -\pastebutton{RegularTriangularSetXmpPageEmpty30}{\showpaste} -\tab{5}\spadcommand{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\free{z }\free{x }\free{y }\free{t }\free{u }\bound{q2 }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch31} -\begin{paste}{RegularTriangularSetXmpPageFull31}{RegularTriangularSetXmpPageEmpty31} -\pastebutton{RegularTriangularSetXmpPageFull31}{\hidepaste} -\tab{5}\spadcommand{q3 := -u**2*(z-1)**2+ 2*z*(z-x)-2*(x-1)\free{z }\free{x }\free{y }\free{t }\free{u }\bound{q3 }} -\indentrel{3}\begin{verbatim} - 2 - (31) (- 2z - 2)x - 2z + 8z - 2 -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty31} -\begin{paste}{RegularTriangularSetXmpPageEmpty31}{RegularTriangularSetXmpPagePatch31} -\pastebutton{RegularTriangularSetXmpPageEmpty31}{\showpaste} -\tab{5}\spadcommand{q3 := -u**2*(z-1)**2+ 2*z*(z-x)-2*(x-1)\free{z }\free{x }\free{y }\free{t }\free{u }\bound{q3 }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch32} -\begin{paste}{RegularTriangularSetXmpPageFull32}{RegularTriangularSetXmpPageEmpty32} -\pastebutton{RegularTriangularSetXmpPageFull32}{\hidepaste} -\tab{5}\spadcommand{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)\free{z }\free{x }\free{y }\free{t }\free{u }\bound{q4 }} -\indentrel{3}\begin{verbatim} - (32) - 2 2 2 2 2 - (3y - 3t - 4)x + (- 6y + (12t z + 12t)y + 6t z)x - + - 2 2 2 2 - 3y + (12t z - 12t)y + (9t + 4)z + (- 24t - 4)z - + - 2 - 12t + 4 -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty32} -\begin{paste}{RegularTriangularSetXmpPageEmpty32}{RegularTriangularSetXmpPagePatch32} -\pastebutton{RegularTriangularSetXmpPageEmpty32}{\showpaste} -\tab{5}\spadcommand{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)\free{z }\free{x }\free{y }\free{t }\free{u }\bound{q4 }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch33} -\begin{paste}{RegularTriangularSetXmpPageFull33}{RegularTriangularSetXmpPageEmpty33} -\pastebutton{RegularTriangularSetXmpPageFull33}{\hidepaste} -\tab{5}\spadcommand{lq := [q1, q2, q3, q4]\free{q1 }\free{q2 }\free{q3 }\free{q4 }\bound{lq }} -\indentrel{3}\begin{verbatim} - (33) - [ - 2 2 2 - (y - 2t y + t )x - + - 2 2 2 - - 2y + ((2t + 4)z + 2t)y + (- 2t + 2)z - 4t - + - - 2 - * - x - + - 2 2 2 2 - y + (- 2t z - 4t)y + (t + 10)z - 8z + 4t + 2 - , - 2 - (- 3z y + 2t z + t)x + (z + 4)y + 4t z - 7t z, - 2 - (- 2z - 2)x - 2z + 8z - 2, - - 2 2 2 - (3y - 3t - 4)x - + - 2 2 2 - (- 6y + (12t z + 12t)y + 6t z)x + 3y - + - 2 2 2 2 - (12t z - 12t)y + (9t + 4)z + (- 24t - 4)z + 12t - + - 4 - ] -Type: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty33} -\begin{paste}{RegularTriangularSetXmpPageEmpty33}{RegularTriangularSetXmpPagePatch33} -\pastebutton{RegularTriangularSetXmpPageEmpty33}{\showpaste} -\tab{5}\spadcommand{lq := [q1, q2, q3, q4]\free{q1 }\free{q2 }\free{q3 }\free{q4 }\bound{lq }} -\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPagePatch34} -\begin{paste}{RegularTriangularSetXmpPageFull34}{RegularTriangularSetXmpPageEmpty34} -\pastebutton{RegularTriangularSetXmpPageFull34}{\hidepaste} -\tab{5}\spadcommand{zeroSetSplit(lq,true,true)$T\free{lq }\free{T }} -\indentrel{3}\begin{verbatim} - - *** QCMPACK Statistics *** - Table size: 36 - Entries reused: 255 - - *** REGSETGCD: Gcd Statistics *** - Table size: 125 - Entries reused: 0 - - *** REGSETGCD: Inv Set Statistics *** - Table size: 30 - Entries reused: 0 - (34) - [ - { - 24 23 - 960725655771966t + 386820897948702t - + - 22 21 - 8906817198608181t + 2704966893949428t - + - 20 19 - 37304033340228264t + 7924782817170207t - + - 18 17 - 93126799040354990t + 13101273653130910t - + - 16 15 - 156146250424711858t + 16626490957259119t - + - 14 13 - 190699288479805763t + 24339173367625275t - + - 12 11 - 180532313014960135t + 35288089030975378t - + - 10 9 - 135054975747656285t + 34733736952488540t - + - 8 7 - 75947600354493972t + 19772555692457088t - + - 6 5 - 28871558573755428t + 5576152439081664t - + - 4 3 - 6321711820352976t + 438314209312320t - + - 2 - 581105748367008t - 60254467992576t + 1449115951104 - , - - 266042108694913023855152657370520823616684_ - 74181372891857784 - * - 23 - t - + - 443104378424686086067294899528296664238693_ - 556855017735265295 - * - 22 - t - + - 279078393286701234679141342358988327155321_ - 305829547090310242 - * - 21 - t - + - 339027636141323246510761717661554305462062_ - 6391823613392185226 - * - 20 - t - + - 941478179503540575554198645220352803719793_ - 196473813837434129 - * - 19 - t - + - 115478551946794752422116967496739493525857_ - 47674184320988144390 - * - 18 - t - + - 134360956676559778988170165669941321646721_ - 5660333356417241432 - * - 17 - t - + - 232338138681478735039335516171756408598991_ - 02987800663566699334 - * - 16 - t - + - 869574020537672336950845440508790740850931_ - 336484983573386433 - * - 15 - t - + - 315615543058769348754194614869699265542417_ - 50065103460820476969 - * - 14 - t - + - 127140099028771748744206595254773187955482_ - 3889855386072264931 - * - 13 - t - + - 319450899138637360448025269640795401983370_ - 49550503295825160523 - * - 12 - t - + - 373873570428814450987137156023284588443910_ - 2270778010470931960 - * - 11 - t - + - 252939975123914120261446014357711315875619_ - 05532992045692885927 - * - 10 - t - + - 521023900984606712346926279987005277341047_ - 1135950175008046524 - * - 9 - t - + - 150838879869302971662598705686082704274031_ - 87606238713491129188 - * - 8 - t - + - 352208723469293012638368627077577955348176_ - 9125670839075109000 - * - 7 - t - + - 607994520039568101308653379256888649110124_ - 4247440034969288588 - * - 6 - t - + - 109063485243390088819991375624798602319698_ - 7723469934933603680 - * - 5 - t - + - 140581943087190710229443253753833540210283_ - 8994019667487458352 - * - 4 - t - + - 880715279503204500725366712655077488783478_ - 28884933605202432 - * - 3 - t - + - 135882489433640933229781177155977768016065_ - 765482378657129440 - * - 2 - t - + - - - 139572834428822622305598946074003140825_ - 16690749975646520320 - * - t - + - 33463769297318929927725832570930847259211711_ - 2855749713920 - * - z - + - 8567175484043952879756725964506833932149637101_ - 090521164936 - * - 23 - t - + - 1497923928642017918457083740327289424987975192_ - 51667250945721 - * - 22 - t - + - 7725837178364582215741086158215976413812300307_ - 4190374021550 - * - 21 - t - + - 1108862254126854214498918940708612211184560556_ - 764334742191654 - * - 20 - t - + - 2132504944606788652197744801068260537838157896_ - 21501732672327 - * - 19 - t - + - 3668929075160666195729177894178343514501987898_ - 410131431699882 - * - 18 - t - + - 1713889064710018728794901243687482363147654590_ - 39567820048872 - * - 17 - t - + - 7192430746914602166660233477331022483144921771_ - 645523139658986 - * - 16 - t - + - - - 1287986746896900728128799656330902919596631_ - 43108437362453385 - * - 15 - t - + - 9553010858341425909306423132921134040856028790_ - 803526430270671 - * - 14 - t - + - - - 1329609624567549287453868764630043782465845_ - 8709144441096603 - * - 13 - t - + - 9475806805814145326383085518325333106881690568_ - 644274964864413 - * - 12 - t - + - 8032346879251334588616598556640849276062987947_ - 99856265539336 - * - 11 - t - + - 7338202759292865165994622349207516400662174302_ - 614595173333825 - * - 10 - t - + - 1308004628480367351164369613111971668880538855_ - 640917200187108 - * - 9 - t - + - 4268059455741255498880229598973705747098216067_ - 697754352634748 - * - 8 - t - + - 8928935268585140957913187759040933001030456015_ - 14470613580600 - * - 7 - t - + - 1679152575460683956631925852181341501981598137_ - 465328797013652 - * - 6 - t - + - 2697574157679229803789671541433578355441131582_ - 80591408043936 - * - 5 - t - + - 3809515278646575290335808298012827240813453726_ - 80202920198224 - * - 4 - t - + - 1978554529422849503299882693760134113272503533_ - 9452913286656 - * - 3 - t - + - 3647741205738478294236663530339663776330392817_ - 4935079178528 - * - 2 - t - + - - - 3722212879279038648713080422224976273210890_ - 229485838670848 - * - t - + - 890797248531143483612306344840138620247285999068_ - 74105856 - , - 3 2 3 2 - (3z - 11z + 8z + 4)y + 2t z + 4t z - 5t z - t, - 2 - (z + 1)x + z - 4z + 1} - ] -Type: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RegularTriangularSetXmpPageEmpty34} -\begin{paste}{RegularTriangularSetXmpPageEmpty34}{RegularTriangularSetXmpPagePatch34} -\pastebutton{RegularTriangularSetXmpPageEmpty34}{\showpaste} -\tab{5}\spadcommand{zeroSetSplit(lq,true,true)$T\free{lq }\free{T }} -\end{paste}\end{patch} - diff --git a/books/pages/roman.pht b/books/pages/roman.pht deleted file mode 100644 index 7983f3b..0000000 --- a/books/pages/roman.pht +++ /dev/null @@ -1,182 +0,0 @@ -\begin{patch}{RomanNumeralXmpPagePatch1} -\begin{paste}{RomanNumeralXmpPageFull1}{RomanNumeralXmpPageEmpty1} -\pastebutton{RomanNumeralXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{f := operator 'f\bound{f }} -\indentrel{3}\begin{verbatim} - (1) f - Type: BasicOperator -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RomanNumeralXmpPageEmpty1} -\begin{paste}{RomanNumeralXmpPageEmpty1}{RomanNumeralXmpPagePatch1} -\pastebutton{RomanNumeralXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{f := operator 'f\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{RomanNumeralXmpPagePatch2} -\begin{paste}{RomanNumeralXmpPageFull2}{RomanNumeralXmpPageEmpty2} -\pastebutton{RomanNumeralXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{D(f x,x,7)\free{f }} -\indentrel{3}\begin{verbatim} - (vii) - (2) f (x) - - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RomanNumeralXmpPageEmpty2} -\begin{paste}{RomanNumeralXmpPageEmpty2}{RomanNumeralXmpPagePatch2} -\pastebutton{RomanNumeralXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{D(f x,x,7)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{RomanNumeralXmpPagePatch3} -\begin{paste}{RomanNumeralXmpPageFull3}{RomanNumeralXmpPageEmpty3} -\pastebutton{RomanNumeralXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{a := roman(1978 - 1965)\bound{a }} -\indentrel{3}\begin{verbatim} - (3) XIII - Type: RomanNumeral -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RomanNumeralXmpPageEmpty3} -\begin{paste}{RomanNumeralXmpPageEmpty3}{RomanNumeralXmpPagePatch3} -\pastebutton{RomanNumeralXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{a := roman(1978 - 1965)\bound{a }} -\end{paste}\end{patch} - -\begin{patch}{RomanNumeralXmpPagePatch4} -\begin{paste}{RomanNumeralXmpPageFull4}{RomanNumeralXmpPageEmpty4} -\pastebutton{RomanNumeralXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{x : UTS(ROMAN,'x,0) := x\bound{x }} -\indentrel{3}\begin{verbatim} - (4) x - Type: UnivariateTaylorSeries(RomanNumeral,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RomanNumeralXmpPageEmpty4} -\begin{paste}{RomanNumeralXmpPageEmpty4}{RomanNumeralXmpPagePatch4} -\pastebutton{RomanNumeralXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{x : UTS(ROMAN,'x,0) := x\bound{x }} -\end{paste}\end{patch} - -\begin{patch}{RomanNumeralXmpPagePatch5} -\begin{paste}{RomanNumeralXmpPageFull5}{RomanNumeralXmpPageEmpty5} -\pastebutton{RomanNumeralXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{recip(1 - x - x**2)\free{x }} -\indentrel{3}\begin{verbatim} - (5) - 2 3 4 5 6 - I + x + II x + III x + V x + VIII x + XIII x - + - 7 8 9 10 11 - XXI x + XXXIV x + LV x + LXXXIX x + O(x ) -Type: Union(UnivariateTaylorSeries(RomanNumeral,x,0),...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RomanNumeralXmpPageEmpty5} -\begin{paste}{RomanNumeralXmpPageEmpty5}{RomanNumeralXmpPagePatch5} -\pastebutton{RomanNumeralXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{recip(1 - x - x**2)\free{x }} -\end{paste}\end{patch} - -\begin{patch}{RomanNumeralXmpPagePatch6} -\begin{paste}{RomanNumeralXmpPageFull6}{RomanNumeralXmpPageEmpty6} -\pastebutton{RomanNumeralXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{m : MATRIX FRAC ROMAN\bound{m }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RomanNumeralXmpPageEmpty6} -\begin{paste}{RomanNumeralXmpPageEmpty6}{RomanNumeralXmpPagePatch6} -\pastebutton{RomanNumeralXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{m : MATRIX FRAC ROMAN\bound{m }} -\end{paste}\end{patch} - -\begin{patch}{RomanNumeralXmpPagePatch7} -\begin{paste}{RomanNumeralXmpPageFull7}{RomanNumeralXmpPageEmpty7} -\pastebutton{RomanNumeralXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{m := matrix [[1/(i + j) for i in 1..3] for j in 1..3]\free{m }\bound{m1 }} -\indentrel{3}\begin{verbatim} - Ú I I I¿ - ³ÄÄ ÄÄÄ Äij - ³II III IV³ - ³ ³ - ³ I I I ³ - (7) ³ÄÄÄ ÄÄ Ä ³ - ³III IV V ³ - ³ ³ - ³ I I I³ - ³ÄÄ Ä Äij - ÀIV V VIÙ - Type: Matrix Fraction RomanNumeral -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RomanNumeralXmpPageEmpty7} -\begin{paste}{RomanNumeralXmpPageEmpty7}{RomanNumeralXmpPagePatch7} -\pastebutton{RomanNumeralXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{m := matrix [[1/(i + j) for i in 1..3] for j in 1..3]\free{m }\bound{m1 }} -\end{paste}\end{patch} - -\begin{patch}{RomanNumeralXmpPagePatch8} -\begin{paste}{RomanNumeralXmpPageFull8}{RomanNumeralXmpPageEmpty8} -\pastebutton{RomanNumeralXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{inverse m\free{m1 }} -\indentrel{3}\begin{verbatim} - ÚLXXII - CCXL CLXXX ¿ - ³ ³ - (8) ³- CCXL CM - DCCXX³ - ³ ³ - ÀCLXXX - DCCXX DC Ù - Type: Union(Matrix Fraction RomanNumeral,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RomanNumeralXmpPageEmpty8} -\begin{paste}{RomanNumeralXmpPageEmpty8}{RomanNumeralXmpPagePatch8} -\pastebutton{RomanNumeralXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{inverse m\free{m1 }} -\end{paste}\end{patch} - -\begin{patch}{RomanNumeralXmpPagePatch9} -\begin{paste}{RomanNumeralXmpPageFull9}{RomanNumeralXmpPageEmpty9} -\pastebutton{RomanNumeralXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{y := factorial 10\bound{y }} -\indentrel{3}\begin{verbatim} - (9) 3628800 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RomanNumeralXmpPageEmpty9} -\begin{paste}{RomanNumeralXmpPageEmpty9}{RomanNumeralXmpPagePatch9} -\pastebutton{RomanNumeralXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{y := factorial 10\bound{y }} -\end{paste}\end{patch} - -\begin{patch}{RomanNumeralXmpPagePatch10} -\begin{paste}{RomanNumeralXmpPageFull10}{RomanNumeralXmpPageEmpty10} -\pastebutton{RomanNumeralXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{roman y\free{y }} -\indentrel{3}\begin{verbatim} - (10) - ((((I))))((((I))))((((I)))) (((I)))(((I)))(((I)))(((I)) - )(((I)))(((I))) ((I))((I)) MMMMMMMMDCCC - Type: RomanNumeral -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{RomanNumeralXmpPageEmpty10} -\begin{paste}{RomanNumeralXmpPageEmpty10}{RomanNumeralXmpPagePatch10} -\pastebutton{RomanNumeralXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{roman y\free{y }} -\end{paste}\end{patch} - diff --git a/books/pages/seg.pht b/books/pages/seg.pht deleted file mode 100644 index abaf399..0000000 --- a/books/pages/seg.pht +++ /dev/null @@ -1,160 +0,0 @@ -\begin{patch}{SegmentXmpPagePatch1} -\begin{paste}{SegmentXmpPageFull1}{SegmentXmpPageEmpty1} -\pastebutton{SegmentXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{s := 3..10\bound{s }} -\indentrel{3}\begin{verbatim} - (1) 3..10 - Type: Segment PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SegmentXmpPageEmpty1} -\begin{paste}{SegmentXmpPageEmpty1}{SegmentXmpPagePatch1} -\pastebutton{SegmentXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{s := 3..10\bound{s }} -\end{paste}\end{patch} - -\begin{patch}{SegmentXmpPagePatch2} -\begin{paste}{SegmentXmpPageFull2}{SegmentXmpPageEmpty2} -\pastebutton{SegmentXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{lo s\free{s }} -\indentrel{3}\begin{verbatim} - (2) 3 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SegmentXmpPageEmpty2} -\begin{paste}{SegmentXmpPageEmpty2}{SegmentXmpPagePatch2} -\pastebutton{SegmentXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{lo s\free{s }} -\end{paste}\end{patch} - -\begin{patch}{SegmentXmpPagePatch3} -\begin{paste}{SegmentXmpPageFull3}{SegmentXmpPageEmpty3} -\pastebutton{SegmentXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{hi s\free{s }} -\indentrel{3}\begin{verbatim} - (3) 10 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SegmentXmpPageEmpty3} -\begin{paste}{SegmentXmpPageEmpty3}{SegmentXmpPagePatch3} -\pastebutton{SegmentXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{hi s\free{s }} -\end{paste}\end{patch} - -\begin{patch}{SegmentXmpPagePatch4} -\begin{paste}{SegmentXmpPageFull4}{SegmentXmpPageEmpty4} -\pastebutton{SegmentXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{t := 10..3 by -2\bound{t }} -\indentrel{3}\begin{verbatim} - (4) 10..3 by - 2 - Type: Segment PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SegmentXmpPageEmpty4} -\begin{paste}{SegmentXmpPageEmpty4}{SegmentXmpPagePatch4} -\pastebutton{SegmentXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{t := 10..3 by -2\bound{t }} -\end{paste}\end{patch} - -\begin{patch}{SegmentXmpPagePatch5} -\begin{paste}{SegmentXmpPageFull5}{SegmentXmpPageEmpty5} -\pastebutton{SegmentXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{incr s\free{s }} -\indentrel{3}\begin{verbatim} - (5) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SegmentXmpPageEmpty5} -\begin{paste}{SegmentXmpPageEmpty5}{SegmentXmpPagePatch5} -\pastebutton{SegmentXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{incr s\free{s }} -\end{paste}\end{patch} - -\begin{patch}{SegmentXmpPagePatch6} -\begin{paste}{SegmentXmpPageFull6}{SegmentXmpPageEmpty6} -\pastebutton{SegmentXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{incr t\free{t }} -\indentrel{3}\begin{verbatim} - (6) - 2 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SegmentXmpPageEmpty6} -\begin{paste}{SegmentXmpPageEmpty6}{SegmentXmpPagePatch6} -\pastebutton{SegmentXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{incr t\free{t }} -\end{paste}\end{patch} - -\begin{patch}{SegmentXmpPagePatch7} -\begin{paste}{SegmentXmpPageFull7}{SegmentXmpPageEmpty7} -\pastebutton{SegmentXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{l := [1..3, 5, 9, 15..11 by -1]\bound{l }} -\indentrel{3}\begin{verbatim} - (7) [1..3,5..5,9..9,15..11 by - 1] - Type: List Segment PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SegmentXmpPageEmpty7} -\begin{paste}{SegmentXmpPageEmpty7}{SegmentXmpPagePatch7} -\pastebutton{SegmentXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{l := [1..3, 5, 9, 15..11 by -1]\bound{l }} -\end{paste}\end{patch} - -\begin{patch}{SegmentXmpPagePatch8} -\begin{paste}{SegmentXmpPageFull8}{SegmentXmpPageEmpty8} -\pastebutton{SegmentXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{expand s\free{s }} -\indentrel{3}\begin{verbatim} - (8) [3,4,5,6,7,8,9,10] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SegmentXmpPageEmpty8} -\begin{paste}{SegmentXmpPageEmpty8}{SegmentXmpPagePatch8} -\pastebutton{SegmentXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{expand s\free{s }} -\end{paste}\end{patch} - -\begin{patch}{SegmentXmpPagePatch9} -\begin{paste}{SegmentXmpPageFull9}{SegmentXmpPageEmpty9} -\pastebutton{SegmentXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{expand t\free{t }} -\indentrel{3}\begin{verbatim} - (9) [10,8,6,4] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SegmentXmpPageEmpty9} -\begin{paste}{SegmentXmpPageEmpty9}{SegmentXmpPagePatch9} -\pastebutton{SegmentXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{expand t\free{t }} -\end{paste}\end{patch} - -\begin{patch}{SegmentXmpPagePatch10} -\begin{paste}{SegmentXmpPageFull10}{SegmentXmpPageEmpty10} -\pastebutton{SegmentXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{expand l\free{l }} -\indentrel{3}\begin{verbatim} - (10) [1,2,3,5,9,15,14,13,12,11] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SegmentXmpPageEmpty10} -\begin{paste}{SegmentXmpPageEmpty10}{SegmentXmpPagePatch10} -\pastebutton{SegmentXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{expand l\free{l }} -\end{paste}\end{patch} - diff --git a/books/pages/segbind.pht b/books/pages/segbind.pht deleted file mode 100644 index 1ae7640..0000000 --- a/books/pages/segbind.pht +++ /dev/null @@ -1,100 +0,0 @@ -\begin{patch}{SegmentBindingXmpPagePatch1} -\begin{paste}{SegmentBindingXmpPageFull1}{SegmentBindingXmpPageEmpty1} -\pastebutton{SegmentBindingXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{x = a..b} -\indentrel{3}\begin{verbatim} - (1) x= a..b - Type: SegmentBinding Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SegmentBindingXmpPageEmpty1} -\begin{paste}{SegmentBindingXmpPageEmpty1}{SegmentBindingXmpPagePatch1} -\pastebutton{SegmentBindingXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{x = a..b} -\end{paste}\end{patch} - -\begin{patch}{SegmentBindingXmpPagePatch2} -\begin{paste}{SegmentBindingXmpPageFull2}{SegmentBindingXmpPageEmpty2} -\pastebutton{SegmentBindingXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{sum(i**2, i = 0..n)} -\indentrel{3}\begin{verbatim} - 3 2 - 2n + 3n + n - (2) ÄÄÄÄÄÄÄÄÄÄÄÄÄ - 6 - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SegmentBindingXmpPageEmpty2} -\begin{paste}{SegmentBindingXmpPageEmpty2}{SegmentBindingXmpPagePatch2} -\pastebutton{SegmentBindingXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{sum(i**2, i = 0..n)} -\end{paste}\end{patch} - -\begin{patch}{SegmentBindingXmpPagePatch3} -\begin{paste}{SegmentBindingXmpPageFull3}{SegmentBindingXmpPageEmpty3} -\pastebutton{SegmentBindingXmpPageFull3}{\hidepaste} -\tab{5}\spadgraph{draw(x**2, x = -2..2)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/segmentbindingxmppage3.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/segmentbindingxmppage3}} -\end{paste}\end{patch} - -\begin{patch}{SegmentBindingXmpPageEmpty3} -\begin{paste}{SegmentBindingXmpPageEmpty3}{SegmentBindingXmpPagePatch3} -\pastebutton{SegmentBindingXmpPageEmpty3}{\showpaste} -\tab{5}\spadgraph{draw(x**2, x = -2..2)} -\end{paste}\end{patch} - -\begin{patch}{SegmentBindingXmpPagePatch4} -\begin{paste}{SegmentBindingXmpPageFull4}{SegmentBindingXmpPageEmpty4} -\pastebutton{SegmentBindingXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{sb := y = 1/2..3/2\bound{sb }} -\indentrel{3}\begin{verbatim} - 1 3 - (4) y= (Ä)..(Ä) - 2 2 - Type: SegmentBinding Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SegmentBindingXmpPageEmpty4} -\begin{paste}{SegmentBindingXmpPageEmpty4}{SegmentBindingXmpPagePatch4} -\pastebutton{SegmentBindingXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{sb := y = 1/2..3/2\bound{sb }} -\end{paste}\end{patch} - -\begin{patch}{SegmentBindingXmpPagePatch5} -\begin{paste}{SegmentBindingXmpPageFull5}{SegmentBindingXmpPageEmpty5} -\pastebutton{SegmentBindingXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{variable(sb)\free{sb }} -\indentrel{3}\begin{verbatim} - (5) y - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SegmentBindingXmpPageEmpty5} -\begin{paste}{SegmentBindingXmpPageEmpty5}{SegmentBindingXmpPagePatch5} -\pastebutton{SegmentBindingXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{variable(sb)\free{sb }} -\end{paste}\end{patch} - -\begin{patch}{SegmentBindingXmpPagePatch6} -\begin{paste}{SegmentBindingXmpPageFull6}{SegmentBindingXmpPageEmpty6} -\pastebutton{SegmentBindingXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{segment(sb)\free{sb }} -\indentrel{3}\begin{verbatim} - 1 3 - (6) (Ä)..(Ä) - 2 2 - Type: Segment Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SegmentBindingXmpPageEmpty6} -\begin{paste}{SegmentBindingXmpPageEmpty6}{SegmentBindingXmpPagePatch6} -\pastebutton{SegmentBindingXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{segment(sb)\free{sb }} -\end{paste}\end{patch} - diff --git a/books/pages/set.pht b/books/pages/set.pht deleted file mode 100644 index aef8d01..0000000 --- a/books/pages/set.pht +++ /dev/null @@ -1,326 +0,0 @@ -\begin{patch}{SetXmpPagePatch1} -\begin{paste}{SetXmpPageFull1}{SetXmpPageEmpty1} -\pastebutton{SetXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{s := set [x**2-1, y**2-1, z**2-1]\bound{s }} -\indentrel{3}\begin{verbatim} - 2 2 2 - (1) {x - 1,y - 1,z - 1} - Type: Set Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SetXmpPageEmpty1} -\begin{paste}{SetXmpPageEmpty1}{SetXmpPagePatch1} -\pastebutton{SetXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{s := set [x**2-1, y**2-1, z**2-1]\bound{s }} -\end{paste}\end{patch} - -\begin{patch}{SetXmpPagePatch2} -\begin{paste}{SetXmpPageFull2}{SetXmpPageEmpty2} -\pastebutton{SetXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{t := set [x**i - i+1 for i in 2..10 | prime? i]\bound{t }} -\indentrel{3}\begin{verbatim} - 2 3 5 7 - (2) {x - 1,x - 2,x - 4,x - 6} - Type: Set Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SetXmpPageEmpty2} -\begin{paste}{SetXmpPageEmpty2}{SetXmpPagePatch2} -\pastebutton{SetXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{t := set [x**i - i+1 for i in 2..10 | prime? i]\bound{t }} -\end{paste}\end{patch} - -\begin{patch}{SetXmpPagePatch3} -\begin{paste}{SetXmpPageFull3}{SetXmpPageEmpty3} -\pastebutton{SetXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{i := intersect(s,t)\free{s t }\bound{i }} -\indentrel{3}\begin{verbatim} - 2 - (3) {x - 1} - Type: Set Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SetXmpPageEmpty3} -\begin{paste}{SetXmpPageEmpty3}{SetXmpPagePatch3} -\pastebutton{SetXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{i := intersect(s,t)\free{s t }\bound{i }} -\end{paste}\end{patch} - -\begin{patch}{SetXmpPagePatch4} -\begin{paste}{SetXmpPageFull4}{SetXmpPageEmpty4} -\pastebutton{SetXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{u := union(s,t)\free{s t }\bound{u }} -\indentrel{3}\begin{verbatim} - 2 3 5 7 2 2 - (4) {x - 1,x - 2,x - 4,x - 6,y - 1,z - 1} - Type: Set Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SetXmpPageEmpty4} -\begin{paste}{SetXmpPageEmpty4}{SetXmpPagePatch4} -\pastebutton{SetXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{u := union(s,t)\free{s t }\bound{u }} -\end{paste}\end{patch} - -\begin{patch}{SetXmpPagePatch5} -\begin{paste}{SetXmpPageFull5}{SetXmpPageEmpty5} -\pastebutton{SetXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{difference(s,t)\free{s t }} -\indentrel{3}\begin{verbatim} - 2 2 - (5) {y - 1,z - 1} - Type: Set Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SetXmpPageEmpty5} -\begin{paste}{SetXmpPageEmpty5}{SetXmpPagePatch5} -\pastebutton{SetXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{difference(s,t)\free{s t }} -\end{paste}\end{patch} - -\begin{patch}{SetXmpPagePatch6} -\begin{paste}{SetXmpPageFull6}{SetXmpPageEmpty6} -\pastebutton{SetXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{symmetricDifference(s,t)\free{s t }} -\indentrel{3}\begin{verbatim} - 3 5 7 2 2 - (6) {x - 2,x - 4,x - 6,y - 1,z - 1} - Type: Set Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SetXmpPageEmpty6} -\begin{paste}{SetXmpPageEmpty6}{SetXmpPagePatch6} -\pastebutton{SetXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{symmetricDifference(s,t)\free{s t }} -\end{paste}\end{patch} - -\begin{patch}{SetXmpPagePatch7} -\begin{paste}{SetXmpPageFull7}{SetXmpPageEmpty7} -\pastebutton{SetXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{member?(y, s)\free{s }} -\indentrel{3}\begin{verbatim} - (7) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SetXmpPageEmpty7} -\begin{paste}{SetXmpPageEmpty7}{SetXmpPagePatch7} -\pastebutton{SetXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{member?(y, s)\free{s }} -\end{paste}\end{patch} - -\begin{patch}{SetXmpPagePatch8} -\begin{paste}{SetXmpPageFull8}{SetXmpPageEmpty8} -\pastebutton{SetXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{member?((y+1)*(y-1), s)\free{s }} -\indentrel{3}\begin{verbatim} - (8) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SetXmpPageEmpty8} -\begin{paste}{SetXmpPageEmpty8}{SetXmpPagePatch8} -\pastebutton{SetXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{member?((y+1)*(y-1), s)\free{s }} -\end{paste}\end{patch} - -\begin{patch}{SetXmpPagePatch9} -\begin{paste}{SetXmpPageFull9}{SetXmpPageEmpty9} -\pastebutton{SetXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{subset?(i, s)\free{i s }} -\indentrel{3}\begin{verbatim} - (9) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SetXmpPageEmpty9} -\begin{paste}{SetXmpPageEmpty9}{SetXmpPagePatch9} -\pastebutton{SetXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{subset?(i, s)\free{i s }} -\end{paste}\end{patch} - -\begin{patch}{SetXmpPagePatch10} -\begin{paste}{SetXmpPageFull10}{SetXmpPageEmpty10} -\pastebutton{SetXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{subset?(u, s)\free{u s }} -\indentrel{3}\begin{verbatim} - (10) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SetXmpPageEmpty10} -\begin{paste}{SetXmpPageEmpty10}{SetXmpPagePatch10} -\pastebutton{SetXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{subset?(u, s)\free{u s }} -\end{paste}\end{patch} - -\begin{patch}{SetXmpPagePatch11} -\begin{paste}{SetXmpPageFull11}{SetXmpPageEmpty11} -\pastebutton{SetXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{gs := set [g for i in 1..11 | primitive?(g := i::PF 11)]\bound{gs }} -\indentrel{3}\begin{verbatim} - (11) {2,6,7,8} - Type: Set PrimeField 11 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SetXmpPageEmpty11} -\begin{paste}{SetXmpPageEmpty11}{SetXmpPagePatch11} -\pastebutton{SetXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{gs := set [g for i in 1..11 | primitive?(g := i::PF 11)]\bound{gs }} -\end{paste}\end{patch} - -\begin{patch}{SetXmpPagePatch12} -\begin{paste}{SetXmpPageFull12}{SetXmpPageEmpty12} -\pastebutton{SetXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{complement gs\free{gs }} -\indentrel{3}\begin{verbatim} - (12) {1,3,4,5,9,10,0} - Type: Set PrimeField 11 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SetXmpPageEmpty12} -\begin{paste}{SetXmpPageEmpty12}{SetXmpPagePatch12} -\pastebutton{SetXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{complement gs\free{gs }} -\end{paste}\end{patch} - -\begin{patch}{SetXmpPagePatch13} -\begin{paste}{SetXmpPageFull13}{SetXmpPageEmpty13} -\pastebutton{SetXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{a := set [i**2 for i in 1..5]\bound{a }} -\indentrel{3}\begin{verbatim} - (13) {1,4,9,16,25} - Type: Set PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SetXmpPageEmpty13} -\begin{paste}{SetXmpPageEmpty13}{SetXmpPagePatch13} -\pastebutton{SetXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{a := set [i**2 for i in 1..5]\bound{a }} -\end{paste}\end{patch} - -\begin{patch}{SetXmpPagePatch14} -\begin{paste}{SetXmpPageFull14}{SetXmpPageEmpty14} -\pastebutton{SetXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{insert!(32, a)\free{a }\bound{ainsert }} -\indentrel{3}\begin{verbatim} - (14) {1,4,9,16,25,32} - Type: Set PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SetXmpPageEmpty14} -\begin{paste}{SetXmpPageEmpty14}{SetXmpPagePatch14} -\pastebutton{SetXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{insert!(32, a)\free{a }\bound{ainsert }} -\end{paste}\end{patch} - -\begin{patch}{SetXmpPagePatch15} -\begin{paste}{SetXmpPageFull15}{SetXmpPageEmpty15} -\pastebutton{SetXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{remove!(25, a)\free{a }\bound{aremove }} -\indentrel{3}\begin{verbatim} - (15) {1,4,9,16,32} - Type: Set PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SetXmpPageEmpty15} -\begin{paste}{SetXmpPageEmpty15}{SetXmpPagePatch15} -\pastebutton{SetXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{remove!(25, a)\free{a }\bound{aremove }} -\end{paste}\end{patch} - -\begin{patch}{SetXmpPagePatch16} -\begin{paste}{SetXmpPageFull16}{SetXmpPageEmpty16} -\pastebutton{SetXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{a\free{aremove ainsert }} -\indentrel{3}\begin{verbatim} - (16) {1,4,9,16,32} - Type: Set PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SetXmpPageEmpty16} -\begin{paste}{SetXmpPageEmpty16}{SetXmpPagePatch16} -\pastebutton{SetXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{a\free{aremove ainsert }} -\end{paste}\end{patch} - -\begin{patch}{SetXmpPagePatch17} -\begin{paste}{SetXmpPageFull17}{SetXmpPageEmpty17} -\pastebutton{SetXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{b := b0 := set [i**2 for i in 1..5]\bound{b }} -\indentrel{3}\begin{verbatim} - (17) {1,4,9,16,25} - Type: Set PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SetXmpPageEmpty17} -\begin{paste}{SetXmpPageEmpty17}{SetXmpPagePatch17} -\pastebutton{SetXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{b := b0 := set [i**2 for i in 1..5]\bound{b }} -\end{paste}\end{patch} - -\begin{patch}{SetXmpPagePatch18} -\begin{paste}{SetXmpPageFull18}{SetXmpPageEmpty18} -\pastebutton{SetXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{b := union(b,32)\free{b }\bound{binsert }} -\indentrel{3}\begin{verbatim} - (18) {1,4,9,16,25,32} - Type: Set PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SetXmpPageEmpty18} -\begin{paste}{SetXmpPageEmpty18}{SetXmpPagePatch18} -\pastebutton{SetXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{b := union(b,32)\free{b }\bound{binsert }} -\end{paste}\end{patch} - -\begin{patch}{SetXmpPagePatch19} -\begin{paste}{SetXmpPageFull19}{SetXmpPageEmpty19} -\pastebutton{SetXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{b := difference(b,25)\free{binsert }\bound{bremove }} -\indentrel{3}\begin{verbatim} - (19) {1,4,9,16,32} - Type: Set PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SetXmpPageEmpty19} -\begin{paste}{SetXmpPageEmpty19}{SetXmpPagePatch19} -\pastebutton{SetXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{b := difference(b,25)\free{binsert }\bound{bremove }} -\end{paste}\end{patch} - -\begin{patch}{SetXmpPagePatch20} -\begin{paste}{SetXmpPageFull20}{SetXmpPageEmpty20} -\pastebutton{SetXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{b0\free{bremove }} -\indentrel{3}\begin{verbatim} - (20) {1,4,9,16,25} - Type: Set PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SetXmpPageEmpty20} -\begin{paste}{SetXmpPageEmpty20}{SetXmpPagePatch20} -\pastebutton{SetXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{b0\free{bremove }} -\end{paste}\end{patch} - diff --git a/books/pages/sint.pht b/books/pages/sint.pht deleted file mode 100644 index 82df8c2..0000000 --- a/books/pages/sint.pht +++ /dev/null @@ -1,176 +0,0 @@ -\begin{patch}{SingleIntegerXmpPagePatch1} -\begin{paste}{SingleIntegerXmpPageFull1}{SingleIntegerXmpPageEmpty1} -\pastebutton{SingleIntegerXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{min()$SingleInteger} -\indentrel{3}\begin{verbatim} - (1) - 134217728 - Type: SingleInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SingleIntegerXmpPageEmpty1} -\begin{paste}{SingleIntegerXmpPageEmpty1}{SingleIntegerXmpPagePatch1} -\pastebutton{SingleIntegerXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{min()$SingleInteger} -\end{paste}\end{patch} - -\begin{patch}{SingleIntegerXmpPagePatch2} -\begin{paste}{SingleIntegerXmpPageFull2}{SingleIntegerXmpPageEmpty2} -\pastebutton{SingleIntegerXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{max()$SingleInteger} -\indentrel{3}\begin{verbatim} - (2) 134217727 - Type: SingleInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SingleIntegerXmpPageEmpty2} -\begin{paste}{SingleIntegerXmpPageEmpty2}{SingleIntegerXmpPagePatch2} -\pastebutton{SingleIntegerXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{max()$SingleInteger} -\end{paste}\end{patch} - -\begin{patch}{SingleIntegerXmpPagePatch3} -\begin{paste}{SingleIntegerXmpPageFull3}{SingleIntegerXmpPageEmpty3} -\pastebutton{SingleIntegerXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{a := 1234 :: SingleInteger\bound{a }} -\indentrel{3}\begin{verbatim} - (3) 1234 - Type: SingleInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SingleIntegerXmpPageEmpty3} -\begin{paste}{SingleIntegerXmpPageEmpty3}{SingleIntegerXmpPagePatch3} -\pastebutton{SingleIntegerXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{a := 1234 :: SingleInteger\bound{a }} -\end{paste}\end{patch} - -\begin{patch}{SingleIntegerXmpPagePatch4} -\begin{paste}{SingleIntegerXmpPageFull4}{SingleIntegerXmpPageEmpty4} -\pastebutton{SingleIntegerXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{b := 124$SingleInteger\bound{b }} -\indentrel{3}\begin{verbatim} - (4) 124 - Type: SingleInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SingleIntegerXmpPageEmpty4} -\begin{paste}{SingleIntegerXmpPageEmpty4}{SingleIntegerXmpPagePatch4} -\pastebutton{SingleIntegerXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{b := 124$SingleInteger\bound{b }} -\end{paste}\end{patch} - -\begin{patch}{SingleIntegerXmpPagePatch5} -\begin{paste}{SingleIntegerXmpPageFull5}{SingleIntegerXmpPageEmpty5} -\pastebutton{SingleIntegerXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{gcd(a,b)\free{a }\free{b }} -\indentrel{3}\begin{verbatim} - (5) 2 - Type: SingleInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SingleIntegerXmpPageEmpty5} -\begin{paste}{SingleIntegerXmpPageEmpty5}{SingleIntegerXmpPagePatch5} -\pastebutton{SingleIntegerXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{gcd(a,b)\free{a }\free{b }} -\end{paste}\end{patch} - -\begin{patch}{SingleIntegerXmpPagePatch6} -\begin{paste}{SingleIntegerXmpPageFull6}{SingleIntegerXmpPageEmpty6} -\pastebutton{SingleIntegerXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{lcm(a,b)\free{a }\free{b }} -\indentrel{3}\begin{verbatim} - (6) 76508 - Type: SingleInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SingleIntegerXmpPageEmpty6} -\begin{paste}{SingleIntegerXmpPageEmpty6}{SingleIntegerXmpPagePatch6} -\pastebutton{SingleIntegerXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{lcm(a,b)\free{a }\free{b }} -\end{paste}\end{patch} - -\begin{patch}{SingleIntegerXmpPagePatch7} -\begin{paste}{SingleIntegerXmpPageFull7}{SingleIntegerXmpPageEmpty7} -\pastebutton{SingleIntegerXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{mulmod(5,6,13)$SingleInteger} -\indentrel{3}\begin{verbatim} - (7) 4 - Type: SingleInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SingleIntegerXmpPageEmpty7} -\begin{paste}{SingleIntegerXmpPageEmpty7}{SingleIntegerXmpPagePatch7} -\pastebutton{SingleIntegerXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{mulmod(5,6,13)$SingleInteger} -\end{paste}\end{patch} - -\begin{patch}{SingleIntegerXmpPagePatch8} -\begin{paste}{SingleIntegerXmpPageFull8}{SingleIntegerXmpPageEmpty8} -\pastebutton{SingleIntegerXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{positiveRemainder(37,13)$SingleInteger} -\indentrel{3}\begin{verbatim} - (8) 11 - Type: SingleInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SingleIntegerXmpPageEmpty8} -\begin{paste}{SingleIntegerXmpPageEmpty8}{SingleIntegerXmpPagePatch8} -\pastebutton{SingleIntegerXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{positiveRemainder(37,13)$SingleInteger} -\end{paste}\end{patch} - -\begin{patch}{SingleIntegerXmpPagePatch9} -\begin{paste}{SingleIntegerXmpPageFull9}{SingleIntegerXmpPageEmpty9} -\pastebutton{SingleIntegerXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{And(3,4)$SingleInteger} -\indentrel{3}\begin{verbatim} - (9) 0 - Type: SingleInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SingleIntegerXmpPageEmpty9} -\begin{paste}{SingleIntegerXmpPageEmpty9}{SingleIntegerXmpPagePatch9} -\pastebutton{SingleIntegerXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{And(3,4)$SingleInteger} -\end{paste}\end{patch} - -\begin{patch}{SingleIntegerXmpPagePatch10} -\begin{paste}{SingleIntegerXmpPageFull10}{SingleIntegerXmpPageEmpty10} -\pastebutton{SingleIntegerXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{shift(1,4)$SingleInteger} -\indentrel{3}\begin{verbatim} - (10) 16 - Type: SingleInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SingleIntegerXmpPageEmpty10} -\begin{paste}{SingleIntegerXmpPageEmpty10}{SingleIntegerXmpPagePatch10} -\pastebutton{SingleIntegerXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{shift(1,4)$SingleInteger} -\end{paste}\end{patch} - -\begin{patch}{SingleIntegerXmpPagePatch11} -\begin{paste}{SingleIntegerXmpPageFull11}{SingleIntegerXmpPageEmpty11} -\pastebutton{SingleIntegerXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{shift(31,-1)$SingleInteger} -\indentrel{3}\begin{verbatim} - (11) 15 - Type: SingleInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SingleIntegerXmpPageEmpty11} -\begin{paste}{SingleIntegerXmpPageEmpty11}{SingleIntegerXmpPagePatch11} -\pastebutton{SingleIntegerXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{shift(31,-1)$SingleInteger} -\end{paste}\end{patch} - diff --git a/books/pages/sqmatrix.pht b/books/pages/sqmatrix.pht deleted file mode 100644 index e58b3c6..0000000 --- a/books/pages/sqmatrix.pht +++ /dev/null @@ -1,110 +0,0 @@ -\begin{patch}{SquareMatrixXmpPagePatch1} -\begin{paste}{SquareMatrixXmpPageFull1}{SquareMatrixXmpPageEmpty1} -\pastebutton{SquareMatrixXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{)set expose add constructor SquareMatrix\bound{SQ }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareMatrixXmpPageEmpty1} -\begin{paste}{SquareMatrixXmpPageEmpty1}{SquareMatrixXmpPagePatch1} -\pastebutton{SquareMatrixXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{)set expose add constructor SquareMatrix\bound{SQ }} -\end{paste}\end{patch} - -\begin{patch}{SquareMatrixXmpPagePatch2} -\begin{paste}{SquareMatrixXmpPageFull2}{SquareMatrixXmpPageEmpty2} -\pastebutton{SquareMatrixXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{m := squareMatrix [[1,-\%i],[\%i,4]]\bound{m }\free{SQ }} -\indentrel{3}\begin{verbatim} - Ú1 - %i¿ - (1) ³ ³ - À%i 4 Ù - Type: SquareMatrix(2,Complex Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareMatrixXmpPageEmpty2} -\begin{paste}{SquareMatrixXmpPageEmpty2}{SquareMatrixXmpPagePatch2} -\pastebutton{SquareMatrixXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{m := squareMatrix [[1,-\%i],[\%i,4]]\bound{m }\free{SQ }} -\end{paste}\end{patch} - -\begin{patch}{SquareMatrixXmpPagePatch3} -\begin{paste}{SquareMatrixXmpPageFull3}{SquareMatrixXmpPageEmpty3} -\pastebutton{SquareMatrixXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{m*m - m\free{m }} -\indentrel{3}\begin{verbatim} - Ú 1 - 4%i¿ - (2) ³ ³ - À4%i 13 Ù - Type: SquareMatrix(2,Complex Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareMatrixXmpPageEmpty3} -\begin{paste}{SquareMatrixXmpPageEmpty3}{SquareMatrixXmpPagePatch3} -\pastebutton{SquareMatrixXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{m*m - m\free{m }} -\end{paste}\end{patch} - -\begin{patch}{SquareMatrixXmpPagePatch4} -\begin{paste}{SquareMatrixXmpPageFull4}{SquareMatrixXmpPageEmpty4} -\pastebutton{SquareMatrixXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{mm := squareMatrix [[m, 1], [1-m, m**2]]\free{m }\bound{mm }} -\indentrel{3}\begin{verbatim} - ÚÚ1 - %i¿ Ú1 0¿ ¿ - ³³ ³ ³ ³ ³ - ³À%i 4 Ù À0 1Ù ³ - (3) ³ ³ - ³Ú 0 %i ¿ Ú 2 - 5%i¿³ - ³³ ³ ³ ³³ - ÀÀ- %i - 3Ù À5%i 17 ÙÙ - Type: SquareMatrix(2,SquareMatrix(2,Complex Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareMatrixXmpPageEmpty4} -\begin{paste}{SquareMatrixXmpPageEmpty4}{SquareMatrixXmpPagePatch4} -\pastebutton{SquareMatrixXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{mm := squareMatrix [[m, 1], [1-m, m**2]]\free{m }\bound{mm }} -\end{paste}\end{patch} - -\begin{patch}{SquareMatrixXmpPagePatch5} -\begin{paste}{SquareMatrixXmpPageFull5}{SquareMatrixXmpPageEmpty5} -\pastebutton{SquareMatrixXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{p := (x + m)**2\free{m }\bound{p }} -\indentrel{3}\begin{verbatim} - 2 Ú 2 - 2%i¿ Ú 2 - 5%i¿ - (4) x + ³ ³x + ³ ³ - À2%i 8 Ù À5%i 17 Ù - Type: Polynomial SquareMatrix(2,Complex Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareMatrixXmpPageEmpty5} -\begin{paste}{SquareMatrixXmpPageEmpty5}{SquareMatrixXmpPagePatch5} -\pastebutton{SquareMatrixXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{p := (x + m)**2\free{m }\bound{p }} -\end{paste}\end{patch} - -\begin{patch}{SquareMatrixXmpPagePatch6} -\begin{paste}{SquareMatrixXmpPageFull6}{SquareMatrixXmpPageEmpty6} -\pastebutton{SquareMatrixXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{p::SquareMatrix(2, ?)\free{p }} -\indentrel{3}\begin{verbatim} - Ú 2 ¿ - ³x + 2x + 2 - 2%i x - 5%i³ - (5) ³ ³ - ³ 2 ³ - À2%i x + 5%i x + 8x + 17 Ù - Type: SquareMatrix(2,Polynomial Complex Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareMatrixXmpPageEmpty6} -\begin{paste}{SquareMatrixXmpPageEmpty6}{SquareMatrixXmpPagePatch6} -\pastebutton{SquareMatrixXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{p::SquareMatrix(2, ?)\free{p }} -\end{paste}\end{patch} - diff --git a/books/pages/sregset.pht b/books/pages/sregset.pht deleted file mode 100644 index ea96c7b..0000000 --- a/books/pages/sregset.pht +++ /dev/null @@ -1,416 +0,0 @@ -\begin{patch}{SquareFreeRegularTriangularSetXmpPagePatch1} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageFull1}{SquareFreeRegularTriangularSetXmpPageEmpty1} -\pastebutton{SquareFreeRegularTriangularSetXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{R := Integer\bound{R }} -\indentrel{3}\begin{verbatim} - (1) Integer - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPageEmpty1} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageEmpty1}{SquareFreeRegularTriangularSetXmpPagePatch1} -\pastebutton{SquareFreeRegularTriangularSetXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{R := Integer\bound{R }} -\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPagePatch2} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageFull2}{SquareFreeRegularTriangularSetXmpPageEmpty2} -\pastebutton{SquareFreeRegularTriangularSetXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{ls : List Symbol := [x,y,z,t]\bound{ls }} -\indentrel{3}\begin{verbatim} - (2) [x,y,z,t] - Type: List Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPageEmpty2} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageEmpty2}{SquareFreeRegularTriangularSetXmpPagePatch2} -\pastebutton{SquareFreeRegularTriangularSetXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{ls : List Symbol := [x,y,z,t]\bound{ls }} -\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPagePatch3} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageFull3}{SquareFreeRegularTriangularSetXmpPageEmpty3} -\pastebutton{SquareFreeRegularTriangularSetXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{V := OVAR(ls)\free{ls }\bound{V }} -\indentrel{3}\begin{verbatim} - (3) OrderedVariableList [x,y,z,t] - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPageEmpty3} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageEmpty3}{SquareFreeRegularTriangularSetXmpPagePatch3} -\pastebutton{SquareFreeRegularTriangularSetXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{V := OVAR(ls)\free{ls }\bound{V }} -\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPagePatch4} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageFull4}{SquareFreeRegularTriangularSetXmpPageEmpty4} -\pastebutton{SquareFreeRegularTriangularSetXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{E := IndexedExponents V\free{V }\bound{E }} -\indentrel{3}\begin{verbatim} - (4) IndexedExponents OrderedVariableList [x,y,z,t] - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPageEmpty4} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageEmpty4}{SquareFreeRegularTriangularSetXmpPagePatch4} -\pastebutton{SquareFreeRegularTriangularSetXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{E := IndexedExponents V\free{V }\bound{E }} -\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPagePatch5} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageFull5}{SquareFreeRegularTriangularSetXmpPageEmpty5} -\pastebutton{SquareFreeRegularTriangularSetXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{P := NSMP(R, V)\free{R }\free{V }\bound{P }} -\indentrel{3}\begin{verbatim} - (5) - NewSparseMultivariatePolynomial(Integer,OrderedVariable - List [x,y,z,t]) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPageEmpty5} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageEmpty5}{SquareFreeRegularTriangularSetXmpPagePatch5} -\pastebutton{SquareFreeRegularTriangularSetXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{P := NSMP(R, V)\free{R }\free{V }\bound{P }} -\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPagePatch6} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageFull6}{SquareFreeRegularTriangularSetXmpPageEmpty6} -\pastebutton{SquareFreeRegularTriangularSetXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{x: P := 'x\free{P }\bound{x }} -\indentrel{3}\begin{verbatim} - (6) x -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPageEmpty6} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageEmpty6}{SquareFreeRegularTriangularSetXmpPagePatch6} -\pastebutton{SquareFreeRegularTriangularSetXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{x: P := 'x\free{P }\bound{x }} -\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPagePatch7} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageFull7}{SquareFreeRegularTriangularSetXmpPageEmpty7} -\pastebutton{SquareFreeRegularTriangularSetXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{y: P := 'y\free{P }\bound{y }} -\indentrel{3}\begin{verbatim} - (7) y -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPageEmpty7} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageEmpty7}{SquareFreeRegularTriangularSetXmpPagePatch7} -\pastebutton{SquareFreeRegularTriangularSetXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{y: P := 'y\free{P }\bound{y }} -\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPagePatch8} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageFull8}{SquareFreeRegularTriangularSetXmpPageEmpty8} -\pastebutton{SquareFreeRegularTriangularSetXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{z: P := 'z\free{P }\bound{z }} -\indentrel{3}\begin{verbatim} - (8) z -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPageEmpty8} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageEmpty8}{SquareFreeRegularTriangularSetXmpPagePatch8} -\pastebutton{SquareFreeRegularTriangularSetXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{z: P := 'z\free{P }\bound{z }} -\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPagePatch9} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageFull9}{SquareFreeRegularTriangularSetXmpPageEmpty9} -\pastebutton{SquareFreeRegularTriangularSetXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{t: P := 't\free{P }\bound{t }} -\indentrel{3}\begin{verbatim} - (9) t -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPageEmpty9} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageEmpty9}{SquareFreeRegularTriangularSetXmpPagePatch9} -\pastebutton{SquareFreeRegularTriangularSetXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{t: P := 't\free{P }\bound{t }} -\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPagePatch10} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageFull10}{SquareFreeRegularTriangularSetXmpPageEmpty10} -\pastebutton{SquareFreeRegularTriangularSetXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{ST := SREGSET(R,E,V,P)\free{R }\free{E }\free{V }\free{P }\bound{ST }} -\indentrel{3}\begin{verbatim} - (10) - SquareFreeRegularTriangularSet(Integer,IndexedExponents - OrderedVariableList [x,y,z,t],OrderedVariableList [x,y - ,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVa - riableList [x,y,z,t])) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPageEmpty10} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageEmpty10}{SquareFreeRegularTriangularSetXmpPagePatch10} -\pastebutton{SquareFreeRegularTriangularSetXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{ST := SREGSET(R,E,V,P)\free{R }\free{E }\free{V }\free{P }\bound{ST }} -\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPagePatch11} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageFull11}{SquareFreeRegularTriangularSetXmpPageEmpty11} -\pastebutton{SquareFreeRegularTriangularSetXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{p1 := x ** 31 - x ** 6 - x - y\free{x }\free{y }\bound{p1 }} -\indentrel{3}\begin{verbatim} - 31 6 - (11) x - x - x - y -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPageEmpty11} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageEmpty11}{SquareFreeRegularTriangularSetXmpPagePatch11} -\pastebutton{SquareFreeRegularTriangularSetXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{p1 := x ** 31 - x ** 6 - x - y\free{x }\free{y }\bound{p1 }} -\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPagePatch12} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageFull12}{SquareFreeRegularTriangularSetXmpPageEmpty12} -\pastebutton{SquareFreeRegularTriangularSetXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{p2 := x ** 8 - z\free{x }\free{z }\bound{p2 }} -\indentrel{3}\begin{verbatim} - 8 - (12) x - z -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPageEmpty12} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageEmpty12}{SquareFreeRegularTriangularSetXmpPagePatch12} -\pastebutton{SquareFreeRegularTriangularSetXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{p2 := x ** 8 - z\free{x }\free{z }\bound{p2 }} -\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPagePatch13} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageFull13}{SquareFreeRegularTriangularSetXmpPageEmpty13} -\pastebutton{SquareFreeRegularTriangularSetXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{p3 := x ** 10 - t\free{x }\free{t }\bound{p3 }} -\indentrel{3}\begin{verbatim} - 10 - (13) x - t -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPageEmpty13} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageEmpty13}{SquareFreeRegularTriangularSetXmpPagePatch13} -\pastebutton{SquareFreeRegularTriangularSetXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{p3 := x ** 10 - t\free{x }\free{t }\bound{p3 }} -\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPagePatch14} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageFull14}{SquareFreeRegularTriangularSetXmpPageEmpty14} -\pastebutton{SquareFreeRegularTriangularSetXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{lp := [p1, p2, p3]\free{p1 }\free{p2 }\free{p3 }\bound{lp }} -\indentrel{3}\begin{verbatim} - 31 6 8 10 - (14) [x - x - x - y,x - z,x - t] -Type: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPageEmpty14} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageEmpty14}{SquareFreeRegularTriangularSetXmpPagePatch14} -\pastebutton{SquareFreeRegularTriangularSetXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{lp := [p1, p2, p3]\free{p1 }\free{p2 }\free{p3 }\bound{lp }} -\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPagePatch15} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageFull15}{SquareFreeRegularTriangularSetXmpPageEmpty15} -\pastebutton{SquareFreeRegularTriangularSetXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{zeroSetSplit(lp)$ST\free{lp }\free{ST }} -\indentrel{3}\begin{verbatim} - (15) - [ - 5 4 2 3 8 5 3 2 - {z - t , t z y + 2z y - t + 2t + t - t , - 4 2 - (t - t)x - t y - z } - ] -Type: List SquareFreeRegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPageEmpty15} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageEmpty15}{SquareFreeRegularTriangularSetXmpPagePatch15} -\pastebutton{SquareFreeRegularTriangularSetXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{zeroSetSplit(lp)$ST\free{lp }\free{ST }} -\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPagePatch16} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageFull16}{SquareFreeRegularTriangularSetXmpPageEmpty16} -\pastebutton{SquareFreeRegularTriangularSetXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{zeroSetSplit(lp,false)$ST\free{lp }\free{ST }\bound{lts }} -\indentrel{3}\begin{verbatim} - (16) - [ - 5 4 2 3 8 5 3 2 - {z - t , t z y + 2z y - t + 2t + t - t , - 4 2 - (t - t)x - t y - z } - , - 3 5 2 2 - {t - 1,z - t,t y + z ,z x - t}, {t,z,y,x}] -Type: List SquareFreeRegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPageEmpty16} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageEmpty16}{SquareFreeRegularTriangularSetXmpPagePatch16} -\pastebutton{SquareFreeRegularTriangularSetXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{zeroSetSplit(lp,false)$ST\free{lp }\free{ST }\bound{lts }} -\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPagePatch17} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageFull17}{SquareFreeRegularTriangularSetXmpPageEmpty17} -\pastebutton{SquareFreeRegularTriangularSetXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{T := REGSET(R,E,V,P)\free{R }\free{E }\free{V }\free{P }\bound{T }} -\indentrel{3}\begin{verbatim} - (17) - RegularTriangularSet(Integer,IndexedExponents OrderedVa - riableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewS - parseMultivariatePolynomial(Integer,OrderedVariableList - [x,y,z,t])) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPageEmpty17} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageEmpty17}{SquareFreeRegularTriangularSetXmpPagePatch17} -\pastebutton{SquareFreeRegularTriangularSetXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{T := REGSET(R,E,V,P)\free{R }\free{E }\free{V }\free{P }\bound{T }} -\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPagePatch18} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageFull18}{SquareFreeRegularTriangularSetXmpPageEmpty18} -\pastebutton{SquareFreeRegularTriangularSetXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{lts := zeroSetSplit(lp,false)$T\free{lp }\free{T }\bound{lts }} -\indentrel{3}\begin{verbatim} - (18) - [ - 5 4 2 3 8 5 3 2 - {z - t , t z y + 2z y - t + 2t + t - t , - 4 2 - (t - t)x - t y - z } - , - 3 5 2 3 2 - {t - 1,z - t,t z y + 2z y + 1,z x - t}, - {t,z,y,x}] -Type: List RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPageEmpty18} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageEmpty18}{SquareFreeRegularTriangularSetXmpPagePatch18} -\pastebutton{SquareFreeRegularTriangularSetXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{lts := zeroSetSplit(lp,false)$T\free{lp }\free{T }\bound{lts }} -\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPagePatch19} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageFull19}{SquareFreeRegularTriangularSetXmpPageEmpty19} -\pastebutton{SquareFreeRegularTriangularSetXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{ts := lts.2\free{lts }\bound{ts }} -\indentrel{3}\begin{verbatim} - 3 5 2 3 2 - (19) {t - 1,z - t,t z y + 2z y + 1,z x - t} -Type: RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPageEmpty19} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageEmpty19}{SquareFreeRegularTriangularSetXmpPagePatch19} -\pastebutton{SquareFreeRegularTriangularSetXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{ts := lts.2\free{lts }\bound{ts }} -\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPagePatch20} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageFull20}{SquareFreeRegularTriangularSetXmpPageEmpty20} -\pastebutton{SquareFreeRegularTriangularSetXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{pol := select(ts,'y)$T\free{ts }\free{y }\free{T }\bound{pol }} -\indentrel{3}\begin{verbatim} - 2 3 - (20) t z y + 2z y + 1 -Type: Union(NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]),...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPageEmpty20} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageEmpty20}{SquareFreeRegularTriangularSetXmpPagePatch20} -\pastebutton{SquareFreeRegularTriangularSetXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{pol := select(ts,'y)$T\free{ts }\free{y }\free{T }\bound{pol }} -\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPagePatch21} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageFull21}{SquareFreeRegularTriangularSetXmpPageEmpty21} -\pastebutton{SquareFreeRegularTriangularSetXmpPageFull21}{\hidepaste} -\tab{5}\spadcommand{tower := collectUnder(ts,'y)$T\free{ts }\free{y }\free{T }\bound{tower }} -\indentrel{3}\begin{verbatim} - 3 5 - (21) {t - 1,z - t} -Type: RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPageEmpty21} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageEmpty21}{SquareFreeRegularTriangularSetXmpPagePatch21} -\pastebutton{SquareFreeRegularTriangularSetXmpPageEmpty21}{\showpaste} -\tab{5}\spadcommand{tower := collectUnder(ts,'y)$T\free{ts }\free{y }\free{T }\bound{tower }} -\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPagePatch22} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageFull22}{SquareFreeRegularTriangularSetXmpPageEmpty22} -\pastebutton{SquareFreeRegularTriangularSetXmpPageFull22}{\hidepaste} -\tab{5}\spadcommand{pack := RegularTriangularSetGcdPackage(R,E,V,P,T)\free{R }\free{E }\free{V }\free{P }\free{T }\bound{pack }} -\indentrel{3}\begin{verbatim} - (22) - RegularTriangularSetGcdPackage(Integer,IndexedExponents - OrderedVariableList [x,y,z,t],OrderedVariableList [x,y - ,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVa - riableList [x,y,z,t]),RegularTriangularSet(Integer,Inde - xedExponents OrderedVariableList [x,y,z,t],OrderedVaria - bleList [x,y,z,t],NewSparseMultivariatePolynomial(Integ - er,OrderedVariableList [x,y,z,t]))) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPageEmpty22} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageEmpty22}{SquareFreeRegularTriangularSetXmpPagePatch22} -\pastebutton{SquareFreeRegularTriangularSetXmpPageEmpty22}{\showpaste} -\tab{5}\spadcommand{pack := RegularTriangularSetGcdPackage(R,E,V,P,T)\free{R }\free{E }\free{V }\free{P }\free{T }\bound{pack }} -\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPagePatch23} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageFull23}{SquareFreeRegularTriangularSetXmpPageEmpty23} -\pastebutton{SquareFreeRegularTriangularSetXmpPageFull23}{\hidepaste} -\tab{5}\spadcommand{toseSquareFreePart(pol,tower)$pack\free{pol }\free{tower }\free{pack }} -\indentrel{3}\begin{verbatim} - 2 3 5 - (23) [[val= t y + z ,tower= {t - 1,z - t}]] -Type: List Record(val: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]),tower: RegularTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]))) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SquareFreeRegularTriangularSetXmpPageEmpty23} -\begin{paste}{SquareFreeRegularTriangularSetXmpPageEmpty23}{SquareFreeRegularTriangularSetXmpPagePatch23} -\pastebutton{SquareFreeRegularTriangularSetXmpPageEmpty23}{\showpaste} -\tab{5}\spadcommand{toseSquareFreePart(pol,tower)$pack\free{pol }\free{tower }\free{pack }} -\end{paste}\end{patch} - diff --git a/books/pages/stbl.pht b/books/pages/stbl.pht deleted file mode 100644 index a4e1562..0000000 --- a/books/pages/stbl.pht +++ /dev/null @@ -1,112 +0,0 @@ -\begin{patch}{SparseTableXmpPagePatch1} -\begin{paste}{SparseTableXmpPageFull1}{SparseTableXmpPageEmpty1} -\pastebutton{SparseTableXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{t: SparseTable(Integer, String, "Try again!") := table()\bound{t }} -\indentrel{3}\begin{verbatim} - (1) table() - Type: SparseTable(Integer,String,Try again!) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SparseTableXmpPageEmpty1} -\begin{paste}{SparseTableXmpPageEmpty1}{SparseTableXmpPagePatch1} -\pastebutton{SparseTableXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{t: SparseTable(Integer, String, "Try again!") := table()\bound{t }} -\end{paste}\end{patch} - -\begin{patch}{SparseTableXmpPagePatch2} -\begin{paste}{SparseTableXmpPageFull2}{SparseTableXmpPageEmpty2} -\pastebutton{SparseTableXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{t.3 := "Number three"\free{t }\bound{t1 }} -\indentrel{3}\begin{verbatim} - (2) "Number three" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SparseTableXmpPageEmpty2} -\begin{paste}{SparseTableXmpPageEmpty2}{SparseTableXmpPagePatch2} -\pastebutton{SparseTableXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{t.3 := "Number three"\free{t }\bound{t1 }} -\end{paste}\end{patch} - -\begin{patch}{SparseTableXmpPagePatch3} -\begin{paste}{SparseTableXmpPageFull3}{SparseTableXmpPageEmpty3} -\pastebutton{SparseTableXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{t.4 := "Number four"\free{t }\bound{t2 }} -\indentrel{3}\begin{verbatim} - (3) "Number four" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SparseTableXmpPageEmpty3} -\begin{paste}{SparseTableXmpPageEmpty3}{SparseTableXmpPagePatch3} -\pastebutton{SparseTableXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{t.4 := "Number four"\free{t }\bound{t2 }} -\end{paste}\end{patch} - -\begin{patch}{SparseTableXmpPagePatch4} -\begin{paste}{SparseTableXmpPageFull4}{SparseTableXmpPageEmpty4} -\pastebutton{SparseTableXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{t.3\free{t1 }} -\indentrel{3}\begin{verbatim} - (4) "Number three" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SparseTableXmpPageEmpty4} -\begin{paste}{SparseTableXmpPageEmpty4}{SparseTableXmpPagePatch4} -\pastebutton{SparseTableXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{t.3\free{t1 }} -\end{paste}\end{patch} - -\begin{patch}{SparseTableXmpPagePatch5} -\begin{paste}{SparseTableXmpPageFull5}{SparseTableXmpPageEmpty5} -\pastebutton{SparseTableXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{t.2\free{t }} -\indentrel{3}\begin{verbatim} - (5) "Try again!" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SparseTableXmpPageEmpty5} -\begin{paste}{SparseTableXmpPageEmpty5}{SparseTableXmpPagePatch5} -\pastebutton{SparseTableXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{t.2\free{t }} -\end{paste}\end{patch} - -\begin{patch}{SparseTableXmpPagePatch6} -\begin{paste}{SparseTableXmpPageFull6}{SparseTableXmpPageEmpty6} -\pastebutton{SparseTableXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{keys t\free{t1 t2 }} -\indentrel{3}\begin{verbatim} - (6) [4,3] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SparseTableXmpPageEmpty6} -\begin{paste}{SparseTableXmpPageEmpty6}{SparseTableXmpPagePatch6} -\pastebutton{SparseTableXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{keys t\free{t1 t2 }} -\end{paste}\end{patch} - -\begin{patch}{SparseTableXmpPagePatch7} -\begin{paste}{SparseTableXmpPageFull7}{SparseTableXmpPageEmpty7} -\pastebutton{SparseTableXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{entries t\free{t1 t2 }} -\indentrel{3}\begin{verbatim} - (7) ["Number four","Number three"] - Type: List String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SparseTableXmpPageEmpty7} -\begin{paste}{SparseTableXmpPageEmpty7}{SparseTableXmpPagePatch7} -\pastebutton{SparseTableXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{entries t\free{t1 t2 }} -\end{paste}\end{patch} - diff --git a/books/pages/stream.pht b/books/pages/stream.pht deleted file mode 100644 index 98216ce..0000000 --- a/books/pages/stream.pht +++ /dev/null @@ -1,190 +0,0 @@ -\begin{patch}{StreamXmpPagePatch1} -\begin{paste}{StreamXmpPageFull1}{StreamXmpPageEmpty1} -\pastebutton{StreamXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{ints := [i for i in 0..]\bound{ints }} -\indentrel{3}\begin{verbatim} - (1) [0,1,2,3,4,5,6,7,8,9,...] - Type: Stream NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StreamXmpPageEmpty1} -\begin{paste}{StreamXmpPageEmpty1}{StreamXmpPagePatch1} -\pastebutton{StreamXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{ints := [i for i in 0..]\bound{ints }} -\end{paste}\end{patch} - -\begin{patch}{StreamXmpPagePatch2} -\begin{paste}{StreamXmpPageFull2}{StreamXmpPageEmpty2} -\pastebutton{StreamXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{f : List INT -> List INT\bound{fdec }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StreamXmpPageEmpty2} -\begin{paste}{StreamXmpPageEmpty2}{StreamXmpPagePatch2} -\pastebutton{StreamXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{f : List INT -> List INT\bound{fdec }} -\end{paste}\end{patch} - -\begin{patch}{StreamXmpPagePatch3} -\begin{paste}{StreamXmpPageFull3}{StreamXmpPageEmpty3} -\pastebutton{StreamXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{f x == [x.1 + x.2, x.1]\bound{f }\free{fdec }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StreamXmpPageEmpty3} -\begin{paste}{StreamXmpPageEmpty3}{StreamXmpPagePatch3} -\pastebutton{StreamXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{f x == [x.1 + x.2, x.1]\bound{f }\free{fdec }} -\end{paste}\end{patch} - -\begin{patch}{StreamXmpPagePatch4} -\begin{paste}{StreamXmpPageFull4}{StreamXmpPageEmpty4} -\pastebutton{StreamXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{fibs := [i.2 for i in [generate(f,[1,1])]]\bound{fibs }\free{f }} -\indentrel{3}\begin{verbatim} - (4) [1,1,2,3,5,8,13,21,34,55,...] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StreamXmpPageEmpty4} -\begin{paste}{StreamXmpPageEmpty4}{StreamXmpPagePatch4} -\pastebutton{StreamXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{fibs := [i.2 for i in [generate(f,[1,1])]]\bound{fibs }\free{f }} -\end{paste}\end{patch} - -\begin{patch}{StreamXmpPagePatch5} -\begin{paste}{StreamXmpPageFull5}{StreamXmpPageEmpty5} -\pastebutton{StreamXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{[i for i in ints | odd? i]\free{ints }} -\indentrel{3}\begin{verbatim} - (5) [1,3,5,7,9,11,13,15,17,19,...] - Type: Stream NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StreamXmpPageEmpty5} -\begin{paste}{StreamXmpPageEmpty5}{StreamXmpPagePatch5} -\pastebutton{StreamXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{[i for i in ints | odd? i]\free{ints }} -\end{paste}\end{patch} - -\begin{patch}{StreamXmpPagePatch6} -\begin{paste}{StreamXmpPageFull6}{StreamXmpPageEmpty6} -\pastebutton{StreamXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{odds := [2*i+1 for i in ints]\bound{odds }\free{ints }} -\indentrel{3}\begin{verbatim} - (6) [1,3,5,7,9,11,13,15,17,19,...] - Type: Stream NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StreamXmpPageEmpty6} -\begin{paste}{StreamXmpPageEmpty6}{StreamXmpPagePatch6} -\pastebutton{StreamXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{odds := [2*i+1 for i in ints]\bound{odds }\free{ints }} -\end{paste}\end{patch} - -\begin{patch}{StreamXmpPagePatch7} -\begin{paste}{StreamXmpPageFull7}{StreamXmpPageEmpty7} -\pastebutton{StreamXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{scan(0,+,odds)\free{odds }} -\indentrel{3}\begin{verbatim} - (7) [1,4,9,16,25,36,49,64,81,100,...] - Type: Stream NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StreamXmpPageEmpty7} -\begin{paste}{StreamXmpPageEmpty7}{StreamXmpPagePatch7} -\pastebutton{StreamXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{scan(0,+,odds)\free{odds }} -\end{paste}\end{patch} - -\begin{patch}{StreamXmpPagePatch8} -\begin{paste}{StreamXmpPageFull8}{StreamXmpPageEmpty8} -\pastebutton{StreamXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{[i*j for i in ints for j in odds]\free{ints }\free{odds }} -\indentrel{3}\begin{verbatim} - (8) [0,3,10,21,36,55,78,105,136,171,...] - Type: Stream NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StreamXmpPageEmpty8} -\begin{paste}{StreamXmpPageEmpty8}{StreamXmpPagePatch8} -\pastebutton{StreamXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{[i*j for i in ints for j in odds]\free{ints }\free{odds }} -\end{paste}\end{patch} - -\begin{patch}{StreamXmpPagePatch9} -\begin{paste}{StreamXmpPageFull9}{StreamXmpPageEmpty9} -\pastebutton{StreamXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{map(*,ints,odds)\free{ints odds }} -\indentrel{3}\begin{verbatim} - (9) [0,3,10,21,36,55,78,105,136,171,...] - Type: Stream NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StreamXmpPageEmpty9} -\begin{paste}{StreamXmpPageEmpty9}{StreamXmpPagePatch9} -\pastebutton{StreamXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{map(*,ints,odds)\free{ints odds }} -\end{paste}\end{patch} - -\begin{patch}{StreamXmpPagePatch10} -\begin{paste}{StreamXmpPageFull10}{StreamXmpPageEmpty10} -\pastebutton{StreamXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{first ints\free{ints }} -\indentrel{3}\begin{verbatim} - (10) 0 - Type: NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StreamXmpPageEmpty10} -\begin{paste}{StreamXmpPageEmpty10}{StreamXmpPagePatch10} -\pastebutton{StreamXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{first ints\free{ints }} -\end{paste}\end{patch} - -\begin{patch}{StreamXmpPagePatch11} -\begin{paste}{StreamXmpPageFull11}{StreamXmpPageEmpty11} -\pastebutton{StreamXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{rest ints\free{ints }} -\indentrel{3}\begin{verbatim} - (11) [1,2,3,4,5,6,7,8,9,10,...] - Type: Stream NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StreamXmpPageEmpty11} -\begin{paste}{StreamXmpPageEmpty11}{StreamXmpPagePatch11} -\pastebutton{StreamXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{rest ints\free{ints }} -\end{paste}\end{patch} - -\begin{patch}{StreamXmpPagePatch12} -\begin{paste}{StreamXmpPageFull12}{StreamXmpPageEmpty12} -\pastebutton{StreamXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{fibs 20\free{fibs }} -\indentrel{3}\begin{verbatim} - (12) 6765 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StreamXmpPageEmpty12} -\begin{paste}{StreamXmpPageEmpty12}{StreamXmpPagePatch12} -\pastebutton{StreamXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{fibs 20\free{fibs }} -\end{paste}\end{patch} - diff --git a/books/pages/string.pht b/books/pages/string.pht deleted file mode 100644 index db07822..0000000 --- a/books/pages/string.pht +++ /dev/null @@ -1,559 +0,0 @@ -\begin{patch}{StringXmpPagePatch1} -\begin{paste}{StringXmpPageFull1}{StringXmpPageEmpty1} -\pastebutton{StringXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{hello := "Hello, I'm AXIOM!"\bound{hello }} -\indentrel{3}\begin{verbatim} - (1) "Hello, I'm AXIOM!" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty1} -\begin{paste}{StringXmpPageEmpty1}{StringXmpPagePatch1} -\pastebutton{StringXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{hello := "Hello, I'm AXIOM!"\bound{hello }} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch2} -\begin{paste}{StringXmpPageFull2}{StringXmpPageEmpty2} -\pastebutton{StringXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{said := "Jane said, _"Look!_""\bound{said }} -\indentrel{3}\begin{verbatim} - (2) "Jane said, "Look!"" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty2} -\begin{paste}{StringXmpPageEmpty2}{StringXmpPagePatch2} -\pastebutton{StringXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{said := "Jane said, _"Look!_""\bound{said }} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch3} -\begin{paste}{StringXmpPageFull3}{StringXmpPageEmpty3} -\pastebutton{StringXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{saw := "She saw exactly one underscore: __."\bound{saw }} -\indentrel{3}\begin{verbatim} - (3) "She saw exactly one underscore: _." - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty3} -\begin{paste}{StringXmpPageEmpty3}{StringXmpPagePatch3} -\pastebutton{StringXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{saw := "She saw exactly one underscore: __."\bound{saw }} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch4} -\begin{paste}{StringXmpPageFull4}{StringXmpPageEmpty4} -\pastebutton{StringXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{gasp: String := new(32, char "x")\bound{gasp }} -\indentrel{3}\begin{verbatim} - (4) "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty4} -\begin{paste}{StringXmpPageEmpty4}{StringXmpPagePatch4} -\pastebutton{StringXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{gasp: String := new(32, char "x")\bound{gasp }} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch5} -\begin{paste}{StringXmpPageFull5}{StringXmpPageEmpty5} -\pastebutton{StringXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{\#gasp\free{gasp }} -\indentrel{3}\begin{verbatim} - (5) 32 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty5} -\begin{paste}{StringXmpPageEmpty5}{StringXmpPagePatch5} -\pastebutton{StringXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{\#gasp\free{gasp }} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch6} -\begin{paste}{StringXmpPageFull6}{StringXmpPageEmpty6} -\pastebutton{StringXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{hello.2\free{hello }} -\indentrel{3}\begin{verbatim} - (6) e - Type: Character -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty6} -\begin{paste}{StringXmpPageEmpty6}{StringXmpPagePatch6} -\pastebutton{StringXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{hello.2\free{hello }} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch7} -\begin{paste}{StringXmpPageFull7}{StringXmpPageEmpty7} -\pastebutton{StringXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{hello 2\free{hello }} -\indentrel{3}\begin{verbatim} - (7) e - Type: Character -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty7} -\begin{paste}{StringXmpPageEmpty7}{StringXmpPagePatch7} -\pastebutton{StringXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{hello 2\free{hello }} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch8} -\begin{paste}{StringXmpPageFull8}{StringXmpPageEmpty8} -\pastebutton{StringXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{hello(2)\free{hello }} -\indentrel{3}\begin{verbatim} - (8) e - Type: Character -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty8} -\begin{paste}{StringXmpPageEmpty8}{StringXmpPagePatch8} -\pastebutton{StringXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{hello(2)\free{hello }} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch9} -\begin{paste}{StringXmpPageFull9}{StringXmpPageEmpty9} -\pastebutton{StringXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{hullo := copy hello\free{hello }\bound{hullo0 }} -\indentrel{3}\begin{verbatim} - (9) "Hello, I'm AXIOM!" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty9} -\begin{paste}{StringXmpPageEmpty9}{StringXmpPagePatch9} -\pastebutton{StringXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{hullo := copy hello\free{hello }\bound{hullo0 }} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch10} -\begin{paste}{StringXmpPageFull10}{StringXmpPageEmpty10} -\pastebutton{StringXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{hullo.2 := char "u"; [hello, hullo]\free{hullo0 hello }\bound{hullo }} -\indentrel{3}\begin{verbatim} - (10) ["Hello, I'm AXIOM!","Hullo, I'm AXIOM!"] - Type: List String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty10} -\begin{paste}{StringXmpPageEmpty10}{StringXmpPagePatch10} -\pastebutton{StringXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{hullo.2 := char "u"; [hello, hullo]\free{hullo0 hello }\bound{hullo }} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch11} -\begin{paste}{StringXmpPageFull11}{StringXmpPageEmpty11} -\pastebutton{StringXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{saidsaw := concat ["alpha","---","omega"]\bound{saidsaw }} -\indentrel{3}\begin{verbatim} - (11) "alpha---omega" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty11} -\begin{paste}{StringXmpPageEmpty11}{StringXmpPagePatch11} -\pastebutton{StringXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{saidsaw := concat ["alpha","---","omega"]\bound{saidsaw }} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch12} -\begin{paste}{StringXmpPageFull12}{StringXmpPageEmpty12} -\pastebutton{StringXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{concat("hello ","goodbye")} -\indentrel{3}\begin{verbatim} - (12) "hello goodbye" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty12} -\begin{paste}{StringXmpPageEmpty12}{StringXmpPagePatch12} -\pastebutton{StringXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{concat("hello ","goodbye")} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch13} -\begin{paste}{StringXmpPageFull13}{StringXmpPageEmpty13} -\pastebutton{StringXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{"This " "is " "several " "strings " "concatenated."} -\indentrel{3}\begin{verbatim} - (13) "This is several strings concatenated." - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty13} -\begin{paste}{StringXmpPageEmpty13}{StringXmpPagePatch13} -\pastebutton{StringXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{"This " "is " "several " "strings " "concatenated."} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch14} -\begin{paste}{StringXmpPageFull14}{StringXmpPageEmpty14} -\pastebutton{StringXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{hello(1..5)\free{hello }} -\indentrel{3}\begin{verbatim} - (14) "Hello" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty14} -\begin{paste}{StringXmpPageEmpty14}{StringXmpPagePatch14} -\pastebutton{StringXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{hello(1..5)\free{hello }} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch15} -\begin{paste}{StringXmpPageFull15}{StringXmpPageEmpty15} -\pastebutton{StringXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{hello(8..)\free{hello }} -\indentrel{3}\begin{verbatim} - (15) "I'm AXIOM!" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty15} -\begin{paste}{StringXmpPageEmpty15}{StringXmpPagePatch15} -\pastebutton{StringXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{hello(8..)\free{hello }} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch16} -\begin{paste}{StringXmpPageFull16}{StringXmpPageEmpty16} -\pastebutton{StringXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{split(hello, char " ")\free{hello }} -\indentrel{3}\begin{verbatim} - (16) ["Hello,","I'm","AXIOM!"] - Type: List String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty16} -\begin{paste}{StringXmpPageEmpty16}{StringXmpPagePatch16} -\pastebutton{StringXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{split(hello, char " ")\free{hello }} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch17} -\begin{paste}{StringXmpPageFull17}{StringXmpPageEmpty17} -\pastebutton{StringXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{other := complement alphanumeric();\bound{other }} -\indentrel{3}\begin{verbatim} - Type: CharacterClass -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty17} -\begin{paste}{StringXmpPageEmpty17}{StringXmpPagePatch17} -\pastebutton{StringXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{other := complement alphanumeric();\bound{other }} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch18} -\begin{paste}{StringXmpPageFull18}{StringXmpPageEmpty18} -\pastebutton{StringXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{split(saidsaw, other)\free{saidsaw other }} -\indentrel{3}\begin{verbatim} - (18) ["alpha","omega"] - Type: List String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty18} -\begin{paste}{StringXmpPageEmpty18}{StringXmpPagePatch18} -\pastebutton{StringXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{split(saidsaw, other)\free{saidsaw other }} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch19} -\begin{paste}{StringXmpPageFull19}{StringXmpPageEmpty19} -\pastebutton{StringXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{trim ("\#\# ++ relax ++ \#\#", char "\#")} -\indentrel{3}\begin{verbatim} - (19) " ++ relax ++ " - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty19} -\begin{paste}{StringXmpPageEmpty19}{StringXmpPagePatch19} -\pastebutton{StringXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{trim ("\#\# ++ relax ++ \#\#", char "\#")} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch20} -\begin{paste}{StringXmpPageFull20}{StringXmpPageEmpty20} -\pastebutton{StringXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{trim ("\#\# ++ relax ++ \#\#", other)\free{other }} -\indentrel{3}\begin{verbatim} - (20) "relax" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty20} -\begin{paste}{StringXmpPageEmpty20}{StringXmpPagePatch20} -\pastebutton{StringXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{trim ("\#\# ++ relax ++ \#\#", other)\free{other }} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch21} -\begin{paste}{StringXmpPageFull21}{StringXmpPageEmpty21} -\pastebutton{StringXmpPageFull21}{\hidepaste} -\tab{5}\spadcommand{leftTrim ("\#\# ++ relax ++ \#\#", other)\free{other }} -\indentrel{3}\begin{verbatim} - (21) "relax ++ ##" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty21} -\begin{paste}{StringXmpPageEmpty21}{StringXmpPagePatch21} -\pastebutton{StringXmpPageEmpty21}{\showpaste} -\tab{5}\spadcommand{leftTrim ("\#\# ++ relax ++ \#\#", other)\free{other }} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch22} -\begin{paste}{StringXmpPageFull22}{StringXmpPageEmpty22} -\pastebutton{StringXmpPageFull22}{\hidepaste} -\tab{5}\spadcommand{rightTrim("\#\# ++ relax ++ \#\#", other)\free{other }} -\indentrel{3}\begin{verbatim} - (22) "## ++ relax" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty22} -\begin{paste}{StringXmpPageEmpty22}{StringXmpPagePatch22} -\pastebutton{StringXmpPageEmpty22}{\showpaste} -\tab{5}\spadcommand{rightTrim("\#\# ++ relax ++ \#\#", other)\free{other }} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch23} -\begin{paste}{StringXmpPageFull23}{StringXmpPageEmpty23} -\pastebutton{StringXmpPageFull23}{\hidepaste} -\tab{5}\spadcommand{upperCase hello\free{hello }} -\indentrel{3}\begin{verbatim} - (23) "HELLO, I'M AXIOM!" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty23} -\begin{paste}{StringXmpPageEmpty23}{StringXmpPagePatch23} -\pastebutton{StringXmpPageEmpty23}{\showpaste} -\tab{5}\spadcommand{upperCase hello\free{hello }} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch24} -\begin{paste}{StringXmpPageFull24}{StringXmpPageEmpty24} -\pastebutton{StringXmpPageFull24}{\hidepaste} -\tab{5}\spadcommand{lowerCase hello\free{hello }} -\indentrel{3}\begin{verbatim} - (24) "hello, i'm axiom!" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty24} -\begin{paste}{StringXmpPageEmpty24}{StringXmpPagePatch24} -\pastebutton{StringXmpPageEmpty24}{\showpaste} -\tab{5}\spadcommand{lowerCase hello\free{hello }} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch25} -\begin{paste}{StringXmpPageFull25}{StringXmpPageEmpty25} -\pastebutton{StringXmpPageFull25}{\hidepaste} -\tab{5}\spadcommand{prefix?("He", "Hello")} -\indentrel{3}\begin{verbatim} - (25) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty25} -\begin{paste}{StringXmpPageEmpty25}{StringXmpPagePatch25} -\pastebutton{StringXmpPageEmpty25}{\showpaste} -\tab{5}\spadcommand{prefix?("He", "Hello")} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch26} -\begin{paste}{StringXmpPageFull26}{StringXmpPageEmpty26} -\pastebutton{StringXmpPageFull26}{\hidepaste} -\tab{5}\spadcommand{prefix?("Her", "Hello")} -\indentrel{3}\begin{verbatim} - (26) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty26} -\begin{paste}{StringXmpPageEmpty26}{StringXmpPagePatch26} -\pastebutton{StringXmpPageEmpty26}{\showpaste} -\tab{5}\spadcommand{prefix?("Her", "Hello")} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch27} -\begin{paste}{StringXmpPageFull27}{StringXmpPageEmpty27} -\pastebutton{StringXmpPageFull27}{\hidepaste} -\tab{5}\spadcommand{suffix?("", "Hello")} -\indentrel{3}\begin{verbatim} - (27) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty27} -\begin{paste}{StringXmpPageEmpty27}{StringXmpPagePatch27} -\pastebutton{StringXmpPageEmpty27}{\showpaste} -\tab{5}\spadcommand{suffix?("", "Hello")} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch28} -\begin{paste}{StringXmpPageFull28}{StringXmpPageEmpty28} -\pastebutton{StringXmpPageFull28}{\hidepaste} -\tab{5}\spadcommand{suffix?("LO", "Hello")} -\indentrel{3}\begin{verbatim} - (28) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty28} -\begin{paste}{StringXmpPageEmpty28}{StringXmpPagePatch28} -\pastebutton{StringXmpPageEmpty28}{\showpaste} -\tab{5}\spadcommand{suffix?("LO", "Hello")} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch29} -\begin{paste}{StringXmpPageFull29}{StringXmpPageEmpty29} -\pastebutton{StringXmpPageFull29}{\hidepaste} -\tab{5}\spadcommand{substring?("ll", "Hello", 3)} -\indentrel{3}\begin{verbatim} - (29) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty29} -\begin{paste}{StringXmpPageEmpty29}{StringXmpPagePatch29} -\pastebutton{StringXmpPageEmpty29}{\showpaste} -\tab{5}\spadcommand{substring?("ll", "Hello", 3)} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch30} -\begin{paste}{StringXmpPageFull30}{StringXmpPageEmpty30} -\pastebutton{StringXmpPageFull30}{\hidepaste} -\tab{5}\spadcommand{substring?("ll", "Hello", 4)} -\indentrel{3}\begin{verbatim} - (30) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty30} -\begin{paste}{StringXmpPageEmpty30}{StringXmpPagePatch30} -\pastebutton{StringXmpPageEmpty30}{\showpaste} -\tab{5}\spadcommand{substring?("ll", "Hello", 4)} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch31} -\begin{paste}{StringXmpPageFull31}{StringXmpPageEmpty31} -\pastebutton{StringXmpPageFull31}{\hidepaste} -\tab{5}\spadcommand{n := position("nd", "underground", 1)\bound{n }} -\indentrel{3}\begin{verbatim} - (31) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty31} -\begin{paste}{StringXmpPageEmpty31}{StringXmpPagePatch31} -\pastebutton{StringXmpPageEmpty31}{\showpaste} -\tab{5}\spadcommand{n := position("nd", "underground", 1)\bound{n }} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch32} -\begin{paste}{StringXmpPageFull32}{StringXmpPageEmpty32} -\pastebutton{StringXmpPageFull32}{\hidepaste} -\tab{5}\spadcommand{n := position("nd", "underground", n+1)\free{n }\bound{n1 }} -\indentrel{3}\begin{verbatim} - (32) 10 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty32} -\begin{paste}{StringXmpPageEmpty32}{StringXmpPagePatch32} -\pastebutton{StringXmpPageEmpty32}{\showpaste} -\tab{5}\spadcommand{n := position("nd", "underground", n+1)\free{n }\bound{n1 }} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch33} -\begin{paste}{StringXmpPageFull33}{StringXmpPageEmpty33} -\pastebutton{StringXmpPageFull33}{\hidepaste} -\tab{5}\spadcommand{n := position("nd", "underground", n+1)\free{n1 }\bound{n2 }} -\indentrel{3}\begin{verbatim} - (33) 0 - Type: NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty33} -\begin{paste}{StringXmpPageEmpty33}{StringXmpPagePatch33} -\pastebutton{StringXmpPageEmpty33}{\showpaste} -\tab{5}\spadcommand{n := position("nd", "underground", n+1)\free{n1 }\bound{n2 }} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch34} -\begin{paste}{StringXmpPageFull34}{StringXmpPageEmpty34} -\pastebutton{StringXmpPageFull34}{\hidepaste} -\tab{5}\spadcommand{position(char "d", "underground", 1)} -\indentrel{3}\begin{verbatim} - (34) 3 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty34} -\begin{paste}{StringXmpPageEmpty34}{StringXmpPagePatch34} -\pastebutton{StringXmpPageEmpty34}{\showpaste} -\tab{5}\spadcommand{position(char "d", "underground", 1)} -\end{paste}\end{patch} - -\begin{patch}{StringXmpPagePatch35} -\begin{paste}{StringXmpPageFull35}{StringXmpPageEmpty35} -\pastebutton{StringXmpPageFull35}{\hidepaste} -\tab{5}\spadcommand{position(hexDigit(), "underground", 1)} -\indentrel{3}\begin{verbatim} - (35) 3 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringXmpPageEmpty35} -\begin{paste}{StringXmpPageEmpty35}{StringXmpPagePatch35} -\pastebutton{StringXmpPageEmpty35}{\showpaste} -\tab{5}\spadcommand{position(hexDigit(), "underground", 1)} -\end{paste}\end{patch} - diff --git a/books/pages/strtbl.pht b/books/pages/strtbl.pht deleted file mode 100644 index e68e216..0000000 --- a/books/pages/strtbl.pht +++ /dev/null @@ -1,57 +0,0 @@ -\begin{patch}{StringTableXmpPagePatch1} -\begin{paste}{StringTableXmpPageFull1}{StringTableXmpPageEmpty1} -\pastebutton{StringTableXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{t: StringTable(Integer) := table()\bound{t }} -\indentrel{3}\begin{verbatim} - (1) table() - Type: StringTable Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringTableXmpPageEmpty1} -\begin{paste}{StringTableXmpPageEmpty1}{StringTableXmpPagePatch1} -\pastebutton{StringTableXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{t: StringTable(Integer) := table()\bound{t }} -\end{paste}\end{patch} - -\begin{patch}{StringTableXmpPagePatch2} -\begin{paste}{StringTableXmpPageFull2}{StringTableXmpPageEmpty2} -\pastebutton{StringTableXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{for s in split("My name is Ian Watt.",char " ") - repeat - t.s := \#s -\free{t }\bound{h }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringTableXmpPageEmpty2} -\begin{paste}{StringTableXmpPageEmpty2}{StringTableXmpPagePatch2} -\pastebutton{StringTableXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{for s in split("My name is Ian Watt.",char " ") - repeat - t.s := \#s -\free{t }\bound{h }} -\end{paste}\end{patch} - -\begin{patch}{StringTableXmpPagePatch3} -\begin{paste}{StringTableXmpPageFull3}{StringTableXmpPageEmpty3} -\pastebutton{StringTableXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{for key in keys t repeat output [key, t.key]\free{t h }} -\indentrel{3}\begin{verbatim} - ["Ian",3] - ["My",2] - ["Watt.",5] - ["name",4] - ["is",2] - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{StringTableXmpPageEmpty3} -\begin{paste}{StringTableXmpPageEmpty3}{StringTableXmpPagePatch3} -\pastebutton{StringTableXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{for key in keys t repeat output [key, t.key]\free{t h }} -\end{paste}\end{patch} - diff --git a/books/pages/symbol.pht b/books/pages/symbol.pht deleted file mode 100644 index 86909eb..0000000 --- a/books/pages/symbol.pht +++ /dev/null @@ -1,398 +0,0 @@ -\begin{patch}{SymbolXmpPagePatch1} -\begin{paste}{SymbolXmpPageFull1}{SymbolXmpPageEmpty1} -\pastebutton{SymbolXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{X: Symbol := 'x\bound{X }} -\indentrel{3}\begin{verbatim} - (1) x - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPageEmpty1} -\begin{paste}{SymbolXmpPageEmpty1}{SymbolXmpPagePatch1} -\pastebutton{SymbolXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{X: Symbol := 'x\bound{X }} -\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPagePatch2} -\begin{paste}{SymbolXmpPageFull2}{SymbolXmpPageEmpty2} -\pastebutton{SymbolXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{XX: Symbol := x} -\indentrel{3}\begin{verbatim} - (2) x - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPageEmpty2} -\begin{paste}{SymbolXmpPageEmpty2}{SymbolXmpPagePatch2} -\pastebutton{SymbolXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{XX: Symbol := x} -\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPagePatch3} -\begin{paste}{SymbolXmpPageFull3}{SymbolXmpPageEmpty3} -\pastebutton{SymbolXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{A := 'a} -\indentrel{3}\begin{verbatim} - (3) a - Type: Variable a -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPageEmpty3} -\begin{paste}{SymbolXmpPageEmpty3}{SymbolXmpPagePatch3} -\pastebutton{SymbolXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{A := 'a} -\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPagePatch4} -\begin{paste}{SymbolXmpPageFull4}{SymbolXmpPageEmpty4} -\pastebutton{SymbolXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{B := b} -\indentrel{3}\begin{verbatim} - (4) b - Type: Variable b -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPageEmpty4} -\begin{paste}{SymbolXmpPageEmpty4}{SymbolXmpPagePatch4} -\pastebutton{SymbolXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{B := b} -\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPagePatch5} -\begin{paste}{SymbolXmpPageFull5}{SymbolXmpPageEmpty5} -\pastebutton{SymbolXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{x**2 + 1} -\indentrel{3}\begin{verbatim} - 2 - (5) x + 1 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPageEmpty5} -\begin{paste}{SymbolXmpPageEmpty5}{SymbolXmpPagePatch5} -\pastebutton{SymbolXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{x**2 + 1} -\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPagePatch6} -\begin{paste}{SymbolXmpPageFull6}{SymbolXmpPageEmpty6} -\pastebutton{SymbolXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{"Hello"::Symbol} -\indentrel{3}\begin{verbatim} - (6) Hello - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPageEmpty6} -\begin{paste}{SymbolXmpPageEmpty6}{SymbolXmpPagePatch6} -\pastebutton{SymbolXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{"Hello"::Symbol} -\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPagePatch7} -\begin{paste}{SymbolXmpPageFull7}{SymbolXmpPageEmpty7} -\pastebutton{SymbolXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{new()$Symbol} -\indentrel{3}\begin{verbatim} - (7) %A - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPageEmpty7} -\begin{paste}{SymbolXmpPageEmpty7}{SymbolXmpPagePatch7} -\pastebutton{SymbolXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{new()$Symbol} -\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPagePatch8} -\begin{paste}{SymbolXmpPageFull8}{SymbolXmpPageEmpty8} -\pastebutton{SymbolXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{new()$Symbol} -\indentrel{3}\begin{verbatim} - (8) %B - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPageEmpty8} -\begin{paste}{SymbolXmpPageEmpty8}{SymbolXmpPagePatch8} -\pastebutton{SymbolXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{new()$Symbol} -\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPagePatch9} -\begin{paste}{SymbolXmpPageFull9}{SymbolXmpPageEmpty9} -\pastebutton{SymbolXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{new("xyz")$Symbol} -\indentrel{3}\begin{verbatim} - (9) %xyz0 - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPageEmpty9} -\begin{paste}{SymbolXmpPageEmpty9}{SymbolXmpPagePatch9} -\pastebutton{SymbolXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{new("xyz")$Symbol} -\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPagePatch10} -\begin{paste}{SymbolXmpPageFull10}{SymbolXmpPageEmpty10} -\pastebutton{SymbolXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{X[i,j]\free{X }} -\indentrel{3}\begin{verbatim} - (10) x - i,j - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPageEmpty10} -\begin{paste}{SymbolXmpPageEmpty10}{SymbolXmpPagePatch10} -\pastebutton{SymbolXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{X[i,j]\free{X }} -\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPagePatch11} -\begin{paste}{SymbolXmpPageFull11}{SymbolXmpPageEmpty11} -\pastebutton{SymbolXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{U := subscript(u, [1,2,1,2])\bound{U }} -\indentrel{3}\begin{verbatim} - (11) u - 1,2,1,2 - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPageEmpty11} -\begin{paste}{SymbolXmpPageEmpty11}{SymbolXmpPagePatch11} -\pastebutton{SymbolXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{U := subscript(u, [1,2,1,2])\bound{U }} -\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPagePatch12} -\begin{paste}{SymbolXmpPageFull12}{SymbolXmpPageEmpty12} -\pastebutton{SymbolXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{V := superscript(v, [n])\bound{V }} -\indentrel{3}\begin{verbatim} - n - (12) v - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPageEmpty12} -\begin{paste}{SymbolXmpPageEmpty12}{SymbolXmpPagePatch12} -\pastebutton{SymbolXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{V := superscript(v, [n])\bound{V }} -\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPagePatch13} -\begin{paste}{SymbolXmpPageFull13}{SymbolXmpPageEmpty13} -\pastebutton{SymbolXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{P := argscript(p, [t])\bound{P }} -\indentrel{3}\begin{verbatim} - (13) p(t) - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPageEmpty13} -\begin{paste}{SymbolXmpPageEmpty13}{SymbolXmpPagePatch13} -\pastebutton{SymbolXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{P := argscript(p, [t])\bound{P }} -\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPagePatch14} -\begin{paste}{SymbolXmpPageFull14}{SymbolXmpPageEmpty14} -\pastebutton{SymbolXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{scripted? U\free{U }} -\indentrel{3}\begin{verbatim} - (14) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPageEmpty14} -\begin{paste}{SymbolXmpPageEmpty14}{SymbolXmpPagePatch14} -\pastebutton{SymbolXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{scripted? U\free{U }} -\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPagePatch15} -\begin{paste}{SymbolXmpPageFull15}{SymbolXmpPageEmpty15} -\pastebutton{SymbolXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{scripted? X\free{X }} -\indentrel{3}\begin{verbatim} - (15) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPageEmpty15} -\begin{paste}{SymbolXmpPageEmpty15}{SymbolXmpPagePatch15} -\pastebutton{SymbolXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{scripted? X\free{X }} -\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPagePatch16} -\begin{paste}{SymbolXmpPageFull16}{SymbolXmpPageEmpty16} -\pastebutton{SymbolXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{string X\free{X }} -\indentrel{3}\begin{verbatim} - (16) "x" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPageEmpty16} -\begin{paste}{SymbolXmpPageEmpty16}{SymbolXmpPagePatch16} -\pastebutton{SymbolXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{string X\free{X }} -\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPagePatch17} -\begin{paste}{SymbolXmpPageFull17}{SymbolXmpPageEmpty17} -\pastebutton{SymbolXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{name U\free{U }} -\indentrel{3}\begin{verbatim} - (17) u - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPageEmpty17} -\begin{paste}{SymbolXmpPageEmpty17}{SymbolXmpPagePatch17} -\pastebutton{SymbolXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{name U\free{U }} -\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPagePatch18} -\begin{paste}{SymbolXmpPageFull18}{SymbolXmpPageEmpty18} -\pastebutton{SymbolXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{scripts U\free{U }} -\indentrel{3}\begin{verbatim} - (18) - [sub= [1,2,1,2],sup= [],presup= [],presub= [],args= []] -Type: Record(sub: List OutputForm,sup: List OutputForm,presup: List OutputForm,presub: List OutputForm,args: List OutputForm) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPageEmpty18} -\begin{paste}{SymbolXmpPageEmpty18}{SymbolXmpPagePatch18} -\pastebutton{SymbolXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{scripts U\free{U }} -\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPagePatch19} -\begin{paste}{SymbolXmpPageFull19}{SymbolXmpPageEmpty19} -\pastebutton{SymbolXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{name X\free{X }} -\indentrel{3}\begin{verbatim} - (19) x - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPageEmpty19} -\begin{paste}{SymbolXmpPageEmpty19}{SymbolXmpPagePatch19} -\pastebutton{SymbolXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{name X\free{X }} -\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPagePatch20} -\begin{paste}{SymbolXmpPageFull20}{SymbolXmpPageEmpty20} -\pastebutton{SymbolXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{scripts X\free{X }} -\indentrel{3}\begin{verbatim} - (20) - [sub= [],sup= [],presup= [],presub= [],args= []] -Type: Record(sub: List OutputForm,sup: List OutputForm,presup: List OutputForm,presub: List OutputForm,args: List OutputForm) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPageEmpty20} -\begin{paste}{SymbolXmpPageEmpty20}{SymbolXmpPagePatch20} -\pastebutton{SymbolXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{scripts X\free{X }} -\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPagePatch21} -\begin{paste}{SymbolXmpPageFull21}{SymbolXmpPageEmpty21} -\pastebutton{SymbolXmpPageFull21}{\hidepaste} -\tab{5}\spadcommand{M := script(Mammoth, [[i,j],[k,l],[0,1],[2],[u,v,w]])\bound{M }} -\indentrel{3}\begin{verbatim} - 0,1 k,l - (21) Mammoth (u,v,w) - 2 i,j - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPageEmpty21} -\begin{paste}{SymbolXmpPageEmpty21}{SymbolXmpPagePatch21} -\pastebutton{SymbolXmpPageEmpty21}{\showpaste} -\tab{5}\spadcommand{M := script(Mammoth, [[i,j],[k,l],[0,1],[2],[u,v,w]])\bound{M }} -\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPagePatch22} -\begin{paste}{SymbolXmpPageFull22}{SymbolXmpPageEmpty22} -\pastebutton{SymbolXmpPageFull22}{\hidepaste} -\tab{5}\spadcommand{scripts M\free{M }} -\indentrel{3}\begin{verbatim} - (22) - [sub= [i,j], sup= [k,l], presup= [0,1], presub= [2], - args= [u,v,w]] -Type: Record(sub: List OutputForm,sup: List OutputForm,presup: List OutputForm,presub: List OutputForm,args: List OutputForm) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPageEmpty22} -\begin{paste}{SymbolXmpPageEmpty22}{SymbolXmpPagePatch22} -\pastebutton{SymbolXmpPageEmpty22}{\showpaste} -\tab{5}\spadcommand{scripts M\free{M }} -\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPagePatch23} -\begin{paste}{SymbolXmpPageFull23}{SymbolXmpPageEmpty23} -\pastebutton{SymbolXmpPageFull23}{\hidepaste} -\tab{5}\spadcommand{N := script(Nut, [[i,j],[k,l],[0,1]])\bound{N }} -\indentrel{3}\begin{verbatim} - 0,1 k,l - (23) Nut - i,j - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPageEmpty23} -\begin{paste}{SymbolXmpPageEmpty23}{SymbolXmpPagePatch23} -\pastebutton{SymbolXmpPageEmpty23}{\showpaste} -\tab{5}\spadcommand{N := script(Nut, [[i,j],[k,l],[0,1]])\bound{N }} -\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPagePatch24} -\begin{paste}{SymbolXmpPageFull24}{SymbolXmpPageEmpty24} -\pastebutton{SymbolXmpPageFull24}{\hidepaste} -\tab{5}\spadcommand{scripts N\free{N }} -\indentrel{3}\begin{verbatim} - (24) - [sub= [i,j], sup= [k,l], presup= [0,1], presub= [], - args= []] -Type: Record(sub: List OutputForm,sup: List OutputForm,presup: List OutputForm,presub: List OutputForm,args: List OutputForm) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{SymbolXmpPageEmpty24} -\begin{paste}{SymbolXmpPageEmpty24}{SymbolXmpPagePatch24} -\pastebutton{SymbolXmpPageEmpty24}{\showpaste} -\tab{5}\spadcommand{scripts N\free{N }} -\end{paste}\end{patch} - diff --git a/books/pages/table.pht b/books/pages/table.pht deleted file mode 100644 index a7a88d2..0000000 --- a/books/pages/table.pht +++ /dev/null @@ -1,289 +0,0 @@ -\begin{patch}{TableXmpPagePatch1} -\begin{paste}{TableXmpPageFull1}{TableXmpPageEmpty1} -\pastebutton{TableXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{t: Table(Polynomial Integer, String) := table()\bound{t }} -\indentrel{3}\begin{verbatim} - (1) table() - Type: Table(Polynomial Integer,String) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TableXmpPageEmpty1} -\begin{paste}{TableXmpPageEmpty1}{TableXmpPagePatch1} -\pastebutton{TableXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{t: Table(Polynomial Integer, String) := table()\bound{t }} -\end{paste}\end{patch} - -\begin{patch}{TableXmpPagePatch2} -\begin{paste}{TableXmpPageFull2}{TableXmpPageEmpty2} -\pastebutton{TableXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{setelt(t, x**2 - 1, "Easy to factor")\bound{p1 }\free{t }} -\indentrel{3}\begin{verbatim} - (2) "Easy to factor" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TableXmpPageEmpty2} -\begin{paste}{TableXmpPageEmpty2}{TableXmpPagePatch2} -\pastebutton{TableXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{setelt(t, x**2 - 1, "Easy to factor")\bound{p1 }\free{t }} -\end{paste}\end{patch} - -\begin{patch}{TableXmpPagePatch3} -\begin{paste}{TableXmpPageFull3}{TableXmpPageEmpty3} -\pastebutton{TableXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{t(x**3 + 1) := "Harder to factor"\bound{p2 }\free{p1 }} -\indentrel{3}\begin{verbatim} - (3) "Harder to factor" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TableXmpPageEmpty3} -\begin{paste}{TableXmpPageEmpty3}{TableXmpPagePatch3} -\pastebutton{TableXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{t(x**3 + 1) := "Harder to factor"\bound{p2 }\free{p1 }} -\end{paste}\end{patch} - -\begin{patch}{TableXmpPagePatch4} -\begin{paste}{TableXmpPageFull4}{TableXmpPageEmpty4} -\pastebutton{TableXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{t(x) := "The easiest to factor"\bound{p3 }\free{p2 }} -\indentrel{3}\begin{verbatim} - (4) "The easiest to factor" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TableXmpPageEmpty4} -\begin{paste}{TableXmpPageEmpty4}{TableXmpPagePatch4} -\pastebutton{TableXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{t(x) := "The easiest to factor"\bound{p3 }\free{p2 }} -\end{paste}\end{patch} - -\begin{patch}{TableXmpPagePatch5} -\begin{paste}{TableXmpPageFull5}{TableXmpPageEmpty5} -\pastebutton{TableXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{elt(t, x)\free{p3 }} -\indentrel{3}\begin{verbatim} - (5) "The easiest to factor" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TableXmpPageEmpty5} -\begin{paste}{TableXmpPageEmpty5}{TableXmpPagePatch5} -\pastebutton{TableXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{elt(t, x)\free{p3 }} -\end{paste}\end{patch} - -\begin{patch}{TableXmpPagePatch6} -\begin{paste}{TableXmpPageFull6}{TableXmpPageEmpty6} -\pastebutton{TableXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{t.x\free{p3 }} -\indentrel{3}\begin{verbatim} - (6) "The easiest to factor" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TableXmpPageEmpty6} -\begin{paste}{TableXmpPageEmpty6}{TableXmpPagePatch6} -\pastebutton{TableXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{t.x\free{p3 }} -\end{paste}\end{patch} - -\begin{patch}{TableXmpPagePatch7} -\begin{paste}{TableXmpPageFull7}{TableXmpPageEmpty7} -\pastebutton{TableXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{t x\free{p3 }} -\indentrel{3}\begin{verbatim} - (7) "The easiest to factor" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TableXmpPageEmpty7} -\begin{paste}{TableXmpPageEmpty7}{TableXmpPagePatch7} -\pastebutton{TableXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{t x\free{p3 }} -\end{paste}\end{patch} - -\begin{patch}{TableXmpPagePatch8} -\begin{paste}{TableXmpPageFull8}{TableXmpPageEmpty8} -\pastebutton{TableXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{t.(x**2 - 1)\free{p3 }} -\indentrel{3}\begin{verbatim} - (8) "Easy to factor" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TableXmpPageEmpty8} -\begin{paste}{TableXmpPageEmpty8}{TableXmpPagePatch8} -\pastebutton{TableXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{t.(x**2 - 1)\free{p3 }} -\end{paste}\end{patch} - -\begin{patch}{TableXmpPagePatch9} -\begin{paste}{TableXmpPageFull9}{TableXmpPageEmpty9} -\pastebutton{TableXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{t (x**3 + 1)\free{p3 }} -\indentrel{3}\begin{verbatim} - (9) "Harder to factor" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TableXmpPageEmpty9} -\begin{paste}{TableXmpPageEmpty9}{TableXmpPagePatch9} -\pastebutton{TableXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{t (x**3 + 1)\free{p3 }} -\end{paste}\end{patch} - -\begin{patch}{TableXmpPagePatch10} -\begin{paste}{TableXmpPageFull10}{TableXmpPageEmpty10} -\pastebutton{TableXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{keys t\free{p3 }} -\indentrel{3}\begin{verbatim} - 3 2 - (10) [x,x + 1,x - 1] - Type: List Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TableXmpPageEmpty10} -\begin{paste}{TableXmpPageEmpty10}{TableXmpPagePatch10} -\pastebutton{TableXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{keys t\free{p3 }} -\end{paste}\end{patch} - -\begin{patch}{TableXmpPagePatch11} -\begin{paste}{TableXmpPageFull11}{TableXmpPageEmpty11} -\pastebutton{TableXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{search(x, t)\free{p3 }} -\indentrel{3}\begin{verbatim} - (11) "The easiest to factor" - Type: Union(String,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TableXmpPageEmpty11} -\begin{paste}{TableXmpPageEmpty11}{TableXmpPagePatch11} -\pastebutton{TableXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{search(x, t)\free{p3 }} -\end{paste}\end{patch} - -\begin{patch}{TableXmpPagePatch12} -\begin{paste}{TableXmpPageFull12}{TableXmpPageEmpty12} -\pastebutton{TableXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{search(x**2, t)\free{p3 }} -\indentrel{3}\begin{verbatim} - (12) "failed" - Type: Union("failed",...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TableXmpPageEmpty12} -\begin{paste}{TableXmpPageEmpty12}{TableXmpPagePatch12} -\pastebutton{TableXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{search(x**2, t)\free{p3 }} -\end{paste}\end{patch} - -\begin{patch}{TableXmpPagePatch13} -\begin{paste}{TableXmpPageFull13}{TableXmpPageEmpty13} -\pastebutton{TableXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{search(x**2, t) case "failed"\free{p3 }} -\indentrel{3}\begin{verbatim} - (13) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TableXmpPageEmpty13} -\begin{paste}{TableXmpPageEmpty13}{TableXmpPagePatch13} -\pastebutton{TableXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{search(x**2, t) case "failed"\free{p3 }} -\end{paste}\end{patch} - -\begin{patch}{TableXmpPagePatch14} -\begin{paste}{TableXmpPageFull14}{TableXmpPageEmpty14} -\pastebutton{TableXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{remove!(x**2-1, t)\free{p3 }\bound{p4 }} -\indentrel{3}\begin{verbatim} - (14) "Easy to factor" - Type: Union(String,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TableXmpPageEmpty14} -\begin{paste}{TableXmpPageEmpty14}{TableXmpPagePatch14} -\pastebutton{TableXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{remove!(x**2-1, t)\free{p3 }\bound{p4 }} -\end{paste}\end{patch} - -\begin{patch}{TableXmpPagePatch15} -\begin{paste}{TableXmpPageFull15}{TableXmpPageEmpty15} -\pastebutton{TableXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{remove!(x-1, t)\free{p4 }\bound{p5 }} -\indentrel{3}\begin{verbatim} - (15) "failed" - Type: Union("failed",...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TableXmpPageEmpty15} -\begin{paste}{TableXmpPageEmpty15}{TableXmpPagePatch15} -\pastebutton{TableXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{remove!(x-1, t)\free{p4 }\bound{p5 }} -\end{paste}\end{patch} - -\begin{patch}{TableXmpPagePatch16} -\begin{paste}{TableXmpPageFull16}{TableXmpPageEmpty16} -\pastebutton{TableXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{\#t\free{p5 }} -\indentrel{3}\begin{verbatim} - (16) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TableXmpPageEmpty16} -\begin{paste}{TableXmpPageEmpty16}{TableXmpPagePatch16} -\pastebutton{TableXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{\#t\free{p5 }} -\end{paste}\end{patch} - -\begin{patch}{TableXmpPagePatch17} -\begin{paste}{TableXmpPageFull17}{TableXmpPageEmpty17} -\pastebutton{TableXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{members t\free{p5 }} -\indentrel{3}\begin{verbatim} - (17) ["The easiest to factor","Harder to factor"] - Type: List String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TableXmpPageEmpty17} -\begin{paste}{TableXmpPageEmpty17}{TableXmpPagePatch17} -\pastebutton{TableXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{members t\free{p5 }} -\end{paste}\end{patch} - -\begin{patch}{TableXmpPagePatch18} -\begin{paste}{TableXmpPageFull18}{TableXmpPageEmpty18} -\pastebutton{TableXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{count(s: String +-> prefix?("Hard", s), t)\free{p5 }} -\indentrel{3}\begin{verbatim} - (18) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TableXmpPageEmpty18} -\begin{paste}{TableXmpPageEmpty18}{TableXmpPagePatch18} -\pastebutton{TableXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{count(s: String +-> prefix?("Hard", s), t)\free{p5 }} -\end{paste}\end{patch} - diff --git a/books/pages/textfile.pht b/books/pages/textfile.pht deleted file mode 100644 index ebf5125..0000000 --- a/books/pages/textfile.pht +++ /dev/null @@ -1,179 +0,0 @@ -\begin{patch}{TextFileXmpPagePatch1} -\begin{paste}{TextFileXmpPageFull1}{TextFileXmpPageEmpty1} -\pastebutton{TextFileXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{f1: TextFile := open("/etc/group", "input")\bound{f1 }} -\indentrel{3}\begin{verbatim} - (1) "/etc/group" - Type: TextFile -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TextFileXmpPageEmpty1} -\begin{paste}{TextFileXmpPageEmpty1}{TextFileXmpPagePatch1} -\pastebutton{TextFileXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{f1: TextFile := open("/etc/group", "input")\bound{f1 }} -\end{paste}\end{patch} - -\begin{patch}{TextFileXmpPagePatch2} -\begin{paste}{TextFileXmpPageFull2}{TextFileXmpPageEmpty2} -\pastebutton{TextFileXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{f2: TextFile := open("/tmp/MOTD", "output")\bound{f2 }} -\indentrel{3}\begin{verbatim} - (2) "/tmp/MOTD" - Type: TextFile -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TextFileXmpPageEmpty2} -\begin{paste}{TextFileXmpPageEmpty2}{TextFileXmpPagePatch2} -\pastebutton{TextFileXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{f2: TextFile := open("/tmp/MOTD", "output")\bound{f2 }} -\end{paste}\end{patch} - -\begin{patch}{TextFileXmpPagePatch3} -\begin{paste}{TextFileXmpPageFull3}{TextFileXmpPageEmpty3} -\pastebutton{TextFileXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{l := readLine! f1\free{f1 }\bound{l }} -\indentrel{3}\begin{verbatim} - (3) "system:*:0:root" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TextFileXmpPageEmpty3} -\begin{paste}{TextFileXmpPageEmpty3}{TextFileXmpPagePatch3} -\pastebutton{TextFileXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{l := readLine! f1\free{f1 }\bound{l }} -\end{paste}\end{patch} - -\begin{patch}{TextFileXmpPagePatch4} -\begin{paste}{TextFileXmpPageFull4}{TextFileXmpPageEmpty4} -\pastebutton{TextFileXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{writeLine!(f2, upperCase l)\free{f2 l }} -\indentrel{3}\begin{verbatim} - (4) "SYSTEM:*:0:ROOT" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TextFileXmpPageEmpty4} -\begin{paste}{TextFileXmpPageEmpty4}{TextFileXmpPagePatch4} -\pastebutton{TextFileXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{writeLine!(f2, upperCase l)\free{f2 l }} -\end{paste}\end{patch} - -\begin{patch}{TextFileXmpPagePatch5} -\begin{paste}{TextFileXmpPageFull5}{TextFileXmpPageEmpty5} -\pastebutton{TextFileXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{while not endOfFile? f1 repeat - s := readLine! f1 - writeLine!(f2, upperCase s) -\free{f1 f2 }\bound{Copied }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TextFileXmpPageEmpty5} -\begin{paste}{TextFileXmpPageEmpty5}{TextFileXmpPagePatch5} -\pastebutton{TextFileXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{while not endOfFile? f1 repeat - s := readLine! f1 - writeLine!(f2, upperCase s) -\free{f1 f2 }\bound{Copied }} -\end{paste}\end{patch} - -\begin{patch}{TextFileXmpPagePatch6} -\begin{paste}{TextFileXmpPageFull6}{TextFileXmpPageEmpty6} -\pastebutton{TextFileXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{close! f1\free{Copied }\bound{closed1 }} -\indentrel{3}\begin{verbatim} - (6) "/etc/group" - Type: TextFile -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TextFileXmpPageEmpty6} -\begin{paste}{TextFileXmpPageEmpty6}{TextFileXmpPagePatch6} -\pastebutton{TextFileXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{close! f1\free{Copied }\bound{closed1 }} -\end{paste}\end{patch} - -\begin{patch}{TextFileXmpPagePatch7} -\begin{paste}{TextFileXmpPageFull7}{TextFileXmpPageEmpty7} -\pastebutton{TextFileXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{write!(f2, "-The-")\free{Copied }\bound{tthhee }} -\indentrel{3}\begin{verbatim} - (7) "-The-" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TextFileXmpPageEmpty7} -\begin{paste}{TextFileXmpPageEmpty7}{TextFileXmpPagePatch7} -\pastebutton{TextFileXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{write!(f2, "-The-")\free{Copied }\bound{tthhee }} -\end{paste}\end{patch} - -\begin{patch}{TextFileXmpPagePatch8} -\begin{paste}{TextFileXmpPageFull8}{TextFileXmpPageEmpty8} -\pastebutton{TextFileXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{write!(f2, "-End-")\free{tthhee }\bound{eenndd }} -\indentrel{3}\begin{verbatim} - (8) "-End-" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TextFileXmpPageEmpty8} -\begin{paste}{TextFileXmpPageEmpty8}{TextFileXmpPagePatch8} -\pastebutton{TextFileXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{write!(f2, "-End-")\free{tthhee }\bound{eenndd }} -\end{paste}\end{patch} - -\begin{patch}{TextFileXmpPagePatch9} -\begin{paste}{TextFileXmpPageFull9}{TextFileXmpPageEmpty9} -\pastebutton{TextFileXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{writeLine! f2\free{eenndd }\bound{LastLine }} -\indentrel{3}\begin{verbatim} - (9) "" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TextFileXmpPageEmpty9} -\begin{paste}{TextFileXmpPageEmpty9}{TextFileXmpPagePatch9} -\pastebutton{TextFileXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{writeLine! f2\free{eenndd }\bound{LastLine }} -\end{paste}\end{patch} - -\begin{patch}{TextFileXmpPagePatch10} -\begin{paste}{TextFileXmpPageFull10}{TextFileXmpPageEmpty10} -\pastebutton{TextFileXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{close! f2\free{LastLine }\bound{closed2 }} -\indentrel{3}\begin{verbatim} - (10) "/tmp/MOTD" - Type: TextFile -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TextFileXmpPageEmpty10} -\begin{paste}{TextFileXmpPageEmpty10}{TextFileXmpPagePatch10} -\pastebutton{TextFileXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{close! f2\free{LastLine }\bound{closed2 }} -\end{paste}\end{patch} - -\begin{patch}{TextFileXmpPagePatch11} -\begin{paste}{TextFileXmpPageFull11}{TextFileXmpPageEmpty11} -\pastebutton{TextFileXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{)system rm /tmp/MOTD\free{closed2 }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{TextFileXmpPageEmpty11} -\begin{paste}{TextFileXmpPageEmpty11}{TextFileXmpPagePatch11} -\pastebutton{TextFileXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{)system rm /tmp/MOTD\free{closed2 }} -\end{paste}\end{patch} - diff --git a/books/pages/ug01.pht b/books/pages/ug01.pht deleted file mode 100644 index c92e1ff..0000000 --- a/books/pages/ug01.pht +++ /dev/null @@ -1,3673 +0,0 @@ -\begin{patch}{ugIntroCalcDerivPagePatch1} -\begin{paste}{ugIntroCalcDerivPageFull1}{ugIntroCalcDerivPageEmpty1} -\pastebutton{ugIntroCalcDerivPageFull1}{\hidepaste} -\tab{5}\spadcommand{f := exp exp x\bound{f }} -\indentrel{3}\begin{verbatim} - x - %e - (1) %e - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcDerivPageEmpty1} -\begin{paste}{ugIntroCalcDerivPageEmpty1}{ugIntroCalcDerivPagePatch1} -\pastebutton{ugIntroCalcDerivPageEmpty1}{\showpaste} -\tab{5}\spadcommand{f := exp exp x\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcDerivPagePatch2} -\begin{paste}{ugIntroCalcDerivPageFull2}{ugIntroCalcDerivPageEmpty2} -\pastebutton{ugIntroCalcDerivPageFull2}{\hidepaste} -\tab{5}\spadcommand{D(f, x)\free{f }} -\indentrel{3}\begin{verbatim} - x - x %e - (2) %e %e - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcDerivPageEmpty2} -\begin{paste}{ugIntroCalcDerivPageEmpty2}{ugIntroCalcDerivPagePatch2} -\pastebutton{ugIntroCalcDerivPageEmpty2}{\showpaste} -\tab{5}\spadcommand{D(f, x)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcDerivPagePatch3} -\begin{paste}{ugIntroCalcDerivPageFull3}{ugIntroCalcDerivPageEmpty3} -\pastebutton{ugIntroCalcDerivPageFull3}{\hidepaste} -\tab{5}\spadcommand{D(f, x, 4)\free{f }} -\indentrel{3}\begin{verbatim} - x - x 4 x 3 x 2 x %e - (3) ((%e ) + 6(%e ) + 7(%e ) + %e )%e - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcDerivPageEmpty3} -\begin{paste}{ugIntroCalcDerivPageEmpty3}{ugIntroCalcDerivPagePatch3} -\pastebutton{ugIntroCalcDerivPageEmpty3}{\showpaste} -\tab{5}\spadcommand{D(f, x, 4)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcDerivPagePatch4} -\begin{paste}{ugIntroCalcDerivPageFull4}{ugIntroCalcDerivPageEmpty4} -\pastebutton{ugIntroCalcDerivPageFull4}{\hidepaste} -\tab{5}\spadcommand{g := sin(x**2 + y)\bound{g }} -\indentrel{3}\begin{verbatim} - 2 - (4) sin(y + x ) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcDerivPageEmpty4} -\begin{paste}{ugIntroCalcDerivPageEmpty4}{ugIntroCalcDerivPagePatch4} -\pastebutton{ugIntroCalcDerivPageEmpty4}{\showpaste} -\tab{5}\spadcommand{g := sin(x**2 + y)\bound{g }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcDerivPagePatch5} -\begin{paste}{ugIntroCalcDerivPageFull5}{ugIntroCalcDerivPageEmpty5} -\pastebutton{ugIntroCalcDerivPageFull5}{\hidepaste} -\tab{5}\spadcommand{D(g, y)\free{g }} -\indentrel{3}\begin{verbatim} - 2 - (5) cos(y + x ) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcDerivPageEmpty5} -\begin{paste}{ugIntroCalcDerivPageEmpty5}{ugIntroCalcDerivPagePatch5} -\pastebutton{ugIntroCalcDerivPageEmpty5}{\showpaste} -\tab{5}\spadcommand{D(g, y)\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcDerivPagePatch6} -\begin{paste}{ugIntroCalcDerivPageFull6}{ugIntroCalcDerivPageEmpty6} -\pastebutton{ugIntroCalcDerivPageFull6}{\hidepaste} -\tab{5}\spadcommand{D(g, [y, y, x, x])\free{g }} -\indentrel{3}\begin{verbatim} - 2 2 2 - (6) 4x sin(y + x ) - 2cos(y + x ) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcDerivPageEmpty6} -\begin{paste}{ugIntroCalcDerivPageEmpty6}{ugIntroCalcDerivPagePatch6} -\pastebutton{ugIntroCalcDerivPageEmpty6}{\showpaste} -\tab{5}\spadcommand{D(g, [y, y, x, x])\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcDerivPagePatch7} -\begin{paste}{ugIntroCalcDerivPageFull7}{ugIntroCalcDerivPageEmpty7} -\pastebutton{ugIntroCalcDerivPageFull7}{\hidepaste} -\tab{5}\spadcommand{D(F,x)} -\indentrel{3}\begin{verbatim} - (7) 0 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcDerivPageEmpty7} -\begin{paste}{ugIntroCalcDerivPageEmpty7}{ugIntroCalcDerivPagePatch7} -\pastebutton{ugIntroCalcDerivPageEmpty7}{\showpaste} -\tab{5}\spadcommand{D(F,x)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcDerivPagePatch8} -\begin{paste}{ugIntroCalcDerivPageFull8}{ugIntroCalcDerivPageEmpty8} -\pastebutton{ugIntroCalcDerivPageFull8}{\hidepaste} -\tab{5}\spadcommand{F := operator 'F; x := operator 'x; y := operator 'y\bound{F x y }} -\indentrel{3}\begin{verbatim} - (8) y - Type: BasicOperator -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcDerivPageEmpty8} -\begin{paste}{ugIntroCalcDerivPageEmpty8}{ugIntroCalcDerivPagePatch8} -\pastebutton{ugIntroCalcDerivPageEmpty8}{\showpaste} -\tab{5}\spadcommand{F := operator 'F; x := operator 'x; y := operator 'y\bound{F x y }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcDerivPagePatch9} -\begin{paste}{ugIntroCalcDerivPageFull9}{ugIntroCalcDerivPageEmpty9} -\pastebutton{ugIntroCalcDerivPageFull9}{\hidepaste} -\tab{5}\spadcommand{a := F(x z, y z, z**2) + x y(z+1)\bound{a }\free{F }\free{x }\free{y }} -\indentrel{3}\begin{verbatim} - 2 - (9) x(y(z + 1)) + F(x(z),y(z),z ) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcDerivPageEmpty9} -\begin{paste}{ugIntroCalcDerivPageEmpty9}{ugIntroCalcDerivPagePatch9} -\pastebutton{ugIntroCalcDerivPageEmpty9}{\showpaste} -\tab{5}\spadcommand{a := F(x z, y z, z**2) + x y(z+1)\bound{a }\free{F }\free{x }\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcDerivPagePatch10} -\begin{paste}{ugIntroCalcDerivPageFull10}{ugIntroCalcDerivPageEmpty10} -\pastebutton{ugIntroCalcDerivPageFull10}{\hidepaste} -\tab{5}\spadcommand{dadz := D(a, z)\bound{da }\free{a }} -\indentrel{3}\begin{verbatim} - (10) - 2 , 2 - 2zF (x(z),y(z),z ) + y (z)F (x(z),y(z),z ) - ,3 ,2 - + - , 2 , , - x (z)F (x(z),y(z),z ) + x (y(z + 1))y (z + 1) - ,1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcDerivPageEmpty10} -\begin{paste}{ugIntroCalcDerivPageEmpty10}{ugIntroCalcDerivPagePatch10} -\pastebutton{ugIntroCalcDerivPageEmpty10}{\showpaste} -\tab{5}\spadcommand{dadz := D(a, z)\bound{da }\free{a }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcDerivPagePatch11} -\begin{paste}{ugIntroCalcDerivPageFull11}{ugIntroCalcDerivPageEmpty11} -\pastebutton{ugIntroCalcDerivPageFull11}{\hidepaste} -\tab{5}\spadcommand{eval(eval(dadz, 'x, z +-> exp z), 'y, z +-> log(z+1))\free{da }} -\indentrel{3}\begin{verbatim} - (11) - 2 z 2 - (2z + 2z)F (%e ,log(z + 1),z ) - ,3 - + - z 2 - F (%e ,log(z + 1),z ) - ,2 - + - z z 2 - (z + 1)%e F (%e ,log(z + 1),z ) + z + 1 - ,1 - / - z + 1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcDerivPageEmpty11} -\begin{paste}{ugIntroCalcDerivPageEmpty11}{ugIntroCalcDerivPagePatch11} -\pastebutton{ugIntroCalcDerivPageEmpty11}{\showpaste} -\tab{5}\spadcommand{eval(eval(dadz, 'x, z +-> exp z), 'y, z +-> log(z+1))\free{da }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcDerivPagePatch12} -\begin{paste}{ugIntroCalcDerivPageFull12}{ugIntroCalcDerivPageEmpty12} -\pastebutton{ugIntroCalcDerivPageFull12}{\hidepaste} -\tab{5}\spadcommand{eval(eval(a, 'x, z +-> exp z), 'y, z +-> log(z+1))\free{a }\bound{eva }} -\indentrel{3}\begin{verbatim} - z 2 - (12) F(%e ,log(z + 1),z ) + z + 2 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcDerivPageEmpty12} -\begin{paste}{ugIntroCalcDerivPageEmpty12}{ugIntroCalcDerivPagePatch12} -\pastebutton{ugIntroCalcDerivPageEmpty12}{\showpaste} -\tab{5}\spadcommand{eval(eval(a, 'x, z +-> exp z), 'y, z +-> log(z+1))\free{a }\bound{eva }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcDerivPagePatch13} -\begin{paste}{ugIntroCalcDerivPageFull13}{ugIntroCalcDerivPageEmpty13} -\pastebutton{ugIntroCalcDerivPageFull13}{\hidepaste} -\tab{5}\spadcommand{D(\%, z)\free{eva }} -\indentrel{3}\begin{verbatim} - (13) - 2 z 2 - (2z + 2z)F (%e ,log(z + 1),z ) - ,3 - + - z 2 - F (%e ,log(z + 1),z ) - ,2 - + - z z 2 - (z + 1)%e F (%e ,log(z + 1),z ) + z + 1 - ,1 - / - z + 1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcDerivPageEmpty13} -\begin{paste}{ugIntroCalcDerivPageEmpty13}{ugIntroCalcDerivPagePatch13} -\pastebutton{ugIntroCalcDerivPageEmpty13}{\showpaste} -\tab{5}\spadcommand{D(\%, z)\free{eva }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroVariablesPagePatch1} -\begin{paste}{ugIntroVariablesPageFull1}{ugIntroVariablesPageEmpty1} -\pastebutton{ugIntroVariablesPageFull1}{\hidepaste} -\tab{5}\spadcommand{(x**2 - x*y**3 +3*y)**2} -\indentrel{3}\begin{verbatim} - 2 6 4 3 3 2 2 4 - (1) x y - 6x y - 2x y + 9y + 6x y + x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroVariablesPageEmpty1} -\begin{paste}{ugIntroVariablesPageEmpty1}{ugIntroVariablesPagePatch1} -\pastebutton{ugIntroVariablesPageEmpty1}{\showpaste} -\tab{5}\spadcommand{(x**2 - x*y**3 +3*y)**2} -\end{paste}\end{patch} - -\begin{patch}{ugIntroVariablesPagePatch2} -\begin{paste}{ugIntroVariablesPageFull2}{ugIntroVariablesPageEmpty2} -\pastebutton{ugIntroVariablesPageFull2}{\hidepaste} -\tab{5}\spadcommand{p: UP(x,INT) := (3*x-1)**2 * (2*x + 8)} -\indentrel{3}\begin{verbatim} - 3 2 - (2) 18x + 60x - 46x + 8 - Type: UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroVariablesPageEmpty2} -\begin{paste}{ugIntroVariablesPageEmpty2}{ugIntroVariablesPagePatch2} -\pastebutton{ugIntroVariablesPageEmpty2}{\showpaste} -\tab{5}\spadcommand{p: UP(x,INT) := (3*x-1)**2 * (2*x + 8)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroVariablesPagePatch3} -\begin{paste}{ugIntroVariablesPageFull3}{ugIntroVariablesPageEmpty3} -\pastebutton{ugIntroVariablesPageFull3}{\hidepaste} -\tab{5}\spadcommand{m: MPOLY([x,y],INT) := (x**2-x*y**3+3*y)**2\bound{m }} -\indentrel{3}\begin{verbatim} - 4 3 3 6 2 4 2 - (3) x - 2y x + (y + 6y)x - 6y x + 9y - Type: MultivariatePolynomial([x,y],Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroVariablesPageEmpty3} -\begin{paste}{ugIntroVariablesPageEmpty3}{ugIntroVariablesPagePatch3} -\pastebutton{ugIntroVariablesPageEmpty3}{\showpaste} -\tab{5}\spadcommand{m: MPOLY([x,y],INT) := (x**2-x*y**3+3*y)**2\bound{m }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroVariablesPagePatch4} -\begin{paste}{ugIntroVariablesPageFull4}{ugIntroVariablesPageEmpty4} -\pastebutton{ugIntroVariablesPageFull4}{\hidepaste} -\tab{5}\spadcommand{m :: MPOLY([y,x],INT)\free{m }} -\indentrel{3}\begin{verbatim} - 2 6 4 3 3 2 2 4 - (4) x y - 6x y - 2x y + 9y + 6x y + x - Type: MultivariatePolynomial([y,x],Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroVariablesPageEmpty4} -\begin{paste}{ugIntroVariablesPageEmpty4}{ugIntroVariablesPagePatch4} -\pastebutton{ugIntroVariablesPageEmpty4}{\showpaste} -\tab{5}\spadcommand{m :: MPOLY([y,x],INT)\free{m }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroVariablesPagePatch5} -\begin{paste}{ugIntroVariablesPageFull5}{ugIntroVariablesPageEmpty5} -\pastebutton{ugIntroVariablesPageFull5}{\hidepaste} -\tab{5}\spadcommand{m :: DMP([y,x],INT)\free{m }} -\indentrel{3}\begin{verbatim} - 6 2 4 3 3 2 2 4 - (5) y x - 6y x - 2y x + 9y + 6y x + x - Type: DistributedMultivariatePolynomial([y,x],Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroVariablesPageEmpty5} -\begin{paste}{ugIntroVariablesPageEmpty5}{ugIntroVariablesPagePatch5} -\pastebutton{ugIntroVariablesPageEmpty5}{\showpaste} -\tab{5}\spadcommand{m :: DMP([y,x],INT)\free{m }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroVariablesPagePatch6} -\begin{paste}{ugIntroVariablesPageFull6}{ugIntroVariablesPageEmpty6} -\pastebutton{ugIntroVariablesPageFull6}{\hidepaste} -\tab{5}\spadcommand{m :: HDMP([y,x],INT)\free{m }} -\indentrel{3}\begin{verbatim} - 6 2 3 3 4 4 2 2 - (6) y x - 2y x - 6y x + x + 6y x + 9y -Type: HomogeneousDistributedMultivariatePolynomial([y,x],Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroVariablesPageEmpty6} -\begin{paste}{ugIntroVariablesPageEmpty6}{ugIntroVariablesPagePatch6} -\pastebutton{ugIntroVariablesPageEmpty6}{\showpaste} -\tab{5}\spadcommand{m :: HDMP([y,x],INT)\free{m }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroIntegratePagePatch1} -\begin{paste}{ugIntroIntegratePageFull1}{ugIntroIntegratePageEmpty1} -\pastebutton{ugIntroIntegratePageFull1}{\hidepaste} -\tab{5}\spadcommand{integrate((x**2+2*x+1)/((x+1)**6+1),x)} -\indentrel{3}\begin{verbatim} - 3 2 - atan(x + 3x + 3x + 1) - (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 3 - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroIntegratePageEmpty1} -\begin{paste}{ugIntroIntegratePageEmpty1}{ugIntroIntegratePagePatch1} -\pastebutton{ugIntroIntegratePageEmpty1}{\showpaste} -\tab{5}\spadcommand{integrate((x**2+2*x+1)/((x+1)**6+1),x)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroIntegratePagePatch2} -\begin{paste}{ugIntroIntegratePageFull2}{ugIntroIntegratePageEmpty2} -\pastebutton{ugIntroIntegratePageFull2}{\hidepaste} -\tab{5}\spadcommand{integrate(1/(x**2 + a),x)} -\indentrel{3}\begin{verbatim} - 2 ÚÄÄÄ¿ - (x - a)\³- a + 2a x ÚÄ¿ - log(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) x\³a - 2 atan(ÄÄÄÄÄ) - x + a a - (2) [ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄÄÄÄ] - ÚÄÄÄ¿ ÚÄ¿ - 2\³- a \³a - Type: Union(List Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroIntegratePageEmpty2} -\begin{paste}{ugIntroIntegratePageEmpty2}{ugIntroIntegratePagePatch2} -\pastebutton{ugIntroIntegratePageEmpty2}{\showpaste} -\tab{5}\spadcommand{integrate(1/(x**2 + a),x)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroIntegratePagePatch3} -\begin{paste}{ugIntroIntegratePageFull3}{ugIntroIntegratePageEmpty3} -\pastebutton{ugIntroIntegratePageFull3}{\hidepaste} -\tab{5}\spadcommand{complexIntegrate(1/(x**2 + a),x)} -\indentrel{3}\begin{verbatim} - ÚÄÄÄ¿ ÚÄÄÄ¿ - x\³- a + a x\³- a - a - log(ÄÄÄÄÄÄÄÄÄÄÄ) - log(ÄÄÄÄÄÄÄÄÄÄÄ) - ÚÄÄÄ¿ ÚÄÄÄ¿ - \³- a \³- a - (3) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - ÚÄÄÄ¿ - 2\³- a - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroIntegratePageEmpty3} -\begin{paste}{ugIntroIntegratePageEmpty3}{ugIntroIntegratePagePatch3} -\pastebutton{ugIntroIntegratePageEmpty3}{\showpaste} -\tab{5}\spadcommand{complexIntegrate(1/(x**2 + a),x)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroIntegratePagePatch4} -\begin{paste}{ugIntroIntegratePageFull4}{ugIntroIntegratePageEmpty4} -\pastebutton{ugIntroIntegratePageFull4}{\hidepaste} -\tab{5}\spadcommand{integrate(x**3 / (a+b*x)**(1/3),x)} -\indentrel{3}\begin{verbatim} - (4) - 3 3 2 2 2 3 3ÚÄÄÄÄÄÄÄ¿2 - (120b x - 135a b x + 162a b x - 243a )\³b x + a - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 4 - 440b - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroIntegratePageEmpty4} -\begin{paste}{ugIntroIntegratePageEmpty4}{ugIntroIntegratePagePatch4} -\pastebutton{ugIntroIntegratePageEmpty4}{\showpaste} -\tab{5}\spadcommand{integrate(x**3 / (a+b*x)**(1/3),x)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroIntegratePagePatch5} -\begin{paste}{ugIntroIntegratePageFull5}{ugIntroIntegratePageEmpty5} -\pastebutton{ugIntroIntegratePageFull5}{\hidepaste} -\tab{5}\spadcommand{integrate(1 / (x**3 * (a+b*x)**(1/3)),x)} -\indentrel{3}\begin{verbatim} - (5) - - - 2 2 ÚÄ¿ - 2b x \³3 - * - 3ÚÄ¿3ÚÄÄÄÄÄÄÄ¿2 3ÚÄ¿2 3ÚÄÄÄÄÄÄÄ¿ - log(\³a \³b x + a + \³a \³b x + a + a) - + - 2 2 ÚÄ¿ 3ÚÄ¿2 3ÚÄÄÄÄÄÄÄ¿ - 4b x \³3 log(\³a \³b x + a - a) - + - ÚÄ¿3ÚÄ¿2 3ÚÄÄÄÄÄÄÄ¿ ÚÄ¿ - 2 2 2\³3 \³a \³b x + a + a\³3 - 12b x atan(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) - 3a - + - ÚÄ¿3ÚÄ¿3ÚÄÄÄÄÄÄÄ¿2 - (12b x - 9a)\³3 \³a \³b x + a - / - 2 2 ÚÄ¿3ÚÄ¿ - 18a x \³3 \³a - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroIntegratePageEmpty5} -\begin{paste}{ugIntroIntegratePageEmpty5}{ugIntroIntegratePagePatch5} -\pastebutton{ugIntroIntegratePageEmpty5}{\showpaste} -\tab{5}\spadcommand{integrate(1 / (x**3 * (a+b*x)**(1/3)),x)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroIntegratePagePatch6} -\begin{paste}{ugIntroIntegratePageFull6}{ugIntroIntegratePageEmpty6} -\pastebutton{ugIntroIntegratePageFull6}{\hidepaste} -\tab{5}\spadcommand{integrate(log(1 + sqrt(a*x + b)) / x,x)} -\indentrel{3}\begin{verbatim} - x ÚÄÄÄÄÄÄÄÄ¿ - Ú¿ log(\³b + %S a + 1) - (6) ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ d%S - ÀÙ %S - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroIntegratePageEmpty6} -\begin{paste}{ugIntroIntegratePageEmpty6}{ugIntroIntegratePagePatch6} -\pastebutton{ugIntroIntegratePageEmpty6}{\showpaste} -\tab{5}\spadcommand{integrate(log(1 + sqrt(a*x + b)) / x,x)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroIntegratePagePatch7} -\begin{paste}{ugIntroIntegratePageFull7}{ugIntroIntegratePageEmpty7} -\pastebutton{ugIntroIntegratePageFull7}{\hidepaste} -\tab{5}\spadcommand{integrate((sinh(1+sqrt(x+b))+2*sqrt(x+b)) / (sqrt(x+b) * (x + cosh(1+sqrt(x + b)))), x)} -\indentrel{3}\begin{verbatim} - (7) - ÚÄÄÄÄÄ¿ - - 2cosh(\³x + b + 1) - 2x - 2log(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) - ÚÄÄÄÄÄ¿ ÚÄÄÄÄÄ¿ - sinh(\³x + b + 1) - cosh(\³x + b + 1) - + - ÚÄÄÄÄÄ¿ - - 2\³x + b - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroIntegratePageEmpty7} -\begin{paste}{ugIntroIntegratePageEmpty7}{ugIntroIntegratePagePatch7} -\pastebutton{ugIntroIntegratePageEmpty7}{\showpaste} -\tab{5}\spadcommand{integrate((sinh(1+sqrt(x+b))+2*sqrt(x+b)) / (sqrt(x+b) * (x + cosh(1+sqrt(x + b)))), x)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroIntegratePagePatch8} -\begin{paste}{ugIntroIntegratePageFull8}{ugIntroIntegratePageEmpty8} -\pastebutton{ugIntroIntegratePageFull8}{\hidepaste} -\tab{5}\spadcommand{integrate(tan(atan(x)/3),x)} -\indentrel{3}\begin{verbatim} - (8) - atan(x) 2 atan(x) 2 - 8log(3tan(ÄÄÄÄÄÄÄ) - 1) - 3tan(ÄÄÄÄÄÄÄ) - 3 3 - + - atan(x) - 18x tan(ÄÄÄÄÄÄÄ) - 3 - / - 18 - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroIntegratePageEmpty8} -\begin{paste}{ugIntroIntegratePageEmpty8}{ugIntroIntegratePagePatch8} -\pastebutton{ugIntroIntegratePageEmpty8}{\showpaste} -\tab{5}\spadcommand{integrate(tan(atan(x)/3),x)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroIntegratePagePatch9} -\begin{paste}{ugIntroIntegratePageFull9}{ugIntroIntegratePageEmpty9} -\pastebutton{ugIntroIntegratePageFull9}{\hidepaste} -\tab{5}\spadcommand{integrate((x + 1) / (x*(x + log x) ** (3/2)), x)} -\indentrel{3}\begin{verbatim} - ÚÄÄÄÄÄÄÄÄÄÄ¿ - 2\³log(x) + x - (9) - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - log(x) + x - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroIntegratePageEmpty9} -\begin{paste}{ugIntroIntegratePageEmpty9}{ugIntroIntegratePagePatch9} -\pastebutton{ugIntroIntegratePageEmpty9}{\showpaste} -\tab{5}\spadcommand{integrate((x + 1) / (x*(x + log x) ** (3/2)), x)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroIntegratePagePatch10} -\begin{paste}{ugIntroIntegratePageFull10}{ugIntroIntegratePageEmpty10} -\pastebutton{ugIntroIntegratePageFull10}{\hidepaste} -\tab{5}\spadcommand{integrate(exp(-x**2) * erf(x) / (erf(x)**3 - erf(x)**2 - erf(x) + 1),x)} -\indentrel{3}\begin{verbatim} - ÚÄÄÄ¿ erf(x) - 1 ÚÄÄÄ¿ - (erf(x) - 1)\³%pi log(ÄÄÄÄÄÄÄÄÄÄ) - 2\³%pi - erf(x) + 1 - (10) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 8erf(x) - 8 - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroIntegratePageEmpty10} -\begin{paste}{ugIntroIntegratePageEmpty10}{ugIntroIntegratePagePatch10} -\pastebutton{ugIntroIntegratePageEmpty10}{\showpaste} -\tab{5}\spadcommand{integrate(exp(-x**2) * erf(x) / (erf(x)**3 - erf(x)**2 - erf(x) + 1),x)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcLimitsPagePatch1} -\begin{paste}{ugIntroCalcLimitsPageFull1}{ugIntroCalcLimitsPageEmpty1} -\pastebutton{ugIntroCalcLimitsPageFull1}{\hidepaste} -\tab{5}\spadcommand{g := csc(a*x) / csch(b*x)\bound{g }} -\indentrel{3}\begin{verbatim} - csc(a x) - (1) ÄÄÄÄÄÄÄÄÄ - csch(b x) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcLimitsPageEmpty1} -\begin{paste}{ugIntroCalcLimitsPageEmpty1}{ugIntroCalcLimitsPagePatch1} -\pastebutton{ugIntroCalcLimitsPageEmpty1}{\showpaste} -\tab{5}\spadcommand{g := csc(a*x) / csch(b*x)\bound{g }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcLimitsPagePatch2} -\begin{paste}{ugIntroCalcLimitsPageFull2}{ugIntroCalcLimitsPageEmpty2} -\pastebutton{ugIntroCalcLimitsPageFull2}{\hidepaste} -\tab{5}\spadcommand{limit(g,x=0)\free{g }} -\indentrel{3}\begin{verbatim} - b - (2) Ä - a - Type: Union(OrderedCompletion Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcLimitsPageEmpty2} -\begin{paste}{ugIntroCalcLimitsPageEmpty2}{ugIntroCalcLimitsPagePatch2} -\pastebutton{ugIntroCalcLimitsPageEmpty2}{\showpaste} -\tab{5}\spadcommand{limit(g,x=0)\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcLimitsPagePatch3} -\begin{paste}{ugIntroCalcLimitsPageFull3}{ugIntroCalcLimitsPageEmpty3} -\pastebutton{ugIntroCalcLimitsPageFull3}{\hidepaste} -\tab{5}\spadcommand{h := (1 + k/x)**x\bound{h }} -\indentrel{3}\begin{verbatim} - x + k x - (3) (ÄÄÄÄÄ) - x - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcLimitsPageEmpty3} -\begin{paste}{ugIntroCalcLimitsPageEmpty3}{ugIntroCalcLimitsPagePatch3} -\pastebutton{ugIntroCalcLimitsPageEmpty3}{\showpaste} -\tab{5}\spadcommand{h := (1 + k/x)**x\bound{h }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcLimitsPagePatch4} -\begin{paste}{ugIntroCalcLimitsPageFull4}{ugIntroCalcLimitsPageEmpty4} -\pastebutton{ugIntroCalcLimitsPageFull4}{\hidepaste} -\tab{5}\spadcommand{limit(h,x=\%plusInfinity)\free{h }} -\indentrel{3}\begin{verbatim} - k - (4) %e - Type: Union(OrderedCompletion Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcLimitsPageEmpty4} -\begin{paste}{ugIntroCalcLimitsPageEmpty4}{ugIntroCalcLimitsPagePatch4} -\pastebutton{ugIntroCalcLimitsPageEmpty4}{\showpaste} -\tab{5}\spadcommand{limit(h,x=\%plusInfinity)\free{h }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcLimitsPagePatch5} -\begin{paste}{ugIntroCalcLimitsPageFull5}{ugIntroCalcLimitsPageEmpty5} -\pastebutton{ugIntroCalcLimitsPageFull5}{\hidepaste} -\tab{5}\spadcommand{limit(sqrt(y**2)/y,y = 0)} -\indentrel{3}\begin{verbatim} - (5) [leftHandLimit= - 1,rightHandLimit= 1] -Type: Union(Record(leftHandLimit: Union(OrderedCompletion Expression Integer,"failed"),rightHandLimit: Union(OrderedCompletion Expression Integer,"failed")),...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcLimitsPageEmpty5} -\begin{paste}{ugIntroCalcLimitsPageEmpty5}{ugIntroCalcLimitsPagePatch5} -\pastebutton{ugIntroCalcLimitsPageEmpty5}{\showpaste} -\tab{5}\spadcommand{limit(sqrt(y**2)/y,y = 0)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcLimitsPagePatch6} -\begin{paste}{ugIntroCalcLimitsPageFull6}{ugIntroCalcLimitsPageEmpty6} -\pastebutton{ugIntroCalcLimitsPageFull6}{\hidepaste} -\tab{5}\spadcommand{limit(exp(-1/x**2),x = 0)} -\indentrel{3}\begin{verbatim} - (6) 0 - Type: Union(OrderedCompletion Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcLimitsPageEmpty6} -\begin{paste}{ugIntroCalcLimitsPageEmpty6}{ugIntroCalcLimitsPagePatch6} -\pastebutton{ugIntroCalcLimitsPageEmpty6}{\showpaste} -\tab{5}\spadcommand{limit(exp(-1/x**2),x = 0)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcLimitsPagePatch7} -\begin{paste}{ugIntroCalcLimitsPageFull7}{ugIntroCalcLimitsPageEmpty7} -\pastebutton{ugIntroCalcLimitsPageFull7}{\hidepaste} -\tab{5}\spadcommand{complexLimit(exp(-1/x**2),x = 0)} -\indentrel{3}\begin{verbatim} - (7) "failed" - Type: Union("failed",...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCalcLimitsPageEmpty7} -\begin{paste}{ugIntroCalcLimitsPageEmpty7}{ugIntroCalcLimitsPagePatch7} -\pastebutton{ugIntroCalcLimitsPageEmpty7}{\showpaste} -\tab{5}\spadcommand{complexLimit(exp(-1/x**2),x = 0)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroSysCmmandsPagePatch1} -\begin{paste}{ugIntroSysCmmandsPageFull1}{ugIntroSysCmmandsPageEmpty1} -\pastebutton{ugIntroSysCmmandsPageFull1}{\hidepaste} -\tab{5}\spadcommand{)what operations integrate} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroSysCmmandsPageEmpty1} -\begin{paste}{ugIntroSysCmmandsPageEmpty1}{ugIntroSysCmmandsPagePatch1} -\pastebutton{ugIntroSysCmmandsPageEmpty1}{\showpaste} -\tab{5}\spadcommand{)what operations integrate} -\end{paste}\end{patch} - -\begin{patch}{ugIntroSysCmmandsPagePatch2} -\begin{paste}{ugIntroSysCmmandsPageFull2}{ugIntroSysCmmandsPageEmpty2} -\pastebutton{ugIntroSysCmmandsPageFull2}{\hidepaste} -\tab{5}\spadcommand{f(0) == 1; g(0) == 1\bound{u1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroSysCmmandsPageEmpty2} -\begin{paste}{ugIntroSysCmmandsPageEmpty2}{ugIntroSysCmmandsPagePatch2} -\pastebutton{ugIntroSysCmmandsPageEmpty2}{\showpaste} -\tab{5}\spadcommand{f(0) == 1; g(0) == 1\bound{u1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroSysCmmandsPagePatch3} -\begin{paste}{ugIntroSysCmmandsPageFull3}{ugIntroSysCmmandsPageEmpty3} -\pastebutton{ugIntroSysCmmandsPageFull3}{\hidepaste} -\tab{5}\spadcommand{f(n) == e/2*f(n-1) - x*g(n-1)\bound{u2 }\free{u1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroSysCmmandsPageEmpty3} -\begin{paste}{ugIntroSysCmmandsPageEmpty3}{ugIntroSysCmmandsPagePatch3} -\pastebutton{ugIntroSysCmmandsPageEmpty3}{\showpaste} -\tab{5}\spadcommand{f(n) == e/2*f(n-1) - x*g(n-1)\bound{u2 }\free{u1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroSysCmmandsPagePatch4} -\begin{paste}{ugIntroSysCmmandsPageFull4}{ugIntroSysCmmandsPageEmpty4} -\pastebutton{ugIntroSysCmmandsPageFull4}{\hidepaste} -\tab{5}\spadcommand{g(n) == -x*f(n-1) + d/3*g(n-1)\bound{u3 }\free{u2 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroSysCmmandsPageEmpty4} -\begin{paste}{ugIntroSysCmmandsPageEmpty4}{ugIntroSysCmmandsPagePatch4} -\pastebutton{ugIntroSysCmmandsPageEmpty4}{\showpaste} -\tab{5}\spadcommand{g(n) == -x*f(n-1) + d/3*g(n-1)\bound{u3 }\free{u2 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroSysCmmandsPagePatch5} -\begin{paste}{ugIntroSysCmmandsPageFull5}{ugIntroSysCmmandsPageEmpty5} -\pastebutton{ugIntroSysCmmandsPageFull5}{\hidepaste} -\tab{5}\spadcommand{f(3)\bound{u4 }\free{u3 }} -\indentrel{3}\begin{verbatim} - (4) - 3 1 2 1 2 1 1 2 1 3 - - x + (e + Ä d)x + (- Ä e - Ä d e - Ä d )x + Ä e - 3 4 6 9 8 - Type: Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroSysCmmandsPageEmpty5} -\begin{paste}{ugIntroSysCmmandsPageEmpty5}{ugIntroSysCmmandsPagePatch5} -\pastebutton{ugIntroSysCmmandsPageEmpty5}{\showpaste} -\tab{5}\spadcommand{f(3)\bound{u4 }\free{u3 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroSysCmmandsPagePatch6} -\begin{paste}{ugIntroSysCmmandsPageFull6}{ugIntroSysCmmandsPageEmpty6} -\pastebutton{ugIntroSysCmmandsPageFull6}{\hidepaste} -\tab{5}\spadcommand{)undo 2\bound{u5 }\free{u4 }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroSysCmmandsPageEmpty6} -\begin{paste}{ugIntroSysCmmandsPageEmpty6}{ugIntroSysCmmandsPagePatch6} -\pastebutton{ugIntroSysCmmandsPageEmpty6}{\showpaste} -\tab{5}\spadcommand{)undo 2\bound{u5 }\free{u4 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroSysCmmandsPagePatch7} -\begin{paste}{ugIntroSysCmmandsPageFull7}{ugIntroSysCmmandsPageEmpty7} -\pastebutton{ugIntroSysCmmandsPageFull7}{\hidepaste} -\tab{5}\spadcommand{f(n) == d/3*f(n-1) - x*g(n-1)\bound{u6 }\free{u5 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroSysCmmandsPageEmpty7} -\begin{paste}{ugIntroSysCmmandsPageEmpty7}{ugIntroSysCmmandsPagePatch7} -\pastebutton{ugIntroSysCmmandsPageEmpty7}{\showpaste} -\tab{5}\spadcommand{f(n) == d/3*f(n-1) - x*g(n-1)\bound{u6 }\free{u5 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroSysCmmandsPagePatch8} -\begin{paste}{ugIntroSysCmmandsPageFull8}{ugIntroSysCmmandsPageEmpty8} -\pastebutton{ugIntroSysCmmandsPageFull8}{\hidepaste} -\tab{5}\spadcommand{)undo )redo\bound{u7 }\free{u6 }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroSysCmmandsPageEmpty8} -\begin{paste}{ugIntroSysCmmandsPageEmpty8}{ugIntroSysCmmandsPagePatch8} -\pastebutton{ugIntroSysCmmandsPageEmpty8}{\showpaste} -\tab{5}\spadcommand{)undo )redo\bound{u7 }\free{u6 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroSysCmmandsPagePatch9} -\begin{paste}{ugIntroSysCmmandsPageFull9}{ugIntroSysCmmandsPageEmpty9} -\pastebutton{ugIntroSysCmmandsPageFull9}{\hidepaste} -\tab{5}\spadcommand{)undo 4\bound{u8 }\free{u7 }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroSysCmmandsPageEmpty9} -\begin{paste}{ugIntroSysCmmandsPageEmpty9}{ugIntroSysCmmandsPagePatch9} -\pastebutton{ugIntroSysCmmandsPageEmpty9}{\showpaste} -\tab{5}\spadcommand{)undo 4\bound{u8 }\free{u7 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroSysCmmandsPagePatch10} -\begin{paste}{ugIntroSysCmmandsPageFull10}{ugIntroSysCmmandsPageEmpty10} -\pastebutton{ugIntroSysCmmandsPageFull10}{\hidepaste} -\tab{5}\spadcommand{f(3)\bound{u9 }\free{u8 }} -\indentrel{3}\begin{verbatim} - (6) - 3 1 2 1 2 1 1 2 1 3 - - x + (e + Ä d)x + (- Ä e - Ä d e - Ä d )x + Ä e - 3 4 6 9 8 - Type: Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroSysCmmandsPageEmpty10} -\begin{paste}{ugIntroSysCmmandsPageEmpty10}{ugIntroSysCmmandsPagePatch10} -\pastebutton{ugIntroSysCmmandsPageEmpty10}{\showpaste} -\tab{5}\spadcommand{f(3)\bound{u9 }\free{u8 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroArithmeticPagePatch1} -\begin{paste}{ugIntroArithmeticPageFull1}{ugIntroArithmeticPageEmpty1} -\pastebutton{ugIntroArithmeticPageFull1}{\hidepaste} -\tab{5}\spadcommand{1 + 2 - 3 / 4 * 3 ** 2 - 1} -\indentrel{3}\begin{verbatim} - 19 - (1) - ÄÄ - 4 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroArithmeticPageEmpty1} -\begin{paste}{ugIntroArithmeticPageEmpty1}{ugIntroArithmeticPagePatch1} -\pastebutton{ugIntroArithmeticPageEmpty1}{\showpaste} -\tab{5}\spadcommand{1 + 2 - 3 / 4 * 3 ** 2 - 1} -\end{paste}\end{patch} - -\begin{patch}{ugIntroArithmeticPagePatch2} -\begin{paste}{ugIntroArithmeticPageFull2}{ugIntroArithmeticPageEmpty2} -\pastebutton{ugIntroArithmeticPageFull2}{\hidepaste} -\tab{5}\spadcommand{((1 + 2) - ((3 / 4) * (3 ** 2))) - 1} -\indentrel{3}\begin{verbatim} - 19 - (2) - ÄÄ - 4 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroArithmeticPageEmpty2} -\begin{paste}{ugIntroArithmeticPageEmpty2}{ugIntroArithmeticPagePatch2} -\pastebutton{ugIntroArithmeticPageEmpty2}{\showpaste} -\tab{5}\spadcommand{((1 + 2) - ((3 / 4) * (3 ** 2))) - 1} -\end{paste}\end{patch} - -\begin{patch}{ugIntroArithmeticPagePatch3} -\begin{paste}{ugIntroArithmeticPageFull3}{ugIntroArithmeticPageEmpty3} -\pastebutton{ugIntroArithmeticPageFull3}{\hidepaste} -\tab{5}\spadcommand{1 + 2 - 3/ (4 * 3 ** (2 - 1))} -\indentrel{3}\begin{verbatim} - 11 - (3) ÄÄ - 4 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroArithmeticPageEmpty3} -\begin{paste}{ugIntroArithmeticPageEmpty3}{ugIntroArithmeticPagePatch3} -\pastebutton{ugIntroArithmeticPageEmpty3}{\showpaste} -\tab{5}\spadcommand{1 + 2 - 3/ (4 * 3 ** (2 - 1))} -\end{paste}\end{patch} - -\begin{patch}{ugIntroConversionPagePatch1} -\begin{paste}{ugIntroConversionPageFull1}{ugIntroConversionPageEmpty1} -\pastebutton{ugIntroConversionPageFull1}{\hidepaste} -\tab{5}\spadcommand{p := r**2 + 2/3\bound{p }} -\indentrel{3}\begin{verbatim} - 2 2 - (1) r + Ä - 3 - Type: Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroConversionPageEmpty1} -\begin{paste}{ugIntroConversionPageEmpty1}{ugIntroConversionPagePatch1} -\pastebutton{ugIntroConversionPageEmpty1}{\showpaste} -\tab{5}\spadcommand{p := r**2 + 2/3\bound{p }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroConversionPagePatch2} -\begin{paste}{ugIntroConversionPageFull2}{ugIntroConversionPageEmpty2} -\pastebutton{ugIntroConversionPageFull2}{\hidepaste} -\tab{5}\spadcommand{p :: Fraction Polynomial Integer\free{p }} -\indentrel{3}\begin{verbatim} - 2 - 3r + 2 - (2) ÄÄÄÄÄÄÄ - 3 - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroConversionPageEmpty2} -\begin{paste}{ugIntroConversionPageEmpty2}{ugIntroConversionPagePatch2} -\pastebutton{ugIntroConversionPageEmpty2}{\showpaste} -\tab{5}\spadcommand{p :: Fraction Polynomial Integer\free{p }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPagePatch1} -\begin{paste}{ugIntroYouPageFull1}{ugIntroYouPageEmpty1} -\pastebutton{ugIntroYouPageFull1}{\hidepaste} -\tab{5}\spadcommand{fact(0) == 1\bound{fact }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPageEmpty1} -\begin{paste}{ugIntroYouPageEmpty1}{ugIntroYouPagePatch1} -\pastebutton{ugIntroYouPageEmpty1}{\showpaste} -\tab{5}\spadcommand{fact(0) == 1\bound{fact }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPagePatch2} -\begin{paste}{ugIntroYouPageFull2}{ugIntroYouPageEmpty2} -\pastebutton{ugIntroYouPageFull2}{\hidepaste} -\tab{5}\spadcommand{fact(n) == n*fact(n-1)\bound{facta }\free{fact }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPageEmpty2} -\begin{paste}{ugIntroYouPageEmpty2}{ugIntroYouPagePatch2} -\pastebutton{ugIntroYouPageEmpty2}{\showpaste} -\tab{5}\spadcommand{fact(n) == n*fact(n-1)\bound{facta }\free{fact }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPagePatch3} -\begin{paste}{ugIntroYouPageFull3}{ugIntroYouPageEmpty3} -\pastebutton{ugIntroYouPageFull3}{\hidepaste} -\tab{5}\spadcommand{fact(50)\free{facta }} -\indentrel{3}\begin{verbatim} - (3) - 304140932017133780436126081660647688443776415689605120_ - 00000000000 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPageEmpty3} -\begin{paste}{ugIntroYouPageEmpty3}{ugIntroYouPagePatch3} -\pastebutton{ugIntroYouPageEmpty3}{\showpaste} -\tab{5}\spadcommand{fact(50)\free{facta }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPagePatch4} -\begin{paste}{ugIntroYouPageFull4}{ugIntroYouPageEmpty4} -\pastebutton{ugIntroYouPageFull4}{\hidepaste} -\tab{5}\spadcommand{fac(n) == if n < 3 then n else n * fac(n - 1)\bound{fac }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPageEmpty4} -\begin{paste}{ugIntroYouPageEmpty4}{ugIntroYouPagePatch4} -\pastebutton{ugIntroYouPageEmpty4}{\showpaste} -\tab{5}\spadcommand{fac(n) == if n < 3 then n else n * fac(n - 1)\bound{fac }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPagePatch5} -\begin{paste}{ugIntroYouPageFull5}{ugIntroYouPageEmpty5} -\pastebutton{ugIntroYouPageFull5}{\hidepaste} -\tab{5}\spadcommand{fac(50)\free{fac }} -\indentrel{3}\begin{verbatim} - (5) - 304140932017133780436126081660647688443776415689605120_ - 00000000000 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPageEmpty5} -\begin{paste}{ugIntroYouPageEmpty5}{ugIntroYouPagePatch5} -\pastebutton{ugIntroYouPageEmpty5}{\showpaste} -\tab{5}\spadcommand{fac(50)\free{fac }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPagePatch6} -\begin{paste}{ugIntroYouPageFull6}{ugIntroYouPageEmpty6} -\pastebutton{ugIntroYouPageFull6}{\hidepaste} -\tab{5}\spadcommand{fa(n) == (a := 1; for i in 2..n repeat a := a*i; a)\bound{fa }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPageEmpty6} -\begin{paste}{ugIntroYouPageEmpty6}{ugIntroYouPagePatch6} -\pastebutton{ugIntroYouPageEmpty6}{\showpaste} -\tab{5}\spadcommand{fa(n) == (a := 1; for i in 2..n repeat a := a*i; a)\bound{fa }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPagePatch7} -\begin{paste}{ugIntroYouPageFull7}{ugIntroYouPageEmpty7} -\pastebutton{ugIntroYouPageFull7}{\hidepaste} -\tab{5}\spadcommand{fa(50)\free{fa }} -\indentrel{3}\begin{verbatim} - (7) - 304140932017133780436126081660647688443776415689605120_ - 00000000000 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPageEmpty7} -\begin{paste}{ugIntroYouPageEmpty7}{ugIntroYouPagePatch7} -\pastebutton{ugIntroYouPageEmpty7}{\showpaste} -\tab{5}\spadcommand{fa(50)\free{fa }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPagePatch8} -\begin{paste}{ugIntroYouPageFull8}{ugIntroYouPageEmpty8} -\pastebutton{ugIntroYouPageFull8}{\hidepaste} -\tab{5}\spadcommand{f(n) == reduce(*,[i for i in 2..n])\bound{f }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPageEmpty8} -\begin{paste}{ugIntroYouPageEmpty8}{ugIntroYouPagePatch8} -\pastebutton{ugIntroYouPageEmpty8}{\showpaste} -\tab{5}\spadcommand{f(n) == reduce(*,[i for i in 2..n])\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPagePatch9} -\begin{paste}{ugIntroYouPageFull9}{ugIntroYouPageEmpty9} -\pastebutton{ugIntroYouPageFull9}{\hidepaste} -\tab{5}\spadcommand{f(50)\free{f }} -\indentrel{3}\begin{verbatim} - (9) - 304140932017133780436126081660647688443776415689605120_ - 00000000000 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPageEmpty9} -\begin{paste}{ugIntroYouPageEmpty9}{ugIntroYouPagePatch9} -\pastebutton{ugIntroYouPageEmpty9}{\showpaste} -\tab{5}\spadcommand{f(50)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPagePatch10} -\begin{paste}{ugIntroYouPageFull10}{ugIntroYouPageEmpty10} -\pastebutton{ugIntroYouPageFull10}{\hidepaste} -\tab{5}\spadcommand{factorial(50)} -\indentrel{3}\begin{verbatim} - (10) - 304140932017133780436126081660647688443776415689605120_ - 00000000000 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPageEmpty10} -\begin{paste}{ugIntroYouPageEmpty10}{ugIntroYouPagePatch10} -\pastebutton{ugIntroYouPageEmpty10}{\showpaste} -\tab{5}\spadcommand{factorial(50)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPagePatch11} -\begin{paste}{ugIntroYouPageFull11}{ugIntroYouPageEmpty11} -\pastebutton{ugIntroYouPageFull11}{\hidepaste} -\tab{5}\spadcommand{permMat(n, i, j) == - m := diagonalMatrix - [(if i = k or j = k then 0 else 1) - for k in 1..n] - m(i,j) := 1 - m(j,i) := 1 - m -\bound{permMat }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPageEmpty11} -\begin{paste}{ugIntroYouPageEmpty11}{ugIntroYouPagePatch11} -\pastebutton{ugIntroYouPageEmpty11}{\showpaste} -\tab{5}\spadcommand{permMat(n, i, j) == - m := diagonalMatrix - [(if i = k or j = k then 0 else 1) - for k in 1..n] - m(i,j) := 1 - m(j,i) := 1 - m -\bound{permMat }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPagePatch12} -\begin{paste}{ugIntroYouPageFull12}{ugIntroYouPageEmpty12} -\pastebutton{ugIntroYouPageFull12}{\hidepaste} -\tab{5}\spadcommand{p := permMat(4,2,3)\free{permMat }\bound{p }} -\indentrel{3}\begin{verbatim} - Ú1 0 0 0¿ - ³ ³ - ³0 0 1 0³ - (12) ³ ³ - ³0 1 0 0³ - ³ ³ - À0 0 0 1Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPageEmpty12} -\begin{paste}{ugIntroYouPageEmpty12}{ugIntroYouPagePatch12} -\pastebutton{ugIntroYouPageEmpty12}{\showpaste} -\tab{5}\spadcommand{p := permMat(4,2,3)\free{permMat }\bound{p }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPagePatch13} -\begin{paste}{ugIntroYouPageFull13}{ugIntroYouPageEmpty13} -\pastebutton{ugIntroYouPageFull13}{\hidepaste} -\tab{5}\spadcommand{m := matrix [[4*i + j for j in 1..4] for i in 0..3]\bound{m }} -\indentrel{3}\begin{verbatim} - Ú1 2 3 4 ¿ - ³ ³ - ³5 6 7 8 ³ - (13) ³ ³ - ³9 10 11 12³ - ³ ³ - À13 14 15 16Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPageEmpty13} -\begin{paste}{ugIntroYouPageEmpty13}{ugIntroYouPagePatch13} -\pastebutton{ugIntroYouPageEmpty13}{\showpaste} -\tab{5}\spadcommand{m := matrix [[4*i + j for j in 1..4] for i in 0..3]\bound{m }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPagePatch14} -\begin{paste}{ugIntroYouPageFull14}{ugIntroYouPageEmpty14} -\pastebutton{ugIntroYouPageFull14}{\hidepaste} -\tab{5}\spadcommand{permMat(4,2,3) * m\free{p m }} -\indentrel{3}\begin{verbatim} - Ú1 2 3 4 ¿ - ³ ³ - ³9 10 11 12³ - (14) ³ ³ - ³5 6 7 8 ³ - ³ ³ - À13 14 15 16Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPageEmpty14} -\begin{paste}{ugIntroYouPageEmpty14}{ugIntroYouPagePatch14} -\pastebutton{ugIntroYouPageEmpty14}{\showpaste} -\tab{5}\spadcommand{permMat(4,2,3) * m\free{p m }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPagePatch15} -\begin{paste}{ugIntroYouPageFull15}{ugIntroYouPageEmpty15} -\pastebutton{ugIntroYouPageFull15}{\hidepaste} -\tab{5}\spadcommand{t : (Float -> Float, Float) -> Float\bound{tdecl }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPageEmpty15} -\begin{paste}{ugIntroYouPageEmpty15}{ugIntroYouPagePatch15} -\pastebutton{ugIntroYouPageEmpty15}{\showpaste} -\tab{5}\spadcommand{t : (Float -> Float, Float) -> Float\bound{tdecl }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPagePatch16} -\begin{paste}{ugIntroYouPageFull16}{ugIntroYouPageEmpty16} -\pastebutton{ugIntroYouPageFull16}{\hidepaste} -\tab{5}\spadcommand{t(fun, x) == fun(x)**2 + sin(x)**2\free{tdecl }\bound{t }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPageEmpty16} -\begin{paste}{ugIntroYouPageEmpty16}{ugIntroYouPagePatch16} -\pastebutton{ugIntroYouPageEmpty16}{\showpaste} -\tab{5}\spadcommand{t(fun, x) == fun(x)**2 + sin(x)**2\free{tdecl }\bound{t }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPagePatch17} -\begin{paste}{ugIntroYouPageFull17}{ugIntroYouPageEmpty17} -\pastebutton{ugIntroYouPageFull17}{\hidepaste} -\tab{5}\spadcommand{t(cos, 5.2058)\free{t }} -\indentrel{3}\begin{verbatim} - (17) 1.0 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPageEmpty17} -\begin{paste}{ugIntroYouPageEmpty17}{ugIntroYouPagePatch17} -\pastebutton{ugIntroYouPageEmpty17}{\showpaste} -\tab{5}\spadcommand{t(cos, 5.2058)\free{t }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPagePatch18} -\begin{paste}{ugIntroYouPageFull18}{ugIntroYouPageEmpty18} -\pastebutton{ugIntroYouPageFull18}{\hidepaste} -\tab{5}\spadcommand{cosinv(y) == cos(1/y)\bound{cosinv }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPageEmpty18} -\begin{paste}{ugIntroYouPageEmpty18}{ugIntroYouPagePatch18} -\pastebutton{ugIntroYouPageEmpty18}{\showpaste} -\tab{5}\spadcommand{cosinv(y) == cos(1/y)\bound{cosinv }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPagePatch19} -\begin{paste}{ugIntroYouPageFull19}{ugIntroYouPageEmpty19} -\pastebutton{ugIntroYouPageFull19}{\hidepaste} -\tab{5}\spadcommand{t(cosinv, 5.2058)\free{t }\free{cosinv }} -\indentrel{3}\begin{verbatim} - (19) 1.7392237241 800516493 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPageEmpty19} -\begin{paste}{ugIntroYouPageEmpty19}{ugIntroYouPagePatch19} -\pastebutton{ugIntroYouPageEmpty19}{\showpaste} -\tab{5}\spadcommand{t(cosinv, 5.2058)\free{t }\free{cosinv }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPagePatch20} -\begin{paste}{ugIntroYouPageFull20}{ugIntroYouPageEmpty20} -\pastebutton{ugIntroYouPageFull20}{\hidepaste} -\tab{5}\spadcommand{groupSqrt := rule(sqrt(a) * sqrt(b) == sqrt(a*b))\bound{g }} -\indentrel{3}\begin{verbatim} - ÚÄ¿ ÚÄ¿ ÚÄÄÄ¿ - (20) %BD\³a \³b == %BD\³a b - Type: RewriteRule(Integer,Integer,Expression Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPageEmpty20} -\begin{paste}{ugIntroYouPageEmpty20}{ugIntroYouPagePatch20} -\pastebutton{ugIntroYouPageEmpty20}{\showpaste} -\tab{5}\spadcommand{groupSqrt := rule(sqrt(a) * sqrt(b) == sqrt(a*b))\bound{g }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPagePatch21} -\begin{paste}{ugIntroYouPageFull21}{ugIntroYouPageEmpty21} -\pastebutton{ugIntroYouPageFull21}{\hidepaste} -\tab{5}\spadcommand{a := (sqrt(x) + sqrt(y) + sqrt(z))**4\bound{sxy }} -\indentrel{3}\begin{verbatim} - (21) - ÚÄ¿ ÚÄ¿ ÚÄ¿ - ((4z + 4y + 12x)\³y + (4z + 12y + 4x)\³x )\³z - + - ÚÄ¿ ÚÄ¿ 2 2 - (12z + 4y + 4x)\³x \³y + z + (6y + 6x)z + y + 6x y - + - 2 - x - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPageEmpty21} -\begin{paste}{ugIntroYouPageEmpty21}{ugIntroYouPagePatch21} -\pastebutton{ugIntroYouPageEmpty21}{\showpaste} -\tab{5}\spadcommand{a := (sqrt(x) + sqrt(y) + sqrt(z))**4\bound{sxy }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPagePatch22} -\begin{paste}{ugIntroYouPageFull22}{ugIntroYouPageEmpty22} -\pastebutton{ugIntroYouPageFull22}{\hidepaste} -\tab{5}\spadcommand{groupSqrt a\free{sxy }\free{g }} -\indentrel{3}\begin{verbatim} - (22) - ÚÄÄÄ¿ ÚÄÄÄ¿ - (4z + 4y + 12x)\³y z + (4z + 12y + 4x)\³x z - + - ÚÄÄÄ¿ 2 2 - (12z + 4y + 4x)\³x y + z + (6y + 6x)z + y + 6x y - + - 2 - x - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroYouPageEmpty22} -\begin{paste}{ugIntroYouPageEmpty22}{ugIntroYouPagePatch22} -\pastebutton{ugIntroYouPageEmpty22}{\showpaste} -\tab{5}\spadcommand{groupSqrt a\free{sxy }\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroTypesPagePatch1} -\begin{paste}{ugIntroTypesPageFull1}{ugIntroTypesPageEmpty1} -\pastebutton{ugIntroTypesPageFull1}{\hidepaste} -\tab{5}\spadcommand{8} -\indentrel{3}\begin{verbatim} - (1) 8 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroTypesPageEmpty1} -\begin{paste}{ugIntroTypesPageEmpty1}{ugIntroTypesPagePatch1} -\pastebutton{ugIntroTypesPageEmpty1}{\showpaste} -\tab{5}\spadcommand{8} -\end{paste}\end{patch} - -\begin{patch}{ugIntroTypesPagePatch2} -\begin{paste}{ugIntroTypesPageFull2}{ugIntroTypesPageEmpty2} -\pastebutton{ugIntroTypesPageFull2}{\hidepaste} -\tab{5}\spadcommand{-8} -\indentrel{3}\begin{verbatim} - (2) - 8 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroTypesPageEmpty2} -\begin{paste}{ugIntroTypesPageEmpty2}{ugIntroTypesPagePatch2} -\pastebutton{ugIntroTypesPageEmpty2}{\showpaste} -\tab{5}\spadcommand{-8} -\end{paste}\end{patch} - -\begin{patch}{ugIntroTypesPagePatch3} -\begin{paste}{ugIntroTypesPageFull3}{ugIntroTypesPageEmpty3} -\pastebutton{ugIntroTypesPageFull3}{\hidepaste} -\tab{5}\spadcommand{x**8} -\indentrel{3}\begin{verbatim} - 8 - (3) x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroTypesPageEmpty3} -\begin{paste}{ugIntroTypesPageEmpty3}{ugIntroTypesPagePatch3} -\pastebutton{ugIntroTypesPageEmpty3}{\showpaste} -\tab{5}\spadcommand{x**8} -\end{paste}\end{patch} - -\begin{patch}{ugIntroTypesPagePatch4} -\begin{paste}{ugIntroTypesPageFull4}{ugIntroTypesPageEmpty4} -\pastebutton{ugIntroTypesPageFull4}{\hidepaste} -\tab{5}\spadcommand{x**(-8)} -\indentrel{3}\begin{verbatim} - 1 - (4) ÄÄ - 8 - x - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroTypesPageEmpty4} -\begin{paste}{ugIntroTypesPageEmpty4}{ugIntroTypesPagePatch4} -\pastebutton{ugIntroTypesPageEmpty4}{\showpaste} -\tab{5}\spadcommand{x**(-8)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroTwoDimPagePatch1} -\begin{paste}{ugIntroTwoDimPageFull1}{ugIntroTwoDimPageEmpty1} -\pastebutton{ugIntroTwoDimPageFull1}{\hidepaste} -\tab{5}\spadcommand{m := matrix([[1,2], [3,4]])\bound{m }} -\indentrel{3}\begin{verbatim} - Ú1 2¿ - (1) ³ ³ - À3 4Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroTwoDimPageEmpty1} -\begin{paste}{ugIntroTwoDimPageEmpty1}{ugIntroTwoDimPagePatch1} -\pastebutton{ugIntroTwoDimPageEmpty1}{\showpaste} -\tab{5}\spadcommand{m := matrix([[1,2], [3,4]])\bound{m }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroTwoDimPagePatch2} -\begin{paste}{ugIntroTwoDimPageFull2}{ugIntroTwoDimPageEmpty2} -\pastebutton{ugIntroTwoDimPageFull2}{\hidepaste} -\tab{5}\spadcommand{matrix([[1/(i + j - x) for i in 1..4] for j in 1..4])\bound{hilb }} -\indentrel{3}\begin{verbatim} - Ú 1 1 1 1 ¿ - ³- ÄÄÄÄÄ - ÄÄÄÄÄ - ÄÄÄÄÄ - ÄÄÄÄij - ³ x - 2 x - 3 x - 4 x - 5³ - ³ ³ - ³ 1 1 1 1 ³ - ³- ÄÄÄÄÄ - ÄÄÄÄÄ - ÄÄÄÄÄ - ÄÄÄÄij - ³ x - 3 x - 4 x - 5 x - 6³ - (2) ³ ³ - ³ 1 1 1 1 ³ - ³- ÄÄÄÄÄ - ÄÄÄÄÄ - ÄÄÄÄÄ - ÄÄÄÄij - ³ x - 4 x - 5 x - 6 x - 7³ - ³ ³ - ³ 1 1 1 1 ³ - ³- ÄÄÄÄÄ - ÄÄÄÄÄ - ÄÄÄÄÄ - ÄÄÄÄij - À x - 5 x - 6 x - 7 x - 8Ù - Type: Matrix Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroTwoDimPageEmpty2} -\begin{paste}{ugIntroTwoDimPageEmpty2}{ugIntroTwoDimPagePatch2} -\pastebutton{ugIntroTwoDimPageEmpty2}{\showpaste} -\tab{5}\spadcommand{matrix([[1/(i + j - x) for i in 1..4] for j in 1..4])\bound{hilb }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroTwoDimPagePatch3} -\begin{paste}{ugIntroTwoDimPageFull3}{ugIntroTwoDimPageEmpty3} -\pastebutton{ugIntroTwoDimPageFull3}{\hidepaste} -\tab{5}\spadcommand{vm := matrix [[1,1,1], [x,y,z], [x*x,y*y,z*z]]\bound{vm }} -\indentrel{3}\begin{verbatim} - Ú1 1 1 ¿ - ³ ³ - (3) ³x y z ³ - ³ ³ - ³ 2 2 2³ - Àx y z Ù - Type: Matrix Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroTwoDimPageEmpty3} -\begin{paste}{ugIntroTwoDimPageEmpty3}{ugIntroTwoDimPagePatch3} -\pastebutton{ugIntroTwoDimPageEmpty3}{\showpaste} -\tab{5}\spadcommand{vm := matrix [[1,1,1], [x,y,z], [x*x,y*y,z*z]]\bound{vm }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroTwoDimPagePatch4} -\begin{paste}{ugIntroTwoDimPageFull4}{ugIntroTwoDimPageEmpty4} -\pastebutton{ugIntroTwoDimPageFull4}{\hidepaste} -\tab{5}\spadcommand{vm(3,3)\free{vm }} -\indentrel{3}\begin{verbatim} - 2 - (4) z - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroTwoDimPageEmpty4} -\begin{paste}{ugIntroTwoDimPageEmpty4}{ugIntroTwoDimPagePatch4} -\pastebutton{ugIntroTwoDimPageEmpty4}{\showpaste} -\tab{5}\spadcommand{vm(3,3)\free{vm }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroTwoDimPagePatch5} -\begin{paste}{ugIntroTwoDimPageFull5}{ugIntroTwoDimPageEmpty5} -\pastebutton{ugIntroTwoDimPageFull5}{\hidepaste} -\tab{5}\spadcommand{column(vm,2)\free{vm }} -\indentrel{3}\begin{verbatim} - 2 - (5) [1,y,y ] - Type: Vector Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroTwoDimPageEmpty5} -\begin{paste}{ugIntroTwoDimPageEmpty5}{ugIntroTwoDimPagePatch5} -\pastebutton{ugIntroTwoDimPageEmpty5}{\showpaste} -\tab{5}\spadcommand{column(vm,2)\free{vm }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroTwoDimPagePatch6} -\begin{paste}{ugIntroTwoDimPageFull6}{ugIntroTwoDimPageEmpty6} -\pastebutton{ugIntroTwoDimPageFull6}{\hidepaste} -\tab{5}\spadcommand{vm * vm\free{vm }} -\indentrel{3}\begin{verbatim} - (6) - Ú 2 2 2 ¿ - ³ x + x + 1 y + y + 1 z + z + 1 ³ - ³ ³ - ³ 2 2 2 3 ³ - ³ x z + x y + x y z + y + x z + y z + x ³ - ³ ³ - ³ 2 2 2 2 2 2 3 2 4 2 2³ - Àx z + x y + x y z + y + x z + y z + x Ù - Type: Matrix Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroTwoDimPageEmpty6} -\begin{paste}{ugIntroTwoDimPageEmpty6}{ugIntroTwoDimPagePatch6} -\pastebutton{ugIntroTwoDimPageEmpty6}{\showpaste} -\tab{5}\spadcommand{vm * vm\free{vm }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroTwoDimPagePatch7} -\begin{paste}{ugIntroTwoDimPageFull7}{ugIntroTwoDimPageEmpty7} -\pastebutton{ugIntroTwoDimPageFull7}{\hidepaste} -\tab{5}\spadcommand{factor determinant vm\free{vm }\bound{d }} -\indentrel{3}\begin{verbatim} - (7) (y - x)(z - y)(z - x) - Type: Factored Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroTwoDimPageEmpty7} -\begin{paste}{ugIntroTwoDimPageEmpty7}{ugIntroTwoDimPagePatch7} -\pastebutton{ugIntroTwoDimPageEmpty7}{\showpaste} -\tab{5}\spadcommand{factor determinant vm\free{vm }\bound{d }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroAssignPagePatch1} -\begin{paste}{ugIntroAssignPageFull1}{ugIntroAssignPageEmpty1} -\pastebutton{ugIntroAssignPageFull1}{\hidepaste} -\tab{5}\spadcommand{(x - y*z)**2} -\indentrel{3}\begin{verbatim} - 2 2 2 - (1) y z - 2x y z + x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroAssignPageEmpty1} -\begin{paste}{ugIntroAssignPageEmpty1}{ugIntroAssignPagePatch1} -\pastebutton{ugIntroAssignPageEmpty1}{\showpaste} -\tab{5}\spadcommand{(x - y*z)**2} -\end{paste}\end{patch} - -\begin{patch}{ugIntroAssignPagePatch2} -\begin{paste}{ugIntroAssignPageFull2}{ugIntroAssignPageEmpty2} -\pastebutton{ugIntroAssignPageFull2}{\hidepaste} -\tab{5}\spadcommand{x := 4} -\indentrel{3}\begin{verbatim} - (2) 4 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroAssignPageEmpty2} -\begin{paste}{ugIntroAssignPageEmpty2}{ugIntroAssignPagePatch2} -\pastebutton{ugIntroAssignPageEmpty2}{\showpaste} -\tab{5}\spadcommand{x := 4} -\end{paste}\end{patch} - -\begin{patch}{ugIntroAssignPagePatch3} -\begin{paste}{ugIntroAssignPageFull3}{ugIntroAssignPageEmpty3} -\pastebutton{ugIntroAssignPageFull3}{\hidepaste} -\tab{5}\spadcommand{x := z + 3/5} -\indentrel{3}\begin{verbatim} - 3 - (3) z + Ä - 5 - Type: Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroAssignPageEmpty3} -\begin{paste}{ugIntroAssignPageEmpty3}{ugIntroAssignPagePatch3} -\pastebutton{ugIntroAssignPageEmpty3}{\showpaste} -\tab{5}\spadcommand{x := z + 3/5} -\end{paste}\end{patch} - -\begin{patch}{ugIntroAssignPagePatch4} -\begin{paste}{ugIntroAssignPageFull4}{ugIntroAssignPageEmpty4} -\pastebutton{ugIntroAssignPageFull4}{\hidepaste} -\tab{5}\spadcommand{y : Integer\bound{y }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroAssignPageEmpty4} -\begin{paste}{ugIntroAssignPageEmpty4}{ugIntroAssignPagePatch4} -\pastebutton{ugIntroAssignPageEmpty4}{\showpaste} -\tab{5}\spadcommand{y : Integer\bound{y }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroAssignPagePatch5} -\begin{paste}{ugIntroAssignPageFull5}{ugIntroAssignPageEmpty5} -\pastebutton{ugIntroAssignPageFull5}{\hidepaste} -\tab{5}\spadcommand{y := 89\bound{y1 }\free{y }} -\indentrel{3}\begin{verbatim} - (5) 89 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroAssignPageEmpty5} -\begin{paste}{ugIntroAssignPageEmpty5}{ugIntroAssignPagePatch5} -\pastebutton{ugIntroAssignPageEmpty5}{\showpaste} -\tab{5}\spadcommand{y := 89\bound{y1 }\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroAssignPagePatch6} -\begin{paste}{ugIntroAssignPageFull6}{ugIntroAssignPageEmpty6} -\pastebutton{ugIntroAssignPageFull6}{\hidepaste} -\tab{5}\spadcommand{y := sin \%pi} -\indentrel{3}\begin{verbatim} - (6) 0 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroAssignPageEmpty6} -\begin{paste}{ugIntroAssignPageEmpty6}{ugIntroAssignPagePatch6} -\pastebutton{ugIntroAssignPageEmpty6}{\showpaste} -\tab{5}\spadcommand{y := sin \%pi} -\end{paste}\end{patch} - -\begin{patch}{ugIntroAssignPagePatch7} -\begin{paste}{ugIntroAssignPageFull7}{ugIntroAssignPageEmpty7} -\pastebutton{ugIntroAssignPageFull7}{\hidepaste} -\tab{5}\spadcommand{y := 2/3} -\indentrel{3}\begin{verbatim} - 2 - Ä - 3 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroAssignPageEmpty7} -\begin{paste}{ugIntroAssignPageEmpty7}{ugIntroAssignPagePatch7} -\pastebutton{ugIntroAssignPageEmpty7}{\showpaste} -\tab{5}\spadcommand{y := 2/3} -\end{paste}\end{patch} - -\begin{patch}{ugIntroAssignPagePatch8} -\begin{paste}{ugIntroAssignPageFull8}{ugIntroAssignPageEmpty8} -\pastebutton{ugIntroAssignPageFull8}{\hidepaste} -\tab{5}\spadcommand{f : Float := 2/3} -\indentrel{3}\begin{verbatim} - (7) 0.6666666666 6666666667 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroAssignPageEmpty8} -\begin{paste}{ugIntroAssignPageEmpty8}{ugIntroAssignPagePatch8} -\pastebutton{ugIntroAssignPageEmpty8}{\showpaste} -\tab{5}\spadcommand{f : Float := 2/3} -\end{paste}\end{patch} - -\begin{patch}{ugIntroAssignPagePatch9} -\begin{paste}{ugIntroAssignPageFull9}{ugIntroAssignPageEmpty9} -\pastebutton{ugIntroAssignPageFull9}{\hidepaste} -\tab{5}\spadcommand{f : Float; f := 2/3\bound{fff }} -\indentrel{3}\begin{verbatim} - (8) 0.6666666666 6666666667 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroAssignPageEmpty9} -\begin{paste}{ugIntroAssignPageEmpty9}{ugIntroAssignPagePatch9} -\pastebutton{ugIntroAssignPageEmpty9}{\showpaste} -\tab{5}\spadcommand{f : Float; f := 2/3\bound{fff }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroAssignPagePatch10} -\begin{paste}{ugIntroAssignPageFull10}{ugIntroAssignPageEmpty10} -\pastebutton{ugIntroAssignPageFull10}{\hidepaste} -\tab{5}\spadcommand{q} -\indentrel{3}\begin{verbatim} - (9) q - Type: Variable q -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroAssignPageEmpty10} -\begin{paste}{ugIntroAssignPageEmpty10}{ugIntroAssignPagePatch10} -\pastebutton{ugIntroAssignPageEmpty10}{\showpaste} -\tab{5}\spadcommand{q} -\end{paste}\end{patch} - -\begin{patch}{ugIntroAssignPagePatch11} -\begin{paste}{ugIntroAssignPageFull11}{ugIntroAssignPageEmpty11} -\pastebutton{ugIntroAssignPageFull11}{\hidepaste} -\tab{5}\spadcommand{[q, r]} -\indentrel{3}\begin{verbatim} - (10) [q,r] - Type: List OrderedVariableList [q,r] -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroAssignPageEmpty11} -\begin{paste}{ugIntroAssignPageEmpty11}{ugIntroAssignPagePatch11} -\pastebutton{ugIntroAssignPageEmpty11}{\showpaste} -\tab{5}\spadcommand{[q, r]} -\end{paste}\end{patch} - -\begin{patch}{ugIntroAssignPagePatch12} -\begin{paste}{ugIntroAssignPageFull12}{ugIntroAssignPageEmpty12} -\pastebutton{ugIntroAssignPageFull12}{\hidepaste} -\tab{5}\spadcommand{f\free{fff }} -\indentrel{3}\begin{verbatim} - (11) 0.6666666666 6666666667 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroAssignPageEmpty12} -\begin{paste}{ugIntroAssignPageEmpty12}{ugIntroAssignPagePatch12} -\pastebutton{ugIntroAssignPageEmpty12}{\showpaste} -\tab{5}\spadcommand{f\free{fff }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroAssignPagePatch13} -\begin{paste}{ugIntroAssignPageFull13}{ugIntroAssignPageEmpty13} -\pastebutton{ugIntroAssignPageFull13}{\hidepaste} -\tab{5}\spadcommand{'f} -\indentrel{3}\begin{verbatim} - (12) f - Type: Variable f -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroAssignPageEmpty13} -\begin{paste}{ugIntroAssignPageEmpty13}{ugIntroAssignPagePatch13} -\pastebutton{ugIntroAssignPageEmpty13}{\showpaste} -\tab{5}\spadcommand{'f} -\end{paste}\end{patch} - -\begin{patch}{ugIntroSeriesPagePatch1} -\begin{paste}{ugIntroSeriesPageFull1}{ugIntroSeriesPageEmpty1} -\pastebutton{ugIntroSeriesPageFull1}{\hidepaste} -\tab{5}\spadcommand{series(sin(a*x),x = 0)} -\indentrel{3}\begin{verbatim} - (1) - 3 5 7 9 - a 3 a 5 a 7 a 9 - a x - ÄÄ x + ÄÄÄ x - ÄÄÄÄ x + ÄÄÄÄÄÄ x - 6 120 5040 362880 - + - 11 - a 11 12 - - ÄÄÄÄÄÄÄÄ x + O(x ) - 39916800 - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroSeriesPageEmpty1} -\begin{paste}{ugIntroSeriesPageEmpty1}{ugIntroSeriesPagePatch1} -\pastebutton{ugIntroSeriesPageEmpty1}{\showpaste} -\tab{5}\spadcommand{series(sin(a*x),x = 0)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroSeriesPagePatch2} -\begin{paste}{ugIntroSeriesPageFull2}{ugIntroSeriesPageEmpty2} -\pastebutton{ugIntroSeriesPageFull2}{\hidepaste} -\tab{5}\spadcommand{series(sin(a*x),x = \%pi/4)} -\indentrel{3}\begin{verbatim} - (2) - a %pi a %pi %pi - sin(ÄÄÄÄÄ) + a cos(ÄÄÄÄÄ)(x - ÄÄÄ) - 4 4 4 - + - 2 a %pi 3 a %pi - a sin(ÄÄÄÄÄ) a cos(ÄÄÄÄÄ) - 4 %pi 2 4 %pi 3 - - ÄÄÄÄÄÄÄÄÄÄÄÄ (x - ÄÄÄ) - ÄÄÄÄÄÄÄÄÄÄÄÄ (x - ÄÄÄ) - 2 4 6 4 - + - 4 a %pi 5 a %pi - a sin(ÄÄÄÄÄ) a cos(ÄÄÄÄÄ) - 4 %pi 4 4 %pi 5 - ÄÄÄÄÄÄÄÄÄÄÄÄ (x - ÄÄÄ) + ÄÄÄÄÄÄÄÄÄÄÄÄ (x - ÄÄÄ) - 24 4 120 4 - + - 6 a %pi 7 a %pi - a sin(ÄÄÄÄÄ) a cos(ÄÄÄÄÄ) - 4 %pi 6 4 %pi 7 - - ÄÄÄÄÄÄÄÄÄÄÄÄ (x - ÄÄÄ) - ÄÄÄÄÄÄÄÄÄÄÄÄ (x - ÄÄÄ) - 720 4 5040 4 - + - 8 a %pi 9 a %pi - a sin(ÄÄÄÄÄ) a cos(ÄÄÄÄÄ) - 4 %pi 8 4 %pi 9 - ÄÄÄÄÄÄÄÄÄÄÄÄ (x - ÄÄÄ) + ÄÄÄÄÄÄÄÄÄÄÄÄ (x - ÄÄÄ) - 40320 4 362880 4 - + - 10 a %pi - a sin(ÄÄÄÄÄ) - 4 %pi 10 %pi 11 - - ÄÄÄÄÄÄÄÄÄÄÄÄÄ (x - ÄÄÄ) + O((x - ÄÄÄ) ) - 3628800 4 4 -Type: UnivariatePuiseuxSeries(Expression Integer,x,pi/4) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroSeriesPageEmpty2} -\begin{paste}{ugIntroSeriesPageEmpty2}{ugIntroSeriesPagePatch2} -\pastebutton{ugIntroSeriesPageEmpty2}{\showpaste} -\tab{5}\spadcommand{series(sin(a*x),x = \%pi/4)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroSeriesPagePatch3} -\begin{paste}{ugIntroSeriesPageFull3}{ugIntroSeriesPageEmpty3} -\pastebutton{ugIntroSeriesPageFull3}{\hidepaste} -\tab{5}\spadcommand{series(n +-> (-1)**((3*n - 4)/6)/factorial(n - 1/3),x = 0,4/3..,2)} -\indentrel{3}\begin{verbatim} - 4 10 - Ä ÄÄ - 3 1 3 5 - (3) x - Ä x + O(x ) - 6 - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroSeriesPageEmpty3} -\begin{paste}{ugIntroSeriesPageEmpty3}{ugIntroSeriesPagePatch3} -\pastebutton{ugIntroSeriesPageEmpty3}{\showpaste} -\tab{5}\spadcommand{series(n +-> (-1)**((3*n - 4)/6)/factorial(n - 1/3),x = 0,4/3..,2)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroSeriesPagePatch4} -\begin{paste}{ugIntroSeriesPageFull4}{ugIntroSeriesPageEmpty4} -\pastebutton{ugIntroSeriesPageFull4}{\hidepaste} -\tab{5}\spadcommand{f := series(1/(1-x),x = 0)\bound{f }} -\indentrel{3}\begin{verbatim} - (4) - 2 3 4 5 6 7 8 9 10 - 1 + x + x + x + x + x + x + x + x + x + x - + - 11 - O(x ) - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroSeriesPageEmpty4} -\begin{paste}{ugIntroSeriesPageEmpty4}{ugIntroSeriesPagePatch4} -\pastebutton{ugIntroSeriesPageEmpty4}{\showpaste} -\tab{5}\spadcommand{f := series(1/(1-x),x = 0)\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroSeriesPagePatch5} -\begin{paste}{ugIntroSeriesPageFull5}{ugIntroSeriesPageEmpty5} -\pastebutton{ugIntroSeriesPageFull5}{\hidepaste} -\tab{5}\spadcommand{f ** 2\free{f }} -\indentrel{3}\begin{verbatim} - (5) - 2 3 4 5 6 7 8 - 1 + 2x + 3x + 4x + 5x + 6x + 7x + 8x + 9x - + - 9 10 11 - 10x + 11x + O(x ) - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroSeriesPageEmpty5} -\begin{paste}{ugIntroSeriesPageEmpty5}{ugIntroSeriesPagePatch5} -\pastebutton{ugIntroSeriesPageEmpty5}{\showpaste} -\tab{5}\spadcommand{f ** 2\free{f }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroSeriesPagePatch6} -\begin{paste}{ugIntroSeriesPageFull6}{ugIntroSeriesPageEmpty6} -\pastebutton{ugIntroSeriesPageFull6}{\hidepaste} -\tab{5}\spadcommand{f := series(1/(1-x),x = 0)\bound{f1 }} -\indentrel{3}\begin{verbatim} - (6) - 2 3 4 5 6 7 8 9 10 - 1 + x + x + x + x + x + x + x + x + x + x - + - 11 - O(x ) - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroSeriesPageEmpty6} -\begin{paste}{ugIntroSeriesPageEmpty6}{ugIntroSeriesPagePatch6} -\pastebutton{ugIntroSeriesPageEmpty6}{\showpaste} -\tab{5}\spadcommand{f := series(1/(1-x),x = 0)\bound{f1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroSeriesPagePatch7} -\begin{paste}{ugIntroSeriesPageFull7}{ugIntroSeriesPageEmpty7} -\pastebutton{ugIntroSeriesPageFull7}{\hidepaste} -\tab{5}\spadcommand{g := log(f)\free{f1 }\bound{g }} -\indentrel{3}\begin{verbatim} - (7) - 1 2 1 3 1 4 1 5 1 6 1 7 1 8 - x + Ä x + Ä x + Ä x + Ä x + Ä x + Ä x + Ä x - 2 3 4 5 6 7 8 - + - 1 9 1 10 1 11 12 - Ä x + ÄÄ x + ÄÄ x + O(x ) - 9 10 11 - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroSeriesPageEmpty7} -\begin{paste}{ugIntroSeriesPageEmpty7}{ugIntroSeriesPagePatch7} -\pastebutton{ugIntroSeriesPageEmpty7}{\showpaste} -\tab{5}\spadcommand{g := log(f)\free{f1 }\bound{g }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroSeriesPagePatch8} -\begin{paste}{ugIntroSeriesPageFull8}{ugIntroSeriesPageEmpty8} -\pastebutton{ugIntroSeriesPageFull8}{\hidepaste} -\tab{5}\spadcommand{exp(g)\free{g }} -\indentrel{3}\begin{verbatim} - (8) - 2 3 4 5 6 7 8 9 10 - 1 + x + x + x + x + x + x + x + x + x + x - + - 11 - O(x ) - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroSeriesPageEmpty8} -\begin{paste}{ugIntroSeriesPageEmpty8}{ugIntroSeriesPagePatch8} -\pastebutton{ugIntroSeriesPageEmpty8}{\showpaste} -\tab{5}\spadcommand{exp(g)\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroSeriesPagePatch9} -\begin{paste}{ugIntroSeriesPageFull9}{ugIntroSeriesPageEmpty9} -\pastebutton{ugIntroSeriesPageFull9}{\hidepaste} -\tab{5}\spadcommand{f := taylor(exp(x))\bound{f2 }} -\indentrel{3}\begin{verbatim} - (9) - 1 2 1 3 1 4 1 5 1 6 - 1 + x + Ä x + Ä x + ÄÄ x + ÄÄÄ x + ÄÄÄ x - 2 6 24 120 720 - + - 1 7 1 8 1 9 1 10 11 - ÄÄÄÄ x + ÄÄÄÄÄ x + ÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄ x + O(x ) - 5040 40320 362880 3628800 - Type: UnivariateTaylorSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroSeriesPageEmpty9} -\begin{paste}{ugIntroSeriesPageEmpty9}{ugIntroSeriesPagePatch9} -\pastebutton{ugIntroSeriesPageEmpty9}{\showpaste} -\tab{5}\spadcommand{f := taylor(exp(x))\bound{f2 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroSeriesPagePatch10} -\begin{paste}{ugIntroSeriesPageFull10}{ugIntroSeriesPageEmpty10} -\pastebutton{ugIntroSeriesPageFull10}{\hidepaste} -\tab{5}\spadcommand{eval(f,1.0)\free{f2 }} -\indentrel{3}\begin{verbatim} - (10) - [1.0, 2.0, 2.5, 2.6666666666 666666667, - 2.7083333333 333333333, 2.7166666666 666666667, - 2.7180555555 555555556, 2.7182539682 53968254, - 2.7182787698 412698413, 2.7182815255 731922399, ...] - Type: Stream Expression Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroSeriesPageEmpty10} -\begin{paste}{ugIntroSeriesPageEmpty10}{ugIntroSeriesPagePatch10} -\pastebutton{ugIntroSeriesPageEmpty10}{\showpaste} -\tab{5}\spadcommand{eval(f,1.0)\free{f2 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCallFunPagePatch1} -\begin{paste}{ugIntroCallFunPageFull1}{ugIntroCallFunPageEmpty1} -\pastebutton{ugIntroCallFunPageFull1}{\hidepaste} -\tab{5}\spadcommand{factor(120)} -\indentrel{3}\begin{verbatim} - 3 - (1) 2 3 5 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCallFunPageEmpty1} -\begin{paste}{ugIntroCallFunPageEmpty1}{ugIntroCallFunPagePatch1} -\pastebutton{ugIntroCallFunPageEmpty1}{\showpaste} -\tab{5}\spadcommand{factor(120)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCallFunPagePatch2} -\begin{paste}{ugIntroCallFunPageFull2}{ugIntroCallFunPageEmpty2} -\pastebutton{ugIntroCallFunPageFull2}{\hidepaste} -\tab{5}\spadcommand{divide(125,7)} -\indentrel{3}\begin{verbatim} - (2) [quotient= 17,remainder= 6] - Type: Record(quotient: Integer,remainder: Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCallFunPageEmpty2} -\begin{paste}{ugIntroCallFunPageEmpty2}{ugIntroCallFunPagePatch2} -\pastebutton{ugIntroCallFunPageEmpty2}{\showpaste} -\tab{5}\spadcommand{divide(125,7)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCallFunPagePatch3} -\begin{paste}{ugIntroCallFunPageFull3}{ugIntroCallFunPageEmpty3} -\pastebutton{ugIntroCallFunPageFull3}{\hidepaste} -\tab{5}\spadcommand{quatern(3.4,5.6,2.9,0.1)} -\indentrel{3}\begin{verbatim} - (3) 3.4 + 5.6 i + 2.9 j + 0.1 k - Type: Quaternion Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCallFunPageEmpty3} -\begin{paste}{ugIntroCallFunPageEmpty3}{ugIntroCallFunPagePatch3} -\pastebutton{ugIntroCallFunPageEmpty3}{\showpaste} -\tab{5}\spadcommand{quatern(3.4,5.6,2.9,0.1)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCallFunPagePatch4} -\begin{paste}{ugIntroCallFunPageFull4}{ugIntroCallFunPageEmpty4} -\pastebutton{ugIntroCallFunPageFull4}{\hidepaste} -\tab{5}\spadcommand{factorial 10} -\indentrel{3}\begin{verbatim} - (4) 3628800 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCallFunPageEmpty4} -\begin{paste}{ugIntroCallFunPageEmpty4}{ugIntroCallFunPagePatch4} -\pastebutton{ugIntroCallFunPageEmpty4}{\showpaste} -\tab{5}\spadcommand{factorial 10} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch1} -\begin{paste}{ugIntroCollectPageFull1}{ugIntroCollectPageEmpty1} -\pastebutton{ugIntroCollectPageFull1}{\hidepaste} -\tab{5}\spadcommand{u := [1,-7,11]\bound{u }} -\indentrel{3}\begin{verbatim} - (1) [1,- 7,11] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty1} -\begin{paste}{ugIntroCollectPageEmpty1}{ugIntroCollectPagePatch1} -\pastebutton{ugIntroCollectPageEmpty1}{\showpaste} -\tab{5}\spadcommand{u := [1,-7,11]\bound{u }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch2} -\begin{paste}{ugIntroCollectPageFull2}{ugIntroCollectPageEmpty2} -\pastebutton{ugIntroCollectPageFull2}{\hidepaste} -\tab{5}\spadcommand{first rest rest u\free{u }} -\indentrel{3}\begin{verbatim} - (2) 11 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty2} -\begin{paste}{ugIntroCollectPageEmpty2}{ugIntroCollectPagePatch2} -\pastebutton{ugIntroCollectPageEmpty2}{\showpaste} -\tab{5}\spadcommand{first rest rest u\free{u }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch3} -\begin{paste}{ugIntroCollectPageFull3}{ugIntroCollectPageEmpty3} -\pastebutton{ugIntroCollectPageFull3}{\hidepaste} -\tab{5}\spadcommand{concat!(u,[9,1,3,-4]); u\free{u }\bound{u1 }} -\indentrel{3}\begin{verbatim} - (3) [1,- 7,11,9,1,3,- 4] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty3} -\begin{paste}{ugIntroCollectPageEmpty3}{ugIntroCollectPagePatch3} -\pastebutton{ugIntroCollectPageEmpty3}{\showpaste} -\tab{5}\spadcommand{concat!(u,[9,1,3,-4]); u\free{u }\bound{u1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch4} -\begin{paste}{ugIntroCollectPageFull4}{ugIntroCollectPageEmpty4} -\pastebutton{ugIntroCollectPageFull4}{\hidepaste} -\tab{5}\spadcommand{lastnode := rest(u,3)\free{u1 }\bound{u2 }} -\indentrel{3}\begin{verbatim} - (4) [9,1,3,- 4] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty4} -\begin{paste}{ugIntroCollectPageEmpty4}{ugIntroCollectPagePatch4} -\pastebutton{ugIntroCollectPageEmpty4}{\showpaste} -\tab{5}\spadcommand{lastnode := rest(u,3)\free{u1 }\bound{u2 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch5} -\begin{paste}{ugIntroCollectPageFull5}{ugIntroCollectPageEmpty5} -\pastebutton{ugIntroCollectPageFull5}{\hidepaste} -\tab{5}\spadcommand{setrest!(lastnode,rest(u,2)); u\free{u2 }} -\indentrel{3}\begin{verbatim} - ____ - (5) [1,- 7,11,9] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty5} -\begin{paste}{ugIntroCollectPageEmpty5}{ugIntroCollectPagePatch5} -\pastebutton{ugIntroCollectPageEmpty5}{\showpaste} -\tab{5}\spadcommand{setrest!(lastnode,rest(u,2)); u\free{u2 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch6} -\begin{paste}{ugIntroCollectPageFull6}{ugIntroCollectPageEmpty6} -\pastebutton{ugIntroCollectPageFull6}{\hidepaste} -\tab{5}\spadcommand{[factor(i) for i in 2.. by 2]\bound{stream1 }} -\indentrel{3}\begin{verbatim} - 2 3 2 4 2 2 - (6) [2,2 ,2 3,2 ,2 5,2 3,2 7,2 ,2 3 ,2 5,...] - Type: Stream Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty6} -\begin{paste}{ugIntroCollectPageEmpty6}{ugIntroCollectPagePatch6} -\pastebutton{ugIntroCollectPageEmpty6}{\showpaste} -\tab{5}\spadcommand{[factor(i) for i in 2.. by 2]\bound{stream1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch7} -\begin{paste}{ugIntroCollectPageFull7}{ugIntroCollectPageEmpty7} -\pastebutton{ugIntroCollectPageFull7}{\hidepaste} -\tab{5}\spadcommand{\%.36\free{stream1 }} -\indentrel{3}\begin{verbatim} - 3 2 - (7) 2 3 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty7} -\begin{paste}{ugIntroCollectPageEmpty7}{ugIntroCollectPagePatch7} -\pastebutton{ugIntroCollectPageEmpty7}{\showpaste} -\tab{5}\spadcommand{\%.36\free{stream1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch8} -\begin{paste}{ugIntroCollectPageFull8}{ugIntroCollectPageEmpty8} -\pastebutton{ugIntroCollectPageFull8}{\hidepaste} -\tab{5}\spadcommand{a := oneDimensionalArray [1, -7, 3, 3/2]\bound{a }} -\indentrel{3}\begin{verbatim} - 3 - (8) [1,- 7,3,Ä] - 2 - Type: OneDimensionalArray Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty8} -\begin{paste}{ugIntroCollectPageEmpty8}{ugIntroCollectPagePatch8} -\pastebutton{ugIntroCollectPageEmpty8}{\showpaste} -\tab{5}\spadcommand{a := oneDimensionalArray [1, -7, 3, 3/2]\bound{a }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch9} -\begin{paste}{ugIntroCollectPageFull9}{ugIntroCollectPageEmpty9} -\pastebutton{ugIntroCollectPageFull9}{\hidepaste} -\tab{5}\spadcommand{a.3 := 11; a\bound{a1 }\free{a }} -\indentrel{3}\begin{verbatim} - 3 - (9) [1,- 7,11,Ä] - 2 - Type: OneDimensionalArray Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty9} -\begin{paste}{ugIntroCollectPageEmpty9}{ugIntroCollectPagePatch9} -\pastebutton{ugIntroCollectPageEmpty9}{\showpaste} -\tab{5}\spadcommand{a.3 := 11; a\bound{a1 }\free{a }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch10} -\begin{paste}{ugIntroCollectPageFull10}{ugIntroCollectPageEmpty10} -\pastebutton{ugIntroCollectPageFull10}{\hidepaste} -\tab{5}\spadcommand{concat!(a,oneDimensionalArray [1,-2])\free{a1 }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty10} -\begin{paste}{ugIntroCollectPageEmpty10}{ugIntroCollectPagePatch10} -\pastebutton{ugIntroCollectPageEmpty10}{\showpaste} -\tab{5}\spadcommand{concat!(a,oneDimensionalArray [1,-2])\free{a1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch11} -\begin{paste}{ugIntroCollectPageFull11}{ugIntroCollectPageEmpty11} -\pastebutton{ugIntroCollectPageFull11}{\hidepaste} -\tab{5}\spadcommand{bits(32,true)} -\indentrel{3}\begin{verbatim} - (10) "11111111111111111111111111111111" - Type: Bits -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty11} -\begin{paste}{ugIntroCollectPageEmpty11}{ugIntroCollectPagePatch11} -\pastebutton{ugIntroCollectPageEmpty11}{\showpaste} -\tab{5}\spadcommand{bits(32,true)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch12} -\begin{paste}{ugIntroCollectPageFull12}{ugIntroCollectPageEmpty12} -\pastebutton{ugIntroCollectPageFull12}{\hidepaste} -\tab{5}\spadcommand{f := flexibleArray [2, 7, -5]\bound{f }} -\indentrel{3}\begin{verbatim} - (11) [2,7,- 5] - Type: FlexibleArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty12} -\begin{paste}{ugIntroCollectPageEmpty12}{ugIntroCollectPagePatch12} -\pastebutton{ugIntroCollectPageEmpty12}{\showpaste} -\tab{5}\spadcommand{f := flexibleArray [2, 7, -5]\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch13} -\begin{paste}{ugIntroCollectPageFull13}{ugIntroCollectPageEmpty13} -\pastebutton{ugIntroCollectPageFull13}{\hidepaste} -\tab{5}\spadcommand{insert!(flexibleArray [11, -3],f,2)\free{f }} -\indentrel{3}\begin{verbatim} - (12) [2,11,- 3,7,- 5] - Type: FlexibleArray Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty13} -\begin{paste}{ugIntroCollectPageEmpty13}{ugIntroCollectPagePatch13} -\pastebutton{ugIntroCollectPageEmpty13}{\showpaste} -\tab{5}\spadcommand{insert!(flexibleArray [11, -3],f,2)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch14} -\begin{paste}{ugIntroCollectPageFull14}{ugIntroCollectPageEmpty14} -\pastebutton{ugIntroCollectPageFull14}{\hidepaste} -\tab{5}\spadcommand{h := heap [-4,7,11,3,4,-7]\bound{h }} -\indentrel{3}\begin{verbatim} - (13) [11,4,7,- 4,3,- 7] - Type: Heap Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty14} -\begin{paste}{ugIntroCollectPageEmpty14}{ugIntroCollectPagePatch14} -\pastebutton{ugIntroCollectPageEmpty14}{\showpaste} -\tab{5}\spadcommand{h := heap [-4,7,11,3,4,-7]\bound{h }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch15} -\begin{paste}{ugIntroCollectPageFull15}{ugIntroCollectPageEmpty15} -\pastebutton{ugIntroCollectPageFull15}{\hidepaste} -\tab{5}\spadcommand{[extract!(h) while not empty?(h)]\free{h }} -\indentrel{3}\begin{verbatim} - (14) [11,7,4,3,- 4,- 7] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty15} -\begin{paste}{ugIntroCollectPageEmpty15}{ugIntroCollectPagePatch15} -\pastebutton{ugIntroCollectPageEmpty15}{\showpaste} -\tab{5}\spadcommand{[extract!(h) while not empty?(h)]\free{h }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch16} -\begin{paste}{ugIntroCollectPageFull16}{ugIntroCollectPageEmpty16} -\pastebutton{ugIntroCollectPageFull16}{\hidepaste} -\tab{5}\spadcommand{binarySearchTree [5,3,2,9,4,7,11]} -\indentrel{3}\begin{verbatim} - (15) [[2,3,4],5,[7,9,11]] - Type: BinarySearchTree PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty16} -\begin{paste}{ugIntroCollectPageEmpty16}{ugIntroCollectPagePatch16} -\pastebutton{ugIntroCollectPageEmpty16}{\showpaste} -\tab{5}\spadcommand{binarySearchTree [5,3,2,9,4,7,11]} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch17} -\begin{paste}{ugIntroCollectPageFull17}{ugIntroCollectPageEmpty17} -\pastebutton{ugIntroCollectPageFull17}{\hidepaste} -\tab{5}\spadcommand{modTree(8,[2,3,5,7])} -\indentrel{3}\begin{verbatim} - (16) [0,2,3,1] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty17} -\begin{paste}{ugIntroCollectPageEmpty17}{ugIntroCollectPagePatch17} -\pastebutton{ugIntroCollectPageEmpty17}{\showpaste} -\tab{5}\spadcommand{modTree(8,[2,3,5,7])} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch18} -\begin{paste}{ugIntroCollectPageFull18}{ugIntroCollectPageEmpty18} -\pastebutton{ugIntroCollectPageFull18}{\hidepaste} -\tab{5}\spadcommand{fs := set[1/3,4/5,-1/3,4/5]\bound{fs }} -\indentrel{3}\begin{verbatim} - 1 1 4 - (17) {- Ä,Ä,Ä} - 3 3 5 - Type: Set Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty18} -\begin{paste}{ugIntroCollectPageEmpty18}{ugIntroCollectPagePatch18} -\pastebutton{ugIntroCollectPageEmpty18}{\showpaste} -\tab{5}\spadcommand{fs := set[1/3,4/5,-1/3,4/5]\bound{fs }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch19} -\begin{paste}{ugIntroCollectPageFull19}{ugIntroCollectPageEmpty19} -\pastebutton{ugIntroCollectPageFull19}{\hidepaste} -\tab{5}\spadcommand{multiset [x rem 5 for x in primes(2,1000)]} -\indentrel{3}\begin{verbatim} - (18) {0,42: 3,40: 1,38: 4,47: 2} - Type: Multiset Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty19} -\begin{paste}{ugIntroCollectPageEmpty19}{ugIntroCollectPagePatch19} -\pastebutton{ugIntroCollectPageEmpty19}{\showpaste} -\tab{5}\spadcommand{multiset [x rem 5 for x in primes(2,1000)]} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch20} -\begin{paste}{ugIntroCollectPageFull20}{ugIntroCollectPageEmpty20} -\pastebutton{ugIntroCollectPageFull20}{\hidepaste} -\tab{5}\spadcommand{t : Table(Integer,Integer) := empty()\bound{t }} -\indentrel{3}\begin{verbatim} - (19) table() - Type: Table(Integer,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty20} -\begin{paste}{ugIntroCollectPageEmpty20}{ugIntroCollectPagePatch20} -\pastebutton{ugIntroCollectPageEmpty20}{\showpaste} -\tab{5}\spadcommand{t : Table(Integer,Integer) := empty()\bound{t }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch21} -\begin{paste}{ugIntroCollectPageFull21}{ugIntroCollectPageEmpty21} -\pastebutton{ugIntroCollectPageFull21}{\hidepaste} -\tab{5}\spadcommand{howMany(k) == (n:=search(k,t); n case "failed" => 1; n+1)\bound{how }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty21} -\begin{paste}{ugIntroCollectPageEmpty21}{ugIntroCollectPagePatch21} -\pastebutton{ugIntroCollectPageEmpty21}{\showpaste} -\tab{5}\spadcommand{howMany(k) == (n:=search(k,t); n case "failed" => 1; n+1)\bound{how }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch22} -\begin{paste}{ugIntroCollectPageFull22}{ugIntroCollectPageEmpty22} -\pastebutton{ugIntroCollectPageFull22}{\hidepaste} -\tab{5}\spadcommand{for p in primes(2,1000) repeat (m:= p rem 5; t.m:= howMany(m)); t\free{how t }} -\indentrel{3}\begin{verbatim} - (21) table(2= 47,4= 38,1= 40,3= 42,0= 1) - Type: Table(Integer,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty22} -\begin{paste}{ugIntroCollectPageEmpty22}{ugIntroCollectPagePatch22} -\pastebutton{ugIntroCollectPageEmpty22}{\showpaste} -\tab{5}\spadcommand{for p in primes(2,1000) repeat (m:= p rem 5; t.m:= howMany(m)); t\free{how t }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch23} -\begin{paste}{ugIntroCollectPageFull23}{ugIntroCollectPageEmpty23} -\pastebutton{ugIntroCollectPageFull23}{\hidepaste} -\tab{5}\spadcommand{daniel : Record(age : Integer, salary : Float)\bound{danieldec }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty23} -\begin{paste}{ugIntroCollectPageEmpty23}{ugIntroCollectPagePatch23} -\pastebutton{ugIntroCollectPageEmpty23}{\showpaste} -\tab{5}\spadcommand{daniel : Record(age : Integer, salary : Float)\bound{danieldec }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch24} -\begin{paste}{ugIntroCollectPageFull24}{ugIntroCollectPageEmpty24} -\pastebutton{ugIntroCollectPageFull24}{\hidepaste} -\tab{5}\spadcommand{daniel := [28, 32005.12]\free{danieldec }\bound{daniel }} -\indentrel{3}\begin{verbatim} - (23) [age= 28,salary= 32005.12] - Type: Record(age: Integer,salary: Float) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty24} -\begin{paste}{ugIntroCollectPageEmpty24}{ugIntroCollectPagePatch24} -\pastebutton{ugIntroCollectPageEmpty24}{\showpaste} -\tab{5}\spadcommand{daniel := [28, 32005.12]\free{danieldec }\bound{daniel }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch25} -\begin{paste}{ugIntroCollectPageFull25}{ugIntroCollectPageEmpty25} -\pastebutton{ugIntroCollectPageFull25}{\hidepaste} -\tab{5}\spadcommand{daniel.salary := 35000; daniel\free{daniel }} -\indentrel{3}\begin{verbatim} - (24) [age= 28,salary= 35000.0] - Type: Record(age: Integer,salary: Float) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty25} -\begin{paste}{ugIntroCollectPageEmpty25}{ugIntroCollectPagePatch25} -\pastebutton{ugIntroCollectPageEmpty25}{\showpaste} -\tab{5}\spadcommand{daniel.salary := 35000; daniel\free{daniel }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch26} -\begin{paste}{ugIntroCollectPageFull26}{ugIntroCollectPageEmpty26} -\pastebutton{ugIntroCollectPageFull26}{\hidepaste} -\tab{5}\spadcommand{dog: Union(licenseNumber: Integer, name: String)\bound{xint }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty26} -\begin{paste}{ugIntroCollectPageEmpty26}{ugIntroCollectPagePatch26} -\pastebutton{ugIntroCollectPageEmpty26}{\showpaste} -\tab{5}\spadcommand{dog: Union(licenseNumber: Integer, name: String)\bound{xint }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPagePatch27} -\begin{paste}{ugIntroCollectPageFull27}{ugIntroCollectPageEmpty27} -\pastebutton{ugIntroCollectPageFull27}{\hidepaste} -\tab{5}\spadcommand{dog := "Whisper"\free{xint }} -\indentrel{3}\begin{verbatim} - (26) "Whisper" - Type: Union(name: String,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCollectPageEmpty27} -\begin{paste}{ugIntroCollectPageEmpty27}{ugIntroCollectPagePatch27} -\pastebutton{ugIntroCollectPageEmpty27}{\showpaste} -\tab{5}\spadcommand{dog := "Whisper"\free{xint }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch1} -\begin{paste}{ugIntroNumbersPageFull1}{ugIntroNumbersPageEmpty1} -\pastebutton{ugIntroNumbersPageFull1}{\hidepaste} -\tab{5}\spadcommand{11**13 * 13**11 * 17**7 - 19**5 * 23**3} -\indentrel{3}\begin{verbatim} - (1) 25387751112538918594666224484237298 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty1} -\begin{paste}{ugIntroNumbersPageEmpty1}{ugIntroNumbersPagePatch1} -\pastebutton{ugIntroNumbersPageEmpty1}{\showpaste} -\tab{5}\spadcommand{11**13 * 13**11 * 17**7 - 19**5 * 23**3} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch2} -\begin{paste}{ugIntroNumbersPageFull2}{ugIntroNumbersPageEmpty2} -\pastebutton{ugIntroNumbersPageFull2}{\hidepaste} -\tab{5}\spadcommand{factor 643238070748569023720594412551704344145570763243\bound{ex1 }} -\indentrel{3}\begin{verbatim} - 13 11 7 5 3 2 - (2) 11 13 17 19 23 29 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty2} -\begin{paste}{ugIntroNumbersPageEmpty2}{ugIntroNumbersPagePatch2} -\pastebutton{ugIntroNumbersPageEmpty2}{\showpaste} -\tab{5}\spadcommand{factor 643238070748569023720594412551704344145570763243\bound{ex1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch3} -\begin{paste}{ugIntroNumbersPageFull3}{ugIntroNumbersPageEmpty3} -\pastebutton{ugIntroNumbersPageFull3}{\hidepaste} -\tab{5}\spadcommand{\% * 12\free{ex1 }} -\indentrel{3}\begin{verbatim} - 2 13 11 7 5 3 2 - (3) 2 3 11 13 17 19 23 29 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty3} -\begin{paste}{ugIntroNumbersPageEmpty3}{ugIntroNumbersPagePatch3} -\pastebutton{ugIntroNumbersPageEmpty3}{\showpaste} -\tab{5}\spadcommand{\% * 12\free{ex1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch4} -\begin{paste}{ugIntroNumbersPageFull4}{ugIntroNumbersPageEmpty4} -\pastebutton{ugIntroNumbersPageFull4}{\hidepaste} -\tab{5}\spadcommand{radix(25937424601,11)} -\indentrel{3}\begin{verbatim} - (4) 10000000000 - Type: RadixExpansion 11 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty4} -\begin{paste}{ugIntroNumbersPageEmpty4}{ugIntroNumbersPagePatch4} -\pastebutton{ugIntroNumbersPageEmpty4}{\showpaste} -\tab{5}\spadcommand{radix(25937424601,11)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch5} -\begin{paste}{ugIntroNumbersPageFull5}{ugIntroNumbersPageEmpty5} -\pastebutton{ugIntroNumbersPageFull5}{\hidepaste} -\tab{5}\spadcommand{roman(1992)} -\indentrel{3}\begin{verbatim} - (5) MCMXCII - Type: RomanNumeral -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty5} -\begin{paste}{ugIntroNumbersPageEmpty5}{ugIntroNumbersPagePatch5} -\pastebutton{ugIntroNumbersPageEmpty5}{\showpaste} -\tab{5}\spadcommand{roman(1992)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch6} -\begin{paste}{ugIntroNumbersPageFull6}{ugIntroNumbersPageEmpty6} -\pastebutton{ugIntroNumbersPageFull6}{\hidepaste} -\tab{5}\spadcommand{r := 10 + 9/2 + 8/3 + 7/4 + 6/5 + 5/6 + 4/7 + 3/8 + 2/9\bound{r }} -\indentrel{3}\begin{verbatim} - 55739 - (6) ÄÄÄÄÄ - 2520 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty6} -\begin{paste}{ugIntroNumbersPageEmpty6}{ugIntroNumbersPagePatch6} -\pastebutton{ugIntroNumbersPageEmpty6}{\showpaste} -\tab{5}\spadcommand{r := 10 + 9/2 + 8/3 + 7/4 + 6/5 + 5/6 + 4/7 + 3/8 + 2/9\bound{r }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch7} -\begin{paste}{ugIntroNumbersPageFull7}{ugIntroNumbersPageEmpty7} -\pastebutton{ugIntroNumbersPageFull7}{\hidepaste} -\tab{5}\spadcommand{map(factor,r)\free{r }} -\indentrel{3}\begin{verbatim} - 139 401 - (7) ÄÄÄÄÄÄÄ - 3 2 - 2 3 5 7 - Type: Fraction Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty7} -\begin{paste}{ugIntroNumbersPageEmpty7}{ugIntroNumbersPagePatch7} -\pastebutton{ugIntroNumbersPageEmpty7}{\showpaste} -\tab{5}\spadcommand{map(factor,r)\free{r }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch8} -\begin{paste}{ugIntroNumbersPageFull8}{ugIntroNumbersPageEmpty8} -\pastebutton{ugIntroNumbersPageFull8}{\hidepaste} -\tab{5}\spadcommand{11@SingleInteger} -\indentrel{3}\begin{verbatim} - (8) 11 - Type: SingleInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty8} -\begin{paste}{ugIntroNumbersPageEmpty8}{ugIntroNumbersPagePatch8} -\pastebutton{ugIntroNumbersPageEmpty8}{\showpaste} -\tab{5}\spadcommand{11@SingleInteger} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch9} -\begin{paste}{ugIntroNumbersPageFull9}{ugIntroNumbersPageEmpty9} -\pastebutton{ugIntroNumbersPageFull9}{\hidepaste} -\tab{5}\spadcommand{123.21@DoubleFloat} -\indentrel{3}\begin{verbatim} - (9) 123.21000000000001 - Type: DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty9} -\begin{paste}{ugIntroNumbersPageEmpty9}{ugIntroNumbersPagePatch9} -\pastebutton{ugIntroNumbersPageEmpty9}{\showpaste} -\tab{5}\spadcommand{123.21@DoubleFloat} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch10} -\begin{paste}{ugIntroNumbersPageFull10}{ugIntroNumbersPageEmpty10} -\pastebutton{ugIntroNumbersPageFull10}{\hidepaste} -\tab{5}\spadcommand{r :: Float\free{r }} -\indentrel{3}\begin{verbatim} - (10) 22.1186507936 50793651 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty10} -\begin{paste}{ugIntroNumbersPageEmpty10}{ugIntroNumbersPagePatch10} -\pastebutton{ugIntroNumbersPageEmpty10}{\showpaste} -\tab{5}\spadcommand{r :: Float\free{r }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch11} -\begin{paste}{ugIntroNumbersPageFull11}{ugIntroNumbersPageEmpty11} -\pastebutton{ugIntroNumbersPageFull11}{\hidepaste} -\tab{5}\spadcommand{digits(22)\bound{fewerdigits }} -\indentrel{3}\begin{verbatim} - (11) 20 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty11} -\begin{paste}{ugIntroNumbersPageEmpty11}{ugIntroNumbersPagePatch11} -\pastebutton{ugIntroNumbersPageEmpty11}{\showpaste} -\tab{5}\spadcommand{digits(22)\bound{fewerdigits }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch12} -\begin{paste}{ugIntroNumbersPageFull12}{ugIntroNumbersPageEmpty12} -\pastebutton{ugIntroNumbersPageFull12}{\hidepaste} -\tab{5}\spadcommand{exp(\%pi * sqrt 163.0)\free{fewerdigits }} -\indentrel{3}\begin{verbatim} - (12) 26253741 2640768744.0 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty12} -\begin{paste}{ugIntroNumbersPageEmpty12}{ugIntroNumbersPagePatch12} -\pastebutton{ugIntroNumbersPageEmpty12}{\showpaste} -\tab{5}\spadcommand{exp(\%pi * sqrt 163.0)\free{fewerdigits }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch13} -\begin{paste}{ugIntroNumbersPageFull13}{ugIntroNumbersPageEmpty13} -\pastebutton{ugIntroNumbersPageFull13}{\hidepaste} -\tab{5}\spadcommand{digits(40); exp(\%pi * sqrt 163.0)\free{moredigits }} -\indentrel{3}\begin{verbatim} - (13) 26253741 2640768743.9999999999 9925007259 76 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty13} -\begin{paste}{ugIntroNumbersPageEmpty13}{ugIntroNumbersPagePatch13} -\pastebutton{ugIntroNumbersPageEmpty13}{\showpaste} -\tab{5}\spadcommand{digits(40); exp(\%pi * sqrt 163.0)\free{moredigits }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch14} -\begin{paste}{ugIntroNumbersPageFull14}{ugIntroNumbersPageEmpty14} -\pastebutton{ugIntroNumbersPageFull14}{\hidepaste} -\tab{5}\spadcommand{(2/3 + \%i)**3\bound{gaussint }} -\indentrel{3}\begin{verbatim} - 46 1 - (14) - ÄÄ + Ä %i - 27 3 - Type: Complex Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty14} -\begin{paste}{ugIntroNumbersPageEmpty14}{ugIntroNumbersPagePatch14} -\pastebutton{ugIntroNumbersPageEmpty14}{\showpaste} -\tab{5}\spadcommand{(2/3 + \%i)**3\bound{gaussint }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch15} -\begin{paste}{ugIntroNumbersPageFull15}{ugIntroNumbersPageEmpty15} -\pastebutton{ugIntroNumbersPageFull15}{\hidepaste} -\tab{5}\spadcommand{conjugate \%\free{gaussint }} -\indentrel{3}\begin{verbatim} - 46 1 - (15) - ÄÄ - Ä %i - 27 3 - Type: Complex Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty15} -\begin{paste}{ugIntroNumbersPageEmpty15}{ugIntroNumbersPagePatch15} -\pastebutton{ugIntroNumbersPageEmpty15}{\showpaste} -\tab{5}\spadcommand{conjugate \%\free{gaussint }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch16} -\begin{paste}{ugIntroNumbersPageFull16}{ugIntroNumbersPageEmpty16} -\pastebutton{ugIntroNumbersPageFull16}{\hidepaste} -\tab{5}\spadcommand{factor(89 - 23 * \%i)} -\indentrel{3}\begin{verbatim} - 2 2 - (16) - (1 + %i)(2 + %i) (3 + 2%i) - Type: Factored Complex Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty16} -\begin{paste}{ugIntroNumbersPageEmpty16}{ugIntroNumbersPagePatch16} -\pastebutton{ugIntroNumbersPageEmpty16}{\showpaste} -\tab{5}\spadcommand{factor(89 - 23 * \%i)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch17} -\begin{paste}{ugIntroNumbersPageFull17}{ugIntroNumbersPageEmpty17} -\pastebutton{ugIntroNumbersPageFull17}{\hidepaste} -\tab{5}\spadcommand{exp(\%pi/4.0 * \%i)} -\indentrel{3}\begin{verbatim} - (17) - 0.7071067811 8654752440 0844362104 8490392849 - + - 0.7071067811 8654752440 0844362104 8490392848 %i - Type: Complex Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty17} -\begin{paste}{ugIntroNumbersPageEmpty17}{ugIntroNumbersPagePatch17} -\pastebutton{ugIntroNumbersPageEmpty17}{\showpaste} -\tab{5}\spadcommand{exp(\%pi/4.0 * \%i)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch18} -\begin{paste}{ugIntroNumbersPageFull18}{ugIntroNumbersPageEmpty18} -\pastebutton{ugIntroNumbersPageFull18}{\hidepaste} -\tab{5}\spadcommand{decimal(1/352)} -\indentrel{3}\begin{verbatim} - __ - (18) 0.0028409 - Type: DecimalExpansion -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty18} -\begin{paste}{ugIntroNumbersPageEmpty18}{ugIntroNumbersPagePatch18} -\pastebutton{ugIntroNumbersPageEmpty18}{\showpaste} -\tab{5}\spadcommand{decimal(1/352)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch19} -\begin{paste}{ugIntroNumbersPageFull19}{ugIntroNumbersPageEmpty19} -\pastebutton{ugIntroNumbersPageFull19}{\hidepaste} -\tab{5}\spadcommand{continuedFraction(6543/210)} -\indentrel{3}\begin{verbatim} - 1 ³ 1 ³ 1 ³ 1 ³ - (19) 31 + ÚÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÙ + ÚÄÄÄÙ - ³ 6 ³ 2 ³ 1 ³ 3 - Type: ContinuedFraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty19} -\begin{paste}{ugIntroNumbersPageEmpty19}{ugIntroNumbersPagePatch19} -\pastebutton{ugIntroNumbersPageEmpty19}{\showpaste} -\tab{5}\spadcommand{continuedFraction(6543/210)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch20} -\begin{paste}{ugIntroNumbersPageFull20}{ugIntroNumbersPageEmpty20} -\pastebutton{ugIntroNumbersPageFull20}{\hidepaste} -\tab{5}\spadcommand{partialFraction(1,factorial(10))\bound{partfrac }} -\indentrel{3}\begin{verbatim} - 159 23 12 1 - (20) ÄÄÄ - ÄÄ - ÄÄ + Ä - 8 4 2 7 - 2 3 5 - Type: PartialFraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty20} -\begin{paste}{ugIntroNumbersPageEmpty20}{ugIntroNumbersPagePatch20} -\pastebutton{ugIntroNumbersPageEmpty20}{\showpaste} -\tab{5}\spadcommand{partialFraction(1,factorial(10))\bound{partfrac }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch21} -\begin{paste}{ugIntroNumbersPageFull21}{ugIntroNumbersPageEmpty21} -\pastebutton{ugIntroNumbersPageFull21}{\hidepaste} -\tab{5}\spadcommand{padicFraction(\%)\free{partfrac }} -\indentrel{3}\begin{verbatim} - (21) - 1 1 1 1 1 1 2 1 2 2 2 1 - Ä + ÄÄ + ÄÄ + ÄÄ + ÄÄ + ÄÄ - ÄÄ - ÄÄ - ÄÄ - Ä - ÄÄ + Ä - 2 4 5 6 7 8 2 3 4 5 2 7 - 2 2 2 2 2 3 3 3 5 - Type: PartialFraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty21} -\begin{paste}{ugIntroNumbersPageEmpty21}{ugIntroNumbersPagePatch21} -\pastebutton{ugIntroNumbersPageEmpty21}{\showpaste} -\tab{5}\spadcommand{padicFraction(\%)\free{partfrac }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch22} -\begin{paste}{ugIntroNumbersPageFull22}{ugIntroNumbersPageEmpty22} -\pastebutton{ugIntroNumbersPageFull22}{\hidepaste} -\tab{5}\spadcommand{radix(4/7, 8)\bound{rad }} -\indentrel{3}\begin{verbatim} - _ - (22) 0.4 - Type: RadixExpansion 8 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty22} -\begin{paste}{ugIntroNumbersPageEmpty22}{ugIntroNumbersPagePatch22} -\pastebutton{ugIntroNumbersPageEmpty22}{\showpaste} -\tab{5}\spadcommand{radix(4/7, 8)\bound{rad }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch23} -\begin{paste}{ugIntroNumbersPageFull23}{ugIntroNumbersPageEmpty23} -\pastebutton{ugIntroNumbersPageFull23}{\hidepaste} -\tab{5}\spadcommand{\% + 2/3*\%i\free{rad }} -\indentrel{3}\begin{verbatim} - 4 2 - (23) Ä + Ä %i - 7 3 - Type: Complex Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty23} -\begin{paste}{ugIntroNumbersPageEmpty23}{ugIntroNumbersPagePatch23} -\pastebutton{ugIntroNumbersPageEmpty23}{\showpaste} -\tab{5}\spadcommand{\% + 2/3*\%i\free{rad }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch24} -\begin{paste}{ugIntroNumbersPageFull24}{ugIntroNumbersPageEmpty24} -\pastebutton{ugIntroNumbersPageFull24}{\hidepaste} -\tab{5}\spadcommand{(5 + sqrt 63 + sqrt 847)**(1/3)} -\indentrel{3}\begin{verbatim} - ÚÄÄÄÄÄÄÄÄÄÄ¿ - 3³ ÚÄ¿ - (24) \³14\³7 + 5 - Type: AlgebraicNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty24} -\begin{paste}{ugIntroNumbersPageEmpty24}{ugIntroNumbersPagePatch24} -\pastebutton{ugIntroNumbersPageEmpty24}{\showpaste} -\tab{5}\spadcommand{(5 + sqrt 63 + sqrt 847)**(1/3)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch25} -\begin{paste}{ugIntroNumbersPageFull25}{ugIntroNumbersPageEmpty25} -\pastebutton{ugIntroNumbersPageFull25}{\hidepaste} -\tab{5}\spadcommand{x : PrimeField 7 := 5\bound{x }} -\indentrel{3}\begin{verbatim} - (25) 5 - Type: PrimeField 7 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty25} -\begin{paste}{ugIntroNumbersPageEmpty25}{ugIntroNumbersPagePatch25} -\pastebutton{ugIntroNumbersPageEmpty25}{\showpaste} -\tab{5}\spadcommand{x : PrimeField 7 := 5\bound{x }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch26} -\begin{paste}{ugIntroNumbersPageFull26}{ugIntroNumbersPageEmpty26} -\pastebutton{ugIntroNumbersPageFull26}{\hidepaste} -\tab{5}\spadcommand{x**3\free{x }} -\indentrel{3}\begin{verbatim} - (26) 6 - Type: PrimeField 7 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty26} -\begin{paste}{ugIntroNumbersPageEmpty26}{ugIntroNumbersPagePatch26} -\pastebutton{ugIntroNumbersPageEmpty26}{\showpaste} -\tab{5}\spadcommand{x**3\free{x }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch27} -\begin{paste}{ugIntroNumbersPageFull27}{ugIntroNumbersPageEmpty27} -\pastebutton{ugIntroNumbersPageFull27}{\hidepaste} -\tab{5}\spadcommand{1/x\free{x }} -\indentrel{3}\begin{verbatim} - (27) 3 - Type: PrimeField 7 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty27} -\begin{paste}{ugIntroNumbersPageEmpty27}{ugIntroNumbersPagePatch27} -\pastebutton{ugIntroNumbersPageEmpty27}{\showpaste} -\tab{5}\spadcommand{1/x\free{x }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch28} -\begin{paste}{ugIntroNumbersPageFull28}{ugIntroNumbersPageEmpty28} -\pastebutton{ugIntroNumbersPageFull28}{\hidepaste} -\tab{5}\spadcommand{y : IntegerMod 6 := 5\bound{y }} -\indentrel{3}\begin{verbatim} - (28) 5 - Type: IntegerMod 6 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty28} -\begin{paste}{ugIntroNumbersPageEmpty28}{ugIntroNumbersPagePatch28} -\pastebutton{ugIntroNumbersPageEmpty28}{\showpaste} -\tab{5}\spadcommand{y : IntegerMod 6 := 5\bound{y }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch29} -\begin{paste}{ugIntroNumbersPageFull29}{ugIntroNumbersPageEmpty29} -\pastebutton{ugIntroNumbersPageFull29}{\hidepaste} -\tab{5}\spadcommand{y**3\free{y }} -\indentrel{3}\begin{verbatim} - (29) 5 - Type: IntegerMod 6 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty29} -\begin{paste}{ugIntroNumbersPageEmpty29}{ugIntroNumbersPagePatch29} -\pastebutton{ugIntroNumbersPageEmpty29}{\showpaste} -\tab{5}\spadcommand{y**3\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch30} -\begin{paste}{ugIntroNumbersPageFull30}{ugIntroNumbersPageEmpty30} -\pastebutton{ugIntroNumbersPageFull30}{\hidepaste} -\tab{5}\spadcommand{1/y\free{y }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty30} -\begin{paste}{ugIntroNumbersPageEmpty30}{ugIntroNumbersPagePatch30} -\pastebutton{ugIntroNumbersPageEmpty30}{\showpaste} -\tab{5}\spadcommand{1/y\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch31} -\begin{paste}{ugIntroNumbersPageFull31}{ugIntroNumbersPageEmpty31} -\pastebutton{ugIntroNumbersPageFull31}{\hidepaste} -\tab{5}\spadcommand{a := rootOf(a**5 + a**3 + a**2 + 3,a)\bound{a }} -\indentrel{3}\begin{verbatim} - (30) a - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty31} -\begin{paste}{ugIntroNumbersPageEmpty31}{ugIntroNumbersPagePatch31} -\pastebutton{ugIntroNumbersPageEmpty31}{\showpaste} -\tab{5}\spadcommand{a := rootOf(a**5 + a**3 + a**2 + 3,a)\bound{a }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch32} -\begin{paste}{ugIntroNumbersPageFull32}{ugIntroNumbersPageEmpty32} -\pastebutton{ugIntroNumbersPageFull32}{\hidepaste} -\tab{5}\spadcommand{(a + 1)**10\free{a }} -\indentrel{3}\begin{verbatim} - 4 3 2 - (31) - 85a - 264a - 378a - 458a - 287 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty32} -\begin{paste}{ugIntroNumbersPageEmpty32}{ugIntroNumbersPagePatch32} -\pastebutton{ugIntroNumbersPageEmpty32}{\showpaste} -\tab{5}\spadcommand{(a + 1)**10\free{a }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch33} -\begin{paste}{ugIntroNumbersPageFull33}{ugIntroNumbersPageEmpty33} -\pastebutton{ugIntroNumbersPageFull33}{\hidepaste} -\tab{5}\spadcommand{b := rootOf(b**4 + a,b)\bound{b }\free{a }} -\indentrel{3}\begin{verbatim} - (32) b - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty33} -\begin{paste}{ugIntroNumbersPageEmpty33}{ugIntroNumbersPagePatch33} -\pastebutton{ugIntroNumbersPageEmpty33}{\showpaste} -\tab{5}\spadcommand{b := rootOf(b**4 + a,b)\bound{b }\free{a }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch34} -\begin{paste}{ugIntroNumbersPageFull34}{ugIntroNumbersPageEmpty34} -\pastebutton{ugIntroNumbersPageFull34}{\hidepaste} -\tab{5}\spadcommand{2/(b - 1)\free{b }\bound{check }} -\indentrel{3}\begin{verbatim} - 2 - (33) ÄÄÄÄÄ - b - 1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty34} -\begin{paste}{ugIntroNumbersPageEmpty34}{ugIntroNumbersPagePatch34} -\pastebutton{ugIntroNumbersPageEmpty34}{\showpaste} -\tab{5}\spadcommand{2/(b - 1)\free{b }\bound{check }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch35} -\begin{paste}{ugIntroNumbersPageFull35}{ugIntroNumbersPageEmpty35} -\pastebutton{ugIntroNumbersPageFull35}{\hidepaste} -\tab{5}\spadcommand{ratDenom(\%)\free{check }\bound{check1 }} -\indentrel{3}\begin{verbatim} - (34) - 4 3 2 3 4 3 2 2 - (a - a + 2a - a + 1)b + (a - a + 2a - a + 1)b - + - 4 3 2 4 3 2 - (a - a + 2a - a + 1)b + a - a + 2a - a + 1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty35} -\begin{paste}{ugIntroNumbersPageEmpty35}{ugIntroNumbersPagePatch35} -\pastebutton{ugIntroNumbersPageEmpty35}{\showpaste} -\tab{5}\spadcommand{ratDenom(\%)\free{check }\bound{check1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch36} -\begin{paste}{ugIntroNumbersPageFull36}{ugIntroNumbersPageEmpty36} -\pastebutton{ugIntroNumbersPageFull36}{\hidepaste} -\tab{5}\spadcommand{2/\%+1\free{check1 }\bound{check2 }} -\indentrel{3}\begin{verbatim} - (35) - 4 3 2 3 - (a - a + 2a - a + 1)b - + - 4 3 2 2 - (a - a + 2a - a + 1)b - + - 4 3 2 4 3 2 - (a - a + 2a - a + 1)b + a - a + 2a - a + 3 - / - 4 3 2 3 - (a - a + 2a - a + 1)b - + - 4 3 2 2 - (a - a + 2a - a + 1)b - + - 4 3 2 4 3 2 - (a - a + 2a - a + 1)b + a - a + 2a - a + 1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty36} -\begin{paste}{ugIntroNumbersPageEmpty36}{ugIntroNumbersPagePatch36} -\pastebutton{ugIntroNumbersPageEmpty36}{\showpaste} -\tab{5}\spadcommand{2/\%+1\free{check1 }\bound{check2 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch37} -\begin{paste}{ugIntroNumbersPageFull37}{ugIntroNumbersPageEmpty37} -\pastebutton{ugIntroNumbersPageFull37}{\hidepaste} -\tab{5}\spadcommand{ratDenom(\%)\free{check2 }} -\indentrel{3}\begin{verbatim} - (36) b - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty37} -\begin{paste}{ugIntroNumbersPageEmpty37}{ugIntroNumbersPagePatch37} -\pastebutton{ugIntroNumbersPageEmpty37}{\showpaste} -\tab{5}\spadcommand{ratDenom(\%)\free{check2 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPagePatch38} -\begin{paste}{ugIntroNumbersPageFull38}{ugIntroNumbersPageEmpty38} -\pastebutton{ugIntroNumbersPageFull38}{\hidepaste} -\tab{5}\spadcommand{q:=quatern(1,2,3,4)*quatern(5,6,7,8) - quatern(5,6,7,8)*quatern(1,2,3,4)} -\indentrel{3}\begin{verbatim} - (37) - 8i + 16j - 8k - Type: Quaternion Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroNumbersPageEmpty38} -\begin{paste}{ugIntroNumbersPageEmpty38}{ugIntroNumbersPagePatch38} -\pastebutton{ugIntroNumbersPageEmpty38}{\showpaste} -\tab{5}\spadcommand{q:=quatern(1,2,3,4)*quatern(5,6,7,8) - quatern(5,6,7,8)*quatern(1,2,3,4)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroDiffEqnsPagePatch1} -\begin{paste}{ugIntroDiffEqnsPageFull1}{ugIntroDiffEqnsPageEmpty1} -\pastebutton{ugIntroDiffEqnsPageFull1}{\hidepaste} -\tab{5}\spadcommand{y := operator 'y\bound{y }} -\indentrel{3}\begin{verbatim} - (1) y - Type: BasicOperator -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroDiffEqnsPageEmpty1} -\begin{paste}{ugIntroDiffEqnsPageEmpty1}{ugIntroDiffEqnsPagePatch1} -\pastebutton{ugIntroDiffEqnsPageEmpty1}{\showpaste} -\tab{5}\spadcommand{y := operator 'y\bound{y }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroDiffEqnsPagePatch2} -\begin{paste}{ugIntroDiffEqnsPageFull2}{ugIntroDiffEqnsPageEmpty2} -\pastebutton{ugIntroDiffEqnsPageFull2}{\hidepaste} -\tab{5}\spadcommand{deq := x**3 * D(y x, x, 3) + x**2 * D(y x, x, 2) - 2 * x * D(y x, x) + 2 * y x = 2 * x**4\bound{e3 }\free{y }} -\indentrel{3}\begin{verbatim} - 3 ,,, 2 ,, , 4 - (2) x y (x) + x y (x) - 2xy (x) + 2y(x)= 2x - - Type: Equation Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroDiffEqnsPageEmpty2} -\begin{paste}{ugIntroDiffEqnsPageEmpty2}{ugIntroDiffEqnsPagePatch2} -\pastebutton{ugIntroDiffEqnsPageEmpty2}{\showpaste} -\tab{5}\spadcommand{deq := x**3 * D(y x, x, 3) + x**2 * D(y x, x, 2) - 2 * x * D(y x, x) + 2 * y x = 2 * x**4\bound{e3 }\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroDiffEqnsPagePatch3} -\begin{paste}{ugIntroDiffEqnsPageFull3}{ugIntroDiffEqnsPageEmpty3} -\pastebutton{ugIntroDiffEqnsPageFull3}{\hidepaste} -\tab{5}\spadcommand{solve(deq, y, x)\free{e3 }\free{y }} -\indentrel{3}\begin{verbatim} - (3) - 5 3 2 - x - 10x + 20x + 4 - [particular= ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, - 15x - 3 2 3 3 2 - 2x - 3x + 1 x - 1 x - 3x - 1 - basis= [ÄÄÄÄÄÄÄÄÄÄÄÄÄ,ÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄÄÄÄÄ]] - x x x -Type: Union(Record(particular: Expression Integer,basis: List Expression Integer),...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroDiffEqnsPageEmpty3} -\begin{paste}{ugIntroDiffEqnsPageEmpty3}{ugIntroDiffEqnsPagePatch3} -\pastebutton{ugIntroDiffEqnsPageEmpty3}{\showpaste} -\tab{5}\spadcommand{solve(deq, y, x)\free{e3 }\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroDiffEqnsPagePatch4} -\begin{paste}{ugIntroDiffEqnsPageFull4}{ugIntroDiffEqnsPageEmpty4} -\pastebutton{ugIntroDiffEqnsPageFull4}{\hidepaste} -\tab{5}\spadcommand{deq := (x**2 + 1) * D(y x, x, 2) + 3 * x * D(y x, x) + y x = 0\bound{e5 }\free{y }} -\indentrel{3}\begin{verbatim} - 2 ,, , - (4) (x + 1)y (x) + 3xy (x) + y(x)= 0 - - Type: Equation Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroDiffEqnsPageEmpty4} -\begin{paste}{ugIntroDiffEqnsPageEmpty4}{ugIntroDiffEqnsPagePatch4} -\pastebutton{ugIntroDiffEqnsPageEmpty4}{\showpaste} -\tab{5}\spadcommand{deq := (x**2 + 1) * D(y x, x, 2) + 3 * x * D(y x, x) + y x = 0\bound{e5 }\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroDiffEqnsPagePatch5} -\begin{paste}{ugIntroDiffEqnsPageFull5}{ugIntroDiffEqnsPageEmpty5} -\pastebutton{ugIntroDiffEqnsPageFull5}{\hidepaste} -\tab{5}\spadcommand{solve(deq, y, x)\free{e5 }\free{y }} -\indentrel{3}\begin{verbatim} - (5) - ÚÄÄÄÄÄÄ¿ - ³ 2 - 1 log(\³x + 1 - x) - [particular= 0,basis= [ÄÄÄÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ]] - ÚÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄ¿ - ³ 2 ³ 2 - \³x + 1 \³x + 1 -Type: Union(Record(particular: Expression Integer,basis: List Expression Integer),...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroDiffEqnsPageEmpty5} -\begin{paste}{ugIntroDiffEqnsPageEmpty5}{ugIntroDiffEqnsPagePatch5} -\pastebutton{ugIntroDiffEqnsPageEmpty5}{\showpaste} -\tab{5}\spadcommand{solve(deq, y, x)\free{e5 }\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroDiffEqnsPagePatch6} -\begin{paste}{ugIntroDiffEqnsPageFull6}{ugIntroDiffEqnsPageEmpty6} -\pastebutton{ugIntroDiffEqnsPageFull6}{\hidepaste} -\tab{5}\spadcommand{eq := 2*x**3 * D(y x,x,2) + 3*x**2 * D(y x,x) - 2 * y x\bound{eq }\free{y }} -\indentrel{3}\begin{verbatim} - 3 ,, 2 , - (6) 2x y (x) + 3x y (x) - 2y(x) - - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroDiffEqnsPageEmpty6} -\begin{paste}{ugIntroDiffEqnsPageEmpty6}{ugIntroDiffEqnsPagePatch6} -\pastebutton{ugIntroDiffEqnsPageEmpty6}{\showpaste} -\tab{5}\spadcommand{eq := 2*x**3 * D(y x,x,2) + 3*x**2 * D(y x,x) - 2 * y x\bound{eq }\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroDiffEqnsPagePatch7} -\begin{paste}{ugIntroDiffEqnsPageFull7}{ugIntroDiffEqnsPageEmpty7} -\pastebutton{ugIntroDiffEqnsPageFull7}{\hidepaste} -\tab{5}\spadcommand{solve(eq,y,x).basis\free{eq }} -\indentrel{3}\begin{verbatim} - 2 2 - - ÄÄÄÄ ÄÄÄÄ - ÚÄ¿ ÚÄ¿ - \³x \³x - (7) [%e ,%e ] - Type: List Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroDiffEqnsPageEmpty7} -\begin{paste}{ugIntroDiffEqnsPageEmpty7}{ugIntroDiffEqnsPagePatch7} -\pastebutton{ugIntroDiffEqnsPageEmpty7}{\showpaste} -\tab{5}\spadcommand{solve(eq,y,x).basis\free{eq }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroDiffEqnsPagePatch8} -\begin{paste}{ugIntroDiffEqnsPageFull8}{ugIntroDiffEqnsPageEmpty8} -\pastebutton{ugIntroDiffEqnsPageFull8}{\hidepaste} -\tab{5}\spadcommand{deq := D(y x, x) = y(x) / (x + y(x) * log y x)\bound{deqi }\free{y }} -\indentrel{3}\begin{verbatim} - , y(x) - (8) y (x)= ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - y(x)log(y(x)) + x - Type: Equation Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroDiffEqnsPageEmpty8} -\begin{paste}{ugIntroDiffEqnsPageEmpty8}{ugIntroDiffEqnsPagePatch8} -\pastebutton{ugIntroDiffEqnsPageEmpty8}{\showpaste} -\tab{5}\spadcommand{deq := D(y x, x) = y(x) / (x + y(x) * log y x)\bound{deqi }\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroDiffEqnsPagePatch9} -\begin{paste}{ugIntroDiffEqnsPageFull9}{ugIntroDiffEqnsPageEmpty9} -\pastebutton{ugIntroDiffEqnsPageFull9}{\hidepaste} -\tab{5}\spadcommand{solve(deq, y, x)\free{deqi y }} -\indentrel{3}\begin{verbatim} - 2 - y(x)log(y(x)) - 2x - (9) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 2y(x) - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroDiffEqnsPageEmpty9} -\begin{paste}{ugIntroDiffEqnsPageEmpty9}{ugIntroDiffEqnsPagePatch9} -\pastebutton{ugIntroDiffEqnsPageEmpty9}{\showpaste} -\tab{5}\spadcommand{solve(deq, y, x)\free{deqi y }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroDiffEqnsPagePatch10} -\begin{paste}{ugIntroDiffEqnsPageFull10}{ugIntroDiffEqnsPageEmpty10} -\pastebutton{ugIntroDiffEqnsPageFull10}{\hidepaste} -\tab{5}\spadcommand{x := operator 'x\bound{x }} -\indentrel{3}\begin{verbatim} - (10) x - Type: BasicOperator -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroDiffEqnsPageEmpty10} -\begin{paste}{ugIntroDiffEqnsPageEmpty10}{ugIntroDiffEqnsPagePatch10} -\pastebutton{ugIntroDiffEqnsPageEmpty10}{\showpaste} -\tab{5}\spadcommand{x := operator 'x\bound{x }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroDiffEqnsPagePatch11} -\begin{paste}{ugIntroDiffEqnsPageFull11}{ugIntroDiffEqnsPageEmpty11} -\pastebutton{ugIntroDiffEqnsPageFull11}{\hidepaste} -\tab{5}\spadcommand{eq1 := D(x(t), t) = 1 + x(t)**2\free{x }\free{y }\bound{eq1 }} -\indentrel{3}\begin{verbatim} - , 2 - (11) x (t)= x(t) + 1 - - Type: Equation Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroDiffEqnsPageEmpty11} -\begin{paste}{ugIntroDiffEqnsPageEmpty11}{ugIntroDiffEqnsPagePatch11} -\pastebutton{ugIntroDiffEqnsPageEmpty11}{\showpaste} -\tab{5}\spadcommand{eq1 := D(x(t), t) = 1 + x(t)**2\free{x }\free{y }\bound{eq1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroDiffEqnsPagePatch12} -\begin{paste}{ugIntroDiffEqnsPageFull12}{ugIntroDiffEqnsPageEmpty12} -\pastebutton{ugIntroDiffEqnsPageFull12}{\hidepaste} -\tab{5}\spadcommand{eq2 := D(y(t), t) = x(t) * y(t)\free{x }\free{y }\bound{eq2 }} -\indentrel{3}\begin{verbatim} - , - (12) y (t)= x(t)y(t) - - Type: Equation Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroDiffEqnsPageEmpty12} -\begin{paste}{ugIntroDiffEqnsPageEmpty12}{ugIntroDiffEqnsPagePatch12} -\pastebutton{ugIntroDiffEqnsPageEmpty12}{\showpaste} -\tab{5}\spadcommand{eq2 := D(y(t), t) = x(t) * y(t)\free{x }\free{y }\bound{eq2 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroDiffEqnsPagePatch13} -\begin{paste}{ugIntroDiffEqnsPageFull13}{ugIntroDiffEqnsPageEmpty13} -\pastebutton{ugIntroDiffEqnsPageFull13}{\hidepaste} -\tab{5}\spadcommand{seriesSolve([eq2, eq1], [x, y], t = 0, [y(0) = 1, x(0) = 0])\free{x }\free{y }\free{eq1 }\free{eq2 }} -\indentrel{3}\begin{verbatim} - (13) - 1 3 2 5 17 7 62 9 11 - [t + Ä t + ÄÄ t + ÄÄÄ t + ÄÄÄÄ t + O(t ), - 3 15 315 2835 - - 1 2 5 4 61 6 277 8 50521 10 - 1 + Ä t + ÄÄ t + ÄÄÄ t + ÄÄÄÄ t + ÄÄÄÄÄÄÄ t - 2 24 720 8064 3628800 - + - 11 - O(t ) - ] -Type: List UnivariateTaylorSeries(Expression Integer,t,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroDiffEqnsPageEmpty13} -\begin{paste}{ugIntroDiffEqnsPageEmpty13}{ugIntroDiffEqnsPagePatch13} -\pastebutton{ugIntroDiffEqnsPageEmpty13}{\showpaste} -\tab{5}\spadcommand{seriesSolve([eq2, eq1], [x, y], t = 0, [y(0) = 1, x(0) = 0])\free{x }\free{y }\free{eq1 }\free{eq2 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroGraphicsPagePatch1} -\begin{paste}{ugIntroGraphicsPageFull1}{ugIntroGraphicsPageEmpty1} -\pastebutton{ugIntroGraphicsPageFull1}{\hidepaste} -\tab{5}\spadgraph{draw(cos(5*t/8), t=0..16*\%pi, coordinates==polar)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugintrographicspage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugintrographicspage1}} -\end{paste}\end{patch} - -\begin{patch}{ugIntroGraphicsPageEmpty1} -\begin{paste}{ugIntroGraphicsPageEmpty1}{ugIntroGraphicsPagePatch1} -\pastebutton{ugIntroGraphicsPageEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(cos(5*t/8), t=0..16*\%pi, coordinates==polar)} -\end{paste}\end{patch} - -\begin{patch}{ugIntroGraphicsPagePatch2} -\begin{paste}{ugIntroGraphicsPageFull2}{ugIntroGraphicsPageEmpty2} -\pastebutton{ugIntroGraphicsPageFull2}{\hidepaste} -\tab{5}\spadgraph{draw((x,y) +-> real atan complex(x,y), -\%pi..\%pi, -\%pi..\%pi, colorFunction == (x,y) +-> argument atan complex(x,y))} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugintrographicspage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugintrographicspage2}} -\end{paste}\end{patch} - -\begin{patch}{ugIntroGraphicsPageEmpty2} -\begin{paste}{ugIntroGraphicsPageEmpty2}{ugIntroGraphicsPagePatch2} -\pastebutton{ugIntroGraphicsPageEmpty2}{\showpaste} -\tab{5}\spadgraph{draw((x,y) +-> real atan complex(x,y), -\%pi..\%pi, -\%pi..\%pi, colorFunction == (x,y) +-> argument atan complex(x,y))} -\end{paste}\end{patch} - -\begin{patch}{ugIntroCommentsPagePatch1} -\begin{paste}{ugIntroCommentsPageFull1}{ugIntroCommentsPageEmpty1} -\pastebutton{ugIntroCommentsPageFull1}{\hidepaste} -\tab{5}\spadcommand{2 + 3 -- this is rather simple, no?} -\indentrel{3}\begin{verbatim} - (1) 5 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroCommentsPageEmpty1} -\begin{paste}{ugIntroCommentsPageEmpty1}{ugIntroCommentsPagePatch1} -\pastebutton{ugIntroCommentsPageEmpty1}{\showpaste} -\tab{5}\spadcommand{2 + 3 -- this is rather simple, no?} -\end{paste}\end{patch} - -\begin{patch}{ugIntroSolutionPagePatch1} -\begin{paste}{ugIntroSolutionPageFull1}{ugIntroSolutionPageEmpty1} -\pastebutton{ugIntroSolutionPageFull1}{\hidepaste} -\tab{5}\spadcommand{S(t) == [x**2-2*y**2 - t,x*y-y-5*x + 5]\bound{S1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroSolutionPageEmpty1} -\begin{paste}{ugIntroSolutionPageEmpty1}{ugIntroSolutionPagePatch1} -\pastebutton{ugIntroSolutionPageEmpty1}{\showpaste} -\tab{5}\spadcommand{S(t) == [x**2-2*y**2 - t,x*y-y-5*x + 5]\bound{S1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroSolutionPagePatch2} -\begin{paste}{ugIntroSolutionPageFull2}{ugIntroSolutionPageEmpty2} -\pastebutton{ugIntroSolutionPageFull2}{\hidepaste} -\tab{5}\spadcommand{solve(S(19),1/10**20)\free{S1 }} -\indentrel{3}\begin{verbatim} - (2) - 2451682632253093442511 - [[y= 5,x= - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ], - 295147905179352825856 - 2451682632253093442511 - [y= 5,x= ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ]] - 295147905179352825856 - Type: List List Equation Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroSolutionPageEmpty2} -\begin{paste}{ugIntroSolutionPageEmpty2}{ugIntroSolutionPagePatch2} -\pastebutton{ugIntroSolutionPageEmpty2}{\showpaste} -\tab{5}\spadcommand{solve(S(19),1/10**20)\free{S1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroSolutionPagePatch3} -\begin{paste}{ugIntroSolutionPageFull3}{ugIntroSolutionPageEmpty3} -\pastebutton{ugIntroSolutionPageFull3}{\hidepaste} -\tab{5}\spadcommand{complexSolve(S(19),10.e-20)\free{S1 }} -\indentrel{3}\begin{verbatim} - (3) - [ - [y= 5.0, - x= 8.3066238629 1807485256 1669055295 290320373] - , - - [y= 5.0, - x= - 8.3066238629 1807485256 1669055295 290320373] - , - [y= - 3.0 %i,x= 1.0], [y= 3.0 %i,x= 1.0]] - Type: List List Equation Polynomial Complex Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroSolutionPageEmpty3} -\begin{paste}{ugIntroSolutionPageEmpty3}{ugIntroSolutionPagePatch3} -\pastebutton{ugIntroSolutionPageEmpty3}{\showpaste} -\tab{5}\spadcommand{complexSolve(S(19),10.e-20)\free{S1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroSolutionPagePatch4} -\begin{paste}{ugIntroSolutionPageFull4}{ugIntroSolutionPageEmpty4} -\pastebutton{ugIntroSolutionPageFull4}{\hidepaste} -\tab{5}\spadcommand{radicalSolve(S(a),[x,y])\free{S1 }} -\indentrel{3}\begin{verbatim} - (4) - ÚÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄ¿ - [[x= - \³a + 50 ,y= 5], [x= \³a + 50 ,y= 5], - ÚÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄ¿ - ³- a + 1 ³- a + 1 - [x= 1,y= ³ÄÄÄÄÄÄÄ ], [x= 1,y= - ³ÄÄÄÄÄÄÄ ]] - \³ 2 \³ 2 - Type: List List Equation Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroSolutionPageEmpty4} -\begin{paste}{ugIntroSolutionPageEmpty4}{ugIntroSolutionPagePatch4} -\pastebutton{ugIntroSolutionPageEmpty4}{\showpaste} -\tab{5}\spadcommand{radicalSolve(S(a),[x,y])\free{S1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroSolutionPagePatch5} -\begin{paste}{ugIntroSolutionPageFull5}{ugIntroSolutionPageEmpty5} -\pastebutton{ugIntroSolutionPageFull5}{\hidepaste} -\tab{5}\spadcommand{eqns := [x**2 - y + z,x**2*z + x**4 - b*y, y**2 *z - a - b*x]\bound{e }} -\indentrel{3}\begin{verbatim} - 2 2 4 2 - (5) [z - y + x ,x z - b y + x ,y z - b x - a] - Type: List Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroSolutionPageEmpty5} -\begin{paste}{ugIntroSolutionPageEmpty5}{ugIntroSolutionPagePatch5} -\pastebutton{ugIntroSolutionPageEmpty5}{\showpaste} -\tab{5}\spadcommand{eqns := [x**2 - y + z,x**2*z + x**4 - b*y, y**2 *z - a - b*x]\bound{e }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroSolutionPagePatch6} -\begin{paste}{ugIntroSolutionPageFull6}{ugIntroSolutionPageEmpty6} -\pastebutton{ugIntroSolutionPageFull6}{\hidepaste} -\tab{5}\spadcommand{solve(eqns,[x,y,z])\free{e }} -\indentrel{3}\begin{verbatim} - (6) - 2 - a a - [[x= - Ä,y= 0,z= - ÄÄ], - b 2 - b - - 3 2 2 - z + 2b z + b z - a - [x= ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, y= z + b, - b - - 6 5 2 4 3 3 4 2 - z + 4b z + 6b z + (4b - 2a)z + (b - 4a b)z - + - 2 3 2 - - 2a b z - b + a - = - 0 - ] - ] - Type: List List Equation Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroSolutionPageEmpty6} -\begin{paste}{ugIntroSolutionPageEmpty6}{ugIntroSolutionPagePatch6} -\pastebutton{ugIntroSolutionPageEmpty6}{\showpaste} -\tab{5}\spadcommand{solve(eqns,[x,y,z])\free{e }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroPreviousPagePatch1} -\begin{paste}{ugIntroPreviousPageFull1}{ugIntroPreviousPageEmpty1} -\pastebutton{ugIntroPreviousPageFull1}{\hidepaste} -\tab{5}\spadcommand{10 ** 10\bound{prev }} -\indentrel{3}\begin{verbatim} - (1) 10000000000 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroPreviousPageEmpty1} -\begin{paste}{ugIntroPreviousPageEmpty1}{ugIntroPreviousPagePatch1} -\pastebutton{ugIntroPreviousPageEmpty1}{\showpaste} -\tab{5}\spadcommand{10 ** 10\bound{prev }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroPreviousPagePatch2} -\begin{paste}{ugIntroPreviousPageFull2}{ugIntroPreviousPageEmpty2} -\pastebutton{ugIntroPreviousPageFull2}{\hidepaste} -\tab{5}\spadcommand{\% - 1\free{prev }\bound{prev1 }} -\indentrel{3}\begin{verbatim} - (2) 9999999999 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroPreviousPageEmpty2} -\begin{paste}{ugIntroPreviousPageEmpty2}{ugIntroPreviousPagePatch2} -\pastebutton{ugIntroPreviousPageEmpty2}{\showpaste} -\tab{5}\spadcommand{\% - 1\free{prev }\bound{prev1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroPreviousPagePatch3} -\begin{paste}{ugIntroPreviousPageFull3}{ugIntroPreviousPageEmpty3} -\pastebutton{ugIntroPreviousPageFull3}{\hidepaste} -\tab{5}\spadcommand{\%\%(-1)\free{prev1 }\bound{prev2 }} -\indentrel{3}\begin{verbatim} - (3) 9999999999 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroPreviousPageEmpty3} -\begin{paste}{ugIntroPreviousPageEmpty3}{ugIntroPreviousPagePatch3} -\pastebutton{ugIntroPreviousPageEmpty3}{\showpaste} -\tab{5}\spadcommand{\%\%(-1)\free{prev1 }\bound{prev2 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntroPreviousPagePatch4} -\begin{paste}{ugIntroPreviousPageFull4}{ugIntroPreviousPageEmpty4} -\pastebutton{ugIntroPreviousPageFull4}{\hidepaste} -\tab{5}\spadcommand{\%\%(1)\free{prev2 }} -\indentrel{3}\begin{verbatim} - (4) 10000000000 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntroPreviousPageEmpty4} -\begin{paste}{ugIntroPreviousPageEmpty4}{ugIntroPreviousPagePatch4} -\pastebutton{ugIntroPreviousPageEmpty4}{\showpaste} -\tab{5}\spadcommand{\%\%(1)\free{prev2 }} -\end{paste}\end{patch} - diff --git a/books/pages/ug02.pht b/books/pages/ug02.pht deleted file mode 100644 index b96c56b..0000000 --- a/books/pages/ug02.pht +++ /dev/null @@ -1,2328 +0,0 @@ -\begin{patch}{ugTypesUnionsWSelPagePatch1} -\begin{paste}{ugTypesUnionsWSelPageFull1}{ugTypesUnionsWSelPageEmpty1} -\pastebutton{ugTypesUnionsWSelPageFull1}{\hidepaste} -\tab{5}\spadcommand{u : Union(i : Integer, s : String)\bound{undec }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWSelPageEmpty1} -\begin{paste}{ugTypesUnionsWSelPageEmpty1}{ugTypesUnionsWSelPagePatch1} -\pastebutton{ugTypesUnionsWSelPageEmpty1}{\showpaste} -\tab{5}\spadcommand{u : Union(i : Integer, s : String)\bound{undec }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWSelPagePatch2} -\begin{paste}{ugTypesUnionsWSelPageFull2}{ugTypesUnionsWSelPageEmpty2} -\pastebutton{ugTypesUnionsWSelPageFull2}{\hidepaste} -\tab{5}\spadcommand{u := "good morning"\bound{u }\free{undec }} -\indentrel{3}\begin{verbatim} - (2) "good morning" - Type: Union(s: String,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWSelPageEmpty2} -\begin{paste}{ugTypesUnionsWSelPageEmpty2}{ugTypesUnionsWSelPagePatch2} -\pastebutton{ugTypesUnionsWSelPageEmpty2}{\showpaste} -\tab{5}\spadcommand{u := "good morning"\bound{u }\free{undec }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWSelPagePatch3} -\begin{paste}{ugTypesUnionsWSelPageFull3}{ugTypesUnionsWSelPageEmpty3} -\pastebutton{ugTypesUnionsWSelPageFull3}{\hidepaste} -\tab{5}\spadcommand{u case i\free{u }} -\indentrel{3}\begin{verbatim} - (3) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWSelPageEmpty3} -\begin{paste}{ugTypesUnionsWSelPageEmpty3}{ugTypesUnionsWSelPagePatch3} -\pastebutton{ugTypesUnionsWSelPageEmpty3}{\showpaste} -\tab{5}\spadcommand{u case i\free{u }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWSelPagePatch4} -\begin{paste}{ugTypesUnionsWSelPageFull4}{ugTypesUnionsWSelPageEmpty4} -\pastebutton{ugTypesUnionsWSelPageFull4}{\hidepaste} -\tab{5}\spadcommand{u case s\free{u }} -\indentrel{3}\begin{verbatim} - (4) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWSelPageEmpty4} -\begin{paste}{ugTypesUnionsWSelPageEmpty4}{ugTypesUnionsWSelPagePatch4} -\pastebutton{ugTypesUnionsWSelPageEmpty4}{\showpaste} -\tab{5}\spadcommand{u case s\free{u }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWSelPagePatch5} -\begin{paste}{ugTypesUnionsWSelPageFull5}{ugTypesUnionsWSelPageEmpty5} -\pastebutton{ugTypesUnionsWSelPageFull5}{\hidepaste} -\tab{5}\spadcommand{u.s\free{u }} -\indentrel{3}\begin{verbatim} - (5) "good morning" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWSelPageEmpty5} -\begin{paste}{ugTypesUnionsWSelPageEmpty5}{ugTypesUnionsWSelPagePatch5} -\pastebutton{ugTypesUnionsWSelPageEmpty5}{\showpaste} -\tab{5}\spadcommand{u.s\free{u }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingOnePagePatch1} -\begin{paste}{ugTypesWritingOnePageFull1}{ugTypesWritingOnePageEmpty1} -\pastebutton{ugTypesWritingOnePageFull1}{\hidepaste} -\tab{5}\spadcommand{e : PrimeField(2 + 3)} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingOnePageEmpty1} -\begin{paste}{ugTypesWritingOnePageEmpty1}{ugTypesWritingOnePagePatch1} -\pastebutton{ugTypesWritingOnePageEmpty1}{\showpaste} -\tab{5}\spadcommand{e : PrimeField(2 + 3)} -\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingOnePagePatch2} -\begin{paste}{ugTypesWritingOnePageFull2}{ugTypesWritingOnePageEmpty2} -\pastebutton{ugTypesWritingOnePageFull2}{\hidepaste} -\tab{5}\spadcommand{content(2)$Polynomial(Integer)} -\indentrel{3}\begin{verbatim} - (2) 2 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingOnePageEmpty2} -\begin{paste}{ugTypesWritingOnePageEmpty2}{ugTypesWritingOnePagePatch2} -\pastebutton{ugTypesWritingOnePageEmpty2}{\showpaste} -\tab{5}\spadcommand{content(2)$Polynomial(Integer)} -\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingOnePagePatch3} -\begin{paste}{ugTypesWritingOnePageFull3}{ugTypesWritingOnePageEmpty3} -\pastebutton{ugTypesWritingOnePageFull3}{\hidepaste} -\tab{5}\spadcommand{content(2)$(Polynomial Complex Fraction Integer)} -\indentrel{3}\begin{verbatim} - (3) 2 - Type: Complex Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingOnePageEmpty3} -\begin{paste}{ugTypesWritingOnePageEmpty3}{ugTypesWritingOnePagePatch3} -\pastebutton{ugTypesWritingOnePageEmpty3}{\showpaste} -\tab{5}\spadcommand{content(2)$(Polynomial Complex Fraction Integer)} -\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingOnePagePatch4} -\begin{paste}{ugTypesWritingOnePageFull4}{ugTypesWritingOnePageEmpty4} -\pastebutton{ugTypesWritingOnePageFull4}{\hidepaste} -\tab{5}\spadcommand{(2/3)@Fraction(Polynomial(Integer))} -\indentrel{3}\begin{verbatim} - 2 - (4) Ä - 3 - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingOnePageEmpty4} -\begin{paste}{ugTypesWritingOnePageEmpty4}{ugTypesWritingOnePagePatch4} -\pastebutton{ugTypesWritingOnePageEmpty4}{\showpaste} -\tab{5}\spadcommand{(2/3)@Fraction(Polynomial(Integer))} -\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingOnePagePatch5} -\begin{paste}{ugTypesWritingOnePageFull5}{ugTypesWritingOnePageEmpty5} -\pastebutton{ugTypesWritingOnePageFull5}{\hidepaste} -\tab{5}\spadcommand{(2/3)@Fraction(Polynomial Integer)} -\indentrel{3}\begin{verbatim} - 2 - (5) Ä - 3 - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingOnePageEmpty5} -\begin{paste}{ugTypesWritingOnePageEmpty5}{ugTypesWritingOnePagePatch5} -\pastebutton{ugTypesWritingOnePageEmpty5}{\showpaste} -\tab{5}\spadcommand{(2/3)@Fraction(Polynomial Integer)} -\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingOnePagePatch6} -\begin{paste}{ugTypesWritingOnePageFull6}{ugTypesWritingOnePageEmpty6} -\pastebutton{ugTypesWritingOnePageFull6}{\hidepaste} -\tab{5}\spadcommand{(d,f,g) : Complex Polynomial Integer} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingOnePageEmpty6} -\begin{paste}{ugTypesWritingOnePageEmpty6}{ugTypesWritingOnePagePatch6} -\pastebutton{ugTypesWritingOnePageEmpty6}{\showpaste} -\tab{5}\spadcommand{(d,f,g) : Complex Polynomial Integer} -\end{paste}\end{patch} - -\begin{patch}{ugTypesSubdomainsPagePatch1} -\begin{paste}{ugTypesSubdomainsPageFull1}{ugTypesSubdomainsPageEmpty1} -\pastebutton{ugTypesSubdomainsPageFull1}{\hidepaste} -\tab{5}\spadcommand{5} -\indentrel{3}\begin{verbatim} - (1) 5 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesSubdomainsPageEmpty1} -\begin{paste}{ugTypesSubdomainsPageEmpty1}{ugTypesSubdomainsPagePatch1} -\pastebutton{ugTypesSubdomainsPageEmpty1}{\showpaste} -\tab{5}\spadcommand{5} -\end{paste}\end{patch} - -\begin{patch}{ugTypesSubdomainsPagePatch2} -\begin{paste}{ugTypesSubdomainsPageFull2}{ugTypesSubdomainsPageEmpty2} -\pastebutton{ugTypesSubdomainsPageFull2}{\hidepaste} -\tab{5}\spadcommand{0} -\indentrel{3}\begin{verbatim} - (2) 0 - Type: NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesSubdomainsPageEmpty2} -\begin{paste}{ugTypesSubdomainsPageEmpty2}{ugTypesSubdomainsPagePatch2} -\pastebutton{ugTypesSubdomainsPageEmpty2}{\showpaste} -\tab{5}\spadcommand{0} -\end{paste}\end{patch} - -\begin{patch}{ugTypesSubdomainsPagePatch3} -\begin{paste}{ugTypesSubdomainsPageFull3}{ugTypesSubdomainsPageEmpty3} -\pastebutton{ugTypesSubdomainsPageFull3}{\hidepaste} -\tab{5}\spadcommand{-5} -\indentrel{3}\begin{verbatim} - (3) - 5 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesSubdomainsPageEmpty3} -\begin{paste}{ugTypesSubdomainsPageEmpty3}{ugTypesSubdomainsPagePatch3} -\pastebutton{ugTypesSubdomainsPageEmpty3}{\showpaste} -\tab{5}\spadcommand{-5} -\end{paste}\end{patch} - -\begin{patch}{ugTypesSubdomainsPagePatch4} -\begin{paste}{ugTypesSubdomainsPageFull4}{ugTypesSubdomainsPageEmpty4} -\pastebutton{ugTypesSubdomainsPageFull4}{\hidepaste} -\tab{5}\spadcommand{(-2) - (-3)} -\indentrel{3}\begin{verbatim} - (4) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesSubdomainsPageEmpty4} -\begin{paste}{ugTypesSubdomainsPageEmpty4}{ugTypesSubdomainsPagePatch4} -\pastebutton{ugTypesSubdomainsPageEmpty4}{\showpaste} -\tab{5}\spadcommand{(-2) - (-3)} -\end{paste}\end{patch} - -\begin{patch}{ugTypesSubdomainsPagePatch5} -\begin{paste}{ugTypesSubdomainsPageFull5}{ugTypesSubdomainsPageEmpty5} -\pastebutton{ugTypesSubdomainsPageFull5}{\hidepaste} -\tab{5}\spadcommand{0 :: Integer} -\indentrel{3}\begin{verbatim} - (5) 0 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesSubdomainsPageEmpty5} -\begin{paste}{ugTypesSubdomainsPageEmpty5}{ugTypesSubdomainsPagePatch5} -\pastebutton{ugTypesSubdomainsPageEmpty5}{\showpaste} -\tab{5}\spadcommand{0 :: Integer} -\end{paste}\end{patch} - -\begin{patch}{ugTypesSubdomainsPagePatch6} -\begin{paste}{ugTypesSubdomainsPageFull6}{ugTypesSubdomainsPageEmpty6} -\pastebutton{ugTypesSubdomainsPageFull6}{\hidepaste} -\tab{5}\spadcommand{x : NonNegativeInteger := 5} -\indentrel{3}\begin{verbatim} - (6) 5 - Type: NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesSubdomainsPageEmpty6} -\begin{paste}{ugTypesSubdomainsPageEmpty6}{ugTypesSubdomainsPagePatch6} -\pastebutton{ugTypesSubdomainsPageEmpty6}{\showpaste} -\tab{5}\spadcommand{x : NonNegativeInteger := 5} -\end{paste}\end{patch} - -\begin{patch}{ugTypesSubdomainsPagePatch7} -\begin{paste}{ugTypesSubdomainsPageFull7}{ugTypesSubdomainsPageEmpty7} -\pastebutton{ugTypesSubdomainsPageFull7}{\hidepaste} -\tab{5}\spadcommand{2 ** 2} -\indentrel{3}\begin{verbatim} - (7) 4 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesSubdomainsPageEmpty7} -\begin{paste}{ugTypesSubdomainsPageEmpty7}{ugTypesSubdomainsPagePatch7} -\pastebutton{ugTypesSubdomainsPageEmpty7}{\showpaste} -\tab{5}\spadcommand{2 ** 2} -\end{paste}\end{patch} - -\begin{patch}{ugTypesSubdomainsPagePatch8} -\begin{paste}{ugTypesSubdomainsPageFull8}{ugTypesSubdomainsPageEmpty8} -\pastebutton{ugTypesSubdomainsPageFull8}{\hidepaste} -\tab{5}\spadcommand{2 ** (-2)} -\indentrel{3}\begin{verbatim} - 1 - (8) Ä - 4 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesSubdomainsPageEmpty8} -\begin{paste}{ugTypesSubdomainsPageEmpty8}{ugTypesSubdomainsPagePatch8} -\pastebutton{ugTypesSubdomainsPageEmpty8}{\showpaste} -\tab{5}\spadcommand{2 ** (-2)} -\end{paste}\end{patch} - -\begin{patch}{ugTypesSubdomainsPagePatch9} -\begin{paste}{ugTypesSubdomainsPageFull9}{ugTypesSubdomainsPageEmpty9} -\pastebutton{ugTypesSubdomainsPageFull9}{\hidepaste} -\tab{5}\spadcommand{[10**i for i in 2..5]} -\indentrel{3}\begin{verbatim} - (9) [100,1000,10000,100000] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesSubdomainsPageEmpty9} -\begin{paste}{ugTypesSubdomainsPageEmpty9}{ugTypesSubdomainsPagePatch9} -\pastebutton{ugTypesSubdomainsPageEmpty9}{\showpaste} -\tab{5}\spadcommand{[10**i for i in 2..5]} -\end{paste}\end{patch} - -\begin{patch}{ugTypesSubdomainsPagePatch10} -\begin{paste}{ugTypesSubdomainsPageFull10}{ugTypesSubdomainsPageEmpty10} -\pastebutton{ugTypesSubdomainsPageFull10}{\hidepaste} -\tab{5}\spadcommand{[10**(i-1) for i in 2..5]} -\indentrel{3}\begin{verbatim} - (10) [10,100,1000,10000] - Type: List Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesSubdomainsPageEmpty10} -\begin{paste}{ugTypesSubdomainsPageEmpty10}{ugTypesSubdomainsPagePatch10} -\pastebutton{ugTypesSubdomainsPageEmpty10}{\showpaste} -\tab{5}\spadcommand{[10**(i-1) for i in 2..5]} -\end{paste}\end{patch} - -\begin{patch}{ugTypesSubdomainsPagePatch11} -\begin{paste}{ugTypesSubdomainsPageFull11}{ugTypesSubdomainsPageEmpty11} -\pastebutton{ugTypesSubdomainsPageFull11}{\hidepaste} -\tab{5}\spadcommand{[10**((i-1) :: PI) for i in 2..5]} -\indentrel{3}\begin{verbatim} - (11) [10,100,1000,10000] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesSubdomainsPageEmpty11} -\begin{paste}{ugTypesSubdomainsPageEmpty11}{ugTypesSubdomainsPagePatch11} -\pastebutton{ugTypesSubdomainsPageEmpty11}{\showpaste} -\tab{5}\spadcommand{[10**((i-1) :: PI) for i in 2..5]} -\end{paste}\end{patch} - -\begin{patch}{ugTypesSubdomainsPagePatch12} -\begin{paste}{ugTypesSubdomainsPageFull12}{ugTypesSubdomainsPageEmpty12} -\pastebutton{ugTypesSubdomainsPageFull12}{\hidepaste} -\tab{5}\spadcommand{[10**((i-1) pretend PI) for i in 2..5]} -\indentrel{3}\begin{verbatim} - (12) [10,100,1000,10000] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesSubdomainsPageEmpty12} -\begin{paste}{ugTypesSubdomainsPageEmpty12}{ugTypesSubdomainsPagePatch12} -\pastebutton{ugTypesSubdomainsPageEmpty12}{\showpaste} -\tab{5}\spadcommand{[10**((i-1) pretend PI) for i in 2..5]} -\end{paste}\end{patch} - -\begin{patch}{ugTypesSubdomainsPagePatch13} -\begin{paste}{ugTypesSubdomainsPageFull13}{ugTypesSubdomainsPageEmpty13} -\pastebutton{ugTypesSubdomainsPageFull13}{\hidepaste} -\tab{5}\spadcommand{(2/3) pretend Complex Integer} -\indentrel{3}\begin{verbatim} - (13) 2 + 3%i - Type: Complex Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesSubdomainsPageEmpty13} -\begin{paste}{ugTypesSubdomainsPageEmpty13}{ugTypesSubdomainsPagePatch13} -\pastebutton{ugTypesSubdomainsPageEmpty13}{\showpaste} -\tab{5}\spadcommand{(2/3) pretend Complex Integer} -\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWOSelPagePatch1} -\begin{paste}{ugTypesUnionsWOSelPageFull1}{ugTypesUnionsWOSelPageEmpty1} -\pastebutton{ugTypesUnionsWOSelPageFull1}{\hidepaste} -\tab{5}\spadcommand{sayBranch(x : Union(Integer,String,Float)) : Void == - output - x case Integer => "Integer branch" - x case String => "String branch" - "Float branch" -\bound{sayBranch }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWOSelPageEmpty1} -\begin{paste}{ugTypesUnionsWOSelPageEmpty1}{ugTypesUnionsWOSelPagePatch1} -\pastebutton{ugTypesUnionsWOSelPageEmpty1}{\showpaste} -\tab{5}\spadcommand{sayBranch(x : Union(Integer,String,Float)) : Void == - output - x case Integer => "Integer branch" - x case String => "String branch" - "Float branch" -\bound{sayBranch }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWOSelPagePatch2} -\begin{paste}{ugTypesUnionsWOSelPageFull2}{ugTypesUnionsWOSelPageEmpty2} -\pastebutton{ugTypesUnionsWOSelPageFull2}{\hidepaste} -\tab{5}\spadcommand{sayBranch 1\free{sayBranch }} -\indentrel{3}\begin{verbatim} - Integer branch - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWOSelPageEmpty2} -\begin{paste}{ugTypesUnionsWOSelPageEmpty2}{ugTypesUnionsWOSelPagePatch2} -\pastebutton{ugTypesUnionsWOSelPageEmpty2}{\showpaste} -\tab{5}\spadcommand{sayBranch 1\free{sayBranch }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWOSelPagePatch3} -\begin{paste}{ugTypesUnionsWOSelPageFull3}{ugTypesUnionsWOSelPageEmpty3} -\pastebutton{ugTypesUnionsWOSelPageFull3}{\hidepaste} -\tab{5}\spadcommand{sayBranch "hello"\free{sayBranch }} -\indentrel{3}\begin{verbatim} - String branch - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWOSelPageEmpty3} -\begin{paste}{ugTypesUnionsWOSelPageEmpty3}{ugTypesUnionsWOSelPagePatch3} -\pastebutton{ugTypesUnionsWOSelPageEmpty3}{\showpaste} -\tab{5}\spadcommand{sayBranch "hello"\free{sayBranch }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWOSelPagePatch4} -\begin{paste}{ugTypesUnionsWOSelPageFull4}{ugTypesUnionsWOSelPageEmpty4} -\pastebutton{ugTypesUnionsWOSelPageFull4}{\hidepaste} -\tab{5}\spadcommand{sayBranch 2.718281828\free{sayBranch }} -\indentrel{3}\begin{verbatim} - Float branch - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWOSelPageEmpty4} -\begin{paste}{ugTypesUnionsWOSelPageEmpty4}{ugTypesUnionsWOSelPagePatch4} -\pastebutton{ugTypesUnionsWOSelPageEmpty4}{\showpaste} -\tab{5}\spadcommand{sayBranch 2.718281828\free{sayBranch }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWOSelPagePatch5} -\begin{paste}{ugTypesUnionsWOSelPageFull5}{ugTypesUnionsWOSelPageEmpty5} -\pastebutton{ugTypesUnionsWOSelPageFull5}{\hidepaste} -\tab{5}\spadcommand{78 :: Union(Integer,String)} -\indentrel{3}\begin{verbatim} - (5) 78 - Type: Union(Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWOSelPageEmpty5} -\begin{paste}{ugTypesUnionsWOSelPageEmpty5}{ugTypesUnionsWOSelPagePatch5} -\pastebutton{ugTypesUnionsWOSelPageEmpty5}{\showpaste} -\tab{5}\spadcommand{78 :: Union(Integer,String)} -\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWOSelPagePatch6} -\begin{paste}{ugTypesUnionsWOSelPageFull6}{ugTypesUnionsWOSelPageEmpty6} -\pastebutton{ugTypesUnionsWOSelPageFull6}{\hidepaste} -\tab{5}\spadcommand{s := "string" :: Union(Integer,String)\bound{s }} -\indentrel{3}\begin{verbatim} - (6) "string" - Type: Union(String,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWOSelPageEmpty6} -\begin{paste}{ugTypesUnionsWOSelPageEmpty6}{ugTypesUnionsWOSelPagePatch6} -\pastebutton{ugTypesUnionsWOSelPageEmpty6}{\showpaste} -\tab{5}\spadcommand{s := "string" :: Union(Integer,String)\bound{s }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWOSelPagePatch7} -\begin{paste}{ugTypesUnionsWOSelPageFull7}{ugTypesUnionsWOSelPageEmpty7} -\pastebutton{ugTypesUnionsWOSelPageFull7}{\hidepaste} -\tab{5}\spadcommand{typeOf s} -\indentrel{3}\begin{verbatim} - (7) Union(Integer,String) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWOSelPageEmpty7} -\begin{paste}{ugTypesUnionsWOSelPageEmpty7}{ugTypesUnionsWOSelPagePatch7} -\pastebutton{ugTypesUnionsWOSelPageEmpty7}{\showpaste} -\tab{5}\spadcommand{typeOf s} -\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWOSelPagePatch8} -\begin{paste}{ugTypesUnionsWOSelPageFull8}{ugTypesUnionsWOSelPageEmpty8} -\pastebutton{ugTypesUnionsWOSelPageFull8}{\hidepaste} -\tab{5}\spadcommand{three := exquo(6,2)\bound{three }} -\indentrel{3}\begin{verbatim} - (8) 3 - Type: Union(Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWOSelPageEmpty8} -\begin{paste}{ugTypesUnionsWOSelPageEmpty8}{ugTypesUnionsWOSelPagePatch8} -\pastebutton{ugTypesUnionsWOSelPageEmpty8}{\showpaste} -\tab{5}\spadcommand{three := exquo(6,2)\bound{three }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWOSelPagePatch9} -\begin{paste}{ugTypesUnionsWOSelPageFull9}{ugTypesUnionsWOSelPageEmpty9} -\pastebutton{ugTypesUnionsWOSelPageFull9}{\hidepaste} -\tab{5}\spadcommand{exquo(5,2)} -\indentrel{3}\begin{verbatim} - (9) "failed" - Type: Union("failed",...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWOSelPageEmpty9} -\begin{paste}{ugTypesUnionsWOSelPageEmpty9}{ugTypesUnionsWOSelPagePatch9} -\pastebutton{ugTypesUnionsWOSelPageEmpty9}{\showpaste} -\tab{5}\spadcommand{exquo(5,2)} -\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWOSelPagePatch10} -\begin{paste}{ugTypesUnionsWOSelPageFull10}{ugTypesUnionsWOSelPageEmpty10} -\pastebutton{ugTypesUnionsWOSelPageFull10}{\hidepaste} -\tab{5}\spadcommand{r: FRAC INT := 3\bound{r }\bound{rdec }} -\indentrel{3}\begin{verbatim} - (10) 3 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWOSelPageEmpty10} -\begin{paste}{ugTypesUnionsWOSelPageEmpty10}{ugTypesUnionsWOSelPagePatch10} -\pastebutton{ugTypesUnionsWOSelPageEmpty10}{\showpaste} -\tab{5}\spadcommand{r: FRAC INT := 3\bound{r }\bound{rdec }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWOSelPagePatch11} -\begin{paste}{ugTypesUnionsWOSelPageFull11}{ugTypesUnionsWOSelPageEmpty11} -\pastebutton{ugTypesUnionsWOSelPageFull11}{\hidepaste} -\tab{5}\spadcommand{retractIfCan(r)\free{r }} -\indentrel{3}\begin{verbatim} - (11) 3 - Type: Union(Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWOSelPageEmpty11} -\begin{paste}{ugTypesUnionsWOSelPageEmpty11}{ugTypesUnionsWOSelPagePatch11} -\pastebutton{ugTypesUnionsWOSelPageEmpty11}{\showpaste} -\tab{5}\spadcommand{retractIfCan(r)\free{r }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWOSelPagePatch12} -\begin{paste}{ugTypesUnionsWOSelPageFull12}{ugTypesUnionsWOSelPageEmpty12} -\pastebutton{ugTypesUnionsWOSelPageFull12}{\hidepaste} -\tab{5}\spadcommand{r := 3/2\bound{r1 }\free{rdec }} -\indentrel{3}\begin{verbatim} - 3 - (12) Ä - 2 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWOSelPageEmpty12} -\begin{paste}{ugTypesUnionsWOSelPageEmpty12}{ugTypesUnionsWOSelPagePatch12} -\pastebutton{ugTypesUnionsWOSelPageEmpty12}{\showpaste} -\tab{5}\spadcommand{r := 3/2\bound{r1 }\free{rdec }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWOSelPagePatch13} -\begin{paste}{ugTypesUnionsWOSelPageFull13}{ugTypesUnionsWOSelPageEmpty13} -\pastebutton{ugTypesUnionsWOSelPageFull13}{\hidepaste} -\tab{5}\spadcommand{retractIfCan(r)\free{r1 }} -\indentrel{3}\begin{verbatim} - (13) "failed" - Type: Union("failed",...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesUnionsWOSelPageEmpty13} -\begin{paste}{ugTypesUnionsWOSelPageEmpty13}{ugTypesUnionsWOSelPagePatch13} -\pastebutton{ugTypesUnionsWOSelPageEmpty13}{\showpaste} -\tab{5}\spadcommand{retractIfCan(r)\free{r1 }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingAbbrPagePatch1} -\begin{paste}{ugTypesWritingAbbrPageFull1}{ugTypesWritingAbbrPageEmpty1} -\pastebutton{ugTypesWritingAbbrPageFull1}{\hidepaste} -\tab{5}\spadcommand{)abb q Integer} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingAbbrPageEmpty1} -\begin{paste}{ugTypesWritingAbbrPageEmpty1}{ugTypesWritingAbbrPagePatch1} -\pastebutton{ugTypesWritingAbbrPageEmpty1}{\showpaste} -\tab{5}\spadcommand{)abb q Integer} -\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingAbbrPagePatch2} -\begin{paste}{ugTypesWritingAbbrPageFull2}{ugTypesWritingAbbrPageEmpty2} -\pastebutton{ugTypesWritingAbbrPageFull2}{\hidepaste} -\tab{5}\spadcommand{)abb q DMP} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingAbbrPageEmpty2} -\begin{paste}{ugTypesWritingAbbrPageEmpty2}{ugTypesWritingAbbrPagePatch2} -\pastebutton{ugTypesWritingAbbrPageEmpty2}{\showpaste} -\tab{5}\spadcommand{)abb q DMP} -\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingAbbrPagePatch3} -\begin{paste}{ugTypesWritingAbbrPageFull3}{ugTypesWritingAbbrPageEmpty3} -\pastebutton{ugTypesWritingAbbrPageFull3}{\hidepaste} -\tab{5}\spadcommand{)what packages ode} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingAbbrPageEmpty3} -\begin{paste}{ugTypesWritingAbbrPageEmpty3}{ugTypesWritingAbbrPagePatch3} -\pastebutton{ugTypesWritingAbbrPageEmpty3}{\showpaste} -\tab{5}\spadcommand{)what packages ode} -\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicPagePatch1} -\begin{paste}{ugTypesBasicPageFull1}{ugTypesBasicPageEmpty1} -\pastebutton{ugTypesBasicPageFull1}{\hidepaste} -\tab{5}\spadcommand{-3} -\indentrel{3}\begin{verbatim} - (1) - 3 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicPageEmpty1} -\begin{paste}{ugTypesBasicPageEmpty1}{ugTypesBasicPagePatch1} -\pastebutton{ugTypesBasicPageEmpty1}{\showpaste} -\tab{5}\spadcommand{-3} -\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicPagePatch2} -\begin{paste}{ugTypesBasicPageFull2}{ugTypesBasicPageEmpty2} -\pastebutton{ugTypesBasicPageFull2}{\hidepaste} -\tab{5}\spadcommand{-3/1} -\indentrel{3}\begin{verbatim} - (2) - 3 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicPageEmpty2} -\begin{paste}{ugTypesBasicPageEmpty2}{ugTypesBasicPagePatch2} -\pastebutton{ugTypesBasicPageEmpty2}{\showpaste} -\tab{5}\spadcommand{-3/1} -\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicPagePatch3} -\begin{paste}{ugTypesBasicPageFull3}{ugTypesBasicPageEmpty3} -\pastebutton{ugTypesBasicPageFull3}{\hidepaste} -\tab{5}\spadcommand{x + 3 - x\bound{three }} -\indentrel{3}\begin{verbatim} - (3) 3 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicPageEmpty3} -\begin{paste}{ugTypesBasicPageEmpty3}{ugTypesBasicPagePatch3} -\pastebutton{ugTypesBasicPageEmpty3}{\showpaste} -\tab{5}\spadcommand{x + 3 - x\bound{three }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicPagePatch4} -\begin{paste}{ugTypesBasicPageFull4}{ugTypesBasicPageEmpty4} -\pastebutton{ugTypesBasicPageFull4}{\hidepaste} -\tab{5}\spadcommand{factorial(\%)\free{three }} -\indentrel{3}\begin{verbatim} - (4) 6 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicPageEmpty4} -\begin{paste}{ugTypesBasicPageEmpty4}{ugTypesBasicPagePatch4} -\pastebutton{ugTypesBasicPageEmpty4}{\showpaste} -\tab{5}\spadcommand{factorial(\%)\free{three }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicPagePatch5} -\begin{paste}{ugTypesBasicPageFull5}{ugTypesBasicPageEmpty5} -\pastebutton{ugTypesBasicPageFull5}{\hidepaste} -\tab{5}\spadcommand{3} -\indentrel{3}\begin{verbatim} - (5) 3 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicPageEmpty5} -\begin{paste}{ugTypesBasicPageEmpty5}{ugTypesBasicPagePatch5} -\pastebutton{ugTypesBasicPageEmpty5}{\showpaste} -\tab{5}\spadcommand{3} -\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicDomainConsPagePatch1} -\begin{paste}{ugTypesBasicDomainConsPageFull1}{ugTypesBasicDomainConsPageEmpty1} -\pastebutton{ugTypesBasicDomainConsPageFull1}{\hidepaste} -\tab{5}\spadcommand{factorial(7)} -\indentrel{3}\begin{verbatim} - (1) 5040 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicDomainConsPageEmpty1} -\begin{paste}{ugTypesBasicDomainConsPageEmpty1}{ugTypesBasicDomainConsPagePatch1} -\pastebutton{ugTypesBasicDomainConsPageEmpty1}{\showpaste} -\tab{5}\spadcommand{factorial(7)} -\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicDomainConsPagePatch2} -\begin{paste}{ugTypesBasicDomainConsPageFull2}{ugTypesBasicDomainConsPageEmpty2} -\pastebutton{ugTypesBasicDomainConsPageFull2}{\hidepaste} -\tab{5}\spadcommand{Polynomial(Integer)} -\indentrel{3}\begin{verbatim} - (2) Polynomial Integer - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicDomainConsPageEmpty2} -\begin{paste}{ugTypesBasicDomainConsPageEmpty2}{ugTypesBasicDomainConsPagePatch2} -\pastebutton{ugTypesBasicDomainConsPageEmpty2}{\showpaste} -\tab{5}\spadcommand{Polynomial(Integer)} -\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicDomainConsPagePatch3} -\begin{paste}{ugTypesBasicDomainConsPageFull3}{ugTypesBasicDomainConsPageEmpty3} -\pastebutton{ugTypesBasicDomainConsPageFull3}{\hidepaste} -\tab{5}\spadcommand{List (List (Matrix (Polynomial (Complex (Fraction (Integer))))))} -\indentrel{3}\begin{verbatim} - (3) - List List Matrix Polynomial Complex Fraction Integer - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicDomainConsPageEmpty3} -\begin{paste}{ugTypesBasicDomainConsPageEmpty3}{ugTypesBasicDomainConsPagePatch3} -\pastebutton{ugTypesBasicDomainConsPageEmpty3}{\showpaste} -\tab{5}\spadcommand{List (List (Matrix (Polynomial (Complex (Fraction (Integer))))))} -\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicDomainConsPagePatch4} -\begin{paste}{ugTypesBasicDomainConsPageFull4}{ugTypesBasicDomainConsPageEmpty4} -\pastebutton{ugTypesBasicDomainConsPageFull4}{\hidepaste} -\tab{5}\spadcommand{Polynomial(String)} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicDomainConsPageEmpty4} -\begin{paste}{ugTypesBasicDomainConsPageEmpty4}{ugTypesBasicDomainConsPagePatch4} -\pastebutton{ugTypesBasicDomainConsPageEmpty4}{\showpaste} -\tab{5}\spadcommand{Polynomial(String)} -\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicDomainConsPagePatch5} -\begin{paste}{ugTypesBasicDomainConsPageFull5}{ugTypesBasicDomainConsPageEmpty5} -\pastebutton{ugTypesBasicDomainConsPageFull5}{\hidepaste} -\tab{5}\spadcommand{Polynomial(Integer) has Ring} -\indentrel{3}\begin{verbatim} - (4) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicDomainConsPageEmpty5} -\begin{paste}{ugTypesBasicDomainConsPageEmpty5}{ugTypesBasicDomainConsPagePatch5} -\pastebutton{ugTypesBasicDomainConsPageEmpty5}{\showpaste} -\tab{5}\spadcommand{Polynomial(Integer) has Ring} -\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicDomainConsPagePatch6} -\begin{paste}{ugTypesBasicDomainConsPageFull6}{ugTypesBasicDomainConsPageEmpty6} -\pastebutton{ugTypesBasicDomainConsPageFull6}{\hidepaste} -\tab{5}\spadcommand{List(Integer) has Ring} -\indentrel{3}\begin{verbatim} - (5) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicDomainConsPageEmpty6} -\begin{paste}{ugTypesBasicDomainConsPageEmpty6}{ugTypesBasicDomainConsPagePatch6} -\pastebutton{ugTypesBasicDomainConsPageEmpty6}{\showpaste} -\tab{5}\spadcommand{List(Integer) has Ring} -\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicDomainConsPagePatch7} -\begin{paste}{ugTypesBasicDomainConsPageFull7}{ugTypesBasicDomainConsPageEmpty7} -\pastebutton{ugTypesBasicDomainConsPageFull7}{\hidepaste} -\tab{5}\spadcommand{Matrix(Integer) has Ring} -\indentrel{3}\begin{verbatim} - (6) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicDomainConsPageEmpty7} -\begin{paste}{ugTypesBasicDomainConsPageEmpty7}{ugTypesBasicDomainConsPagePatch7} -\pastebutton{ugTypesBasicDomainConsPageEmpty7}{\showpaste} -\tab{5}\spadcommand{Matrix(Integer) has Ring} -\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicDomainConsPagePatch8} -\begin{paste}{ugTypesBasicDomainConsPageFull8}{ugTypesBasicDomainConsPageEmpty8} -\pastebutton{ugTypesBasicDomainConsPageFull8}{\hidepaste} -\tab{5}\spadcommand{Polynomial(Matrix(Integer))} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicDomainConsPageEmpty8} -\begin{paste}{ugTypesBasicDomainConsPageEmpty8}{ugTypesBasicDomainConsPagePatch8} -\pastebutton{ugTypesBasicDomainConsPageEmpty8}{\showpaste} -\tab{5}\spadcommand{Polynomial(Matrix(Integer))} -\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicDomainConsPagePatch9} -\begin{paste}{ugTypesBasicDomainConsPageFull9}{ugTypesBasicDomainConsPageEmpty9} -\pastebutton{ugTypesBasicDomainConsPageFull9}{\hidepaste} -\tab{5}\spadcommand{Polynomial(SquareMatrix(7,Complex(Integer)))} -\indentrel{3}\begin{verbatim} - (7) Polynomial SquareMatrix(7,Complex Integer) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicDomainConsPageEmpty9} -\begin{paste}{ugTypesBasicDomainConsPageEmpty9}{ugTypesBasicDomainConsPagePatch9} -\pastebutton{ugTypesBasicDomainConsPageEmpty9}{\showpaste} -\tab{5}\spadcommand{Polynomial(SquareMatrix(7,Complex(Integer)))} -\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicDomainConsPagePatch10} -\begin{paste}{ugTypesBasicDomainConsPageFull10}{ugTypesBasicDomainConsPageEmpty10} -\pastebutton{ugTypesBasicDomainConsPageFull10}{\hidepaste} -\tab{5}\spadcommand{Complex(Integer) has Field} -\indentrel{3}\begin{verbatim} - (8) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicDomainConsPageEmpty10} -\begin{paste}{ugTypesBasicDomainConsPageEmpty10}{ugTypesBasicDomainConsPagePatch10} -\pastebutton{ugTypesBasicDomainConsPageEmpty10}{\showpaste} -\tab{5}\spadcommand{Complex(Integer) has Field} -\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicDomainConsPagePatch11} -\begin{paste}{ugTypesBasicDomainConsPageFull11}{ugTypesBasicDomainConsPageEmpty11} -\pastebutton{ugTypesBasicDomainConsPageFull11}{\hidepaste} -\tab{5}\spadcommand{Fraction(Complex(Integer)) has Field} -\indentrel{3}\begin{verbatim} - (9) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicDomainConsPageEmpty11} -\begin{paste}{ugTypesBasicDomainConsPageEmpty11}{ugTypesBasicDomainConsPagePatch11} -\pastebutton{ugTypesBasicDomainConsPageEmpty11}{\showpaste} -\tab{5}\spadcommand{Fraction(Complex(Integer)) has Field} -\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicDomainConsPagePatch12} -\begin{paste}{ugTypesBasicDomainConsPageFull12}{ugTypesBasicDomainConsPageEmpty12} -\pastebutton{ugTypesBasicDomainConsPageFull12}{\hidepaste} -\tab{5}\spadcommand{Complex(Fraction(Integer)) has Field} -\indentrel{3}\begin{verbatim} - (10) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesBasicDomainConsPageEmpty12} -\begin{paste}{ugTypesBasicDomainConsPageEmpty12}{ugTypesBasicDomainConsPagePatch12} -\pastebutton{ugTypesBasicDomainConsPageEmpty12}{\showpaste} -\tab{5}\spadcommand{Complex(Fraction(Integer)) has Field} -\end{paste}\end{patch} - -\begin{patch}{ugAvailSnoopPagePatch1} -\begin{paste}{ugAvailSnoopPageFull1}{ugAvailSnoopPageEmpty1} -\pastebutton{ugAvailSnoopPageFull1}{\hidepaste} -\tab{5}\spadcommand{)what operation complex} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugAvailSnoopPageEmpty1} -\begin{paste}{ugAvailSnoopPageEmpty1}{ugAvailSnoopPagePatch1} -\pastebutton{ugAvailSnoopPageEmpty1}{\showpaste} -\tab{5}\spadcommand{)what operation complex} -\end{paste}\end{patch} - -\begin{patch}{ugAvailSnoopPagePatch2} -\begin{paste}{ugAvailSnoopPageFull2}{ugAvailSnoopPageEmpty2} -\pastebutton{ugAvailSnoopPageFull2}{\hidepaste} -\tab{5}\spadcommand{)what domain matrix} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugAvailSnoopPageEmpty2} -\begin{paste}{ugAvailSnoopPageEmpty2}{ugAvailSnoopPagePatch2} -\pastebutton{ugAvailSnoopPageEmpty2}{\showpaste} -\tab{5}\spadcommand{)what domain matrix} -\end{paste}\end{patch} - -\begin{patch}{ugAvailSnoopPagePatch3} -\begin{paste}{ugAvailSnoopPageFull3}{ugAvailSnoopPageEmpty3} -\pastebutton{ugAvailSnoopPageFull3}{\hidepaste} -\tab{5}\spadcommand{)what package gauss} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugAvailSnoopPageEmpty3} -\begin{paste}{ugAvailSnoopPageEmpty3}{ugAvailSnoopPagePatch3} -\pastebutton{ugAvailSnoopPageEmpty3}{\showpaste} -\tab{5}\spadcommand{)what package gauss} -\end{paste}\end{patch} - -\begin{patch}{ugAvailSnoopPagePatch4} -\begin{paste}{ugAvailSnoopPageFull4}{ugAvailSnoopPageEmpty4} -\pastebutton{ugAvailSnoopPageFull4}{\hidepaste} -\tab{5}\spadcommand{)show Any} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugAvailSnoopPageEmpty4} -\begin{paste}{ugAvailSnoopPageEmpty4}{ugAvailSnoopPagePatch4} -\pastebutton{ugAvailSnoopPageEmpty4}{\showpaste} -\tab{5}\spadcommand{)show Any} -\end{paste}\end{patch} - -\begin{patch}{ugAvailSnoopPagePatch5} -\begin{paste}{ugAvailSnoopPageFull5}{ugAvailSnoopPageEmpty5} -\pastebutton{ugAvailSnoopPageFull5}{\hidepaste} -\tab{5}\spadcommand{)display operation complex} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugAvailSnoopPageEmpty5} -\begin{paste}{ugAvailSnoopPageEmpty5}{ugAvailSnoopPagePatch5} -\pastebutton{ugAvailSnoopPageEmpty5}{\showpaste} -\tab{5}\spadcommand{)display operation complex} -\end{paste}\end{patch} - -\begin{patch}{ugAvailSnoopPagePatch6} -\begin{paste}{ugAvailSnoopPageFull6}{ugAvailSnoopPageEmpty6} -\pastebutton{ugAvailSnoopPageFull6}{\hidepaste} -\tab{5}\spadcommand{)abbreviation query COMPCAT} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugAvailSnoopPageEmpty6} -\begin{paste}{ugAvailSnoopPageEmpty6}{ugAvailSnoopPagePatch6} -\pastebutton{ugAvailSnoopPageEmpty6}{\showpaste} -\tab{5}\spadcommand{)abbreviation query COMPCAT} -\end{paste}\end{patch} - -\begin{patch}{ugAvailSnoopPagePatch7} -\begin{paste}{ugAvailSnoopPageFull7}{ugAvailSnoopPageEmpty7} -\pastebutton{ugAvailSnoopPageFull7}{\hidepaste} -\tab{5}\spadcommand{)abbreviation query COMRING} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugAvailSnoopPageEmpty7} -\begin{paste}{ugAvailSnoopPageEmpty7}{ugAvailSnoopPagePatch7} -\pastebutton{ugAvailSnoopPageEmpty7}{\showpaste} -\tab{5}\spadcommand{)abbreviation query COMRING} -\end{paste}\end{patch} - -\begin{patch}{ugTypesExposePagePatch1} -\begin{paste}{ugTypesExposePageFull1}{ugTypesExposePageEmpty1} -\pastebutton{ugTypesExposePageFull1}{\hidepaste} -\tab{5}\spadcommand{x + x} -\indentrel{3}\begin{verbatim} - (1) 2x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesExposePageEmpty1} -\begin{paste}{ugTypesExposePageEmpty1}{ugTypesExposePagePatch1} -\pastebutton{ugTypesExposePageEmpty1}{\showpaste} -\tab{5}\spadcommand{x + x} -\end{paste}\end{patch} - -\begin{patch}{ugTypesExposePagePatch2} -\begin{paste}{ugTypesExposePageFull2}{ugTypesExposePageEmpty2} -\pastebutton{ugTypesExposePageFull2}{\hidepaste} -\tab{5}\spadcommand{)set expose add constructor OutputForm\bound{setexposeadd }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesExposePageEmpty2} -\begin{paste}{ugTypesExposePageEmpty2}{ugTypesExposePagePatch2} -\pastebutton{ugTypesExposePageEmpty2}{\showpaste} -\tab{5}\spadcommand{)set expose add constructor OutputForm\bound{setexposeadd }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesExposePagePatch3} -\begin{paste}{ugTypesExposePageFull3}{ugTypesExposePageEmpty3} -\pastebutton{ugTypesExposePageFull3}{\hidepaste} -\tab{5}\spadcommand{x + x\free{setexposeadd }} -\indentrel{3}\begin{verbatim} - (2) x + x - Type: OutputForm -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesExposePageEmpty3} -\begin{paste}{ugTypesExposePageEmpty3}{ugTypesExposePagePatch3} -\pastebutton{ugTypesExposePageEmpty3}{\showpaste} -\tab{5}\spadcommand{x + x\free{setexposeadd }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesExposePagePatch4} -\begin{paste}{ugTypesExposePageFull4}{ugTypesExposePageEmpty4} -\pastebutton{ugTypesExposePageFull4}{\hidepaste} -\tab{5}\spadcommand{)set expose drop constructor OutputForm\bound{setexposedrop }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesExposePageEmpty4} -\begin{paste}{ugTypesExposePageEmpty4}{ugTypesExposePagePatch4} -\pastebutton{ugTypesExposePageEmpty4}{\showpaste} -\tab{5}\spadcommand{)set expose drop constructor OutputForm\bound{setexposedrop }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPagePatch1} -\begin{paste}{ugTypesPkgCallPageFull1}{ugTypesPkgCallPageEmpty1} -\pastebutton{ugTypesPkgCallPageFull1}{\hidepaste} -\tab{5}\spadcommand{2/3} -\indentrel{3}\begin{verbatim} - 2 - (1) Ä - 3 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPageEmpty1} -\begin{paste}{ugTypesPkgCallPageEmpty1}{ugTypesPkgCallPagePatch1} -\pastebutton{ugTypesPkgCallPageEmpty1}{\showpaste} -\tab{5}\spadcommand{2/3} -\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPagePatch2} -\begin{paste}{ugTypesPkgCallPageFull2}{ugTypesPkgCallPageEmpty2} -\pastebutton{ugTypesPkgCallPageFull2}{\hidepaste} -\tab{5}\spadcommand{(2/3)$Float} -\indentrel{3}\begin{verbatim} - (2) 0.6666666666 6666666667 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPageEmpty2} -\begin{paste}{ugTypesPkgCallPageEmpty2}{ugTypesPkgCallPagePatch2} -\pastebutton{ugTypesPkgCallPageEmpty2}{\showpaste} -\tab{5}\spadcommand{(2/3)$Float} -\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPagePatch3} -\begin{paste}{ugTypesPkgCallPageFull3}{ugTypesPkgCallPageEmpty3} -\pastebutton{ugTypesPkgCallPageFull3}{\hidepaste} -\tab{5}\spadcommand{(2/3)$Fraction(Complex Integer)} -\indentrel{3}\begin{verbatim} - 2 - (3) Ä - 3 - Type: Fraction Complex Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPageEmpty3} -\begin{paste}{ugTypesPkgCallPageEmpty3}{ugTypesPkgCallPagePatch3} -\pastebutton{ugTypesPkgCallPageEmpty3}{\showpaste} -\tab{5}\spadcommand{(2/3)$Fraction(Complex Integer)} -\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPagePatch4} -\begin{paste}{ugTypesPkgCallPageFull4}{ugTypesPkgCallPageEmpty4} -\pastebutton{ugTypesPkgCallPageFull4}{\hidepaste} -\tab{5}\spadcommand{(2/3)@Float} -\indentrel{3}\begin{verbatim} - (4) 0.6666666666 6666666667 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPageEmpty4} -\begin{paste}{ugTypesPkgCallPageEmpty4}{ugTypesPkgCallPagePatch4} -\pastebutton{ugTypesPkgCallPageEmpty4}{\showpaste} -\tab{5}\spadcommand{(2/3)@Float} -\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPagePatch5} -\begin{paste}{ugTypesPkgCallPageFull5}{ugTypesPkgCallPageEmpty5} -\pastebutton{ugTypesPkgCallPageFull5}{\hidepaste} -\tab{5}\spadcommand{(2 + 3)@String} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPageEmpty5} -\begin{paste}{ugTypesPkgCallPageEmpty5}{ugTypesPkgCallPagePatch5} -\pastebutton{ugTypesPkgCallPageEmpty5}{\showpaste} -\tab{5}\spadcommand{(2 + 3)@String} -\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPagePatch6} -\begin{paste}{ugTypesPkgCallPageFull6}{ugTypesPkgCallPageEmpty6} -\pastebutton{ugTypesPkgCallPageFull6}{\hidepaste} -\tab{5}\spadcommand{(2 + 3)$String} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPageEmpty6} -\begin{paste}{ugTypesPkgCallPageEmpty6}{ugTypesPkgCallPagePatch6} -\pastebutton{ugTypesPkgCallPageEmpty6}{\showpaste} -\tab{5}\spadcommand{(2 + 3)$String} -\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPagePatch7} -\begin{paste}{ugTypesPkgCallPageFull7}{ugTypesPkgCallPageEmpty7} -\pastebutton{ugTypesPkgCallPageFull7}{\hidepaste} -\tab{5}\spadcommand{((x + y * \%i)**2)@(Complex Polynomial Integer)} -\indentrel{3}\begin{verbatim} - 2 2 - (5) - y + x + 2x y %i - Type: Complex Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPageEmpty7} -\begin{paste}{ugTypesPkgCallPageEmpty7}{ugTypesPkgCallPagePatch7} -\pastebutton{ugTypesPkgCallPageEmpty7}{\showpaste} -\tab{5}\spadcommand{((x + y * \%i)**2)@(Complex Polynomial Integer)} -\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPagePatch8} -\begin{paste}{ugTypesPkgCallPageFull8}{ugTypesPkgCallPageEmpty8} -\pastebutton{ugTypesPkgCallPageFull8}{\hidepaste} -\tab{5}\spadcommand{((x + y * \%i)**2)@(Polynomial Complex Integer)} -\indentrel{3}\begin{verbatim} - 2 2 - (6) - y + 2%i x y + x - Type: Polynomial Complex Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPageEmpty8} -\begin{paste}{ugTypesPkgCallPageEmpty8}{ugTypesPkgCallPagePatch8} -\pastebutton{ugTypesPkgCallPageEmpty8}{\showpaste} -\tab{5}\spadcommand{((x + y * \%i)**2)@(Polynomial Complex Integer)} -\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPagePatch9} -\begin{paste}{ugTypesPkgCallPageFull9}{ugTypesPkgCallPageEmpty9} -\pastebutton{ugTypesPkgCallPageFull9}{\hidepaste} -\tab{5}\spadcommand{(x + y * \%i)**2\bound{prevC }} -\indentrel{3}\begin{verbatim} - 2 2 - (7) - y + 2%i x y + x - Type: Polynomial Complex Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPageEmpty9} -\begin{paste}{ugTypesPkgCallPageEmpty9}{ugTypesPkgCallPagePatch9} -\pastebutton{ugTypesPkgCallPageEmpty9}{\showpaste} -\tab{5}\spadcommand{(x + y * \%i)**2\bound{prevC }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPagePatch10} -\begin{paste}{ugTypesPkgCallPageFull10}{ugTypesPkgCallPageEmpty10} -\pastebutton{ugTypesPkgCallPageFull10}{\hidepaste} -\tab{5}\spadcommand{\% :: Complex ?\free{prevC }} -\indentrel{3}\begin{verbatim} - 2 2 - (8) - y + x + 2x y %i - Type: Complex Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPageEmpty10} -\begin{paste}{ugTypesPkgCallPageEmpty10}{ugTypesPkgCallPagePatch10} -\pastebutton{ugTypesPkgCallPageEmpty10}{\showpaste} -\tab{5}\spadcommand{\% :: Complex ?\free{prevC }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPagePatch11} -\begin{paste}{ugTypesPkgCallPageFull11}{ugTypesPkgCallPageEmpty11} -\pastebutton{ugTypesPkgCallPageFull11}{\hidepaste} -\tab{5}\spadcommand{h := matrix [[8,6],[-4,9]]\bound{h }} -\indentrel{3}\begin{verbatim} - Ú 8 6¿ - (9) ³ ³ - À- 4 9Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPageEmpty11} -\begin{paste}{ugTypesPkgCallPageEmpty11}{ugTypesPkgCallPagePatch11} -\pastebutton{ugTypesPkgCallPageEmpty11}{\showpaste} -\tab{5}\spadcommand{h := matrix [[8,6],[-4,9]]\bound{h }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPagePatch12} -\begin{paste}{ugTypesPkgCallPageFull12}{ugTypesPkgCallPageEmpty12} -\pastebutton{ugTypesPkgCallPageFull12}{\hidepaste} -\tab{5}\spadcommand{map(inv$Fraction(Integer),h)\free{h }} -\indentrel{3}\begin{verbatim} - Ú 1 1¿ - ³ Ä Ä³ - ³ 8 6³ - (10) ³ ³ - ³ 1 1³ - ³- Ä Ä³ - À 4 9Ù - Type: Matrix Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPageEmpty12} -\begin{paste}{ugTypesPkgCallPageEmpty12}{ugTypesPkgCallPagePatch12} -\pastebutton{ugTypesPkgCallPageEmpty12}{\showpaste} -\tab{5}\spadcommand{map(inv$Fraction(Integer),h)\free{h }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPagePatch13} -\begin{paste}{ugTypesPkgCallPageFull13}{ugTypesPkgCallPageEmpty13} -\pastebutton{ugTypesPkgCallPageFull13}{\hidepaste} -\tab{5}\spadcommand{map(inv$FRAC(INT),h)\free{h }\bound{h1 }} -\indentrel{3}\begin{verbatim} - Ú 1 1¿ - ³ Ä Ä³ - ³ 8 6³ - (11) ³ ³ - ³ 1 1³ - ³- Ä Ä³ - À 4 9Ù - Type: Matrix Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPageEmpty13} -\begin{paste}{ugTypesPkgCallPageEmpty13}{ugTypesPkgCallPagePatch13} -\pastebutton{ugTypesPkgCallPageEmpty13}{\showpaste} -\tab{5}\spadcommand{map(inv$FRAC(INT),h)\free{h }\bound{h1 }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPagePatch14} -\begin{paste}{ugTypesPkgCallPageFull14}{ugTypesPkgCallPageEmpty14} -\pastebutton{ugTypesPkgCallPageFull14}{\hidepaste} -\tab{5}\spadcommand{map(inv,h)\free{h }} -\indentrel{3}\begin{verbatim} - Ú 1 1¿ - ³ Ä Ä³ - ³ 8 6³ - (12) ³ ³ - ³ 1 1³ - ³- Ä Ä³ - À 4 9Ù - Type: Matrix Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesPkgCallPageEmpty14} -\begin{paste}{ugTypesPkgCallPageEmpty14}{ugTypesPkgCallPagePatch14} -\pastebutton{ugTypesPkgCallPageEmpty14}{\showpaste} -\tab{5}\spadcommand{map(inv,h)\free{h }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesDeclarePagePatch1} -\begin{paste}{ugTypesDeclarePageFull1}{ugTypesDeclarePageEmpty1} -\pastebutton{ugTypesDeclarePageFull1}{\hidepaste} -\tab{5}\spadcommand{a : Integer\bound{a }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesDeclarePageEmpty1} -\begin{paste}{ugTypesDeclarePageEmpty1}{ugTypesDeclarePagePatch1} -\pastebutton{ugTypesDeclarePageEmpty1}{\showpaste} -\tab{5}\spadcommand{a : Integer\bound{a }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesDeclarePagePatch2} -\begin{paste}{ugTypesDeclarePageFull2}{ugTypesDeclarePageEmpty2} -\pastebutton{ugTypesDeclarePageFull2}{\hidepaste} -\tab{5}\spadcommand{(b,c) : Integer\bound{b c }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesDeclarePageEmpty2} -\begin{paste}{ugTypesDeclarePageEmpty2}{ugTypesDeclarePagePatch2} -\pastebutton{ugTypesDeclarePageEmpty2}{\showpaste} -\tab{5}\spadcommand{(b,c) : Integer\bound{b c }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesDeclarePagePatch3} -\begin{paste}{ugTypesDeclarePageFull3}{ugTypesDeclarePageEmpty3} -\pastebutton{ugTypesDeclarePageFull3}{\hidepaste} -\tab{5}\spadcommand{a := 45\free{a }} -\indentrel{3}\begin{verbatim} - (3) 45 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesDeclarePageEmpty3} -\begin{paste}{ugTypesDeclarePageEmpty3}{ugTypesDeclarePagePatch3} -\pastebutton{ugTypesDeclarePageEmpty3}{\showpaste} -\tab{5}\spadcommand{a := 45\free{a }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesDeclarePagePatch4} -\begin{paste}{ugTypesDeclarePageFull4}{ugTypesDeclarePageEmpty4} -\pastebutton{ugTypesDeclarePageFull4}{\hidepaste} -\tab{5}\spadcommand{b := 4/5\free{b }} -\indentrel{3}\begin{verbatim} - 4 - Ä - 5 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesDeclarePageEmpty4} -\begin{paste}{ugTypesDeclarePageEmpty4}{ugTypesDeclarePagePatch4} -\pastebutton{ugTypesDeclarePageEmpty4}{\showpaste} -\tab{5}\spadcommand{b := 4/5\free{b }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesDeclarePagePatch5} -\begin{paste}{ugTypesDeclarePageFull5}{ugTypesDeclarePageEmpty5} -\pastebutton{ugTypesDeclarePageFull5}{\hidepaste} -\tab{5}\spadcommand{n : Complex ?\bound{n }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesDeclarePageEmpty5} -\begin{paste}{ugTypesDeclarePageEmpty5}{ugTypesDeclarePagePatch5} -\pastebutton{ugTypesDeclarePageEmpty5}{\showpaste} -\tab{5}\spadcommand{n : Complex ?\bound{n }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesDeclarePagePatch6} -\begin{paste}{ugTypesDeclarePageFull6}{ugTypesDeclarePageEmpty6} -\pastebutton{ugTypesDeclarePageFull6}{\hidepaste} -\tab{5}\spadcommand{(p,q,r) : Matrix Polynomial ?\bound{p q r }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesDeclarePageEmpty6} -\begin{paste}{ugTypesDeclarePageEmpty6}{ugTypesDeclarePagePatch6} -\pastebutton{ugTypesDeclarePageEmpty6}{\showpaste} -\tab{5}\spadcommand{(p,q,r) : Matrix Polynomial ?\bound{p q r }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesDeclarePagePatch7} -\begin{paste}{ugTypesDeclarePageFull7}{ugTypesDeclarePageEmpty7} -\pastebutton{ugTypesDeclarePageFull7}{\hidepaste} -\tab{5}\spadcommand{n := -36 + 9 * \%i\free{n }} -\indentrel{3}\begin{verbatim} - (6) - 36 + 9%i - Type: Complex Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesDeclarePageEmpty7} -\begin{paste}{ugTypesDeclarePageEmpty7}{ugTypesDeclarePagePatch7} -\pastebutton{ugTypesDeclarePageEmpty7}{\showpaste} -\tab{5}\spadcommand{n := -36 + 9 * \%i\free{n }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesDeclarePagePatch8} -\begin{paste}{ugTypesDeclarePageFull8}{ugTypesDeclarePageEmpty8} -\pastebutton{ugTypesDeclarePageFull8}{\hidepaste} -\tab{5}\spadcommand{n := complex(4/(x + y),y/x)\free{n }} -\indentrel{3}\begin{verbatim} - 4 y - (7) ÄÄÄÄÄ + Ä %i - y + x x - Type: Complex Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesDeclarePageEmpty8} -\begin{paste}{ugTypesDeclarePageEmpty8}{ugTypesDeclarePagePatch8} -\pastebutton{ugTypesDeclarePageEmpty8}{\showpaste} -\tab{5}\spadcommand{n := complex(4/(x + y),y/x)\free{n }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesDeclarePagePatch9} -\begin{paste}{ugTypesDeclarePageFull9}{ugTypesDeclarePageEmpty9} -\pastebutton{ugTypesDeclarePageFull9}{\hidepaste} -\tab{5}\spadcommand{p := [[1,2],[3,4],[5,6]]\free{p }} -\indentrel{3}\begin{verbatim} - Ú1 2¿ - ³ ³ - (8) ³3 4³ - ³ ³ - À5 6Ù - Type: Matrix Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesDeclarePageEmpty9} -\begin{paste}{ugTypesDeclarePageEmpty9}{ugTypesDeclarePagePatch9} -\pastebutton{ugTypesDeclarePageEmpty9}{\showpaste} -\tab{5}\spadcommand{p := [[1,2],[3,4],[5,6]]\free{p }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesDeclarePagePatch10} -\begin{paste}{ugTypesDeclarePageFull10}{ugTypesDeclarePageEmpty10} -\pastebutton{ugTypesDeclarePageFull10}{\hidepaste} -\tab{5}\spadcommand{q := [[x - 2/3]]\free{q }} -\indentrel{3}\begin{verbatim} - Ú 2¿ - (9) ³x - ij - À 3Ù - Type: Matrix Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesDeclarePageEmpty10} -\begin{paste}{ugTypesDeclarePageEmpty10}{ugTypesDeclarePagePatch10} -\pastebutton{ugTypesDeclarePageEmpty10}{\showpaste} -\tab{5}\spadcommand{q := [[x - 2/3]]\free{q }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesDeclarePagePatch11} -\begin{paste}{ugTypesDeclarePageFull11}{ugTypesDeclarePageEmpty11} -\pastebutton{ugTypesDeclarePageFull11}{\hidepaste} -\tab{5}\spadcommand{r := [[1-\%i*x,7*y+4*\%i]]\free{r }} -\indentrel{3}\begin{verbatim} - (10) [- %i x + 1 7y + 4%i] - Type: Matrix Polynomial Complex Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesDeclarePageEmpty11} -\begin{paste}{ugTypesDeclarePageEmpty11}{ugTypesDeclarePagePatch11} -\pastebutton{ugTypesDeclarePageEmpty11}{\showpaste} -\tab{5}\spadcommand{r := [[1-\%i*x,7*y+4*\%i]]\free{r }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesDeclarePagePatch12} -\begin{paste}{ugTypesDeclarePageFull12}{ugTypesDeclarePageEmpty12} -\pastebutton{ugTypesDeclarePageFull12}{\hidepaste} -\tab{5}\spadcommand{f : COMPLEX POLY ? := (x + y*\%i)**2} -\indentrel{3}\begin{verbatim} - 2 2 - (11) - y + x + 2x y %i - Type: Complex Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesDeclarePageEmpty12} -\begin{paste}{ugTypesDeclarePageEmpty12}{ugTypesDeclarePagePatch12} -\pastebutton{ugTypesDeclarePageEmpty12}{\showpaste} -\tab{5}\spadcommand{f : COMPLEX POLY ? := (x + y*\%i)**2} -\end{paste}\end{patch} - -\begin{patch}{ugTypesDeclarePagePatch13} -\begin{paste}{ugTypesDeclarePageFull13}{ugTypesDeclarePageEmpty13} -\pastebutton{ugTypesDeclarePageFull13}{\hidepaste} -\tab{5}\spadcommand{g : POLY COMPLEX ? := (x + y*\%i)**2} -\indentrel{3}\begin{verbatim} - 2 2 - (12) - y + 2%i x y + x - Type: Polynomial Complex Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesDeclarePageEmpty13} -\begin{paste}{ugTypesDeclarePageEmpty13}{ugTypesDeclarePagePatch13} -\pastebutton{ugTypesDeclarePageEmpty13}{\showpaste} -\tab{5}\spadcommand{g : POLY COMPLEX ? := (x + y*\%i)**2} -\end{paste}\end{patch} - -\begin{patch}{ugTypesAnyNonePagePatch1} -\begin{paste}{ugTypesAnyNonePageFull1}{ugTypesAnyNonePageEmpty1} -\pastebutton{ugTypesAnyNonePageFull1}{\hidepaste} -\tab{5}\spadcommand{u: Any\bound{uany }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesAnyNonePageEmpty1} -\begin{paste}{ugTypesAnyNonePageEmpty1}{ugTypesAnyNonePagePatch1} -\pastebutton{ugTypesAnyNonePageEmpty1}{\showpaste} -\tab{5}\spadcommand{u: Any\bound{uany }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesAnyNonePagePatch2} -\begin{paste}{ugTypesAnyNonePageFull2}{ugTypesAnyNonePageEmpty2} -\pastebutton{ugTypesAnyNonePageFull2}{\hidepaste} -\tab{5}\spadcommand{u := [1, 7.2, 3/2, x**2, "wally"]\free{uany }\bound{u }} -\indentrel{3}\begin{verbatim} - 3 2 - (2) [1,7.2,Ä,x ,"wally"] - 2 - Type: List Any -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesAnyNonePageEmpty2} -\begin{paste}{ugTypesAnyNonePageEmpty2}{ugTypesAnyNonePagePatch2} -\pastebutton{ugTypesAnyNonePageEmpty2}{\showpaste} -\tab{5}\spadcommand{u := [1, 7.2, 3/2, x**2, "wally"]\free{uany }\bound{u }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesAnyNonePagePatch3} -\begin{paste}{ugTypesAnyNonePageFull3}{ugTypesAnyNonePageEmpty3} -\pastebutton{ugTypesAnyNonePageFull3}{\hidepaste} -\tab{5}\spadcommand{u.1\free{u }} -\indentrel{3}\begin{verbatim} - (3) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesAnyNonePageEmpty3} -\begin{paste}{ugTypesAnyNonePageEmpty3}{ugTypesAnyNonePagePatch3} -\pastebutton{ugTypesAnyNonePageEmpty3}{\showpaste} -\tab{5}\spadcommand{u.1\free{u }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesAnyNonePagePatch4} -\begin{paste}{ugTypesAnyNonePageFull4}{ugTypesAnyNonePageEmpty4} -\pastebutton{ugTypesAnyNonePageFull4}{\hidepaste} -\tab{5}\spadcommand{u.3\free{u }} -\indentrel{3}\begin{verbatim} - 3 - (4) Ä - 2 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesAnyNonePageEmpty4} -\begin{paste}{ugTypesAnyNonePageEmpty4}{ugTypesAnyNonePagePatch4} -\pastebutton{ugTypesAnyNonePageEmpty4}{\showpaste} -\tab{5}\spadcommand{u.3\free{u }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesAnyNonePagePatch5} -\begin{paste}{ugTypesAnyNonePageFull5}{ugTypesAnyNonePageEmpty5} -\pastebutton{ugTypesAnyNonePageFull5}{\hidepaste} -\tab{5}\spadcommand{v : Matrix(Any)} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesAnyNonePageEmpty5} -\begin{paste}{ugTypesAnyNonePageEmpty5}{ugTypesAnyNonePagePatch5} -\pastebutton{ugTypesAnyNonePageEmpty5}{\showpaste} -\tab{5}\spadcommand{v : Matrix(Any)} -\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPagePatch1} -\begin{paste}{ugTypesRecordsPageFull1}{ugTypesRecordsPageEmpty1} -\pastebutton{ugTypesRecordsPageFull1}{\hidepaste} -\tab{5}\spadcommand{u := divide(5,2)\bound{u }} -\indentrel{3}\begin{verbatim} - (1) [quotient= 2,remainder= 1] - Type: Record(quotient: Integer,remainder: Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPageEmpty1} -\begin{paste}{ugTypesRecordsPageEmpty1}{ugTypesRecordsPagePatch1} -\pastebutton{ugTypesRecordsPageEmpty1}{\showpaste} -\tab{5}\spadcommand{u := divide(5,2)\bound{u }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPagePatch2} -\begin{paste}{ugTypesRecordsPageFull2}{ugTypesRecordsPageEmpty2} -\pastebutton{ugTypesRecordsPageFull2}{\hidepaste} -\tab{5}\spadcommand{u.quotient\free{u }} -\indentrel{3}\begin{verbatim} - (2) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPageEmpty2} -\begin{paste}{ugTypesRecordsPageEmpty2}{ugTypesRecordsPagePatch2} -\pastebutton{ugTypesRecordsPageEmpty2}{\showpaste} -\tab{5}\spadcommand{u.quotient\free{u }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPagePatch3} -\begin{paste}{ugTypesRecordsPageFull3}{ugTypesRecordsPageEmpty3} -\pastebutton{ugTypesRecordsPageFull3}{\hidepaste} -\tab{5}\spadcommand{u.remainder\free{u }} -\indentrel{3}\begin{verbatim} - (3) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPageEmpty3} -\begin{paste}{ugTypesRecordsPageEmpty3}{ugTypesRecordsPagePatch3} -\pastebutton{ugTypesRecordsPageEmpty3}{\showpaste} -\tab{5}\spadcommand{u.remainder\free{u }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPagePatch4} -\begin{paste}{ugTypesRecordsPageFull4}{ugTypesRecordsPageEmpty4} -\pastebutton{ugTypesRecordsPageFull4}{\hidepaste} -\tab{5}\spadcommand{u.quotient := 8978\free{u }\bound{u1 }} -\indentrel{3}\begin{verbatim} - (4) 8978 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPageEmpty4} -\begin{paste}{ugTypesRecordsPageEmpty4}{ugTypesRecordsPagePatch4} -\pastebutton{ugTypesRecordsPageEmpty4}{\showpaste} -\tab{5}\spadcommand{u.quotient := 8978\free{u }\bound{u1 }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPagePatch5} -\begin{paste}{ugTypesRecordsPageFull5}{ugTypesRecordsPageEmpty5} -\pastebutton{ugTypesRecordsPageFull5}{\hidepaste} -\tab{5}\spadcommand{u\free{u }\free{u1 }} -\indentrel{3}\begin{verbatim} - (5) [quotient= 8978,remainder= 1] - Type: Record(quotient: Integer,remainder: Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPageEmpty5} -\begin{paste}{ugTypesRecordsPageEmpty5}{ugTypesRecordsPagePatch5} -\pastebutton{ugTypesRecordsPageEmpty5}{\showpaste} -\tab{5}\spadcommand{u\free{u }\free{u1 }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPagePatch6} -\begin{paste}{ugTypesRecordsPageFull6}{ugTypesRecordsPageEmpty6} -\pastebutton{ugTypesRecordsPageFull6}{\hidepaste} -\tab{5}\spadcommand{s := 'quotient\bound{s }} -\indentrel{3}\begin{verbatim} - (6) quotient - Type: Variable quotient -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPageEmpty6} -\begin{paste}{ugTypesRecordsPageEmpty6}{ugTypesRecordsPagePatch6} -\pastebutton{ugTypesRecordsPageEmpty6}{\showpaste} -\tab{5}\spadcommand{s := 'quotient\bound{s }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPagePatch7} -\begin{paste}{ugTypesRecordsPageFull7}{ugTypesRecordsPageEmpty7} -\pastebutton{ugTypesRecordsPageFull7}{\hidepaste} -\tab{5}\spadcommand{divide(5,2).s\free{s }} -\indentrel{3}\begin{verbatim} - (7) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPageEmpty7} -\begin{paste}{ugTypesRecordsPageEmpty7}{ugTypesRecordsPagePatch7} -\pastebutton{ugTypesRecordsPageEmpty7}{\showpaste} -\tab{5}\spadcommand{divide(5,2).s\free{s }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPagePatch8} -\begin{paste}{ugTypesRecordsPageFull8}{ugTypesRecordsPageEmpty8} -\pastebutton{ugTypesRecordsPageFull8}{\hidepaste} -\tab{5}\spadcommand{bd : Record(name : String, birthdayMonth : Integer)\bound{bddec }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPageEmpty8} -\begin{paste}{ugTypesRecordsPageEmpty8}{ugTypesRecordsPagePatch8} -\pastebutton{ugTypesRecordsPageEmpty8}{\showpaste} -\tab{5}\spadcommand{bd : Record(name : String, birthdayMonth : Integer)\bound{bddec }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPagePatch9} -\begin{paste}{ugTypesRecordsPageFull9}{ugTypesRecordsPageEmpty9} -\pastebutton{ugTypesRecordsPageFull9}{\hidepaste} -\tab{5}\spadcommand{bd := ["Judith", 3]\free{bddec }\bound{bd }} -\indentrel{3}\begin{verbatim} - (9) [name= "Judith",birthdayMonth= 3] - Type: Record(name: String,birthdayMonth: Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPageEmpty9} -\begin{paste}{ugTypesRecordsPageEmpty9}{ugTypesRecordsPagePatch9} -\pastebutton{ugTypesRecordsPageEmpty9}{\showpaste} -\tab{5}\spadcommand{bd := ["Judith", 3]\free{bddec }\bound{bd }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPagePatch10} -\begin{paste}{ugTypesRecordsPageFull10}{ugTypesRecordsPageEmpty10} -\pastebutton{ugTypesRecordsPageFull10}{\hidepaste} -\tab{5}\spadcommand{bd.name := "Katie"\free{bd }} -\indentrel{3}\begin{verbatim} - (10) "Katie" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPageEmpty10} -\begin{paste}{ugTypesRecordsPageEmpty10}{ugTypesRecordsPagePatch10} -\pastebutton{ugTypesRecordsPageEmpty10}{\showpaste} -\tab{5}\spadcommand{bd.name := "Katie"\free{bd }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPagePatch11} -\begin{paste}{ugTypesRecordsPageFull11}{ugTypesRecordsPageEmpty11} -\pastebutton{ugTypesRecordsPageFull11}{\hidepaste} -\tab{5}\spadcommand{r : Record(a : Record(b: Integer, c: Integer), b: Integer)\bound{rdec }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPageEmpty11} -\begin{paste}{ugTypesRecordsPageEmpty11}{ugTypesRecordsPagePatch11} -\pastebutton{ugTypesRecordsPageEmpty11}{\showpaste} -\tab{5}\spadcommand{r : Record(a : Record(b: Integer, c: Integer), b: Integer)\bound{rdec }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPagePatch12} -\begin{paste}{ugTypesRecordsPageFull12}{ugTypesRecordsPageEmpty12} -\pastebutton{ugTypesRecordsPageFull12}{\hidepaste} -\tab{5}\spadcommand{r := [[1,2],3]\bound{r }\free{rdec }} -\indentrel{3}\begin{verbatim} - (12) [a= [b= 1,c= 2],b= 3] -Type: Record(a: Record(b: Integer,c: Integer),b: Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPageEmpty12} -\begin{paste}{ugTypesRecordsPageEmpty12}{ugTypesRecordsPagePatch12} -\pastebutton{ugTypesRecordsPageEmpty12}{\showpaste} -\tab{5}\spadcommand{r := [[1,2],3]\bound{r }\free{rdec }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPagePatch13} -\begin{paste}{ugTypesRecordsPageFull13}{ugTypesRecordsPageEmpty13} -\pastebutton{ugTypesRecordsPageFull13}{\hidepaste} -\tab{5}\spadcommand{r.a.b\free{r }} -\indentrel{3}\begin{verbatim} - (13) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPageEmpty13} -\begin{paste}{ugTypesRecordsPageEmpty13}{ugTypesRecordsPagePatch13} -\pastebutton{ugTypesRecordsPageEmpty13}{\showpaste} -\tab{5}\spadcommand{r.a.b\free{r }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPagePatch14} -\begin{paste}{ugTypesRecordsPageFull14}{ugTypesRecordsPageEmpty14} -\pastebutton{ugTypesRecordsPageFull14}{\hidepaste} -\tab{5}\spadcommand{r.b\free{r }} -\indentrel{3}\begin{verbatim} - (14) 3 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPageEmpty14} -\begin{paste}{ugTypesRecordsPageEmpty14}{ugTypesRecordsPagePatch14} -\pastebutton{ugTypesRecordsPageEmpty14}{\showpaste} -\tab{5}\spadcommand{r.b\free{r }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPagePatch15} -\begin{paste}{ugTypesRecordsPageFull15}{ugTypesRecordsPageEmpty15} -\pastebutton{ugTypesRecordsPageFull15}{\hidepaste} -\tab{5}\spadcommand{r(a)\free{r }} -\indentrel{3}\begin{verbatim} - (15) [b= 1,c= 2] - Type: Record(b: Integer,c: Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPageEmpty15} -\begin{paste}{ugTypesRecordsPageEmpty15}{ugTypesRecordsPagePatch15} -\pastebutton{ugTypesRecordsPageEmpty15}{\showpaste} -\tab{5}\spadcommand{r(a)\free{r }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPagePatch16} -\begin{paste}{ugTypesRecordsPageFull16}{ugTypesRecordsPageEmpty16} -\pastebutton{ugTypesRecordsPageFull16}{\hidepaste} -\tab{5}\spadcommand{r b\free{r }} -\indentrel{3}\begin{verbatim} - (16) 3 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPageEmpty16} -\begin{paste}{ugTypesRecordsPageEmpty16}{ugTypesRecordsPagePatch16} -\pastebutton{ugTypesRecordsPageEmpty16}{\showpaste} -\tab{5}\spadcommand{r b\free{r }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPagePatch17} -\begin{paste}{ugTypesRecordsPageFull17}{ugTypesRecordsPageEmpty17} -\pastebutton{ugTypesRecordsPageFull17}{\hidepaste} -\tab{5}\spadcommand{r(b) := 10\free{r }\bound{r1 }} -\indentrel{3}\begin{verbatim} - (17) 10 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPageEmpty17} -\begin{paste}{ugTypesRecordsPageEmpty17}{ugTypesRecordsPagePatch17} -\pastebutton{ugTypesRecordsPageEmpty17}{\showpaste} -\tab{5}\spadcommand{r(b) := 10\free{r }\bound{r1 }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPagePatch18} -\begin{paste}{ugTypesRecordsPageFull18}{ugTypesRecordsPageEmpty18} -\pastebutton{ugTypesRecordsPageFull18}{\hidepaste} -\tab{5}\spadcommand{r\free{r1 }} -\indentrel{3}\begin{verbatim} - (18) [a= [b= 1,c= 2],b= 10] -Type: Record(a: Record(b: Integer,c: Integer),b: Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesRecordsPageEmpty18} -\begin{paste}{ugTypesRecordsPageEmpty18}{ugTypesRecordsPagePatch18} -\pastebutton{ugTypesRecordsPageEmpty18}{\showpaste} -\tab{5}\spadcommand{r\free{r1 }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesResolvePagePatch1} -\begin{paste}{ugTypesResolvePageFull1}{ugTypesResolvePageEmpty1} -\pastebutton{ugTypesResolvePageFull1}{\hidepaste} -\tab{5}\spadcommand{x} -\indentrel{3}\begin{verbatim} - (1) x - Type: Variable x -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesResolvePageEmpty1} -\begin{paste}{ugTypesResolvePageEmpty1}{ugTypesResolvePagePatch1} -\pastebutton{ugTypesResolvePageEmpty1}{\showpaste} -\tab{5}\spadcommand{x} -\end{paste}\end{patch} - -\begin{patch}{ugTypesResolvePagePatch2} -\begin{paste}{ugTypesResolvePageFull2}{ugTypesResolvePageEmpty2} -\pastebutton{ugTypesResolvePageFull2}{\hidepaste} -\tab{5}\spadcommand{1} -\indentrel{3}\begin{verbatim} - (2) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesResolvePageEmpty2} -\begin{paste}{ugTypesResolvePageEmpty2}{ugTypesResolvePagePatch2} -\pastebutton{ugTypesResolvePageEmpty2}{\showpaste} -\tab{5}\spadcommand{1} -\end{paste}\end{patch} - -\begin{patch}{ugTypesResolvePagePatch3} -\begin{paste}{ugTypesResolvePageFull3}{ugTypesResolvePageEmpty3} -\pastebutton{ugTypesResolvePageFull3}{\hidepaste} -\tab{5}\spadcommand{x + 1} -\indentrel{3}\begin{verbatim} - (3) x + 1 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesResolvePageEmpty3} -\begin{paste}{ugTypesResolvePageEmpty3}{ugTypesResolvePagePatch3} -\pastebutton{ugTypesResolvePageEmpty3}{\showpaste} -\tab{5}\spadcommand{x + 1} -\end{paste}\end{patch} - -\begin{patch}{ugTypesResolvePagePatch4} -\begin{paste}{ugTypesResolvePageFull4}{ugTypesResolvePageEmpty4} -\pastebutton{ugTypesResolvePageFull4}{\hidepaste} -\tab{5}\spadcommand{["string",3.14159]} -\indentrel{3}\begin{verbatim} - (4) ["string",3.14159] - Type: List Any -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesResolvePageEmpty4} -\begin{paste}{ugTypesResolvePageEmpty4}{ugTypesResolvePagePatch4} -\pastebutton{ugTypesResolvePageEmpty4}{\showpaste} -\tab{5}\spadcommand{["string",3.14159]} -\end{paste}\end{patch} - -\begin{patch}{ugTypesResolvePagePatch5} -\begin{paste}{ugTypesResolvePageFull5}{ugTypesResolvePageEmpty5} -\pastebutton{ugTypesResolvePageFull5}{\hidepaste} -\tab{5}\spadcommand{"string" + 3.14159} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesResolvePageEmpty5} -\begin{paste}{ugTypesResolvePageEmpty5}{ugTypesResolvePagePatch5} -\pastebutton{ugTypesResolvePageEmpty5}{\showpaste} -\tab{5}\spadcommand{"string" + 3.14159} -\end{paste}\end{patch} - -\begin{patch}{ugTypesConvertPagePatch1} -\begin{paste}{ugTypesConvertPageFull1}{ugTypesConvertPageEmpty1} -\pastebutton{ugTypesConvertPageFull1}{\hidepaste} -\tab{5}\spadcommand{3} -\indentrel{3}\begin{verbatim} - (1) 3 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesConvertPageEmpty1} -\begin{paste}{ugTypesConvertPageEmpty1}{ugTypesConvertPagePatch1} -\pastebutton{ugTypesConvertPageEmpty1}{\showpaste} -\tab{5}\spadcommand{3} -\end{paste}\end{patch} - -\begin{patch}{ugTypesConvertPagePatch2} -\begin{paste}{ugTypesConvertPageFull2}{ugTypesConvertPageEmpty2} -\pastebutton{ugTypesConvertPageFull2}{\hidepaste} -\tab{5}\spadcommand{3 :: Fraction Integer} -\indentrel{3}\begin{verbatim} - (2) 3 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesConvertPageEmpty2} -\begin{paste}{ugTypesConvertPageEmpty2}{ugTypesConvertPagePatch2} -\pastebutton{ugTypesConvertPageEmpty2}{\showpaste} -\tab{5}\spadcommand{3 :: Fraction Integer} -\end{paste}\end{patch} - -\begin{patch}{ugTypesConvertPagePatch3} -\begin{paste}{ugTypesConvertPageFull3}{ugTypesConvertPageEmpty3} -\pastebutton{ugTypesConvertPageFull3}{\hidepaste} -\tab{5}\spadcommand{m : SquareMatrix(2,POLY COMPLEX FRAC INT)\bound{mdec }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesConvertPageEmpty3} -\begin{paste}{ugTypesConvertPageEmpty3}{ugTypesConvertPagePatch3} -\pastebutton{ugTypesConvertPageEmpty3}{\showpaste} -\tab{5}\spadcommand{m : SquareMatrix(2,POLY COMPLEX FRAC INT)\bound{mdec }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesConvertPagePatch4} -\begin{paste}{ugTypesConvertPageFull4}{ugTypesConvertPageEmpty4} -\pastebutton{ugTypesConvertPageFull4}{\hidepaste} -\tab{5}\spadcommand{m := matrix [[x-3/4*\%i,z*y**2+1/2],[3/7*\%i*y**4 - x,12-\%i*9/5]]\bound{m }\free{mdec }} -\indentrel{3}\begin{verbatim} - Ú 3 2 1 ¿ - ³ x - Ä %i y z + Ä ³ - ³ 4 2 ³ - (4) ³ ³ - ³3 4 9 ³ - ³Ä %i y - x 12 - Ä %i³ - À7 5 Ù -Type: SquareMatrix(2,Polynomial Complex Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesConvertPageEmpty4} -\begin{paste}{ugTypesConvertPageEmpty4}{ugTypesConvertPagePatch4} -\pastebutton{ugTypesConvertPageEmpty4}{\showpaste} -\tab{5}\spadcommand{m := matrix [[x-3/4*\%i,z*y**2+1/2],[3/7*\%i*y**4 - x,12-\%i*9/5]]\bound{m }\free{mdec }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesConvertPagePatch5} -\begin{paste}{ugTypesConvertPageFull5}{ugTypesConvertPageEmpty5} -\pastebutton{ugTypesConvertPageFull5}{\hidepaste} -\tab{5}\spadcommand{m1 := m :: SquareMatrix(2,POLY FRAC COMPLEX INT)\free{m }\bound{m1 }} -\indentrel{3}\begin{verbatim} - Ú 3%i 2 1 ¿ - ³ x - ÄÄÄ y z + Ä ³ - ³ 4 2 ³ - (5) ³ ³ - ³3%i 4 60 - 9%i³ - ³ÄÄÄ y - x ÄÄÄÄÄÄÄij - À 7 5 Ù -Type: SquareMatrix(2,Polynomial Fraction Complex Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesConvertPageEmpty5} -\begin{paste}{ugTypesConvertPageEmpty5}{ugTypesConvertPagePatch5} -\pastebutton{ugTypesConvertPageEmpty5}{\showpaste} -\tab{5}\spadcommand{m1 := m :: SquareMatrix(2,POLY FRAC COMPLEX INT)\free{m }\bound{m1 }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesConvertPagePatch6} -\begin{paste}{ugTypesConvertPageFull6}{ugTypesConvertPageEmpty6} -\pastebutton{ugTypesConvertPageFull6}{\hidepaste} -\tab{5}\spadcommand{m2 := m1 :: SquareMatrix(2,FRAC POLY COMPLEX INT)\free{m1 }\bound{m2 }} -\indentrel{3}\begin{verbatim} - Ú 2 ¿ - ³ 4x - 3%i 2y z + 1³ - ³ ÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄij - ³ 4 2 ³ - (6) ³ ³ - ³ 4 ³ - ³3%i y - 7x 60 - 9%i³ - ³ÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄij - À 7 5 Ù -Type: SquareMatrix(2,Fraction Polynomial Complex Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesConvertPageEmpty6} -\begin{paste}{ugTypesConvertPageEmpty6}{ugTypesConvertPagePatch6} -\pastebutton{ugTypesConvertPageEmpty6}{\showpaste} -\tab{5}\spadcommand{m2 := m1 :: SquareMatrix(2,FRAC POLY COMPLEX INT)\free{m1 }\bound{m2 }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesConvertPagePatch7} -\begin{paste}{ugTypesConvertPageFull7}{ugTypesConvertPageEmpty7} -\pastebutton{ugTypesConvertPageFull7}{\hidepaste} -\tab{5}\spadcommand{m3 := m2 :: SquareMatrix(2,FRAC COMPLEX POLY INT)\free{m2 }\bound{m3 }} -\indentrel{3}\begin{verbatim} - Ú 2 ¿ - ³ 4x - 3%i 2y z + 1³ - ³ ÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄij - ³ 4 2 ³ - (7) ³ ³ - ³ 4 ³ - ³- 7x + 3y %i 60 - 9%i³ - ³ÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄij - À 7 5 Ù -Type: SquareMatrix(2,Fraction Complex Polynomial Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesConvertPageEmpty7} -\begin{paste}{ugTypesConvertPageEmpty7}{ugTypesConvertPagePatch7} -\pastebutton{ugTypesConvertPageEmpty7}{\showpaste} -\tab{5}\spadcommand{m3 := m2 :: SquareMatrix(2,FRAC COMPLEX POLY INT)\free{m2 }\bound{m3 }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesConvertPagePatch8} -\begin{paste}{ugTypesConvertPageFull8}{ugTypesConvertPageEmpty8} -\pastebutton{ugTypesConvertPageFull8}{\hidepaste} -\tab{5}\spadcommand{m :: SquareMatrix(2,FRAC COMPLEX POLY INT)\free{m }} -\indentrel{3}\begin{verbatim} - Ú 2 ¿ - ³ 4x - 3%i 2y z + 1³ - ³ ÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄij - ³ 4 2 ³ - (8) ³ ³ - ³ 4 ³ - ³- 7x + 3y %i 60 - 9%i³ - ³ÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄij - À 7 5 Ù -Type: SquareMatrix(2,Fraction Complex Polynomial Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesConvertPageEmpty8} -\begin{paste}{ugTypesConvertPageEmpty8}{ugTypesConvertPagePatch8} -\pastebutton{ugTypesConvertPageEmpty8}{\showpaste} -\tab{5}\spadcommand{m :: SquareMatrix(2,FRAC COMPLEX POLY INT)\free{m }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesConvertPagePatch9} -\begin{paste}{ugTypesConvertPageFull9}{ugTypesConvertPageEmpty9} -\pastebutton{ugTypesConvertPageFull9}{\hidepaste} -\tab{5}\spadcommand{m\free{m }} -\indentrel{3}\begin{verbatim} - Ú 3 2 1 ¿ - ³ x - Ä %i y z + Ä ³ - ³ 4 2 ³ - (9) ³ ³ - ³3 4 9 ³ - ³Ä %i y - x 12 - Ä %i³ - À7 5 Ù -Type: SquareMatrix(2,Polynomial Complex Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesConvertPageEmpty9} -\begin{paste}{ugTypesConvertPageEmpty9}{ugTypesConvertPagePatch9} -\pastebutton{ugTypesConvertPageEmpty9}{\showpaste} -\tab{5}\spadcommand{m\free{m }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesConvertPagePatch10} -\begin{paste}{ugTypesConvertPageFull10}{ugTypesConvertPageEmpty10} -\pastebutton{ugTypesConvertPageFull10}{\hidepaste} -\tab{5}\spadcommand{m :: POLY SquareMatrix(2,COMPLEX FRAC INT)\free{m }} -\indentrel{3}\begin{verbatim} - (10) - Ú 0 0¿ - Ú0 1¿ 2 ³ ³ 4 Ú 1 0¿ - ³ ³y z + ³3 ³y + ³ ³x - À0 0Ù ³Ä %i 0³ À- 1 0Ù - À7 Ù - + - Ú 3 1 ¿ - ³- Ä %i Ä ³ - ³ 4 2 ³ - ³ ³ - ³ 9 ³ - ³ 0 12 - Ä %i³ - À 5 Ù -Type: Polynomial SquareMatrix(2,Complex Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesConvertPageEmpty10} -\begin{paste}{ugTypesConvertPageEmpty10}{ugTypesConvertPagePatch10} -\pastebutton{ugTypesConvertPageEmpty10}{\showpaste} -\tab{5}\spadcommand{m :: POLY SquareMatrix(2,COMPLEX FRAC INT)\free{m }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesConvertPagePatch11} -\begin{paste}{ugTypesConvertPageFull11}{ugTypesConvertPageEmpty11} -\pastebutton{ugTypesConvertPageFull11}{\hidepaste} -\tab{5}\spadcommand{m :: POLY ?\free{m }} -\indentrel{3}\begin{verbatim} - (11) - Ú 0 0¿ - Ú0 1¿ 2 ³ ³ 4 Ú 1 0¿ - ³ ³y z + ³3 ³y + ³ ³x - À0 0Ù ³Ä %i 0³ À- 1 0Ù - À7 Ù - + - Ú 3 1 ¿ - ³- Ä %i Ä ³ - ³ 4 2 ³ - ³ ³ - ³ 9 ³ - ³ 0 12 - Ä %i³ - À 5 Ù -Type: Polynomial SquareMatrix(2,Complex Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesConvertPageEmpty11} -\begin{paste}{ugTypesConvertPageEmpty11}{ugTypesConvertPagePatch11} -\pastebutton{ugTypesConvertPageEmpty11}{\showpaste} -\tab{5}\spadcommand{m :: POLY ?\free{m }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesConvertPagePatch12} -\begin{paste}{ugTypesConvertPageFull12}{ugTypesConvertPageEmpty12} -\pastebutton{ugTypesConvertPageFull12}{\hidepaste} -\tab{5}\spadcommand{m :: POLY SquareMatrix(2,FRAC ?)\free{m }} -\indentrel{3}\begin{verbatim} - (12) - Ú 3%i 1 ¿ - Ú 0 0¿ ³- ÄÄÄ Ä ³ - Ú0 1¿ 2 ³ ³ 4 Ú 1 0¿ ³ 4 2 ³ - ³ ³y z + ³3%i ³y + ³ ³x + ³ ³ - À0 0Ù ³ÄÄÄ 0³ À- 1 0Ù ³ 60 - 9%i³ - À 7 Ù ³ 0 ÄÄÄÄÄÄÄij - À 5 Ù -Type: Polynomial SquareMatrix(2,Fraction Complex Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesConvertPageEmpty12} -\begin{paste}{ugTypesConvertPageEmpty12}{ugTypesConvertPagePatch12} -\pastebutton{ugTypesConvertPageEmpty12}{\showpaste} -\tab{5}\spadcommand{m :: POLY SquareMatrix(2,FRAC ?)\free{m }} -\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingPagePatch1} -\begin{paste}{ugTypesWritingPageFull1}{ugTypesWritingPageEmpty1} -\pastebutton{ugTypesWritingPageFull1}{\hidepaste} -\tab{5}\spadcommand{a : PositiveInteger} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingPageEmpty1} -\begin{paste}{ugTypesWritingPageEmpty1}{ugTypesWritingPagePatch1} -\pastebutton{ugTypesWritingPageEmpty1}{\showpaste} -\tab{5}\spadcommand{a : PositiveInteger} -\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingPagePatch2} -\begin{paste}{ugTypesWritingPageFull2}{ugTypesWritingPageEmpty2} -\pastebutton{ugTypesWritingPageFull2}{\hidepaste} -\tab{5}\spadcommand{f : Integer -> String} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingPageEmpty2} -\begin{paste}{ugTypesWritingPageEmpty2}{ugTypesWritingPagePatch2} -\pastebutton{ugTypesWritingPageEmpty2}{\showpaste} -\tab{5}\spadcommand{f : Integer -> String} -\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingPagePatch3} -\begin{paste}{ugTypesWritingPageFull3}{ugTypesWritingPageEmpty3} -\pastebutton{ugTypesWritingPageFull3}{\hidepaste} -\tab{5}\spadcommand{factor(2 :: Complex(Integer))} -\indentrel{3}\begin{verbatim} - 2 - (3) - %i (1 + %i) - Type: Factored Complex Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingPageEmpty3} -\begin{paste}{ugTypesWritingPageEmpty3}{ugTypesWritingPagePatch3} -\pastebutton{ugTypesWritingPageEmpty3}{\showpaste} -\tab{5}\spadcommand{factor(2 :: Complex(Integer))} -\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingPagePatch4} -\begin{paste}{ugTypesWritingPageFull4}{ugTypesWritingPageEmpty4} -\pastebutton{ugTypesWritingPageFull4}{\hidepaste} -\tab{5}\spadcommand{(2 = 3)$Integer} -\indentrel{3}\begin{verbatim} - (4) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingPageEmpty4} -\begin{paste}{ugTypesWritingPageEmpty4}{ugTypesWritingPagePatch4} -\pastebutton{ugTypesWritingPageEmpty4}{\showpaste} -\tab{5}\spadcommand{(2 = 3)$Integer} -\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingPagePatch5} -\begin{paste}{ugTypesWritingPageFull5}{ugTypesWritingPageEmpty5} -\pastebutton{ugTypesWritingPageFull5}{\hidepaste} -\tab{5}\spadcommand{(2 = 3)@Boolean} -\indentrel{3}\begin{verbatim} - (5) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugTypesWritingPageEmpty5} -\begin{paste}{ugTypesWritingPageEmpty5}{ugTypesWritingPagePatch5} -\pastebutton{ugTypesWritingPageEmpty5}{\showpaste} -\tab{5}\spadcommand{(2 = 3)@Boolean} -\end{paste}\end{patch} - diff --git a/books/pages/ug03.pht b/books/pages/ug03.pht deleted file mode 100644 index 5c0fdc7..0000000 --- a/books/pages/ug03.pht +++ /dev/null @@ -1,34 +0,0 @@ -\begin{patch}{ugHyperExamplePagePatch1} -\begin{paste}{ugHyperExamplePageFull1}{ugHyperExamplePageEmpty1} -\pastebutton{ugHyperExamplePageFull1}{\hidepaste} -\tab{5}\spadcommand{a:= x**2 + 1\bound{a }} -\indentrel{3}\begin{verbatim} - 2 - (1) x + 1 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugHyperExamplePageEmpty1} -\begin{paste}{ugHyperExamplePageEmpty1}{ugHyperExamplePagePatch1} -\pastebutton{ugHyperExamplePageEmpty1}{\showpaste} -\tab{5}\spadcommand{a:= x**2 + 1\bound{a }} -\end{paste}\end{patch} - -\begin{patch}{ugHyperExamplePagePatch2} -\begin{paste}{ugHyperExamplePageFull2}{ugHyperExamplePageEmpty2} -\pastebutton{ugHyperExamplePageFull2}{\hidepaste} -\tab{5}\spadcommand{(a - 2)**2\free{a }} -\indentrel{3}\begin{verbatim} - 4 2 - (2) x - 2x + 1 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugHyperExamplePageEmpty2} -\begin{paste}{ugHyperExamplePageEmpty2}{ugHyperExamplePagePatch2} -\pastebutton{ugHyperExamplePageEmpty2}{\showpaste} -\tab{5}\spadcommand{(a - 2)**2\free{a }} -\end{paste}\end{patch} - diff --git a/books/pages/ug04.pht b/books/pages/ug04.pht deleted file mode 100644 index 992f12e..0000000 --- a/books/pages/ug04.pht +++ /dev/null @@ -1,493 +0,0 @@ -\begin{patch}{ugInOutTeXPagePatch1} -\begin{paste}{ugInOutTeXPageFull1}{ugInOutTeXPageEmpty1} -\pastebutton{ugInOutTeXPageFull1}{\hidepaste} -\tab{5}\spadcommand{)set output tex on\bound{texon }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutTeXPageEmpty1} -\begin{paste}{ugInOutTeXPageEmpty1}{ugInOutTeXPagePatch1} -\pastebutton{ugInOutTeXPageEmpty1}{\showpaste} -\tab{5}\spadcommand{)set output tex on\bound{texon }} -\end{paste}\end{patch} - -\begin{patch}{ugInOutOutPagePatch1} -\begin{paste}{ugInOutOutPageFull1}{ugInOutOutPageEmpty1} -\pastebutton{ugInOutOutPageFull1}{\hidepaste} -\tab{5}\spadcommand{)set output fortran linalg} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutOutPageEmpty1} -\begin{paste}{ugInOutOutPageEmpty1}{ugInOutOutPagePatch1} -\pastebutton{ugInOutOutPageEmpty1}{\showpaste} -\tab{5}\spadcommand{)set output fortran linalg} -\end{paste}\end{patch} - -\begin{patch}{ugInOutOutPagePatch2} -\begin{paste}{ugInOutOutPageFull2}{ugInOutOutPageEmpty2} -\pastebutton{ugInOutOutPageFull2}{\hidepaste} -\tab{5}\spadcommand{)set output fortran on} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutOutPageEmpty2} -\begin{paste}{ugInOutOutPageEmpty2}{ugInOutOutPagePatch2} -\pastebutton{ugInOutOutPageEmpty2}{\showpaste} -\tab{5}\spadcommand{)set output fortran on} -\end{paste}\end{patch} - -\begin{patch}{ugInOutOutPagePatch3} -\begin{paste}{ugInOutOutPageFull3}{ugInOutOutPageEmpty3} -\pastebutton{ugInOutOutPageFull3}{\hidepaste} -\tab{5}\spadcommand{)set output fortran console} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutOutPageEmpty3} -\begin{paste}{ugInOutOutPageEmpty3}{ugInOutOutPagePatch3} -\pastebutton{ugInOutOutPageEmpty3}{\showpaste} -\tab{5}\spadcommand{)set output fortran console} -\end{paste}\end{patch} - -\begin{patch}{ugInOutOutPagePatch4} -\begin{paste}{ugInOutOutPageFull4}{ugInOutOutPageEmpty4} -\pastebutton{ugInOutOutPageFull4}{\hidepaste} -\tab{5}\spadcommand{)set output fortran off} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutOutPageEmpty4} -\begin{paste}{ugInOutOutPageEmpty4}{ugInOutOutPagePatch4} -\pastebutton{ugInOutOutPageEmpty4}{\showpaste} -\tab{5}\spadcommand{)set output fortran off} -\end{paste}\end{patch} - -\begin{patch}{ugInOutOutPagePatch5} -\begin{paste}{ugInOutOutPageFull5}{ugInOutOutPageEmpty5} -\pastebutton{ugInOutOutPageFull5}{\hidepaste} -\tab{5}\spadcommand{)system rm linalg.sfort} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutOutPageEmpty5} -\begin{paste}{ugInOutOutPageEmpty5}{ugInOutOutPagePatch5} -\pastebutton{ugInOutOutPageEmpty5}{\showpaste} -\tab{5}\spadcommand{)system rm linalg.sfort} -\end{paste}\end{patch} - -\begin{patch}{ugInOutScriptPagePatch1} -\begin{paste}{ugInOutScriptPageFull1}{ugInOutScriptPageEmpty1} -\pastebutton{ugInOutScriptPageFull1}{\hidepaste} -\tab{5}\spadcommand{)set output script on} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutScriptPageEmpty1} -\begin{paste}{ugInOutScriptPageEmpty1}{ugInOutScriptPagePatch1} -\pastebutton{ugInOutScriptPageEmpty1}{\showpaste} -\tab{5}\spadcommand{)set output script on} -\end{paste}\end{patch} - -\begin{patch}{ugInOutScriptPagePatch2} -\begin{paste}{ugInOutScriptPageFull2}{ugInOutScriptPageEmpty2} -\pastebutton{ugInOutScriptPageFull2}{\hidepaste} -\tab{5}\spadcommand{)set output script off} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutScriptPageEmpty2} -\begin{paste}{ugInOutScriptPageEmpty2}{ugInOutScriptPagePatch2} -\pastebutton{ugInOutScriptPageEmpty2}{\showpaste} -\tab{5}\spadcommand{)set output script off} -\end{paste}\end{patch} - -\begin{patch}{ugInOutAlgebraPagePatch1} -\begin{paste}{ugInOutAlgebraPageFull1}{ugInOutAlgebraPageEmpty1} -\pastebutton{ugInOutAlgebraPageFull1}{\hidepaste} -\tab{5}\spadcommand{)set output algebra on\bound{algon }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutAlgebraPageEmpty1} -\begin{paste}{ugInOutAlgebraPageEmpty1}{ugInOutAlgebraPagePatch1} -\pastebutton{ugInOutAlgebraPageEmpty1}{\showpaste} -\tab{5}\spadcommand{)set output algebra on\bound{algon }} -\end{paste}\end{patch} - -\begin{patch}{ugInOutAlgebraPagePatch2} -\begin{paste}{ugInOutAlgebraPageFull2}{ugInOutAlgebraPageEmpty2} -\pastebutton{ugInOutAlgebraPageFull2}{\hidepaste} -\tab{5}\spadcommand{)set output tex off\bound{texoff }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutAlgebraPageEmpty2} -\begin{paste}{ugInOutAlgebraPageEmpty2}{ugInOutAlgebraPagePatch2} -\pastebutton{ugInOutAlgebraPageEmpty2}{\showpaste} -\tab{5}\spadcommand{)set output tex off\bound{texoff }} -\end{paste}\end{patch} - -\begin{patch}{ugInOutAlgebraPagePatch3} -\begin{paste}{ugInOutAlgebraPageFull3}{ugInOutAlgebraPageEmpty3} -\pastebutton{ugInOutAlgebraPageFull3}{\hidepaste} -\tab{5}\spadcommand{matrix [[i*x**i + j*\%i*y**j for i in 1..2] for j in 3..4]\free{algon texoff }} -\indentrel{3}\begin{verbatim} - Ú 3 3 2¿ - ³3%i y + x 3%i y + 2x ³ - (1) ³ ³ - ³ 4 4 2³ - À4%i y + x 4%i y + 2x Ù - Type: Matrix Polynomial Complex Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutAlgebraPageEmpty3} -\begin{paste}{ugInOutAlgebraPageEmpty3}{ugInOutAlgebraPagePatch3} -\pastebutton{ugInOutAlgebraPageEmpty3}{\showpaste} -\tab{5}\spadcommand{matrix [[i*x**i + j*\%i*y**j for i in 1..2] for j in 3..4]\free{algon texoff }} -\end{paste}\end{patch} - -\begin{patch}{ugInOutAlgebraPagePatch4} -\begin{paste}{ugInOutAlgebraPageFull4}{ugInOutAlgebraPageEmpty4} -\pastebutton{ugInOutAlgebraPageFull4}{\hidepaste} -\tab{5}\spadcommand{)set output algebra off} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutAlgebraPageEmpty4} -\begin{paste}{ugInOutAlgebraPageEmpty4}{ugInOutAlgebraPagePatch4} -\pastebutton{ugInOutAlgebraPageEmpty4}{\showpaste} -\tab{5}\spadcommand{)set output algebra off} -\end{paste}\end{patch} - -\begin{patch}{ugInOutAlgebraPagePatch5} -\begin{paste}{ugInOutAlgebraPageFull5}{ugInOutAlgebraPageEmpty5} -\pastebutton{ugInOutAlgebraPageFull5}{\hidepaste} -\tab{5}\spadcommand{)set output tex on} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutAlgebraPageEmpty5} -\begin{paste}{ugInOutAlgebraPageEmpty5}{ugInOutAlgebraPagePatch5} -\pastebutton{ugInOutAlgebraPageEmpty5}{\showpaste} -\tab{5}\spadcommand{)set output tex on} -\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPagePatch1} -\begin{paste}{ugInOutFortranPageFull1}{ugInOutFortranPageEmpty1} -\pastebutton{ugInOutFortranPageFull1}{\hidepaste} -\tab{5}\spadcommand{)set output fortran on\bound{forton }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPageEmpty1} -\begin{paste}{ugInOutFortranPageEmpty1}{ugInOutFortranPagePatch1} -\pastebutton{ugInOutFortranPageEmpty1}{\showpaste} -\tab{5}\spadcommand{)set output fortran on\bound{forton }} -\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPagePatch2} -\begin{paste}{ugInOutFortranPageFull2}{ugInOutFortranPageEmpty2} -\pastebutton{ugInOutFortranPageFull2}{\hidepaste} -\tab{5}\spadcommand{)set fortran optlevel 0\bound{opt0 }\free{forton }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPageEmpty2} -\begin{paste}{ugInOutFortranPageEmpty2}{ugInOutFortranPagePatch2} -\pastebutton{ugInOutFortranPageEmpty2}{\showpaste} -\tab{5}\spadcommand{)set fortran optlevel 0\bound{opt0 }\free{forton }} -\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPagePatch3} -\begin{paste}{ugInOutFortranPageFull3}{ugInOutFortranPageEmpty3} -\pastebutton{ugInOutFortranPageFull3}{\hidepaste} -\tab{5}\spadcommand{)set fortran fortlength 60} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPageEmpty3} -\begin{paste}{ugInOutFortranPageEmpty3}{ugInOutFortranPagePatch3} -\pastebutton{ugInOutFortranPageEmpty3}{\showpaste} -\tab{5}\spadcommand{)set fortran fortlength 60} -\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPagePatch4} -\begin{paste}{ugInOutFortranPageFull4}{ugInOutFortranPageEmpty4} -\pastebutton{ugInOutFortranPageFull4}{\hidepaste} -\tab{5}\spadcommand{(x+y)**3\free{opt0 }} -\indentrel{3}\begin{verbatim} - 3 2 2 3 - (1) y + 3x y + 3x y + x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPageEmpty4} -\begin{paste}{ugInOutFortranPageEmpty4}{ugInOutFortranPagePatch4} -\pastebutton{ugInOutFortranPageEmpty4}{\showpaste} -\tab{5}\spadcommand{(x+y)**3\free{opt0 }} -\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPagePatch5} -\begin{paste}{ugInOutFortranPageFull5}{ugInOutFortranPageEmpty5} -\pastebutton{ugInOutFortranPageFull5}{\hidepaste} -\tab{5}\spadcommand{(x+y+z)**3\free{opt0 }} -\indentrel{3}\begin{verbatim} - (2) - 3 2 2 2 3 2 - z + (3y + 3x)z + (3y + 6x y + 3x )z + y + 3x y - + - 2 3 - 3x y + x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPageEmpty5} -\begin{paste}{ugInOutFortranPageEmpty5}{ugInOutFortranPagePatch5} -\pastebutton{ugInOutFortranPageEmpty5}{\showpaste} -\tab{5}\spadcommand{(x+y+z)**3\free{opt0 }} -\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPagePatch6} -\begin{paste}{ugInOutFortranPageFull6}{ugInOutFortranPageEmpty6} -\pastebutton{ugInOutFortranPageFull6}{\hidepaste} -\tab{5}\spadcommand{sin(x)\free{opt1 }} -\indentrel{3}\begin{verbatim} - (3) sin(x) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPageEmpty6} -\begin{paste}{ugInOutFortranPageEmpty6}{ugInOutFortranPagePatch6} -\pastebutton{ugInOutFortranPageEmpty6}{\showpaste} -\tab{5}\spadcommand{sin(x)\free{opt1 }} -\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPagePatch7} -\begin{paste}{ugInOutFortranPageFull7}{ugInOutFortranPageEmpty7} -\pastebutton{ugInOutFortranPageFull7}{\hidepaste} -\tab{5}\spadcommand{)set fortran optlevel 1\bound{opt1 }\free{forton }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPageEmpty7} -\begin{paste}{ugInOutFortranPageEmpty7}{ugInOutFortranPagePatch7} -\pastebutton{ugInOutFortranPageEmpty7}{\showpaste} -\tab{5}\spadcommand{)set fortran optlevel 1\bound{opt1 }\free{forton }} -\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPagePatch8} -\begin{paste}{ugInOutFortranPageFull8}{ugInOutFortranPageEmpty8} -\pastebutton{ugInOutFortranPageFull8}{\hidepaste} -\tab{5}\spadcommand{(x+y+z)**3\free{opt1 }} -\indentrel{3}\begin{verbatim} - (4) - 3 2 2 2 3 2 - z + (3y + 3x)z + (3y + 6x y + 3x )z + y + 3x y - + - 2 3 - 3x y + x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPageEmpty8} -\begin{paste}{ugInOutFortranPageEmpty8}{ugInOutFortranPagePatch8} -\pastebutton{ugInOutFortranPageEmpty8}{\showpaste} -\tab{5}\spadcommand{(x+y+z)**3\free{opt1 }} -\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPagePatch9} -\begin{paste}{ugInOutFortranPageFull9}{ugInOutFortranPageEmpty9} -\pastebutton{ugInOutFortranPageFull9}{\hidepaste} -\tab{5}\spadcommand{)set fortran precision double\free{opt1 }\bound{double1 }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPageEmpty9} -\begin{paste}{ugInOutFortranPageEmpty9}{ugInOutFortranPagePatch9} -\pastebutton{ugInOutFortranPageEmpty9}{\showpaste} -\tab{5}\spadcommand{)set fortran precision double\free{opt1 }\bound{double1 }} -\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPagePatch10} -\begin{paste}{ugInOutFortranPageFull10}{ugInOutFortranPageEmpty10} -\pastebutton{ugInOutFortranPageFull10}{\hidepaste} -\tab{5}\spadcommand{2.3 + 5.6*\%i\free{double1 }} -\indentrel{3}\begin{verbatim} - (5) 2.3 + 5.6 %i - Type: Complex Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPageEmpty10} -\begin{paste}{ugInOutFortranPageEmpty10}{ugInOutFortranPagePatch10} -\pastebutton{ugInOutFortranPageEmpty10}{\showpaste} -\tab{5}\spadcommand{2.3 + 5.6*\%i\free{double1 }} -\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPagePatch11} -\begin{paste}{ugInOutFortranPageFull11}{ugInOutFortranPageEmpty11} -\pastebutton{ugInOutFortranPageFull11}{\hidepaste} -\tab{5}\spadcommand{sin \%e\free{double1 }} -\indentrel{3}\begin{verbatim} - (6) sin(%e) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPageEmpty11} -\begin{paste}{ugInOutFortranPageEmpty11}{ugInOutFortranPagePatch11} -\pastebutton{ugInOutFortranPageEmpty11}{\showpaste} -\tab{5}\spadcommand{sin \%e\free{double1 }} -\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPagePatch12} -\begin{paste}{ugInOutFortranPageFull12}{ugInOutFortranPageEmpty12} -\pastebutton{ugInOutFortranPageFull12}{\hidepaste} -\tab{5}\spadcommand{)set fortran precision single\free{opt1 }\bound{single1 }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPageEmpty12} -\begin{paste}{ugInOutFortranPageEmpty12}{ugInOutFortranPagePatch12} -\pastebutton{ugInOutFortranPageEmpty12}{\showpaste} -\tab{5}\spadcommand{)set fortran precision single\free{opt1 }\bound{single1 }} -\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPagePatch13} -\begin{paste}{ugInOutFortranPageFull13}{ugInOutFortranPageEmpty13} -\pastebutton{ugInOutFortranPageFull13}{\hidepaste} -\tab{5}\spadcommand{2.3 + 5.6*\%i\free{single1 }} -\indentrel{3}\begin{verbatim} - (7) 2.3 + 5.6 %i - Type: Complex Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPageEmpty13} -\begin{paste}{ugInOutFortranPageEmpty13}{ugInOutFortranPagePatch13} -\pastebutton{ugInOutFortranPageEmpty13}{\showpaste} -\tab{5}\spadcommand{2.3 + 5.6*\%i\free{single1 }} -\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPagePatch14} -\begin{paste}{ugInOutFortranPageFull14}{ugInOutFortranPageEmpty14} -\pastebutton{ugInOutFortranPageFull14}{\hidepaste} -\tab{5}\spadcommand{sin \%e\free{single1 }} -\indentrel{3}\begin{verbatim} - (8) sin(%e) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPageEmpty14} -\begin{paste}{ugInOutFortranPageEmpty14}{ugInOutFortranPagePatch14} -\pastebutton{ugInOutFortranPageEmpty14}{\showpaste} -\tab{5}\spadcommand{sin \%e\free{single1 }} -\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPagePatch15} -\begin{paste}{ugInOutFortranPageFull15}{ugInOutFortranPageEmpty15} -\pastebutton{ugInOutFortranPageFull15}{\hidepaste} -\tab{5}\spadcommand{[x+1,y+1,z+1]\free{opt1 }} -\indentrel{3}\begin{verbatim} - (9) [x + 1,y + 1,z + 1] - Type: List Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPageEmpty15} -\begin{paste}{ugInOutFortranPageEmpty15}{ugInOutFortranPagePatch15} -\pastebutton{ugInOutFortranPageEmpty15}{\showpaste} -\tab{5}\spadcommand{[x+1,y+1,z+1]\free{opt1 }} -\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPagePatch16} -\begin{paste}{ugInOutFortranPageFull16}{ugInOutFortranPageEmpty16} -\pastebutton{ugInOutFortranPageFull16}{\hidepaste} -\tab{5}\spadcommand{set[2,3,4,3,5]\free{opt1 }} -\indentrel{3}\begin{verbatim} - (10) {2,3,4,5} - Type: Set PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPageEmpty16} -\begin{paste}{ugInOutFortranPageEmpty16}{ugInOutFortranPagePatch16} -\pastebutton{ugInOutFortranPageEmpty16}{\showpaste} -\tab{5}\spadcommand{set[2,3,4,3,5]\free{opt1 }} -\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPagePatch17} -\begin{paste}{ugInOutFortranPageFull17}{ugInOutFortranPageEmpty17} -\pastebutton{ugInOutFortranPageFull17}{\hidepaste} -\tab{5}\spadcommand{matrix [[2.3,9.7],[0.0,18.778]]\free{opt1 }} -\indentrel{3}\begin{verbatim} - Ú2.3 9.7 ¿ - (11) ³ ³ - À0.0 18.778Ù - Type: Matrix Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPageEmpty17} -\begin{paste}{ugInOutFortranPageEmpty17}{ugInOutFortranPagePatch17} -\pastebutton{ugInOutFortranPageEmpty17}{\showpaste} -\tab{5}\spadcommand{matrix [[2.3,9.7],[0.0,18.778]]\free{opt1 }} -\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPagePatch18} -\begin{paste}{ugInOutFortranPageFull18}{ugInOutFortranPageEmpty18} -\pastebutton{ugInOutFortranPageFull18}{\hidepaste} -\tab{5}\spadcommand{)set fortran startindex 1\free{opt1 }\bound{start1 }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPageEmpty18} -\begin{paste}{ugInOutFortranPageEmpty18}{ugInOutFortranPagePatch18} -\pastebutton{ugInOutFortranPageEmpty18}{\showpaste} -\tab{5}\spadcommand{)set fortran startindex 1\free{opt1 }\bound{start1 }} -\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPagePatch19} -\begin{paste}{ugInOutFortranPageFull19}{ugInOutFortranPageEmpty19} -\pastebutton{ugInOutFortranPageFull19}{\hidepaste} -\tab{5}\spadcommand{matrix [[2.3,9.7],[0.0,18.778]]\free{start1 }} -\indentrel{3}\begin{verbatim} - Ú2.3 9.7 ¿ - (12) ³ ³ - À0.0 18.778Ù - Type: Matrix Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugInOutFortranPageEmpty19} -\begin{paste}{ugInOutFortranPageEmpty19}{ugInOutFortranPagePatch19} -\pastebutton{ugInOutFortranPageEmpty19}{\showpaste} -\tab{5}\spadcommand{matrix [[2.3,9.7],[0.0,18.778]]\free{start1 }} -\end{paste}\end{patch} - diff --git a/books/pages/ug05.pht b/books/pages/ug05.pht deleted file mode 100644 index 7869593..0000000 --- a/books/pages/ug05.pht +++ /dev/null @@ -1,2002 +0,0 @@ -\begin{patch}{ugLangLoopsWhilePagePatch1} -\begin{paste}{ugLangLoopsWhilePageFull1}{ugLangLoopsWhilePageEmpty1} -\pastebutton{ugLangLoopsWhilePageFull1}{\hidepaste} -\tab{5}\spadcommand{i := 1\bound{i }} -\indentrel{3}\begin{verbatim} - (1) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsWhilePageEmpty1} -\begin{paste}{ugLangLoopsWhilePageEmpty1}{ugLangLoopsWhilePagePatch1} -\pastebutton{ugLangLoopsWhilePageEmpty1}{\showpaste} -\tab{5}\spadcommand{i := 1\bound{i }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsWhilePagePatch2} -\begin{paste}{ugLangLoopsWhilePageFull2}{ugLangLoopsWhilePageEmpty2} -\pastebutton{ugLangLoopsWhilePageFull2}{\hidepaste} -\tab{5}\spadcommand{while i < 1 repeat - output "hello" - i := i + 1 -\free{i }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsWhilePageEmpty2} -\begin{paste}{ugLangLoopsWhilePageEmpty2}{ugLangLoopsWhilePagePatch2} -\pastebutton{ugLangLoopsWhilePageEmpty2}{\showpaste} -\tab{5}\spadcommand{while i < 1 repeat - output "hello" - i := i + 1 -\free{i }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsWhilePagePatch3} -\begin{paste}{ugLangLoopsWhilePageFull3}{ugLangLoopsWhilePageEmpty3} -\pastebutton{ugLangLoopsWhilePageFull3}{\hidepaste} -\tab{5}\spadcommand{(x, y) := (1, 1)\bound{x }\bound{y }} -\indentrel{3}\begin{verbatim} - (3) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsWhilePageEmpty3} -\begin{paste}{ugLangLoopsWhilePageEmpty3}{ugLangLoopsWhilePagePatch3} -\pastebutton{ugLangLoopsWhilePageEmpty3}{\showpaste} -\tab{5}\spadcommand{(x, y) := (1, 1)\bound{x }\bound{y }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsWhilePagePatch4} -\begin{paste}{ugLangLoopsWhilePageFull4}{ugLangLoopsWhilePageEmpty4} -\pastebutton{ugLangLoopsWhilePageFull4}{\hidepaste} -\tab{5}\spadcommand{while x < 4 and y < 10 repeat - output [x,y] - x := x + 1 - y := y + 2 -\free{x y }} -\indentrel{3}\begin{verbatim} - [1,1] - [2,3] - [3,5] - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsWhilePageEmpty4} -\begin{paste}{ugLangLoopsWhilePageEmpty4}{ugLangLoopsWhilePagePatch4} -\pastebutton{ugLangLoopsWhilePageEmpty4}{\showpaste} -\tab{5}\spadcommand{while x < 4 and y < 10 repeat - output [x,y] - x := x + 1 - y := y + 2 -\free{x y }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsWhilePagePatch5} -\begin{paste}{ugLangLoopsWhilePageFull5}{ugLangLoopsWhilePageEmpty5} -\pastebutton{ugLangLoopsWhilePageFull5}{\hidepaste} -\tab{5}\spadcommand{(x, y) := (1, 1)\bound{x1 }\bound{y1 }} -\indentrel{3}\begin{verbatim} - (5) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsWhilePageEmpty5} -\begin{paste}{ugLangLoopsWhilePageEmpty5}{ugLangLoopsWhilePagePatch5} -\pastebutton{ugLangLoopsWhilePageEmpty5}{\showpaste} -\tab{5}\spadcommand{(x, y) := (1, 1)\bound{x1 }\bound{y1 }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsWhilePagePatch6} -\begin{paste}{ugLangLoopsWhilePageFull6}{ugLangLoopsWhilePageEmpty6} -\pastebutton{ugLangLoopsWhilePageFull6}{\hidepaste} -\tab{5}\spadcommand{while x < 4 while y < 10 repeat - if x + y > 7 then break - output [x,y] - x := x + 1 - y := y + 2 -\free{x1 y1 }} -\indentrel{3}\begin{verbatim} - [1,1] - [2,3] - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsWhilePageEmpty6} -\begin{paste}{ugLangLoopsWhilePageEmpty6}{ugLangLoopsWhilePagePatch6} -\pastebutton{ugLangLoopsWhilePageEmpty6}{\showpaste} -\tab{5}\spadcommand{while x < 4 while y < 10 repeat - if x + y > 7 then break - output [x,y] - x := x + 1 - y := y + 2 -\free{x1 y1 }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsWhilePagePatch7} -\begin{paste}{ugLangLoopsWhilePageFull7}{ugLangLoopsWhilePageEmpty7} -\pastebutton{ugLangLoopsWhilePageFull7}{\hidepaste} -\tab{5}\spadcommand{m := matrix [[21,37,53,14], [8,-24,22,-16], [2,10,15,14], [26,33,55,-13]]\bound{m2 }} -\indentrel{3}\begin{verbatim} - Ú21 37 53 14 ¿ - ³ ³ - ³8 - 24 22 - 16³ - (7) ³ ³ - ³2 10 15 14 ³ - ³ ³ - À26 33 55 - 13Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsWhilePageEmpty7} -\begin{paste}{ugLangLoopsWhilePageEmpty7}{ugLangLoopsWhilePagePatch7} -\pastebutton{ugLangLoopsWhilePageEmpty7}{\showpaste} -\tab{5}\spadcommand{m := matrix [[21,37,53,14], [8,-24,22,-16], [2,10,15,14], [26,33,55,-13]]\bound{m2 }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsWhilePagePatch8} -\begin{paste}{ugLangLoopsWhilePageFull8}{ugLangLoopsWhilePageEmpty8} -\pastebutton{ugLangLoopsWhilePageFull8}{\hidepaste} -\tab{5}\spadcommand{r := 1\bound{r }} -\indentrel{3}\begin{verbatim} - (8) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsWhilePageEmpty8} -\begin{paste}{ugLangLoopsWhilePageEmpty8}{ugLangLoopsWhilePagePatch8} -\pastebutton{ugLangLoopsWhilePageEmpty8}{\showpaste} -\tab{5}\spadcommand{r := 1\bound{r }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsWhilePagePatch9} -\begin{paste}{ugLangLoopsWhilePageFull9}{ugLangLoopsWhilePageEmpty9} -\pastebutton{ugLangLoopsWhilePageFull9}{\hidepaste} -\tab{5}\spadcommand{(lastrow, lastcol) := (nrows(m), ncols(m))\bound{lastrow }\bound{lastcol }\free{m2 }} -\indentrel{3}\begin{verbatim} - (9) 4 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsWhilePageEmpty9} -\begin{paste}{ugLangLoopsWhilePageEmpty9}{ugLangLoopsWhilePagePatch9} -\pastebutton{ugLangLoopsWhilePageEmpty9}{\showpaste} -\tab{5}\spadcommand{(lastrow, lastcol) := (nrows(m), ncols(m))\bound{lastrow }\bound{lastcol }\free{m2 }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsWhilePagePatch10} -\begin{paste}{ugLangLoopsWhilePageFull10}{ugLangLoopsWhilePageEmpty10} -\pastebutton{ugLangLoopsWhilePageFull10}{\hidepaste} -\tab{5}\spadcommand{while r <= lastrow repeat - c := 1 -- index of first column - while c <= lastcol repeat - if elt(m,r,c) < 0 then - output [r, c, elt(m,r,c)] - r := lastrow - break -- don't look any further - c := c + 1 - r := r + 1 -\free{m2 r lastrow lastcol }} -\indentrel{3}\begin{verbatim} - [2,2,- 24] - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsWhilePageEmpty10} -\begin{paste}{ugLangLoopsWhilePageEmpty10}{ugLangLoopsWhilePagePatch10} -\pastebutton{ugLangLoopsWhilePageEmpty10}{\showpaste} -\tab{5}\spadcommand{while r <= lastrow repeat - c := 1 -- index of first column - while c <= lastcol repeat - if elt(m,r,c) < 0 then - output [r, c, elt(m,r,c)] - r := lastrow - break -- don't look any further - c := c + 1 - r := r + 1 -\free{m2 r lastrow lastcol }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInNPagePatch1} -\begin{paste}{ugLangLoopsForInNPageFull1}{ugLangLoopsForInNPageEmpty1} -\pastebutton{ugLangLoopsForInNPageFull1}{\hidepaste} -\tab{5}\spadcommand{for i in 15.. while not prime?(i) repeat output(i)} -\indentrel{3}\begin{verbatim} - 15 - 16 - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInNPageEmpty1} -\begin{paste}{ugLangLoopsForInNPageEmpty1}{ugLangLoopsForInNPagePatch1} -\pastebutton{ugLangLoopsForInNPageEmpty1}{\showpaste} -\tab{5}\spadcommand{for i in 15.. while not prime?(i) repeat output(i)} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInNMPagePatch1} -\begin{paste}{ugLangLoopsForInNMPageFull1}{ugLangLoopsForInNMPageEmpty1} -\pastebutton{ugLangLoopsForInNMPageFull1}{\hidepaste} -\tab{5}\spadcommand{for i in 10..12 repeat output(i**3)} -\indentrel{3}\begin{verbatim} - 1000 - 1331 - 1728 - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInNMPageEmpty1} -\begin{paste}{ugLangLoopsForInNMPageEmpty1}{ugLangLoopsForInNMPagePatch1} -\pastebutton{ugLangLoopsForInNMPageEmpty1}{\showpaste} -\tab{5}\spadcommand{for i in 10..12 repeat output(i**3)} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInNMPagePatch2} -\begin{paste}{ugLangLoopsForInNMPageFull2}{ugLangLoopsForInNMPageEmpty2} -\pastebutton{ugLangLoopsForInNMPageFull2}{\hidepaste} -\tab{5}\spadcommand{a := [1,2,3]\bound{a }} -\indentrel{3}\begin{verbatim} - (2) [1,2,3] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInNMPageEmpty2} -\begin{paste}{ugLangLoopsForInNMPageEmpty2}{ugLangLoopsForInNMPagePatch2} -\pastebutton{ugLangLoopsForInNMPageEmpty2}{\showpaste} -\tab{5}\spadcommand{a := [1,2,3]\bound{a }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInNMPagePatch3} -\begin{paste}{ugLangLoopsForInNMPageFull3}{ugLangLoopsForInNMPageEmpty3} -\pastebutton{ugLangLoopsForInNMPageFull3}{\hidepaste} -\tab{5}\spadcommand{for i in 1..\#a repeat output(a.i)\free{a }} -\indentrel{3}\begin{verbatim} - 1 - 2 - 3 - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInNMPageEmpty3} -\begin{paste}{ugLangLoopsForInNMPageEmpty3}{ugLangLoopsForInNMPagePatch3} -\pastebutton{ugLangLoopsForInNMPageEmpty3}{\showpaste} -\tab{5}\spadcommand{for i in 1..\#a repeat output(a.i)\free{a }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInNMPagePatch4} -\begin{paste}{ugLangLoopsForInNMPageFull4}{ugLangLoopsForInNMPageEmpty4} -\pastebutton{ugLangLoopsForInNMPageFull4}{\hidepaste} -\tab{5}\spadcommand{m := matrix [[1,2],[4,3],[9,0]]\bound{m }} -\indentrel{3}\begin{verbatim} - Ú1 2¿ - ³ ³ - (4) ³4 3³ - ³ ³ - À9 0Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInNMPageEmpty4} -\begin{paste}{ugLangLoopsForInNMPageEmpty4}{ugLangLoopsForInNMPagePatch4} -\pastebutton{ugLangLoopsForInNMPageEmpty4}{\showpaste} -\tab{5}\spadcommand{m := matrix [[1,2],[4,3],[9,0]]\bound{m }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInNMPagePatch5} -\begin{paste}{ugLangLoopsForInNMPageFull5}{ugLangLoopsForInNMPageEmpty5} -\pastebutton{ugLangLoopsForInNMPageFull5}{\hidepaste} -\tab{5}\spadcommand{for i in 1..nrows(m) repeat output row(m,i)\free{m }} -\indentrel{3}\begin{verbatim} - [1,2] - [4,3] - [9,0] - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInNMPageEmpty5} -\begin{paste}{ugLangLoopsForInNMPageEmpty5}{ugLangLoopsForInNMPagePatch5} -\pastebutton{ugLangLoopsForInNMPageEmpty5}{\showpaste} -\tab{5}\spadcommand{for i in 1..nrows(m) repeat output row(m,i)\free{m }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInNMPagePatch6} -\begin{paste}{ugLangLoopsForInNMPageFull6}{ugLangLoopsForInNMPageEmpty6} -\pastebutton{ugLangLoopsForInNMPageFull6}{\hidepaste} -\tab{5}\spadcommand{for i in 1..5 repeat - if odd?(i) then iterate - output(i) -} -\indentrel{3}\begin{verbatim} - 2 - 4 - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInNMPageEmpty6} -\begin{paste}{ugLangLoopsForInNMPageEmpty6}{ugLangLoopsForInNMPagePatch6} -\pastebutton{ugLangLoopsForInNMPageEmpty6}{\showpaste} -\tab{5}\spadcommand{for i in 1..5 repeat - if odd?(i) then iterate - output(i) -} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsReturnPagePatch1} -\begin{paste}{ugLangLoopsReturnPageFull1}{ugLangLoopsReturnPageEmpty1} -\pastebutton{ugLangLoopsReturnPageFull1}{\hidepaste} -\tab{5}\spadcommand{f() == - i := 1 - repeat - if factorial(i) > 1000 then return i - i := i + 1 -\bound{f }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsReturnPageEmpty1} -\begin{paste}{ugLangLoopsReturnPageEmpty1}{ugLangLoopsReturnPagePatch1} -\pastebutton{ugLangLoopsReturnPageEmpty1}{\showpaste} -\tab{5}\spadcommand{f() == - i := 1 - repeat - if factorial(i) > 1000 then return i - i := i + 1 -\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsReturnPagePatch2} -\begin{paste}{ugLangLoopsReturnPageFull2}{ugLangLoopsReturnPageEmpty2} -\pastebutton{ugLangLoopsReturnPageFull2}{\hidepaste} -\tab{5}\spadcommand{f()\free{f }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsReturnPageEmpty2} -\begin{paste}{ugLangLoopsReturnPageEmpty2}{ugLangLoopsReturnPagePatch2} -\pastebutton{ugLangLoopsReturnPageEmpty2}{\showpaste} -\tab{5}\spadcommand{f()\free{f }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsReturnPagePatch3} -\begin{paste}{ugLangLoopsReturnPageFull3}{ugLangLoopsReturnPageEmpty3} -\pastebutton{ugLangLoopsReturnPageFull3}{\hidepaste} -\tab{5}\spadcommand{f() == - i := 1 - repeat - if factorial(i) > 1000 then return i - i := i + 1 - 0 -\bound{f1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsReturnPageEmpty3} -\begin{paste}{ugLangLoopsReturnPageEmpty3}{ugLangLoopsReturnPagePatch3} -\pastebutton{ugLangLoopsReturnPageEmpty3}{\showpaste} -\tab{5}\spadcommand{f() == - i := 1 - repeat - if factorial(i) > 1000 then return i - i := i + 1 - 0 -\bound{f1 }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsReturnPagePatch4} -\begin{paste}{ugLangLoopsReturnPageFull4}{ugLangLoopsReturnPageEmpty4} -\pastebutton{ugLangLoopsReturnPageFull4}{\hidepaste} -\tab{5}\spadcommand{f()\free{f1 }} -\indentrel{3}\begin{verbatim} - (4) 7 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsReturnPageEmpty4} -\begin{paste}{ugLangLoopsReturnPageEmpty4}{ugLangLoopsReturnPagePatch4} -\pastebutton{ugLangLoopsReturnPageEmpty4}{\showpaste} -\tab{5}\spadcommand{f()\free{f1 }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInXLPagePatch1} -\begin{paste}{ugLangLoopsForInXLPageFull1}{ugLangLoopsForInXLPageEmpty1} -\pastebutton{ugLangLoopsForInXLPageFull1}{\hidepaste} -\tab{5}\spadcommand{l := [0,-5,3]\bound{l }} -\indentrel{3}\begin{verbatim} - (1) [0,- 5,3] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInXLPageEmpty1} -\begin{paste}{ugLangLoopsForInXLPageEmpty1}{ugLangLoopsForInXLPagePatch1} -\pastebutton{ugLangLoopsForInXLPageEmpty1}{\showpaste} -\tab{5}\spadcommand{l := [0,-5,3]\bound{l }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInXLPagePatch2} -\begin{paste}{ugLangLoopsForInXLPageFull2}{ugLangLoopsForInXLPageEmpty2} -\pastebutton{ugLangLoopsForInXLPageFull2}{\hidepaste} -\tab{5}\spadcommand{for x in l repeat output(x)\free{l }} -\indentrel{3}\begin{verbatim} - 0 - - 5 - 3 - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInXLPageEmpty2} -\begin{paste}{ugLangLoopsForInXLPageEmpty2}{ugLangLoopsForInXLPagePatch2} -\pastebutton{ugLangLoopsForInXLPageEmpty2}{\showpaste} -\tab{5}\spadcommand{for x in l repeat output(x)\free{l }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInXLPagePatch3} -\begin{paste}{ugLangLoopsForInXLPageFull3}{ugLangLoopsForInXLPageEmpty3} -\pastebutton{ugLangLoopsForInXLPageFull3}{\hidepaste} -\tab{5}\spadcommand{for f in factors(factor(2400000)) repeat output(f)} -\indentrel{3}\begin{verbatim} - [factor= 2,exponent= 8] - [factor= 3,exponent= 1] - [factor= 5,exponent= 5] - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInXLPageEmpty3} -\begin{paste}{ugLangLoopsForInXLPageEmpty3}{ugLangLoopsForInXLPagePatch3} -\pastebutton{ugLangLoopsForInXLPageEmpty3}{\showpaste} -\tab{5}\spadcommand{for f in factors(factor(2400000)) repeat output(f)} -\end{paste}\end{patch} - -\begin{patch}{ugLangIfPagePatch1} -\begin{paste}{ugLangIfPageFull1}{ugLangIfPageEmpty1} -\pastebutton{ugLangIfPageFull1}{\hidepaste} -\tab{5}\spadcommand{x + 1 = y} -\indentrel{3}\begin{verbatim} - (1) x + 1= y - Type: Equation Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangIfPageEmpty1} -\begin{paste}{ugLangIfPageEmpty1}{ugLangIfPagePatch1} -\pastebutton{ugLangIfPageEmpty1}{\showpaste} -\tab{5}\spadcommand{x + 1 = y} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInNMSPagePatch1} -\begin{paste}{ugLangLoopsForInNMSPageFull1}{ugLangLoopsForInNMSPageEmpty1} -\pastebutton{ugLangLoopsForInNMSPageFull1}{\hidepaste} -\tab{5}\spadcommand{for i in 1..5 by 2 repeat output(i)} -\indentrel{3}\begin{verbatim} - 1 - 3 - 5 - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInNMSPageEmpty1} -\begin{paste}{ugLangLoopsForInNMSPageEmpty1}{ugLangLoopsForInNMSPagePatch1} -\pastebutton{ugLangLoopsForInNMSPageEmpty1}{\showpaste} -\tab{5}\spadcommand{for i in 1..5 by 2 repeat output(i)} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInNMSPagePatch2} -\begin{paste}{ugLangLoopsForInNMSPageFull2}{ugLangLoopsForInNMSPageEmpty2} -\pastebutton{ugLangLoopsForInNMSPageFull2}{\hidepaste} -\tab{5}\spadcommand{for i in 5..1 by -2 repeat output(i)} -\indentrel{3}\begin{verbatim} - 5 - 3 - 1 - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInNMSPageEmpty2} -\begin{paste}{ugLangLoopsForInNMSPageEmpty2}{ugLangLoopsForInNMSPagePatch2} -\pastebutton{ugLangLoopsForInNMSPageEmpty2}{\showpaste} -\tab{5}\spadcommand{for i in 5..1 by -2 repeat output(i)} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsIteratePagePatch1} -\begin{paste}{ugLangLoopsIteratePageFull1}{ugLangLoopsIteratePageEmpty1} -\pastebutton{ugLangLoopsIteratePageFull1}{\hidepaste} -\tab{5}\spadcommand{i := 0\bound{i }} -\indentrel{3}\begin{verbatim} - (1) 0 - Type: NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsIteratePageEmpty1} -\begin{paste}{ugLangLoopsIteratePageEmpty1}{ugLangLoopsIteratePagePatch1} -\pastebutton{ugLangLoopsIteratePageEmpty1}{\showpaste} -\tab{5}\spadcommand{i := 0\bound{i }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsIteratePagePatch2} -\begin{paste}{ugLangLoopsIteratePageFull2}{ugLangLoopsIteratePageEmpty2} -\pastebutton{ugLangLoopsIteratePageFull2}{\hidepaste} -\tab{5}\spadcommand{repeat - i := i + 1 - if i > 5 then break - if odd?(i) then iterate - output(i) -\free{i }} -\indentrel{3}\begin{verbatim} - 2 - 4 - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsIteratePageEmpty2} -\begin{paste}{ugLangLoopsIteratePageEmpty2}{ugLangLoopsIteratePagePatch2} -\pastebutton{ugLangLoopsIteratePageEmpty2}{\showpaste} -\tab{5}\spadcommand{repeat - i := i + 1 - if i > 5 then break - if odd?(i) then iterate - output(i) -\free{i }} -\end{paste}\end{patch} - -\begin{patch}{ugLangItsPagePatch1} -\begin{paste}{ugLangItsPageFull1}{ugLangItsPageEmpty1} -\pastebutton{ugLangItsPageFull1}{\hidepaste} -\tab{5}\spadcommand{list := [i for i in 1..10]\bound{list }} -\indentrel{3}\begin{verbatim} - (1) [1,2,3,4,5,6,7,8,9,10] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangItsPageEmpty1} -\begin{paste}{ugLangItsPageEmpty1}{ugLangItsPagePatch1} -\pastebutton{ugLangItsPageEmpty1}{\showpaste} -\tab{5}\spadcommand{list := [i for i in 1..10]\bound{list }} -\end{paste}\end{patch} - -\begin{patch}{ugLangItsPagePatch2} -\begin{paste}{ugLangItsPageFull2}{ugLangItsPageEmpty2} -\pastebutton{ugLangItsPageFull2}{\hidepaste} -\tab{5}\spadcommand{stream := [i for i in 1..]\bound{stream }} -\indentrel{3}\begin{verbatim} - (2) [1,2,3,4,5,6,7,8,9,10,...] - Type: Stream PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangItsPageEmpty2} -\begin{paste}{ugLangItsPageEmpty2}{ugLangItsPagePatch2} -\pastebutton{ugLangItsPageEmpty2}{\showpaste} -\tab{5}\spadcommand{stream := [i for i in 1..]\bound{stream }} -\end{paste}\end{patch} - -\begin{patch}{ugLangItsPagePatch3} -\begin{paste}{ugLangItsPageFull3}{ugLangItsPageEmpty3} -\pastebutton{ugLangItsPageFull3}{\hidepaste} -\tab{5}\spadcommand{[i for i in 1..10 | prime? i]} -\indentrel{3}\begin{verbatim} - (3) [2,3,5,7] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangItsPageEmpty3} -\begin{paste}{ugLangItsPageEmpty3}{ugLangItsPagePatch3} -\pastebutton{ugLangItsPageEmpty3}{\showpaste} -\tab{5}\spadcommand{[i for i in 1..10 | prime? i]} -\end{paste}\end{patch} - -\begin{patch}{ugLangItsPagePatch4} -\begin{paste}{ugLangItsPageFull4}{ugLangItsPageEmpty4} -\pastebutton{ugLangItsPageFull4}{\hidepaste} -\tab{5}\spadcommand{[i for i in 1.. | prime? i]} -\indentrel{3}\begin{verbatim} - (4) [2,3,5,7,11,13,17,19,23,29,...] - Type: Stream PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangItsPageEmpty4} -\begin{paste}{ugLangItsPageEmpty4}{ugLangItsPagePatch4} -\pastebutton{ugLangItsPageEmpty4}{\showpaste} -\tab{5}\spadcommand{[i for i in 1.. | prime? i]} -\end{paste}\end{patch} - -\begin{patch}{ugLangItsPagePatch5} -\begin{paste}{ugLangItsPageFull5}{ugLangItsPageEmpty5} -\pastebutton{ugLangItsPageFull5}{\hidepaste} -\tab{5}\spadcommand{[i for i in 1..10 while i*i < 700]} -\indentrel{3}\begin{verbatim} - (5) [1,2,3,4,5,6,7,8,9,10] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangItsPageEmpty5} -\begin{paste}{ugLangItsPageEmpty5}{ugLangItsPagePatch5} -\pastebutton{ugLangItsPageEmpty5}{\showpaste} -\tab{5}\spadcommand{[i for i in 1..10 while i*i < 700]} -\end{paste}\end{patch} - -\begin{patch}{ugLangItsPagePatch6} -\begin{paste}{ugLangItsPageFull6}{ugLangItsPageEmpty6} -\pastebutton{ugLangItsPageFull6}{\hidepaste} -\tab{5}\spadcommand{[i for i in 1.. while i*i < 700]} -\indentrel{3}\begin{verbatim} - (6) [1,2,3,4,5,6,7,8,9,10,...] - Type: Stream PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangItsPageEmpty6} -\begin{paste}{ugLangItsPageEmpty6}{ugLangItsPagePatch6} -\pastebutton{ugLangItsPageEmpty6}{\showpaste} -\tab{5}\spadcommand{[i for i in 1.. while i*i < 700]} -\end{paste}\end{patch} - -\begin{patch}{ugLangItsPagePatch7} -\begin{paste}{ugLangItsPageFull7}{ugLangItsPageEmpty7} -\pastebutton{ugLangItsPageFull7}{\hidepaste} -\tab{5}\spadcommand{matrix [[x**i+j for i in 1..3] for j in 10..12]} -\indentrel{3}\begin{verbatim} - Ú 2 3 ¿ - ³x + 10 x + 10 x + 10³ - ³ ³ - (7) ³ 2 3 ³ - ³x + 11 x + 11 x + 11³ - ³ ³ - ³ 2 3 ³ - Àx + 12 x + 12 x + 12Ù - Type: Matrix Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangItsPageEmpty7} -\begin{paste}{ugLangItsPageEmpty7}{ugLangItsPagePatch7} -\pastebutton{ugLangItsPageEmpty7}{\showpaste} -\tab{5}\spadcommand{matrix [[x**i+j for i in 1..3] for j in 10..12]} -\end{paste}\end{patch} - -\begin{patch}{ugLangItsPagePatch8} -\begin{paste}{ugLangItsPageFull8}{ugLangItsPageEmpty8} -\pastebutton{ugLangItsPageFull8}{\hidepaste} -\tab{5}\spadcommand{[[i/j for i in j+1..] for j in 1..]} -\indentrel{3}\begin{verbatim} - (8) - [[2,3,4,5,6,7,8,9,10,11,...], - 3 5 7 9 11 - [Ä,2,Ä,3,Ä,4,Ä,5,ÄÄ,6,...], - 2 2 2 2 2 - 4 5 7 8 10 11 13 - [Ä,Ä,2,Ä,Ä,3,ÄÄ,ÄÄ,4,ÄÄ,...], - 3 3 3 3 3 3 3 - 5 3 7 9 5 11 13 7 - [Ä,Ä,Ä,2,Ä,Ä,ÄÄ,3,ÄÄ,Ä,...], - 4 2 4 4 2 4 4 2 - 6 7 8 9 11 12 13 14 - [Ä,Ä,Ä,Ä,2,ÄÄ,ÄÄ,ÄÄ,ÄÄ,3,...], - 5 5 5 5 5 5 5 5 - 7 4 3 5 11 13 7 5 8 - [Ä,Ä,Ä,Ä,ÄÄ,2,ÄÄ,Ä,Ä,Ä,...], - 6 3 2 3 6 6 3 2 3 - 8 9 10 11 12 13 15 16 17 - [Ä,Ä,ÄÄ,ÄÄ,ÄÄ,ÄÄ,2,ÄÄ,ÄÄ,ÄÄ,...], - 7 7 7 7 7 7 7 7 7 - 9 5 11 3 13 7 15 17 9 - [Ä,Ä,ÄÄ,Ä,ÄÄ,Ä,ÄÄ,2,ÄÄ,Ä,...], - 8 4 8 2 8 4 8 8 4 - 10 11 4 13 14 5 16 17 19 - [ÄÄ,ÄÄ,Ä,ÄÄ,ÄÄ,Ä,ÄÄ,ÄÄ,2,ÄÄ,...], - 9 9 3 9 9 3 9 9 9 - 11 6 13 7 3 8 17 9 19 - [ÄÄ,Ä,ÄÄ,Ä,Ä,Ä,ÄÄ,Ä,ÄÄ,2,...], ...] - 10 5 10 5 2 5 10 5 10 - Type: Stream Stream Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangItsPageEmpty8} -\begin{paste}{ugLangItsPageEmpty8}{ugLangItsPagePatch8} -\pastebutton{ugLangItsPageEmpty8}{\showpaste} -\tab{5}\spadcommand{[[i/j for i in j+1..] for j in 1..]} -\end{paste}\end{patch} - -\begin{patch}{ugLangItsPagePatch9} -\begin{paste}{ugLangItsPageFull9}{ugLangItsPageEmpty9} -\pastebutton{ugLangItsPageFull9}{\hidepaste} -\tab{5}\spadcommand{[i/j for i in 3.. by 10 for j in 2..]} -\indentrel{3}\begin{verbatim} - 3 13 23 33 43 53 63 73 83 93 - (9) [Ä,ÄÄ,ÄÄ,ÄÄ,ÄÄ,ÄÄ,ÄÄ,ÄÄ,ÄÄ,ÄÄ,...] - 2 3 4 5 6 7 8 9 10 11 - Type: Stream Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangItsPageEmpty9} -\begin{paste}{ugLangItsPageEmpty9}{ugLangItsPagePatch9} -\pastebutton{ugLangItsPageEmpty9}{\showpaste} -\tab{5}\spadcommand{[i/j for i in 3.. by 10 for j in 2..]} -\end{paste}\end{patch} - -\begin{patch}{ugLangItsPagePatch10} -\begin{paste}{ugLangItsPageFull10}{ugLangItsPageEmpty10} -\pastebutton{ugLangItsPageFull10}{\hidepaste} -\tab{5}\spadcommand{[i**j for i in 1..7 for j in 2.. ]} -\indentrel{3}\begin{verbatim} - (10) [1,8,81,1024,15625,279936,5764801] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangItsPageEmpty10} -\begin{paste}{ugLangItsPageEmpty10}{ugLangItsPagePatch10} -\pastebutton{ugLangItsPageEmpty10}{\showpaste} -\tab{5}\spadcommand{[i**j for i in 1..7 for j in 2.. ]} -\end{paste}\end{patch} - -\begin{patch}{ugLangItsPagePatch11} -\begin{paste}{ugLangItsPageFull11}{ugLangItsPageEmpty11} -\pastebutton{ugLangItsPageFull11}{\hidepaste} -\tab{5}\spadcommand{[[[i,j] for i in 10..15 | prime? i] for j in 17..22 | j = squareFreePart j]} -\indentrel{3}\begin{verbatim} - (11) - [[[11,17],[13,17]], [[11,19],[13,19]], - [[11,21],[13,21]], [[11,22],[13,22]]] - Type: List List List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangItsPageEmpty11} -\begin{paste}{ugLangItsPageEmpty11}{ugLangItsPagePatch11} -\pastebutton{ugLangItsPageEmpty11}{\showpaste} -\tab{5}\spadcommand{[[[i,j] for i in 10..15 | prime? i] for j in 17..22 | j = squareFreePart j]} -\end{paste}\end{patch} - -\begin{patch}{ugLangStreamsPrimesPagePatch1} -\begin{paste}{ugLangStreamsPrimesPageFull1}{ugLangStreamsPrimesPageEmpty1} -\pastebutton{ugLangStreamsPrimesPageFull1}{\hidepaste} -\tab{5}\spadcommand{primes : Stream Integer := [i for i in 2.. | prime? i]} -\indentrel{3}\begin{verbatim} - (1) [2,3,5,7,11,13,17,19,23,29,...] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangStreamsPrimesPageEmpty1} -\begin{paste}{ugLangStreamsPrimesPageEmpty1}{ugLangStreamsPrimesPagePatch1} -\pastebutton{ugLangStreamsPrimesPageEmpty1}{\showpaste} -\tab{5}\spadcommand{primes : Stream Integer := [i for i in 2.. | prime? i]} -\end{paste}\end{patch} - -\begin{patch}{ugLangStreamsPrimesPagePatch2} -\begin{paste}{ugLangStreamsPrimesPageFull2}{ugLangStreamsPrimesPageEmpty2} -\pastebutton{ugLangStreamsPrimesPageFull2}{\hidepaste} -\tab{5}\spadcommand{primes := generate(nextPrime,2)} -\indentrel{3}\begin{verbatim} - (2) [2,3,5,7,11,13,17,19,23,29,...] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangStreamsPrimesPageEmpty2} -\begin{paste}{ugLangStreamsPrimesPageEmpty2}{ugLangStreamsPrimesPagePatch2} -\pastebutton{ugLangStreamsPrimesPageEmpty2}{\showpaste} -\tab{5}\spadcommand{primes := generate(nextPrime,2)} -\end{paste}\end{patch} - -\begin{patch}{ugLangStreamsPrimesPagePatch3} -\begin{paste}{ugLangStreamsPrimesPageFull3}{ugLangStreamsPrimesPageEmpty3} -\pastebutton{ugLangStreamsPrimesPageFull3}{\hidepaste} -\tab{5}\spadcommand{smallPrimes := [p for p in primes | p > 1000]\bound{smallPrimes }} -\indentrel{3}\begin{verbatim} - (3) - [1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,...] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangStreamsPrimesPageEmpty3} -\begin{paste}{ugLangStreamsPrimesPageEmpty3}{ugLangStreamsPrimesPagePatch3} -\pastebutton{ugLangStreamsPrimesPageEmpty3}{\showpaste} -\tab{5}\spadcommand{smallPrimes := [p for p in primes | p > 1000]\bound{smallPrimes }} -\end{paste}\end{patch} - -\begin{patch}{ugLangStreamsPrimesPagePatch4} -\begin{paste}{ugLangStreamsPrimesPageFull4}{ugLangStreamsPrimesPageEmpty4} -\pastebutton{ugLangStreamsPrimesPageFull4}{\hidepaste} -\tab{5}\spadcommand{[p for p in smallPrimes for i in 1..11]\free{smallPrimes }} -\indentrel{3}\begin{verbatim} - (4) - [1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,...] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangStreamsPrimesPageEmpty4} -\begin{paste}{ugLangStreamsPrimesPageEmpty4}{ugLangStreamsPrimesPagePatch4} -\pastebutton{ugLangStreamsPrimesPageEmpty4}{\showpaste} -\tab{5}\spadcommand{[p for p in smallPrimes for i in 1..11]\free{smallPrimes }} -\end{paste}\end{patch} - -\begin{patch}{ugLangStreamsPrimesPagePatch5} -\begin{paste}{ugLangStreamsPrimesPageFull5}{ugLangStreamsPrimesPageEmpty5} -\pastebutton{ugLangStreamsPrimesPageFull5}{\hidepaste} -\tab{5}\spadcommand{[p for p in smallPrimes while p < 1200]\free{smallPrimes }} -\indentrel{3}\begin{verbatim} - (5) - [1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,...] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangStreamsPrimesPageEmpty5} -\begin{paste}{ugLangStreamsPrimesPageEmpty5}{ugLangStreamsPrimesPagePatch5} -\pastebutton{ugLangStreamsPrimesPageEmpty5}{\showpaste} -\tab{5}\spadcommand{[p for p in smallPrimes while p < 1200]\free{smallPrimes }} -\end{paste}\end{patch} - -\begin{patch}{ugLangStreamsPrimesPagePatch6} -\begin{paste}{ugLangStreamsPrimesPageFull6}{ugLangStreamsPrimesPageEmpty6} -\pastebutton{ugLangStreamsPrimesPageFull6}{\hidepaste} -\tab{5}\spadcommand{complete \%} -\indentrel{3}\begin{verbatim} - (6) - [1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,...] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangStreamsPrimesPageEmpty6} -\begin{paste}{ugLangStreamsPrimesPageEmpty6}{ugLangStreamsPrimesPagePatch6} -\pastebutton{ugLangStreamsPrimesPageEmpty6}{\showpaste} -\tab{5}\spadcommand{complete \%} -\end{paste}\end{patch} - -\begin{patch}{ugLangStreamsPrimesPagePatch7} -\begin{paste}{ugLangStreamsPrimesPageFull7}{ugLangStreamsPrimesPageEmpty7} -\pastebutton{ugLangStreamsPrimesPageFull7}{\hidepaste} -\tab{5}\spadcommand{twinPrimes := [[p,p+2] for p in primes | prime?(p + 2)]} -\indentrel{3}\begin{verbatim} - (7) - [[3,5], [5,7], [11,13], [17,19], [29,31], [41,43], - [59,61], [71,73], [101,103], [107,109], ...] - Type: Stream List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangStreamsPrimesPageEmpty7} -\begin{paste}{ugLangStreamsPrimesPageEmpty7}{ugLangStreamsPrimesPagePatch7} -\pastebutton{ugLangStreamsPrimesPageEmpty7}{\showpaste} -\tab{5}\spadcommand{twinPrimes := [[p,p+2] for p in primes | prime?(p + 2)]} -\end{paste}\end{patch} - -\begin{patch}{ugLangStreamsPrimesPagePatch8} -\begin{paste}{ugLangStreamsPrimesPageFull8}{ugLangStreamsPrimesPageEmpty8} -\pastebutton{ugLangStreamsPrimesPageFull8}{\hidepaste} -\tab{5}\spadcommand{firstOfTwins:= [p for p in primes for q in rest primes | q=p+2]} -\indentrel{3}\begin{verbatim} - (8) [3,5,11,17,29,41,59,71,101,107,...] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangStreamsPrimesPageEmpty8} -\begin{paste}{ugLangStreamsPrimesPageEmpty8}{ugLangStreamsPrimesPagePatch8} -\pastebutton{ugLangStreamsPrimesPageEmpty8}{\showpaste} -\tab{5}\spadcommand{firstOfTwins:= [p for p in primes for q in rest primes | q=p+2]} -\end{paste}\end{patch} - -\begin{patch}{ugLangStreamsPrimesPagePatch9} -\begin{paste}{ugLangStreamsPrimesPageFull9}{ugLangStreamsPrimesPageEmpty9} -\pastebutton{ugLangStreamsPrimesPageFull9}{\hidepaste} -\tab{5}\spadcommand{firstTriplets := [p for p in firstOfTwins for q in rest firstOfTwins | q = p+2];} -\indentrel{3}\begin{verbatim} - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangStreamsPrimesPageEmpty9} -\begin{paste}{ugLangStreamsPrimesPageEmpty9}{ugLangStreamsPrimesPagePatch9} -\pastebutton{ugLangStreamsPrimesPageEmpty9}{\showpaste} -\tab{5}\spadcommand{firstTriplets := [p for p in firstOfTwins for q in rest firstOfTwins | q = p+2];} -\end{paste}\end{patch} - -\begin{patch}{ugLangStreamsPrimesPagePatch10} -\begin{paste}{ugLangStreamsPrimesPageFull10}{ugLangStreamsPrimesPageEmpty10} -\pastebutton{ugLangStreamsPrimesPageFull10}{\hidepaste} -\tab{5}\spadcommand{firstTriplets.1} -\indentrel{3}\begin{verbatim} - (10) 3 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangStreamsPrimesPageEmpty10} -\begin{paste}{ugLangStreamsPrimesPageEmpty10}{ugLangStreamsPrimesPagePatch10} -\pastebutton{ugLangStreamsPrimesPageEmpty10}{\showpaste} -\tab{5}\spadcommand{firstTriplets.1} -\end{paste}\end{patch} - -\begin{patch}{ugLangStreamsPrimesPagePatch11} -\begin{paste}{ugLangStreamsPrimesPageFull11}{ugLangStreamsPrimesPageEmpty11} -\pastebutton{ugLangStreamsPrimesPageFull11}{\hidepaste} -\tab{5}\spadcommand{primes.2045} -\indentrel{3}\begin{verbatim} - (11) 17837 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangStreamsPrimesPageEmpty11} -\begin{paste}{ugLangStreamsPrimesPageEmpty11}{ugLangStreamsPrimesPagePatch11} -\pastebutton{ugLangStreamsPrimesPageEmpty11}{\showpaste} -\tab{5}\spadcommand{primes.2045} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInPredPagePatch1} -\begin{paste}{ugLangLoopsForInPredPageFull1}{ugLangLoopsForInPredPageEmpty1} -\pastebutton{ugLangLoopsForInPredPageFull1}{\hidepaste} -\tab{5}\spadcommand{for n in 0..4 | odd? n repeat output n} -\indentrel{3}\begin{verbatim} - 1 - 3 - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInPredPageEmpty1} -\begin{paste}{ugLangLoopsForInPredPageEmpty1}{ugLangLoopsForInPredPagePatch1} -\pastebutton{ugLangLoopsForInPredPageEmpty1}{\showpaste} -\tab{5}\spadcommand{for n in 0..4 | odd? n repeat output n} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInPredPagePatch2} -\begin{paste}{ugLangLoopsForInPredPageFull2}{ugLangLoopsForInPredPageEmpty2} -\pastebutton{ugLangLoopsForInPredPageFull2}{\hidepaste} -\tab{5}\spadcommand{for i in 1..50 repeat - for j in 1..50 | factorial(i+j) < 25 repeat - output [i,j] -} -\indentrel{3}\begin{verbatim} - [1,1] - [1,2] - [1,3] - [2,1] - [2,2] - [3,1] - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsForInPredPageEmpty2} -\begin{paste}{ugLangLoopsForInPredPageEmpty2}{ugLangLoopsForInPredPagePatch2} -\pastebutton{ugLangLoopsForInPredPageEmpty2}{\showpaste} -\tab{5}\spadcommand{for i in 1..50 repeat - for j in 1..50 | factorial(i+j) < 25 repeat - output [i,j] -} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakMorePagePatch1} -\begin{paste}{ugLangLoopsBreakMorePageFull1}{ugLangLoopsBreakMorePageEmpty1} -\pastebutton{ugLangLoopsBreakMorePageFull1}{\hidepaste} -\tab{5}\spadcommand{i := 0\bound{i }} -\indentrel{3}\begin{verbatim} - (1) 0 - Type: NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakMorePageEmpty1} -\begin{paste}{ugLangLoopsBreakMorePageEmpty1}{ugLangLoopsBreakMorePagePatch1} -\pastebutton{ugLangLoopsBreakMorePageEmpty1}{\showpaste} -\tab{5}\spadcommand{i := 0\bound{i }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakMorePagePatch2} -\begin{paste}{ugLangLoopsBreakMorePageFull2}{ugLangLoopsBreakMorePageEmpty2} -\pastebutton{ugLangLoopsBreakMorePageFull2}{\hidepaste} -\tab{5}\spadcommand{repeat - i := i + 1 - if i**2 > 100 then break -\free{i }\bound{i1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakMorePageEmpty2} -\begin{paste}{ugLangLoopsBreakMorePageEmpty2}{ugLangLoopsBreakMorePagePatch2} -\pastebutton{ugLangLoopsBreakMorePageEmpty2}{\showpaste} -\tab{5}\spadcommand{repeat - i := i + 1 - if i**2 > 100 then break -\free{i }\bound{i1 }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakMorePagePatch3} -\begin{paste}{ugLangLoopsBreakMorePageFull3}{ugLangLoopsBreakMorePageEmpty3} -\pastebutton{ugLangLoopsBreakMorePageFull3}{\hidepaste} -\tab{5}\spadcommand{i\free{i1 }} -\indentrel{3}\begin{verbatim} - (3) 11 - Type: NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakMorePageEmpty3} -\begin{paste}{ugLangLoopsBreakMorePageEmpty3}{ugLangLoopsBreakMorePagePatch3} -\pastebutton{ugLangLoopsBreakMorePageEmpty3}{\showpaste} -\tab{5}\spadcommand{i\free{i1 }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakMorePagePatch4} -\begin{paste}{ugLangLoopsBreakMorePageFull4}{ugLangLoopsBreakMorePageEmpty4} -\pastebutton{ugLangLoopsBreakMorePageFull4}{\hidepaste} -\tab{5}\spadcommand{i := 0\bound{i2 }} -\indentrel{3}\begin{verbatim} - (4) 0 - Type: NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakMorePageEmpty4} -\begin{paste}{ugLangLoopsBreakMorePageEmpty4}{ugLangLoopsBreakMorePagePatch4} -\pastebutton{ugLangLoopsBreakMorePageEmpty4}{\showpaste} -\tab{5}\spadcommand{i := 0\bound{i2 }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakMorePagePatch5} -\begin{paste}{ugLangLoopsBreakMorePageFull5}{ugLangLoopsBreakMorePageEmpty5} -\pastebutton{ugLangLoopsBreakMorePageFull5}{\hidepaste} -\tab{5}\spadcommand{repeat - i := i + 1 - i**2 > 100 => break -\free{i2 }\bound{i3 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakMorePageEmpty5} -\begin{paste}{ugLangLoopsBreakMorePageEmpty5}{ugLangLoopsBreakMorePagePatch5} -\pastebutton{ugLangLoopsBreakMorePageEmpty5}{\showpaste} -\tab{5}\spadcommand{repeat - i := i + 1 - i**2 > 100 => break -\free{i2 }\bound{i3 }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakMorePagePatch6} -\begin{paste}{ugLangLoopsBreakMorePageFull6}{ugLangLoopsBreakMorePageEmpty6} -\pastebutton{ugLangLoopsBreakMorePageFull6}{\hidepaste} -\tab{5}\spadcommand{i\free{i3 }} -\indentrel{3}\begin{verbatim} - (6) 11 - Type: NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakMorePageEmpty6} -\begin{paste}{ugLangLoopsBreakMorePageEmpty6}{ugLangLoopsBreakMorePagePatch6} -\pastebutton{ugLangLoopsBreakMorePageEmpty6}{\showpaste} -\tab{5}\spadcommand{i\free{i3 }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakMorePagePatch7} -\begin{paste}{ugLangLoopsBreakMorePageFull7}{ugLangLoopsBreakMorePageEmpty7} -\pastebutton{ugLangLoopsBreakMorePageFull7}{\hidepaste} -\tab{5}\spadcommand{(n, i, f) := (100, 1, 1)\bound{n }\bound{i4 }\bound{f }} -\indentrel{3}\begin{verbatim} - (7) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakMorePageEmpty7} -\begin{paste}{ugLangLoopsBreakMorePageEmpty7}{ugLangLoopsBreakMorePagePatch7} -\pastebutton{ugLangLoopsBreakMorePageEmpty7}{\showpaste} -\tab{5}\spadcommand{(n, i, f) := (100, 1, 1)\bound{n }\bound{i4 }\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakMorePagePatch8} -\begin{paste}{ugLangLoopsBreakMorePageFull8}{ugLangLoopsBreakMorePageEmpty8} -\pastebutton{ugLangLoopsBreakMorePageFull8}{\hidepaste} -\tab{5}\spadcommand{repeat - if i > n then break - f := f * i - i := i + 1 -\bound{f1 }\bound{i5 }\free{f i4 n }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakMorePageEmpty8} -\begin{paste}{ugLangLoopsBreakMorePageEmpty8}{ugLangLoopsBreakMorePagePatch8} -\pastebutton{ugLangLoopsBreakMorePageEmpty8}{\showpaste} -\tab{5}\spadcommand{repeat - if i > n then break - f := f * i - i := i + 1 -\bound{f1 }\bound{i5 }\free{f i4 n }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakMorePagePatch9} -\begin{paste}{ugLangLoopsBreakMorePageFull9}{ugLangLoopsBreakMorePageEmpty9} -\pastebutton{ugLangLoopsBreakMorePageFull9}{\hidepaste} -\tab{5}\spadcommand{f\free{f1 }} -\indentrel{3}\begin{verbatim} - (9) - 933262154439441526816992388562667004907159682643816214_ - 68592963895217599993229915608941463976156518286253697_ - 920827223758251185210916864000000000000000000000000 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakMorePageEmpty9} -\begin{paste}{ugLangLoopsBreakMorePageEmpty9}{ugLangLoopsBreakMorePagePatch9} -\pastebutton{ugLangLoopsBreakMorePageEmpty9}{\showpaste} -\tab{5}\spadcommand{f\free{f1 }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakMorePagePatch10} -\begin{paste}{ugLangLoopsBreakMorePageFull10}{ugLangLoopsBreakMorePageEmpty10} -\pastebutton{ugLangLoopsBreakMorePageFull10}{\hidepaste} -\tab{5}\spadcommand{m := matrix [[21,37,53,14], [8,-24,22,-16], [2,10,15,14], [26,33,55,-13]]\bound{m2 }} -\indentrel{3}\begin{verbatim} - Ú21 37 53 14 ¿ - ³ ³ - ³8 - 24 22 - 16³ - (10) ³ ³ - ³2 10 15 14 ³ - ³ ³ - À26 33 55 - 13Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakMorePageEmpty10} -\begin{paste}{ugLangLoopsBreakMorePageEmpty10}{ugLangLoopsBreakMorePagePatch10} -\pastebutton{ugLangLoopsBreakMorePageEmpty10}{\showpaste} -\tab{5}\spadcommand{m := matrix [[21,37,53,14], [8,-24,22,-16], [2,10,15,14], [26,33,55,-13]]\bound{m2 }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakMorePagePatch11} -\begin{paste}{ugLangLoopsBreakMorePageFull11}{ugLangLoopsBreakMorePageEmpty11} -\pastebutton{ugLangLoopsBreakMorePageFull11}{\hidepaste} -\tab{5}\spadcommand{(r, c) := (1, 1)\bound{r }\bound{c }} -\indentrel{3}\begin{verbatim} - (11) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakMorePageEmpty11} -\begin{paste}{ugLangLoopsBreakMorePageEmpty11}{ugLangLoopsBreakMorePagePatch11} -\pastebutton{ugLangLoopsBreakMorePageEmpty11}{\showpaste} -\tab{5}\spadcommand{(r, c) := (1, 1)\bound{r }\bound{c }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakMorePagePatch12} -\begin{paste}{ugLangLoopsBreakMorePageFull12}{ugLangLoopsBreakMorePageEmpty12} -\pastebutton{ugLangLoopsBreakMorePageFull12}{\hidepaste} -\tab{5}\spadcommand{(lastrow, lastcol) := (nrows(m), ncols(m))\bound{lastrow }\bound{lastcol }\free{m2 }} -\indentrel{3}\begin{verbatim} - (12) 4 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakMorePageEmpty12} -\begin{paste}{ugLangLoopsBreakMorePageEmpty12}{ugLangLoopsBreakMorePagePatch12} -\pastebutton{ugLangLoopsBreakMorePageEmpty12}{\showpaste} -\tab{5}\spadcommand{(lastrow, lastcol) := (nrows(m), ncols(m))\bound{lastrow }\bound{lastcol }\free{m2 }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakMorePagePatch13} -\begin{paste}{ugLangLoopsBreakMorePageFull13}{ugLangLoopsBreakMorePageEmpty13} -\pastebutton{ugLangLoopsBreakMorePageFull13}{\hidepaste} -\tab{5}\spadcommand{repeat - if r > lastrow then break - c := 1 - repeat - if c > lastcol then break - if elt(m,r,c) < 0 then - output [r, c, elt(m,r,c)] - r := lastrow - break -- don't look any further - c := c + 1 - r := r + 1 -\free{m2 r c lastrow lastcol }} -\indentrel{3}\begin{verbatim} - [2,2,- 24] - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakMorePageEmpty13} -\begin{paste}{ugLangLoopsBreakMorePageEmpty13}{ugLangLoopsBreakMorePagePatch13} -\pastebutton{ugLangLoopsBreakMorePageEmpty13}{\showpaste} -\tab{5}\spadcommand{repeat - if r > lastrow then break - c := 1 - repeat - if c > lastcol then break - if elt(m,r,c) < 0 then - output [r, c, elt(m,r,c)] - r := lastrow - break -- don't look any further - c := c + 1 - r := r + 1 -\free{m2 r c lastrow lastcol }} -\end{paste}\end{patch} - -\begin{patch}{ugLangBlocksPagePatch1} -\begin{paste}{ugLangBlocksPageFull1}{ugLangBlocksPageEmpty1} -\pastebutton{ugLangBlocksPageFull1}{\hidepaste} -\tab{5}\spadcommand{a := - i := gcd(234,672) - i := 3*i**5 - i + 1 - 1 / i -} -\indentrel{3}\begin{verbatim} - 1 - (1) ÄÄÄÄÄ - 23323 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangBlocksPageEmpty1} -\begin{paste}{ugLangBlocksPageEmpty1}{ugLangBlocksPagePatch1} -\pastebutton{ugLangBlocksPageEmpty1}{\showpaste} -\tab{5}\spadcommand{a := - i := gcd(234,672) - i := 3*i**5 - i + 1 - 1 / i -} -\end{paste}\end{patch} - -\begin{patch}{ugLangBlocksPagePatch2} -\begin{paste}{ugLangBlocksPageFull2}{ugLangBlocksPageEmpty2} -\pastebutton{ugLangBlocksPageFull2}{\hidepaste} -\tab{5}\spadcommand{a := (i := gcd(234,672); i := 3*i**5 - i + 1; 1 / i)} -\indentrel{3}\begin{verbatim} - 1 - (2) ÄÄÄÄÄ - 23323 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangBlocksPageEmpty2} -\begin{paste}{ugLangBlocksPageEmpty2}{ugLangBlocksPagePatch2} -\pastebutton{ugLangBlocksPageEmpty2}{\showpaste} -\tab{5}\spadcommand{a := (i := gcd(234,672); i := 3*i**5 - i + 1; 1 / i)} -\end{paste}\end{patch} - -\begin{patch}{ugLangBlocksPagePatch3} -\begin{paste}{ugLangBlocksPageFull3}{ugLangBlocksPageEmpty3} -\pastebutton{ugLangBlocksPageFull3}{\hidepaste} -\tab{5}\spadcommand{(a := 1; b := 2; c := 3; [a,b,c])\bound{a b c }} -\indentrel{3}\begin{verbatim} - (3) [1,2,3] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangBlocksPageEmpty3} -\begin{paste}{ugLangBlocksPageEmpty3}{ugLangBlocksPagePatch3} -\pastebutton{ugLangBlocksPageEmpty3}{\showpaste} -\tab{5}\spadcommand{(a := 1; b := 2; c := 3; [a,b,c])\bound{a b c }} -\end{paste}\end{patch} - -\begin{patch}{ugLangBlocksPagePatch4} -\begin{paste}{ugLangBlocksPageFull4}{ugLangBlocksPageEmpty4} -\pastebutton{ugLangBlocksPageFull4}{\hidepaste} -\tab{5}\spadcommand{d := - c := a**2 + b**2 - sqrt(c * 1.3) -\free{a b }} -\indentrel{3}\begin{verbatim} - (4) 2.5495097567 96392415 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangBlocksPageEmpty4} -\begin{paste}{ugLangBlocksPageEmpty4}{ugLangBlocksPagePatch4} -\pastebutton{ugLangBlocksPageEmpty4}{\showpaste} -\tab{5}\spadcommand{d := - c := a**2 + b**2 - sqrt(c * 1.3) -\free{a b }} -\end{paste}\end{patch} - -\begin{patch}{ugLangBlocksPagePatch5} -\begin{paste}{ugLangBlocksPageFull5}{ugLangBlocksPageEmpty5} -\pastebutton{ugLangBlocksPageFull5}{\hidepaste} -\tab{5}\spadcommand{h := 2.1 + - 1.0 - 3.5 -\bound{h }} -\indentrel{3}\begin{verbatim} - (5) 5.6 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangBlocksPageEmpty5} -\begin{paste}{ugLangBlocksPageEmpty5}{ugLangBlocksPagePatch5} -\pastebutton{ugLangBlocksPageEmpty5}{\showpaste} -\tab{5}\spadcommand{h := 2.1 + - 1.0 - 3.5 -\bound{h }} -\end{paste}\end{patch} - -\begin{patch}{ugLangBlocksPagePatch6} -\begin{paste}{ugLangBlocksPageFull6}{ugLangBlocksPageEmpty6} -\pastebutton{ugLangBlocksPageFull6}{\hidepaste} -\tab{5}\spadcommand{eval(x**2 - x*y**2, - z := \%pi/2.0 - exp(4.1) - x = z - ) -} -\indentrel{3}\begin{verbatim} - (6) - 2 - 58.7694912705 67072878 y + 3453.8531042012 59382 - Type: Polynomial Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangBlocksPageEmpty6} -\begin{paste}{ugLangBlocksPageEmpty6}{ugLangBlocksPagePatch6} -\pastebutton{ugLangBlocksPageEmpty6}{\showpaste} -\tab{5}\spadcommand{eval(x**2 - x*y**2, - z := \%pi/2.0 - exp(4.1) - x = z - ) -} -\end{paste}\end{patch} - -\begin{patch}{ugLangBlocksPagePatch7} -\begin{paste}{ugLangBlocksPageFull7}{ugLangBlocksPageEmpty7} -\pastebutton{ugLangBlocksPageFull7}{\hidepaste} -\tab{5}\spadcommand{if h > 3.1 then 1.0 else (z := cos(h); max(z,0.5))\free{h }} -\indentrel{3}\begin{verbatim} - (7) 1.0 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangBlocksPageEmpty7} -\begin{paste}{ugLangBlocksPageEmpty7}{ugLangBlocksPagePatch7} -\pastebutton{ugLangBlocksPageEmpty7}{\showpaste} -\tab{5}\spadcommand{if h > 3.1 then 1.0 else (z := cos(h); max(z,0.5))\free{h }} -\end{paste}\end{patch} - -\begin{patch}{ugLangBlocksPagePatch8} -\begin{paste}{ugLangBlocksPageFull8}{ugLangBlocksPageEmpty8} -\pastebutton{ugLangBlocksPageFull8}{\hidepaste} -\tab{5}\spadcommand{if h > 3.1 then - 1.0 - else - z := cos(h) - max(z,0.5) -\free{h }} -\indentrel{3}\begin{verbatim} - (8) 1.0 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangBlocksPageEmpty8} -\begin{paste}{ugLangBlocksPageEmpty8}{ugLangBlocksPagePatch8} -\pastebutton{ugLangBlocksPageEmpty8}{\showpaste} -\tab{5}\spadcommand{if h > 3.1 then - 1.0 - else - z := cos(h) - max(z,0.5) -\free{h }} -\end{paste}\end{patch} - -\begin{patch}{ugLangBlocksPagePatch9} -\begin{paste}{ugLangBlocksPageFull9}{ugLangBlocksPageEmpty9} -\pastebutton{ugLangBlocksPageFull9}{\hidepaste} -\tab{5}\spadcommand{a := (b := factorial(12); c := (d := eulerPhi(22); factorial(d));b+c)} -\indentrel{3}\begin{verbatim} - (9) 482630400 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangBlocksPageEmpty9} -\begin{paste}{ugLangBlocksPageEmpty9}{ugLangBlocksPagePatch9} -\pastebutton{ugLangBlocksPageEmpty9}{\showpaste} -\tab{5}\spadcommand{a := (b := factorial(12); c := (d := eulerPhi(22); factorial(d));b+c)} -\end{paste}\end{patch} - -\begin{patch}{ugLangBlocksPagePatch10} -\begin{paste}{ugLangBlocksPageFull10}{ugLangBlocksPageEmpty10} -\pastebutton{ugLangBlocksPageFull10}{\hidepaste} -\tab{5}\spadcommand{a := - b := factorial(12) - c := - d := eulerPhi(22) - factorial(d) - b+c -} -\indentrel{3}\begin{verbatim} - (10) 482630400 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangBlocksPageEmpty10} -\begin{paste}{ugLangBlocksPageEmpty10}{ugLangBlocksPagePatch10} -\pastebutton{ugLangBlocksPageEmpty10}{\showpaste} -\tab{5}\spadcommand{a := - b := factorial(12) - c := - d := eulerPhi(22) - factorial(d) - b+c -} -\end{paste}\end{patch} - -\begin{patch}{ugLangBlocksPagePatch11} -\begin{paste}{ugLangBlocksPageFull11}{ugLangBlocksPageEmpty11} -\pastebutton{ugLangBlocksPageFull11}{\hidepaste} -\tab{5}\spadcommand{a := - c := factorial 10 - d := fibonacci 10 - c + d = 3628855 => c - d -} -\indentrel{3}\begin{verbatim} - (11) 3628800 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangBlocksPageEmpty11} -\begin{paste}{ugLangBlocksPageEmpty11}{ugLangBlocksPagePatch11} -\pastebutton{ugLangBlocksPageEmpty11}{\showpaste} -\tab{5}\spadcommand{a := - c := factorial 10 - d := fibonacci 10 - c + d = 3628855 => c - d -} -\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPagePatch1} -\begin{paste}{ugLangAssignPageFull1}{ugLangAssignPageEmpty1} -\pastebutton{ugLangAssignPageFull1}{\hidepaste} -\tab{5}\spadcommand{a := 1\bound{a }} -\indentrel{3}\begin{verbatim} - (1) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPageEmpty1} -\begin{paste}{ugLangAssignPageEmpty1}{ugLangAssignPagePatch1} -\pastebutton{ugLangAssignPageEmpty1}{\showpaste} -\tab{5}\spadcommand{a := 1\bound{a }} -\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPagePatch2} -\begin{paste}{ugLangAssignPageFull2}{ugLangAssignPageEmpty2} -\pastebutton{ugLangAssignPageFull2}{\hidepaste} -\tab{5}\spadcommand{b := a\free{a }\bound{b }} -\indentrel{3}\begin{verbatim} - (2) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPageEmpty2} -\begin{paste}{ugLangAssignPageEmpty2}{ugLangAssignPagePatch2} -\pastebutton{ugLangAssignPageEmpty2}{\showpaste} -\tab{5}\spadcommand{b := a\free{a }\bound{b }} -\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPagePatch3} -\begin{paste}{ugLangAssignPageFull3}{ugLangAssignPageEmpty3} -\pastebutton{ugLangAssignPageFull3}{\hidepaste} -\tab{5}\spadcommand{a := 2\bound{a2 }} -\indentrel{3}\begin{verbatim} - (3) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPageEmpty3} -\begin{paste}{ugLangAssignPageEmpty3}{ugLangAssignPagePatch3} -\pastebutton{ugLangAssignPageEmpty3}{\showpaste} -\tab{5}\spadcommand{a := 2\bound{a2 }} -\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPagePatch4} -\begin{paste}{ugLangAssignPageFull4}{ugLangAssignPageEmpty4} -\pastebutton{ugLangAssignPageFull4}{\hidepaste} -\tab{5}\spadcommand{b\free{b }} -\indentrel{3}\begin{verbatim} - (4) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPageEmpty4} -\begin{paste}{ugLangAssignPageEmpty4}{ugLangAssignPagePatch4} -\pastebutton{ugLangAssignPageEmpty4}{\showpaste} -\tab{5}\spadcommand{b\free{b }} -\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPagePatch5} -\begin{paste}{ugLangAssignPageFull5}{ugLangAssignPageEmpty5} -\pastebutton{ugLangAssignPageFull5}{\hidepaste} -\tab{5}\spadcommand{a == 1\bound{ad }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPageEmpty5} -\begin{paste}{ugLangAssignPageEmpty5}{ugLangAssignPagePatch5} -\pastebutton{ugLangAssignPageEmpty5}{\showpaste} -\tab{5}\spadcommand{a == 1\bound{ad }} -\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPagePatch6} -\begin{paste}{ugLangAssignPageFull6}{ugLangAssignPageEmpty6} -\pastebutton{ugLangAssignPageFull6}{\hidepaste} -\tab{5}\spadcommand{b == a\free{ad }\bound{bd }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPageEmpty6} -\begin{paste}{ugLangAssignPageEmpty6}{ugLangAssignPagePatch6} -\pastebutton{ugLangAssignPageEmpty6}{\showpaste} -\tab{5}\spadcommand{b == a\free{ad }\bound{bd }} -\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPagePatch7} -\begin{paste}{ugLangAssignPageFull7}{ugLangAssignPageEmpty7} -\pastebutton{ugLangAssignPageFull7}{\hidepaste} -\tab{5}\spadcommand{a\free{ad }} -\indentrel{3}\begin{verbatim} - (7) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPageEmpty7} -\begin{paste}{ugLangAssignPageEmpty7}{ugLangAssignPagePatch7} -\pastebutton{ugLangAssignPageEmpty7}{\showpaste} -\tab{5}\spadcommand{a\free{ad }} -\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPagePatch8} -\begin{paste}{ugLangAssignPageFull8}{ugLangAssignPageEmpty8} -\pastebutton{ugLangAssignPageFull8}{\hidepaste} -\tab{5}\spadcommand{b\free{bd }} -\indentrel{3}\begin{verbatim} - (8) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPageEmpty8} -\begin{paste}{ugLangAssignPageEmpty8}{ugLangAssignPagePatch8} -\pastebutton{ugLangAssignPageEmpty8}{\showpaste} -\tab{5}\spadcommand{b\free{bd }} -\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPagePatch9} -\begin{paste}{ugLangAssignPageFull9}{ugLangAssignPageEmpty9} -\pastebutton{ugLangAssignPageFull9}{\hidepaste} -\tab{5}\spadcommand{a == 2\bound{ad2 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPageEmpty9} -\begin{paste}{ugLangAssignPageEmpty9}{ugLangAssignPagePatch9} -\pastebutton{ugLangAssignPageEmpty9}{\showpaste} -\tab{5}\spadcommand{a == 2\bound{ad2 }} -\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPagePatch10} -\begin{paste}{ugLangAssignPageFull10}{ugLangAssignPageEmpty10} -\pastebutton{ugLangAssignPageFull10}{\hidepaste} -\tab{5}\spadcommand{a\free{ad2 }} -\indentrel{3}\begin{verbatim} - (10) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPageEmpty10} -\begin{paste}{ugLangAssignPageEmpty10}{ugLangAssignPagePatch10} -\pastebutton{ugLangAssignPageEmpty10}{\showpaste} -\tab{5}\spadcommand{a\free{ad2 }} -\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPagePatch11} -\begin{paste}{ugLangAssignPageFull11}{ugLangAssignPageEmpty11} -\pastebutton{ugLangAssignPageFull11}{\hidepaste} -\tab{5}\spadcommand{b\free{bd ad2 }} -\indentrel{3}\begin{verbatim} - (11) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPageEmpty11} -\begin{paste}{ugLangAssignPageEmpty11}{ugLangAssignPagePatch11} -\pastebutton{ugLangAssignPageEmpty11}{\showpaste} -\tab{5}\spadcommand{b\free{bd ad2 }} -\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPagePatch12} -\begin{paste}{ugLangAssignPageFull12}{ugLangAssignPageEmpty12} -\pastebutton{ugLangAssignPageFull12}{\hidepaste} -\tab{5}\spadcommand{(x,y) := (1,2)\bound{x }\bound{y }} -\indentrel{3}\begin{verbatim} - (12) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPageEmpty12} -\begin{paste}{ugLangAssignPageEmpty12}{ugLangAssignPagePatch12} -\pastebutton{ugLangAssignPageEmpty12}{\showpaste} -\tab{5}\spadcommand{(x,y) := (1,2)\bound{x }\bound{y }} -\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPagePatch13} -\begin{paste}{ugLangAssignPageFull13}{ugLangAssignPageEmpty13} -\pastebutton{ugLangAssignPageFull13}{\hidepaste} -\tab{5}\spadcommand{(x,y) := (y,x)\free{x y }\bound{swap }} -\indentrel{3}\begin{verbatim} - (13) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPageEmpty13} -\begin{paste}{ugLangAssignPageEmpty13}{ugLangAssignPagePatch13} -\pastebutton{ugLangAssignPageEmpty13}{\showpaste} -\tab{5}\spadcommand{(x,y) := (y,x)\free{x y }\bound{swap }} -\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPagePatch14} -\begin{paste}{ugLangAssignPageFull14}{ugLangAssignPageEmpty14} -\pastebutton{ugLangAssignPageFull14}{\hidepaste} -\tab{5}\spadcommand{x\free{swap }} -\indentrel{3}\begin{verbatim} - (14) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPageEmpty14} -\begin{paste}{ugLangAssignPageEmpty14}{ugLangAssignPagePatch14} -\pastebutton{ugLangAssignPageEmpty14}{\showpaste} -\tab{5}\spadcommand{x\free{swap }} -\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPagePatch15} -\begin{paste}{ugLangAssignPageFull15}{ugLangAssignPageEmpty15} -\pastebutton{ugLangAssignPageFull15}{\hidepaste} -\tab{5}\spadcommand{y\free{swap }} -\indentrel{3}\begin{verbatim} - (15) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangAssignPageEmpty15} -\begin{paste}{ugLangAssignPageEmpty15}{ugLangAssignPagePatch15} -\pastebutton{ugLangAssignPageEmpty15}{\showpaste} -\tab{5}\spadcommand{y\free{swap }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsParPagePatch1} -\begin{paste}{ugLangLoopsParPageFull1}{ugLangLoopsParPageEmpty1} -\pastebutton{ugLangLoopsParPageFull1}{\hidepaste} -\tab{5}\spadcommand{l := [1,3,5,7]\bound{l }} -\indentrel{3}\begin{verbatim} - (1) [1,3,5,7] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsParPageEmpty1} -\begin{paste}{ugLangLoopsParPageEmpty1}{ugLangLoopsParPagePatch1} -\pastebutton{ugLangLoopsParPageEmpty1}{\showpaste} -\tab{5}\spadcommand{l := [1,3,5,7]\bound{l }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsParPagePatch2} -\begin{paste}{ugLangLoopsParPageFull2}{ugLangLoopsParPageEmpty2} -\pastebutton{ugLangLoopsParPageFull2}{\hidepaste} -\tab{5}\spadcommand{m := [100,200]\bound{m }} -\indentrel{3}\begin{verbatim} - (2) [100,200] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsParPageEmpty2} -\begin{paste}{ugLangLoopsParPageEmpty2}{ugLangLoopsParPagePatch2} -\pastebutton{ugLangLoopsParPageEmpty2}{\showpaste} -\tab{5}\spadcommand{m := [100,200]\bound{m }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsParPagePatch3} -\begin{paste}{ugLangLoopsParPageFull3}{ugLangLoopsParPageEmpty3} -\pastebutton{ugLangLoopsParPageFull3}{\hidepaste} -\tab{5}\spadcommand{sum := 0\bound{sum }} -\indentrel{3}\begin{verbatim} - (3) 0 - Type: NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsParPageEmpty3} -\begin{paste}{ugLangLoopsParPageEmpty3}{ugLangLoopsParPagePatch3} -\pastebutton{ugLangLoopsParPageEmpty3}{\showpaste} -\tab{5}\spadcommand{sum := 0\bound{sum }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsParPagePatch4} -\begin{paste}{ugLangLoopsParPageFull4}{ugLangLoopsParPageEmpty4} -\pastebutton{ugLangLoopsParPageFull4}{\hidepaste} -\tab{5}\spadcommand{for x in l for y in m repeat - sum := sum + x*y -\bound{doit }\free{sum l m }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsParPageEmpty4} -\begin{paste}{ugLangLoopsParPageEmpty4}{ugLangLoopsParPagePatch4} -\pastebutton{ugLangLoopsParPageEmpty4}{\showpaste} -\tab{5}\spadcommand{for x in l for y in m repeat - sum := sum + x*y -\bound{doit }\free{sum l m }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsParPagePatch5} -\begin{paste}{ugLangLoopsParPageFull5}{ugLangLoopsParPageEmpty5} -\pastebutton{ugLangLoopsParPageFull5}{\hidepaste} -\tab{5}\spadcommand{sum\free{doit }} -\indentrel{3}\begin{verbatim} - (5) 700 - Type: NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsParPageEmpty5} -\begin{paste}{ugLangLoopsParPageEmpty5}{ugLangLoopsParPagePatch5} -\pastebutton{ugLangLoopsParPageEmpty5}{\showpaste} -\tab{5}\spadcommand{sum\free{doit }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsParPagePatch6} -\begin{paste}{ugLangLoopsParPageFull6}{ugLangLoopsParPageEmpty6} -\pastebutton{ugLangLoopsParPageFull6}{\hidepaste} -\tab{5}\spadcommand{l := [2,3,5,7,11,13,17,19,23,29,31,37]\bound{l1 }} -\indentrel{3}\begin{verbatim} - (6) [2,3,5,7,11,13,17,19,23,29,31,37] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsParPageEmpty6} -\begin{paste}{ugLangLoopsParPageEmpty6}{ugLangLoopsParPagePatch6} -\pastebutton{ugLangLoopsParPageEmpty6}{\showpaste} -\tab{5}\spadcommand{l := [2,3,5,7,11,13,17,19,23,29,31,37]\bound{l1 }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsParPagePatch7} -\begin{paste}{ugLangLoopsParPageFull7}{ugLangLoopsParPageEmpty7} -\pastebutton{ugLangLoopsParPageFull7}{\hidepaste} -\tab{5}\spadcommand{sum := 0\bound{sum1 }} -\indentrel{3}\begin{verbatim} - (7) 0 - Type: NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsParPageEmpty7} -\begin{paste}{ugLangLoopsParPageEmpty7}{ugLangLoopsParPagePatch7} -\pastebutton{ugLangLoopsParPageEmpty7}{\showpaste} -\tab{5}\spadcommand{sum := 0\bound{sum1 }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsParPagePatch8} -\begin{paste}{ugLangLoopsParPageFull8}{ugLangLoopsParPageEmpty8} -\pastebutton{ugLangLoopsParPageFull8}{\hidepaste} -\tab{5}\spadcommand{for i in 0.. for x in l repeat sum := i * x\bound{doit1 }\free{sum1 l1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsParPageEmpty8} -\begin{paste}{ugLangLoopsParPageEmpty8}{ugLangLoopsParPagePatch8} -\pastebutton{ugLangLoopsParPageEmpty8}{\showpaste} -\tab{5}\spadcommand{for i in 0.. for x in l repeat sum := i * x\bound{doit1 }\free{sum1 l1 }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsParPagePatch9} -\begin{paste}{ugLangLoopsParPageFull9}{ugLangLoopsParPageEmpty9} -\pastebutton{ugLangLoopsParPageFull9}{\hidepaste} -\tab{5}\spadcommand{sum\free{doit1 }} -\indentrel{3}\begin{verbatim} - (9) 407 - Type: NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsParPageEmpty9} -\begin{paste}{ugLangLoopsParPageEmpty9}{ugLangLoopsParPagePatch9} -\pastebutton{ugLangLoopsParPageEmpty9}{\showpaste} -\tab{5}\spadcommand{sum\free{doit1 }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsParPagePatch10} -\begin{paste}{ugLangLoopsParPageFull10}{ugLangLoopsParPageEmpty10} -\pastebutton{ugLangLoopsParPageFull10}{\hidepaste} -\tab{5}\spadcommand{for i in 1..10 - for j in 151..160 | odd? j - while i + j < 160 repeat - output [i,j] -} -\indentrel{3}\begin{verbatim} - [1,151] - [3,153] - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsParPageEmpty10} -\begin{paste}{ugLangLoopsParPageEmpty10}{ugLangLoopsParPagePatch10} -\pastebutton{ugLangLoopsParPageEmpty10}{\showpaste} -\tab{5}\spadcommand{for i in 1..10 - for j in 151..160 | odd? j - while i + j < 160 repeat - output [i,j] -} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakPagePatch1} -\begin{paste}{ugLangLoopsBreakPageFull1}{ugLangLoopsBreakPageEmpty1} -\pastebutton{ugLangLoopsBreakPageFull1}{\hidepaste} -\tab{5}\spadcommand{f() == - i := 1 - repeat - if factorial(i) > 1000 then break - i := i + 1 - i -\bound{f1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakPageEmpty1} -\begin{paste}{ugLangLoopsBreakPageEmpty1}{ugLangLoopsBreakPagePatch1} -\pastebutton{ugLangLoopsBreakPageEmpty1}{\showpaste} -\tab{5}\spadcommand{f() == - i := 1 - repeat - if factorial(i) > 1000 then break - i := i + 1 - i -\bound{f1 }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakPagePatch2} -\begin{paste}{ugLangLoopsBreakPageFull2}{ugLangLoopsBreakPageEmpty2} -\pastebutton{ugLangLoopsBreakPageFull2}{\hidepaste} -\tab{5}\spadcommand{f()\free{f1 }} -\indentrel{3}\begin{verbatim} - (2) 7 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakPageEmpty2} -\begin{paste}{ugLangLoopsBreakPageEmpty2}{ugLangLoopsBreakPagePatch2} -\pastebutton{ugLangLoopsBreakPageEmpty2}{\showpaste} -\tab{5}\spadcommand{f()\free{f1 }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakPagePatch3} -\begin{paste}{ugLangLoopsBreakPageFull3}{ugLangLoopsBreakPageEmpty3} -\pastebutton{ugLangLoopsBreakPageFull3}{\hidepaste} -\tab{5}\spadcommand{(i,j) := (1, 1)\bound{i }\bound{j }} -\indentrel{3}\begin{verbatim} - (3) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakPageEmpty3} -\begin{paste}{ugLangLoopsBreakPageEmpty3}{ugLangLoopsBreakPagePatch3} -\pastebutton{ugLangLoopsBreakPageEmpty3}{\showpaste} -\tab{5}\spadcommand{(i,j) := (1, 1)\bound{i }\bound{j }} -\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakPagePatch4} -\begin{paste}{ugLangLoopsBreakPageFull4}{ugLangLoopsBreakPageEmpty4} -\pastebutton{ugLangLoopsBreakPageFull4}{\hidepaste} -\tab{5}\spadcommand{repeat - repeat - if (i + j) > 10 then break - j := j + 1 - if (i + j) > 10 then break - i := i + 1 -\free{i j }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugLangLoopsBreakPageEmpty4} -\begin{paste}{ugLangLoopsBreakPageEmpty4}{ugLangLoopsBreakPagePatch4} -\pastebutton{ugLangLoopsBreakPageEmpty4}{\showpaste} -\tab{5}\spadcommand{repeat - repeat - if (i + j) > 10 then break - j := j + 1 - if (i + j) > 10 then break - i := i + 1 -\free{i j }} -\end{paste}\end{patch} - diff --git a/books/pages/ug06.pht b/books/pages/ug06.pht deleted file mode 100644 index aa3e0a7..0000000 --- a/books/pages/ug06.pht +++ /dev/null @@ -1,4063 +0,0 @@ -\begin{patch}{ugUserAnonDeclarePagePatch1} -\begin{paste}{ugUserAnonDeclarePageFull1}{ugUserAnonDeclarePageEmpty1} -\pastebutton{ugUserAnonDeclarePageFull1}{\hidepaste} -\tab{5}\spadcommand{(x: INT,y: INT): FRAC INT +-> (x + 2*y)/(y - 1)} -\indentrel{3}\begin{verbatim} - (1) theMap(NIL) - Type: ((Integer,Integer) -> Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserAnonDeclarePageEmpty1} -\begin{paste}{ugUserAnonDeclarePageEmpty1}{ugUserAnonDeclarePagePatch1} -\pastebutton{ugUserAnonDeclarePageEmpty1}{\showpaste} -\tab{5}\spadcommand{(x: INT,y: INT): FRAC INT +-> (x + 2*y)/(y - 1)} -\end{paste}\end{patch} - -\begin{patch}{ugUserAnonDeclarePagePatch2} -\begin{paste}{ugUserAnonDeclarePageFull2}{ugUserAnonDeclarePageEmpty2} -\pastebutton{ugUserAnonDeclarePageFull2}{\hidepaste} -\tab{5}\spadcommand{(x: INT,y: INT) +-> (x + 2*y)/(y - 1)} -\indentrel{3}\begin{verbatim} - (2) theMap(NIL) - Type: ((Integer,Integer) -> Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserAnonDeclarePageEmpty2} -\begin{paste}{ugUserAnonDeclarePageEmpty2}{ugUserAnonDeclarePagePatch2} -\pastebutton{ugUserAnonDeclarePageEmpty2}{\showpaste} -\tab{5}\spadcommand{(x: INT,y: INT) +-> (x + 2*y)/(y - 1)} -\end{paste}\end{patch} - -\begin{patch}{ugUserAnonDeclarePagePatch3} -\begin{paste}{ugUserAnonDeclarePageFull3}{ugUserAnonDeclarePageEmpty3} -\pastebutton{ugUserAnonDeclarePageFull3}{\hidepaste} -\tab{5}\spadcommand{h(x: INT,y: INT): FRAC INT == (x + 2*y)/(y - 1)} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserAnonDeclarePageEmpty3} -\begin{paste}{ugUserAnonDeclarePageEmpty3}{ugUserAnonDeclarePagePatch3} -\pastebutton{ugUserAnonDeclarePageEmpty3}{\showpaste} -\tab{5}\spadcommand{h(x: INT,y: INT): FRAC INT == (x + 2*y)/(y - 1)} -\end{paste}\end{patch} - -\begin{patch}{ugUserAnonDeclarePagePatch4} -\begin{paste}{ugUserAnonDeclarePageFull4}{ugUserAnonDeclarePageEmpty4} -\pastebutton{ugUserAnonDeclarePageFull4}{\hidepaste} -\tab{5}\spadcommand{h == (x: INT,y: INT): FRAC INT +-> (x + 2*y)/(y - 1)} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserAnonDeclarePageEmpty4} -\begin{paste}{ugUserAnonDeclarePageEmpty4}{ugUserAnonDeclarePagePatch4} -\pastebutton{ugUserAnonDeclarePageEmpty4}{\showpaste} -\tab{5}\spadcommand{h == (x: INT,y: INT): FRAC INT +-> (x + 2*y)/(y - 1)} -\end{paste}\end{patch} - -\begin{patch}{ugUserAnonDeclarePagePatch5} -\begin{paste}{ugUserAnonDeclarePageFull5}{ugUserAnonDeclarePageEmpty5} -\pastebutton{ugUserAnonDeclarePageFull5}{\hidepaste} -\tab{5}\spadcommand{addx x == ((y: Integer): Integer +-> x + y)\bound{addx }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserAnonDeclarePageEmpty5} -\begin{paste}{ugUserAnonDeclarePageEmpty5}{ugUserAnonDeclarePagePatch5} -\pastebutton{ugUserAnonDeclarePageEmpty5}{\showpaste} -\tab{5}\spadcommand{addx x == ((y: Integer): Integer +-> x + y)\bound{addx }} -\end{paste}\end{patch} - -\begin{patch}{ugUserAnonDeclarePagePatch6} -\begin{paste}{ugUserAnonDeclarePageFull6}{ugUserAnonDeclarePageEmpty6} -\pastebutton{ugUserAnonDeclarePageFull6}{\hidepaste} -\tab{5}\spadcommand{g := addx 10\free{addx }\bound{g }} -\indentrel{3}\begin{verbatim} - (6) theMap(LAMBDA_f647nv_704,826) - Type: (Integer -> Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserAnonDeclarePageEmpty6} -\begin{paste}{ugUserAnonDeclarePageEmpty6}{ugUserAnonDeclarePagePatch6} -\pastebutton{ugUserAnonDeclarePageEmpty6}{\showpaste} -\tab{5}\spadcommand{g := addx 10\free{addx }\bound{g }} -\end{paste}\end{patch} - -\begin{patch}{ugUserAnonDeclarePagePatch7} -\begin{paste}{ugUserAnonDeclarePageFull7}{ugUserAnonDeclarePageEmpty7} -\pastebutton{ugUserAnonDeclarePageFull7}{\hidepaste} -\tab{5}\spadcommand{g 3\free{g }} -\indentrel{3}\begin{verbatim} - (7) 13 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserAnonDeclarePageEmpty7} -\begin{paste}{ugUserAnonDeclarePageEmpty7}{ugUserAnonDeclarePagePatch7} -\pastebutton{ugUserAnonDeclarePageEmpty7}{\showpaste} -\tab{5}\spadcommand{g 3\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ugUserAnonDeclarePagePatch8} -\begin{paste}{ugUserAnonDeclarePageFull8}{ugUserAnonDeclarePageEmpty8} -\pastebutton{ugUserAnonDeclarePageFull8}{\hidepaste} -\tab{5}\spadcommand{g(-4)\free{g }} -\indentrel{3}\begin{verbatim} - (8) 6 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserAnonDeclarePageEmpty8} -\begin{paste}{ugUserAnonDeclarePageEmpty8}{ugUserAnonDeclarePagePatch8} -\pastebutton{ugUserAnonDeclarePageEmpty8}{\showpaste} -\tab{5}\spadcommand{g(-4)\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePickingPagePatch1} -\begin{paste}{ugUserPiecePickingPageFull1}{ugUserPiecePickingPageEmpty1} -\pastebutton{ugUserPiecePickingPageFull1}{\hidepaste} -\tab{5}\spadcommand{eleven(n | n < 1) == n + 11\bound{ff0 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePickingPageEmpty1} -\begin{paste}{ugUserPiecePickingPageEmpty1}{ugUserPiecePickingPagePatch1} -\pastebutton{ugUserPiecePickingPageEmpty1}{\showpaste} -\tab{5}\spadcommand{eleven(n | n < 1) == n + 11\bound{ff0 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePickingPagePatch2} -\begin{paste}{ugUserPiecePickingPageFull2}{ugUserPiecePickingPageEmpty2} -\pastebutton{ugUserPiecePickingPageFull2}{\hidepaste} -\tab{5}\spadcommand{eleven(m) == eleven(eleven(m - 12))\bound{ff1 }\free{ff0 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePickingPageEmpty2} -\begin{paste}{ugUserPiecePickingPageEmpty2}{ugUserPiecePickingPagePatch2} -\pastebutton{ugUserPiecePickingPageEmpty2}{\showpaste} -\tab{5}\spadcommand{eleven(m) == eleven(eleven(m - 12))\bound{ff1 }\free{ff0 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePickingPagePatch3} -\begin{paste}{ugUserPiecePickingPageFull3}{ugUserPiecePickingPageEmpty3} -\pastebutton{ugUserPiecePickingPageFull3}{\hidepaste} -\tab{5}\spadcommand{minusEleven(n) == - n >= 0 => n - 11 - minusEleven (5 + minusEleven(n + 7)) -\bound{rf1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePickingPageEmpty3} -\begin{paste}{ugUserPiecePickingPageEmpty3}{ugUserPiecePickingPagePatch3} -\pastebutton{ugUserPiecePickingPageEmpty3}{\showpaste} -\tab{5}\spadcommand{minusEleven(n) == - n >= 0 => n - 11 - minusEleven (5 + minusEleven(n + 7)) -\bound{rf1 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePickingPagePatch4} -\begin{paste}{ugUserPiecePickingPageFull4}{ugUserPiecePickingPageEmpty4} -\pastebutton{ugUserPiecePickingPageFull4}{\hidepaste} -\tab{5}\spadcommand{s(0) == 1\bound{rf2 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePickingPageEmpty4} -\begin{paste}{ugUserPiecePickingPageEmpty4}{ugUserPiecePickingPagePatch4} -\pastebutton{ugUserPiecePickingPageEmpty4}{\showpaste} -\tab{5}\spadcommand{s(0) == 1\bound{rf2 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePickingPagePatch5} -\begin{paste}{ugUserPiecePickingPageFull5}{ugUserPiecePickingPageEmpty5} -\pastebutton{ugUserPiecePickingPageFull5}{\hidepaste} -\tab{5}\spadcommand{s(n) == (eleven(n) + minusEleven(n))/n\bound{rf3 }\free{rf2 rf1 ff1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePickingPageEmpty5} -\begin{paste}{ugUserPiecePickingPageEmpty5}{ugUserPiecePickingPagePatch5} -\pastebutton{ugUserPiecePickingPageEmpty5}{\showpaste} -\tab{5}\spadcommand{s(n) == (eleven(n) + minusEleven(n))/n\bound{rf3 }\free{rf2 rf1 ff1 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePickingPagePatch6} -\begin{paste}{ugUserPiecePickingPageFull6}{ugUserPiecePickingPageEmpty6} -\pastebutton{ugUserPiecePickingPageFull6}{\hidepaste} -\tab{5}\spadcommand{[s(n) for n in 0..]\free{rf3 }} -\indentrel{3}\begin{verbatim} - (6) [1,1,1,1,1,1,1,1,1,1,...] - Type: Stream Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePickingPageEmpty6} -\begin{paste}{ugUserPiecePickingPageEmpty6}{ugUserPiecePickingPagePatch6} -\pastebutton{ugUserPiecePickingPageEmpty6}{\showpaste} -\tab{5}\spadcommand{[s(n) for n in 0..]\free{rf3 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePickingPagePatch7} -\begin{paste}{ugUserPiecePickingPageFull7}{ugUserPiecePickingPageEmpty7} -\pastebutton{ugUserPiecePickingPageFull7}{\hidepaste} -\tab{5}\spadcommand{t(1) == s(0)\bound{t1 }\free{rf4 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePickingPageEmpty7} -\begin{paste}{ugUserPiecePickingPageEmpty7}{ugUserPiecePickingPagePatch7} -\pastebutton{ugUserPiecePickingPageEmpty7}{\showpaste} -\tab{5}\spadcommand{t(1) == s(0)\bound{t1 }\free{rf4 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePickingPagePatch8} -\begin{paste}{ugUserPiecePickingPageFull8}{ugUserPiecePickingPageEmpty8} -\pastebutton{ugUserPiecePickingPageFull8}{\hidepaste} -\tab{5}\spadcommand{t(n | even?(n)) == s(n quo 2)\free{t1 }\bound{t2 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePickingPageEmpty8} -\begin{paste}{ugUserPiecePickingPageEmpty8}{ugUserPiecePickingPagePatch8} -\pastebutton{ugUserPiecePickingPageEmpty8}{\showpaste} -\tab{5}\spadcommand{t(n | even?(n)) == s(n quo 2)\free{t1 }\bound{t2 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePickingPagePatch9} -\begin{paste}{ugUserPiecePickingPageFull9}{ugUserPiecePickingPageEmpty9} -\pastebutton{ugUserPiecePickingPageFull9}{\hidepaste} -\tab{5}\spadcommand{t(p) == s(- p quo 2)\free{t2 }\bound{t3 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePickingPageEmpty9} -\begin{paste}{ugUserPiecePickingPageEmpty9}{ugUserPiecePickingPagePatch9} -\pastebutton{ugUserPiecePickingPageEmpty9}{\showpaste} -\tab{5}\spadcommand{t(p) == s(- p quo 2)\free{t2 }\bound{t3 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePickingPagePatch10} -\begin{paste}{ugUserPiecePickingPageFull10}{ugUserPiecePickingPageEmpty10} -\pastebutton{ugUserPiecePickingPageFull10}{\hidepaste} -\tab{5}\spadcommand{)display value t\free{t2 }} -\indentrel{3}\begin{verbatim} - Definition: - t 1 == s(0) - t (p | even?(p)) == s(p quo 2) - t p == s(- p quo 2) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePickingPageEmpty10} -\begin{paste}{ugUserPiecePickingPageEmpty10}{ugUserPiecePickingPagePatch10} -\pastebutton{ugUserPiecePickingPageEmpty10}{\showpaste} -\tab{5}\spadcommand{)display value t\free{t2 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePickingPagePatch11} -\begin{paste}{ugUserPiecePickingPageFull11}{ugUserPiecePickingPageEmpty11} -\pastebutton{ugUserPiecePickingPageFull11}{\hidepaste} -\tab{5}\spadcommand{[t(i) for i in 1..]\free{t3 }\bound{t4 }} -\indentrel{3}\begin{verbatim} - (10) [1,1,1,1,1,1,1,1,1,1,...] - Type: Stream Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePickingPageEmpty11} -\begin{paste}{ugUserPiecePickingPageEmpty11}{ugUserPiecePickingPagePatch11} -\pastebutton{ugUserPiecePickingPageEmpty11}{\showpaste} -\tab{5}\spadcommand{[t(i) for i in 1..]\free{t3 }\bound{t4 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePickingPagePatch12} -\begin{paste}{ugUserPiecePickingPageFull12}{ugUserPiecePickingPageEmpty12} -\pastebutton{ugUserPiecePickingPageFull12}{\hidepaste} -\tab{5}\spadcommand{t(100)\free{t4 }} -\indentrel{3}\begin{verbatim} - (11) 1 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePickingPageEmpty12} -\begin{paste}{ugUserPiecePickingPageEmpty12}{ugUserPiecePickingPagePatch12} -\pastebutton{ugUserPiecePickingPageEmpty12}{\showpaste} -\tab{5}\spadcommand{t(100)\free{t4 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPalPagePatch1} -\begin{paste}{ugUserPalPageFull1}{ugUserPalPageEmpty1} -\pastebutton{ugUserPalPageFull1}{\hidepaste} -\tab{5}\spadcommand{pal? s == palAux?(s,1,\#s)\bound{pal }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPalPageEmpty1} -\begin{paste}{ugUserPalPageEmpty1}{ugUserPalPagePatch1} -\pastebutton{ugUserPalPageEmpty1}{\showpaste} -\tab{5}\spadcommand{pal? s == palAux?(s,1,\#s)\bound{pal }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPalPagePatch2} -\begin{paste}{ugUserPalPageFull2}{ugUserPalPageEmpty2} -\pastebutton{ugUserPalPageFull2}{\hidepaste} -\tab{5}\spadcommand{palAux?(s,i,j) == - j > i => - (s.i = s.j) and palAux?(s,i+1,i-1) - true -\bound{palAux }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPalPageEmpty2} -\begin{paste}{ugUserPalPageEmpty2}{ugUserPalPagePatch2} -\pastebutton{ugUserPalPageEmpty2}{\showpaste} -\tab{5}\spadcommand{palAux?(s,i,j) == - j > i => - (s.i = s.j) and palAux?(s,i+1,i-1) - true -\bound{palAux }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPalPagePatch3} -\begin{paste}{ugUserPalPageFull3}{ugUserPalPageEmpty3} -\pastebutton{ugUserPalPageFull3}{\hidepaste} -\tab{5}\spadcommand{pal? "Oxford"\free{pal palAux }} -\indentrel{3}\begin{verbatim} - (3) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPalPageEmpty3} -\begin{paste}{ugUserPalPageEmpty3}{ugUserPalPagePatch3} -\pastebutton{ugUserPalPageEmpty3}{\showpaste} -\tab{5}\spadcommand{pal? "Oxford"\free{pal palAux }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPalPagePatch4} -\begin{paste}{ugUserPalPageFull4}{ugUserPalPageEmpty4} -\pastebutton{ugUserPalPageFull4}{\hidepaste} -\tab{5}\spadcommand{pal? [4,a,x-1,0,x-1,a,4]\free{pal palAux }} -\indentrel{3}\begin{verbatim} - (4) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPalPageEmpty4} -\begin{paste}{ugUserPalPageEmpty4}{ugUserPalPagePatch4} -\pastebutton{ugUserPalPageEmpty4}{\showpaste} -\tab{5}\spadcommand{pal? [4,a,x-1,0,x-1,a,4]\free{pal palAux }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPalPagePatch5} -\begin{paste}{ugUserPalPageFull5}{ugUserPalPageEmpty5} -\pastebutton{ugUserPalPageFull5}{\hidepaste} -\tab{5}\spadcommand{pal? [1,6,15,20,15,6,1]\free{pal palAux }} -\indentrel{3}\begin{verbatim} - (5) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPalPageEmpty5} -\begin{paste}{ugUserPalPageEmpty5}{ugUserPalPagePatch5} -\pastebutton{ugUserPalPageEmpty5}{\showpaste} -\tab{5}\spadcommand{pal? [1,6,15,20,15,6,1]\free{pal palAux }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPalPagePatch6} -\begin{paste}{ugUserPalPageFull6}{ugUserPalPageEmpty6} -\pastebutton{ugUserPalPageFull6}{\hidepaste} -\tab{5}\spadcommand{pal?(1441::String)\free{pal palAux }} -\indentrel{3}\begin{verbatim} - (6) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPalPageEmpty6} -\begin{paste}{ugUserPalPageEmpty6}{ugUserPalPagePatch6} -\pastebutton{ugUserPalPageEmpty6}{\showpaste} -\tab{5}\spadcommand{pal?(1441::String)\free{pal palAux }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPalPagePatch7} -\begin{paste}{ugUserPalPageFull7}{ugUserPalPageEmpty7} -\pastebutton{ugUserPalPageFull7}{\hidepaste} -\tab{5}\spadcommand{ones := [reduce(+,[10**j for j in 0..i]) for i in 1..]\free{pal palAux }\bound{pal5 }} -\indentrel{3}\begin{verbatim} - (7) - [11, 111, 1111, 11111, 111111, 1111111, 11111111, - 111111111, 1111111111, 11111111111, ...] - Type: Stream PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPalPageEmpty7} -\begin{paste}{ugUserPalPageEmpty7}{ugUserPalPagePatch7} -\pastebutton{ugUserPalPageEmpty7}{\showpaste} -\tab{5}\spadcommand{ones := [reduce(+,[10**j for j in 0..i]) for i in 1..]\free{pal palAux }\bound{pal5 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPalPagePatch8} -\begin{paste}{ugUserPalPageFull8}{ugUserPalPageEmpty8} -\pastebutton{ugUserPalPageFull8}{\hidepaste} -\tab{5}\spadcommand{squares := [x**2 for x in ones]\free{pal5 }\bound{pal6 }} -\indentrel{3}\begin{verbatim} - (8) - [121, 12321, 1234321, 123454321, 12345654321, - 1234567654321, 123456787654321, 12345678987654321, - 1234567900987654321, 123456790120987654321, ...] - Type: Stream PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPalPageEmpty8} -\begin{paste}{ugUserPalPageEmpty8}{ugUserPalPagePatch8} -\pastebutton{ugUserPalPageEmpty8}{\showpaste} -\tab{5}\spadcommand{squares := [x**2 for x in ones]\free{pal5 }\bound{pal6 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPalPagePatch9} -\begin{paste}{ugUserPalPageFull9}{ugUserPalPageEmpty9} -\pastebutton{ugUserPalPageFull9}{\hidepaste} -\tab{5}\spadcommand{[pal?(x::String) for x in squares]\free{pal6 }} -\indentrel{3}\begin{verbatim} - (9) - [true,true,true,true,true,true,true,true,true,true,...] - Type: Stream Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPalPageEmpty9} -\begin{paste}{ugUserPalPageEmpty9}{ugUserPalPagePatch9} -\pastebutton{ugUserPalPageEmpty9}{\showpaste} -\tab{5}\spadcommand{[pal?(x::String) for x in squares]\free{pal6 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserOnePagePatch1} -\begin{paste}{ugUserOnePageFull1}{ugUserOnePageEmpty1} -\pastebutton{ugUserOnePageFull1}{\hidepaste} -\tab{5}\spadcommand{fac n == if n < 3 then n else n * fac(n-1)\bound{fac }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserOnePageEmpty1} -\begin{paste}{ugUserOnePageEmpty1}{ugUserOnePagePatch1} -\pastebutton{ugUserOnePageEmpty1}{\showpaste} -\tab{5}\spadcommand{fac n == if n < 3 then n else n * fac(n-1)\bound{fac }} -\end{paste}\end{patch} - -\begin{patch}{ugUserOnePagePatch2} -\begin{paste}{ugUserOnePageFull2}{ugUserOnePageEmpty2} -\pastebutton{ugUserOnePageFull2}{\hidepaste} -\tab{5}\spadcommand{fac 10\free{fac }} -\indentrel{3}\begin{verbatim} - (2) 3628800 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserOnePageEmpty2} -\begin{paste}{ugUserOnePageEmpty2}{ugUserOnePagePatch2} -\pastebutton{ugUserOnePageEmpty2}{\showpaste} -\tab{5}\spadcommand{fac 10\free{fac }} -\end{paste}\end{patch} - -\begin{patch}{ugUserOnePagePatch3} -\begin{paste}{ugUserOnePageFull3}{ugUserOnePageEmpty3} -\pastebutton{ugUserOnePageFull3}{\hidepaste} -\tab{5}\spadcommand{s n == reduce(+,[1/i for i in 1..n])\bound{s }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserOnePageEmpty3} -\begin{paste}{ugUserOnePageEmpty3}{ugUserOnePagePatch3} -\pastebutton{ugUserOnePageEmpty3}{\showpaste} -\tab{5}\spadcommand{s n == reduce(+,[1/i for i in 1..n])\bound{s }} -\end{paste}\end{patch} - -\begin{patch}{ugUserOnePagePatch4} -\begin{paste}{ugUserOnePageFull4}{ugUserOnePageEmpty4} -\pastebutton{ugUserOnePageFull4}{\hidepaste} -\tab{5}\spadcommand{s 50\free{s }} -\indentrel{3}\begin{verbatim} - 13943237577224054960759 - (4) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 3099044504245996706400 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserOnePageEmpty4} -\begin{paste}{ugUserOnePageEmpty4}{ugUserOnePagePatch4} -\pastebutton{ugUserOnePageEmpty4}{\showpaste} -\tab{5}\spadcommand{s 50\free{s }} -\end{paste}\end{patch} - -\begin{patch}{ugUserOnePagePatch5} -\begin{paste}{ugUserOnePageFull5}{ugUserOnePageEmpty5} -\pastebutton{ugUserOnePageFull5}{\hidepaste} -\tab{5}\spadcommand{mersenne i == 2**i - 1\bound{mersenne }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserOnePageEmpty5} -\begin{paste}{ugUserOnePageEmpty5}{ugUserOnePagePatch5} -\pastebutton{ugUserOnePageEmpty5}{\showpaste} -\tab{5}\spadcommand{mersenne i == 2**i - 1\bound{mersenne }} -\end{paste}\end{patch} - -\begin{patch}{ugUserOnePagePatch6} -\begin{paste}{ugUserOnePageFull6}{ugUserOnePageEmpty6} -\pastebutton{ugUserOnePageFull6}{\hidepaste} -\tab{5}\spadcommand{mersenne\free{mersenne }} -\indentrel{3}\begin{verbatim} - i - (6) mersenne i == 2 - 1 - Type: FunctionCalled mersenne -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserOnePageEmpty6} -\begin{paste}{ugUserOnePageEmpty6}{ugUserOnePagePatch6} -\pastebutton{ugUserOnePageEmpty6}{\showpaste} -\tab{5}\spadcommand{mersenne\free{mersenne }} -\end{paste}\end{patch} - -\begin{patch}{ugUserOnePagePatch7} -\begin{paste}{ugUserOnePageFull7}{ugUserOnePageEmpty7} -\pastebutton{ugUserOnePageFull7}{\hidepaste} -\tab{5}\spadcommand{[mersenne i for i in 1..]\free{mersenne }} -\indentrel{3}\begin{verbatim} - (7) [1,3,7,15,31,63,127,255,511,1023,...] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserOnePageEmpty7} -\begin{paste}{ugUserOnePageEmpty7}{ugUserOnePagePatch7} -\pastebutton{ugUserOnePageEmpty7}{\showpaste} -\tab{5}\spadcommand{[mersenne i for i in 1..]\free{mersenne }} -\end{paste}\end{patch} - -\begin{patch}{ugUserOnePagePatch8} -\begin{paste}{ugUserOnePageFull8}{ugUserOnePageEmpty8} -\pastebutton{ugUserOnePageFull8}{\hidepaste} -\tab{5}\spadcommand{mersenneIndex := [n for n in 1.. | prime?(mersenne(n))]\bound{mersenneIndex }\free{mersenne }} -\indentrel{3}\begin{verbatim} - (8) [2,3,5,7,13,17,19,31,61,89,...] - Type: Stream PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserOnePageEmpty8} -\begin{paste}{ugUserOnePageEmpty8}{ugUserOnePagePatch8} -\pastebutton{ugUserOnePageEmpty8}{\showpaste} -\tab{5}\spadcommand{mersenneIndex := [n for n in 1.. | prime?(mersenne(n))]\bound{mersenneIndex }\free{mersenne }} -\end{paste}\end{patch} - -\begin{patch}{ugUserOnePagePatch9} -\begin{paste}{ugUserOnePageFull9}{ugUserOnePageEmpty9} -\pastebutton{ugUserOnePageFull9}{\hidepaste} -\tab{5}\spadcommand{mersennePrime n == mersenne mersenneIndex(n)\free{mersenne mersenneIndex }\bound{mersennePrime }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserOnePageEmpty9} -\begin{paste}{ugUserOnePageEmpty9}{ugUserOnePagePatch9} -\pastebutton{ugUserOnePageEmpty9}{\showpaste} -\tab{5}\spadcommand{mersennePrime n == mersenne mersenneIndex(n)\free{mersenne mersenneIndex }\bound{mersennePrime }} -\end{paste}\end{patch} - -\begin{patch}{ugUserOnePagePatch10} -\begin{paste}{ugUserOnePageFull10}{ugUserOnePageEmpty10} -\pastebutton{ugUserOnePageFull10}{\hidepaste} -\tab{5}\spadcommand{mersennePrime 5\free{mersennePrime }} -\indentrel{3}\begin{verbatim} - (10) 8191 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserOnePageEmpty10} -\begin{paste}{ugUserOnePageEmpty10}{ugUserOnePagePatch10} -\pastebutton{ugUserOnePageEmpty10}{\showpaste} -\tab{5}\spadcommand{mersennePrime 5\free{mersennePrime }} -\end{paste}\end{patch} - -\begin{patch}{ugUserUsePagePatch1} -\begin{paste}{ugUserUsePageFull1}{ugUserUsePageEmpty1} -\pastebutton{ugUserUsePageFull1}{\hidepaste} -\tab{5}\spadcommand{sin x == 1.0\bound{sin }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserUsePageEmpty1} -\begin{paste}{ugUserUsePageEmpty1}{ugUserUsePagePatch1} -\pastebutton{ugUserUsePageEmpty1}{\showpaste} -\tab{5}\spadcommand{sin x == 1.0\bound{sin }} -\end{paste}\end{patch} - -\begin{patch}{ugUserUsePagePatch2} -\begin{paste}{ugUserUsePageFull2}{ugUserUsePageEmpty2} -\pastebutton{ugUserUsePageFull2}{\hidepaste} -\tab{5}\spadcommand{sin 4.3\free{sin }} -\indentrel{3}\begin{verbatim} - (2) 1.0 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserUsePageEmpty2} -\begin{paste}{ugUserUsePageEmpty2}{ugUserUsePagePatch2} -\pastebutton{ugUserUsePageEmpty2}{\showpaste} -\tab{5}\spadcommand{sin 4.3\free{sin }} -\end{paste}\end{patch} - -\begin{patch}{ugUserUsePagePatch3} -\begin{paste}{ugUserUsePageFull3}{ugUserUsePageEmpty3} -\pastebutton{ugUserUsePageFull3}{\hidepaste} -\tab{5}\spadcommand{sin(4.3)$Float} -\indentrel{3}\begin{verbatim} - (3) - 0.9161659367 4945498404 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserUsePageEmpty3} -\begin{paste}{ugUserUsePageEmpty3}{ugUserUsePagePatch3} -\pastebutton{ugUserUsePageEmpty3}{\showpaste} -\tab{5}\spadcommand{sin(4.3)$Float} -\end{paste}\end{patch} - -\begin{patch}{ugUserUsePagePatch4} -\begin{paste}{ugUserUsePageFull4}{ugUserUsePageEmpty4} -\pastebutton{ugUserUsePageFull4}{\hidepaste} -\tab{5}\spadcommand{sin(34.6)$Float} -\indentrel{3}\begin{verbatim} - (4) - 0.0424680347 1695010154 3 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserUsePageEmpty4} -\begin{paste}{ugUserUsePageEmpty4}{ugUserUsePagePatch4} -\pastebutton{ugUserUsePageEmpty4}{\showpaste} -\tab{5}\spadcommand{sin(34.6)$Float} -\end{paste}\end{patch} - -\begin{patch}{ugUserUsePagePatch5} -\begin{paste}{ugUserUsePageFull5}{ugUserUsePageEmpty5} -\pastebutton{ugUserUsePageFull5}{\hidepaste} -\tab{5}\spadcommand{sin x == sin x\bound{sin1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserUsePageEmpty5} -\begin{paste}{ugUserUsePageEmpty5}{ugUserUsePagePatch5} -\pastebutton{ugUserUsePageEmpty5}{\showpaste} -\tab{5}\spadcommand{sin x == sin x\bound{sin1 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserUsePagePatch6} -\begin{paste}{ugUserUsePageFull6}{ugUserUsePageEmpty6} -\pastebutton{ugUserUsePageFull6}{\hidepaste} -\tab{5}\spadcommand{sin 4.3\free{sin1 }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserUsePageEmpty6} -\begin{paste}{ugUserUsePageEmpty6}{ugUserUsePagePatch6} -\pastebutton{ugUserUsePageEmpty6}{\showpaste} -\tab{5}\spadcommand{sin 4.3\free{sin1 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserUsePagePatch7} -\begin{paste}{ugUserUsePageFull7}{ugUserUsePageEmpty7} -\pastebutton{ugUserUsePageFull7}{\hidepaste} -\tab{5}\spadcommand{sin x == sin(x)$Float\bound{sin2 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserUsePageEmpty7} -\begin{paste}{ugUserUsePageEmpty7}{ugUserUsePagePatch7} -\pastebutton{ugUserUsePageEmpty7}{\showpaste} -\tab{5}\spadcommand{sin x == sin(x)$Float\bound{sin2 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserUsePagePatch8} -\begin{paste}{ugUserUsePageFull8}{ugUserUsePageEmpty8} -\pastebutton{ugUserUsePageFull8}{\hidepaste} -\tab{5}\spadcommand{sin 4.3\free{sin2 }} -\indentrel{3}\begin{verbatim} - (7) - 0.9161659367 4945498404 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserUsePageEmpty8} -\begin{paste}{ugUserUsePageEmpty8}{ugUserUsePagePatch8} -\pastebutton{ugUserUsePageEmpty8}{\showpaste} -\tab{5}\spadcommand{sin 4.3\free{sin2 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMakePagePatch1} -\begin{paste}{ugUserMakePageFull1}{ugUserMakePageEmpty1} -\pastebutton{ugUserMakePageFull1}{\hidepaste} -\tab{5}\spadcommand{p := -x + y**2 - z**3\bound{p }} -\indentrel{3}\begin{verbatim} - 3 2 - (1) - z + y - x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMakePageEmpty1} -\begin{paste}{ugUserMakePageEmpty1}{ugUserMakePagePatch1} -\pastebutton{ugUserMakePageEmpty1}{\showpaste} -\tab{5}\spadcommand{p := -x + y**2 - z**3\bound{p }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMakePagePatch2} -\begin{paste}{ugUserMakePageFull2}{ugUserMakePageEmpty2} -\pastebutton{ugUserMakePageFull2}{\hidepaste} -\tab{5}\spadcommand{function(p,'f0)\free{p }\bound{f0 }} -\indentrel{3}\begin{verbatim} - (2) f0 - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMakePageEmpty2} -\begin{paste}{ugUserMakePageEmpty2}{ugUserMakePagePatch2} -\pastebutton{ugUserMakePageEmpty2}{\showpaste} -\tab{5}\spadcommand{function(p,'f0)\free{p }\bound{f0 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMakePagePatch3} -\begin{paste}{ugUserMakePageFull3}{ugUserMakePageEmpty3} -\pastebutton{ugUserMakePageFull3}{\hidepaste} -\tab{5}\spadcommand{f0\free{f0 }} -\indentrel{3}\begin{verbatim} - 3 2 - (3) f0 () == - z + y - x - Type: FunctionCalled f0 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMakePageEmpty3} -\begin{paste}{ugUserMakePageEmpty3}{ugUserMakePagePatch3} -\pastebutton{ugUserMakePageEmpty3}{\showpaste} -\tab{5}\spadcommand{f0\free{f0 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMakePagePatch4} -\begin{paste}{ugUserMakePageFull4}{ugUserMakePageEmpty4} -\pastebutton{ugUserMakePageFull4}{\hidepaste} -\tab{5}\spadcommand{f0()\free{f0 }} -\indentrel{3}\begin{verbatim} - 3 2 - (4) - z + y - x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMakePageEmpty4} -\begin{paste}{ugUserMakePageEmpty4}{ugUserMakePagePatch4} -\pastebutton{ugUserMakePageEmpty4}{\showpaste} -\tab{5}\spadcommand{f0()\free{f0 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMakePagePatch5} -\begin{paste}{ugUserMakePageFull5}{ugUserMakePageEmpty5} -\pastebutton{ugUserMakePageFull5}{\hidepaste} -\tab{5}\spadcommand{function(p,'f1,'x)\free{p }\bound{f1 }} -\indentrel{3}\begin{verbatim} - (5) f1 - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMakePageEmpty5} -\begin{paste}{ugUserMakePageEmpty5}{ugUserMakePagePatch5} -\pastebutton{ugUserMakePageEmpty5}{\showpaste} -\tab{5}\spadcommand{function(p,'f1,'x)\free{p }\bound{f1 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMakePagePatch6} -\begin{paste}{ugUserMakePageFull6}{ugUserMakePageEmpty6} -\pastebutton{ugUserMakePageFull6}{\hidepaste} -\tab{5}\spadcommand{f1\free{f1 }} -\indentrel{3}\begin{verbatim} - 3 2 - (6) f1 x == - z + y - x - Type: FunctionCalled f1 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMakePageEmpty6} -\begin{paste}{ugUserMakePageEmpty6}{ugUserMakePagePatch6} -\pastebutton{ugUserMakePageEmpty6}{\showpaste} -\tab{5}\spadcommand{f1\free{f1 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMakePagePatch7} -\begin{paste}{ugUserMakePageFull7}{ugUserMakePageEmpty7} -\pastebutton{ugUserMakePageFull7}{\hidepaste} -\tab{5}\spadcommand{f1(3)\free{f1 }} -\indentrel{3}\begin{verbatim} - 3 2 - (7) - z + y - 3 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMakePageEmpty7} -\begin{paste}{ugUserMakePageEmpty7}{ugUserMakePagePatch7} -\pastebutton{ugUserMakePageEmpty7}{\showpaste} -\tab{5}\spadcommand{f1(3)\free{f1 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMakePagePatch8} -\begin{paste}{ugUserMakePageFull8}{ugUserMakePageEmpty8} -\pastebutton{ugUserMakePageFull8}{\hidepaste} -\tab{5}\spadcommand{function(p,'f2,'x,'y)\free{p }\bound{f2 }} -\indentrel{3}\begin{verbatim} - (8) f2 - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMakePageEmpty8} -\begin{paste}{ugUserMakePageEmpty8}{ugUserMakePagePatch8} -\pastebutton{ugUserMakePageEmpty8}{\showpaste} -\tab{5}\spadcommand{function(p,'f2,'x,'y)\free{p }\bound{f2 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMakePagePatch9} -\begin{paste}{ugUserMakePageFull9}{ugUserMakePageEmpty9} -\pastebutton{ugUserMakePageFull9}{\hidepaste} -\tab{5}\spadcommand{f2\free{f2 }} -\indentrel{3}\begin{verbatim} - 3 2 - (9) f2 (x,y) == - z + y - x - Type: FunctionCalled f2 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMakePageEmpty9} -\begin{paste}{ugUserMakePageEmpty9}{ugUserMakePagePatch9} -\pastebutton{ugUserMakePageEmpty9}{\showpaste} -\tab{5}\spadcommand{f2\free{f2 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMakePagePatch10} -\begin{paste}{ugUserMakePageFull10}{ugUserMakePageEmpty10} -\pastebutton{ugUserMakePageFull10}{\hidepaste} -\tab{5}\spadcommand{f2(3,0)\free{f2 }} -\indentrel{3}\begin{verbatim} - 3 - (10) - z - 3 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMakePageEmpty10} -\begin{paste}{ugUserMakePageEmpty10}{ugUserMakePagePatch10} -\pastebutton{ugUserMakePageEmpty10}{\showpaste} -\tab{5}\spadcommand{f2(3,0)\free{f2 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMakePagePatch11} -\begin{paste}{ugUserMakePageFull11}{ugUserMakePageEmpty11} -\pastebutton{ugUserMakePageFull11}{\hidepaste} -\tab{5}\spadcommand{function(p,'f3,['x,'y,'z])\free{p }\bound{f3 }} -\indentrel{3}\begin{verbatim} - (11) f3 - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMakePageEmpty11} -\begin{paste}{ugUserMakePageEmpty11}{ugUserMakePagePatch11} -\pastebutton{ugUserMakePageEmpty11}{\showpaste} -\tab{5}\spadcommand{function(p,'f3,['x,'y,'z])\free{p }\bound{f3 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMakePagePatch12} -\begin{paste}{ugUserMakePageFull12}{ugUserMakePageEmpty12} -\pastebutton{ugUserMakePageFull12}{\hidepaste} -\tab{5}\spadcommand{f3\free{f3 }} -\indentrel{3}\begin{verbatim} - 3 2 - (12) f3 (x,y,z) == - z + y - x - Type: FunctionCalled f3 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMakePageEmpty12} -\begin{paste}{ugUserMakePageEmpty12}{ugUserMakePagePatch12} -\pastebutton{ugUserMakePageEmpty12}{\showpaste} -\tab{5}\spadcommand{f3\free{f3 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMakePagePatch13} -\begin{paste}{ugUserMakePageFull13}{ugUserMakePageEmpty13} -\pastebutton{ugUserMakePageFull13}{\hidepaste} -\tab{5}\spadcommand{f3(3,0,-6)\free{f3 }} -\indentrel{3}\begin{verbatim} - (13) 213 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMakePageEmpty13} -\begin{paste}{ugUserMakePageEmpty13}{ugUserMakePagePatch13} -\pastebutton{ugUserMakePageEmpty13}{\showpaste} -\tab{5}\spadcommand{f3(3,0,-6)\free{f3 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMakePagePatch14} -\begin{paste}{ugUserMakePageFull14}{ugUserMakePageEmpty14} -\pastebutton{ugUserMakePageFull14}{\hidepaste} -\tab{5}\spadcommand{g: (Integer, Integer) -> Float\bound{g }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMakePageEmpty14} -\begin{paste}{ugUserMakePageEmpty14}{ugUserMakePagePatch14} -\pastebutton{ugUserMakePageEmpty14}{\showpaste} -\tab{5}\spadcommand{g: (Integer, Integer) -> Float\bound{g }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMakePagePatch15} -\begin{paste}{ugUserMakePageFull15}{ugUserMakePageEmpty15} -\pastebutton{ugUserMakePageFull15}{\hidepaste} -\tab{5}\spadcommand{D(sin(x-y)/cos(x+y),x)\bound{prev }} -\indentrel{3}\begin{verbatim} - - sin(y - x)sin(y + x) + cos(y - x)cos(y + x) - (15) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 2 - cos(y + x) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMakePageEmpty15} -\begin{paste}{ugUserMakePageEmpty15}{ugUserMakePagePatch15} -\pastebutton{ugUserMakePageEmpty15}{\showpaste} -\tab{5}\spadcommand{D(sin(x-y)/cos(x+y),x)\bound{prev }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMakePagePatch16} -\begin{paste}{ugUserMakePageFull16}{ugUserMakePageEmpty16} -\pastebutton{ugUserMakePageFull16}{\hidepaste} -\tab{5}\spadcommand{function(\%,'g,'x,'y)\free{g }\free{prev }} -\indentrel{3}\begin{verbatim} - (16) g - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMakePageEmpty16} -\begin{paste}{ugUserMakePageEmpty16}{ugUserMakePagePatch16} -\pastebutton{ugUserMakePageEmpty16}{\showpaste} -\tab{5}\spadcommand{function(\%,'g,'x,'y)\free{g }\free{prev }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMakePagePatch17} -\begin{paste}{ugUserMakePageFull17}{ugUserMakePageEmpty17} -\pastebutton{ugUserMakePageFull17}{\hidepaste} -\tab{5}\spadcommand{g\free{g }} -\indentrel{3}\begin{verbatim} - (17) - g (x,y) == - - sin(y - x)sin(y + x) + cos(y - x)cos(y + x) - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 2 - cos(y + x) - Type: FunctionCalled g -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMakePageEmpty17} -\begin{paste}{ugUserMakePageEmpty17}{ugUserMakePagePatch17} -\pastebutton{ugUserMakePageEmpty17}{\showpaste} -\tab{5}\spadcommand{g\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ugUserCachePagePatch1} -\begin{paste}{ugUserCachePageFull1}{ugUserCachePageEmpty1} -\pastebutton{ugUserCachePageFull1}{\hidepaste} -\tab{5}\spadcommand{)set functions cache 3 f g\bound{cache }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserCachePageEmpty1} -\begin{paste}{ugUserCachePageEmpty1}{ugUserCachePagePatch1} -\pastebutton{ugUserCachePageEmpty1}{\showpaste} -\tab{5}\spadcommand{)set functions cache 3 f g\bound{cache }} -\end{paste}\end{patch} - -\begin{patch}{ugUserCachePagePatch2} -\begin{paste}{ugUserCachePageFull2}{ugUserCachePageEmpty2} -\pastebutton{ugUserCachePageFull2}{\hidepaste} -\tab{5}\spadcommand{f x == factorial(2**x)\bound{fdef }\free{cache }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserCachePageEmpty2} -\begin{paste}{ugUserCachePageEmpty2}{ugUserCachePagePatch2} -\pastebutton{ugUserCachePageEmpty2}{\showpaste} -\tab{5}\spadcommand{f x == factorial(2**x)\bound{fdef }\free{cache }} -\end{paste}\end{patch} - -\begin{patch}{ugUserCachePagePatch3} -\begin{paste}{ugUserCachePageFull3}{ugUserCachePageEmpty3} -\pastebutton{ugUserCachePageFull3}{\hidepaste} -\tab{5}\spadcommand{f(4)\free{}\free{cache }} -\indentrel{3}\begin{verbatim} - (2) 20922789888000 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserCachePageEmpty3} -\begin{paste}{ugUserCachePageEmpty3}{ugUserCachePagePatch3} -\pastebutton{ugUserCachePageEmpty3}{\showpaste} -\tab{5}\spadcommand{f(4)\free{}\free{cache }} -\end{paste}\end{patch} - -\begin{patch}{ugUserCachePagePatch4} -\begin{paste}{ugUserCachePageFull4}{ugUserCachePageEmpty4} -\pastebutton{ugUserCachePageFull4}{\hidepaste} -\tab{5}\spadcommand{)set functions cache all} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserCachePageEmpty4} -\begin{paste}{ugUserCachePageEmpty4}{ugUserCachePagePatch4} -\pastebutton{ugUserCachePageEmpty4}{\showpaste} -\tab{5}\spadcommand{)set functions cache all} -\end{paste}\end{patch} - -\begin{patch}{ugUserCachePagePatch5} -\begin{paste}{ugUserCachePageFull5}{ugUserCachePageEmpty5} -\pastebutton{ugUserCachePageFull5}{\hidepaste} -\tab{5}\spadcommand{)set functions cache 0} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserCachePageEmpty5} -\begin{paste}{ugUserCachePageEmpty5}{ugUserCachePagePatch5} -\pastebutton{ugUserCachePageEmpty5}{\showpaste} -\tab{5}\spadcommand{)set functions cache 0} -\end{paste}\end{patch} - -\begin{patch}{ugUserCachePagePatch6} -\begin{paste}{ugUserCachePageFull6}{ugUserCachePageEmpty6} -\pastebutton{ugUserCachePageFull6}{\hidepaste} -\tab{5}\spadcommand{)set functions cache 0 f g} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserCachePageEmpty6} -\begin{paste}{ugUserCachePageEmpty6}{ugUserCachePagePatch6} -\pastebutton{ugUserCachePageEmpty6}{\showpaste} -\tab{5}\spadcommand{)set functions cache 0 f g} -\end{paste}\end{patch} - -\begin{patch}{ugUserDelayPagePatch1} -\begin{paste}{ugUserDelayPageFull1}{ugUserDelayPageEmpty1} -\pastebutton{ugUserDelayPageFull1}{\hidepaste} -\tab{5}\spadcommand{sin24() == sin(24.0)\bound{sin24 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDelayPageEmpty1} -\begin{paste}{ugUserDelayPageEmpty1}{ugUserDelayPagePatch1} -\pastebutton{ugUserDelayPageEmpty1}{\showpaste} -\tab{5}\spadcommand{sin24() == sin(24.0)\bound{sin24 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserDelayPagePatch2} -\begin{paste}{ugUserDelayPageFull2}{ugUserDelayPageEmpty2} -\pastebutton{ugUserDelayPageFull2}{\hidepaste} -\tab{5}\spadcommand{sin24()\free{sin24 }} -\indentrel{3}\begin{verbatim} - (2) - 0.9055783620 0662384514 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDelayPageEmpty2} -\begin{paste}{ugUserDelayPageEmpty2}{ugUserDelayPagePatch2} -\pastebutton{ugUserDelayPageEmpty2}{\showpaste} -\tab{5}\spadcommand{sin24()\free{sin24 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserDelayPagePatch3} -\begin{paste}{ugUserDelayPageFull3}{ugUserDelayPageEmpty3} -\pastebutton{ugUserDelayPageFull3}{\hidepaste} -\tab{5}\spadcommand{sin24\free{sin24 }} -\indentrel{3}\begin{verbatim} - (3) sin24 () == sin(24.0) - Type: FunctionCalled sin24 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDelayPageEmpty3} -\begin{paste}{ugUserDelayPageEmpty3}{ugUserDelayPagePatch3} -\pastebutton{ugUserDelayPageEmpty3}{\showpaste} -\tab{5}\spadcommand{sin24\free{sin24 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserDelayPagePatch4} -\begin{paste}{ugUserDelayPageFull4}{ugUserDelayPageEmpty4} -\pastebutton{ugUserDelayPageFull4}{\hidepaste} -\tab{5}\spadcommand{cos24 == cos(24.0)\bound{cos24 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDelayPageEmpty4} -\begin{paste}{ugUserDelayPageEmpty4}{ugUserDelayPagePatch4} -\pastebutton{ugUserDelayPageEmpty4}{\showpaste} -\tab{5}\spadcommand{cos24 == cos(24.0)\bound{cos24 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserDelayPagePatch5} -\begin{paste}{ugUserDelayPageFull5}{ugUserDelayPageEmpty5} -\pastebutton{ugUserDelayPageFull5}{\hidepaste} -\tab{5}\spadcommand{cos24\free{cos24 }} -\indentrel{3}\begin{verbatim} - (5) 0.4241790073 3699697594 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDelayPageEmpty5} -\begin{paste}{ugUserDelayPageEmpty5}{ugUserDelayPagePatch5} -\pastebutton{ugUserDelayPageEmpty5}{\showpaste} -\tab{5}\spadcommand{cos24\free{cos24 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRecurPagePatch1} -\begin{paste}{ugUserRecurPageFull1}{ugUserRecurPageEmpty1} -\pastebutton{ugUserRecurPageFull1}{\hidepaste} -\tab{5}\spadcommand{[fibonacci(i) for i in 0..]} -\indentrel{3}\begin{verbatim} - (1) [0,1,1,2,3,5,8,13,21,34,...] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRecurPageEmpty1} -\begin{paste}{ugUserRecurPageEmpty1}{ugUserRecurPagePatch1} -\pastebutton{ugUserRecurPageEmpty1}{\showpaste} -\tab{5}\spadcommand{[fibonacci(i) for i in 0..]} -\end{paste}\end{patch} - -\begin{patch}{ugUserRecurPagePatch2} -\begin{paste}{ugUserRecurPageFull2}{ugUserRecurPageEmpty2} -\pastebutton{ugUserRecurPageFull2}{\hidepaste} -\tab{5}\spadcommand{fib(1) == 1\bound{fib0 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRecurPageEmpty2} -\begin{paste}{ugUserRecurPageEmpty2}{ugUserRecurPagePatch2} -\pastebutton{ugUserRecurPageEmpty2}{\showpaste} -\tab{5}\spadcommand{fib(1) == 1\bound{fib0 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRecurPagePatch3} -\begin{paste}{ugUserRecurPageFull3}{ugUserRecurPageEmpty3} -\pastebutton{ugUserRecurPageFull3}{\hidepaste} -\tab{5}\spadcommand{fib(2) == 1\bound{fib1 }\free{fib0 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRecurPageEmpty3} -\begin{paste}{ugUserRecurPageEmpty3}{ugUserRecurPagePatch3} -\pastebutton{ugUserRecurPageEmpty3}{\showpaste} -\tab{5}\spadcommand{fib(2) == 1\bound{fib1 }\free{fib0 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRecurPagePatch4} -\begin{paste}{ugUserRecurPageFull4}{ugUserRecurPageEmpty4} -\pastebutton{ugUserRecurPageFull4}{\hidepaste} -\tab{5}\spadcommand{fib(n) == fib(n-1) + fib(n-2)\bound{fibn }\free{fib1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRecurPageEmpty4} -\begin{paste}{ugUserRecurPageEmpty4}{ugUserRecurPagePatch4} -\pastebutton{ugUserRecurPageEmpty4}{\showpaste} -\tab{5}\spadcommand{fib(n) == fib(n-1) + fib(n-2)\bound{fibn }\free{fib1 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRecurPagePatch5} -\begin{paste}{ugUserRecurPageFull5}{ugUserRecurPageEmpty5} -\pastebutton{ugUserRecurPageFull5}{\hidepaste} -\tab{5}\spadcommand{fib(500)\free{fibn }} -\indentrel{3}\begin{verbatim} - (5) - 139423224561697880139724382870407283950070256587697307_ - 264108962948325571622863290691557658876222521294125 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRecurPageEmpty5} -\begin{paste}{ugUserRecurPageEmpty5}{ugUserRecurPagePatch5} -\pastebutton{ugUserRecurPageEmpty5}{\showpaste} -\tab{5}\spadcommand{fib(500)\free{fibn }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRecurPagePatch6} -\begin{paste}{ugUserRecurPageFull6}{ugUserRecurPageEmpty6} -\pastebutton{ugUserRecurPageFull6}{\hidepaste} -\tab{5}\spadcommand{p(0) == 1\bound{p0 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRecurPageEmpty6} -\begin{paste}{ugUserRecurPageEmpty6}{ugUserRecurPagePatch6} -\pastebutton{ugUserRecurPageEmpty6}{\showpaste} -\tab{5}\spadcommand{p(0) == 1\bound{p0 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRecurPagePatch7} -\begin{paste}{ugUserRecurPageFull7}{ugUserRecurPageEmpty7} -\pastebutton{ugUserRecurPageFull7}{\hidepaste} -\tab{5}\spadcommand{p(1) == x\bound{p1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRecurPageEmpty7} -\begin{paste}{ugUserRecurPageEmpty7}{ugUserRecurPagePatch7} -\pastebutton{ugUserRecurPageEmpty7}{\showpaste} -\tab{5}\spadcommand{p(1) == x\bound{p1 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRecurPagePatch8} -\begin{paste}{ugUserRecurPageFull8}{ugUserRecurPageEmpty8} -\pastebutton{ugUserRecurPageFull8}{\hidepaste} -\tab{5}\spadcommand{p(n) == ((2*n-1)*x*p(n-1) - (n-1)*p(n-2))/n\bound{pn }\free{p1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRecurPageEmpty8} -\begin{paste}{ugUserRecurPageEmpty8}{ugUserRecurPagePatch8} -\pastebutton{ugUserRecurPageEmpty8}{\showpaste} -\tab{5}\spadcommand{p(n) == ((2*n-1)*x*p(n-1) - (n-1)*p(n-2))/n\bound{pn }\free{p1 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRecurPagePatch9} -\begin{paste}{ugUserRecurPageFull9}{ugUserRecurPageEmpty9} -\pastebutton{ugUserRecurPageFull9}{\hidepaste} -\tab{5}\spadcommand{p(6)\free{pn }} -\indentrel{3}\begin{verbatim} - 231 6 315 4 105 2 5 - (9) ÄÄÄ x - ÄÄÄ x + ÄÄÄ x - ÄÄ - 16 16 16 16 - Type: Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRecurPageEmpty9} -\begin{paste}{ugUserRecurPageEmpty9}{ugUserRecurPagePatch9} -\pastebutton{ugUserRecurPageEmpty9}{\showpaste} -\tab{5}\spadcommand{p(6)\free{pn }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPagePatch1} -\begin{paste}{ugUserRulesPageFull1}{ugUserRulesPageEmpty1} -\pastebutton{ugUserRulesPageFull1}{\hidepaste} -\tab{5}\spadcommand{logrule := rule log(x) + log(y) == log(x * y)\bound{logrule }} -\indentrel{3}\begin{verbatim} - (1) log(y) + log(x) + %B == log(x y) + %B - Type: RewriteRule(Integer,Integer,Expression Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPageEmpty1} -\begin{paste}{ugUserRulesPageEmpty1}{ugUserRulesPagePatch1} -\pastebutton{ugUserRulesPageEmpty1}{\showpaste} -\tab{5}\spadcommand{logrule := rule log(x) + log(y) == log(x * y)\bound{logrule }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPagePatch2} -\begin{paste}{ugUserRulesPageFull2}{ugUserRulesPageEmpty2} -\pastebutton{ugUserRulesPageFull2}{\hidepaste} -\tab{5}\spadcommand{f := log sin x + log x\bound{f }} -\indentrel{3}\begin{verbatim} - (2) log(sin(x)) + log(x) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPageEmpty2} -\begin{paste}{ugUserRulesPageEmpty2}{ugUserRulesPagePatch2} -\pastebutton{ugUserRulesPageEmpty2}{\showpaste} -\tab{5}\spadcommand{f := log sin x + log x\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPagePatch3} -\begin{paste}{ugUserRulesPageFull3}{ugUserRulesPageEmpty3} -\pastebutton{ugUserRulesPageFull3}{\hidepaste} -\tab{5}\spadcommand{logrule f\free{f }\free{logrule }} -\indentrel{3}\begin{verbatim} - (3) log(x sin(x)) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPageEmpty3} -\begin{paste}{ugUserRulesPageEmpty3}{ugUserRulesPagePatch3} -\pastebutton{ugUserRulesPageEmpty3}{\showpaste} -\tab{5}\spadcommand{logrule f\free{f }\free{logrule }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPagePatch4} -\begin{paste}{ugUserRulesPageFull4}{ugUserRulesPageEmpty4} -\pastebutton{ugUserRulesPageFull4}{\hidepaste} -\tab{5}\spadcommand{logrules := rule - log(x) + log(y) == log(x * y) - y * log x == log(x ** y) -\bound{logrules }} -\indentrel{3}\begin{verbatim} - (4) - {log(y) + log(x) + %C == log(x y) + %C, - y - y log(x) == log(x )} - Type: Ruleset(Integer,Integer,Expression Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPageEmpty4} -\begin{paste}{ugUserRulesPageEmpty4}{ugUserRulesPagePatch4} -\pastebutton{ugUserRulesPageEmpty4}{\showpaste} -\tab{5}\spadcommand{logrules := rule - log(x) + log(y) == log(x * y) - y * log x == log(x ** y) -\bound{logrules }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPagePatch5} -\begin{paste}{ugUserRulesPageFull5}{ugUserRulesPageEmpty5} -\pastebutton{ugUserRulesPageFull5}{\hidepaste} -\tab{5}\spadcommand{f := a * log(sin x) - 2 * log x\bound{f1 }} -\indentrel{3}\begin{verbatim} - (5) a log(sin(x)) - 2log(x) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPageEmpty5} -\begin{paste}{ugUserRulesPageEmpty5}{ugUserRulesPagePatch5} -\pastebutton{ugUserRulesPageEmpty5}{\showpaste} -\tab{5}\spadcommand{f := a * log(sin x) - 2 * log x\bound{f1 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPagePatch6} -\begin{paste}{ugUserRulesPageFull6}{ugUserRulesPageEmpty6} -\pastebutton{ugUserRulesPageFull6}{\hidepaste} -\tab{5}\spadcommand{logrules f\free{f1 }\free{logrules }} -\indentrel{3}\begin{verbatim} - a - sin(x) - (6) log(ÄÄÄÄÄÄÄ) - 2 - x - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPageEmpty6} -\begin{paste}{ugUserRulesPageEmpty6}{ugUserRulesPagePatch6} -\pastebutton{ugUserRulesPageEmpty6}{\showpaste} -\tab{5}\spadcommand{logrules f\free{f1 }\free{logrules }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPagePatch7} -\begin{paste}{ugUserRulesPageFull7}{ugUserRulesPageEmpty7} -\pastebutton{ugUserRulesPageFull7}{\hidepaste} -\tab{5}\spadcommand{logrules2 := rule - log(x) + log(y) == log(x * y) - (y | integer? y) * log x == log(x ** y) -\bound{logrules2 }} -\indentrel{3}\begin{verbatim} - (7) - {log(y) + log(x) + %E == log(x y) + %E, - y - y log(x) == log(x )} - Type: Ruleset(Integer,Integer,Expression Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPageEmpty7} -\begin{paste}{ugUserRulesPageEmpty7}{ugUserRulesPagePatch7} -\pastebutton{ugUserRulesPageEmpty7}{\showpaste} -\tab{5}\spadcommand{logrules2 := rule - log(x) + log(y) == log(x * y) - (y | integer? y) * log x == log(x ** y) -\bound{logrules2 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPagePatch8} -\begin{paste}{ugUserRulesPageFull8}{ugUserRulesPageEmpty8} -\pastebutton{ugUserRulesPageFull8}{\hidepaste} -\tab{5}\spadcommand{f\free{f1 }} -\indentrel{3}\begin{verbatim} - (8) a log(sin(x)) - 2log(x) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPageEmpty8} -\begin{paste}{ugUserRulesPageEmpty8}{ugUserRulesPagePatch8} -\pastebutton{ugUserRulesPageEmpty8}{\showpaste} -\tab{5}\spadcommand{f\free{f1 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPagePatch9} -\begin{paste}{ugUserRulesPageFull9}{ugUserRulesPageEmpty9} -\pastebutton{ugUserRulesPageFull9}{\hidepaste} -\tab{5}\spadcommand{logrules2 f\free{f1 }\free{logrules2 }} -\indentrel{3}\begin{verbatim} - 1 - (9) a log(sin(x)) + log(ÄÄ) - 2 - x - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPageEmpty9} -\begin{paste}{ugUserRulesPageEmpty9}{ugUserRulesPagePatch9} -\pastebutton{ugUserRulesPageEmpty9}{\showpaste} -\tab{5}\spadcommand{logrules2 f\free{f1 }\free{logrules2 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPagePatch10} -\begin{paste}{ugUserRulesPageFull10}{ugUserRulesPageEmpty10} -\pastebutton{ugUserRulesPageFull10}{\hidepaste} -\tab{5}\spadcommand{evenRule := rule cos(x)**(n | integer? n and even? integer n)==(1-sin(x)**2)**(n/2)\bound{evenRule }} -\indentrel{3}\begin{verbatim} - n - Ä - n 2 2 - (10) cos(x) == (- sin(x) + 1) - Type: RewriteRule(Integer,Integer,Expression Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPageEmpty10} -\begin{paste}{ugUserRulesPageEmpty10}{ugUserRulesPagePatch10} -\pastebutton{ugUserRulesPageEmpty10}{\showpaste} -\tab{5}\spadcommand{evenRule := rule cos(x)**(n | integer? n and even? integer n)==(1-sin(x)**2)**(n/2)\bound{evenRule }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPagePatch11} -\begin{paste}{ugUserRulesPageFull11}{ugUserRulesPageEmpty11} -\pastebutton{ugUserRulesPageFull11}{\hidepaste} -\tab{5}\spadcommand{evenRule( cos(x)**2 )\free{evenRule }} -\indentrel{3}\begin{verbatim} - 2 - (11) - sin(x) + 1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPageEmpty11} -\begin{paste}{ugUserRulesPageEmpty11}{ugUserRulesPagePatch11} -\pastebutton{ugUserRulesPageEmpty11}{\showpaste} -\tab{5}\spadcommand{evenRule( cos(x)**2 )\free{evenRule }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPagePatch12} -\begin{paste}{ugUserRulesPageFull12}{ugUserRulesPageEmpty12} -\pastebutton{ugUserRulesPageFull12}{\hidepaste} -\tab{5}\spadcommand{sinCosProducts == rule - sin(x) * sin(y) == (cos(x-y) - cos(x + y))/2 - cos(x) * cos(y) == (cos(x-y) + cos(x+y))/2 - sin(x) * cos(y) == (sin(x-y) + sin(x + y))/2 -\bound{sinCosProducts }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPageEmpty12} -\begin{paste}{ugUserRulesPageEmpty12}{ugUserRulesPagePatch12} -\pastebutton{ugUserRulesPageEmpty12}{\showpaste} -\tab{5}\spadcommand{sinCosProducts == rule - sin(x) * sin(y) == (cos(x-y) - cos(x + y))/2 - cos(x) * cos(y) == (cos(x-y) + cos(x+y))/2 - sin(x) * cos(y) == (sin(x-y) + sin(x + y))/2 -\bound{sinCosProducts }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPagePatch13} -\begin{paste}{ugUserRulesPageFull13}{ugUserRulesPageEmpty13} -\pastebutton{ugUserRulesPageFull13}{\hidepaste} -\tab{5}\spadcommand{g := sin(a)*sin(b) + cos(b)*cos(a) + sin(2*a)*cos(2*a)\bound{g }} -\indentrel{3}\begin{verbatim} - (13) sin(a)sin(b) + cos(2a)sin(2a) + cos(a)cos(b) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPageEmpty13} -\begin{paste}{ugUserRulesPageEmpty13}{ugUserRulesPagePatch13} -\pastebutton{ugUserRulesPageEmpty13}{\showpaste} -\tab{5}\spadcommand{g := sin(a)*sin(b) + cos(b)*cos(a) + sin(2*a)*cos(2*a)\bound{g }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPagePatch14} -\begin{paste}{ugUserRulesPageFull14}{ugUserRulesPageEmpty14} -\pastebutton{ugUserRulesPageFull14}{\hidepaste} -\tab{5}\spadcommand{sinCosProducts g\free{sinCosProducts g }} -\indentrel{3}\begin{verbatim} - sin(4a) + 2cos(b - a) - (14) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 2 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPageEmpty14} -\begin{paste}{ugUserRulesPageEmpty14}{ugUserRulesPagePatch14} -\pastebutton{ugUserRulesPageEmpty14}{\showpaste} -\tab{5}\spadcommand{sinCosProducts g\free{sinCosProducts g }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPagePatch15} -\begin{paste}{ugUserRulesPageFull15}{ugUserRulesPageEmpty15} -\pastebutton{ugUserRulesPageFull15}{\hidepaste} -\tab{5}\spadcommand{exprule := rule exp(a + b) == exp(a) * exp(b)\bound{exprule }} -\indentrel{3}\begin{verbatim} - b + a a b - (15) %e == %e %e - Type: RewriteRule(Integer,Integer,Expression Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPageEmpty15} -\begin{paste}{ugUserRulesPageEmpty15}{ugUserRulesPagePatch15} -\pastebutton{ugUserRulesPageEmpty15}{\showpaste} -\tab{5}\spadcommand{exprule := rule exp(a + b) == exp(a) * exp(b)\bound{exprule }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPagePatch16} -\begin{paste}{ugUserRulesPageFull16}{ugUserRulesPageEmpty16} -\pastebutton{ugUserRulesPageFull16}{\hidepaste} -\tab{5}\spadcommand{exprule exp x\free{exprule }} -\indentrel{3}\begin{verbatim} - x - (16) %e - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPageEmpty16} -\begin{paste}{ugUserRulesPageEmpty16}{ugUserRulesPagePatch16} -\pastebutton{ugUserRulesPageEmpty16}{\showpaste} -\tab{5}\spadcommand{exprule exp x\free{exprule }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPagePatch17} -\begin{paste}{ugUserRulesPageFull17}{ugUserRulesPageEmpty17} -\pastebutton{ugUserRulesPageFull17}{\hidepaste} -\tab{5}\spadcommand{eirule := rule integral((?y + exp x)/x,x) == integral(y/x,x) + Ei x\bound{eirule }} -\indentrel{3}\begin{verbatim} - x %N - Ú¿ %e + y y - (17) ³ ÄÄÄÄÄÄÄÄ d%N == 'integral(Ä,x) + 'Ei(x) - ÀÙ %N x - Type: RewriteRule(Integer,Integer,Expression Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPageEmpty17} -\begin{paste}{ugUserRulesPageEmpty17}{ugUserRulesPagePatch17} -\pastebutton{ugUserRulesPageEmpty17}{\showpaste} -\tab{5}\spadcommand{eirule := rule integral((?y + exp x)/x,x) == integral(y/x,x) + Ei x\bound{eirule }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPagePatch18} -\begin{paste}{ugUserRulesPageFull18}{ugUserRulesPageEmpty18} -\pastebutton{ugUserRulesPageFull18}{\hidepaste} -\tab{5}\spadcommand{eirule integral(exp u/u, u)\free{eirule }} -\indentrel{3}\begin{verbatim} - (18) Ei(u) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPageEmpty18} -\begin{paste}{ugUserRulesPageEmpty18}{ugUserRulesPagePatch18} -\pastebutton{ugUserRulesPageEmpty18}{\showpaste} -\tab{5}\spadcommand{eirule integral(exp u/u, u)\free{eirule }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPagePatch19} -\begin{paste}{ugUserRulesPageFull19}{ugUserRulesPageEmpty19} -\pastebutton{ugUserRulesPageFull19}{\hidepaste} -\tab{5}\spadcommand{eirule integral(sin u + exp u/u, u)\free{eirule }} -\indentrel{3}\begin{verbatim} - u - Ú¿ - (19) ³ sin(%N)d%N + Ei(u) - ÀÙ - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPageEmpty19} -\begin{paste}{ugUserRulesPageEmpty19}{ugUserRulesPagePatch19} -\pastebutton{ugUserRulesPageEmpty19}{\showpaste} -\tab{5}\spadcommand{eirule integral(sin u + exp u/u, u)\free{eirule }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPagePatch20} -\begin{paste}{ugUserRulesPageFull20}{ugUserRulesPageEmpty20} -\pastebutton{ugUserRulesPageFull20}{\hidepaste} -\tab{5}\spadcommand{u := operator 'u\bound{u }} -\indentrel{3}\begin{verbatim} - (20) u - Type: BasicOperator -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPageEmpty20} -\begin{paste}{ugUserRulesPageEmpty20}{ugUserRulesPagePatch20} -\pastebutton{ugUserRulesPageEmpty20}{\showpaste} -\tab{5}\spadcommand{u := operator 'u\bound{u }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPagePatch21} -\begin{paste}{ugUserRulesPageFull21}{ugUserRulesPageEmpty21} -\pastebutton{ugUserRulesPageFull21}{\hidepaste} -\tab{5}\spadcommand{v := operator 'v\bound{v }} -\indentrel{3}\begin{verbatim} - (21) v - Type: BasicOperator -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPageEmpty21} -\begin{paste}{ugUserRulesPageEmpty21}{ugUserRulesPagePatch21} -\pastebutton{ugUserRulesPageEmpty21}{\showpaste} -\tab{5}\spadcommand{v := operator 'v\bound{v }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPagePatch22} -\begin{paste}{ugUserRulesPageFull22}{ugUserRulesPageEmpty22} -\pastebutton{ugUserRulesPageFull22}{\hidepaste} -\tab{5}\spadcommand{myRule := rule u(x + y) == u x + v y\free{u v }\bound{m }} -\indentrel{3}\begin{verbatim} - (22) u(y + x) == 'v(y) + 'u(x) - Type: RewriteRule(Integer,Integer,Expression Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPageEmpty22} -\begin{paste}{ugUserRulesPageEmpty22}{ugUserRulesPagePatch22} -\pastebutton{ugUserRulesPageEmpty22}{\showpaste} -\tab{5}\spadcommand{myRule := rule u(x + y) == u x + v y\free{u v }\bound{m }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPagePatch23} -\begin{paste}{ugUserRulesPageFull23}{ugUserRulesPageEmpty23} -\pastebutton{ugUserRulesPageFull23}{\hidepaste} -\tab{5}\spadcommand{myRule u(a + b + c + d)\free{m }} -\indentrel{3}\begin{verbatim} - (23) v(d + c + b) + u(a) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPageEmpty23} -\begin{paste}{ugUserRulesPageEmpty23}{ugUserRulesPagePatch23} -\pastebutton{ugUserRulesPageEmpty23}{\showpaste} -\tab{5}\spadcommand{myRule u(a + b + c + d)\free{m }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPagePatch24} -\begin{paste}{ugUserRulesPageFull24}{ugUserRulesPageEmpty24} -\pastebutton{ugUserRulesPageFull24}{\hidepaste} -\tab{5}\spadcommand{myOtherRule := rule u(:x + y) == u x + v y\free{u v }\bound{m2 }} -\indentrel{3}\begin{verbatim} - (24) u(y + x) == 'v(y) + 'u(x) - Type: RewriteRule(Integer,Integer,Expression Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPageEmpty24} -\begin{paste}{ugUserRulesPageEmpty24}{ugUserRulesPagePatch24} -\pastebutton{ugUserRulesPageEmpty24}{\showpaste} -\tab{5}\spadcommand{myOtherRule := rule u(:x + y) == u x + v y\free{u v }\bound{m2 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPagePatch25} -\begin{paste}{ugUserRulesPageFull25}{ugUserRulesPageEmpty25} -\pastebutton{ugUserRulesPageFull25}{\hidepaste} -\tab{5}\spadcommand{myOtherRule u(a + b + c + d)\free{m2 }} -\indentrel{3}\begin{verbatim} - (25) v(c) + v(b) + v(a) + u(d) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserRulesPageEmpty25} -\begin{paste}{ugUserRulesPageEmpty25}{ugUserRulesPagePatch25} -\pastebutton{ugUserRulesPageEmpty25}{\showpaste} -\tab{5}\spadcommand{myOtherRule u(a + b + c + d)\free{m2 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserIntroPagePatch1} -\begin{paste}{ugUserIntroPageFull1}{ugUserIntroPageEmpty1} -\pastebutton{ugUserIntroPageFull1}{\hidepaste} -\tab{5}\spadcommand{factor(12)} -\indentrel{3}\begin{verbatim} - 2 - (1) 2 3 - Type: Factored Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserIntroPageEmpty1} -\begin{paste}{ugUserIntroPageEmpty1}{ugUserIntroPagePatch1} -\pastebutton{ugUserIntroPageEmpty1}{\showpaste} -\tab{5}\spadcommand{factor(12)} -\end{paste}\end{patch} - -\begin{patch}{ugUserIntroPagePatch2} -\begin{paste}{ugUserIntroPageFull2}{ugUserIntroPageEmpty2} -\pastebutton{ugUserIntroPageFull2}{\hidepaste} -\tab{5}\spadcommand{3 + 4} -\indentrel{3}\begin{verbatim} - (2) 7 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserIntroPageEmpty2} -\begin{paste}{ugUserIntroPageEmpty2}{ugUserIntroPagePatch2} -\pastebutton{ugUserIntroPageEmpty2}{\showpaste} -\tab{5}\spadcommand{3 + 4} -\end{paste}\end{patch} - -\begin{patch}{ugUserIntroPagePatch3} -\begin{paste}{ugUserIntroPageFull3}{ugUserIntroPageEmpty3} -\pastebutton{ugUserIntroPageFull3}{\hidepaste} -\tab{5}\spadcommand{1 + 2 + 7} -\indentrel{3}\begin{verbatim} - (3) 10 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserIntroPageEmpty3} -\begin{paste}{ugUserIntroPageEmpty3}{ugUserIntroPagePatch3} -\pastebutton{ugUserIntroPageEmpty3}{\showpaste} -\tab{5}\spadcommand{1 + 2 + 7} -\end{paste}\end{patch} - -\begin{patch}{ugUserFunMacPagePatch1} -\begin{paste}{ugUserFunMacPageFull1}{ugUserFunMacPageEmpty1} -\pastebutton{ugUserFunMacPageFull1}{\hidepaste} -\tab{5}\spadcommand{abs(-8)} -\indentrel{3}\begin{verbatim} - (1) 8 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFunMacPageEmpty1} -\begin{paste}{ugUserFunMacPageEmpty1}{ugUserFunMacPagePatch1} -\pastebutton{ugUserFunMacPageEmpty1}{\showpaste} -\tab{5}\spadcommand{abs(-8)} -\end{paste}\end{patch} - -\begin{patch}{ugUserFunMacPagePatch2} -\begin{paste}{ugUserFunMacPageFull2}{ugUserFunMacPageEmpty2} -\pastebutton{ugUserFunMacPageFull2}{\hidepaste} -\tab{5}\spadcommand{(x +-> if x < 0 then -x else x)(-8)} -\indentrel{3}\begin{verbatim} - (2) 8 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFunMacPageEmpty2} -\begin{paste}{ugUserFunMacPageEmpty2}{ugUserFunMacPagePatch2} -\pastebutton{ugUserFunMacPageEmpty2}{\showpaste} -\tab{5}\spadcommand{(x +-> if x < 0 then -x else x)(-8)} -\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPagePatch1} -\begin{paste}{ugUserBlocksPageFull1}{ugUserBlocksPageEmpty1} -\pastebutton{ugUserBlocksPageFull1}{\hidepaste} -\tab{5}\spadcommand{swap(m,i,j) == - temp := m.i - m.i := m.j - m.j := temp -\bound{swap }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPageEmpty1} -\begin{paste}{ugUserBlocksPageEmpty1}{ugUserBlocksPagePatch1} -\pastebutton{ugUserBlocksPageEmpty1}{\showpaste} -\tab{5}\spadcommand{swap(m,i,j) == - temp := m.i - m.i := m.j - m.j := temp -\bound{swap }} -\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPagePatch2} -\begin{paste}{ugUserBlocksPageFull2}{ugUserBlocksPageEmpty2} -\pastebutton{ugUserBlocksPageFull2}{\hidepaste} -\tab{5}\spadcommand{k := [1,2,3,4,5]\bound{k }} -\indentrel{3}\begin{verbatim} - (2) [1,2,3,4,5] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPageEmpty2} -\begin{paste}{ugUserBlocksPageEmpty2}{ugUserBlocksPagePatch2} -\pastebutton{ugUserBlocksPageEmpty2}{\showpaste} -\tab{5}\spadcommand{k := [1,2,3,4,5]\bound{k }} -\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPagePatch3} -\begin{paste}{ugUserBlocksPageFull3}{ugUserBlocksPageEmpty3} -\pastebutton{ugUserBlocksPageFull3}{\hidepaste} -\tab{5}\spadcommand{swap(k,2,4)\free{l swap }\bound{swapk }} -\indentrel{3}\begin{verbatim} - (3) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPageEmpty3} -\begin{paste}{ugUserBlocksPageEmpty3}{ugUserBlocksPagePatch3} -\pastebutton{ugUserBlocksPageEmpty3}{\showpaste} -\tab{5}\spadcommand{swap(k,2,4)\free{l swap }\bound{swapk }} -\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPagePatch4} -\begin{paste}{ugUserBlocksPageFull4}{ugUserBlocksPageEmpty4} -\pastebutton{ugUserBlocksPageFull4}{\hidepaste} -\tab{5}\spadcommand{k\free{swapk }} -\indentrel{3}\begin{verbatim} - (4) [1,4,3,2,5] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPageEmpty4} -\begin{paste}{ugUserBlocksPageEmpty4}{ugUserBlocksPagePatch4} -\pastebutton{ugUserBlocksPageEmpty4}{\showpaste} -\tab{5}\spadcommand{k\free{swapk }} -\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPagePatch5} -\begin{paste}{ugUserBlocksPageFull5}{ugUserBlocksPageEmpty5} -\pastebutton{ugUserBlocksPageFull5}{\hidepaste} -\tab{5}\spadcommand{bubbleSort(m) == - n := \#m - for i in 1..(n-1) repeat - for j in n..(i+1) by -1 repeat - if m.j < m.(j-1) then swap(m,j,j-1) - m -\bound{bubbleSort }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPageEmpty5} -\begin{paste}{ugUserBlocksPageEmpty5}{ugUserBlocksPagePatch5} -\pastebutton{ugUserBlocksPageEmpty5}{\showpaste} -\tab{5}\spadcommand{bubbleSort(m) == - n := \#m - for i in 1..(n-1) repeat - for j in n..(i+1) by -1 repeat - if m.j < m.(j-1) then swap(m,j,j-1) - m -\bound{bubbleSort }} -\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPagePatch6} -\begin{paste}{ugUserBlocksPageFull6}{ugUserBlocksPageEmpty6} -\pastebutton{ugUserBlocksPageFull6}{\hidepaste} -\tab{5}\spadcommand{m := [8,4,-3,9]\bound{m }} -\indentrel{3}\begin{verbatim} - (6) [8,4,- 3,9] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPageEmpty6} -\begin{paste}{ugUserBlocksPageEmpty6}{ugUserBlocksPagePatch6} -\pastebutton{ugUserBlocksPageEmpty6}{\showpaste} -\tab{5}\spadcommand{m := [8,4,-3,9]\bound{m }} -\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPagePatch7} -\begin{paste}{ugUserBlocksPageFull7}{ugUserBlocksPageEmpty7} -\pastebutton{ugUserBlocksPageFull7}{\hidepaste} -\tab{5}\spadcommand{bubbleSort(m)\free{m swap bubbleSort }\bound{sortm }} -\indentrel{3}\begin{verbatim} - (7) [- 3,4,8,9] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPageEmpty7} -\begin{paste}{ugUserBlocksPageEmpty7}{ugUserBlocksPagePatch7} -\pastebutton{ugUserBlocksPageEmpty7}{\showpaste} -\tab{5}\spadcommand{bubbleSort(m)\free{m swap bubbleSort }\bound{sortm }} -\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPagePatch8} -\begin{paste}{ugUserBlocksPageFull8}{ugUserBlocksPageEmpty8} -\pastebutton{ugUserBlocksPageFull8}{\hidepaste} -\tab{5}\spadcommand{m\free{sortm }} -\indentrel{3}\begin{verbatim} - (8) [- 3,4,8,9] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPageEmpty8} -\begin{paste}{ugUserBlocksPageEmpty8}{ugUserBlocksPagePatch8} -\pastebutton{ugUserBlocksPageEmpty8}{\showpaste} -\tab{5}\spadcommand{m\free{sortm }} -\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPagePatch9} -\begin{paste}{ugUserBlocksPageFull9}{ugUserBlocksPageEmpty9} -\pastebutton{ugUserBlocksPageFull9}{\hidepaste} -\tab{5}\spadcommand{insertionSort(m) == - for i in 2..\#m repeat - j := i - while j > 1 and m.j < m.(j-1) repeat - swap(m,j,j-1) - j := j - 1 - m -\bound{insertionSort }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPageEmpty9} -\begin{paste}{ugUserBlocksPageEmpty9}{ugUserBlocksPagePatch9} -\pastebutton{ugUserBlocksPageEmpty9}{\showpaste} -\tab{5}\spadcommand{insertionSort(m) == - for i in 2..\#m repeat - j := i - while j > 1 and m.j < m.(j-1) repeat - swap(m,j,j-1) - j := j - 1 - m -\bound{insertionSort }} -\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPagePatch10} -\begin{paste}{ugUserBlocksPageFull10}{ugUserBlocksPageEmpty10} -\pastebutton{ugUserBlocksPageFull10}{\hidepaste} -\tab{5}\spadcommand{m := [8,4,-3,9]\bound{m1 }} -\indentrel{3}\begin{verbatim} - (10) [8,4,- 3,9] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPageEmpty10} -\begin{paste}{ugUserBlocksPageEmpty10}{ugUserBlocksPagePatch10} -\pastebutton{ugUserBlocksPageEmpty10}{\showpaste} -\tab{5}\spadcommand{m := [8,4,-3,9]\bound{m1 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPagePatch11} -\begin{paste}{ugUserBlocksPageFull11}{ugUserBlocksPageEmpty11} -\pastebutton{ugUserBlocksPageFull11}{\hidepaste} -\tab{5}\spadcommand{insertionSort(m)\free{m1 swap insertionSort }\bound{sortm1 }} -\indentrel{3}\begin{verbatim} - (11) [- 3,4,8,9] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPageEmpty11} -\begin{paste}{ugUserBlocksPageEmpty11}{ugUserBlocksPagePatch11} -\pastebutton{ugUserBlocksPageEmpty11}{\showpaste} -\tab{5}\spadcommand{insertionSort(m)\free{m1 swap insertionSort }\bound{sortm1 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPagePatch12} -\begin{paste}{ugUserBlocksPageFull12}{ugUserBlocksPageEmpty12} -\pastebutton{ugUserBlocksPageFull12}{\hidepaste} -\tab{5}\spadcommand{m\free{sortm1 }} -\indentrel{3}\begin{verbatim} - (12) [- 3,4,8,9] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPageEmpty12} -\begin{paste}{ugUserBlocksPageEmpty12}{ugUserBlocksPagePatch12} -\pastebutton{ugUserBlocksPageEmpty12}{\showpaste} -\tab{5}\spadcommand{m\free{sortm1 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPagePatch13} -\begin{paste}{ugUserBlocksPageFull13}{ugUserBlocksPageEmpty13} -\pastebutton{ugUserBlocksPageFull13}{\hidepaste} -\tab{5}\spadcommand{bubbleSort2(m: List Integer): List Integer == - null m => m - l := m - while not null (r := l.rest) repeat - r := bubbleSort2 r - x := l.first - if x < r.first then - l.first := r.first - r.first := x - l.rest := r - l := l.rest - m -\bound{bubbleSort2 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPageEmpty13} -\begin{paste}{ugUserBlocksPageEmpty13}{ugUserBlocksPagePatch13} -\pastebutton{ugUserBlocksPageEmpty13}{\showpaste} -\tab{5}\spadcommand{bubbleSort2(m: List Integer): List Integer == - null m => m - l := m - while not null (r := l.rest) repeat - r := bubbleSort2 r - x := l.first - if x < r.first then - l.first := r.first - r.first := x - l.rest := r - l := l.rest - m -\bound{bubbleSort2 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPagePatch14} -\begin{paste}{ugUserBlocksPageFull14}{ugUserBlocksPageEmpty14} -\pastebutton{ugUserBlocksPageFull14}{\hidepaste} -\tab{5}\spadcommand{bubbleSort2 [3,7,2]\free{bubbleSort2 }} -\indentrel{3}\begin{verbatim} - (14) [7,3,2] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserBlocksPageEmpty14} -\begin{paste}{ugUserBlocksPageEmpty14}{ugUserBlocksPagePatch14} -\pastebutton{ugUserBlocksPageEmpty14}{\showpaste} -\tab{5}\spadcommand{bubbleSort2 [3,7,2]\free{bubbleSort2 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPagePatch1} -\begin{paste}{ugUserMacrosPageFull1}{ugUserMacrosPageEmpty1} -\pastebutton{ugUserMacrosPageFull1}{\hidepaste} -\tab{5}\spadcommand{macro df == D\bound{df }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPageEmpty1} -\begin{paste}{ugUserMacrosPageEmpty1}{ugUserMacrosPagePatch1} -\pastebutton{ugUserMacrosPageEmpty1}{\showpaste} -\tab{5}\spadcommand{macro df == D\bound{df }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPagePatch2} -\begin{paste}{ugUserMacrosPageFull2}{ugUserMacrosPageEmpty2} -\pastebutton{ugUserMacrosPageFull2}{\hidepaste} -\tab{5}\spadcommand{df(x**2 + x + 1,x)\free{df }} -\indentrel{3}\begin{verbatim} - (2) 2x + 1 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPageEmpty2} -\begin{paste}{ugUserMacrosPageEmpty2}{ugUserMacrosPagePatch2} -\pastebutton{ugUserMacrosPageEmpty2}{\showpaste} -\tab{5}\spadcommand{df(x**2 + x + 1,x)\free{df }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPagePatch3} -\begin{paste}{ugUserMacrosPageFull3}{ugUserMacrosPageEmpty3} -\pastebutton{ugUserMacrosPageFull3}{\hidepaste} -\tab{5}\spadcommand{macro ff(x) == x**2 + 1\bound{ff }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPageEmpty3} -\begin{paste}{ugUserMacrosPageEmpty3}{ugUserMacrosPagePatch3} -\pastebutton{ugUserMacrosPageEmpty3}{\showpaste} -\tab{5}\spadcommand{macro ff(x) == x**2 + 1\bound{ff }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPagePatch4} -\begin{paste}{ugUserMacrosPageFull4}{ugUserMacrosPageEmpty4} -\pastebutton{ugUserMacrosPageFull4}{\hidepaste} -\tab{5}\spadcommand{ff z\free{ff }} -\indentrel{3}\begin{verbatim} - 2 - (4) z + 1 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPageEmpty4} -\begin{paste}{ugUserMacrosPageEmpty4}{ugUserMacrosPagePatch4} -\pastebutton{ugUserMacrosPageEmpty4}{\showpaste} -\tab{5}\spadcommand{ff z\free{ff }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPagePatch5} -\begin{paste}{ugUserMacrosPageFull5}{ugUserMacrosPageEmpty5} -\pastebutton{ugUserMacrosPageFull5}{\hidepaste} -\tab{5}\spadcommand{macro gg(x) == ff(2*x - 2/3)\bound{gg }\free{ff }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPageEmpty5} -\begin{paste}{ugUserMacrosPageEmpty5}{ugUserMacrosPagePatch5} -\pastebutton{ugUserMacrosPageEmpty5}{\showpaste} -\tab{5}\spadcommand{macro gg(x) == ff(2*x - 2/3)\bound{gg }\free{ff }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPagePatch6} -\begin{paste}{ugUserMacrosPageFull6}{ugUserMacrosPageEmpty6} -\pastebutton{ugUserMacrosPageFull6}{\hidepaste} -\tab{5}\spadcommand{gg(1/w)\free{gg }} -\indentrel{3}\begin{verbatim} - 2 - 13w - 24w + 36 - (6) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 2 - 9w - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPageEmpty6} -\begin{paste}{ugUserMacrosPageEmpty6}{ugUserMacrosPagePatch6} -\pastebutton{ugUserMacrosPageEmpty6}{\showpaste} -\tab{5}\spadcommand{gg(1/w)\free{gg }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPagePatch7} -\begin{paste}{ugUserMacrosPageFull7}{ugUserMacrosPageEmpty7} -\pastebutton{ugUserMacrosPageFull7}{\hidepaste} -\tab{5}\spadcommand{macro ff(x) == gg(-x)\free{gg }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPageEmpty7} -\begin{paste}{ugUserMacrosPageEmpty7}{ugUserMacrosPagePatch7} -\pastebutton{ugUserMacrosPageEmpty7}{\showpaste} -\tab{5}\spadcommand{macro ff(x) == gg(-x)\free{gg }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPagePatch8} -\begin{paste}{ugUserMacrosPageFull8}{ugUserMacrosPageEmpty8} -\pastebutton{ugUserMacrosPageFull8}{\hidepaste} -\tab{5}\spadcommand{macro next == (past := present; present := future; future := past + present)\bound{next }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPageEmpty8} -\begin{paste}{ugUserMacrosPageEmpty8}{ugUserMacrosPagePatch8} -\pastebutton{ugUserMacrosPageEmpty8}{\showpaste} -\tab{5}\spadcommand{macro next == (past := present; present := future; future := past + present)\bound{next }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPagePatch9} -\begin{paste}{ugUserMacrosPageFull9}{ugUserMacrosPageEmpty9} -\pastebutton{ugUserMacrosPageFull9}{\hidepaste} -\tab{5}\spadcommand{present : Integer := 0\bound{present }} -\indentrel{3}\begin{verbatim} - (9) 0 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPageEmpty9} -\begin{paste}{ugUserMacrosPageEmpty9}{ugUserMacrosPagePatch9} -\pastebutton{ugUserMacrosPageEmpty9}{\showpaste} -\tab{5}\spadcommand{present : Integer := 0\bound{present }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPagePatch10} -\begin{paste}{ugUserMacrosPageFull10}{ugUserMacrosPageEmpty10} -\pastebutton{ugUserMacrosPageFull10}{\hidepaste} -\tab{5}\spadcommand{future : Integer := 1\bound{future }} -\indentrel{3}\begin{verbatim} - (10) 1 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPageEmpty10} -\begin{paste}{ugUserMacrosPageEmpty10}{ugUserMacrosPagePatch10} -\pastebutton{ugUserMacrosPageEmpty10}{\showpaste} -\tab{5}\spadcommand{future : Integer := 1\bound{future }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPagePatch11} -\begin{paste}{ugUserMacrosPageFull11}{ugUserMacrosPageEmpty11} -\pastebutton{ugUserMacrosPageFull11}{\hidepaste} -\tab{5}\spadcommand{next\free{future }\free{present }} -\indentrel{3}\begin{verbatim} - (11) 1 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPageEmpty11} -\begin{paste}{ugUserMacrosPageEmpty11}{ugUserMacrosPagePatch11} -\pastebutton{ugUserMacrosPageEmpty11}{\showpaste} -\tab{5}\spadcommand{next\free{future }\free{present }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPagePatch12} -\begin{paste}{ugUserMacrosPageFull12}{ugUserMacrosPageEmpty12} -\pastebutton{ugUserMacrosPageFull12}{\hidepaste} -\tab{5}\spadcommand{next\free{future }\free{present }} -\indentrel{3}\begin{verbatim} - (12) 2 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPageEmpty12} -\begin{paste}{ugUserMacrosPageEmpty12}{ugUserMacrosPagePatch12} -\pastebutton{ugUserMacrosPageEmpty12}{\showpaste} -\tab{5}\spadcommand{next\free{future }\free{present }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPagePatch13} -\begin{paste}{ugUserMacrosPageFull13}{ugUserMacrosPageEmpty13} -\pastebutton{ugUserMacrosPageFull13}{\hidepaste} -\tab{5}\spadcommand{[next for i in 1..]\free{future }\free{present }} -\indentrel{3}\begin{verbatim} - (13) [3,5,8,13,21,34,55,89,144,233,...] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPageEmpty13} -\begin{paste}{ugUserMacrosPageEmpty13}{ugUserMacrosPagePatch13} -\pastebutton{ugUserMacrosPageEmpty13}{\showpaste} -\tab{5}\spadcommand{[next for i in 1..]\free{future }\free{present }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPagePatch14} -\begin{paste}{ugUserMacrosPageFull14}{ugUserMacrosPageEmpty14} -\pastebutton{ugUserMacrosPageFull14}{\hidepaste} -\tab{5}\spadcommand{macro fibStream == - present : Integer := 1 - future : Integer := 1 - [next for i in 1..] where - macro next == - past := present - present := future - future := past + present -\bound{fibstr }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPageEmpty14} -\begin{paste}{ugUserMacrosPageEmpty14}{ugUserMacrosPagePatch14} -\pastebutton{ugUserMacrosPageEmpty14}{\showpaste} -\tab{5}\spadcommand{macro fibStream == - present : Integer := 1 - future : Integer := 1 - [next for i in 1..] where - macro next == - past := present - present := future - future := past + present -\bound{fibstr }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPagePatch15} -\begin{paste}{ugUserMacrosPageFull15}{ugUserMacrosPageEmpty15} -\pastebutton{ugUserMacrosPageFull15}{\hidepaste} -\tab{5}\spadcommand{concat([0,1],fibStream)\free{fibstr }} -\indentrel{3}\begin{verbatim} - (15) [0,1,2,3,5,8,13,21,34,55,...] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPageEmpty15} -\begin{paste}{ugUserMacrosPageEmpty15}{ugUserMacrosPagePatch15} -\pastebutton{ugUserMacrosPageEmpty15}{\showpaste} -\tab{5}\spadcommand{concat([0,1],fibStream)\free{fibstr }} -\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPagePatch16} -\begin{paste}{ugUserMacrosPageFull16}{ugUserMacrosPageEmpty16} -\pastebutton{ugUserMacrosPageFull16}{\hidepaste} -\tab{5}\spadcommand{[fibonacci i for i in 1..]} -\indentrel{3}\begin{verbatim} - (16) [1,1,2,3,5,8,13,21,34,55,...] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserMacrosPageEmpty16} -\begin{paste}{ugUserMacrosPageEmpty16}{ugUserMacrosPagePatch16} -\pastebutton{ugUserMacrosPageEmpty16}{\showpaste} -\tab{5}\spadcommand{[fibonacci i for i in 1..]} -\end{paste}\end{patch} - -\begin{patch}{ugUserDeclarePagePatch1} -\begin{paste}{ugUserDeclarePageFull1}{ugUserDeclarePageEmpty1} -\pastebutton{ugUserDeclarePageFull1}{\hidepaste} -\tab{5}\spadcommand{g: (Integer,Float,Integer) -> String} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDeclarePageEmpty1} -\begin{paste}{ugUserDeclarePageEmpty1}{ugUserDeclarePagePatch1} -\pastebutton{ugUserDeclarePageEmpty1}{\showpaste} -\tab{5}\spadcommand{g: (Integer,Float,Integer) -> String} -\end{paste}\end{patch} - -\begin{patch}{ugUserDeclarePagePatch2} -\begin{paste}{ugUserDeclarePageFull2}{ugUserDeclarePageEmpty2} -\pastebutton{ugUserDeclarePageFull2}{\hidepaste} -\tab{5}\spadcommand{g: (INT,FLOAT,INT) -> STRING} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDeclarePageEmpty2} -\begin{paste}{ugUserDeclarePageEmpty2}{ugUserDeclarePagePatch2} -\pastebutton{ugUserDeclarePageEmpty2}{\showpaste} -\tab{5}\spadcommand{g: (INT,FLOAT,INT) -> STRING} -\end{paste}\end{patch} - -\begin{patch}{ugUserDeclarePagePatch3} -\begin{paste}{ugUserDeclarePageFull3}{ugUserDeclarePageEmpty3} -\pastebutton{ugUserDeclarePageFull3}{\hidepaste} -\tab{5}\spadcommand{h: () -> POLY INT} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDeclarePageEmpty3} -\begin{paste}{ugUserDeclarePageEmpty3}{ugUserDeclarePagePatch3} -\pastebutton{ugUserDeclarePageEmpty3}{\showpaste} -\tab{5}\spadcommand{h: () -> POLY INT} -\end{paste}\end{patch} - -\begin{patch}{ugUserDeclarePagePatch4} -\begin{paste}{ugUserDeclarePageFull4}{ugUserDeclarePageEmpty4} -\pastebutton{ugUserDeclarePageFull4}{\hidepaste} -\tab{5}\spadcommand{h: () -> Polynomial INT} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDeclarePageEmpty4} -\begin{paste}{ugUserDeclarePageEmpty4}{ugUserDeclarePagePatch4} -\pastebutton{ugUserDeclarePageEmpty4}{\showpaste} -\tab{5}\spadcommand{h: () -> Polynomial INT} -\end{paste}\end{patch} - -\begin{patch}{ugUserDeclarePagePatch5} -\begin{paste}{ugUserDeclarePageFull5}{ugUserDeclarePageEmpty5} -\pastebutton{ugUserDeclarePageFull5}{\hidepaste} -\tab{5}\spadcommand{h: () -> POLY Integer} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDeclarePageEmpty5} -\begin{paste}{ugUserDeclarePageEmpty5}{ugUserDeclarePagePatch5} -\pastebutton{ugUserDeclarePageEmpty5}{\showpaste} -\tab{5}\spadcommand{h: () -> POLY Integer} -\end{paste}\end{patch} - -\begin{patch}{ugUserCompIntPagePatch1} -\begin{paste}{ugUserCompIntPageFull1}{ugUserCompIntPageEmpty1} -\pastebutton{ugUserCompIntPageFull1}{\hidepaste} -\tab{5}\spadcommand{varPolys(vars) == - for var in vars repeat - output(1 :: UnivariatePolynomial(var,Integer)) -\bound{varPolys }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserCompIntPageEmpty1} -\begin{paste}{ugUserCompIntPageEmpty1}{ugUserCompIntPagePatch1} -\pastebutton{ugUserCompIntPageEmpty1}{\showpaste} -\tab{5}\spadcommand{varPolys(vars) == - for var in vars repeat - output(1 :: UnivariatePolynomial(var,Integer)) -\bound{varPolys }} -\end{paste}\end{patch} - -\begin{patch}{ugUserCompIntPagePatch2} -\begin{paste}{ugUserCompIntPageFull2}{ugUserCompIntPageEmpty2} -\pastebutton{ugUserCompIntPageFull2}{\hidepaste} -\tab{5}\spadcommand{varPolys ['x,'y,'z]\free{varPolys }} -\indentrel{3}\begin{verbatim} - 1 - 1 - 1 - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserCompIntPageEmpty2} -\begin{paste}{ugUserCompIntPageEmpty2}{ugUserCompIntPagePatch2} -\pastebutton{ugUserCompIntPageEmpty2}{\showpaste} -\tab{5}\spadcommand{varPolys ['x,'y,'z]\free{varPolys }} -\end{paste}\end{patch} - -\begin{patch}{ugUserCompIntPagePatch3} -\begin{paste}{ugUserCompIntPageFull3}{ugUserCompIntPageEmpty3} -\pastebutton{ugUserCompIntPageFull3}{\hidepaste} -\tab{5}\spadcommand{for var in ['x,'y,'z] repeat - output(1 :: UnivariatePolynomial(var,Integer)) -} -\indentrel{3}\begin{verbatim} - 1 - 1 - 1 - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserCompIntPageEmpty3} -\begin{paste}{ugUserCompIntPageEmpty3}{ugUserCompIntPagePatch3} -\pastebutton{ugUserCompIntPageEmpty3}{\showpaste} -\tab{5}\spadcommand{for var in ['x,'y,'z] repeat - output(1 :: UnivariatePolynomial(var,Integer)) -} -\end{paste}\end{patch} - -\begin{patch}{ugUserDecUndecPagePatch1} -\begin{paste}{ugUserDecUndecPageFull1}{ugUserDecUndecPageEmpty1} -\pastebutton{ugUserDecUndecPageFull1}{\hidepaste} -\tab{5}\spadcommand{f(x: Integer): Integer == x + 1\bound{f }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDecUndecPageEmpty1} -\begin{paste}{ugUserDecUndecPageEmpty1}{ugUserDecUndecPagePatch1} -\pastebutton{ugUserDecUndecPageEmpty1}{\showpaste} -\tab{5}\spadcommand{f(x: Integer): Integer == x + 1\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{ugUserDecUndecPagePatch2} -\begin{paste}{ugUserDecUndecPageFull2}{ugUserDecUndecPageEmpty2} -\pastebutton{ugUserDecUndecPageFull2}{\hidepaste} -\tab{5}\spadcommand{f 9\free{f }} -\indentrel{3}\begin{verbatim} - (2) 10 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDecUndecPageEmpty2} -\begin{paste}{ugUserDecUndecPageEmpty2}{ugUserDecUndecPagePatch2} -\pastebutton{ugUserDecUndecPageEmpty2}{\showpaste} -\tab{5}\spadcommand{f 9\free{f }} -\end{paste}\end{patch} - -\begin{patch}{ugUserDecUndecPagePatch3} -\begin{paste}{ugUserDecUndecPageFull3}{ugUserDecUndecPageEmpty3} -\pastebutton{ugUserDecUndecPageFull3}{\hidepaste} -\tab{5}\spadcommand{f(-2.0)\free{f }} -\indentrel{3}\begin{verbatim} - (3) - 1 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDecUndecPageEmpty3} -\begin{paste}{ugUserDecUndecPageEmpty3}{ugUserDecUndecPagePatch3} -\pastebutton{ugUserDecUndecPageEmpty3}{\showpaste} -\tab{5}\spadcommand{f(-2.0)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{ugUserDecUndecPagePatch4} -\begin{paste}{ugUserDecUndecPageFull4}{ugUserDecUndecPageEmpty4} -\pastebutton{ugUserDecUndecPageFull4}{\hidepaste} -\tab{5}\spadcommand{f(2/3)\free{f }} -\indentrel{3}\begin{verbatim} - 2 - Ä - 3 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDecUndecPageEmpty4} -\begin{paste}{ugUserDecUndecPageEmpty4}{ugUserDecUndecPagePatch4} -\pastebutton{ugUserDecUndecPageEmpty4}{\showpaste} -\tab{5}\spadcommand{f(2/3)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{ugUserDecUndecPagePatch5} -\begin{paste}{ugUserDecUndecPageFull5}{ugUserDecUndecPageEmpty5} -\pastebutton{ugUserDecUndecPageFull5}{\hidepaste} -\tab{5}\spadcommand{g x == x + 1\bound{g }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDecUndecPageEmpty5} -\begin{paste}{ugUserDecUndecPageEmpty5}{ugUserDecUndecPagePatch5} -\pastebutton{ugUserDecUndecPageEmpty5}{\showpaste} -\tab{5}\spadcommand{g x == x + 1\bound{g }} -\end{paste}\end{patch} - -\begin{patch}{ugUserDecUndecPagePatch6} -\begin{paste}{ugUserDecUndecPageFull6}{ugUserDecUndecPageEmpty6} -\pastebutton{ugUserDecUndecPageFull6}{\hidepaste} -\tab{5}\spadcommand{g 9\free{g }} -\indentrel{3}\begin{verbatim} - (5) 10 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDecUndecPageEmpty6} -\begin{paste}{ugUserDecUndecPageEmpty6}{ugUserDecUndecPagePatch6} -\pastebutton{ugUserDecUndecPageEmpty6}{\showpaste} -\tab{5}\spadcommand{g 9\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ugUserDecUndecPagePatch7} -\begin{paste}{ugUserDecUndecPageFull7}{ugUserDecUndecPageEmpty7} -\pastebutton{ugUserDecUndecPageFull7}{\hidepaste} -\tab{5}\spadcommand{g(2/3)\free{g }} -\indentrel{3}\begin{verbatim} - 5 - (6) Ä - 3 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDecUndecPageEmpty7} -\begin{paste}{ugUserDecUndecPageEmpty7}{ugUserDecUndecPagePatch7} -\pastebutton{ugUserDecUndecPageEmpty7}{\showpaste} -\tab{5}\spadcommand{g(2/3)\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ugUserDecUndecPagePatch8} -\begin{paste}{ugUserDecUndecPageFull8}{ugUserDecUndecPageEmpty8} -\pastebutton{ugUserDecUndecPageFull8}{\hidepaste} -\tab{5}\spadcommand{g("axiom")\free{g }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDecUndecPageEmpty8} -\begin{paste}{ugUserDecUndecPageEmpty8}{ugUserDecUndecPagePatch8} -\pastebutton{ugUserDecUndecPageEmpty8}{\showpaste} -\tab{5}\spadcommand{g("axiom")\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ugUserDatabasePagePatch1} -\begin{paste}{ugUserDatabasePageFull1}{ugUserDatabasePageEmpty1} -\pastebutton{ugUserDatabasePageFull1}{\hidepaste} -\tab{5}\spadcommand{children("albert") == ["albertJr","richard","diane"]\bound{d1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDatabasePageEmpty1} -\begin{paste}{ugUserDatabasePageEmpty1}{ugUserDatabasePagePatch1} -\pastebutton{ugUserDatabasePageEmpty1}{\showpaste} -\tab{5}\spadcommand{children("albert") == ["albertJr","richard","diane"]\bound{d1 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserDatabasePagePatch2} -\begin{paste}{ugUserDatabasePageFull2}{ugUserDatabasePageEmpty2} -\pastebutton{ugUserDatabasePageFull2}{\hidepaste} -\tab{5}\spadcommand{children("richard") == ["douglas","daniel","susan"]\free{d1 }\bound{d2 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDatabasePageEmpty2} -\begin{paste}{ugUserDatabasePageEmpty2}{ugUserDatabasePagePatch2} -\pastebutton{ugUserDatabasePageEmpty2}{\showpaste} -\tab{5}\spadcommand{children("richard") == ["douglas","daniel","susan"]\free{d1 }\bound{d2 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserDatabasePagePatch3} -\begin{paste}{ugUserDatabasePageFull3}{ugUserDatabasePageEmpty3} -\pastebutton{ugUserDatabasePageFull3}{\hidepaste} -\tab{5}\spadcommand{children("douglas") == ["dougie","valerie"]\free{d2 }\bound{d3 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDatabasePageEmpty3} -\begin{paste}{ugUserDatabasePageEmpty3}{ugUserDatabasePagePatch3} -\pastebutton{ugUserDatabasePageEmpty3}{\showpaste} -\tab{5}\spadcommand{children("douglas") == ["dougie","valerie"]\free{d2 }\bound{d3 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserDatabasePagePatch4} -\begin{paste}{ugUserDatabasePageFull4}{ugUserDatabasePageEmpty4} -\pastebutton{ugUserDatabasePageFull4}{\hidepaste} -\tab{5}\spadcommand{children(x) == []\free{d3 }\bound{d4 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDatabasePageEmpty4} -\begin{paste}{ugUserDatabasePageEmpty4}{ugUserDatabasePagePatch4} -\pastebutton{ugUserDatabasePageEmpty4}{\showpaste} -\tab{5}\spadcommand{children(x) == []\free{d3 }\bound{d4 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserDatabasePagePatch5} -\begin{paste}{ugUserDatabasePageFull5}{ugUserDatabasePageEmpty5} -\pastebutton{ugUserDatabasePageFull5}{\hidepaste} -\tab{5}\spadcommand{childOf(x,y) == member?(x,children(y))\bound{d9 }\free{d10 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDatabasePageEmpty5} -\begin{paste}{ugUserDatabasePageEmpty5}{ugUserDatabasePagePatch5} -\pastebutton{ugUserDatabasePageEmpty5}{\showpaste} -\tab{5}\spadcommand{childOf(x,y) == member?(x,children(y))\bound{d9 }\free{d10 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserDatabasePagePatch6} -\begin{paste}{ugUserDatabasePageFull6}{ugUserDatabasePageEmpty6} -\pastebutton{ugUserDatabasePageFull6}{\hidepaste} -\tab{5}\spadcommand{parentOf(x) == - for y in people repeat - (if childOf(x,y) then return y) - "unknown" -\bound{d8a }\free{d9 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDatabasePageEmpty6} -\begin{paste}{ugUserDatabasePageEmpty6}{ugUserDatabasePagePatch6} -\pastebutton{ugUserDatabasePageEmpty6}{\showpaste} -\tab{5}\spadcommand{parentOf(x) == - for y in people repeat - (if childOf(x,y) then return y) - "unknown" -\bound{d8a }\free{d9 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserDatabasePagePatch7} -\begin{paste}{ugUserDatabasePageFull7}{ugUserDatabasePageEmpty7} -\pastebutton{ugUserDatabasePageFull7}{\hidepaste} -\tab{5}\spadcommand{grandParentOf(x) == parentOf parentOf x\bound{d8 }\free{d8a }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDatabasePageEmpty7} -\begin{paste}{ugUserDatabasePageEmpty7}{ugUserDatabasePagePatch7} -\pastebutton{ugUserDatabasePageEmpty7}{\showpaste} -\tab{5}\spadcommand{grandParentOf(x) == parentOf parentOf x\bound{d8 }\free{d8a }} -\end{paste}\end{patch} - -\begin{patch}{ugUserDatabasePagePatch8} -\begin{paste}{ugUserDatabasePageFull8}{ugUserDatabasePageEmpty8} -\pastebutton{ugUserDatabasePageFull8}{\hidepaste} -\tab{5}\spadcommand{grandchildren(x) == [y for y in people | grandParentOf(y) = x]\free{d7 }\bound{d8 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDatabasePageEmpty8} -\begin{paste}{ugUserDatabasePageEmpty8}{ugUserDatabasePagePatch8} -\pastebutton{ugUserDatabasePageEmpty8}{\showpaste} -\tab{5}\spadcommand{grandchildren(x) == [y for y in people | grandParentOf(y) = x]\free{d7 }\bound{d8 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserDatabasePagePatch9} -\begin{paste}{ugUserDatabasePageFull9}{ugUserDatabasePageEmpty9} -\pastebutton{ugUserDatabasePageFull9}{\hidepaste} -\tab{5}\spadcommand{greatGrandParents == [x for x in people | - reduce(_or,[not empty? children(y) for y in grandchildren(x)],false)] -\free{d6 }\bound{d7 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDatabasePageEmpty9} -\begin{paste}{ugUserDatabasePageEmpty9}{ugUserDatabasePagePatch9} -\pastebutton{ugUserDatabasePageEmpty9}{\showpaste} -\tab{5}\spadcommand{greatGrandParents == [x for x in people | - reduce(_or,[not empty? children(y) for y in grandchildren(x)],false)] -\free{d6 }\bound{d7 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserDatabasePagePatch10} -\begin{paste}{ugUserDatabasePageFull10}{ugUserDatabasePageEmpty10} -\pastebutton{ugUserDatabasePageFull10}{\hidepaste} -\tab{5}\spadcommand{descendants(x) == - kids := children(x) - null kids => [x] - concat(x,reduce(concat,[descendants(y) - for y in kids],[])) -\free{d5 }\bound{d6 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDatabasePageEmpty10} -\begin{paste}{ugUserDatabasePageEmpty10}{ugUserDatabasePagePatch10} -\pastebutton{ugUserDatabasePageEmpty10}{\showpaste} -\tab{5}\spadcommand{descendants(x) == - kids := children(x) - null kids => [x] - concat(x,reduce(concat,[descendants(y) - for y in kids],[])) -\free{d5 }\bound{d6 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserDatabasePagePatch11} -\begin{paste}{ugUserDatabasePageFull11}{ugUserDatabasePageEmpty11} -\pastebutton{ugUserDatabasePageFull11}{\hidepaste} -\tab{5}\spadcommand{people == descendants "albert"\free{d4 }\bound{d5 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDatabasePageEmpty11} -\begin{paste}{ugUserDatabasePageEmpty11}{ugUserDatabasePagePatch11} -\pastebutton{ugUserDatabasePageEmpty11}{\showpaste} -\tab{5}\spadcommand{people == descendants "albert"\free{d4 }\bound{d5 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserDatabasePagePatch12} -\begin{paste}{ugUserDatabasePageFull12}{ugUserDatabasePageEmpty12} -\pastebutton{ugUserDatabasePageFull12}{\hidepaste} -\tab{5}\spadcommand{grandchildren "richard"\bound{d10 }\free{d11 }} -\indentrel{3}\begin{verbatim} - (12) ["dougie","valerie"] - Type: List String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDatabasePageEmpty12} -\begin{paste}{ugUserDatabasePageEmpty12}{ugUserDatabasePagePatch12} -\pastebutton{ugUserDatabasePageEmpty12}{\showpaste} -\tab{5}\spadcommand{grandchildren "richard"\bound{d10 }\free{d11 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserDatabasePagePatch13} -\begin{paste}{ugUserDatabasePageFull13}{ugUserDatabasePageEmpty13} -\pastebutton{ugUserDatabasePageFull13}{\hidepaste} -\tab{5}\spadcommand{greatGrandParents\bound{d11 }\free{d12 }} -\indentrel{3}\begin{verbatim} - (13) ["albert"] - Type: List String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserDatabasePageEmpty13} -\begin{paste}{ugUserDatabasePageEmpty13}{ugUserDatabasePagePatch13} -\pastebutton{ugUserDatabasePageEmpty13}{\showpaste} -\tab{5}\spadcommand{greatGrandParents\bound{d11 }\free{d12 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserTrianglePagePatch1} -\begin{paste}{ugUserTrianglePageFull1}{ugUserTrianglePageEmpty1} -\pastebutton{ugUserTrianglePageFull1}{\hidepaste} -\tab{5}\spadcommand{)set expose add constructor OutputForm\bound{expose }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserTrianglePageEmpty1} -\begin{paste}{ugUserTrianglePageEmpty1}{ugUserTrianglePagePatch1} -\pastebutton{ugUserTrianglePageEmpty1}{\showpaste} -\tab{5}\spadcommand{)set expose add constructor OutputForm\bound{expose }} -\end{paste}\end{patch} - -\begin{patch}{ugUserTrianglePagePatch2} -\begin{paste}{ugUserTrianglePageFull2}{ugUserTrianglePageEmpty2} -\pastebutton{ugUserTrianglePageFull2}{\hidepaste} -\tab{5}\spadcommand{pascal(1,i) == 1\bound{pas1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserTrianglePageEmpty2} -\begin{paste}{ugUserTrianglePageEmpty2}{ugUserTrianglePagePatch2} -\pastebutton{ugUserTrianglePageEmpty2}{\showpaste} -\tab{5}\spadcommand{pascal(1,i) == 1\bound{pas1 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserTrianglePagePatch3} -\begin{paste}{ugUserTrianglePageFull3}{ugUserTrianglePageEmpty3} -\pastebutton{ugUserTrianglePageFull3}{\hidepaste} -\tab{5}\spadcommand{pascal(n,n) == 1\bound{pas2 }\free{pas1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserTrianglePageEmpty3} -\begin{paste}{ugUserTrianglePageEmpty3}{ugUserTrianglePagePatch3} -\pastebutton{ugUserTrianglePageEmpty3}{\showpaste} -\tab{5}\spadcommand{pascal(n,n) == 1\bound{pas2 }\free{pas1 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserTrianglePagePatch4} -\begin{paste}{ugUserTrianglePageFull4}{ugUserTrianglePageEmpty4} -\pastebutton{ugUserTrianglePageFull4}{\hidepaste} -\tab{5}\spadcommand{pascal(i,j | 1 < i and i < j) == - pascal(i-1,j-1)+pascal(i,j-1) -\bound{pas3 }\free{pas1 pas2 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserTrianglePageEmpty4} -\begin{paste}{ugUserTrianglePageEmpty4}{ugUserTrianglePagePatch4} -\pastebutton{ugUserTrianglePageEmpty4}{\showpaste} -\tab{5}\spadcommand{pascal(i,j | 1 < i and i < j) == - pascal(i-1,j-1)+pascal(i,j-1) -\bound{pas3 }\free{pas1 pas2 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserTrianglePagePatch5} -\begin{paste}{ugUserTrianglePageFull5}{ugUserTrianglePageEmpty5} -\pastebutton{ugUserTrianglePageFull5}{\hidepaste} -\tab{5}\spadcommand{pascalRow(n) == [pascal(i,n) for i in 1..n]\bound{pascalRow }\free{pas3 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserTrianglePageEmpty5} -\begin{paste}{ugUserTrianglePageEmpty5}{ugUserTrianglePagePatch5} -\pastebutton{ugUserTrianglePageEmpty5}{\showpaste} -\tab{5}\spadcommand{pascalRow(n) == [pascal(i,n) for i in 1..n]\bound{pascalRow }\free{pas3 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserTrianglePagePatch6} -\begin{paste}{ugUserTrianglePageFull6}{ugUserTrianglePageEmpty6} -\pastebutton{ugUserTrianglePageFull6}{\hidepaste} -\tab{5}\spadcommand{displayRow(n) == output center blankSeparate pascalRow(n)\free{pascalRow }\bound{displayRow }\free{expose }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserTrianglePageEmpty6} -\begin{paste}{ugUserTrianglePageEmpty6}{ugUserTrianglePagePatch6} -\pastebutton{ugUserTrianglePageEmpty6}{\showpaste} -\tab{5}\spadcommand{displayRow(n) == output center blankSeparate pascalRow(n)\free{pascalRow }\bound{displayRow }\free{expose }} -\end{paste}\end{patch} - -\begin{patch}{ugUserTrianglePagePatch7} -\begin{paste}{ugUserTrianglePageFull7}{ugUserTrianglePageEmpty7} -\pastebutton{ugUserTrianglePageFull7}{\hidepaste} -\tab{5}\spadcommand{for i in 1..7 repeat displayRow i\free{displayRow }} -\indentrel{3}\begin{verbatim} - 1 - 1 1 - 1 2 1 - 1 3 3 1 - 1 4 6 4 1 - 1 5 10 10 5 1 - 1 6 15 20 15 6 1 - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserTrianglePageEmpty7} -\begin{paste}{ugUserTrianglePageEmpty7}{ugUserTrianglePagePatch7} -\pastebutton{ugUserTrianglePageEmpty7}{\showpaste} -\tab{5}\spadcommand{for i in 1..7 repeat displayRow i\free{displayRow }} -\end{paste}\end{patch} - -\begin{patch}{ugUserTrianglePagePatch8} -\begin{paste}{ugUserTrianglePageFull8}{ugUserTrianglePageEmpty8} -\pastebutton{ugUserTrianglePageFull8}{\hidepaste} -\tab{5}\spadcommand{pascalRow(n) == [right(pascal(i,n),4) for i in 1..n]\bound{pascalRow2 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserTrianglePageEmpty8} -\begin{paste}{ugUserTrianglePageEmpty8}{ugUserTrianglePagePatch8} -\pastebutton{ugUserTrianglePageEmpty8}{\showpaste} -\tab{5}\spadcommand{pascalRow(n) == [right(pascal(i,n),4) for i in 1..n]\bound{pascalRow2 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserTrianglePagePatch9} -\begin{paste}{ugUserTrianglePageFull9}{ugUserTrianglePageEmpty9} -\pastebutton{ugUserTrianglePageFull9}{\hidepaste} -\tab{5}\spadcommand{for i in 1..7 repeat displayRow i\free{pascalRow2 }\free{displayRow }} -\indentrel{3}\begin{verbatim} - 1 - 1 1 - 1 2 1 - 1 3 3 1 - 1 4 6 4 1 - 1 5 10 10 5 1 - 1 6 15 20 15 6 1 - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserTrianglePageEmpty9} -\begin{paste}{ugUserTrianglePageEmpty9}{ugUserTrianglePagePatch9} -\pastebutton{ugUserTrianglePageEmpty9}{\showpaste} -\tab{5}\spadcommand{for i in 1..7 repeat displayRow i\free{pascalRow2 }\free{displayRow }} -\end{paste}\end{patch} - -\begin{patch}{ugUserTrianglePagePatch10} -\begin{paste}{ugUserTrianglePageFull10}{ugUserTrianglePageEmpty10} -\pastebutton{ugUserTrianglePageFull10}{\hidepaste} -\tab{5}\spadcommand{)set expose drop constructor OutputForm} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserTrianglePageEmpty10} -\begin{paste}{ugUserTrianglePageEmpty10}{ugUserTrianglePagePatch10} -\pastebutton{ugUserTrianglePageEmpty10}{\showpaste} -\tab{5}\spadcommand{)set expose drop constructor OutputForm} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch1} -\begin{paste}{ugUserFreeLocalPageFull1}{ugUserFreeLocalPageEmpty1} -\pastebutton{ugUserFreeLocalPageFull1}{\hidepaste} -\tab{5}\spadcommand{counter := 0\bound{counter }} -\indentrel{3}\begin{verbatim} - (1) 0 - Type: NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty1} -\begin{paste}{ugUserFreeLocalPageEmpty1}{ugUserFreeLocalPagePatch1} -\pastebutton{ugUserFreeLocalPageEmpty1}{\showpaste} -\tab{5}\spadcommand{counter := 0\bound{counter }} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch2} -\begin{paste}{ugUserFreeLocalPageFull2}{ugUserFreeLocalPageEmpty2} -\pastebutton{ugUserFreeLocalPageFull2}{\hidepaste} -\tab{5}\spadcommand{f() == - free counter - counter := counter + 1 -\free{counter }\bound{f }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty2} -\begin{paste}{ugUserFreeLocalPageEmpty2}{ugUserFreeLocalPagePatch2} -\pastebutton{ugUserFreeLocalPageEmpty2}{\showpaste} -\tab{5}\spadcommand{f() == - free counter - counter := counter + 1 -\free{counter }\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch3} -\begin{paste}{ugUserFreeLocalPageFull3}{ugUserFreeLocalPageEmpty3} -\pastebutton{ugUserFreeLocalPageFull3}{\hidepaste} -\tab{5}\spadcommand{f()\free{f }\bound{f1 }} -\indentrel{3}\begin{verbatim} - (3) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty3} -\begin{paste}{ugUserFreeLocalPageEmpty3}{ugUserFreeLocalPagePatch3} -\pastebutton{ugUserFreeLocalPageEmpty3}{\showpaste} -\tab{5}\spadcommand{f()\free{f }\bound{f1 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch4} -\begin{paste}{ugUserFreeLocalPageFull4}{ugUserFreeLocalPageEmpty4} -\pastebutton{ugUserFreeLocalPageFull4}{\hidepaste} -\tab{5}\spadcommand{counter\free{f1 }} -\indentrel{3}\begin{verbatim} - (4) 1 - Type: NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty4} -\begin{paste}{ugUserFreeLocalPageEmpty4}{ugUserFreeLocalPagePatch4} -\pastebutton{ugUserFreeLocalPageEmpty4}{\showpaste} -\tab{5}\spadcommand{counter\free{f1 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch5} -\begin{paste}{ugUserFreeLocalPageFull5}{ugUserFreeLocalPageEmpty5} -\pastebutton{ugUserFreeLocalPageFull5}{\hidepaste} -\tab{5}\spadcommand{g() == - local counter - counter := 7 -\bound{g }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty5} -\begin{paste}{ugUserFreeLocalPageEmpty5}{ugUserFreeLocalPagePatch5} -\pastebutton{ugUserFreeLocalPageEmpty5}{\showpaste} -\tab{5}\spadcommand{g() == - local counter - counter := 7 -\bound{g }} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch6} -\begin{paste}{ugUserFreeLocalPageFull6}{ugUserFreeLocalPageEmpty6} -\pastebutton{ugUserFreeLocalPageFull6}{\hidepaste} -\tab{5}\spadcommand{g()\free{g }} -\indentrel{3}\begin{verbatim} - (6) 7 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty6} -\begin{paste}{ugUserFreeLocalPageEmpty6}{ugUserFreeLocalPagePatch6} -\pastebutton{ugUserFreeLocalPageEmpty6}{\showpaste} -\tab{5}\spadcommand{g()\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch7} -\begin{paste}{ugUserFreeLocalPageFull7}{ugUserFreeLocalPageEmpty7} -\pastebutton{ugUserFreeLocalPageFull7}{\hidepaste} -\tab{5}\spadcommand{counter\free{g f1 }} -\indentrel{3}\begin{verbatim} - (7) 1 - Type: NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty7} -\begin{paste}{ugUserFreeLocalPageEmpty7}{ugUserFreeLocalPagePatch7} -\pastebutton{ugUserFreeLocalPageEmpty7}{\showpaste} -\tab{5}\spadcommand{counter\free{g f1 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch8} -\begin{paste}{ugUserFreeLocalPageFull8}{ugUserFreeLocalPageEmpty8} -\pastebutton{ugUserFreeLocalPageFull8}{\hidepaste} -\tab{5}\spadcommand{a := b := 1\bound{ab1 }} -\indentrel{3}\begin{verbatim} - (8) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty8} -\begin{paste}{ugUserFreeLocalPageEmpty8}{ugUserFreeLocalPagePatch8} -\pastebutton{ugUserFreeLocalPageEmpty8}{\showpaste} -\tab{5}\spadcommand{a := b := 1\bound{ab1 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch9} -\begin{paste}{ugUserFreeLocalPageFull9}{ugUserFreeLocalPageEmpty9} -\pastebutton{ugUserFreeLocalPageFull9}{\hidepaste} -\tab{5}\spadcommand{h() == - b := a + 1 - a := b + a -\bound{hh }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty9} -\begin{paste}{ugUserFreeLocalPageEmpty9}{ugUserFreeLocalPagePatch9} -\pastebutton{ugUserFreeLocalPageEmpty9}{\showpaste} -\tab{5}\spadcommand{h() == - b := a + 1 - a := b + a -\bound{hh }} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch10} -\begin{paste}{ugUserFreeLocalPageFull10}{ugUserFreeLocalPageEmpty10} -\pastebutton{ugUserFreeLocalPageFull10}{\hidepaste} -\tab{5}\spadcommand{h()\free{ab1 hh }\bound{hhh }} -\indentrel{3}\begin{verbatim} - (10) 3 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty10} -\begin{paste}{ugUserFreeLocalPageEmpty10}{ugUserFreeLocalPagePatch10} -\pastebutton{ugUserFreeLocalPageEmpty10}{\showpaste} -\tab{5}\spadcommand{h()\free{ab1 hh }\bound{hhh }} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch11} -\begin{paste}{ugUserFreeLocalPageFull11}{ugUserFreeLocalPageEmpty11} -\pastebutton{ugUserFreeLocalPageFull11}{\hidepaste} -\tab{5}\spadcommand{[a, b]\free{hhh }} -\indentrel{3}\begin{verbatim} - (11) [3,1] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty11} -\begin{paste}{ugUserFreeLocalPageEmpty11}{ugUserFreeLocalPagePatch11} -\pastebutton{ugUserFreeLocalPageEmpty11}{\showpaste} -\tab{5}\spadcommand{[a, b]\free{hhh }} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch12} -\begin{paste}{ugUserFreeLocalPageFull12}{ugUserFreeLocalPageEmpty12} -\pastebutton{ugUserFreeLocalPageFull12}{\hidepaste} -\tab{5}\spadcommand{)set fun cache all p\bound{pcache }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty12} -\begin{paste}{ugUserFreeLocalPageEmpty12}{ugUserFreeLocalPagePatch12} -\pastebutton{ugUserFreeLocalPageEmpty12}{\showpaste} -\tab{5}\spadcommand{)set fun cache all p\bound{pcache }} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch13} -\begin{paste}{ugUserFreeLocalPageFull13}{ugUserFreeLocalPageEmpty13} -\pastebutton{ugUserFreeLocalPageFull13}{\hidepaste} -\tab{5}\spadcommand{p(i,x) == ( free N; reduce( + , [ (x-i)**n for n in 1..N ] ) )\free{pcache }\bound{pdef }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty13} -\begin{paste}{ugUserFreeLocalPageEmpty13}{ugUserFreeLocalPagePatch13} -\pastebutton{ugUserFreeLocalPageEmpty13}{\showpaste} -\tab{5}\spadcommand{p(i,x) == ( free N; reduce( + , [ (x-i)**n for n in 1..N ] ) )\free{pcache }\bound{pdef }} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch14} -\begin{paste}{ugUserFreeLocalPageFull14}{ugUserFreeLocalPageEmpty14} -\pastebutton{ugUserFreeLocalPageFull14}{\hidepaste} -\tab{5}\spadcommand{N := 1\bound{Nass }} -\indentrel{3}\begin{verbatim} - (13) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty14} -\begin{paste}{ugUserFreeLocalPageEmpty14}{ugUserFreeLocalPagePatch14} -\pastebutton{ugUserFreeLocalPageEmpty14}{\showpaste} -\tab{5}\spadcommand{N := 1\bound{Nass }} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch15} -\begin{paste}{ugUserFreeLocalPageFull15}{ugUserFreeLocalPageEmpty15} -\pastebutton{ugUserFreeLocalPageFull15}{\hidepaste} -\tab{5}\spadcommand{p(0, x)\free{pdef Nass }\bound{pfirst }} -\indentrel{3}\begin{verbatim} - (14) x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty15} -\begin{paste}{ugUserFreeLocalPageEmpty15}{ugUserFreeLocalPagePatch15} -\pastebutton{ugUserFreeLocalPageEmpty15}{\showpaste} -\tab{5}\spadcommand{p(0, x)\free{pdef Nass }\bound{pfirst }} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch16} -\begin{paste}{ugUserFreeLocalPageFull16}{ugUserFreeLocalPageEmpty16} -\pastebutton{ugUserFreeLocalPageFull16}{\hidepaste} -\tab{5}\spadcommand{N := 2\bound{Nass2 }} -\indentrel{3}\begin{verbatim} - (15) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty16} -\begin{paste}{ugUserFreeLocalPageEmpty16}{ugUserFreeLocalPagePatch16} -\pastebutton{ugUserFreeLocalPageEmpty16}{\showpaste} -\tab{5}\spadcommand{N := 2\bound{Nass2 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch17} -\begin{paste}{ugUserFreeLocalPageFull17}{ugUserFreeLocalPageEmpty17} -\pastebutton{ugUserFreeLocalPageFull17}{\hidepaste} -\tab{5}\spadcommand{p(0, x)\free{pfirst Nass2 }} -\indentrel{3}\begin{verbatim} - (16) x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty17} -\begin{paste}{ugUserFreeLocalPageEmpty17}{ugUserFreeLocalPagePatch17} -\pastebutton{ugUserFreeLocalPageEmpty17}{\showpaste} -\tab{5}\spadcommand{p(0, x)\free{pfirst Nass2 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch18} -\begin{paste}{ugUserFreeLocalPageFull18}{ugUserFreeLocalPageEmpty18} -\pastebutton{ugUserFreeLocalPageFull18}{\hidepaste} -\tab{5}\spadcommand{)set fun cache 0 p} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty18} -\begin{paste}{ugUserFreeLocalPageEmpty18}{ugUserFreeLocalPagePatch18} -\pastebutton{ugUserFreeLocalPageEmpty18}{\showpaste} -\tab{5}\spadcommand{)set fun cache 0 p} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch19} -\begin{paste}{ugUserFreeLocalPageFull19}{ugUserFreeLocalPageEmpty19} -\pastebutton{ugUserFreeLocalPageFull19}{\hidepaste} -\tab{5}\spadcommand{r : Record(i : Integer) := [1]\free{r }} -\indentrel{3}\begin{verbatim} - (17) [i= 1] - Type: Record(i: Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty19} -\begin{paste}{ugUserFreeLocalPageEmpty19}{ugUserFreeLocalPagePatch19} -\pastebutton{ugUserFreeLocalPageEmpty19}{\showpaste} -\tab{5}\spadcommand{r : Record(i : Integer) := [1]\free{r }} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch20} -\begin{paste}{ugUserFreeLocalPageFull20}{ugUserFreeLocalPageEmpty20} -\pastebutton{ugUserFreeLocalPageFull20}{\hidepaste} -\tab{5}\spadcommand{resetRecord rr == - rr.i := 2 - rr := [10] -\bound{resetRecord }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty20} -\begin{paste}{ugUserFreeLocalPageEmpty20}{ugUserFreeLocalPagePatch20} -\pastebutton{ugUserFreeLocalPageEmpty20}{\showpaste} -\tab{5}\spadcommand{resetRecord rr == - rr.i := 2 - rr := [10] -\bound{resetRecord }} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch21} -\begin{paste}{ugUserFreeLocalPageFull21}{ugUserFreeLocalPageEmpty21} -\pastebutton{ugUserFreeLocalPageFull21}{\hidepaste} -\tab{5}\spadcommand{resetRecord r\free{r resetRecord }\bound{rr }} -\indentrel{3}\begin{verbatim} - (19) [i= 10] - Type: Record(i: Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty21} -\begin{paste}{ugUserFreeLocalPageEmpty21}{ugUserFreeLocalPagePatch21} -\pastebutton{ugUserFreeLocalPageEmpty21}{\showpaste} -\tab{5}\spadcommand{resetRecord r\free{r resetRecord }\bound{rr }} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch22} -\begin{paste}{ugUserFreeLocalPageFull22}{ugUserFreeLocalPageEmpty22} -\pastebutton{ugUserFreeLocalPageFull22}{\hidepaste} -\tab{5}\spadcommand{r\free{rr }} -\indentrel{3}\begin{verbatim} - (20) [i= 2] - Type: Record(i: Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty22} -\begin{paste}{ugUserFreeLocalPageEmpty22}{ugUserFreeLocalPagePatch22} -\pastebutton{ugUserFreeLocalPageEmpty22}{\showpaste} -\tab{5}\spadcommand{r\free{rr }} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch23} -\begin{paste}{ugUserFreeLocalPageFull23}{ugUserFreeLocalPageEmpty23} -\pastebutton{ugUserFreeLocalPageFull23}{\hidepaste} -\tab{5}\spadcommand{past := present := 1\bound{f0 }} -\indentrel{3}\begin{verbatim} - (21) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty23} -\begin{paste}{ugUserFreeLocalPageEmpty23}{ugUserFreeLocalPagePatch23} -\pastebutton{ugUserFreeLocalPageEmpty23}{\showpaste} -\tab{5}\spadcommand{past := present := 1\bound{f0 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch24} -\begin{paste}{ugUserFreeLocalPageFull24}{ugUserFreeLocalPageEmpty24} -\pastebutton{ugUserFreeLocalPageFull24}{\hidepaste} -\tab{5}\spadcommand{index := 2\bound{f1 }\free{f0 }} -\indentrel{3}\begin{verbatim} - (22) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty24} -\begin{paste}{ugUserFreeLocalPageEmpty24}{ugUserFreeLocalPagePatch24} -\pastebutton{ugUserFreeLocalPageEmpty24}{\showpaste} -\tab{5}\spadcommand{index := 2\bound{f1 }\free{f0 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch25} -\begin{paste}{ugUserFreeLocalPageFull25}{ugUserFreeLocalPageEmpty25} -\pastebutton{ugUserFreeLocalPageFull25}{\hidepaste} -\tab{5}\spadcommand{fib(n) == - free past, present, index - n < 3 => 1 - n = index - 1 => past - if n < index-1 then - (past,present) := (1,1) - index := 2 - while (index < n) repeat - (past,present) := (present, past+present) - index := index + 1 - present -\bound{f3 }\free{f2 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty25} -\begin{paste}{ugUserFreeLocalPageEmpty25}{ugUserFreeLocalPagePatch25} -\pastebutton{ugUserFreeLocalPageEmpty25}{\showpaste} -\tab{5}\spadcommand{fib(n) == - free past, present, index - n < 3 => 1 - n = index - 1 => past - if n < index-1 then - (past,present) := (1,1) - index := 2 - while (index < n) repeat - (past,present) := (present, past+present) - index := index + 1 - present -\bound{f3 }\free{f2 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch26} -\begin{paste}{ugUserFreeLocalPageFull26}{ugUserFreeLocalPageEmpty26} -\pastebutton{ugUserFreeLocalPageFull26}{\hidepaste} -\tab{5}\spadcommand{fibs := [fib(n) for n in 1..]\bound{fibs }\free{f3 }} -\indentrel{3}\begin{verbatim} - (24) [1,1,2,3,5,8,13,21,34,55,...] - Type: Stream PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty26} -\begin{paste}{ugUserFreeLocalPageEmpty26}{ugUserFreeLocalPagePatch26} -\pastebutton{ugUserFreeLocalPageEmpty26}{\showpaste} -\tab{5}\spadcommand{fibs := [fib(n) for n in 1..]\bound{fibs }\free{f3 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPagePatch27} -\begin{paste}{ugUserFreeLocalPageFull27}{ugUserFreeLocalPageEmpty27} -\pastebutton{ugUserFreeLocalPageFull27}{\hidepaste} -\tab{5}\spadcommand{fibs 1000\free{fibs }} -\indentrel{3}\begin{verbatim} - (25) - 434665576869374564356885276750406258025646605173717804_ - 02481729089536555417949051890403879840079255169295922_ - 59308032263477520968962323987332247116164299644090653_ - 3187938298969649928516003704476137795166849228875 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserFreeLocalPageEmpty27} -\begin{paste}{ugUserFreeLocalPageEmpty27}{ugUserFreeLocalPagePatch27} -\pastebutton{ugUserFreeLocalPageEmpty27}{\showpaste} -\tab{5}\spadcommand{fibs 1000\free{fibs }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePredPagePatch1} -\begin{paste}{ugUserPiecePredPageFull1}{ugUserPiecePredPageEmpty1} -\pastebutton{ugUserPiecePredPageFull1}{\hidepaste} -\tab{5}\spadcommand{opposite 'right == 'left} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePredPageEmpty1} -\begin{paste}{ugUserPiecePredPageEmpty1}{ugUserPiecePredPagePatch1} -\pastebutton{ugUserPiecePredPageEmpty1}{\showpaste} -\tab{5}\spadcommand{opposite 'right == 'left} -\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePredPagePatch2} -\begin{paste}{ugUserPiecePredPageFull2}{ugUserPiecePredPageEmpty2} -\pastebutton{ugUserPiecePredPageFull2}{\hidepaste} -\tab{5}\spadcommand{opposite (x | x = 'left) == 'right} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePredPageEmpty2} -\begin{paste}{ugUserPiecePredPageEmpty2}{ugUserPiecePredPagePatch2} -\pastebutton{ugUserPiecePredPageEmpty2}{\showpaste} -\tab{5}\spadcommand{opposite (x | x = 'left) == 'right} -\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePredPagePatch3} -\begin{paste}{ugUserPiecePredPageFull3}{ugUserPiecePredPageEmpty3} -\pastebutton{ugUserPiecePredPageFull3}{\hidepaste} -\tab{5}\spadcommand{for x in ['right,'left,'inbetween] repeat output opposite x} -\indentrel{3}\begin{verbatim} - left - right -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePredPageEmpty3} -\begin{paste}{ugUserPiecePredPageEmpty3}{ugUserPiecePredPagePatch3} -\pastebutton{ugUserPiecePredPageEmpty3}{\showpaste} -\tab{5}\spadcommand{for x in ['right,'left,'inbetween] repeat output opposite x} -\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePredPagePatch4} -\begin{paste}{ugUserPiecePredPageFull4}{ugUserPiecePredPageEmpty4} -\pastebutton{ugUserPiecePredPageFull4}{\hidepaste} -\tab{5}\spadcommand{inFirstHalfQuadrant(x | x > 0,y | y < x) == true} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePredPageEmpty4} -\begin{paste}{ugUserPiecePredPageEmpty4}{ugUserPiecePredPagePatch4} -\pastebutton{ugUserPiecePredPageEmpty4}{\showpaste} -\tab{5}\spadcommand{inFirstHalfQuadrant(x | x > 0,y | y < x) == true} -\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePredPagePatch5} -\begin{paste}{ugUserPiecePredPageFull5}{ugUserPiecePredPageEmpty5} -\pastebutton{ugUserPiecePredPageFull5}{\hidepaste} -\tab{5}\spadcommand{inFirstHalfQuadrant(x | x > 0 and y < x,y) == true} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePredPageEmpty5} -\begin{paste}{ugUserPiecePredPageEmpty5}{ugUserPiecePredPagePatch5} -\pastebutton{ugUserPiecePredPageEmpty5}{\showpaste} -\tab{5}\spadcommand{inFirstHalfQuadrant(x | x > 0 and y < x,y) == true} -\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePredPagePatch6} -\begin{paste}{ugUserPiecePredPageFull6}{ugUserPiecePredPageEmpty6} -\pastebutton{ugUserPiecePredPageFull6}{\hidepaste} -\tab{5}\spadcommand{inFirstHalfQuadrant(x,y | x > 0 and y < x) == true\bound{ifq1a }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePredPageEmpty6} -\begin{paste}{ugUserPiecePredPageEmpty6}{ugUserPiecePredPagePatch6} -\pastebutton{ugUserPiecePredPageEmpty6}{\showpaste} -\tab{5}\spadcommand{inFirstHalfQuadrant(x,y | x > 0 and y < x) == true\bound{ifq1a }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePredPagePatch7} -\begin{paste}{ugUserPiecePredPageFull7}{ugUserPiecePredPageEmpty7} -\pastebutton{ugUserPiecePredPageFull7}{\hidepaste} -\tab{5}\spadcommand{inFirstHalfQuadrant(x,y) == false\bound{ifq1b }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePredPageEmpty7} -\begin{paste}{ugUserPiecePredPageEmpty7}{ugUserPiecePredPagePatch7} -\pastebutton{ugUserPiecePredPageEmpty7}{\showpaste} -\tab{5}\spadcommand{inFirstHalfQuadrant(x,y) == false\bound{ifq1b }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePredPagePatch8} -\begin{paste}{ugUserPiecePredPageFull8}{ugUserPiecePredPageEmpty8} -\pastebutton{ugUserPiecePredPageFull8}{\hidepaste} -\tab{5}\spadcommand{[inFirstHalfQuadrant(i,3) for i in 1..5]\bound{ifq1b }} -\indentrel{3}\begin{verbatim} - (7) [false,false,false,true,true] - Type: List Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPiecePredPageEmpty8} -\begin{paste}{ugUserPiecePredPageEmpty8}{ugUserPiecePredPagePatch8} -\pastebutton{ugUserPiecePredPageEmpty8}{\showpaste} -\tab{5}\spadcommand{[inFirstHalfQuadrant(i,3) for i in 1..5]\bound{ifq1b }} -\end{paste}\end{patch} - -\begin{patch}{ugUserAnonExampPagePatch1} -\begin{paste}{ugUserAnonExampPageFull1}{ugUserAnonExampPageEmpty1} -\pastebutton{ugUserAnonExampPageFull1}{\hidepaste} -\tab{5}\spadcommand{x +-> if x < 0 then -x else x\bound{anon0 }} -\indentrel{3}\begin{verbatim} - (1) - x - +-> - if x < 0 - then - x - else x - Type: AnonymousFunction -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserAnonExampPageEmpty1} -\begin{paste}{ugUserAnonExampPageEmpty1}{ugUserAnonExampPagePatch1} -\pastebutton{ugUserAnonExampPageEmpty1}{\showpaste} -\tab{5}\spadcommand{x +-> if x < 0 then -x else x\bound{anon0 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserAnonExampPagePatch2} -\begin{paste}{ugUserAnonExampPageFull2}{ugUserAnonExampPageEmpty2} -\pastebutton{ugUserAnonExampPageFull2}{\hidepaste} -\tab{5}\spadcommand{abs1 := \%\free{anon0 }\bound{abs1 }} -\indentrel{3}\begin{verbatim} - (2) - x - +-> - if x < 0 - then - x - else x - Type: AnonymousFunction -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserAnonExampPageEmpty2} -\begin{paste}{ugUserAnonExampPageEmpty2}{ugUserAnonExampPagePatch2} -\pastebutton{ugUserAnonExampPageEmpty2}{\showpaste} -\tab{5}\spadcommand{abs1 := \%\free{anon0 }\bound{abs1 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserAnonExampPagePatch3} -\begin{paste}{ugUserAnonExampPageFull3}{ugUserAnonExampPageEmpty3} -\pastebutton{ugUserAnonExampPageFull3}{\hidepaste} -\tab{5}\spadcommand{(x,y) +-> abs1(x) > abs1(y)\bound{anon1 }\free{abs1 }} -\indentrel{3}\begin{verbatim} - (3) (x,y) +-> abs1(y) < abs1(x) - Type: AnonymousFunction -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserAnonExampPageEmpty3} -\begin{paste}{ugUserAnonExampPageEmpty3}{ugUserAnonExampPagePatch3} -\pastebutton{ugUserAnonExampPageEmpty3}{\showpaste} -\tab{5}\spadcommand{(x,y) +-> abs1(x) > abs1(y)\bound{anon1 }\free{abs1 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserAnonExampPagePatch4} -\begin{paste}{ugUserAnonExampPageFull4}{ugUserAnonExampPageEmpty4} -\pastebutton{ugUserAnonExampPageFull4}{\hidepaste} -\tab{5}\spadcommand{sort(\%,[3,9,-4,10,-3,-1,-9,5])\free{anon1 }} -\indentrel{3}\begin{verbatim} - (4) [10,- 9,9,5,- 4,- 3,3,- 1] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserAnonExampPageEmpty4} -\begin{paste}{ugUserAnonExampPageEmpty4}{ugUserAnonExampPagePatch4} -\pastebutton{ugUserAnonExampPageEmpty4}{\showpaste} -\tab{5}\spadcommand{sort(\%,[3,9,-4,10,-3,-1,-9,5])\free{anon1 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserAnonExampPagePatch5} -\begin{paste}{ugUserAnonExampPageFull5}{ugUserAnonExampPageEmpty5} -\pastebutton{ugUserAnonExampPageFull5}{\hidepaste} -\tab{5}\spadcommand{ev := ( (i,j) +-> if even?(i+j) then 1 else -1)\bound{ev }} -\indentrel{3}\begin{verbatim} - (5) - (i,j) - +-> - if even?(i + j) - then 1 - else - 1 - Type: AnonymousFunction -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserAnonExampPageEmpty5} -\begin{paste}{ugUserAnonExampPageEmpty5}{ugUserAnonExampPagePatch5} -\pastebutton{ugUserAnonExampPageEmpty5}{\showpaste} -\tab{5}\spadcommand{ev := ( (i,j) +-> if even?(i+j) then 1 else -1)\bound{ev }} -\end{paste}\end{patch} - -\begin{patch}{ugUserAnonExampPagePatch6} -\begin{paste}{ugUserAnonExampPageFull6}{ugUserAnonExampPageEmpty6} -\pastebutton{ugUserAnonExampPageFull6}{\hidepaste} -\tab{5}\spadcommand{matrix([[ev(row,col) for row in 1..4] for col in 1..4])\free{ev }} -\indentrel{3}\begin{verbatim} - Ú 1 - 1 1 - 1¿ - ³ ³ - ³- 1 1 - 1 1 ³ - (6) ³ ³ - ³ 1 - 1 1 - 1³ - ³ ³ - À- 1 1 - 1 1 Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserAnonExampPageEmpty6} -\begin{paste}{ugUserAnonExampPageEmpty6}{ugUserAnonExampPagePatch6} -\pastebutton{ugUserAnonExampPageEmpty6}{\showpaste} -\tab{5}\spadcommand{matrix([[ev(row,col) for row in 1..4] for col in 1..4])\free{ev }} -\end{paste}\end{patch} - -\begin{patch}{ugUserAnonExampPagePatch7} -\begin{paste}{ugUserAnonExampPageFull7}{ugUserAnonExampPageEmpty7} -\pastebutton{ugUserAnonExampPageFull7}{\hidepaste} -\tab{5}\spadcommand{( p +-> not one?(gcd(p,D(p,x))) )(x**2+4*x+4)} -\indentrel{3}\begin{verbatim} - (7) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserAnonExampPageEmpty7} -\begin{paste}{ugUserAnonExampPageEmpty7}{ugUserAnonExampPagePatch7} -\pastebutton{ugUserAnonExampPageEmpty7}{\showpaste} -\tab{5}\spadcommand{( p +-> not one?(gcd(p,D(p,x))) )(x**2+4*x+4)} -\end{paste}\end{patch} - -\begin{patch}{ugUserAnonExampPagePatch8} -\begin{paste}{ugUserAnonExampPageFull8}{ugUserAnonExampPageEmpty8} -\pastebutton{ugUserAnonExampPageFull8}{\hidepaste} -\tab{5}\spadcommand{g(x,y,z) == cos(x + sin(y + tan(z)))} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserAnonExampPageEmpty8} -\begin{paste}{ugUserAnonExampPageEmpty8}{ugUserAnonExampPagePatch8} -\pastebutton{ugUserAnonExampPageEmpty8}{\showpaste} -\tab{5}\spadcommand{g(x,y,z) == cos(x + sin(y + tan(z)))} -\end{paste}\end{patch} - -\begin{patch}{ugUserAnonExampPagePatch9} -\begin{paste}{ugUserAnonExampPageFull9}{ugUserAnonExampPageEmpty9} -\pastebutton{ugUserAnonExampPageFull9}{\hidepaste} -\tab{5}\spadcommand{g == (x,y,z) +-> cos(x + sin(y + tan(z)))} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserAnonExampPageEmpty9} -\begin{paste}{ugUserAnonExampPageEmpty9}{ugUserAnonExampPagePatch9} -\pastebutton{ugUserAnonExampPageEmpty9}{\showpaste} -\tab{5}\spadcommand{g == (x,y,z) +-> cos(x + sin(y + tan(z)))} -\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPagePatch1} -\begin{paste}{ugUserPieceBasicPageFull1}{ugUserPieceBasicPageEmpty1} -\pastebutton{ugUserPieceBasicPageFull1}{\hidepaste} -\tab{5}\spadcommand{fact(0) == 1\bound{fact0 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPageEmpty1} -\begin{paste}{ugUserPieceBasicPageEmpty1}{ugUserPieceBasicPagePatch1} -\pastebutton{ugUserPieceBasicPageEmpty1}{\showpaste} -\tab{5}\spadcommand{fact(0) == 1\bound{fact0 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPagePatch2} -\begin{paste}{ugUserPieceBasicPageFull2}{ugUserPieceBasicPageEmpty2} -\pastebutton{ugUserPieceBasicPageFull2}{\hidepaste} -\tab{5}\spadcommand{fact(n | n > 0) == n * fact(n - 1)\free{fact0 }\bound{factn }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPageEmpty2} -\begin{paste}{ugUserPieceBasicPageEmpty2}{ugUserPieceBasicPagePatch2} -\pastebutton{ugUserPieceBasicPageEmpty2}{\showpaste} -\tab{5}\spadcommand{fact(n | n > 0) == n * fact(n - 1)\free{fact0 }\bound{factn }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPagePatch3} -\begin{paste}{ugUserPieceBasicPageFull3}{ugUserPieceBasicPageEmpty3} -\pastebutton{ugUserPieceBasicPageFull3}{\hidepaste} -\tab{5}\spadcommand{fact(3)\free{factn }} -\indentrel{3}\begin{verbatim} - (3) 6 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPageEmpty3} -\begin{paste}{ugUserPieceBasicPageEmpty3}{ugUserPieceBasicPagePatch3} -\pastebutton{ugUserPieceBasicPageEmpty3}{\showpaste} -\tab{5}\spadcommand{fact(3)\free{factn }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPagePatch4} -\begin{paste}{ugUserPieceBasicPageFull4}{ugUserPieceBasicPageEmpty4} -\pastebutton{ugUserPieceBasicPageFull4}{\hidepaste} -\tab{5}\spadcommand{fact(-3)\free{factn }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPageEmpty4} -\begin{paste}{ugUserPieceBasicPageEmpty4}{ugUserPieceBasicPagePatch4} -\pastebutton{ugUserPieceBasicPageEmpty4}{\showpaste} -\tab{5}\spadcommand{fact(-3)\free{factn }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPagePatch5} -\begin{paste}{ugUserPieceBasicPageFull5}{ugUserPieceBasicPageEmpty5} -\pastebutton{ugUserPieceBasicPageFull5}{\hidepaste} -\tab{5}\spadcommand{facto(0) == 1\bound{facto0 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPageEmpty5} -\begin{paste}{ugUserPieceBasicPageEmpty5}{ugUserPieceBasicPagePatch5} -\pastebutton{ugUserPieceBasicPageEmpty5}{\showpaste} -\tab{5}\spadcommand{facto(0) == 1\bound{facto0 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPagePatch6} -\begin{paste}{ugUserPieceBasicPageFull6}{ugUserPieceBasicPageEmpty6} -\pastebutton{ugUserPieceBasicPageFull6}{\hidepaste} -\tab{5}\spadcommand{facto(n | n < 0) == error "arguments to facto must be non-negative"\free{facto0 }\bound{factop }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPageEmpty6} -\begin{paste}{ugUserPieceBasicPageEmpty6}{ugUserPieceBasicPagePatch6} -\pastebutton{ugUserPieceBasicPageEmpty6}{\showpaste} -\tab{5}\spadcommand{facto(n | n < 0) == error "arguments to facto must be non-negative"\free{facto0 }\bound{factop }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPagePatch7} -\begin{paste}{ugUserPieceBasicPageFull7}{ugUserPieceBasicPageEmpty7} -\pastebutton{ugUserPieceBasicPageFull7}{\hidepaste} -\tab{5}\spadcommand{facto(n) == n * facto(n - 1)\free{factop }\bound{facton }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPageEmpty7} -\begin{paste}{ugUserPieceBasicPageEmpty7}{ugUserPieceBasicPagePatch7} -\pastebutton{ugUserPieceBasicPageEmpty7}{\showpaste} -\tab{5}\spadcommand{facto(n) == n * facto(n - 1)\free{factop }\bound{facton }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPagePatch8} -\begin{paste}{ugUserPieceBasicPageFull8}{ugUserPieceBasicPageEmpty8} -\pastebutton{ugUserPieceBasicPageFull8}{\hidepaste} -\tab{5}\spadcommand{facto(3)\free{facton }} -\indentrel{3}\begin{verbatim} - (7) 6 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPageEmpty8} -\begin{paste}{ugUserPieceBasicPageEmpty8}{ugUserPieceBasicPagePatch8} -\pastebutton{ugUserPieceBasicPageEmpty8}{\showpaste} -\tab{5}\spadcommand{facto(3)\free{facton }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPagePatch9} -\begin{paste}{ugUserPieceBasicPageFull9}{ugUserPieceBasicPageEmpty9} -\pastebutton{ugUserPieceBasicPageFull9}{\hidepaste} -\tab{5}\spadcommand{facto(-7)\free{facton }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPageEmpty9} -\begin{paste}{ugUserPieceBasicPageEmpty9}{ugUserPieceBasicPagePatch9} -\pastebutton{ugUserPieceBasicPageEmpty9}{\showpaste} -\tab{5}\spadcommand{facto(-7)\free{facton }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPagePatch10} -\begin{paste}{ugUserPieceBasicPageFull10}{ugUserPieceBasicPageEmpty10} -\pastebutton{ugUserPieceBasicPageFull10}{\hidepaste} -\tab{5}\spadcommand{)display value facto\free{facton }} -\indentrel{3}\begin{verbatim} - Definition: - facto 0 == 1 - facto (n | n < 0) == - error(arguments to facto must be non-negative) - facto n == n facto(n - 1) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPageEmpty10} -\begin{paste}{ugUserPieceBasicPageEmpty10}{ugUserPieceBasicPagePatch10} -\pastebutton{ugUserPieceBasicPageEmpty10}{\showpaste} -\tab{5}\spadcommand{)display value facto\free{facton }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPagePatch11} -\begin{paste}{ugUserPieceBasicPageFull11}{ugUserPieceBasicPageEmpty11} -\pastebutton{ugUserPieceBasicPageFull11}{\hidepaste} -\tab{5}\spadcommand{eleven(n | n < 1) == n + 11\bound{ff0 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPageEmpty11} -\begin{paste}{ugUserPieceBasicPageEmpty11}{ugUserPieceBasicPagePatch11} -\pastebutton{ugUserPieceBasicPageEmpty11}{\showpaste} -\tab{5}\spadcommand{eleven(n | n < 1) == n + 11\bound{ff0 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPagePatch12} -\begin{paste}{ugUserPieceBasicPageFull12}{ugUserPieceBasicPageEmpty12} -\pastebutton{ugUserPieceBasicPageFull12}{\hidepaste} -\tab{5}\spadcommand{eleven(m) == eleven(eleven(m - 12))\bound{ff1 }\free{ff0 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPageEmpty12} -\begin{paste}{ugUserPieceBasicPageEmpty12}{ugUserPieceBasicPagePatch12} -\pastebutton{ugUserPieceBasicPageEmpty12}{\showpaste} -\tab{5}\spadcommand{eleven(m) == eleven(eleven(m - 12))\bound{ff1 }\free{ff0 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPagePatch13} -\begin{paste}{ugUserPieceBasicPageFull13}{ugUserPieceBasicPageEmpty13} -\pastebutton{ugUserPieceBasicPageFull13}{\hidepaste} -\tab{5}\spadcommand{elevens := [eleven(i) for i in 0..]\bound{ff2 }\free{ff1 }} -\indentrel{3}\begin{verbatim} - (10) [11,11,11,11,11,11,11,11,11,11,...] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPageEmpty13} -\begin{paste}{ugUserPieceBasicPageEmpty13}{ugUserPieceBasicPagePatch13} -\pastebutton{ugUserPieceBasicPageEmpty13}{\showpaste} -\tab{5}\spadcommand{elevens := [eleven(i) for i in 0..]\bound{ff2 }\free{ff1 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPagePatch14} -\begin{paste}{ugUserPieceBasicPageFull14}{ugUserPieceBasicPageEmpty14} -\pastebutton{ugUserPieceBasicPageFull14}{\hidepaste} -\tab{5}\spadcommand{elevens 200\free{ff2 }} -\indentrel{3}\begin{verbatim} - (11) 11 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPageEmpty14} -\begin{paste}{ugUserPieceBasicPageEmpty14}{ugUserPieceBasicPagePatch14} -\pastebutton{ugUserPieceBasicPageEmpty14}{\showpaste} -\tab{5}\spadcommand{elevens 200\free{ff2 }} -\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPagePatch15} -\begin{paste}{ugUserPieceBasicPageFull15}{ugUserPieceBasicPageEmpty15} -\pastebutton{ugUserPieceBasicPageFull15}{\hidepaste} -\tab{5}\spadcommand{)display value eleven\free{ff2 }} -\indentrel{3}\begin{verbatim} - Definition: - eleven (m | m < 1) == m + 11 - eleven m == eleven(eleven(m - 12)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugUserPieceBasicPageEmpty15} -\begin{paste}{ugUserPieceBasicPageEmpty15}{ugUserPieceBasicPagePatch15} -\pastebutton{ugUserPieceBasicPageEmpty15}{\showpaste} -\tab{5}\spadcommand{)display value eleven\free{ff2 }} -\end{paste}\end{patch} - diff --git a/books/pages/ug07.pht b/books/pages/ug07.pht deleted file mode 100644 index 3504be7..0000000 --- a/books/pages/ug07.pht +++ /dev/null @@ -1,2386 +0,0 @@ -\begin{patch}{ugGraphTwoDbuildPagePatch1} -\begin{paste}{ugGraphTwoDbuildPageFull1}{ugGraphTwoDbuildPageEmpty1} -\pastebutton{ugGraphTwoDbuildPageFull1}{\hidepaste} -\tab{5}\spadcommand{p1 := point [1,1]$(Point DFLOAT)\bound{p1 }} -\indentrel{3}\begin{verbatim} - (1) [1.0,1.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty1} -\begin{paste}{ugGraphTwoDbuildPageEmpty1}{ugGraphTwoDbuildPagePatch1} -\pastebutton{ugGraphTwoDbuildPageEmpty1}{\showpaste} -\tab{5}\spadcommand{p1 := point [1,1]$(Point DFLOAT)\bound{p1 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch2} -\begin{paste}{ugGraphTwoDbuildPageFull2}{ugGraphTwoDbuildPageEmpty2} -\pastebutton{ugGraphTwoDbuildPageFull2}{\hidepaste} -\tab{5}\spadcommand{p2 := point [0,1]$(Point DFLOAT)\bound{p2 }} -\indentrel{3}\begin{verbatim} - (2) [0.0,1.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty2} -\begin{paste}{ugGraphTwoDbuildPageEmpty2}{ugGraphTwoDbuildPagePatch2} -\pastebutton{ugGraphTwoDbuildPageEmpty2}{\showpaste} -\tab{5}\spadcommand{p2 := point [0,1]$(Point DFLOAT)\bound{p2 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch3} -\begin{paste}{ugGraphTwoDbuildPageFull3}{ugGraphTwoDbuildPageEmpty3} -\pastebutton{ugGraphTwoDbuildPageFull3}{\hidepaste} -\tab{5}\spadcommand{p3 := point [0,0]$(Point DFLOAT)\bound{p3 }} -\indentrel{3}\begin{verbatim} - (3) [0.0,0.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty3} -\begin{paste}{ugGraphTwoDbuildPageEmpty3}{ugGraphTwoDbuildPagePatch3} -\pastebutton{ugGraphTwoDbuildPageEmpty3}{\showpaste} -\tab{5}\spadcommand{p3 := point [0,0]$(Point DFLOAT)\bound{p3 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch4} -\begin{paste}{ugGraphTwoDbuildPageFull4}{ugGraphTwoDbuildPageEmpty4} -\pastebutton{ugGraphTwoDbuildPageFull4}{\hidepaste} -\tab{5}\spadcommand{p4 := point [1,0]$(Point DFLOAT)\bound{p4 }} -\indentrel{3}\begin{verbatim} - (4) [1.0,0.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty4} -\begin{paste}{ugGraphTwoDbuildPageEmpty4}{ugGraphTwoDbuildPagePatch4} -\pastebutton{ugGraphTwoDbuildPageEmpty4}{\showpaste} -\tab{5}\spadcommand{p4 := point [1,0]$(Point DFLOAT)\bound{p4 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch5} -\begin{paste}{ugGraphTwoDbuildPageFull5}{ugGraphTwoDbuildPageEmpty5} -\pastebutton{ugGraphTwoDbuildPageFull5}{\hidepaste} -\tab{5}\spadcommand{p5 := point [1,.5]$(Point DFLOAT)\bound{p5 }} -\indentrel{3}\begin{verbatim} - (5) [1.0,0.5] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty5} -\begin{paste}{ugGraphTwoDbuildPageEmpty5}{ugGraphTwoDbuildPagePatch5} -\pastebutton{ugGraphTwoDbuildPageEmpty5}{\showpaste} -\tab{5}\spadcommand{p5 := point [1,.5]$(Point DFLOAT)\bound{p5 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch6} -\begin{paste}{ugGraphTwoDbuildPageFull6}{ugGraphTwoDbuildPageEmpty6} -\pastebutton{ugGraphTwoDbuildPageFull6}{\hidepaste} -\tab{5}\spadcommand{p6 := point [.5,0]$(Point DFLOAT)\bound{p6 }} -\indentrel{3}\begin{verbatim} - (6) [0.5,0.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty6} -\begin{paste}{ugGraphTwoDbuildPageEmpty6}{ugGraphTwoDbuildPagePatch6} -\pastebutton{ugGraphTwoDbuildPageEmpty6}{\showpaste} -\tab{5}\spadcommand{p6 := point [.5,0]$(Point DFLOAT)\bound{p6 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch7} -\begin{paste}{ugGraphTwoDbuildPageFull7}{ugGraphTwoDbuildPageEmpty7} -\pastebutton{ugGraphTwoDbuildPageFull7}{\hidepaste} -\tab{5}\spadcommand{p7 := point [0,0.5]$(Point DFLOAT)\bound{p7 }} -\indentrel{3}\begin{verbatim} - (7) [0.0,0.5] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty7} -\begin{paste}{ugGraphTwoDbuildPageEmpty7}{ugGraphTwoDbuildPagePatch7} -\pastebutton{ugGraphTwoDbuildPageEmpty7}{\showpaste} -\tab{5}\spadcommand{p7 := point [0,0.5]$(Point DFLOAT)\bound{p7 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch8} -\begin{paste}{ugGraphTwoDbuildPageFull8}{ugGraphTwoDbuildPageEmpty8} -\pastebutton{ugGraphTwoDbuildPageFull8}{\hidepaste} -\tab{5}\spadcommand{p8 := point [.5,1]$(Point DFLOAT)\bound{p8 }} -\indentrel{3}\begin{verbatim} - (8) [0.5,1.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty8} -\begin{paste}{ugGraphTwoDbuildPageEmpty8}{ugGraphTwoDbuildPagePatch8} -\pastebutton{ugGraphTwoDbuildPageEmpty8}{\showpaste} -\tab{5}\spadcommand{p8 := point [.5,1]$(Point DFLOAT)\bound{p8 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch9} -\begin{paste}{ugGraphTwoDbuildPageFull9}{ugGraphTwoDbuildPageEmpty9} -\pastebutton{ugGraphTwoDbuildPageFull9}{\hidepaste} -\tab{5}\spadcommand{p9 := point [.25,.25]$(Point DFLOAT)\bound{p9 }} -\indentrel{3}\begin{verbatim} - (9) [0.25,0.25] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty9} -\begin{paste}{ugGraphTwoDbuildPageEmpty9}{ugGraphTwoDbuildPagePatch9} -\pastebutton{ugGraphTwoDbuildPageEmpty9}{\showpaste} -\tab{5}\spadcommand{p9 := point [.25,.25]$(Point DFLOAT)\bound{p9 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch10} -\begin{paste}{ugGraphTwoDbuildPageFull10}{ugGraphTwoDbuildPageEmpty10} -\pastebutton{ugGraphTwoDbuildPageFull10}{\hidepaste} -\tab{5}\spadcommand{p10 := point [.25,.75]$(Point DFLOAT)\bound{p10 }} -\indentrel{3}\begin{verbatim} - (10) [0.25,0.75] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty10} -\begin{paste}{ugGraphTwoDbuildPageEmpty10}{ugGraphTwoDbuildPagePatch10} -\pastebutton{ugGraphTwoDbuildPageEmpty10}{\showpaste} -\tab{5}\spadcommand{p10 := point [.25,.75]$(Point DFLOAT)\bound{p10 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch11} -\begin{paste}{ugGraphTwoDbuildPageFull11}{ugGraphTwoDbuildPageEmpty11} -\pastebutton{ugGraphTwoDbuildPageFull11}{\hidepaste} -\tab{5}\spadcommand{p11 := point [.75,.75]$(Point DFLOAT)\bound{p11 }} -\indentrel{3}\begin{verbatim} - (11) [0.75,0.75] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty11} -\begin{paste}{ugGraphTwoDbuildPageEmpty11}{ugGraphTwoDbuildPagePatch11} -\pastebutton{ugGraphTwoDbuildPageEmpty11}{\showpaste} -\tab{5}\spadcommand{p11 := point [.75,.75]$(Point DFLOAT)\bound{p11 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch12} -\begin{paste}{ugGraphTwoDbuildPageFull12}{ugGraphTwoDbuildPageEmpty12} -\pastebutton{ugGraphTwoDbuildPageFull12}{\hidepaste} -\tab{5}\spadcommand{p12 := point [.75,.25]$(Point DFLOAT)\bound{p12 }} -\indentrel{3}\begin{verbatim} - (12) [0.75,0.25] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty12} -\begin{paste}{ugGraphTwoDbuildPageEmpty12}{ugGraphTwoDbuildPagePatch12} -\pastebutton{ugGraphTwoDbuildPageEmpty12}{\showpaste} -\tab{5}\spadcommand{p12 := point [.75,.25]$(Point DFLOAT)\bound{p12 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch13} -\begin{paste}{ugGraphTwoDbuildPageFull13}{ugGraphTwoDbuildPageEmpty13} -\pastebutton{ugGraphTwoDbuildPageFull13}{\hidepaste} -\tab{5}\spadcommand{llp := [[p1,p2], [p2,p3], [p3,p4], [p4,p1], [p5,p6], [p6,p7], [p7,p8], [p8,p5], [p9,p10], [p10,p11], [p11,p12], [p12,p9]]\free{p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 }\bound{llp }} -\indentrel{3}\begin{verbatim} - (13) - [[[1.0,1.0],[0.0,1.0]], [[0.0,1.0],[0.0,0.0]], - [[0.0,0.0],[1.0,0.0]], [[1.0,0.0],[1.0,1.0]], - [[1.0,0.5],[0.5,0.0]], [[0.5,0.0],[0.0,0.5]], - [[0.0,0.5],[0.5,1.0]], [[0.5,1.0],[1.0,0.5]], - [[0.25,0.25],[0.25,0.75]], [[0.25,0.75],[0.75,0.75]], - [[0.75,0.75],[0.75,0.25]], [[0.75,0.25],[0.25,0.25]]] - Type: List List Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty13} -\begin{paste}{ugGraphTwoDbuildPageEmpty13}{ugGraphTwoDbuildPagePatch13} -\pastebutton{ugGraphTwoDbuildPageEmpty13}{\showpaste} -\tab{5}\spadcommand{llp := [[p1,p2], [p2,p3], [p3,p4], [p4,p1], [p5,p6], [p6,p7], [p7,p8], [p8,p5], [p9,p10], [p10,p11], [p11,p12], [p12,p9]]\free{p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 }\bound{llp }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch14} -\begin{paste}{ugGraphTwoDbuildPageFull14}{ugGraphTwoDbuildPageEmpty14} -\pastebutton{ugGraphTwoDbuildPageFull14}{\hidepaste} -\tab{5}\spadcommand{size1 := 6::PositiveInteger\bound{size1 }} -\indentrel{3}\begin{verbatim} - (14) 6 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty14} -\begin{paste}{ugGraphTwoDbuildPageEmpty14}{ugGraphTwoDbuildPagePatch14} -\pastebutton{ugGraphTwoDbuildPageEmpty14}{\showpaste} -\tab{5}\spadcommand{size1 := 6::PositiveInteger\bound{size1 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch15} -\begin{paste}{ugGraphTwoDbuildPageFull15}{ugGraphTwoDbuildPageEmpty15} -\pastebutton{ugGraphTwoDbuildPageFull15}{\hidepaste} -\tab{5}\spadcommand{size2 := 8::PositiveInteger\bound{size2 }} -\indentrel{3}\begin{verbatim} - (15) 8 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty15} -\begin{paste}{ugGraphTwoDbuildPageEmpty15}{ugGraphTwoDbuildPagePatch15} -\pastebutton{ugGraphTwoDbuildPageEmpty15}{\showpaste} -\tab{5}\spadcommand{size2 := 8::PositiveInteger\bound{size2 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch16} -\begin{paste}{ugGraphTwoDbuildPageFull16}{ugGraphTwoDbuildPageEmpty16} -\pastebutton{ugGraphTwoDbuildPageFull16}{\hidepaste} -\tab{5}\spadcommand{size3 := 10::PositiveInteger\bound{size3 }} -\indentrel{3}\begin{verbatim} - (16) 10 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty16} -\begin{paste}{ugGraphTwoDbuildPageEmpty16}{ugGraphTwoDbuildPagePatch16} -\pastebutton{ugGraphTwoDbuildPageEmpty16}{\showpaste} -\tab{5}\spadcommand{size3 := 10::PositiveInteger\bound{size3 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch17} -\begin{paste}{ugGraphTwoDbuildPageFull17}{ugGraphTwoDbuildPageEmpty17} -\pastebutton{ugGraphTwoDbuildPageFull17}{\hidepaste} -\tab{5}\spadcommand{lsize := [size1, size1, size1, size1, size2, size2, size2, size2, size3, size3, size3, size3]\bound{lsize }\free{size1 size2 size3 }} -\indentrel{3}\begin{verbatim} - (17) [6,6,6,6,8,8,8,8,10,10,10,10] - Type: List PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty17} -\begin{paste}{ugGraphTwoDbuildPageEmpty17}{ugGraphTwoDbuildPagePatch17} -\pastebutton{ugGraphTwoDbuildPageEmpty17}{\showpaste} -\tab{5}\spadcommand{lsize := [size1, size1, size1, size1, size2, size2, size2, size2, size3, size3, size3, size3]\bound{lsize }\free{size1 size2 size3 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch18} -\begin{paste}{ugGraphTwoDbuildPageFull18}{ugGraphTwoDbuildPageEmpty18} -\pastebutton{ugGraphTwoDbuildPageFull18}{\hidepaste} -\tab{5}\spadcommand{pc1 := pastel red()\bound{pc1 }} -\indentrel{3}\begin{verbatim} - (18) [Hue: 1 Weight: 1.0] from the Pastel palette - Type: Palette -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty18} -\begin{paste}{ugGraphTwoDbuildPageEmpty18}{ugGraphTwoDbuildPagePatch18} -\pastebutton{ugGraphTwoDbuildPageEmpty18}{\showpaste} -\tab{5}\spadcommand{pc1 := pastel red()\bound{pc1 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch19} -\begin{paste}{ugGraphTwoDbuildPageFull19}{ugGraphTwoDbuildPageEmpty19} -\pastebutton{ugGraphTwoDbuildPageFull19}{\hidepaste} -\tab{5}\spadcommand{pc2 := dim green()\bound{pc2 }} -\indentrel{3}\begin{verbatim} - (19) [Hue: 14 Weight: 1.0] from the Dim palette - Type: Palette -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty19} -\begin{paste}{ugGraphTwoDbuildPageEmpty19}{ugGraphTwoDbuildPagePatch19} -\pastebutton{ugGraphTwoDbuildPageEmpty19}{\showpaste} -\tab{5}\spadcommand{pc2 := dim green()\bound{pc2 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch20} -\begin{paste}{ugGraphTwoDbuildPageFull20}{ugGraphTwoDbuildPageEmpty20} -\pastebutton{ugGraphTwoDbuildPageFull20}{\hidepaste} -\tab{5}\spadcommand{pc3 := pastel yellow()\bound{pc3 }} -\indentrel{3}\begin{verbatim} - (20) [Hue: 11 Weight: 1.0] from the Pastel palette - Type: Palette -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty20} -\begin{paste}{ugGraphTwoDbuildPageEmpty20}{ugGraphTwoDbuildPagePatch20} -\pastebutton{ugGraphTwoDbuildPageEmpty20}{\showpaste} -\tab{5}\spadcommand{pc3 := pastel yellow()\bound{pc3 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch21} -\begin{paste}{ugGraphTwoDbuildPageFull21}{ugGraphTwoDbuildPageEmpty21} -\pastebutton{ugGraphTwoDbuildPageFull21}{\hidepaste} -\tab{5}\spadcommand{lpc := [pc1, pc1, pc1, pc1, pc2, pc2, pc2, pc2, pc3, pc3, pc3, pc3]\free{pc1 pc2 pc3 }\bound{lpc }} -\indentrel{3}\begin{verbatim} - (21) - [[Hue: 1 Weight: 1.0] from the Pastel palette, - [Hue: 1 Weight: 1.0] from the Pastel palette, - [Hue: 1 Weight: 1.0] from the Pastel palette, - [Hue: 1 Weight: 1.0] from the Pastel palette, - [Hue: 14 Weight: 1.0] from the Dim palette, - [Hue: 14 Weight: 1.0] from the Dim palette, - [Hue: 14 Weight: 1.0] from the Dim palette, - [Hue: 14 Weight: 1.0] from the Dim palette, - [Hue: 11 Weight: 1.0] from the Pastel palette, - [Hue: 11 Weight: 1.0] from the Pastel palette, - [Hue: 11 Weight: 1.0] from the Pastel palette, - [Hue: 11 Weight: 1.0] from the Pastel palette] - Type: List Palette -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty21} -\begin{paste}{ugGraphTwoDbuildPageEmpty21}{ugGraphTwoDbuildPagePatch21} -\pastebutton{ugGraphTwoDbuildPageEmpty21}{\showpaste} -\tab{5}\spadcommand{lpc := [pc1, pc1, pc1, pc1, pc2, pc2, pc2, pc2, pc3, pc3, pc3, pc3]\free{pc1 pc2 pc3 }\bound{lpc }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch22} -\begin{paste}{ugGraphTwoDbuildPageFull22}{ugGraphTwoDbuildPageEmpty22} -\pastebutton{ugGraphTwoDbuildPageFull22}{\hidepaste} -\tab{5}\spadcommand{lc := [pastel blue(), light yellow(), dim green(), bright red(), light green(), dim yellow(), bright blue(), dark red(), pastel red(), light blue(), dim green(), light yellow()]\bound{lc }} -\indentrel{3}\begin{verbatim} - (22) - [[Hue: 22 Weight: 1.0] from the Pastel palette, - [Hue: 11 Weight: 1.0] from the Light palette, - [Hue: 14 Weight: 1.0] from the Dim palette, - [Hue: 1 Weight: 1.0] from the Bright palette, - [Hue: 14 Weight: 1.0] from the Light palette, - [Hue: 11 Weight: 1.0] from the Dim palette, - [Hue: 22 Weight: 1.0] from the Bright palette, - [Hue: 1 Weight: 1.0] from the Dark palette, - [Hue: 1 Weight: 1.0] from the Pastel palette, - [Hue: 22 Weight: 1.0] from the Light palette, - [Hue: 14 Weight: 1.0] from the Dim palette, - [Hue: 11 Weight: 1.0] from the Light palette] - Type: List Palette -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty22} -\begin{paste}{ugGraphTwoDbuildPageEmpty22}{ugGraphTwoDbuildPagePatch22} -\pastebutton{ugGraphTwoDbuildPageEmpty22}{\showpaste} -\tab{5}\spadcommand{lc := [pastel blue(), light yellow(), dim green(), bright red(), light green(), dim yellow(), bright blue(), dark red(), pastel red(), light blue(), dim green(), light yellow()]\bound{lc }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch23} -\begin{paste}{ugGraphTwoDbuildPageFull23}{ugGraphTwoDbuildPageEmpty23} -\pastebutton{ugGraphTwoDbuildPageFull23}{\hidepaste} -\tab{5}\spadcommand{g := makeGraphImage(llp,lpc,lc,lsize)$GRIMAGE\bound{g }\free{llp lpc lc lsize }} -\indentrel{3}\begin{verbatim} - (23) Graph with 12 point lists - Type: GraphImage -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty23} -\begin{paste}{ugGraphTwoDbuildPageEmpty23}{ugGraphTwoDbuildPagePatch23} -\pastebutton{ugGraphTwoDbuildPageEmpty23}{\showpaste} -\tab{5}\spadcommand{g := makeGraphImage(llp,lpc,lc,lsize)$GRIMAGE\bound{g }\free{llp lpc lc lsize }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch24} -\begin{paste}{ugGraphTwoDbuildPageFull24}{ugGraphTwoDbuildPageEmpty24} -\pastebutton{ugGraphTwoDbuildPageFull24}{\hidepaste} -\tab{5}\spadgraph{makeViewport2D(g,[title("Lines")])$VIEW2D\free{g }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodbuildpage24.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodbuildpage24}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty24} -\begin{paste}{ugGraphTwoDbuildPageEmpty24}{ugGraphTwoDbuildPagePatch24} -\pastebutton{ugGraphTwoDbuildPageEmpty24}{\showpaste} -\tab{5}\spadgraph{makeViewport2D(g,[title("Lines")])$VIEW2D\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch25} -\begin{paste}{ugGraphTwoDbuildPageFull25}{ugGraphTwoDbuildPageEmpty25} -\pastebutton{ugGraphTwoDbuildPageFull25}{\hidepaste} -\tab{5}\spadcommand{)clear all\bound{clearAll }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty25} -\begin{paste}{ugGraphTwoDbuildPageEmpty25}{ugGraphTwoDbuildPagePatch25} -\pastebutton{ugGraphTwoDbuildPageEmpty25}{\showpaste} -\tab{5}\spadcommand{)clear all\bound{clearAll }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch26} -\begin{paste}{ugGraphTwoDbuildPageFull26}{ugGraphTwoDbuildPageEmpty26} -\pastebutton{ugGraphTwoDbuildPageFull26}{\hidepaste} -\tab{5}\spadcommand{g := graphImage()$GRIMAGE\bound{Sg }\free{clearAll }} -\indentrel{3}\begin{verbatim} - (1) Graph with 0 point lists - Type: GraphImage -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty26} -\begin{paste}{ugGraphTwoDbuildPageEmpty26}{ugGraphTwoDbuildPagePatch26} -\pastebutton{ugGraphTwoDbuildPageEmpty26}{\showpaste} -\tab{5}\spadcommand{g := graphImage()$GRIMAGE\bound{Sg }\free{clearAll }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch27} -\begin{paste}{ugGraphTwoDbuildPageFull27}{ugGraphTwoDbuildPageEmpty27} -\pastebutton{ugGraphTwoDbuildPageFull27}{\hidepaste} -\tab{5}\spadcommand{p1 := point [0,0]$(Point DFLOAT)\bound{Sp1 }} -\indentrel{3}\begin{verbatim} - (2) [0.0,0.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty27} -\begin{paste}{ugGraphTwoDbuildPageEmpty27}{ugGraphTwoDbuildPagePatch27} -\pastebutton{ugGraphTwoDbuildPageEmpty27}{\showpaste} -\tab{5}\spadcommand{p1 := point [0,0]$(Point DFLOAT)\bound{Sp1 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch28} -\begin{paste}{ugGraphTwoDbuildPageFull28}{ugGraphTwoDbuildPageEmpty28} -\pastebutton{ugGraphTwoDbuildPageFull28}{\hidepaste} -\tab{5}\spadcommand{p2 := point [.25,.25]$(Point DFLOAT)\bound{Sp2 }} -\indentrel{3}\begin{verbatim} - (3) [0.25,0.25] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty28} -\begin{paste}{ugGraphTwoDbuildPageEmpty28}{ugGraphTwoDbuildPagePatch28} -\pastebutton{ugGraphTwoDbuildPageEmpty28}{\showpaste} -\tab{5}\spadcommand{p2 := point [.25,.25]$(Point DFLOAT)\bound{Sp2 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch29} -\begin{paste}{ugGraphTwoDbuildPageFull29}{ugGraphTwoDbuildPageEmpty29} -\pastebutton{ugGraphTwoDbuildPageFull29}{\hidepaste} -\tab{5}\spadcommand{p3 := point [.5,.5]$(Point DFLOAT)\bound{Sp3 }} -\indentrel{3}\begin{verbatim} - (4) [0.5,0.5] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty29} -\begin{paste}{ugGraphTwoDbuildPageEmpty29}{ugGraphTwoDbuildPagePatch29} -\pastebutton{ugGraphTwoDbuildPageEmpty29}{\showpaste} -\tab{5}\spadcommand{p3 := point [.5,.5]$(Point DFLOAT)\bound{Sp3 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch30} -\begin{paste}{ugGraphTwoDbuildPageFull30}{ugGraphTwoDbuildPageEmpty30} -\pastebutton{ugGraphTwoDbuildPageFull30}{\hidepaste} -\tab{5}\spadcommand{p4 := point [.75,.75]$(Point DFLOAT)\bound{Sp4 }} -\indentrel{3}\begin{verbatim} - (5) [0.75,0.75] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty30} -\begin{paste}{ugGraphTwoDbuildPageEmpty30}{ugGraphTwoDbuildPagePatch30} -\pastebutton{ugGraphTwoDbuildPageEmpty30}{\showpaste} -\tab{5}\spadcommand{p4 := point [.75,.75]$(Point DFLOAT)\bound{Sp4 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch31} -\begin{paste}{ugGraphTwoDbuildPageFull31}{ugGraphTwoDbuildPageEmpty31} -\pastebutton{ugGraphTwoDbuildPageFull31}{\hidepaste} -\tab{5}\spadcommand{p5 := point [1,1]$(Point DFLOAT)\bound{Sp5 }} -\indentrel{3}\begin{verbatim} - (6) [1.0,1.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty31} -\begin{paste}{ugGraphTwoDbuildPageEmpty31}{ugGraphTwoDbuildPagePatch31} -\pastebutton{ugGraphTwoDbuildPageEmpty31}{\showpaste} -\tab{5}\spadcommand{p5 := point [1,1]$(Point DFLOAT)\bound{Sp5 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch32} -\begin{paste}{ugGraphTwoDbuildPageFull32}{ugGraphTwoDbuildPageEmpty32} -\pastebutton{ugGraphTwoDbuildPageFull32}{\hidepaste} -\tab{5}\spadcommand{component(g,p1)$GRIMAGE\free{Sg Sp1 }\bound{gp1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty32} -\begin{paste}{ugGraphTwoDbuildPageEmpty32}{ugGraphTwoDbuildPagePatch32} -\pastebutton{ugGraphTwoDbuildPageEmpty32}{\showpaste} -\tab{5}\spadcommand{component(g,p1)$GRIMAGE\free{Sg Sp1 }\bound{gp1 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch33} -\begin{paste}{ugGraphTwoDbuildPageFull33}{ugGraphTwoDbuildPageEmpty33} -\pastebutton{ugGraphTwoDbuildPageFull33}{\hidepaste} -\tab{5}\spadcommand{component(g,p2)$GRIMAGE\free{Sg Sp2 }\bound{gp2 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty33} -\begin{paste}{ugGraphTwoDbuildPageEmpty33}{ugGraphTwoDbuildPagePatch33} -\pastebutton{ugGraphTwoDbuildPageEmpty33}{\showpaste} -\tab{5}\spadcommand{component(g,p2)$GRIMAGE\free{Sg Sp2 }\bound{gp2 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch34} -\begin{paste}{ugGraphTwoDbuildPageFull34}{ugGraphTwoDbuildPageEmpty34} -\pastebutton{ugGraphTwoDbuildPageFull34}{\hidepaste} -\tab{5}\spadcommand{appendPoint(g,p3)$GRIMAGE\free{gp1 gp2 Sp3 }\bound{gp3 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty34} -\begin{paste}{ugGraphTwoDbuildPageEmpty34}{ugGraphTwoDbuildPagePatch34} -\pastebutton{ugGraphTwoDbuildPageEmpty34}{\showpaste} -\tab{5}\spadcommand{appendPoint(g,p3)$GRIMAGE\free{gp1 gp2 Sp3 }\bound{gp3 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch35} -\begin{paste}{ugGraphTwoDbuildPageFull35}{ugGraphTwoDbuildPageEmpty35} -\pastebutton{ugGraphTwoDbuildPageFull35}{\hidepaste} -\tab{5}\spadcommand{appendPoint(g,p4)$GRIMAGE\free{gp3 Sp4 }\bound{gp4 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty35} -\begin{paste}{ugGraphTwoDbuildPageEmpty35}{ugGraphTwoDbuildPagePatch35} -\pastebutton{ugGraphTwoDbuildPageEmpty35}{\showpaste} -\tab{5}\spadcommand{appendPoint(g,p4)$GRIMAGE\free{gp3 Sp4 }\bound{gp4 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch36} -\begin{paste}{ugGraphTwoDbuildPageFull36}{ugGraphTwoDbuildPageEmpty36} -\pastebutton{ugGraphTwoDbuildPageFull36}{\hidepaste} -\tab{5}\spadcommand{appendPoint(g,p5)$GRIMAGE\free{gp4 Sp5 }\bound{gp5 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty36} -\begin{paste}{ugGraphTwoDbuildPageEmpty36}{ugGraphTwoDbuildPagePatch36} -\pastebutton{ugGraphTwoDbuildPageEmpty36}{\showpaste} -\tab{5}\spadcommand{appendPoint(g,p5)$GRIMAGE\free{gp4 Sp5 }\bound{gp5 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch37} -\begin{paste}{ugGraphTwoDbuildPageFull37}{ugGraphTwoDbuildPageEmpty37} -\pastebutton{ugGraphTwoDbuildPageFull37}{\hidepaste} -\tab{5}\spadcommand{g1 := makeGraphImage(g)$GRIMAGE\bound{Sg1 }\free{gp5 }} -\indentrel{3}\begin{verbatim} - (12) Graph with 2 point lists - Type: GraphImage -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty37} -\begin{paste}{ugGraphTwoDbuildPageEmpty37}{ugGraphTwoDbuildPagePatch37} -\pastebutton{ugGraphTwoDbuildPageEmpty37}{\showpaste} -\tab{5}\spadcommand{g1 := makeGraphImage(g)$GRIMAGE\bound{Sg1 }\free{gp5 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch38} -\begin{paste}{ugGraphTwoDbuildPageFull38}{ugGraphTwoDbuildPageEmpty38} -\pastebutton{ugGraphTwoDbuildPageFull38}{\hidepaste} -\tab{5}\spadgraph{makeViewport2D(g1,[title("Graph Points")])$VIEW2D\free{Sg1 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodbuildpage38.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodbuildpage38}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty38} -\begin{paste}{ugGraphTwoDbuildPageEmpty38}{ugGraphTwoDbuildPagePatch38} -\pastebutton{ugGraphTwoDbuildPageEmpty38}{\showpaste} -\tab{5}\spadgraph{makeViewport2D(g1,[title("Graph Points")])$VIEW2D\free{Sg1 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch39} -\begin{paste}{ugGraphTwoDbuildPageFull39}{ugGraphTwoDbuildPageEmpty39} -\pastebutton{ugGraphTwoDbuildPageFull39}{\hidepaste} -\tab{5}\spadcommand{g2 := coerce([[p1],[p2],[p3],[p4],[p5]])$GRIMAGE\free{Sp1 Sp2 Sp3 Sp4 Sp5 }\bound{Sg2 }} -\indentrel{3}\begin{verbatim} - (14) Graph with 5 point lists - Type: GraphImage -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty39} -\begin{paste}{ugGraphTwoDbuildPageEmpty39}{ugGraphTwoDbuildPagePatch39} -\pastebutton{ugGraphTwoDbuildPageEmpty39}{\showpaste} -\tab{5}\spadcommand{g2 := coerce([[p1],[p2],[p3],[p4],[p5]])$GRIMAGE\free{Sp1 Sp2 Sp3 Sp4 Sp5 }\bound{Sg2 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch40} -\begin{paste}{ugGraphTwoDbuildPageFull40}{ugGraphTwoDbuildPageEmpty40} -\pastebutton{ugGraphTwoDbuildPageFull40}{\hidepaste} -\tab{5}\spadcommand{v := viewport2D()$VIEW2D\bound{Sv }} -\indentrel{3}\begin{verbatim} - (15) - Closed or Undefined TwoDimensionalViewport: "AXIOM2D" - Type: TwoDimensionalViewport -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty40} -\begin{paste}{ugGraphTwoDbuildPageEmpty40}{ugGraphTwoDbuildPagePatch40} -\pastebutton{ugGraphTwoDbuildPageEmpty40}{\showpaste} -\tab{5}\spadcommand{v := viewport2D()$VIEW2D\bound{Sv }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch41} -\begin{paste}{ugGraphTwoDbuildPageFull41}{ugGraphTwoDbuildPageEmpty41} -\pastebutton{ugGraphTwoDbuildPageFull41}{\hidepaste} -\tab{5}\spadcommand{options(v,[title("Just Points")])$VIEW2D\free{Sv }\bound{Svo }} -\indentrel{3}\begin{verbatim} - (16) - Closed or Undefined TwoDimensionalViewport: "AXIOM2D" - Type: TwoDimensionalViewport -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty41} -\begin{paste}{ugGraphTwoDbuildPageEmpty41}{ugGraphTwoDbuildPagePatch41} -\pastebutton{ugGraphTwoDbuildPageEmpty41}{\showpaste} -\tab{5}\spadcommand{options(v,[title("Just Points")])$VIEW2D\free{Sv }\bound{Svo }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch42} -\begin{paste}{ugGraphTwoDbuildPageFull42}{ugGraphTwoDbuildPageEmpty42} -\pastebutton{ugGraphTwoDbuildPageFull42}{\hidepaste} -\tab{5}\spadcommand{putGraph(v,g2,1)$VIEW2D\free{Sg2 Svo }\bound{Svog2 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty42} -\begin{paste}{ugGraphTwoDbuildPageEmpty42}{ugGraphTwoDbuildPagePatch42} -\pastebutton{ugGraphTwoDbuildPageEmpty42}{\showpaste} -\tab{5}\spadcommand{putGraph(v,g2,1)$VIEW2D\free{Sg2 Svo }\bound{Svog2 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPagePatch43} -\begin{paste}{ugGraphTwoDbuildPageFull43}{ugGraphTwoDbuildPageEmpty43} -\pastebutton{ugGraphTwoDbuildPageFull43}{\hidepaste} -\tab{5}\spadgraph{makeViewport2D(v)$VIEW2D\free{Svog2 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodbuildpage43.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodbuildpage43}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDbuildPageEmpty43} -\begin{paste}{ugGraphTwoDbuildPageEmpty43}{ugGraphTwoDbuildPagePatch43} -\pastebutton{ugGraphTwoDbuildPageEmpty43}{\showpaste} -\tab{5}\spadgraph{makeViewport2D(v)$VIEW2D\free{Svog2 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDParmPagePatch1} -\begin{paste}{ugGraphThreeDParmPageFull1}{ugGraphThreeDParmPageEmpty1} -\pastebutton{ugGraphThreeDParmPageFull1}{\hidepaste} -\tab{5}\spadgraph{draw(curve(5*cos(t), 5*sin(t),t), t=-12..12)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedparmpage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedparmpage1}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDParmPageEmpty1} -\begin{paste}{ugGraphThreeDParmPageEmpty1}{ugGraphThreeDParmPagePatch1} -\pastebutton{ugGraphThreeDParmPageEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(curve(5*cos(t), 5*sin(t),t), t=-12..12)} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDParmPagePatch2} -\begin{paste}{ugGraphThreeDParmPageFull2}{ugGraphThreeDParmPageEmpty2} -\pastebutton{ugGraphThreeDParmPageFull2}{\hidepaste} -\tab{5}\spadcommand{i1(t:DFLOAT):DFLOAT == sin(t)*cos(3*t/5)\bound{i1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDParmPageEmpty2} -\begin{paste}{ugGraphThreeDParmPageEmpty2}{ugGraphThreeDParmPagePatch2} -\pastebutton{ugGraphThreeDParmPageEmpty2}{\showpaste} -\tab{5}\spadcommand{i1(t:DFLOAT):DFLOAT == sin(t)*cos(3*t/5)\bound{i1 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDParmPagePatch3} -\begin{paste}{ugGraphThreeDParmPageFull3}{ugGraphThreeDParmPageEmpty3} -\pastebutton{ugGraphThreeDParmPageFull3}{\hidepaste} -\tab{5}\spadcommand{i2(t:DFLOAT):DFLOAT == cos(t)*cos(3*t/5)\bound{i2 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDParmPageEmpty3} -\begin{paste}{ugGraphThreeDParmPageEmpty3}{ugGraphThreeDParmPagePatch3} -\pastebutton{ugGraphThreeDParmPageEmpty3}{\showpaste} -\tab{5}\spadcommand{i2(t:DFLOAT):DFLOAT == cos(t)*cos(3*t/5)\bound{i2 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDParmPagePatch4} -\begin{paste}{ugGraphThreeDParmPageFull4}{ugGraphThreeDParmPageEmpty4} -\pastebutton{ugGraphThreeDParmPageFull4}{\hidepaste} -\tab{5}\spadcommand{i3(t:DFLOAT):DFLOAT == cos(t)*sin(3*t/5)\bound{i3 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDParmPageEmpty4} -\begin{paste}{ugGraphThreeDParmPageEmpty4}{ugGraphThreeDParmPagePatch4} -\pastebutton{ugGraphThreeDParmPageEmpty4}{\showpaste} -\tab{5}\spadcommand{i3(t:DFLOAT):DFLOAT == cos(t)*sin(3*t/5)\bound{i3 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDParmPagePatch5} -\begin{paste}{ugGraphThreeDParmPageFull5}{ugGraphThreeDParmPageEmpty5} -\pastebutton{ugGraphThreeDParmPageFull5}{\hidepaste} -\tab{5}\spadgraph{draw(curve(i1,i2,i3),0..15*\%pi)\free{i1 i2 i3 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedparmpage5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedparmpage5}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDParmPageEmpty5} -\begin{paste}{ugGraphThreeDParmPageEmpty5}{ugGraphThreeDParmPagePatch5} -\pastebutton{ugGraphThreeDParmPageEmpty5}{\showpaste} -\tab{5}\spadgraph{draw(curve(i1,i2,i3),0..15*\%pi)\free{i1 i2 i3 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphMakeObjectPagePatch1} -\begin{paste}{ugGraphMakeObjectPageFull1}{ugGraphMakeObjectPageEmpty1} -\pastebutton{ugGraphMakeObjectPageFull1}{\hidepaste} -\tab{5}\spadcommand{m(u:DFLOAT,v:DFLOAT):DFLOAT == 1\bound{m }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphMakeObjectPageEmpty1} -\begin{paste}{ugGraphMakeObjectPageEmpty1}{ugGraphMakeObjectPagePatch1} -\pastebutton{ugGraphMakeObjectPageEmpty1}{\showpaste} -\tab{5}\spadcommand{m(u:DFLOAT,v:DFLOAT):DFLOAT == 1\bound{m }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphMakeObjectPagePatch2} -\begin{paste}{ugGraphMakeObjectPageFull2}{ugGraphMakeObjectPageEmpty2} -\pastebutton{ugGraphMakeObjectPageFull2}{\hidepaste} -\tab{5}\spadcommand{sph := makeObject(m, 0..\%pi, 0..2*\%pi, coordinates==spherical)\bound{sph }\free{m }} -\indentrel{3}\begin{verbatim} - (2) 3-Space with 1 component - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphMakeObjectPageEmpty2} -\begin{paste}{ugGraphMakeObjectPageEmpty2}{ugGraphMakeObjectPagePatch2} -\pastebutton{ugGraphMakeObjectPageEmpty2}{\showpaste} -\tab{5}\spadcommand{sph := makeObject(m, 0..\%pi, 0..2*\%pi, coordinates==spherical)\bound{sph }\free{m }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphMakeObjectPagePatch3} -\begin{paste}{ugGraphMakeObjectPageFull3}{ugGraphMakeObjectPageEmpty3} -\pastebutton{ugGraphMakeObjectPageFull3}{\hidepaste} -\tab{5}\spadcommand{makeObject(curve(1.5*sin(t), 1.5*cos(t), 0), t=0..2*\%pi, space == sph, tubeRadius == .25)\free{sph }\bound{v1 }} -\indentrel{3}\begin{verbatim} - (3) 3-Space with 2 components - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphMakeObjectPageEmpty3} -\begin{paste}{ugGraphMakeObjectPageEmpty3}{ugGraphMakeObjectPagePatch3} -\pastebutton{ugGraphMakeObjectPageEmpty3}{\showpaste} -\tab{5}\spadcommand{makeObject(curve(1.5*sin(t), 1.5*cos(t), 0), t=0..2*\%pi, space == sph, tubeRadius == .25)\free{sph }\bound{v1 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphMakeObjectPagePatch4} -\begin{paste}{ugGraphMakeObjectPageFull4}{ugGraphMakeObjectPageEmpty4} -\pastebutton{ugGraphMakeObjectPageFull4}{\hidepaste} -\tab{5}\spadgraph{makeViewport3D(sph,"Multiple Objects")\free{v1 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphmakeobjectpage4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphmakeobjectpage4}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphMakeObjectPageEmpty4} -\begin{paste}{ugGraphMakeObjectPageEmpty4}{ugGraphMakeObjectPagePatch4} -\pastebutton{ugGraphMakeObjectPageEmpty4}{\showpaste} -\tab{5}\spadgraph{makeViewport3D(sph,"Multiple Objects")\free{v1 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDPlotPagePatch1} -\begin{paste}{ugGraphThreeDPlotPageFull1}{ugGraphThreeDPlotPageEmpty1} -\pastebutton{ugGraphThreeDPlotPageFull1}{\hidepaste} -\tab{5}\spadgraph{draw(cos(x*y),x=-3..3,y=-3..3)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedplotpage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedplotpage1}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDPlotPageEmpty1} -\begin{paste}{ugGraphThreeDPlotPageEmpty1}{ugGraphThreeDPlotPagePatch1} -\pastebutton{ugGraphThreeDPlotPageEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(cos(x*y),x=-3..3,y=-3..3)} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDPlotPagePatch2} -\begin{paste}{ugGraphThreeDPlotPageFull2}{ugGraphThreeDPlotPageEmpty2} -\pastebutton{ugGraphThreeDPlotPageFull2}{\hidepaste} -\tab{5}\spadcommand{f(x,y) == sin(x)*cos(y)\bound{f }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDPlotPageEmpty2} -\begin{paste}{ugGraphThreeDPlotPageEmpty2}{ugGraphThreeDPlotPagePatch2} -\pastebutton{ugGraphThreeDPlotPageEmpty2}{\showpaste} -\tab{5}\spadcommand{f(x,y) == sin(x)*cos(y)\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDPlotPagePatch3} -\begin{paste}{ugGraphThreeDPlotPageFull3}{ugGraphThreeDPlotPageEmpty3} -\pastebutton{ugGraphThreeDPlotPageFull3}{\hidepaste} -\tab{5}\spadgraph{draw(f,-\%pi..\%pi,-\%pi..\%pi)\free{f }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedplotpage3.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedplotpage3}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDPlotPageEmpty3} -\begin{paste}{ugGraphThreeDPlotPageEmpty3}{ugGraphThreeDPlotPagePatch3} -\pastebutton{ugGraphThreeDPlotPageEmpty3}{\showpaste} -\tab{5}\spadgraph{draw(f,-\%pi..\%pi,-\%pi..\%pi)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDappendPagePatch1} -\begin{paste}{ugGraphTwoDappendPageFull1}{ugGraphTwoDappendPageEmpty1} -\pastebutton{ugGraphTwoDappendPageFull1}{\hidepaste} -\tab{5}\spadcommand{v1 := draw(sin(x),x=0..2*\%pi)\bound{v1 }} -\indentrel{3}\begin{verbatim} - (1) TwoDimensionalViewport: "sin x" - Type: TwoDimensionalViewport -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDappendPageEmpty1} -\begin{paste}{ugGraphTwoDappendPageEmpty1}{ugGraphTwoDappendPagePatch1} -\pastebutton{ugGraphTwoDappendPageEmpty1}{\showpaste} -\tab{5}\spadcommand{v1 := draw(sin(x),x=0..2*\%pi)\bound{v1 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDappendPagePatch2} -\begin{paste}{ugGraphTwoDappendPageFull2}{ugGraphTwoDappendPageEmpty2} -\pastebutton{ugGraphTwoDappendPageFull2}{\hidepaste} -\tab{5}\spadcommand{v2 := draw(cos(x),x=0..2*\%pi, curveColor==light red())\bound{v2 }} -\indentrel{3}\begin{verbatim} - (2) TwoDimensionalViewport: "cos x" - Type: TwoDimensionalViewport -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDappendPageEmpty2} -\begin{paste}{ugGraphTwoDappendPageEmpty2}{ugGraphTwoDappendPagePatch2} -\pastebutton{ugGraphTwoDappendPageEmpty2}{\showpaste} -\tab{5}\spadcommand{v2 := draw(cos(x),x=0..2*\%pi, curveColor==light red())\bound{v2 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDappendPagePatch3} -\begin{paste}{ugGraphTwoDappendPageFull3}{ugGraphTwoDappendPageEmpty3} -\pastebutton{ugGraphTwoDappendPageFull3}{\hidepaste} -\tab{5}\spadcommand{g1 := getGraph(v1,1)\bound{g1 }\free{v1 }} -\indentrel{3}\begin{verbatim} - (3) Graph with 1 point list - Type: GraphImage -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDappendPageEmpty3} -\begin{paste}{ugGraphTwoDappendPageEmpty3}{ugGraphTwoDappendPagePatch3} -\pastebutton{ugGraphTwoDappendPageEmpty3}{\showpaste} -\tab{5}\spadcommand{g1 := getGraph(v1,1)\bound{g1 }\free{v1 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDappendPagePatch4} -\begin{paste}{ugGraphTwoDappendPageFull4}{ugGraphTwoDappendPageEmpty4} -\pastebutton{ugGraphTwoDappendPageFull4}{\hidepaste} -\tab{5}\spadcommand{putGraph(v2,g1,2)\bound{v22 }\free{g1 v2 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDappendPageEmpty4} -\begin{paste}{ugGraphTwoDappendPageEmpty4}{ugGraphTwoDappendPagePatch4} -\pastebutton{ugGraphTwoDappendPageEmpty4}{\showpaste} -\tab{5}\spadcommand{putGraph(v2,g1,2)\bound{v22 }\free{g1 v2 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDappendPagePatch5} -\begin{paste}{ugGraphTwoDappendPageFull5}{ugGraphTwoDappendPageEmpty5} -\pastebutton{ugGraphTwoDappendPageFull5}{\hidepaste} -\tab{5}\spadgraph{makeViewport2D(v2)\free{v22 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodappendpage5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodappendpage5}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDappendPageEmpty5} -\begin{paste}{ugGraphTwoDappendPageEmpty5}{ugGraphTwoDappendPagePatch5} -\pastebutton{ugGraphTwoDappendPageEmpty5}{\showpaste} -\tab{5}\spadgraph{makeViewport2D(v2)\free{v22 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch1} -\begin{paste}{ugGraphThreeDBuildPageFull1}{ugGraphThreeDBuildPageEmpty1} -\pastebutton{ugGraphThreeDBuildPageFull1}{\hidepaste} -\tab{5}\spadcommand{space := create3Space()$(ThreeSpace DFLOAT)\bound{space }} -\indentrel{3}\begin{verbatim} - (1) 3-Space with 0 components - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty1} -\begin{paste}{ugGraphThreeDBuildPageEmpty1}{ugGraphThreeDBuildPagePatch1} -\pastebutton{ugGraphThreeDBuildPageEmpty1}{\showpaste} -\tab{5}\spadcommand{space := create3Space()$(ThreeSpace DFLOAT)\bound{space }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch2} -\begin{paste}{ugGraphThreeDBuildPageFull2}{ugGraphThreeDBuildPageEmpty2} -\pastebutton{ugGraphThreeDBuildPageFull2}{\hidepaste} -\tab{5}\spadcommand{closedCurve(space,[[0,30,20], [0,30,30], [0,40,30], [0,40,100], [0,30,100],[0,30,110], [0,60,110], [0,60,100], [0,50,100], [0,50,30], [0,60,30], [0,60,20]])\bound{curve1 }\free{space }} -\indentrel{3}\begin{verbatim} - (2) 3-Space with 1 component - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty2} -\begin{paste}{ugGraphThreeDBuildPageEmpty2}{ugGraphThreeDBuildPagePatch2} -\pastebutton{ugGraphThreeDBuildPageEmpty2}{\showpaste} -\tab{5}\spadcommand{closedCurve(space,[[0,30,20], [0,30,30], [0,40,30], [0,40,100], [0,30,100],[0,30,110], [0,60,110], [0,60,100], [0,50,100], [0,50,30], [0,60,30], [0,60,20]])\bound{curve1 }\free{space }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch3} -\begin{paste}{ugGraphThreeDBuildPageFull3}{ugGraphThreeDBuildPageEmpty3} -\pastebutton{ugGraphThreeDBuildPageFull3}{\hidepaste} -\tab{5}\spadcommand{closedCurve(space,[[80,0,30], [80,0,100], [70,0,110], [40,0,110], [30,0,100], [30,0,90], [40,0,90], [40,0,95], [45,0,100], [65,0,100], [70,0,95], [70,0,35]])\bound{curve2 }\free{space }} -\indentrel{3}\begin{verbatim} - (3) 3-Space with 2 components - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty3} -\begin{paste}{ugGraphThreeDBuildPageEmpty3}{ugGraphThreeDBuildPagePatch3} -\pastebutton{ugGraphThreeDBuildPageEmpty3}{\showpaste} -\tab{5}\spadcommand{closedCurve(space,[[80,0,30], [80,0,100], [70,0,110], [40,0,110], [30,0,100], [30,0,90], [40,0,90], [40,0,95], [45,0,100], [65,0,100], [70,0,95], [70,0,35]])\bound{curve2 }\free{space }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch4} -\begin{paste}{ugGraphThreeDBuildPageFull4}{ugGraphThreeDBuildPageEmpty4} -\pastebutton{ugGraphThreeDBuildPageFull4}{\hidepaste} -\tab{5}\spadcommand{closedCurve(space,[[70,0,35], [65,0,30], [45,0,30], [40,0,35], [40,0,60], [50,0,60], [50,0,70], [30,0,70], [30,0,30], [40,0,20], [70,0,20], [80,0,30]])\bound{curve3 }\free{space }} -\indentrel{3}\begin{verbatim} - (4) 3-Space with 3 components - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty4} -\begin{paste}{ugGraphThreeDBuildPageEmpty4}{ugGraphThreeDBuildPagePatch4} -\pastebutton{ugGraphThreeDBuildPageEmpty4}{\showpaste} -\tab{5}\spadcommand{closedCurve(space,[[70,0,35], [65,0,30], [45,0,30], [40,0,35], [40,0,60], [50,0,60], [50,0,70], [30,0,70], [30,0,30], [40,0,20], [70,0,20], [80,0,30]])\bound{curve3 }\free{space }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch5} -\begin{paste}{ugGraphThreeDBuildPageFull5}{ugGraphThreeDBuildPageEmpty5} -\pastebutton{ugGraphThreeDBuildPageFull5}{\hidepaste} -\tab{5}\spadcommand{closedCurve(space,[[0,70,20], [0,70,110], [0,110,110], [0,120,100], [0,120,70], [0,115,65], [0,120,60], [0,120,30], [0,110,20], [0,80,20], [0,80,30], [0,80,20]])\bound{curve4 }\free{space }} -\indentrel{3}\begin{verbatim} - (5) 3-Space with 4 components - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty5} -\begin{paste}{ugGraphThreeDBuildPageEmpty5}{ugGraphThreeDBuildPagePatch5} -\pastebutton{ugGraphThreeDBuildPageEmpty5}{\showpaste} -\tab{5}\spadcommand{closedCurve(space,[[0,70,20], [0,70,110], [0,110,110], [0,120,100], [0,120,70], [0,115,65], [0,120,60], [0,120,30], [0,110,20], [0,80,20], [0,80,30], [0,80,20]])\bound{curve4 }\free{space }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch6} -\begin{paste}{ugGraphThreeDBuildPageFull6}{ugGraphThreeDBuildPageEmpty6} -\pastebutton{ugGraphThreeDBuildPageFull6}{\hidepaste} -\tab{5}\spadcommand{closedCurve(space,[[0,105,30], [0,110,35], [0,110,55], [0,105,60], [0,80,60], [0,80,70], [0,105,70], [0,110,75], [0,110,95], [0,105,100], [0,80,100], [0,80,20], [0,80,30]])\bound{curve5 }\free{space }} -\indentrel{3}\begin{verbatim} - (6) 3-Space with 5 components - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty6} -\begin{paste}{ugGraphThreeDBuildPageEmpty6}{ugGraphThreeDBuildPagePatch6} -\pastebutton{ugGraphThreeDBuildPageEmpty6}{\showpaste} -\tab{5}\spadcommand{closedCurve(space,[[0,105,30], [0,110,35], [0,110,55], [0,105,60], [0,80,60], [0,80,70], [0,105,70], [0,110,75], [0,110,95], [0,105,100], [0,80,100], [0,80,20], [0,80,30]])\bound{curve5 }\free{space }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch7} -\begin{paste}{ugGraphThreeDBuildPageFull7}{ugGraphThreeDBuildPageEmpty7} -\pastebutton{ugGraphThreeDBuildPageFull7}{\hidepaste} -\tab{5}\spadcommand{closedCurve(space,[[140,0,20], [140,0,110], [130,0,110], [90,0,20], [101,0,20],[114,0,50], [130,0,50], [130,0,60], [119,0,60], [130,0,85], [130,0,20]])\bound{curve6 }\free{space }} -\indentrel{3}\begin{verbatim} - (7) 3-Space with 6 components - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty7} -\begin{paste}{ugGraphThreeDBuildPageEmpty7}{ugGraphThreeDBuildPagePatch7} -\pastebutton{ugGraphThreeDBuildPageEmpty7}{\showpaste} -\tab{5}\spadcommand{closedCurve(space,[[140,0,20], [140,0,110], [130,0,110], [90,0,20], [101,0,20],[114,0,50], [130,0,50], [130,0,60], [119,0,60], [130,0,85], [130,0,20]])\bound{curve6 }\free{space }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch8} -\begin{paste}{ugGraphThreeDBuildPageFull8}{ugGraphThreeDBuildPageEmpty8} -\pastebutton{ugGraphThreeDBuildPageFull8}{\hidepaste} -\tab{5}\spadcommand{closedCurve(space,[[0,140,20], [0,140,110], [0,150,110], [0,170,50], [0,190,110], [0,200,110], [0,200,20], [0,190,20], [0,190,75], [0,175,35], [0,165,35],[0,150,75], [0,150,20]])\bound{curve7 }\free{space }} -\indentrel{3}\begin{verbatim} - (8) 3-Space with 7 components - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty8} -\begin{paste}{ugGraphThreeDBuildPageEmpty8}{ugGraphThreeDBuildPagePatch8} -\pastebutton{ugGraphThreeDBuildPageEmpty8}{\showpaste} -\tab{5}\spadcommand{closedCurve(space,[[0,140,20], [0,140,110], [0,150,110], [0,170,50], [0,190,110], [0,200,110], [0,200,20], [0,190,20], [0,190,75], [0,175,35], [0,165,35],[0,150,75], [0,150,20]])\bound{curve7 }\free{space }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch9} -\begin{paste}{ugGraphThreeDBuildPageFull9}{ugGraphThreeDBuildPageEmpty9} -\pastebutton{ugGraphThreeDBuildPageFull9}{\hidepaste} -\tab{5}\spadcommand{closedCurve(space,[[200,0,20], [200,0,110], [189,0,110], [160,0,45], [160,0,110], [150,0,110], [150,0,20], [161,0,20], [190,0,85], [190,0,20]])\bound{curve8 }\free{space }} -\indentrel{3}\begin{verbatim} - (9) 3-Space with 8 components - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty9} -\begin{paste}{ugGraphThreeDBuildPageEmpty9}{ugGraphThreeDBuildPagePatch9} -\pastebutton{ugGraphThreeDBuildPageEmpty9}{\showpaste} -\tab{5}\spadcommand{closedCurve(space,[[200,0,20], [200,0,110], [189,0,110], [160,0,45], [160,0,110], [150,0,110], [150,0,20], [161,0,20], [190,0,85], [190,0,20]])\bound{curve8 }\free{space }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch10} -\begin{paste}{ugGraphThreeDBuildPageFull10}{ugGraphThreeDBuildPageEmpty10} -\pastebutton{ugGraphThreeDBuildPageFull10}{\hidepaste} -\tab{5}\spadgraph{makeViewport3D(space, title == "Letters")\free{space curve1 curve2 curve3 curve4 curve5 curve6 curve7 curve8 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedbuildpage10.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedbuildpage10}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty10} -\begin{paste}{ugGraphThreeDBuildPageEmpty10}{ugGraphThreeDBuildPagePatch10} -\pastebutton{ugGraphThreeDBuildPageEmpty10}{\showpaste} -\tab{5}\spadgraph{makeViewport3D(space, title == "Letters")\free{space curve1 curve2 curve3 curve4 curve5 curve6 curve7 curve8 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch11} -\begin{paste}{ugGraphThreeDBuildPageFull11}{ugGraphThreeDBuildPageEmpty11} -\pastebutton{ugGraphThreeDBuildPageFull11}{\hidepaste} -\tab{5}\spadcommand{spaceC := create3Space()$(ThreeSpace DFLOAT)\bound{spaceC }} -\indentrel{3}\begin{verbatim} - (11) 3-Space with 0 components - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty11} -\begin{paste}{ugGraphThreeDBuildPageEmpty11}{ugGraphThreeDBuildPagePatch11} -\pastebutton{ugGraphThreeDBuildPageEmpty11}{\showpaste} -\tab{5}\spadcommand{spaceC := create3Space()$(ThreeSpace DFLOAT)\bound{spaceC }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch12} -\begin{paste}{ugGraphThreeDBuildPageFull12}{ugGraphThreeDBuildPageEmpty12} -\pastebutton{ugGraphThreeDBuildPageFull12}{\hidepaste} -\tab{5}\spadcommand{x: DFLOAT := 1\bound{x }} -\indentrel{3}\begin{verbatim} - (12) 1.0 - Type: DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty12} -\begin{paste}{ugGraphThreeDBuildPageEmpty12}{ugGraphThreeDBuildPagePatch12} -\pastebutton{ugGraphThreeDBuildPageEmpty12}{\showpaste} -\tab{5}\spadcommand{x: DFLOAT := 1\bound{x }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch13} -\begin{paste}{ugGraphThreeDBuildPageFull13}{ugGraphThreeDBuildPageEmpty13} -\pastebutton{ugGraphThreeDBuildPageFull13}{\hidepaste} -\tab{5}\spadcommand{y: DFLOAT := -1\bound{y }} -\indentrel{3}\begin{verbatim} - (13) - 1.0 - Type: DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty13} -\begin{paste}{ugGraphThreeDBuildPageEmpty13}{ugGraphThreeDBuildPagePatch13} -\pastebutton{ugGraphThreeDBuildPageEmpty13}{\showpaste} -\tab{5}\spadcommand{y: DFLOAT := -1\bound{y }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch14} -\begin{paste}{ugGraphThreeDBuildPageFull14}{ugGraphThreeDBuildPageEmpty14} -\pastebutton{ugGraphThreeDBuildPageFull14}{\hidepaste} -\tab{5}\spadcommand{a := point [x,x,y,1::DFLOAT]$(Point DFLOAT)\bound{a }\free{x y }} -\indentrel{3}\begin{verbatim} - (14) [1.0,1.0,- 1.0,1.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty14} -\begin{paste}{ugGraphThreeDBuildPageEmpty14}{ugGraphThreeDBuildPagePatch14} -\pastebutton{ugGraphThreeDBuildPageEmpty14}{\showpaste} -\tab{5}\spadcommand{a := point [x,x,y,1::DFLOAT]$(Point DFLOAT)\bound{a }\free{x y }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch15} -\begin{paste}{ugGraphThreeDBuildPageFull15}{ugGraphThreeDBuildPageEmpty15} -\pastebutton{ugGraphThreeDBuildPageFull15}{\hidepaste} -\tab{5}\spadcommand{b := point [y,x,y,4::DFLOAT]$(Point DFLOAT)\bound{b }\free{x y }} -\indentrel{3}\begin{verbatim} - (15) [- 1.0,1.0,- 1.0,4.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty15} -\begin{paste}{ugGraphThreeDBuildPageEmpty15}{ugGraphThreeDBuildPagePatch15} -\pastebutton{ugGraphThreeDBuildPageEmpty15}{\showpaste} -\tab{5}\spadcommand{b := point [y,x,y,4::DFLOAT]$(Point DFLOAT)\bound{b }\free{x y }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch16} -\begin{paste}{ugGraphThreeDBuildPageFull16}{ugGraphThreeDBuildPageEmpty16} -\pastebutton{ugGraphThreeDBuildPageFull16}{\hidepaste} -\tab{5}\spadcommand{c := point [y,x,x,8::DFLOAT]$(Point DFLOAT)\bound{c }\free{x y }} -\indentrel{3}\begin{verbatim} - (16) [- 1.0,1.0,1.0,8.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty16} -\begin{paste}{ugGraphThreeDBuildPageEmpty16}{ugGraphThreeDBuildPagePatch16} -\pastebutton{ugGraphThreeDBuildPageEmpty16}{\showpaste} -\tab{5}\spadcommand{c := point [y,x,x,8::DFLOAT]$(Point DFLOAT)\bound{c }\free{x y }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch17} -\begin{paste}{ugGraphThreeDBuildPageFull17}{ugGraphThreeDBuildPageEmpty17} -\pastebutton{ugGraphThreeDBuildPageFull17}{\hidepaste} -\tab{5}\spadcommand{d := point [x,x,x,12::DFLOAT]$(Point DFLOAT)\bound{d }\free{x y }} -\indentrel{3}\begin{verbatim} - (17) [1.0,1.0,1.0,12.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty17} -\begin{paste}{ugGraphThreeDBuildPageEmpty17}{ugGraphThreeDBuildPagePatch17} -\pastebutton{ugGraphThreeDBuildPageEmpty17}{\showpaste} -\tab{5}\spadcommand{d := point [x,x,x,12::DFLOAT]$(Point DFLOAT)\bound{d }\free{x y }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch18} -\begin{paste}{ugGraphThreeDBuildPageFull18}{ugGraphThreeDBuildPageEmpty18} -\pastebutton{ugGraphThreeDBuildPageFull18}{\hidepaste} -\tab{5}\spadcommand{e := point [x,y,y,16::DFLOAT]$(Point DFLOAT)\bound{e }\free{x y }} -\indentrel{3}\begin{verbatim} - (18) [1.0,- 1.0,- 1.0,16.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty18} -\begin{paste}{ugGraphThreeDBuildPageEmpty18}{ugGraphThreeDBuildPagePatch18} -\pastebutton{ugGraphThreeDBuildPageEmpty18}{\showpaste} -\tab{5}\spadcommand{e := point [x,y,y,16::DFLOAT]$(Point DFLOAT)\bound{e }\free{x y }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch19} -\begin{paste}{ugGraphThreeDBuildPageFull19}{ugGraphThreeDBuildPageEmpty19} -\pastebutton{ugGraphThreeDBuildPageFull19}{\hidepaste} -\tab{5}\spadcommand{f := point [y,y,y,20::DFLOAT]$(Point DFLOAT)\bound{f }\free{x y }} -\indentrel{3}\begin{verbatim} - (19) [- 1.0,- 1.0,- 1.0,20.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty19} -\begin{paste}{ugGraphThreeDBuildPageEmpty19}{ugGraphThreeDBuildPagePatch19} -\pastebutton{ugGraphThreeDBuildPageEmpty19}{\showpaste} -\tab{5}\spadcommand{f := point [y,y,y,20::DFLOAT]$(Point DFLOAT)\bound{f }\free{x y }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch20} -\begin{paste}{ugGraphThreeDBuildPageFull20}{ugGraphThreeDBuildPageEmpty20} -\pastebutton{ugGraphThreeDBuildPageFull20}{\hidepaste} -\tab{5}\spadcommand{g := point [y,y,x,24::DFLOAT]$(Point DFLOAT)\bound{g }\free{x y }} -\indentrel{3}\begin{verbatim} - (20) [- 1.0,- 1.0,1.0,24.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty20} -\begin{paste}{ugGraphThreeDBuildPageEmpty20}{ugGraphThreeDBuildPagePatch20} -\pastebutton{ugGraphThreeDBuildPageEmpty20}{\showpaste} -\tab{5}\spadcommand{g := point [y,y,x,24::DFLOAT]$(Point DFLOAT)\bound{g }\free{x y }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch21} -\begin{paste}{ugGraphThreeDBuildPageFull21}{ugGraphThreeDBuildPageEmpty21} -\pastebutton{ugGraphThreeDBuildPageFull21}{\hidepaste} -\tab{5}\spadcommand{h := point [x,y,x,27::DFLOAT]$(Point DFLOAT)\bound{h }\free{x y }} -\indentrel{3}\begin{verbatim} - (21) [1.0,- 1.0,1.0,27.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty21} -\begin{paste}{ugGraphThreeDBuildPageEmpty21}{ugGraphThreeDBuildPagePatch21} -\pastebutton{ugGraphThreeDBuildPageEmpty21}{\showpaste} -\tab{5}\spadcommand{h := point [x,y,x,27::DFLOAT]$(Point DFLOAT)\bound{h }\free{x y }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch22} -\begin{paste}{ugGraphThreeDBuildPageFull22}{ugGraphThreeDBuildPageEmpty22} -\pastebutton{ugGraphThreeDBuildPageFull22}{\hidepaste} -\tab{5}\spadcommand{polygon(spaceC,[d,c,g,h])\free{d c g h spaceC }\bound{pol1 }} -\indentrel{3}\begin{verbatim} - (22) 3-Space with 1 component - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty22} -\begin{paste}{ugGraphThreeDBuildPageEmpty22}{ugGraphThreeDBuildPagePatch22} -\pastebutton{ugGraphThreeDBuildPageEmpty22}{\showpaste} -\tab{5}\spadcommand{polygon(spaceC,[d,c,g,h])\free{d c g h spaceC }\bound{pol1 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch23} -\begin{paste}{ugGraphThreeDBuildPageFull23}{ugGraphThreeDBuildPageEmpty23} -\pastebutton{ugGraphThreeDBuildPageFull23}{\hidepaste} -\tab{5}\spadcommand{polygon(spaceC,[d,h,e,a])\free{d h e a spaceC }\bound{pol2 }} -\indentrel{3}\begin{verbatim} - (23) 3-Space with 2 components - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty23} -\begin{paste}{ugGraphThreeDBuildPageEmpty23}{ugGraphThreeDBuildPagePatch23} -\pastebutton{ugGraphThreeDBuildPageEmpty23}{\showpaste} -\tab{5}\spadcommand{polygon(spaceC,[d,h,e,a])\free{d h e a spaceC }\bound{pol2 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch24} -\begin{paste}{ugGraphThreeDBuildPageFull24}{ugGraphThreeDBuildPageEmpty24} -\pastebutton{ugGraphThreeDBuildPageFull24}{\hidepaste} -\tab{5}\spadcommand{polygon(spaceC,[c,d,a,b])\free{c d a b spaceC }\bound{pol3 }} -\indentrel{3}\begin{verbatim} - (24) 3-Space with 3 components - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty24} -\begin{paste}{ugGraphThreeDBuildPageEmpty24}{ugGraphThreeDBuildPagePatch24} -\pastebutton{ugGraphThreeDBuildPageEmpty24}{\showpaste} -\tab{5}\spadcommand{polygon(spaceC,[c,d,a,b])\free{c d a b spaceC }\bound{pol3 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch25} -\begin{paste}{ugGraphThreeDBuildPageFull25}{ugGraphThreeDBuildPageEmpty25} -\pastebutton{ugGraphThreeDBuildPageFull25}{\hidepaste} -\tab{5}\spadcommand{polygon(spaceC,[g,c,b,f])\free{g c b f spaceC }\bound{pol4 }} -\indentrel{3}\begin{verbatim} - (25) 3-Space with 4 components - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty25} -\begin{paste}{ugGraphThreeDBuildPageEmpty25}{ugGraphThreeDBuildPagePatch25} -\pastebutton{ugGraphThreeDBuildPageEmpty25}{\showpaste} -\tab{5}\spadcommand{polygon(spaceC,[g,c,b,f])\free{g c b f spaceC }\bound{pol4 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch26} -\begin{paste}{ugGraphThreeDBuildPageFull26}{ugGraphThreeDBuildPageEmpty26} -\pastebutton{ugGraphThreeDBuildPageFull26}{\hidepaste} -\tab{5}\spadcommand{polygon(spaceC,[h,g,f,e])\free{h g f e spaceC }\bound{pol5 }} -\indentrel{3}\begin{verbatim} - (26) 3-Space with 5 components - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty26} -\begin{paste}{ugGraphThreeDBuildPageEmpty26}{ugGraphThreeDBuildPagePatch26} -\pastebutton{ugGraphThreeDBuildPageEmpty26}{\showpaste} -\tab{5}\spadcommand{polygon(spaceC,[h,g,f,e])\free{h g f e spaceC }\bound{pol5 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch27} -\begin{paste}{ugGraphThreeDBuildPageFull27}{ugGraphThreeDBuildPageEmpty27} -\pastebutton{ugGraphThreeDBuildPageFull27}{\hidepaste} -\tab{5}\spadcommand{polygon(spaceC,[e,f,b,a])\free{e f b a spaceC }\bound{pol6 }} -\indentrel{3}\begin{verbatim} - (27) 3-Space with 6 components - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty27} -\begin{paste}{ugGraphThreeDBuildPageEmpty27}{ugGraphThreeDBuildPagePatch27} -\pastebutton{ugGraphThreeDBuildPageEmpty27}{\showpaste} -\tab{5}\spadcommand{polygon(spaceC,[e,f,b,a])\free{e f b a spaceC }\bound{pol6 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPagePatch28} -\begin{paste}{ugGraphThreeDBuildPageFull28}{ugGraphThreeDBuildPageEmpty28} -\pastebutton{ugGraphThreeDBuildPageFull28}{\hidepaste} -\tab{5}\spadgraph{makeViewport3D(spaceC, title == "Cube")\free{pol1 pol2 pol3 pol4 pol5 pol6 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedbuildpage28.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedbuildpage28}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDBuildPageEmpty28} -\begin{paste}{ugGraphThreeDBuildPageEmpty28}{ugGraphThreeDBuildPagePatch28} -\pastebutton{ugGraphThreeDBuildPageEmpty28}{\showpaste} -\tab{5}\spadgraph{makeViewport3D(spaceC, title == "Cube")\free{pol1 pol2 pol3 pol4 pol5 pol6 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDOptionsPagePatch1} -\begin{paste}{ugGraphTwoDOptionsPageFull1}{ugGraphTwoDOptionsPageEmpty1} -\pastebutton{ugGraphTwoDOptionsPageFull1}{\hidepaste} -\tab{5}\spadgraph{draw(sin(1/x),x=-2*\%pi..2*\%pi, adaptive == false)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodoptionspage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodoptionspage1}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDOptionsPageEmpty1} -\begin{paste}{ugGraphTwoDOptionsPageEmpty1}{ugGraphTwoDOptionsPagePatch1} -\pastebutton{ugGraphTwoDOptionsPageEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(sin(1/x),x=-2*\%pi..2*\%pi, adaptive == false)} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDOptionsPagePatch2} -\begin{paste}{ugGraphTwoDOptionsPageFull2}{ugGraphTwoDOptionsPageEmpty2} -\pastebutton{ugGraphTwoDOptionsPageFull2}{\hidepaste} -\tab{5}\spadgraph{draw(tan(x),x=-2*\%pi..2*\%pi, clip == true)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodoptionspage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodoptionspage2}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDOptionsPageEmpty2} -\begin{paste}{ugGraphTwoDOptionsPageEmpty2}{ugGraphTwoDOptionsPagePatch2} -\pastebutton{ugGraphTwoDOptionsPageEmpty2}{\showpaste} -\tab{5}\spadgraph{draw(tan(x),x=-2*\%pi..2*\%pi, clip == true)} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDOptionsPagePatch3} -\begin{paste}{ugGraphTwoDOptionsPageFull3}{ugGraphTwoDOptionsPageEmpty3} -\pastebutton{ugGraphTwoDOptionsPageFull3}{\hidepaste} -\tab{5}\spadgraph{draw(sin(x),x=-\%pi..\%pi, toScale == true, unit == [1.0,1.0])} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodoptionspage3.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodoptionspage3}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDOptionsPageEmpty3} -\begin{paste}{ugGraphTwoDOptionsPageEmpty3}{ugGraphTwoDOptionsPagePatch3} -\pastebutton{ugGraphTwoDOptionsPageEmpty3}{\showpaste} -\tab{5}\spadgraph{draw(sin(x),x=-\%pi..\%pi, toScale == true, unit == [1.0,1.0])} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDOptionsPagePatch4} -\begin{paste}{ugGraphTwoDOptionsPageFull4}{ugGraphTwoDOptionsPageEmpty4} -\pastebutton{ugGraphTwoDOptionsPageFull4}{\hidepaste} -\tab{5}\spadgraph{draw(sec(x),x=-2*\%pi..2*\%pi, clip == [-2*\%pi..2*\%pi,-\%pi..\%pi], unit == [1.0,1.0])} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodoptionspage4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodoptionspage4}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDOptionsPageEmpty4} -\begin{paste}{ugGraphTwoDOptionsPageEmpty4}{ugGraphTwoDOptionsPagePatch4} -\pastebutton{ugGraphTwoDOptionsPageEmpty4}{\showpaste} -\tab{5}\spadgraph{draw(sec(x),x=-2*\%pi..2*\%pi, clip == [-2*\%pi..2*\%pi,-\%pi..\%pi], unit == [1.0,1.0])} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDOptionsPagePatch5} -\begin{paste}{ugGraphTwoDOptionsPageFull5}{ugGraphTwoDOptionsPageEmpty5} -\pastebutton{ugGraphTwoDOptionsPageFull5}{\hidepaste} -\tab{5}\spadgraph{draw(sin(x),x=-\%pi..\%pi, curveColor == bright red())} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodoptionspage5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodoptionspage5}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDOptionsPageEmpty5} -\begin{paste}{ugGraphTwoDOptionsPageEmpty5}{ugGraphTwoDOptionsPagePatch5} -\pastebutton{ugGraphTwoDOptionsPageEmpty5}{\showpaste} -\tab{5}\spadgraph{draw(sin(x),x=-\%pi..\%pi, curveColor == bright red())} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDOptionsPagePatch6} -\begin{paste}{ugGraphTwoDOptionsPageFull6}{ugGraphTwoDOptionsPageEmpty6} -\pastebutton{ugGraphTwoDOptionsPageFull6}{\hidepaste} -\tab{5}\spadgraph{draw(sin(x),x=-\%pi..\%pi, pointColor == pastel yellow())} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodoptionspage6.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodoptionspage6}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDOptionsPageEmpty6} -\begin{paste}{ugGraphTwoDOptionsPageEmpty6}{ugGraphTwoDOptionsPagePatch6} -\pastebutton{ugGraphTwoDOptionsPageEmpty6}{\showpaste} -\tab{5}\spadgraph{draw(sin(x),x=-\%pi..\%pi, pointColor == pastel yellow())} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDOptionsPagePatch7} -\begin{paste}{ugGraphTwoDOptionsPageFull7}{ugGraphTwoDOptionsPageEmpty7} -\pastebutton{ugGraphTwoDOptionsPageFull7}{\hidepaste} -\tab{5}\spadgraph{draw(curve(9*sin(3*t/4),8*sin(t)), t = -4*\%pi..4*\%pi, unit == [2.0,1.0])} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodoptionspage7.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodoptionspage7}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDOptionsPageEmpty7} -\begin{paste}{ugGraphTwoDOptionsPageEmpty7}{ugGraphTwoDOptionsPagePatch7} -\pastebutton{ugGraphTwoDOptionsPageEmpty7}{\showpaste} -\tab{5}\spadgraph{draw(curve(9*sin(3*t/4),8*sin(t)), t = -4*\%pi..4*\%pi, unit == [2.0,1.0])} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDOptionsPagePatch8} -\begin{paste}{ugGraphTwoDOptionsPageFull8}{ugGraphTwoDOptionsPageEmpty8} -\pastebutton{ugGraphTwoDOptionsPageFull8}{\hidepaste} -\tab{5}\spadgraph{draw(y**2 + y - (x**3 - x) = 0, x, y, range == [-2..2,-2..1], unit==[1.0,1.0])} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodoptionspage8.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodoptionspage8}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDOptionsPageEmpty8} -\begin{paste}{ugGraphTwoDOptionsPageEmpty8}{ugGraphTwoDOptionsPagePatch8} -\pastebutton{ugGraphTwoDOptionsPageEmpty8}{\showpaste} -\tab{5}\spadgraph{draw(y**2 + y - (x**3 - x) = 0, x, y, range == [-2..2,-2..1], unit==[1.0,1.0])} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDOptionsPagePatch9} -\begin{paste}{ugGraphTwoDOptionsPageFull9}{ugGraphTwoDOptionsPageEmpty9} -\pastebutton{ugGraphTwoDOptionsPageFull9}{\hidepaste} -\tab{5}\spadgraph{draw(x**2 + y**2 = 1, x, y, range == [-3/2..3/2,-3/2..3/2], unit==[0.5,0.5])} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodoptionspage9.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodoptionspage9}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDOptionsPageEmpty9} -\begin{paste}{ugGraphTwoDOptionsPageEmpty9}{ugGraphTwoDOptionsPagePatch9} -\pastebutton{ugGraphTwoDOptionsPageEmpty9}{\showpaste} -\tab{5}\spadgraph{draw(x**2 + y**2 = 1, x, y, range == [-3/2..3/2,-3/2..3/2], unit==[0.5,0.5])} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDOptionsPagePatch10} -\begin{paste}{ugGraphTwoDOptionsPageFull10}{ugGraphTwoDOptionsPageEmpty10} -\pastebutton{ugGraphTwoDOptionsPageFull10}{\hidepaste} -\tab{5}\spadgraph{draw(curve(sin(5*t),t),t=0..2*\%pi, coordinates == polar)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodoptionspage10.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodoptionspage10}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDOptionsPageEmpty10} -\begin{paste}{ugGraphTwoDOptionsPageEmpty10}{ugGraphTwoDOptionsPagePatch10} -\pastebutton{ugGraphTwoDOptionsPageEmpty10}{\showpaste} -\tab{5}\spadgraph{draw(curve(sin(5*t),t),t=0..2*\%pi, coordinates == polar)} -\end{paste}\end{patch} - -\begin{patch}{ugGraphColorPalettePagePatch1} -\begin{paste}{ugGraphColorPalettePageFull1}{ugGraphColorPalettePageEmpty1} -\pastebutton{ugGraphColorPalettePageFull1}{\hidepaste} -\tab{5}\spadcommand{shade red()} -\indentrel{3}\begin{verbatim} - (1) 3 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphColorPalettePageEmpty1} -\begin{paste}{ugGraphColorPalettePageEmpty1}{ugGraphColorPalettePagePatch1} -\pastebutton{ugGraphColorPalettePageEmpty1}{\showpaste} -\tab{5}\spadcommand{shade red()} -\end{paste}\end{patch} - -\begin{patch}{ugGraphColorPalettePagePatch2} -\begin{paste}{ugGraphColorPalettePageFull2}{ugGraphColorPalettePageEmpty2} -\pastebutton{ugGraphColorPalettePageFull2}{\hidepaste} -\tab{5}\spadcommand{myFavoriteColor := dark blue()\bound{mfc }} -\indentrel{3}\begin{verbatim} - (2) [Hue: 22 Weight: 1.0] from the Dark palette - Type: Palette -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphColorPalettePageEmpty2} -\begin{paste}{ugGraphColorPalettePageEmpty2}{ugGraphColorPalettePagePatch2} -\pastebutton{ugGraphColorPalettePageEmpty2}{\showpaste} -\tab{5}\spadcommand{myFavoriteColor := dark blue()\bound{mfc }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphColorPalettePagePatch3} -\begin{paste}{ugGraphColorPalettePageFull3}{ugGraphColorPalettePageEmpty3} -\pastebutton{ugGraphColorPalettePageFull3}{\hidepaste} -\tab{5}\spadcommand{shade myFavoriteColor\free{mfc }} -\indentrel{3}\begin{verbatim} - (3) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphColorPalettePageEmpty3} -\begin{paste}{ugGraphColorPalettePageEmpty3}{ugGraphColorPalettePagePatch3} -\pastebutton{ugGraphColorPalettePageEmpty3}{\showpaste} -\tab{5}\spadcommand{shade myFavoriteColor\free{mfc }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphColorPalettePagePatch4} -\begin{paste}{ugGraphColorPalettePageFull4}{ugGraphColorPalettePageEmpty4} -\pastebutton{ugGraphColorPalettePageFull4}{\hidepaste} -\tab{5}\spadcommand{hue myFavoriteColor\free{mfc }} -\indentrel{3}\begin{verbatim} - (4) Hue: 22 Weight: 1.0 - Type: Color -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphColorPalettePageEmpty4} -\begin{paste}{ugGraphColorPalettePageEmpty4}{ugGraphColorPalettePagePatch4} -\pastebutton{ugGraphColorPalettePageEmpty4}{\showpaste} -\tab{5}\spadcommand{hue myFavoriteColor\free{mfc }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphColorPalettePagePatch5} -\begin{paste}{ugGraphColorPalettePageFull5}{ugGraphColorPalettePageEmpty5} -\pastebutton{ugGraphColorPalettePageFull5}{\hidepaste} -\tab{5}\spadgraph{draw(x**2,x=-1..1,curveColor == dark blue())} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphcolorpalettepage5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphcolorpalettepage5}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphColorPalettePageEmpty5} -\begin{paste}{ugGraphColorPalettePageEmpty5}{ugGraphColorPalettePagePatch5} -\pastebutton{ugGraphColorPalettePageEmpty5}{\showpaste} -\tab{5}\spadgraph{draw(x**2,x=-1..1,curveColor == dark blue())} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPagePatch1} -\begin{paste}{ugGraphThreeDOptionsPageFull1}{ugGraphThreeDOptionsPageEmpty1} -\pastebutton{ugGraphThreeDOptionsPageFull1}{\hidepaste} -\tab{5}\spadgraph{draw(cos(x*y),x=0..2*\%pi,y=0..\%pi,title == "Title of Graph")} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugGraphThreeDOptionsPage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugGraphThreeDOptionsPage1}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPageEmpty1} -\begin{paste}{ugGraphThreeDOptionsPageEmpty1}{ugGraphThreeDOptionsPagePatch1} -\pastebutton{ugGraphThreeDOptionsPageEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(cos(x*y),x=0..2*\%pi,y=0..\%pi,title == "Title of Graph")} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPagePatch2} -\begin{paste}{ugGraphThreeDOptionsPageFull2}{ugGraphThreeDOptionsPageEmpty2} -\pastebutton{ugGraphThreeDOptionsPageFull2}{\hidepaste} -\tab{5}\spadgraph{draw(cos(x*y),x=-3..3,y=-3..3, style=="smooth", title=="Smooth Option")} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedoptionspage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedoptionspage2}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPageEmpty2} -\begin{paste}{ugGraphThreeDOptionsPageEmpty2}{ugGraphThreeDOptionsPagePatch2} -\pastebutton{ugGraphThreeDOptionsPageEmpty2}{\showpaste} -\tab{5}\spadgraph{draw(cos(x*y),x=-3..3,y=-3..3, style=="smooth", title=="Smooth Option")} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPagePatch3} -\begin{paste}{ugGraphThreeDOptionsPageFull3}{ugGraphThreeDOptionsPageEmpty3} -\pastebutton{ugGraphThreeDOptionsPageFull3}{\hidepaste} -\tab{5}\spadcommand{color1(t) == t\bound{colorFxn1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPageEmpty3} -\begin{paste}{ugGraphThreeDOptionsPageEmpty3}{ugGraphThreeDOptionsPagePatch3} -\pastebutton{ugGraphThreeDOptionsPageEmpty3}{\showpaste} -\tab{5}\spadcommand{color1(t) == t\bound{colorFxn1 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPagePatch4} -\begin{paste}{ugGraphThreeDOptionsPageFull4}{ugGraphThreeDOptionsPageEmpty4} -\pastebutton{ugGraphThreeDOptionsPageFull4}{\hidepaste} -\tab{5}\spadgraph{draw(curve(sin(t), cos(t),0), t=0..2*\%pi, tubeRadius == .3, colorFunction == color1)\free{colorFxn1 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedoptionspage4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedoptionspage4}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPageEmpty4} -\begin{paste}{ugGraphThreeDOptionsPageEmpty4}{ugGraphThreeDOptionsPagePatch4} -\pastebutton{ugGraphThreeDOptionsPageEmpty4}{\showpaste} -\tab{5}\spadgraph{draw(curve(sin(t), cos(t),0), t=0..2*\%pi, tubeRadius == .3, colorFunction == color1)\free{colorFxn1 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPagePatch5} -\begin{paste}{ugGraphThreeDOptionsPageFull5}{ugGraphThreeDOptionsPageEmpty5} -\pastebutton{ugGraphThreeDOptionsPageFull5}{\hidepaste} -\tab{5}\spadcommand{color2(u,v) == u**2 - v**2\bound{colorFxn2 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPageEmpty5} -\begin{paste}{ugGraphThreeDOptionsPageEmpty5}{ugGraphThreeDOptionsPagePatch5} -\pastebutton{ugGraphThreeDOptionsPageEmpty5}{\showpaste} -\tab{5}\spadcommand{color2(u,v) == u**2 - v**2\bound{colorFxn2 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPagePatch6} -\begin{paste}{ugGraphThreeDOptionsPageFull6}{ugGraphThreeDOptionsPageEmpty6} -\pastebutton{ugGraphThreeDOptionsPageFull6}{\hidepaste} -\tab{5}\spadgraph{draw(cos(u*v), u=-3..3, v=-3..3, colorFunction == color2)\free{colorFxn2 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedoptionspage6.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedoptionspage6}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPageEmpty6} -\begin{paste}{ugGraphThreeDOptionsPageEmpty6}{ugGraphThreeDOptionsPagePatch6} -\pastebutton{ugGraphThreeDOptionsPageEmpty6}{\showpaste} -\tab{5}\spadgraph{draw(cos(u*v), u=-3..3, v=-3..3, colorFunction == color2)\free{colorFxn2 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPagePatch7} -\begin{paste}{ugGraphThreeDOptionsPageFull7}{ugGraphThreeDOptionsPageEmpty7} -\pastebutton{ugGraphThreeDOptionsPageFull7}{\hidepaste} -\tab{5}\spadcommand{color3(x,y,fxy) == sin(x*fxy) + cos(y*fxy)\bound{colorFxn3 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPageEmpty7} -\begin{paste}{ugGraphThreeDOptionsPageEmpty7}{ugGraphThreeDOptionsPagePatch7} -\pastebutton{ugGraphThreeDOptionsPageEmpty7}{\showpaste} -\tab{5}\spadcommand{color3(x,y,fxy) == sin(x*fxy) + cos(y*fxy)\bound{colorFxn3 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPagePatch8} -\begin{paste}{ugGraphThreeDOptionsPageFull8}{ugGraphThreeDOptionsPageEmpty8} -\pastebutton{ugGraphThreeDOptionsPageFull8}{\hidepaste} -\tab{5}\spadgraph{draw(cos(x*y), x=-3..3, y=-3..3, colorFunction == color3)\free{colorFxn3 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedoptionspage8.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedoptionspage8}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPageEmpty8} -\begin{paste}{ugGraphThreeDOptionsPageEmpty8}{ugGraphThreeDOptionsPagePatch8} -\pastebutton{ugGraphThreeDOptionsPageEmpty8}{\showpaste} -\tab{5}\spadgraph{draw(cos(x*y), x=-3..3, y=-3..3, colorFunction == color3)\free{colorFxn3 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPagePatch9} -\begin{paste}{ugGraphThreeDOptionsPageFull9}{ugGraphThreeDOptionsPageEmpty9} -\pastebutton{ugGraphThreeDOptionsPageFull9}{\hidepaste} -\tab{5}\spadcommand{m(u:DFLOAT,v:DFLOAT):DFLOAT == 1\bound{m }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPageEmpty9} -\begin{paste}{ugGraphThreeDOptionsPageEmpty9}{ugGraphThreeDOptionsPagePatch9} -\pastebutton{ugGraphThreeDOptionsPageEmpty9}{\showpaste} -\tab{5}\spadcommand{m(u:DFLOAT,v:DFLOAT):DFLOAT == 1\bound{m }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPagePatch10} -\begin{paste}{ugGraphThreeDOptionsPageFull10}{ugGraphThreeDOptionsPageEmpty10} -\pastebutton{ugGraphThreeDOptionsPageFull10}{\hidepaste} -\tab{5}\spadgraph{draw(m, 0..2*\%pi,0..\%pi, coordinates == spherical, style=="shade")\free{m }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugGraphThreeDOptionsPage10.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugGraphThreeDOptionsPage10}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPageEmpty10} -\begin{paste}{ugGraphThreeDOptionsPageEmpty10}{ugGraphThreeDOptionsPagePatch10} -\pastebutton{ugGraphThreeDOptionsPageEmpty10}{\showpaste} -\tab{5}\spadgraph{draw(m, 0..2*\%pi,0..\%pi, coordinates == spherical, style=="shade")\free{m }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPagePatch11} -\begin{paste}{ugGraphThreeDOptionsPageFull11}{ugGraphThreeDOptionsPageEmpty11} -\pastebutton{ugGraphThreeDOptionsPageFull11}{\hidepaste} -\tab{5}\spadgraph{draw(curve(sin(t),cos(t),0),t=0..2*\%pi, style=="shade", tubeRadius == .3)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedoptionspage11.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedoptionspage11}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPageEmpty11} -\begin{paste}{ugGraphThreeDOptionsPageEmpty11}{ugGraphThreeDOptionsPagePatch11} -\pastebutton{ugGraphThreeDOptionsPageEmpty11}{\showpaste} -\tab{5}\spadgraph{draw(curve(sin(t),cos(t),0),t=0..2*\%pi, style=="shade", tubeRadius == .3)} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPagePatch12} -\begin{paste}{ugGraphThreeDOptionsPageFull12}{ugGraphThreeDOptionsPageEmpty12} -\pastebutton{ugGraphThreeDOptionsPageFull12}{\hidepaste} -\tab{5}\spadgraph{draw(curve(sin(t), cos(t), 0), t=0..2*\%pi, style=="shade", tubeRadius == .25, tubePoints == 3)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedoptionspage12.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedoptionspage12}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPageEmpty12} -\begin{paste}{ugGraphThreeDOptionsPageEmpty12}{ugGraphThreeDOptionsPagePatch12} -\pastebutton{ugGraphThreeDOptionsPageEmpty12}{\showpaste} -\tab{5}\spadgraph{draw(curve(sin(t), cos(t), 0), t=0..2*\%pi, style=="shade", tubeRadius == .25, tubePoints == 3)} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPagePatch13} -\begin{paste}{ugGraphThreeDOptionsPageFull13}{ugGraphThreeDOptionsPageEmpty13} -\pastebutton{ugGraphThreeDOptionsPageFull13}{\hidepaste} -\tab{5}\spadgraph{draw(cos(x*y),x=-3..3,y=-3..3, style=="shade", var1Steps == 30, var2Steps == 30)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedoptionspage13.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedoptionspage13}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPageEmpty13} -\begin{paste}{ugGraphThreeDOptionsPageEmpty13}{ugGraphThreeDOptionsPagePatch13} -\pastebutton{ugGraphThreeDOptionsPageEmpty13}{\showpaste} -\tab{5}\spadgraph{draw(cos(x*y),x=-3..3,y=-3..3, style=="shade", var1Steps == 30, var2Steps == 30)} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPagePatch14} -\begin{paste}{ugGraphThreeDOptionsPageFull14}{ugGraphThreeDOptionsPageEmpty14} -\pastebutton{ugGraphThreeDOptionsPageFull14}{\hidepaste} -\tab{5}\spadcommand{s := create3Space()$(ThreeSpace DFLOAT)\bound{s }} -\indentrel{3}\begin{verbatim} - (14) 3-Space with 0 components - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPageEmpty14} -\begin{paste}{ugGraphThreeDOptionsPageEmpty14}{ugGraphThreeDOptionsPagePatch14} -\pastebutton{ugGraphThreeDOptionsPageEmpty14}{\showpaste} -\tab{5}\spadcommand{s := create3Space()$(ThreeSpace DFLOAT)\bound{s }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPagePatch15} -\begin{paste}{ugGraphThreeDOptionsPageFull15}{ugGraphThreeDOptionsPageEmpty15} -\pastebutton{ugGraphThreeDOptionsPageFull15}{\hidepaste} -\tab{5}\spadcommand{m(u:DFLOAT,v:DFLOAT):DFLOAT == 1\bound{m }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPageEmpty15} -\begin{paste}{ugGraphThreeDOptionsPageEmpty15}{ugGraphThreeDOptionsPagePatch15} -\pastebutton{ugGraphThreeDOptionsPageEmpty15}{\showpaste} -\tab{5}\spadcommand{m(u:DFLOAT,v:DFLOAT):DFLOAT == 1\bound{m }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPagePatch16} -\begin{paste}{ugGraphThreeDOptionsPageFull16}{ugGraphThreeDOptionsPageEmpty16} -\pastebutton{ugGraphThreeDOptionsPageFull16}{\hidepaste} -\tab{5}\spadgraph{draw(m,0..\%pi,0..2*\%pi, coordinates == spherical, space == s)\free{s m }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedoptionspage16.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedoptionspage16}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPageEmpty16} -\begin{paste}{ugGraphThreeDOptionsPageEmpty16}{ugGraphThreeDOptionsPagePatch16} -\pastebutton{ugGraphThreeDOptionsPageEmpty16}{\showpaste} -\tab{5}\spadgraph{draw(m,0..\%pi,0..2*\%pi, coordinates == spherical, space == s)\free{s m }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPagePatch17} -\begin{paste}{ugGraphThreeDOptionsPageFull17}{ugGraphThreeDOptionsPageEmpty17} -\pastebutton{ugGraphThreeDOptionsPageFull17}{\hidepaste} -\tab{5}\spadgraph{v := draw(curve(1.5*sin(t), 1.5*cos(t),0), t=0..2*\%pi, tubeRadius == .25, space == s)\free{s }\bound{v }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedoptionspage17.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedoptionspage17}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPageEmpty17} -\begin{paste}{ugGraphThreeDOptionsPageEmpty17}{ugGraphThreeDOptionsPagePatch17} -\pastebutton{ugGraphThreeDOptionsPageEmpty17}{\showpaste} -\tab{5}\spadgraph{v := draw(curve(1.5*sin(t), 1.5*cos(t),0), t=0..2*\%pi, tubeRadius == .25, space == s)\free{s }\bound{v }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPagePatch18} -\begin{paste}{ugGraphThreeDOptionsPageFull18}{ugGraphThreeDOptionsPageEmpty18} -\pastebutton{ugGraphThreeDOptionsPageFull18}{\hidepaste} -\tab{5}\spadcommand{subsp := subspace v\free{v }\bound{su }} -\indentrel{3}\begin{verbatim} - (18) 3-Space with 2 components - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPageEmpty18} -\begin{paste}{ugGraphThreeDOptionsPageEmpty18}{ugGraphThreeDOptionsPagePatch18} -\pastebutton{ugGraphThreeDOptionsPageEmpty18}{\showpaste} -\tab{5}\spadcommand{subsp := subspace v\free{v }\bound{su }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPagePatch19} -\begin{paste}{ugGraphThreeDOptionsPageFull19}{ugGraphThreeDOptionsPageEmpty19} -\pastebutton{ugGraphThreeDOptionsPageFull19}{\hidepaste} -\tab{5}\spadcommand{subspace(v, subsp)\bound{sp }\free{su }} -\indentrel{3}\begin{verbatim} - (19) - Closed or Undefined ThreeDimensionalViewport: "AXIOM3D" - Type: ThreeDimensionalViewport -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPageEmpty19} -\begin{paste}{ugGraphThreeDOptionsPageEmpty19}{ugGraphThreeDOptionsPagePatch19} -\pastebutton{ugGraphThreeDOptionsPageEmpty19}{\showpaste} -\tab{5}\spadcommand{subspace(v, subsp)\bound{sp }\free{su }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPagePatch20} -\begin{paste}{ugGraphThreeDOptionsPageFull20}{ugGraphThreeDOptionsPageEmpty20} -\pastebutton{ugGraphThreeDOptionsPageFull20}{\hidepaste} -\tab{5}\spadgraph{makeViewport3D(subsp,"Graphs")\free{sp }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedoptionspage20.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedoptionspage20}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDOptionsPageEmpty20} -\begin{paste}{ugGraphThreeDOptionsPageEmpty20}{ugGraphThreeDOptionsPagePatch20} -\pastebutton{ugGraphThreeDOptionsPageEmpty20}{\showpaste} -\tab{5}\spadgraph{makeViewport3D(subsp,"Graphs")\free{sp }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphClipPagePatch1} -\begin{paste}{ugGraphClipPageFull1}{ugGraphClipPageEmpty1} -\pastebutton{ugGraphClipPageFull1}{\hidepaste} -\tab{5}\spadcommand{gamma(x,y) == - g := Gamma complex(x,y) - point [x, y, max( min(real g, 4), -4), argument g] -\bound{g }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphClipPageEmpty1} -\begin{paste}{ugGraphClipPageEmpty1}{ugGraphClipPagePatch1} -\pastebutton{ugGraphClipPageEmpty1}{\showpaste} -\tab{5}\spadcommand{gamma(x,y) == - g := Gamma complex(x,y) - point [x, y, max( min(real g, 4), -4), argument g] -\bound{g }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphClipPagePatch2} -\begin{paste}{ugGraphClipPageFull2}{ugGraphClipPageEmpty2} -\pastebutton{ugGraphClipPageFull2}{\hidepaste} -\tab{5}\spadgraph{draw(gamma,-\%pi..\%pi,-\%pi..\%pi,var1Steps==50,var2Steps==50)\free{g }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphclippage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphclippage2}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphClipPageEmpty2} -\begin{paste}{ugGraphClipPageEmpty2}{ugGraphClipPagePatch2} -\pastebutton{ugGraphClipPageEmpty2}{\showpaste} -\tab{5}\spadgraph{draw(gamma,-\%pi..\%pi,-\%pi..\%pi,var1Steps==50,var2Steps==50)\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphCoordPagePatch1} -\begin{paste}{ugGraphCoordPageFull1}{ugGraphCoordPageEmpty1} -\pastebutton{ugGraphCoordPageFull1}{\hidepaste} -\tab{5}\spadcommand{m(u:DFLOAT,v:DFLOAT):DFLOAT == u**2\bound{m }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphCoordPageEmpty1} -\begin{paste}{ugGraphCoordPageEmpty1}{ugGraphCoordPagePatch1} -\pastebutton{ugGraphCoordPageEmpty1}{\showpaste} -\tab{5}\spadcommand{m(u:DFLOAT,v:DFLOAT):DFLOAT == u**2\bound{m }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphCoordPagePatch2} -\begin{paste}{ugGraphCoordPageFull2}{ugGraphCoordPageEmpty2} -\pastebutton{ugGraphCoordPageFull2}{\hidepaste} -\tab{5}\spadgraph{draw(m,0..3,0..5)\free{m }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphcoordpage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphcoordpage2}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphCoordPageEmpty2} -\begin{paste}{ugGraphCoordPageEmpty2}{ugGraphCoordPagePatch2} -\pastebutton{ugGraphCoordPageEmpty2}{\showpaste} -\tab{5}\spadgraph{draw(m,0..3,0..5)\free{m }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphCoordPagePatch3} -\begin{paste}{ugGraphCoordPageFull3}{ugGraphCoordPageEmpty3} -\pastebutton{ugGraphCoordPageFull3}{\hidepaste} -\tab{5}\spadcommand{cartesian(point:Point DFLOAT):Point DFLOAT == point\bound{cart }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphCoordPageEmpty3} -\begin{paste}{ugGraphCoordPageEmpty3}{ugGraphCoordPagePatch3} -\pastebutton{ugGraphCoordPageEmpty3}{\showpaste} -\tab{5}\spadcommand{cartesian(point:Point DFLOAT):Point DFLOAT == point\bound{cart }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphCoordPagePatch4} -\begin{paste}{ugGraphCoordPageFull4}{ugGraphCoordPageEmpty4} -\pastebutton{ugGraphCoordPageFull4}{\hidepaste} -\tab{5}\spadgraph{draw(m,0..3,0..5,coordinates==cartesian)\free{m cart }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphcoordpage4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphcoordpage4}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphCoordPageEmpty4} -\begin{paste}{ugGraphCoordPageEmpty4}{ugGraphCoordPagePatch4} -\pastebutton{ugGraphCoordPageEmpty4}{\showpaste} -\tab{5}\spadgraph{draw(m,0..3,0..5,coordinates==cartesian)\free{m cart }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphCoordPagePatch5} -\begin{paste}{ugGraphCoordPageFull5}{ugGraphCoordPageEmpty5} -\pastebutton{ugGraphCoordPageFull5}{\hidepaste} -\tab{5}\spadcommand{f(u:DFLOAT,v:DFLOAT):DFLOAT == 3\bound{f }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphCoordPageEmpty5} -\begin{paste}{ugGraphCoordPageEmpty5}{ugGraphCoordPagePatch5} -\pastebutton{ugGraphCoordPageEmpty5}{\showpaste} -\tab{5}\spadcommand{f(u:DFLOAT,v:DFLOAT):DFLOAT == 3\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphCoordPagePatch6} -\begin{paste}{ugGraphCoordPageFull6}{ugGraphCoordPageEmpty6} -\pastebutton{ugGraphCoordPageFull6}{\hidepaste} -\tab{5}\spadgraph{draw(f,0..\%pi,0..6,coordinates==cylindrical)\free{f }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphcoordpage6.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphcoordpage6}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphCoordPageEmpty6} -\begin{paste}{ugGraphCoordPageEmpty6}{ugGraphCoordPagePatch6} -\pastebutton{ugGraphCoordPageEmpty6}{\showpaste} -\tab{5}\spadgraph{draw(f,0..\%pi,0..6,coordinates==cylindrical)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphCoordPagePatch7} -\begin{paste}{ugGraphCoordPageFull7}{ugGraphCoordPageEmpty7} -\pastebutton{ugGraphCoordPageFull7}{\hidepaste} -\tab{5}\spadcommand{col := 5\bound{c }} -\indentrel{3}\begin{verbatim} - (7) 5 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphCoordPageEmpty7} -\begin{paste}{ugGraphCoordPageEmpty7}{ugGraphCoordPagePatch7} -\pastebutton{ugGraphCoordPageEmpty7}{\showpaste} -\tab{5}\spadcommand{col := 5\bound{c }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphCoordPagePatch8} -\begin{paste}{ugGraphCoordPageFull8}{ugGraphCoordPageEmpty8} -\pastebutton{ugGraphCoordPageFull8}{\hidepaste} -\tab{5}\spadcommand{pt := point[1,2,3,col]$(Point DFLOAT)\free{c }\bound{pt }} -\indentrel{3}\begin{verbatim} - (8) [1.0,2.0,3.0,5.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphCoordPageEmpty8} -\begin{paste}{ugGraphCoordPageEmpty8}{ugGraphCoordPagePatch8} -\pastebutton{ugGraphCoordPageEmpty8}{\showpaste} -\tab{5}\spadcommand{pt := point[1,2,3,col]$(Point DFLOAT)\free{c }\bound{pt }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphCoordPagePatch9} -\begin{paste}{ugGraphCoordPageFull9}{ugGraphCoordPageEmpty9} -\pastebutton{ugGraphCoordPageFull9}{\hidepaste} -\tab{5}\spadcommand{reorder(p:Point DFLOAT):Point DFLOAT == point[p.2, p.3, p.1, p.4]\bound{freo }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphCoordPageEmpty9} -\begin{paste}{ugGraphCoordPageEmpty9}{ugGraphCoordPagePatch9} -\pastebutton{ugGraphCoordPageEmpty9}{\showpaste} -\tab{5}\spadcommand{reorder(p:Point DFLOAT):Point DFLOAT == point[p.2, p.3, p.1, p.4]\bound{freo }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphCoordPagePatch10} -\begin{paste}{ugGraphCoordPageFull10}{ugGraphCoordPageEmpty10} -\pastebutton{ugGraphCoordPageFull10}{\hidepaste} -\tab{5}\spadcommand{reorder pt\free{pt freo }} -\indentrel{3}\begin{verbatim} - (10) [2.0,3.0,1.0,5.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphCoordPageEmpty10} -\begin{paste}{ugGraphCoordPageEmpty10}{ugGraphCoordPagePatch10} -\pastebutton{ugGraphCoordPageEmpty10}{\showpaste} -\tab{5}\spadcommand{reorder pt\free{pt freo }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphCoordPagePatch11} -\begin{paste}{ugGraphCoordPageFull11}{ugGraphCoordPageEmpty11} -\pastebutton{ugGraphCoordPageFull11}{\hidepaste} -\tab{5}\spadcommand{newmap(pt:Point DFLOAT):Point DFLOAT == cylindrical(reorder pt)\free{freo }\bound{fnewmap }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphCoordPageEmpty11} -\begin{paste}{ugGraphCoordPageEmpty11}{ugGraphCoordPagePatch11} -\pastebutton{ugGraphCoordPageEmpty11}{\showpaste} -\tab{5}\spadcommand{newmap(pt:Point DFLOAT):Point DFLOAT == cylindrical(reorder pt)\free{freo }\bound{fnewmap }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphCoordPagePatch12} -\begin{paste}{ugGraphCoordPageFull12}{ugGraphCoordPageEmpty12} -\pastebutton{ugGraphCoordPageFull12}{\hidepaste} -\tab{5}\spadcommand{newmap pt\free{fnewmap pt }\bound{new }} -\indentrel{3}\begin{verbatim} - (12) - [- 1.9799849932008908,0.28224001611973443,1.0,5.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphCoordPageEmpty12} -\begin{paste}{ugGraphCoordPageEmpty12}{ugGraphCoordPagePatch12} -\pastebutton{ugGraphCoordPageEmpty12}{\showpaste} -\tab{5}\spadcommand{newmap pt\free{fnewmap pt }\bound{new }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphCoordPagePatch13} -\begin{paste}{ugGraphCoordPageFull13}{ugGraphCoordPageEmpty13} -\pastebutton{ugGraphCoordPageFull13}{\hidepaste} -\tab{5}\spadgraph{draw(f,0..3,0..2*\%pi,coordinates==newmap)\free{f new }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphcoordpage13.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphcoordpage13}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphCoordPageEmpty13} -\begin{paste}{ugGraphCoordPageEmpty13}{ugGraphCoordPagePatch13} -\pastebutton{ugGraphCoordPageEmpty13}{\showpaste} -\tab{5}\spadgraph{draw(f,0..3,0..2*\%pi,coordinates==newmap)\free{f new }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphColorPagePatch1} -\begin{paste}{ugGraphColorPageFull1}{ugGraphColorPageEmpty1} -\pastebutton{ugGraphColorPageFull1}{\hidepaste} -\tab{5}\spadgraph{draw(x**2,x=-1..1,pointColor == green())} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphcolorpage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphcolorpage1}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphColorPageEmpty1} -\begin{paste}{ugGraphColorPageEmpty1}{ugGraphColorPagePatch1} -\pastebutton{ugGraphColorPageEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(x**2,x=-1..1,pointColor == green())} -\end{paste}\end{patch} - -\begin{patch}{ugGraphColorPagePatch2} -\begin{paste}{ugGraphColorPageFull2}{ugGraphColorPageEmpty2} -\pastebutton{ugGraphColorPageFull2}{\hidepaste} -\tab{5}\spadgraph{draw(x**2,x=-1..1,curveColor == color(13) + 2*blue())} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphcolorpage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphcolorpage2}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphColorPageEmpty2} -\begin{paste}{ugGraphColorPageEmpty2}{ugGraphColorPagePatch2} -\pastebutton{ugGraphColorPageEmpty2}{\showpaste} -\tab{5}\spadgraph{draw(x**2,x=-1..1,curveColor == color(13) + 2*blue())} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDParPagePatch1} -\begin{paste}{ugGraphTwoDParPageFull1}{ugGraphTwoDParPageEmpty1} -\pastebutton{ugGraphTwoDParPageFull1}{\hidepaste} -\tab{5}\spadgraph{draw(curve(sin(t)*sin(2*t)*sin(3*t), sin(4*t)*sin(5*t)*sin(6*t)), t = 0..2*\%pi)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodparpage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodparpage1}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDParPageEmpty1} -\begin{paste}{ugGraphTwoDParPageEmpty1}{ugGraphTwoDParPagePatch1} -\pastebutton{ugGraphTwoDParPageEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(curve(sin(t)*sin(2*t)*sin(3*t), sin(4*t)*sin(5*t)*sin(6*t)), t = 0..2*\%pi)} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDParPagePatch2} -\begin{paste}{ugGraphTwoDParPageFull2}{ugGraphTwoDParPageEmpty2} -\pastebutton{ugGraphTwoDParPageFull2}{\hidepaste} -\tab{5}\spadgraph{draw(curve(cos(t), sin(t)), t = 0..2*\%pi)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodparpage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodparpage2}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDParPageEmpty2} -\begin{paste}{ugGraphTwoDParPageEmpty2}{ugGraphTwoDParPagePatch2} -\pastebutton{ugGraphTwoDParPageEmpty2}{\showpaste} -\tab{5}\spadgraph{draw(curve(cos(t), sin(t)), t = 0..2*\%pi)} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDParPagePatch3} -\begin{paste}{ugGraphTwoDParPageFull3}{ugGraphTwoDParPageEmpty3} -\pastebutton{ugGraphTwoDParPageFull3}{\hidepaste} -\tab{5}\spadcommand{f(t:DFLOAT):DFLOAT == sin(3*t/4)\bound{f }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDParPageEmpty3} -\begin{paste}{ugGraphTwoDParPageEmpty3}{ugGraphTwoDParPagePatch3} -\pastebutton{ugGraphTwoDParPageEmpty3}{\showpaste} -\tab{5}\spadcommand{f(t:DFLOAT):DFLOAT == sin(3*t/4)\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDParPagePatch4} -\begin{paste}{ugGraphTwoDParPageFull4}{ugGraphTwoDParPageEmpty4} -\pastebutton{ugGraphTwoDParPageFull4}{\hidepaste} -\tab{5}\spadcommand{g(t:DFLOAT):DFLOAT == sin(t)\bound{g }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDParPageEmpty4} -\begin{paste}{ugGraphTwoDParPageEmpty4}{ugGraphTwoDParPagePatch4} -\pastebutton{ugGraphTwoDParPageEmpty4}{\showpaste} -\tab{5}\spadcommand{g(t:DFLOAT):DFLOAT == sin(t)\bound{g }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDParPagePatch5} -\begin{paste}{ugGraphTwoDParPageFull5}{ugGraphTwoDParPageEmpty5} -\pastebutton{ugGraphTwoDParPageFull5}{\hidepaste} -\tab{5}\spadgraph{draw(curve(f,g),0..\%pi)\free{f g }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodparpage5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodparpage5}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDParPageEmpty5} -\begin{paste}{ugGraphTwoDParPageEmpty5}{ugGraphTwoDParPagePatch5} -\pastebutton{ugGraphTwoDParPageEmpty5}{\showpaste} -\tab{5}\spadgraph{draw(curve(f,g),0..\%pi)\free{f g }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDParPagePatch6} -\begin{paste}{ugGraphTwoDParPageFull6}{ugGraphTwoDParPageEmpty6} -\pastebutton{ugGraphTwoDParPageFull6}{\hidepaste} -\tab{5}\spadgraph{draw(curve(f,g),-4*\%pi..4*\%pi)\free{f g }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodparpage6.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodparpage6}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDParPageEmpty6} -\begin{paste}{ugGraphTwoDParPageEmpty6}{ugGraphTwoDParPagePatch6} -\pastebutton{ugGraphTwoDParPageEmpty6}{\showpaste} -\tab{5}\spadgraph{draw(curve(f,g),-4*\%pi..4*\%pi)\free{f g }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDPlotPagePatch1} -\begin{paste}{ugGraphTwoDPlotPageFull1}{ugGraphTwoDPlotPageEmpty1} -\pastebutton{ugGraphTwoDPlotPageFull1}{\hidepaste} -\tab{5}\spadgraph{draw(sin(tan(x)) - tan(sin(x)),x = 0..6)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodplotpage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodplotpage1}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDPlotPageEmpty1} -\begin{paste}{ugGraphTwoDPlotPageEmpty1}{ugGraphTwoDPlotPagePatch1} -\pastebutton{ugGraphTwoDPlotPageEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(sin(tan(x)) - tan(sin(x)),x = 0..6)} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDPlotPagePatch2} -\begin{paste}{ugGraphTwoDPlotPageFull2}{ugGraphTwoDPlotPageEmpty2} -\pastebutton{ugGraphTwoDPlotPageFull2}{\hidepaste} -\tab{5}\spadgraph{draw(sin(tan(x)) - tan(sin(x)),x = 10..16)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodplotpage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodplotpage2}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDPlotPageEmpty2} -\begin{paste}{ugGraphTwoDPlotPageEmpty2}{ugGraphTwoDPlotPagePatch2} -\pastebutton{ugGraphTwoDPlotPageEmpty2}{\showpaste} -\tab{5}\spadgraph{draw(sin(tan(x)) - tan(sin(x)),x = 10..16)} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDPlotPagePatch3} -\begin{paste}{ugGraphTwoDPlotPageFull3}{ugGraphTwoDPlotPageEmpty3} -\pastebutton{ugGraphTwoDPlotPageFull3}{\hidepaste} -\tab{5}\spadcommand{f(x) == (x-1)*(x-2)*(x-3)\bound{f }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDPlotPageEmpty3} -\begin{paste}{ugGraphTwoDPlotPageEmpty3}{ugGraphTwoDPlotPagePatch3} -\pastebutton{ugGraphTwoDPlotPageEmpty3}{\showpaste} -\tab{5}\spadcommand{f(x) == (x-1)*(x-2)*(x-3)\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDPlotPagePatch4} -\begin{paste}{ugGraphTwoDPlotPageFull4}{ugGraphTwoDPlotPageEmpty4} -\pastebutton{ugGraphTwoDPlotPageFull4}{\hidepaste} -\tab{5}\spadgraph{draw(f, 0..4)\free{f }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodplotpage4.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodplotpage4}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDPlotPageEmpty4} -\begin{paste}{ugGraphTwoDPlotPageEmpty4}{ugGraphTwoDPlotPagePatch4} -\pastebutton{ugGraphTwoDPlotPageEmpty4}{\showpaste} -\tab{5}\spadgraph{draw(f, 0..4)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDParPagePatch1} -\begin{paste}{ugGraphThreeDParPageFull1}{ugGraphThreeDParPageEmpty1} -\pastebutton{ugGraphThreeDParPageFull1}{\hidepaste} -\tab{5}\spadgraph{draw(surface(u*cos(v), u*sin(v), v*cos(u)), u=-4..4, v=0..\%pi, coordinates== parabolicCylindrical)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedparpage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedparpage1}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDParPageEmpty1} -\begin{paste}{ugGraphThreeDParPageEmpty1}{ugGraphThreeDParPagePatch1} -\pastebutton{ugGraphThreeDParPageEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(surface(u*cos(v), u*sin(v), v*cos(u)), u=-4..4, v=0..\%pi, coordinates== parabolicCylindrical)} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDParPagePatch2} -\begin{paste}{ugGraphThreeDParPageFull2}{ugGraphThreeDParPageEmpty2} -\pastebutton{ugGraphThreeDParPageFull2}{\hidepaste} -\tab{5}\spadcommand{n1(u:DFLOAT,v:DFLOAT):DFLOAT == u*cos(v)\bound{n1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDParPageEmpty2} -\begin{paste}{ugGraphThreeDParPageEmpty2}{ugGraphThreeDParPagePatch2} -\pastebutton{ugGraphThreeDParPageEmpty2}{\showpaste} -\tab{5}\spadcommand{n1(u:DFLOAT,v:DFLOAT):DFLOAT == u*cos(v)\bound{n1 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDParPagePatch3} -\begin{paste}{ugGraphThreeDParPageFull3}{ugGraphThreeDParPageEmpty3} -\pastebutton{ugGraphThreeDParPageFull3}{\hidepaste} -\tab{5}\spadcommand{n2(u:DFLOAT,v:DFLOAT):DFLOAT == u*sin(v)\bound{n2 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDParPageEmpty3} -\begin{paste}{ugGraphThreeDParPageEmpty3}{ugGraphThreeDParPagePatch3} -\pastebutton{ugGraphThreeDParPageEmpty3}{\showpaste} -\tab{5}\spadcommand{n2(u:DFLOAT,v:DFLOAT):DFLOAT == u*sin(v)\bound{n2 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDParPagePatch4} -\begin{paste}{ugGraphThreeDParPageFull4}{ugGraphThreeDParPageEmpty4} -\pastebutton{ugGraphThreeDParPageFull4}{\hidepaste} -\tab{5}\spadcommand{n3(u:DFLOAT,v:DFLOAT):DFLOAT == u\bound{n3 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDParPageEmpty4} -\begin{paste}{ugGraphThreeDParPageEmpty4}{ugGraphThreeDParPagePatch4} -\pastebutton{ugGraphThreeDParPageEmpty4}{\showpaste} -\tab{5}\spadcommand{n3(u:DFLOAT,v:DFLOAT):DFLOAT == u\bound{n3 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDParPagePatch5} -\begin{paste}{ugGraphThreeDParPageFull5}{ugGraphThreeDParPageEmpty5} -\pastebutton{ugGraphThreeDParPageFull5}{\hidepaste} -\tab{5}\spadcommand{n3(0.5,1.0)\free{n3 }} -\indentrel{3}\begin{verbatim} - (5) 0.5 - Type: DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDParPageEmpty5} -\begin{paste}{ugGraphThreeDParPageEmpty5}{ugGraphThreeDParPagePatch5} -\pastebutton{ugGraphThreeDParPageEmpty5}{\showpaste} -\tab{5}\spadcommand{n3(0.5,1.0)\free{n3 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDParPagePatch6} -\begin{paste}{ugGraphThreeDParPageFull6}{ugGraphThreeDParPageEmpty6} -\pastebutton{ugGraphThreeDParPageFull6}{\hidepaste} -\tab{5}\spadgraph{draw(surface(n1,n2,n3), 1..4, 1..2*\%pi, coordinates == toroidal(1$DFLOAT))\free{n1 n2 n3 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphthreedparpage6.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphthreedparpage6}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphThreeDParPageEmpty6} -\begin{paste}{ugGraphThreeDParPageEmpty6}{ugGraphThreeDParPagePatch6} -\pastebutton{ugGraphThreeDParPageEmpty6}{\showpaste} -\tab{5}\spadgraph{draw(surface(n1,n2,n3), 1..4, 1..2*\%pi, coordinates == toroidal(1$DFLOAT))\free{n1 n2 n3 }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDPlanePagePatch1} -\begin{paste}{ugGraphTwoDPlanePageFull1}{ugGraphTwoDPlanePageEmpty1} -\pastebutton{ugGraphTwoDPlanePageFull1}{\hidepaste} -\tab{5}\spadcommand{p := ((x**2 + y**2 + 1) - 8*x)**2 - (8*(x**2 + y**2 + 1)-4*x-1)\bound{p }} -\indentrel{3}\begin{verbatim} - (1) - 4 2 2 4 3 2 - y + (2x - 16x - 6)y + x - 16x + 58x - 12x - 6 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDPlanePageEmpty1} -\begin{paste}{ugGraphTwoDPlanePageEmpty1}{ugGraphTwoDPlanePagePatch1} -\pastebutton{ugGraphTwoDPlanePageEmpty1}{\showpaste} -\tab{5}\spadcommand{p := ((x**2 + y**2 + 1) - 8*x)**2 - (8*(x**2 + y**2 + 1)-4*x-1)\bound{p }} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDPlanePagePatch2} -\begin{paste}{ugGraphTwoDPlanePageFull2}{ugGraphTwoDPlanePageEmpty2} -\pastebutton{ugGraphTwoDPlanePageFull2}{\hidepaste} -\tab{5}\spadgraph{draw(p = 0, x, y, range == [-1..11, -7..7])\free{p }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/uggraphtwodplanepage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/uggraphtwodplanepage2}} -\end{paste}\end{patch} - -\begin{patch}{ugGraphTwoDPlanePageEmpty2} -\begin{paste}{ugGraphTwoDPlanePageEmpty2}{ugGraphTwoDPlanePagePatch2} -\pastebutton{ugGraphTwoDPlanePageEmpty2}{\showpaste} -\tab{5}\spadgraph{draw(p = 0, x, y, range == [-1..11, -7..7])\free{p }} -\end{paste}\end{patch} - diff --git a/books/pages/ug08.pht b/books/pages/ug08.pht deleted file mode 100644 index 572a326..0000000 --- a/books/pages/ug08.pht +++ /dev/null @@ -1,7664 +0,0 @@ -\begin{patch}{ugxProblemSeriesBernoulliPagePatch1} -\begin{paste}{ugxProblemSeriesBernoulliPageFull1}{ugxProblemSeriesBernoulliPageEmpty1} -\pastebutton{ugxProblemSeriesBernoulliPageFull1}{\hidepaste} -\tab{5}\spadcommand{reduce(+,[m**4 for m in 1..10])} -\indentrel{3}\begin{verbatim} - (1) 25333 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesBernoulliPageEmpty1} -\begin{paste}{ugxProblemSeriesBernoulliPageEmpty1}{ugxProblemSeriesBernoulliPagePatch1} -\pastebutton{ugxProblemSeriesBernoulliPageEmpty1}{\showpaste} -\tab{5}\spadcommand{reduce(+,[m**4 for m in 1..10])} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesBernoulliPagePatch2} -\begin{paste}{ugxProblemSeriesBernoulliPageFull2}{ugxProblemSeriesBernoulliPageEmpty2} -\pastebutton{ugxProblemSeriesBernoulliPageFull2}{\hidepaste} -\tab{5}\spadcommand{sum4 := sum(m**4, m = 1..k)\bound{sum4 }} -\indentrel{3}\begin{verbatim} - 5 4 3 - 6k + 15k + 10k - k - (2) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 30 - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesBernoulliPageEmpty2} -\begin{paste}{ugxProblemSeriesBernoulliPageEmpty2}{ugxProblemSeriesBernoulliPagePatch2} -\pastebutton{ugxProblemSeriesBernoulliPageEmpty2}{\showpaste} -\tab{5}\spadcommand{sum4 := sum(m**4, m = 1..k)\bound{sum4 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesBernoulliPagePatch3} -\begin{paste}{ugxProblemSeriesBernoulliPageFull3}{ugxProblemSeriesBernoulliPageEmpty3} -\pastebutton{ugxProblemSeriesBernoulliPageFull3}{\hidepaste} -\tab{5}\spadcommand{eval(sum4, k = 10)\free{sum4 }} -\indentrel{3}\begin{verbatim} - (3) 25333 - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesBernoulliPageEmpty3} -\begin{paste}{ugxProblemSeriesBernoulliPageEmpty3}{ugxProblemSeriesBernoulliPagePatch3} -\pastebutton{ugxProblemSeriesBernoulliPageEmpty3}{\showpaste} -\tab{5}\spadcommand{eval(sum4, k = 10)\free{sum4 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesBernoulliPagePatch4} -\begin{paste}{ugxProblemSeriesBernoulliPageFull4}{ugxProblemSeriesBernoulliPageEmpty4} -\pastebutton{ugxProblemSeriesBernoulliPageFull4}{\hidepaste} -\tab{5}\spadcommand{f := t*exp(x*t) / (exp(t) - 1)\bound{f }} -\indentrel{3}\begin{verbatim} - t x - t %e - (4) ÄÄÄÄÄÄÄ - t - %e - 1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesBernoulliPageEmpty4} -\begin{paste}{ugxProblemSeriesBernoulliPageEmpty4}{ugxProblemSeriesBernoulliPagePatch4} -\pastebutton{ugxProblemSeriesBernoulliPageEmpty4}{\showpaste} -\tab{5}\spadcommand{f := t*exp(x*t) / (exp(t) - 1)\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesBernoulliPagePatch5} -\begin{paste}{ugxProblemSeriesBernoulliPageFull5}{ugxProblemSeriesBernoulliPageEmpty5} -\pastebutton{ugxProblemSeriesBernoulliPageFull5}{\hidepaste} -\tab{5}\spadcommand{)set streams calculate 5\bound{set }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesBernoulliPageEmpty5} -\begin{paste}{ugxProblemSeriesBernoulliPageEmpty5}{ugxProblemSeriesBernoulliPagePatch5} -\pastebutton{ugxProblemSeriesBernoulliPageEmpty5}{\showpaste} -\tab{5}\spadcommand{)set streams calculate 5\bound{set }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesBernoulliPagePatch6} -\begin{paste}{ugxProblemSeriesBernoulliPageFull6}{ugxProblemSeriesBernoulliPageEmpty6} -\pastebutton{ugxProblemSeriesBernoulliPageFull6}{\hidepaste} -\tab{5}\spadcommand{ff := taylor(f,t = 0)\free{f set }\bound{ff }} -\indentrel{3}\begin{verbatim} - (5) - 2 3 2 - 2x - 1 6x - 6x + 1 2 2x - 3x + x 3 - 1 + ÄÄÄÄÄÄ t + ÄÄÄÄÄÄÄÄÄÄÄÄ t + ÄÄÄÄÄÄÄÄÄÄÄÄÄ t - 2 12 12 - + - 4 3 2 5 4 3 - 30x - 60x + 30x - 1 4 6x - 15x + 10x - x 5 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ t + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ t - 720 720 - + - 6 - O(t ) - Type: UnivariateTaylorSeries(Expression Integer,t,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesBernoulliPageEmpty6} -\begin{paste}{ugxProblemSeriesBernoulliPageEmpty6}{ugxProblemSeriesBernoulliPagePatch6} -\pastebutton{ugxProblemSeriesBernoulliPageEmpty6}{\showpaste} -\tab{5}\spadcommand{ff := taylor(f,t = 0)\free{f set }\bound{ff }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesBernoulliPagePatch7} -\begin{paste}{ugxProblemSeriesBernoulliPageFull7}{ugxProblemSeriesBernoulliPageEmpty7} -\pastebutton{ugxProblemSeriesBernoulliPageFull7}{\hidepaste} -\tab{5}\spadcommand{factorial(6) * coefficient(ff,6)\free{ff }} -\indentrel{3}\begin{verbatim} - 6 5 4 2 - 42x - 126x + 105x - 21x + 1 - (6) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 42 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesBernoulliPageEmpty7} -\begin{paste}{ugxProblemSeriesBernoulliPageEmpty7}{ugxProblemSeriesBernoulliPagePatch7} -\pastebutton{ugxProblemSeriesBernoulliPageEmpty7}{\showpaste} -\tab{5}\spadcommand{factorial(6) * coefficient(ff,6)\free{ff }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesBernoulliPagePatch8} -\begin{paste}{ugxProblemSeriesBernoulliPageFull8}{ugxProblemSeriesBernoulliPageEmpty8} -\pastebutton{ugxProblemSeriesBernoulliPageFull8}{\hidepaste} -\tab{5}\spadcommand{g := eval(f, x = x + 1) - f\bound{g }\free{f }} -\indentrel{3}\begin{verbatim} - t x + t t x - t %e - t %e - (7) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - t - %e - 1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesBernoulliPageEmpty8} -\begin{paste}{ugxProblemSeriesBernoulliPageEmpty8}{ugxProblemSeriesBernoulliPagePatch8} -\pastebutton{ugxProblemSeriesBernoulliPageEmpty8}{\showpaste} -\tab{5}\spadcommand{g := eval(f, x = x + 1) - f\bound{g }\free{f }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesBernoulliPagePatch9} -\begin{paste}{ugxProblemSeriesBernoulliPageFull9}{ugxProblemSeriesBernoulliPageEmpty9} -\pastebutton{ugxProblemSeriesBernoulliPageFull9}{\hidepaste} -\tab{5}\spadcommand{normalize(g)\free{g }} -\indentrel{3}\begin{verbatim} - t x - (8) t %e - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesBernoulliPageEmpty9} -\begin{paste}{ugxProblemSeriesBernoulliPageEmpty9}{ugxProblemSeriesBernoulliPagePatch9} -\pastebutton{ugxProblemSeriesBernoulliPageEmpty9}{\showpaste} -\tab{5}\spadcommand{normalize(g)\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesBernoulliPagePatch10} -\begin{paste}{ugxProblemSeriesBernoulliPageFull10}{ugxProblemSeriesBernoulliPageEmpty10} -\pastebutton{ugxProblemSeriesBernoulliPageFull10}{\hidepaste} -\tab{5}\spadcommand{taylor(g,t = 0)\free{g }} -\indentrel{3}\begin{verbatim} - 2 3 4 - 2 x 3 x 4 x 5 6 - (9) t + x t + ÄÄ t + ÄÄ t + ÄÄ t + O(t ) - 2 6 24 - Type: UnivariateTaylorSeries(Expression Integer,t,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesBernoulliPageEmpty10} -\begin{paste}{ugxProblemSeriesBernoulliPageEmpty10}{ugxProblemSeriesBernoulliPagePatch10} -\pastebutton{ugxProblemSeriesBernoulliPageEmpty10}{\showpaste} -\tab{5}\spadcommand{taylor(g,t = 0)\free{g }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesBernoulliPagePatch11} -\begin{paste}{ugxProblemSeriesBernoulliPageFull11}{ugxProblemSeriesBernoulliPageEmpty11} -\pastebutton{ugxProblemSeriesBernoulliPageFull11}{\hidepaste} -\tab{5}\spadcommand{B5 := factorial(5) * coefficient(ff,5)\free{ff }\bound{B5 }} -\indentrel{3}\begin{verbatim} - 5 4 3 - 6x - 15x + 10x - x - (10) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 6 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesBernoulliPageEmpty11} -\begin{paste}{ugxProblemSeriesBernoulliPageEmpty11}{ugxProblemSeriesBernoulliPagePatch11} -\pastebutton{ugxProblemSeriesBernoulliPageEmpty11}{\showpaste} -\tab{5}\spadcommand{B5 := factorial(5) * coefficient(ff,5)\free{ff }\bound{B5 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesBernoulliPagePatch12} -\begin{paste}{ugxProblemSeriesBernoulliPageFull12}{ugxProblemSeriesBernoulliPageEmpty12} -\pastebutton{ugxProblemSeriesBernoulliPageFull12}{\hidepaste} -\tab{5}\spadcommand{1/5 * (eval(B5, x = k + 1) - eval(B5, x = 1))\free{B5 }} -\indentrel{3}\begin{verbatim} - 5 4 3 - 6k + 15k + 10k - k - (11) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 30 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesBernoulliPageEmpty12} -\begin{paste}{ugxProblemSeriesBernoulliPageEmpty12}{ugxProblemSeriesBernoulliPagePatch12} -\pastebutton{ugxProblemSeriesBernoulliPageEmpty12}{\showpaste} -\tab{5}\spadcommand{1/5 * (eval(B5, x = k + 1) - eval(B5, x = 1))\free{B5 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesBernoulliPagePatch13} -\begin{paste}{ugxProblemSeriesBernoulliPageFull13}{ugxProblemSeriesBernoulliPageEmpty13} -\pastebutton{ugxProblemSeriesBernoulliPageFull13}{\hidepaste} -\tab{5}\spadcommand{sum4\free{sum4 }} -\indentrel{3}\begin{verbatim} - 5 4 3 - 6k + 15k + 10k - k - (12) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 30 - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesBernoulliPageEmpty13} -\begin{paste}{ugxProblemSeriesBernoulliPageEmpty13}{ugxProblemSeriesBernoulliPagePatch13} -\pastebutton{ugxProblemSeriesBernoulliPageEmpty13}{\showpaste} -\tab{5}\spadcommand{sum4\free{sum4 }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemLaplacePagePatch1} -\begin{paste}{ugProblemLaplacePageFull1}{ugProblemLaplacePageEmpty1} -\pastebutton{ugProblemLaplacePageFull1}{\hidepaste} -\tab{5}\spadcommand{laplace(sin(a*t)*cosh(a*t)-cos(a*t)*sinh(a*t), t, s)} -\indentrel{3}\begin{verbatim} - 3 - 4a - (1) ÄÄÄÄÄÄÄÄ - 4 4 - s + 4a - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemLaplacePageEmpty1} -\begin{paste}{ugProblemLaplacePageEmpty1}{ugProblemLaplacePagePatch1} -\pastebutton{ugProblemLaplacePageEmpty1}{\showpaste} -\tab{5}\spadcommand{laplace(sin(a*t)*cosh(a*t)-cos(a*t)*sinh(a*t), t, s)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemLaplacePagePatch2} -\begin{paste}{ugProblemLaplacePageFull2}{ugProblemLaplacePageEmpty2} -\pastebutton{ugProblemLaplacePageFull2}{\hidepaste} -\tab{5}\spadcommand{laplace((exp(a*t) - exp(b*t))/t, t, s)} -\indentrel{3}\begin{verbatim} - (2) - log(s - a) + log(s - b) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemLaplacePageEmpty2} -\begin{paste}{ugProblemLaplacePageEmpty2}{ugProblemLaplacePagePatch2} -\pastebutton{ugProblemLaplacePageEmpty2}{\showpaste} -\tab{5}\spadcommand{laplace((exp(a*t) - exp(b*t))/t, t, s)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemLaplacePagePatch3} -\begin{paste}{ugProblemLaplacePageFull3}{ugProblemLaplacePageEmpty3} -\pastebutton{ugProblemLaplacePageFull3}{\hidepaste} -\tab{5}\spadcommand{laplace(2/t * (1 - cos(a*t)), t, s)} -\indentrel{3}\begin{verbatim} - 2 2 - (3) log(s + a ) - 2log(s) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemLaplacePageEmpty3} -\begin{paste}{ugProblemLaplacePageEmpty3}{ugProblemLaplacePagePatch3} -\pastebutton{ugProblemLaplacePageEmpty3}{\showpaste} -\tab{5}\spadcommand{laplace(2/t * (1 - cos(a*t)), t, s)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemLaplacePagePatch4} -\begin{paste}{ugProblemLaplacePageFull4}{ugProblemLaplacePageEmpty4} -\pastebutton{ugProblemLaplacePageFull4}{\hidepaste} -\tab{5}\spadcommand{laplace(exp(-a*t) * sin(b*t) / b**2, t, s)} -\indentrel{3}\begin{verbatim} - 1 - (4) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 2 3 2 - b s + 2a b s + b + a b - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemLaplacePageEmpty4} -\begin{paste}{ugProblemLaplacePageEmpty4}{ugProblemLaplacePagePatch4} -\pastebutton{ugProblemLaplacePageEmpty4}{\showpaste} -\tab{5}\spadcommand{laplace(exp(-a*t) * sin(b*t) / b**2, t, s)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemLaplacePagePatch5} -\begin{paste}{ugProblemLaplacePageFull5}{ugProblemLaplacePageEmpty5} -\pastebutton{ugProblemLaplacePageFull5}{\hidepaste} -\tab{5}\spadcommand{laplace((cos(a*t) - cos(b*t))/t, t, s)} -\indentrel{3}\begin{verbatim} - 2 2 2 2 - log(s + b ) - log(s + a ) - (5) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 2 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemLaplacePageEmpty5} -\begin{paste}{ugProblemLaplacePageEmpty5}{ugProblemLaplacePagePatch5} -\pastebutton{ugProblemLaplacePageEmpty5}{\showpaste} -\tab{5}\spadcommand{laplace((cos(a*t) - cos(b*t))/t, t, s)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemLaplacePagePatch6} -\begin{paste}{ugProblemLaplacePageFull6}{ugProblemLaplacePageEmpty6} -\pastebutton{ugProblemLaplacePageFull6}{\hidepaste} -\tab{5}\spadcommand{laplace(exp(a*t+b)*Ei(c*t), t, s)} -\indentrel{3}\begin{verbatim} - b s + c - a - %e log(ÄÄÄÄÄÄÄÄÄ) - c - (6) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - s - a - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemLaplacePageEmpty6} -\begin{paste}{ugProblemLaplacePageEmpty6}{ugProblemLaplacePagePatch6} -\pastebutton{ugProblemLaplacePageEmpty6}{\showpaste} -\tab{5}\spadcommand{laplace(exp(a*t+b)*Ei(c*t), t, s)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemLaplacePagePatch7} -\begin{paste}{ugProblemLaplacePageFull7}{ugProblemLaplacePageEmpty7} -\pastebutton{ugProblemLaplacePageFull7}{\hidepaste} -\tab{5}\spadcommand{laplace(a*Ci(b*t) + c*Si(d*t), t, s)} -\indentrel{3}\begin{verbatim} - 2 2 - s + b d - a log(ÄÄÄÄÄÄÄ) + 2c atan(Ä) - 2 s - b - (7) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 2s - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemLaplacePageEmpty7} -\begin{paste}{ugProblemLaplacePageEmpty7}{ugProblemLaplacePagePatch7} -\pastebutton{ugProblemLaplacePageEmpty7}{\showpaste} -\tab{5}\spadcommand{laplace(a*Ci(b*t) + c*Si(d*t), t, s)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemLaplacePagePatch8} -\begin{paste}{ugProblemLaplacePageFull8}{ugProblemLaplacePageEmpty8} -\pastebutton{ugProblemLaplacePageFull8}{\hidepaste} -\tab{5}\spadcommand{laplace(sin(a*t) - a*t*cos(a*t) + exp(t**2), t, s)} -\indentrel{3}\begin{verbatim} - 2 - 4 2 2 4 t 3 - (s + 2a s + a )laplace(%e ,t,s) + 2a - (8) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 4 2 2 4 - s + 2a s + a - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemLaplacePageEmpty8} -\begin{paste}{ugProblemLaplacePageEmpty8}{ugProblemLaplacePagePatch8} -\pastebutton{ugProblemLaplacePageEmpty8}{\showpaste} -\tab{5}\spadcommand{laplace(sin(a*t) - a*t*cos(a*t) + exp(t**2), t, s)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFunctionsPagePatch1} -\begin{paste}{ugxProblemSeriesFunctionsPageFull1}{ugxProblemSeriesFunctionsPageEmpty1} -\pastebutton{ugxProblemSeriesFunctionsPageFull1}{\hidepaste} -\tab{5}\spadcommand{x := series 'x\bound{x }} -\indentrel{3}\begin{verbatim} - (1) x - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFunctionsPageEmpty1} -\begin{paste}{ugxProblemSeriesFunctionsPageEmpty1}{ugxProblemSeriesFunctionsPagePatch1} -\pastebutton{ugxProblemSeriesFunctionsPageEmpty1}{\showpaste} -\tab{5}\spadcommand{x := series 'x\bound{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFunctionsPagePatch2} -\begin{paste}{ugxProblemSeriesFunctionsPageFull2}{ugxProblemSeriesFunctionsPageEmpty2} -\pastebutton{ugxProblemSeriesFunctionsPageFull2}{\hidepaste} -\tab{5}\spadcommand{rat := x**2 / (1 - 6*x + x**2)\free{x }\bound{rat }} -\indentrel{3}\begin{verbatim} - (2) - 2 3 4 5 6 7 8 - x + 6x + 35x + 204x + 1189x + 6930x + 40391x - + - 9 10 11 12 - 235416x + 1372105x + 7997214x + 46611179x - + - 13 - O(x ) - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFunctionsPageEmpty2} -\begin{paste}{ugxProblemSeriesFunctionsPageEmpty2}{ugxProblemSeriesFunctionsPagePatch2} -\pastebutton{ugxProblemSeriesFunctionsPageEmpty2}{\showpaste} -\tab{5}\spadcommand{rat := x**2 / (1 - 6*x + x**2)\free{x }\bound{rat }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFunctionsPagePatch3} -\begin{paste}{ugxProblemSeriesFunctionsPageFull3}{ugxProblemSeriesFunctionsPageEmpty3} -\pastebutton{ugxProblemSeriesFunctionsPageFull3}{\hidepaste} -\tab{5}\spadcommand{sin(rat)\free{rat }} -\indentrel{3}\begin{verbatim} - (3) - 2 3 4 5 7133 6 7 80711 8 - x + 6x + 35x + 204x + ÄÄÄÄ x + 6927x + ÄÄÄÄÄ x - 6 2 - + - 9 164285281 10 31888513 11 - 235068x + ÄÄÄÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄÄ x - 120 4 - + - 371324777 12 13 - ÄÄÄÄÄÄÄÄÄ x + O(x ) - 8 - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFunctionsPageEmpty3} -\begin{paste}{ugxProblemSeriesFunctionsPageEmpty3}{ugxProblemSeriesFunctionsPagePatch3} -\pastebutton{ugxProblemSeriesFunctionsPageEmpty3}{\showpaste} -\tab{5}\spadcommand{sin(rat)\free{rat }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFunctionsPagePatch4} -\begin{paste}{ugxProblemSeriesFunctionsPageFull4}{ugxProblemSeriesFunctionsPageEmpty4} -\pastebutton{ugxProblemSeriesFunctionsPageFull4}{\hidepaste} -\tab{5}\spadcommand{y : UTS(FRAC INT,y,0) := y\bound{y }} -\indentrel{3}\begin{verbatim} - (4) y - Type: UnivariateTaylorSeries(Fraction Integer,y,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFunctionsPageEmpty4} -\begin{paste}{ugxProblemSeriesFunctionsPageEmpty4}{ugxProblemSeriesFunctionsPagePatch4} -\pastebutton{ugxProblemSeriesFunctionsPageEmpty4}{\showpaste} -\tab{5}\spadcommand{y : UTS(FRAC INT,y,0) := y\bound{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFunctionsPagePatch5} -\begin{paste}{ugxProblemSeriesFunctionsPageFull5}{ugxProblemSeriesFunctionsPageEmpty5} -\pastebutton{ugxProblemSeriesFunctionsPageFull5}{\hidepaste} -\tab{5}\spadcommand{exp(y)\free{y }} -\indentrel{3}\begin{verbatim} - (5) - 1 2 1 3 1 4 1 5 1 6 - 1 + y + Ä y + Ä y + ÄÄ y + ÄÄÄ y + ÄÄÄ y - 2 6 24 120 720 - + - 1 7 1 8 1 9 1 10 11 - ÄÄÄÄ y + ÄÄÄÄÄ y + ÄÄÄÄÄÄ y + ÄÄÄÄÄÄÄ y + O(y ) - 5040 40320 362880 3628800 - Type: UnivariateTaylorSeries(Fraction Integer,y,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFunctionsPageEmpty5} -\begin{paste}{ugxProblemSeriesFunctionsPageEmpty5}{ugxProblemSeriesFunctionsPagePatch5} -\pastebutton{ugxProblemSeriesFunctionsPageEmpty5}{\showpaste} -\tab{5}\spadcommand{exp(y)\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFunctionsPagePatch6} -\begin{paste}{ugxProblemSeriesFunctionsPageFull6}{ugxProblemSeriesFunctionsPageEmpty6} -\pastebutton{ugxProblemSeriesFunctionsPageFull6}{\hidepaste} -\tab{5}\spadcommand{tan(y**2)\free{y }} -\indentrel{3}\begin{verbatim} - 2 1 6 2 10 11 - (6) y + Ä y + ÄÄ y + O(y ) - 3 15 - Type: UnivariateTaylorSeries(Fraction Integer,y,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFunctionsPageEmpty6} -\begin{paste}{ugxProblemSeriesFunctionsPageEmpty6}{ugxProblemSeriesFunctionsPagePatch6} -\pastebutton{ugxProblemSeriesFunctionsPageEmpty6}{\showpaste} -\tab{5}\spadcommand{tan(y**2)\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFunctionsPagePatch7} -\begin{paste}{ugxProblemSeriesFunctionsPageFull7}{ugxProblemSeriesFunctionsPageEmpty7} -\pastebutton{ugxProblemSeriesFunctionsPageFull7}{\hidepaste} -\tab{5}\spadcommand{cos(y + y**5)\free{y }} -\indentrel{3}\begin{verbatim} - (7) - 1 2 1 4 721 6 6721 8 1844641 10 - 1 - Ä y + ÄÄ y - ÄÄÄ y + ÄÄÄÄÄ y - ÄÄÄÄÄÄÄ y - 2 24 720 40320 3628800 - + - 11 - O(y ) - Type: UnivariateTaylorSeries(Fraction Integer,y,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFunctionsPageEmpty7} -\begin{paste}{ugxProblemSeriesFunctionsPageEmpty7}{ugxProblemSeriesFunctionsPagePatch7} -\pastebutton{ugxProblemSeriesFunctionsPageEmpty7}{\showpaste} -\tab{5}\spadcommand{cos(y + y**5)\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFunctionsPagePatch8} -\begin{paste}{ugxProblemSeriesFunctionsPageFull8}{ugxProblemSeriesFunctionsPageEmpty8} -\pastebutton{ugxProblemSeriesFunctionsPageFull8}{\hidepaste} -\tab{5}\spadcommand{log(1 + sin(y))\free{y }} -\indentrel{3}\begin{verbatim} - (8) - 1 2 1 3 1 4 1 5 1 6 61 7 - y - Ä y + Ä y - ÄÄ y + ÄÄ y - ÄÄ y + ÄÄÄÄ y - 2 6 12 24 45 5040 - + - 17 8 277 9 31 10 11 - - ÄÄÄÄ y + ÄÄÄÄÄ y - ÄÄÄÄÄ y + O(y ) - 2520 72576 14175 - Type: UnivariateTaylorSeries(Fraction Integer,y,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFunctionsPageEmpty8} -\begin{paste}{ugxProblemSeriesFunctionsPageEmpty8}{ugxProblemSeriesFunctionsPagePatch8} -\pastebutton{ugxProblemSeriesFunctionsPageEmpty8}{\showpaste} -\tab{5}\spadcommand{log(1 + sin(y))\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFunctionsPagePatch9} -\begin{paste}{ugxProblemSeriesFunctionsPageFull9}{ugxProblemSeriesFunctionsPageEmpty9} -\pastebutton{ugxProblemSeriesFunctionsPageFull9}{\hidepaste} -\tab{5}\spadcommand{z : UTS(EXPR INT,z,0) := z\bound{z }} -\indentrel{3}\begin{verbatim} - (9) z - Type: UnivariateTaylorSeries(Expression Integer,z,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFunctionsPageEmpty9} -\begin{paste}{ugxProblemSeriesFunctionsPageEmpty9}{ugxProblemSeriesFunctionsPagePatch9} -\pastebutton{ugxProblemSeriesFunctionsPageEmpty9}{\showpaste} -\tab{5}\spadcommand{z : UTS(EXPR INT,z,0) := z\bound{z }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFunctionsPagePatch10} -\begin{paste}{ugxProblemSeriesFunctionsPageFull10}{ugxProblemSeriesFunctionsPageEmpty10} -\pastebutton{ugxProblemSeriesFunctionsPageFull10}{\hidepaste} -\tab{5}\spadcommand{exp(2 + tan(z))\free{z }} -\indentrel{3}\begin{verbatim} - (10) - 2 2 2 2 - 2 2 %e 2 %e 3 3%e 4 37%e 5 - %e + %e z + ÄÄÄ z + ÄÄÄ z + ÄÄÄÄ z + ÄÄÄÄÄ z - 2 2 8 120 - + - 2 2 2 2 - 59%e 6 137%e 7 871%e 8 41641%e 9 - ÄÄÄÄÄ z + ÄÄÄÄÄÄ z + ÄÄÄÄÄÄ z + ÄÄÄÄÄÄÄÄ z - 240 720 5760 362880 - + - 2 - 325249%e 10 11 - ÄÄÄÄÄÄÄÄÄ z + O(z ) - 3628800 - Type: UnivariateTaylorSeries(Expression Integer,z,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFunctionsPageEmpty10} -\begin{paste}{ugxProblemSeriesFunctionsPageEmpty10}{ugxProblemSeriesFunctionsPagePatch10} -\pastebutton{ugxProblemSeriesFunctionsPageEmpty10}{\showpaste} -\tab{5}\spadcommand{exp(2 + tan(z))\free{z }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFunctionsPagePatch11} -\begin{paste}{ugxProblemSeriesFunctionsPageFull11}{ugxProblemSeriesFunctionsPageEmpty11} -\pastebutton{ugxProblemSeriesFunctionsPageFull11}{\hidepaste} -\tab{5}\spadcommand{w := taylor 'w\bound{w }} -\indentrel{3}\begin{verbatim} - (11) w - Type: UnivariateTaylorSeries(Expression Integer,w,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFunctionsPageEmpty11} -\begin{paste}{ugxProblemSeriesFunctionsPageEmpty11}{ugxProblemSeriesFunctionsPagePatch11} -\pastebutton{ugxProblemSeriesFunctionsPageEmpty11}{\showpaste} -\tab{5}\spadcommand{w := taylor 'w\bound{w }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFunctionsPagePatch12} -\begin{paste}{ugxProblemSeriesFunctionsPageFull12}{ugxProblemSeriesFunctionsPageEmpty12} -\pastebutton{ugxProblemSeriesFunctionsPageFull12}{\hidepaste} -\tab{5}\spadcommand{exp(2 + tan(w))\free{w }} -\indentrel{3}\begin{verbatim} - (12) - 2 2 2 2 - 2 2 %e 2 %e 3 3%e 4 37%e 5 - %e + %e w + ÄÄÄ w + ÄÄÄ w + ÄÄÄÄ w + ÄÄÄÄÄ w - 2 2 8 120 - + - 2 2 2 2 - 59%e 6 137%e 7 871%e 8 41641%e 9 - ÄÄÄÄÄ w + ÄÄÄÄÄÄ w + ÄÄÄÄÄÄ w + ÄÄÄÄÄÄÄÄ w - 240 720 5760 362880 - + - 2 - 325249%e 10 11 - ÄÄÄÄÄÄÄÄÄ w + O(w ) - 3628800 - Type: UnivariateTaylorSeries(Expression Integer,w,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFunctionsPageEmpty12} -\begin{paste}{ugxProblemSeriesFunctionsPageEmpty12}{ugxProblemSeriesFunctionsPagePatch12} -\pastebutton{ugxProblemSeriesFunctionsPageEmpty12}{\showpaste} -\tab{5}\spadcommand{exp(2 + tan(w))\free{w }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPagePatch1} -\begin{paste}{ugProblemGeneticPageFull1}{ugProblemGeneticPageEmpty1} -\pastebutton{ugProblemGeneticPageFull1}{\hidepaste} -\tab{5}\spadcommand{segregationRates : List SquareMatrix(4,FRAC INT) := [matrix [ [1, 1/2, 1/2, 9/20], [1/2, 0, 1/20, 0], [1/2, 1/20, 0, 0], [9/20, 0, 0, 0] ], matrix [ [0, 1/2, 0, 1/20], [1/2, 1, 9/20, 1/2], [0, 9/20, 0, 0], [1/20, 1/2, 0, 0] ], matrix [ [0, 0, 1/2, 1/20], [0, 0, 9/20, 0], [1/2, 9/20, 1, 1/2], [1/20, 0, 1/2, 0] ], matrix [ [0, 0, 0, 9/20], [0, 0, 1/20, 1/2], [0, 1/20, 0, 1/2], [9/20, 1/2, 1/2, 1] ] ]\bound{segregationRates }} -\indentrel{3}\begin{verbatim} - (1) - Ú 1 1 9¿ Ú 1 1¿ Ú 1 1¿ - ³1 Ä Ä Äij ³0 Ä 0 Äij ³0 0 Ä Äij - ³ 2 2 20³ ³ 2 20³ ³ 2 20³ - ³ ³ ³ ³ ³ ³ - ³1 1 ³ ³1 9 1 ³ ³ 9 ³ - ³Ä 0 ÄÄ 0 ³ ³Ä 1 ÄÄ Ä ³ ³0 0 ÄÄ 0 ³ - ³2 20 ³ ³2 20 2 ³ ³ 20 ³ - [³ ³, ³ ³, ³ ³, - ³1 1 ³ ³ 9 ³ ³1 9 1 ³ - ³Ä ÄÄ 0 0 ³ ³0 ÄÄ 0 0 ³ ³Ä ÄÄ 1 Ä ³ - ³2 20 ³ ³ 20 ³ ³2 20 2 ³ - ³ ³ ³ ³ ³ ³ - ³ 9 ³ ³ 1 1 ³ ³ 1 1 ³ - ³ÄÄ 0 0 0 ³ ³ÄÄ Ä 0 0 ³ ³ÄÄ 0 Ä 0 ³ - À20 Ù À20 2 Ù À20 2 Ù - Ú 9¿ - ³0 0 0 Äij - ³ 20³ - ³ ³ - ³ 1 1 ³ - ³0 0 ÄÄ Ä ³ - ³ 20 2 ³ - ³ ³] - ³ 1 1 ³ - ³0 ÄÄ 0 Ä ³ - ³ 20 2 ³ - ³ ³ - ³ 9 1 1 ³ - ³ÄÄ Ä Ä 1 ³ - À20 2 2 Ù - Type: List SquareMatrix(4,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPageEmpty1} -\begin{paste}{ugProblemGeneticPageEmpty1}{ugProblemGeneticPagePatch1} -\pastebutton{ugProblemGeneticPageEmpty1}{\showpaste} -\tab{5}\spadcommand{segregationRates : List SquareMatrix(4,FRAC INT) := [matrix [ [1, 1/2, 1/2, 9/20], [1/2, 0, 1/20, 0], [1/2, 1/20, 0, 0], [9/20, 0, 0, 0] ], matrix [ [0, 1/2, 0, 1/20], [1/2, 1, 9/20, 1/2], [0, 9/20, 0, 0], [1/20, 1/2, 0, 0] ], matrix [ [0, 0, 1/2, 1/20], [0, 0, 9/20, 0], [1/2, 9/20, 1, 1/2], [1/20, 0, 1/2, 0] ], matrix [ [0, 0, 0, 9/20], [0, 0, 1/20, 1/2], [0, 1/20, 0, 1/2], [9/20, 1/2, 1/2, 1] ] ]\bound{segregationRates }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPagePatch2} -\begin{paste}{ugProblemGeneticPageFull2}{ugProblemGeneticPageEmpty2} -\pastebutton{ugProblemGeneticPageFull2}{\hidepaste} -\tab{5}\spadcommand{gametes := ['AB,'Ab,'aB,'ab]\bound{gametes }} -\indentrel{3}\begin{verbatim} - (2) [AB,Ab,aB,ab] - Type: List OrderedVariableList [AB,Ab,aB,ab] -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPageEmpty2} -\begin{paste}{ugProblemGeneticPageEmpty2}{ugProblemGeneticPagePatch2} -\pastebutton{ugProblemGeneticPageEmpty2}{\showpaste} -\tab{5}\spadcommand{gametes := ['AB,'Ab,'aB,'ab]\bound{gametes }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPagePatch3} -\begin{paste}{ugProblemGeneticPageFull3}{ugProblemGeneticPageEmpty3} -\pastebutton{ugProblemGeneticPageFull3}{\hidepaste} -\tab{5}\spadcommand{A := ALGSC(FRAC INT, 4, gametes, segregationRates);\bound{A }\free{gametes segregationRates }} -\indentrel{3}\begin{verbatim} - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPageEmpty3} -\begin{paste}{ugProblemGeneticPageEmpty3}{ugProblemGeneticPagePatch3} -\pastebutton{ugProblemGeneticPageEmpty3}{\showpaste} -\tab{5}\spadcommand{A := ALGSC(FRAC INT, 4, gametes, segregationRates);\bound{A }\free{gametes segregationRates }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPagePatch4} -\begin{paste}{ugProblemGeneticPageFull4}{ugProblemGeneticPageEmpty4} -\pastebutton{ugProblemGeneticPageFull4}{\hidepaste} -\tab{5}\spadcommand{a := basis()$A; a.1*a.4} -\indentrel{3}\begin{verbatim} - 9 1 1 9 - (4) ÄÄ ab + ÄÄ aB + ÄÄ Ab + ÄÄ AB - 20 20 20 20 -Type: AlgebraGivenByStructuralConstants(Fraction Integer,4,[AB,Ab,aB,ab],[MATRIX,MATRIX,MATRIX,MATRIX]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPageEmpty4} -\begin{paste}{ugProblemGeneticPageEmpty4}{ugProblemGeneticPagePatch4} -\pastebutton{ugProblemGeneticPageEmpty4}{\showpaste} -\tab{5}\spadcommand{a := basis()$A; a.1*a.4} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPagePatch5} -\begin{paste}{ugProblemGeneticPageFull5}{ugProblemGeneticPageEmpty5} -\pastebutton{ugProblemGeneticPageFull5}{\hidepaste} -\tab{5}\spadcommand{commutative?()$A\free{A }} -\indentrel{3}\begin{verbatim} - algebra is commutative - (5) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPageEmpty5} -\begin{paste}{ugProblemGeneticPageEmpty5}{ugProblemGeneticPagePatch5} -\pastebutton{ugProblemGeneticPageEmpty5}{\showpaste} -\tab{5}\spadcommand{commutative?()$A\free{A }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPagePatch6} -\begin{paste}{ugProblemGeneticPageFull6}{ugProblemGeneticPageEmpty6} -\pastebutton{ugProblemGeneticPageFull6}{\hidepaste} -\tab{5}\spadcommand{associative?()$A\free{A }} -\indentrel{3}\begin{verbatim} - algebra is not associative - (6) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPageEmpty6} -\begin{paste}{ugProblemGeneticPageEmpty6}{ugProblemGeneticPagePatch6} -\pastebutton{ugProblemGeneticPageEmpty6}{\showpaste} -\tab{5}\spadcommand{associative?()$A\free{A }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPagePatch7} -\begin{paste}{ugProblemGeneticPageFull7}{ugProblemGeneticPageEmpty7} -\pastebutton{ugProblemGeneticPageFull7}{\hidepaste} -\tab{5}\spadcommand{x : ALGSC(DECIMAL, 4, gametes, segregationRates) := convert [3/10, 1/5, 1/10, 2/5]\bound{x }\free{gametes segregationRates }} -\indentrel{3}\begin{verbatim} - (7) 0.4ab + 0.1aB + 0.2Ab + 0.3AB -Type: AlgebraGivenByStructuralConstants(DecimalExpansion,4,[AB,Ab,aB,ab],[MATRIX,MATRIX,MATRIX,MATRIX]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPageEmpty7} -\begin{paste}{ugProblemGeneticPageEmpty7}{ugProblemGeneticPagePatch7} -\pastebutton{ugProblemGeneticPageEmpty7}{\showpaste} -\tab{5}\spadcommand{x : ALGSC(DECIMAL, 4, gametes, segregationRates) := convert [3/10, 1/5, 1/10, 2/5]\bound{x }\free{gametes segregationRates }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPagePatch8} -\begin{paste}{ugProblemGeneticPageFull8}{ugProblemGeneticPageEmpty8} -\pastebutton{ugProblemGeneticPageFull8}{\hidepaste} -\tab{5}\spadcommand{plenaryPower(x,5)\free{x }} -\indentrel{3}\begin{verbatim} - (8) 0.36561ab + 0.13439aB + 0.23439Ab + 0.26561AB -Type: AlgebraGivenByStructuralConstants(DecimalExpansion,4,[AB,Ab,aB,ab],[MATRIX,MATRIX,MATRIX,MATRIX]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPageEmpty8} -\begin{paste}{ugProblemGeneticPageEmpty8}{ugProblemGeneticPagePatch8} -\pastebutton{ugProblemGeneticPageEmpty8}{\showpaste} -\tab{5}\spadcommand{plenaryPower(x,5)\free{x }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPagePatch9} -\begin{paste}{ugProblemGeneticPageFull9}{ugProblemGeneticPageEmpty9} -\pastebutton{ugProblemGeneticPageFull9}{\hidepaste} -\tab{5}\spadcommand{q := leftRankPolynomial()$GCNAALG(FRAC INT, 4, gametes, segregationRates) :: UP(Y, POLY FRAC INT)\bound{q }\free{gametes segregationRates }} -\indentrel{3}\begin{verbatim} - (9) - 3 29 29 29 29 2 - Y + (- ÄÄ %x4 - ÄÄ %x3 - ÄÄ %x2 - ÄÄ %x1)Y - 20 20 20 20 - + - 9 2 9 9 9 9 2 - ÄÄ %x4 + (ÄÄ %x3 + ÄÄ %x2 + ÄÄ %x1)%x4 + ÄÄ %x3 - 20 10 10 10 20 - + - 9 9 9 2 9 - (ÄÄ %x2 + ÄÄ %x1)%x3 + ÄÄ %x2 + ÄÄ %x1 %x2 - 10 10 20 10 - + - 9 2 - ÄÄ %x1 - 20 - * - Y -Type: UnivariatePolynomial(Y,Polynomial Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPageEmpty9} -\begin{paste}{ugProblemGeneticPageEmpty9}{ugProblemGeneticPagePatch9} -\pastebutton{ugProblemGeneticPageEmpty9}{\showpaste} -\tab{5}\spadcommand{q := leftRankPolynomial()$GCNAALG(FRAC INT, 4, gametes, segregationRates) :: UP(Y, POLY FRAC INT)\bound{q }\free{gametes segregationRates }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPagePatch10} -\begin{paste}{ugProblemGeneticPageFull10}{ugProblemGeneticPageEmpty10} -\pastebutton{ugProblemGeneticPageFull10}{\hidepaste} -\tab{5}\spadcommand{factor(q :: POLY FRAC INT)\free{q }} -\indentrel{3}\begin{verbatim} - (10) - (Y - %x4 - %x3 - %x2 - %x1) - * - 9 9 9 9 - (Y - ÄÄ %x4 - ÄÄ %x3 - ÄÄ %x2 - ÄÄ %x1)Y - 20 20 20 20 - Type: Factored Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPageEmpty10} -\begin{paste}{ugProblemGeneticPageEmpty10}{ugProblemGeneticPagePatch10} -\pastebutton{ugProblemGeneticPageEmpty10}{\showpaste} -\tab{5}\spadcommand{factor(q :: POLY FRAC INT)\free{q }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPagePatch11} -\begin{paste}{ugProblemGeneticPageFull11}{ugProblemGeneticPageEmpty11} -\pastebutton{ugProblemGeneticPageFull11}{\hidepaste} -\tab{5}\spadcommand{cI := conditionsForIdempotents()$GCNAALG(FRAC INT, 4, gametes, segregationRates)\bound{cI }\free{gametes segregationRates }} -\indentrel{3}\begin{verbatim} - (11) - 9 1 2 - [ÄÄ %x1 %x4 + (ÄÄ %x2 + %x1)%x3 + %x1 %x2 + %x1 - %x1, - 10 10 - 1 9 2 - (%x2 + ÄÄ %x1)%x4 + ÄÄ %x2 %x3 + %x2 + (%x1 - 1)%x2, - 10 10 - 1 2 9 - (%x3 + ÄÄ %x1)%x4 + %x3 + (ÄÄ %x2 + %x1 - 1)%x3, - 10 10 - 2 9 1 - %x4 + (%x3 + %x2 + ÄÄ %x1 - 1)%x4 + ÄÄ %x2 %x3] - 10 10 - Type: List Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPageEmpty11} -\begin{paste}{ugProblemGeneticPageEmpty11}{ugProblemGeneticPagePatch11} -\pastebutton{ugProblemGeneticPageEmpty11}{\showpaste} -\tab{5}\spadcommand{cI := conditionsForIdempotents()$GCNAALG(FRAC INT, 4, gametes, segregationRates)\bound{cI }\free{gametes segregationRates }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPagePatch12} -\begin{paste}{ugProblemGeneticPageFull12}{ugProblemGeneticPageEmpty12} -\pastebutton{ugProblemGeneticPageFull12}{\hidepaste} -\tab{5}\spadcommand{gbs:= groebnerFactorize cI; gbs.1\free{cI }\bound{gbs }} -\indentrel{3}\begin{verbatim} - (12) - [%x4 + %x3 + %x2 + %x1 - 1, - 2 - (%x2 + %x1)%x3 + %x1 %x2 + %x1 - %x1] - Type: List Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPageEmpty12} -\begin{paste}{ugProblemGeneticPageEmpty12}{ugProblemGeneticPagePatch12} -\pastebutton{ugProblemGeneticPageEmpty12}{\showpaste} -\tab{5}\spadcommand{gbs:= groebnerFactorize cI; gbs.1\free{cI }\bound{gbs }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPagePatch13} -\begin{paste}{ugProblemGeneticPageFull13}{ugProblemGeneticPageEmpty13} -\pastebutton{ugProblemGeneticPageFull13}{\hidepaste} -\tab{5}\spadcommand{sol := solve concat(gbs.1,[\%x1-1/10,\%x2-1/10])\bound{sol }\free{gbs }} -\indentrel{3}\begin{verbatim} - 2 2 1 1 - (13) [[%x4= Ä,%x3= Ä,%x2= ÄÄ,%x1= ÄÄ]] - 5 5 10 10 - Type: List List Equation Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPageEmpty13} -\begin{paste}{ugProblemGeneticPageEmpty13}{ugProblemGeneticPagePatch13} -\pastebutton{ugProblemGeneticPageEmpty13}{\showpaste} -\tab{5}\spadcommand{sol := solve concat(gbs.1,[\%x1-1/10,\%x2-1/10])\bound{sol }\free{gbs }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPagePatch14} -\begin{paste}{ugProblemGeneticPageFull14}{ugProblemGeneticPageEmpty14} -\pastebutton{ugProblemGeneticPageFull14}{\hidepaste} -\tab{5}\spadcommand{e : A := represents reverse (map(rhs, sol.1) :: List FRAC INT)\bound{e }\free{A sol }} -\indentrel{3}\begin{verbatim} - 2 2 1 1 - (14) Ä ab + Ä aB + ÄÄ Ab + ÄÄ AB - 5 5 10 10 -Type: AlgebraGivenByStructuralConstants(Fraction Integer,4,[AB,Ab,aB,ab],[MATRIX,MATRIX,MATRIX,MATRIX]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPageEmpty14} -\begin{paste}{ugProblemGeneticPageEmpty14}{ugProblemGeneticPagePatch14} -\pastebutton{ugProblemGeneticPageEmpty14}{\showpaste} -\tab{5}\spadcommand{e : A := represents reverse (map(rhs, sol.1) :: List FRAC INT)\bound{e }\free{A sol }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPagePatch15} -\begin{paste}{ugProblemGeneticPageFull15}{ugProblemGeneticPageEmpty15} -\pastebutton{ugProblemGeneticPageFull15}{\hidepaste} -\tab{5}\spadcommand{e*e-e\free{e }} -\indentrel{3}\begin{verbatim} - (15) 0 -Type: AlgebraGivenByStructuralConstants(Fraction Integer,4,[AB,Ab,aB,ab],[MATRIX,MATRIX,MATRIX,MATRIX]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGeneticPageEmpty15} -\begin{paste}{ugProblemGeneticPageEmpty15}{ugProblemGeneticPagePatch15} -\pastebutton{ugProblemGeneticPageEmpty15}{\showpaste} -\tab{5}\spadcommand{e*e-e\free{e }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemOnePolPagePatch1} -\begin{paste}{ugxProblemOnePolPageFull1}{ugxProblemOnePolPageEmpty1} -\pastebutton{ugxProblemOnePolPageFull1}{\hidepaste} -\tab{5}\spadcommand{solve(x**3 = 8,x)} -\indentrel{3}\begin{verbatim} - 2 - (1) [x= 2,x + 2x + 4= 0] - Type: List Equation Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemOnePolPageEmpty1} -\begin{paste}{ugxProblemOnePolPageEmpty1}{ugxProblemOnePolPagePatch1} -\pastebutton{ugxProblemOnePolPageEmpty1}{\showpaste} -\tab{5}\spadcommand{solve(x**3 = 8,x)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemOnePolPagePatch2} -\begin{paste}{ugxProblemOnePolPageFull2}{ugxProblemOnePolPageEmpty2} -\pastebutton{ugxProblemOnePolPageFull2}{\hidepaste} -\tab{5}\spadcommand{radicalSolve(x**3 = 8,x)} -\indentrel{3}\begin{verbatim} - ÚÄÄÄ¿ ÚÄÄÄ¿ - (2) [x= - \³- 3 - 1,x= \³- 3 - 1,x= 2] - Type: List Equation Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemOnePolPageEmpty2} -\begin{paste}{ugxProblemOnePolPageEmpty2}{ugxProblemOnePolPagePatch2} -\pastebutton{ugxProblemOnePolPageEmpty2}{\showpaste} -\tab{5}\spadcommand{radicalSolve(x**3 = 8,x)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemOnePolPagePatch3} -\begin{paste}{ugxProblemOnePolPageFull3}{ugxProblemOnePolPageEmpty3} -\pastebutton{ugxProblemOnePolPageFull3}{\hidepaste} -\tab{5}\spadcommand{solve(x**4 - 10*x**3 + 35*x**2 - 50*x + 25,.0001)} -\indentrel{3}\begin{verbatim} - (3) [x= 3.6180114746 09375,x= 1.3819885253 90625] - Type: List Equation Polynomial Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemOnePolPageEmpty3} -\begin{paste}{ugxProblemOnePolPageEmpty3}{ugxProblemOnePolPagePatch3} -\pastebutton{ugxProblemOnePolPageEmpty3}{\showpaste} -\tab{5}\spadcommand{solve(x**4 - 10*x**3 + 35*x**2 - 50*x + 25,.0001)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemOnePolPagePatch4} -\begin{paste}{ugxProblemOnePolPageFull4}{ugxProblemOnePolPageEmpty4} -\pastebutton{ugxProblemOnePolPageFull4}{\hidepaste} -\tab{5}\spadcommand{solve(x**3-2,1/1000)} -\indentrel{3}\begin{verbatim} - 2581 - (4) [x= ÄÄÄÄ] - 2048 - Type: List Equation Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemOnePolPageEmpty4} -\begin{paste}{ugxProblemOnePolPageEmpty4}{ugxProblemOnePolPagePatch4} -\pastebutton{ugxProblemOnePolPageEmpty4}{\showpaste} -\tab{5}\spadcommand{solve(x**3-2,1/1000)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemOnePolPagePatch5} -\begin{paste}{ugxProblemOnePolPageFull5}{ugxProblemOnePolPageEmpty5} -\pastebutton{ugxProblemOnePolPageFull5}{\hidepaste} -\tab{5}\spadcommand{complexSolve(x**3-2,.0001)} -\indentrel{3}\begin{verbatim} - (5) - [x= 1.2599182128 90625, - x= - 0.6298943279 5395613131 - 1.0910949707 03125 %i, - x= - 0.6298943279 5395613131 + 1.0910949707 03125 %i] - Type: List Equation Polynomial Complex Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemOnePolPageEmpty5} -\begin{paste}{ugxProblemOnePolPageEmpty5}{ugxProblemOnePolPagePatch5} -\pastebutton{ugxProblemOnePolPageEmpty5}{\showpaste} -\tab{5}\spadcommand{complexSolve(x**3-2,.0001)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemOnePolPagePatch6} -\begin{paste}{ugxProblemOnePolPageFull6}{ugxProblemOnePolPageEmpty6} -\pastebutton{ugxProblemOnePolPageFull6}{\hidepaste} -\tab{5}\spadcommand{complexSolve(x**2-2*\%i+1,1/100)} -\indentrel{3}\begin{verbatim} - 13028925 325 13028925 325 - (6) [x= - ÄÄÄÄÄÄÄÄ - ÄÄÄ %i,x= ÄÄÄÄÄÄÄÄ + ÄÄÄ %i] - 16777216 256 16777216 256 -Type: List Equation Polynomial Complex Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemOnePolPageEmpty6} -\begin{paste}{ugxProblemOnePolPageEmpty6}{ugxProblemOnePolPagePatch6} -\pastebutton{ugxProblemOnePolPageEmpty6}{\showpaste} -\tab{5}\spadcommand{complexSolve(x**2-2*\%i+1,1/100)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemOnePolPagePatch7} -\begin{paste}{ugxProblemOnePolPageFull7}{ugxProblemOnePolPageEmpty7} -\pastebutton{ugxProblemOnePolPageFull7}{\hidepaste} -\tab{5}\spadcommand{radicalSolve(1/x**3 + 1/x**2 + 1/x = 0,x)} -\indentrel{3}\begin{verbatim} - ÚÄÄÄ¿ ÚÄÄÄ¿ - - \³- 3 - 1 \³- 3 - 1 - (7) [x= ÄÄÄÄÄÄÄÄÄÄÄÄ,x= ÄÄÄÄÄÄÄÄÄÄ] - 2 2 - Type: List Equation Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemOnePolPageEmpty7} -\begin{paste}{ugxProblemOnePolPageEmpty7}{ugxProblemOnePolPagePatch7} -\pastebutton{ugxProblemOnePolPageEmpty7}{\showpaste} -\tab{5}\spadcommand{radicalSolve(1/x**3 + 1/x**2 + 1/x = 0,x)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch1} -\begin{paste}{ugProblemNumericPageFull1}{ugProblemNumericPageEmpty1} -\pastebutton{ugProblemNumericPageFull1}{\hidepaste} -\tab{5}\spadcommand{exp(3.1)} -\indentrel{3}\begin{verbatim} - (1) 22.1979512814 41633405 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty1} -\begin{paste}{ugProblemNumericPageEmpty1}{ugProblemNumericPagePatch1} -\pastebutton{ugProblemNumericPageEmpty1}{\showpaste} -\tab{5}\spadcommand{exp(3.1)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch2} -\begin{paste}{ugProblemNumericPageFull2}{ugProblemNumericPageEmpty2} -\pastebutton{ugProblemNumericPageFull2}{\hidepaste} -\tab{5}\spadcommand{exp(3.1 + 4.5 * \%i)} -\indentrel{3}\begin{verbatim} - (2) - - 4.6792348860 969899118 - 21.6991659280 71731864 %i - Type: Complex Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty2} -\begin{paste}{ugProblemNumericPageEmpty2}{ugProblemNumericPagePatch2} -\pastebutton{ugProblemNumericPageEmpty2}{\showpaste} -\tab{5}\spadcommand{exp(3.1 + 4.5 * \%i)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch3} -\begin{paste}{ugProblemNumericPageFull3}{ugProblemNumericPageEmpty3} -\pastebutton{ugProblemNumericPageFull3}{\hidepaste} -\tab{5}\spadcommand{r: DFLOAT := 3.1; t: DFLOAT := 4.5; exp(r + t*\%i)} -\indentrel{3}\begin{verbatim} - (3) - 4.6792348860969906 - 21.699165928071732%i - Type: Complex DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty3} -\begin{paste}{ugProblemNumericPageEmpty3}{ugProblemNumericPagePatch3} -\pastebutton{ugProblemNumericPageEmpty3}{\showpaste} -\tab{5}\spadcommand{r: DFLOAT := 3.1; t: DFLOAT := 4.5; exp(r + t*\%i)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch4} -\begin{paste}{ugProblemNumericPageFull4}{ugProblemNumericPageEmpty4} -\pastebutton{ugProblemNumericPageFull4}{\hidepaste} -\tab{5}\spadcommand{exp(3.1::DFLOAT + 4.5::DFLOAT * \%i)} -\indentrel{3}\begin{verbatim} - (4) - 4.6792348860969906 - 21.699165928071732%i - Type: Complex DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty4} -\begin{paste}{ugProblemNumericPageEmpty4}{ugProblemNumericPagePatch4} -\pastebutton{ugProblemNumericPageEmpty4}{\showpaste} -\tab{5}\spadcommand{exp(3.1::DFLOAT + 4.5::DFLOAT * \%i)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch5} -\begin{paste}{ugProblemNumericPageFull5}{ugProblemNumericPageEmpty5} -\pastebutton{ugProblemNumericPageFull5}{\hidepaste} -\tab{5}\spadcommand{Gamma(0.5)**2} -\indentrel{3}\begin{verbatim} - (5) 3.14159265358979 - Type: DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty5} -\begin{paste}{ugProblemNumericPageEmpty5}{ugProblemNumericPagePatch5} -\pastebutton{ugProblemNumericPageEmpty5}{\showpaste} -\tab{5}\spadcommand{Gamma(0.5)**2} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch6} -\begin{paste}{ugProblemNumericPageFull6}{ugProblemNumericPageEmpty6} -\pastebutton{ugProblemNumericPageFull6}{\hidepaste} -\tab{5}\spadcommand{a := 2.1; b := 1.1; besselI(a + \%i*b, b*a + 1)} -\indentrel{3}\begin{verbatim} - (6) 2.489482417547372 - 2.3658460381468371%i - Type: Complex DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty6} -\begin{paste}{ugProblemNumericPageEmpty6}{ugProblemNumericPagePatch6} -\pastebutton{ugProblemNumericPageEmpty6}{\showpaste} -\tab{5}\spadcommand{a := 2.1; b := 1.1; besselI(a + \%i*b, b*a + 1)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch7} -\begin{paste}{ugProblemNumericPageFull7}{ugProblemNumericPageEmpty7} -\pastebutton{ugProblemNumericPageFull7}{\hidepaste} -\tab{5}\spadcommand{[chebyshevT(i, z) for i in 0..5]} -\indentrel{3}\begin{verbatim} - (7) - 2 3 4 2 5 3 - [1,z,2z - 1,4z - 3z,8z - 8z + 1,16z - 20z + 5z] - Type: List Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty7} -\begin{paste}{ugProblemNumericPageEmpty7}{ugProblemNumericPagePatch7} -\pastebutton{ugProblemNumericPageEmpty7}{\showpaste} -\tab{5}\spadcommand{[chebyshevT(i, z) for i in 0..5]} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch8} -\begin{paste}{ugProblemNumericPageFull8}{ugProblemNumericPageEmpty8} -\pastebutton{ugProblemNumericPageFull8}{\hidepaste} -\tab{5}\spadcommand{chebyshevT(3, 5.0 + 6.0*\%i)} -\indentrel{3}\begin{verbatim} - (8) - 1675.0 + 918.0 %i - Type: Complex Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty8} -\begin{paste}{ugProblemNumericPageEmpty8}{ugProblemNumericPagePatch8} -\pastebutton{ugProblemNumericPageEmpty8}{\showpaste} -\tab{5}\spadcommand{chebyshevT(3, 5.0 + 6.0*\%i)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch9} -\begin{paste}{ugProblemNumericPageFull9}{ugProblemNumericPageEmpty9} -\pastebutton{ugProblemNumericPageFull9}{\hidepaste} -\tab{5}\spadcommand{chebyshevT(3, 5.0::DoubleFloat)} -\indentrel{3}\begin{verbatim} - (9) 485.0 - Type: DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty9} -\begin{paste}{ugProblemNumericPageEmpty9}{ugProblemNumericPagePatch9} -\pastebutton{ugProblemNumericPageEmpty9}{\showpaste} -\tab{5}\spadcommand{chebyshevT(3, 5.0::DoubleFloat)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch10} -\begin{paste}{ugProblemNumericPageFull10}{ugProblemNumericPageEmpty10} -\pastebutton{ugProblemNumericPageFull10}{\hidepaste} -\tab{5}\spadcommand{[chebyshevU(i, z) for i in 0..5]} -\indentrel{3}\begin{verbatim} - (10) - 2 3 4 2 - [1, 2z, 4z - 1, 8z - 4z, 16z - 12z + 1, - 5 3 - 32z - 32z + 6z] - Type: List Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty10} -\begin{paste}{ugProblemNumericPageEmpty10}{ugProblemNumericPagePatch10} -\pastebutton{ugProblemNumericPageEmpty10}{\showpaste} -\tab{5}\spadcommand{[chebyshevU(i, z) for i in 0..5]} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch11} -\begin{paste}{ugProblemNumericPageFull11}{ugProblemNumericPageEmpty11} -\pastebutton{ugProblemNumericPageFull11}{\hidepaste} -\tab{5}\spadcommand{chebyshevU(3, 0.2)} -\indentrel{3}\begin{verbatim} - (11) - 0.736 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty11} -\begin{paste}{ugProblemNumericPageEmpty11}{ugProblemNumericPagePatch11} -\pastebutton{ugProblemNumericPageEmpty11}{\showpaste} -\tab{5}\spadcommand{chebyshevU(3, 0.2)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch12} -\begin{paste}{ugProblemNumericPageFull12}{ugProblemNumericPageEmpty12} -\pastebutton{ugProblemNumericPageFull12}{\hidepaste} -\tab{5}\spadcommand{[hermiteH(i, z) for i in 0..5]} -\indentrel{3}\begin{verbatim} - (12) - 2 3 4 2 - [1, 2z, 4z - 2, 8z - 12z, 16z - 48z + 12, - 5 3 - 32z - 160z + 120z] - Type: List Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty12} -\begin{paste}{ugProblemNumericPageEmpty12}{ugProblemNumericPagePatch12} -\pastebutton{ugProblemNumericPageEmpty12}{\showpaste} -\tab{5}\spadcommand{[hermiteH(i, z) for i in 0..5]} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch13} -\begin{paste}{ugProblemNumericPageFull13}{ugProblemNumericPageEmpty13} -\pastebutton{ugProblemNumericPageFull13}{\hidepaste} -\tab{5}\spadcommand{hermiteH(100, 1.0)} -\indentrel{3}\begin{verbatim} - (13) - 0.1448706729 337934088 E 93 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty13} -\begin{paste}{ugProblemNumericPageEmpty13}{ugProblemNumericPagePatch13} -\pastebutton{ugProblemNumericPageEmpty13}{\showpaste} -\tab{5}\spadcommand{hermiteH(100, 1.0)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch14} -\begin{paste}{ugProblemNumericPageFull14}{ugProblemNumericPageEmpty14} -\pastebutton{ugProblemNumericPageFull14}{\hidepaste} -\tab{5}\spadcommand{[laguerreL(i, z) for i in 0..4]} -\indentrel{3}\begin{verbatim} - (14) - 2 3 2 - [1, - z + 1, z - 4z + 2, - z + 9z - 18z + 6, - 4 3 2 - z - 16z + 72z - 96z + 24] - Type: List Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty14} -\begin{paste}{ugProblemNumericPageEmpty14}{ugProblemNumericPagePatch14} -\pastebutton{ugProblemNumericPageEmpty14}{\showpaste} -\tab{5}\spadcommand{[laguerreL(i, z) for i in 0..4]} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch15} -\begin{paste}{ugProblemNumericPageFull15}{ugProblemNumericPageEmpty15} -\pastebutton{ugProblemNumericPageFull15}{\hidepaste} -\tab{5}\spadcommand{laguerreL(4, 1.2)} -\indentrel{3}\begin{verbatim} - (15) - 13.0944 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty15} -\begin{paste}{ugProblemNumericPageEmpty15}{ugProblemNumericPagePatch15} -\pastebutton{ugProblemNumericPageEmpty15}{\showpaste} -\tab{5}\spadcommand{laguerreL(4, 1.2)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch16} -\begin{paste}{ugProblemNumericPageFull16}{ugProblemNumericPageEmpty16} -\pastebutton{ugProblemNumericPageFull16}{\hidepaste} -\tab{5}\spadcommand{[laguerreL(j, 3, z) for j in 0..4]} -\indentrel{3}\begin{verbatim} - (16) - 3 2 2 - [- z + 9z - 18z + 6,- 3z + 18z - 18,- 6z + 18,- 6,0] - Type: List Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty16} -\begin{paste}{ugProblemNumericPageEmpty16}{ugProblemNumericPagePatch16} -\pastebutton{ugProblemNumericPageEmpty16}{\showpaste} -\tab{5}\spadcommand{[laguerreL(j, 3, z) for j in 0..4]} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch17} -\begin{paste}{ugProblemNumericPageFull17}{ugProblemNumericPageEmpty17} -\pastebutton{ugProblemNumericPageFull17}{\hidepaste} -\tab{5}\spadcommand{laguerreL(1, 3, 2.1)} -\indentrel{3}\begin{verbatim} - (17) 6.57 - Type: Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty17} -\begin{paste}{ugProblemNumericPageEmpty17}{ugProblemNumericPagePatch17} -\pastebutton{ugProblemNumericPageEmpty17}{\showpaste} -\tab{5}\spadcommand{laguerreL(1, 3, 2.1)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch18} -\begin{paste}{ugProblemNumericPageFull18}{ugProblemNumericPageEmpty18} -\pastebutton{ugProblemNumericPageFull18}{\hidepaste} -\tab{5}\spadcommand{[legendreP(i,z) for i in 0..5]} -\indentrel{3}\begin{verbatim} - (18) - 3 2 1 5 3 3 35 4 15 2 3 - [1, z, Ä z - Ä, Ä z - Ä z, ÄÄ z - ÄÄ z + Ä, - 2 2 2 2 8 4 8 - 63 5 35 3 15 - ÄÄ z - ÄÄ z + ÄÄ z] - 8 4 8 - Type: List Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty18} -\begin{paste}{ugProblemNumericPageEmpty18}{ugProblemNumericPagePatch18} -\pastebutton{ugProblemNumericPageEmpty18}{\showpaste} -\tab{5}\spadcommand{[legendreP(i,z) for i in 0..5]} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch19} -\begin{paste}{ugProblemNumericPageFull19}{ugProblemNumericPageEmpty19} -\pastebutton{ugProblemNumericPageFull19}{\hidepaste} -\tab{5}\spadcommand{legendreP(3, 3.0*\%i)} -\indentrel{3}\begin{verbatim} - (19) - 72.0 %i - Type: Complex Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty19} -\begin{paste}{ugProblemNumericPageEmpty19}{ugProblemNumericPagePatch19} -\pastebutton{ugProblemNumericPageEmpty19}{\showpaste} -\tab{5}\spadcommand{legendreP(3, 3.0*\%i)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch20} -\begin{paste}{ugProblemNumericPageFull20}{ugProblemNumericPageEmpty20} -\pastebutton{ugProblemNumericPageFull20}{\hidepaste} -\tab{5}\spadcommand{bernoulliB(3, z)} -\indentrel{3}\begin{verbatim} - 3 3 2 1 - (20) z - Ä z + Ä z - 2 2 - Type: Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty20} -\begin{paste}{ugProblemNumericPageEmpty20}{ugProblemNumericPagePatch20} -\pastebutton{ugProblemNumericPageEmpty20}{\showpaste} -\tab{5}\spadcommand{bernoulliB(3, z)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch21} -\begin{paste}{ugProblemNumericPageFull21}{ugProblemNumericPageEmpty21} -\pastebutton{ugProblemNumericPageFull21}{\hidepaste} -\tab{5}\spadcommand{bernoulliB(3, 0.7 + 0.4 * \%i)} -\indentrel{3}\begin{verbatim} - (21) - 0.138 - 0.116 %i - Type: Complex Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty21} -\begin{paste}{ugProblemNumericPageEmpty21}{ugProblemNumericPagePatch21} -\pastebutton{ugProblemNumericPageEmpty21}{\showpaste} -\tab{5}\spadcommand{bernoulliB(3, 0.7 + 0.4 * \%i)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch22} -\begin{paste}{ugProblemNumericPageFull22}{ugProblemNumericPageEmpty22} -\pastebutton{ugProblemNumericPageFull22}{\hidepaste} -\tab{5}\spadcommand{eulerE(3, z)} -\indentrel{3}\begin{verbatim} - 3 3 2 1 - (22) z - Ä z + Ä - 2 4 - Type: Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty22} -\begin{paste}{ugProblemNumericPageEmpty22}{ugProblemNumericPagePatch22} -\pastebutton{ugProblemNumericPageEmpty22}{\showpaste} -\tab{5}\spadcommand{eulerE(3, z)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch23} -\begin{paste}{ugProblemNumericPageFull23}{ugProblemNumericPageEmpty23} -\pastebutton{ugProblemNumericPageFull23}{\hidepaste} -\tab{5}\spadcommand{eulerE(3, 0.7 + 0.4 * \%i)} -\indentrel{3}\begin{verbatim} - (23) - 0.238 - 0.316 %i - Type: Complex Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty23} -\begin{paste}{ugProblemNumericPageEmpty23}{ugProblemNumericPagePatch23} -\pastebutton{ugProblemNumericPageEmpty23}{\showpaste} -\tab{5}\spadcommand{eulerE(3, 0.7 + 0.4 * \%i)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch24} -\begin{paste}{ugProblemNumericPageFull24}{ugProblemNumericPageEmpty24} -\pastebutton{ugProblemNumericPageFull24}{\hidepaste} -\tab{5}\spadcommand{cyclotomic(3, z)} -\indentrel{3}\begin{verbatim} - 2 - (24) z + z + 1 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty24} -\begin{paste}{ugProblemNumericPageEmpty24}{ugProblemNumericPagePatch24} -\pastebutton{ugProblemNumericPageEmpty24}{\showpaste} -\tab{5}\spadcommand{cyclotomic(3, z)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch25} -\begin{paste}{ugProblemNumericPageFull25}{ugProblemNumericPageEmpty25} -\pastebutton{ugProblemNumericPageFull25}{\hidepaste} -\tab{5}\spadcommand{cyclotomic(3, (-1.0 + 0.0 * \%i)**(2/3))} -\indentrel{3}\begin{verbatim} - (25) 0.0 - Type: Complex Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty25} -\begin{paste}{ugProblemNumericPageEmpty25}{ugProblemNumericPagePatch25} -\pastebutton{ugProblemNumericPageEmpty25}{\showpaste} -\tab{5}\spadcommand{cyclotomic(3, (-1.0 + 0.0 * \%i)**(2/3))} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch26} -\begin{paste}{ugProblemNumericPageFull26}{ugProblemNumericPageEmpty26} -\pastebutton{ugProblemNumericPageFull26}{\hidepaste} -\tab{5}\spadgraph{draw((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")} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugproblemnumericpage26.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugproblemnumericpage26}} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty26} -\begin{paste}{ugProblemNumericPageEmpty26}{ugProblemNumericPagePatch26} -\pastebutton{ugProblemNumericPageEmpty26}{\showpaste} -\tab{5}\spadgraph{draw((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")} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch27} -\begin{paste}{ugProblemNumericPageFull27}{ugProblemNumericPageEmpty27} -\pastebutton{ugProblemNumericPageFull27}{\hidepaste} -\tab{5}\spadgraph{vp := draw((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"); rotate(vp,-160,-45); vp} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugproblemnumericpage27.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugproblemnumericpage27}} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty27} -\begin{paste}{ugProblemNumericPageEmpty27}{ugProblemNumericPagePatch27} -\pastebutton{ugProblemNumericPageEmpty27}{\showpaste} -\tab{5}\spadgraph{vp := draw((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"); rotate(vp,-160,-45); vp} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch28} -\begin{paste}{ugProblemNumericPageFull28}{ugProblemNumericPageEmpty28} -\pastebutton{ugProblemNumericPageFull28}{\hidepaste} -\tab{5}\spadgraph{draw((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)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugproblemnumericpage28.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugproblemnumericpage28}} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty28} -\begin{paste}{ugProblemNumericPageEmpty28}{ugProblemNumericPagePatch28} -\pastebutton{ugProblemNumericPageEmpty28}{\showpaste} -\tab{5}\spadgraph{draw((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)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch29} -\begin{paste}{ugProblemNumericPageFull29}{ugProblemNumericPageEmpty29} -\pastebutton{ugProblemNumericPageFull29}{\hidepaste} -\tab{5}\spadgraph{draw(Beta(x,y)/100, x=-1.6..1.7, y = -1.6..1.7, style=="shade", title=="Beta(x,y)", var1Steps==40, var2Steps==40)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugproblemnumericpage29.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugproblemnumericpage29}} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty29} -\begin{paste}{ugProblemNumericPageEmpty29}{ugProblemNumericPagePatch29} -\pastebutton{ugProblemNumericPageEmpty29}{\showpaste} -\tab{5}\spadgraph{draw(Beta(x,y)/100, x=-1.6..1.7, y = -1.6..1.7, style=="shade", title=="Beta(x,y)", var1Steps==40, var2Steps==40)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch30} -\begin{paste}{ugProblemNumericPageFull30}{ugProblemNumericPageEmpty30} -\pastebutton{ugProblemNumericPageFull30}{\hidepaste} -\tab{5}\spadgraph{draw((alpha,x) +-> min(max(besselJ(alpha, x+8), -6), 6), -6..4, -6..6, title=="besselJ(alpha,x)", style=="shade", var1Steps==40, var2Steps==40)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugproblemnumericpage30.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugproblemnumericpage30}} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty30} -\begin{paste}{ugProblemNumericPageEmpty30}{ugProblemNumericPagePatch30} -\pastebutton{ugProblemNumericPageEmpty30}{\showpaste} -\tab{5}\spadgraph{draw((alpha,x) +-> min(max(besselJ(alpha, x+8), -6), 6), -6..4, -6..6, title=="besselJ(alpha,x)", style=="shade", var1Steps==40, var2Steps==40)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch31} -\begin{paste}{ugProblemNumericPageFull31}{ugProblemNumericPageEmpty31} -\pastebutton{ugProblemNumericPageFull31}{\hidepaste} -\tab{5}\spadgraph{draw(besselI(alpha, 5), alpha = -12..12, unit==[5,20])} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugproblemnumericpage31.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugproblemnumericpage31}} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty31} -\begin{paste}{ugProblemNumericPageEmpty31}{ugProblemNumericPagePatch31} -\pastebutton{ugProblemNumericPageEmpty31}{\showpaste} -\tab{5}\spadgraph{draw(besselI(alpha, 5), alpha = -12..12, unit==[5,20])} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch32} -\begin{paste}{ugProblemNumericPageFull32}{ugProblemNumericPageEmpty32} -\pastebutton{ugProblemNumericPageFull32}{\hidepaste} -\tab{5}\spadgraph{draw((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")} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugproblemnumericpage32.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugproblemnumericpage32}} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty32} -\begin{paste}{ugProblemNumericPageEmpty32}{ugProblemNumericPagePatch32} -\pastebutton{ugProblemNumericPageEmpty32}{\showpaste} -\tab{5}\spadgraph{draw((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")} -\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPagePatch33} -\begin{paste}{ugProblemNumericPageFull33}{ugProblemNumericPageEmpty33} -\pastebutton{ugProblemNumericPageFull33}{\hidepaste} -\tab{5}\spadcommand{all} -\indentrel{3}\begin{verbatim} - (33) all - Type: Variable all -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemNumericPageEmpty33} -\begin{paste}{ugProblemNumericPageEmpty33}{ugProblemNumericPagePatch33} -\pastebutton{ugProblemNumericPageEmpty33}{\showpaste} -\tab{5}\spadcommand{all} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemLinSysPagePatch1} -\begin{paste}{ugxProblemLinSysPageFull1}{ugxProblemLinSysPageEmpty1} -\pastebutton{ugxProblemLinSysPageFull1}{\hidepaste} -\tab{5}\spadcommand{solve([x+y+z=8,3*x-2*y+z=0,x+2*y+2*z=17],[x,y,z])} -\indentrel{3}\begin{verbatim} - (1) [[x= - 1,y= 2,z= 7]] - Type: List List Equation Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemLinSysPageEmpty1} -\begin{paste}{ugxProblemLinSysPageEmpty1}{ugxProblemLinSysPagePatch1} -\pastebutton{ugxProblemLinSysPageEmpty1}{\showpaste} -\tab{5}\spadcommand{solve([x+y+z=8,3*x-2*y+z=0,x+2*y+2*z=17],[x,y,z])} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemLinSysPagePatch2} -\begin{paste}{ugxProblemLinSysPageFull2}{ugxProblemLinSysPageEmpty2} -\pastebutton{ugxProblemLinSysPageFull2}{\hidepaste} -\tab{5}\spadcommand{solve([x+2*y+3*z=2,2*x+3*y+4*z=2,3*x+4*y+5*z=2],[x,y,z])} -\indentrel{3}\begin{verbatim} - (2) [[x= %Y - 2,y= - 2%Y + 2,z= %Y]] - Type: List List Equation Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemLinSysPageEmpty2} -\begin{paste}{ugxProblemLinSysPageEmpty2}{ugxProblemLinSysPagePatch2} -\pastebutton{ugxProblemLinSysPageEmpty2}{\showpaste} -\tab{5}\spadcommand{solve([x+2*y+3*z=2,2*x+3*y+4*z=2,3*x+4*y+5*z=2],[x,y,z])} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemLinSysPagePatch3} -\begin{paste}{ugxProblemLinSysPageFull3}{ugxProblemLinSysPageEmpty3} -\pastebutton{ugxProblemLinSysPageFull3}{\hidepaste} -\tab{5}\spadcommand{solve([[1,1,1],[3,-2,1],[1,2,2]],[8,0,17])} -\indentrel{3}\begin{verbatim} - (3) [particular= [- 1,2,7],basis= [[0,0,0]]] -Type: Record(particular: Union(Vector Fraction Integer,"failed"),basis: List Vector Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemLinSysPageEmpty3} -\begin{paste}{ugxProblemLinSysPageEmpty3}{ugxProblemLinSysPagePatch3} -\pastebutton{ugxProblemLinSysPageEmpty3}{\showpaste} -\tab{5}\spadcommand{solve([[1,1,1],[3,-2,1],[1,2,2]],[8,0,17])} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemLinSysPagePatch4} -\begin{paste}{ugxProblemLinSysPageFull4}{ugxProblemLinSysPageEmpty4} -\pastebutton{ugxProblemLinSysPageFull4}{\hidepaste} -\tab{5}\spadcommand{solve([[1,2,3],[2,3,4],[3,4,5]],[2,2,2])} -\indentrel{3}\begin{verbatim} - (4) [particular= [- 2,2,0],basis= [[1,- 2,1]]] -Type: Record(particular: Union(Vector Fraction Integer,"failed"),basis: List Vector Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemLinSysPageEmpty4} -\begin{paste}{ugxProblemLinSysPageEmpty4}{ugxProblemLinSysPagePatch4} -\pastebutton{ugxProblemLinSysPageEmpty4}{\showpaste} -\tab{5}\spadcommand{solve([[1,2,3],[2,3,4],[3,4,5]],[2,2,2])} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemLinSysPagePatch5} -\begin{paste}{ugxProblemLinSysPageFull5}{ugxProblemLinSysPageEmpty5} -\pastebutton{ugxProblemLinSysPageFull5}{\hidepaste} -\tab{5}\spadcommand{solve([[1,2,3],[2,3,4],[3,4,5]],[2,3,2])} -\indentrel{3}\begin{verbatim} - (5) [particular= "failed",basis= [[1,- 2,1]]] -Type: Record(particular: Union(Vector Fraction Integer,"failed"),basis: List Vector Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemLinSysPageEmpty5} -\begin{paste}{ugxProblemLinSysPageEmpty5}{ugxProblemLinSysPagePatch5} -\pastebutton{ugxProblemLinSysPageEmpty5}{\showpaste} -\tab{5}\spadcommand{solve([[1,2,3],[2,3,4],[3,4,5]],[2,3,2])} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemLinSysPagePatch6} -\begin{paste}{ugxProblemLinSysPageFull6}{ugxProblemLinSysPageEmpty6} -\pastebutton{ugxProblemLinSysPageFull6}{\hidepaste} -\tab{5}\spadcommand{nullSpace([[1,2,3],[2,3,4],[3,4,5]])} -\indentrel{3}\begin{verbatim} - (6) [[1,- 2,1]] - Type: List Vector Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemLinSysPageEmpty6} -\begin{paste}{ugxProblemLinSysPageEmpty6}{ugxProblemLinSysPagePatch6} -\pastebutton{ugxProblemLinSysPageEmpty6}{\showpaste} -\tab{5}\spadcommand{nullSpace([[1,2,3],[2,3,4],[3,4,5]])} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemPolSysPagePatch1} -\begin{paste}{ugxProblemPolSysPageFull1}{ugxProblemPolSysPageEmpty1} -\pastebutton{ugxProblemPolSysPageFull1}{\hidepaste} -\tab{5}\spadcommand{solve([3*x**3 + y + 1,y**2 -4],[x,y])} -\indentrel{3}\begin{verbatim} - (1) - 2 - [[x= - 1,y= 2], [x - x + 1= 0,y= 2], - 3 - [3x - 1= 0,y= - 2]] - Type: List List Equation Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemPolSysPageEmpty1} -\begin{paste}{ugxProblemPolSysPageEmpty1}{ugxProblemPolSysPagePatch1} -\pastebutton{ugxProblemPolSysPageEmpty1}{\showpaste} -\tab{5}\spadcommand{solve([3*x**3 + y + 1,y**2 -4],[x,y])} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemPolSysPagePatch2} -\begin{paste}{ugxProblemPolSysPageFull2}{ugxProblemPolSysPageEmpty2} -\pastebutton{ugxProblemPolSysPageFull2}{\hidepaste} -\tab{5}\spadcommand{solve([x = y**2-19,y = z**2+x+3,z = 3*x],[x,y,z])} -\indentrel{3}\begin{verbatim} - (2) - 2 - z 3z + z + 9 4 3 2 - [[x= Ä,y= ÄÄÄÄÄÄÄÄÄÄÄ,9z + 6z + 55z + 15z - 90= 0]] - 3 3 - Type: List List Equation Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemPolSysPageEmpty2} -\begin{paste}{ugxProblemPolSysPageEmpty2}{ugxProblemPolSysPagePatch2} -\pastebutton{ugxProblemPolSysPageEmpty2}{\showpaste} -\tab{5}\spadcommand{solve([x = y**2-19,y = z**2+x+3,z = 3*x],[x,y,z])} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemPolSysPagePatch3} -\begin{paste}{ugxProblemPolSysPageFull3}{ugxProblemPolSysPageEmpty3} -\pastebutton{ugxProblemPolSysPageFull3}{\hidepaste} -\tab{5}\spadcommand{radicalSolve([3*x**3 + y + 1,y**2 -4],[x,y])} -\indentrel{3}\begin{verbatim} - (3) - ÚÄÄÄ¿ ÚÄÄÄ¿ - \³- 3 + 1 - \³- 3 + 1 - [[x= ÄÄÄÄÄÄÄÄÄÄ,y= 2], [x= ÄÄÄÄÄÄÄÄÄÄÄÄ,y= 2], - 2 2 - ÚÄÄÄ¿ ÚÄ¿ - - \³- 1 \³3 - 1 - [x= ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ,y= - 2], - 3ÚÄ¿ - 2\³3 - ÚÄÄÄ¿ ÚÄ¿ - \³- 1 \³3 - 1 1 - [x= ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ,y= - 2], [x= ÄÄÄÄ,y= - 2], - 3ÚÄ¿ 3ÚÄ¿ - 2\³3 \³3 - [x= - 1,y= 2]] - Type: List List Equation Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemPolSysPageEmpty3} -\begin{paste}{ugxProblemPolSysPageEmpty3}{ugxProblemPolSysPagePatch3} -\pastebutton{ugxProblemPolSysPageEmpty3}{\showpaste} -\tab{5}\spadcommand{radicalSolve([3*x**3 + y + 1,y**2 -4],[x,y])} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemPolSysPagePatch4} -\begin{paste}{ugxProblemPolSysPageFull4}{ugxProblemPolSysPageEmpty4} -\pastebutton{ugxProblemPolSysPageFull4}{\hidepaste} -\tab{5}\spadcommand{solve([x**2*y - 1,x*y**2 - 2],.01)} -\indentrel{3}\begin{verbatim} - (4) [[y= 1.5859375,x= 0.79296875]] - Type: List List Equation Polynomial Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemPolSysPageEmpty4} -\begin{paste}{ugxProblemPolSysPageEmpty4}{ugxProblemPolSysPagePatch4} -\pastebutton{ugxProblemPolSysPageEmpty4}{\showpaste} -\tab{5}\spadcommand{solve([x**2*y - 1,x*y**2 - 2],.01)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemPolSysPagePatch5} -\begin{paste}{ugxProblemPolSysPageFull5}{ugxProblemPolSysPageEmpty5} -\pastebutton{ugxProblemPolSysPageFull5}{\hidepaste} -\tab{5}\spadcommand{complexSolve([x**2*y - 1,x*y**2 - 2],1/1000)} -\indentrel{3}\begin{verbatim} - (5) - 1625 1625 - [[y= ÄÄÄÄ,x= ÄÄÄÄ], - 1024 2048 - - 435445573689 1407 - [y= - ÄÄÄÄÄÄÄÄÄÄÄÄ - ÄÄÄÄ %i, - 549755813888 1024 - 435445573689 1407 - x= - ÄÄÄÄÄÄÄÄÄÄÄÄÄ - ÄÄÄÄ %i] - 1099511627776 2048 - , - - 435445573689 1407 - [y= - ÄÄÄÄÄÄÄÄÄÄÄÄ + ÄÄÄÄ %i, - 549755813888 1024 - 435445573689 1407 - x= - ÄÄÄÄÄÄÄÄÄÄÄÄÄ + ÄÄÄÄ %i] - 1099511627776 2048 - ] -Type: List List Equation Polynomial Complex Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemPolSysPageEmpty5} -\begin{paste}{ugxProblemPolSysPageEmpty5}{ugxProblemPolSysPagePatch5} -\pastebutton{ugxProblemPolSysPageEmpty5}{\showpaste} -\tab{5}\spadcommand{complexSolve([x**2*y - 1,x*y**2 - 2],1/1000)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemPolSysPagePatch6} -\begin{paste}{ugxProblemPolSysPageFull6}{ugxProblemPolSysPageEmpty6} -\pastebutton{ugxProblemPolSysPageFull6}{\hidepaste} -\tab{5}\spadcommand{solve([x**2/a = a,a = a*x],.001)} -\indentrel{3}\begin{verbatim} - (6) [[x= 1.0,a= - 1.0],[x= 1.0,a= 1.0]] - Type: List List Equation Polynomial Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemPolSysPageEmpty6} -\begin{paste}{ugxProblemPolSysPageEmpty6}{ugxProblemPolSysPagePatch6} -\pastebutton{ugxProblemPolSysPageEmpty6}{\showpaste} -\tab{5}\spadcommand{solve([x**2/a = a,a = a*x],.001)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemPolSysPagePatch7} -\begin{paste}{ugxProblemPolSysPageFull7}{ugxProblemPolSysPageEmpty7} -\pastebutton{ugxProblemPolSysPageFull7}{\hidepaste} -\tab{5}\spadcommand{radicalSolve([x**2/a + a + y**3 - 1,a*y + a + 1],[x,y])} -\indentrel{3}\begin{verbatim} - (7) - ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ - ³ 4 3 2 - ³- a + 2a + 3a + 3a + 1 - a - 1 - [[x= - ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ,y= ÄÄÄÄÄÄÄ], - ³ 2 a - \³ a - ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ - ³ 4 3 2 - ³- a + 2a + 3a + 3a + 1 - a - 1 - [x= ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ,y= ÄÄÄÄÄÄÄ]] - ³ 2 a - \³ a - Type: List List Equation Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemPolSysPageEmpty7} -\begin{paste}{ugxProblemPolSysPageEmpty7}{ugxProblemPolSysPagePatch7} -\pastebutton{ugxProblemPolSysPageEmpty7}{\showpaste} -\tab{5}\spadcommand{radicalSolve([x**2/a + a + y**3 - 1,a*y + a + 1],[x,y])} -\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorFFPagePatch1} -\begin{paste}{ugProblemFactorFFPageFull1}{ugProblemFactorFFPageEmpty1} -\pastebutton{ugProblemFactorFFPageFull1}{\hidepaste} -\tab{5}\spadcommand{u : POLY(PF(19)) :=3*x**4+2*x**2+15*x+18\bound{u }} -\indentrel{3}\begin{verbatim} - 4 2 - (1) 3x + 2x + 15x + 18 - Type: Polynomial PrimeField 19 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorFFPageEmpty1} -\begin{paste}{ugProblemFactorFFPageEmpty1}{ugProblemFactorFFPagePatch1} -\pastebutton{ugProblemFactorFFPageEmpty1}{\showpaste} -\tab{5}\spadcommand{u : POLY(PF(19)) :=3*x**4+2*x**2+15*x+18\bound{u }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorFFPagePatch2} -\begin{paste}{ugProblemFactorFFPageFull2}{ugProblemFactorFFPageEmpty2} -\pastebutton{ugProblemFactorFFPageFull2}{\hidepaste} -\tab{5}\spadcommand{factor u\free{u }} -\indentrel{3}\begin{verbatim} - 3 2 - (2) 3(x + 18)(x + x + 8x + 13) - Type: Factored Polynomial PrimeField 19 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorFFPageEmpty2} -\begin{paste}{ugProblemFactorFFPageEmpty2}{ugProblemFactorFFPagePatch2} -\pastebutton{ugProblemFactorFFPageEmpty2}{\showpaste} -\tab{5}\spadcommand{factor u\free{u }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorFFPagePatch3} -\begin{paste}{ugProblemFactorFFPageFull3}{ugProblemFactorFFPageEmpty3} -\pastebutton{ugProblemFactorFFPageFull3}{\hidepaste} -\tab{5}\spadcommand{factor(u :: POLY FFX(PF 19,3))\free{u }} -\indentrel{3}\begin{verbatim} - (3) - 2 - 3(x + 18)(x + 5%BC + 3%BC + 13) - * - 2 2 - (x + 16%BC + 14%BC + 13)(x + 17%BC + 2%BC + 13) -Type: Factored Polynomial FiniteFieldExtension(PrimeField 19,3) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorFFPageEmpty3} -\begin{paste}{ugProblemFactorFFPageEmpty3}{ugProblemFactorFFPagePatch3} -\pastebutton{ugProblemFactorFFPageEmpty3}{\showpaste} -\tab{5}\spadcommand{factor(u :: POLY FFX(PF 19,3))\free{u }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesArithmeticPagePatch1} -\begin{paste}{ugxProblemSeriesArithmeticPageFull1}{ugxProblemSeriesArithmeticPageEmpty1} -\pastebutton{ugxProblemSeriesArithmeticPageFull1}{\hidepaste} -\tab{5}\spadcommand{x := series x\bound{x }} -\indentrel{3}\begin{verbatim} - (1) x - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesArithmeticPageEmpty1} -\begin{paste}{ugxProblemSeriesArithmeticPageEmpty1}{ugxProblemSeriesArithmeticPagePatch1} -\pastebutton{ugxProblemSeriesArithmeticPageEmpty1}{\showpaste} -\tab{5}\spadcommand{x := series x\bound{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesArithmeticPagePatch2} -\begin{paste}{ugxProblemSeriesArithmeticPageFull2}{ugxProblemSeriesArithmeticPageEmpty2} -\pastebutton{ugxProblemSeriesArithmeticPageFull2}{\hidepaste} -\tab{5}\spadcommand{(3 + x) / (1 + 7*x)} -\indentrel{3}\begin{verbatim} - (2) - 2 3 4 5 6 - 3 - 20x + 140x - 980x + 6860x - 48020x + 336140x - + - 7 8 9 10 - - 2352980x + 16470860x - 115296020x + 807072140x - + - 11 - O(x ) - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesArithmeticPageEmpty2} -\begin{paste}{ugxProblemSeriesArithmeticPageEmpty2}{ugxProblemSeriesArithmeticPagePatch2} -\pastebutton{ugxProblemSeriesArithmeticPageEmpty2}{\showpaste} -\tab{5}\spadcommand{(3 + x) / (1 + 7*x)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesArithmeticPagePatch3} -\begin{paste}{ugxProblemSeriesArithmeticPageFull3}{ugxProblemSeriesArithmeticPageEmpty3} -\pastebutton{ugxProblemSeriesArithmeticPageFull3}{\hidepaste} -\tab{5}\spadcommand{base := 1 / (1 - x)\free{x }\bound{base }} -\indentrel{3}\begin{verbatim} - (3) - 2 3 4 5 6 7 8 9 10 - 1 + x + x + x + x + x + x + x + x + x + x - + - 11 - O(x ) - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesArithmeticPageEmpty3} -\begin{paste}{ugxProblemSeriesArithmeticPageEmpty3}{ugxProblemSeriesArithmeticPagePatch3} -\pastebutton{ugxProblemSeriesArithmeticPageEmpty3}{\showpaste} -\tab{5}\spadcommand{base := 1 / (1 - x)\free{x }\bound{base }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesArithmeticPagePatch4} -\begin{paste}{ugxProblemSeriesArithmeticPageFull4}{ugxProblemSeriesArithmeticPageEmpty4} -\pastebutton{ugxProblemSeriesArithmeticPageFull4}{\hidepaste} -\tab{5}\spadcommand{expon := x * base\free{x base }\bound{expon }} -\indentrel{3}\begin{verbatim} - (4) - 2 3 4 5 6 7 8 9 10 11 - x + x + x + x + x + x + x + x + x + x + x - + - 12 - O(x ) - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesArithmeticPageEmpty4} -\begin{paste}{ugxProblemSeriesArithmeticPageEmpty4}{ugxProblemSeriesArithmeticPagePatch4} -\pastebutton{ugxProblemSeriesArithmeticPageEmpty4}{\showpaste} -\tab{5}\spadcommand{expon := x * base\free{x base }\bound{expon }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesArithmeticPagePatch5} -\begin{paste}{ugxProblemSeriesArithmeticPageFull5}{ugxProblemSeriesArithmeticPageEmpty5} -\pastebutton{ugxProblemSeriesArithmeticPageFull5}{\hidepaste} -\tab{5}\spadcommand{base ** expon\free{base expon }} -\indentrel{3}\begin{verbatim} - (5) - 2 3 3 7 4 43 5 649 6 241 7 - 1 + x + Ä x + Ä x + ÄÄ x + ÄÄÄ x + ÄÄÄ x - 2 3 12 120 30 - + - 3706 8 85763 9 245339 10 11 - ÄÄÄÄ x + ÄÄÄÄÄ x + ÄÄÄÄÄÄ x + O(x ) - 315 5040 10080 - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesArithmeticPageEmpty5} -\begin{paste}{ugxProblemSeriesArithmeticPageEmpty5}{ugxProblemSeriesArithmeticPagePatch5} -\pastebutton{ugxProblemSeriesArithmeticPageEmpty5}{\showpaste} -\tab{5}\spadcommand{base ** expon\free{base expon }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPagePatch1} -\begin{paste}{ugxProblemFiniteConversionPageFull1}{ugxProblemFiniteConversionPageEmpty1} -\pastebutton{ugxProblemFiniteConversionPageFull1}{\hidepaste} -\tab{5}\spadcommand{K := PrimeField 3\bound{K }} -\indentrel{3}\begin{verbatim} - (1) PrimeField 3 - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPageEmpty1} -\begin{paste}{ugxProblemFiniteConversionPageEmpty1}{ugxProblemFiniteConversionPagePatch1} -\pastebutton{ugxProblemFiniteConversionPageEmpty1}{\showpaste} -\tab{5}\spadcommand{K := PrimeField 3\bound{K }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPagePatch2} -\begin{paste}{ugxProblemFiniteConversionPageFull2}{ugxProblemFiniteConversionPageEmpty2} -\pastebutton{ugxProblemFiniteConversionPageFull2}{\hidepaste} -\tab{5}\spadcommand{(m,n) := (4,8)\bound{m n }} -\indentrel{3}\begin{verbatim} - (2) 8 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPageEmpty2} -\begin{paste}{ugxProblemFiniteConversionPageEmpty2}{ugxProblemFiniteConversionPagePatch2} -\pastebutton{ugxProblemFiniteConversionPageEmpty2}{\showpaste} -\tab{5}\spadcommand{(m,n) := (4,8)\bound{m n }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPagePatch3} -\begin{paste}{ugxProblemFiniteConversionPageFull3}{ugxProblemFiniteConversionPageEmpty3} -\pastebutton{ugxProblemFiniteConversionPageFull3}{\hidepaste} -\tab{5}\spadcommand{Km := FiniteFieldExtension(K,m)\bound{Km }\free{K m }} -\indentrel{3}\begin{verbatim} - (3) FiniteFieldExtension(PrimeField 3,4) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPageEmpty3} -\begin{paste}{ugxProblemFiniteConversionPageEmpty3}{ugxProblemFiniteConversionPagePatch3} -\pastebutton{ugxProblemFiniteConversionPageEmpty3}{\showpaste} -\tab{5}\spadcommand{Km := FiniteFieldExtension(K,m)\bound{Km }\free{K m }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPagePatch4} -\begin{paste}{ugxProblemFiniteConversionPageFull4}{ugxProblemFiniteConversionPageEmpty4} -\pastebutton{ugxProblemFiniteConversionPageFull4}{\hidepaste} -\tab{5}\spadcommand{Kn := FiniteFieldExtension(K,n)\bound{Kn }\free{K n }} -\indentrel{3}\begin{verbatim} - (4) FiniteFieldExtension(PrimeField 3,8) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPageEmpty4} -\begin{paste}{ugxProblemFiniteConversionPageEmpty4}{ugxProblemFiniteConversionPagePatch4} -\pastebutton{ugxProblemFiniteConversionPageEmpty4}{\showpaste} -\tab{5}\spadcommand{Kn := FiniteFieldExtension(K,n)\bound{Kn }\free{K n }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPagePatch5} -\begin{paste}{ugxProblemFiniteConversionPageFull5}{ugxProblemFiniteConversionPageEmpty5} -\pastebutton{ugxProblemFiniteConversionPageFull5}{\hidepaste} -\tab{5}\spadcommand{a1 := random()$Km\bound{a1 }\free{Km }} -\indentrel{3}\begin{verbatim} - 3 2 - (5) 2%BD + 2%BD + 2%BD + 1 - Type: FiniteFieldExtension(PrimeField 3,4) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPageEmpty5} -\begin{paste}{ugxProblemFiniteConversionPageEmpty5}{ugxProblemFiniteConversionPagePatch5} -\pastebutton{ugxProblemFiniteConversionPageEmpty5}{\showpaste} -\tab{5}\spadcommand{a1 := random()$Km\bound{a1 }\free{Km }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPagePatch6} -\begin{paste}{ugxProblemFiniteConversionPageFull6}{ugxProblemFiniteConversionPageEmpty6} -\pastebutton{ugxProblemFiniteConversionPageFull6}{\hidepaste} -\tab{5}\spadcommand{b1 := random()$Km\bound{b1 }\free{Km }} -\indentrel{3}\begin{verbatim} - 3 2 - (6) %BD + %BD + 2%BD + 2 - Type: FiniteFieldExtension(PrimeField 3,4) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPageEmpty6} -\begin{paste}{ugxProblemFiniteConversionPageEmpty6}{ugxProblemFiniteConversionPagePatch6} -\pastebutton{ugxProblemFiniteConversionPageEmpty6}{\showpaste} -\tab{5}\spadcommand{b1 := random()$Km\bound{b1 }\free{Km }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPagePatch7} -\begin{paste}{ugxProblemFiniteConversionPageFull7}{ugxProblemFiniteConversionPageEmpty7} -\pastebutton{ugxProblemFiniteConversionPageFull7}{\hidepaste} -\tab{5}\spadcommand{a2 := a1 :: Kn\bound{a2 }\free{a1 Kn }} -\indentrel{3}\begin{verbatim} - 6 - (7) 2%BE + 1 - Type: FiniteFieldExtension(PrimeField 3,8) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPageEmpty7} -\begin{paste}{ugxProblemFiniteConversionPageEmpty7}{ugxProblemFiniteConversionPagePatch7} -\pastebutton{ugxProblemFiniteConversionPageEmpty7}{\showpaste} -\tab{5}\spadcommand{a2 := a1 :: Kn\bound{a2 }\free{a1 Kn }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPagePatch8} -\begin{paste}{ugxProblemFiniteConversionPageFull8}{ugxProblemFiniteConversionPageEmpty8} -\pastebutton{ugxProblemFiniteConversionPageFull8}{\hidepaste} -\tab{5}\spadcommand{b2 := b1 :: Kn\bound{b2 }\free{b1 Kn }} -\indentrel{3}\begin{verbatim} - 6 4 2 - (8) 2%BE + 2%BE + %BE + 2 - Type: FiniteFieldExtension(PrimeField 3,8) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPageEmpty8} -\begin{paste}{ugxProblemFiniteConversionPageEmpty8}{ugxProblemFiniteConversionPagePatch8} -\pastebutton{ugxProblemFiniteConversionPageEmpty8}{\showpaste} -\tab{5}\spadcommand{b2 := b1 :: Kn\bound{b2 }\free{b1 Kn }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPagePatch9} -\begin{paste}{ugxProblemFiniteConversionPageFull9}{ugxProblemFiniteConversionPageEmpty9} -\pastebutton{ugxProblemFiniteConversionPageFull9}{\hidepaste} -\tab{5}\spadcommand{a1+b1 - ((a2+b2) :: Km)\free{a1 a2 b1 b2 Km Kn }} -\indentrel{3}\begin{verbatim} - (9) 0 - Type: FiniteFieldExtension(PrimeField 3,4) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPageEmpty9} -\begin{paste}{ugxProblemFiniteConversionPageEmpty9}{ugxProblemFiniteConversionPagePatch9} -\pastebutton{ugxProblemFiniteConversionPageEmpty9}{\showpaste} -\tab{5}\spadcommand{a1+b1 - ((a2+b2) :: Km)\free{a1 a2 b1 b2 Km Kn }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPagePatch10} -\begin{paste}{ugxProblemFiniteConversionPageFull10}{ugxProblemFiniteConversionPageEmpty10} -\pastebutton{ugxProblemFiniteConversionPageFull10}{\hidepaste} -\tab{5}\spadcommand{a1*b1 - ((a2*b2) :: Km)\free{a1 a2 b1 b2 Km Kn }} -\indentrel{3}\begin{verbatim} - (10) 0 - Type: FiniteFieldExtension(PrimeField 3,4) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPageEmpty10} -\begin{paste}{ugxProblemFiniteConversionPageEmpty10}{ugxProblemFiniteConversionPagePatch10} -\pastebutton{ugxProblemFiniteConversionPageEmpty10}{\showpaste} -\tab{5}\spadcommand{a1*b1 - ((a2*b2) :: Km)\free{a1 a2 b1 b2 Km Kn }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPagePatch11} -\begin{paste}{ugxProblemFiniteConversionPageFull11}{ugxProblemFiniteConversionPageEmpty11} -\pastebutton{ugxProblemFiniteConversionPageFull11}{\hidepaste} -\tab{5}\spadcommand{Km := FFCGX(K,m)\bound{Km2 }\free{K m }} -\indentrel{3}\begin{verbatim} - (11) FiniteFieldCyclicGroupExtension(PrimeField 3,4) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPageEmpty11} -\begin{paste}{ugxProblemFiniteConversionPageEmpty11}{ugxProblemFiniteConversionPagePatch11} -\pastebutton{ugxProblemFiniteConversionPageEmpty11}{\showpaste} -\tab{5}\spadcommand{Km := FFCGX(K,m)\bound{Km2 }\free{K m }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPagePatch12} -\begin{paste}{ugxProblemFiniteConversionPageFull12}{ugxProblemFiniteConversionPageEmpty12} -\pastebutton{ugxProblemFiniteConversionPageFull12}{\hidepaste} -\tab{5}\spadcommand{Kn := FFNBX(K,n)\bound{Kn2 }\free{K n }} -\indentrel{3}\begin{verbatim} - (12) FiniteFieldNormalBasisExtension(PrimeField 3,8) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPageEmpty12} -\begin{paste}{ugxProblemFiniteConversionPageEmpty12}{ugxProblemFiniteConversionPagePatch12} -\pastebutton{ugxProblemFiniteConversionPageEmpty12}{\showpaste} -\tab{5}\spadcommand{Kn := FFNBX(K,n)\bound{Kn2 }\free{K n }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPagePatch13} -\begin{paste}{ugxProblemFiniteConversionPageFull13}{ugxProblemFiniteConversionPageEmpty13} -\pastebutton{ugxProblemFiniteConversionPageFull13}{\hidepaste} -\tab{5}\spadcommand{(a1,b1) := (random()$Km,random()$Km)\bound{a12 b12 }\free{Km2 }} -\indentrel{3}\begin{verbatim} - 13 - (13) %BF - Type: FiniteFieldCyclicGroupExtension(PrimeField 3,4) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPageEmpty13} -\begin{paste}{ugxProblemFiniteConversionPageEmpty13}{ugxProblemFiniteConversionPagePatch13} -\pastebutton{ugxProblemFiniteConversionPageEmpty13}{\showpaste} -\tab{5}\spadcommand{(a1,b1) := (random()$Km,random()$Km)\bound{a12 b12 }\free{Km2 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPagePatch14} -\begin{paste}{ugxProblemFiniteConversionPageFull14}{ugxProblemFiniteConversionPageEmpty14} -\pastebutton{ugxProblemFiniteConversionPageFull14}{\hidepaste} -\tab{5}\spadcommand{a2 := a1 :: Kn\bound{a22 }\free{a12 Kn2 }} -\indentrel{3}\begin{verbatim} - (14) - 6 5 4 2 - q q q q q - 2%BG + 2%BG + 2%BG + 2%BG + 2%BG + 2%BG - Type: FiniteFieldNormalBasisExtension(PrimeField 3,8) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPageEmpty14} -\begin{paste}{ugxProblemFiniteConversionPageEmpty14}{ugxProblemFiniteConversionPagePatch14} -\pastebutton{ugxProblemFiniteConversionPageEmpty14}{\showpaste} -\tab{5}\spadcommand{a2 := a1 :: Kn\bound{a22 }\free{a12 Kn2 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPagePatch15} -\begin{paste}{ugxProblemFiniteConversionPageFull15}{ugxProblemFiniteConversionPageEmpty15} -\pastebutton{ugxProblemFiniteConversionPageFull15}{\hidepaste} -\tab{5}\spadcommand{b2 := b1 :: Kn\bound{b22 }\free{b12 Kn2 }} -\indentrel{3}\begin{verbatim} - (15) - 7 6 5 4 3 2 - q q q q q q - 2%BG + %BG + %BG + %BG + 2%BG + %BG - + - q - %BG + %BG - Type: FiniteFieldNormalBasisExtension(PrimeField 3,8) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPageEmpty15} -\begin{paste}{ugxProblemFiniteConversionPageEmpty15}{ugxProblemFiniteConversionPagePatch15} -\pastebutton{ugxProblemFiniteConversionPageEmpty15}{\showpaste} -\tab{5}\spadcommand{b2 := b1 :: Kn\bound{b22 }\free{b12 Kn2 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPagePatch16} -\begin{paste}{ugxProblemFiniteConversionPageFull16}{ugxProblemFiniteConversionPageEmpty16} -\pastebutton{ugxProblemFiniteConversionPageFull16}{\hidepaste} -\tab{5}\spadcommand{a1+b1 - ((a2+b2) :: Km)\free{a12 a22 b12 b22 Km2 }} -\indentrel{3}\begin{verbatim} - (16) 0 - Type: FiniteFieldCyclicGroupExtension(PrimeField 3,4) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPageEmpty16} -\begin{paste}{ugxProblemFiniteConversionPageEmpty16}{ugxProblemFiniteConversionPagePatch16} -\pastebutton{ugxProblemFiniteConversionPageEmpty16}{\showpaste} -\tab{5}\spadcommand{a1+b1 - ((a2+b2) :: Km)\free{a12 a22 b12 b22 Km2 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPagePatch17} -\begin{paste}{ugxProblemFiniteConversionPageFull17}{ugxProblemFiniteConversionPageEmpty17} -\pastebutton{ugxProblemFiniteConversionPageFull17}{\hidepaste} -\tab{5}\spadcommand{a1*b1 - ((a2*b2) :: Km)\free{a12 a22 b12 b22 Km2 }} -\indentrel{3}\begin{verbatim} - (17) 0 - Type: FiniteFieldCyclicGroupExtension(PrimeField 3,4) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteConversionPageEmpty17} -\begin{paste}{ugxProblemFiniteConversionPageEmpty17}{ugxProblemFiniteConversionPagePatch17} -\pastebutton{ugxProblemFiniteConversionPageEmpty17}{\showpaste} -\tab{5}\spadcommand{a1*b1 - ((a2*b2) :: Km)\free{a12 a22 b12 b22 Km2 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesSubstitutePagePatch1} -\begin{paste}{ugxProblemSeriesSubstitutePageFull1}{ugxProblemSeriesSubstitutePageEmpty1} -\pastebutton{ugxProblemSeriesSubstitutePageFull1}{\hidepaste} -\tab{5}\spadcommand{f := taylor(exp(x))\bound{f }} -\indentrel{3}\begin{verbatim} - (1) - 1 2 1 3 1 4 1 5 1 6 - 1 + x + Ä x + Ä x + ÄÄ x + ÄÄÄ x + ÄÄÄ x - 2 6 24 120 720 - + - 1 7 1 8 1 9 1 10 11 - ÄÄÄÄ x + ÄÄÄÄÄ x + ÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄ x + O(x ) - 5040 40320 362880 3628800 - Type: UnivariateTaylorSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesSubstitutePageEmpty1} -\begin{paste}{ugxProblemSeriesSubstitutePageEmpty1}{ugxProblemSeriesSubstitutePagePatch1} -\pastebutton{ugxProblemSeriesSubstitutePageEmpty1}{\showpaste} -\tab{5}\spadcommand{f := taylor(exp(x))\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesSubstitutePagePatch2} -\begin{paste}{ugxProblemSeriesSubstitutePageFull2}{ugxProblemSeriesSubstitutePageEmpty2} -\pastebutton{ugxProblemSeriesSubstitutePageFull2}{\hidepaste} -\tab{5}\spadcommand{eval(f,1.0)} -\indentrel{3}\begin{verbatim} - (2) - [1.0, 2.0, 2.5, 2.6666666666 666666667, - 2.7083333333 333333333, 2.7166666666 666666667, - 2.7180555555 555555556, 2.7182539682 53968254, - 2.7182787698 412698413, 2.7182815255 731922399, ...] - Type: Stream Expression Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesSubstitutePageEmpty2} -\begin{paste}{ugxProblemSeriesSubstitutePageEmpty2}{ugxProblemSeriesSubstitutePagePatch2} -\pastebutton{ugxProblemSeriesSubstitutePageEmpty2}{\showpaste} -\tab{5}\spadcommand{eval(f,1.0)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorAlgPagePatch1} -\begin{paste}{ugProblemFactorAlgPageFull1}{ugProblemFactorAlgPageEmpty1} -\pastebutton{ugProblemFactorAlgPageFull1}{\hidepaste} -\tab{5}\spadcommand{aa := rootOf(aa**2+aa+1)\bound{aa }} -\indentrel{3}\begin{verbatim} - (1) aa - Type: AlgebraicNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorAlgPageEmpty1} -\begin{paste}{ugProblemFactorAlgPageEmpty1}{ugProblemFactorAlgPagePatch1} -\pastebutton{ugProblemFactorAlgPageEmpty1}{\showpaste} -\tab{5}\spadcommand{aa := rootOf(aa**2+aa+1)\bound{aa }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorAlgPagePatch2} -\begin{paste}{ugProblemFactorAlgPageFull2}{ugProblemFactorAlgPageEmpty2} -\pastebutton{ugProblemFactorAlgPageFull2}{\hidepaste} -\tab{5}\spadcommand{p:=(x**3+aa**2*x+y)*(aa*x**2+aa*x+aa*y**2)**2\free{aa }\bound{p }} -\indentrel{3}\begin{verbatim} - (2) - 5 3 4 - (- aa - 1)y + ((- aa - 1)x + aa x)y - + - 2 3 - ((- 2aa - 2)x + (- 2aa - 2)x)y - + - 5 4 3 2 2 - ((- 2aa - 2)x + (- 2aa - 2)x + 2aa x + 2aa x )y - + - 4 3 2 - ((- aa - 1)x + (- 2aa - 2)x + (- aa - 1)x )y - + - 7 6 5 4 3 - (- aa - 1)x + (- 2aa - 2)x - x + 2aa x + aa x - Type: Polynomial AlgebraicNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorAlgPageEmpty2} -\begin{paste}{ugProblemFactorAlgPageEmpty2}{ugProblemFactorAlgPagePatch2} -\pastebutton{ugProblemFactorAlgPageEmpty2}{\showpaste} -\tab{5}\spadcommand{p:=(x**3+aa**2*x+y)*(aa*x**2+aa*x+aa*y**2)**2\free{aa }\bound{p }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorAlgPagePatch3} -\begin{paste}{ugProblemFactorAlgPageFull3}{ugProblemFactorAlgPageEmpty3} -\pastebutton{ugProblemFactorAlgPageFull3}{\hidepaste} -\tab{5}\spadcommand{factor(p,[aa])\free{p aa }} -\indentrel{3}\begin{verbatim} - 3 2 2 2 - (3) (- aa - 1)(y + x + (- aa - 1)x)(y + x + x) - Type: Factored Polynomial AlgebraicNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorAlgPageEmpty3} -\begin{paste}{ugProblemFactorAlgPageEmpty3}{ugProblemFactorAlgPagePatch3} -\pastebutton{ugProblemFactorAlgPageEmpty3}{\showpaste} -\tab{5}\spadcommand{factor(p,[aa])\free{p aa }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorAlgPagePatch4} -\begin{paste}{ugProblemFactorAlgPageFull4}{ugProblemFactorAlgPageEmpty4} -\pastebutton{ugProblemFactorAlgPageFull4}{\hidepaste} -\tab{5}\spadcommand{factor(x**2+3)} -\indentrel{3}\begin{verbatim} - 2 - (4) x + 3 - Type: Factored Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorAlgPageEmpty4} -\begin{paste}{ugProblemFactorAlgPageEmpty4}{ugProblemFactorAlgPagePatch4} -\pastebutton{ugProblemFactorAlgPageEmpty4}{\showpaste} -\tab{5}\spadcommand{factor(x**2+3)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorAlgPagePatch5} -\begin{paste}{ugProblemFactorAlgPageFull5}{ugProblemFactorAlgPageEmpty5} -\pastebutton{ugProblemFactorAlgPageFull5}{\hidepaste} -\tab{5}\spadcommand{factor(x**2+3,[aa])\free{aa }} -\indentrel{3}\begin{verbatim} - (5) (x - 2aa - 1)(x + 2aa + 1) - Type: Factored Polynomial AlgebraicNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorAlgPageEmpty5} -\begin{paste}{ugProblemFactorAlgPageEmpty5}{ugProblemFactorAlgPagePatch5} -\pastebutton{ugProblemFactorAlgPageEmpty5}{\showpaste} -\tab{5}\spadcommand{factor(x**2+3,[aa])\free{aa }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorAlgPagePatch6} -\begin{paste}{ugProblemFactorAlgPageFull6}{ugProblemFactorAlgPageEmpty6} -\pastebutton{ugProblemFactorAlgPageFull6}{\hidepaste} -\tab{5}\spadcommand{factor(x**6+108,[aa])\free{aa }} -\indentrel{3}\begin{verbatim} - 3 3 - (6) (x - 12aa - 6)(x + 12aa + 6) - Type: Factored Polynomial AlgebraicNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorAlgPageEmpty6} -\begin{paste}{ugProblemFactorAlgPageEmpty6}{ugProblemFactorAlgPagePatch6} -\pastebutton{ugProblemFactorAlgPageEmpty6}{\showpaste} -\tab{5}\spadcommand{factor(x**6+108,[aa])\free{aa }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorAlgPagePatch7} -\begin{paste}{ugProblemFactorAlgPageFull7}{ugProblemFactorAlgPageEmpty7} -\pastebutton{ugProblemFactorAlgPageFull7}{\hidepaste} -\tab{5}\spadcommand{bb:=rootOf(bb**3-2)\bound{bb }} -\indentrel{3}\begin{verbatim} - (7) bb - Type: AlgebraicNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorAlgPageEmpty7} -\begin{paste}{ugProblemFactorAlgPageEmpty7}{ugProblemFactorAlgPagePatch7} -\pastebutton{ugProblemFactorAlgPageEmpty7}{\showpaste} -\tab{5}\spadcommand{bb:=rootOf(bb**3-2)\bound{bb }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorAlgPagePatch8} -\begin{paste}{ugProblemFactorAlgPageFull8}{ugProblemFactorAlgPageEmpty8} -\pastebutton{ugProblemFactorAlgPageFull8}{\hidepaste} -\tab{5}\spadcommand{factor(x**6+108,[bb])\free{bb }} -\indentrel{3}\begin{verbatim} - (8) - 2 2 2 2 2 2 - (x - 3bb x + 3bb )(x + 3bb )(x + 3bb x + 3bb ) - Type: Factored Polynomial AlgebraicNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorAlgPageEmpty8} -\begin{paste}{ugProblemFactorAlgPageEmpty8}{ugProblemFactorAlgPagePatch8} -\pastebutton{ugProblemFactorAlgPageEmpty8}{\showpaste} -\tab{5}\spadcommand{factor(x**6+108,[bb])\free{bb }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorAlgPagePatch9} -\begin{paste}{ugProblemFactorAlgPageFull9}{ugProblemFactorAlgPageEmpty9} -\pastebutton{ugProblemFactorAlgPageFull9}{\hidepaste} -\tab{5}\spadcommand{factor(x**6+108,[aa,bb])\free{aa bb }} -\indentrel{3}\begin{verbatim} - (9) - (x + (- 2aa - 1)bb)(x + (- aa - 2)bb) - * - (x + (- aa + 1)bb)(x + (aa - 1)bb)(x + (aa + 2)bb) - * - (x + (2aa + 1)bb) - Type: Factored Polynomial AlgebraicNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorAlgPageEmpty9} -\begin{paste}{ugProblemFactorAlgPageEmpty9}{ugProblemFactorAlgPagePatch9} -\pastebutton{ugProblemFactorAlgPageEmpty9}{\showpaste} -\tab{5}\spadcommand{factor(x**6+108,[aa,bb])\free{aa bb }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesConversionsPagePatch1} -\begin{paste}{ugxProblemSeriesConversionsPageFull1}{ugxProblemSeriesConversionsPageEmpty1} -\pastebutton{ugxProblemSeriesConversionsPageFull1}{\hidepaste} -\tab{5}\spadcommand{taylor(sin(x),x = 0)} -\indentrel{3}\begin{verbatim} - 1 3 1 5 1 7 1 9 11 - (1) x - Ä x + ÄÄÄ x - ÄÄÄÄ x + ÄÄÄÄÄÄ x + O(x ) - 6 120 5040 362880 - Type: UnivariateTaylorSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesConversionsPageEmpty1} -\begin{paste}{ugxProblemSeriesConversionsPageEmpty1}{ugxProblemSeriesConversionsPagePatch1} -\pastebutton{ugxProblemSeriesConversionsPageEmpty1}{\showpaste} -\tab{5}\spadcommand{taylor(sin(x),x = 0)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesConversionsPagePatch2} -\begin{paste}{ugxProblemSeriesConversionsPageFull2}{ugxProblemSeriesConversionsPageEmpty2} -\pastebutton{ugxProblemSeriesConversionsPageFull2}{\hidepaste} -\tab{5}\spadcommand{taylor(sin(x),x = \%pi/6)} -\indentrel{3}\begin{verbatim} - (2) - ÚÄ¿ ÚÄ¿ - 1 \³3 %pi 1 %pi 2 \³3 %pi 3 - Ä + ÄÄÄÄ (x - ÄÄÄ) - Ä (x - ÄÄÄ) - ÄÄÄÄ (x - ÄÄÄ) - 2 2 6 4 6 12 6 - + - ÚÄ¿ - 1 %pi 4 \³3 %pi 5 1 %pi 6 - ÄÄ (x - ÄÄÄ) + ÄÄÄÄ (x - ÄÄÄ) - ÄÄÄÄ (x - ÄÄÄ) - 48 6 240 6 1440 6 - + - ÚÄ¿ - \³3 %pi 7 1 %pi 8 - - ÄÄÄÄÄ (x - ÄÄÄ) + ÄÄÄÄÄ (x - ÄÄÄ) - 10080 6 80640 6 - + - ÚÄ¿ - \³3 %pi 9 1 %pi 10 - ÄÄÄÄÄÄ (x - ÄÄÄ) - ÄÄÄÄÄÄÄ (x - ÄÄÄ) - 725760 6 7257600 6 - + - %pi 11 - O((x - ÄÄÄ) ) - 6 -Type: UnivariateTaylorSeries(Expression Integer,x,pi/6) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesConversionsPageEmpty2} -\begin{paste}{ugxProblemSeriesConversionsPageEmpty2}{ugxProblemSeriesConversionsPagePatch2} -\pastebutton{ugxProblemSeriesConversionsPageEmpty2}{\showpaste} -\tab{5}\spadcommand{taylor(sin(x),x = \%pi/6)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesConversionsPagePatch3} -\begin{paste}{ugxProblemSeriesConversionsPageFull3}{ugxProblemSeriesConversionsPageEmpty3} -\pastebutton{ugxProblemSeriesConversionsPageFull3}{\hidepaste} -\tab{5}\spadcommand{taylor(tan(x*y),x = 0)} -\indentrel{3}\begin{verbatim} - (3) - 3 5 7 9 - y 3 2y 5 17y 7 62y 9 11 - y x + ÄÄ x + ÄÄÄ x + ÄÄÄÄ x + ÄÄÄÄ x + O(x ) - 3 15 315 2835 - Type: UnivariateTaylorSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesConversionsPageEmpty3} -\begin{paste}{ugxProblemSeriesConversionsPageEmpty3}{ugxProblemSeriesConversionsPagePatch3} -\pastebutton{ugxProblemSeriesConversionsPageEmpty3}{\showpaste} -\tab{5}\spadcommand{taylor(tan(x*y),x = 0)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesConversionsPagePatch4} -\begin{paste}{ugxProblemSeriesConversionsPageFull4}{ugxProblemSeriesConversionsPageEmpty4} -\pastebutton{ugxProblemSeriesConversionsPageFull4}{\hidepaste} -\tab{5}\spadcommand{taylor(tan(x*y),y = 0)} -\indentrel{3}\begin{verbatim} - (4) - 3 5 7 9 - x 3 2x 5 17x 7 62x 9 11 - x y + ÄÄ y + ÄÄÄ y + ÄÄÄÄ y + ÄÄÄÄ y + O(y ) - 3 15 315 2835 - Type: UnivariateTaylorSeries(Expression Integer,y,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesConversionsPageEmpty4} -\begin{paste}{ugxProblemSeriesConversionsPageEmpty4}{ugxProblemSeriesConversionsPagePatch4} -\pastebutton{ugxProblemSeriesConversionsPageEmpty4}{\showpaste} -\tab{5}\spadcommand{taylor(tan(x*y),y = 0)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesConversionsPagePatch5} -\begin{paste}{ugxProblemSeriesConversionsPageFull5}{ugxProblemSeriesConversionsPageEmpty5} -\pastebutton{ugxProblemSeriesConversionsPageFull5}{\hidepaste} -\tab{5}\spadcommand{bern := taylor(t*exp(x*t)/(exp(t) - 1),t = 0)\bound{bern }} -\indentrel{3}\begin{verbatim} - (5) - 2 3 2 - 2x - 1 6x - 6x + 1 2 2x - 3x + x 3 - 1 + ÄÄÄÄÄÄ t + ÄÄÄÄÄÄÄÄÄÄÄÄ t + ÄÄÄÄÄÄÄÄÄÄÄÄÄ t - 2 12 12 - + - 4 3 2 5 4 3 - 30x - 60x + 30x - 1 4 6x - 15x + 10x - x 5 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ t + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ t - 720 720 - + - 6 5 4 2 - 42x - 126x + 105x - 21x + 1 6 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ t - 30240 - + - 7 6 5 3 - 6x - 21x + 21x - 7x + x 7 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ t - 30240 - + - 8 7 6 4 2 - 30x - 120x + 140x - 70x + 20x - 1 8 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ t - 1209600 - + - 9 8 7 5 3 - 10x - 45x + 60x - 42x + 20x - 3x 9 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ t - 3628800 - + - 10 9 8 6 4 2 - 66x - 330x + 495x - 462x + 330x - 99x + 5 10 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ t - 239500800 - + - 11 - O(t ) - Type: UnivariateTaylorSeries(Expression Integer,t,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesConversionsPageEmpty5} -\begin{paste}{ugxProblemSeriesConversionsPageEmpty5}{ugxProblemSeriesConversionsPagePatch5} -\pastebutton{ugxProblemSeriesConversionsPageEmpty5}{\showpaste} -\tab{5}\spadcommand{bern := taylor(t*exp(x*t)/(exp(t) - 1),t = 0)\bound{bern }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesConversionsPagePatch6} -\begin{paste}{ugxProblemSeriesConversionsPageFull6}{ugxProblemSeriesConversionsPageEmpty6} -\pastebutton{ugxProblemSeriesConversionsPageFull6}{\hidepaste} -\tab{5}\spadcommand{factorial(6) * coefficient(bern,6)\free{bern }} -\indentrel{3}\begin{verbatim} - 6 5 4 2 - 42x - 126x + 105x - 21x + 1 - (6) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 42 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesConversionsPageEmpty6} -\begin{paste}{ugxProblemSeriesConversionsPageEmpty6}{ugxProblemSeriesConversionsPagePatch6} -\pastebutton{ugxProblemSeriesConversionsPageEmpty6}{\showpaste} -\tab{5}\spadcommand{factorial(6) * coefficient(bern,6)\free{bern }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesConversionsPagePatch7} -\begin{paste}{ugxProblemSeriesConversionsPageFull7}{ugxProblemSeriesConversionsPageEmpty7} -\pastebutton{ugxProblemSeriesConversionsPageFull7}{\hidepaste} -\tab{5}\spadcommand{bernoulliB(6,x)} -\indentrel{3}\begin{verbatim} - 6 5 5 4 1 2 1 - (7) x - 3x + Ä x - Ä x + ÄÄ - 2 2 42 - Type: Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesConversionsPageEmpty7} -\begin{paste}{ugxProblemSeriesConversionsPageEmpty7}{ugxProblemSeriesConversionsPagePatch7} -\pastebutton{ugxProblemSeriesConversionsPageEmpty7}{\showpaste} -\tab{5}\spadcommand{bernoulliB(6,x)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesConversionsPagePatch8} -\begin{paste}{ugxProblemSeriesConversionsPageFull8}{ugxProblemSeriesConversionsPageEmpty8} -\pastebutton{ugxProblemSeriesConversionsPageFull8}{\hidepaste} -\tab{5}\spadcommand{laurent(x/log(x),x = 1)} -\indentrel{3}\begin{verbatim} - (8) - - 1 3 5 1 2 - (x - 1) + Ä + ÄÄ (x - 1) - ÄÄ (x - 1) - 2 12 24 - + - 11 3 11 4 271 5 - ÄÄÄ (x - 1) - ÄÄÄÄ (x - 1) + ÄÄÄÄÄ (x - 1) - 720 1440 60480 - + - 13 6 7297 7 425 8 - - ÄÄÄÄ (x - 1) + ÄÄÄÄÄÄÄ (x - 1) - ÄÄÄÄÄÄ (x - 1) - 4480 3628800 290304 - + - 530113 9 10 - ÄÄÄÄÄÄÄÄÄ (x - 1) + O((x - 1) ) - 479001600 - Type: UnivariateLaurentSeries(Expression Integer,x,1) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesConversionsPageEmpty8} -\begin{paste}{ugxProblemSeriesConversionsPageEmpty8}{ugxProblemSeriesConversionsPagePatch8} -\pastebutton{ugxProblemSeriesConversionsPageEmpty8}{\showpaste} -\tab{5}\spadcommand{laurent(x/log(x),x = 1)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesConversionsPagePatch9} -\begin{paste}{ugxProblemSeriesConversionsPageFull9}{ugxProblemSeriesConversionsPageEmpty9} -\pastebutton{ugxProblemSeriesConversionsPageFull9}{\hidepaste} -\tab{5}\spadcommand{puiseux(sqrt(sec(x)),x = 3 * \%pi/2)} -\indentrel{3}\begin{verbatim} - (9) - 1 3 7 - - Ä Ä Ä - 3%pi 2 1 3%pi 2 1 3%pi 2 - (x - ÄÄÄÄ) + ÄÄ (x - ÄÄÄÄ) + ÄÄÄ (x - ÄÄÄÄ) - 2 12 2 160 2 - + - 3%pi 5 - O((x - ÄÄÄÄ) ) - 2 -Type: UnivariatePuiseuxSeries(Expression Integer,x,(3*pi)/2) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesConversionsPageEmpty9} -\begin{paste}{ugxProblemSeriesConversionsPageEmpty9}{ugxProblemSeriesConversionsPagePatch9} -\pastebutton{ugxProblemSeriesConversionsPageEmpty9}{\showpaste} -\tab{5}\spadcommand{puiseux(sqrt(sec(x)),x = 3 * \%pi/2)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesConversionsPagePatch10} -\begin{paste}{ugxProblemSeriesConversionsPageFull10}{ugxProblemSeriesConversionsPageEmpty10} -\pastebutton{ugxProblemSeriesConversionsPageFull10}{\hidepaste} -\tab{5}\spadcommand{series(x**x,x=0)} -\indentrel{3}\begin{verbatim} - (10) - 2 3 4 - log(x) 2 log(x) 3 log(x) 4 - 1 + log(x)x + ÄÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄ x - 2 6 24 - + - 5 6 7 8 - log(x) 5 log(x) 6 log(x) 7 log(x) 8 - ÄÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄ x - 120 720 5040 40320 - + - 9 10 - log(x) 9 log(x) 10 11 - ÄÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄÄ x + O(x ) - 362880 3628800 -Type: GeneralUnivariatePowerSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesConversionsPageEmpty10} -\begin{paste}{ugxProblemSeriesConversionsPageEmpty10}{ugxProblemSeriesConversionsPagePatch10} -\pastebutton{ugxProblemSeriesConversionsPageEmpty10}{\showpaste} -\tab{5}\spadcommand{series(x**x,x=0)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemDEQSeriesPagePatch1} -\begin{paste}{ugxProblemDEQSeriesPageFull1}{ugxProblemDEQSeriesPageEmpty1} -\pastebutton{ugxProblemDEQSeriesPageFull1}{\hidepaste} -\tab{5}\spadcommand{)set streams calculate 7\bound{c7 }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemDEQSeriesPageEmpty1} -\begin{paste}{ugxProblemDEQSeriesPageEmpty1}{ugxProblemDEQSeriesPagePatch1} -\pastebutton{ugxProblemDEQSeriesPageEmpty1}{\showpaste} -\tab{5}\spadcommand{)set streams calculate 7\bound{c7 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemDEQSeriesPagePatch2} -\begin{paste}{ugxProblemDEQSeriesPageFull2}{ugxProblemDEQSeriesPageEmpty2} -\pastebutton{ugxProblemDEQSeriesPageFull2}{\hidepaste} -\tab{5}\spadcommand{y := operator 'y\bound{y }} -\indentrel{3}\begin{verbatim} - (1) y - Type: BasicOperator -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemDEQSeriesPageEmpty2} -\begin{paste}{ugxProblemDEQSeriesPageEmpty2}{ugxProblemDEQSeriesPagePatch2} -\pastebutton{ugxProblemDEQSeriesPageEmpty2}{\showpaste} -\tab{5}\spadcommand{y := operator 'y\bound{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemDEQSeriesPagePatch3} -\begin{paste}{ugxProblemDEQSeriesPageFull3}{ugxProblemDEQSeriesPageEmpty3} -\pastebutton{ugxProblemDEQSeriesPageFull3}{\hidepaste} -\tab{5}\spadcommand{eq := D(y(x), x, 3) - sin(D(y(x), x, 2))*exp(y(x)) = cos(x)\bound{eq }\free{y }} -\indentrel{3}\begin{verbatim} - ,,, y(x) ,, - (2) y (x) - %e sin(y (x))= cos(x) - - Type: Equation Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemDEQSeriesPageEmpty3} -\begin{paste}{ugxProblemDEQSeriesPageEmpty3}{ugxProblemDEQSeriesPagePatch3} -\pastebutton{ugxProblemDEQSeriesPageEmpty3}{\showpaste} -\tab{5}\spadcommand{eq := D(y(x), x, 3) - sin(D(y(x), x, 2))*exp(y(x)) = cos(x)\bound{eq }\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemDEQSeriesPagePatch4} -\begin{paste}{ugxProblemDEQSeriesPageFull4}{ugxProblemDEQSeriesPageEmpty4} -\pastebutton{ugxProblemDEQSeriesPageFull4}{\hidepaste} -\tab{5}\spadcommand{seriesSolve(eq, y, x = 0, [1, 0, 0])\free{y }\free{eq }\free{c7 }} -\indentrel{3}\begin{verbatim} - (3) - 2 3 - 1 3 %e 4 %e - 1 5 %e - 2%e 6 - 1 + Ä x + ÄÄ x + ÄÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄÄÄ x - 6 24 120 720 - + - 4 2 - %e - 8%e + 4%e + 1 7 8 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ x + O(x ) - 5040 - Type: UnivariateTaylorSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemDEQSeriesPageEmpty4} -\begin{paste}{ugxProblemDEQSeriesPageEmpty4}{ugxProblemDEQSeriesPagePatch4} -\pastebutton{ugxProblemDEQSeriesPageEmpty4}{\showpaste} -\tab{5}\spadcommand{seriesSolve(eq, y, x = 0, [1, 0, 0])\free{y }\free{eq }\free{c7 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemDEQSeriesPagePatch5} -\begin{paste}{ugxProblemDEQSeriesPageFull5}{ugxProblemDEQSeriesPageEmpty5} -\pastebutton{ugxProblemDEQSeriesPageFull5}{\hidepaste} -\tab{5}\spadcommand{x := operator 'x\bound{x }} -\indentrel{3}\begin{verbatim} - (4) x - Type: BasicOperator -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemDEQSeriesPageEmpty5} -\begin{paste}{ugxProblemDEQSeriesPageEmpty5}{ugxProblemDEQSeriesPagePatch5} -\pastebutton{ugxProblemDEQSeriesPageEmpty5}{\showpaste} -\tab{5}\spadcommand{x := operator 'x\bound{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemDEQSeriesPagePatch6} -\begin{paste}{ugxProblemDEQSeriesPageFull6}{ugxProblemDEQSeriesPageEmpty6} -\pastebutton{ugxProblemDEQSeriesPageFull6}{\hidepaste} -\tab{5}\spadcommand{eq1 := D(x(t), t) = 1 + x(t)**2\free{x }\free{y }\bound{eq1 }} -\indentrel{3}\begin{verbatim} - , 2 - (5) x (t)= x(t) + 1 - - Type: Equation Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemDEQSeriesPageEmpty6} -\begin{paste}{ugxProblemDEQSeriesPageEmpty6}{ugxProblemDEQSeriesPagePatch6} -\pastebutton{ugxProblemDEQSeriesPageEmpty6}{\showpaste} -\tab{5}\spadcommand{eq1 := D(x(t), t) = 1 + x(t)**2\free{x }\free{y }\bound{eq1 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemDEQSeriesPagePatch7} -\begin{paste}{ugxProblemDEQSeriesPageFull7}{ugxProblemDEQSeriesPageEmpty7} -\pastebutton{ugxProblemDEQSeriesPageFull7}{\hidepaste} -\tab{5}\spadcommand{eq2 := D(y(t), t) = x(t) * y(t)\free{x }\free{y }\bound{eq2 }} -\indentrel{3}\begin{verbatim} - , - (6) y (t)= x(t)y(t) - - Type: Equation Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemDEQSeriesPageEmpty7} -\begin{paste}{ugxProblemDEQSeriesPageEmpty7}{ugxProblemDEQSeriesPagePatch7} -\pastebutton{ugxProblemDEQSeriesPageEmpty7}{\showpaste} -\tab{5}\spadcommand{eq2 := D(y(t), t) = x(t) * y(t)\free{x }\free{y }\bound{eq2 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemDEQSeriesPagePatch8} -\begin{paste}{ugxProblemDEQSeriesPageFull8}{ugxProblemDEQSeriesPageEmpty8} -\pastebutton{ugxProblemDEQSeriesPageFull8}{\hidepaste} -\tab{5}\spadcommand{seriesSolve([eq2, eq1], [x, y], t = 0, [y(0) = 1, x(0) = 0])\free{x }\free{y }\free{eq1 }\free{eq2 }\free{c7 }} -\indentrel{3}\begin{verbatim} - (7) - 1 3 2 5 17 7 8 - [t + Ä t + ÄÄ t + ÄÄÄ t + O(t ), - 3 15 315 - 1 2 5 4 61 6 8 - 1 + Ä t + ÄÄ t + ÄÄÄ t + O(t )] - 2 24 720 -Type: List UnivariateTaylorSeries(Expression Integer,t,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemDEQSeriesPageEmpty8} -\begin{paste}{ugxProblemDEQSeriesPageEmpty8}{ugxProblemDEQSeriesPagePatch8} -\pastebutton{ugxProblemDEQSeriesPageEmpty8}{\showpaste} -\tab{5}\spadcommand{seriesSolve([eq2, eq1], [x, y], t = 0, [y(0) = 1, x(0) = 0])\free{x }\free{y }\free{eq1 }\free{eq2 }\free{c7 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesCoefficientsPagePatch1} -\begin{paste}{ugxProblemSeriesCoefficientsPageFull1}{ugxProblemSeriesCoefficientsPageEmpty1} -\pastebutton{ugxProblemSeriesCoefficientsPageFull1}{\hidepaste} -\tab{5}\spadcommand{x := series(x)\bound{x }} -\indentrel{3}\begin{verbatim} - (1) x - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesCoefficientsPageEmpty1} -\begin{paste}{ugxProblemSeriesCoefficientsPageEmpty1}{ugxProblemSeriesCoefficientsPagePatch1} -\pastebutton{ugxProblemSeriesCoefficientsPageEmpty1}{\showpaste} -\tab{5}\spadcommand{x := series(x)\bound{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesCoefficientsPagePatch2} -\begin{paste}{ugxProblemSeriesCoefficientsPageFull2}{ugxProblemSeriesCoefficientsPageEmpty2} -\pastebutton{ugxProblemSeriesCoefficientsPageFull2}{\hidepaste} -\tab{5}\spadcommand{y := exp(x) * sin(x)\free{x }\bound{y }} -\indentrel{3}\begin{verbatim} - (2) - 2 1 3 1 5 1 6 1 7 1 9 - x + x + Ä x - ÄÄ x - ÄÄ x - ÄÄÄ x + ÄÄÄÄÄ x - 3 30 90 630 22680 - + - 1 10 1 11 12 - ÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄ x + O(x ) - 113400 1247400 - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesCoefficientsPageEmpty2} -\begin{paste}{ugxProblemSeriesCoefficientsPageEmpty2}{ugxProblemSeriesCoefficientsPagePatch2} -\pastebutton{ugxProblemSeriesCoefficientsPageEmpty2}{\showpaste} -\tab{5}\spadcommand{y := exp(x) * sin(x)\free{x }\bound{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesCoefficientsPagePatch3} -\begin{paste}{ugxProblemSeriesCoefficientsPageFull3}{ugxProblemSeriesCoefficientsPageEmpty3} -\pastebutton{ugxProblemSeriesCoefficientsPageFull3}{\hidepaste} -\tab{5}\spadcommand{coefficient(y,6)\free{y }} -\indentrel{3}\begin{verbatim} - 1 - (3) - ÄÄ - 90 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesCoefficientsPageEmpty3} -\begin{paste}{ugxProblemSeriesCoefficientsPageEmpty3}{ugxProblemSeriesCoefficientsPagePatch3} -\pastebutton{ugxProblemSeriesCoefficientsPageEmpty3}{\showpaste} -\tab{5}\spadcommand{coefficient(y,6)\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesCoefficientsPagePatch4} -\begin{paste}{ugxProblemSeriesCoefficientsPageFull4}{ugxProblemSeriesCoefficientsPageEmpty4} -\pastebutton{ugxProblemSeriesCoefficientsPageFull4}{\hidepaste} -\tab{5}\spadcommand{coefficient(y,15)\free{y }\bound{y15 }} -\indentrel{3}\begin{verbatim} - 1 - (4) - ÄÄÄÄÄÄÄÄÄÄÄ - 10216206000 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesCoefficientsPageEmpty4} -\begin{paste}{ugxProblemSeriesCoefficientsPageEmpty4}{ugxProblemSeriesCoefficientsPagePatch4} -\pastebutton{ugxProblemSeriesCoefficientsPageEmpty4}{\showpaste} -\tab{5}\spadcommand{coefficient(y,15)\free{y }\bound{y15 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesCoefficientsPagePatch5} -\begin{paste}{ugxProblemSeriesCoefficientsPageFull5}{ugxProblemSeriesCoefficientsPageEmpty5} -\pastebutton{ugxProblemSeriesCoefficientsPageFull5}{\hidepaste} -\tab{5}\spadcommand{y\free{y15 }} -\indentrel{3}\begin{verbatim} - (5) - 2 1 3 1 5 1 6 1 7 1 9 - x + x + Ä x - ÄÄ x - ÄÄ x - ÄÄÄ x + ÄÄÄÄÄ x - 3 30 90 630 22680 - + - 1 10 1 11 1 13 - ÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄ x - ÄÄÄÄÄÄÄÄ x - 113400 1247400 97297200 - + - 1 14 1 15 16 - - ÄÄÄÄÄÄÄÄÄ x - ÄÄÄÄÄÄÄÄÄÄÄ x + O(x ) - 681080400 10216206000 - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesCoefficientsPageEmpty5} -\begin{paste}{ugxProblemSeriesCoefficientsPageEmpty5}{ugxProblemSeriesCoefficientsPagePatch5} -\pastebutton{ugxProblemSeriesCoefficientsPageEmpty5}{\showpaste} -\tab{5}\spadcommand{y\free{y15 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemLDEQClosedPagePatch1} -\begin{paste}{ugxProblemLDEQClosedPageFull1}{ugxProblemLDEQClosedPageEmpty1} -\pastebutton{ugxProblemLDEQClosedPageFull1}{\hidepaste} -\tab{5}\spadcommand{y := operator 'y\bound{y }} -\indentrel{3}\begin{verbatim} - (1) y - Type: BasicOperator -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemLDEQClosedPageEmpty1} -\begin{paste}{ugxProblemLDEQClosedPageEmpty1}{ugxProblemLDEQClosedPagePatch1} -\pastebutton{ugxProblemLDEQClosedPageEmpty1}{\showpaste} -\tab{5}\spadcommand{y := operator 'y\bound{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemLDEQClosedPagePatch2} -\begin{paste}{ugxProblemLDEQClosedPageFull2}{ugxProblemLDEQClosedPageEmpty2} -\pastebutton{ugxProblemLDEQClosedPageFull2}{\hidepaste} -\tab{5}\spadcommand{deq := D(y x, x, 2) + D(y x, x) + y x = 0\bound{e1 }\free{y }} -\indentrel{3}\begin{verbatim} - ,, , - (2) y (x) + y (x) + y(x)= 0 - - Type: Equation Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemLDEQClosedPageEmpty2} -\begin{paste}{ugxProblemLDEQClosedPageEmpty2}{ugxProblemLDEQClosedPagePatch2} -\pastebutton{ugxProblemLDEQClosedPageEmpty2}{\showpaste} -\tab{5}\spadcommand{deq := D(y x, x, 2) + D(y x, x) + y x = 0\bound{e1 }\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemLDEQClosedPagePatch3} -\begin{paste}{ugxProblemLDEQClosedPageFull3}{ugxProblemLDEQClosedPageEmpty3} -\pastebutton{ugxProblemLDEQClosedPageFull3}{\hidepaste} -\tab{5}\spadcommand{solve(deq, y, x)\free{e1 }\free{y }} -\indentrel{3}\begin{verbatim} - (3) - [particular= 0, - x x - ÚÄ¿ - Ä - Ä ÚÄ¿ - x\³3 2 2 x\³3 - basis= [cos(ÄÄÄÄÄ)%e ,%e sin(ÄÄÄÄÄ)]] - 2 2 -Type: Union(Record(particular: Expression Integer,basis: List Expression Integer),...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemLDEQClosedPageEmpty3} -\begin{paste}{ugxProblemLDEQClosedPageEmpty3}{ugxProblemLDEQClosedPagePatch3} -\pastebutton{ugxProblemLDEQClosedPageEmpty3}{\showpaste} -\tab{5}\spadcommand{solve(deq, y, x)\free{e1 }\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemLDEQClosedPagePatch4} -\begin{paste}{ugxProblemLDEQClosedPageFull4}{ugxProblemLDEQClosedPageEmpty4} -\pastebutton{ugxProblemLDEQClosedPageFull4}{\hidepaste} -\tab{5}\spadcommand{deq := D(y x, x, 2) + y x\bound{e2 }\free{y }} -\indentrel{3}\begin{verbatim} - ,, - (4) y (x) + y(x) - - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemLDEQClosedPageEmpty4} -\begin{paste}{ugxProblemLDEQClosedPageEmpty4}{ugxProblemLDEQClosedPagePatch4} -\pastebutton{ugxProblemLDEQClosedPageEmpty4}{\showpaste} -\tab{5}\spadcommand{deq := D(y x, x, 2) + y x\bound{e2 }\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemLDEQClosedPagePatch5} -\begin{paste}{ugxProblemLDEQClosedPageFull5}{ugxProblemLDEQClosedPageEmpty5} -\pastebutton{ugxProblemLDEQClosedPageFull5}{\hidepaste} -\tab{5}\spadcommand{solve(deq, y, x = 0, [1, 1])\free{e2 }\free{y }} -\indentrel{3}\begin{verbatim} - (5) sin(x) + cos(x) - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemLDEQClosedPageEmpty5} -\begin{paste}{ugxProblemLDEQClosedPageEmpty5}{ugxProblemLDEQClosedPagePatch5} -\pastebutton{ugxProblemLDEQClosedPageEmpty5}{\showpaste} -\tab{5}\spadcommand{solve(deq, y, x = 0, [1, 1])\free{e2 }\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemLDEQClosedPagePatch6} -\begin{paste}{ugxProblemLDEQClosedPageFull6}{ugxProblemLDEQClosedPageEmpty6} -\pastebutton{ugxProblemLDEQClosedPageFull6}{\hidepaste} -\tab{5}\spadcommand{deq := x**3 * D(y x, x, 3) + x**2 * D(y x, x, 2) - 2 * x * D(y x, x) + 2 * y x = 2 * x**4\bound{e3 }\free{y }} -\indentrel{3}\begin{verbatim} - 3 ,,, 2 ,, , 4 - (6) x y (x) + x y (x) - 2xy (x) + 2y(x)= 2x - - Type: Equation Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemLDEQClosedPageEmpty6} -\begin{paste}{ugxProblemLDEQClosedPageEmpty6}{ugxProblemLDEQClosedPagePatch6} -\pastebutton{ugxProblemLDEQClosedPageEmpty6}{\showpaste} -\tab{5}\spadcommand{deq := x**3 * D(y x, x, 3) + x**2 * D(y x, x, 2) - 2 * x * D(y x, x) + 2 * y x = 2 * x**4\bound{e3 }\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemLDEQClosedPagePatch7} -\begin{paste}{ugxProblemLDEQClosedPageFull7}{ugxProblemLDEQClosedPageEmpty7} -\pastebutton{ugxProblemLDEQClosedPageFull7}{\hidepaste} -\tab{5}\spadcommand{solve(deq, y, x)\free{e3 }\free{y }} -\indentrel{3}\begin{verbatim} - (7) - 5 3 2 - x - 10x + 20x + 4 - [particular= ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, - 15x - 3 2 3 3 2 - 2x - 3x + 1 x - 1 x - 3x - 1 - basis= [ÄÄÄÄÄÄÄÄÄÄÄÄÄ,ÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄÄÄÄÄ]] - x x x -Type: Union(Record(particular: Expression Integer,basis: List Expression Integer),...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemLDEQClosedPageEmpty7} -\begin{paste}{ugxProblemLDEQClosedPageEmpty7}{ugxProblemLDEQClosedPagePatch7} -\pastebutton{ugxProblemLDEQClosedPageEmpty7}{\showpaste} -\tab{5}\spadcommand{solve(deq, y, x)\free{e3 }\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemLDEQClosedPagePatch8} -\begin{paste}{ugxProblemLDEQClosedPageFull8}{ugxProblemLDEQClosedPageEmpty8} -\pastebutton{ugxProblemLDEQClosedPageFull8}{\hidepaste} -\tab{5}\spadcommand{deq := (x**9+x**3) * D(y x, x, 3) + 18 * x**8 * D(y x, x, 2) - 90 * x * D(y x, x) - 30 * (11 * x**6 - 3) * y x\bound{e4 }\free{y }} -\indentrel{3}\begin{verbatim} - (8) - 9 3 ,,, 8 ,, , - (x + x )y (x) + 18x y (x) - 90xy (x) - - + - 6 - (- 330x + 90)y(x) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemLDEQClosedPageEmpty8} -\begin{paste}{ugxProblemLDEQClosedPageEmpty8}{ugxProblemLDEQClosedPagePatch8} -\pastebutton{ugxProblemLDEQClosedPageEmpty8}{\showpaste} -\tab{5}\spadcommand{deq := (x**9+x**3) * D(y x, x, 3) + 18 * x**8 * D(y x, x, 2) - 90 * x * D(y x, x) - 30 * (11 * x**6 - 3) * y x\bound{e4 }\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemLDEQClosedPagePatch9} -\begin{paste}{ugxProblemLDEQClosedPageFull9}{ugxProblemLDEQClosedPageEmpty9} -\pastebutton{ugxProblemLDEQClosedPageFull9}{\hidepaste} -\tab{5}\spadcommand{solve(deq, y, x)\free{e4 }\free{y }} -\indentrel{3}\begin{verbatim} - (9) - [particular= 0, - ÚÄÄ¿ ÚÄÄ¿ - - \³91 log(x) \³91 log(x) - x x %e x %e - basis= [ÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ]] - 6 6 6 - x + 1 x + 1 x + 1 -Type: Union(Record(particular: Expression Integer,basis: List Expression Integer),...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemLDEQClosedPageEmpty9} -\begin{paste}{ugxProblemLDEQClosedPageEmpty9}{ugxProblemLDEQClosedPagePatch9} -\pastebutton{ugxProblemLDEQClosedPageEmpty9}{\showpaste} -\tab{5}\spadcommand{solve(deq, y, x)\free{e4 }\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemLDEQClosedPagePatch10} -\begin{paste}{ugxProblemLDEQClosedPageFull10}{ugxProblemLDEQClosedPageEmpty10} -\pastebutton{ugxProblemLDEQClosedPageFull10}{\hidepaste} -\tab{5}\spadcommand{deq := (x**2 + 1) * D(y x, x, 2) + 3 * x * D(y x, x) + y x = 0\bound{e5 }\free{y }} -\indentrel{3}\begin{verbatim} - 2 ,, , - (10) (x + 1)y (x) + 3xy (x) + y(x)= 0 - - Type: Equation Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemLDEQClosedPageEmpty10} -\begin{paste}{ugxProblemLDEQClosedPageEmpty10}{ugxProblemLDEQClosedPagePatch10} -\pastebutton{ugxProblemLDEQClosedPageEmpty10}{\showpaste} -\tab{5}\spadcommand{deq := (x**2 + 1) * D(y x, x, 2) + 3 * x * D(y x, x) + y x = 0\bound{e5 }\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemLDEQClosedPagePatch11} -\begin{paste}{ugxProblemLDEQClosedPageFull11}{ugxProblemLDEQClosedPageEmpty11} -\pastebutton{ugxProblemLDEQClosedPageFull11}{\hidepaste} -\tab{5}\spadcommand{solve(deq, y, x)\free{e5 }\free{y }} -\indentrel{3}\begin{verbatim} - (11) - ÚÄÄÄÄÄÄ¿ - ³ 2 - 1 log(\³x + 1 - x) - [particular= 0,basis= [ÄÄÄÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ]] - ÚÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄ¿ - ³ 2 ³ 2 - \³x + 1 \³x + 1 -Type: Union(Record(particular: Expression Integer,basis: List Expression Integer),...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemLDEQClosedPageEmpty11} -\begin{paste}{ugxProblemLDEQClosedPageEmpty11}{ugxProblemLDEQClosedPagePatch11} -\pastebutton{ugxProblemLDEQClosedPageEmpty11}{\showpaste} -\tab{5}\spadcommand{solve(deq, y, x)\free{e5 }\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPagePatch1} -\begin{paste}{ugxProblemNLDEQClosedPageFull1}{ugxProblemNLDEQClosedPageEmpty1} -\pastebutton{ugxProblemNLDEQClosedPageFull1}{\hidepaste} -\tab{5}\spadcommand{m := -y\bound{m }} -\indentrel{3}\begin{verbatim} - (1) - y - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPageEmpty1} -\begin{paste}{ugxProblemNLDEQClosedPageEmpty1}{ugxProblemNLDEQClosedPagePatch1} -\pastebutton{ugxProblemNLDEQClosedPageEmpty1}{\showpaste} -\tab{5}\spadcommand{m := -y\bound{m }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPagePatch2} -\begin{paste}{ugxProblemNLDEQClosedPageFull2}{ugxProblemNLDEQClosedPageEmpty2} -\pastebutton{ugxProblemNLDEQClosedPageFull2}{\hidepaste} -\tab{5}\spadcommand{n := x + y * log y\bound{n }} -\indentrel{3}\begin{verbatim} - (2) y log(y) + x - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPageEmpty2} -\begin{paste}{ugxProblemNLDEQClosedPageEmpty2}{ugxProblemNLDEQClosedPagePatch2} -\pastebutton{ugxProblemNLDEQClosedPageEmpty2}{\showpaste} -\tab{5}\spadcommand{n := x + y * log y\bound{n }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPagePatch3} -\begin{paste}{ugxProblemNLDEQClosedPageFull3}{ugxProblemNLDEQClosedPageEmpty3} -\pastebutton{ugxProblemNLDEQClosedPageFull3}{\hidepaste} -\tab{5}\spadcommand{D(m, y) - D(n, x)\free{m n }} -\indentrel{3}\begin{verbatim} - (3) - 2 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPageEmpty3} -\begin{paste}{ugxProblemNLDEQClosedPageEmpty3}{ugxProblemNLDEQClosedPagePatch3} -\pastebutton{ugxProblemNLDEQClosedPageEmpty3}{\showpaste} -\tab{5}\spadcommand{D(m, y) - D(n, x)\free{m n }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPagePatch4} -\begin{paste}{ugxProblemNLDEQClosedPageFull4}{ugxProblemNLDEQClosedPageEmpty4} -\pastebutton{ugxProblemNLDEQClosedPageFull4}{\hidepaste} -\tab{5}\spadcommand{mu := operator 'mu\bound{mu }} -\indentrel{3}\begin{verbatim} - (4) mu - Type: BasicOperator -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPageEmpty4} -\begin{paste}{ugxProblemNLDEQClosedPageEmpty4}{ugxProblemNLDEQClosedPagePatch4} -\pastebutton{ugxProblemNLDEQClosedPageEmpty4}{\showpaste} -\tab{5}\spadcommand{mu := operator 'mu\bound{mu }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPagePatch5} -\begin{paste}{ugxProblemNLDEQClosedPageFull5}{ugxProblemNLDEQClosedPageEmpty5} -\pastebutton{ugxProblemNLDEQClosedPageFull5}{\hidepaste} -\tab{5}\spadcommand{a := D(mu(x) * m, y) - D(mu(x) * n, x)\bound{a }\free{m n mu }} -\indentrel{3}\begin{verbatim} - , - (5) (- y log(y) - x)mu (x) - 2mu(x) - - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPageEmpty5} -\begin{paste}{ugxProblemNLDEQClosedPageEmpty5}{ugxProblemNLDEQClosedPagePatch5} -\pastebutton{ugxProblemNLDEQClosedPageEmpty5}{\showpaste} -\tab{5}\spadcommand{a := D(mu(x) * m, y) - D(mu(x) * n, x)\bound{a }\free{m n mu }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPagePatch6} -\begin{paste}{ugxProblemNLDEQClosedPageFull6}{ugxProblemNLDEQClosedPageEmpty6} -\pastebutton{ugxProblemNLDEQClosedPageFull6}{\hidepaste} -\tab{5}\spadcommand{solve(a = 0, mu, x)\free{mu a }} -\indentrel{3}\begin{verbatim} - (6) - 1 - [particular= 0,basis= [ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ]] - 2 2 2 - y log(y) + 2x y log(y) + x -Type: Union(Record(particular: Expression Integer,basis: List Expression Integer),...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPageEmpty6} -\begin{paste}{ugxProblemNLDEQClosedPageEmpty6}{ugxProblemNLDEQClosedPagePatch6} -\pastebutton{ugxProblemNLDEQClosedPageEmpty6}{\showpaste} -\tab{5}\spadcommand{solve(a = 0, mu, x)\free{mu a }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPagePatch7} -\begin{paste}{ugxProblemNLDEQClosedPageFull7}{ugxProblemNLDEQClosedPageEmpty7} -\pastebutton{ugxProblemNLDEQClosedPageFull7}{\hidepaste} -\tab{5}\spadcommand{b := D(mu(y) * m, y) - D(mu(y) * n, x)\bound{b }\free{mu m }} -\indentrel{3}\begin{verbatim} - , - (7) - ymu (y) - 2mu(y) - - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPageEmpty7} -\begin{paste}{ugxProblemNLDEQClosedPageEmpty7}{ugxProblemNLDEQClosedPagePatch7} -\pastebutton{ugxProblemNLDEQClosedPageEmpty7}{\showpaste} -\tab{5}\spadcommand{b := D(mu(y) * m, y) - D(mu(y) * n, x)\bound{b }\free{mu m }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPagePatch8} -\begin{paste}{ugxProblemNLDEQClosedPageFull8}{ugxProblemNLDEQClosedPageEmpty8} -\pastebutton{ugxProblemNLDEQClosedPageFull8}{\hidepaste} -\tab{5}\spadcommand{sb := solve(b = 0, mu, y)\free{mu b }\bound{sb }} -\indentrel{3}\begin{verbatim} - 1 - (8) [particular= 0,basis= [ÄÄ]] - 2 - y -Type: Union(Record(particular: Expression Integer,basis: List Expression Integer),...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPageEmpty8} -\begin{paste}{ugxProblemNLDEQClosedPageEmpty8}{ugxProblemNLDEQClosedPagePatch8} -\pastebutton{ugxProblemNLDEQClosedPageEmpty8}{\showpaste} -\tab{5}\spadcommand{sb := solve(b = 0, mu, y)\free{mu b }\bound{sb }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPagePatch9} -\begin{paste}{ugxProblemNLDEQClosedPageFull9}{ugxProblemNLDEQClosedPageEmpty9} -\pastebutton{ugxProblemNLDEQClosedPageFull9}{\hidepaste} -\tab{5}\spadcommand{intFactor := sb.basis.1\bound{intFactor }\free{sb }} -\indentrel{3}\begin{verbatim} - 1 - (9) ÄÄ - 2 - y - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPageEmpty9} -\begin{paste}{ugxProblemNLDEQClosedPageEmpty9}{ugxProblemNLDEQClosedPagePatch9} -\pastebutton{ugxProblemNLDEQClosedPageEmpty9}{\showpaste} -\tab{5}\spadcommand{intFactor := sb.basis.1\bound{intFactor }\free{sb }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPagePatch10} -\begin{paste}{ugxProblemNLDEQClosedPageFull10}{ugxProblemNLDEQClosedPageEmpty10} -\pastebutton{ugxProblemNLDEQClosedPageFull10}{\hidepaste} -\tab{5}\spadcommand{m := intFactor * m\bound{m1 }\free{m intFactor }} -\indentrel{3}\begin{verbatim} - 1 - (10) - Ä - y - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPageEmpty10} -\begin{paste}{ugxProblemNLDEQClosedPageEmpty10}{ugxProblemNLDEQClosedPagePatch10} -\pastebutton{ugxProblemNLDEQClosedPageEmpty10}{\showpaste} -\tab{5}\spadcommand{m := intFactor * m\bound{m1 }\free{m intFactor }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPagePatch11} -\begin{paste}{ugxProblemNLDEQClosedPageFull11}{ugxProblemNLDEQClosedPageEmpty11} -\pastebutton{ugxProblemNLDEQClosedPageFull11}{\hidepaste} -\tab{5}\spadcommand{n := intFactor * n\bound{n1 }\free{n intFactor }} -\indentrel{3}\begin{verbatim} - y log(y) + x - (11) ÄÄÄÄÄÄÄÄÄÄÄÄ - 2 - y - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPageEmpty11} -\begin{paste}{ugxProblemNLDEQClosedPageEmpty11}{ugxProblemNLDEQClosedPagePatch11} -\pastebutton{ugxProblemNLDEQClosedPageEmpty11}{\showpaste} -\tab{5}\spadcommand{n := intFactor * n\bound{n1 }\free{n intFactor }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPagePatch12} -\begin{paste}{ugxProblemNLDEQClosedPageFull12}{ugxProblemNLDEQClosedPageEmpty12} -\pastebutton{ugxProblemNLDEQClosedPageFull12}{\hidepaste} -\tab{5}\spadcommand{D(m, y) - D(n, x)\free{m1 n1 }} -\indentrel{3}\begin{verbatim} - (12) 0 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPageEmpty12} -\begin{paste}{ugxProblemNLDEQClosedPageEmpty12}{ugxProblemNLDEQClosedPagePatch12} -\pastebutton{ugxProblemNLDEQClosedPageEmpty12}{\showpaste} -\tab{5}\spadcommand{D(m, y) - D(n, x)\free{m1 n1 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPagePatch13} -\begin{paste}{ugxProblemNLDEQClosedPageFull13}{ugxProblemNLDEQClosedPageEmpty13} -\pastebutton{ugxProblemNLDEQClosedPageFull13}{\hidepaste} -\tab{5}\spadcommand{h := operator 'h\bound{h }} -\indentrel{3}\begin{verbatim} - (13) h - Type: BasicOperator -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPageEmpty13} -\begin{paste}{ugxProblemNLDEQClosedPageEmpty13}{ugxProblemNLDEQClosedPagePatch13} -\pastebutton{ugxProblemNLDEQClosedPageEmpty13}{\showpaste} -\tab{5}\spadcommand{h := operator 'h\bound{h }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPagePatch14} -\begin{paste}{ugxProblemNLDEQClosedPageFull14}{ugxProblemNLDEQClosedPageEmpty14} -\pastebutton{ugxProblemNLDEQClosedPageFull14}{\hidepaste} -\tab{5}\spadcommand{sol := h y + integrate(m, x)\bound{sol }\free{h m1 }} -\indentrel{3}\begin{verbatim} - y h(y) - x - (14) ÄÄÄÄÄÄÄÄÄÄ - y - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPageEmpty14} -\begin{paste}{ugxProblemNLDEQClosedPageEmpty14}{ugxProblemNLDEQClosedPagePatch14} -\pastebutton{ugxProblemNLDEQClosedPageEmpty14}{\showpaste} -\tab{5}\spadcommand{sol := h y + integrate(m, x)\bound{sol }\free{h m1 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPagePatch15} -\begin{paste}{ugxProblemNLDEQClosedPageFull15}{ugxProblemNLDEQClosedPageEmpty15} -\pastebutton{ugxProblemNLDEQClosedPageFull15}{\hidepaste} -\tab{5}\spadcommand{dsol := D(sol, y)\free{sol }\bound{dsol }} -\indentrel{3}\begin{verbatim} - 2 , - y h (y) + x - - (15) ÄÄÄÄÄÄÄÄÄÄÄ - 2 - y - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPageEmpty15} -\begin{paste}{ugxProblemNLDEQClosedPageEmpty15}{ugxProblemNLDEQClosedPagePatch15} -\pastebutton{ugxProblemNLDEQClosedPageEmpty15}{\showpaste} -\tab{5}\spadcommand{dsol := D(sol, y)\free{sol }\bound{dsol }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPagePatch16} -\begin{paste}{ugxProblemNLDEQClosedPageFull16}{ugxProblemNLDEQClosedPageEmpty16} -\pastebutton{ugxProblemNLDEQClosedPageFull16}{\hidepaste} -\tab{5}\spadcommand{nsol := solve(dsol = n, h, y)\free{dsol n1 h }\bound{nsol }} -\indentrel{3}\begin{verbatim} - 2 - log(y) - (16) [particular= ÄÄÄÄÄÄÄ,basis= [1]] - 2 -Type: Union(Record(particular: Expression Integer,basis: List Expression Integer),...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPageEmpty16} -\begin{paste}{ugxProblemNLDEQClosedPageEmpty16}{ugxProblemNLDEQClosedPagePatch16} -\pastebutton{ugxProblemNLDEQClosedPageEmpty16}{\showpaste} -\tab{5}\spadcommand{nsol := solve(dsol = n, h, y)\free{dsol n1 h }\bound{nsol }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPagePatch17} -\begin{paste}{ugxProblemNLDEQClosedPageFull17}{ugxProblemNLDEQClosedPageEmpty17} -\pastebutton{ugxProblemNLDEQClosedPageFull17}{\hidepaste} -\tab{5}\spadcommand{eval(sol, h y = nsol.particular)\free{sol h nsol }} -\indentrel{3}\begin{verbatim} - 2 - y log(y) - 2x - (17) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 2y - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPageEmpty17} -\begin{paste}{ugxProblemNLDEQClosedPageEmpty17}{ugxProblemNLDEQClosedPagePatch17} -\pastebutton{ugxProblemNLDEQClosedPageEmpty17}{\showpaste} -\tab{5}\spadcommand{eval(sol, h y = nsol.particular)\free{sol h nsol }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPagePatch18} -\begin{paste}{ugxProblemNLDEQClosedPageFull18}{ugxProblemNLDEQClosedPageEmpty18} -\pastebutton{ugxProblemNLDEQClosedPageFull18}{\hidepaste} -\tab{5}\spadcommand{y := operator 'y\bound{y }} -\indentrel{3}\begin{verbatim} - (18) y - Type: BasicOperator -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPageEmpty18} -\begin{paste}{ugxProblemNLDEQClosedPageEmpty18}{ugxProblemNLDEQClosedPagePatch18} -\pastebutton{ugxProblemNLDEQClosedPageEmpty18}{\showpaste} -\tab{5}\spadcommand{y := operator 'y\bound{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPagePatch19} -\begin{paste}{ugxProblemNLDEQClosedPageFull19}{ugxProblemNLDEQClosedPageEmpty19} -\pastebutton{ugxProblemNLDEQClosedPageFull19}{\hidepaste} -\tab{5}\spadcommand{deq := D(y x, x) = y(x) / (x + y(x) * log y x)\bound{deqi }\free{y }} -\indentrel{3}\begin{verbatim} - , y(x) - (19) y (x)= ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - y(x)log(y(x)) + x - Type: Equation Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPageEmpty19} -\begin{paste}{ugxProblemNLDEQClosedPageEmpty19}{ugxProblemNLDEQClosedPagePatch19} -\pastebutton{ugxProblemNLDEQClosedPageEmpty19}{\showpaste} -\tab{5}\spadcommand{deq := D(y x, x) = y(x) / (x + y(x) * log y x)\bound{deqi }\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPagePatch20} -\begin{paste}{ugxProblemNLDEQClosedPageFull20}{ugxProblemNLDEQClosedPageEmpty20} -\pastebutton{ugxProblemNLDEQClosedPageFull20}{\hidepaste} -\tab{5}\spadcommand{solve(deq, y, x)\free{deqi y }} -\indentrel{3}\begin{verbatim} - 2 - y(x)log(y(x)) - 2x - (20) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 2y(x) - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemNLDEQClosedPageEmpty20} -\begin{paste}{ugxProblemNLDEQClosedPageEmpty20}{ugxProblemNLDEQClosedPagePatch20} -\pastebutton{ugxProblemNLDEQClosedPageEmpty20}{\showpaste} -\tab{5}\spadcommand{solve(deq, y, x)\free{deqi y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootAllPagePatch1} -\begin{paste}{ugxProblemSymRootAllPageFull1}{ugxProblemSymRootAllPageEmpty1} -\pastebutton{ugxProblemSymRootAllPageFull1}{\hidepaste} -\tab{5}\spadcommand{l := rootsOf(x**4+1,x)\bound{l }} -\indentrel{3}\begin{verbatim} - (1) [%x0,%x0 %x1,- %x0,- %x0 %x1] - Type: List Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootAllPageEmpty1} -\begin{paste}{ugxProblemSymRootAllPageEmpty1}{ugxProblemSymRootAllPagePatch1} -\pastebutton{ugxProblemSymRootAllPageEmpty1}{\showpaste} -\tab{5}\spadcommand{l := rootsOf(x**4+1,x)\bound{l }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootAllPagePatch2} -\begin{paste}{ugxProblemSymRootAllPageFull2}{ugxProblemSymRootAllPageEmpty2} -\pastebutton{ugxProblemSymRootAllPageFull2}{\hidepaste} -\tab{5}\spadcommand{\%x0**5\free{l }} -\indentrel{3}\begin{verbatim} - (2) - %x0 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootAllPageEmpty2} -\begin{paste}{ugxProblemSymRootAllPageEmpty2}{ugxProblemSymRootAllPagePatch2} -\pastebutton{ugxProblemSymRootAllPageEmpty2}{\showpaste} -\tab{5}\spadcommand{\%x0**5\free{l }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootAllPagePatch3} -\begin{paste}{ugxProblemSymRootAllPageFull3}{ugxProblemSymRootAllPageEmpty3} -\pastebutton{ugxProblemSymRootAllPageFull3}{\hidepaste} -\tab{5}\spadcommand{definingPolynomial \%x0\free{l }} -\indentrel{3}\begin{verbatim} - 4 - (3) %x0 + 1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootAllPageEmpty3} -\begin{paste}{ugxProblemSymRootAllPageEmpty3}{ugxProblemSymRootAllPagePatch3} -\pastebutton{ugxProblemSymRootAllPageEmpty3}{\showpaste} -\tab{5}\spadcommand{definingPolynomial \%x0\free{l }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootAllPagePatch4} -\begin{paste}{ugxProblemSymRootAllPageFull4}{ugxProblemSymRootAllPageEmpty4} -\pastebutton{ugxProblemSymRootAllPageFull4}{\hidepaste} -\tab{5}\spadcommand{definingPolynomial \%x1\free{l }} -\indentrel{3}\begin{verbatim} - 2 - (4) %x1 + 1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootAllPageEmpty4} -\begin{paste}{ugxProblemSymRootAllPageEmpty4}{ugxProblemSymRootAllPagePatch4} -\pastebutton{ugxProblemSymRootAllPageEmpty4}{\showpaste} -\tab{5}\spadcommand{definingPolynomial \%x1\free{l }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootAllPagePatch5} -\begin{paste}{ugxProblemSymRootAllPageFull5}{ugxProblemSymRootAllPageEmpty5} -\pastebutton{ugxProblemSymRootAllPageFull5}{\hidepaste} -\tab{5}\spadcommand{definingPolynomial \%x2\free{l }} -\indentrel{3}\begin{verbatim} - (5) - %x2 + %%var - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootAllPageEmpty5} -\begin{paste}{ugxProblemSymRootAllPageEmpty5}{ugxProblemSymRootAllPagePatch5} -\pastebutton{ugxProblemSymRootAllPageEmpty5}{\showpaste} -\tab{5}\spadcommand{definingPolynomial \%x2\free{l }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootAllPagePatch6} -\begin{paste}{ugxProblemSymRootAllPageFull6}{ugxProblemSymRootAllPageEmpty6} -\pastebutton{ugxProblemSymRootAllPageFull6}{\hidepaste} -\tab{5}\spadcommand{x3 := last l\free{l }\bound{x3 }} -\indentrel{3}\begin{verbatim} - (6) - %x0 %x1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootAllPageEmpty6} -\begin{paste}{ugxProblemSymRootAllPageEmpty6}{ugxProblemSymRootAllPagePatch6} -\pastebutton{ugxProblemSymRootAllPageEmpty6}{\showpaste} -\tab{5}\spadcommand{x3 := last l\free{l }\bound{x3 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootAllPagePatch7} -\begin{paste}{ugxProblemSymRootAllPageFull7}{ugxProblemSymRootAllPageEmpty7} -\pastebutton{ugxProblemSymRootAllPageFull7}{\hidepaste} -\tab{5}\spadcommand{\%x0 + \%x1 + \%x2 + x3\free{x3 }} -\indentrel{3}\begin{verbatim} - (7) (- %x0 + 1)%x1 + %x0 + %x2 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootAllPageEmpty7} -\begin{paste}{ugxProblemSymRootAllPageEmpty7}{ugxProblemSymRootAllPagePatch7} -\pastebutton{ugxProblemSymRootAllPageEmpty7}{\showpaste} -\tab{5}\spadcommand{\%x0 + \%x1 + \%x2 + x3\free{x3 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootAllPagePatch8} -\begin{paste}{ugxProblemSymRootAllPageFull8}{ugxProblemSymRootAllPageEmpty8} -\pastebutton{ugxProblemSymRootAllPageFull8}{\hidepaste} -\tab{5}\spadcommand{\%x0 * \%x1 * \%x2 * x3\free{x3 }} -\indentrel{3}\begin{verbatim} - 2 - (8) %x2 %x0 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootAllPageEmpty8} -\begin{paste}{ugxProblemSymRootAllPageEmpty8}{ugxProblemSymRootAllPagePatch8} -\pastebutton{ugxProblemSymRootAllPageEmpty8}{\showpaste} -\tab{5}\spadcommand{\%x0 * \%x1 * \%x2 * x3\free{x3 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootAllPagePatch9} -\begin{paste}{ugxProblemSymRootAllPageFull9}{ugxProblemSymRootAllPageEmpty9} -\pastebutton{ugxProblemSymRootAllPageFull9}{\hidepaste} -\tab{5}\spadcommand{zerosOf(y**4+1,y)\bound{z }} -\indentrel{3}\begin{verbatim} - (9) - ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ ÚÄÄÄ¿ - \³- 1 + 1 \³- 1 - 1 - \³- 1 - 1 - \³- 1 + 1 - [ÄÄÄÄÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄÄÄÄÄ] - ÚÄ¿ ÚÄ¿ ÚÄ¿ ÚÄ¿ - \³2 \³2 \³2 \³2 - Type: List Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootAllPageEmpty9} -\begin{paste}{ugxProblemSymRootAllPageEmpty9}{ugxProblemSymRootAllPagePatch9} -\pastebutton{ugxProblemSymRootAllPageEmpty9}{\showpaste} -\tab{5}\spadcommand{zerosOf(y**4+1,y)\bound{z }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootAllPagePatch10} -\begin{paste}{ugxProblemSymRootAllPageFull10}{ugxProblemSymRootAllPageEmpty10} -\pastebutton{ugxProblemSymRootAllPageFull10}{\hidepaste} -\tab{5}\spadcommand{definingPolynomial \%y1\free{z }} -\indentrel{3}\begin{verbatim} - 2 - (10) %%var + 1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootAllPageEmpty10} -\begin{paste}{ugxProblemSymRootAllPageEmpty10}{ugxProblemSymRootAllPagePatch10} -\pastebutton{ugxProblemSymRootAllPageEmpty10}{\showpaste} -\tab{5}\spadcommand{definingPolynomial \%y1\free{z }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootOnePagePatch1} -\begin{paste}{ugxProblemSymRootOnePageFull1}{ugxProblemSymRootOnePageEmpty1} -\pastebutton{ugxProblemSymRootOnePageFull1}{\hidepaste} -\tab{5}\spadcommand{a := rootOf(a**4+1,a)\bound{a }} -\indentrel{3}\begin{verbatim} - (1) a - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootOnePageEmpty1} -\begin{paste}{ugxProblemSymRootOnePageEmpty1}{ugxProblemSymRootOnePagePatch1} -\pastebutton{ugxProblemSymRootOnePageEmpty1}{\showpaste} -\tab{5}\spadcommand{a := rootOf(a**4+1,a)\bound{a }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootOnePagePatch2} -\begin{paste}{ugxProblemSymRootOnePageFull2}{ugxProblemSymRootOnePageEmpty2} -\pastebutton{ugxProblemSymRootOnePageFull2}{\hidepaste} -\tab{5}\spadcommand{definingPolynomial a\free{a }} -\indentrel{3}\begin{verbatim} - 4 - (2) a + 1 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootOnePageEmpty2} -\begin{paste}{ugxProblemSymRootOnePageEmpty2}{ugxProblemSymRootOnePagePatch2} -\pastebutton{ugxProblemSymRootOnePageEmpty2}{\showpaste} -\tab{5}\spadcommand{definingPolynomial a\free{a }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootOnePagePatch3} -\begin{paste}{ugxProblemSymRootOnePageFull3}{ugxProblemSymRootOnePageEmpty3} -\pastebutton{ugxProblemSymRootOnePageFull3}{\hidepaste} -\tab{5}\spadcommand{b := rootOf(b**2-a-1,b)\free{a }\bound{b }} -\indentrel{3}\begin{verbatim} - (3) b - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootOnePageEmpty3} -\begin{paste}{ugxProblemSymRootOnePageEmpty3}{ugxProblemSymRootOnePagePatch3} -\pastebutton{ugxProblemSymRootOnePageEmpty3}{\showpaste} -\tab{5}\spadcommand{b := rootOf(b**2-a-1,b)\free{a }\bound{b }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootOnePagePatch4} -\begin{paste}{ugxProblemSymRootOnePageFull4}{ugxProblemSymRootOnePageEmpty4} -\pastebutton{ugxProblemSymRootOnePageFull4}{\hidepaste} -\tab{5}\spadcommand{a + b\free{a b }\bound{c }} -\indentrel{3}\begin{verbatim} - (4) b + a - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootOnePageEmpty4} -\begin{paste}{ugxProblemSymRootOnePageEmpty4}{ugxProblemSymRootOnePagePatch4} -\pastebutton{ugxProblemSymRootOnePageEmpty4}{\showpaste} -\tab{5}\spadcommand{a + b\free{a b }\bound{c }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootOnePagePatch5} -\begin{paste}{ugxProblemSymRootOnePageFull5}{ugxProblemSymRootOnePageEmpty5} -\pastebutton{ugxProblemSymRootOnePageFull5}{\hidepaste} -\tab{5}\spadcommand{\% ** 5\free{c }} -\indentrel{3}\begin{verbatim} - 3 2 3 2 - (5) (10a + 11a + 2a - 4)b + 15a + 10a + 4a - 10 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootOnePageEmpty5} -\begin{paste}{ugxProblemSymRootOnePageEmpty5}{ugxProblemSymRootOnePagePatch5} -\pastebutton{ugxProblemSymRootOnePageEmpty5}{\showpaste} -\tab{5}\spadcommand{\% ** 5\free{c }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootOnePagePatch6} -\begin{paste}{ugxProblemSymRootOnePageFull6}{ugxProblemSymRootOnePageEmpty6} -\pastebutton{ugxProblemSymRootOnePageFull6}{\hidepaste} -\tab{5}\spadcommand{rootOf(c**2+c+1,c)} -\indentrel{3}\begin{verbatim} - (6) c - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootOnePageEmpty6} -\begin{paste}{ugxProblemSymRootOnePageEmpty6}{ugxProblemSymRootOnePagePatch6} -\pastebutton{ugxProblemSymRootOnePageEmpty6}{\showpaste} -\tab{5}\spadcommand{rootOf(c**2+c+1,c)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootOnePagePatch7} -\begin{paste}{ugxProblemSymRootOnePageFull7}{ugxProblemSymRootOnePageEmpty7} -\pastebutton{ugxProblemSymRootOnePageFull7}{\hidepaste} -\tab{5}\spadcommand{zeroOf(d**2+d+1,d)} -\indentrel{3}\begin{verbatim} - ÚÄÄÄ¿ - \³- 3 - 1 - (7) ÄÄÄÄÄÄÄÄÄÄ - 2 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootOnePageEmpty7} -\begin{paste}{ugxProblemSymRootOnePageEmpty7}{ugxProblemSymRootOnePagePatch7} -\pastebutton{ugxProblemSymRootOnePageEmpty7}{\showpaste} -\tab{5}\spadcommand{zeroOf(d**2+d+1,d)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootOnePagePatch8} -\begin{paste}{ugxProblemSymRootOnePageFull8}{ugxProblemSymRootOnePageEmpty8} -\pastebutton{ugxProblemSymRootOnePageFull8}{\hidepaste} -\tab{5}\spadcommand{rootOf(e**5-2,e)} -\indentrel{3}\begin{verbatim} - (8) e - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootOnePageEmpty8} -\begin{paste}{ugxProblemSymRootOnePageEmpty8}{ugxProblemSymRootOnePagePatch8} -\pastebutton{ugxProblemSymRootOnePageEmpty8}{\showpaste} -\tab{5}\spadcommand{rootOf(e**5-2,e)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootOnePagePatch9} -\begin{paste}{ugxProblemSymRootOnePageFull9}{ugxProblemSymRootOnePageEmpty9} -\pastebutton{ugxProblemSymRootOnePageFull9}{\hidepaste} -\tab{5}\spadcommand{zeroOf(f**5-2,f)} -\indentrel{3}\begin{verbatim} - 5ÚÄ¿ - (9) \³2 - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSymRootOnePageEmpty9} -\begin{paste}{ugxProblemSymRootOnePageEmpty9}{ugxProblemSymRootOnePagePatch9} -\pastebutton{ugxProblemSymRootOnePageEmpty9}{\showpaste} -\tab{5}\spadcommand{zeroOf(f**5-2,f)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIntegrationPagePatch1} -\begin{paste}{ugProblemIntegrationPageFull1}{ugProblemIntegrationPageEmpty1} -\pastebutton{ugProblemIntegrationPageFull1}{\hidepaste} -\tab{5}\spadcommand{integrate(cosh(a*x)*sinh(a*x), x)} -\indentrel{3}\begin{verbatim} - 2 2 - sinh(a x) + cosh(a x) - (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 4a - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIntegrationPageEmpty1} -\begin{paste}{ugProblemIntegrationPageEmpty1}{ugProblemIntegrationPagePatch1} -\pastebutton{ugProblemIntegrationPageEmpty1}{\showpaste} -\tab{5}\spadcommand{integrate(cosh(a*x)*sinh(a*x), x)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIntegrationPagePatch2} -\begin{paste}{ugProblemIntegrationPageFull2}{ugProblemIntegrationPageEmpty2} -\pastebutton{ugProblemIntegrationPageFull2}{\hidepaste} -\tab{5}\spadcommand{integrate(log(1 + sqrt(a * x + b)) / x, x)} -\indentrel{3}\begin{verbatim} - x ÚÄÄÄÄÄÄÄÄ¿ - Ú¿ log(\³b + %E a + 1) - (2) ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ d%E - ÀÙ %E - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIntegrationPageEmpty2} -\begin{paste}{ugProblemIntegrationPageEmpty2}{ugProblemIntegrationPagePatch2} -\pastebutton{ugProblemIntegrationPageEmpty2}{\showpaste} -\tab{5}\spadcommand{integrate(log(1 + sqrt(a * x + b)) / x, x)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIntegrationPagePatch3} -\begin{paste}{ugProblemIntegrationPageFull3}{ugProblemIntegrationPageEmpty3} -\pastebutton{ugProblemIntegrationPageFull3}{\hidepaste} -\tab{5}\spadcommand{integrate(1/(x**2 - 2),x)} -\indentrel{3}\begin{verbatim} - 2 ÚÄ¿ - (x + 2)\³2 - 4x - log(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) - 2 - x - 2 - (3) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - ÚÄ¿ - 2\³2 - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIntegrationPageEmpty3} -\begin{paste}{ugProblemIntegrationPageEmpty3}{ugProblemIntegrationPagePatch3} -\pastebutton{ugProblemIntegrationPageEmpty3}{\showpaste} -\tab{5}\spadcommand{integrate(1/(x**2 - 2),x)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIntegrationPagePatch4} -\begin{paste}{ugProblemIntegrationPageFull4}{ugProblemIntegrationPageEmpty4} -\pastebutton{ugProblemIntegrationPageFull4}{\hidepaste} -\tab{5}\spadcommand{integrate(1/(x**2 + 2),x)} -\indentrel{3}\begin{verbatim} - ÚÄ¿ - x\³2 - atan(ÄÄÄÄÄ) - 2 - (4) ÄÄÄÄÄÄÄÄÄÄÄ - ÚÄ¿ - \³2 - Type: Union(Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIntegrationPageEmpty4} -\begin{paste}{ugProblemIntegrationPageEmpty4}{ugProblemIntegrationPagePatch4} -\pastebutton{ugProblemIntegrationPageEmpty4}{\showpaste} -\tab{5}\spadcommand{integrate(1/(x**2 + 2),x)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIntegrationPagePatch5} -\begin{paste}{ugProblemIntegrationPageFull5}{ugProblemIntegrationPageEmpty5} -\pastebutton{ugProblemIntegrationPageFull5}{\hidepaste} -\tab{5}\spadcommand{integrate(x**2 / (x**4 - a**2), x)} -\indentrel{3}\begin{verbatim} - (5) - 2 ÚÄ¿ ÚÄ¿ - (x + a)\³a - 2a x x\³a - log(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) + 2atan(ÄÄÄÄÄ) - 2 a - x - a - [ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, - ÚÄ¿ - 4\³a - 2 ÚÄÄÄ¿ ÚÄÄÄ¿ - (x - a)\³- a + 2a x x\³- a - log(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) - 2atan(ÄÄÄÄÄÄÄ) - 2 a - x + a - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ] - ÚÄÄÄ¿ - 4\³- a - Type: Union(List Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIntegrationPageEmpty5} -\begin{paste}{ugProblemIntegrationPageEmpty5}{ugProblemIntegrationPagePatch5} -\pastebutton{ugProblemIntegrationPageEmpty5}{\showpaste} -\tab{5}\spadcommand{integrate(x**2 / (x**4 - a**2), x)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIntegrationPagePatch6} -\begin{paste}{ugProblemIntegrationPageFull6}{ugProblemIntegrationPageEmpty6} -\pastebutton{ugProblemIntegrationPageFull6}{\hidepaste} -\tab{5}\spadcommand{complexIntegrate(x**2 / (x**4 - a**2), x)} -\indentrel{3}\begin{verbatim} - (6) - ÚÄÄÄÄ¿ ÚÄÄ¿ - ÚÄÄ¿ x\³- 4a + 2a ÚÄÄÄÄ¿ x\³4a + 2a - \³4a log(ÄÄÄÄÄÄÄÄÄÄÄÄÄ) - \³- 4a log(ÄÄÄÄÄÄÄÄÄÄÄ) - ÚÄÄÄÄ¿ ÚÄÄ¿ - \³- 4a \³4a - + - ÚÄÄ¿ ÚÄÄÄÄ¿ - ÚÄÄÄÄ¿ x\³4a - 2a ÚÄÄ¿ x\³- 4a - 2a - \³- 4a log(ÄÄÄÄÄÄÄÄÄÄÄ) - \³4a log(ÄÄÄÄÄÄÄÄÄÄÄÄÄ) - ÚÄÄ¿ ÚÄÄÄÄ¿ - \³4a \³- 4a - / - ÚÄÄÄÄ¿ ÚÄÄ¿ - 2\³- 4a \³4a - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIntegrationPageEmpty6} -\begin{paste}{ugProblemIntegrationPageEmpty6}{ugProblemIntegrationPagePatch6} -\pastebutton{ugProblemIntegrationPageEmpty6}{\showpaste} -\tab{5}\spadcommand{complexIntegrate(x**2 / (x**4 - a**2), x)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIntegrationPagePatch7} -\begin{paste}{ugProblemIntegrationPageFull7}{ugProblemIntegrationPageEmpty7} -\pastebutton{ugProblemIntegrationPageFull7}{\hidepaste} -\tab{5}\spadcommand{complexIntegrate(log(1 + sqrt(a * x + b)) / x, x)} -\indentrel{3}\begin{verbatim} - x ÚÄÄÄÄÄÄÄÄ¿ - Ú¿ log(\³b + %E a + 1) - (7) ³ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ d%E - ÀÙ %E - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIntegrationPageEmpty7} -\begin{paste}{ugProblemIntegrationPageEmpty7}{ugProblemIntegrationPagePatch7} -\pastebutton{ugProblemIntegrationPageEmpty7}{\showpaste} -\tab{5}\spadcommand{complexIntegrate(log(1 + sqrt(a * x + b)) / x, x)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIntegrationPagePatch8} -\begin{paste}{ugProblemIntegrationPageFull8}{ugProblemIntegrationPageEmpty8} -\pastebutton{ugProblemIntegrationPageFull8}{\hidepaste} -\tab{5}\spadcommand{integrate((x**4 - 3*x**2 + 6)/(x**6-5*x**4+5*x**2+4), x = 1..2)} -\indentrel{3}\begin{verbatim} - 1 - 2atan(8) + 2atan(5) + 2atan(2) + 2atan(Ä) - %pi - 2 - (8) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 2 -Type: Union(f1: OrderedCompletion Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIntegrationPageEmpty8} -\begin{paste}{ugProblemIntegrationPageEmpty8}{ugProblemIntegrationPagePatch8} -\pastebutton{ugProblemIntegrationPageEmpty8}{\showpaste} -\tab{5}\spadcommand{integrate((x**4 - 3*x**2 + 6)/(x**6-5*x**4+5*x**2+4), x = 1..2)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIntegrationPagePatch9} -\begin{paste}{ugProblemIntegrationPageFull9}{ugProblemIntegrationPageEmpty9} -\pastebutton{ugProblemIntegrationPageFull9}{\hidepaste} -\tab{5}\spadcommand{integrate(1/(x**2-a), x = 1..2)} -\indentrel{3}\begin{verbatim} - (9) potentialPole - Type: Union(pole: potentialPole,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIntegrationPageEmpty9} -\begin{paste}{ugProblemIntegrationPageEmpty9}{ugProblemIntegrationPagePatch9} -\pastebutton{ugProblemIntegrationPageEmpty9}{\showpaste} -\tab{5}\spadcommand{integrate(1/(x**2-a), x = 1..2)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIntegrationPagePatch10} -\begin{paste}{ugProblemIntegrationPageFull10}{ugProblemIntegrationPageEmpty10} -\pastebutton{ugProblemIntegrationPageFull10}{\hidepaste} -\tab{5}\spadcommand{integrate(1/(x**2-a), x = 1..2, "noPole")} -\indentrel{3}\begin{verbatim} - (10) - [ - 2 ÚÄ¿ 3 2 - (- 4a - 4a)\³a + a + 6a + a - - log(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) - 2 - a - 2a + 1 - + - 2 ÚÄ¿ 3 2 - (- 8a - 32a)\³a + a + 24a + 16a - log(ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) - 2 - a - 8a + 16 - / - ÚÄ¿ - 4\³a - , - ÚÄÄÄ¿ ÚÄÄÄ¿ - 2\³- a \³- a - - atan(ÄÄÄÄÄÄÄ) + atan(ÄÄÄÄÄÄ) - a a - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ] - ÚÄÄÄ¿ - \³- a -Type: Union(f2: List OrderedCompletion Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIntegrationPageEmpty10} -\begin{paste}{ugProblemIntegrationPageEmpty10}{ugProblemIntegrationPagePatch10} -\pastebutton{ugProblemIntegrationPageEmpty10}{\showpaste} -\tab{5}\spadcommand{integrate(1/(x**2-a), x = 1..2, "noPole")} -\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorRatFunPagePatch1} -\begin{paste}{ugProblemFactorRatFunPageFull1}{ugProblemFactorRatFunPageEmpty1} -\pastebutton{ugProblemFactorRatFunPageFull1}{\hidepaste} -\tab{5}\spadcommand{factorFraction((x**2-4)/(y**2-4))} -\indentrel{3}\begin{verbatim} - (x - 2)(x + 2) - (1) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - (y - 2)(y + 2) - Type: Fraction Factored Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorRatFunPageEmpty1} -\begin{paste}{ugProblemFactorRatFunPageEmpty1}{ugProblemFactorRatFunPagePatch1} -\pastebutton{ugProblemFactorRatFunPageEmpty1}{\showpaste} -\tab{5}\spadcommand{factorFraction((x**2-4)/(y**2-4))} -\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorRatFunPagePatch2} -\begin{paste}{ugProblemFactorRatFunPageFull2}{ugProblemFactorRatFunPageEmpty2} -\pastebutton{ugProblemFactorRatFunPageFull2}{\hidepaste} -\tab{5}\spadcommand{map(factor,(x**2-4)/(y**2-4))} -\indentrel{3}\begin{verbatim} - (x - 2)(x + 2) - (2) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - (y - 2)(y + 2) - Type: Fraction Factored Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorRatFunPageEmpty2} -\begin{paste}{ugProblemFactorRatFunPageEmpty2}{ugProblemFactorRatFunPagePatch2} -\pastebutton{ugProblemFactorRatFunPageEmpty2}{\showpaste} -\tab{5}\spadcommand{map(factor,(x**2-4)/(y**2-4))} -\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorIntRatPagePatch1} -\begin{paste}{ugProblemFactorIntRatPageFull1}{ugProblemFactorIntRatPageEmpty1} -\pastebutton{ugProblemFactorIntRatPageFull1}{\hidepaste} -\tab{5}\spadcommand{v := (4*x**3+2*y**2+1)*(12*x**5-x**3*y+12)\bound{v }} -\indentrel{3}\begin{verbatim} - (1) - 3 3 5 2 6 3 8 5 - - 2x y + (24x + 24)y + (- 4x - x )y + 48x + 12x - + - 3 - 48x + 12 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorIntRatPageEmpty1} -\begin{paste}{ugProblemFactorIntRatPageEmpty1}{ugProblemFactorIntRatPagePatch1} -\pastebutton{ugProblemFactorIntRatPageEmpty1}{\showpaste} -\tab{5}\spadcommand{v := (4*x**3+2*y**2+1)*(12*x**5-x**3*y+12)\bound{v }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorIntRatPagePatch2} -\begin{paste}{ugProblemFactorIntRatPageFull2}{ugProblemFactorIntRatPageEmpty2} -\pastebutton{ugProblemFactorIntRatPageFull2}{\hidepaste} -\tab{5}\spadcommand{factor v\free{v }} -\indentrel{3}\begin{verbatim} - 3 5 2 3 - (2) - (x y - 12x - 12)(2y + 4x + 1) - Type: Factored Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorIntRatPageEmpty2} -\begin{paste}{ugProblemFactorIntRatPageEmpty2}{ugProblemFactorIntRatPagePatch2} -\pastebutton{ugProblemFactorIntRatPageEmpty2}{\showpaste} -\tab{5}\spadcommand{factor v\free{v }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorIntRatPagePatch3} -\begin{paste}{ugProblemFactorIntRatPageFull3}{ugProblemFactorIntRatPageEmpty3} -\pastebutton{ugProblemFactorIntRatPageFull3}{\hidepaste} -\tab{5}\spadcommand{w := (4*x**3+(2/3)*x**2+1)*(12*x**5-(1/2)*x**3+12)\bound{w }} -\indentrel{3}\begin{verbatim} - 8 7 6 35 5 95 3 2 - (3) 48x + 8x - 2x + ÄÄ x + ÄÄ x + 8x + 12 - 3 2 - Type: Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorIntRatPageEmpty3} -\begin{paste}{ugProblemFactorIntRatPageEmpty3}{ugProblemFactorIntRatPagePatch3} -\pastebutton{ugProblemFactorIntRatPageEmpty3}{\showpaste} -\tab{5}\spadcommand{w := (4*x**3+(2/3)*x**2+1)*(12*x**5-(1/2)*x**3+12)\bound{w }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorIntRatPagePatch4} -\begin{paste}{ugProblemFactorIntRatPageFull4}{ugProblemFactorIntRatPageEmpty4} -\pastebutton{ugProblemFactorIntRatPageFull4}{\hidepaste} -\tab{5}\spadcommand{factor w\free{w }} -\indentrel{3}\begin{verbatim} - 3 1 2 1 5 1 3 - (4) 48(x + Ä x + Ä)(x - ÄÄ x + 1) - 6 4 24 - Type: Factored Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemFactorIntRatPageEmpty4} -\begin{paste}{ugProblemFactorIntRatPageEmpty4}{ugProblemFactorIntRatPagePatch4} -\pastebutton{ugProblemFactorIntRatPageEmpty4}{\showpaste} -\tab{5}\spadcommand{factor w\free{w }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePagePatch1} -\begin{paste}{ugxProblemFinitePrimePageFull1}{ugxProblemFinitePrimePageEmpty1} -\pastebutton{ugxProblemFinitePrimePageFull1}{\hidepaste} -\tab{5}\spadcommand{(a,b) : IntegerMod 12\bound{abdec }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePageEmpty1} -\begin{paste}{ugxProblemFinitePrimePageEmpty1}{ugxProblemFinitePrimePagePatch1} -\pastebutton{ugxProblemFinitePrimePageEmpty1}{\showpaste} -\tab{5}\spadcommand{(a,b) : IntegerMod 12\bound{abdec }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePagePatch2} -\begin{paste}{ugxProblemFinitePrimePageFull2}{ugxProblemFinitePrimePageEmpty2} -\pastebutton{ugxProblemFinitePrimePageFull2}{\hidepaste} -\tab{5}\spadcommand{(a, b) := (16, 7)\free{abdec }\bound{a b }} -\indentrel{3}\begin{verbatim} - (2) 7 - Type: IntegerMod 12 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePageEmpty2} -\begin{paste}{ugxProblemFinitePrimePageEmpty2}{ugxProblemFinitePrimePagePatch2} -\pastebutton{ugxProblemFinitePrimePageEmpty2}{\showpaste} -\tab{5}\spadcommand{(a, b) := (16, 7)\free{abdec }\bound{a b }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePagePatch3} -\begin{paste}{ugxProblemFinitePrimePageFull3}{ugxProblemFinitePrimePageEmpty3} -\pastebutton{ugxProblemFinitePrimePageFull3}{\hidepaste} -\tab{5}\spadcommand{[a - b, a * b]\free{a b }} -\indentrel{3}\begin{verbatim} - (3) [9,4] - Type: List IntegerMod 12 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePageEmpty3} -\begin{paste}{ugxProblemFinitePrimePageEmpty3}{ugxProblemFinitePrimePagePatch3} -\pastebutton{ugxProblemFinitePrimePageEmpty3}{\showpaste} -\tab{5}\spadcommand{[a - b, a * b]\free{a b }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePagePatch4} -\begin{paste}{ugxProblemFinitePrimePageFull4}{ugxProblemFinitePrimePageEmpty4} -\pastebutton{ugxProblemFinitePrimePageFull4}{\hidepaste} -\tab{5}\spadcommand{a / b\free{a b }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePageEmpty4} -\begin{paste}{ugxProblemFinitePrimePageEmpty4}{ugxProblemFinitePrimePagePatch4} -\pastebutton{ugxProblemFinitePrimePageEmpty4}{\showpaste} -\tab{5}\spadcommand{a / b\free{a b }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePagePatch5} -\begin{paste}{ugxProblemFinitePrimePageFull5}{ugxProblemFinitePrimePageEmpty5} -\pastebutton{ugxProblemFinitePrimePageFull5}{\hidepaste} -\tab{5}\spadcommand{recip a\free{a }} -\indentrel{3}\begin{verbatim} - (4) "failed" - Type: Union("failed",...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePageEmpty5} -\begin{paste}{ugxProblemFinitePrimePageEmpty5}{ugxProblemFinitePrimePagePatch5} -\pastebutton{ugxProblemFinitePrimePageEmpty5}{\showpaste} -\tab{5}\spadcommand{recip a\free{a }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePagePatch6} -\begin{paste}{ugxProblemFinitePrimePageFull6}{ugxProblemFinitePrimePageEmpty6} -\pastebutton{ugxProblemFinitePrimePageFull6}{\hidepaste} -\tab{5}\spadcommand{recip b\free{b }} -\indentrel{3}\begin{verbatim} - (5) 7 - Type: Union(IntegerMod 12,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePageEmpty6} -\begin{paste}{ugxProblemFinitePrimePageEmpty6}{ugxProblemFinitePrimePagePatch6} -\pastebutton{ugxProblemFinitePrimePageEmpty6}{\showpaste} -\tab{5}\spadcommand{recip b\free{b }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePagePatch7} -\begin{paste}{ugxProblemFinitePrimePageFull7}{ugxProblemFinitePrimePageEmpty7} -\pastebutton{ugxProblemFinitePrimePageFull7}{\hidepaste} -\tab{5}\spadcommand{c : PrimeField 11 := 8\bound{c }} -\indentrel{3}\begin{verbatim} - (6) 8 - Type: PrimeField 11 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePageEmpty7} -\begin{paste}{ugxProblemFinitePrimePageEmpty7}{ugxProblemFinitePrimePagePatch7} -\pastebutton{ugxProblemFinitePrimePageEmpty7}{\showpaste} -\tab{5}\spadcommand{c : PrimeField 11 := 8\bound{c }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePagePatch8} -\begin{paste}{ugxProblemFinitePrimePageFull8}{ugxProblemFinitePrimePageEmpty8} -\pastebutton{ugxProblemFinitePrimePageFull8}{\hidepaste} -\tab{5}\spadcommand{inv c\free{c }} -\indentrel{3}\begin{verbatim} - (7) 7 - Type: PrimeField 11 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePageEmpty8} -\begin{paste}{ugxProblemFinitePrimePageEmpty8}{ugxProblemFinitePrimePagePatch8} -\pastebutton{ugxProblemFinitePrimePageEmpty8}{\showpaste} -\tab{5}\spadcommand{inv c\free{c }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePagePatch9} -\begin{paste}{ugxProblemFinitePrimePageFull9}{ugxProblemFinitePrimePageEmpty9} -\pastebutton{ugxProblemFinitePrimePageFull9}{\hidepaste} -\tab{5}\spadcommand{9/c\free{c }} -\indentrel{3}\begin{verbatim} - (8) 8 - Type: PrimeField 11 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePageEmpty9} -\begin{paste}{ugxProblemFinitePrimePageEmpty9}{ugxProblemFinitePrimePagePatch9} -\pastebutton{ugxProblemFinitePrimePageEmpty9}{\showpaste} -\tab{5}\spadcommand{9/c\free{c }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePagePatch10} -\begin{paste}{ugxProblemFinitePrimePageFull10}{ugxProblemFinitePrimePageEmpty10} -\pastebutton{ugxProblemFinitePrimePageFull10}{\hidepaste} -\tab{5}\spadcommand{GF101 := PF 101\bound{GF101 }} -\indentrel{3}\begin{verbatim} - (9) PrimeField 101 - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePageEmpty10} -\begin{paste}{ugxProblemFinitePrimePageEmpty10}{ugxProblemFinitePrimePagePatch10} -\pastebutton{ugxProblemFinitePrimePageEmpty10}{\showpaste} -\tab{5}\spadcommand{GF101 := PF 101\bound{GF101 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePagePatch11} -\begin{paste}{ugxProblemFinitePrimePageFull11}{ugxProblemFinitePrimePageEmpty11} -\pastebutton{ugxProblemFinitePrimePageFull11}{\hidepaste} -\tab{5}\spadcommand{x := random()$GF101\bound{x }\free{GF101 }} -\indentrel{3}\begin{verbatim} - (10) 78 - Type: PrimeField 101 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePageEmpty11} -\begin{paste}{ugxProblemFinitePrimePageEmpty11}{ugxProblemFinitePrimePagePatch11} -\pastebutton{ugxProblemFinitePrimePageEmpty11}{\showpaste} -\tab{5}\spadcommand{x := random()$GF101\bound{x }\free{GF101 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePagePatch12} -\begin{paste}{ugxProblemFinitePrimePageFull12}{ugxProblemFinitePrimePageEmpty12} -\pastebutton{ugxProblemFinitePrimePageFull12}{\hidepaste} -\tab{5}\spadcommand{y : GF101 := 37\bound{y }\free{GF101 }} -\indentrel{3}\begin{verbatim} - (11) 37 - Type: PrimeField 101 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePageEmpty12} -\begin{paste}{ugxProblemFinitePrimePageEmpty12}{ugxProblemFinitePrimePagePatch12} -\pastebutton{ugxProblemFinitePrimePageEmpty12}{\showpaste} -\tab{5}\spadcommand{y : GF101 := 37\bound{y }\free{GF101 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePagePatch13} -\begin{paste}{ugxProblemFinitePrimePageFull13}{ugxProblemFinitePrimePageEmpty13} -\pastebutton{ugxProblemFinitePrimePageFull13}{\hidepaste} -\tab{5}\spadcommand{z := x/y\bound{z }\free{x y }} -\indentrel{3}\begin{verbatim} - (12) 84 - Type: PrimeField 101 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePageEmpty13} -\begin{paste}{ugxProblemFinitePrimePageEmpty13}{ugxProblemFinitePrimePagePatch13} -\pastebutton{ugxProblemFinitePrimePageEmpty13}{\showpaste} -\tab{5}\spadcommand{z := x/y\bound{z }\free{x y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePagePatch14} -\begin{paste}{ugxProblemFinitePrimePageFull14}{ugxProblemFinitePrimePageEmpty14} -\pastebutton{ugxProblemFinitePrimePageFull14}{\hidepaste} -\tab{5}\spadcommand{z * y - x\free{x y z }} -\indentrel{3}\begin{verbatim} - (13) 0 - Type: PrimeField 101 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePageEmpty14} -\begin{paste}{ugxProblemFinitePrimePageEmpty14}{ugxProblemFinitePrimePagePatch14} -\pastebutton{ugxProblemFinitePrimePageEmpty14}{\showpaste} -\tab{5}\spadcommand{z * y - x\free{x y z }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePagePatch15} -\begin{paste}{ugxProblemFinitePrimePageFull15}{ugxProblemFinitePrimePageEmpty15} -\pastebutton{ugxProblemFinitePrimePageFull15}{\hidepaste} -\tab{5}\spadcommand{pe := primitiveElement()$GF101\bound{pe }\free{GF101 }} -\indentrel{3}\begin{verbatim} - (14) 2 - Type: PrimeField 101 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePageEmpty15} -\begin{paste}{ugxProblemFinitePrimePageEmpty15}{ugxProblemFinitePrimePagePatch15} -\pastebutton{ugxProblemFinitePrimePageEmpty15}{\showpaste} -\tab{5}\spadcommand{pe := primitiveElement()$GF101\bound{pe }\free{GF101 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePagePatch16} -\begin{paste}{ugxProblemFinitePrimePageFull16}{ugxProblemFinitePrimePageEmpty16} -\pastebutton{ugxProblemFinitePrimePageFull16}{\hidepaste} -\tab{5}\spadcommand{[pe**i for i in 0..99]\free{pe }} -\indentrel{3}\begin{verbatim} - (15) - [1, 2, 4, 8, 16, 32, 64, 27, 54, 7, 14, 28, 56, 11, - 22, 44, 88, 75, 49, 98, 95, 89, 77, 53, 5, 10, 20, - 40, 80, 59, 17, 34, 68, 35, 70, 39, 78, 55, 9, 18, - 36, 72, 43, 86, 71, 41, 82, 63, 25, 50, 100, 99, 97, - 93, 85, 69, 37, 74, 47, 94, 87, 73, 45, 90, 79, 57, - 13, 26, 52, 3, 6, 12, 24, 48, 96, 91, 81, 61, 21, 42, - 84, 67, 33, 66, 31, 62, 23, 46, 92, 83, 65, 29, 58, - 15, 30, 60, 19, 38, 76, 51] - Type: List PrimeField 101 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePageEmpty16} -\begin{paste}{ugxProblemFinitePrimePageEmpty16}{ugxProblemFinitePrimePagePatch16} -\pastebutton{ugxProblemFinitePrimePageEmpty16}{\showpaste} -\tab{5}\spadcommand{[pe**i for i in 0..99]\free{pe }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePagePatch17} -\begin{paste}{ugxProblemFinitePrimePageFull17}{ugxProblemFinitePrimePageEmpty17} -\pastebutton{ugxProblemFinitePrimePageFull17}{\hidepaste} -\tab{5}\spadcommand{ex := discreteLog(y)\bound{ex }\free{y }} -\indentrel{3}\begin{verbatim} - (16) 56 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePageEmpty17} -\begin{paste}{ugxProblemFinitePrimePageEmpty17}{ugxProblemFinitePrimePagePatch17} -\pastebutton{ugxProblemFinitePrimePageEmpty17}{\showpaste} -\tab{5}\spadcommand{ex := discreteLog(y)\bound{ex }\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePagePatch18} -\begin{paste}{ugxProblemFinitePrimePageFull18}{ugxProblemFinitePrimePageEmpty18} -\pastebutton{ugxProblemFinitePrimePageFull18}{\hidepaste} -\tab{5}\spadcommand{pe ** ex\free{ex pe }} -\indentrel{3}\begin{verbatim} - (17) 37 - Type: PrimeField 101 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePageEmpty18} -\begin{paste}{ugxProblemFinitePrimePageEmpty18}{ugxProblemFinitePrimePagePatch18} -\pastebutton{ugxProblemFinitePrimePageEmpty18}{\showpaste} -\tab{5}\spadcommand{pe ** ex\free{ex pe }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePagePatch19} -\begin{paste}{ugxProblemFinitePrimePageFull19}{ugxProblemFinitePrimePageEmpty19} -\pastebutton{ugxProblemFinitePrimePageFull19}{\hidepaste} -\tab{5}\spadcommand{order y\free{y }} -\indentrel{3}\begin{verbatim} - (18) 25 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePageEmpty19} -\begin{paste}{ugxProblemFinitePrimePageEmpty19}{ugxProblemFinitePrimePagePatch19} -\pastebutton{ugxProblemFinitePrimePageEmpty19}{\showpaste} -\tab{5}\spadcommand{order y\free{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePagePatch20} -\begin{paste}{ugxProblemFinitePrimePageFull20}{ugxProblemFinitePrimePageEmpty20} -\pastebutton{ugxProblemFinitePrimePageFull20}{\hidepaste} -\tab{5}\spadcommand{order pe\free{pe }} -\indentrel{3}\begin{verbatim} - (19) 100 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFinitePrimePageEmpty20} -\begin{paste}{ugxProblemFinitePrimePageEmpty20}{ugxProblemFinitePrimePagePatch20} -\pastebutton{ugxProblemFinitePrimePageEmpty20}{\showpaste} -\tab{5}\spadcommand{order pe\free{pe }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteCyclicPagePatch1} -\begin{paste}{ugxProblemFiniteCyclicPageFull1}{ugxProblemFiniteCyclicPageEmpty1} -\pastebutton{ugxProblemFiniteCyclicPageFull1}{\hidepaste} -\tab{5}\spadcommand{GF81 := FFCG(3,4);\bound{GF81 }} -\indentrel{3}\begin{verbatim} - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteCyclicPageEmpty1} -\begin{paste}{ugxProblemFiniteCyclicPageEmpty1}{ugxProblemFiniteCyclicPagePatch1} -\pastebutton{ugxProblemFiniteCyclicPageEmpty1}{\showpaste} -\tab{5}\spadcommand{GF81 := FFCG(3,4);\bound{GF81 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteCyclicPagePatch2} -\begin{paste}{ugxProblemFiniteCyclicPageFull2}{ugxProblemFiniteCyclicPageEmpty2} -\pastebutton{ugxProblemFiniteCyclicPageFull2}{\hidepaste} -\tab{5}\spadcommand{a := primitiveElement()$GF81\bound{a }\free{GF81 }} -\indentrel{3}\begin{verbatim} - 1 - (2) %BF - Type: FiniteFieldCyclicGroup(3,4) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteCyclicPageEmpty2} -\begin{paste}{ugxProblemFiniteCyclicPageEmpty2}{ugxProblemFiniteCyclicPagePatch2} -\pastebutton{ugxProblemFiniteCyclicPageEmpty2}{\showpaste} -\tab{5}\spadcommand{a := primitiveElement()$GF81\bound{a }\free{GF81 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteCyclicPagePatch3} -\begin{paste}{ugxProblemFiniteCyclicPageFull3}{ugxProblemFiniteCyclicPageEmpty3} -\pastebutton{ugxProblemFiniteCyclicPageFull3}{\hidepaste} -\tab{5}\spadcommand{b := a**12 - a**5 + a\bound{b }\free{a }} -\indentrel{3}\begin{verbatim} - 72 - (3) %BF - Type: FiniteFieldCyclicGroup(3,4) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteCyclicPageEmpty3} -\begin{paste}{ugxProblemFiniteCyclicPageEmpty3}{ugxProblemFiniteCyclicPagePatch3} -\pastebutton{ugxProblemFiniteCyclicPageEmpty3}{\showpaste} -\tab{5}\spadcommand{b := a**12 - a**5 + a\bound{b }\free{a }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteCyclicPagePatch4} -\begin{paste}{ugxProblemFiniteCyclicPageFull4}{ugxProblemFiniteCyclicPageEmpty4} -\pastebutton{ugxProblemFiniteCyclicPageFull4}{\hidepaste} -\tab{5}\spadcommand{b\free{b }} -\indentrel{3}\begin{verbatim} - 72 - (4) %BF - Type: FiniteFieldCyclicGroup(3,4) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteCyclicPageEmpty4} -\begin{paste}{ugxProblemFiniteCyclicPageEmpty4}{ugxProblemFiniteCyclicPagePatch4} -\pastebutton{ugxProblemFiniteCyclicPageEmpty4}{\showpaste} -\tab{5}\spadcommand{b\free{b }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteCyclicPagePatch5} -\begin{paste}{ugxProblemFiniteCyclicPageFull5}{ugxProblemFiniteCyclicPageEmpty5} -\pastebutton{ugxProblemFiniteCyclicPageFull5}{\hidepaste} -\tab{5}\spadcommand{discreteLog b\free{b }} -\indentrel{3}\begin{verbatim} - (5) 72 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteCyclicPageEmpty5} -\begin{paste}{ugxProblemFiniteCyclicPageEmpty5}{ugxProblemFiniteCyclicPagePatch5} -\pastebutton{ugxProblemFiniteCyclicPageEmpty5}{\showpaste} -\tab{5}\spadcommand{discreteLog b\free{b }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteCyclicPagePatch6} -\begin{paste}{ugxProblemFiniteCyclicPageFull6}{ugxProblemFiniteCyclicPageEmpty6} -\pastebutton{ugxProblemFiniteCyclicPageFull6}{\hidepaste} -\tab{5}\spadcommand{GF9 := FF(3,2);\bound{GF9 }} -\indentrel{3}\begin{verbatim} - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteCyclicPageEmpty6} -\begin{paste}{ugxProblemFiniteCyclicPageEmpty6}{ugxProblemFiniteCyclicPagePatch6} -\pastebutton{ugxProblemFiniteCyclicPageEmpty6}{\showpaste} -\tab{5}\spadcommand{GF9 := FF(3,2);\bound{GF9 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteCyclicPagePatch7} -\begin{paste}{ugxProblemFiniteCyclicPageFull7}{ugxProblemFiniteCyclicPageEmpty7} -\pastebutton{ugxProblemFiniteCyclicPageFull7}{\hidepaste} -\tab{5}\spadcommand{GF729 := FFCGX(GF9,3);\bound{GF729 }\free{GF9 }} -\indentrel{3}\begin{verbatim} - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteCyclicPageEmpty7} -\begin{paste}{ugxProblemFiniteCyclicPageEmpty7}{ugxProblemFiniteCyclicPagePatch7} -\pastebutton{ugxProblemFiniteCyclicPageEmpty7}{\showpaste} -\tab{5}\spadcommand{GF729 := FFCGX(GF9,3);\bound{GF729 }\free{GF9 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteCyclicPagePatch8} -\begin{paste}{ugxProblemFiniteCyclicPageFull8}{ugxProblemFiniteCyclicPageEmpty8} -\pastebutton{ugxProblemFiniteCyclicPageFull8}{\hidepaste} -\tab{5}\spadcommand{r := (random()$GF729) ** 20\free{GF729 }\bound{r }} -\indentrel{3}\begin{verbatim} - 68 - (8) %CN -Type: FiniteFieldCyclicGroupExtension(FiniteField(3,2),3) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteCyclicPageEmpty8} -\begin{paste}{ugxProblemFiniteCyclicPageEmpty8}{ugxProblemFiniteCyclicPagePatch8} -\pastebutton{ugxProblemFiniteCyclicPageEmpty8}{\showpaste} -\tab{5}\spadcommand{r := (random()$GF729) ** 20\free{GF729 }\bound{r }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteCyclicPagePatch9} -\begin{paste}{ugxProblemFiniteCyclicPageFull9}{ugxProblemFiniteCyclicPageEmpty9} -\pastebutton{ugxProblemFiniteCyclicPageFull9}{\hidepaste} -\tab{5}\spadcommand{trace(r)\free{r }} -\indentrel{3}\begin{verbatim} - (9) 2 - Type: FiniteField(3,2) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteCyclicPageEmpty9} -\begin{paste}{ugxProblemFiniteCyclicPageEmpty9}{ugxProblemFiniteCyclicPagePatch9} -\pastebutton{ugxProblemFiniteCyclicPageEmpty9}{\showpaste} -\tab{5}\spadcommand{trace(r)\free{r }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteCyclicPagePatch10} -\begin{paste}{ugxProblemFiniteCyclicPageFull10}{ugxProblemFiniteCyclicPageEmpty10} -\pastebutton{ugxProblemFiniteCyclicPageFull10}{\hidepaste} -\tab{5}\spadcommand{GF3 := PrimeField 3;\bound{GF3 }} -\indentrel{3}\begin{verbatim} - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteCyclicPageEmpty10} -\begin{paste}{ugxProblemFiniteCyclicPageEmpty10}{ugxProblemFiniteCyclicPagePatch10} -\pastebutton{ugxProblemFiniteCyclicPageEmpty10}{\showpaste} -\tab{5}\spadcommand{GF3 := PrimeField 3;\bound{GF3 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteCyclicPagePatch11} -\begin{paste}{ugxProblemFiniteCyclicPageFull11}{ugxProblemFiniteCyclicPageEmpty11} -\pastebutton{ugxProblemFiniteCyclicPageFull11}{\hidepaste} -\tab{5}\spadcommand{f := createPrimitivePoly(4)$FFPOLY(GF3)\bound{f }\free{GF3 }} -\indentrel{3}\begin{verbatim} - 4 - (11) ? + ? + 2 - Type: SparseUnivariatePolynomial PrimeField 3 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteCyclicPageEmpty11} -\begin{paste}{ugxProblemFiniteCyclicPageEmpty11}{ugxProblemFiniteCyclicPagePatch11} -\pastebutton{ugxProblemFiniteCyclicPageEmpty11}{\showpaste} -\tab{5}\spadcommand{f := createPrimitivePoly(4)$FFPOLY(GF3)\bound{f }\free{GF3 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteCyclicPagePatch12} -\begin{paste}{ugxProblemFiniteCyclicPageFull12}{ugxProblemFiniteCyclicPageEmpty12} -\pastebutton{ugxProblemFiniteCyclicPageFull12}{\hidepaste} -\tab{5}\spadcommand{GF81 := FFCGP(GF3,f);\bound{GF81x }\free{f GF3 }} -\indentrel{3}\begin{verbatim} - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteCyclicPageEmpty12} -\begin{paste}{ugxProblemFiniteCyclicPageEmpty12}{ugxProblemFiniteCyclicPagePatch12} -\pastebutton{ugxProblemFiniteCyclicPageEmpty12}{\showpaste} -\tab{5}\spadcommand{GF81 := FFCGP(GF3,f);\bound{GF81x }\free{f GF3 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteCyclicPagePatch13} -\begin{paste}{ugxProblemFiniteCyclicPageFull13}{ugxProblemFiniteCyclicPageEmpty13} -\pastebutton{ugxProblemFiniteCyclicPageFull13}{\hidepaste} -\tab{5}\spadcommand{random()$GF81\free{GF81x }} -\indentrel{3}\begin{verbatim} - 8 - (13) %BF -Type: FiniteFieldCyclicGroupExtensionByPolynomial(PrimeField 3,?**4+?+2) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteCyclicPageEmpty13} -\begin{paste}{ugxProblemFiniteCyclicPageEmpty13}{ugxProblemFiniteCyclicPagePatch13} -\pastebutton{ugxProblemFiniteCyclicPageEmpty13}{\showpaste} -\tab{5}\spadcommand{random()$GF81\free{GF81x }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesCreatePagePatch1} -\begin{paste}{ugxProblemSeriesCreatePageFull1}{ugxProblemSeriesCreatePageEmpty1} -\pastebutton{ugxProblemSeriesCreatePageFull1}{\hidepaste} -\tab{5}\spadcommand{x := series 'x\bound{x }} -\indentrel{3}\begin{verbatim} - (1) x - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesCreatePageEmpty1} -\begin{paste}{ugxProblemSeriesCreatePageEmpty1}{ugxProblemSeriesCreatePagePatch1} -\pastebutton{ugxProblemSeriesCreatePageEmpty1}{\showpaste} -\tab{5}\spadcommand{x := series 'x\bound{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesCreatePagePatch2} -\begin{paste}{ugxProblemSeriesCreatePageFull2}{ugxProblemSeriesCreatePageEmpty2} -\pastebutton{ugxProblemSeriesCreatePageFull2}{\hidepaste} -\tab{5}\spadcommand{1/(1 - x - x**2)\free{x }} -\indentrel{3}\begin{verbatim} - (2) - 2 3 4 5 6 7 8 - 1 + x + 2x + 3x + 5x + 8x + 13x + 21x + 34x - + - 9 10 11 - 55x + 89x + O(x ) - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesCreatePageEmpty2} -\begin{paste}{ugxProblemSeriesCreatePageEmpty2}{ugxProblemSeriesCreatePagePatch2} -\pastebutton{ugxProblemSeriesCreatePageEmpty2}{\showpaste} -\tab{5}\spadcommand{1/(1 - x - x**2)\free{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesCreatePagePatch3} -\begin{paste}{ugxProblemSeriesCreatePageFull3}{ugxProblemSeriesCreatePageEmpty3} -\pastebutton{ugxProblemSeriesCreatePageFull3}{\hidepaste} -\tab{5}\spadcommand{sin(x)\free{x }} -\indentrel{3}\begin{verbatim} - (3) - 1 3 1 5 1 7 1 9 - x - Ä x + ÄÄÄ x - ÄÄÄÄ x + ÄÄÄÄÄÄ x - 6 120 5040 362880 - + - 1 11 12 - - ÄÄÄÄÄÄÄÄ x + O(x ) - 39916800 - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesCreatePageEmpty3} -\begin{paste}{ugxProblemSeriesCreatePageEmpty3}{ugxProblemSeriesCreatePagePatch3} -\pastebutton{ugxProblemSeriesCreatePageEmpty3}{\showpaste} -\tab{5}\spadcommand{sin(x)\free{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesCreatePagePatch4} -\begin{paste}{ugxProblemSeriesCreatePageFull4}{ugxProblemSeriesCreatePageEmpty4} -\pastebutton{ugxProblemSeriesCreatePageFull4}{\hidepaste} -\tab{5}\spadcommand{sin(1 + x)\free{x }} -\indentrel{3}\begin{verbatim} - (4) - sin(1) 2 cos(1) 3 sin(1) 4 - sin(1) + cos(1)x - ÄÄÄÄÄÄ x - ÄÄÄÄÄÄ x + ÄÄÄÄÄÄ x - 2 6 24 - + - cos(1) 5 sin(1) 6 cos(1) 7 sin(1) 8 - ÄÄÄÄÄÄ x - ÄÄÄÄÄÄ x - ÄÄÄÄÄÄ x + ÄÄÄÄÄÄ x - 120 720 5040 40320 - + - cos(1) 9 sin(1) 10 11 - ÄÄÄÄÄÄ x - ÄÄÄÄÄÄÄ x + O(x ) - 362880 3628800 - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesCreatePageEmpty4} -\begin{paste}{ugxProblemSeriesCreatePageEmpty4}{ugxProblemSeriesCreatePagePatch4} -\pastebutton{ugxProblemSeriesCreatePageEmpty4}{\showpaste} -\tab{5}\spadcommand{sin(1 + x)\free{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesCreatePagePatch5} -\begin{paste}{ugxProblemSeriesCreatePageFull5}{ugxProblemSeriesCreatePageEmpty5} -\pastebutton{ugxProblemSeriesCreatePageFull5}{\hidepaste} -\tab{5}\spadcommand{sin(a * x)\free{x }} -\indentrel{3}\begin{verbatim} - (5) - 3 5 7 9 - a 3 a 5 a 7 a 9 - a x - ÄÄ x + ÄÄÄ x - ÄÄÄÄ x + ÄÄÄÄÄÄ x - 6 120 5040 362880 - + - 11 - a 11 12 - - ÄÄÄÄÄÄÄÄ x + O(x ) - 39916800 - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesCreatePageEmpty5} -\begin{paste}{ugxProblemSeriesCreatePageEmpty5}{ugxProblemSeriesCreatePagePatch5} -\pastebutton{ugxProblemSeriesCreatePageEmpty5}{\showpaste} -\tab{5}\spadcommand{sin(a * x)\free{x }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesCreatePagePatch6} -\begin{paste}{ugxProblemSeriesCreatePageFull6}{ugxProblemSeriesCreatePageEmpty6} -\pastebutton{ugxProblemSeriesCreatePageFull6}{\hidepaste} -\tab{5}\spadcommand{series(1/log(y),y = 1)} -\indentrel{3}\begin{verbatim} - (6) - - 1 1 1 1 2 - (y - 1) + Ä - ÄÄ (y - 1) + ÄÄ (y - 1) - 2 12 24 - + - 19 3 3 4 863 5 - - ÄÄÄ (y - 1) + ÄÄÄ (y - 1) - ÄÄÄÄÄ (y - 1) - 720 160 60480 - + - 275 6 33953 7 8183 8 - ÄÄÄÄÄ (y - 1) - ÄÄÄÄÄÄÄ (y - 1) + ÄÄÄÄÄÄÄ (y - 1) - 24192 3628800 1036800 - + - 3250433 9 10 - - ÄÄÄÄÄÄÄÄÄ (y - 1) + O((y - 1) ) - 479001600 - Type: UnivariatePuiseuxSeries(Expression Integer,y,1) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesCreatePageEmpty6} -\begin{paste}{ugxProblemSeriesCreatePageEmpty6}{ugxProblemSeriesCreatePagePatch6} -\pastebutton{ugxProblemSeriesCreatePageEmpty6}{\showpaste} -\tab{5}\spadcommand{series(1/log(y),y = 1)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesCreatePagePatch7} -\begin{paste}{ugxProblemSeriesCreatePageFull7}{ugxProblemSeriesCreatePageEmpty7} -\pastebutton{ugxProblemSeriesCreatePageFull7}{\hidepaste} -\tab{5}\spadcommand{y : UTS(FLOAT,'z,0) := exp(z)\bound{y }} -\indentrel{3}\begin{verbatim} - (7) - 2 3 - 1.0 + z + 0.5 z + 0.1666666666 6666666667 z - + - 4 - 0.0416666666 6666666666 7 z - + - 5 - 0.0083333333 3333333333 34 z - + - 6 - 0.0013888888 8888888888 89 z - + - 7 - 0.0001984126 9841269841 27 z - + - 8 - 0.0000248015 8730158730 1587 z - + - 9 - 0.0000027557 3192239858 90653 z - + - 10 11 - 0.2755731922 3985890653 E -6 z + O(z ) - Type: UnivariateTaylorSeries(Float,z,0.0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesCreatePageEmpty7} -\begin{paste}{ugxProblemSeriesCreatePageEmpty7}{ugxProblemSeriesCreatePagePatch7} -\pastebutton{ugxProblemSeriesCreatePageEmpty7}{\showpaste} -\tab{5}\spadcommand{y : UTS(FLOAT,'z,0) := exp(z)\bound{y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesCreatePagePatch8} -\begin{paste}{ugxProblemSeriesCreatePageFull8}{ugxProblemSeriesCreatePageEmpty8} -\pastebutton{ugxProblemSeriesCreatePageFull8}{\hidepaste} -\tab{5}\spadcommand{series(1/factorial(n),n,w = 0)} -\indentrel{3}\begin{verbatim} - (8) - 1 2 1 3 1 4 1 5 1 6 - 1 + w + Ä w + Ä w + ÄÄ w + ÄÄÄ w + ÄÄÄ w - 2 6 24 120 720 - + - 1 7 1 8 1 9 1 10 11 - ÄÄÄÄ w + ÄÄÄÄÄ w + ÄÄÄÄÄÄ w + ÄÄÄÄÄÄÄ w + O(w ) - 5040 40320 362880 3628800 - Type: UnivariatePuiseuxSeries(Expression Integer,w,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesCreatePageEmpty8} -\begin{paste}{ugxProblemSeriesCreatePageEmpty8}{ugxProblemSeriesCreatePagePatch8} -\pastebutton{ugxProblemSeriesCreatePageEmpty8}{\showpaste} -\tab{5}\spadcommand{series(1/factorial(n),n,w = 0)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteNormalPagePatch1} -\begin{paste}{ugxProblemFiniteNormalPageFull1}{ugxProblemFiniteNormalPageEmpty1} -\pastebutton{ugxProblemFiniteNormalPageFull1}{\hidepaste} -\tab{5}\spadcommand{K := FFNB(3,8)\bound{K }} -\indentrel{3}\begin{verbatim} - (1) FiniteFieldNormalBasis(3,8) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteNormalPageEmpty1} -\begin{paste}{ugxProblemFiniteNormalPageEmpty1}{ugxProblemFiniteNormalPagePatch1} -\pastebutton{ugxProblemFiniteNormalPageEmpty1}{\showpaste} -\tab{5}\spadcommand{K := FFNB(3,8)\bound{K }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteNormalPagePatch2} -\begin{paste}{ugxProblemFiniteNormalPageFull2}{ugxProblemFiniteNormalPageEmpty2} -\pastebutton{ugxProblemFiniteNormalPageFull2}{\hidepaste} -\tab{5}\spadcommand{a := normalElement()$K\bound{a }\free{K }} -\indentrel{3}\begin{verbatim} - (2) %CO - Type: FiniteFieldNormalBasis(3,8) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteNormalPageEmpty2} -\begin{paste}{ugxProblemFiniteNormalPageEmpty2}{ugxProblemFiniteNormalPagePatch2} -\pastebutton{ugxProblemFiniteNormalPageEmpty2}{\showpaste} -\tab{5}\spadcommand{a := normalElement()$K\bound{a }\free{K }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteNormalPagePatch3} -\begin{paste}{ugxProblemFiniteNormalPageFull3}{ugxProblemFiniteNormalPageEmpty3} -\pastebutton{ugxProblemFiniteNormalPageFull3}{\hidepaste} -\tab{5}\spadcommand{b := a**12 - a**5 + a\bound{b }\free{a }} -\indentrel{3}\begin{verbatim} - 7 5 - q q q - (3) 2%CO + %CO + %CO - Type: FiniteFieldNormalBasis(3,8) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteNormalPageEmpty3} -\begin{paste}{ugxProblemFiniteNormalPageEmpty3}{ugxProblemFiniteNormalPagePatch3} -\pastebutton{ugxProblemFiniteNormalPageEmpty3}{\showpaste} -\tab{5}\spadcommand{b := a**12 - a**5 + a\bound{b }\free{a }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteNormalPagePatch4} -\begin{paste}{ugxProblemFiniteNormalPageFull4}{ugxProblemFiniteNormalPageEmpty4} -\pastebutton{ugxProblemFiniteNormalPageFull4}{\hidepaste} -\tab{5}\spadcommand{GF9 := FFNB(3,2);\bound{GF9 }} -\indentrel{3}\begin{verbatim} - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteNormalPageEmpty4} -\begin{paste}{ugxProblemFiniteNormalPageEmpty4}{ugxProblemFiniteNormalPagePatch4} -\pastebutton{ugxProblemFiniteNormalPageEmpty4}{\showpaste} -\tab{5}\spadcommand{GF9 := FFNB(3,2);\bound{GF9 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteNormalPagePatch5} -\begin{paste}{ugxProblemFiniteNormalPageFull5}{ugxProblemFiniteNormalPageEmpty5} -\pastebutton{ugxProblemFiniteNormalPageFull5}{\hidepaste} -\tab{5}\spadcommand{GF729 := FFNBX(GF9,3);\bound{GF729 }\free{GF9 }} -\indentrel{3}\begin{verbatim} - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteNormalPageEmpty5} -\begin{paste}{ugxProblemFiniteNormalPageEmpty5}{ugxProblemFiniteNormalPagePatch5} -\pastebutton{ugxProblemFiniteNormalPageEmpty5}{\showpaste} -\tab{5}\spadcommand{GF729 := FFNBX(GF9,3);\bound{GF729 }\free{GF9 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteNormalPagePatch6} -\begin{paste}{ugxProblemFiniteNormalPageFull6}{ugxProblemFiniteNormalPageEmpty6} -\pastebutton{ugxProblemFiniteNormalPageFull6}{\hidepaste} -\tab{5}\spadcommand{r := random()$GF729\bound{r }\free{GF729 }} -\indentrel{3}\begin{verbatim} - 2 - q q - (6) 2%CP %CQ -Type: FiniteFieldNormalBasisExtension(FiniteFieldNormalBasis(3,2),3) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteNormalPageEmpty6} -\begin{paste}{ugxProblemFiniteNormalPageEmpty6}{ugxProblemFiniteNormalPagePatch6} -\pastebutton{ugxProblemFiniteNormalPageEmpty6}{\showpaste} -\tab{5}\spadcommand{r := random()$GF729\bound{r }\free{GF729 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteNormalPagePatch7} -\begin{paste}{ugxProblemFiniteNormalPageFull7}{ugxProblemFiniteNormalPageEmpty7} -\pastebutton{ugxProblemFiniteNormalPageFull7}{\hidepaste} -\tab{5}\spadcommand{r + r**3 + r**9 + r**27\free{r }} -\indentrel{3}\begin{verbatim} - 2 - q q q q - (7) (2%CP + 2%CP)%CQ + 2%CP %CQ + 2%CP %CQ -Type: FiniteFieldNormalBasisExtension(FiniteFieldNormalBasis(3,2),3) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteNormalPageEmpty7} -\begin{paste}{ugxProblemFiniteNormalPageEmpty7}{ugxProblemFiniteNormalPagePatch7} -\pastebutton{ugxProblemFiniteNormalPageEmpty7}{\showpaste} -\tab{5}\spadcommand{r + r**3 + r**9 + r**27\free{r }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteNormalPagePatch8} -\begin{paste}{ugxProblemFiniteNormalPageFull8}{ugxProblemFiniteNormalPageEmpty8} -\pastebutton{ugxProblemFiniteNormalPageFull8}{\hidepaste} -\tab{5}\spadcommand{GF3 := PrimeField 3;\bound{GF3 }} -\indentrel{3}\begin{verbatim} - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteNormalPageEmpty8} -\begin{paste}{ugxProblemFiniteNormalPageEmpty8}{ugxProblemFiniteNormalPagePatch8} -\pastebutton{ugxProblemFiniteNormalPageEmpty8}{\showpaste} -\tab{5}\spadcommand{GF3 := PrimeField 3;\bound{GF3 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteNormalPagePatch9} -\begin{paste}{ugxProblemFiniteNormalPageFull9}{ugxProblemFiniteNormalPageEmpty9} -\pastebutton{ugxProblemFiniteNormalPageFull9}{\hidepaste} -\tab{5}\spadcommand{f := createNormalPoly(4)$FFPOLY(GF3)\free{GF3 }\bound{f }} -\indentrel{3}\begin{verbatim} - 4 3 - (9) ? + 2? + 2 - Type: SparseUnivariatePolynomial PrimeField 3 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteNormalPageEmpty9} -\begin{paste}{ugxProblemFiniteNormalPageEmpty9}{ugxProblemFiniteNormalPagePatch9} -\pastebutton{ugxProblemFiniteNormalPageEmpty9}{\showpaste} -\tab{5}\spadcommand{f := createNormalPoly(4)$FFPOLY(GF3)\free{GF3 }\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteNormalPagePatch10} -\begin{paste}{ugxProblemFiniteNormalPageFull10}{ugxProblemFiniteNormalPageEmpty10} -\pastebutton{ugxProblemFiniteNormalPageFull10}{\hidepaste} -\tab{5}\spadcommand{GF81 := FFNBP(GF3,f);\bound{GF81 }\free{f GF3 }} -\indentrel{3}\begin{verbatim} - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteNormalPageEmpty10} -\begin{paste}{ugxProblemFiniteNormalPageEmpty10}{ugxProblemFiniteNormalPagePatch10} -\pastebutton{ugxProblemFiniteNormalPageEmpty10}{\showpaste} -\tab{5}\spadcommand{GF81 := FFNBP(GF3,f);\bound{GF81 }\free{f GF3 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteNormalPagePatch11} -\begin{paste}{ugxProblemFiniteNormalPageFull11}{ugxProblemFiniteNormalPageEmpty11} -\pastebutton{ugxProblemFiniteNormalPageFull11}{\hidepaste} -\tab{5}\spadcommand{r := random()$GF81\free{GF81 }\bound{r1 }} -\indentrel{3}\begin{verbatim} - 3 2 - q q q - (11) %CR + %CR + %CR -Type: FiniteFieldNormalBasisExtensionByPolynomial(PrimeField 3,?**4+2*?**3+2) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteNormalPageEmpty11} -\begin{paste}{ugxProblemFiniteNormalPageEmpty11}{ugxProblemFiniteNormalPagePatch11} -\pastebutton{ugxProblemFiniteNormalPageEmpty11}{\showpaste} -\tab{5}\spadcommand{r := random()$GF81\free{GF81 }\bound{r1 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteNormalPagePatch12} -\begin{paste}{ugxProblemFiniteNormalPageFull12}{ugxProblemFiniteNormalPageEmpty12} -\pastebutton{ugxProblemFiniteNormalPageFull12}{\hidepaste} -\tab{5}\spadcommand{r * r**3 * r**9 * r**27\free{r1 }} -\indentrel{3}\begin{verbatim} - 3 2 - q q q - (12) 2%CR + 2%CR + 2%CR + 2%CR -Type: FiniteFieldNormalBasisExtensionByPolynomial(PrimeField 3,?**4+2*?**3+2) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteNormalPageEmpty12} -\begin{paste}{ugxProblemFiniteNormalPageEmpty12}{ugxProblemFiniteNormalPagePatch12} -\pastebutton{ugxProblemFiniteNormalPageEmpty12}{\showpaste} -\tab{5}\spadcommand{r * r**3 * r**9 * r**27\free{r1 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteNormalPagePatch13} -\begin{paste}{ugxProblemFiniteNormalPageFull13}{ugxProblemFiniteNormalPageEmpty13} -\pastebutton{ugxProblemFiniteNormalPageFull13}{\hidepaste} -\tab{5}\spadcommand{norm r\free{r1 }} -\indentrel{3}\begin{verbatim} - (13) 2 - Type: PrimeField 3 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteNormalPageEmpty13} -\begin{paste}{ugxProblemFiniteNormalPageEmpty13}{ugxProblemFiniteNormalPagePatch13} -\pastebutton{ugxProblemFiniteNormalPageEmpty13}{\showpaste} -\tab{5}\spadcommand{norm r\free{r1 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFormulaPagePatch1} -\begin{paste}{ugxProblemSeriesFormulaPageFull1}{ugxProblemSeriesFormulaPageEmpty1} -\pastebutton{ugxProblemSeriesFormulaPageFull1}{\hidepaste} -\tab{5}\spadcommand{series(n +-> 1/factorial(n),x = 0)} -\indentrel{3}\begin{verbatim} - (1) - 1 2 1 3 1 4 1 5 1 6 - 1 + x + Ä x + Ä x + ÄÄ x + ÄÄÄ x + ÄÄÄ x - 2 6 24 120 720 - + - 1 7 1 8 1 9 1 10 11 - ÄÄÄÄ x + ÄÄÄÄÄ x + ÄÄÄÄÄÄ x + ÄÄÄÄÄÄÄ x + O(x ) - 5040 40320 362880 3628800 - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFormulaPageEmpty1} -\begin{paste}{ugxProblemSeriesFormulaPageEmpty1}{ugxProblemSeriesFormulaPagePatch1} -\pastebutton{ugxProblemSeriesFormulaPageEmpty1}{\showpaste} -\tab{5}\spadcommand{series(n +-> 1/factorial(n),x = 0)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFormulaPagePatch2} -\begin{paste}{ugxProblemSeriesFormulaPageFull2}{ugxProblemSeriesFormulaPageEmpty2} -\pastebutton{ugxProblemSeriesFormulaPageFull2}{\hidepaste} -\tab{5}\spadcommand{series(n +-> (-1)**(n-1)/n,x = 1,1..)} -\indentrel{3}\begin{verbatim} - (2) - 1 2 1 3 1 4 - (x - 1) - Ä (x - 1) + Ä (x - 1) - Ä (x - 1) - 2 3 4 - + - 1 5 1 6 1 7 1 8 - Ä (x - 1) - Ä (x - 1) + Ä (x - 1) - Ä (x - 1) - 5 6 7 8 - + - 1 9 1 10 1 11 12 - Ä (x - 1) - ÄÄ (x - 1) + ÄÄ (x - 1) + O((x - 1) ) - 9 10 11 - Type: UnivariatePuiseuxSeries(Expression Integer,x,1) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFormulaPageEmpty2} -\begin{paste}{ugxProblemSeriesFormulaPageEmpty2}{ugxProblemSeriesFormulaPagePatch2} -\pastebutton{ugxProblemSeriesFormulaPageEmpty2}{\showpaste} -\tab{5}\spadcommand{series(n +-> (-1)**(n-1)/n,x = 1,1..)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFormulaPagePatch3} -\begin{paste}{ugxProblemSeriesFormulaPageFull3}{ugxProblemSeriesFormulaPageEmpty3} -\pastebutton{ugxProblemSeriesFormulaPageFull3}{\hidepaste} -\tab{5}\spadcommand{series(n +-> (-1)**((n-1)/2)/factorial(n),x = 0,1..,2)} -\indentrel{3}\begin{verbatim} - (3) - 1 3 1 5 1 7 1 9 - x - Ä x + ÄÄÄ x - ÄÄÄÄ x + ÄÄÄÄÄÄ x - 6 120 5040 362880 - + - 1 11 12 - - ÄÄÄÄÄÄÄÄ x + O(x ) - 39916800 - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFormulaPageEmpty3} -\begin{paste}{ugxProblemSeriesFormulaPageEmpty3}{ugxProblemSeriesFormulaPagePatch3} -\pastebutton{ugxProblemSeriesFormulaPageEmpty3}{\showpaste} -\tab{5}\spadcommand{series(n +-> (-1)**((n-1)/2)/factorial(n),x = 0,1..,2)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFormulaPagePatch4} -\begin{paste}{ugxProblemSeriesFormulaPageFull4}{ugxProblemSeriesFormulaPageEmpty4} -\pastebutton{ugxProblemSeriesFormulaPageFull4}{\hidepaste} -\tab{5}\spadcommand{series(n +-> (-1)**((3*n-1)/2)/factorial(3*n),x = 0,1/3..,2/3)} -\indentrel{3}\begin{verbatim} - (4) - 1 5 7 - Ä Ä Ä - 3 1 1 3 1 3 1 3 - x - Ä x + ÄÄÄ x - ÄÄÄÄ x + ÄÄÄÄÄÄ x - 6 120 5040 362880 - + - 11 - ÄÄ - 1 3 4 - - ÄÄÄÄÄÄÄÄ x + O(x ) - 39916800 - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFormulaPageEmpty4} -\begin{paste}{ugxProblemSeriesFormulaPageEmpty4}{ugxProblemSeriesFormulaPagePatch4} -\pastebutton{ugxProblemSeriesFormulaPageEmpty4}{\showpaste} -\tab{5}\spadcommand{series(n +-> (-1)**((3*n-1)/2)/factorial(3*n),x = 0,1/3..,2/3)} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFormulaPagePatch5} -\begin{paste}{ugxProblemSeriesFormulaPageFull5}{ugxProblemSeriesFormulaPageEmpty5} -\pastebutton{ugxProblemSeriesFormulaPageFull5}{\hidepaste} -\tab{5}\spadcommand{cscx := series(n +-> (-1)**((n-1)/2) * 2 * (2**n-1) * bernoulli(numer(n+1)) / factorial(n+1), x=0, -1..,2)\bound{cscx }} -\indentrel{3}\begin{verbatim} - (5) - - 1 1 7 3 31 5 127 7 - x + Ä x + ÄÄÄ x + ÄÄÄÄÄ x + ÄÄÄÄÄÄ x - 6 360 15120 604800 - + - 73 9 10 - ÄÄÄÄÄÄÄ x + O(x ) - 3421440 - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFormulaPageEmpty5} -\begin{paste}{ugxProblemSeriesFormulaPageEmpty5}{ugxProblemSeriesFormulaPagePatch5} -\pastebutton{ugxProblemSeriesFormulaPageEmpty5}{\showpaste} -\tab{5}\spadcommand{cscx := series(n +-> (-1)**((n-1)/2) * 2 * (2**n-1) * bernoulli(numer(n+1)) / factorial(n+1), x=0, -1..,2)\bound{cscx }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFormulaPagePatch6} -\begin{paste}{ugxProblemSeriesFormulaPageFull6}{ugxProblemSeriesFormulaPageEmpty6} -\pastebutton{ugxProblemSeriesFormulaPageFull6}{\hidepaste} -\tab{5}\spadcommand{1/cscx\free{cscx }} -\indentrel{3}\begin{verbatim} - (6) - 1 3 1 5 1 7 1 9 - x - Ä x + ÄÄÄ x - ÄÄÄÄ x + ÄÄÄÄÄÄ x - 6 120 5040 362880 - + - 1 11 12 - - ÄÄÄÄÄÄÄÄ x + O(x ) - 39916800 - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFormulaPageEmpty6} -\begin{paste}{ugxProblemSeriesFormulaPageEmpty6}{ugxProblemSeriesFormulaPagePatch6} -\pastebutton{ugxProblemSeriesFormulaPageEmpty6}{\showpaste} -\tab{5}\spadcommand{1/cscx\free{cscx }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFormulaPagePatch7} -\begin{paste}{ugxProblemSeriesFormulaPageFull7}{ugxProblemSeriesFormulaPageEmpty7} -\pastebutton{ugxProblemSeriesFormulaPageFull7}{\hidepaste} -\tab{5}\spadcommand{asinx := series(n +-> binomial(n-1,(n-1)/2)/(n*2**(n-1)),x=0,1..,2)\bound{asinx }} -\indentrel{3}\begin{verbatim} - (7) - 1 3 3 5 5 7 35 9 63 11 12 - x + Ä x + ÄÄ x + ÄÄÄ x + ÄÄÄÄ x + ÄÄÄÄ x + O(x ) - 6 40 112 1152 2816 - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFormulaPageEmpty7} -\begin{paste}{ugxProblemSeriesFormulaPageEmpty7}{ugxProblemSeriesFormulaPagePatch7} -\pastebutton{ugxProblemSeriesFormulaPageEmpty7}{\showpaste} -\tab{5}\spadcommand{asinx := series(n +-> binomial(n-1,(n-1)/2)/(n*2**(n-1)),x=0,1..,2)\bound{asinx }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFormulaPagePatch8} -\begin{paste}{ugxProblemSeriesFormulaPageFull8}{ugxProblemSeriesFormulaPageEmpty8} -\pastebutton{ugxProblemSeriesFormulaPageFull8}{\hidepaste} -\tab{5}\spadcommand{sin(asinx)\free{asinx }} -\indentrel{3}\begin{verbatim} - 12 - (8) x + O(x ) - Type: UnivariatePuiseuxSeries(Expression Integer,x,0) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemSeriesFormulaPageEmpty8} -\begin{paste}{ugxProblemSeriesFormulaPageEmpty8}{ugxProblemSeriesFormulaPagePatch8} -\pastebutton{ugxProblemSeriesFormulaPageEmpty8}{\showpaste} -\tab{5}\spadcommand{sin(asinx)\free{asinx }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPagePatch1} -\begin{paste}{ugxProblemFiniteModulusPageFull1}{ugxProblemFiniteModulusPageEmpty1} -\pastebutton{ugxProblemFiniteModulusPageFull1}{\hidepaste} -\tab{5}\spadcommand{GF4096 := FF(2,12);\bound{GF4096 }} -\indentrel{3}\begin{verbatim} - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPageEmpty1} -\begin{paste}{ugxProblemFiniteModulusPageEmpty1}{ugxProblemFiniteModulusPagePatch1} -\pastebutton{ugxProblemFiniteModulusPageEmpty1}{\showpaste} -\tab{5}\spadcommand{GF4096 := FF(2,12);\bound{GF4096 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPagePatch2} -\begin{paste}{ugxProblemFiniteModulusPageFull2}{ugxProblemFiniteModulusPageEmpty2} -\pastebutton{ugxProblemFiniteModulusPageFull2}{\hidepaste} -\tab{5}\spadcommand{a := index(2)$GF4096\bound{a }\free{GF4096 }} -\indentrel{3}\begin{verbatim} - (2) %CS - Type: FiniteField(2,12) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPageEmpty2} -\begin{paste}{ugxProblemFiniteModulusPageEmpty2}{ugxProblemFiniteModulusPagePatch2} -\pastebutton{ugxProblemFiniteModulusPageEmpty2}{\showpaste} -\tab{5}\spadcommand{a := index(2)$GF4096\bound{a }\free{GF4096 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPagePatch3} -\begin{paste}{ugxProblemFiniteModulusPageFull3}{ugxProblemFiniteModulusPageEmpty3} -\pastebutton{ugxProblemFiniteModulusPageFull3}{\hidepaste} -\tab{5}\spadcommand{b := a**12 - a**5 + a\bound{b }\free{a }} -\indentrel{3}\begin{verbatim} - 5 3 - (3) %CS + %CS + %CS + 1 - Type: FiniteField(2,12) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPageEmpty3} -\begin{paste}{ugxProblemFiniteModulusPageEmpty3}{ugxProblemFiniteModulusPagePatch3} -\pastebutton{ugxProblemFiniteModulusPageEmpty3}{\showpaste} -\tab{5}\spadcommand{b := a**12 - a**5 + a\bound{b }\free{a }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPagePatch4} -\begin{paste}{ugxProblemFiniteModulusPageFull4}{ugxProblemFiniteModulusPageEmpty4} -\pastebutton{ugxProblemFiniteModulusPageFull4}{\hidepaste} -\tab{5}\spadcommand{b ** 1000\free{b }} -\indentrel{3}\begin{verbatim} - 10 9 7 5 4 3 - (4) %CS + %CS + %CS + %CS + %CS + %CS + %CS - Type: FiniteField(2,12) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPageEmpty4} -\begin{paste}{ugxProblemFiniteModulusPageEmpty4}{ugxProblemFiniteModulusPagePatch4} -\pastebutton{ugxProblemFiniteModulusPageEmpty4}{\showpaste} -\tab{5}\spadcommand{b ** 1000\free{b }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPagePatch5} -\begin{paste}{ugxProblemFiniteModulusPageFull5}{ugxProblemFiniteModulusPageEmpty5} -\pastebutton{ugxProblemFiniteModulusPageFull5}{\hidepaste} -\tab{5}\spadcommand{c := a/b\free{a b }\bound{c }} -\indentrel{3}\begin{verbatim} - 11 8 7 5 4 3 2 - (5) %CS + %CS + %CS + %CS + %CS + %CS + %CS - Type: FiniteField(2,12) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPageEmpty5} -\begin{paste}{ugxProblemFiniteModulusPageEmpty5}{ugxProblemFiniteModulusPagePatch5} -\pastebutton{ugxProblemFiniteModulusPageEmpty5}{\showpaste} -\tab{5}\spadcommand{c := a/b\free{a b }\bound{c }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPagePatch6} -\begin{paste}{ugxProblemFiniteModulusPageFull6}{ugxProblemFiniteModulusPageEmpty6} -\pastebutton{ugxProblemFiniteModulusPageFull6}{\hidepaste} -\tab{5}\spadcommand{norm c\free{c }} -\indentrel{3}\begin{verbatim} - (6) 1 - Type: PrimeField 2 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPageEmpty6} -\begin{paste}{ugxProblemFiniteModulusPageEmpty6}{ugxProblemFiniteModulusPagePatch6} -\pastebutton{ugxProblemFiniteModulusPageEmpty6}{\showpaste} -\tab{5}\spadcommand{norm c\free{c }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPagePatch7} -\begin{paste}{ugxProblemFiniteModulusPageFull7}{ugxProblemFiniteModulusPageEmpty7} -\pastebutton{ugxProblemFiniteModulusPageFull7}{\hidepaste} -\tab{5}\spadcommand{trace c\free{c }} -\indentrel{3}\begin{verbatim} - (7) 0 - Type: PrimeField 2 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPageEmpty7} -\begin{paste}{ugxProblemFiniteModulusPageEmpty7}{ugxProblemFiniteModulusPagePatch7} -\pastebutton{ugxProblemFiniteModulusPageEmpty7}{\showpaste} -\tab{5}\spadcommand{trace c\free{c }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPagePatch8} -\begin{paste}{ugxProblemFiniteModulusPageFull8}{ugxProblemFiniteModulusPageEmpty8} -\pastebutton{ugxProblemFiniteModulusPageFull8}{\hidepaste} -\tab{5}\spadcommand{dL := discreteLog a\free{a }\bound{dL }} -\indentrel{3}\begin{verbatim} - (8) 1729 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPageEmpty8} -\begin{paste}{ugxProblemFiniteModulusPageEmpty8}{ugxProblemFiniteModulusPagePatch8} -\pastebutton{ugxProblemFiniteModulusPageEmpty8}{\showpaste} -\tab{5}\spadcommand{dL := discreteLog a\free{a }\bound{dL }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPagePatch9} -\begin{paste}{ugxProblemFiniteModulusPageFull9}{ugxProblemFiniteModulusPageEmpty9} -\pastebutton{ugxProblemFiniteModulusPageFull9}{\hidepaste} -\tab{5}\spadcommand{g ** dL\free{dL g }} -\indentrel{3}\begin{verbatim} - 1729 - (9) g - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPageEmpty9} -\begin{paste}{ugxProblemFiniteModulusPageEmpty9}{ugxProblemFiniteModulusPagePatch9} -\pastebutton{ugxProblemFiniteModulusPageEmpty9}{\showpaste} -\tab{5}\spadcommand{g ** dL\free{dL g }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPagePatch10} -\begin{paste}{ugxProblemFiniteModulusPageFull10}{ugxProblemFiniteModulusPageEmpty10} -\pastebutton{ugxProblemFiniteModulusPageFull10}{\hidepaste} -\tab{5}\spadcommand{GF16 := FF(2,4);\bound{GF16 }} -\indentrel{3}\begin{verbatim} - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPageEmpty10} -\begin{paste}{ugxProblemFiniteModulusPageEmpty10}{ugxProblemFiniteModulusPagePatch10} -\pastebutton{ugxProblemFiniteModulusPageEmpty10}{\showpaste} -\tab{5}\spadcommand{GF16 := FF(2,4);\bound{GF16 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPagePatch11} -\begin{paste}{ugxProblemFiniteModulusPageFull11}{ugxProblemFiniteModulusPageEmpty11} -\pastebutton{ugxProblemFiniteModulusPageFull11}{\hidepaste} -\tab{5}\spadcommand{GF4096 := FFX(GF16,3);\bound{GF4096x }\free{GF16 }} -\indentrel{3}\begin{verbatim} - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPageEmpty11} -\begin{paste}{ugxProblemFiniteModulusPageEmpty11}{ugxProblemFiniteModulusPagePatch11} -\pastebutton{ugxProblemFiniteModulusPageEmpty11}{\showpaste} -\tab{5}\spadcommand{GF4096 := FFX(GF16,3);\bound{GF4096x }\free{GF16 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPagePatch12} -\begin{paste}{ugxProblemFiniteModulusPageFull12}{ugxProblemFiniteModulusPageEmpty12} -\pastebutton{ugxProblemFiniteModulusPageFull12}{\hidepaste} -\tab{5}\spadcommand{r := (random()$GF4096) ** 20\free{GF4096x }\bound{r }} -\indentrel{3}\begin{verbatim} - 3 2 - (12) (%CT + %CT + 1)%CU + %CT %CU - Type: FiniteFieldExtension(FiniteField(2,4),3) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPageEmpty12} -\begin{paste}{ugxProblemFiniteModulusPageEmpty12}{ugxProblemFiniteModulusPagePatch12} -\pastebutton{ugxProblemFiniteModulusPageEmpty12}{\showpaste} -\tab{5}\spadcommand{r := (random()$GF4096) ** 20\free{GF4096x }\bound{r }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPagePatch13} -\begin{paste}{ugxProblemFiniteModulusPageFull13}{ugxProblemFiniteModulusPageEmpty13} -\pastebutton{ugxProblemFiniteModulusPageFull13}{\hidepaste} -\tab{5}\spadcommand{norm(r)\free{r }} -\indentrel{3}\begin{verbatim} - 2 - (13) %CT + %CT - Type: FiniteField(2,4) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPageEmpty13} -\begin{paste}{ugxProblemFiniteModulusPageEmpty13}{ugxProblemFiniteModulusPagePatch13} -\pastebutton{ugxProblemFiniteModulusPageEmpty13}{\showpaste} -\tab{5}\spadcommand{norm(r)\free{r }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPagePatch14} -\begin{paste}{ugxProblemFiniteModulusPageFull14}{ugxProblemFiniteModulusPageEmpty14} -\pastebutton{ugxProblemFiniteModulusPageFull14}{\hidepaste} -\tab{5}\spadcommand{GF4 := FF(2,2);\bound{GF4 }} -\indentrel{3}\begin{verbatim} - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPageEmpty14} -\begin{paste}{ugxProblemFiniteModulusPageEmpty14}{ugxProblemFiniteModulusPagePatch14} -\pastebutton{ugxProblemFiniteModulusPageEmpty14}{\showpaste} -\tab{5}\spadcommand{GF4 := FF(2,2);\bound{GF4 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPagePatch15} -\begin{paste}{ugxProblemFiniteModulusPageFull15}{ugxProblemFiniteModulusPageEmpty15} -\pastebutton{ugxProblemFiniteModulusPageFull15}{\hidepaste} -\tab{5}\spadcommand{f := nextIrreduciblePoly(random(6)$FFPOLY(GF4))$FFPOLY(GF4)\free{GF4 }\bound{f }} -\indentrel{3}\begin{verbatim} - 6 5 4 2 - (15) ? + ? + (%CV + 1)? + (%CV + 1)? + ? + %CV -Type: Union(SparseUnivariatePolynomial FiniteField(2,2),...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPageEmpty15} -\begin{paste}{ugxProblemFiniteModulusPageEmpty15}{ugxProblemFiniteModulusPagePatch15} -\pastebutton{ugxProblemFiniteModulusPageEmpty15}{\showpaste} -\tab{5}\spadcommand{f := nextIrreduciblePoly(random(6)$FFPOLY(GF4))$FFPOLY(GF4)\free{GF4 }\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPagePatch16} -\begin{paste}{ugxProblemFiniteModulusPageFull16}{ugxProblemFiniteModulusPageEmpty16} -\pastebutton{ugxProblemFiniteModulusPageFull16}{\hidepaste} -\tab{5}\spadcommand{GF4096 := FFP(GF4,f);\bound{GF4096y }\free{f GF4 }} -\indentrel{3}\begin{verbatim} - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPageEmpty16} -\begin{paste}{ugxProblemFiniteModulusPageEmpty16}{ugxProblemFiniteModulusPagePatch16} -\pastebutton{ugxProblemFiniteModulusPageEmpty16}{\showpaste} -\tab{5}\spadcommand{GF4096 := FFP(GF4,f);\bound{GF4096y }\free{f GF4 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPagePatch17} -\begin{paste}{ugxProblemFiniteModulusPageFull17}{ugxProblemFiniteModulusPageEmpty17} -\pastebutton{ugxProblemFiniteModulusPageFull17}{\hidepaste} -\tab{5}\spadcommand{discreteLog random()$GF4096\free{GF4096y }} -\indentrel{3}\begin{verbatim} - (17) 3370 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteModulusPageEmpty17} -\begin{paste}{ugxProblemFiniteModulusPageEmpty17}{ugxProblemFiniteModulusPagePatch17} -\pastebutton{ugxProblemFiniteModulusPageEmpty17}{\showpaste} -\tab{5}\spadcommand{discreteLog random()$GF4096\free{GF4096y }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPagePatch1} -\begin{paste}{ugProblemIdealPageFull1}{ugProblemIdealPageEmpty1} -\pastebutton{ugProblemIdealPageFull1}{\hidepaste} -\tab{5}\spadcommand{(n,m) : List DMP([x,y],FRAC INT)\bound{nm }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPageEmpty1} -\begin{paste}{ugProblemIdealPageEmpty1}{ugProblemIdealPagePatch1} -\pastebutton{ugProblemIdealPageEmpty1}{\showpaste} -\tab{5}\spadcommand{(n,m) : List DMP([x,y],FRAC INT)\bound{nm }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPagePatch2} -\begin{paste}{ugProblemIdealPageFull2}{ugProblemIdealPageEmpty2} -\pastebutton{ugProblemIdealPageFull2}{\hidepaste} -\tab{5}\spadcommand{m := [x**2+y**2-1]\free{nm }\bound{m }} -\indentrel{3}\begin{verbatim} - 2 2 - (2) [x + y - 1] -Type: List DistributedMultivariatePolynomial([x,y],Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPageEmpty2} -\begin{paste}{ugProblemIdealPageEmpty2}{ugProblemIdealPagePatch2} -\pastebutton{ugProblemIdealPageEmpty2}{\showpaste} -\tab{5}\spadcommand{m := [x**2+y**2-1]\free{nm }\bound{m }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPagePatch3} -\begin{paste}{ugProblemIdealPageFull3}{ugProblemIdealPageEmpty3} -\pastebutton{ugProblemIdealPageFull3}{\hidepaste} -\tab{5}\spadcommand{n := [x**2-y**2]\free{nm }\bound{n }} -\indentrel{3}\begin{verbatim} - 2 2 - (3) [x - y ] -Type: List DistributedMultivariatePolynomial([x,y],Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPageEmpty3} -\begin{paste}{ugProblemIdealPageEmpty3}{ugProblemIdealPagePatch3} -\pastebutton{ugProblemIdealPageEmpty3}{\showpaste} -\tab{5}\spadcommand{n := [x**2-y**2]\free{nm }\bound{n }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPagePatch4} -\begin{paste}{ugProblemIdealPageFull4}{ugProblemIdealPageEmpty4} -\pastebutton{ugProblemIdealPageFull4}{\hidepaste} -\tab{5}\spadcommand{id := ideal m + ideal n\free{n m }\bound{id }} -\indentrel{3}\begin{verbatim} - 2 1 2 1 - (4) [x - Ä,y - Ä] - 2 2 -Type: PolynomialIdeals(Fraction Integer,DirectProduct(2,NonNegativeInteger),OrderedVariableList [x,y],DistributedMultivariatePolynomial([x,y],Fraction Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPageEmpty4} -\begin{paste}{ugProblemIdealPageEmpty4}{ugProblemIdealPagePatch4} -\pastebutton{ugProblemIdealPageEmpty4}{\showpaste} -\tab{5}\spadcommand{id := ideal m + ideal n\free{n m }\bound{id }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPagePatch5} -\begin{paste}{ugProblemIdealPageFull5}{ugProblemIdealPageEmpty5} -\pastebutton{ugProblemIdealPageFull5}{\hidepaste} -\tab{5}\spadcommand{zeroDim? id\free{id }} -\indentrel{3}\begin{verbatim} - (5) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPageEmpty5} -\begin{paste}{ugProblemIdealPageEmpty5}{ugProblemIdealPagePatch5} -\pastebutton{ugProblemIdealPageEmpty5}{\showpaste} -\tab{5}\spadcommand{zeroDim? id\free{id }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPagePatch6} -\begin{paste}{ugProblemIdealPageFull6}{ugProblemIdealPageEmpty6} -\pastebutton{ugProblemIdealPageFull6}{\hidepaste} -\tab{5}\spadcommand{zeroDim?(ideal m)\free{m }} -\indentrel{3}\begin{verbatim} - (6) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPageEmpty6} -\begin{paste}{ugProblemIdealPageEmpty6}{ugProblemIdealPagePatch6} -\pastebutton{ugProblemIdealPageEmpty6}{\showpaste} -\tab{5}\spadcommand{zeroDim?(ideal m)\free{m }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPagePatch7} -\begin{paste}{ugProblemIdealPageFull7}{ugProblemIdealPageEmpty7} -\pastebutton{ugProblemIdealPageFull7}{\hidepaste} -\tab{5}\spadcommand{dimension ideal m\free{m }} -\indentrel{3}\begin{verbatim} - (7) 1 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPageEmpty7} -\begin{paste}{ugProblemIdealPageEmpty7}{ugProblemIdealPagePatch7} -\pastebutton{ugProblemIdealPageEmpty7}{\showpaste} -\tab{5}\spadcommand{dimension ideal m\free{m }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPagePatch8} -\begin{paste}{ugProblemIdealPageFull8}{ugProblemIdealPageEmpty8} -\pastebutton{ugProblemIdealPageFull8}{\hidepaste} -\tab{5}\spadcommand{(f,g):DMP([x,y],FRAC INT)\bound{fg }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPageEmpty8} -\begin{paste}{ugProblemIdealPageEmpty8}{ugProblemIdealPagePatch8} -\pastebutton{ugProblemIdealPageEmpty8}{\showpaste} -\tab{5}\spadcommand{(f,g):DMP([x,y],FRAC INT)\bound{fg }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPagePatch9} -\begin{paste}{ugProblemIdealPageFull9}{ugProblemIdealPageEmpty9} -\pastebutton{ugProblemIdealPageFull9}{\hidepaste} -\tab{5}\spadcommand{f := x**2-1\free{fg }\bound{f }} -\indentrel{3}\begin{verbatim} - 2 - (9) x - 1 -Type: DistributedMultivariatePolynomial([x,y],Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPageEmpty9} -\begin{paste}{ugProblemIdealPageEmpty9}{ugProblemIdealPagePatch9} -\pastebutton{ugProblemIdealPageEmpty9}{\showpaste} -\tab{5}\spadcommand{f := x**2-1\free{fg }\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPagePatch10} -\begin{paste}{ugProblemIdealPageFull10}{ugProblemIdealPageEmpty10} -\pastebutton{ugProblemIdealPageFull10}{\hidepaste} -\tab{5}\spadcommand{g := x*(x**2-1)\free{fg }\bound{g }} -\indentrel{3}\begin{verbatim} - 3 - (10) x - x -Type: DistributedMultivariatePolynomial([x,y],Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPageEmpty10} -\begin{paste}{ugProblemIdealPageEmpty10}{ugProblemIdealPagePatch10} -\pastebutton{ugProblemIdealPageEmpty10}{\showpaste} -\tab{5}\spadcommand{g := x*(x**2-1)\free{fg }\bound{g }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPagePatch11} -\begin{paste}{ugProblemIdealPageFull11}{ugProblemIdealPageEmpty11} -\pastebutton{ugProblemIdealPageFull11}{\hidepaste} -\tab{5}\spadcommand{relationsIdeal [f,g]\free{f g }} -\indentrel{3}\begin{verbatim} - (11) - 2 3 2 2 3 - [- %CY + %CX + %CX ] | [%CX= x - 1,%CY= x - x] -Type: SuchThat(List Polynomial Fraction Integer,List Equation Polynomial Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPageEmpty11} -\begin{paste}{ugProblemIdealPageEmpty11}{ugProblemIdealPagePatch11} -\pastebutton{ugProblemIdealPageEmpty11}{\showpaste} -\tab{5}\spadcommand{relationsIdeal [f,g]\free{f g }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPagePatch12} -\begin{paste}{ugProblemIdealPageFull12}{ugProblemIdealPageEmpty12} -\pastebutton{ugProblemIdealPageFull12}{\hidepaste} -\tab{5}\spadcommand{l: List DMP([x,y,z],FRAC INT)\bound{ll }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPageEmpty12} -\begin{paste}{ugProblemIdealPageEmpty12}{ugProblemIdealPagePatch12} -\pastebutton{ugProblemIdealPageEmpty12}{\showpaste} -\tab{5}\spadcommand{l: List DMP([x,y,z],FRAC INT)\bound{ll }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPagePatch13} -\begin{paste}{ugProblemIdealPageFull13}{ugProblemIdealPageEmpty13} -\pastebutton{ugProblemIdealPageFull13}{\hidepaste} -\tab{5}\spadcommand{l:=[x**2+2*y**2,x*z**2-y*z,z**2-4]\free{ll }\bound{l }} -\indentrel{3}\begin{verbatim} - 2 2 2 2 - (13) [x + 2y ,x z - y z,z - 4] -Type: List DistributedMultivariatePolynomial([x,y,z],Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPageEmpty13} -\begin{paste}{ugProblemIdealPageEmpty13}{ugProblemIdealPagePatch13} -\pastebutton{ugProblemIdealPageEmpty13}{\showpaste} -\tab{5}\spadcommand{l:=[x**2+2*y**2,x*z**2-y*z,z**2-4]\free{ll }\bound{l }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPagePatch14} -\begin{paste}{ugProblemIdealPageFull14}{ugProblemIdealPageEmpty14} -\pastebutton{ugProblemIdealPageFull14}{\hidepaste} -\tab{5}\spadcommand{ld:=primaryDecomp ideal l\free{l }\bound{ld }} -\indentrel{3}\begin{verbatim} - 1 2 1 2 - (14) [[x + Ä y,y ,z + 2],[x - Ä y,y ,z - 2]] - 2 2 -Type: List PolynomialIdeals(Fraction Integer,DirectProduct(3,NonNegativeInteger),OrderedVariableList [x,y,z],DistributedMultivariatePolynomial([x,y,z],Fraction Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPageEmpty14} -\begin{paste}{ugProblemIdealPageEmpty14}{ugProblemIdealPagePatch14} -\pastebutton{ugProblemIdealPageEmpty14}{\showpaste} -\tab{5}\spadcommand{ld:=primaryDecomp ideal l\free{l }\bound{ld }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPagePatch15} -\begin{paste}{ugProblemIdealPageFull15}{ugProblemIdealPageEmpty15} -\pastebutton{ugProblemIdealPageFull15}{\hidepaste} -\tab{5}\spadcommand{reduce(intersect,ld)\free{ld }} -\indentrel{3}\begin{verbatim} - 1 2 2 - (15) [x - Ä y z,y ,z - 4] - 4 -Type: PolynomialIdeals(Fraction Integer,DirectProduct(3,NonNegativeInteger),OrderedVariableList [x,y,z],DistributedMultivariatePolynomial([x,y,z],Fraction Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPageEmpty15} -\begin{paste}{ugProblemIdealPageEmpty15}{ugProblemIdealPagePatch15} -\pastebutton{ugProblemIdealPageEmpty15}{\showpaste} -\tab{5}\spadcommand{reduce(intersect,ld)\free{ld }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPagePatch16} -\begin{paste}{ugProblemIdealPageFull16}{ugProblemIdealPageEmpty16} -\pastebutton{ugProblemIdealPageFull16}{\hidepaste} -\tab{5}\spadcommand{reduce(intersect,[radical ld.i for i in 1..2])\free{ld }} -\indentrel{3}\begin{verbatim} - 2 - (16) [x,y,z - 4] -Type: PolynomialIdeals(Fraction Integer,DirectProduct(3,NonNegativeInteger),OrderedVariableList [x,y,z],DistributedMultivariatePolynomial([x,y,z],Fraction Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPageEmpty16} -\begin{paste}{ugProblemIdealPageEmpty16}{ugProblemIdealPagePatch16} -\pastebutton{ugProblemIdealPageEmpty16}{\showpaste} -\tab{5}\spadcommand{reduce(intersect,[radical ld.i for i in 1..2])\free{ld }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPagePatch17} -\begin{paste}{ugProblemIdealPageFull17}{ugProblemIdealPageEmpty17} -\pastebutton{ugProblemIdealPageFull17}{\hidepaste} -\tab{5}\spadcommand{radical ideal l\free{l }} -\indentrel{3}\begin{verbatim} - 2 - (17) [x,y,z - 4] -Type: PolynomialIdeals(Fraction Integer,DirectProduct(3,NonNegativeInteger),OrderedVariableList [x,y,z],DistributedMultivariatePolynomial([x,y,z],Fraction Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemIdealPageEmpty17} -\begin{paste}{ugProblemIdealPageEmpty17}{ugProblemIdealPagePatch17} -\pastebutton{ugProblemIdealPageEmpty17}{\showpaste} -\tab{5}\spadcommand{radical ideal l\free{l }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch1} -\begin{paste}{ugxProblemFiniteUtilityPageFull1}{ugxProblemFiniteUtilityPageEmpty1} -\pastebutton{ugxProblemFiniteUtilityPageFull1}{\hidepaste} -\tab{5}\spadcommand{GF5 := PF 5;\bound{GF5 }} -\indentrel{3}\begin{verbatim} - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty1} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty1}{ugxProblemFiniteUtilityPagePatch1} -\pastebutton{ugxProblemFiniteUtilityPageEmpty1}{\showpaste} -\tab{5}\spadcommand{GF5 := PF 5;\bound{GF5 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch2} -\begin{paste}{ugxProblemFiniteUtilityPageFull2}{ugxProblemFiniteUtilityPageEmpty2} -\pastebutton{ugxProblemFiniteUtilityPageFull2}{\hidepaste} -\tab{5}\spadcommand{f := createIrreduciblePoly(8)$FFPOLY(GF5)\bound{f }\free{GF5 }} -\indentrel{3}\begin{verbatim} - 8 4 - (2) ? + ? + 2 - Type: SparseUnivariatePolynomial PrimeField 5 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty2} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty2}{ugxProblemFiniteUtilityPagePatch2} -\pastebutton{ugxProblemFiniteUtilityPageEmpty2}{\showpaste} -\tab{5}\spadcommand{f := createIrreduciblePoly(8)$FFPOLY(GF5)\bound{f }\free{GF5 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch3} -\begin{paste}{ugxProblemFiniteUtilityPageFull3}{ugxProblemFiniteUtilityPageEmpty3} -\pastebutton{ugxProblemFiniteUtilityPageFull3}{\hidepaste} -\tab{5}\spadcommand{primitive?(f)$FFPOLY(GF5)\free{f }} -\indentrel{3}\begin{verbatim} - (3) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty3} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty3}{ugxProblemFiniteUtilityPagePatch3} -\pastebutton{ugxProblemFiniteUtilityPageEmpty3}{\showpaste} -\tab{5}\spadcommand{primitive?(f)$FFPOLY(GF5)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch4} -\begin{paste}{ugxProblemFiniteUtilityPageFull4}{ugxProblemFiniteUtilityPageEmpty4} -\pastebutton{ugxProblemFiniteUtilityPageFull4}{\hidepaste} -\tab{5}\spadcommand{normal?(f)$FFPOLY(GF5)\free{f }} -\indentrel{3}\begin{verbatim} - (4) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty4} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty4}{ugxProblemFiniteUtilityPagePatch4} -\pastebutton{ugxProblemFiniteUtilityPageEmpty4}{\showpaste} -\tab{5}\spadcommand{normal?(f)$FFPOLY(GF5)\free{f }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch5} -\begin{paste}{ugxProblemFiniteUtilityPageFull5}{ugxProblemFiniteUtilityPageEmpty5} -\pastebutton{ugxProblemFiniteUtilityPageFull5}{\hidepaste} -\tab{5}\spadcommand{p := createPrimitivePoly(8)$FFPOLY(GF5)\bound{p }\free{GF5 }} -\indentrel{3}\begin{verbatim} - 8 3 2 - (5) ? + ? + ? + ? + 2 - Type: SparseUnivariatePolynomial PrimeField 5 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty5} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty5}{ugxProblemFiniteUtilityPagePatch5} -\pastebutton{ugxProblemFiniteUtilityPageEmpty5}{\showpaste} -\tab{5}\spadcommand{p := createPrimitivePoly(8)$FFPOLY(GF5)\bound{p }\free{GF5 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch6} -\begin{paste}{ugxProblemFiniteUtilityPageFull6}{ugxProblemFiniteUtilityPageEmpty6} -\pastebutton{ugxProblemFiniteUtilityPageFull6}{\hidepaste} -\tab{5}\spadcommand{primitive?(p)$FFPOLY(GF5)\free{p }} -\indentrel{3}\begin{verbatim} - (6) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty6} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty6}{ugxProblemFiniteUtilityPagePatch6} -\pastebutton{ugxProblemFiniteUtilityPageEmpty6}{\showpaste} -\tab{5}\spadcommand{primitive?(p)$FFPOLY(GF5)\free{p }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch7} -\begin{paste}{ugxProblemFiniteUtilityPageFull7}{ugxProblemFiniteUtilityPageEmpty7} -\pastebutton{ugxProblemFiniteUtilityPageFull7}{\hidepaste} -\tab{5}\spadcommand{normal?(p)$FFPOLY(GF5)\free{p }} -\indentrel{3}\begin{verbatim} - (7) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty7} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty7}{ugxProblemFiniteUtilityPagePatch7} -\pastebutton{ugxProblemFiniteUtilityPageEmpty7}{\showpaste} -\tab{5}\spadcommand{normal?(p)$FFPOLY(GF5)\free{p }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch8} -\begin{paste}{ugxProblemFiniteUtilityPageFull8}{ugxProblemFiniteUtilityPageEmpty8} -\pastebutton{ugxProblemFiniteUtilityPageFull8}{\hidepaste} -\tab{5}\spadcommand{n := createNormalPoly(8)$FFPOLY(GF5)\bound{n }\free{GF5 }} -\indentrel{3}\begin{verbatim} - 8 7 3 - (8) ? + 4? + ? + 1 - Type: SparseUnivariatePolynomial PrimeField 5 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty8} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty8}{ugxProblemFiniteUtilityPagePatch8} -\pastebutton{ugxProblemFiniteUtilityPageEmpty8}{\showpaste} -\tab{5}\spadcommand{n := createNormalPoly(8)$FFPOLY(GF5)\bound{n }\free{GF5 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch9} -\begin{paste}{ugxProblemFiniteUtilityPageFull9}{ugxProblemFiniteUtilityPageEmpty9} -\pastebutton{ugxProblemFiniteUtilityPageFull9}{\hidepaste} -\tab{5}\spadcommand{primitive?(n)$FFPOLY(GF5)\free{n }} -\indentrel{3}\begin{verbatim} - (9) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty9} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty9}{ugxProblemFiniteUtilityPagePatch9} -\pastebutton{ugxProblemFiniteUtilityPageEmpty9}{\showpaste} -\tab{5}\spadcommand{primitive?(n)$FFPOLY(GF5)\free{n }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch10} -\begin{paste}{ugxProblemFiniteUtilityPageFull10}{ugxProblemFiniteUtilityPageEmpty10} -\pastebutton{ugxProblemFiniteUtilityPageFull10}{\hidepaste} -\tab{5}\spadcommand{createPrimitiveNormalPoly(8)$FFPOLY(GF5)\free{GF5 }} -\indentrel{3}\begin{verbatim} - 8 7 5 - (10) ? + 4? + 2? + 2 - Type: SparseUnivariatePolynomial PrimeField 5 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty10} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty10}{ugxProblemFiniteUtilityPagePatch10} -\pastebutton{ugxProblemFiniteUtilityPageEmpty10}{\showpaste} -\tab{5}\spadcommand{createPrimitiveNormalPoly(8)$FFPOLY(GF5)\free{GF5 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch11} -\begin{paste}{ugxProblemFiniteUtilityPageFull11}{ugxProblemFiniteUtilityPageEmpty11} -\pastebutton{ugxProblemFiniteUtilityPageFull11}{\hidepaste} -\tab{5}\spadcommand{GF5 := PF 5;\bound{GF5 }} -\indentrel{3}\begin{verbatim} - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty11} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty11}{ugxProblemFiniteUtilityPagePatch11} -\pastebutton{ugxProblemFiniteUtilityPageEmpty11}{\showpaste} -\tab{5}\spadcommand{GF5 := PF 5;\bound{GF5 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch12} -\begin{paste}{ugxProblemFiniteUtilityPageFull12}{ugxProblemFiniteUtilityPageEmpty12} -\pastebutton{ugxProblemFiniteUtilityPageFull12}{\hidepaste} -\tab{5}\spadcommand{h := monomial(1,8)$SUP(GF5)\bound{h }\free{GF5 }} -\indentrel{3}\begin{verbatim} - 8 - (12) ? - Type: SparseUnivariatePolynomial PrimeField 5 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty12} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty12}{ugxProblemFiniteUtilityPagePatch12} -\pastebutton{ugxProblemFiniteUtilityPageEmpty12}{\showpaste} -\tab{5}\spadcommand{h := monomial(1,8)$SUP(GF5)\bound{h }\free{GF5 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch13} -\begin{paste}{ugxProblemFiniteUtilityPageFull13}{ugxProblemFiniteUtilityPageEmpty13} -\pastebutton{ugxProblemFiniteUtilityPageFull13}{\hidepaste} -\tab{5}\spadcommand{nh := nextIrreduciblePoly(h)$FFPOLY(GF5)\bound{nh }\free{h }} -\indentrel{3}\begin{verbatim} - 8 - (13) ? + 2 -Type: Union(SparseUnivariatePolynomial PrimeField 5,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty13} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty13}{ugxProblemFiniteUtilityPagePatch13} -\pastebutton{ugxProblemFiniteUtilityPageEmpty13}{\showpaste} -\tab{5}\spadcommand{nh := nextIrreduciblePoly(h)$FFPOLY(GF5)\bound{nh }\free{h }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch14} -\begin{paste}{ugxProblemFiniteUtilityPageFull14}{ugxProblemFiniteUtilityPageEmpty14} -\pastebutton{ugxProblemFiniteUtilityPageFull14}{\hidepaste} -\tab{5}\spadcommand{createIrreduciblePoly(3)$FFPOLY(GF5)\free{GF5 }} -\indentrel{3}\begin{verbatim} - 3 - (14) ? + ? + 1 - Type: SparseUnivariatePolynomial PrimeField 5 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty14} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty14}{ugxProblemFiniteUtilityPagePatch14} -\pastebutton{ugxProblemFiniteUtilityPageEmpty14}{\showpaste} -\tab{5}\spadcommand{createIrreduciblePoly(3)$FFPOLY(GF5)\free{GF5 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch15} -\begin{paste}{ugxProblemFiniteUtilityPageFull15}{ugxProblemFiniteUtilityPageEmpty15} -\pastebutton{ugxProblemFiniteUtilityPageFull15}{\hidepaste} -\tab{5}\spadcommand{nh := nextIrreduciblePoly(nh)$FFPOLY(GF5)\free{nh }} -\indentrel{3}\begin{verbatim} - 8 - (15) ? + 3 -Type: Union(SparseUnivariatePolynomial PrimeField 5,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty15} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty15}{ugxProblemFiniteUtilityPagePatch15} -\pastebutton{ugxProblemFiniteUtilityPageEmpty15}{\showpaste} -\tab{5}\spadcommand{nh := nextIrreduciblePoly(nh)$FFPOLY(GF5)\free{nh }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch16} -\begin{paste}{ugxProblemFiniteUtilityPageFull16}{ugxProblemFiniteUtilityPageEmpty16} -\pastebutton{ugxProblemFiniteUtilityPageFull16}{\hidepaste} -\tab{5}\spadcommand{numberOfIrreduciblePoly(5)$FFPOLY(GF5)\free{GF5 }} -\indentrel{3}\begin{verbatim} - (16) 624 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty16} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty16}{ugxProblemFiniteUtilityPagePatch16} -\pastebutton{ugxProblemFiniteUtilityPageEmpty16}{\showpaste} -\tab{5}\spadcommand{numberOfIrreduciblePoly(5)$FFPOLY(GF5)\free{GF5 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch17} -\begin{paste}{ugxProblemFiniteUtilityPageFull17}{ugxProblemFiniteUtilityPageEmpty17} -\pastebutton{ugxProblemFiniteUtilityPageFull17}{\hidepaste} -\tab{5}\spadcommand{numberOfPrimitivePoly(3)$FFPOLY(GF5)\free{GF5 }} -\indentrel{3}\begin{verbatim} - (17) 20 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty17} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty17}{ugxProblemFiniteUtilityPagePatch17} -\pastebutton{ugxProblemFiniteUtilityPageEmpty17}{\showpaste} -\tab{5}\spadcommand{numberOfPrimitivePoly(3)$FFPOLY(GF5)\free{GF5 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch18} -\begin{paste}{ugxProblemFiniteUtilityPageFull18}{ugxProblemFiniteUtilityPageEmpty18} -\pastebutton{ugxProblemFiniteUtilityPageFull18}{\hidepaste} -\tab{5}\spadcommand{m := monomial(1,1)$SUP(GF5)\bound{m }\free{GF5 }} -\indentrel{3}\begin{verbatim} - (18) ? - Type: SparseUnivariatePolynomial PrimeField 5 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty18} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty18}{ugxProblemFiniteUtilityPagePatch18} -\pastebutton{ugxProblemFiniteUtilityPageEmpty18}{\showpaste} -\tab{5}\spadcommand{m := monomial(1,1)$SUP(GF5)\bound{m }\free{GF5 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch19} -\begin{paste}{ugxProblemFiniteUtilityPageFull19}{ugxProblemFiniteUtilityPageEmpty19} -\pastebutton{ugxProblemFiniteUtilityPageFull19}{\hidepaste} -\tab{5}\spadcommand{f := m**3 + 4*m**2 + m + 2\bound{fx }\free{m }} -\indentrel{3}\begin{verbatim} - 3 2 - (19) ? + 4? + ? + 2 - Type: SparseUnivariatePolynomial PrimeField 5 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty19} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty19}{ugxProblemFiniteUtilityPagePatch19} -\pastebutton{ugxProblemFiniteUtilityPageEmpty19}{\showpaste} -\tab{5}\spadcommand{f := m**3 + 4*m**2 + m + 2\bound{fx }\free{m }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch20} -\begin{paste}{ugxProblemFiniteUtilityPageFull20}{ugxProblemFiniteUtilityPageEmpty20} -\pastebutton{ugxProblemFiniteUtilityPageFull20}{\hidepaste} -\tab{5}\spadcommand{f1 := nextPrimitivePoly(f)$FFPOLY(GF5)\free{fx }\bound{f1 }} -\indentrel{3}\begin{verbatim} - 3 2 - (20) ? + 4? + 4? + 2 -Type: Union(SparseUnivariatePolynomial PrimeField 5,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty20} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty20}{ugxProblemFiniteUtilityPagePatch20} -\pastebutton{ugxProblemFiniteUtilityPageEmpty20}{\showpaste} -\tab{5}\spadcommand{f1 := nextPrimitivePoly(f)$FFPOLY(GF5)\free{fx }\bound{f1 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch21} -\begin{paste}{ugxProblemFiniteUtilityPageFull21}{ugxProblemFiniteUtilityPageEmpty21} -\pastebutton{ugxProblemFiniteUtilityPageFull21}{\hidepaste} -\tab{5}\spadcommand{nextPrimitivePoly(f1)$FFPOLY(GF5)\free{f1 }} -\indentrel{3}\begin{verbatim} - 3 2 - (21) ? + 2? + 3 -Type: Union(SparseUnivariatePolynomial PrimeField 5,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty21} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty21}{ugxProblemFiniteUtilityPagePatch21} -\pastebutton{ugxProblemFiniteUtilityPageEmpty21}{\showpaste} -\tab{5}\spadcommand{nextPrimitivePoly(f1)$FFPOLY(GF5)\free{f1 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch22} -\begin{paste}{ugxProblemFiniteUtilityPageFull22}{ugxProblemFiniteUtilityPageEmpty22} -\pastebutton{ugxProblemFiniteUtilityPageFull22}{\hidepaste} -\tab{5}\spadcommand{f := m**3 + m**2 + 4*m + 1\bound{fy }\free{m }} -\indentrel{3}\begin{verbatim} - 3 2 - (22) ? + ? + 4? + 1 - Type: SparseUnivariatePolynomial PrimeField 5 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty22} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty22}{ugxProblemFiniteUtilityPagePatch22} -\pastebutton{ugxProblemFiniteUtilityPageEmpty22}{\showpaste} -\tab{5}\spadcommand{f := m**3 + m**2 + 4*m + 1\bound{fy }\free{m }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch23} -\begin{paste}{ugxProblemFiniteUtilityPageFull23}{ugxProblemFiniteUtilityPageEmpty23} -\pastebutton{ugxProblemFiniteUtilityPageFull23}{\hidepaste} -\tab{5}\spadcommand{f1 := nextNormalPoly(f)$FFPOLY(GF5)\free{fy }\bound{f1y }} -\indentrel{3}\begin{verbatim} - 3 2 - (23) ? + ? + 4? + 3 -Type: Union(SparseUnivariatePolynomial PrimeField 5,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty23} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty23}{ugxProblemFiniteUtilityPagePatch23} -\pastebutton{ugxProblemFiniteUtilityPageEmpty23}{\showpaste} -\tab{5}\spadcommand{f1 := nextNormalPoly(f)$FFPOLY(GF5)\free{fy }\bound{f1y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch24} -\begin{paste}{ugxProblemFiniteUtilityPageFull24}{ugxProblemFiniteUtilityPageEmpty24} -\pastebutton{ugxProblemFiniteUtilityPageFull24}{\hidepaste} -\tab{5}\spadcommand{nextNormalPoly(f1)$FFPOLY(GF5)\free{f1y }} -\indentrel{3}\begin{verbatim} - 3 2 - (24) ? + 2? + 1 -Type: Union(SparseUnivariatePolynomial PrimeField 5,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty24} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty24}{ugxProblemFiniteUtilityPagePatch24} -\pastebutton{ugxProblemFiniteUtilityPageEmpty24}{\showpaste} -\tab{5}\spadcommand{nextNormalPoly(f1)$FFPOLY(GF5)\free{f1y }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch25} -\begin{paste}{ugxProblemFiniteUtilityPageFull25}{ugxProblemFiniteUtilityPageEmpty25} -\pastebutton{ugxProblemFiniteUtilityPageFull25}{\hidepaste} -\tab{5}\spadcommand{GF16 := FFX(FFX(PF 2,2),2);\bound{GF16 }} -\indentrel{3}\begin{verbatim} - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty25} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty25}{ugxProblemFiniteUtilityPagePatch25} -\pastebutton{ugxProblemFiniteUtilityPageEmpty25}{\showpaste} -\tab{5}\spadcommand{GF16 := FFX(FFX(PF 2,2),2);\bound{GF16 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch26} -\begin{paste}{ugxProblemFiniteUtilityPageFull26}{ugxProblemFiniteUtilityPageEmpty26} -\pastebutton{ugxProblemFiniteUtilityPageFull26}{\hidepaste} -\tab{5}\spadcommand{createIrreduciblePoly(5)$FFPOLY(GF16)\free{GF16 }} -\indentrel{3}\begin{verbatim} - 5 - (26) ? + %CZ -Type: SparseUnivariatePolynomial FiniteFieldExtension(FiniteFieldExtension(PrimeField 2,2),2) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty26} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty26}{ugxProblemFiniteUtilityPagePatch26} -\pastebutton{ugxProblemFiniteUtilityPageEmpty26}{\showpaste} -\tab{5}\spadcommand{createIrreduciblePoly(5)$FFPOLY(GF16)\free{GF16 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch27} -\begin{paste}{ugxProblemFiniteUtilityPageFull27}{ugxProblemFiniteUtilityPageEmpty27} -\pastebutton{ugxProblemFiniteUtilityPageFull27}{\hidepaste} -\tab{5}\spadcommand{random(5)$FFPOLY(GF16)\free{GF16 }} -\indentrel{3}\begin{verbatim} - (27) - 5 4 3 - ? + (%CV + 1)? + ((%CV + 1)%CZ + %CV + 1)? - + - 2 - (%CV + 1)? + ((%CV + 1)%CZ + %CV + 1)? - + - (%CV + 1)%CZ + 1 -Type: SparseUnivariatePolynomial FiniteFieldExtension(FiniteFieldExtension(PrimeField 2,2),2) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty27} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty27}{ugxProblemFiniteUtilityPagePatch27} -\pastebutton{ugxProblemFiniteUtilityPageEmpty27}{\showpaste} -\tab{5}\spadcommand{random(5)$FFPOLY(GF16)\free{GF16 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch28} -\begin{paste}{ugxProblemFiniteUtilityPageFull28}{ugxProblemFiniteUtilityPageEmpty28} -\pastebutton{ugxProblemFiniteUtilityPageFull28}{\hidepaste} -\tab{5}\spadcommand{random(3,9)$FFPOLY(GF16)\free{GF16 }} -\indentrel{3}\begin{verbatim} - (28) - 4 3 2 - ? + (%CZ + %CV + 1)? + (%CV %CZ + %CV + 1)? - + - (%CZ + %CV)? + (%CV + 1)%CZ -Type: SparseUnivariatePolynomial FiniteFieldExtension(FiniteFieldExtension(PrimeField 2,2),2) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty28} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty28}{ugxProblemFiniteUtilityPagePatch28} -\pastebutton{ugxProblemFiniteUtilityPageEmpty28}{\showpaste} -\tab{5}\spadcommand{random(3,9)$FFPOLY(GF16)\free{GF16 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch29} -\begin{paste}{ugxProblemFiniteUtilityPageFull29}{ugxProblemFiniteUtilityPageEmpty29} -\pastebutton{ugxProblemFiniteUtilityPageFull29}{\hidepaste} -\tab{5}\spadcommand{GF2 := PrimeField 2;\bound{GF2 }} -\indentrel{3}\begin{verbatim} - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty29} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty29}{ugxProblemFiniteUtilityPagePatch29} -\pastebutton{ugxProblemFiniteUtilityPageEmpty29}{\showpaste} -\tab{5}\spadcommand{GF2 := PrimeField 2;\bound{GF2 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch30} -\begin{paste}{ugxProblemFiniteUtilityPageFull30}{ugxProblemFiniteUtilityPageEmpty30} -\pastebutton{ugxProblemFiniteUtilityPageFull30}{\hidepaste} -\tab{5}\spadcommand{F := FFX(GF2,12)\bound{F }\free{GF2 }} -\indentrel{3}\begin{verbatim} - (30) FiniteFieldExtension(PrimeField 2,12) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty30} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty30}{ugxProblemFiniteUtilityPagePatch30} -\pastebutton{ugxProblemFiniteUtilityPageEmpty30}{\showpaste} -\tab{5}\spadcommand{F := FFX(GF2,12)\bound{F }\free{GF2 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch31} -\begin{paste}{ugxProblemFiniteUtilityPageFull31}{ugxProblemFiniteUtilityPageEmpty31} -\pastebutton{ugxProblemFiniteUtilityPageFull31}{\hidepaste} -\tab{5}\spadcommand{f := createIrreduciblePoly(6)$FFPOLY(GF2)\bound{fz }\free{GF2 }} -\indentrel{3}\begin{verbatim} - 6 - (31) ? + ? + 1 - Type: SparseUnivariatePolynomial PrimeField 2 -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty31} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty31}{ugxProblemFiniteUtilityPagePatch31} -\pastebutton{ugxProblemFiniteUtilityPageEmpty31}{\showpaste} -\tab{5}\spadcommand{f := createIrreduciblePoly(6)$FFPOLY(GF2)\bound{fz }\free{GF2 }} -\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPagePatch32} -\begin{paste}{ugxProblemFiniteUtilityPageFull32}{ugxProblemFiniteUtilityPageEmpty32} -\pastebutton{ugxProblemFiniteUtilityPageFull32}{\hidepaste} -\tab{5}\spadcommand{root := rootOfIrreduciblePoly(f)$FFPOLY2(F,GF2)\free{F GF2 fz }\bound{root }} -\indentrel{3}\begin{verbatim} - 11 8 7 5 - (32) %CS + %CS + %CS + %CS + %CS + 1 - Type: FiniteFieldExtension(PrimeField 2,12) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugxProblemFiniteUtilityPageEmpty32} -\begin{paste}{ugxProblemFiniteUtilityPageEmpty32}{ugxProblemFiniteUtilityPagePatch32} -\pastebutton{ugxProblemFiniteUtilityPageEmpty32}{\showpaste} -\tab{5}\spadcommand{root := rootOfIrreduciblePoly(f)$FFPOLY2(F,GF2)\free{F GF2 fz }\bound{root }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemEigenPagePatch1} -\begin{paste}{ugProblemEigenPageFull1}{ugProblemEigenPageEmpty1} -\pastebutton{ugProblemEigenPageFull1}{\hidepaste} -\tab{5}\spadcommand{m1 := matrix [[1,2,1],[2,1,-2],[1,-2,4]]\bound{m1 }} -\indentrel{3}\begin{verbatim} - Ú1 2 1 ¿ - ³ ³ - (1) ³2 1 - 2³ - ³ ³ - À1 - 2 4 Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemEigenPageEmpty1} -\begin{paste}{ugProblemEigenPageEmpty1}{ugProblemEigenPagePatch1} -\pastebutton{ugProblemEigenPageEmpty1}{\showpaste} -\tab{5}\spadcommand{m1 := matrix [[1,2,1],[2,1,-2],[1,-2,4]]\bound{m1 }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemEigenPagePatch2} -\begin{paste}{ugProblemEigenPageFull2}{ugProblemEigenPageEmpty2} -\pastebutton{ugProblemEigenPageFull2}{\hidepaste} -\tab{5}\spadcommand{leig := eigenvalues(m1)\free{m1 }\bound{leig }} -\indentrel{3}\begin{verbatim} - 2 - (2) [5,%DA | %DA - %DA - 5] -Type: List Union(Fraction Polynomial Integer,SuchThat(Symbol,Polynomial Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemEigenPageEmpty2} -\begin{paste}{ugProblemEigenPageEmpty2}{ugProblemEigenPagePatch2} -\pastebutton{ugProblemEigenPageEmpty2}{\showpaste} -\tab{5}\spadcommand{leig := eigenvalues(m1)\free{m1 }\bound{leig }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemEigenPagePatch3} -\begin{paste}{ugProblemEigenPageFull3}{ugProblemEigenPageEmpty3} -\pastebutton{ugProblemEigenPageFull3}{\hidepaste} -\tab{5}\spadcommand{eigenvector(first(leig),m1)\free{m1 leig }} -\indentrel{3}\begin{verbatim} - Ú 0 ¿ - ³ ³ - ³ 1³ - (3) [³- ij] - ³ 2³ - ³ ³ - À 1 Ù - Type: List Matrix Fraction Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemEigenPageEmpty3} -\begin{paste}{ugProblemEigenPageEmpty3}{ugProblemEigenPagePatch3} -\pastebutton{ugProblemEigenPageEmpty3}{\showpaste} -\tab{5}\spadcommand{eigenvector(first(leig),m1)\free{m1 leig }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemEigenPagePatch4} -\begin{paste}{ugProblemEigenPageFull4}{ugProblemEigenPageEmpty4} -\pastebutton{ugProblemEigenPageFull4}{\hidepaste} -\tab{5}\spadcommand{eigenvectors(m1)\free{m1 }} -\indentrel{3}\begin{verbatim} - (4) - Ú 0 ¿ - ³ ³ - ³ 1³ - [[eigval= 5,eigmult= 1,eigvec= [³- ij]], - ³ 2³ - ³ ³ - À 1 Ù - - 2 - [eigval= (%DB | %DB - %DB - 5), eigmult= 1, - Ú%DB¿ - ³ ³ - eigvec= [³ 2 ³]] - ³ ³ - À 1 Ù - ] -Type: List Record(eigval: Union(Fraction Polynomial Integer,SuchThat(Symbol,Polynomial Integer)),eigmult: NonNegativeInteger,eigvec: List Matrix Fraction Polynomial Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemEigenPageEmpty4} -\begin{paste}{ugProblemEigenPageEmpty4}{ugProblemEigenPagePatch4} -\pastebutton{ugProblemEigenPageEmpty4}{\showpaste} -\tab{5}\spadcommand{eigenvectors(m1)\free{m1 }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemEigenPagePatch5} -\begin{paste}{ugProblemEigenPageFull5}{ugProblemEigenPageEmpty5} -\pastebutton{ugProblemEigenPageFull5}{\hidepaste} -\tab{5}\spadcommand{radicalEigenvectors(m1)\free{m1 }} -\indentrel{3}\begin{verbatim} - (5) - Ú ÚÄÄ¿ ¿ - ÚÄÄ¿ ³\³21 + 1³ - \³21 + 1 ³ÄÄÄÄÄÄÄÄij - [[radval= ÄÄÄÄÄÄÄÄÄ,radmult= 1,radvect= [³ 2 ³]], - 2 ³ ³ - ³ 2 ³ - ³ ³ - À 1 Ù - - ÚÄÄ¿ - - \³21 + 1 - [radval= ÄÄÄÄÄÄÄÄÄÄÄ, radmult= 1, - 2 - Ú ÚÄÄ¿ ¿ - ³- \³21 + 1³ - ³ÄÄÄÄÄÄÄÄÄÄij - radvect= [³ 2 ³]] - ³ ³ - ³ 2 ³ - ³ ³ - À 1 Ù - , - Ú 0 ¿ - ³ ³ - ³ 1³ - [radval= 5,radmult= 1,radvect= [³- ij]]] - ³ 2³ - ³ ³ - À 1 Ù -Type: List Record(radval: Expression Integer,radmult: Integer,radvect: List Matrix Expression Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemEigenPageEmpty5} -\begin{paste}{ugProblemEigenPageEmpty5}{ugProblemEigenPagePatch5} -\pastebutton{ugProblemEigenPageEmpty5}{\showpaste} -\tab{5}\spadcommand{radicalEigenvectors(m1)\free{m1 }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemEigenPagePatch6} -\begin{paste}{ugProblemEigenPageFull6}{ugProblemEigenPageEmpty6} -\pastebutton{ugProblemEigenPageFull6}{\hidepaste} -\tab{5}\spadcommand{realEigenvectors(m1,1/1000)\free{m1 }} -\indentrel{3}\begin{verbatim} - (6) - Ú 0 ¿ - ³ ³ - ³ 1³ - [[outval= 5,outmult= 1,outvect= [³- ij]], - ³ 2³ - ³ ³ - À 1 Ù - Ú5717¿ - ³ÄÄÄij - 5717 ³2048³ - [outval= ÄÄÄÄ,outmult= 1,outvect= [³ ³]], - 2048 ³ 2 ³ - ³ ³ - À 1 Ù - Ú 3669¿ - ³- ÄÄÄij - 3669 ³ 2048³ - [outval= - ÄÄÄÄ,outmult= 1,outvect= [³ ³]]] - 2048 ³ 2 ³ - ³ ³ - À 1 Ù -Type: List Record(outval: Fraction Integer,outmult: Integer,outvect: List Matrix Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemEigenPageEmpty6} -\begin{paste}{ugProblemEigenPageEmpty6}{ugProblemEigenPagePatch6} -\pastebutton{ugProblemEigenPageEmpty6}{\showpaste} -\tab{5}\spadcommand{realEigenvectors(m1,1/1000)\free{m1 }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemEigenPagePatch7} -\begin{paste}{ugProblemEigenPageFull7}{ugProblemEigenPageEmpty7} -\pastebutton{ugProblemEigenPageFull7}{\hidepaste} -\tab{5}\spadcommand{eigenMatrix(m1)\free{m1 }} -\indentrel{3}\begin{verbatim} - Ú ÚÄÄ¿ ÚÄÄ¿ ¿ - ³\³21 + 1 - \³21 + 1 ³ - ³ÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄ 0 ³ - ³ 2 2 ³ - (7) ³ ³ - ³ 1³ - ³ 2 2 - ij - ³ 2³ - ³ ³ - À 1 1 1 Ù - Type: Union(Matrix Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemEigenPageEmpty7} -\begin{paste}{ugProblemEigenPageEmpty7}{ugProblemEigenPagePatch7} -\pastebutton{ugProblemEigenPageEmpty7}{\showpaste} -\tab{5}\spadcommand{eigenMatrix(m1)\free{m1 }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemEigenPagePatch8} -\begin{paste}{ugProblemEigenPageFull8}{ugProblemEigenPageEmpty8} -\pastebutton{ugProblemEigenPageFull8}{\hidepaste} -\tab{5}\spadcommand{m2 := matrix [[-5,-2],[18,7]]\bound{m2 }} -\indentrel{3}\begin{verbatim} - Ú- 5 - 2¿ - (8) ³ ³ - À18 7 Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemEigenPageEmpty8} -\begin{paste}{ugProblemEigenPageEmpty8}{ugProblemEigenPagePatch8} -\pastebutton{ugProblemEigenPageEmpty8}{\showpaste} -\tab{5}\spadcommand{m2 := matrix [[-5,-2],[18,7]]\bound{m2 }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemEigenPagePatch9} -\begin{paste}{ugProblemEigenPageFull9}{ugProblemEigenPageEmpty9} -\pastebutton{ugProblemEigenPageFull9}{\hidepaste} -\tab{5}\spadcommand{eigenMatrix(m2)\free{m2 }} -\indentrel{3}\begin{verbatim} - (9) "failed" - Type: Union("failed",...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemEigenPageEmpty9} -\begin{paste}{ugProblemEigenPageEmpty9}{ugProblemEigenPagePatch9} -\pastebutton{ugProblemEigenPageEmpty9}{\showpaste} -\tab{5}\spadcommand{eigenMatrix(m2)\free{m2 }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemEigenPagePatch10} -\begin{paste}{ugProblemEigenPageFull10}{ugProblemEigenPageEmpty10} -\pastebutton{ugProblemEigenPageFull10}{\hidepaste} -\tab{5}\spadcommand{m3 := matrix [[1,2],[2,1]]\bound{m3 }} -\indentrel{3}\begin{verbatim} - Ú1 2¿ - (10) ³ ³ - À2 1Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemEigenPageEmpty10} -\begin{paste}{ugProblemEigenPageEmpty10}{ugProblemEigenPagePatch10} -\pastebutton{ugProblemEigenPageEmpty10}{\showpaste} -\tab{5}\spadcommand{m3 := matrix [[1,2],[2,1]]\bound{m3 }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemEigenPagePatch11} -\begin{paste}{ugProblemEigenPageFull11}{ugProblemEigenPageEmpty11} -\pastebutton{ugProblemEigenPageFull11}{\hidepaste} -\tab{5}\spadcommand{orthonormalBasis(m3)\free{m3 }} -\indentrel{3}\begin{verbatim} - Ú 1 ¿ Ú 1 ¿ - ³- ÄÄÄij ³ÄÄÄij - ³ ÚÄ¿³ ³ ÚÄ¿³ - ³ \³2 ³ ³\³2 ³ - (11) [³ ³,³ ³] - ³ 1 ³ ³ 1 ³ - ³ ÄÄÄÄ ³ ³ÄÄÄij - ³ ÚÄ¿ ³ ³ ÚÄ¿³ - À \³2 Ù À\³2 Ù - Type: List Matrix Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemEigenPageEmpty11} -\begin{paste}{ugProblemEigenPageEmpty11}{ugProblemEigenPagePatch11} -\pastebutton{ugProblemEigenPageEmpty11}{\showpaste} -\tab{5}\spadcommand{orthonormalBasis(m3)\free{m3 }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch1} -\begin{paste}{ugProblemGaloisPageFull1}{ugProblemGaloisPageEmpty1} -\pastebutton{ugProblemGaloisPageFull1}{\hidepaste} -\tab{5}\spadcommand{p := x**5 - 5*x + 12\bound{p }} -\indentrel{3}\begin{verbatim} - 5 - (1) x - 5x + 12 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty1} -\begin{paste}{ugProblemGaloisPageEmpty1}{ugProblemGaloisPagePatch1} -\pastebutton{ugProblemGaloisPageEmpty1}{\showpaste} -\tab{5}\spadcommand{p := x**5 - 5*x + 12\bound{p }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch2} -\begin{paste}{ugProblemGaloisPageFull2}{ugProblemGaloisPageEmpty2} -\pastebutton{ugProblemGaloisPageFull2}{\hidepaste} -\tab{5}\spadcommand{q := resultant(eval(p,x,y),-eval(p,x,y-x),y)\free{p }\bound{q }} -\indentrel{3}\begin{verbatim} - (2) - 25 21 17 15 13 - x - 50x - 2375x + 90000x - 5000x - + - 11 9 7 5 - 2700000x + 250000x + 18000000x + 64000000x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty2} -\begin{paste}{ugProblemGaloisPageEmpty2}{ugProblemGaloisPagePatch2} -\pastebutton{ugProblemGaloisPageEmpty2}{\showpaste} -\tab{5}\spadcommand{q := resultant(eval(p,x,y),-eval(p,x,y-x),y)\free{p }\bound{q }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch3} -\begin{paste}{ugProblemGaloisPageFull3}{ugProblemGaloisPageEmpty3} -\pastebutton{ugProblemGaloisPageFull3}{\hidepaste} -\tab{5}\spadcommand{q1 := exquo(q, x**5)\free{q }\bound{q1 }} -\indentrel{3}\begin{verbatim} - (3) - 20 16 12 10 8 6 - x - 50x - 2375x + 90000x - 5000x + 2700000x - + - 4 2 - 250000x + 18000000x + 64000000 - Type: Union(Polynomial Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty3} -\begin{paste}{ugProblemGaloisPageEmpty3}{ugProblemGaloisPagePatch3} -\pastebutton{ugProblemGaloisPageEmpty3}{\showpaste} -\tab{5}\spadcommand{q1 := exquo(q, x**5)\free{q }\bound{q1 }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch4} -\begin{paste}{ugProblemGaloisPageFull4}{ugProblemGaloisPageEmpty4} -\pastebutton{ugProblemGaloisPageFull4}{\hidepaste} -\tab{5}\spadcommand{factoredQ := factor q1\free{q1 }\bound{factoredQ }} -\indentrel{3}\begin{verbatim} - (4) - 10 8 6 4 2 - (x - 10x - 75x + 1500x - 5500x + 16000) - * - 10 8 6 4 2 - (x + 10x + 125x + 500x + 2500x + 4000) - Type: Factored Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty4} -\begin{paste}{ugProblemGaloisPageEmpty4}{ugProblemGaloisPagePatch4} -\pastebutton{ugProblemGaloisPageEmpty4}{\showpaste} -\tab{5}\spadcommand{factoredQ := factor q1\free{q1 }\bound{factoredQ }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch5} -\begin{paste}{ugProblemGaloisPageFull5}{ugProblemGaloisPageEmpty5} -\pastebutton{ugProblemGaloisPageFull5}{\hidepaste} -\tab{5}\spadcommand{r := nthFactor(factoredQ,1)\free{factoredQ }\bound{r }} -\indentrel{3}\begin{verbatim} - 10 8 6 4 2 - (5) x - 10x - 75x + 1500x - 5500x + 16000 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty5} -\begin{paste}{ugProblemGaloisPageEmpty5}{ugProblemGaloisPagePatch5} -\pastebutton{ugProblemGaloisPageEmpty5}{\showpaste} -\tab{5}\spadcommand{r := nthFactor(factoredQ,1)\free{factoredQ }\bound{r }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch6} -\begin{paste}{ugProblemGaloisPageFull6}{ugProblemGaloisPageEmpty6} -\pastebutton{ugProblemGaloisPageFull6}{\hidepaste} -\tab{5}\spadcommand{beta:AN := rootOf(eval(r,x,b))\free{r }\bound{beta }} -\indentrel{3}\begin{verbatim} - (6) b - Type: AlgebraicNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty6} -\begin{paste}{ugProblemGaloisPageEmpty6}{ugProblemGaloisPagePatch6} -\pastebutton{ugProblemGaloisPageEmpty6}{\showpaste} -\tab{5}\spadcommand{beta:AN := rootOf(eval(r,x,b))\free{r }\bound{beta }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch7} -\begin{paste}{ugProblemGaloisPageFull7}{ugProblemGaloisPageEmpty7} -\pastebutton{ugProblemGaloisPageFull7}{\hidepaste} -\tab{5}\spadcommand{p := p::UP(x,INT)::UP(x,AN)\free{p }\bound{declareP }} -\indentrel{3}\begin{verbatim} - 5 - (7) x - 5x + 12 - Type: UnivariatePolynomial(x,AlgebraicNumber) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty7} -\begin{paste}{ugProblemGaloisPageEmpty7}{ugProblemGaloisPagePatch7} -\pastebutton{ugProblemGaloisPageEmpty7}{\showpaste} -\tab{5}\spadcommand{p := p::UP(x,INT)::UP(x,AN)\free{p }\bound{declareP }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch8} -\begin{paste}{ugProblemGaloisPageFull8}{ugProblemGaloisPageEmpty8} -\pastebutton{ugProblemGaloisPageFull8}{\hidepaste} -\tab{5}\spadcommand{algFactors := factor(p,[beta])\free{declareP beta }\bound{algFactors }} -\indentrel{3}\begin{verbatim} - (8) - x - + - 9 8 7 6 5 - - 85b - 116b + 780b + 2640b + 14895b - + - 4 3 2 - - 8820b - 127050b - 327000b - 405200b - + - 2062400 - / - 1339200 - * - 8 6 4 2 - - 17b + 156b + 2979b - 25410b - 14080 - (x + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ) - 66960 - * - x - + - 8 6 4 2 - 143b - 2100b - 10485b + 290550b - 334800b - + - - 960800 - / - 669600 - * - x - + - 8 6 4 2 - 143b - 2100b - 10485b + 290550b + 334800b - + - - 960800 - / - 669600 - * - x - + - 9 8 7 6 5 - 85b - 116b - 780b + 2640b - 14895b - + - 4 3 2 - - 8820b + 127050b - 327000b + 405200b - + - 2062400 - / - 1339200 - Type: Factored UnivariatePolynomial(x,AlgebraicNumber) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty8} -\begin{paste}{ugProblemGaloisPageEmpty8}{ugProblemGaloisPagePatch8} -\pastebutton{ugProblemGaloisPageEmpty8}{\showpaste} -\tab{5}\spadcommand{algFactors := factor(p,[beta])\free{declareP beta }\bound{algFactors }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch9} -\begin{paste}{ugProblemGaloisPageFull9}{ugProblemGaloisPageEmpty9} -\pastebutton{ugProblemGaloisPageFull9}{\hidepaste} -\tab{5}\spadcommand{factor(p)\free{declareP }} -\indentrel{3}\begin{verbatim} - 5 - (9) x - 5x + 12 - Type: Factored UnivariatePolynomial(x,AlgebraicNumber) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty9} -\begin{paste}{ugProblemGaloisPageEmpty9}{ugProblemGaloisPagePatch9} -\pastebutton{ugProblemGaloisPageEmpty9}{\showpaste} -\tab{5}\spadcommand{factor(p)\free{declareP }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch10} -\begin{paste}{ugProblemGaloisPageFull10}{ugProblemGaloisPageEmpty10} -\pastebutton{ugProblemGaloisPageFull10}{\hidepaste} -\tab{5}\spadcommand{factor1 := nthFactor(algFactors,1)\free{algFactors }\bound{factor1 }} -\indentrel{3}\begin{verbatim} - (10) - x - + - 9 8 7 6 5 - - 85b - 116b + 780b + 2640b + 14895b - + - 4 3 2 - - 8820b - 127050b - 327000b - 405200b + 2062400 - / - 1339200 - Type: UnivariatePolynomial(x,AlgebraicNumber) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty10} -\begin{paste}{ugProblemGaloisPageEmpty10}{ugProblemGaloisPagePatch10} -\pastebutton{ugProblemGaloisPageEmpty10}{\showpaste} -\tab{5}\spadcommand{factor1 := nthFactor(algFactors,1)\free{algFactors }\bound{factor1 }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch11} -\begin{paste}{ugProblemGaloisPageFull11}{ugProblemGaloisPageEmpty11} -\pastebutton{ugProblemGaloisPageFull11}{\hidepaste} -\tab{5}\spadcommand{root1 := -coefficient(factor1,0)\free{factor1 }\bound{root1 }} -\indentrel{3}\begin{verbatim} - (11) - 9 8 7 6 5 4 - 85b + 116b - 780b - 2640b - 14895b + 8820b - + - 3 2 - 127050b + 327000b + 405200b - 2062400 - / - 1339200 - Type: AlgebraicNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty11} -\begin{paste}{ugProblemGaloisPageEmpty11}{ugProblemGaloisPagePatch11} -\pastebutton{ugProblemGaloisPageEmpty11}{\showpaste} -\tab{5}\spadcommand{root1 := -coefficient(factor1,0)\free{factor1 }\bound{root1 }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch12} -\begin{paste}{ugProblemGaloisPageFull12}{ugProblemGaloisPageEmpty12} -\pastebutton{ugProblemGaloisPageFull12}{\hidepaste} -\tab{5}\spadcommand{roots := [-coefficient(nthFactor(algFactors,i),0) for i in 1..5]\free{algFactors }\bound{roots }} -\indentrel{3}\begin{verbatim} - (12) - [ - 9 8 7 6 5 4 - 85b + 116b - 780b - 2640b - 14895b + 8820b - + - 3 2 - 127050b + 327000b + 405200b - 2062400 - / - 1339200 - , - 8 6 4 2 - 17b - 156b - 2979b + 25410b + 14080 - ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ, - 66960 - - 8 6 4 2 - - 143b + 2100b + 10485b - 290550b + 334800b - + - 960800 - / - 669600 - , - - 8 6 4 2 - - 143b + 2100b + 10485b - 290550b - 334800b - + - 960800 - / - 669600 - , - - 9 8 7 6 5 - - 85b + 116b + 780b - 2640b + 14895b - + - 4 3 2 - 8820b - 127050b + 327000b - 405200b - 2062400 - / - 1339200 - ] - Type: List AlgebraicNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty12} -\begin{paste}{ugProblemGaloisPageEmpty12}{ugProblemGaloisPagePatch12} -\pastebutton{ugProblemGaloisPageEmpty12}{\showpaste} -\tab{5}\spadcommand{roots := [-coefficient(nthFactor(algFactors,i),0) for i in 1..5]\free{algFactors }\bound{roots }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch13} -\begin{paste}{ugProblemGaloisPageFull13}{ugProblemGaloisPageEmpty13} -\pastebutton{ugProblemGaloisPageFull13}{\hidepaste} -\tab{5}\spadcommand{(a1,a2,a3,a4,a5) := (roots.1,roots.2,roots.3,roots.4,roots.5)\free{roots }\bound{ais }} -\indentrel{3}\begin{verbatim} - (13) - 9 8 7 6 5 4 - - 85b + 116b + 780b - 2640b + 14895b + 8820b - + - 3 2 - - 127050b + 327000b - 405200b - 2062400 - / - 1339200 - Type: AlgebraicNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty13} -\begin{paste}{ugProblemGaloisPageEmpty13}{ugProblemGaloisPagePatch13} -\pastebutton{ugProblemGaloisPageEmpty13}{\showpaste} -\tab{5}\spadcommand{(a1,a2,a3,a4,a5) := (roots.1,roots.2,roots.3,roots.4,roots.5)\free{roots }\bound{ais }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch14} -\begin{paste}{ugProblemGaloisPageFull14}{ugProblemGaloisPageEmpty14} -\pastebutton{ugProblemGaloisPageFull14}{\hidepaste} -\tab{5}\spadcommand{eval(r,x,a1 - a2)\free{ais }} -\indentrel{3}\begin{verbatim} - (14) 0 - Type: Polynomial AlgebraicNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty14} -\begin{paste}{ugProblemGaloisPageEmpty14}{ugProblemGaloisPagePatch14} -\pastebutton{ugProblemGaloisPageEmpty14}{\showpaste} -\tab{5}\spadcommand{eval(r,x,a1 - a2)\free{ais }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch15} -\begin{paste}{ugProblemGaloisPageFull15}{ugProblemGaloisPageEmpty15} -\pastebutton{ugProblemGaloisPageFull15}{\hidepaste} -\tab{5}\spadcommand{eval(r,x,a1 - a3)\free{ais }} -\indentrel{3}\begin{verbatim} - (15) - 9 8 7 6 5 - 47905b + 66920b - 536100b - 980400b - 3345075b - + - 4 3 2 - - 5787000b + 75572250b + 161688000b - 184600000b - + - - 710912000 - / - 4464 - Type: Polynomial AlgebraicNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty15} -\begin{paste}{ugProblemGaloisPageEmpty15}{ugProblemGaloisPagePatch15} -\pastebutton{ugProblemGaloisPageEmpty15}{\showpaste} -\tab{5}\spadcommand{eval(r,x,a1 - a3)\free{ais }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch16} -\begin{paste}{ugProblemGaloisPageFull16}{ugProblemGaloisPageEmpty16} -\pastebutton{ugProblemGaloisPageFull16}{\hidepaste} -\tab{5}\spadcommand{eval(r,x,a1 - a4)\free{ais }} -\indentrel{3}\begin{verbatim} - (16) 0 - Type: Polynomial AlgebraicNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty16} -\begin{paste}{ugProblemGaloisPageEmpty16}{ugProblemGaloisPagePatch16} -\pastebutton{ugProblemGaloisPageEmpty16}{\showpaste} -\tab{5}\spadcommand{eval(r,x,a1 - a4)\free{ais }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch17} -\begin{paste}{ugProblemGaloisPageFull17}{ugProblemGaloisPageEmpty17} -\pastebutton{ugProblemGaloisPageFull17}{\hidepaste} -\tab{5}\spadcommand{eval(r,x,a1 - a5)\free{ais }} -\indentrel{3}\begin{verbatim} - 8 6 4 2 - 405b + 3450b - 19875b - 198000b - 588000 - (17) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 31 - Type: Polynomial AlgebraicNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty17} -\begin{paste}{ugProblemGaloisPageEmpty17}{ugProblemGaloisPagePatch17} -\pastebutton{ugProblemGaloisPageEmpty17}{\showpaste} -\tab{5}\spadcommand{eval(r,x,a1 - a5)\free{ais }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch18} -\begin{paste}{ugProblemGaloisPageFull18}{ugProblemGaloisPageEmpty18} -\pastebutton{ugProblemGaloisPageFull18}{\hidepaste} -\tab{5}\spadcommand{bb := a1 - a4\free{ais }\bound{bb }} -\indentrel{3}\begin{verbatim} - (18) - 9 8 7 6 5 4 - 85b + 402b - 780b - 6840b - 14895b - 12150b - + - 3 2 - 127050b + 908100b + 1074800b - 3984000 - / - 1339200 - Type: AlgebraicNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty18} -\begin{paste}{ugProblemGaloisPageEmpty18}{ugProblemGaloisPagePatch18} -\pastebutton{ugProblemGaloisPageEmpty18}{\showpaste} -\tab{5}\spadcommand{bb := a1 - a4\free{ais }\bound{bb }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch19} -\begin{paste}{ugProblemGaloisPageFull19}{ugProblemGaloisPageEmpty19} -\pastebutton{ugProblemGaloisPageFull19}{\hidepaste} -\tab{5}\spadcommand{aa1 := subst(a1,beta = bb)\free{beta bb ais }\bound{aa1 }} -\indentrel{3}\begin{verbatim} - (19) - 8 6 4 2 - - 143b + 2100b + 10485b - 290550b + 334800b - + - 960800 - / - 669600 - Type: AlgebraicNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty19} -\begin{paste}{ugProblemGaloisPageEmpty19}{ugProblemGaloisPagePatch19} -\pastebutton{ugProblemGaloisPageEmpty19}{\showpaste} -\tab{5}\spadcommand{aa1 := subst(a1,beta = bb)\free{beta bb ais }\bound{aa1 }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch20} -\begin{paste}{ugProblemGaloisPageFull20}{ugProblemGaloisPageEmpty20} -\pastebutton{ugProblemGaloisPageFull20}{\hidepaste} -\tab{5}\spadcommand{aa2 := subst(a2,beta = bb)\free{beta bb ais }\bound{aa2 }} -\indentrel{3}\begin{verbatim} - (20) - 9 8 7 6 5 4 - - 85b + 116b + 780b - 2640b + 14895b + 8820b - + - 3 2 - - 127050b + 327000b - 405200b - 2062400 - / - 1339200 - Type: AlgebraicNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty20} -\begin{paste}{ugProblemGaloisPageEmpty20}{ugProblemGaloisPagePatch20} -\pastebutton{ugProblemGaloisPageEmpty20}{\showpaste} -\tab{5}\spadcommand{aa2 := subst(a2,beta = bb)\free{beta bb ais }\bound{aa2 }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch21} -\begin{paste}{ugProblemGaloisPageFull21}{ugProblemGaloisPageEmpty21} -\pastebutton{ugProblemGaloisPageFull21}{\hidepaste} -\tab{5}\spadcommand{aa3 := subst(a3,beta = bb)\free{beta bb ais }\bound{aa3 }} -\indentrel{3}\begin{verbatim} - (21) - 9 8 7 6 5 4 - 85b + 116b - 780b - 2640b - 14895b + 8820b - + - 3 2 - 127050b + 327000b + 405200b - 2062400 - / - 1339200 - Type: AlgebraicNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty21} -\begin{paste}{ugProblemGaloisPageEmpty21}{ugProblemGaloisPagePatch21} -\pastebutton{ugProblemGaloisPageEmpty21}{\showpaste} -\tab{5}\spadcommand{aa3 := subst(a3,beta = bb)\free{beta bb ais }\bound{aa3 }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch22} -\begin{paste}{ugProblemGaloisPageFull22}{ugProblemGaloisPageEmpty22} -\pastebutton{ugProblemGaloisPageFull22}{\hidepaste} -\tab{5}\spadcommand{aa4 := subst(a4,beta = bb)\free{beta bb ais }\bound{aa4 }} -\indentrel{3}\begin{verbatim} - (22) - 8 6 4 2 - - 143b + 2100b + 10485b - 290550b - 334800b - + - 960800 - / - 669600 - Type: AlgebraicNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty22} -\begin{paste}{ugProblemGaloisPageEmpty22}{ugProblemGaloisPagePatch22} -\pastebutton{ugProblemGaloisPageEmpty22}{\showpaste} -\tab{5}\spadcommand{aa4 := subst(a4,beta = bb)\free{beta bb ais }\bound{aa4 }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch23} -\begin{paste}{ugProblemGaloisPageFull23}{ugProblemGaloisPageEmpty23} -\pastebutton{ugProblemGaloisPageFull23}{\hidepaste} -\tab{5}\spadcommand{aa5 := subst(a5,beta = bb)\free{beta bb ais }\bound{aa5 }} -\indentrel{3}\begin{verbatim} - 8 6 4 2 - 17b - 156b - 2979b + 25410b + 14080 - (23) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 66960 - Type: AlgebraicNumber -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty23} -\begin{paste}{ugProblemGaloisPageEmpty23}{ugProblemGaloisPagePatch23} -\pastebutton{ugProblemGaloisPageEmpty23}{\showpaste} -\tab{5}\spadcommand{aa5 := subst(a5,beta = bb)\free{beta bb ais }\bound{aa5 }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch24} -\begin{paste}{ugProblemGaloisPageFull24}{ugProblemGaloisPageEmpty24} -\pastebutton{ugProblemGaloisPageFull24}{\hidepaste} -\tab{5}\spadcommand{(aa1 = a1) :: Boolean\free{aa1 }} -\indentrel{3}\begin{verbatim} - (24) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty24} -\begin{paste}{ugProblemGaloisPageEmpty24}{ugProblemGaloisPagePatch24} -\pastebutton{ugProblemGaloisPageEmpty24}{\showpaste} -\tab{5}\spadcommand{(aa1 = a1) :: Boolean\free{aa1 }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch25} -\begin{paste}{ugProblemGaloisPageFull25}{ugProblemGaloisPageEmpty25} -\pastebutton{ugProblemGaloisPageFull25}{\hidepaste} -\tab{5}\spadcommand{(aa1 = a2) :: Boolean\free{aa1 }} -\indentrel{3}\begin{verbatim} - (25) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty25} -\begin{paste}{ugProblemGaloisPageEmpty25}{ugProblemGaloisPagePatch25} -\pastebutton{ugProblemGaloisPageEmpty25}{\showpaste} -\tab{5}\spadcommand{(aa1 = a2) :: Boolean\free{aa1 }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch26} -\begin{paste}{ugProblemGaloisPageFull26}{ugProblemGaloisPageEmpty26} -\pastebutton{ugProblemGaloisPageFull26}{\hidepaste} -\tab{5}\spadcommand{(aa1 = a3) :: Boolean\free{aa1 }} -\indentrel{3}\begin{verbatim} - (26) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty26} -\begin{paste}{ugProblemGaloisPageEmpty26}{ugProblemGaloisPagePatch26} -\pastebutton{ugProblemGaloisPageEmpty26}{\showpaste} -\tab{5}\spadcommand{(aa1 = a3) :: Boolean\free{aa1 }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch27} -\begin{paste}{ugProblemGaloisPageFull27}{ugProblemGaloisPageEmpty27} -\pastebutton{ugProblemGaloisPageFull27}{\hidepaste} -\tab{5}\spadcommand{(aa1 = a4) :: Boolean\free{aa1 }} -\indentrel{3}\begin{verbatim} - (27) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty27} -\begin{paste}{ugProblemGaloisPageEmpty27}{ugProblemGaloisPagePatch27} -\pastebutton{ugProblemGaloisPageEmpty27}{\showpaste} -\tab{5}\spadcommand{(aa1 = a4) :: Boolean\free{aa1 }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPagePatch28} -\begin{paste}{ugProblemGaloisPageFull28}{ugProblemGaloisPageEmpty28} -\pastebutton{ugProblemGaloisPageFull28}{\hidepaste} -\tab{5}\spadcommand{(aa1 = a5) :: Boolean\free{aa1 }} -\indentrel{3}\begin{verbatim} - (28) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemGaloisPageEmpty28} -\begin{paste}{ugProblemGaloisPageEmpty28}{ugProblemGaloisPagePatch28} -\pastebutton{ugProblemGaloisPageEmpty28}{\showpaste} -\tab{5}\spadcommand{(aa1 = a5) :: Boolean\free{aa1 }} -\end{paste}\end{patch} - -\begin{patch}{ugProblemLimitsPagePatch1} -\begin{paste}{ugProblemLimitsPageFull1}{ugProblemLimitsPageEmpty1} -\pastebutton{ugProblemLimitsPageFull1}{\hidepaste} -\tab{5}\spadcommand{limit((x**2 - 3*x + 2)/(x**2 - 1),x = 1)} -\indentrel{3}\begin{verbatim} - 1 - (1) - Ä - 2 -Type: Union(OrderedCompletion Fraction Polynomial Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemLimitsPageEmpty1} -\begin{paste}{ugProblemLimitsPageEmpty1}{ugProblemLimitsPagePatch1} -\pastebutton{ugProblemLimitsPageEmpty1}{\showpaste} -\tab{5}\spadcommand{limit((x**2 - 3*x + 2)/(x**2 - 1),x = 1)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemLimitsPagePatch2} -\begin{paste}{ugProblemLimitsPageFull2}{ugProblemLimitsPageEmpty2} -\pastebutton{ugProblemLimitsPageFull2}{\hidepaste} -\tab{5}\spadcommand{limit(x * log(x),x = 0,"right")} -\indentrel{3}\begin{verbatim} - (2) 0 - Type: Union(OrderedCompletion Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemLimitsPageEmpty2} -\begin{paste}{ugProblemLimitsPageEmpty2}{ugProblemLimitsPagePatch2} -\pastebutton{ugProblemLimitsPageEmpty2}{\showpaste} -\tab{5}\spadcommand{limit(x * log(x),x = 0,"right")} -\end{paste}\end{patch} - -\begin{patch}{ugProblemLimitsPagePatch3} -\begin{paste}{ugProblemLimitsPageFull3}{ugProblemLimitsPageEmpty3} -\pastebutton{ugProblemLimitsPageFull3}{\hidepaste} -\tab{5}\spadcommand{limit(x * log(x),x = 0)} -\indentrel{3}\begin{verbatim} - (3) [leftHandLimit= "failed",rightHandLimit= 0] -Type: Union(Record(leftHandLimit: Union(OrderedCompletion Expression Integer,"failed"),rightHandLimit: Union(OrderedCompletion Expression Integer,"failed")),...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemLimitsPageEmpty3} -\begin{paste}{ugProblemLimitsPageEmpty3}{ugProblemLimitsPagePatch3} -\pastebutton{ugProblemLimitsPageEmpty3}{\showpaste} -\tab{5}\spadcommand{limit(x * log(x),x = 0)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemLimitsPagePatch4} -\begin{paste}{ugProblemLimitsPageFull4}{ugProblemLimitsPageEmpty4} -\pastebutton{ugProblemLimitsPageFull4}{\hidepaste} -\tab{5}\spadcommand{limit(sqrt(y**2)/y,y = 0)} -\indentrel{3}\begin{verbatim} - (4) [leftHandLimit= - 1,rightHandLimit= 1] -Type: Union(Record(leftHandLimit: Union(OrderedCompletion Expression Integer,"failed"),rightHandLimit: Union(OrderedCompletion Expression Integer,"failed")),...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemLimitsPageEmpty4} -\begin{paste}{ugProblemLimitsPageEmpty4}{ugProblemLimitsPagePatch4} -\pastebutton{ugProblemLimitsPageEmpty4}{\showpaste} -\tab{5}\spadcommand{limit(sqrt(y**2)/y,y = 0)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemLimitsPagePatch5} -\begin{paste}{ugProblemLimitsPageFull5}{ugProblemLimitsPageEmpty5} -\pastebutton{ugProblemLimitsPageFull5}{\hidepaste} -\tab{5}\spadcommand{limit(sqrt(1 - cos(t))/t,t = 0)} -\indentrel{3}\begin{verbatim} - 1 1 - (5) [leftHandLimit= - ÄÄÄÄ,rightHandLimit= ÄÄÄÄ] - ÚÄ¿ ÚÄ¿ - \³2 \³2 -Type: Union(Record(leftHandLimit: Union(OrderedCompletion Expression Integer,"failed"),rightHandLimit: Union(OrderedCompletion Expression Integer,"failed")),...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemLimitsPageEmpty5} -\begin{paste}{ugProblemLimitsPageEmpty5}{ugProblemLimitsPagePatch5} -\pastebutton{ugProblemLimitsPageEmpty5}{\showpaste} -\tab{5}\spadcommand{limit(sqrt(1 - cos(t))/t,t = 0)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemLimitsPagePatch6} -\begin{paste}{ugProblemLimitsPageFull6}{ugProblemLimitsPageEmpty6} -\pastebutton{ugProblemLimitsPageFull6}{\hidepaste} -\tab{5}\spadcommand{limit(sqrt(3*x**2 + 1)/(5*x),x = \%plusInfinity)} -\indentrel{3}\begin{verbatim} - ÚÄ¿ - \³3 - (6) ÄÄÄÄ - 5 - Type: Union(OrderedCompletion Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemLimitsPageEmpty6} -\begin{paste}{ugProblemLimitsPageEmpty6}{ugProblemLimitsPagePatch6} -\pastebutton{ugProblemLimitsPageEmpty6}{\showpaste} -\tab{5}\spadcommand{limit(sqrt(3*x**2 + 1)/(5*x),x = \%plusInfinity)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemLimitsPagePatch7} -\begin{paste}{ugProblemLimitsPageFull7}{ugProblemLimitsPageEmpty7} -\pastebutton{ugProblemLimitsPageFull7}{\hidepaste} -\tab{5}\spadcommand{limit(sqrt(3*x**2 + 1)/(5*x),x = \%minusInfinity)} -\indentrel{3}\begin{verbatim} - ÚÄ¿ - \³3 - (7) - ÄÄÄÄ - 5 - Type: Union(OrderedCompletion Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemLimitsPageEmpty7} -\begin{paste}{ugProblemLimitsPageEmpty7}{ugProblemLimitsPagePatch7} -\pastebutton{ugProblemLimitsPageEmpty7}{\showpaste} -\tab{5}\spadcommand{limit(sqrt(3*x**2 + 1)/(5*x),x = \%minusInfinity)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemLimitsPagePatch8} -\begin{paste}{ugProblemLimitsPageFull8}{ugProblemLimitsPageEmpty8} -\pastebutton{ugProblemLimitsPageFull8}{\hidepaste} -\tab{5}\spadcommand{limit(sinh(a*x)/tan(b*x),x = 0)} -\indentrel{3}\begin{verbatim} - a - (8) Ä - b - Type: Union(OrderedCompletion Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemLimitsPageEmpty8} -\begin{paste}{ugProblemLimitsPageEmpty8}{ugProblemLimitsPagePatch8} -\pastebutton{ugProblemLimitsPageEmpty8}{\showpaste} -\tab{5}\spadcommand{limit(sinh(a*x)/tan(b*x),x = 0)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemLimitsPagePatch9} -\begin{paste}{ugProblemLimitsPageFull9}{ugProblemLimitsPageEmpty9} -\pastebutton{ugProblemLimitsPageFull9}{\hidepaste} -\tab{5}\spadcommand{limit(z * sin(1/z),z = 0)} -\indentrel{3}\begin{verbatim} - (9) 0 - Type: Union(OrderedCompletion Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemLimitsPageEmpty9} -\begin{paste}{ugProblemLimitsPageEmpty9}{ugProblemLimitsPagePatch9} -\pastebutton{ugProblemLimitsPageEmpty9}{\showpaste} -\tab{5}\spadcommand{limit(z * sin(1/z),z = 0)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemLimitsPagePatch10} -\begin{paste}{ugProblemLimitsPageFull10}{ugProblemLimitsPageEmpty10} -\pastebutton{ugProblemLimitsPageFull10}{\hidepaste} -\tab{5}\spadcommand{complexLimit(z * sin(1/z),z = 0)} -\indentrel{3}\begin{verbatim} - (10) "failed" - Type: Union("failed",...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemLimitsPageEmpty10} -\begin{paste}{ugProblemLimitsPageEmpty10}{ugProblemLimitsPagePatch10} -\pastebutton{ugProblemLimitsPageEmpty10}{\showpaste} -\tab{5}\spadcommand{complexLimit(z * sin(1/z),z = 0)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemLimitsPagePatch11} -\begin{paste}{ugProblemLimitsPageFull11}{ugProblemLimitsPageEmpty11} -\pastebutton{ugProblemLimitsPageFull11}{\hidepaste} -\tab{5}\spadcommand{complexLimit((2 + z)/(1 - z),z = \%infinity)} -\indentrel{3}\begin{verbatim} - (11) - 1 - Type: OnePointCompletion Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemLimitsPageEmpty11} -\begin{paste}{ugProblemLimitsPageEmpty11}{ugProblemLimitsPagePatch11} -\pastebutton{ugProblemLimitsPageEmpty11}{\showpaste} -\tab{5}\spadcommand{complexLimit((2 + z)/(1 - z),z = \%infinity)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemLimitsPagePatch12} -\begin{paste}{ugProblemLimitsPageFull12}{ugProblemLimitsPageEmpty12} -\pastebutton{ugProblemLimitsPageFull12}{\hidepaste} -\tab{5}\spadcommand{limit(sin(x)/x,x = \%plusInfinity)} -\indentrel{3}\begin{verbatim} - (12) 0 - Type: Union(OrderedCompletion Expression Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemLimitsPageEmpty12} -\begin{paste}{ugProblemLimitsPageEmpty12}{ugProblemLimitsPagePatch12} -\pastebutton{ugProblemLimitsPageEmpty12}{\showpaste} -\tab{5}\spadcommand{limit(sin(x)/x,x = \%plusInfinity)} -\end{paste}\end{patch} - -\begin{patch}{ugProblemLimitsPagePatch13} -\begin{paste}{ugProblemLimitsPageFull13}{ugProblemLimitsPageEmpty13} -\pastebutton{ugProblemLimitsPageFull13}{\hidepaste} -\tab{5}\spadcommand{complexLimit(sin(x)/x,x = \%infinity)} -\indentrel{3}\begin{verbatim} - (13) "failed" - Type: Union("failed",...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugProblemLimitsPageEmpty13} -\begin{paste}{ugProblemLimitsPageEmpty13}{ugProblemLimitsPagePatch13} -\pastebutton{ugProblemLimitsPageEmpty13}{\showpaste} -\tab{5}\spadcommand{complexLimit(sin(x)/x,x = \%infinity)} -\end{paste}\end{patch} - diff --git a/books/pages/ug10.pht b/books/pages/ug10.pht deleted file mode 100644 index a321137..0000000 --- a/books/pages/ug10.pht +++ /dev/null @@ -1,729 +0,0 @@ -\begin{patch}{ugIntProgDrawingPagePatch1} -\begin{paste}{ugIntProgDrawingPageFull1}{ugIntProgDrawingPageEmpty1} -\pastebutton{ugIntProgDrawingPageFull1}{\hidepaste} -\tab{5}\spadgraph{draw(x**2,x=-1..1,y=0..1)} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugintprogdrawingpage1.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugintprogdrawingpage1}} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgDrawingPageEmpty1} -\begin{paste}{ugIntProgDrawingPageEmpty1}{ugIntProgDrawingPagePatch1} -\pastebutton{ugIntProgDrawingPageEmpty1}{\showpaste} -\tab{5}\spadgraph{draw(x**2,x=-1..1,y=0..1)} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgDrawingPagePatch2} -\begin{paste}{ugIntProgDrawingPageFull2}{ugIntProgDrawingPageEmpty2} -\pastebutton{ugIntProgDrawingPageFull2}{\hidepaste} -\tab{5}\spadgraph{vp := draw(x**2,x=-1..1,y=0..1,var2Steps==1)\bound{d1 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugintprogdrawingpage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugintprogdrawingpage2}} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgDrawingPageEmpty2} -\begin{paste}{ugIntProgDrawingPageEmpty2}{ugIntProgDrawingPagePatch2} -\pastebutton{ugIntProgDrawingPageEmpty2}{\showpaste} -\tab{5}\spadgraph{vp := draw(x**2,x=-1..1,y=0..1,var2Steps==1)\bound{d1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgDrawingPagePatch3} -\begin{paste}{ugIntProgDrawingPageFull3}{ugIntProgDrawingPageEmpty3} -\pastebutton{ugIntProgDrawingPageFull3}{\hidepaste} -\tab{5}\spadcommand{rotate(vp, 0, -90)\bound{d3 }\free{d1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgDrawingPageEmpty3} -\begin{paste}{ugIntProgDrawingPageEmpty3}{ugIntProgDrawingPagePatch3} -\pastebutton{ugIntProgDrawingPageEmpty3}{\showpaste} -\tab{5}\spadcommand{rotate(vp, 0, -90)\bound{d3 }\free{d1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgDrawingPagePatch4} -\begin{paste}{ugIntProgDrawingPageFull4}{ugIntProgDrawingPageEmpty4} -\pastebutton{ugIntProgDrawingPageFull4}{\hidepaste} -\tab{5}\spadcommand{sp := subspace(vp)\bound{d5 }\free{d1 }} -\indentrel{3}\begin{verbatim} - (4) 3-Space with 1 component - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgDrawingPageEmpty4} -\begin{paste}{ugIntProgDrawingPageEmpty4}{ugIntProgDrawingPagePatch4} -\pastebutton{ugIntProgDrawingPageEmpty4}{\showpaste} -\tab{5}\spadcommand{sp := subspace(vp)\bound{d5 }\free{d1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgDrawingPagePatch5} -\begin{paste}{ugIntProgDrawingPageFull5}{ugIntProgDrawingPageEmpty5} -\pastebutton{ugIntProgDrawingPageFull5}{\hidepaste} -\tab{5}\spadgraph{vp := draw(x**3,x=-1..1,y=1..2,var2Steps==1, space==sp)\bound{d6 }\free{d5 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugintprogdrawingpage5.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugintprogdrawingpage5}} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgDrawingPageEmpty5} -\begin{paste}{ugIntProgDrawingPageEmpty5}{ugIntProgDrawingPagePatch5} -\pastebutton{ugIntProgDrawingPageEmpty5}{\showpaste} -\tab{5}\spadgraph{vp := draw(x**3,x=-1..1,y=1..2,var2Steps==1, space==sp)\bound{d6 }\free{d5 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgDrawingPagePatch6} -\begin{paste}{ugIntProgDrawingPageFull6}{ugIntProgDrawingPageEmpty6} -\pastebutton{ugIntProgDrawingPageFull6}{\hidepaste} -\tab{5}\spadcommand{drawStyle(vp,"shade");outlineRender(vp,"on")\bound{d10 }\free{d6 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgDrawingPageEmpty6} -\begin{paste}{ugIntProgDrawingPageEmpty6}{ugIntProgDrawingPagePatch6} -\pastebutton{ugIntProgDrawingPageEmpty6}{\showpaste} -\tab{5}\spadcommand{drawStyle(vp,"shade");outlineRender(vp,"on")\bound{d10 }\free{d6 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgDrawingPagePatch7} -\begin{paste}{ugIntProgDrawingPageFull7}{ugIntProgDrawingPageEmpty7} -\pastebutton{ugIntProgDrawingPageFull7}{\hidepaste} -\tab{5}\spadcommand{rotate(vp,20,-60); showRegion(vp,"on")\bound{d11 }\free{d10 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgDrawingPageEmpty7} -\begin{paste}{ugIntProgDrawingPageEmpty7}{ugIntProgDrawingPagePatch7} -\pastebutton{ugIntProgDrawingPageEmpty7}{\showpaste} -\tab{5}\spadcommand{rotate(vp,20,-60); showRegion(vp,"on")\bound{d11 }\free{d10 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgColorArrPagePatch1} -\begin{paste}{ugIntProgColorArrPageFull1}{ugIntProgColorArrPageEmpty1} -\pastebutton{ugIntProgColorArrPageFull1}{\hidepaste} -\tab{5}\spadcommand{)read bouquet\bound{b1 }} -\indentrel{3}\begin{verbatim} - (1) 0.20000000000000001 - Type: DoubleFloat - (2) 2.8274333882308138 - Type: DoubleFloat - Type: Void - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgColorArrPageEmpty1} -\begin{paste}{ugIntProgColorArrPageEmpty1}{ugIntProgColorArrPagePatch1} -\pastebutton{ugIntProgColorArrPageEmpty1}{\showpaste} -\tab{5}\spadcommand{)read bouquet\bound{b1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgColorArrPagePatch2} -\begin{paste}{ugIntProgColorArrPageFull2}{ugIntProgColorArrPageEmpty2} -\pastebutton{ugIntProgColorArrPageFull2}{\hidepaste} -\tab{5}\spadgraph{drawBouquet(12,"A Dozen Arrows")\free{b1 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugintprogcolorarrpage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugintprogcolorarrpage2}} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgColorArrPageEmpty2} -\begin{paste}{ugIntProgColorArrPageEmpty2}{ugIntProgColorArrPagePatch2} -\pastebutton{ugIntProgColorArrPageEmpty2}{\showpaste} -\tab{5}\spadgraph{drawBouquet(12,"A Dozen Arrows")\free{b1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgCompFunsPagePatch1} -\begin{paste}{ugIntProgCompFunsPageFull1}{ugIntProgCompFunsPageEmpty1} -\pastebutton{ugIntProgCompFunsPageFull1}{\hidepaste} -\tab{5}\spadcommand{)read vectors\bound{readVI }} -\indentrel{3}\begin{verbatim} - (1) 2.8274333882308138 - Type: DoubleFloat - (2) 0.20000000000000001 - Type: DoubleFloat - Type: Void - (4) 6.0 - Type: DoubleFloat - Type: Void - (6) 25 - Type: Integer - (7) 25 - Type: Integer - (8) Complex DoubleFloat - Type: Domain - (9) Segment DoubleFloat - Type: Domain - Type: Void - Type: Void - Type: Void - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgCompFunsPageEmpty1} -\begin{paste}{ugIntProgCompFunsPageEmpty1}{ugIntProgCompFunsPagePatch1} -\pastebutton{ugIntProgCompFunsPageEmpty1}{\showpaste} -\tab{5}\spadcommand{)read vectors\bound{readVI }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgCompFunsPagePatch2} -\begin{paste}{ugIntProgCompFunsPageFull2}{ugIntProgCompFunsPageEmpty2} -\pastebutton{ugIntProgCompFunsPageFull2}{\hidepaste} -\tab{5}\spadcommand{f(z) == exp(1/z)\bound{e1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgCompFunsPageEmpty2} -\begin{paste}{ugIntProgCompFunsPageEmpty2}{ugIntProgCompFunsPagePatch2} -\pastebutton{ugIntProgCompFunsPageEmpty2}{\showpaste} -\tab{5}\spadcommand{f(z) == exp(1/z)\bound{e1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgCompFunsPagePatch3} -\begin{paste}{ugIntProgCompFunsPageFull3}{ugIntProgCompFunsPageEmpty3} -\pastebutton{ugIntProgCompFunsPageFull3}{\hidepaste} -\tab{5}\spadgraph{drawComplex(f,-2..2,-2..2)\free{e1 readVI }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugintprogcompfunspage3.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugintprogcompfunspage3}} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgCompFunsPageEmpty3} -\begin{paste}{ugIntProgCompFunsPageEmpty3}{ugIntProgCompFunsPagePatch3} -\pastebutton{ugIntProgCompFunsPageEmpty3}{\showpaste} -\tab{5}\spadgraph{drawComplex(f,-2..2,-2..2)\free{e1 readVI }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgVecFieldsPagePatch1} -\begin{paste}{ugIntProgVecFieldsPageFull1}{ugIntProgVecFieldsPageEmpty1} -\pastebutton{ugIntProgVecFieldsPageFull1}{\hidepaste} -\tab{5}\spadcommand{)read vectors\bound{readVI }} -\indentrel{3}\begin{verbatim} - (1) 2.8274333882308138 - Type: DoubleFloat - (2) 0.20000000000000001 - Type: DoubleFloat - Type: Void - (4) 6.0 - Type: DoubleFloat - Type: Void - (6) 25 - Type: Integer - (7) 25 - Type: Integer - (8) Complex DoubleFloat - Type: Domain - (9) Segment DoubleFloat - Type: Domain - Type: Void - Type: Void - Type: Void - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgVecFieldsPageEmpty1} -\begin{paste}{ugIntProgVecFieldsPageEmpty1}{ugIntProgVecFieldsPagePatch1} -\pastebutton{ugIntProgVecFieldsPageEmpty1}{\showpaste} -\tab{5}\spadcommand{)read vectors\bound{readVI }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgVecFieldsPagePatch2} -\begin{paste}{ugIntProgVecFieldsPageFull2}{ugIntProgVecFieldsPageEmpty2} -\pastebutton{ugIntProgVecFieldsPageFull2}{\hidepaste} -\tab{5}\spadgraph{drawComplexVectorField(sin,-2..2,-2..2)\free{readVI }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugintprogvecfieldspage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugintprogvecfieldspage2}} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgVecFieldsPageEmpty2} -\begin{paste}{ugIntProgVecFieldsPageEmpty2}{ugIntProgVecFieldsPagePatch2} -\pastebutton{ugIntProgVecFieldsPageEmpty2}{\showpaste} -\tab{5}\spadgraph{drawComplexVectorField(sin,-2..2,-2..2)\free{readVI }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgFunctionsPagePatch1} -\begin{paste}{ugIntProgFunctionsPageFull1}{ugIntProgFunctionsPageEmpty1} -\pastebutton{ugIntProgFunctionsPageFull1}{\hidepaste} -\tab{5}\spadcommand{(x+1/3)**5\bound{p1 }} -\indentrel{3}\begin{verbatim} - 5 5 4 10 3 10 2 5 1 - (1) x + Ä x + ÄÄ x + ÄÄ x + ÄÄ x + ÄÄÄ - 3 9 27 81 243 - Type: Polynomial Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgFunctionsPageEmpty1} -\begin{paste}{ugIntProgFunctionsPageEmpty1}{ugIntProgFunctionsPagePatch1} -\pastebutton{ugIntProgFunctionsPageEmpty1}{\showpaste} -\tab{5}\spadcommand{(x+1/3)**5\bound{p1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgFunctionsPagePatch2} -\begin{paste}{ugIntProgFunctionsPageFull2}{ugIntProgFunctionsPageEmpty2} -\pastebutton{ugIntProgFunctionsPageFull2}{\hidepaste} -\tab{5}\spadcommand{p := compiledFunction(\%,x)$MakeUnaryCompiledFunction(POLY FRAC INT,DFLOAT,DFLOAT)\bound{p2 }\free{p1 }} -\indentrel{3}\begin{verbatim} - (2) theMap(MKUCFUNC;unaryFunction;SM;2!0,350) - Type: (DoubleFloat -> DoubleFloat) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgFunctionsPageEmpty2} -\begin{paste}{ugIntProgFunctionsPageEmpty2}{ugIntProgFunctionsPagePatch2} -\pastebutton{ugIntProgFunctionsPageEmpty2}{\showpaste} -\tab{5}\spadcommand{p := compiledFunction(\%,x)$MakeUnaryCompiledFunction(POLY FRAC INT,DFLOAT,DFLOAT)\bound{p2 }\free{p1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgFunctionsPagePatch3} -\begin{paste}{ugIntProgFunctionsPageFull3}{ugIntProgFunctionsPageEmpty3} -\pastebutton{ugIntProgFunctionsPageFull3}{\hidepaste} -\tab{5}\spadcommand{p(sin(1.3))\bound{p3 }\free{p2 }} -\indentrel{3}\begin{verbatim} - (3) 3.668751115057229 - Type: DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgFunctionsPageEmpty3} -\begin{paste}{ugIntProgFunctionsPageEmpty3}{ugIntProgFunctionsPagePatch3} -\pastebutton{ugIntProgFunctionsPageEmpty3}{\showpaste} -\tab{5}\spadcommand{p(sin(1.3))\bound{p3 }\free{p2 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgPLCPagePatch1} -\begin{paste}{ugIntProgPLCPageFull1}{ugIntProgPLCPageEmpty1} -\pastebutton{ugIntProgPLCPageFull1}{\hidepaste} -\tab{5}\spadcommand{zero := 0.0@DFLOAT\bound{d1 }} -\indentrel{3}\begin{verbatim} - (1) 0.0 - Type: DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgPLCPageEmpty1} -\begin{paste}{ugIntProgPLCPageEmpty1}{ugIntProgPLCPagePatch1} -\pastebutton{ugIntProgPLCPageEmpty1}{\showpaste} -\tab{5}\spadcommand{zero := 0.0@DFLOAT\bound{d1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgPLCPagePatch2} -\begin{paste}{ugIntProgPLCPageFull2}{ugIntProgPLCPageEmpty2} -\pastebutton{ugIntProgPLCPageFull2}{\hidepaste} -\tab{5}\spadcommand{one := 1.0@DFLOAT\bound{d2 }} -\indentrel{3}\begin{verbatim} - (2) 1.0 - Type: DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgPLCPageEmpty2} -\begin{paste}{ugIntProgPLCPageEmpty2}{ugIntProgPLCPagePatch2} -\pastebutton{ugIntProgPLCPageEmpty2}{\showpaste} -\tab{5}\spadcommand{one := 1.0@DFLOAT\bound{d2 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgPLCPagePatch3} -\begin{paste}{ugIntProgPLCPageFull3}{ugIntProgPLCPageEmpty3} -\pastebutton{ugIntProgPLCPageFull3}{\hidepaste} -\tab{5}\spadcommand{origin := point [zero,zero,zero,zero]\free{d1 }\bound{d3 }} -\indentrel{3}\begin{verbatim} - (3) [0.0,0.0,0.0,0.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgPLCPageEmpty3} -\begin{paste}{ugIntProgPLCPageEmpty3}{ugIntProgPLCPagePatch3} -\pastebutton{ugIntProgPLCPageEmpty3}{\showpaste} -\tab{5}\spadcommand{origin := point [zero,zero,zero,zero]\free{d1 }\bound{d3 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgPLCPagePatch4} -\begin{paste}{ugIntProgPLCPageFull4}{ugIntProgPLCPageEmpty4} -\pastebutton{ugIntProgPLCPageFull4}{\hidepaste} -\tab{5}\spadcommand{unit := point [one,one,one,zero]\free{d1 d2 }\bound{d4 }} -\indentrel{3}\begin{verbatim} - (4) [1.0,1.0,1.0,0.0] - Type: Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgPLCPageEmpty4} -\begin{paste}{ugIntProgPLCPageEmpty4}{ugIntProgPLCPagePatch4} -\pastebutton{ugIntProgPLCPageEmpty4}{\showpaste} -\tab{5}\spadcommand{unit := point [one,one,one,zero]\free{d1 d2 }\bound{d4 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgPLCPagePatch5} -\begin{paste}{ugIntProgPLCPageFull5}{ugIntProgPLCPageEmpty5} -\pastebutton{ugIntProgPLCPageFull5}{\hidepaste} -\tab{5}\spadcommand{line := [origin, unit]\free{d3 d4 }\bound{d5 }} -\indentrel{3}\begin{verbatim} - (5) [[0.0,0.0,0.0,0.0],[1.0,1.0,1.0,0.0]] - Type: List Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgPLCPageEmpty5} -\begin{paste}{ugIntProgPLCPageEmpty5}{ugIntProgPLCPagePatch5} -\pastebutton{ugIntProgPLCPageEmpty5}{\showpaste} -\tab{5}\spadcommand{line := [origin, unit]\free{d3 d4 }\bound{d5 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgPLCPagePatch6} -\begin{paste}{ugIntProgPLCPageFull6}{ugIntProgPLCPageEmpty6} -\pastebutton{ugIntProgPLCPageFull6}{\hidepaste} -\tab{5}\spadcommand{)read arrows\bound{v1 }} -\indentrel{3}\begin{verbatim} - (6) 2.8274333882308138 - Type: DoubleFloat - (7) 0.20000000000000001 - Type: DoubleFloat - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgPLCPageEmpty6} -\begin{paste}{ugIntProgPLCPageEmpty6}{ugIntProgPLCPagePatch6} -\pastebutton{ugIntProgPLCPageEmpty6}{\showpaste} -\tab{5}\spadcommand{)read arrows\bound{v1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgPLCPagePatch7} -\begin{paste}{ugIntProgPLCPageFull7}{ugIntProgPLCPageEmpty7} -\pastebutton{ugIntProgPLCPageFull7}{\hidepaste} -\tab{5}\spadcommand{arrow := makeArrow(origin,unit)\bound{v2 }\free{v1 d3 d4 }} -\indentrel{3}\begin{verbatim} - (9) - [ - [[0.0,0.0,0.0,0.0], [1.0,1.0,1.0,0.0], - - [0.69134628604607973, 0.842733077659504, - 0.80000000000000004, 0.0] - ] - , - - [[1.0,1.0,1.0,0.0], - - [0.842733077659504, 0.69134628604607973, - 0.80000000000000004, 0.0] - ] - ] - Type: List List Point DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgPLCPageEmpty7} -\begin{paste}{ugIntProgPLCPageEmpty7}{ugIntProgPLCPagePatch7} -\pastebutton{ugIntProgPLCPageEmpty7}{\showpaste} -\tab{5}\spadcommand{arrow := makeArrow(origin,unit)\bound{v2 }\free{v1 d3 d4 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgPLCPagePatch8} -\begin{paste}{ugIntProgPLCPageFull8}{ugIntProgPLCPageEmpty8} -\pastebutton{ugIntProgPLCPageFull8}{\hidepaste} -\tab{5}\spadcommand{sp := createThreeSpace()\bound{c1 }} -\indentrel{3}\begin{verbatim} - (10) 3-Space with 0 components - Type: ThreeSpace DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgPLCPageEmpty8} -\begin{paste}{ugIntProgPLCPageEmpty8}{ugIntProgPLCPagePatch8} -\pastebutton{ugIntProgPLCPageEmpty8}{\showpaste} -\tab{5}\spadcommand{sp := createThreeSpace()\bound{c1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgPLCPagePatch9} -\begin{paste}{ugIntProgPLCPageFull9}{ugIntProgPLCPageEmpty9} -\pastebutton{ugIntProgPLCPageFull9}{\hidepaste} -\tab{5}\spadcommand{for a in arrow repeat sp := curve(sp,a)\bound{v3 }\free{v2 }\free{c1 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgPLCPageEmpty9} -\begin{paste}{ugIntProgPLCPageEmpty9}{ugIntProgPLCPagePatch9} -\pastebutton{ugIntProgPLCPageEmpty9}{\showpaste} -\tab{5}\spadcommand{for a in arrow repeat sp := curve(sp,a)\bound{v3 }\free{v2 }\free{c1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgPLCPagePatch10} -\begin{paste}{ugIntProgPLCPageFull10}{ugIntProgPLCPageEmpty10} -\pastebutton{ugIntProgPLCPageFull10}{\hidepaste} -\tab{5}\spadgraph{vp := makeViewport3D(sp,"Arrow")\bound{v4 }\free{v3 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugintprogplcpage10.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugintprogplcpage10}} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgPLCPageEmpty10} -\begin{paste}{ugIntProgPLCPageEmpty10}{ugIntProgPLCPagePatch10} -\pastebutton{ugIntProgPLCPageEmpty10}{\showpaste} -\tab{5}\spadgraph{vp := makeViewport3D(sp,"Arrow")\bound{v4 }\free{v3 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgPLCPagePatch11} -\begin{paste}{ugIntProgPLCPageFull11}{ugIntProgPLCPageEmpty11} -\pastebutton{ugIntProgPLCPageFull11}{\hidepaste} -\tab{5}\spadcommand{rotate(vp,200,-60)\bound{v5 }\free{v4 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgPLCPageEmpty11} -\begin{paste}{ugIntProgPLCPageEmpty11}{ugIntProgPLCPagePatch11} -\pastebutton{ugIntProgPLCPageEmpty11}{\showpaste} -\tab{5}\spadcommand{rotate(vp,200,-60)\bound{v5 }\free{v4 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgRibbonPagePatch1} -\begin{paste}{ugIntProgRibbonPageFull1}{ugIntProgRibbonPageEmpty1} -\pastebutton{ugIntProgRibbonPageFull1}{\hidepaste} -\tab{5}\spadcommand{)read ribbon\bound{s0 }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgRibbonPageEmpty1} -\begin{paste}{ugIntProgRibbonPageEmpty1}{ugIntProgRibbonPagePatch1} -\pastebutton{ugIntProgRibbonPageEmpty1}{\showpaste} -\tab{5}\spadcommand{)read ribbon\bound{s0 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgRibbonPagePatch2} -\begin{paste}{ugIntProgRibbonPageFull2}{ugIntProgRibbonPageEmpty2} -\pastebutton{ugIntProgRibbonPageFull2}{\hidepaste} -\tab{5}\spadgraph{drawRibbons([x**i for i in 1..5],x=-1..1)\free{s0 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugintprogribbonpage2.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugintprogribbonpage2}} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgRibbonPageEmpty2} -\begin{paste}{ugIntProgRibbonPageEmpty2}{ugIntProgRibbonPagePatch2} -\pastebutton{ugIntProgRibbonPageEmpty2}{\showpaste} -\tab{5}\spadgraph{drawRibbons([x**i for i in 1..5],x=-1..1)\free{s0 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgNewtonPagePatch1} -\begin{paste}{ugIntProgNewtonPageFull1}{ugIntProgNewtonPageEmpty1} -\pastebutton{ugIntProgNewtonPageFull1}{\hidepaste} -\tab{5}\spadcommand{)read newton\bound{n1 }} -\indentrel{3}\begin{verbatim} - Type: Void - (2) - MakeUnaryCompiledFunction(Expression Integer,Complex Do - ubleFloat,Complex DoubleFloat) - Type: Domain - Type: Void - Type: Void - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgNewtonPageEmpty1} -\begin{paste}{ugIntProgNewtonPageEmpty1}{ugIntProgNewtonPagePatch1} -\pastebutton{ugIntProgNewtonPageEmpty1}{\showpaste} -\tab{5}\spadcommand{)read newton\bound{n1 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgNewtonPagePatch2} -\begin{paste}{ugIntProgNewtonPageFull2}{ugIntProgNewtonPageEmpty2} -\pastebutton{ugIntProgNewtonPageFull2}{\hidepaste} -\tab{5}\spadcommand{)read vectors\bound{n1a }} -\indentrel{3}\begin{verbatim} - (6) 2.8274333882308138 - Type: DoubleFloat - (7) 0.20000000000000001 - Type: DoubleFloat - Type: Void - (9) 6.0 - Type: DoubleFloat - Type: Void - (11) 25 - Type: Integer - (12) 25 - Type: Integer - (13) Complex DoubleFloat - Type: Domain - (14) Segment DoubleFloat - Type: Domain - Type: Void - Type: Void - Type: Void - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgNewtonPageEmpty2} -\begin{paste}{ugIntProgNewtonPageEmpty2}{ugIntProgNewtonPagePatch2} -\pastebutton{ugIntProgNewtonPageEmpty2}{\showpaste} -\tab{5}\spadcommand{)read vectors\bound{n1a }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgNewtonPagePatch3} -\begin{paste}{ugIntProgNewtonPageFull3}{ugIntProgNewtonPageEmpty3} -\pastebutton{ugIntProgNewtonPageFull3}{\hidepaste} -\tab{5}\spadcommand{f := x**3 - 2\bound{n2 }\free{n1 n1a }} -\indentrel{3}\begin{verbatim} - 3 - (19) x - 2 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgNewtonPageEmpty3} -\begin{paste}{ugIntProgNewtonPageEmpty3}{ugIntProgNewtonPagePatch3} -\pastebutton{ugIntProgNewtonPageEmpty3}{\showpaste} -\tab{5}\spadcommand{f := x**3 - 2\bound{n2 }\free{n1 n1a }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgNewtonPagePatch4} -\begin{paste}{ugIntProgNewtonPageFull4}{ugIntProgNewtonPageEmpty4} -\pastebutton{ugIntProgNewtonPageFull4}{\hidepaste} -\tab{5}\spadcommand{g := newtonStep f\bound{n3 }\free{n2 }} -\indentrel{3}\begin{verbatim} - (20) theMap(LAMBDA_f3lkwh_704,484) - Type: (Complex DoubleFloat -> Complex DoubleFloat) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgNewtonPageEmpty4} -\begin{paste}{ugIntProgNewtonPageEmpty4}{ugIntProgNewtonPagePatch4} -\pastebutton{ugIntProgNewtonPageEmpty4}{\showpaste} -\tab{5}\spadcommand{g := newtonStep f\bound{n3 }\free{n2 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgNewtonPagePatch5} -\begin{paste}{ugIntProgNewtonPageFull5}{ugIntProgNewtonPageEmpty5} -\pastebutton{ugIntProgNewtonPageFull5}{\hidepaste} -\tab{5}\spadcommand{a := g(1.0 + \%i)\bound{n4 }\free{n3 }} -\indentrel{3}\begin{verbatim} - (21) 0.66666666666666674 + 0.33333333333333337%i - Type: Complex DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgNewtonPageEmpty5} -\begin{paste}{ugIntProgNewtonPageEmpty5}{ugIntProgNewtonPagePatch5} -\pastebutton{ugIntProgNewtonPageEmpty5}{\showpaste} -\tab{5}\spadcommand{a := g(1.0 + \%i)\bound{n4 }\free{n3 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgNewtonPagePatch6} -\begin{paste}{ugIntProgNewtonPageFull6}{ugIntProgNewtonPageEmpty6} -\pastebutton{ugIntProgNewtonPageFull6}{\hidepaste} -\tab{5}\spadcommand{[(a := g(a)) for i in 1..]\bound{n5 }\free{n4 }} -\indentrel{3}\begin{verbatim} - (22) - [1.1644444444444444 - 0.73777777777777775%i, - 0.92614004697164776 - 0.17463006425584393%i, - 1.3164444838140228 + 0.15690694583015852%i, - 1.2462991025761463 + 0.015454763610132094%i, - 1.2598725296532081 - 0.00033827162059311272%i, - 1.259920960928212 + 2.6023534653422681e-08%i, - 1.259921049894879 - 3.6751942591616685e-15%i, - 1.2599210498948732 - 3.3132158019282496e-29%i, - 1.2599210498948732 - 5.6051938572992683e-45%i, - 1.2599210498948732, ...] - Type: Stream Complex DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgNewtonPageEmpty6} -\begin{paste}{ugIntProgNewtonPageEmpty6}{ugIntProgNewtonPagePatch6} -\pastebutton{ugIntProgNewtonPageEmpty6}{\showpaste} -\tab{5}\spadcommand{[(a := g(a)) for i in 1..]\bound{n5 }\free{n4 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgNewtonPagePatch7} -\begin{paste}{ugIntProgNewtonPageFull7}{ugIntProgNewtonPageEmpty7} -\pastebutton{ugIntProgNewtonPageFull7}{\hidepaste} -\tab{5}\spadcommand{a**3\bound{n6 }\free{n5 }} -\indentrel{3}\begin{verbatim} - (23) 2.0 - Type: Complex DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgNewtonPageEmpty7} -\begin{paste}{ugIntProgNewtonPageEmpty7}{ugIntProgNewtonPagePatch7} -\pastebutton{ugIntProgNewtonPageEmpty7}{\showpaste} -\tab{5}\spadcommand{a**3\bound{n6 }\free{n5 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgNewtonPagePatch8} -\begin{paste}{ugIntProgNewtonPageFull8}{ugIntProgNewtonPageEmpty8} -\pastebutton{ugIntProgNewtonPageFull8}{\hidepaste} -\tab{5}\spadcommand{(g*g) (1.0 + \%i)\bound{n10 }\free{n3 }} -\indentrel{3}\begin{verbatim} - (24) 1.1644444444444444 - 0.73777777777777775%i - Type: Complex DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgNewtonPageEmpty8} -\begin{paste}{ugIntProgNewtonPageEmpty8}{ugIntProgNewtonPagePatch8} -\pastebutton{ugIntProgNewtonPageEmpty8}{\showpaste} -\tab{5}\spadcommand{(g*g) (1.0 + \%i)\bound{n10 }\free{n3 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgNewtonPagePatch9} -\begin{paste}{ugIntProgNewtonPageFull9}{ugIntProgNewtonPageEmpty9} -\pastebutton{ugIntProgNewtonPageFull9}{\hidepaste} -\tab{5}\spadcommand{(g**11) (1.0 + \%i)\bound{n11 }\free{n10 }} -\indentrel{3}\begin{verbatim} - (25) 1.2599210498948732 - Type: Complex DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgNewtonPageEmpty9} -\begin{paste}{ugIntProgNewtonPageEmpty9}{ugIntProgNewtonPagePatch9} -\pastebutton{ugIntProgNewtonPageEmpty9}{\showpaste} -\tab{5}\spadcommand{(g**11) (1.0 + \%i)\bound{n11 }\free{n10 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgNewtonPagePatch10} -\begin{paste}{ugIntProgNewtonPageFull10}{ugIntProgNewtonPageEmpty10} -\pastebutton{ugIntProgNewtonPageFull10}{\hidepaste} -\tab{5}\spadgraph{drawComplexVectorField(g**3,-3..3,-3..3)\free{n3 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugintprognewtonpage10.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugintprognewtonpage10}} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgNewtonPageEmpty10} -\begin{paste}{ugIntProgNewtonPageEmpty10}{ugIntProgNewtonPagePatch10} -\pastebutton{ugIntProgNewtonPageEmpty10}{\showpaste} -\tab{5}\spadgraph{drawComplexVectorField(g**3,-3..3,-3..3)\free{n3 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgNewtonPagePatch11} -\begin{paste}{ugIntProgNewtonPageFull11}{ugIntProgNewtonPageEmpty11} -\pastebutton{ugIntProgNewtonPageFull11}{\hidepaste} -\tab{5}\spadgraph{drawComplex(g**3,-3..3,-3..3)\free{n3 }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugintprognewtonpage11.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugintprognewtonpage11}} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgNewtonPageEmpty11} -\begin{paste}{ugIntProgNewtonPageEmpty11}{ugIntProgNewtonPagePatch11} -\pastebutton{ugIntProgNewtonPageEmpty11}{\showpaste} -\tab{5}\spadgraph{drawComplex(g**3,-3..3,-3..3)\free{n3 }} -\end{paste}\end{patch} - -\begin{patch}{ugIntProgNewtonPagePatch12} -\begin{paste}{ugIntProgNewtonPageFull12}{ugIntProgNewtonPageEmpty12} -\pastebutton{ugIntProgNewtonPageFull12}{\hidepaste} -\tab{5}\spadcommand{all} -\indentrel{3}\begin{verbatim} - (28) all - Type: Variable all -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugIntProgNewtonPageEmpty12} -\begin{paste}{ugIntProgNewtonPageEmpty12}{ugIntProgNewtonPagePatch12} -\pastebutton{ugIntProgNewtonPageEmpty12}{\showpaste} -\tab{5}\spadcommand{all} -\end{paste}\end{patch} - diff --git a/books/pages/ug11.pht b/books/pages/ug11.pht deleted file mode 100644 index aaa7946..0000000 --- a/books/pages/ug11.pht +++ /dev/null @@ -1,356 +0,0 @@ -\begin{patch}{ugPackagesPackagesPagePatch1} -\begin{paste}{ugPackagesPackagesPageFull1}{ugPackagesPackagesPageEmpty1} -\pastebutton{ugPackagesPackagesPageFull1}{\hidepaste} -\tab{5}\spadcommand{)compile drawpak} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugPackagesPackagesPageEmpty1} -\begin{paste}{ugPackagesPackagesPageEmpty1}{ugPackagesPackagesPagePatch1} -\pastebutton{ugPackagesPackagesPageEmpty1}{\showpaste} -\tab{5}\spadcommand{)compile drawpak} -\end{paste}\end{patch} - -\begin{patch}{ugPackagesPackagesPagePatch2} -\begin{paste}{ugPackagesPackagesPageFull2}{ugPackagesPackagesPageEmpty2} -\pastebutton{ugPackagesPackagesPageFull2}{\hidepaste} -\tab{5}\spadcommand{)expose DRAWCX\bound{dp }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugPackagesPackagesPageEmpty2} -\begin{paste}{ugPackagesPackagesPageEmpty2}{ugPackagesPackagesPagePatch2} -\pastebutton{ugPackagesPackagesPageEmpty2}{\showpaste} -\tab{5}\spadcommand{)expose DRAWCX\bound{dp }} -\end{paste}\end{patch} - -\begin{patch}{ugPackagesPackagesPagePatch3} -\begin{paste}{ugPackagesPackagesPageFull3}{ugPackagesPackagesPageEmpty3} -\pastebutton{ugPackagesPackagesPageFull3}{\hidepaste} -\tab{5}\spadcommand{setRealSteps 51\free{dp }\bound{srs }} -\indentrel{3}\begin{verbatim} - (1) 51 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugPackagesPackagesPageEmpty3} -\begin{paste}{ugPackagesPackagesPageEmpty3}{ugPackagesPackagesPagePatch3} -\pastebutton{ugPackagesPackagesPageEmpty3}{\showpaste} -\tab{5}\spadcommand{setRealSteps 51\free{dp }\bound{srs }} -\end{paste}\end{patch} - -\begin{patch}{ugPackagesPackagesPagePatch4} -\begin{paste}{ugPackagesPackagesPageFull4}{ugPackagesPackagesPageEmpty4} -\pastebutton{ugPackagesPackagesPageFull4}{\hidepaste} -\tab{5}\spadcommand{setImagSteps 51\free{dp }\bound{scs }} -\indentrel{3}\begin{verbatim} - (2) 51 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugPackagesPackagesPageEmpty4} -\begin{paste}{ugPackagesPackagesPageEmpty4}{ugPackagesPackagesPagePatch4} -\pastebutton{ugPackagesPackagesPageEmpty4}{\showpaste} -\tab{5}\spadcommand{setImagSteps 51\free{dp }\bound{scs }} -\end{paste}\end{patch} - -\begin{patch}{ugPackagesPackagesPagePatch5} -\begin{paste}{ugPackagesPackagesPageFull5}{ugPackagesPackagesPageEmpty5} -\pastebutton{ugPackagesPackagesPageFull5}{\hidepaste} -\tab{5}\spadcommand{f(z) == Gamma(z)\bound{f }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugPackagesPackagesPageEmpty5} -\begin{paste}{ugPackagesPackagesPageEmpty5}{ugPackagesPackagesPagePatch5} -\pastebutton{ugPackagesPackagesPageEmpty5}{\showpaste} -\tab{5}\spadcommand{f(z) == Gamma(z)\bound{f }} -\end{paste}\end{patch} - -\begin{patch}{ugPackagesPackagesPagePatch6} -\begin{paste}{ugPackagesPackagesPageFull6}{ugPackagesPackagesPageEmpty6} -\pastebutton{ugPackagesPackagesPageFull6}{\hidepaste} -\tab{5}\spadcommand{setClipValue 7} -\indentrel{3}\begin{verbatim} - (4) 7.0 - Type: DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugPackagesPackagesPageEmpty6} -\begin{paste}{ugPackagesPackagesPageEmpty6}{ugPackagesPackagesPagePatch6} -\pastebutton{ugPackagesPackagesPageEmpty6}{\showpaste} -\tab{5}\spadcommand{setClipValue 7} -\end{paste}\end{patch} - -\begin{patch}{ugPackagesPackagesPagePatch7} -\begin{paste}{ugPackagesPackagesPageFull7}{ugPackagesPackagesPageEmpty7} -\pastebutton{ugPackagesPackagesPageFull7}{\hidepaste} -\tab{5}\spadgraph{drawComplex(f,-\%pi..\%pi,-\%pi..\%pi, false)\free{srs scs f }} -\center{\unixcommand{\inputimage{\env{AXIOM}/doc/viewports/ugpackagespackagespage7.view/image}}{viewalone\space{1} \env{AXIOM}/doc/viewports/ugpackagespackagespage7}} -\end{paste}\end{patch} - -\begin{patch}{ugPackagesPackagesPageEmpty7} -\begin{paste}{ugPackagesPackagesPageEmpty7}{ugPackagesPackagesPagePatch7} -\pastebutton{ugPackagesPackagesPageEmpty7}{\showpaste} -\tab{5}\spadgraph{drawComplex(f,-\%pi..\%pi,-\%pi..\%pi, false)\free{srs scs f }} -\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPagePatch1} -\begin{paste}{ugPackagesCompilingPageFull1}{ugPackagesCompilingPageEmpty1} -\pastebutton{ugPackagesCompilingPageFull1}{\hidepaste} -\tab{5}\spadcommand{)expose SORTPAK} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPageEmpty1} -\begin{paste}{ugPackagesCompilingPageEmpty1}{ugPackagesCompilingPagePatch1} -\pastebutton{ugPackagesCompilingPageEmpty1}{\showpaste} -\tab{5}\spadcommand{)expose SORTPAK} -\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPagePatch2} -\begin{paste}{ugPackagesCompilingPageFull2}{ugPackagesCompilingPageEmpty2} -\pastebutton{ugPackagesCompilingPageFull2}{\hidepaste} -\tab{5}\spadcommand{l := [1,7,4,2,11,-7,3,2]} -\indentrel{3}\begin{verbatim} - (1) [1,7,4,2,11,- 7,3,2] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPageEmpty2} -\begin{paste}{ugPackagesCompilingPageEmpty2}{ugPackagesCompilingPagePatch2} -\pastebutton{ugPackagesCompilingPageEmpty2}{\showpaste} -\tab{5}\spadcommand{l := [1,7,4,2,11,-7,3,2]} -\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPagePatch3} -\begin{paste}{ugPackagesCompilingPageFull3}{ugPackagesCompilingPageEmpty3} -\pastebutton{ugPackagesCompilingPageFull3}{\hidepaste} -\tab{5}\spadcommand{bubbleSort!(l)} -\indentrel{3}\begin{verbatim} - (2) [- 7,1,2,2,3,4,7,11] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPageEmpty3} -\begin{paste}{ugPackagesCompilingPageEmpty3}{ugPackagesCompilingPagePatch3} -\pastebutton{ugPackagesCompilingPageEmpty3}{\showpaste} -\tab{5}\spadcommand{bubbleSort!(l)} -\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPagePatch4} -\begin{paste}{ugPackagesCompilingPageFull4}{ugPackagesCompilingPageEmpty4} -\pastebutton{ugPackagesCompilingPageFull4}{\hidepaste} -\tab{5}\spadcommand{bubbleSort!(l,(x,y) +-> x > y)} -\indentrel{3}\begin{verbatim} - (3) [11,7,4,3,2,2,1,- 7] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPageEmpty4} -\begin{paste}{ugPackagesCompilingPageEmpty4}{ugPackagesCompilingPagePatch4} -\pastebutton{ugPackagesCompilingPageEmpty4}{\showpaste} -\tab{5}\spadcommand{bubbleSort!(l,(x,y) +-> x > y)} -\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPagePatch5} -\begin{paste}{ugPackagesCompilingPageFull5}{ugPackagesCompilingPageEmpty5} -\pastebutton{ugPackagesCompilingPageFull5}{\hidepaste} -\tab{5}\spadcommand{bubbleSort!(l, <$Integer)} -\indentrel{3}\begin{verbatim} - (4) [- 7,1,2,2,3,4,7,11] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPageEmpty5} -\begin{paste}{ugPackagesCompilingPageEmpty5}{ugPackagesCompilingPagePatch5} -\pastebutton{ugPackagesCompilingPageEmpty5}{\showpaste} -\tab{5}\spadcommand{bubbleSort!(l, <$Integer)} -\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPagePatch6} -\begin{paste}{ugPackagesCompilingPageFull6}{ugPackagesCompilingPageEmpty6} -\pastebutton{ugPackagesCompilingPageFull6}{\hidepaste} -\tab{5}\spadcommand{bubbleSort! "Mathematical Sciences"} -\indentrel{3}\begin{verbatim} - (5) " MSaaaccceeehiilmnstt" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPageEmpty6} -\begin{paste}{ugPackagesCompilingPageEmpty6}{ugPackagesCompilingPagePatch6} -\pastebutton{ugPackagesCompilingPageEmpty6}{\showpaste} -\tab{5}\spadcommand{bubbleSort! "Mathematical Sciences"} -\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPagePatch7} -\begin{paste}{ugPackagesCompilingPageFull7}{ugPackagesCompilingPageEmpty7} -\pastebutton{ugPackagesCompilingPageFull7}{\hidepaste} -\tab{5}\spadcommand{false < true} -\indentrel{3}\begin{verbatim} - (6) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPageEmpty7} -\begin{paste}{ugPackagesCompilingPageEmpty7}{ugPackagesCompilingPagePatch7} -\pastebutton{ugPackagesCompilingPageEmpty7}{\showpaste} -\tab{5}\spadcommand{false < true} -\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPagePatch8} -\begin{paste}{ugPackagesCompilingPageFull8}{ugPackagesCompilingPageEmpty8} -\pastebutton{ugPackagesCompilingPageFull8}{\hidepaste} -\tab{5}\spadcommand{u : Bits := new(10,true)} -\indentrel{3}\begin{verbatim} - (7) "1111111111" - Type: Bits -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPageEmpty8} -\begin{paste}{ugPackagesCompilingPageEmpty8}{ugPackagesCompilingPagePatch8} -\pastebutton{ugPackagesCompilingPageEmpty8}{\showpaste} -\tab{5}\spadcommand{u : Bits := new(10,true)} -\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPagePatch9} -\begin{paste}{ugPackagesCompilingPageFull9}{ugPackagesCompilingPageEmpty9} -\pastebutton{ugPackagesCompilingPageFull9}{\hidepaste} -\tab{5}\spadcommand{u(3..5) := false; u} -\indentrel{3}\begin{verbatim} - (8) "1100011111" - Type: Bits -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPageEmpty9} -\begin{paste}{ugPackagesCompilingPageEmpty9}{ugPackagesCompilingPagePatch9} -\pastebutton{ugPackagesCompilingPageEmpty9}{\showpaste} -\tab{5}\spadcommand{u(3..5) := false; u} -\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPagePatch10} -\begin{paste}{ugPackagesCompilingPageFull10}{ugPackagesCompilingPageEmpty10} -\pastebutton{ugPackagesCompilingPageFull10}{\hidepaste} -\tab{5}\spadcommand{bubbleSort! u} -\indentrel{3}\begin{verbatim} - (9) "0001111111" - Type: Bits -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPageEmpty10} -\begin{paste}{ugPackagesCompilingPageEmpty10}{ugPackagesCompilingPagePatch10} -\pastebutton{ugPackagesCompilingPageEmpty10}{\showpaste} -\tab{5}\spadcommand{bubbleSort! u} -\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPagePatch11} -\begin{paste}{ugPackagesCompilingPageFull11}{ugPackagesCompilingPageEmpty11} -\pastebutton{ugPackagesCompilingPageFull11}{\hidepaste} -\tab{5}\spadcommand{t : EqTable(Integer,String) := table()} -\indentrel{3}\begin{verbatim} - (10) table() - Type: EqTable(Integer,String) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPageEmpty11} -\begin{paste}{ugPackagesCompilingPageEmpty11}{ugPackagesCompilingPagePatch11} -\pastebutton{ugPackagesCompilingPageEmpty11}{\showpaste} -\tab{5}\spadcommand{t : EqTable(Integer,String) := table()} -\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPagePatch12} -\begin{paste}{ugPackagesCompilingPageFull12}{ugPackagesCompilingPageEmpty12} -\pastebutton{ugPackagesCompilingPageFull12}{\hidepaste} -\tab{5}\spadcommand{t.1 := "robert"} -\indentrel{3}\begin{verbatim} - (11) "robert" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPageEmpty12} -\begin{paste}{ugPackagesCompilingPageEmpty12}{ugPackagesCompilingPagePatch12} -\pastebutton{ugPackagesCompilingPageEmpty12}{\showpaste} -\tab{5}\spadcommand{t.1 := "robert"} -\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPagePatch13} -\begin{paste}{ugPackagesCompilingPageFull13}{ugPackagesCompilingPageEmpty13} -\pastebutton{ugPackagesCompilingPageFull13}{\hidepaste} -\tab{5}\spadcommand{t.2 := "richard"} -\indentrel{3}\begin{verbatim} - (12) "richard" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPageEmpty13} -\begin{paste}{ugPackagesCompilingPageEmpty13}{ugPackagesCompilingPagePatch13} -\pastebutton{ugPackagesCompilingPageEmpty13}{\showpaste} -\tab{5}\spadcommand{t.2 := "richard"} -\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPagePatch14} -\begin{paste}{ugPackagesCompilingPageFull14}{ugPackagesCompilingPageEmpty14} -\pastebutton{ugPackagesCompilingPageFull14}{\hidepaste} -\tab{5}\spadcommand{t} -\indentrel{3}\begin{verbatim} - (13) table(2= "richard",1= "robert") - Type: EqTable(Integer,String) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPageEmpty14} -\begin{paste}{ugPackagesCompilingPageEmpty14}{ugPackagesCompilingPagePatch14} -\pastebutton{ugPackagesCompilingPageEmpty14}{\showpaste} -\tab{5}\spadcommand{t} -\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPagePatch15} -\begin{paste}{ugPackagesCompilingPageFull15}{ugPackagesCompilingPageEmpty15} -\pastebutton{ugPackagesCompilingPageFull15}{\hidepaste} -\tab{5}\spadcommand{bubbleSort! t} -\indentrel{3}\begin{verbatim} - (14) table(2= "robert",1= "richard") - Type: EqTable(Integer,String) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugPackagesCompilingPageEmpty15} -\begin{paste}{ugPackagesCompilingPageEmpty15}{ugPackagesCompilingPagePatch15} -\pastebutton{ugPackagesCompilingPageEmpty15}{\showpaste} -\tab{5}\spadcommand{bubbleSort! t} -\end{paste}\end{patch} - -\begin{patch}{ugPackagesHowPagePatch1} -\begin{paste}{ugPackagesHowPageFull1}{ugPackagesHowPageEmpty1} -\pastebutton{ugPackagesHowPageFull1}{\hidepaste} -\tab{5}\spadcommand{)display op bubbleSort!} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugPackagesHowPageEmpty1} -\begin{paste}{ugPackagesHowPageEmpty1}{ugPackagesHowPagePatch1} -\pastebutton{ugPackagesHowPageEmpty1}{\showpaste} -\tab{5}\spadcommand{)display op bubbleSort!} -\end{paste}\end{patch} - diff --git a/books/pages/ug12.pht b/books/pages/ug12.pht deleted file mode 100644 index 118e4a5..0000000 --- a/books/pages/ug12.pht +++ /dev/null @@ -1,32 +0,0 @@ -\begin{patch}{ugCategoriesAttributesPagePatch1} -\begin{paste}{ugCategoriesAttributesPageFull1}{ugCategoriesAttributesPageEmpty1} -\pastebutton{ugCategoriesAttributesPageFull1}{\hidepaste} -\tab{5}\spadcommand{Polynomial Integer has commutative("*")} -\indentrel{3}\begin{verbatim} - (1) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugCategoriesAttributesPageEmpty1} -\begin{paste}{ugCategoriesAttributesPageEmpty1}{ugCategoriesAttributesPagePatch1} -\pastebutton{ugCategoriesAttributesPageEmpty1}{\showpaste} -\tab{5}\spadcommand{Polynomial Integer has commutative("*")} -\end{paste}\end{patch} - -\begin{patch}{ugCategoriesAttributesPagePatch2} -\begin{paste}{ugCategoriesAttributesPageFull2}{ugCategoriesAttributesPageEmpty2} -\pastebutton{ugCategoriesAttributesPageFull2}{\hidepaste} -\tab{5}\spadcommand{Matrix Integer has commutative("*")} -\indentrel{3}\begin{verbatim} - (2) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugCategoriesAttributesPageEmpty2} -\begin{paste}{ugCategoriesAttributesPageEmpty2}{ugCategoriesAttributesPagePatch2} -\pastebutton{ugCategoriesAttributesPageEmpty2}{\showpaste} -\tab{5}\spadcommand{Matrix Integer has commutative("*")} -\end{paste}\end{patch} - diff --git a/books/pages/ug13.pht b/books/pages/ug13.pht deleted file mode 100644 index aa8f34e..0000000 --- a/books/pages/ug13.pht +++ /dev/null @@ -1,673 +0,0 @@ -\begin{patch}{ugDomainsExamplesPagePatch1} -\begin{paste}{ugDomainsExamplesPageFull1}{ugDomainsExamplesPageEmpty1} -\pastebutton{ugDomainsExamplesPageFull1}{\hidepaste} -\tab{5}\spadcommand{ks := getDatabase "k"\bound{q1 }} -\indentrel{3}\begin{verbatim} - (1) 1067 - Type: Database IndexCard -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPageEmpty1} -\begin{paste}{ugDomainsExamplesPageEmpty1}{ugDomainsExamplesPagePatch1} -\pastebutton{ugDomainsExamplesPageEmpty1}{\showpaste} -\tab{5}\spadcommand{ks := getDatabase "k"\bound{q1 }} -\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPagePatch2} -\begin{paste}{ugDomainsExamplesPageFull2}{ugDomainsExamplesPageEmpty2} -\pastebutton{ugDomainsExamplesPageFull2}{\hidepaste} -\tab{5}\spadcommand{[ks.(kind=k) for k in ["c","d","p"]]\bound{q3 }\free{q1 }} -\indentrel{3}\begin{verbatim} - (2) [205,393,469] - Type: List Database IndexCard -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPageEmpty2} -\begin{paste}{ugDomainsExamplesPageEmpty2}{ugDomainsExamplesPagePatch2} -\pastebutton{ugDomainsExamplesPageEmpty2}{\showpaste} -\tab{5}\spadcommand{[ks.(kind=k) for k in ["c","d","p"]]\bound{q3 }\free{q1 }} -\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPagePatch3} -\begin{paste}{ugDomainsExamplesPageFull3}{ugDomainsExamplesPageEmpty3} -\pastebutton{ugDomainsExamplesPageFull3}{\hidepaste} -\tab{5}\spadcommand{elt(ks.(kind="d").(nargs="0"),name)\bound{q4 }\free{q1 }} -\indentrel{3}\begin{verbatim} - (3) - ["AlgebraicNumber", "AnonymousFunction", "Any", - "AttributeButtons", "BasicFunctions", - "BasicOperator", "BinaryExpansion", "BinaryFile", - "Bits", "Boolean", "CardinalNumber", - "CharacterClass", "Character", "Color", "Commutator", - "DecimalExpansion", "DoubleFloat", "DrawOption", - "Exit", "ExtAlgBasis", "FileName", "Float", - "FortranCode", "FortranScalarType", - "FortranTemplate", "FortranType", "GraphImage", - "HexadecimalExpansion", "IVBaseColor", "IVBasicNode", - "IVCoordinate3", "IVCoordinate4", "IVFaceSet", - "IVField", "IVGroup", "IVIndexedLineSet", - "IVNodeConnection", "IVNodeObject", "IVPointSet", - "IVQuadMesh", "IVSeparator", "IVSimpleInnerNode", - "IVUtilities", "IVValue", "IndexCard", - "InnerAlgebraicNumber", "InputForm", "Integer", - "IntegrationFunctionsTable", "InventorDataSink", - "InventorRenderPackage", "InventorViewPort", - "Library", "MachineComplex", "MachineFloat", - "MachineInteger", - "NagDiscreteFourierTransformInterfacePackage", - "NagEigenInterfacePackage", - "NagOptimisationInterfacePackage", - "NagQuadratureInterfacePackage", "NagResultChecks", - "NagSpecialFunctionsInterfacePackage", - "NonNegativeInteger", "None", - "NumericalIntegrationProblem", "NumericalODEProblem", - "NumericalOptimizationProblem", - "NumericalPDEProblem", "ODEIntensityFunctionsTable", - "OrdSetInts", "OutputForm", "Palette", "Partition", - "Pi", "PlaneAlgebraicCurvePlot", "Plot3D", "Plot", - "PositiveInteger", "QueryEquation", "RenderTools", - "Result", "RomanNumeral", "RoutinesTable", - "SExpression", "ScriptFormulaFormat", - "SingleInteger", "SingletonAsOrderedSet", "String", - "SubSpaceComponentProperty", "Switch", "SymbolTable", - "Symbol", "TexFormat", "TextFile", "TheSymbolTable", - "ThreeDimensionalViewport", "Timer", - "TwoDimensionalViewport", "Void", - "d01TransformFunctionType", "d01ajfAnnaType", - "d01akfAnnaType", "d01alfAnnaType", "d01amfAnnaType", - "d01anfAnnaType", "d01apfAnnaType", "d01aqfAnnaType", - "d01asfAnnaType", "d01fcfAnnaType", "d01gbfAnnaType", - "d02bbfAnnaType", "d02bhfAnnaType", "d02cjfAnnaType", - "d02ejfAnnaType", "d03eefAnnaType", "d03fafAnnaType", - "e04dgfAnnaType", "e04fdfAnnaType", "e04gcfAnnaType", - "e04jafAnnaType", "e04mbfAnnaType", "e04nafAnnaType", - "e04ucfAnnaType"] - Type: DataList String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPageEmpty3} -\begin{paste}{ugDomainsExamplesPageEmpty3}{ugDomainsExamplesPagePatch3} -\pastebutton{ugDomainsExamplesPageEmpty3}{\showpaste} -\tab{5}\spadcommand{elt(ks.(kind="d").(nargs="0"),name)\bound{q4 }\free{q1 }} -\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPagePatch4} -\begin{paste}{ugDomainsExamplesPageFull4}{ugDomainsExamplesPageEmpty4} -\pastebutton{ugDomainsExamplesPageFull4}{\hidepaste} -\tab{5}\spadcommand{mk := ks.(name="*Matrix*")\bound{q5 }\free{q1 }} -\indentrel{3}\begin{verbatim} - (4) 26 - Type: Database IndexCard -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPageEmpty4} -\begin{paste}{ugDomainsExamplesPageEmpty4}{ugDomainsExamplesPagePatch4} -\pastebutton{ugDomainsExamplesPageEmpty4}{\showpaste} -\tab{5}\spadcommand{mk := ks.(name="*Matrix*")\bound{q5 }\free{q1 }} -\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPagePatch5} -\begin{paste}{ugDomainsExamplesPageFull5}{ugDomainsExamplesPageEmpty5} -\pastebutton{ugDomainsExamplesPageFull5}{\hidepaste} -\tab{5}\spadcommand{elt(mk.(kind="d"),name)\bound{q6 }\free{q5 }} -\indentrel{3}\begin{verbatim} - (5) - ["DenavitHartenbergMatrix", - "DirectProductMatrixModule", "IndexedMatrix", - "LieSquareMatrix", "Matrix", "RectangularMatrix", - "SquareMatrix", "ThreeDimensionalMatrix"] - Type: DataList String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPageEmpty5} -\begin{paste}{ugDomainsExamplesPageEmpty5}{ugDomainsExamplesPagePatch5} -\pastebutton{ugDomainsExamplesPageEmpty5}{\showpaste} -\tab{5}\spadcommand{elt(mk.(kind="d"),name)\bound{q6 }\free{q5 }} -\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPagePatch6} -\begin{paste}{ugDomainsExamplesPageFull6}{ugDomainsExamplesPageEmpty6} -\pastebutton{ugDomainsExamplesPageFull6}{\hidepaste} -\tab{5}\spadcommand{o := getDatabase "o"\bound{o1 }} -\indentrel{3}\begin{verbatim} - (6) 6315 - Type: Database IndexCard -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPageEmpty6} -\begin{paste}{ugDomainsExamplesPageEmpty6}{ugDomainsExamplesPagePatch6} -\pastebutton{ugDomainsExamplesPageEmpty6}{\showpaste} -\tab{5}\spadcommand{o := getDatabase "o"\bound{o1 }} -\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPagePatch7} -\begin{paste}{ugDomainsExamplesPageFull7}{ugDomainsExamplesPageEmpty7} -\pastebutton{ugDomainsExamplesPageFull7}{\hidepaste} -\tab{5}\spadcommand{[o.(kind=k) for k in ["c","d","p"]]\free{o1 }} -\indentrel{3}\begin{verbatim} - (7) [1646,2040,2629] - Type: List Database IndexCard -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPageEmpty7} -\begin{paste}{ugDomainsExamplesPageEmpty7}{ugDomainsExamplesPagePatch7} -\pastebutton{ugDomainsExamplesPageEmpty7}{\showpaste} -\tab{5}\spadcommand{[o.(kind=k) for k in ["c","d","p"]]\free{o1 }} -\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPagePatch8} -\begin{paste}{ugDomainsExamplesPageFull8}{ugDomainsExamplesPageEmpty8} -\pastebutton{ugDomainsExamplesPageFull8}{\hidepaste} -\tab{5}\spadcommand{eigens := o.(name="*eigen*")\bound{eigens }\free{o1 }} -\indentrel{3}\begin{verbatim} - (8) 4 - Type: Database IndexCard -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPageEmpty8} -\begin{paste}{ugDomainsExamplesPageEmpty8}{ugDomainsExamplesPagePatch8} -\pastebutton{ugDomainsExamplesPageEmpty8}{\showpaste} -\tab{5}\spadcommand{eigens := o.(name="*eigen*")\bound{eigens }\free{o1 }} -\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPagePatch9} -\begin{paste}{ugDomainsExamplesPageFull9}{ugDomainsExamplesPageEmpty9} -\pastebutton{ugDomainsExamplesPageFull9}{\hidepaste} -\tab{5}\spadcommand{elt(eigens,name)\free{eigens }} -\indentrel{3}\begin{verbatim} - (9) - ["eigenMatrix", "eigenvalues", "eigenvector", - "eigenvectors"] - Type: DataList String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPageEmpty9} -\begin{paste}{ugDomainsExamplesPageEmpty9}{ugDomainsExamplesPagePatch9} -\pastebutton{ugDomainsExamplesPageEmpty9}{\showpaste} -\tab{5}\spadcommand{elt(eigens,name)\free{eigens }} -\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPagePatch10} -\begin{paste}{ugDomainsExamplesPageFull10}{ugDomainsExamplesPageEmpty10} -\pastebutton{ugDomainsExamplesPageFull10}{\hidepaste} -\tab{5}\spadcommand{elt(elt(elt(eigens,origin),sort),unique)\free{eigens }} -\indentrel{3}\begin{verbatim} - (10) ["EigenPackage","RadicalEigenPackage"] - Type: DataList String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPageEmpty10} -\begin{paste}{ugDomainsExamplesPageEmpty10}{ugDomainsExamplesPagePatch10} -\pastebutton{ugDomainsExamplesPageEmpty10}{\showpaste} -\tab{5}\spadcommand{elt(elt(elt(eigens,origin),sort),unique)\free{eigens }} -\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPagePatch11} -\begin{paste}{ugDomainsExamplesPageFull11}{ugDomainsExamplesPageEmpty11} -\pastebutton{ugDomainsExamplesPageFull11}{\hidepaste} -\tab{5}\spadcommand{tm := o.(type="*Matrix*")\bound{x10 }\free{o1 }} -\indentrel{3}\begin{verbatim} - (11) 353 - Type: Database IndexCard -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPageEmpty11} -\begin{paste}{ugDomainsExamplesPageEmpty11}{ugDomainsExamplesPagePatch11} -\pastebutton{ugDomainsExamplesPageEmpty11}{\showpaste} -\tab{5}\spadcommand{tm := o.(type="*Matrix*")\bound{x10 }\free{o1 }} -\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPagePatch12} -\begin{paste}{ugDomainsExamplesPageFull12}{ugDomainsExamplesPageEmpty12} -\pastebutton{ugDomainsExamplesPageFull12}{\hidepaste} -\tab{5}\spadcommand{fm := o.(origin="*Matrix*")\bound{x11 }\free{o1 }} -\indentrel{3}\begin{verbatim} - (12) 192 - Type: Database IndexCard -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPageEmpty12} -\begin{paste}{ugDomainsExamplesPageEmpty12}{ugDomainsExamplesPagePatch12} -\pastebutton{ugDomainsExamplesPageEmpty12}{\showpaste} -\tab{5}\spadcommand{fm := o.(origin="*Matrix*")\bound{x11 }\free{o1 }} -\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPagePatch13} -\begin{paste}{ugDomainsExamplesPageFull13}{ugDomainsExamplesPageEmpty13} -\pastebutton{ugDomainsExamplesPageFull13}{\hidepaste} -\tab{5}\spadcommand{fm-tm\bound{x12 }\free{x10 x11 }} -\indentrel{3}\begin{verbatim} - (13) 146 - Type: Database IndexCard -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPageEmpty13} -\begin{paste}{ugDomainsExamplesPageEmpty13}{ugDomainsExamplesPagePatch13} -\pastebutton{ugDomainsExamplesPageEmpty13}{\showpaste} -\tab{5}\spadcommand{fm-tm\bound{x12 }\free{x10 x11 }} -\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPagePatch14} -\begin{paste}{ugDomainsExamplesPageFull14}{ugDomainsExamplesPageEmpty14} -\pastebutton{ugDomainsExamplesPageFull14}{\hidepaste} -\tab{5}\spadcommand{fullDisplay(fm-\%)\bound{x13 }\free{x12 }} -\indentrel{3}\begin{verbatim} - ** : (Matrix(R),NonNegativeInteger)->Matrix(R) - from StorageEfficientMatrixOperations(R) (unexposed) - clearDenominator : (Matrix(Q))->Matrix(R) - from MatrixCommonDenominator(R,Q) - coerceP - : (Vector(Matrix(R)))->Vector(Matrix(Polynomial(R))) - from CoerceVectorMatrixPackage(R) (unexposed) - coerce - : - (Vector(Matrix(R)))->Vector(Matrix(Fraction(Polynom - ial(R)))) - from CoerceVectorMatrixPackage(R) (unexposed) - coerce : (_$)->Matrix(R) - from RectangularMatrix(m,n,R) (unexposed) - coerce : (_$)->Matrix(R) - from SquareMatrix(ndim,R) (unexposed) - coerce : (Matrix(MachineFloat))->_$ - from FortranMatrixCategory - commonDenominator : (Matrix(Q))->R - from MatrixCommonDenominator(R,Q) - copy! : (Matrix(R),Matrix(R))->Matrix(R) - from StorageEfficientMatrixOperations(R) (unexposed) - f01brf - : - (Integer,Integer,Integer,Integer,DoubleFloat,Boolea - n,Boolean,List(Boolean),Matrix(DoubleFloat),Matrix( - Integer),Matrix(Integer),Integer)->Result - from NagMatrixOperationsPackage - f01bsf - : - (Integer,Integer,Integer,Matrix(Integer),Matrix(Int - eger),Matrix(Integer),Matrix(Integer),Boolean,Doubl - eFloat,Boolean,Matrix(Integer),Matrix(DoubleFloat), - Integer)->Result - from NagMatrixOperationsPackage - f01maf - : - (Integer,Integer,Integer,Integer,List(Boolean),Matr - ix(DoubleFloat),Matrix(Integer),Matrix(Integer),Dou - bleFloat,DoubleFloat,Integer)->Result - from NagMatrixOperationsPackage - f01mcf - : - (Integer,Matrix(DoubleFloat),Integer,Matrix(Integer - ),Integer)->Result - from NagMatrixOperationsPackage - f01qcf - : - (Integer,Integer,Integer,Matrix(DoubleFloat),Intege - r)->Result - from NagMatrixOperationsPackage - f01qdf - : - (String,String,Integer,Integer,Matrix(DoubleFloat), - Integer,Matrix(DoubleFloat),Integer,Integer,Matrix( - DoubleFloat),Integer)->Result - from NagMatrixOperationsPackage - f01qef - : - (String,Integer,Integer,Integer,Integer,Matrix(Doub - leFloat),Matrix(DoubleFloat),Integer)->Result - from NagMatrixOperationsPackage - f01rcf - : - (Integer,Integer,Integer,Matrix(Complex(DoubleFloat - )),Integer)->Result - from NagMatrixOperationsPackage - f01rdf - : - (String,String,Integer,Integer,Matrix(Complex(Doubl - eFloat)),Integer,Matrix(Complex(DoubleFloat)),Integ - er,Integer,Matrix(Complex(DoubleFloat)),Integer)->R - esult - from NagMatrixOperationsPackage - f01ref - : - (String,Integer,Integer,Integer,Integer,Matrix(Comp - lex(DoubleFloat)),Matrix(Complex(DoubleFloat)),Inte - ger)->Result - from NagMatrixOperationsPackage - hasSolution? : (Matrix(F),Vector(F))->Boolean - from LinearSystemMatrixPackage1(F) - leftScalarTimes! : (Matrix(R),R,Matrix(R))->Matrix(R) - from StorageEfficientMatrixOperations(R) (unexposed) - minus! : (Matrix(R),Matrix(R))->Matrix(R) - from StorageEfficientMatrixOperations(R) (unexposed) - minus! : (Matrix(R),Matrix(R),Matrix(R))->Matrix(R) - from StorageEfficientMatrixOperations(R) (unexposed) - particularSolution - : (Matrix(F),Vector(F))->Union(Vector(F),"failed") - from LinearSystemMatrixPackage1(F) - plus! : (Matrix(R),Matrix(R),Matrix(R))->Matrix(R) - from StorageEfficientMatrixOperations(R) (unexposed) - power! - : - (Matrix(R),Matrix(R),Matrix(R),Matrix(R),NonNegativ - eInteger)->Matrix(R) - from StorageEfficientMatrixOperations(R) (unexposed) - rank : (Matrix(F),Vector(F))->NonNegativeInteger - from LinearSystemMatrixPackage1(F) - rectangularMatrix : (Matrix(R))->_$ - from RectangularMatrix(m,n,R) (unexposed) - retractIfCan - : (Matrix(Expression(Float)))->Union(_$,"failed") - from FortranMatrixFunctionCategory - retractIfCan - : (Matrix(Expression(Integer)))->Union(_$,"failed") - from FortranMatrixFunctionCategory - retractIfCan - : - (Matrix(Fraction(Polynomial(Float))))->Union(_$,"fa - iled") - from FortranMatrixFunctionCategory - retractIfCan - : - (Matrix(Fraction(Polynomial(Integer))))->Union(_$," - failed") - from FortranMatrixFunctionCategory - retractIfCan - : (Matrix(Polynomial(Float)))->Union(_$,"failed") - from FortranMatrixFunctionCategory - retractIfCan - : (Matrix(Polynomial(Integer)))->Union(_$,"failed") - from FortranMatrixFunctionCategory - retract : (Matrix(Expression(Float)))->_$ - from FortranMatrixFunctionCategory - retract : (Matrix(Expression(Integer)))->_$ - from FortranMatrixFunctionCategory - retract : (Matrix(Fraction(Polynomial(Float))))->_$ - from FortranMatrixFunctionCategory - retract : (Matrix(Fraction(Polynomial(Integer))))->_$ - from FortranMatrixFunctionCategory - retract : (Matrix(Polynomial(Float)))->_$ - from FortranMatrixFunctionCategory - retract : (Matrix(Polynomial(Integer)))->_$ - from FortranMatrixFunctionCategory - rightScalarTimes! : (Matrix(R),Matrix(R),R)->Matrix(R) - from StorageEfficientMatrixOperations(R) (unexposed) - solve - : - (Matrix(F),List(Vector(F)))->List(Record(particular - :Union(Vector(F),"failed"),basis:List(Vector(F)))) - from LinearSystemMatrixPackage1(F) - solve - : - (Matrix(F),Vector(F))->Record(particular:Union(Vect - or(F),"failed"),basis:List(Vector(F))) - from LinearSystemMatrixPackage1(F) - splitDenominator - : (Matrix(Q))->Record(num:Matrix(R),den:R) - from MatrixCommonDenominator(R,Q) - squareMatrix : (Matrix(R))->_$ - from SquareMatrix(ndim,R) (unexposed) - times! : (Matrix(R),Matrix(R),Matrix(R))->Matrix(R) - from StorageEfficientMatrixOperations(R) (unexposed) - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPageEmpty14} -\begin{paste}{ugDomainsExamplesPageEmpty14}{ugDomainsExamplesPagePatch14} -\pastebutton{ugDomainsExamplesPageEmpty14}{\showpaste} -\tab{5}\spadcommand{fullDisplay(fm-\%)\bound{x13 }\free{x12 }} -\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPagePatch15} -\begin{paste}{ugDomainsExamplesPageFull15}{ugDomainsExamplesPageEmpty15} -\pastebutton{ugDomainsExamplesPageFull15}{\hidepaste} -\tab{5}\spadcommand{m := tm+fm\bound{x14 }\free{x10 x11 }} -\indentrel{3}\begin{verbatim} - (15) 499 - Type: Database IndexCard -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPageEmpty15} -\begin{paste}{ugDomainsExamplesPageEmpty15}{ugDomainsExamplesPagePatch15} -\pastebutton{ugDomainsExamplesPageEmpty15}{\showpaste} -\tab{5}\spadcommand{m := tm+fm\bound{x14 }\free{x10 x11 }} -\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPagePatch16} -\begin{paste}{ugDomainsExamplesPageFull16}{ugDomainsExamplesPageEmpty16} -\pastebutton{ugDomainsExamplesPageFull16}{\hidepaste} -\tab{5}\spadcommand{fullDisplay(m, 202, 205)\free{x14 }} -\indentrel{3}\begin{verbatim} - elt : (_$,List(Integer),List(Integer))->_$ - from MatrixCategory(R,Row,Col) - elt : (_$,Integer,Integer,R)->R - from RectangularMatrixCategory(m,n,R,Row,Col) - elt - : - (_$,NonNegativeInteger,NonNegativeInteger,NonNegati - veInteger)->R - from ThreeDimensionalMatrix(R) - eval - : - (Matrix(Expression(DoubleFloat)),List(Symbol),Vecto - r(Expression(DoubleFloat)))->Matrix(Expression(Doub - leFloat)) - from d02AgentsPackage - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPageEmpty16} -\begin{paste}{ugDomainsExamplesPageEmpty16}{ugDomainsExamplesPagePatch16} -\pastebutton{ugDomainsExamplesPageEmpty16}{\showpaste} -\tab{5}\spadcommand{fullDisplay(m, 202, 205)\free{x14 }} -\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPagePatch17} -\begin{paste}{ugDomainsExamplesPageFull17}{ugDomainsExamplesPageEmpty17} -\pastebutton{ugDomainsExamplesPageFull17}{\hidepaste} -\tab{5}\spadcommand{elt(elt(elt(m,name),unique),count)\free{x14 }} -\indentrel{3}\begin{verbatim} - (17) 317 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsExamplesPageEmpty17} -\begin{paste}{ugDomainsExamplesPageEmpty17}{ugDomainsExamplesPagePatch17} -\pastebutton{ugDomainsExamplesPageEmpty17}{\showpaste} -\tab{5}\spadcommand{elt(elt(elt(m,name),unique),count)\free{x14 }} -\end{paste}\end{patch} - -\begin{patch}{ugDomainsQueryLanguagePagePatch1} -\begin{paste}{ugDomainsQueryLanguagePageFull1}{ugDomainsQueryLanguagePageEmpty1} -\pastebutton{ugDomainsQueryLanguagePageFull1}{\hidepaste} -\tab{5}\spadcommand{ops := getDatabase("o")\bound{o1 }} -\indentrel{3}\begin{verbatim} - (1) 6315 - Type: Database IndexCard -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsQueryLanguagePageEmpty1} -\begin{paste}{ugDomainsQueryLanguagePageEmpty1}{ugDomainsQueryLanguagePagePatch1} -\pastebutton{ugDomainsQueryLanguagePageEmpty1}{\showpaste} -\tab{5}\spadcommand{ops := getDatabase("o")\bound{o1 }} -\end{paste}\end{patch} - -\begin{patch}{ugDomainsQueryLanguagePagePatch2} -\begin{paste}{ugDomainsQueryLanguagePageFull2}{ugDomainsQueryLanguagePageEmpty2} -\pastebutton{ugDomainsQueryLanguagePageFull2}{\hidepaste} -\tab{5}\spadcommand{ops.(name="map").(nargs="3").(type="*Stream*")\bound{o2 }\free{o1 }} -\indentrel{3}\begin{verbatim} - (2) 3 - Type: Database IndexCard -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsQueryLanguagePageEmpty2} -\begin{paste}{ugDomainsQueryLanguagePageEmpty2}{ugDomainsQueryLanguagePagePatch2} -\pastebutton{ugDomainsQueryLanguagePageEmpty2}{\showpaste} -\tab{5}\spadcommand{ops.(name="map").(nargs="3").(type="*Stream*")\bound{o2 }\free{o1 }} -\end{paste}\end{patch} - -\begin{patch}{ugDomainsQueryLanguagePagePatch3} -\begin{paste}{ugDomainsQueryLanguagePageFull3}{ugDomainsQueryLanguagePageEmpty3} -\pastebutton{ugDomainsQueryLanguagePageFull3}{\hidepaste} -\tab{5}\spadcommand{elt(elt(elt(elt(ops,name="determinant"),origin),sort),unique)\free{o1 }} -\indentrel{3}\begin{verbatim} - (3) - ["InnerMatrixLinearAlgebraFunctions", - "MatrixCategory", "MatrixLinearAlgebraFunctions", - "SquareMatrixCategory"] - Type: DataList String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsQueryLanguagePageEmpty3} -\begin{paste}{ugDomainsQueryLanguagePageEmpty3}{ugDomainsQueryLanguagePagePatch3} -\pastebutton{ugDomainsQueryLanguagePageEmpty3}{\showpaste} -\tab{5}\spadcommand{elt(elt(elt(elt(ops,name="determinant"),origin),sort),unique)\free{o1 }} -\end{paste}\end{patch} - -\begin{patch}{ugDomainsDemoPagePatch1} -\begin{paste}{ugDomainsDemoPageFull1}{ugDomainsDemoPageEmpty1} -\pastebutton{ugDomainsDemoPageFull1}{\hidepaste} -\tab{5}\spadcommand{QF := QuadraticForm(2,Fraction Integer)\bound{x2 }\free{x1 }} -\indentrel{3}\begin{verbatim} - (1) QuadraticForm(2,Fraction Integer) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsDemoPageEmpty1} -\begin{paste}{ugDomainsDemoPageEmpty1}{ugDomainsDemoPagePatch1} -\pastebutton{ugDomainsDemoPageEmpty1}{\showpaste} -\tab{5}\spadcommand{QF := QuadraticForm(2,Fraction Integer)\bound{x2 }\free{x1 }} -\end{paste}\end{patch} - -\begin{patch}{ugDomainsDemoPagePatch2} -\begin{paste}{ugDomainsDemoPageFull2}{ugDomainsDemoPageEmpty2} -\pastebutton{ugDomainsDemoPageFull2}{\hidepaste} -\tab{5}\spadcommand{A := matrix [[-1,1/2],[1/2,1]]\bound{x3 }\free{x2 }} -\indentrel{3}\begin{verbatim} - Ú 1¿ - ³- 1 ij - ³ 2³ - (2) ³ ³ - ³ 1 ³ - ³ Ä 1³ - À 2 Ù - Type: Matrix Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsDemoPageEmpty2} -\begin{paste}{ugDomainsDemoPageEmpty2}{ugDomainsDemoPagePatch2} -\pastebutton{ugDomainsDemoPageEmpty2}{\showpaste} -\tab{5}\spadcommand{A := matrix [[-1,1/2],[1/2,1]]\bound{x3 }\free{x2 }} -\end{paste}\end{patch} - -\begin{patch}{ugDomainsDemoPagePatch3} -\begin{paste}{ugDomainsDemoPageFull3}{ugDomainsDemoPageEmpty3} -\pastebutton{ugDomainsDemoPageFull3}{\hidepaste} -\tab{5}\spadcommand{q : QF := quadraticForm(A)\bound{x4 }\free{x3 }} -\indentrel{3}\begin{verbatim} - Ú 1¿ - ³- 1 ij - ³ 2³ - (3) ³ ³ - ³ 1 ³ - ³ Ä 1³ - À 2 Ù - Type: QuadraticForm(2,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsDemoPageEmpty3} -\begin{paste}{ugDomainsDemoPageEmpty3}{ugDomainsDemoPagePatch3} -\pastebutton{ugDomainsDemoPageEmpty3}{\showpaste} -\tab{5}\spadcommand{q : QF := quadraticForm(A)\bound{x4 }\free{x3 }} -\end{paste}\end{patch} - -\begin{patch}{ugDomainsDemoPagePatch4} -\begin{paste}{ugDomainsDemoPageFull4}{ugDomainsDemoPageEmpty4} -\pastebutton{ugDomainsDemoPageFull4}{\hidepaste} -\tab{5}\spadcommand{nrows q\free{x3 }} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsDemoPageEmpty4} -\begin{paste}{ugDomainsDemoPageEmpty4}{ugDomainsDemoPagePatch4} -\pastebutton{ugDomainsDemoPageEmpty4}{\showpaste} -\tab{5}\spadcommand{nrows q\free{x3 }} -\end{paste}\end{patch} - -\begin{patch}{ugDomainsDemoPagePatch5} -\begin{paste}{ugDomainsDemoPageFull5}{ugDomainsDemoPageEmpty5} -\pastebutton{ugDomainsDemoPageFull5}{\hidepaste} -\tab{5}\spadcommand{v := directProduct([2,-1])$DirectProduct(2,Fraction Integer)\bound{x5 }\free{x4 }} -\indentrel{3}\begin{verbatim} - (4) [2,- 1] - Type: DirectProduct(2,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsDemoPageEmpty5} -\begin{paste}{ugDomainsDemoPageEmpty5}{ugDomainsDemoPagePatch5} -\pastebutton{ugDomainsDemoPageEmpty5}{\showpaste} -\tab{5}\spadcommand{v := directProduct([2,-1])$DirectProduct(2,Fraction Integer)\bound{x5 }\free{x4 }} -\end{paste}\end{patch} - -\begin{patch}{ugDomainsDemoPagePatch6} -\begin{paste}{ugDomainsDemoPageFull6}{ugDomainsDemoPageEmpty6} -\pastebutton{ugDomainsDemoPageFull6}{\hidepaste} -\tab{5}\spadcommand{q.v\free{x5 }} -\indentrel{3}\begin{verbatim} - (5) - 5 - Type: Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsDemoPageEmpty6} -\begin{paste}{ugDomainsDemoPageEmpty6}{ugDomainsDemoPagePatch6} -\pastebutton{ugDomainsDemoPageEmpty6}{\showpaste} -\tab{5}\spadcommand{q.v\free{x5 }} -\end{paste}\end{patch} - -\begin{patch}{ugDomainsDemoPagePatch7} -\begin{paste}{ugDomainsDemoPageFull7}{ugDomainsDemoPageEmpty7} -\pastebutton{ugDomainsDemoPageFull7}{\hidepaste} -\tab{5}\spadcommand{3*q-q+q\free{x4 }} -\indentrel{3}\begin{verbatim} - Ú 3¿ - ³- 3 ij - ³ 2³ - (6) ³ ³ - ³ 3 ³ - ³ Ä 3³ - À 2 Ù - Type: QuadraticForm(2,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugDomainsDemoPageEmpty7} -\begin{paste}{ugDomainsDemoPageEmpty7}{ugDomainsDemoPagePatch7} -\pastebutton{ugDomainsDemoPageEmpty7}{\showpaste} -\tab{5}\spadcommand{3*q-q+q\free{x4 }} -\end{paste}\end{patch} - diff --git a/books/pages/ug15.pht b/books/pages/ug15.pht deleted file mode 100644 index ffe70e4..0000000 --- a/books/pages/ug15.pht +++ /dev/null @@ -1,833 +0,0 @@ -\begin{patch}{ugWhatsNewLanguagePagePatch1} -\begin{paste}{ugWhatsNewLanguagePageFull1}{ugWhatsNewLanguagePageEmpty1} -\pastebutton{ugWhatsNewLanguagePageFull1}{\hidepaste} -\tab{5}\spadcommand{set [1,2,3,4]} -\indentrel{3}\begin{verbatim} - (1) {1,2,3,4} - Type: Set PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ugWhatsNewLanguagePageEmpty1} -\begin{paste}{ugWhatsNewLanguagePageEmpty1}{ugWhatsNewLanguagePagePatch1} -\pastebutton{ugWhatsNewLanguagePageEmpty1}{\showpaste} -\tab{5}\spadcommand{set [1,2,3,4]} -\end{paste}\end{patch} - -\begin{patch}{aspSectionPagePatch1} -\begin{paste}{aspSectionPageFull1}{aspSectionPageEmpty1} -\pastebutton{aspSectionPageFull1}{\hidepaste} -\tab{5}\spadcommand{)display operation c05adf} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{aspSectionPageEmpty1} -\begin{paste}{aspSectionPageEmpty1}{aspSectionPagePatch1} -\pastebutton{aspSectionPageEmpty1}{\showpaste} -\tab{5}\spadcommand{)display operation c05adf} -\end{paste}\end{patch} - -\begin{patch}{aspSectionPagePatch2} -\begin{paste}{aspSectionPageFull2}{aspSectionPageEmpty2} -\pastebutton{aspSectionPageFull2}{\hidepaste} -\tab{5}\spadcommand{f : FortranExpression([X],[M],MachineFloat) := sin(X)+M[3,1]} -\indentrel{3}\begin{verbatim} - (1) sin(X) + M - 3,1 - Type: FortranExpression([X],[M],MachineFloat) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{aspSectionPageEmpty2} -\begin{paste}{aspSectionPageEmpty2}{aspSectionPagePatch2} -\pastebutton{aspSectionPageEmpty2}{\showpaste} -\tab{5}\spadcommand{f : FortranExpression([X],[M],MachineFloat) := sin(X)+M[3,1]} -\end{paste}\end{patch} - -\begin{patch}{aspSectionPagePatch3} -\begin{paste}{aspSectionPageFull3}{aspSectionPageEmpty3} -\pastebutton{aspSectionPageFull3}{\hidepaste} -\tab{5}\spadcommand{f : FortranExpression([X],[M],MachineFloat) := sin(M)+Y} -\indentrel{3}\begin{verbatim} - sin(M) + Y -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{aspSectionPageEmpty3} -\begin{paste}{aspSectionPageEmpty3}{aspSectionPagePatch3} -\pastebutton{aspSectionPageEmpty3}{\showpaste} -\tab{5}\spadcommand{f : FortranExpression([X],[M],MachineFloat) := sin(M)+Y} -\end{paste}\end{patch} - -\begin{patch}{aspSectionPagePatch4} -\begin{paste}{aspSectionPageFull4}{aspSectionPageEmpty4} -\pastebutton{aspSectionPageFull4}{\hidepaste} -\tab{5}\spadcommand{d01ajf(-1.0, 1.0, 0.0, 1.0e-5, 800, 200, -1, cond(LT(X,0), assign(F,-X), assign(F,X))) result} -\indentrel{3}\begin{verbatim} - (2) 1.0 - Type: DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{aspSectionPageEmpty4} -\begin{paste}{aspSectionPageEmpty4}{aspSectionPagePatch4} -\pastebutton{aspSectionPageEmpty4}{\showpaste} -\tab{5}\spadcommand{d01ajf(-1.0, 1.0, 0.0, 1.0e-5, 800, 200, -1, cond(LT(X,0), assign(F,-X), assign(F,X))) result} -\end{paste}\end{patch} - -\begin{patch}{nagLinkUsagePagePatch1} -\begin{paste}{nagLinkUsagePageFull1}{nagLinkUsagePageEmpty1} -\pastebutton{nagLinkUsagePageFull1}{\hidepaste} -\tab{5}\spadcommand{answer:=c05adf(3.0,4.0,1.0e-5,0.0,-1,sin(X)::ASP1(F))\bound{answer }} -\indentrel{3}\begin{verbatim} - (1) [ifail: Integer,x: DoubleFloat] - Type: Result -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{nagLinkUsagePageEmpty1} -\begin{paste}{nagLinkUsagePageEmpty1}{nagLinkUsagePagePatch1} -\pastebutton{nagLinkUsagePageEmpty1}{\showpaste} -\tab{5}\spadcommand{answer:=c05adf(3.0,4.0,1.0e-5,0.0,-1,sin(X)::ASP1(F))\bound{answer }} -\end{paste}\end{patch} - -\begin{patch}{nagLinkUsagePagePatch2} -\begin{paste}{nagLinkUsagePageFull2}{nagLinkUsagePageEmpty2} -\pastebutton{nagLinkUsagePageFull2}{\hidepaste} -\tab{5}\spadcommand{answer . x\free{answer }} -\indentrel{3}\begin{verbatim} - (2) 3.14159265545896 - Type: DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{nagLinkUsagePageEmpty2} -\begin{paste}{nagLinkUsagePageEmpty2}{nagLinkUsagePagePatch2} -\pastebutton{nagLinkUsagePageEmpty2}{\showpaste} -\tab{5}\spadcommand{answer . x\free{answer }} -\end{paste}\end{patch} - -\begin{patch}{nagLinkUsagePagePatch3} -\begin{paste}{nagLinkUsagePageFull3}{nagLinkUsagePageEmpty3} -\pastebutton{nagLinkUsagePageFull3}{\hidepaste} -\tab{5}\spadcommand{answer . ifail\free{answer }} -\indentrel{3}\begin{verbatim} - (3) 0 - Type: Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{nagLinkUsagePageEmpty3} -\begin{paste}{nagLinkUsagePageEmpty3}{nagLinkUsagePagePatch3} -\pastebutton{nagLinkUsagePageEmpty3}{\showpaste} -\tab{5}\spadcommand{answer . ifail\free{answer }} -\end{paste}\end{patch} - -\begin{patch}{nagLinkUsagePagePatch4} -\begin{paste}{nagLinkUsagePageFull4}{nagLinkUsagePageEmpty4} -\pastebutton{nagLinkUsagePageFull4}{\hidepaste} -\tab{5}\spadcommand{answer "x"\free{answer }} -\indentrel{3}\begin{verbatim} - (4) 3.14159265545896 - Type: DoubleFloat -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{nagLinkUsagePageEmpty4} -\begin{paste}{nagLinkUsagePageEmpty4}{nagLinkUsagePagePatch4} -\pastebutton{nagLinkUsagePageEmpty4}{\showpaste} -\tab{5}\spadcommand{answer "x"\free{answer }} -\end{paste}\end{patch} - -\begin{patch}{nagLinkUsagePagePatch5} -\begin{paste}{nagLinkUsagePageFull5}{nagLinkUsagePageEmpty5} -\pastebutton{nagLinkUsagePageFull5}{\hidepaste} -\tab{5}\spadcommand{)read c05adf.input} -\indentrel{3}\begin{verbatim} - (1) true - Type: Boolean - (2) true - Type: Boolean - (3) F - Type: Asp1 F - (4) 0.0 - Type: DoubleFloat - (5) 1.0 - Type: DoubleFloat - (6) 1.0e-05 - Type: DoubleFloat - (7) 0.0 - Type: DoubleFloat - (8) [ifail: 0,x: 0.567143306604963] - Type: Result -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{nagLinkUsagePageEmpty5} -\begin{paste}{nagLinkUsagePageEmpty5}{nagLinkUsagePagePatch5} -\pastebutton{nagLinkUsagePageEmpty5}{\showpaste} -\tab{5}\spadcommand{)read c05adf.input} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch1} -\begin{paste}{generalFortranPageFull1}{generalFortranPageEmpty1} -\pastebutton{generalFortranPageFull1}{\hidepaste} -\tab{5}\spadcommand{)set fortran precision} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty1} -\begin{paste}{generalFortranPageEmpty1}{generalFortranPagePatch1} -\pastebutton{generalFortranPageEmpty1}{\showpaste} -\tab{5}\spadcommand{)set fortran precision} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch2} -\begin{paste}{generalFortranPageFull2}{generalFortranPageEmpty2} -\pastebutton{generalFortranPageFull2}{\hidepaste} -\tab{5}\spadcommand{m := matrix [[1,2,3],[4,5,6]]\bound{m }} -\indentrel{3}\begin{verbatim} - Ú1 2 3¿ - (1) ³ ³ - À4 5 6Ù - Type: Matrix Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty2} -\begin{paste}{generalFortranPageEmpty2}{generalFortranPagePatch2} -\pastebutton{generalFortranPageEmpty2}{\showpaste} -\tab{5}\spadcommand{m := matrix [[1,2,3],[4,5,6]]\bound{m }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch3} -\begin{paste}{generalFortranPageFull3}{generalFortranPageEmpty3} -\pastebutton{generalFortranPageFull3}{\hidepaste} -\tab{5}\spadcommand{fortranLiteralLine concat ["C The Matrix has ", nrows(m)::String, " rows and ", ncols(m)::String, " columns"]\free{m }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty3} -\begin{paste}{generalFortranPageEmpty3}{generalFortranPagePatch3} -\pastebutton{generalFortranPageEmpty3}{\showpaste} -\tab{5}\spadcommand{fortranLiteralLine concat ["C The Matrix has ", nrows(m)::String, " rows and ", ncols(m)::String, " columns"]\free{m }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch4} -\begin{paste}{generalFortranPageFull4}{generalFortranPageEmpty4} -\pastebutton{generalFortranPageFull4}{\hidepaste} -\tab{5}\spadcommand{fortranLiteral "C The Matrix has "} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty4} -\begin{paste}{generalFortranPageEmpty4}{generalFortranPagePatch4} -\pastebutton{generalFortranPageEmpty4}{\showpaste} -\tab{5}\spadcommand{fortranLiteral "C The Matrix has "} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch5} -\begin{paste}{generalFortranPageFull5}{generalFortranPageEmpty5} -\pastebutton{generalFortranPageFull5}{\hidepaste} -\tab{5}\spadcommand{fortranLiteral(nrows(m)::String)} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty5} -\begin{paste}{generalFortranPageEmpty5}{generalFortranPagePatch5} -\pastebutton{generalFortranPageEmpty5}{\showpaste} -\tab{5}\spadcommand{fortranLiteral(nrows(m)::String)} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch6} -\begin{paste}{generalFortranPageFull6}{generalFortranPageEmpty6} -\pastebutton{generalFortranPageFull6}{\hidepaste} -\tab{5}\spadcommand{fortranLiteral " rows and "} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty6} -\begin{paste}{generalFortranPageEmpty6}{generalFortranPagePatch6} -\pastebutton{generalFortranPageEmpty6}{\showpaste} -\tab{5}\spadcommand{fortranLiteral " rows and "} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch7} -\begin{paste}{generalFortranPageFull7}{generalFortranPageEmpty7} -\pastebutton{generalFortranPageFull7}{\hidepaste} -\tab{5}\spadcommand{fortranLiteral(ncols(m)::String)\free{m }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty7} -\begin{paste}{generalFortranPageEmpty7}{generalFortranPagePatch7} -\pastebutton{generalFortranPageEmpty7}{\showpaste} -\tab{5}\spadcommand{fortranLiteral(ncols(m)::String)\free{m }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch8} -\begin{paste}{generalFortranPageFull8}{generalFortranPageEmpty8} -\pastebutton{generalFortranPageFull8}{\hidepaste} -\tab{5}\spadcommand{fortranLiteral " columns"} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty8} -\begin{paste}{generalFortranPageEmpty8}{generalFortranPagePatch8} -\pastebutton{generalFortranPageEmpty8}{\showpaste} -\tab{5}\spadcommand{fortranLiteral " columns"} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch9} -\begin{paste}{generalFortranPageFull9}{generalFortranPageEmpty9} -\pastebutton{generalFortranPageFull9}{\hidepaste} -\tab{5}\spadcommand{fortranCarriageReturn()} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty9} -\begin{paste}{generalFortranPageEmpty9}{generalFortranPagePatch9} -\pastebutton{generalFortranPageEmpty9}{\showpaste} -\tab{5}\spadcommand{fortranCarriageReturn()} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch10} -\begin{paste}{generalFortranPageFull10}{generalFortranPageEmpty10} -\pastebutton{generalFortranPageFull10}{\hidepaste} -\tab{5}\spadcommand{topFortranOutputStack()} -\indentrel{3}\begin{verbatim} - (9) "CONSOLE" - Type: String -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty10} -\begin{paste}{generalFortranPageEmpty10}{generalFortranPagePatch10} -\pastebutton{generalFortranPageEmpty10}{\showpaste} -\tab{5}\spadcommand{topFortranOutputStack()} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch11} -\begin{paste}{generalFortranPageFull11}{generalFortranPageEmpty11} -\pastebutton{generalFortranPageFull11}{\hidepaste} -\tab{5}\spadcommand{type:=construct(real,[i,10],false)$FortranType} -\indentrel{3}\begin{verbatim} - (10) REAL - (i,10) - Type: FortranType -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty11} -\begin{paste}{generalFortranPageEmpty11}{generalFortranPagePatch11} -\pastebutton{generalFortranPageEmpty11}{\showpaste} -\tab{5}\spadcommand{type:=construct(real,[i,10],false)$FortranType} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch12} -\begin{paste}{generalFortranPageFull12}{generalFortranPageEmpty12} -\pastebutton{generalFortranPageFull12}{\hidepaste} -\tab{5}\spadcommand{type:=[real,[i,10],false]$FortranType\bound{type }} -\indentrel{3}\begin{verbatim} - (11) REAL - (i,10) - Type: FortranType -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty12} -\begin{paste}{generalFortranPageEmpty12}{generalFortranPagePatch12} -\pastebutton{generalFortranPageEmpty12}{\showpaste} -\tab{5}\spadcommand{type:=[real,[i,10],false]$FortranType\bound{type }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch13} -\begin{paste}{generalFortranPageFull13}{generalFortranPageEmpty13} -\pastebutton{generalFortranPageFull13}{\hidepaste} -\tab{5}\spadcommand{scalarTypeOf type\free{type }} -\indentrel{3}\begin{verbatim} - (12) REAL - Type: Union(fst: FortranScalarType,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty13} -\begin{paste}{generalFortranPageEmpty13}{generalFortranPagePatch13} -\pastebutton{generalFortranPageEmpty13}{\showpaste} -\tab{5}\spadcommand{scalarTypeOf type\free{type }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch14} -\begin{paste}{generalFortranPageFull14}{generalFortranPageEmpty14} -\pastebutton{generalFortranPageFull14}{\hidepaste} -\tab{5}\spadcommand{dimensionsOf type\free{type }} -\indentrel{3}\begin{verbatim} - (13) [i,10] - Type: List Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty14} -\begin{paste}{generalFortranPageEmpty14}{generalFortranPagePatch14} -\pastebutton{generalFortranPageEmpty14}{\showpaste} -\tab{5}\spadcommand{dimensionsOf type\free{type }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch15} -\begin{paste}{generalFortranPageFull15}{generalFortranPageEmpty15} -\pastebutton{generalFortranPageFull15}{\hidepaste} -\tab{5}\spadcommand{external? type\free{type }} -\indentrel{3}\begin{verbatim} - (14) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty15} -\begin{paste}{generalFortranPageEmpty15}{generalFortranPagePatch15} -\pastebutton{generalFortranPageEmpty15}{\showpaste} -\tab{5}\spadcommand{external? type\free{type }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch16} -\begin{paste}{generalFortranPageFull16}{generalFortranPageEmpty16} -\pastebutton{generalFortranPageFull16}{\hidepaste} -\tab{5}\spadcommand{fortranLogical()} -\indentrel{3}\begin{verbatim} - (15) LOGICAL - Type: FortranType -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty16} -\begin{paste}{generalFortranPageEmpty16}{generalFortranPagePatch16} -\pastebutton{generalFortranPageEmpty16}{\showpaste} -\tab{5}\spadcommand{fortranLogical()} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch17} -\begin{paste}{generalFortranPageFull17}{generalFortranPageEmpty17} -\pastebutton{generalFortranPageFull17}{\hidepaste} -\tab{5}\spadcommand{construct(integer,[],true)$FortranType} -\indentrel{3}\begin{verbatim} - (16) EXTERNAL INTEGER - Type: FortranType -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty17} -\begin{paste}{generalFortranPageEmpty17}{generalFortranPagePatch17} -\pastebutton{generalFortranPageEmpty17}{\showpaste} -\tab{5}\spadcommand{construct(integer,[],true)$FortranType} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch18} -\begin{paste}{generalFortranPageFull18}{generalFortranPageEmpty18} -\pastebutton{generalFortranPageFull18}{\hidepaste} -\tab{5}\spadcommand{symbols := empty()$SymbolTable\bound{symbols }} -\indentrel{3}\begin{verbatim} - (17) table() - Type: SymbolTable -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty18} -\begin{paste}{generalFortranPageEmpty18}{generalFortranPagePatch18} -\pastebutton{generalFortranPageEmpty18}{\showpaste} -\tab{5}\spadcommand{symbols := empty()$SymbolTable\bound{symbols }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch19} -\begin{paste}{generalFortranPageFull19}{generalFortranPageEmpty19} -\pastebutton{generalFortranPageFull19}{\hidepaste} -\tab{5}\spadcommand{declare!(X,fortranReal(),symbols)\free{symbols }} -\indentrel{3}\begin{verbatim} - (18) REAL - Type: FortranType -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty19} -\begin{paste}{generalFortranPageEmpty19}{generalFortranPagePatch19} -\pastebutton{generalFortranPageEmpty19}{\showpaste} -\tab{5}\spadcommand{declare!(X,fortranReal(),symbols)\free{symbols }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch20} -\begin{paste}{generalFortranPageFull20}{generalFortranPageEmpty20} -\pastebutton{generalFortranPageFull20}{\hidepaste} -\tab{5}\spadcommand{declare!(M,construct(real,[i,j],false)$FortranType,symbols)\free{symbols }} -\indentrel{3}\begin{verbatim} - (19) REAL - (i,j) - Type: FortranType -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty20} -\begin{paste}{generalFortranPageEmpty20}{generalFortranPagePatch20} -\pastebutton{generalFortranPageEmpty20}{\showpaste} -\tab{5}\spadcommand{declare!(M,construct(real,[i,j],false)$FortranType,symbols)\free{symbols }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch21} -\begin{paste}{generalFortranPageFull21}{generalFortranPageEmpty21} -\pastebutton{generalFortranPageFull21}{\hidepaste} -\tab{5}\spadcommand{declare!([i,j],fortranInteger(),symbols)\free{symbols }} -\indentrel{3}\begin{verbatim} - (20) INTEGER - Type: FortranType -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty21} -\begin{paste}{generalFortranPageEmpty21}{generalFortranPagePatch21} -\pastebutton{generalFortranPageEmpty21}{\showpaste} -\tab{5}\spadcommand{declare!([i,j],fortranInteger(),symbols)\free{symbols }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch22} -\begin{paste}{generalFortranPageFull22}{generalFortranPageEmpty22} -\pastebutton{generalFortranPageFull22}{\hidepaste} -\tab{5}\spadcommand{symbols\free{symbols }} -\indentrel{3}\begin{verbatim} - (21) - table(X= REAL,M= REAL ,i= INTEGER,j= INTEGER) - (i,j) - Type: SymbolTable -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty22} -\begin{paste}{generalFortranPageEmpty22}{generalFortranPagePatch22} -\pastebutton{generalFortranPageEmpty22}{\showpaste} -\tab{5}\spadcommand{symbols\free{symbols }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch23} -\begin{paste}{generalFortranPageFull23}{generalFortranPageEmpty23} -\pastebutton{generalFortranPageFull23}{\hidepaste} -\tab{5}\spadcommand{fortranTypeOf(i,symbols)\free{symbols }} -\indentrel{3}\begin{verbatim} - (22) INTEGER - Type: FortranType -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty23} -\begin{paste}{generalFortranPageEmpty23}{generalFortranPagePatch23} -\pastebutton{generalFortranPageEmpty23}{\showpaste} -\tab{5}\spadcommand{fortranTypeOf(i,symbols)\free{symbols }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch24} -\begin{paste}{generalFortranPageFull24}{generalFortranPageEmpty24} -\pastebutton{generalFortranPageFull24}{\hidepaste} -\tab{5}\spadcommand{typeList(real,symbols)\free{symbols }} -\indentrel{3}\begin{verbatim} - (23) [X,[M,i,j]] -Type: List Union(name: Symbol,bounds: List Union(S: Symbol,P: Polynomial Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty24} -\begin{paste}{generalFortranPageEmpty24}{generalFortranPagePatch24} -\pastebutton{generalFortranPageEmpty24}{\showpaste} -\tab{5}\spadcommand{typeList(real,symbols)\free{symbols }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch25} -\begin{paste}{generalFortranPageFull25}{generalFortranPageEmpty25} -\pastebutton{generalFortranPageFull25}{\hidepaste} -\tab{5}\spadcommand{printTypes symbols\free{symbols }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty25} -\begin{paste}{generalFortranPageEmpty25}{generalFortranPagePatch25} -\pastebutton{generalFortranPageEmpty25}{\showpaste} -\tab{5}\spadcommand{printTypes symbols\free{symbols }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch26} -\begin{paste}{generalFortranPageFull26}{generalFortranPageEmpty26} -\pastebutton{generalFortranPageFull26}{\hidepaste} -\tab{5}\spadcommand{newSubProgram F} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty26} -\begin{paste}{generalFortranPageEmpty26}{generalFortranPagePatch26} -\pastebutton{generalFortranPageEmpty26}{\showpaste} -\tab{5}\spadcommand{newSubProgram F} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch27} -\begin{paste}{generalFortranPageFull27}{generalFortranPageEmpty27} -\pastebutton{generalFortranPageFull27}{\hidepaste} -\tab{5}\spadcommand{endSubProgram()} -\indentrel{3}\begin{verbatim} - (26) MAIN - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty27} -\begin{paste}{generalFortranPageEmpty27}{generalFortranPagePatch27} -\pastebutton{generalFortranPageEmpty27}{\showpaste} -\tab{5}\spadcommand{endSubProgram()} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch28} -\begin{paste}{generalFortranPageFull28}{generalFortranPageEmpty28} -\pastebutton{generalFortranPageFull28}{\hidepaste} -\tab{5}\spadcommand{newSubProgram F\bound{forPleasure }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty28} -\begin{paste}{generalFortranPageEmpty28}{generalFortranPagePatch28} -\pastebutton{generalFortranPageEmpty28}{\showpaste} -\tab{5}\spadcommand{newSubProgram F\bound{forPleasure }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch29} -\begin{paste}{generalFortranPageFull29}{generalFortranPageEmpty29} -\pastebutton{generalFortranPageFull29}{\hidepaste} -\tab{5}\spadcommand{argumentList!(F,[X])\free{forPleasure }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty29} -\begin{paste}{generalFortranPageEmpty29}{generalFortranPagePatch29} -\pastebutton{generalFortranPageEmpty29}{\showpaste} -\tab{5}\spadcommand{argumentList!(F,[X])\free{forPleasure }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch30} -\begin{paste}{generalFortranPageFull30}{generalFortranPageEmpty30} -\pastebutton{generalFortranPageFull30}{\hidepaste} -\tab{5}\spadcommand{returnType!(F,real)\free{forPleasure }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty30} -\begin{paste}{generalFortranPageEmpty30}{generalFortranPagePatch30} -\pastebutton{generalFortranPageEmpty30}{\showpaste} -\tab{5}\spadcommand{returnType!(F,real)\free{forPleasure }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch31} -\begin{paste}{generalFortranPageFull31}{generalFortranPageEmpty31} -\pastebutton{generalFortranPageFull31}{\hidepaste} -\tab{5}\spadcommand{declare!(X,fortranReal(),F)\free{forPleasure }} -\indentrel{3}\begin{verbatim} - (30) REAL - Type: FortranType -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty31} -\begin{paste}{generalFortranPageEmpty31}{generalFortranPagePatch31} -\pastebutton{generalFortranPageEmpty31}{\showpaste} -\tab{5}\spadcommand{declare!(X,fortranReal(),F)\free{forPleasure }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch32} -\begin{paste}{generalFortranPageFull32}{generalFortranPageEmpty32} -\pastebutton{generalFortranPageFull32}{\hidepaste} -\tab{5}\spadcommand{printHeader F\free{forPleasure }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty32} -\begin{paste}{generalFortranPageEmpty32}{generalFortranPagePatch32} -\pastebutton{generalFortranPageEmpty32}{\showpaste} -\tab{5}\spadcommand{printHeader F\free{forPleasure }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch33} -\begin{paste}{generalFortranPageFull33}{generalFortranPageEmpty33} -\pastebutton{generalFortranPageFull33}{\hidepaste} -\tab{5}\spadcommand{LT(x,y)} -\indentrel{3}\begin{verbatim} - (32) x < y - Type: Switch -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty33} -\begin{paste}{generalFortranPageEmpty33}{generalFortranPagePatch33} -\pastebutton{generalFortranPageEmpty33}{\showpaste} -\tab{5}\spadcommand{LT(x,y)} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch34} -\begin{paste}{generalFortranPageFull34}{generalFortranPageEmpty34} -\pastebutton{generalFortranPageFull34}{\hidepaste} -\tab{5}\spadcommand{c := cond(LT(X,Y),assign(F,X),cond(GT(Y,Z),assign(F,Y),assign(F,Z)))\bound{c }} -\indentrel{3}\begin{verbatim} - (33) conditional - Type: FortranCode -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty34} -\begin{paste}{generalFortranPageEmpty34}{generalFortranPagePatch34} -\pastebutton{generalFortranPageEmpty34}{\showpaste} -\tab{5}\spadcommand{c := cond(LT(X,Y),assign(F,X),cond(GT(Y,Z),assign(F,Y),assign(F,Z)))\bound{c }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch35} -\begin{paste}{generalFortranPageFull35}{generalFortranPageEmpty35} -\pastebutton{generalFortranPageFull35}{\hidepaste} -\tab{5}\spadcommand{printCode c\free{c }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty35} -\begin{paste}{generalFortranPageEmpty35}{generalFortranPagePatch35} -\pastebutton{generalFortranPageEmpty35}{\showpaste} -\tab{5}\spadcommand{printCode c\free{c }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch36} -\begin{paste}{generalFortranPageFull36}{generalFortranPageEmpty36} -\pastebutton{generalFortranPageFull36}{\hidepaste} -\tab{5}\spadcommand{symbols := empty()$SymbolTable\bound{symbols }} -\indentrel{3}\begin{verbatim} - (35) table() - Type: SymbolTable -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty36} -\begin{paste}{generalFortranPageEmpty36}{generalFortranPagePatch36} -\pastebutton{generalFortranPageEmpty36}{\showpaste} -\tab{5}\spadcommand{symbols := empty()$SymbolTable\bound{symbols }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch37} -\begin{paste}{generalFortranPageFull37}{generalFortranPageEmpty37} -\pastebutton{generalFortranPageFull37}{\hidepaste} -\tab{5}\spadcommand{declare!([X,Y],fortranReal(),symbols)\free{symbols }} -\indentrel{3}\begin{verbatim} - (36) REAL - Type: FortranType -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty37} -\begin{paste}{generalFortranPageEmpty37}{generalFortranPagePatch37} -\pastebutton{generalFortranPageEmpty37}{\showpaste} -\tab{5}\spadcommand{declare!([X,Y],fortranReal(),symbols)\free{symbols }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch38} -\begin{paste}{generalFortranPageFull38}{generalFortranPageEmpty38} -\pastebutton{generalFortranPageFull38}{\hidepaste} -\tab{5}\spadcommand{FP := FortranProgram(F,real,[X,Y],symbols)\free{symbols }\bound{FP }} -\indentrel{3}\begin{verbatim} - (37) FortranProgram(F,REAL,[X,Y],table(...,...)) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty38} -\begin{paste}{generalFortranPageEmpty38}{generalFortranPagePatch38} -\pastebutton{generalFortranPageEmpty38}{\showpaste} -\tab{5}\spadcommand{FP := FortranProgram(F,real,[X,Y],symbols)\free{symbols }\bound{FP }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch39} -\begin{paste}{generalFortranPageFull39}{generalFortranPageEmpty39} -\pastebutton{generalFortranPageFull39}{\hidepaste} -\tab{5}\spadcommand{asp := X*sin(Y)\bound{asp }} -\indentrel{3}\begin{verbatim} - (38) X sin(Y) - Type: Expression Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty39} -\begin{paste}{generalFortranPageEmpty39}{generalFortranPagePatch39} -\pastebutton{generalFortranPageEmpty39}{\showpaste} -\tab{5}\spadcommand{asp := X*sin(Y)\bound{asp }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch40} -\begin{paste}{generalFortranPageFull40}{generalFortranPageEmpty40} -\pastebutton{generalFortranPageFull40}{\hidepaste} -\tab{5}\spadcommand{outputAsFortran(asp::FP)\free{FP asp }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty40} -\begin{paste}{generalFortranPageEmpty40}{generalFortranPagePatch40} -\pastebutton{generalFortranPageEmpty40}{\showpaste} -\tab{5}\spadcommand{outputAsFortran(asp::FP)\free{FP asp }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch41} -\begin{paste}{generalFortranPageFull41}{generalFortranPageEmpty41} -\pastebutton{generalFortranPageFull41}{\hidepaste} -\tab{5}\spadcommand{declare!(Z,fortranReal(),symbols)\free{symbols }\bound{Z }} -\indentrel{3}\begin{verbatim} - (40) REAL - Type: FortranType -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty41} -\begin{paste}{generalFortranPageEmpty41}{generalFortranPagePatch41} -\pastebutton{generalFortranPageEmpty41}{\showpaste} -\tab{5}\spadcommand{declare!(Z,fortranReal(),symbols)\free{symbols }\bound{Z }} -\end{paste}\end{patch} - -\begin{patch}{generalFortranPagePatch42} -\begin{paste}{generalFortranPageFull42}{generalFortranPageEmpty42} -\pastebutton{generalFortranPageFull42}{\hidepaste} -\tab{5}\spadcommand{outputAsFortran([c,returns()]::FP)\free{FP c Z }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{generalFortranPageEmpty42} -\begin{paste}{generalFortranPageEmpty42}{generalFortranPagePatch42} -\pastebutton{generalFortranPageEmpty42}{\showpaste} -\tab{5}\spadcommand{outputAsFortran([c,returns()]::FP)\free{FP c Z }} -\end{paste}\end{patch} - diff --git a/books/pages/uniseg.pht b/books/pages/uniseg.pht deleted file mode 100644 index bbaed12..0000000 --- a/books/pages/uniseg.pht +++ /dev/null @@ -1,144 +0,0 @@ -\begin{patch}{UniversalSegmentXmpPagePatch1} -\begin{paste}{UniversalSegmentXmpPageFull1}{UniversalSegmentXmpPageEmpty1} -\pastebutton{UniversalSegmentXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{pints := 1..\bound{pints }} -\indentrel{3}\begin{verbatim} - (1) 1.. - Type: UniversalSegment PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UniversalSegmentXmpPageEmpty1} -\begin{paste}{UniversalSegmentXmpPageEmpty1}{UniversalSegmentXmpPagePatch1} -\pastebutton{UniversalSegmentXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{pints := 1..\bound{pints }} -\end{paste}\end{patch} - -\begin{patch}{UniversalSegmentXmpPagePatch2} -\begin{paste}{UniversalSegmentXmpPageFull2}{UniversalSegmentXmpPageEmpty2} -\pastebutton{UniversalSegmentXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{nevens := (0..) by -2\bound{nevens }} -\indentrel{3}\begin{verbatim} - (2) 0.. by - 2 - Type: UniversalSegment NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UniversalSegmentXmpPageEmpty2} -\begin{paste}{UniversalSegmentXmpPageEmpty2}{UniversalSegmentXmpPagePatch2} -\pastebutton{UniversalSegmentXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{nevens := (0..) by -2\bound{nevens }} -\end{paste}\end{patch} - -\begin{patch}{UniversalSegmentXmpPagePatch3} -\begin{paste}{UniversalSegmentXmpPageFull3}{UniversalSegmentXmpPageEmpty3} -\pastebutton{UniversalSegmentXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{useg: UniversalSegment(Integer) := 3..10\bound{useg }} -\indentrel{3}\begin{verbatim} - (3) 3..10 - Type: UniversalSegment Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UniversalSegmentXmpPageEmpty3} -\begin{paste}{UniversalSegmentXmpPageEmpty3}{UniversalSegmentXmpPagePatch3} -\pastebutton{UniversalSegmentXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{useg: UniversalSegment(Integer) := 3..10\bound{useg }} -\end{paste}\end{patch} - -\begin{patch}{UniversalSegmentXmpPagePatch4} -\begin{paste}{UniversalSegmentXmpPageFull4}{UniversalSegmentXmpPageEmpty4} -\pastebutton{UniversalSegmentXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{hasHi pints\free{pints }} -\indentrel{3}\begin{verbatim} - (4) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UniversalSegmentXmpPageEmpty4} -\begin{paste}{UniversalSegmentXmpPageEmpty4}{UniversalSegmentXmpPagePatch4} -\pastebutton{UniversalSegmentXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{hasHi pints\free{pints }} -\end{paste}\end{patch} - -\begin{patch}{UniversalSegmentXmpPagePatch5} -\begin{paste}{UniversalSegmentXmpPageFull5}{UniversalSegmentXmpPageEmpty5} -\pastebutton{UniversalSegmentXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{hasHi nevens\free{nevens }} -\indentrel{3}\begin{verbatim} - (5) false - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UniversalSegmentXmpPageEmpty5} -\begin{paste}{UniversalSegmentXmpPageEmpty5}{UniversalSegmentXmpPagePatch5} -\pastebutton{UniversalSegmentXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{hasHi nevens\free{nevens }} -\end{paste}\end{patch} - -\begin{patch}{UniversalSegmentXmpPagePatch6} -\begin{paste}{UniversalSegmentXmpPageFull6}{UniversalSegmentXmpPageEmpty6} -\pastebutton{UniversalSegmentXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{hasHi useg\free{useg }} -\indentrel{3}\begin{verbatim} - (6) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UniversalSegmentXmpPageEmpty6} -\begin{paste}{UniversalSegmentXmpPageEmpty6}{UniversalSegmentXmpPagePatch6} -\pastebutton{UniversalSegmentXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{hasHi useg\free{useg }} -\end{paste}\end{patch} - -\begin{patch}{UniversalSegmentXmpPagePatch7} -\begin{paste}{UniversalSegmentXmpPageFull7}{UniversalSegmentXmpPageEmpty7} -\pastebutton{UniversalSegmentXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{expand pints\free{pints }} -\indentrel{3}\begin{verbatim} - (7) [1,2,3,4,5,6,7,8,9,10,...] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UniversalSegmentXmpPageEmpty7} -\begin{paste}{UniversalSegmentXmpPageEmpty7}{UniversalSegmentXmpPagePatch7} -\pastebutton{UniversalSegmentXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{expand pints\free{pints }} -\end{paste}\end{patch} - -\begin{patch}{UniversalSegmentXmpPagePatch8} -\begin{paste}{UniversalSegmentXmpPageFull8}{UniversalSegmentXmpPageEmpty8} -\pastebutton{UniversalSegmentXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{expand nevens\free{nevens }} -\indentrel{3}\begin{verbatim} - (8) [0,- 2,- 4,- 6,- 8,- 10,- 12,- 14,- 16,- 18,...] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UniversalSegmentXmpPageEmpty8} -\begin{paste}{UniversalSegmentXmpPageEmpty8}{UniversalSegmentXmpPagePatch8} -\pastebutton{UniversalSegmentXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{expand nevens\free{nevens }} -\end{paste}\end{patch} - -\begin{patch}{UniversalSegmentXmpPagePatch9} -\begin{paste}{UniversalSegmentXmpPageFull9}{UniversalSegmentXmpPageEmpty9} -\pastebutton{UniversalSegmentXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{expand [1, 3, 10..15, 100..]} -\indentrel{3}\begin{verbatim} - (9) [1,3,10,11,12,13,14,15,100,101,...] - Type: Stream Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UniversalSegmentXmpPageEmpty9} -\begin{paste}{UniversalSegmentXmpPageEmpty9}{UniversalSegmentXmpPagePatch9} -\pastebutton{UniversalSegmentXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{expand [1, 3, 10..15, 100..]} -\end{paste}\end{patch} - diff --git a/books/pages/up.pht b/books/pages/up.pht deleted file mode 100644 index 15f6278..0000000 --- a/books/pages/up.pht +++ /dev/null @@ -1,612 +0,0 @@ -\begin{patch}{UnivariatePolynomialXmpPagePatch1} -\begin{paste}{UnivariatePolynomialXmpPageFull1}{UnivariatePolynomialXmpPageEmpty1} -\pastebutton{UnivariatePolynomialXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{(p,q) : UP(x,INT)\bound{pdec }\bound{qdec }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty1} -\begin{paste}{UnivariatePolynomialXmpPageEmpty1}{UnivariatePolynomialXmpPagePatch1} -\pastebutton{UnivariatePolynomialXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{(p,q) : UP(x,INT)\bound{pdec }\bound{qdec }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch2} -\begin{paste}{UnivariatePolynomialXmpPageFull2}{UnivariatePolynomialXmpPageEmpty2} -\pastebutton{UnivariatePolynomialXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{p := (3*x-1)**2 * (2*x + 8)\free{pdec }\bound{p }} -\indentrel{3}\begin{verbatim} - 3 2 - (2) 18x + 60x - 46x + 8 - Type: UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty2} -\begin{paste}{UnivariatePolynomialXmpPageEmpty2}{UnivariatePolynomialXmpPagePatch2} -\pastebutton{UnivariatePolynomialXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{p := (3*x-1)**2 * (2*x + 8)\free{pdec }\bound{p }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch3} -\begin{paste}{UnivariatePolynomialXmpPageFull3}{UnivariatePolynomialXmpPageEmpty3} -\pastebutton{UnivariatePolynomialXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{q := (1 - 6*x + 9*x**2)**2\free{qdec }\bound{q }} -\indentrel{3}\begin{verbatim} - 4 3 2 - (3) 81x - 108x + 54x - 12x + 1 - Type: UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty3} -\begin{paste}{UnivariatePolynomialXmpPageEmpty3}{UnivariatePolynomialXmpPagePatch3} -\pastebutton{UnivariatePolynomialXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{q := (1 - 6*x + 9*x**2)**2\free{qdec }\bound{q }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch4} -\begin{paste}{UnivariatePolynomialXmpPageFull4}{UnivariatePolynomialXmpPageEmpty4} -\pastebutton{UnivariatePolynomialXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{p**2 + p*q\free{p q }} -\indentrel{3}\begin{verbatim} - (4) - 7 6 5 4 3 2 - 1458x + 3240x - 7074x + 10584x - 9282x + 4120x - + - - 878x + 72 - Type: UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty4} -\begin{paste}{UnivariatePolynomialXmpPageEmpty4}{UnivariatePolynomialXmpPagePatch4} -\pastebutton{UnivariatePolynomialXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{p**2 + p*q\free{p q }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch5} -\begin{paste}{UnivariatePolynomialXmpPageFull5}{UnivariatePolynomialXmpPageEmpty5} -\pastebutton{UnivariatePolynomialXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{leadingCoefficient p\free{p }} -\indentrel{3}\begin{verbatim} - (5) 18 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty5} -\begin{paste}{UnivariatePolynomialXmpPageEmpty5}{UnivariatePolynomialXmpPagePatch5} -\pastebutton{UnivariatePolynomialXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{leadingCoefficient p\free{p }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch6} -\begin{paste}{UnivariatePolynomialXmpPageFull6}{UnivariatePolynomialXmpPageEmpty6} -\pastebutton{UnivariatePolynomialXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{degree p\free{p }} -\indentrel{3}\begin{verbatim} - (6) 3 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty6} -\begin{paste}{UnivariatePolynomialXmpPageEmpty6}{UnivariatePolynomialXmpPagePatch6} -\pastebutton{UnivariatePolynomialXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{degree p\free{p }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch7} -\begin{paste}{UnivariatePolynomialXmpPageFull7}{UnivariatePolynomialXmpPageEmpty7} -\pastebutton{UnivariatePolynomialXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{reductum p\free{p }} -\indentrel{3}\begin{verbatim} - 2 - (7) 60x - 46x + 8 - Type: UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty7} -\begin{paste}{UnivariatePolynomialXmpPageEmpty7}{UnivariatePolynomialXmpPagePatch7} -\pastebutton{UnivariatePolynomialXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{reductum p\free{p }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch8} -\begin{paste}{UnivariatePolynomialXmpPageFull8}{UnivariatePolynomialXmpPageEmpty8} -\pastebutton{UnivariatePolynomialXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{gcd(p,q)\free{p q }} -\indentrel{3}\begin{verbatim} - 2 - (8) 9x - 6x + 1 - Type: UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty8} -\begin{paste}{UnivariatePolynomialXmpPageEmpty8}{UnivariatePolynomialXmpPagePatch8} -\pastebutton{UnivariatePolynomialXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{gcd(p,q)\free{p q }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch9} -\begin{paste}{UnivariatePolynomialXmpPageFull9}{UnivariatePolynomialXmpPageEmpty9} -\pastebutton{UnivariatePolynomialXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{lcm(p,q)\free{p q }} -\indentrel{3}\begin{verbatim} - 5 4 3 2 - (9) 162x + 432x - 756x + 408x - 94x + 8 - Type: UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty9} -\begin{paste}{UnivariatePolynomialXmpPageEmpty9}{UnivariatePolynomialXmpPagePatch9} -\pastebutton{UnivariatePolynomialXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{lcm(p,q)\free{p q }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch10} -\begin{paste}{UnivariatePolynomialXmpPageFull10}{UnivariatePolynomialXmpPageEmpty10} -\pastebutton{UnivariatePolynomialXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{resultant(p,q)\free{p q }} -\indentrel{3}\begin{verbatim} - (10) 0 - Type: NonNegativeInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty10} -\begin{paste}{UnivariatePolynomialXmpPageEmpty10}{UnivariatePolynomialXmpPagePatch10} -\pastebutton{UnivariatePolynomialXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{resultant(p,q)\free{p q }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch11} -\begin{paste}{UnivariatePolynomialXmpPageFull11}{UnivariatePolynomialXmpPageEmpty11} -\pastebutton{UnivariatePolynomialXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{D p\free{p }} -\indentrel{3}\begin{verbatim} - 2 - (11) 54x + 120x - 46 - Type: UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty11} -\begin{paste}{UnivariatePolynomialXmpPageEmpty11}{UnivariatePolynomialXmpPagePatch11} -\pastebutton{UnivariatePolynomialXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{D p\free{p }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch12} -\begin{paste}{UnivariatePolynomialXmpPageFull12}{UnivariatePolynomialXmpPageEmpty12} -\pastebutton{UnivariatePolynomialXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{p(2)\free{p }} -\indentrel{3}\begin{verbatim} - (12) 300 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty12} -\begin{paste}{UnivariatePolynomialXmpPageEmpty12}{UnivariatePolynomialXmpPagePatch12} -\pastebutton{UnivariatePolynomialXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{p(2)\free{p }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch13} -\begin{paste}{UnivariatePolynomialXmpPageFull13}{UnivariatePolynomialXmpPageEmpty13} -\pastebutton{UnivariatePolynomialXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{p(q)\free{p q }} -\indentrel{3}\begin{verbatim} - (13) - 12 11 10 9 - 9565938x - 38263752x + 70150212x - 77944680x - + - 8 7 6 5 - 58852170x - 32227632x + 13349448x - 4280688x - + - 4 3 2 - 1058184x - 192672x + 23328x - 1536x + 40 - Type: UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty13} -\begin{paste}{UnivariatePolynomialXmpPageEmpty13}{UnivariatePolynomialXmpPagePatch13} -\pastebutton{UnivariatePolynomialXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{p(q)\free{p q }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch14} -\begin{paste}{UnivariatePolynomialXmpPageFull14}{UnivariatePolynomialXmpPageEmpty14} -\pastebutton{UnivariatePolynomialXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{q(p)\free{p q }} -\indentrel{3}\begin{verbatim} - (14) - 12 11 10 - 8503056x + 113374080x + 479950272x - + - 9 8 7 - 404997408x - 1369516896x - 626146848x - + - 6 5 4 - 2939858712x - 2780728704x + 1364312160x - + - 3 2 - - 396838872x + 69205896x - 6716184x + 279841 - Type: UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty14} -\begin{paste}{UnivariatePolynomialXmpPageEmpty14}{UnivariatePolynomialXmpPagePatch14} -\pastebutton{UnivariatePolynomialXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{q(p)\free{p q }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch15} -\begin{paste}{UnivariatePolynomialXmpPageFull15}{UnivariatePolynomialXmpPageEmpty15} -\pastebutton{UnivariatePolynomialXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{l := coefficients p\free{p }\bound{l }} -\indentrel{3}\begin{verbatim} - (15) [18,60,- 46,8] - Type: List Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty15} -\begin{paste}{UnivariatePolynomialXmpPageEmpty15}{UnivariatePolynomialXmpPagePatch15} -\pastebutton{UnivariatePolynomialXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{l := coefficients p\free{p }\bound{l }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch16} -\begin{paste}{UnivariatePolynomialXmpPageFull16}{UnivariatePolynomialXmpPageEmpty16} -\pastebutton{UnivariatePolynomialXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{reduce(gcd,l)\free{l }} -\indentrel{3}\begin{verbatim} - (16) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty16} -\begin{paste}{UnivariatePolynomialXmpPageEmpty16}{UnivariatePolynomialXmpPagePatch16} -\pastebutton{UnivariatePolynomialXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{reduce(gcd,l)\free{l }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch17} -\begin{paste}{UnivariatePolynomialXmpPageFull17}{UnivariatePolynomialXmpPageEmpty17} -\pastebutton{UnivariatePolynomialXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{content p\free{p }} -\indentrel{3}\begin{verbatim} - (17) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty17} -\begin{paste}{UnivariatePolynomialXmpPageEmpty17}{UnivariatePolynomialXmpPagePatch17} -\pastebutton{UnivariatePolynomialXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{content p\free{p }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch18} -\begin{paste}{UnivariatePolynomialXmpPageFull18}{UnivariatePolynomialXmpPageEmpty18} -\pastebutton{UnivariatePolynomialXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{ux := (x**4+2*x+3)::UP(x,INT)\bound{ux }} -\indentrel{3}\begin{verbatim} - 4 - (18) x + 2x + 3 - Type: UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty18} -\begin{paste}{UnivariatePolynomialXmpPageEmpty18}{UnivariatePolynomialXmpPagePatch18} -\pastebutton{UnivariatePolynomialXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{ux := (x**4+2*x+3)::UP(x,INT)\bound{ux }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch19} -\begin{paste}{UnivariatePolynomialXmpPageFull19}{UnivariatePolynomialXmpPageEmpty19} -\pastebutton{UnivariatePolynomialXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{vectorise(ux,5)\free{ux }} -\indentrel{3}\begin{verbatim} - (19) [3,2,0,0,1] - Type: Vector Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty19} -\begin{paste}{UnivariatePolynomialXmpPageEmpty19}{UnivariatePolynomialXmpPagePatch19} -\pastebutton{UnivariatePolynomialXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{vectorise(ux,5)\free{ux }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch20} -\begin{paste}{UnivariatePolynomialXmpPageFull20}{UnivariatePolynomialXmpPageEmpty20} -\pastebutton{UnivariatePolynomialXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{squareTerms(p) == - reduce(+,[t**2 for t in monomials p]) -\bound{squareTerms }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty20} -\begin{paste}{UnivariatePolynomialXmpPageEmpty20}{UnivariatePolynomialXmpPagePatch20} -\pastebutton{UnivariatePolynomialXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{squareTerms(p) == - reduce(+,[t**2 for t in monomials p]) -\bound{squareTerms }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch21} -\begin{paste}{UnivariatePolynomialXmpPageFull21}{UnivariatePolynomialXmpPageEmpty21} -\pastebutton{UnivariatePolynomialXmpPageFull21}{\hidepaste} -\tab{5}\spadcommand{p\free{p }} -\indentrel{3}\begin{verbatim} - 3 2 - (21) 18x + 60x - 46x + 8 - Type: UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty21} -\begin{paste}{UnivariatePolynomialXmpPageEmpty21}{UnivariatePolynomialXmpPagePatch21} -\pastebutton{UnivariatePolynomialXmpPageEmpty21}{\showpaste} -\tab{5}\spadcommand{p\free{p }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch22} -\begin{paste}{UnivariatePolynomialXmpPageFull22}{UnivariatePolynomialXmpPageEmpty22} -\pastebutton{UnivariatePolynomialXmpPageFull22}{\hidepaste} -\tab{5}\spadcommand{squareTerms p\free{p }\free{squareTerms }} -\indentrel{3}\begin{verbatim} - 6 4 2 - (22) 324x + 3600x + 2116x + 64 - Type: UnivariatePolynomial(x,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty22} -\begin{paste}{UnivariatePolynomialXmpPageEmpty22}{UnivariatePolynomialXmpPagePatch22} -\pastebutton{UnivariatePolynomialXmpPageEmpty22}{\showpaste} -\tab{5}\spadcommand{squareTerms p\free{p }\free{squareTerms }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch23} -\begin{paste}{UnivariatePolynomialXmpPageFull23}{UnivariatePolynomialXmpPageEmpty23} -\pastebutton{UnivariatePolynomialXmpPageFull23}{\hidepaste} -\tab{5}\spadcommand{(r,s) : UP(a1,FRAC INT)\bound{rdec }\bound{sdec }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty23} -\begin{paste}{UnivariatePolynomialXmpPageEmpty23}{UnivariatePolynomialXmpPagePatch23} -\pastebutton{UnivariatePolynomialXmpPageEmpty23}{\showpaste} -\tab{5}\spadcommand{(r,s) : UP(a1,FRAC INT)\bound{rdec }\bound{sdec }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch24} -\begin{paste}{UnivariatePolynomialXmpPageFull24}{UnivariatePolynomialXmpPageEmpty24} -\pastebutton{UnivariatePolynomialXmpPageFull24}{\hidepaste} -\tab{5}\spadcommand{r := a1**2 - 2/3\free{rdec }\bound{r }} -\indentrel{3}\begin{verbatim} - 2 2 - (24) a1 - Ä - 3 - Type: UnivariatePolynomial(a1,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty24} -\begin{paste}{UnivariatePolynomialXmpPageEmpty24}{UnivariatePolynomialXmpPagePatch24} -\pastebutton{UnivariatePolynomialXmpPageEmpty24}{\showpaste} -\tab{5}\spadcommand{r := a1**2 - 2/3\free{rdec }\bound{r }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch25} -\begin{paste}{UnivariatePolynomialXmpPageFull25}{UnivariatePolynomialXmpPageEmpty25} -\pastebutton{UnivariatePolynomialXmpPageFull25}{\hidepaste} -\tab{5}\spadcommand{s := a1 + 4\free{sdec }\bound{s }} -\indentrel{3}\begin{verbatim} - (25) a1 + 4 - Type: UnivariatePolynomial(a1,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty25} -\begin{paste}{UnivariatePolynomialXmpPageEmpty25}{UnivariatePolynomialXmpPagePatch25} -\pastebutton{UnivariatePolynomialXmpPageEmpty25}{\showpaste} -\tab{5}\spadcommand{s := a1 + 4\free{sdec }\bound{s }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch26} -\begin{paste}{UnivariatePolynomialXmpPageFull26}{UnivariatePolynomialXmpPageEmpty26} -\pastebutton{UnivariatePolynomialXmpPageFull26}{\hidepaste} -\tab{5}\spadcommand{r quo s\free{r s }} -\indentrel{3}\begin{verbatim} - (26) a1 - 4 - Type: UnivariatePolynomial(a1,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty26} -\begin{paste}{UnivariatePolynomialXmpPageEmpty26}{UnivariatePolynomialXmpPagePatch26} -\pastebutton{UnivariatePolynomialXmpPageEmpty26}{\showpaste} -\tab{5}\spadcommand{r quo s\free{r s }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch27} -\begin{paste}{UnivariatePolynomialXmpPageFull27}{UnivariatePolynomialXmpPageEmpty27} -\pastebutton{UnivariatePolynomialXmpPageFull27}{\hidepaste} -\tab{5}\spadcommand{r rem s\free{r s }} -\indentrel{3}\begin{verbatim} - 46 - (27) ÄÄ - 3 - Type: UnivariatePolynomial(a1,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty27} -\begin{paste}{UnivariatePolynomialXmpPageEmpty27}{UnivariatePolynomialXmpPagePatch27} -\pastebutton{UnivariatePolynomialXmpPageEmpty27}{\showpaste} -\tab{5}\spadcommand{r rem s\free{r s }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch28} -\begin{paste}{UnivariatePolynomialXmpPageFull28}{UnivariatePolynomialXmpPageEmpty28} -\pastebutton{UnivariatePolynomialXmpPageFull28}{\hidepaste} -\tab{5}\spadcommand{d := divide(r, s)\free{r s }\bound{d }} -\indentrel{3}\begin{verbatim} - 46 - (28) [quotient= a1 - 4,remainder= ÄÄ] - 3 -Type: Record(quotient: UnivariatePolynomial(a1,Fraction Integer),remainder: UnivariatePolynomial(a1,Fraction Integer)) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty28} -\begin{paste}{UnivariatePolynomialXmpPageEmpty28}{UnivariatePolynomialXmpPagePatch28} -\pastebutton{UnivariatePolynomialXmpPageEmpty28}{\showpaste} -\tab{5}\spadcommand{d := divide(r, s)\free{r s }\bound{d }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch29} -\begin{paste}{UnivariatePolynomialXmpPageFull29}{UnivariatePolynomialXmpPageEmpty29} -\pastebutton{UnivariatePolynomialXmpPageFull29}{\hidepaste} -\tab{5}\spadcommand{r - (d.quotient * s + d.remainder)\free{r s d }} -\indentrel{3}\begin{verbatim} - (29) 0 - Type: UnivariatePolynomial(a1,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty29} -\begin{paste}{UnivariatePolynomialXmpPageEmpty29}{UnivariatePolynomialXmpPagePatch29} -\pastebutton{UnivariatePolynomialXmpPageEmpty29}{\showpaste} -\tab{5}\spadcommand{r - (d.quotient * s + d.remainder)\free{r s d }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch30} -\begin{paste}{UnivariatePolynomialXmpPageFull30}{UnivariatePolynomialXmpPageEmpty30} -\pastebutton{UnivariatePolynomialXmpPageFull30}{\hidepaste} -\tab{5}\spadcommand{integrate r\free{r }} -\indentrel{3}\begin{verbatim} - 1 3 2 - (30) Ä a1 - Ä a1 - 3 3 - Type: UnivariatePolynomial(a1,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty30} -\begin{paste}{UnivariatePolynomialXmpPageEmpty30}{UnivariatePolynomialXmpPagePatch30} -\pastebutton{UnivariatePolynomialXmpPageEmpty30}{\showpaste} -\tab{5}\spadcommand{integrate r\free{r }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch31} -\begin{paste}{UnivariatePolynomialXmpPageFull31}{UnivariatePolynomialXmpPageEmpty31} -\pastebutton{UnivariatePolynomialXmpPageFull31}{\hidepaste} -\tab{5}\spadcommand{integrate s\free{s }} -\indentrel{3}\begin{verbatim} - 1 2 - (31) Ä a1 + 4a1 - 2 - Type: UnivariatePolynomial(a1,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty31} -\begin{paste}{UnivariatePolynomialXmpPageEmpty31}{UnivariatePolynomialXmpPagePatch31} -\pastebutton{UnivariatePolynomialXmpPageEmpty31}{\showpaste} -\tab{5}\spadcommand{integrate s\free{s }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch32} -\begin{paste}{UnivariatePolynomialXmpPageFull32}{UnivariatePolynomialXmpPageEmpty32} -\pastebutton{UnivariatePolynomialXmpPageFull32}{\hidepaste} -\tab{5}\spadcommand{t : UP(a1,FRAC POLY INT)\bound{tdec }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty32} -\begin{paste}{UnivariatePolynomialXmpPageEmpty32}{UnivariatePolynomialXmpPagePatch32} -\pastebutton{UnivariatePolynomialXmpPageEmpty32}{\showpaste} -\tab{5}\spadcommand{t : UP(a1,FRAC POLY INT)\bound{tdec }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch33} -\begin{paste}{UnivariatePolynomialXmpPageFull33}{UnivariatePolynomialXmpPageEmpty33} -\pastebutton{UnivariatePolynomialXmpPageFull33}{\hidepaste} -\tab{5}\spadcommand{t := a1**2 - a1/b2 + (b1**2-b1)/(b2+3)\free{tdec }\bound{t }} -\indentrel{3}\begin{verbatim} - 2 - 2 1 b1 - b1 - (33) a1 - ÄÄ a1 + ÄÄÄÄÄÄÄÄ - b2 b2 + 3 -Type: UnivariatePolynomial(a1,Fraction Polynomial Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty33} -\begin{paste}{UnivariatePolynomialXmpPageEmpty33}{UnivariatePolynomialXmpPagePatch33} -\pastebutton{UnivariatePolynomialXmpPageEmpty33}{\showpaste} -\tab{5}\spadcommand{t := a1**2 - a1/b2 + (b1**2-b1)/(b2+3)\free{tdec }\bound{t }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch34} -\begin{paste}{UnivariatePolynomialXmpPageFull34}{UnivariatePolynomialXmpPageEmpty34} -\pastebutton{UnivariatePolynomialXmpPageFull34}{\hidepaste} -\tab{5}\spadcommand{u : FRAC POLY INT := t\bound{u }\free{t }} -\indentrel{3}\begin{verbatim} - 2 2 2 2 - a1 b2 + (b1 - b1 + 3a1 - a1)b2 - 3a1 - (34) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ - 2 - b2 + 3b2 - Type: Fraction Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty34} -\begin{paste}{UnivariatePolynomialXmpPageEmpty34}{UnivariatePolynomialXmpPagePatch34} -\pastebutton{UnivariatePolynomialXmpPageEmpty34}{\showpaste} -\tab{5}\spadcommand{u : FRAC POLY INT := t\bound{u }\free{t }} -\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPagePatch35} -\begin{paste}{UnivariatePolynomialXmpPageFull35}{UnivariatePolynomialXmpPageEmpty35} -\pastebutton{UnivariatePolynomialXmpPageFull35}{\hidepaste} -\tab{5}\spadcommand{u :: UP(b1,?)\free{u }} -\indentrel{3}\begin{verbatim} - 2 - 1 2 1 a1 b2 - a1 - (35) ÄÄÄÄÄÄ b1 - ÄÄÄÄÄÄ b1 + ÄÄÄÄÄÄÄÄÄÄ - b2 + 3 b2 + 3 b2 -Type: UnivariatePolynomial(b1,Fraction Polynomial Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{UnivariatePolynomialXmpPageEmpty35} -\begin{paste}{UnivariatePolynomialXmpPageEmpty35}{UnivariatePolynomialXmpPagePatch35} -\pastebutton{UnivariatePolynomialXmpPageEmpty35}{\showpaste} -\tab{5}\spadcommand{u :: UP(b1,?)\free{u }} -\end{paste}\end{patch} - diff --git a/books/pages/vector.pht b/books/pages/vector.pht deleted file mode 100644 index 9c8394f..0000000 --- a/books/pages/vector.pht +++ /dev/null @@ -1,176 +0,0 @@ -\begin{patch}{VectorXmpPagePatch1} -\begin{paste}{VectorXmpPageFull1}{VectorXmpPageEmpty1} -\pastebutton{VectorXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{u : VECTOR INT := new(5,12)\bound{u }} -\indentrel{3}\begin{verbatim} - (1) [12,12,12,12,12] - Type: Vector Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{VectorXmpPageEmpty1} -\begin{paste}{VectorXmpPageEmpty1}{VectorXmpPagePatch1} -\pastebutton{VectorXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{u : VECTOR INT := new(5,12)\bound{u }} -\end{paste}\end{patch} - -\begin{patch}{VectorXmpPagePatch2} -\begin{paste}{VectorXmpPageFull2}{VectorXmpPageEmpty2} -\pastebutton{VectorXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{v : VECTOR INT := vector([1,2,3,4,5])\bound{v }} -\indentrel{3}\begin{verbatim} - (2) [1,2,3,4,5] - Type: Vector Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{VectorXmpPageEmpty2} -\begin{paste}{VectorXmpPageEmpty2}{VectorXmpPagePatch2} -\pastebutton{VectorXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{v : VECTOR INT := vector([1,2,3,4,5])\bound{v }} -\end{paste}\end{patch} - -\begin{patch}{VectorXmpPagePatch3} -\begin{paste}{VectorXmpPageFull3}{VectorXmpPageEmpty3} -\pastebutton{VectorXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{\#(v)\free{v }} -\indentrel{3}\begin{verbatim} - (3) 5 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{VectorXmpPageEmpty3} -\begin{paste}{VectorXmpPageEmpty3}{VectorXmpPagePatch3} -\pastebutton{VectorXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{\#(v)\free{v }} -\end{paste}\end{patch} - -\begin{patch}{VectorXmpPagePatch4} -\begin{paste}{VectorXmpPageFull4}{VectorXmpPageEmpty4} -\pastebutton{VectorXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{v.2\free{v }} -\indentrel{3}\begin{verbatim} - (4) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{VectorXmpPageEmpty4} -\begin{paste}{VectorXmpPageEmpty4}{VectorXmpPagePatch4} -\pastebutton{VectorXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{v.2\free{v }} -\end{paste}\end{patch} - -\begin{patch}{VectorXmpPagePatch5} -\begin{paste}{VectorXmpPageFull5}{VectorXmpPageEmpty5} -\pastebutton{VectorXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{v.3 := 99\free{v }\bound{vdelta }} -\indentrel{3}\begin{verbatim} - (5) 99 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{VectorXmpPageEmpty5} -\begin{paste}{VectorXmpPageEmpty5}{VectorXmpPagePatch5} -\pastebutton{VectorXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{v.3 := 99\free{v }\bound{vdelta }} -\end{paste}\end{patch} - -\begin{patch}{VectorXmpPagePatch6} -\begin{paste}{VectorXmpPageFull6}{VectorXmpPageEmpty6} -\pastebutton{VectorXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{v\free{vdelta }} -\indentrel{3}\begin{verbatim} - (6) [1,2,99,4,5] - Type: Vector Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{VectorXmpPageEmpty6} -\begin{paste}{VectorXmpPageEmpty6}{VectorXmpPagePatch6} -\pastebutton{VectorXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{v\free{vdelta }} -\end{paste}\end{patch} - -\begin{patch}{VectorXmpPagePatch7} -\begin{paste}{VectorXmpPageFull7}{VectorXmpPageEmpty7} -\pastebutton{VectorXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{5 * v\free{vdelta }} -\indentrel{3}\begin{verbatim} - (7) [5,10,495,20,25] - Type: Vector Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{VectorXmpPageEmpty7} -\begin{paste}{VectorXmpPageEmpty7}{VectorXmpPagePatch7} -\pastebutton{VectorXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{5 * v\free{vdelta }} -\end{paste}\end{patch} - -\begin{patch}{VectorXmpPagePatch8} -\begin{paste}{VectorXmpPageFull8}{VectorXmpPageEmpty8} -\pastebutton{VectorXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{v * 7\free{vdelta }} -\indentrel{3}\begin{verbatim} - (8) [7,14,693,28,35] - Type: Vector Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{VectorXmpPageEmpty8} -\begin{paste}{VectorXmpPageEmpty8}{VectorXmpPagePatch8} -\pastebutton{VectorXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{v * 7\free{vdelta }} -\end{paste}\end{patch} - -\begin{patch}{VectorXmpPagePatch9} -\begin{paste}{VectorXmpPageFull9}{VectorXmpPageEmpty9} -\pastebutton{VectorXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{w : VECTOR INT := vector([2,3,4,5,6])\bound{w }} -\indentrel{3}\begin{verbatim} - (9) [2,3,4,5,6] - Type: Vector Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{VectorXmpPageEmpty9} -\begin{paste}{VectorXmpPageEmpty9}{VectorXmpPagePatch9} -\pastebutton{VectorXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{w : VECTOR INT := vector([2,3,4,5,6])\bound{w }} -\end{paste}\end{patch} - -\begin{patch}{VectorXmpPagePatch10} -\begin{paste}{VectorXmpPageFull10}{VectorXmpPageEmpty10} -\pastebutton{VectorXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{v + w\free{vdelta w }} -\indentrel{3}\begin{verbatim} - (10) [3,5,103,9,11] - Type: Vector Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{VectorXmpPageEmpty10} -\begin{paste}{VectorXmpPageEmpty10}{VectorXmpPagePatch10} -\pastebutton{VectorXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{v + w\free{vdelta w }} -\end{paste}\end{patch} - -\begin{patch}{VectorXmpPagePatch11} -\begin{paste}{VectorXmpPageFull11}{VectorXmpPageEmpty11} -\pastebutton{VectorXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{v - w\free{vdelta w }} -\indentrel{3}\begin{verbatim} - (11) [- 1,- 1,95,- 1,- 1] - Type: Vector Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{VectorXmpPageEmpty11} -\begin{paste}{VectorXmpPageEmpty11}{VectorXmpPagePatch11} -\pastebutton{VectorXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{v - w\free{vdelta w }} -\end{paste}\end{patch} - diff --git a/books/pages/void.pht b/books/pages/void.pht deleted file mode 100644 index 7603a35..0000000 --- a/books/pages/void.pht +++ /dev/null @@ -1,89 +0,0 @@ -\begin{patch}{VoidXmpPagePatch1} -\begin{paste}{VoidXmpPageFull1}{VoidXmpPageEmpty1} -\pastebutton{VoidXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{a : Integer} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{VoidXmpPageEmpty1} -\begin{paste}{VoidXmpPageEmpty1}{VoidXmpPagePatch1} -\pastebutton{VoidXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{a : Integer} -\end{paste}\end{patch} - -\begin{patch}{VoidXmpPagePatch2} -\begin{paste}{VoidXmpPageFull2}{VoidXmpPageEmpty2} -\pastebutton{VoidXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{)set message void on} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{VoidXmpPageEmpty2} -\begin{paste}{VoidXmpPageEmpty2}{VoidXmpPagePatch2} -\pastebutton{VoidXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{)set message void on} -\end{paste}\end{patch} - -\begin{patch}{VoidXmpPagePatch3} -\begin{paste}{VoidXmpPageFull3}{VoidXmpPageEmpty3} -\pastebutton{VoidXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{b : Fraction Integer} -\indentrel{3}\begin{verbatim} - (2) "()" - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{VoidXmpPageEmpty3} -\begin{paste}{VoidXmpPageEmpty3}{VoidXmpPagePatch3} -\pastebutton{VoidXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{b : Fraction Integer} -\end{paste}\end{patch} - -\begin{patch}{VoidXmpPagePatch4} -\begin{paste}{VoidXmpPageFull4}{VoidXmpPageEmpty4} -\pastebutton{VoidXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{)set message void off} -\indentrel{3}\begin{verbatim} -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{VoidXmpPageEmpty4} -\begin{paste}{VoidXmpPageEmpty4}{VoidXmpPagePatch4} -\pastebutton{VoidXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{)set message void off} -\end{paste}\end{patch} - -\begin{patch}{VoidXmpPagePatch5} -\begin{paste}{VoidXmpPageFull5}{VoidXmpPageEmpty5} -\pastebutton{VoidXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{3::Void\bound{prev }} -\indentrel{3}\begin{verbatim} - Type: Void -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{VoidXmpPageEmpty5} -\begin{paste}{VoidXmpPageEmpty5}{VoidXmpPagePatch5} -\pastebutton{VoidXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{3::Void\bound{prev }} -\end{paste}\end{patch} - -\begin{patch}{VoidXmpPagePatch6} -\begin{paste}{VoidXmpPageFull6}{VoidXmpPageEmpty6} -\pastebutton{VoidXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{\% :: PositiveInteger\free{prev }} -\indentrel{3}\begin{verbatim} - "()" -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{VoidXmpPageEmpty6} -\begin{paste}{VoidXmpPageEmpty6}{VoidXmpPagePatch6} -\pastebutton{VoidXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{\% :: PositiveInteger\free{prev }} -\end{paste}\end{patch} - diff --git a/books/pages/wutset.pht b/books/pages/wutset.pht deleted file mode 100644 index 75ce432..0000000 --- a/books/pages/wutset.pht +++ /dev/null @@ -1,280 +0,0 @@ -\begin{patch}{WuWenTsunTriangularSetXmpPagePatch1} -\begin{paste}{WuWenTsunTriangularSetXmpPageFull1}{WuWenTsunTriangularSetXmpPageEmpty1} -\pastebutton{WuWenTsunTriangularSetXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{R := Integer\bound{R }} -\indentrel{3}\begin{verbatim} - (1) Integer - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty1} -\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty1}{WuWenTsunTriangularSetXmpPagePatch1} -\pastebutton{WuWenTsunTriangularSetXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{R := Integer\bound{R }} -\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPagePatch2} -\begin{paste}{WuWenTsunTriangularSetXmpPageFull2}{WuWenTsunTriangularSetXmpPageEmpty2} -\pastebutton{WuWenTsunTriangularSetXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{ls : List Symbol := [x,y,z,t]\bound{ls }} -\indentrel{3}\begin{verbatim} - (2) [x,y,z,t] - Type: List Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty2} -\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty2}{WuWenTsunTriangularSetXmpPagePatch2} -\pastebutton{WuWenTsunTriangularSetXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{ls : List Symbol := [x,y,z,t]\bound{ls }} -\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPagePatch3} -\begin{paste}{WuWenTsunTriangularSetXmpPageFull3}{WuWenTsunTriangularSetXmpPageEmpty3} -\pastebutton{WuWenTsunTriangularSetXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{V := OVAR(ls)\free{ls }\bound{V }} -\indentrel{3}\begin{verbatim} - (3) OrderedVariableList [x,y,z,t] - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty3} -\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty3}{WuWenTsunTriangularSetXmpPagePatch3} -\pastebutton{WuWenTsunTriangularSetXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{V := OVAR(ls)\free{ls }\bound{V }} -\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPagePatch4} -\begin{paste}{WuWenTsunTriangularSetXmpPageFull4}{WuWenTsunTriangularSetXmpPageEmpty4} -\pastebutton{WuWenTsunTriangularSetXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{E := IndexedExponents V\free{V }\bound{E }} -\indentrel{3}\begin{verbatim} - (4) IndexedExponents OrderedVariableList [x,y,z,t] - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty4} -\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty4}{WuWenTsunTriangularSetXmpPagePatch4} -\pastebutton{WuWenTsunTriangularSetXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{E := IndexedExponents V\free{V }\bound{E }} -\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPagePatch5} -\begin{paste}{WuWenTsunTriangularSetXmpPageFull5}{WuWenTsunTriangularSetXmpPageEmpty5} -\pastebutton{WuWenTsunTriangularSetXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{P := NSMP(R, V)\free{R }\free{V }\bound{P }} -\indentrel{3}\begin{verbatim} - (5) - NewSparseMultivariatePolynomial(Integer,OrderedVariable - List [x,y,z,t]) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty5} -\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty5}{WuWenTsunTriangularSetXmpPagePatch5} -\pastebutton{WuWenTsunTriangularSetXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{P := NSMP(R, V)\free{R }\free{V }\bound{P }} -\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPagePatch6} -\begin{paste}{WuWenTsunTriangularSetXmpPageFull6}{WuWenTsunTriangularSetXmpPageEmpty6} -\pastebutton{WuWenTsunTriangularSetXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{x: P := 'x\free{P }\bound{x }} -\indentrel{3}\begin{verbatim} - (6) x -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty6} -\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty6}{WuWenTsunTriangularSetXmpPagePatch6} -\pastebutton{WuWenTsunTriangularSetXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{x: P := 'x\free{P }\bound{x }} -\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPagePatch7} -\begin{paste}{WuWenTsunTriangularSetXmpPageFull7}{WuWenTsunTriangularSetXmpPageEmpty7} -\pastebutton{WuWenTsunTriangularSetXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{y: P := 'y\free{P }\bound{y }} -\indentrel{3}\begin{verbatim} - (7) y -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty7} -\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty7}{WuWenTsunTriangularSetXmpPagePatch7} -\pastebutton{WuWenTsunTriangularSetXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{y: P := 'y\free{P }\bound{y }} -\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPagePatch8} -\begin{paste}{WuWenTsunTriangularSetXmpPageFull8}{WuWenTsunTriangularSetXmpPageEmpty8} -\pastebutton{WuWenTsunTriangularSetXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{z: P := 'z\free{P }\bound{z }} -\indentrel{3}\begin{verbatim} - (8) z -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty8} -\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty8}{WuWenTsunTriangularSetXmpPagePatch8} -\pastebutton{WuWenTsunTriangularSetXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{z: P := 'z\free{P }\bound{z }} -\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPagePatch9} -\begin{paste}{WuWenTsunTriangularSetXmpPageFull9}{WuWenTsunTriangularSetXmpPageEmpty9} -\pastebutton{WuWenTsunTriangularSetXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{t: P := 't\free{P }\bound{t }} -\indentrel{3}\begin{verbatim} - (9) t -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty9} -\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty9}{WuWenTsunTriangularSetXmpPagePatch9} -\pastebutton{WuWenTsunTriangularSetXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{t: P := 't\free{P }\bound{t }} -\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPagePatch10} -\begin{paste}{WuWenTsunTriangularSetXmpPageFull10}{WuWenTsunTriangularSetXmpPageEmpty10} -\pastebutton{WuWenTsunTriangularSetXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{T := WUTSET(R,E,V,P)\free{R }\free{E }\free{V }\free{P }\bound{T }} -\indentrel{3}\begin{verbatim} - (10) - WuWenTsunTriangularSet(Integer,IndexedExponents Ordered - VariableList [x,y,z,t],OrderedVariableList [x,y,z,t],Ne - wSparseMultivariatePolynomial(Integer,OrderedVariableLi - st [x,y,z,t])) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty10} -\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty10}{WuWenTsunTriangularSetXmpPagePatch10} -\pastebutton{WuWenTsunTriangularSetXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{T := WUTSET(R,E,V,P)\free{R }\free{E }\free{V }\free{P }\bound{T }} -\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPagePatch11} -\begin{paste}{WuWenTsunTriangularSetXmpPageFull11}{WuWenTsunTriangularSetXmpPageEmpty11} -\pastebutton{WuWenTsunTriangularSetXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{p1 := x ** 31 - x ** 6 - x - y\free{x }\free{y }\bound{p1 }} -\indentrel{3}\begin{verbatim} - 31 6 - (11) x - x - x - y -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty11} -\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty11}{WuWenTsunTriangularSetXmpPagePatch11} -\pastebutton{WuWenTsunTriangularSetXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{p1 := x ** 31 - x ** 6 - x - y\free{x }\free{y }\bound{p1 }} -\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPagePatch12} -\begin{paste}{WuWenTsunTriangularSetXmpPageFull12}{WuWenTsunTriangularSetXmpPageEmpty12} -\pastebutton{WuWenTsunTriangularSetXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{p2 := x ** 8 - z\free{x }\free{z }\bound{p2 }} -\indentrel{3}\begin{verbatim} - 8 - (12) x - z -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty12} -\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty12}{WuWenTsunTriangularSetXmpPagePatch12} -\pastebutton{WuWenTsunTriangularSetXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{p2 := x ** 8 - z\free{x }\free{z }\bound{p2 }} -\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPagePatch13} -\begin{paste}{WuWenTsunTriangularSetXmpPageFull13}{WuWenTsunTriangularSetXmpPageEmpty13} -\pastebutton{WuWenTsunTriangularSetXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{p3 := x ** 10 - t\free{x }\free{t }\bound{p3 }} -\indentrel{3}\begin{verbatim} - 10 - (13) x - t -Type: NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty13} -\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty13}{WuWenTsunTriangularSetXmpPagePatch13} -\pastebutton{WuWenTsunTriangularSetXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{p3 := x ** 10 - t\free{x }\free{t }\bound{p3 }} -\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPagePatch14} -\begin{paste}{WuWenTsunTriangularSetXmpPageFull14}{WuWenTsunTriangularSetXmpPageEmpty14} -\pastebutton{WuWenTsunTriangularSetXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{lp := [p1, p2, p3]\free{p1 }\free{p2 }\free{p3 }\bound{lp }} -\indentrel{3}\begin{verbatim} - 31 6 8 10 - (14) [x - x - x - y,x - z,x - t] -Type: List NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty14} -\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty14}{WuWenTsunTriangularSetXmpPagePatch14} -\pastebutton{WuWenTsunTriangularSetXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{lp := [p1, p2, p3]\free{p1 }\free{p2 }\free{p3 }\bound{lp }} -\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPagePatch15} -\begin{paste}{WuWenTsunTriangularSetXmpPageFull15}{WuWenTsunTriangularSetXmpPageEmpty15} -\pastebutton{WuWenTsunTriangularSetXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{characteristicSet(lp)$T\free{lp }\free{T }} -\indentrel{3}\begin{verbatim} - (15) - 5 4 4 2 2 3 4 7 4 6 6 - {z - t , t z y + 2t z y + (- t + 2t - t)z + t z, - 3 3 3 3 - (t - 1)z x - z y - t } -Type: Union(WuWenTsunTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])),...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty15} -\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty15}{WuWenTsunTriangularSetXmpPagePatch15} -\pastebutton{WuWenTsunTriangularSetXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{characteristicSet(lp)$T\free{lp }\free{T }} -\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPagePatch16} -\begin{paste}{WuWenTsunTriangularSetXmpPageFull16}{WuWenTsunTriangularSetXmpPageEmpty16} -\pastebutton{WuWenTsunTriangularSetXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{zeroSetSplit(lp)$T\free{lp }\free{T }} -\indentrel{3}\begin{verbatim} - (16) - 3 5 4 3 3 2 - [{t,z,y,x}, {t - 1,z - t ,z y + t ,z x - t}, - - 5 4 - {z - t , - 4 2 2 3 4 7 4 6 6 - t z y + 2t z y + (- t + 2t - t)z + t z, - 3 3 3 3 - (t - 1)z x - z y - t } - ] -Type: List WuWenTsunTriangularSet(Integer,IndexedExponents OrderedVariableList [x,y,z,t],OrderedVariableList [x,y,z,t],NewSparseMultivariatePolynomial(Integer,OrderedVariableList [x,y,z,t])) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{WuWenTsunTriangularSetXmpPageEmpty16} -\begin{paste}{WuWenTsunTriangularSetXmpPageEmpty16}{WuWenTsunTriangularSetXmpPagePatch16} -\pastebutton{WuWenTsunTriangularSetXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{zeroSetSplit(lp)$T\free{lp }\free{T }} -\end{paste}\end{patch} - diff --git a/books/pages/xpbwpoly.pht b/books/pages/xpbwpoly.pht deleted file mode 100644 index b56a1d9..0000000 --- a/books/pages/xpbwpoly.pht +++ /dev/null @@ -1,877 +0,0 @@ -\begin{patch}{XPBWPolynomialXmpPagePatch1} -\begin{paste}{XPBWPolynomialXmpPageFull1}{XPBWPolynomialXmpPageEmpty1} -\pastebutton{XPBWPolynomialXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{a:Symbol := 'a\bound{a }} -\indentrel{3}\begin{verbatim} - (1) a - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty1} -\begin{paste}{XPBWPolynomialXmpPageEmpty1}{XPBWPolynomialXmpPagePatch1} -\pastebutton{XPBWPolynomialXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{a:Symbol := 'a\bound{a }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch2} -\begin{paste}{XPBWPolynomialXmpPageFull2}{XPBWPolynomialXmpPageEmpty2} -\pastebutton{XPBWPolynomialXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{b:Symbol := 'b\bound{b }} -\indentrel{3}\begin{verbatim} - (2) b - Type: Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty2} -\begin{paste}{XPBWPolynomialXmpPageEmpty2}{XPBWPolynomialXmpPagePatch2} -\pastebutton{XPBWPolynomialXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{b:Symbol := 'b\bound{b }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch3} -\begin{paste}{XPBWPolynomialXmpPageFull3}{XPBWPolynomialXmpPageEmpty3} -\pastebutton{XPBWPolynomialXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{RN := Fraction(Integer)\bound{RN }} -\indentrel{3}\begin{verbatim} - (3) Fraction Integer - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty3} -\begin{paste}{XPBWPolynomialXmpPageEmpty3}{XPBWPolynomialXmpPagePatch3} -\pastebutton{XPBWPolynomialXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{RN := Fraction(Integer)\bound{RN }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch4} -\begin{paste}{XPBWPolynomialXmpPageFull4}{XPBWPolynomialXmpPageEmpty4} -\pastebutton{XPBWPolynomialXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{word := OrderedFreeMonoid Symbol\bound{word }} -\indentrel{3}\begin{verbatim} - (4) OrderedFreeMonoid Symbol - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty4} -\begin{paste}{XPBWPolynomialXmpPageEmpty4}{XPBWPolynomialXmpPagePatch4} -\pastebutton{XPBWPolynomialXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{word := OrderedFreeMonoid Symbol\bound{word }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch5} -\begin{paste}{XPBWPolynomialXmpPageFull5}{XPBWPolynomialXmpPageEmpty5} -\pastebutton{XPBWPolynomialXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{lword := LyndonWord(Symbol)\bound{lword }} -\indentrel{3}\begin{verbatim} - (5) LyndonWord Symbol - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty5} -\begin{paste}{XPBWPolynomialXmpPageEmpty5}{XPBWPolynomialXmpPagePatch5} -\pastebutton{XPBWPolynomialXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{lword := LyndonWord(Symbol)\bound{lword }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch6} -\begin{paste}{XPBWPolynomialXmpPageFull6}{XPBWPolynomialXmpPageEmpty6} -\pastebutton{XPBWPolynomialXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{base := PoincareBirkhoffWittLyndonBasis Symbol\bound{base }} -\indentrel{3}\begin{verbatim} - (6) PoincareBirkhoffWittLyndonBasis Symbol - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty6} -\begin{paste}{XPBWPolynomialXmpPageEmpty6}{XPBWPolynomialXmpPagePatch6} -\pastebutton{XPBWPolynomialXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{base := PoincareBirkhoffWittLyndonBasis Symbol\bound{base }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch7} -\begin{paste}{XPBWPolynomialXmpPageFull7}{XPBWPolynomialXmpPageEmpty7} -\pastebutton{XPBWPolynomialXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{dpoly := XDistributedPolynomial(Symbol, RN)\bound{dpoly }\free{RN }} -\indentrel{3}\begin{verbatim} - (7) XDistributedPolynomial(Symbol,Fraction Integer) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty7} -\begin{paste}{XPBWPolynomialXmpPageEmpty7}{XPBWPolynomialXmpPagePatch7} -\pastebutton{XPBWPolynomialXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{dpoly := XDistributedPolynomial(Symbol, RN)\bound{dpoly }\free{RN }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch8} -\begin{paste}{XPBWPolynomialXmpPageFull8}{XPBWPolynomialXmpPageEmpty8} -\pastebutton{XPBWPolynomialXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{rpoly := XRecursivePolynomial(Symbol, RN)\bound{rpoly }\free{RN }} -\indentrel{3}\begin{verbatim} - (8) XRecursivePolynomial(Symbol,Fraction Integer) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty8} -\begin{paste}{XPBWPolynomialXmpPageEmpty8}{XPBWPolynomialXmpPagePatch8} -\pastebutton{XPBWPolynomialXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{rpoly := XRecursivePolynomial(Symbol, RN)\bound{rpoly }\free{RN }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch9} -\begin{paste}{XPBWPolynomialXmpPageFull9}{XPBWPolynomialXmpPageEmpty9} -\pastebutton{XPBWPolynomialXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{lpoly := LiePolynomial(Symbol, RN)\bound{lpoly }\free{RN }} -\indentrel{3}\begin{verbatim} - (9) LiePolynomial(Symbol,Fraction Integer) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty9} -\begin{paste}{XPBWPolynomialXmpPageEmpty9}{XPBWPolynomialXmpPagePatch9} -\pastebutton{XPBWPolynomialXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{lpoly := LiePolynomial(Symbol, RN)\bound{lpoly }\free{RN }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch10} -\begin{paste}{XPBWPolynomialXmpPageFull10}{XPBWPolynomialXmpPageEmpty10} -\pastebutton{XPBWPolynomialXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{poly := XPBWPolynomial(Symbol, RN)\bound{poly }\free{RN }} -\indentrel{3}\begin{verbatim} - (10) XPBWPolynomial(Symbol,Fraction Integer) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty10} -\begin{paste}{XPBWPolynomialXmpPageEmpty10}{XPBWPolynomialXmpPagePatch10} -\pastebutton{XPBWPolynomialXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{poly := XPBWPolynomial(Symbol, RN)\bound{poly }\free{RN }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch11} -\begin{paste}{XPBWPolynomialXmpPageFull11}{XPBWPolynomialXmpPageEmpty11} -\pastebutton{XPBWPolynomialXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{liste : List lword := LyndonWordsList([a,b], 6)\bound{liste }\free{lword a b }} -\indentrel{3}\begin{verbatim} - (11) - 2 2 3 2 2 - [[a], [b], [a b], [a b], [a b ], [a b], [a b ], - 3 4 3 2 2 2 3 2 - [a b ], [a b], [a b ], [a b a b], [a b ], [a b a b ], - 4 5 4 2 3 3 3 2 2 - [a b ], [a b], [a b ], [a b a b], [a b ], [a b a b ], - 2 2 2 4 3 5 - [a b a b], [a b ], [a b a b ], [a b ]] - Type: List LyndonWord Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty11} -\begin{paste}{XPBWPolynomialXmpPageEmpty11}{XPBWPolynomialXmpPagePatch11} -\pastebutton{XPBWPolynomialXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{liste : List lword := LyndonWordsList([a,b], 6)\bound{liste }\free{lword a b }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch12} -\begin{paste}{XPBWPolynomialXmpPageFull12}{XPBWPolynomialXmpPageEmpty12} -\pastebutton{XPBWPolynomialXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{0$poly\free{poly }} -\indentrel{3}\begin{verbatim} - (12) 0 - Type: XPBWPolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty12} -\begin{paste}{XPBWPolynomialXmpPageEmpty12}{XPBWPolynomialXmpPagePatch12} -\pastebutton{XPBWPolynomialXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{0$poly\free{poly }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch13} -\begin{paste}{XPBWPolynomialXmpPageFull13}{XPBWPolynomialXmpPageEmpty13} -\pastebutton{XPBWPolynomialXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{1$poly\free{poly }} -\indentrel{3}\begin{verbatim} - (13) 1 - Type: XPBWPolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty13} -\begin{paste}{XPBWPolynomialXmpPageEmpty13}{XPBWPolynomialXmpPagePatch13} -\pastebutton{XPBWPolynomialXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{1$poly\free{poly }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch14} -\begin{paste}{XPBWPolynomialXmpPageFull14}{XPBWPolynomialXmpPageEmpty14} -\pastebutton{XPBWPolynomialXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{p : poly := a\free{a poly }\bound{p }} -\indentrel{3}\begin{verbatim} - (14) [a] - Type: XPBWPolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty14} -\begin{paste}{XPBWPolynomialXmpPageEmpty14}{XPBWPolynomialXmpPagePatch14} -\pastebutton{XPBWPolynomialXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{p : poly := a\free{a poly }\bound{p }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch15} -\begin{paste}{XPBWPolynomialXmpPageFull15}{XPBWPolynomialXmpPageEmpty15} -\pastebutton{XPBWPolynomialXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{q : poly := b\free{b poly }\bound{q }} -\indentrel{3}\begin{verbatim} - (15) [b] - Type: XPBWPolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty15} -\begin{paste}{XPBWPolynomialXmpPageEmpty15}{XPBWPolynomialXmpPagePatch15} -\pastebutton{XPBWPolynomialXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{q : poly := b\free{b poly }\bound{q }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch16} -\begin{paste}{XPBWPolynomialXmpPageFull16}{XPBWPolynomialXmpPageEmpty16} -\pastebutton{XPBWPolynomialXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{pq: poly := p*q\free{p q poly }\bound{pq }} -\indentrel{3}\begin{verbatim} - (16) [a b] + [b][a] - Type: XPBWPolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty16} -\begin{paste}{XPBWPolynomialXmpPageEmpty16}{XPBWPolynomialXmpPagePatch16} -\pastebutton{XPBWPolynomialXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{pq: poly := p*q\free{p q poly }\bound{pq }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch17} -\begin{paste}{XPBWPolynomialXmpPageFull17}{XPBWPolynomialXmpPageEmpty17} -\pastebutton{XPBWPolynomialXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{pq :: dpoly\free{pq dpoly }} -\indentrel{3}\begin{verbatim} - (17) a b - Type: XDistributedPolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty17} -\begin{paste}{XPBWPolynomialXmpPageEmpty17}{XPBWPolynomialXmpPagePatch17} -\pastebutton{XPBWPolynomialXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{pq :: dpoly\free{pq dpoly }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch18} -\begin{paste}{XPBWPolynomialXmpPageFull18}{XPBWPolynomialXmpPageEmpty18} -\pastebutton{XPBWPolynomialXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{mirror pq\free{pq }} -\indentrel{3}\begin{verbatim} - (18) [b][a] - Type: XPBWPolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty18} -\begin{paste}{XPBWPolynomialXmpPageEmpty18}{XPBWPolynomialXmpPagePatch18} -\pastebutton{XPBWPolynomialXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{mirror pq\free{pq }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch19} -\begin{paste}{XPBWPolynomialXmpPageFull19}{XPBWPolynomialXmpPageEmpty19} -\pastebutton{XPBWPolynomialXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{ListOfTerms pq\free{pq }} -\indentrel{3}\begin{verbatim} - (19) [[k= [b][a],c= 1],[k= [a b],c= 1]] -Type: List Record(k: PoincareBirkhoffWittLyndonBasis Symbol,c: Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty19} -\begin{paste}{XPBWPolynomialXmpPageEmpty19}{XPBWPolynomialXmpPagePatch19} -\pastebutton{XPBWPolynomialXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{ListOfTerms pq\free{pq }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch20} -\begin{paste}{XPBWPolynomialXmpPageFull20}{XPBWPolynomialXmpPageEmpty20} -\pastebutton{XPBWPolynomialXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{reductum pq\free{pq }} -\indentrel{3}\begin{verbatim} - (20) [a b] - Type: XPBWPolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty20} -\begin{paste}{XPBWPolynomialXmpPageEmpty20}{XPBWPolynomialXmpPagePatch20} -\pastebutton{XPBWPolynomialXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{reductum pq\free{pq }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch21} -\begin{paste}{XPBWPolynomialXmpPageFull21}{XPBWPolynomialXmpPageEmpty21} -\pastebutton{XPBWPolynomialXmpPageFull21}{\hidepaste} -\tab{5}\spadcommand{leadingMonomial pq\free{pq }} -\indentrel{3}\begin{verbatim} - (21) [b][a] - Type: PoincareBirkhoffWittLyndonBasis Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty21} -\begin{paste}{XPBWPolynomialXmpPageEmpty21}{XPBWPolynomialXmpPagePatch21} -\pastebutton{XPBWPolynomialXmpPageEmpty21}{\showpaste} -\tab{5}\spadcommand{leadingMonomial pq\free{pq }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch22} -\begin{paste}{XPBWPolynomialXmpPageFull22}{XPBWPolynomialXmpPageEmpty22} -\pastebutton{XPBWPolynomialXmpPageFull22}{\hidepaste} -\tab{5}\spadcommand{coefficients pq\free{pq }} -\indentrel{3}\begin{verbatim} - (22) [1,1] - Type: List Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty22} -\begin{paste}{XPBWPolynomialXmpPageEmpty22}{XPBWPolynomialXmpPagePatch22} -\pastebutton{XPBWPolynomialXmpPageEmpty22}{\showpaste} -\tab{5}\spadcommand{coefficients pq\free{pq }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch23} -\begin{paste}{XPBWPolynomialXmpPageFull23}{XPBWPolynomialXmpPageEmpty23} -\pastebutton{XPBWPolynomialXmpPageFull23}{\hidepaste} -\tab{5}\spadcommand{leadingTerm pq\free{pq }} -\indentrel{3}\begin{verbatim} - (23) [k= [b][a],c= 1] -Type: Record(k: PoincareBirkhoffWittLyndonBasis Symbol,c: Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty23} -\begin{paste}{XPBWPolynomialXmpPageEmpty23}{XPBWPolynomialXmpPagePatch23} -\pastebutton{XPBWPolynomialXmpPageEmpty23}{\showpaste} -\tab{5}\spadcommand{leadingTerm pq\free{pq }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch24} -\begin{paste}{XPBWPolynomialXmpPageFull24}{XPBWPolynomialXmpPageEmpty24} -\pastebutton{XPBWPolynomialXmpPageFull24}{\hidepaste} -\tab{5}\spadcommand{degree pq\free{pq }} -\indentrel{3}\begin{verbatim} - (24) 2 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty24} -\begin{paste}{XPBWPolynomialXmpPageEmpty24}{XPBWPolynomialXmpPagePatch24} -\pastebutton{XPBWPolynomialXmpPageEmpty24}{\showpaste} -\tab{5}\spadcommand{degree pq\free{pq }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch25} -\begin{paste}{XPBWPolynomialXmpPageFull25}{XPBWPolynomialXmpPageEmpty25} -\pastebutton{XPBWPolynomialXmpPageFull25}{\hidepaste} -\tab{5}\spadcommand{pq4:=exp(pq,4)\bound{pq4 }\free{pq }} -\indentrel{3}\begin{verbatim} - (25) - 1 1 2 - 1 + [a b] + [b][a] + Ä [a b][a b] + Ä [a b ][a] - 2 2 - + - 1 2 3 1 - Ä [b][a b] + Ä [b][a b][a] + Ä [b][b][a][a] - 2 2 2 - Type: XPBWPolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty25} -\begin{paste}{XPBWPolynomialXmpPageEmpty25}{XPBWPolynomialXmpPagePatch25} -\pastebutton{XPBWPolynomialXmpPageEmpty25}{\showpaste} -\tab{5}\spadcommand{pq4:=exp(pq,4)\bound{pq4 }\free{pq }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch26} -\begin{paste}{XPBWPolynomialXmpPageFull26}{XPBWPolynomialXmpPageEmpty26} -\pastebutton{XPBWPolynomialXmpPageFull26}{\hidepaste} -\tab{5}\spadcommand{log(pq4,4) - pq\free{pq4 pq }} -\indentrel{3}\begin{verbatim} - (26) 0 - Type: XPBWPolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty26} -\begin{paste}{XPBWPolynomialXmpPageEmpty26}{XPBWPolynomialXmpPagePatch26} -\pastebutton{XPBWPolynomialXmpPageEmpty26}{\showpaste} -\tab{5}\spadcommand{log(pq4,4) - pq\free{pq4 pq }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch27} -\begin{paste}{XPBWPolynomialXmpPageFull27}{XPBWPolynomialXmpPageEmpty27} -\pastebutton{XPBWPolynomialXmpPageFull27}{\hidepaste} -\tab{5}\spadcommand{lp1 :lpoly := LiePoly liste.10\free{liste lpoly }\bound{lp1 }} -\indentrel{3}\begin{verbatim} - 3 2 - (27) [a b ] - Type: LiePolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty27} -\begin{paste}{XPBWPolynomialXmpPageEmpty27}{XPBWPolynomialXmpPagePatch27} -\pastebutton{XPBWPolynomialXmpPageEmpty27}{\showpaste} -\tab{5}\spadcommand{lp1 :lpoly := LiePoly liste.10\free{liste lpoly }\bound{lp1 }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch28} -\begin{paste}{XPBWPolynomialXmpPageFull28}{XPBWPolynomialXmpPageEmpty28} -\pastebutton{XPBWPolynomialXmpPageFull28}{\hidepaste} -\tab{5}\spadcommand{lp2 :lpoly := LiePoly liste.11\free{liste lpoly }\bound{lp2 }} -\indentrel{3}\begin{verbatim} - 2 - (28) [a b a b] - Type: LiePolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty28} -\begin{paste}{XPBWPolynomialXmpPageEmpty28}{XPBWPolynomialXmpPagePatch28} -\pastebutton{XPBWPolynomialXmpPageEmpty28}{\showpaste} -\tab{5}\spadcommand{lp2 :lpoly := LiePoly liste.11\free{liste lpoly }\bound{lp2 }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch29} -\begin{paste}{XPBWPolynomialXmpPageFull29}{XPBWPolynomialXmpPageEmpty29} -\pastebutton{XPBWPolynomialXmpPageFull29}{\hidepaste} -\tab{5}\spadcommand{lp :lpoly := [lp1, lp2]\free{lp1 lp2 lpoly }\bound{lp }} -\indentrel{3}\begin{verbatim} - 3 2 2 - (29) [a b a b a b] - Type: LiePolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty29} -\begin{paste}{XPBWPolynomialXmpPageEmpty29}{XPBWPolynomialXmpPagePatch29} -\pastebutton{XPBWPolynomialXmpPageEmpty29}{\showpaste} -\tab{5}\spadcommand{lp :lpoly := [lp1, lp2]\free{lp1 lp2 lpoly }\bound{lp }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch30} -\begin{paste}{XPBWPolynomialXmpPageFull30}{XPBWPolynomialXmpPageEmpty30} -\pastebutton{XPBWPolynomialXmpPageFull30}{\hidepaste} -\tab{5}\spadcommand{lpd1: dpoly := lp1\free{lp1 dpoly }\bound{lpd1 }} -\indentrel{3}\begin{verbatim} - (30) - 3 2 2 2 2 2 2 - a b - 2a b a b - a b a + 4a b a b a - a b a - + - 2 2 3 - - 2b a b a + b a - Type: XDistributedPolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty30} -\begin{paste}{XPBWPolynomialXmpPageEmpty30}{XPBWPolynomialXmpPagePatch30} -\pastebutton{XPBWPolynomialXmpPageEmpty30}{\showpaste} -\tab{5}\spadcommand{lpd1: dpoly := lp1\free{lp1 dpoly }\bound{lpd1 }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch31} -\begin{paste}{XPBWPolynomialXmpPageFull31}{XPBWPolynomialXmpPageEmpty31} -\pastebutton{XPBWPolynomialXmpPageFull31}{\hidepaste} -\tab{5}\spadcommand{lpd2: dpoly := lp2\free{lp2 dpoly }\bound{lpd2 }} -\indentrel{3}\begin{verbatim} - (31) - 2 2 2 2 2 2 - a b a b - a b a - 3a b a b + 4a b a b a - a b a - + - 3 2 2 - 2b a b - 3b a b a + b a b a - Type: XDistributedPolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty31} -\begin{paste}{XPBWPolynomialXmpPageEmpty31}{XPBWPolynomialXmpPagePatch31} -\pastebutton{XPBWPolynomialXmpPageEmpty31}{\showpaste} -\tab{5}\spadcommand{lpd2: dpoly := lp2\free{lp2 dpoly }\bound{lpd2 }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch32} -\begin{paste}{XPBWPolynomialXmpPageFull32}{XPBWPolynomialXmpPageEmpty32} -\pastebutton{XPBWPolynomialXmpPageFull32}{\hidepaste} -\tab{5}\spadcommand{lpd : dpoly := lpd1 * lpd2 - lpd2 * lpd1\free{dpoly lpd1 lpd2 }\bound{lpd }} -\indentrel{3}\begin{verbatim} - (32) - 3 2 2 3 2 2 2 3 2 2 - a b a b a b - a b a b a - 3a b a b a b - + - 3 2 3 2 2 2 3 3 3 3 3 2 - 4a b a b a b a - a b a b a + 2a b a b - 3a b a b a - + - 3 3 2 2 3 2 2 2 2 - a b a b a - a b a b a b + 3a b a b a b a - + - 2 2 2 - 6a b a b a b a b - 12a b a b a b a b a - + - 2 2 2 2 2 3 2 2 2 - 3a b a b a b a - 4a b a b a b + 6a b a b a b a - + - 2 3 3 2 2 4 2 2 2 3 2 2 2 2 - - a b a b a + a b a b - 3a b a b a b + 3a b a b a b - + - 2 2 3 2 2 2 2 2 2 - - 2a b a b a b + 3a b a b a b a - 3a b a b a b a - + - 2 2 2 3 2 3 2 2 2 - a b a b a + 3a b a b a b - 6a b a b a b a b - + - 2 2 2 2 - - 3a b a b a b a + 12a b a b a b a b a - + - 2 2 2 2 2 2 2 3 3 - - 3a b a b a b a - 6a b a b a b a + 3a b a b a - + - 4 2 3 - - 4a b a b a b + 12a b a b a b a b - + - 2 2 3 - - 12a b a b a b a b + 8a b a b a b a b - + - 2 2 - - 12a b a b a b a b a + 12a b a b a b a b a - + - 2 3 2 5 2 2 4 - - 4a b a b a b a + a b a b - 3a b a b a b - + - 2 3 2 2 2 3 2 2 2 - 3a b a b a b - 2a b a b a b + 3a b a b a b a - + - 2 2 2 2 2 2 3 3 3 2 - - 3a b a b a b a + a b a b a - 2b a b a b - + - 3 2 3 2 2 3 - 4b a b a b a b + 2b a b a b a - 8b a b a b a b a - + - 3 2 2 3 2 2 3 3 3 - 2b a b a b a + 4b a b a b a - 2b a b a - + - 2 4 2 2 3 2 3 2 - 3b a b a b - 6b a b a b a b - 3b a b a b a - + - 2 2 2 2 2 2 2 2 - 12b a b a b a b a - 3b a b a b a - 6b a b a b a b a - + - 2 2 3 5 2 4 2 - 3b a b a b a - b a b a b + 3b a b a b a - + - 3 2 3 3 2 2 - 6b a b a b a b - 12b a b a b a b a + 3b a b a b a - + - 2 3 2 2 2 2 3 - - 4b a b a b a b + 6b a b a b a b a - b a b a b a - + - 2 5 2 5 2 2 4 2 2 4 - b a b a b - b a b a - 3b a b a b + 4b a b a b a - + - 2 4 2 2 2 3 3 2 3 2 2 3 2 - - b a b a + 2b a b a b - 3b a b a b a + b a b a b a - Type: XDistributedPolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty32} -\begin{paste}{XPBWPolynomialXmpPageEmpty32}{XPBWPolynomialXmpPagePatch32} -\pastebutton{XPBWPolynomialXmpPageEmpty32}{\showpaste} -\tab{5}\spadcommand{lpd : dpoly := lpd1 * lpd2 - lpd2 * lpd1\free{dpoly lpd1 lpd2 }\bound{lpd }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch33} -\begin{paste}{XPBWPolynomialXmpPageFull33}{XPBWPolynomialXmpPageEmpty33} -\pastebutton{XPBWPolynomialXmpPageFull33}{\hidepaste} -\tab{5}\spadcommand{lp :: dpoly - lpd\free{lpd dpoly lp }} -\indentrel{3}\begin{verbatim} - (33) 0 - Type: XDistributedPolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty33} -\begin{paste}{XPBWPolynomialXmpPageEmpty33}{XPBWPolynomialXmpPagePatch33} -\pastebutton{XPBWPolynomialXmpPageEmpty33}{\showpaste} -\tab{5}\spadcommand{lp :: dpoly - lpd\free{lpd dpoly lp }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch34} -\begin{paste}{XPBWPolynomialXmpPageFull34}{XPBWPolynomialXmpPageEmpty34} -\pastebutton{XPBWPolynomialXmpPageFull34}{\hidepaste} -\tab{5}\spadcommand{p := 3 * lp\free{lp }\bound{pp }} -\indentrel{3}\begin{verbatim} - 3 2 2 - (34) 3[a b a b a b] - Type: XPBWPolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty34} -\begin{paste}{XPBWPolynomialXmpPageEmpty34}{XPBWPolynomialXmpPagePatch34} -\pastebutton{XPBWPolynomialXmpPageEmpty34}{\showpaste} -\tab{5}\spadcommand{p := 3 * lp\free{lp }\bound{pp }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch35} -\begin{paste}{XPBWPolynomialXmpPageFull35}{XPBWPolynomialXmpPageEmpty35} -\pastebutton{XPBWPolynomialXmpPageFull35}{\hidepaste} -\tab{5}\spadcommand{q := lp1\free{lp1 }\bound{qq }} -\indentrel{3}\begin{verbatim} - 3 2 - (35) [a b ] - Type: XPBWPolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty35} -\begin{paste}{XPBWPolynomialXmpPageEmpty35}{XPBWPolynomialXmpPagePatch35} -\pastebutton{XPBWPolynomialXmpPageEmpty35}{\showpaste} -\tab{5}\spadcommand{q := lp1\free{lp1 }\bound{qq }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch36} -\begin{paste}{XPBWPolynomialXmpPageFull36}{XPBWPolynomialXmpPageEmpty36} -\pastebutton{XPBWPolynomialXmpPageFull36}{\hidepaste} -\tab{5}\spadcommand{pq:= p * q\free{pp qq }\bound{pqpq }} -\indentrel{3}\begin{verbatim} - 3 2 2 3 2 - (36) 3[a b a b a b][a b ] - Type: XPBWPolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty36} -\begin{paste}{XPBWPolynomialXmpPageEmpty36}{XPBWPolynomialXmpPagePatch36} -\pastebutton{XPBWPolynomialXmpPageEmpty36}{\showpaste} -\tab{5}\spadcommand{pq:= p * q\free{pp qq }\bound{pqpq }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch37} -\begin{paste}{XPBWPolynomialXmpPageFull37}{XPBWPolynomialXmpPageEmpty37} -\pastebutton{XPBWPolynomialXmpPageFull37}{\hidepaste} -\tab{5}\spadcommand{pr:rpoly := p :: rpoly\free{rpoly pp }\bound{pr }} -\indentrel{3}\begin{verbatim} - (37) - a - * - a - * - a b b - * - a - * - a b(a b 3 + b a(- 3)) - + - b(a(a b(- 9) + b a 12) + b a a(- 3)) - + - b a(a(a b 6 + b a(- 9)) + b a a 3) - + - b - * - a b - * - a - * - a(a b b(- 3) + b b a 9) - + - b(a(a b 18 + b a(- 36)) + b a a 9) - + - b - * - a a(a b(- 12) + b a 18) - + - b a a a(- 3) - + - b a - * - a - * - (a(a b b 3 + b a b(- 9)) + b a a b 9) - + - b - * - a - * - a(a b(- 6) + b a 9) - + - b a a(- 9) - + - b a a a 3 - + - b - * - a - * - a b - * - a - * - a - * - a b b 9 - + - b(a b(- 18) + b a(- 9)) - + - b(a b a 36 + b a a(- 9)) - + - b(a b a a(- 18) + b a a a 9) - + - b a - * - a - * - a(a b b(- 12) + b a b 36) - + - b a a b(- 36) - + - b - * - a - * - a(a b 24 + b a(- 36)) - + - b a a 36 - + - b a a a(- 12) - + - b a a - * - a(a(a b b 3 + b a b(- 9)) + b a a b 9) - + - b - * - a(a(a b(- 6) + b a 9) + b a a(- 9)) - + - b a a a 3 - + - b - * - a - * - a - * - a b - * - a - * - a(a b b(- 6) + b(a b 12 + b a 6)) - + - b(a b a(- 24) + b a a 6) - + - b(a b a a 12 + b a a a(- 6)) - + - b a - * - a - * - a - * - a b b 9 - + - b(a b(- 18) + b a(- 9)) - + - b(a b a 36 + b a a(- 9)) - + - b(a b a a(- 18) + b a a a 9) - + - b a a - * - a - * - a(a b b(- 3) + b b a 9) - + - b(a(a b 18 + b a(- 36)) + b a a 9) - + - b(a a(a b(- 12) + b a 18) + b a a a(- 3)) - + - b a a a - * - a - * - a b(a b 3 + b a(- 3)) - + - b(a(a b(- 9) + b a 12) + b a a(- 3)) - + - b a(a(a b 6 + b a(- 9)) + b a a 3) - Type: XRecursivePolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty37} -\begin{paste}{XPBWPolynomialXmpPageEmpty37}{XPBWPolynomialXmpPagePatch37} -\pastebutton{XPBWPolynomialXmpPageEmpty37}{\showpaste} -\tab{5}\spadcommand{pr:rpoly := p :: rpoly\free{rpoly pp }\bound{pr }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch38} -\begin{paste}{XPBWPolynomialXmpPageFull38}{XPBWPolynomialXmpPageEmpty38} -\pastebutton{XPBWPolynomialXmpPageFull38}{\hidepaste} -\tab{5}\spadcommand{qr:rpoly := q :: rpoly\free{rpoly qq }\bound{qr }} -\indentrel{3}\begin{verbatim} - (38) - a - * - a(a b b 1 + b(a b(- 2) + b a(- 1))) - + - b(a b a 4 + b a a(- 1)) - + - b(a b a a(- 2) + b a a a 1) - Type: XRecursivePolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty38} -\begin{paste}{XPBWPolynomialXmpPageEmpty38}{XPBWPolynomialXmpPagePatch38} -\pastebutton{XPBWPolynomialXmpPageEmpty38}{\showpaste} -\tab{5}\spadcommand{qr:rpoly := q :: rpoly\free{rpoly qq }\bound{qr }} -\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPagePatch39} -\begin{paste}{XPBWPolynomialXmpPageFull39}{XPBWPolynomialXmpPageEmpty39} -\pastebutton{XPBWPolynomialXmpPageFull39}{\hidepaste} -\tab{5}\spadcommand{pq :: rpoly - pr*qr\free{pr qr rpoly pqpq }} -\indentrel{3}\begin{verbatim} - (39) 0 - Type: XRecursivePolynomial(Symbol,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPBWPolynomialXmpPageEmpty39} -\begin{paste}{XPBWPolynomialXmpPageEmpty39}{XPBWPolynomialXmpPagePatch39} -\pastebutton{XPBWPolynomialXmpPageEmpty39}{\showpaste} -\tab{5}\spadcommand{pq :: rpoly - pr*qr\free{pr qr rpoly pqpq }} -\end{paste}\end{patch} - diff --git a/books/pages/xpoly.pht b/books/pages/xpoly.pht deleted file mode 100644 index 738fc88..0000000 --- a/books/pages/xpoly.pht +++ /dev/null @@ -1,245 +0,0 @@ -\begin{patch}{XPolynomialXmpPagePatch1} -\begin{paste}{XPolynomialXmpPageFull1}{XPolynomialXmpPageEmpty1} -\pastebutton{XPolynomialXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{poly := XPolynomial(Integer)\bound{poly }} -\indentrel{3}\begin{verbatim} - (1) XPolynomial Integer - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPageEmpty1} -\begin{paste}{XPolynomialXmpPageEmpty1}{XPolynomialXmpPagePatch1} -\pastebutton{XPolynomialXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{poly := XPolynomial(Integer)\bound{poly }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPagePatch2} -\begin{paste}{XPolynomialXmpPageFull2}{XPolynomialXmpPageEmpty2} -\pastebutton{XPolynomialXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{pr: poly := 2*x + 3*y-5\free{poly }\bound{pr }} -\indentrel{3}\begin{verbatim} - (2) - 5 + x 2 + y 3 - Type: XPolynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPageEmpty2} -\begin{paste}{XPolynomialXmpPageEmpty2}{XPolynomialXmpPagePatch2} -\pastebutton{XPolynomialXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{pr: poly := 2*x + 3*y-5\free{poly }\bound{pr }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPagePatch3} -\begin{paste}{XPolynomialXmpPageFull3}{XPolynomialXmpPageEmpty3} -\pastebutton{XPolynomialXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{pr2: poly := pr*pr\free{poly }\bound{pr2 }} -\indentrel{3}\begin{verbatim} - (3) 25 + x(- 20 + x 4 + y 6) + y(- 30 + x 6 + y 9) - Type: XPolynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPageEmpty3} -\begin{paste}{XPolynomialXmpPageEmpty3}{XPolynomialXmpPagePatch3} -\pastebutton{XPolynomialXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{pr2: poly := pr*pr\free{poly }\bound{pr2 }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPagePatch4} -\begin{paste}{XPolynomialXmpPageFull4}{XPolynomialXmpPageEmpty4} -\pastebutton{XPolynomialXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{pd := expand pr\free{pr }\bound{pd }} -\indentrel{3}\begin{verbatim} - (4) - 5 + 2x + 3y - Type: XDistributedPolynomial(Symbol,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPageEmpty4} -\begin{paste}{XPolynomialXmpPageEmpty4}{XPolynomialXmpPagePatch4} -\pastebutton{XPolynomialXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{pd := expand pr\free{pr }\bound{pd }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPagePatch5} -\begin{paste}{XPolynomialXmpPageFull5}{XPolynomialXmpPageEmpty5} -\pastebutton{XPolynomialXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{pd2 := pd*pd\free{pd }\bound{pd2 }} -\indentrel{3}\begin{verbatim} - 2 2 - (5) 25 - 20x - 30y + 4x + 6x y + 6y x + 9y - Type: XDistributedPolynomial(Symbol,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPageEmpty5} -\begin{paste}{XPolynomialXmpPageEmpty5}{XPolynomialXmpPagePatch5} -\pastebutton{XPolynomialXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{pd2 := pd*pd\free{pd }\bound{pd2 }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPagePatch6} -\begin{paste}{XPolynomialXmpPageFull6}{XPolynomialXmpPageEmpty6} -\pastebutton{XPolynomialXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{expand(pr2) - pd2\free{pr2 }\free{pd2 }} -\indentrel{3}\begin{verbatim} - (6) 0 - Type: XDistributedPolynomial(Symbol,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPageEmpty6} -\begin{paste}{XPolynomialXmpPageEmpty6}{XPolynomialXmpPagePatch6} -\pastebutton{XPolynomialXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{expand(pr2) - pd2\free{pr2 }\free{pd2 }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPagePatch7} -\begin{paste}{XPolynomialXmpPageFull7}{XPolynomialXmpPageEmpty7} -\pastebutton{XPolynomialXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{qr := pr**3\free{pr }\bound{qr }} -\indentrel{3}\begin{verbatim} - (7) - - 125 - + - x(150 + x(- 60 + x 8 + y 12) + y(- 90 + x 12 + y 18)) - + - y(225 + x(- 90 + x 12 + y 18) + y(- 135 + x 18 + y 27)) - Type: XPolynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPageEmpty7} -\begin{paste}{XPolynomialXmpPageEmpty7}{XPolynomialXmpPagePatch7} -\pastebutton{XPolynomialXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{qr := pr**3\free{pr }\bound{qr }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPagePatch8} -\begin{paste}{XPolynomialXmpPageFull8}{XPolynomialXmpPageEmpty8} -\pastebutton{XPolynomialXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{qd := pd**3\free{pd }\bound{qd }} -\indentrel{3}\begin{verbatim} - (8) - 2 2 - - 125 + 150x + 225y - 60x - 90x y - 90y x - 135y - + - 3 2 2 2 - 8x + 12x y + 12x y x + 18x y + 12y x + 18y x y - + - 2 3 - 18y x + 27y - Type: XDistributedPolynomial(Symbol,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPageEmpty8} -\begin{paste}{XPolynomialXmpPageEmpty8}{XPolynomialXmpPagePatch8} -\pastebutton{XPolynomialXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{qd := pd**3\free{pd }\bound{qd }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPagePatch9} -\begin{paste}{XPolynomialXmpPageFull9}{XPolynomialXmpPageEmpty9} -\pastebutton{XPolynomialXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{ trunc(qd,2)\free{qd }} -\indentrel{3}\begin{verbatim} - (9) - 2 2 - - 125 + 150x + 225y - 60x - 90x y - 90y x - 135y - Type: XDistributedPolynomial(Symbol,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPageEmpty9} -\begin{paste}{XPolynomialXmpPageEmpty9}{XPolynomialXmpPagePatch9} -\pastebutton{XPolynomialXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{ trunc(qd,2)\free{qd }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPagePatch10} -\begin{paste}{XPolynomialXmpPageFull10}{XPolynomialXmpPageEmpty10} -\pastebutton{XPolynomialXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{trunc(qr,2)\free{qr }} -\indentrel{3}\begin{verbatim} - (10) - - 125 + x(150 + x(- 60) + y(- 90)) - + - y(225 + x(- 90) + y(- 135)) - Type: XPolynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPageEmpty10} -\begin{paste}{XPolynomialXmpPageEmpty10}{XPolynomialXmpPagePatch10} -\pastebutton{XPolynomialXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{trunc(qr,2)\free{qr }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPagePatch11} -\begin{paste}{XPolynomialXmpPageFull11}{XPolynomialXmpPageEmpty11} -\pastebutton{XPolynomialXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{Word := OrderedFreeMonoid Symbol\bound{Word }} -\indentrel{3}\begin{verbatim} - (11) OrderedFreeMonoid Symbol - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPageEmpty11} -\begin{paste}{XPolynomialXmpPageEmpty11}{XPolynomialXmpPagePatch11} -\pastebutton{XPolynomialXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{Word := OrderedFreeMonoid Symbol\bound{Word }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPagePatch12} -\begin{paste}{XPolynomialXmpPageFull12}{XPolynomialXmpPageEmpty12} -\pastebutton{XPolynomialXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{w: Word := x*y**2\free{Word }\bound{w }} -\indentrel{3}\begin{verbatim} - 2 - (12) x y - Type: OrderedFreeMonoid Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPageEmpty12} -\begin{paste}{XPolynomialXmpPageEmpty12}{XPolynomialXmpPagePatch12} -\pastebutton{XPolynomialXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{w: Word := x*y**2\free{Word }\bound{w }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPagePatch13} -\begin{paste}{XPolynomialXmpPageFull13}{XPolynomialXmpPageEmpty13} -\pastebutton{XPolynomialXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{rquo(qr,w)\free{qr }\free{w }} -\indentrel{3}\begin{verbatim} - (13) 18 - Type: XPolynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPageEmpty13} -\begin{paste}{XPolynomialXmpPageEmpty13}{XPolynomialXmpPagePatch13} -\pastebutton{XPolynomialXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{rquo(qr,w)\free{qr }\free{w }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPagePatch14} -\begin{paste}{XPolynomialXmpPageFull14}{XPolynomialXmpPageEmpty14} -\pastebutton{XPolynomialXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{sh(pr,w::poly)\free{pr }\free{w }} -\indentrel{3}\begin{verbatim} - (14) - x(x y y 4 + y(x y 2 + y(- 5 + x 2 + y 9))) + y x y y 3 - Type: XPolynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialXmpPageEmpty14} -\begin{paste}{XPolynomialXmpPageEmpty14}{XPolynomialXmpPagePatch14} -\pastebutton{XPolynomialXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{sh(pr,w::poly)\free{pr }\free{w }} -\end{paste}\end{patch} - diff --git a/books/pages/xpr.pht b/books/pages/xpr.pht deleted file mode 100644 index 0d97a8f..0000000 --- a/books/pages/xpr.pht +++ /dev/null @@ -1,325 +0,0 @@ -\begin{patch}{XPolynomialRingXmpPagePatch1} -\begin{paste}{XPolynomialRingXmpPageFull1}{XPolynomialRingXmpPageEmpty1} -\pastebutton{XPolynomialRingXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{Word := OrderedFreeMonoid(Symbol)\bound{Word }} -\indentrel{3}\begin{verbatim} - (1) OrderedFreeMonoid Symbol - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPageEmpty1} -\begin{paste}{XPolynomialRingXmpPageEmpty1}{XPolynomialRingXmpPagePatch1} -\pastebutton{XPolynomialRingXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{Word := OrderedFreeMonoid(Symbol)\bound{Word }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPagePatch2} -\begin{paste}{XPolynomialRingXmpPageFull2}{XPolynomialRingXmpPageEmpty2} -\pastebutton{XPolynomialRingXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{poly:= XPR(Integer,Word)\free{Word }\bound{poly }} -\indentrel{3}\begin{verbatim} - (2) - XPolynomialRing(Integer,OrderedFreeMonoid Symbol) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPageEmpty2} -\begin{paste}{XPolynomialRingXmpPageEmpty2}{XPolynomialRingXmpPagePatch2} -\pastebutton{XPolynomialRingXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{poly:= XPR(Integer,Word)\free{Word }\bound{poly }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPagePatch3} -\begin{paste}{XPolynomialRingXmpPageFull3}{XPolynomialRingXmpPageEmpty3} -\pastebutton{XPolynomialRingXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{p:poly := 2 * x - 3 * y + 1\free{poly }\bound{p }} -\indentrel{3}\begin{verbatim} - (3) 1 + 2x - 3y -Type: XPolynomialRing(Integer,OrderedFreeMonoid Symbol) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPageEmpty3} -\begin{paste}{XPolynomialRingXmpPageEmpty3}{XPolynomialRingXmpPagePatch3} -\pastebutton{XPolynomialRingXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{p:poly := 2 * x - 3 * y + 1\free{poly }\bound{p }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPagePatch4} -\begin{paste}{XPolynomialRingXmpPageFull4}{XPolynomialRingXmpPageEmpty4} -\pastebutton{XPolynomialRingXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{q:poly := 2 * x + 1\free{poly }\bound{q }} -\indentrel{3}\begin{verbatim} - (4) 1 + 2x -Type: XPolynomialRing(Integer,OrderedFreeMonoid Symbol) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPageEmpty4} -\begin{paste}{XPolynomialRingXmpPageEmpty4}{XPolynomialRingXmpPagePatch4} -\pastebutton{XPolynomialRingXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{q:poly := 2 * x + 1\free{poly }\bound{q }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPagePatch5} -\begin{paste}{XPolynomialRingXmpPageFull5}{XPolynomialRingXmpPageEmpty5} -\pastebutton{XPolynomialRingXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{p + q\free{p }\free{q }} -\indentrel{3}\begin{verbatim} - (5) 2 + 4x - 3y -Type: XPolynomialRing(Integer,OrderedFreeMonoid Symbol) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPageEmpty5} -\begin{paste}{XPolynomialRingXmpPageEmpty5}{XPolynomialRingXmpPagePatch5} -\pastebutton{XPolynomialRingXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{p + q\free{p }\free{q }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPagePatch6} -\begin{paste}{XPolynomialRingXmpPageFull6}{XPolynomialRingXmpPageEmpty6} -\pastebutton{XPolynomialRingXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{p * q\free{p }\free{q }} -\indentrel{3}\begin{verbatim} - 2 - (6) 1 + 4x - 3y + 4x - 6y x -Type: XPolynomialRing(Integer,OrderedFreeMonoid Symbol) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPageEmpty6} -\begin{paste}{XPolynomialRingXmpPageEmpty6}{XPolynomialRingXmpPagePatch6} -\pastebutton{XPolynomialRingXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{p * q\free{p }\free{q }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPagePatch7} -\begin{paste}{XPolynomialRingXmpPageFull7}{XPolynomialRingXmpPageEmpty7} -\pastebutton{XPolynomialRingXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{(p +q)^2 -p^2 -q^2 - 2*p*q\free{p }\free{q }} -\indentrel{3}\begin{verbatim} - (7) - 6x y + 6y x -Type: XPolynomialRing(Integer,OrderedFreeMonoid Symbol) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPageEmpty7} -\begin{paste}{XPolynomialRingXmpPageEmpty7}{XPolynomialRingXmpPagePatch7} -\pastebutton{XPolynomialRingXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{(p +q)^2 -p^2 -q^2 - 2*p*q\free{p }\free{q }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPagePatch8} -\begin{paste}{XPolynomialRingXmpPageFull8}{XPolynomialRingXmpPageEmpty8} -\pastebutton{XPolynomialRingXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{M := SquareMatrix(2,Fraction Integer)\bound{M }} -\indentrel{3}\begin{verbatim} - (8) SquareMatrix(2,Fraction Integer) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPageEmpty8} -\begin{paste}{XPolynomialRingXmpPageEmpty8}{XPolynomialRingXmpPagePatch8} -\pastebutton{XPolynomialRingXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{M := SquareMatrix(2,Fraction Integer)\bound{M }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPagePatch9} -\begin{paste}{XPolynomialRingXmpPageFull9}{XPolynomialRingXmpPageEmpty9} -\pastebutton{XPolynomialRingXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{poly1:= XPR(M,Word)\free{Word }\free{M }\bound{poly1 }} -\indentrel{3}\begin{verbatim} - (9) - XPolynomialRing(SquareMatrix(2,Fraction Integer),Ordere - dFreeMonoid Symbol) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPageEmpty9} -\begin{paste}{XPolynomialRingXmpPageEmpty9}{XPolynomialRingXmpPagePatch9} -\pastebutton{XPolynomialRingXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{poly1:= XPR(M,Word)\free{Word }\free{M }\bound{poly1 }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPagePatch10} -\begin{paste}{XPolynomialRingXmpPageFull10}{XPolynomialRingXmpPageEmpty10} -\pastebutton{XPolynomialRingXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{m1:M := matrix [[i*j**2 for i in 1..2] for j in 1..2]\free{M }\bound{m1 }} -\indentrel{3}\begin{verbatim} - Ú1 2¿ - (10) ³ ³ - À4 8Ù - Type: SquareMatrix(2,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPageEmpty10} -\begin{paste}{XPolynomialRingXmpPageEmpty10}{XPolynomialRingXmpPagePatch10} -\pastebutton{XPolynomialRingXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{m1:M := matrix [[i*j**2 for i in 1..2] for j in 1..2]\free{M }\bound{m1 }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPagePatch11} -\begin{paste}{XPolynomialRingXmpPageFull11}{XPolynomialRingXmpPageEmpty11} -\pastebutton{XPolynomialRingXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{m2:M := m1 - 5/4\free{M }\free{m1 }\bound{m2 }} -\indentrel{3}\begin{verbatim} - Ú 1 ¿ - ³- Ä 2 ³ - ³ 4 ³ - (11) ³ ³ - ³ 27³ - ³ 4 Äij - À 4Ù - Type: SquareMatrix(2,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPageEmpty11} -\begin{paste}{XPolynomialRingXmpPageEmpty11}{XPolynomialRingXmpPagePatch11} -\pastebutton{XPolynomialRingXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{m2:M := m1 - 5/4\free{M }\free{m1 }\bound{m2 }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPagePatch12} -\begin{paste}{XPolynomialRingXmpPageFull12}{XPolynomialRingXmpPageEmpty12} -\pastebutton{XPolynomialRingXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{m3: M := m2**2\free{M }\free{m2 }\bound{m3 }} -\indentrel{3}\begin{verbatim} - Ú129 ¿ - ³ÄÄÄ 13 ³ - ³ 16 ³ - (12) ³ ³ - ³ 857³ - ³26 ÄÄij - À 16Ù - Type: SquareMatrix(2,Fraction Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPageEmpty12} -\begin{paste}{XPolynomialRingXmpPageEmpty12}{XPolynomialRingXmpPagePatch12} -\pastebutton{XPolynomialRingXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{m3: M := m2**2\free{M }\free{m2 }\bound{m3 }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPagePatch13} -\begin{paste}{XPolynomialRingXmpPageFull13}{XPolynomialRingXmpPageEmpty13} -\pastebutton{XPolynomialRingXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{pm:poly1 := m1*x + m2*y + m3*z - 2/3\free{poly1 }\free{m1 }\free{m2 }\free{m3 }\bound{pm }} -\indentrel{3}\begin{verbatim} - Ú 2 ¿ Ú 1 ¿ Ú129 ¿ - ³- Ä 0 ³ ³- Ä 2 ³ ³ÄÄÄ 13 ³ - ³ 3 ³ Ú1 2¿ ³ 4 ³ ³ 16 ³ - (13) ³ ³ + ³ ³x + ³ ³y + ³ ³z - ³ 2³ À4 8Ù ³ 27³ ³ 857³ - ³ 0 - ij ³ 4 Äij ³26 ÄÄij - À 3Ù À 4Ù À 16Ù -Type: XPolynomialRing(SquareMatrix(2,Fraction Integer),OrderedFreeMonoid Symbol) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPageEmpty13} -\begin{paste}{XPolynomialRingXmpPageEmpty13}{XPolynomialRingXmpPagePatch13} -\pastebutton{XPolynomialRingXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{pm:poly1 := m1*x + m2*y + m3*z - 2/3\free{poly1 }\free{m1 }\free{m2 }\free{m3 }\bound{pm }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPagePatch14} -\begin{paste}{XPolynomialRingXmpPageFull14}{XPolynomialRingXmpPageEmpty14} -\pastebutton{XPolynomialRingXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{qm:poly1 := pm - m1*x\free{m1 }\free{pm }\bound{qm }} -\indentrel{3}\begin{verbatim} - Ú 2 ¿ Ú 1 ¿ Ú129 ¿ - ³- Ä 0 ³ ³- Ä 2 ³ ³ÄÄÄ 13 ³ - ³ 3 ³ ³ 4 ³ ³ 16 ³ - (14) ³ ³ + ³ ³y + ³ ³z - ³ 2³ ³ 27³ ³ 857³ - ³ 0 - ij ³ 4 Äij ³26 ÄÄij - À 3Ù À 4Ù À 16Ù -Type: XPolynomialRing(SquareMatrix(2,Fraction Integer),OrderedFreeMonoid Symbol) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPageEmpty14} -\begin{paste}{XPolynomialRingXmpPageEmpty14}{XPolynomialRingXmpPagePatch14} -\pastebutton{XPolynomialRingXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{qm:poly1 := pm - m1*x\free{m1 }\free{pm }\bound{qm }} -\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPagePatch15} -\begin{paste}{XPolynomialRingXmpPageFull15}{XPolynomialRingXmpPageEmpty15} -\pastebutton{XPolynomialRingXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{qm**3\bound{qm }} -\indentrel{3}\begin{verbatim} - (15) - Ú 8 ¿ Ú 1 8¿ Ú43 52 ¿ - ³- ÄÄ 0 ³ ³- Ä Ä³ ³ÄÄ ÄÄ ³ - ³ 27 ³ ³ 3 3³ ³ 4 3 ³ - ³ ³ + ³ ³y + ³ ³z - ³ 8³ ³16 ³ ³104 857³ - ³ 0 - Äij ³ÄÄ 9³ ³ÄÄÄ ÄÄij - À 27Ù À 3 Ù À 3 12Ù - + - Ú 129 ¿ Ú 3199 831 ¿ - ³- ÄÄÄ - 26 ³ ³- ÄÄÄÄ - ÄÄÄ ³ - ³ 8 ³ 2 ³ 32 4 ³ - ³ ³y + ³ ³y z - ³ 857³ ³ 831 26467³ - ³- 52 - ÄÄij ³- ÄÄÄ - ÄÄÄÄij - À 8 Ù À 2 32 Ù - + - Ú 3199 831 ¿ Ú 103169 6409 ¿ - ³- ÄÄÄÄ - ÄÄÄ ³ ³- ÄÄÄÄÄÄ - ÄÄÄÄ ³ - ³ 32 4 ³ ³ 128 4 ³ 2 - ³ ³z y + ³ ³z - ³ 831 26467³ ³ 6409 820977³ - ³- ÄÄÄ - ÄÄÄÄij ³ - ÄÄÄÄ - ÄÄÄÄÄij - À 2 32 Ù À 2 128 Ù - + - Ú3199 831 ¿ Ú103169 6409 ¿ - ³ÄÄÄÄ ÄÄÄ ³ ³ÄÄÄÄÄÄ ÄÄÄÄ ³ - ³ 64 8 ³ 3 ³ 256 8 ³ 2 - ³ ³y + ³ ³y z - ³831 26467³ ³ 6409 820977³ - ³ÄÄÄ ÄÄÄÄij ³ ÄÄÄÄ ÄÄÄÄÄij - À 4 64 Ù À 4 256 Ù - + - Ú103169 6409 ¿ Ú3178239 795341 ¿ - ³ÄÄÄÄÄÄ ÄÄÄÄ ³ ³ÄÄÄÄÄÄÄ ÄÄÄÄÄÄ ³ - ³ 256 8 ³ ³ 1024 128 ³ 2 - ³ ³y z y + ³ ³y z - ³ 6409 820977³ ³795341 25447787³ - ³ ÄÄÄÄ ÄÄÄÄÄij ³ÄÄÄÄÄÄ ÄÄÄÄÄÄÄij - À 4 256 Ù À 64 1024 Ù - + - Ú103169 6409 ¿ Ú3178239 795341 ¿ - ³ÄÄÄÄÄÄ ÄÄÄÄ ³ ³ÄÄÄÄÄÄÄ ÄÄÄÄÄÄ ³ - ³ 256 8 ³ 2 ³ 1024 128 ³ - ³ ³z y + ³ ³z y z - ³ 6409 820977³ ³795341 25447787³ - ³ ÄÄÄÄ ÄÄÄÄÄij ³ÄÄÄÄÄÄ ÄÄÄÄÄÄÄij - À 4 256 Ù À 64 1024 Ù - + - Ú3178239 795341 ¿ Ú98625409 12326223 ¿ - ³ÄÄÄÄÄÄÄ ÄÄÄÄÄÄ ³ ³ÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄ ³ - ³ 1024 128 ³ 2 ³ 4096 256 ³ 3 - ³ ³z y + ³ ³z - ³795341 25447787³ ³12326223 788893897³ - ³ÄÄÄÄÄÄ ÄÄÄÄÄÄÄij ³ÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄij - À 64 1024 Ù À 128 4096 Ù -Type: XPolynomialRing(SquareMatrix(2,Fraction Integer),OrderedFreeMonoid Symbol) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{XPolynomialRingXmpPageEmpty15} -\begin{paste}{XPolynomialRingXmpPageEmpty15}{XPolynomialRingXmpPagePatch15} -\pastebutton{XPolynomialRingXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{qm**3\bound{qm }} -\end{paste}\end{patch} - diff --git a/books/pages/zdsolve.pht b/books/pages/zdsolve.pht deleted file mode 100644 index fccef01..0000000 --- a/books/pages/zdsolve.pht +++ /dev/null @@ -1,2274 +0,0 @@ -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch1} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull1}{ZeroDimensionalSolvePackageXmpPageEmpty1} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{R := Integer\bound{R }} -\indentrel{3}\begin{verbatim} - (1) Integer - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty1} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty1}{ZeroDimensionalSolvePackageXmpPagePatch1} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{R := Integer\bound{R }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch2} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull2}{ZeroDimensionalSolvePackageXmpPageEmpty2} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{ls : List Symbol := [x,y,z,t]\bound{ls }} -\indentrel{3}\begin{verbatim} - (2) [x,y,z,t] - Type: List Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty2} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty2}{ZeroDimensionalSolvePackageXmpPagePatch2} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{ls : List Symbol := [x,y,z,t]\bound{ls }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch3} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull3}{ZeroDimensionalSolvePackageXmpPageEmpty3} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{ls2 : List Symbol := [x,y,z,t,new()$Symbol]\bound{ls2 }} -\indentrel{3}\begin{verbatim} - (3) [x,y,z,t,%A] - Type: List Symbol -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty3} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty3}{ZeroDimensionalSolvePackageXmpPagePatch3} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{ls2 : List Symbol := [x,y,z,t,new()$Symbol]\bound{ls2 }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch4} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull4}{ZeroDimensionalSolvePackageXmpPageEmpty4} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{pack := ZDSOLVE(R,ls,ls2)\free{ls }\free{ls2 }\free{R }\bound{pack }} -\indentrel{3}\begin{verbatim} - (4) - ZeroDimensionalSolvePackage(Integer,[x,y,z,t],[x,y,z,t, - %A]) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty4} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty4}{ZeroDimensionalSolvePackageXmpPagePatch4} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{pack := ZDSOLVE(R,ls,ls2)\free{ls }\free{ls2 }\free{R }\bound{pack }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch5} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull5}{ZeroDimensionalSolvePackageXmpPageEmpty5} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{p1 := x**2*y*z + x*y**2*z + x*y*z**2 + x*y*z + x*y + x*z + y*z\bound{p1 }} -\indentrel{3}\begin{verbatim} - 2 2 2 - (5) x y z + (x y + (x + x + 1)y + x)z + x y - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty5} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty5}{ZeroDimensionalSolvePackageXmpPagePatch5} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{p1 := x**2*y*z + x*y**2*z + x*y*z**2 + x*y*z + x*y + x*z + y*z\bound{p1 }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch6} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull6}{ZeroDimensionalSolvePackageXmpPageEmpty6} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{p2 := x**2*y**2*z + x*y**2*z**2 + x**2*y*z + x*y*z + y*z + x + z\bound{p2 }} -\indentrel{3}\begin{verbatim} - 2 2 2 2 2 - (6) x y z + (x y + (x + x + 1)y + 1)z + x - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty6} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty6}{ZeroDimensionalSolvePackageXmpPagePatch6} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{p2 := x**2*y**2*z + x*y**2*z**2 + x**2*y*z + x*y*z + y*z + x + z\bound{p2 }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch7} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull7}{ZeroDimensionalSolvePackageXmpPageEmpty7} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{p3 := x**2*y**2*z**2 + x**2*y**2*z + x*y**2*z + x*y*z + x*z + z + 1\bound{p3 }} -\indentrel{3}\begin{verbatim} - 2 2 2 2 2 - (7) x y z + ((x + x)y + x y + x + 1)z + 1 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty7} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty7}{ZeroDimensionalSolvePackageXmpPagePatch7} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{p3 := x**2*y**2*z**2 + x**2*y**2*z + x*y**2*z + x*y*z + x*z + z + 1\bound{p3 }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch8} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull8}{ZeroDimensionalSolvePackageXmpPageEmpty8} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{lp := [p1, p2, p3]\free{p1 }\free{p2 }\free{p3 }\bound{lp }} -\indentrel{3}\begin{verbatim} - (8) - 2 2 2 - [x y z + (x y + (x + x + 1)y + x)z + x y, - 2 2 2 2 2 - x y z + (x y + (x + x + 1)y + 1)z + x, - 2 2 2 2 2 - x y z + ((x + x)y + x y + x + 1)z + 1] - Type: List Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty8} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty8}{ZeroDimensionalSolvePackageXmpPagePatch8} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{lp := [p1, p2, p3]\free{p1 }\free{p2 }\free{p3 }\bound{lp }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch9} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull9}{ZeroDimensionalSolvePackageXmpPageEmpty9} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull9}{\hidepaste} -\tab{5}\spadcommand{triangSolve(lp)$pack\free{lp }\free{pack }} -\indentrel{3}\begin{verbatim} - (9) - [ - { - 20 19 18 17 16 15 - z - 6z - 41z + 71z + 106z + 92z - + - 14 13 12 11 10 - 197z + 145z + 257z + 278z + 201z - + - 9 8 7 6 5 4 - 278z + 257z + 145z + 197z + 92z + 106z - + - 3 2 - 71z - 41z - 6z + 1 - , - - 19 18 17 - 14745844z + 50357474z - 130948857z - + - 16 15 14 - - 185261586z - 180077775z - 338007307z - + - 13 12 11 - - 275379623z - 453190404z - 474597456z - + - 10 9 8 - - 366147695z - 481433567z - 430613166z - + - 7 6 5 - - 261878358z - 326073537z - 163008796z - + - 4 3 2 - - 177213227z - 104356755z + 65241699z - + - 9237732z - 1567348 - * - y - + - 19 18 17 - 1917314z + 6508991z - 16973165z - + - 16 15 14 - - 24000259z - 23349192z - 43786426z - + - 13 12 11 - - 35696474z - 58724172z - 61480792z - + - 10 9 8 - - 47452440z - 62378085z - 55776527z - + - 7 6 5 - - 33940618z - 42233406z - 21122875z - + - 4 3 2 - - 22958177z - 13504569z + 8448317z + 1195888z - + - - 202934 - , - - 3 2 3 2 2 - (z - 2z)y + (- z - z - 2z - 1)y - z - z - + - 1 - * - x - + - 2 - z - 1 - } - ] - Type: List RegularChain(Integer,[x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty9} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty9}{ZeroDimensionalSolvePackageXmpPagePatch9} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty9}{\showpaste} -\tab{5}\spadcommand{triangSolve(lp)$pack\free{lp }\free{pack }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch10} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull10}{ZeroDimensionalSolvePackageXmpPageEmpty10} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull10}{\hidepaste} -\tab{5}\spadcommand{univariateSolve(lp)$pack\free{lp }\free{pack }} -\indentrel{3}\begin{verbatim} - (10) - [ - [ - complexRoots = - 12 11 10 9 8 7 6 - ? - 12? + 24? + 4? - 9? + 27? - 21? - + - 5 4 3 2 - 27? - 9? + 4? + 24? - 12? + 1 - , - - coordinates = - [ - 11 10 9 8 - 63x + 62%A - 721%A + 1220%A + 705%A - + - 7 6 5 4 3 - - 285%A + 1512%A - 735%A + 1401%A - 21%A - + - 2 - 215%A + 1577%A - 142 - , - - 11 10 9 8 - 63y - 75%A + 890%A - 1682%A - 516%A - + - 7 6 5 4 3 - 588%A - 1953%A + 1323%A - 1815%A + 426%A - + - 2 - - 243%A - 1801%A + 679 - , - z - %A] - ] - , - - 6 5 4 3 2 - [complexRoots= ? + ? + ? + ? + ? + ? + 1, - 5 3 - coordinates= [x - %A ,y - %A ,z - %A]] - , - - 2 - [complexRoots= ? + 5? + 1, - coordinates= [x - 1,y - 1,z - %A]] - ] -Type: List Record(complexRoots: SparseUnivariatePolynomial Integer,coordinates: List Polynomial Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty10} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty10}{ZeroDimensionalSolvePackageXmpPagePatch10} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty10}{\showpaste} -\tab{5}\spadcommand{univariateSolve(lp)$pack\free{lp }\free{pack }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch11} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull11}{ZeroDimensionalSolvePackageXmpPageEmpty11} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull11}{\hidepaste} -\tab{5}\spadcommand{lr := realSolve(lp)$pack\free{lp }\free{pack }\bound{lr }} -\indentrel{3}\begin{verbatim} - (11) - [ - [%R1, - - 1184459 19 2335702 18 5460230 17 - ÄÄÄÄÄÄÄ %R1 - ÄÄÄÄÄÄÄ %R1 - ÄÄÄÄÄÄÄ %R1 - 1645371 548457 182819 - + - 79900378 16 43953929 15 13420192 14 - ÄÄÄÄÄÄÄÄ %R1 + ÄÄÄÄÄÄÄÄ %R1 + ÄÄÄÄÄÄÄÄ %R1 - 1645371 548457 182819 - + - 553986 13 193381378 12 35978916 11 - ÄÄÄÄÄÄ %R1 + ÄÄÄÄÄÄÄÄÄ %R1 + ÄÄÄÄÄÄÄÄ %R1 - 3731 1645371 182819 - + - 358660781 10 271667666 9 118784873 8 - ÄÄÄÄÄÄÄÄÄ %R1 + ÄÄÄÄÄÄÄÄÄ %R1 + ÄÄÄÄÄÄÄÄÄ %R1 - 1645371 1645371 548457 - + - 337505020 7 1389370 6 688291 5 - ÄÄÄÄÄÄÄÄÄ %R1 + ÄÄÄÄÄÄÄ %R1 + ÄÄÄÄÄÄ %R1 - 1645371 11193 4459 - + - 3378002 4 140671876 3 32325724 2 - ÄÄÄÄÄÄÄ %R1 + ÄÄÄÄÄÄÄÄÄ %R1 + ÄÄÄÄÄÄÄÄ %R1 - 42189 1645371 548457 - + - 8270 9741532 - - ÄÄÄÄ %R1 - ÄÄÄÄÄÄÄ - 343 1645371 - , - - 91729 19 487915 18 4114333 17 - - ÄÄÄÄÄÄ %R1 + ÄÄÄÄÄÄ %R1 + ÄÄÄÄÄÄÄ %R1 - 705159 705159 705159 - + - 1276987 16 13243117 15 16292173 14 - - ÄÄÄÄÄÄÄ %R1 - ÄÄÄÄÄÄÄÄ %R1 - ÄÄÄÄÄÄÄÄ %R1 - 235053 705159 705159 - + - 26536060 13 722714 12 5382578 11 - - ÄÄÄÄÄÄÄÄ %R1 - ÄÄÄÄÄÄ %R1 - ÄÄÄÄÄÄÄ %R1 - 705159 18081 100737 - + - 15449995 10 14279770 9 6603890 8 - - ÄÄÄÄÄÄÄÄ %R1 - ÄÄÄÄÄÄÄÄ %R1 - ÄÄÄÄÄÄÄ %R1 - 235053 235053 100737 - + - 409930 7 37340389 6 34893715 5 - - ÄÄÄÄÄÄ %R1 - ÄÄÄÄÄÄÄÄ %R1 - ÄÄÄÄÄÄÄÄ %R1 - 6027 705159 705159 - + - 26686318 4 801511 3 17206178 2 - - ÄÄÄÄÄÄÄÄ %R1 - ÄÄÄÄÄÄ %R1 - ÄÄÄÄÄÄÄÄ %R1 - 705159 26117 705159 - + - 4406102 377534 - - ÄÄÄÄÄÄÄ %R1 + ÄÄÄÄÄÄ - 705159 705159 - ] - , - - [%R2, - - 1184459 19 2335702 18 5460230 17 - ÄÄÄÄÄÄÄ %R2 - ÄÄÄÄÄÄÄ %R2 - ÄÄÄÄÄÄÄ %R2 - 1645371 548457 182819 - + - 79900378 16 43953929 15 13420192 14 - ÄÄÄÄÄÄÄÄ %R2 + ÄÄÄÄÄÄÄÄ %R2 + ÄÄÄÄÄÄÄÄ %R2 - 1645371 548457 182819 - + - 553986 13 193381378 12 35978916 11 - ÄÄÄÄÄÄ %R2 + ÄÄÄÄÄÄÄÄÄ %R2 + ÄÄÄÄÄÄÄÄ %R2 - 3731 1645371 182819 - + - 358660781 10 271667666 9 118784873 8 - ÄÄÄÄÄÄÄÄÄ %R2 + ÄÄÄÄÄÄÄÄÄ %R2 + ÄÄÄÄÄÄÄÄÄ %R2 - 1645371 1645371 548457 - + - 337505020 7 1389370 6 688291 5 - ÄÄÄÄÄÄÄÄÄ %R2 + ÄÄÄÄÄÄÄ %R2 + ÄÄÄÄÄÄ %R2 - 1645371 11193 4459 - + - 3378002 4 140671876 3 32325724 2 - ÄÄÄÄÄÄÄ %R2 + ÄÄÄÄÄÄÄÄÄ %R2 + ÄÄÄÄÄÄÄÄ %R2 - 42189 1645371 548457 - + - 8270 9741532 - - ÄÄÄÄ %R2 - ÄÄÄÄÄÄÄ - 343 1645371 - , - - 91729 19 487915 18 4114333 17 - - ÄÄÄÄÄÄ %R2 + ÄÄÄÄÄÄ %R2 + ÄÄÄÄÄÄÄ %R2 - 705159 705159 705159 - + - 1276987 16 13243117 15 16292173 14 - - ÄÄÄÄÄÄÄ %R2 - ÄÄÄÄÄÄÄÄ %R2 - ÄÄÄÄÄÄÄÄ %R2 - 235053 705159 705159 - + - 26536060 13 722714 12 5382578 11 - - ÄÄÄÄÄÄÄÄ %R2 - ÄÄÄÄÄÄ %R2 - ÄÄÄÄÄÄÄ %R2 - 705159 18081 100737 - + - 15449995 10 14279770 9 6603890 8 - - ÄÄÄÄÄÄÄÄ %R2 - ÄÄÄÄÄÄÄÄ %R2 - ÄÄÄÄÄÄÄ %R2 - 235053 235053 100737 - + - 409930 7 37340389 6 34893715 5 - - ÄÄÄÄÄÄ %R2 - ÄÄÄÄÄÄÄÄ %R2 - ÄÄÄÄÄÄÄÄ %R2 - 6027 705159 705159 - + - 26686318 4 801511 3 17206178 2 - - ÄÄÄÄÄÄÄÄ %R2 - ÄÄÄÄÄÄ %R2 - ÄÄÄÄÄÄÄÄ %R2 - 705159 26117 705159 - + - 4406102 377534 - - ÄÄÄÄÄÄÄ %R2 + ÄÄÄÄÄÄ - 705159 705159 - ] - , - - [%R3, - - 1184459 19 2335702 18 5460230 17 - ÄÄÄÄÄÄÄ %R3 - ÄÄÄÄÄÄÄ %R3 - ÄÄÄÄÄÄÄ %R3 - 1645371 548457 182819 - + - 79900378 16 43953929 15 13420192 14 - ÄÄÄÄÄÄÄÄ %R3 + ÄÄÄÄÄÄÄÄ %R3 + ÄÄÄÄÄÄÄÄ %R3 - 1645371 548457 182819 - + - 553986 13 193381378 12 35978916 11 - ÄÄÄÄÄÄ %R3 + ÄÄÄÄÄÄÄÄÄ %R3 + ÄÄÄÄÄÄÄÄ %R3 - 3731 1645371 182819 - + - 358660781 10 271667666 9 118784873 8 - ÄÄÄÄÄÄÄÄÄ %R3 + ÄÄÄÄÄÄÄÄÄ %R3 + ÄÄÄÄÄÄÄÄÄ %R3 - 1645371 1645371 548457 - + - 337505020 7 1389370 6 688291 5 - ÄÄÄÄÄÄÄÄÄ %R3 + ÄÄÄÄÄÄÄ %R3 + ÄÄÄÄÄÄ %R3 - 1645371 11193 4459 - + - 3378002 4 140671876 3 32325724 2 - ÄÄÄÄÄÄÄ %R3 + ÄÄÄÄÄÄÄÄÄ %R3 + ÄÄÄÄÄÄÄÄ %R3 - 42189 1645371 548457 - + - 8270 9741532 - - ÄÄÄÄ %R3 - ÄÄÄÄÄÄÄ - 343 1645371 - , - - 91729 19 487915 18 4114333 17 - - ÄÄÄÄÄÄ %R3 + ÄÄÄÄÄÄ %R3 + ÄÄÄÄÄÄÄ %R3 - 705159 705159 705159 - + - 1276987 16 13243117 15 16292173 14 - - ÄÄÄÄÄÄÄ %R3 - ÄÄÄÄÄÄÄÄ %R3 - ÄÄÄÄÄÄÄÄ %R3 - 235053 705159 705159 - + - 26536060 13 722714 12 5382578 11 - - ÄÄÄÄÄÄÄÄ %R3 - ÄÄÄÄÄÄ %R3 - ÄÄÄÄÄÄÄ %R3 - 705159 18081 100737 - + - 15449995 10 14279770 9 6603890 8 - - ÄÄÄÄÄÄÄÄ %R3 - ÄÄÄÄÄÄÄÄ %R3 - ÄÄÄÄÄÄÄ %R3 - 235053 235053 100737 - + - 409930 7 37340389 6 34893715 5 - - ÄÄÄÄÄÄ %R3 - ÄÄÄÄÄÄÄÄ %R3 - ÄÄÄÄÄÄÄÄ %R3 - 6027 705159 705159 - + - 26686318 4 801511 3 17206178 2 - - ÄÄÄÄÄÄÄÄ %R3 - ÄÄÄÄÄÄ %R3 - ÄÄÄÄÄÄÄÄ %R3 - 705159 26117 705159 - + - 4406102 377534 - - ÄÄÄÄÄÄÄ %R3 + ÄÄÄÄÄÄ - 705159 705159 - ] - , - - [%R4, - - 1184459 19 2335702 18 5460230 17 - ÄÄÄÄÄÄÄ %R4 - ÄÄÄÄÄÄÄ %R4 - ÄÄÄÄÄÄÄ %R4 - 1645371 548457 182819 - + - 79900378 16 43953929 15 13420192 14 - ÄÄÄÄÄÄÄÄ %R4 + ÄÄÄÄÄÄÄÄ %R4 + ÄÄÄÄÄÄÄÄ %R4 - 1645371 548457 182819 - + - 553986 13 193381378 12 35978916 11 - ÄÄÄÄÄÄ %R4 + ÄÄÄÄÄÄÄÄÄ %R4 + ÄÄÄÄÄÄÄÄ %R4 - 3731 1645371 182819 - + - 358660781 10 271667666 9 118784873 8 - ÄÄÄÄÄÄÄÄÄ %R4 + ÄÄÄÄÄÄÄÄÄ %R4 + ÄÄÄÄÄÄÄÄÄ %R4 - 1645371 1645371 548457 - + - 337505020 7 1389370 6 688291 5 - ÄÄÄÄÄÄÄÄÄ %R4 + ÄÄÄÄÄÄÄ %R4 + ÄÄÄÄÄÄ %R4 - 1645371 11193 4459 - + - 3378002 4 140671876 3 32325724 2 - ÄÄÄÄÄÄÄ %R4 + ÄÄÄÄÄÄÄÄÄ %R4 + ÄÄÄÄÄÄÄÄ %R4 - 42189 1645371 548457 - + - 8270 9741532 - - ÄÄÄÄ %R4 - ÄÄÄÄÄÄÄ - 343 1645371 - , - - 91729 19 487915 18 4114333 17 - - ÄÄÄÄÄÄ %R4 + ÄÄÄÄÄÄ %R4 + ÄÄÄÄÄÄÄ %R4 - 705159 705159 705159 - + - 1276987 16 13243117 15 16292173 14 - - ÄÄÄÄÄÄÄ %R4 - ÄÄÄÄÄÄÄÄ %R4 - ÄÄÄÄÄÄÄÄ %R4 - 235053 705159 705159 - + - 26536060 13 722714 12 5382578 11 - - ÄÄÄÄÄÄÄÄ %R4 - ÄÄÄÄÄÄ %R4 - ÄÄÄÄÄÄÄ %R4 - 705159 18081 100737 - + - 15449995 10 14279770 9 6603890 8 - - ÄÄÄÄÄÄÄÄ %R4 - ÄÄÄÄÄÄÄÄ %R4 - ÄÄÄÄÄÄÄ %R4 - 235053 235053 100737 - + - 409930 7 37340389 6 34893715 5 - - ÄÄÄÄÄÄ %R4 - ÄÄÄÄÄÄÄÄ %R4 - ÄÄÄÄÄÄÄÄ %R4 - 6027 705159 705159 - + - 26686318 4 801511 3 17206178 2 - - ÄÄÄÄÄÄÄÄ %R4 - ÄÄÄÄÄÄ %R4 - ÄÄÄÄÄÄÄÄ %R4 - 705159 26117 705159 - + - 4406102 377534 - - ÄÄÄÄÄÄÄ %R4 + ÄÄÄÄÄÄ - 705159 705159 - ] - , - - [%R5, - - 1184459 19 2335702 18 5460230 17 - ÄÄÄÄÄÄÄ %R5 - ÄÄÄÄÄÄÄ %R5 - ÄÄÄÄÄÄÄ %R5 - 1645371 548457 182819 - + - 79900378 16 43953929 15 13420192 14 - ÄÄÄÄÄÄÄÄ %R5 + ÄÄÄÄÄÄÄÄ %R5 + ÄÄÄÄÄÄÄÄ %R5 - 1645371 548457 182819 - + - 553986 13 193381378 12 35978916 11 - ÄÄÄÄÄÄ %R5 + ÄÄÄÄÄÄÄÄÄ %R5 + ÄÄÄÄÄÄÄÄ %R5 - 3731 1645371 182819 - + - 358660781 10 271667666 9 118784873 8 - ÄÄÄÄÄÄÄÄÄ %R5 + ÄÄÄÄÄÄÄÄÄ %R5 + ÄÄÄÄÄÄÄÄÄ %R5 - 1645371 1645371 548457 - + - 337505020 7 1389370 6 688291 5 - ÄÄÄÄÄÄÄÄÄ %R5 + ÄÄÄÄÄÄÄ %R5 + ÄÄÄÄÄÄ %R5 - 1645371 11193 4459 - + - 3378002 4 140671876 3 32325724 2 - ÄÄÄÄÄÄÄ %R5 + ÄÄÄÄÄÄÄÄÄ %R5 + ÄÄÄÄÄÄÄÄ %R5 - 42189 1645371 548457 - + - 8270 9741532 - - ÄÄÄÄ %R5 - ÄÄÄÄÄÄÄ - 343 1645371 - , - - 91729 19 487915 18 4114333 17 - - ÄÄÄÄÄÄ %R5 + ÄÄÄÄÄÄ %R5 + ÄÄÄÄÄÄÄ %R5 - 705159 705159 705159 - + - 1276987 16 13243117 15 16292173 14 - - ÄÄÄÄÄÄÄ %R5 - ÄÄÄÄÄÄÄÄ %R5 - ÄÄÄÄÄÄÄÄ %R5 - 235053 705159 705159 - + - 26536060 13 722714 12 5382578 11 - - ÄÄÄÄÄÄÄÄ %R5 - ÄÄÄÄÄÄ %R5 - ÄÄÄÄÄÄÄ %R5 - 705159 18081 100737 - + - 15449995 10 14279770 9 6603890 8 - - ÄÄÄÄÄÄÄÄ %R5 - ÄÄÄÄÄÄÄÄ %R5 - ÄÄÄÄÄÄÄ %R5 - 235053 235053 100737 - + - 409930 7 37340389 6 34893715 5 - - ÄÄÄÄÄÄ %R5 - ÄÄÄÄÄÄÄÄ %R5 - ÄÄÄÄÄÄÄÄ %R5 - 6027 705159 705159 - + - 26686318 4 801511 3 17206178 2 - - ÄÄÄÄÄÄÄÄ %R5 - ÄÄÄÄÄÄ %R5 - ÄÄÄÄÄÄÄÄ %R5 - 705159 26117 705159 - + - 4406102 377534 - - ÄÄÄÄÄÄÄ %R5 + ÄÄÄÄÄÄ - 705159 705159 - ] - , - - [%R6, - - 1184459 19 2335702 18 5460230 17 - ÄÄÄÄÄÄÄ %R6 - ÄÄÄÄÄÄÄ %R6 - ÄÄÄÄÄÄÄ %R6 - 1645371 548457 182819 - + - 79900378 16 43953929 15 13420192 14 - ÄÄÄÄÄÄÄÄ %R6 + ÄÄÄÄÄÄÄÄ %R6 + ÄÄÄÄÄÄÄÄ %R6 - 1645371 548457 182819 - + - 553986 13 193381378 12 35978916 11 - ÄÄÄÄÄÄ %R6 + ÄÄÄÄÄÄÄÄÄ %R6 + ÄÄÄÄÄÄÄÄ %R6 - 3731 1645371 182819 - + - 358660781 10 271667666 9 118784873 8 - ÄÄÄÄÄÄÄÄÄ %R6 + ÄÄÄÄÄÄÄÄÄ %R6 + ÄÄÄÄÄÄÄÄÄ %R6 - 1645371 1645371 548457 - + - 337505020 7 1389370 6 688291 5 - ÄÄÄÄÄÄÄÄÄ %R6 + ÄÄÄÄÄÄÄ %R6 + ÄÄÄÄÄÄ %R6 - 1645371 11193 4459 - + - 3378002 4 140671876 3 32325724 2 - ÄÄÄÄÄÄÄ %R6 + ÄÄÄÄÄÄÄÄÄ %R6 + ÄÄÄÄÄÄÄÄ %R6 - 42189 1645371 548457 - + - 8270 9741532 - - ÄÄÄÄ %R6 - ÄÄÄÄÄÄÄ - 343 1645371 - , - - 91729 19 487915 18 4114333 17 - - ÄÄÄÄÄÄ %R6 + ÄÄÄÄÄÄ %R6 + ÄÄÄÄÄÄÄ %R6 - 705159 705159 705159 - + - 1276987 16 13243117 15 16292173 14 - - ÄÄÄÄÄÄÄ %R6 - ÄÄÄÄÄÄÄÄ %R6 - ÄÄÄÄÄÄÄÄ %R6 - 235053 705159 705159 - + - 26536060 13 722714 12 5382578 11 - - ÄÄÄÄÄÄÄÄ %R6 - ÄÄÄÄÄÄ %R6 - ÄÄÄÄÄÄÄ %R6 - 705159 18081 100737 - + - 15449995 10 14279770 9 6603890 8 - - ÄÄÄÄÄÄÄÄ %R6 - ÄÄÄÄÄÄÄÄ %R6 - ÄÄÄÄÄÄÄ %R6 - 235053 235053 100737 - + - 409930 7 37340389 6 34893715 5 - - ÄÄÄÄÄÄ %R6 - ÄÄÄÄÄÄÄÄ %R6 - ÄÄÄÄÄÄÄÄ %R6 - 6027 705159 705159 - + - 26686318 4 801511 3 17206178 2 - - ÄÄÄÄÄÄÄÄ %R6 - ÄÄÄÄÄÄ %R6 - ÄÄÄÄÄÄÄÄ %R6 - 705159 26117 705159 - + - 4406102 377534 - - ÄÄÄÄÄÄÄ %R6 + ÄÄÄÄÄÄ - 705159 705159 - ] - , - - [%R7, - - 1184459 19 2335702 18 5460230 17 - ÄÄÄÄÄÄÄ %R7 - ÄÄÄÄÄÄÄ %R7 - ÄÄÄÄÄÄÄ %R7 - 1645371 548457 182819 - + - 79900378 16 43953929 15 13420192 14 - ÄÄÄÄÄÄÄÄ %R7 + ÄÄÄÄÄÄÄÄ %R7 + ÄÄÄÄÄÄÄÄ %R7 - 1645371 548457 182819 - + - 553986 13 193381378 12 35978916 11 - ÄÄÄÄÄÄ %R7 + ÄÄÄÄÄÄÄÄÄ %R7 + ÄÄÄÄÄÄÄÄ %R7 - 3731 1645371 182819 - + - 358660781 10 271667666 9 118784873 8 - ÄÄÄÄÄÄÄÄÄ %R7 + ÄÄÄÄÄÄÄÄÄ %R7 + ÄÄÄÄÄÄÄÄÄ %R7 - 1645371 1645371 548457 - + - 337505020 7 1389370 6 688291 5 - ÄÄÄÄÄÄÄÄÄ %R7 + ÄÄÄÄÄÄÄ %R7 + ÄÄÄÄÄÄ %R7 - 1645371 11193 4459 - + - 3378002 4 140671876 3 32325724 2 - ÄÄÄÄÄÄÄ %R7 + ÄÄÄÄÄÄÄÄÄ %R7 + ÄÄÄÄÄÄÄÄ %R7 - 42189 1645371 548457 - + - 8270 9741532 - - ÄÄÄÄ %R7 - ÄÄÄÄÄÄÄ - 343 1645371 - , - - 91729 19 487915 18 4114333 17 - - ÄÄÄÄÄÄ %R7 + ÄÄÄÄÄÄ %R7 + ÄÄÄÄÄÄÄ %R7 - 705159 705159 705159 - + - 1276987 16 13243117 15 16292173 14 - - ÄÄÄÄÄÄÄ %R7 - ÄÄÄÄÄÄÄÄ %R7 - ÄÄÄÄÄÄÄÄ %R7 - 235053 705159 705159 - + - 26536060 13 722714 12 5382578 11 - - ÄÄÄÄÄÄÄÄ %R7 - ÄÄÄÄÄÄ %R7 - ÄÄÄÄÄÄÄ %R7 - 705159 18081 100737 - + - 15449995 10 14279770 9 6603890 8 - - ÄÄÄÄÄÄÄÄ %R7 - ÄÄÄÄÄÄÄÄ %R7 - ÄÄÄÄÄÄÄ %R7 - 235053 235053 100737 - + - 409930 7 37340389 6 34893715 5 - - ÄÄÄÄÄÄ %R7 - ÄÄÄÄÄÄÄÄ %R7 - ÄÄÄÄÄÄÄÄ %R7 - 6027 705159 705159 - + - 26686318 4 801511 3 17206178 2 - - ÄÄÄÄÄÄÄÄ %R7 - ÄÄÄÄÄÄ %R7 - ÄÄÄÄÄÄÄÄ %R7 - 705159 26117 705159 - + - 4406102 377534 - - ÄÄÄÄÄÄÄ %R7 + ÄÄÄÄÄÄ - 705159 705159 - ] - , - - [%R8, - - 1184459 19 2335702 18 5460230 17 - ÄÄÄÄÄÄÄ %R8 - ÄÄÄÄÄÄÄ %R8 - ÄÄÄÄÄÄÄ %R8 - 1645371 548457 182819 - + - 79900378 16 43953929 15 13420192 14 - ÄÄÄÄÄÄÄÄ %R8 + ÄÄÄÄÄÄÄÄ %R8 + ÄÄÄÄÄÄÄÄ %R8 - 1645371 548457 182819 - + - 553986 13 193381378 12 35978916 11 - ÄÄÄÄÄÄ %R8 + ÄÄÄÄÄÄÄÄÄ %R8 + ÄÄÄÄÄÄÄÄ %R8 - 3731 1645371 182819 - + - 358660781 10 271667666 9 118784873 8 - ÄÄÄÄÄÄÄÄÄ %R8 + ÄÄÄÄÄÄÄÄÄ %R8 + ÄÄÄÄÄÄÄÄÄ %R8 - 1645371 1645371 548457 - + - 337505020 7 1389370 6 688291 5 - ÄÄÄÄÄÄÄÄÄ %R8 + ÄÄÄÄÄÄÄ %R8 + ÄÄÄÄÄÄ %R8 - 1645371 11193 4459 - + - 3378002 4 140671876 3 32325724 2 - ÄÄÄÄÄÄÄ %R8 + ÄÄÄÄÄÄÄÄÄ %R8 + ÄÄÄÄÄÄÄÄ %R8 - 42189 1645371 548457 - + - 8270 9741532 - - ÄÄÄÄ %R8 - ÄÄÄÄÄÄÄ - 343 1645371 - , - - 91729 19 487915 18 4114333 17 - - ÄÄÄÄÄÄ %R8 + ÄÄÄÄÄÄ %R8 + ÄÄÄÄÄÄÄ %R8 - 705159 705159 705159 - + - 1276987 16 13243117 15 16292173 14 - - ÄÄÄÄÄÄÄ %R8 - ÄÄÄÄÄÄÄÄ %R8 - ÄÄÄÄÄÄÄÄ %R8 - 235053 705159 705159 - + - 26536060 13 722714 12 5382578 11 - - ÄÄÄÄÄÄÄÄ %R8 - ÄÄÄÄÄÄ %R8 - ÄÄÄÄÄÄÄ %R8 - 705159 18081 100737 - + - 15449995 10 14279770 9 6603890 8 - - ÄÄÄÄÄÄÄÄ %R8 - ÄÄÄÄÄÄÄÄ %R8 - ÄÄÄÄÄÄÄ %R8 - 235053 235053 100737 - + - 409930 7 37340389 6 34893715 5 - - ÄÄÄÄÄÄ %R8 - ÄÄÄÄÄÄÄÄ %R8 - ÄÄÄÄÄÄÄÄ %R8 - 6027 705159 705159 - + - 26686318 4 801511 3 17206178 2 - - ÄÄÄÄÄÄÄÄ %R8 - ÄÄÄÄÄÄ %R8 - ÄÄÄÄÄÄÄÄ %R8 - 705159 26117 705159 - + - 4406102 377534 - - ÄÄÄÄÄÄÄ %R8 + ÄÄÄÄÄÄ - 705159 705159 - ] - ] - Type: List List RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty11} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty11}{ZeroDimensionalSolvePackageXmpPagePatch11} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty11}{\showpaste} -\tab{5}\spadcommand{lr := realSolve(lp)$pack\free{lp }\free{pack }\bound{lr }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch12} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull12}{ZeroDimensionalSolvePackageXmpPageEmpty12} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull12}{\hidepaste} -\tab{5}\spadcommand{\# lr\free{lr }} -\indentrel{3}\begin{verbatim} - (12) 8 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty12} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty12}{ZeroDimensionalSolvePackageXmpPagePatch12} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty12}{\showpaste} -\tab{5}\spadcommand{\# lr\free{lr }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch13} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull13}{ZeroDimensionalSolvePackageXmpPageEmpty13} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull13}{\hidepaste} -\tab{5}\spadcommand{[[approximate(r,1/1000000) for r in point] for point in lr]\free{lr }} -\indentrel{3}\begin{verbatim} - (13) - [ - 10048059 - [- ÄÄÄÄÄÄÄÄ, - 2097152 - - 450305731698538794352439791383896641459673197621_ - 17682193358812083855163140589245671760914236296_ - 95777403099833360761048898228916578137094309838_ - 59733113720258484693913237615701950676035760116_ - 59174549868153820987890948515234203928112931261_ - 41329856546977145464661495487825919941188447041_ - 72244049192156726354215802806143775884436463441_ - 0045253024786561923163288214175 - / - 450305728302524548851651180698582663508310069375_ - 73204652805547068656449495775099168672018894380_ - 90408354817931718593862797624551518983570793048_ - 77442429148870882984032418920030143612331486020_ - 08214437337907553112436329198648954217042289495_ - 71290016119498807957023663865443069392027148979_ - 68826671232335604349152343406892427528041733857_ - 4817381189277066143312396681216 - , - - 210626076882347507389479868048601659624960714869_ - 06855387636837150206396808586496507900558895056_ - 46893309447097099937802187329095325898785247249_ - 02071750498366048207515661873872451468533306001_ - 12029646351663813515432559822002503052839810868_ - 37110614842307026091211297929876896285681830479_ - 05476005638076266490561846205530604781619178201_ - 15887037891389881895 - / - 210626060949846419247211380481647417534196295329_ - 64341024139031423687579676852738885855909759652_ - 11778862189872881953943640246297357061959812326_ - 10365979902512686325867656720234210687703171018_ - 42474841814232889218376812370627084702957062184_ - 85928867400771937828499200923760593314168901000_ - 66637389634759811822855673103707202647449677622_ - 83837629939232800768 - ] - , - - 2563013 - [- ÄÄÄÄÄÄÄ, - 2097152 - - - - 261134617679192778969861769323775771923825996_ - 30635417819227523304401898996680729283384907_ - 68623593207442125925986733815932243504809294_ - 83752303023733723680666816744617300172727135_ - 3311571242897 - / - 116522540050522253058398191600458914375722661_ - 02768589900087901348199149409224137539839713_ - 94019523433320408139928153188829495755455163_ - 96341761930839597754479714023146923426903492_ - 1938055593984 - , - - 357259455027591722109658872961578827299851705467_ - 56032395781981410060340917352828265906219023044_ - 66963941971038923304526273329316373757450061978_ - 9892286110976997087250466235373 - / - 103954826934559893687707124483402605580081455112_ - 01705922005223665917594096594864423391410294529_ - 50265179989960104811875822530205346505131581243_ - 9017247289173865014702966308864 - ] - , - - 1715967 - [- ÄÄÄÄÄÄÄ, - 2097152 - - - - 421309353378430352108483951797708239037726150_ - 39695862248289984366060306560763593745648137_ - 73498376603121267822565801436206939519951465_ - 18222580524697287410022543952491 - / - 944181414418537445864969203434922405243659747_ - 09662536639306419607958058825854931998401916_ - 99917659443264824641135187383583888147867340_ - 19307857605820364195856822304768 - , - - 763583334711264422251562542441083122534747566900_ - 85893388341621725019049943763467308768090428452_ - 08919919925302105720971453918982731389072591403_ - 5 - / - 262418876408609719978429761047806663393423046789_ - 58516022785809785037845492057884990196406022669_ - 66026891580103543567625039018629887141284916756_ - 48 - ] - , - - 437701 - [- ÄÄÄÄÄÄÄ, - 2097152 - - 168310690863834958832217233265422591356298631318_ - 19510314527501614414974734553281507213648683555_ - 79646781603507777199075077835213366484533654913_ - 83623741304759 - / - 168310686809521338900170998270591363896307766873_ - 12261111677851880049074252262986803258878109626_ - 14140298597366984264887998908377068799998454233_ - 81649008099328 - , - - 496155010983501018642268101342210873595871480100_ - 37606397079680966469128267084728344431172391721_ - 9104249213450966312411133 - / - 496154987275773831550919207821020902985289711861_ - 10971262363840408293765926191431317025486746479_ - 2718363492160482442215424 - ] - , - - 222801 - [ÄÄÄÄÄÄÄ, - 2097152 - - - - 899488488040242826510759512197069142713604569_ - 25419782755730018652137599215881377166961263_ - 49101655220195142994932299137183241705867672_ - 383477 - / - 116788999866502637217776510069188858270896996_ - 02299347696908357524570777794164352094737678_ - 66507769405888942764587718542434255625992456_ - 372224 - , - - - - 238970488813315687832080154437380839561277150_ - 92084910198474529918855095465195254678390166_ - 13593999693886640036283570552321155037871291_ - 458703265 - / - 535548727364509632609040328668993190598822544_ - 46854114332215938336811929575628336714686542_ - 90340746993656285925599117602120446183443145_ - 479421952 - ] - , - - 765693 - [ÄÄÄÄÄÄÄ, - 2097152 - - 855896921981671626787324476117819808872469895861_ - 66701402137657543220023032516857861186783308402_ - 03328837654339523418704917749518340772512899000_ - 391009630373148561 - / - 294144244553301079097642841137639349981558021594_ - 58569179064525354957230138568189417023302287798_ - 90141296236721138154231997238917322156711965244_ - 4639331719460159488 - , - - - - 205761823058257210124765032486024256111130258_ - 15435888088439236627675493822416593627122907_ - 77612800192921420574408948085193743688582762_ - 2246433251878894899015 - / - 267159820332573553809795235350145022057631375_ - 98908350970917225206427101987719026671839489_ - 06289863714759678360292483949204616471537777_ - 775324180661095366656 - ] - , - - 5743879 - [ÄÄÄÄÄÄÄ, - 2097152 - - 107628881696890684795554639477357020817145672494_ - 26186140236631235747689608504342639713980725465_ - 92772662158833449797698617455397887562900072984_ - 76800060834355318980169340872720504761255988923_ - 27575638305286889535354218094827710589175426028_ - 90060941949620874083007858366669453501766248414_ - 88732463225 - / - 313176895708031794664846194002355204419037661345_ - 85849862285496319161966016162197817656155325322_ - 94746529648276430583810894079374566460757823146_ - 88858119555602920851521883888320031865840746939_ - 94260632605898286123092315966691297079864813198_ - 51571942927230340622934023923486703042068153044_ - 0845099008 - , - - - - 211328669918575091836412047556545843787017248_ - 98654859943898281353352644446652845575264927_ - 34931691731407872701432935503473348172076098_ - 72054584900878007756416053431789468836611952_ - 97399805029441626685500981279619504962102219_ - 42878089359674925850594427768502251789758706_ - 752831632503615 - / - 162761558493798758024290662434710458088914446_ - 61684597180431538394083725255333098080703636_ - 99585502216011211087103263609551026027769414_ - 08739114812622116813978168258743807532259146_ - 61319399754572005223498385689642856344480185_ - 62038272378787354460106106141518010935617205_ - 1706396253618176 - ] - , - - 19739877 - [ÄÄÄÄÄÄÄÄ, - 2097152 - - - - 299724993683270330379901580486152094921504038_ - 75007071777012857667201925305794224789535660_ - 24359860143101547801638082771611160372212874_ - 84777803580987284314922548423836585801362934_ - 17053217025823333509180096017899370239859353_ - 04900460493389873837030853410347089908880814_ - 85398113201846458245880061539477074169948729_ - 58759602107502158919488144768548710315309312_ - 95467332190133702671098200902282300510751860_ - 71859284570302778073977965258138627622392869_ - 96106809728023675 - / - 230843327485227859072891008119181102390650414_ - 13214326461239367948739333192706089607021381_ - 93417647898360620229519176632937631786851455_ - 01476602720625902225250555174182368889688380_ - 66366025744317604722402920931967294751602472_ - 68834121141893318848728661844434927287285112_ - 89708076755286489505658586403317856591038706_ - 50061128015164035227410373609905560544769495_ - 27059227070809593049491257519554708879259595_ - 52929920110858560812556635485429471554031675_ - 979542656381353984 - , - - - - 512818926354822848909627639786894008060093841_ - 06630804594079663358450092641094905204598253_ - 16250084723010047035024497436523038925818959_ - 28931293158470135392762143543439867426304729_ - 39091228501338519906964902315660943719943337_ - 95070782624011727587749989296611277318372294_ - 62420711653791043655457414608288470130554391_ - 26204193548854107359401577758966028223645758_ - 64611831512943973974715166920465061850603762_ - 87516256195847052412587282839139194642913955 - / - 228828193977843933053120879318129047118363109_ - 24553689903863908242435094636442362497730806_ - 47438987739144921607794682653851741189091711_ - 74186814511497833728419182249767586835872948_ - 66447308566225526872092037244118004814057028_ - 37198310642291275676195774614443815996713502_ - 62939174978359004147086012775237299648862774_ - 26724876224800632688088893248918508424949343_ - 47337603075939980268208482904859678177751444_ - 65749979827872616963053217673201717237252096 - ] - ] - Type: List List Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty13} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty13}{ZeroDimensionalSolvePackageXmpPagePatch13} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty13}{\showpaste} -\tab{5}\spadcommand{[[approximate(r,1/1000000) for r in point] for point in lr]\free{lr }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch14} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull14}{ZeroDimensionalSolvePackageXmpPageEmpty14} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull14}{\hidepaste} -\tab{5}\spadcommand{lpr := positiveSolve(lp)$pack\free{lp }\free{pack }\bound{lpr }} -\indentrel{3}\begin{verbatim} - (14) [] - Type: List List RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty14} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty14}{ZeroDimensionalSolvePackageXmpPagePatch14} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty14}{\showpaste} -\tab{5}\spadcommand{lpr := positiveSolve(lp)$pack\free{lp }\free{pack }\bound{lpr }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch15} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull15}{ZeroDimensionalSolvePackageXmpPageEmpty15} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull15}{\hidepaste} -\tab{5}\spadcommand{f0 := x**3 + y + z + t- 1\bound{f0 }} -\indentrel{3}\begin{verbatim} - 3 - (15) z + y + x + t - 1 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty15} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty15}{ZeroDimensionalSolvePackageXmpPagePatch15} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty15}{\showpaste} -\tab{5}\spadcommand{f0 := x**3 + y + z + t- 1\bound{f0 }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch16} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull16}{ZeroDimensionalSolvePackageXmpPageEmpty16} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull16}{\hidepaste} -\tab{5}\spadcommand{f1 := x + y**3 + z + t -1\bound{f1 }} -\indentrel{3}\begin{verbatim} - 3 - (16) z + y + x + t - 1 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty16} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty16}{ZeroDimensionalSolvePackageXmpPagePatch16} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty16}{\showpaste} -\tab{5}\spadcommand{f1 := x + y**3 + z + t -1\bound{f1 }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch17} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull17}{ZeroDimensionalSolvePackageXmpPageEmpty17} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull17}{\hidepaste} -\tab{5}\spadcommand{f2 := x + y + z**3 + t-1\bound{f2 }} -\indentrel{3}\begin{verbatim} - 3 - (17) z + y + x + t - 1 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty17} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty17}{ZeroDimensionalSolvePackageXmpPagePatch17} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty17}{\showpaste} -\tab{5}\spadcommand{f2 := x + y + z**3 + t-1\bound{f2 }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch18} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull18}{ZeroDimensionalSolvePackageXmpPageEmpty18} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull18}{\hidepaste} -\tab{5}\spadcommand{f3 := x + y + z + t**3 -1\bound{f3 }} -\indentrel{3}\begin{verbatim} - 3 - (18) z + y + x + t - 1 - Type: Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty18} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty18}{ZeroDimensionalSolvePackageXmpPagePatch18} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty18}{\showpaste} -\tab{5}\spadcommand{f3 := x + y + z + t**3 -1\bound{f3 }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch19} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull19}{ZeroDimensionalSolvePackageXmpPageEmpty19} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull19}{\hidepaste} -\tab{5}\spadcommand{lf := [f0, f1, f2, f3]\free{f0 }\free{f1 }\free{f2 }\free{f3 }\bound{lf }} -\indentrel{3}\begin{verbatim} - (19) - 3 3 - [z + y + x + t - 1, z + y + x + t - 1, - 3 3 - z + y + x + t - 1, z + y + x + t - 1] - Type: List Polynomial Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty19} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty19}{ZeroDimensionalSolvePackageXmpPagePatch19} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty19}{\showpaste} -\tab{5}\spadcommand{lf := [f0, f1, f2, f3]\free{f0 }\free{f1 }\free{f2 }\free{f3 }\bound{lf }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch20} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull20}{ZeroDimensionalSolvePackageXmpPageEmpty20} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull20}{\hidepaste} -\tab{5}\spadcommand{lts := triangSolve(lf)$pack\free{lf }\free{pack }\bound{lts }} -\indentrel{3}\begin{verbatim} - (20) - [ - 2 3 3 - {t + t + 1, z - z - t + t, - - 3 2 - (3z + 3t - 3)y - + - 2 3 6 3 3 2 - (3z + (6t - 6)z + 3t - 6t + 3)y + (3t - 3)z - + - 6 3 9 6 3 - (3t - 6t + 3)z + t - 3t + 5t - 3t - , - x + y + z} - , - - 16 13 10 7 4 2 - {t - 6t + 9t + 4t + 15t - 54t + 27, - - 15 14 13 - 4907232t + 40893984t - 115013088t - + - 12 11 10 - 22805712t + 36330336t + 162959040t - + - 9 8 7 - - 159859440t - 156802608t + 117168768t - + - 6 5 4 - 126282384t - 129351600t + 306646992t - + - 3 2 - 475302816t - 1006837776t - 237269088t - + - 480716208 - * - z - + - 54 51 48 46 45 - 48t - 912t + 8232t - 72t - 46848t - + - 43 42 40 39 - 1152t + 186324t - 3780t - 543144t - + - 38 37 36 35 - - 3168t - 21384t + 1175251t + 41184t - + - 34 33 32 31 - 278003t - 1843242t - 301815t - 1440726t - + - 30 29 28 27 - 1912012t + 1442826t + 4696262t - 922481t - + - 26 25 24 - - 4816188t - 10583524t - 208751t - + - 23 22 21 - 11472138t + 16762859t - 857663t - + - 20 19 18 - - 19328175t - 18270421t + 4914903t - + - 17 16 15 - 22483044t + 12926517t - 8605511t - + - 14 13 12 - - 17455518t - 5014597t + 8108814t - + - 11 10 9 8 - 8465535t + 190542t - 4305624t - 2226123t - + - 7 6 5 4 - 661905t + 1169775t + 226260t - 209952t - + - 3 - - 141183t + 27216t - , - - 3 2 - (3z + 3t - 3)y - + - 2 3 6 3 3 2 - (3z + (6t - 6)z + 3t - 6t + 3)y + (3t - 3)z - + - 6 3 9 6 3 - (3t - 6t + 3)z + t - 3t + 5t - 3t - , - 3 - x + y + z + t - 1} - , - 2 2 - {t,z - 1,y - 1,x + y}, {t - 1,z,y - 1,x + y}, - 2 - {t - 1,z - 1,z y + 1,x}, - - 16 13 10 7 4 2 - {t - 6t + 9t + 4t + 15t - 54t + 27, - - 29 28 27 - 4907232t + 40893984t - 115013088t - + - 26 25 24 - - 1730448t - 168139584t + 738024480t - + - 23 22 21 - - 195372288t + 315849456t - 2567279232t - + - 20 19 18 - 937147968t + 1026357696t + 4780488240t - + - 17 16 - - 2893767696t - 5617160352t - + - 15 14 - - 3427651728t + 5001100848t - + - 13 12 11 - 8720098416t + 2331732960t - 499046544t - + - 10 9 - - 16243306272t - 9748123200t - + - 8 7 6 - 3927244320t + 25257280896t + 10348032096t - + - 5 4 3 - - 17128672128t - 14755488768t + 544086720t - + - 2 - 10848188736t + 1423614528t - 2884297248 - * - z - + - 68 65 62 60 59 - - 48t + 1152t - 13560t + 360t + 103656t - + - 57 56 54 53 - - 7560t - 572820t + 71316t + 2414556t - + - 52 51 50 49 - 2736t - 402876t - 7985131t - 49248t - + - 48 47 46 45 - 1431133t + 20977409t + 521487t - 2697635t - + - 44 43 42 - - 43763654t - 3756573t - 2093410t - + - 41 40 39 - 71546495t + 19699032t + 35025028t - + - 38 37 36 - - 89623786t - 77798760t - 138654191t - + - 35 34 33 - 87596128t + 235642497t + 349607642t - + - 32 31 30 - - 93299834t - 551563167t - 630995176t - + - 29 28 27 - 186818962t + 995427468t + 828416204t - + - 26 25 24 - - 393919231t - 1076617485t - 1609479791t - + - 23 22 21 - 595738126t + 1198787136t + 4342832069t - + - 20 19 18 - - 2075938757t - 4390835799t - 4822843033t - + - 17 16 15 - 6932747678t + 6172196808t + 1141517740t - + - 14 13 12 - - 4981677585t - 9819815280t - 7404299976t - + - 11 10 9 - - 157295760t + 29124027630t + 14856038208t - + - 8 7 6 - - 16184101410t - 26935440354t - 3574164258t - + - 5 4 3 - 10271338974t + 11191425264t + 6869861262t - + - 2 - - 9780477840t - 3586674168t + 2884297248 - , - - 3 3 2 6 3 9 - 3z + (6t - 6)z + (6t - 12t + 3)z + 2t - + - 6 3 - - 6t + t + 3t - * - y - + - 3 3 6 3 2 - (3t - 3)z + (6t - 12t + 6)z - + - 9 6 3 12 9 6 3 - (4t - 12t + 11t - 3)z + t - 4t + 5t - 2t - , - 3 - x + y + z + t - 1} - , - 2 - {t - 1,z - 1,y,x + z}, - - 8 7 6 5 4 3 2 - {t + t + t - 2t - 2t - 2t + 19t + 19t - 8, - - 7 6 5 - 2395770t + 3934440t - 3902067t - + - 4 3 2 - - 10084164t - 1010448t + 32386932t - + - 22413225t - 10432368 - * - z - + - 7 6 5 4 - - 463519t + 3586833t + 9494955t - 8539305t - + - 3 2 - - 33283098t + 35479377t + 46263256t - 17419896 - , - - 4 3 3 6 3 2 - 3z + (9t - 9)z + (12t - 24t + 9)z - + - 3 6 4 3 - (- 152t + 219t - 67)z - 41t + 57t + 25t - + - - 57t + 16 - * - y - + - 3 4 6 3 3 - (3t - 3)z + (9t - 18t + 9)z - + - 3 2 - (- 181t + 270t - 89)z - + - 6 4 3 7 - (- 92t + 135t + 49t - 135t + 43)z + 27t - + - 6 4 3 - - 27t - 54t + 396t - 486t + 144 - , - 3 - x + y + z + t - 1} - , - 3 - {t,z - t + 1,y - 1,x - 1}, {t - 1,z,y,x}, - {t,z - 1,y,x}, {t,z,y - 1,x}, {t,z,y,x - 1}] - Type: List RegularChain(Integer,[x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty20} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty20}{ZeroDimensionalSolvePackageXmpPagePatch20} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty20}{\showpaste} -\tab{5}\spadcommand{lts := triangSolve(lf)$pack\free{lf }\free{pack }\bound{lts }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch21} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull21}{ZeroDimensionalSolvePackageXmpPageEmpty21} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull21}{\hidepaste} -\tab{5}\spadcommand{univariateSolve(lf)$pack\free{lf }\free{pack }} -\indentrel{3}\begin{verbatim} - (21) - [ - [complexRoots= ?, - coordinates= [x - 1,y - 1,z + 1,t - %A]] - , - [complexRoots= ?,coordinates= [x,y - 1,z,t - %A]], - [complexRoots= ? - 1,coordinates= [x,y,z,t - %A]], - [complexRoots= ?,coordinates= [x - 1,y,z,t - %A]], - [complexRoots= ?,coordinates= [x,y,z - 1,t - %A]], - - [complexRoots= ? - 2, - coordinates= [x - 1,y + 1,z,t - 1]] - , - [complexRoots= ?,coordinates= [x + 1,y - 1,z,t - 1]], - - [complexRoots= ? - 1, - coordinates= [x - 1,y + 1,z - 1,t]] - , - - [complexRoots= ? + 1, - coordinates= [x + 1,y - 1,z - 1,t]] - , - - 6 3 2 - [complexRoots= ? - 2? + 3? - 3, - - coordinates = - 3 3 - [2x + %A + %A - 1, 2y + %A + %A - 1, z - %A, - t - %A] - ] - , - - 5 3 2 - [complexRoots= ? + 3? - 2? + 3? - 3, - - coordinates = - 3 - [x - %A,y - %A,z + %A + 2%A - 1,t - %A] - ] - , - - 4 3 2 - [complexRoots= ? - ? - 2? + 3, - - coordinates = - 3 3 - [x + %A - %A - 1, y + %A - %A - 1, - 3 - z - %A + 2%A + 1, t - %A] - ] - , - - [complexRoots= ? + 1, - coordinates= [x - 1,y - 1,z,t - %A]] - , - - 6 3 2 - [complexRoots= ? + 2? + 3? - 3, - - coordinates = - 3 3 - [2x - %A - %A - 1, y + %A, 2z - %A - %A - 1, - t + %A] - ] - , - - 6 4 3 2 - [complexRoots= ? + 12? + 20? - 45? - 42? - 953, - - coordinates = - [ - 5 4 3 2 - 12609x + 23%A + 49%A - 46%A + 362%A - + - - 5015%A - 8239 - , - - 5 4 3 2 - 25218y + 23%A + 49%A - 46%A + 362%A - + - 7594%A - 8239 - , - - 5 4 3 2 - 25218z + 23%A + 49%A - 46%A + 362%A - + - 7594%A - 8239 - , - - 5 4 3 2 - 12609t + 23%A + 49%A - 46%A + 362%A - + - - 5015%A - 8239 - ] - ] - , - - 5 3 2 - [complexRoots= ? + 12? - 16? + 48? - 96, - - coordinates = - 3 - [8x + %A + 8%A - 8,2y - %A,2z - %A,2t - %A] - ] - , - - 5 4 3 2 - [complexRoots= ? + ? - 5? - 3? + 9? + 3, - - coordinates = - 3 3 - [2x - %A + 2%A - 1, 2y + %A - 4%A + 1, - 3 3 - 2z - %A + 2%A - 1, 2t - %A + 2%A - 1] - ] - , - - 4 3 2 - [complexRoots= ? - 3? + 4? - 6? + 13, - - coordinates = - 3 2 - [9x - 2%A + 4%A - %A + 2, - 3 2 - 9y + %A - 2%A + 5%A - 1, - 3 2 - 9z + %A - 2%A + 5%A - 1, - 3 2 - 9t + %A - 2%A - 4%A - 1] - ] - , - - 4 2 - [complexRoots= ? - 11? + 37, - - coordinates = - 2 2 2 - [3x - %A + 7, 6y + %A + 3%A - 7, 3z - %A + 7, - 2 - 6t + %A - 3%A - 7] - ] - , - - [complexRoots= ? + 1, - coordinates= [x - 1,y,z - 1,t + 1]] - , - - [complexRoots= ? + 2, - coordinates= [x,y - 1,z - 1,t + 1]] - , - - [complexRoots= ? - 2, - coordinates= [x,y - 1,z + 1,t - 1]] - , - [complexRoots= ?,coordinates= [x,y + 1,z - 1,t - 1]], - - [complexRoots= ? - 2, - coordinates= [x - 1,y,z + 1,t - 1]] - , - [complexRoots= ?,coordinates= [x + 1,y,z - 1,t - 1]], - - 4 3 2 - [complexRoots= ? + 5? + 16? + 30? + 57, - - coordinates = - 3 2 - [151x + 15%A + 54%A + 104%A + 93, - 3 2 - 151y - 10%A - 36%A - 19%A - 62, - 3 2 - 151z - 5%A - 18%A - 85%A - 31, - 3 2 - 151t - 5%A - 18%A - 85%A - 31] - ] - , - - 4 3 2 - [complexRoots= ? - ? - 2? + 3, - - coordinates = - 3 3 - [x - %A + 2%A + 1, y + %A - %A - 1, z - %A, - 3 - t + %A - %A - 1] - ] - , - - 4 3 2 - [complexRoots= ? + 2? - 8? + 48, - - coordinates = - 3 - [8x - %A + 4%A - 8, 2y + %A, - 3 3 - 8z + %A - 8%A + 8, 8t - %A + 4%A - 8] - ] - , - - 5 4 3 2 - [complexRoots= ? + ? - 2? - 4? + 5? + 8, - - coordinates = - 3 3 3 - [3x + %A - 1,3y + %A - 1,3z + %A - 1,t - %A] - ] - , - - 3 - [complexRoots= ? + 3? - 1, - coordinates= [x - %A,y - %A,z - %A,t - %A]] - ] -Type: List Record(complexRoots: SparseUnivariatePolynomial Integer,coordinates: List Polynomial Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty21} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty21}{ZeroDimensionalSolvePackageXmpPagePatch21} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty21}{\showpaste} -\tab{5}\spadcommand{univariateSolve(lf)$pack\free{lf }\free{pack }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch22} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull22}{ZeroDimensionalSolvePackageXmpPageEmpty22} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull22}{\hidepaste} -\tab{5}\spadcommand{ts := lts.1\free{lts }\bound{ts }} -\indentrel{3}\begin{verbatim} - (22) - 2 3 3 - {t + t + 1, z - z - t + t, - - 3 2 - (3z + 3t - 3)y - + - 2 3 6 3 3 2 - (3z + (6t - 6)z + 3t - 6t + 3)y + (3t - 3)z - + - 6 3 9 6 3 - (3t - 6t + 3)z + t - 3t + 5t - 3t - , - x + y + z} - Type: RegularChain(Integer,[x,y,z,t]) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty22} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty22}{ZeroDimensionalSolvePackageXmpPagePatch22} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty22}{\showpaste} -\tab{5}\spadcommand{ts := lts.1\free{lts }\bound{ts }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch23} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull23}{ZeroDimensionalSolvePackageXmpPageEmpty23} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull23}{\hidepaste} -\tab{5}\spadcommand{univariateSolve(ts)$pack\free{ts }\free{pack }} -\indentrel{3}\begin{verbatim} - (23) - [ - 4 3 2 - [complexRoots= ? + 5? + 16? + 30? + 57, - - coordinates = - 3 2 - [151x + 15%A + 54%A + 104%A + 93, - 3 2 - 151y - 10%A - 36%A - 19%A - 62, - 3 2 - 151z - 5%A - 18%A - 85%A - 31, - 3 2 - 151t - 5%A - 18%A - 85%A - 31] - ] - , - - 4 3 2 - [complexRoots= ? - ? - 2? + 3, - - coordinates = - 3 3 - [x - %A + 2%A + 1, y + %A - %A - 1, z - %A, - 3 - t + %A - %A - 1] - ] - , - - 4 3 2 - [complexRoots= ? + 2? - 8? + 48, - - coordinates = - 3 - [8x - %A + 4%A - 8, 2y + %A, - 3 3 - 8z + %A - 8%A + 8, 8t - %A + 4%A - 8] - ] - ] -Type: List Record(complexRoots: SparseUnivariatePolynomial Integer,coordinates: List Polynomial Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty23} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty23}{ZeroDimensionalSolvePackageXmpPagePatch23} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty23}{\showpaste} -\tab{5}\spadcommand{univariateSolve(ts)$pack\free{ts }\free{pack }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch24} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull24}{ZeroDimensionalSolvePackageXmpPageEmpty24} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull24}{\hidepaste} -\tab{5}\spadcommand{realSolve(ts)$pack\free{ts }\free{pack }} -\indentrel{3}\begin{verbatim} - (24) [] - Type: List List RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty24} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty24}{ZeroDimensionalSolvePackageXmpPagePatch24} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty24}{\showpaste} -\tab{5}\spadcommand{realSolve(ts)$pack\free{ts }\free{pack }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch25} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull25}{ZeroDimensionalSolvePackageXmpPageEmpty25} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull25}{\hidepaste} -\tab{5}\spadcommand{lr2 := realSolve(lf)$pack\free{lf }\free{pack }\bound{lr2 }} -\indentrel{3}\begin{verbatim} - (25) - [[0,- 1,1,1], [0,0,1,0], [1,0,0,0], [0,0,0,1], - [0,1,0,0], [1,0,%R37,- %R37], [1,0,%R38,- %R38], - [0,1,%R35,- %R35], [0,1,%R36,- %R36], [- 1,0,1,1], - - [%R32, - - 1 15 2 14 1 13 4 12 - ÄÄ %R32 + ÄÄ %R32 + ÄÄ %R32 - ÄÄ %R32 - 27 27 27 27 - + - 11 11 4 10 1 9 14 8 - - ÄÄ %R32 - ÄÄ %R32 + ÄÄ %R32 + ÄÄ %R32 - 27 27 27 27 - + - 1 7 2 6 1 5 2 4 3 - ÄÄ %R32 + Ä %R32 + Ä %R32 + Ä %R32 + %R32 - 27 9 3 9 - + - 4 2 - Ä %R32 - %R32 - 2 - 3 - , - - 1 15 1 14 1 13 2 12 - - ÄÄ %R32 - ÄÄ %R32 - ÄÄ %R32 + ÄÄ %R32 - 54 27 54 27 - + - 11 11 2 10 1 9 7 8 - ÄÄ %R32 + ÄÄ %R32 - ÄÄ %R32 - ÄÄ %R32 - 54 27 54 27 - + - 1 7 1 6 1 5 1 4 3 - - ÄÄ %R32 - Ä %R32 - Ä %R32 - Ä %R32 - %R32 - 54 9 6 9 - + - 2 2 1 3 - - Ä %R32 + Ä %R32 + Ä - 3 2 2 - , - - 1 15 1 14 1 13 2 12 - - ÄÄ %R32 - ÄÄ %R32 - ÄÄ %R32 + ÄÄ %R32 - 54 27 54 27 - + - 11 11 2 10 1 9 7 8 - ÄÄ %R32 + ÄÄ %R32 - ÄÄ %R32 - ÄÄ %R32 - 54 27 54 27 - + - 1 7 1 6 1 5 1 4 3 - - ÄÄ %R32 - Ä %R32 - Ä %R32 - Ä %R32 - %R32 - 54 9 6 9 - + - 2 2 1 3 - - Ä %R32 + Ä %R32 + Ä - 3 2 2 - ] - , - - [%R33, - - 1 15 2 14 1 13 4 12 - ÄÄ %R33 + ÄÄ %R33 + ÄÄ %R33 - ÄÄ %R33 - 27 27 27 27 - + - 11 11 4 10 1 9 14 8 - - ÄÄ %R33 - ÄÄ %R33 + ÄÄ %R33 + ÄÄ %R33 - 27 27 27 27 - + - 1 7 2 6 1 5 2 4 3 - ÄÄ %R33 + Ä %R33 + Ä %R33 + Ä %R33 + %R33 - 27 9 3 9 - + - 4 2 - Ä %R33 - %R33 - 2 - 3 - , - - 1 15 1 14 1 13 2 12 - - ÄÄ %R33 - ÄÄ %R33 - ÄÄ %R33 + ÄÄ %R33 - 54 27 54 27 - + - 11 11 2 10 1 9 7 8 - ÄÄ %R33 + ÄÄ %R33 - ÄÄ %R33 - ÄÄ %R33 - 54 27 54 27 - + - 1 7 1 6 1 5 1 4 3 - - ÄÄ %R33 - Ä %R33 - Ä %R33 - Ä %R33 - %R33 - 54 9 6 9 - + - 2 2 1 3 - - Ä %R33 + Ä %R33 + Ä - 3 2 2 - , - - 1 15 1 14 1 13 2 12 - - ÄÄ %R33 - ÄÄ %R33 - ÄÄ %R33 + ÄÄ %R33 - 54 27 54 27 - + - 11 11 2 10 1 9 7 8 - ÄÄ %R33 + ÄÄ %R33 - ÄÄ %R33 - ÄÄ %R33 - 54 27 54 27 - + - 1 7 1 6 1 5 1 4 3 - - ÄÄ %R33 - Ä %R33 - Ä %R33 - Ä %R33 - %R33 - 54 9 6 9 - + - 2 2 1 3 - - Ä %R33 + Ä %R33 + Ä - 3 2 2 - ] - , - - [%R34, - - 1 15 2 14 1 13 4 12 - ÄÄ %R34 + ÄÄ %R34 + ÄÄ %R34 - ÄÄ %R34 - 27 27 27 27 - + - 11 11 4 10 1 9 14 8 - - ÄÄ %R34 - ÄÄ %R34 + ÄÄ %R34 + ÄÄ %R34 - 27 27 27 27 - + - 1 7 2 6 1 5 2 4 3 - ÄÄ %R34 + Ä %R34 + Ä %R34 + Ä %R34 + %R34 - 27 9 3 9 - + - 4 2 - Ä %R34 - %R34 - 2 - 3 - , - - 1 15 1 14 1 13 2 12 - - ÄÄ %R34 - ÄÄ %R34 - ÄÄ %R34 + ÄÄ %R34 - 54 27 54 27 - + - 11 11 2 10 1 9 7 8 - ÄÄ %R34 + ÄÄ %R34 - ÄÄ %R34 - ÄÄ %R34 - 54 27 54 27 - + - 1 7 1 6 1 5 1 4 3 - - ÄÄ %R34 - Ä %R34 - Ä %R34 - Ä %R34 - %R34 - 54 9 6 9 - + - 2 2 1 3 - - Ä %R34 + Ä %R34 + Ä - 3 2 2 - , - - 1 15 1 14 1 13 2 12 - - ÄÄ %R34 - ÄÄ %R34 - ÄÄ %R34 + ÄÄ %R34 - 54 27 54 27 - + - 11 11 2 10 1 9 7 8 - ÄÄ %R34 + ÄÄ %R34 - ÄÄ %R34 - ÄÄ %R34 - 54 27 54 27 - + - 1 7 1 6 1 5 1 4 3 - - ÄÄ %R34 - Ä %R34 - Ä %R34 - Ä %R34 - %R34 - 54 9 6 9 - + - 2 2 1 3 - - Ä %R34 + Ä %R34 + Ä - 3 2 2 - ] - , - [- 1,1,0,1], [- 1,1,1,0], - - [%R23, - - 1 15 1 14 1 13 2 12 - - ÄÄ %R23 - ÄÄ %R23 - ÄÄ %R23 + ÄÄ %R23 - 54 27 54 27 - + - 11 11 2 10 1 9 7 8 - ÄÄ %R23 + ÄÄ %R23 - ÄÄ %R23 - ÄÄ %R23 - 54 27 54 27 - + - 1 7 1 6 1 5 1 4 3 - - ÄÄ %R23 - Ä %R23 - Ä %R23 - Ä %R23 - %R23 - 54 9 6 9 - + - 2 2 1 3 - - Ä %R23 + Ä %R23 + Ä - 3 2 2 - , - %R30, - - 1 15 1 14 1 13 - - %R30 + ÄÄ %R23 + ÄÄ %R23 + ÄÄ %R23 - 54 27 54 - + - 2 12 11 11 2 10 1 9 - - ÄÄ %R23 - ÄÄ %R23 - ÄÄ %R23 + ÄÄ %R23 - 27 54 27 54 - + - 7 8 1 7 1 6 1 5 1 4 - ÄÄ %R23 + ÄÄ %R23 + Ä %R23 + Ä %R23 + Ä %R23 - 27 54 9 6 9 - + - 2 2 1 1 - Ä %R23 - Ä %R23 - Ä - 3 2 2 - ] - , - - [%R23, - - 1 15 1 14 1 13 2 12 - - ÄÄ %R23 - ÄÄ %R23 - ÄÄ %R23 + ÄÄ %R23 - 54 27 54 27 - + - 11 11 2 10 1 9 7 8 - ÄÄ %R23 + ÄÄ %R23 - ÄÄ %R23 - ÄÄ %R23 - 54 27 54 27 - + - 1 7 1 6 1 5 1 4 3 - - ÄÄ %R23 - Ä %R23 - Ä %R23 - Ä %R23 - %R23 - 54 9 6 9 - + - 2 2 1 3 - - Ä %R23 + Ä %R23 + Ä - 3 2 2 - , - %R31, - - 1 15 1 14 1 13 - - %R31 + ÄÄ %R23 + ÄÄ %R23 + ÄÄ %R23 - 54 27 54 - + - 2 12 11 11 2 10 1 9 - - ÄÄ %R23 - ÄÄ %R23 - ÄÄ %R23 + ÄÄ %R23 - 27 54 27 54 - + - 7 8 1 7 1 6 1 5 1 4 - ÄÄ %R23 + ÄÄ %R23 + Ä %R23 + Ä %R23 + Ä %R23 - 27 54 9 6 9 - + - 2 2 1 1 - Ä %R23 - Ä %R23 - Ä - 3 2 2 - ] - , - - [%R24, - - 1 15 1 14 1 13 2 12 - - ÄÄ %R24 - ÄÄ %R24 - ÄÄ %R24 + ÄÄ %R24 - 54 27 54 27 - + - 11 11 2 10 1 9 7 8 - ÄÄ %R24 + ÄÄ %R24 - ÄÄ %R24 - ÄÄ %R24 - 54 27 54 27 - + - 1 7 1 6 1 5 1 4 3 - - ÄÄ %R24 - Ä %R24 - Ä %R24 - Ä %R24 - %R24 - 54 9 6 9 - + - 2 2 1 3 - - Ä %R24 + Ä %R24 + Ä - 3 2 2 - , - %R28, - - 1 15 1 14 1 13 - - %R28 + ÄÄ %R24 + ÄÄ %R24 + ÄÄ %R24 - 54 27 54 - + - 2 12 11 11 2 10 1 9 - - ÄÄ %R24 - ÄÄ %R24 - ÄÄ %R24 + ÄÄ %R24 - 27 54 27 54 - + - 7 8 1 7 1 6 1 5 1 4 - ÄÄ %R24 + ÄÄ %R24 + Ä %R24 + Ä %R24 + Ä %R24 - 27 54 9 6 9 - + - 2 2 1 1 - Ä %R24 - Ä %R24 - Ä - 3 2 2 - ] - , - - [%R24, - - 1 15 1 14 1 13 2 12 - - ÄÄ %R24 - ÄÄ %R24 - ÄÄ %R24 + ÄÄ %R24 - 54 27 54 27 - + - 11 11 2 10 1 9 7 8 - ÄÄ %R24 + ÄÄ %R24 - ÄÄ %R24 - ÄÄ %R24 - 54 27 54 27 - + - 1 7 1 6 1 5 1 4 3 - - ÄÄ %R24 - Ä %R24 - Ä %R24 - Ä %R24 - %R24 - 54 9 6 9 - + - 2 2 1 3 - - Ä %R24 + Ä %R24 + Ä - 3 2 2 - , - %R29, - - 1 15 1 14 1 13 - - %R29 + ÄÄ %R24 + ÄÄ %R24 + ÄÄ %R24 - 54 27 54 - + - 2 12 11 11 2 10 1 9 - - ÄÄ %R24 - ÄÄ %R24 - ÄÄ %R24 + ÄÄ %R24 - 27 54 27 54 - + - 7 8 1 7 1 6 1 5 1 4 - ÄÄ %R24 + ÄÄ %R24 + Ä %R24 + Ä %R24 + Ä %R24 - 27 54 9 6 9 - + - 2 2 1 1 - Ä %R24 - Ä %R24 - Ä - 3 2 2 - ] - , - - [%R25, - - 1 15 1 14 1 13 2 12 - - ÄÄ %R25 - ÄÄ %R25 - ÄÄ %R25 + ÄÄ %R25 - 54 27 54 27 - + - 11 11 2 10 1 9 7 8 - ÄÄ %R25 + ÄÄ %R25 - ÄÄ %R25 - ÄÄ %R25 - 54 27 54 27 - + - 1 7 1 6 1 5 1 4 3 - - ÄÄ %R25 - Ä %R25 - Ä %R25 - Ä %R25 - %R25 - 54 9 6 9 - + - 2 2 1 3 - - Ä %R25 + Ä %R25 + Ä - 3 2 2 - , - %R26, - - 1 15 1 14 1 13 - - %R26 + ÄÄ %R25 + ÄÄ %R25 + ÄÄ %R25 - 54 27 54 - + - 2 12 11 11 2 10 1 9 - - ÄÄ %R25 - ÄÄ %R25 - ÄÄ %R25 + ÄÄ %R25 - 27 54 27 54 - + - 7 8 1 7 1 6 1 5 1 4 - ÄÄ %R25 + ÄÄ %R25 + Ä %R25 + Ä %R25 + Ä %R25 - 27 54 9 6 9 - + - 2 2 1 1 - Ä %R25 - Ä %R25 - Ä - 3 2 2 - ] - , - - [%R25, - - 1 15 1 14 1 13 2 12 - - ÄÄ %R25 - ÄÄ %R25 - ÄÄ %R25 + ÄÄ %R25 - 54 27 54 27 - + - 11 11 2 10 1 9 7 8 - ÄÄ %R25 + ÄÄ %R25 - ÄÄ %R25 - ÄÄ %R25 - 54 27 54 27 - + - 1 7 1 6 1 5 1 4 3 - - ÄÄ %R25 - Ä %R25 - Ä %R25 - Ä %R25 - %R25 - 54 9 6 9 - + - 2 2 1 3 - - Ä %R25 + Ä %R25 + Ä - 3 2 2 - , - %R27, - - 1 15 1 14 1 13 - - %R27 + ÄÄ %R25 + ÄÄ %R25 + ÄÄ %R25 - 54 27 54 - + - 2 12 11 11 2 10 1 9 - - ÄÄ %R25 - ÄÄ %R25 - ÄÄ %R25 + ÄÄ %R25 - 27 54 27 54 - + - 7 8 1 7 1 6 1 5 1 4 - ÄÄ %R25 + ÄÄ %R25 + Ä %R25 + Ä %R25 + Ä %R25 - 27 54 9 6 9 - + - 2 2 1 1 - Ä %R25 - Ä %R25 - Ä - 3 2 2 - ] - , - [1,%R21,- %R21,0], [1,%R22,- %R22,0], - [1,%R19,0,- %R19], [1,%R20,0,- %R20], - 1 3 1 1 3 1 1 3 1 - [%R17,- Ä %R17 + Ä,- Ä %R17 + Ä,- Ä %R17 + Ä], - 3 3 3 3 3 3 - 1 3 1 1 3 1 1 3 1 - [%R18,- Ä %R18 + Ä,- Ä %R18 + Ä,- Ä %R18 + Ä]] - 3 3 3 3 3 3 - Type: List List RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty25} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty25}{ZeroDimensionalSolvePackageXmpPagePatch25} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty25}{\showpaste} -\tab{5}\spadcommand{lr2 := realSolve(lf)$pack\free{lf }\free{pack }\bound{lr2 }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch26} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull26}{ZeroDimensionalSolvePackageXmpPageEmpty26} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull26}{\hidepaste} -\tab{5}\spadcommand{\#lr2\free{lr2 }} -\indentrel{3}\begin{verbatim} - (26) 27 - Type: PositiveInteger -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty26} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty26}{ZeroDimensionalSolvePackageXmpPagePatch26} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty26}{\showpaste} -\tab{5}\spadcommand{\#lr2\free{lr2 }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch27} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull27}{ZeroDimensionalSolvePackageXmpPageEmpty27} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull27}{\hidepaste} -\tab{5}\spadcommand{lpr2 := positiveSolve(lf)$pack\free{lf }\free{pack }\bound{lpr2 }} -\indentrel{3}\begin{verbatim} - (27) - 1 3 1 1 3 1 1 3 1 - [[%R40,- Ä %R40 + Ä,- Ä %R40 + Ä,- Ä %R40 + Ä]] - 3 3 3 3 3 3 - Type: List List RealClosure Fraction Integer -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty27} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty27}{ZeroDimensionalSolvePackageXmpPagePatch27} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty27}{\showpaste} -\tab{5}\spadcommand{lpr2 := positiveSolve(lf)$pack\free{lf }\free{pack }\bound{lpr2 }} -\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPagePatch28} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageFull28}{ZeroDimensionalSolvePackageXmpPageEmpty28} -\pastebutton{ZeroDimensionalSolvePackageXmpPageFull28}{\hidepaste} -\tab{5}\spadcommand{[approximate(r,1/10**21)::Float for r in lpr2.1]\free{lpr2 }} -\indentrel{3}\begin{verbatim} - (28) - [0.3221853546 2608559291, 0.3221853546 2608559291, - 0.3221853546 2608559291, 0.3221853546 2608559291] - Type: List Float -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{ZeroDimensionalSolvePackageXmpPageEmpty28} -\begin{paste}{ZeroDimensionalSolvePackageXmpPageEmpty28}{ZeroDimensionalSolvePackageXmpPagePatch28} -\pastebutton{ZeroDimensionalSolvePackageXmpPageEmpty28}{\showpaste} -\tab{5}\spadcommand{[approximate(r,1/10**21)::Float for r in lpr2.1]\free{lpr2 }} -\end{paste}\end{patch} - diff --git a/books/pages/zlindep.pht b/books/pages/zlindep.pht deleted file mode 100644 index d60b9a9..0000000 --- a/books/pages/zlindep.pht +++ /dev/null @@ -1,138 +0,0 @@ -\begin{patch}{IntegerLinearDependenceXmpPagePatch1} -\begin{paste}{IntegerLinearDependenceXmpPageFull1}{IntegerLinearDependenceXmpPageEmpty1} -\pastebutton{IntegerLinearDependenceXmpPageFull1}{\hidepaste} -\tab{5}\spadcommand{M := SQMATRIX(2,INT)\bound{M }} -\indentrel{3}\begin{verbatim} - (1) SquareMatrix(2,Integer) - Type: Domain -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerLinearDependenceXmpPageEmpty1} -\begin{paste}{IntegerLinearDependenceXmpPageEmpty1}{IntegerLinearDependenceXmpPagePatch1} -\pastebutton{IntegerLinearDependenceXmpPageEmpty1}{\showpaste} -\tab{5}\spadcommand{M := SQMATRIX(2,INT)\bound{M }} -\end{paste}\end{patch} - -\begin{patch}{IntegerLinearDependenceXmpPagePatch2} -\begin{paste}{IntegerLinearDependenceXmpPageFull2}{IntegerLinearDependenceXmpPageEmpty2} -\pastebutton{IntegerLinearDependenceXmpPageFull2}{\hidepaste} -\tab{5}\spadcommand{m1: M := squareMatrix matrix [[1, 2], [0, -1]]\free{M }\bound{m1 }} -\indentrel{3}\begin{verbatim} - Ú1 2 ¿ - (2) ³ ³ - À0 - 1Ù - Type: SquareMatrix(2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerLinearDependenceXmpPageEmpty2} -\begin{paste}{IntegerLinearDependenceXmpPageEmpty2}{IntegerLinearDependenceXmpPagePatch2} -\pastebutton{IntegerLinearDependenceXmpPageEmpty2}{\showpaste} -\tab{5}\spadcommand{m1: M := squareMatrix matrix [[1, 2], [0, -1]]\free{M }\bound{m1 }} -\end{paste}\end{patch} - -\begin{patch}{IntegerLinearDependenceXmpPagePatch3} -\begin{paste}{IntegerLinearDependenceXmpPageFull3}{IntegerLinearDependenceXmpPageEmpty3} -\pastebutton{IntegerLinearDependenceXmpPageFull3}{\hidepaste} -\tab{5}\spadcommand{m2: M := squareMatrix matrix [[2, 3], [1, -2]]\free{M }\bound{m2 }} -\indentrel{3}\begin{verbatim} - Ú2 3 ¿ - (3) ³ ³ - À1 - 2Ù - Type: SquareMatrix(2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerLinearDependenceXmpPageEmpty3} -\begin{paste}{IntegerLinearDependenceXmpPageEmpty3}{IntegerLinearDependenceXmpPagePatch3} -\pastebutton{IntegerLinearDependenceXmpPageEmpty3}{\showpaste} -\tab{5}\spadcommand{m2: M := squareMatrix matrix [[2, 3], [1, -2]]\free{M }\bound{m2 }} -\end{paste}\end{patch} - -\begin{patch}{IntegerLinearDependenceXmpPagePatch4} -\begin{paste}{IntegerLinearDependenceXmpPageFull4}{IntegerLinearDependenceXmpPageEmpty4} -\pastebutton{IntegerLinearDependenceXmpPageFull4}{\hidepaste} -\tab{5}\spadcommand{m3: M := squareMatrix matrix [[3, 4], [2, -3]]\free{M }\bound{m3 }} -\indentrel{3}\begin{verbatim} - Ú3 4 ¿ - (4) ³ ³ - À2 - 3Ù - Type: SquareMatrix(2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerLinearDependenceXmpPageEmpty4} -\begin{paste}{IntegerLinearDependenceXmpPageEmpty4}{IntegerLinearDependenceXmpPagePatch4} -\pastebutton{IntegerLinearDependenceXmpPageEmpty4}{\showpaste} -\tab{5}\spadcommand{m3: M := squareMatrix matrix [[3, 4], [2, -3]]\free{M }\bound{m3 }} -\end{paste}\end{patch} - -\begin{patch}{IntegerLinearDependenceXmpPagePatch5} -\begin{paste}{IntegerLinearDependenceXmpPageFull5}{IntegerLinearDependenceXmpPageEmpty5} -\pastebutton{IntegerLinearDependenceXmpPageFull5}{\hidepaste} -\tab{5}\spadcommand{linearlyDependentOverZ? vector [m1, m2, m3]\free{m1 m2 m3 }} -\indentrel{3}\begin{verbatim} - (5) true - Type: Boolean -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerLinearDependenceXmpPageEmpty5} -\begin{paste}{IntegerLinearDependenceXmpPageEmpty5}{IntegerLinearDependenceXmpPagePatch5} -\pastebutton{IntegerLinearDependenceXmpPageEmpty5}{\showpaste} -\tab{5}\spadcommand{linearlyDependentOverZ? vector [m1, m2, m3]\free{m1 m2 m3 }} -\end{paste}\end{patch} - -\begin{patch}{IntegerLinearDependenceXmpPagePatch6} -\begin{paste}{IntegerLinearDependenceXmpPageFull6}{IntegerLinearDependenceXmpPageEmpty6} -\pastebutton{IntegerLinearDependenceXmpPageFull6}{\hidepaste} -\tab{5}\spadcommand{c := linearDependenceOverZ vector [m1, m2, m3]\free{m1 m2 m3 }\bound{c }} -\indentrel{3}\begin{verbatim} - (6) [1,- 2,1] - Type: Union(Vector Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerLinearDependenceXmpPageEmpty6} -\begin{paste}{IntegerLinearDependenceXmpPageEmpty6}{IntegerLinearDependenceXmpPagePatch6} -\pastebutton{IntegerLinearDependenceXmpPageEmpty6}{\showpaste} -\tab{5}\spadcommand{c := linearDependenceOverZ vector [m1, m2, m3]\free{m1 m2 m3 }\bound{c }} -\end{paste}\end{patch} - -\begin{patch}{IntegerLinearDependenceXmpPagePatch7} -\begin{paste}{IntegerLinearDependenceXmpPageFull7}{IntegerLinearDependenceXmpPageEmpty7} -\pastebutton{IntegerLinearDependenceXmpPageFull7}{\hidepaste} -\tab{5}\spadcommand{c.1 * m1 + c.2 * m2 + c.3 * m3\free{c m1 m2 m3 }} -\indentrel{3}\begin{verbatim} - Ú0 0¿ - (7) ³ ³ - À0 0Ù - Type: SquareMatrix(2,Integer) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerLinearDependenceXmpPageEmpty7} -\begin{paste}{IntegerLinearDependenceXmpPageEmpty7}{IntegerLinearDependenceXmpPagePatch7} -\pastebutton{IntegerLinearDependenceXmpPageEmpty7}{\showpaste} -\tab{5}\spadcommand{c.1 * m1 + c.2 * m2 + c.3 * m3\free{c m1 m2 m3 }} -\end{paste}\end{patch} - -\begin{patch}{IntegerLinearDependenceXmpPagePatch8} -\begin{paste}{IntegerLinearDependenceXmpPageFull8}{IntegerLinearDependenceXmpPageEmpty8} -\pastebutton{IntegerLinearDependenceXmpPageFull8}{\hidepaste} -\tab{5}\spadcommand{solveLinearlyOverQ(vector [m1, m3], m2)\free{m1 m2 m3 }} -\indentrel{3}\begin{verbatim} - 1 1 - (8) [Ä,Ä] - 2 2 - Type: Union(Vector Fraction Integer,...) -\end{verbatim} -\indentrel{-3}\end{paste}\end{patch} - -\begin{patch}{IntegerLinearDependenceXmpPageEmpty8} -\begin{paste}{IntegerLinearDependenceXmpPageEmpty8}{IntegerLinearDependenceXmpPagePatch8} -\pastebutton{IntegerLinearDependenceXmpPageEmpty8}{\showpaste} -\tab{5}\spadcommand{solveLinearlyOverQ(vector [m1, m3], m2)\free{m1 m2 m3 }} -\end{paste}\end{patch} - diff --git a/changelog b/changelog index 8e4e4d7..11a9c9f 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,130 @@ +20080809 tpd books/bookvol7 remove all references to doc/hypertex +20080809 tpd src/Makefile stop creating the doc/hypertex/pages subdir +20080809 tpd src/input/Makefile remove reference to hyperdoc/pages +20080809 tpd src/share/Makefile remove HYPER variable +20080808 tpd src/Makefile stop creating hypertex/pages +20080806 tpd books/bookvol7.1 add paste/patch files +20080806 tpd books/pages/zlindep.pht embed in bookvol7.1, removed +20080806 tpd books/pages/zdsolve.pht embed in bookvol7.1, removed +20080806 tpd books/pages/xpr.pht embed in bookvol7.1, removed +20080806 tpd books/pages/xpoly.pht embed in bookvol7.1, removed +20080806 tpd books/pages/xpbwpoly.pht embed in bookvol7.1, removed +20080806 tpd books/pages/wutset.pht embed in bookvol7.1, removed +20080806 tpd books/pages/void.pht embed in bookvol7.1, removed +20080806 tpd books/pages/vector.pht embed in bookvol7.1, removed +20080806 tpd books/pages/up.pht embed in bookvol7.1, removed +20080806 tpd books/pages/uniseg.pht embed in bookvol7.1, removed +20080806 tpd books/pages/ug15.pht embed in bookvol7.1, removed +20080806 tpd books/pages/ug13.pht embed in bookvol7.1, removed +20080806 tpd books/pages/ug12.pht embed in bookvol7.1, removed +20080805 tpd books/pages/ug11.pht embed in bookvol7.1, removed +20080805 tpd books/pages/ug10.pht embed in bookvol7.1, removed +20080805 tpd books/pages/ug08.pht embed in bookvol7.1, removed +20080805 tpd books/pages/ug07.pht embed in bookvol7.1, removed +20080805 tpd books/pages/ug06.pht embed in bookvol7.1, removed +20080804 tpd books/pages/ug05.pht embed in bookvol7.1, removed +20080804 tpd books/pages/ug04.pht embed in bookvol7.1, removed +20080804 tpd books/pages/ug03.pht embed in bookvol7.1, removed +20080804 tpd books/pages/ug02.pht embed in bookvol7.1, removed +20080804 tpd books/pages/ug01.pht embed in bookvol7.1, removed +20080804 tpd books/pages/textfile.pht embed in bookvol7.1, removed +20080804 tpd books/pages/table.pht embed in bookvol7.1, removed +20080804 tpd books/pages/symbol.pht embed in bookvol7.1, removed +20080804 tpd books/pages/strtbl.pht embed in bookvol7.1, removed +20080804 tpd books/pages/string.pht embed in bookvol7.1, removed +20080804 tpd books/pages/stream.pht embed in bookvol7.1, removed +20080804 tpd books/pages/stbl.pht embed in bookvol7.1, removed +20080804 tpd books/pages/sregset.pht embed in bookvol7.1, removed +20080804 tpd books/pages/sqmatrix.pht embed in bookvol7.1, removed +20080803 tpd books/pages/sint.pht embed in bookvol7.1, removed +20080803 tpd books/pages/set.pht embed in bookvol7.1, removed +20080803 tpd books/pages/seg.pht embed in bookvol7.1, removed +20080803 tpd books/pages/segbind.pht embed in bookvol7.1, removed +20080803 tpd books/pages/roman.pht embed in bookvol7.1, removed +20080803 tpd books/pages/regset.pht embed in bookvol7.1, removed +20080803 tpd books/pages/reclos.pht embed in bookvol7.1, removed +20080803 tpd books/pages/radix.pht embed in bookvol7.1, removed +20080803 tpd books/pages/quat.pht embed in bookvol7.1, removed +20080803 tpd books/pages/poly.pht embed in bookvol7.1, removed +20080803 tpd books/pages/poly1.pht embed in bookvol7.1, removed +20080803 tpd books/pages/pfr.pht embed in bookvol7.1, removed +20080803 tpd books/pages/perman.pht embed in bookvol7.1, removed +20080802 tpd books/pages/ovar.pht embed in bookvol7.1, removed +20080802 tpd books/pages/op.pht embed in bookvol7.1, removed +20080802 tpd books/pages/odpol.pht embed in bookvol7.1, removed +20080802 tpd books/pages/oct.pht embed in bookvol7.1, removed +20080802 tpd books/pages/numbers.pht embed in bookvol7.1, removed +20080802 tpd books/pages/none.pht embed in bookvol7.1, removed +20080802 tpd books/pages/mset.pht embed in bookvol7.1, removed +20080802 tpd books/pages/mpoly.pht embed in bookvol7.1, removed +20080802 tpd books/pages/mkfunc.pht embed in bookvol7.1, removed +20080802 tpd books/pages/matrix.pht embed in bookvol7.1, removed +20080802 tpd books/pages/mappkg1.pht embed in bookvol7.1, removed +20080802 tpd books/pages/magma.pht embed in bookvol7.1, removed +20080802 tpd books/pages/lword.pht embed in bookvol7.1, removed +20080802 tpd books/pages/lpoly.pht embed in bookvol7.1, removed +20080802 tpd books/pages/lodo.pht embed in bookvol7.1, removed +20080802 tpd books/pages/lodo2.pht embed in bookvol7.1, removed +20080802 tpd books/pages/lodo1.pht embed in bookvol7.1, removed +20080802 tpd books/pages/list.pht embed in bookvol7.1, removed +20080802 tpd books/pages/lib.pht embed in bookvol7.1, removed +20080802 tpd books/pages/lextripk.pht embed in bookvol7.1, removed +20080802 tpd books/pages/lexp.pht embed in bookvol7.1, removed +20080802 tpd books/pages/lazm3pk.pht embed in bookvol7.1, removed +20080802 tpd books/pages/kernel.pht embed in bookvol7.1, removed +20080802 tpd books/pages/kafile.pht embed in bookvol7.1, removed +20080802 tpd books/pages/int.pht embed in bookvol7.1, removed +20080802 tpd books/pages/intheory.pht embed in bookvol7.1, removed +20080802 tpd books/pages/hexadec.pht embed in bookvol7.1, removed +20080802 tpd books/pages/heap.pht embed in bookvol7.1, removed +20080802 tpd books/pages/gstbl.pht embed in bookvol7.1, removed +20080802 tpd books/pages/grpthry.pht embed in bookvol7.1, removed +20080802 tpd books/pages/graphics.pht embed in bookvol7.1, removed +20080802 tpd books/pages/gbf.pht embed in bookvol7.1, removed +20080802 tpd books/pages/function.pht embed in bookvol7.1, removed +20080802 tpd books/pages/fr.pht embed in bookvol7.1, removed +20080802 tpd books/pages/frac.pht embed in bookvol7.1, removed +20080802 tpd books/pages/fr2.pht embed in bookvol7.1, removed +20080802 tpd books/pages/fparfrac.pht embed in bookvol7.1, removed +20080802 tpd books/pages/fname.pht embed in bookvol7.1, removed +20080802 tpd books/pages/float.pht embed in bookvol7.1, removed +20080802 tpd books/pages/file.pht embed in bookvol7.1, removed +20080802 tpd books/pages/farray.pht embed in bookvol7.1, removed +20080802 tpd books/pages/exsum.pht embed in bookvol7.1, removed +20080802 tpd books/pages/exseries.pht embed in bookvol7.1, removed +20080802 tpd books/pages/expr.pht embed in bookvol7.1, removed +20080802 tpd books/pages/explot3d.pht embed in bookvol7.1, removed +20080802 tpd books/pages/explot2d.pht embed in bookvol7.1, removed +20080802 tpd books/pages/exmatrix.pht embed in bookvol7.1, removed +20080802 tpd books/pages/exlimit.pht embed in bookvol7.1, removed +20080802 tpd books/pages/exlap.pht embed in bookvol7.1, removed +20080802 tpd books/pages/exit.pht embed in bookvol7.1, removed +20080802 tpd books/pages/exint.pht embed in bookvol7.1, removed +20080802 tpd books/pages/exdiff.pht embed in bookvol7.1, removed +20080802 tpd books/pages/evalex.pht embed in bookvol7.1, removed +20080802 tpd books/pages/eqtbl.pht embed in bookvol7.1, removed +20080802 tpd books/pages/eq.pht embed in bookvol7.1, removed +20080802 tpd books/pages/dmp.pht embed in bookvol7.1, removed +20080802 tpd books/pages/dfloat.pht embed in bookvol7.1, removed +20080802 tpd books/pages/derham.pht embed in bookvol7.1, removed +20080802 tpd books/pages/decimal.pht embed in bookvol7.1, removed +20080802 tpd books/pages/cycles.pht embed in bookvol7.1, removed +20080802 tpd books/pages/coverex.pht embed in bookvol7.1, removed +20080802 tpd books/pages/contfrac.pht embed in bookvol7.1, removed +20080802 tpd books/pages/complex.pht embed in bookvol7.1, removed +20080802 tpd books/pages/clif.pht embed in bookvol7.1, removed +20080802 tpd books/pages/char.pht embed in bookvol7.1, removed +20080802 tpd books/pages/cclass.pht embed in bookvol7.1, removed +20080802 tpd books/pages/carten.pht embed in bookvol7.1, removed +20080802 tpd books/pages/card.pht embed in bookvol7.1, removed +20080802 tpd books/pages/bstree.pht embed in bookvol7.1, removed +20080802 tpd books/pages/bop.pht embed in bookvol7.1, removed +20080802 tpd books/pages/binary.pht embed in bookvol7.1, removed +20080802 tpd books/pages/bbtree.pht embed in bookvol7.1, removed +20080802 tpd books/pages/array2.pht embed in bookvol7.1, removed +20080802 tpd books/pages/array1.pht embed in bookvol7.1, removed +20080802 tpd books/pages/anna-es.pht embed in bookvol7.1, removed +20080802 tpd books/pages/alist.pht embed in bookvol7.1, removed 20080802 tpd books/bookvol7.1 copy the whole file to pages 20080802 tpd books/bookvol7 make extendHT accept .pamphlet 20080802 tpd src/share/Makefile do not copy util.ht diff --git a/src/Makefile.pamphlet b/src/Makefile.pamphlet index e65e8cf..3d7a1b2 100644 --- a/src/Makefile.pamphlet +++ b/src/Makefile.pamphlet @@ -123,7 +123,6 @@ system. <>= sharedir: ${SRC}/share/Makefile @echo 9 making ${SRC}/share - @mkdir -p ${MNT}/${SYS}/doc/hypertex/pages @mkdir -p ${MNT}/${SYS}/lib @(cd share ; ${ENV} ${MAKE} ) @@ -408,8 +407,6 @@ hyperdir: ${SPD}/books/bookvol7.pamphlet ${SPD}/books/bookvol7.1.pamphlet @mkdir -p ${OBJ}/${SYS}/hyper @mkdir -p ${OBJ}/${SYS}/bin @mkdir -p ${OBJ}/${SYS}/lib - @mkdir -p ${MNT}/${SYS}/doc/hypertex/bitmaps - @mkdir -p ${MNT}/${SYS}/doc/hypertex/pages @mkdir -p ${MNT}/${SYS}/doc/src/hyper @(cd ${INT}/hyper ; \ ${TANGLE} -t8 ${SPD}/books/bookvol7.pamphlet >Makefile ; \ diff --git a/src/input/Makefile.pamphlet b/src/input/Makefile.pamphlet index 3fc5383..93718ee 100644 --- a/src/input/Makefile.pamphlet +++ b/src/input/Makefile.pamphlet @@ -112,8 +112,6 @@ all: @ cp -p ${IN}/*.input ${MID} @ cp -p ${IN}/axiom.test ${MID}/axiom.input @ cp ${IN}/Makefile.int ${MID}/Makefile -# Following now done via doc directory, in a different way -# @ (cd ${MID} ; ${SPAD}/bin/hypertex -i `echo ${MNT}/${SYS}/doc/hypertex/pages/*.ht`) @ (cd ${MID} ; \ for i in *.input ;do \ if test ! -f `basename $$i .input`.rec ;then \ diff --git a/src/share/Makefile.pamphlet b/src/share/Makefile.pamphlet index ba1ccf1..094d4b6 100644 --- a/src/share/Makefile.pamphlet +++ b/src/share/Makefile.pamphlet @@ -23,7 +23,6 @@ ${LIB}/command.list: ${IN}/algebra/command.list @ <<*>>= IN=${SRC}/share -HYPER=${MNT}/${SYS}/doc/hypertex/pages LIB=${MNT}/${SYS}/lib FILES=${LIB}/command.list