Artifact 6b46bbd06dd98bcbd867fa398a64a522a407fbecb8fc1b4753d3c37ac879d132:
- Executable file
r38/doc/util/reduce.toc
— part of check-in
[f2fda60abd]
at
2011-09-02 18:13:33
on branch master
— Some historical releases purely for archival purposes
git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk/historical@1375 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 15218) [annotate] [blame] [check-ins using] [more...]
\contentsline {chapter}{Abstract}{9} \contentsline {chapter}{\numberline {1}Introductory Information}{13} \contentsline {chapter}{\numberline {2}Structure of Programs}{17} \contentsline {section}{\numberline {2.1}The {REDUCE} Standard Character Set}{17} \contentsline {section}{\numberline {2.2}Numbers}{17} \contentsline {section}{\numberline {2.3}Identifiers}{19} \contentsline {section}{\numberline {2.4}Variables}{20} \contentsline {section}{\numberline {2.5}Strings}{21} \contentsline {section}{\numberline {2.6}Comments}{21} \contentsline {section}{\numberline {2.7}Operators}{22} \contentsline {chapter}{\numberline {3}Expressions}{25} \contentsline {section}{\numberline {3.1}Scalar Expressions}{25} \contentsline {section}{\numberline {3.2}Integer Expressions}{26} \contentsline {section}{\numberline {3.3}Boolean Expressions}{27} \contentsline {section}{\numberline {3.4}Equations}{28} \contentsline {section}{\numberline {3.5}Proper Statements as Expressions}{29} \contentsline {chapter}{\numberline {4}Lists}{31} \contentsline {section}{\numberline {4.1}Operations on Lists}{31} \contentsline {subsection}{\numberline {4.1.1}LIST}{32} \contentsline {subsection}{\numberline {4.1.2}FIRST}{32} \contentsline {subsection}{\numberline {4.1.3}SECOND}{32} \contentsline {subsection}{\numberline {4.1.4}THIRD}{32} \contentsline {subsection}{\numberline {4.1.5}REST}{32} \contentsline {subsection}{\numberline {4.1.6}$.$ (Cons) Operator}{32} \contentsline {subsection}{\numberline {4.1.7}APPEND}{32} \contentsline {subsection}{\numberline {4.1.8}REVERSE}{33} \contentsline {subsection}{\numberline {4.1.9}List Arguments of Other Operators}{33} \contentsline {subsection}{\numberline {4.1.10}Caveats and Examples}{33} \contentsline {chapter}{\numberline {5}Statements}{35} \contentsline {section}{\numberline {5.1}Assignment Statements}{36} \contentsline {subsection}{\numberline {5.1.1}Set Statement}{36} \contentsline {section}{\numberline {5.2}Group Statements}{37} \contentsline {section}{\numberline {5.3}Conditional Statements}{37} \contentsline {section}{\numberline {5.4}FOR Statements}{38} \contentsline {section}{\numberline {5.5}WHILE \dots DO}{40} \contentsline {section}{\numberline {5.6}REPEAT \dots UNTIL}{41} \contentsline {section}{\numberline {5.7}Compound Statements}{41} \contentsline {subsection}{\numberline {5.7.1}Compound Statements with GO TO}{43} \contentsline {subsection}{\numberline {5.7.2}Labels and GO TO Statements}{43} \contentsline {subsection}{\numberline {5.7.3}RETURN Statements}{44} \contentsline {chapter}{\numberline {6}Commands and Declarations}{47} \contentsline {section}{\numberline {6.1}Array Declarations}{47} \contentsline {section}{\numberline {6.2}Mode Handling Declarations}{48} \contentsline {section}{\numberline {6.3}END}{49} \contentsline {section}{\numberline {6.4}BYE Command}{49} \contentsline {section}{\numberline {6.5}SHOWTIME Command}{49} \contentsline {section}{\numberline {6.6}DEFINE Command}{49} \contentsline {chapter}{\numberline {7}Built-in Prefix Operators}{51} \contentsline {section}{\numberline {7.1}Numerical Operators}{51} \contentsline {subsection}{\numberline {7.1.1}ABS}{51} \contentsline {subsection}{\numberline {7.1.2}CEILING}{52} \contentsline {subsection}{\numberline {7.1.3}CONJ}{52} \contentsline {subsection}{\numberline {7.1.4}FACTORIAL}{52} \contentsline {subsection}{\numberline {7.1.5}FIX}{52} \contentsline {subsection}{\numberline {7.1.6}FLOOR}{53} \contentsline {subsection}{\numberline {7.1.7}IMPART}{53} \contentsline {subsection}{\numberline {7.1.8}MAX/MIN}{53} \contentsline {subsection}{\numberline {7.1.9}NEXTPRIME}{53} \contentsline {subsection}{\numberline {7.1.10}RANDOM}{54} \contentsline {subsection}{\numberline {7.1.11}RANDOM\_NEW\_SEED}{54} \contentsline {subsection}{\numberline {7.1.12}REPART}{54} \contentsline {subsection}{\numberline {7.1.13}ROUND}{55} \contentsline {subsection}{\numberline {7.1.14}SIGN}{55} \contentsline {section}{\numberline {7.2}Mathematical Functions}{55} \contentsline {section}{\numberline {7.3}DF Operator}{59} \contentsline {subsection}{\numberline {7.3.1}Adding Differentiation Rules}{59} \contentsline {section}{\numberline {7.4}INT Operator}{60} \contentsline {subsection}{\numberline {7.4.1}Options}{61} \contentsline {subsection}{\numberline {7.4.2}Advanced Use}{61} \contentsline {subsection}{\numberline {7.4.3}References}{61} \contentsline {section}{\numberline {7.5}LENGTH Operator}{62} \contentsline {section}{\numberline {7.6}MAP Operator}{62} \contentsline {section}{\numberline {7.7}MKID Operator}{63} \contentsline {section}{\numberline {7.8}PF Operator}{64} \contentsline {section}{\numberline {7.9}SELECT Operator}{65} \contentsline {section}{\numberline {7.10}SOLVE Operator}{65} \contentsline {subsection}{\numberline {7.10.1}Handling of Undetermined Solutions}{67} \contentsline {subsection}{\numberline {7.10.2}Solutions of Equations Involving Cubics and Quartics}{68} \contentsline {subsection}{\numberline {7.10.3}Other Options}{70} \contentsline {subsection}{\numberline {7.10.4}Parameters and Variable Dependency}{71} \contentsline {section}{\numberline {7.11}Even and Odd Operators}{74} \contentsline {section}{\numberline {7.12}Linear Operators}{75} \contentsline {section}{\numberline {7.13}Non-Commuting Operators}{76} \contentsline {section}{\numberline {7.14}Symmetric and Antisymmetric Operators}{76} \contentsline {section}{\numberline {7.15}Declaring New Prefix Operators}{77} \contentsline {section}{\numberline {7.16}Declaring New Infix Operators}{77} \contentsline {section}{\numberline {7.17}Creating/Removing Variable Dependency}{78} \contentsline {chapter}{\numberline {8}Display and Structuring of Expressions}{81} \contentsline {section}{\numberline {8.1}Kernels}{81} \contentsline {section}{\numberline {8.2}The Expression Workspace}{82} \contentsline {section}{\numberline {8.3}Output of Expressions}{83} \contentsline {subsection}{\numberline {8.3.1}LINELENGTH Operator}{84} \contentsline {subsection}{\numberline {8.3.2}Output Declarations}{84} \contentsline {subsubsection}{ORDER Declaration}{84} \contentsline {subsubsection}{FACTOR Declaration}{85} \contentsline {subsection}{\numberline {8.3.3}Output Control Switches}{85} \contentsline {subsubsection}{ALLFAC Switch}{85} \contentsline {subsubsection}{DIV Switch}{86} \contentsline {subsubsection}{LIST Switch}{86} \contentsline {subsubsection}{NOSPLIT Switch}{86} \contentsline {subsubsection}{RAT Switch}{87} \contentsline {subsubsection}{RATPRI Switch}{88} \contentsline {subsubsection}{REVPRI Switch}{88} \contentsline {subsection}{\numberline {8.3.4}WRITE Command}{89} \contentsline {subsection}{\numberline {8.3.5}Suppression of Zeros}{91} \contentsline {subsection}{\numberline {8.3.6}{FORTRAN} Style Output Of Expressions}{91} \contentsline {subsubsection}{{FORTRAN} Output Options}{93} \contentsline {subsection}{\numberline {8.3.7}Saving Expressions for Later Use as Input}{94} \contentsline {subsection}{\numberline {8.3.8}Displaying Expression Structure}{94} \contentsline {section}{\numberline {8.4}Changing the Internal Order of Variables}{97} \contentsline {section}{\numberline {8.5}Obtaining Parts of Algebraic Expressions}{97} \contentsline {subsection}{\numberline {8.5.1}COEFF Operator}{97} \contentsline {subsection}{\numberline {8.5.2}COEFFN Operator}{98} \contentsline {subsection}{\numberline {8.5.3}PART Operator}{98} \contentsline {subsection}{\numberline {8.5.4}Substituting for Parts of Expressions}{100} \contentsline {chapter}{\numberline {9}Polynomials and Rationals}{101} \contentsline {section}{\numberline {9.1}Controlling the Expansion of Expressions}{102} \contentsline {section}{\numberline {9.2}Factorization of Polynomials}{102} \contentsline {section}{\numberline {9.3}Cancellation of Common Factors}{104} \contentsline {subsection}{\numberline {9.3.1}Determining the GCD of Two Polynomials}{105} \contentsline {section}{\numberline {9.4}Working with Least Common Multiples}{106} \contentsline {section}{\numberline {9.5}Controlling Use of Common Denominators}{106} \contentsline {section}{\numberline {9.6}REMAINDER Operator}{106} \contentsline {section}{\numberline {9.7}RESULTANT Operator}{107} \contentsline {section}{\numberline {9.8}DECOMPOSE Operator}{108} \contentsline {section}{\numberline {9.9}INTERPOL operator}{109} \contentsline {section}{\numberline {9.10}Obtaining Parts of Polynomials and Rationals}{109} \contentsline {subsection}{\numberline {9.10.1}DEG Operator}{109} \contentsline {subsection}{\numberline {9.10.2}DEN Operator}{110} \contentsline {subsection}{\numberline {9.10.3}LCOF Operator}{110} \contentsline {subsection}{\numberline {9.10.4}LPOWER Operator}{111} \contentsline {subsection}{\numberline {9.10.5}LTERM Operator}{111} \contentsline {subsection}{\numberline {9.10.6}MAINVAR Operator}{111} \contentsline {subsection}{\numberline {9.10.7}NUM Operator}{112} \contentsline {subsection}{\numberline {9.10.8}REDUCT Operator}{112} \contentsline {section}{\numberline {9.11}Polynomial Coefficient Arithmetic}{113} \contentsline {subsection}{\numberline {9.11.1}Rational Coefficients in Polynomials}{113} \contentsline {subsection}{\numberline {9.11.2}Real Coefficients in Polynomials}{113} \contentsline {subsection}{\numberline {9.11.3}Modular Number Coefficients in Polynomials}{115} \contentsline {subsection}{\numberline {9.11.4}Complex Number Coefficients in Polynomials}{115} \contentsline {chapter}{\numberline {10}Substitution Commands}{117} \contentsline {section}{\numberline {10.1}SUB Operator}{117} \contentsline {section}{\numberline {10.2}LET Rules}{118} \contentsline {subsection}{\numberline {10.2.1}FOR ALL \dots LET}{120} \contentsline {subsection}{\numberline {10.2.2}FOR ALL \dots SUCH THAT \dots LET}{121} \contentsline {subsection}{\numberline {10.2.3}Removing Assignments and Substitution Rules}{122} \contentsline {subsection}{\numberline {10.2.4}Overlapping LET Rules}{122} \contentsline {subsection}{\numberline {10.2.5}Substitutions for General Expressions}{123} \contentsline {section}{\numberline {10.3}Rule Lists}{125} \contentsline {section}{\numberline {10.4}Asymptotic Commands}{131} \contentsline {chapter}{\numberline {11}File Handling Commands}{133} \contentsline {section}{\numberline {11.1}IN Command}{133} \contentsline {section}{\numberline {11.2}OUT Command}{134} \contentsline {section}{\numberline {11.3}SHUT Command}{134} \contentsline {chapter}{\numberline {12}Commands for Interactive Use}{135} \contentsline {section}{\numberline {12.1}Referencing Previous Results}{135} \contentsline {section}{\numberline {12.2}Interactive Editing}{136} \contentsline {section}{\numberline {12.3}Interactive File Control}{137} \contentsline {chapter}{\numberline {13}Matrix Calculations}{139} \contentsline {section}{\numberline {13.1}MAT Operator}{139} \contentsline {section}{\numberline {13.2}Matrix Variables}{140} \contentsline {section}{\numberline {13.3}Matrix Expressions}{140} \contentsline {section}{\numberline {13.4}Operators with Matrix Arguments}{141} \contentsline {subsection}{\numberline {13.4.1}DET Operator}{141} \contentsline {subsection}{\numberline {13.4.2}MATEIGEN Operator}{142} \contentsline {subsection}{\numberline {13.4.3}TP Operator}{143} \contentsline {subsection}{\numberline {13.4.4}Trace Operator}{143} \contentsline {subsection}{\numberline {13.4.5}Matrix Cofactors}{143} \contentsline {subsection}{\numberline {13.4.6}NULLSPACE Operator}{143} \contentsline {subsection}{\numberline {13.4.7}RANK Operator}{144} \contentsline {section}{\numberline {13.5}Matrix Assignments}{145} \contentsline {section}{\numberline {13.6}Evaluating Matrix Elements}{145} \contentsline {chapter}{\numberline {14}Procedures}{147} \contentsline {section}{\numberline {14.1}Procedure Heading}{148} \contentsline {section}{\numberline {14.2}Procedure Body}{149} \contentsline {section}{\numberline {14.3}Using LET Inside Procedures}{151} \contentsline {section}{\numberline {14.4}LET Rules as Procedures}{152} \contentsline {section}{\numberline {14.5}REMEMBER Statement}{153} \contentsline {chapter}{\numberline {15}Symbolic Mode}{155} \contentsline {section}{\numberline {15.1}Symbolic Infix Operators}{157} \contentsline {section}{\numberline {15.2}Symbolic Expressions}{157} \contentsline {section}{\numberline {15.3}Quoted Expressions}{157} \contentsline {section}{\numberline {15.4}Lambda Expressions}{157} \contentsline {section}{\numberline {15.5}Symbolic Assignment Statements}{158} \contentsline {section}{\numberline {15.6}FOR EACH Statement}{159} \contentsline {section}{\numberline {15.7}Symbolic Procedures}{159} \contentsline {section}{\numberline {15.8}Standard Lisp Equivalent of Reduce Input}{160} \contentsline {section}{\numberline {15.9}Communicating with Algebraic Mode}{160} \contentsline {subsection}{\numberline {15.9.1}Passing Algebraic Mode Values to Symbolic Mode}{161} \contentsline {subsection}{\numberline {15.9.2}Passing Symbolic Mode Values to Algebraic Mode}{163} \contentsline {subsection}{\numberline {15.9.3}Complete Example}{164} \contentsline {subsection}{\numberline {15.9.4}Defining Procedures for Intermode Communication}{164} \contentsline {section}{\numberline {15.10}Rlisp '88}{165} \contentsline {section}{\numberline {15.11}References}{166} \contentsline {chapter}{\numberline {16}Calculations in High Energy Physics}{167} \contentsline {section}{\numberline {16.1}High Energy Physics Operators}{167} \contentsline {subsection}{\numberline {16.1.1}. (Cons) Operator}{167} \contentsline {subsection}{\numberline {16.1.2}G Operator for Gamma Matrices}{168} \contentsline {subsection}{\numberline {16.1.3}EPS Operator}{169} \contentsline {section}{\numberline {16.2}Vector Variables}{169} \contentsline {section}{\numberline {16.3}Additional Expression Types}{170} \contentsline {subsection}{\numberline {16.3.1}Vector Expressions}{170} \contentsline {subsection}{\numberline {16.3.2}Dirac Expressions}{170} \contentsline {section}{\numberline {16.4}Trace Calculations}{171} \contentsline {section}{\numberline {16.5}Mass Declarations}{171} \contentsline {section}{\numberline {16.6}Example}{172} \contentsline {section}{\numberline {16.7}Extensions to More Than Four Dimensions}{173} \contentsline {chapter}{\numberline {17}{REDUCE} and Rlisp Utilities}{175} \contentsline {section}{\numberline {17.1}The Standard Lisp Compiler}{175} \contentsline {section}{\numberline {17.2}Fast Loading Code Generation Program}{176} \contentsline {section}{\numberline {17.3}The Standard Lisp Cross Reference Program}{177} \contentsline {subsection}{\numberline {17.3.1}Restrictions}{178} \contentsline {subsection}{\numberline {17.3.2}Usage}{178} \contentsline {subsection}{\numberline {17.3.3}Options}{178} \contentsline {section}{\numberline {17.4}Prettyprinting Reduce Expressions}{179} \contentsline {section}{\numberline {17.5}Prettyprinting Standard Lisp S-Expressions}{179} \contentsline {chapter}{\numberline {18}Maintaining {REDUCE}}{181} \contentsline {chapter}{\numberline {A}Reserved Identifiers}{183}