diff --git a/books/bookvol0.pamphlet b/books/bookvol0.pamphlet index 96240d7..ed0945e 100644 --- a/books/bookvol0.pamphlet +++ b/books/bookvol0.pamphlet @@ -114,7 +114,6 @@ \newdimen\xmpWidth \xmpWidth=29pc \def\Lisp{{Common LISP}} -\def\Language{{AXIOM}} \def\axiom#1{{\frenchspacing\tt #1}} \def\spad{\axiom} \def\spadatt#1{{\tt #1}} @@ -393,98 +392,98 @@ David V. Chudnovsky \hfill Gregory V. Chudnovsky \vfill \eject \begin{verbatim} -+----------------------------------------------------------------------------+ -| Richard Dimick Jenks | -| Axiom Developer and Computer Algebra Pioneer | -| | -| Richard D. Jenks was born on November 16, 1937 in Dixon, Illinois, | -| where he grew up. During his childhood he learned to play the organ | -| and sang in the church choir thereby developing a life-long passion | -| for music. | -| | -| He received his PhD in mathematics from the University of Illinois at | -| Urbana-Champaign in 1966. The title of his dissertation was | -| ``Quadratic Differential Systems for Mathematical Models" and was | -| written under the supervision of Donald Gilles. After completing his | -| PhD, he was a post-doctoral fellow at Brookhaven National Laboratory | -| on Long Island. In 1968 he joined IBM Research where he worked until | -| his retirement in 2002. | -| | -| At IBM he was a principal architect of the Scratchpad system, one of | -| the earliest computer algebra systems(1971). Dick always believed that | -| natural user interfaces were essential and developed a user-friendly | -| rule-based system for Scratchpad. Although this rule-based approach | -| was easy to use, as algorithms for computer algebra became more | -| complicated, he began to understand that an abstract data type | -| approach would give sophisticated algorithm development considerably | -| more leverage. In 1977 he began the Axiom development (originally | -| called Scratchpad II) with the design of MODLISP, a merger of Lisp | -| with types (modes). In 1980, with the help of many others, he | -| completed an initial prototype design based on categories and domains | -| that were intended to be natural for mathematically sophisticated | -| users. | -| | -| During this period many researchers in computer algebra visited IBM | -| Research in Yorktown Heights and contributed to the development of the | -| Axiom system. All this activity made the computer algebra group at IBM | -| one of the leading centers for research in this area and Dick was | -| always there to organize the visits and provide a stimulating and | -| pleasant working environment for everyone. He had a good perspective | -| on the most important research directions and worked to attract | -| world-renowned experts to visit and interact with his group. He was an | -| ideal manager for whom to work, one who always put the project and the | -| needs of the group members first. It was a joy to work in such a | -| vibrant and stimulating environment. | -| | -| After many years of development, a decision was made to rename | -| Scratchpad II to Axiom and to release it as a product. Dick and Robert | -| Sutor were the primary authors of the book Axiom: The Scientific | -| Computation System. In the foreword of the book, written by David and | -| Gregory Chudnovsky, it is stated that ``The Scratchpad system took its | -| time to blossom into the beautiful Axiom product. There is no rival to | -| this powerful environment in its scope and, most importantly, in its | -| structure and organization.'' Axiom was recently made available as | -| free software. See http://savannah.nongnu.org/projects/axiom. | -| | -| Dick was active in service to the computer algebra community as | -| well. Here are some highlights. He served as Chair of ACM SIGSAM | -| (1979-81) and Conference Co-chair (with J. A. van Hulzen) of EUROSAM | -| '84, a precursor of the ISSAC meetings. Dick also had a long period of | -| service on the editorial board of the Journal of Symbolic | -| Computation. At ISSAC '95 in Montreal, Dick was elected to the initial | -| ISSAC Steering Committee and was elected as the second Chair of the | -| Committee in 1997. He, along with David Chudnovsky, organized the | -| highly successful meetings on Computers and Mathematics that were held | -| at Stanford in 1986 and MIT in 1989. | -| | -| Dick had many interests outside of his professional pursuits including | -| reading, travel, physical fitness, and especially music. Dick was an | -| accomplished pianist, organist, and vocalist. At one point he was the | -| organist and choirmaster of the Church of the Holy Communion in | -| Mahopac, NY. In the 1980s and 1990s, he sang in choral groups under | -| the direction of Dr. Dennis Keene that performed at Lincoln Center in | -| New York city. | -| | -| Especially important to him was his family: his eldest son Doug and | -| his wife Patricia, his son Daniel and his wife Mercedes, a daughter | -| Susan, his brother Albert and his wife Barbara, his sister Diane | -| Alabaster and her husband Harold, his grandchildren Douglas, Valerie, | -| Ryan, and Daniel Richard, and step-granddaughter Danielle. His | -| longtime companion, Barbara Gatje, shared his love for music, | -| traveling, Point O'Woods, and life in general. | -| | -| On December 30, 2003, Dick Jenks died at the age of 66, after an | -| extended and courageous battle with multiple system | -| atrophy. Personally, Dick was warm, generous, and outgoing with many | -| friends. He will be missed for his technical accomplishments, his | -| artist talents, and most of all for his positive, gentle, charming | -| spirit. | -| | -| Prepared by Bob Caviness, Barry Trager, and Patrizia Gianni with | -| contributions from Barbara Gatje, James H. Griesmer, Tony Hearn, | -| Manuel Bronstein, and Erich Kaltofen. | -| | -+----------------------------------------------------------------------------+ ++---------------------------------------------------------------------+ +| Richard Dimick Jenks | +| Axiom Developer and Computer Algebra Pioneer | +| | +| Richard D. Jenks was born on November 16, 1937 in Dixon, Illinois, | +| where he grew up. During his childhood he learned to play the | +| organ and sang in the church choir thereby developing a life-long | +| passion for music. | +| | +| He received his PhD in mathematics from the University of Illinois | +| at Urbana-Champaign in 1966. The title of his dissertation was | +| ``Quadratic Differential Systems for Mathematical Models" and was | +| written under the supervision of Donald Gilles. After completing | +| his PhD, he was a post-doctoral fellow at Brookhaven National | +| Laboratory on Long Island. In 1968 he joined IBM Research where he | +| worked until his retirement in 2002. | +| | +| At IBM he was a principal architect of the Scratchpad system, one | +| of the earliest computer algebra systems(1971). Dick always | +| believed that natural user interfaces were essential and developed | +| a user-friendly rule-based system for Scratchpad. Although this | +| rule-based approach was easy to use, as algorithms for computer | +| algebra became more complicated, he began to understand that an | +| abstract data type approach would give sophisticated algorithm | +| development considerably more leverage. In 1977 he began the Axiom | +| development (originally called Scratchpad II) with the design of | +| MODLISP, a merger of Lisp with types (modes). In 1980, with the | +| help of many others, he completed an initial prototype design | +| based on categories and domains that were intended to be natural | +| for mathematically sophisticated users. | +| | +| During this period many researchers in computer algebra visited | +| IBM Research in Yorktown Heights and contributed to the development | +| of the Axiom system. All this activity made the computer algebra | +| group at IBM one of the leading centers for research in this area | +| and Dick was always there to organize the visits and provide a | +| stimulating and pleasant working environment for everyone. He had | +| a good perspective on the most important research directions and | +| worked to attract world-renowned experts to visit and interact | +| with his group. He was an ideal manager for whom to work, one who | +| always put the project and the needs of the group members first. | +| It was a joy to work in such a vibrant and stimulating environment. | +| | +| After many years of development, a decision was made to rename | +| Scratchpad II to Axiom and to release it as a product. Dick and | +| Robert Sutor were the primary authors of the book Axiom: The | +| Scientific Computation System. In the foreword of the book, | +| written by David and Gregory Chudnovsky, it is stated that ``The | +| Scratchpad system took its time to blossom into the beautiful | +| Axiom product. There is no rival to this powerful environment in | +| its scope and, most importantly, in its structure and organization. | +| Axiom was recently made available as free software. | +| See http://savannah.nongnu.org/projects/axiom. | +| | +| Dick was active in service to the computer algebra community as | +| well. Here are some highlights. He served as Chair of ACM SIGSAM | +| (1979-81) and Conference Co-chair (with J. A. van Hulzen) of | +| EUROSAM '84, a precursor of the ISSAC meetings. Dick also had a | +| long period of service on the editorial board of the Journal of | +| Symbolic Computation. At ISSAC '95 in Montreal, Dick was elected to | +| the initial ISSAC Steering Committee and was elected as the second | +| Chair of the Committee in 1997. He, along with David Chudnovsky, | +| organized the highly successful meetings on Computers and | +| Mathematics that were held at Stanford in 1986 and MIT in 1989. | +| | +| Dick had many interests outside of his professional pursuits | +| including reading, travel, physical fitness, and especially music. | +| Dick was an accomplished pianist, organist, and vocalist. At one | +| point he was the organist and choirmaster of the Church of the Holy | +| Communion in Mahopac, NY. In the 1980s and 1990s, he sang in choral | +| groups under the direction of Dr. Dennis Keene that performed at | +| Lincoln Center in New York city. | +| | +| Especially important to him was his family: his eldest son Doug and | +| his wife Patricia, his son Daniel and his wife Mercedes, a daughter | +| Susan, his brother Albert and his wife Barbara, his sister Diane | +| Alabaster and her husband Harold, his grandchildren Douglas, | +| Valerie, Ryan, and Daniel Richard, and step-granddaughter Danielle. | +| His longtime companion, Barbara Gatje, shared his love for music, | +| traveling, Point O'Woods, and life in general. | +| | +| On December 30, 2003, Dick Jenks died at the age of 66, after an | +| extended and courageous battle with multiple system | +| atrophy. Personally, Dick was warm, generous, and outgoing with | +| many friends. He will be missed for his technical accomplishments, | +| his artist talents, and most of all for his positive, gentle, | +| charming spirit. | +| | +| Prepared by Bob Caviness, Barry Trager, and Patrizia Gianni with | +| contributions from Barbara Gatje, James H. Griesmer, Tony Hearn, | +| Manuel Bronstein, and Erich Kaltofen. | ++---------------------------------------------------------------------+ \end{verbatim} \eject @@ -492,37 +491,37 @@ David V. Chudnovsky \hfill Gregory V. Chudnovsky \pseudoChapter{\Huge Contributors} \addcontentsline{toc}{chapter}{Contributors} -The design and development of AXIOM was led by the Symbolic Computation +The design and development of Axiom was led by the Symbolic Computation Group of the Mathematical Sciences Department, IBM Thomas J. Watson Research Center, Yorktown Heights, New York. The current implemention -of AXIOM is the product of many people. The primary contributors are: +of Axiom is the product of many people. The primary contributors are: {\bf Richard D. Jenks} (IBM, Yorktown) received a Ph.D. from the University of Illinois and was a principal architect of the {\bf Scratchpad} computer -algebra system (1971). In 1977, Jenks initiated the AXIOM effort with +algebra system (1971). In 1977, Jenks initiated the Axiom effort with the design of MODLISP, inspired by earlier work with R\"udiger Loos (T\"ubingen), James Griesmer (IBM, Yorktown), and David Y. Y. Yun (Hawaii). Joint work with David R. Barton (Berkeley, California) and James Davenport led to the design and implementation of prototypes and the concept of categories (1980). Mor recently, Jenks led the effort on user interface -software for AXIOM. +software for Axiom. {\bf Barry M. Trager} (IBM, Yorktown) received a Ph.D. from MIT while working in the {\bf MACSYMA} computer algebra group. Trager's thesis laid the groundwork for a complete theory for closed-form integration -of elementary functions and its implementation in AXIOM. Trager and +of elementary functions and its implementation in Axiom. Trager and Richrd Jenks are responsible for the original abstract datatype design and implementation of the programming language with its current MODLISP-based compiler and run-time system. Trager is also responsible -for the overall design of the current AXIOM library and for the +for the overall design of the current Axiom library and for the implementation of many of its components. {\bf Stephen M. Watt} (IBM, Yorktown) received a Ph.D. from the University of Waterloo and is one of the original authors of the {\bf Maple} computer algebra system. Since joining IBM in 1984, he has made -central contributions to the AXIOM language and system design, as well +central contributions to the Axiom language and system design, as well as numerous contributions to the library. He is the principal -architect of the new AXIOM compiler, planned for Release 2. +architect of the new Axiom compiler, planned for Release 2. %Original Page xxii @@ -530,7 +529,7 @@ architect of the new AXIOM compiler, planned for Release 2. {\bf Robert S. Sutor} (IBM, Yorktown) received a Ph.D. in mathematics from Princeton University and has been involved with the design and implementation of the system interpreter, system commands, and -documentation since 1984. Sutor's contributions to the AXIOM library +documentation since 1984. Sutor's contributions to the Axiom library include factored objects, partial fractions, and the original implementation of finite field extensions. Recently, he has devised technology for producing automatic hard-copy and on-line documentation @@ -538,7 +537,7 @@ from single source files. {\bf Scott C. Morrison} (IBM, Yorktown) received an M.S. from the University of California, Berkeley, and is a principal person -responsible for the design and implementation of the AXIOM interface, +responsible for the design and implementation of the Axiom interface, including the interpreter, HyperDoc, and applications of the computer graphics system. @@ -546,28 +545,28 @@ graphics system. from the University of California, Berkeley, completing the theoretical work on closed-form integration by Barry Trager. Bronstein designed and implemented the algebraic structures and algorithms in -the AXIOM library for integration, closed form solution of +the Axiom library for integration, closed form solution of differential equations, operator algebras, and manipulation of top-level mathematical expressions. He also designed (with Richard -Jenks) and implemented the current pattern match facility for AXIOM. +Jenks) and implemented the current pattern match facility for Axiom. {\bf William H. Burge} (IBM, Yorktown) received a Ph.D. from Cambridge -University, implemented the AXIOM parser, designed (with Stephen Watt) +University, implemented the Axiom parser, designed (with Stephen Watt) and implemented the stream and power series structures, and numerous algebraic facilities including those for data structures, power series, and combinatorics. {\bf Timothy P. Daly} (IBM, Yorktown) is pursuing a Ph.D. in computer science at Brooklyn Polytechnic Institute and is responsible for -porting, testing, performance, and system support work for AXIOM. +porting, testing, performance, and system support work for Axiom. {\bf James Davenport} (Bath) received a Ph.D. from Cambridge University, is the author of several computer algebra textbooks, and -has long recognized the need for AXIOM's generality for computer +has long recognized the need for Axiom's generality for computer algebra. He was involved with the early prototype design of system -internals and the original category hierarchy for AXIOM (with David +internals and the original category hierarchy for Axiom (with David R. Barton). More recently, Davenport and Barry Trager designed the -algebraic category hierarchy currently used in AXIOM. Davenport is +algebraic category hierarchy currently used in Axiom. Davenport is Hebron and Medlock Professor of Information Technology at Bath University. @@ -576,21 +575,21 @@ Bath for his work on the IRENA system (an interface between the {\bf REDUCE} computer algebra system and the NAG Library of numerical subprograms), and work on interfacing algebraic and numerical systems in general. He has contributed code to produce FORTRAN output from -AXIOM, and is currently developing a comprehensive foreign language -interface and a link to the NAG Library for release 2 of AXIOM. +Axiom, and is currently developing a comprehensive foreign language +interface and a link to the NAG Library for release 2 of Axiom. %Original Page xxiii {\bf Albrecht Fortenbacher} (IBM Scientific Center, Heidelberg) received a doctorate from the University of Karlsruhe and is a -designer and implementer of the type-inferencing code in the AXIOM +designer and implementer of the type-inferencing code in the Axiom interpreter. The result of research by Fortenbacher on type coercion -by rewrite rules will soon be incorporated into AXIOM. +by rewrite rules will soon be incorporated into Axiom. {\bf Patrizia Gianni} (Pisa) received a Laurea in mathematics from the University of Pisa and is the prime author of the polynomial and -rational funtion component of the AXIOM library. Her contributions +rational funtion component of the Axiom library. Her contributions include algorithms for greatest common divisors, factorization, ideals, Gr\"obner bases, solutions of polynomial systems, and linear algebra. she is currently Associate Professor of Mathematics at the @@ -598,13 +597,13 @@ University of Pisa. {\bf Johannes Grabmeier} (IBM Scientific Center, Heidelberg) received a Ph.D from University Bayreuth (Bavaria) and is responsible for many -AXIOM packages, including those for representation theory (with Holger +Axiom packages, including those for representation theory (with Holger Gollan (Essen)), permutation groups (with Gerhard Schneider (Essen)), finite fields (with Alfred Scheerhorn), and non-associative algebra (with Robert Wisbauer (D\"usseldorf)). {\bf Larry Lambe} received a Ph.D. from the University of Illinois -(Chicago) and has been using AXIOM for research in homological +(Chicago) and has been using Axiom for research in homological algebra. Lambe contributed facilities for Lie ring and exterior algebra calculations and has worked with Scott Morrison on various graphics applications. @@ -617,19 +616,19 @@ multi-precision floating point arithmetic, code for polynomials modulo a prime, and also worked on the new compiler. {\bf William Sit} (CCNY) received a Ph.D. from Columbia University. He -has been using AXIOM for research in differential algebra, and +has been using Axiom for research in differential algebra, and contributed operations for differential polynomials (with Manuel Bronstein). {\bf Jonathan M. Steinbach} (IBM, Yorktown) received a B.A. degree -from Ohio State University and has responsibility for the AXIOM +from Ohio State University and has responsibility for the Axiom computer graphics facility. He has modified and extended this facility from the original design by Jim Wen. Steinbach is currently involved in the new compiler effort. {\bf Jim Wen}, a graduate student in computer graphics at Brown University designed and implemented the original computer graphics -system for AXIOM with pop-up control panels for interactive +system for Axiom with pop-up control panels for interactive manipulation of graphic objects. @@ -644,7 +643,7 @@ HyperDoc documentation and algebraic side of the computer graphics facility. Williamson is currently an Assistant Professor of Mathematics at California Polytechnic State University, San Luis Obispo. -Contributions to the current AXIOM system were also made by: Yurig +Contributions to the current Axiom system were also made by: Yurig Baransky (IBM Research, Yorktown), David R. Barton, Bruce Char (Drexel), Korrinn Fu, R\"udiger Gebauer, Holger Gollan (Essen), Steven J. Gortler, Michael Lucks, Victor Miller (IBM Research, Yorktown), @@ -652,7 +651,7 @@ C. Andrew Neff (IBM Research, Yorktown), H. Michael M\"oller (Hagen), Simon Robinson, Gerhard Schneider (Essen), Thorsten Werther (Bonn), John M. Wiley, Waldermar Wiwianka (Paderborn), David Y. Y. Yun (Hawaii). -Other group members, visitors and contributors to AXIOM include +Other group members, visitors and contributors to Axiom include Richard Anderson, George Andrews, Alexandre Bouyer, Martin Brock, Florian Bundschuh, Cheekai Chin, David V. Chudnovsky, Gregory V. Chudnovsky, Josh Cohen, Gary Cornell, Jean Della Dora, Clair Di @@ -794,7 +793,7 @@ returns: {\tt FMM3O955CSEIV0ILKH820CN3I7PICQU0OQMDOFV6TP000000000000000000 } \returnType{Type: RadixExpansion 32} -The AXIOM numerical library can be enhanced with a +The Axiom numerical library can be enhanced with a substantial number of functions from the NAG library of numerical and statistical algorithms. These functions will provide coverage of a wide range of areas including roots of functions, Fourier transforms, quadrature, @@ -2842,9 +2841,11 @@ their alternative name of ``lazy lists''. Another method of creating streams is to use the {\bf generate(f,a)} function. This applies its first argument repeatedly onto its second to produce the -stream $[a,f(a),f(f(a)),f(f(f(a)))\ldots]$. Given that the function +stream \\ +$[a,f(a),f(f(a)),f(f(f(a)))\ldots]$. Given that the function {\bf nextPrime} returns the lowest prime number greater than its argument we can generate a stream of primes as follows: + \spadcommand{generate(nextPrime,2)\$Stream Integer} $$ \left[ @@ -4128,7 +4129,7 @@ You are ready to begin your journey into the world of Axiom. In this document we have followed these typographical conventions: \begin{itemize} % -\item Categories, domains and packages are displayed in this font: +\item Categories, domains and packages are displayed in this font:\\ {\tt Ring}, {\tt Integer}, {\tt DiophantineSolutionPackage}. % \item Prefix operators, infix operators, and punctuation symbols in @@ -5295,10 +5296,10 @@ $$ \returnType{Type: Multiset Integer} A {\it table} is conceptually a set of ``key--value'' pairs and is a -generalization of a multiset. For examples of tables, see -{\tt AssociationList}, {\tt HashTable}, {\tt KeyedAccessFile}, -{\tt Library}, {\tt SparseTable}, {\tt StringTable}, and {\tt Table}. The -domain {\tt Table(Key, Entry)} provides a general-purpose type for +generalization of a multiset. For examples of tables, see \\ +{\tt AssociationList}, {\tt HashTable}, {\tt KeyedAccessFile}, \\ +{\tt Library}, {\tt SparseTable}, {\tt StringTable}, and {\tt Table}.\\ +The domain {\tt Table(Key, Entry)} provides a general-purpose type for tables with {\it values} of type $Entry$ indexed by {\it keys} of type $Key$. @@ -5842,7 +5843,7 @@ $$ $$ \returnType{Type: MultivariatePolynomial([y,x],Integer)} -The constructor {\tt DistributedMultivariatePolynomial} provides +The constructor {\tt DistributedMultivariatePolynomial} provides\\ polynomials in one or more specified variables with the monomials ordered lexicographically. @@ -6875,11 +6876,12 @@ $$ $$ \left. \begin{array}{@{}l} +\displaystyle \left[ {x={\frac{{z \sp 3}+{2 \ b \ {z \sp 2}}+{{b \sp 2} \ z} -a}{b}}}, {y={z+b}}, \right. -\hbox{\hskip 10.0cm} +\hbox{\hskip 7.2cm} \\ \\ \displaystyle @@ -6887,16 +6889,11 @@ $$ {6 \ {b \sp 2} \ {z \sp 4}}+ {{\left( {4 \ {b \sp 3}} -{2 \ a} \right)}\ {z \sp 3}}+ {{\left( {b \sp 4} -{4 \ a \ b} \right)}\ {z \sp 2}}- -\hbox{\hskip 4.0cm} -\\ -\\ -\displaystyle \left. {2 \ a \ {b \sp 2} \ z} -{b \sp 3}+{a \sp 2}=0 \right] \end{array} \right] -\hbox{\hskip 7.0cm} $$ \returnType{Type: List List Equation Fraction Polynomial Integer} @@ -7023,7 +7020,7 @@ Redo the computation from expression $3$ forward. \begin{verbatim} g(n) == -x*f(n-1) + d/3*g(n-1) - Type: Void + Type: Void f(3) Compiling function g with type Integer -> Polynomial Fraction @@ -7721,6 +7718,7 @@ If a constructor \index{type!using parentheses} has more than \index{parentheses!using with types} one argument, you must use parentheses. Some examples are \\ +\noindent {\tt UnivariatePolynomial(x, Float)} \\ {\tt MultivariatePolynomial([z,w,r], Complex Float)} \\ {\tt SquareMatrix(3, Integer)} \\ @@ -7735,6 +7733,7 @@ A {\it mode} is a type that possibly is a question mark ({\tt ?}) or contains one in an argument position. For example, the following are all modes.\\ +\noindent {\tt ?} \\ {\tt Polynomial ?} \\ {\tt Matrix Polynomial ?} \\ @@ -8932,7 +8931,7 @@ $$ $$ \returnType{Type: Fraction Complex Integer} -In each case, AXIOM used the indicated operations, sometimes first +In each case, Axiom used the indicated operations, sometimes first needing to convert the two integers into objects of the appropriate type. In these examples, ``/'' is written as an infix operator. @@ -8945,9 +8944,9 @@ We used, for example, $(2/3)\${\rm Float}$. The expression $2+3+4$ is equivalent to $(2+3)+4$. Therefore in the expression $(2+3+4)\${\rm Float}$ the second ``+'' comes from the {\rm Float} domain. The first ``+'' comes from {\rm Float} because the package -call causes AXIOM to convert $(2+3)$ and $4$ to type +call causes Axiom to convert $(2+3)$ and $4$ to type {\rm Float}. Before the sum is converted, it is given a target type -of {\rm Float} by AXIOM and then evaluated. The target type causes the +of {\rm Float} by Axiom and then evaluated. The target type causes the ``+'' from {\tt Float} to be used. %Original Page 84 @@ -8961,7 +8960,7 @@ $$ fun\ (\ arg_1, arg_2, \ldots, arg_N\ )\$type$$ For example, to call the ``minimum'' function from {\rm DoubleFloat} on two integers, you could write {\bf min}(4,89){\tt \$DoubleFloat}. Another use of -package calling is to tell AXIOM to use a library function rather than a +package calling is to tell Axiom to use a library function rather than a function you defined. We discuss this in \sectionref{ugUserUse}. Sometimes rather than specifying where an operation comes from, you @@ -9465,7 +9464,7 @@ First we find out what some of the abbreviations mean. \end{verbatim} So if {\tt D1} is a commutative ring (such as the integers or floats) and -{\tt D} belongs to {\tt ComplexCategory D1}, then there is an operation +{\tt D} belongs to {\tt Complex\-Category D1}, then there is an operation called {\bf complex} that takes two elements of {\tt D1} and creates an element of {\tt D}. The primary example of a constructor implementing domains belonging to {\tt ComplexCategory} is {\tt Complex}. See @@ -10197,8 +10196,9 @@ number if it is greater than 32767 in absolute value, otherwise leave it as an integer. \item Convert all other integers in an expression to floating point numbers. \end{enumerate} -These rules only govern integers in expressions. Numbers generated by -Axiom for $DIMENSION$ statements are also integers. + +These rules only govern integers in expressions.\\ +Numbers generated by Axiom for $DIMENSION$ statements are also integers. To set the type of generated FORTRAN data, \index{FORTRAN output format!data types} @@ -12537,7 +12537,7 @@ parentheses. For example, $2 + 3$ can alternatively be written as $+(2,3)$. But $+(2,3,4)$ is an error since {\tt +} takes only two arguments. -Prefix operations are generally applied before the infix operation. +Prefix operations are generally applied before the infix operation.\\ Thus the form ${\bf factorial\ } 3 + 1$ means ${\bf factorial}(3) + 1$ producing $7$, and $-2 + 5$ means $(-2) + 5$ producing $3$. An example of a prefix operator is prefix ``{\tt -}''. For example, $- 2 + @@ -12797,7 +12797,7 @@ Here $x+1$ for $x = ``axiom''$ makes no sense. Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need. - AXIOM will attempt to step through and interpret the code. + Axiom will attempt to step through and interpret the code. There are 11 exposed and 5 unexposed library operations named + having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue @@ -12966,7 +12966,7 @@ function in the function. Then Axiom definitely does not understand us. \spadcommand{sin 4.3} \begin{verbatim} -AXIOM cannot determine the type of sin because it cannot analyze +Axiom cannot determine the type of sin because it cannot analyze the non-recursive part, if that exists. This may be remedied by declaring the function. \end{verbatim} @@ -13022,7 +13022,8 @@ creating an object of type {\tt Fraction(Integer)}. \item Axiom resolves \index{resolve} (see \sectionref{ugTypesResolve}) -the types and gets {\tt Polynomial (Fraction (Integer))}. +the types and gets \\ +{\tt Polynomial(Fraction(Integer))}. \item The $x$ and the $2/3$ are converted to objects of this type and {\tt +} is applied, yielding the answer, an object of type {\tt Polynomial (Fraction (Integer))}. @@ -13076,7 +13077,7 @@ For $vars$ equal to $['x, 'y, 'z]$, this function displays $1$ three times. Cannot compile conversion for types involving local variables. In particular, could not compile the expression involving :: UnivariatePolynomial(var,Integer) - AXIOM will attempt to step through and interpret the code. + Axiom will attempt to step through and interpret the code. 1 1 1 @@ -13094,7 +13095,7 @@ for var in ['x,'y,'z] repeat Cannot compile conversion for types involving local variables. In particular, could not compile the expression involving :: UnivariatePolynomial(var,Integer) - AXIOM will attempt to step through and interpret the code. + Axiom will attempt to step through and interpret the code. 1 1 1 @@ -15675,7 +15676,7 @@ independent variables of $p$. A {\tt range} option is always given to designate a bounding rectangular region of the plane $a \leq x \leq b, c \leq y \leq d$. Zero or more additional options as described in -\sectionref{ugGraphTwoDOptions} may be given.\\ +\sectionref{ugGraphTwoDOptions} may be given. } We require that the polynomial has rational or integral coefficients. @@ -17290,10 +17291,10 @@ $m, 0..2\pi,0..\pi, coordinates == spherical, style=="shade"$ \end{center} \end{minipage} -Space curves may be displayed as tubes with polygonal cross sections. \index{tube} -Two options, {\tt tubeRadius} and {\tt tubePoints}, control the size and -shape of this cross section. +Space curves may be displayed as tubes with polygonal cross sections.\\ +Two options, {\tt tubeRadius} and {\tt tubePoints},\\ +control the size and shape of this cross section. % %Original Page 204 @@ -17900,22 +17901,12 @@ $f,0..3,0..2\pi,coordinates==newmap$ %{\sloppy The {\tt CoordinateSystems} package exports the following \index{coordinate system} -operations: -{\bf bipolar}, -{\bf bipolarCylindrical}, -{\bf cartesian}, -{\bf conical}, -{\bf cylindrical}, -{\bf elliptic}, -{\bf ellipticCylindrical}, -{\bf oblateSpheroidal}, -{\bf parabolic}, -{\bf parabolicCylindrical}, -{\bf paraboloidal}, -{\bf polar}, -{\bf prolateSpheroidal}, -{\bf spherical}, and -{\bf toroidal}. +operations:\\ +{\bf bipolar}, {\bf bipolarCylindrical}, {\bf cartesian}, \\ +{\bf conical}, {\bf cylindrical}, {\bf elliptic},\\ +{\bf ellipticCylindrical}, {\bf oblateSpheroidal}, {\bf parabolic},\\ +{\bf parabolicCylindrical}, {\bf paraboloidal}, {\bf polar},\\ +{\bf prolateSpheroidal}, {\bf spherical}, and {\bf toroidal}.\\ Use Browse or the {\tt )show} system command \index{show} to get more information. @@ -21362,7 +21353,7 @@ for some warnings about working with declared series. We declare that $y$ is a one-variable Taylor series \index{series!Taylor} ({\tt UTS} is the abbreviation for -{\tt UnivariateTaylorSeries}) in the variable $z$ with {\tt FLOAT} +{\tt Univariate\-TaylorSeries}) in the variable $z$ with {\tt FLOAT} (that is, floating-point) coefficients, centered about $0.$ Then, by assignment, we obtain the Taylor expansion of $exp(z)$ with floating-point coefficients. \index{UnivariateTaylorSeries} @@ -23537,7 +23528,7 @@ These constructors are discussed in the following sections where we collect together descriptions of extension fields that have the same underlying representation.\footnote{For more information on the implementation aspects of finite fields, see J. Grabmeier, -A. Scheerhorn, {\it Finite Fields in AXIOM,} Technical Report, IBM +A. Scheerhorn, {\it Finite Fields in Axiom,} Technical Report, IBM Heidelberg Scientific Center, 1992.} %Original Page 281 @@ -23658,9 +23649,9 @@ g \sp {1729} $$ \returnType{Type: Polynomial Integer} -{\tt FiniteFieldExtension} (abbreviation {\tt FFX}) is similar to {\tt -FiniteField} except that the ground-field for {\tt FiniteFieldExtension} -is arbitrary and chosen by you. +{\tt FiniteFieldExtension} (abbreviation {\tt FFX}) is similar to \\ +{\tt FiniteField} except that the ground-field for \\ +{\tt FiniteFieldExtension} is arbitrary and chosen by you. In case you select the prime field as ground field, there is essentially no difference between the constructed two finite field @@ -23780,8 +23771,9 @@ $$ \returnType{Type: PositiveInteger} {\tt FiniteFieldCyclicGroupExtension} (abbreviation {\tt FFCGX}) is -similar to {\tt FiniteFieldCyclicGroup} except that the ground field -for {\tt FiniteFieldCyclicGroupExtension} is arbitrary and chosen by +similar to\\ +{\tt FiniteFieldCyclicGroup} except that the ground field for\\ +{\tt FiniteFieldCyclicGroupExtension} is arbitrary and chosen by you. In case you select the prime field as ground field, there is essentially no difference between the constructed two finite field extensions. @@ -23805,8 +23797,10 @@ $$ \returnType{Type: FiniteField(3,2)} {\tt FiniteFieldCyclicGroupExtensionByPolynomial} (abbreviation -{\tt FFCGP}) is similar to {\tt FiniteFieldCyclicGroup} and -{\tt FiniteFieldCyclicGroupExtension} but is more general. For +{\tt FFCGP}) is similar to \\ +{\tt FiniteFieldCyclicGroup} and +{\tt FiniteFieldCyclicGroupExtension} \\ +but is more general. For \\ {\tt FiniteFieldCyclicGroupExtensionByPolynomial} you choose both the ground field and the irreducible polynomial used in the representation. The degree of the extension is the degree of the @@ -23902,8 +23896,10 @@ $$ \returnType{Type: FiniteFieldNormalBasis(3,8)} {\tt FiniteFieldNormalBasisExtension} (abbreviation {\tt FFNBX}) is -similar to {\tt FiniteFieldNormalBasis} except that the groundfield -for {\tt FiniteFieldNormalBasisExtension} is arbitrary and chosen by +similar to \\ +{\tt FiniteField\-NormalBasis} except that the groundfield +for \\ +{\tt FiniteFieldNormalBasisExtension} is arbitrary and chosen by you. In case you select the prime field as ground field, there is essentially no difference between the constructed two finite field extensions. @@ -23931,8 +23927,9 @@ $$ FiniteFieldNormalBasisExtension(FiniteFieldNormalBasis(3,2),3)} {\tt FiniteFieldNormalBasisExtensionByPolynomial} (abbreviation -{\tt FFNBP}) is similar to {\tt FiniteFieldNormalBasis} and -{\tt FiniteFieldNormalBasisExtension} but is more general. For +{\tt FFNBP})\\ +is similar to {\tt FiniteFieldNormalBasis} and\\ +{\tt FiniteFieldNormalBasisExtension} but is more general. For\\ {\tt FiniteFieldNormalBasisExtensionByPolynomial} you choose both the ground field and the irreducible polynomial used in the representation. The degree of the extension is the degree of the polynomial. @@ -24456,7 +24453,7 @@ $$ FiniteFieldExtension(FiniteFieldExtension(PrimeField 2,2),2)} {\tt FiniteFieldPolynomialPackage2} (abbreviation {\tt FFPOLY2}) -exports an operation {\bf rootOfIrreduciblePoly} for finding one root +exports an operation {\bf rootOf\-IrreduciblePoly} for finding one root of an irreducible polynomial $f$ \index{polynomial!root of} in an extension field of the coefficient field. The degree of the extension has to be a multiple of the degree of $f$. It is not checked whether @@ -24518,7 +24515,7 @@ to reduce the general case to the 0-dimensional one. \end{enumerate} The Axiom constructor {\tt PolynomialIdeals} represents ideals with coefficients in any field and supports the basic ideal operations, -including intersection, sum and quotient. {\tt IdealDecompositionPackage} +including intersection, sum and quotient. {\tt Ideal\-DecompositionPackage} contains the specific operations for the primary decomposition and the computation of the radical of an ideal with polynomial coefficients in a field of characteristic 0 with an @@ -25797,7 +25794,7 @@ AlgebraGivenByStructuralConstants(Fraction Integer,4,[AB,Ab,aB,ab], %\setcounter{chapter}{9} % Chapter 10 \chapter{Some Examples of Domains and Packages} In this chapter we show examples of many of the most commonly used -AXIOM domains and packages. The sections are organized by constructor +Axiom domains and packages. The sections are organized by constructor names. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -25811,16 +25808,19 @@ a set of domains which inherit from that category: \begin{verbatim} getDomains 'Collection - {AssociationList, Bits, CharacterClass, DataList, EqTable, FlexibleArray, - GeneralPolynomialSet, GeneralSparseTable, GeneralTriangularSet, HashTable, - IndexedBits, IndexedFlexibleArray, IndexedList, IndexedOneDimensionalArray, - IndexedString, IndexedVector, InnerTable, KeyedAccessFile, Library, List, - ListMultiDictionary, Multiset, OneDimensionalArray, Point, PrimitiveArray, - RegularChain, RegularTriangularSet, Result, RoutinesTable, Set, - SparseTable, SquareFreeRegularTriangularSet, Stream, String, StringTable, + {AssociationList, Bits, CharacterClass, DataList, EqTable, + FlexibleArray, GeneralPolynomialSet, GeneralSparseTable, + GeneralTriangularSet, HashTable, IndexedBits, + IndexedFlexibleArray, IndexedList, IndexedOneDimensionalArray, + IndexedString, IndexedVector, InnerTable, KeyedAccessFile, + Library, List, ListMultiDictionary, Multiset, OneDimensionalArray, + Point, PrimitiveArray, RegularChain, RegularTriangularSet, + Result, RoutinesTable, Set, SparseTable, + SquareFreeRegularTriangularSet, Stream, String, StringTable, Table, Vector, WuWenTsunTriangularSet} - Type: Set Symbol + \end{verbatim} +\returnType{Type: Set Symbol} This can be used to form the set-difference of two categories: \begin{verbatim} difference(getDomains 'IndexedAggregate, getDomains 'Collection) @@ -25828,8 +25828,9 @@ This can be used to form the set-difference of two categories: {DirectProduct, DirectProductMatrixModule, DirectProductModule, HomogeneousDirectProduct, OrderedDirectProduct, SplitHomogeneousDirectProduct} - Type: Set Symbol + \end{verbatim} +\returnType{Type: Set Symbol} The credits function prints a list of the people who have contributed to the development of Axiom. This is equivalent to the )credits command. @@ -26543,9 +26544,8 @@ $$ All rational numbers have repeating binary expansions. Operations to access the individual bits of a binary expansion can be obtained by converting the value to {\tt RadixExpansion(2)}. More examples of -expansions are available in -\domainref{DecimalExpansion}, \domainref{HexadecimalExpansion}, and -\domainref{RadixExpansion}. +expansions are available in \domainref{DecimalExpansion},\\ +\domainref{HexadecimalExpansion}, and \domainref{RadixExpansion}. The expansion (of type {\tt BinaryExpansion}) of a rational number is returned by the \spadfunFrom{binary}{BinaryExpansion} operation. @@ -27536,7 +27536,9 @@ You can exchange any desired pair of indices using the \spadfunFrom{transpose}{CartesianTensor} operation. Here the indices in positions one and three are exchanged, that is, -$tT_{mn}(i,j,k,l) = T_{mn}(k,j,i,l).$ +$$ +tT_{mn}(i,j,k,l) = T_{mn}(k,j,i,l). +$$ \spadcommand{tTmn := transpose(Tmn,1,3)} $$ @@ -30172,9 +30174,8 @@ $$ All rationals have repeating decimal expansions. Operations to access the individual digits of a decimal expansion can be obtained by converting the value to {\tt RadixExpansion(10)}. More examples of -expansions are available in -\domainref{BinaryExpansion}, \domainref{HexadecimalExpansion}, and -\domainref{RadixExpansion}. +expansions are available in \domainref{BinaryExpansion},\\ +\domainref{HexadecimalExpansion}, and \domainref{RadixExpansion}. The operation \spadfunFrom{decimal}{DecimalExpansion} is used to create this expansion of type {\tt DecimalExpansion}. @@ -30579,7 +30580,7 @@ and using member? we can test if the dequeue holds a given element: \end{verbatim} See \domainref{Stack}, \domainref{ArrayStack}, \domainref{Queue}, -\domainref{Dequeue}, \domainref{Heap} +\domainref{Dequeue}, \domainref{Heap}. %Original Page 352 @@ -30588,9 +30589,10 @@ See \domainref{Stack}, \domainref{ArrayStack}, \domainref{Queue}, \hyphenation{Homo-gen-eous-Dis-tributed-Multi-var-i-ate-Pol-y-nomial} -{\tt DistributedMultivariatePolynomial} which is abbreviated as {\tt DMP} -and {\tt HomogeneousDistributedMultivariatePolynomial}, which is abbreviated -as {\tt HDMP}, are very similar to {\tt MultivariatePolynomial} except that +{\tt DistributedMultivariatePolynomial} which is abbreviated as {\tt DMP}\\ +and {\tt Homogeneous\-Distributed\-MultivariatePolynomial},\\ +which is abbreviated +as {\tt HDMP}, are very similar to {\tt Multivariate\-Polynomial} except that they are represented and displayed in a non-recursive manner. \spadcommand{(d1,d2,d3) : DMP([z,y,x],FRAC INT) } @@ -30623,6 +30625,7 @@ These constructors are mostly used in Gr\"{o}bner basis calculations. \spadcommand{groebner [d1,d2,d3] } $$ \begin{array}{@{}l} +\displaystyle \left[ {z - {{\frac{1568}{2745}} \ {x \sp 6}} - @@ -30689,6 +30692,7 @@ Note that we get a different Gr\"{o}bner basis when we use the \spadcommand{groebner [n1,n2,n3] } $$ \begin{array}{@{}l} +\displaystyle \left[ {{y \sp 4}+ {2 \ {x \sp 3}} - @@ -30748,11 +30752,11 @@ This flexibility is mostly important for algorithms such as Gr\"{o}bner basis calculations which can be very sensitive to term ordering. -For more information on related topics, see +For more information on related topics, see\\ \sectionref{ugIntroVariables}, -\sectionref{ugTypesConvert}, -\domainref{Polynomial}, \domainref{UnivariatePolynomial}, and -\domainref{MultivariatePolynomial}. +\sectionref{ugTypesConvert},\\ +\domainref{Polynomial}, \domainref{UnivariatePolynomial},\\ +and \domainref{MultivariatePolynomial}. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \domainhead{DoubleFloat} @@ -31073,11 +31077,11 @@ Suggested types include \end{verbatim} See -\domainref{EuclideanGroebnerBasisPackage}, -\domainref{DistributedMultivariatePolynomial}, -\domainref{HomogeneousDistributedMultivariatePolynomial}, -\domainref{GeneralDistributedMultivariatePolynomial}, and -\domainref{GroebnerPackage} +\domainref{EuclideanGroebnerBasisPackage},\\ +\domainref{DistributedMultivariatePolynomial},\\ +\domainref{HomogeneousDistributedMultivariatePolynomial},\\ +\domainref{GeneralDistributedMultivariatePolynomial},\\ +and \domainref{GroebnerPackage} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \domainhead{Exit} @@ -32920,7 +32924,8 @@ $$ \returnType{Type: Fraction UnivariatePolynomial(x,Fraction Integer)} We use \spadfunFrom{fullPartialFraction}{FullPartialFractionExpansion} -to convert it to an object of type {\tt FullPartialFractionExpansion}. +to convert it to an object of type\\ +{\tt FullPartialFractionExpansion}. \spadcommand{g := fullPartialFraction f } $$ @@ -33033,6 +33038,7 @@ $$ \spadcommand{g := fullPartialFraction f } $$ \begin{array}{@{}l} +\displaystyle {\frac{\frac{1952}{2401}}{x -2}}+ {\frac{\frac{464}{343}}{{\left( x -2 \right)}\sp 2}}+ {\frac{\frac{32}{49}}{{\left( x -2 \right)}\sp 3}}+ @@ -33067,6 +33073,7 @@ $$ \spadcommand{g := fullPartialFraction f } $$ \begin{array}{@{}l} +\displaystyle {\sum \sb{\displaystyle {{{ \%A \sp 2} -2}=0}} {\frac{\frac{1}{2}}{x - \%A}}}+ \\ @@ -33129,6 +33136,7 @@ $$ \spadcommand{g := fullPartialFraction f } $$ \begin{array}{@{}l} +\displaystyle {\sum \sb{\displaystyle {{{ \%A \sp 2}+1}=0}} {\frac{{\frac{1}{2}} \ \%A}{x - \%A}}}+ {\sum \sb{\displaystyle {{{ \%A \sp 2}+ \%A+1}=0}} @@ -33146,6 +33154,7 @@ $$ \displaystyle \frac{\left( \begin{array}{@{}l} +\displaystyle -{{\frac{96556567040}{912390759099}} \ { \%A \sp 4}}+ {{\frac{420961732891}{912390759099}} \ { \%A \sp 3}} - \\ @@ -33167,6 +33176,7 @@ $$ \displaystyle \frac{\left( \begin{array}{@{}l} +\displaystyle -{{\frac{5580868}{94070601}} \ { \%A \sp 4}} - {{\frac{2024443}{94070601}} \ { \%A \sp 3}}+ {{\frac{4321919}{94070601}} \ { \%A \sp 2}} - @@ -33185,6 +33195,7 @@ $$ \displaystyle \frac{\left( \begin{array}{@{}l} +\displaystyle {{\frac{1610957}{94070601}} \ { \%A \sp 4}}+ {{\frac{2763014}{94070601}} \ { \%A \sp 3}} - {{\frac{2016775}{94070601}} \ { \%A \sp 2}}+ @@ -33217,35 +33228,39 @@ For more information, see the paper: Bronstein, M and Salvy, B. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \domainhead{GeneralDistributedMultivariatePolynomial} -DistributedMultivariatePolynomial which is abbreviated as DMP and -HomogeneousDistributedMultivariatePolynomial, which is abbreviated +{\tt DistributedMultivariatePolynomial} which is abbreviated as DMP and +{\tt Homogeneous\-DistributedMultivariatePolynomial}, which is abbreviated as HDMP, are very similar to MultivariatePolynomial except that they are represented and displayed in a non-recursive manner. \begin{verbatim} (d1,d2,d3) : DMP([z,y,x],FRAC INT) - Type: Void \end{verbatim} +\returnType{Type: Void} The constructor DMP orders its monomials lexicographically while HDMP orders them by total order refined by reverse lexicographic order. \begin{verbatim} d1 := -4*z + 4*y**2*x + 16*x**2 + 1 - 2 2 - - 4z + 4y x + 16x + 1 - Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer) \end{verbatim} +$$ +{4 \ z}+{4 \ {y^2} \ x}+{{16} \ {x^2}}+1 +$$ +\returnType{Type: DistributeMultivariatePolynomial([z,y,x],Fraction Integer)} \begin{verbatim} d2 := 2*z*y**2 + 4*x + 1 - 2 - 2z y + 4x + 1 - Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer) \end{verbatim} +$$ +{2 \ z \ {y^2}}+{4 \ x}+1 +$$ +\returnType{Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer)} + \begin{verbatim} d3 := 2*z*x**2 - 2*y**2 - x - 2 2 - 2z x - 2y - x - Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer) \end{verbatim} +$$ +{2 \ z \ {x^2}} -{2 \ {y^2}} -x +$$ +\returnType{Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer)} These constructors are mostly used in Groebner basis calculations. \begin{verbatim} groebner [d1,d2,d3] @@ -33258,47 +33273,98 @@ These constructors are mostly used in Groebner basis calculations. 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} +$$ +\begin{array}{@{}l} +\displaystyle +\left[ +{z - {{ \frac{{1568}}{{2745}} \ {x^6}} - {{ \frac{{1264}}{{305}}} \ +{x^5}}+{{ \frac{6}{{305}}} \ {x^4}}+{{ \frac{{182}}{{549}}} \ {x^3}} - {{ +\frac{{2047}}{{610}}} \ {x^2}} - {{ \frac{{103}}{{2745}}} \ x} -{ +\frac{{2857}}{{10980}}}}}, +\right. +\\ +\displaystyle +\left. +\: {{y^2}+{{ \frac{{112}}{{2745}}} \ {x^6}} -{{ +\frac{{84}}{{305}}} \ {x^5}} -{{ \frac{{1264}}{{305}}} \ {x^4}} -{{ +\frac{{13}}{{549}}} \ {x^3}}+{{ \frac{{84}}{{305}}} \ {x^2}}+{{ +\frac{{1772}}{{2745}}} \ x}+{ \frac{2}{{2745}}}}, +\right. +\\ +\displaystyle +\left. +\: {{x^7}}+{{ +\frac{{29}}{{4}} \ {x^6}} -{{ \frac{{17}}{{16}}} \ {x^4}} -{{ +\frac{{11}}{8}} \ {x^3}}+{{ \frac{1}{{32}}} \ {x^2}}+{{ \frac{{15}}{{16}}} +\ x}+{ \frac{1}{4}}} +\right] +\end{array} +$$ +\returnType{ +Type: List DistributedMultivariatePolynomial([z,y,x],Fraction Integer)} \begin{verbatim} (n1,n2,n3) : HDMP([z,y,x],FRAC INT) - Type: Void \end{verbatim} +\returnType{Type: Void} \begin{verbatim} n1 := d1 - 2 2 - 4y x + 16x - 4z + 1 - Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer) \end{verbatim} +$$ +{4 \ {y^2} \ x}+{{16} \ {x^2}} -{4 \ z}+1 +$$ +\returnType{ +Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer)} \begin{verbatim} n2 := d2 - 2 - 2z y + 4x + 1 - Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer) \end{verbatim} +$$ +{2 \ z \ {y^2}}+{4 \ x}+1 +$$ +\returnType{ +Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer)} \begin{verbatim} n3 := d3 - 2 2 - 2z x - 2y - x - Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer) \end{verbatim} +$$ +{2 \ z \ {x^2}} -{2 \ {y^2}} -x +$$ +\returnType{ +Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer)} Note that we get a different Groebner basis when we use the HDMP polynomials, as expected. \begin{verbatim} groebner [n1,n2,n3] - 4 3 3 2 1 1 4 29 3 1 2 7 9 1 - [y + 2x - - x + - z - -, x + -- x - - y - - z x - -- x - -, - 2 2 8 4 8 4 16 4 - 2 1 2 2 1 2 2 1 - z y + 2x + -, y x + 4x - z + -, z x - y - - x, - 2 4 2 - 2 2 2 1 3 - z - 4y + 2x - - z - - x] - 4 2 - Type: List HomogeneousDistributedMultivariatePolynomial([z,y,x], - Fraction Integer) -\end{verbatim} -GeneralDistributedMultivariatePolynomial is somewhat more flexible in +\end{verbatim} +$$ +\begin{array}{@{}l} +\displaystyle +\left[ +{{y^4}+{2 \ {x^3}} -{{ \frac{3}{2}} \ {x^2}}+{{ \frac{1}{2}} \ z} -{ +\frac{1}{8}}}, +\: {{x^4}+{{ \frac{{29}}{4}} \ {x^3}} -{{ \frac{1}{8}} \ +{y^2}} -{{ \frac{7}{4}} \ z \ x} -{{ \frac{9}{{16}}} \ x} -{ +\frac{1}{4}}}, +\right. +\\ +\displaystyle +\left. +\: {{z \ {y^2}}+{2 \ x}+{ \frac{1}{2}}}, \: {{{y^2} \ x}+{4 +\ {x^2}} -z+{ \frac{1}{4}}}, +\right. +\\ +\displaystyle +\left. +\: {{z \ {x^2}} -{y^2} -{{ \frac{1}{2}} \ +x}}, \: {{z^2} -{4 \ {y^2}}+{2 \ {x^2}} -{{ \frac{1}{4}} \ z} -{{ +\frac{3}{2}} \ x}} +\right] +\end{array} +$$ +\returnType{ +Type: List HomogeneousDistributedMultivariatePolynomial([z,y,x], +Fraction Integer)} +{\tt GeneralDistributedMultivariatePolynomial} is somewhat more flexible in the sense that as well as accepting a list of variables to specify the variable ordering, it also takes a predicate on exponent vectors to specify the term ordering. With this polynomial type the user can @@ -33436,6 +33502,7 @@ For the cyclohexan, the distances have to satisfy this equation. \spadcommand{eq := determinant mfzn } $$ \begin{array}{@{}l} +\displaystyle -{{x \sp 2} \ {y \sp 2}}+ {{\frac{22}{3}} \ {x \sp 2} \ y} - {{\frac{25}{9}} \ {x \sp 2}}+ @@ -33461,6 +33528,7 @@ $$ \left[ \begin{array}{@{}l} +\displaystyle \left[ {x \ y}+ {x \ z} - @@ -33487,6 +33555,7 @@ $$ \displaystyle \left. \begin{array}{@{}l} +\displaystyle {{y \sp 2} \ {z \sp 2}} - {{\frac{22}{3}} \ {y \sp 2} \ z}+ {{\frac{25}{9}} \ {y \sp 2}} - @@ -33689,7 +33758,7 @@ Another way to produce the same result is by defining a {\tt heapsort} function. \spadcommand{heapsort(x) == (empty? x => []; cons(extract!(x),heapsort x))} -\returnType{Void} +\returnType{Type: Void} Create another sample heap. @@ -33804,91 +33873,134 @@ $$ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \domainhead{HomogeneousDistributedMultivariatePolynomial} -DistributedMultivariatePolynomial which is abbreviated as DMP and -HomogeneousDistributedMultivariatePolynomial, which is abbreviated +{\tt DistributedMultivariatePolynomial} which is abbreviated as DMP and +{\tt Homogeneous\-DistributedMultivariatePolynomial}, which is abbreviated as HDMP, are very similar to MultivariatePolynomial except that they are represented and displayed in a non-recursive manner. \begin{verbatim} (d1,d2,d3) : DMP([z,y,x],FRAC INT) - Type: Void \end{verbatim} +\returnType{Type: Void} The constructor DMP orders its monomials lexicographically while HDMP orders them by total order refined by reverse lexicographic order. \begin{verbatim} d1 := -4*z + 4*y**2*x + 16*x**2 + 1 - 2 2 - - 4z + 4y x + 16x + 1 - Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer) \end{verbatim} +$$ +-{4 \ z}+{4 \ {y^2} \ x}+{{16} \ {x^2}}+1 +$$ +\returnType{Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer)} \begin{verbatim} d2 := 2*z*y**2 + 4*x + 1 - 2 - 2z y + 4x + 1 - Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer) \end{verbatim} +$$ +{2 \ z \ {y^2}}+{4 \ x}+1 +$$ +\returnType{Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer)} \begin{verbatim} d3 := 2*z*x**2 - 2*y**2 - x - 2 2 - 2z x - 2y - x - Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer) \end{verbatim} +$$ +{2 \ z \ {x^2}} -{2 \ {y^2}} -x +$$ +\returnType{Type: DistributedMultivariatePolynomial([z,y,x],Fraction Integer)} These constructors are mostly used in Groebner basis calculations. \begin{verbatim} groebner [d1,d2,d3] - 1568 6 1264 5 6 4 182 3 2047 2 103 2857 - [z - ---- x - ---- x + --- x + --- x - ---- x - ---- x - -----, - 2745 305 305 549 610 2745 10980 - 2 112 6 84 5 1264 4 13 3 84 2 1772 2 - y + ---- x - --- x - ---- x - --- x + --- x + ---- x + ----, - 2745 305 305 549 305 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} +$$ +\begin{array}{@{}l} +\displaystyle +\left[ +{z -{{ \frac{{1568}}{2745}}} \ {x^6}} -{{ \frac{{1264}}{{305}} \ +{x^5}}+{{ \frac{6}{{305}}} \ {x^4}}+{{ \frac{{182}}{{549}}} \ {x^3}} -{{ +\frac{{2047}}{{610}}} \ {x^2}} -{{ \frac{{103}}{{2745}}} \ x} -{ +\frac{{2857}}{{10980}}}}, +\right. +\\ +\displaystyle +\left. +\: {{y^2}+{{ \frac{{112}}{{2745}}} \ {x^6}} -{{ +\frac{{84}}{{305}}} \ {x^5}} -{{ \frac{{1264}}{{305}}} \ {x^4}} -{{ +\frac{{13}}{{549}}} \ {x^3}}+{{ \frac{{84}}{{305}}} \ {x^2}}+{{ +\frac{{1772}}{{2745}}} \ x}+{ \frac{2}{{2745}}}}, +\right. +\\ +\displaystyle +\left. +\: {{x^7}+{{ +\frac{{29}}{4}} \ {x^6}} -{{ \frac{{17}}{{16}}} \ {x^4}} -{{ +\frac{{11}}{8}} \ {x^3}}+{{ \frac{1}{{32}}} \ {x^2}}+{{ \frac{{15}}{{16}}} +\ x}+{ \frac{1}{4}}} +\right] +\end{array} +$$ +\returnType{ +Type: List DistributedMultivariatePolynomial([z,y,x],Fraction Integer)} \begin{verbatim} (n1,n2,n3) : HDMP([z,y,x],FRAC INT) - Type: Void \end{verbatim} +\returnType{Type: Void} \begin{verbatim} n1 := d1 - 2 2 - 4y x + 16x - 4z + 1 - Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer) \end{verbatim} +$$ +{4 \ {y^2} \ x}+{{16} \ {x^2}} -{4 \ z}+1 +$$ +\returnType{ +Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer)} \begin{verbatim} n2 := d2 - 2 - 2z y + 4x + 1 - Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer) \end{verbatim} +$$ +{2 \ z \ {y^2}}+{4 \ x}+1 +$$ +\returnType{ +Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer)} \begin{verbatim} n3 := d3 - 2 2 - 2z x - 2y - x - Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer) \end{verbatim} +$$ +{2 \ z \ {x^2}} -{2 \ {y^2}} -x +$$ +\returnType{ +Type: HomogeneousDistributedMultivariatePolynomial([z,y,x],Fraction Integer)} \begin{verbatim} - Note that we get a different Groebner basis when we use the HDMP polynomials, as expected. \begin{verbatim} groebner [n1,n2,n3] - 4 3 3 2 1 1 4 29 3 1 2 7 9 1 - [y + 2x - - x + - z - -, x + -- x - - y - - z x - -- x - -, - 2 2 8 4 8 4 16 4 - 2 1 2 2 1 2 2 1 - z y + 2x + -, y x + 4x - z + -, z x - y - - x, - 2 4 2 - 2 2 2 1 3 - z - 4y + 2x - - z - - x] - 4 2 - Type: List HomogeneousDistributedMultivariatePolynomial([z,y,x], - Fraction Integer) -\end{verbatim} - -GeneralDistributedMultivariatePolynomial is somewhat more flexible in +\end{verbatim} +$$ +\begin{array}{@{}l} +\displaystyle +\left[ +{{y^4}+{2 \ {x^3}} -{{ \frac{3}{2}} \ {x^2}}+{{ \frac{1}{2}} \ z} -{ +\frac{1}{8}}}, +\: {{x^4}+{{ \frac{{29}}{4}} \ {x^3}} -{{ \frac{1}{8}} \ +{y^2}} -{{ \frac{7}{4}} \ z \ x} -{{ \frac{9}{{16}}} \ x} -{ +\frac{1}{4}}}, +\right. +\\ +\displaystyle +\left. +\: {{z \ {y^2}}+{2 \ x}+{ \frac{1}{2}}}, \: {{{y^2} \ x}+{4 +\ {x^2}} -z+{ \frac{1}{4}}}, +\right. +\\ +\displaystyle +\left. +\: {{z \ {x^2}} -{y^2} -{{ \frac{1}{2}} \ +x}}, \: {{z^2} -{4 \ {y^2}}+{2 \ {x^2}} -{{ \frac{1}{4}} \ z} -{{ +\frac{3}{2}} \ x}} +\right] +\end{array} +$$ +\returnType{ +Type: List HomogeneousDistributedMultivariatePolynomial([z,y,x], +Fraction Integer)} +{\tt GeneralDistributedMultivariatePolynomial} is somewhat more flexible in the sense that as well as accepting a list of variables to specify the variable ordering, it also takes a predicate on exponent vectors to specify the term ordering. With this polynomial type the user can @@ -34573,7 +34685,7 @@ When {\tt f(n) = 1}, then {\tt F(n) = d(n)}. Thus, if you sum $\mu(d) should always get {\tt 1}. \spadcommand{f1(n) == reduce(+,[moebiusMu(d) * numberOfDivisors(quo(n,d)) for d in divisors(n)]) } -\returnType{Void} +\returnType{Type: Void} \spadcommand{f1(200) } $$ @@ -34592,7 +34704,7 @@ if you sum {\tt $\mu$(d) $\cdot$ $\sigma$(n/d)} over the positive divisors {\tt d} of {\tt n}, you should always get {\tt n}. \spadcommand{f2(n) == reduce(+,[moebiusMu(d) * sumOfDivisors(quo(n,d)) for d in divisors(n)]) } -\returnType{Void} +\returnType{Type: Void} \spadcommand{f2(200) } $$ @@ -34667,7 +34779,7 @@ $$ Fibonacci numbers can also be expressed as sums of binomial coefficients. \spadcommand{fib(n) == reduce(+,[binomial(n-1-k,k) for k in 0..quo(n-1,2)]) } -\returnType{Void} +\returnType{Type: Void} \spadcommand{fib(25) } $$ @@ -34721,7 +34833,7 @@ This function computes the class number of the imaginary quadratic field with discriminant {\tt d}. \spadcommand{h(d) == quo(reduce(+, [jacobi(d,k) for k in 1..quo(-d, 2)]), 2 - jacobi(d,2)) } -\returnType{Void} +\returnType{Type: Void} \spadcommand{h(-163) } $$ @@ -35171,7 +35283,8 @@ be a lexicographical Groebner basis. This package takes two arguments: the coefficient-ring {\bf R} of the polynomials, which must be a {\tt GcdDomain} and their set of variables given by {\bf ls} a {\tt List Symbol}. The type of the -input polynomials must be {\tt NewSparseMultivariatePolynomial(R,V)} +input polynomials must be\\ +{\tt NewSparseMultivariatePolynomial(R,V)} where {\bf V} is {\tt OrderedVariableList(ls)}. The abbreviation for {\tt LexTriangularPackage} is {\tt LEXTRIPK}. The main operations are \spadfunFrom{lexTriangular}{LexTriangularPackage} and @@ -36922,7 +37035,7 @@ $$ \returnType{Type: PositiveInteger} We can investigate the triangular decomposition {\bf lts} by using the -{\tt ZeroDimensionalSolvePackage}. +{\tt ZeroDimensionalSolve\-Package}. This requires to add an extra variable (smaller than the others) as follows. @@ -39010,7 +39123,8 @@ the category {\tt SquareFreeRegularTriangularSetCategory(R,E,V,P)}. The abbreviation for {\tt LazardSetSolvingPackage} is {\tt LAZM3PK}. {\bf N.B.} For the purpose of solving zero-dimensional algebraic systems, -see also {\tt LexTriangularPackage} and {\tt ZeroDimensionalSolvePackage}. +see also\\ {\tt LexTriangular\-Package} +and {\tt ZeroDimensionalSolvePackage}. These packages are easier to call than {\tt LAZM3PK}. Moreover, the {\tt ZeroDimensionalSolvePackage} package provides operations @@ -40256,7 +40370,7 @@ OrderedVariableList [b1,x,y,z,t,v,u,w]))} Due to square-free factorization, we obtained now four zero-dimensional regular chains. Moreover, each of them is normalized (the initials are constant). Note that these zero-dimensional -components may be investigated further with the +components may be investigated further with the \\ {\tt ZeroDimensionalSolvePackage} package constructor. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -40640,7 +40754,7 @@ Function declaration Jacobi : ( LiePolynomial(Symbol,Fraction Integer) has been added to workspace. \end{verbatim} -\returnType{Void} +\returnType{Type: Void} Tests @@ -40731,7 +40845,7 @@ phi := sum(s[i]*exp(x)/x**i, i = 0..) Define the differential. \spadcommand{Dx: LODO(EXPR INT, f +-> D(f, x)) } -\returnType{Void} +\returnType{Type: Void} \spadcommand{Dx := D() } $$ @@ -40750,28 +40864,28 @@ $$ LinearOrdinaryDifferentialOperator(Expression Integer,theMap NIL)} \spadcommand{n == 3 } -\returnType{Void} +\returnType{Type: Void} \spadcommand{phi == reduce(+,[subscript(s,[i])*exp(x)/x**i for i in 0..n]) } -\returnType{Void} +\returnType{Type: Void} \spadcommand{phi1 == Dop(phi) / exp x } -\returnType{Void} +\returnType{Type: Void} \spadcommand{phi2 == phi1 *x**(n+3) } -\returnType{Void} +\returnType{Type: Void} \spadcommand{phi3 == retract(phi2)@(POLY INT) } -\returnType{Void} +\returnType{Type: Void} \spadcommand{pans == phi3 ::UP(x,POLY INT) } -\returnType{Void} +\returnType{Type: Void} \spadcommand{pans1 == [coefficient(pans, (n+3-i) :: NNI) for i in 2..n+1] } -\returnType{Void} +\returnType{Type: Void} \spadcommand{leq == solve(pans1,[subscript(s,[i]) for i in 1..n]) } -\returnType{Void} +\returnType{Type: Void} Evaluate this for several values of {\tt n}. @@ -40864,7 +40978,7 @@ $$ Compiled code for pans has been cleared. 1 old definition(s) deleted for function or rule n \end{verbatim} -\returnType{Void} +\returnType{Type: Void} \spadcommand{leq } \begin{verbatim} @@ -41267,7 +41381,7 @@ For exact division, the operations \spadfunFrom{leftExactQuotient}{LinearOrdinaryDifferentialOperator1} and \spadfunFrom{rightExactQuotient}{LinearOrdinaryDifferentialOperator1} are supplied. These return the quotient but only if the remainder is zero. -The call {\tt rightExactQuotient(a,b)} would yield an error. +The call {\tt rightExact\-Quotient(a,b)} would yield an error. \spadcommand{leftExactQuotient(a,b) } $$ @@ -42275,6 +42389,7 @@ All Lyndon words of with a, b to order 5 $$ \begin{array}{@{}l} \left[ +\displaystyle {\left[ a \right]}, {\left[ b \right]}, {\left[ a \ b \right]}, @@ -42829,7 +42944,7 @@ rational number to an integer exponent. Function declaration power : (Fraction Integer,Integer) -> Fraction Integer has been added to workspace. \end{verbatim} -\returnType{Void} +\returnType{Type: Void} \spadcommand{power(2,3) } \begin{verbatim} @@ -42862,7 +42977,7 @@ $$ Now we define {\tt square} in terms of {\tt power}. \spadcommand{square: FRAC INT -> FRAC INT } -\returnType{Void} +\returnType{Type: Void} The \spadfunFrom{curryRight}{MappingPackage3} operation creates a unary function from a binary one by providing a constant argument on @@ -42943,7 +43058,7 @@ that are {\tt n}-fold iterations of other functions. Function declaration sc : Fraction Integer -> Fraction Integer has been added to workspace. \end{verbatim} -\returnType{Void} +\returnType{Type: Void} This is a list of {\tt Mapping} objects. @@ -42993,7 +43108,7 @@ operation for recursion: Function declaration times : (NonNegativeInteger,Integer) -> Integer has been added to workspace. \end{verbatim} -\returnType{Void} +\returnType{Type: Void} \spadcommand{r := recur(times) } $$ @@ -43022,7 +43137,7 @@ mto2ton(m, n) == raiser := square**n raiser m \end{verbatim} -\returnType{Void} +\returnType{Type: Void} This is $3^{2^3}.$ @@ -43048,7 +43163,7 @@ shiftfib(r: List INT) : INT == Function declaration shiftfib : List Integer -> Integer has been added to workspace. \end{verbatim} -\returnType{Void} +\returnType{Type: Void} By currying over the argument we get a function with private state. @@ -43344,8 +43459,11 @@ new matrices. $$ \left[ \begin{array}{ccc} -{\frac{1}{2}} & {\frac{1}{3}} & {\frac{1}{4}} \\ -{\frac{1}{5}} & {\frac{1}{6}} & {\frac{1}{7}} +\displaystyle {\frac{1}{2}} & \displaystyle {\frac{1}{3}} & +\displaystyle {\frac{1}{4}} \\ +\\ +\displaystyle {\frac{1}{5}} & \displaystyle {\frac{1}{6}} & +\displaystyle {\frac{1}{7}} \end{array} \right] $$ @@ -43357,8 +43475,11 @@ $$ $$ \left[ \begin{array}{ccc} -{\frac{3}{5}} & {\frac{3}{7}} & {\frac{3}{11}} \\ -{\frac{3}{13}} & {\frac{3}{17}} & {\frac{3}{19}} +{\displaystyle \frac{3}{5}} & \displaystyle {\frac{3}{7}} & + \displaystyle {\frac{3}{11}} \\ +\\ + \displaystyle {\frac{3}{13}} & \displaystyle {\frac{3}{17}} & + \displaystyle {\frac{3}{19}} \end{array} \right] $$ @@ -43371,10 +43492,13 @@ The two matrices must have the same number of rows. $$ \left[ \begin{array}{cccccc} -{\frac{1}{2}} & {\frac{1}{3}} & {\frac{1}{4}} & {\frac{3}{5}} & -{\frac{3}{7}} & {\frac{3}{11}} \\ -{\frac{1}{5}} & {\frac{1}{6}} & {\frac{1}{7}} & {\frac{3}{13}} & -{\frac{3}{17}} & {\frac{3}{19}} + \displaystyle {\frac{1}{2}} & \displaystyle {\frac{1}{3}} & + \displaystyle {\frac{1}{4}} & \displaystyle {\frac{3}{5}} & + \displaystyle {\frac{3}{7}} & \displaystyle {\frac{3}{11}} \\ +\\ + \displaystyle {\frac{1}{5}} & \displaystyle {\frac{1}{6}} & + \displaystyle {\frac{1}{7}} & \displaystyle {\frac{3}{13}} & + \displaystyle {\frac{3}{17}} & \displaystyle {\frac{3}{19}} \end{array} \right] $$ @@ -43387,10 +43511,18 @@ The two matrices must have the same number of columns. $$ \left[ \begin{array}{ccc} -{\frac{1}{2}} & {\frac{1}{3}} & {\frac{1}{4}} \\ -{\frac{1}{5}} & {\frac{1}{6}} & {\frac{1}{7}} \\ -{\frac{3}{5}} & {\frac{3}{7}} & {\frac{3}{11}} \\ -{\frac{3}{13}} & {\frac{3}{17}} & {\frac{3}{19}} +\displaystyle +{\displaystyle \frac{1}{2}} & \displaystyle {\frac{1}{3}} & + \displaystyle {\frac{1}{4}} \\ +\\ +{\displaystyle \frac{1}{5}} & \displaystyle {\frac{1}{6}} & + \displaystyle {\frac{1}{7}} \\ +\\ +{\displaystyle \frac{3}{5}} & \displaystyle {\frac{3}{7}} & + \displaystyle {\frac{3}{11}} \\ +\\ +{\displaystyle \frac{3}{13}} & \displaystyle {\frac{3}{17}} & + \displaystyle {\frac{3}{19}} \end{array} \right] $$ @@ -43403,9 +43535,14 @@ matrix by reflection across the main diagonal. $$ \left[ \begin{array}{cccc} -{\frac{1}{2}} & {\frac{1}{5}} & {\frac{3}{5}} & {\frac{3}{13}} \\ -{\frac{1}{3}} & {\frac{1}{6}} & {\frac{3}{7}} & {\frac{3}{17}} \\ -{\frac{1}{4}} & {\frac{1}{7}} & {\frac{3}{11}} & {\frac{3}{19}} +{\displaystyle \frac{1}{2}} & \displaystyle {\frac{1}{5}} & + \displaystyle {\frac{3}{5}} & \displaystyle {\frac{3}{13}} \\ +\\ +{\displaystyle \frac{1}{3}} & \displaystyle {\frac{1}{6}} & + \displaystyle {\frac{3}{7}} & \displaystyle {\frac{3}{17}} \\ +\\ +{\displaystyle \frac{1}{4}} & \displaystyle {\frac{1}{7}} & + \displaystyle {\frac{3}{11}} & \displaystyle {\frac{3}{19}} \end{array} \right] $$ @@ -43514,9 +43651,14 @@ This Hilbert matrix is invertible. $$ \left[ \begin{array}{ccc} -{\frac{1}{2}} & {\frac{1}{3}} & {\frac{1}{4}} \\ -{\frac{1}{3}} & {\frac{1}{4}} & {\frac{1}{5}} \\ -{\frac{1}{4}} & {\frac{1}{5}} & {\frac{1}{6}} +\displaystyle +{\frac{1}{2}} & \displaystyle {\frac{1}{3}} & \displaystyle {\frac{1}{4}} \\ +\\ +\displaystyle +{\frac{1}{3}} & \displaystyle {\frac{1}{4}} & \displaystyle {\frac{1}{5}} \\ +\\ +\displaystyle +{\frac{1}{4}} & \displaystyle {\frac{1}{5}} & \displaystyle {\frac{1}{6}} \end{array} \right] $$ @@ -43631,9 +43773,11 @@ $$ For more information on related topics, see \sectionref{ugIntroTwoDim}, -\sectionref{ugProblemEigen}, +\sectionref{ugProblemEigen},\\ \sectionref{ugxFloatHilbert}, -\domainref{Permanent}, \domainref{Vector}, \domainref{OneDimensionalArray}, +\domainref{Permanent}, +\domainref{Vector},\\ +\domainref{OneDimensionalArray}, and \domainref{TwoDimensionalArray}. %Original Page 420 @@ -43784,8 +43928,8 @@ The domain constructor {\tt MultivariatePolynomial} is similar to {\tt Polynomial} except that it specifies the variables to be used. {\tt Polynomial} are available for {\tt MultivariatePolynomial}. The abbreviation for {\tt MultivariatePolynomial} is {\tt MPOLY}. The -type expressions \centerline{{{\tt MultivariatePolynomial([x,y],Integer)}}} -and \centerline{{{\tt MPOLY([x,y],INT)}}} refer to the domain of +type expressions\\ \centerline{{{\tt MultivariatePolynomial([x,y],Integer)}}} +and\\ \centerline{{{\tt MPOLY([x,y],INT)}}} refer to the domain of multivariate polynomials in the variables {\tt x} and {\tt y} where the coefficients are restricted to be integers. The first variable specified is the main variable and the display of the polynomial reflects this. @@ -43814,7 +43958,7 @@ You can use other, unspecified variables, by using {\tt Polynomial} in the coefficient type of {\tt MPOLY}. \spadcommand{p : MPOLY([x,y],POLY INT) } -\returnType{Void} +\returnType{Type: Void} \spadcommand{p := (a**2*x - b*y**2 + 1)**2 } $$ @@ -43866,9 +44010,9 @@ $$ \boxed{4.6in}{ \noindent {\bf Restriction:} \begin{quotation}\noindent -Axiom does not allow you to create types where -{\tt MultivariatePolynomial} is contained in the coefficient type of -{\tt Polynomial}. Therefore, +Axiom does not allow you to create types where\\ +{\tt Multivariate\-Polynomial} is contained in the coefficient type of +{\tt Polynomial}. Therefore,\\ {\tt MPOLY([x,y],POLY INT)} is legal but {\tt POLY MPOLY([x,y],INT)} is not. \end{quotation} @@ -43879,7 +44023,7 @@ Multivariate polynomials may be combined with univariate polynomials to create types with special structures. \spadcommand{q : UP(x, FRAC MPOLY([y,z],INT)) } -\returnType{Void} +\returnType{Type: Void} This is a polynomial in {\tt x} whose coefficients are quotients of polynomials in {\tt y} and {\tt z}. @@ -43935,8 +44079,8 @@ a fraction. As you can see, Axiom provides extraordinary flexibility in the manipulation and display of expressions via its conversion facility. -For more information on related topics, see -\domainref{Polynomial}, \domainref{UnivariatePolynomial}, and +For more information on related topics, see \domainref{Polynomial},\\ +\domainref{UnivariatePolynomial}, and\\ \domainref{DistributedMultivariatePolynomial}. %Original Page 423 @@ -43967,7 +44111,7 @@ $$ \returnType{Type: List Float} If you wish to produce an empty list of a particular -type directly, such as {\tt List NonNegativeInteger}, do it this way. +type directly, such as {\tt List NonNegative\-Integer}, do it this way. \spadcommand{[ ]\$List(NonNegativeInteger)} $$ @@ -43988,30 +44132,62 @@ This is called the Nottingham Group. The Nottingham Group is the projective limit of finite p-groups. Every finite p-group can be embedded in the Nottingham Group. \begin{verbatim} - x:=monomial(1,1)$UFPS PF 1783 - x +x:=monomial(1,1)$UFPS PF 1783 \end{verbatim} +$$ +x +$$ +\returnType{Type: UnivariateFormalPowerSeries(PrimeField(1783))} \begin{verbatim} - s:=retract(sin x)$NOTTING PF 1783 - 3 5 7 9 11 - x + 297x + 1679x + 427x + 316x + O(x ) - - s^2 - 3 5 7 9 11 - x + 594x + 535x + 1166x + 1379x + O(x ) - - s^-1 - 3 5 7 9 11 - x + 1486x + 847x + 207x + 1701x + O(x ) - - s^-1*s - 11 - x + O(x ) - - s*s^-1 - 11 - x + O(x ) +s:=retract(sin x)$NOTTING PF 1783 +\end{verbatim} +$$ +x+{{297} \ {x^3}}+{{1679} \ {x^5}}+{{427} \ {x^7}}+{{316} \ {x^9}}+{O +\left( +{{x^{11}}} +\right)} +$$ +\returnType{Type: NottinghamGroup(PrimeField(1783))} +\begin{verbatim} +s^2 +\end{verbatim} +$$ +x+{{594} \ {x^3}}+{{535} \ {x^5}}+{{1166} \ {x^7}}+{{1379} \ {x^9}}+{O +\left({{x^{11}}} +\right)} +$$ +\returnType{Type: NottinghamGroup(PrimeField(1783))} +\begin{verbatim} +s^-1 +\end{verbatim} +$$ +x+{{1486} \ {x^3}}+{{847} \ {x^5}}+{{207} \ {x^7}}+{{1701} \ {x^9}}+{O +\left( +{{x^{11}}} +\right)} +$$ +\returnType{Type: NottinghamGroup(PrimeField(1783))} +\begin{verbatim} +s^-1*s \end{verbatim} +$$ +x+{O +\left( +{{x^{11}}} +\right)} +$$ +\returnType{Type: NottinghamGroup(PrimeField(1783))} +\begin{verbatim} +s*s^-1 +\end{verbatim} +$$ +x+{O +\left( +{{x^{11}}} +\right)} +$$ +\returnType{Type: NottinghamGroup(PrimeField(1783))} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \domainhead{Octonion} @@ -44172,7 +44348,7 @@ $$ \returnType{Type: OneDimensionalArray PositiveInteger} Another approach is to first create {\tt a}, a one-dimensional array -of 10 {\tt 0}'s. {\tt OneDimensionalArray} has the convenient +of 10 {\tt 0}'s. {\tt OneDimensional\-Array} has the convenient abbreviation {\tt ARRAY1}. \spadcommand{a : ARRAY1 INT := new(10,0)} @@ -44481,7 +44657,7 @@ L n == n = 1 => x (2*n-1)/n * x * L(n-1) - (n-1)/n * L(n-2) \end{verbatim} -\returnType{Void} +\returnType{Type: Void} Create the differential operator $\frac{d}{dx}$ on polynomials in {\tt x} over the rational numbers. @@ -44504,7 +44680,7 @@ This is the differential equation satisfied by the {\tt n}-th Legendre polynomial. \spadcommand{E n == (1 - x**2) * dx**2 - 2 * x * dx + n*(n+1) } -\returnType{Void} +\returnType{Type: Void} Now we verify this for {\tt n = 15}. Here is the polynomial. @@ -44620,9 +44796,10 @@ uses an orderly ranking, that is, derivatives of higher order are ranked higher, and derivatives of the same order are ranked alphabetically. The second domain uses a sequential ranking, where derivatives are ordered first alphabetically by the differential -indeterminates, and then by order. A more general domain constructor, +indeterminates, and then by order. A more general domain constructor,\\ {\tt DifferentialSparseMultivariatePolynomial} (abbreviation -{\tt DSMP}) allows both a user-provided list of differential indeterminates +{\tt DSMP})\\ +allows both a user-provided list of differential indeterminates as well as a user-defined ranking. We shall illustrate {\tt ODPOL(FRAC INT)}, which constructs a domain of ordinary differential polynomials in an arbitrary number of differential indeterminates with @@ -45035,7 +45212,7 @@ example, the rational number {\tt 1/6} is decomposed into {\tt 1/2-1/3}. You can compute partial fractions of quotients of objects from domains belonging to the category {\tt EuclideanDomain}. For example, {\tt Integer}, {\tt Complex Integer}, and -{\tt UnivariatePolynomial(x, Fraction Integer)} +{\tt Univariate\-Polynomial(x, Fraction Integer)} all belong to {\tt EuclideanDomain}. In the examples following, we demonstrate how to decompose quotients of each of these kinds of object into partial fractions. Issue the system @@ -45181,8 +45358,8 @@ $$ \spadcommand{padicFraction \% } $$ -\displaystyle \begin{array}{@{}l} +\displaystyle {\frac{\frac{1}{648}}{x+1}}+ {\frac{\frac{1}{4}}{x+2}} - {\frac{\frac{1}{16}}{{\left( x+2 \right)}\sp 2}} - @@ -45231,7 +45408,7 @@ kn n == r.i.i := 0 r \end{verbatim} -\returnType{Void} +\returnType{Type: Void} Here are some derangement numbers, which you see grow quite fast. @@ -45249,7 +45426,7 @@ $$ Cannot compile conversion for types involving local variables. In particular, could not compile the expression involving :: SQMATRIX(n,INT) -AXIOM will attempt to step through and interpret the code. +Axiom will attempt to step through and interpret the code. \end{verbatim} $$ \begin{array}{@{}l} @@ -45370,8 +45547,8 @@ in {\tt y} with coefficients that are polynomials in {\tt x} with integer coefficients. In fact, you really don't need to worry about the representation unless you are working on an advanced application where it is critical. The polynomial types created from {\tt -DistributedMultivariatePolynomial} and -{\tt NewDistributedMultivariatePolynomial} (discussed in +DistributedMultivariatePolynomial} and\\ +{\tt NewDistributedMultivariatePolynomial} (discussed in\\ \domainref{DistributedMultivariatePolynomial}) are stored and displayed in a non-recursive manner. @@ -45813,7 +45990,7 @@ $$ $$ \returnType{Type: Fraction Polynomial Integer} -If you use rational numbers as polynomial coefficients, the +If you use rational numbers as polynomial coefficients, the\\ resulting object is of type {\tt Polynomial Fraction Integer}. \spadcommand{(2/3) * x**2 - y + 4/5 } @@ -46218,7 +46395,8 @@ $$ \returnType{Type: Fraction Integer} More examples of expansions are available in -\domainref{DecimalExpansion}, \domainref{BinaryExpansion}, and +\domainref{DecimalExpansion},\\ +\domainref{BinaryExpansion}, and \domainref{HexadecimalExpansion}. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -46229,11 +46407,12 @@ The Real Closure 1.0 package provided by Renaud Rioboo domains : \begin{list}{} -\item The package {\tt RealPolynomialUtilitiesPackage} which needs a -{\tt Field} {\em F} and a {\tt UnivariatePolynomialCategory} domain +\item The package {\tt RealPolynomialUtilitiesPackage}\\ +which needs a +{\tt Field} {\em F} and a {\tt Univariate\-PolynomialCategory} domain with coefficients in {\em F}. It computes some simple functions such -as Sturm and Sylvester sequences -(\spadfunFrom{sturmSequence}{RealPolynomialUtilitiesPackage}, +as Sturm and Sylvester sequences\\ +(\spadfunFrom{sturmSequence}{RealPolynomialUtilitiesPackage},\\ \spadfunFrom{sylvesterSequence}{RealPolynomialUtilitiesPackage}). \item The category {\tt RealRootCharacterizationCategory} provides abstract @@ -46245,9 +46424,9 @@ operations. available over real closed fiels. These include finding all the roots of a univariate polynomial, taking square (and higher) roots, ... -\item The domain {\tt RightOpenIntervalRootCharacterization} is the -main code that provides the functionality of {\tt -RealRootCharacterizationCategory} for the case of archimedean +\item The domain {\tt RightOpenIntervalRootCharacterization}\\ +is the main code that provides the functionality of \\ +{\tt RealRootCharacterizationCategory} for the case of archimedean fields. Abstract roots are encoded with a left closed right open interval containing the root together with a defining polynomial for the root. @@ -46325,7 +46504,7 @@ Function declaration fourSquares : (RealClosure Fraction Integer, RealClosure Fraction Integer) -> RealClosure Fraction Integer has been added to workspace. \end{verbatim} -\returnType{Void} +\returnType{Type: Void} These produce values very close to zero. @@ -46338,6 +46517,7 @@ $$ \spadcommand{recip(squareDiff1)} $$ \begin{array}{@{}l} +\displaystyle {{\left( {{\left( {{54602} \ {\sqrt {{548}}}}+ @@ -46375,6 +46555,7 @@ $$ \spadcommand{recip(squareDiff2)} $$ \begin{array}{@{}l} +\displaystyle \left( \left( {{556778} \ {\sqrt {{778}}}}+ @@ -46419,6 +46600,7 @@ $$ \spadcommand{recip(squareDiff3)} $$ \begin{array}{@{}l} +\displaystyle \left( \left( -{{34102} \ {\sqrt {{708}}}} - @@ -46463,6 +46645,7 @@ $$ \spadcommand{recip(squareDiff4)} $$ \begin{array}{@{}l} +\displaystyle \left( \left( -{{37078} \ {\sqrt {{836}}}} - @@ -46506,6 +46689,7 @@ $$ \spadcommand{recip(squareDiff5)} $$ \begin{array}{@{}l} +\displaystyle \left( \left( {{70922} \ {\sqrt {{772}}}}+ @@ -46553,6 +46737,7 @@ $$ \spadcommand{recip(squareDiff6)} $$ \begin{array}{@{}l} +\displaystyle \left( \left( {{115442} \ {\sqrt {{1053}}}}+ @@ -46597,6 +46782,7 @@ $$ \spadcommand{recip(squareDiff7)} $$ \begin{array}{@{}l} +\displaystyle \left( \left( {{349522} \ {\sqrt {{1049}}}}+ @@ -46644,6 +46830,7 @@ $$ \spadcommand{recip(squareDiff8)} $$ \begin{array}{@{}l} +\displaystyle \left( \left( -{{214702} \ {\sqrt {{1751}}}} - @@ -46998,100 +47185,118 @@ $$ \domainhead{RealSolvePackage} \begin{verbatim} p := 4*x^3 - 3*x^2 + 2*x - 4 - - - 3 2 - (1) 4x - 3x + 2x - 4 - Type: Polynomial Integer \end{verbatim} +$$ +{4 \ {x^3}} -{3 \ {x^2}}+{2 \ x} -4 +$$ +\returnType{Type: Polynomial(Integer)} \begin{verbatim} ans1 := solve(p,0.01)$REALSOLV - - - (2) [1.11328125] - Type: List Float \end{verbatim} +$$ +\left[ +{1.11328125} +\right] +$$ +\returnType{Type: List(Float)} \begin{verbatim} ans2 := solve(p::POLY(FRAC(INT)),0.01)$REALSOLV - - - (3) [1.11328125] - Type: List Float \end{verbatim} +$$ +\left[ +{1.11328125} +\right] +$$ +\returnType{Type: List(Float)} \begin{verbatim} R := Integer - - - (4) Integer - Type: Domain \end{verbatim} +$$ +Integer +$$ +\returnType{Type: Domain} \begin{verbatim} ls : List Symbol := [x,y,z,t] - - - (5) [x,y,z,t] - Type: List Symbol \end{verbatim} +$$ +\left[ +x, \: y, \: z, \: t +\right] +$$ +\returnType{Type: List(Symbol)} \begin{verbatim} ls2 : List Symbol := [x,y,z,t,new()$Symbol] - - - (6) [x,y,z,t,%A] - Type: List Symbol \end{verbatim} +$$ +\left[ +x, \: y, \: z, \: t, \: \%A +\right] +$$ +\returnType{Type: List(Symbol)} \begin{verbatim} pack := ZDSOLVE(R,ls,ls2) - - - (7) ZeroDimensionalSolvePackage(Integer,[x,y,z,t],[x,y,z,t,%A]) - Type: Domain \end{verbatim} +$$ +ZeroDimensionalSolvePackage(Integer,[x,y,z,t],[x,y,z,t,\%A]) +$$ +\returnType{Type: Domain} \begin{verbatim} p1 := x**2*y*z + y*z - - - 2 - (8) (x + 1)y z - Type: Polynomial Integer \end{verbatim} +$$ +{\left( {x^2}+1 +\right)} +\ y \ z +$$ +\returnType{Type: Polynomial(Integer)} \begin{verbatim} p2 := x**2*y**2*z + x + z - - - 2 2 - (9) (x y + 1)z + x - Type: Polynomial Integer \end{verbatim} +$$ +{{\left({{x^2} \ {y^2}}+1 +\right)} +\ z}+x +$$ +\returnType{Type: Polynomial(Integer)} \begin{verbatim} p3 := x**2*y**2*z**2 + z + 1 - - - 2 2 2 - (10) x y z + z + 1 - Type: Polynomial Integer \end{verbatim} +$$ +{{x^2} \ {y^2} \ {z^2}}+z+1 +$$ +\returnType{Type: Polynomial(Integer)} \begin{verbatim} lp := [p1, p2, p3] - - - 2 2 2 2 2 2 - (11) [(x + 1)y z,(x y + 1)z + x,x y z + z + 1] - Type: List Polynomial Integer \end{verbatim} +$$ +\left[ +{{\left( {x^2}+1 +\right)} +\ y \ z}, \: {{{\left( {{x^2} \ {y^2}}+1 +\right)} +\ z}+x}, \: {{{x^2} \ {y^2} \ {z^2}}+z+1} +\right] +$$ +\returnType{Type: List(Polynomial(Integer))} \begin{verbatim} lsv:List(Symbol):=[x,y,z] - - - (12) [x,y,z] - Type: List Symbol \end{verbatim} +$$ +\left[ +x, \: y, \: z +\right] +$$ +\returnType{Type: List(Symbol)} \begin{verbatim} ans3 := realSolve(lp,lsv,0.01)$REALSOLV - - - (13) [ [1.0,0.0,- 1.0] ] - Type: List List Float \end{verbatim} +$$ +\left[ +{\left[ {1.0}, \: {0.0}, \: -{1.0} +\right]} +\right] +$$ +\returnType{Type: List(List(Float))} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \domainhead{RegularTriangularSet} @@ -47128,7 +47333,8 @@ is the exponent monoid of the polynomials; it must belong to the category {\tt OrderedAbelianMonoidSup}. the third one, {\bf V}, is the ordered set of variables; it must belong to the category {\tt OrderedSet}. The last one is the polynomial ring; it must belong to -the category {\tt RecursivePolynomialCategory(R,E,V)}. The +the category \\ +{\tt RecursivePolynomialCategory(R,E,V)}. The abbreviation for {\tt RegularTriangularSet} is {\tt REGSET}. See also the constructor {\tt RegularChain} which only takes two arguments, the coefficient ring and the ordered set of variables; in that case, @@ -48349,7 +48555,7 @@ has be performed and its result is put in a hash-table. Each time a lower case letter appears a needed result has been found in an hash-table. The use of these hash-tables generally speed up the computations. However, on very large systems, it may happen that -these hash-tables become too big to be handle by your AXIOM +these hash-tables become too big to be handle by your Axiom configuration. Then in these exceptional cases, you may prefer getting a result (even if it takes a long time) than getting nothing. Hence you need to know how to prevent the {\tt RSEGSET} constructor @@ -48472,7 +48678,7 @@ You can also construct fractions with Roman numeral numerators and denominators, as this matrix Hilberticus illustrates. \spadcommand{m : MATRIX FRAC ROMAN } -\returnType{Void} +\returnType{Type: Void} %Original Page 447 @@ -48634,7 +48840,8 @@ $$ \returnType{Type: List Integer} For more information on related topics, see -\domainref{SegmentBinding} and \domainref{UniversalSegment}. +\domainref{SegmentBinding} and \\ +\domainref{UniversalSegment}. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \domainhead{SegmentBinding} @@ -48913,7 +49120,7 @@ values. Since Axiom can be implemented on top of various dialects of Lisp, the actual representation of small integers may not correspond exactly to the host machines integer representation. -In the CCL implementation of AXIOM (Release 2.1 onwards) the underlying +In the CCL implementation of Axiom (Release 2.1 onwards) the underlying representation of {\tt SingleInteger} is the same as {\tt Integer}. The underlying Lisp primitives treat machine-word sized computations specially. @@ -49094,8 +49301,8 @@ $$ If a specific table representation is required, the {\tt GeneralSparseTable} constructor should be used. The domain -{\tt SparseTable(K, E, dflt)} is equivalent to -{\tt GeneralSparseTable(K,E,Table(K,E), dflt)}. +{\tt SparseTable(K, E, dflt)} is equivalent to\\ +{\tt GeneralSparseTable(K, E, Table(K,E), dflt)}. For more information, see \domainref{Table} and \domainref{GeneralSparseTable}. %Original Page 456 @@ -49244,7 +49451,7 @@ regular triangular sets is generally more expensive than building general regular triangular sets. As the {\tt RegularTriangularSet} domain constructor, the -{\tt SquareFreeRegularTriangularSet} domain constructor also implements a +{\tt SquareFreeRegularTriangular\-Set} domain constructor also implements a method for solving polynomial systems by means of regular triangular sets. This is in fact the same method with some adaptations to take into account the fact that the computed regular chains are @@ -49257,7 +49464,7 @@ internally by the {\tt LazardSetSolvingPackage} package constructor. {\tt SquareFreeRegularTriangularSet} domain constructor or the {\tt LazardSetSolvingPackage} package constructor, decompositions have no redundant components. See also {\tt LexTriangularPackage} and -{\tt ZeroDimensionalSolvePackage} for the case of algebraic systems with a +{\tt ZeroDimensional\-SolvePackage} for the case of algebraic systems with a finite number of (complex) solutions. We shall explain now how to use the constructor @@ -49271,8 +49478,10 @@ it must belong to the category {\tt OrderedAbelianMonoidSup}. the third one, {\bf V}, is the ordered set of variables; it must belong to the category {\tt OrderedSet}. The last one is the polynomial ring; -it must belong to the category {\tt RecursivePolynomialCategory(R,E,V)}. -The abbreviation for {\tt SquareFreeRegularTriangularSet} is +it must belong to the category \\ +{\tt RecursivePolynomialCategory(R,E,V)}. +The abbreviation for \\ +{\tt SquareFreeRegularTriangularSet} is {\tt SREGSET}. Note that the way of understanding triangular decompositions @@ -49488,6 +49697,7 @@ and compute: \spadcommand{lts := zeroSetSplit(lp,false)\$T} $$ \begin{array}{@{}l} +\displaystyle \left[ {\left\{ {{z \sp 5} -{t \sp 4}}, {{t \ z \ {y \sp 2}}+ @@ -49748,10 +49958,10 @@ More generally, you can construct a stream by specifying its initial value and a function which, when given an element, creates the next element. \spadcommand{f : List INT -> List INT } -\returnType{Void} +\returnType{Type: Void} \spadcommand{f x == [x.1 + x.2, x.1] } -\returnType{Void} +\returnType{Type: Void} \spadcommand{fibs := [i.2 for i in [generate(f,[1,1])]] } \begin{verbatim} @@ -49864,9 +50074,9 @@ by {\tt String}. String values can be created using double quotes. -\spadcommand{hello := "Hello, I'm AXIOM!" } +\spadcommand{hello := "Hello, I'm Axiom!" } $$ -\mbox{\tt "Hello, I'm AXIOM!"} +\mbox{\tt "Hello, I'm Axiom!"} $$ \returnType{Type: String} @@ -49934,14 +50144,14 @@ before any updating operations are used. \spadcommand{hullo := copy hello } $$ -\mbox{\tt "Hello, I'm AXIOM!"} +\mbox{\tt "Hello, I'm Axiom!"} $$ \returnType{Type: String} \spadcommand{hullo.2 := char "u"; [hello, hullo] } $$ \left[ -\mbox{\tt "Hello, I'm AXIOM!"} , \mbox{\tt "Hullo, I'm AXIOM!"} +\mbox{\tt "Hello, I'm Axiom!"} , \mbox{\tt "Hullo, I'm Axiom!"} \right] $$ \returnType{Type: List String} @@ -49985,7 +50195,7 @@ $$ \spadcommand{hello(8..) } $$ -\mbox{\tt "I'm AXIOM!"} +\mbox{\tt "I'm Axiom!"} $$ \returnType{Type: String} @@ -49995,7 +50205,7 @@ character or character class. \spadcommand{split(hello, char " ")} $$ \left[ -\mbox{\tt "Hello,"} , \mbox{\tt "I'm"} , \mbox{\tt "AXIOM!"} +\mbox{\tt "Hello,"} , \mbox{\tt "I'm"} , \mbox{\tt "Axiom!"} \right] $$ \returnType{Type: List String} @@ -50051,7 +50261,7 @@ operations \spadfunFrom{upperCase}{String}, and \spadcommand{upperCase hello } $$ -\mbox{\tt "HELLO, I'M AXIOM!"} +\mbox{\tt "HELLO, I'M Axiom!"} $$ \returnType{Type: String} @@ -50179,7 +50389,7 @@ for s in split("My name is Ian Watt.",char " ") repeat t.s := #s \end{verbatim} -\returnType{Void} +\returnType{Type: Void} \spadcommand{for key in keys t repeat output [key, t.key] } \begin{verbatim} @@ -50189,7 +50399,7 @@ for s in split("My name is Ian Watt.",char " ") ["name",4] ["is",2] \end{verbatim} -\returnType{Void} +\returnType{Type: Void} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \domainhead{Symbol} @@ -50655,10 +50865,10 @@ be strings. See \domainref{StringTable} for more information. \item {\tt SparseTable} provides tables with default entries, so -lookup never fails. The {\tt GeneralSparseTable} constructor +lookup never fails. The {\tt General\-SparseTable} constructor can be used to make any table type behave this way. See \domainref{SparseTable} for more information. -\item {\tt KeyedAccessFile} allows values to be saved in a file, +\item {\tt KeyedAccessFile} allows values to be saved in a file,\\ accessed as a table. See \domainref{KeyedAccessFile} for more information. \end{list} @@ -50714,7 +50924,7 @@ while not endOfFile? f1 repeat s := readLine! f1 writeLine!(f2, upperCase s) \end{verbatim} -\returnType{Void} +\returnType{Type: Void} The file {\tt f1} is exhausted and should be closed. @@ -51046,249 +51256,383 @@ so we clear out the workspace. We assign values to the constants \begin{verbatim} - a:=0.5 - 0.5 - Type: Float +a:=0.5 \end{verbatim} +$$ +0.5 +$$ +\returnType{Type: Float} \begin{verbatim} - b:=0.5 - 0.5 - Type: Float +b:=0.5 \end{verbatim} +$$ +0.5 +$$ +\returnType{Type: Float} We draw the first case of the graph \begin{verbatim} - y1:=draw(x^3*(a+b*x),x=-1..1,title=="2.2.10 explicit") - TwoDimensionalViewport: "2.2.10 explicit" - Type: TwoDimensionalViewport +y1:=draw(x^3*(a+b*x),x=-1..1,title=="2.2.10 explicit") \end{verbatim} +$$ +\mbox{\rm TwoDimensionalViewport: } \mbox{\tt "2.2.10 explicit"} +$$ +\returnType{Type: TwDimensionalViewport} which results in the image:\\ \includegraphics[scale=2.00]{ps/v0plot1.eps} We fetch the graph of the first object \begin{verbatim} - g1:=getGraph(y1,1) - Graph with 1 point list - Type: GraphImage +g1:=getGraph(y1,1) \end{verbatim} - +$$ +\mbox{\rm Graph with } 1 \mbox{\rm point list} +$$ +\returnType{Type: GraphImage} We extract its points \begin{verbatim} - pointLists g1 - [ - [ [-1.,0.,1.,3.], [-0.95833333333333337,-1.8336166570216028E-2,1.,3.], - [-0.91666666666666674,-3.2093942901234518E-2,1.,3.], - [-0.87500000000000011,-4.18701171875E-2,1.,3.], - [-0.83333333333333348,-4.8225308641975301E-2,1.,3.], - [-0.79166666666666685,-5.1683967496141986E-2,1.,3.], - [-0.75000000000000022,-5.2734375E-2,1.,3.], - [-0.70833333333333359,-5.1828643422067916E-2,1.,3.], - [-0.66666666666666696,-4.9382716049382741E-2,1.,3.], - [-0.62500000000000033,-4.5776367187500042E-2,1.,3.], - [-0.5833333333333337,-4.1353202160493867E-2,1.,3.], - [-0.54166666666666707,-3.6420657310956832E-2,1.,3.], - [-0.50000000000000044,-3.1250000000000056E-2,1.,3.], - [-0.45833333333333376,-2.6076328607253136E-2,1.,3.], - [-0.41666666666666707,-2.1098572530864244E-2,1.,3.], - [-0.37500000000000039,-1.6479492187500042E-2,1.,3.], - [-0.3333333333333337,-1.2345679012345713E-2,1.,3.], - [-0.29166666666666702,-8.7875554591049648E-3,1.,3.], - [-0.25000000000000033,-5.8593750000000208E-3,1.,3.], - [-0.20833333333333368,-3.5792221257716214E-3,1.,3.], - [-0.16666666666666702,-1.9290123456790237E-3,1.,3.], - [-0.12500000000000036,-8.5449218750000705E-4,1.,3.], - [-8.3333333333333703E-2,-2.6523919753086765E-4,1.,3.], - [-4.1666666666667039E-2,-3.4661940586420673E-5,1.,3.], - [-3.7470027081099033E-16,-2.6304013894372334E-47,1.,3.], - [4.166666666666629E-2,3.7676022376542178E-5,1.,3.], - [8.3333333333332954E-2,3.1346450617283515E-4,1.,3.], - [0.12499999999999961,1.0986328124999894E-3,1.,3.], - [0.16666666666666627,2.7006172839505972E-3,1.,3.], - [0.20833333333333293,5.463023244598731E-3,1.,3.], - [0.24999999999999958,9.765624999999948E-3,1.,3.], - [0.29166666666666624,1.6024365837191284E-2,1.,3.], - [0.33333333333333293,2.469135802469126E-2,1.,3.], - [0.37499999999999961,3.6254882812499882E-2,1.,3.], - [0.4166666666666663,5.1239390432098617E-2,1.,3.], - [0.45833333333333298,7.0205500096450435E-2,1.,3.], - [0.49999999999999967,9.3749999999999792E-2,1.,3.], - [0.5416666666666663,0.12250584731867258,1.,3.], - [0.58333333333333293,0.15714216820987617,1.,3.], - [0.62499999999999956,0.1983642578124995,1.,3.], - [0.66666666666666619,0.24691358024691298,1.,3.], - [0.70833333333333282,0.30356776861496837,1.,3.], - [0.74999999999999944,0.369140624999999,1.,3.], - [0.79166666666666607,0.44448212046681984,1.,3.], - [0.8333333333333327,0.530478395061727,1.,3.], - [0.87499999999999933,0.62805175781249845,1.,3.], - [0.91666666666666596,0.73816068672839308,1.,3.], - [0.95833333333333259,0.86179982880015205,1.,3.], [1.,1.,1.,3.]] - ] - Type: List List Point DoubleFloat +pointLists g1 \end{verbatim} +$$ +\begin{array}{@{}l} +\left[\left[\right.\right.\\ +\quad{}{\left[ -{1.0}, {0.0}, {1.0}, {3.0} \right]}, \\ +\quad{}{\left[ -{0.95833333333333337}, -{1.8336166570216028E-2}, {1.0},{3.0} \right]},\\ +\quad{}{\left[ -{0.91666666666666674}, -{3.2093942901234518E-2}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ -{0.87500000000000011}, -{4.18701171875E-2}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ -{0.83333333333333348}, -{4.8225308641975301E-2}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ -{0.79166666666666685}, -{5.1683967496141986E-2}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ -{0.75000000000000022}, -{5.2734375E-2}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ -{0.70833333333333359}, -{5.1828643422067916E-2}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ -{0.66666666666666696}, -{4.9382716049382741E-2}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ -{0.62500000000000033}, -{4.5776367187500042E-2}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ -{0.5833333333333337}, -{4.1353202160493867E-2}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ -{0.54166666666666707}, -{3.6420657310956832E-2}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ -{0.50000000000000044}, -{3.1250000000000056E-2}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ -{0.45833333333333376}, -{2.6076328607253136E-2}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ -{0.41666666666666707}, -{2.1098572530864244E-2}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ -{0.37500000000000039}, -{1.6479492187500042E-2}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ -{0.3333333333333337}, -{1.2345679012345713E-2}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ -{0.29166666666666702}, -{8.7875554591049648E-3}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ -{0.25000000000000033}, -{5.8593750000000208E-3}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ -{0.20833333333333368}, -{3.5792221257716214E-3}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ -{0.16666666666666702}, -{1.9290123456790237E-3}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ -{0.12500000000000036}, -{8.5449218750000705E-4}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ -{8.3333333333333703E-2}, -{2.6523919753086765E-4},{1.0},{3.0}\right]},\\ +\quad{}{\left[ -{4.1666666666667039E-2},-{3.4661940586420673E-5},{1.0}, {3.0}\right]},\\ +\quad{}{\left[ -{3.7470027081099033E-16},-{2.630401389437233E-47},{1.0},{3.0}\right]},\\ +\quad{}{\left[ {4.166666666666629E-2,3}. {7676022376542178E-5}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ {8.3333333333332954E-2}, {3.1346450617283515E-4}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ {0.12499999999999961}, {1.0986328124999894E-3}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ {0.16666666666666627}, {2.7006172839505972E-3}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ {0.20833333333333293}, {5.463023244598731E-3}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ {0.24999999999999958}, {9.765624999999948E-3}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ {0.29166666666666624}, {1.6024365837191284E-2}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ {0.33333333333333293}, {2.469135802469126E-2}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ {0.37499999999999961}, {3.6254882812499882E-2}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ {0.4166666666666663}, {5.1239390432098617E-2}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ {0.45833333333333298}, {7.0205500096450435E-2}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ {0.49999999999999967}, {9.3749999999999792E-2}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ {0.5416666666666663}, {0.12250584731867258}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ {0.58333333333333293}, {0.15714216820987617}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ {0.62499999999999956}, {0.1983642578124995}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ {0.66666666666666619}, {0.24691358024691298}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ {0.70833333333333282}, {0.30356776861496837}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ {0.74999999999999944}, {0.369140624999999}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ {0.79166666666666607}, {0.44448212046681984}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ {0.8333333333333327}, {0.530478395061727}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ {0.87499999999999933}, {0.62805175781249845}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ {0.91666666666666596}, {0.73816068672839308}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[ {0.95833333333333259}, {0.86179982880015205}, {1.0}, {3.0}\right]}, \\ +\quad{}{\left[ {1.0}, {1.0}, {1.0}, {3.0}\right]}\\ +\left.\left.\right]\right] +\end{array} +$$ +\returnType{Type: List List Point DoubleFloat} Now we create a second graph with a changed parameter \begin{verbatim} - b:=1.0 - 1.0 - Type: Float +b:=1.0 \end{verbatim} +$$ +1.0 +$$ +\returnType{Type: Float} We draw it \begin{verbatim} - y2:=draw(x^3*(a+b*x),x=-1..1) - TwoDimensionalViewport: "AXIOM2D" - Type: TwoDimensionalViewport +y2:=draw(x^3*(a+b*x),x=-1..1) \end{verbatim} +$$ +\mbox{\rm TwoDimensionalViewport: } \mbox{\tt "Axiom2D"} +$$ +\returnType{Type: TwoDimensionalViewport} which results in the image:\\ \includegraphics[scale=2.00]{ps/v0plot2.eps} We fetch this new graph \begin{verbatim} - g2:=getGraph(y2,1) - Graph with 1 point list - Type: GraphImage +g2:=getGraph(y2,1) \end{verbatim} +$$ +\mbox{\rm Graph with } 1 \mbox{\rm point list} +$$ +\returnType{Type: GraphImage} We get the points from this graph \begin{verbatim} pointLists g2 - [ - [ [-1.,0.5,1.,3.], [-0.95833333333333337,0.40339566454475323,1.,3.], - [-0.91666666666666674,0.32093942901234584,1.,3.], - [-0.87500000000000011,0.25122070312500017,1.,3.], - [-0.83333333333333348,0.19290123456790137,1.,3.], - [-0.79166666666666685,0.14471510898919768,1.,3.], - [-0.75000000000000022,0.10546875000000019,1.,3.], - [-0.70833333333333359,7.404091917438288E-2,1.,3.], - [-0.66666666666666696,4.938271604938288E-2,1.,3.], - [-0.62500000000000033,3.0517578125000125E-2,1.,3.], - [-0.5833333333333337,1.6541280864197649E-2,1.,3.], - [-0.54166666666666707,6.6219376929013279E-3,1.,3.], - [-0.50000000000000044,5.5511151231257827E-17,1.,3.], - [-0.45833333333333376,-4.011742862654287E-3,1.,3.], - [-0.41666666666666707,-6.0281635802469057E-3,1.,3.], - [-0.37500000000000039,-6.5917968750000035E-3,1.,3.], - [-0.3333333333333337,-6.1728395061728461E-3,1.,3.], - [-0.29166666666666702,-5.1691502700617377E-3,1.,3.], - [-0.25000000000000033,-3.9062500000000104E-3,1.,3.], - [-0.20833333333333368,-2.6373215663580349E-3,1.,3.], - [-0.16666666666666702,-1.543209876543218E-3,1.,3.], - [-0.12500000000000036,-7.3242187500000564E-4,1.,3.], - [-8.3333333333333703E-2,-2.4112654320987957E-4,1.,3.], - [-4.1666666666667039E-2,-3.315489969135889E-5,1.,3.], - [-3.7470027081099033E-16,-2.6304013894372324E-47,1.,3.], - [4.166666666666629E-2,3.9183063271603852E-5,1.,3.], - [8.3333333333332954E-2,3.3757716049382237E-4,1.,3.], - [0.12499999999999961,1.2207031249999879E-3,1.,3.], - [0.16666666666666627,3.0864197530863957E-3,1.,3.], - [0.20833333333333293,6.4049238040123045E-3,1.,3.], - [0.24999999999999958,1.1718749999999934E-2,1.,3.], - [0.29166666666666624,1.9642771026234473E-2,1.,3.], - [0.33333333333333293,3.0864197530864071E-2,1.,3.], - [0.37499999999999961,4.6142578124999847E-2,1.,3.], - [0.4166666666666663,6.6309799382715848E-2,1.,3.], - [0.45833333333333298,9.2270085841049135E-2,1.,3.], - [0.49999999999999967,0.12499999999999971,1.,3.], - [0.5416666666666663,0.16554844232253049,1.,3.], - [0.58333333333333293,0.21503665123456736,1.,3.], - [0.62499999999999956,0.27465820312499928,1.,3.], - [0.66666666666666619,0.3456790123456781,1.,3.], - [0.70833333333333282,0.42943733121141858,1.,3.], - [0.74999999999999944,0.52734374999999845,1.,3.], - [0.79166666666666607,0.64088119695215873,1.,3.], - [0.8333333333333327,0.77160493827160281,1.,3.], - [0.87499999999999933,0.92114257812499756,1.,3.], - [0.91666666666666596,1.0911940586419722,1.,3.], - [0.95833333333333259,1.2835316599151199,1.,3.], [1.,1.5,1.,3.]] - ] - Type: List List Point DoubleFloat \end{verbatim} +$$ +\begin{array}{l} +\left[\left[\right.\right.\\ +\quad{}{\left[ -{1.0}, {0.5}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[-{0.95833333333333337}, {0.40339566454475323}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[-{0.91666666666666674}, {0.32093942901234584}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[-{0.87500000000000011}, {0.25122070312500017}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[-{0.83333333333333348}, {0.19290123456790137}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[-{0.79166666666666685}, {0.14471510898919768}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[-{0.75000000000000022}, {0.10546875000000019}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[-{0.70833333333333359}, {7.404091917438288E-2}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[-{0.66666666666666696}, {4.938271604938288E-2}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[-{0.62500000000000033}, {3.0517578125000125E-2}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[-{0.5833333333333337}, {1.6541280864197649E-2}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[-{0.54166666666666707}, {6.6219376929013279E-3}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[-{0.50000000000000044}, {5.5511151231257827E-17}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[-{0.45833333333333376}, -{4.011742862654287E-3}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[-{0.41666666666666707}, -{6.0281635802469057E-3}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[-{0.37500000000000039}, -{6.5917968750000035E-3}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[-{0.3333333333333337}, -{6.1728395061728461E-3}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[-{0.29166666666666702}, -{5.1691502700617377E-3}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[-{0.25000000000000033}, -{3.9062500000000104E-3}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[-{0.20833333333333368}, -{2.6373215663580349E-3}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[-{0.16666666666666702}, -{1.543209876543218E-3}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[-{0.12500000000000036}, -{7.3242187500000564E-4}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[-{8.3333333333333703E-2}, -{2.4112654320987957E-4}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[-{4.1666666666667039E-2}, -{3.315489969135889E-5}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[-{3.7470027081099033E-16}, -{2.6304013894372324E-47}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[{4.166666666666629E-2}, {3.9183063271603852E-5}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[{8.3333333333332954E-2}, {3.3757716049382237E-4}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[{0.12499999999999961}, {1.2207031249999879E-3}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[{0.16666666666666627}, {3.0864197530863957E-3}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[{0.20833333333333293}, {6.4049238040123045E-3}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[{0.24999999999999958}, {1.1718749999999934E-2}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[{0.29166666666666624}, {1.9642771026234473E-2}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[{0.33333333333333293}, {3.0864197530864071E-2}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[{0.37499999999999961}, {4.6142578124999847E-2}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[{0.4166666666666663}, {6.6309799382715848E-2}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[{0.45833333333333298}, {9.2270085841049135E-2}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[{0.49999999999999967}, {0.12499999999999971}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[{0.5416666666666663}, {0.16554844232253049}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[{0.58333333333333293}, {0.21503665123456736}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[{0.62499999999999956}, {0.27465820312499928}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[{0.66666666666666619}, {0.3456790123456781}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[{0.70833333333333282}, {0.42943733121141858}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[{0.74999999999999944}, {0.52734374999999845}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[{0.79166666666666607}, {0.64088119695215873}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[{0.8333333333333327}, {0.77160493827160281}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[{0.87499999999999933}, {0.92114257812499756}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[{0.91666666666666596}, {1.0911940586419722}, {1.0}, +{3.0}\right]},\\ +\quad{}{\left[{0.95833333333333259}, {1.2835316599151199}, {1.0}, +{3.0}\right]}, \\ +\quad{}{\left[{1.0}, {1.5}, {1.0}, {3.0}\right]}\\ +\left.\left.\right]\right] +\end{array} +$$ +\returnType{Type: List List Point DoubleFloat} and we put these points, g2 onto the first graph y1 as graph 2 \begin{verbatim} - putGraph(y1,g2,2) - Type: Void +putGraph(y1,g2,2) \end{verbatim} +\returnType{Type: Void} And now we do the whole sequence again \begin{verbatim} - b:=2.0 - 2.0 - Type: Float +b:=2.0 \end{verbatim} +$$ +2.0 +$$ +\returnType{Type: Float} \begin{verbatim} - y3:=draw(x^3*(a+b*x),x=-1..1) - TwoDimensionalViewport: "AXIOM2D" - Type: TwoDimensionalViewport +y3:=draw(x^3*(a+b*x),x=-1..1) \end{verbatim} +$$ +\mbox{\rm TwoDimensionalViewport: } \mbox{\tt "Axiom2D"} +$$ +\returnType{\rm TwoDimensionalViewport} which results in the image:\\ \includegraphics[scale=2.00]{ps/v0plot3.eps} \begin{verbatim} - g3:=getGraph(y3,1) - Graph with 1 point list - Type: GraphImage -\end{verbatim} -\begin{verbatim} - pointLists g3 - [ - [ [-1.,1.5,1.,3.], [-0.95833333333333337,1.2468593267746917,1.,3.], - [-0.91666666666666674,1.0270061728395066,1.,3.], - [-0.87500000000000011,0.83740234375000044,1.,3.], - [-0.83333333333333348,0.67515432098765471,1.,3.], - [-0.79166666666666685,0.53751326195987703,1.,3.], - [-0.75000000000000022,0.42187500000000056,1.,3.], - [-0.70833333333333359,0.32578004436728447,1.,3.], - [-0.66666666666666696,0.24691358024691412,1.,3.], - [-0.62500000000000033,0.18310546875000044,1.,3.], - [-0.5833333333333337,0.1323302469135807,1.,3.], - [-0.54166666666666707,9.2707127700617648E-2,1.,3.], - [-0.50000000000000044,6.2500000000000278E-2,1.,3.], - [-0.45833333333333376,4.0117428626543411E-2,1.,3.], - [-0.41666666666666707,2.4112654320987775E-2,1.,3.], - [-0.37500000000000039,1.3183593750000073E-2,1.,3.], - [-0.3333333333333337,6.1728395061728877E-3,1.,3.], - [-0.29166666666666702,2.0676601080247183E-3,1.,3.], - [-0.25000000000000033,1.0408340855860843E-17,1.,3.], - [-0.20833333333333368,-7.5352044753086191E-4,1.,3.], - [-0.16666666666666702,-7.7160493827160663E-4,1.,3.], - [-0.12500000000000036,-4.8828125000000282E-4,1.,3.], - [-8.3333333333333703E-2,-1.9290123456790339E-4,1.,3.], - [-4.1666666666667039E-2,-3.0140817901235325E-5,1.,3.], - [-3.7470027081099033E-16,-2.6304013894372305E-47,1.,3.], - [4.166666666666629E-2,4.21971450617272E-5,1.,3.], - [8.3333333333332954E-2,3.8580246913579681E-4,1.,3.], - [0.12499999999999961,1.4648437499999848E-3,1.,3.], - [0.16666666666666627,3.8580246913579933E-3,1.,3.], - [0.20833333333333293,8.2887249228394497E-3,1.,3.], - [0.24999999999999958,1.562499999999991E-2,1.,3.], - [0.29166666666666624,2.6879581404320851E-2,1.,3.], - [0.33333333333333293,4.3209876543209694E-2,1.,3.], - [0.37499999999999961,6.5917968749999764E-2,1.,3.], - [0.4166666666666663,9.6450617283950296E-2,1.,3.], - [0.45833333333333298,0.13639925733024652,1.,3.], - [0.49999999999999967,0.18749999999999956,1.,3.], - [0.5416666666666663,0.25163363233024633,1.,3.], - [0.58333333333333293,0.33082561728394977,1.,3.], - [0.62499999999999956,0.42724609374999883,1.,3.], - [0.66666666666666619,0.5432098765432084,1.,3.], - [0.70833333333333282,0.68117645640431912,1.,3.], - [0.74999999999999944,0.84374999999999756,1.,3.], - [0.79166666666666607,1.0336793499228365,1.,3.], - [0.8333333333333327,1.2538580246913544,1.,3.], - [0.87499999999999933,1.507324218749996,1.,3.], - [0.91666666666666596,1.7972608024691306,1.,3.], - [0.95833333333333259,2.1269953221450555,1.,3.], [1.,2.5,1.,3.]] - ] - Type: List List Point DoubleFloat +g3:=getGraph(y3,1) +\end{verbatim} +$$ +\mbox{\rm Graph with } 1 \mbox{\rm point list} +$$ +\returnType{Type: GraphImage} +\vfill +\begin{verbatim} +pointLists g3 \end{verbatim} +$$ +\begin{array}{l} +\left[\left[\right.\right.\\ +\quad{}{\left[-{1.0}, {1.5}, {1.0}, {3.0}\right]},\\ +\quad{}{\left[-{0.95833333333333337}, {1.2468593267746917}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[-{0.91666666666666674}, {1.0270061728395066}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[-{0.87500000000000011}, {0.83740234375000044}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[-{0.83333333333333348}, {0.67515432098765471}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[-{0.79166666666666685}, {0.53751326195987703}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[-{0.75000000000000022}, {0.42187500000000056}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[-{0.70833333333333359}, {0.32578004436728447}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[-{0.66666666666666696}, {0.24691358024691412}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[-{0.62500000000000033}, {0.18310546875000044}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[-{0.5833333333333337}, {0.1323302469135807}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[-{0.54166666666666707}, {9.2707127700617648E-2}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[-{0.50000000000000044}, {6.2500000000000278E-2}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[-{0.45833333333333376}, {4.0117428626543411E-2}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[-{0.41666666666666707}, {2.4112654320987775E-2}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[-{0.37500000000000039}, {1.3183593750000073E-2}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[-{0.3333333333333337}, {6.1728395061728877E-3}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[-{0.29166666666666702}, {2.0676601080247183E-3}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[-{0.25000000000000033}, {1.0408340855860843E-17}, +{1.0},{3.0}\right]},\\ +\quad{}{\left[-{0.20833333333333368}, -{7.5352044753086191E-4}, +{1.0},{3.0}\right]},\\ +\quad{}{\left[-{0.16666666666666702}, -{7.7160493827160663E-4}, +{1.0},{3.0}\right]},\\ +\quad{}{\left[-{0.12500000000000036}, -{4.8828125000000282E-4}, +{1.0},{3.0}\right]},\\ +\quad{}{\left[-{8.3333333333333703E-2}, -{1.9290123456790339E-4}, +{1.0},{3.0}\right]},\\ +\quad{}{\left[-{4.1666666666667039E-2}, -{3.0140817901235325E-5}, +{1.0},{3.0}\right]},\\ +\quad{}{\left[-{3.7470027081099033E-16},-{2.6304013894372305E-47}, +{1.0},{3.0}\right]},\\ +\quad{}{\left[{4.166666666666629E-2}, {4.21971450617272E-5}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[{8.3333333333332954E-2}, {3.8580246913579681E-4}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[{0.12499999999999961}, {1.4648437499999848E-3}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[{0.16666666666666627}, {3.8580246913579933E-3}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[{0.20833333333333293}, {8.2887249228394497E-3}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[{0.24999999999999958}, {1.562499999999991E-2}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[{0.29166666666666624}, {2.6879581404320851E-2}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[{0.33333333333333293}, {4.3209876543209694E-2}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[{0.37499999999999961}, {6.5917968749999764E-2}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[{0.4166666666666663}, {9.6450617283950296E-2}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[{0.45833333333333298}, {0.13639925733024652}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[{0.49999999999999967}, {0.18749999999999956}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[{0.5416666666666663}, {0.25163363233024633}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[{0.58333333333333293}, {0.33082561728394977}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[{0.62499999999999956}, {0.42724609374999883}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[{0.66666666666666619}, {0.5432098765432084}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[{0.70833333333333282}, {0.68117645640431912}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[{0.74999999999999944}, {0.84374999999999756}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[{0.79166666666666607}, {1.0336793499228365}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[{0.8333333333333327}, {1.2538580246913544}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[{0.87499999999999933}, {1.507324218749996}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[{0.91666666666666596}, {1.7972608024691306}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[{0.95833333333333259}, {2.1269953221450555}, +{1.0}, {3.0}\right]},\\ +\quad{}{\left[{1.0}, {2.5}, {1.0}, {3.0}\right]}\\ +\left.\left.\right]\right] +\end{array} +$$ +\returnType{Type: List List Point DoubleFloat} and put the third graphs points g3 onto the first graph y1 as graph 3 \begin{verbatim} - putGraph(y1,g3,3) - Type: Void +putGraph(y1,g3,3) \end{verbatim} +\returnType{Type: Void} Finally we show the combined result \begin{verbatim} - vp:=makeViewport2D(y1) - TwoDimensionalViewport: "2.2.10 explicit" - Type: TwoDimensionalViewport +vp:=makeViewport2D(y1) \end{verbatim} +$$ +\mbox{\rm TwoDimensionalViewport: } \mbox{\tt "2.2.10 explicit"} +$$ +\returnType{Type: TwoDimensionalViewport} which results in the image:\\ \includegraphics[scale=2.00]{ps/v0plot4.eps}\\ which shows all of the graphs in a single image. @@ -51305,8 +51649,8 @@ general polynomials with rational number coefficients. \boxed{4.6in}{ \noindent {\bf Restriction:} \begin{quotation}\noindent -Axiom does not allow you to create types where -{\tt UnivariatePolynomial} is contained in the coefficient type of +Axiom does not allow you to create types where\\ +{\tt UnivariatePolynomial} is contained in the coefficient type of\\ {\tt Polynomial}. Therefore, {\tt UP(x,POLY INT)} is legal but {\tt POLY UP(x,INT)} is not. \end{quotation} @@ -51319,7 +51663,7 @@ Axiom does not allow you to create types where variable {\tt x} with integer coefficients. \spadcommand{(p,q) : UP(x,INT) } -\returnType{Void} +\returnType{Type: Void} \spadcommand{p := (3*x-1)**2 * (2*x + 8) } $$ @@ -51430,6 +51774,7 @@ substitutes {\tt q} for the variable in {\tt p}. \spadcommand{p(q) } $$ \begin{array}{@{}l} +\displaystyle {{9565938} \ {x \sp {12}}} - {{38263752} \ {x \sp {11}}}+ {{70150212} \ {x \sp {10}}} - @@ -51458,6 +51803,7 @@ This substitutes {\tt p} for the variable in {\tt q}. \spadcommand{q(p) } $$ \begin{array}{@{}l} +\displaystyle {{8503056} \ {x \sp {12}}}+ {{113374080} \ {x \sp {11}}}+ {{479950272} \ {x \sp {10}}}+ @@ -51544,7 +51890,7 @@ This is a function for iterating across the terms of a polynomial, squaring each term. \spadcommand{squareTerms(p) == reduce(+,[t**2 for t in monomials p])} -\returnType{Void} +\returnType{Type: Void} Recall what {\tt p} looked like. @@ -51575,7 +51921,7 @@ quotient of the integers 2 and 3 is not another integer.} it is possible to compute quotients and remainders. \spadcommand{(r,s) : UP(a1,FRAC INT) } -\returnType{Void} +\returnType{Type: Void} \spadcommand{r := a1**2 - 2/3 } $$ @@ -51654,7 +52000,7 @@ We start with a polynomial in {\tt a1} whose coefficients are quotients of polynomials in {\tt b1} and {\tt b2}. \spadcommand{t : UP(a1,FRAC POLY INT) } -\returnType{Void} +\returnType{Type: Void} Since in this case we are not talking about using multivariate polynomials in only two variables, we use {\tt Polynomial}. @@ -51931,7 +52277,7 @@ As a second example, we consider the so-called Weyl algebra. Define the coefficient ring to be an ordinary polynomial over integers in one variable $t$ \begin{verbatim} - R:=UP('t,INT) +R:=UP('t,INT) \end{verbatim} Define a skew polynomial ring over R with identity map as $\sigma$ and derivation d/dt as $\delta$. The resulting algebra is then called @@ -52418,7 +52764,7 @@ You will most often see results of type {\tt Void} when you declare a variable. \spadcommand{a : Integer} -\returnType{Void} +\returnType{Type: Void} Usually no output is displayed for {\tt Void} results. You can force the display of a rather ugly object by issuing @@ -52437,7 +52783,7 @@ $$ All values can be converted to type {\tt Void}. \spadcommand{3::Void } -\returnType{Void} +\returnType{Type: Void} Once a value has been converted to {\tt Void}, it cannot be recovered. @@ -52673,13 +53019,12 @@ OrderedVariableList [x,y,z,t], NewSparseMultivariatePolynomial(Integer, OrderedVariableList [x,y,z,t]))} -The {\tt RegularTriangularSet} and -{\tt SquareFreeRegularTriangularSet} domain constructors, the -{\tt LazardSetSolvingPackage} package constructors as well as, -{\tt SquareFreeRegularTriangularSet} and -{\tt ZeroDimensionalSolvePackage} package constructors also provide -operations to compute triangular decompositions of algebraic -varieties. These five constructor use a special kind of +The {\tt RegularTriangularSet} and {\tt SquareFreeRegularTriangularSet}\\ +domain constructors, the {\tt LazardSetSolvingPackage} package\\ constructors as well as, {\tt SquareFreeRegularTriangularSet} and\\ +{\tt ZeroDimensionalSolvePackage} package constructors also provide\\ +operations to compute triangular decompositions of algebraic varieties. + +These five constructor use a special kind of characteristic sets, called regular triangular sets. These special characteristic sets have better properties than the general ones. Regular triangular sets and their related concepts are presented in @@ -53566,10 +53911,10 @@ coefficient ring which may be non-commutative. However, coefficients and variables commute. The representation of the polynomials is recursive. The abbreviation for {\tt XPolynomial} is {\tt XPOLY}. -Other constructors like {\tt XPolynomialRing}, -{\tt XRecursivePolynomial} as well as {\tt XDistributedPolynomial}, -{\tt LiePolynomial} and {\tt XPBWPolynomial} implement multivariate -polynomials in non-commutative variables. +Constructors like {\tt XPolynomialRing}, {\tt XRecursivePolynomial}\\ +as well as {\tt XDistributedPolynomial}, {\tt LiePolynomial} and\\ +{\tt XPBWPolynomial} implement multivariate polynomials in\\ +non-commutative variables. We illustrate now some of the facilities of the {\tt XPOLY} domain constructor. @@ -53755,10 +54100,10 @@ This constructor takes two arguments. The first one is a {\tt Ring} and the second is an {\tt OrderedMonoid}. The abbreviation for {\tt XPolynomialRing} is {\tt XPR}. -Other constructors like {\tt XPolynomial}, {\tt XRecursivePolynomial} -{\tt XDistributedPolynomial}, {\tt LiePolynomial} and -{\tt XPBWPolynomial} implement multivariate polynomials in non-commutative -variables. +Other constructors like {\tt XPolynomial}, {\tt XRecursivePolynomial}\\ +{\tt XDistributedPolynomial}, {\tt LiePolynomial} and\\ +{\tt XPBWPolynomial} implement multivariate polynomials in\\ +non-commutative variables. We illustrate now some of the facilities of the {\tt XPR} domain constructor. @@ -54505,24 +54850,28 @@ $$ {{\frac{5460230}{182819}} \ {{ \%B1} \sp {17}}}+ {{\frac{79900378}{1645371}} \ {{ \%B1} \sp {16}}}+ \\ +\\ \displaystyle {{\frac{43953929}{548457}} \ {{ \%B1} \sp {15}}}+ {{\frac{13420192}{182819}} \ {{ \%B1} \sp {14}}}+ {{\frac{553986}{3731}} \ {{ \%B1} \sp {13}}}+ {{\frac{193381378}{1645371}} \ {{ \%B1} \sp {12}}}+ \\ +\\ \displaystyle {{\frac{35978916}{182819}} \ {{ \%B1} \sp {11}}}+ {{\frac{358660781}{1645371}} \ {{ \%B1} \sp {10}}}+ {{\frac{271667666}{1645371}} \ {{ \%B1} \sp 9}}+ {{\frac{118784873}{548457}} \ {{ \%B1} \sp 8}}+ \\ +\\ \displaystyle {{\frac{337505020}{1645371}} \ {{ \%B1} \sp 7}}+ {{\frac{1389370}{11193}} \ {{ \%B1} \sp 6}}+ {{\frac{688291}{4459}} \ {{ \%B1} \sp 5}}+ {{\frac{3378002}{42189}} \ {{ \%B1} \sp 4}}+ \\ +\\ \displaystyle {{\frac{140671876}{1645371}} \ {{ \%B1} \sp 3}}+ {{\frac{32325724}{548457}} \ {{ \%B1} \sp 2}} - @@ -54536,24 +54885,28 @@ $$ {{\frac{4114333}{705159}} \ {{ \%B1} \sp {17}}} - {{\frac{1276987}{235053}} \ {{ \%B1} \sp {16}}} - \\ +\\ \displaystyle {{\frac{13243117}{705159}} \ {{ \%B1} \sp {15}}} - {{\frac{16292173}{705159}} \ {{ \%B1} \sp {14}}} - {{\frac{26536060}{705159}} \ {{ \%B1} \sp {13}}} - {{\frac{722714}{18081}} \ {{ \%B1} \sp {12}}} - \\ +\\ \displaystyle {{\frac{5382578}{100737}} \ {{ \%B1} \sp {11}}} - {{\frac{15449995}{235053}} \ {{ \%B1} \sp {10}}} - {{\frac{14279770}{235053}} \ {{ \%B1} \sp 9}} - {{\frac{6603890}{100737}} \ {{ \%B1} \sp 8}} - \\ +\\ \displaystyle {{\frac{409930}{6027}} \ {{ \%B1} \sp 7}} - {{\frac{37340389}{705159}} \ {{ \%B1} \sp 6}} - {{\frac{34893715}{705159}} \ {{ \%B1} \sp 5}} - {{\frac{26686318}{705159}} \ {{ \%B1} \sp 4}} - \\ +\\ \displaystyle \left. {{\frac{801511}{26117}} \ {{ \%B1} \sp 3}} - @@ -54576,24 +54929,28 @@ $$ {{\frac{5460230}{182819}} \ {{ \%B2} \sp {17}}}+ {{\frac{79900378}{1645371}} \ {{ \%B2} \sp {16}}}+ \\ +\\ \displaystyle {{\frac{43953929}{548457}} \ {{ \%B2} \sp {15}}}+ {{\frac{13420192}{182819}} \ {{ \%B2} \sp {14}}}+ {{\frac{553986}{3731}} \ {{ \%B2} \sp {13}}}+ {{\frac{193381378}{1645371}} \ {{ \%B2} \sp {12}}}+ \\ +\\ \displaystyle {{\frac{35978916}{182819}} \ {{ \%B2} \sp {11}}}+ {{\frac{358660781}{1645371}} \ {{ \%B2} \sp {10}}}+ {{\frac{271667666}{1645371}} \ {{ \%B2} \sp 9}}+ {{\frac{118784873}{548457}} \ {{ \%B2} \sp 8}}+ \\ +\\ \displaystyle {{\frac{337505020}{1645371}} \ {{ \%B2} \sp 7}}+ {{\frac{1389370}{11193}} \ {{ \%B2} \sp 6}}+ {{\frac{688291}{4459}} \ {{ \%B2} \sp 5}}+ {{\frac{3378002}{42189}} \ {{ \%B2} \sp 4}}+ \\ +\\ \displaystyle {{\frac{140671876}{1645371}} \ {{ \%B2} \sp 3}}+ {{\frac{32325724}{548457}} \ {{ \%B2} \sp 2}} - @@ -54607,24 +54964,28 @@ $$ {{\frac{4114333}{705159}} \ {{ \%B2} \sp {17}}} - {{\frac{1276987}{235053}} \ {{ \%B2} \sp {16}}} - \\ +\\ \displaystyle {{\frac{13243117}{705159}} \ {{ \%B2} \sp {15}}} - {{\frac{16292173}{705159}} \ {{ \%B2} \sp {14}}} - {{\frac{26536060}{705159}} \ {{ \%B2} \sp {13}}} - {{\frac{722714}{18081}} \ {{ \%B2} \sp {12}}} - \\ +\\ \displaystyle {{\frac{5382578}{100737}} \ {{ \%B2} \sp {11}}} - {{\frac{15449995}{235053}} \ {{ \%B2} \sp {10}}} - {{\frac{14279770}{235053}} \ {{ \%B2} \sp 9}} - {{\frac{6603890}{100737}} \ {{ \%B2} \sp 8}} - \\ +\\ \displaystyle {{\frac{409930}{6027}} \ {{ \%B2} \sp 7}} - {{\frac{37340389}{705159}} \ {{ \%B2} \sp 6}} - {{\frac{34893715}{705159}} \ {{ \%B2} \sp 5}} - {{\frac{26686318}{705159}} \ {{ \%B2} \sp 4}} - \\ +\\ \displaystyle \left. {{\frac{801511}{26117}} \ {{ \%B2} \sp 3}} - @@ -54647,24 +55008,28 @@ $$ {{\frac{5460230}{182819}} \ {{ \%B3} \sp {17}}}+ {{\frac{79900378}{1645371}} \ {{ \%B3} \sp {16}}}+ \\ +\\ \displaystyle {{\frac{43953929}{548457}} \ {{ \%B3} \sp {15}}}+ {{\frac{13420192}{182819}} \ {{ \%B3} \sp {14}}}+ {{\frac{553986}{3731}} \ {{ \%B3} \sp {13}}}+ {{\frac{193381378}{1645371}} \ {{ \%B3} \sp {12}}}+ \\ +\\ \displaystyle {{\frac{35978916}{182819}} \ {{ \%B3} \sp {11}}}+ {{\frac{358660781}{1645371}} \ {{ \%B3} \sp {10}}}+ {{\frac{271667666}{1645371}} \ {{ \%B3} \sp 9}}+ {{\frac{118784873}{548457}} \ {{ \%B3} \sp 8}}+ \\ +\\ \displaystyle {{\frac{337505020}{1645371}} \ {{ \%B3} \sp 7}}+ {{\frac{1389370}{11193}} \ {{ \%B3} \sp 6}}+ {{\frac{688291}{4459}} \ {{ \%B3} \sp 5}}+ {{\frac{3378002}{42189}} \ {{ \%B3} \sp 4}}+ \\ +\\ \displaystyle {{\frac{140671876}{1645371}} \ {{ \%B3} \sp 3}}+ {{\frac{32325724}{548457}} \ {{ \%B3} \sp 2}} - @@ -54678,24 +55043,28 @@ $$ {{\frac{4114333}{705159}} \ {{ \%B3} \sp {17}}} - {{\frac{1276987}{235053}} \ {{ \%B3} \sp {16}}} - \\ +\\ \displaystyle {{\frac{13243117}{705159}} \ {{ \%B3} \sp {15}}} - {{\frac{16292173}{705159}} \ {{ \%B3} \sp {14}}} - {{\frac{26536060}{705159}} \ {{ \%B3} \sp {13}}} - {{\frac{722714}{18081}} \ {{ \%B3} \sp {12}}} - \\ +\\ \displaystyle {{\frac{5382578}{100737}} \ {{ \%B3} \sp {11}}} - {{\frac{15449995}{235053}} \ {{ \%B3} \sp {10}}} - {{\frac{14279770}{235053}} \ {{ \%B3} \sp 9}} - {{\frac{6603890}{100737}} \ {{ \%B3} \sp 8}} - \\ +\\ \displaystyle {{\frac{409930}{6027}} \ {{ \%B3} \sp 7}} - {{\frac{37340389}{705159}} \ {{ \%B3} \sp 6}} - {{\frac{34893715}{705159}} \ {{ \%B3} \sp 5}} - {{\frac{26686318}{705159}} \ {{ \%B3} \sp 4}} - \\ +\\ \displaystyle \left. {{\frac{801511}{26117}} \ {{ \%B3} \sp 3}} - @@ -54718,24 +55087,28 @@ $$ {{\frac{5460230}{182819}} \ {{ \%B4} \sp {17}}}+ {{\frac{79900378}{1645371}} \ {{ \%B4} \sp {16}}}+ \\ +\\ \displaystyle {{\frac{43953929}{548457}} \ {{ \%B4} \sp {15}}}+ {{\frac{13420192}{182819}} \ {{ \%B4} \sp {14}}}+ {{\frac{553986}{3731}} \ {{ \%B4} \sp {13}}}+ {{\frac{193381378}{1645371}} \ {{ \%B4} \sp {12}}}+ \\ +\\ \displaystyle {{\frac{35978916}{182819}} \ {{ \%B4} \sp {11}}}+ {{\frac{358660781}{1645371}} \ {{ \%B4} \sp {10}}}+ {{\frac{271667666}{1645371}} \ {{ \%B4} \sp 9}}+ {{\frac{118784873}{548457}} \ {{ \%B4} \sp 8}}+ \\ +\\ \displaystyle {{\frac{337505020}{1645371}} \ {{ \%B4} \sp 7}}+ {{\frac{1389370}{11193}} \ {{ \%B4} \sp 6}}+ {{\frac{688291}{4459}} \ {{ \%B4} \sp 5}}+ {{\frac{3378002}{42189}} \ {{ \%B4} \sp 4}}+ \\ +\\ \displaystyle {{\frac{140671876}{1645371}} \ {{ \%B4} \sp 3}}+ {{\frac{32325724}{548457}} \ {{ \%B4} \sp 2}} - @@ -54749,24 +55122,28 @@ $$ {{\frac{4114333}{705159}} \ {{ \%B4} \sp {17}}} - {{\frac{1276987}{235053}} \ {{ \%B4} \sp {16}}} - \\ +\\ \displaystyle {{\frac{13243117}{705159}} \ {{ \%B4} \sp {15}}} - {{\frac{16292173}{705159}} \ {{ \%B4} \sp {14}}} - {{\frac{26536060}{705159}} \ {{ \%B4} \sp {13}}} - {{\frac{722714}{18081}} \ {{ \%B4} \sp {12}}} - \\ +\\ \displaystyle {{\frac{5382578}{100737}} \ {{ \%B4} \sp {11}}} - {{\frac{15449995}{235053}} \ {{ \%B4} \sp {10}}} - {{\frac{14279770}{235053}} \ {{ \%B4} \sp 9}} - {{\frac{6603890}{100737}} \ {{ \%B4} \sp 8}} - \\ +\\ \displaystyle {{\frac{409930}{6027}} \ {{ \%B4} \sp 7}} - {{\frac{37340389}{705159}} \ {{ \%B4} \sp 6}} - {{\frac{34893715}{705159}} \ {{ \%B4} \sp 5}} - {{\frac{26686318}{705159}} \ {{ \%B4} \sp 4}} - \\ +\\ \displaystyle \left. {{\frac{801511}{26117}} \ {{ \%B4} \sp 3}} - @@ -54789,24 +55166,28 @@ $$ {{\frac{5460230}{182819}} \ {{ \%B5} \sp {17}}}+ {{\frac{79900378}{1645371}} \ {{ \%B5} \sp {16}}}+ \\ +\\ \displaystyle {{\frac{43953929}{548457}} \ {{ \%B5} \sp {15}}}+ {{\frac{13420192}{182819}} \ {{ \%B5} \sp {14}}}+ {{\frac{553986}{3731}} \ {{ \%B5} \sp {13}}}+ {{\frac{193381378}{1645371}} \ {{ \%B5} \sp {12}}}+ \\ +\\ \displaystyle {{\frac{35978916}{182819}} \ {{ \%B5} \sp {11}}}+ {{\frac{358660781}{1645371}} \ {{ \%B5} \sp {10}}}+ {{\frac{271667666}{1645371}} \ {{ \%B5} \sp 9}}+ {{\frac{118784873}{548457}} \ {{ \%B5} \sp 8}}+ \\ +\\ \displaystyle {{\frac{337505020}{1645371}} \ {{ \%B5} \sp 7}}+ {{\frac{1389370}{11193}} \ {{ \%B5} \sp 6}}+ {{\frac{688291}{4459}} \ {{ \%B5} \sp 5}}+ {{\frac{3378002}{42189}} \ {{ \%B5} \sp 4}}+ \\ +\\ \displaystyle {{\frac{140671876}{1645371}} \ {{ \%B5} \sp 3}}+ {{\frac{32325724}{548457}} \ {{ \%B5} \sp 2}} - @@ -54820,24 +55201,28 @@ $$ {{\frac{4114333}{705159}} \ {{ \%B5} \sp {17}}} - {{\frac{1276987}{235053}} \ {{ \%B5} \sp {16}}} - \\ +\\ \displaystyle {{\frac{13243117}{705159}} \ {{ \%B5} \sp {15}}} - {{\frac{16292173}{705159}} \ {{ \%B5} \sp {14}}} - {{\frac{26536060}{705159}} \ {{ \%B5} \sp {13}}} - {{\frac{722714}{18081}} \ {{ \%B5} \sp {12}}} - \\ +\\ \displaystyle {{\frac{5382578}{100737}} \ {{ \%B5} \sp {11}}} - {{\frac{15449995}{235053}} \ {{ \%B5} \sp {10}}} - {{\frac{14279770}{235053}} \ {{ \%B5} \sp 9}} - {{\frac{6603890}{100737}} \ {{ \%B5} \sp 8}} - \\ +\\ \displaystyle {{\frac{409930}{6027}} \ {{ \%B5} \sp 7}} - {{\frac{37340389}{705159}} \ {{ \%B5} \sp 6}} - {{\frac{34893715}{705159}} \ {{ \%B5} \sp 5}} - {{\frac{26686318}{705159}} \ {{ \%B5} \sp 4}} - \\ +\\ \displaystyle \left. {{\frac{801511}{26117}} \ {{ \%B5} \sp 3}} - @@ -54860,24 +55245,28 @@ $$ {{\frac{5460230}{182819}} \ {{ \%B6} \sp {17}}}+ {{\frac{79900378}{1645371}} \ {{ \%B6} \sp {16}}}+ \\ +\\ \displaystyle {{\frac{43953929}{548457}} \ {{ \%B6} \sp {15}}}+ {{\frac{13420192}{182819}} \ {{ \%B6} \sp {14}}}+ {{\frac{553986}{3731}} \ {{ \%B6} \sp {13}}}+ {{\frac{193381378}{1645371}} \ {{ \%B6} \sp {12}}}+ \\ +\\ \displaystyle {{\frac{35978916}{182819}} \ {{ \%B6} \sp {11}}}+ {{\frac{358660781}{1645371}} \ {{ \%B6} \sp {10}}}+ {{\frac{271667666}{1645371}} \ {{ \%B6} \sp 9}}+ {{\frac{118784873}{548457}} \ {{ \%B6} \sp 8}}+ \\ +\\ \displaystyle {{\frac{337505020}{1645371}} \ {{ \%B6} \sp 7}}+ {{\frac{1389370}{11193}} \ {{ \%B6} \sp 6}}+ {{\frac{688291}{4459}} \ {{ \%B6} \sp 5}}+ {{\frac{3378002}{42189}} \ {{ \%B6} \sp 4}}+ \\ +\\ \displaystyle {{\frac{140671876}{1645371}} \ {{ \%B6} \sp 3}}+ {{\frac{32325724}{548457}} \ {{ \%B6} \sp 2}} - @@ -54891,18 +55280,21 @@ $$ {{\frac{4114333}{705159}} \ {{ \%B6} \sp {17}}} - {{\frac{1276987}{235053}} \ {{ \%B6} \sp {16}}} - \\ +\\ \displaystyle {{\frac{13243117}{705159}} \ {{ \%B6} \sp {15}}} - {{\frac{16292173}{705159}} \ {{ \%B6} \sp {14}}} - {{\frac{26536060}{705159}} \ {{ \%B6} \sp {13}}} - {{\frac{722714}{18081}} \ {{ \%B6} \sp {12}}} - \\ +\\ \displaystyle {{\frac{5382578}{100737}} \ {{ \%B6} \sp {11}}} - {{\frac{15449995}{235053}} \ {{ \%B6} \sp {10}}} - {{\frac{14279770}{235053}} \ {{ \%B6} \sp 9}} - {{\frac{6603890}{100737}} \ {{ \%B6} \sp 8}} - \\ +\\ \displaystyle {{\frac{409930}{6027}} \ {{ \%B6} \sp 7}} - {{\frac{37340389}{705159}} \ {{ \%B6} \sp 6}} - @@ -54931,24 +55323,28 @@ $$ {{\frac{5460230}{182819}} \ {{ \%B7} \sp {17}}}+ {{\frac{79900378}{1645371}} \ {{ \%B7} \sp {16}}}+ \\ +\\ \displaystyle {{\frac{43953929}{548457}} \ {{ \%B7} \sp {15}}}+ {{\frac{13420192}{182819}} \ {{ \%B7} \sp {14}}}+ {{\frac{553986}{3731}} \ {{ \%B7} \sp {13}}}+ {{\frac{193381378}{1645371}} \ {{ \%B7} \sp {12}}}+ \\ +\\ \displaystyle {{\frac{35978916}{182819}} \ {{ \%B7} \sp {11}}}+ {{\frac{358660781}{1645371}} \ {{ \%B7} \sp {10}}}+ {{\frac{271667666}{1645371}} \ {{ \%B7} \sp 9}}+ {{\frac{118784873}{548457}} \ {{ \%B7} \sp 8}}+ \\ +\\ \displaystyle {{\frac{337505020}{1645371}} \ {{ \%B7} \sp 7}}+ {{\frac{1389370}{11193}} \ {{ \%B7} \sp 6}}+ {{\frac{688291}{4459}} \ {{ \%B7} \sp 5}}+ {{\frac{3378002}{42189}} \ {{ \%B7} \sp 4}}+ \\ +\\ \displaystyle {{\frac{140671876}{1645371}} \ {{ \%B7} \sp 3}}+ {{\frac{32325724}{548457}} \ {{ \%B7} \sp 2}} - @@ -54962,24 +55358,28 @@ $$ {{\frac{4114333}{705159}} \ {{ \%B7} \sp {17}}} - {{\frac{1276987}{235053}} \ {{ \%B7} \sp {16}}} - \\ +\\ \displaystyle {{\frac{13243117}{705159}} \ {{ \%B7} \sp {15}}} - {{\frac{16292173}{705159}} \ {{ \%B7} \sp {14}}} - {{\frac{26536060}{705159}} \ {{ \%B7} \sp {13}}} - {{\frac{722714}{18081}} \ {{ \%B7} \sp {12}}} - \\ +\\ \displaystyle {{\frac{5382578}{100737}} \ {{ \%B7} \sp {11}}} - {{\frac{15449995}{235053}} \ {{ \%B7} \sp {10}}} - {{\frac{14279770}{235053}} \ {{ \%B7} \sp 9}} - {{\frac{6603890}{100737}} \ {{ \%B7} \sp 8}} - \\ +\\ \displaystyle {{\frac{409930}{6027}} \ {{ \%B7} \sp 7}} - {{\frac{37340389}{705159}} \ {{ \%B7} \sp 6}} - {{\frac{34893715}{705159}} \ {{ \%B7} \sp 5}} - {{\frac{26686318}{705159}} \ {{ \%B7} \sp 4}} - \\ +\\ \displaystyle \left. {{\frac{801511}{26117}} \ {{ \%B7} \sp 3}} - @@ -55002,24 +55402,28 @@ $$ {{\frac{5460230}{182819}} \ {{ \%B8} \sp {17}}}+ {{\frac{79900378}{1645371}} \ {{ \%B8} \sp {16}}}+ \\ +\\ \displaystyle {{\frac{43953929}{548457}} \ {{ \%B8} \sp {15}}}+ {{\frac{13420192}{182819}} \ {{ \%B8} \sp {14}}}+ {{\frac{553986}{3731}} \ {{ \%B8} \sp {13}}}+ {{\frac{193381378}{1645371}} \ {{ \%B8} \sp {12}}}+ \\ +\\ \displaystyle {{\frac{35978916}{182819}} \ {{ \%B8} \sp {11}}}+ {{\frac{358660781}{1645371}} \ {{ \%B8} \sp {10}}}+ {{\frac{271667666}{1645371}} \ {{ \%B8} \sp 9}}+ {{\frac{118784873}{548457}} \ {{ \%B8} \sp 8}}+ \\ +\\ \displaystyle {{\frac{337505020}{1645371}} \ {{ \%B8} \sp 7}}+ {{\frac{1389370}{11193}} \ {{ \%B8} \sp 6}}+ {{\frac{688291}{4459}} \ {{ \%B8} \sp 5}}+ {{\frac{3378002}{42189}} \ {{ \%B8} \sp 4}}+ \\ +\\ \displaystyle {{\frac{140671876}{1645371}} \ {{ \%B8} \sp 3}}+ {{\frac{32325724}{548457}} \ {{ \%B8} \sp 2}} - @@ -55033,24 +55437,28 @@ $$ {{\frac{4114333}{705159}} \ {{ \%B8} \sp {17}}} - {{\frac{1276987}{235053}} \ {{ \%B8} \sp {16}}} - \\ +\\ \displaystyle {{\frac{13243117}{705159}} \ {{ \%B8} \sp {15}}} - {{\frac{16292173}{705159}} \ {{ \%B8} \sp {14}}} - {{\frac{26536060}{705159}} \ {{ \%B8} \sp {13}}} - {{\frac{722714}{18081}} \ {{ \%B8} \sp {12}}} - \\ +\\ \displaystyle {{\frac{5382578}{100737}} \ {{ \%B8} \sp {11}}} - {{\frac{15449995}{235053}} \ {{ \%B8} \sp {10}}} - {{\frac{14279770}{235053}} \ {{ \%B8} \sp 9}} - {{\frac{6603890}{100737}} \ {{ \%B8} \sp 8}} - \\ +\\ \displaystyle {{\frac{409930}{6027}} \ {{ \%B8} \sp 7}} - {{\frac{37340389}{705159}} \ {{ \%B8} \sp 6}} - {{\frac{34893715}{705159}} \ {{ \%B8} \sp 5}} - {{\frac{26686318}{705159}} \ {{ \%B8} \sp 4}} - \\ +\\ \displaystyle \left. \left. @@ -55089,6 +55497,7 @@ $$ \begin{array}{@{}l} \left[ \left[ +\displaystyle -{\frac{10048059}{2097152}}, \right. \right. @@ -55186,6 +55595,7 @@ $$ $$ \begin{array}{@{}l} \left[ +\displaystyle -{\frac{2563013}{2097152}}, \right. \\ @@ -55246,6 +55656,7 @@ $$ $$ \begin{array}{@{}l} \left[ +\displaystyle -{\frac{1715967}{2097152}}, \right. \\ @@ -55306,6 +55717,7 @@ $$ $$ \begin{array}{@{}l} \left[ +\displaystyle -{\frac{437701}{2097152}}, \right. \\ @@ -55360,6 +55772,7 @@ $$ $$ \begin{array}{@{}l} \left[ +\displaystyle {\frac{222801}{2097152}}, \right. \\ @@ -55420,6 +55833,7 @@ $$ $$ \begin{array}{@{}l} \left[ +\displaystyle {\frac{765693}{2097152}}, \right. \\ @@ -55480,6 +55894,7 @@ $$ $$ \begin{array}{@{}l} \left[ +\displaystyle {\frac{5743879}{2097152}}, \right. \\ @@ -55564,6 +55979,7 @@ $$ $$ \begin{array}{@{}l} \left[ +\displaystyle {\frac{19739877}{2097152}}, \right. \\ @@ -57593,8 +58009,8 @@ Here is the {\bf drawRibbons} program. Invoke your favorite editor and create a file called {\bf ribbon.input} containing the following program. -\line(1,0){380} \begin{figure} +\line(1,0){380} \begin{verbatim} drawRibbons(flist, xrange) == sp := createThreeSpace() Create empty space $sp$. @@ -57614,8 +58030,8 @@ drawRibbons(flist, xrange) == \end{verbatim} \caption{The first {\bf drawRibbons} function.} \label{fig-ribdraw1} -\end{figure} \line(1,0){380} +\end{figure} Here are some remarks on the syntax used in the {\bf drawRibbons} function (consult \sectionref{ugUser} for more details). @@ -57713,9 +58129,8 @@ not a nested loop. %Original Page 489 -\line(1,0){380} \begin{figure} -\hrule +\line(1,0){380} \begin{verbatim} drawRibbons(flist, xrange, yrange) == sp := createThreeSpace() Create empty space $sp$. @@ -57737,8 +58152,8 @@ drawRibbons(flist, xrange, yrange) == \hrule \caption{The final {\bf drawRibbons} function.} \label{fig-ribdraw2} -\end{figure} \line(1,0){380} +\end{figure} \section{Points, Lines, and Curves} \label{ugIntProgPLC} @@ -57798,6 +58213,7 @@ the angle between the arrowhead and the arrow. Invoke your favorite editor and create an input file called {\bf arrows.input}. + This input file first defines the values of %$origin$,$unit$, $arrowAngle$ and $arrowScale$, then @@ -57806,21 +58222,21 @@ draw an arrow from point $p_1$ to $p_2$. \line(1,0){380} \begin{verbatim} -arrowAngle := \%pi-\%pi/10.0@DFLOAT The angle of the arrowhead. -arrowScale := 0.2@DFLOAT The size of the arrowhead - relative to the stem. +arrowAngle := %pi-%pi/10.0@DFLOAT The angle of the arrowhead. +arrowScale := 0.2@DFLOAT The size of the arrowhead + relative to the stem. makeArrow(p1, p2) == - delta := p2 - p1 The arrow. - len := arrowScale * length delta The length of the arrowhead. - theta := atan(delta.1, delta.2) The angle from the x-axis - c1 := len*cos(theta + arrowAngle) The x-coord of left endpoint - s1 := len*sin(theta + arrowAngle) The y-coord of left endpoint - c2 := len*cos(theta - arrowAngle) The x-coord of right endpoint - s2 := len*sin(theta - arrowAngle) The y-coord of right endpoint - z := p2.3*(1 - arrowScale) The z-coord of both endpoints - p3 := point [p2.1 + c1, p2.2 + s1, z, p2.4] The left endpoint of head - p4 := point [p2.1 + c2, p2.2 + s2, z, p2.4] The right endpoint of head - [ [p1, p2, p3], [p2, p4] ] The arrow as a list of curves + delta := p2 - p1 The arrow. + len := arrowScale * length delta length of the arrowhead. + theta := atan(delta.1, delta.2) angle from the x-axis + c1 := len*cos(theta + arrowAngle) x-coord of left endpoint + s1 := len*sin(theta + arrowAngle) y-coord of left endpoint + c2 := len*cos(theta - arrowAngle) x-coord of right endpoint + s2 := len*sin(theta - arrowAngle) y-coord of right endpoint + z := p2.3*(1 - arrowScale) z-coord of both endpoints + p3 := point [p2.1 + c1, p2.2 + s1, z, p2.4] left endpoint of head + p4 := point [p2.1 + c2, p2.2 + s2, z, p2.4] right endpoint of head + [ [p1, p2, p3], [p2, p4] ] arrow as a list of curves \end{verbatim} \line(1,0){380} @@ -57946,7 +58362,7 @@ drawBouquet(n,title) == arrow := makeArrow(start,end) the $i$th arrow for a in makeArrow(start,end) repeat For each arrow component, curve(sp,a) add the component to $sp$ - angle := angle + 2*\%pi/n The next angle + angle := angle + 2*%pi/n The next angle makeViewport3D(sp,title) Create the viewport from $sp$ \end{verbatim} \line(1,0){380} @@ -58111,25 +58527,27 @@ Here is the full function definition: \line(1,0){380} \begin{verbatim} drawComplexVectorField(f, realRange,imagRange) == - delReal := (hi(realRange)-lo(realRange))/realSteps The real step size - delImag := (hi(imagRange)-lo(imagRange))/imagSteps The imaginary step size - sp := createThreeSpace() Create empty space $sp$ - real := lo(realRange) The initial real value - for i in 1..realSteps+1 repeat Begin real iteration - imag := lo(imagRange) initial imaginary value - for j in 1..imagSteps+1 repeat Begin imaginary iteration - z := f complex(real,imag) value of $f$ at the point - arg := argument z direction of the arrow - len := clipFun sqrt norm z length of the arrow - p1 := point [real, imag, 0.0@DFLOAT, arg] base point of the arrow - scaleLen := delReal * len scaled length of the arrow - p2 := point [p1.1 + scaleLen*cos(arg), tip point of the arrow + -- The real step size + delReal := (hi(realRange)-lo(realRange))/realSteps + -- The imaginary step size + delImag := (hi(imagRange)-lo(imagRange))/imagSteps + sp := createThreeSpace() Create empty space $sp$ + real := lo(realRange) The initial real value + for i in 1..realSteps+1 repeat Begin real iteration + imag := lo(imagRange) initial imaginary value + for j in 1..imagSteps+1 repeat Begin imaginary iteration + z := f complex(real,imag) value of $f$ at the point + arg := argument z direction of the arrow + len := clipFun sqrt norm z length of the arrow + p1 := point [real, imag, 0.0@DFLOAT, arg] base point of the arrow + scaleLen := delReal * len scaled length of the arrow + p2 := point [p1.1 + scaleLen*cos(arg), tip point of the arrow p1.2 + scaleLen*sin(arg),0.0@DFLOAT, arg] - arrow := makeArrow(p1, p2) Create the arrow - for a in arrow repeat curve(sp, a) Add arrow to space $sp$ - imag := imag + delImag The next imaginary value - real := real + delReal The next real value - makeViewport3D(sp, "Complex Vector Field") Draw it + arrow := makeArrow(p1, p2) Create the arrow + for a in arrow repeat curve(sp, a) Add arrow to space $sp$ + imag := imag + delImag The next imaginary value + real := real + delReal The next real value + makeViewport3D(sp, "Complex Vector Field") Draw it \end{verbatim} \line(1,0){380} @@ -58176,10 +58594,12 @@ The function definition is in three parts. \line(1,0){380} \begin{verbatim} drawComplex: (C -> C, S, S) -> VIEW3D -drawComplex(f, realRange, imagRange) == The first part - delReal := (hi(realRange)-lo(realRange))/realSteps The real step size - delImag := (hi(imagRange)-lo(imagRange))/imagSteps The imaginary step size - Initial list of list of points $llp$ +drawComplex(f, realRange, imagRange) == + -- The real step size + delReal := (hi(realRange)-lo(realRange))/realSteps + -- The imaginary step size + delImag := (hi(imagRange)-lo(imagRange))/imagSteps + -- Initial list of list of points $llp$ llp:List List Point DFLOAT := [] \end{verbatim} \line(1,0){380} @@ -58196,18 +58616,19 @@ Next comes the loop which builds $llp$. \line(1,0){380} \begin{verbatim} - real := lo(realRange) The initial real value - for i in 1..realSteps+1 repeat Begin real iteration - imag := lo(imagRange) initial imaginary value - lp := []$(List Point DFLOAT) initial list of points $lp$ - for j in 1..imagSteps+1 repeat Begin imaginary iteration - z := f complex(real,imag) value of $f$ at the point - pt := point [real,imag, clipFun sqrt norm z, Create a point + real := lo(realRange) The initial real value + for i in 1..realSteps+1 repeat Begin real iteration + imag := lo(imagRange) initial imaginary value + lp := []$(List Point DFLOAT) initial list of points $lp$ + for j in 1..imagSteps+1 repeat Begin imaginary iteration + z := f complex(real,imag) value of $f$ at the point + pt := point [real,imag, + clipFun sqrt norm z, Create a point argument z] - lp := cons(pt,lp) Add the point to $lp$ - imag := imag + delImag The next imaginary value - real := real + delReal The next real value - llp := cons(lp, llp) Add $lp$ to $llp$ + lp := cons(pt,lp) Add the point to $lp$ + imag := imag + delImag The next imaginary value + real := real + delReal The next real value + llp := cons(lp, llp) Add $lp$ to $llp$ \end{verbatim} \line(1,0){380} @@ -58334,11 +58755,10 @@ Newton iteration point $x_{n+1}$. %Original Page 498 -This time we write an input file called {\bf newton.input}. -We need to import {\tt MakeUnaryCompiledFunction} (discussed -in the last section), call it with appropriate types, and then define -the function $newtonStep$ which references it. -Here is the function $newtonStep$: +This time we write an input file called {\bf newton.input}. We need to\\ +import {\tt MakeUnaryCompiledFunction} (discussed in the last section),\\ +call it with appropriate types, and then define the function $newtonStep$\\ +which references it. Here is the function $newtonStep$: \line(1,0){380} \begin{verbatim} @@ -58359,7 +58779,7 @@ complexNumericFunction f == Turn an expression $f$ into a complexDerivativeFunction(f,n) == Create an nth derivative v := theVariableIn f function df := D(f,v,n) - compiledFunction(df, v)\$complexFunPack + compiledFunction(df, v)$complexFunPack theVariableIn f == Returns the variable in $f$ vl := variables f The list of variables @@ -58477,7 +58897,7 @@ set-Clip-Value } Here and throughout the book we should use the terminology -"type of a function", rather than talking about source and target. +``type of a function'', rather than talking about source and target. A function is just an object that has a mapping type. %Original Page 501 @@ -58522,28 +58942,30 @@ basis. A new, faster compiler will be available in version 2.0 of Axiom. -\line(1,0){380} \begin{figure} +\line(1,0){380} \label{pak-cdraw} \begin{verbatim} -C ==> Complex DoubleFloat All constructors used in a file -S ==> Segment DoubleFloat must be spelled out in full -INT ==> Integer unless abbreviated by macros -DFLOAT ==> DoubleFloat like these at the top of -VIEW3D ==> ThreeDimensionalViewport a file +C ==> Complex DoubleFloat All constructors used in a file +S ==> Segment DoubleFloat must be spelled out in full +INT ==> Integer unless abbreviated by macros +DFLOAT ==> DoubleFloat like these at the top of +VIEW3D ==> ThreeDimensionalViewport a file CURVE ==> List List Point DFLOAT -)abbrev package DRAWCX DrawComplex Identify kinds and abbreviations -DrawComplex(): Exports == Implementation where Type definition begins here +)abbrev package DRAWCX DrawComplex Identify kinds and abbreviations + Type definition begins here +DrawComplex(): Exports == Implementation where - Exports == with Export part begins - drawComplex: (C -> C,S,S,Boolean) -> VIEW3D Exported Operations + Exports == with Export part begins + drawComplex: (C -> C,S,S,Boolean) -> VIEW3D Exported Operations drawComplexVectorField: (C -> C,S,S) -> VIEW3D setRealSteps: INT -> INT setImagSteps: INT -> INT setClipValue: DFLOAT-> DFLOAT - Implementation == add Implementation part begins + -- Implementation part begins + Implementation == add arrowScale : DFLOAT := (0.2)::DFLOAT --relative size Local variable 1 arrowAngle : DFLOAT := pi()-pi()/(20::DFLOAT) Local variable 2 realSteps : INT := 11 --# real steps Local variable 3 @@ -58563,12 +58985,12 @@ DrawComplex(): Exports == Implementation where Type definition begins here makeArrow(p1, p2, len, arg) == ... Local function definition 2 drawComplex(f, realRange, imagRange, arrows?) == ... - Exported function definition 4 + Exported function definition 4 \end{verbatim} \caption{The DrawComplex package.} \label{fig-pak-cdraw} -\end{figure} \line(1,0){380} +\end{figure} %Original Page 502 @@ -58632,7 +59054,8 @@ is given after the macros (although it could precede them). % The definition of a package has the syntax: \begin{center} -\frenchspacing{\it PackageForm {\tt :} Exports\quad{\tt ==}\quad Implementation} +\frenchspacing{\it PackageForm {\tt :} +Exports\quad{\tt ==}\quad Implementation} \end{center} The syntax for defining a package constructor is the same as that \index{syntax} @@ -58678,7 +59101,8 @@ A constructor as defined in Axiom is called an {\it abstract datatype} in the computer science literature. Abstract datatypes separate ``specification'' (what operations are provided) from ``implementation'' (how the operations are implemented). -The {\tt Exports} (specification) part of a constructor is said to be ``public'' (it +The {\tt Exports} (specification) part of a constructor +is said to be ``public'' (it provides the user interface to the package) whereas the {\tt Implementation} part is ``private'' (information here is effectively hidden---programs cannot take advantage of it). @@ -58770,7 +59194,8 @@ The functions in a package are compiled into machine code. Unlike function definitions in input files that may be compiled repeatedly as you use them with varying argument types, functions in packages have a unique type (generally parameterized by -the argument parameters of a package) and a unique compilation residing on disk. +the argument parameters of a package) +and a unique compilation residing on disk. The capsule itself is turned into a compiled function. This so-called {\it capsule function} is what builds the initial environment @@ -58782,7 +59207,8 @@ builds a distinct package, each with its own local environment. \section{Input Files vs. Packages} \label{ugPackagesInputFiles} % -A good question at this point would be ``Is writing a package more difficult than +A good question at this point would +be ``Is writing a package more difficult than writing an input file?'' The programs in input files are designed for flexibility and ease-of-use. @@ -58843,7 +59269,7 @@ operation. Compile the package. -)compile drawpak +\spadcommand{)compile drawpak } Expose the package. @@ -58917,18 +59343,17 @@ by your telling Axiom that $m$ has the ``attribute'' {\bf finiteAggregate}. An {\it attribute} is a property that a domain either has or does not have. -As we show later in \sectionref{ugCategoriesAttributes}, -programs can query domains as to the presence or absence of an attribute. - -The operation {\bf swap} swaps elements of $m$. -Using Browse, you find that {\bf swap} requires its -elements to come from a domain of category -{\tt IndexedAggregate} with attribute -{\tt shallowlyMutable}. -This attribute means that you can change the internal components -of $m$ without changing its external structure. -Shallowly-mutable data structures include lists, streams, one- and -two-dimensional arrays, vectors, and matrices. +As we show later in \sectionref{ugCategoriesAttributes}, programs\\ +can query domains as to the presence or absence of an attribute. + +The operation {\bf swap} swaps elements of $m$. Using Browse, you find\\ +that {\bf swap} requires its elements to come from a domain of category\\ +{\tt IndexedAggregate} with attribute {\tt shallowlyMutable}. + +This attribute means that you can change the internal components of\\ +$m$ without changing its external structure. Shallowly-mutable data\\ +structures include lists, streams, one- and two-dimensional arrays,\\ +vectors, and matrices. The category {\tt IndexedAggregate} designates the class of aggregates whose elements can be accessed by the notation @@ -59211,7 +59636,7 @@ of the operation is written in terms of symbolic domains. See the modemaps for {\bf bubbleSort!}. -)display op bubbleSort! +\spadcommand{)display op bubbleSort! } \begin{verbatim} There are 2 exposed functions called bubbleSort! : @@ -59338,7 +59763,8 @@ any other function in Axiom. The definition of a category has the syntax: \begin{center} -{\it CategoryForm} : {\tt Category\quad{}==\quad{}} {\it Extensions} {\tt [ with} {\it Exports} {\tt ]} +{\it CategoryForm} : {\tt Category\quad{}==\quad{}} {\it Extensions} +{\tt [ with} {\it Exports} {\tt ]} \end{center} The brackets {\tt [ ]} here indicate optionality. @@ -59586,18 +60012,18 @@ When a domain is defined, it is asserted to belong to one or more categories. Suppose, for example, that an author of domain {\tt String} wishes to use the binary operator $*$ to denote concatenation. -Thus $"hello " * "there"$ would produce the string -$"hello there"$\footnote{Actually, concatenation of strings in +Thus \verb|"hello " * "there"| would produce the string +\verb|"hello there"| Actually, concatenation of strings in Axiom is done by juxtaposition or by using the operation \spadfunFrom{concat}{String}. -The expression $"hello " "there"$ produces the string -$"hello there"$.}. +The expression \verb|"hello " "there"| produces the string +\verb|"hello there"|. The author of {\tt String} could then assert that {\tt String} is a member of {\tt SemiGroup}. According to our definition of {\tt SemiGroup}, strings would then also have the operation $**$ defined automatically. -Then $"--" ** 4$ would produce a string of eight dashes -$"--------"$. +Then \verb|"--" ** 4| would produce a string of eight dashes +\verb|"--------"|. Since {\tt String} is a member of {\tt SemiGroup}, it also is a member of {\tt SetCategory} and thus has an operation $=$ for testing that two strings are equal. @@ -59817,12 +60243,12 @@ ring axioms for ``{\tt +}'' hold. Most axioms are not computationally useful. Those that are can be explicitly expressed by what Axiom calls an {\it attribute}. -The attribute {\bf commutative("*")}, for example, is used to assert +The attribute {\bf commutative(\verb|"*"|)}, for example, is used to assert that a domain has commutative multiplication. Its definition is given by its documentation: \begingroup \parindent=1pc \narrower\noindent% - A domain $R$ has {\bf commutative("*")} + A domain $R$ has {\bf commutative(\verb|"*"|)} if it has an operation "*": \spadsig{(R,R)}{R} such that $x * y = y * x$. \par\endgroup @@ -59946,11 +60372,11 @@ MatrixCategory(R, Row, Col): Category == \section{Conditionals} \label{ugCategoriesConditionals} -As categories have parameters, the actual operations exported by a \index{conditional} -category can depend on these parameters. -As an example, the operation \spadfunFrom{determinant}{MatrixCategory} -from category {\tt MatrixCategory} is only exported when the +\spadfunFrom{determinant}{MatrixCategory} +As categories have parameters, the actual operations exported by a\\ +category can depend on these parameters. As an example, the operation\\ +from category {\tt MatrixCategory} is only exported when the\\ underlying domain $R$ has commutative multiplication: \begin{verbatim} @@ -60139,8 +60565,8 @@ need to learn. %Original Page 529 -\line(1,0){380} \begin{figure} +\line(1,0){380} \begin{verbatim} )abbrev domain QFORM QuadraticForm @@ -60175,8 +60601,8 @@ QuadraticForm(n, K): Exports == Implementation where \end{verbatim} \caption{The {\tt QuadraticForm} domain.}\label{fig-quadform} -\end{figure} \line(1,0){380} +\end{figure} A domain constructor can take any number and type of parameters. {\tt QuadraticForm} takes a positive integer $n$ and a field @@ -60232,9 +60658,9 @@ properties. %Original Page 530 -In \sectionref{ugCategoriesConditionals}, you saw that {\tt -Fraction(R)}, a member of {\tt QuotientFieldCategory(R)}, is a member -of {\tt OrderedSet} if $R$ is a member of {\tt OrderedSet}. Likewise, +In \sectionref{ugCategoriesConditionals}, you saw that {\tt Fraction(R)},\\ +a member of {\tt QuotientFieldCategory(R)}, is a member of\\ +{\tt OrderedSet} if $R$ is a member of {\tt OrderedSet}. Likewise,\\ from the {\tt Exports} part of the definition of {\tt ModMonic(R, S)}, \begin{verbatim} @@ -60276,9 +60702,8 @@ a quadratic form. \spadcommand{A := matrix [ [-1,1/2],[1/2,1] ]} -Construct the quadratic form. -A package call {\tt \$QF} is necessary since there -are other {\tt QuadraticForm} domains. +Construct the quadratic form. A package call {\tt \$QF} is necessary\\ +since there are other {\tt QuadraticForm} domains. \spadcommand{q : QF := quadraticForm(A)} @@ -60497,7 +60922,7 @@ How and when are they used? When Axiom finds that {\tt QuadraticForm(2, Fraction Integer)} does not implement the operations {\tt *}, {\tt +}, and {\tt -}, it goes to -{\tt SquareMatrix(2,Fraction Integer)} to find it. +{\tt SquareMatrix (2,Fraction Integer)} to find it. As it turns out, {\tt SquareMatrix(2, Fraction Integer)} does not implement {\it any} of these operations! @@ -60609,6 +61034,7 @@ there is no type {\tt RationalNumber} in Axiom. To create such a type, you could compile the following ``short-form'' definition: +\noindent \line(1,0){380} \begin{verbatim} RationalNumber() == Fraction(Integer) @@ -60627,7 +61053,7 @@ Since the domain has no capsule, the domain then immediately sends its request to {\tt Fraction (Integer)}. The short form definition for domains is used to -define such domains as {\tt MultivariatePolynomial}: +define such domains as {\tt Multivariate\-Polynomial}: \index{MultivariatePolynomial} %Original Page 536 @@ -60707,8 +61133,8 @@ The types of all local functions must be declared. %Original Page 537 -\line(1,0){380} \begin{figure} +\line(1,0){380} \begin{verbatim} NNI ==> NonNegativeInteger PI ==> PositiveInteger @@ -60737,15 +61163,15 @@ CliffordAlgebra(n,K,q): Exports == Implementation where x * y == z := New for ix in 0..dim-1 repeat - if x.ix \notequal{} 0 then for iy in 0..dim-1 repeat - if y.iy \notequal{} 0 + if x.ix ~= 0 then for iy in 0..dim-1 repeat + if y.iy ~= 0 then addMonomProd(x.ix,ix,y.iy,iy,z) z ... \end{verbatim} \caption{Part of the {\tt CliffordAlgebra} domain.}\label{fig-clifalg} -\end{figure} \line(1,0){380} +\end{figure} The {\tt Implementation} part begins by defining a local variable $Qeelist$ to hold the list of all $q.v$ where $v$ @@ -60825,8 +61251,8 @@ fields, and {\it pattern} is a ``search string''---a string that may contain a ``{\tt *}'' as a wildcard. Wildcards match any substring, including the empty string. -Thus the pattern ``{\tt "*ma*t}'' matches -``{\tt "mat"},''{\tt doormat}'' and ``{\tt smart}''. +Thus the pattern {\tt "*ma*t} matches +{\tt "mat"},{\tt doormat} and {\tt smart}. To illustrate how queries are given, we give you a sneak preview of the facility we are about to create. @@ -60886,6 +61312,7 @@ that a database is a box of objects of type $S$. Here is the Axiom program defining the {\tt Database} domain. +\noindent \line(1,0){380} \begin{verbatim} PI ==> PositiveInteger @@ -60896,14 +61323,14 @@ Database(S): Exports == Implementation where fullDisplay: $ -> Void Exports == with - elt: ($,QueryEquation) -> $ Select by an equation - elt: ($, Symbol) -> DataList String Select by a field name - "+": ($,$) -> $ Combine two databases - "-": ($,$) -> $ Subtract one from another - display: $ -> Void A brief database display - fullDisplay: $ -> Void A full database display - fullDisplay: ($,PI,PI) -> Void A selective display - coerce: $ -> OutputForm Display a database + elt: ($,QueryEquation) -> $ Select by an equation + elt: ($, Symbol) -> DataList String Select by a field name + "+": ($,$) -> $ Combine two databases + "-": ($,$) -> $ Subtract one from another + display: $ -> Void A brief database display + fullDisplay: $ -> Void A full database display + fullDisplay: ($,PI,PI) -> Void A selective display + coerce: $ -> OutputForm Display a database Implementation == add ... \end{verbatim} @@ -60956,6 +61383,7 @@ object. The {\tt Implementation} part of {\tt Database} is straightforward. +\noindent \line(1,0){380} \begin{verbatim} Implementation == add @@ -61010,6 +61438,7 @@ The predicate for our search is given by an object of type Axiom does not have such an object yet so we have to invent it. +\noindent \line(1,0){380} \begin{verbatim} QueryEquation(): Exports == Implementation where @@ -61040,6 +61469,7 @@ space-efficient representation of an equation. Here is the missing definition for the {\bf elt} function of {\tt Database} in the last section: +\noindent \line(1,0){380} \begin{verbatim} elt(db,eq) == @@ -61065,6 +61495,7 @@ sorting and removing duplicates. %Original Page 542 +\noindent \line(1,0){380} \begin{verbatim} DataList(S:OrderedSet) : Exports == Implementation where @@ -61104,6 +61535,7 @@ string. Each field has a name that is passed as a second argument to {\bf elt}. +\noindent \line(1,0){380} \begin{verbatim} IndexCard() == Implementation where @@ -61136,6 +61568,7 @@ you all category, domain and package lines respectively. %%Original Page 543 +\noindent \line(1,0){380} \begin{verbatim} OperationsQuery(): Exports == Implementation where @@ -61147,12 +61580,10 @@ OperationsQuery(): Exports == Implementation where \end{verbatim} \line(1,0){380} -We do not bother creating a special name for databases of index -cards. -{\tt Database (IndexCard)} will do. -Notice that we used the package {\tt OperationsQuery} to -create, in effect, -a new kind of domain: {\tt Database(IndexCard)}. +We do not bother creating a special name for databases of index cards.\\ +{\tt Database (IndexCard)} will do. Notice that we used the package\\ +{\tt OperationsQuery} to create, in effect, a new kind of domain:\\ +{\tt Database(IndexCard)}. \subsection{Putting It All Together} \label{ugDomainsPutting} @@ -61164,6 +61595,8 @@ the logical thing to do.} At the top of the file put {\tt )abbrev} commands, giving the constructor abbreviations you created. +\pagebreak +\noindent \line(1,0){380} \begin{verbatim} )abbrev domain ICARD IndexCard @@ -61672,11 +62105,10 @@ Let's find out from where the operations of {\tt Matrix} come. %Original Page 557 \begin{enumerate} -\item Click on {\tt MatrixCategory}, then on {\bf Exports}. -Here you see that {\tt MatrixCategory} explicitly exports many matrix -operations. -Also, it inherits its operations from -{\tt TwoDimensionalArrayCategory}. +\item Click on {\tt MatrixCategory}, then on {\bf Exports}.\\ +Here you see that {\tt MatrixCategory} explicitly exports many matrix\\ +operations. Also, it inherits its operations from\\ +{\tt TwoDimen\-sionalArrayCategory}. \item Click on {\tt TwoDimensionalArrayCategory}, then on {\bf Exports}. Here you see explicit operations dealing with rows and columns. @@ -61785,10 +62217,10 @@ domains or packages that mention that constructor either as an argument or in its exports. -If you click on {\bf Dependents} two entries may surprise you: -{\tt RectangularMatrix} and {\tt SquareMatrix}. -This happens because {\tt Matrix}, as it turns out, appears in -signatures of operations exported by these domains. +If you click on {\bf Dependents} two entries may surprise you:\\ +{\tt RectangularMatrix} and {\tt SquareMatrix}. This happens because\\ +{\tt Matrix}, as it turns out, appears in signatures of operations\\ +exported by these domains. \subsubsection{Lineage} @@ -61801,8 +62233,8 @@ works, try the following exercise. Otherwise, you best skip this button and go on to {\bf Clients}. Clicking on {\bf Lineage} gives you a -list of domain constructors: -{\tt InnerIndexedTwoDimensionalArray}, +list of domain constructors:\\ +{\tt InnerIndexedTwoDimensional\-Array}, \aliascon{MatrixCategory\&}{MATCAT-}, \aliascon{TwoDimensionalArrayCategory\&}{ARR2CAT-}, \aliascon{HomogeneousAggregate\&}{HOAGG-}, @@ -61826,16 +62258,15 @@ Axiom first searches the first one, If not there, it searches the second \aliascon{MatrixCategory\&}{MATCAT-}. And so on. -Where do these {\it lineage constructors} come from? -The source code for {\tt Matrix} contains this syntax for the -{\it function body} of -{\tt Matrix}:\footnote{{\tt InnerIndexedTwoDimensionalArray} -is a special domain implemented for matrix-like domains to provide -efficient implementations of two-di\-men\-sion\-al arrays. -For example, domains of category {\tt TwoDimensionalArrayCategory} -can have any integer as their $minIndex$. -Matrices and other members of this special ``inner'' array have their -$minIndex$ defined as $1$.} +Where do these {\it lineage constructors} come from? The source code\\ +for {\tt Matrix} contains this syntax for the {\it function body} of\\ +{\tt Matrix}: {\tt InnerIndexedTwoDimensionalArray} is a special domain\\ +implemented for matrix-like domains to provide efficient\\ +implementations of two-di\-men\-sion\-al arrays. + +For example, domains of category {\tt TwoDimensionalArrayCategory} can +have any integer as their $minIndex$. Matrices and other members of +this special ``inner'' array have their $minIndex$ defined as $1$. \begin{verbatim} InnerIndexedTwoDimensionalArray(R,mnRow,mnCol,Row,Col) add ... @@ -62326,7 +62757,7 @@ regress.spad} then you should issue {\tt )compile regress.spad} before trying to use it. The internal representation of {\tt Union} has changed. -This means that \linebreak Axiom data saved +This means that Axiom data saved with Release 1.x may not be readable by this Release. If you cannot recreate the saved data by recomputing in Release 2.0, please contact NAG for assistance. @@ -62390,17 +62821,17 @@ general, the correspondence to Axiom types is as follows. \item Fortran LOGICAL corresponds to Axiom {\tt Boolean}. \item Fortran CHARACTER*(*) corresponds to Axiom {\tt String}. \end{itemize} -(Exceptionally, for NAG EXTERNAL parameters -- ASPs in link parlance --- REAL and COMPLEX correspond to {\tt MachineFloat} and {\tt MachineComplex}, -respectively; see \sectionref{aspSection}.) +(Exceptionally, for NAG EXTERNAL parameters -- ASPs in link parlance\\ +-- REAL and COMPLEX correspond to {\tt MachineFloat} and\\ +{\tt MachineComplex}, respectively; see \sectionref{aspSection}.) The correspondence for aggregates is as follows. \begin{itemize} -\item A one-dimensional Fortran array corresponds to an Axiom \linebreak +\item A one-dimensional Fortran array corresponds to a {\tt Matrix} with one column. -\item A two-dimensional Fortran ARRAY corresponds to an Axiom \linebreak +\item A two-dimensional Fortran ARRAY corresponds to a {\tt Matrix}. -\item A three-dimensional Fortran ARRAY corresponds to an Axiom \linebreak +\item A three-dimensional Fortran ARRAY corresponds to a {\tt ThreeDimensionalMatrix}. \end{itemize} Higher-dimensional arrays are not currently needed for the Nag Library. @@ -62413,9 +62844,12 @@ to special ASP domains in Axiom. See \sectionref{aspSection}. % ---------------------------------------------------------------------- NAG parameters are classified as belonging to one (or more) -of the following categories: {\tt Input}, {\tt Output}, {\tt Workspace} or {\tt External} procedure. -Within {\tt External} procedures a similar classification is used, and parameters -may also be {\tt Dummies}, or {\tt User Workspace} (data structures not used by the +of the following categories: {\tt Input}, +{\tt Output}, {\tt Workspace} or {\tt External} procedure. +Within {\tt External} procedures a +similar classification is used, and parameters +may also be {\tt Dummies}, +or {\tt User Workspace} (data structures not used by the NAG routine but provided for the convenience of the user). When calling a NAG routine via the link the user only provides values @@ -62441,7 +62875,8 @@ it encounters an error: \item a value of 1 causes the NAG routine to return without printing an error message; \item a value of 0 causes the NAG routine to print an error message and abort; -\item a value of -1 causes the NAG routine to return and print an error message. +\item a value of -1 causes the NAG routine to return and +print an error message. \end{itemize} The user is STRONGLY ADVISED to set $ifail$ to $-1$ when using the link. @@ -62484,7 +62919,7 @@ normal Axiom session (that is, using the Axiom interpreter). Such calls return an object of type {\bf Result}. As not all parameters in the underlying NAG routine are required in the -AXIOM call (and the parameter ordering may be different), before +Axiom call (and the parameter ordering may be different), before calling a NAG routine you should consult the description of the Axiom operation in the Browser. (The quickest route to this is to type the routine name, in lower case, into the Browser's @@ -62535,7 +62970,7 @@ subprograms (ASPs). At the top level the user will see that NAG routines require an object from the {\tt Union} of a {\tt Filename} and an ASP. -For example {\bf c05adf} requires an object of type \linebreak +For example {\bf c05adf} requires an object of type {\tt Union}(fn: {\tt FileName},fp: {\tt Asp1 F}) \spadcommand{)display operation c05adf} @@ -62584,7 +63019,7 @@ kind of pseudo-code. It is described fully in Every ASP exports two {\bf coerce} functions: one from {\tt FortranCode} and one from {\tt List FortranCode}. There -is also a {\bf coerce} from \linebreak +is also a {\bf coerce} from {\tt Record( localSymbols: SymbolTable, code: List FortranCode)} which is used for passing extra symbol information about the ASP. @@ -62652,9 +63087,8 @@ beginVerbatim endVerbatim \end{verbatim} The passive parts lie between the two -tokens {\tt beginVerbatim} and \linebreak {\tt endVerbatim}. There -are two active statements: one which is simply an Axiom ( -\verb+--+) +tokens {\tt beginVerbatim} and {\tt endVerbatim}. There +are two active statements: one which is simply an Axiom (\verb+--+) comment, and one which produces an assignment to the current value of {\tt f}. We could use it as follows: \begin{verbatim} @@ -62715,9 +63149,10 @@ Comment describing your data set. For this kind of application we provide three functions as follows: \begin{tabular}{p{1.8in}p{2.6in}} -{\bf fortranLiteral} & writes a string on the Fortran output stream \\ +{\bf fortranLiteral} & write string on the Fortran output stream \\ & \\ -{\bf fortranCarriageReturn} & writes a carriage return on the Fortran output stream \\ +{\bf fortranCarriageReturn} & +writes a carriage return on the Fortran output stream \\ & \\ {\bf fortranLiteralLine} & writes a string followed by a return on the Fortran output stream \\ @@ -62757,7 +63192,8 @@ user, without interfering with the generated Fortran. Sometimes it is useful to manipulate the Fortran output stream in a program, possibly without being aware of its current value. The main use of this is -for gathering type declarations (see ``Fortran Types'' below) but it can be useful +for gathering type declarations (see ``Fortran Types'' below) +but it can be useful in other contexts as well. Thus we provide a set of commands to manipulate a stack of (open) output streams. Only one stream can be written to at any given time. The stack is never empty---its initial value is the @@ -62923,7 +63359,8 @@ The following commands exist: & \\ {\bf argumentListOf} & returns the argument list of a subprogram \\ & \\ -{\bf declare} & provides type declarations for parameters of the current subprogram \\ +{\bf declare} & +provides type declarations for parameters of the current subprogram \\ & \\ {\bf symbolTableOf} & returns the symbol table of a subprogram \\ & \\ @@ -63004,7 +63441,7 @@ on the current Fortran output stream. \index{FortranProgram} This domain is used to construct complete Fortran subprograms out of -elements of {\tt FortranCode}. It is parameterised by the name of the +elements of {\tt Fortran\-Code}. It is parameterised by the name of the target subprogram (a {\tt Symbol}), its return type (from {\tt Union}({\tt FortranScalarType},``void'')), its arguments (from {\tt List Symbol}), and @@ -63182,7 +63619,8 @@ equations. The efficiency of power series have been improved and left and right expansions of $tan(f(x))$ at $x =$ a pole of $f(x)$ can now be computed. -A number of power series bugs were fixed and the {\tt GeneralUnivariatePowerSeries} +A number of power series bugs were fixed and the +{\tt GeneralUnivariatePowerSeries} domain was added. The power series variable can appear in the coefficients and when this happens, you cannot differentiate or integrate the series. Differentiation @@ -63202,7 +63640,7 @@ limit( (x+1)**(x+1)/x**x - x**x/(x-1)**(x-1), x = %plusInfinity) in a systematic way. It only does one level of nesting, though. In other words, we can handle $exp(some function with a pole)$, but not -\linebreak $exp(exp(some function with a pole))$. +$exp(exp(some function with a pole))$. The computation of integral bases has been improved through careful use of Hermite row reduction. A P-adic algorithm @@ -63210,13 +63648,12 @@ for function fields of algebraic curves in finite characteristic has also been developed. Miscellaneous: -There is improved conversion of definite and indefinite integrals to -{\tt InputForm}; -binomial coefficients are displayed in a new way; -some new simplifications of radicals have been implemented; -the operation {\bf complexForm} for converting to rectangular coordinates -has been added; -symmetric product operations have been added to {\tt LinearOrdinaryDifferentialOperator}. +There is improved conversion of definite and indefinite integrals to\\ +{\tt InputForm}; binomial coefficients are displayed in a new way;\\ +some new simplifications of radicals have been implemented;\\ +the operation {\bf complexForm} for converting to rectangular\\ +coordinates has been added; symmetric product operations have been\\ +added to {\tt LinearOrdinaryDifferential\-Operator}. %------------------------------------------------------------------------ \section{HyperTex} @@ -63263,7 +63700,7 @@ into the main Browser input box. %------------------------------------------------------------------------ We describe here a few additions to the on-line -version of the AXIOM book which you can read with +version of the Axiom book which you can read with HyperDoc. @@ -63372,7 +63809,8 @@ This example may make it easier to remember what is an option and what is an argument: \begin{center} -{\tt )syscmd {\it arg1 arg2} )opt1 {\it opt1arg1 opt1arg2} )opt2 {\it opt2arg1} ...} +{\tt )syscmd {\it arg1 arg2} )opt1 +{\it opt1arg1 opt1arg2} )opt2 {\it opt2arg1} ...} \end{center} In the system command descriptions, optional arguments and options are @@ -63624,7 +64062,7 @@ process, Axiom will offer to close down the entire Axiom session and return you to the operating system by displaying something like \begin{verbatim} - This is the last AXIOM session. Do you want to kill AXIOM? + This is the last Axiom session. Do you want to kill Axiom? \end{verbatim} Type ``{\tt y}'' (followed by the Return key) if this is what you had in mind. Type ``{\tt n}'' (followed by the Return key) to cancel the command. @@ -63828,9 +64266,10 @@ constructor to support conditional tracing of variable assignments. (see \sectionref{ugSysCmdtrace}). Without this option, this code is suppressed and one cannot use the )vars option for the trace command. -The {\tt )constructor} option is used to specify a particular constructor to -compile. All other constructors in the file are ignored. The constructor name -or abbreviation follows {\tt )constructor}. Thus either +The {\tt )constructor} option is used to specify a particular\\ +constructor to compile. All other constructors in the file are\\ +ignored. The constructor name or abbreviation follows {\tt )constructor}.\\ +Thus either \begin{verbatim} )compile matrix.spad )constructor RectangularMatrix @@ -64042,7 +64481,8 @@ function call to Common Lisp. \item{\tt )frame next} \item{\tt )frame last} \item{\tt )frame names} -\item{\tt )frame import {\it frameName} {\it \lanb{}objectName1 \lanb{}objectName2 ...\ranb{}\ranb{}}} +\item{\tt )frame import {\it frameName} +{\it \lanb{}objectName1 \lanb{}objectName2 ...\ranb{}\ranb{}}} \item{\tt )set message frame on \vertline{} off} \item{\tt )set message prompt frame} \end{list} @@ -64346,7 +64786,8 @@ input lines and output results. creates an {\bf .input} file with the input lines typed since the start of the session/frame or the last {\tt )clear all} or {\tt )clear completely}. -If {\it historyInputFileName} does not contain a period (``.'') in the filename, +If {\it historyInputFileName} does not contain a +period (``.'') in the filename, {\bf .input} is appended to it. For example, {\tt )history )write chaos} @@ -64437,7 +64878,8 @@ option. The command {\tt )library dopler )only Test1} will only cause the {\sf Test1} constructor to be analyzed, autoloaded, etc.. -Finally, each constructor in a library are usually automatically exposed when the +Finally, each constructor in a library are usually automatically +exposed when the {\tt )library} command is used. Use the {\tt )noexpose} option if you not want them exposed. At a later time you can use {\tt )set expose add constructor} to expose any hidden @@ -64487,30 +64929,6 @@ command may be used to drop out of Axiom into Common Lisp. {\tt )boot} \index{ugSysCmdboot}, and {\tt )fin} \index{ugSysCmdfin}. - - -\section{)load} -\index{ugSysCmdload} - -\index{load} - - -\par\noindent{\bf User Level Required:} interpreter - -%% BEGIN OBSOLETE -% \par\noindent{\bf Command Syntax:} -% \begin{list}{} -% \item{\tt )load {\it libName1 \lanb{}libName2 ...\ranb{}} \lanb{})update\ranb{}} -% \item{\tt )load {\it libName1 \lanb{}libName2 ...\ranb{}} )cond \lanb{})update\ranb{}} -% \item{\tt )load {\it libName1 \lanb{}libName2 ...\ranb{}} )query} -% \item{\tt )load {\it libName1 \lanb{}libName2 ...\ranb{}} )noexpose} -% \end{list} -%% END OBSOLETE - -\par\noindent{\bf Command Description:} - -This command is obsolete. Use {\tt )library} instead. - \section{)regress} \index{regress} \par\noindent{\bf User Level Required:} development @@ -64754,7 +65172,8 @@ confirmation that you want to terminate Axiom (the ``p'' is for When you enter the {\tt )pquit} command, Axiom responds % \begin{center} -Please enter {\bf y} or {\bf yes} if you really want to leave the interactive \\ +Please enter {\bf y} or {\bf yes} if you really want to +leave the interactive \\ environment and return to the operating system: \end{center} % @@ -64851,7 +65270,8 @@ executed when you press, say, a function key. \par\noindent{\bf Command Syntax:} \begin{list}{} \item {\tt )read} {\it \lanb{}fileName\ranb{}} -\item {\tt )read} {\it \lanb{}fileName\ranb{}} \lanb{}{\tt )quiet}\ranb{} \lanb{}{\tt )ifthere}\ranb{} +\item {\tt )read} {\it \lanb{}fileName\ranb{}} \lanb{} +{\tt )quiet}\ranb{} \lanb{}{\tt )ifthere}\ranb{} \end{list} \par\noindent{\bf Command Description:} @@ -65008,10 +65428,9 @@ For example, )show Polynomial Integer )show Polynomial Integer )operations \end{verbatim} -are among the combinations that will -display the operations exported by the -domain {\tt Polynomial(Integer)} (as opposed to the general -{\it domain constructor} {\tt Polynomial}). +are among the combinations that will display the operations\\ +exported by the domain {\tt Polynomial(Integer)} (as opposed\\ +to the general {\it domain constructor} {\tt Polynomial}).\\ Attributes may be listed by using the {\tt )attributes} option. \par\noindent{\bf Also See:} @@ -65326,7 +65745,7 @@ traced function is entered. The total can be displayed with \item[{\tt )count} {\it n}] causes information about the traced function to be displayed for -the first {\it n} executions. After the \it n-th execution, the +the first {\it n} executions. After the {\it n-th} execution, the function is untraced. \item[{\tt )depth} {\it n}] @@ -65339,8 +65758,8 @@ will cause the display of only 10 levels of trace information for the recursive execution of a user function {\bf fib}. \item[{\tt )math}] -causes the function arguments and return value to be displayed in the -Axiom monospace two-dimensional math format. +causes the function arguments and return value to be displayed\\ +in the Axiom monospace two-dimensional math format. \item[{\tt )nonquietly}] causes the display of additional messages when a function is @@ -65652,9 +66071,9 @@ CategoryName{CategoryAbbreviation}:{$\hbox{{\sf Category}}_{1}$% where -\begin{tabular}{@{\quad}ll} -CategoryName & is the full category name, e.g., {\sf CommutativeRing}. \\ -CategoryAbbreviation & is the category abbreviation, e.g., {\sf COMRING}. \\ +\begin{tabular}{ll} +CategoryName & is the full category name, e.g., {\sf Integer}. \\ +CategoryAbbreviation & is the category abbreviation, e.g., {\sf INT}. \\ $\hbox{{\sf Category}}_{i}$ & is a category to which the category belongs. \\ $\hbox{{\rm op}}_{j}$ & is an operation exported by the category. \end{tabular} @@ -65667,38 +66086,50 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the category. \condata{ABELGRP}{AbelianGroup}{CancellationAbelianMonoid}{{\tt *} {\tt -}} % -\condata{AMR}{AbelianMonoidRing}{Algebra BiModule CharacteristicNonZero CharacteristicZero CommutativeRing - IntegralDomain Ring}{{\tt /} coefficient degree leadingCoefficient leadingMonomial map monomial monomial? reductum} +\condata{AMR}{AbelianMonoidRing} +{Algebra BiModule CharacteristicNonZero CharacteristicZero CommutativeRing +IntegralDomain Ring} +{{\tt /} coefficient degree leadingCoefficient leadingMonomial map +monomial monomial? reductum} % \condata{ABELMON}{AbelianMonoid}{AbelianSemiGroup}{{\tt *} Zero zero?} % \condata{ABELSG}{AbelianSemiGroup}{SetCategory}{{\tt *} {\tt +}} % -\condata{AGG}{Aggregate}{Object}{{\tt \#} copy empty empty? eq? less? more? size?} +\condata{AGG}{Aggregate}{Object} +{{\tt \#} copy empty empty? eq? less? more? size?} % -\condata{ACF}{AlgebraicallyClosedField}{Field RadicalCategory}{rootOf rootsOf zeroOf zerosOf} +\condata{ACF}{AlgebraicallyClosedField}{Field RadicalCategory} +{rootOf rootsOf zeroOf zerosOf} % -\condata{ACFS}{AlgebraicallyClosedFunctionSpace}{AlgebraicallyClosedField FunctionSpace}{rootOf rootsOf zeroOf zerosOf} +\condata{ACFS}{AlgebraicallyClosedFunctionSpace\\} +{AlgebraicallyClosedField FunctionSpace} +{rootOf rootsOf zeroOf zerosOf} % \condata{ALGEBRA}{Algebra}{Module Ring}{coerce} % -\condata{AHYP}{ArcHyperbolicFunctionCategory}{}{acosh acoth acsch asech asinh atanh} +\condata{AHYP}{ArcHyperbolicFunctionCategory}{} +{acosh acoth acsch asech asinh atanh} % -\condata{ATRIG}{ArcTrigonometricFunctionCategory}{}{acos acot acsc asec asin atan} +\condata{ATRIG}{ArcTrigonometricFunctionCategory}{} +{acos acot acsc asec asin atan} % \condata{ALAGG}{AssociationListAggregate}{ListAggregate TableAggregate}{assoc} % \condata{ATTREG}{AttributeRegistry}{}{} % -\condata{BGAGG}{BagAggregate}{HomogeneousAggregate}{bag extract! insert! inspect} +\condata{BGAGG}{BagAggregate}{HomogeneousAggregate} +{bag extract! insert! inspect} % \condata{BMODULE}{BiModule}{LeftModule RightModule}{} % -\condata{BRAGG}{BinaryRecursiveAggregate}{RecursiveAggregate}{elt left right setelt setleft! setright!} +\condata{BRAGG}{BinaryRecursiveAggregate}{RecursiveAggregate} +{elt left right setelt setleft! setright!} % \condata{BTCAT}{BinaryTreeCategory}{BinaryRecursiveAggregate}{node} % -\condata{BTAGG}{BitAggregate}{OneDimensionalArrayAggregate OrderedSet}{{\tt \^{}} and nand nor not or xor} +\condata{BTAGG}{BitAggregate}{OneDimensionalArrayAggregate OrderedSet} +{{\tt \^{}} and nand nor not or xor} % \condata{CACHSET}{CachableSet}{OrderedSet}{position setPosition} % @@ -65710,46 +66141,65 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the category. % \condata{KOERCE}{CoercibleTo}{}{coerce} % -\condata{CLAGG}{Collection}{ConvertibleTo HomogeneousAggregate}{construct find reduce remove removeDuplicates select} +\condata{CLAGG}{Collection}{ConvertibleTo HomogeneousAggregate} +{construct find reduce remove removeDuplicates select} % -\condata{CFCAT}{CombinatorialFunctionCategory}{}{binomial factorial permutation} +\condata{CFCAT}{CombinatorialFunctionCategory}{} +{binomial factorial permutation} % -\condata{COMBOPC}{CombinatorialOpsCategory}{CombinatorialFunctionCategory}{factorials product summation} +\condata{COMBOPC}{CombinatorialOpsCategory}{CombinatorialFunctionCategory} +{factorials product summation} % \condata{COMRING}{CommutativeRing}{BiModule Ring}{} % -\condata{COMPCAT}{ComplexCategory}{CharacteristicNonZero CharacteristicZero CommutativeRing ConvertibleTo - DifferentialExtension EuclideanDomain Field FullyEvalableOver FullyLinearlyExplicitRingOver FullyRetractableTo - IntegralDomain MonogenicAlgebra OrderedSet PolynomialFactorizationExplicit RadicalCategory - TranscendentalFunctionCategory}{abs argument complex conjugate exquo imag imaginary norm polarCoordinates rational - rational? rationalIfCan real} +\condata{COMPCAT}{ComplexCategory\\} +{CharacteristicNonZero CharacteristicZero CommutativeRing\\ +ConvertibleTo DifferentialExtension EuclideanDomain Field\\ +FullyEvalableOver FullyLinearlyExplicitRingOver FullyRetractableTo\\ +IntegralDomain MonogenicAlgebra OrderedSet\\ +PolynomialFactorizationExplicit RadicalCategory\\ +TranscendentalFunctionCategory\\} +{abs argument complex conjugate exquo imag imaginary norm +polarCoordinates rational rational? rationalIfCan real} % \condata{KONVERT}{ConvertibleTo}{}{convert} % -\condata{DQAGG}{DequeueAggregate}{QueueAggregate StackAggregate}{bottom! dequeue extractBottom! extractTop! height - insertBottom! insertTop! reverse! top!} +\condata{DQAGG}{DequeueAggregate} +{QueueAggregate StackAggregate} +{bottom! dequeue extractBottom! extractTop! height +insertBottom! insertTop! reverse! top!} % -\condata{DIOPS}{DictionaryOperations}{BagAggregate Collection}{dictionary remove! select!} +\condata{DIOPS}{DictionaryOperations}{BagAggregate Collection} +{dictionary remove! select!} % \condata{DIAGG}{Dictionary}{DictionaryOperations}{} % -\condata{DIFEXT}{DifferentialExtension}{DifferentialRing PartialDifferentialRing Ring}{D differentiate} +\condata{DIFEXT}{DifferentialExtension\\} +{DifferentialRing PartialDifferentialRing Ring} +{D differentiate} % -\condata{DPOLCAT}{DifferentialPolynomialCategory}{DifferentialExtension Evalable InnerEvalable PolynomialCategory - RetractableTo}{degree differentialVariables initial isobaric? leader makeVariable order separant weight weights} +\condata{DPOLCAT}{DifferentialPolynomialCategory\\} +{DifferentialExtension Evalable InnerEvalable PolynomialCategory\\ +RetractableTo} +{degree differentialVariables initial isobaric? leader makeVariable +order separant weight weights} % \condata{DIFRING}{DifferentialRing}{Ring}{D differentiate} % -\condata{DVARCAT}{DifferentialVariableCategory}{OrderedSet RetractableTo}{D coerce differentiate makeVariable order - variable weight} +\condata{DVARCAT}{DifferentialVariableCategory}{OrderedSet RetractableTo} +{D coerce differentiate makeVariable order variable weight} % -\condata{DIRPCAT}{DirectProductCategory}{AbelianSemiGroup Algebra BiModule CancellationAbelianMonoid CoercibleTo - CommutativeRing DifferentialExtension Finite FullyLinearlyExplicitRingOver FullyRetractableTo IndexedAggregate - OrderedAbelianMonoidSup OrderedRing VectorSpace}{{\tt *} directProduct dot unitVector} +\condata{DIRPCAT}{DirectProductCategory\\} +{AbelianSemiGroup Algebra BiModule CancellationAbelianMonoid\\ +CoercibleTo CommutativeRing DifferentialExtension Finite\\ +FullyLinearlyExplicitRingOver FullyRetractableTo IndexedAggregate\\ +OrderedAbelianMonoidSup OrderedRing VectorSpace} +{{\tt *} directProduct dot unitVector} % \condata{DIVRING}{DivisionRing}{Algebra EntireRing}{{\tt **} inv} % -\condata{DLAGG}{DoublyLinkedAggregate}{RecursiveAggregate}{concat! head last next previous setnext! setprevious! tail} +\condata{DLAGG}{DoublyLinkedAggregate}{RecursiveAggregate} +{concat! head last next previous setnext! setprevious! tail} % \condata{ELEMFUN}{ElementaryFunctionCategory}{}{{\tt **} exp log} % @@ -65759,69 +66209,100 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the category. % \condata{ENTIRER}{EntireRing}{BiModule Ring}{} % -\condata{EUCDOM}{EuclideanDomain}{PrincipalIdealDomain}{divide euclideanSize extendedEuclidean multiEuclidean quo rem - sizeLess?} +\condata{EUCDOM}{EuclideanDomain}{PrincipalIdealDomain\\} +{divide euclideanSize extendedEuclidean multiEuclidean quo rem sizeLess?} % \condata{EVALAB}{Evalable}{}{eval} % -\condata{ES}{ExpressionSpace}{Evalable InnerEvalable OrderedSet RetractableTo}{belong? box definingPolynomial - distribute elt eval freeOf? height is? kernel kernels mainKernel map minPoly operator operators paren subst tower} +\condata{ES}{ExpressionSpace} +{Evalable InnerEvalable OrderedSet RetractableTo} +{belong? box definingPolynomial distribute elt eval freeOf? height is? +kernel kernels mainKernel map minPoly operator operators paren subst tower} % -\condata{ELAGG}{ExtensibleLinearAggregate}{LinearAggregate}{concat! delete! insert! merge! remove! removeDuplicates! - select!} +\condata{ELAGG}{ExtensibleLinearAggregate}{LinearAggregate\\} +{concat! delete! insert! merge! remove! removeDuplicates! select!} % -\condata{XF}{ExtensionField}{CharacteristicZero Field FieldOfPrimeCharacteristic RetractableTo VectorSpace}{Frobenius - algebraic? degree extensionDegree inGroundField? transcendenceDegree transcendent?} +\condata{XF}{ExtensionField} +{CharacteristicZero Field FieldOfPrimeCharacteristic RetractableTo +VectorSpace} +{Frobenius algebraic? degree extensionDegree inGroundField? +transcendenceDegree transcendent?} % -\condata{FPC}{FieldOfPrimeCharacteristic}{CharacteristicNonZero Field}{discreteLog order primeFrobenius} +\condata{FPC}{FieldOfPrimeCharacteristic} +{CharacteristicNonZero Field}{discreteLog order primeFrobenius} % -\condata{FIELD}{Field}{DivisionRing EuclideanDomain UniqueFactorizationDomain}{{\tt /}} +\condata{FIELD}{Field} +{DivisionRing EuclideanDomain UniqueFactorizationDomain}{{\tt /}} % -\condata{FILECAT}{FileCategory}{SetCategory}{close! iomode name open read! reopen! write!} +\condata{FILECAT}{FileCategory}{SetCategory} +{close! iomode name open read! reopen! write!} % -\condata{FNCAT}{FileNameCategory}{SetCategory}{coerce directory exists? extension filename name new readable? writable?} +\condata{FNCAT}{FileNameCategory}{SetCategory} +{coerce directory exists? extension filename name new readable? writable?} % -\condata{FAMR}{FiniteAbelianMonoidRing}{AbelianMonoidRing FullyRetractableTo}{coefficients content exquo ground ground? - mapExponents minimumDegree numberOfMonomials primitivePart} +\condata{FAMR}{FiniteAbelianMonoidRing} +{AbelianMonoidRing FullyRetractableTo} +{coefficients content exquo ground ground? mapExponents minimumDegree +numberOfMonomials primitivePart} % -\condata{FAXF}{FiniteAlgebraicExtensionField}{ExtensionField FiniteFieldCategory RetractableTo}{basis coordinates - createNormalElement definingPolynomial degree extensionDegree generator minimalPolynomial norm normal? normalElement - represents trace} +\condata{FAXF}{FiniteAlgebraicExtensionField\\} +{ExtensionField FiniteFieldCategory RetractableTo\\} +{basis coordinates createNormalElement definingPolynomial degree +extensionDegree generator minimalPolynomial norm normal? normalElement +represents trace} % -\condata{FFIELDC}{FiniteFieldCategory}{FieldOfPrimeCharacteristic Finite StepThrough}{charthRoot conditionP - createPrimitiveElement discreteLog factorsOfCyclicGroupSize order primitive? primitiveElement representationType - tableForDiscreteLogarithm} +\condata{FFIELDC}{FiniteFieldCategory} +{FieldOfPrimeCharacteristic Finite StepThrough} +{charthRoot conditionP createPrimitiveElement discreteLog +factorsOfCyclicGroupSize order primitive? primitiveElement +representationType tableForDiscreteLogarithm} % -\condata{FLAGG}{FiniteLinearAggregate}{LinearAggregate OrderedSet}{copyInto! merge position reverse reverse! sort sort! +\condata{FLAGG}{FiniteLinearAggregate}{LinearAggregate OrderedSet} +{copyInto! merge position reverse reverse! sort sort! sorted?} % -\condata{FINRALG}{FiniteRankAlgebra}{Algebra CharacteristicNonZero CharacteristicZero}{characteristicPolynomial - coordinates discriminant minimalPolynomial norm rank regularRepresentation represents trace traceMatrix} -% -\condata{FINAALG}{FiniteRankNonAssociativeAlgebra}{NonAssociativeAlgebra}{JacobiIdentity? JordanAlgebra? alternative? - antiAssociative? antiCommutative? associative? associatorDependence commutative? conditionsForIdempotents coordinates - flexible? jordanAdmissible? leftAlternative? leftCharacteristicPolynomial leftDiscriminant leftMinimalPolynomial - leftNorm leftRecip leftRegularRepresentation leftTrace leftTraceMatrix leftUnit leftUnits lieAdmissible? lieAlgebra? - noncommutativeJordanAlgebra? powerAssociative? rank recip represents rightAlternative? rightCharacteristicPolynomial - rightDiscriminant rightMinimalPolynomial rightNorm rightRecip rightRegularRepresentation rightTrace rightTraceMatrix - rightUnit rightUnits someBasis structuralConstants unit} -% -\condata{FSAGG}{FiniteSetAggregate}{Dictionary Finite SetAggregate}{cardinality complement max min universe} +\condata{FINRALG}{FiniteRankAlgebra} +{Algebra CharacteristicNonZero CharacteristicZero} +{characteristicPolynomial coordinates discriminant minimalPolynomial +norm rank regularRepresentation represents trace traceMatrix} +% +\condata{FINAALG}{FiniteRankNonAssociativeAlgebra\\}{NonAssociativeAlgebra\\} +{JacobiIdentity? JordanAlgebra? alternative? antiAssociative?\\ +antiCommutative? associative? associatorDependence commutative?\\ +conditionsForIdempotents coordinates flexible? jordanAdmissible?\\ +leftAlternative? leftCharacteristicPolynomial leftDiscriminant\\ +leftMinimalPolynomial leftNorm leftRecip leftRegularRepresentation\\ +leftTrace leftTraceMatrix leftUnit leftUnits lieAdmissible? lieAlgebra?\\ +noncommutativeJordanAlgebra? powerAssociative? rank recip represents\\ +rightAlternative? rightCharacteristicPolynomial rightDiscriminant\\ +rightMinimalPolynomial rightNorm rightRecip rightRegularRepresentation\\ +rightTrace rightTraceMatrix rightUnit rightUnits someBasis\\ +structuralConstants unit} +% +\condata{FSAGG}{FiniteSetAggregate}{Dictionary Finite SetAggregate} +{cardinality complement max min universe} % \condata{FINITE}{Finite}{SetCategory}{index lookup random size} % -\condata{FPS}{FloatingPointSystem}{RealNumberSystem}{base bits decreasePrecision digits exponent float - increasePrecision mantissa max order precision} +\condata{FPS}{FloatingPointSystem}{RealNumberSystem} +{base bits decreasePrecision digits exponent float +increasePrecision mantissa max order precision} % -\condata{FRAMALG}{FramedAlgebra}{FiniteRankAlgebra}{basis convert coordinates discriminant regularRepresentation - represents traceMatrix} +\condata{FRAMALG}{FramedAlgebra}{FiniteRankAlgebra} +{basis convert coordinates discriminant regularRepresentation +represents traceMatrix} % -\condata{FRNAALG}{FramedNonAssociativeAlgebra}{FiniteRankNonAssociativeAlgebra}{apply basis conditionsForIdempotents - convert coordinates elt leftDiscriminant leftRankPolynomial leftRegularRepresentation leftTraceMatrix represents - rightDiscriminant rightRankPolynomial rightRegularRepresentation rightTraceMatrix structuralConstants} +\condata{FRNAALG}{FramedNonAssociativeAlgebra\\} +{FiniteRankNonAssociativeAlgebra} +{apply basis conditionsForIdempotents convert coordinates elt +leftDiscriminant leftRankPolynomial leftRegularRepresentation +leftTraceMatrix represents rightDiscriminant rightRankPolynomial +rightRegularRepresentation rightTraceMatrix structuralConstants} % -\condata{FAMONC}{FreeAbelianMonoidCategory}{CancellationAbelianMonoid RetractableTo}{{\tt *} {\tt +} coefficient - highCommonTerms mapCoef mapGen nthCoef nthFactor size terms} +\condata{FAMONC}{FreeAbelianMonoidCategory\\} +{CancellationAbelianMonoid RetractableTo} +{{\tt *} {\tt +} coefficient highCommonTerms mapCoef mapGen nthCoef +nthFactor size terms} % \condata{FEVALAB}{FullyEvalableOver}{Eltable Evalable InnerEvalable}{map} % @@ -65831,188 +66312,257 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the category. % \condata{FRETRCT}{FullyRetractableTo}{RetractableTo}{} % -\condata{FFCAT}{FunctionFieldCategory}{MonogenicAlgebra}{D absolutelyIrreducible? branchPoint? branchPointAtInfinity? - complementaryBasis differentiate elt genus integral? integralAtInfinity? integralBasis integralBasisAtInfinity - integralCoordinates integralDerivationMatrix integralMatrix integralMatrixAtInfinity integralRepresents - inverseIntegralMatrix inverseIntegralMatrixAtInfinity nonSingularModel normalizeAtInfinity numberOfComponents - primitivePart ramified? ramifiedAtInfinity? rationalPoint? rationalPoints reduceBasisAtInfinity represents singular? - singularAtInfinity? yCoordinates} -% -\condata{FS}{FunctionSpace}{AbelianGroup AbelianMonoid Algebra CharacteristicNonZero CharacteristicZero ConvertibleTo - ExpressionSpace Field FullyLinearlyExplicitRingOver FullyPatternMatchable FullyRetractableTo Group Monoid - PartialDifferentialRing Patternable RetractableTo Ring}{{\tt **} {\tt /} applyQuote coerce convert denom denominator - eval ground ground? isExpt isMult isPlus isPower isTimes numer numerator univariate variables} +\condata{FFCAT}{FunctionFieldCategory}{MonogenicAlgebra\\} +{D absolutelyIrreducible? branchPoint? branchPointAtInfinity?\\ +complementaryBasis differentiate elt genus integral?\\ +integralAtInfinity? integralBasis integralBasisAtInfinity\\ +integralCoordinates integralDerivationMatrix integralMatrix\\ +integralMatrixAtInfinity integralRepresents inverseIntegralMatrix\\ +inverseIntegralMatrixAtInfinity nonSingularModel\\ +normalizeAtInfinity numberOfComponents primitivePart ramified?\\ +ramifiedAtInfinity? rationalPoint? rationalPoints\\ +reduceBasisAtInfinity represents singular? singularAtInfinity?\\ +yCoordinates} +% +\condata{FS}{FunctionSpace} +{AbelianGroup AbelianMonoid Algebra CharacteristicNonZero +CharacteristicZero ConvertibleTo ExpressionSpace Field +FullyLinearlyExplicitRingOver FullyPatternMatchable FullyRetractableTo +Group Monoid PartialDifferentialRing Patternable RetractableTo Ring} +{{\tt **} {\tt /} applyQuote coerce convert denom denominator eval +ground ground? isExpt isMult isPlus isPower isTimes numer numerator +univariate variables} % \condata{GCDDOM}{GcdDomain}{IntegralDomain}{gcd lcm} % \condata{GRALG}{GradedAlgebra}{GradedModule}{One product} % -\condata{GRMOD}{GradedModule}{RetractableTo SetCategory}{{\tt *} {\tt +} {\tt -} Zero degree} +\condata{GRMOD}{GradedModule}{RetractableTo SetCategory} +{{\tt *} {\tt +} {\tt -} Zero degree} % \condata{GROUP}{Group}{Monoid}{{\tt **} {\tt /} commutator conjugate inv} % -\condata{HOAGG}{HomogeneousAggregate}{Aggregate SetCategory}{any? count every? map map! member? members parts} +\condata{HOAGG}{HomogeneousAggregate}{Aggregate SetCategory} +{any? count every? map map! member? members parts} % \condata{HYPCAT}{HyperbolicFunctionCategory}{}{cosh coth csch sech sinh tanh} % -\condata{IXAGG}{IndexedAggregate}{EltableAggregate HomogeneousAggregate}{entries entry? fill! first index? indices - maxIndex minIndex swap!} +\condata{IXAGG}{IndexedAggregate}{EltableAggregate HomogeneousAggregate} +{entries entry? fill! first index? indices maxIndex minIndex swap!} % -\condata{IDPC}{IndexedDirectProductCategory}{SetCategory}{leadingCoefficient leadingSupport map monomial reductum} +\condata{IDPC}{IndexedDirectProductCategory}{SetCategory} +{leadingCoefficient leadingSupport map monomial reductum} % \condata{IEVALAB}{InnerEvalable}{}{eval} % -\condata{INS}{IntegerNumberSystem}{CharacteristicZero CombinatorialFunctionCategory ConvertibleTo DifferentialRing - EuclideanDomain LinearlyExplicitRingOver OrderedRing PatternMatchable RealConstant RetractableTo StepThrough - UniqueFactorizationDomain}{addmod base bit? copy dec even? hash inc invmod length mask mulmod odd? positiveRemainder - powmod random rational rational? rationalIfCan shift submod symmetricRemainder} +\condata{INS}{IntegerNumberSystem} +{CharacteristicZero CombinatorialFunctionCategory ConvertibleTo +DifferentialRing EuclideanDomain LinearlyExplicitRingOver OrderedRing +PatternMatchable RealConstant RetractableTo StepThrough +UniqueFactorizationDomain} +{addmod base bit? copy dec even? hash inc invmod length mask mulmod odd? +positiveRemainder powmod random rational rational? rationalIfCan shift +submod symmetricRemainder} % -\condata{INTDOM}{IntegralDomain}{Algebra CommutativeRing EntireRing}{associates? exquo unit? unitCanonical unitNormal} +\condata{INTDOM}{IntegralDomain} +{Algebra CommutativeRing EntireRing} +{associates? exquo unit? unitCanonical unitNormal} % \condata{KDAGG}{KeyedDictionary}{Dictionary}{key? keys remove! search} % -\condata{LZSTAGG}{LazyStreamAggregate}{StreamAggregate}{complete explicitEntries? explicitlyEmpty? extend frst lazy? - lazyEvaluate numberOfComputedEntries remove rst select} +\condata{LZSTAGG}{LazyStreamAggregate}{StreamAggregate} +{complete explicitEntries? explicitlyEmpty? extend frst lazy? +lazyEvaluate numberOfComputedEntries remove rst select} % \condata{LALG}{LeftAlgebra}{LeftModule Ring}{coerce} % \condata{LMODULE}{LeftModule}{AbelianGroup}{{\tt *}} % -\condata{LNAGG}{LinearAggregate}{Collection IndexedAggregate}{concat delete elt insert map new setelt} +\condata{LNAGG}{LinearAggregate} +{Collection IndexedAggregate} +{concat delete elt insert map new setelt} % \condata{LINEXP}{LinearlyExplicitRingOver}{Ring}{reducedSystem} % -\condata{LFCAT}{LiouvillianFunctionCategory}{PrimitiveFunctionCategory TranscendentalFunctionCategory}{Ci Ei Si dilog - erf li} +\condata{LFCAT}{LiouvillianFunctionCategory} +{PrimitiveFunctionCategory TranscendentalFunctionCategory} +{Ci Ei Si dilog erf li} % -\condata{LSAGG}{ListAggregate}{ExtensibleLinearAggregate FiniteLinearAggregate StreamAggregate}{list} +\condata{LSAGG}{ListAggregate} +{ExtensibleLinearAggregate FiniteLinearAggregate StreamAggregate}{list} % -\condata{MAGCDOC}{ModularAlgebraicGcdOperations}{}{ - canonicalIfCan degree MPtoMPT packExps packModulus pseudoRem repack1 zero?} +\condata{MAGCDOC}{ModularAlgebraicGcdOperations}{} +{canonicalIfCan degree MPtoMPT packExps packModulus pseudoRem repack1 zero?} -\condata{MATCAT}{MatrixCategory}{TwoDimensionalArrayCategory}{{\tt *} {\tt **} {\tt +} {\tt -} {\tt /} antisymmetric? - coerce determinant diagonal? diagonalMatrix elt exquo horizConcat inverse listOfLists matrix minordet nullSpace nullity - rank rowEchelon scalarMatrix setelt setsubMatrix! square? squareTop subMatrix swapColumns! swapRows! symmetric? - transpose vertConcat zero} +\condata{MATCAT}{MatrixCategory}{TwoDimensionalArrayCategory\\} +{{\tt *} {\tt **} {\tt +} {\tt -} {\tt /} antisymmetric? coerce +determinant diagonal? diagonalMatrix elt exquo horizConcat inverse +listOfLists matrix minordet nullSpace nullity rank rowEchelon +scalarMatrix setelt setsubMatrix! square? squareTop subMatrix +swapColumns! swapRows! symmetric? transpose vertConcat zero} % \condata{MODULE}{Module}{BiModule}{} % -\condata{MONADWU}{MonadWithUnit}{Monad}{{\tt **} One leftPower leftRecip one? recip rightPower rightRecip} +\condata{MONADWU}{MonadWithUnit}{Monad} +{{\tt **} One leftPower leftRecip one? recip rightPower rightRecip} % -\condata{MONAD}{Monad}{SetCategory}{{\tt *} {\tt **} leftPower rightPower} +\condata{MONAD}{Monad}{SetCategory} +{{\tt *} {\tt **} leftPower rightPower} % -\condata{MONOGEN}{MonogenicAlgebra}{CommutativeRing ConvertibleTo DifferentialExtension Field Finite - FiniteFieldCategory FramedAlgebra FullyLinearlyExplicitRingOver FullyRetractableTo}{convert definingPolynomial - derivationCoordinates generator lift reduce} +\condata{MONOGEN}{MonogenicAlgebra} +{CommutativeRing ConvertibleTo\\ +DifferentialExtension Field Finite\\ +FiniteFieldCategory FramedAlgebra\\ +FullyLinearlyExplicitRingOver FullyRetractableTo\\} +{convert definingPolynomial derivationCoordinates generator lift reduce} % -\condata{MLO}{MonogenicLinearOperator}{Algebra BiModule Ring}{coefficient degree leadingCoefficient minimumDegree - monomial reductum} +\condata{MLO}{MonogenicLinearOperator}{Algebra BiModule Ring} +{coefficient degree leadingCoefficient minimumDegree monomial reductum} % \condata{MONOID}{Monoid}{SemiGroup}{{\tt **} One one? recip} % -\condata{MDAGG}{MultiDictionary}{DictionaryOperations}{duplicates insert! removeDuplicates!} +\condata{MDAGG}{MultiDictionary}{DictionaryOperations} +{duplicates insert! removeDuplicates!} % \condata{MSAGG}{MultisetAggregate}{MultiDictionary SetAggregate}{} % -\condata{MTSCAT}{MultivariateTaylorSeriesCategory}{Evalable InnerEvalable PartialDifferentialRing PowerSeriesCategory - RadicalCategory TranscendentalFunctionCategory}{coefficient extend integrate monomial order polynomial} +\condata{MTSCAT}{MultivariateTaylorSeriesCategory\\} +{Evalable InnerEvalable PartialDifferentialRing\\ +PowerSeriesCategory RadicalCategory\\ +TranscendentalFunctionCategory\\} +{coefficient extend integrate monomial order polynomial} % \condata{NAALG}{NonAssociativeAlgebra}{Module NonAssociativeRng}{plenaryPower} % -\condata{NASRING}{NonAssociativeRing}{MonadWithUnit NonAssociativeRng}{characteristic coerce} +\condata{NASRING}{NonAssociativeRing}{MonadWithUnit NonAssociativeRng} +{characteristic coerce} % -\condata{NARNG}{NonAssociativeRng}{AbelianGroup Monad}{antiCommutator associator commutator} +\condata{NARNG}{NonAssociativeRng}{AbelianGroup Monad\\} +{antiCommutator associator commutator} % \condata{OBJECT}{Object}{}{} % -\condata{OC}{OctonionCategory}{Algebra CharacteristicNonZero CharacteristicZero ConvertibleTo Finite FullyEvalableOver - FullyRetractableTo OrderedSet}{abs conjugate imagE imagI imagJ imagK imagi imagj imagk inv norm octon rational - rational? rationalIfCan real} +\condata{OC}{OctonionCategory}{Algebra CharacteristicNonZero\\ +CharacteristicZero ConvertibleTo Finite FullyEvalableOver\\ +FullyRetractableTo OrderedSet\\} +{abs conjugate imagE imagI imagJ imagK imagi imagj imagk inv norm +octon rational rational? rationalIfCan real} % \condata{A1AGG}{OneDimensionalArrayAggregate}{FiniteLinearAggregate}{} % -\condata{OAGROUP}{OrderedAbelianGroup}{AbelianGroup OrderedCancellationAbelianMonoid}{} +\condata{OAGROUP}{OrderedAbelianGroup\\} +{AbelianGroup OrderedCancellationAbelianMonoid}{} % -\condata{OAMONS}{OrderedAbelianMonoidSup}{OrderedCancellationAbelianMonoid}{sup} +\condata{OAMONS}{OrderedAbelianMonoidSup} +{OrderedCancellationAbelianMonoid}{sup} % \condata{OAMON}{OrderedAbelianMonoid}{AbelianMonoid OrderedAbelianSemiGroup}{} % \condata{OASGP}{OrderedAbelianSemiGroup}{AbelianMonoid OrderedSet}{} % -\condata{OCAMON}{OrderedCancellationAbelianMonoid}{CancellationAbelianMonoid OrderedAbelianMonoid}{} +\condata{OCAMON}{OrderedCancellationAbelianMonoid} +{CancellationAbelianMonoid OrderedAbelianMonoid}{} % \condata{ORDFIN}{OrderedFinite}{Finite OrderedSet}{} % \condata{ORDMON}{OrderedMonoid}{Monoid OrderedSet}{} % -\condata{OMAGG}{OrderedMultisetAggregate}{MultisetAggregate PriorityQueueAggregate}{min} +\condata{OMAGG}{OrderedMultisetAggregate} +{MultisetAggregate PriorityQueueAggregate}{min} % -\condata{ORDRING}{OrderedRing}{OrderedAbelianGroup OrderedMonoid Ring}{abs negative? positive? sign} +\condata{ORDRING}{OrderedRing}{OrderedAbelianGroup OrderedMonoid Ring} +{abs negative? positive? sign} % \condata{ORDSET}{OrderedSet}{SetCategory}{{\tt <} max min} % -\condata{PADICCT}{PAdicIntegerCategory}{CharacteristicZero EuclideanDomain}{approximate complete digits extend moduloP - modulus order quotientByP sqrt} +\condata{PADICCT}{PAdicIntegerCategory}{CharacteristicZero EuclideanDomain} +{approximate complete digits extend moduloP modulus order quotientByP sqrt} % \condata{PDRING}{PartialDifferentialRing}{Ring}{D differentiate} % -\condata{PTRANFN}{PartialTranscendentalFunctions}{}{acosIfCan acoshIfCan acotIfCan acothIfCan acscIfCan acschIfCan - asecIfCan asechIfCan asinIfCan asinhIfCan atanIfCan atanhIfCan cosIfCan coshIfCan cotIfCan cothIfCan cscIfCan cschIfCan - expIfCan logIfCan nthRootIfCan secIfCan sechIfCan sinIfCan sinhIfCan tanIfCan tanhIfCan} +\condata{PTRANFN}{PartialTranscendentalFunctions\\}{} +{acosIfCan acoshIfCan acotIfCan acothIfCan acscIfCan\\ +acschIfCan asecIfCan asechIfCan asinIfCan asinhIfCan\\ +atanIfCan atanhIfCan cosIfCan coshIfCan cotIfCan cothIfCan\\ +cscIfCan cschIfCan expIfCan logIfCan nthRootIfCan secIfCan\\ +sechIfCan sinIfCan sinhIfCan tanIfCan tanhIfCan} % \condata{PATAB}{Patternable}{ConvertibleTo Object}{} % \condata{PATMAB}{PatternMatchable}{SetCategory}{patternMatch} % -\condata{PERMCAT}{PermutationCategory}{Group OrderedSet}{{\tt <} cycle cycles elt eval orbit} +\condata{PERMCAT}{PermutationCategory}{Group OrderedSet\\} +{{\tt <} cycle cycles elt eval orbit} % -\condata{PPCURVE}{PlottablePlaneCurveCategory}{CoercibleTo}{listBranches xRange yRange} +\condata{PPCURVE}{PlottablePlaneCurveCategory}{CoercibleTo\\} +{listBranches xRange yRange} % -\condata{PSCURVE}{PlottableSpaceCurveCategory}{CoercibleTo}{listBranches xRange yRange zRange} +\condata{PSCURVE}{PlottableSpaceCurveCategory}{CoercibleTo\\} +{listBranches xRange yRange zRange} % -\condata{PTCAT}{PointCategory}{VectorCategory}{convert cross dimension extend length point} +\condata{PTCAT}{PointCategory}{VectorCategory} +{convert cross dimension extend length point} % -\condata{POLYCAT}{PolynomialCategory}{ConvertibleTo Evalable FiniteAbelianMonoidRing FullyLinearlyExplicitRingOver - GcdDomain InnerEvalable OrderedSet PartialDifferentialRing PatternMatchable PolynomialFactorizationExplicit - RetractableTo}{coefficient content degree discriminant isExpt isPlus isTimes mainVariable minimumDegree monicDivide - monomial monomials multivariate primitiveMonomials primitivePart resultant squareFree squareFreePart totalDegree - univariate variables} +\condata{POLYCAT}{PolynomialCategory} +{ConvertibleTo Evalable FiniteAbelianMonoidRing FullyLinearlyExplicitRingOver +GcdDomain InnerEvalable OrderedSet PartialDifferentialRing PatternMatchable +PolynomialFactorizationExplicit RetractableTo} +{coefficient content degree discriminant isExpt isPlus isTimes +mainVariable minimumDegree monicDivide monomial monomials multivariate +primitiveMonomials primitivePart resultant squareFree squareFreePart +totalDegree univariate variables} % -\condata{PFECAT}{PolynomialFactorizationExplicit}{UniqueFactorizationDomain}{charthRoot conditionP factorPolynomial - factorSquareFreePolynomial gcdPolynomial solveLinearPolynomialEquation squareFreePolynomial} +\condata{PFECAT}{PolynomialFactorizationExplicit\\}{UniqueFactorizationDomain} +{charthRoot conditionP factorPolynomial factorSquareFreePolynomial\\ +gcdPolynomial solveLinearPolynomialEquation squareFreePolynomial} % -\condata{PSCAT}{PowerSeriesCategory}{AbelianMonoidRing}{complete monomial pole? variables} +\condata{PSCAT}{PowerSeriesCategory}{AbelianMonoidRing} +{complete monomial pole? variables} % \condata{PRIMCAT}{PrimitiveFunctionCategory}{}{integral} % -\condata{PID}{PrincipalIdealDomain}{GcdDomain}{expressIdealMember principalIdeal} +\condata{PID}{PrincipalIdealDomain}{GcdDomain} +{expressIdealMember principalIdeal} % \condata{PRQAGG}{PriorityQueueAggregate}{BagAggregate}{max merge merge!} % -\condata{QUATCAT}{QuaternionCategory}{Algebra CharacteristicNonZero CharacteristicZero ConvertibleTo - DifferentialExtension DivisionRing EntireRing FullyEvalableOver FullyLinearlyExplicitRingOver FullyRetractableTo - OrderedSet}{abs conjugate imagI imagJ imagK norm quatern rational rational? rationalIfCan real} -% -\condata{QUAGG}{QueueAggregate}{BagAggregate}{back dequeue! enqueue! front length rotate!} -% -\condata{QFCAT}{QuotientFieldCategory}{Algebra CharacteristicNonZero CharacteristicZero ConvertibleTo - DifferentialExtension Field FullyEvalableOver FullyLinearlyExplicitRingOver FullyPatternMatchable OrderedRing - OrderedSet Patternable PolynomialFactorizationExplicit RealConstant RetractableTo StepThrough}{{\tt /} ceiling denom - denominator floor fractionPart numer numerator random wholePart} +\condata{QUATCAT}{QuaternionCategory} +{Algebra CharacteristicNonZero CharacteristicZero ConvertibleTo +DifferentialExtension DivisionRing EntireRing FullyEvalableOver +FullyLinearlyExplicitRingOver FullyRetractableTo OrderedSet} +{abs conjugate imagI imagJ imagK norm quatern rational rational? +rationalIfCan real} +% +\condata{QUAGG}{QueueAggregate}{BagAggregate} +{back dequeue! enqueue! front length rotate!} +% +\condata{QFCAT}{QuotientFieldCategory\\} +{Algebra CharacteristicNonZero CharacteristicZero\\ +ConvertibleTo DifferentialExtension Field FullyEvalableOver\\ +FullyLinearlyExplicitRingOver FullyPatternMatchable OrderedRing\\ +OrderedSet Patternable PolynomialFactorizationExplicit\\ +RealConstant RetractableTo StepThrough\\} +{{\tt /} ceiling denom denominator floor fractionPart numer numerator +random wholePart} % \condata{RADCAT}{RadicalCategory}{}{{\tt **} nthRoot sqrt} % \condata{REAL}{RealConstant}{ConvertibleTo}{} % -\condata{RNS}{RealNumberSystem}{CharacteristicZero ConvertibleTo Field OrderedRing PatternMatchable RadicalCategory - RealConstant RetractableTo}{abs ceiling floor fractionPart norm round truncate wholePart} +\condata{RNS}{RealNumberSystem} +{CharacteristicZero ConvertibleTo Field OrderedRing PatternMatchable +RadicalCategory RealConstant RetractableTo} +{abs ceiling floor fractionPart norm round truncate wholePart} % -\condata{RMATCAT}{RectangularMatrixCategory}{BiModule HomogeneousAggregate Module}{{\tt /} antisymmetric? column - diagonal? elt exquo listOfLists map matrix maxColIndex maxRowIndex minColIndex minRowIndex ncols nrows nullSpace - nullity qelt rank row rowEchelon square? symmetric?} +\condata{RMATCAT}{RectangularMatrixCategory\\} +{BiModule HomogeneousAggregate Module} +{{\tt /} antisymmetric? column diagonal? elt exquo listOfLists map matrix +maxColIndex maxRowIndex minColIndex minRowIndex ncols nrows nullSpace +nullity qelt rank row rowEchelon square? symmetric?} % -\condata{RCAGG}{RecursiveAggregate}{HomogeneousAggregate}{children cyclic? elt leaf? leaves node? nodes setchildren! - setelt setvalue! value} +\condata{RCAGG}{RecursiveAggregate}{HomogeneousAggregate} +{children cyclic? elt leaf? leaves node? nodes setchildren! setelt +setvalue! value} % \condata{RETRACT}{RetractableTo}{}{coerce retract retractIfCan} % @@ -66022,81 +66572,109 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the category. % \condata{RNG}{Rng}{AbelianGroup SemiGroup}{} % -\condata{SEGCAT}{SegmentCategory}{SetCategory}{BY SEGMENT convert hi high incr lo low segment} +\condata{SEGCAT}{SegmentCategory}{SetCategory} +{BY SEGMENT convert hi high incr lo low segment} % \condata{SEGXCAT}{SegmentExpansionCategory}{SegmentCategory}{expand map} % \condata{SGROUP}{SemiGroup}{SetCategory}{{\tt *} {\tt **}} % -\condata{SETAGG}{SetAggregate}{Collection SetCategory}{{\tt <} brace difference intersect subset? symmetricDifference - union} +\condata{SETAGG}{SetAggregate}{Collection SetCategory} +{{\tt <} brace difference intersect subset? symmetricDifference union} % \condata{SETCAT}{SetCategory}{CoercibleTo Object}{{\tt =}} % -\condata{SEXCAT}{SExpressionCategory}{SetCategory}{{\tt \#} atom? car cdr convert destruct elt eq expr float float? - integer integer? list? null? pair? string string? symbol symbol? uequal} +\condata{SEXCAT}{SExpressionCategory}{SetCategory} +{{\tt \#} atom? car cdr convert destruct elt eq expr float float? +integer integer? list? null? pair? string string? symbol symbol? uequal} % -\condata{SPFCAT}{SpecialFunctionCategory}{}{Beta Gamma abs airyAi airyBi besselI besselJ besselK besselY digamma - polygamma} +\condata{SPFCAT}{SpecialFunctionCategory}{} +{Beta Gamma abs airyAi airyBi besselI besselJ besselK besselY digamma +polygamma} % -\condata{SMATCAT}{SquareMatrixCategory}{Algebra BiModule DifferentialExtension FullyLinearlyExplicitRingOver - FullyRetractableTo Module RectangularMatrixCategory}{{\tt *} {\tt **} determinant diagonal diagonalMatrix - diagonalProduct inverse minordet scalarMatrix trace} +\condata{SMATCAT}{SquareMatrixCategory} +{Algebra BiModule DifferentialExtension FullyLinearlyExplicitRingOver +FullyRetractableTo Module RectangularMatrixCategory} +{{\tt *} {\tt **} determinant diagonal diagonalMatrix diagonalProduct +inverse minordet scalarMatrix trace} % \condata{SKAGG}{StackAggregate}{BagAggregate}{depth pop! push! top} % \condata{STEP}{StepThrough}{SetCategory}{init nextItem} % -\condata{STAGG}{StreamAggregate}{LinearAggregate UnaryRecursiveAggregate}{explicitlyFinite? possiblyInfinite?} +\condata{STAGG}{StreamAggregate}{LinearAggregate UnaryRecursiveAggregate} +{explicitlyFinite? possiblyInfinite?} % -\condata{SRAGG}{StringAggregate}{OneDimensionalArrayAggregate}{coerce elt leftTrim lowerCase lowerCase! match match? - position prefix? replace rightTrim split substring? suffix? trim upperCase upperCase!} +\condata{SRAGG}{StringAggregate}{OneDimensionalArrayAggregate} +{coerce elt leftTrim lowerCase lowerCase! match match? position prefix? +replace rightTrim split substring? suffix? trim upperCase upperCase!} % \condata{STRICAT}{StringCategory}{StringAggregate}{string} % -\condata{TBAGG}{TableAggregate}{IndexedAggregate KeyedDictionary}{map setelt table} +\condata{TBAGG}{TableAggregate}{IndexedAggregate KeyedDictionary} +{map setelt table} % -\condata{SPACEC}{ThreeSpaceCategory}{SetCategory}{check closedCurve closedCurve? coerce components composite composites - copy create3Space curve curve? enterPointData lllip lllp llprop lp lprop merge mesh mesh? modifyPointData - numberOfComponents numberOfComposites objects point point? polygon polygon? subspace} +\condata{SPACEC}{ThreeSpaceCategory}{SetCategory} +{check closedCurve closedCurve? coerce components composite composites +copy create3Space curve curve? enterPointData lllip lllp llprop lp lprop +merge mesh mesh? modifyPointData numberOfComponents numberOfComposites +objects point point? polygon polygon? subspace} % -\condata{TRANFUN}{TranscendentalFunctionCategory}{ArcHyperbolicFunctionCategory ArcTrigonometricFunctionCategory - ElementaryFunctionCategory HyperbolicFunctionCategory TrigonometricFunctionCategory}{pi} +\condata{TRANFUN}{TranscendentalFunctionCategory\\} +{ArcHyperbolicFunctionCategory ArcTrigonometricFunctionCategory\\ +ElementaryFunctionCategory HyperbolicFunctionCategory\\ +TrigonometricFunctionCategory}{pi} % \condata{TRIGCAT}{TrigonometricFunctionCategory}{}{cos cot csc sec sin tan} % -\condata{ARR2CAT}{TwoDimensionalArrayCategory}{HomogeneousAggregate}{column elt fill! map map! maxColIndex maxRowIndex - minColIndex minRowIndex ncols new nrows parts qelt qsetelt! row setColumn! setRow! setelt} +\condata{ARR2CAT}{TwoDimensionalArrayCategory}{HomogeneousAggregate} +{column elt fill! map map! maxColIndex maxRowIndex minColIndex minRowIndex +ncols new nrows parts qelt qsetelt! row setColumn! setRow! setelt} % -\condata{URAGG}{UnaryRecursiveAggregate}{RecursiveAggregate}{concat concat! cycleEntry cycleLength cycleSplit! - cycleTail elt first last rest second setelt setfirst! setlast! setrest! split! tail third} +\condata{URAGG}{UnaryRecursiveAggregate}{RecursiveAggregate} +{concat concat! cycleEntry cycleLength cycleSplit! cycleTail elt first +last rest second setelt setfirst! setlast! setrest! split! tail third} % -\condata{UFD}{UniqueFactorizationDomain}{GcdDomain}{factor prime? squareFree squareFreePart} +\condata{UFD}{UniqueFactorizationDomain}{GcdDomain} +{factor prime? squareFree squareFreePart} % -\condata{ULSCAT}{UnivariateLaurentSeriesCategory}{Field RadicalCategory TranscendentalFunctionCategory - UnivariatePowerSeriesCategory}{integrate multiplyCoefficients rationalFunction} +\condata{ULSCAT}{UnivariateLaurentSeriesCategory\\} +{Field RadicalCategory TranscendentalFunctionCategory +UnivariatePowerSeriesCategory} +{integrate multiplyCoefficients rationalFunction} % -\condata{ULSCCAT}{UnivariateLaurentSeriesConstructorCategory}{QuotientFieldCategory RetractableTo - UnivariateLaurentSeriesCategory}{coerce degree laurent removeZeroes taylor taylorIfCan taylorRep} +\condata{ULSCCAT}{UnivariateLaurentSeriesConstructorCategory\\} +{QuotientFieldCategory RetractableTo UnivariateLaurentSeriesCategory} +{coerce degree laurent removeZeroes taylor taylorIfCan taylorRep} % -\condata{UPOLYC}{UnivariatePolynomialCategory}{DifferentialExtension DifferentialRing Eltable EuclideanDomain - PolynomialCategory StepThrough}{D composite differentiate discriminant divideExponents elt integrate makeSUP - monicDivide multiplyExponents order pseudoDivide pseudoQuotient pseudoRemainder resultant separate subResultantGcd - unmakeSUP vectorise} +\condata{UPOLYC}{UnivariatePolynomialCategory\\} +{DifferentialExtension DifferentialRing Eltable EuclideanDomain +PolynomialCategory StepThrough} +{D composite differentiate discriminant divideExponents elt integrate makeSUP +monicDivide multiplyExponents order pseudoDivide pseudoQuotient +pseudoRemainder resultant separate subResultantGcd unmakeSUP vectorise} % -\condata{UPSCAT}{UnivariatePowerSeriesCategory}{DifferentialRing Eltable PowerSeriesCategory}{approximate center elt - eval extend multiplyExponents order series terms truncate variable} +\condata{UPSCAT}{UnivariatePowerSeriesCategory\\} +{DifferentialRing Eltable PowerSeriesCategory} +{approximate center elt eval extend multiplyExponents order series +terms truncate variable} % -\condata{UPXSCAT}{UnivariatePuiseuxSeriesCategory}{Field RadicalCategory TranscendentalFunctionCategory - UnivariatePowerSeriesCategory}{integrate multiplyExponents} +\condata{UPXSCAT}{UnivariatePuiseuxSeriesCategory\\} +{Field RadicalCategory TranscendentalFunctionCategory\\ +UnivariatePowerSeriesCategory} +{integrate multiplyExponents} % -\condata{UPXSCCA}{UnivariatePuiseuxSeriesConstructorCategory}{RetractableTo UnivariatePuiseuxSeriesCategory}{coerce - degree laurent laurentIfCan laurentRep puiseux rationalPower} +\condata{UPXSCCA}{UnivariatePuiseuxSeriesConstructorCategory\\}{RetractableTo UnivariatePuiseuxSeriesCategory\\} +{coerce degree laurent laurentIfCan laurentRep puiseux rationalPower} % -\condata{UTSCAT}{UnivariateTaylorSeriesCategory}{RadicalCategory TranscendentalFunctionCategory - UnivariatePowerSeriesCategory}{{\tt **} coefficients integrate multiplyCoefficients polynomial quoByVar series} +\condata{UTSCAT}{UnivariateTaylorSeriesCategory\\} +{RadicalCategory TranscendentalFunctionCategory\\ +UnivariatePowerSeriesCategory\\} +{{\tt **} coefficients integrate multiplyCoefficients +polynomial quoByVar series} % -\condata{VECTCAT}{VectorCategory}{OneDimensionalArrayAggregate}{{\tt *} {\tt +} {\tt -} dot zero} +\condata{VECTCAT}{VectorCategory}{OneDimensionalArrayAggregate} +{{\tt *} {\tt +} {\tt -} dot zero} % \condata{VSPACE}{VectorSpace}{Module}{{\tt /} dimension} % @@ -66139,800 +66717,1226 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the domain. % ---------------------------------------------------------------------- %\begin{constructorListing} % ---------------------------------------------------------------------- -\condata{ALGSC}{AlgebraGivenByStructuralConstants}{FramedNonAssociativeAlgebra LeftModule}{0 {\tt *} {\tt **} {\tt +} - {\tt -} {\tt =} JacobiIdentity? JordanAlgebra? alternative? antiAssociative? antiCommutative? antiCommutator apply - associative? associator associatorDependence basis coerce commutative? commutator conditionsForIdempotents convert - coordinates elt flexible? jordanAdmissible? leftAlternative? leftCharacteristicPolynomial leftDiscriminant - leftMinimalPolynomial leftNorm leftPower leftRankPolynomial leftRecip leftRegularRepresentation leftTrace - leftTraceMatrix leftUnit leftUnits lieAdmissible? lieAlgebra? noncommutativeJordanAlgebra? plenaryPower - powerAssociative? rank recip represents rightAlternative? rightCharacteristicPolynomial rightDiscriminant - rightMinimalPolynomial rightNorm rightPower rightRankPolynomial rightRecip rightRegularRepresentation rightTrace - rightTraceMatrix rightUnit rightUnits someBasis structuralConstants unit zero?} -% -\condata{ALGFF}{AlgebraicFunctionField}{FunctionFieldCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} D - absolutelyIrreducible? associates? basis branchPoint? branchPointAtInfinity? characteristic characteristicPolynomial - charthRoot coerce complementaryBasis convert coordinates definingPolynomial derivationCoordinates differentiate - discriminant divide elt euclideanSize expressIdealMember exquo extendedEuclidean factor gcd generator genus integral? - integralAtInfinity? integralBasis integralBasisAtInfinity integralCoordinates integralDerivationMatrix integralMatrix - integralMatrixAtInfinity integralRepresents inv inverseIntegralMatrix inverseIntegralMatrixAtInfinity knownInfBasis lcm - lift minimalPolynomial multiEuclidean nonSingularModel norm normalizeAtInfinity numberOfComponents one? prime? - primitivePart principalIdeal quo ramified? ramifiedAtInfinity? rank rationalPoint? rationalPoints recip reduce - reduceBasisAtInfinity reducedSystem regularRepresentation rem represents retract retractIfCan singular? - singularAtInfinity? sizeLess? squareFree squareFreePart trace traceMatrix unit? unitCanonical unitNormal yCoordinates - zero?} -% -\condata{AN}{AlgebraicNumber}{AlgebraicallyClosedField CharacteristicZero ConvertibleTo DifferentialRing - ExpressionSpace LinearlyExplicitRingOver RealConstant RetractableTo}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt - <} {\tt =} D associates? belong? box characteristic coerce convert definingPolynomial denom differentiate distribute - divide elt euclideanSize eval expressIdealMember exquo extendedEuclidean factor freeOf? gcd height inv is? kernel - kernels lcm mainKernel map max min minPoly multiEuclidean nthRoot numer one? operator operators paren prime? - principalIdeal quo recip reduce reducedSystem rem retract retractIfCan rootOf rootsOf sizeLess? sqrt squareFree - squareFreePart subst tower unit? unitCanonical unitNormal zero? zeroOf zerosOf} +\condata{ALGSC}{AlgebraGivenByStructuralConstants\\} +{FramedNonAssociativeAlgebra LeftModule} +{0 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} JacobiIdentity? +JordanAlgebra? alternative? antiAssociative? antiCommutative? +antiCommutator apply associative? associator associatorDependence +basis coerce commutative? commutator conditionsForIdempotents convert +coordinates elt flexible? jordanAdmissible? leftAlternative? +leftCharacteristicPolynomial leftDiscriminant leftMinimalPolynomial +leftNorm leftPower leftRankPolynomial leftRecip +leftRegularRepresentation leftTrace leftTraceMatrix leftUnit +leftUnits lieAdmissible? lieAlgebra? noncommutativeJordanAlgebra? +plenaryPower powerAssociative? rank recip represents +rightAlternative? rightCharacteristicPolynomial rightDiscriminant +rightMinimalPolynomial rightNorm rightPower rightRankPolynomial +rightRecip rightRegularRepresentation rightTrace rightTraceMatrix +rightUnit rightUnits someBasis structuralConstants unit zero?} +% +\condata{ALGFF}{AlgebraicFunctionField}{FunctionFieldCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} D +absolutelyIrreducible? associates? basis branchPoint? +branchPointAtInfinity? characteristic characteristicPolynomial +charthRoot coerce complementaryBasis convert coordinates +definingPolynomial derivationCoordinates differentiate discriminant +divide elt euclideanSize expressIdealMember exquo extendedEuclidean +factor gcd generator genus integral? integralAtInfinity? integralBasis +integralBasisAtInfinity integralCoordinates integralDerivationMatrix +integralMatrix integralMatrixAtInfinity integralRepresents inv +inverseIntegralMatrix inverseIntegralMatrixAtInfinity knownInfBasis lcm +lift minimalPolynomial multiEuclidean nonSingularModel norm +normalizeAtInfinity numberOfComponents one? prime? primitivePart +principalIdeal quo ramified? ramifiedAtInfinity? rank rationalPoint? +rationalPoints recip reduce reduceBasisAtInfinity reducedSystem +regularRepresentation rem represents retract retractIfCan singular? +singularAtInfinity? sizeLess? squareFree squareFreePart trace +traceMatrix unit? unitCanonical unitNormal yCoordinates zero?} +% +\condata{AN}{AlgebraicNumber} +{AlgebraicallyClosedField CharacteristicZero ConvertibleTo DifferentialRing +ExpressionSpace LinearlyExplicitRingOver RealConstant RetractableTo} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D +associates? belong? box characteristic coerce convert +definingPolynomial denom differentiate distribute +divide elt euclideanSize eval expressIdealMember exquo +extendedEuclidean factor freeOf? gcd height inv is? kernel +kernels lcm mainKernel map max min minPoly multiEuclidean +nthRoot numer one? operator operators paren prime? principalIdeal +quo recip reduce reducedSystem rem retract retractIfCan rootOf +rootsOf sizeLess? sqrt squareFree squareFreePart subst tower unit? +unitCanonical unitNormal zero? zeroOf zerosOf} % \condata{ANON}{AnonymousFunction}{SetCategory}{{\tt =} coerce} % -\condata{ANTISYM}{AntiSymm}{LeftAlgebra RetractableTo}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} characteristic - coefficient coerce degree exp generator homogeneous? leadingBasisTerm leadingCoefficient map one? recip reductum - retract retractIfCan retractable? zero?} -% -\condata{ANY}{Any}{SetCategory}{{\tt =} any coerce domain domainOf obj objectOf showTypeInOutput} -% -\condata{ASTACK}{ArrayStack}{StackAggregate}{{\tt \#} {\tt =} any? arrayStack bag coerce copy count depth empty empty? - eq? every? extract! insert! inspect less? map map! member? members more? parts pop! push! size? top} -% -\condata{JORDAN}{AssociatedJordanAlgebra}{CoercibleTo FiniteRankNonAssociativeAlgebra FramedNonAssociativeAlgebra - NonAssociativeAlgebra}{0 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} JacobiIdentity? JordanAlgebra? alternative? - antiAssociative? antiCommutative? antiCommutator apply associative? associator associatorDependence basis coerce - commutative? commutator conditionsForIdempotents convert coordinates elt flexible? jordanAdmissible? leftAlternative? - leftCharacteristicPolynomial leftDiscriminant leftMinimalPolynomial leftNorm leftPower leftRankPolynomial leftRecip - leftRegularRepresentation leftTrace leftTraceMatrix leftUnit leftUnits lieAdmissible? lieAlgebra? - noncommutativeJordanAlgebra? plenaryPower powerAssociative? rank recip represents rightAlternative? - rightCharacteristicPolynomial rightDiscriminant rightMinimalPolynomial rightNorm rightPower rightRankPolynomial - rightRecip rightRegularRepresentation rightTrace rightTraceMatrix rightUnit rightUnits someBasis structuralConstants - unit zero?} -% -\condata{LIE}{AssociatedLieAlgebra}{CoercibleTo FiniteRankNonAssociativeAlgebra FramedNonAssociativeAlgebra - NonAssociativeAlgebra}{0 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} JacobiIdentity? JordanAlgebra? alternative? - antiAssociative? antiCommutative? antiCommutator apply associative? associator associatorDependence basis coerce - commutative? commutator conditionsForIdempotents convert coordinates elt flexible? jordanAdmissible? leftAlternative? - leftCharacteristicPolynomial leftDiscriminant leftMinimalPolynomial leftNorm leftPower leftRankPolynomial leftRecip - leftRegularRepresentation leftTrace leftTraceMatrix leftUnit leftUnits lieAdmissible? lieAlgebra? - noncommutativeJordanAlgebra? plenaryPower powerAssociative? rank recip represents rightAlternative? - rightCharacteristicPolynomial rightDiscriminant rightMinimalPolynomial rightNorm rightPower rightRankPolynomial - rightRecip rightRegularRepresentation rightTrace rightTraceMatrix rightUnit rightUnits someBasis structuralConstants - unit zero?} -% -\condata{ALIST}{AssociationList}{AssociationListAggregate}{{\tt \#} {\tt =} any? assoc bag child? children coerce - concat concat! construct copy copyInto! count cycleEntry cycleLength cycleSplit! cycleTail cyclic? delete delete! - dictionary distance elt empty empty? entries entry? eq? every? explicitlyFinite? extract! fill! find first index? - indices insert insert! inspect key? keys last leaf? less? list map map! maxIndex member? members merge merge! minIndex - more? new node? nodes parts position possiblyInfinite? qelt qsetelt! reduce remove remove! removeDuplicates - removeDuplicates! rest reverse reverse! search second select select! setchildren! setelt setfirst! setlast! setrest! - setvalue! size? sort sort! sorted? split! swap! table tail third value} -% -\condata{BBTREE}{BalancedBinaryTree}{BinaryTreeCategory}{{\tt \#} {\tt =} any? balancedBinaryTree children coerce copy - count cyclic? elt empty empty? eq? every? leaf? leaves left less? map map! mapDown! mapUp! member? members more? node - node? nodes parts right setchildren! setelt setleaves! setleft! setright! setvalue! size? value} -% -\condata{BPADIC}{BalancedPAdicInteger}{PAdicIntegerCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} approximate - associates? characteristic coerce complete digits divide euclideanSize expressIdealMember exquo extend - extendedEuclidean gcd lcm moduloP modulus multiEuclidean one? order principalIdeal quo quotientByP recip rem sizeLess? - sqrt unit? unitCanonical unitNormal zero?} -% -\condata{BPADICRT}{BalancedPAdicRational}{QuotientFieldCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} D - approximate associates? characteristic coerce continuedFraction denom denominator differentiate divide euclideanSize - expressIdealMember exquo extendedEuclidean factor fractionPart gcd inv lcm map multiEuclidean numer numerator one? - prime? principalIdeal quo recip reducedSystem rem removeZeroes retract retractIfCan sizeLess? squareFree squareFreePart - unit? unitCanonical unitNormal wholePart zero?} -% -\condata{BOP}{BasicOperator}{OrderedSet}{{\tt <} {\tt =} arity assert coerce comparison copy deleteProperty! display - equality has? input is? max min name nary? nullary? operator properties property setProperties setProperty unary? - weight} -% -\condata{BINARY}{BinaryExpansion}{QuotientFieldCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D - abs associates? binary ceiling characteristic coerce convert denom denominator differentiate divide euclideanSize - expressIdealMember exquo extendedEuclidean factor floor fractionPart gcd init inv lcm map max min multiEuclidean - negative? nextItem numer numerator one? patternMatch positive? prime? principalIdeal quo random recip reducedSystem rem - retract retractIfCan sign sizeLess? squareFree squareFreePart unit? unitCanonical unitNormal wholePart zero?} -% -\condata{BSTREE}{BinarySearchTree}{BinaryTreeCategory}{{\tt \#} {\tt =} any? binarySearchTree children coerce copy - count cyclic? elt empty empty? eq? every? insert! insertRoot! leaf? leaves left less? map map! member? members more? - node node? nodes parts right setchildren! setelt setleft! setright! setvalue! size? split value} -% -\condata{BTOURN}{BinaryTournament}{BinaryTreeCategory}{{\tt \#} {\tt =} any? binaryTournament children coerce copy - count cyclic? elt empty empty? eq? every? insert! leaf? leaves left less? map map! member? members more? node node? - nodes parts right setchildren! setelt setleft! setright! setvalue! size? value} -% -\condata{BTREE}{BinaryTree}{BinaryTreeCategory}{{\tt \#} {\tt =} any? binaryTree children coerce copy count cyclic? elt - empty empty? eq? every? leaf? leaves left less? map map! member? members more? node node? nodes parts right - setchildren! setelt setleft! setright! setvalue! size? value} -% -\condata{BITS}{Bits}{BitAggregate}{{\tt \#} {\tt <} {\tt =} {\tt \^{}} and any? bits coerce concat construct convert - copy copyInto! count delete elt empty empty? entries entry? eq? every? fill! find first index? indices insert less? map - map! max maxIndex member? members merge min minIndex more? nand new nor not or parts position qelt qsetelt! reduce - remove removeDuplicates reverse reverse! select setelt size? sort sort! sorted? swap! xor} -% -\condata{BOOLEAN}{Boolean}{ConvertibleTo Finite OrderedSet}{{\tt <} {\tt =} {\tt \^{}} and coerce convert false implies - index lookup max min nand nor not or random size true xor} -% -\condata{CARD}{CardinalNumber}{CancellationAbelianMonoid Monoid OrderedSet RetractableTo}{0 1 {\tt *} {\tt **} {\tt +} - {\tt -} {\tt <} {\tt =} Aleph coerce countable? finite? generalizedContinuumHypothesisAssumed - generalizedContinuumHypothesisAssumed? max min one? recip retract retractIfCan zero?} -% -\condata{CARTEN}{CartesianTensor}{GradedAlgebra}{0 1 {\tt *} {\tt +} {\tt -} {\tt =} coerce contract degree elt - kroneckerDelta leviCivitaSymbol product rank ravel reindex retract retractIfCan transpose unravel} -% -\condata{CCLASS}{CharacterClass}{ConvertibleTo FiniteSetAggregate SetCategory}{{\tt \#} {\tt <} {\tt =} alphabetic - alphanumeric any? bag brace cardinality charClass coerce complement construct convert copy count dictionary difference - digit empty empty? eq? every? extract! find hexDigit index insert! inspect intersect less? lookup lowerCase map map! - max member? members min more? parts random reduce remove remove! removeDuplicates select select! size size? subset? - symmetricDifference union universe upperCase} -% -\condata{CHAR}{Character}{OrderedFinite}{{\tt <} {\tt =} alphabetic? alphanumeric? char coerce digit? escape hexDigit? - index lookup lowerCase lowerCase? max min ord quote random size space upperCase upperCase?} -% -\condata{CLIF}{CliffordAlgebra}{Algebra Ring VectorSpace}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} - characteristic coefficient coerce dimension e monomial one? recip zero?} -% -\condata{COLOR}{Color}{AbelianSemiGroup}{{\tt *} {\tt +} {\tt =} blue coerce color green hue numberOfHues red yellow} +\condata{ANTISYM}{AntiSymm}{LeftAlgebra RetractableTo} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} characteristic +coefficient coerce degree exp generator homogeneous? +leadingBasisTerm leadingCoefficient map one? recip reductum +retract retractIfCan retractable? zero?} +% +\condata{ANY}{Any}{SetCategory} +{{\tt =} any coerce domain domainOf obj objectOf showTypeInOutput} +% +\condata{ASTACK}{ArrayStack}{StackAggregate} +{{\tt \#} {\tt =} any? arrayStack bag coerce copy count depth empty empty? +eq? every? extract! insert! inspect less? map map! member? members more? +parts pop! push! size? top} +% +\condata{JORDAN}{AssociatedJordanAlgebra} +{CoercibleTo\\ FiniteRankNonAssociativeAlgebra FramedNonAssociativeAlgebra\\ +NonAssociativeAlgebra} +{0 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} JacobiIdentity?\\ +JordanAlgebra? alternative? antiAssociative? antiCommutative?\\ +antiCommutator apply associative? associator associatorDependence\\ +basis coerce commutative? commutator conditionsForIdempotents\\ +convert coordinates elt flexible? jordanAdmissible?\\ +leftAlternative? leftCharacteristicPolynomial leftDiscriminant\\ +leftMinimalPolynomial leftNorm leftPower leftRankPolynomial\\ +leftRecip leftRegularRepresentation leftTrace leftTraceMatrix\\ +leftUnit leftUnits lieAdmissible? lieAlgebra?\\ +noncommutativeJordanAlgebra? plenaryPower powerAssociative?\\ +rank recip represents rightAlternative?\\ +rightCharacteristicPolynomial rightDiscriminant\\ +rightMinimalPolynomial rightNorm rightPower rightRankPolynomial\\ +rightRecip rightRegularRepresentation rightTrace rightTraceMatrix\\ +rightUnit rightUnits someBasis structuralConstants unit zero?} +% +\condata{LIE}{AssociatedLieAlgebra} +{CoercibleTo\\ FiniteRankNonAssociativeAlgebra FramedNonAssociativeAlgebra\\ +NonAssociativeAlgebra} +{0 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} JacobiIdentity?\\ +JordanAlgebra? alternative? antiAssociative? antiCommutative?\\ +antiCommutator apply associative? associator associatorDependence\\ +basis coerce commutative? commutator conditionsForIdempotents\\ +convert coordinates elt flexible? jordanAdmissible?\\ +leftAlternative? leftCharacteristicPolynomial leftDiscriminant\\ +leftMinimalPolynomial leftNorm leftPower leftRankPolynomial\\ +leftRecip leftRegularRepresentation leftTrace leftTraceMatrix\\ +leftUnit leftUnits lieAdmissible? lieAlgebra?\\ +noncommutativeJordanAlgebra? plenaryPower powerAssociative?\\ +rank recip represents rightAlternative?\\ +rightCharacteristicPolynomial rightDiscriminant\\ +rightMinimalPolynomial rightNorm rightPower rightRankPolynomial\\ +rightRecip rightRegularRepresentation rightTrace\\ +rightTraceMatrix rightUnit rightUnits someBasis\\ +structuralConstants unit zero?} +% +\condata{ALIST}{AssociationList}{AssociationListAggregate} +{{\tt \#} {\tt =} any? assoc bag child? children coerce concat concat! +construct copy copyInto! count cycleEntry cycleLength cycleSplit! +cycleTail cyclic? delete delete! dictionary distance elt empty empty? +entries entry? eq? every? explicitlyFinite? extract! fill! find first index? +indices insert insert! inspect key? keys last leaf? less? list map map! +maxIndex member? members merge merge! minIndex more? new node? nodes parts +position possiblyInfinite? qelt qsetelt! reduce remove remove! +removeDuplicates removeDuplicates! rest reverse reverse! search second +select select! setchildren! setelt setfirst! setlast! setrest! setvalue! +size? sort sort! sorted? split! swap! table tail third value} +% +\condata{BBTREE}{BalancedBinaryTree}{BinaryTreeCategory} +{{\tt \#} {\tt =} any? balancedBinaryTree children coerce copy count +cyclic? elt empty empty? eq? every? leaf? leaves left less? map map! +mapDown! mapUp! member? members more? node node? nodes parts right +setchildren! setelt setleaves! setleft! setright! setvalue! size? value} +% +\condata{BPADIC}{BalancedPAdicInteger}{PAdicIntegerCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} approximate associates? +characteristic coerce complete digits divide euclideanSize +expressIdealMember exquo extend extendedEuclidean gcd lcm moduloP +modulus multiEuclidean one? order principalIdeal quo quotientByP recip +rem sizeLess? sqrt unit? unitCanonical unitNormal zero?} +% +\condata{BPADICRT}{BalancedPAdicRational}{QuotientFieldCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} D approximate +associates? characteristic coerce continuedFraction denom denominator +differentiate divide euclideanSize expressIdealMember exquo +extendedEuclidean factor fractionPart gcd inv lcm map multiEuclidean +numer numerator one? prime? principalIdeal quo recip reducedSystem +rem removeZeroes retract retractIfCan sizeLess? squareFree squareFreePart +unit? unitCanonical unitNormal wholePart zero?} +% +\condata{BOP}{BasicOperator}{OrderedSet} +{{\tt <} {\tt =} arity assert coerce comparison copy\\ +deleteProperty! display equality has? input is? max min\\ +name nary? nullary? operator properties property setProperties\\ +setProperty unary? weight} +% +\condata{BINARY}{BinaryExpansion}{QuotientFieldCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D abs +associates? binary ceiling characteristic coerce convert denom denominator +differentiate divide euclideanSize expressIdealMember exquo extendedEuclidean +factor floor fractionPart gcd init inv lcm map max min multiEuclidean +negative? nextItem numer numerator one? patternMatch positive? prime? +principalIdeal quo random recip reducedSystem rem retract retractIfCan +sign sizeLess? squareFree squareFreePart unit? unitCanonical unitNormal +wholePart zero?} +% +\condata{BSTREE}{BinarySearchTree}{BinaryTreeCategory} +{{\tt \#} {\tt =} any? binarySearchTree children coerce copy count cyclic? +elt empty empty? eq? every? insert! insertRoot! leaf? leaves left less? +map map! member? members more? node node? nodes parts right setchildren! +setelt setleft! setright! setvalue! size? split value} +% +\condata{BTOURN}{BinaryTournament}{BinaryTreeCategory} +{{\tt \#} {\tt =} any? binaryTournament children coerce copy +count cyclic? elt empty empty? eq? every? insert! leaf? leaves left +less? map map! member? members more? node node? nodes parts right +setchildren! setelt setleft! setright! setvalue! size? value} +% +\condata{BTREE}{BinaryTree}{BinaryTreeCategory} +{{\tt \#} {\tt =} any? binaryTree children coerce copy count cyclic? elt +empty empty? eq? every? leaf? leaves left less? map map! member? members +more? node node? nodes parts right setchildren! setelt setleft! setright! +setvalue! size? value} +% +\condata{BITS}{Bits}{BitAggregate} +{{\tt \#} {\tt <} {\tt =} {\tt \^{}} and any? bits coerce concat construct +convert copy copyInto! count delete elt empty empty? entries entry? eq? +every? fill! find first index? indices insert less? map map! max maxIndex +member? members merge min minIndex more? nand new nor not or parts +position qelt qsetelt! reduce remove removeDuplicates reverse reverse! +select setelt size? sort sort! sorted? swap! xor} +% +\condata{BOOLEAN}{Boolean}{ConvertibleTo Finite OrderedSet} +{{\tt <} {\tt =} {\tt \^{}} and coerce convert false implies index lookup +max min nand nor not or random size true xor} +% +\condata{CARD}{CardinalNumber} +{CancellationAbelianMonoid Monoid OrderedSet RetractableTo} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt <} {\tt =} Aleph coerce +countable? finite? generalizedContinuumHypothesisAssumed +generalizedContinuumHypothesisAssumed? max min one? recip retract +retractIfCan zero?} +% +\condata{CARTEN}{CartesianTensor}{GradedAlgebra} +{0 1 {\tt *} {\tt +} {\tt -} {\tt =} coerce contract degree elt +kroneckerDelta leviCivitaSymbol product rank ravel reindex retract +retractIfCan transpose unravel} +% +\condata{CCLASS}{CharacterClass} +{ConvertibleTo FiniteSetAggregate SetCategory} +{{\tt \#} {\tt <} {\tt =} alphabetic alphanumeric any? bag brace cardinality +charClass coerce complement construct convert copy count dictionary difference +digit empty empty? eq? every? extract! find hexDigit index insert! +inspect intersect less? lookup lowerCase map map! max member? members min +more? parts random reduce remove remove! removeDuplicates select select! +size size? subset? symmetricDifference union universe upperCase} +% +\condata{CHAR}{Character}{OrderedFinite} +{{\tt <} {\tt =} alphabetic? alphanumeric? char coerce digit? escape hexDigit? +index lookup lowerCase lowerCase? max min ord quote random size space +upperCase upperCase?} +% +\condata{CLIF}{CliffordAlgebra}{Algebra Ring VectorSpace} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} characteristic +coefficient coerce dimension e monomial one? recip zero?} +% +\condata{COLOR}{Color}{AbelianSemiGroup} +{{\tt *} {\tt +} {\tt =} blue coerce color green hue numberOfHues red yellow} % \condata{COMM}{Commutator}{SetCategory}{{\tt =} coerce mkcomm} % -\condata{COMPLEX}{Complex}{ComplexCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D abs acos - acosh acot acoth acsc acsch argument asec asech asin asinh associates? atan atanh basis characteristic - characteristicPolynomial charthRoot coerce complex conditionP conjugate convert coordinates cos cosh cot coth - createPrimitiveElement csc csch definingPolynomial derivationCoordinates differentiate discreteLog discriminant divide - elt euclideanSize eval exp expressIdealMember exquo extendedEuclidean factor factorPolynomial - factorSquareFreePolynomial factorsOfCyclicGroupSize gcd gcdPolynomial generator imag imaginary index init inv lcm lift - log lookup map max min minimalPolynomial multiEuclidean nextItem norm nthRoot one? order pi polarCoordinates prime? - primeFrobenius primitive? primitiveElement principalIdeal quo random rank rational rational? rationalIfCan real recip - reduce reducedSystem regularRepresentation rem representationType represents retract retractIfCan sec sech sin sinh - size sizeLess? solveLinearPolynomialEquation sqrt squareFree squareFreePart squareFreePolynomial - tableForDiscreteLogarithm tan tanh trace traceMatrix unit? unitCanonical unitNormal zero?} -% -\condata{CONTFRAC}{ContinuedFraction}{Algebra Field}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} approximants - associates? characteristic coerce complete continuedFraction convergents denominators divide euclideanSize - expressIdealMember exquo extend extendedEuclidean factor gcd inv lcm multiEuclidean numerators one? partialDenominators - partialNumerators partialQuotients prime? principalIdeal quo recip reducedContinuedFraction reducedForm rem sizeLess? - squareFree squareFreePart unit? unitCanonical unitNormal wholePart zero?} -% -\condata{DBASE}{Database}{SetCategory}{{\tt +} {\tt -} {\tt =} coerce display elt fullDisplay} -% -\condata{DFLOAT}{DoubleFloat}{ConvertibleTo DifferentialRing FloatingPointSystem TranscendentalFunctionCategory}{0 1 {\tt *} - {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D abs acos acosh acot acoth acsc acsch asec asech asin asinh - associates? atan atanh base bits ceiling characteristic coerce convert cos cosh cot coth csc csch decreasePrecision - differentiate digits divide euclideanSize exp exp1 exponent expressIdealMember exquo extendedEuclidean factor float - floor fractionPart gcd hash increasePrecision inv lcm log log10 log2 mantissa max min multiEuclidean negative? norm - nthRoot one? order patternMatch pi positive? precision prime? principalIdeal quo rationalApproximation recip rem - retract retractIfCan round sec sech sign sin sinh sizeLess? sqrt squareFree squareFreePart tan tanh truncate unit? - unitCanonical unitNormal wholePart zero?} -% -\condata{DLIST}{DataList}{ListAggregate}{{\tt \#} {\tt <} {\tt =} any? children coerce concat concat! construct convert - copy copyInto! count cycleEntry cycleLength cycleSplit! cycleTail cyclic? datalist delete delete! elt empty empty? - entries entry? eq? every? explicitlyFinite? fill! find first index? indices insert insert! last leaf? leaves less? list - map map! max maxIndex member? members merge merge! min minIndex more? new node? nodes parts position possiblyInfinite? - qelt qsetelt! reduce remove remove! removeDuplicates removeDuplicates! rest reverse reverse! second select select! - setchildren! setelt setfirst! setlast! setrest! setvalue! size? sort sort! sorted? split! swap! tail third value} -% -\condata{DECIMAL}{DecimalExpansion}{QuotientFieldCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} - D abs associates? ceiling characteristic coerce convert decimal denom denominator differentiate divide euclideanSize - expressIdealMember exquo extendedEuclidean factor floor fractionPart gcd init inv lcm map max min multiEuclidean - negative? nextItem numer numerator one? patternMatch positive? prime? principalIdeal quo random recip reducedSystem rem - retract retractIfCan sign sizeLess? squareFree squareFreePart unit? unitCanonical unitNormal wholePart zero?} -% -\condata{DHMATRIX}{DenavitHartenbergMatrix}{MatrixCategory}{{\tt \#} {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} - antisymmetric? any? coerce column copy count determinant diagonal? diagonalMatrix elt empty empty? eq? every? exquo - fill! horizConcat identity inverse less? listOfLists map map! matrix maxColIndex maxRowIndex member? members - minColIndex minRowIndex minordet more? ncols new nrows nullSpace nullity parts qelt qsetelt! rank rotatex rotatey - rotatez row rowEchelon scalarMatrix scale setColumn! setRow! setelt setsubMatrix! size? square? squareTop subMatrix - swapColumns! swapRows! symmetric? translate transpose vertConcat zero} -% -\condata{DEQUEUE}{Dequeue}{DequeueAggregate}{{\tt \#} {\tt =} any? back bag bottom! coerce copy count depth dequeue - dequeue! empty empty? enqueue! eq? every? extract! extractBottom! extractTop! front height insert! insertBottom! - insertTop! inspect length less? map map! member? members more? parts pop! push! reverse! rotate! size? top top!} -% -\condata{DERHAM}{DeRhamComplex}{LeftAlgebra RetractableTo}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} characteristic - coefficient coerce degree exteriorDifferential generator homogeneous? leadingBasisTerm leadingCoefficient map one? - recip reductum retract retractIfCan retractable? totalDifferential zero?} -% -\condata{DSMP}{DifferentialSparseMultivariatePolynomial}{DifferentialPolynomialCategory RetractableTo}{0 1 {\tt *} {\tt - **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D associates? characteristic charthRoot coefficient coefficients coerce - conditionP content convert degree differentialVariables differentiate discriminant eval exquo factor factorPolynomial - factorSquareFreePolynomial gcd gcdPolynomial ground ground? initial isExpt isPlus isTimes isobaric? lcm leader - leadingCoefficient leadingMonomial mainVariable makeVariable map mapExponents max min minimumDegree monicDivide - monomial monomial? monomials multivariate numberOfMonomials one? order patternMatch prime? primitiveMonomials - primitivePart recip reducedSystem reductum resultant retract retractIfCan separant solveLinearPolynomialEquation - squareFree squareFreePart squareFreePolynomial totalDegree unit? unitCanonical unitNormal univariate variables weight - weights zero?} -% -\condata{DPMM}{DirectProductMatrixModule}{DirectProductCategory LeftModule}{0 1 {\tt \#} {\tt *} {\tt **} {\tt +} {\tt - -} {\tt /} {\tt <} {\tt =} D abs any? characteristic coerce copy count differentiate dimension directProduct dot elt - empty empty? entries entry? eq? every? fill! first index index? indices less? lookup map map! max maxIndex member? - members min minIndex more? negative? one? parts positive? qelt qsetelt! random recip reducedSystem retract retractIfCan - setelt sign size size? sup swap! unitVector zero?} -% -\condata{DPMO}{DirectProductModule}{DirectProductCategory LeftModule}{0 1 {\tt \#} {\tt *} {\tt **} {\tt +} {\tt -} - {\tt /} {\tt <} {\tt =} D abs any? characteristic coerce copy count differentiate dimension directProduct dot elt empty - empty? entries entry? eq? every? fill! first index index? indices less? lookup map map! max maxIndex member? members - min minIndex more? negative? one? parts positive? qelt qsetelt! random recip reducedSystem retract retractIfCan setelt - sign size size? sup swap! unitVector zero?} -% -\condata{DIRPROD}{DirectProduct}{DirectProductCategory}{0 1 {\tt \#} {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} - {\tt =} D abs any? characteristic coerce copy count differentiate dimension directProduct dot elt empty empty? entries - entry? eq? every? fill! first index index? indices less? lookup map map! max maxIndex member? members min minIndex - more? negative? one? parts positive? qelt qsetelt! random recip reducedSystem retract retractIfCan setelt sign size - size? sup swap! unitVector zero?} -% -\condata{DMP}{DistributedMultivariatePolynomial}{PolynomialCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt - <} {\tt =} D associates? characteristic charthRoot coefficient coefficients coerce conditionP const content convert - degree differentiate discriminant eval exquo factor factorPolynomial factorSquareFreePolynomial gcd gcdPolynomial - ground ground? isExpt isPlus isTimes lcm leadingCoefficient leadingMonomial mainVariable map mapExponents max min - minimumDegree monicDivide monomial monomial? monomials multivariate numberOfMonomials one? prime? primitiveMonomials - primitivePart recip reducedSystem reductum reorder resultant retract retractIfCan solveLinearPolynomialEquation - squareFree squareFreePart squareFreePolynomial totalDegree unit? unitCanonical unitNormal univariate variables zero?} -% -\condata{DROPT}{DrawOption}{SetCategory}{{\tt =} adaptive clip coerce colorFunction coordinate coordinates curveColor - option option? pointColor range ranges space style title toScale tubePoints tubeRadius unit var1Steps var2Steps} -% -\condata{EFULS}{ElementaryFunctionsUnivariateLaurentSeries}{PartialTranscendentalFunctions}{{\tt **} acos acosIfCan - acosh acoshIfCan acot acotIfCan acoth acothIfCan acsc acscIfCan acsch acschIfCan asec asecIfCan asech asechIfCan asin - asinIfCan asinh asinhIfCan atan atanIfCan atanh atanhIfCan cos cosIfCan cosh coshIfCan cot cotIfCan coth cothIfCan csc - cscIfCan csch cschIfCan exp expIfCan log logIfCan nthRootIfCan sec secIfCan sech sechIfCan sin sinIfCan sinh sinhIfCan - tan tanIfCan tanh tanhIfCan} -% -\condata{EFUPXS}{ElementaryFunctionsUnivariatePuiseuxSeries}{PartialTranscendentalFunctions}{{\tt **} acos acosIfCan - acosh acoshIfCan acot acotIfCan acoth acothIfCan acsc acscIfCan acsch acschIfCan asec asecIfCan asech asechIfCan asin - asinIfCan asinh asinhIfCan atan atanIfCan atanh atanhIfCan cos cosIfCan cosh coshIfCan cot cotIfCan coth cothIfCan csc - cscIfCan csch cschIfCan exp expIfCan log logIfCan nthRootIfCan sec secIfCan sech sechIfCan sin sinIfCan sinh sinhIfCan - tan tanIfCan tanh tanhIfCan} -% -\condata{EQTBL}{EqTable}{TableAggregate}{{\tt \#} {\tt =} any? bag coerce construct copy count dictionary elt empty - empty? entries entry? eq? every? extract! fill! find first index? indices insert! inspect key? keys less? map map! - maxIndex member? members minIndex more? parts qelt qsetelt! reduce remove remove! removeDuplicates search select - select! setelt size? swap! table} -% -\condata{EQ}{Equation}{CoercibleTo InnerEvalable Object SetCategory}{{\tt *} {\tt **} {\tt +} {\tt -} {\tt =} coerce - equation eval lhs map rhs} -% -\condata{EMR}{EuclideanModularRing}{EuclideanDomain}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} associates? - characteristic coerce divide euclideanSize exQuo expressIdealMember exquo extendedEuclidean gcd inv lcm modulus - multiEuclidean one? principalIdeal quo recip reduce rem sizeLess? unit? unitCanonical unitNormal zero?} +\condata{COMPLEX}{Complex}{ComplexCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D abs acos +acosh acot acoth acsc acsch argument asec asech asin asinh associates? +atan atanh basis characteristic characteristicPolynomial charthRoot +coerce complex conditionP conjugate convert coordinates cos cosh cot coth +createPrimitiveElement csc csch definingPolynomial derivationCoordinates +differentiate discreteLog discriminant divide elt euclideanSize eval exp +expressIdealMember exquo extendedEuclidean factor factorPolynomial +factorSquareFreePolynomial factorsOfCyclicGroupSize gcd gcdPolynomial +generator imag imaginary index init inv lcm lift log lookup map max min +minimalPolynomial multiEuclidean nextItem norm nthRoot one? order pi +polarCoordinates prime? primeFrobenius primitive? primitiveElement +principalIdeal quo random rank rational rational? rationalIfCan real +recip reduce reducedSystem regularRepresentation rem representationType +represents retract retractIfCan sec sech sin sinh size sizeLess? +solveLinearPolynomialEquation sqrt squareFree squareFreePart +squareFreePolynomial tableForDiscreteLogarithm tan tanh trace +traceMatrix unit? unitCanonical unitNormal zero?} +% +\condata{CONTFRAC}{ContinuedFraction}{Algebra Field} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} approximants\\ +associates? characteristic coerce complete continuedFraction\\ +convergents denominators divide euclideanSize expressIdealMember\\ +exquo extend extendedEuclidean factor gcd inv lcm multiEuclidean\\ +numerators one? partialDenominators partialNumerators\\ +partialQuotients prime? principalIdeal quo recip\\ +reducedContinuedFraction reducedForm rem sizeLess? squareFree\\ +squareFreePart unit? unitCanonical unitNormal wholePart zero?} +% +\condata{DBASE}{Database}{SetCategory} +{{\tt +} {\tt -} {\tt =} coerce display elt fullDisplay} +% +\condata{DFLOAT}{DoubleFloat} +{ConvertibleTo DifferentialRing FloatingPointSystem +TranscendentalFunctionCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D abs acos +acosh acot acoth acsc acsch asec asech asin asinh associates? atan atanh +base bits ceiling characteristic coerce convert cos cosh cot coth csc +csch decreasePrecision differentiate digits divide euclideanSize exp +exp1 exponent expressIdealMember exquo extendedEuclidean factor float +floor fractionPart gcd hash increasePrecision inv lcm log log10 log2 +mantissa max min multiEuclidean negative? norm nthRoot one? order +patternMatch pi positive? precision prime? principalIdeal quo +rationalApproximation recip rem retract retractIfCan round sec sech +sign sin sinh sizeLess? sqrt squareFree squareFreePart tan tanh truncate +unit? unitCanonical unitNormal wholePart zero?} +% +\condata{DLIST}{DataList}{ListAggregate} +{{\tt \#} {\tt <} {\tt =} any? children coerce concat concat! construct +convert copy copyInto! count cycleEntry cycleLength cycleSplit! cycleTail +cyclic? datalist delete delete! elt empty empty? entries entry? eq? +every? explicitlyFinite? fill! find first index? indices insert insert! +last leaf? leaves less? list map map! max maxIndex member? members merge +merge! min minIndex more? new node? nodes parts position possiblyInfinite? +qelt qsetelt! reduce remove remove! removeDuplicates removeDuplicates! +rest reverse reverse! second select select! setchildren! setelt setfirst! +setlast! setrest! setvalue! size? sort sort! sorted? split! swap! tail +third value} +% +\condata{DECIMAL}{DecimalExpansion}{QuotientFieldCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D abs +associates? ceiling characteristic coerce convert decimal denom +denominator differentiate divide euclideanSize expressIdealMember +exquo extendedEuclidean factor floor fractionPart gcd init inv lcm +map max min multiEuclidean negative? nextItem numer numerator one? +patternMatch positive? prime? principalIdeal quo random recip +reducedSystem rem retract retractIfCan sign sizeLess? squareFree +squareFreePart unit? unitCanonical unitNormal wholePart zero?} +% +\condata{DHMATRIX}{DenavitHartenbergMatrix}{MatrixCategory} +{{\tt \#} {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} antisymmetric? +any? coerce column copy count determinant diagonal? diagonalMatrix elt +empty empty? eq? every? exquo fill! horizConcat identity inverse less? +listOfLists map map! matrix maxColIndex maxRowIndex member? members +minColIndex minRowIndex minordet more? ncols new nrows nullSpace +nullity parts qelt qsetelt! rank rotatex rotatey rotatez row rowEchelon +scalarMatrix scale setColumn! setRow! setelt setsubMatrix! size? square? +squareTop subMatrix swapColumns! swapRows! symmetric? translate +transpose vertConcat zero} +% +\condata{DEQUEUE}{Dequeue}{DequeueAggregate} +{{\tt \#} {\tt =} any? back bag bottom! coerce copy count depth dequeue +dequeue! empty empty? enqueue! eq? every? extract! extractBottom! +extractTop! front height insert! insertBottom! insertTop! inspect +length less? map map! member? members more? parts pop! push! reverse! +rotate! size? top top!} +% +\condata{DERHAM}{DeRhamComplex}{LeftAlgebra RetractableTo} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} characteristic +coefficient coerce degree exteriorDifferential generator +homogeneous? leadingBasisTerm leadingCoefficient map one? +recip reductum retract retractIfCan retractable? totalDifferential zero?} +% +\condata{DSMP}{DifferentialSparseMultivariatePolynomial\\} +{DifferentialPolynomialCategory RetractableTo} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D +associates? characteristic charthRoot coefficient coefficients coerce +conditionP content convert degree differentialVariables differentiate +discriminant eval exquo factor factorPolynomial factorSquareFreePolynomial +gcd gcdPolynomial ground ground? initial isExpt isPlus isTimes isobaric? +lcm leader leadingCoefficient leadingMonomial mainVariable makeVariable +map mapExponents max min minimumDegree monicDivide monomial monomial? +monomials multivariate numberOfMonomials one? order patternMatch prime? +primitiveMonomials primitivePart recip reducedSystem reductum resultant +retract retractIfCan separant solveLinearPolynomialEquation squareFree +squareFreePart squareFreePolynomial totalDegree unit? unitCanonical +unitNormal univariate variables weight weights zero?} +% +\condata{DPMM}{DirectProductMatrixModule}{DirectProductCategory LeftModule} +{0 1 {\tt \#} {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D +abs any? characteristic coerce copy count differentiate dimension +directProduct dot elt empty empty? entries entry? eq? every? fill! +first index index? indices less? lookup map map! max maxIndex member? +members min minIndex more? negative? one? parts positive? qelt +qsetelt! random recip reducedSystem retract retractIfCan setelt sign +size size? sup swap! unitVector zero?} +% +\condata{DPMO}{DirectProductModule}{DirectProductCategory LeftModule} +{0 1 {\tt \#} {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D +abs any? characteristic coerce copy count differentiate dimension +directProduct dot elt empty empty? entries entry? eq? every? fill! +first index index? indices less? lookup map map! max maxIndex member? +members min minIndex more? negative? one? parts positive? qelt qsetelt! +random recip reducedSystem retract retractIfCan setelt sign size size? +sup swap! unitVector zero?} +% +\condata{DIRPROD}{DirectProduct}{DirectProductCategory} +{0 1 {\tt \#} {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D +abs any? characteristic coerce copy count differentiate dimension +directProduct dot elt empty empty? entries entry? eq? every? fill! +first index index? indices less? lookup map map! max maxIndex member? +members min minIndex more? negative? one? parts positive? qelt qsetelt! +random recip reducedSystem retract retractIfCan setelt sign size +size? sup swap! unitVector zero?} +% +\condata{DMP}{DistributedMultivariatePolynomial}{PolynomialCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D\\ +associates? characteristic charthRoot coefficient coefficients\\ +coerce conditionP const content convert degree differentiate\\ +discriminant eval exquo factor factorPolynomial\\ +factorSquareFreePolynomial gcd gcdPolynomial ground ground? isExpt\\ +isPlus isTimes lcm leadingCoefficient leadingMonomial mainVariable\\ +map mapExponents max min minimumDegree monicDivide monomial monomial?\\ +monomials multivariate numberOfMonomials one? prime? primitiveMonomials\\ +primitivePart recip reducedSystem reductum reorder resultant retract\\ +retractIfCan solveLinearPolynomialEquation squareFree squareFreePart\\ +squareFreePolynomial totalDegree unit? unitCanonical unitNormal\\ +univariate variables zero?} +% +\condata{DROPT}{DrawOption}{SetCategory}{{\tt =} adaptive clip coerce +colorFunction coordinate coordinates curveColor option option? pointColor +range ranges space style title toScale tubePoints tubeRadius unit +var1Steps var2Steps} +% +\condata{EFULS}{ElementaryFunctionsUnivariateLaurentSeries\\} +{PartialTranscendentalFunctions} +{{\tt **} acos acosIfCan acosh acoshIfCan acot acotIfCan acoth acothIfCan +acsc acscIfCan acsch acschIfCan asec asecIfCan asech asechIfCan asin +asinIfCan asinh asinhIfCan atan atanIfCan atanh atanhIfCan cos cosIfCan +cosh coshIfCan cot cotIfCan coth cothIfCan csc cscIfCan csch cschIfCan +exp expIfCan log logIfCan nthRootIfCan sec secIfCan sech sechIfCan sin +sinIfCan sinh sinhIfCan tan tanIfCan tanh tanhIfCan} +% +\condata{EFUPXS}{ElementaryFunctionsUnivariatePuiseuxSeries} +{PartialTranscendentalFunctions} +{{\tt **} acos acosIfCan acosh acoshIfCan acot acotIfCan acoth acothIfCan +acsc acscIfCan acsch acschIfCan asec asecIfCan asech asechIfCan asin +asinIfCan asinh asinhIfCan atan atanIfCan atanh atanhIfCan cos cosIfCan +cosh coshIfCan cot cotIfCan coth cothIfCan csc cscIfCan csch cschIfCan +exp expIfCan log logIfCan nthRootIfCan sec secIfCan sech sechIfCan sin +sinIfCan sinh sinhIfCan tan tanIfCan tanh tanhIfCan} +% +\condata{EQTBL}{EqTable}{TableAggregate} +{{\tt \#} {\tt =} any? bag coerce construct copy count dictionary elt empty +empty? entries entry? eq? every? extract! fill! find first index? indices +insert! inspect key? keys less? map map! maxIndex member? members minIndex +more? parts qelt qsetelt! reduce remove remove! removeDuplicates search select +select! setelt size? swap! table} +% +\condata{EQ}{Equation}{CoercibleTo InnerEvalable Object SetCategory} +{{\tt *} {\tt **} {\tt +} {\tt -} {\tt =} coerce equation eval lhs map rhs} +% +\condata{EMR}{EuclideanModularRing}{EuclideanDomain} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} associates? characteristic +coerce divide euclideanSize exQuo expressIdealMember exquo +extendedEuclidean gcd inv lcm modulus multiEuclidean one? principalIdeal +quo recip reduce rem sizeLess? unit? unitCanonical unitNormal zero?} % \condata{EXIT}{Exit}{SetCategory}{{\tt =} coerce} % -\condata{EXPR}{Expression}{AlgebraicallyClosedFunctionSpace CombinatorialOpsCategory FunctionSpace - LiouvillianFunctionCategory RetractableTo SpecialFunctionCategory TranscendentalFunctionCategory}{0 1 {\tt *} {\tt **} - {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} Beta Ci D Ei Gamma Si abs acos acosh acot acoth acsc acsch airyAi airyBi - applyQuote asec asech asin asinh associates? atan atanh belong? besselI besselJ besselK besselY binomial box - characteristic charthRoot coerce commutator conjugate convert cos cosh cot coth csc csch definingPolynomial denom - denominator differentiate digamma dilog distribute divide elt erf euclideanSize eval exp expressIdealMember exquo - extendedEuclidean factor factorial factorials freeOf? gcd ground ground? height integral inv is? isExpt isMult isPlus - isPower isTimes kernel kernels lcm li log mainKernel map max min minPoly multiEuclidean nthRoot numer numerator one? - operator operators paren patternMatch permutation pi polygamma prime? principalIdeal product quo recip reduce - reducedSystem rem retract retractIfCan rootOf rootsOf sec sech sin sinh sizeLess? sqrt squareFree squareFreePart subst - summation tan tanh tower unit? unitCanonical unitNormal univariate variables zero? zeroOf zerosOf} -% -\condata{EAB}{ExtAlgBasis}{OrderedSet}{{\tt <} {\tt =} Nul coerce degree exponents max min} -% -\condata{FR}{Factored}{Algebra DifferentialExtension Eltable Evalable FullyEvalableOver FullyRetractableTo GcdDomain - InnerEvalable IntegralDomain RealConstant UniqueFactorizationDomain}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} D - associates? characteristic coerce convert differentiate elt eval expand exponent exquo factor factorList factors - flagFactor gcd irreducibleFactor lcm makeFR map nilFactor nthExponent nthFactor nthFlag numberOfFactors one? prime? - primeFactor rational rational? rationalIfCan recip retract retractIfCan sqfrFactor squareFree squareFreePart unit unit? - unitCanonical unitNormal unitNormalize zero?} -% -\condata{FNAME}{FileName}{FileNameCategory}{{\tt =} coerce directory exists? extension filename name new readable? +\condata{EXPR}{Expression} +{AlgebraicallyClosedFunctionSpace CombinatorialOpsCategory FunctionSpace +LiouvillianFunctionCategory RetractableTo SpecialFunctionCategory +TranscendentalFunctionCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} Beta Ci +D Ei Gamma Si abs acos acosh acot acoth acsc acsch airyAi airyBi +applyQuote asec asech asin asinh associates? atan atanh belong? +besselI besselJ besselK besselY binomial box characteristic +charthRoot coerce commutator conjugate convert cos cosh cot coth +csc csch definingPolynomial denom denominator differentiate digamma +dilog distribute divide elt erf euclideanSize eval exp +expressIdealMember exquo extendedEuclidean factor factorial +factorials freeOf? gcd ground ground? height integral inv is? +isExpt isMult isPlus isPower isTimes kernel kernels lcm li log +mainKernel map max min minPoly multiEuclidean nthRoot numer +numerator one? operator operators paren patternMatch permutation +pi polygamma prime? principalIdeal product quo recip reduce +reducedSystem rem retract retractIfCan rootOf rootsOf sec sech sin +sinh sizeLess? sqrt squareFree squareFreePart subst summation tan +tanh tower unit? unitCanonical unitNormal univariate variables +zero? zeroOf zerosOf} +% +\condata{EAB}{ExtAlgBasis}{OrderedSet} +{{\tt <} {\tt =} Nul coerce degree exponents max min} +% +\condata{FR}{Factored}{Algebra DifferentialExtension Eltable Evalable +FullyEvalableOver FullyRetractableTo GcdDomain InnerEvalable IntegralDomain +RealConstant UniqueFactorizationDomain}{0 1 {\tt *} {\tt **} {\tt +} +{\tt -} {\tt =} D associates? characteristic coerce convert differentiate +elt eval expand exponent exquo factor factorList factors flagFactor gcd +irreducibleFactor lcm makeFR map nilFactor nthExponent nthFactor +nthFlag numberOfFactors one? prime? primeFactor rational rational? +rationalIfCan recip retract retractIfCan sqfrFactor squareFree +squareFreePart unit unit? unitCanonical unitNormal unitNormalize zero?} +% +\condata{FNAME}{FileName}{FileNameCategory} +{{\tt =} coerce directory exists? extension filename name new readable? writable?} % -\condata{FILE}{File}{FileCategory}{{\tt =} close! coerce iomode name open read! readIfCan! reopen! write!} -% -\condata{FDIV}{FiniteDivisor}{AbelianGroup}{0 {\tt *} {\tt +} {\tt -} {\tt =} algsplit coerce divisor finiteBasis - generator ideal lSpaceBasis mkBasicDiv principal? reduce zero?} -% -\condata{FFCGP}{FiniteFieldCyclicGroupExtensionByPolynomial}{FiniteAlgebraicExtensionField}{0 1 {\tt *} {\tt **} {\tt - +} {\tt -} {\tt /} {\tt =} Frobenius algebraic? associates? basis characteristic charthRoot coerce conditionP - coordinates createNormalElement createPrimitiveElement definingPolynomial degree dimension discreteLog divide - euclideanSize expressIdealMember exquo extendedEuclidean extensionDegree factor factorsOfCyclicGroupSize gcd generator - getZechTable inGroundField? index init inv lcm lookup minimalPolynomial multiEuclidean nextItem norm normal? - normalElement one? order prime? primeFrobenius primitive? primitiveElement principalIdeal quo random recip rem - representationType represents retract retractIfCan size sizeLess? squareFree squareFreePart tableForDiscreteLogarithm - trace transcendenceDegree transcendent? unit? unitCanonical unitNormal zero?} -% -\condata{FFCGX}{FiniteFieldCyclicGroupExtension}{FiniteAlgebraicExtensionField}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} - {\tt /} {\tt =} Frobenius algebraic? associates? basis characteristic charthRoot coerce conditionP coordinates - createNormalElement createPrimitiveElement definingPolynomial degree dimension discreteLog divide euclideanSize - expressIdealMember exquo extendedEuclidean extensionDegree factor factorsOfCyclicGroupSize gcd generator getZechTable - inGroundField? index init inv lcm lookup minimalPolynomial multiEuclidean nextItem norm normal? normalElement one? - order prime? primeFrobenius primitive? primitiveElement principalIdeal quo random recip rem representationType - represents retract retractIfCan size sizeLess? squareFree squareFreePart tableForDiscreteLogarithm trace - transcendenceDegree transcendent? unit? unitCanonical unitNormal zero?} -% -\condata{FFCG}{FiniteFieldCyclicGroup}{FiniteAlgebraicExtensionField}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt - =} Frobenius algebraic? associates? basis characteristic charthRoot coerce conditionP coordinates createNormalElement - createPrimitiveElement definingPolynomial degree dimension discreteLog divide euclideanSize expressIdealMember exquo - extendedEuclidean extensionDegree factor factorsOfCyclicGroupSize gcd generator getZechTable inGroundField? index init - inv lcm lookup minimalPolynomial multiEuclidean nextItem norm normal? normalElement one? order prime? primeFrobenius - primitive? primitiveElement principalIdeal quo random recip rem representationType represents retract retractIfCan size - sizeLess? squareFree squareFreePart tableForDiscreteLogarithm trace transcendenceDegree transcendent? unit? - unitCanonical unitNormal zero?} -% -\condata{FFP}{FiniteFieldExtensionByPolynomial}{FiniteAlgebraicExtensionField}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} - {\tt /} {\tt =} Frobenius algebraic? associates? basis characteristic charthRoot coerce conditionP coordinates - createNormalElement createPrimitiveElement definingPolynomial degree dimension discreteLog divide euclideanSize - expressIdealMember exquo extendedEuclidean extensionDegree factor factorsOfCyclicGroupSize gcd generator inGroundField? - index init inv lcm lookup minimalPolynomial multiEuclidean nextItem norm normal? normalElement one? order prime? - primeFrobenius primitive? primitiveElement principalIdeal quo random recip rem representationType represents retract - retractIfCan size sizeLess? squareFree squareFreePart tableForDiscreteLogarithm trace transcendenceDegree transcendent? - unit? unitCanonical unitNormal zero?} -% -\condata{FFX}{FiniteFieldExtension}{FiniteAlgebraicExtensionField}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} - Frobenius algebraic? associates? basis characteristic charthRoot coerce conditionP coordinates createNormalElement - createPrimitiveElement definingPolynomial degree dimension discreteLog divide euclideanSize expressIdealMember exquo - extendedEuclidean extensionDegree factor factorsOfCyclicGroupSize gcd generator inGroundField? index init inv lcm - lookup minimalPolynomial multiEuclidean nextItem norm normal? normalElement one? order prime? primeFrobenius primitive? - primitiveElement principalIdeal quo random recip rem representationType represents retract retractIfCan size sizeLess? - squareFree squareFreePart tableForDiscreteLogarithm trace transcendenceDegree transcendent? unit? unitCanonical - unitNormal zero?} -% -\condata{FFNBP}{FiniteFieldNormalBasisExtensionByPolynomial}{FiniteAlgebraicExtensionField}{0 1 {\tt *} {\tt **} {\tt - +} {\tt -} {\tt /} {\tt =} Frobenius algebraic? associates? basis characteristic charthRoot coerce conditionP - coordinates createNormalElement createPrimitiveElement definingPolynomial degree dimension discreteLog divide - euclideanSize expressIdealMember exquo extendedEuclidean extensionDegree factor factorsOfCyclicGroupSize gcd generator - getMultiplicationMatrix getMultiplicationTable inGroundField? index init inv lcm lookup minimalPolynomial - multiEuclidean nextItem norm normal? normalElement one? order prime? primeFrobenius primitive? primitiveElement - principalIdeal quo random recip rem representationType represents retract retractIfCan size sizeLess? - sizeMultiplication squareFree squareFreePart tableForDiscreteLogarithm trace transcendenceDegree transcendent? unit? - unitCanonical unitNormal zero?} -% -\condata{FFNBX}{FiniteFieldNormalBasisExtension}{FiniteAlgebraicExtensionField}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} - {\tt /} {\tt =} Frobenius algebraic? associates? basis characteristic charthRoot coerce conditionP coordinates - createNormalElement createPrimitiveElement definingPolynomial degree dimension discreteLog divide euclideanSize - expressIdealMember exquo extendedEuclidean extensionDegree factor factorsOfCyclicGroupSize gcd generator - getMultiplicationMatrix getMultiplicationTable inGroundField? index init inv lcm lookup minimalPolynomial - multiEuclidean nextItem norm normal? normalElement one? order prime? primeFrobenius primitive? primitiveElement - principalIdeal quo random recip rem representationType represents retract retractIfCan size sizeLess? - sizeMultiplication squareFree squareFreePart tableForDiscreteLogarithm trace transcendenceDegree transcendent? unit? - unitCanonical unitNormal zero?} -% -\condata{FFNB}{FiniteFieldNormalBasis}{FiniteAlgebraicExtensionField}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt - =} Frobenius algebraic? associates? basis characteristic charthRoot coerce conditionP coordinates createNormalElement - createPrimitiveElement definingPolynomial degree dimension discreteLog divide euclideanSize expressIdealMember exquo - extendedEuclidean extensionDegree factor factorsOfCyclicGroupSize gcd generator getMultiplicationMatrix - getMultiplicationTable inGroundField? index init inv lcm lookup minimalPolynomial multiEuclidean nextItem norm normal? - normalElement one? order prime? primeFrobenius primitive? primitiveElement principalIdeal quo random recip rem - representationType represents retract retractIfCan size sizeLess? sizeMultiplication squareFree squareFreePart - tableForDiscreteLogarithm trace transcendenceDegree transcendent? unit? unitCanonical unitNormal zero?} -% -\condata{FF}{FiniteField}{FiniteAlgebraicExtensionField}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} Frobenius - algebraic? associates? basis characteristic charthRoot coerce conditionP coordinates createNormalElement - createPrimitiveElement definingPolynomial degree dimension discreteLog divide euclideanSize expressIdealMember exquo - extendedEuclidean extensionDegree factor factorsOfCyclicGroupSize gcd generator inGroundField? index init inv lcm - lookup minimalPolynomial multiEuclidean nextItem norm normal? normalElement one? order prime? primeFrobenius primitive? - primitiveElement principalIdeal quo random recip rem representationType represents retract retractIfCan size sizeLess? - squareFree squareFreePart tableForDiscreteLogarithm trace transcendenceDegree transcendent? unit? unitCanonical - unitNormal zero?} -% -\condata{FARRAY}{FlexibleArray}{ExtensibleLinearAggregate OneDimensionalArrayAggregate}{{\tt \#} {\tt <} {\tt =} any? - coerce concat concat! construct convert copy copyInto! count delete delete! elt empty empty? entries entry? eq? every? - fill! find first flexibleArray index? indices insert insert! less? map map! max maxIndex member? members merge merge! - min minIndex more? new parts physicalLength physicalLength! position qelt qsetelt! reduce remove remove! - removeDuplicates removeDuplicates! reverse reverse! select select! setelt shrinkable size? sort sort! sorted? swap!} -% -\condata{FLOAT}{Float}{CoercibleTo ConvertibleTo DifferentialRing FloatingPointSystem TranscendentalFunctionCategory}{0 - 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D abs acos acosh acot acoth acsc acsch asec asech asin asinh - associates? atan atanh base bits ceiling characteristic coerce convert cos cosh cot coth csc csch decreasePrecision - differentiate digits divide euclideanSize exp exp1 exponent expressIdealMember exquo extendedEuclidean factor float - floor fractionPart gcd increasePrecision inv lcm log log10 log2 mantissa max min multiEuclidean negative? norm - normalize nthRoot one? order outputFixed outputFloating outputGeneral outputSpacing patternMatch pi positive? precision - prime? principalIdeal quo rationalApproximation recip relerror rem retract retractIfCan round sec sech shift sign sin - sinh sizeLess? sqrt squareFree squareFreePart tan tanh truncate unit? unitCanonical unitNormal wholePart zero?} -% -\condata{FRIDEAL}{FractionalIdeal}{Group}{1 {\tt *} {\tt **} {\tt /} {\tt =} basis coerce commutator conjugate denom - ideal inv minimize norm numer one? randomLC recip} -% -\condata{FRAC}{Fraction}{QuotientFieldCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D abs - associates? ceiling characteristic charthRoot coerce conditionP convert denom denominator differentiate divide elt - euclideanSize eval expressIdealMember exquo extendedEuclidean factor factorPolynomial factorSquareFreePolynomial floor - fractionPart gcd gcdPolynomial init inv lcm map max min multiEuclidean negative? nextItem numer numerator one? - patternMatch positive? prime? principalIdeal quo random recip reducedSystem rem retract retractIfCan sign sizeLess? - solveLinearPolynomialEquation squareFree squareFreePart squareFreePolynomial unit? unitCanonical unitNormal wholePart - zero?} -% -\condata{FRMOD}{FramedModule}{Monoid}{1 {\tt *} {\tt **} {\tt =} basis coerce module norm one? recip} -% -\condata{FAGROUP}{FreeAbelianGroup}{AbelianGroup FreeAbelianMonoidCategory Module OrderedSet}{0 {\tt *} {\tt +} {\tt -} - {\tt <} {\tt =} coefficient coerce highCommonTerms mapCoef mapGen max min nthCoef nthFactor retract retractIfCan size - terms zero?} -% -\condata{FAMONOID}{FreeAbelianMonoid}{FreeAbelianMonoidCategory}{0 {\tt *} {\tt +} {\tt -} {\tt =} coefficient coerce - highCommonTerms mapCoef mapGen nthCoef nthFactor retract retractIfCan size terms zero?} -% -\condata{FGROUP}{FreeGroup}{Group RetractableTo}{1 {\tt *} {\tt **} {\tt /} {\tt =} coerce commutator conjugate factors - inv mapExpon mapGen nthExpon nthFactor one? recip retract retractIfCan size} -% -\condata{FM}{FreeModule}{BiModule IndexedDirectProductCategory Module}{0 {\tt *} {\tt +} {\tt -} {\tt =} coerce - leadingCoefficient leadingSupport map monomial reductum zero?} -% -\condata{FMONOID}{FreeMonoid}{Monoid OrderedSet RetractableTo}{1 {\tt *} {\tt **} {\tt <} {\tt =} coerce divide factors - hclf hcrf lquo mapExpon mapGen max min nthExpon nthFactor one? overlap recip retract retractIfCan rquo size} -% -\condata{FNLA}{FreeNilpotentLie}{NonAssociativeAlgebra}{0 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} antiCommutator - associator coerce commutator deepExpand dimension generator leftPower rightPower shallowExpand zero?} +\condata{FILE}{File}{FileCategory} +{{\tt =} close! coerce iomode name open read! readIfCan! reopen! write!} +% +\condata{FDIV}{FiniteDivisor}{AbelianGroup} +{0 {\tt *} {\tt +} {\tt -} {\tt =} algsplit coerce divisor finiteBasis +generator ideal lSpaceBasis mkBasicDiv principal? reduce zero?} +% +\condata{FFCGP}{FiniteFieldCyclicGroupExtensionByPolynomial} +{FiniteAlgebraicExtensionField} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} Frobenius +algebraic? associates? basis characteristic charthRoot coerce conditionP +coordinates createNormalElement createPrimitiveElement +definingPolynomial degree dimension discreteLog divide euclideanSize +expressIdealMember exquo extendedEuclidean extensionDegree factor +factorsOfCyclicGroupSize gcd generator getZechTable inGroundField? +index init inv lcm lookup minimalPolynomial multiEuclidean nextItem +norm normal? normalElement one? order prime? primeFrobenius primitive? +primitiveElement principalIdeal quo random recip rem representationType +represents retract retractIfCan size sizeLess? squareFree squareFreePart +tableForDiscreteLogarithm trace transcendenceDegree transcendent? unit? +unitCanonical unitNormal zero?} +% +\condata{FFCGX}{FiniteFieldCyclicGroupExtension} +{FiniteAlgebraicExtensionField} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} Frobenius +algebraic? associates? basis characteristic charthRoot coerce +conditionP coordinates createNormalElement createPrimitiveElement +definingPolynomial degree dimension discreteLog divide euclideanSize +expressIdealMember exquo extendedEuclidean extensionDegree factor +factorsOfCyclicGroupSize gcd generator getZechTable inGroundField? +index init inv lcm lookup minimalPolynomial multiEuclidean nextItem +norm normal? normalElement one? order prime? primeFrobenius primitive? +primitiveElement principalIdeal quo random recip rem representationType +represents retract retractIfCan size sizeLess? squareFree squareFreePart +tableForDiscreteLogarithm trace transcendenceDegree transcendent? unit? +unitCanonical unitNormal zero?} +% +\condata{FFCG}{FiniteFieldCyclicGroup}{FiniteAlgebraicExtensionField} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} Frobenius algebraic? +associates? basis characteristic charthRoot coerce conditionP coordinates +createNormalElement createPrimitiveElement definingPolynomial degree +dimension discreteLog divide euclideanSize expressIdealMember exquo +extendedEuclidean extensionDegree factor factorsOfCyclicGroupSize gcd +generator getZechTable inGroundField? index init inv lcm lookup +minimalPolynomial multiEuclidean nextItem norm normal? normalElement +one? order prime? primeFrobenius primitive? primitiveElement +principalIdeal quo random recip rem representationType represents +retract retractIfCan size sizeLess? squareFree squareFreePart +tableForDiscreteLogarithm trace transcendenceDegree transcendent? unit? +unitCanonical unitNormal zero?} +% +\condata{FFP}{FiniteFieldExtensionByPolynomial} +{FiniteAlgebraicExtensionField} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} Frobenius algebraic? +associates? basis characteristic charthRoot coerce conditionP coordinates +createNormalElement createPrimitiveElement definingPolynomial degree +dimension discreteLog divide euclideanSize expressIdealMember exquo +extendedEuclidean extensionDegree factor factorsOfCyclicGroupSize gcd +generator inGroundField? index init inv lcm lookup minimalPolynomial +multiEuclidean nextItem norm normal? normalElement one? order prime? +primeFrobenius primitive? primitiveElement principalIdeal quo random +recip rem representationType represents retract retractIfCan size +sizeLess? squareFree squareFreePart tableForDiscreteLogarithm trace +transcendenceDegree transcendent? unit? unitCanonical unitNormal zero?} +% +\condata{FFX}{FiniteFieldExtension}{FiniteAlgebraicExtensionField} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} Frobenius\\ +algebraic? associates? basis characteristic charthRoot coerce\\ +conditionP coordinates createNormalElement createPrimitiveElement\\ +definingPolynomial degree dimension discreteLog divide euclideanSize\\ +expressIdealMember exquo extendedEuclidean extensionDegree factor\\ +factorsOfCyclicGroupSize gcd generator inGroundField? index init inv\\ +lcm lookup minimalPolynomial multiEuclidean nextItem norm normal?\\ +normalElement one? order prime? primeFrobenius primitive?\\ +primitiveElement principalIdeal quo random recip rem representationType\\ +represents retract retractIfCan size sizeLess? squareFree squareFreePart\\ +tableForDiscreteLogarithm trace transcendenceDegree transcendent?\\ +unit? unitCanonical unitNormal zero?} +% +\condata{FFNBP}{FiniteFieldNormalBasisExtensionByPolynomial} +{FiniteAlgebraicExtensionField} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} Frobenius +algebraic? associates? basis characteristic charthRoot coerce conditionP +coordinates createNormalElement createPrimitiveElement definingPolynomial +degree dimension discreteLog divide euclideanSize expressIdealMember +exquo extendedEuclidean extensionDegree factor factorsOfCyclicGroupSize +gcd generator getMultiplicationMatrix getMultiplicationTable +inGroundField? index init inv lcm lookup minimalPolynomial multiEuclidean +nextItem norm normal? normalElement one? order prime? primeFrobenius +primitive? primitiveElement principalIdeal quo random recip rem +representationType represents retract retractIfCan size sizeLess? +sizeMultiplication squareFree squareFreePart tableForDiscreteLogarithm +trace transcendenceDegree transcendent? unit? unitCanonical unitNormal zero?} +% +\condata{FFNBX}{FiniteFieldNormalBasisExtension} +{FiniteAlgebraicExtensionField} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} Frobenius +algebraic? associates? basis characteristic charthRoot coerce +conditionP coordinates createNormalElement createPrimitiveElement +definingPolynomial degree dimension discreteLog divide euclideanSize +expressIdealMember exquo extendedEuclidean extensionDegree factor +factorsOfCyclicGroupSize gcd generator getMultiplicationMatrix +getMultiplicationTable inGroundField? index init inv lcm lookup +minimalPolynomial multiEuclidean nextItem norm normal? normalElement +one? order prime? primeFrobenius primitive? primitiveElement +principalIdeal quo random recip rem representationType represents +retract retractIfCan size sizeLess? sizeMultiplication squareFree +squareFreePart tableForDiscreteLogarithm trace transcendenceDegree +transcendent? unit? unitCanonical unitNormal zero?} +% +\condata{FFNB}{FiniteFieldNormalBasis}{FiniteAlgebraicExtensionField} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} Frobenius algebraic? +associates? basis characteristic charthRoot coerce conditionP coordinates +createNormalElement createPrimitiveElement definingPolynomial degree +dimension discreteLog divide euclideanSize expressIdealMember exquo +extendedEuclidean extensionDegree factor factorsOfCyclicGroupSize +gcd generator getMultiplicationMatrix getMultiplicationTable +inGroundField? index init inv lcm lookup minimalPolynomial +multiEuclidean nextItem norm normal? normalElement one? order prime? +primeFrobenius primitive? primitiveElement principalIdeal quo random +recip rem representationType represents retract retractIfCan size +sizeLess? sizeMultiplication squareFree squareFreePart +tableForDiscreteLogarithm trace transcendenceDegree transcendent? +unit? unitCanonical unitNormal zero?} +% +\condata{FF}{FiniteField}{FiniteAlgebraicExtensionField} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} Frobenius algebraic? +associates? basis characteristic charthRoot coerce conditionP coordinates +createNormalElement createPrimitiveElement definingPolynomial degree +dimension discreteLog divide euclideanSize expressIdealMember exquo +extendedEuclidean extensionDegree factor factorsOfCyclicGroupSize gcd +generator inGroundField? index init inv lcm lookup minimalPolynomial +multiEuclidean nextItem norm normal? normalElement one? order prime? +primeFrobenius primitive? primitiveElement principalIdeal quo random +recip rem representationType represents retract retractIfCan size sizeLess? +squareFree squareFreePart tableForDiscreteLogarithm trace +transcendenceDegree transcendent? unit? unitCanonical unitNormal zero?} +% +\condata{FARRAY}{FlexibleArray} +{ExtensibleLinearAggregate\\ OneDimensionalArrayAggregate} +{{\tt \#} {\tt <} {\tt =} any? coerce concat concat! construct convert +copy copyInto! count delete delete! elt empty empty? entries entry? eq? +every? fill! find first flexibleArray index? indices insert insert! +less? map map! max maxIndex member? members merge merge! min minIndex +more? new parts physicalLength physicalLength! position qelt qsetelt! +reduce remove remove! removeDuplicates removeDuplicates! reverse reverse! +select select! setelt shrinkable size? sort sort! sorted? swap!} +% +\condata{FLOAT}{Float} +{CoercibleTo ConvertibleTo DifferentialRing FloatingPointSystem +TranscendentalFunctionCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D abs acos +acosh acot acoth acsc acsch asec asech asin asinh associates? atan atanh +base bits ceiling characteristic coerce convert cos cosh cot coth csc +csch decreasePrecision differentiate digits divide euclideanSize exp +exp1 exponent expressIdealMember exquo extendedEuclidean factor float +floor fractionPart gcd increasePrecision inv lcm log log10 log2 +mantissa max min multiEuclidean negative? norm normalize nthRoot one? +order outputFixed outputFloating outputGeneral outputSpacing patternMatch +pi positive? precision prime? principalIdeal quo rationalApproximation +recip relerror rem retract retractIfCan round sec sech shift sign sin +sinh sizeLess? sqrt squareFree squareFreePart tan tanh truncate unit? +unitCanonical unitNormal wholePart zero?} +% +\condata{FRIDEAL}{FractionalIdeal}{Group} +{1 {\tt *} {\tt **} {\tt /} {\tt =} basis coerce commutator conjugate denom +ideal inv minimize norm numer one? randomLC recip} +% +\condata{FRAC}{Fraction}{QuotientFieldCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D abs +associates? ceiling characteristic charthRoot coerce conditionP convert +denom denominator differentiate divide elt euclideanSize eval +expressIdealMember exquo extendedEuclidean factor factorPolynomial +factorSquareFreePolynomial floor fractionPart gcd gcdPolynomial init +inv lcm map max min multiEuclidean negative? nextItem numer numerator one? +patternMatch positive? prime? principalIdeal quo random recip +reducedSystem rem retract retractIfCan sign sizeLess? +solveLinearPolynomialEquation squareFree squareFreePart +squareFreePolynomial unit? unitCanonical unitNormal wholePart zero?} +% +\condata{FRMOD}{FramedModule}{Monoid} +{1 {\tt *} {\tt **} {\tt =} basis coerce module norm one? recip} +% +\condata{FAGROUP}{FreeAbelianGroup} +{AbelianGroup FreeAbelianMonoidCategory Module OrderedSet} +{0 {\tt *} {\tt +} {\tt -} {\tt <} {\tt =} coefficient coerce +highCommonTerms mapCoef mapGen max min nthCoef nthFactor retract +retractIfCan size terms zero?} +% +\condata{FAMONOID}{FreeAbelianMonoid}{FreeAbelianMonoidCategory} +{0 {\tt *} {\tt +} {\tt -} {\tt =} coefficient coerce highCommonTerms +mapCoef mapGen nthCoef nthFactor retract retractIfCan size terms zero?} +% +\condata{FGROUP}{FreeGroup}{Group RetractableTo} +{1 {\tt *} {\tt **} {\tt /} {\tt =} coerce commutator conjugate factors +inv mapExpon mapGen nthExpon nthFactor one? recip retract retractIfCan size} +% +\condata{FM}{FreeModule}{BiModule IndexedDirectProductCategory Module} +{0 {\tt *} {\tt +} {\tt -} {\tt =} coerce leadingCoefficient +leadingSupport map monomial reductum zero?} +% +\condata{FMONOID}{FreeMonoid}{Monoid OrderedSet RetractableTo} +{1 {\tt *} {\tt **} {\tt <} {\tt =} coerce divide factors hclf hcrf +lquo mapExpon mapGen max min nthExpon nthFactor one? overlap recip +retract retractIfCan rquo size} +% +\condata{FNLA}{FreeNilpotentLie}{NonAssociativeAlgebra} +{0 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} antiCommutator associator +coerce commutator deepExpand dimension generator leftPower rightPower +shallowExpand zero?} % \condata{FUNCTION}{FunctionCalled}{SetCategory}{{\tt =} coerce name} % -\condata{GDMP}{GeneralDistributedMultivariatePolynomial}{PolynomialCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt - /} {\tt <} {\tt =} D associates? characteristic charthRoot coefficient coefficients coerce conditionP const content - convert degree differentiate discriminant eval exquo factor factorPolynomial factorSquareFreePolynomial gcd - gcdPolynomial ground ground? isExpt isPlus isTimes lcm leadingCoefficient leadingMonomial mainVariable map mapExponents - max min minimumDegree monicDivide monomial monomial? monomials multivariate numberOfMonomials one? prime? - primitiveMonomials primitivePart recip reducedSystem reductum reorder resultant retract retractIfCan - solveLinearPolynomialEquation squareFree squareFreePart squareFreePolynomial totalDegree unit? unitCanonical unitNormal - univariate variables zero?} -% -\condata{GSTBL}{GeneralSparseTable}{TableAggregate}{{\tt \#} {\tt =} any? bag coerce construct copy count dictionary - elt empty empty? entries entry? eq? every? extract! fill! find first index? indices insert! inspect key? keys less? map - map! maxIndex member? members minIndex more? parts qelt qsetelt! reduce remove remove! removeDuplicates search select - select! setelt size? swap! table} -% -\condata{GCNAALG}{GenericNonAssociativeAlgebra}{FramedNonAssociativeAlgebra LeftModule}{0 {\tt *} {\tt **} {\tt +} {\tt - -} {\tt =} JacobiIdentity? JordanAlgebra? alternative? antiAssociative? antiCommutative? antiCommutator apply - associative? associator associatorDependence basis coerce commutative? commutator conditionsForIdempotents convert - coordinates elt flexible? generic genericLeftDiscriminant genericLeftMinimalPolynomial genericLeftNorm genericLeftTrace - genericLeftTraceForm genericRightDiscriminant genericRightMinimalPolynomial genericRightNorm genericRightTrace - genericRightTraceForm jordanAdmissible? leftAlternative? leftCharacteristicPolynomial leftDiscriminant - leftMinimalPolynomial leftNorm leftPower leftRankPolynomial leftRecip leftRegularRepresentation leftTrace - leftTraceMatrix leftUnit leftUnits lieAdmissible? lieAlgebra? noncommutativeJordanAlgebra? plenaryPower - powerAssociative? rank recip represents rightAlternative? rightCharacteristicPolynomial rightDiscriminant - rightMinimalPolynomial rightNorm rightPower rightRankPolynomial rightRecip rightRegularRepresentation rightTrace - rightTraceMatrix rightUnit rightUnits someBasis structuralConstants unit zero?} -% -\condata{GRIMAGE}{GraphImage}{SetCategory}{{\tt =} appendPoint coerce component graphImage key makeGraphImage point - pointLists putColorInfo ranges units} -% -\condata{HASHTBL}{HashTable}{TableAggregate}{{\tt \#} {\tt =} any? bag coerce construct copy count dictionary elt empty - empty? entries entry? eq? every? extract! fill! find first index? indices insert! inspect key? keys less? map map! - maxIndex member? members minIndex more? parts qelt qsetelt! reduce remove remove! removeDuplicates search select - select! setelt size? swap! table} -% -\condata{HEAP}{Heap}{PriorityQueueAggregate}{{\tt \#} {\tt =} any? bag coerce copy count empty empty? eq? every? - extract! heap insert! inspect less? map map! max member? members merge merge! more? parts size?} -% -\condata{HEXADEC}{HexadecimalExpansion}{QuotientFieldCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} - {\tt =} D abs associates? ceiling characteristic coerce convert denom denominator differentiate divide euclideanSize - expressIdealMember exquo extendedEuclidean factor floor fractionPart gcd hex init inv lcm map max min multiEuclidean - negative? nextItem numer numerator one? patternMatch positive? prime? principalIdeal quo random recip reducedSystem rem - retract retractIfCan sign sizeLess? squareFree squareFreePart unit? unitCanonical unitNormal wholePart zero?} -% -\condata{ICARD}{IndexCard}{OrderedSet}{{\tt <} {\tt =} coerce display elt fullDisplay max min} -% -\condata{IBITS}{IndexedBits}{BitAggregate}{{\tt \#} {\tt <} {\tt =} And Not Or {\tt \^{}} and any? coerce concat - construct convert copy copyInto! count delete elt empty empty? entries entry? eq? every? fill! find first index? - indices insert less? map map! max maxIndex member? members merge min minIndex more? nand new nor not or parts position - qelt qsetelt! reduce remove removeDuplicates reverse reverse! select setelt size? sort sort! sorted? swap! xor} -% -\condata{IDPAG}{IndexedDirectProductAbelianGroup}{AbelianGroup IndexedDirectProductCategory}{0 {\tt *} {\tt +} {\tt -} - {\tt =} coerce leadingCoefficient leadingSupport map monomial reductum zero?} -% -\condata{IDPAM}{IndexedDirectProductAbelianMonoid}{AbelianMonoid IndexedDirectProductCategory}{0 {\tt *} {\tt +} {\tt - =} coerce leadingCoefficient leadingSupport map monomial reductum zero?} -% -\condata{IDPO}{IndexedDirectProductObject}{IndexedDirectProductCategory}{{\tt =} coerce leadingCoefficient - leadingSupport map monomial reductum} -% -\condata{IDPOAMS}{IndexedDirectProductOrderedAbelianMonoidSup}{IndexedDirectProductCategory OrderedAbelianMonoidSup}{0 - {\tt *} {\tt +} {\tt -} {\tt <} {\tt =} coerce leadingCoefficient leadingSupport map max min monomial reductum sup - zero?} -% -\condata{IDPOAM}{IndexedDirectProductOrderedAbelianMonoid}{IndexedDirectProductCategory OrderedAbelianMonoid}{0 {\tt *} - {\tt +} {\tt <} {\tt =} coerce leadingCoefficient leadingSupport map max min monomial reductum zero?} -% -\condata{INDE}{IndexedExponents}{IndexedDirectProductCategory OrderedAbelianMonoidSup}{0 {\tt *} {\tt +} {\tt -} {\tt - <} {\tt =} coerce leadingCoefficient leadingSupport map max min monomial reductum sup zero?} -% -\condata{IFARRAY}{IndexedFlexibleArray}{ExtensibleLinearAggregate OneDimensionalArrayAggregate}{{\tt \#} {\tt <} {\tt - =} any? coerce concat concat! construct convert copy copyInto! count delete delete! elt empty empty? entries entry? eq? - every? fill! find first flexibleArray index? indices insert insert! less? map map! max maxIndex member? members merge - merge! min minIndex more? new parts physicalLength physicalLength! position qelt qsetelt! reduce remove remove! - removeDuplicates removeDuplicates! reverse reverse! select select! setelt shrinkable size? sort sort! sorted? swap!} -% -\condata{ILIST}{IndexedList}{ListAggregate}{{\tt \#} {\tt <} {\tt =} any? child? children coerce concat concat! - construct convert copy copyInto! count cycleEntry cycleLength cycleSplit! cycleTail cyclic? delete delete! distance elt - empty empty? entries entry? eq? every? explicitlyFinite? fill! find first index? indices insert insert! last leaf? - less? list map map! max maxIndex member? members merge merge! min minIndex more? new node? nodes parts position - possiblyInfinite? qelt qsetelt! reduce remove remove! removeDuplicates removeDuplicates! rest reverse reverse! second - select select! setchildren! setelt setfirst! setlast! setrest! setvalue! size? sort sort! sorted? split! swap! tail - third value} -% -\condata{IMATRIX}{IndexedMatrix}{MatrixCategory}{{\tt \#} {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} - antisymmetric? any? coerce column copy count determinant diagonal? diagonalMatrix elt empty empty? eq? every? exquo - fill! horizConcat inverse less? listOfLists map map! matrix maxColIndex maxRowIndex member? members minColIndex - minRowIndex minordet more? ncols new nrows nullSpace nullity parts qelt qsetelt! rank row rowEchelon scalarMatrix - setColumn! setRow! setelt setsubMatrix! size? square? squareTop subMatrix swapColumns! swapRows! symmetric? transpose - vertConcat zero} -% -\condata{IARRAY1}{IndexedOneDimensionalArray}{OneDimensionalArrayAggregate}{{\tt \#} {\tt <} {\tt =} any? coerce concat - construct convert copy copyInto! count delete elt empty empty? entries entry? eq? every? fill! find first index? - indices insert less? map map! max maxIndex member? members merge min minIndex more? new parts position qelt qsetelt! - reduce remove removeDuplicates reverse reverse! select setelt size? sort sort! sorted? swap!} -% -\condata{ISTRING}{IndexedString}{StringAggregate}{{\tt \#} {\tt <} {\tt =} any? coerce concat construct copy copyInto! - count delete elt empty empty? entries entry? eq? every? fill! find first hash index? indices insert leftTrim less? - lowerCase lowerCase! map map! match? max maxIndex member? members merge min minIndex more? new parts position prefix? - qelt qsetelt! reduce remove removeDuplicates replace reverse reverse! rightTrim select setelt size? sort sort! sorted? - split substring? suffix? swap! trim upperCase upperCase!} -% -\condata{IARRAY2}{IndexedTwoDimensionalArray}{TwoDimensionalArrayCategory}{{\tt \#} {\tt =} any? coerce column copy - count elt empty empty? eq? every? fill! less? map map! maxColIndex maxRowIndex member? members minColIndex minRowIndex - more? ncols new nrows parts qelt qsetelt! row setColumn! setRow! setelt size?} -% -\condata{IVECTOR}{IndexedVector}{VectorCategory}{{\tt \#} {\tt *} {\tt +} {\tt -} {\tt <} {\tt =} any? coerce concat - construct convert copy copyInto! count delete dot elt empty empty? entries entry? eq? every? fill! find first index? - indices insert less? map map! max maxIndex member? members merge min minIndex more? new parts position qelt qsetelt! - reduce remove removeDuplicates reverse reverse! select setelt size? sort sort! sorted? swap! zero} -% -\condata{ITUPLE}{InfiniteTuple}{CoercibleTo}{coerce construct filterUntil filterWhile generate map select} -% -\condata{IFF}{InnerFiniteField}{FiniteAlgebraicExtensionField}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} - Frobenius algebraic? associates? basis characteristic charthRoot coerce conditionP coordinates createNormalElement - createPrimitiveElement definingPolynomial degree dimension discreteLog divide euclideanSize expressIdealMember exquo - extendedEuclidean extensionDegree factor factorsOfCyclicGroupSize gcd generator inGroundField? index init inv lcm - lookup minimalPolynomial multiEuclidean nextItem norm normal? normalElement one? order prime? primeFrobenius primitive? - primitiveElement principalIdeal quo random recip rem representationType represents retract retractIfCan size sizeLess? - squareFree squareFreePart tableForDiscreteLogarithm trace transcendenceDegree transcendent? unit? unitCanonical - unitNormal zero?} -% -\condata{IFAMON}{InnerFreeAbelianMonoid}{FreeAbelianMonoidCategory}{0 {\tt *} {\tt +} {\tt -} {\tt =} coefficient - coerce highCommonTerms mapCoef mapGen nthCoef nthFactor retract retractIfCan size terms zero?} -% -\condata{IIARRAY2}{InnerIndexedTwoDimensionalArray}{TwoDimensionalArrayCategory}{{\tt \#} {\tt =} any? coerce column - copy count elt empty empty? eq? every? fill! less? map map! maxColIndex maxRowIndex member? members minColIndex - minRowIndex more? ncols new nrows parts qelt qsetelt! row setColumn! setRow! setelt size?} -% -\condata{IPADIC}{InnerPAdicInteger}{PAdicIntegerCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} approximate - associates? characteristic coerce complete digits divide euclideanSize expressIdealMember exquo extend - extendedEuclidean gcd lcm moduloP modulus multiEuclidean one? order principalIdeal quo quotientByP recip rem sizeLess? - sqrt unit? unitCanonical unitNormal zero?} -% -\condata{IPF}{InnerPrimeField}{ConvertibleTo FiniteAlgebraicExtensionField FiniteFieldCategory}{0 1 {\tt *} {\tt **} - {\tt +} {\tt -} {\tt /} {\tt =} Frobenius algebraic? associates? basis characteristic charthRoot coerce conditionP - convert coordinates createNormalElement createPrimitiveElement definingPolynomial degree dimension discreteLog divide - euclideanSize expressIdealMember exquo extendedEuclidean extensionDegree factor factorsOfCyclicGroupSize gcd generator - inGroundField? index init inv lcm lookup minimalPolynomial multiEuclidean nextItem norm normal? normalElement one? - order prime? primeFrobenius primitive? primitiveElement principalIdeal quo random recip rem representationType - represents retract retractIfCan size sizeLess? squareFree squareFreePart tableForDiscreteLogarithm trace - transcendenceDegree transcendent? unit? unitCanonical unitNormal zero?} -% -\condata{ITAYLOR}{InnerTaylorSeries}{IntegralDomain Ring}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} associates? - characteristic coefficients coerce exquo one? order pole? recip series unit? unitCanonical unitNormal zero?} -% -\condata{INFORM}{InputForm}{ConvertibleTo SExpressionCategory}{0 1 {\tt \#} {\tt *} {\tt **} {\tt +} {\tt /} {\tt =} - atom? binary car cdr coerce compile convert declare destruct elt eq expr flatten float float? function integer integer? - interpret lambda list? null? pair? string string? symbol symbol? uequal unparse} -% -\condata{ZMOD}{IntegerMod}{CommutativeRing ConvertibleTo Finite StepThrough}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt - =} characteristic coerce convert index init lookup nextItem one? random recip size zero?} -% -\condata{INT}{Integer}{ConvertibleTo IntegerNumberSystem}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt <} {\tt =} D abs - addmod associates? base binomial bit? characteristic coerce convert copy dec differentiate divide euclideanSize even? - expressIdealMember exquo extendedEuclidean factor factorial gcd hash inc init invmod lcm length mask max min mulmod - multiEuclidean negative? nextItem odd? one? patternMatch permutation positive? positiveRemainder powmod prime? - principalIdeal quo random rational rational? rationalIfCan recip reducedSystem rem retract retractIfCan shift sign - sizeLess? squareFree squareFreePart submod symmetricRemainder unit? unitCanonical unitNormal zero?} -% -\condata{IR}{IntegrationResult}{Module RetractableTo}{0 {\tt *} {\tt +} {\tt -} {\tt =} D coerce differentiate elem? - integral logpart mkAnswer notelem ratpart retract retractIfCan zero?} -% -\condata{KERNEL}{Kernel}{CachableSet ConvertibleTo Patternable}{{\tt <} {\tt =} argument coerce convert height is? - kernel max min name operator position setPosition symbolIfCan} -% -\condata{KAFILE}{KeyedAccessFile}{FileCategory TableAggregate}{{\tt \#} {\tt =} any? bag close! coerce construct copy - count dictionary elt empty empty? entries entry? eq? every? extract! fill! find first index? indices insert! inspect - iomode key? keys less? map map! maxIndex member? members minIndex more? name open pack! parts qelt qsetelt! read! - reduce remove remove! removeDuplicates reopen! search select select! setelt size? swap! table write!} -% -\condata{LAUPOL}{LaurentPolynomial}{CharacteristicNonZero CharacteristicZero ConvertibleTo DifferentialExtension - EuclideanDomain FullyRetractableTo IntegralDomain RetractableTo}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} D - associates? characteristic charthRoot coefficient coerce convert degree differentiate divide euclideanSize - expressIdealMember exquo extendedEuclidean gcd lcm leadingCoefficient monomial monomial? multiEuclidean one? order - principalIdeal quo recip reductum rem retract retractIfCan separate sizeLess? trailingCoefficient unit? unitCanonical - unitNormal zero?} -% -\condata{LIB}{Library}{TableAggregate}{{\tt \#} {\tt =} any? bag coerce construct copy count dictionary elt empty - empty? entries entry? eq? every? extract! fill! find first index? indices insert! inspect key? keys less? library map - map! maxIndex member? members minIndex more? pack! parts qelt qsetelt! reduce remove remove! removeDuplicates search - select select! setelt size? swap! table} -% -\condata{LSQM}{LieSquareMatrix}{CoercibleTo FramedNonAssociativeAlgebra SquareMatrixCategory}{0 1 {\tt \#} {\tt *} {\tt - **} {\tt +} {\tt -} {\tt /} {\tt =} D JacobiIdentity? JordanAlgebra? alternative? antiAssociative? antiCommutative? - antiCommutator antisymmetric? any? apply associative? associator associatorDependence basis characteristic coerce - column commutative? commutator conditionsForIdempotents convert coordinates copy count determinant diagonal diagonal? - diagonalMatrix diagonalProduct differentiate elt empty empty? eq? every? exquo flexible? inverse jordanAdmissible? - leftAlternative? leftCharacteristicPolynomial leftDiscriminant leftMinimalPolynomial leftNorm leftPower - leftRankPolynomial leftRecip leftRegularRepresentation leftTrace leftTraceMatrix leftUnit leftUnits less? - lieAdmissible? lieAlgebra? listOfLists map map! matrix maxColIndex maxRowIndex member? members minColIndex minRowIndex - minordet more? ncols noncommutativeJordanAlgebra? nrows nullSpace nullity one? parts plenaryPower powerAssociative? - qelt rank recip reducedSystem represents retract retractIfCan rightAlternative? rightCharacteristicPolynomial - rightDiscriminant rightMinimalPolynomial rightNorm rightPower rightRankPolynomial rightRecip rightRegularRepresentation - rightTrace rightTraceMatrix rightUnit rightUnits row rowEchelon scalarMatrix size? someBasis square? - structuralConstants symmetric? trace unit zero?} -% -\condata{LODO}{LinearOrdinaryDifferentialOperator}{MonogenicLinearOperator}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt - =} D characteristic coefficient coerce degree elt leadingCoefficient leftDivide leftExactQuotient leftGcd leftLcm - leftQuotient leftRemainder minimumDegree monomial one? recip reductum rightDivide rightExactQuotient rightGcd rightLcm - rightQuotient rightRemainder zero?} -% -\condata{LMOPS}{ListMonoidOps}{RetractableTo SetCategory}{{\tt =} coerce leftMult listOfMonoms makeMulti makeTerm - makeUnit mapExpon mapGen nthExpon nthFactor outputForm plus retract retractIfCan reverse reverse! rightMult size} -% -\condata{LMDICT}{ListMultiDictionary}{MultiDictionary}{{\tt \#} {\tt =} any? bag coerce construct convert copy count - dictionary duplicates duplicates? empty empty? eq? every? extract! find insert! inspect less? map map! member? members - more? parts reduce remove remove! removeDuplicates removeDuplicates! select select! size? substitute} -% -\condata{LIST}{List}{ListAggregate}{{\tt \#} {\tt <} {\tt =} any? append child? children coerce concat concat! cons - construct convert copy copyInto! count cycleEntry cycleLength cycleSplit! cycleTail cyclic? delete delete! distance elt - empty empty? entries entry? eq? every? explicitlyFinite? fill! find first index? indices insert insert! last leaf? - less? list map map! max maxIndex member? members merge merge! min minIndex more? new nil node? nodes null parts - position possiblyInfinite? qelt qsetelt! reduce remove remove! removeDuplicates removeDuplicates! rest reverse reverse! - second select select! setDifference setIntersection setUnion setchildren! setelt setfirst! setlast! setrest! setvalue! - size? sort sort! sorted? split! swap! tail third value} -% -\condata{LA}{LocalAlgebra}{Algebra OrderedRing}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} abs - characteristic coerce denom max min negative? numer one? positive? recip sign zero?} -% -\condata{LO}{Localize}{Module OrderedAbelianGroup}{0 {\tt *} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} coerce denom max - min numer zero?} -% -\condata{MKCHSET}{MakeCachableSet}{CachableSet CoercibleTo}{{\tt <} {\tt =} coerce max min position setPosition} -% -\condata{MKODRING}{MakeOrdinaryDifferentialRing}{CoercibleTo DifferentialRing}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} - {\tt =} D characteristic coerce differentiate one? recip zero?} -% -\condata{MATRIX}{Matrix}{MatrixCategory}{{\tt \#} {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} antisymmetric? any? - coerce column copy count determinant diagonal? diagonalMatrix elt empty empty? eq? every? exquo fill! horizConcat - inverse less? listOfLists map map! matrix maxColIndex maxRowIndex member? members minColIndex minRowIndex minordet - more? ncols new nrows nullSpace nullity parts qelt qsetelt! rank row rowEchelon scalarMatrix setColumn! setRow! setelt - setsubMatrix! size? square? squareTop subMatrix swapColumns! swapRows! symmetric? transpose vertConcat zero} -% -\condata{MODMON}{ModMonic}{Finite UnivariatePolynomialCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} - {\tt =} An D UnVectorise Vectorise associates? characteristic charthRoot coefficient coefficients coerce composite - computePowers conditionP content degree differentiate discriminant divide divideExponents elt euclideanSize eval - expressIdealMember exquo extendedEuclidean factor factorPolynomial factorSquareFreePolynomial gcd gcdPolynomial ground - ground? index init integrate isExpt isPlus isTimes lcm leadingCoefficient leadingMonomial lift lookup mainVariable - makeSUP map mapExponents max min minimumDegree modulus monicDivide monomial monomial? monomials multiEuclidean - multiplyExponents multivariate nextItem numberOfMonomials one? order pow prime? primitiveMonomials primitivePart - principalIdeal pseudoDivide pseudoQuotient pseudoRemainder quo random recip reduce reducedSystem reductum rem resultant - retract retractIfCan separate setPoly size sizeLess? solveLinearPolynomialEquation squareFree squareFreePart - squareFreePolynomial subResultantGcd totalDegree unit? unitCanonical unitNormal univariate unmakeSUP variables - vectorise zero?} -% -\condata{MODFIELD}{ModularField}{Field}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} associates? characteristic - coerce divide euclideanSize exQuo expressIdealMember exquo extendedEuclidean factor gcd inv lcm modulus multiEuclidean - one? prime? principalIdeal quo recip reduce rem sizeLess? squareFree squareFreePart unit? unitCanonical unitNormal - zero?} -% -\condata{MODRING}{ModularRing}{Ring}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} characteristic coerce exQuo inv - modulus one? recip reduce zero?} -% -\condata{MOEBIUS}{MoebiusTransform}{Group}{1 {\tt *} {\tt **} {\tt /} {\tt =} coerce commutator conjugate eval inv - moebius one? recip scale shift} -% -\condata{MRING}{MonoidRing}{Algebra CharacteristicNonZero CharacteristicZero Finite RetractableTo Ring}{0 1 {\tt *} - {\tt **} {\tt +} {\tt -} {\tt =} characteristic charthRoot coefficient coefficients coerce index leadingCoefficient - leadingMonomial lookup map monomial monomial? monomials numberOfMonomials one? random recip reductum retract - retractIfCan size terms zero?} -% -\condata{MSET}{Multiset}{MultisetAggregate}{{\tt \#} {\tt <} {\tt =} any? bag brace coerce construct convert copy count - dictionary difference duplicates empty empty? eq? every? extract! find insert! inspect intersect less? map map! member? - members more? multiset parts reduce remove remove! removeDuplicates removeDuplicates! select select! size? subset? - symmetricDifference union} -% -\condata{MPOLY}{MultivariatePolynomial}{PolynomialCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt - =} D associates? characteristic charthRoot coefficient coefficients coerce conditionP content convert degree - differentiate discriminant eval exquo factor factorPolynomial factorSquareFreePolynomial gcd gcdPolynomial ground - ground? isExpt isPlus isTimes lcm leadingCoefficient leadingMonomial mainVariable map mapExponents max min - minimumDegree monicDivide monomial monomial? monomials multivariate numberOfMonomials one? prime? primitiveMonomials - primitivePart recip reducedSystem reductum resultant retract retractIfCan solveLinearPolynomialEquation squareFree - squareFreePart squareFreePolynomial totalDegree unit? unitCanonical unitNormal univariate variables zero?} -% -\condata{NDP}{NewDirectProduct}{DirectProductCategory}{0 1 {\tt \#} {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} - {\tt =} D abs any? characteristic coerce copy count differentiate dimension directProduct dot elt empty empty? entries - entry? eq? every? fill! first index index? indices less? lookup map map! max maxIndex member? members min minIndex - more? negative? one? parts positive? qelt qsetelt! random recip reducedSystem retract retractIfCan setelt sign size - size? sup swap! unitVector zero?} -% -\condata{NDMP}{NewDistributedMultivariatePolynomial}{PolynomialCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} - {\tt <} {\tt =} D associates? characteristic charthRoot coefficient coefficients coerce conditionP const content - convert degree differentiate discriminant eval exquo factor factorPolynomial factorSquareFreePolynomial gcd - gcdPolynomial ground ground? isExpt isPlus isTimes lcm leadingCoefficient leadingMonomial mainVariable map mapExponents - max min minimumDegree monicDivide monomial monomial? monomials multivariate numberOfMonomials one? prime? - primitiveMonomials primitivePart recip reducedSystem reductum reorder resultant retract retractIfCan - solveLinearPolynomialEquation squareFree squareFreePart squareFreePolynomial totalDegree unit? unitCanonical unitNormal - univariate variables zero?} +\condata{GDMP}{GeneralDistributedMultivariatePolynomial}{PolynomialCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D associates? +characteristic charthRoot coefficient coefficients coerce conditionP const +content convert degree differentiate discriminant eval exquo factor +factorPolynomial factorSquareFreePolynomial gcd gcdPolynomial ground +ground? isExpt isPlus isTimes lcm leadingCoefficient leadingMonomial +mainVariable map mapExponents max min minimumDegree monicDivide monomial +monomial? monomials multivariate numberOfMonomials one? prime? +primitiveMonomials primitivePart recip reducedSystem reductum reorder +resultant retract retractIfCan solveLinearPolynomialEquation squareFree +squareFreePart squareFreePolynomial totalDegree unit? unitCanonical +unitNormal univariate variables zero?} +% +\condata{GSTBL}{GeneralSparseTable}{TableAggregate} +{{\tt \#} {\tt =} any? bag coerce construct copy count dictionary elt +empty empty? entries entry? eq? every? extract! fill! find first index? +indices insert! inspect key? keys less? map map! maxIndex member? +members minIndex more? parts qelt qsetelt! reduce remove remove! +removeDuplicates search select select! setelt size? swap! table} +% +\condata{GCNAALG}{GenericNonAssociativeAlgebra\\} +{FramedNonAssociativeAlgebra LeftModule} +{0 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} JacobiIdentity? +JordanAlgebra? alternative? antiAssociative? antiCommutative? +antiCommutator apply associative? associator associatorDependence +basis coerce commutative? commutator conditionsForIdempotents convert +coordinates elt flexible? generic genericLeftDiscriminant +genericLeftMinimalPolynomial genericLeftNorm genericLeftTrace +genericLeftTraceForm genericRightDiscriminant +genericRightMinimalPolynomial genericRightNorm genericRightTrace +genericRightTraceForm jordanAdmissible? leftAlternative? +leftCharacteristicPolynomial leftDiscriminant leftMinimalPolynomial +leftNorm leftPower leftRankPolynomial leftRecip leftRegularRepresentation +leftTrace leftTraceMatrix leftUnit leftUnits lieAdmissible? lieAlgebra? +noncommutativeJordanAlgebra? plenaryPower powerAssociative? rank recip +represents rightAlternative? rightCharacteristicPolynomial rightDiscriminant +rightMinimalPolynomial rightNorm rightPower rightRankPolynomial +rightRecip rightRegularRepresentation rightTrace rightTraceMatrix +rightUnit rightUnits someBasis structuralConstants unit zero?} +% +\condata{GRIMAGE}{GraphImage}{SetCategory} +{{\tt =} appendPoint coerce component graphImage key makeGraphImage point +pointLists putColorInfo ranges units} +% +\condata{HASHTBL}{HashTable}{TableAggregate} +{{\tt \#} {\tt =} any? bag coerce construct copy count dictionary elt empty +empty? entries entry? eq? every? extract! fill! find first index? indices +insert! inspect key? keys less? map map! maxIndex member? members minIndex +more? parts qelt qsetelt! reduce remove remove! removeDuplicates search +select select! setelt size? swap! table} +% +\condata{HEAP}{Heap}{PriorityQueueAggregate} +{{\tt \#} {\tt =} any? bag coerce copy count empty empty? eq? every? +extract! heap insert! inspect less? map map! max member? members merge +merge! more? parts size?} +% +\condata{HEXADEC}{HexadecimalExpansion}{QuotientFieldCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D abs +associates? ceiling characteristic coerce convert denom denominator +differentiate divide euclideanSize expressIdealMember exquo +extendedEuclidean factor floor fractionPart gcd hex init inv lcm map +max min multiEuclidean negative? nextItem numer numerator one? +patternMatch positive? prime? principalIdeal quo random recip +reducedSystem rem retract retractIfCan sign sizeLess? squareFree +squareFreePart unit? unitCanonical unitNormal wholePart zero?} +% +\condata{ICARD}{IndexCard}{OrderedSet} +{{\tt <} {\tt =} coerce display elt fullDisplay max min} +% +\condata{IBITS}{IndexedBits}{BitAggregate} +{{\tt \#} {\tt <} {\tt =} And Not Or {\tt \^{}} and any? coerce concat +construct convert copy copyInto! count delete elt empty empty? entries +entry? eq? every? fill! find first index? indices insert less? map map! +max maxIndex member? members merge min minIndex more? nand new nor not +or parts position qelt qsetelt! reduce remove removeDuplicates reverse +reverse! select setelt size? sort sort! sorted? swap! xor} +% +\condata{IDPAG}{IndexedDirectProductAbelianGroup\\} +{AbelianGroup IndexedDirectProductCategory} +{0 {\tt *} {\tt +} {\tt -} {\tt =} coerce leadingCoefficient leadingSupport +map monomial reductum zero?} +% +\condata{IDPAM}{IndexedDirectProductAbelianMonoid\\} +{AbelianMonoid IndexedDirectProductCategory}{0 {\tt *} {\tt +} {\tt =} +coerce leadingCoefficient leadingSupport map monomial reductum zero?} +% +\condata{IDPO}{IndexedDirectProductObject\\}{IndexedDirectProductCategory} +{{\tt =} coerce leadingCoefficient leadingSupport map monomial reductum} +% +\condata{IDPOAMS}{IndexedDirectProductOrderedAbelianMonoidSup\\} +{IndexedDirectProductCategory\\ OrderedAbelianMonoidSup\\} +{0 {\tt *} {\tt +} {\tt -} {\tt <} {\tt =} coerce leadingCoefficient +leadingSupport map max min monomial reductum sup zero?} +% +\condata{IDPOAM}{IndexedDirectProductOrderedAbelianMonoid} +{IndexedDirectProductCategory OrderedAbelianMonoid}{0 {\tt *} {\tt +} +{\tt <} {\tt =} coerce leadingCoefficient leadingSupport map max min +monomial reductum zero?} +% +\condata{INDE}{IndexedExponents}{IndexedDirectProductCategory\\ +OrderedAbelianMonoidSup}{0 {\tt *} {\tt +} {\tt -} {\tt <} {\tt =} coerce +leadingCoefficient leadingSupport map max min monomial reductum sup zero?} +% +\condata{IFARRAY}{IndexedFlexibleArray} +{ExtensibleLinearAggregate OneDimensionalArrayAggregate} +{{\tt \#} {\tt <} {\tt =} any? coerce concat concat! construct convert +copy copyInto! count delete delete! elt empty empty? entries entry? eq? +every? fill! find first flexibleArray index? indices insert insert! +less? map map! max maxIndex member? members merge merge! min minIndex +more? new parts physicalLength physicalLength! position qelt qsetelt! +reduce remove remove! removeDuplicates removeDuplicates! reverse reverse! +select select! setelt shrinkable size? sort sort! sorted? swap!} +% +\condata{ILIST}{IndexedList}{ListAggregate} +{{\tt \#} {\tt <} {\tt =} any? child? children coerce concat concat! +construct convert copy copyInto! count cycleEntry cycleLength cycleSplit! +cycleTail cyclic? delete delete! distance elt empty empty? entries entry? +eq? every? explicitlyFinite? fill! find first index? indices insert +insert! last leaf? less? list map map! max maxIndex member? members +merge merge! min minIndex more? new node? nodes parts position +possiblyInfinite? qelt qsetelt! reduce remove remove! removeDuplicates +removeDuplicates! rest reverse reverse! second select select! setchildren! +setelt setfirst! setlast! setrest! setvalue! size? sort sort! sorted? +split! swap! tail third value} +% +\condata{IMATRIX}{IndexedMatrix}{MatrixCategory} +{{\tt \#} {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} antisymmetric? +any? coerce column copy count determinant diagonal? diagonalMatrix elt +empty empty? eq? every? exquo fill! horizConcat inverse less? listOfLists +map map! matrix maxColIndex maxRowIndex member? members minColIndex +minRowIndex minordet more? ncols new nrows nullSpace nullity parts qelt +qsetelt! rank row rowEchelon scalarMatrix setColumn! setRow! setelt +setsubMatrix! size? square? squareTop subMatrix swapColumns! swapRows! +symmetric? transpose vertConcat zero} +% +\condata{IARRAY1}{IndexedOneDimensionalArray}{OneDimensionalArrayAggregate} +{{\tt \#} {\tt <} {\tt =} any? coerce concat construct convert copy +copyInto! count delete elt empty empty? entries entry? eq? every? fill! +find first index? indices insert less? map map! max maxIndex member? +members merge min minIndex more? new parts position qelt qsetelt! +reduce remove removeDuplicates reverse reverse! select setelt size? +sort sort! sorted? swap!} +% +\condata{ISTRING}{IndexedString}{StringAggregate} +{{\tt \#} {\tt <} {\tt =} any? coerce concat construct copy copyInto! +count delete elt empty empty? entries entry? eq? every? fill! find first +hash index? indices insert leftTrim less? lowerCase lowerCase! map map! +match? max maxIndex member? members merge min minIndex more? new parts +position prefix? qelt qsetelt! reduce remove removeDuplicates replace +reverse reverse! rightTrim select setelt size? sort sort! sorted? +split substring? suffix? swap! trim upperCase upperCase!} +% +\condata{IARRAY2}{IndexedTwoDimensionalArray\\}{TwoDimensionalArrayCategory} +{{\tt \#} {\tt =} any? coerce column copy count elt empty empty? eq? every? +fill! less? map map! maxColIndex maxRowIndex member? members minColIndex +minRowIndex more? ncols new nrows parts qelt qsetelt! row setColumn! +setRow! setelt size?} +% +\condata{IVECTOR}{IndexedVector}{VectorCategory} +{{\tt \#} {\tt *} {\tt +} {\tt -} {\tt <} {\tt =} any? coerce concat +construct convert copy copyInto! count delete dot elt empty empty? +entries entry? eq? every? fill! find first index? indices insert +less? map map! max maxIndex member? members merge min minIndex more? +new parts position qelt qsetelt! reduce remove removeDuplicates +reverse reverse! select setelt size? sort sort! sorted? swap! zero} +% +\condata{ITUPLE}{InfiniteTuple}{CoercibleTo}{coerce construct filterUntil +filterWhile generate map select} +% +\condata{IFF}{InnerFiniteField}{FiniteAlgebraicExtensionField} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} Frobenius algebraic? +associates? basis characteristic charthRoot coerce conditionP coordinates +createNormalElement createPrimitiveElement definingPolynomial degree +dimension discreteLog divide euclideanSize expressIdealMember exquo +extendedEuclidean extensionDegree factor factorsOfCyclicGroupSize +gcd generator inGroundField? index init inv lcm lookup minimalPolynomial +multiEuclidean nextItem norm normal? normalElement one? order prime? +primeFrobenius primitive? primitiveElement principalIdeal quo random +recip rem representationType represents retract retractIfCan size +sizeLess? squareFree squareFreePart tableForDiscreteLogarithm trace +transcendenceDegree transcendent? unit? unitCanonical unitNormal zero?} +% +\condata{IFAMON}{InnerFreeAbelianMonoid}{FreeAbelianMonoidCategory} +{0 {\tt *} {\tt +} {\tt -} {\tt =} coefficient coerce highCommonTerms +mapCoef mapGen nthCoef nthFactor retract retractIfCan size terms zero?} +% +\condata{IIARRAY2}{InnerIndexedTwoDimensionalArray\\} +{TwoDimensionalArrayCategory}{\\ +{\tt \#} {\tt =} any? coerce column copy count elt empty empty? eq?\\ +every? fill! less? map map! maxColIndex maxRowIndex member? members\\ +minColIndex minRowIndex more? ncols new nrows parts qelt qsetelt!\\ +row setColumn! setRow! setelt size?} +% +\condata{IPADIC}{InnerPAdicInteger}{PAdicIntegerCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} approximate associates? +characteristic coerce complete digits divide euclideanSize +expressIdealMember exquo extend extendedEuclidean gcd lcm moduloP +modulus multiEuclidean one? order principalIdeal quo quotientByP +recip rem sizeLess? sqrt unit? unitCanonical unitNormal zero?} +% +\condata{IPF}{InnerPrimeField} +{ConvertibleTo\\ FiniteAlgebraicExtensionField FiniteFieldCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} Frobenius algebraic? +associates? basis characteristic charthRoot coerce conditionP convert +coordinates createNormalElement createPrimitiveElement definingPolynomial +degree dimension discreteLog divide euclideanSize expressIdealMember +exquo extendedEuclidean extensionDegree factor factorsOfCyclicGroupSize +gcd generator inGroundField? index init inv lcm lookup minimalPolynomial +multiEuclidean nextItem norm normal? normalElement one? order prime? +primeFrobenius primitive? primitiveElement principalIdeal quo random +recip rem representationType represents retract retractIfCan size +sizeLess? squareFree squareFreePart tableForDiscreteLogarithm trace +transcendenceDegree transcendent? unit? unitCanonical unitNormal zero?} +% +\condata{ITAYLOR}{InnerTaylorSeries}{IntegralDomain Ring}{0 1 {\tt *} +{\tt **} {\tt +} {\tt -} {\tt =} associates? characteristic coefficients +coerce exquo one? order pole? recip series unit? unitCanonical unitNormal +zero?} +% +\condata{INFORM}{InputForm}{ConvertibleTo SExpressionCategory} +{0 1 {\tt \#} {\tt *} {\tt **} {\tt +} {\tt /} {\tt =} atom? binary car +cdr coerce compile convert declare destruct elt eq expr flatten float +float? function integer integer? interpret lambda list? null? pair? +string string? symbol symbol? uequal unparse} +% +\condata{ZMOD}{IntegerMod}{CommutativeRing ConvertibleTo Finite StepThrough} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} characteristic coerce convert +index init lookup nextItem one? random recip size zero?} +% +\condata{INT}{Integer}{ConvertibleTo IntegerNumberSystem}{0 1 {\tt *} +{\tt **} {\tt +} {\tt -} {\tt <} {\tt =} D abs addmod associates? base +binomial bit? characteristic coerce convert copy dec differentiate +divide euclideanSize even? expressIdealMember exquo extendedEuclidean +factor factorial gcd hash inc init invmod lcm length mask max min mulmod +multiEuclidean negative? nextItem odd? one? patternMatch permutation +positive? positiveRemainder powmod prime? principalIdeal quo random +rational rational? rationalIfCan recip reducedSystem rem retract +retractIfCan shift sign sizeLess? squareFree squareFreePart submod +symmetricRemainder unit? unitCanonical unitNormal zero?} +% +\condata{IR}{IntegrationResult}{Module RetractableTo}{0 {\tt *} {\tt +} +{\tt -} {\tt =} D coerce differentiate elem? integral logpart mkAnswer +notelem ratpart retract retractIfCan zero?} +% +\condata{KERNEL}{Kernel}{CachableSet ConvertibleTo Patternable}{{\tt <} +{\tt =} argument coerce convert height is? kernel max min name operator +position setPosition symbolIfCan} +% +\condata{KAFILE}{KeyedAccessFile}{FileCategory TableAggregate}{{\tt \#} +{\tt =} any? bag close! coerce construct copy count dictionary elt +empty empty? entries entry? eq? every? extract! fill! find first +index? indices insert! inspect iomode key? keys less? map map! +maxIndex member? members minIndex more? name open pack! parts +qelt qsetelt! read! reduce remove remove! removeDuplicates reopen! +search select select! setelt size? swap! table write!} +% +\condata{LAUPOL}{LaurentPolynomial} +{CharacteristicNonZero CharacteristicZero ConvertibleTo DifferentialExtension +EuclideanDomain FullyRetractableTo IntegralDomain RetractableTo} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} D associates? characteristic +charthRoot coefficient coerce convert degree differentiate divide +euclideanSize expressIdealMember exquo extendedEuclidean gcd lcm +leadingCoefficient monomial monomial? multiEuclidean one? order +principalIdeal quo recip reductum rem retract retractIfCan separate +sizeLess? trailingCoefficient unit? unitCanonical unitNormal zero?} +% +\condata{LIB}{Library}{TableAggregate}{{\tt \#} {\tt =} any? bag coerce +construct copy count dictionary elt empty empty? entries entry? eq? +every? extract! fill! find first index? indices insert! inspect key? +keys less? library map map! maxIndex member? members minIndex more? +pack! parts qelt qsetelt! reduce remove remove! removeDuplicates search +select select! setelt size? swap! table} +% +\condata{LSQM}{LieSquareMatrix} +{CoercibleTo FramedNonAssociativeAlgebra SquareMatrixCategory} +{0 1 {\tt \#} {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} D\\ +JacobiIdentity? JordanAlgebra? alternative? antiAssociative?\\ +antiCommutative? antiCommutator antisymmetric? any? apply\\ +associative? associator associatorDependence basis characteristic\\ +coerce column commutative? commutator conditionsForIdempotents\\ +convert coordinates copy count determinant diagonal diagonal?\\ +diagonalMatrix diagonalProduct differentiate elt empty empty? eq?\\ +every? exquo flexible? inverse jordanAdmissible? leftAlternative?\\ +leftCharacteristicPolynomial leftDiscriminant leftMinimalPolynomial\\ +leftNorm leftPower leftRankPolynomial leftRecip\\ +leftRegularRepresentation leftTrace leftTraceMatrix leftUnit leftUnits\\ +less? lieAdmissible? lieAlgebra? listOfLists map map! matrix\\ +maxColIndex maxRowIndex member? members minColIndex minRowIndex\\ +minordet more? ncols noncommutativeJordanAlgebra? nrows nullSpace\\ +nullity one? parts plenaryPower powerAssociative? qelt rank recip\\ +reducedSystem represents retract retractIfCan rightAlternative?\\ +rightCharacteristicPolynomial rightDiscriminant rightMinimalPolynomial\\ +rightNorm rightPower rightRankPolynomial rightRecip\\ +rightRegularRepresentation rightTrace rightTraceMatrix rightUnit\\ +rightUnits row rowEchelon scalarMatrix size? someBasis square?\\ +structuralConstants symmetric? trace unit zero?} +% +\condata{LODO}{LinearOrdinaryDifferentialOperator}{MonogenicLinearOperator} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} D characteristic coefficient +coerce degree elt leadingCoefficient leftDivide leftExactQuotient leftGcd +leftLcm leftQuotient leftRemainder minimumDegree monomial one? recip +reductum rightDivide rightExactQuotient rightGcd rightLcm rightQuotient +rightRemainder zero?} +% +\condata{LMOPS}{ListMonoidOps}{RetractableTo SetCategory}{\\ +{\tt =} coerce leftMult listOfMonoms\\ +makeMulti makeTerm makeUnit mapExpon mapGen nthExpon nthFactor\\ +outputForm plus retract retractIfCan reverse reverse! rightMult size} +% +\condata{LMDICT}{ListMultiDictionary}{MultiDictionary} +{{\tt \#} {\tt =} any? bag coerce construct convert copy count dictionary +duplicates duplicates? empty empty? eq? every? extract! find insert! +inspect less? map map! member? members more? parts reduce remove remove! +removeDuplicates removeDuplicates! select select! size? substitute} +% +\condata{LIST}{List}{ListAggregate}{{\tt \#} {\tt <} {\tt =} any? append +child? children coerce concat concat! cons construct convert copy copyInto! +count cycleEntry cycleLength cycleSplit! cycleTail cyclic? delete delete! +distance elt empty empty? entries entry? eq? every? explicitlyFinite? +fill! find first index? indices insert insert! last leaf? less? list map +map! max maxIndex member? members merge merge! min minIndex more? new +nil node? nodes null parts position possiblyInfinite? qelt qsetelt! +reduce remove remove! removeDuplicates removeDuplicates! rest reverse +reverse! second select select! setDifference setIntersection setUnion +setchildren! setelt setfirst! setlast! setrest! setvalue! size? sort +sort! sorted? split! swap! tail third value} +% +\condata{LA}{LocalAlgebra}{Algebra OrderedRing} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} abs +characteristic coerce denom max min negative? numer one? positive? +recip sign zero?} +% +\condata{LO}{Localize}{Module OrderedAbelianGroup} +{0 {\tt *} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} coerce denom max +min numer zero?} +% +\condata{MKCHSET}{MakeCachableSet}{CachableSet CoercibleTo} +{{\tt <} {\tt =} coerce max min position setPosition} +% +\condata{MKODRING}{MakeOrdinaryDifferentialRing}{CoercibleTo DifferentialRing} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} D characteristic coerce +differentiate one? recip zero?} +% +\condata{MATRIX}{Matrix}{MatrixCategory}{{\tt \#} {\tt *} {\tt **} {\tt +} +{\tt -} {\tt /} {\tt =} antisymmetric? any? coerce column copy count +determinant diagonal? diagonalMatrix elt empty empty? eq? every? exquo +fill! horizConcat inverse less? listOfLists map map! matrix maxColIndex +maxRowIndex member? members minColIndex minRowIndex minordet more? ncols +new nrows nullSpace nullity parts qelt qsetelt! rank row rowEchelon +scalarMatrix setColumn! setRow! setelt setsubMatrix! size? square? +squareTop subMatrix swapColumns! swapRows! symmetric? transpose +vertConcat zero} +% +\condata{MODMON}{ModMonic}{Finite UnivariatePolynomialCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} An D +UnVectorise Vectorise associates? characteristic charthRoot coefficient +coefficients coerce composite computePowers conditionP content degree +differentiate discriminant divide divideExponents elt euclideanSize eval +expressIdealMember exquo extendedEuclidean factor factorPolynomial +factorSquareFreePolynomial gcd gcdPolynomial ground ground? index init +integrate isExpt isPlus isTimes lcm leadingCoefficient leadingMonomial +lift lookup mainVariable makeSUP map mapExponents max min minimumDegree +modulus monicDivide monomial monomial? monomials multiEuclidean +multiplyExponents multivariate nextItem numberOfMonomials one? order pow +prime? primitiveMonomials primitivePart principalIdeal pseudoDivide +pseudoQuotient pseudoRemainder quo random recip reduce reducedSystem +reductum rem resultant retract retractIfCan separate setPoly size +sizeLess? solveLinearPolynomialEquation squareFree squareFreePart +squareFreePolynomial subResultantGcd totalDegree unit? unitCanonical +unitNormal univariate unmakeSUP variables vectorise zero?} +% +\condata{MODFIELD}{ModularField}{Field}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} +{\tt /} {\tt =} associates? characteristic coerce divide euclideanSize +exQuo expressIdealMember exquo extendedEuclidean factor gcd inv lcm +modulus multiEuclidean one? prime? principalIdeal quo recip reduce rem +sizeLess? squareFree squareFreePart unit? unitCanonical unitNormal zero?} +% +\condata{MODRING}{ModularRing}{Ring}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} +{\tt =} characteristic coerce exQuo inv modulus one? recip reduce zero?} +% +\condata{MOEBIUS}{MoebiusTransform}{Group}{1 {\tt *} {\tt **} {\tt /} +{\tt =} coerce commutator conjugate eval inv moebius one? recip scale shift} +% +\condata{MRING}{MonoidRing} +{Algebra CharacteristicNonZero CharacteristicZero\\ Finite RetractableTo Ring} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} characteristic charthRoot +coefficient coefficients coerce index leadingCoefficient leadingMonomial +lookup map monomial monomial? monomials numberOfMonomials one? random +recip reductum retract retractIfCan size terms zero?} +% +\condata{MSET}{Multiset}{MultisetAggregate}{{\tt \#} {\tt <} {\tt =} +any? bag brace coerce construct convert copy count dictionary difference +duplicates empty empty? eq? every? extract! find insert! inspect intersect +less? map map! member? members more? multiset parts reduce remove remove! +removeDuplicates removeDuplicates! select select! size? subset? +symmetricDifference union} +% +\condata{MPOLY}{MultivariatePolynomial}{PolynomialCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D +associates? characteristic charthRoot coefficient coefficients +coerce conditionP content convert degree differentiate discriminant +eval exquo factor factorPolynomial factorSquareFreePolynomial gcd +gcdPolynomial ground ground? isExpt isPlus isTimes lcm +leadingCoefficient leadingMonomial mainVariable map mapExponents max +min minimumDegree monicDivide monomial monomial? monomials +multivariate numberOfMonomials one? prime? primitiveMonomials +primitivePart recip reducedSystem reductum resultant retract +retractIfCan solveLinearPolynomialEquation squareFree squareFreePart +squareFreePolynomial totalDegree unit? unitCanonical unitNormal +univariate variables zero?} +% +\condata{NDP}{NewDirectProduct}{DirectProductCategory} +{0 1 {\tt \#} {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D +abs any? characteristic coerce copy count differentiate dimension +directProduct dot elt empty empty? entries entry? eq? every? fill! first +index index? indices less? lookup map map! max maxIndex member? members +min minIndex more? negative? one? parts positive? qelt qsetelt! random +recip reducedSystem retract retractIfCan setelt sign size size? sup +swap! unitVector zero?} +% +\condata{NDMP}{NewDistributedMultivariatePolynomial}{PolynomialCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D associates? +characteristic charthRoot coefficient coefficients coerce conditionP const +content convert degree differentiate discriminant eval exquo factor +factorPolynomial factorSquareFreePolynomial gcd gcdPolynomial ground +ground? isExpt isPlus isTimes lcm leadingCoefficient leadingMonomial +mainVariable map mapExponents max min minimumDegree monicDivide monomial +monomial? monomials multivariate numberOfMonomials one? prime? +primitiveMonomials primitivePart recip reducedSystem reductum reorder +resultant retract retractIfCan solveLinearPolynomialEquation squareFree +squareFreePart squareFreePolynomial totalDegree unit? unitCanonical +unitNormal univariate variables zero?} % \condata{NONE}{None}{SetCategory}{{\tt =} coerce} % -\condata{NNI}{NonNegativeInteger}{Monoid OrderedAbelianMonoidSup}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt <} {\tt =} - coerce divide exquo gcd max min one? quo recip rem sup zero?} -% -\condata{OCT}{Octonion}{FullyRetractableTo OctonionCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt <} {\tt =} abs - characteristic charthRoot coerce conjugate convert elt eval imagE imagI imagJ imagK imagi imagj imagk index inv lookup - map max min norm octon one? random rational rational? rationalIfCan real recip retract retractIfCan size zero?} -% -\condata{ARRAY1}{OneDimensionalArray}{OneDimensionalArrayAggregate}{{\tt \#} {\tt <} {\tt =} any? coerce concat - construct convert copy copyInto! count delete elt empty empty? entries entry? eq? every? fill! find first index? - indices insert less? map map! max maxIndex member? members merge min minIndex more? new oneDimensionalArray parts - position qelt qsetelt! reduce remove removeDuplicates reverse reverse! select setelt size? sort sort! sorted? swap!} -% -\condata{ONECOMP}{OnePointCompletion}{AbelianGroup FullyRetractableTo OrderedRing SetCategory}{0 1 {\tt *} {\tt **} - {\tt +} {\tt -} {\tt <} {\tt =} abs characteristic coerce finite? infinite? infinity max min negative? one? positive? - rational rational? rationalIfCan recip retract retractIfCan sign zero?} -% -\condata{OP}{Operator}{Algebra CharacteristicNonZero CharacteristicZero Eltable RetractableTo Ring}{0 1 {\tt *} {\tt - **} {\tt +} {\tt -} {\tt =} characteristic charthRoot coerce elt evaluate one? opeval recip retract retractIfCan zero?} -% -\condata{OMLO}{OppositeMonogenicLinearOperator}{DifferentialRing MonogenicLinearOperator}{0 1 {\tt *} {\tt **} {\tt +} - {\tt -} {\tt =} D characteristic coefficient coerce degree differentiate leadingCoefficient minimumDegree monomial one? - op po recip reductum zero?} -% -\condata{ORDCOMP}{OrderedCompletion}{AbelianGroup FullyRetractableTo OrderedRing SetCategory}{0 1 {\tt *} {\tt **} {\tt - +} {\tt -} {\tt <} {\tt =} abs characteristic coerce finite? infinite? max min minusInfinity negative? one? - plusInfinity positive? rational rational? rationalIfCan recip retract retractIfCan sign whatInfinity zero?} -% -\condata{ODP}{OrderedDirectProduct}{DirectProductCategory}{0 1 {\tt \#} {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt - <} {\tt =} D abs any? characteristic coerce copy count differentiate dimension directProduct dot elt empty empty? - entries entry? eq? every? fill! first index index? indices less? lookup map map! max maxIndex member? members min - minIndex more? negative? one? parts positive? qelt qsetelt! random recip reducedSystem retract retractIfCan setelt sign - size size? sup swap! unitVector zero?} -% -\condata{OVAR}{OrderedVariableList}{ConvertibleTo OrderedFinite}{{\tt <} {\tt =} coerce convert index lookup max min - random size variable} -% -\condata{ODPOL}{OrderlyDifferentialPolynomial}{DifferentialPolynomialCategory RetractableTo}{0 1 {\tt *} {\tt **} {\tt - +} {\tt -} {\tt /} {\tt <} {\tt =} D associates? characteristic charthRoot coefficient coefficients coerce conditionP - content degree differentialVariables differentiate discriminant eval exquo factor factorPolynomial - factorSquareFreePolynomial gcd gcdPolynomial ground ground? initial isExpt isPlus isTimes isobaric? lcm leader - leadingCoefficient leadingMonomial mainVariable makeVariable map mapExponents max min minimumDegree monicDivide - monomial monomial? monomials multivariate numberOfMonomials one? order prime? primitiveMonomials primitivePart recip - reducedSystem reductum resultant retract retractIfCan separant solveLinearPolynomialEquation squareFree squareFreePart - squareFreePolynomial totalDegree unit? unitCanonical unitNormal univariate variables weight weights zero?} -% -\condata{ODVAR}{OrderlyDifferentialVariable}{DifferentialVariableCategory}{{\tt <} {\tt =} D coerce differentiate - makeVariable max min order retract retractIfCan variable weight} -% -\condata{ODR}{OrdinaryDifferentialRing}{Algebra DifferentialRing Field}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} - {\tt =} D associates? characteristic coerce differentiate divide euclideanSize expressIdealMember exquo - extendedEuclidean factor gcd inv lcm multiEuclidean one? prime? principalIdeal quo recip rem sizeLess? squareFree - squareFreePart unit? unitCanonical unitNormal zero?} +\condata{NNI}{NonNegativeInteger}{Monoid OrderedAbelianMonoidSup} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt <} {\tt =} +coerce divide exquo gcd max min one? quo recip rem sup zero?} +% +\condata{OCT}{Octonion}{FullyRetractableTo OctonionCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt <} {\tt =} abs characteristic +charthRoot coerce conjugate convert elt eval imagE imagI imagJ imagK imagi +imagj imagk index inv lookup map max min norm octon one? random rational +rational? rationalIfCan real recip retract retractIfCan size zero?} +% +\condata{ARRAY1}{OneDimensionalArray}{OneDimensionalArrayAggregate} +{{\tt \#} {\tt <} {\tt =} any? coerce concat construct convert copy +copyInto! count delete elt empty empty? entries entry? eq? every? +fill! find first index? indices insert less? map map! max maxIndex +member? members merge min minIndex more? new oneDimensionalArray parts + position qelt qsetelt! reduce remove removeDuplicates reverse +reverse! select setelt size? sort sort! sorted? swap!} +% +\condata{ONECOMP}{OnePointCompletion} +{AbelianGroup FullyRetractableTo\\ OrderedRing SetCategory}{\\ +0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt <} {\tt =} abs\\ +characteristic coerce finite? infinite? infinity max min\\ +negative? one? positive? rational rational? rationalIfCan\\ +recip retract retractIfCan sign zero?} +% +\condata{OP}{Operator} +{Algebra CharacteristicNonZero CharacteristicZero Eltable RetractableTo Ring} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} characteristic charthRoot +coerce elt evaluate one? opeval recip retract retractIfCan zero?} +% +\condata{OMLO}{OppositeMonogenicLinearOperator} +{DifferentialRing MonogenicLinearOperator}{0 1 {\tt *} {\tt **} {\tt +} +{\tt -} {\tt =} D characteristic coefficient coerce degree differentiate +leadingCoefficient minimumDegree monomial one? op po recip reductum zero?} +% +\condata{ORDCOMP}{OrderedCompletion} +{AbelianGroup FullyRetractableTo OrderedRing SetCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt <} {\tt =} abs characteristic +coerce finite? infinite? max min minusInfinity negative? one? plusInfinity +positive? rational rational? rationalIfCan recip retract retractIfCan sign +whatInfinity zero?} +% +\condata{ODP}{OrderedDirectProduct}{DirectProductCategory}{0 1 {\tt \#} +{\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D abs any? +characteristic coerce copy count differentiate dimension directProduct +dot elt empty empty? entries entry? eq? every? fill! first index index? +indices less? lookup map map! max maxIndex member? members min minIndex +more? negative? one? parts positive? qelt qsetelt! random recip +reducedSystem retract retractIfCan setelt sign size size? sup swap! +unitVector zero?} +% +\condata{OVAR}{OrderedVariableList}{ConvertibleTo OrderedFinite}{{\tt <} +{\tt =} coerce convert index lookup max min random size variable} +% +\condata{ODPOL}{OrderlyDifferentialPolynomial} +{DifferentialPolynomialCategory RetractableTo} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D +associates? characteristic charthRoot coefficient coefficients +coerce conditionP content degree differentialVariables differentiate +discriminant eval exquo factor factorPolynomial factorSquareFreePolynomial +gcd gcdPolynomial ground ground? initial isExpt isPlus isTimes isobaric? +lcm leader leadingCoefficient leadingMonomial mainVariable makeVariable +map mapExponents max min minimumDegree monicDivide monomial monomial? +monomials multivariate numberOfMonomials one? order prime? +primitiveMonomials primitivePart recip reducedSystem reductum +resultant retract retractIfCan separant solveLinearPolynomialEquation +squareFree squareFreePart squareFreePolynomial totalDegree unit? +unitCanonical unitNormal univariate variables weight weights zero?} +% +\condata{ODVAR}{OrderlyDifferentialVariable}{DifferentialVariableCategory} +{{\tt <} {\tt =} D coerce differentiate makeVariable max min order +retract retractIfCan variable weight} +% +\condata{ODR}{OrdinaryDifferentialRing}{Algebra DifferentialRing Field}{ +0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} D associates? +characteristic coerce differentiate divide euclideanSize +expressIdealMember exquo extendedEuclidean factor gcd inv lcm +multiEuclidean one? prime? principalIdeal quo recip rem sizeLess? +squareFree squareFreePart unit? unitCanonical unitNormal zero?} % \condata{OSI}{OrdSetInts}{OrderedSet}{{\tt <} {\tt =} coerce max min value} % -\condata{OUTFORM}{OutputForm}{SetCategory}{{\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt <=} {\tt =} {\tt >} - {\tt >=} D SEGMENT {\tt \^{}=} and assign blankSeparate box brace bracket center coerce commaSeparate differentiate div - dot elt empty exquo hconcat height hspace infix infix? int label left matrix message messagePrint not or outputForm - over overbar paren pile postfix prefix presub presuper prime print prod quo quote rarrow rem right root rspace scripts - semicolonSeparate slash string sub subHeight sum super superHeight supersub vconcat vspace width zag} -% -\condata{PADIC}{PAdicInteger}{PAdicIntegerCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt =} approximate - associates? characteristic coerce complete digits divide euclideanSize expressIdealMember exquo extend - extendedEuclidean gcd lcm moduloP modulus multiEuclidean one? order principalIdeal quo quotientByP recip rem sizeLess? - sqrt unit? unitCanonical unitNormal zero?} -% -\condata{PADICRC}{PAdicRationalConstructor}{QuotientFieldCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} - {\tt =} D abs approximate associates? ceiling characteristic charthRoot coerce conditionP continuedFraction convert - denom denominator differentiate divide elt euclideanSize eval expressIdealMember exquo extendedEuclidean factor - factorPolynomial factorSquareFreePolynomial floor fractionPart gcd gcdPolynomial init inv lcm map max min - multiEuclidean negative? nextItem numer numerator one? patternMatch positive? prime? principalIdeal quo random recip - reducedSystem rem removeZeroes retract retractIfCan sign sizeLess? solveLinearPolynomialEquation squareFree - squareFreePart squareFreePolynomial unit? unitCanonical unitNormal wholePart zero?} -% -\condata{PADICRAT}{PAdicRational}{QuotientFieldCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} D - approximate associates? characteristic coerce continuedFraction denom denominator differentiate divide euclideanSize - expressIdealMember exquo extendedEuclidean factor fractionPart gcd inv lcm map multiEuclidean numer numerator one? - prime? principalIdeal quo recip reducedSystem rem removeZeroes retract retractIfCan sizeLess? squareFree squareFreePart - unit? unitCanonical unitNormal wholePart zero?} -% -\condata{PALETTE}{Palette}{SetCategory}{{\tt =} bright coerce dark dim hue light pastel shade} +\condata{OUTFORM}{OutputForm}{SetCategory}{{\tt *} {\tt **} {\tt +} +{\tt -} {\tt /} {\tt <} {\tt <=} {\tt =} {\tt >} {\tt >=} D SEGMENT +{\tt \^{}=} and assign blankSeparate box brace bracket center coerce +commaSeparate differentiate div dot elt empty exquo hconcat height +hspace infix infix? int label left matrix message messagePrint not +or outputForm over overbar paren pile postfix prefix presub presuper +prime print prod quo quote rarrow rem right root rspace scripts +semicolonSeparate slash string sub subHeight sum super superHeight +supersub vconcat vspace width zag} +% +\condata{PADIC}{PAdicInteger}{PAdicIntegerCategory}{0 1 {\tt *} {\tt **} +{\tt +} {\tt -} {\tt =} approximate associates? characteristic coerce +complete digits divide euclideanSize expressIdealMember exquo extend +extendedEuclidean gcd lcm moduloP modulus multiEuclidean one? order +principalIdeal quo quotientByP recip rem sizeLess? sqrt unit? +unitCanonical unitNormal zero?} +% +\condata{PADICRC}{PAdicRationalConstructor}{QuotientFieldCategory}{0 1 +{\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D abs +approximate associates? ceiling characteristic charthRoot coerce +conditionP continuedFraction convert denom denominator differentiate +divide elt euclideanSize eval expressIdealMember exquo extendedEuclidean +factor factorPolynomial factorSquareFreePolynomial floor fractionPart +gcd gcdPolynomial init inv lcm map max min multiEuclidean negative? +nextItem numer numerator one? patternMatch positive? prime? +principalIdeal quo random recip reducedSystem rem removeZeroes retract +retractIfCan sign sizeLess? solveLinearPolynomialEquation squareFree +squareFreePart squareFreePolynomial unit? unitCanonical unitNormal +wholePart zero?} +% +\condata{PADICRAT}{PAdicRational}{QuotientFieldCategory}{0 1 {\tt *} +{\tt **} {\tt +} {\tt -} {\tt /} {\tt =} D approximate associates? +characteristic coerce continuedFraction denom denominator differentiate +divide euclideanSize expressIdealMember exquo extendedEuclidean factor +fractionPart gcd inv lcm map multiEuclidean numer numerator one? prime? +principalIdeal quo recip reducedSystem rem removeZeroes retract +retractIfCan sizeLess? squareFree squareFreePart unit? unitCanonical +unitNormal wholePart zero?} +% +\condata{PALETTE}{Palette}{SetCategory}{{\tt =} bright coerce dark dim +hue light pastel shade} % \condata{PARPCURV}{ParametricPlaneCurve}{}{coordinate curve} % @@ -66940,406 +67944,610 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the domain. % \condata{PARSURF}{ParametricSurface}{}{coordinate surface} % -\condata{PFR}{PartialFraction}{Algebra Field}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} associates? - characteristic coerce compactFraction divide euclideanSize expressIdealMember exquo extendedEuclidean factor firstDenom - firstNumer gcd inv lcm multiEuclidean nthFractionalTerm numberOfFractionalTerms one? padicFraction padicallyExpand - partialFraction prime? principalIdeal quo recip rem sizeLess? squareFree squareFreePart unit? unitCanonical unitNormal - wholePart zero?} -% -\condata{PRTITION}{Partition}{ConvertibleTo OrderedCancellationAbelianMonoid}{0 {\tt *} {\tt +} {\tt -} {\tt <} {\tt =} - coerce conjugate convert max min partition pdct powers zero?} -% -\condata{PATLRES}{PatternMatchListResult}{SetCategory}{{\tt =} atoms coerce failed failed? lists makeResult new} -% -\condata{PATRES}{PatternMatchResult}{SetCategory}{{\tt =} addMatch addMatchRestricted coerce construct destruct failed - failed? getMatch insertMatch new satisfy? union} -% -\condata{PATTERN}{Pattern}{RetractableTo SetCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt /} {\tt =} addBadValue coerce - constant? convert copy depth elt generic? getBadValues hasPredicate? hasTopPredicate? inR? isExpt isList isOp isPlus - isPower isQuotient isTimes multiple? optional? optpair patternVariable predicates quoted? resetBadValues retract - retractIfCan setPredicates setTopPredicate symbol? topPredicate variables withPredicates} -% -\condata{PENDTREE}{PendantTree}{BinaryRecursiveAggregate}{{\tt \#} {\tt =} any? children coerce copy count cyclic? elt - empty empty? eq? every? leaf? leaves left less? map map! member? members more? node? nodes parts ptree right - setchildren! setelt setleft! setright! setvalue! size? value} -% -\condata{PERMGRP}{PermutationGroup}{SetCategory}{{\tt <} {\tt <=} {\tt =} base coerce degree elt generators - initializeGroupForWordProblem member? movedPoints orbit orbits order permutationGroup random strongGenerators - wordInGenerators wordInStrongGenerators wordsForStrongGenerators} -% -\condata{PERM}{Permutation}{PermutationCategory}{1 {\tt *} {\tt **} {\tt /} {\tt <} {\tt =} coerce coerceImages - coerceListOfPairs coercePreimagesImages commutator conjugate cycle cyclePartition cycles degree elt eval even? - fixedPoints inv listRepresentation max min movedPoints numberOfCycles odd? one? orbit order recip sign sort} -% -\condata{HACKPI}{Pi}{CharacteristicZero CoercibleTo ConvertibleTo Field RealConstant RetractableTo}{0 1 {\tt *} {\tt - **} {\tt +} {\tt -} {\tt /} {\tt =} associates? characteristic coerce convert divide euclideanSize expressIdealMember - exquo extendedEuclidean factor gcd inv lcm multiEuclidean one? pi prime? principalIdeal quo recip rem retract - retractIfCan sizeLess? squareFree squareFreePart unit? unitCanonical unitNormal zero?} -% -\condata{ACPLOT}{PlaneAlgebraicCurvePlot}{PlottablePlaneCurveCategory}{coerce listBranches makeSketch refine xRange - yRange} -% -\condata{PLOT3D}{Plot3D}{PlottableSpaceCurveCategory}{adaptive3D? coerce debug3D listBranches maxPoints3D minPoints3D - numFunEvals3D plot pointPlot refine screenResolution3D setAdaptive3D setMaxPoints3D setMinPoints3D - setScreenResolution3D tRange tValues xRange yRange zRange zoom} -% -\condata{PLOT}{Plot}{PlottablePlaneCurveCategory}{adaptive? coerce debug listBranches maxPoints minPoints numFunEvals - parametric? plot plotPolar pointPlot refine screenResolution setAdaptive setMaxPoints setMinPoints setScreenResolution - tRange xRange yRange zoom} -% -\condata{POINT}{Point}{PointCategory}{{\tt \#} {\tt *} {\tt +} {\tt -} {\tt <} {\tt =} any? coerce concat construct - convert copy copyInto! count cross delete dimension dot elt empty empty? entries entry? eq? every? extend fill! find - first index? indices insert length less? map map! max maxIndex member? members merge min minIndex more? new parts point - position qelt qsetelt! reduce remove removeDuplicates reverse reverse! select setelt size? sort sort! sorted? swap! - zero} -% -\condata{IDEAL}{PolynomialIdeals}{SetCategory}{{\tt *} {\tt **} {\tt +} {\tt =} backOldPos coerce contract dimension - element? generalPosition generators groebner groebner? groebnerIdeal ideal in? inRadical? intersect leadingIdeal - quotient relationsIdeal saturate zeroDim?} -% -\condata{PR}{PolynomialRing}{FiniteAbelianMonoidRing}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} associates? - characteristic charthRoot coefficient coefficients coerce content degree exquo ground ground? leadingCoefficient - leadingMonomial map mapExponents minimumDegree monomial monomial? numberOfMonomials one? primitivePart recip reductum - retract retractIfCan unit? unitCanonical unitNormal zero?} -% -\condata{POLY}{Polynomial}{PolynomialCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D - associates? characteristic charthRoot coefficient coefficients coerce conditionP content convert degree differentiate - discriminant eval exquo factor factorPolynomial factorSquareFreePolynomial gcd gcdPolynomial ground ground? integrate - isExpt isPlus isTimes lcm leadingCoefficient leadingMonomial mainVariable map mapExponents max min minimumDegree - monicDivide monomial monomial? monomials multivariate numberOfMonomials one? patternMatch prime? primitiveMonomials - primitivePart recip reducedSystem reductum resultant retract retractIfCan solveLinearPolynomialEquation squareFree - squareFreePart squareFreePolynomial totalDegree unit? unitCanonical unitNormal univariate variables zero?} -% -\condata{PI}{PositiveInteger}{AbelianSemiGroup Monoid OrderedSet}{1 {\tt *} {\tt **} {\tt +} {\tt <} {\tt =} coerce gcd - max min one? recip} -% -\condata{PF}{PrimeField}{ConvertibleTo FiniteAlgebraicExtensionField FiniteFieldCategory}{0 1 {\tt *} {\tt **} {\tt +} - {\tt -} {\tt /} {\tt =} Frobenius algebraic? associates? basis characteristic charthRoot coerce conditionP convert - coordinates createNormalElement createPrimitiveElement definingPolynomial degree dimension discreteLog divide - euclideanSize expressIdealMember exquo extendedEuclidean extensionDegree factor factorsOfCyclicGroupSize gcd generator - inGroundField? index init inv lcm lookup minimalPolynomial multiEuclidean nextItem norm normal? normalElement one? - order prime? primeFrobenius primitive? primitiveElement principalIdeal quo random recip rem representationType - represents retract retractIfCan size sizeLess? squareFree squareFreePart tableForDiscreteLogarithm trace - transcendenceDegree transcendent? unit? unitCanonical unitNormal zero?} -% -\condata{PRIMARR}{PrimitiveArray}{OneDimensionalArrayAggregate}{{\tt \#} {\tt <} {\tt =} any? coerce concat construct - convert copy copyInto! count delete elt empty empty? entries entry? eq? every? fill! find first index? indices insert - less? map map! max maxIndex member? members merge min minIndex more? new parts position qelt qsetelt! reduce remove - removeDuplicates reverse reverse! select setelt size? sort sort! sorted? swap!} -% -\condata{PRODUCT}{Product}{AbelianGroup AbelianMonoid CancellationAbelianMonoid Finite Group Monoid - OrderedAbelianMonoidSup OrderedSet SetCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} coerce - commutator conjugate index inv lookup makeprod max min one? random recip selectfirst selectsecond size sup zero?} -% -\condata{QFORM}{QuadraticForm}{AbelianGroup}{0 {\tt *} {\tt +} {\tt -} {\tt =} coerce elt matrix quadraticForm zero?} -% -\condata{QALGSET}{QuasiAlgebraicSet}{CoercibleTo SetCategory}{{\tt =} coerce definingEquations definingInequation - empty? idealSimplify quasiAlgebraicSet setStatus simplify} -% -\condata{QUAT}{Quaternion}{QuaternionCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt <} {\tt =} D abs - characteristic charthRoot coerce conjugate convert differentiate elt eval imagI imagJ imagK inv map max min norm one? - quatern rational rational? rationalIfCan real recip reducedSystem retract retractIfCan zero?} +\condata{PFR}{PartialFraction}{Algebra Field}{0 1 {\tt *} {\tt **} +{\tt +} {\tt -} {\tt /} {\tt =} associates? characteristic coerce +compactFraction divide euclideanSize expressIdealMember exquo +extendedEuclidean factor firstDenom firstNumer gcd inv lcm +multiEuclidean nthFractionalTerm numberOfFractionalTerms one? +padicFraction padicallyExpand partialFraction prime? principalIdeal +quo recip rem sizeLess? squareFree squareFreePart unit? unitCanonical +unitNormal wholePart zero?} +% +\condata{PRTITION}{Partition}{ConvertibleTo OrderedCancellationAbelianMonoid} +{0 {\tt *} {\tt +} {\tt -} {\tt <} {\tt =} coerce conjugate convert max +min partition pdct powers zero?} +% +\condata{PATLRES}{PatternMatchListResult}{SetCategory}{{\tt =} atoms +coerce failed failed? lists makeResult new} +% +\condata{PATRES}{PatternMatchResult}{SetCategory}{{\tt =} addMatch +addMatchRestricted coerce construct destruct failed failed? getMatch +insertMatch new satisfy? union} +% +\condata{PATTERN}{Pattern}{RetractableTo SetCategory}{0 1 {\tt *} {\tt **} +{\tt +} {\tt /} {\tt =} addBadValue coerce constant? convert copy depth +elt generic? getBadValues hasPredicate? hasTopPredicate? inR? isExpt +isList isOp isPlus isPower isQuotient isTimes multiple? optional? +optpair patternVariable predicates quoted? resetBadValues retract +retractIfCan setPredicates setTopPredicate symbol? topPredicate +variables withPredicates} +% +\condata{PENDTREE}{PendantTree}{BinaryRecursiveAggregate}{{\tt \#} {\tt =} +any? children coerce copy count cyclic? elt empty empty? eq? every? leaf? +leaves left less? map map! member? members more? node? nodes parts ptree +right setchildren! setelt setleft! setright! setvalue! size? value} +% +\condata{PERMGRP}{PermutationGroup}{SetCategory}{{\tt <} {\tt <=} {\tt =} +base coerce degree elt generators initializeGroupForWordProblem member? +movedPoints orbit orbits order permutationGroup random strongGenerators +wordInGenerators wordInStrongGenerators wordsForStrongGenerators} +% +\condata{PERM}{Permutation}{PermutationCategory}{1 {\tt *} {\tt **} +{\tt /} {\tt <} {\tt =} coerce coerceImages coerceListOfPairs +coercePreimagesImages commutator conjugate cycle cyclePartition +cycles degree elt eval even? fixedPoints inv listRepresentation +max min movedPoints numberOfCycles odd? one? orbit order recip sign sort} +% +\condata{HACKPI}{Pi}{CharacteristicZero CoercibleTo ConvertibleTo\\ +Field RealConstant RetractableTo}{\\ +0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} associates?\\ +characteristic coerce convert divide euclideanSize expressIdealMember\\ +exquo extendedEuclidean factor gcd inv lcm multiEuclidean one? pi\\ +prime? principalIdeal quo recip rem retract retractIfCan sizeLess?\\ +squareFree squareFreePart unit? unitCanonical unitNormal zero?} +% +\condata{ACPLOT}{PlaneAlgebraicCurvePlot}{PlottablePlaneCurveCategory}{\\ +coerce listBranches makeSketch refine xRange yRange} +% +\condata{PLOT3D}{Plot3D}{PlottableSpaceCurveCategory}{ +adaptive3D? coerce debug3D listBranches maxPoints3D minPoints3D\\ +numFunEvals3D plot pointPlot refine screenResolution3D setAdaptive3D\\ +setMaxPoints3D setMinPoints3D setScreenResolution3D tRange tValues\\ +xRange yRange zRange zoom} +% +\condata{PLOT}{Plot}{PlottablePlaneCurveCategory}{adaptive? coerce debug +listBranches maxPoints minPoints numFunEvals parametric? plot plotPolar +pointPlot refine screenResolution setAdaptive setMaxPoints setMinPoints +setScreenResolution tRange xRange yRange zoom} +% +\condata{POINT}{Point}{PointCategory}{{\tt \#} {\tt *} {\tt +} {\tt -} +{\tt <} {\tt =} any? coerce concat construct convert copy copyInto! +count cross delete dimension dot elt empty empty? entries entry? eq? +every? extend fill! find first index? indices insert length less? +map map! max maxIndex member? members merge min minIndex more? new +parts point position qelt qsetelt! reduce remove removeDuplicates +reverse reverse! select setelt size? sort sort! sorted? swap! zero} +% +\condata{IDEAL}{PolynomialIdeals}{SetCategory}{{\tt *} {\tt **} {\tt +} +{\tt =} backOldPos coerce contract dimension element? generalPosition +generators groebner groebner? groebnerIdeal ideal in? inRadical? +intersect leadingIdeal quotient relationsIdeal saturate zeroDim?} +% +\condata{PR}{PolynomialRing}{FiniteAbelianMonoidRing}{0 1 {\tt *} +{\tt **} {\tt +} {\tt -} {\tt /} {\tt =} associates? characteristic +charthRoot coefficient coefficients coerce content degree exquo ground +ground? leadingCoefficient leadingMonomial map mapExponents +minimumDegree monomial monomial? numberOfMonomials one? +primitivePart recip reductum retract retractIfCan unit? unitCanonical +unitNormal zero?} +% +\condata{POLY}{Polynomial}{PolynomialCategory}{0 1 {\tt *} {\tt **} +{\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D associates? characteristic +charthRoot coefficient coefficients coerce conditionP content convert +degree differentiate discriminant eval exquo factor factorPolynomial +factorSquareFreePolynomial gcd gcdPolynomial ground ground? integrate +isExpt isPlus isTimes lcm leadingCoefficient leadingMonomial +mainVariable map mapExponents max min minimumDegree monicDivide +monomial monomial? monomials multivariate numberOfMonomials one? +patternMatch prime? primitiveMonomials primitivePart recip +reducedSystem reductum resultant retract retractIfCan +solveLinearPolynomialEquation squareFree squareFreePart +squareFreePolynomial totalDegree unit? unitCanonical unitNormal +univariate variables zero?} +% +\condata{PI}{PositiveInteger}{AbelianSemiGroup Monoid OrderedSet}{1 +{\tt *} {\tt **} {\tt +} {\tt <} {\tt =} coerce gcd max min one? recip} +% +\condata{PF}{PrimeField} +{ConvertibleTo FiniteAlgebraicExtensionField FiniteFieldCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} Frobenius +algebraic? associates? basis characteristic charthRoot coerce +conditionP convert coordinates createNormalElement +createPrimitiveElement definingPolynomial degree dimension +discreteLog divide euclideanSize expressIdealMember exquo +extendedEuclidean extensionDegree factor factorsOfCyclicGroupSize +gcd generator inGroundField? index init inv lcm lookup +minimalPolynomial multiEuclidean nextItem norm normal? normalElement +one? order prime? primeFrobenius primitive? primitiveElement +principalIdeal quo random recip rem representationType represents +retract retractIfCan size sizeLess? squareFree squareFreePart +tableForDiscreteLogarithm trace transcendenceDegree transcendent? +unit? unitCanonical unitNormal zero?} +% +\condata{PRIMARR}{PrimitiveArray}{OneDimensionalArrayAggregate}{{\tt \#} +{\tt <} {\tt =} any? coerce concat construct convert copy copyInto! count +delete elt empty empty? entries entry? eq? every? fill! find first index? +indices insert less? map map! max maxIndex member? members merge min +minIndex more? new parts position qelt qsetelt! reduce remove +removeDuplicates reverse reverse! select setelt size? sort sort! +sorted? swap!} +% +\condata{PRODUCT}{Product}{AbelianGroup AbelianMonoid\\ +CancellationAbelianMonoid Finite Group Monoid OrderedAbelianMonoidSup\\ +OrderedSet SetCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /}\\ +{\tt <} {\tt =} coerce commutator conjugate index inv lookup makeprod\\ +max min one? random recip selectfirst selectsecond size sup zero?} +% +\condata{QFORM}{QuadraticForm}{AbelianGroup}{0 {\tt *} {\tt +} {\tt -} +{\tt =} coerce elt matrix quadraticForm zero?} +% +\condata{QALGSET}{QuasiAlgebraicSet}{CoercibleTo SetCategory}{{\tt =} +coerce definingEquations definingInequation empty? idealSimplify +quasiAlgebraicSet setStatus simplify} +% +\condata{QUAT}{Quaternion}{QuaternionCategory}{0 1 {\tt *} {\tt **} {\tt +} +{\tt -} {\tt <} {\tt =} D abs characteristic charthRoot coerce conjugate +convert differentiate elt eval imagI imagJ imagK inv map max min norm one? +quatern rational rational? rationalIfCan real recip reducedSystem retract +retractIfCan zero?} % \condata{QEQUAT}{QueryEquation}{}{equation value variable} % -\condata{QUEUE}{Queue}{QueueAggregate}{{\tt \#} {\tt =} any? back bag coerce copy count dequeue! empty empty? enqueue! - eq? every? extract! front insert! inspect length less? map map! member? members more? parts queue rotate! size?} -% -\condata{RADFF}{RadicalFunctionField}{FunctionFieldCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} D - absolutelyIrreducible? associates? basis branchPoint? branchPointAtInfinity? characteristic characteristicPolynomial - charthRoot coerce complementaryBasis convert coordinates definingPolynomial derivationCoordinates differentiate - discriminant divide elt euclideanSize expressIdealMember exquo extendedEuclidean factor gcd generator genus integral? - integralAtInfinity? integralBasis integralBasisAtInfinity integralCoordinates integralDerivationMatrix integralMatrix - integralMatrixAtInfinity integralRepresents inv inverseIntegralMatrix inverseIntegralMatrixAtInfinity lcm lift - minimalPolynomial multiEuclidean nonSingularModel norm normalizeAtInfinity numberOfComponents one? prime? primitivePart - principalIdeal quo ramified? ramifiedAtInfinity? rank rationalPoint? rationalPoints recip reduce reduceBasisAtInfinity - reducedSystem regularRepresentation rem represents retract retractIfCan singular? singularAtInfinity? sizeLess? - squareFree squareFreePart trace traceMatrix unit? unitCanonical unitNormal yCoordinates zero?} -% -\condata{RADIX}{RadixExpansion}{QuotientFieldCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D - abs associates? ceiling characteristic coerce convert cycleRagits denom denominator differentiate divide euclideanSize - expressIdealMember exquo extendedEuclidean factor floor fractRadix fractRagits fractionPart gcd init inv lcm map max - min multiEuclidean negative? nextItem numer numerator one? patternMatch positive? prefixRagits prime? principalIdeal - quo random recip reducedSystem rem retract retractIfCan sign sizeLess? squareFree squareFreePart unit? unitCanonical - unitNormal wholePart wholeRadix wholeRagits zero?} -% -\condata{RMATRIX}{RectangularMatrix}{CoercibleTo RectangularMatrixCategory VectorSpace}{0 {\tt \#} {\tt *} {\tt +} {\tt - -} {\tt /} {\tt =} antisymmetric? any? coerce column copy count diagonal? dimension elt empty empty? eq? every? exquo - less? listOfLists map map! matrix maxColIndex maxRowIndex member? members minColIndex minRowIndex more? ncols nrows - nullSpace nullity parts qelt rank rectangularMatrix row rowEchelon size? square? symmetric? zero?} -% -\condata{REF}{Reference}{Object SetCategory}{{\tt =} coerce deref elt ref setelt setref} -% -\condata{RULE}{RewriteRule}{Eltable RetractableTo SetCategory}{{\tt =} coerce elt lhs pattern quotedOperators retract - retractIfCan rhs rule suchThat} -% -\condata{ROMAN}{RomanNumeral}{IntegerNumberSystem}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt <} {\tt =} D abs addmod - associates? base binomial bit? characteristic coerce convert copy dec differentiate divide euclideanSize even? - expressIdealMember exquo extendedEuclidean factor factorial gcd hash inc init invmod lcm length mask max min mulmod - multiEuclidean negative? nextItem odd? one? patternMatch permutation positive? positiveRemainder powmod prime? - principalIdeal quo random rational rational? rationalIfCan recip reducedSystem rem retract retractIfCan roman shift - sign sizeLess? squareFree squareFreePart submod symmetricRemainder unit? unitCanonical unitNormal zero?} +\condata{QUEUE}{Queue}{QueueAggregate}{{\tt \#} {\tt =} any? back bag coerce +copy count dequeue! empty empty? enqueue! eq? every? extract! front insert! +inspect length less? map map! member? members more? parts queue rotate! size?} +% +\condata{RADFF}{RadicalFunctionField}{FunctionFieldCategory}{0 1 {\tt *} +{\tt **} {\tt +} {\tt -} {\tt /} {\tt =} D absolutelyIrreducible? +associates? basis branchPoint? branchPointAtInfinity? characteristic +characteristicPolynomial charthRoot coerce complementaryBasis +convert coordinates definingPolynomial derivationCoordinates +differentiate discriminant divide elt euclideanSize expressIdealMember +exquo extendedEuclidean factor gcd generator genus integral? +integralAtInfinity? integralBasis integralBasisAtInfinity +integralCoordinates integralDerivationMatrix integralMatrix +integralMatrixAtInfinity integralRepresents inv inverseIntegralMatrix +inverseIntegralMatrixAtInfinity lcm lift minimalPolynomial multiEuclidean +nonSingularModel norm normalizeAtInfinity numberOfComponents one? prime? +primitivePart principalIdeal quo ramified? ramifiedAtInfinity? rank +rationalPoint? rationalPoints recip reduce reduceBasisAtInfinity +reducedSystem regularRepresentation rem represents retract retractIfCan +singular? singularAtInfinity? sizeLess? squareFree squareFreePart trace +traceMatrix unit? unitCanonical unitNormal yCoordinates zero?} +% +\condata{RADIX}{RadixExpansion}{QuotientFieldCategory}{\\ +0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D\\ +abs associates? ceiling characteristic coerce convert cycleRagits\\ +denom denominator differentiate divide euclideanSize\\ +expressIdealMember exquo extendedEuclidean factor floor fractRadix\\ +fractRagits fractionPart gcd init inv lcm map max min multiEuclidean\\ +negative? nextItem numer numerator one? patternMatch positive?\\ +prefixRagits prime? principalIdeal quo random recip reducedSystem\\ +rem retract retractIfCan sign sizeLess? squareFree squareFreePart\\ +unit? unitCanonical unitNormal wholePart wholeRadix wholeRagits zero?} +% +\condata{RMATRIX}{RectangularMatrix}{CoercibleTo\\ +RectangularMatrixCategory VectorSpace}{\\ +0 {\tt \#} {\tt *} {\tt +} {\tt -} {\tt /} {\tt =} antisymmetric?\\ +any? coerce column copy count diagonal? dimension elt empty empty?\\ +eq? every? exquo less? listOfLists map map! matrix maxColIndex\\ +maxRowIndex member? members minColIndex minRowIndex more? ncols\\ +nrows nullSpace nullity parts qelt rank rectangularMatrix row\\ +rowEchelon size? square? symmetric? zero?} +% +\condata{REF}{Reference}{Object SetCategory}{{\tt =} coerce deref elt +ref setelt setref} +% +\condata{RULE}{RewriteRule}{Eltable RetractableTo SetCategory}{{\tt =} +coerce elt lhs pattern quotedOperators retract retractIfCan rhs rule suchThat} +% +\condata{ROMAN}{RomanNumeral}{IntegerNumberSystem}{0 1 {\tt *} {\tt **} +{\tt +} {\tt -} {\tt <} {\tt =} D abs addmod associates? base binomial +bit? characteristic coerce convert copy dec differentiate divide +euclideanSize even? expressIdealMember exquo extendedEuclidean factor +factorial gcd hash inc init invmod lcm length mask max min mulmod +multiEuclidean negative? nextItem odd? one? patternMatch permutation +positive? positiveRemainder powmod prime? principalIdeal quo random +rational rational? rationalIfCan recip reducedSystem rem retract +retractIfCan roman shift sign sizeLess? squareFree squareFreePart +submod symmetricRemainder unit? unitCanonical unitNormal zero?} % \condata{RULECOLD}{RuleCalled}{SetCategory}{{\tt =} coerce name} % -\condata{RULESET}{Ruleset}{Eltable SetCategory}{{\tt =} coerce elt rules ruleset} +\condata{RULESET}{Ruleset}{Eltable SetCategory}{{\tt =} coerce elt rules +ruleset} % \condata{FORMULA1}{ScriptFormulaFormat1}{Object}{coerce} % -\condata{FORMULA}{ScriptFormulaFormat}{SetCategory}{{\tt =} coerce convert display epilogue formula new prologue +\condata{FORMULA}{ScriptFormulaFormat}{SetCategory}{{\tt =} coerce convert +display epilogue formula new prologue setEpilogue! setFormula! setPrologue!} % -\condata{SEGBIND}{SegmentBinding}{SetCategory}{{\tt =} coerce equation segment variable} -% -\condata{SEG}{Segment}{SegmentCategory SegmentExpansionCategory}{{\tt =} BY SEGMENT coerce convert expand hi high incr - lo low map segment} -% -\condata{SCFRAC}{SemiCancelledFraction}{ConvertibleTo QuotientFieldCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt - /} {\tt <} {\tt =} D abs associates? ceiling characteristic charthRoot coerce conditionP convert denom denominator - differentiate divide elt euclideanSize eval expressIdealMember exquo extendedEuclidean factor factorPolynomial - factorSquareFreePolynomial floor fractionPart gcd gcdPolynomial init inv lcm map max min multiEuclidean negative? - nextItem normalize numer numerator one? patternMatch positive? prime? principalIdeal quo random recip reducedSystem rem - retract retractIfCan sign sizeLess? solveLinearPolynomialEquation squareFree squareFreePart squareFreePolynomial unit? - unitCanonical unitNormal wholePart zero?} -% -\condata{SDPOL}{SequentialDifferentialPolynomial}{DifferentialPolynomialCategory RetractableTo}{0 1 {\tt *} {\tt **} - {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D associates? characteristic charthRoot coefficient coefficients coerce - conditionP content degree differentialVariables differentiate discriminant eval exquo factor factorPolynomial - factorSquareFreePolynomial gcd gcdPolynomial ground ground? initial isExpt isPlus isTimes isobaric? lcm leader - leadingCoefficient leadingMonomial mainVariable makeVariable map mapExponents max min minimumDegree monicDivide - monomial monomial? monomials multivariate numberOfMonomials one? order prime? primitiveMonomials primitivePart recip - reducedSystem reductum resultant retract retractIfCan separant solveLinearPolynomialEquation squareFree squareFreePart - squareFreePolynomial totalDegree unit? unitCanonical unitNormal univariate variables weight weights zero?} -% -\condata{SDVAR}{SequentialDifferentialVariable}{DifferentialVariableCategory}{{\tt <} {\tt =} D coerce differentiate - makeVariable max min order retract retractIfCan variable weight} -% -\condata{SET}{Set}{FiniteSetAggregate}{{\tt \#} {\tt <} {\tt =} any? bag brace cardinality coerce complement construct - convert copy count dictionary difference empty empty? eq? every? extract! find index insert! inspect intersect less? - lookup map map! max member? members min more? parts random reduce remove remove! removeDuplicates select select! size - size? subset? symmetricDifference union universe} -% -\condata{SEXOF}{SExpressionOf}{SExpressionCategory}{{\tt \#} {\tt =} atom? car cdr coerce convert destruct elt eq expr - float float? integer integer? list? null? pair? string string? symbol symbol? uequal} -% -\condata{SEX}{SExpression}{SExpressionCategory}{{\tt \#} {\tt =} atom? car cdr coerce convert destruct elt eq expr - float float? integer integer? list? null? pair? string string? symbol symbol? uequal} -% -\condata{SAE}{SimpleAlgebraicExtension}{MonogenicAlgebra}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} D - associates? basis characteristic characteristicPolynomial charthRoot coerce conditionP convert coordinates - createPrimitiveElement definingPolynomial derivationCoordinates differentiate discreteLog discriminant divide - euclideanSize expressIdealMember exquo extendedEuclidean factor factorsOfCyclicGroupSize gcd generator index init inv - lcm lift lookup minimalPolynomial multiEuclidean nextItem norm one? order prime? primeFrobenius primitive? - primitiveElement principalIdeal quo random rank recip reduce reducedSystem regularRepresentation rem representationType - represents retract retractIfCan size sizeLess? squareFree squareFreePart tableForDiscreteLogarithm trace traceMatrix - unit? unitCanonical unitNormal zero?} +\condata{SEGBIND}{SegmentBinding}{SetCategory}{{\tt =} coerce equation +segment variable} +% +\condata{SEG}{Segment}{SegmentCategory SegmentExpansionCategory}{{\tt =} +BY SEGMENT coerce convert expand hi high incr lo low map segment} +% +\condata{SCFRAC}{SemiCancelledFraction}{ConvertibleTo QuotientFieldCategory}{\\ +0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D\\ +abs associates? ceiling characteristic charthRoot coerce conditionP\\ +convert denom denominator differentiate divide elt euclideanSize\\ +eval expressIdealMember exquo extendedEuclidean factor\\ +factorPolynomial factorSquareFreePolynomial floor fractionPart\\ +gcd gcdPolynomial init inv lcm map max min multiEuclidean negative?\\ +nextItem normalize numer numerator one? patternMatch positive?\\ +prime? principalIdeal quo random recip reducedSystem rem retract\\ +retractIfCan sign sizeLess? solveLinearPolynomialEquation squareFree\\ +squareFreePart squareFreePolynomial unit? unitCanonical unitNormal\\ +wholePart zero?} +% +\condata{SDPOL}{SequentialDifferentialPolynomial} +{DifferentialPolynomialCategory\\ RetractableTo}{\\ +0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =}D\\ +associates? characteristic charthRoot coefficient coefficients\\ +coerce conditionP content degree differentialVariables\\ +differentiate discriminant eval exquo factor factorPolynomial\\ +factorSquareFreePolynomial gcd gcdPolynomial ground ground?\\ +initial isExpt isPlus isTimes isobaric? lcm leader\\ +leadingCoefficient leadingMonomial mainVariable makeVariable\\ +map mapExponents max min minimumDegree monicDivide monomial\\ +monomial? monomials multivariate numberOfMonomials one? order\\ +prime? primitiveMonomials primitivePart recip reducedSystem\\ +reductum resultant retract retractIfCan separant\\ +solveLinearPolynomialEquation squareFree squareFreePart\\ +squareFreePolynomial totalDegree unit? unitCanonical unitNormal\\ +univariate variables weight weights zero?} +% +\condata{SDVAR} +{SequentialDifferentialVariable}{DifferentialVariableCategory}{\\ +{\tt <} {\tt =} D coerce differentiate makeVariable max min order\\ +retract retractIfCan variable weight} +% +\condata{SET}{Set}{FiniteSetAggregate}{{\tt \#} {\tt <} {\tt =} any? bag +brace cardinality coerce complement construct convert copy count +dictionary difference empty empty? eq? every? extract! find index +insert! inspect intersect less? lookup map map! max member? members +min more? parts random reduce remove remove! removeDuplicates select +select! size size? subset? symmetricDifference union universe} +% +\condata{SEXOF}{SExpressionOf}{SExpressionCategory}{{\tt \#} {\tt =} +atom? car cdr coerce convert destruct elt eq expr float float? integer +integer? list? null? pair? string string? symbol symbol? uequal} +% +\condata{SEX}{SExpression}{SExpressionCategory}{{\tt \#} {\tt =} atom? car +cdr coerce convert destruct elt eq expr float float? integer integer? +list? null? pair? string string? symbol symbol? uequal} +% +\condata{SAE}{SimpleAlgebraicExtension}{MonogenicAlgebra}{\\ +0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} D\\ +associates? basis characteristic characteristicPolynomial\\ +charthRoot coerce conditionP convert coordinates\\ +createPrimitiveElement definingPolynomial derivationCoordinates\\ +differentiate discreteLog discriminant divide euclideanSize\\ +expressIdealMember exquo extendedEuclidean factor\\ +factorsOfCyclicGroupSize gcd generator index init inv lcm\\ +lift lookup minimalPolynomial multiEuclidean nextItem norm one?\\ +order prime? primeFrobenius primitive? primitiveElement\\ +principalIdeal quo random rank recip reduce reducedSystem\\ +regularRepresentation rem representationType represents retract\\ +retractIfCan size sizeLess? squareFree squareFreePart\\ +tableForDiscreteLogarithm trace traceMatrix unit? unitCanonical\\ +unitNormal zero?} % \condata{SAOS}{SingletonAsOrderedSet}{OrderedSet}{{\tt <} {\tt =} coerce create max min} % -\condata{SINT}{SingleInteger}{IntegerNumberSystem}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt <} {\tt =} And D Not Or {\tt - \^{}} abs addmod and associates? base binomial bit? characteristic coerce convert copy dec differentiate divide - euclideanSize even? expressIdealMember exquo extendedEuclidean factor factorial gcd hash inc init invmod lcm length - mask max min mulmod multiEuclidean negative? nextItem not odd? one? or patternMatch permutation positive? - positiveRemainder powmod prime? principalIdeal quo random rational rational? rationalIfCan recip reducedSystem rem - retract retractIfCan shift sign sizeLess? squareFree squareFreePart submod symmetricRemainder unit? unitCanonical - unitNormal xor zero?} -% -\condata{SMP}{SparseMultivariatePolynomial}{PolynomialCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} - {\tt =} D associates? characteristic charthRoot coefficient coefficients coerce conditionP content convert degree - differentiate discriminant eval exquo factor factorPolynomial factorSquareFreePolynomial gcd gcdPolynomial ground - ground? isExpt isPlus isTimes lcm leadingCoefficient leadingMonomial mainVariable map mapExponents max min - minimumDegree monicDivide monomial monomial? monomials multivariate numberOfMonomials one? patternMatch prime? - primitiveMonomials primitivePart recip reducedSystem reductum resultant retract retractIfCan - solveLinearPolynomialEquation squareFree squareFreePart squareFreePolynomial totalDegree unit? unitCanonical unitNormal - univariate variables zero?} -% -\condata{SMTS}{SparseMultivariateTaylorSeries}{MultivariateTaylorSeriesCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} - {\tt /} {\tt =} D acos acosh acot acoth acsc acsch asec asech asin asinh associates? atan atanh characteristic - charthRoot coefficient coerce complete cos cosh cot coth csc csch csubst degree differentiate eval exp exquo extend - fintegrate integrate leadingCoefficient leadingMonomial log map monomial monomial? nthRoot one? order pi pole? - polynomial recip reductum sec sech sin sinh sqrt tan tanh unit? unitCanonical unitNormal variables zero?} -% -\condata{STBL}{SparseTable}{TableAggregate}{{\tt \#} {\tt =} any? bag coerce construct copy count dictionary elt empty - empty? entries entry? eq? every? extract! fill! find first index? indices insert! inspect key? keys less? map map! - maxIndex member? members minIndex more? parts qelt qsetelt! reduce remove remove! removeDuplicates search select - select! setelt size? swap! table} -% -\condata{SUP}{SparseUnivariatePolynomial}{UnivariatePolynomialCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} - {\tt <} {\tt =} D associates? characteristic charthRoot coefficient coefficients coerce composite conditionP content - degree differentiate discriminant divide divideExponents elt euclideanSize eval expressIdealMember exquo - extendedEuclidean factor factorPolynomial factorSquareFreePolynomial gcd gcdPolynomial ground ground? init integrate - isExpt isPlus isTimes lcm leadingCoefficient leadingMonomial mainVariable makeSUP map mapExponents max min - minimumDegree monicDivide monomial monomial? monomials multiEuclidean multiplyExponents multivariate nextItem - numberOfMonomials one? order outputForm prime? primitiveMonomials primitivePart principalIdeal pseudoDivide - pseudoQuotient pseudoRemainder quo recip reducedSystem reductum rem resultant retract retractIfCan separate sizeLess? - solveLinearPolynomialEquation squareFree squareFreePart squareFreePolynomial subResultantGcd totalDegree unit? - unitCanonical unitNormal univariate unmakeSUP variables vectorise zero?} -% -\condata{SUTS}{SparseUnivariateTaylorSeries}{UnivariateTaylorSeriesCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt - /} {\tt =} D acos acosh acot acoth acsc acsch approximate asec asech asin asinh associates? atan atanh center - characteristic charthRoot coefficient coefficients coerce complete cos cosh cot coth csc csch degree differentiate elt - eval exp exquo extend integrate leadingCoefficient leadingMonomial log map monomial monomial? multiplyCoefficients - multiplyExponents nthRoot one? order pi pole? polynomial quoByVar recip reductum sec sech series sin sinh sqrt tan tanh - terms truncate unit? unitCanonical unitNormal variable variables zero?} -% -\condata{SQMATRIX}{SquareMatrix}{CoercibleTo SquareMatrixCategory}{0 1 {\tt \#} {\tt *} {\tt **} {\tt +} {\tt -} {\tt - /} {\tt =} D antisymmetric? any? characteristic coerce column copy count determinant diagonal diagonal? diagonalMatrix - diagonalProduct differentiate elt empty empty? eq? every? exquo inverse less? listOfLists map map! matrix maxColIndex - maxRowIndex member? members minColIndex minRowIndex minordet more? ncols nrows nullSpace nullity one? parts qelt rank - recip reducedSystem retract retractIfCan row rowEchelon scalarMatrix size? square? squareMatrix symmetric? trace - transpose zero?} -% -\condata{STACK}{Stack}{StackAggregate}{{\tt \#} {\tt =} any? bag coerce copy count depth empty empty? eq? every? - extract! insert! inspect less? map map! member? members more? parts pop! push! size? stack top} -% -\condata{STREAM}{Stream}{LazyStreamAggregate}{{\tt \#} {\tt =} any? child? children coerce complete concat concat! cons - construct convert copy count cycleEntry cycleLength cycleSplit! cycleTail cyclic? delay delete distance elt empty - empty? entries entry? eq? every? explicitEntries? explicitlyEmpty? explicitlyFinite? extend fill! filterUntil - filterWhile find findCycle first frst generate index? indices insert last lazy? lazyEvaluate leaf? less? map map! - maxIndex member? members minIndex more? new node? nodes numberOfComputedEntries output parts possiblyInfinite? qelt - qsetelt! reduce remove removeDuplicates repeating repeating? rest rst second select setchildren! setelt setfirst! - setlast! setrest! setvalue! showAll? showAllElements size? split! swap! tail third value} -% -\condata{STRTBL}{StringTable}{TableAggregate}{{\tt \#} {\tt =} any? bag coerce construct copy count dictionary elt - empty empty? entries entry? eq? every? extract! fill! find first index? indices insert! inspect key? keys less? map - map! maxIndex member? members minIndex more? parts qelt qsetelt! reduce remove remove! removeDuplicates search select - select! setelt size? swap! table} -% -\condata{STRING}{String}{StringCategory}{{\tt \#} {\tt <} {\tt =} any? coerce concat construct copy copyInto! count - delete elt empty empty? entries entry? eq? every? fill! find first index? indices insert leftTrim less? lowerCase - lowerCase! map map! match? max maxIndex member? members merge min minIndex more? new parts position prefix? qelt - qsetelt! reduce remove removeDuplicates replace reverse reverse! rightTrim select setelt size? sort sort! sorted? split - string substring? suffix? swap! trim upperCase upperCase!} -% -\condata{COMPPROP}{SubSpaceComponentProperty}{SetCategory}{{\tt =} close closed? coerce copy new solid solid?} -% -\condata{SUBSPACE}{SubSpace}{SetCategory}{{\tt =} addPoint addPoint2 addPointLast birth child children closeComponent - coerce deepCopy defineProperty extractClosed extractIndex extractPoint extractProperty internal? leaf? level merge - modifyPoint new numberOfChildren parent pointData root? separate shallowCopy subspace traverse} +\condata{SINT}{SingleInteger}{IntegerNumberSystem}{\\ +0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt <} {\tt =}\\ +And D Not Or {\tt \^{}} abs addmod and associates? base\\ +binomial bit? characteristic coerce convert copy dec\\ +differentiate divide euclideanSize even? expressIdealMember\\ +exquo extendedEuclidean factor factorial gcd hash inc init\\ +invmod lcm length mask max min mulmod multiEuclidean\\ +negative? nextItem not odd? one? or patternMatch permutation\\ +positive? positiveRemainder powmod prime? principalIdeal\\ +quo random rational rational? rationalIfCan recip\\ +reducedSystem rem retract retractIfCan shift sign sizeLess?\\ +squareFree squareFreePart submod symmetricRemainder unit?\\ +unitCanonical unitNormal xor zero?} +% +\condata{SMP}{SparseMultivariatePolynomial}{PolynomialCategory}{\\ +0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <}\\ +{\tt =} D associates? characteristic charthRoot coefficient\\ +coefficients coerce conditionP content convert degree\\ +differentiate discriminant eval exquo factor factorPolynomial\\ +factorSquareFreePolynomial gcd gcdPolynomial ground ground?\\ +isExpt isPlus isTimes lcm leadingCoefficient leadingMonomial\\ +mainVariable map mapExponents max min minimumDegree monicDivide\\ +monomial monomial? monomials multivariate numberOfMonomials one?\\ +patternMatch prime? primitiveMonomials primitivePart recip\\ +reducedSystem reductum resultant retract retractIfCan\\ +solveLinearPolynomialEquation squareFree squareFreePart\\ +squareFreePolynomial totalDegree unit? unitCanonical unitNormal\\ +univariate variables zero?} +% +\condata{SMTS}{SparseMultivariateTaylorSeries}{\\ +MultivariateTaylorSeriesCategory}{0 1 {\tt *} {\tt **}\\ +{\tt +} {\tt -} {\tt /} {\tt =} D acos acosh acot acoth\\ +acsc acsch asec asech asin asinh associates? atan atanh\\ +characteristic charthRoot coefficient coerce complete cos\\ +cosh cot coth csc csch csubst degree differentiate eval\\ +exp exquo extend fintegrate integrate leadingCoefficient\\ +leadingMonomial log map monomial monomial? nthRoot one?\\ +order pi pole? polynomial recip reductum sec sech sin sinh\\ +sqrt tan tanh unit? unitCanonical unitNormal variables zero?} +% +\condata{STBL}{SparseTable}{TableAggregate}{{\tt \#} {\tt =}\\ +any? bag coerce construct copy count dictionary elt empty\\ +empty? entries entry? eq? every? extract! fill! find first\\ +index? indices insert! inspect key? keys less? map map!\\ +maxIndex member? members minIndex more? parts qelt qsetelt!\\ +reduce remove remove! removeDuplicates search select select!\\ +setelt size? swap! table} +% +\condata{SUP}{SparseUnivariatePolynomial}{UnivariatePolynomialCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D associates? +characteristic charthRoot coefficient coefficients coerce composite +conditionP content degree differentiate discriminant divide +divideExponents elt euclideanSize eval expressIdealMember exquo +extendedEuclidean factor factorPolynomial factorSquareFreePolynomial +gcd gcdPolynomial ground ground? init integrate isExpt isPlus isTimes +lcm leadingCoefficient leadingMonomial mainVariable makeSUP map +mapExponents max min minimumDegree monicDivide monomial monomial? +monomials multiEuclidean multiplyExponents multivariate nextItem +numberOfMonomials one? order outputForm prime? primitiveMonomials +primitivePart principalIdeal pseudoDivide pseudoQuotient pseudoRemainder +quo recip reducedSystem reductum rem resultant retract retractIfCan +separate sizeLess? solveLinearPolynomialEquation squareFree +squareFreePart squareFreePolynomial subResultantGcd totalDegree unit? +unitCanonical unitNormal univariate unmakeSUP variables vectorise zero?} +% +\condata{SUTS}{SparseUnivariateTaylorSeries}{UnivariateTaylorSeriesCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} D acos acosh acot +acoth acsc acsch approximate asec asech asin asinh associates? atan +atanh center characteristic charthRoot coefficient coefficients coerce +complete cos cosh cot coth csc csch degree differentiate elt eval exp +exquo extend integrate leadingCoefficient leadingMonomial log map +monomial monomial? multiplyCoefficients multiplyExponents nthRoot one? +order pi pole? polynomial quoByVar recip reductum sec sech series sin +sinh sqrt tan tanh terms truncate unit? unitCanonical unitNormal +variable variables zero?} +% +\condata{SQMATRIX}{SquareMatrix}{CoercibleTo SquareMatrixCategory} +{0 1 {\tt \#} {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} D +antisymmetric? any? characteristic coerce column copy count determinant +diagonal diagonal? diagonalMatrix diagonalProduct differentiate elt empty +empty? eq? every? exquo inverse less? listOfLists map map! matrix maxColIndex +maxRowIndex member? members minColIndex minRowIndex minordet more? ncols +nrows nullSpace nullity one? parts qelt rank recip reducedSystem retract +retractIfCan row rowEchelon scalarMatrix size? square? squareMatrix +symmetric? trace transpose zero?} +% +\condata{STACK}{Stack}{StackAggregate}{{\tt \#} {\tt =} any? bag coerce +copy count depth empty empty? eq? every? extract! insert! inspect less? +map map! member? members more? parts pop! push! size? stack top} +% +\condata{STREAM}{Stream}{LazyStreamAggregate}{{\tt \#} {\tt =} any? child? +children coerce complete concat concat! cons construct convert copy +count cycleEntry cycleLength cycleSplit! cycleTail cyclic? delay delete +distance elt empty empty? entries entry? eq? every? explicitEntries? +explicitlyEmpty? explicitlyFinite? extend fill! filterUntil filterWhile +find findCycle first frst generate index? indices insert last lazy? +lazyEvaluate leaf? less? map map! maxIndex member? members minIndex +more? new node? nodes numberOfComputedEntries output parts +possiblyInfinite? qelt qsetelt! reduce remove removeDuplicates +repeating repeating? rest rst second select setchildren! setelt setfirst! +setlast! setrest! setvalue! showAll? showAllElements size? split! swap! +tail third value} +% +\condata{STRTBL}{StringTable}{TableAggregate}{{\tt \#} {\tt =} any? bag +coerce construct copy count dictionary elt empty empty? entries entry? +eq? every? extract! fill! find first index? indices insert! inspect key? +keys less? map map! maxIndex member? members minIndex more? parts +qelt qsetelt! reduce remove remove! removeDuplicates search select +select! setelt size? swap! table} +% +\condata{STRING}{String}{StringCategory}{{\tt \#} {\tt <} {\tt =} any? +coerce concat construct copy copyInto! count delete elt empty empty? +entries entry? eq? every? fill! find first index? indices insert +leftTrim less? lowerCase lowerCase! map map! match? max maxIndex +member? members merge min minIndex more? new parts position prefix? qelt +qsetelt! reduce remove removeDuplicates replace reverse reverse! +rightTrim select setelt size? sort sort! sorted? split +string substring? suffix? swap! trim upperCase upperCase!} +% +\condata{COMPPROP}{SubSpaceComponentProperty}{SetCategory}{{\tt =} +close closed? coerce copy new solid solid?} +% +\condata{SUBSPACE}{SubSpace}{SetCategory}{{\tt =} addPoint addPoint2 +addPointLast birth child children closeComponent coerce deepCopy +defineProperty extractClosed extractIndex extractPoint extractProperty +internal? leaf? level merge modifyPoint new numberOfChildren parent +pointData root? separate shallowCopy subspace traverse} % \condata{SUCH}{SuchThat}{SetCategory}{{\tt =} coerce construct lhs rhs} % -\condata{SYMBOL}{Symbol}{ConvertibleTo OrderedSet PatternMatchable}{{\tt <} {\tt =} argscript coerce convert elt list - max min name new patternMatch resetNew script scripted? scripts string subscript superscript} +\condata{SYMBOL}{Symbol}{ConvertibleTo OrderedSet PatternMatchable} +{{\tt <} {\tt =} argscript coerce convert elt list max min name new +patternMatch resetNew script scripted? scripts string subscript superscript} % -\condata{SYMPOLY}{SymmetricPolynomial}{FiniteAbelianMonoidRing}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} - associates? characteristic charthRoot coefficient coefficients coerce content degree exquo ground ground? - leadingCoefficient leadingMonomial map mapExponents minimumDegree monomial monomial? numberOfMonomials one? - primitivePart recip reductum retract retractIfCan unit? unitCanonical unitNormal zero?} +\condata{SYMPOLY}{SymmetricPolynomial}{FiniteAbelianMonoidRing} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} +associates? characteristic charthRoot coefficient coefficients coerce +content degree exquo ground ground? leadingCoefficient leadingMonomial +map mapExponents minimumDegree monomial monomial? numberOfMonomials one? +primitivePart recip reductum retract retractIfCan unit? unitCanonical +unitNormal zero?} % \condata{TABLEAU}{Tableau}{Object}{coerce listOfLists tableau} % -\condata{TABLE}{Table}{TableAggregate}{{\tt \#} {\tt =} any? bag coerce construct copy count dictionary elt empty - empty? entries entry? eq? every? extract! fill! find first index? indices insert! inspect key? keys less? map map! - maxIndex member? members minIndex more? parts qelt qsetelt! reduce remove remove! removeDuplicates search select - select! setelt size? swap! table} -% -\condata{TS}{TaylorSeries}{MultivariateTaylorSeriesCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} D - acos acosh acot acoth acsc acsch asec asech asin asinh associates? atan atanh characteristic charthRoot coefficient - coerce complete cos cosh cot coth csc csch degree differentiate eval exp exquo extend fintegrate integrate - leadingCoefficient leadingMonomial log map monomial monomial? nthRoot one? order pi pole? polynomial recip reductum sec - sech sin sinh sqrt tan tanh unit? unitCanonical unitNormal variables zero?} +\condata{TABLE}{Table}{TableAggregate}{{\tt \#} {\tt =} any? bag coerce +construct copy count dictionary elt empty empty? entries entry? eq? +every? extract! fill! find first index? indices insert! inspect key? +keys less? map map! maxIndex member? members minIndex more? parts +qelt qsetelt! reduce remove remove! removeDuplicates search select +select! setelt size? swap! table} +% +\condata{TS}{TaylorSeries}{MultivariateTaylorSeriesCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} D acos acosh +acot acoth acsc acsch asec asech asin asinh associates? atan atanh +characteristic charthRoot coefficient coerce complete cos cosh cot +coth csc csch degree differentiate eval exp exquo extend fintegrate +integrate leadingCoefficient leadingMonomial log map monomial +monomial? nthRoot one? order pi pole? polynomial recip reductum sec +sech sin sinh sqrt tan tanh unit? unitCanonical unitNormal variables zero?} % \condata{TEX1}{TexFormat1}{Object}{coerce} % -\condata{TEX}{TexFormat}{SetCategory}{{\tt =} coerce convert display epilogue new prologue setEpilogue! setPrologue! - setTex! tex} -% -\condata{TEXTFILE}{TextFile}{FileCategory}{{\tt =} close! coerce endOfFile? iomode name open read! readIfCan! readLine! - readLineIfCan! reopen! write! writeLine!} -% -\condata{VIEW3D}{ThreeDimensionalViewport}{SetCategory}{{\tt =} axes clipSurface close coerce colorDef controlPanel - diagonals dimensions drawStyle eyeDistance hitherPlane intensity key lighting makeViewport3D modifyPointData move - options outlineRender perspective reset resize rotate showClipRegion showRegion subspace title translate - viewDeltaXDefault viewDeltaYDefault viewPhiDefault viewThetaDefault viewZoomDefault viewpoint viewport3D write zoom} -% -\condata{SPACE3}{ThreeSpace}{ThreeSpaceCategory}{{\tt =} check closedCurve closedCurve? coerce components composite - composites copy create3Space curve curve? enterPointData lllip lllp llprop lp lprop merge mesh mesh? modifyPointData - numberOfComponents numberOfComposites objects point point? polygon polygon? subspace} -% -\condata{TREE}{Tree}{RecursiveAggregate}{{\tt \#} {\tt =} any? children coerce copy count cyclic? elt empty empty? eq? - every? leaf? leaves less? map map! member? members more? node? nodes parts setchildren! setelt setvalue! size? tree - value} +\condata{TEX}{TexFormat}{SetCategory}\\ +{{\tt =} coerce convert display epilogue new prologue\\ +setEpilogue! setPrologue! setTex! tex} +% +\condata{TEXTFILE}{TextFile}{FileCategory}{{\tt =} close! coerce +endOfFile? iomode name open read! readIfCan! readLine! +readLineIfCan! reopen! write! writeLine!} +% +\condata{VIEW3D}{ThreeDimensionalViewport}{SetCategory}\\ +{{\tt =} axes clipSurface close coerce colorDef controlPanel\\ +diagonals dimensions drawStyle eyeDistance hitherPlane\\ +intensity key lighting makeViewport3D modifyPointData move\\ +options outlineRender perspective reset resize rotate\\ +showClipRegion showRegion subspace title translate\\ +viewDeltaXDefault viewDeltaYDefault viewPhiDefault\\ +viewThetaDefault viewZoomDefault viewpoint viewport3D write zoom} +% +\condata{SPACE3}{ThreeSpace}{ThreeSpaceCategory}{{\tt =} check +closedCurve closedCurve? coerce components composite composites copy +create3Space curve curve? enterPointData lllip lllp llprop lp lprop +merge mesh mesh? modifyPointData numberOfComponents numberOfComposites +objects point point? polygon polygon? subspace} +% +\condata{TREE}{Tree}{RecursiveAggregate} +{{\tt \#} {\tt =} any? children coerce copy count cyclic? elt empty +empty? eq? every? leaf? leaves less? map map! member? members more? +node? nodes parts setchildren! setelt setvalue! size? tree value} % \condata{TUBE}{TubePlot}{}{closed? getCurve listLoops open? setClosed tube} % \condata{TUPLE}{Tuple}{CoercibleTo SetCategory}{{\tt =} coerce length select} % -\condata{ARRAY2}{TwoDimensionalArray}{TwoDimensionalArrayCategory}{{\tt \#} {\tt =} any? coerce column copy count elt - empty empty? eq? every? fill! less? map map! maxColIndex maxRowIndex member? members minColIndex minRowIndex more? - ncols new nrows parts qelt qsetelt! row setColumn! setRow! setelt size?} -% -\condata{VIEW2D}{TwoDimensionalViewport}{SetCategory}{{\tt =} axes close coerce connect controlPanel dimensions - getGraph graphState graphStates graphs key makeViewport2D move options points putGraph region reset resize scale show - title translate units viewport2D write} -% -\condata{ULSCONS}{UnivariateLaurentSeriesConstructor}{UnivariateLaurentSeriesConstructorCategory}{0 1 {\tt *} {\tt **} - {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D abs acos acosh acot acoth acsc acsch approximate asec asech asin asinh - associates? atan atanh ceiling center characteristic charthRoot coefficient coerce complete conditionP convert cos cosh - cot coth csc csch degree denom denominator differentiate divide elt euclideanSize eval exp expressIdealMember exquo - extend extendedEuclidean factor factorPolynomial factorSquareFreePolynomial floor fractionPart gcd gcdPolynomial init - integrate inv laurent lcm leadingCoefficient leadingMonomial log map max min monomial monomial? multiEuclidean - multiplyCoefficients multiplyExponents negative? nextItem nthRoot numer numerator one? order patternMatch pi pole? - positive? prime? principalIdeal quo random rationalFunction recip reducedSystem reductum rem removeZeroes retract - retractIfCan sec sech series sign sin sinh sizeLess? solveLinearPolynomialEquation sqrt squareFree squareFreePart - squareFreePolynomial tan tanh taylor taylorIfCan taylorRep terms truncate unit? unitCanonical unitNormal variable - variables wholePart zero?} -% -\condata{ULS}{UnivariateLaurentSeries}{UnivariateLaurentSeriesConstructorCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} - {\tt /} {\tt =} D acos acosh acot acoth acsc acsch approximate asec asech asin asinh associates? atan atanh center - characteristic charthRoot coefficient coerce complete cos cosh cot coth csc csch degree denom denominator differentiate - divide elt euclideanSize eval exp expressIdealMember exquo extend extendedEuclidean factor gcd integrate inv laurent - lcm leadingCoefficient leadingMonomial log map monomial monomial? multiEuclidean multiplyCoefficients multiplyExponents - nthRoot numer numerator one? order pi pole? prime? principalIdeal quo rationalFunction recip reducedSystem reductum rem - removeZeroes retract retractIfCan sec sech series sin sinh sizeLess? sqrt squareFree squareFreePart tan tanh taylor - taylorIfCan taylorRep terms truncate unit? unitCanonical unitNormal variable variables zero?} -% -\condata{UP}{UnivariatePolynomial}{UnivariatePolynomialCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} - {\tt =} D associates? characteristic charthRoot coefficient coefficients coerce composite conditionP content degree - differentiate discriminant divide divideExponents elt euclideanSize eval expressIdealMember exquo extendedEuclidean - factor factorPolynomial factorSquareFreePolynomial gcd gcdPolynomial ground ground? init integrate isExpt isPlus - isTimes lcm leadingCoefficient leadingMonomial mainVariable makeSUP map mapExponents max min minimumDegree monicDivide - monomial monomial? monomials multiEuclidean multiplyExponents multivariate nextItem numberOfMonomials one? order prime? - primitiveMonomials primitivePart principalIdeal pseudoDivide pseudoQuotient pseudoRemainder quo recip reducedSystem - reductum rem resultant retract retractIfCan separate sizeLess? solveLinearPolynomialEquation squareFree squareFreePart - squareFreePolynomial subResultantGcd totalDegree unit? unitCanonical unitNormal univariate unmakeSUP variables - vectorise zero?} -% -\condata{UPXSCONS}{UnivariatePuiseuxSeriesConstructor}{UnivariatePuiseuxSeriesConstructorCategory}{0 1 {\tt *} {\tt **} - {\tt +} {\tt -} {\tt /} {\tt =} D acos acosh acot acoth acsc acsch approximate asec asech asin asinh associates? atan - atanh center characteristic charthRoot coefficient coerce complete cos cosh cot coth csc csch degree differentiate - divide elt euclideanSize eval exp expressIdealMember exquo extend extendedEuclidean factor gcd integrate inv laurent - laurentIfCan laurentRep lcm leadingCoefficient leadingMonomial log map monomial monomial? multiEuclidean - multiplyExponents nthRoot one? order pi pole? prime? principalIdeal puiseux quo rationalPower recip reductum rem - retract retractIfCan sec sech series sin sinh sizeLess? sqrt squareFree squareFreePart tan tanh terms truncate unit? - unitCanonical unitNormal variable variables zero?} -% -\condata{UPXS}{UnivariatePuiseuxSeries}{UnivariatePuiseuxSeriesConstructorCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt - -} {\tt /} {\tt =} D acos acosh acot acoth acsc acsch approximate asec asech asin asinh associates? atan atanh center - characteristic charthRoot coefficient coerce complete cos cosh cot coth csc csch degree differentiate divide elt - euclideanSize eval exp expressIdealMember exquo extend extendedEuclidean factor gcd integrate inv laurent laurentIfCan - laurentRep lcm leadingCoefficient leadingMonomial log map monomial monomial? multiEuclidean multiplyExponents nthRoot - one? order pi pole? prime? principalIdeal puiseux quo rationalPower recip reductum rem retract retractIfCan sec sech - series sin sinh sizeLess? sqrt squareFree squareFreePart tan tanh terms truncate unit? unitCanonical unitNormal - variable variables zero?} -% -\condata{UTS}{UnivariateTaylorSeries}{UnivariateTaylorSeriesCategory}{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt - =} D acos acosh acot acoth acsc acsch approximate asec asech asin asinh associates? atan atanh center characteristic - charthRoot coefficient coefficients coerce complete cos cosh cot coth csc csch degree differentiate elt eval - evenlambert exp exquo extend generalLambert integrate invmultisect lagrange lambert leadingCoefficient leadingMonomial - log map monomial monomial? multiplyCoefficients multiplyExponents multisect nthRoot oddlambert one? order pi pole? - polynomial quoByVar recip reductum revert sec sech series sin sinh sqrt tan tanh terms truncate unit? unitCanonical - unitNormal univariatePolynomial variable variables zero?} -% -\condata{UNISEG}{UniversalSegment}{SegmentCategory SegmentExpansionCategory}{{\tt =} BY SEGMENT coerce convert expand - hasHi hi high incr lo low map segment} +\condata{ARRAY2}{TwoDimensionalArray}{TwoDimensionalArrayCategory} +{{\tt \#} {\tt =} any? coerce column copy count elt empty empty? eq? +every? fill! less? map map! maxColIndex maxRowIndex member? members +minColIndex minRowIndex more? ncols new nrows parts qelt qsetelt! +row setColumn! setRow! setelt size?} +% +\condata{VIEW2D}{TwoDimensionalViewport}{SetCategory} +{{\tt =} axes close coerce connect controlPanel dimensions +getGraph graphState graphStates graphs key makeViewport2D move options +points putGraph region reset resize scale show +title translate units viewport2D write} +% +\condata{ULSCONS}{UnivariateLaurentSeriesConstructor} +{UnivariateLaurentSeriesConstructorCategory}{0 1 {\tt *} {\tt **} +{\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D abs acos acosh acot acoth acsc +acsch approximate asec asech asin asinh associates? atan atanh ceiling +center characteristic charthRoot coefficient coerce complete conditionP +convert cos cosh cot coth csc csch degree denom denominator differentiate +divide elt euclideanSize eval exp expressIdealMember exquo extend +extendedEuclidean factor factorPolynomial factorSquareFreePolynomial +floor fractionPart gcd gcdPolynomial init integrate inv laurent lcm +leadingCoefficient leadingMonomial log map max min monomial monomial? +multiEuclidean multiplyCoefficients multiplyExponents negative? nextItem +nthRoot numer numerator one? order patternMatch pi pole? positive? +prime? principalIdeal quo random rationalFunction recip reducedSystem +reductum rem removeZeroes retract retractIfCan sec sech series sign +sin sinh sizeLess? solveLinearPolynomialEquation sqrt squareFree +squareFreePart squareFreePolynomial tan tanh taylor taylorIfCan +taylorRep terms truncate unit? unitCanonical unitNormal variable +variables wholePart zero?} +% +\condata{ULS}{UnivariateLaurentSeries} +{UnivariateLaurentSeriesConstructorCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} D acos acosh acot +acoth acsc acsch approximate asec asech asin asinh associates? atan +atanh center characteristic charthRoot coefficient coerce complete cos +cosh cot coth csc csch degree denom denominator differentiate +divide elt euclideanSize eval exp expressIdealMember exquo extend +extendedEuclidean factor gcd integrate inv laurent lcm leadingCoefficient +leadingMonomial log map monomial monomial? multiEuclidean +multiplyCoefficients multiplyExponents nthRoot numer numerator one? order +pi pole? prime? principalIdeal quo rationalFunction recip reducedSystem +reductum rem removeZeroes retract retractIfCan sec sech series sin sinh +sizeLess? sqrt squareFree squareFreePart tan tanh taylor taylorIfCan +taylorRep terms truncate unit? unitCanonical unitNormal variable +variables zero?} +% +\condata{UP}{UnivariatePolynomial}{UnivariatePolynomialCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt <} {\tt =} D +associates? characteristic charthRoot coefficient coefficients coerce +composite conditionP content degree differentiate discriminant divide +divideExponents elt euclideanSize eval expressIdealMember exquo +extendedEuclidean factor factorPolynomial factorSquareFreePolynomial gcd +gcdPolynomial ground ground? init integrate isExpt isPlus isTimes lcm +leadingCoefficient leadingMonomial mainVariable makeSUP map mapExponents +max min minimumDegree monicDivide monomial monomial? monomials +multiEuclidean multiplyExponents multivariate nextItem numberOfMonomials +one? order prime? primitiveMonomials primitivePart principalIdeal +pseudoDivide pseudoQuotient pseudoRemainder quo recip reducedSystem +reductum rem resultant retract retractIfCan separate sizeLess? +solveLinearPolynomialEquation squareFree squareFreePart +squareFreePolynomial subResultantGcd totalDegree unit? unitCanonical +unitNormal univariate unmakeSUP variables vectorise zero?} +% +\condata{UPXSCONS}{UnivariatePuiseuxSeriesConstructor}\\ +{UnivariatePuiseuxSeriesConstructorCategory}{0 1 {\tt *} {\tt **} +{\tt +} {\tt -} {\tt /} {\tt =} D acos acosh acot acoth acsc acsch +approximate asec asech asin asinh associates? atan atanh center +characteristic charthRoot coefficient coerce complete cos cosh cot coth +csc csch degree differentiate divide elt euclideanSize eval exp +expressIdealMember exquo extend extendedEuclidean factor gcd integrate +inv laurent laurentIfCan laurentRep lcm leadingCoefficient +leadingMonomial log map monomial monomial? multiEuclidean +multiplyExponents nthRoot one? order pi pole? prime? principalIdeal +puiseux quo rationalPower recip reductum rem retract retractIfCan sec +sech series sin sinh sizeLess? sqrt squareFree squareFreePart tan tanh +terms truncate unit? unitCanonical unitNormal variable variables zero?} +% +\condata{UPXS}{UnivariatePuiseuxSeries}\\ +{UnivariatePuiseuxSeriesConstructorCategory} {0 1 {\tt *} {\tt **} {\tt +} +{\tt -} {\tt /} {\tt =} D acos acosh acot acoth acsc acsch approximate +asec asech asin asinh associates? atan atanh center characteristic +charthRoot coefficient coerce complete cos cosh cot coth csc csch +degree differentiate divide elt euclideanSize eval exp expressIdealMember +exquo extend extendedEuclidean factor gcd integrate inv laurent laurentIfCan +laurentRep lcm leadingCoefficient leadingMonomial log map monomial +monomial? multiEuclidean multiplyExponents nthRoot one? order pi pole? +prime? principalIdeal puiseux quo rationalPower recip reductum rem +retract retractIfCan sec sech series sin sinh sizeLess? sqrt squareFree +squareFreePart tan tanh terms truncate unit? unitCanonical unitNormal +variable variables zero?} +% +\condata{UTS}{UnivariateTaylorSeries}{UnivariateTaylorSeriesCategory} +{0 1 {\tt *} {\tt **} {\tt +} {\tt -} {\tt /} {\tt =} D acos acosh acot +acoth acsc acsch approximate asec asech asin asinh associates? atan atanh +center characteristic charthRoot coefficient coefficients coerce +complete cos cosh cot coth csc csch degree differentiate elt eval +evenlambert exp exquo extend generalLambert integrate invmultisect +lagrange lambert leadingCoefficient leadingMonomial log map monomial +monomial? multiplyCoefficients multiplyExponents multisect nthRoot +oddlambert one? order pi pole? polynomial quoByVar recip reductum +revert sec sech series sin sinh sqrt tan tanh terms truncate unit? +unitCanonical unitNormal univariatePolynomial variable variables zero?} +% +\condata{UNISEG}{UniversalSegment}{SegmentCategory SegmentExpansionCategory} +{{\tt =} BY SEGMENT coerce convert expand hasHi hi high incr lo low +map segment} % \condata{VARIABLE}{Variable}{CoercibleTo SetCategory}{{\tt =} coerce variable} % -\condata{VECTOR}{Vector}{VectorCategory}{{\tt \#} {\tt *} {\tt +} {\tt -} {\tt <} {\tt =} any? coerce concat construct - convert copy copyInto! count delete dot elt empty empty? entries entry? eq? every? fill! find first index? indices - insert less? map map! max maxIndex member? members merge min minIndex more? new parts position qelt qsetelt! reduce - remove removeDuplicates reverse reverse! select setelt size? sort sort! sorted? swap! vector zero} +\condata{VECTOR}{Vector}{VectorCategory}{{\tt \#} {\tt *} {\tt +} {\tt -} +{\tt <} {\tt =} any? coerce concat construct convert copy copyInto! count +delete dot elt empty empty? entries entry? eq? every? fill! find first +index? indices insert less? map map! max maxIndex member? members merge +min minIndex more? new parts position qelt qsetelt! reduce remove +removeDuplicates reverse reverse! select setelt size? sort sort! +sorted? swap! vector zero} % \condata{VOID}{Void}{}{coerce void} % @@ -67383,21 +68591,26 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % ---------------------------------------------------------------------- %\begin{constructorListing} % ---------------------------------------------------------------------- -\condata{AF}{AlgebraicFunction}{}{{\tt **} belong? definingPolynomial inrootof iroot minPoly operator rootOf} +\condata{AF}{AlgebraicFunction}{}{{\tt **} belong? definingPolynomial +inrootof iroot minPoly operator rootOf} % \condata{INTHERAL}{AlgebraicHermiteIntegration}{}{HermiteIntegrate} % -\condata{INTALG}{AlgebraicIntegrate}{}{algintegrate palginfieldint palgintegrate} +\condata{INTALG}{AlgebraicIntegrate}{}{algintegrate palginfieldint +palgintegrate} % \condata{INTAF}{AlgebraicIntegration}{}{algint} % -\condata{ALGMANIP}{AlgebraicManipulations}{}{ratDenom ratPoly rootKerSimp rootSimp rootSplit} +\condata{ALGMANIP}{AlgebraicManipulations}{}{ratDenom ratPoly rootKerSimp +rootSimp rootSplit} % \condata{ALGMFACT}{AlgebraicMultFact}{}{factor} % -\condata{ALGPKG}{AlgebraPackage}{}{basisOfCenter basisOfCentroid basisOfCommutingElements basisOfLeftAnnihilator - basisOfLeftNucleus basisOfLeftNucloid basisOfMiddleNucleus basisOfNucleus basisOfRightAnnihilator basisOfRightNucleus - basisOfRightNucloid biRank doubleRank leftRank radicalOfLeftTraceForm rightRank weakBiRank} +\condata{ALGPKG}{AlgebraPackage}{}{basisOfCenter basisOfCentroid +basisOfCommutingElements basisOfLeftAnnihilator basisOfLeftNucleus +basisOfLeftNucloid basisOfMiddleNucleus basisOfNucleus +basisOfRightAnnihilator basisOfRightNucleus basisOfRightNucloid biRank +doubleRank leftRank radicalOfLeftTraceForm rightRank weakBiRank} % \condata{ALGFACT}{AlgFactor}{}{doublyTransitive? factor split} % @@ -67409,24 +68622,29 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{BALFACT}{BalancedFactorisation}{}{balancedFactorisation} % -\condata{BOP1}{BasicOperatorFunctions1}{}{constantOpIfCan constantOperator derivative evaluate} +\condata{BOP1}{BasicOperatorFunctions1}{}{constantOpIfCan constantOperator +derivative evaluate} % -\condata{BEZOUT}{BezoutMatrix}{}{bezoutDiscriminant bezoutMatrix bezoutResultant} +\condata{BEZOUT}{BezoutMatrix}{}{bezoutDiscriminant bezoutMatrix +bezoutResultant} % \condata{BOUNDZRO}{BoundIntegerRoots}{}{integerBound} % \condata{CARTEN2}{CartesianTensorFunctions2}{}{map reshape} % -\condata{CHVAR}{ChangeOfVariable}{}{chvar eval goodPoint mkIntegral radPoly rootPoly} +\condata{CHVAR}{ChangeOfVariable}{}{chvar eval goodPoint mkIntegral +radPoly rootPoly} % \condata{CHARPOL}{CharacteristicPolynomialPackage}{}{characteristicPolynomial} % \condata{CVMP}{CoerceVectorMatrixPackage}{}{coerce coerceP} % -\condata{COMBF}{CombinatorialFunction}{}{{\tt **} belong? binomial factorial factorials iibinom iidprod iidsum iifact - iiperm iipow ipow operator permutation product summation} +\condata{COMBF}{CombinatorialFunction}{}{{\tt **} belong? binomial +factorial factorials iibinom iidprod iidsum iifact iiperm iipow ipow +operator permutation product summation} % -\condata{CDEN}{CommonDenominator}{}{clearDenominator commonDenominator splitDenominator} +\condata{CDEN}{CommonDenominator}{}{clearDenominator commonDenominator +splitDenominator} % \condata{COMMONOP}{CommonOperators}{}{operator} % @@ -67436,27 +68654,33 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{COMPLEX2}{ComplexFunctions2}{}{map} % -\condata{CINTSLPE}{ComplexIntegerSolveLinearPolynomialEquation}{}{solveLinearPolynomialEquation} +\condata{CINTSLPE}{Complex\-Integer\-Solve\-Linear\-Polynomial\-Equation}{}\\ +{solveLinearPolynomialEquation} % -\condata{CRFP}{ComplexRootFindingPackage}{}{complexZeros divisorCascade factor graeffe norm pleskenSplit - reciprocalPolynomial rootRadius schwerpunkt setErrorBound startPolynomial} +\condata{CRFP}{ComplexRootFindingPackage}{}{complexZeros divisorCascade +factor graeffe norm pleskenSplit reciprocalPolynomial rootRadius +schwerpunkt setErrorBound startPolynomial} % \condata{CMPLXRT}{ComplexRootPackage}{}{complexZeros} % \condata{ODECONST}{ConstantLODE}{}{constDsolve} % -\condata{COORDSYS}{CoordinateSystems}{}{bipolar bipolarCylindrical cartesian conical cylindrical elliptic - ellipticCylindrical oblateSpheroidal parabolic parabolicCylindrical paraboloidal polar prolateSpheroidal spherical - toroidal} +\condata{COORDSYS}{CoordinateSystems}{}{bipolar\\ +bipolarCylindrical cartesian conical cylindrical\\ +elliptic ellipticCylindrical oblateSpheroidal parabolic\\ +parabolicCylindrical paraboloidal polar prolateSpheroidal\\ +spherical toroidal} % \condata{CRAPACK}{CRApackage}{}{chineseRemainder modTree multiEuclideanTree} % -\condata{CYCLES}{CycleIndicators}{}{SFunction alternating cap complete cup cyclic dihedral elementary eval graphs - powerSum skewSFunction wreath} +\condata{CYCLES}{CycleIndicators}{}{SFunction alternating cap complete cup +cyclic dihedral elementary eval graphs powerSum skewSFunction wreath} % -\condata{CSTTOOLS}{CyclicStreamTools}{}{computeCycleEntry computeCycleLength cycleElt} +\condata{CSTTOOLS}{CyclicStreamTools}{}\\ +{computeCycleEntry computeCycleLength cycleElt} % -\condata{CYCLOTOM}{CyclotomicPolynomialPackage}{}{cyclotomic cyclotomicDecomposition cyclotomicFactorization} +\condata{CYCLOTOM}{CyclotomicPolynomialPackage}{}{cyclotomic +cyclotomicDecomposition cyclotomicFactorization} % \condata{DEGRED}{DegreeReductionPackage}{}{expand reduce} % @@ -67468,35 +68692,43 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{DISPLAY}{DisplayPackage}{}{bright center copies newLine say sayLength} % -\condata{DDFACT}{DistinctDegreeFactorize}{}{distdfact exptMod factor irreducible? separateDegrees separateFactors - tracePowMod} +\condata{DDFACT}{DistinctDegreeFactorize}{}{distdfact exptMod factor +irreducible? separateDegrees separateFactors tracePowMod} % \condata{DBLRESP}{DoubleResultantPackage}{}{doubleResultant} % \condata{DRAWHACK}{DrawNumericHack}{}{coerce} % -\condata{DROPT0}{DrawOptionFunctions0}{}{adaptive clipBoolean coordinate curveColorPalette pointColorPalette ranges - space style title toScale tubePoints tubeRadius units var1Steps var2Steps} +\condata{DROPT0}{DrawOptionFunctions0}{}{adaptive\\ +clipBoolean coordinate curveColorPalette pointColorPalette\\ +ranges space style title toScale tubePoints tubeRadius units\\ +var1Steps var2Steps} % \condata{DROPT1}{DrawOptionFunctions1}{}{option} % -\condata{EP}{EigenPackage}{}{characteristicPolynomial eigenvalues eigenvector eigenvectors inteigen} +\condata{EP}{EigenPackage}{}{characteristicPolynomial eigenvalues +eigenvector eigenvectors inteigen} % \condata{ODEEF}{ElementaryFunctionODESolver}{}{solve} % \condata{SIGNEF}{ElementaryFunctionSign}{}{sign} % -\condata{EFSTRUC}{ElementaryFunctionStructurePackage}{}{normalize realElementary rischNormalize validExponential} +\condata{EFSTRUC}{ElementaryFunctionStructurePackage}{}\\ +{normalize realElementary rischNormalize validExponential} % -\condata{EFUTS}{ElementaryFunctionsUnivariateTaylorSeries}{}{{\tt **} acos acosh acot acoth acsc acsch asec asech asin - asinh atan atanh cos cosh cot coth csc csch exp log sec sech sin sincos sinh sinhcosh tan tanh} +\condata{EFUTS}{ElementaryFunctionsUnivariateTaylorSeries}{}{{\tt **} acos +acosh acot acoth acsc acsch asec asech asin asinh atan atanh cos cosh cot +coth csc csch exp log sec sech sin sincos sinh sinhcosh tan tanh} % -\condata{EF}{ElementaryFunction}{}{acos acosh acot acoth acsc acsch asec asech asin asinh atan atanh belong? cos cosh - cot coth csc csch exp iiacos iiacosh iiacot iiacoth iiacsc iiacsch iiasec iiasech iiasin iiasinh iiatan iiatanh iicos - iicosh iicot iicoth iicsc iicsch iiexp iilog iisec iisech iisin iisinh iitan iitanh log operator pi sec sech sin sinh - specialTrigs tan tanh} +\condata{EF}{ElementaryFunction}{}{acos acosh acot acoth acsc acsch asec +asech asin asinh atan atanh belong? cos cosh cot coth csc csch exp iiacos +iiacosh iiacot iiacoth iiacsc iiacsch iiasec iiasech iiasin iiasinh +iiatan iiatanh iicos iicosh iicot iicoth iicsc iicsch iiexp iilog iisec +iisech iisin iisinh iitan iitanh log operator pi sec sech sin sinh +specialTrigs tan tanh} % -\condata{INTEF}{ElementaryIntegration}{}{lfextendedint lfextlimint lfinfieldint lfintegrate lflimitedint} +\condata{INTEF}{ElementaryIntegration}{}{lfextendedint lfextlimint +lfinfieldint lfintegrate lflimitedint} % \condata{RDEEF}{ElementaryRischDE}{}{rischDE} % @@ -67506,7 +68738,8 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{ERROR}{ErrorFunctions}{}{error} % -\condata{GBEUCLID}{EuclideanGroebnerBasisPackage}{}{euclideanGroebner euclideanNormalForm} +\condata{GBEUCLID}{EuclideanGroebnerBasisPackage}{}{euclideanGroebner +euclideanNormalForm} % \condata{EVALCYC}{EvaluateCycleIndicators}{}{eval} % @@ -67518,7 +68751,8 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{EXPRODE}{ExpressionSpaceODESolver}{}{seriesSolve} % -\condata{EXPR2UPS}{ExpressionToUnivariatePowerSeries}{}{laurent puiseux series taylor} +\condata{EXPR2UPS}{ExpressionToUnivariatePowerSeries}{}{laurent puiseux +series taylor} % \condata{EXPRTUBE}{ExpressionTubePlot}{}{constantToUnaryFunction tubePlot} % @@ -67528,25 +68762,30 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{FRUTIL}{FactoredFunctionUtilities}{}{mergeFactors refine} % -\condata{FACUTIL}{FactoringUtilities}{}{completeEval degree lowerPolynomial normalDeriv raisePolynomial ran variables} +\condata{FACUTIL}{FactoringUtilities}{}{completeEval degree lowerPolynomial +normalDeriv raisePolynomial ran variables} % \condata{FORDER}{FindOrderFinite}{}{order} % \condata{FDIV2}{FiniteDivisorFunctions2}{}{map} % -\condata{FFF}{FiniteFieldFunctions}{}{createMultiplicationMatrix createMultiplicationTable createZechTable - sizeMultiplication} +\condata{FFF}{FiniteFieldFunctions}{}{createMultiplicationMatrix +createMultiplicationTable createZechTable sizeMultiplication} % \condata{FFHOM}{FiniteFieldHomomorphisms}{}{coerce} % \condata{FFPOLY2}{FiniteFieldPolynomialPackage2}{}{rootOfIrreduciblePoly} % -\condata{FFPOLY}{FiniteFieldPolynomialPackage}{}{createIrreduciblePoly createNormalPoly createNormalPrimitivePoly - createPrimitiveNormalPoly createPrimitivePoly leastAffineMultiple nextIrreduciblePoly nextNormalPoly - nextNormalPrimitivePoly nextPrimitiveNormalPoly nextPrimitivePoly normal? numberOfIrreduciblePoly numberOfNormalPoly - numberOfPrimitivePoly primitive? random reducedQPowers} +\condata{FFPOLY}{FiniteFieldPolynomialPackage}{}\\ +{createIrreduciblePoly createNormalPoly createNormalPrimitivePoly\\ +createPrimitiveNormalPoly createPrimitivePoly leastAffineMultiple\\ +nextIrreduciblePoly nextNormalPoly nextNormalPrimitivePoly\\ +nextPrimitiveNormalPoly nextPrimitivePoly normal?\\ +numberOfIrreduciblePoly numberOfNormalPoly numberOfPrimitivePoly\\ +primitive? random reducedQPowers} % -\condata{FFSLPE}{FiniteFieldSolveLinearPolynomialEquation}{}{solveLinearPolynomialEquation} +\condata{FFSLPE}{FiniteFieldSolveLinearPolynomialEquation}{} +{solve\-Linear\-Polynomial\-Equation} % \condata{FLAGG2}{FiniteLinearAggregateFunctions2}{}{map reduce scan} % @@ -67562,8 +68801,9 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{FRAC2}{FractionFunctions2}{}{map} % -\condata{FSPECF}{FunctionalSpecialFunction}{}{Beta Gamma abs airyAi airyBi belong? besselI besselJ besselK besselY - digamma iiGamma iiabs operator polygamma} +\condata{FSPECF}{FunctionalSpecialFunction}{}{Beta Gamma abs airyAi airyBi +belong? besselI besselJ besselK besselY digamma iiGamma iiabs operator +polygamma} % \condata{FFCAT2}{FunctionFieldCategoryFunctions2}{}{map} % @@ -67573,7 +68813,8 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{PMPREDFS}{FunctionSpaceAttachPredicates}{}{suchThat} % -\condata{FSCINT}{FunctionSpaceComplexIntegration}{}{complexIntegrate internalIntegrate} +\condata{FSCINT}{FunctionSpaceComplexIntegration}{}\\ +{complexIntegrate internalIntegrate} % \condata{FS2}{FunctionSpaceFunctions2}{}{map} % @@ -67585,7 +68826,8 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{SUMFS}{FunctionSpaceSum}{}{sum} % -\condata{FS2UPS}{FunctionSpaceToUnivariatePowerSeries}{}{exprToGenUPS exprToUPS} +\condata{FS2UPS}{FunctionSpaceToUnivariatePowerSeries}{}{exprToGenUPS +exprToUPS} % \condata{FSUPFACT}{FunctionSpaceUnivariatePolynomialFactor}{}{ffactor qfactor} % @@ -67595,25 +68837,31 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{GENPGCD}{GeneralPolynomialGcdPackage}{}{gcdPolynomial randomR} % -\condata{GENUPS}{GenerateUnivariatePowerSeries}{}{laurent puiseux series taylor} +\condata{GENUPS}{GenerateUnivariatePowerSeries}{}{laurent puiseux series +taylor} % -\condata{GENEEZ}{GenExEuclid}{}{compBound reduction solveid tablePow testModulus} +\condata{GENEEZ}{GenExEuclid}{}{compBound reduction solveid tablePow +testModulus} % \condata{GENUFACT}{GenUFactorize}{}{factor} % -\condata{INTG0}{GenusZeroIntegration}{}{palgLODE0 palgRDE0 palgextint0 palgint0 palglimint0} +\condata{INTG0}{GenusZeroIntegration}{}{palgLODE0 palgRDE0 palgextint0 +palgint0 palglimint0} % \condata{GOSPER}{GosperSummationMethod}{}{GospersMethod} % -\condata{GRDEF}{GraphicsDefaults}{}{adaptive clipPointsDefault drawToScale maxPoints minPoints screenResolution} +\condata{GRDEF}{GraphicsDefaults}{}{adaptive clipPointsDefault\\ +drawToScale maxPoints minPoints screenResolution} % \condata{GRAY}{GrayCode}{}{firstSubsetGray nextSubsetGray} % -\condata{GBF}{GroebnerFactorizationPackage}{}{factorGroebnerBasis groebnerFactorize} +\condata{GBF}{GroebnerFactorizationPackage}{}{factorGroebnerBasis +groebnerFactorize} % -\condata{GBINTERN}{GroebnerInternalPackage}{}{credPol critB critBonD critM critMTonD1 critMonD1 critT critpOrder - fprindINFO gbasis hMonic lepol makeCrit minGbasis prinb prindINFO prinpolINFO prinshINFO redPo redPol sPol updatD - updatF virtualDegree} +\condata{GBINTERN}{GroebnerInternalPackage}{}{credPol critB critBonD +critM critMTonD1 critMonD1 critT critpOrder fprindINFO gbasis hMonic +lepol makeCrit minGbasis prinb prindINFO prinpolINFO prinshINFO redPo +redPol sPol updatD updatF virtualDegree} % \condata{GB}{GroebnerPackage}{}{groebner normalForm} % @@ -67621,9 +68869,11 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{HB}{HallBasis}{}{generate inHallBasis? lfunc} % -\condata{HEUGCD}{HeuGcd}{}{content contprim gcd gcdcofact gcdcofactprim gcdprim lintgcd} +\condata{HEUGCD}{HeuGcd}{}{content contprim gcd gcdcofact gcdcofactprim +gcdprim lintgcd} % -\condata{IDECOMP}{IdealDecompositionPackage}{}{primaryDecomp prime? radical zeroDimPrimary? zeroDimPrime?} +\condata{IDECOMP}{IdealDecompositionPackage}{}{primaryDecomp\\ +prime? radical zeroDimPrimary? zeroDimPrime?} % \condata{INCRMAPS}{IncrementingMaps}{}{increment incrementBy} % @@ -67635,18 +68885,22 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{IALGFACT}{InnerAlgFactor}{}{factor} % -\condata{ICDEN}{InnerCommonDenominator}{}{clearDenominator commonDenominator splitDenominator} +\condata{ICDEN}{InnerCommonDenominator}{}{clearDenominator\\ +commonDenominator splitDenominator} % -\condata{IMATLIN}{InnerMatrixLinearAlgebraFunctions}{}{determinant inverse nullSpace nullity rank rowEchelon} +\condata{IMATLIN}{InnerMatrixLinearAlgebraFunctions}{}{determinant +inverse nullSpace nullity rank rowEchelon} % -\condata{IMATQF}{InnerMatrixQuotientFieldFunctions}{}{inverse nullSpace nullity rank rowEchelon} +\condata{IMATQF}{InnerMatrixQuotientFieldFunctions}{}{inverse +nullSpace nullity rank rowEchelon} % \condata{INMODGCD}{InnerModularGcd}{}{modularGcd reduction} % \condata{INNMFACT}{InnerMultFact}{}{factor} % -\condata{INBFF}{InnerNormalBasisFieldFunctions}{}{{\tt *} {\tt **} {\tt /} basis dAndcExp expPot index inv lookup - minimalPolynomial norm normal? normalElement pol qPot random repSq setFieldInfo trace xn} +\condata{INBFF}{InnerNormalBasisFieldFunctions}{}{{\tt *} {\tt **} {\tt /} +basis dAndcExp expPot index inv lookup minimalPolynomial norm normal? +normalElement pol qPot random repSq setFieldInfo trace xn} % \condata{INEP}{InnerNumericEigenPackage}{}{charpol innerEigenvectors} % @@ -67656,31 +68910,37 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{ISUMP}{InnerPolySum}{}{sum} % -\condata{ITRIGMNP}{InnerTrigonometricManipulations}{}{F2FG FG2F GF2FG explogs2trigs trigs2explogs} +\condata{ITRIGMNP}{InnerTrigonometricManipulations}{}{F2FG\\ +FG2F GF2FG explogs2trigs trigs2explogs} % \condata{INFORM1}{InputFormFunctions1}{}{interpret packageCall} % -\condata{COMBINAT}{IntegerCombinatoricFunctions}{}{binomial factorial multinomial partition permutation stirling1 - stirling2} +\condata{COMBINAT}{IntegerCombinatoricFunctions}{}{binomial factorial +multinomial partition permutation stirling1 stirling2} % -\condata{INTFACT}{IntegerFactorizationPackage}{}{BasicMethod PollardSmallFactor factor squareFree} +\condata{INTFACT}{IntegerFactorizationPackage}{}{BasicMethod +PollardSmallFactor factor squareFree} % -\condata{ZLINDEP}{IntegerLinearDependence}{}{linearDependenceOverZ linearlyDependentOverZ? solveLinearlyOverQ} +\condata{ZLINDEP}{IntegerLinearDependence}{}{linearDependenceOverZ +linearlyDependentOverZ? solveLinearlyOverQ} % -\condata{INTHEORY}{IntegerNumberTheoryFunctions}{}{bernoulli chineseRemainder divisors euler eulerPhi fibonacci - harmonic jacobi legendre moebiusMu numberOfDivisors sumOfDivisors sumOfKthPowerDivisors} +\condata{INTHEORY}{IntegerNumberTheoryFunctions}{}{bernoulli +chineseRemainder divisors euler eulerPhi fibonacci harmonic jacobi +legendre moebiusMu numberOfDivisors sumOfDivisors sumOfKthPowerDivisors} % \condata{PRIMES}{IntegerPrimesPackage}{}{nextPrime prevPrime prime? primes} % \condata{INTRET}{IntegerRetractions}{}{integer integer? integerIfCan} % -\condata{IROOT}{IntegerRoots}{}{approxNthRoot approxSqrt perfectNthPower? perfectNthRoot perfectSqrt perfectSquare?} +\condata{IROOT}{IntegerRoots}{}{approxNthRoot approxSqrt perfectNthPower? +perfectNthRoot perfectSqrt perfectSquare?} % \condata{IBATOOL}{IntegralBasisTools}{}{diagonalProduct idealiser leastPower} % \condata{IR2}{IntegrationResultFunctions2}{}{map} % -\condata{IRRF2F}{IntegrationResultRFToFunction}{}{complexExpand complexIntegrate expand integrate split} +\condata{IRRF2F}{IntegrationResultRFToFunction}{}{complexExpand\\ +complexIntegrate expand integrate split} % \condata{IR2F}{IntegrationResultToFunction}{}{complexExpand expand split} % @@ -67690,7 +68950,9 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{IRREDFFX}{IrredPolyOverFiniteField}{}{generateIrredPoly} % -\condata{IRSN}{IrrRepSymNatPackage}{}{dimensionOfIrreducibleRepresentation irreducibleRepresentation} +\condata{IRSN}{IrrRepSymNatPackage}{} +{dimensionOfIrreducibleRepresentation\\ +irreducibleRepresentation} % \condata{KERNEL2}{KernelFunctions2}{}{constantIfCan constantKernel} % @@ -67700,18 +68962,23 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{LEADCDET}{LeadingCoefDetermination}{}{distFact polCase} % -\condata{LINDEP}{LinearDependence}{}{linearDependence linearlyDependent? solveLinear} +\condata{LINDEP}{LinearDependence}{}{linearDependence linearlyDependent? +solveLinear} % -\condata{LPEFRAC}{LinearPolynomialEquationByFractions}{}{solveLinearPolynomialEquationByFractions} +\condata{LPEFRAC}{LinearPolynomialEquationByFractions}{}\\ +{solve\-Linear\-Polynomial\-Equation\-By\-Fractions} % \condata{LSMP}{LinearSystemMatrixPackage}{}{aSolution hasSolution? rank solve} % \condata{LSPP}{LinearSystemPolynomialPackage}{}{linSolve} % -\condata{LGROBP}{LinGrobnerPackage}{}{anticoord choosemon computeBasis coordinate groebgen intcompBasis linGenPos - minPol totolex transform} +\condata{LGROBP}{LinGrobnerPackage}{} +{anticoord choosemon computeBasis\\ +coordinate groebgen intcompBasis linGenPos\\ +minPol totolex transform} % -\condata{LF}{LiouvillianFunction}{}{Ci Ei Si belong? dilog erf integral li operator} +\condata{LF}{LiouvillianFunction}{}{Ci Ei Si belong? dilog erf integral +li operator} % \condata{LIST2}{ListFunctions2}{}{map reduce scan} % @@ -67719,7 +68986,8 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{LIST2MAP}{ListToMap}{}{match} % -\condata{MKBCFUNC}{MakeBinaryCompiledFunction}{}{binaryFunction compiledFunction} +\condata{MKBCFUNC}{MakeBinaryCompiledFunction}{}{binaryFunction +compiledFunction} % \condata{MKFLCFN}{MakeFloatCompiledFunction}{}{makeFloatFunction} % @@ -67729,11 +68997,13 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{MKUCFUNC}{MakeUnaryCompiledFunction}{}{compiledFunction unaryFunction} % -\condata{MAPPKG1}{MappingPackage1}{}{{\tt **} coerce fixedPoint id nullary recur} +\condata{MAPPKG1}{MappingPackage1}{}{{\tt **} coerce fixedPoint id +nullary recur} % \condata{MAPPKG2}{MappingPackage2}{}{const constant curry diag} % -\condata{MAPPKG3}{MappingPackage3}{}{{\tt *} constantLeft constantRight curryLeft curryRight twist} +\condata{MAPPKG3}{MappingPackage3}{}{{\tt *} constantLeft constantRight +curryLeft curryRight twist} % \condata{MAPHACK1}{MappingPackageInternalHacks1}{}{iter recur} % @@ -67743,15 +69013,21 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{MATCAT2}{MatrixCategoryFunctions2}{}{map reduce} % -\condata{MCDEN}{MatrixCommonDenominator}{}{clearDenominator commonDenominator splitDenominator} +\condata{MCDEN}{MatrixCommonDenominator}{}{clearDenominator +commonDenominator splitDenominator} % -\condata{MATLIN}{MatrixLinearAlgebraFunctions}{}{determinant inverse minordet nullSpace nullity rank rowEchelon} +\condata{MATLIN}{MatrixLinearAlgebraFunctions}{} +{determinant inverse\\ +minordet nullSpace nullity rank rowEchelon} % \condata{MTHING}{MergeThing}{}{mergeDifference} % -\condata{MESH}{MeshCreationRoutinesForThreeDimensions}{}{meshFun2Var meshPar1Var meshPar2Var ptFunc} +\condata{MESH}{MeshCreationRoutinesForThreeDimensions}{} +{meshFun2Var\\ +meshPar1Var meshPar2Var ptFunc} % -\condata{MDDFACT}{ModularDistinctDegreeFactorizer}{}{ddFact exptMod factor gcd separateFactors} +\condata{MDDFACT}{ModularDistinctDegreeFactorizer}{}{ddFact exptMod +factor gcd separateFactors} % \condata{MHROWRED}{ModularHermitianRowReduction}{}{rowEch rowEchelon} % @@ -67763,7 +69039,9 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{MPC3}{MPolyCatFunctions3}{}{map} % -\condata{MPRFF}{MPolyCatRationalFunctionFactorizer}{}{factor pushdown pushdterm pushucoef pushuconst pushup totalfract} +\condata{MPRFF}{MPolyCatRationalFunctionFactorizer}{} +{factor pushdown pushdterm\\ +pushucoef pushuconst pushup totalfract} % \condata{MRATFAC}{MRationalFactorize}{}{factor} % @@ -67777,8 +69055,8 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{MULTSQFR}{MultivariateSquareFree}{}{squareFree squareFreePrim} % -\condata{NCODIV}{NonCommutativeOperatorDivision}{}{leftDivide leftExactQuotient leftGcd leftLcm leftQuotient - leftRemainder} +\condata{NCODIV}{NonCommutativeOperatorDivision}{}{leftDivide +leftExactQuotient leftGcd leftLcm leftQuotient leftRemainder} % \condata{NONE1}{NoneFunctions1}{}{coerce} % @@ -67790,20 +69068,25 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{NFINTBAS}{NumberFieldIntegralBasis}{}{discriminant integralBasis} % -\condata{NUMFMT}{NumberFormats}{}{FormatArabic FormatRoman ScanArabic ScanRoman} +\condata{NUMFMT}{NumberFormats}{}{FormatArabic FormatRoman +ScanArabic ScanRoman} % -\condata{NTPOLFN}{NumberTheoreticPolynomialFunctions}{}{bernoulliB cyclotomic eulerE} +\condata{NTPOLFN}{NumberTheoreticPolynomialFunctions}{} +{bernoulliB cyclotomic eulerE} % \condata{NUMODE}{NumericalOrdinaryDifferentialEquations}{}{rk4 rk4a rk4f rk4qc} % -\condata{NUMQUAD}{NumericalQuadrature}{}{aromberg asimpson atrapezoidal romberg rombergo simpson simpsono trapezoidal - trapezoidalo} +\condata{NUMQUAD}{NumericalQuadrature}{}\\ +{aromberg asimpson atrapezoidal romberg rombergo\\ +simpson simpsono trapezoidal trapezoidalo} % -\condata{NCEP}{NumericComplexEigenPackage}{}{characteristicPolynomial complexEigenvalues complexEigenvectors} +\condata{NCEP}{NumericComplexEigenPackage}{}{characteristicPolynomial +complexEigenvalues complexEigenvectors} % \condata{NCNTFRAC}{NumericContinuedFraction}{}{continuedFraction} % -\condata{NREP}{NumericRealEigenPackage}{}{characteristicPolynomial realEigenvalues realEigenvectors} +\condata{NREP}{NumericRealEigenPackage}{}\\ +{characteristicPolynomial realEigenvalues realEigenvectors} % \condata{NUMTUBE}{NumericTubePlot}{}{tube} % @@ -67813,7 +69096,8 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{ODEINT}{ODEIntegration}{}{expint int} % -\condata{ODETOOLS}{ODETools}{}{particularSolution variationOfParameters wronskianMatrix} +\condata{ODETOOLS}{ODETools}{}{particularSolution variationOfParameters +wronskianMatrix} % \condata{ARRAY12}{OneDimensionalArrayFunctions2}{}{map reduce scan} % @@ -67825,7 +69109,8 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{ORDFUNS}{OrderingFunctions}{}{pureLex reverseLex totalLex} % -\condata{ORTHPOL}{OrthogonalPolynomialFunctions}{}{ChebyshevU chebyshevT hermiteH laguerreL legendreP} +\condata{ORTHPOL}{OrthogonalPolynomialFunctions}{}{ChebyshevU chebyshevT +hermiteH laguerreL legendreP} % \condata{OUT}{OutputPackage}{}{output} % @@ -67835,10 +69120,13 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{YSTREAM}{ParadoxicalCombinatorsForStreams}{}{Y} % -\condata{PARTPERM}{PartitionsAndPermutations}{}{conjugate conjugates partitions permutations sequences shuffle - shufflein} +\condata{PARTPERM}{PartitionsAndPermutations}{} +{conjugate conjugates partitions\\ +permutations sequences shuffle shufflein} % -\condata{PATTERN1}{PatternFunctions1}{}{addBadValue badValues predicate satisfy? suchThat} +\condata{PATTERN1}{PatternFunctions1}{} +{addBadValue badValues predicate satisfy?\\ +suchThat} % \condata{PATTERN2}{PatternFunctions2}{}{map} % @@ -67868,8 +69156,9 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{PERMAN}{Permanent}{}{permanent} % -\condata{PGE}{PermutationGroupExamples}{}{abelianGroup alternatingGroup cyclicGroup dihedralGroup janko2 mathieu11 - mathieu12 mathieu22 mathieu23 mathieu24 rubiksGroup symmetricGroup youngGroup} +\condata{PGE}{PermutationGroupExamples}{}{abelianGroup alternatingGroup +cyclicGroup dihedralGroup janko2 mathieu11 mathieu12 mathieu22 mathieu23 +mathieu24 rubiksGroup symmetricGroup youngGroup} % \condata{PICOERCE}{PiCoercions}{}{coerce} % @@ -67879,15 +69168,18 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{PTFUNC2}{PointFunctions2}{}{map} % -\condata{PTPACK}{PointPackage}{}{color hue phiCoord rCoord shade thetaCoord xCoord yCoord zCoord} +\condata{PTPACK}{PointPackage}{}{color hue phiCoord rCoord shade +thetaCoord xCoord yCoord zCoord} % \condata{PFOQ}{PointsOfFiniteOrderRational}{}{order torsion? torsionIfCan} % -\condata{PFOTOOLS}{PointsOfFiniteOrderTools}{}{badNum doubleDisc getGoodPrime mix polyred} +\condata{PFOTOOLS}{PointsOfFiniteOrderTools}{}{badNum doubleDisc +getGoodPrime mix polyred} % \condata{PFO}{PointsOfFiniteOrder}{}{order torsion? torsionIfCan} % -\condata{POLTOPOL}{PolToPol}{}{dmpToNdmp dmpToP ndmpToDmp ndmpToP pToDmp pToNdmp} +\condata{POLTOPOL}{PolToPol}{}{dmpToNdmp dmpToP ndmpToDmp ndmpToP +pToDmp pToNdmp} % \condata{PGROEB}{PolyGroebner}{}{lexGroebner totalGroebner} % @@ -67895,14 +69187,18 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{POLYLIFT}{PolynomialCategoryLifting}{}{map} % -\condata{POLYCATQ}{PolynomialCategoryQuotientFunctions}{}{isExpt isPlus isPower isTimes mainVariable multivariate - univariate variables} +\condata{POLYCATQ}{PolynomialCategoryQuotientFunctions}{}{isExpt isPlus +isPower isTimes mainVariable multivariate univariate variables} % -\condata{PFBRU}{PolynomialFactorizationByRecursionUnivariate}{}{bivariateSLPEBR factorByRecursion factorSFBRlcUnit - factorSquareFreeByRecursion randomR solveLinearPolynomialEquationByRecursion} +\condata{PFBRU}{PolynomialFactorizationByRecursionUnivariate}{}\\ +{bivariateSLPEBR factorByRecursion factorSFBRlcUnit\\ +factorSquareFreeByRecursion randomR\\ +solveLinearPolynomialEquationByRecursion} % -\condata{PFBR}{PolynomialFactorizationByRecursion}{}{bivariateSLPEBR factorByRecursion factorSFBRlcUnit - factorSquareFreeByRecursion randomR solveLinearPolynomialEquationByRecursion} +\condata{PFBR}{PolynomialFactorizationByRecursion}{}\\ +{bivariateSLPEBR factorByRecursion factorSFBRlcUnit\\ +factorSquareFreeByRecursion randomR\\ +solveLinearPolynomialEquationByRecursion} % \condata{POLY2}{PolynomialFunctions2}{}{map} % @@ -67912,13 +69208,13 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{PINTERP}{PolynomialInterpolation}{}{interpolate} % -\condata{PNTHEORY}{PolynomialNumberTheoryFunctions}{}{bernoulli chebyshevT chebyshevU cyclotomic euler fixedDivisor - hermite laguerre legendre} +\condata{PNTHEORY}{PolynomialNumberTheoryFunctions}{}{bernoulli +chebyshevT chebyshevU cyclotomic euler fixedDivisor hermite laguerre legendre} % \condata{POLYROOT}{PolynomialRoots}{}{froot qroot rroot} % -\condata{SOLVEFOR}{PolynomialSolveByFormulas}{}{aCubic aLinear aQuadratic aQuartic aSolution cubic linear mapSolve - quadratic quartic solve} +\condata{SOLVEFOR}{PolynomialSolveByFormulas}{}{aCubic aLinear +aQuadratic aQuartic aSolution cubic linear mapSolve quadratic quartic solve} % \condata{PSQFR}{PolynomialSquareFree}{}{squareFree} % @@ -67932,12 +69228,14 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{ODEPRIM}{PrimitiveRatDE}{}{denomLODE} % -\condata{ODEPRRIC}{PrimitiveRatRicDE}{}{changevar constantCoefficientRicDE denomRicDE leadingCoefficientRicDE polyRicDE - singRicDE} +\condata{ODEPRRIC}{PrimitiveRatRicDE}{}\\ +{changevar constantCoefficientRicDE denomRicDE\\ +leadingCoefficientRicDE polyRicDE singRicDE} % \condata{PRINT}{PrintPackage}{}{print} % -\condata{INTPAF}{PureAlgebraicIntegration}{}{palgLODE palgRDE palgextint palgint palglimint} +\condata{INTPAF}{PureAlgebraicIntegration}{}{palgLODE palgRDE palgextint +palgint palglimint} % \condata{ODEPAL}{PureAlgebraicLODE}{}{algDsolve} % @@ -67947,10 +69245,11 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{QFCAT2}{QuotientFieldCategoryFunctions2}{}{map} % -\condata{REP}{RadicalEigenPackage}{}{eigenMatrix gramschmidt normalise orthonormalBasis radicalEigenvalues - radicalEigenvector radicalEigenvectors} +\condata{REP}{RadicalEigenPackage}{}{eigenMatrix gramschmidt normalise +orthonormalBasis radicalEigenvalues radicalEigenvector radicalEigenvectors} % -\condata{SOLVERAD}{RadicalSolvePackage}{}{contractSolve radicalRoots radicalSolve} +\condata{SOLVERAD}{RadicalSolvePackage}{}{contractSolve radicalRoots +radicalSolve} % \condata{RADUTIL}{RadixUtilities}{}{radix} % @@ -67964,7 +69263,8 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{RFFACT}{RationalFunctionFactor}{}{factor} % -\condata{INTRF}{RationalFunctionIntegration}{}{extendedIntegrate infieldIntegrate internalIntegrate limitedIntegrate} +\condata{INTRF}{RationalFunctionIntegration}{}{extendedIntegrate +infieldIntegrate internalIntegrate limitedIntegrate} % \condata{LIMITRF}{RationalFunctionLimitPackage}{}{complexLimit limit} % @@ -67972,15 +69272,18 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{SUMRF}{RationalFunctionSum}{}{sum} % -\condata{RF}{RationalFunction}{}{coerce eval mainVariable multivariate univariate variables} +\condata{RF}{RationalFunction}{}{coerce eval mainVariable multivariate +univariate variables} % -\condata{INTRAT}{RationalIntegration}{}{extendedint infieldint integrate limitedint} +\condata{INTRAT}{RationalIntegration}{}{extendedint infieldint integrate +limitedint} % \condata{ODERAT}{RationalLODE}{}{ratDsolve} % \condata{RATRET}{RationalRetractions}{}{rational rational? rationalIfCan} % -\condata{ODERTRIC}{RationalRicDE}{}{changevar constantCoefficientRicDE polyRicDE ricDsolve singRicDE} +\condata{ODERTRIC}{RationalRicDE}{}{changevar constantCoefficientRicDE +polyRicDE ricDsolve singRicDE} % \condata{RTODETLS}{RatODETools}{}{genericPolynomial} % @@ -68002,11 +69305,13 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{REPSQ}{RepeatedSquaring}{}{expt} % -\condata{REP1}{RepresentationPackage1}{}{antisymmetricTensors createGenericMatrix permutationRepresentation - symmetricTensors tensorProduct} +\condata{REP1}{RepresentationPackage1}{}{antisymmetricTensors +createGenericMatrix permutationRepresentation symmetricTensors tensorProduct} % -\condata{REP2}{RepresentationPackage2}{}{areEquivalent? completeEchelonBasis createRandomElement cyclicSubmodule - isAbsolutelyIrreducible? meatAxe scanOneDimSubspaces split standardBasisOfCyclicSubmodule} +\condata{REP2}{RepresentationPackage2}{}\\ +{areEquivalent? completeEchelonBasis createRandomElement\\ +cyclicSubmodule isAbsolutelyIrreducible? meatAxe\\ +scanOneDimSubspaces split standardBasisOfCyclicSubmodule} % \condata{RESLATC}{ResolveLatticeCompletion}{}{coerce} % @@ -68020,17 +69325,19 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{SAEFACT}{SimpleAlgebraicExtensionAlgFactor}{}{factor} % -\condata{DFLOATSFUN}{DoubleFloatSpecialFunctions}{}{Beta Gamma airyAi airyBi besselI besselJ besselK besselY digamma - hypergeometric0F1 logGamma polygamma} +\condata{DFLOATSFUN}{DoubleFloatSpecialFunctions}{}{Beta Gamma airyAi +airyBi besselI besselJ besselK besselY digamma hypergeometric0F1 logGamma +polygamma} % \condata{SCACHE}{SortedCache}{}{cache clearCache enterInCache} % \condata{SUP2}{SparseUnivariatePolynomialFunctions2}{}{map} % -\condata{SPECOUT}{SpecialOutputPackage}{}{outputAsFortran outputAsScript outputAsTex} +\condata{SPECOUT}{SpecialOutputPackage}{}{outputAsFortran outputAsScript +outputAsTex} % -\condata{MATSTOR}{StorageEfficientMatrixOperations}{}{{\tt **} copy! leftScalarTimes! minus! plus! power! - rightScalarTimes! times!} +\condata{MATSTOR}{StorageEfficientMatrixOperations}{}{{\tt **} copy! +leftScalarTimes! minus! plus! power! rightScalarTimes! times!} % \condata{STREAM1}{StreamFunctions1}{}{concat} % @@ -68038,26 +69345,32 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{STREAM3}{StreamFunctions3}{}{map} % -\condata{STTAYLOR}{StreamTaylorSeriesOperations}{}{{\tt *} {\tt +} {\tt -} {\tt /} addiag coerce compose deriv eval - evenlambert gderiv generalLambert int integers integrate invmultisect lagrange lambert lazyGintegrate lazyIntegrate - mapdiv mapmult monom multisect nlde oddintegers oddlambert power powern recip revert} +\condata{STTAYLOR}{StreamTaylorSeriesOperations}{}{{\tt *} {\tt +} {\tt -} +{\tt /} addiag coerce compose deriv eval evenlambert gderiv generalLambert +int integers integrate invmultisect lagrange lambert lazyGintegrate +lazyIntegrate mapdiv mapmult monom multisect nlde oddintegers +oddlambert power powern recip revert} % -\condata{STTF}{StreamTranscendentalFunctions}{}{{\tt **} acos acosh acot acoth acsc acsch asec asech asin asinh atan - atanh cos cosh cot coth csc csch exp log sec sech sin sincos sinh sinhcosh tan tanh} +\condata{STTF}{StreamTranscendentalFunctions}{}{{\tt **} acos acosh acot +acoth acsc acsch asec asech asin asinh atan atanh cos cosh cot coth csc +csch exp log sec sech sin sincos sinh sinhcosh tan tanh} % \condata{SUBRESP}{SubResultantPackage}{}{primitivePart subresultantVector} % \condata{SYMFUNC}{SymmetricFunctions}{}{symFunc} % -\condata{SGCF}{SymmetricGroupCombinatoricFunctions}{}{coleman inverseColeman listYoungTableaus makeYoungTableau - nextColeman nextLatticePermutation nextPartition numberOfImproperPartitions subSet unrankImproperPartitions0 - unrankImproperPartitions1} +\condata{SGCF}{SymmetricGroupCombinatoricFunctions}{}\\ +{coleman inverseColeman listYoungTableaus makeYoungTableau\\ +nextColeman nextLatticePermutation nextPartition\\ +numberOfImproperPartitions subSet unrankImproperPartitions0\\ +unrankImproperPartitions1} % \condata{ODESYS}{SystemODESolver}{}{solveInField triangulate} % \condata{SYSSOLP}{SystemSolvePackage}{}{solve triangularSystems} % -\condata{TABLBUMP}{TableauxBumpers}{}{bat bat1 bumprow bumptab bumptab1 inverse lex maxrow mr slex tab tab1 untab} +\condata{TABLBUMP}{TableauxBumpers}{}{bat bat1 bumprow bumptab bumptab1 +inverse lex maxrow mr slex tab tab1 untab} % \condata{TANEXP}{TangentExpansions}{}{tanAn tanNa tanSum} % @@ -68065,7 +69378,8 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{DRAWCURV}{TopLevelDrawFunctionsForAlgebraicCurves}{}{draw} % -\condata{DRAWCFUN}{TopLevelDrawFunctionsForCompiledFunctions}{}{draw makeObject recolor} +\condata{DRAWCFUN}{TopLevelDrawFunctionsForCompiledFunctions}{}{draw +makeObject recolor} % \condata{DRAW}{TopLevelDrawFunctions}{}{draw makeObject} % @@ -68073,12 +69387,17 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{INTHERTR}{TranscendentalHermiteIntegration}{}{HermiteIntegrate} % -\condata{INTTR}{TranscendentalIntegration}{}{expextendedint expintegrate expintfldpoly explimitedint primextendedint - primextintfrac primintegrate primintegratefrac primintfldpoly primlimintfrac primlimitedint} +\condata{INTTR}{TranscendentalIntegration}{}{expextendedint expintegrate +expintfldpoly explimitedint primextendedint primextintfrac primintegrate +primintegratefrac primintfldpoly primlimintfrac primlimitedint} % -\condata{TRMANIP}{TranscendentalManipulations}{}{cos2sec cosh2sech cot2tan cot2trig coth2tanh coth2trigh csc2sin - csch2sinh expand expandLog expandPower htrigs removeCosSq removeCoshSq removeSinSq removeSinhSq sec2cos sech2cosh - simplify simplifyExp sin2csc sinh2csch tan2cot tan2trig tanh2coth tanh2trigh} +\condata{TRMANIP}{TranscendentalManipulations}{}\\ +{cos2sec cosh2sech cot2tan cot2trig coth2tanh\\ +coth2trigh csc2sin csch2sinh expand expandLog\\ +expandPower htrigs removeCosSq removeCoshSq\\ +removeSinSq removeSinhSq sec2cos sech2cosh\\ +simplify simplifyExp sin2csc sinh2csch\\ +tan2cot tan2trig tanh2coth tanh2trigh} % \condata{RDETR}{TranscendentalRischDE}{}{DSPDE SPDE baseRDE expRDE primRDE} % @@ -68086,52 +69405,67 @@ $\hbox{{\rm op}}_{j}$ & is an operation exported by the package. % \condata{SOLVETRA}{TransSolvePackage}{}{solve} % -\condata{TRIMAT}{TriangularMatrixOperations}{}{LowTriBddDenomInv UpTriBddDenomInv} +\condata{TRIMAT}{TriangularMatrixOperations}{}{LowTriBddDenomInv +UpTriBddDenomInv} % -\condata{TRIGMNIP}{TrigonometricManipulations}{}{complexElementary complexNormalize imag real real? trigs} +\condata{TRIGMNIP}{TrigonometricManipulations}{}{complexElementary +complexNormalize imag real real? trigs} % -\condata{TUBETOOL}{TubePlotTools}{}{{\tt *} {\tt +} {\tt -} cosSinInfo cross dot loopPoints point unitVector} +\condata{TUBETOOL}{TubePlotTools}{}{{\tt *} {\tt +} {\tt -} cosSinInfo +cross dot loopPoints point unitVector} % -\condata{CLIP}{TwoDimensionalPlotClipping}{}{clip clipParametric clipWithRanges} +\condata{CLIP}{TwoDimensionalPlotClipping}{}{clip clipParametric +clipWithRanges} % \condata{TWOFACT}{TwoFactorize}{}{generalSqFr generalTwoFactor twoFactor} % -\condata{UNIFACT}{UnivariateFactorize}{}{factor factorSquareFree genFact henselFact henselfact quadratic sqroot - trueFactors} +\condata{UNIFACT}{UnivariateFactorize}{}{factor factorSquareFree genFact +henselFact henselfact quadratic sqroot trueFactors} % \condata{ULS2}{UnivariateLaurentSeriesFunctions2}{}{map} % \condata{UPOLYC2}{UnivariatePolynomialCategoryFunctions2}{}{map} % -\condata{UPCDEN}{UnivariatePolynomialCommonDenominator}{}{clearDenominator commonDenominator splitDenominator} +\condata{UPCDEN}{UnivariatePolynomialCommonDenominator}{}{clearDenominator +commonDenominator splitDenominator} % \condata{UP2}{UnivariatePolynomialFunctions2}{}{map} % -\condata{UPSQFREE}{UnivariatePolynomialSquareFree}{}{BumInSepFFE squareFree squareFreePart} +\condata{UPSQFREE}{UnivariatePolynomialSquareFree}{} +{BumInSepFFE\\ +squareFree squareFreePart} % \condata{UPXS2}{UnivariatePuiseuxSeriesFunctions2}{}{map} % \condata{UTS2}{UnivariateTaylorSeriesFunctions2}{}{map} % -\condata{UTSODE}{UnivariateTaylorSeriesODESolver}{}{mpsode ode ode1 ode2 stFunc1 stFunc2 stFuncN} +\condata{UTSODE}{UnivariateTaylorSeriesODESolver}{}{mpsode ode ode1 ode2 +stFunc1 stFunc2 stFuncN} % \condata{UNISEG2}{UniversalSegmentFunctions2}{}{map} % -\condata{UDPO}{UserDefinedPartialOrdering}{}{getOrder largest less? more? setOrder userOrdered?} +\condata{UDPO}{UserDefinedPartialOrdering}{}{getOrder largest less? more? +setOrder userOrdered?} % -\condata{UDVO}{UserDefinedVariableOrdering}{}{getVariableOrder resetVariableOrder setVariableOrder} +\condata{UDVO}{UserDefinedVariableOrdering}{}{getVariableOrder +resetVariableOrder setVariableOrder} % \condata{VECTOR2}{VectorFunctions2}{}{map reduce scan} % -\condata{VIEWDEF}{ViewDefaultsPackage}{}{axesColorDefault lineColorDefault pointColorDefault pointSizeDefault - tubePointsDefault tubeRadiusDefault unitsColorDefault var1StepsDefault var2StepsDefault viewDefaults viewPosDefault - viewSizeDefault viewWriteAvailable viewWriteDefault} +\condata{VIEWDEF}{ViewDefaultsPackage}{} +{axes\-Color\-Default line\-Color\-Default point\-Color\-Default\\ +point\-Size\-Default tube\-Points\-Default tube\-Radius\-Default\\ +units\-Color\-Default var1Steps\-Default var2\-StepsDefault\\ +view\-Defaults view\-PosDefault view\-SizeDefault\\ +view\-WriteAvailable view\-WriteDefault} % \condata{VIEW}{ViewportPackage}{}{coerce drawCurves graphCurves} % -\condata{WEIER}{WeierstrassPreparation}{}{cfirst clikeUniv crest qqq sts2stst weierstrass} +\condata{WEIER}{WeierstrassPreparation}{}{cfirst clikeUniv crest qqq +sts2stst weierstrass} % -\condata{WFFINTBS}{WildFunctionFieldIntegralBasis}{}{integralBasis listSquaredFactors} +\condata{WFFINTBS}{WildFunctionFieldIntegralBasis}{}{integralBasis +listSquaredFactors} % % % ---------------------------------------------------------------------- @@ -68171,7 +69505,6 @@ in the input area on the main Browse menu and then click on \def\colx#1#2#3{{[#1,#2,\ldots,#3]}} \def\col#1#2{{[#1,\ldots,]}} \def\code#1{{\tt #1}} -\def\Unix{{\bf Unix}} \def\Script{IBM SCRIPT Formula Formatter} \def\smallbreak{{\hfill{\break}}} @@ -68205,7 +69538,8 @@ in the input area on the main Browse menu and then click on %#1 name #2 number of args #3 sig #4 con #5 documentation \hyphenpenalty=1000 \exhyphenpenalty=1000 - \par\vskip 4pt\optitle{#1}\nopagebreak\par\vskip -\parskip\vskip 2pt\nopagebreak\noindent% + \par\vskip 4pt\optitle{#1}\nopagebreak\par\vskip -\parskip% + \vskip 2pt\nopagebreak\noindent% {\def\TYsize{\SMTYfont}#5}\par}} \def\mathOrSpad#1{{$#1$}} @@ -68231,7 +69565,6 @@ in the input area on the main Browse menu and then click on \fussy - \keydata{\keyop{\#}aggregate}{1}{(\$)->NonNegativeInteger}{Aggregate} {\smath{\# a} returns the number of items in \smath{a}. } @@ -68240,8 +69573,11 @@ in the input area on the main Browse menu and then click on {\smath{x**y} returns \smath{x} to the power \smath{y}. Also, this operation returns, if \smath{x} is: \begin{simpleList} -\item an equation: a new equation by raising both sides of \smath{x} to the power \smath{y}. -\item a float or small float: \smath{\mbox{\bf sign}\opLeftPren{}x\opRightPren{}}\smath{\mbox{\bf exp}\opLeftPren{}y \log(|x|)\opRightPren{}}. +\item an equation: a new equation by raising both sides of +\smath{x} to the power \smath{y}. +\item a float or small float: +\smath{\mbox{\bf sign}\opLeftPren{}x\opRightPren{}} +\smath{\mbox{\bf exp}\opLeftPren{}y \log(|x|)\opRightPren{}}. \end{simpleList} See also \axiomType{InputForm} and \axiomType{OutputForm}. } @@ -68250,14 +69586,17 @@ See also \axiomType{InputForm} and \axiomType{OutputForm}. {\opkey{The binary operator \smath{*} denotes multiplication. Its meaning depends on the type of its arguments:} \begin{simpleList} -\item if \smath{x} and \smath{y} are members of a ring (more generally, a domain of -category \axiomType{SemiGroup}), \smath{x*y} returns the product of \smath{x} and \smath{y}. +\item if \smath{x} and \smath{y} are members of a ring (more generally, +a domain of +category \axiomType{SemiGroup}), \smath{x*y} returns the product of +\smath{x} and \smath{y}. \item if \smath{r} is an integer and \smath{x} is an element of a ring, or if \smath{r} is a scalar and \smath{x} is a vector, matrix, or direct product: \smath{r*x} returns the left multiplication of \smath{r} by \smath{x}. More generally, if \smath{r} is an integer and \smath{x} is a member of a domain of category \axiomType{AbelianMonoid}, -or \smath{r} is a member of domain \smath{R} and \smath{x} is a domain of category +or \smath{r} is a member of domain \smath{R} and \smath{x} is a +domain of category \axiomType{Module(R)}, \axiomType{GradedModule}, or \axiomType{GradedAlgebra} defined over \smath{R}, \smath{r*x} returns the left multiplication of \smath{r} by \smath{x}. @@ -68273,7 +69612,8 @@ If \smath{v} is column vector, \smath{A*v} returns the product of \smath{A} with column vector \smath{v}. In each case, the operation calls \spadfun{error} if the dimensions are incompatible. -\item if \smath{s} is an integer or float and \smath{c} is a color, \smath{s*c} returns +\item if \smath{s} is an integer or float and \smath{c} is a color, +\smath{s*c} returns the weighted shade scaled by \smath{s}. \item if \smath{s} and \smath{t} are Cartesian tensors, \smath{s*t} is the inner product of the tensors \smath{s} and \smath{t}. @@ -68306,7 +69646,8 @@ and \spadfun{error} otherwise. \item vectors: the component-wise sum if \smath{x} and \smath{y} have the same length, and \spadfun{error} otherwise. \item colors: a color which additively mixes colors \smath{x} and \smath{y}. -\item equations: an equation created by adding the respective left- and right-hand +\item equations: an equation created by adding the respective +left- and right-hand sides of \smath{x} and \smath{y}. \item elements of graded module or algebra: the sum of \smath{x} and \smath{y} in the module of elements @@ -68317,7 +69658,6 @@ See also \axiomType{FreeAbelianMonoidCategory}, \axiomType{InputForm} and \axiomType{OutputForm}. } - \keydata{\optinit{x}\keyop{-}y}{1}{(\$)->\$}{AbelianGroup} {\smath{- x} returns the negative (additive inverse) of \smath{x}, where \smath{x} is a member of a ring @@ -68329,25 +69669,30 @@ Also, \smath{x} may be a matrix, a vector, or a member of a graded module. See also \axiomType{CancellationAbelianMonoid} and \axiomType{OutputForm}. } - \keydata{x\keyop{/}y}{2}{(\$, \$)->\$}{Group} {\opkey{The binary operator \smath{/} generally denotes binary division. Its precise meaning, however, depends on the type of its arguments:} \begin{simpleList} -\item \smath{x} and \smath{y} are elements of a group: multiplies \smath{x} by the inverse \smath{\mbox{\bf inv}\opLeftPren{}y\opRightPren{}} of \smath{y}. -\item \smath{x} and \smath{y} are elements of a field: divides \smath{x} by \smath{y}, calling +\item \smath{x} and \smath{y} are elements of a group: multiplies +\smath{x} by the inverse +\smath{\mbox{\bf inv}\opLeftPren{}y\opRightPren{}} of \smath{y}. +\item \smath{x} and \smath{y} are elements of a field: divides +\smath{x} by \smath{y}, calling \spadfun{error} if \smath{y=0}. -\item \smath{x} is a matrix or a vector and \smath{y} is a scalar: divides each element of \smath{x} by \smath{y}. -\item \smath{x} and \smath{y} are floats or small floats: divides \smath{x} by \smath{y}. -\item \smath{x} and \smath{y} are fractions: returns the quotient as another fraction. +\item \smath{x} is a matrix or a vector and \smath{y} is a scalar: +divides each element of \smath{x} by \smath{y}. +\item \smath{x} and \smath{y} are floats or small floats: divides +\smath{x} by \smath{y}. +\item \smath{x} and \smath{y} are fractions: returns the quotient +as another fraction. \item \smath{x} and \smath{y} are polynomials: returns the quotient as a fraction of polynomials. \end{simpleList} -See also \axiomType{AbelianMonoidRing}, \axiomType{InputForm} and \axiomType{OutputForm}. +See also \axiomType{AbelianMonoidRing}, \axiomType{InputForm} and +\axiomType{OutputForm}. } - \keydata{\keyop{0}}{0}{()->\$}{AbelianMonoid}{The additive identity element for a ring (more generally, for an \axiomType{AbelianMonoid}). @@ -68369,13 +69714,15 @@ See also \axiomType{InputForm}. Its meaning depends on the type of its arguments. The operation \smath{x < y} for \smath{x} and \smath{y}:} \begin{simpleList} -\item elements of a totally ordered set (such as integer and floating point numbers): +\item elements of a totally ordered set (such as integer and +floating point numbers): tests if \smath{x} is less than y. \item sets: tests if all the elements of \smath{x} are also elements of y. \item permutations: tests if \smath{x} is less than \smath{y}; see \axiomType{Permutation} for details. Note: this order relation is total if and only -if the underlying domain is of category \axiomType{Finite} or \axiomType{OrderedSet}. +if the underlying domain is of category \axiomType{Finite} or +\axiomType{OrderedSet}. \item permutation groups: tests if \smath{x} is a proper subgroup of y. \item See also \axiomType{OutputForm}. \end{simpleList} @@ -68393,11 +69740,14 @@ If the value is expected to be:} } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{abelianGroup}}\opLeftPren{}{\it listOfPositiveIntegers}\opRightPren{}% +\opdata{{\mbox{\axiomFun{abelianGroup}}\opLeftPren{} +{\it listOfPositiveIntegers}\opRightPren{}% }% }% -{1}{(List(PositiveInteger))->PermutationGroup(Integer)}{PermutationGroupExamples} -{\smath{\mbox{\bf abelianGroup}\opLeftPren{}[p_1, \allowbreak{} \ldots, p_k]\opRightPren{}} constructs the abelian +{1}{(List(PositiveInteger))->PermutationGroup(Integer)} +{PermutationGroupExamples} +{\smath{\mbox{\bf abelianGroup}\opLeftPren{}[p_1, +\allowbreak{} \ldots, p_k]\opRightPren{}} constructs the abelian group that is the direct product of cyclic groups with order \smath{p_i}. } @@ -68407,7 +69757,8 @@ group that is the direct product of cyclic groups with order }% }% {0}{()->Boolean}{FunctionFieldCategory} -{\smath{\mbox{\bf absolutelyIrreducible?}\opLeftPren{}\opRightPren{}\$F} tests if the algebraic +{\smath{\mbox{\bf absolutelyIrreducible?}\opLeftPren{}\opRightPren{}\$F} +tests if the algebraic function field \smath{F} remains irreducible over the algebraic closure of the ground field. \seeType{FunctionFieldCategory} @@ -68418,8 +69769,10 @@ remains irreducible over the algebraic closure of the ground field. }% }% {1}{(\$)->R}{ComplexCategory} - {\smath{\mbox{\bf abs}\opLeftPren{}x\opRightPren{}} returns the absolute value of \smath{x}, -an element of an \axiomType{OrderedRing} or a \axiomType{Complex}, \axiomType{Quaternion}, + {\smath{\mbox{\bf abs}\opLeftPren{}x\opRightPren{}} returns the +absolute value of \smath{x}, +an element of an \axiomType{OrderedRing} or a \axiomType{Complex}, +\axiomType{Quaternion}, or \axiomType{Octonion} value. } @@ -68429,15 +69782,21 @@ or \axiomType{Octonion} value. }% }% {1}{(K)->Union(K, \mbox{\tt "failed"})}{PartialTranscendentalFunctions} -{\opkey{Argument \smath{x} can be a \axiomType{Complex}, \axiomType{Float}, \axiomType{DoubleFloat}, or +{\opkey{Argument \smath{x} can be a \axiomType{Complex}, +\axiomType{Float}, \axiomType{DoubleFloat}, or \axiomType{Expression} value or a series.} - \newitem\smath{\mbox{\bf acos}\opLeftPren{}x\opRightPren{}} returns the arccosine of \smath{x}. - \newitem\smath{\mbox{\bf acosIfCan}\opLeftPren{}x\opRightPren{}} returns \smath{\mbox{\bf acos}\opLeftPren{}x\opRightPren{}} if possible, and \mbox{\tt "failed"} otherwise. + \newitem\smath{\mbox{\bf acos}\opLeftPren{}x\opRightPren{}} +returns the arccosine of \smath{x}. + \newitem\smath{\mbox{\bf acosIfCan}\opLeftPren{}x\opRightPren{}} +returns \smath{\mbox{\bf acos}\opLeftPren{}x\opRightPren{}} +if possible, and \mbox{\tt "failed"} otherwise. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{acosh}}\opLeftPren{}{\it expression}\opRightPren{}% -\opand \mbox{\axiomFun{acoshIfCan}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{acosh}}\opLeftPren{} +{\it expression}\opRightPren{}% +\opand \mbox{\axiomFun{acoshIfCan}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(K)->Union(K, \mbox{\tt "failed"})}{PartialTranscendentalFunctions} @@ -68445,10 +69804,12 @@ or \axiomType{Octonion} value. \axiomType{Float}, \axiomType{DoubleFloat}, or \axiomType{Expression} value or a series. } -\newitem\smath{\mbox{\bf acosh}\opLeftPren{}x\opRightPren{}} returns the hyperbolic arccosine of +\newitem\smath{\mbox{\bf acosh}\opLeftPren{}x\opRightPren{}} +returns the hyperbolic arccosine of \smath{x}. \newitem -\smath{\mbox{\bf acoshIfCan}\opLeftPren{}x\opRightPren{}} returns \smath{\mbox{\bf acosh}\opLeftPren{}x\opRightPren{}} if possible, and +\smath{\mbox{\bf acoshIfCan}\opLeftPren{}x\opRightPren{}} +returns \smath{\mbox{\bf acosh}\opLeftPren{}x\opRightPren{}} if possible, and \mbox{\tt "failed"} otherwise. } @@ -68458,11 +69819,15 @@ or \axiomType{Octonion} value. }% }% {1}{(K)->Union(K, \mbox{\tt "failed"})}{PartialTranscendentalFunctions} - {\opkey{Argument \smath{x} can be a \axiomType{Complex}, \axiomType{Float}, \axiomType{DoubleFloat}, or + {\opkey{Argument \smath{x} can be a \axiomType{Complex}, +\axiomType{Float}, \axiomType{DoubleFloat}, or \axiomType{Expression} value or a series. } - \newitem\smath{\mbox{\bf acoth}\opLeftPren{}x\opRightPren{}} returns the hyperbolic arccotangent of \smath{x}. + \newitem\smath{\mbox{\bf acoth}\opLeftPren{}x\opRightPren{}} +returns the hyperbolic arccotangent of \smath{x}. \newitem - \smath{\mbox{\bf acothIfCan}\opLeftPren{}x\opRightPren{}} returns \smath{\mbox{\bf acoth}\opLeftPren{}x\opRightPren{}} if possible, and \mbox{\tt "failed"} otherwise. + \smath{\mbox{\bf acothIfCan}\opLeftPren{}x\opRightPren{}} +returns \smath{\mbox{\bf acoth}\opLeftPren{}x\opRightPren{}} if possible, and +\mbox{\tt "failed"} otherwise. } % ---------------------------------------------------------------------- @@ -68471,11 +69836,14 @@ or \axiomType{Octonion} value. }% }% {1}{(K)->Union(K, \mbox{\tt "failed"})}{PartialTranscendentalFunctions} - {\opkey{Argument \smath{x} can be a \axiomType{Complex}, \axiomType{Float}, \axiomType{DoubleFloat}, or + {\opkey{Argument \smath{x} can be a \axiomType{Complex}, +\axiomType{Float}, \axiomType{DoubleFloat}, or \axiomType{Expression} value or a series. } - \newitem\smath{\mbox{\bf acot}\opLeftPren{}x\opRightPren{}} returns the arccotangent of \smath{x}. + \newitem\smath{\mbox{\bf acot}\opLeftPren{}x\opRightPren{}} +returns the arccotangent of \smath{x}. \newitem -\smath{\mbox{\bf acotIfCan}\opLeftPren{}x\opRightPren{}} returns \smath{\mbox{\bf acot}\opLeftPren{}x\opRightPren{}} if possible, and +\smath{\mbox{\bf acotIfCan}\opLeftPren{}x\opRightPren{}} +returns \smath{\mbox{\bf acot}\opLeftPren{}x\opRightPren{}} if possible, and \mbox{\tt "failed"} otherwise. } @@ -68489,10 +69857,12 @@ or \axiomType{Octonion} value. \axiomType{Float}, \axiomType{DoubleFloat}, or \axiomType{Expression} value or a series. } -\newitem\smath{\mbox{\bf acsch}\opLeftPren{}x\opRightPren{}} returns the hyperbolic arccosecant of +\newitem\smath{\mbox{\bf acsch}\opLeftPren{}x\opRightPren{}} +returns the hyperbolic arccosecant of \smath{x}. \newitem -\smath{\mbox{\bf acschIfCan}\opLeftPren{}x\opRightPren{}} returns \smath{\mbox{\bf acsch}\opLeftPren{}x\opRightPren{}} if possible, and +\smath{\mbox{\bf acschIfCan}\opLeftPren{}x\opRightPren{}} +returns \smath{\mbox{\bf acsch}\opLeftPren{}x\opRightPren{}} if possible, and \mbox{\tt "failed"} otherwise. } @@ -68502,52 +69872,71 @@ or \axiomType{Octonion} value. }% }% {1}{(K)->Union(K, \mbox{\tt "failed"})}{PartialTranscendentalFunctions} - {\opkey{Argument \smath{x} can be a \axiomType{Complex}, \axiomType{Float}, \axiomType{DoubleFloat}, or + {\opkey{Argument \smath{x} can be a \axiomType{Complex}, +\axiomType{Float}, \axiomType{DoubleFloat}, or \axiomType{Expression} value or a series. } - \newitem\smath{\mbox{\bf acsc}\opLeftPren{}x\opRightPren{}} returns the arccosecant of \smath{x}. + \newitem\smath{\mbox{\bf acsc}\opLeftPren{}x\opRightPren{}} +returns the arccosecant of \smath{x}. \newitem - \smath{\mbox{\bf acscIfCan}\opLeftPren{}x\opRightPren{}} returns \smath{\mbox{\bf acsc}\opLeftPren{}x\opRightPren{}} if possible, and \mbox{\tt "failed"} otherwise. + \smath{\mbox{\bf acscIfCan}\opLeftPren{}x\opRightPren{}} +returns \smath{\mbox{\bf acsc}\opLeftPren{}x\opRightPren{}} if possible, +and \mbox{\tt "failed"} otherwise. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{adaptive}}\opLeftPren{}{\it \opt{boolean}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{adaptive}}\opLeftPren{} +{\it \opt{boolean}}\opRightPren{}% }% }% {0}{()->Boolean}{GraphicsDefaults} - {\smath{\mbox{\bf adaptive}\opLeftPren{}\opRightPren{}} tests whether plotting will be done adaptively. + {\smath{\mbox{\bf adaptive}\opLeftPren{}\opRightPren{}} +tests whether plotting will be done adaptively. \newitem - \smath{\mbox{\bf adaptive}\opLeftPren{}true\opRightPren{}} turns adaptive plotting on; \smath{\mbox{\bf adaptive}\opLeftPren{}false\opRightPren{}} turns it off. + \smath{\mbox{\bf adaptive}\opLeftPren{}true\opRightPren{}} +turns adaptive plotting on; +\smath{\mbox{\bf adaptive}\opLeftPren{}false\opRightPren{}} +turns it off. Note: this command can be expressed by the draw option \smath{adaptive == b}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{addmod}}\opLeftPren{}{\it integer}, \allowbreak{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{addmod}}\opLeftPren{} +{\it integer}, \allowbreak{}{\it integer}, +\allowbreak{}{\it integer}\opRightPren{}% }% }% {3}{(\$, \$, \$)->\$}{IntegerNumberSystem} -{\smath{\mbox{\bf addmod}\opLeftPren{}a, \allowbreak{} b, \allowbreak{} p\opRightPren{}}, $0\le a, b
1$, means $a+b \mod p$. +{\smath{\mbox{\bf addmod}\opLeftPren{}a, +\allowbreak{} b, \allowbreak{} p\opRightPren{}}, $0\le a, b
1$, +means $a+b \mod p$. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{airyAi}}\opLeftPren{}{\it complexDoubleFloat}\opRightPren{}% -\opand \mbox{\axiomFun{airyBi}}\opLeftPren{}{\it complexDoubleFloat}\opRightPren{}% +\opdata{{\mbox{\axiomFun{airyAi}}\opLeftPren{} +{\it complexDoubleFloat}\opRightPren{}% +\opand \mbox{\axiomFun{airyBi}}\opLeftPren{} +{\it complexDoubleFloat}\opRightPren{}% }% }% {1}{(Complex(DoubleFloat))->Complex(DoubleFloat)}{DoubleFloatSpecialFunctions} -{\smath{\mbox{\bf airyAi}\opLeftPren{}x\opRightPren{}} is the Airy function ${\rm Ai}(x)$ satisfying the +{\smath{\mbox{\bf airyAi}\opLeftPren{}x\opRightPren{}} +is the Airy function ${\rm Ai}(x)$ satisfying the differential equation ${\rm Ai}''(x) - x {\rm Ai}(x) = 0$. \newitem - \smath{\mbox{\bf airyBi}\opLeftPren{}x\opRightPren{}} is the Airy function ${\rm Bi}(x)$ satisfying the differential equation + \smath{\mbox{\bf airyBi}\opLeftPren{}x\opRightPren{}} +is the Airy function ${\rm Bi}(x)$ satisfying the differential equation ${\rm Bi}''(x) - x {\rm Bi}(x) = 0$. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{Aleph}}\opLeftPren{}{\it nonNegativeInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{Aleph}}\opLeftPren{} +{\it nonNegativeInteger}\opRightPren{}% }% }% {1}{(NonNegativeInteger)->\$}{CardinalNumber} -{\smath{\mbox{\bf Aleph}\opLeftPren{}n\opRightPren{}} provides the named (infinite) cardinal number. +{\smath{\mbox{\bf Aleph}\opLeftPren{}n\opRightPren{}} provides the +named (infinite) cardinal number. } % ---------------------------------------------------------------------- @@ -68555,33 +69944,41 @@ ${\rm Bi}''(x) - x {\rm Bi}(x) = 0$. }% }% {1}{(\$)->Boolean}{ExtensionField} -{\smath{\mbox{\bf algebraic?}\opLeftPren{}a\opRightPren{}} tests whether an element \smath{a} is algebraic with respect to the ground field \smath{F}. +{\smath{\mbox{\bf algebraic?}\opLeftPren{}a\opRightPren{}} tests whether +an element \smath{a} is algebraic with respect to the ground field \smath{F}. } % ---------------------------------------------------------------------- \opdata{{\mbox{\axiomFun{alphabetic}}\opLeftPren{}\opRightPren{}% -\opand \mbox{\axiomFun{alphabetic?}}\opLeftPren{}{\it character}\opRightPren{}% +\opand \mbox{\axiomFun{alphabetic?}}\opLeftPren{} +{\it character}\opRightPren{}% }% }% {1}{(\$)->Boolean}{Character} -{\smath{\mbox{\bf alphabetic}\opLeftPren{}\opRightPren{}} returns the class of all characters +{\smath{\mbox{\bf alphabetic}\opLeftPren{}\opRightPren{}} +returns the class of all characters \smath{ch} for which \smath{\mbox{\bf alphabetic?}\opLeftPren{}ch\opRightPren{}} is \smath{true}. \newitem -\smath{\mbox{\bf alphabetic?}\opLeftPren{}ch\opRightPren{}} tests if \smath{ch} is an alphabetic +\smath{\mbox{\bf alphabetic?}\opLeftPren{}ch\opRightPren{}} +tests if \smath{ch} is an alphabetic character a$\ldots$z, A$\ldots$B. } % ---------------------------------------------------------------------- \opdata{{\mbox{\axiomFun{alphanumeric}}\opLeftPren{}\opRightPren{}% -\opand \mbox{\axiomFun{alphanumeric?}}\opLeftPren{}{\it character}\opRightPren{}% +\opand \mbox{\axiomFun{alphanumeric?}}\opLeftPren{} +{\it character}\opRightPren{}% }% }% {1}{(\$)->Boolean}{Character} -{\smath{\mbox{\bf alphanumeric}\opLeftPren{}\opRightPren{}} returns the class of all characters \smath{ch} for which +{\smath{\mbox{\bf alphanumeric}\opLeftPren{}\opRightPren{}} returns +the class of all characters \smath{ch} for which \smath{\mbox{\bf alphanumeric?}\opLeftPren{}ch\opRightPren{}} is \smath{true}. \newitem - \smath{\mbox{\bf alphanumeric?}\opLeftPren{}ch\opRightPren{}} tests if \smath{ch} is either an alphabetic character a$\ldots$z, A$\ldots$B or digit 0$\ldots$9. + \smath{\mbox{\bf alphanumeric?}\opLeftPren{}ch\opRightPren{}} +tests if \smath{ch} is either an alphabetic character a$\ldots$z, +A$\ldots$B or digit 0$\ldots$9. } % ---------------------------------------------------------------------- @@ -68589,17 +69986,20 @@ character a$\ldots$z, A$\ldots$B. }% }% { I -> SPOL RN}{}{} - {\smath{\mbox{\bf alternating}\opLeftPren{}n\opRightPren{}} is the cycle index of the + {\smath{\mbox{\bf alternating}\opLeftPren{}n\opRightPren{}} +is the cycle index of the alternating group of degree \smath{n}. See \axiomType{CycleIndicators} for details. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{alternatingGroup}}\opLeftPren{}{\it listOfIntegers}\opRightPren{}% +\opdata{{\mbox{\axiomFun{alternatingGroup}}\opLeftPren{} +{\it listOfIntegers}\opRightPren{}% }% }% {1}{(List(Integer))->PermutationGroup(Integer)}{PermutationGroupExamples} -{\smath{\mbox{\bf alternatingGroup}\opLeftPren{}li\opRightPren{}} constructs the alternating group +{\smath{\mbox{\bf alternatingGroup}\opLeftPren{}li\opRightPren{}} +constructs the alternating group acting on the integers in the list \smath{li}. If \smath{n} is odd, the generators are in general the \smath{(n-2)}-cycle \smath{(li.3, \ldots, li.n)} and the @@ -68608,7 +70008,8 @@ If \smath{n} is even, the generators are the product of the 2-cycle \smath{(li.1, li.2)} with \smath{(n-2)}-cycle \smath{(li.3, \ldots, li.n)} and the 3-cycle \smath{(li.1, li.2, li.3)}. Duplicates in the list will be removed. -\newitem\smath{\mbox{\bf alternatingGroup}\opLeftPren{}n\opRightPren{}} constructs the alternating +\newitem\smath{\mbox{\bf alternatingGroup}\opLeftPren{}n\opRightPren{}} +constructs the alternating group $A_n$ acting on the integers \smath{1, \ldots, n}. If \smath{n} is odd, the generators are in general the \smath{(n-2)}-cycle \smath{(3, \ldots, n)} and the 3-cycle \smath{(1, 2, 3)}. @@ -68622,14 +70023,16 @@ If \smath{n} is even, the generators are the product of the 2-cycle }% }% {0}{()->Boolean}{FiniteRankNonAssociativeAlgebra} -{\smath{\mbox{\bf alternative?}\opLeftPren{}\opRightPren{}\$F} tests if $2 \mbox{\bf associator}(a, a, b) = 0 = +{\smath{\mbox{\bf alternative?}\opLeftPren{}\opRightPren{}\$F} +tests if $2 \mbox{\bf associator}(a, a, b) = 0 = 2 \mbox{\bf associator}(a, b, b)$ for all \smath{a}, \smath{b} in the algebra \smath{F}. Note: in general, \smath{2 a=0} does not necessarily imply \smath{a=0}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{and}}\opLeftPren{}{\it boolean}, \allowbreak{}{\it boolean}\opRightPren{}% +\opdata{{\mbox{\axiomFun{and}}\opLeftPren{} +{\it boolean}, \allowbreak{}{\it boolean}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{BitAggregate} @@ -68644,21 +70047,25 @@ and} of the small integers \smath{si_1} and \smath{si_2}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{approximants}}\opLeftPren{}{\it continuedFraction}\opRightPren{}% +\opdata{{\mbox{\axiomFun{approximants}}\opLeftPren{} +{\it continuedFraction}\opRightPren{}% }% }% {1}{(\$)->Stream(Fraction(R))}{ContinuedFraction} -{\smath{\mbox{\bf approximants}\opLeftPren{}cf\opRightPren{}} returns the stream of approximants of the +{\smath{\mbox{\bf approximants}\opLeftPren{}cf\opRightPren{}} +returns the stream of approximants of the continued fraction \smath{cf}. If the continued fraction is finite, then the stream will be infinite and periodic with period 1.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{approximate}}\opLeftPren{}{\it series}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{approximate}}\opLeftPren{} +{\it series}, \allowbreak{}{\it integer}\opRightPren{}% }% }% {2}{(\$, Expon)->Coef}{UnivariatePowerSeriesCategory} -{\smath{\mbox{\bf approximate}\opLeftPren{}s, \allowbreak{} r\opRightPren{}} returns a truncated power series as an +{\smath{\mbox{\bf approximate}\opLeftPren{}s, +\allowbreak{} r\opRightPren{}} returns a truncated power series as an expression in the coefficient domain of the power series. For example, if \smath{R} is \axiomType{Fraction Polynomial Integer} and \smath{s} is a series over \smath{R}, then approximate(s, r) @@ -68667,21 +70074,25 @@ returns the power series \smath{s} truncated after the exponent } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{approximate}}\opLeftPren{}{\it pAdicInteger}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{approximate}}\opLeftPren{} +{\it pAdicInteger}, \allowbreak{}{\it integer}\opRightPren{}% }% }% {2}{(\$, Integer)->Integer}{PAdicIntegerCategory} -{\smath{\mbox{\bf approximate}\opLeftPren{}x, \allowbreak{} n\opRightPren{}}, \smath{x} a p-adic integer, returns an +{\smath{\mbox{\bf approximate}\opLeftPren{}x, +\allowbreak{} n\opRightPren{}}, \smath{x} a p-adic integer, returns an integer \smath{y} such that \smath{y = x \mod p^n} when \smath{n} is positive, and 0 otherwise. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{approxNthRoot}}\opLeftPren{}{\it integer}, \allowbreak{}{\it nonNegativeInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{approxNthRoot}}\opLeftPren{} +{\it integer}, \allowbreak{}{\it nonNegativeInteger}\opRightPren{}% }% }% {2}{(I, NonNegativeInteger)->I}{IntegerRoots} -{\smath{\mbox{\bf approxNthRoot}\opLeftPren{}n, \allowbreak{} p\opRightPren{}} returns an integer approximation +{\smath{\mbox{\bf approxNthRoot}\opLeftPren{}n, +\allowbreak{} p\opRightPren{}} returns an integer approximation \smath{i} to \smath{n^{1/p}} such that \smath{-1 < i - n^{1/p} < 1}. } @@ -68691,18 +70102,23 @@ is positive, and 0 otherwise. }% }% {2}{(I, NonNegativeInteger)->I}{IntegerRoots} -{\smath{\mbox{\bf approxSqrt}\opLeftPren{}n\opRightPren{}} returns an integer approximation \smath{i} +{\smath{\mbox{\bf approxSqrt}\opLeftPren{}n\opRightPren{}} returns an +integer approximation \smath{i} to \smath{\sqrt(n)} such that \smath{-1 < i - \sqrt(n) < 1}. A variable precision Newton iteration is used with running time \smath{O( \log(n)^2 )}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{areEquivalent?}}\opLeftPren{}{\it listOfMatrices}, \allowbreak{}{\it listOfMatrices}\allowbreak $\,[$ , \allowbreak{}{\it randomElements?}, \allowbreak{}{\it numberOfTries}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{areEquivalent?}}\opLeftPren{}{\it listOfMatrices}, +\allowbreak{}{\it listOfMatrices}\allowbreak $\,[$ , \allowbreak{} +{\it randomElements?}, \allowbreak{}{\it numberOfTries}$]$\opRightPren{}% }% }% -{4}{(List(Matrix(R)), List(Matrix(R)), Boolean, Integer)->Matrix(R)}{RepresentationPackage2} -{\smath{\mbox{\bf areEquivalent?}\opLeftPren{}lM, \allowbreak{} lM', \allowbreak{} b, \allowbreak{} numberOfTries\opRightPren{}} tests whether the +{4}{(List(Matrix(R)), List(Matrix(R)), Boolean, Integer)-> +Matrix(R)}{RepresentationPackage2} +{\smath{\mbox{\bf areEquivalent?}\opLeftPren{}lM, +\allowbreak{} lM', \allowbreak{} b, \allowbreak{} numberOfTries\opRightPren{}} tests whether the two lists of matrices, assumed of the same square shape, can be simultaneously conjugated by a non-singular matrix. If these matrices represent the same group generators, the @@ -68711,57 +70127,76 @@ The algorithm tries \smath{numberOfTries} times to create elements in the generated algebras in the same fashion. For details, consult HyperDoc. \newitem - \smath{\mbox{\bf areEquivalent?}\opLeftPren{}aG0, \allowbreak{} aG1, \allowbreak{} numberOfTries\opRightPren{}} calls \smath{\mbox{\bf areEquivalent?}\opLeftPren{}aG0, \allowbreak{} aG1, \allowbreak{} true, \allowbreak{} 25\opRightPren{}}. + \smath{\mbox{\bf areEquivalent?}\opLeftPren{}aG0, +\allowbreak{} aG1, \allowbreak{} numberOfTries\opRightPren{}} calls +\smath{\mbox{\bf areEquivalent?}\opLeftPren{}aG0, \allowbreak{} aG1, +\allowbreak{} true, \allowbreak{} 25\opRightPren{}}. \newitem - \smath{\mbox{\bf areEquivalent?}\opLeftPren{}aG0, \allowbreak{} aG1\opRightPren{}} calls \smath{\mbox{\bf areEquivalent?}\opLeftPren{}aG0, \allowbreak{} aG1, \allowbreak{} true, \allowbreak{} 25\opRightPren{}}. + \smath{\mbox{\bf areEquivalent?}\opLeftPren{}aG0, +\allowbreak{} aG1\opRightPren{}} calls +\smath{\mbox{\bf areEquivalent?}\opLeftPren{}aG0, +\allowbreak{} aG1, \allowbreak{} true, \allowbreak{} 25\opRightPren{}}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{argscript}}\opLeftPren{}{\it symbol}, \allowbreak{}{\it listOfOutputForms}\opRightPren{}% +\opdata{{\mbox{\axiomFun{argscript}}\opLeftPren{} +{\it symbol}, \allowbreak{}{\it listOfOutputForms}\opRightPren{}% }% }% {2}{(\$, List(OutputForm))->\$}{Symbol} -{\smath{\mbox{\bf argscript}\opLeftPren{}f, \allowbreak{} [o_1, \allowbreak{} \ldots, o_n]\opRightPren{}} returns a new symbol with \smath{f} with scripts +{\smath{\mbox{\bf argscript}\opLeftPren{}f, +\allowbreak{} [o_1, \allowbreak{} \ldots, o_n]\opRightPren{}} returns a new symbol +with \smath{f} with scripts \smath{o_1, \ldots, o_n}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{argument}}\opLeftPren{}{\it complexExpression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{argument}}\opLeftPren{} +{\it complexExpression}\opRightPren{}% }% }% {1}{(\$)->R}{ComplexCategory} -{\smath{\mbox{\bf argument}\opLeftPren{}c\opRightPren{}} returns the angle made by complex expression \smath{c} with +{\smath{\mbox{\bf argument}\opLeftPren{}c\opRightPren{}} +returns the angle made by complex expression \smath{c} with the positive real axis. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{arity}}\opLeftPren{}{\it basicOperator}\opRightPren{}% +\opdata{{\mbox{\axiomFun{arity}}\opLeftPren{} +{\it basicOperator}\opRightPren{}% }% }% {1}{(\$)->Union(NonNegativeInteger, \mbox{\tt "failed"})}{BasicOperator} -{\smath{\mbox{\bf arity}\opLeftPren{}op\opRightPren{}} returns \smath{n} if \smath{op} is +{\smath{\mbox{\bf arity}\opLeftPren{}op\opRightPren{}} +returns \smath{n} if \smath{op} is \smath{n}-ary, and \mbox{\tt "failed"} if \smath{op} has arbitrary arity. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{asec}}\opLeftPren{}{\it expression}\opRightPren{}% -\opand \mbox{\axiomFun{asecIfCan}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{asec}}\opLeftPren{} +{\it expression}\opRightPren{}% +\opand \mbox{\axiomFun{asecIfCan}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(K)->Union(K, \mbox{\tt "failed"})}{PartialTranscendentalFunctions} {\opkey{Argument \smath{x} can be a \axiomType{Complex}, \axiomType{Float}, \axiomType{DoubleFloat}, or \axiomType{Expression} value or a series.} -\newitem\smath{\mbox{\bf asec}\opLeftPren{}x\opRightPren{}} returns the arcsecant of \smath{x}. -\newitem\smath{\mbox{\bf asecIfCan}\opLeftPren{}x\opRightPren{}} returns \smath{\mbox{\bf asec}\opLeftPren{}x\opRightPren{}} if possible, +\newitem\smath{\mbox{\bf asec}\opLeftPren{}x\opRightPren{}} +returns the arcsecant of \smath{x}. +\newitem\smath{\mbox{\bf asecIfCan}\opLeftPren{}x\opRightPren{}} +returns \smath{\mbox{\bf asec}\opLeftPren{}x\opRightPren{}} if possible, and \mbox{\tt "failed"} otherwise. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{asech}}\opLeftPren{}{\it expression}\opRightPren{}% -\opand \mbox{\axiomFun{asechIfCan}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{asech}}\opLeftPren{} +{\it expression}\opRightPren{}% +\opand \mbox{\axiomFun{asechIfCan}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(K)->Union(K, \mbox{\tt "failed"})}{PartialTranscendentalFunctions} @@ -68769,16 +70204,19 @@ and \mbox{\tt "failed"} otherwise. \axiomType{Float}, \axiomType{DoubleFloat}, or \axiomType{Expression} value or a series.} \newitem -\smath{\mbox{\bf asech}\opLeftPren{}x\opRightPren{}} returns the hyperbolic arcsecant of \smath{x}. +\smath{\mbox{\bf asech}\opLeftPren{}x\opRightPren{}} +returns the hyperbolic arcsecant of \smath{x}. \newitem -\smath{\mbox{\bf asechIfCan}\opLeftPren{}x\opRightPren{}} returns \smath{\mbox{\bf asech}\opLeftPren{}x\opRightPren{}} if possible, and +\smath{\mbox{\bf asechIfCan}\opLeftPren{}x\opRightPren{}} +returns \smath{\mbox{\bf asech}\opLeftPren{}x\opRightPren{}} if possible, and \mbox{\tt "failed"} otherwise. } - % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{asin}}\opLeftPren{}{\it expression}\opRightPren{}% -\opand \mbox{\axiomFun{asinIfCan}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{asin}}\opLeftPren{} +{\it expression}\opRightPren{}% +\opand \mbox{\axiomFun{asinIfCan}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(K)->Union(K, \mbox{\tt "failed"})}{PartialTranscendentalFunctions} @@ -68786,14 +70224,18 @@ and \mbox{\tt "failed"} otherwise. \axiomType{Float}, \axiomType{DoubleFloat}, or \axiomType{Expression} value or a series. } -\newitem\smath{\mbox{\bf asin}\opLeftPren{}x\opRightPren{}} returns the arcsine of \smath{x}. -\newitem\smath{\mbox{\bf asinIfCan}\opLeftPren{}x\opRightPren{}} returns \smath{\mbox{\bf asin}\opLeftPren{}x\opRightPren{}} if possible, +\newitem\smath{\mbox{\bf asin}\opLeftPren{}x\opRightPren{}} +returns the arcsine of \smath{x}. +\newitem\smath{\mbox{\bf asinIfCan}\opLeftPren{}x\opRightPren{}} +returns \smath{\mbox{\bf asin}\opLeftPren{}x\opRightPren{}} if possible, and \mbox{\tt "failed"} otherwise. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{asinh}}\opLeftPren{}{\it expression}\opRightPren{}% -\opand \mbox{\axiomFun{asinhIfCan}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{asinh}}\opLeftPren{} +{\it expression}\opRightPren{}% +\opand \mbox{\axiomFun{asinhIfCan}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(K)->Union(K, \mbox{\tt "failed"})}{PartialTranscendentalFunctions} @@ -68801,28 +70243,34 @@ and \mbox{\tt "failed"} otherwise. \axiomType{Float}, \axiomType{DoubleFloat}, or \axiomType{Expression} value or a series. } -\newitem\smath{\mbox{\bf asinh}\opLeftPren{}x\opRightPren{}} returns the hyperbolic arcsine of +\newitem\smath{\mbox{\bf asinh}\opLeftPren{}x\opRightPren{}} +returns the hyperbolic arcsine of \smath{x}. -\newitem\smath{\mbox{\bf asinhIfCan}\opLeftPren{}x\opRightPren{}} returns \smath{\mbox{\bf asinh}\opLeftPren{}x\opRightPren{}} if +\newitem\smath{\mbox{\bf asinhIfCan}\opLeftPren{}x\opRightPren{}} +returns \smath{\mbox{\bf asinh}\opLeftPren{}x\opRightPren{}} if possible, and \mbox{\tt "failed"} otherwise. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{assign}}\opLeftPren{}{\it outputForm}, \allowbreak{}{\it outputForm}\opRightPren{}% +\opdata{{\mbox{\axiomFun{assign}}\opLeftPren{} +{\it outputForm}, \allowbreak{}{\it outputForm}\opRightPren{}% }% }% {}{}{} - {\smath{\mbox{\bf assign}\opLeftPren{}f, \allowbreak{} g\opRightPren{}} creates an \axiomType{OutputForm} object + {\smath{\mbox{\bf assign}\opLeftPren{}f, \allowbreak{} g\opRightPren{}} +creates an \axiomType{OutputForm} object for the assignment \smath{f {\tt :=} g}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{associates?}}\opLeftPren{}{\it element}, \allowbreak{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{associates?}}\opLeftPren{} +{\it element}, \allowbreak{}{\it element}\opRightPren{}% }% }% {2}{(\$, \$)->Boolean}{IntegralDomain} -{\smath{\mbox{\bf associates?}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} tests whether \smath{x} and \smath{y} are associates, that is, that +{\smath{\mbox{\bf associates?}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} +tests whether \smath{x} and \smath{y} are associates, that is, that \smath{x} and \smath{y} differ by a unit factor. } @@ -68831,7 +70279,8 @@ for the assignment \smath{f {\tt :=} g}. }% }% {0}{()->Boolean}{FiniteRankNonAssociativeAlgebra} -{\smath{\mbox{\bf associative?}\opLeftPren{}\opRightPren{}\$F} tests if multiplication in \smath{F} is associative, where +{\smath{\mbox{\bf associative?}\opLeftPren{}\opRightPren{}\$F} tests +if multiplication in \smath{F} is associative, where \smath{F} is a \axiomType{FiniteRankNonAssociativeAlgebra}. } @@ -68840,43 +70289,54 @@ for the assignment \smath{f {\tt :=} g}. }% }% {0}{()->List(Vector(R))}{FiniteRankNonAssociativeAlgebra} -{\smath{\mbox{\bf associatorDependence}\opLeftPren{}\opRightPren{}\$F} computes associator identities for +{\smath{\mbox{\bf associatorDependence}\opLeftPren{}\opRightPren{}\$F} +computes associator identities for \smath{F}. \consultType{FiniteRankNonAssociativeAlgebra}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{associator}}\opLeftPren{}{\it element}, \allowbreak{}{\it element}, \allowbreak{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{associator}}\opLeftPren{}{\it element}, +\allowbreak{}{\it element}, \allowbreak{}{\it element}\opRightPren{}% }% }% {3}{(\$, \$, \$)->\$}{NonAssociativeRng} - {\smath{\mbox{\bf associator}\opLeftPren{}a, \allowbreak{} b, \allowbreak{} c\opRightPren{}} returns \smath{(ab)c-a(bc)}, + {\smath{\mbox{\bf associator}\opLeftPren{}a, \allowbreak{} b, +\allowbreak{} c\opRightPren{}} returns \smath{(ab)c-a(bc)}, where \smath{a}, \smath{b}, and \smath{c} are all members of a domain of category \axiomType{NonAssociateRng}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{assoc}}\opLeftPren{}{\it element}, \allowbreak{}{\it associationList}\opRightPren{}% +\opdata{{\mbox{\axiomFun{assoc}}\opLeftPren{}{\it element}, +\allowbreak{}{\it associationList}\opRightPren{}% }% }% -{2}{(Key, \$)->Union(Record(key:Key, entry:Entry), \mbox{\tt "failed"})}{AssociationListAggregate} -{\smath{\mbox{\bf assoc}\opLeftPren{}k, \allowbreak{} al\opRightPren{}} returns the element \smath{x} in the +{2}{(Key, \$)->Union(Record(key:Key, entry:Entry), +\mbox{\tt "failed"})}{AssociationListAggregate} +{\smath{\mbox{\bf assoc}\opLeftPren{}k, +\allowbreak{} al\opRightPren{}} returns the element \smath{x} in the \axiomType{AssociationList} \smath{al} stored under key \smath{k}, or \mbox{\tt "failed"} if no such element exists. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{atan}}\opLeftPren{}{\it expression\opt{, phase}}\opRightPren{}% - \opand \mbox{\axiomFun{atanIfCan}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{atan}}\opLeftPren{} +{\it expression\opt{, phase}}\opRightPren{}% + \opand \mbox{\axiomFun{atanIfCan}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(\$)->\$}{ArcTrigonometricFunctionCategory} {\opkey{Argument \smath{x} can be a \axiomType{Complex}, \axiomType{Float}, \axiomType{DoubleFloat}, or \axiomType{Expression} value or a series.} -\newitem\smath{\mbox{\bf atan}\opLeftPren{}x\opRightPren{}} returns the arctangent of \smath{x}. -\newitem\smath{\mbox{\bf atan}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} computes the arc tangent from \smath{x} +\newitem\smath{\mbox{\bf atan}\opLeftPren{}x\opRightPren{}} returns the +arctangent of \smath{x}. +\newitem\smath{\mbox{\bf atan}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} +computes the arc tangent from \smath{x} with phase \smath{y}. -\newitem\smath{\mbox{\bf atanIfCan}\opLeftPren{}x\opRightPren{}} returns the \smath{\mbox{\bf atan}\opLeftPren{}x\opRightPren{}} if +\newitem\smath{\mbox{\bf atanIfCan}\opLeftPren{}x\opRightPren{}} +returns the \smath{\mbox{\bf atan}\opLeftPren{}x\opRightPren{}} if possible, and \mbox{\tt "failed"} otherwise. } @@ -68889,9 +70349,11 @@ possible, and \mbox{\tt "failed"} otherwise. {\opkey{Argument \smath{x} can be a \axiomType{Complex}, \axiomType{Float}, \axiomType{DoubleFloat}, or \axiomType{Expression} value or a series.} -\newitem\smath{\mbox{\bf atanh}\opLeftPren{}x\opRightPren{}} returns the hyperbolic arctangent of +\newitem\smath{\mbox{\bf atanh}\opLeftPren{}x\opRightPren{}} +returns the hyperbolic arctangent of \smath{x}. -\newitem\smath{\mbox{\bf atanhIfCan}\opLeftPren{}x\opRightPren{}} returns \smath{\mbox{\bf atanh}\opLeftPren{}x\opRightPren{}} if +\newitem\smath{\mbox{\bf atanhIfCan}\opLeftPren{}x\opRightPren{}} +returns \smath{\mbox{\bf atanh}\opLeftPren{}x\opRightPren{}} if possible, and \mbox{\tt "failed"} otherwise. } @@ -68901,35 +70363,43 @@ possible, and \mbox{\tt "failed"} otherwise. }% {1}{(\$)->Boolean}{SExpressionCategory} {\smath{\mbox{\bf atom?}\opLeftPren{}s\opRightPren{}} tests if \smath{x} is -atomic, where \smath{x} is an \axiomType{SExpression} or \axiomType{OutputForm}. +atomic, where \smath{x} is an \axiomType{SExpression} or +\axiomType{OutputForm}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{antiCommutator}}\opLeftPren{}{\it element}, \allowbreak{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{antiCommutator}}\opLeftPren{} +{\it element}, \allowbreak{}{\it element}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{NonAssociativeRng} - {\smath{\mbox{\bf antiCommutator}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} returns \smath{x y + y x}, + {\smath{\mbox{\bf antiCommutator}\opLeftPren{}x, +\allowbreak{} y\opRightPren{}} returns \smath{x y + y x}, where \smath{x} and \smath{y} are elements of a non-associative ring, possibly without identity. \seeType{NonAssociativeRng}} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{antisymmetric?}}\opLeftPren{}{\it matrix}\opRightPren{}% +\opdata{{\mbox{\axiomFun{antisymmetric?}}\opLeftPren{} +{\it matrix}\opRightPren{}% }% }% {1}{(\$)->Boolean}{MatrixCategory} -{\smath{\mbox{\bf antisymmetric?}\opLeftPren{}m\opRightPren{}} tests if the matrix \smath{m} is square +{\smath{\mbox{\bf antisymmetric?}\opLeftPren{}m\opRightPren{}} +tests if the matrix \smath{m} is square and antisymmetric, that is, \smath{m_{i, j} = -m_{j, i}} for all \smath{i} and \smath{j}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{antisymmetricTensors}}\opLeftPren{}{\it matrices}, \allowbreak{}{\it positiveInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{antisymmetricTensors}}\opLeftPren{} +{\it matrices}, \allowbreak{}{\it positiveInteger}\opRightPren{}% }% }% -{2}{(List(Matrix(R)), PositiveInteger)->List(Matrix(R))}{RepresentationPackage1} - {\smath{\mbox{\bf antisymmetricTensors}\opLeftPren{}A, \allowbreak{} n\opRightPren{}}, +{2}{(List(Matrix(R)), PositiveInteger)->List(Matrix(R))} +{RepresentationPackage1} + {\smath{\mbox{\bf antisymmetricTensors}\opLeftPren{}A, +\allowbreak{} n\opRightPren{}}, where \smath{A} is an \smath{m} by \smath{m} matrix, returns a matrix obtained by applying to \smath{A} the irreducible, polynomial representation of the @@ -68941,46 +70411,60 @@ with the sign representation of the symmetric group \smath{S_n}. The carrier spaces of the representation are the antisymmetric tensors of the \smath{n}-fold tensor product. - \newitem\smath{\mbox{\bf antisymmetricTensors}\opLeftPren{}lA, \allowbreak{} n\opRightPren{}}, + \newitem\smath{\mbox{\bf antisymmetricTensors}\opLeftPren{}lA, +\allowbreak{} n\opRightPren{}}, where \smath{lA} is a list of \smath{m} by \smath{m} matrices, similarly applies the representation of \smath{GL_m} to each matrix \smath{A} of \smath{lA}, returning a list of matrices. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{any?}}\opLeftPren{}{\it predicate}, \allowbreak{}{\it aggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{any?}}\opLeftPren{}{\it predicate}, +\allowbreak{}{\it aggregate}\opRightPren{}% }% }% {2}{((S)->Boolean, \$)->Boolean}{HomogeneousAggregate} -{\smath{\mbox{\bf any?}\opLeftPren{}pred, \allowbreak{} a\opRightPren{}} tests if predicate \smath{\mbox{\bf pred}\opLeftPren{}x\opRightPren{}} is \smath{true} for any element \smath{x} of aggregate \smath{a}. Note: for collections, \code{any?(p, u) = reduce(or, map(p, u), false, true)}. +{\smath{\mbox{\bf any?}\opLeftPren{}pred, \allowbreak{} a\opRightPren{}} +tests if predicate \smath{\mbox{\bf pred}\opLeftPren{}x\opRightPren{}} +is \smath{true} for any element \smath{x} of aggregate \smath{a}. +Note: for collections, \code{any?(p, u) = reduce(or, map(p, u), false, true)}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{any}}\opLeftPren{}{\it type}, \allowbreak{}{\it object}\opRightPren{}% +\opdata{{\mbox{\axiomFun{any}}\opLeftPren{}{\it type}, \allowbreak{} +{\it object}\opRightPren{}% }% }% {2}{(SExpression, None)->\$}{Any} -{\smath{\mbox{\bf any}\opLeftPren{}type, \allowbreak{} object\opRightPren{}} is a technical function for creating an \smath{object} of \axiomType{Any}. Argument \smath{type} is a \spadgloss{LISP} form for the \smath{type} of \smath{object}.} +{\smath{\mbox{\bf any}\opLeftPren{}type, \allowbreak{} object\opRightPren{}} +is a technical function for creating an \smath{object} of \axiomType{Any}. +Argument \smath{type} is a \spadgloss{LISP} form for the \smath{type} +of \smath{object}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{append}}\opLeftPren{}{\it list}, \allowbreak{}{\it list}\opRightPren{}% +\opdata{{\mbox{\axiomFun{append}}\opLeftPren{}{\it list}, \allowbreak{} +{\it list}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{List} -{\smath{\mbox{\bf append}\opLeftPren{}l_1, \allowbreak{} l_2\opRightPren{}} appends the elements of list \smath{l_1} +{\smath{\mbox{\bf append}\opLeftPren{}l_1, \allowbreak{} l_2\opRightPren{}} +appends the elements of list \smath{l_1} onto the front of list \smath{l_2}. See also \spadfun{concat}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{axesColorDefault}}\opLeftPren{}{\it \opt{palette}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{axesColorDefault}}\opLeftPren{} +{\it \opt{palette}}\opRightPren{}% }% }% {0}{()->Palette}{ViewDefaultsPackage} -{\smath{\mbox{\bf axesColorDefault}\opLeftPren{}p\opRightPren{}} sets the default color of the axes in a \twodim{} viewport to the palette \smath{p}. +{\smath{\mbox{\bf axesColorDefault}\opLeftPren{}p\opRightPren{}} sets +the default color of the axes in a \twodim{} viewport to the palette \smath{p}. \newitem - \smath{\mbox{\bf axesColorDefault}\opLeftPren{}\opRightPren{}} returns the default color of the axes in a \twodim{} viewport. + \smath{\mbox{\bf axesColorDefault}\opLeftPren{}\opRightPren{}} +returns the default color of the axes in a \twodim{} viewport. } @@ -68989,7 +70473,8 @@ See also \spadfun{concat}. }% }% {1}{(\$)->S}{QueueAggregate} -{\smath{\mbox{\bf back}\opLeftPren{}q\opRightPren{}} returns the element at the back of the queue, or calls +{\smath{\mbox{\bf back}\opLeftPren{}q\opRightPren{}} +returns the element at the back of the queue, or calls \spadfun{error} if \smath{q} is empty. } @@ -68998,15 +70483,18 @@ See also \spadfun{concat}. }% }% {0}{()->\$}{BagAggregate} -{\smath{\mbox{\bf bag}\opLeftPren{}\colx{x}{y}{z}\opRightPren{}} creates a bag with elements \smath{x}, \smath{y}, $\ldots$, \smath{z}. +{\smath{\mbox{\bf bag}\opLeftPren{}\colx{x}{y}{z}\opRightPren{}} +creates a bag with elements \smath{x}, \smath{y}, $\ldots$, \smath{z}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{balancedBinaryTree}}\opLeftPren{}{\it nonNegativeInteger}, \allowbreak{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{balancedBinaryTree}}\opLeftPren{} +{\it nonNegativeInteger}, \allowbreak{}{\it element}\opRightPren{}% }% }% {0}{()->\$}{BagAggregate} - {\smath{\mbox{\bf balancedBinaryTree}\opLeftPren{}n, \allowbreak{} s\opRightPren{}} creates a balanced binary tree with + {\smath{\mbox{\bf balancedBinaryTree}\opLeftPren{}n, +\allowbreak{} s\opRightPren{}} creates a balanced binary tree with \smath{n} nodes, each with value \smath{s}. } @@ -69015,14 +70503,16 @@ See also \spadfun{concat}. }% }% {0}{()->PositiveInteger}{FloatingPointSystem} -{\smath{\mbox{\bf base}\opLeftPren{}gp\opRightPren{}} returns a base for the group {\it gp}. \consultType{PermutationGroup} +{\smath{\mbox{\bf base}\opLeftPren{}gp\opRightPren{}} returns a +base for the group {\it gp}. \consultType{PermutationGroup} } % ---------------------------------------------------------------------- \opdata{{\mbox{\axiomFun{basis}}\opLeftPren{}\opRightPren{}% }% }% {0}{()->Vector(\$)}{FiniteAlgebraicExtensionField} -{\smath{\mbox{\bf basis}\opLeftPren{}\opRightPren{}\$R} returns a fixed basis of \smath{R} +{\smath{\mbox{\bf basis}\opLeftPren{}\opRightPren{}\$R} returns a +fixed basis of \smath{R} or a subspace of \smath{R}. See \axiomType{FiniteAlgebraicExtensionField}, \axiomType{FramedAlgebra}, @@ -69034,9 +70524,14 @@ See \axiomType{FiniteAlgebraicExtensionField}, }% }% {0}{()->List(A)}{AlgebraPackage} -{\smath{\mbox{\bf basisOfCenter}\opLeftPren{}\opRightPren{}\$R} returns a basis of the space of all -\smath{x} in \smath{R} satisfying \smath{\mbox{\bf commutator}\opLeftPren{}x, a) = 0} and -\smath{\mbox{\bf associator}\opLeftPren{}x, \allowbreak{} a, \allowbreak{} b\opRightPren{}} = \smath{\mbox{\bf associator}\opLeftPren{}a, \allowbreak{} x, \allowbreak{} b\opRightPren{}} = \smath{\mbox{\bf associator}\opLeftPren{}a, \allowbreak{} b, \allowbreak{} x\opRightPren{}} = +{\smath{\mbox{\bf basisOfCenter}\opLeftPren{}\opRightPren{}\$R} returns a +basis of the space of all +\smath{x} in \smath{R} satisfying \smath{\mbox{\bf commutator}\opLeftPren{}x, +a) = 0} and +\smath{\mbox{\bf associator}\opLeftPren{}x, \allowbreak{} a, \allowbreak{} b +\opRightPren{}} = \smath{\mbox{\bf associator}\opLeftPren{}a, \allowbreak{} x, +\allowbreak{} b\opRightPren{}} = \smath{\mbox{\bf associator}\opLeftPren{}a, +\allowbreak{} b, \allowbreak{} x\opRightPren{}} = 0 for all \smath{a}, \smath{b} in \smath{R}. Domain \smath{R} is a domain of category \axiomType{FramedNonAssociativeAlgebra}. @@ -69047,7 +70542,8 @@ Domain \smath{R} is a domain of category }% }% {0}{()->List(Matrix(R))}{AlgebraPackage} -{\smath{\mbox{\bf basisOfCentroid}\opLeftPren{}\opRightPren{}\$R} returns a basis of the centroid of +{\smath{\mbox{\bf basisOfCentroid}\opLeftPren{}\opRightPren{}\$R} +returns a basis of the centroid of \smath{R}, that is, the endomorphism ring of \smath{R} considered as \smath{(R, R)}-bimodule. Domain \smath{R} is a domain of category @@ -69059,16 +70555,20 @@ Domain \smath{R} is a domain of category }% }% {0}{()->List(A)}{AlgebraPackage} -{\smath{\mbox{\bf basisOfCommutingElements}\opLeftPren{}\opRightPren{}\$R} returns a basis of the space -of all \smath{x} of \smath{R} satisfying \smath{\mbox{\bf commutator}\opLeftPren{}x, \allowbreak{} a\opRightPren{}} = 0 +{\smath{\mbox{\bf basisOfCommutingElements}\opLeftPren{}\opRightPren{}\$R} +returns a basis of the space +of all \smath{x} of \smath{R} satisfying +\smath{\mbox{\bf commutator}\opLeftPren{}x, \allowbreak{} a\opRightPren{}} = 0 for all \smath{a} in \smath{R}. Domain \smath{R} is a domain of category \axiomType{FramedNonAssociativeAlgebra}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{basisOfLeftAnnihilator}}\opLeftPren{}{\it element}\opRightPren{}% - \opand \mbox{\axiomFun{basisOfRightAnnihilator}}\opLeftPren{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{basisOfLeftAnnihilator}}\opLeftPren{} +{\it element}\opRightPren{}% + \opand \mbox{\axiomFun{basisOfRightAnnihilator}}\opLeftPren{} +{\it element}\opRightPren{}% }% }% {1}{(A)->List(A)}{AlgebraPackage} @@ -69076,8 +70576,10 @@ Domain \smath{R} is a domain of category \smath{x} in \smath{R} of category \axiomType{FramedNonAssociativeAlgebra}, satisfying} \begin{simpleList} -\item\smath{\mbox{\bf basisOfLeftAnnihilator}\opLeftPren{}a\opRightPren{}}: \smath{0 = xa}. -\item\smath{\mbox{\bf basisOfRightAnnihilator}\opLeftPren{}a\opRightPren{}}: \smath{0 = ax}. +\item\smath{\mbox{\bf basisOfLeftAnnihilator}\opLeftPren{}a\opRightPren{}}: + \smath{0 = xa}. +\item\smath{\mbox{\bf basisOfRightAnnihilator}\opLeftPren{}a\opRightPren{}}: + \smath{0 = ax}. \end{simpleList} } @@ -69095,11 +70597,20 @@ Domain \smath{R} is a domain of category \smath{a} and \smath{b}:} \begin{simpleList} \item \smath{\mbox{\bf basisOfNucleus}\opLeftPren{}\opRightPren{}\$R}: -\smath{\mbox{\bf associator}\opLeftPren{}x, \allowbreak{} a, \allowbreak{} b\opRightPren{}} = \smath{\mbox{\bf associator}\opLeftPren{}a, \allowbreak{} x, \allowbreak{} b\opRightPren{}} -= \smath{\mbox{\bf associator}\opLeftPren{}a, \allowbreak{} b, \allowbreak{} x\opRightPren{}} = 0; -\item \smath{\mbox{\bf basisOfLeftNucleus}\opLeftPren{}\opRightPren{}\$R}: \smath{\mbox{\bf associator}\opLeftPren{}x, \allowbreak{} a, \allowbreak{} b\opRightPren{}} = 0; -\item \smath{\mbox{\bf basisOfMiddleNucleus}\opLeftPren{}\opRightPren{}\$R}: \smath{\mbox{\bf associator}\opLeftPren{}a, \allowbreak{} x, \allowbreak{} b\opRightPren{}} = 0; -\item \smath{\mbox{\bf basisOfRightNucleus}\opLeftPren{}\opRightPren{}\$R}: \smath{\mbox{\bf associator}\opLeftPren{}a, \allowbreak{} b, \allowbreak{} x\opRightPren{}} = 0. +\smath{\mbox{\bf associator}\opLeftPren{}x, \allowbreak{} a, +\allowbreak{} b\opRightPren{}} = \smath{\mbox{\bf associator}\opLeftPren{}a, +\allowbreak{} x, \allowbreak{} b\opRightPren{}} += \smath{\mbox{\bf associator}\opLeftPren{}a, \allowbreak{} b, +\allowbreak{} x\opRightPren{}} = 0; +\item \smath{\mbox{\bf basisOfLeftNucleus}\opLeftPren{}\opRightPren{}\$R}: +\smath{\mbox{\bf associator}\opLeftPren{}x, \allowbreak{} a, +\allowbreak{} b\opRightPren{}} = 0; +\item \smath{\mbox{\bf basisOfMiddleNucleus}\opLeftPren{}\opRightPren{}\$R}: +\smath{\mbox{\bf associator}\opLeftPren{}a, \allowbreak{} x, +\allowbreak{} b\opRightPren{}} = 0; +\item \smath{\mbox{\bf basisOfRightNucleus}\opLeftPren{}\opRightPren{}\$R}: +\smath{\mbox{\bf associator}\opLeftPren{}a, +\allowbreak{} b, \allowbreak{} x\opRightPren{}} = 0. \end{simpleList} } @@ -69113,8 +70624,10 @@ Domain \smath{R} is a domain of category endomorphisms of \smath{R}, a domain of category \axiomType{FramedNonAssociativeAlgebra}, considered as:} \begin{simpleList} - \item\smath{\mbox{\bf basisOfLeftNucloid}\opLeftPren{}\opRightPren{}}: a right module. - \item\smath{\mbox{\bf basisOfRightNucloid}\opLeftPren{}\opRightPren{}}: a left module. + \item\smath{\mbox{\bf basisOfLeftNucloid}\opLeftPren{}\opRightPren{}}: +a right module. + \item\smath{\mbox{\bf basisOfRightNucloid}\opLeftPren{}\opRightPren{}}: +a left module. \end{simpleList} Note: if \smath{R} has a unit, the left and right nucloid coincide with the left and right nucleus. @@ -69125,7 +70638,8 @@ the left and right nucleus. }% }% {1}{(BasicOperator)->Boolean}{ExpressionSpace} -{\smath{\mbox{\bf belong?}\opLeftPren{}op\opRightPren{}\$R} tests if \smath{op} is known as an +{\smath{\mbox{\bf belong?}\opLeftPren{}op\opRightPren{}\$R} tests +if \smath{op} is known as an operator to \smath{R}. For example, \smath{R} is an \axiomType{Expression} domain or \axiomType{AlgebraicNumber}. @@ -69136,34 +70650,44 @@ For example, \smath{R} is an \axiomType{Expression} domain or }% }% {1}{(Integer)->Fraction(Integer)}{IntegerNumberTheoryFunctions} -{\smath{\mbox{\bf bernoulli}\opLeftPren{}n\opRightPren{}} returns the \eth{\smath{n}} Bernoulli +{\smath{\mbox{\bf bernoulli}\opLeftPren{}n\opRightPren{}} returns the +\eth{\smath{n}} Bernoulli number, that is, \smath{B(n, 0)} where \smath{B(n, x)} is the \eth{\smath{n}} Bernoulli polynomial. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{besselI}}\opLeftPren{}{\it complexDoubleFloat}, \allowbreak{}{\it complexDoubleFloat}\opRightPren{}% -\optand \mbox{\axiomFun{besselJ}}\opLeftPren{}{\it complexDoubleFloat}, \allowbreak{}{\it complexDoubleFloat}\opRightPren{}% -\optand \mbox{\axiomFun{besselK}}\opLeftPren{}{\it complexDoubleFloat}, \allowbreak{}{\it complexDoubleFloat}\opRightPren{}% -\opand \mbox{\axiomFun{besselY}}\opLeftPren{}{\it complexDoubleFloat}, \allowbreak{}{\it complexDoubleFloat}\opRightPren{}% +\opdata{{\mbox{\axiomFun{besselI}}\opLeftPren{}{\it complexDoubleFloat}, +\allowbreak{}{\it complexDoubleFloat}\opRightPren{}% +\optand \mbox{\axiomFun{besselJ}}\opLeftPren{}{\it complexDoubleFloat}, +\allowbreak{}{\it complexDoubleFloat}\opRightPren{}% +\optand \mbox{\axiomFun{besselK}}\opLeftPren{}{\it complexDoubleFloat}, +\allowbreak{}{\it complexDoubleFloat}\opRightPren{}% +\opand \mbox{\axiomFun{besselY}}\opLeftPren{}{\it complexDoubleFloat}, +\allowbreak{}{\it complexDoubleFloat}\opRightPren{}% }% }% -{2}{(Complex(DoubleFloat), Complex(DoubleFloat))->Complex(DoubleFloat)}{DoubleFloatSpecialFunctions} -{\smath{\mbox{\bf besselI}\opLeftPren{}v, \allowbreak{} x\opRightPren{}} is the modified Bessel function of the first +{2}{(Complex(DoubleFloat), +Complex(DoubleFloat))->Complex(DoubleFloat)}{DoubleFloatSpecialFunctions} +{\smath{\mbox{\bf besselI}\opLeftPren{}v, +\allowbreak{} x\opRightPren{}} is the modified Bessel function of the first kind, \smath{I(v, x)}, satisfying the differential equation \smath{x^2 {w''(x)} + x w'(x) - (x^2+v^2)w(x) = 0}. -\bigitem\smath{\mbox{\bf besselJ}\opLeftPren{}v, \allowbreak{} x\opRightPren{}} is the Bessel function of the second +\bigitem\smath{\mbox{\bf besselJ}\opLeftPren{}v, +\allowbreak{} x\opRightPren{}} is the Bessel function of the second kind, \smath{J(v, x)}, satisfying the differential equation \smath{x^2 {w''(x)} + x w'(x) + (x^2-v^2)w(x) = 0}. -\bigitem\smath{\mbox{\bf besselK}\opLeftPren{}v, \allowbreak{} x\opRightPren{}} is the modified Bessel function of +\bigitem\smath{\mbox{\bf besselK}\opLeftPren{}v, +\allowbreak{} x\opRightPren{}} is the modified Bessel function of the first kind, \smath{K(v, x)}, satisfying the differential equation \smath{x^2 {w''(x)} + x w'(x) - (x^2+v^2)w(x) = 0}. Note: The default implementation uses the relation \smath{K(v, x) = \pi/2(I(-v, x) - I(v, x))/\sin(v \pi)} so is not valid for integer values of \smath{v}. -\bigitem\smath{\mbox{\bf besselY}\opLeftPren{}v, \allowbreak{} x\opRightPren{}} is the Bessel function of the second +\bigitem\smath{\mbox{\bf besselY}\opLeftPren{}v, +\allowbreak{} x\opRightPren{}} is the Bessel function of the second kind, \smath{Y(v, x)}, satisfying the differential equation \smath{x^2 {w''(x)} + x w'(x) + (x^2-v^2)w(x) = 0}. @@ -69173,18 +70697,26 @@ integer values of \smath{v}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{Beta}}\opLeftPren{}{\it complexDoubleFloat}, \allowbreak{}{\it complexDoubleFloat}\opRightPren{}% +\opdata{{\mbox{\axiomFun{Beta}}\opLeftPren{}{\it complexDoubleFloat}, +\allowbreak{}{\it complexDoubleFloat}\opRightPren{}% }% }% -{2}{(Complex(DoubleFloat), Complex(DoubleFloat))->Complex(DoubleFloat)}{DoubleFloatSpecialFunctions} -{\smath{\mbox{\bf Beta}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} is the Euler beta function, \smath{B(x, y)}, defined by -\smath{\mbox{\bf Beta}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} $\int_0^1{t^{x-1}(1-t)^{y-1} dt}$. +{2}{(Complex(DoubleFloat), +Complex(DoubleFloat))->Complex(DoubleFloat)}{DoubleFloatSpecialFunctions} +{\smath{\mbox{\bf Beta}\opLeftPren{}x, +\allowbreak{} y\opRightPren{}} +is the Euler beta function, \smath{B(x, y)}, defined by +\smath{\mbox{\bf Beta}\opLeftPren{}x, +\allowbreak{} y\opRightPren{}} $\int_0^1{t^{x-1}(1-t)^{y-1} dt}$. Note: this function is defined by -\smath{\mbox{\bf Beta}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} $= {{\Gamma(x)\Gamma(y)} \over {\Gamma(x + y)}}$. +\smath{\mbox{\bf Beta}\opLeftPren{}x, +\allowbreak{} y\opRightPren{}} $= +{{\Gamma(x)\Gamma(y)} \over {\Gamma(x + y)}}$. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{binaryTournament}}\opLeftPren{}{\it listOfElements}\opRightPren{}% +\opdata{{\mbox{\axiomFun{binaryTournament}}\opLeftPren{} +{\it listOfElements}\opRightPren{}% }% }% {1}{(Fraction(Integer))->\$}{BinaryExpansion} @@ -69198,8 +70730,10 @@ Note: this function is defined by }% }% {1}{(Fraction(Integer))->\$}{BinaryExpansion} - {\smath{\mbox{\bf binaryTree}\opLeftPren{}x\opRightPren{}} creates a binary tree -consisting of one node for which the \spadfunFrom{value}{BinaryTree} is \smath{x} and + {\smath{\mbox{\bf binaryTree}\opLeftPren{}x\opRightPren{}} creates +a binary tree +consisting of one node for which the \spadfunFrom{value}{BinaryTree} +is \smath{x} and the \spadfun{left} and \spadfun{right} subtrees are empty. } @@ -69208,19 +70742,24 @@ the \spadfun{left} and \spadfun{right} subtrees are empty. }% }% {1}{(Fraction(Integer))->\$}{BinaryExpansion} -{\smath{\mbox{\bf binary}\opLeftPren{}rn\opRightPren{}} converts rational number \smath{rn} to a binary expansion. +{\smath{\mbox{\bf binary}\opLeftPren{}rn\opRightPren{}} +converts rational number \smath{rn} to a binary expansion. \newitem - \smath{\mbox{\bf binary}\opLeftPren{}op, \allowbreak{} [a_1, \allowbreak{} \ldots, a_n]\opRightPren{}} returns the input form - corresponding to \smath{a_1 {\rm op} \ldots op a_n}, where - \smath{op} and the \smath{a_i}'s are of type \axiomType{InputForm}. + \smath{\mbox{\bf binary}\opLeftPren{}op, +\allowbreak{} [a_1, \allowbreak{} \ldots, a_n]\opRightPren{}} +returns the input form +corresponding to \smath{a_1 {\rm op} \ldots op a_n}, where +\smath{op} and the \smath{a_i}'s are of type \axiomType{InputForm}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{binomial}}\opLeftPren{}{\it integerNumber}, \allowbreak{}{\it integerNumber}\opRightPren{}% +\opdata{{\mbox{\axiomFun{binomial}}\opLeftPren{} +{\it integerNumber}, \allowbreak{}{\it integerNumber}\opRightPren{}% }% }% {2}{(I, I)->I}{IntegerCombinatoricFunctions} -{\smath{\mbox{\bf binomial}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} returns the binomial coefficient +{\smath{\mbox{\bf binomial}\opLeftPren{}x, +\allowbreak{} y\opRightPren{}} returns the binomial coefficient \smath{C(x, y) = x!/(y! (x-y)!)}, where \texht{$x \geq y \geq 0$}{x >= y >= 0}, the number of combinations of \smath{x} objects taken @@ -69231,16 +70770,19 @@ Arguments \smath{x} and \smath{y} can come from any % ---------------------------------------------------------------------- \opdata{{\mbox{\axiomFun{bipolar}}\opLeftPren{}{\it x}\opRightPren{}% - \opand \mbox{\axiomFun{bipolarCylindrical}}\opLeftPren{}{\it x}\opRightPren{}% + \opand \mbox{\axiomFun{bipolarCylindrical}} +\opLeftPren{}{\it x}\opRightPren{}% }% }% {1}{(R)->(Point(R))->Point(R)}{CoordinateSystems} -{\smath{\mbox{\bf bipolar}\opLeftPren{}a\opRightPren{}} returns a function for transforming bipolar +{\smath{\mbox{\bf bipolar}\opLeftPren{}a\opRightPren{}} +returns a function for transforming bipolar coordinates to Cartesian coordinates; this function maps the point \smath{(u, v)} to \smath{(x = a \sinh(v)/(\cosh(v)-\cos(u)), y = a \sin(u)/(\cosh(v)-\cos(u)))}. - \newitem\smath{\mbox{\bf bipolarCylindrical}\opLeftPren{}a\opRightPren{}} returns a function for transforming + \newitem\smath{\mbox{\bf bipolarCylindrical} +\opLeftPren{}a\opRightPren{}} returns a function for transforming bipolar cylindrical coordinates to Cartesian coordinates; this function maps the point \smath{(u, v, z)} to \smath{(x = a \sinh(v)/(\cosh(v)-\cos(u)), y = a @@ -69248,7 +70790,8 @@ maps the point \smath{(u, v, z)} to } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{biRank}}\opLeftPren{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{biRank}}\opLeftPren{} +{\it element}\opRightPren{}% }% }% {1}{(A)->NonNegativeInteger}{AlgebraPackage} @@ -69256,7 +70799,8 @@ maps the point \smath{(u, v, z)} to where \smath{R} is a domain of category \axiomType{FramedNonAssociativeAlgebra}, returns the number of linearly independent elements -among \smath{x}, \smath{x b_i}, \smath{b_i x}, \smath{b_i x b_j}, \smath{i, j=1, \ldots, n}, +among \smath{x}, \smath{x b_i}, \smath{b_i x}, +\smath{b_i x b_j}, \smath{i, j=1, \ldots, n}, where \smath{b=[b_1, \ldots, b_n]} is the fixed basis for \smath{R}. Note: if \smath{R} has a unit, then \spadfunFrom{doubleRank}{AlgebraPackage}, @@ -69265,11 +70809,14 @@ and \spadfunFrom{biRank}{AlgebraPackage} coincide. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{bit?}}\opLeftPren{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{bit?}}\opLeftPren{} +{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% }% }% {2}{(\$, \$)->Boolean}{IntegerNumberSystem} -{\smath{\mbox{\bf bit?}\opLeftPren{}i, \allowbreak{} n\opRightPren{}} tests if the \eth{\smath{n}} bit of \smath{i} is a 1. +{\smath{\mbox{\bf bit?}\opLeftPren{}i, +\allowbreak{} n\opRightPren{}} tests if the +\eth{\smath{n}} bit of \smath{i} is a 1. } % ---------------------------------------------------------------------- @@ -69277,12 +70824,14 @@ and \spadfunFrom{biRank}{AlgebraPackage} coincide. }% }% {0}{()->PositiveInteger}{FloatingPointSystem} -{\smath{\mbox{\bf bits}\opLeftPren{}\opRightPren{}} returns the precision of floats in +{\smath{\mbox{\bf bits}\opLeftPren{}\opRightPren{}} +returns the precision of floats in bits. Also see \spadfun{precision}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{blankSeparate}}\opLeftPren{}{\it listOfOutputForms}\opRightPren{}% +\opdata{{\mbox{\axiomFun{blankSeparate}}\opLeftPren{} +{\it listOfOutputForms}\opRightPren{}% }% }% {}{}{} @@ -69298,7 +70847,8 @@ of {\it lo} separated by blanks. \opdata{{\mbox{\axiomFun{blue}}\opLeftPren{}\opRightPren{}% }% }% -{0}{()->\$}{Color}{\smath{\mbox{\bf blue}\opLeftPren{}\opRightPren{}} returns the +{0}{()->\$}{Color}{\smath{\mbox{\bf blue}\opLeftPren{}\opRightPren{}} +returns the position of the blue hue from total hues.} % ---------------------------------------------------------------------- @@ -69306,7 +70856,8 @@ position of the blue hue from total hues.} }% }% {1}{(\$)->S}{DequeueAggregate} -{\smath{\mbox{\bf bottom!}\opLeftPren{}q\opRightPren{}} removes then returns the element at the bottom +{\smath{\mbox{\bf bottom!}\opLeftPren{}q\opRightPren{}} removes +then returns the element at the bottom (back) of the dequeue q. } @@ -69315,21 +70866,28 @@ position of the blue hue from total hues.} }% }% {1}{(List(\$))->\$}{ExpressionSpace} -{\smath{\mbox{\bf box}\opLeftPren{}e\opRightPren{}}, where \smath{e} is an expression, returns +{\smath{\mbox{\bf box}\opLeftPren{}e\opRightPren{}}, where \smath{e} +is an expression, returns \smath{e} with a box around it that prevents \smath{e} from being evaluated when operators are applied to it. -For example, \smath{\mbox{\bf log}\opLeftPren{}1\opRightPren{}} returns \smath{0}, but -\smath{\mbox{\bf log}\opLeftPren{}{\mbox{\bf box}}(1)\opRightPren{}} returns the formal kernel +For example, \smath{\mbox{\bf log}\opLeftPren{}1\opRightPren{}} +returns \smath{0}, but +\smath{\mbox{\bf log}\opLeftPren{}{\mbox{\bf box}}(1)\opRightPren{}} +returns the formal kernel \smath{\mbox{\bf log}\opLeftPren{}1\opRightPren{}}. \newitem -\smath{\mbox{\bf box}\opLeftPren{}f_1, \allowbreak{} \ldots, f_n\opRightPren{}}, where the \smath{f_i} are +\smath{\mbox{\bf box}\opLeftPren{}f_1, \allowbreak{} \ldots, f_n +\opRightPren{}}, where the \smath{f_i} are expressions, returns \smath{(f_1, \ldots, f_n)} with a box around them that prevents the \smath{f_i} from being evaluated when operators are applied to them, and makes them applicable to a unary operator. -For example, \smath{\mbox{\bf atan}\opLeftPren{}{\mbox {\bf box}} [x, \allowbreak{} 2]\opRightPren{}} returns the -formal kernel \smath{\mbox{\bf atan}\opLeftPren{}x, \allowbreak{} 2\opRightPren{}}. -\newitem\smath{\mbox{\bf box}\opLeftPren{}o\opRightPren{}}, where \smath{o} is an object of type +For example, \smath{\mbox{\bf atan}\opLeftPren{}{\mbox {\bf box}} +[x, \allowbreak{} 2]\opRightPren{}} returns the +formal kernel \smath{\mbox{\bf atan}\opLeftPren{}x, +\allowbreak{} 2\opRightPren{}}. +\newitem\smath{\mbox{\bf box}\opLeftPren{}o\opRightPren{}}, +where \smath{o} is an object of type \axiomType{OutputForm} (normally unexposed), returns an output form enclosing \smath{o} in a box. } @@ -69350,7 +70908,8 @@ returns an output form enclosing \smath{o} in braces. }% }% {}{}{} -{\smath{\mbox{\bf bracket}\opLeftPren{}o\opRightPren{}}, where \smath{o} is an object of type +{\smath{\mbox{\bf bracket}\opLeftPren{}o\opRightPren{}}, +where \smath{o} is an object of type \axiomType{OutputForm} (normally unexposed), returns an output form enclosing \smath{o} in brackets. } @@ -69358,14 +70917,18 @@ form enclosing \smath{o} in brackets. % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{branchPoint}}\opLeftPren{}{\it element}\opRightPren{}% - \opand \mbox{\axiomFun{branchPointAtInfinity?}}\opLeftPren{}\opRightPren{}% +\opdata{{\mbox{\axiomFun{branchPoint}}\opLeftPren{} +{\it element}\opRightPren{}% + \opand \mbox{\axiomFun{branchPointAtInfinity?}} +\opLeftPren{}\opRightPren{}% }% }% {1}{(F)->Boolean}{FunctionFieldCategory} -{\smath{\mbox{\bf branchPoint?}\opLeftPren{}a\opRightPren{}\$F} tests if \smath{x = a} is a branch +{\smath{\mbox{\bf branchPoint?}\opLeftPren{}a\opRightPren{}\$F} +tests if \smath{x = a} is a branch point of the algebraic function field \smath{F}. -\newitem\smath{\mbox{\bf branchPointAtInfinity?}\opLeftPren{}\opRightPren{}\$F} tests if the +\newitem\smath{\mbox{\bf branchPointAtInfinity?} +\opLeftPren{}\opRightPren{}\$F} tests if the algebraic function field \smath{F} has a branch point at infinity. } @@ -69374,31 +70937,37 @@ algebraic function field \smath{F} has a branch point at infinity. }% }% {1}{(Color)->\$}{Palette} -{\smath{\mbox{\bf bright}\opLeftPren{}c\opRightPren{}} sets the shade of a hue, \smath{c}, above dim +{\smath{\mbox{\bf bright}\opLeftPren{}c\opRightPren{}} sets the shade +of a hue, \smath{c}, above dim but below pastel. \newitem -\smath{\mbox{\bf bright}\opLeftPren{}ls\opRightPren{}} sets the font property of a list of +\smath{\mbox{\bf bright}\opLeftPren{}ls\opRightPren{}} sets the font +property of a list of strings \smath{ls} to bold-face type. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{cap}}\opLeftPren{}{\it symmetricPolynomial}, \allowbreak{}{\it symmetricPolynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{cap}}\opLeftPren{}{\it symmetricPolynomial}, +\allowbreak{}{\it symmetricPolynomial}\opRightPren{}% }% }% { (SPOL RN, SPOL RN) -> RN}{}{} -{\smath{\mbox{\bf cap}\opLeftPren{}s_1, \allowbreak{} s_2\opRightPren{}}, introduced by Redfield, is the scalar +{\smath{\mbox{\bf cap}\opLeftPren{}s_1, +\allowbreak{} s_2\opRightPren{}}, introduced by Redfield, is the scalar product of two cycle indices, where the \smath{s_i} are \spadtype{SymmetricPolynomial}s with rational number coefficients. See also \spadfun{cup}. See \spadtype{CycleIndicators} for details. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{cardinality}}\opLeftPren{}{\it finiteSetAggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{cardinality}}\opLeftPren{} +{\it finiteSetAggregate}\opRightPren{}% }% }% {1}{(\$)->NonNegativeInteger}{FiniteSetAggregate} -{\smath{\mbox{\bf cardinality}\opLeftPren{}u\opRightPren{}} returns the number of elements of +{\smath{\mbox{\bf cardinality}\opLeftPren{}u\opRightPren{}} +returns the number of elements of \smath{u}. Note: \code{cardinality(u) = \#u}. } @@ -69408,43 +70977,52 @@ Note: \code{cardinality(u) = \#u}. }% }% {1}{(\$)->\$}{SExpressionCategory} -{\smath{\mbox{\bf car}\opLeftPren{}se\opRightPren{}} returns \smath{a_1} when \smath{se} is the +{\smath{\mbox{\bf car}\opLeftPren{}se\opRightPren{}} +returns \smath{a_1} when \smath{se} is the \axiomType{SExpression} object \smath{(a_1, \ldots, a_n)}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{cdr}}\opLeftPren{}{\it sExpression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{cdr}}\opLeftPren{} +{\it sExpression}\opRightPren{}% }% }% {1}{(\$)->\$}{SExpressionCategory} -{\smath{\mbox{\bf cdr}\opLeftPren{}se\opRightPren{}} returns \smath{(a_2, \ldots, a_n)} when \smath{se} +{\smath{\mbox{\bf cdr}\opLeftPren{}se\opRightPren{}} +returns \smath{(a_2, \ldots, a_n)} when \smath{se} is the \axiomType{SExpression} object \smath{(a_1, \ldots, a_n)}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{ceiling}}\opLeftPren{}{\it floatOrRationalNumber}\opRightPren{}% +\opdata{{\mbox{\axiomFun{ceiling}}\opLeftPren{} +{\it floatOrRationalNumber}\opRightPren{}% }% }% {1}{(\$)->D}{QuotientFieldCategory} {\opkey {Argument \smath{x} is a floating point number or fraction of numbers.} -\newitem\smath{\mbox{\bf ceiling}\opLeftPren{}x\opRightPren{}} returns the smallest integral element +\newitem\smath{\mbox{\bf ceiling}\opLeftPren{}x\opRightPren{}} +returns the smallest integral element above \smath{x}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{center}}\opLeftPren{}{\it stringsOrSeries}\opRightPren{}% +\opdata{{\mbox{\axiomFun{center}}\opLeftPren{}{\it stringsOrSeries} +\opRightPren{}% }% }% {1}{(\$)->Coef}{UnivariatePowerSeriesCategory} -{\smath{\mbox{\bf center}\opLeftPren{}s\opRightPren{}} returns the point about which the series +{\smath{\mbox{\bf center}\opLeftPren{}s\opRightPren{}} returns the +point about which the series \smath{s} is expanded. -\newitem\smath{\mbox{\bf center}\opLeftPren{}ls, \allowbreak{} n, \allowbreak{} s\opRightPren{}} takes a list of strings \smath{ls}, +\newitem\smath{\mbox{\bf center}\opLeftPren{}ls, \allowbreak{} n, +\allowbreak{} s\opRightPren{}} takes a list of strings \smath{ls}, and centers them within a list of strings which is \smath{n} characters long. The remaining spaces are filled with strings composed of as many repetitions as possible of the last string parameter \smath{s}. -\newitem\smath{\mbox{\bf center}\opLeftPren{}s_1, \allowbreak{} n, \allowbreak{} s_2\opRightPren{}} is equivalent to +\newitem\smath{\mbox{\bf center}\opLeftPren{}s_1, \allowbreak{} n, +\allowbreak{} s_2\opRightPren{}} is equivalent to \smath{\mbox{\bf center}\opLeftPren{}[ s_1], n, s_2\opRightPren{}}. } @@ -69453,11 +71031,13 @@ repetitions as possible of the last string parameter \smath{s}. }% }% {1}{(Integer)->\$}{Character} -{\smath{\mbox{\bf char}\opLeftPren{}i\opRightPren{}} returns a \spadtype{Character} object with +{\smath{\mbox{\bf char}\opLeftPren{}i\opRightPren{}} returns a +\spadtype{Character} object with integer code \smath{i}. Note: {\bf ord(char({\it i})) \rm = \it i}. \newitem -\smath{\mbox{\bf char}\opLeftPren{}s\opRightPren{}} returns the unique character of a string +\smath{\mbox{\bf char}\opLeftPren{}s\opRightPren{}} returns the +unique character of a string \smath{s} of length one. } @@ -69467,29 +71047,35 @@ Note: {\bf ord(char({\it i})) \rm = \it i}. }% }% {0}{()->NonNegativeInteger}{NaiveRingInternalUseOnly} -{\smath{\mbox{\bf characteristic}\opLeftPren{}\opRightPren{}\$R} returns the characteristic of ring +{\smath{\mbox{\bf characteristic}\opLeftPren{}\opRightPren{}\$R} +returns the characteristic of ring \smath{R}: the smallest positive integer \smath{n} such that \smath{nx=0} for all \smath{x} in the ring, or zero if no such \smath{n} exists. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{characteristicPolynomial}}\opLeftPren{}{\it matrix\opt{, symbol}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{characteristicPolynomial}}\opLeftPren{} +{\it matrix\opt{, symbol}}\opRightPren{}% }% }% {1}{(\$)->UP}{FiniteRankAlgebra} -{\smath{\mbox{\bf characteristicPolynomial}\opLeftPren{}a\opRightPren{}} returns the characteristic +{\smath{\mbox{\bf characteristicPolynomial}\opLeftPren{}a\opRightPren{}} +returns the characteristic polynomial of the regular representation of \smath{a} with respect to any basis. \newitem -\smath{\mbox{\bf characteristicPolynomial}\opLeftPren{}m\opRightPren{}} returns the +\smath{\mbox{\bf characteristicPolynomial}\opLeftPren{}m\opRightPren{}} +returns the characteristic polynomial of the matrix \smath{m} expressed as polynomial with a new symbol as variable. \newitem -\smath{\mbox{\bf characteristicPolynomial}\opLeftPren{}m, \allowbreak{} sy\opRightPren{}} is similar except +\smath{\mbox{\bf characteristicPolynomial}\opLeftPren{}m, +\allowbreak{} sy\opRightPren{}} is similar except that the resulting polynomial has variable \smath{sy}. \newitem -\smath{\mbox{\bf characteristicPolynomial}\opLeftPren{}m, \allowbreak{} r\opRightPren{}}, where \smath{r} is +\smath{\mbox{\bf characteristicPolynomial}\opLeftPren{}m, +\allowbreak{} r\opRightPren{}}, where \smath{r} is a member of the coefficient domain of matrix \smath{m}, evaluates the characteristic polynomial at \smath{r}. In particular, if \smath{r} is the polynomial \smath{'x}, then it @@ -69502,10 +71088,12 @@ returns the characteristic polynomial expressed as a polynomial in }% }% {1}{(List(Character))->\$}{CharacterClass} -{\smath{\mbox{\bf charClass}\opLeftPren{}s\opRightPren{}} creates a character class containing exactly +{\smath{\mbox{\bf charClass}\opLeftPren{}s\opRightPren{}} creates +a character class containing exactly the characters given in the string \smath{s}. \newitem -\smath{\mbox{\bf charClass}\opLeftPren{}ls\opRightPren{}} creates a character class which contains +\smath{\mbox{\bf charClass}\opLeftPren{}ls\opRightPren{}} creates +a character class which contains exactly the characters given in the list \smath{ls} of strings. } @@ -69516,26 +71104,29 @@ exactly the characters given in the list \smath{ls} of strings. {1}{(\$)->Union(\$, "failed")}{PolynomialFactorizationExplicit} {\smath{\mbox{\bf charthRoot}\opLeftPren{}r\opRightPren{}}, where \smath{r} is an element of domain with \spadfun{characteristic} -$p \not= 0$, returns the \eth{\smath{p}} root of \smath{r}, or \mbox{\tt "failed"} if none exists in the domain. -\newitem\smath{\mbox{\bf charthRoot}\opLeftPren{}f\opRightPren{}\$R} takes the \eth{\smath{p}} root of finite field element \smath{f}, +$p \not= 0$, returns the \eth{\smath{p}} root of \smath{r}, or +\mbox{\tt "failed"} if none exists in the domain. +\newitem\smath{\mbox{\bf charthRoot}\opLeftPren{}f\opRightPren{}\$R} +takes the \eth{\smath{p}} root of finite field element \smath{f}, where \smath{p} is the characteristic of the finite field \smath{R}. Note: such a root is always defined in finite fields. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{chebyshevT}}\opLeftPren{}{\it positiveInteger}, \allowbreak{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{chebyshevT}}\opLeftPren{}{\it positiveInteger}, +\allowbreak{}{\it element}\opRightPren{}% }% }% {2}{(NonNegativeInteger, R)->R}{OrthogonalPolynomialFunctions} -{\smath{\mbox{\bf chebyshevT}\opLeftPren{}n, \allowbreak{} x\opRightPren{}} returns the \eth{\smath{n}} Chebyshev polynomial of the +{\smath{\mbox{\bf chebyshevT}\opLeftPren{}n, \allowbreak{} x\opRightPren{}} +returns the \eth{\smath{n}} Chebyshev polynomial of the first kind, \smath{T_n(x)}, defined by \smath{(1-tx)/(1-2tx+t^2) = \sum\nolimits_{n=0}^\infty {T_n(x)\, t^n}}. } - - % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{children}}\opLeftPren{}{\it recursiveAggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{children}}\opLeftPren{} +{\it recursiveAggregate}\opRightPren{}% }% }% {1}{(\$)->List(\$)}{RecursiveAggregate} @@ -69543,52 +71134,72 @@ first kind, \smath{T_n(x)}, defined by returns a list of the children of aggregate \smath{u}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{chineseRemainder}}\opLeftPren{}{\it listOfElements}, \allowbreak{}{\it listOfModuli}\opRightPren{}% -\opand \mbox{\axiomFun{chineseRemainder}}\opLeftPren{}{\it integer}, \allowbreak{}{\it modulus}, \allowbreak{}{\it integer}, \allowbreak{}{\it modulus}\opRightPren{}% +\opdata{{\mbox{\axiomFun{chineseRemainder}}\opLeftPren{} +{\it listOfElements}, \allowbreak{}{\it listOfModuli}\opRightPren{}% +\opand \mbox{\axiomFun{chineseRemainder}}\opLeftPren{} +{\it integer}, \allowbreak{}{\it modulus}, \allowbreak{}{\it integer}, +\allowbreak{}{\it modulus}\opRightPren{}% }% }% -{4}{(Integer, Integer, Integer, Integer)->Integer}{IntegerNumberTheoryFunctions} -{\smath{\mbox{\bf chineseRemainder}\opLeftPren{}lv, \allowbreak{} lm\opRightPren{}} where \smath{lv} is a list of +{4}{(Integer, Integer, Integer, Integer)->Integer} +{IntegerNumberTheoryFunctions} +{\smath{\mbox{\bf chineseRemainder}\opLeftPren{}lv, \allowbreak{} lm +\opRightPren{}} where \smath{lv} is a list of values \smath{[v_1, \ldots, v_n]} and \smath{lm} is a list of moduli \smath{[m_1, \ldots, m_n]}, returns \smath{m} such that \smath{m = n_i \bmod p_i}; the \smath{p_i} must be relatively prime. -\newitem\smath{\mbox{\bf chineseRemainder}\opLeftPren{}n_1, \allowbreak{} p_1, \allowbreak{} n_2, \allowbreak{} p_2\opRightPren{}} is equivalent to -\smath{\mbox{\bf chineseRemainder}\opLeftPren{}[n_1, \allowbreak{} n_2], \allowbreak{} [p_1, \allowbreak{} p_2]\opRightPren{}}, where all arguments +\newitem\smath{\mbox{\bf chineseRemainder}\opLeftPren{}n_1, +\allowbreak{} p_1, \allowbreak{} n_2, \allowbreak{} p_2\opRightPren{}} +is equivalent to +\smath{\mbox{\bf chineseRemainder}\opLeftPren{}[n_1, \allowbreak{} n_2], +\allowbreak{} [p_1, \allowbreak{} p_2]\opRightPren{}}, where all arguments are integers. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{clearDenominator}}\opLeftPren{}{\it fraction}\opRightPren{}% +\opdata{{\mbox{\axiomFun{clearDenominator}}\opLeftPren{} +{\it fraction}\opRightPren{}% }% }% {1}{(A)->A}{CommonDenominator} -{\smath{\mbox{\bf clearDenominator}\opLeftPren{}\col{q_1}{q_n}\opRightPren{}} returns \smath{\col{p_1}{p_n}} -such that \smath{q_i = p_i/d} where \smath{d} is a common denominator for the \smath{q_i}'s. -\newitem\smath{\mbox{\bf clearDenominator}\opLeftPren{}A\opRightPren{}}, where \smath{A} is a matrix of fractions, +{\smath{\mbox{\bf clearDenominator}\opLeftPren{}\col{q_1}{q_n}\opRightPren{}} +returns \smath{\col{p_1}{p_n}} +such that \smath{q_i = p_i/d} where \smath{d} is a common denominator for +the \smath{q_i}'s. +\newitem\smath{\mbox{\bf clearDenominator}\opLeftPren{}A\opRightPren{}}, +where \smath{A} is a matrix of fractions, returns matrix \smath{B} such that \smath{A = B/d} where \smath{d} is a common denominator for the elements of \smath{A}. -\newitem\smath{\mbox{\bf clearDenominator}\opLeftPren{}p\opRightPren{}} returns polynomial \smath{q} such that \smath{p = q/d} where \smath{d} is a common denominator for the coefficients of polynomial \smath{p}. +\newitem\smath{\mbox{\bf clearDenominator}\opLeftPren{}p\opRightPren{}} +returns polynomial \smath{q} such that \smath{p = q/d} where \smath{d} +is a common denominator for the coefficients of polynomial \smath{p}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{clip}}\opLeftPren{}{\it rangeOrBoolean}\opRightPren{}% +\opdata{{\mbox{\axiomFun{clip}}\opLeftPren{} +{\it rangeOrBoolean}\opRightPren{}% }% }% {1}{(Boolean)->\$}{DrawOption} -{\smath{\mbox{\bf clip}\opLeftPren{}b\opRightPren{}} turns \twodim{} clipping on if \smath{b} is \smath{true}, and off if \smath{b} +{\smath{\mbox{\bf clip}\opLeftPren{}b\opRightPren{}} turns +\twodim{} clipping on if \smath{b} is \smath{true}, and off if \smath{b} is \smath{false}. \sayOption{clip}{b} \newitem -\smath{\mbox{\bf clip}\opLeftPren{}[ a..b]\opRightPren{}} defines the range for user-defined clipping. +\smath{\mbox{\bf clip}\opLeftPren{}[ a..b]\opRightPren{}} +defines the range for user-defined clipping. \sayOption{range}{[ a..b]} } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{clipPointsDefault}}\opLeftPren{}{\it \opt{boolean}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{clipPointsDefault}}\opLeftPren{} +{\it \opt{boolean}}\opRightPren{}% }% }% {0}{()->Boolean}{GraphicsDefaults} -{\smath{\mbox{\bf clipPointsDefault}\opLeftPren{}\opRightPren{}} tests if automatic clipping is to be done. -\newitem\smath{\mbox{\bf clipPointsDefault}\opLeftPren{}b\opRightPren{}} turns on automatic clipping for \smath{b=true}, and +{\smath{\mbox{\bf clipPointsDefault}\opLeftPren{}\opRightPren{}} tests if +automatic clipping is to be done. +\newitem\smath{\mbox{\bf clipPointsDefault}\opLeftPren{}b\opRightPren{}} +turns on automatic clipping for \smath{b=true}, and off if \smath{b=false}. \sayOption{clip}{b} } @@ -69597,8 +71208,10 @@ off if \smath{b=false}. \sayOption{clip}{b} }% }% {1}{(\$)->\$}{FileCategory} -{\smath{\mbox{\bf close}\opLeftPren{}v\opRightPren{}} closes the viewport window of the given \twodim{} or -\threedim{} viewport \smath{v} and terminates the corresponding \Unix{} process. +{\smath{\mbox{\bf close}\opLeftPren{}v\opRightPren{}} +closes the viewport window of the given \twodim{} or +\threedim{} viewport \smath{v} and terminates the +corresponding Unix process. Argument \smath{v} is a member of domain \spadtype{TwoDimensionalViewport} or \spadtype{ThreeDimensionalViewport}. @@ -69609,43 +71222,57 @@ Argument \smath{v} is a member of domain }% }% {1}{(\$)->\$}{FileCategory} -{\smath{\mbox{\bf close!}\opLeftPren{}fn\opRightPren{}} returns the file \smath{fn} closed to input and output.} +{\smath{\mbox{\bf close!}\opLeftPren{}fn\opRightPren{}} +returns the file \smath{fn} closed to input and output.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{closedCurve?}}\opLeftPren{}{\it threeSpace}\opRightPren{}% +\opdata{{\mbox{\axiomFun{closedCurve?}}\opLeftPren{} +{\it threeSpace}\opRightPren{}% }% }% {1}{(\$)->Boolean}{ThreeSpace} -{\smath{\mbox{\bf closedCurve?}\opLeftPren{}sp\opRightPren{}} tests if the \spadtype{ThreeSpace} object +{\smath{\mbox{\bf closedCurve?}\opLeftPren{}sp\opRightPren{}} +tests if the \spadtype{ThreeSpace} object \smath{sp} contains a single closed curve component. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{closedCurve}}\opLeftPren{}{\it listsOfPoints\opt{, listOfPoints}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{closedCurve}}\opLeftPren{} +{\it listsOfPoints\opt{, listOfPoints}}\opRightPren{}% }% }% {1}{(List(Point(R)))->\$}{ThreeSpace} -{\smath{\mbox{\bf closedCurve}\opLeftPren{}lpt\opRightPren{}} returns a \spadtype{ThreeSpace} object -containing a single closed curve described by the list of points \smath{lpt} of the form +{\smath{\mbox{\bf closedCurve}\opLeftPren{}lpt\opRightPren{}} +returns a \spadtype{ThreeSpace} object +containing a single closed curve described by the list of points +\smath{lpt} of the form $[ p_0, p_1, \ldots, p_n, p_0]$. -\newitem\smath{\mbox{\bf closedCurve}\opLeftPren{}sp\opRightPren{}} returns a closed curve as a list of points, where +\newitem\smath{\mbox{\bf closedCurve}\opLeftPren{}sp\opRightPren{}} +returns a closed curve as a list of points, where \smath{sp} must be a \spadtype{ThreeSpace} object containing a single closed curve. -\newitem\smath{\mbox{\bf closedCurve}\opLeftPren{}sp, \allowbreak{} lpt\opRightPren{}} returns \spadtype{ThreeSpace} object with -the closed curve denoted by \smath{lpt} added. Argument \smath{lpt} is a list of points +\newitem\smath{\mbox{\bf closedCurve}\opLeftPren{}sp, +\allowbreak{} lpt\opRightPren{}} returns \spadtype{ThreeSpace} object with +the closed curve denoted by \smath{lpt} added. +Argument \smath{lpt} is a list of points of the form $[ p_0, p_1, \ldots, p_n, p_0]$. } - % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{coefficient}}\opLeftPren{}{\it polynomialOrSeries}, \allowbreak{}{\it nonNegativeInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{coefficient}}\opLeftPren{} +{\it polynomialOrSeries}, \allowbreak{}{\it nonNegativeInteger}\opRightPren{}% }% }% {2}{(\$, E)->R}{AbelianMonoidRing} -{\smath{\mbox{\bf coefficient}\opLeftPren{}p, \allowbreak{} n\opRightPren{}} extracts the coefficient of the monomial with exponent \smath{n} from polynomial \smath{p}, or returns zero if exponent is not present. -\newitem\smath{\mbox{\bf coefficient}\opLeftPren{}u, \allowbreak{} x, \allowbreak{} n\opRightPren{}} returns the coefficient of variable \smath{x} to the power +{\smath{\mbox{\bf coefficient}\opLeftPren{}p, \allowbreak{} n\opRightPren{}} +extracts the coefficient of the monomial with exponent \smath{n} from +polynomial \smath{p}, or returns zero if exponent is not present. +\newitem\smath{\mbox{\bf coefficient}\opLeftPren{}u, \allowbreak{} x, +\allowbreak{} n\opRightPren{}} returns the coefficient of variable \smath{x} +to the power \smath{n} in \smath{u}, a multivariate polynomial or series. -\newitem\smath{\mbox{\bf coefficient}\opLeftPren{}u, \allowbreak{} \col{x_1}{x_k}, \col{n_1}{n_k}\opRightPren{}} +\newitem\smath{\mbox{\bf coefficient}\opLeftPren{}u, \allowbreak{} +\col{x_1}{x_k}, \col{n_1}{n_k}\opRightPren{}} returns the coefficient of \smath{x_1^{n_1} \cdots x_k^{n_k}} in \smath{u}, a multivariate series or polynomial. \newitem Also defined for domain \spadtype{CliffordAlgebra} and categories @@ -69653,62 +71280,78 @@ a multivariate series or polynomial. \spadtype{FreeAbelianCategory}, and \spadtype{MonogenicLinearOperator}. \newitem -{\smath{\mbox{\bf coefficient}\opLeftPren{}s, \allowbreak{} n\opRightPren{}} returns the terms of total degree \smath{n} of series +{\smath{\mbox{\bf coefficient}\opLeftPren{}s, +\allowbreak{} n\opRightPren{}} returns the terms of +total degree \smath{n} of series \smath{s} as a polynomial. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{coefficients}}\opLeftPren{}{\it polynomialOrStream}\opRightPren{}% +\opdata{{\mbox{\axiomFun{coefficients}}\opLeftPren{} +{\it polynomialOrStream}\opRightPren{}% }% }% {1}{(\$)->List(R)}{FiniteAbelianMonoidRing} -{\smath{\mbox{\bf coefficients}\opLeftPren{}p\opRightPren{}} returns the list of non-zero coefficients of polynomial \smath{p} +{\smath{\mbox{\bf coefficients}\opLeftPren{}p\opRightPren{}} returns +the list of non-zero coefficients of polynomial \smath{p} starting with the coefficient of the maximum degree. -\newitem\smath{\mbox{\bf coefficients}\opLeftPren{}s\opRightPren{}} returns a stream of coefficients \smath{[ a_0, a_1, a_2, \ldots]} +\newitem\smath{\mbox{\bf coefficients}\opLeftPren{}s\opRightPren{}} +returns a stream of coefficients \smath{[ a_0, a_1, a_2, \ldots]} for the stream \smath{s}: \smath{a_0 + a_1 x + a_2 x^2 + \cdots}. Note: the entries of the stream may be zero.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{coerceImages}}\opLeftPren{}{\it listOfElements}\opRightPren{}% +\opdata{{\mbox{\axiomFun{coerceImages}}\opLeftPren{} +{\it listOfElements}\opRightPren{}% }% }% {1}{(List(S))->\$}{Permutation} -{\smath{\mbox{\bf coerceImages}\opLeftPren{}ls\opRightPren{}} coerces the list \smath{ls} to a +{\smath{\mbox{\bf coerceImages}\opLeftPren{}ls\opRightPren{}} +coerces the list \smath{ls} to a permutation whose image is given by \smath{ls} and whose preimage is fixed to be \smath{[ 1, \ldots, n]}. Note: -\smath{\mbox{\bf coerceImages}\opLeftPren{}ls\opRightPren{}}=\smath{coercePreimagesImages([ +\smath{\mbox{\bf coerceImages}\opLeftPren{}ls\opRightPren{}}= +\smath{coercePreimagesImages([ 1, \ldots, n ], ls)}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{coerceListOfPairs}}\opLeftPren{}{\it listOfPairsOfElements}\opRightPren{}% +\opdata{{\mbox{\axiomFun{coerceListOfPairs}}\opLeftPren{} +{\it listOfPairsOfElements}\opRightPren{}% }% }% {1}{(List(List(S)))->\$}{Permutation} -{\smath{\mbox{\bf coerceListOfPairs}\opLeftPren{}lls\opRightPren{}} coerces a list of pairs +{\smath{\mbox{\bf coerceListOfPairs}\opLeftPren{}lls\opRightPren{}} +coerces a list of pairs \smath{lls} to a permutation, or calls \smath{error} if not consistent, that is, the set of the first elements coincides with the set of second elements. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{coercePreimagesImages}}\opLeftPren{}{\it listOfListOfElements}\opRightPren{}% +\opdata{{\mbox{\axiomFun{coercePreimagesImages}}\opLeftPren{} +{\it listOfListOfElements}\opRightPren{}% }% }% {1}{(List(List(S)))->\$}{Permutation} -{\smath{\mbox{\bf coercePreimagesImages}\opLeftPren{}lls\opRightPren{}} coerces the representation +{\smath{\mbox{\bf coercePreimagesImages}\opLeftPren{}lls\opRightPren{}} +coerces the representation \smath{lls} of a permutation as a list of preimages and images to a permutation.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{coleman}}\opLeftPren{}{\it listOfIntegers}, \allowbreak{}{\it listOfIntegers}, \allowbreak{}{\it listOfIntegers}\opRightPren{}% +\opdata{{\mbox{\axiomFun{coleman}}\opLeftPren{} +{\it listOfIntegers}, \allowbreak{}{\it listOfIntegers}, \allowbreak{} +{\it listOfIntegers}\opRightPren{}% }% }% -{3}{(List(Integer), List(Integer), List(Integer))->Matrix(Integer)}{SymmetricGroupCombinatoricFunctions} -{\smath{\mbox{\bf coleman}\opLeftPren{}alpha, \allowbreak{} beta, \allowbreak{} pi\opRightPren{}} generates the Coleman-matrix of a +{3}{(List(Integer), List(Integer), List(Integer))->Matrix(Integer)} +{SymmetricGroupCombinatoricFunctions} +{\smath{\mbox{\bf coleman}\opLeftPren{}alpha, \allowbreak{} beta, +\allowbreak{} pi\opRightPren{}} generates the Coleman-matrix of a certain double coset of the symmetric group given by an representing element \smath{pi} and \smath{alpha} and \smath{beta}. @@ -69721,26 +71364,32 @@ column sums \smath{beta}. }% }% {1}{(Integer)->\$}{Color} -{\smath{\mbox{\bf color}\opLeftPren{}i\opRightPren{}} returns a color of the indicated hue \smath{i}. +{\smath{\mbox{\bf color}\opLeftPren{}i\opRightPren{}} returns a +color of the indicated hue \smath{i}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{colorDef}}\opLeftPren{}{\it viewPort}, \allowbreak{}{\it color}, \allowbreak{}{\it color}\opRightPren{}% +\opdata{{\mbox{\axiomFun{colorDef}}\opLeftPren{}{\it viewPort}, +\allowbreak{}{\it color}, \allowbreak{}{\it color}\opRightPren{}% }% }% {1}{(Integer)->\$}{Color} -{\smath{\mbox{\bf colorDef}\opLeftPren{}v, \allowbreak{} c_1, \allowbreak{} c_2\opRightPren{}} sets the range of colors along the colormap so +{\smath{\mbox{\bf colorDef}\opLeftPren{}v, +\allowbreak{} c_1, \allowbreak{} c_2\opRightPren{}} +sets the range of colors along the colormap so that the lower end of the colormap is defined by \smath{c_1} and the top end of the colormap is defined by \smath{c2} for the given \threedim{} viewport \smath{v}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{colorFunction}}\opLeftPren{}{\it smallFloatFunction}\opRightPren{}% +\opdata{{\mbox{\axiomFun{colorFunction}}\opLeftPren{} +{\it smallFloatFunction}\opRightPren{}% }% }% {1}{((DoubleFloat)->DoubleFloat)->\$}{DrawOption} -{\smath{\mbox{\bf colorFunction}\opLeftPren{}fn\opRightPren{}} specifies the color for +{\smath{\mbox{\bf colorFunction}\opLeftPren{}fn\opRightPren{}} +specifies the color for three-dimensional plots. Function \smath{fn} can take one to three \spadtype{DoubleFloat} arguments and always returns a \spadtype{DoubleFloat} value. @@ -69753,37 +71402,44 @@ If three arguments, the color is based on the \smath{x}, } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{column}}\opLeftPren{}{\it matrix}, \allowbreak{}{\it positiveInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{column}}\opLeftPren{} +{\it matrix}, \allowbreak{}{\it positiveInteger}\opRightPren{}% }% }% {2}{(\$, Integer)->Col}{RectangularMatrixCategory} -{\smath{\mbox{\bf column}\opLeftPren{}M, \allowbreak{} j\opRightPren{}} returns the \eth{\smath{j}} column of the +{\smath{\mbox{\bf column}\opLeftPren{}M, +\allowbreak{} j\opRightPren{}} returns the \eth{\smath{j}} column of the matrix or \spadtype{TwoDimensionalArrayCategory} object \smath{M}, or calls \spadfun{error} if the index is outside the proper range. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{commaSeparate}}\opLeftPren{}{\it listOfOutputForms}\opRightPren{}% +\opdata{{\mbox{\axiomFun{commaSeparate}}\opLeftPren{} +{\it listOfOutputForms}\opRightPren{}% }% }% {}{}{} -{\smath{\mbox{\bf commaSeparate}\opLeftPren{}lo\opRightPren{}}, where \smath{lo} is a list of objects +{\smath{\mbox{\bf commaSeparate}\opLeftPren{}lo\opRightPren{}}, +where \smath{lo} is a list of objects of type \spadtype{OutputForm} (normally unexposed), returns an output form which separates the elements of \smath{lo} by commas. } - % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{commonDenominator}}\opLeftPren{}{\it fraction}\opRightPren{}% +\opdata{{\mbox{\axiomFun{commonDenominator}}\opLeftPren{} +{\it fraction}\opRightPren{}% }% }% {1}{(A)->R}{CommonDenominator} -{\smath{\mbox{\bf commonDenominator}\opLeftPren{}\col{q_1}{q_n}\opRightPren{}} returns a common +{\smath{\mbox{\bf commonDenominator}\opLeftPren{}\col{q_1}{q_n}\opRightPren{}} +returns a common denominator for the \smath{q_i}'s. -\newitem\smath{\mbox{\bf commonDenominator}\opLeftPren{}A\opRightPren{}}, where \smath{A} is a matrix +\newitem\smath{\mbox{\bf commonDenominator}\opLeftPren{}A\opRightPren{}}, +where \smath{A} is a matrix of fractions, returns a common denominator for the elements of \smath{A}. -\newitem\smath{\mbox{\bf commonDenominator}\opLeftPren{}p\opRightPren{}} returns a common denominator +\newitem\smath{\mbox{\bf commonDenominator}\opLeftPren{}p\opRightPren{}} +returns a common denominator for the coefficients of polynomial \smath{p}. } @@ -69792,46 +71448,60 @@ for the coefficients of polynomial \smath{p}. }% }% {0}{()->Boolean}{FiniteRankNonAssociativeAlgebra} -{\smath{\mbox{\bf commutative?}\opLeftPren{}\opRightPren{}\$R} tests if multiplication in the algebra \smath{R} is commutative. +{\smath{\mbox{\bf commutative?}\opLeftPren{}\opRightPren{}\$R} +tests if multiplication in the algebra \smath{R} is commutative. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{commutator}}\opLeftPren{}{\it groupElement}, \allowbreak{}{\it groupElement}\opRightPren{}% +\opdata{{\mbox{\axiomFun{commutator}}\opLeftPren{} +{\it groupElement}, \allowbreak{}{\it groupElement}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{Group} -{\smath{\mbox{\bf commutator}\opLeftPren{}p, \allowbreak{} q\opRightPren{}} computes \smath{\mbox{\bf inv}\opLeftPren{}p) * {\mbox {\bf inv}}(q) * p * q} where \smath{p} and +{\smath{\mbox{\bf commutator}\opLeftPren{}p, +\allowbreak{} q\opRightPren{}} computes \smath{\mbox{\bf inv}\opLeftPren{}p) * +{\mbox {\bf inv}}(q) * p * q} where \smath{p} and \smath{q} are members of a \spadtype{Group} domain. \newitem -\smath{\mbox{\bf commutator}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} returns \smath{ab-ba} where \smath{a} +\smath{\mbox{\bf commutator}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}} returns \smath{ab-ba} where \smath{a} and \smath{b} are members of a \spadtype{NonAssociativeRing} domain. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{compactFraction}}\opLeftPren{}{\it partialFraction}\opRightPren{}% +\opdata{{\mbox{\axiomFun{compactFraction}}\opLeftPren{} +{\it partialFraction}\opRightPren{}% }% }% {1}{(\$)->\$}{PartialFraction} -{\smath{\mbox{\bf compactFraction}\opLeftPren{}u\opRightPren{}} normalizes the partial fraction \smath{u} to a compact representation where it has only one fractional term per prime in the denominator.} +{\smath{\mbox{\bf compactFraction}\opLeftPren{}u\opRightPren{}} +normalizes the partial fraction \smath{u} to a compact representation +where it has only one fractional term per prime in the denominator.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{comparison}}\opLeftPren{}{\it basicOperator}, \allowbreak{}{\it property}\opRightPren{}% +\opdata{{\mbox{\axiomFun{comparison}}\opLeftPren{} +{\it basicOperator}, \allowbreak{}{\it property}\opRightPren{}% }% }% {2}{(\$, (\$, \$)->Boolean)->\$}{BasicOperator} -{\smath{\mbox{\bf comparison}\opLeftPren{}op, \allowbreak{} p\opRightPren{}} attaches \smath{p} +{\smath{\mbox{\bf comparison}\opLeftPren{}op, +\allowbreak{} p\opRightPren{}} attaches \smath{p} as the \mbox{\tt "\%less?"} property to \smath{op}. If \smath{op1} and \smath{op2} have the same name, and one of them has a \mbox{\tt "\%less?"} property \smath{p}, then \smath{p(op1, op2)} is called to decide whether \smath{op1 < op2}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{compile}}\opLeftPren{}{\it symbol}, \allowbreak{}{\it listOfTypes}\opRightPren{}% +\opdata{{\mbox{\axiomFun{compile}}\opLeftPren{} +{\it symbol}, \allowbreak{}{\it listOfTypes}\opRightPren{}% }% }% { (Symbol, List $) -> Symbol}{}{} -{\smath{\mbox{\bf compile}\opLeftPren{}f, \allowbreak{} [T_1, \allowbreak{} \ldots, T_n]\opRightPren{}} forces the interpreter to compile -the function with name \smath{f} with signature \smath{(T_1, \ldots, T_n) -> T}, +{\smath{\mbox{\bf compile}\opLeftPren{}f, +\allowbreak{} [T_1, \allowbreak{} \ldots, T_n]\opRightPren{}} +forces the interpreter to compile +the function with name \smath{f} with signature +\smath{(T_1, \ldots, T_n) -> T}, where \smath{T} is a type determined by type analysis of the function body of \smath{f}. If the compilation is successful, the operation returns the name \smath{f}. @@ -69843,7 +71513,9 @@ See also \spadfun{function}, } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{compiledFunction}}\opLeftPren{}{\it expression}, \allowbreak{}{\it symbol }\allowbreak $\,[$ , \allowbreak{}{\it symbol}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{compiledFunction}}\opLeftPren{} +{\it expression}, \allowbreak{}{\it symbol }\allowbreak $\,[$ , \allowbreak{} +{\it symbol}$]$\opRightPren{}% }% }% { (S, SY) -> (D -> I)}{}{} @@ -69852,14 +71524,16 @@ coercible to type \spadtype{InputForm} (most commonly used types). These functions must be package called to define the type of the function produced.} \newitem -\smath{\mbox{\bf compiledFunction}\opLeftPren{}expr, \allowbreak{} x\opRightPren{}\$P}, where \smath{P} is +\smath{\mbox{\bf compiledFunction}\opLeftPren{}expr, +\allowbreak{} x\opRightPren{}\$P}, where \smath{P} is \spadtype{MakeUnaryCompiledFunction(E, S, T)}, returns an anonymous function of type \smath{S}{T} defined by defined by \smath{x \mapsto {\rm expr}}. The anonymous function is compiled and directly applicable to objects of type \smath{S}. \newitem -\smath{\mbox{\bf compiledFunction}\opLeftPren{}expr, \allowbreak{} x, \allowbreak{} y\opRightPren{}\$P}, where \smath{P} is +\smath{\mbox{\bf compiledFunction}\opLeftPren{}expr, +\allowbreak{} x, \allowbreak{} y\opRightPren{}\$P}, where \smath{P} is \spadtype{MakeBinaryCompiledFunction(E, A, B, T)} returns an anonymous function of type \spadsig{(A, B)}{T} defined by \smath{(x, y) \mapsto {\rm expr}}. @@ -69871,33 +71545,42 @@ See also \spadfun{compile}, \spadfun{function}, and } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{complement}}\opLeftPren{}{\it finiteSetElement}\opRightPren{}% +\opdata{{\mbox{\axiomFun{complement}}\opLeftPren{} +{\it finiteSetElement}\opRightPren{}% }% }% {1}{(\$)->\$}{FiniteSetAggregate} -{\smath{\mbox{\bf complement}\opLeftPren{}u\opRightPren{}} returns the complement of the finite set \smath{u}, that is, the set of all values not in \smath{u}. +{\smath{\mbox{\bf complement}\opLeftPren{}u\opRightPren{}} +returns the complement of the finite set \smath{u}, that is, the +set of all values not in \smath{u}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{complementaryBasis}}\opLeftPren{}{\it vector}\opRightPren{}% +\opdata{{\mbox{\axiomFun{complementaryBasis}}\opLeftPren{} +{\it vector}\opRightPren{}% }% }% {1}{(Vector(\$))->Vector(\$)}{FunctionFieldCategory} -{\smath{\mbox{\bf complementaryBasis}\opLeftPren{}b_1, \allowbreak{} \ldots, b_n\opRightPren{}} returns the complementary -basis \smath{(b_1^{'}, \ldots, b_n^{'})} of \smath{(b_1, \ldots, b_n)} for a domain of category \spadtype{FunctionFieldCategory}. +{\smath{\mbox{\bf complementaryBasis}\opLeftPren{}b_1, +\allowbreak{} \ldots, b_n\opRightPren{}} returns the complementary +basis \smath{(b_1^{'}, \ldots, b_n^{'})} of \smath{(b_1, \ldots, b_n)} +for a domain of category \spadtype{FunctionFieldCategory}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{complete}}\opLeftPren{}{\it streamOrInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{complete}}\opLeftPren{} +{\it streamOrInteger}\opRightPren{}% }% }% {1}{(\$)->\$}{LazyStreamAggregate} -{\smath{\mbox{\bf complete}\opLeftPren{}u\opRightPren{}} causes all terms of a stream or continued +{\smath{\mbox{\bf complete}\opLeftPren{}u\opRightPren{}} +causes all terms of a stream or continued fraction \smath{u} to be computed. If not called on a finite stream or continued fraction, this function will compute until interrupted. \newitem -\smath{\mbox{\bf complete}\opLeftPren{}n\opRightPren{}} is the \eth{\smath{n}} complete +\smath{\mbox{\bf complete}\opLeftPren{}n\opRightPren{}} +is the \eth{\smath{n}} complete homogeneous symmetric function expressed in terms of power sums. Alternatively, it is the cycle index of the symmetric group of degree \smath{n}. @@ -69905,108 +71588,152 @@ See \spadtype{CycleIndicators} for details. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{completeEchelonBasis}}\opLeftPren{}{\it vectorOfVectors}\opRightPren{}% +\opdata{{\mbox{\axiomFun{completeEchelonBasis}}\opLeftPren{} +{\it vectorOfVectors}\opRightPren{}% }% }% {1}{(Vector(Vector(R)))->Matrix(R)}{RepresentationPackage2} -{\smath{\mbox{\bf completeEchelonBasis}\opLeftPren{}vv\opRightPren{}} returns a completed basis from \smath{vv}, +{\smath{\mbox{\bf completeEchelonBasis}\opLeftPren{}vv\opRightPren{}} +returns a completed basis from \smath{vv}, a vector of vectors of domain elements. \seeDetails{RepresentationPackage2} } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{complex}}\opLeftPren{}{\it element}, \allowbreak{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{complex}}\opLeftPren{}{\it element}, +\allowbreak{}{\it element}\opRightPren{}% }% }% {2}{(R, R)->\$}{ComplexCategory} -{\smath{\mbox{\bf complex}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} creates the complex expression \smath{x} + \%i*y.} +{\smath{\mbox{\bf complex}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} +creates the complex expression \smath{x} + \%i*y.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{complexEigenvalues}}\opLeftPren{}{\it matrix}, \allowbreak{}{\it precision}\opRightPren{}% +\opdata{{\mbox{\axiomFun{complexEigenvalues}}\opLeftPren{}{\it matrix}, +\allowbreak{}{\it precision}\opRightPren{}% }% }% -{2}{(Matrix(Complex(Fraction(Integer))), Float)->List(Complex(Float))}{NumericComplexEigenPackage} -{\smath{\mbox{\bf complexEigenvalues}\opLeftPren{}m, \allowbreak{} eps\opRightPren{}} computes the eigenvalues of the matrix \smath{m} to precision \smath{eps}, chosen as a float or a rational number so as to agree with the type +{2}{(Matrix(Complex(Fraction(Integer))), Float)->List(Complex(Float))} +{NumericComplexEigenPackage} +{\smath{\mbox{\bf complexEigenvalues}\opLeftPren{}m, \allowbreak{} +eps\opRightPren{}} computes the eigenvalues of the matrix \smath{m} +to precision \smath{eps}, chosen as a float or a rational number +so as to agree with the type of the coefficients of the matrix \smath{m}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{complexEigenvectors}}\opLeftPren{}{\it matrix}, \allowbreak{}{\it precision}\opRightPren{}% +\opdata{{\mbox{\axiomFun{complexEigenvectors}}\opLeftPren{} +{\it matrix}, \allowbreak{}{\it precision}\opRightPren{}% }% }% -{2}{(Matrix(Complex(Fraction(Integer))), Float)->List(Record(floatval:Complex(Float), floatmult:Integer, floatvect:List(Matrix(Complex(Float)))))}{NumericComplexEigenPackage} -{\smath{\mbox{\bf complexEigenvectors}\opLeftPren{}m, \allowbreak{} eps\opRightPren{}} (\smath{m}, a matrix) returns a list of records, +{2}{(Matrix(Complex(Fraction(Integer))), Float)-> +List(Record(floatval:Complex(Float), floatmult:Integer, +floatvect:List(Matrix(Complex(Float)))))}{NumericComplexEigenPackage} +{\smath{\mbox{\bf complexEigenvectors}\opLeftPren{}m, +\allowbreak{} eps\opRightPren{}} (\smath{m}, a matrix) +returns a list of records, each containing a complex eigenvalue, its algebraic multiplicity, and a list of associated eigenvectors. -All results are expressed as complex floats or rationals with precision \smath{eps}. +All results are expressed as complex floats or rationals +with precision \smath{eps}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{complexElementary}}\opLeftPren{}{\it expression\opt{, symbol}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{complexElementary}}\opLeftPren{} +{\it expression\opt{, symbol}}\opRightPren{}% }% }% {1}{(F)->F}{TrigonometricManipulations} -{\smath{\mbox{\bf complexElementary}\opLeftPren{}e\opRightPren{}} rewrites \smath{e} in terms of the two fundamental complex transcendental elementary functions: \smath{log, exp}. -\newitem\smath{\mbox{\bf complexElementary}\opLeftPren{}e, \allowbreak{} x\opRightPren{}} does the same but only rewrites kernels of \smath{e} +{\smath{\mbox{\bf complexElementary}\opLeftPren{}e\opRightPren{}} +rewrites \smath{e} in terms of the two fundamental complex transcendental +elementary functions: \smath{log, exp}. +\newitem\smath{\mbox{\bf complexElementary}\opLeftPren{}e, +\allowbreak{} x\opRightPren{}} does the same but only rewrites +kernels of \smath{e} involving \smath{x}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{complexExpand}}\opLeftPren{}{\it integrationResult}\opRightPren{}% +\opdata{{\mbox{\axiomFun{complexExpand}}\opLeftPren{} +{\it integrationResult}\opRightPren{}% }% }% {1}{(IntegrationResult(F))->F}{IntegrationResultToFunction} -{\smath{\mbox{\bf complexExpand}\opLeftPren{}ir\opRightPren{}}, where \smath{ir} is an \spadtype{IntegrationResult}, returns the expanded complex function corresponding to \smath{ir}. +{\smath{\mbox{\bf complexExpand}\opLeftPren{}ir\opRightPren{}}, +where \smath{ir} is an \spadtype{IntegrationResult}, +returns the expanded complex function corresponding to \smath{ir}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{complexIntegrate}}\opLeftPren{}{\it expression}, \allowbreak{}{\it variable}\opRightPren{}% +\opdata{{\mbox{\axiomFun{complexIntegrate}}\opLeftPren{} +{\it expression}, \allowbreak{}{\it variable}\opRightPren{}% }% }% {2}{(F, Symbol)->F}{FunctionSpaceComplexIntegration} -{\smath{\mbox{\bf complexIntegrate}\opLeftPren{}f, \allowbreak{} x\opRightPren{}} returns $\int f(x)dx$ where \smath{x} is viewed as a complex variable. +{\smath{\mbox{\bf complexIntegrate}\opLeftPren{}f, +\allowbreak{} x\opRightPren{}} returns $\int f(x)dx$ where \smath{x} is viewed +as a complex variable. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{complexLimit}}\opLeftPren{}{\it expression}, \allowbreak{}{\it equation}\opRightPren{}% +\opdata{{\mbox{\axiomFun{complexLimit}}\opLeftPren{} +{\it expression}, \allowbreak{}{\it equation}\opRightPren{}% }% }% -{2}{(Fraction(Polynomial(R)), Equation(Fraction(Polynomial(R))))->OnePointCompletion(Fraction(Polynomial(R)))}{RationalFunctionLimitPackage} -{\smath{\mbox{\bf complexLimit}\opLeftPren{}f(x), \allowbreak{} x = a\opRightPren{}} computes the complex limit of \smath{f} as its argument \smath{x} approaches \smath{a}. +{2}{(Fraction(Polynomial(R)), +Equation(Fraction(Polynomial(R))))-> +OnePointCompletion(Fraction(Polynomial(R)))}{RationalFunctionLimitPackage} +{\smath{\mbox{\bf complexLimit}\opLeftPren{}f(x), +\allowbreak{} x = a\opRightPren{}} computes the complex +limit of \smath{f} as its argument +\smath{x} approaches \smath{a}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{complexNormalize}}\opLeftPren{}{\it expression\opt{, symbol}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{complexNormalize}}\opLeftPren{} +{\it expression\opt{, symbol}}\opRightPren{}% }% }% {1}{(F)->F}{TrigonometricManipulations} -{\smath{\mbox{\bf complexNormalize}\opLeftPren{}e\opRightPren{}} rewrites \smath{e} using the least possible number of complex independent kernels. -\newitem\smath{\mbox{\bf complexNormalize}\opLeftPren{}e, \allowbreak{} x\opRightPren{}} rewrites \smath{e} using the least possible number of complex independent kernels involving \smath{x}. +{\smath{\mbox{\bf complexNormalize}\opLeftPren{}e\opRightPren{}} rewrites +\smath{e} using the least possible number of complex independent kernels. +\newitem\smath{\mbox{\bf complexNormalize}\opLeftPren{}e, +\allowbreak{} x\opRightPren{}} rewrites \smath{e} using the least possible +number of complex independent kernels involving \smath{x}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{complexNumeric}}\opLeftPren{}{\it expression\opt{, positiveInteger}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{complexNumeric}}\opLeftPren{} +{\it expression\opt{, positiveInteger}}\opRightPren{}% }% }% {1}{(Expression(S))->Complex(Float)}{Numeric} -{\smath{\mbox{\bf complexNumeric}\opLeftPren{}u\opRightPren{}} returns a complex approximation of \smath{u}, +{\smath{\mbox{\bf complexNumeric}\opLeftPren{}u\opRightPren{}} +returns a complex approximation of \smath{u}, where \smath{u} is a polynomial or an expression. -\newitem\smath{\mbox{\bf complexNumeric}\opLeftPren{}u, \allowbreak{} n\opRightPren{}} does the same but requires accuracy to be up to +\newitem\smath{\mbox{\bf complexNumeric}\opLeftPren{}u, +\allowbreak{} n\opRightPren{}} does the same but requires accuracy to be up to \smath{n} decimal places. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{complexRoots}}\opLeftPren{}{\it rationalFunctions\opt{, options}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{complexRoots}}\opLeftPren{} +{\it rationalFunctions\opt{, options}}\opRightPren{}% }% }% -{2}{(Fraction(Polynomial(Complex(Fraction(Integer)))), Par)->List(Complex(Par))}{FloatingComplexPackage} -{\smath{\mbox{\bf complexRoots}\opLeftPren{}rf, \allowbreak{} eps\opRightPren{}} finds all the complex solutions of a +{2}{(Fraction(Polynomial(Complex(Fraction(Integer)))), Par)-> +List(Complex(Par))}{FloatingComplexPackage} +{\smath{\mbox{\bf complexRoots}\opLeftPren{}rf, +\allowbreak{} eps\opRightPren{}} finds all the complex solutions of a univariate rational function with rational number coefficients with precision given by \smath{eps}. The complex solutions are returned either as rational numbers or floats depending on whether \smath{eps} is a rational number or a float. -\newitem\smath{\mbox{\bf complexRoots}\opLeftPren{}lrf, \allowbreak{} lv, \allowbreak{} eps\opRightPren{}} similarly finds all the complex solutions +\newitem\smath{\mbox{\bf complexRoots}\opLeftPren{}lrf, +\allowbreak{} lv, \allowbreak{} eps\opRightPren{}} similarly +finds all the complex solutions of a list of rational functions with rational number coefficients with respect the variables appearing in \smath{lv}. Solutions are computed to precision \smath{eps} and returned as @@ -70014,67 +71741,100 @@ a list of values corresponding to the order of variables in \smath{lv}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{complexSolve}}\opLeftPren{}{\it eq}, \allowbreak{}{\it x}\opRightPren{}% +\opdata{{\mbox{\axiomFun{complexSolve}}\opLeftPren{} +{\it eq}, \allowbreak{}{\it x}\opRightPren{}% }% }% -{1}{(Equation(Expression(R)))->List(Equation(Expression(R)))}{TransSolvePackage} +{1}{(Equation(Expression(R)))->List(Equation(Expression(R)))} +{TransSolvePackage} {See \smath{\mbox{\bf solve}\opLeftPren{}u, \allowbreak{} v\opRightPren{}}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{complexZeros}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it floatOrRationaNumber}\opRightPren{}% +\opdata{{\mbox{\axiomFun{complexZeros}}\opLeftPren{} +{\it polynomial}, \allowbreak{}{\it floatOrRationaNumber}\opRightPren{}% }% }% {2}{(UP, Par)->List(Complex(Par))}{ComplexRootPackage} -{\smath{\mbox{\bf complexZeros}\opLeftPren{}poly, \allowbreak{} eps\opRightPren{}} finds the complex zeros of the +{\smath{\mbox{\bf complexZeros}\opLeftPren{}poly, +\allowbreak{} eps\opRightPren{}} finds the complex zeros of the univariate polynomial \smath{poly} to precision \smath{eps}. Solutions are returned either as complex floats or rationals depending on the type of \smath{eps}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{components}}\opLeftPren{}{\it threeSpace}\opRightPren{}% +\opdata{{\mbox{\axiomFun{components}}\opLeftPren{} +{\it threeSpace}\opRightPren{}% }% }% {1}{(\$)->List(\$)}{ThreeSpace} -{\smath{\mbox{\bf components}\opLeftPren{}sp\opRightPren{}} takes the \spadtype{ThreeSpace} object \smath{sp}, and returns +{\smath{\mbox{\bf components}\opLeftPren{}sp\opRightPren{}} takes the +\spadtype{ThreeSpace} object \smath{sp}, and returns a list of \spadtype{ThreeSpace} objects, each having a single component. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{composite}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it polynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{composite}}\opLeftPren{}{\it polynomial}, +\allowbreak{}{\it polynomial}\opRightPren{}% }% }% {1}{(List(\$))->\$}{ThreeSpace} -{\smath{\mbox{\bf composite}\opLeftPren{}p, \allowbreak{} q\opRightPren{}}, for polynomials \smath{p} and \smath{q}, -returns \smath{f} if \smath{p} = \smath{f(q)}, and \mbox{\tt "failed"} if no such \smath{f} exists. +{\smath{\mbox{\bf composite}\opLeftPren{}p, \allowbreak{} q\opRightPren{}}, +for polynomials \smath{p} and \smath{q}, +returns \smath{f} if \smath{p} = \smath{f(q)}, and \mbox{\tt "failed"} +if no such \smath{f} exists. \newitem -\smath{\mbox{\bf composite}\opLeftPren{}lsp\opRightPren{}}, where \smath{lsp} is a list +\smath{\mbox{\bf composite}\opLeftPren{}lsp\opRightPren{}}, +where \smath{lsp} is a list \smath{[ sp_1, sp_2, \ldots, sp_n]} of \spadtype{ThreeSpace} objects, returns a single \spadtype{ThreeSpace} object containing the union of all objects in the parameter list grouped as a single composite. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{composites}}\opLeftPren{}{\it threeSpace}\opRightPren{}% +\opdata{{\mbox{\axiomFun{composites}}\opLeftPren{} +{\it threeSpace}\opRightPren{}% }% }% {1}{(\$)->List(\$)}{ThreeSpace} -{\smath{\mbox{\bf composites}\opLeftPren{}sp\opRightPren{}} takes the \spadtype{ThreeSpace} object \smath{sp} -and returns a list of \spadtype{ThreeSpace} objects, one for each single composite -of \smath{sp}. If \smath{sp} has no defined composites (composites need to be explicitly created), the list returned is empty. Note that not all the components need to be part of a composite.} +{\smath{\mbox{\bf composites}\opLeftPren{}sp\opRightPren{}} +takes the \spadtype{ThreeSpace} object \smath{sp} +and returns a list of \spadtype{ThreeSpace} objects, +one for each single composite +of \smath{sp}. If \smath{sp} has no defined composites +(composites need to be explicitly created), the list returned is empty. +Note that not all the components need to be part of a composite.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{concat}}\opLeftPren{}{\it aggregate}, \allowbreak{}{\it aggregate}\opRightPren{}% -\opand \mbox{\axiomFun{concat!}}\opLeftPren{}{\it aggregate}, \allowbreak{}{\it aggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{concat}}\opLeftPren{} +{\it aggregate}, \allowbreak{}{\it aggregate}\opRightPren{}% +\opand \mbox{\axiomFun{concat!}}\opLeftPren{} +{\it aggregate}, \allowbreak{}{\it aggregate}\opRightPren{}% }% }% {2}{(\$, S)->\$}{ExtensibleLinearAggregate} -{\smath{\mbox{\bf concat}\opLeftPren{}u, \allowbreak{} x\opRightPren{}} returns list \smath{u} with additional element \smath{x} at the end. Note: equivalent to \smath{\mbox{\bf concat}\opLeftPren{}u, \allowbreak{} [ x]\opRightPren{}}. -\newitem\smath{\mbox{\bf concat}\opLeftPren{}u, \allowbreak{} v\opRightPren{}} returns an aggregate consisting of the elements of \smath{u} followed by the elements of \smath{v}. -\newitem\smath{\mbox{\bf concat}\opLeftPren{}u\opRightPren{}}, where \smath{u} is a list of aggregates \smath{[ a, b, $\ldots$, c]}, returns a single aggregate consisting of the elements of \smath{a} followed by those of \smath{b} followed $\ldots$ by the elements of \smath{c}. -\newitem\smath{\mbox{\bf concat!}\opLeftPren{}u, \allowbreak{} x\opRightPren{}}, where \smath{u} is extensible, destructively adds element \smath{x} to the end of aggregate \smath{u}; if \smath{u} is a stream, it must be finite. -\newitem\smath{\mbox{\bf concat!}\opLeftPren{}u, \allowbreak{} v\opRightPren{}} destructively appends \smath{v} to the end of \smath{u}; if +{\smath{\mbox{\bf concat}\opLeftPren{}u, +\allowbreak{} x\opRightPren{}} returns list \smath{u} with additional element +\smath{x} at the end. Note: equivalent to +\smath{\mbox{\bf concat}\opLeftPren{}u, +\allowbreak{} [ x]\opRightPren{}}. +\newitem\smath{\mbox{\bf concat}\opLeftPren{}u, +\allowbreak{} v\opRightPren{}} returns an aggregate +consisting of the elements of \smath{u} +followed by the elements of \smath{v}. +\newitem\smath{\mbox{\bf concat}\opLeftPren{}u\opRightPren{}}, +where \smath{u} is a list of aggregates \smath{[ a, b, $\ldots$, c]}, +returns a single aggregate consisting of the elements of \smath{a} followed +by those of \smath{b} followed $\ldots$ by the elements of \smath{c}. +\newitem\smath{\mbox{\bf concat!}\opLeftPren{}u, +\allowbreak{} x\opRightPren{}}, where \smath{u} is +extensible, destructively adds +element \smath{x} to the end of aggregate \smath{u}; if \smath{u} is a stream, +it must be finite. +\newitem\smath{\mbox{\bf concat!}\opLeftPren{}u, +\allowbreak{} v\opRightPren{}} destructively appends \smath{v} +to the end of \smath{u}; if \smath{u} is a stream, it must be finite. } @@ -70083,7 +71843,8 @@ of \smath{sp}. If \smath{sp} has no defined composites (composites need to be ex }% }% {1}{(Matrix(\$))->Union(Vector(\$), "failed")}{FiniteFieldCategory} -{\smath{\mbox{\bf conditionP}\opLeftPren{}M\opRightPren{}}, given a matrix \smath{M} representing a +{\smath{\mbox{\bf conditionP}\opLeftPren{}M\opRightPren{}}, +given a matrix \smath{M} representing a homogeneous system of equations over a field \smath{F} with \spadfun{characteristic} \smath{p}, returns a non-zero vector whose \eth{\smath{p}} power is a non-trivial solution to these @@ -70091,7 +71852,8 @@ equations, or \mbox{\tt "failed"} if no such vector exists. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{conditionsForIdempotents}}\opLeftPren{}\opRightPren{}% +\opdata{{\mbox{\axiomFun{conditionsForIdempotents}} +\opLeftPren{}\opRightPren{}% }% }% {0}{()->List(Polynomial(R))}{FramedNonAssociativeAlgebra} @@ -70104,11 +71866,13 @@ definition} } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{conical}}\opLeftPren{}{\it smallFloat}, \allowbreak{}{\it smallFloat}\opRightPren{}% +\opdata{{\mbox{\axiomFun{conical}}\opLeftPren{} +{\it smallFloat}, \allowbreak{}{\it smallFloat}\opRightPren{}% }% }% {2}{(R, R)->(Point(R))->Point(R)}{CoordinateSystems} -{\smath{\mbox{\bf conical}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} returns a function of two parameters for +{\smath{\mbox{\bf conical}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}} returns a function of two parameters for mapping conical coordinates to Cartesian coordinates. The function maps the point \smath{(\lambda, \mu, \nu)} to \smath{x = \lambda\mu\nu/(ab)}, \smath{y = @@ -70116,48 +71880,61 @@ The function maps the point \smath{(\lambda, \mu, \nu)} to \smath{x \lambda/b\sqrt((mu^2-b^2)(nu^2-b^2)/(b^2-a^2))}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{conjugate}}\opLeftPren{}{\it element\opt{, element}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{conjugate}}\opLeftPren{} +{\it element\opt{, element}}\opRightPren{}% }% }% {1}{(\$)->\$}{ComplexCategory} -{\smath{\mbox{\bf conjugate}\opLeftPren{}u\opRightPren{}} returns the conjugate of a complex, -quaternion, or octonian expression \smath{u}. For example, if \smath{u} is the -complex expression \smath{x + \%i y}, \smath{\mbox{\bf conjugate}\opLeftPren{}u\opRightPren{}} +{\smath{\mbox{\bf conjugate}\opLeftPren{}u\opRightPren{}} +returns the conjugate of a complex, +quaternion, or octonian expression \smath{u}. For example, +if \smath{u} is the +complex expression \smath{x + \%i y}, +\smath{\mbox{\bf conjugate}\opLeftPren{}u\opRightPren{}} returns \smath{x - \% i y}. -\newitem\smath{\mbox{\bf conjugate}\opLeftPren{}pt\opRightPren{}} returns the conjugate of a partition \smath{pt}. +\newitem\smath{\mbox{\bf conjugate}\opLeftPren{}pt\opRightPren{}} +returns the conjugate of a partition \smath{pt}. \seeType{PartitionsAndPermutations} -\newitem\smath{\mbox{\bf conjugate}\opLeftPren{}p, \allowbreak{} q\opRightPren{}} returns \smath{\mbox{\bf inv}\opLeftPren{}q) * p * q} +\newitem\smath{\mbox{\bf conjugate}\opLeftPren{}p, +\allowbreak{} q\opRightPren{}} returns +\smath{\mbox{\bf inv}\opLeftPren{}q) * p * q} for elements \smath{p} and \smath{q} of a group. Note: this operation is called {\it right action by conjugation}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{conjugates}}\opLeftPren{}{\it streamOfPartitions}\opRightPren{}% +\opdata{{\mbox{\axiomFun{conjugates}}\opLeftPren{} +{\it streamOfPartitions}\opRightPren{}% }% }% {1}{(Stream(List(Integer)))->Stream(List(Integer))}{PartitionsAndPermutations} -{\smath{\mbox{\bf conjugates}\opLeftPren{}lp\opRightPren{}} is the stream of conjugates of a stream of +{\smath{\mbox{\bf conjugates}\opLeftPren{}lp\opRightPren{}} +is the stream of conjugates of a stream of partitions \smath{lp}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{connect}}\opLeftPren{}{\it twoDimensionalViewport}, \allowbreak{}{\it positiveInteger}, \allowbreak{}{\it string}\opRightPren{}% +\opdata{{\mbox{\axiomFun{connect}}\opLeftPren{} +{\it twoDimensionalViewport}, \allowbreak{} +{\it positiveInteger}, \allowbreak{}{\it string}\opRightPren{}% }% }% {3}{(Kernel(S))->Union(R, "failed")}{KernelFunctions2} -{\smath{\mbox{\bf connect}\opLeftPren{}v, \allowbreak{} n, \allowbreak{} s\opRightPren{}} displays the lines connecting the graph points in +{\smath{\mbox{\bf connect}\opLeftPren{}v, +\allowbreak{} n, \allowbreak{} s\opRightPren{}} +displays the lines connecting the graph points in field \smath{n} of the \twodim{} viewport \smath{v} if \smath{s="on"}, and does not display the lines if \smath{s="off"}. } - - - % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{constant}}\opLeftPren{}{\it variableOrfunction}\opRightPren{}% - \optand \mbox{\axiomFun{constantLeft}}\opLeftPren{}{\it function}, \allowbreak{}{\it element}\opRightPren{}% - \opand \mbox{\axiomFun{constantRight}}\opLeftPren{}{\it function}, \allowbreak{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{constant}}\opLeftPren{} +{\it variableOrfunction}\opRightPren{}% + \optand \mbox{\axiomFun{constantLeft}}\opLeftPren{} +{\it function}, \allowbreak{}{\it element}\opRightPren{}% + \opand \mbox{\axiomFun{constantRight}}\opLeftPren{} +{\it function}, \allowbreak{}{\it element}\opRightPren{}% }% }% { (()->C) -> (A ->C)}{}{} @@ -70165,86 +71942,115 @@ and does not display the lines if \smath{s="off"}. and must be package-called from package \smath{P} as indicated. See also \spadfun{curry}, \spadfun{curryLeft}, and \spadfun{curryRight}.} \newitem -\smath{\mbox{\bf constant}\opLeftPren{}f\opRightPren{}\$P} returns the function \smath{g} +\smath{\mbox{\bf constant}\opLeftPren{}f\opRightPren{}\$P} +returns the function \smath{g} such that \smath{g(a)= f()}, where function \smath{f} has type \spadsig{}{C} and \smath{a} has type \smath{A}. The function must be package-called from \smath{P =} \spadtype{MappingPackage2(A, C)}. \newitem -\smath{\mbox{\bf constantRight}\opLeftPren{}f\opRightPren{}\$P} returns the function \smath{g} +\smath{\mbox{\bf constantRight}\opLeftPren{}f\opRightPren{}\$P} +returns the function \smath{g} such that \smath{g(a, b)= f(a)}, where function \smath{f} has type \spadsig{A}{C} and \smath{b} has type \smath{B}. This function must be package-called from \smath{P =} \spadtype{MappingPackage3(A, B, C)}. \newitem -\smath{\mbox{\bf constantLeft}\opLeftPren{}f\opRightPren{}\$P} returns the function \smath{g} +\smath{\mbox{\bf constantLeft}\opLeftPren{}f\opRightPren{}\$P} +returns the function \smath{g} such that \smath{g(a, b)= f(b)}, where function \smath{f} has type \spadsig{B}{C} and \smath{a} has type \smath{A}. The function must be package-called from \smath{P =} \spadtype{MappingPackage3(A, B, C)}. \newitem -\smath{\mbox{\bf constant}\opLeftPren{}x\opRightPren{}} tells the pattern matcher that \smath{x} should match -the symbol \smath{'x} and no other quantity, or calls \spadfun{error} if \smath{x} is not a symbol. +\smath{\mbox{\bf constant}\opLeftPren{}x\opRightPren{}} +tells the pattern matcher that \smath{x} should match +the symbol \smath{'x} and no other quantity, or calls +\spadfun{error} if \smath{x} is not a symbol. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{constantOperator}}\opLeftPren{}{\it property}\opRightPren{}% +\opdata{{\mbox{\axiomFun{constantOperator}}\opLeftPren{} +{\it property}\opRightPren{}% \opand \mbox{\axiomFun{constantOpIfCan}}\opLeftPren{}{\it f}\opRightPren{}% }% }% {1}{(BasicOperator)->Union(A, "failed")}{BasicOperatorFunctions1} -{\smath{\mbox{\bf constantOperator}\opLeftPren{}f\opRightPren{}} returns a nullary operator op such that \smath{op()} always evaluate to \smath{f}. +{\smath{\mbox{\bf constantOperator}\opLeftPren{}f\opRightPren{}} +returns a nullary operator op such that \smath{op()} always +evaluate to \smath{f}. \newitem -\smath{\mbox{\bf constantOpIfCan}\opLeftPren{}op\opRightPren{}} returns \smath{f} if \smath{op} is the constant nullary operator always returning \smath{f}, and \mbox{\tt "failed"} otherwise. +\smath{\mbox{\bf constantOpIfCan}\opLeftPren{}op\opRightPren{}} +returns \smath{f} if \smath{op} is the constant nullary operator +always returning \smath{f}, and \mbox{\tt "failed"} otherwise. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{construct}}\opLeftPren{}{\it element}, \allowbreak{}{\it ..}\opRightPren{}% +\opdata{{\mbox{\axiomFun{construct}}\opLeftPren{} +{\it element}, \allowbreak{}{\it ..}\opRightPren{}% }% }% {1}{(List(S))->\$}{Collection} -{\smath{\mbox{\bf construct}\opLeftPren{}x, \allowbreak{} y, \allowbreak{} \ldots, z\opRightPren{}\$R} returns the collection of elements \smath{x, y, \ldots, z} from domain \smath{R} ordered as given. This is equivalently written -as \smath{[ x, y, \ldots, z]}. The qualification \smath{R} may be omitted for domains +{\smath{\mbox{\bf construct}\opLeftPren{}x, \allowbreak{} y, +\allowbreak{} \ldots, z\opRightPren{}\$R} returns the collection of elements +\smath{x, y, \ldots, z} from domain \smath{R} ordered as given. +This is equivalently written +as \smath{[ x, y, \ldots, z]}. The qualification \smath{R} may be omitted +for domains of type \spadtype{List}. -Infinite tuples such as \smath{[ x_i \mbox{ \tt for } i \mbox{ \tt in } 1..]} are converted +Infinite tuples such as \smath{[ x_i \mbox{ \tt for } i \mbox{ \tt in } 1..]} +are converted to a \spadtype{Stream} object. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{cons}}\opLeftPren{}{\it element}, \allowbreak{}{\it listOrStream}\opRightPren{}% +\opdata{{\mbox{\axiomFun{cons}}\opLeftPren{}{\it element}, \allowbreak{} +{\it listOrStream}\opRightPren{}% }% }% {2}{(S, \$)->\$}{List} -{\smath{\mbox{\bf cons}\opLeftPren{}x, \allowbreak{} u\opRightPren{}}, where u is a list or stream, +{\smath{\mbox{\bf cons}\opLeftPren{}x, \allowbreak{} u\opRightPren{}}, +where u is a list or stream, creates a new list or stream whose \spadfun{first} element is \smath{x} -and whose \spadfun{rest} is \smath{u}. Equivalent to \smath{\mbox{\bf concat}\opLeftPren{}x, \allowbreak{} u\opRightPren{}}. +and whose \spadfun{rest} is \smath{u}. Equivalent to +\smath{\mbox{\bf concat}\opLeftPren{}x, \allowbreak{} u\opRightPren{}}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{content}}\opLeftPren{}{\it polynomial\opt{, symbol}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{content}}\opLeftPren{} +{\it polynomial\opt{, symbol}}\opRightPren{}% }% }% {1}{(\$)->R}{FiniteAbelianMonoidRing} -{\smath{\mbox{\bf content}\opLeftPren{}p\opRightPren{}} returns the greatest common divisor (\spadfun{gcd}) of the coefficients of polynomial \smath{p}. -\newitem\smath{\mbox{\bf content}\opLeftPren{}p, \allowbreak{} v\opRightPren{}}, where \smath{p} is a multivariate polynomial type, returns -the \smath{gcd} of the coefficients of the polynomial \smath{p} viewed as a univariate polynomial with respect to the variable \smath{v}. +{\smath{\mbox{\bf content}\opLeftPren{}p\opRightPren{}} +returns the greatest common divisor (\spadfun{gcd}) of the +coefficients of polynomial \smath{p}. +\newitem\smath{\mbox{\bf content}\opLeftPren{}p, +\allowbreak{} v\opRightPren{}}, where \smath{p} is a multivariate +polynomial type, returns +the \smath{gcd} of the coefficients of the polynomial \smath{p} +viewed as a univariate polynomial with respect to the variable \smath{v}. For example, if \smath{p = 7x^2y + 14xy^2}, the \smath{gcd} of the coefficients with respect to \smath{x} is \smath{7y}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{continuedFraction}}\opLeftPren{}{\it fractionOrFloat\opt{, options}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{continuedFraction}}\opLeftPren{} +{\it fractionOrFloat\opt{, options}}\opRightPren{}% }% }% {1}{(F)->ContinuedFraction(Integer)}{NumericContinuedFraction} -{\smath{\mbox{\bf continuedFraction}\opLeftPren{}f\opRightPren{}} converts the floating point number \smath{f} +{\smath{\mbox{\bf continuedFraction}\opLeftPren{}f\opRightPren{}} +converts the floating point number \smath{f} to a reduced continued fraction. -\newitem\smath{\mbox{\bf continuedFraction}\opLeftPren{}r\opRightPren{}} converts the fraction +\newitem\smath{\mbox{\bf continuedFraction}\opLeftPren{}r\opRightPren{}} +converts the fraction \smath{r} with components of type \smath{R} to a continued fraction over \smath{R}. -\newitem\smath{\mbox{\bf continuedFraction}\opLeftPren{}r, \allowbreak{} s, \allowbreak{} s'\opRightPren{}}, where \smath{s} and +\newitem\smath{\mbox{\bf continuedFraction}\opLeftPren{}r, +\allowbreak{} s, \allowbreak{} s'\opRightPren{}}, where \smath{s} and \smath{s'} are streams over a domain \smath{R}, constructs a continued fraction in the following way: if \smath{s = [ a1, a2, $\ldots$]} and @@ -70253,19 +72059,24 @@ continued fraction \smath{r + a1/(b1 + a2/(b2 + $\ldots$))}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{contract}}\opLeftPren{}{\it idealOrTensors\opt{, options}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{contract}}\opLeftPren{} +{\it idealOrTensors\opt{, options}}\opRightPren{}% }% }% {3}{(\$, Integer, Integer)->\$}{CartesianTensor} -{\smath{\mbox{\bf contract}\opLeftPren{}I, \allowbreak{} lvar\opRightPren{}} contracts the ideal \smath{I} to the +{\smath{\mbox{\bf contract}\opLeftPren{}I, \allowbreak{} lvar\opRightPren{}} +contracts the ideal \smath{I} to the polynomial ring \smath{F[ lvar]}. -\newitem\smath{\mbox{\bf contract}\opLeftPren{}t, \allowbreak{} i, \allowbreak{} j\opRightPren{}} is the contraction of tensor +\newitem\smath{\mbox{\bf contract}\opLeftPren{}t, \allowbreak{} i, +\allowbreak{} j\opRightPren{}} is the contraction of tensor \smath{t} which sums along the \eth{\smath{i}} and \eth{\smath{j}} indices. For example, if \smath{r = contract(t, 1, 3)} for a rank 4 tensor \smath{t}, then \smath{r} is the rank 2 \smath{(= 4 - 2)} tensor given by \smath{r(i, j) = \sum\nolimits_{h=1}^{\rm dim}t(h, i, h, j)}. -\newitem\smath{\mbox{\bf contract}\opLeftPren{}t, \allowbreak{} i, \allowbreak{} s, \allowbreak{} j\opRightPren{}} is the inner product of tensors +\newitem\smath{\mbox{\bf contract}\opLeftPren{}t, +\allowbreak{} i, \allowbreak{} s, \allowbreak{} j\opRightPren{}} +is the inner product of tensors \smath{s} and \smath{t} which sums along the \smath{k_1}st index of \smath{t} and the \smath{k_2}st index of \smath{s}. For example, if \smath{r = contract(s, 2, t, 1)} for rank 3 tensors @@ -70275,11 +72086,14 @@ For example, if \smath{r = contract(s, 2, t, 1)} for rank 3 tensors } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{contractSolve}}\opLeftPren{}{\it equation}, \allowbreak{}{\it symbol}\opRightPren{}% +\opdata{{\mbox{\axiomFun{contractSolve}}\opLeftPren{} +{\it equation}, \allowbreak{}{\it symbol}\opRightPren{}% }% }% -{1}{(Equation(Expression(R)))->List(Equation(Expression(R)))}{TransSolvePackage} -{\smath{\mbox{\bf contractSolve}\opLeftPren{}eq, \allowbreak{} x\opRightPren{}} finds the solutions expressed in +{1}{(Equation(Expression(R)))->List(Equation(Expression(R)))} +{TransSolvePackage} +{\smath{\mbox{\bf contractSolve}\opLeftPren{}eq, +\allowbreak{} x\opRightPren{}} finds the solutions expressed in terms of radicals of the equation of rational functions \smath{eq} with respect to the symbol \smath{x}. The result contains new symbols for common subexpressions in order @@ -70288,47 +72102,53 @@ Alternatively, an expression \smath{u} may be given for \smath{eq} in which case the equation \smath{eq} is defined as \smath{u=0} } - - % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{controlPanel}}\opLeftPren{}{\it viewport}, \allowbreak{}{\it string}\opRightPren{}% +\opdata{{\mbox{\axiomFun{controlPanel}}\opLeftPren{} +{\it viewport}, \allowbreak{}{\it string}\opRightPren{}% }% }% {1}{(\$)->Stream(Fraction(R))}{ContinuedFraction} -{\smath{\mbox{\bf controlPanel}\opLeftPren{}v, \allowbreak{} s\opRightPren{}} displays the control panel of the given +{\smath{\mbox{\bf controlPanel}\opLeftPren{}v, +\allowbreak{} s\opRightPren{}} displays the control panel of the given \twodim{} or \threedim{} viewport \smath{v} if \smath{s = "on"}, or hides the control panel if \smath{s = "off"}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{convergents}}\opLeftPren{}{\it continuedFraction}\opRightPren{}% +\opdata{{\mbox{\axiomFun{convergents}}\opLeftPren{} +{\it continuedFraction}\opRightPren{}% }% }% {1}{(\$)->Stream(Fraction(R))}{ContinuedFraction} -{\smath{\mbox{\bf convergents}\opLeftPren{}cf\opRightPren{}} returns the stream of the convergents of +{\smath{\mbox{\bf convergents}\opLeftPren{}cf\opRightPren{}} +returns the stream of the convergents of the continued fraction \smath{cf}. If the continued fraction is finite, then the stream will be finite.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{coordinate}}\opLeftPren{}{\it curveOrSurface}, \allowbreak{}{\it nonNegativeInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{coordinate}}\opLeftPren{} +{\it curveOrSurface}, \allowbreak{}{\it nonNegativeInteger}\opRightPren{}% }% }% {2}{(\$, NonNegativeInteger)->ComponentFunction}{ParametricPlaneCurve} -{\smath{\mbox{\bf coordinate}\opLeftPren{}u, \allowbreak{} n\opRightPren{}} returns the \eth{\smath{n}} +{\smath{\mbox{\bf coordinate}\opLeftPren{}u, +\allowbreak{} n\opRightPren{}} returns the \eth{\smath{n}} coordinate function for the curve or surface \smath{u}. See \spadtype{ParametericPlaneCurve}, \spadtype{ParametricSpaceCurve}, and \spadtype{ParametericSurface}, using HyperDoc. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{coordinates}}\opLeftPren{}{\it pointOrvector\opt{, basis}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{coordinates}}\opLeftPren{} +{\it pointOrvector\opt{, basis}}\opRightPren{}% }% }% {2}{(\$, Vector(\$))->Vector(R)}{FiniteRankAlgebra} -{\smath{\mbox{\bf coordinates}\opLeftPren{}pt\opRightPren{}} specifies a change of coordinate systems +{\smath{\mbox{\bf coordinates}\opLeftPren{}pt\opRightPren{}} specifies a +change of coordinate systems of point \smath{pt}. This option is expressed in the form \smath{coordinates == pt}. \medbreak\opkey{The following operations return a matrix @@ -70337,14 +72157,16 @@ of the form \smath{[ v_1\ldots v_n]} with respect to the basis a domain \smath{R}. The coordinates of \smath{v_i} are contained in the \eth{\smath{i}} row of the matrix returned.} -\newitem\smath{\mbox{\bf coordinates}\opLeftPren{}v{, b}\opRightPren{}} returns the matrix +\newitem\smath{\mbox{\bf coordinates}\opLeftPren{}v{, b}\opRightPren{}} +returns the matrix representation with respect to the basis \smath{b} for vector \smath{v} of elements from domain \smath{R} of category \spadtype{FiniteRankNonAssociativeAlgebra} or \spadtype{FiniteRankAlgebra}. If a second argument is not given, the basis is taken to be the fixed basis of \smath{R}. -\newitem\smath{\mbox{\bf coordinates}\opLeftPren{}v\opRightPren{}\$R}, returns a matrix representation +\newitem\smath{\mbox{\bf coordinates}\opLeftPren{}v\opRightPren{}\$R}, +returns a matrix representation for \smath{v} with respect to a fixed basis for domain \smath{R} of category \spadtype{FiniteAlgebraicExtensionField}, \spadtype{FramedNonAssociativeAlgebra}, or @@ -70352,11 +72174,13 @@ of category \spadtype{FiniteAlgebraicExtensionField}, } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{copies}}\opLeftPren{}{\it integer}, \allowbreak{}{\it string}\opRightPren{}% +\opdata{{\mbox{\axiomFun{copies}}\opLeftPren{}{\it integer}, \allowbreak{} +{\it string}\opRightPren{}% }% }% {2}{(Integer, String)->String}{DisplayPackage} -{\smath{\mbox{\bf copies}\opLeftPren{}n, \allowbreak{} s\opRightPren{}} returns +{\smath{\mbox{\bf copies}\opLeftPren{}n, \allowbreak{} s\opRightPren{}} +returns a string composed of \smath{n} copies of string \smath{s}.} % ---------------------------------------------------------------------- @@ -70364,19 +72188,23 @@ a string composed of \smath{n} copies of string \smath{s}.} }% }% {1}{(\$)->\$}{Aggregate} -{\smath{\mbox{\bf copy}\opLeftPren{}u\opRightPren{}} returns a top-level (non-recursive) copy of an aggregate \smath{u}. +{\smath{\mbox{\bf copy}\opLeftPren{}u\opRightPren{}} returns a +top-level (non-recursive) copy of an aggregate \smath{u}. Note: for lists, \code{copy(u) == [x for x in u]}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{copyInto!}}\opLeftPren{}{\it aggregate}, \allowbreak{}{\it aggregate}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{copyInto!}}\opLeftPren{}{\it aggregate}, +\allowbreak{}{\it aggregate}, \allowbreak{}{\it integer}\opRightPren{}% }% }% {3}{(\$, \$, Integer)->\$}{FiniteLinearAggregate} -{\smath{\mbox{\bf copyInto!}\opLeftPren{}u, \allowbreak{} v, \allowbreak{} p\opRightPren{}} returns linear aggregate \smath{u} with +{\smath{\mbox{\bf copyInto!}\opLeftPren{}u, \allowbreak{} v, +\allowbreak{} p\opRightPren{}} returns linear aggregate \smath{u} with elements of \smath{u} replaced by the successive elements of \smath{v} starting at index \smath{p}. -Arguments \smath{u} and \smath{v} can be elements of any \spadtype{FiniteLinearAggregate}. +Arguments \smath{u} and \smath{v} can be elements of any +\spadtype{FiniteLinearAggregate}. } % ---------------------------------------------------------------------- @@ -70387,8 +72215,10 @@ Arguments \smath{u} and \smath{v} can be elements of any \spadtype{FiniteLinearA {1}{(\$)->\$}{TrigonometricFunctionCategory} {\opkey{Argument x can be a \spadtype{Complex}, \spadtype{Float}, \spadtype{DoubleFloat}, or \spadtype{Expression} value or a series. -} \newitem\smath{\mbox{\bf cos}\opLeftPren{}x\opRightPren{}} returns the cosine of \smath{x}. -\newitem\smath{\mbox{\bf cosIfCan}\opLeftPren{}x\opRightPren{}} returns \smath{\mbox{\bf cos}\opLeftPren{}x\opRightPren{}} if possible, +} \newitem\smath{\mbox{\bf cos}\opLeftPren{}x\opRightPren{}} +returns the cosine of \smath{x}. +\newitem\smath{\mbox{\bf cosIfCan}\opLeftPren{}x\opRightPren{}} +returns \smath{\mbox{\bf cos}\opLeftPren{}x\opRightPren{}} if possible, and \mbox{\tt "failed"} otherwise. } @@ -70397,15 +72227,18 @@ and \mbox{\tt "failed"} otherwise. }% }% {1}{(F)->F}{TranscendentalManipulations} -{\smath{\mbox{\bf cos2sec}\opLeftPren{}e\opRightPren{}} converts every \smath{\mbox{\bf cos}\opLeftPren{}u\opRightPren{}} appearing in +{\smath{\mbox{\bf cos2sec}\opLeftPren{}e\opRightPren{}} converts +every \smath{\mbox{\bf cos}\opLeftPren{}u\opRightPren{}} appearing in \smath{e} into \smath{1/\sec(u)}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{cosh2sech}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{cosh2sech}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(F)->F}{TranscendentalManipulations} -{\smath{\mbox{\bf cosh2sech}\opLeftPren{}e\opRightPren{}} converts every \smath{\mbox{\bf cosh}\opLeftPren{}u\opRightPren{}} appearing in +{\smath{\mbox{\bf cosh2sech}\opLeftPren{}e\opRightPren{}} converts +every \smath{\mbox{\bf cosh}\opLeftPren{}u\opRightPren{}} appearing in \smath{e} into \smath{1/\mbox{\rm sech}(u)}.} % ---------------------------------------------------------------------- @@ -70417,9 +72250,11 @@ and \mbox{\tt "failed"} otherwise. {\opkey{Argument x can be a \spadtype{Complex}, \spadtype{Float}, \spadtype{DoubleFloat}, or \spadtype{Expression} value or a series. } -\newitem\smath{\mbox{\bf cosh}\opLeftPren{}x\opRightPren{}} returns the hyperbolic cosine of +\newitem\smath{\mbox{\bf cosh}\opLeftPren{}x\opRightPren{}} +returns the hyperbolic cosine of \smath{x}. -\newitem\smath{\mbox{\bf coshIfCan}\opLeftPren{}x\opRightPren{}} returns \smath{\mbox{\bf cosh}\opLeftPren{}x\opRightPren{}} if possible, +\newitem\smath{\mbox{\bf coshIfCan}\opLeftPren{}x\opRightPren{}} +returns \smath{\mbox{\bf cosh}\opLeftPren{}x\opRightPren{}} if possible, and \mbox{\tt "failed"} otherwise. } @@ -70428,10 +72263,14 @@ and \mbox{\tt "failed"} otherwise. }% }% {1}{(\$)->\$}{TrigonometricFunctionCategory} -{\opkey{Argument x can be a \spadtype{Complex}, \spadtype{Float}, \spadtype{DoubleFloat}, or +{\opkey{Argument x can be a \spadtype{Complex}, \spadtype{Float}, +\spadtype{DoubleFloat}, or \spadtype{Expression} value or a series. } -\newitem\smath{\mbox{\bf cot}\opLeftPren{}x\opRightPren{}} returns the cotangent of \smath{x}. -\newitem\smath{\mbox{\bf cotIfCan}\opLeftPren{}x\opRightPren{}} returns \smath{\mbox{\bf cot}\opLeftPren{}x\opRightPren{}} if possible, and \mbox{\tt "failed"} otherwise. +\newitem\smath{\mbox{\bf cot}\opLeftPren{}x\opRightPren{}} +returns the cotangent of \smath{x}. +\newitem\smath{\mbox{\bf cotIfCan}\opLeftPren{}x\opRightPren{}} +returns \smath{\mbox{\bf cot}\opLeftPren{}x\opRightPren{}} +if possible, and \mbox{\tt "failed"} otherwise. } % ---------------------------------------------------------------------- @@ -70439,58 +72278,75 @@ and \mbox{\tt "failed"} otherwise. }% }% {1}{(F)->F}{TranscendentalManipulations} -{\smath{\mbox{\bf cot2tan}\opLeftPren{}expression\opRightPren{}} converts every \smath{\cot(u)} +{\smath{\mbox{\bf cot2tan}\opLeftPren{}expression\opRightPren{}} +converts every \smath{\cot(u)} appearing in \smath{e} into \smath{1/\tan(u)}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{cot2trig}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{cot2trig}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(F)->F}{TranscendentalManipulations} -{\smath{\mbox{\bf cot2trig}\opLeftPren{}expression\opRightPren{}} converts every \smath{\cot(u)} +{\smath{\mbox{\bf cot2trig}\opLeftPren{}expression\opRightPren{}} +converts every \smath{\cot(u)} appearing in \smath{e} into \smath{\cos(u)/\sin(u)}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{coth}}\opLeftPren{}{\it expression}\opRightPren{}% - \opand \mbox{\axiomFun{cothIfCan}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{coth}}\opLeftPren{} +{\it expression}\opRightPren{}% + \opand \mbox{\axiomFun{cothIfCan}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(K)->Union(K, "failed")}{PartialTranscendentalFunctions} -{\opkey{Argument x can be a \spadtype{Complex}, \spadtype{Float}, \spadtype{DoubleFloat}, or +{\opkey{Argument x can be a \spadtype{Complex}, \spadtype{Float}, +\spadtype{DoubleFloat}, or \spadtype{Expression} value or a series. } -\newitem\smath{\mbox{\bf coth}\opLeftPren{}x\opRightPren{}} returns the hyperbolic cotangent of \smath{x}. +\newitem\smath{\mbox{\bf coth}\opLeftPren{}x\opRightPren{}} +returns the hyperbolic cotangent of \smath{x}. \newitem -\smath{\mbox{\bf cothIfCan}\opLeftPren{}x\opRightPren{}} returns \smath{\mbox{\bf coth}\opLeftPren{}x\opRightPren{}} if possible, and \mbox{\tt "failed"} otherwise. +\smath{\mbox{\bf cothIfCan}\opLeftPren{}x\opRightPren{}} +returns \smath{\mbox{\bf coth}\opLeftPren{}x\opRightPren{}} if possible, +and \mbox{\tt "failed"} otherwise. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{coth2tanh}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{coth2tanh}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(F)->F}{TranscendentalManipulations} -{\smath{\mbox{\bf coth2tanh}\opLeftPren{}expression\opRightPren{}} converts every \smath{\mbox{\rm +{\smath{\mbox{\bf coth2tanh}\opLeftPren{}expression\opRightPren{}} +converts every \smath{\mbox{\rm coth}(u)} appearing in \smath{e} into \smath{1/\mbox{\rm tanh}(u)}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{coth2trigh}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{coth2trigh}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(F)->F}{TranscendentalManipulations} -{\smath{\mbox{\bf coth2trigh}\opLeftPren{}expression\opRightPren{}} converts every \smath{\mbox{\rm +{\smath{\mbox{\bf coth2trigh}\opLeftPren{}expression\opRightPren{}} +converts every \smath{\mbox{\rm coth}(u)} appearing in \smath{e} into \smath{\mbox{\rm cosh}(u)/\mbox{\rm sinh}(u)}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{count}}\opLeftPren{}{\it predicate}, \allowbreak{}{\it aggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{count}}\opLeftPren{} +{\it predicate}, \allowbreak{}{\it aggregate}\opRightPren{}% }% }% {2}{((S)->Boolean, \$)->NonNegativeInteger}{HomogeneousAggregate} -{\smath{\mbox{\bf count}\opLeftPren{}pred, \allowbreak{} u\opRightPren{}} returns the number of elements \smath{x} in -\smath{u} such that \smath{\mbox{\bf pred}\opLeftPren{}x\opRightPren{}} is \smath{true}. +{\smath{\mbox{\bf count}\opLeftPren{}pred, \allowbreak{} u\opRightPren{}} +returns the number of elements \smath{x} in +\smath{u} such that \smath{\mbox{\bf pred}\opLeftPren{}x\opRightPren{}} +is \smath{true}. For collections, \code{count(p, u) = reduce(+, [1 for x in u | p(x)], 0)}. -\newitem\smath{\mbox{\bf count}\opLeftPren{}x, \allowbreak{} u\opRightPren{}} returns the number of occurrences of +\newitem\smath{\mbox{\bf count}\opLeftPren{}x, +\allowbreak{} u\opRightPren{}} returns the number of occurrences of \smath{x} in \smath{u}. For collections, \code{count(x, u) = reduce(+, [x=y for y in u], 0)}. } @@ -70500,7 +72356,8 @@ For collections, \code{count(x, u) = reduce(+, [x=y for y in u], 0)}. }% }% {1}{(\$)->Boolean}{CardinalNumber} -{\smath{\mbox{\bf countable?}\opLeftPren{}u\opRightPren{}} tests if the cardinal number \smath{u} is +{\smath{\mbox{\bf countable?}\opLeftPren{}u\opRightPren{}} +tests if the cardinal number \smath{u} is countable, that is, if $u \le $\smath{Aleph 0}.} % ---------------------------------------------------------------------- @@ -70508,33 +72365,39 @@ countable, that is, if $u \le $\smath{Aleph 0}.} }% }% {0}{()->\$}{ThreeSpace} -{\smath{\mbox{\bf createThreeSpace}\opLeftPren{}\opRightPren{}}{\bf \$}\spadtype{ThreeSpace(R)} creates a +{\smath{\mbox{\bf createThreeSpace}\opLeftPren{}\opRightPren{}} +{\bf \$}\spadtype{ThreeSpace(R)} creates a \spadtype{ThreeSpace} object capable of holding point, curve, mesh components or any combination of the three. The ring \smath{R} is usually \spadtype{DoubleFloat}. If you do not package call this function, \spadtype{DoubleFloat} is assumed. -\newitem\smath{\mbox{\bf createThreeSpace}\opLeftPren{}s\opRightPren{}} creates a \spadtype{ThreeSpace} +\newitem\smath{\mbox{\bf createThreeSpace}\opLeftPren{}s\opRightPren{}} +creates a \spadtype{ThreeSpace} object containing objects pre-defined within some \spadtype{SubSpace} \smath{s}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{createGenericMatrix}}\opLeftPren{}{\it nonNegativeInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{createGenericMatrix}}\opLeftPren{} +{\it nonNegativeInteger}\opRightPren{}% }% }% {1}{(NonNegativeInteger)->Matrix(Polynomial(R))}{RepresentationPackage1} -{\smath{\mbox{\bf createGenericMatrix}\opLeftPren{}n\opRightPren{}} creates a square matrix of +{\smath{\mbox{\bf createGenericMatrix}\opLeftPren{}n\opRightPren{}} +creates a square matrix of dimension \smath{n} whose entry at the \smath{i}-th row and \smath{j}-th column is the indeterminate \smath{x_{i, j}} (double subscripted). \seeType{RepresentationPackage1}} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{createIrreduciblePoly}}\opLeftPren{}{\it nonNegativeInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{createIrreduciblePoly}}\opLeftPren{} +{\it nonNegativeInteger}\opRightPren{}% }% }% {0}{()->\$}{FiniteAlgebraicExtensionField} -{\smath{\mbox{\bf createIrreduciblePoly}\opLeftPren{}n\opRightPren{}}{\bf \$}\spadtype{FFPOLY(GF)} generates +{\smath{\mbox{\bf createIrreduciblePoly}\opLeftPren{}n\opRightPren{}} +{\bf \$}\spadtype{FFPOLY(GF)} generates a monic irreducible polynomial of degree \smath{n} over the finite field \smath{GF}. } @@ -70544,7 +72407,8 @@ a monic irreducible polynomial of degree \smath{n} over the finite field }% }% {0}{()->\$}{FiniteAlgebraicExtensionField} -{\smath{\mbox{\bf createNormalElement}\opLeftPren{}\opRightPren{}\$F} computes a normal element over the ground field +{\smath{\mbox{\bf createNormalElement}\opLeftPren{}\opRightPren{}\$F} +computes a normal element over the ground field of a finite algebraic extension field \smath{F}, that is, an element \smath{a} such that \smath{a^{q^i}, 0 \leq i < {\mbox {\bf extensionDegree}}()\$F} is an \smath{F}-basis, where @@ -70552,11 +72416,13 @@ an element \smath{a} such that \smath{a^{q^i}, 0 \leq i < {\mbox } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{createNormalPrimitivePoly}}\opLeftPren{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{createNormalPrimitivePoly}}\opLeftPren{} +{\it element}\opRightPren{}% }% }% {0}{()->\$}{FiniteAlgebraicExtensionField} -{\smath{\mbox{\bf createNormalPrimitivePoly}\opLeftPren{}n\opRightPren{}}{\bf \$}\spadtype{FFPOLY(GF)} +{\smath{\mbox{\bf createNormalPrimitivePoly}\opLeftPren{}n\opRightPren{}} +{\bf \$}\spadtype{FFPOLY(GF)} generates a normal and primitive polynomial of degree \smath{n} over the field \smath{GF}. } @@ -70567,16 +72433,19 @@ primitive polynomial of degree \smath{n} over the field \smath{GF}. }% }% {0}{()->\$}{FiniteFieldCategory} -{\smath{\mbox{\bf createPrimitiveElement}\opLeftPren{}\opRightPren{}\$F} computes a generator of the +{\smath{\mbox{\bf createPrimitiveElement}\opLeftPren{}\opRightPren{}\$F} +computes a generator of the (cyclic) multiplicative group of a finite field \smath{F}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{createRandomElement}}\opLeftPren{}{\it listOfMatrices}, \allowbreak{}{\it matrix}\opRightPren{}% +\opdata{{\mbox{\axiomFun{createRandomElement}}\opLeftPren{} +{\it listOfMatrices}, \allowbreak{}{\it matrix}\opRightPren{}% }% }% {2}{(List(Matrix(R)), Matrix(R))->Matrix(R)}{RepresentationPackage2} -{\smath{\mbox{\bf createRandomElement}\opLeftPren{}lm, \allowbreak{} m\opRightPren{}} creates a random element of +{\smath{\mbox{\bf createRandomElement}\opLeftPren{}lm, +\allowbreak{} m\opRightPren{}} creates a random element of the group algebra generated by \smath{lm}, where \smath{lm} is a list of matrices and \smath{m} is a matrix. \seeType{RepresentationPackage2} @@ -70587,33 +72456,41 @@ list of matrices and \smath{m} is a matrix. }% }% {1}{(F)->F}{TranscendentalManipulations} -{\smath{\mbox{\bf csc2sin}\opLeftPren{}expression\opRightPren{}} converts every \smath{\mbox{\bf csc}\opLeftPren{}u\opRightPren{}} +{\smath{\mbox{\bf csc2sin}\opLeftPren{}expression\opRightPren{}} +converts every \smath{\mbox{\bf csc}\opLeftPren{}u\opRightPren{}} appearing in \smath{f} into \smath{1/{\tt sin}(u)}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{csch2sinh}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{csch2sinh}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(F)->F}{TranscendentalManipulations} -{\smath{\mbox{\bf csch2sinh}\opLeftPren{}expression\opRightPren{}} converts every \smath{\mbox{\bf csch}\opLeftPren{}u\opRightPren{}} +{\smath{\mbox{\bf csch2sinh}\opLeftPren{}expression\opRightPren{}} +converts every \smath{\mbox{\bf csch}\opLeftPren{}u\opRightPren{}} appearing in \smath{f} into \smath{1/{\sinh}(u)}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{csch}}\opLeftPren{}{\it expression}\opRightPren{}% - \opand \mbox{\axiomFun{cschIfCan}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{csch}}\opLeftPren{} +{\it expression}\opRightPren{}% + \opand \mbox{\axiomFun{cschIfCan}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(K)->Union(K, "failed")}{PartialTranscendentalFunctions} {\opkey{Argument x can be a \spadtype{Complex}, \spadtype{Float}, \spadtype{DoubleFloat}, or \spadtype{Expression} value or a series.} -\newitem\smath{\mbox{\bf csch}\opLeftPren{}x\opRightPren{}} returns the hyperbolic cosecant of \smath{x}. -\newitem\smath{\mbox{\bf cschIfCan}\opLeftPren{}x\opRightPren{}} returns \smath{\mbox{\bf csch}\opLeftPren{}x\opRightPren{}} if possible, +\newitem\smath{\mbox{\bf csch}\opLeftPren{}x\opRightPren{}} +returns the hyperbolic cosecant of \smath{x}. +\newitem\smath{\mbox{\bf cschIfCan}\opLeftPren{}x\opRightPren{}} +returns \smath{\mbox{\bf csch}\opLeftPren{}x\opRightPren{}} if possible, and \mbox{\tt "failed"} otherwise. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{cscIfCan}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{cscIfCan}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(K)->Union(K, "failed")}{PartialTranscendentalFunctions} @@ -70621,17 +72498,22 @@ and \mbox{\tt "failed"} otherwise. \spadtype{DoubleFloat}, or \spadtype{Expression} value or a series. } \newitem -\smath{\mbox{\bf csc}\opLeftPren{}x\opRightPren{}} returns the cosecant of \smath{x}. +\smath{\mbox{\bf csc}\opLeftPren{}x\opRightPren{}} +returns the cosecant of \smath{x}. \newitem -\smath{\mbox{\bf cscIfCan}\opLeftPren{}x\opRightPren{}} returns \smath{\mbox{\bf csc}\opLeftPren{}x\opRightPren{}} if possible, +\smath{\mbox{\bf cscIfCan}\opLeftPren{}x\opRightPren{}} +returns \smath{\mbox{\bf csc}\opLeftPren{}x\opRightPren{}} if possible, and \mbox{\tt "failed"} otherwise.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{cup}}\opLeftPren{}{\it symmetricPolynomial}, \allowbreak{}{\it symmetricPolynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{cup}}\opLeftPren{} +{\it symmetricPolynomial}, \allowbreak{} +{\it symmetricPolynomial}\opRightPren{}% }% }% { (SPOL RN, SPOL RN) -> SPOL RN}{}{} -{\smath{\mbox{\bf cup}\opLeftPren{}s_1, \allowbreak{} s_2\opRightPren{}}, introduced by Redfield, +{\smath{\mbox{\bf cup}\opLeftPren{}s_1, +\allowbreak{} s_2\opRightPren{}}, introduced by Redfield, is the scalar product of two cycle indices, where the \smath{s_i} are of type \spadtype{SymmetricPolynomial} with rational number coefficients. @@ -70639,43 +72521,53 @@ See also \spadfun{cap}. See \spadtype{CycleIndicators} for details.} % ---------------------------------------------------------------------- \opdata{{\mbox{\axiomFun{curry}}\opLeftPren{}{\it function}\opRightPren{}% - \optand \mbox{\axiomFun{curryLeft}}\opLeftPren{}{\it function}, \allowbreak{}{\it element}\opRightPren{}% - \opand \mbox{\axiomFun{curryRight}}\opLeftPren{}{\it function}, \allowbreak{}{\it element}\opRightPren{}% + \optand \mbox{\axiomFun{curryLeft}}\opLeftPren{} +{\it function}, \allowbreak{}{\it element}\opRightPren{}% + \opand \mbox{\axiomFun{curryRight}}\opLeftPren{} +{\it function}, \allowbreak{}{\it element}\opRightPren{}% }% }% { ((A, B)->C, B) -> (A ->C)}{}{} {\opkey{These functions drop an argument from a function.} \newitem -\smath{\mbox{\bf curry}\opLeftPren{}f, \allowbreak{} a\opRightPren{}} returns the function \smath{g} +\smath{\mbox{\bf curry}\opLeftPren{}f, +\allowbreak{} a\opRightPren{}} returns the function \smath{g} such that \smath{g()= f(a)}, where function \smath{f} has type \spadsig{A}{C} and element \smath{a} has type \smath{A}. \newitem -\smath{\mbox{\bf curryRight}\opLeftPren{}f, \allowbreak{} b\opRightPren{}} returns the function \smath{g} such that +\smath{\mbox{\bf curryRight}\opLeftPren{}f, +\allowbreak{} b\opRightPren{}} returns the function \smath{g} such that \smath{g(a) = f(a, b)}, where function \smath{f} has type \spadsig{(A, B)}{C} and element \smath{b} has type \smath{B}. \newitem -\smath{\mbox{\bf curryLeft}\opLeftPren{}f, \allowbreak{} a\opRightPren{}} is the function \smath{g} +\smath{\mbox{\bf curryLeft}\opLeftPren{}f, +\allowbreak{} a\opRightPren{}} is the function \smath{g} such that \smath{g(b) = f(a, b)}, where function \smath{f} has type \spadsig{(A, B)}{C} and element \smath{a} has type \smath{A}. \newitem -See also \spadfun{constant}, \spadfun{constantLeft}, and \spadfun{constantRight}. +See also \spadfun{constant}, \spadfun{constantLeft}, +and \spadfun{constantRight}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{curve}}\opLeftPren{}{\it listOfPoints\opt{, options}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{curve}}\opLeftPren{} +{\it listOfPoints\opt{, options}}\opRightPren{}% }% }% {1}{(List(Point(R)))->\$}{ThreeSpace} -{\smath{\mbox{\bf curve}\opLeftPren{}[ p_0, p_1, $\ldots$, p_n]\opRightPren{}} creates a +{\smath{\mbox{\bf curve}\opLeftPren{} +[ p_0, p_1, $\ldots$, p_n]\opRightPren{}} creates a space curve defined by the list of points \smath{p_0} through \smath{p_n} and returns a \spadtype{ThreeSpace} object whose component is the curve. -\newitem\smath{\mbox{\bf curve}\opLeftPren{}sp\opRightPren{}} checks to see if the +\newitem\smath{\mbox{\bf curve}\opLeftPren{}sp\opRightPren{}} +checks to see if the \spadtype{ThreeSpace} object \smath{sp} is composed of a single curve defined by a list of points; if so, the list of points defining the curve is returned. Otherwise, the operation calls \spadfun{error}. -\newitem\smath{\mbox{\bf curve}\opLeftPren{}c_1, \allowbreak{} c_2\opRightPren{}} creates a plane curve from two +\newitem\smath{\mbox{\bf curve}\opLeftPren{}c_1, +\allowbreak{} c_2\opRightPren{}} creates a plane curve from two component functions \smath{c_1} and \smath{c_2}. \seeType{ComponentFunction} \newitem\smath{curve(sp, [ @@ -70683,14 +72575,18 @@ component functions \smath{c_1} and \smath{c_2}. p_n]])} adds a space curve defined by a list of points \smath{p_0} through \smath{p_n} to a \spadtype{ThreeSpace} object \smath{sp}. -Each \smath{p_i} is from a domain \smath{\mbox{\bf PointDomain}\opLeftPren{}m, \allowbreak{} R\opRightPren{}}, where +Each \smath{p_i} is from a domain +\smath{\mbox{\bf PointDomain}\opLeftPren{}m, +\allowbreak{} R\opRightPren{}}, where \smath{R} is the \spadtype{Ring} over which the point elements are defined and \smath{m} is the dimension of the points. -\newitem \smath{\mbox{\bf curve}\opLeftPren{}s, \allowbreak{} [ p_0, p_1, $\ldots$, p_n]\opRightPren{}} adds +\newitem \smath{\mbox{\bf curve}\opLeftPren{}s, +\allowbreak{} [ p_0, p_1, $\ldots$, p_n]\opRightPren{}} adds the space curve component designated by the list of points \smath{p_0} through \smath{p_n} to the \spadtype{ThreeSpace} object \smath{sp}. -\newline \smath{\mbox{\bf curve}\opLeftPren{}c_1, \allowbreak{} c_2, \allowbreak{} c_3\opRightPren{}} creates a space curve from +\newline \smath{\mbox{\bf curve}\opLeftPren{}c_1, \allowbreak{} c_2, +\allowbreak{} c_3\opRightPren{}} creates a space curve from three component functions \smath{c_1}, \smath{c_2}, and \smath{c_3}.} @@ -70699,7 +72595,8 @@ three component functions \smath{c_1}, \smath{c_2}, and }% }% {1}{(\$)->Boolean}{ThreeSpace} -{\smath{\mbox{\bf curve?}\opLeftPren{}sp\opRightPren{}} tests if the \spadtype{ThreeSpace} object \smath{sp} contains +{\smath{\mbox{\bf curve?}\opLeftPren{}sp\opRightPren{}} +tests if the \spadtype{ThreeSpace} object \smath{sp} contains a single curve object. } @@ -70708,78 +72605,97 @@ a single curve object. }% }% {1}{(Float)->\$}{DrawOption} -{\smath{\mbox{\bf curveColor}\opLeftPren{}p\opRightPren{}} specifies a color index for \twodim{} graph +{\smath{\mbox{\bf curveColor}\opLeftPren{}p\opRightPren{}} +specifies a color index for \twodim{} graph curves from the palette \smath{p}. This option is expressed in the form \smath{curveColor ==p}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{cycle}}\opLeftPren{}{\it listOfPermutations}\opRightPren{}% +\opdata{{\mbox{\axiomFun{cycle}}\opLeftPren{} +{\it listOfPermutations}\opRightPren{}% }% }% {1}{(List(S))->\$}{PermutationCategory} -{\smath{\mbox{\bf cycle}\opLeftPren{}ls\opRightPren{}} converts a cycle \smath{ls}, a list with no repetitions, to +{\smath{\mbox{\bf cycle}\opLeftPren{}ls\opRightPren{}} +converts a cycle \smath{ls}, a list with no repetitions, to the permutation, which maps \smath{ls.i} to \smath{ls.(i+1)} (index modulo the length of the list). } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{cycleEntry}}\opLeftPren{}{\it aggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{cycleEntry}}\opLeftPren{} +{\it aggregate}\opRightPren{}% }% }% {1}{(\$)->\$}{UnaryRecursiveAggregate} -{\smath{\mbox{\bf cycleEntry}\opLeftPren{}u\opRightPren{}} returns the head of a top-level cycle -contained in aggregate \smath{u}, or \smath{\mbox{\bf empty}\opLeftPren{}\opRightPren{}} if none +{\smath{\mbox{\bf cycleEntry}\opLeftPren{}u\opRightPren{}} +returns the head of a top-level cycle +contained in aggregate \smath{u}, or +\smath{\mbox{\bf empty}\opLeftPren{}\opRightPren{}} if none exists. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{cycleLength}}\opLeftPren{}{\it aggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{cycleLength}}\opLeftPren{} +{\it aggregate}\opRightPren{}% }% }% {1}{(\$)->NonNegativeInteger}{UnaryRecursiveAggregate} -{\smath{\mbox{\bf cycleLength}\opLeftPren{}u\opRightPren{}} returns the length of a top-level cycle +{\smath{\mbox{\bf cycleLength}\opLeftPren{}u\opRightPren{}} +returns the length of a top-level cycle contained in aggregate \smath{u}, or 0 if \smath{u} has no such cycle.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{cyclePartition}}\opLeftPren{}{\it permutation}\opRightPren{}% +\opdata{{\mbox{\axiomFun{cyclePartition}}\opLeftPren{} +{\it permutation}\opRightPren{}% }% }% {1}{(\$)->Partition}{Permutation} -{\smath{\mbox{\bf cyclePartition}\opLeftPren{}p\opRightPren{}} returns the cycle structure of a permutation \smath{p} including cycles of length 1. +{\smath{\mbox{\bf cyclePartition}\opLeftPren{}p\opRightPren{}} returns +the cycle structure of a permutation \smath{p} including cycles of length 1. The permutation is assumed to be a member of \spadtype{Permutation(S)} where \smath{S} is a finite set.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{cycleRagits}}\opLeftPren{}{\it radixExpansion}\opRightPren{}% +\opdata{{\mbox{\axiomFun{cycleRagits}}\opLeftPren{} +{\it radixExpansion}\opRightPren{}% }% }% {1}{(\$)->List(Integer)}{RadixExpansion} -{\smath{\mbox{\bf cycleRagits}\opLeftPren{}rx\opRightPren{}} returns the cyclic part of the ragits of the fractional part of a radix expansion. For example, if \smath{x = 3/28 = 0.10 714285 714285 \ldots}, +{\smath{\mbox{\bf cycleRagits}\opLeftPren{}rx\opRightPren{}} returns the +cyclic part of the ragits of the fractional part of a radix expansion. +For example, if \smath{x = 3/28 = 0.10 714285 714285 \ldots}, then \code{cycleRagits(x) = [7, 1, 4, 2, 8, 5]}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{cycleSplit!}}\opLeftPren{}{\it aggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{cycleSplit!}}\opLeftPren{} +{\it aggregate}\opRightPren{}% }% }% {1}{(\$)->\$}{UnaryRecursiveAggregate} -{\smath{\mbox{\bf cycleSplit!}\opLeftPren{}u\opRightPren{}} splits the recursive aggregate (for example, a list) \smath{u} into two +{\smath{\mbox{\bf cycleSplit!}\opLeftPren{}u\opRightPren{}} +splits the recursive aggregate (for example, a list) \smath{u} into two aggregates by dropping off the cycle. The value returned is the cycle entry, or \smath{nil} if none exists. -For example, if \smath{w = {\mbox {\bf concat}}(u, v)} is the cyclic list where \smath{v} is the -head of the cycle, \smath{\mbox{\bf cycleSplit!}\opLeftPren{}w\opRightPren{}} will drop \smath{v} off \smath{w}. Thus +For example, if \smath{w = {\mbox {\bf concat}}(u, v)} +is the cyclic list where \smath{v} is the +head of the cycle, \smath{\mbox{\bf cycleSplit!} +\opLeftPren{}w\opRightPren{}} will drop \smath{v} off \smath{w}. Thus \smath{w} is destructively changed to \smath{u}, and \smath{v} is returned. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{cycles}}\opLeftPren{}{\it listOfListOfElements}\opRightPren{}% +\opdata{{\mbox{\axiomFun{cycles}}\opLeftPren{} +{\it listOfListOfElements}\opRightPren{}% }% }% {1}{(List(List(S)))->\$}{PermutationCategory} -{\smath{\mbox{\bf cycles}\opLeftPren{}lls\opRightPren{}} coerces a list of list of cycles \smath{lls} +{\smath{\mbox{\bf cycles}\opLeftPren{}lls\opRightPren{}} +coerces a list of list of cycles \smath{lls} to a permutation. Each cycle, represented as a list \smath{ls} with no repetitions, is coerced to the permutation, which maps \smath{ls.i} to @@ -70788,12 +72704,15 @@ These permutations are then multiplied. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{cycleTail}}\opLeftPren{}{\it aggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{cycleTail}}\opLeftPren{} +{\it aggregate}\opRightPren{}% }% }% {1}{(\$)->\$}{UnaryRecursiveAggregate} -{\smath{\mbox{\bf cycleTail}\opLeftPren{}u\opRightPren{}} returns the last node in the cycle of -a recursive aggregate (for example, a list) \smath{u}, or empty if none exists. +{\smath{\mbox{\bf cycleTail}\opLeftPren{}u\opRightPren{}} +returns the last node in the cycle of +a recursive aggregate (for example, a list) \smath{u}, +or empty if none exists. } % ---------------------------------------------------------------------- @@ -70801,13 +72720,15 @@ a recursive aggregate (for example, a list) \smath{u}, or empty if none exists. }% }% { I -> SPOL RN --cyclic group}{}{} -{\smath{\mbox{\bf cyclic}\opLeftPren{}n\opRightPren{}} returns the cycle index of the +{\smath{\mbox{\bf cyclic}\opLeftPren{}n\opRightPren{}} +returns the cycle index of the cyclic group of degree \smath{n}. \spadtype{CycleIndicators} for details. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{cyclic?}}\opLeftPren{}{\it aggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{cyclic?}}\opLeftPren{} +{\it aggregate}\opRightPren{}% }% }% {1}{(\$)->Boolean}{RecursiveAggregate} @@ -70816,31 +72737,37 @@ recursive aggregate (for example, a list) \smath{u} has a cycle. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{cyclicGroup}}\opLeftPren{}{\it listOfIntegers}\opRightPren{}% +\opdata{{\mbox{\axiomFun{cyclicGroup}}\opLeftPren{} +{\it listOfIntegers}\opRightPren{}% }% }% {1}{(List(Integer))->PermutationGroup(Integer)}{PermutationGroupExamples} -{\smath{\mbox{\bf cyclicGroup}\opLeftPren{}[ i_1, \ldots, i_k]\opRightPren{}} constructs +{\smath{\mbox{\bf cyclicGroup}\opLeftPren{} +[ i_1, \ldots, i_k]\opRightPren{}} constructs the cyclic group of order \smath{k} acting on the list of integers \smath{i_1}, \ldots, \smath{i_k}. Note: duplicates in the list will be removed. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{cyclicGroup}}\opLeftPren{}{\it positiveInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{cyclicGroup}}\opLeftPren{} +{\it positiveInteger}\opRightPren{}% }% }% {1}{(PositiveInteger)->PermutationGroup(Integer)}{PermutationGroupExamples} -{\smath{\mbox{\bf cyclicGroup}\opLeftPren{}n\opRightPren{}} constructs the cyclic group of order +{\smath{\mbox{\bf cyclicGroup}\opLeftPren{}n\opRightPren{}} +constructs the cyclic group of order \smath{n} acting on the integers 1, \ldots, \smath{n}, \smath{n > 0}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{cyclicSubmodule}}\opLeftPren{}{\it listOfMatrices}, \allowbreak{}{\it vector}\opRightPren{}% +\opdata{{\mbox{\axiomFun{cyclicSubmodule}}\opLeftPren{} +{\it listOfMatrices}, \allowbreak{}{\it vector}\opRightPren{}% }% }% {2}{(List(Matrix(R)), Vector(R))->Vector(Vector(R))}{RepresentationPackage2} -{\smath{\mbox{\bf cyclicSubmodule}\opLeftPren{}lm, \allowbreak{} v\opRightPren{}}, where \smath{lm} is a list of +{\smath{\mbox{\bf cyclicSubmodule}\opLeftPren{}lm, +\allowbreak{} v\opRightPren{}}, where \smath{lm} is a list of \smath{n} by \smath{n} square matrices and \smath{v} is a vector of size \smath{n}, generates a basis in echelon form. \seeDetails{RepresentationPackage2}} @@ -70850,44 +72777,55 @@ of size \smath{n}, generates a basis in echelon form. }% }% {1}{(Point(R))->Point(R)}{CoordinateSystems} -{\smath{\mbox{\bf cylindrical}\opLeftPren{}pt\opRightPren{}} transforms \smath{pt} from polar +{\smath{\mbox{\bf cylindrical}\opLeftPren{}pt\opRightPren{}} +transforms \smath{pt} from polar coordinates to Cartesian coordinates, by mapping the point \smath{(r, theta, z)} to \smath{x = r \cos(theta)}, \smath{y = r \sin(theta)}, \smath{z}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{D}}\opLeftPren{}{\it expression\opt{, options}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{D}}\opLeftPren{} +{\it expression\opt{, options}}\opRightPren{}% }% }% {1}{(\$)->\$}{DifferentialRing} -{\smath{\mbox{\bf D}\opLeftPren{}x\opRightPren{}} returns the derivative of \smath{x}. +{\smath{\mbox{\bf D}\opLeftPren{}x\opRightPren{}} returns the +derivative of \smath{x}. This function is a simple differential operator where no variable needs to be specified. -\newitem\smath{\mbox{\bf D}\opLeftPren{}x, \allowbreak{} [ s_1, \ldots s_n]\opRightPren{}} computes +\newitem\smath{\mbox{\bf D}\opLeftPren{}x, \allowbreak{} [ s_1, +\ldots s_n]\opRightPren{}} computes successive partial derivatives, that is, \smath{D(\ldots {\bf D}(x, s_1)\ldots, s_n)}. -\newitem\smath{\mbox{\bf D}\opLeftPren{}u, \allowbreak{} x\opRightPren{}} computes the partial derivative of +\newitem\smath{\mbox{\bf D}\opLeftPren{}u, \allowbreak{} x\opRightPren{}} +computes the partial derivative of \smath{u} with respect to \smath{x}. -\newitem\smath{\mbox{\bf D}\opLeftPren{}u, \allowbreak{} deriv\optinner{, n}\opRightPren{}} differentiates \smath{u} +\newitem\smath{\mbox{\bf D}\opLeftPren{}u, \allowbreak{} +deriv\optinner{, n}\opRightPren{}} differentiates \smath{u} \smath{n} times using a derivation which extends \smath{deriv} on \smath{R}. Argument \smath{n} defaults to 1. -\newitem\smath{\mbox{\bf D}\opLeftPren{}p, \allowbreak{} d, \allowbreak{} x'\opRightPren{}} extends the \smath{R}-derivation +\newitem\smath{\mbox{\bf D}\opLeftPren{}p, \allowbreak{} d, +\allowbreak{} x'\opRightPren{}} extends the \smath{R}-derivation \smath{d} to an extension \smath{R} in \smath{R[ x]} where \smath{Dx} is given by \smath{x'}, and returns \smath{Dp}. \newitem\smath{D(x, [ s_1, \ldots, s_n], [ n_1, \ldots, n_m])} computes multiple partial derivatives, -that is, \smath{\mbox{\bf D}\opLeftPren{}\ldots {\bf D}(x, s_1, n_1)\ldots, s_n, n_m\opRightPren{}}. -\newitem\smath{\mbox{\bf D}\opLeftPren{}u, \allowbreak{} x, \allowbreak{} n\opRightPren{}} computes multiple partial derivatives, +that is, \smath{\mbox{\bf D}\opLeftPren{}\ldots {\bf D}(x, s_1, n_1)\ldots, +s_n, n_m\opRightPren{}}. +\newitem\smath{\mbox{\bf D}\opLeftPren{}u, \allowbreak{} x, +\allowbreak{} n\opRightPren{}} computes multiple partial derivatives, that is, \eth{\smath{n}} derivative of \smath{u} with respect to \smath{x}. -\newitem \smath{\mbox{\bf D}\opLeftPren{}of\optinner{, n}\opRightPren{}}, where \smath{of} is an object +\newitem \smath{\mbox{\bf D}\opLeftPren{}of\optinner{, n}\opRightPren{}}, +where \smath{of} is an object of type \spadtype{OutputForm} (normally unexposed), returns an output form for the \eth{\smath{n}} derivative of \smath{f}, for example, \smath{f'}, \smath{f''}}, \smath{f'''}, \smath{f^{{\tt iv}}}, and so on. -\newitem \smath{\mbox{\bf D}\opLeftPren{}\opRightPren{}\$A} provides the operator corresponding to the +\newitem \smath{\mbox{\bf D}\opLeftPren{}\opRightPren{}\$A} +provides the operator corresponding to the derivation in the differential ring \smath{A}. } @@ -70896,40 +72834,52 @@ derivation in the differential ring \smath{A}. }% }% {1}{(Color)->\$}{Palette} -{\smath{\mbox{\bf dark}\opLeftPren{}color\opRightPren{}} returns the shade of the indicated hue of \smath{color} to its lowest value. +{\smath{\mbox{\bf dark}\opLeftPren{}color\opRightPren{}} returns +the shade of the indicated hue of \smath{color} to its lowest value. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{ddFact}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it primeInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{ddFact}}\opLeftPren{} +{\it polynomial}, \allowbreak{}{\it primeInteger}\opRightPren{}% }% }% -{2}{(U, Integer)->List(Record(factor:U, degree:Integer))}{ModularDistinctDegreeFactorizer} -{\smath{\mbox{\bf ddFact}\opLeftPren{}q, \allowbreak{} p\opRightPren{}} computes a distinct degree factorization of the polynomial \smath{q} modulo the prime \smath{p}, that is, such that each factor is a product of irreducibles of the same degrees. +{2}{(U, Integer)->List(Record(factor:U, degree:Integer))} +{ModularDistinctDegreeFactorizer} +{\smath{\mbox{\bf ddFact}\opLeftPren{}q, \allowbreak{} p\opRightPren{}} +computes a distinct degree factorization of the polynomial +\smath{q} modulo the prime \smath{p}, that is, such that each factor is a +product of irreducibles of the same degrees. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{decimal}}\opLeftPren{}{\it rationalNumber}\opRightPren{}% +\opdata{{\mbox{\axiomFun{decimal}}\opLeftPren{} +{\it rationalNumber}\opRightPren{}% }% }% {1}{(Fraction(Integer))->\$}{DecimalExpansion} -{\smath{\mbox{\bf decimal}\opLeftPren{}rn\opRightPren{}} converts a rational number \smath{rn} to a decimal expansion.} +{\smath{\mbox{\bf decimal}\opLeftPren{}rn\opRightPren{}} +converts a rational number \smath{rn} to a decimal expansion.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{declare}}\opLeftPren{}{\it listOfInputForms}\opRightPren{}% +\opdata{{\mbox{\axiomFun{declare}}\opLeftPren{} +{\it listOfInputForms}\opRightPren{}% }% }% { List $ -> Symbol}{}{} -{\smath{\mbox{\bf declare}\opLeftPren{}t\opRightPren{}} returns a name f such that f has been +{\smath{\mbox{\bf declare}\opLeftPren{}t\opRightPren{}} +returns a name f such that f has been declared to the interpreter to be of type t, but has not been assigned a value yet. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{decreasePrecision}}\opLeftPren{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{decreasePrecision}}\opLeftPren{} +{\it integer}\opRightPren{}% }% }% {1}{(Integer)->PositiveInteger}{FloatingPointSystem} -{\smath{\mbox{\bf decreasePrecision}\opLeftPren{}n\opRightPren{}\$R} decreases the current +{\smath{\mbox{\bf decreasePrecision}\opLeftPren{}n\opRightPren{}\$R} +decreases the current \spadfunFrom{precision}{FloatingPointSystem} by \smath{n} decimal digits.} @@ -70940,89 +72890,129 @@ not been assigned a value yet. }% }% {0}{()->UP}{MonogenicAlgebra} -{\smath{\mbox{\bf definingPolynomial}\opLeftPren{}\opRightPren{}\$R} returns the minimal polynomial for -a \spadtype{MonogenicAlgebra} domain \smath{R}, that is, one which \smath{\mbox{\bf generator}\opLeftPren{}\opRightPren{}\$R} satisfies. -\newitem\smath{\mbox{\bf definingPolynomial}\opLeftPren{}x\opRightPren{}} returns an expression \smath{p} such that \smath{p(x) = 0}, where \smath{x} is an \spadtype{AlgebraicNumber} or an object of type \spadtype{Expression}. +{\smath{\mbox{\bf definingPolynomial}\opLeftPren{}\opRightPren{}\$R} +returns the minimal polynomial for +a \spadtype{MonogenicAlgebra} domain \smath{R}, that is, one which +\smath{\mbox{\bf generator}\opLeftPren{}\opRightPren{}\$R} satisfies. +\newitem\smath{\mbox{\bf definingPolynomial}\opLeftPren{}x\opRightPren{}} +returns an expression \smath{p} such that \smath{p(x) = 0}, +where \smath{x} is an \spadtype{AlgebraicNumber} +or an object of type \spadtype{Expression}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{degree}}\opLeftPren{}{\it polynomial\opt{, symbol}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{degree}}\opLeftPren{} +{\it polynomial\opt{, symbol}}\opRightPren{}% }% }% {1}{(\$)->E}{AbelianMonoidRing} -{\opkey{The meaning of degree(u\optinner{, s}) depends on the type of \smath{u}.} +{\opkey{The meaning of degree(u\optinner{, s}) depends on the type of +\smath{u}.} \begin{simpleList} \item if \smath{u} is a polynomial: -\smath{\mbox{\bf degree}\opLeftPren{}u, \allowbreak{} x\opRightPren{}} returns the degree of polynomial \smath{u} with respect to the variable \smath{x}. -Similarly, \smath{\mbox{\bf degree}\opLeftPren{}u, \allowbreak{} lv\opRightPren{}}, where \smath{lv} is a list of variables, returns -a list of degrees of polynomial \smath{u} with respect to each of the variables +\smath{\mbox{\bf degree}\opLeftPren{}u, \allowbreak{} x\opRightPren{}} +returns the degree of polynomial \smath{u} with respect to the variable +\smath{x}. +Similarly, \smath{\mbox{\bf degree}\opLeftPren{}u, +\allowbreak{} lv\opRightPren{}}, where \smath{lv} is +a list of variables, returns +a list of degrees of polynomial \smath{u} with respect +to each of the variables in \smath{lv}. \item if \smath{u} is an element of an \spadtype{AbelianMonoidRing} or \spadtype{GradedModule} domain: -\smath{\mbox{\bf degree}\opLeftPren{}u\opRightPren{}} returns the maximum of the exponents of the terms of \smath{u}. +\smath{\mbox{\bf degree}\opLeftPren{}u\opRightPren{}} +returns the maximum of the exponents of the terms of \smath{u}. \item if \smath{u} is a series: -\smath{\mbox{\bf degree}\opLeftPren{}u\opRightPren{}} returns the degree of the leading term of \smath{u}. -\item if \smath{u} is an element of a domain of category \spadtype{ExtensionField}: \smath{\mbox{\bf degree}\opLeftPren{}u\opRightPren{}} -returns the degree of the minimal polynomial of \smath{u} if \smath{u} is algebraic +\smath{\mbox{\bf degree}\opLeftPren{}u\opRightPren{}} +returns the degree of the leading term of \smath{u}. +\item if \smath{u} is an element of a domain of category +\spadtype{ExtensionField}: +\smath{\mbox{\bf degree}\opLeftPren{}u\opRightPren{}} +returns the degree of the minimal polynomial of \smath{u} +if \smath{u} is algebraic with respect to the ground field \smath{F}, and {\tt \%infinity} otherwise. \item if \smath{u} is a permutation: -\smath{\mbox{\bf degree}\opLeftPren{}u\opRightPren{}} returns the number of points moved by the permutation. +\smath{\mbox{\bf degree}\opLeftPren{}u\opRightPren{}} +returns the number of points moved by the permutation. \item if \smath{u} is a permutation group: -\smath{\mbox{\bf degree}\opLeftPren{}u\opRightPren{}} returns the number of points moved by all permutations of the group \smath{u}. +\smath{\mbox{\bf degree}\opLeftPren{}u\opRightPren{}} +returns the number of points moved by all permutations of the group \smath{u}. \seeOther{\spadfun{degree}} \end{simpleList} } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{delete}}\opLeftPren{}{\it aggregate}, \allowbreak{}{\it integerOrSegment}\opRightPren{}% +\opdata{{\mbox{\axiomFun{delete}}\opLeftPren{} +{\it aggregate}, \allowbreak{}{\it integerOrSegment}\opRightPren{}% }% }% {2}{(\$, Integer)->\$}{LinearAggregate} -{\smath{\mbox{\bf delete}\opLeftPren{}u, \allowbreak{} i\opRightPren{}} returns a copy of linear aggregate \smath{u} with +{\smath{\mbox{\bf delete}\opLeftPren{}u, +\allowbreak{} i\opRightPren{}} returns a copy of +linear aggregate \smath{u} with the \eth{\smath{i}} element deleted. Note: for lists, \code{delete(a, i) == {\tt concat}(a(0..i-1), a(i + 1, ..))}. -\newitem\smath{\mbox{\bf delete}\opLeftPren{}u, \allowbreak{} i..j\opRightPren{}} returns a copy of \smath{u} with the \eth{\smath{i}} +\newitem\smath{\mbox{\bf delete}\opLeftPren{}u, +\allowbreak{} i..j\opRightPren{}} returns a copy +of \smath{u} with the \eth{\smath{i}} through \eth{\smath{j}} element deleted. Note: for lists, \code{delete(a, i..j) = concat(a(0..i-1), a(j+1..))}. -\newitem\smath{\mbox{\bf delete!}\opLeftPren{}u, \allowbreak{} i\opRightPren{}} destructively deletes the \eth{\smath{i}} element of \smath{u}. -\newitem\smath{\mbox{\bf delete!}\opLeftPren{}u, \allowbreak{} i..j\opRightPren{}} destructively deletes elements \smath{u}.\smath{i} through \smath{u}.\smath{j} of \smath{u}. +\newitem\smath{\mbox{\bf delete!}\opLeftPren{}u, +\allowbreak{} i\opRightPren{}} destructively deletes +the \eth{\smath{i}} element of \smath{u}. +\newitem\smath{\mbox{\bf delete!}\opLeftPren{}u, +\allowbreak{} i..j\opRightPren{}} destructively deletes +elements \smath{u}.\smath{i} +through \smath{u}.\smath{j} of \smath{u}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{deleteProperty}}\opLeftPren{}{\it basicOperator}, \allowbreak{}{\it string}\opRightPren{}% +\opdata{{\mbox{\axiomFun{deleteProperty}}\opLeftPren{} +{\it basicOperator}, \allowbreak{}{\it string}\opRightPren{}% }% }% {2}{(\$, String)->\$}{BasicOperator} -{\smath{\mbox{\bf deleteProperty}\opLeftPren{}op, \allowbreak{} s\opRightPren{}} destructively removes property \smath{s} from \smath{op}. +{\smath{\mbox{\bf deleteProperty}\opLeftPren{}op, \allowbreak{} s +\opRightPren{}} destructively removes property \smath{s} from \smath{op}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{denom}}\opLeftPren{}{\it expression}\opRightPren{}% - \opand \mbox{\axiomFun{denominator}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{denom}}\opLeftPren{} +{\it expression}\opRightPren{}% + \opand \mbox{\axiomFun{denominator}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(\$)->D}{QuotientFieldCategory} -{\opkey{Argument x can be from domain \spadtype{Fraction(R)} for some domain \smath{R}, or of type \spadtype{Expression}} +{\opkey{Argument x can be from domain \spadtype{Fraction(R)} for +some domain \smath{R}, or of type \spadtype{Expression}} if the result is of type \smath{R}. \newitem -\smath{\mbox{\bf denom}\opLeftPren{}x\opRightPren{}} returns the denominator of \smath{x} as an object -of domain \smath{R}; if \smath{x} is of type \spadtype{Expression}, it returns +\smath{\mbox{\bf denom}\opLeftPren{}x\opRightPren{}} returns the +denominator of \smath{x} as an object +of domain \smath{R}; if \smath{x} is of type \spadtype{Expression}, +it returns an object of domain \spadtype{SMP(R, Kernel(Expression R))}. \newitem -\smath{\mbox{\bf denominator}\opLeftPren{}x\opRightPren{}} returns the denominator of \smath{x} as an element +\smath{\mbox{\bf denominator}\opLeftPren{}x\opRightPren{}} +returns the denominator of \smath{x} as an element of \spadtype{Fraction(R)}; if \smath{x} is of type \spadtype{Expression}, it returns an object of domain Expression(R). } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{denominators}}\opLeftPren{}{\it fractionOrContinuedFraction}\opRightPren{}% +\opdata{{\mbox{\axiomFun{denominators}}\opLeftPren{} +{\it fractionOrContinuedFraction}\opRightPren{}% }% }% {1}{(\$)->Stream(R)}{ContinuedFraction} -{\smath{\mbox{\bf denominator}\opLeftPren{}frac\opRightPren{}} is the denominator of the fraction \smath{frac}. -\newitem\smath{\mbox{\bf denominators}\opLeftPren{}cf\opRightPren{}} returns the stream of +{\smath{\mbox{\bf denominator}\opLeftPren{}frac\opRightPren{}} +is the denominator of the fraction \smath{frac}. +\newitem\smath{\mbox{\bf denominators}\opLeftPren{}cf\opRightPren{}} +returns the stream of denominators of the approximants of the continued fraction \smath{x}. If the continued fraction is finite, then the stream will be @@ -71034,7 +73024,8 @@ finite. }% }% {1}{(\$)->NonNegativeInteger}{StackAggregate} -{\smath{\mbox{\bf depth}\opLeftPren{}st\opRightPren{}} returns the number of elements of stack +{\smath{\mbox{\bf depth}\opLeftPren{}st\opRightPren{}} +returns the number of elements of stack \smath{st}.} % ---------------------------------------------------------------------- @@ -71043,11 +73034,13 @@ finite. }% }% {1}{(\$)->S}{QueueAggregate} -{\smath{\mbox{\bf dequeue}\opLeftPren{}[ x, y, \ldots, z]\opRightPren{}} creates a +{\smath{\mbox{\bf dequeue}\opLeftPren{}[ x, y, \ldots, z]\opRightPren{}} +creates a dequeue with first (top or front) element \smath{x}, second element \smath{y}, \smath{\ldots}, and last (bottom or back) element \smath{z}. -\newitem\smath{\mbox{\bf dequeue!}\opLeftPren{}q\opRightPren{}} destructively extracts the first (top) +\newitem\smath{\mbox{\bf dequeue!}\opLeftPren{}q\opRightPren{}} +destructively extracts the first (top) element from queue \smath{q}. The element previously second in the queue becomes the first element. @@ -71055,30 +73048,38 @@ A call to \spadfun{error} occurs if \smath{q} is empty. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{derivationCoordinates}}\opLeftPren{}{\it vectorOfElements}, \allowbreak{}{\it derivationFunction}\opRightPren{}% +\opdata{{\mbox{\axiomFun{derivationCoordinates}}\opLeftPren{} +{\it vectorOfElements}, \allowbreak{}{\it derivationFunction}\opRightPren{}% }% }% {2}{(Vector(\$), (R)->R)->Matrix(R)}{MonogenicAlgebra} -{\smath{\mbox{\bf derivationCoordinates}\opLeftPren{}v, \allowbreak{} \quad{}'\opRightPren{}} returns a matrix \smath{M} such that \smath{v' = M v}. +{\smath{\mbox{\bf derivationCoordinates}\opLeftPren{}v, +\allowbreak{} \quad{}'\opRightPren{}} returns a matrix +\smath{M} such that \smath{v' = M v}. Argument \smath{v} is a vector of elements from \smath{R}, a domain of category \spadtype{MonogenicAlgebra} over a ring \smath{R}. Argument \smath{'} is a derivation function defined on \smath{R}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{derivative}}\opLeftPren{}{\it basicOperator\opt{, property}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{derivative}}\opLeftPren{} +{\it basicOperator\opt{, property}}\opRightPren{}% }% }% -{1}{(BasicOperator)->Union(List((List(A))->A), "failed")}{BasicOperatorFunctions1} -{\smath{\mbox{\bf derivative}\opLeftPren{}op\opRightPren{}} returns the value of the \mbox{\tt "\%diff"} +{1}{(BasicOperator)->Union(List((List(A))->A), "failed")} +{BasicOperatorFunctions1} +{\smath{\mbox{\bf derivative}\opLeftPren{}op\opRightPren{}} +returns the value of the \mbox{\tt "\%diff"} property of \smath{op} if it has one, and \mbox{\tt "failed"} otherwise. -\newitem\smath{\mbox{\bf derivative}\opLeftPren{}op, \allowbreak{} dprop\opRightPren{}} attaches \smath{dprop} as the +\newitem\smath{\mbox{\bf derivative}\opLeftPren{}op, +\allowbreak{} dprop\opRightPren{}} attaches \smath{dprop} as the \mbox{\tt "\%diff"} property of \smath{op}. Note: if \smath{op} has a \mbox{\tt "\%diff"} property \smath{f}, then applying a derivation \smath{D} to \smath{op}(a) returns \smath{f(a) D(a)}. Argument \smath{op} must be unary. -\newitem\smath{\mbox{\bf derivative}\opLeftPren{}op, \allowbreak{} [f_1, \allowbreak{} \ldots, f_n]\opRightPren{}} attaches +\newitem\smath{\mbox{\bf derivative}\opLeftPren{}op, +\allowbreak{} [f_1, \allowbreak{} \ldots, f_n]\opRightPren{}} attaches \smath{[ f_1, \ldots, f_n]} as the \mbox{\tt "\%diff"} property of \smath{op}. Note: if \smath{op} has such a \mbox{\tt "\%diff"} property, then applying @@ -71089,7 +73090,8 @@ D(a_n)}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{destruct}}\opLeftPren{}{\it sExpression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{destruct}}\opLeftPren{} +{\it sExpression}\opRightPren{}% }% }% {1}{(\$)->List(\$)}{SExpressionCategory} @@ -71103,7 +73105,8 @@ the \smath{SExpression} \smath{(a_1, \ldots, a_n)}, returns the list }% }% {1}{(\$)->R}{MatrixCategory} -{\smath{\mbox{\bf determinant}\opLeftPren{}m\opRightPren{}} returns the determinant of the matrix \smath{m}, or calls +{\smath{\mbox{\bf determinant}\opLeftPren{}m\opRightPren{}} +returns the determinant of the matrix \smath{m}, or calls \spadfun{error} if the matrix is not square. Note: the underlying coefficient domain of \smath{m} is assumed to have a commutative \spadop{*}. @@ -71114,7 +73117,8 @@ have a commutative \spadop{*}. }% }% {1}{(List(R))->\$}{MatrixCategory} -{\smath{\mbox{\bf diagonal}\opLeftPren{}m\opRightPren{}}, where \smath{m} is a square matrix, returns a vector +{\smath{\mbox{\bf diagonal}\opLeftPren{}m\opRightPren{}}, +where \smath{m} is a square matrix, returns a vector consisting of the diagonal elements of \smath{m}. \newitem \smath{\mbox{\bf diagonal}\opLeftPren{}f\opRightPren{}}, @@ -71125,7 +73129,8 @@ See \spadtype{MappingPackage} for related functions. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{diagonal?}}\opLeftPren{}{\it matrix}\opRightPren{}% +\opdata{{\mbox{\axiomFun{diagonal?}}\opLeftPren{} +{\it matrix}\opRightPren{}% }% }% {1}{(\$)->Boolean}{MatrixCategory} @@ -71133,7 +73138,8 @@ See \spadtype{MappingPackage} for related functions. \smath{m} is square and diagonal.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{diagonalMatrix}}\opLeftPren{}{\it listOfElements}\opRightPren{}% +\opdata{{\mbox{\axiomFun{diagonalMatrix}}\opLeftPren{} +{\it listOfElements}\opRightPren{}% }% }% {1}{(List(R))->\$}{MatrixCategory} @@ -71141,56 +73147,74 @@ See \spadtype{MappingPackage} for related functions. where \smath{l} is a list or vector of elements, returns a (square) diagonal matrix with those elements of \smath{l} on the diagonal. -\newitem\smath{\mbox{\bf diagonalMatrix}\opLeftPren{}[ m_1, \ldots, m_k]\opRightPren{}} +\newitem\smath{\mbox{\bf diagonalMatrix}\opLeftPren{} +[ m_1, \ldots, m_k]\opRightPren{}} creates a block diagonal matrix \smath{M} with block matrices \smath{m_1}, \ldots, \smath{m_k} down the diagonal, with 0 block matrices elsewhere.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{diagonalProduct}}\opLeftPren{}{\it matrix}\opRightPren{}% +\opdata{{\mbox{\axiomFun{diagonalProduct}}\opLeftPren{} +{\it matrix}\opRightPren{}% }% }% {1}{(\$)->R}{SquareMatrixCategory} -{\smath{\mbox{\bf diagonalProduct}\opLeftPren{}m\opRightPren{}} returns the product of the elements on the diagonal of the matrix \smath{m}.} +{\smath{\mbox{\bf diagonalProduct}\opLeftPren{}m\opRightPren{}} +returns the product of the elements on the diagonal of the matrix \smath{m}.} % ---------------------------------------------------------------------- \opdata{{\mbox{\axiomFun{dictionary}}\opLeftPren{}\opRightPren{}% }% }% {0}{()->\$}{DictionaryOperations} -{\smath{\mbox{\bf dictionary}\opLeftPren{}\opRightPren{}}\$\smath{R} creates an empty dictionary of type \smath{R}. -\newitem\smath{\mbox{\bf dictionary}\opLeftPren{}[ x, y, \ldots, z]\opRightPren{}} creates a dictionary consisting of entries \smath{x, y, \ldots, z}. +{\smath{\mbox{\bf dictionary}\opLeftPren{}\opRightPren{}}\$\smath{R} +creates an empty dictionary of type \smath{R}. +\newitem\smath{\mbox{\bf dictionary}\opLeftPren{} +[ x, y, \ldots, z]\opRightPren{}} creates a +dictionary consisting of entries \smath{x, y, \ldots, z}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{difference}}\opLeftPren{}{\it setAggregate}, \allowbreak{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{difference}}\opLeftPren{} +{\it setAggregate}, \allowbreak{}{\it element}\opRightPren{}% }% }% {2}{(\$, S)->\$}{SetAggregate} -{\smath{\mbox{\bf difference}\opLeftPren{}u, \allowbreak{} x\opRightPren{}} returns the set aggregate \smath{u} with element +{\smath{\mbox{\bf difference}\opLeftPren{}u, +\allowbreak{} x\opRightPren{}} returns the set aggregate \smath{u} with element \smath{x} removed. -\newitem\smath{\mbox{\bf difference}\opLeftPren{}u, \allowbreak{} v\opRightPren{}} returns the set aggregate \smath{w} consisting of elements in set aggregate \smath{u} but not in set aggregate \smath{v}. +\newitem\smath{\mbox{\bf difference}\opLeftPren{}u, +\allowbreak{} v\opRightPren{}} returns the set aggregate +\smath{w} consisting of elements +in set aggregate \smath{u} but not in set aggregate \smath{v}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{differentialVariables}}\opLeftPren{}{\it differentialPolynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{differentialVariables}}\opLeftPren{} +{\it differentialPolynomial}\opRightPren{}% }% }% -{1}{(\$)->List(S)}{DifferentialPolynomialCategory}{\smath{\mbox{\bf differentialVariables}\opLeftPren{}p\opRightPren{}} returns a list of differential indeterminates occurring in a differential polynomial \smath{p}.} +{1}{(\$)->List(S)}{DifferentialPolynomialCategory} +{\smath{\mbox{\bf differentialVariables}\opLeftPren{}p\opRightPren{}} +returns a list of differential +indeterminates occurring in a differential polynomial \smath{p}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{differentiate}}\opLeftPren{}{\it expression\opt{, options}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{differentiate}}\opLeftPren{} +{\it expression\opt{, options}}\opRightPren{}% }% }% {1}{(\$)->\$}{DifferentialRing} {See \spadfun{D}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{digamma}}\opLeftPren{}{\it complexDoubleFloat}\opRightPren{}% +\opdata{{\mbox{\axiomFun{digamma}}\opLeftPren{} +{\it complexDoubleFloat}\opRightPren{}% }% }% {1}{(Complex(DoubleFloat))->Complex(DoubleFloat)}{DoubleFloatSpecialFunctions} -{\smath{\mbox{\bf digamma}\opLeftPren{}x\opRightPren{}} is the function, \smath{\psi(x)}, defined by +{\smath{\mbox{\bf digamma}\opLeftPren{}x\opRightPren{}} +is the function, \smath{\psi(x)}, defined by $\psi(x) = \Gamma'(x)/\Gamma(x).$ Argument x is either a small float or a complex small float. } @@ -71200,7 +73224,9 @@ Argument x is either a small float or a complex small float. }% }% {0}{()->\$}{CharacterClass} -{\smath{\mbox{\bf digit}\opLeftPren{}\opRightPren{}} returns the class of all characters for which \spadfunFrom{digit?}{Character} is \smath{true}.} +{\smath{\mbox{\bf digit}\opLeftPren{}\opRightPren{}} +returns the class of all characters for +which \spadfunFrom{digit?}{Character} is \smath{true}.} % ---------------------------------------------------------------------- @@ -71208,21 +73234,25 @@ Argument x is either a small float or a complex small float. }% }% {1}{(\$)->Boolean}{Character} -{\smath{\mbox{\bf digit?}\opLeftPren{}ch\opRightPren{}} tests if character \smath{c} is a digit character, that is, one of 0..9.} +{\smath{\mbox{\bf digit?}\opLeftPren{}ch\opRightPren{}} +tests if character \smath{c} is a digit character, that is, one of 0..9.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{digits}}\opLeftPren{}{\it \opt{positiveInteger}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{digits}}\opLeftPren{} +{\it \opt{positiveInteger}}\opRightPren{}% }% }% {1}{(PositiveInteger)->PositiveInteger}{FloatingPointSystem} -{\smath{\mbox{\bf digits}\opLeftPren{}\opRightPren{}} returns the current precision of floats in +{\smath{\mbox{\bf digits}\opLeftPren{}\opRightPren{}} +returns the current precision of floats in numbers of digits. \newitem \smath{\mbox{\bf digits}\opLeftPren{}n\opRightPren{}} set the \spadfunFrom{precision}{FloatingPointSystem} of floats to \smath{n} digits. \newitem -\smath{\mbox{\bf digits}\opLeftPren{}x\opRightPren{}} returns a stream of \smath{p}-adic +\smath{\mbox{\bf digits}\opLeftPren{}x\opRightPren{}} +returns a stream of \smath{p}-adic digits of p-adic integer \smath{n}. \seeType{PAdicInteger} @@ -71233,19 +73263,23 @@ digits of p-adic integer }% }% { I -> SPOL RN --dihedral group}{}{} -{\smath{\mbox{\bf dihedral}\opLeftPren{}n\opRightPren{}} is the cycle index of the +{\smath{\mbox{\bf dihedral}\opLeftPren{}n\opRightPren{}} +is the cycle index of the dihedral group of degree \smath{n}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{dihedralGroup}}\opLeftPren{}{\it listOfIntegers}\opRightPren{}% +\opdata{{\mbox{\axiomFun{dihedralGroup}}\opLeftPren{} +{\it listOfIntegers}\opRightPren{}% }% }% {1}{(List(Integer))->PermutationGroup(Integer)}{PermutationGroupExamples} -{\smath{\mbox{\bf dihedralGroup}\opLeftPren{}[ i_1, \ldots, i_k]\opRightPren{}} constructs +{\smath{\mbox{\bf dihedralGroup}\opLeftPren{} +[ i_1, \ldots, i_k]\opRightPren{}} constructs the dihedral group of order \smath{2k} acting on the integers \smath{i_1}, \ldots, \smath{i_k}. Note: duplicates in the list will be removed. -\newitem\smath{\mbox{\bf dihedralGroup}\opLeftPren{}n\opRightPren{}} constructs the dihedral group of order \smath{2n} +\newitem\smath{\mbox{\bf dihedralGroup}\opLeftPren{}n\opRightPren{}} +constructs the dihedral group of order \smath{2n} acting on integers \smath{1, \ldots, n}. } @@ -71254,25 +73288,31 @@ acting on integers \smath{1, \ldots, n}. }% }% {1}{(\$)->\$}{LiouvillianFunctionCategory} -{\smath{\mbox{\bf dilog}\opLeftPren{}x\opRightPren{}} returns the dilogarithm of \smath{x}, that is, \smath{\int {log(x) / (1 - x) dx}}.} +{\smath{\mbox{\bf dilog}\opLeftPren{}x\opRightPren{}} returns the +dilogarithm of \smath{x}, that is, \smath{\int {log(x) / (1 - x) dx}}.} % ---------------------------------------------------------------------- \opdata{{\mbox{\axiomFun{dim}}\opLeftPren{}{\it color}\opRightPren{}% }% }% {1}{(Color)->\$}{Palette} -{\smath{\mbox{\bf dim}\opLeftPren{}c\opRightPren{}} sets the shade of a hue \smath{c}, above dark but +{\smath{\mbox{\bf dim}\opLeftPren{}c\opRightPren{}} +sets the shade of a hue \smath{c}, above dark but below bright.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{dimension}}\opLeftPren{}{\it \opt{various}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{dimension}}\opLeftPren{} +{\it \opt{various}}\opRightPren{}% }% }% {0}{()->CardinalNumber}{VectorSpace} -{\smath{\mbox{\bf dimension}\opLeftPren{}\opRightPren{}\$R} returns the dimensionality of the vector space +{\smath{\mbox{\bf dimension}\opLeftPren{}\opRightPren{}\$R} +returns the dimensionality of the vector space or rank of Lie algebra \smath{R}. -\newitem\smath{\mbox{\bf dimension}\opLeftPren{}I\opRightPren{}} gives the dimension of the ideal \smath{I}. -\newitem\smath{\mbox{\bf dimension}\opLeftPren{}s\opRightPren{}} returns the dimension of the point category \smath{s}. +\newitem\smath{\mbox{\bf dimension}\opLeftPren{}I\opRightPren{}} +gives the dimension of the ideal \smath{I}. +\newitem\smath{\mbox{\bf dimension}\opLeftPren{}s\opRightPren{}} +returns the dimension of the point category \smath{s}. } @@ -71280,61 +73320,83 @@ or rank of Lie algebra \smath{R}. \opdata{{\mbox{\axiomFun{dioSolve}}\opLeftPren{}{\it equation}\opRightPren{}% }% }% -{1}{(Equation(Expression(R)))->List(Equation(Expression(R)))}{TransSolvePackage} -{\smath{\mbox{\bf dioSolve}\opLeftPren{}eq\opRightPren{}} computes a basis of all minimal solutions +{1}{(Equation(Expression(R)))->List(Equation(Expression(R)))} +{TransSolvePackage} +{\smath{\mbox{\bf dioSolve}\opLeftPren{}eq\opRightPren{}} +computes a basis of all minimal solutions for a linear homomogeneous Diophantine equation \smath{eq}, then all minimal solutions of the inhomogeneous equation. -Alternatively, an expression \smath{u} may be given for \smath{eq} in which case the equation +Alternatively, an expression \smath{u} may be given +for \smath{eq} in which case the equation \smath{eq} is defined as \smath{u=0}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{directory}}\opLeftPren{}{\it filename}\opRightPren{}% +\opdata{{\mbox{\axiomFun{directory}}\opLeftPren{} +{\it filename}\opRightPren{}% }% }% {1}{(\$)->String}{FileNameCategory} -{\smath{\mbox{\bf directory}\opLeftPren{}f\opRightPren{}} returns the directory part of the file name.} +{\smath{\mbox{\bf directory}\opLeftPren{}f\opRightPren{}} +returns the directory part of the file name.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{directProduct}}\opLeftPren{}{\it vector}\opRightPren{}% +\opdata{{\mbox{\axiomFun{directProduct}}\opLeftPren{} +{\it vector}\opRightPren{}% }% }% {1}{(Vector(R))->\$}{DirectProductCategory} -{\smath{\mbox{\bf directProduct}\opLeftPren{}v\opRightPren{}} converts the vector \smath{v} to become a direct product +{\smath{\mbox{\bf directProduct}\opLeftPren{}v\opRightPren{}} +converts the vector \smath{v} to become a direct product } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{discreteLog}}\opLeftPren{}{\it finiteFieldElement}\opRightPren{}% +\opdata{{\mbox{\axiomFun{discreteLog}}\opLeftPren{} +{\it finiteFieldElement}\opRightPren{}% }% }% {1}{(\$)->NonNegativeInteger}{FiniteFieldCategory} -{\smath{\mbox{\bf discreteLog}\opLeftPren{}a\opRightPren{}\$F} computes the discrete logarithm of \smath{a} with respect to \smath{\mbox{\bf primitiveElement}\opLeftPren{}\opRightPren{}\$F} of the field \smath{F}.} +{\smath{\mbox{\bf discreteLog}\opLeftPren{}a\opRightPren{}\$F} +computes the discrete logarithm of \smath{a} with respect to +\smath{\mbox{\bf primitiveElement}\opLeftPren{}\opRightPren{}\$F} +of the field \smath{F}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{discreteLog}}\opLeftPren{}{\it finiteFieldElement}, \allowbreak{}{\it finiteFieldElement}\opRightPren{}% +\opdata{{\mbox{\axiomFun{discreteLog}}\opLeftPren{} +{\it finiteFieldElement}, +\allowbreak{}{\it finiteFieldElement}\opRightPren{}% }% }% {2}{(\$, \$)->Union(NonNegativeInteger, "failed")}{FieldOfPrimeCharacteristic} -{\smath{\mbox{\bf discreteLog}\opLeftPren{}b, \allowbreak{} a\opRightPren{}} computes \smath{s} such that +{\smath{\mbox{\bf discreteLog}\opLeftPren{}b, +\allowbreak{} a\opRightPren{}} computes \smath{s} such that \smath{b^s = a} if such an \smath{s} exists. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{discriminant}}\opLeftPren{}{\it polynomial\opt{, symbol}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{discriminant}}\opLeftPren{} +{\it polynomial\opt{, symbol}}\opRightPren{}% }% }% {0}{()->R}{FramedAlgebra} -{\smath{\mbox{\bf discriminant}\opLeftPren{}p\optinner{, x}\opRightPren{}} returns the discriminant of the polynomial +{\smath{\mbox{\bf discriminant}\opLeftPren{}p\optinner{, x}\opRightPren{}} +returns the discriminant of the polynomial \smath{p} with respect to the variable \smath{x}. If \smath{x} is univariate, the second argument may be omitted. \newitem\smath{\mbox{\bf discriminant}\opLeftPren{}\opRightPren{}\$R} -returns \smath{\mbox{\bf determinant}\opLeftPren{}{\mbox {\bf traceMatrix}}()\$R\opRightPren{}} of a +returns \smath{\mbox{\bf determinant}\opLeftPren{} +{\mbox {\bf traceMatrix}}()\$R\opRightPren{}} of a \spadtype{FramedAlgebra} domain \smath{R}. -\newitem\smath{\mbox{\bf discriminant}\opLeftPren{}[ v_1, .., v_n]\opRightPren{}} returns \smath{\mbox{\bf determinant}\opLeftPren{}traceMatrix([ v_1, .., v_n])\opRightPren{}} where the \smath{v_i} each have \smath{n} elements. +\newitem\smath{\mbox{\bf discriminant}\opLeftPren{} +[ v_1, .., v_n]\opRightPren{}} returns \smath{\mbox{\bf determinant} +\opLeftPren{}traceMatrix([ v_1, .., v_n])\opRightPren{}} +where the \smath{v_i} each have +\smath{n} elements. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{display}}\opLeftPren{}{\it text\opt{, width}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{display}}\opLeftPren{} +{\it text\opt{, width}}\opRightPren{}% }% }% {1}{(\$)->Void}{ScriptFormulaFormat} @@ -71343,14 +73405,19 @@ where \smath{t} is either IBM SCRIPT Formula Format or \TeX{} text, outputs \smath{t} so that each line has length \smath{\leq w}. The default value of \smath{w} is that length set by the system command \spadsyscom{)set output length}. -\newitem\smath{\mbox{\bf display}\opLeftPren{}op, \allowbreak{} f\opRightPren{}} attaches \smath{f} as the \mbox{\tt "\%display"} property +\newitem\smath{\mbox{\bf display}\opLeftPren{}op, +\allowbreak{} f\opRightPren{}} attaches \smath{f} +as the \mbox{\tt "\%display"} property of \smath{op}. \newitem -\smath{\mbox{\bf display}\opLeftPren{}op\opRightPren{}} returns the \mbox{\tt "\%display"} property of \smath{op} if it has one attached, and \mbox{\tt "failed"} otherwise. +\smath{\mbox{\bf display}\opLeftPren{}op\opRightPren{}} +returns the \mbox{\tt "\%display"} property of \smath{op} if it has one +attached, and \mbox{\tt "failed"} otherwise. \newitem Value \smath{f} either has type \spadsig{OutputForm}{OutputForm} or else \spadsig{List(OutputForm)}{OutputForm}. Argument \smath{op} must be unary. -Note: if \smath{op} has a \mbox{\tt "\%display"} property \smath{f} of the former type, +Note: if \smath{op} has a \mbox{\tt "\%display"} +property \smath{f} of the former type, then \smath{op(a)} gets converted to \spadtype{OutputForm} as \smath{f(a)}. If \smath{f} has the latter type, then \smath{op(a_1, \ldots, a_n)} gets converted to @@ -71358,7 +73425,8 @@ then \smath{op(a_1, \ldots, a_n)} gets converted to } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{distance}}\opLeftPren{}{\it aggregate}, \allowbreak{}{\it aggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{distance}}\opLeftPren{} +{\it aggregate}, \allowbreak{}{\it aggregate}\opRightPren{}% }% }% {2}{(\$, \$)->Integer}{RecursiveAggregate} @@ -71368,11 +73436,14 @@ are recursive aggregates (for example, lists) returns the path length (an integer) from node \smath{u} to \smath{v}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{distdfact}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it boolean}\opRightPren{}% +\opdata{{\mbox{\axiomFun{distdfact}}\opLeftPren{} +{\it polynomial}, \allowbreak{}{\it boolean}\opRightPren{}% }% }% -{2}{(FP, Boolean)->Record(cont:F, factors:List(Record(irr:FP, pow:Integer)))}{DistinctDegreeFactorize} -{\smath{\mbox{\bf distdfact}\opLeftPren{}p, \allowbreak{} squareFreeFlag\opRightPren{}} produces the complete +{2}{(FP, Boolean)->Record(cont:F, +factors:List(Record(irr:FP, pow:Integer)))}{DistinctDegreeFactorize} +{\smath{\mbox{\bf distdfact}\opLeftPren{}p, +\allowbreak{} squareFreeFlag\opRightPren{}} produces the complete \typeout{check distdfact} factorization of the polynomial \smath{p} returning an internal data structure. @@ -71380,11 +73451,13 @@ If argument \smath{squareFreeFlag} is \smath{true}, the polynomial is assumed square free.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{distribute}}\opLeftPren{}{\it expression\opt{, f}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{distribute}}\opLeftPren{} +{\it expression\opt{, f}}\opRightPren{}% }% }% {1}{(\$)->\$}{ExpressionSpace} -{\smath{\mbox{\bf distribute}\opLeftPren{}f\optinner{, g}\opRightPren{}} expands all the kernels in +{\smath{\mbox{\bf distribute}\opLeftPren{}f\optinner{, g}\opRightPren{}} +expands all the kernels in \smath{f} that contain \smath{g} in their arguments and that are formally enclosed by a \spadfunFrom{box}{ExpressionSpace} or a \spadfunFrom{paren}{ExpressionSpace} expression. @@ -71392,11 +73465,13 @@ By default, \smath{g} is the list of all kernels in \smath{f}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{divide}}\opLeftPren{}{\it element}, \allowbreak{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{divide}}\opLeftPren{}{\it element}, +\allowbreak{}{\it element}\opRightPren{}% }% }% {2}{(\$, \$)->Record(quotient:\$, remainder:\$)}{EuclideanDomain} -{\smath{\mbox{\bf divide}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} divides \smath{x} by \smath{y} producing a +{\smath{\mbox{\bf divide}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} +divides \smath{x} by \smath{y} producing a record containing a \smath{quotient} and \smath{remainder}, where the remainder is smaller (see \spadfunFrom{sizeLess?}{EuclideanDomain}) than the divisor @@ -71404,11 +73479,14 @@ the remainder is smaller (see % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{divideExponents}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it nonNegativeInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{divideExponents}}\opLeftPren{}{\it polynomial}, +\allowbreak{}{\it nonNegativeInteger}\opRightPren{}% }% }% -{2}{(\$, NonNegativeInteger)->Union(\$, "failed")}{UnivariatePolynomialCategory} -{\smath{\mbox{\bf divideExponents}\opLeftPren{}p, \allowbreak{} n\opRightPren{}} returns a new polynomial resulting +{2}{(\$, NonNegativeInteger)->Union(\$, "failed")} +{UnivariatePolynomialCategory} +{\smath{\mbox{\bf divideExponents}\opLeftPren{}p, +\allowbreak{} n\opRightPren{}} returns a new polynomial resulting from dividing all exponents of the polynomial \smath{p} by the non negative integer \smath{n}, or \mbox{\tt "failed"} if no exponent is exactly divisible by \smath{n}.} @@ -71418,38 +73496,46 @@ exactly divisible by \smath{n}.} }% }% {1}{(Integer)->List(Integer)}{IntegerNumberTheoryFunctions} -{\smath{\mbox{\bf divisors}\opLeftPren{}i\opRightPren{}} returns a list of the divisors of integer +{\smath{\mbox{\bf divisors}\opLeftPren{}i\opRightPren{}} +returns a list of the divisors of integer \smath{i}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{domain}}\opLeftPren{}{\it typeAnyObject}\opRightPren{}% +\opdata{{\mbox{\axiomFun{domain}}\opLeftPren{} +{\it typeAnyObject}\opRightPren{}% }% }% {1}{(\$)->SExpression}{Any} -{\smath{\mbox{\bf domain}\opLeftPren{}a\opRightPren{}} returns the type of the original object that +{\smath{\mbox{\bf domain}\opLeftPren{}a\opRightPren{}} +returns the type of the original object that was converted to \spadtype{Any} as object of type \spadtype{SExpression} } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{domainOf}}\opLeftPren{}{\it typeAnyObject}\opRightPren{}% +\opdata{{\mbox{\axiomFun{domainOf}}\opLeftPren{} +{\it typeAnyObject}\opRightPren{}% }% }% {1}{(\$)->OutputForm}{Any} -{\smath{\mbox{\bf domainOf}\opLeftPren{}a\opRightPren{}} returns a printable form of the type of the +{\smath{\mbox{\bf domainOf}\opLeftPren{}a\opRightPren{}} returns a +printable form of the type of the original type of \smath{a}, an object of type \spadtype{Any}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{dot}}\opLeftPren{}{\it vector}, \allowbreak{}{\it vector}\opRightPren{}% +\opdata{{\mbox{\axiomFun{dot}}\opLeftPren{}{\it vector}, \allowbreak{} +{\it vector}\opRightPren{}% }% }% {2}{(\$, \$)->R}{DirectProductCategory} -{\smath{\mbox{\bf dot}\opLeftPren{}v_1, \allowbreak{} v_2\opRightPren{}} computes the inner product of the vectors +{\smath{\mbox{\bf dot}\opLeftPren{}v_1, \allowbreak{} v_2\opRightPren{}} +computes the inner product of the vectors \smath{v_1} and \smath{v_2}, or calls \spadfun{error} if \smath{x} and \smath{y} are not of the same length. -\newitem \smath{\mbox{\bf dot}\opLeftPren{}of\opRightPren{}}, where \smath{of} is an object of type +\newitem \smath{\mbox{\bf dot}\opLeftPren{}of\opRightPren{}}, +where \smath{of} is an object of type \spadtype{OutputForm} (normally unexposed), returns an output form with one dot overhead\texht{ (\.{x})}{}. } @@ -71463,7 +73549,8 @@ with one dot overhead\texht{ (\.{x})}{}. where \smath{x} is an element of a domain \smath{R} of category \spadtype{FramedNonAssociativeAlgebra}, determines the number of linearly independent elements in -\smath{b_1 x}, \ldots, \smath{b_n x}, where \smath{b=[ b_1, \ldots, b_n]} is the +\smath{b_1 x}, \ldots, \smath{b_n x}, where +\smath{b=[ b_1, \ldots, b_n]} is the fixed basis for \smath{R}. } @@ -71480,52 +73567,96 @@ a)} is irreducible over \smath{K(a)} where \smath{p(a) = 0}. % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{draw}}\opLeftPren{}{\it functionOrExpression}, \allowbreak{}{\it range}\allowbreak $\,[$ , \allowbreak{}{\it options}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{draw}}\opLeftPren{}{\it functionOrExpression}, +\allowbreak{}{\it range}\allowbreak $\,[$ , \allowbreak{} +{\it options}$]$\opRightPren{}% }% }% -{2}{((DoubleFloat)->DoubleFloat, Segment(Float))->TwoDimensionalViewport}{TopLevelDrawFunctionsForCompiledFunctions} +{2}{((DoubleFloat)->DoubleFloat, Segment(Float))-> +TwoDimensionalViewport}{TopLevelDrawFunctionsForCompiledFunctions} {\smath{f}, \smath{g}, and \smath{h} below denote user-defined functions which map one or more \spadtype{DoubleFloat} values to a \spadtype{DoubleFloat} value. -\bigitem\smath{\mbox{\bf draw}\opLeftPren{}f, \allowbreak{} a..b\opRightPren{}} draws the \twodim{} graph of \smath{y = f(x)} as \smath{x} ranges from \smath{\mbox{\bf min}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} to +\bigitem\smath{\mbox{\bf draw}\opLeftPren{}f, +\allowbreak{} a..b\opRightPren{}} draws the \twodim{} graph of +\smath{y = f(x)} as \smath{x} +ranges from \smath{\mbox{\bf min}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}a, \allowbreak{} b\opRightPren{}}. -\bigitem\smath{\mbox{\bf draw}\opLeftPren{}curve(f, g), \allowbreak{} a..b\opRightPren{}} draws the \twodim{} graph of +\bigitem\smath{\mbox{\bf draw}\opLeftPren{}curve(f, g), +\allowbreak{} a..b\opRightPren{}} draws the \twodim{} graph of the parametric curve \smath{x = f(t), y = g(t)} as \smath{t} -ranges from \smath{\mbox{\bf min}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}a, \allowbreak{} b\opRightPren{}}. -\bigitem\smath{\mbox{\bf draw}\opLeftPren{}f, \allowbreak{} a..b, \allowbreak{} c..d\opRightPren{}} draws the \threedim{} graph of -\smath{z = f(x, y)} as \smath{x} ranges from \smath{\mbox{\bf min}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} to -\smath{\mbox{\bf max}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} and \smath{y} ranges from \smath{\mbox{\bf min}\opLeftPren{}c, \allowbreak{} d\opRightPren{}} to +ranges from \smath{\mbox{\bf min}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}}. +\bigitem\smath{\mbox{\bf draw}\opLeftPren{}f, +\allowbreak{} a..b, \allowbreak{} c..d\opRightPren{}} +draws the \threedim{} graph of +\smath{z = f(x, y)} as \smath{x} ranges from +\smath{\mbox{\bf min}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} to +\smath{\mbox{\bf max}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} +and \smath{y} ranges from \smath{\mbox{\bf min}\opLeftPren{}c, +\allowbreak{} d\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}c, \allowbreak{} d\opRightPren{}}. -\bigitem\smath{\mbox{\bf draw}\opLeftPren{}curve(f, g, h), \allowbreak{} a..b\opRightPren{}} draws a \threedim{} graph +\bigitem\smath{\mbox{\bf draw}\opLeftPren{}curve(f, g, h), +\allowbreak{} a..b\opRightPren{}} draws a \threedim{} graph of the parametric curve \smath{x = f(t), y = g(t), z = h(t)} as -\smath{t} ranges from \smath{\mbox{\bf min}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}a, \allowbreak{} b\opRightPren{}}. -\bigitem\smath{\mbox{\bf draw}\opLeftPren{}surface(f, g, h), \allowbreak{} a..b, \allowbreak{} c..d\opRightPren{}} draws the +\smath{t} ranges from \smath{\mbox{\bf min}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}}. +\bigitem\smath{\mbox{\bf draw}\opLeftPren{}surface(f, g, h), +\allowbreak{} a..b, \allowbreak{} c..d\opRightPren{}} draws the \threedim{} graph of the parametric -surface \smath{x = f(u, v)}, \smath{y = g(u, v)}, \smath{z = h(u, v)} as \smath{u} ranges from \smath{\mbox{\bf min}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} and \smath{v} ranges from \smath{\mbox{\bf min}\opLeftPren{}c, \allowbreak{} d\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}c, \allowbreak{} d\opRightPren{}}. +surface \smath{x = f(u, v)}, \smath{y = g(u, v)}, +\smath{z = h(u, v)} as \smath{u} ranges from +\smath{\mbox{\bf min}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}} to +\smath{\mbox{\bf max}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} +and \smath{v} ranges from \smath{\mbox{\bf min}\opLeftPren{}c, +\allowbreak{} d\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}c, +\allowbreak{} d\opRightPren{}}. \medbreak\bigopkey{Arguments \smath{f}, \smath{g}, and \smath{h} below denote an \spadtype{Expression} involving the variables indicated as arguments. For example, \smath{f(x, y)} denotes an expression involving the variables \smath{x} and \smath{y}.} -\bigitem\smath{\mbox{\bf draw}\opLeftPren{}f(x), \allowbreak{} x = a..b\opRightPren{}} draws the \twodim{} graph of +\bigitem\smath{\mbox{\bf draw}\opLeftPren{}f(x), +\allowbreak{} x = a..b\opRightPren{}} draws the \twodim{} graph of \smath{y = f(x)} as -\smath{x} ranges from \smath{\mbox{\bf min}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}a, \allowbreak{} b\opRightPren{}}. -\bigitem\smath{\mbox{\bf draw}\opLeftPren{}curve(f(t), g(t)), \allowbreak{} t = a..b\opRightPren{}} draws the \twodim{} graph of the -parametric curve \smath{x = f(t), y = g(t)} as \smath{t} ranges from \smath{\mbox{\bf min}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}a, \allowbreak{} b\opRightPren{}}. -\bigitem\smath{\mbox{\bf draw}\opLeftPren{}f(x, y), \allowbreak{} x = a..b, \allowbreak{} y = c..d\opRightPren{}} draws the +\smath{x} ranges from \smath{\mbox{\bf min}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}}. +\bigitem\smath{\mbox{\bf draw}\opLeftPren{}curve(f(t), g(t)), +\allowbreak{} t = a..b\opRightPren{}} draws the \twodim{} graph of the +parametric curve \smath{x = f(t), y = g(t)} as \smath{t} ranges from +\smath{\mbox{\bf min}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} to +\smath{\mbox{\bf max}\opLeftPren{}a, \allowbreak{} b\opRightPren{}}. +\bigitem\smath{\mbox{\bf draw}\opLeftPren{}f(x, y), \allowbreak{} x = a..b, +\allowbreak{} y = c..d\opRightPren{}} draws the \threedim{} graph of \smath{z = f(x, y)} as \smath{x} ranges from -\smath{\mbox{\bf min}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} and \smath{y} ranges from -\smath{\mbox{\bf min}\opLeftPren{}c, \allowbreak{} d\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}c, \allowbreak{} d\opRightPren{}}. -\bigitem\smath{\mbox{\bf draw}\opLeftPren{}curve(f(t), g(t), h(t)), \allowbreak{} t = a..b\opRightPren{}} draws the +\smath{\mbox{\bf min}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} to +\smath{\mbox{\bf max}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}} and \smath{y} +ranges from +\smath{\mbox{\bf min}\opLeftPren{}c, \allowbreak{} d\opRightPren{}} to +\smath{\mbox{\bf max}\opLeftPren{}c, \allowbreak{} d\opRightPren{}}. +\bigitem\smath{\mbox{\bf draw}\opLeftPren{}curve(f(t), g(t), h(t)), +\allowbreak{} t = a..b\opRightPren{}} draws the \threedim{} graph of the parametric curve \smath{x = f(t)}, \smath{y = g(t)}, \smath{z = h(t)} as \smath{t} ranges from -\smath{\mbox{\bf min}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}a, \allowbreak{} b\opRightPren{}}. +\smath{\mbox{\bf min}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}}. \bigitem\smath{{\bf draw}(surface(f(u, v), g(u, v), h(u, v)), u = a..b, v = c..d)} draws the \threedim{} graph of the parametric surface \smath{x = f(u, v)}, \smath{y = g(u, v)}, \smath{z = h(u, v)} as -\smath{u} ranges from \smath{\mbox{\bf min}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} and -\smath{v} ranges from \smath{\mbox{\bf min}\opLeftPren{}c, \allowbreak{} d\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}c, \allowbreak{} d\opRightPren{}}. +\smath{u} ranges from \smath{\mbox{\bf min}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}} and +\smath{v} ranges from \smath{\mbox{\bf min}\opLeftPren{}c, +\allowbreak{} d\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}c, +\allowbreak{} d\opRightPren{}}. \medbreak Each of the \spadfun{draw} operations optionally take options given as extra arguments. @@ -71547,25 +73678,32 @@ coordinate systems of point \smath{p}: \smath{prolateSpheroidal}, \smath{spherical}, and \smath{toroidal} -\smallbreak\opoption{curveColor}{p} specifies a color index for \twodim{} graph curves from the pallete \smath{p}. -\smallbreak\opoption{pointColor}{p} specifies a color index for \twodim{} graph points +\smallbreak\opoption{curveColor}{p} specifies a color index +for \twodim{} graph curves from the pallete \smath{p}. +\smallbreak\opoption{pointColor}{p} specifies a color index +for \twodim{} graph points from the palette \smath{p}. \smallbreak\opoption{range}{[ a..b]} provides a user-specified range for implicit curve plots. -\smallbreak\opoption{space}{sp} adds the current graph to \spadtype{ThreeSpace} object +\smallbreak\opoption{space}{sp} adds the current graph to +\spadtype{ThreeSpace} object \smath{sp}. \smallbreak\opoption{style}{s} specifies the drawing style in which the graph will be plotted: \smath{wire}, \smath{solid}, \smath{shade}, \smath{smooth}. \smallbreak\opoption{title}{s} titles the graph with string \smath{s}. \smallbreak\opoption{toScale}{true} causes the graph to be drawn to scale. -\smallbreak\opoption{tubePoints}{n} specifies the number of points \smath{n} defining -the circle which creates the tube around a \threedim{} curve. The default value is 6. -\smallbreak\opoption{tubeRadius}{r} specifies a \spadtype{Float} radius \smath{r} +\smallbreak\opoption{tubePoints}{n} specifies the number of +points \smath{n} defining +the circle which creates the tube around a \threedim{} curve. +The default value is 6. +\smallbreak\opoption{tubeRadius}{r} specifies a \spadtype{Float} +radius \smath{r} for a tube plot around a \threedim{} curve. \smallbreak\opoption{unit}{[ a, b]} marks off the units of a \twodim{} graph in increments \smath{a} along the x-axis, \smath{b} along the y-axis. -\smallbreak\opoption{var1Steps}{n} indicates the number of subdivisions \smath{n} +\smallbreak\opoption{var1Steps}{n} indicates the number of +subdivisions \smath{n} of the first range variable. \smallbreak\opoption{var2Steps}{n} indicates the number of subdivisions \smath{n} @@ -71573,39 +73711,49 @@ of the second range variable. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{drawToScale}}\opLeftPren{}{\optArg{boolean}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{drawToScale}}\opLeftPren{} +{\optArg{boolean}}\opRightPren{}% }% }% {0}{()->Boolean}{GraphicsDefaults} -{\smath{\mbox{\bf drawToScale}\opLeftPren{}\opRightPren{}} tests if plots are currently to be drawn to scale. +{\smath{\mbox{\bf drawToScale}\opLeftPren{}\opRightPren{}} +tests if plots are currently to be drawn to scale. \newitem\ -\smath{\mbox{\bf drawToScale}\opLeftPren{}true\opRightPren{}} causes plots to be drawn to scale. -\smath{\mbox{\bf drawToScale}\opLeftPren{}false\opRightPren{}} causes plots to be drawn to fill up the +\smath{\mbox{\bf drawToScale}\opLeftPren{}true\opRightPren{}} +causes plots to be drawn to scale. +\smath{\mbox{\bf drawToScale}\opLeftPren{}false\opRightPren{}} +causes plots to be drawn to fill up the viewport window. The default setting is \smath{false}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{duplicates}}\opLeftPren{}{\it dictionary}\opRightPren{}% +\opdata{{\mbox{\axiomFun{duplicates}}\opLeftPren{} +{\it dictionary}\opRightPren{}% }% }% {1}{(\$)->List(Record(entry:S, count:NonNegativeInteger))}{MultiDictionary} -{\smath{\mbox{\bf duplicates}\opLeftPren{}d\opRightPren{}} returns a list of values which have +{\smath{\mbox{\bf duplicates}\opLeftPren{}d\opRightPren{}} +returns a list of values which have duplicates in \smath{d}} % ---------------------------------------------------------------------- \opdata{{\mbox{\axiomFun{Ei}}\opLeftPren{}{\it variable}\opRightPren{}% }% }% {1}{(\$)->\$}{LiouvillianFunctionCategory} -{\smath{\mbox{\bf Ei}\opLeftPren{}x\opRightPren{}} returns the exponential integral of \smath{x}: +{\smath{\mbox{\bf Ei}\opLeftPren{}x\opRightPren{}} +returns the exponential integral of \smath{x}: \smath{\int exp(x)/x {\rm dx}}.} % ---------------------------------------------------------------------- \opdata{{\mbox{\axiomFun{eigenMatrix}}\opLeftPren{}{\it matrix}\opRightPren{}% }% }% -{1}{(Matrix(Fraction(Polynomial(Fraction(Integer)))))->Union(Matrix(Expression(Fraction(Integer))), \mbox{\tt "failed"})}{RadicalEigenPackage} -{\smath{\mbox{\bf eigenMatrix}\opLeftPren{}A\opRightPren{}} returns the matrix \smath{B} such that +{1}{(Matrix(Fraction(Polynomial(Fraction(Integer)))))-> +Union(Matrix(Expression(Fraction(Integer))), +\mbox{\tt "failed"})}{RadicalEigenPackage} +{\smath{\mbox{\bf eigenMatrix}\opLeftPren{}A\opRightPren{}} +returns the matrix \smath{B} such that \smath{BA(\mbox{\bf inverse } B)} is diagonal, or \mbox{\tt "failed"} if no such \smath{B} exists.} @@ -71614,26 +73762,39 @@ duplicates in \smath{d}} \opdata{{\mbox{\axiomFun{eigenvalues}}\opLeftPren{}{\it matrix}\opRightPren{}% }% }% -{1}{(Matrix(Fraction(Polynomial(Fraction(Integer)))))->List(Fraction(Polynomial(Fraction(Integer))))}{EigenPackage} +{1}{(Matrix(Fraction(Polynomial(Fraction(Integer)))))-> +List(Fraction(Polynomial(Fraction(Integer))))}{EigenPackage} {\smath{\mbox{\bf eigenvalues}\opLeftPren{}A\opRightPren{}}, where \smath{A} is a matrix with rational function coefficients, returns the eigenvalues of the matrix \smath{A} which are expressible as rational functions over the rational numbers.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{eigenvector}}\opLeftPren{}{\it eigenvalue}, \allowbreak{}{\it matrix}\opRightPren{}% +\opdata{{\mbox{\axiomFun{eigenvector}}\opLeftPren{} +{\it eigenvalue}, \allowbreak{}{\it matrix}\opRightPren{}% }% }% -{2}{(Fraction(Polynomial(Fraction(Integer))), Matrix(Fraction(Polynomial(Fraction(Integer)))))->List(Matrix(Fraction(Polynomial(Fraction(Integer)))))}{EigenPackage} -{\smath{\mbox{\bf eigenvector}\opLeftPren{}eigval, \allowbreak{} A\opRightPren{}} returns the eigenvectors belonging +{2}{(Fraction(Polynomial(Fraction(Integer))), +Matrix(Fraction(Polynomial(Fraction(Integer)))))-> +List(Matrix(Fraction(Polynomial(Fraction(Integer)))))} +{EigenPackage} +{\smath{\mbox{\bf eigenvector}\opLeftPren{}eigval, +\allowbreak{} A\opRightPren{}} returns the eigenvectors belonging to the eigenvalue \smath{eigval} for the matrix \smath{A}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{eigenvectors}}\opLeftPren{}{\it matrix}\opRightPren{}% +\opdata{{\mbox{\axiomFun{eigenvectors}}\opLeftPren{} +{\it matrix}\opRightPren{}% }% }% -{1}{(Matrix(Fraction(Polynomial(Fraction(Integer)))))->List(Union(Record(algrel:Fraction(Polynomial(Fraction(Integer))), algmult:Integer, algvec:List(Matrix(Fraction(Polynomial(Fraction(Integer)))))), Record(eigval:Fraction(Polynomial(Fraction(Integer))), eigmult:Integer, eigvec:List(Matrix(Fraction(Polynomial(Fraction(Integer))))))))}{EigenPackage} -{\smath{\mbox{\bf eigenvectors}\opLeftPren{}A\opRightPren{}} returns the eigenvalues and eigenvectors +{1}{(Matrix(Fraction(Polynomial(Fraction(Integer)))))-> +List(Union(Record(algrel:Fraction(Polynomial(Fraction(Integer))), +algmult:Integer, +algvec:List(Matrix(Fraction(Polynomial(Fraction(Integer)))))), +Record(eigval:Fraction(Polynomial(Fraction(Integer))), eigmult:Integer, +eigvec:List(Matrix(Fraction(Polynomial(Fraction(Integer))))))))}{EigenPackage} +{\smath{\mbox{\bf eigenvectors}\opLeftPren{}A\opRightPren{}} +returns the eigenvalues and eigenvectors for the matrix \smath{A}. The rational eigenvalues and the corresponding eigenvectors are explicitly computed. @@ -71643,11 +73804,13 @@ Their corresponding eigenvectors are expressed in terms of a ``generic'' root of this polynomial.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{element?}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it ideal}\opRightPren{}% +\opdata{{\mbox{\axiomFun{element?}}\opLeftPren{}{\it polynomial}, +\allowbreak{}{\it ideal}\opRightPren{}% }% }% {2}{(DPoly, \$)->Boolean}{PolynomialIdeals} -{\smath{\mbox{\bf element?}\opLeftPren{}f, \allowbreak{} I\opRightPren{}} tests if the polynomial \smath{f} belongs +{\smath{\mbox{\bf element?}\opLeftPren{}f, \allowbreak{} I\opRightPren{}} +tests if the polynomial \smath{f} belongs to the ideal \smath{I}.} % ---------------------------------------------------------------------- @@ -71655,28 +73818,32 @@ to the ideal \smath{I}.} }% }% { I -> SPOL RN}{}{} -{\smath{\mbox{\bf elementary}\opLeftPren{}n\opRightPren{}} is the \eth{\smath{n}} elementary symmetric +{\smath{\mbox{\bf elementary}\opLeftPren{}n\opRightPren{}} +is the \eth{\smath{n}} elementary symmetric function expressed in terms of power sums. See \axiomType{CycleIndicators} for details. } - % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{elliptic}}\opLeftPren{}{\it scaleFactor}\opRightPren{}% +\opdata{{\mbox{\axiomFun{elliptic}}\opLeftPren{} +{\it scaleFactor}\opRightPren{}% }% }% {1}{(R)->(Point(R))->Point(R)}{CoordinateSystems} -{\smath{\mbox{\bf elliptic}\opLeftPren{}r\opRightPren{}} returns a function for transforming elliptic +{\smath{\mbox{\bf elliptic}\opLeftPren{}r\opRightPren{}} +returns a function for transforming elliptic coordinates to Cartesian coordinates. The function returned will map the point \smath{(u, v)} to \smath{x = r \cosh(u) \cos(v)}, \smath{y = r \sinh(u) \sin(v)}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{ellipticCylindrical}}\opLeftPren{}{\it scaleFactor}\opRightPren{}% +\opdata{{\mbox{\axiomFun{ellipticCylindrical}}\opLeftPren{} +{\it scaleFactor}\opRightPren{}% }% }% {1}{(R)->(Point(R))->Point(R)}{CoordinateSystems} -{\smath{\mbox{\bf ellipticCylindrical}\opLeftPren{}r\opRightPren{}} returns a function for +{\smath{\mbox{\bf ellipticCylindrical}\opLeftPren{}r\opRightPren{}} +returns a function for transforming elliptic cylindrical coordinates to Cartesian coordinates as a function of the scale factor \smath{r}. The function returned will map the point \smath{(u, v, z)} to @@ -71685,15 +73852,19 @@ The function returned will map the point \smath{(u, v, z)} to % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{elt}}\opLeftPren{}{\it structure}, \allowbreak{}{\it various}\allowbreak $\,[$ , \allowbreak{}{\it \ldots}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{elt}}\opLeftPren{}{\it structure}, \allowbreak{} +{\it various}\allowbreak $\,[$ , \allowbreak{} +{\it \ldots}$]$\opRightPren{}% }% }% {1}{(\$)->R}{CartesianTensor} -{\opkey{\smath{\mbox{\bf elt}\opLeftPren{}u, \allowbreak{} v\opRightPren{}}, usually written as \smath{u.v} or +{\opkey{\smath{\mbox{\bf elt}\opLeftPren{}u, \allowbreak{} v\opRightPren{}}, +usually written as \smath{u.v} or \smath{u(v)}, regards the structure \smath{u} as a function and applies structure \smath{u} to argument \smath{v}. Many types export \spadfun{elt} with multiple arguments; -\smath{\mbox{\bf elt}\opLeftPren{}u, \allowbreak{} v, \allowbreak{} w\ldots\opRightPren{}} is generally written +\smath{\mbox{\bf elt}\opLeftPren{}u, \allowbreak{} v, +\allowbreak{} w\ldots\opRightPren{}} is generally written \smath{u(v, w\ldots)}. The interpretation of \smath{u} depends on its type. If \smath{u} is:} @@ -71721,15 +73892,19 @@ apply the binary, ternary, or 4-ary operator \smath{u} to arguments. the distinguished variable replaced by the value of \smath{y}; this value may either be another rational function or polynomial or a member of the underlying coefficient domain. -\item a list: \smath{u.first} is equivalent to \smath{\mbox{\bf first}\opLeftPren{}u\opRightPren{}} and returns +\item a list: \smath{u.first} is equivalent to +\smath{\mbox{\bf first}\opLeftPren{}u\opRightPren{}} and returns the first element of list \smath{u}. -Also, \smath{u.last} is equivalent to \smath{\mbox{\bf last}\opLeftPren{}u\opRightPren{}} and returns +Also, \smath{u.last} is equivalent to +\smath{\mbox{\bf last}\opLeftPren{}u\opRightPren{}} and returns the last element of list \smath{u}. Both of these call \spadfun{error} if \smath{u} is the empty list. -Similarly, \smath{u.rest} is equivalent to \smath{\mbox{\bf rest}\opLeftPren{}u\opRightPren{}} and +Similarly, \smath{u.rest} is equivalent to +\smath{\mbox{\bf rest}\opLeftPren{}u\opRightPren{}} and returns the list \smath{u} -beginning at its second element, or calls \spadfun{error} if \smath{u} has less than +beginning at its second element, or calls \spadfun{error} +if \smath{u} has less than two elements. \item a library: \smath{u(name)} returns the entry in the library stored under the @@ -71738,26 +73913,36 @@ key \smath{name}. \smath{u(x)} applies the differential operator \smath{u} to the value \smath{x}. \item a matrix or two-dimensional array: -\smath{u(i, j\optinner{, x})}, \smath{1 \leq i \leq nrows(u), 1 \leq j \leq ncols(m)}, returns the -element in the \eth{\smath{i}} row and \eth{\smath{j}} column of the matrix \smath{m}. -If the indices are out of range and an extra argument \smath{x} is provided, +\smath{u(i, j\optinner{, x})}, \smath{1 \leq i \leq nrows(u), +1 \leq j \leq ncols(m)}, returns the +element in the \eth{\smath{i}} row and \eth{\smath{j}} +column of the matrix \smath{m}. +If the indices are out of range and an extra argument +\smath{x} is provided, then \smath{x} is returned; otherwise, \spadfun{error} is called. Also, \smath{u([i_1, \ldots, i_m], [j_1, \ldots, j_m])} returns -the \smath{m}-by-\smath{n} matrix consisting of elements \smath{u(i_k, j_l)} of \smath{u}. +the \smath{m}-by-\smath{n} matrix consisting of elements +\smath{u(i_k, j_l)} of \smath{u}. \item a permutation group: \smath{u(i)} returns the \smath{i}-th generator of the group \smath{u}. -\item a point: \smath{u.i} returns the \eth{\smath{i}} component of the point \smath{u}. +\item a point: \smath{u.i} returns the \eth{\smath{i}} component +of the point \smath{u}. \item a rewrite rule: -\smath{u(f\optinner{, n})} applies rewrite rule \smath{u} to expression \smath{f} +\smath{u(f\optinner{, n})} applies rewrite rule \smath{u} to +expression \smath{f} at most \smath{n} times, where \smath{n=\infty} by default. When the left-hand side of \smath{u} matches a subexpression of \smath{f}, -the subexpression is replaced by the right-hand side of \smath{u} producing a new \smath{f}. -After \smath{n} iterations or when no further match occurs, the transformed \smath{f} +the subexpression is replaced by the right-hand side of \smath{u} +producing a new \smath{f}. +After \smath{n} iterations or when no further match occurs, the +transformed \smath{f} is returned. \item a ruleset: -\smath{u(f\optinner{, n})} applies ruleset \smath{u} to expression \smath{f} at most \smath{n} +\smath{u(f\optinner{, n})} applies ruleset \smath{u} to expression +\smath{f} at most \smath{n} times, where \smath{n=\infty} by default. -Similar to last case, except that on each iteration, each rule in the ruleset is +Similar to last case, except that on each iteration, each rule in +the ruleset is applied in turn in attempt to find a match. \item an \axiomType{SExpression} \smath{(a_1, \ldots, a_n\quad{}.\quad{}b)} (where \smath{b} denotes the \spadfun{cdr} of the last node): @@ -71787,7 +73972,8 @@ tensors respectively. }% }% {0}{()->\$}{Aggregate} -{\smath{\mbox{\bf empty}\opLeftPren{}\opRightPren{}\$R} creates an aggregate of type \smath{R} with 0 +{\smath{\mbox{\bf empty}\opLeftPren{}\opRightPren{}\$R} creates an +aggregate of type \smath{R} with 0 elements.} % ---------------------------------------------------------------------- @@ -71795,38 +73981,46 @@ elements.} }% }% {1}{(\$)->Boolean}{Aggregate} -{\smath{\mbox{\bf empty?}\opLeftPren{}u\opRightPren{}} tests if aggregate \smath{u} has 0 elements.} +{\smath{\mbox{\bf empty?}\opLeftPren{}u\opRightPren{}} tests if aggregate +\smath{u} has 0 elements.} % ---------------------------------------------------------------------- \opdata{{\mbox{\axiomFun{endOfFile?}}\opLeftPren{}{\it file}\opRightPren{}% }% }% {1}{(\$)->Boolean}{TextFile} -{\smath{\mbox{\bf endOfFile?}\opLeftPren{}f\opRightPren{}} tests whether the file \smath{f} is +{\smath{\mbox{\bf endOfFile?}\opLeftPren{}f\opRightPren{}} tests whether +the file \smath{f} is positioned after the end of all text. If the file is open for output, then this test always returns \smath{true}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{enqueue!}}\opLeftPren{}{\it value}, \allowbreak{}{\it queue}\opRightPren{}% +\opdata{{\mbox{\axiomFun{enqueue!}}\opLeftPren{}{\it value}, \allowbreak{} +{\it queue}\opRightPren{}% }% }% {2}{(S, \$)->S}{QueueAggregate} -{\smath{\mbox{\bf enqueue!}\opLeftPren{}x, \allowbreak{} q\opRightPren{}} inserts \smath{x} into the queue \smath{q} +{\smath{\mbox{\bf enqueue!}\opLeftPren{}x, \allowbreak{} q\opRightPren{}} +inserts \smath{x} into the queue \smath{q} at the back end.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{enterPointData}}\opLeftPren{}{\it space}, \allowbreak{}{\it listOfPoints}\opRightPren{}% +\opdata{{\mbox{\axiomFun{enterPointData}}\opLeftPren{}{\it space}, +\allowbreak{}{\it listOfPoints}\opRightPren{}% }% }% {2}{(\$, List(Point(R)))->NonNegativeInteger}{ThreeSpace} -{\smath{\mbox{\bf enterPointData}\opLeftPren{}s, \allowbreak{} [p_0, \allowbreak{} p_1, \allowbreak{} \ldots, p_n]\opRightPren{}} adds a list of points +{\smath{\mbox{\bf enterPointData}\opLeftPren{}s, \allowbreak{} +[p_0, \allowbreak{} p_1, \allowbreak{} \ldots, p_n]\opRightPren{}} +adds a list of points from \smath{p_0} through \smath{p_n} to the \axiomType{ThreeSpace} \smath{s}, and returns the index of the start of the list.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{entry?}}\opLeftPren{}{\it value}, \allowbreak{}{\it aggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{entry?}}\opLeftPren{}{\it value}, \allowbreak{} +{\it aggregate}\opRightPren{}% }% }% {2}{(Entry, \$)->Boolean}{IndexedAggregate} @@ -71836,15 +74030,18 @@ where \smath{u} is an indexed aggregate tests if \smath{x} equals \smath{u . i} for some index \smath{i}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{epilogue}}\opLeftPren{}{\it formattedObject}\opRightPren{}% +\opdata{{\mbox{\axiomFun{epilogue}}\opLeftPren{} +{\it formattedObject}\opRightPren{}% }% }% {1}{(\$)->List(String)}{ScriptFormulaFormat} -{\smath{\mbox{\bf epilogue}\opLeftPren{}t\opRightPren{}} extracts the epilogue section of an IBM +{\smath{\mbox{\bf epilogue}\opLeftPren{}t\opRightPren{}} extracts the +epilogue section of an IBM SCRIPT Formula Format or \TeX{} formatted object \smath{t}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{eq}}\opLeftPren{}{\it sExpression}, \allowbreak{}{\it sExpression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{eq}}\opLeftPren{}{\it sExpression}, \allowbreak{} +{\it sExpression}\opRightPren{}% }% }% {2}{(\$, \$)->Boolean}{SExpressionCategory} @@ -71853,34 +74050,43 @@ SCRIPT Formula Format or \TeX{} formatted object \smath{t}.} is \smath{true} in \Lisp{}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{eq?}}\opLeftPren{}{\it aggregate}, \allowbreak{}{\it aggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{eq?}}\opLeftPren{}{\it aggregate}, \allowbreak{} +{\it aggregate}\opRightPren{}% }% }% {2}{(\$, \$)->Boolean}{Aggregate} -{\smath{\mbox{\bf eq?}\opLeftPren{}u, \allowbreak{} v\opRightPren{}} tests if two aggregates \smath{u} and \smath{v} +{\smath{\mbox{\bf eq?}\opLeftPren{}u, \allowbreak{} v\opRightPren{}} +tests if two aggregates \smath{u} and \smath{v} are same objects -in the \Language{} store.} +in the Axiom store.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{equality}}\opLeftPren{}{\it operator}, \allowbreak{}{\it function}\opRightPren{}% +\opdata{{\mbox{\axiomFun{equality}}\opLeftPren{} +{\it operator}, \allowbreak{}{\it function}\opRightPren{}% }% }% {2}{(\$, (\$, \$)->Boolean)->\$}{BasicOperator} -{\smath{\mbox{\bf equality}\opLeftPren{}op, \allowbreak{} f\opRightPren{}} attaches \smath{f} as the \mbox{\tt "\%equal?"} property to +{\smath{\mbox{\bf equality}\opLeftPren{}op, +\allowbreak{} f\opRightPren{}} attaches \smath{f} as +the \mbox{\tt "\%equal?"} property to \smath{op}. Argument \smath{f} must be a boolean-valued ``equality'' function defined on \axiomType{BasicOperator} objects. If \smath{op1} and \smath{op2} have the same name, and one of them has -an \mbox{\tt "\%equal?"} property \smath{f}, then \smath{f(op1, op2)} is called to +an \mbox{\tt "\%equal?"} property \smath{f}, then +\smath{f(op1, op2)} is called to decide whether \smath{op1} and \smath{op2} should be considered equal.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{equation}}\opLeftPren{}{\it expression}, \allowbreak{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{equation}}\opLeftPren{} +{\it expression}, \allowbreak{}{\it expression}\opRightPren{}% }% }% {2}{(S, S)->\$}{Equation} -{\smath{\mbox{\bf equation}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} creates the equation \smath{a = b}. -\newitem\smath{\mbox{\bf equation}\opLeftPren{}v, \allowbreak{} a..b\opRightPren{}}, +{\smath{\mbox{\bf equation}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}} creates the equation \smath{a = b}. +\newitem\smath{\mbox{\bf equation}\opLeftPren{}v, +\allowbreak{} a..b\opRightPren{}}, also written: \smath{v=a..b}, creates a segment binding value with variable \smath{v} and segment \smath{a..b}. @@ -71891,101 +74097,122 @@ segment \smath{a..b}. }% }% {1}{(\$)->\$}{LiouvillianFunctionCategory} -{\smath{\mbox{\bf erf}\opLeftPren{}x\opRightPren{}} returns the error function of \smath{x}: +{\smath{\mbox{\bf erf}\opLeftPren{}x\opRightPren{}} +returns the error function of \smath{x}: \smath{{2 \over \sqrt(\pi)}\int {exp^{-x^2} dx}}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{error}}\opLeftPren{}{\it string\opt{, string}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{error}}\opLeftPren{} +{\it string\opt{, string}}\opRightPren{}% }% }% {1}{(List(String))->Exit}{ErrorFunctions} -{\smath{\mbox{\bf error}\opLeftPren{}msg\opRightPren{}} displays error message \smath{msg} and terminates. +{\smath{\mbox{\bf error}\opLeftPren{}msg\opRightPren{}} +displays error message \smath{msg} and terminates. Argument \smath{msg} is either a string or a list of strings. -\newitem\smath{\mbox{\bf error}\opLeftPren{}name, \allowbreak{} msg\opRightPren{}} is similar except that +\newitem\smath{\mbox{\bf error}\opLeftPren{}name, +\allowbreak{} msg\opRightPren{}} is similar except that the error message is preceded by a message saying that the error occured in a function named \smath{name}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{euclideanGroebner}}\opLeftPren{}{\it ideal\opt{, string, string}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{euclideanGroebner}}\opLeftPren{} +{\it ideal\opt{, string, string}}\opRightPren{}% }% }% {1}{(List(Dpol))->List(Dpol)}{EuclideanGroebnerBasisPackage} -{\smath{\mbox{\bf euclideanGroebner}\opLeftPren{}lp\optinner{, "info", "redcrit}\opRightPren{}} computes a Gr\"obner basis for a polynomial ideal over a Euclidean domain generated by the list of polynomials \smath{lp}. +{\smath{\mbox{\bf euclideanGroebner}\opLeftPren{}lp\optinner{, +"info", "redcrit}\opRightPren{}} computes a Gr\"obner basis for a polynomial +ideal over a Euclidean domain generated by the list of polynomials \smath{lp}. If the string \mbox{\tt "info"} is given as a second argument, a summary is given of the critical pairs. If the string \mbox{\tt "redcrit"} is given as a third argument, the critical pairs are printed.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{euclideanNormalForm}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it groebnerBasis}\opRightPren{}% +\opdata{{\mbox{\axiomFun{euclideanNormalForm}}\opLeftPren{} +{\it polynomial}, \allowbreak{}{\it groebnerBasis}\opRightPren{}% }% }% {2}{(Dpol, List(Dpol))->Dpol}{EuclideanGroebnerBasisPackage} -{\smath{\mbox{\bf euclideanNormalForm}\opLeftPren{}poly, \allowbreak{} gb\opRightPren{}} reduces the polynomial +{\smath{\mbox{\bf euclideanNormalForm}\opLeftPren{}poly, +\allowbreak{} gb\opRightPren{}} reduces the polynomial \smath{poly} modulo the precomputed Gr\"obner basis \smath{gb} giving a canonical representative of the residue class.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{euclideanSize}}\opLeftPren{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{euclideanSize}}\opLeftPren{} +{\it element}\opRightPren{}% }% }% {1}{(\$)->NonNegativeInteger}{EuclideanDomain} -{\smath{\mbox{\bf euclideanSize}\opLeftPren{}x\opRightPren{}} returns the Euclidean size of the +{\smath{\mbox{\bf euclideanSize}\opLeftPren{}x\opRightPren{}} +returns the Euclidean size of the element \smath{x}, or calls \spadfun{error} if \smath{x} is zero. } - % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{eulerPhi}}\opLeftPren{}{\it positiveInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{eulerPhi}}\opLeftPren{} +{\it positiveInteger}\opRightPren{}% }% }% {1}{(Integer)->Integer}{IntegerNumberTheoryFunctions} -{\smath{\mbox{\bf eulerPhi}\opLeftPren{}n\opRightPren{}} returns the number of integers between 1 and +{\smath{\mbox{\bf eulerPhi}\opLeftPren{}n\opRightPren{}} +returns the number of integers between 1 and \smath{n} (including 1) which are relatively prime to \smath{n}. This is the Euler phi function \smath{\phi(n)}, also called the totient function.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{euler}}\opLeftPren{}{\it positiveInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{euler}}\opLeftPren{} +{\it positiveInteger}\opRightPren{}% }% }% {1}{(Integer)->Integer}{IntegerNumberTheoryFunctions} -{\smath{\mbox{\bf euler}\opLeftPren{}n\opRightPren{}} returns the \eth{\smath{n}} Euler number. +{\smath{\mbox{\bf euler}\opLeftPren{}n\opRightPren{}} +returns the \eth{\smath{n}} Euler number. This is \smath{2^n E(n, 1/2)}, where \smath{E(n, x)} is the \eth{\smath{n}} Euler polynomial.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{eval}}\opLeftPren{}{\it expression\opt{, options}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{eval}}\opLeftPren{} +{\it expression\opt{, options}}\opRightPren{}% }% }% {1}{(\$)->\$}{FunctionSpace} {\opkey{Many domains have forms of the \spadfun{eval} defined. Here are some the most common forms.} \newitem -\smath{\mbox{\bf eval}\opLeftPren{}f\opRightPren{}} unquotes all the quoted operators in \smath{f}. +\smath{\mbox{\bf eval}\opLeftPren{}f\opRightPren{}} unquotes all the +quoted operators in \smath{f}. \newitem -\smath{\mbox{\bf eval}\opLeftPren{}f, \allowbreak{} x = v\opRightPren{}} replaces symbol or expression \smath{x} by +\smath{\mbox{\bf eval}\opLeftPren{}f, \allowbreak{} x = v\opRightPren{}} +replaces symbol or expression \smath{x} by \smath{v} in \smath{f}; if \smath{x} is an expression, it must be retractable to a single \axiomType{Kernel}. \newitem -\smath{\mbox{\bf eval}\opLeftPren{}f, \allowbreak{} [x_1 = v_1, \allowbreak{} \ldots, x_n = v_n]\opRightPren{}} returns \smath{f} +\smath{\mbox{\bf eval}\opLeftPren{}f, \allowbreak{} [x_1 = v_1, +\allowbreak{} \ldots, x_n = v_n]\opRightPren{}} returns \smath{f} with symbols or expressions \smath{x_i} replaced by \smath{v_i} in parallel; if \smath{x_i} is an expression, it must be retractable to a single \axiomType{Kernel}. \newitem -\smath{\mbox{\bf eval}\opLeftPren{}f, \allowbreak{} [x_1, \allowbreak{} \ldots, x_n]\opRightPren{}} unquotes all +\smath{\mbox{\bf eval}\opLeftPren{}f, \allowbreak{} [x_1, \allowbreak{} +\ldots, x_n]\opRightPren{}} unquotes all the quoted operations in \smath{f} whose name is one of the \smath{x_i}.'s. \newitem -\smath{\mbox{\bf eval}\opLeftPren{}f, \allowbreak{} x\opRightPren{}} unquotes all quoted operators in \smath{f} +\smath{\mbox{\bf eval}\opLeftPren{}f, \allowbreak{} x\opRightPren{}} +unquotes all quoted operators in \smath{f} whose name is \smath{x}. \newitem -\smath{\mbox{\bf eval}\opLeftPren{}e, \allowbreak{} s, \allowbreak{} f\opRightPren{}} +\smath{\mbox{\bf eval}\opLeftPren{}e, \allowbreak{} s, +\allowbreak{} f\opRightPren{}} replaces every subexpression of \smath{e} of the form \smath{s(a_1, \dots, a_n)} by \smath{f(a_1, \ldots, a_n)}. The function \smath{f} can have type @@ -71993,7 +74220,8 @@ The function \smath{f} can have type otherwise \smath{f} must have signature \spadsig{List(Expression)}{Expression}. \newitem -\smath{\mbox{\bf eval}\opLeftPren{}e, \allowbreak{} [s_1, \allowbreak{} \ldots, s_n], [f_1, \ldots, f_n]\opRightPren{}}, +\smath{\mbox{\bf eval}\opLeftPren{}e, \allowbreak{} [s_1, +\allowbreak{} \ldots, s_n], [f_1, \ldots, f_n]\opRightPren{}}, replaces every subexpression of \smath{e} of the form \smath{s_i(a_1, \dots, a_{n_i})} by \smath{f_i(a_1, \ldots, a_{n_i})}. If all the \smath{s_i}'s are unary operators, the functions @@ -72001,14 +74229,19 @@ If all the \smath{s_i}'s are unary operators, the functions otherwise, the \smath{f_i} must have signature \spadsig{List(Expression)}{Expression}. \newitem -\smath{\mbox{\bf eval}\opLeftPren{}p, \allowbreak{} el\opRightPren{}}, where \smath{p} is a permutation, +\smath{\mbox{\bf eval}\opLeftPren{}p, \allowbreak{} el\opRightPren{}}, +where \smath{p} is a permutation, returns the image of element {\it el} under \smath{p}. \newitem -\smath{\mbox{\bf eval}\opLeftPren{}s\opRightPren{}}, where \spad{s} is of type \axiomType{SymmetricPolynomial} with -rational number coefficients, returns the sum of the coefficients of a cycle index. +\smath{\mbox{\bf eval}\opLeftPren{}s\opRightPren{}}, +where \spad{s} is of type \axiomType{SymmetricPolynomial} with +rational number coefficients, returns the sum of the +coefficients of a cycle index. See \axiomType{CycleIndicators} for details. \newitem -\smath{\mbox{\bf eval}\opLeftPren{}f, \allowbreak{} s\opRightPren{}}, where \spad{s} is of type \axiomType{SymmetricPolynomial} +\smath{\mbox{\bf eval}\opLeftPren{}f, +\allowbreak{} s\opRightPren{}}, where \spad{s} is of type +\axiomType{SymmetricPolynomial} with rational number coefficients and \spad{f} is a function of type \spadsig{Integer}{Algebra Fraction Integer}, evaluates the cycle index s by applying @@ -72018,15 +74251,18 @@ See \axiomType{EvaluateCycleIndicators} for details. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{evaluate}}\opLeftPren{}{\it operator}, \allowbreak{}{\it function}\opRightPren{}% +\opdata{{\mbox{\axiomFun{evaluate}}\opLeftPren{} +{\it operator}, \allowbreak{}{\it function}\opRightPren{}% }% }% {2}{(BasicOperator, (A)->A)->BasicOperator}{BasicOperatorFunctions1} -{\smath{\mbox{\bf evaluate}\opLeftPren{}op\opRightPren{}} returns the value of the \mbox{\tt "\%eval"} property +{\smath{\mbox{\bf evaluate}\opLeftPren{}op\opRightPren{}} +returns the value of the \mbox{\tt "\%eval"} property of \axiomType{BasicOperator} object \smath{op} if it has one, and \mbox{\tt "failed"} otherwise. \newitem -\smath{\mbox{\bf evaluate}\opLeftPren{}op, \allowbreak{} f\opRightPren{}} attaches \smath{f} as the \mbox{\tt "\%eval"} +\smath{\mbox{\bf evaluate}\opLeftPren{}op, +\allowbreak{} f\opRightPren{}} attaches \smath{f} as the \mbox{\tt "\%eval"} property of \smath{op}. If \smath{op} has an \mbox{\tt "\%eval"} property \smath{f}, then applying \smath{op} to a @@ -72047,23 +74283,28 @@ in \smath{R} and integer \smath{n > 0}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{even?}}\opLeftPren{}{\it integerNumber}\opRightPren{}% +\opdata{{\mbox{\axiomFun{even?}}\opLeftPren{} +{\it integerNumber}\opRightPren{}% }% }% {1}{(\$)->Boolean}{IntegerNumberSystem} -{\smath{\mbox{\bf even?}\opLeftPren{}n\opRightPren{}} tests if integer \smath{n} is even. +{\smath{\mbox{\bf even?}\opLeftPren{}n\opRightPren{}} +tests if integer \smath{n} is even. \newitem -\smath{\mbox{\bf even?}\opLeftPren{}p\opRightPren{}} tests if permutation \smath{p} is an even +\smath{\mbox{\bf even?}\opLeftPren{}p\opRightPren{}} +tests if permutation \smath{p} is an even permutation, that is, that the \smath{\mbox{\bf sign}\opLeftPren{}p) = 1}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{every?}}\opLeftPren{}{\it predicate}, \allowbreak{}{\it aggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{every?}}\opLeftPren{}{\it predicate}, +\allowbreak{}{\it aggregate}\opRightPren{}% }% }% {2}{((S)->Boolean, \$)->Boolean}{HomogeneousAggregate} -{\smath{\mbox{\bf every?}\opLeftPren{}pred, \allowbreak{} u\opRightPren{}} tests if {\it pred(x)} is \smath{true} +{\smath{\mbox{\bf every?}\opLeftPren{}pred, +\allowbreak{} u\opRightPren{}} tests if {\it pred(x)} is \smath{true} for all elements \smath{x} of \smath{u}.} % ---------------------------------------------------------------------- @@ -72071,7 +74312,8 @@ for all elements \smath{x} of \smath{u}.} }% }% {1}{(\$)->Boolean}{FileNameCategory} -{\smath{\mbox{\bf exists?}\opLeftPren{}f\opRightPren{}} tests if the file \smath{f} exists in the file +{\smath{\mbox{\bf exists?}\opLeftPren{}f\opRightPren{}} +tests if the file \smath{f} exists in the file system.} % ---------------------------------------------------------------------- @@ -72080,9 +74322,11 @@ system.} }% }% {1}{(\$)->\$}{ElementaryFunctionCategory} -{\smath{\mbox{\bf exp}\opLeftPren{}x\opRightPren{}} returns {\tt \%e} to the power \smath{x}. +{\smath{\mbox{\bf exp}\opLeftPren{}x\opRightPren{}} +returns {\tt \%e} to the power \smath{x}. \newitem -\smath{\mbox{\bf expIfCan}\opLeftPren{}z\opRightPren{}} returns exp(\smath{z}) if possible, and +\smath{\mbox{\bf expIfCan}\opLeftPren{}z\opRightPren{}} +returns exp(\smath{z}) if possible, and \mbox{\tt "failed"} otherwise. } @@ -72091,7 +74335,8 @@ system.} }% }% {0}{()->\$}{Float} -{\smath{\mbox{\bf exp1}\opLeftPren{}\opRightPren{}\$R} returns exp 1: \smath{2.7182818284\ldots} either +{\smath{\mbox{\bf exp1}\opLeftPren{}\opRightPren{}\$R} returns exp 1: +\smath{2.7182818284\ldots} either a float or a small float according to whether \smath{R=} \axiomType{Float} or \smath{R=} \axiomType{DoubleFloat}. } @@ -72101,7 +74346,8 @@ or \smath{R=} \axiomType{DoubleFloat}. }% }% {1}{(F)->F}{TranscendentalManipulations} -{\smath{\mbox{\bf expand}\opLeftPren{}f\opRightPren{}} performs the following expansions +{\smath{\mbox{\bf expand}\opLeftPren{}f\opRightPren{}} performs the +following expansions on \axiomType{Expression} \smath{f:} \begin{simpleList} \item Logs of products are expanded into sums of logs. @@ -72121,58 +74367,72 @@ where \smath{lseg} is a list of segments, returns a list with all segments expanded. For example, \code{expand [1..4, 7..9] = [1, 2, 3, 4, 7, 8, 9]}. \newitem -\smath{\mbox{\bf expand}\opLeftPren{}l..h \mbox{ \tt by } k\opRightPren{}} returns +\smath{\mbox{\bf expand}\opLeftPren{}l..h \mbox{ \tt by } k\opRightPren{}} +returns a list of explicit elements. For example, \code{expand(1..5 by 2) = [1, 3, 5]}. \newitem -\smath{\mbox{\bf expand}\opLeftPren{}f\opRightPren{}} returns an unfactored form of factored object \smath{f}. +\smath{\mbox{\bf expand}\opLeftPren{}f\opRightPren{}} +returns an unfactored form of factored object \smath{f}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{expandLog}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{expandLog}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(F)->F}{TranscendentalManipulations} -{\smath{\mbox{\bf expandLog}\opLeftPren{}f\opRightPren{}} converts every \smath{\mbox{\bf log}\opLeftPren{}a/b\opRightPren{}} +{\smath{\mbox{\bf expandLog}\opLeftPren{}f\opRightPren{}} +converts every \smath{\mbox{\bf log}\opLeftPren{}a/b\opRightPren{}} appearing in \axiomType{Expression} \smath{f} into \smath{\log(a) - \log(b)}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{expandPower}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{expandPower}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(F)->F}{TranscendentalManipulations} -{\smath{\mbox{\bf expandPower}\opLeftPren{}f\opRightPren{}} converts every power \smath{(a/b)^c} appearing +{\smath{\mbox{\bf expandPower}\opLeftPren{}f\opRightPren{}} +converts every power \smath{(a/b)^c} appearing in \axiomType{Expression} \smath{f} into \smath{a^c b^{-c}}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{explicitEntries?}}\opLeftPren{}{\it stream}\opRightPren{}% +\opdata{{\mbox{\axiomFun{explicitEntries?}}\opLeftPren{} +{\it stream}\opRightPren{}% }% }% {1}{(\$)->Boolean}{LazyStreamAggregate} -{\smath{\mbox{\bf explicitEntries?}\opLeftPren{}s\opRightPren{}} tests if the stream \smath{s} has +{\smath{\mbox{\bf explicitEntries?}\opLeftPren{}s\opRightPren{}} +tests if the stream \smath{s} has explicitly computed entries. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{explicitlyEmpty?}}\opLeftPren{}{\it stream}\opRightPren{}% +\opdata{{\mbox{\axiomFun{explicitlyEmpty?}}\opLeftPren{} +{\it stream}\opRightPren{}% }% }% {1}{(\$)->Boolean}{LazyStreamAggregate} -{\smath{\mbox{\bf explicitlyEmpty?}\opLeftPren{}s\opRightPren{}} tests if the stream is an (explicitly) empty stream. +{\smath{\mbox{\bf explicitlyEmpty?}\opLeftPren{}s\opRightPren{}} +tests if the stream is an (explicitly) empty stream. Note: this is a null test which will not cause lazy evaluation.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{explicitlyFinite?}}\opLeftPren{}{\it stream}\opRightPren{}% +\opdata{{\mbox{\axiomFun{explicitlyFinite?}}\opLeftPren{} +{\it stream}\opRightPren{}% }% }% {1}{(\$)->Boolean}{StreamAggregate} -{\smath{\mbox{\bf explicitlyFinite?}\opLeftPren{}s\opRightPren{}} tests if the stream \smath{s} has a finite -number of elements. Note: for many datatypes, \code{explicitlyFinite?(s) = not possiblyInfinite?(s)}.} +{\smath{\mbox{\bf explicitlyFinite?}\opLeftPren{}s\opRightPren{}} +tests if the stream \smath{s} has a finite +number of elements. Note: for many datatypes, +\code{explicitlyFinite?(s) = not possiblyInfinite?(s)}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{exponent}}\opLeftPren{}{\it floatOrFactored}\opRightPren{}% +\opdata{{\mbox{\axiomFun{exponent}}\opLeftPren{} +{\it floatOrFactored}\opRightPren{}% }% }% {1}{(\$)->Integer}{FloatingPointSystem} @@ -72180,52 +74440,69 @@ number of elements. Note: for many datatypes, \code{explicitlyFinite?(s) = not p \spadfunFrom{exponent}{FloatingPointSystem} part of a float or small float \smath{fl}. \newitem -\smath{\mbox{\bf exponent}\opLeftPren{}u\opRightPren{}}, where \smath{u} is a factored object, returns the +\smath{\mbox{\bf exponent}\opLeftPren{}u\opRightPren{}}, +where \smath{u} is a factored object, returns the exponent of the -first factor of \smath{u}, or 0 if the factored object consists solely of a unit. +first factor of \smath{u}, or 0 if the factored object +consists solely of a unit. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{expressIdealMember}}\opLeftPren{}{\it listOfIdeals}, \allowbreak{}{\it ideal}\opRightPren{}% +\opdata{{\mbox{\axiomFun{expressIdealMember}}\opLeftPren{} +{\it listOfIdeals}, \allowbreak{}{\it ideal}\opRightPren{}% }% }% {2}{(List(\$), \$)->Union(List(\$), "failed")}{PrincipalIdealDomain} -{\smath{\mbox{\bf expressIdealMember}\opLeftPren{}[f_1, \allowbreak{} \ldots, f_n], h\opRightPren{}} returns a representation of ideal \smath{h} as a linear combination of the ideals \smath{f_i} or \mbox{\tt "failed"} if \smath{h} is not in the ideal generated by the \smath{f_i}.} +{\smath{\mbox{\bf expressIdealMember}\opLeftPren{}[f_1, \allowbreak{} +\ldots, f_n], h\opRightPren{}} returns a representation of ideal \smath{h} +as a linear combination of the ideals \smath{f_i} or \mbox{\tt "failed"} +if \smath{h} is not in the ideal generated by the \smath{f_i}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{exptMod}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it nonNegativeInteger}, \allowbreak{}{\it polynomial}\allowbreak $\,[$ , \allowbreak{}{\it prime}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{exptMod}}\opLeftPren{} +{\it polynomial}, \allowbreak{}{\it nonNegativeInteger}, +\allowbreak{}{\it polynomial} +\allowbreak $\,[$ , \allowbreak{}{\it prime}$]$\opRightPren{}% }% }% {3}{(FP, NonNegativeInteger, FP)->FP}{DistinctDegreeFactorize} -{\smath{\mbox{\bf exptMod}\opLeftPren{}u, \allowbreak{} k, \allowbreak{} v\optinner{, p}\opRightPren{}} -raises the polynomial \smath{u} to the \eth{\smath{k}} power modulo the polynomial \smath{v}. +{\smath{\mbox{\bf exptMod}\opLeftPren{}u, \allowbreak{} k, +\allowbreak{} v\optinner{, p}\opRightPren{}} +raises the polynomial \smath{u} to the \eth{\smath{k}} +power modulo the polynomial \smath{v}. If a prime \smath{p} is given, the power is also computed modulo that prime. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{exquo}}\opLeftPren{}{\it element}, \allowbreak{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{exquo}}\opLeftPren{} +{\it element}, \allowbreak{}{\it element}\opRightPren{}% }% }% {2}{(\$, R)->Union(\$, "failed")}{ComplexCategory} -{\smath{\mbox{\bf exquo}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} either returns an element \smath{c} such that +{\smath{\mbox{\bf exquo}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}} either returns an element \smath{c} such that \smath{cb=a} or \mbox{\tt "failed"} if no such element can be found. Values \smath{a} and \smath{b} are members of a domain of category \axiomType{IntegralDomain}. -\newitem\smath{\mbox{\bf exquo}\opLeftPren{}A, \allowbreak{} r\opRightPren{}} returns the exact quotient of the +\newitem\smath{\mbox{\bf exquo}\opLeftPren{}A, +\allowbreak{} r\opRightPren{}} returns the exact quotient of the elements of matrix \smath{A} by coefficient \smath{r}, or calls \spadfun{error} if this is not possible. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{extend}}\opLeftPren{}{\it stream}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{extend}}\opLeftPren{} +{\it stream}, \allowbreak{}{\it integer}\opRightPren{}% }% }% {2}{(\$, Integer)->\$}{LazyStreamAggregate} -{\smath{\mbox{\bf extend}\opLeftPren{}ps, \allowbreak{} n\opRightPren{}}, where \smath{ps} is a power series, +{\smath{\mbox{\bf extend}\opLeftPren{}ps, +\allowbreak{} n\opRightPren{}}, where \smath{ps} is a power series, causes all terms of \smath{ps} of degree \smath{\leq n} to be computed. -\newitem\smath{\mbox{\bf extend}\opLeftPren{}st, \allowbreak{} n\opRightPren{}}, where \smath{st} is a stream, causes +\newitem\smath{\mbox{\bf extend}\opLeftPren{}st, +\allowbreak{} n\opRightPren{}}, where \smath{st} is a stream, causes entries to be computed so that \smath{st} has at least \smath{n} explicit entries, or so that all entries of \smath{st} are finite with @@ -72233,13 +74510,16 @@ length \smath{\leq n}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{extendedEuclidean}}\opLeftPren{}{\it element}, \allowbreak{}{\it element}\allowbreak $\,[$ , \allowbreak{}{\it element}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{extendedEuclidean}}\opLeftPren{} +{\it element}, \allowbreak{}{\it element}\allowbreak $\,[$ , \allowbreak{} +{\it element}$]$\opRightPren{}% }% }% {2}{(\$, \$)->Record(coef1:\$, coef2:\$, generator:\$)}{EuclideanDomain} {\opkey{Argments \smath{x}, \smath{y}, and \smath{z} are members of a domain of category \axiomType{EuclideanDomain}.} -\newitem\smath{\mbox{\bf extendedEuclidean}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} returns a record +\newitem\smath{\mbox{\bf extendedEuclidean}\opLeftPren{}x, +\allowbreak{} y\opRightPren{}} returns a record \smath{rec} containing three fields: \smath{coef1}, \smath{coef2}, and \smath{generator} where \smath{rec.coef1*x+rec.coef2*y = rec.generator} and \smath{rec.generator} is a \smath{gcd} of @@ -72248,7 +74528,8 @@ The \smath{gcd} is unique only up to associates if \spadatt{canonicalUnitNormal} is not asserted. Note: See \spadfun{principalIdeal} for a version of this operation which accepts an arbitrary length list of arguments. -\newitem\smath{\mbox{\bf extendedEuclidean}\opLeftPren{}x, \allowbreak{} y, \allowbreak{} z\opRightPren{}} either returns a record +\newitem\smath{\mbox{\bf extendedEuclidean}\opLeftPren{}x, +\allowbreak{} y, \allowbreak{} z\opRightPren{}} either returns a record \smath{rec} of two fields \smath{coef1} and \smath{coef2} where \smath{rec.coef1*x+rec.coef2*y=z}, and \mbox{\tt "failed"} if \smath{z} cannot be expressed as such a linear combination of \smath{x} and @@ -72256,11 +74537,17 @@ cannot be expressed as such a linear combination of \smath{x} and } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{extendedIntegrate}}\opLeftPren{}{\it rationalFnct}, \allowbreak{}{\it symbol}, \allowbreak{}{\it rationalFnct}\opRightPren{}% +\opdata{{\mbox{\axiomFun{extendedIntegrate}}\opLeftPren{} +{\it rationalFnct}, \allowbreak{}{\it symbol}, \allowbreak{}{\it +rationalFnct}\opRightPren{}% }% }% -{3}{(Fraction(Polynomial(F)), Symbol, Fraction(Polynomial(F)))->Union(Record(ratpart:Fraction(Polynomial(F)), coeff:Fraction(Polynomial(F))), "failed")}{RationalFunctionIntegration} -{\smath{\mbox{\bf extendedIntegrate}\opLeftPren{}f, \allowbreak{} x, \allowbreak{} g\opRightPren{}} returns fractions \smath{[h, +{3}{(Fraction(Polynomial(F)), Symbol, Fraction(Polynomial(F)))-> +Union(Record(ratpart:Fraction(Polynomial(F)), +coeff:Fraction(Polynomial(F))), "failed")} +{RationalFunctionIntegration} +{\smath{\mbox{\bf extendedIntegrate}\opLeftPren{}f, \allowbreak{} x, +\allowbreak{} g\opRightPren{}} returns fractions \smath{[h, c]} such that \smath{dc/dx = 0} and \smath{dh/dx = f - cg} if \smath{(h, c)} exist, and \mbox{\tt "failed"} otherwise.} @@ -72269,7 +74556,8 @@ c]} such that \smath{dc/dx = 0} and \smath{dh/dx = f - cg} if }% }% {0}{()->OnePointCompletion(PositiveInteger)}{ExtensionField} -{\smath{\mbox{\bf extensionDegree}\opLeftPren{}\opRightPren{}\$F} returns the degree of the field extension \smath{F} +{\smath{\mbox{\bf extensionDegree}\opLeftPren{}\opRightPren{}\$F} +returns the degree of the field extension \smath{F} if the extension is algebraic, and {\tt infinity} if it is not.} % ---------------------------------------------------------------------- @@ -72277,7 +74565,8 @@ if the extension is algebraic, and {\tt infinity} if it is not.} }% }% {1}{(\$)->String}{FileNameCategory} -{\smath{\mbox{\bf extension}\opLeftPren{}fn\opRightPren{}} returns the type part of the file name +{\smath{\mbox{\bf extension}\opLeftPren{}fn\opRightPren{}} +returns the type part of the file name \smath{fn} as a string.} % ---------------------------------------------------------------------- @@ -72285,15 +74574,18 @@ if the extension is algebraic, and {\tt infinity} if it is not.} }% }% {1}{(\$)->S}{BagAggregate} -{\smath{\mbox{\bf extract!}\opLeftPren{}bg\opRightPren{}} destructively removes a (random) item from +{\smath{\mbox{\bf extract!}\opLeftPren{}bg\opRightPren{}} +destructively removes a (random) item from bag \smath{bg}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{extractBottom!}}\opLeftPren{}{\it dequeue}\opRightPren{}% +\opdata{{\mbox{\axiomFun{extractBottom!}}\opLeftPren{} +{\it dequeue}\opRightPren{}% }% }% {1}{(\$)->S}{DequeueAggregate} -{\smath{\mbox{\bf extractBottom!}\opLeftPren{}d\opRightPren{}} destructively extracts the bottom +{\smath{\mbox{\bf extractBottom!}\opLeftPren{}d\opRightPren{}} +destructively extracts the bottom (back) element from the dequeue \smath{d}, or calls \spadfun{error} if \smath{d} is empty.} @@ -72302,7 +74594,8 @@ bag \smath{bg}.} }% }% {1}{(\$)->S}{DequeueAggregate} -{\smath{\mbox{\bf extractTop!}\opLeftPren{}d\opRightPren{}} destructively extracts the top (front) +{\smath{\mbox{\bf extractTop!}\opLeftPren{}d\opRightPren{}} +destructively extracts the top (front) element from the dequeue \smath{d}, or calls \spadfun{error} if \smath{d} is empty.} @@ -72311,22 +74604,27 @@ dequeue \smath{d}, or calls \spadfun{error} if \smath{d} is empty.} }% }% {1}{(PositiveInteger)->\$}{CliffordAlgebra} -{\smath{\mbox{\bf e}\opLeftPren{}n\opRightPren{}} produces the appropriate unit element of a +{\smath{\mbox{\bf e}\opLeftPren{}n\opRightPren{}} +produces the appropriate unit element of a \axiomType{CliffordAlgebra}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{factor}}\opLeftPren{}{\it polynomial\opt{, numbers}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{factor}}\opLeftPren{} +{\it polynomial\opt{, numbers}}\opRightPren{}% }% }% {1}{(\$)->Factored(\$)}{UniqueFactorizationDomain} -{\smath{\mbox{\bf factor}\opLeftPren{}x\opRightPren{}} returns the factorization of \smath{x} into +{\smath{\mbox{\bf factor}\opLeftPren{}x\opRightPren{}} +returns the factorization of \smath{x} into irreducibles, where \smath{x} is a member of any domain of category \axiomType{UniqueFactorizationDomain}. -\newitem\smath{\mbox{\bf factor}\opLeftPren{}p, \allowbreak{} lan\opRightPren{}}, where \smath{p} is a polynomial +\newitem\smath{\mbox{\bf factor}\opLeftPren{}p, +\allowbreak{} lan\opRightPren{}}, where \smath{p} is a polynomial and \smath{lan} is a list of algebraic numbers, factors \smath{p} over the extension generated by the algebraic numbers given by the list \smath{lan}. -\newitem\smath{\mbox{\bf factor}\opLeftPren{}upoly, \allowbreak{} prime\opRightPren{}}, where \smath{upoly} is a +\newitem\smath{\mbox{\bf factor}\opLeftPren{}upoly, +\allowbreak{} prime\opRightPren{}}, where \smath{upoly} is a univariate polynomial and \smath{prime} is a prime integer, returns the list of factors of \smath{upoly} modulo the integer prime \smath{p}, or calls \spadfun{error} if \smath{upoly} is not @@ -72334,58 +74632,70 @@ square-free modulo \smath{p}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{factorFraction}}\opLeftPren{}{\it fraction}\opRightPren{}% +\opdata{{\mbox{\axiomFun{factorFraction}}\opLeftPren{} +{\it fraction}\opRightPren{}% }% }% -{1}{(Fraction(Polynomial(R)))->Fraction(Factored(Polynomial(R)))}{RationalFunctionFactorizer} -{\smath{\mbox{\bf factorFraction}\opLeftPren{}r\opRightPren{}} factors the numerator and the +{1}{(Fraction(Polynomial(R)))->Fraction(Factored(Polynomial(R)))} +{RationalFunctionFactorizer} +{\smath{\mbox{\bf factorFraction}\opLeftPren{}r\opRightPren{}} +factors the numerator and the denominator of the polynomial fraction \smath{r}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{factorGroebnerBasis}}\opLeftPren{}{\it listOfPolynomials\opt{, boolean}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{factorGroebnerBasis}}\opLeftPren{} +{\it listOfPolynomials\opt{, boolean}}\opRightPren{}% }% }% {1}{(List(Dpol))->List(List(Dpol))}{GroebnerFactorizationPackage} -{\smath{\mbox{\bf factorGroebnerBasis}\opLeftPren{}basis\optinner{, flag}\opRightPren{}} checks +{\smath{\mbox{\bf factorGroebnerBasis}\opLeftPren{}basis +\optinner{, flag}\opRightPren{}} checks whether the \smath{basis} contains reducible polynomials and uses these to split the \smath{basis}. Information about partial results is given if a second argument of \smath{true} is given. } - % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{factorials}}\opLeftPren{}{\it expression\opt{, symbol}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{factorials}}\opLeftPren{} +{\it expression\opt{, symbol}}\opRightPren{}% }% }% {1}{(\$)->\$}{CombinatorialOpsCategory} -{\smath{\mbox{\bf factorials}\opLeftPren{}f\optinner{, x}\opRightPren{}} rewrites the permutations and +{\smath{\mbox{\bf factorials}\opLeftPren{}f +\optinner{, x}\opRightPren{}} rewrites the permutations and binomials in \smath{f} in terms of factorials. If a symbol \smath{x} is given as a second argument, the operation rewrites only those terms involving \smath{x}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{factorial}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{factorial}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(I)->I}{IntegerCombinatoricFunctions} -{\smath{\mbox{\bf factorial}\opLeftPren{}n\opRightPren{}}, where \smath{n} is an integer, returns the +{\smath{\mbox{\bf factorial}\opLeftPren{}n\opRightPren{}}, +where \smath{n} is an integer, returns the integer value of \smath{n! = \prod\nolimits_1^n{i}}. -\newitem \smath{\mbox{\bf factorial}\opLeftPren{}n\opRightPren{}}, where n is an expression, returns a +\newitem \smath{\mbox{\bf factorial}\opLeftPren{}n\opRightPren{}}, +where n is an expression, returns a formal expression denoting \smath{n!} Note: \smath{n! = n (n-1)!} when \smath{n > 0}; also, \smath{0! = 1}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{factorList}}\opLeftPren{}{\it factoredForm}\opRightPren{}% +\opdata{{\mbox{\axiomFun{factorList}}\opLeftPren{} +{\it factoredForm}\opRightPren{}% }% }% -{1}{(\$)->List(Record(flg:Union("nil", "sqfr", "irred", "prime"), fctr:R, xpnt:Integer))}{Factored} -{\smath{\mbox{\bf factorList}\opLeftPren{}f\opRightPren{}}, for a factored form \smath{f}, returns +{1}{(\$)->List(Record(flg:Union("nil", "sqfr", "irred", "prime"), +fctr:R, xpnt:Integer))}{Factored} +{\smath{\mbox{\bf factorList}\opLeftPren{}f\opRightPren{}}, +for a factored form \smath{f}, returns list of records. Each record corresponds to a factor of \smath{f} and has three fields: \smath{flg}, \smath{fctr}, and \smath{xpnt}. @@ -72395,19 +74705,24 @@ The \smath{flg} is one of the strings: \mbox{\tt "nil"}, \mbox{\tt "sqfr"}, } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{factorPolynomial}}\opLeftPren{}{\it polynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{factorPolynomial}}\opLeftPren{} +{\it polynomial}\opRightPren{}% }% }% -{1}{(SparseUnivariatePolynomial(\$))->Factored(SparseUnivariatePolynomial(\$))}{PolynomialFactorizationExplicit} -{\smath{\mbox{\bf factorPolynomial}\opLeftPren{}p\opRightPren{}} returns the factorization +{1}{(SparseUnivariatePolynomial(\$))-> +Factored(SparseUnivariatePolynomial(\$))}{PolynomialFactorizationExplicit} +{\smath{\mbox{\bf factorPolynomial}\opLeftPren{}p\opRightPren{}} +returns the factorization of a sparse univariate polynomial \smath{p} as a factored form.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{factors}}\opLeftPren{}{\it factoredForm}\opRightPren{}% +\opdata{{\mbox{\axiomFun{factors}}\opLeftPren{} +{\it factoredForm}\opRightPren{}% }% }% {1}{(\$)->List(Record(factor:R, exponent:Integer))}{Factored} -{\smath{\mbox{\bf factors}\opLeftPren{}u\opRightPren{}} returns a list of the factors of a factored +{\smath{\mbox{\bf factors}\opLeftPren{}u\opRightPren{}} returns a list of +the factors of a factored form \smath{u} in a form as a list suitable for iteration. Each element in the list is a record containing both a \smath{factor} and \smath{exponent} field. @@ -72418,24 +74733,30 @@ Each element in the list is a record containing both a }% }% {0}{()->List(Record(factor:Integer, exponent:Integer))}{FiniteFieldCategory} -{\smath{\mbox{\bf factorsOfCyclicGroupSize}\opLeftPren{}\opRightPren{}} returns the factorization of +{\smath{\mbox{\bf factorsOfCyclicGroupSize}\opLeftPren{}\opRightPren{}} +returns the factorization of \smath{\mbox{\bf size}\opLeftPren{})-1}} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{factorSquareFreePolynomial}}\opLeftPren{}{\it polynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{factorSquareFreePolynomial}}\opLeftPren{} +{\it polynomial}\opRightPren{}% }% }% -{1}{(SparseUnivariatePolynomial(\$))->Factored(SparseUnivariatePolynomial(\$))}{PolynomialFactorizationExplicit} -{\smath{\mbox{\bf factorSquareFreePolynomial}\opLeftPren{}p\opRightPren{}} factors the univariate +{1}{(SparseUnivariatePolynomial(\$))-> +Factored(SparseUnivariatePolynomial(\$))}{PolynomialFactorizationExplicit} +{\smath{\mbox{\bf factorSquareFreePolynomial}\opLeftPren{}p\opRightPren{}} +factors the univariate polynomial \smath{p} into irreducibles, where \smath{p} is known to be square free and primitive with respect to its main variable.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{fibonacci}}\opLeftPren{}{\it nonNegativeInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{fibonacci}}\opLeftPren{} +{\it nonNegativeInteger}\opRightPren{}% }% }% {1}{(Integer)->Integer}{IntegerNumberTheoryFunctions} -{\smath{\mbox{\bf fibonacci}\opLeftPren{}n\opRightPren{}} returns the \eth{\smath{n}} Fibonacci +{\smath{\mbox{\bf fibonacci}\opLeftPren{}n\opRightPren{}} returns +the \eth{\smath{n}} Fibonacci number. The Fibonacci numbers \smath{F[n]} are defined by \smath{F[0] = F[1] = 1} and \smath{F[n] = F[n-1] + F[n-2]}. @@ -72443,64 +74764,81 @@ The algorithm has running time \smath{O(\log(n)^3)}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{filename}}\opLeftPren{}{\it directory}, \allowbreak{}{\it name}, \allowbreak{}{\it extension}\opRightPren{}% +\opdata{{\mbox{\axiomFun{filename}}\opLeftPren{}{\it directory}, +\allowbreak{}{\it name}, \allowbreak{}{\it extension}\opRightPren{}% }% }% {3}{(String, String, String)->\$}{FileNameCategory} -{\smath{\mbox{\bf filename}\opLeftPren{}d, \allowbreak{} n, \allowbreak{} e\opRightPren{}} creates a file name with string +{\smath{\mbox{\bf filename}\opLeftPren{}d, \allowbreak{} n, +\allowbreak{} e\opRightPren{}} creates a file name with string \smath{d} as its directory, string \smath{n} as its name and string \smath{e} as its extension. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{fill!}}\opLeftPren{}{\it aggregate}, \allowbreak{}{\it value}\opRightPren{}% +\opdata{{\mbox{\axiomFun{fill!}}\opLeftPren{}{\it aggregate}, +\allowbreak{}{\it value}\opRightPren{}% }% }% {2}{(\$, Entry)->\$}{IndexedAggregate} -{\smath{\mbox{\bf fill!}\opLeftPren{}a, \allowbreak{} x\opRightPren{}} replaces each entry in aggregate \smath{a} by +{\smath{\mbox{\bf fill!}\opLeftPren{}a, \allowbreak{} x\opRightPren{}} +replaces each entry in aggregate \smath{a} by \smath{x}. The modified \smath{a} is returned. If \smath{a} is a domain of category \smath{TwoDimensionalArrayCategory} such as a matrix, -\smath{\mbox{\bf fill!}\opLeftPren{}a, \allowbreak{} x\opRightPren{}} sets every element of \smath{a} to \smath{x}. +\smath{\mbox{\bf fill!}\opLeftPren{}a, \allowbreak{} x\opRightPren{}} +sets every element of \smath{a} to \smath{x}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{filterUntil}}\opLeftPren{}{\it predicate}, \allowbreak{}{\it stream}\opRightPren{}% +\opdata{{\mbox{\axiomFun{filterUntil}}\opLeftPren{} +{\it predicate}, \allowbreak{}{\it stream}\opRightPren{}% }% }% {2}{((S)->Boolean, \$)->\$}{InfiniteTuple} -{\smath{\mbox{\bf filterUntil}\opLeftPren{}p, \allowbreak{} s\opRightPren{}} returns \smath{[x_0, x_1, \ldots, x_n]}, -where stream \smath{s = [x_0, x_1, x_2, ..]} and \smath{n} is the smallest index +{\smath{\mbox{\bf filterUntil}\opLeftPren{}p, +\allowbreak{} s\opRightPren{}} returns \smath{[x_0, x_1, \ldots, x_n]}, +where stream \smath{s = [x_0, x_1, x_2, ..]} and +\smath{n} is the smallest index such that \smath{p(x_n) = true}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{filterWhile}}\opLeftPren{}{\it predicate}, \allowbreak{}{\it stream}\opRightPren{}% +\opdata{{\mbox{\axiomFun{filterWhile}}\opLeftPren{} +{\it predicate}, \allowbreak{}{\it stream}\opRightPren{}% }% }% {2}{((S)->Boolean, \$)->\$}{Stream} -{\smath{\mbox{\bf filterWhile}\opLeftPren{}pred, \allowbreak{} s\opRightPren{}} returns \smath{[x_0, x_1, \ldots, +{\smath{\mbox{\bf filterWhile}\opLeftPren{}pred, +\allowbreak{} s\opRightPren{}} returns \smath{[x_0, x_1, \ldots, x_{(n-1)}]} where \smath{s = [x_0, x_1, x_2, ..]} and \smath{n} is the smallest index such that \smath{p(x_n) = false}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{find}}\opLeftPren{}{\it predicate}, \allowbreak{}{\it aggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{find}}\opLeftPren{}{\it predicate}, +\allowbreak{}{\it aggregate}\opRightPren{}% }% }% {2}{((S)->Boolean, \$)->Union(S, "failed")}{Collection} -{\smath{\mbox{\bf find}\opLeftPren{}pred, \allowbreak{} u\opRightPren{}} returns the first \smath{x} in \smath{u} -such that \smath{\mbox{\bf pred}\opLeftPren{}x\opRightPren{}} is \smath{true}, and \mbox{\tt "failed"} +{\smath{\mbox{\bf find}\opLeftPren{}pred, \allowbreak{} u\opRightPren{}} +returns the first \smath{x} in \smath{u} +such that \smath{\mbox{\bf pred}\opLeftPren{}x\opRightPren{}} +is \smath{true}, and \mbox{\tt "failed"} if no such \smath{x} exists.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{findCycle}}\opLeftPren{}{\it nonNegativeInteger}, \allowbreak{}{\it stream}\opRightPren{}% +\opdata{{\mbox{\axiomFun{findCycle}}\opLeftPren{} +{\it nonNegativeInteger}, \allowbreak{}{\it stream}\opRightPren{}% }% }% -{2}{(NonNegativeInteger, \$)->Record(cycle?:Boolean, prefix:NonNegativeInteger, period:NonNegativeInteger)}{Stream} -{\smath{\mbox{\bf findCycle}\opLeftPren{}n, \allowbreak{} st\opRightPren{}} determines if stream \smath{st} is +{2}{(NonNegativeInteger, \$)-> +Record(cycle?:Boolean, prefix:NonNegativeInteger, +period:NonNegativeInteger)}{Stream} +{\smath{\mbox{\bf findCycle}\opLeftPren{}n, +\allowbreak{} st\opRightPren{}} determines if stream \smath{st} is periodic within \smath{n} terms. The operation returns a record with three fields: \smath{cycle?}, @@ -72512,46 +74850,58 @@ the cycle begins. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{finite?}}\opLeftPren{}{\it cardinalNumber}\opRightPren{}% +\opdata{{\mbox{\axiomFun{finite?}}\opLeftPren{} +{\it cardinalNumber}\opRightPren{}% }% }% {1}{(\$)->Boolean}{CardinalNumber} -{\smath{\mbox{\bf finite?}\opLeftPren{}f\opRightPren{}} tests if expression f is finite. +{\smath{\mbox{\bf finite?}\opLeftPren{}f\opRightPren{}} +tests if expression f is finite. \newitem -\smath{\mbox{\bf finite?}\opLeftPren{}a\opRightPren{}} tests if cardinal number \smath{a} is a +\smath{\mbox{\bf finite?}\opLeftPren{}a\opRightPren{}} +tests if cardinal number \smath{a} is a finite cardinal, that is, an integer. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{fintegrate}}\opLeftPren{}{\it taylorSeries}, \allowbreak{}{\it symbol}, \allowbreak{}{\it coefficient}\opRightPren{}% +\opdata{{\mbox{\axiomFun{fintegrate}}\opLeftPren{} +{\it taylorSeries}, \allowbreak{}{\it symbol}, \allowbreak{} +{\it coefficient}\opRightPren{}% }% }% {3}{(()->\$, Symbol, Coef)->\$}{TaylorSeries} -{\smath{\mbox{\bf fintegrate}\opLeftPren{}s, \allowbreak{} v, \allowbreak{} c\opRightPren{}} integrates the series \smath{s} with -respect to variable \smath{v} and having \smath{c} as the constant of integration. +{\smath{\mbox{\bf fintegrate}\opLeftPren{}s, +\allowbreak{} v, \allowbreak{} c\opRightPren{}} integrates the series \smath{s} with +respect to variable \smath{v} and having \smath{c} +as the constant of integration. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{first}}\opLeftPren{}{\it aggregate\opt{, nonNegativeInteger}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{first}}\opLeftPren{} +{\it aggregate\opt{, nonNegativeInteger}}\opRightPren{}% }% }% {1}{(\$)->Entry}{IndexedAggregate} -{\smath{\mbox{\bf first}\opLeftPren{}u\opRightPren{}} returns the first element \smath{x} of aggregate \smath{u}. -\newitem\smath{\mbox{\bf first}\opLeftPren{}u, \allowbreak{} n\opRightPren{}} returns a copy of the first \smath{n} +{\smath{\mbox{\bf first}\opLeftPren{}u\opRightPren{}} +returns the first element \smath{x} of aggregate \smath{u}. +\newitem\smath{\mbox{\bf first}\opLeftPren{}u, +\allowbreak{} n\opRightPren{}} returns a copy of the first \smath{n} elements of \smath{u}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{fixedPoint}}\opLeftPren{}{\it function\opt{, positiveInteger}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{fixedPoint}}\opLeftPren{} +{\it function\opt{, positiveInteger}}\opRightPren{}% }% }% { (A->A) -> A}{}{} {\smath{\mbox{\bf fixedPoint}\opLeftPren{}f\opRightPren{}}, a function of type \spadsig{A}{A}, is the fixed point of function \smath{f}. -That is, \smath{\mbox{\bf fixedPoint}\opLeftPren{}f) = f(\mbox{\bf fixedPoint}(f))}. +That is, \smath{\mbox{\bf fixedPoint}\opLeftPren{}f) = +f(\mbox{\bf fixedPoint}(f))}. \newitem \smath{\mbox{\bf fixedPoint}\opLeftPren{}f, \allowbreak{} n\opRightPren{}}, where \smath{f} is a function of type \spadsig{List(A)}{List(A)} @@ -72561,18 +74911,25 @@ and \smath{n} is a positive integer, is the fixed point of function } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{fixedPoints}}\opLeftPren{}{\it permutation}\opRightPren{}% +\opdata{{\mbox{\axiomFun{fixedPoints}}\opLeftPren{} +{\it permutation}\opRightPren{}% }% }% {1}{(\$)->Set(S)}{Permutation} -{\smath{\mbox{\bf fixedPoints}\opLeftPren{}p\opRightPren{}} returns the points fixed by the permutation \smath{p}.} +{\smath{\mbox{\bf fixedPoints}\opLeftPren{}p\opRightPren{}} +returns the points fixed by the permutation \smath{p}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{flagFactor}}\opLeftPren{}{\it base}, \allowbreak{}{\it exponent}, \allowbreak{}{\it flag}\opRightPren{}% +\opdata{{\mbox{\axiomFun{flagFactor}}\opLeftPren{}{\it base}, +\allowbreak{}{\it exponent}, \allowbreak{}{\it flag}\opRightPren{}% }% }% {3}{(R, Integer, Union("nil", "sqfr", "irred", "prime"))->\$}{Factored} -{\smath{\mbox{\bf flagFactor}\opLeftPren{}base, \allowbreak{} exponent, \allowbreak{} flag\opRightPren{}} creates a factored object with a single factor whose \smath{base} is asserted to be properly described by the information \smath{flag}: +{\smath{\mbox{\bf flagFactor}\opLeftPren{}base, +\allowbreak{} exponent, \allowbreak{} flag\opRightPren{}} +creates a factored object +with a single factor whose \smath{base} is asserted to be properly described +by the information \smath{flag}: one of the strings \mbox{\tt "nil"}, \mbox{\tt "sqfr"}, \mbox{\tt "irred"}, and \mbox{\tt "prime"}. } @@ -72581,7 +74938,8 @@ one of the strings \mbox{\tt "nil"}, \mbox{\tt "sqfr"}, \mbox{\tt "irred"}, and }% }% { $ -> $}{}{} -{\smath{\mbox{\bf flatten}\opLeftPren{}s\opRightPren{}} returns an input form corresponding to \smath{s} with +{\smath{\mbox{\bf flatten}\opLeftPren{}s\opRightPren{}} +returns an input form corresponding to \smath{s} with all the nested operations flattened to triples using new local variables. This operation is used to optimize compiled code. @@ -72591,7 +74949,8 @@ This operation is used to optimize compiled code. }% }% {0}{()->Boolean}{FiniteRankNonAssociativeAlgebra} -{\smath{\mbox{\bf flexible?}\opLeftPren{}\opRightPren{}\$R} tests if \smath{2 \mbox{\bf +{\smath{\mbox{\bf flexible?}\opLeftPren{}\opRightPren{}\$R} +tests if \smath{2 \mbox{\bf associator}(a, b, a) = 0} for all \smath{a}, \smath{b} in a domain \smath{R} of category \axiomType{FiniteRankNonAssociativeAlgebra}. @@ -72599,11 +74958,13 @@ Note: only this can be tested since, in general, it is not known whether \smath{2a=0} implies \smath{a=0}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{flexibleArray}}\opLeftPren{}{\it listOfElements}\opRightPren{}% +\opdata{{\mbox{\axiomFun{flexibleArray}}\opLeftPren{} +{\it listOfElements}\opRightPren{}% }% }% {0}{()->Boolean}{FiniteRankNonAssociativeAlgebra} -{\smath{\mbox{\bf flexibleArray}\opLeftPren{}ls\opRightPren{}} creates a flexible array from a list of +{\smath{\mbox{\bf flexibleArray}\opLeftPren{}ls +\opRightPren{}} creates a flexible array from a list of elements \smath{ls}. } @@ -72611,74 +74972,93 @@ elements \smath{ls}. \opdata{{\mbox{\axiomFun{float?}}\opLeftPren{}{\it sExpression}\opRightPren{}% }% }% -{1}{(\$)->Boolean}{SExpressionCategory}{\smath{\mbox{\bf float?}\opLeftPren{}s\opRightPren{}} is \smath{true} if \smath{s} is an atom and belongs o \smath{Flt}.} +{1}{(\$)->Boolean}{SExpressionCategory}{\smath{ +\mbox{\bf float?}\opLeftPren{}s\opRightPren{}} is \smath{true} if \smath{s} is +an atom and belongs o \smath{Flt}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{float}}\opLeftPren{}{\it integer}, \allowbreak{}{\it integer}\allowbreak $\,[$ , \allowbreak{}{\it positiveinteger}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{float}}\opLeftPren{} +{\it integer}, \allowbreak{}{\it integer}\allowbreak $\,[$ , +\allowbreak{}{\it positiveinteger}$]$\opRightPren{}% }% }% {2}{(Integer, Integer)->\$}{FloatingPointSystem} -{\smath{\mbox{\bf float}\opLeftPren{}a, \allowbreak{} e\opRightPren{}} returns \smath{a {\tt base()}^e} as a float. -\newitem\smath{\mbox{\bf float}\opLeftPren{}a, \allowbreak{} e, \allowbreak{} b\opRightPren{}} returns \smath{a b ^ e} as a float.} +{\smath{\mbox{\bf float}\opLeftPren{}a, \allowbreak{} e\opRightPren{}} +returns \smath{a {\tt base()}^e} as a float. +\newitem\smath{\mbox{\bf float}\opLeftPren{}a, \allowbreak{} e, +\allowbreak{} b\opRightPren{}} returns \smath{a b ^ e} as a float.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{floor}}\opLeftPren{}{\it rationalNumber}\opRightPren{}% +\opdata{{\mbox{\axiomFun{floor}}\opLeftPren{} +{\it rationalNumber}\opRightPren{}% }% }% {1}{(\$)->D}{QuotientFieldCategory} {\smath{\mbox{\bf floor}\opLeftPren{}fr\opRightPren{}}, where \smath{fr} is a fraction, returns the largest integral element below \smath{fr}. -\newitem \smath{\mbox{\bf floor}\opLeftPren{}fl\opRightPren{}}, where \smath{fl} is a float, +\newitem \smath{\mbox{\bf floor}\opLeftPren{}fl\opRightPren{}}, +where \smath{fl} is a float, returns the largest integer \smath{<= fl}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{formula}}\opLeftPren{}{\it formulaFormat}\opRightPren{}% +\opdata{{\mbox{\axiomFun{formula}}\opLeftPren{} +{\it formulaFormat}\opRightPren{}% }% }% {1}{(\$)->List(String)}{ScriptFormulaFormat} -{\smath{\mbox{\bf formula}\opLeftPren{}t\opRightPren{}} extracts the formula section of an IBM +{\smath{\mbox{\bf formula}\opLeftPren{}t\opRightPren{}} +extracts the formula section of an IBM SCRIPT Formula formatted object \smath{t}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{fractionPart}}\opLeftPren{}{\it fraction}\opRightPren{}% +\opdata{{\mbox{\axiomFun{fractionPart}}\opLeftPren{} +{\it fraction}\opRightPren{}% }% }% {1}{(\$)->\$}{QuotientFieldCategory} -{\smath{\mbox{\bf fractionPart}\opLeftPren{}x\opRightPren{}} returns the fractional part of \smath{x}. +{\smath{\mbox{\bf fractionPart}\opLeftPren{}x\opRightPren{}} +returns the fractional part of \smath{x}. Argument \smath{x} can be a fraction, a radix (binary, decimal, or hexadecimal) expansion, or a float. Note: \smath{x} = whole(\smath{x}) + fractionPart(\smath{x}). } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{fractRadix}}\opLeftPren{}{\it listOfIntegers}, \allowbreak{}{\it listOfIntegers}\opRightPren{}% +\opdata{{\mbox{\axiomFun{fractRadix}}\opLeftPren{} +{\it listOfIntegers}, \allowbreak{}{\it listOfIntegers}\opRightPren{}% }% }% {2}{(List(Integer), List(Integer))->\$}{RadixExpansion} -{\smath{\mbox{\bf fractRadix}\opLeftPren{}pre, \allowbreak{} cyc\opRightPren{}} creates a fractional radix expansion +{\smath{\mbox{\bf fractRadix}\opLeftPren{}pre, +\allowbreak{} cyc\opRightPren{}} creates a fractional radix expansion from a list of prefix ragits and a list of cyclic ragits. -For example, \smath{\mbox{\bf fractRadix}\opLeftPren{}[1], \allowbreak{} [6]\opRightPren{}} will return +For example, \smath{\mbox{\bf fractRadix}\opLeftPren{}[1], +\allowbreak{} [6]\opRightPren{}} will return \smath{0.16666666\ldots}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{fractRagits}}\opLeftPren{}{\it radixExpansion}\opRightPren{}% +\opdata{{\mbox{\axiomFun{fractRagits}}\opLeftPren{} +{\it radixExpansion}\opRightPren{}% }% }% {1}{(\$)->Stream(Integer)}{RadixExpansion} -{\smath{\mbox{\bf fractRagits}\opLeftPren{}rx\opRightPren{}} returns the ragits of the fractional +{\smath{\mbox{\bf fractRagits}\opLeftPren{}rx\opRightPren{}} +returns the ragits of the fractional part of a radix expansion as a stream of integers.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{freeOf?}}\opLeftPren{}{\it expression}, \allowbreak{}{\it kernel}\opRightPren{}% +\opdata{{\mbox{\axiomFun{freeOf?}}\opLeftPren{}{\it expression}, +\allowbreak{}{\it kernel}\opRightPren{}% }% }% {2}{(\$, Symbol)->Boolean}{ExpressionSpace} -{\smath{\mbox{\bf freeOf?}\opLeftPren{}x, \allowbreak{} k\opRightPren{}} tests if expression \smath{x} does not +{\smath{\mbox{\bf freeOf?}\opLeftPren{}x, \allowbreak{} k\opRightPren{}} +tests if expression \smath{x} does not contain any operator whose name is the symbol or kernel \smath{k}.} @@ -72687,15 +75067,18 @@ any operator whose name is the symbol or kernel \smath{k}.} }% }% {1}{(\$)->\$}{ExtensionField} -{\smath{\mbox{\bf Frobenius}\opLeftPren{}a\opRightPren{}\$F} returns \smath{a^q} where \smath{q} is -the \smath{\mbox{\bf size}\opLeftPren{}\opRightPren{}\$F} of extension field \smath{F}.} +{\smath{\mbox{\bf Frobenius}\opLeftPren{}a\opRightPren{}\$F} +returns \smath{a^q} where \smath{q} is +the \smath{\mbox{\bf size}\opLeftPren{}\opRightPren{}\$F} +of extension field \smath{F}.} % ---------------------------------------------------------------------- \opdata{{\mbox{\axiomFun{front}}\opLeftPren{}{\it queue}\opRightPren{}% }% }% {1}{(\$)->S}{QueueAggregate} -{\smath{\mbox{\bf front}\opLeftPren{}q\opRightPren{}} returns the element at the front of the queue, or +{\smath{\mbox{\bf front}\opLeftPren{}q\opRightPren{}} +returns the element at the front of the queue, or calls \spadfun{error} if \smath{q} is empty.} % ---------------------------------------------------------------------- @@ -72703,12 +75086,15 @@ calls \spadfun{error} if \smath{q} is empty.} }% }% {1}{(\$)->S}{LazyStreamAggregate} -{\smath{\mbox{\bf frst}\opLeftPren{}s\opRightPren{}} returns the first element of stream \smath{s}. +{\smath{\mbox{\bf frst}\opLeftPren{}s\opRightPren{}} +returns the first element of stream \smath{s}. Warning: this function should only be called after a \smath{empty?} test has been made since there is no error check.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{function}}\opLeftPren{}{\it expression}, \allowbreak{}{\it name}\allowbreak $\,[$ , \allowbreak{}{\it options}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{function}}\opLeftPren{} +{\it expression}, \allowbreak{}{\it name}\allowbreak $\,[$ , \allowbreak{} +{\it options}$]$\opRightPren{}% }% }% {2}{(S, Symbol)->Symbol}{MakeFunction} @@ -72716,11 +75102,19 @@ Warning: this function should only be called after a objects to type \axiomType{InputForm}. Argument \smath{e} below denotes an object from such a domain. These operations create user-functions from already computed results.} -\newitem\smath{\mbox{\bf function}\opLeftPren{}e, \allowbreak{} f\opRightPren{}} creates a function \smath{f() == e}. -\newitem\smath{\mbox{\bf function}\opLeftPren{}e, \allowbreak{} f, \allowbreak{} [x_1, \allowbreak{} \ldots, x_n]\opRightPren{}} creates a function \smath{f(x_1, \ldots, x_n) == e}. -\newitem\smath{\mbox{\bf function}\opLeftPren{}e, \allowbreak{} f, \allowbreak{} x\opRightPren{}} creates a function \smath{f(x) == e}. -\newitem\smath{\mbox{\bf function}\opLeftPren{}e, \allowbreak{} f, \allowbreak{} x, \allowbreak{} y\opRightPren{}} creates a function \smath{f(x, y) == e}. -\newitem\smath{\mbox{\bf function}\opLeftPren{}expr, \allowbreak{} [x_1, \allowbreak{} \ldots, x_n], f\opRightPren{}}, +\newitem\smath{\mbox{\bf function}\opLeftPren{}e, \allowbreak{} f +\opRightPren{}} creates a function \smath{f() == e}. +\newitem\smath{\mbox{\bf function}\opLeftPren{}e, \allowbreak{} f, +\allowbreak{} [x_1, \allowbreak{} \ldots, x_n]\opRightPren{}} +creates a function +\smath{f(x_1, \ldots, x_n) == e}. +\newitem\smath{\mbox{\bf function}\opLeftPren{}e, \allowbreak{} f, +\allowbreak{} x\opRightPren{}} creates a function \smath{f(x) == e}. +\newitem\smath{\mbox{\bf function}\opLeftPren{}e, +\allowbreak{} f, \allowbreak{} x, \allowbreak{} y\opRightPren{}} +creates a function \smath{f(x, y) == e}. +\newitem\smath{\mbox{\bf function}\opLeftPren{}expr, +\allowbreak{} [x_1, \allowbreak{} \ldots, x_n], f\opRightPren{}}, where \smath{expr} is an input form and where \smath{f} and the \smath{x_i}'s are symbols, returns the input form @@ -72733,68 +75127,86 @@ See also \spadfun{unparse}. }% }% {1}{(Complex(DoubleFloat))->Complex(DoubleFloat)}{DoubleFloatSpecialFunctions} -{\smath{\mbox{\bf Gamma}\opLeftPren{}x\opRightPren{}} is the Euler gamma function, \smath{\mbox{\bf Gamma}\opLeftPren{}x\opRightPren{}}, +{\smath{\mbox{\bf Gamma}\opLeftPren{}x\opRightPren{}} is the Euler +gamma function, \smath{\mbox{\bf Gamma}\opLeftPren{}x\opRightPren{}}, defined by \smath{\Gamma(x) = \int\nolimits_0^\infty {t^{(x-1)}*exp(-t) dt}}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{gcdPolynomial}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it polynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{gcdPolynomial}}\opLeftPren{}{\it polynomial}, +\allowbreak{}{\it polynomial}\opRightPren{}% }% }% -{2}{(SparseUnivariatePolynomial(\$), SparseUnivariatePolynomial(\$))->SparseUnivariatePolynomial(\$)}{PolynomialFactorizationExplicit} +{2}{(SparseUnivariatePolynomial(\$), SparseUnivariatePolynomial(\$))-> +SparseUnivariatePolynomial(\$)}{PolynomialFactorizationExplicit} {\smath{\mbox{\bf gcdPolynomial}\opLeftPren{}p, \allowbreak{} q\opRightPren{}} returns the \spadfun{gcd} of the univariate polynomials \smath{p} and \smath{q}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{gcd}}\opLeftPren{}{\it element\opt{, element, element}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{gcd}}\opLeftPren{} +{\it element\opt{, element, element}}\opRightPren{}% }% }% {1}{(List(\$))->\$}{GcdDomain} -{\smath{\mbox{\bf gcd}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} returns the greatest common divisor of \smath{x} and \smath{y}. +{\smath{\mbox{\bf gcd}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} +returns the greatest common divisor of \smath{x} and \smath{y}. Arguments \smath{x} and \smath{y} are elements of a domain of category \smath{GcdDomain}. -\newitem\smath{\mbox{\bf gcd}\opLeftPren{}[x_1, \allowbreak{} \ldots, x_n]\opRightPren{}} returns the +\newitem\smath{\mbox{\bf gcd}\opLeftPren{}[x_1, +\allowbreak{} \ldots, x_n]\opRightPren{}} returns the common \smath{gcd} of the elements of the list of \smath{x_i}. -\newitem\smath{\mbox{\bf gcd}\opLeftPren{}p_1, \allowbreak{} p_2, \allowbreak{} prime\opRightPren{}} computes the \smath{gcd} of the univariate -polynomials \smath{p_1} and \smath{p_2} modulo the prime integer \smath{prime}.} +\newitem\smath{\mbox{\bf gcd}\opLeftPren{}p_1, \allowbreak{} p_2, +\allowbreak{} prime\opRightPren{}} computes the \smath{gcd} of the univariate +polynomials \smath{p_1} and \smath{p_2} modulo the prime integer +\smath{prime}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{generalizedContinuumHypothesisAssumed?}}\opLeftPren{}{\it \opt{bool}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{generalizedContinuumHypothesisAssumed?}} +\opLeftPren{}{\it \opt{bool}}\opRightPren{}% }% }% {0}{()->Boolean}{CardinalNumber} -{\smath{\mbox{\bf generalizedContinuumHypothesisAssumed?}\opLeftPren{}\opRightPren{}} tests if the hypothesis is currently assumed. +{\smath{\mbox{\bf generalizedContinuumHypothesisAssumed?} +\opLeftPren{}\opRightPren{}} tests if the hypothesis is currently assumed. \newitem -\smath{\mbox{\bf generalizedContinuumHypothesisAssumed}\opLeftPren{}bool\opRightPren{}} dictates +\smath{\mbox{\bf generalizedContinuumHypothesisAssumed} +\opLeftPren{}bool\opRightPren{}} dictates that the hypothesis is or is not to be assumed, according to whether \smath{bool} is true or false.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{generalPosition}}\opLeftPren{}{\it ideal}, \allowbreak{}{\it listOfVariables}\opRightPren{}% +\opdata{{\mbox{\axiomFun{generalPosition}}\opLeftPren{} +{\it ideal}, \allowbreak{}{\it listOfVariables}\opRightPren{}% }% }% -{2}{(\$, List(OrderedVariableList(vl)))->Record(mval:Matrix(F), invmval:Matrix(F), genIdeal:\$)}{PolynomialIdeals} -{\smath{\mbox{\bf generalPosition}\opLeftPren{}I, \allowbreak{} listvar\opRightPren{}} performs a random linear +{2}{(\$, List(OrderedVariableList(vl)))-> +Record(mval:Matrix(F), invmval:Matrix(F), genIdeal:\$)}{PolynomialIdeals} +{\smath{\mbox{\bf generalPosition}\opLeftPren{}I, +\allowbreak{} listvar\opRightPren{}} performs a random linear transformation on the variables in \smath{listvar} and returns the transformed ideal \smath{I} along with the change of basis matrix. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{generate}}\opLeftPren{}{\it function\opt{, element}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{generate}}\opLeftPren{} +{\it function\opt{, element}}\opRightPren{}% }% }% {1}{(()->S)->\$}{Stream} {\smath{\mbox{\bf generate}\opLeftPren{}f\opRightPren{}}, where \smath{f} is a function of no arguments, creates an infinite stream all of whose elements are equal to -the value of \smath{f()}. Note: \smath{\mbox{\bf generate}\opLeftPren{}f) = [f(), f(), f(), \ldots]}. -\newitem\smath{\mbox{\bf generate}\opLeftPren{}f, \allowbreak{} x\opRightPren{}}, +the value of \smath{f()}. Note: \smath{\mbox{\bf generate} +\opLeftPren{}f) = [f(), f(), f(), \ldots]}. +\newitem\smath{\mbox{\bf generate}\opLeftPren{}f, +\allowbreak{} x\opRightPren{}}, where \smath{f} is a function of one argument, creates an infinite stream whose first element is \smath{x} and whose \eth{\smath{n}} element (\smath{n > 1}) is \smath{f} applied to the previous element. -Note: \smath{\mbox{\bf generate}\opLeftPren{}f, x) = [x, f(x), f(f(x)), \ldots]}. +Note: \smath{\mbox{\bf generate}\opLeftPren{}f, x) = +[x, f(x), f(f(x)), \ldots]}. \newitem See also \axiomType{HallBasis}. } @@ -72803,7 +75215,8 @@ Note: \smath{\mbox{\bf generate}\opLeftPren{}f, x) = [x, f(x), f(f(x)), \ldots]} }% }% {0}{()->\$}{FiniteAlgebraicExtensionField} -{\smath{\mbox{\bf generator}\opLeftPren{}\opRightPren{}\$R} returns a root of the defining polynomial +{\smath{\mbox{\bf generator}\opLeftPren{}\opRightPren{}\$R} returns +a root of the defining polynomial of a domain of category \axiomType{FiniteAlgebraicExtensionField} \smath{R}. This element generates the field as an algebra over the ground field. \newitem @@ -72815,8 +75228,10 @@ See also \axiomType{MonogenicAlgebra} and \axiomType{FreeNilpotentLie}. }% }% {1}{(\$)->List(DPoly)}{PolynomialIdeals} -{\smath{\mbox{\bf generators}\opLeftPren{}I\opRightPren{}} returns a list of generators for the ideal \smath{I}. -\newitem\smath{\mbox{\bf generators}\opLeftPren{}gp\opRightPren{}} returns the generators of a permutation +{\smath{\mbox{\bf generators}\opLeftPren{}I\opRightPren{}} returns +a list of generators for the ideal \smath{I}. +\newitem\smath{\mbox{\bf generators}\opLeftPren{}gp\opRightPren{}} +returns the generators of a permutation group {\it gp}. } @@ -72825,7 +75240,8 @@ group {\it gp}. }% }% {0}{()->NonNegativeInteger}{FunctionFieldCategory} -{\smath{\mbox{\bf genus}\opLeftPren{}\opRightPren{}}{\bf \$}\smath{R} returns the genus of +{\smath{\mbox{\bf genus}\opLeftPren{}\opRightPren{}}{\bf \$}\smath{R} +returns the genus of the algebraic function field \smath{R}. If \smath{R} has several absolutely irreducible components, then the genus of one of them is @@ -72838,13 +75254,15 @@ returned. }% }% {0}{()->Matrix(PrimeField(p))}{FiniteFieldNormalBasis} -{\smath{\mbox{\bf getMultiplicationMatrix}\opLeftPren{}\opRightPren{}\$R} returns a matrix multiplication table +{\smath{\mbox{\bf getMultiplicationMatrix}\opLeftPren{}\opRightPren{}\$R} +returns a matrix multiplication table for domain \axiomType{FiniteFieldNormalBasis(p, n)}, a finite extension field of degree \smath{n} over the domain \axiomType{PrimeField(p)} with \smath{p} elements. Each element of the matrix is a member of the underlying prime field. \newitem -\smath{\mbox{\bf getMultiplicationTable}\opLeftPren{}\opRightPren{}\$R} is similar except that the +\smath{\mbox{\bf getMultiplicationTable}\opLeftPren{}\opRightPren{}\$R} +is similar except that the multiplication table for the normal basis of the field is represented by a vector of lists of records, each record having two fields: \smath{value}, an element of the prime field over @@ -72856,17 +75274,21 @@ This table is used to perform multiplications between field elements. \opdata{{\mbox{\axiomFun{getVariableOrder}}\opLeftPren{}\opRightPren{}% }% }% -{0}{()->Record(high:List(Symbol), low:List(Symbol))}{UserDefinedVariableOrdering} -{\smath{\mbox{\bf getVariableOrder}\opLeftPren{}\opRightPren{}} returns \smath{[[b_1, \ldots, b_m], +{0}{()->Record(high:List(Symbol), low:List(Symbol))} +{UserDefinedVariableOrdering} +{\smath{\mbox{\bf getVariableOrder}\opLeftPren{}\opRightPren{}} +returns \smath{[[b_1, \ldots, b_m], [a_1, \ldots, a_n] ]} such that the ordering on the variables was given -by \smath{\mbox{\bf setVariableOrder}\opLeftPren{}[b_1, \allowbreak{} \ldots, b_m], [a_1, \ldots, a_n]\opRightPren{}}.} +by \smath{\mbox{\bf setVariableOrder}\opLeftPren{}[b_1, +\allowbreak{} \ldots, b_m], [a_1, \ldots, a_n]\opRightPren{}}.} % ---------------------------------------------------------------------- \opdata{{\mbox{\axiomFun{getZechTable}}\opLeftPren{}\opRightPren{}% }% }% {0}{()->PrimitiveArray(SingleInteger)}{FiniteFieldCyclicGroup} -{\smath{\mbox{\bf getZechTable}\opLeftPren{}\opRightPren{}\$F} returns the Zech logarithm table of the +{\smath{\mbox{\bf getZechTable}\opLeftPren{}\opRightPren{}\$F} +returns the Zech logarithm table of the \index{Zech logarithm} field \smath{F} where \smath{F} is some domain @@ -72874,14 +75296,17 @@ field This table is used to perform additions in the field quickly.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{gramschmidt}}\opLeftPren{}{\it listOfMatrices}\opRightPren{}% +\opdata{{\mbox{\axiomFun{gramschmidt}}\opLeftPren{} +{\it listOfMatrices}\opRightPren{}% }% }% -{1}{(List(Matrix(Expression(Fraction(Integer)))))->List(Matrix(Expression(Fraction(Integer))))}{RadicalEigenPackage} +{1}{(List(Matrix(Expression(Fraction(Integer)))))-> +List(Matrix(Expression(Fraction(Integer))))}{RadicalEigenPackage} {\opkey{Argument \smath{lv} has the form of a list of matrices of elements of type \axiomType{Expression}.} \newitem -\smath{\mbox{\bf gramschmidt}\opLeftPren{}lv\opRightPren{}} converts the list of column vectors +\smath{\mbox{\bf gramschmidt}\opLeftPren{}lv\opRightPren{}} +converts the list of column vectors \smath{lv} into a set of orthogonal column vectors of Euclidean length 1 using the Gram-Schmidt algorithm. \index{Gram-Schmidt algorithm} @@ -72892,7 +75317,8 @@ length 1 using the Gram-Schmidt algorithm. }% }% { I -> SPOL RN}{}{} -{\smath{\mbox{\bf graphs}\opLeftPren{}n\opRightPren{}} is the cycle index of the group induced on +{\smath{\mbox{\bf graphs}\opLeftPren{}n\opRightPren{}} +is the cycle index of the group induced on the edges of a graph by applying the symmetric function to the \smath{n} nodes. See \axiomType{CycleIndicators} for details. @@ -72903,28 +75329,35 @@ See \axiomType{CycleIndicators} for details. }% }% {0}{()->\$}{Color} -{\smath{\mbox{\bf green}\opLeftPren{}\opRightPren{}} returns the position of the green hue from total hues.} +{\smath{\mbox{\bf green}\opLeftPren{}\opRightPren{}} +returns the position of the green hue from total hues.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{groebner}}\opLeftPren{}{\it listOfPolynomials}\opRightPren{}% +\opdata{{\mbox{\axiomFun{groebner}}\opLeftPren{} +{\it listOfPolynomials}\opRightPren{}% }% }% {1}{(List(Dpol))->List(Dpol)}{GroebnerPackage} -{\smath{\mbox{\bf groebner}\opLeftPren{}lp\opRightPren{}} computes a Gr\"obner basis for a polynomial +{\smath{\mbox{\bf groebner}\opLeftPren{}lp\opRightPren{}} +computes a Gr\"obner basis for a polynomial ideal generated by the list of polynomials \smath{lp}. -\newitem \smath{\mbox{\bf groebner}\opLeftPren{}I\opRightPren{}} returns a set of generators of ideal +\newitem \smath{\mbox{\bf groebner}\opLeftPren{}I\opRightPren{}} +returns a set of generators of ideal \smath{I} that are a Gr\"obner basis for \smath{I}. -\newitem \smath{\mbox{\bf groebner}\opLeftPren{}lp, \allowbreak{} infoflag\opRightPren{}} computes a Gr\"obner basis +\newitem \smath{\mbox{\bf groebner}\opLeftPren{}lp, \allowbreak{} +infoflag\opRightPren{}} computes a Gr\"obner basis for a polynomial ideal generated by the list of polynomials \smath{lp}. Argument \smath{infoflag} is used to get information on the computation. -If \smath{infoflag} is \mbox{\tt "info"}, then summary information is displayed for +If \smath{infoflag} is \mbox{\tt "info"}, then summary information +is displayed for each s-polynomial generated. If \smath{infoflag} is \mbox{\tt "redcrit"}, the reduced critical pairs are displayed. To get the display of both kinds of information, use -\smath{\mbox{\bf groebner}\opLeftPren{}lp, \allowbreak{} "info", \allowbreak{} "redcrit"\opRightPren{}}. +\smath{\mbox{\bf groebner}\opLeftPren{}lp, \allowbreak{} "info", +\allowbreak{} "redcrit"\opRightPren{}}. } % ---------------------------------------------------------------------- @@ -72932,32 +75365,38 @@ To get the display of both kinds of information, use }% }% {1}{(\$)->Boolean}{PolynomialIdeals} -{\smath{\mbox{\bf groebner?}\opLeftPren{}I\opRightPren{}} tests if the generators of the ideal +{\smath{\mbox{\bf groebner?}\opLeftPren{}I\opRightPren{}} +tests if the generators of the ideal \smath{I} are a Gr\"obner basis.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{groebnerIdeal}}\opLeftPren{}{\it listOfPolynomials}\opRightPren{}% +\opdata{{\mbox{\axiomFun{groebnerIdeal}}\opLeftPren{} +{\it listOfPolynomials}\opRightPren{}% }% }% {1}{(List(DPoly))->\$}{PolynomialIdeals} -{\smath{\mbox{\bf groebnerIdeal}\opLeftPren{}lp\opRightPren{}} constructs the ideal generated by the +{\smath{\mbox{\bf groebnerIdeal}\opLeftPren{}lp\opRightPren{}} +constructs the ideal generated by the list of polynomials \smath{lp} assumed to be a Gr\"obner basis. Note: this operation avoids a Gr\"obner basis computation.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{groebnerFactorize}}\opLeftPren{}{\it listOfPolynomials\opt{options}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{groebnerFactorize}}\opLeftPren{} +{\it listOfPolynomials\opt{options}}\opRightPren{}% }% }% {1}{(List(Dpol))->List(List(Dpol))}{GroebnerFactorizationPackage} -{\smath{\mbox{\bf groebnerFactorize}\opLeftPren{}lp\optinner{, bool}\opRightPren{}} returns +{\smath{\mbox{\bf groebnerFactorize}\opLeftPren{}lp +\optinner{, bool}\opRightPren{}} returns a list of list of polynomials, each inner list denoting a Gr\"obner basis. The union of the solutions of the bases is the solution of the system of equations given by \smath{lp}. Information about partial results is printed if a second argument is given with value \smath{true}. \newitem -\smath{\mbox{\bf groebnerFactorize}\opLeftPren{}lp, \allowbreak{} nonZeroRestrictions\optinner{, bool}\opRightPren{}}, +\smath{\mbox{\bf groebnerFactorize}\opLeftPren{}lp, +\allowbreak{} nonZeroRestrictions\optinner{, bool}\opRightPren{}}, where \smath{nonZeroRestrictions} is a list of polynomials, is similar. Here, however, the solutions to the system of equations are computed under the restriction that the polynomials in the second argument @@ -72973,24 +75412,30 @@ third argument with value \smath{true} is given. }% }% {1}{(\$)->Boolean}{FiniteAbelianMonoidRing} -{\smath{\mbox{\bf ground}\opLeftPren{}p\opRightPren{}} retracts expression polynomial \smath{p} to the coefficient ring, or +{\smath{\mbox{\bf ground}\opLeftPren{}p\opRightPren{}} +retracts expression polynomial \smath{p} to the coefficient ring, or calls \spadfun{error} if such a retraction is not possible. \newitem -\smath{\mbox{\bf ground?}\opLeftPren{}p\opRightPren{}} tests if an expression or polynomial \smath{p} is a member of the coefficient ring. +\smath{\mbox{\bf ground?}\opLeftPren{}p\opRightPren{}} +tests if an expression or polynomial \smath{p} is a member +of the coefficient ring. \seeAlso{\spadfun{ground?}} } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{harmonic}}\opLeftPren{}{\it positiveInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{harmonic}}\opLeftPren{} +{\it positiveInteger}\opRightPren{}% }% }% {1}{(Integer)->Fraction(Integer)}{IntegerNumberTheoryFunctions} -{\smath{\mbox{\bf harmonic}\opLeftPren{}n\opRightPren{}} returns the \eth{\smath{n}} harmonic number, defined by +{\smath{\mbox{\bf harmonic}\opLeftPren{}n\opRightPren{}} +returns the \eth{\smath{n}} harmonic number, defined by \smath{H[n] = \sum\nolimits_{k=1}^n {1/k}}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{has}}\opLeftPren{}{\it domain}, \allowbreak{}{\it property}\opRightPren{}% +\opdata{{\mbox{\axiomFun{has}}\opLeftPren{} +{\it domain}, \allowbreak{}{\it property}\opRightPren{}% }% }% {}{}{} @@ -73003,11 +75448,13 @@ and \code{Integer has commutative("*")}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{has?}}\opLeftPren{}{\it operation}, \allowbreak{}{\it property}\opRightPren{}% +\opdata{{\mbox{\axiomFun{has?}}\opLeftPren{} +{\it operation}, \allowbreak{}{\it property}\opRightPren{}% }% }% {2}{(\$, String)->Boolean}{BasicOperator} -{\smath{\mbox{\bf has?}\opLeftPren{}op, \allowbreak{} s\opRightPren{}} tests if property \smath{s} is attached to +{\smath{\mbox{\bf has?}\opLeftPren{}op, +\allowbreak{} s\opRightPren{}} tests if property \smath{s} is attached to \smath{op}.} % ---------------------------------------------------------------------- @@ -73015,33 +75462,41 @@ and \code{Integer has commutative("*")}. }% }% {1}{(\$)->\$}{IntegerNumberSystem} -{\smath{\mbox{\bf hash}\opLeftPren{}n\opRightPren{}} returns the hash code for \smath{n}, +{\smath{\mbox{\bf hash}\opLeftPren{}n\opRightPren{}} +returns the hash code for \smath{n}, an integer or a float.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{hasHi}}\opLeftPren{}{\it segment}\opRightPren{}% +\opdata{{\mbox{\axiomFun{hasHi}}\opLeftPren{} +{\it segment}\opRightPren{}% }% }% {1}{(\$)->Boolean}{UniversalSegment} -{\smath{\mbox{\bf hasHi}\opLeftPren{}seg\opRightPren{}} tests whether the segment \smath{seg} has an +{\smath{\mbox{\bf hasHi}\opLeftPren{}seg\opRightPren{}} +tests whether the segment \smath{seg} has an upper bound. For example, \smath{\mbox{\bf hasHi}\opLeftPren{}1..) = false}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{hasSolution?}}\opLeftPren{}{\it matrix}, \allowbreak{}{\it vector}\opRightPren{}% +\opdata{{\mbox{\axiomFun{hasSolution?}}\opLeftPren{} +{\it matrix}, \allowbreak{}{\it vector}\opRightPren{}% }% }% {2}{(M, Col)->Boolean}{LinearSystemMatrixPackage} -{\smath{\mbox{\bf hasSolution?}\opLeftPren{}A, \allowbreak{} B\opRightPren{}} tests if the linear system \smath{AX = B} has a solution, +{\smath{\mbox{\bf hasSolution?}\opLeftPren{}A, +\allowbreak{} B\opRightPren{}} tests if the linear +system \smath{AX = B} has a solution, where \smath{A} is a matrix and \smath{B} is a (column) vector.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{hconcat}}\opLeftPren{}{\it outputForms\opt{, outputForm}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{hconcat}}\opLeftPren{} +{\it outputForms\opt{, outputForm}}\opRightPren{}% }% }% {}{}{} -{\smath{\mbox{\bf hconcat}\opLeftPren{}o_1, \allowbreak{} o_2\opRightPren{}}, where \smath{o_1} and \smath{o_2} are +{\smath{\mbox{\bf hconcat}\opLeftPren{}o_1, +\allowbreak{} o_2\opRightPren{}}, where \smath{o_1} and \smath{o_2} are objects of type \axiomType{OutputForm} (normally unexposed), returns an output form for the horizontal concatenation of forms \smath{o_1} and \smath{o_2}. @@ -73056,19 +75511,23 @@ elements of \smath{lof}. % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{heap}}\opLeftPren{}{\it listOfElements}\opRightPren{}% +\opdata{{\mbox{\axiomFun{heap}}\opLeftPren{} +{\it listOfElements}\opRightPren{}% }% }% {2}{((S, S)->Boolean, V)->V}{FiniteLinearAggregateSort} -{\smath{\mbox{\bf heap}\opLeftPren{}ls\opRightPren{}} creates a \axiomType{Heap} of elements consisting +{\smath{\mbox{\bf heap}\opLeftPren{}ls\opRightPren{}} +creates a \axiomType{Heap} of elements consisting of the elements of \smath{ls}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{heapSort}}\opLeftPren{}{\it predicate}, \allowbreak{}{\it aggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{heapSort}}\opLeftPren{} +{\it predicate}, \allowbreak{}{\it aggregate}\opRightPren{}% }% }% {2}{((S, S)->Boolean, V)->V}{FiniteLinearAggregateSort} -{\smath{\mbox{\bf heapSort}\opLeftPren{}pred, \allowbreak{} agg\opRightPren{}} sorts the aggregate agg with the +{\smath{\mbox{\bf heapSort}\opLeftPren{}pred, +\allowbreak{} agg\opRightPren{}} sorts the aggregate agg with the ordering function \smath{pred} using the heapsort algorithm.} % ---------------------------------------------------------------------- @@ -73076,7 +75535,8 @@ ordering function \smath{pred} using the heapsort algorithm.} }% }% {1}{(\$)->NonNegativeInteger}{ExpressionSpace} -{\smath{\mbox{\bf height}\opLeftPren{}f\opRightPren{}}, where \smath{f} is an expression, returns the +{\smath{\mbox{\bf height}\opLeftPren{}f\opRightPren{}}, +where \smath{f} is an expression, returns the highest nesting level appearing in \smath{f}. Constants have height 0. Symbols have height 1. @@ -73084,19 +75544,23 @@ For any operator \smath{op} and expressions \smath{f_1}, \ldots, \smath{f_n}, \smath{op(f_1, \ldots, f_n)} has height equal to \smath{1 + max(height(f_1), \ldots, height(f_n))}. -\newitem\smath{\mbox{\bf height}\opLeftPren{}d\opRightPren{}} returns the number of elements in +\newitem\smath{\mbox{\bf height}\opLeftPren{}d\opRightPren{}} +returns the number of elements in dequeue \smath{d}. Note: \smath{\mbox{\bf height}\opLeftPren{}d) = \# d}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{hermiteH}}\opLeftPren{}{\it nonNegativeInteger}, \allowbreak{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{hermiteH}}\opLeftPren{} +{\it nonNegativeInteger}, \allowbreak{}{\it element}\opRightPren{}% }% }% {2}{(NonNegativeInteger, R)->R}{OrthogonalPolynomialFunctions} -{\smath{\mbox{\bf hermiteH}\opLeftPren{}n, \allowbreak{} x\opRightPren{}} is the \eth{\smath{n}} Hermite polynomial, +{\smath{\mbox{\bf hermiteH}\opLeftPren{}n, +\allowbreak{} x\opRightPren{}} is the \eth{\smath{n}} Hermite polynomial, \smath{H[n](x)}, defined by -\smath{\mbox{\bf exp}\opLeftPren{}2 t x-t^2) = \sum\nolimits_{n=0}^\infty{H[n](x)t^n/n!}}. +\smath{\mbox{\bf exp}\opLeftPren{}2 t x-t^2) = \sum +\nolimits_{n=0}^\infty{H[n](x)t^n/n!}}. } % ---------------------------------------------------------------------- @@ -73104,15 +75568,18 @@ Note: \smath{\mbox{\bf height}\opLeftPren{}d) = \# d}. }% }% {0}{()->\$}{CharacterClass} -{\smath{\mbox{\bf hexDigit}\opLeftPren{}\opRightPren{}} returns the class of all characters for which +{\smath{\mbox{\bf hexDigit}\opLeftPren{}\opRightPren{}} +returns the class of all characters for which \spadfunFrom{hexDigit?}{Character} is \smath{true}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{hexDigit?}}\opLeftPren{}{\it character}\opRightPren{}% +\opdata{{\mbox{\axiomFun{hexDigit?}}\opLeftPren{} +{\it character}\opRightPren{}% }% }% {1}{(\$)->Boolean}{Character} -{\smath{\mbox{\bf hexDigit?}\opLeftPren{}c\opRightPren{}} tests if \smath{c} is a hexadecimal numeral, +{\smath{\mbox{\bf hexDigit?}\opLeftPren{}c\opRightPren{}} +tests if \smath{c} is a hexadecimal numeral, that is, one of 0..9, a..\smath{f} or A..\smath{F}.} % ---------------------------------------------------------------------- @@ -73120,7 +75587,8 @@ that is, one of 0..9, a..\smath{f} or A..\smath{F}.} }% }% {1}{(Fraction(Integer))->\$}{HexadecimalExpansion} -{\smath{\mbox{\bf hex}\opLeftPren{}r\opRightPren{}} converts a rational number to a hexadecimal +{\smath{\mbox{\bf hex}\opLeftPren{}r\opRightPren{}} +converts a rational number to a hexadecimal expansion.} % ---------------------------------------------------------------------- @@ -73128,48 +75596,59 @@ expansion.} }% }% {1}{(\$)->S}{SegmentCategory} -{\smath{\mbox{\bf hi}\opLeftPren{}s\opRightPren{}} returns the second endpoint of segment \smath{s}. +{\smath{\mbox{\bf hi}\opLeftPren{}s\opRightPren{}} +returns the second endpoint of segment \smath{s}. For example, \smath{\mbox{\bf hi}\opLeftPren{}l..h) = h}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{horizConcat}}\opLeftPren{}{\it matrix}, \allowbreak{}{\it matrix}\opRightPren{}% +\opdata{{\mbox{\axiomFun{horizConcat}}\opLeftPren{} +{\it matrix}, \allowbreak{}{\it matrix}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{MatrixCategory} -{\smath{\mbox{\bf horizConcat}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} horizontally concatenates two matrices +{\smath{\mbox{\bf horizConcat}\opLeftPren{}x, +\allowbreak{} y\opRightPren{}} horizontally concatenates two matrices with an equal number of rows. The entries of \smath{y} appear to the right of the entries of \smath{x}. -The operation calls \spadfun{error} if the matrices do not have the same number of rows.} +The operation calls \spadfun{error} if the matrices do not have the +same number of rows.} % ---------------------------------------------------------------------- \opdata{{\mbox{\axiomFun{htrigs}}\opLeftPren{}{\it expression}\opRightPren{}% }% }% {1}{(F)->F}{TranscendentalManipulations} -{\smath{\mbox{\bf htrigs}\opLeftPren{}f\opRightPren{}} converts all the exponentials in expression \smath{f} into hyperbolic sines and cosines.} +{\smath{\mbox{\bf htrigs}\opLeftPren{}f\opRightPren{}} converts all +the exponentials in expression \smath{f} into hyperbolic sines and cosines.} % ---------------------------------------------------------------------- \opdata{{\mbox{\axiomFun{hue}}\opLeftPren{}{\it palette}\opRightPren{}% }% }% {1}{(\$)->Color}{Palette} -{\smath{\mbox{\bf hue}\opLeftPren{}p\opRightPren{}} returns the hue field of the indicated palette \smath{p}.} +{\smath{\mbox{\bf hue}\opLeftPren{}p\opRightPren{}} returns +the hue field of the indicated palette \smath{p}.} % ---------------------------------------------------------------------- \opdata{{\mbox{\axiomFun{hue}}\opLeftPren{}{\it color}\opRightPren{}% }% }% {1}{(\$)->Integer}{Color} -{\smath{\mbox{\bf hue}\opLeftPren{}c\opRightPren{}} returns the hue index of the indicated color \smath{c}.} +{\smath{\mbox{\bf hue}\opLeftPren{}c\opRightPren{}} returns +the hue index of the indicated color \smath{c}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{hypergeometric0F1}}\opLeftPren{}{\it complexDF}, \allowbreak{}{\it complexSF}\opRightPren{}% +\opdata{{\mbox{\axiomFun{hypergeometric0F1}}\opLeftPren{} +{\it complexDF}, \allowbreak{}{\it complexSF}\opRightPren{}% }% }% -{2}{(Complex(DoubleFloat), Complex(DoubleFloat))->Complex(DoubleFloat)}{DoubleFloatSpecialFunctions} -{\smath{\mbox{\bf hypergeometric0F1}\opLeftPren{}c, \allowbreak{} z\opRightPren{}} is the hypergeometric function \smath{0F1(c; z)}. +{2}{(Complex(DoubleFloat), Complex(DoubleFloat))->Complex(DoubleFloat)} +{DoubleFloatSpecialFunctions} +{\smath{\mbox{\bf hypergeometric0F1}\opLeftPren{}c, +\allowbreak{} z\opRightPren{}} is the hypergeometric function +\smath{0F1(c; z)}. Arguments \smath{c} and \smath{z} are both either small floats or complex small floats.} % ---------------------------------------------------------------------- @@ -73177,7 +75656,8 @@ or complex small floats.} }% }% {1}{(List(DPoly))->\$}{PolynomialIdeals} -{\smath{\mbox{\bf ideal}\opLeftPren{}polyList\opRightPren{}} constructs the ideal generated by the +{\smath{\mbox{\bf ideal}\opLeftPren{}polyList\opRightPren{}} +constructs the ideal generated by the list of polynomials \smath{polyList}. } @@ -73185,45 +75665,57 @@ list of polynomials \smath{polyList}. % ---------------------------------------------------------------------- \opdata{{\mbox{\axiomFun{imag}}\opLeftPren{}{\it expression}\opRightPren{}% - \optand \mbox{\axiomFun{imagi}}\opLeftPren{}{\it quaternionOrOctonion}\opRightPren{}% + \optand \mbox{\axiomFun{imagi}}\opLeftPren{} +{\it quaternionOrOctonion}\opRightPren{}% \opand \mbox{\axiomFun{imagI}}\opLeftPren{}{\it octonion}\opRightPren{}% }% }% {1}{(\$)->R}{OctonionCategory} -{\smath{\mbox{\bf imag}\opLeftPren{}x\opRightPren{}} extracts the imaginary part of a complex value or +{\smath{\mbox{\bf imag}\opLeftPren{}x\opRightPren{}} extracts the +imaginary part of a complex value or expression \smath{x}. \newitem -\smath{\mbox{\bf imagI}\opLeftPren{}q\opRightPren{}} extracts the \smath{i} part of quaternion \smath{q}. +\smath{\mbox{\bf imagI}\opLeftPren{}q\opRightPren{}} extracts the +\smath{i} part of quaternion \smath{q}. Similarly, operations \spadfun{imagJ}, and \spadfun{imagK} are used to extract the \smath{j} and \smath{k} parts. \newitem -\smath{\mbox{\bf imagi}\opLeftPren{}o\opRightPren{}} extracts the \smath{i} part of octonion \smath{o}. +\smath{\mbox{\bf imagi}\opLeftPren{}o\opRightPren{}} extracts the +\smath{i} part of octonion \smath{o}. Similarly, \spadfun{imagj}, \spadfun{imagk}, \spadfun{imagE}, -\spadfun{imagI}, \spadfun{imagJ}, and \spadfun{imagK} are used to extract other parts. +\spadfun{imagI}, \spadfun{imagJ}, and \spadfun{imagK} are used to extract +other parts. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{implies}}\opLeftPren{}{\it boolean}, \allowbreak{}{\it boolean}\opRightPren{}% +\opdata{{\mbox{\axiomFun{implies}}\opLeftPren{}{\it boolean}, \allowbreak{} +{\it boolean}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{Boolean} -{\smath{\mbox{\bf implies}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} tests if boolean value \smath{a} +{\smath{\mbox{\bf implies}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} +tests if boolean value \smath{a} implies boolean value \smath{b}. The result is \smath{true} except when \smath{a} is \smath{true} and \smath{b} is \smath{false}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{in?}}\opLeftPren{}{\it ideal}, \allowbreak{}{\it ideal}\opRightPren{}% +\opdata{{\mbox{\axiomFun{in?}}\opLeftPren{}{\it ideal}, \allowbreak{} +{\it ideal}\opRightPren{}% }% }% {2}{(\$, \$)->Boolean}{PolynomialIdeals} -{\smath{\mbox{\bf in?}\opLeftPren{}I, \allowbreak{} J\opRightPren{}} tests if the ideal \smath{I} is contained in the ideal \smath{J}. +{\smath{\mbox{\bf in?}\opLeftPren{}I, \allowbreak{} J\opRightPren{}} +tests if the ideal \smath{I} is contained in the ideal \smath{J}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{inHallBasis}}\opLeftPren{}{\it integer}, \allowbreak{}{\it integer}, \allowbreak{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{inHallBasis}}\opLeftPren{} +{\it integer}, \allowbreak{}{\it integer}, \allowbreak{} +{\it integer}, \allowbreak{} +{\it integer}\opRightPren{}% }% }% {4}{(Integer, Integer, Integer, Integer)->Boolean}{HallBasis} @@ -73237,7 +75729,8 @@ the basis if in the unique factorization of \smath{leftOfRight <= leftCandidate}} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{increasePrecision}}\opLeftPren{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{increasePrecision}}\opLeftPren{} +{\it integer}\opRightPren{}% }% }% {1}{(Integer)->PositiveInteger}{FloatingPointSystem} @@ -73246,11 +75739,13 @@ increases the current \spadfunFrom{precision}{FloatingPointSystem} by \smath{n} decimal digits.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{index}}\opLeftPren{}{\it positiveInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{index}}\opLeftPren{} +{\it positiveInteger}\opRightPren{}% }% }% {1}{(PositiveInteger)->\$}{Finite} -{\smath{\mbox{\bf index}\opLeftPren{}i\opRightPren{}} takes a positive integer \smath{i} less than or +{\smath{\mbox{\bf index}\opLeftPren{}i\opRightPren{}} takes a +positive integer \smath{i} less than or equal to \smath{\mbox{\bf size}\opLeftPren{}\opRightPren{}} and returns the \eth{\smath{i}} element of the set. This operation establishes a bijection between @@ -73258,11 +75753,13 @@ the elements of the finite set and \smath{1..{\mbox {\bf size}}()}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{index?}}\opLeftPren{}{\it index}, \allowbreak{}{\it aggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{index?}}\opLeftPren{}{\it index}, +\allowbreak{}{\it aggregate}\opRightPren{}% }% }% {2}{(Index, \$)->Boolean}{IndexedAggregate} -{\smath{\mbox{\bf index?}\opLeftPren{}i, \allowbreak{} u\opRightPren{}} tests if \smath{i} is an index of +{\smath{\mbox{\bf index?}\opLeftPren{}i, \allowbreak{} u\opRightPren{}} +tests if \smath{i} is an index of aggregate \smath{u}. For example, \code{index?(2, [1, 2, 3])} is \smath{true} but \code{index?(4, [1, 2, 3])} is \smath{false}. @@ -73270,22 +75767,27 @@ but \code{index?(4, [1, 2, 3])} is \smath{false}. % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{infieldIntegrate}}\opLeftPren{}{\it rationalFunction}, \allowbreak{}{\it symbol}\opRightPren{}% +\opdata{{\mbox{\axiomFun{infieldIntegrate}}\opLeftPren{} +{\it rationalFunction}, \allowbreak{}{\it symbol}\opRightPren{}% }% }% -{2}{(Fraction(Polynomial(F)), Symbol)->Union(Fraction(Polynomial(F)), "failed")}{RationalFunctionIntegration} -{\smath{\mbox{\bf infieldIntegrate}\opLeftPren{}f, \allowbreak{} x\opRightPren{}}, +{2}{(Fraction(Polynomial(F)), Symbol)-> +Union(Fraction(Polynomial(F)), "failed")}{RationalFunctionIntegration} +{\smath{\mbox{\bf infieldIntegrate}\opLeftPren{}f, +\allowbreak{} x\opRightPren{}}, where \smath{f} is a fraction of polynomials, returns a fraction \smath{g} such that \smath{{dg\over dx} = f} if \smath{g} exists, and \mbox{\tt "failed"} otherwise. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{infinite?}}\opLeftPren{}{\it orderedCompletion}\opRightPren{}% +\opdata{{\mbox{\axiomFun{infinite?}}\opLeftPren{} +{\it orderedCompletion}\opRightPren{}% }% }% {1}{(\$)->Boolean}{OrderedCompletion} -{\smath{\mbox{\bf infinite?}\opLeftPren{}x\opRightPren{}} tests if \smath{x} is infinite, +{\smath{\mbox{\bf infinite?}\opLeftPren{}x\opRightPren{}} tests +if \smath{x} is infinite, where \smath{x} is a member of the ordered completion of a domain. \seeType{OrderedCompletion}} @@ -73295,14 +75797,17 @@ completion of a domain. }% }% {0}{()->OnePointCompletion(Integer)}{Infinity} -{\smath{\mbox{\bf infinity}\opLeftPren{}\opRightPren{}} returns \smath{infinity} +{\smath{\mbox{\bf infinity}\opLeftPren{}\opRightPren{}} returns +\smath{infinity} denoting \smath{+\infty} as a one point completion of the integers. \seeType{OnePointCompletion} See also \spadfun{minusInfinity} and \spadfun{plusInfinitity}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{infix}}\opLeftPren{}{\it outputForm}, \allowbreak{}{\it outputForms}\allowbreak $\,[$ , \allowbreak{}{\it OutputForm}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{infix}}\opLeftPren{}{\it outputForm}, +\allowbreak{}{\it outputForms}\allowbreak $\,[$ , +\allowbreak{}{\it OutputForm}$]$\opRightPren{}% }% }% {}{}{} @@ -73312,114 +75817,146 @@ and \smath{lo} is a list of objects of type \spadtype{OutputForm}, creates a form depicting the \smath{n}ary application of infix operation \smath{o} to a tuple of arguments \smath{lo}. \newitem -\smath{\mbox{\bf infix}\opLeftPren{}o, \allowbreak{} a, \allowbreak{} b\opRightPren{}}, -where \smath{o}, \smath{a}, and \smath{b} are objects of type \spadtype{OutputForm} (normally unexposed), +\smath{\mbox{\bf infix}\opLeftPren{}o, \allowbreak{} a, +\allowbreak{} b\opRightPren{}}, +where \smath{o}, \smath{a}, and \smath{b} are objects of type +\spadtype{OutputForm} (normally unexposed), creates an output form which displays as: \smath{a\ {\rm op}\ b}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{initial}}\opLeftPren{}{\it differentialPolynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{initial}}\opLeftPren{} +{\it differentialPolynomial}\opRightPren{}% }% }% {1}{(\$)->\$}{DifferentialPolynomialCategory} -{\smath{\mbox{\bf initial}\opLeftPren{}p\opRightPren{}} returns the leading coefficient of +{\smath{\mbox{\bf initial}\opLeftPren{}p\opRightPren{}} returns the +leading coefficient of differential polynomial \smath{p} expressed as a univariate polynomial in its leader.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{initializeGroupForWordProblem}}\opLeftPren{}{\it group\opt{, integer, integer}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{initializeGroupForWordProblem}}\opLeftPren{} +{\it group\opt{, integer, integer}}\opRightPren{}% }% }% {1}{(\$)->Void}{PermutationGroup} -{\smath{\mbox{\bf initializeGroupForWordProblem}\opLeftPren{}gp \optinner{, n, m}\opRightPren{}} +{\smath{\mbox{\bf initializeGroupForWordProblem} +\opLeftPren{}gp \optinner{, n, m}\opRightPren{}} initializes the group {\it gp} for the word problem. \seeDetails{PermutationGroup} } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{input}}\opLeftPren{}{\it operator\opt{, function}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{input}}\opLeftPren{} +{\it operator\opt{, function}}\opRightPren{}% }% }% {1}{(\$)->Union((List(InputForm))->InputForm, "failed")}{BasicOperator} -{\smath{\mbox{\bf input}\opLeftPren{}op\opRightPren{}} returns the \mbox{\tt "\%input"} property of \smath{op} +{\smath{\mbox{\bf input}\opLeftPren{}op\opRightPren{}} returns the +\mbox{\tt "\%input"} property of \smath{op} if it has one attached, and \mbox{\tt "failed"} otherwise. \newitem -\smath{\mbox{\bf input}\opLeftPren{}op, \allowbreak{} f\opRightPren{}} attaches \smath{f} as the \mbox{\tt "\%input"} property +\smath{\mbox{\bf input}\opLeftPren{}op, \allowbreak{} f\opRightPren{}} +attaches \smath{f} as the \mbox{\tt "\%input"} property of \smath{op}. -If \smath{op} has a \mbox{\tt "\%input"} property \smath{f}, then \smath{op(a1, \ldots, an)} is +If \smath{op} has a \mbox{\tt "\%input"} property \smath{f}, then +\smath{op(a1, \ldots, an)} is converted to InputForm using \smath{f(a1, \ldots, an)}. Argument f must be a function with signature \spadsig{List(InputForm)}{InputForm}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{inRadical?}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it ideal}\opRightPren{}% +\opdata{{\mbox{\axiomFun{inRadical?}}\opLeftPren{}{\it polynomial}, +\allowbreak{}{\it ideal}\opRightPren{}% }% }% {2}{(DPoly, \$)->Boolean}{PolynomialIdeals} -{\smath{\mbox{\bf inRadical?}\opLeftPren{}f, \allowbreak{} I\opRightPren{}} tests if some power of the polynomial \smath{f} belongs to the ideal \smath{I}. +{\smath{\mbox{\bf inRadical?}\opLeftPren{}f, \allowbreak{} I\opRightPren{}} +tests if some power of the polynomial \smath{f} belongs to the ideal \smath{I}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{insert}}\opLeftPren{}{\it x}, \allowbreak{}{\it aggregate}\allowbreak $\,[$ , \allowbreak{}{\it integer}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{insert}}\opLeftPren{}{\it x}, \allowbreak{} +{\it aggregate}\allowbreak $\,[$ , +\allowbreak{}{\it integer}$]$\opRightPren{}% }% }% {3}{(S, \$, Integer)->\$}{LinearAggregate} -{\smath{\mbox{\bf insert}\opLeftPren{}x, \allowbreak{} u, \allowbreak{} i\opRightPren{}} returns a copy of \smath{u} having +{\smath{\mbox{\bf insert}\opLeftPren{}x, \allowbreak{} u, +\allowbreak{} i\opRightPren{}} returns a copy of \smath{u} having \smath{x} as its \eth{\smath{i}} element. -\newitem\smath{\mbox{\bf insert}\opLeftPren{}v, \allowbreak{} u, \allowbreak{} k\opRightPren{}} returns a copy of \smath{u} having \smath{v} +\newitem\smath{\mbox{\bf insert}\opLeftPren{}v, \allowbreak{} u, +\allowbreak{} k\opRightPren{}} returns a copy of \smath{u} having \smath{v} inserted beginning at the \eth{\smath{i}} element. \newitem -\smath{\mbox{\bf insert!}\opLeftPren{}x, \allowbreak{} u\opRightPren{}} destructively inserts item \smath{x} into +\smath{\mbox{\bf insert!}\opLeftPren{}x, \allowbreak{} u\opRightPren{}} +destructively inserts item \smath{x} into bag \smath{u}. \newitem -\smath{\mbox{\bf insert!}\opLeftPren{}x, \allowbreak{} u\opRightPren{}} destructively inserts item \smath{x} as a +\smath{\mbox{\bf insert!}\opLeftPren{}x, \allowbreak{} u\opRightPren{}} +destructively inserts item \smath{x} as a leaf into binary search tree or binary tournament \spad{u}. \newitem -\smath{\mbox{\bf insert!}\opLeftPren{}x, \allowbreak{} u, \allowbreak{} i\opRightPren{}} destructively inserts \smath{x} into +\smath{\mbox{\bf insert!}\opLeftPren{}x, \allowbreak{} u, +\allowbreak{} i\opRightPren{}} destructively inserts \smath{x} into aggregate \smath{u} at position \smath{i}. \newitem -\smath{\mbox{\bf insert!}\opLeftPren{}v, \allowbreak{} u, \allowbreak{} i\opRightPren{}} destructively inserts aggregate \smath{v} +\smath{\mbox{\bf insert!}\opLeftPren{}v, \allowbreak{} u, +\allowbreak{} i\opRightPren{}} destructively inserts aggregate \smath{v} into \smath{u} at position \smath{i}. \newitem -\smath{\mbox{\bf insert!}\opLeftPren{}x, \allowbreak{} d, \allowbreak{} n\opRightPren{}} destructively inserts \smath{n} copies of +\smath{\mbox{\bf insert!}\opLeftPren{}x, \allowbreak{} d, +\allowbreak{} n\opRightPren{}} destructively inserts \smath{n} copies of \smath{x} into dictionary \smath{d}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{insertBottom!}}\opLeftPren{}{\it element}, \allowbreak{}{\it queue}\opRightPren{}% +\opdata{{\mbox{\axiomFun{insertBottom!}}\opLeftPren{} +{\it element}, \allowbreak{}{\it queue}\opRightPren{}% }% }% {2}{(S, \$)->S}{DequeueAggregate} -{\smath{\mbox{\bf insertBottom!}\opLeftPren{}x, \allowbreak{} d\opRightPren{}} destructively inserts \smath{x} into the dequeue \smath{d} at the bottom (back) of the dequeue. +{\smath{\mbox{\bf insertBottom!}\opLeftPren{}x, +\allowbreak{} d\opRightPren{}} destructively inserts \smath{x} +into the dequeue \smath{d} at the +bottom (back) of the dequeue. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{insertTop!}}\opLeftPren{}{\it element}, \allowbreak{}{\it dequeue}\opRightPren{}% +\opdata{{\mbox{\axiomFun{insertTop!}}\opLeftPren{}{\it element}, +\allowbreak{}{\it dequeue}\opRightPren{}% }% }% {2}{(S, \$)->S}{DequeueAggregate} -{\smath{\mbox{\bf insertTop!}\opLeftPren{}x, \allowbreak{} d\opRightPren{}} destructively inserts \smath{x} into the dequeue \smath{d} -at the top (front). The element previously at the top of the dequeue becomes the second in the dequeue, and so on. +{\smath{\mbox{\bf insertTop!}\opLeftPren{}x, \allowbreak{} d\opRightPren{}} +destructively inserts \smath{x} into the dequeue \smath{d} +at the top (front). The element previously at the top of the +dequeue becomes the second in the dequeue, and so on. } % ---------------------------------------------------------------------- \opdata{{\mbox{\axiomFun{integer}}\opLeftPren{}{\it expression}\opRightPren{}% \optand \mbox{\axiomFun{integer?}}\opLeftPren{}{\it expression}\opRightPren{}% - \opand \mbox{\axiomFun{integerIfCan}}\opLeftPren{}{\it expression}\opRightPren{}% + \opand \mbox{\axiomFun{integerIfCan}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(S)->Boolean}{IntegerRetractions} -{\smath{\mbox{\bf integer}\opLeftPren{}x\opRightPren{}} returns \smath{x} as an integer, or calls \spadfun{error} +{\smath{\mbox{\bf integer}\opLeftPren{}x\opRightPren{}} returns +\smath{x} as an integer, or calls \spadfun{error} if this is not possible. \newitem -\smath{\mbox{\bf integer?}\opLeftPren{}x\opRightPren{}} tests if expression \smath{x} is an integer. +\smath{\mbox{\bf integer?}\opLeftPren{}x\opRightPren{}} tests +if expression \smath{x} is an integer. \newitem -\smath{\mbox{\bf integerIfCan}\opLeftPren{}x\opRightPren{}} returns expression x as of type \spadtype{Integer} +\smath{\mbox{\bf integerIfCan}\opLeftPren{}x\opRightPren{}} +returns expression x as of type \spadtype{Integer} or else \mbox{\tt "failed"} if it cannot. } @@ -73428,21 +75965,26 @@ or else \mbox{\tt "failed"} if it cannot. }% }% {1}{(\$)->Integer}{RealNumberSystem} -{\smath{\mbox{\bf integerPart}\opLeftPren{}fl\opRightPren{}} returns the integer part of the +{\smath{\mbox{\bf integerPart}\opLeftPren{}fl\opRightPren{}} +returns the integer part of the mantissa of float \smath{fl}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{integral}}\opLeftPren{}{\it expression}, \allowbreak{}{\it symbol}\opRightPren{}% - \opand \mbox{\axiomFun{integral}}\opLeftPren{}{\it expression}, \allowbreak{}{\it segmentBinding}\opRightPren{}% +\opdata{{\mbox{\axiomFun{integral}}\opLeftPren{} +{\it expression}, \allowbreak{}{\it symbol}\opRightPren{}% + \opand \mbox{\axiomFun{integral}}\opLeftPren{} +{\it expression}, \allowbreak{}{\it segmentBinding}\opRightPren{}% }% }% {2}{(\$, SegmentBinding(\$))->\$}{PrimitiveFunctionCategory} -{\smath{\mbox{\bf integral}\opLeftPren{}f, \allowbreak{} x\opRightPren{}} returns the formal integral \smath{\int {f dx}}. +{\smath{\mbox{\bf integral}\opLeftPren{}f, +\allowbreak{} x\opRightPren{}} returns the formal integral \smath{\int {f dx}}. \newitem -\smath{\mbox{\bf integral}\opLeftPren{}f, \allowbreak{} x = a..b\opRightPren{}} returns the formal definite integral +\smath{\mbox{\bf integral}\opLeftPren{}f, +\allowbreak{} x = a..b\opRightPren{}} returns the formal definite integral \smath{\int\nolimits_a^b{f(x) dx}}. } @@ -73454,37 +75996,45 @@ mantissa of float \smath{fl}.} {0}{()->Vector(\$)}{FunctionFieldCategory} {\opkey{Domain \smath{F} is the domain of functions on a fixed curve. \seeType{FunctionFieldCategory}} -\newitem\smath{\mbox{\bf integralBasisAtInfinity}\opLeftPren{}\opRightPren{}\$F} returns the local +\newitem\smath{\mbox{\bf integralBasisAtInfinity}\opLeftPren{} +\opRightPren{}\$F} returns the local integral basis at infinity. -\newitem\smath{\mbox{\bf integralBasis}\opLeftPren{}\opRightPren{}\$F} returns the integral basis for +\newitem\smath{\mbox{\bf integralBasis}\opLeftPren{}\opRightPren{}\$F} +returns the integral basis for the curve. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{integralCoordinates}}\opLeftPren{}{\it function}\opRightPren{}% +\opdata{{\mbox{\axiomFun{integralCoordinates}}\opLeftPren{} +{\it function}\opRightPren{}% }% }% {1}{(\$)->Record(num:Vector(UP), den:UP)}{FunctionFieldCategory} {\smath{\mbox{\bf integralCoordinates}\opLeftPren{}f\opRightPren{}}, where \smath{f} is a function on a curve defined by domain \smath{F}, -returns the coordinates of \smath{f} with respect to the \smath{\mbox{\bf integralBasis}\opLeftPren{}\opRightPren{}\$F} +returns the coordinates of \smath{f} with respect to the +\smath{\mbox{\bf integralBasis}\opLeftPren{}\opRightPren{}\$F} as polynomials \smath{A_i} together with a common denominator \smath{d}. Specifically, the operation returns a record having selector \smath{num} with value \smath{[A_1, \ldots, A_n]} and selector \smath{den} with value \smath{d} such that -\smath{f = (A_1 w_1 +\ldots+ A_n w_n) / d} where \smath{(w_1, \ldots, w_n)} is the +\smath{f = (A_1 w_1 +\ldots+ A_n w_n) / d} where +\smath{(w_1, \ldots, w_n)} is the integral basis. \seeType{FunctionFieldCategory} } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{integralDerivationMatrix}}\opLeftPren{}{\it function}\opRightPren{}% +\opdata{{\mbox{\axiomFun{integralDerivationMatrix}}\opLeftPren{} +{\it function}\opRightPren{}% }% }% {1}{((UP)->UP)->Record(num:Matrix(UP), den:UP)}{FunctionFieldCategory} -{\smath{\mbox{\bf integralDerivationMatrix}\opLeftPren{}d\opRightPren{}} extends the derivation \smath{d} and +{\smath{\mbox{\bf integralDerivationMatrix}\opLeftPren{}d\opRightPren{}} +extends the derivation \smath{d} and returns the coordinates of the derivative of \smath{f} with respect to -the \smath{\mbox{\bf integralBasis}\opLeftPren{}\opRightPren{}\$F} as a matrix of polynomials and a common denominator \smath{Q}. +the \smath{\mbox{\bf integralBasis}\opLeftPren{}\opRightPren{}\$F} +as a matrix of polynomials and a common denominator \smath{Q}. Specifically, the operation returns a record having selector \smath{num} with value \smath{M} and selector \smath{den} with value \smath{Q} such that @@ -73501,28 +76051,34 @@ coordinates of \smath{f} with respect to integral basis }% {0}{()->Matrix(Fraction(UP))}{FunctionFieldCategory} {\opkey{Domain \smath{F} is a domain of functions on a fixed curve. These -operations return a matrix which transform the natural basis to an integral basis. +operations return a matrix which transform the natural basis to an +integral basis. \seeType{FunctionFieldCategory} } \newitem -\smath{\mbox{\bf integralMatrix}\opLeftPren{}\opRightPren{}} returns \smath{M} such that +\smath{\mbox{\bf integralMatrix}\opLeftPren{}\opRightPren{}} returns +\smath{M} such that \smath{(w_1, \ldots, w_n) = M (1, y, \ldots, y^{n-1})}, where \smath{(w_1, \ldots, w_n)} is the integral basis returned by \smath{\mbox{\bf integralBasis}\opLeftPren{}\opRightPren{}\$F}. \newitem -\smath{\mbox{\bf integralMatrixAtInfinity}\opLeftPren{}\opRightPren{}\$F} returns matrix \smath{M} +\smath{\mbox{\bf integralMatrixAtInfinity}\opLeftPren{}\opRightPren{}\$F} +returns matrix \smath{M} which transforms the natural basis such that \smath{(v_1, \ldots, v_n) = M (1, y, \ldots, y^{n-1})} where \smath{(v_1, \ldots, v_n)} is the local integral basis at -infinity returned by \smath{\mbox{\bf integralBasisAtInfinity}\opLeftPren{}\opRightPren{}\$F}. +infinity returned by \smath{\mbox{\bf integralBasisAtInfinity} +\opLeftPren{}\opRightPren{}\$F}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{integralRepresents}}\opLeftPren{}{\it vector}, \allowbreak{}{\it commonDenominator}\opRightPren{}% +\opdata{{\mbox{\axiomFun{integralRepresents}} +\opLeftPren{}{\it vector}, \allowbreak{}{\it commonDenominator}\opRightPren{}% }% }% {2}{(Vector(UP), UP)->\$}{FunctionFieldCategory} -{\smath{\mbox{\bf integralRepresents}\opLeftPren{}[A_1, \allowbreak{} \ldots, A_n], d\opRightPren{}} is the inverse +{\smath{\mbox{\bf integralRepresents}\opLeftPren{} +[A_1, \allowbreak{} \ldots, A_n], d\opRightPren{}} is the inverse of the operation \spadfunFrom{integralCoordinates}{FunctionFieldCategory} defined for domain \smath{F}, a domain of functions on a fixed curve. Given @@ -73530,20 +76086,28 @@ the coordinates as polynomials \smath{[A_1, \ldots, A_n]} over a common denominator \smath{d}, this operation returns the function represented as\smath{(A_1 w_1+\ldots+A_n w_n)/d} where \smath{(w_1, \ldots, w_n)} is the integral basisreturned by -\smath{\mbox{\bf integralBasis}\opLeftPren{}\opRightPren{}\$F}.\seeType{FunctionFieldCategory}} +\smath{\mbox{\bf integralBasis}\opLeftPren{}\opRightPren{}\$F}. +\seeType{FunctionFieldCategory}} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{integrate}}\opLeftPren{}{\it expression}\opRightPren{}% - \opand \mbox{\axiomFun{integrate}}\opLeftPren{}{\it expression}, \allowbreak{}{\it variable }\allowbreak $\,[$ , \allowbreak{}{\it options}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{integrate}}\opLeftPren{} +{\it expression}\opRightPren{}% + \opand \mbox{\axiomFun{integrate}}\opLeftPren{} +{\it expression}, \allowbreak{}{\it variable } +\allowbreak $\,[$ , \allowbreak{} +{\it options}$]$\opRightPren{}% }% }% {1}{(\$)->\$}{UnivariatePolynomialCategory} -{\smath{\mbox{\bf integrate}\opLeftPren{}f\opRightPren{}} returns the integral of a +{\smath{\mbox{\bf integrate}\opLeftPren{}f\opRightPren{}} +returns the integral of a univariate polynomial or power series \smath{f} with respect to its distinguished variable. -\newitem\smath{\mbox{\bf integrate}\opLeftPren{}f, \allowbreak{} x\opRightPren{}} returns the integral of +\newitem\smath{\mbox{\bf integrate}\opLeftPren{}f, +\allowbreak{} x\opRightPren{}} returns the integral of \smath{f(x)dx}, where \smath{x} is viewed as a real variable. -\newitem\smath{\mbox{\bf integrate}\opLeftPren{}f, \allowbreak{} x = a..b\optinner{, "noPole"}\opRightPren{}} +\newitem\smath{\mbox{\bf integrate}\opLeftPren{}f, +\allowbreak{} x = a..b\optinner{, "noPole"}\opRightPren{}} returns the integral of \smath{f(x)dx} from \smath{a} to \smath{b}. If it is not possible to check whether \smath{f} has a pole for \smath{x} between \smath{a} and \smath{b}, then a third argument @@ -73552,15 +76116,13 @@ has no such pole.This operation calls \spadfun{error} if \smath{f} has a pole for \smath{x} between \smath{a} and \smath{b} or if a third argument different from \mbox{\tt "noPole"} is given.} - - - % ---------------------------------------------------------------------- \opdata{{\mbox{\axiomFun{interpret}}\opLeftPren{}{\it inputForm}\opRightPren{}% }% }% { $ -> Any}{}{} -{\smath{\mbox{\bf interpret}\opLeftPren{}f\opRightPren{}} passes f of type \spadtype{InputForm} to the interpreter. +{\smath{\mbox{\bf interpret}\opLeftPren{}f\opRightPren{}} +passes f of type \spadtype{InputForm} to the interpreter. \newitem \smath{\mbox{\bf interpret}\opLeftPren{}f\opRightPren{}\$P}, where \smath{P} is the package \spadtype{InputFormFunctions1(R)} for @@ -73570,7 +76132,8 @@ and transforms the result into an object of type \smath{R}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{intersect}}\opLeftPren{}{\it elements\opt{, element}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{intersect}}\opLeftPren{} +{\it elements\opt{, element}}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{SetAggregate} @@ -73594,7 +76157,8 @@ computes the intersection of the ideals \smath{I} and \smath{J}. }% }% {1}{(\$)->\$}{DivisionRing} -{\smath{\mbox{\bf inv}\opLeftPren{}x\opRightPren{}} returns the multiplicative inverse of \smath{x}, +{\smath{\mbox{\bf inv}\opLeftPren{}x\opRightPren{}} +returns the multiplicative inverse of \smath{x}, where \smath{x} is an element of a domain of category \spadtype{Group} or \spadtype{DivisionRing}, or calls \spadfun{error} if \smath{x} is 0. @@ -73605,17 +76169,23 @@ where \smath{x} is an element of a domain of category \spadtype{Group} or }% }% {1}{(\$)->Union(\$, "failed")}{MatrixCategory} -{\smath{\mbox{\bf inverse}\opLeftPren{}A\opRightPren{}} returns the inverse of the matrix \smath{A}, or -\mbox{\tt "failed"} if the matrix is not invertible, or calls \spadfun{error} if +{\smath{\mbox{\bf inverse}\opLeftPren{}A\opRightPren{}} +returns the inverse of the matrix \smath{A}, or +\mbox{\tt "failed"} if the matrix is not invertible, +or calls \spadfun{error} if the matrix is not square. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{inverseColeman}}\opLeftPren{}{\it listOfIntegers}, \allowbreak{}{\it listOfIntegers}, \allowbreak{}{\it matrix}\opRightPren{}% +\opdata{{\mbox{\axiomFun{inverseColeman}}\opLeftPren{} +{\it listOfIntegers}, \allowbreak{} +{\it listOfIntegers}, \allowbreak{}{\it matrix}\opRightPren{}% }% }% -{3}{(List(Integer), List(Integer), Matrix(Integer))->List(Integer)}{SymmetricGroupCombinatoricFunctions} -{\smath{\mbox{\bf inverseColeman}\opLeftPren{}alpha, \allowbreak{} beta, \allowbreak{} C\opRightPren{}} +{3}{(List(Integer), List(Integer), Matrix(Integer))-> +List(Integer)}{SymmetricGroupCombinatoricFunctions} +{\smath{\mbox{\bf inverseColeman}\opLeftPren{}alpha, +\allowbreak{} beta, \allowbreak{} C\opRightPren{}} returns the lexicographically smallest permutation in a double coset of the symmetric group corresponding to a non-negative Coleman-matrix. @@ -73623,8 +76193,10 @@ corresponding to a non-negative Coleman-matrix. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{inverseIntegralMatrix}}\opLeftPren{}\opRightPren{}% - \opand \mbox{\axiomFun{inverseIntegralMatrixAtInfinity}}\opLeftPren{}\opRightPren{}% +\opdata{{\mbox{\axiomFun{inverseIntegralMatrix}}\opLeftPren{} +\opRightPren{} +\opand \mbox{\axiomFun{inverseIntegralMatrixAtInfinity}} +\opLeftPren{}\opRightPren{}% }% }% {0}{()->Matrix(Fraction(UP))}{FunctionFieldCategory} @@ -73633,12 +76205,14 @@ curve. These operations return a matrix which transform an integral basis to a natural basis. \seeType{FunctionFieldCategory}} -\newitem\smath{\mbox{\bf inverseIntegralMatrix}\opLeftPren{}\opRightPren{}\$F} returns \smath{M} such +\newitem\smath{\mbox{\bf inverseIntegralMatrix}\opLeftPren{} +\opRightPren{}\$F} returns \smath{M} such that \smath{M (w_1, \ldots, w_n) = (1, y, \ldots, y^{n-1})} where \smath{(w_1, \ldots, w_n)} is the integral basis returned by \smath{\mbox{\bf integralBasis}\opLeftPren{}\opRightPren{}\$F}. See also \spadfunFrom{integralMatrix}{FunctionFieldCategory}. -\newitem \smath{\mbox{\bf inverseIntegralMatrixAtInfinity}\opLeftPren{}\opRightPren{}} returns +\newitem \smath{\mbox{\bf inverseIntegralMatrixAtInfinity}\opLeftPren{} +\opRightPren{}} returns \smath{M} such that \smath{M (v_1, \ldots, v_n) = (1, y, \ldots, y^(n-1))} where \smath{(v_1, \ldots, v_n)} is the local integral basis at infinity returned by @@ -73648,21 +76222,25 @@ See also } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{inverseLaplace}}\opLeftPren{}{\it expression}, \allowbreak{}{\it symbol}, \allowbreak{}{\it symbol}\opRightPren{}% +\opdata{{\mbox{\axiomFun{inverseLaplace}}\opLeftPren{}{\it expression}, +\allowbreak{}{\it symbol}, \allowbreak{}{\it symbol}\opRightPren{}% }% }% {3}{(F, Symbol, Symbol)->Union(F, "failed")}{InverseLaplaceTransform} -{\smath{\mbox{\bf inverseLaplace}\opLeftPren{}f, \allowbreak{} s, \allowbreak{} t\opRightPren{}} returns the Inverse Laplace +{\smath{\mbox{\bf inverseLaplace}\opLeftPren{}f, \allowbreak{} s, +\allowbreak{} t\opRightPren{}} returns the Inverse Laplace transform of \smath{f(s)} using \smath{t} as the new variable, or \mbox{\tt "failed"} if unable to find a closed form. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{invmod}}\opLeftPren{}{\it positiveInteger}, \allowbreak{}{\it positiveInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{invmod}}\opLeftPren{}{\it positiveInteger}, +\allowbreak{}{\it positiveInteger}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{IntegerNumberSystem} -{\smath{\mbox{\bf invmod}\opLeftPren{}a, \allowbreak{} b\opRightPren{}}, for relatively prime positive integers \smath{a} and \smath{b} +{\smath{\mbox{\bf invmod}\opLeftPren{}a, \allowbreak{} b\opRightPren{}}, +for relatively prime positive integers \smath{a} and \smath{b} such that \smath{a < b}, returns \smath{1/a \mod b}. } @@ -73672,36 +76250,42 @@ such that \smath{a < b}, returns \smath{1/a \mod b}. }% }% {1}{(\$)->String}{FileCategory} -{\smath{\mbox{\bf iomode}\opLeftPren{}f\opRightPren{}} returns the status of the file \smath{f} +{\smath{\mbox{\bf iomode}\opLeftPren{}f\opRightPren{}} returns the +status of the file \smath{f} as one of the following strings: {\tt "input", "output"} or {\tt "closed".} } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{irreducible?}}\opLeftPren{}{\it polynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{irreducible?}}\opLeftPren{} +{\it polynomial}\opRightPren{}% }% }% {1}{(FP)->Boolean}{DistinctDegreeFactorize} -{\smath{\mbox{\bf irreducible?}\opLeftPren{}p\opRightPren{}} tests whether the polynomial \smath{p} is irreducible. +{\smath{\mbox{\bf irreducible?}\opLeftPren{}p\opRightPren{}} +tests whether the polynomial \smath{p} is irreducible. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{irreducibleFactor}}\opLeftPren{}{\it element}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{irreducibleFactor}}\opLeftPren{} +{\it element}, \allowbreak{}{\it integer}\opRightPren{}% }% }% {2}{(R, Integer)->\$}{Factored} -{\smath{\mbox{\bf irreducibleFactor}\opLeftPren{}base, \allowbreak{} exponent\opRightPren{}} creates a factored +{\smath{\mbox{\bf irreducibleFactor}\opLeftPren{}base, \allowbreak{} +exponent\opRightPren{}} creates a factored object with a single factor whose \smath{base} is asserted to be irreducible (flag = \mbox{\tt "irred"}). } - - % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{irreducibleRepresentation}}\opLeftPren{}{\it listOfIntegers\opt{, permutations}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{irreducibleRepresentation}}\opLeftPren{} +{\it listOfIntegers\opt{, permutations}}\opRightPren{}% }% }% -{2}{(List(Integer), Permutation(Integer))->Matrix(Integer)}{irreducibleRepresentationPackage} -{\smath{\mbox{\bf irreducibleRepresentation}\opLeftPren{}lambda\optinner{, pi}\opRightPren{}} returns +{2}{(List(Integer), Permutation(Integer))->Matrix(Integer)} +{irreducibleRepresentationPackage} +{\smath{\mbox{\bf irreducibleRepresentation}\opLeftPren{}lambda +\optinner{, pi}\opRightPren{}} returns a matrix giving the irreducible representation corresponding to partition \smath{lambda}, represented as a list of integers, in Young's natural form of the permutation \smath{pi} in the @@ -73713,33 +76297,39 @@ the following two generators of the symmetric group, namely } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{is?}}\opLeftPren{}{\it expression}, \allowbreak{}{\it pattern}\opRightPren{}% +\opdata{{\mbox{\axiomFun{is?}}\opLeftPren{}{\it expression}, \allowbreak{} +{\it pattern}\opRightPren{}% }% }% {2}{(\$, BasicOperator)->Boolean}{ExpressionSpace} -{\smath{\mbox{\bf is?}\opLeftPren{}expr, \allowbreak{} pat\opRightPren{}} tests if the expression \smath{expr} matches the pattern \smath{pat}. +{\smath{\mbox{\bf is?}\opLeftPren{}expr, \allowbreak{} pat\opRightPren{}} +tests if the expression \smath{expr} matches the pattern \smath{pat}. \newitem -\smath{\mbox{\bf is?}\opLeftPren{}expression, \allowbreak{} op\opRightPren{}} tests if \smath{expression} is a kernel and is its operator is op. +\smath{\mbox{\bf is?}\opLeftPren{}expression, \allowbreak{} op\opRightPren{}} +tests if \smath{expression} is a kernel and is its operator is op. } - - % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{isAbsolutelyIrreducible?}}\opLeftPren{}{\it listOfMatrices}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{isAbsolutelyIrreducible?}}\opLeftPren{} +{\it listOfMatrices}, \allowbreak{}{\it integer}\opRightPren{}% }% }% {2}{(List(Matrix(R)), Integer)->Boolean}{RepresentationPackage2} -{\smath{\mbox{\bf isAbsolutelyIrreducible?}\opLeftPren{}aG, \allowbreak{} numberOfTries\opRightPren{}} uses Norton's irreducibility +{\smath{\mbox{\bf isAbsolutelyIrreducible?}\opLeftPren{}aG, \allowbreak{} +numberOfTries\opRightPren{}} uses Norton's irreducibility test to check for absolute irreduciblity. \seeDetails{RepresentationPackage2} } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{isExpt}}\opLeftPren{}{\it expression\opt{, operator}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{isExpt}}\opLeftPren{} +{\it expression\opt{, operator}}\opRightPren{}% }% }% -{1}{(\$)->Union(Record(var:Kernel(\$), exponent:Integer), "failed")}{FunctionSpace} -{\smath{\mbox{\bf isExpt}\opLeftPren{}p\optinner{, op}\opRightPren{}} returns a record with two fields: +{1}{(\$)->Union(Record(var:Kernel(\$), exponent:Integer), "failed")} +{FunctionSpace} +{\smath{\mbox{\bf isExpt}\opLeftPren{}p\optinner{, op}\opRightPren{}} +returns a record with two fields: \smath{var} denoting a kernel \smath{x}, and \smath{exponent} denoting an integer \smath{n}, if expression \smath{p} @@ -73762,19 +76352,24 @@ and \mbox{\tt "failed"} if this is not possible. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{isobaric?}}\opLeftPren{}{\it differentialPolynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{isobaric?}}\opLeftPren{} +{\it differentialPolynomial}\opRightPren{}% }% }% {1}{(\$)->Boolean}{DifferentialPolynomialCategory} -{\smath{\mbox{\bf isobaric?}\opLeftPren{}p\opRightPren{}} tests if every differential monomial appearing in the differential polynomial \smath{p} has the same weight.} +{\smath{\mbox{\bf isobaric?}\opLeftPren{}p\opRightPren{}} +tests if every differential monomial appearing in the differential polynomial +\smath{p} has the same weight.} % ---------------------------------------------------------------------- \opdata{{\mbox{\axiomFun{isPlus}}\opLeftPren{}{\it expression}\opRightPren{}% }% }% {1}{(\$)->Union(List(\$), "failed")}{FunctionSpace} -{\smath{\mbox{\bf isPlus}\opLeftPren{}p\opRightPren{}} returns \smath{[m_1, \ldots, m_n]} if -\smath{p} has the form \smath{m_1 +\ldots+ m_n} for \smath{n > 1} and \smath{m_i \not= 0}, +{\smath{\mbox{\bf isPlus}\opLeftPren{}p\opRightPren{}} +returns \smath{[m_1, \ldots, m_n]} if +\smath{p} has the form \smath{m_1 +\ldots+ m_n} for +\smath{n > 1} and \smath{m_i \not= 0}, and \mbox{\tt "failed"} if this is not possible. } @@ -73783,7 +76378,8 @@ and \mbox{\tt "failed"} if this is not possible. }% }% {1}{(\$)->Union(List(\$), "failed")}{FunctionSpace} -{\smath{\mbox{\bf isTimes}\opLeftPren{}p\opRightPren{}} returns \smath{[a_1, \ldots, a_n]} if +{\smath{\mbox{\bf isTimes}\opLeftPren{}p\opRightPren{}} +returns \smath{[a_1, \ldots, a_n]} if \smath{p} has the form \smath{a_1*\ldots*a_n} for \smath{n > 1} and \smath{m_i \not= 1}, and \mbox{\tt "failed"} if this is not possible. @@ -73791,10 +76387,12 @@ and \mbox{\tt "failed"} if this is not possible. % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{Is}}\opLeftPren{}{\it subject}, \allowbreak{}{\it pattern}\opRightPren{}% +\opdata{{\mbox{\axiomFun{Is}}\opLeftPren{} +{\it subject}, \allowbreak{}{\it pattern}\opRightPren{}% }% }% -{2}{(List(Subject), Pat)->PatternMatchListResult(Base, Subject, List(Subject))}{PatternMatch} +{2}{(List(Subject), Pat)-> +PatternMatchListResult(Base, Subject, List(Subject))}{PatternMatch} {\smath{Is(expr, pat)} matches the pattern \smath{pat} on the expression \smath{expr} and returns a list of matches \smath{[v_1 = e_1, \ldots, v_n = e_n]} or \mbox{\tt "failed"} if matching @@ -73804,15 +76402,18 @@ to \smath{pat} or if \smath{pat} does not match \smath{expr}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{jacobi}}\opLeftPren{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{jacobi}}\opLeftPren{}{\it integer}, +\allowbreak{}{\it integer}\opRightPren{}% }% }% {2}{(Integer, Integer)->Integer}{IntegerNumberTheoryFunctions} -{\smath{\mbox{\bf jacobi}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} returns the Jacobi symbol \smath{J(a/b)}. +{\smath{\mbox{\bf jacobi}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}} returns the Jacobi symbol \smath{J(a/b)}. \index{Jacobi symbol} When \smath{b} is odd, \smath{J(a/b) = \prod\nolimits_{p \in {\bf factors}(b)}{L(a/p)}}. -Note: by convention, 0 is returned if \smath{\mbox{\bf gcd}\opLeftPren{}a, b) \not= 1}. +Note: by convention, 0 is returned if +\smath{\mbox{\bf gcd}\opLeftPren{}a, b) \not= 1}. } % ---------------------------------------------------------------------- @@ -73820,20 +76421,24 @@ Note: by convention, 0 is returned if \smath{\mbox{\bf gcd}\opLeftPren{}a, b) \n }% }% {0}{()->Boolean}{FiniteRankNonAssociativeAlgebra} -{\smath{\mbox{\bf jacobiIdentity?}\opLeftPren{}\opRightPren{}} tests if \smath{(a b) c + (b c) a + (c a) b = 0} +{\smath{\mbox{\bf jacobiIdentity?}\opLeftPren{}\opRightPren{}} +tests if \smath{(a b) c + (b c) a + (c a) b = 0} for all \smath{a}, \smath{b}, \smath{c} in a domain of \spadtype{FiniteRankNonAssociativeAlgebra}. For example, this relation holds for crossed products of three-dimensional vectors. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{janko2}}\opLeftPren{}{\it \optinit{listOfIntegers}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{janko2}}\opLeftPren{} +{\it \optinit{listOfIntegers}}\opRightPren{}% }% }% {1}{(List(Integer))->PermutationGroup(Integer)}{PermutationGroupExamples} -{\smath{\mbox{\bf janko2}\opLeftPren{}\opRightPren{}} constructs the janko group acting on the integers \smath{1, \ldots, 100}. +{\smath{\mbox{\bf janko2}\opLeftPren{}\opRightPren{}} constructs the janko +group acting on the integers \smath{1, \ldots, 100}. \newitem -\smath{\mbox{\bf janko2}\opLeftPren{}\optinner{li}\opRightPren{}} constructs the janko group acting on the 100 integers given in the list \smath{li}. +\smath{\mbox{\bf janko2}\opLeftPren{}\optinner{li}\opRightPren{}} constructs +the janko group acting on the 100 integers given in the list \smath{li}. The default value of \smath{li} is \smath{[1, \ldots, 100]}. This operation removes duplicates in the list and calls \spadfun{error} if \smath{li} does not have exactly 100 distinct entries. @@ -73851,10 +76456,12 @@ where \smath{F} is a member of a commutative ring \smath{R}, tests if 2 is invertible in \smath{R} and if the algebra defined -by \smath{\{a, b\}} defined by \smath{(1/2)(a b+b a)} is a Jordan algebra, that is, +by \smath{\{a, b\}} defined by \smath{(1/2)(a b+b a)} is a Jordan +algebra, that is, satisfies the Jordan identity. \newitem -\smath{\mbox{\bf jordanAlgebra?}\opLeftPren{}\opRightPren{}\$F} tests if the algebra is commutative, +\smath{\mbox{\bf jordanAlgebra?}\opLeftPren{}\opRightPren{}\$F} +tests if the algebra is commutative, that \smath{\mbox{\bf characteristic}\opLeftPren{})\$F \not= 2}, and \smath{(a b) a^2 - a (b a^2) = 0} for all \smath{a} and \smath{b} in the algebra (Jordan identity). Example: for every associative algebra @@ -73863,13 +76470,16 @@ where \smath{a*b := (a@b+b@a)/2}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{kernel}}\opLeftPren{}{\it operator}, \allowbreak{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{kernel}}\opLeftPren{}{\it operator}, +\allowbreak{}{\it expression}\opRightPren{}% }% }% {2}{(BasicOperator, \$)->\$}{ExpressionSpace} -{\smath{\mbox{\bf kernel}\opLeftPren{}op, \allowbreak{} x\opRightPren{}} constructs \smath{op}(\smath{x}) without evaluating it. +{\smath{\mbox{\bf kernel}\opLeftPren{}op, \allowbreak{} x\opRightPren{}} +constructs \smath{op}(\smath{x}) without evaluating it. \newitem -\smath{\mbox{\bf kernel}\opLeftPren{}op, \allowbreak{} [f_1, \allowbreak{} \ldots, f_n]\opRightPren{}} constructs \smath{op(f1, \ldots, fn)} +\smath{\mbox{\bf kernel}\opLeftPren{}op, \allowbreak{} [f_1, +\allowbreak{} \ldots, f_n]\opRightPren{}} constructs \smath{op(f1, \ldots, fn)} without evaluating it. } @@ -73878,40 +76488,49 @@ without evaluating it. }% }% {1}{(\$)->List(Kernel(\$))}{ExpressionSpace} -{\smath{\mbox{\bf kernels}\opLeftPren{}f\opRightPren{}} returns the list of all the top-level kernels appearing in +{\smath{\mbox{\bf kernels}\opLeftPren{}f\opRightPren{}} returns the +list of all the top-level kernels appearing in expression \smath{f}, but not the ones appearing in the arguments of the top-level kernels. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{key?}}\opLeftPren{}{\it key}, \allowbreak{}{\it dictionary}\opRightPren{}% +\opdata{{\mbox{\axiomFun{key?}}\opLeftPren{}{\it key}, \allowbreak{} +{\it dictionary}\opRightPren{}% \opand \mbox{\axiomFun{keys}}\opLeftPren{}{\it dictionary}\opRightPren{}% }% }% {2}{(Key, \$)->Boolean}{KeyedDictionary} -{\smath{\mbox{\bf key?}\opLeftPren{}k, \allowbreak{} d\opRightPren{}} tests if \smath{k} is a key in dictionary \smath{d}. +{\smath{\mbox{\bf key?}\opLeftPren{}k, \allowbreak{} d\opRightPren{}} +tests if \smath{k} is a key in dictionary \smath{d}. Dictionary \smath{d} is an element of a domain of category \spadtype{KeyedDictionary(K, E)}, where \smath{K} and \smath{E} denote the domains of keys and entries. \newitem -\smath{\mbox{\bf keys}\opLeftPren{}d\opRightPren{}} returns the list the keys in table \smath{d}. +\smath{\mbox{\bf keys}\opLeftPren{}d\opRightPren{}} +returns the list the keys in table \smath{d}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{kroneckerDelta}}\opLeftPren{}{\it [integer}, \allowbreak{}{\it integer]}\opRightPren{}% +\opdata{{\mbox{\axiomFun{kroneckerDelta}}\opLeftPren{} +{\it [integer}, \allowbreak{}{\it integer]}\opRightPren{}% }% }% {0}{()->\$}{CartesianTensor} -{\smath{\mbox{\bf kroneckerDelta}\opLeftPren{}\opRightPren{}} is the rank 2 tensor defined by -\smath{\mbox{\bf kroneckerDelta}\opLeftPren{}i, j) = 1} if \smath{i=j}, and 0 otherwise. +{\smath{\mbox{\bf kroneckerDelta}\opLeftPren{}\opRightPren{}} +is the rank 2 tensor defined by +\smath{\mbox{\bf kroneckerDelta}\opLeftPren{}i, j) = 1} +if \smath{i=j}, and 0 otherwise. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{label}}\opLeftPren{}{\it outputForm}, \allowbreak{}{\it outputForm}\opRightPren{}% +\opdata{{\mbox{\axiomFun{label}}\opLeftPren{} +{\it outputForm}, \allowbreak{}{\it outputForm}\opRightPren{}% }% }% {}{}{} -{\smath{\mbox{\bf label}\opLeftPren{}o_1, \allowbreak{} o_2\opRightPren{}}, where \smath{o_1} and \smath{o_2} are +{\smath{\mbox{\bf label}\opLeftPren{}o_1, \allowbreak{} o_2\opRightPren{}}, +where \smath{o_1} and \smath{o_2} are objects of type \spadtype{OutputForm} (normally unexposed), returns an output form displaying equation \smath{o_2} with label @@ -73920,91 +76539,114 @@ an output form displaying equation \smath{o_2} with label % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{laguerreL}}\opLeftPren{}{\it nonNegativeInteger}, \allowbreak{}{\it x}\opRightPren{}% - \opand \mbox{\axiomFun{laguerreL}}\opLeftPren{}{\it nonNegativeInteger}, \allowbreak{}{\it nonNegativeInteger}, \allowbreak{}{\it x}\opRightPren{}% +\opdata{{\mbox{\axiomFun{laguerreL}}\opLeftPren{}{\it nonNegativeInteger}, +\allowbreak{}{\it x}\opRightPren{}% + \opand \mbox{\axiomFun{laguerreL}}\opLeftPren{}{\it nonNegativeInteger}, +\allowbreak{}{\it nonNegativeInteger}, \allowbreak{}{\it x}\opRightPren{}% }% }% {2}{(NonNegativeInteger, R)->R}{OrthogonalPolynomialFunctions} -{\smath{\mbox{\bf laguerreL}\opLeftPren{}n, \allowbreak{} x\opRightPren{}} is the \eth{\smath{n}} Laguerre +{\smath{\mbox{\bf laguerreL}\opLeftPren{}n, \allowbreak{} x\opRightPren{}} +is the \eth{\smath{n}} Laguerre polynomial, \smath{L[n](x)}, defined by \smath{{exp({{-t x}\over{1-t}})/(1-t)} = \sum\nolimits_{n=0}^\infty {L[n](x) t^n/n!}}. -\newitem \smath{\mbox{\bf laguerreL}\opLeftPren{}m, \allowbreak{} n, \allowbreak{} x\opRightPren{}} is the associated Laguerre +\newitem \smath{\mbox{\bf laguerreL}\opLeftPren{}m, +\allowbreak{} n, \allowbreak{} x\opRightPren{}} is the associated Laguerre polynomial, \smath{L_m[n](x)}, defined as the \eth{\smath{m}} derivative of \smath{L[n](x)}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{lambda}}\opLeftPren{}{\it inputForm}, \allowbreak{}{\it listOfSymbols}\opRightPren{}% +\opdata{{\mbox{\axiomFun{lambda}}\opLeftPren{}{\it inputForm}, +\allowbreak{}{\it listOfSymbols}\opRightPren{}% }% }% { ($, List Symbol) -> $}{}{} -{\smath{\mbox{\bf lambda}\opLeftPren{}i, \allowbreak{} [x_1, \allowbreak{} \ldots x_n]\opRightPren{}} returns the input form +{\smath{\mbox{\bf lambda}\opLeftPren{}i, \allowbreak{} [x_1, +\allowbreak{} \ldots x_n]\opRightPren{}} returns the input form corresponding to \smath{(x_1, \ldots, x_n) \mapsto i} if \smath{n > 1}. See also \spadfun{compiledFunction}, \spadfun{flatten}, and \spadfun{unparse}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{laplace}}\opLeftPren{}{\it expression}, \allowbreak{}{\it symbol}, \allowbreak{}{\it symbol}\opRightPren{}% +\opdata{{\mbox{\axiomFun{laplace}}\opLeftPren{}{\it expression}, +\allowbreak{}{\it symbol}, \allowbreak{}{\it symbol}\opRightPren{}% }% }% {3}{(F, Symbol, Symbol)->F}{LaplaceTransform} -{\smath{\mbox{\bf laplace}\opLeftPren{}f, \allowbreak{} t, \allowbreak{} s\opRightPren{}} returns the Laplace transform of \smath{f(t)}, +{\smath{\mbox{\bf laplace}\opLeftPren{}f, \allowbreak{} t, +\allowbreak{} s\opRightPren{}} returns the Laplace transform of \smath{f(t)}, defined by \smath{\int_{t=0}^\infty{exp(-s t)f(t) {\rm dt}}}. If the transform cannot be computed, the -formal object \smath{\mbox{\bf laplace}\opLeftPren{}f, \allowbreak{} t, \allowbreak{} s\opRightPren{}} is returned. +formal object \smath{\mbox{\bf laplace}\opLeftPren{}f, +\allowbreak{} t, \allowbreak{} s\opRightPren{}} is returned. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{last}}\opLeftPren{}{\it indexedAggregate\opt{, nonNegativeInteger}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{last}}\opLeftPren{}{\it indexedAggregate +\opt{, nonNegativeInteger}}\opRightPren{}% }% }% {1}{(\$)->S}{UnaryRecursiveAggregate} -{\smath{\mbox{\bf last}\opLeftPren{}u\opRightPren{}} returns the last element of \smath{u}. +{\smath{\mbox{\bf last}\opLeftPren{}u\opRightPren{}} returns the last +element of \smath{u}. \newitem -\smath{\mbox{\bf last}\opLeftPren{}u, \allowbreak{} n\opRightPren{}} returns a copy of the last \smath{n} (\smath{n +\smath{\mbox{\bf last}\opLeftPren{}u, \allowbreak{} n\opRightPren{}} +returns a copy of the last \smath{n} (\smath{n \geq 0}) elements of \smath{u}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{laurent}}\opLeftPren{}{\it expression}\opRightPren{}% - \opand \mbox{\axiomFun{laurentIfCan}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{laurent}}\opLeftPren{} +{\it expression}\opRightPren{}% + \opand \mbox{\axiomFun{laurentIfCan}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(\$)->ULS}{UnivariatePuiseuxSeriesConstructorCategory} -{\smath{\mbox{\bf laurent}\opLeftPren{}u\opRightPren{}} converts \smath{u} to a Laurent series, or +{\smath{\mbox{\bf laurent}\opLeftPren{}u\opRightPren{}} converts +\smath{u} to a Laurent series, or calls \spadfun{error} if this is not possible. \newitem -\smath{\mbox{\bf laurentIfCan}\opLeftPren{}u\opRightPren{}} converts the Puiseux series \smath{u} +\smath{\mbox{\bf laurentIfCan}\opLeftPren{}u\opRightPren{}} converts the +Puiseux series \smath{u} to a Laurent series, or returns \mbox{\tt "failed"} if this is not possible. \newitem -\smath{\mbox{\bf laurent}\opLeftPren{}f, \allowbreak{} x = a\opRightPren{}} expands the expression \smath{f} as a +\smath{\mbox{\bf laurent}\opLeftPren{}f, \allowbreak{} x = a\opRightPren{}} +expands the expression \smath{f} as a Laurent series in powers of \smath{(x - a)}. \newitem -\smath{\mbox{\bf laurent}\opLeftPren{}f, \allowbreak{} n\opRightPren{}} expands the expression \smath{f} as a Laurent series in +\smath{\mbox{\bf laurent}\opLeftPren{}f, \allowbreak{} n\opRightPren{}} +expands the expression \smath{f} as a Laurent series in powers of \smath{x}; at least \smath{n} terms are computed. \newitem -\smath{\mbox{\bf laurent}\opLeftPren{}n \mapsto a_n, x = a, n_0..\optinner{n_1}\opRightPren{}} returns +\smath{\mbox{\bf laurent}\opLeftPren{}n \mapsto a_n, x = a, +n_0..\optinner{n_1}\opRightPren{}} returns a Laurent series defined by \smath{\sum\nolimits_{n = n_0}^{n_1}{a_n (x - a)^n}}, where \smath{n_1} is \smath{\infty} by default. \newitem -\smath{\mbox{\bf laurent}\opLeftPren{}a_n, \allowbreak{} n, \allowbreak{} x=a, \allowbreak{} n_0..\optinner{n_1}\opRightPren{}} returns +\smath{\mbox{\bf laurent}\opLeftPren{}a_n, \allowbreak{} n, +\allowbreak{} x=a, \allowbreak{} n_0..\optinner{n_1}\opRightPren{}} returns a Laurent series defined by \smath{\sum\nolimits_{n=n_0}^{n_1}{a_n(x - a)^n}}, where \smath{n_1} is \smath{\infty} by default. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{laurentRep}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{laurentRep}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(\$)->ULS}{UnivariatePuiseuxSeriesConstructorCategory} -{\smath{\mbox{\bf laurentRep}\opLeftPren{}f(x)\opRightPren{}} returns \smath{g(x)} -where the Puiseux series \smath{f(x) = g(x^r)} is represented by \smath{[r, g(x)]}. +{\smath{\mbox{\bf laurentRep}\opLeftPren{}f(x)\opRightPren{}} +returns \smath{g(x)} +where the Puiseux series \smath{f(x) = g(x^r)} is +represented by \smath{[r, g(x)]}. } % ---------------------------------------------------------------------- @@ -74013,15 +76655,18 @@ where the Puiseux series \smath{f(x) = g(x^r)} is represented by \smath{[r, g(x) }% {1}{(\$)->Boolean}{LazyStreamAggregate} {\smath{\mbox{\bf lazy?}\opLeftPren{}s\opRightPren{}} tests -if the first node of the stream \smath{s} is a lazy evaluation mechanism which could produce an additional entry to \smath{s}. +if the first node of the stream \smath{s} is a lazy +evaluation mechanism which could produce an additional entry to \smath{s}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{lazyEvaluate}}\opLeftPren{}{\it stream}\opRightPren{}% +\opdata{{\mbox{\axiomFun{lazyEvaluate}}\opLeftPren{} +{\it stream}\opRightPren{}% }% }% {1}{(\$)->\$}{LazyStreamAggregate} -{\smath{\mbox{\bf lazyEvaluate}\opLeftPren{}s\opRightPren{}} causes one lazy evaluation of stream +{\smath{\mbox{\bf lazyEvaluate}\opLeftPren{}s\opRightPren{}} +causes one lazy evaluation of stream \smath{s}. Caution: \smath{s} must be a ``lazy node'' satisfying \smath{\mbox{\bf lazy?}\opLeftPren{}s) = true}, as there is no error check. @@ -74030,57 +76675,74 @@ entry. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{lcm}}\opLeftPren{}{\it elements\opt{, element}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{lcm}}\opLeftPren{} +{\it elements\opt{, element}}\opRightPren{}% }% }% {1}{(List(\$))->\$}{GcdDomain} -{\smath{\mbox{\bf lcm}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} returns the least common multiple of \smath{x} and \smath{y}. +{\smath{\mbox{\bf lcm}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} +returns the least common multiple of \smath{x} and \smath{y}. \newitem -\smath{\mbox{\bf lcm}\opLeftPren{}lx\opRightPren{}} returns the least common multiple of the elements of +\smath{\mbox{\bf lcm}\opLeftPren{}lx\opRightPren{}} returns the +least common multiple of the elements of the list \smath{lx}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{ldexquo}}\opLeftPren{}{\it lodOperator}, \allowbreak{}{\it lodOperator}\opRightPren{}% +\opdata{{\mbox{\axiomFun{ldexquo}}\opLeftPren{}{\it lodOperator}, +\allowbreak{}{\it lodOperator}\opRightPren{}% }% }% {2}{(\$, \$)->Union(\$, "failed")}{LinearOrdinaryDifferentialOperator} -{\smath{\mbox{\bf ldexquo}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} returns -\smath{q} such that \smath{a = b*q}, or \mbox{\tt "failed"} if no such \smath{q} exists. +{\smath{\mbox{\bf ldexquo}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} +returns +\smath{q} such that \smath{a = b*q}, or \mbox{\tt "failed"} +if no such \smath{q} exists. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{leftDivide}}\opLeftPren{}{\it lodOperator}, \allowbreak{}{\it lodOperator}\opRightPren{}% -\optand \mbox{\axiomFun{leftQuotient}}\opLeftPren{}{\it lodOperator}, \allowbreak{}{\it lodOperator}\opRightPren{}% -\opand \mbox{\axiomFun{leftRemainder}}\opLeftPren{}{\it lodOperator}, \allowbreak{}{\it lodOperator}\opRightPren{}% +\opdata{{\mbox{\axiomFun{leftDivide}}\opLeftPren{} +{\it lodOperator}, \allowbreak{}{\it lodOperator}\opRightPren{}% +\optand \mbox{\axiomFun{leftQuotient}}\opLeftPren{} +{\it lodOperator}, \allowbreak{}{\it lodOperator}\opRightPren{}% +\opand \mbox{\axiomFun{leftRemainder}}\opLeftPren{} +{\it lodOperator}, \allowbreak{}{\it lodOperator}\opRightPren{}% }% }% -{2}{(\$, \$)->Record(quotient:\$, remainder:\$)}{LinearOrdinaryDifferentialOperator} -{\smath{\mbox{\bf leftDivide}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} returns +{2}{(\$, \$)->Record(quotient:\$, remainder:\$)} +{LinearOrdinaryDifferentialOperator} +{\smath{\mbox{\bf leftDivide}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}} returns a record with two fields: ``quotient'' \smath{q} and ``remainder'' \smath{r} such that \smath{a = b q + r} and the degree of \smath{r} is less than the degree of \smath{b}. This operation is called ``left division.'' -Operation \smath{\mbox{\bf leftQuotient}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} returns \smath{q}, and -\smath{\mbox{\bf leftRemainder}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} returns \smath{r}. +Operation \smath{\mbox{\bf leftQuotient}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}} returns \smath{q}, and +\smath{\mbox{\bf leftRemainder}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}} returns \smath{r}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{leader}}\opLeftPren{}{\it differentialPolynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{leader}}\opLeftPren{} +{\it differentialPolynomial}\opRightPren{}% }% }% {1}{(\$)->V}{DifferentialPolynomialCategory} -{\smath{\mbox{\bf leader}\opLeftPren{}p\opRightPren{}} returns the derivative of the highest rank +{\smath{\mbox{\bf leader}\opLeftPren{}p\opRightPren{}} +returns the derivative of the highest rank appearing in the differential polynomial \smath{p}, or calls \spadfun{error} if \smath{p} is in the ground ring.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{leadingCoefficient}}\opLeftPren{}{\it polynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{leadingCoefficient}}\opLeftPren{} +{\it polynomial}\opRightPren{}% }% }% {1}{(\$)->R}{AbelianMonoidRing} -{\smath{\mbox{\bf leadingCoefficient}\opLeftPren{}p\opRightPren{}} returns the coefficient of the highest degree +{\smath{\mbox{\bf leadingCoefficient}\opLeftPren{}p\opRightPren{}} +returns the coefficient of the highest degree term of polynomial \smath{p}. See also \spadtype{IndexedDirectProductCategory} and \spadtype{MonogenicLinearOperator}. @@ -74091,15 +76753,18 @@ See also \spadtype{IndexedDirectProductCategory} and }% }% {1}{(\$)->\$}{PolynomialIdeals} -{\smath{\mbox{\bf leadingIdeal}\opLeftPren{}I\opRightPren{}} is the ideal generated by the leading terms of the elements of the ideal \smath{I}. +{\smath{\mbox{\bf leadingIdeal}\opLeftPren{}I\opRightPren{}} is the +ideal generated by the leading terms of the elements of the ideal \smath{I}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{leadingMonomial}}\opLeftPren{}{\it polynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{leadingMonomial}}\opLeftPren{} +{\it polynomial}\opRightPren{}% }% }% {1}{(\$)->\$}{AbelianMonoidRing} -{\smath{\mbox{\bf leadingMonomial}\opLeftPren{}p\opRightPren{}} returns the monomial of polynomial \smath{p} with the highest degree. +{\smath{\mbox{\bf leadingMonomial}\opLeftPren{}p\opRightPren{}} +returns the monomial of polynomial \smath{p} with the highest degree. } @@ -74113,16 +76778,20 @@ See also \spadtype{IndexedDirectProductCategory} and {\opkey{These operations apply to a recursive aggregate \smath{a}. See, for example, \spadtype{BinaryTree}.} -\newitem\smath{\mbox{\bf leaf?}\opLeftPren{}a\opRightPren{}} tests if \smath{a} is a terminal node. -\newitem\smath{\mbox{\bf leaves}\opLeftPren{}a\opRightPren{}} returns the list of values at the leaf nodes +\newitem\smath{\mbox{\bf leaf?}\opLeftPren{}a\opRightPren{}} +tests if \smath{a} is a terminal node. +\newitem\smath{\mbox{\bf leaves}\opLeftPren{}a\opRightPren{}} +returns the list of values at the leaf nodes in left-to-right order.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{left}}\opLeftPren{}{\it binaryRecursiveAggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{left}}\opLeftPren{} +{\it binaryRecursiveAggregate}\opRightPren{}% }% }% {1}{(\$)->\$}{BinaryRecursiveAggregate} -{\smath{\mbox{\bf left}\opLeftPren{}a\opRightPren{}} returns the left child of binary aggregate \smath{a}.} +{\smath{\mbox{\bf left}\opLeftPren{}a\opRightPren{}} +returns the left child of binary aggregate \smath{a}.} % ---------------------------------------------------------------------- \opdata{{\mbox{\axiomFun{leftAlternative?}}\opLeftPren{}\opRightPren{}% @@ -74137,11 +76806,13 @@ Note: in general, you do not know whether \smath{2*a=0} implies \smath{a=0}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{leftCharacteristicPolynomial}}\opLeftPren{}{\it polynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{leftCharacteristicPolynomial}} +\opLeftPren{}{\it polynomial}\opRightPren{}% }% }% {1}{(\$)->SparseUnivariatePolynomial(R)}{FiniteRankNonAssociativeAlgebra} -{\smath{\mbox{\bf leftCharacteristicPolynomial}\opLeftPren{}p\opRightPren{}\$F} returns the +{\smath{\mbox{\bf leftCharacteristicPolynomial} +\opLeftPren{}p\opRightPren{}\$F} returns the characteristic polynomial of the left regular representation of \smath{p} of domain \smath{F} with respect to any basis. Argument \smath{p} is a member of a domain of category @@ -74150,11 +76821,13 @@ a commutative ring. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{leftDiscriminant}}\opLeftPren{}{\it \optinit{listOfVectors}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{leftDiscriminant}}\opLeftPren{} +{\it \optinit{listOfVectors}}\opRightPren{}% }% }% {1}{(Vector(\$))->R}{FiniteRankNonAssociativeAlgebra} -{\smath{\mbox{\bf leftDiscriminant}\opLeftPren{}[v_1, \allowbreak{} \ldots, v_n]\opRightPren{}\$F} +{\smath{\mbox{\bf leftDiscriminant}\opLeftPren{}[v_1, +\allowbreak{} \ldots, v_n]\opRightPren{}\$F} where \smath{F} is a domain of category \spadtype{FramedNonAssociativeAlgebra} over a commutative ring \smath{R}, @@ -74163,38 +76836,46 @@ of the \smath{n}-by-\smath{n} matrix whose element at the \eth{\smath{i}} row and \eth{\smath{j}} column is given by the left trace of the product \smath{v_i*v_j}. -Same as \spadfun{determinant}(\smath{\mbox{\bf leftTraceMatrix}\opLeftPren{}[v_1, \allowbreak{} \ldots, v_n]\opRightPren{}}). +Same as \spadfun{determinant}(\smath{\mbox{\bf leftTraceMatrix} +\opLeftPren{}[v_1, \allowbreak{} \ldots, v_n]\opRightPren{}}). If no argument is given, \smath{v_1, \ldots, v_n} are taken to elements of the fixed \smath{R}-basis. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{leftGcd}}\opLeftPren{}{\it lodOperator}, \allowbreak{}{\it lodOperator}\opRightPren{}% +\opdata{{\mbox{\axiomFun{leftGcd}}\opLeftPren{}{\it lodOperator}, +\allowbreak{}{\it lodOperator}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{LinearOrdinaryDifferentialOperator} -{\smath{\mbox{\bf leftGcd}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} computes the value \smath{g} of highest degree such that -\smath{a = aa*g} and \smath{b = bb*g} for some values \smath{aa} and \smath{bb}. +{\smath{\mbox{\bf leftGcd}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} +computes the value \smath{g} of highest degree such that +\smath{a = aa*g} and \smath{b = bb*g} for some values \smath{aa} and +\smath{bb}. The value \smath{g} is computed using left-division. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{leftLcm}}\opLeftPren{}{\it lodOperator}, \allowbreak{}{\it lodOperator}\opRightPren{}% +\opdata{{\mbox{\axiomFun{leftLcm}}\opLeftPren{}{\it lodOperator}, +\allowbreak{}{\it lodOperator}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{LinearOrdinaryDifferentialOperator} -{\smath{\mbox{\bf leftLcm}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} computes the value \smath{m} of lowest +{\smath{\mbox{\bf leftLcm}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} +computes the value \smath{m} of lowest degree such that \smath{m = a*aa = b*bb} for some values \smath{aa} and \smath{bb}. The value \smath{m} is computed using left-division. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{leftMinimalPolynomial}}\opLeftPren{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{leftMinimalPolynomial}}\opLeftPren{} +{\it element}\opRightPren{}% }% }% {1}{(\$)->SparseUnivariatePolynomial(R)}{FiniteRankNonAssociativeAlgebra} -{\smath{\mbox{\bf leftMinimalPolynomial}\opLeftPren{}a\opRightPren{}} returns the polynomial +{\smath{\mbox{\bf leftMinimalPolynomial}\opLeftPren{}a\opRightPren{}} +returns the polynomial determined by the smallest non-trivial linear combination of left powers of \smath{a}, an element of a domain of category \spadtype{FiniteRankNonAssociativeAlgebra}. @@ -74207,18 +76888,23 @@ algebra has no unit. }% }% {1}{(\$)->R}{FiniteRankNonAssociativeAlgebra} -{\smath{\mbox{\bf leftNorm}\opLeftPren{}a\opRightPren{}} returns the determinant of the left regular representation of \smath{a}, +{\smath{\mbox{\bf leftNorm}\opLeftPren{}a\opRightPren{}} +returns the determinant of the left regular representation of \smath{a}, an element of a domain of category \spadtype{FiniteRankNonAssociativeAlgebra}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{leftPower}}\opLeftPren{}{\it monad}, \allowbreak{}{\it nonNegativeInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{leftPower}}\opLeftPren{} +{\it monad}, \allowbreak{}{\it nonNegativeInteger}\opRightPren{}% }% }% {2}{(\$, NonNegativeInteger)->\$}{MonadWithUnit} -{\smath{\mbox{\bf leftPower}\opLeftPren{}a, \allowbreak{} n\opRightPren{}} returns the \eth{\smath{n}} left power of monad \smath{a}, -that is, \smath{\mbox{\bf leftPower}\opLeftPren{}a, n) := a {\mbox{\bf leftPower}}(a, n-1)}. -If the monad has a unit then \smath{\mbox{\bf leftPower}\opLeftPren{}a, 0) := 1}. +{\smath{\mbox{\bf leftPower}\opLeftPren{}a, \allowbreak{} n +\opRightPren{}} returns the \eth{\smath{n}} left power of monad \smath{a}, +that is, \smath{\mbox{\bf leftPower}\opLeftPren{}a, n) := +a {\mbox{\bf leftPower}}(a, n-1)}. +If the monad has a unit then \smath{\mbox{\bf leftPower} +\opLeftPren{}a, 0) := 1}. Otherwise, define \smath{\mbox{\bf leftPower}\opLeftPren{}a, 1) = a} See \spadtype{Monad} and \spadtype{MonadWithUnit} for details. See also \spadfun{leftRecip}.} @@ -74228,7 +76914,8 @@ See also \spadfun{leftRecip}.} }% }% {0}{()->SparseUnivariatePolynomial(Polynomial(R))}{FramedNonAssociativeAlgebra} -{\smath{\mbox{\bf leftRankPolynomial}\opLeftPren{}\opRightPren{}\$F} calculates the left minimal +{\smath{\mbox{\bf leftRankPolynomial}\opLeftPren{}\opRightPren{}\$F} +calculates the left minimal polynomial of a generic element of an algebra of domain \smath{F}, a domain of category \spadtype{FramedNonAssociativeAlgebra} over a commutative ring \smath{R}. @@ -74242,7 +76929,8 @@ coefficients with respect to the fixed basis. }% }% {1}{(A)->NonNegativeInteger}{AlgebraPackage} -{\smath{\mbox{\bf leftRank}\opLeftPren{}x\opRightPren{}} returns the number of linearly independent +{\smath{\mbox{\bf leftRank}\opLeftPren{}x\opRightPren{}} +returns the number of linearly independent elements in \smath{x b_1}, \ldots, \smath{x b_n}, where \smath{b=[b_1, \ldots, b_n]} is a basis. Argument \smath{x} is an element of a domain of category @@ -74255,7 +76943,8 @@ Argument \smath{x} is an element of a domain of category }% }% {1}{(\$)->Union(\$, "failed")}{FiniteRankNonAssociativeAlgebra} -{\smath{\mbox{\bf leftRecip}\opLeftPren{}a\opRightPren{}} returns an element that is a left inverse +{\smath{\mbox{\bf leftRecip}\opLeftPren{}a\opRightPren{}} +returns an element that is a left inverse of \smath{a}, or \mbox{\tt "failed"}, if there is no unit element, such an element does not exist, or the left reciprocal cannot be determined (see \spadatt{unitsKnown}).} @@ -74265,14 +76954,16 @@ determined (see \spadatt{unitsKnown}).} }% }% {1}{(\$)->Union(\$, "failed")}{MonadWithUnit} -{\smath{\mbox{\bf leftRecip}\opLeftPren{}a\opRightPren{}} returns an element, which is a left inverse +{\smath{\mbox{\bf leftRecip}\opLeftPren{}a\opRightPren{}} +returns an element, which is a left inverse of \smath{a}, or \mbox{\tt "failed"} if such an element doesn't exist or cannot be determined (see \spadatt{unitsKnown}). } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{leftRegularRepresentation}}\opLeftPren{}{\it element\opt{, vectorOfElements}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{leftRegularRepresentation}}\opLeftPren{} +{\it element\opt{, vectorOfElements}}\opRightPren{}% }% }% {2}{(\$, Vector(\$))->Matrix(R)}{FiniteRankNonAssociativeAlgebra} @@ -74287,39 +76978,48 @@ fixed basis for \smath{F}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{leftTraceMatrix}}\opLeftPren{}{\it \opt{vectorOfElements}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{leftTraceMatrix}}\opLeftPren{} +{\it \opt{vectorOfElements}}\opRightPren{}% }% }% {1}{(Vector(\$))->Matrix(R)}{FiniteRankNonAssociativeAlgebra} -{\opkey{This operation is defined on a domain \smath{F} of category \spadtype{NonAssociativeAlgebra}.} -\newline\smath{\mbox{\bf leftTraceMatrix}\opLeftPren{}\optinner{v}\opRightPren{}}, where \smath{v} +{\opkey{This operation is defined on a domain \smath{F} +of category \spadtype{NonAssociativeAlgebra}.} +\newline\smath{\mbox{\bf leftTraceMatrix}\opLeftPren{} +\optinner{v}\opRightPren{}}, where \smath{v} is an optional vector \smath{[v_1, \ldots, v_n]}, returns the \smath{n}-by-\smath{n} matrix \smath{M} such that \smath{M_{i, j}} is the left trace of the product \smath{v_i*v_j} of elements from the basis \smath{[v_1, \ldots, v_n]}. -If the argument is missing, the basis is taken to be the fixed basis for \smath{F}. +If the argument is missing, the basis is taken to be the +fixed basis for \smath{F}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{leftTrace}}\opLeftPren{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{leftTrace}}\opLeftPren{} +{\it element}\opRightPren{}% }% }% {1}{(\$)->R}{FiniteRankNonAssociativeAlgebra} -{\smath{\mbox{\bf leftTrace}\opLeftPren{}a\opRightPren{}} returns the trace of the left regular representation of \smath{a}, +{\smath{\mbox{\bf leftTrace}\opLeftPren{}a\opRightPren{}} returns +the trace of the left regular representation of \smath{a}, an element of a domain of category \spadtype{FiniteRankNonAssociativeAlgebra}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{leftTrim}}\opLeftPren{}{\it string}, \allowbreak{}{\it various}\opRightPren{}% +\opdata{{\mbox{\axiomFun{leftTrim}}\opLeftPren{}{\it string}, +\allowbreak{}{\it various}\opRightPren{}% }% }% {2}{(\$, Character)->\$}{StringAggregate} -{\smath{\mbox{\bf leftTrim}\opLeftPren{}s, \allowbreak{} c\opRightPren{}} returns string \smath{s} with all leading characters +{\smath{\mbox{\bf leftTrim}\opLeftPren{}s, \allowbreak{} c\opRightPren{}} +returns string \smath{s} with all leading characters \smath{c} deleted. For example, \spadfun{leftTrim}{\tt (" abc ", " ")} returns {\tt "abc "}. \newitem -\smath{\mbox{\bf leftTrim}\opLeftPren{}s, \allowbreak{} cc\opRightPren{}} returns \smath{s} with all leading characters in +\smath{\mbox{\bf leftTrim}\opLeftPren{}s, \allowbreak{} cc\opRightPren{}} +returns \smath{s} with all leading characters in \smath{cc} deleted. For example, \code{leftTrim("(abc)", charClass "()")} returns \code{"abc"}. } @@ -74329,12 +77029,15 @@ returns \code{"abc"}. \opand \mbox{\axiomFun{leftUnits}}\opLeftPren{}\opRightPren{}% }% }% -{0}{()->Union(Record(particular:\$, basis:List(\$)), "failed")}{FiniteRankNonAssociativeAlgebra} +{0}{()->Union(Record(particular:\$, basis:List(\$)), "failed")} +{FiniteRankNonAssociativeAlgebra} {\opkey{These operations are defined on a domain \smath{F} of category \spadtype{NonAssociativeAlgebra}.} -\newitem\smath{\mbox{\bf leftUnit}\opLeftPren{}\opRightPren{}\$F} returns a left unit of the algebra (not +\newitem\smath{\mbox{\bf leftUnit}\opLeftPren{}\opRightPren{}\$F} +returns a left unit of the algebra (not necessarily unique), or \mbox{\tt "failed"} if there is none. -\newitem\smath{\mbox{\bf leftUnits}\opLeftPren{}\opRightPren{}\$F} returns the affine space of all +\newitem\smath{\mbox{\bf leftUnits}\opLeftPren{}\opRightPren{}\$F} +returns the affine space of all left units of an algebra \smath{F}, or \mbox{\tt "failed"} if there is none, where \smath{F} is a domain of category \spadtype{FiniteRankNonAssociativeAlgebra}. @@ -74344,25 +77047,30 @@ for a list of elements of \smath{F}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{legendreSymbol}}\opLeftPren{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{legendreSymbol}}\opLeftPren{} +{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% }% }% {2}{(Integer, Integer)->Integer}{IntegerNumberTheoryFunctions} -{\smath{\mbox{\bf legendreSymbol}\opLeftPren{}a, \allowbreak{} p\opRightPren{}} returns the Legendre symbol +{\smath{\mbox{\bf legendreSymbol}\opLeftPren{}a, +\allowbreak{} p\opRightPren{}} returns the Legendre symbol \smath{L(a/p)}, \smath{L(a/p) = (-1)^{(p-1)/2} \mod p} for prime \smath{p}. This is 0 if \smath{a = 0}, 1 if \smath{a} is a quadratic residue \smath{\mod p}, and \smath{-1} otherwise. Note: because the primality test is expensive, use -\smath{\mbox{\bf jacobi}\opLeftPren{}a, \allowbreak{} p\opRightPren{}} if you know that \smath{p} is prime. +\smath{\mbox{\bf jacobi}\opLeftPren{}a, \allowbreak{} p\opRightPren{}} +if you know that \smath{p} is prime. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{LegendreP}}\opLeftPren{}{\it nonNegativeInteger}, \allowbreak{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{LegendreP}}\opLeftPren{}{\it nonNegativeInteger}, +\allowbreak{}{\it element}\opRightPren{}% }% }% {2}{(NonNegativeInteger, R)->R}{OrthogonalPolynomialFunctions} -{\smath{\mbox{\bf LegendreP}\opLeftPren{}n, \allowbreak{} x\opRightPren{}} is the \eth{\smath{n}} Legendre +{\smath{\mbox{\bf LegendreP}\opLeftPren{}n, \allowbreak{} x\opRightPren{}} +is the \eth{\smath{n}} Legendre polynomial, \smath{P[n](x)}, defined by \smath{{1\over \sqrt(1-2xt+t^2)} ={ \sum\nolimits_{n=0}^\infty {P[n](x) t^n}}}. } @@ -74372,14 +77080,17 @@ polynomial, \smath{P[n](x)}, defined by \smath{{1\over }% }% {1}{(\$)->\$}{IntegerNumberSystem} -{\smath{\mbox{\bf length}\opLeftPren{}a\opRightPren{}} returns the length of integer \smath{a} in digits.} +{\smath{\mbox{\bf length}\opLeftPren{}a\opRightPren{}} +returns the length of integer \smath{a} in digits.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{less?}}\opLeftPren{}{\it aggregate}, \allowbreak{}{\it nonNegativeInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{less?}}\opLeftPren{}{\it aggregate}, +\allowbreak{}{\it nonNegativeInteger}\opRightPren{}% }% }% {2}{(\$, NonNegativeInteger)->Boolean}{Aggregate} -{\smath{\mbox{\bf less?}\opLeftPren{}u, \allowbreak{} n\opRightPren{}} tests if \smath{u} has less than \smath{n} elements. +{\smath{\mbox{\bf less?}\opLeftPren{}u, \allowbreak{} n\opRightPren{}} +tests if \smath{u} has less than \smath{n} elements. } % ---------------------------------------------------------------------- @@ -74387,8 +77098,10 @@ polynomial, \smath{P[n](x)}, defined by \smath{{1\over }% }% {0}{()->\$}{CartesianTensor} -{\smath{\mbox{\bf leviCivitaSymbol}\opLeftPren{}\opRightPren{}} is the rank \smath{dim} tensor defined -by \smath{\mbox{\bf leviCivitaSymbol}\opLeftPren{})(i_1, \ldots i_{\rm dim})}, which is +{\smath{\mbox{\bf leviCivitaSymbol}\opLeftPren{}\opRightPren{}} +is the rank \smath{dim} tensor defined +by \smath{\mbox{\bf leviCivitaSymbol}\opLeftPren{}) +(i_1, \ldots i_{\rm dim})}, which is \smath{+1}, \smath{-1} or \smath{0} according to whether the permutation \smath{i_1, \ldots, i_{\rm dim}} is an even permutation, an odd permutation, or not a permutation of @@ -74397,11 +77110,13 @@ permutation, an odd permutation, or not a permutation of } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{lexGroebner}}\opLeftPren{}{\it listOfPolynomials}, \allowbreak{}{\it listOfSymbols}\opRightPren{}% +\opdata{{\mbox{\axiomFun{lexGroebner}}\opLeftPren{} +{\it listOfPolynomials}, \allowbreak{}{\it listOfSymbols}\opRightPren{}% }% }% {2}{(List(Polynomial(F)), List(Symbol))->List(Polynomial(F))}{PolyGroebner} -{\smath{\mbox{\bf lexGroebner}\opLeftPren{}lp, \allowbreak{} lv\opRightPren{}} computes a Gr\"obner basis for the +{\smath{\mbox{\bf lexGroebner}\opLeftPren{}lp, +\allowbreak{} lv\opRightPren{}} computes a Gr\"obner basis for the list of polynomials \smath{lp} in lexicographic order. The variables \smath{lv} are ordered by their position in the list \smath{lp}. @@ -74409,11 +77124,13 @@ The variables \smath{lv} are ordered by their position in the list % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{lhs}}\opLeftPren{}{\it equationOrRewriteRule}\opRightPren{}% +\opdata{{\mbox{\axiomFun{lhs}}\opLeftPren{} +{\it equationOrRewriteRule}\opRightPren{}% }% }% {1}{(\$)->F}{RewriteRule} -{\smath{\mbox{\bf lhs}\opLeftPren{}x\opRightPren{}} returns the left hand side of an equation or rewrite-rule. +{\smath{\mbox{\bf lhs}\opLeftPren{}x\opRightPren{}} +returns the left hand side of an equation or rewrite-rule. } % ---------------------------------------------------------------------- @@ -74421,7 +77138,8 @@ The variables \smath{lv} are ordered by their position in the list }% }% {1}{(FileName)->\$}{Library} -{\smath{\mbox{\bf library}\opLeftPren{}name\opRightPren{}} creates a new library file with filename +{\smath{\mbox{\bf library}\opLeftPren{}name\opRightPren{}} +creates a new library file with filename \smath{name}. } @@ -74430,7 +77148,8 @@ The variables \smath{lv} are ordered by their position in the list }% }% {0}{()->Boolean}{FiniteRankNonAssociativeAlgebra} -{\smath{\mbox{\bf lieAdmissible?}\opLeftPren{}\opRightPren{}\$F} tests if the algebra defined by the commutators +{\smath{\mbox{\bf lieAdmissible?}\opLeftPren{}\opRightPren{}\$F} +tests if the algebra defined by the commutators is a Lie algebra. The domain \smath{F} is a member of the category \spadtype{FiniteRankNonAssociativeAlgebra(R)}. @@ -74442,7 +77161,8 @@ The property of anticommutativity follows from the definition. }% }% {0}{()->Boolean}{FiniteRankNonAssociativeAlgebra} -{\smath{\mbox{\bf lieAlgebra?}\opLeftPren{}\opRightPren{}\$F} tests if the algebra of +{\smath{\mbox{\bf lieAlgebra?}\opLeftPren{}\opRightPren{}\$F} +tests if the algebra of \smath{F} is anticommutative and that the Jacobi identity \smath{(a*b)*c + (b*c)*a + (c*a)*b = 0} @@ -74455,26 +77175,50 @@ is satisfied for all \smath{a}, \smath{b}, \smath{c} in \smath{F}. }% }% {1}{(Color)->\$}{Palette} -{\smath{\mbox{\bf light}\opLeftPren{}c\opRightPren{}} sets the shade of a hue \smath{c} to its highest value.} +{\smath{\mbox{\bf light}\opLeftPren{}c\opRightPren{}} +sets the shade of a hue \smath{c} to its highest value.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{limit}}\opLeftPren{}{\it expression}, \allowbreak{}{\it equation}\allowbreak $\,[$ , \allowbreak{}{\it direction}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{limit}}\opLeftPren{} +{\it expression}, \allowbreak{}{\it equation}\allowbreak $\,[$ , \allowbreak{} +{\it direction}$]$\opRightPren{}% }% }% -{2}{(Fraction(Polynomial(R)), Equation(Fraction(Polynomial(R))))->Union(OrderedCompletion(Fraction(Polynomial(R))), Record(leftHandLimit:Union(OrderedCompletion(Fraction(Polynomial(R))), "failed"), rightHandLimit:Union(OrderedCompletion(Fraction(Polynomial(R))), "failed")), "failed")}{RationalFunctionLimitPackage} -{\smath{\mbox{\bf limit}\opLeftPren{}f(x), \allowbreak{} x = a\opRightPren{}} computes the real two-sided limit of \smath{f} as its argument \smath{x} approaches \smath{a}. +{2}{(Fraction(Polynomial(R)), Equation(Fraction(Polynomial(R))))-> +Union(OrderedCompletion(Fraction(Polynomial(R))), +Record(leftHandLimit:Union(OrderedCompletion(Fraction(Polynomial(R))), +"failed"), +rightHandLimit:Union(OrderedCompletion(Fraction(Polynomial(R))), "failed")), +"failed")} +{RationalFunctionLimitPackage} +{\smath{\mbox{\bf limit}\opLeftPren{}f(x), +\allowbreak{} x = a\opRightPren{}} computes +the real two-sided limit of \smath{f} as its argument +\smath{x} approaches \smath{a}. \newitem -\smath{\mbox{\bf limit}\opLeftPren{}f(x), \allowbreak{} x=a, \allowbreak{} "left"\opRightPren{}} computes the real limit of \smath{f} as its argument \smath{x} approaches \smath{a} from the left. +\smath{\mbox{\bf limit}\opLeftPren{}f(x), \allowbreak{} x=a, +\allowbreak{} "left"\opRightPren{}} computes the real limit +of \smath{f} as its +argument \smath{x} approaches \smath{a} from the left. \newitem -\smath{\mbox{\bf limit}\opLeftPren{}f(x), \allowbreak{} x=a, \allowbreak{} "right"\opRightPren{}} computes the corresponding limit as \smath{x} approaches \smath{a} from the right. +\smath{\mbox{\bf limit}\opLeftPren{}f(x), \allowbreak{} x=a, +\allowbreak{} "right"\opRightPren{}} computes the corresponding limit as +\smath{x} approaches \smath{a} from the right. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{limitedIntegrate}}\opLeftPren{}{\it rationalFunction}, \allowbreak{}{\it symbol}, \allowbreak{}{\it listOfRationalFunctions}\opRightPren{}% +\opdata{{\mbox{\axiomFun{limitedIntegrate}}\opLeftPren{} +{\it rationalFunction}, \allowbreak{}{\it symbol}, \allowbreak{} +{\it listOfRationalFunctions}\opRightPren{}% }% }% -{3}{(Fraction(Polynomial(F)), Symbol, List(Fraction(Polynomial(F))))->Union(Record(mainpart:Fraction(Polynomial(F)), limitedlogs:List(Record(coeff:Fraction(Polynomial(F)), logand:Fraction(Polynomial(F))))), "failed")}{RationalFunctionIntegration} -{\smath{\mbox{\bf limitedIntegrate}\opLeftPren{}f, \allowbreak{} x, \allowbreak{} [g_1, \allowbreak{} \ldots, g_n]\opRightPren{}} returns +{3}{(Fraction(Polynomial(F)), Symbol, +List(Fraction(Polynomial(F))))->Union(Record(mainpart:Fraction(Polynomial(F)), +limitedlogs:List(Record(coeff:Fraction(Polynomial(F)), +logand:Fraction(Polynomial(F))))), "failed")} +{RationalFunctionIntegration} +{\smath{\mbox{\bf limitedIntegrate}\opLeftPren{}f, \allowbreak{} x, +\allowbreak{} [g_1, \allowbreak{} \ldots, g_n]\opRightPren{}} returns fractions \smath{[h, [c_i, g_i]]} such that the \smath{g_i}'s are among \smath{[g_1, \ldots, g_n]}, \smath{dc_i/dx = 0}, @@ -74483,12 +77227,15 @@ possible, \mbox{\tt "failed"} otherwise. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{linearDependenceOverZ}}\opLeftPren{}{\it vector}\opRightPren{}% - \opand \mbox{\axiomFun{linearlyDependentOverZ?}}\opLeftPren{}{\it vector}\opRightPren{}% +\opdata{{\mbox{\axiomFun{linearDependenceOverZ}}\opLeftPren{} +{\it vector}\opRightPren{}% + \opand \mbox{\axiomFun{linearlyDependentOverZ?}}\opLeftPren{} +{\it vector}\opRightPren{}% }% }% {1}{(Vector(R))->Union(Vector(Integer), "failed")}{IntegerLinearDependence} -{\smath{\mbox{\bf linearlyDependenceOverZ}\opLeftPren{}[v_1, \allowbreak{} \ldots, v_n]\opRightPren{}} tests +{\smath{\mbox{\bf linearlyDependenceOverZ}\opLeftPren{} +[v_1, \allowbreak{} \ldots, v_n]\opRightPren{}} tests if the elements \smath{v_i} of a ring (typically algebraic numbers or \spadtype{Expression}s) are linearly dependent over the integers. If so, the operation returns @@ -74498,29 +77245,38 @@ If so, the operation returns If linearly independent over the integers, \mbox{\tt "failed"} is returned. \newline -\smath{\mbox{\bf linearlyDependentOverZ?}\opLeftPren{}[v1, \allowbreak{} \ldots, vn]\opRightPren{}} returns \smath{true} -if the \smath{vi}'s are linearly dependent over the integers, and \smath{false} otherwise. +\smath{\mbox{\bf linearlyDependentOverZ?}\opLeftPren{}[v1, +\allowbreak{} \ldots, vn]\opRightPren{}} returns \smath{true} +if the \smath{vi}'s are linearly dependent over the integers, +and \smath{false} otherwise. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{lineColorDefault}}\opLeftPren{}{\it \opt{palette}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{lineColorDefault}}\opLeftPren{} +{\it \opt{palette}}\opRightPren{}% }% }% {0}{()->Palette}{ViewDefaultsPackage} -{\smath{\mbox{\bf lineColorDefault}\opLeftPren{}\opRightPren{}} returns the default color of lines +{\smath{\mbox{\bf lineColorDefault}\opLeftPren{}\opRightPren{}} +returns the default color of lines connecting points in a \twodim{} viewport. \newline -\smath{\mbox{\bf lineColorDefault}\opLeftPren{}p\opRightPren{}} sets the default color of lines +\smath{\mbox{\bf lineColorDefault}\opLeftPren{}p\opRightPren{}} +sets the default color of lines connecting points in a \twodim{} viewport to the palette \smath{p}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{linSolve}}\opLeftPren{}{\it listOfPolynomials}, \allowbreak{}{\it listOfVariables}\opRightPren{}% +\opdata{{\mbox{\axiomFun{linSolve}}\opLeftPren{} +{\it listOfPolynomials}, \allowbreak{}{\it listOfVariables}\opRightPren{}% }% }% -{2}{(List(P), List(OV))->Record(particular:Union(Vector(F), "failed"), basis:List(Vector(F)))}{LinearSystemPolynomialPackage} -{\smath{\mbox{\bf linSolve}\opLeftPren{}lp, \allowbreak{} lvar\opRightPren{}} finds the solutions of the linear system of polynomials \smath{lp} = 0 with respect to the list of symbols \smath{lvar}. +{2}{(List(P), List(OV))->Record(particular:Union(Vector(F), "failed"), +basis:List(Vector(F)))}{LinearSystemPolynomialPackage} +{\smath{\mbox{\bf linSolve}\opLeftPren{}lp, \allowbreak{} +lvar\opRightPren{}} finds the solutions of the linear system of polynomials +\smath{lp} = 0 with respect to the list of symbols \smath{lvar}. } % ---------------------------------------------------------------------- @@ -74537,34 +77293,41 @@ defined by, \smath{\int {dx\over log(x)}}. }% }% {1}{(S)->\$}{ListAggregate} -{\smath{\mbox{\bf list}\opLeftPren{}x\opRightPren{}} creates a list consisting of the one element \smath{x}. +{\smath{\mbox{\bf list}\opLeftPren{}x\opRightPren{}} +creates a list consisting of the one element \smath{x}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{list?}}\opLeftPren{}{\it sExpression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{list?}}\opLeftPren{} +{\it sExpression}\opRightPren{}% }% }% {1}{(\$)->Boolean}{SExpressionCategory} -{\smath{\mbox{\bf list?}\opLeftPren{}s\opRightPren{}} tests if \spadtype{SExpression} value \smath{s} +{\smath{\mbox{\bf list?}\opLeftPren{}s\opRightPren{}} +tests if \spadtype{SExpression} value \smath{s} is a Lisp list, possibly the null list. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{listBranches}}\opLeftPren{}{\it listOfListsOfPoints}\opRightPren{}% +\opdata{{\mbox{\axiomFun{listBranches}}\opLeftPren{} +{\it listOfListsOfPoints}\opRightPren{}% }% }% {1}{(\$)->List(List(Point(DoubleFloat)))}{PlottablePlaneCurveCategory} -{\smath{\mbox{\bf listBranches}\opLeftPren{}c\opRightPren{}} returns a list of lists of points +{\smath{\mbox{\bf listBranches}\opLeftPren{}c\opRightPren{}} +returns a list of lists of points representing the branches of the curve \smath{c}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{listRepresentation}}\opLeftPren{}{\it permutation}\opRightPren{}% +\opdata{{\mbox{\axiomFun{listRepresentation}}\opLeftPren{} +{\it permutation}\opRightPren{}% }% }% {1}{(\$)->Record(preimage:List(S), image:List(S))}{Permutation} -{\smath{\mbox{\bf listRepresentation}\opLeftPren{}p\opRightPren{}} produces a representation {\it rep} +{\smath{\mbox{\bf listRepresentation}\opLeftPren{}p\opRightPren{}} +produces a representation {\it rep} of the permutation \smath{p} as a list of preimages and images \smath{i}, that is, permutation \smath{p} maps \smath{(rep.{\tt preimage}).k} to \smath{(rep.{\tt image}).k} for all indices @@ -74572,11 +77335,14 @@ preimage}).k} to \smath{(rep.{\tt image}).k} for all indices } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{listYoungTableaus}}\opLeftPren{}{\it listOfIntegers}\opRightPren{}% +\opdata{{\mbox{\axiomFun{listYoungTableaus}}\opLeftPren{} +{\it listOfIntegers}\opRightPren{}% }% }% -{1}{(List(Integer))->List(Matrix(Integer))}{SymmetricGroupCombinatoricFunctions} -{\smath{\mbox{\bf listYoungTableaus}\opLeftPren{}lambda\opRightPren{}}, where {\it lambda} is a proper +{1}{(List(Integer))->List(Matrix(Integer))} +{SymmetricGroupCombinatoricFunctions} +{\smath{\mbox{\bf listYoungTableaus}\opLeftPren{}lambda\opRightPren{}}, +where {\it lambda} is a proper partition, generates the list of all standard tableaus of shape {\it lambda} by means of lattice permutations. The numbers of the lattice permutation are interpreted as column @@ -74585,19 +77351,25 @@ labels. % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{listOfComponents}}\opLeftPren{}{\it threeSpace}\opRightPren{}% +\opdata{{\mbox{\axiomFun{listOfComponents}}\opLeftPren{} +{\it threeSpace}\opRightPren{}% }% }% {1}{(\$)->List(List(List(Point(R))))}{ThreeSpace} -{\smath{\mbox{\bf listOfComponents}\opLeftPren{}sp\opRightPren{}} returns a list of list of list of points for threeSpace -object \smath{sp} assumed to be composed of a list of components, each a list of +{\smath{\mbox{\bf listOfComponents}\opLeftPren{}sp\opRightPren{}} +returns a list of list of list of points for threeSpace +object \smath{sp} assumed to be composed of a list of components, +each a list of curves, which in turn is each a list of points, or calls \spadfun{error} if this is not possible. } -{\smath{\mbox{\bf listOfCurves}\opLeftPren{}sp\opRightPren{}} returns a list of list of subspace component properties -for threeSpace object \smath{sp} assumed to be a list of curves, each of which is -a list of subspace components, or calls \spadfun{error} if this is not possible. +{\smath{\mbox{\bf listOfCurves}\opLeftPren{}sp\opRightPren{}} +returns a list of list of subspace component properties +for threeSpace object \smath{sp} assumed to be a list of +curves, each of which is +a list of subspace components, or calls \spadfun{error} +if this is not possible. } % ---------------------------------------------------------------------- @@ -74605,19 +77377,24 @@ a list of subspace components, or calls \spadfun{error} if this is not possible. }% }% {1}{(\$)->S}{SegmentCategory} -{\smath{\mbox{\bf lo}\opLeftPren{}s\opRightPren{}} returns the first endpoint of \smath{s}. +{\smath{\mbox{\bf lo}\opLeftPren{}s\opRightPren{}} +returns the first endpoint of \smath{s}. For example, \code{lo(l..h) = l}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{log}}\opLeftPren{}{\it expression}\opRightPren{}% - \opand \mbox{\axiomFun{logIfCan}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{log}}\opLeftPren{} +{\it expression}\opRightPren{}% + \opand \mbox{\axiomFun{logIfCan}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(K)->Union(K, "failed")}{PartialTranscendentalFunctions} -{\smath{\mbox{\bf log}\opLeftPren{}x\opRightPren{}} returns the natural logarithm of \smath{x}. +{\smath{\mbox{\bf log}\opLeftPren{}x\opRightPren{}} +returns the natural logarithm of \smath{x}. \newitem -\smath{\mbox{\bf logIfCan}\opLeftPren{}z\opRightPren{}} returns \smath{\mbox{\bf log}\opLeftPren{}z\opRightPren{}} if possible, and +\smath{\mbox{\bf logIfCan}\opLeftPren{}z\opRightPren{}} +returns \smath{\mbox{\bf log}\opLeftPren{}z\opRightPren{}} if possible, and \mbox{\tt "failed"} otherwise. } @@ -74626,9 +77403,11 @@ For example, \code{lo(l..h) = l}. }% }% {0}{()->\$}{Float} -{\smath{\mbox{\bf log2}\opLeftPren{}\opRightPren{}} returns \smath{ln(2) = 0.6931471805\ldots}. +{\smath{\mbox{\bf log2}\opLeftPren{}\opRightPren{}} +returns \smath{ln(2) = 0.6931471805\ldots}. \newitem -\smath{\mbox{\bf log2}\opLeftPren{}x\opRightPren{}} computes the base 2 logarithm for \smath{x}. +\smath{\mbox{\bf log2}\opLeftPren{}x\opRightPren{}} +computes the base 2 logarithm for \smath{x}. } % ---------------------------------------------------------------------- @@ -74636,9 +77415,11 @@ For example, \code{lo(l..h) = l}. }% }% {0}{()->\$}{Float} -{\smath{\mbox{\bf log10}\opLeftPren{}\opRightPren{}} returns \smath{ln(10) = 2.3025809299\ldots}. +{\smath{\mbox{\bf log10}\opLeftPren{}\opRightPren{}} +returns \smath{ln(10) = 2.3025809299\ldots}. \newitem -\smath{\mbox{\bf log10}\opLeftPren{}x\opRightPren{}} computes the base 10 logarithm for \smath{x}. +\smath{\mbox{\bf log10}\opLeftPren{}x\opRightPren{}} +computes the base 10 logarithm for \smath{x}. } % ---------------------------------------------------------------------- @@ -74646,42 +77427,52 @@ For example, \code{lo(l..h) = l}. }% }% {1}{(Complex(DoubleFloat))->Complex(DoubleFloat)}{DoubleFloatSpecialFunctions} -{\smath{\mbox{\bf logGamma}\opLeftPren{}x\opRightPren{}} is the natural log of $\Gamma(x).$ +{\smath{\mbox{\bf logGamma}\opLeftPren{}x\opRightPren{}} +is the natural log of $\Gamma(x).$ Note: this can often be computed even if $\Gamma(x)$ cannot. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{lowerCase}}\opLeftPren{}{\it \opt{string}}\opRightPren{}% - \opand \mbox{\axiomFun{lowerCase?}}\opLeftPren{}{\it character}\opRightPren{}% +\opdata{{\mbox{\axiomFun{lowerCase}}\opLeftPren{} +{\it \opt{string}}\opRightPren{}% + \opand \mbox{\axiomFun{lowerCase?}}\opLeftPren{} +{\it character}\opRightPren{}% }% }% {1}{(\$)->Boolean}{Character} -{\smath{\mbox{\bf lowerCase}\opLeftPren{}\opRightPren{}} returns the class of all characters for which \spadfunFrom{lowerCase?}{Character} is \smath{true}. +{\smath{\mbox{\bf lowerCase}\opLeftPren{}\opRightPren{}} +returns the class of all characters for which +\spadfunFrom{lowerCase?}{Character} is \smath{true}. \newitem \smath{\mbox{\bf lowerCase}\opLeftPren{}c\opRightPren{}} returns a corresponding lower case alphabetic character \smath{c} if \smath{c} is an upper case alphabetic character, and \smath{c} otherwise. \newitem -\smath{\mbox{\bf lowerCase}\opLeftPren{}s\opRightPren{}} returns the string with all characters in lower case. +\smath{\mbox{\bf lowerCase}\opLeftPren{}s\opRightPren{}} +returns the string with all characters in lower case. \newitem -\smath{\mbox{\bf lowerCase?}\opLeftPren{}c\opRightPren{}} tests if character \smath{c} is an lower case letter, that is, +\smath{\mbox{\bf lowerCase?}\opLeftPren{}c\opRightPren{}} +tests if character \smath{c} is an lower case letter, that is, one of \smath{a}\ldots\smath{z}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{listOfProperties}}\opLeftPren{}{\it threeSpace}\opRightPren{}% +\opdata{{\mbox{\axiomFun{listOfProperties}}\opLeftPren{} +{\it threeSpace}\opRightPren{}% }% }% {1}{(\$)->List(SubSpaceComponentProperty)}{ThreeSpace} -{\smath{\mbox{\bf listOfProperties}\opLeftPren{}sp\opRightPren{}} returns a list of subspace +{\smath{\mbox{\bf listOfProperties}\opLeftPren{}sp\opRightPren{}} +returns a list of subspace component properties for \smath{sp} of type \spadtype{ThreeSpace}, or calls \spadfun{error} if this is not possible. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{listOfPoints}}\opLeftPren{}{\it threeSpace}\opRightPren{}% +\opdata{{\mbox{\axiomFun{listOfPoints}}\opLeftPren{} +{\it threeSpace}\opRightPren{}% }% }% {1}{(\$)->List(Point(R))}{ThreeSpace} @@ -74691,28 +77482,34 @@ returns the list of points component contained in \smath{sp}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{mainKernel}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{mainKernel}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(\$)->Union(Kernel(\$), "failed")}{ExpressionSpace} -{\smath{\mbox{\bf mainKernel}\opLeftPren{}f\opRightPren{}} returns a kernel of \smath{f} with maximum +{\smath{\mbox{\bf mainKernel}\opLeftPren{}f\opRightPren{}} +returns a kernel of \smath{f} with maximum nesting level, or \mbox{\tt "failed"} if \smath{f} has no kernels (that is, \smath{f} is a constant). } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{mainVariable}}\opLeftPren{}{\it polynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{mainVariable}}\opLeftPren{} +{\it polynomial}\opRightPren{}% }% }% {1}{(\$)->Union(VarSet, "failed")}{PolynomialCategory} -{\smath{\mbox{\bf mainVariable}\opLeftPren{}u\opRightPren{}} returns the variable of highest ordering +{\smath{\mbox{\bf mainVariable}\opLeftPren{}u\opRightPren{}} +returns the variable of highest ordering that actually occurs in the polynomial \smath{p}, or \mbox{\tt "failed"} if no variables are present. Argument u can be either a polynomial or a rational function. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{makeFloatFunction}}\opLeftPren{}{\it expression}, \allowbreak{}{\it symbol}\allowbreak $\,[$ , \allowbreak{}{\it symbol}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{makeFloatFunction}}\opLeftPren{} +{\it expression}, \allowbreak{}{\it symbol}\allowbreak $\,[$ , \allowbreak{} +{\it symbol}$]$\opRightPren{}% }% }% {2}{(S, Symbol)->(DoubleFloat)->DoubleFloat}{MakeFloatCompiledFunction} @@ -74720,11 +77517,13 @@ Argument u can be either a polynomial or a rational function. type \spadtype{InputForm} (objects of the most common types can be so coerced).} \newitem -\smath{\mbox{\bf makeFloatFunction}\opLeftPren{}expr, \allowbreak{} x\opRightPren{}} returns an anonymous function +\smath{\mbox{\bf makeFloatFunction}\opLeftPren{}expr, +\allowbreak{} x\opRightPren{}} returns an anonymous function of type \spadsig{Float}{Float} defined by \smath{x \mapsto {\rm expr}}. \newitem -\smath{\mbox{\bf makeFloatFunction}\opLeftPren{}expr, \allowbreak{} x, \allowbreak{} y\opRightPren{}} returns an anonymous function +\smath{\mbox{\bf makeFloatFunction}\opLeftPren{}expr, +\allowbreak{} x, \allowbreak{} y\opRightPren{}} returns an anonymous function of type \spadsig{(Float, Float)}{Float} defined by \smath{(x, y) \mapsto {\rm expr}}. } @@ -74732,25 +77531,31 @@ of type \spadsig{(Float, Float)}{Float} defined by % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{makeVariable}}\opLeftPren{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{makeVariable}}\opLeftPren{} +{\it element}\opRightPren{}% }% }% {1}{(S)->(NonNegativeInteger)->\$}{DifferentialPolynomialCategory} -{\smath{\mbox{\bf makeVariable}\opLeftPren{}s\opRightPren{}}, where \smath{s} is a symbol, +{\smath{\mbox{\bf makeVariable}\opLeftPren{}s\opRightPren{}}, +where \smath{s} is a symbol, differential indeterminate, or a differential polynomial, returns a function \smath{f} defined on the non-negative integers such that \smath{f(n)} returns the \eth{\smath{n}} derivative of \smath{s}. \newitem -\smath{\mbox{\bf makeVariable}\opLeftPren{}s, \allowbreak{} n\opRightPren{}} returns the \eth{\smath{n}} derivative of a +\smath{\mbox{\bf makeVariable}\opLeftPren{}s, +\allowbreak{} n\opRightPren{}} returns the \eth{\smath{n}} derivative of a differential indeterminate \smath{s} as an algebraic indeterminate. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{makeObject}}\opLeftPren{}{\it functions}, \allowbreak{}{\it range}\allowbreak $\,[$ , \allowbreak{}{\it range}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{makeObject}}\opLeftPren{}{\it functions}, +\allowbreak{}{\it range}\allowbreak $\,[$ , \allowbreak{} +{\it range}$]$\opRightPren{}% }% }% -{2}{(ParametricSpaceCurve((DoubleFloat)->DoubleFloat), Segment(Float))->ThreeSpace(DoubleFloat)}{TopLevelDrawFunctionsForCompiledFunctions} +{2}{(ParametricSpaceCurve((DoubleFloat)->DoubleFloat), Segment(Float))-> +ThreeSpace(DoubleFloat)}{TopLevelDrawFunctionsForCompiledFunctions} {Arguments \smath{f}, \smath{g}, and \smath{h} appearing below with arguments (for example, \smath{f(x, y)}) denote symbolic expressions involving those arguments. @@ -74760,47 +77565,69 @@ functions which map one or more \spadtype{DoubleFloat} values to \spadtype{DoubleFloat} values. \largerbreak Values \smath{a}, \smath{b}, \smath{c}, and \smath{d} denote numerical values. -\bigitem\smath{\mbox{\bf makeObject}\opLeftPren{}curve(f, g, h), \allowbreak{} a..b\opRightPren{}} returns the space +\bigitem\smath{\mbox{\bf makeObject}\opLeftPren{}curve(f, g, h), +\allowbreak{} a..b\opRightPren{}} returns the space \smath{sp} of the domain \spadtype{ThreeSpace} with the addition of the graph of the parametric curve \smath{x = f(t)}, \smath{y = -g(t)}, \smath{z = h(t)} as \smath{t} ranges from \smath{\mbox{\bf min}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} +g(t)}, \smath{z = h(t)} as \smath{t} ranges from +\smath{\mbox{\bf min}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}a, \allowbreak{} b\opRightPren{}}. -\bigitem\smath{\mbox{\bf makeObject}\opLeftPren{}curve(f(t), g(t), h(t)), \allowbreak{} t = a..b\opRightPren{}} +\bigitem\smath{\mbox{\bf makeObject}\opLeftPren{}curve(f(t), g(t), h(t)), +\allowbreak{} t = a..b\opRightPren{}} returns the space \smath{sp} of the domain \spadtype{ThreeSpace} with the addition of the graph of the parametric curve \smath{x = f(t)}, \smath{y = g(t)}, \smath{z = h(t)} as \smath{t} ranges from -\smath{\mbox{\bf min}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}a, \allowbreak{} b\opRightPren{}}. -\bigitem\smath{\mbox{\bf makeObject}\opLeftPren{}f, \allowbreak{} a..b, \allowbreak{} c..d\opRightPren{}} returns the space +\smath{\mbox{\bf min}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} +to \smath{\mbox{\bf max}\opLeftPren{}a, \allowbreak{} b\opRightPren{}}. +\bigitem\smath{\mbox{\bf makeObject}\opLeftPren{}f, \allowbreak{} a..b, +\allowbreak{} c..d\opRightPren{}} returns the space \smath{sp} of the domain \spadtype{ThreeSpace} with the addition of the graph of \smath{z = f(x, y)} as \smath{x} ranges from -\smath{\mbox{\bf min}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} and \smath{y} ranges from -\smath{\mbox{\bf min}\opLeftPren{}c, \allowbreak{} d\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}c, \allowbreak{} d\opRightPren{}}. -\bigitem\smath{\mbox{\bf makeObject}\opLeftPren{}f(x, y), \allowbreak{} x = a..b, \allowbreak{} y = c..d\opRightPren{}} returns +\smath{\mbox{\bf min}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} +to \smath{\mbox{\bf max}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} +and \smath{y} ranges from +\smath{\mbox{\bf min}\opLeftPren{}c, \allowbreak{} d\opRightPren{}} +to \smath{\mbox{\bf max}\opLeftPren{}c, \allowbreak{} d\opRightPren{}}. +\bigitem\smath{\mbox{\bf makeObject}\opLeftPren{}f(x, y), +\allowbreak{} x = a..b, \allowbreak{} y = c..d\opRightPren{}} returns the space \smath{sp} of the domain \spadtype{ThreeSpace} with the addition of the graph of \smath{z = f(x, y)} as \smath{x} ranges -from \smath{\mbox{\bf min}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} and \smath{y} ranges -from \smath{\mbox{\bf min}\opLeftPren{}c, \allowbreak{} d\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}c, \allowbreak{} d\opRightPren{}}. -\bigitem\smath{\mbox{\bf makeObject}\opLeftPren{}surface(f, g, h), \allowbreak{} a..b, \allowbreak{} c..d\opRightPren{}} returns +from \smath{\mbox{\bf min}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} +to \smath{\mbox{\bf max}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} and +\smath{y} ranges +from \smath{\mbox{\bf min}\opLeftPren{}c, \allowbreak{} d\opRightPren{}} +to \smath{\mbox{\bf max}\opLeftPren{}c, \allowbreak{} d\opRightPren{}}. +\bigitem\smath{\mbox{\bf makeObject}\opLeftPren{}surface(f, g, h), +\allowbreak{} a..b, \allowbreak{} c..d\opRightPren{}} returns the space \smath{sp} of the domain \spadtype{ThreeSpace} with the addition of the graph of the parametric surface \smath{x = f(u, v)}, \smath{y = g(u, v)}, \smath{z = h(u, v)} as \smath{u} ranges -from \smath{\mbox{\bf min}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} and \smath{v} ranges -from \smath{\mbox{\bf min}\opLeftPren{}c, \allowbreak{} d\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}c, \allowbreak{} d\opRightPren{}}. +from \smath{\mbox{\bf min}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} +to \smath{\mbox{\bf max}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} +and \smath{v} ranges +from \smath{\mbox{\bf min}\opLeftPren{}c, \allowbreak{} d\opRightPren{}} +to \smath{\mbox{\bf max}\opLeftPren{}c, \allowbreak{} d\opRightPren{}}. \bigitem \smath{makeObject(surface(f(u, v), g(u, v), h(u, v)), u = a..b, v = c..d)} returns the space \smath{sp} of the domain \spadtype{ThreeSpace} with the addition of the graph of the parametric surface \smath{x = f(u, v)}, \smath{y = g(u, v)}, -\smath{z = h(u, v)} as \smath{u} ranges from \smath{\mbox{\bf min}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} to -\smath{\mbox{\bf max}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} and \smath{v} ranges from \smath{\mbox{\bf min}\opLeftPren{}c, \allowbreak{} d\opRightPren{}} to +\smath{z = h(u, v)} as \smath{u} ranges from +\smath{\mbox{\bf min}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} to +\smath{\mbox{\bf max}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} +and \smath{v} ranges from \smath{\mbox{\bf min}\opLeftPren{}c, +\allowbreak{} d\opRightPren{}} to \smath{\mbox{\bf max}\opLeftPren{}c, \allowbreak{} d\opRightPren{}}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{makeYoungTableau}}\opLeftPren{}{\it listOfIntegers}, \allowbreak{}{\it listOfIntegers}\opRightPren{}% +\opdata{{\mbox{\axiomFun{makeYoungTableau}}\opLeftPren{} +{\it listOfIntegers}, \allowbreak{}{\it listOfIntegers}\opRightPren{}% }% }% -{2}{(List(Integer), List(Integer))->Matrix(Integer)}{SymmetricGroupCombinatoricFunctions} -{\smath{\mbox{\bf makeYoungTableau}\opLeftPren{}lambda, \allowbreak{} gitter\opRightPren{}} computes for a given +{2}{(List(Integer), List(Integer))->Matrix(Integer)} +{SymmetricGroupCombinatoricFunctions} +{\smath{\mbox{\bf makeYoungTableau}\opLeftPren{}lambda, +\allowbreak{} gitter\opRightPren{}} computes for a given lattice permutation {\it gitter} and for an improper partition {\it lambda} the corresponding standard tableau of shape {\it lambda}. @@ -74812,16 +77639,21 @@ See \spadfun{listYoungTableaus}. }% }% {1}{(\$)->Integer}{FloatingPointSystem} -{\smath{\mbox{\bf mantissa}\opLeftPren{}x\opRightPren{}} returns the mantissa part of \smath{x}. +{\smath{\mbox{\bf mantissa}\opLeftPren{}x\opRightPren{}} +returns the mantissa part of \smath{x}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{map}}\opLeftPren{}{\it function}, \allowbreak{}{\it structure}\allowbreak $\,[$ , \allowbreak{}{\it structure}$]$\opRightPren{}% - \opand \mbox{\axiomFun{map!}}\opLeftPren{}{\it function}, \allowbreak{}{\it structure}\opRightPren{}% +\opdata{{\mbox{\axiomFun{map}}\opLeftPren{}{\it function}, \allowbreak{} +{\it structure}\allowbreak $\,[$ , \allowbreak{} +{\it structure}$]$\opRightPren{}% + \opand \mbox{\axiomFun{map!}}\opLeftPren{}{\it function}, \allowbreak{} +{\it structure}\opRightPren{}% }% }% {2}{((R)->R, \$)->\$}{AbelianMonoidRing} -{\smath{\mbox{\bf map}\opLeftPren{}fn, \allowbreak{} u\opRightPren{}} maps the one-argument function \smath{fn} onto +{\smath{\mbox{\bf map}\opLeftPren{}fn, \allowbreak{} u\opRightPren{}} +maps the one-argument function \smath{fn} onto the components of a structure, returning a new structure. Most structures allow \smath{f} to have different source and target domains. @@ -74842,34 +77674,41 @@ coefficients of the series. \item a segment \smath{a..b} or a segment binding of the form \smath{x=a..b}: each of the elements from \smath{a} to \smath{b}. \item an equation: both sides of the equation. -\end{simpleList} \smath{\mbox{\bf map}\opLeftPren{}fn, \allowbreak{} u, \allowbreak{} v\opRightPren{}} maps the two argument +\end{simpleList} \smath{\mbox{\bf map}\opLeftPren{}fn, +\allowbreak{} u, \allowbreak{} v\opRightPren{}} maps the two argument function \smath{fn} onto the components of a structure, returning a new structure. Arguments \smath{u} and \smath{v} can be matrices, finite aggregates such as lists, tables, and vectors, and infinite aggregates such as streams and series. -\bigitem \smath{\mbox{\bf map!}\opLeftPren{}f, \allowbreak{} u\opRightPren{}}, where \smath{u} is homogeneous +\bigitem \smath{\mbox{\bf map!}\opLeftPren{}f, +\allowbreak{} u\opRightPren{}}, where \smath{u} is homogeneous aggregate, destructively replaces each element \smath{x} of \smath{u} by \smath{f(x)}. \bigitem \seeAlso{\spadfun{match}} } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{mapCoef}}\opLeftPren{}{\it function}, \allowbreak{}{\it freeAbelianMonoid}\opRightPren{}% - \opand \mbox{\axiomFun{mapGen}}\opLeftPren{}{\it function}, \allowbreak{}{\it freeAbelianMonoid}\opRightPren{}% +\opdata{{\mbox{\axiomFun{mapCoef}}\opLeftPren{} +{\it function}, \allowbreak{}{\it freeAbelianMonoid}\opRightPren{}% + \opand \mbox{\axiomFun{mapGen}}\opLeftPren{} +{\it function}, \allowbreak{}{\it freeAbelianMonoid}\opRightPren{}% }% }% {2}{((E)->E, \$)->\$}{FreeAbelianMonoidCategory} -{\smath{\mbox{\bf mapCoeff}\opLeftPren{}f, \allowbreak{} m\opRightPren{}} maps unary function \smath{f} onto the +{\smath{\mbox{\bf mapCoeff}\opLeftPren{}f, +\allowbreak{} m\opRightPren{}} maps unary function \smath{f} onto the coefficients of a free abelian monoid of the form \smath{e_1 a_1 +\ldots+ e_n a_n} returning \smath{f(e_1) a_1 +\ldots+ f(e_n) a_n}. -\newitem\smath{\mbox{\bf mapGen}\opLeftPren{}fn, \allowbreak{} m\opRightPren{}} similarly returns +\newitem\smath{\mbox{\bf mapGen}\opLeftPren{}fn, +\allowbreak{} m\opRightPren{}} similarly returns \smath{e_1 f(a_1) +\ldots+ e_n f(a_n)}. \seeType{FreeAbelianMonoidCategory} } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{mapDown!}}\opLeftPren{}{\it tree}, \allowbreak{}{\it value}, \allowbreak{}{\it function}\opRightPren{}% +\opdata{{\mbox{\axiomFun{mapDown!}}\opLeftPren{}{\it tree}, +\allowbreak{}{\it value}, \allowbreak{}{\it function}\opRightPren{}% }% }% {2}{((E)->E, \$)->\$}{FreeAbelianMonoidCategory} @@ -74880,14 +77719,16 @@ then right branch) of a tree \smath{t} of type type \smath{S} from the root to the leaves of the tree, then returning the modified tree as value; \smath{p} is a value of type \smath{S}.} -\newitem\smath{\mbox{\bf mapDown!}\opLeftPren{}t, \allowbreak{} p, \allowbreak{} f\opRightPren{}}, where \smath{f} is a function +\newitem\smath{\mbox{\bf mapDown!}\opLeftPren{}t, +\allowbreak{} p, \allowbreak{} f\opRightPren{}}, where \smath{f} is a function of type \spadsig{(S, S)}{S}, replaces the successive interior nodes of \smath{t} as follows. The root value \smath{x} is replaced by \smath{q = f(x, p)}. Then \spadfun{mapDown!} is recursively applied to \smath{(l, q, f)} and \smath{(r, q, f)} where \smath{l} and \smath{r} are respectively the left and right subtrees of \smath{t}. -\newitem\smath{\mbox{\bf mapDown!}\opLeftPren{}t, \allowbreak{} p, \allowbreak{} f\opRightPren{}}, where \smath{f} is a function +\newitem\smath{\mbox{\bf mapDown!}\opLeftPren{}t, +\allowbreak{} p, \allowbreak{} f\opRightPren{}}, where \smath{f} is a function of type \spadsig{(S, S, S)}{List S}, is similar. The root value of \smath{t} is first replaced by \smath{p}. Then \smath{f} is applied to three values: the value at the @@ -74898,16 +77739,19 @@ the left and right subtrees. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{mapExponents}}\opLeftPren{}{\it function}, \allowbreak{}{\it polynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{mapExponents}}\opLeftPren{} +{\it function}, \allowbreak{}{\it polynomial}\opRightPren{}% }% }% {2}{((E)->E, \$)->\$}{FiniteAbelianMonoidRing} -{\smath{\mbox{\bf mapExponents}\opLeftPren{}fn, \allowbreak{} u\opRightPren{}} maps function \smath{fn} onto the +{\smath{\mbox{\bf mapExponents}\opLeftPren{}fn, +\allowbreak{} u\opRightPren{}} maps function \smath{fn} onto the exponents of the non-zero monomials of polynomial \smath{u}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{mapUp!}}\opLeftPren{}{\it \optinit{tree, }tree, function}\opRightPren{}% +\opdata{{\mbox{\axiomFun{mapUp!}}\opLeftPren{} +{\it \optinit{tree, }tree, function}\opRightPren{}% }% }% {2}{((E)->E, \$)->\$}{FreeAbelianMonoidCategory} @@ -74917,11 +77761,14 @@ right branch then node) of a tree \smath{t} of type type \smath{S} from the leaves to the root of the tree, then returning the modified tree as value; \smath{p} is a value of type \smath{S}.} -\newitem\smath{\mbox{\bf mapUp!}\opLeftPren{}t, \allowbreak{} f\opRightPren{}}, where \smath{f} has type +\newitem\smath{\mbox{\bf mapUp!}\opLeftPren{}t, +\allowbreak{} f\opRightPren{}}, where \smath{f} has type \spadsig{(S, S)}{S}, replaces the value at each interior node by \smath{f(l, r)}, where \smath{l} and \smath{r} are the values at the immediate left and right nodes. -\newitem\smath{\mbox{\bf mapUp!}\opLeftPren{}t, \allowbreak{} t_1, \allowbreak{} f\opRightPren{}} makes an endorder traversal of +\newitem\smath{\mbox{\bf mapUp!}\opLeftPren{}t, +\allowbreak{} t_1, \allowbreak{} f\opRightPren{}} +makes an endorder traversal of both \smath{t} and \smath{t_1} (of identical shape) in parallel. The value at each successive interior node of \smath{t} is replaced by \smath{f(l, r, l_1, r_1)}, where \smath{l} and @@ -74935,48 +77782,63 @@ values of \smath{t_1}. }% }% {1}{(\$)->\$}{IntegerNumberSystem} -{\smath{\mbox{\bf mask}\opLeftPren{}n\opRightPren{}} returns \smath{2^n-1} (an \smath{n}-bit mask). +{\smath{\mbox{\bf mask}\opLeftPren{}n\opRightPren{}} returns +\smath{2^n-1} (an \smath{n}-bit mask). } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{match?}}\opLeftPren{}{\it string}, \allowbreak{}{\it string}, \allowbreak{}{\it character}\opRightPren{}% +\opdata{{\mbox{\axiomFun{match?}}\opLeftPren{}{\it string}, \allowbreak{} +{\it string}, \allowbreak{}{\it character}\opRightPren{}% }% }% {3}{(\$, \$, Character)->Boolean}{StringAggregate} -{\smath{\mbox{\bf match?}\opLeftPren{}s, \allowbreak{} t, \allowbreak{} char\opRightPren{}} tests if \smath{s} matches \smath{t} except perhaps for multiple and consecutive occurrences of character \smath{char}. Typically \smath{char} is the blank character. +{\smath{\mbox{\bf match?}\opLeftPren{}s, \allowbreak{} t, +\allowbreak{} char\opRightPren{}} tests if \smath{s} matches \smath{t} except +perhaps for multiple and consecutive occurrences of character \smath{char}. +Typically \smath{char} is the blank character. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{match}}\opLeftPren{}{\it list}, \allowbreak{}{\it list}\allowbreak $\,[$ , \allowbreak{}{\it option}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{match}}\opLeftPren{}{\it list}, \allowbreak{} +{\it list}\allowbreak $\,[$ , \allowbreak{}{\it option}$]$\opRightPren{}% }% }% {2}{(List(A), List(B))->(A)->B}{ListToMap} -{\smath{\mbox{\bf match}\opLeftPren{}la, \allowbreak{} lb\optinner{, u}\opRightPren{}}, +{\smath{\mbox{\bf match}\opLeftPren{}la, +\allowbreak{} lb\optinner{, u}\opRightPren{}}, where \smath{la} and \smath{lb} are lists of equal length, creates a function that can be used by \spadfun{map}. The target of a source value \smath{x} in \smath{la} is the value \smath{y} with the corresponding index in \smath{lb}. Optional argument \smath{u} defines the target for a source value \smath{a} which is not in \smath{la}. -If \smath{u} is a value of the source domain, then \smath{a} is replaced by \smath{u}, +If \smath{u} is a value of the source domain, then \smath{a} is +replaced by \smath{u}, which must be a member of \smath{la}. -If \smath{u} is a value of the target domain, the value returned by the map for +If \smath{u} is a value of the target domain, the value returned +by the map for \smath{a} is \smath{u}. If \smath{u} is a function \smath{f}, then the value returned is \smath{f(a)}. If no third argument is given, an error occurs when such a \smath{a} is found. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{mathieu11}}\opLeftPren{}{\it \opt{listOfIntegers}}\opRightPren{}% - \optand \mbox{\axiomFun{mathieu12}}\opLeftPren{}{\it \opt{listOfIntegers}}\opRightPren{}% - \optand \mbox{\axiomFun{mathieu22}}\opLeftPren{}{\it \opt{listOfIntegers}}\opRightPren{}% - \optand \mbox{\axiomFun{mathieu23}}\opLeftPren{}{\it \opt{listOfIntegers}}\opRightPren{}% - \opand \mbox{\axiomFun{mathieu24}}\opLeftPren{}{\it \opt{listOfIntegers}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{mathieu11}}\opLeftPren{} +{\it \opt{listOfIntegers}}\opRightPren{}% + \optand \mbox{\axiomFun{mathieu12}}\opLeftPren{} +{\it \opt{listOfIntegers}}\opRightPren{}% + \optand \mbox{\axiomFun{mathieu22}}\opLeftPren{} +{\it \opt{listOfIntegers}}\opRightPren{}% + \optand \mbox{\axiomFun{mathieu23}}\opLeftPren{} +{\it \opt{listOfIntegers}}\opRightPren{}% + \opand \mbox{\axiomFun{mathieu24}}\opLeftPren{} +{\it \opt{listOfIntegers}}\opRightPren{}% }% }% % {0}{()->PermutationGroup(Integer)}{PermutationGroupExamples}{% -\smath{\mbox{\bf mathieu11}\opLeftPren{}\optinner{li}\opRightPren{}} constructs the +\smath{\mbox{\bf mathieu11}\opLeftPren{}\optinner{li}\opRightPren{}} +constructs the mathieu group acting on the eleven integers given in the list \smath{li}. Duplicates in the list will be removed and \spadfun{error} will be called @@ -74985,14 +77847,15 @@ The default value of \smath{li} is \smath{[1, \ldots, 11]}. Operations \smath{mathieu12}, \smath{mathieu22}, and \smath{mathieu23} and \smath{mathieu24} are similar. -These operations provide examples of permutation groups in \Language{}.} +These operations provide examples of permutation groups in Axiom.} % ---------------------------------------------------------------------- \opdata{{\mbox{\axiomFun{matrix}}\opLeftPren{}{\it listOfLists}\opRightPren{}% }% }% {1}{(List(List(R)))->\$}{RectangularMatrixCategory} -{\smath{\mbox{\bf matrix}\opLeftPren{}l\opRightPren{}} converts the list of lists \smath{l} to a +{\smath{\mbox{\bf matrix}\opLeftPren{}l\opRightPren{}} +converts the list of lists \smath{l} to a matrix, where the list of lists is viewed as a list of the rows of the matrix. \newitem\smath{\mbox{\bf matrix}\opLeftPren{}llo\opRightPren{}}, @@ -75008,10 +77871,13 @@ returns an output form displaying \smath{llo} as a matrix. }% }% {0}{()->\$}{SingleInteger} -{\smath{\mbox{\bf max}\opLeftPren{}\opRightPren{}} returns the largest small integer. -\newline\smath{\mbox{\bf max}\opLeftPren{}u\opRightPren{}} returns the largest element of aggregate +{\smath{\mbox{\bf max}\opLeftPren{}\opRightPren{}} returns +the largest small integer. +\newline\smath{\mbox{\bf max}\opLeftPren{}u\opRightPren{}} +returns the largest element of aggregate \smath{u}. -\newline\smath{\mbox{\bf max}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} returns the maximum of \smath{x} and +\newline\smath{\mbox{\bf max}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} +returns the maximum of \smath{x} and \smath{y} relative to a total ordering \axiomOp{<}. } @@ -75020,7 +77886,8 @@ returns an output form displaying \smath{llo} as a matrix. }% }% {1}{(\$)->Integer}{RectangularMatrixCategory} -{\smath{\mbox{\bf maxColIndex}\opLeftPren{}m\opRightPren{}} returns the index of the last column of the matrix +{\smath{\mbox{\bf maxColIndex}\opLeftPren{}m\opRightPren{}} +returns the index of the last column of the matrix or two-dimensional array \smath{m}. } @@ -75030,9 +77897,11 @@ or two-dimensional array \smath{m}. }% }% {1}{(\$)->Index}{IndexedAggregate} -{\smath{\mbox{\bf maxIndex}\opLeftPren{}u\opRightPren{}} returns the maximum index \smath{i} of indexed +{\smath{\mbox{\bf maxIndex}\opLeftPren{}u\opRightPren{}} +returns the maximum index \smath{i} of indexed aggregate \smath{u}. For most indexed aggregates (vectors, strings, lists), -\smath{\mbox{\bf maxIndex}\opLeftPren{}u\opRightPren{}} is equivalent to \smath{\# u.} +\smath{\mbox{\bf maxIndex}\opLeftPren{}u\opRightPren{}} is +equivalent to \smath{\# u.} } @@ -75043,30 +77912,39 @@ aggregate \smath{u}. For most indexed aggregates (vectors, strings, lists), }% }% {1}{(\$)->Integer}{RectangularMatrixCategory} -{\smath{\mbox{\bf maxRowIndex}\opLeftPren{}m\opRightPren{}} returns the index of the ``last'' row of the matrix +{\smath{\mbox{\bf maxRowIndex}\opLeftPren{}m\opRightPren{}} +returns the index of the ``last'' row of the matrix or two-dimensional array \smath{m}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{meatAxe}}\opLeftPren{}{\it listOfListsOfMatrices \opt{, boolean, integer, integer}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{meatAxe}}\opLeftPren{} +{\it listOfListsOfMatrices \opt{, boolean, integer, integer}}\opRightPren{}% }% }% -{4}{(List(Matrix(R)), Boolean, Integer, Integer)->List(List(Matrix(R)))}{RepresentationPackage2} -{\smath{\mbox{\bf meatAxe}\opLeftPren{}aG \optinner{, randomElts, \allowbreak numOfTries, \allowbreak maxTests}\opRightPren{}} tries to +{4}{(List(Matrix(R)), Boolean, Integer, Integer)-> +List(List(Matrix(R)))}{RepresentationPackage2} +{\smath{\mbox{\bf meatAxe}\opLeftPren{}aG \optinner{, randomElts, +\allowbreak numOfTries, \allowbreak maxTests}\opRightPren{}} tries to split the representation given by \smath{aG} and returns a 2-list of -representations. All matrices of argument \smath{aG} are assumed to be square and of equal size. +representations. All matrices of argument \smath{aG} are assumed to be +square and of equal size. The default values of arguments \smath{randomElts}, -\smath{numOfTries} and \smath{maxTests} are \smath{false}, 25, and 7, respectively. +\smath{numOfTries} and \smath{maxTests} are \smath{false}, 25, and 7, +respectively. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{member?}}\opLeftPren{}{\it element}, \allowbreak{}{\it aggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{member?}}\opLeftPren{}{\it element}, \allowbreak{} +{\it aggregate}\opRightPren{}% }% }% {2}{(S, \$)->Boolean}{HomogeneousAggregate} -{\smath{\mbox{\bf member?}\opLeftPren{}x, \allowbreak{} u\opRightPren{}} tests if \smath{x} is a member of \smath{u}. +{\smath{\mbox{\bf member?}\opLeftPren{}x, \allowbreak{} u\opRightPren{}} +tests if \smath{x} is a member of \smath{u}. \newitem -\smath{\mbox{\bf member?}\opLeftPren{}pp, \allowbreak{} gp\opRightPren{}}, where \smath{pp} is a permutation and +\smath{\mbox{\bf member?}\opLeftPren{}pp, \allowbreak{} gp\opRightPren{}}, +where \smath{pp} is a permutation and \smath{gp} is a group, tests whether {\it pp} is in the group {\it gp}. } @@ -75078,16 +77956,19 @@ whether {\it pp} is in the group {\it gp}. }% }% {2}{(\$, \$)->\$}{ExtensibleLinearAggregate} -{\smath{\mbox{\bf merge}\opLeftPren{}[s1, \allowbreak{} s2, \allowbreak{} \ldots, sn]\opRightPren{}} will create a new +{\smath{\mbox{\bf merge}\opLeftPren{}[s1, \allowbreak{} s2, \allowbreak{} +\ldots, sn]\opRightPren{}} will create a new \spadtype{ThreeSpace} object that has the components of all the ones in the list; groupings of components into composites are maintained. \newitem -\smath{\mbox{\bf merge}\opLeftPren{}s1, \allowbreak{} s2\opRightPren{}} will create a new \spadtype{ThreeSpace} +\smath{\mbox{\bf merge}\opLeftPren{}s1, \allowbreak{} s2\opRightPren{}} +will create a new \spadtype{ThreeSpace} object that has the components of \smath{s1} and \smath{s2}; groupings of components into composites are maintained. \newitem -\smath{\mbox{\bf merge}\opLeftPren{}\optfirst{p, }a, b\opRightPren{}} returns an aggregate \smath{c} which +\smath{\mbox{\bf merge}\opLeftPren{}\optfirst{p, }a, b\opRightPren{}} +returns an aggregate \smath{c} which merges \smath{a} and \smath{b}. The result is produced by examining each element \smath{x} of \smath{a} and \smath{y} of \smath{b} successively. @@ -75095,16 +77976,21 @@ If \smath{p(x, y)} is \smath{true}, then \smath{x} is inserted into the result. Otherwise \smath{y} is inserted. If \smath{x} is chosen, the next element of \smath{a} is examined, and so on. -When all the elements of one aggregate are examined, the remaining elements of the other are appended. For example, \smath{\mbox{\bf merge}\opLeftPren{}<, \allowbreak{} [1, \allowbreak{} 3], \allowbreak{} [2, \allowbreak{} 7, \allowbreak{} 5]\opRightPren{}} returns \smath{[1, 2, 3, 7, 5]}. +When all the elements of one aggregate are examined, the remaining elements +of the other are appended. For example, \smath{\mbox{\bf merge}\opLeftPren{}<, +\allowbreak{} [1, \allowbreak{} 3], \allowbreak{} [2, \allowbreak{} 7, +\allowbreak{} 5]\opRightPren{}} returns \smath{[1, 2, 3, 7, 5]}. By default, function \smath{p} is \smath{\leq}. \newitem -\smath{\mbox{\bf merge!}\opLeftPren{}\optfirst{p}, u, v\opRightPren{}} destructively merges the elements \smath{u} and \smath{v} into +\smath{\mbox{\bf merge!}\opLeftPren{}\optfirst{p}, u, v\opRightPren{}} +destructively merges the elements \smath{u} and \smath{v} into \smath{u} using comparison function \smath{p}. Function \smath{p} is \smath{\leq} by default. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{mesh}}\opLeftPren{}{\it u\opt{, v, w, x}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{mesh}}\opLeftPren{} +{\it u\opt{, v, w, x}}\opRightPren{}% }% }% {4}{(\$, List(List(List(R))), Boolean, Boolean)->\$}{ThreeSpace} @@ -75113,11 +77999,14 @@ object \smath{sp}. Argument \smath{lc} is a list of curves. Each curve is either a list of points (objects of type \spadtype{Point}) or else a list of lists of small floats.} -\newitem\smath{\mbox{\bf mesh}\opLeftPren{}lc\opRightPren{}} returns a \spadtype{ThreeSpace} object +\newitem\smath{\mbox{\bf mesh}\opLeftPren{}lc\opRightPren{}} +returns a \spadtype{ThreeSpace} object defined by \smath{lc}. -\newitem\smath{\mbox{\bf mesh}\opLeftPren{}sp\opRightPren{}} returns the list of curves contained in +\newitem\smath{\mbox{\bf mesh}\opLeftPren{}sp\opRightPren{}} +returns the list of curves contained in space \smath{sp}. -\newitem\smath{\mbox{\bf mesh}\opLeftPren{}\optfirst{sp, }, lc, close1, close2\opRightPren{}} adds the +\newitem\smath{\mbox{\bf mesh}\opLeftPren{} +\optfirst{sp, }, lc, close1, close2\opRightPren{}} adds the list of curves \smath{lc} to the \spadtype{ThreeSpace} object \smath{sp}. Boolean arguments \smath{close1} and \smath{close2} tell how the @@ -75131,14 +78020,19 @@ By default, the argument \smath{sp} is empty. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{midpoints}}\opLeftPren{}{\it listOfIntervals}\opRightPren{}% +\opdata{{\mbox{\axiomFun{midpoints}}\opLeftPren{} +{\it listOfIntervals}\opRightPren{}% }% }% -{1}{(List(Record(left:Fraction(Integer), right:Fraction(Integer))))->List(Fraction(Integer))}{RealZeroPackage} +{1}{(List(Record(left:Fraction(Integer), right:Fraction(Integer))))-> +List(Fraction(Integer))}{RealZeroPackage} {\opkey{These operations are defined on ``intervals'' represented -by records with keys \smath{right} and \smath{left}, and rational number values.} -\newitem\smath{\mbox{\bf midpoints}\opLeftPren{}isolist\opRightPren{}} returns the list of midpoints for the list of intervals \smath{isolist}. -\newitem\smath{\mbox{\bf midpoint}\opLeftPren{}int\opRightPren{}} returns the midpoint of the interval \smath{int}. +by records with keys \smath{right} and \smath{left}, and rational +number values.} +\newitem\smath{\mbox{\bf midpoints}\opLeftPren{}isolist\opRightPren{}} +returns the list of midpoints for the list of intervals \smath{isolist}. +\newitem\smath{\mbox{\bf midpoint}\opLeftPren{}int\opRightPren{}} +returns the midpoint of the interval \smath{int}. } % ---------------------------------------------------------------------- @@ -75146,11 +78040,14 @@ by records with keys \smath{right} and \smath{left}, and rational number values. }% }% {0}{()->\$}{SingleInteger} -{\smath{\mbox{\bf min}\opLeftPren{}\opRightPren{}} returns the element of type \spadtype{SingleInteger}. +{\smath{\mbox{\bf min}\opLeftPren{}\opRightPren{}} returns the +element of type \spadtype{SingleInteger}. \newitem -\smath{\mbox{\bf min}\opLeftPren{}u\opRightPren{}} returns the smallest element of aggregate \smath{u}. +\smath{\mbox{\bf min}\opLeftPren{}u\opRightPren{}} returns the +smallest element of aggregate \smath{u}. \newitem -\smath{\mbox{\bf min}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} returns the minimum of \smath{x} and \smath{y} relative to +\smath{\mbox{\bf min}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} +returns the minimum of \smath{x} and \smath{y} relative to total ordering \smath{<}. } @@ -75159,41 +78056,56 @@ total ordering \smath{<}. }% }% {1}{(\$)->Integer}{RectangularMatrixCategory} -{\smath{\mbox{\bf minColIndex}\opLeftPren{}m\opRightPren{}} returns the index of the ``first'' column +{\smath{\mbox{\bf minColIndex}\opLeftPren{}m\opRightPren{}} +returns the index of the ``first'' column of the matrix or two-dimensional array \smath{m}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{minimalPolynomial}}\opLeftPren{}{\it element}, \allowbreak{}{\it positiveInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{minimalPolynomial}}\opLeftPren{} +{\it element}, \allowbreak{}{\it positiveInteger}\opRightPren{}% }% }% {1}{(\$)->SparseUnivariatePolynomial(F)}{FiniteAlgebraicExtensionField} -{\smath{\mbox{\bf minimalPolynomial}\opLeftPren{}x\optinner{, n}\opRightPren{}} computes the minimal polynomial of \smath{x} over the field of extension degree \smath{n} over the ground field \smath{F}. +{\smath{\mbox{\bf minimalPolynomial}\opLeftPren{}x +\optinner{, n}\opRightPren{}} computes the minimal +polynomial of \smath{x} over the +field of extension degree \smath{n} over the ground field \smath{F}. The default value of \smath{n} is 1. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{minimalPolynomial}}\opLeftPren{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{minimalPolynomial}}\opLeftPren{} +{\it element}\opRightPren{}% }% }% {1}{(\$)->UP}{FiniteRankAlgebra} -{\smath{\mbox{\bf minimalPolynomial}\opLeftPren{}a\opRightPren{}} returns the minimal polynomial of element \smath{a} +{\smath{\mbox{\bf minimalPolynomial}\opLeftPren{}a\opRightPren{}} +returns the minimal polynomial of element \smath{a} of a finite rank algebra. \seeType{FiniteRankAlgebra} } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{minimumDegree}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it variable}\opRightPren{}% +\opdata{{\mbox{\axiomFun{minimumDegree}}\opLeftPren{} +{\it polynomial}, \allowbreak{}{\it variable}\opRightPren{}% }% }% {1}{(\$)->E}{FiniteAbelianMonoidRing} -{\smath{\mbox{\bf minimumDegree}\opLeftPren{}p, \allowbreak{} v\opRightPren{}} gives the minimum degree of polynomial \smath{p} with respect to \smath{v}, that is, viewed as a univariate polynomial in \smath{v}. +{\smath{\mbox{\bf minimumDegree}\opLeftPren{}p, +\allowbreak{} v\opRightPren{}} gives the minimum degree of +polynomial \smath{p} with +respect to \smath{v}, that is, viewed as a univariate polynomial in \smath{v}. \newitem -\smath{\mbox{\bf minimumDegree}\opLeftPren{}p, \allowbreak{} lv\opRightPren{}} gives the list of minimum degrees of the polynomial \smath{p} with respect to each of the variables in the list \smath{lv}. +\smath{\mbox{\bf minimumDegree}\opLeftPren{}p, +\allowbreak{} lv\opRightPren{}} gives the list of +minimum degrees of the polynomial \smath{p} +with respect to each of the variables in the list \smath{lv}. \newitem -\seeAlso{\spadtype{FiniteAbelianMonoidRing} and \spadtype{MonogenicLinearOperator}} +\seeAlso{\spadtype{FiniteAbelianMonoidRing} and +\spadtype{MonogenicLinearOperator}} } % ---------------------------------------------------------------------- @@ -75201,7 +78113,8 @@ of a finite rank algebra. }% }% {1}{(\$)->Index}{IndexedAggregate} -{\smath{\mbox{\bf minIndex}\opLeftPren{}aggregate\opRightPren{}} returns the minimum index \smath{i} of aggregate \smath{u}. +{\smath{\mbox{\bf minIndex}\opLeftPren{}aggregate\opRightPren{}} +returns the minimum index \smath{i} of aggregate \smath{u}. Note: the \axiomFun{minIndex} of most system-defined indexed aggregates is 1. See also \spadtype{PointCategory}. } @@ -75212,7 +78125,8 @@ See also \spadtype{PointCategory}. }% }% {1}{(\$)->R}{MatrixCategory} -{\smath{\mbox{\bf minordet}\opLeftPren{}m\opRightPren{}} computes the determinant of the matrix \smath{m} using minors, +{\smath{\mbox{\bf minordet}\opLeftPren{}m\opRightPren{}} +computes the determinant of the matrix \smath{m} using minors, or calls \spadfun{error} if the matrix is not square. } @@ -75223,7 +78137,8 @@ or calls \spadfun{error} if the matrix is not square. }% }% {1}{(Kernel(\$))->SparseUnivariatePolynomial(\$)}{ExpressionSpace} -{\smath{\mbox{\bf minPoly}\opLeftPren{}k\opRightPren{}} returns polynomial \smath{p} such that \smath{p(k) = 0}. +{\smath{\mbox{\bf minPoly}\opLeftPren{}k\opRightPren{}} +returns polynomial \smath{p} such that \smath{p(k) = 0}. } % ---------------------------------------------------------------------- @@ -75231,7 +78146,8 @@ or calls \spadfun{error} if the matrix is not square. }% }% {1}{(\$)->Integer}{RectangularMatrixCategory} -{\smath{\mbox{\bf minRowIndex}\opLeftPren{}m\opRightPren{}} returns the index of the ``first'' row of the matrix +{\smath{\mbox{\bf minRowIndex}\opLeftPren{}m\opRightPren{}} +returns the index of the ``first'' row of the matrix or two-dimensional array \smath{m}. } @@ -75240,16 +78156,21 @@ or two-dimensional array \smath{m}. }% }% {0}{()->OrderedCompletion(Integer)}{Infinity} -{\smath{\mbox{\bf minusInfinity}\opLeftPren{}\opRightPren{}} returns {\tt \%minusInfinity}, -the \Language{} name for \smath{-\infty}. +{\smath{\mbox{\bf minusInfinity}\opLeftPren{}\opRightPren{}} +returns {\tt \%minusInfinity}, +the Axiom name for \smath{-\infty}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{modifyPointData}}\opLeftPren{}{\it space}, \allowbreak{}{\it nonNegativeInteger}, \allowbreak{}{\it point}\opRightPren{}% +\opdata{{\mbox{\axiomFun{modifyPointData}}\opLeftPren{}{\it space}, +\allowbreak{}{\it nonNegativeInteger}, \allowbreak{} +{\it point}\opRightPren{}% }% }% {3}{(\$, NonNegativeInteger, Point(R))->\$}{ThreeSpace} -{\smath{\mbox{\bf modifyPointData}\opLeftPren{}sp, \allowbreak{} i, \allowbreak{} p\opRightPren{}} changes the point at the indexed location \smath{i} in the \spadtype{ThreeSpace} object \smath{sp} to \smath{p}. +{\smath{\mbox{\bf modifyPointData}\opLeftPren{}sp, \allowbreak{} i, +\allowbreak{} p\opRightPren{}} changes the point at the indexed location +\smath{i} in the \spadtype{ThreeSpace} object \smath{sp} to \smath{p}. This operation is useful for making changes to existing data. } @@ -75258,7 +78179,8 @@ This operation is useful for making changes to existing data. }% }% {1}{(\$)->Integer}{PAdicIntegerCategory} -{\smath{\mbox{\bf moduloP}\opLeftPren{}x\opRightPren{}}, such that \smath{p = \mbox{\bf modulus}()}, +{\smath{\mbox{\bf moduloP}\opLeftPren{}x\opRightPren{}}, +such that \smath{p = \mbox{\bf modulus}()}, returns a, where \smath{x = a + b p} where \smath{x} is a \smath{p}-adic integer. \seeType{PAdicIntegerCategory} @@ -75269,7 +78191,8 @@ where \smath{x} is a \smath{p}-adic integer. }% }% {0}{()->Integer}{PAdicIntegerCategory} -{\smath{\mbox{\bf modulus}\opLeftPren{}\opRightPren{}\$R} returns the value of the modulus \smath{p} +{\smath{\mbox{\bf modulus}\opLeftPren{}\opRightPren{}\$R} +returns the value of the modulus \smath{p} of a p-adic integer domain \smath{R}. \seeType{PAdicIntegerCategory} } @@ -75279,7 +78202,8 @@ of a p-adic integer domain \smath{R}. }% }% {1}{(Integer)->Integer}{IntegerNumberTheoryFunctions} -{\smath{\mbox{\bf moebiusMu}\opLeftPren{}n\opRightPren{}} returns the Moebius function \smath{\mu(n)}, +{\smath{\mbox{\bf moebiusMu}\opLeftPren{}n\opRightPren{}} +returns the Moebius function \smath{\mu(n)}, defined as \smath{-1}, \smath{0} or \smath{1} as follows: \smath{\mu(n) = 0} if \smath{n} is divisible by a square \smath{ > 1}, and \smath{(-1)^k} if \smath{n} is square-free and @@ -75287,11 +78211,14 @@ has \smath{k} distinct prime divisors. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{monicDivide}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it polynomial}\allowbreak $\,[$ , \allowbreak{}{\it variable}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{monicDivide}}\opLeftPren{} +{\it polynomial}, \allowbreak{}{\it polynomial}\allowbreak $\,[$ , +\allowbreak{}{\it variable}$]$\opRightPren{}% }% }% {2}{(\$, \$)->Record(quotient:\$, remainder:\$)}{UnivariatePolynomialCategory} -{\smath{\mbox{\bf monicDivide}\opLeftPren{}p, \allowbreak{} q\optinner{, v}\opRightPren{}} divides the polynomial +{\smath{\mbox{\bf monicDivide}\opLeftPren{}p, +\allowbreak{} q\optinner{, v}\opRightPren{}} divides the polynomial \smath{p} by the monic polynomial \smath{q}, returning the record containing a \smath{quotient} and \smath{remainder}. For multivariate polynomials, the polynomials are viewed as a @@ -75303,52 +78230,64 @@ respect to \smath{v}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{monomial}}\opLeftPren{}{\it coefficient}, \allowbreak{}{\it exponent}\allowbreak $\,[$ , \allowbreak{}{\it option}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{monomial}}\opLeftPren{}{\it coefficient}, +\allowbreak{}{\it exponent}\allowbreak $\,[$ , +\allowbreak{}{\it option}$]$\opRightPren{}% }% }% {2}{(R, E)->\$}{AbelianMonoidRing} -{\smath{\mbox{\bf monomial}\opLeftPren{}coef, \allowbreak{} exp\opRightPren{}} creates a term of +{\smath{\mbox{\bf monomial}\opLeftPren{}coef, +\allowbreak{} exp\opRightPren{}} creates a term of a univariate polynomial or series object from a coefficient \smath{coef} and exponent \smath{exp}. The variable name must be given by context (as through a declaration for the result). \newitem -\smath{\mbox{\bf monomial}\opLeftPren{}c, \allowbreak{} [x_1, \allowbreak{} \ldots, x_k], [n_1, \ldots, n_k]\opRightPren{}} creates a term +\smath{\mbox{\bf monomial}\opLeftPren{}c, +\allowbreak{} [x_1, \allowbreak{} \ldots, x_k], +[n_1, \ldots, n_k]\opRightPren{}} creates a term \smath{c x_1^{n_1}\ldots x_k^{n_k}} of a multivariate power series or polynomial from coefficient \smath{c}, variables \smath{x_j} and exponents \smath{n_j}. \newitem -\smath{\mbox{\bf monomial}\opLeftPren{}c, \allowbreak{} x, \allowbreak{} n\opRightPren{}} creates a term \smath{c x^n} +\smath{\mbox{\bf monomial}\opLeftPren{}c, +\allowbreak{} x, \allowbreak{} n\opRightPren{}} creates a term \smath{c x^n} of a polynomial or series from a coefficient \smath{c}, variable \smath{x}, and exponent \smath{n}. \newitem -\smath{\mbox{\bf monomial}\opLeftPren{}c, \allowbreak{} [n_1, \allowbreak{} \ldots, n_k]\opRightPren{}} +\smath{\mbox{\bf monomial}\opLeftPren{}c, +\allowbreak{} [n_1, \allowbreak{} \ldots, n_k]\opRightPren{}} creates a \spadtype{CliffordAlgebra} element \smath{c e(n_1), \ldots, c e(n_k)} from a coefficient \smath{c} and basis elements \smath{c(i_j)} } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{monomial?}}\opLeftPren{}{\it polynomialOrSeries}\opRightPren{}% +\opdata{{\mbox{\axiomFun{monomial?}}\opLeftPren{} +{\it polynomialOrSeries}\opRightPren{}% }% }% {1}{(\$)->Boolean}{AbelianMonoidRing} -{\smath{\mbox{\bf monomial?}\opLeftPren{}p\opRightPren{}} tests if polynomial or series \smath{p} is a +{\smath{\mbox{\bf monomial?}\opLeftPren{}p\opRightPren{}} +tests if polynomial or series \smath{p} is a single monomial. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{monomials}}\opLeftPren{}{\it polynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{monomials}}\opLeftPren{} +{\it polynomial}\opRightPren{}% }% }% {1}{(\$)->List(\$)}{PolynomialCategory} -{\smath{\mbox{\bf monomials}\opLeftPren{}p\opRightPren{}} returns the list of non-zero monomials of +{\smath{\mbox{\bf monomials}\opLeftPren{}p\opRightPren{}} +returns the list of non-zero monomials of polynomial \smath{p}, \smath{[a_1 X^{(1)}, \ldots, a_n X^{(n)}]}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{more?}}\opLeftPren{}{\it aggregate}, \allowbreak{}{\it nonNegativeInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{more?}}\opLeftPren{} +{\it aggregate}, \allowbreak{}{\it nonNegativeInteger}\opRightPren{}% }% }% {2}{(\$, NonNegativeInteger)->Boolean}{Aggregate} @@ -75357,31 +78296,38 @@ tests if \smath{u} has greater than \smath{n} elements. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{movedPoints}}\opLeftPren{}{\it permutation}\opRightPren{}% +\opdata{{\mbox{\axiomFun{movedPoints}}\opLeftPren{} +{\it permutation}\opRightPren{}% }% }% {1}{(\$)->Set(S)}{Permutation} -{\smath{\mbox{\bf movedPoints}\opLeftPren{}p\opRightPren{}} returns the set of points moved by the permutation \smath{p}. +{\smath{\mbox{\bf movedPoints}\opLeftPren{}p\opRightPren{}} +returns the set of points moved by the permutation \smath{p}. \newitem -\smath{\mbox{\bf movedPoints}\opLeftPren{}gp\opRightPren{}} returns the points moved by the group {\it gp}. +\smath{\mbox{\bf movedPoints}\opLeftPren{}gp\opRightPren{}} +returns the points moved by the group {\it gp}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{mulmod}}\opLeftPren{}{\it integer}, \allowbreak{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{mulmod}}\opLeftPren{}{\it integer}, +\allowbreak{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% }% }% {3}{(\$, \$, \$)->\$}{IntegerNumberSystem} -{\smath{\mbox{\bf mulmod}\opLeftPren{}a, \allowbreak{} b, \allowbreak{} p\opRightPren{}}, where \smath{a}, +{\smath{\mbox{\bf mulmod}\opLeftPren{}a, \allowbreak{} b, +\allowbreak{} p\opRightPren{}}, where \smath{a}, \smath{b} are non-negative integers both \smath{<} integer \smath{p}, returns \smath{a b \mod p}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{multiEuclidean}}\opLeftPren{}{\it listOfElements}, \allowbreak{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{multiEuclidean}}\opLeftPren{} +{\it listOfElements}, \allowbreak{}{\it element}\opRightPren{}% }% }% {2}{(List(\$), \$)->Union(List(\$), "failed")}{EuclideanDomain} -{\smath{\mbox{\bf multiEuclidean}\opLeftPren{}[f_1, \allowbreak{} \ldots, f_n], z\opRightPren{}} returns a list of +{\smath{\mbox{\bf multiEuclidean}\opLeftPren{}[f_1, \allowbreak{} +\ldots, f_n], z\opRightPren{}} returns a list of coefficients \smath{[a_1, \ldots, a_n]} such that \smath{z/\prod_{i=1}^n f_i = \sum\nolimits_{j=1}^n {a_j/f_j}}. @@ -75390,20 +78336,24 @@ returned. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{multinomial}}\opLeftPren{}{\it integer}, \allowbreak{}{\it listOfIntegers}\opRightPren{}% +\opdata{{\mbox{\axiomFun{multinomial}}\opLeftPren{}{\it integer}, +\allowbreak{}{\it listOfIntegers}\opRightPren{}% }% }% {2}{(I, List(I))->I}{IntegerCombinatoricFunctions} -{\smath{\mbox{\bf multinomial}\opLeftPren{}n, \allowbreak{} [m_1, \allowbreak{} m_2, \allowbreak{} \ldots, m_k]\opRightPren{}} returns the +{\smath{\mbox{\bf multinomial}\opLeftPren{}n, \allowbreak{} +[m_1, \allowbreak{} m_2, \allowbreak{} \ldots, m_k]\opRightPren{}} returns the multinomial coefficient \smath{n!/(m_1! m_2! \ldots m_k!)}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{multiple}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{multiple}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(F)->F}{FunctionSpaceAssertions} -{\smath{\mbox{\bf multiple}\opLeftPren{}x\opRightPren{}} directs the pattern matcher that \smath{x} +{\smath{\mbox{\bf multiple}\opLeftPren{}x\opRightPren{}} +directs the pattern matcher that \smath{x} should preferably match a multi-term quantity in a sum or product. For matching on lists, multiple(\smath{x}) tells the pattern matcher that \smath{x} should match a list instead of an element @@ -75412,21 +78362,25 @@ This operation calls \spadfun{error} if \smath{x} is not a symbol. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{multiplyCoefficients}}\opLeftPren{}{\it function}, \allowbreak{}{\it series}\opRightPren{}% +\opdata{{\mbox{\axiomFun{multiplyCoefficients}}\opLeftPren{} +{\it function}, \allowbreak{}{\it series}\opRightPren{}% }% }% {2}{((Integer)->Coef, \$)->\$}{UnivariateTaylorSeriesCategory} -{\smath{\mbox{\bf multiplyCoefficients}\opLeftPren{}f, \allowbreak{} s\opRightPren{}} returns +{\smath{\mbox{\bf multiplyCoefficients}\opLeftPren{}f, +\allowbreak{} s\opRightPren{}} returns \smath{\sum\nolimits_{n = 0}^\infty {f(n) a_n x^n}} where \smath{s} is the series \smath{\sum\nolimits_{n = 0}^\infty{a_n x^n}}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{multiplyExponents}}\opLeftPren{}{\it various}, \allowbreak{}{\it nonNegativeInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{multiplyExponents}}\opLeftPren{} +{\it various}, \allowbreak{}{\it nonNegativeInteger}\opRightPren{}% }% }% {2}{(\$, NonNegativeInteger)->\$}{UnivariatePolynomialCategory} -{\smath{\mbox{\bf multiplyExponents}\opLeftPren{}p, \allowbreak{} n\opRightPren{}}, +{\smath{\mbox{\bf multiplyExponents}\opLeftPren{}p, +\allowbreak{} n\opRightPren{}}, where \smath{p} is a univariate polynomial or series, returns a new polynomial or series resulting from multiplying all exponents by the non @@ -75434,19 +78388,23 @@ negative integer \smath{n}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{multiset}}\opLeftPren{}{\it listOfElements}\opRightPren{}% +\opdata{{\mbox{\axiomFun{multiset}}\opLeftPren{} +{\it listOfElements}\opRightPren{}% }% }% {2}{(SparseUnivariatePolynomial(R), VarSet)->\$}{PolynomialCategory} -{\smath{\mbox{\bf multiset}\opLeftPren{}ls\opRightPren{}} creates a multiset with elements from \smath{ls}. +{\smath{\mbox{\bf multiset}\opLeftPren{}ls\opRightPren{}} +creates a multiset with elements from \smath{ls}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{multivariate}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it symbol}\opRightPren{}% +\opdata{{\mbox{\axiomFun{multivariate}}\opLeftPren{} +{\it polynomial}, \allowbreak{}{\it symbol}\opRightPren{}% }% }% {2}{(SparseUnivariatePolynomial(R), VarSet)->\$}{PolynomialCategory} -{\smath{\mbox{\bf multivariate}\opLeftPren{}p, \allowbreak{} v\opRightPren{}} converts an anonymous univariate +{\smath{\mbox{\bf multivariate}\opLeftPren{}p, \allowbreak{} v\opRightPren{}} +converts an anonymous univariate polynomial \smath{p} to a polynomial in the variable \smath{v}. } % ---------------------------------------------------------------------- @@ -75454,9 +78412,12 @@ polynomial \smath{p} to a polynomial in the variable \smath{v}. }% }% {1}{(\$)->String}{FileNameCategory} -{\smath{\mbox{\bf name}\opLeftPren{}f\opRightPren{}} returns the name part of the file name for file \smath{f}. -\newitem\smath{\mbox{\bf name}\opLeftPren{}op\opRightPren{}} returns the name of basic operator \smath{op}. -\newitem\smath{\mbox{\bf name}\opLeftPren{}s\opRightPren{}} returns symbol \smath{s} without its scripts. +{\smath{\mbox{\bf name}\opLeftPren{}f\opRightPren{}} returns +the name part of the file name for file \smath{f}. +\newitem\smath{\mbox{\bf name}\opLeftPren{}op\opRightPren{}} +returns the name of basic operator \smath{op}. +\newitem\smath{\mbox{\bf name}\opLeftPren{}s\opRightPren{}} +returns symbol \smath{s} without its scripts. } @@ -75465,7 +78426,8 @@ polynomial \smath{p} to a polynomial in the variable \smath{v}. }% }% {2}{(\$, \$)->\$}{BitAggregate} -{\smath{\mbox{\bf nand}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} returns the logical negation of +{\smath{\mbox{\bf nand}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} +returns the logical negation of \smath{a} and \smath{b}, either booleans or bit aggregates. Note: \smath{\mbox{\bf nand}\opLeftPren{}a, b) = true} if and only if one of \smath{a} and \smath{b} is \smath{false}. @@ -75476,7 +78438,8 @@ Note: \smath{\mbox{\bf nand}\opLeftPren{}a, b) = true} if and only if one of }% }% {1}{(\$)->Boolean}{BasicOperator} -{\smath{\mbox{\bf nary?}\opLeftPren{}op\opRightPren{}} tests if \smath{op} accepts an arbitrary number +{\smath{\mbox{\bf nary?}\opLeftPren{}op\opRightPren{}} +tests if \smath{op} accepts an arbitrary number of arguments. } @@ -75485,7 +78448,8 @@ of arguments. }% }% {1}{(\$)->NonNegativeInteger}{RectangularMatrixCategory} -{\smath{\mbox{\bf ncols}\opLeftPren{}m\opRightPren{}} returns the number of columns in the matrix +{\smath{\mbox{\bf ncols}\opLeftPren{}m\opRightPren{}} +returns the number of columns in the matrix or two-dimensional array \smath{m}. } @@ -75502,11 +78466,15 @@ Other variations are as follows: \begin{simpleList} \item\smath{\mbox{\bf new}\opLeftPren{}s\opRightPren{}}, where s is a symbol, returns a new symbol whose name starts with \%\smath{s}. -\item\smath{\mbox{\bf new}\opLeftPren{}n, \allowbreak{} x\opRightPren{}} returns \smath{\mbox{\bf fill!}\opLeftPren{}new(n), \allowbreak{} x\opRightPren{}}, an -aggregate of \smath{n} elements, each with value \smath{x}. -\item\smath{\mbox{\bf new}\opLeftPren{}m, \allowbreak{} n, \allowbreak{} r\opRightPren{}\$R} creates an \smath{m}-by-\smath{n} array +\item\smath{\mbox{\bf new}\opLeftPren{}n, \allowbreak{} x\opRightPren{}} +returns \smath{\mbox{\bf fill!}\opLeftPren{}new(n), +\allowbreak{} x\opRightPren{}}, +an aggregate of \smath{n} elements, each with value \smath{x}. +\item\smath{\mbox{\bf new}\opLeftPren{}m, \allowbreak{} n, +\allowbreak{} r\opRightPren{}\$R} creates an \smath{m}-by-\smath{n} array or matrix of type \smath{R} all of whose entries are \smath{r}. -\item\smath{\mbox{\bf new}\opLeftPren{}d, \allowbreak{} pre, \allowbreak{} e\opRightPren{}}, +\item\smath{\mbox{\bf new}\opLeftPren{}d, \allowbreak{} pre, +\allowbreak{} e\opRightPren{}}, where \smath{d}, smath{pre}, and smath{e} are strings, constructs the name of a new writable file with \smath{d} as its directory, \smath{pre} as a prefix of its name and \smath{e} @@ -75522,47 +78490,64 @@ written in the given directory. }% }% {0}{()->String}{DisplayPackage} -{\smath{\mbox{\bf newLine}\opLeftPren{}\opRightPren{}} sends a new line command to output. +{\smath{\mbox{\bf newLine}\opLeftPren{}\opRightPren{}} sends a new line +command to output. See \spadtype{DisplayPackage}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{nextColeman}}\opLeftPren{}{\it listOfIntegers}, \allowbreak{}{\it listOfIntegers}, \allowbreak{}{\it matrix}\opRightPren{}% +\opdata{{\mbox{\axiomFun{nextColeman}}\opLeftPren{}{\it listOfIntegers}, +\allowbreak{}{\it listOfIntegers}, \allowbreak{}{\it matrix}\opRightPren{}% }% }% -{3}{(List(Integer), List(Integer), Matrix(Integer))->Matrix(Integer)}{SymmetricGroupCombinatoricFunctions} -{\smath{\mbox{\bf nextColeman}\opLeftPren{}alpha, \allowbreak{} beta, \allowbreak{} C\opRightPren{}} generates the next +{3}{(List(Integer), List(Integer), Matrix(Integer))->Matrix(Integer)} +{SymmetricGroupCombinatoricFunctions} +{\smath{\mbox{\bf nextColeman}\opLeftPren{}alpha, \allowbreak{} beta, +\allowbreak{} C\opRightPren{}} generates the next Coleman-matrix of column sums {\it alpha} and row sums {\it beta} according to the lexicographical order from bottom-to-top. The first Coleman matrix is created using \smath{C = {\bf new}(1, 1, 0)}. -Also, \smath{\mbox{\bf new}\opLeftPren{}1, \allowbreak{} 1, \allowbreak{} 0\opRightPren{}} indicates that \smath{C} is the last Coleman matrix. +Also, \smath{\mbox{\bf new}\opLeftPren{}1, \allowbreak{} 1, +\allowbreak{} 0\opRightPren{}} indicates that \smath{C} is the +last Coleman matrix. See \spadtype{SymmetricGroupCombinatoricFunctions} for details. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{nextLatticePermutation}}\opLeftPren{}{\it integers}, \allowbreak{}{\it integers}, \allowbreak{}{\it boolean}\opRightPren{}% +\opdata{{\mbox{\axiomFun{nextLatticePermutation}}\opLeftPren{} +{\it integers}, \allowbreak{}{\it integers}, \allowbreak{} +{\it boolean}\opRightPren{}% }% }% -{3}{(List(Integer), List(Integer), Boolean)->List(Integer)}{SymmetricGroupCombinatoricFunctions} -{\smath{\mbox{\bf nextLatticePermutation}\opLeftPren{}lambda, \allowbreak{} lattP, \allowbreak{} constructNotFirst\opRightPren{}} +{3}{(List(Integer), List(Integer), Boolean)->List(Integer)} +{SymmetricGroupCombinatoricFunctions} +{\smath{\mbox{\bf nextLatticePermutation}\opLeftPren{}lambda, +\allowbreak{} lattP, \allowbreak{} constructNotFirst\opRightPren{}} generates the -lattice permutation according to the proper partition \smath{lambda} succeeding +lattice permutation according to the proper partition +\smath{lambda} succeeding the lattice permutation \smath{lattP} in lexicographical order as long as \smath{constructNotFirst} is \smath{true}. If \smath{constructNotFirst} is \smath{false}, the first -lattice permutation is returned. The result \smath{nil} indicates that \smath{lattP} has no successor. +lattice permutation is returned. The result \smath{nil} +indicates that \smath{lattP} has no successor. See \spadtype{SymmetricGroupCombinatoricFunctions} for details. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{nextPartition}}\opLeftPren{}{\it vectorOfIntegers}, \allowbreak{}{\it vectorOfIntegers}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{nextPartition}}\opLeftPren{} +{\it vectorOfIntegers}, \allowbreak{}{\it vectorOfIntegers}, \allowbreak{} +{\it integer}\opRightPren{}% }% }% -{3}{(List(Integer), Vector(Integer), Integer)->Vector(Integer)}{SymmetricGroupCombinatoricFunctions} -{\smath{\mbox{\bf nextPartition}\opLeftPren{}gamma, \allowbreak{} part, \allowbreak{} number\opRightPren{}} generates the partition of +{3}{(List(Integer), Vector(Integer), Integer)-> +Vector(Integer)}{SymmetricGroupCombinatoricFunctions} +{\smath{\mbox{\bf nextPartition}\opLeftPren{}gamma, +\allowbreak{} part, \allowbreak{} number\opRightPren{}} +generates the partition of \smath{number} which follows \smath{part} according to the right-to-left lexicographical order. The partition has the property that its components do not exceed @@ -75573,11 +78558,13 @@ See \spadtype{SymmetricGroupCombinatoricFunctions} for details. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{nextPrime}}\opLeftPren{}{\it positiveInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{nextPrime}}\opLeftPren{} +{\it positiveInteger}\opRightPren{}% }% }% {1}{(I)->I}{IntegerPrimesPackage} -{\smath{\mbox{\bf nextPrime}\opLeftPren{}n\opRightPren{}} returns the smallest prime strictly larger +{\smath{\mbox{\bf nextPrime}\opLeftPren{}n\opRightPren{}} +returns the smallest prime strictly larger than \smath{n}. } @@ -75587,74 +78574,91 @@ than \smath{n}. }% }% {0}{()->\$}{List} -{\smath{\mbox{\bf nil}\opLeftPren{}\opRightPren{}\$R} returns the empty list of type \smath{R}. +{\smath{\mbox{\bf nil}\opLeftPren{}\opRightPren{}\$R} +returns the empty list of type \smath{R}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{nilFactor}}\opLeftPren{}{\it element}, \allowbreak{}{\it nonNegativeInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{nilFactor}}\opLeftPren{} +{\it element}, \allowbreak{}{\it nonNegativeInteger}\opRightPren{}% }% }% {2}{(R, Integer)->\$}{Factored} -{\smath{\mbox{\bf nilFactor}\opLeftPren{}base, \allowbreak{} exponent\opRightPren{}} creates a factored object with a single factor +{\smath{\mbox{\bf nilFactor}\opLeftPren{}base, +\allowbreak{} exponent\opRightPren{}} creates a +factored object with a single factor with no information about the kind of \smath{base}. See \spadtype{Factored} for details. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{node?}}\opLeftPren{}{\it aggregate}, \allowbreak{}{\it aggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{node?}}\opLeftPren{} +{\it aggregate}, \allowbreak{}{\it aggregate}\opRightPren{}% }% }% {2}{(\$, \$)->Boolean}{RecursiveAggregate} -{\smath{\mbox{\bf node?}\opLeftPren{}u, \allowbreak{} v\opRightPren{}} tests if node \smath{u} is contained in node +{\smath{\mbox{\bf node?}\opLeftPren{}u, \allowbreak{} v\opRightPren{}} +tests if node \smath{u} is contained in node \smath{v} (either as a child, a child of a child, etc.). } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{nodes}}\opLeftPren{}{\it recursiveAggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{nodes}}\opLeftPren{} +{\it recursiveAggregate}\opRightPren{}% }% }% {1}{(\$)->List(\$)}{RecursiveAggregate} -{\smath{\mbox{\bf nodes}\opLeftPren{}a\opRightPren{}} returns a list of all the nodes of aggregate +{\smath{\mbox{\bf nodes}\opLeftPren{}a\opRightPren{}} +returns a list of all the nodes of aggregate \smath{a}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{noncommutativeJordanAlgebra?}}\opLeftPren{}\opRightPren{}% +\opdata{{\mbox{\axiomFun{noncommutativeJordanAlgebra?}} +\opLeftPren{}\opRightPren{}% }% }% {0}{()->Boolean}{FiniteRankNonAssociativeAlgebra} -{\smath{\mbox{\bf noncommutativeJordanAlgebra?}\opLeftPren{}\opRightPren{}\$F} tests if the algebra +{\smath{\mbox{\bf noncommutativeJordanAlgebra?} +\opLeftPren{}\opRightPren{}\$F} tests if the algebra \smath{F} is flexible and Jordan admissible. See \spadtype{FiniteRankNonAssociativeAlgebra}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{nor}}\opLeftPren{}{\it boolean}, \allowbreak{}{\it boolean}\opRightPren{}% +\opdata{{\mbox{\axiomFun{nor}}\opLeftPren{} +{\it boolean}, \allowbreak{}{\it boolean}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{BitAggregate} -{\smath{\mbox{\bf nor}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} returns the logical \smath{nor} of booleans or +{\smath{\mbox{\bf nor}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}} returns the logical \smath{nor} of booleans or bit aggregates \smath{a} and \smath{b}. -Note: \smath{\mbox{\bf nor}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} = true if and only if both \smath{a} and +Note: \smath{\mbox{\bf nor}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}} = true if and only if both \smath{a} and \smath{b} are \smath{false}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{norm}}\opLeftPren{}{\it element\opt{, option}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{norm}}\opLeftPren{} +{\it element\opt{, option}}\opRightPren{}% }% }% {1}{(\$)->R}{ComplexCategory} {\smath{\mbox{\bf norm}\opLeftPren{}x\opRightPren{}} returns: \begin{simpleList} -\item for complex \smath{x}: \smath{\mbox{\bf conjugate}\opLeftPren{}x\opRightPren{}} +\item for complex \smath{x}: +\smath{\mbox{\bf conjugate}\opLeftPren{}x\opRightPren{}} . \item for floats: the absolute value. \item for quaternions or octonions: the sum of the squares of its coefficients. \item for a domain of category \spadtype{FiniteRankAlgebra}: -the determinant of the regular representation of \smath{x} with respect to any basis. +the determinant of the regular representation of \smath{x} with +respect to any basis. \end{simpleList} -\smath{\mbox{\bf norm}\opLeftPren{}x\optinner{, p}\opRightPren{}}, where \smath{p} is a +\smath{\mbox{\bf norm}\opLeftPren{}x\optinner{, p}\opRightPren{}}, +where \smath{p} is a positiveInteger and \smath{x} is an element of a domain of category \spadtype{FiniteAlgebraExtensionField} over ground field \smath{F}, @@ -75676,7 +78680,8 @@ where \smath{a} is a member of a domain of category \smath{FiniteAlgebraicExtensionField} over a field \smath{F}, tests whether the element \smath{a} is normal over the ground field \smath{F}, that is, if -\smath{a^{q^i}, 0 \leq i \leq {\bf extensionDegree}()-1} is an \smath{F}-basis, +\smath{a^{q^i}, 0 \leq i \leq {\bf extensionDegree}()-1} is +an \smath{F}-basis, where \smath{q = {\bf size}()}. } @@ -75689,7 +78694,8 @@ where \smath{q = {\bf size}()}. where \smath{R} is a domain of category \smath{FiniteAlgebraicExtensionField} over a field \smath{F}, returns a element, normal over the ground field \smath{F}, -that is, \smath{a^{q^i}, 0 \leq i < {\bf extensionDegree}()} is an \smath{F}-basis, +that is, \smath{a^{q^i}, 0 \leq i < {\bf extensionDegree}()} +is an \smath{F}-basis, where \smath{q = {\bf size}()}. At the first call, the element is computed by \spadfunFrom{createNormalElement}{FiniteAlgebraicExtensionField} @@ -75699,11 +78705,13 @@ global variable. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{normalForm}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it listOfpolynomials}\opRightPren{}% +\opdata{{\mbox{\axiomFun{normalForm}}\opLeftPren{} +{\it polynomial}, \allowbreak{}{\it listOfpolynomials}\opRightPren{}% }% }% {2}{(Dpol, List(Dpol))->Dpol}{GroebnerPackage} -{\smath{\mbox{\bf normalForm}\opLeftPren{}poly, \allowbreak{} gb\opRightPren{}} reduces the polynomial \smath{poly} +{\smath{\mbox{\bf normalForm}\opLeftPren{}poly, +\allowbreak{} gb\opRightPren{}} reduces the polynomial \smath{poly} modulo the precomputed Gr\"obner basis \smath{gb} giving a canonical representative of the residue class. } @@ -75712,19 +78720,25 @@ canonical representative of the residue class. \opdata{{\mbox{\axiomFun{normalise}}\opLeftPren{}{\it element}\opRightPren{}% }% }% -{1}{(Matrix(Expression(Fraction(Integer))))->Matrix(Expression(Fraction(Integer)))}{RadicalEigenPackage} -{\smath{\mbox{\bf normalise}\opLeftPren{}v\opRightPren{}} returns the column vector \smath{v} divided +{1}{(Matrix(Expression(Fraction(Integer))))-> +Matrix(Expression(Fraction(Integer)))}{RadicalEigenPackage} +{\smath{\mbox{\bf normalise}\opLeftPren{}v\opRightPren{}} +returns the column vector \smath{v} divided by its Euclidean norm; when possible, the vector \smath{v} is expressed in terms of radicals.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{normalize}}\opLeftPren{}{\it element \opt, option}\opRightPren{}% +\opdata{{\mbox{\axiomFun{normalize}}\opLeftPren{} +{\it element \opt, option}\opRightPren{}% }% }% -{1}{(Matrix(Expression(Fraction(Integer))))->Matrix(Expression(Fraction(Integer)))}{RadicalEigenPackage} -{\smath{\mbox{\bf normalize}\opLeftPren{}flt\opRightPren{}} normalizes float \smath{flt} at current precision. +{1}{(Matrix(Expression(Fraction(Integer))))-> +Matrix(Expression(Fraction(Integer)))}{RadicalEigenPackage} +{\smath{\mbox{\bf normalize}\opLeftPren{}flt\opRightPren{}} +normalizes float \smath{flt} at current precision. \newitem -\smath{\mbox{\bf normalize}\opLeftPren{}f\optinner{, x}\opRightPren{}} rewrites \smath{f} using the +\smath{\mbox{\bf normalize}\opLeftPren{}f\optinner{, x}\opRightPren{}} +rewrites \smath{f} using the least possible number of real algebraically independent kernels involving symbol \smath{x}. If no symbol \smath{x} is given, the operation @@ -75733,11 +78747,13 @@ algebraically independent kernels. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{normalizeAtInfinity}}\opLeftPren{}{\it vectorOfFunctions}\opRightPren{}% +\opdata{{\mbox{\axiomFun{normalizeAtInfinity}}\opLeftPren{} +{\it vectorOfFunctions}\opRightPren{}% }% }% {1}{(Vector(\$))->Vector(\$)}{FunctionFieldCategory} -{\smath{\mbox{\bf normalizeAtInfinity}\opLeftPren{}v\opRightPren{}} makes \smath{v} normal at infinity, +{\smath{\mbox{\bf normalizeAtInfinity}\opLeftPren{}v\opRightPren{}} +makes \smath{v} normal at infinity, where \smath{v} is a vector of functions defined on a curve. } @@ -75748,10 +78764,12 @@ where }% }% {1}{(\$)->\$}{Boolean} -{\smath{\mbox{\bf not}\opLeftPren{}n\opRightPren{}} returns the negation of boolean or bit aggregate +{\smath{\mbox{\bf not}\opLeftPren{}n\opRightPren{}} +returns the negation of boolean or bit aggregate \smath{n}. \newitem -\smath{\mbox{\bf not}\opLeftPren{}n\opRightPren{}} returns the bit-by-bit logical \smath{not} of the +\smath{\mbox{\bf not}\opLeftPren{}n\opRightPren{}} +returns the bit-by-bit logical \smath{not} of the small integer \smath{n}. } @@ -75761,67 +78779,80 @@ small integer \smath{n}. }% }% {1}{(\$)->NonNegativeInteger}{RectangularMatrixCategory} -{\smath{\mbox{\bf nrows}\opLeftPren{}m\opRightPren{}} returns the number of rows in the matrix +{\smath{\mbox{\bf nrows}\opLeftPren{}m\opRightPren{}} +returns the number of rows in the matrix or two-dimensional array \smath{m}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{nthExponent}}\opLeftPren{}{\it factored}, \allowbreak{}{\it positiveInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{nthExponent}}\opLeftPren{} +{\it factored}, \allowbreak{}{\it positiveInteger}\opRightPren{}% }% }% {2}{(\$, Integer)->Integer}{Factored} -{\smath{\mbox{\bf nthExponent}\opLeftPren{}u, \allowbreak{} n\opRightPren{}} returns the exponent of +{\smath{\mbox{\bf nthExponent}\opLeftPren{}u, \allowbreak{} n\opRightPren{}} +returns the exponent of the \eth{\smath{n}} factor of \smath{u}, or 0 if \smath{u} has no such factor. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{nthFactor}}\opLeftPren{}{\it factor}, \allowbreak{}{\it positiveInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{nthFactor}}\opLeftPren{} +{\it factor}, \allowbreak{}{\it positiveInteger}\opRightPren{}% }% }% {2}{(\$, Integer)->R}{Factored} -{\smath{\mbox{\bf nthFactor}\opLeftPren{}u, \allowbreak{} n\opRightPren{}} returns the base of the \eth{\smath{n}} +{\smath{\mbox{\bf nthFactor}\opLeftPren{}u, \allowbreak{} n\opRightPren{}} +returns the base of the \eth{\smath{n}} factor of \smath{u}, or 1 if \smath{n} is not a valid index for a factor. If \smath{u} consists only of a unit, the unit is returned. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{nthFlag}}\opLeftPren{}{\it factored}, \allowbreak{}{\it positiveInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{nthFlag}}\opLeftPren{} +{\it factored}, \allowbreak{}{\it positiveInteger}\opRightPren{}% }% }% {2}{(\$, Integer)->Union("nil", "sqfr", "irred", "prime")}{Factored} -{\smath{\mbox{\bf nthFlag}\opLeftPren{}u, \allowbreak{} n\opRightPren{}} returns the information flag of the +{\smath{\mbox{\bf nthFlag}\opLeftPren{}u, \allowbreak{} n\opRightPren{}} +returns the information flag of the \eth{\smath{n}} factor of \smath{u}, \mbox{\tt "nil"} if \smath{n} is not a valid index for a factor. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{nthFractionalTerm}}\opLeftPren{}{\it partialFraction}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{nthFractionalTerm}}\opLeftPren{} +{\it partialFraction}, \allowbreak{}{\it integer}\opRightPren{}% }% }% {2}{(\$, Integer)->\$}{PartialFraction} -{\smath{\mbox{\bf nthFractionalTerm}\opLeftPren{}p, \allowbreak{} n\opRightPren{}} extracts the \eth{\smath{n}} +{\smath{\mbox{\bf nthFractionalTerm}\opLeftPren{}p, +\allowbreak{} n\opRightPren{}} extracts the \eth{\smath{n}} fractional term from the partial fraction \smath{p}, or 0 if the index \smath{n} is out of range. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{nthRoot}}\opLeftPren{}{\it expression}, \allowbreak{}{\it integer}\opRightPren{}% - \opand \mbox{\axiomFun{nthRootIfCan}}\opLeftPren{}{\it expression}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{nthRoot}}\opLeftPren{} +{\it expression}, \allowbreak{}{\it integer}\opRightPren{}% + \opand \mbox{\axiomFun{nthRootIfCan}}\opLeftPren{} +{\it expression}, \allowbreak{}{\it integer}\opRightPren{}% }% }% {2}{(\$, Integer)->\$}{RadicalCategory} {\opkey{Argument \smath{x} can be of type \spadtype{Expression}, \spadtype{Complex}, \spadtype{Float} and \spadtype{DoubleFloat}, or a series.} -\newitem \smath{\mbox{\bf nthRoot}\opLeftPren{}x, \allowbreak{} n\opRightPren{}} returns the \eth{\smath{n}} root of +\newitem \smath{\mbox{\bf nthRoot}\opLeftPren{}x, +\allowbreak{} n\opRightPren{}} returns the \eth{\smath{n}} root of \smath{x}. If x is not an expression, the operation calls \spadfun{error} if this is not possible. -\newitem \smath{\mbox{\bf nthRootIfCan}\opLeftPren{}z, \allowbreak{} n\opRightPren{}} returns the \eth{\smath{n}} +\newitem \smath{\mbox{\bf nthRootIfCan}\opLeftPren{}z, +\allowbreak{} n\opRightPren{}} returns the \eth{\smath{n}} root of \smath{z} if possible, and \mbox{\tt "failed"} otherwise. } @@ -75830,7 +78861,8 @@ root of \smath{z} if possible, and \mbox{\tt "failed"} otherwise. }% }% {1}{(\$)->Boolean}{SExpressionCategory} -{\smath{\mbox{\bf null?}\opLeftPren{}s\opRightPren{}} is \smath{true} if \smath{s} is the \spadtype{SExpression} +{\smath{\mbox{\bf null?}\opLeftPren{}s\opRightPren{}} +is \smath{true} if \smath{s} is the \spadtype{SExpression} object \smath{()}. } @@ -75839,18 +78871,21 @@ object \smath{()}. }% }% { C -> (()->C)}{}{} -{\smath{\mbox{\bf nullary}\opLeftPren{}x\opRightPren{}}, where \smath{x} has type \smath{R}, returns a function +{\smath{\mbox{\bf nullary}\opLeftPren{}x\opRightPren{}}, +where \smath{x} has type \smath{R}, returns a function \smath{f} of type \spadsig{}{R} such that such that \smath{f()} returns the value \smath{c}. See also \spadfun{constant} for a similar operation. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{nullary?}}\opLeftPren{}{\it basicOperator}\opRightPren{}% +\opdata{{\mbox{\axiomFun{nullary?}}\opLeftPren{} +{\it basicOperator}\opRightPren{}% }% }% {1}{(\$)->Boolean}{BasicOperator} -{\smath{\mbox{\bf nullary?}\opLeftPren{}op\opRightPren{}} tests if basic operator \smath{op} is nullary. +{\smath{\mbox{\bf nullary?}\opLeftPren{}op\opRightPren{}} +tests if basic operator \smath{op} is nullary. } % ---------------------------------------------------------------------- @@ -75858,72 +78893,88 @@ See also \spadfun{constant} for a similar operation. }% }% {1}{(\$)->NonNegativeInteger}{MatrixCategory} -{\smath{\mbox{\bf nullity}\opLeftPren{}m\opRightPren{}} returns the dimension of the null space of the matrix \smath{m}. +{\smath{\mbox{\bf nullity}\opLeftPren{}m\opRightPren{}} +returns the dimension of the null space of the matrix \smath{m}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{nullSpace}}\opLeftPren{}{\it matrix}\opRightPren{}% +\opdata{{\mbox{\axiomFun{nullSpace}}\opLeftPren{} +{\it matrix}\opRightPren{}% }% }% {1}{(\$)->List(Col)}{MatrixCategory} -{\smath{\mbox{\bf nullSpace}\opLeftPren{}m\opRightPren{}} returns a basis for the null space of the matrix \smath{m}. +{\smath{\mbox{\bf nullSpace}\opLeftPren{}m\opRightPren{}} +returns a basis for the null space of the matrix \smath{m}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{numberOfComponents}}\opLeftPren{}{\it \opt{threeSpace}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{numberOfComponents}}\opLeftPren{} +{\it \opt{threeSpace}}\opRightPren{}% }% }% {0}{()->NonNegativeInteger}{FunctionFieldCategory} -{\smath{\mbox{\bf numberOfComponents}\opLeftPren{}\opRightPren{}\$F} returns the number of absolutely irreducible components for +{\smath{\mbox{\bf numberOfComponents}\opLeftPren{}\opRightPren{}\$F} +returns the number of absolutely irreducible components for a domain \smath{F} of functions defined over a curve. \newitem -\smath{\mbox{\bf numberOfComponents}\opLeftPren{}sp\opRightPren{}} returns the number of distinct +\smath{\mbox{\bf numberOfComponents}\opLeftPren{}sp\opRightPren{}} +returns the number of distinct object components in the \spadtype{ThreeSpace} object \smath{s} such as points, curves, and polygons. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{numberOfComputedEntries}}\opLeftPren{}{\it stream}\opRightPren{}% +\opdata{{\mbox{\axiomFun{numberOfComputedEntries}}\opLeftPren{} +{\it stream}\opRightPren{}% }% }% {1}{(\$)->NonNegativeInteger}{LazyStreamAggregate} -{\smath{\mbox{\bf numberOfComputedEntries}\opLeftPren{}st\opRightPren{}} returns the number of explicitly computed entries of stream \smath{st}. +{\smath{\mbox{\bf numberOfComputedEntries}\opLeftPren{}st\opRightPren{}} +returns the number of explicitly computed entries of stream \smath{st}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{numberOfCycles}}\opLeftPren{}{\it permutation}\opRightPren{}% +\opdata{{\mbox{\axiomFun{numberOfCycles}}\opLeftPren{} +{\it permutation}\opRightPren{}% }% }% {1}{(\$)->NonNegativeInteger}{Permutation} -{\smath{\mbox{\bf numberOfCycles}\opLeftPren{}p\opRightPren{}} returns the number of non-trivial cycles of the permutation \smath{p}. +{\smath{\mbox{\bf numberOfCycles}\opLeftPren{}p\opRightPren{}} +returns the number of non-trivial cycles of the permutation \smath{p}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{numberOfDivisors}}\opLeftPren{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{numberOfDivisors}}\opLeftPren{} +{\it integer}\opRightPren{}% }% }% {1}{(Integer)->Integer}{IntegerNumberTheoryFunctions} -{\smath{\mbox{\bf numberOfDivisors}\opLeftPren{}n\opRightPren{}} returns the number of integers +{\smath{\mbox{\bf numberOfDivisors}\opLeftPren{}n\opRightPren{}} +returns the number of integers between 1 and \smath{n} inclusive which divide \smath{n}. The number of divisors of \smath{n} is often denoted by \smath{\tau(n)}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{numberOfFactors}}\opLeftPren{}{\it factored}\opRightPren{}% +\opdata{{\mbox{\axiomFun{numberOfFactors}}\opLeftPren{} +{\it factored}\opRightPren{}% }% }% {1}{(\$)->NonNegativeInteger}{Factored} -{\smath{\mbox{\bf numberOfFactors}\opLeftPren{}u\opRightPren{}} returns the number of factors in factored form \smath{u}. +{\smath{\mbox{\bf numberOfFactors}\opLeftPren{}u\opRightPren{}} +returns the number of factors in factored form \smath{u}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{numberOfFractionalTerms}}\opLeftPren{}{\it partialFraction}\opRightPren{}% +\opdata{{\mbox{\axiomFun{numberOfFractionalTerms}}\opLeftPren{} +{\it partialFraction}\opRightPren{}% }% }% {1}{(\$)->Integer}{PartialFraction} -{\smath{\mbox{\bf numberOfFractionalTerms}\opLeftPren{}p\opRightPren{}} computes the number of +{\smath{\mbox{\bf numberOfFractionalTerms}\opLeftPren{}p\opRightPren{}} +computes the number of fractional terms in \smath{p}, or 0 if there is no fractional part. } @@ -75932,30 +78983,36 @@ fractional terms in \smath{p}, or 0 if there is no fractional part. }% }% {0}{()->PositiveInteger}{Color} -{\smath{\mbox{\bf numberOfHues}\opLeftPren{}\opRightPren{}} returns the number of total hues. +{\smath{\mbox{\bf numberOfHues}\opLeftPren{}\opRightPren{}} +returns the number of total hues. See also \spadfun{totalHues}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{numberOfImproperPartitions}}\opLeftPren{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{numberOfImproperPartitions}}\opLeftPren{} +{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% }% }% {2}{(Integer, Integer)->Integer}{SymmetricGroupCombinatoricFunctions} -{\smath{\mbox{\bf numberOfImproperPartitions}\opLeftPren{}n, \allowbreak{} m\opRightPren{}} computes the number of +{\smath{\mbox{\bf numberOfImproperPartitions}\opLeftPren{}n, +\allowbreak{} m\opRightPren{}} computes the number of partitions of the nonnegative integer \smath{n} in \smath{m} nonnegative parts with regarding the order (improper partitions). Example: \code{numberOfImproperPartitions (3, 3)} is 10, since -\code{[0, 0, 3], [0, 1, 2], [0, 2, 1], [0, 3, 0], [1, 0, 2], [1, 1, 1], [1, 2, 0], [2, 0, 1], [2, 1, 0], [3, 0, 0]} +\code{[0, 0, 3], [0, 1, 2], [0, 2, 1], [0, 3, 0], [1, 0, 2], +[1, 1, 1], [1, 2, 0], [2, 0, 1], [2, 1, 0], [3, 0, 0]} are the possibilities. Note: this operation has a recursive implementation. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{numberOfMonomials}}\opLeftPren{}{\it polynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{numberOfMonomials}}\opLeftPren{} +{\it polynomial}\opRightPren{}% }% }% {1}{(\$)->NonNegativeInteger}{FiniteAbelianMonoidRing} -{\smath{\mbox{\bf numberOfMonomials}\opLeftPren{}p\opRightPren{}} gives the number of non-zero monomials in polynomial \smath{p}. +{\smath{\mbox{\bf numberOfMonomials}\opLeftPren{}p\opRightPren{}} +gives the number of non-zero monomials in polynomial \smath{p}. } % ---------------------------------------------------------------------- @@ -75964,24 +79021,30 @@ are the possibilities. Note: this operation has a recursive implementation. }% }% {1}{(\$)->D}{QuotientFieldCategory} -{\opkey{Argument x is from domain \spadtype{Fraction(R)} for some domain \smath{R}, +{\opkey{Argument x is from domain \spadtype{Fraction(R)} for some +domain \smath{R}, or of type \spadtype{Expression}} \newitem -\smath{\mbox{\bf numer}\opLeftPren{}x\opRightPren{}} returns the numerator of \smath{x} as an object -of domain \smath{R}; if \smath{x} is of type \spadtype{Expression}, it returns +\smath{\mbox{\bf numer}\opLeftPren{}x\opRightPren{}} returns the +numerator of \smath{x} as an object +of domain \smath{R}; if \smath{x} is of type \spadtype{Expression}, +it returns an object of domain \spadtype{SMP(D, Kernel(Expression R))}. \newitem -\smath{\mbox{\bf numerator}\opLeftPren{}x\opRightPren{}} returns the numerator of \smath{x} as an element +\smath{\mbox{\bf numerator}\opLeftPren{}x\opRightPren{}} returns +the numerator of \smath{x} as an element of \spadtype{Fraction(R)}; if \smath{x} if of type \spadtype{Expression}, it returns an object of domain \spadtype{Expression}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{numerators}}\opLeftPren{}{\it continuedFraction}\opRightPren{}% +\opdata{{\mbox{\axiomFun{numerators}}\opLeftPren{} +{\it continuedFraction}\opRightPren{}% }% }% {1}{(\$)->Stream(R)}{ContinuedFraction} -{\smath{\mbox{\bf numerators}\opLeftPren{}cf\opRightPren{}} returns the stream of numerators of the approximants of +{\smath{\mbox{\bf numerators}\opLeftPren{}cf\opRightPren{}} +returns the stream of numerators of the approximants of the continued fraction \smath{cf}. If the continued fraction is finite, then the stream will be finite. } @@ -75989,21 +79052,25 @@ If the continued fraction is finite, then the stream will be finite. % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{numeric}}\opLeftPren{}{\it expression\opt{, n}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{numeric}}\opLeftPren{} +{\it expression\opt{, n}}\opRightPren{}% }% }% {1}{(Expression(S))->Float}{Numeric} -{\smath{\mbox{\bf numeric}\opLeftPren{}x, \allowbreak{} n\opRightPren{}} returns a float approximation of expression \smath{x} +{\smath{\mbox{\bf numeric}\opLeftPren{}x, \allowbreak{} n\opRightPren{}} +returns a float approximation of expression \smath{x} to \smath{n} decimal digits accurary. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{objectOf}}\opLeftPren{}{\it typeAnyObject}\opRightPren{}% +\opdata{{\mbox{\axiomFun{objectOf}}\opLeftPren{} +{\it typeAnyObject}\opRightPren{}% }% }% {1}{(\$)->OutputForm}{Any} -{\smath{\mbox{\bf objectOf}\opLeftPren{}a\opRightPren{}} returns a printable form of an object +{\smath{\mbox{\bf objectOf}\opLeftPren{}a\opRightPren{}} returns a +printable form of an object of type \spadtype{Any}. } @@ -76012,8 +79079,10 @@ of type \spadtype{Any}. }% }% {1}{(\$)->Record(points:NonNegativeInteger, -curves:NonNegativeInteger, polygons:NonNegativeInteger, constructs:NonNegativeInteger)}{ThreeSpace} -{\smath{\mbox{\bf objects}\opLeftPren{}sp\opRightPren{}} returns the \spadtype{ThreeSpace} object \smath{sp}. +curves:NonNegativeInteger, polygons:NonNegativeInteger, +constructs:NonNegativeInteger)}{ThreeSpace} +{\smath{\mbox{\bf objects}\opLeftPren{}sp\opRightPren{}} +returns the \spadtype{ThreeSpace} object \smath{sp}. The result is returned as record with fields: \smath{points}, the number of points; \smath{curves}, the number of curves; @@ -76023,7 +79092,8 @@ The result is returned as record with fields: % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{oblateSpheroidal}}\opLeftPren{}{\it function}\opRightPren{}% +\opdata{{\mbox{\axiomFun{oblateSpheroidal}}\opLeftPren{} +{\it function}\opRightPren{}% }% }% {1}{(R)->(Point(R))->Point(R)}{CoordinateSystems} @@ -76035,16 +79105,21 @@ sinh(\xi) sin(\eta) sin(\phi)}, \smath{z = a cosh(\xi) cos(\eta)}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{octon}}\opLeftPren{}{\it element}, \allowbreak{}{\it element}\allowbreak $\,[$ , \allowbreak{}{\it elements}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{octon}}\opLeftPren{} +{\it element}, \allowbreak{}{\it element} +\allowbreak $\,[$ , \allowbreak{}{\it elements}$]$\opRightPren{}% }% }% {2}{(Quaternion(R), Quaternion(R)) ->\$}{Octonion} -{\smath{\mbox{\bf octon}\opLeftPren{}q_e, \allowbreak{} q_E\opRightPren{}} constructs an octonion +{\smath{\mbox{\bf octon}\opLeftPren{}q_e, \allowbreak{} q_E\opRightPren{}} +constructs an octonion whose first 4 components are given by a quaternion \smath{q_e} and whose last 4 components are given by a quaternion \smath{q_E}. \newitem -\smath{\mbox{\bf octon}\opLeftPren{}r_e, \allowbreak{} r_i, \allowbreak{} r_j, \allowbreak{} r_k, \allowbreak{} r_E, \allowbreak{} r_I, \allowbreak{} r_J, \allowbreak{} r_K\opRightPren{}} constructs an octonion from scalars. +\smath{\mbox{\bf octon}\opLeftPren{}r_e, \allowbreak{} r_i, \allowbreak{} r_j, +\allowbreak{} r_k, \allowbreak{} r_E, \allowbreak{} r_I, \allowbreak{} r_J, +\allowbreak{} r_K\opRightPren{}} constructs an octonion from scalars. } % ---------------------------------------------------------------------- @@ -76052,20 +79127,26 @@ last 4 components are given by a quaternion \smath{q_E}. }% }% {1}{(\$)->Boolean}{IntegerNumberSystem} -{\smath{\mbox{\bf odd?}\opLeftPren{}n\opRightPren{}} tests if integer \smath{n} is odd. +{\smath{\mbox{\bf odd?}\opLeftPren{}n\opRightPren{}} tests +if integer \smath{n} is odd. \newitem -\smath{\mbox{\bf odd?}\opLeftPren{}p\opRightPren{}} tests if \smath{p} is an odd permutation, that is, \smath{\mbox{\bf sign}\opLeftPren{}p\opRightPren{}} +\smath{\mbox{\bf odd?}\opLeftPren{}p\opRightPren{}} tests +if \smath{p} is an odd permutation, that is, +\smath{\mbox{\bf sign}\opLeftPren{}p\opRightPren{}} is \smath{-1}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{oneDimensionalArray}}\opLeftPren{}{\it \optinit{integer, }elements}\opRightPren{}% +\opdata{{\mbox{\axiomFun{oneDimensionalArray}}\opLeftPren{} +{\it \optinit{integer, }elements}\opRightPren{}% }% }% {1}{(\$)->Boolean}{IntegerNumberSystem} -{\smath{\mbox{\bf oneDimensionalArray}\opLeftPren{}ls\opRightPren{}} creates a one-dimensional array consisting of +{\smath{\mbox{\bf oneDimensionalArray}\opLeftPren{}ls\opRightPren{}} +creates a one-dimensional array consisting of the elements of list \smath{ls}. -\newitem\smath{\mbox{\bf oneDimensionalArray}\opLeftPren{}n, \allowbreak{} s\opRightPren{}} creates a one-dimensional array of \smath{n} +\newitem\smath{\mbox{\bf oneDimensionalArray}\opLeftPren{}n, +\allowbreak{} s\opRightPren{}} creates a one-dimensional array of \smath{n} elements, each with value \smath{s}. } @@ -76074,36 +79155,43 @@ elements, each with value \smath{s}. }% }% {1}{(\$)->Boolean}{MonadWithUnit} -{\smath{\mbox{\bf one?}\opLeftPren{}a\opRightPren{}} tests whether \smath{a} is the unit 1. +{\smath{\mbox{\bf one?}\opLeftPren{}a\opRightPren{}} +tests whether \smath{a} is the unit 1. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{open}}\opLeftPren{}{\it file\opt{, string}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{open}}\opLeftPren{} +{\it file\opt{, string}}\opRightPren{}% }% }% {1}{(Name)->\$}{FileCategory} -{\smath{\mbox{\bf open}\opLeftPren{}s\optinner{, mode}\opRightPren{}} returns the file \smath{s} open +{\smath{\mbox{\bf open}\opLeftPren{}s\optinner{, mode}\opRightPren{}} +returns the file \smath{s} open in the indicated mode: \mbox{\tt "input"} or \mbox{\tt "output"}. Argument \smath{mode} is \mbox{\tt "output"} by default. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{operator}}\opLeftPren{}{\it symbol\opt{, nonNegativeInteger}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{operator}}\opLeftPren{} +{\it symbol\opt{, nonNegativeInteger}}\opRightPren{}% }% }% {1}{(BasicOperator)->BasicOperator}{ExpressionSpace} -{\smath{\mbox{\bf operator}\opLeftPren{}f, \allowbreak{} n\opRightPren{}} makes \smath{f} into an \smath{n}-ary operator. +{\smath{\mbox{\bf operator}\opLeftPren{}f, +\allowbreak{} n\opRightPren{}} makes \smath{f} into an \smath{n}-ary operator. If the second argument \smath{n} is omitted, \smath{f} has arbitary \spadgloss{arity}, that is, \smath{f} takes an arbitrary number of arguments. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{operators}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{operators}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(\$)->List(BasicOperator)}{ExpressionSpace} -{\smath{\mbox{\bf operators}\opLeftPren{}f\opRightPren{}} returns a list of all basic operators in \smath{f}, +{\smath{\mbox{\bf operators}\opLeftPren{}f\opRightPren{}} returns a +list of all basic operators in \smath{f}, regardless of level. } @@ -76112,28 +79200,35 @@ regardless of level. }% }% {1}{(F)->F}{FunctionSpaceAssertions} -{\smath{\mbox{\bf optional}\opLeftPren{}x\opRightPren{}} tells the pattern matcher that \smath{x} can +{\smath{\mbox{\bf optional}\opLeftPren{}x\opRightPren{}} tells the +pattern matcher that \smath{x} can match an identity (0 in a sum, 1 in a product or exponentiation), or calls \spadfun{error} if \smath{x} is not a symbol. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{or}}\opLeftPren{}{\it boolean}, \allowbreak{}{\it boolean}\opRightPren{}% +\opdata{{\mbox{\axiomFun{or}}\opLeftPren{}{\it boolean}, \allowbreak{} +{\it boolean}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{BitAggregate} -{\smath{a \or b} returns the logical \smath{or} of booleans or bit aggregates \smath{a} and \smath{b}. +{\smath{a \or b} returns the logical \smath{or} of booleans or bit +aggregates \smath{a} and \smath{b}. \newitem -\smath{n \or m} returns the bit-by-bit logical \smath{or} of the small integers \smath{n} and \smath{m}. +\smath{n \or m} returns the bit-by-bit logical \smath{or} of the small +integers \smath{n} and \smath{m}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{orbit}}\opLeftPren{}{\it group}, \allowbreak{}{\it elements}\opRightPren{}% +\opdata{{\mbox{\axiomFun{orbit}}\opLeftPren{}{\it group}, \allowbreak{} +{\it elements}\opRightPren{}% }% }% {2}{(\$, List(S))->Set(List(S))}{PermutationGroup} -{\smath{\mbox{\bf orbit}\opLeftPren{}gp, \allowbreak{} el\opRightPren{}} returns the orbit of the element \smath{el} under -the permutation group \smath{gp}, that is, the set of all points gained by applying each group element to \smath{el}. +{\smath{\mbox{\bf orbit}\opLeftPren{}gp, \allowbreak{} el\opRightPren{}} +returns the orbit of the element \smath{el} under +the permutation group \smath{gp}, that is, the set of all +points gained by applying each group element to \smath{el}. \newitem \smath{\mbox{\bf orbit}\opLeftPren{}gp, \allowbreak{} ls\opRightPren{}}, where \smath{ls} is a list or @@ -76148,7 +79243,8 @@ returns the orbit of }% }% {1}{(\$)->Set(Set(S))}{PermutationGroup} -{\smath{\mbox{\bf orbits}\opLeftPren{}gp\opRightPren{}} returns the orbits of the permutation group \smath{gp}. +{\smath{\mbox{\bf orbits}\opLeftPren{}gp\opRightPren{}} +returns the orbits of the permutation group \smath{gp}. } % ---------------------------------------------------------------------- @@ -76156,8 +79252,8 @@ returns the orbit of }% }% {1}{(\$)->Integer}{Character} -{\smath{\mbox{\bf ord}\opLeftPren{}c\opRightPren{}} returns an integer code corresponding to the -character \smath{c}. +{\smath{\mbox{\bf ord}\opLeftPren{}c\opRightPren{}} returns an integer code +corresponding to the character \smath{c}. } % ---------------------------------------------------------------------- @@ -76190,26 +79286,32 @@ exponent of the highest power of \smath{q} dividing \smath{p} \smath{p} as a group element. \item if \smath{p} is permutation group: the order of the group. \end{simpleList} -\smath{\mbox{\bf order}\opLeftPren{}p, \allowbreak{} q\opRightPren{}} returns the order of the differential +\smath{\mbox{\bf order}\opLeftPren{}p, \allowbreak{} q\opRightPren{}} +returns the order of the differential polynomial \smath{p} in differential indeterminate \smath{q}. \newitem -\smath{\mbox{\bf order}\opLeftPren{}p, \allowbreak{} q\opRightPren{}} returns the order of multivariate series +\smath{\mbox{\bf order}\opLeftPren{}p, \allowbreak{} q\opRightPren{}} +returns the order of multivariate series \smath{p} viewed as a series in \smath{q} (this operation results in an infinite loop if \smath{f} has no non-zero terms). \newitem -\smath{\mbox{\bf order}\opLeftPren{}p, \allowbreak{} q\opRightPren{}} returns the largest \smath{n} such that +\smath{\mbox{\bf order}\opLeftPren{}p, \allowbreak{} q\opRightPren{}} +returns the largest \smath{n} such that \smath{q^n} divides polynomial \smath{p}, that is, the order of \smath{p(x)} at \smath{q(x)=0}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{orthonormalBasis}}\opLeftPren{}{\it matrix}\opRightPren{}% +\opdata{{\mbox{\axiomFun{orthonormalBasis}}\opLeftPren{} +{\it matrix}\opRightPren{}% }% }% -{1}{(Matrix(Fraction(Polynomial(Fraction(Integer)))))->List(Matrix(Expression(Fraction(Integer))))}{RadicalEigenPackage} -{\smath{\mbox{\bf orthonormalBasis}\opLeftPren{}M\opRightPren{}} returns the orthogonal matrix +{1}{(Matrix(Fraction(Polynomial(Fraction(Integer)))))-> +List(Matrix(Expression(Fraction(Integer))))}{RadicalEigenPackage} +{\smath{\mbox{\bf orthonormalBasis}\opLeftPren{}M\opRightPren{}} +returns the orthogonal matrix \smath{B} such that \smath{B M B^{-1}} is diagonal, or calls \spadfun{error} if \smath{M} is not a symmetric matrix. @@ -76220,12 +79322,14 @@ calls \spadfun{error} if \smath{M} is not a symmetric matrix. }% }% {1}{(OutputForm)->Void}{OutputPackage} -{\smath{\mbox{\bf output}\opLeftPren{}x\opRightPren{}} displays \smath{x} on the ``algebra output'' stream +{\smath{\mbox{\bf output}\opLeftPren{}x\opRightPren{}} +displays \smath{x} on the ``algebra output'' stream defined by \spadsyscom{)set output algebra}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{outputAsFortran}}\opLeftPren{}{\it outputForms}\opRightPren{}% +\opdata{{\mbox{\axiomFun{outputAsFortran}}\opLeftPren{} +{\it outputForms}\opRightPren{}% }% }% {1}{(List(OutputForm))->Void}{SpecialOutputPackage} @@ -76236,12 +79340,14 @@ the system command \spadsyscom{)set output fortran}. If \smath{f} is a list of \spadtype{OutputForm} objects, each expression in \smath{f} is output in order. \newitem -\smath{\mbox{\bf outputAsFortran}\opLeftPren{}s, \allowbreak{} f\opRightPren{}}, where \smath{s} is a string, +\smath{\mbox{\bf outputAsFortran}\opLeftPren{}s, +\allowbreak{} f\opRightPren{}}, where \smath{s} is a string, outputs \smath{s = f}, but is otherwise identical. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{outputAsTex}}\opLeftPren{}{\it outputForms}\opRightPren{}% +\opdata{{\mbox{\axiomFun{outputAsTex}}\opLeftPren{} +{\it outputForms}\opRightPren{}% }% }% {1}{(List(OutputForm))->Void}{SpecialOutputPackage} @@ -76256,11 +79362,13 @@ each expression in \smath{f} is output in order. % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{outputFixed}}\opLeftPren{}{\it \opt{nonNegativeInteger}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{outputFixed}}\opLeftPren{} +{\it \opt{nonNegativeInteger}}\opRightPren{}% }% }% {1}{(NonNegativeInteger)->Void}{Float} -{\smath{\mbox{\bf outputFixed}\opLeftPren{}\optinner{n}\opRightPren{}} sets the output mode of +{\smath{\mbox{\bf outputFixed}\opLeftPren{}\optinner{n}\opRightPren{}} +sets the output mode of floats to fixed point notation, that is, as an integer, a decimal point, and a number of digits. If \smath{n} is given, then @@ -76268,11 +79376,13 @@ If \smath{n} is given, then } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{outputFloating}}\opLeftPren{}{\it \opt{nonNegativeInteger}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{outputFloating}}\opLeftPren{} +{\it \opt{nonNegativeInteger}}\opRightPren{}% }% }% {1}{(NonNegativeInteger)->Void}{Float} -{\smath{\mbox{\bf outputFloating}\opLeftPren{}\optinner{n}\opRightPren{}} sets the output mode to +{\smath{\mbox{\bf outputFloating}\opLeftPren{}\optinner{n}\opRightPren{}} +sets the output mode to floating (scientific) notation, that is, \smath{m 10^e} is displayed as \code{ @@ -76286,18 +79396,21 @@ the decimal point. }% }% {}{}{} -{\smath{\mbox{\bf outputForm}\opLeftPren{}x\opRightPren{}} creates an object of type +{\smath{\mbox{\bf outputForm}\opLeftPren{}x\opRightPren{}} +creates an object of type \spadtype{OutputForm} from \smath{x}, an object of type \smath{Integer}, \smath{DoubleFloat}, \smath{String}, or \smath{Symbol}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{outputGeneral}}\opLeftPren{}{\it \opt{nonNegativeInteger}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{outputGeneral}}\opLeftPren{} +{\it \opt{nonNegativeInteger}}\opRightPren{}% }% }% {0}{()->Void}{Float} -{\smath{\mbox{\bf outputGeneral}\opLeftPren{}\optinner{n}\opRightPren{}} sets the output +{\smath{\mbox{\bf outputGeneral}\opLeftPren{}\optinner{n}\opRightPren{}} +sets the output mode (default mode) to general notation, that is, numbers will be displayed in either fixed or floating (scientific) notation depending on the magnitude. @@ -76306,32 +79419,40 @@ the decimal point. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{outputSpacing}}\opLeftPren{}{\it nonNegativeInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{outputSpacing}}\opLeftPren{} +{\it nonNegativeInteger}\opRightPren{}% }% }% {1}{(NonNegativeInteger)->Void}{Float} -{\smath{\mbox{\bf outputSpacing}\opLeftPren{}n\opRightPren{}} inserts a space after \smath{n} digits on output. -\smath{\mbox{\bf outputSpacing}\opLeftPren{}0\opRightPren{}} means no spaces are inserted. +{\smath{\mbox{\bf outputSpacing}\opLeftPren{}n\opRightPren{}} +inserts a space after \smath{n} digits on output. +\smath{\mbox{\bf outputSpacing}\opLeftPren{}0\opRightPren{}} +means no spaces are inserted. By default, \smath{n = 10}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{over}}\opLeftPren{}{\it outputForm}, \allowbreak{}{\it outputForm}\opRightPren{}% +\opdata{{\mbox{\axiomFun{over}}\opLeftPren{} +{\it outputForm}, \allowbreak{}{\it outputForm}\opRightPren{}% }% }% {}{}{} {\smath{\mbox{\bf over}\opLeftPren{}o_1, \allowbreak{} o_2\opRightPren{}}, -where \smath{o_1} and \smath{o_2} are objects of type \spadtype{OutputForm} (normally unexposed), -creates an output form for the vertical fraction of \smath{o_1} over \smath{o_2}. +where \smath{o_1} and \smath{o_2} are objects of type +\spadtype{OutputForm} (normally unexposed), +creates an output form for the vertical fraction of +\smath{o_1} over \smath{o_2}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{overbar}}\opLeftPren{}{\it outputForm}\opRightPren{}% +\opdata{{\mbox{\axiomFun{overbar}}\opLeftPren{} +{\it outputForm}\opRightPren{}% }% }% {}{}{} {\smath{\mbox{\bf overbar}\opLeftPren{}o\opRightPren{}}, -where \smath{o} is an object of type \spadtype{OutputForm} (normally unexposed), +where \smath{o} is an object of type +\spadtype{OutputForm} (normally unexposed), creates the output form \smath{o} with an overbar. } @@ -76342,7 +79463,8 @@ creates the output form \smath{o} with an overbar. }% }% {1}{(\$)->\$}{KeyedAccessFile} -{\smath{\mbox{\bf pack!}\opLeftPren{}f\opRightPren{}} reorganizes the file \smath{f} on disk to recover unused space. +{\smath{\mbox{\bf pack!}\opLeftPren{}f\opRightPren{}} +reorganizes the file \smath{f} on disk to recover unused space. } % ---------------------------------------------------------------------- @@ -76358,11 +79480,17 @@ See also \spadfun{interpret}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{pade}}\opLeftPren{}{\it integer}, \allowbreak{}{\it integer}, \allowbreak{}{\it series}\allowbreak $\,[$ , \allowbreak{}{\it series}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{pade}}\opLeftPren{} +{\it integer}, \allowbreak{}{\it integer}, \allowbreak{}{\it series} +\allowbreak $\,[$ , \allowbreak{}{\it series}$]$\opRightPren{}% }% }% -{3}{(NonNegativeInteger, NonNegativeInteger, UnivariateTaylorSeries(R, x, pt))->Union(Fraction(UnivariatePolynomial(x, R)), "failed")}{PadeApproximantPackage} -{\smath{\mbox{\bf pade}\opLeftPren{}nd, \allowbreak{} dd, \allowbreak{} s \optinner{, ds}\opRightPren{}} computes the quotient of +{3}{(NonNegativeInteger, NonNegativeInteger, +UnivariateTaylorSeries(R, x, pt))-> +Union(Fraction(UnivariatePolynomial(x, R)), "failed")} +{PadeApproximantPackage} +{\smath{\mbox{\bf pade}\opLeftPren{}nd, \allowbreak{} dd, +\allowbreak{} s \optinner{, ds}\opRightPren{}} computes the quotient of polynomials (if it exists) with numerator degree at most \smath{nd} and denominator degree at most \smath{dd}. If a single univariate Taylor series \smath{s} is given, the quotient @@ -76375,13 +79503,16 @@ series. % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{padicFraction}}\opLeftPren{}{\it partialFraction}\opRightPren{}% +\opdata{{\mbox{\axiomFun{padicFraction}}\opLeftPren{} +{\it partialFraction}\opRightPren{}% }% }% {1}{(\$)->\$}{PartialFraction} -{\smath{\mbox{\bf padicFraction}\opLeftPren{}q\opRightPren{}} expands the fraction \smath{p}-adically in +{\smath{\mbox{\bf padicFraction}\opLeftPren{}q\opRightPren{}} +expands the fraction \smath{p}-adically in the primes \smath{p} in the denominator of \smath{q}. -For example, \smath{\mbox{\bf padicFraction}\opLeftPren{}3/(2^2)) = 1/2 + 1/(2^2)}. +For example, \smath{\mbox{\bf padicFraction} +\opLeftPren{}3/(2^2)) = 1/2 + 1/(2^2)}. Use \spadfunFrom{compactFraction}{PartialFraction} to return to compact form. } @@ -76390,7 +79521,8 @@ Use \spadfunFrom{compactFraction}{PartialFraction} to return to compact form. }% }% {1}{(\$)->Boolean}{SExpressionCategory} -{\smath{\mbox{\bf pair?}\opLeftPren{}s\opRightPren{}} tests if \smath{SExpression} object +{\smath{\mbox{\bf pair?}\opLeftPren{}s\opRightPren{}} tests if +\smath{SExpression} object is a non-null Lisp object. } @@ -76399,18 +79531,21 @@ is a non-null Lisp object. }% }% {1}{(Point(R))->Point(R)}{CoordinateSystems} -{\smath{\mbox{\bf parabolic}\opLeftPren{}pt\opRightPren{}} transforms \smath{pt} from parabolic +{\smath{\mbox{\bf parabolic}\opLeftPren{}pt\opRightPren{}} +transforms \smath{pt} from parabolic coordinates to Cartesian coordinates: the function produced will map the point \smath{(u, v)} to \smath{x = 1/2 (u^2 - v^2)}, \smath{y = u v}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{parabolicCylindrical}}\opLeftPren{}{\it point}\opRightPren{}% +\opdata{{\mbox{\axiomFun{parabolicCylindrical}}\opLeftPren{} +{\it point}\opRightPren{}% }% }% {1}{(Point(R))->Point(R)}{CoordinateSystems} -{\smath{\mbox{\bf parabolicCylindrical}\opLeftPren{}pt\opRightPren{}} transforms \smath{pt} from +{\smath{\mbox{\bf parabolicCylindrical}\opLeftPren{}pt\opRightPren{}} +transforms \smath{pt} from parabolic cylindrical coordinates to Cartesian coordinates: the function produced will map the point \smath{(u, v, z)} to \smath{x = 1/2(u^2 - v^2)}, \smath{y = u v}, \smath{z}. @@ -76421,7 +79556,8 @@ function produced will map the point \smath{(u, v, z)} to \smath{x = }% }% {1}{(Point(R))->Point(R)}{CoordinateSystems} -{\smath{\mbox{\bf paraboloidal}\opLeftPren{}pt\opRightPren{}} transforms \smath{pt} from paraboloidal +{\smath{\mbox{\bf paraboloidal}\opLeftPren{}pt\opRightPren{}} +transforms \smath{pt} from paraboloidal coordinates to Cartesian coordinates: the function produced will map the point \smath{(u, v, phi)} to \smath{x = u v {\bf cos}(\phi)}, \smath{y = u v {\bf sin}(\phi)}, \smath{z = 1/2 (u^2 @@ -76429,7 +79565,8 @@ cos}(\phi)}, \smath{y = u v {\bf sin}(\phi)}, \smath{z = 1/2 (u^2 } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{paren}}\opLeftPren{}{\it expressions}\opRightPren{}% +\opdata{{\mbox{\axiomFun{paren}}\opLeftPren{} +{\it expressions}\opRightPren{}% }% }% {1}{(\$)->\$}{ExpressionSpace} @@ -76440,61 +79577,77 @@ This prevents \smath{f} or the constituent \smath{f_i} from being evaluated when operators are applied to it. For example, \code{log(1)} returns 0, but \code{log(paren 1)} returns the formal kernel \code{log((1))}. -Also, {\bf atan}{\it ({\bf paren [}x, 2{\bf ]})} returns the formal kernel {\bf atan}{\it ((x, 2))}. +Also, {\bf atan}{\it ({\bf paren [}x, 2{\bf ]})} returns the +formal kernel {\bf atan}{\it ((x, 2))}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{partialDenominators}}\opLeftPren{}{\it continuedFraction}\opRightPren{}% +\opdata{{\mbox{\axiomFun{partialDenominators}}\opLeftPren{} +{\it continuedFraction}\opRightPren{}% }% }% {1}{(\$)->Stream(R)}{ContinuedFraction} -{\smath{\mbox{\bf partialDenominators}\opLeftPren{}x\opRightPren{}} extracts the denominators +{\smath{\mbox{\bf partialDenominators}\opLeftPren{}x\opRightPren{}} +extracts the denominators in \smath{x}. -If \smath{x = {\mbox {\bf continuedFraction}}(b_0, [a_1, \ldots], [b_1, \ldots])}, +If \smath{x = {\mbox {\bf continuedFraction}} +(b_0, [a_1, \ldots], [b_1, \ldots])}, then \smath{\mbox{\bf partialDenominators}\opLeftPren{}x) = [b_1, b_2\ldots]}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{partialFraction}}\opLeftPren{}{\it element}, \allowbreak{}{\it factored}\opRightPren{}% +\opdata{{\mbox{\axiomFun{partialFraction}}\opLeftPren{} +{\it element}, \allowbreak{}{\it factored}\opRightPren{}% }% }% {2}{(R, Factored(R))->\$}{PartialFraction} -{\smath{\mbox{\bf partialFraction}\opLeftPren{}numer, \allowbreak{} denom\opRightPren{}} is the main function for +{\smath{\mbox{\bf partialFraction}\opLeftPren{}numer, +\allowbreak{} denom\opRightPren{}} is the main function for constructing partial fractions. The second argument \smath{denom} is the denominator and should be factored. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{partialNumerators}}\opLeftPren{}{\it continuedFraction}\opRightPren{}% +\opdata{{\mbox{\axiomFun{partialNumerators}}\opLeftPren{} +{\it continuedFraction}\opRightPren{}% }% }% {1}{(\$)->Stream(R)}{ContinuedFraction} -{\smath{\mbox{\bf partialNumerators}\opLeftPren{}x\opRightPren{}} extracts the numerators in +{\smath{\mbox{\bf partialNumerators}\opLeftPren{}x\opRightPren{}} +extracts the numerators in \smath{x}, -if \smath{x = {\mbox {\bf continuedFraction}}(b_0, [a_1, \ldots], [b_1, \ldots], \ldots)}, +if \smath{x = {\mbox {\bf continuedFraction}} +(b_0, [a_1, \ldots], [b_1, \ldots], \ldots)}, then \smath{\mbox{\bf partialNumerators}\opLeftPren{}x) = [a_1, \ldots]}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{partialQuotients}}\opLeftPren{}{\it continuedFraction}\opRightPren{}% +\opdata{{\mbox{\axiomFun{partialQuotients}}\opLeftPren{} +{\it continuedFraction}\opRightPren{}% }% }% {1}{(\$)->Stream(R)}{ContinuedFraction} -{\smath{\mbox{\bf partialQuotients}\opLeftPren{}x\opRightPren{}} extracts the partial quotients in +{\smath{\mbox{\bf partialQuotients}\opLeftPren{}x\opRightPren{}} +extracts the partial quotients in \smath{x}, if -\smath{x = {\mbox {\bf continuedFraction}}(b_0, [a_1, \dots], [b_1, \ldots], \ldots)}, +\smath{x = {\mbox {\bf continuedFraction}} +(b_0, [a_1, \dots], [b_1, \ldots], \ldots)}, then \smath{\mbox{\bf partialQuotients}\opLeftPren{}x) = [b_0, b_1, \ldots]}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{particularSolution}}\opLeftPren{}{\it matrix}, \allowbreak{}{\it vector}\opRightPren{}% +\opdata{{\mbox{\axiomFun{particularSolution}}\opLeftPren{} +{\it matrix}, \allowbreak{}{\it vector}\opRightPren{}% }% }% {2}{(M, Col)->Union(Col, \mbox{\tt "failed"})}{LinearSystemMatrixPackage} -{\smath{\mbox{\bf aSolution}\opLeftPren{}M, \allowbreak{} v\opRightPren{}} finds a particular solution \smath{x} of the linear system \smath{Mx = v}. -The result \smath{x} is returned as a vector, or \mbox{\tt "failed"} if no solution exists. +{\smath{\mbox{\bf aSolution}\opLeftPren{}M, +\allowbreak{} v\opRightPren{}} finds a particular solution +\smath{x} of the linear system \smath{Mx = v}. +The result \smath{x} is returned as a vector, or +\mbox{\tt "failed"} if no solution exists. } @@ -76503,25 +79656,30 @@ The result \smath{x} is returned as a vector, or \mbox{\tt "failed"} if no solut }% }% {1}{(I)->I}{IntegerCombinatoricFunctions} -{\smath{\mbox{\bf partition}\opLeftPren{}n\opRightPren{}} returns the number of partitions of the +{\smath{\mbox{\bf partition}\opLeftPren{}n\opRightPren{}} +returns the number of partitions of the integer \smath{n}. This is the number of distinct ways that \smath{n} can be written as a sum of positive integers. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{partitions}}\opLeftPren{}{\it integer\opt{, integer, integer}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{partitions}}\opLeftPren{} +{\it integer\opt{, integer, integer}}\opRightPren{}% }% }% {1}{(Integer)->Stream(List(Integer))}{PartitionsAndPermutations} -{\smath{\mbox{\bf partitions}\opLeftPren{}i, \allowbreak{} j\opRightPren{}} is the stream of all partitions whose +{\smath{\mbox{\bf partitions}\opLeftPren{}i, +\allowbreak{} j\opRightPren{}} is the stream of all partitions whose number of parts and largest part are no greater than \smath{i} and \smath{j}. \newitem -\smath{\mbox{\bf partitions}\opLeftPren{}n\opRightPren{}} is the stream of all partitions of integer +\smath{\mbox{\bf partitions}\opLeftPren{}n\opRightPren{}} is +the stream of all partitions of integer \smath{n}. \newitem -\smath{\mbox{\bf partitions}\opLeftPren{}p, \allowbreak{} l, \allowbreak{} n\opRightPren{}} is the stream of partitions of \smath{n} +\smath{\mbox{\bf partitions}\opLeftPren{}p, \allowbreak{} l, +\allowbreak{} n\opRightPren{}} is the stream of partitions of \smath{n} whose number of parts is no greater than \smath{p} and whose largest part is no greater than \smath{l}. } @@ -76531,7 +79689,8 @@ largest part is no greater than \smath{l}. }% }% {1}{(\$)->List(R)}{TwoDimensionalArrayCategory} -{\smath{\mbox{\bf parts}\opLeftPren{}u\opRightPren{}} returns a list of the consecutive elements of \smath{u}. +{\smath{\mbox{\bf parts}\opLeftPren{}u\opRightPren{}} +returns a list of the consecutive elements of \smath{u}. Note: if \smath{u} is a list, \smath{\mbox{\bf parts}\opLeftPren{}u) = u}. } @@ -76540,50 +79699,64 @@ Note: if \smath{u} is a list, \smath{\mbox{\bf parts}\opLeftPren{}u) = u}. }% }% {1}{(Color)->\$}{Palette} -{\smath{\mbox{\bf pastel}\opLeftPren{}c\opRightPren{}} sets the shade of a hue \smath{c} above ``bright'' but below ``light''. +{\smath{\mbox{\bf pastel}\opLeftPren{}c\opRightPren{}} +sets the shade of a hue \smath{c} above ``bright'' but below ``light''. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{pattern}}\opLeftPren{}{\it rewriteRule}\opRightPren{}% +\opdata{{\mbox{\axiomFun{pattern}}\opLeftPren{} +{\it rewriteRule}\opRightPren{}% }% }% {1}{(\$)->Pattern(Base)}{RewriteRule} -{\smath{\mbox{\bf pattern}\opLeftPren{}r\opRightPren{}} returns the pattern corresponding to the left hand +{\smath{\mbox{\bf pattern}\opLeftPren{}r\opRightPren{}} +returns the pattern corresponding to the left hand side of the rewrite rule \smath{r}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{patternMatch}}\opLeftPren{}{\it expression}, \allowbreak{}{\it expression}, \allowbreak{}{\it patternMatchResult}\opRightPren{}% +\opdata{{\mbox{\axiomFun{patternMatch}}\opLeftPren{} +{\it expression}, \allowbreak{}{\it expression}, \allowbreak{} +{\it patternMatchResult}\opRightPren{}% }% }% -{3}{(\$, Pattern(S), PatternMatchResult(S, \$))->PatternMatchResult(S, \$)}{PatternMatchable} -{\smath{\mbox{\bf patternMatch}\opLeftPren{}expr, \allowbreak{} pat, \allowbreak{} res\opRightPren{}} matches the pattern \smath{pat} to the expression \smath{expr}. +{3}{(\$, Pattern(S), PatternMatchResult(S, \$))-> +PatternMatchResult(S, \$)}{PatternMatchable} +{\smath{\mbox{\bf patternMatch}\opLeftPren{}expr, \allowbreak{} pat, +\allowbreak{} res\opRightPren{}} matches the pattern +\smath{pat} to the expression +\smath{expr}. The argument \smath{res} contains the variables of \smath{pat} which are already matched and their matches. Initially, \smath{res} is the result of \spadfun{new()}, an empty list of matches. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{perfectNthPower?}}\opLeftPren{}{\it integer}, \allowbreak{}{\it nonNegativeInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{perfectNthPower?}}\opLeftPren{}{\it integer}, +\allowbreak{}{\it nonNegativeInteger}\opRightPren{}% }% }% {2}{(I, NonNegativeInteger)->Boolean}{IntegerRoots} -{\smath{\mbox{\bf perfectNthPower?}\opLeftPren{}n, \allowbreak{} r\opRightPren{}} tests if \smath{n} is an +{\smath{\mbox{\bf perfectNthPower?}\opLeftPren{}n, +\allowbreak{} r\opRightPren{}} tests if \smath{n} is an \eth{\smath{r}} power. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{perfectNthRoot}}\opLeftPren{}{\it integer\opt{, nonNegativeInteger}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{perfectNthRoot}}\opLeftPren{} +{\it integer\opt{, nonNegativeInteger}}\opRightPren{}% }% }% {2}{(I, NonNegativeInteger)->Union(I, "failed")}{IntegerRoots} -{\smath{\mbox{\bf perfectNthRoot}\opLeftPren{}n\opRightPren{}} returns a record +{\smath{\mbox{\bf perfectNthRoot}\opLeftPren{}n\opRightPren{}} +returns a record with fields ``base'' \smath{x} and ``exponent'' \smath{r} such that \smath{n = x^r} and \smath{r} is the largest integer such that \smath{n} is a perfect \eth{\smath{r}} power. \newitem -\smath{\mbox{\bf perfectNthRoot}\opLeftPren{}n, \allowbreak{} r\opRightPren{}} returns the \eth{\smath{r}} root of +\smath{\mbox{\bf perfectNthRoot}\opLeftPren{}n, +\allowbreak{} r\opRightPren{}} returns the \eth{\smath{r}} root of \smath{n} if \smath{n} is an \eth{\smath{r}} power, and \mbox{\tt "failed"} otherwise. } @@ -76593,16 +79766,19 @@ otherwise. }% }% {1}{(I)->Union(I, "failed")}{IntegerRoots} -{\smath{\mbox{\bf perfectSqrt}\opLeftPren{}n\opRightPren{}} returns the square root of \smath{n} if +{\smath{\mbox{\bf perfectSqrt}\opLeftPren{}n\opRightPren{}} +returns the square root of \smath{n} if \smath{n} is a perfect square, and \mbox{\tt "failed"} otherwise. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{perfectSquare?}}\opLeftPren{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{perfectSquare?}}\opLeftPren{} +{\it integer}\opRightPren{}% }% }% {1}{(I)->Boolean}{IntegerRoots} -{\smath{\mbox{\bf perfectSquare?}\opLeftPren{}n\opRightPren{}} tests if \smath{n} is a perfect square. +{\smath{\mbox{\bf perfectSquare?}\opLeftPren{}n\opRightPren{}} +tests if \smath{n} is a perfect square. } % ---------------------------------------------------------------------- @@ -76610,41 +79786,50 @@ otherwise. }% }% {1}{(SquareMatrix(n, R))->R}{Permanent} -{\smath{\mbox{\bf permanent}\opLeftPren{}x\opRightPren{}} returns the permanent of a square matrix \smath{x}, -equivalent to the \spadfun{determinant} except that coefficients have no change of sign. +{\smath{\mbox{\bf permanent}\opLeftPren{}x\opRightPren{}} +returns the permanent of a square matrix \smath{x}, +equivalent to the \spadfun{determinant} except that +coefficients have no change of sign. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{permutation}}\opLeftPren{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{permutation}}\opLeftPren{} +{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% }% }% {2}{(I, I)->I}{IntegerCombinatoricFunctions} -{\smath{\mbox{\bf permutation}\opLeftPren{}n, \allowbreak{} m\opRightPren{}} returns the number of permutations of +{\smath{\mbox{\bf permutation}\opLeftPren{}n, +\allowbreak{} m\opRightPren{}} returns the number of permutations of \smath{n} objects taken \smath{m} at a time. Note: \smath{\mbox{\bf permutation}\opLeftPren{}n, m) = n!/(n-m)!}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{permutationGroup}}\opLeftPren{}{\it listPermutations}\opRightPren{}% +\opdata{{\mbox{\axiomFun{permutationGroup}}\opLeftPren{} +{\it listPermutations}\opRightPren{}% }% }% {1}{(List(Permutation(S)))->\$}{PermutationGroup} -{\smath{\mbox{\bf permutationGroup}\opLeftPren{}ls\opRightPren{}} coerces a list of permutations \smath{ls} to the group generated by this list. +{\smath{\mbox{\bf permutationGroup}\opLeftPren{}ls\opRightPren{}} +coerces a list of permutations \smath{ls} to the group generated by this list. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{permutationRepresentation}}\opLeftPren{}{\it permutations\opt{, n}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{permutationRepresentation}}\opLeftPren{} +{\it permutations\opt{, n}}\opRightPren{}% }% }% {1}{(List(Integer))->Matrix(Integer)}{RepresentationPackage1} -{\smath{\mbox{\bf permutationRepresentation}\opLeftPren{}pi, \allowbreak{} n\opRightPren{}} returns the matrix +{\smath{\mbox{\bf permutationRepresentation}\opLeftPren{}pi, +\allowbreak{} n\opRightPren{}} returns the matrix \smath{\delta_{i, pi(i)}} (Kronecker delta) if the permutation \smath{pi} is in list notation and permutes \smath{{1, 2, \ldots, n}}. Argument \smath{pi} may either be permutation or a list of integers describing a permutation by list notation. \newitem -\smath{\mbox{\bf permutationRepresentation}\opLeftPren{}[pi_1, \allowbreak{} \ldots, pi_k], n\opRightPren{}} returns +\smath{\mbox{\bf permutationRepresentation}\opLeftPren{} +[pi_1, \allowbreak{} \ldots, pi_k], n\opRightPren{}} returns the list of matrices \smath{[(\delta_{i, pi_1}(i)), \ldots, (\delta_{i, pi_k(i)})]} (Kronecker delta) for permutations @@ -76652,17 +79837,21 @@ the list of matrices } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{permutations}}\opLeftPren{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{permutations}}\opLeftPren{} +{\it integer}\opRightPren{}% }% }% {1}{(Integer)->Stream(List(Integer))}{PartitionsAndPermutations} -{\smath{\mbox{\bf permutations}\opLeftPren{}n\opRightPren{}} returns the stream of permutations +{\smath{\mbox{\bf permutations}\opLeftPren{}n\opRightPren{}} +returns the stream of permutations formed from \smath{1, 2, \ldots, n}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{physicalLength}}\opLeftPren{}{\it flexibleArray}\opRightPren{}% -\opand \mbox{\axiomFun{physicalLength!}}\opLeftPren{}{\it flexibleArray}, \allowbreak{}{\it positiveInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{physicalLength}}\opLeftPren{} +{\it flexibleArray}\opRightPren{}% +\opand \mbox{\axiomFun{physicalLength!}}\opLeftPren{} +{\it flexibleArray}, \allowbreak{}{\it positiveInteger}\opRightPren{}% }% }% {1}{(Integer)->Stream(List(Integer))}{PartitionsAndPermutations} @@ -76675,12 +79864,15 @@ of elements of \smath{a} beyond this number, new storage is allocated (generally to be about 50\% larger than current storage allocation) and the elements from the old storage are copied over to the new storage area.} -\newitem\smath{\mbox{\bf physicalLength}\opLeftPren{}a\opRightPren{}} returns the physical length of \smath{a}. -\newitem\smath{\mbox{\bf physicalLength!}\opLeftPren{}a, \allowbreak{} n\opRightPren{}} causes +\newitem\smath{\mbox{\bf physicalLength}\opLeftPren{}a\opRightPren{}} +returns the physical length of \smath{a}. +\newitem\smath{\mbox{\bf physicalLength!}\opLeftPren{}a, +\allowbreak{} n\opRightPren{}} causes new storage to be allocated for the elements of \smath{a} with a physical length of \smath{n}. The \spadfun{maxIndex} elements from the old storage area are copied. -An \spadfun{error} is called if \smath{n} is less than \spadfun{maxIndex}\smath{(a)}.} +An \spadfun{error} is called if \smath{n} is less than +\spadfun{maxIndex}\smath{(a)}.} % ---------------------------------------------------------------------- @@ -76692,26 +79884,32 @@ An \spadfun{error} is called if \smath{n} is less than \spadfun{maxIndex}\smath{ also denoted by the special symbol \code{\%pi}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{pile}}\opLeftPren{}{\it listOfOutputForms}\opRightPren{}% +\opdata{{\mbox{\axiomFun{pile}}\opLeftPren{} +{\it listOfOutputForms}\opRightPren{}% }% }% {}{}{} {\smath{\mbox{\bf pile}\opLeftPren{}lo\opRightPren{}}, -where \smath{lo} is a list of objects of type \spadtype{OutputForm} (normally unexposed), +where \smath{lo} is a list of objects of type \spadtype{OutputForm} +(normally unexposed), creates the output form consisting of the elements of \smath{lo} displayed as a pile, that is, each element begins on a new line and is indented right to the same margin. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{plenaryPower}}\opLeftPren{}{\it element}, \allowbreak{}{\it positiveInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{plenaryPower}}\opLeftPren{} +{\it element}, \allowbreak{}{\it positiveInteger}\opRightPren{}% }% }% {2}{(\$, PositiveInteger)->\$}{NonAssociativeAlgebra} -{\opkey{Argument \smath{a} is a member of a domain of category \spadtype{NonAssociativeAlgebra}} +{\opkey{Argument \smath{a} is a member of a domain of +category \spadtype{NonAssociativeAlgebra}} \newitem -\smath{\mbox{\bf plenaryPower}\opLeftPren{}a, \allowbreak{} n\opRightPren{}} is recursively defined to be -\smath{\mbox{\bf plenaryPower}\opLeftPren{}a, n-1) * {\bf plenaryPower}(a, n-1)} for \smath{n>1} and \smath{a} for \smath{n=1}. +\smath{\mbox{\bf plenaryPower}\opLeftPren{}a, +\allowbreak{} n\opRightPren{}} is recursively defined to be +\smath{\mbox{\bf plenaryPower}\opLeftPren{}a, n-1) * +{\bf plenaryPower}(a, n-1)} for \smath{n>1} and \smath{a} for \smath{n=1}. } % ---------------------------------------------------------------------- @@ -76719,31 +79917,41 @@ line and is indented right to the same margin. }% }% {0}{()->OrderedCompletion(Integer)}{Infinity} -{\smath{\mbox{\bf plusInfinity}\opLeftPren{}\opRightPren{}} returns the constant {\tt \%plusInfinity} +{\smath{\mbox{\bf plusInfinity}\opLeftPren{}\opRightPren{}} +returns the constant {\tt \%plusInfinity} denoting $+\infty$. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{point}}\opLeftPren{}{\it u\opt{, option}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{point}}\opLeftPren{} +{\it u\opt{, option}}\opRightPren{}% }% }% {1}{(List(R))->\$}{PointCategory} -{\smath{\mbox{\bf point}\opLeftPren{}p\opRightPren{}} returns a \spadtype{ThreeSpace} object which is composed of one component, the point \smath{p}. -\smath{\mbox{\bf point}\opLeftPren{}l\opRightPren{}} creates a point defined by a list \smath{l}. +{\smath{\mbox{\bf point}\opLeftPren{}p\opRightPren{}} returns a +\spadtype{ThreeSpace} object which is composed of one component, +the point \smath{p}. +\smath{\mbox{\bf point}\opLeftPren{}l\opRightPren{}} creates a point +defined by a list \smath{l}. \newitem \newitem -\smath{\mbox{\bf point}\opLeftPren{}sp\opRightPren{}} checks to see if the \spadtype{ThreeSpace} +\smath{\mbox{\bf point}\opLeftPren{}sp\opRightPren{}} checks to see if +the \spadtype{ThreeSpace} object \smath{sp} is composed of only a single point and, if so, returns the point, or calls \spadfun{error} if \smath{sp} has more than one point. \newitem -\smath{\mbox{\bf point}\opLeftPren{}sp, \allowbreak{} l\opRightPren{}} adds a point component defined by a list +\smath{\mbox{\bf point}\opLeftPren{}sp, \allowbreak{} l\opRightPren{}} +adds a point component defined by a list \smath{l} to the \spadtype{ThreeSpace} object \smath{sp}. \newitem -\smath{\mbox{\bf point}\opLeftPren{}sp, \allowbreak{} i\opRightPren{}} adds a point component into a component -list of the \spadtype{ThreeSpace} object \smath{sp} at the index given by \smath{i}. +\smath{\mbox{\bf point}\opLeftPren{}sp, \allowbreak{} i\opRightPren{}} +adds a point component into a component +list of the \spadtype{ThreeSpace} object \smath{sp} at the index given +by \smath{i}. \newitem -\smath{\mbox{\bf point}\opLeftPren{}sp, \allowbreak{} p\opRightPren{}} adds a point component defined by the point \smath{p} +\smath{\mbox{\bf point}\opLeftPren{}sp, \allowbreak{} p\opRightPren{}} +adds a point component defined by the point \smath{p} described as a list, to the \spadtype{ThreeSpace} object \smath{sp}. } @@ -76753,40 +79961,49 @@ described as a list, to the \spadtype{ThreeSpace} object \smath{sp}. }% }% {1}{(\$)->Boolean}{ThreeSpace} -{\smath{\mbox{\bf point?}\opLeftPren{}sp\opRightPren{}} queries whether the \spadtype{ThreeSpace} object \smath{sp}, +{\smath{\mbox{\bf point?}\opLeftPren{}sp\opRightPren{}} +queries whether the \spadtype{ThreeSpace} object \smath{sp}, is composed of a single component which is a point. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{pointColor}}\opLeftPren{}{\it palette}\opRightPren{}% +\opdata{{\mbox{\axiomFun{pointColor}}\opLeftPren{} +{\it palette}\opRightPren{}% }% }% {1}{(Float)->\$}{DrawOption} -{\smath{\mbox{\bf pointColor}\opLeftPren{}v\opRightPren{}} specifies a color \smath{v} for \twodim{} graph points. +{\smath{\mbox{\bf pointColor}\opLeftPren{}v\opRightPren{}} +specifies a color \smath{v} for \twodim{} graph points. This option is expressed in the form \code{pointColor == v} in the \spadfun{draw} command. Argument \smath{p} is either a palette or a float. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{pointColorDefault}}\opLeftPren{}{\it \opt{palette}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{pointColorDefault}}\opLeftPren{} +{\it \opt{palette}}\opRightPren{}% }% }% {0}{()->Palette}{ViewDefaultsPackage} -{\smath{\mbox{\bf pointColorDefault}\opLeftPren{}\opRightPren{}} returns the default color of points in a \twodim{} viewport. +{\smath{\mbox{\bf pointColorDefault}\opLeftPren{}\opRightPren{}} +returns the default color of points in a \twodim{} viewport. \newitem -\smath{\mbox{\bf pointColorDefault}\opLeftPren{}p\opRightPren{}} sets the default color of points in a \twodim{} viewport to the palette \smath{p}. +\smath{\mbox{\bf pointColorDefault}\opLeftPren{}p\opRightPren{}} sets +the default color of points in a \twodim{} viewport to the palette \smath{p}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{pointSizeDefault}}\opLeftPren{}{\it \opt{positiveInteger}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{pointSizeDefault}}\opLeftPren{} +{\it \opt{positiveInteger}}\opRightPren{}% }% }% {0}{()->PositiveInteger}{ViewDefaultsPackage} -{\smath{\mbox{\bf pointSizeDefault}\opLeftPren{}\opRightPren{}} returns the default size of the points +{\smath{\mbox{\bf pointSizeDefault}\opLeftPren{}\opRightPren{}} +returns the default size of the points in a \twodim{} viewport. \newitem -\smath{\mbox{\bf pointSizeDefault}\opLeftPren{}i\opRightPren{}} sets the default size of the points in +\smath{\mbox{\bf pointSizeDefault}\opLeftPren{}i\opRightPren{}} +sets the default size of the points in a \twodim{} viewport to \smath{i}. } @@ -76804,9 +80021,11 @@ re^{i\phi}.}} }% }% {1}{(Point(R))->Point(R)}{CoordinateSystems} -{\smath{\mbox{\bf polar}\opLeftPren{}pt\opRightPren{}} transforms point \smath{pt} from polar coordinates to +{\smath{\mbox{\bf polar}\opLeftPren{}pt\opRightPren{}} +transforms point \smath{pt} from polar coordinates to Cartesian coordinates. The function produced will map the point -\smath{(r, \theta)} to \smath{x = r {\bf cos}(\theta)} , \smath{y = r {\bf sin}(\theta)}. +\smath{(r, \theta)} to \smath{x = r {\bf cos}(\theta)} , +\smath{y = r {\bf sin}(\theta)}. } % ---------------------------------------------------------------------- @@ -76814,49 +80033,61 @@ Cartesian coordinates. The function produced will map the point }% }% {1}{(\$)->Boolean}{PowerSeriesCategory} -{\smath{\mbox{\bf pole?}\opLeftPren{}f\opRightPren{}} tests if the power series \smath{f} has a pole. +{\smath{\mbox{\bf pole?}\opLeftPren{}f\opRightPren{}} tests if the power +series \smath{f} has a pole. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{polygamma}}\opLeftPren{}{\it k}, \allowbreak{}{\it x}\opRightPren{}% +\opdata{{\mbox{\axiomFun{polygamma}}\opLeftPren{}{\it k}, \allowbreak{} +{\it x}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{SpecialFunctionCategory} -{\smath{\mbox{\bf polygamma}\opLeftPren{}k, \allowbreak{} x\opRightPren{}} is the \eth{\smath{k}} derivative of -\smath{\mbox{\bf digamma}\opLeftPren{}x\opRightPren{}}, often written \smath{\psi(k, x)} in the +{\smath{\mbox{\bf polygamma}\opLeftPren{}k, \allowbreak{} x\opRightPren{}} +is the \eth{\smath{k}} derivative of +\smath{\mbox{\bf digamma}\opLeftPren{}x\opRightPren{}}, +often written \smath{\psi(k, x)} in the literature. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{polygon}}\opLeftPren{}{\it \optinit{sp, }listOfPoints}\opRightPren{}% +\opdata{{\mbox{\axiomFun{polygon}}\opLeftPren{} +{\it \optinit{sp, }listOfPoints}\opRightPren{}% \opand \mbox{\axiomFun{polygon?}}\opLeftPren{}{\it space}\opRightPren{}% }% }% {1}{(List(Point(R)))->\$}{ThreeSpace} -{\smath{\mbox{\bf polygon}\opLeftPren{}\optfirst{sp, }lp\opRightPren{}} adds a polygon defined +{\smath{\mbox{\bf polygon}\opLeftPren{}\optfirst{sp, }lp\opRightPren{}} +adds a polygon defined by \smath{lp} to the \spadtype{ThreeSpace} object \smath{sp}. Each \smath{lp} is either a list of points (objects of type \spadtype{Point}) or else a list of small floats. If \smath{sp} is omitted, it is understood to be empty. \newitem -\smath{\mbox{\bf polygon}\opLeftPren{}sp\opRightPren{}} returns \spadtype{ThreeSpace} object \smath{sp} as a list +\smath{\mbox{\bf polygon}\opLeftPren{}sp\opRightPren{}} returns +\spadtype{ThreeSpace} object \smath{sp} as a list of polygons, or an error if \smath{sp} is not composed of a single polygon. \newitem -\smath{\mbox{\bf polygon?}\opLeftPren{}sp\opRightPren{}} tests if the \spadtype{ThreeSpace} object \smath{sp} +\smath{\mbox{\bf polygon?}\opLeftPren{}sp\opRightPren{}} tests +if the \spadtype{ThreeSpace} object \smath{sp} contains a single polygon component. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{polynomial}}\opLeftPren{}{\it series}, \allowbreak{}{\it integer}\allowbreak $\,[$ , \allowbreak{}{\it integer}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{polynomial}}\opLeftPren{}{\it series}, +\allowbreak{}{\it integer}\allowbreak $\,[$ , \allowbreak{} +{\it integer}$]$\opRightPren{}% }% }% {2}{(\$, NonNegativeInteger)->Polynomial(Coef)}{UnivariateTaylorSeriesCategory} -{\smath{\mbox{\bf polynomial}\opLeftPren{}s, \allowbreak{} k\opRightPren{}} returns a polynomial consisting of the +{\smath{\mbox{\bf polynomial}\opLeftPren{}s, \allowbreak{} k\opRightPren{}} +returns a polynomial consisting of the sum of all terms of series \smath{s} of degree \smath{\leq k} and greater than or equal to 0. \newitem -\smath{\mbox{\bf polynomial}\opLeftPren{}s, \allowbreak{} k_1, \allowbreak{} k_2\opRightPren{}} returns a polynomial consisting of the sum +\smath{\mbox{\bf polynomial}\opLeftPren{}s, \allowbreak{} k_1, +\allowbreak{} k_2\opRightPren{}} returns a polynomial consisting of the sum of all terms of Taylor series \smath{s} of degree \smath{d} with \smath{0 \leq k_1 \leq d \leq k_2}. } @@ -76867,57 +80098,72 @@ with \smath{0 \leq k_1 \leq d \leq k_2}. }% }% {1}{(\$)->S}{StackAggregate} -{\smath{\mbox{\bf pop!}\opLeftPren{}s\opRightPren{}} returns the top element \smath{x} +{\smath{\mbox{\bf pop!}\opLeftPren{}s\opRightPren{}} returns +the top element \smath{x} from stack \smath{s}, destructively removing it from \smath{s}, or calls \spadfun{error} if \smath{s} is empty. -Note: Use \smath{\mbox{\bf top}\opLeftPren{}s\opRightPren{}} to obtain \smath{x} without removing it from \smath{s}. +Note: Use \smath{\mbox{\bf top}\opLeftPren{}s\opRightPren{}} +to obtain \smath{x} without removing it from \smath{s}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{position}}\opLeftPren{}{\it aggregate}, \allowbreak{}{\it aggregate}\allowbreak $\,[$ , \allowbreak{}{\it index}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{position}}\opLeftPren{} +{\it aggregate}, \allowbreak{}{\it aggregate}\allowbreak $\,[$ , \allowbreak{} +{\it index}$]$\opRightPren{}% }% }% {2}{(S, \$)->Integer}{FiniteLinearAggregate} -{\smath{\mbox{\bf position}\opLeftPren{}x, \allowbreak{} a\optinner{, n}\opRightPren{}} returns the index \smath{i} +{\smath{\mbox{\bf position}\opLeftPren{}x, +\allowbreak{} a\optinner{, n}\opRightPren{}} returns the index \smath{i} of the first occurrence of \smath{x} in \smath{a} where \smath{i -\geq n}, and \smath{\mbox{\bf minIndex}\opLeftPren{}a) - 1} if no such \smath{x} is +\geq n}, and \smath{\mbox{\bf minIndex}\opLeftPren{}a) - 1} +if no such \smath{x} is found. The default value of \smath{n} is 1. -\newitem \smath{\mbox{\bf position}\opLeftPren{}cc, \allowbreak{} t, \allowbreak{} i\opRightPren{}} returns the position \smath{j +\newitem \smath{\mbox{\bf position}\opLeftPren{}cc, \allowbreak{} t, +\allowbreak{} i\opRightPren{}} returns the position \smath{j >= i} in \smath{t} of the first character belonging to character class \smath{cc}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{positive?}}\opLeftPren{}{\it orderedSetElement}\opRightPren{}% +\opdata{{\mbox{\axiomFun{positive?}}\opLeftPren{} +{\it orderedSetElement}\opRightPren{}% }% }% {1}{(\$)->Boolean}{OrderedRing} -{\smath{\mbox{\bf positive?}\opLeftPren{}x\opRightPren{}} tests if \smath{x} is strictly greater than 0. +{\smath{\mbox{\bf positive?}\opLeftPren{}x\opRightPren{}} +tests if \smath{x} is strictly greater than 0. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{positiveRemainder}}\opLeftPren{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{positiveRemainder}}\opLeftPren{}{\it integer}, +\allowbreak{}{\it integer}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{IntegerNumberSystem} -{\smath{\mbox{\bf positiveRemainder}\opLeftPren{}a, \allowbreak{} b\opRightPren{}}, where \smath{b > 1}, yields +{\smath{\mbox{\bf positiveRemainder}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}}, where \smath{b > 1}, yields \smath{r} where \smath{0 \leq r < b} and \smath{r = a \rem b}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{possiblyInfinite?}}\opLeftPren{}{\it stream}\opRightPren{}% +\opdata{{\mbox{\axiomFun{possiblyInfinite?}}\opLeftPren{} +{\it stream}\opRightPren{}% }% }% {1}{(\$)->Boolean}{StreamAggregate} -{\smath{\mbox{\bf possiblyInfinite?}\opLeftPren{}s\opRightPren{}} tests if the stream \smath{s} could +{\smath{\mbox{\bf possiblyInfinite?}\opLeftPren{}s\opRightPren{}} +tests if the stream \smath{s} could possibly have an infinite number of elements. Note: for many datatypes, -\smath{\mbox{\bf possiblyInfinite?}\opLeftPren{}s\opRightPren{}} \smath{= \mbox{\bf not } \mbox{\bf explictlyFinite?}(s)}. +\smath{\mbox{\bf possiblyInfinite?}\opLeftPren{}s\opRightPren{}} +\smath{= \mbox{\bf not } \mbox{\bf explictlyFinite?}(s)}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{postfix}}\opLeftPren{}{\it outputForm}, \allowbreak{}{\it outputForm}\opRightPren{}% +\opdata{{\mbox{\axiomFun{postfix}}\opLeftPren{} +{\it outputForm}, \allowbreak{}{\it outputForm}\opRightPren{}% }% }% {}{}{} @@ -76932,45 +80178,54 @@ creates an output form which prints as: \smath{a\quad{}{\rm op}}. }% }% {0}{()->Boolean}{FiniteRankNonAssociativeAlgebra} -{\smath{\mbox{\bf powerAssociative?}\opLeftPren{}\opRightPren{}\$F}, where \spad{F} is +{\smath{\mbox{\bf powerAssociative?}\opLeftPren{}\opRightPren{}\$F}, +where \spad{F} is a domain of category \spadtype{FiniteRankNonAssociativeAlgebra}, tests if all subalgebras generated by a single element are associative. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{powerSum}}\opLeftPren{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{powerSum}}\opLeftPren{} +{\it integer}\opRightPren{}% }% }% { I -> SPOL RN}{}{} -{\smath{\mbox{\bf powerSum}\opLeftPren{}n\opRightPren{}} is the \smath{n} th power sum symmetric +{\smath{\mbox{\bf powerSum}\opLeftPren{}n\opRightPren{}} +is the \smath{n} th power sum symmetric function. See \spadtype{CycleIndicators} for details. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{powmod}}\opLeftPren{}{\it integer}, \allowbreak{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{powmod}}\opLeftPren{}{\it integer}, +\allowbreak{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% }% }% {3}{(\$, \$, \$)->\$}{IntegerNumberSystem} -{\smath{\mbox{\bf powmod}\opLeftPren{}a, \allowbreak{} b, \allowbreak{} p\opRightPren{}}, +{\smath{\mbox{\bf powmod}\opLeftPren{}a, \allowbreak{} b, +\allowbreak{} p\opRightPren{}}, where \smath{a} and \smath{b} are non-negative integers, each \smath{< p}, returns \smath{a^b\mod p}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{precision}}\opLeftPren{}{\it \opt{positiveInteger}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{precision}}\opLeftPren{} +{\it \opt{positiveInteger}}\opRightPren{}% }% }% {0}{()->PositiveInteger}{FloatingPointSystem} -{\smath{\mbox{\bf precision}\opLeftPren{}\opRightPren{}} returns the precision of \spadtype{Float} values +{\smath{\mbox{\bf precision}\opLeftPren{}\opRightPren{}} +returns the precision of \spadtype{Float} values in decimal digits. \newitem -\smath{\mbox{\bf precision}\opLeftPren{}n\opRightPren{}} set the precision in the base to \smath{n} +\smath{\mbox{\bf precision}\opLeftPren{}n\opRightPren{}} +set the precision in the base to \smath{n} decimal digits. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{prefix}}\opLeftPren{}{\it outputForm}, \allowbreak{}{\it listOfOutputForms}\opRightPren{}% +\opdata{{\mbox{\axiomFun{prefix}}\opLeftPren{} +{\it outputForm}, \allowbreak{}{\it listOfOutputForms}\opRightPren{}% }% }% {}{}{} @@ -76983,19 +80238,23 @@ of \smath{o} to a tuple of arguments given by list \smath{lo}. % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{prefix?}}\opLeftPren{}{\it string}, \allowbreak{}{\it string}\opRightPren{}% +\opdata{{\mbox{\axiomFun{prefix?}}\opLeftPren{}{\it string}, \allowbreak{} +{\it string}\opRightPren{}% }% }% {2}{(\$, \$)->Boolean}{StringAggregate} -{\smath{\mbox{\bf prefix?}\opLeftPren{}s, \allowbreak{} t\opRightPren{}} tests if the string \smath{s} is the initial +{\smath{\mbox{\bf prefix?}\opLeftPren{}s, \allowbreak{} t\opRightPren{}} +tests if the string \smath{s} is the initial substring of \smath{t}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{prefixRagits}}\opLeftPren{}{\it listOfIntegers}\opRightPren{}% +\opdata{{\mbox{\axiomFun{prefixRagits}}\opLeftPren{} +{\it listOfIntegers}\opRightPren{}% }% }% {1}{(\$)->List(Integer)}{RadixExpansion} -{\smath{\mbox{\bf prefixRagits}\opLeftPren{}rx\opRightPren{}} returns the non-cyclic part of the +{\smath{\mbox{\bf prefixRagits}\opLeftPren{}rx\opRightPren{}} +returns the non-cyclic part of the ragits of the fractional part of a radix expansion. For example, if \smath{x = 3/28 = 0.10 714285 714285 \ldots}, then \smath{\mbox{\bf prefixRagits}\opLeftPren{}x)=[1, 0]}. @@ -77003,43 +80262,58 @@ For example, if \smath{x = 3/28 = 0.10 714285 714285 \ldots}, then % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{presub}}\opLeftPren{}{\it outputForm}, \allowbreak{}{\it outputForm}\opRightPren{}% +\opdata{{\mbox{\axiomFun{presub}}\opLeftPren{} +{\it outputForm}, \allowbreak{}{\it outputForm}\opRightPren{}% }% }% {}{}{} {\smath{\mbox{\bf presub}\opLeftPren{}o_1, \allowbreak{} o_2\opRightPren{}}, -where \smath{o_1} and \smath{o_2} are objects of type \spadtype{OutputForm} (normally unexposed), +where \smath{o_1} and \smath{o_2} are objects of type +\spadtype{OutputForm} (normally unexposed), creates an output form for \smath{o_1} presubscripted by \smath{o_2}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{presuper}}\opLeftPren{}{\it outputForm}, \allowbreak{}{\it outputForm}\opRightPren{}% +\opdata{{\mbox{\axiomFun{presuper}}\opLeftPren{} +{\it outputForm}, \allowbreak{}{\it outputForm}\opRightPren{}% }% }% {}{}{} -{\smath{\mbox{\bf presuper}\opLeftPren{}o_1, \allowbreak{} o_2\opRightPren{}}, -where \smath{o_1} and \smath{o_2} are objects of type \spadtype{OutputForm} (normally unexposed), +{\smath{\mbox{\bf presuper}\opLeftPren{}o_1, +\allowbreak{} o_2\opRightPren{}}, +where \smath{o_1} and \smath{o_2} are objects of type +\spadtype{OutputForm} (normally unexposed), creates an output form for \smath{o_1} presuperscripted by \smath{o_2}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{primaryDecomp}}\opLeftPren{}{\it ideal}\opRightPren{}% +\opdata{{\mbox{\axiomFun{primaryDecomp}}\opLeftPren{} +{\it ideal}\opRightPren{}% }% }% -{1}{(PolynomialIdeals(Fraction(Integer), DirectProduct(nv, NonNegativeInteger), vl, DistributedMultivariatePolynomial(vl, Fraction(Integer))))->List(PolynomialIdeals(Fraction(Integer), DirectProduct(nv, NonNegativeInteger), vl, DistributedMultivariatePolynomial(vl, Fraction(Integer))))}{IdealDecompositionPackage} -{\smath{\mbox{\bf primaryDecomp}\opLeftPren{}I\opRightPren{}} returns a list of primary ideals such +{1}{(PolynomialIdeals(Fraction(Integer), +DirectProduct(nv, NonNegativeInteger), vl, +DistributedMultivariatePolynomial(vl, Fraction(Integer))))-> +List(PolynomialIdeals(Fraction(Integer), +DirectProduct(nv, NonNegativeInteger), vl, +DistributedMultivariatePolynomial(vl, Fraction(Integer))))} +{IdealDecompositionPackage} +{\smath{\mbox{\bf primaryDecomp}\opLeftPren{}I\opRightPren{}} +returns a list of primary ideals such that their intersection is the ideal \smath{I}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{prime}}\opLeftPren{}{\it outputForm\opt{, positiveInteger}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{prime}}\opLeftPren{} +{\it outputForm\opt{, positiveInteger}}\opRightPren{}% }% }% {}{}{} {\smath{\mbox{\bf prime}\opLeftPren{}o\optinner{, n}\opRightPren{}}, -where \smath{o} is an object of type \spadtype{OutputForm} (normally unexposed), +where \smath{o} is an object of type \spadtype{OutputForm} +(normally unexposed), creates an output form for \smath{o} following by \smath{n} primes (that is, a prime like `` ' ''). By default, \smath{n = 1}. @@ -77050,7 +80324,8 @@ By default, \smath{n = 1}. }% }% {1}{(\$)->Boolean}{UniqueFactorizationDomain} -{\smath{\mbox{\bf prime?}\opLeftPren{}x\opRightPren{}} tests if \smath{x} cannot be written as the +{\smath{\mbox{\bf prime?}\opLeftPren{}x\opRightPren{}} +tests if \smath{x} cannot be written as the product of two non-units, that is, \smath{x} is an irreducible element. Argument \smath{x} may be an integer, a polynomial, an ideal, or, @@ -77059,51 +80334,63 @@ in general, any element of a domain of category } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{primeFactor}}\opLeftPren{}{\it element}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{primeFactor}}\opLeftPren{} +{\it element}, \allowbreak{}{\it integer}\opRightPren{}% }% }% {2}{(R, Integer)->\$}{Factored} -{\smath{\mbox{\bf primeFactor}\opLeftPren{}base, \allowbreak{} exponent\opRightPren{}} creates a factored object with +{\smath{\mbox{\bf primeFactor}\opLeftPren{}base, +\allowbreak{} exponent\opRightPren{}} creates a factored object with a single factor whose \smath{base} is asserted to be prime (flag = \mbox{\tt "prime"}). } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{primeFrobenius}}\opLeftPren{}{\it finiteFieldElement\opt{, nonNegativeInteger}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{primeFrobenius}}\opLeftPren{} +{\it finiteFieldElement\opt{, nonNegativeInteger}}\opRightPren{}% }% }% {2}{(\$, NonNegativeInteger)->\$}{FieldOfPrimeCharacteristic} {\opkey{Argument \smath{a} is a member of a domain of category \spadtype{FieldOfPrimeCharacteristic(p)}.} \newitem -\smath{\mbox{\bf primeFrobenius}\opLeftPren{}a\optinner{, s}\opRightPren{}} returns \smath{a^{p^s}}. +\smath{\mbox{\bf primeFrobenius}\opLeftPren{}a\optinner{, s}\opRightPren{}} +returns \smath{a^{p^s}}. The default value of \smath{s} is 1. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{primes}}\opLeftPren{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{primes}}\opLeftPren{} +{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% }% }% {2}{(I, I)->List(I)}{IntegerPrimesPackage} -{\smath{\mbox{\bf primes}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} returns a list of all primes \smath{p} with \smath{a \leq p \leq b}. +{\smath{\mbox{\bf primes}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} +returns a list of all primes \smath{p} with \smath{a \leq p \leq b}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{primitive?}}\opLeftPren{}{\it finiteFieldElement}\opRightPren{}% +\opdata{{\mbox{\axiomFun{primitive?}}\opLeftPren{} +{\it finiteFieldElement}\opRightPren{}% }% }% {1}{(\$)->Boolean}{FiniteFieldCategory} -{\smath{\mbox{\bf primitive?}\opLeftPren{}b\opRightPren{}} tests whether the element \smath{b} +{\smath{\mbox{\bf primitive?}\opLeftPren{}b\opRightPren{}} +tests whether the element \smath{b} of a finite field is a generator of the (cyclic) multiplicative group of the field, that is, is a primitive element. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{primitiveElement}}\opLeftPren{}{\it expressions\opt{, expression}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{primitiveElement}}\opLeftPren{} +{\it expressions\opt{, expression}}\opRightPren{}% }% }% -{2}{(F, F)->Record(primelt:F, pol1:SparseUnivariatePolynomial(F), pol2:SparseUnivariatePolynomial(F), prim:SparseUnivariatePolynomial(F))}{FunctionSpacePrimitiveElement} -{\smath{\mbox{\bf primitiveElement}\opLeftPren{}a_1, \allowbreak{} a_2\opRightPren{}} returns a record with four +{2}{(F, F)->Record(primelt:F, pol1:SparseUnivariatePolynomial(F), +pol2:SparseUnivariatePolynomial(F), prim:SparseUnivariatePolynomial(F))} +{FunctionSpacePrimitiveElement} +{\smath{\mbox{\bf primitiveElement}\opLeftPren{}a_1, +\allowbreak{} a_2\opRightPren{}} returns a record with four components: a primitive element \smath{a} with selector \smath{primelt}, and three polynomials \smath{q_1}, \smath{q_2}, and \smath{q} with selectors \smath{pol1}, \smath{pol2}, and @@ -77116,32 +80403,41 @@ the minimal polynomial for \smath{a_1} may not involve \smath{a_2}. This operations uses \spadfun{resultant}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{primitiveMonomials}}\opLeftPren{}{\it polynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{primitiveMonomials}}\opLeftPren{} +{\it polynomial}\opRightPren{}% }% }% {1}{(\$)->List(\$)}{PolynomialCategory} -{\smath{\mbox{\bf primitiveMonomials}\opLeftPren{}p\opRightPren{}} gives the list of monomials of the +{\smath{\mbox{\bf primitiveMonomials}\opLeftPren{}p\opRightPren{}} +gives the list of monomials of the polynomial \smath{p} with their coefficients removed. -Note: \smath{\mbox{\bf primitiveMonomials}\opLeftPren{}\sum {a_i X^{(i)}}) = [X^{(1)}, \ldots, X^{(n)}]}. +Note: \smath{\mbox{\bf primitiveMonomials}\opLeftPren{} +\sum {a_i X^{(i)}}) = [X^{(1)}, \ldots, X^{(n)}]}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{primitivePart}}\opLeftPren{}{\it polynomial\opt{, symbol}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{primitivePart}}\opLeftPren{} +{\it polynomial\opt{, symbol}}\opRightPren{}% }% }% {1}{(\$)->\$}{FiniteAbelianMonoidRing} -{\smath{\mbox{\bf primitivePart}\opLeftPren{}p\optinner{, v}\opRightPren{}} returns -the unit normalized form of polynomial \smath{p} divided by the \spadfun{content} of \smath{p} with respect to variable \smath{v}. +{\smath{\mbox{\bf primitivePart}\opLeftPren{}p\optinner{, v} +\opRightPren{}} returns +the unit normalized form of polynomial \smath{p} divided +by the \spadfun{content} of \smath{p} with respect to variable \smath{v}. If no \smath{v} is given, the content is removed with respect to all variables. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{principalIdeal}}\opLeftPren{}{\it listOfPolynomials}\opRightPren{}% +\opdata{{\mbox{\axiomFun{principalIdeal}}\opLeftPren{} +{\it listOfPolynomials}\opRightPren{}% }% }% -{1}{(List(\$))->Record(coef:List(\$), generator:\$)}{PrincipalIdealDomain} -{\smath{\mbox{\bf principalIdeal}\opLeftPren{}[f_1, \allowbreak{} \ldots, f_n]\opRightPren{}} returns a record whose +{1}{(List(\$))->Record(coef:List(\$), generator:\$)} +{PrincipalIdealDomain} +{\smath{\mbox{\bf principalIdeal}\opLeftPren{}[f_1, +\allowbreak{} \ldots, f_n]\opRightPren{}} returns a record whose ``generator'' component is a generator of the ideal generated by \smath{[f_1, \ldots, f_n]} whose ``coef'' component is a list of coefficients \smath{[c_1, \ldots, c_n]} such that @@ -77152,32 +80448,39 @@ coefficients \smath{[c_1, \ldots, c_n]} such that }% }% {1}{(OutputForm)->Void}{PrintPackage} -{\smath{\mbox{\bf print}\opLeftPren{}o\opRightPren{}} writes the output form \smath{o} on standard +{\smath{\mbox{\bf print}\opLeftPren{}o\opRightPren{}} +writes the output form \smath{o} on standard output using the two-dimensional formatter. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{product}}\opLeftPren{}{\it element}, \allowbreak{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{product}}\opLeftPren{} +{\it element}, \allowbreak{}{\it element}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{GradedAlgebra} -{\smath{\mbox{\bf product}\opLeftPren{}f(n), \allowbreak{} n = a..b\opRightPren{}} returns +{\smath{\mbox{\bf product}\opLeftPren{}f(n), +\allowbreak{} n = a..b\opRightPren{}} returns \smath{\prod\nolimits_{n=a}^b{f(n)}} as a formal product. -\newitem\smath{\mbox{\bf product}\opLeftPren{}f(n), \allowbreak{} n\opRightPren{}} returns the formal product +\newitem\smath{\mbox{\bf product}\opLeftPren{}f(n), +\allowbreak{} n\opRightPren{}} returns the formal product \smath{P(n)} verifying \smath{{P(n+1)/P(n)} = f(n)}. -\newitem\smath{\mbox{\bf product}\opLeftPren{}s, \allowbreak{} t\opRightPren{}}, where \smath{s} and \smath{t} are +\newitem\smath{\mbox{\bf product}\opLeftPren{}s, +\allowbreak{} t\opRightPren{}}, where \smath{s} and \smath{t} are cartesian tensors, returns the outer product of \smath{s} and \smath{t}. For example, if \smath{r = {\bf product}(s, t)} for rank 2 tensors \smath{s} and \smath{t}, then \smath{r} is a rank 4 tensor given by \smath{r_{i, j, k, l} = s_{i, j} t_{k, l}}. -\newitem\smath{\mbox{\bf product}\opLeftPren{}a, \allowbreak{} b\opRightPren{}}, where \smath{a} and \smath{b} are +\newitem\smath{\mbox{\bf product}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}}, where \smath{a} and \smath{b} are elements of a graded algebra returns the degree-preserving linear product. See \spadtype{GradedAlgebra} for details.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{prolateSpheroidal}}\opLeftPren{}{\it smallFloat}\opRightPren{}% +\opdata{{\mbox{\axiomFun{prolateSpheroidal}}\opLeftPren{} +{\it smallFloat}\opRightPren{}% }% }% {1}{(R)->(Point(R))->Point(R)}{CoordinateSystems} @@ -77195,50 +80498,61 @@ This function will map the point }% }% {1}{(\$)->List(String)}{ScriptFormulaFormat} -{\smath{\mbox{\bf prologue}\opLeftPren{}t\opRightPren{}} extracts the prologue section of a +{\smath{\mbox{\bf prologue}\opLeftPren{}t\opRightPren{}} +extracts the prologue section of a IBM SCRIPT Formula Formatter or \TeX{} formatted object \smath{t}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{properties}}\opLeftPren{}{\it basicOperator\opt{, prop}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{properties}}\opLeftPren{} +{\it basicOperator\opt{, prop}}\opRightPren{}% }% }% {1}{(\$)->AssociationList(String, None)}{BasicOperator} -{\smath{\mbox{\bf properties}\opLeftPren{}op\opRightPren{}} returns the list of all the properties currently attached to \smath{op}. +{\smath{\mbox{\bf properties}\opLeftPren{}op\opRightPren{}} +returns the list of all the properties currently attached to \smath{op}. \newitem -\smath{\mbox{\bf property}\opLeftPren{}op, \allowbreak{} s\opRightPren{}} returns the value of property \smath{s} if +\smath{\mbox{\bf property}\opLeftPren{}op, \allowbreak{} s\opRightPren{}} +returns the value of property \smath{s} if it is attached to \smath{op}, and \mbox{\tt "failed"} otherwise. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{pseudoDivide}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it polynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{pseudoDivide}}\opLeftPren{} +{\it polynomial}, \allowbreak{}{\it polynomial}\opRightPren{}% }% }% -{2}{(\$, \$)->Record(coef:R, quotient:\$, remainder:\$)}{UnivariatePolynomialCategory} -{\smath{\mbox{\bf pseudoDivide}\opLeftPren{}p, \allowbreak{} q\opRightPren{}} returns \smath{(c, q, r)}, when +{2}{(\$, \$)->Record(coef:R, quotient:\$, remainder:\$)} +{UnivariatePolynomialCategory} +{\smath{\mbox{\bf pseudoDivide}\opLeftPren{}p, +\allowbreak{} q\opRightPren{}} returns \smath{(c, q, r)}, when \smath{p' := p \mbox{ \bf leadingCoefficient}(q)^{{\rm deg}(p) - {\rm deg}(q) + 1}= c p} is pseudo right-divided by \smath{q}, that is, \smath{p' = s q + r}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{pseudoQuotient}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it polynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{pseudoQuotient}}\opLeftPren{} +{\it polynomial}, \allowbreak{}{\it polynomial}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{UnivariatePolynomialCategory} -{\smath{\mbox{\bf pseudoQuotient}\opLeftPren{}p, \allowbreak{} q\opRightPren{}} returns \smath{r}, the quotient when +{\smath{\mbox{\bf pseudoQuotient}\opLeftPren{}p, +\allowbreak{} q\opRightPren{}} returns \smath{r}, the quotient when \smath{p' := p {\rm leadingCoefficient}(q)^{{\rm deg} p - {\rm deg} q + 1}} is pseudo right-divided by \smath{q}, that is, \smath{p' = s q + r}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{pseudoRemainder}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it polynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{pseudoRemainder}}\opLeftPren{} +{\it polynomial}, \allowbreak{}{\it polynomial}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{UnivariatePolynomialCategory} -{\smath{\mbox{\bf pseudoRemainder}\opLeftPren{}p, \allowbreak{} q\opRightPren{}} = \smath{r}, for polynomials +{\smath{\mbox{\bf pseudoRemainder}\opLeftPren{}p, +\allowbreak{} q\opRightPren{}} = \smath{r}, for polynomials \smath{p} and \smath{q}, returns the remainder when \smath{p' := p {\rm leadingCoefficient}(q)^{{\rm deg} p - {\rm deg} q + 1}} is @@ -77246,34 +80560,44 @@ pseudo right-divided by \smath{q}, that is, \smath{p' = s q + r}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{puiseux}}\opLeftPren{}{\it expression\opt{, options}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{puiseux}}\opLeftPren{} +{\it expression\opt{, options}}\opRightPren{}% }% }% {1}{(FE)->Any}{ExpressionToUnivariatePowerSeries} -{\smath{\mbox{\bf puiseux}\opLeftPren{}f\opRightPren{}} returns a Puiseux expansion of the expression +{\smath{\mbox{\bf puiseux}\opLeftPren{}f\opRightPren{}} +returns a Puiseux expansion of the expression \smath{f}. Note: \smath{f} should have only one variable; the series will be expanded in powers of that variable. Also, if \smath{x} is a symbol, -\smath{\mbox{\bf puiseux}\opLeftPren{}x\opRightPren{}} returns \smath{x} as a Puiseux series. +\smath{\mbox{\bf puiseux}\opLeftPren{}x\opRightPren{}} returns \smath{x} +as a Puiseux series. \newitem -\smath{\mbox{\bf puiseux}\opLeftPren{}f, \allowbreak{} x = a\opRightPren{}} expands the expression \smath{f} as a +\smath{\mbox{\bf puiseux}\opLeftPren{}f, \allowbreak{} x = a\opRightPren{}} +expands the expression \smath{f} as a Puiseux series in powers of \smath{(x - a)}. \newitem -\smath{\mbox{\bf puiseux}\opLeftPren{}f, \allowbreak{} n\opRightPren{}} returns a Puiseux expansion of the expression +\smath{\mbox{\bf puiseux}\opLeftPren{}f, \allowbreak{} n\opRightPren{}} +returns a Puiseux expansion of the expression \smath{f}. Note: \smath{f} should have only one variable; the series will be expanded in powers of that variable and terms will be computed up to order at least \smath{n}. \newitem -\smath{\mbox{\bf puiseux}\opLeftPren{}f, \allowbreak{} x = a, \allowbreak{} n\opRightPren{}} expands the expression \smath{f} as a +\smath{\mbox{\bf puiseux}\opLeftPren{}f, \allowbreak{} x = a, +\allowbreak{} n\opRightPren{}} expands the expression \smath{f} as a Puiseux series in powers of \smath{(x - a)}; terms will be computed up to order at least \smath{n}. \newitem -\smath{\mbox{\bf puiseux}\opLeftPren{}n {\tt +->} a(n), \allowbreak{} x = a, \allowbreak{} r_0.., \allowbreak{} r\opRightPren{}} returns +\smath{\mbox{\bf puiseux}\opLeftPren{}n {\tt +->} a(n), +\allowbreak{} x = a, \allowbreak{} r_0.., \allowbreak{} r\opRightPren{}} +returns \smath{\sum\nolimits_{n = r_0, r_0 + r, r_0 + 2 r, \ldots} a(n) (x - a)^n}. \newitem -\smath{\mbox{\bf puiseux}\opLeftPren{}a(n), \allowbreak{} n, \allowbreak{} x = a, \allowbreak{} r_0.., \allowbreak{} r\opRightPren{}} returns +\smath{\mbox{\bf puiseux}\opLeftPren{}a(n), +\allowbreak{} n, \allowbreak{} x = a, \allowbreak{} r_0.., +\allowbreak{} r\opRightPren{}} returns \smath{\sum\nolimits_{n = r_0, r_0 + r, r_0 + 2 r, \ldots} a(n) (x - a)^n}. \newitem Note: Each of the last two commands have alternate forms whose third argument is the finite segment \smath{r_0..r_1} @@ -77283,119 +80607,148 @@ a finite number of terms. % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{push!}}\opLeftPren{}{\it element}, \allowbreak{}{\it stack}\opRightPren{}% +\opdata{{\mbox{\axiomFun{push!}}\opLeftPren{} +{\it element}, \allowbreak{}{\it stack}\opRightPren{}% }% }% {2}{(S, \$)->S}{StackAggregate} -{\smath{\mbox{\bf push!}\opLeftPren{}x, \allowbreak{} s\opRightPren{}} pushes \smath{x} onto stack \smath{s}, that +{\smath{\mbox{\bf push!}\opLeftPren{}x, +\allowbreak{} s\opRightPren{}} pushes \smath{x} onto stack \smath{s}, that is, destructively changing \smath{s} so as to have a new first (top) element \smath{x}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{pushdown}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it symbol}\opRightPren{}% - \opand \mbox{\axiomFun{pushdterm}}\opLeftPren{}{\it monomial}, \allowbreak{}{\it symbol}\opRightPren{}% +\opdata{{\mbox{\axiomFun{pushdown}}\opLeftPren{} +{\it polynomial}, \allowbreak{}{\it symbol}\opRightPren{}% + \opand \mbox{\axiomFun{pushdterm}}\opLeftPren{} +{\it monomial}, \allowbreak{}{\it symbol}\opRightPren{}% }% }% {2}{(PRF, OV)->PRF}{MPolyCatRationalFunctionFactorizer} -{\smath{\mbox{\bf pushdown}\opLeftPren{}prf, \allowbreak{} var\opRightPren{}} pushes all top level occurences of the +{\smath{\mbox{\bf pushdown}\opLeftPren{}prf, +\allowbreak{} var\opRightPren{}} pushes all top level occurences of the variable \smath{var} into the coefficient domain for the polynomial \smath{prf}. -\newitem\smath{\mbox{\bf pushdterm}\opLeftPren{}monom, \allowbreak{} var\opRightPren{}} pushes all top level +\newitem\smath{\mbox{\bf pushdterm}\opLeftPren{}monom, +\allowbreak{} var\opRightPren{}} pushes all top level occurences of the variable \smath{var} into the coefficient domain for the monomial \smath{monom}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{pushucoef}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it variable}\opRightPren{}% +\opdata{{\mbox{\axiomFun{pushucoef}}\opLeftPren{}{\it polynomial}, +\allowbreak{}{\it variable}\opRightPren{}% }% }% -{2}{(SparseUnivariatePolynomial(Polynomial(R)), OV)->PRF}{MPolyCatRationalFunctionFactorizer} -{\smath{\mbox{\bf pushucoef}\opLeftPren{}upoly, \allowbreak{} var\opRightPren{}} converts the anonymous univariate +{2}{(SparseUnivariatePolynomial(Polynomial(R)), OV)->PRF} +{MPolyCatRationalFunctionFactorizer} +{\smath{\mbox{\bf pushucoef}\opLeftPren{}upoly, +\allowbreak{} var\opRightPren{}} converts the anonymous univariate polynomial \smath{upoly} to a polynomial in \smath{var} over rational functions.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{pushuconst}}\opLeftPren{}{\it rationalFunction}, \allowbreak{}{\it variable}\opRightPren{}% +\opdata{{\mbox{\axiomFun{pushuconst}}\opLeftPren{} +{\it rationalFunction}, \allowbreak{}{\it variable}\opRightPren{}% }% }% {2}{(Fraction(Polynomial(R)), OV)->PRF}{MPolyCatRationalFunctionFactorizer} -{\smath{\mbox{\bf pushuconst}\opLeftPren{}r, \allowbreak{} var\opRightPren{}} takes a rational function and raises +{\smath{\mbox{\bf pushuconst}\opLeftPren{}r, \allowbreak{} var\opRightPren{}} +takes a rational function and raises all occurences of the variable \smath{var} to the polynomial level. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{pushup}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it variable}\opRightPren{}% +\opdata{{\mbox{\axiomFun{pushup}}\opLeftPren{}{\it polynomial}, +\allowbreak{}{\it variable}\opRightPren{}% }% }% {2}{(PRF, OV)->PRF}{MPolyCatRationalFunctionFactorizer} -{\smath{\mbox{\bf pushup}\opLeftPren{}prf, \allowbreak{} var\opRightPren{}} raises all occurences of the variable +{\smath{\mbox{\bf pushup}\opLeftPren{}prf, \allowbreak{} var\opRightPren{}} +raises all occurences of the variable \smath{var} in the coefficients of the polynomial \smath{prf} back to the polynomial level. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{qelt}}\opLeftPren{}{\it u\opt{, options}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{qelt}}\opLeftPren{}{\it u\opt{, options}} +\opRightPren{}% }% }% {2}{(\$, Dom)->Im}{EltableAggregate} -{\smath{\mbox{\bf qelt}\opLeftPren{}u, \allowbreak{} p\optinner{, options}\opRightPren{}} is equivalent to +{\smath{\mbox{\bf qelt}\opLeftPren{}u, \allowbreak{} p\optinner{, options} +\opRightPren{}} is equivalent to a corresponding \spadfun{elt} form except that it performs no check that indicies are in range. Use HyperDoc to discover if a given domain has this alternative operation. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{qsetelt!}}\opLeftPren{}{\it u}, \allowbreak{}{\it x}, \allowbreak{}{\it y}\allowbreak $\,[$ , \allowbreak{}{\it z}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{qsetelt!}}\opLeftPren{}{\it u}, \allowbreak{} +{\it x}, \allowbreak{}{\it y}\allowbreak $\,[$ , \allowbreak{} +{\it z}$]$\opRightPren{}% }% }% {3}{(\$, Dom, Im)->Im}{EltableAggregate} -{\smath{\mbox{\bf qsetelt!}\opLeftPren{}u, \allowbreak{} x, \allowbreak{} y\optinner{, z}\opRightPren{}} is equivalent to +{\smath{\mbox{\bf qsetelt!}\opLeftPren{}u, \allowbreak{} x, +\allowbreak{} y\optinner{, z}\opRightPren{}} is equivalent to a corresponding \spadfun{setelt} form except that it performs no check that indicies are in range. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{quadraticForm}}\opLeftPren{}{\it matrix}\opRightPren{}% +\opdata{{\mbox{\axiomFun{quadraticForm}}\opLeftPren{} +{\it matrix}\opRightPren{}% }% }% {1}{(SquareMatrix(n, K))->\$}{QuadraticForm} -{\smath{\mbox{\bf quadraticForm}\opLeftPren{}m\opRightPren{}} creates a quadratic form from a symmetric, square matrix \smath{m}. +{\smath{\mbox{\bf quadraticForm}\opLeftPren{}m\opRightPren{}} +creates a quadratic form from a symmetric, square matrix \smath{m}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{quatern}}\opLeftPren{}{\it element}, \allowbreak{}{\it element}, \allowbreak{}{\it element}, \allowbreak{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{quatern}}\opLeftPren{}{\it element}, \allowbreak{} +{\it element}, \allowbreak{}{\it element}, \allowbreak{} +{\it element}\opRightPren{}% }% }% {4}{(R, R, R, R)->\$}{QuaternionCategory} -{\smath{\mbox{\bf quatern}\opLeftPren{}r, \allowbreak{} i, \allowbreak{} j, \allowbreak{} k\opRightPren{}} constructs a quaternion from scalars. +{\smath{\mbox{\bf quatern}\opLeftPren{}r, \allowbreak{} i, \allowbreak{} j, +\allowbreak{} k\opRightPren{}} constructs a quaternion from scalars. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{queue}}\opLeftPren{}{\it \opt{listOfElements}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{queue}}\opLeftPren{} +{\it \opt{listOfElements}}\opRightPren{}% }% }% {0}{()->\$}{QueueAggregate} -{\smath{\mbox{\bf queue}\opLeftPren{}\opRightPren{}}\$\smath{R} returns an empty queue of type +{\smath{\mbox{\bf queue}\opLeftPren{}\opRightPren{}}\$\smath{R} +returns an empty queue of type \smath{R}. \newitem -\smath{\mbox{\bf queue}\opLeftPren{}[x, \allowbreak{} y, \allowbreak{} \ldots, z]\opRightPren{}} creates a queue with first (top) +\smath{\mbox{\bf queue}\opLeftPren{}[x, \allowbreak{} y, +\allowbreak{} \ldots, z]\opRightPren{}} creates a queue with first (top) element \smath{x}, second element \smath{y}, \ldots, and last (bottom) element \smath{z}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{quickSort}}\opLeftPren{}{\it predicate}, \allowbreak{}{\it aggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{quickSort}}\opLeftPren{} +{\it predicate}, \allowbreak{}{\it aggregate}\opRightPren{}% }% }% {2}{((S, S)->Boolean, V)->V}{FiniteLinearAggregateSort} -{\smath{\mbox{\bf quickSort}\opLeftPren{}f, \allowbreak{} agg\opRightPren{}} sorts the aggregate agg with the +{\smath{\mbox{\bf quickSort}\opLeftPren{}f, +\allowbreak{} agg\opRightPren{}} sorts the aggregate agg with the ordering predicate \smath{f} using the quicksort algorithm. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{quo}}\opLeftPren{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{quo}}\opLeftPren{} +{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{NonNegativeInteger} @@ -77407,7 +80760,8 @@ discarding the remainder.} }% }% {1}{(\$)->\$}{UnivariateTaylorSeriesCategory} -{\smath{\mbox{\bf quoByVar}\opLeftPren{}a_0 + a_1 x + a_2 x^2 + \cdots\opRightPren{}} +{\smath{\mbox{\bf quoByVar} +\opLeftPren{}a_0 + a_1 x + a_2 x^2 + \cdots\opRightPren{}} returns \smath{a_1 + a_2 x + a_3 x^2 + \cdots} Thus, this function subtracts the constant term and divides by the series variable. This function is used when Laurent series are represented by a @@ -77419,18 +80773,21 @@ Taylor series and an order. }% }% {}{}{} -{\smath{\mbox{\bf quote}\opLeftPren{}o\opRightPren{}}, where \smath{o} is an object of type +{\smath{\mbox{\bf quote}\opLeftPren{}o\opRightPren{}}, +where \smath{o} is an object of type \spadtype{OutputForm} (normally unexposed), creates an output form \smath{o} with a prefix quote. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{quotedOperators}}\opLeftPren{}{\it rewriteRule}\opRightPren{}% +\opdata{{\mbox{\axiomFun{quotedOperators}}\opLeftPren{} +{\it rewriteRule}\opRightPren{}% }% }% {1}{(\$)->List(Symbol)}{RewriteRule} -{\smath{\mbox{\bf quotedOperators}\opLeftPren{}r\opRightPren{}}, where \smath{r} is a rewrite rule, +{\smath{\mbox{\bf quotedOperators}\opLeftPren{}r\opRightPren{}}, +where \smath{r} is a rewrite rule, returns the list of operators on the right-hand side of \smath{r} that are considered quoted, that is, they are not evaluated during any rewrite, but applied formally to their arguments. @@ -77439,14 +80796,17 @@ any rewrite, but applied formally to their arguments. % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{quotient}}\opLeftPren{}{\it ideal}, \allowbreak{}{\it polynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{quotient}}\opLeftPren{}{\it ideal}, +\allowbreak{}{\it polynomial}\opRightPren{}% }% }% {2}{(\$, DPoly)->\$}{PolynomialIdeals} -{\smath{\mbox{\bf quotient}\opLeftPren{}I, \allowbreak{} f\opRightPren{}} computes the quotient of the ideal +{\smath{\mbox{\bf quotient}\opLeftPren{}I, +\allowbreak{} f\opRightPren{}} computes the quotient of the ideal \smath{I} by the principal ideal generated by the polynomial \smath{f}, \smath{(I:(f))}. -\newitem\smath{\mbox{\bf quotient}\opLeftPren{}I, \allowbreak{} J\opRightPren{}} computes the quotient of the ideals +\newitem\smath{\mbox{\bf quotient}\opLeftPren{}I, +\allowbreak{} J\opRightPren{}} computes the quotient of the ideals \smath{I} and \smath{J}, \smath{(I:J)}. } @@ -77454,36 +80814,53 @@ any rewrite, but applied formally to their arguments. \opdata{{\mbox{\axiomFun{radical}}\opLeftPren{}{\it ideal}\opRightPren{}% }% }% -{1}{(PolynomialIdeals(Fraction(Integer), DirectProduct(nv, NonNegativeInteger), vl, DistributedMultivariatePolynomial(vl, Fraction(Integer))))->PolynomialIdeals(Fraction(Integer), DirectProduct(nv, NonNegativeInteger), vl, DistributedMultivariatePolynomial(vl, Fraction(Integer)))}{IdealDecompositionPackage} -{\smath{\mbox{\bf radical}\opLeftPren{}I\opRightPren{}} returns the radical of the ideal \smath{I}. +{1}{(PolynomialIdeals(Fraction(Integer), +DirectProduct(nv, NonNegativeInteger), vl, +DistributedMultivariatePolynomial(vl, Fraction(Integer))))-> +PolynomialIdeals(Fraction(Integer), DirectProduct(nv, NonNegativeInteger), +vl, DistributedMultivariatePolynomial(vl, Fraction(Integer)))} +{IdealDecompositionPackage} +{\smath{\mbox{\bf radical}\opLeftPren{}I\opRightPren{}} +returns the radical of the ideal \smath{I}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{radicalEigenvalues}}\opLeftPren{}{\it matrix}\opRightPren{}% +\opdata{{\mbox{\axiomFun{radicalEigenvalues}}\opLeftPren{} +{\it matrix}\opRightPren{}% }% }% -{1}{(Matrix(Fraction(Polynomial(Fraction(Integer)))))->List(Expression(Fraction(Integer)))}{RadicalEigenPackage} -{\smath{\mbox{\bf radicalEigenvalues}\opLeftPren{}m\opRightPren{}} computes the eigenvalues of the +{1}{(Matrix(Fraction(Polynomial(Fraction(Integer)))))-> +List(Expression(Fraction(Integer)))}{RadicalEigenPackage} +{\smath{\mbox{\bf radicalEigenvalues}\opLeftPren{}m\opRightPren{}} +computes the eigenvalues of the matrix \smath{m}; when possible, the eigenvalues are expressed in terms of radicals. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{radicalEigenvectors}}\opLeftPren{}{\it matrix}\opRightPren{}% +\opdata{{\mbox{\axiomFun{radicalEigenvectors}}\opLeftPren{} +{\it matrix}\opRightPren{}% }% }% -{1}{(Matrix(Fraction(Polynomial(Fraction(Integer)))))->List(Record(radval:Expression(Fraction(Integer)), radmult:Integer, radvect:List(Matrix(Expression(Fraction(Integer))))))}{RadicalEigenPackage} -{\smath{\mbox{\bf radicalEigenvectors}\opLeftPren{}m\opRightPren{}} computes the eigenvalues and the +{1}{(Matrix(Fraction(Polynomial(Fraction(Integer)))))-> +List(Record(radval:Expression(Fraction(Integer)), radmult:Integer, +radvect:List(Matrix(Expression(Fraction(Integer))))))}{RadicalEigenPackage} +{\smath{\mbox{\bf radicalEigenvectors}\opLeftPren{}m\opRightPren{}} +computes the eigenvalues and the corresponding eigenvectors of the matrix \smath{m}; when possible, values are expressed in terms of radicals. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{radicalEigenvector}}\opLeftPren{}{\it eigenvalue}, \allowbreak{}{\it matrix}\opRightPren{}% +\opdata{{\mbox{\axiomFun{radicalEigenvector}}\opLeftPren{} +{\it eigenvalue}, \allowbreak{}{\it matrix}\opRightPren{}% }% }% -{2}{(Expression(Fraction(Integer)), Matrix(Fraction(Polynomial(Fraction(Integer)))))->List(Matrix(Expression(Fraction(Integer))))}{RadicalEigenPackage} -{\smath{\mbox{\bf radicalEigenvector}\opLeftPren{}c, \allowbreak{} m\opRightPren{}} computes the +{2}{(Expression(Fraction(Integer)), +Matrix(Fraction(Polynomial(Fraction(Integer)))))-> +List(Matrix(Expression(Fraction(Integer))))}{RadicalEigenPackage} +{\smath{\mbox{\bf radicalEigenvector}\opLeftPren{}c, +\allowbreak{} m\opRightPren{}} computes the eigenvector(\smath{s}) of the matrix \smath{m} corresponding to the eigenvalue \smath{c}; when possible, values are expressed in terms of radicals. @@ -77494,55 +80871,69 @@ terms of radicals. }% }% {0}{()->List(A)}{AlgebraPackage} -{\smath{\mbox{\bf radicalOfLeftTraceForm}\opLeftPren{}\opRightPren{}\$F} returns the basis for the +{\smath{\mbox{\bf radicalOfLeftTraceForm}\opLeftPren{}\opRightPren{}\$F} +returns the basis for the null space of \smath{\mbox{\bf leftTraceMatrix}\opLeftPren{}\opRightPren{}\$F}, -where \smath{F} is a domain of category \spadtype{FramedNonAssociativeAlgebra}. +where \smath{F} is a domain of category +\spadtype{FramedNonAssociativeAlgebra}. If the algebra is associative, alternative or a Jordan algebra, then this space equals the radical (maximal nil ideal) of the algebra. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{radicalRoots}}\opLeftPren{}{\it fractions}\opRightPren{}% +\opdata{{\mbox{\axiomFun{radicalRoots}}\opLeftPren{} +{\it fractions}\opRightPren{}% }% }% -{2}{(Fraction(Polynomial(R)), Symbol)->List(Expression(R))}{RadicalSolvePackage} -{\smath{\mbox{\bf radicalRoots}\opLeftPren{}rf, \allowbreak{} v\opRightPren{}} finds the roots expressed in terms of +{2}{(Fraction(Polynomial(R)), Symbol)-> +List(Expression(R))}{RadicalSolvePackage} +{\smath{\mbox{\bf radicalRoots}\opLeftPren{}rf, +\allowbreak{} v\opRightPren{}} finds the roots expressed in terms of radicals of the rational function \smath{rf} with respect to the symbol \smath{v}. \newitem -\smath{\mbox{\bf radicalRoots}\opLeftPren{}lrf, \allowbreak{} lv\opRightPren{}} finds the roots expressed in terms of +\smath{\mbox{\bf radicalRoots}\opLeftPren{}lrf, +\allowbreak{} lv\opRightPren{}} finds the roots expressed in terms of radicals of the list of rational functions \smath{lrf} with respect to the list of symbols \smath{lv}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{radicalSolve}}\opLeftPren{}{\it eq}, \allowbreak{}{\it x}\opRightPren{}% +\opdata{{\mbox{\axiomFun{radicalSolve}}\opLeftPren{} +{\it eq}, \allowbreak{}{\it x}\opRightPren{}% }% }% -{1}{(Equation(Expression(R)))->List(Equation(Expression(R)))}{TransSolvePackage}{See \smath{\mbox{\bf solve}\opLeftPren{}u, \allowbreak{} v\opRightPren{}}. +{1}{(Equation(Expression(R)))->List(Equation(Expression(R)))} +{TransSolvePackage} +{See \smath{\mbox{\bf solve}\opLeftPren{}u, \allowbreak{} v\opRightPren{}}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{radix}}\opLeftPren{}{\it rationalNumber}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{radix}}\opLeftPren{}{\it rationalNumber}, +\allowbreak{}{\it integer}\opRightPren{}% }% }% {2}{(Fraction(Integer), Integer)->Any}{RadixUtilities} -{\smath{\mbox{\bf radix}\opLeftPren{}rn, \allowbreak{} b\opRightPren{}} converts rational number \smath{rn} to a +{\smath{\mbox{\bf radix}\opLeftPren{}rn, \allowbreak{} b\opRightPren{}} +converts rational number \smath{rn} to a radix expansion in base \smath{b}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{ramified?}}\opLeftPren{}{\it polynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{ramified?}}\opLeftPren{} +{\it polynomial}\opRightPren{}% \opand \mbox{\axiomFun{ramifiedAtInfinity?}}\opLeftPren{}\opRightPren{}% }% }% {1}{(UP)->Boolean}{FunctionFieldCategory} {\opkey{Domain \smath{F} is a domain of functions on a fixed curve.} -\newitem\smath{\mbox{\bf ramified?}\opLeftPren{}p\opRightPren{}\$F} tests whether \smath{p(x) = 0} is ramified. -\newitem\smath{\mbox{\bf ramifiedAtInfinity?}\opLeftPren{}\opRightPren{}} tests if infinity is +\newitem\smath{\mbox{\bf ramified?}\opLeftPren{}p\opRightPren{}\$F} +tests whether \smath{p(x) = 0} is ramified. +\newitem\smath{\mbox{\bf ramifiedAtInfinity?}\opLeftPren{}\opRightPren{}} +tests if infinity is ramified. } @@ -77551,16 +80942,19 @@ ramified. }% }% {0}{()->\$}{IntegerNumberSystem} -{\smath{\mbox{\bf random}\opLeftPren{}\opRightPren{}\$R} creates a random element from +{\smath{\mbox{\bf random}\opLeftPren{}\opRightPren{}\$R} creates a +random element from domain \smath{D}. \newitem -\smath{\mbox{\bf random}\opLeftPren{}gp\optinner{, i}\opRightPren{}} returns a random product +\smath{\mbox{\bf random}\opLeftPren{}gp\optinner{, i}\opRightPren{}} +returns a random product of maximal \smath{i} generators of the permutation group {\it gp}. The value of \smath{i} is 20 by default. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{range}}\opLeftPren{}{\it listOfSegments}\opRightPren{}% +\opdata{{\mbox{\axiomFun{range}}\opLeftPren{} +{\it listOfSegments}\opRightPren{}% }% }% {1}{(List(Segment(Float)))->\$}{DrawOption} @@ -77577,11 +80971,13 @@ as floats or rational numbers. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{ranges}}\opLeftPren{}{\it listOfSegments}\opRightPren{}% +\opdata{{\mbox{\axiomFun{ranges}}\opLeftPren{} +{\it listOfSegments}\opRightPren{}% }% }% {1}{(List(Segment(Float)))->\$}{DrawOption} -{\smath{\mbox{\bf ranges}\opLeftPren{}l\opRightPren{}} provides a list of user-specified ranges +{\smath{\mbox{\bf ranges}\opLeftPren{}l\opRightPren{}} provides a +list of user-specified ranges for the \spadfun{draw} command. This command may also be expressed as an option to the \spadfun{draw} command in the form \smath{{\bf ranges} == l}. @@ -77592,9 +80988,11 @@ command in the form \smath{{\bf ranges} == l}. }% }% {1}{(M)->NonNegativeInteger}{MatrixLinearAlgebraFunctions} -{\smath{\mbox{\bf rank}\opLeftPren{}m\opRightPren{}} returns the rank of the matrix \smath{m}. Also: +{\smath{\mbox{\bf rank}\opLeftPren{}m\opRightPren{}} returns the +rank of the matrix \smath{m}. Also: \newitem -\smath{\mbox{\bf rank}\opLeftPren{}A, \allowbreak{} B\opRightPren{}} computes the rank of the complete matrix +\smath{\mbox{\bf rank}\opLeftPren{}A, \allowbreak{} B\opRightPren{}} +computes the rank of the complete matrix \smath{(A|B)} of the linear system \smath{AX = B}. \newitem \smath{\mbox{\bf rank}\opLeftPren{}t\opRightPren{}}, @@ -77607,7 +81005,8 @@ indices). } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rarrow}}\opLeftPren{}{\it outputForm}, \allowbreak{}{\it outputForm}\opRightPren{}% +\opdata{{\mbox{\axiomFun{rarrow}}\opLeftPren{} +{\it outputForm}, \allowbreak{}{\it outputForm}\opRightPren{}% }% }% {}{}{} @@ -77619,7 +81018,8 @@ creates a form for the mapping \smath{o_1 \rightarrow o_2}. % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{ratDenom}}\opLeftPren{}{\it expression\opt{, option}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{ratDenom}}\opLeftPren{} +{\it expression\opt{, option}}\opRightPren{}% }% }% {2}{(F, F)->F}{AlgebraicManipulations} @@ -77636,29 +81036,37 @@ Similarly, if \smath{u} is a list of algebraic kernels % ---------------------------------------------------------------------- \opdata{{\mbox{\axiomFun{rational?}}\opLeftPren{}{\it element}\opRightPren{}% - \optand \mbox{\axiomFun{rationalIfCan}}\opLeftPren{}{\it element}\opRightPren{}% +\optand \mbox{\axiomFun{rationalIfCan}}\opLeftPren{} +{\it element}\opRightPren{}% \opand \mbox{\axiomFun{rational}}\opLeftPren{}{\it element}\opRightPren{}% }% }% {1}{(\$)->Boolean}{ComplexCategory} -{\smath{\mbox{\bf rational?}\opLeftPren{}x\opRightPren{}} tests if \smath{x} is a rational number, +{\smath{\mbox{\bf rational?}\opLeftPren{}x\opRightPren{}} +tests if \smath{x} is a rational number, that is, that it can be converted to type \spadtype{Fraction(Integer)}. Specifically, if \smath{x} is complex, a quaternion, or an octonion, it tests that all imaginary parts are 0. \newitem -\smath{\mbox{\bf rationalIfCan}\opLeftPren{}x\opRightPren{}} returns \smath{x} as a rational number +\smath{\mbox{\bf rationalIfCan}\opLeftPren{}x\opRightPren{}} +returns \smath{x} as a rational number if possible, and \mbox{\tt "failed"} if it is not. \newitem -\smath{\mbox{\bf rational}\opLeftPren{}x\opRightPren{}} returns \smath{x} as a rational number if +\smath{\mbox{\bf rational}\opLeftPren{}x\opRightPren{}} +returns \smath{x} as a rational number if possible, and calls \spadfun{error} if it is not. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rationalApproximation}}\opLeftPren{}{\it float}, \allowbreak{}{\it nonNegativeInteger}\allowbreak $\,[$ , \allowbreak{}{\it positiveInteger}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{rationalApproximation}}\opLeftPren{} +{\it float}, \allowbreak{} +{\it nonNegativeInteger}\allowbreak $\,[$ , \allowbreak{} +{\it positiveInteger}$]$\opRightPren{}% }% }% {3}{(\$, NonNegativeInteger, NonNegativeInteger)->Fraction(Integer)}{Float} -{\smath{\mbox{\bf rationalApproximation}\opLeftPren{}f, \allowbreak{} n\optinner{, b}\opRightPren{}} computes a +{\smath{\mbox{\bf rationalApproximation}\opLeftPren{}f, +\allowbreak{} n\optinner{, b}\opRightPren{}} computes a rational approximation \smath{r} to \smath{f} with relative error \smath{< b^{-n}}, that is \smath{|(r-f)/f| < b^{-n}}, for some positive integer base \smath{b}. @@ -77668,22 +81076,28 @@ The first argument \smath{f} is either a float or small float. % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rationalFunction}}\opLeftPren{}{\it series}, \allowbreak{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{rationalFunction}}\opLeftPren{} +{\it series}, \allowbreak{}{\it integer}, \allowbreak{} +{\it integer}\opRightPren{}% }% }% -{3}{(\$, Integer, Integer)->Fraction(Polynomial(Coef))}{UnivariateLaurentSeriesCategory} -{\smath{\mbox{\bf rationalFunction}\opLeftPren{}f, \allowbreak{} m, \allowbreak{} n\opRightPren{}} returns a rational function +{3}{(\$, Integer, Integer)->Fraction(Polynomial(Coef))} +{UnivariateLaurentSeriesCategory} +{\smath{\mbox{\bf rationalFunction}\opLeftPren{}f, +\allowbreak{} m, \allowbreak{} n\opRightPren{}} returns a rational function consisting of the sum of all terms of \smath{f} of degree \smath{d} with \smath{m \leq d \leq n}. By default, \smath{n} is the maximum degree of \smath{f}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rationalPoint?}}\opLeftPren{}{\it value}, \allowbreak{}{\it value}\opRightPren{}% +\opdata{{\mbox{\axiomFun{rationalPoint?}}\opLeftPren{} +{\it value}, \allowbreak{}{\it value}\opRightPren{}% }% }% {2}{(F, F)->Boolean}{FunctionFieldCategory} -{\smath{\mbox{\bf rationalPoint?}\opLeftPren{}a, \allowbreak{} b\opRightPren{}\$F} tests if +{\smath{\mbox{\bf rationalPoint?}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}\$F} tests if \smath{(x=a, y=b)} is on the curve defining function field \smath{F}. See \spadtype{FunctionFieldCategory}. @@ -77701,11 +81115,13 @@ See \spadtype{FunctionFieldCategory}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rationalPower}}\opLeftPren{}{\it puiseuxSeries}\opRightPren{}% +\opdata{{\mbox{\axiomFun{rationalPower}}\opLeftPren{} +{\it puiseuxSeries}\opRightPren{}% }% }% {1}{(\$)->Fraction(Integer)}{UnivariatePuiseuxSeriesConstructorCategory} -{\smath{\mbox{\bf rationalPower}\opLeftPren{}f(x)\opRightPren{}} returns \smath{r} where the Puiseux series \smath{f(x) = g(x^r)}. +{\smath{\mbox{\bf rationalPower}\opLeftPren{}f(x)\opRightPren{}} +returns \smath{r} where the Puiseux series \smath{f(x) = g(x^r)}. } % ---------------------------------------------------------------------- @@ -77713,7 +81129,9 @@ See \spadtype{FunctionFieldCategory}. }% }% {1}{(F)->SparseUnivariatePolynomial(F)}{AlgebraicManipulations} -{\smath{\mbox{\bf ratPoly}\opLeftPren{}f\opRightPren{}} returns a polynomial \smath{p} such that \smath{p} has no algebraic coefficients, and \smath{p(f) = 0}. +{\smath{\mbox{\bf ratPoly}\opLeftPren{}f\opRightPren{}} +returns a polynomial \smath{p} such that \smath{p} has no algebraic +coefficients, and \smath{p(f) = 0}. } @@ -77729,20 +81147,27 @@ returns \smath{q} such that } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rightDivide}}\opLeftPren{}{\it lodOperator}, \allowbreak{}{\it lodOperator}\opRightPren{}% -\optand \mbox{\axiomFun{rightQuotient}}\opLeftPren{}{\it lodOperator}, \allowbreak{}{\it lodOperator}\opRightPren{}% -\opand \mbox{\axiomFun{rightRemainder}}\opLeftPren{}{\it lodOperator}, \allowbreak{}{\it lodOperator}\opRightPren{}% +\opdata{{\mbox{\axiomFun{rightDivide}}\opLeftPren{} +{\it lodOperator}, \allowbreak{}{\it lodOperator}\opRightPren{}% +\optand \mbox{\axiomFun{rightQuotient}}\opLeftPren{} +{\it lodOperator}, \allowbreak{}{\it lodOperator}\opRightPren{}% +\opand \mbox{\axiomFun{rightRemainder}}\opLeftPren{} +{\it lodOperator}, \allowbreak{}{\it lodOperator}\opRightPren{}% }% }% -{2}{(\$, \$)->Record(quotient:\$, remainder:\$)}{LinearOrdinaryDifferentialOperator} -{\smath{\mbox{\bf rightDivide}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} returns the pair \smath{q, r} such that +{2}{(\$, \$)->Record(quotient:\$, remainder:\$)} +{LinearOrdinaryDifferentialOperator} +{\smath{\mbox{\bf rightDivide}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}} returns the pair \smath{q, r} such that \smath{a = qb + r} and the degree of \smath{r} is less than the degree of \smath{b}. The pair is returned as a record with fields \smath{quotient} and \smath{remainder}. This process is called ``right division''. Also: -\smath{\mbox{\bf rightQuotient}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} returns only \smath{q}. -\smath{\mbox{\bf rightRemainder}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} returns only \smath{r}. +\smath{\mbox{\bf rightQuotient}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}} returns only \smath{q}. +\smath{\mbox{\bf rightRemainder}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}} returns only \smath{r}. } @@ -77752,9 +81177,12 @@ This process is called ``right division''. Also: }% }% {1}{(\$)->S}{FileCategory} -{\smath{\mbox{\bf read!}\opLeftPren{}f\opRightPren{}} extracts a value from file \smath{f}. The state of \smath{f} is modified so a subsequent call to \spadfun{read!} will return the next element. +{\smath{\mbox{\bf read!}\opLeftPren{}f\opRightPren{}} extracts a +value from file \smath{f}. The state of \smath{f} is modified so a subsequent +call to \spadfun{read!} will return the next element. \newitem -\smath{\mbox{\bf readIfCan!}\opLeftPren{}f\opRightPren{}} returns a value from the file \smath{f} +\smath{\mbox{\bf readIfCan!}\opLeftPren{}f\opRightPren{}} returns +a value from the file \smath{f} or \mbox{\tt "failed"} if this is not possible (that is, either \smath{f} is not open for reading, or \smath{f} is at the end of the file). @@ -77765,7 +81193,8 @@ end of the file). }% }% {1}{(\$)->Boolean}{FileNameCategory} -{\smath{\mbox{\bf readable?}\opLeftPren{}f\opRightPren{}} tests if the named file exists and can be opened for reading. +{\smath{\mbox{\bf readable?}\opLeftPren{}f\opRightPren{}} tests +if the named file exists and can be opened for reading. } % ---------------------------------------------------------------------- @@ -77774,12 +81203,15 @@ end of the file). }% }% {1}{(\$)->String}{TextFile} -{\smath{\mbox{\bf readLineIfCan!}\opLeftPren{}f\opRightPren{}} returns a string of the contents +{\smath{\mbox{\bf readLineIfCan!}\opLeftPren{}f\opRightPren{}} +returns a string of the contents of a line from file \smath{f}, or \mbox{\tt "failed"} if this is not possible (if \smath{f} is not readable or is positioned at the end of file). \newitem -\smath{\mbox{\bf readLine!}\opLeftPren{}f\opRightPren{}} returns a string of the contents of a line from the file \smath{f}, and calls \spadfun{error} if this is not possible. +\smath{\mbox{\bf readLine!}\opLeftPren{}f\opRightPren{}} +returns a string of the contents of a line from the file \smath{f}, and calls +\spadfun{error} if this is not possible. } % ---------------------------------------------------------------------- @@ -77788,19 +81220,25 @@ possible (if }% }% {1}{(\$)->R}{ComplexCategory} -{\smath{\mbox{\bf real}\opLeftPren{}x\opRightPren{}} returns real part of \smath{x}. +{\smath{\mbox{\bf real}\opLeftPren{}x\opRightPren{}} returns +real part of \smath{x}. Argument \smath{x} can be an expression or a complex value, quaternion, or octonion. \newitem -\smath{\mbox{\bf real?}\opLeftPren{}f\opRightPren{}} tests if expression \smath{f = real(f)}. +\smath{\mbox{\bf real?}\opLeftPren{}f\opRightPren{}} tests +if expression \smath{f = real(f)}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{realEigenvectors}}\opLeftPren{}{\it matrix}, \allowbreak{}{\it float}\opRightPren{}% +\opdata{{\mbox{\axiomFun{realEigenvectors}}\opLeftPren{} +{\it matrix}, \allowbreak{}{\it float}\opRightPren{}% }% }% -{2}{(Matrix(Fraction(Integer)), Par)->List(Record(outval:Par, outmult:Integer, outvect:List(Matrix(Par))))}{NumericRealEigenPackage} -{\smath{\mbox{\bf realEigenvectors}\opLeftPren{}m, \allowbreak{} eps\opRightPren{}} returns a list of records, each +{2}{(Matrix(Fraction(Integer)), Par)-> +List(Record(outval:Par, outmult:Integer, outvect:List(Matrix(Par))))} +{NumericRealEigenPackage} +{\smath{\mbox{\bf realEigenvectors}\opLeftPren{}m, +\allowbreak{} eps\opRightPren{}} returns a list of records, each containing a real eigenvalue, its algebraic multiplicity, and a list of associated eigenvectors. All these results are computed to precision \smath{eps} as floats @@ -77809,40 +81247,62 @@ Argument \smath{m} is a matrix of rational functions. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{realElementary}}\opLeftPren{}{\it expression\opt{, symbol}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{realElementary}}\opLeftPren{} +{\it expression\opt{, symbol}}\opRightPren{}% }% }% {2}{(F, Symbol)->F}{ElementaryFunctionStructurePackage} -{\smath{\mbox{\bf realElementary}\opLeftPren{}f, \allowbreak{} sy\opRightPren{}} rewrites the kernels of \smath{f} -involving \smath{sy} in terms of the 4 fundamental real transcendental elementary functions: \smath{log, exp, tan, atan}. If \smath{sy} +{\smath{\mbox{\bf realElementary}\opLeftPren{}f, +\allowbreak{} sy\opRightPren{}} rewrites the kernels of \smath{f} +involving \smath{sy} in terms of the 4 fundamental +real transcendental elementary functions: \smath{log, exp, tan, atan}. +If \smath{sy} is omitted, all kernels of \smath{f} are rewritten. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{realRoots}}\opLeftPren{}{\it rationalfunctions}, \allowbreak{}{\it v}\allowbreak $\,[$ , \allowbreak{}{\it w}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{realRoots}}\opLeftPren{} +{\it rationalfunctions}, \allowbreak{}{\it v}\allowbreak $\,[$ , \allowbreak{} +{\it w}$]$\opRightPren{}% }% }% -{3}{(List(Fraction(Polynomial(Fraction(Integer)))), List(Symbol), Par)->List(List(Par))}{FloatingRealPackage} -{\smath{\mbox{\bf realRoots}\opLeftPren{}rf, \allowbreak{} eps\opRightPren{}} finds the real zeros of a univariate rational function +{3}{(List(Fraction(Polynomial(Fraction(Integer)))), List(Symbol), Par)-> +List(List(Par))}{FloatingRealPackage} +{\smath{\mbox{\bf realRoots}\opLeftPren{}rf, +\allowbreak{} eps\opRightPren{}} finds the real zeros of a +univariate rational function \smath{rf} with precision given by eps. \newitem -\smath{\mbox{\bf realRoots}\opLeftPren{}lp, \allowbreak{} lv, \allowbreak{} eps\opRightPren{}} computes the list of the real solutions of the list \smath{lp} of rational functions with rational coefficients with respect to the variables in \smath{lv}, with precision \smath{eps}. Each solution is expressed as a list of numbers in order corresponding to the variables in \smath{lv}. +\smath{\mbox{\bf realRoots}\opLeftPren{}lp, \allowbreak{} lv, +\allowbreak{} eps\opRightPren{}} computes the list of the real solutions +of the list \smath{lp} of rational functions with rational +coefficients with respect to the +variables in \smath{lv}, with precision \smath{eps}. +Each solution is expressed +as a list of numbers in order corresponding to the variables in \smath{lv}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{realZeros}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it rationalNumber}\allowbreak $\,[$ , \allowbreak{}{\it option}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{realZeros}}\opLeftPren{} +{\it polynomial}, \allowbreak{}{\it rationalNumber}\allowbreak $\,[$ , +\allowbreak{}{\it option}$]$\opRightPren{}% }% }% -{2}{(Pol, Fraction(Integer))->List(Record(left:Fraction(Integer), right:Fraction(Integer)))}{RealZeroPackageQ} -{\smath{\mbox{\bf realZeros}\opLeftPren{}pol\opRightPren{}} returns a list of isolating intervals for all the real zeros of the univariate polynomial \smath{pol}. +{2}{(Pol, Fraction(Integer))->List(Record(left:Fraction(Integer), +right:Fraction(Integer)))}{RealZeroPackageQ} +{\smath{\mbox{\bf realZeros}\opLeftPren{}pol\opRightPren{}} +returns a list of isolating intervals for all the real zeros of the univariate +polynomial \smath{pol}. \newitem -\smath{\mbox{\bf realZeros}\opLeftPren{}pol\optinner{, eps}\opRightPren{}} returns a list of intervals +\smath{\mbox{\bf realZeros}\opLeftPren{}pol\optinner{, eps}\opRightPren{}} +returns a list of intervals of length less than the rational number \smath{eps} for all the real roots of the polynomial \smath{pol}. The default value of \smath{eps} is ???. \newitem -\smath{\mbox{\bf realZeros}\opLeftPren{}pol, \allowbreak{} int\optinner{, eps}\opRightPren{}} returns a list of intervals of +\smath{\mbox{\bf realZeros}\opLeftPren{}pol, +\allowbreak{} int\optinner{, eps}\opRightPren{}} returns a list of intervals of length less than the rational number \smath{eps} for all the real roots of the polynomial \smath{pol} which lie in the interval expressed by the record \smath{int}. @@ -77854,9 +81314,11 @@ The default value of \smath{eps} is ???. }% }% {1}{(\$)->Union(\$, "failed")}{Monoid} -{\smath{\mbox{\bf recip}\opLeftPren{}x\opRightPren{}} returns the multiplicative inverse for \smath{x}, +{\smath{\mbox{\bf recip}\opLeftPren{}x\opRightPren{}} +returns the multiplicative inverse for \smath{x}, or \mbox{\tt "failed"} if no inverse can be found. -\seeAlso{\spadtype{FiniteRankNonAssociativeAlgebra} and\spadtype{MonadWithUnit}} +\seeAlso{\spadtype{FiniteRankNonAssociativeAlgebra} and +\spadtype{MonadWithUnit}} } % ---------------------------------------------------------------------- \opdata{{\mbox{\axiomFun{recur}}\opLeftPren{}{\it function}\opRightPren{}% @@ -77876,18 +81338,23 @@ For related functions, see \spadtype{MappingPackage}. }% }% {0}{()->\$}{Color} -{\smath{\mbox{\bf red}\opLeftPren{}\opRightPren{}} returns the position of the red hue from total hues. +{\smath{\mbox{\bf red}\opLeftPren{}\opRightPren{}} returns +the position of the red hue from total hues. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{reduce}}\opLeftPren{}{\it op}, \allowbreak{}{\it aggregate}\allowbreak $\,[$ , \allowbreak{}{\it identity}, \allowbreak{}{\it element}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{reduce}}\opLeftPren{}{\it op}, +\allowbreak{}{\it aggregate}\allowbreak $\,[$ , \allowbreak{}{\it identity}, +\allowbreak{}{\it element}$]$\opRightPren{}% }% }% {2}{((S, S)->S, \$)->S}{Collection} -{\smath{\mbox{\bf reduce}\opLeftPren{}f, \allowbreak{} u\optinner{, ident, a}\opRightPren{}} reduces the binary +{\smath{\mbox{\bf reduce}\opLeftPren{}f, +\allowbreak{} u\optinner{, ident, a}\opRightPren{}} reduces the binary operation \smath{f} across \smath{u}. For example, if \smath{u} is \smath{[x_1, x_2, \ldots, x_n]} then -\smath{\mbox{\bf reduce}\opLeftPren{}f, \allowbreak{} u\opRightPren{}} returns \smath{f(\ldots f(x_1, x_2), \ldots, x_n)}. +\smath{\mbox{\bf reduce}\opLeftPren{}f, \allowbreak{} u\opRightPren{}} +returns \smath{f(\ldots f(x_1, x_2), \ldots, x_n)}. \medbreak An optional identity element of \smath{f} provided as a third argument affects the result @@ -77898,28 +81365,39 @@ otherwise. If \smath{u} has one element and the third argument is given, the value returned is \smath{f(ident, x_1)}. Otherwise \smath{x_1} is returned. -Thus both \smath{\mbox{\bf reduce}\opLeftPren{}+, \allowbreak{} u\opRightPren{}} and \smath{\mbox{\bf reduce}\opLeftPren{}+, \allowbreak{} u, \allowbreak{} 0\opRightPren{}} +Thus both \smath{\mbox{\bf reduce}\opLeftPren{}+, +\allowbreak{} u\opRightPren{}} and \smath{\mbox{\bf reduce}\opLeftPren{}+, +\allowbreak{} u, \allowbreak{} 0\opRightPren{}} return \smath{\sum\nolimits_{i=1}^n{x_i}}. -Similarly, \smath{\mbox{\bf reduce}\opLeftPren{}*, \allowbreak{} u\opRightPren{}} and \smath{\mbox{\bf reduce}\opLeftPren{}*, \allowbreak{} u, \allowbreak{} 1\opRightPren{}} +Similarly, \smath{\mbox{\bf reduce}\opLeftPren{}*, +\allowbreak{} u\opRightPren{}} and +\smath{\mbox{\bf reduce}\opLeftPren{}*, \allowbreak{} u, +\allowbreak{} 1\opRightPren{}} return \smath{\prod\nolimits_{i=1}^n{x_i}}. \medbreak An optional fourth argument \smath{z} acts as an ``absorbing element''. -\smath{\mbox{\bf reduce}\opLeftPren{}f, \allowbreak{} u, \allowbreak{} x, \allowbreak{} z\opRightPren{}} reduces the binary operation \smath{f} across \smath{u}, +\smath{\mbox{\bf reduce}\opLeftPren{}f, \allowbreak{} u, \allowbreak{} x, +\allowbreak{} z\opRightPren{}} reduces the binary operation \smath{f} across +\smath{u}, stopping when an ``absorbing element'' \smath{z} is encountered. -For example \smath{\mbox{\bf reduce}\opLeftPren{}or, \allowbreak{} u, \allowbreak{} false, \allowbreak{} true\opRightPren{}} will +For example \smath{\mbox{\bf reduce}\opLeftPren{}or, \allowbreak{} u, +\allowbreak{} false, \allowbreak{} true\opRightPren{}} will stop iterating across \smath{u} returning \smath{true} as soon as an \smath{x_i = true} is found. Note: if \smath{u} has one element \smath{x}, -\smath{\mbox{\bf reduce}\opLeftPren{}f, \allowbreak{} u\opRightPren{}} returns \smath{x}, or calls \spadfun{error} if \smath{u} is empty. +\smath{\mbox{\bf reduce}\opLeftPren{}f, \allowbreak{} u\opRightPren{}} +returns \smath{x}, or calls \spadfun{error} if \smath{u} is empty. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{reduceBasisAtInfinity}}\opLeftPren{}{\it basis}\opRightPren{}% +\opdata{{\mbox{\axiomFun{reduceBasisAtInfinity}}\opLeftPren{} +{\it basis}\opRightPren{}% }% }% {1}{(Vector(\$))->Vector(\$)}{FunctionFieldCategory} -{\smath{\mbox{\bf reduceBasisAtInfinity}\opLeftPren{}b_1, \allowbreak{} \ldots, b_n\opRightPren{}}, +{\smath{\mbox{\bf reduceBasisAtInfinity}\opLeftPren{}b_1, +\allowbreak{} \ldots, b_n\opRightPren{}}, where the \smath{b_i} are functions on a fixed curve, returns \smath{(x^i \, b_j)} for all \smath{i}, \smath{j} such that \smath{x^i \, b_j} is locally @@ -77928,55 +81406,76 @@ integral at infinity. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{reducedContinuedFraction}}\opLeftPren{}{\it element}, \allowbreak{}{\it stream}\opRightPren{}% +\opdata{{\mbox{\axiomFun{reducedContinuedFraction}}\opLeftPren{} +{\it element}, \allowbreak{}{\it stream}\opRightPren{}% }% }% {2}{(R, Stream(R))->\$}{ContinuedFraction} -{\smath{\mbox{\bf reducedContinuedFraction}\opLeftPren{}b_0, \allowbreak{} b\opRightPren{}} returns a +{\smath{\mbox{\bf reducedContinuedFraction}\opLeftPren{}b_0, +\allowbreak{} b\opRightPren{}} returns a continued fraction constructed as follows. If \smath{b = [b_1, b_2, \ldots]} then the result is the continued fraction \smath{b_0 + 1/(b_1 + 1/(b_2 + \cdots))}. That is, the result is the same as -\smath{\mbox{\bf continuedFraction}\opLeftPren{}b_0, \allowbreak{} [1, \allowbreak{} 1, \allowbreak{} 1, \allowbreak{} \ldots], [b_1, b_2, b_3, \ldots]\opRightPren{}}. +\smath{\mbox{\bf continuedFraction}\opLeftPren{}b_0, \allowbreak{} +[1, \allowbreak{} 1, \allowbreak{} 1, \allowbreak{} \ldots], +[b_1, b_2, b_3, \ldots]\opRightPren{}}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{reducedForm}}\opLeftPren{}{\it continuedFraction}\opRightPren{}% +\opdata{{\mbox{\axiomFun{reducedForm}}\opLeftPren{} +{\it continuedFraction}\opRightPren{}% }% }% {1}{(\$)->\$}{ContinuedFraction} -{\smath{\mbox{\bf reducedForm}\opLeftPren{}x\opRightPren{}} puts the continued fraction \smath{x} +{\smath{\mbox{\bf reducedForm}\opLeftPren{}x\opRightPren{}} +puts the continued fraction \smath{x} in reduced form, that is, the function returns an equivalent continued fraction of the -form \smath{\mbox{\bf continuedFraction}\opLeftPren{}b_0, \allowbreak{} [1, \allowbreak{} 1, \allowbreak{} 1, \allowbreak{} \ldots], [b_1, b_2, b_3, \ldots]\opRightPren{}}. +form \smath{\mbox{\bf continuedFraction}\opLeftPren{}b_0, +\allowbreak{} [1, \allowbreak{} 1, \allowbreak{} 1, \allowbreak{} \ldots], +[b_1, b_2, b_3, \ldots]\opRightPren{}}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{reducedSystem}}\opLeftPren{}{\it matrix\opt{, vector}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{reducedSystem}}\opLeftPren{} +{\it matrix\opt{, vector}}\opRightPren{}% }% }% {1}{(Matrix(\$))->Matrix(R)}{LinearlyExplicitRingOver} -{\smath{\mbox{\bf reducedSystem}\opLeftPren{}A, \allowbreak{} v\opRightPren{}} returns a matrix \smath{B} such that \smath{A x = v} and \smath{B x = v} have the same solutions. +{\smath{\mbox{\bf reducedSystem}\opLeftPren{}A, +\allowbreak{} v\opRightPren{}} returns a matrix \smath{B} +such that \smath{A x = v} +and \smath{B x = v} have the same solutions. By default, \smath{v = 0}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{reductum}}\opLeftPren{}{\it polynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{reductum}}\opLeftPren{} +{\it polynomial}\opRightPren{}% }% }% {1}{(\$)->\$}{AbelianMonoidRing} -{\smath{\mbox{\bf reductum}\opLeftPren{}p\opRightPren{}} returns polynomial \smath{p} minus its leading +{\smath{\mbox{\bf reductum}\opLeftPren{}p\opRightPren{}} +returns polynomial \smath{p} minus its leading monomial, or zero if handed the zero element. -\seeAlso{\spadtype{IndexedDirectProdcutCategory} and \spadtype{MonogenicLinearOperator}} +\seeAlso{\spadtype{IndexedDirectProdcutCategory} and +\spadtype{MonogenicLinearOperator}} } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{refine}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it interval}, \allowbreak{}{\it precision}\opRightPren{}% +\opdata{{\mbox{\axiomFun{refine}}\opLeftPren{}{\it polynomial}, +\allowbreak{}{\it interval}, \allowbreak{}{\it precision}\opRightPren{}% }% }% -{3}{(Pol, Record(left:Fraction(Integer), right:Fraction(Integer)), Fraction(Integer))->Record(left:Fraction(Integer), right:Fraction(Integer))}{RealZeroPackageQ} -{\smath{\mbox{\bf refine}\opLeftPren{}pol, \allowbreak{} int, \allowbreak{} tolerance\opRightPren{}} refines the interval \smath{int} containing exactly one root of the univariate polynomial \smath{pol} to size less than +{3}{(Pol, Record(left:Fraction(Integer), right:Fraction(Integer)), +Fraction(Integer))->Record(left:Fraction(Integer), right:Fraction(Integer))} +{RealZeroPackageQ} +{\smath{\mbox{\bf refine}\opLeftPren{}pol, \allowbreak{} int, +\allowbreak{} tolerance\opRightPren{}} refines the interval +\smath{int} containing +exactly one root of the univariate polynomial \smath{pol} to size less than the indicated \smath{tolerance}. Argument \smath{int} is an interval denoted by a record with selectors \smath{left} and \smath{right}, each with rational number values. @@ -77986,11 +81485,15 @@ isolating interval exists. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{regularRepresentation}}\opLeftPren{}{\it element}, \allowbreak{}{\it basis}\opRightPren{}% +\opdata{{\mbox{\axiomFun{regularRepresentation}}\opLeftPren{} +{\it element}, \allowbreak{}{\it basis}\opRightPren{}% }% }% {2}{(\$, Vector(\$))->Matrix(R)}{FiniteRankAlgebra} -{\smath{\mbox{\bf regularRepresentation}\opLeftPren{}a, \allowbreak{} basis\opRightPren{}} returns the matrix of the linear map defined by left multiplication by \smath{a} with respect to basis \smath{basis}. +{\smath{\mbox{\bf regularRepresentation}\opLeftPren{}a, +\allowbreak{} basis\opRightPren{}} returns the matrix of the linear map +defined by left multiplication by \smath{a} with respect +to basis \smath{basis}. Element \smath{a} is a complex element or an element of a domain \smath{R} of category \spadtype{FramedAlgebra}. @@ -77998,11 +81501,14 @@ The second argument may be omitted when a fixed basis is defined for \smath{R}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{reindex}}\opLeftPren{}{\it cartesianTensor}, \allowbreak{}{\it listOfIntegers}\opRightPren{}% +\opdata{{\mbox{\axiomFun{reindex}}\opLeftPren{} +{\it cartesianTensor}, \allowbreak{}{\it listOfIntegers}\opRightPren{}% }% }% {2}{(\$, List(Integer))->\$}{CartesianTensor} -{\smath{\mbox{\bf reindex}\opLeftPren{}t, \allowbreak{} [i_1, \allowbreak{} \ldots, i_{\rm dim}]\opRightPren{}} permutes the indices of +{\smath{\mbox{\bf reindex}\opLeftPren{}t, \allowbreak{} +[i_1, \allowbreak{} \ldots, i_{\rm dim}]\opRightPren{}} +permutes the indices of cartesian tensor \smath{t}. For example, if \smath{r = {\bf reindex}(t, [4, 1, 2, 3])} for a rank 4 tensor \smath{t}, then \smath{r} is the rank 4 tensor @@ -78010,15 +81516,19 @@ given by \smath{r(i, j, k, l) = t(l, i, j, k)}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{relationsIdeal}}\opLeftPren{}{\it listOfPolynomials}\opRightPren{}% +\opdata{{\mbox{\axiomFun{relationsIdeal}}\opLeftPren{} +{\it listOfPolynomials}\opRightPren{}% }% }% -{1}{(List(DPoly))->SuchThat(List(Polynomial(F)), List(Equation(Polynomial(F))))}{PolynomialIdeals} -{\smath{\mbox{\bf relationsIdeal}\opLeftPren{}polyList\opRightPren{}} returns the ideal of relations among the polynomials in \smath{polyList}. +{1}{(List(DPoly))->SuchThat(List(Polynomial(F)), +List(Equation(Polynomial(F))))}{PolynomialIdeals} +{\smath{\mbox{\bf relationsIdeal}\opLeftPren{}polyList\opRightPren{}} +returns the ideal of relations among the polynomials in \smath{polyList}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{relerror}}\opLeftPren{}{\it float}, \allowbreak{}{\it float}\opRightPren{}% +\opdata{{\mbox{\axiomFun{relerror}}\opLeftPren{}{\it float}, \allowbreak{} +{\it float}\opRightPren{}% }% }% {2}{(\$, \$)->Integer}{Float} @@ -78029,7 +81539,8 @@ when \smath{y \not= 0}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rem}}\opLeftPren{}{\it element}, \allowbreak{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{rem}}\opLeftPren{}{\it element}, \allowbreak{} +{\it element}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{NonNegativeInteger} @@ -78038,21 +81549,27 @@ when \smath{y \not= 0}. % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{remove}}\opLeftPren{}{\it predicate}, \allowbreak{}{\it aggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{remove}}\opLeftPren{}{\it predicate}, +\allowbreak{}{\it aggregate}\opRightPren{}% }% }% {2}{((S)->Boolean, \$)->\$}{ExtensibleLinearAggregate} {\opkey{Argument \smath{u} is any extensible aggregate such as a list.} \newitem -\smath{\mbox{\bf remove}\opLeftPren{}pred, \allowbreak{} u\opRightPren{}} returns a copy of \smath{u} removing all elements \smath{x} such that \smath{p(x)} is \smath{true}. +\smath{\mbox{\bf remove}\opLeftPren{}pred, \allowbreak{} u\opRightPren{}} +returns a copy of \smath{u} removing all elements \smath{x} such that +\smath{p(x)} is \smath{true}. Argument \smath{u} may be any homogeneous aggregate including infinite streams. Note: for lists and streams, \code{remove(p, u) == [x for x in u | not p(x)]}. \newitem -\smath{\mbox{\bf remove!}\opLeftPren{}pred, \allowbreak{} u\opRightPren{}} destructively removes all elements \smath{x} of \smath{u} such that \smath{\mbox{\bf pred}\opLeftPren{}x\opRightPren{}} is \smath{true}. +\smath{\mbox{\bf remove!}\opLeftPren{}pred, \allowbreak{} u\opRightPren{}} +destructively removes all elements \smath{x} of \smath{u} such that +\smath{\mbox{\bf pred}\opLeftPren{}x\opRightPren{}} is \smath{true}. The value of \smath{u} after all such elements are removed is returned. \newitem -\smath{\mbox{\bf remove!}\opLeftPren{}x, \allowbreak{} u\opRightPren{}} destructively removes all values \smath{x} from \smath{u}. +\smath{\mbox{\bf remove!}\opLeftPren{}x, \allowbreak{} u\opRightPren{}} +destructively removes all values \smath{x} from \smath{u}. \newitem \smath{\mbox{\bf remove!}\opLeftPren{}k, \allowbreak{} t\opRightPren{}}, where \smath{t} is a keyed dictionary, @@ -78062,46 +81579,63 @@ If \smath{t} has no such key, it returns \mbox{\tt "failed"}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{removeCoshSq}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{removeCoshSq}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(F)->F}{TranscendentalManipulations} -{\smath{\mbox{\bf removeCoshSq}\opLeftPren{}f\opRightPren{}} converts every \smath{\cosh(u)^2} -appearing in \smath{f} into \smath{1 - \sinh(x)^2}, and also reduces higher powers of \smath{\mbox{\bf cosh}\opLeftPren{}u\opRightPren{}} with that formula. +{\smath{\mbox{\bf removeCoshSq}\opLeftPren{}f\opRightPren{}} +converts every \smath{\cosh(u)^2} +appearing in \smath{f} into \smath{1 - \sinh(x)^2}, and also +reduces higher powers of \smath{\mbox{\bf cosh}\opLeftPren{}u\opRightPren{}} +with that formula. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{removeDuplicates}}\opLeftPren{}{\it aggregate}\opRightPren{}% - \opand \mbox{\axiomFun{removeDuplicates!}}\opLeftPren{}{\it aggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{removeDuplicates}}\opLeftPren{} +{\it aggregate}\opRightPren{}% + \opand \mbox{\axiomFun{removeDuplicates!}}\opLeftPren{} +{\it aggregate}\opRightPren{}% }% }% {1}{(\$)->\$}{Collection} -{\smath{\mbox{\bf removeDuplicates}\opLeftPren{}u\opRightPren{}} returns a copy of \smath{u} with all duplicates removed. +{\smath{\mbox{\bf removeDuplicates}\opLeftPren{}u\opRightPren{}} +returns a copy of \smath{u} with all duplicates removed. \newitem -\smath{\mbox{\bf removeDuplicates!}\opLeftPren{}u\opRightPren{}} destructively removes duplicates from \smath{u}. +\smath{\mbox{\bf removeDuplicates!}\opLeftPren{}u\opRightPren{}} +destructively removes duplicates from \smath{u}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{removeSinhSq}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{removeSinhSq}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(F)->F}{TranscendentalManipulations} -{\smath{\mbox{\bf removeSinhSq}\opLeftPren{}f\opRightPren{}} converts every \smath{\sinh(u)^2} -appearing in \smath{f} into \smath{1 - \cosh(x)^2}, and also reduces higher powers of \smath{\mbox{\bf sinh}\opLeftPren{}u\opRightPren{}} with that formula. +{\smath{\mbox{\bf removeSinhSq}\opLeftPren{}f\opRightPren{}} +converts every \smath{\sinh(u)^2} +appearing in \smath{f} into \smath{1 - \cosh(x)^2}, and also +reduces higher powers of \smath{\mbox{\bf sinh}\opLeftPren{}u\opRightPren{}} +with that formula. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{removeSinSq}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{removeSinSq}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(F)->F}{TranscendentalManipulations} -{\smath{\mbox{\bf removeSinSq}\opLeftPren{}f\opRightPren{}} converts every \smath{\sin(u)^2} -appearing in \smath{f} into \smath{1 - \cos(x)^2}, and also reduces higher powers of \smath{\mbox{\bf sin}\opLeftPren{}u\opRightPren{}} with that formula. +{\smath{\mbox{\bf removeSinSq}\opLeftPren{}f\opRightPren{}} +converts every \smath{\sin(u)^2} +appearing in \smath{f} into \smath{1 - \cos(x)^2}, and also +reduces higher powers of \smath{\mbox{\bf sin}\opLeftPren{}u\opRightPren{}} +with that formula. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{removeZeroes}}\opLeftPren{}{\it \optinit{integer, }laurentSeries}\opRightPren{}% +\opdata{{\mbox{\axiomFun{removeZeroes}}\opLeftPren{} +{\it \optinit{integer, }laurentSeries}\opRightPren{}% }% }% {2}{(Integer, \$)->\$}{UnivariateLaurentSeriesConstructorCategory} @@ -78111,44 +81645,56 @@ If no integer \smath{n} is given, all leading zeroes are removed. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{reopen!}}\opLeftPren{}{\it file}, \allowbreak{}{\it string}\opRightPren{}% +\opdata{{\mbox{\axiomFun{reopen!}}\opLeftPren{} +{\it file}, \allowbreak{}{\it string}\opRightPren{}% }% }% {2}{(\$, String)->\$}{FileCategory} -{\smath{\mbox{\bf reopen!}\opLeftPren{}f, \allowbreak{} mode\opRightPren{}} returns a file \smath{f} -reopened for operation in the indicated mode: \mbox{\tt "input"} or \mbox{\tt "output"}. +{\smath{\mbox{\bf reopen!}\opLeftPren{}f, \allowbreak{} mode\opRightPren{}} +returns a file \smath{f} +reopened for operation in the indicated mode: \mbox{\tt "input"} or +\mbox{\tt "output"}. For example, -\smath{\mbox{\bf reopen!}\opLeftPren{}f, \allowbreak{} \mbox{\tt "input"}\opRightPren{}} will reopen the file \smath{f} for input. +\smath{\mbox{\bf reopen!}\opLeftPren{}f, \allowbreak{} +\mbox{\tt "input"}\opRightPren{}} will reopen the file \smath{f} for input. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{repeating}}\opLeftPren{}{\it listOfElements\opt{, stream}}\opRightPren{}% - \opand \mbox{\axiomFun{repeating?}}\opLeftPren{}{\it stream}\opRightPren{}% +\opdata{{\mbox{\axiomFun{repeating}}\opLeftPren{} +{\it listOfElements\opt{, stream}}\opRightPren{}% + \opand \mbox{\axiomFun{repeating?}}\opLeftPren{} +{\it stream}\opRightPren{}% }% }% {1}{(List(S))->\$}{Stream} -{\smath{\mbox{\bf repeating}\opLeftPren{}l\opRightPren{}} is a repeating stream whose period is the list \smath{l}. +{\smath{\mbox{\bf repeating}\opLeftPren{}l\opRightPren{}} +is a repeating stream whose period is the list \smath{l}. \newitem -\smath{\mbox{\bf repeating?}\opLeftPren{}l, \allowbreak{} s\opRightPren{}} tests if a stream \smath{s} is periodic +\smath{\mbox{\bf repeating?}\opLeftPren{}l, +\allowbreak{} s\opRightPren{}} tests if a stream \smath{s} is periodic with period \smath{l}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{replace}}\opLeftPren{}{\it string}, \allowbreak{}{\it segment}, \allowbreak{}{\it string}\opRightPren{}% +\opdata{{\mbox{\axiomFun{replace}}\opLeftPren{}{\it string}, +\allowbreak{}{\it segment}, \allowbreak{}{\it string}\opRightPren{}% }% }% {3}{(\$, UniversalSegment(Integer), \$)->\$}{StringAggregate} -{\smath{\mbox{\bf replace}\opLeftPren{}s, \allowbreak{} i..j, \allowbreak{} t\opRightPren{}} replaces the substring \smath{s(i..j)} +{\smath{\mbox{\bf replace}\opLeftPren{}s, \allowbreak{} i..j, +\allowbreak{} t\opRightPren{}} replaces the substring \smath{s(i..j)} of \smath{s} by string \smath{t}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{represents}}\opLeftPren{}{\it listOfElements\opt{, listOfBasisElements}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{represents}}\opLeftPren{} +{\it listOfElements\opt{, listOfBasisElements}}\opRightPren{}% }% }% {2}{(Vector(R), Vector(\$))->\$}{FiniteRankAlgebra} -{\smath{\mbox{\bf represents}\opLeftPren{}[a^1, \allowbreak{} .., \allowbreak{} a^n]\optinner{, [v^1, .., v^n]}\opRightPren{}} +{\smath{\mbox{\bf represents}\opLeftPren{}[a^1, \allowbreak{} .., +\allowbreak{} a^n]\optinner{, [v^1, .., v^n]}\opRightPren{}} returns \smath{a^1 v^1 + \cdots + a^n v^n}. Arguments \smath{v_i} are elements of a domain of category \spadtype{FiniteRankAlgebra} or @@ -78168,7 +81714,8 @@ and \spadtype{FiniteAlgebraicExtensionField}. }% }% {0}{()->Void}{Symbol} -{\smath{\mbox{\bf resetNew}\opLeftPren{}\opRightPren{}} resets the internal counter that \smath{\mbox{\bf new}\opLeftPren{}\opRightPren{}} uses. +{\smath{\mbox{\bf resetNew}\opLeftPren{}\opRightPren{}} resets the +internal counter that \smath{\mbox{\bf new}\opLeftPren{}\opRightPren{}} uses. } % ---------------------------------------------------------------------- @@ -78176,27 +81723,37 @@ and \spadtype{FiniteAlgebraicExtensionField}. }% }% {0}{()->Void}{UserDefinedVariableOrdering} -{\smath{\mbox{\bf resetVariableOrder}\opLeftPren{}\opRightPren{}} cancels any previous use of \spadfun{setVariableOrder} +{\smath{\mbox{\bf resetVariableOrder}\opLeftPren{}\opRightPren{}} +cancels any previous use of \spadfun{setVariableOrder} and returns to the default system ordering. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rest}}\opLeftPren{}{\it aggregate\opt{, nonNegativeInteger}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{rest}}\opLeftPren{} +{\it aggregate\opt{, nonNegativeInteger}}\opRightPren{}% }% }% {1}{(\$)->\$}{UnaryRecursiveAggregate} -{\smath{\mbox{\bf rest}\opLeftPren{}u\opRightPren{}} returns an aggregate consisting of all but the first element of \smath{u} (equivalently, the next node of \smath{u}). +{\smath{\mbox{\bf rest}\opLeftPren{}u\opRightPren{}} returns an aggregate +consisting of all but the first element of \smath{u} (equivalently, the +next node of \smath{u}). \newitem -\smath{\mbox{\bf rest}\opLeftPren{}u, \allowbreak{} n\opRightPren{}} returns the \eth{\smath{n}} node of \smath{u}. +\smath{\mbox{\bf rest}\opLeftPren{}u, \allowbreak{} n\opRightPren{}} +returns the \eth{\smath{n}} node of \smath{u}. Note: \smath{\mbox{\bf rest}\opLeftPren{}u, 0) = u}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{resultant}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it polynoial}\allowbreak $\,[$ , \allowbreak{}{\it variable}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{resultant}}\opLeftPren{} +{\it polynomial}, \allowbreak{} +{\it polynoial}\allowbreak $\,[$ , \allowbreak{} +{\it variable}$]$\opRightPren{}% }% }% {3}{(\$, \$, VarSet)->\$}{PolynomialCategory} -{\smath{\mbox{\bf resultant}\opLeftPren{}p, \allowbreak{} q, \allowbreak{} v\opRightPren{}} returns the resultant of the polynomials \smath{p} and \smath{q} with respect to the variable \smath{v}. +{\smath{\mbox{\bf resultant}\opLeftPren{}p, \allowbreak{} q, +\allowbreak{} v\opRightPren{}} returns the resultant of the polynomials +\smath{p} and \smath{q} with respect to the variable \smath{v}. If \smath{p} and \smath{q} are univariate polynomials, the variable \smath{v} defaults to the unique variable. } @@ -78207,36 +81764,45 @@ variable \smath{v} defaults to the unique variable. }% }% {1}{(\$)->Union(S, "failed")}{RetractableTo} -{\smath{\mbox{\bf retractIfCan}\opLeftPren{}a\opRightPren{}}\smath{@S} returns \smath{a} as an object +{\smath{\mbox{\bf retractIfCan}\opLeftPren{}a\opRightPren{}}\smath{@S} +returns \smath{a} as an object of type \smath{S}, or \mbox{\tt "failed"} if this is not possible. \newitem -\smath{\mbox{\bf retract}\opLeftPren{}a\opRightPren{}}\smath{@S} transforms \smath{a} into an element of \smath{S}, +\smath{\mbox{\bf retract}\opLeftPren{}a\opRightPren{}}\smath{@S} +transforms \smath{a} into an element of \smath{S}, or calls \spadfun{error} if this is not possible. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{retractable?}}\opLeftPren{}{\it typeAnyObject}\opRightPren{}% +\opdata{{\mbox{\axiomFun{retractable?}}\opLeftPren{} +{\it typeAnyObject}\opRightPren{}% }% }% {1}{(Any)->Boolean}{AnyFunctions1} -{\smath{\mbox{\bf retractable?}\opLeftPren{}a\opRightPren{}\$S} tests if object \smath{a} +{\smath{\mbox{\bf retractable?}\opLeftPren{}a\opRightPren{}\$S} +tests if object \smath{a} of type \spadtype{Any} can be converted into an object of type \smath{S}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{reverse}}\opLeftPren{}{\it linearAggregate}\opRightPren{}% - \opand \mbox{\axiomFun{reverse!}}\opLeftPren{}{\it linearAggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{reverse}}\opLeftPren{} +{\it linearAggregate}\opRightPren{}% + \opand \mbox{\axiomFun{reverse!}}\opLeftPren{} +{\it linearAggregate}\opRightPren{}% }% }% {1}{(\$)->\$}{FiniteLinearAggregate} -{\smath{\mbox{\bf reverse}\opLeftPren{}a\opRightPren{}} returns a copy of linear aggregate \smath{a} with elements in reverse order. +{\smath{\mbox{\bf reverse}\opLeftPren{}a\opRightPren{}} returns a +copy of linear aggregate \smath{a} with elements in reverse order. \newitem -\smath{\mbox{\bf reverse!}\opLeftPren{}a\opRightPren{}} destructively puts the elements of +\smath{\mbox{\bf reverse!}\opLeftPren{}a\opRightPren{}} destructively +puts the elements of linear aggregate \smath{a} in reverse order. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rightGcd}}\opLeftPren{}{\it lodOperator}, \allowbreak{}{\it lodOperator}\opRightPren{}% +\opdata{{\mbox{\axiomFun{rightGcd}}\opLeftPren{}{\it lodOperator}, +\allowbreak{}{\it lodOperator}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{LinearOrdinaryDifferentialOperator} @@ -78248,16 +81814,19 @@ and \smath{bb}. The value \smath{g} is computed using right-division. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rhs}}\opLeftPren{}{\it rewriteRuleOrEquation}\opRightPren{}% +\opdata{{\mbox{\axiomFun{rhs}}\opLeftPren{} +{\it rewriteRuleOrEquation}\opRightPren{}% }% }% {1}{(\$)->F}{RewriteRule} -{\smath{\mbox{\bf rhs}\opLeftPren{}u\opRightPren{}} returns the right-hand side of the rewrite rule +{\smath{\mbox{\bf rhs}\opLeftPren{}u\opRightPren{}} +returns the right-hand side of the rewrite rule or equation \smath{u}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{right}}\opLeftPren{}{\it binaryRecursiveAggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{right}}\opLeftPren{} +{\it binaryRecursiveAggregate}\opRightPren{}% }% }% {1}{(\$)->\$}{BinaryRecursiveAggregate} @@ -78272,35 +81841,40 @@ or equation \smath{u}. {See \spadfun{leftAlternative?}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rightCharacteristicPolynomial}}\opLeftPren{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{rightCharacteristicPolynomial}}\opLeftPren{} +{\it element}\opRightPren{}% }% }% {1}{(\$)->SparseUnivariatePolynomial(R)}{FiniteRankNonAssociativeAlgebra} {See \spadfun{leftCharacteristicPolynomial}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rightDiscriminant}}\opLeftPren{}{\it basis}\opRightPren{}% +\opdata{{\mbox{\axiomFun{rightDiscriminant}}\opLeftPren{} +{\it basis}\opRightPren{}% }% }% {0}{()->R}{FramedNonAssociativeAlgebra} {See \spadfun{leftDiscriminant}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rightMinimalPolynomial}}\opLeftPren{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{rightMinimalPolynomial}}\opLeftPren{} +{\it element}\opRightPren{}% }% }% {1}{(\$)->SparseUnivariatePolynomial(R)}{FiniteRankNonAssociativeAlgebra} {See \spadfun{leftMinimalPolynomial}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rightNorm}}\opLeftPren{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{rightNorm}}\opLeftPren{} +{\it element}\opRightPren{}% }% }% {1}{(\$)->R}{FiniteRankNonAssociativeAlgebra} {See \spadfun{leftNorm}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rightPower}}\opLeftPren{}{\it monad}, \allowbreak{}{\it nonNegativeInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{rightPower}}\opLeftPren{} +{\it monad}, \allowbreak{}{\it nonNegativeInteger}\opRightPren{}% }% }% {2}{(\$, NonNegativeInteger)->\$}{MonadWithUnit} @@ -78311,7 +81885,8 @@ or equation \smath{u}. \opdata{{\mbox{\axiomFun{rightRankPolynomial}}\opLeftPren{}\opRightPren{}% }% }% -{0}{()->SparseUnivariatePolynomial(Polynomial(R))}{FramedNonAssociativeAlgebra} +{0}{()->SparseUnivariatePolynomial(Polynomial(R))} +{FramedNonAssociativeAlgebra} {See \spadfun{leftRankPolynomial}.} % ---------------------------------------------------------------------- @@ -78322,28 +81897,32 @@ or equation \smath{u}. {See \spadfun{leftRank}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rightRecip}}\opLeftPren{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{rightRecip}}\opLeftPren{} +{\it element}\opRightPren{}% }% }% {1}{(\$)->Union(\$, "failed")}{MonadWithUnit} {See \spadfun{leftRecip}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rightRegularRepresentation}}\opLeftPren{}{\it element\opt{, basis}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{rightRegularRepresentation}}\opLeftPren{} +{\it element\opt{, basis}}\opRightPren{}% }% }% {1}{(\$)->Matrix(R)}{FramedNonAssociativeAlgebra} {See \spadfun{leftRegularRepresentation}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rightTraceMatrix}}\opLeftPren{}{\it \opt{basis}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{rightTraceMatrix}}\opLeftPren{} +{\it \opt{basis}}\opRightPren{}% }% }% {1}{(Vector(\$))->Matrix(R)}{FiniteRankNonAssociativeAlgebra} {See \spadfun{leftTraceMatrix}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rightTrim}}\opLeftPren{}{\it string}, \allowbreak{}{\it various}\opRightPren{}% +\opdata{{\mbox{\axiomFun{rightTrim}}\opLeftPren{}{\it string}, +\allowbreak{}{\it various}\opRightPren{}% }% }% {2}{(\$, Character)->\$}{StringAggregate} @@ -78357,11 +81936,14 @@ or equation \smath{u}. {See \spadfun{leftUnits}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rischNormalize}}\opLeftPren{}{\it expression}, \allowbreak{}{\it x}\opRightPren{}% +\opdata{{\mbox{\axiomFun{rischNormalize}}\opLeftPren{}{\it expression}, +\allowbreak{}{\it x}\opRightPren{}% }% }% -{2}{(F, Symbol)->Record(func:F, kers:List(Kernel(F)), vals:List(F))}{ElementaryFunctionStructurePackage} -{\smath{\mbox{\bf rischNormalize}\opLeftPren{}f, \allowbreak{} x\opRightPren{}} returns \smath{[g, [k_1, \ldots, +{2}{(F, Symbol)->Record(func:F, kers:List(Kernel(F)), vals:List(F))} +{ElementaryFunctionStructurePackage} +{\smath{\mbox{\bf rischNormalize}\opLeftPren{}f, +\allowbreak{} x\opRightPren{}} returns \smath{[g, [k_1, \ldots, k_n], [h_1, \ldots, h_n]]} such that \smath{g = {\bf normalize}(f, x)} and each \smath{k_i} was rewritten as \smath{h_i} during the normalization. @@ -78369,32 +81951,44 @@ normalization. % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rightLcm}}\opLeftPren{}{\it lodOperator}, \allowbreak{}{\it lodOperator}\opRightPren{}% +\opdata{{\mbox{\axiomFun{rightLcm}}\opLeftPren{} +{\it lodOperator}, \allowbreak{}{\it lodOperator}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{LinearOrdinaryDifferentialOperator} {\smath{\mbox{\bf rightLcm}\opLeftPren{}a, \allowbreak{} b\opRightPren{}}, where \smath{a} and \smath{b} are linear ordinary differential operators, -computes the value \smath{m} of lowest degree such that \smath{m = aa*a = bb*b} -for some values \smath{aa} and \smath{bb}. The value \smath{m} is computed using right-division. +computes the value \smath{m} of lowest degree +such that \smath{m = aa*a = bb*b} +for some values \smath{aa} and \smath{bb}. +The value \smath{m} is computed using right-division. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{roman}}\opLeftPren{}{\it integerOrSymbol}\opRightPren{}% +\opdata{{\mbox{\axiomFun{roman}}\opLeftPren{} +{\it integerOrSymbol}\opRightPren{}% }% }% {1}{(Integer)->\$}{RomanNumeral} -{\smath{\mbox{\bf roman}\opLeftPren{}x\opRightPren{}} creates a roman numeral for integer or symbol \smath{x}. +{\smath{\mbox{\bf roman}\opLeftPren{}x\opRightPren{}} creates a roman +numeral for integer or symbol \smath{x}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{romberg}}\opLeftPren{}{\it floatFunction}, \allowbreak{}{\it fourFloats}, \allowbreak{}{\it threeIntegers}\opRightPren{}% -\optand \mbox{\axiomFun{rombergOpen}}\opLeftPren{}{\it floatFunction}, \allowbreak{}{\it fourFloats}, \allowbreak{}{\it twoIntegers}\opRightPren{}% - \opand \mbox{\axiomFun{rombergClose}}\opLeftPren{}{\it floatFunction}, \allowbreak{}{\it fourFloats}, \allowbreak{}{\it twoIntegers}\opRightPren{}% +\opdata{{\mbox{\axiomFun{romberg}}\opLeftPren{}{\it floatFunction}, +\allowbreak{}{\it fourFloats}, \allowbreak{}{\it threeIntegers} +\opRightPren{}% +\optand \mbox{\axiomFun{rombergOpen}}\opLeftPren{}{\it floatFunction}, +\allowbreak{}{\it fourFloats}, \allowbreak{}{\it twoIntegers}\opRightPren{}% + \opand \mbox{\axiomFun{rombergClose}}\opLeftPren{}{\it floatFunction}, +\allowbreak{}{\it fourFloats}, \allowbreak{}{\it twoIntegers}\opRightPren{}% }% }% {}{}{} -{\smath{\mbox{\bf romberg}\opLeftPren{}fn, \allowbreak{} a, \allowbreak{} b, \allowbreak{} epsrel, \allowbreak{} epsabs, \allowbreak{} nmin, \allowbreak{} nmax, \allowbreak{} nint\opRightPren{}} +{\smath{\mbox{\bf romberg}\opLeftPren{}fn, \allowbreak{} a, +\allowbreak{} b, \allowbreak{} epsrel, \allowbreak{} epsabs, +\allowbreak{} nmin, +\allowbreak{} nmax, \allowbreak{} nint\opRightPren{}} uses an adaptive romberg method to numerically integrate function \smath{fn} over the closed interval from \smath{a} to \smath{b}, with relative accuracy \smath{epsrel} and absolute accuracy @@ -78418,19 +82012,24 @@ function evaluations, and {\tt success}, a boolean value that is \smath{true} if the integral was computed within the user specified error criterion. See \spadtype{NumericalQuadrature} for details. -\bigitem\smath{\mbox{\bf rombergClosed}\opLeftPren{}fn, \allowbreak{} a, \allowbreak{} b, \allowbreak{} epsrel, \allowbreak{} epsabs, \allowbreak{} nmin, \allowbreak{} nmax\opRightPren{}} +\bigitem\smath{\mbox{\bf rombergClosed}\opLeftPren{}fn, +\allowbreak{} a, \allowbreak{} b, \allowbreak{} epsrel, \allowbreak{} epsabs, +\allowbreak{} nmin, \allowbreak{} nmax\opRightPren{}} similarly uses the Romberg method to numerically integrate function \smath{fn} over the closed interval \smath{a} to \smath{b}, but is not adaptive. -\bigitem\smath{\mbox{\bf rombergOpen}\opLeftPren{}fn, \allowbreak{} a, \allowbreak{} b, \allowbreak{} epsrel, \allowbreak{} epsabs, \allowbreak{} nmin, \allowbreak{} nmax\opRightPren{}} is similar +\bigitem\smath{\mbox{\bf rombergOpen}\opLeftPren{}fn, +\allowbreak{} a, \allowbreak{} b, \allowbreak{} epsrel, \allowbreak{} epsabs, +\allowbreak{} nmin, \allowbreak{} nmax\opRightPren{}} is similar to \spadfun{rombergClosed}, except that it integrates function \smath{fn} over the open interval from \smath{a} to \smath{b}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{root}}\opLeftPren{}{\it outputForm\opt{, positiveInteger}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{root}}\opLeftPren{} +{\it outputForm\opt{, positiveInteger}}\opRightPren{}% }% }% {}{}{} @@ -78444,22 +82043,26 @@ By default, \smath{n = 2}. % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rootOfIrreduciblePoly}}\opLeftPren{}{\it polynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{rootOfIrreduciblePoly}}\opLeftPren{} +{\it polynomial}\opRightPren{}% }% }% {1}{(SparseUnivariatePolynomial(GF))->F}{FiniteFieldPolynomialPackage2} -{\smath{\mbox{\bf rootOfIrreduciblePoly}\opLeftPren{}f\opRightPren{}} computes one root of the monic, +{\smath{\mbox{\bf rootOfIrreduciblePoly}\opLeftPren{}f\opRightPren{}} +computes one root of the monic, irreducible polynomial \smath{f}, whose degree must divide the extension degree of \smath{F} over \smath{GF}. That is, \smath{f} splits into linear factors over \smath{F}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rootOf}}\opLeftPren{}{\it polynomial\opt{, variable}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{rootOf}}\opLeftPren{} +{\it polynomial\opt{, variable}}\opRightPren{}% }% }% {1}{(Polynomial(\$))->\$}{AlgebraicallyClosedField} -{\smath{\mbox{\bf rootOf}\opLeftPren{}p\optinner{, y}\opRightPren{}} returns \smath{y} such that +{\smath{\mbox{\bf rootOf}\opLeftPren{}p\optinner{, y}\opRightPren{}} +returns \smath{y} such that \smath{p(y) = 0}. The object returned displays as \smath{'y}. The second argument may be omitted when \smath{p} is a polynomial in a unique @@ -78468,21 +82071,25 @@ variable \smath{y}. % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rootSimp}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{rootSimp}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(F)->F}{AlgebraicManipulations} -{\smath{\mbox{\bf rootSimp}\opLeftPren{}f\opRightPren{}} transforms every radical of the form +{\smath{\mbox{\bf rootSimp}\opLeftPren{}f\opRightPren{}} +transforms every radical of the form \smath{(a b^{q n+r})^{1/n}} appearing in expression \smath{f} into \smath{b^q (a b^r)^{1/n}}. This transformation is not in general valid for all complex numbers \smath{b}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rootsOf}}\opLeftPren{}{\it polynomialOrExpression \opt{, symbol}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{rootsOf}}\opLeftPren{} +{\it polynomialOrExpression \opt{, symbol}}\opRightPren{}% }% }% -{2}{(SparseUnivariatePolynomial(\$), Symbol)->List(\$)}{AlgebraicallyClosedField} +{2}{(SparseUnivariatePolynomial(\$), Symbol)->List(\$)} +{AlgebraicallyClosedField} {\smath{\mbox{\bf rootsOf}\opLeftPren{}p \optinner{, y}\opRightPren{}} returns the value of \smath{[y_1, \ldots, y_n]} such that \smath{p(y_i) = 0}. The \smath{y_i} are symbols of the form \%\smath{y} with a suffix number @@ -78493,11 +82100,13 @@ exactly one symbol. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rootSplit}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{rootSplit}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(F)->F}{AlgebraicManipulations} -{\smath{\mbox{\bf rootSplit}\opLeftPren{}f\opRightPren{}} transforms every radical of the form +{\smath{\mbox{\bf rootSplit}\opLeftPren{}f\opRightPren{}} +transforms every radical of the form \smath{(a/b)^{1/n}} appearing in \smath{f} into \smath{a^{1/n} / b^{1/n}}. This transformation is @@ -78509,7 +82118,8 @@ not in general valid for all complex numbers \smath{a} and \smath{b}. }% }% {1}{(\$)->\$}{QueueAggregate} -{\smath{\mbox{\bf rotate!}\opLeftPren{}q\opRightPren{}} rotates queue \smath{q} so that the element at +{\smath{\mbox{\bf rotate!}\opLeftPren{}q\opRightPren{}} rotates +queue \smath{q} so that the element at the front of the queue goes to the back of the queue. } @@ -78518,15 +82128,18 @@ the front of the queue goes to the back of the queue. }% }% {1}{(\$)->\$}{RealNumberSystem} -{\smath{\mbox{\bf round}\opLeftPren{}x\opRightPren{}} computes the integer closest to \smath{x}. +{\smath{\mbox{\bf round}\opLeftPren{}x\opRightPren{}} computes the +integer closest to \smath{x}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{row}}\opLeftPren{}{\it matrix}, \allowbreak{}{\it positiveInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{row}}\opLeftPren{}{\it matrix}, \allowbreak{} +{\it positiveInteger}\opRightPren{}% }% }% {2}{(\$, Integer)->Row}{RectangularMatrixCategory} -{\smath{\mbox{\bf row}\opLeftPren{}m, \allowbreak{} i\opRightPren{}} returns the \eth{\smath{i}} row of the matrix +{\smath{\mbox{\bf row}\opLeftPren{}m, \allowbreak{} i\opRightPren{}} +returns the \eth{\smath{i}} row of the matrix or two-dimensional array \smath{m}. } @@ -78536,7 +82149,8 @@ two-dimensional array \smath{m}. }% }% {1}{(\$)->\$}{MatrixCategory} -{\smath{\mbox{\bf rowEchelon}\opLeftPren{}m\opRightPren{}} returns the row echelon form of the matrix +{\smath{\mbox{\bf rowEchelon}\opLeftPren{}m\opRightPren{}} +returns the row echelon form of the matrix \smath{m}. } @@ -78545,7 +82159,8 @@ two-dimensional array \smath{m}. }% }% {1}{(\$)->\$}{LazyStreamAggregate} -{\smath{\mbox{\bf rst}\opLeftPren{}s\opRightPren{}} returns a pointer to the next node of stream +{\smath{\mbox{\bf rst}\opLeftPren{}s\opRightPren{}} +returns a pointer to the next node of stream \smath{s}. Caution: this function should only be called after a \axiomFun{empty?} test returns @@ -78557,14 +82172,18 @@ Caution: this function should only be called after a }% }% {0}{()->PermutationGroup(Integer)}{PermutationGroupExamples} -{\smath{\mbox{\bf rubiksGroup}\opLeftPren{}\opRightPren{}} constructs the permutation group representing Rubic's Cube +{\smath{\mbox{\bf rubiksGroup}\opLeftPren{}\opRightPren{}} +constructs the permutation group representing Rubic's Cube acting on integers \smath{10i+j} for \smath{1 \leq i \leq 6, 1 \leq j \leq 8}. -The faces of Rubik's Cube are labelled: Front, Right, Up, Down, Left, Back and numbered from 1 to 6. -The pieces on each face (except the unmoveable center piece) are clockwise numbered +The faces of Rubik's Cube are labelled: Front, Right, Up, +Down, Left, Back and numbered from 1 to 6. +The pieces on each face (except the unmoveable center piece) +are clockwise numbered from 1 to 8 starting with the piece in the upper left corner. The moves of the cube are represented as permutations on these pieces, -represented as a two digit integer \smath{ij} where \smath{i} is the number of the face +represented as a two digit integer \smath{ij} where +\smath{i} is the number of the face and \smath{j} is the number of the piece on this face. The remaining ambiguities are resolved by looking at the 6 generators representing 90-degree turns of the faces. @@ -78583,27 +82202,40 @@ representing 90-degree turns of the faces. }% }% {1}{(\$)->List(RewriteRule(Base, R, F))}{Ruleset} -{\smath{\mbox{\bf rules}\opLeftPren{}r\opRightPren{}} returns the list of rewrite rules contained in ruleset \smath{r}. +{\smath{\mbox{\bf rules}\opLeftPren{}r\opRightPren{}} +returns the list of rewrite rules contained in ruleset \smath{r}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{ruleset}}\opLeftPren{}{\it listOfRules}\opRightPren{}% +\opdata{{\mbox{\axiomFun{ruleset}}\opLeftPren{} +{\it listOfRules}\opRightPren{}% }% }% {1}{(List(RewriteRule(Base, R, F)))->\$}{Ruleset} -{\smath{\mbox{\bf ruleset}\opLeftPren{}[r1, \allowbreak{} \ldots, rn]\opRightPren{}} creates a ruleset +{\smath{\mbox{\bf ruleset}\opLeftPren{}[r1, \allowbreak{} +\ldots, rn]\opRightPren{}} creates a ruleset from a list of rewrite rules \smath{r_1}, \ldots, \smath{r_n}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{rungaKutta}}\opLeftPren{}{\it vector}, \allowbreak{}{\it integer}, \allowbreak{}{\it fourFloats}, \allowbreak{}{\it integer}, \allowbreak{}{\it function}\opRightPren{}% -\opand \mbox{\axiomFun{rungaKuttaFixed}}\opLeftPren{}{\it vector}, \allowbreak{}{\it integer}, \allowbreak{}{\it float}, \allowbreak{}{\it float}, \allowbreak{}{\it integer}, \allowbreak{}{\it function}\opRightPren{}% +\opdata{{\mbox{\axiomFun{rungaKutta}}\opLeftPren{} +{\it vector}, \allowbreak{}{\it integer}, \allowbreak{} +{\it fourFloats}, \allowbreak{} +{\it integer}, \allowbreak{}{\it function}\opRightPren{}% +\opand \mbox{\axiomFun{rungaKuttaFixed}}\opLeftPren{} +{\it vector}, \allowbreak{}{\it integer}, \allowbreak{} +{\it float}, \allowbreak{} +{\it float}, \allowbreak{}{\it integer}, \allowbreak{} +{\it function}\opRightPren{}% }% }% {}{}{} -{\smath{\mbox{\bf rungaKutta}\opLeftPren{}y, \allowbreak{} n, \allowbreak{} a, \allowbreak{} b, \allowbreak{} eps, \allowbreak{} h, \allowbreak{} ncalls, \allowbreak{} derivs\opRightPren{}} +{\smath{\mbox{\bf rungaKutta}\opLeftPren{}y, \allowbreak{} n, +\allowbreak{} a, \allowbreak{} b, \allowbreak{} eps, \allowbreak{} h, +\allowbreak{} ncalls, \allowbreak{} derivs\opRightPren{}} uses a \smath{4}--th order Runga-Kutta method to numerically -integrate the ordinary differential equation $dy/dx = f(y, x)$ from \smath{x_1} to \smath{x_2}, +integrate the ordinary differential equation $dy/dx = f(y, x)$ +from \smath{x_1} to \smath{x_2}, where \smath{y} is an \smath{n}--vector of \smath{n} variables. Initial and final values are provided by solution vector \smath{y}. @@ -78618,18 +82250,23 @@ function of type \spadsig{(Vector Float, Vector Float, Float)}{Void}, which computes the right-hand side of the ordinary differential equation, then replaces the elements of the first argument by updated elements. -\bigitem\smath{\mbox{\bf rungaKuttaFixed}\opLeftPren{}y, \allowbreak{} n, \allowbreak{} x_1, \allowbreak{} x_2, \allowbreak{} ns, \allowbreak{} derivs\opRightPren{}} is similar to +\bigitem\smath{\mbox{\bf rungaKuttaFixed}\opLeftPren{}y, +\allowbreak{} n, \allowbreak{} x_1, \allowbreak{} x_2, \allowbreak{} ns, +\allowbreak{} derivs\opRightPren{}} is similar to \spadfun{rungaKutta} except that it uses \smath{ns} fixed steps to integrate the solution vector \smath{y} from \smath{x_1} to \smath{x_2}, returning the values in \smath{y}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{saturate}}\opLeftPren{}{\it ideal}, \allowbreak{}{\it polynomial}\allowbreak $\,[$ , \allowbreak{}{\it listOfVariables}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{saturate}}\opLeftPren{}{\it ideal}, +\allowbreak{}{\it polynomial}\allowbreak $\,[$ , \allowbreak{} +{\it listOfVariables}$]$\opRightPren{}% }% }% {2}{(\$, DPoly)->\$}{PolynomialIdeals} -{\smath{\mbox{\bf saturate}\opLeftPren{}I, \allowbreak{} f\optinner{, lvar}\opRightPren{}} is the saturation of the +{\smath{\mbox{\bf saturate}\opLeftPren{}I, +\allowbreak{} f\optinner{, lvar}\opRightPren{}} is the saturation of the ideal \smath{I} with respect to the multiplicative set generated by the polynomial \smath{f} in the variables given by \smath{lvar}, a list of variables. @@ -78642,53 +82279,67 @@ taken to be the list of all variables appearing in \smath{f}. }% }% {1}{(List(String))->Void}{DisplayPackage} -{\smath{\mbox{\bf say}\opLeftPren{}u\opRightPren{}} sends a string or a list of strings \smath{u} to +{\smath{\mbox{\bf say}\opLeftPren{}u\opRightPren{}} +sends a string or a list of strings \smath{u} to output. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{sayLength}}\opLeftPren{}{\it listOfStrings}\opRightPren{}% +\opdata{{\mbox{\axiomFun{sayLength}}\opLeftPren{} +{\it listOfStrings}\opRightPren{}% }% }% {1}{(List(String))->Integer}{DisplayPackage} -{\smath{\mbox{\bf sayLength}\opLeftPren{}ls\opRightPren{}} returns the total number of characters +{\smath{\mbox{\bf sayLength}\opLeftPren{}ls\opRightPren{}} +returns the total number of characters in the list of strings \smath{ls}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{scalarMatrix}}\opLeftPren{}{\it scalar\opt{, dimension}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{scalarMatrix}}\opLeftPren{} +{\it scalar\opt{, dimension}}\opRightPren{}% }% }% {1}{(R)->\$}{SquareMatrixCategory} -{\smath{\mbox{\bf scalarMatrix}\opLeftPren{}r\optinner{, n}\opRightPren{}} returns an +{\smath{\mbox{\bf scalarMatrix}\opLeftPren{}r\optinner{, n}\opRightPren{}} +returns an \smath{n}-by-\smath{n} matrix with scalar \smath{r} on the diagonal and zero elsewhere. The dimension may be omitted if the result is to be an object -of type \smath{\mbox{\bf SquareMatrix}\opLeftPren{}n, \allowbreak{} R\opRightPren{}} for some \smath{n}. +of type \smath{\mbox{\bf SquareMatrix}\opLeftPren{}n, +\allowbreak{} R\opRightPren{}} for some \smath{n}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{scan}}\opLeftPren{}{\it binaryFunction}, \allowbreak{}{\it aggregate}, \allowbreak{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{scan}}\opLeftPren{}{\it binaryFunction}, +\allowbreak{}{\it aggregate}, \allowbreak{}{\it element}\opRightPren{}% }% }% {3}{((S, R)->R, A, R)->B}{FiniteLinearAggregateFunctions2} -{\smath{\mbox{\bf scan}\opLeftPren{}f, \allowbreak{} a, \allowbreak{} r\opRightPren{}} successively applies \smath{\mbox{\bf reduce}\opLeftPren{}f, \allowbreak{} x, \allowbreak{} r\opRightPren{}} to +{\smath{\mbox{\bf scan}\opLeftPren{}f, \allowbreak{} a, +\allowbreak{} r\opRightPren{}} successively applies +\smath{\mbox{\bf reduce}\opLeftPren{}f, +\allowbreak{} x, \allowbreak{} r\opRightPren{}} to more and more leading sub-aggregates \smath{x} of aggregrate \smath{a}. More precisely, if \smath{a} is \smath{[a1, a2, \ldots]}, then -\smath{\mbox{\bf scan}\opLeftPren{}f, \allowbreak{} a, \allowbreak{} r\opRightPren{}} returns +\smath{\mbox{\bf scan}\opLeftPren{}f, \allowbreak{} a, +\allowbreak{} r\opRightPren{}} returns \smath{[reduce(f, [a1], r), reduce(f, [a1, a2], r), \ldots]}. Argument \smath{a} can be any linear aggregate including streams. -For example, if \smath{a} is a list or an infinite stream of the form \smath{[x_1, x_2, \ldots]}, +For example, if \smath{a} is a list or an infinite stream of +the form \smath{[x_1, x_2, \ldots]}, then \code{scan(+, a, 0)} returns a list or stream of the form \smath{[x_1, x_1 + x_2, \ldots]}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{scanOneDimSubspaces}}\opLeftPren{}{\it listOfVectors}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{scanOneDimSubspaces}}\opLeftPren{} +{\it listOfVectors}, \allowbreak{}{\it integer}\opRightPren{}% }% }% {2}{(List(Vector(R)), Integer)->Vector(R)}{RepresentationPackage2} -{\smath{\mbox{\bf scanOneDimSubspaces}\opLeftPren{}basis, \allowbreak{} n\opRightPren{}} gives a canonical +{\smath{\mbox{\bf scanOneDimSubspaces}\opLeftPren{}basis, +\allowbreak{} n\opRightPren{}} gives a canonical representative of the \eth{\smath{n}} one-dimensional subspace of the vector space generated by the elements of \smath{basis}. @@ -78698,17 +82349,25 @@ Consult \spadtype{RepresentationPackage2} using details. % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{script}}\opLeftPren{}{\it symbol}, \allowbreak{}{\it listOfListsOfOutputForms}\opRightPren{}% +\opdata{{\mbox{\axiomFun{script}}\opLeftPren{}{\it symbol}, +\allowbreak{}{\it listOfListsOfOutputForms}\opRightPren{}% }% }% {2}{(\$, List(List(OutputForm)))->\$}{Symbol} -{\smath{\mbox{\bf script}\opLeftPren{}sy, \allowbreak{} [a, \allowbreak{} b, \allowbreak{} c, \allowbreak{} d, \allowbreak{} e]\opRightPren{}} returns \smath{sy} with +{\smath{\mbox{\bf script}\opLeftPren{}sy, \allowbreak{} +[a, \allowbreak{} b, \allowbreak{} c, \allowbreak{} d, +\allowbreak{} e]\opRightPren{}} +returns \smath{sy} with subscripts \smath{a}, superscripts \smath{b}, pre-superscripts \smath{c}, pre-subscripts \smath{d}, and argument-scripts \smath{e}. Omitted components are taken to be empty. -For example, \smath{\mbox{\bf script}\opLeftPren{}s, \allowbreak{} {\tt [}a, \allowbreak{} b, \allowbreak{} c{\tt ]}\opRightPren{}} is equivalent -to \smath{\mbox{\bf script}\opLeftPren{}s, \allowbreak{} {\tt [}a, \allowbreak{} b, \allowbreak{} c, \allowbreak{} {\tt []}, \allowbreak{} {\tt []]}\opRightPren{}}. +For example, \smath{\mbox{\bf script}\opLeftPren{}s, +\allowbreak{} {\tt [}a, \allowbreak{} b, +\allowbreak{} c{\tt ]}\opRightPren{}} is equivalent +to \smath{\mbox{\bf script}\opLeftPren{}s, \allowbreak{} +{\tt [}a, \allowbreak{} b, \allowbreak{} c, \allowbreak{} {\tt []}, +\allowbreak{} {\tt []]}\opRightPren{}}. } % ---------------------------------------------------------------------- @@ -78716,31 +82375,38 @@ to \smath{\mbox{\bf script}\opLeftPren{}s, \allowbreak{} {\tt [}a, \allowbreak{} }% }% {1}{(\$)->Boolean}{Symbol} -{\smath{\mbox{\bf scripted?}\opLeftPren{}sy\opRightPren{}} tests if \smath{sy} has been given any scripts. +{\smath{\mbox{\bf scripted?}\opLeftPren{}sy\opRightPren{}} tests +if \smath{sy} has been given any scripts. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{scripts}}\opLeftPren{}{\it symbolOrOutputForm\opt{, listOfOutputForms}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{scripts}}\opLeftPren{} +{\it symbolOrOutputForm\opt{, listOfOutputForms}}\opRightPren{}% }% }% {}{}{} {\smath{\mbox{\bf scripts}\opLeftPren{}o, \allowbreak{} lo\opRightPren{}}, -where \smath{o} is an object of type \spadtype{OutputForm} (normally unexposed) +where \smath{o} is an object of type \spadtype{OutputForm} +(normally unexposed) and \smath{lo} is a list \smath{[sub, super, presuper, presub]} of four objects of type \spadtype{OutputForm} (normally unexposed), creates a form for \smath{o} with scripts on all four corners. -\newline\smath{\mbox{\bf scripts}\opLeftPren{}s\opRightPren{}} returns all the scripts of \smath{s} as a record with -selectors \smath{sub}, \smath{sup}, \smath{presup}, \smath{presub}, and \smath{args}, +\newline\smath{\mbox{\bf scripts}\opLeftPren{}s\opRightPren{}} +returns all the scripts of \smath{s} as a record with +selectors \smath{sub}, \smath{sup}, \smath{presup}, \smath{presub}, +and \smath{args}, each with a list of output forms as a value. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{search}}\opLeftPren{}{\it key}, \allowbreak{}{\it table}\opRightPren{}% +\opdata{{\mbox{\axiomFun{search}}\opLeftPren{}{\it key}, \allowbreak{} +{\it table}\opRightPren{}% }% }% {2}{(Key, \$)->Union(Entry, "failed")}{KeyedDictionary} -{\smath{\mbox{\bf search}\opLeftPren{}k, \allowbreak{} t\opRightPren{}} searches the table \smath{t} for the key +{\smath{\mbox{\bf search}\opLeftPren{}k, \allowbreak{} t\opRightPren{}} +searches the table \smath{t} for the key \smath{k}, returning the entry stored in \smath{t} for key \smath{k}, or \mbox{\tt "failed"} if \smath{t} has no such key. @@ -78752,9 +82418,12 @@ or \mbox{\tt "failed"} if \smath{t} has no such key. }% }% {1}{(K)->Union(K, "failed")}{PartialTranscendentalFunctions} -{\smath{\mbox{\bf sec}\opLeftPren{}x\opRightPren{}} returns the secant of \smath{x}. +{\smath{\mbox{\bf sec}\opLeftPren{}x\opRightPren{}} +returns the secant of \smath{x}. \newitem -\smath{\mbox{\bf secIfCan}\opLeftPren{}z\opRightPren{}} returns \smath{\mbox{\bf sec}\opLeftPren{}z\opRightPren{}} if possible, and \mbox{\tt "failed"} otherwise. +\smath{\mbox{\bf secIfCan}\opLeftPren{}z\opRightPren{}} +returns \smath{\mbox{\bf sec}\opLeftPren{}z\opRightPren{}} if possible, +and \mbox{\tt "failed"} otherwise. } % ---------------------------------------------------------------------- @@ -78762,26 +82431,35 @@ or \mbox{\tt "failed"} if \smath{t} has no such key. }% }% {1}{(F)->F}{TranscendentalManipulations} -{\smath{\mbox{\bf sec2cos}\opLeftPren{}f\opRightPren{}} converts every \smath{\mbox{\bf sec}\opLeftPren{}u\opRightPren{}} appearing in \smath{f} into \smath{1/{\rm cos}(u)}. +{\smath{\mbox{\bf sec2cos}\opLeftPren{}f\opRightPren{}} +converts every \smath{\mbox{\bf sec}\opLeftPren{}u\opRightPren{}} +appearing in \smath{f} into \smath{1/{\rm cos}(u)}. } % ---------------------------------------------------------------------- \opdata{{\mbox{\axiomFun{sech}}\opLeftPren{}{\it expression}\opRightPren{}% - \opand \mbox{\axiomFun{sechIfCan}}\opLeftPren{}{\it expression}\opRightPren{}% + \opand \mbox{\axiomFun{sechIfCan}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(K)->Union(K, "failed")}{PartialTranscendentalFunctions} -{\smath{\mbox{\bf sech}\opLeftPren{}x\opRightPren{}} returns the hyperbolic secant of \smath{x}. +{\smath{\mbox{\bf sech}\opLeftPren{}x\opRightPren{}} +returns the hyperbolic secant of \smath{x}. \newitem -\smath{\mbox{\bf sechIfCan}\opLeftPren{}z\opRightPren{}} returns \smath{\mbox{\bf sech}\opLeftPren{}z\opRightPren{}} if possible, and \mbox{\tt "failed"} otherwise. +\smath{\mbox{\bf sechIfCan}\opLeftPren{}z\opRightPren{}} +returns \smath{\mbox{\bf sech}\opLeftPren{}z\opRightPren{}} if possible, +and \mbox{\tt "failed"} otherwise. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{sech2cosh}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{sech2cosh}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(F)->F}{TranscendentalManipulations} -{\smath{\mbox{\bf sech2cosh}\opLeftPren{}f\opRightPren{}} converts every \smath{\mbox{\bf sech}\opLeftPren{}u\opRightPren{}} appearing in \smath{f} into \smath{1/{\rm cosh}(u)}. +{\smath{\mbox{\bf sech2cosh}\opLeftPren{}f\opRightPren{}} +converts every \smath{\mbox{\bf sech}\opLeftPren{}u\opRightPren{}} +appearing in \smath{f} into \smath{1/{\rm cosh}(u)}. } % ---------------------------------------------------------------------- @@ -78789,12 +82467,14 @@ or \mbox{\tt "failed"} if \smath{t} has no such key. }% }% {1}{(\$)->S}{UnaryRecursiveAggregate} -{\smath{\mbox{\bf second}\opLeftPren{}u\opRightPren{}} returns the second element of recursive aggregate \smath{u}. +{\smath{\mbox{\bf second}\opLeftPren{}u\opRightPren{}} +returns the second element of recursive aggregate \smath{u}. Note: \smath{\mbox{\bf second}\opLeftPren{}u) = {\bf first}({\bf rest}(u))}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{segment}}\opLeftPren{}{\it integer\opt{, integer}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{segment}}\opLeftPren{} +{\it integer\opt{, integer}}\opRightPren{}% }% }% {1}{(S)->\$}{UniversalSegment} @@ -78803,59 +82483,72 @@ the segment \smath{i..j}. If not qualified by a {\bf by} clause, this notation for integers \smath{i} and \smath{j} denotes the tuple of integers \smath{i}, \smath{i+1}, \ldots, \smath{j}. -When \smath{j} is omitted, \smath{\mbox{\bf segment}\opLeftPren{}i\opRightPren{}} +When \smath{j} is omitted, +\smath{\mbox{\bf segment}\opLeftPren{}i\opRightPren{}} denotes the half open segment \smath{i..}, that is, a segment with no upper bound. \newline \smath{\mbox{\bf segment}\opLeftPren{}x = bd\opRightPren{}}, where \smath{bd} is a binding, returns \smath{bd}. -For example, \smath{\mbox{\bf segment}\opLeftPren{}x = a..b\opRightPren{}} returns +For example, \smath{\mbox{\bf segment}\opLeftPren{}x = a..b\opRightPren{}} +returns \smath{a..b}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{select}}\opLeftPren{}{\it pred}, \allowbreak{}{\it aggregate}\opRightPren{}% - \opand \mbox{\axiomFun{select!}}\opLeftPren{}{\it pred}, \allowbreak{}{\it aggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{select}}\opLeftPren{}{\it pred}, \allowbreak{} +{\it aggregate}\opRightPren{}% + \opand \mbox{\axiomFun{select!}}\opLeftPren{}{\it pred}, \allowbreak{} +{\it aggregate}\opRightPren{}% }% }% {2}{((S)->Boolean, \$)->\$}{Collection} -{\smath{\mbox{\bf select}\opLeftPren{}p, \allowbreak{} u\opRightPren{}} returns a copy of \smath{u} containing only +{\smath{\mbox{\bf select}\opLeftPren{}p, +\allowbreak{} u\opRightPren{}} returns a copy of \smath{u} containing only those elements \smath{x} such that \smath{p(x)} is \smath{true}. For a list \smath{l}, \smath{select(p, l) == [x {\mbox{ \tt for } } x {\mbox{ \tt in }} l {\tt |} p(x)]}. Argument \smath{u} may be any finite aggregate or infinite stream. -\newitem \smath{\mbox{\bf select!}\opLeftPren{}p, \allowbreak{} u\opRightPren{}} destructively changes \smath{u} by +\newitem \smath{\mbox{\bf select!}\opLeftPren{}p, +\allowbreak{} u\opRightPren{}} destructively changes \smath{u} by keeping only values \smath{x} such that \smath{p(x)} is true. Argument \smath{u} can be any extensible linear aggregate or dictionary. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{semicolonSeparate}}\opLeftPren{}{\it listOfOutputForms}\opRightPren{}% +\opdata{{\mbox{\axiomFun{semicolonSeparate}}\opLeftPren{} +{\it listOfOutputForms}\opRightPren{}% }% }% {}{}{} -{\smath{\mbox{\bf semicolonSeparate}\opLeftPren{}lo\opRightPren{}}, where \smath{lo} is a list of +{\smath{\mbox{\bf semicolonSeparate}\opLeftPren{}lo\opRightPren{}}, +where \smath{lo} is a list of objects of type \spadtype{OutputForm} (normally unexposed), returns an output form which separates the elements of \smath{lo} by semicolons. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{separant}}\opLeftPren{}{\it differentialPolynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{separant}}\opLeftPren{} +{\it differentialPolynomial}\opRightPren{}% }% }% {1}{(\$)->\$}{DifferentialPolynomialCategory} -{\smath{\mbox{\bf separant}\opLeftPren{}polynomial\opRightPren{}} returns the partial derivative of +{\smath{\mbox{\bf separant}\opLeftPren{}polynomial\opRightPren{}} +returns the partial derivative of the differential polynomial \smath{p} with respect to its leader. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{separate}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it polynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{separate}}\opLeftPren{} +{\it polynomial}, \allowbreak{}{\it polynomial}\opRightPren{}% }% }% -{2}{(\$, \$)->Record(primePart:\$, commonPart:\$)}{UnivariatePolynomialCategory} -{\smath{\mbox{\bf separate}\opLeftPren{}p, \allowbreak{} q\opRightPren{}} returns \spad({a, b)} such that polynomial +{2}{(\$, \$)->Record(primePart:\$, commonPart:\$)} +{UnivariatePolynomialCategory} +{\smath{\mbox{\bf separate}\opLeftPren{}p, +\allowbreak{} q\opRightPren{}} returns \spad({a, b)} such that polynomial \smath{p = a b} and \smath{a} is relatively prime to \smath{q}. The result produced is a record with selectors \smath{primePart} and \smath{commonPart} @@ -78863,109 +82556,153 @@ with value \smath{a} and \smath{b} respectively. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{separateDegrees}}\opLeftPren{}{\it polynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{separateDegrees}}\opLeftPren{} +{\it polynomial}\opRightPren{}% }% }% -{1}{(FP)->List(Record(deg:NonNegativeInteger, prod:FP))}{DistinctDegreeFactorize} -{\smath{\mbox{\bf separateDegrees}\opLeftPren{}p\opRightPren{}} splits the polynomial \smath{p} into factors. +{1}{(FP)->List(Record(deg:NonNegativeInteger, prod:FP))} +{DistinctDegreeFactorize} +{\smath{\mbox{\bf separateDegrees}\opLeftPren{}p\opRightPren{}} +splits the polynomial \smath{p} into factors. Each factor is a record with selector \smath{deg}, a non-negative integer, and \smath{prod}, a product of irreducible polynomials of degree \smath{deg}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{separateFactors}}\opLeftPren{}{\it listOfRecords}, \allowbreak{}{\it polynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{separateFactors}}\opLeftPren{} +{\it listOfRecords}, \allowbreak{}{\it polynomial}\opRightPren{}% }% }% -{2}{(List(Record(deg:NonNegativeInteger, prod:FP)), FP)->List(FP)}{DistinctDegreeFactorize} -{\smath{\mbox{\bf separateFactors}\opLeftPren{}lfact, \allowbreak{} p\opRightPren{}} takes the list produced by +{2}{(List(Record(deg:NonNegativeInteger, prod:FP)), FP)-> +List(FP)}{DistinctDegreeFactorize} +{\smath{\mbox{\bf separateFactors}\opLeftPren{}lfact, +\allowbreak{} p\opRightPren{}} takes the list produced by \spadfunFrom{separateDegrees}{DistinctDegreeFactorization} along -with the original polynomial \smath{p}, and produces the complete list of factors. +with the original polynomial \smath{p}, and produces the +complete list of factors. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{separateFactors}}\opLeftPren{}{\it listOfRecords}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{separateFactors}}\opLeftPren{} +{\it listOfRecords}, \allowbreak{}{\it integer}\opRightPren{}% }% }% -{2}{(List(Record(factor:U, degree:Integer)), Integer)->List(U)}{ModularDistinctDegreeFactorizer} -{\smath{\mbox{\bf separateFactors}\opLeftPren{}ddl, \allowbreak{} p\opRightPren{}} refines the distinct degree factorization produced by \spadfunFrom{ddFact}{ModularDistinctDegreeFactorizer} to give a complete list of factors. +{2}{(List(Record(factor:U, degree:Integer)), +Integer)->List(U)}{ModularDistinctDegreeFactorizer} +{\smath{\mbox{\bf separateFactors}\opLeftPren{}ddl, +\allowbreak{} p\opRightPren{}} refines the distinct degree factorization +produced by \spadfunFrom{ddFact}{ModularDistinctDegreeFactorizer} to give a +complete list of factors. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{sequences}}\opLeftPren{}{\it listOfIntegers}\opRightPren{}% -\opand \mbox{\axiomFun{sequences}}\opLeftPren{}{\it listOfIntegers}, \allowbreak{}{\it listOfIntegers}\opRightPren{}% +\opdata{{\mbox{\axiomFun{sequences}}\opLeftPren{} +{\it listOfIntegers}\opRightPren{}% +\opand \mbox{\axiomFun{sequences}}\opLeftPren{}{\it listOfIntegers}, +\allowbreak{}{\it listOfIntegers}\opRightPren{}% }% }% -{2}{(List(Integer), List(Integer))->Stream(List(Integer))}{PartitionsAndPermutations} -{\smath{\mbox{\bf sequences}\opLeftPren{}[l_0, \allowbreak{} l_1, \allowbreak{} l_2, \allowbreak{} .., \allowbreak{} l_n]\opRightPren{}} is the set of all sequences -formed from \smath{l_0} 0's, \smath{l_1} 1's, \smath{l_2} 2's, \ldots, \smath{l_n} \smath{n}'s. +{2}{(List(Integer), List(Integer))->Stream(List(Integer))} +{PartitionsAndPermutations} +{\smath{\mbox{\bf sequences}\opLeftPren{}[l_0, \allowbreak{} l_1, +\allowbreak{} l_2, \allowbreak{} .., \allowbreak{} l_n]\opRightPren{}} +is the set of +all sequences +formed from \smath{l_0} 0's, \smath{l_1} 1's, \smath{l_2} 2's, \ldots, +\smath{l_n} \smath{n}'s. \newitem -\smath{\mbox{\bf sequences}\opLeftPren{}l1, \allowbreak{} l2\opRightPren{}} is the stream of all sequences that can be composed from +\smath{\mbox{\bf sequences}\opLeftPren{}l1, \allowbreak{} l2\opRightPren{}} +is the stream of all sequences that can be composed from the multiset defined from two lists of integers \smath{l1} and \smath{l2}. For example, the pair \smath{([1, 2, 4], [2, 3, 5])} represents multiset with 1 \smath{2}, 2 \smath{3}'s, and 4 \smath{5}'s. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{series}}\opLeftPren{}{\it specifications\opt{, \ldots}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{series}}\opLeftPren{} +{\it specifications\opt{, \ldots}}\opRightPren{}% }% }% {1}{(Stream(Coef))->\$}{UnivariateTaylorSeriesCategory} -{\smath{\mbox{\bf series}\opLeftPren{}expression\opRightPren{}} returns a series expansion of the expression \smath{f}. -Note: \smath{f} must have only one variable. The series will be expanded in powers +{\smath{\mbox{\bf series}\opLeftPren{}expression\opRightPren{}} +returns a series expansion of the expression \smath{f}. +Note: \smath{f} must have only one variable. The series will be +expanded in powers of that variable. \newitem -\smath{\mbox{\bf series}\opLeftPren{}sy\opRightPren{}}, where \smath{sy} is a symbol, returns \smath{sy} as a series. +\smath{\mbox{\bf series}\opLeftPren{}sy\opRightPren{}}, +where \smath{sy} is a symbol, returns \smath{sy} as a series. \newitem \smath{\mbox{\bf series}\opLeftPren{}st\opRightPren{}}, -where \smath{t} is a stream \smath{[a_0, a_1, a_2, \ldots]} of coefficients \smath{a_i} +where \smath{t} is a stream \smath{[a_0, a_1, a_2, \ldots]} +of coefficients \smath{a_i} from some ring, creates the Taylor series \smath{a_0 + a_1 x + a_2 x^2 +\ldots}. -Also, if \smath{st} is a stream of elements of type \spadtype{Record(k:NonNegativeInteger, c:R)}, -where \smath{k} denotes an exponent and \smath{c}, a non-zero coefficient from some ring \smath{R}, +Also, if \smath{st} is a stream of elements of type +\spadtype{Record(k:NonNegativeInteger, c:R)}, +where \smath{k} denotes an exponent and \smath{c}, +a non-zero coefficient from some ring \smath{R}, it creates a stream of non-zero terms. The terms in \smath{st} must be ordered by increasing order of exponents. \newitem -\smath{\mbox{\bf series}\opLeftPren{}f, \allowbreak{} x = a\optinner{, n}\opRightPren{}} expands the expression \smath{f} as a +\smath{\mbox{\bf series}\opLeftPren{}f, +\allowbreak{} x = a\optinner{, n}\opRightPren{}} +expands the expression \smath{f} as a series in powers of \smath{(x - a)} with \smath{n} terms. If \smath{n} is missing, the number of terms is governed by the value set by the system command \spadsyscom{)set streams calculate}. \newitem -\smath{\mbox{\bf series}\opLeftPren{}f, \allowbreak{} n\opRightPren{}} returns a series expansion of the expression +\smath{\mbox{\bf series}\opLeftPren{}f, \allowbreak{} n\opRightPren{}} +returns a series expansion of the expression \smath{f}. Note: \smath{f} should have only one variable; the series will be expanded in powers of that variable and terms will be computed up to order at least \smath{n}. \newitem -\smath{\mbox{\bf series}\opLeftPren{}i {\tt +->} a(i), \allowbreak{} x = a, \allowbreak{} m..\optinner{n, k}\opRightPren{}} creates the series +\smath{\mbox{\bf series}\opLeftPren{}i {\tt +->} a(i), +\allowbreak{} x = a, \allowbreak{} m..\optinner{n, k}\opRightPren{}} +creates the series \smath{\sum\nolimits_{i = m..n {\ \tt by \ } k}{a(i) (x - a)^i}}. Here \smath{m}, \smath{n}, and \smath{k} are rational numbers. -Upper-limit \smath{n} and stepsize \smath{k} are optional and have default values +Upper-limit \smath{n} and stepsize \smath{k} are optional and +have default values \smath{n = \infty} and \smath{k = 1}. \newitem -\smath{\mbox{\bf series}\opLeftPren{}a(i), \allowbreak{} i, \allowbreak{} x=a, \allowbreak{} m..\optinner{n, k}\opRightPren{}} returns +\smath{\mbox{\bf series}\opLeftPren{}a(i), \allowbreak{} i, +\allowbreak{} x=a, \allowbreak{} m..\optinner{n, k}\opRightPren{}} returns \smath{\sum\nolimits_{i = m..n {\bf by} k}{a(n) (x - a)^n}}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{seriesSolve}}\opLeftPren{}{\it eq}, \allowbreak{}{\it y}, \allowbreak{}{\it x}, \allowbreak{}{\it c}\opRightPren{}% +\opdata{{\mbox{\axiomFun{seriesSolve}}\opLeftPren{}{\it eq}, +\allowbreak{}{\it y}, \allowbreak{}{\it x}, \allowbreak{} +{\it c}\opRightPren{}% }% }% -{1}{(Equation(Expression(R)))->List(Equation(Expression(R)))}{TransSolvePackage} +{1}{(Equation(Expression(R)))->List(Equation(Expression(R)))} +{TransSolvePackage} {\bigopkey{\smath{eq} denotes an equation to be solved; -alternatively, an expression \smath{u} may be given for \smath{eq} in which case the equation +alternatively, an expression \smath{u} may be given for \smath{eq} +in which case the equation \smath{eq} is defined as \smath{u=0}. -\largerbreak\smath{leq} denotes a list \smath{[ eq_1\ldots eq_n]} of equations; alternatively, +\largerbreak\smath{leq} denotes a list \smath{[ eq_1\ldots eq_n]} of +equations; alternatively, a list of expressions \smath{[ u_1\ldots u_n]} may be given of \smath{leq} in which case the equations \smath{eq_i} are defined by \smath{u_i=0}. } -\bigitem\smath{\mbox{\bf seriesSolve}\opLeftPren{}eq, \allowbreak{} y, \allowbreak{} x=a, \allowbreak{} \optinner{y(a)=}b\opRightPren{}} returns a Taylor series solution of +\bigitem\smath{\mbox{\bf seriesSolve}\opLeftPren{}eq, \allowbreak{} y, +\allowbreak{} x=a, \allowbreak{} \optinner{y(a)=}b\opRightPren{}} +returns a Taylor series solution of \smath{eq} around \smath{x=a} with initial condition \smath{y(a)=b}. Note: \smath{eq} must be of the form \smath{f(x, y)y'(x) + g(x, y) = h(x, y)}. -\bigitem\smath{\mbox{\bf seriesSolve}\opLeftPren{}eq, \allowbreak{} y, \allowbreak{} x=a, \allowbreak{} [ b_0, \ldots, b_{(n-1)}]\opRightPren{}} returns -a Taylor series solution of \smath{eq} around \smath{x=a} with initial conditions +\bigitem\smath{\mbox{\bf seriesSolve}\opLeftPren{}eq, +\allowbreak{} y, \allowbreak{} x=a, \allowbreak{} +[ b_0, \ldots, b_{(n-1)}]\opRightPren{}} returns +a Taylor series solution of \smath{eq} around +\smath{x=a} with initial conditions \smath{y(a)=b_0}, \smath{y'(a)=b_1}, $\ldots$ @@ -78988,11 +82725,13 @@ fourth argument \smath{[ y_1(a)=b_1, \ldots, y_n(a)=b_n]}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{setchildren!}}\opLeftPren{}{\it recursiveAggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{setchildren!}}\opLeftPren{} +{\it recursiveAggregate}\opRightPren{}% }% }% {2}{(\$, List(\$))->\$}{RecursiveAggregate} -{\smath{\mbox{\bf setchildren!}\opLeftPren{}u, \allowbreak{} v\opRightPren{}} replaces the current children of node +{\smath{\mbox{\bf setchildren!}\opLeftPren{}u, +\allowbreak{} v\opRightPren{}} replaces the current children of node \smath{u} with the members of \smath{v} in left-to-right order. } @@ -79001,61 +82740,81 @@ fourth argument \smath{[ y_1(a)=b_1, \ldots, y_n(a)=b_n]}. }% }% {3}{(\$, Integer, Col)->\$}{TwoDimensionalArrayCategory} -{\smath{\mbox{\bf setColumn!}\opLeftPren{}m, \allowbreak{} j, \allowbreak{} v\opRightPren{}} sets the \eth{\smath{j}} column of +{\smath{\mbox{\bf setColumn!}\opLeftPren{}m, \allowbreak{} j, +\allowbreak{} v\opRightPren{}} sets the \eth{\smath{j}} column of matrix or two-dimensional array \smath{m} to \smath{v}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{setDifference}}\opLeftPren{}{\it list}, \allowbreak{}{\it list}\opRightPren{}% +\opdata{{\mbox{\axiomFun{setDifference}}\opLeftPren{} +{\it list}, \allowbreak{}{\it list}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{List} -{\smath{\mbox{\bf setDifference}\opLeftPren{}l_1, \allowbreak{} l_2\opRightPren{}} returns a list of the elements of \smath{l_1} that are +{\smath{\mbox{\bf setDifference}\opLeftPren{}l_1, +\allowbreak{} l_2\opRightPren{}} returns a list of the +elements of \smath{l_1} that are not also in \smath{l_2}. The order of elements in the resulting list is unspecified. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{setelt}}\opLeftPren{}{\it structure}, \allowbreak{}{\it index}, \allowbreak{}{\it value}\allowbreak $\,[$ , \allowbreak{}{\it option}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{setelt}}\opLeftPren{} +{\it structure}, \allowbreak{}{\it index}, \allowbreak{} +{\it value}\allowbreak $\,[$ , \allowbreak{}{\it option}$]$\opRightPren{}% }% }% {3}{(\$, Dom, Im)->Im}{EltableAggregate} -{\smath{\mbox{\bf setelt}\opLeftPren{}u, \allowbreak{} x, \allowbreak{} y\opRightPren{}}, also written \smath{u.x := y}, +{\smath{\mbox{\bf setelt}\opLeftPren{}u, +\allowbreak{} x, \allowbreak{} y\opRightPren{}}, also written \smath{u.x := y}, sets the image of \smath{x} to be \smath{y} under \smath{u}, regarded as a function mapping values from the domain of \smath{x} to the domain of \smath{y}. Specifically, if \smath{u} is: \begin{simpleList} \item a list: \smath{u.first := x} is equivalent to -\smath{\mbox{\bf setfirst!}\opLeftPren{}u, \allowbreak{} x\opRightPren{}}. +\smath{\mbox{\bf setfirst!}\opLeftPren{}u, +\allowbreak{} x\opRightPren{}}. Also, -\smath{u.rest := x} is equivalent to \smath{\mbox{\bf setrest!}\opLeftPren{}u, \allowbreak{} x\opRightPren{}}, and -\smath{u.last := x} is equivalent to \smath{\mbox{\bf setlast!}\opLeftPren{}u, \allowbreak{} x\opRightPren{}}. +\smath{u.rest := x} is equivalent to +\smath{\mbox{\bf setrest!}\opLeftPren{}u, \allowbreak{} x\opRightPren{}}, and +\smath{u.last := x} is equivalent to +\smath{\mbox{\bf setlast!}\opLeftPren{}u, \allowbreak{} x\opRightPren{}}. \item a linear aggregate, \smath{u(i..j) := x} destructively replaces each element in the segment \smath{u(i..j)} by \smath{x}. The value \smath{x} is returned. -Note: This function has the same effect as \code{for k in i..j repeat u.k := x; x}. +Note: This function has the same effect as +\code{for k in i..j repeat u.k := x; x}. The length of \smath{u} is unchanged. \item a recursive aggregate, -\smath{u.value := x} is equivalent to \smath{\mbox{\bf setvalue!}\opLeftPren{}u, \allowbreak{} x\opRightPren{}} and sets the value part of node \spad{u} to \spad{x}. +\smath{u.value := x} is equivalent to +\smath{\mbox{\bf setvalue!}\opLeftPren{}u, \allowbreak{} x\opRightPren{}} and +sets the value part of node \spad{u} to \spad{x}. Also, if \spad{u} is a \spadtype{BinaryTreeAggregate}, -\smath{u.left := x} is equivalent to \smath{\mbox{\bf setleft!}\opLeftPren{}u, \allowbreak{} x\opRightPren{}} and sets the left child +\smath{u.left := x} is equivalent to +\smath{\mbox{\bf setleft!}\opLeftPren{}u, \allowbreak{} x\opRightPren{}} +and sets the left child of \spad{u} to \spad{x}. Simiarly, -\smath{u.right := x} is equivalent to \smath{\mbox{\bf setright!}\opLeftPren{}u, \allowbreak{} x\opRightPren{}}. +\smath{u.right := x} is equivalent to +\smath{\mbox{\bf setright!}\opLeftPren{}u, \allowbreak{} x\opRightPren{}}. See also \spadfun{setchildren!}. \item a table of category TableAggregate(Key, Entry): -u(k) := e is equivalent to \smath{({\bf insert}([k, e], t); e)}, where \smath{k} is +u(k) := e is equivalent to \smath{({\bf insert}([k, e], t); e)}, +where \smath{k} is a key and \smath{e} is an entry. \item a library: \smath{u.k := v} saves the value \smath{v} in the library \smath{u}, so that it can later be extracted by \smath{u.k}. \end{simpleList} -\smath{\mbox{\bf setelt}\opLeftPren{}u, \allowbreak{} i, \allowbreak{} j, \allowbreak{} r\opRightPren{}}, also written, \smath{u(i, j) := r}, sets +\smath{\mbox{\bf setelt}\opLeftPren{}u, +\allowbreak{} i, \allowbreak{} j, +\allowbreak{} r\opRightPren{}}, also written, \smath{u(i, j) := r}, sets the element in the \eth{\smath{i}} row and \eth{\smath{j}} column of matrix or two-dimensional array \smath{u} to \smath{r}. \newitem -\smath{\mbox{\bf setelt}\opLeftPren{}u, \allowbreak{} rowList, \allowbreak{} colList, \allowbreak{} r\opRightPren{}}, +\smath{\mbox{\bf setelt}\opLeftPren{}u, +\allowbreak{} rowList, \allowbreak{} colList, \allowbreak{} r\opRightPren{}}, also written \smath{u([i_1, i_2, \ldots, i_m], [j_1, j_2, \ldots, j_n]) := r}, where \smath{u} is a matrix or two-dimensional array and \smath{r} is another \smath{m} by \smath{n} matrix or array, @@ -79064,64 +82823,84 @@ the \smath{x_{i_k, j_l}} is set to \smath{r(k, l)}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{setEpilogue!}}\opLeftPren{}{\it formattedObject}, \allowbreak{}{\it listOfStrings}\opRightPren{}% +\opdata{{\mbox{\axiomFun{setEpilogue!}}\opLeftPren{} +{\it formattedObject}, \allowbreak{}{\it listOfStrings}\opRightPren{}% }% }% {2}{(\$, List(String))->List(String)}{ScriptFormulaFormat} -{\smath{\mbox{\bf setEpilogue!}\opLeftPren{}t, \allowbreak{} strings\opRightPren{}} sets the epilogue section of a +{\smath{\mbox{\bf setEpilogue!}\opLeftPren{}t, +\allowbreak{} strings\opRightPren{}} sets the epilogue section of a formatted object \smath{t} to \smath{strings}. -Argument \smath{t} is either an IBM SCRIPT Formula Formatted or \TeX{} formatted object. +Argument \smath{t} is either an IBM SCRIPT Formula +Formatted or \TeX{} formatted object. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{setfirst!}}\opLeftPren{}{\it aggregate}, \allowbreak{}{\it value}\opRightPren{}% +\opdata{{\mbox{\axiomFun{setfirst!}}\opLeftPren{} +{\it aggregate}, \allowbreak{}{\it value}\opRightPren{}% }% }% {2}{(\$, S)->S}{UnaryRecursiveAggregate} -{\smath{\mbox{\bf setfirst!}\opLeftPren{}a, \allowbreak{} x\opRightPren{}} destructively changes the first element of recursive +{\smath{\mbox{\bf setfirst!}\opLeftPren{}a, +\allowbreak{} x\opRightPren{}} destructively +changes the first element of recursive aggregate \smath{a} to \smath{x}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{setFormula!}}\opLeftPren{}{\it formattedObject}, \allowbreak{}{\it listOfStrings}\opRightPren{}% +\opdata{{\mbox{\axiomFun{setFormula!}}\opLeftPren{} +{\it formattedObject}, \allowbreak{}{\it listOfStrings}\opRightPren{}% }% }% -{2}{(\$, List(String))->List(String)}{ScriptFormulaFormat} {\smath{\mbox{\bf setFormula!}\opLeftPren{}t, \allowbreak{} strings\opRightPren{}} sets the formula section of a formatted object \smath{t} to \smath{strings}.} +{2}{(\$, List(String))->List(String)}{ScriptFormulaFormat} +{\smath{\mbox{\bf setFormula!}\opLeftPren{}t, +\allowbreak{} strings\opRightPren{}} sets the formula section of a formatted +object \smath{t} to \smath{strings}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{setIntersection}}\opLeftPren{}{\it list}, \allowbreak{}{\it list}\opRightPren{}% +\opdata{{\mbox{\axiomFun{setIntersection}}\opLeftPren{} +{\it list}, \allowbreak{}{\it list}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{List} -{\smath{\mbox{\bf setIntersection}\opLeftPren{}l_1, \allowbreak{} l_2\opRightPren{}} returns a list of the elements that lists \smath{l_1} -and \smath{l_2} have in common. The order of elements in the resulting list is unspecified. +{\smath{\mbox{\bf setIntersection}\opLeftPren{}l_1, +\allowbreak{} l_2\opRightPren{}} returns a list of the +elements that lists \smath{l_1} +and \smath{l_2} have in common. The order of elements +in the resulting list is unspecified. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{setlast!}}\opLeftPren{}{\it aggregate}, \allowbreak{}{\it value}\opRightPren{}% +\opdata{{\mbox{\axiomFun{setlast!}}\opLeftPren{} +{\it aggregate}, \allowbreak{}{\it value}\opRightPren{}% }% }% {2}{(\$, S)->S}{UnaryRecursiveAggregate} -{\smath{\mbox{\bf setlast!}\opLeftPren{}u, \allowbreak{} x\opRightPren{}} destructively changes the last element of +{\smath{\mbox{\bf setlast!}\opLeftPren{}u, +\allowbreak{} x\opRightPren{}} destructively changes the last element of \smath{u} to \smath{x}. Note: \smath{u.last := x} is equivalent. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{setleaves!}}\opLeftPren{}{\it balancedBinaryTree}, \allowbreak{}{\it listOfElements}\opRightPren{}% +\opdata{{\mbox{\axiomFun{setleaves!}}\opLeftPren{} +{\it balancedBinaryTree}, \allowbreak{}{\it listOfElements}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{BinaryRecursiveAggregate} -{\smath{\mbox{\bf setleaves!}\opLeftPren{}t, \allowbreak{} ls\opRightPren{}} sets the leaves of balanced binary tree +{\smath{\mbox{\bf setleaves!}\opLeftPren{}t, +\allowbreak{} ls\opRightPren{}} sets the leaves of balanced binary tree \smath{t} in left-to-right order to the elements of \smath{ls}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{setleft!}}\opLeftPren{}{\it binaryRecursiveAggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{setleft!}}\opLeftPren{} +{\it binaryRecursiveAggregate}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{BinaryRecursiveAggregate} -{\smath{\mbox{\bf setleft!}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} sets the left child of \smath{a} to be +{\smath{\mbox{\bf setleft!}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}} sets the left child of \smath{a} to be \smath{b}. } @@ -79129,124 +82908,163 @@ Note: \smath{u.last := x} is equivalent. % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{setPrologue!}}\opLeftPren{}{\it formattedObject}, \allowbreak{}{\it listOfStrings}\opRightPren{}% +\opdata{{\mbox{\axiomFun{setPrologue!}}\opLeftPren{} +{\it formattedObject}, \allowbreak{}{\it listOfStrings}\opRightPren{}% }% }% {2}{(\$, List(String))->List(String)}{ScriptFormulaFormat} -{\smath{\mbox{\bf setPrologue!}\opLeftPren{}t, \allowbreak{} strings\opRightPren{}} sets the prologue section of a formatted object \smath{t} to \smath{strings}. -Argument \smath{t} is either an IBM SCRIPT Formula Formatted or \TeX{} formatted object. +{\smath{\mbox{\bf setPrologue!}\opLeftPren{}t, +\allowbreak{} strings\opRightPren{}} sets the prologue +section of a formatted object \smath{t} +to \smath{strings}. +Argument \smath{t} is either an IBM SCRIPT Formula Formatted or +\TeX{} formatted object. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{setProperties!}}\opLeftPren{}{\it basicOperator}, \allowbreak{}{\it associationList}\opRightPren{}% +\opdata{{\mbox{\axiomFun{setProperties!}}\opLeftPren{} +{\it basicOperator}, \allowbreak{}{\it associationList}\opRightPren{}% }% }% {2}{(\$, AssociationList(String, None))->\$}{BasicOperator} -{\smath{\mbox{\bf setProperties!}\opLeftPren{}op, \allowbreak{} al\opRightPren{}} sets the property list of basic operator \smath{op} to +{\smath{\mbox{\bf setProperties!}\opLeftPren{}op, +\allowbreak{} al\opRightPren{}} sets the property +list of basic operator \smath{op} to association list \smath{l}. Note: argument \smath{op} is modified ``in place'', that is, no copy is made. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{setProperty!}}\opLeftPren{}{\it basicOperator}, \allowbreak{}{\it string}, \allowbreak{}{\it value}\opRightPren{}% +\opdata{{\mbox{\axiomFun{setProperty!}}\opLeftPren{}{\it basicOperator}, +\allowbreak{}{\it string}, \allowbreak{}{\it value}\opRightPren{}% }% }% {3}{(\$, String, None)->\$}{BasicOperator} -{\smath{\mbox{\bf setProperty!}\opLeftPren{}op, \allowbreak{} s, \allowbreak{} v\opRightPren{}} attaches property \smath{s} to +{\smath{\mbox{\bf setProperty!}\opLeftPren{}op, +\allowbreak{} s, \allowbreak{} v\opRightPren{}} attaches property \smath{s} to \smath{op}, and sets its value to \smath{v}. Argument \smath{op} is modified ``in place'', that is, no copy is made. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{setrest!}}\opLeftPren{}{\it aggregate\optinit{, integer}, aggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{setrest!}}\opLeftPren{} +{\it aggregate\optinit{, integer}, aggregate}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{UnaryRecursiveAggregate} -{\opkey{Arguments \smath{u} and \smath{v} are finite or infinite aggregates of the same type.} +{\opkey{Arguments \smath{u} and \smath{v} +are finite or infinite aggregates of the same type.} \newitem -\smath{\mbox{\bf setrest!}\opLeftPren{}u, \allowbreak{} v\opRightPren{}} destructively changes the rest of \smath{u} to \smath{v}. +\smath{\mbox{\bf setrest!}\opLeftPren{}u, +\allowbreak{} v\opRightPren{}} destructively +changes the rest of \smath{u} to \smath{v}. \newitem -\smath{\mbox{\bf setrest!}\opLeftPren{}x, \allowbreak{} n, \allowbreak{} y\opRightPren{}} destructively changes \smath{x} -so that \smath{\mbox{\bf rest}\opLeftPren{}x, \allowbreak{} n\opRightPren{}}, that is, \smath{x} after the \eth{\smath{n}} element, equals \smath{y}. +\smath{\mbox{\bf setrest!}\opLeftPren{}x, \allowbreak{} n, +\allowbreak{} y\opRightPren{}} destructively changes \smath{x} +so that \smath{\mbox{\bf rest}\opLeftPren{}x, +\allowbreak{} n\opRightPren{}}, that is, \smath{x} +after the \eth{\smath{n}} element, equals \smath{y}. The function will expand cycles if necessary. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{setright!}}\opLeftPren{}{\it binaryRecursiveAggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{setright!}}\opLeftPren{} +{\it binaryRecursiveAggregate}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{BinaryRecursiveAggregate} -{\smath{\mbox{\bf setright!}\opLeftPren{}a, \allowbreak{} x\opRightPren{}} sets the right child of \smath{t} to be +{\smath{\mbox{\bf setright!}\opLeftPren{}a, +\allowbreak{} x\opRightPren{}} sets the right child of \smath{t} to be \smath{x}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{setRow!}}\opLeftPren{}{\it matrix}, \allowbreak{}{\it integer}, \allowbreak{}{\it row}\opRightPren{}% +\opdata{{\mbox{\axiomFun{setRow!}}\opLeftPren{} +{\it matrix}, \allowbreak{}{\it integer}, \allowbreak{} +{\it row}\opRightPren{}% }% }% {3}{(\$, Integer, Row)->\$}{TwoDimensionalArrayCategory} -{\smath{\mbox{\bf setRow!}\opLeftPren{}m, \allowbreak{} i, \allowbreak{} v\opRightPren{}} sets the \eth{\smath{i}} row of matrix or +{\smath{\mbox{\bf setRow!}\opLeftPren{}m, \allowbreak{} i, +\allowbreak{} v\opRightPren{}} sets the \eth{\smath{i}} row of matrix or two-dimensional array \smath{m} to \smath{v}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{setsubMatrix!}}\opLeftPren{}{\it matrix}, \allowbreak{}{\it integer}, \allowbreak{}{\it integer}, \allowbreak{}{\it matrix}\opRightPren{}% +\opdata{{\mbox{\axiomFun{setsubMatrix!}}\opLeftPren{}{\it matrix}, +\allowbreak{}{\it integer}, \allowbreak{}{\it integer}, \allowbreak{} +{\it matrix}\opRightPren{}% }% }% {4}{(\$, Integer, Integer, \$)->\$}{MatrixCategory} -{\smath{\mbox{\bf setsubMatrix}\opLeftPren{}x, \allowbreak{} i_1, \allowbreak{} j_1, \allowbreak{} y\opRightPren{}} destructively alters the matrix \smath{x}. +{\smath{\mbox{\bf setsubMatrix}\opLeftPren{}x, \allowbreak{} i_1, +\allowbreak{} j_1, \allowbreak{} y\opRightPren{}} destructively +alters the matrix \smath{x}. Here \smath{x(i, j)} is set to \smath{y(i-i_1+1, j-j_1+1)} for \smath{i = i_1, \ldots, i_1-1+{\bf nrows}(y)} and \smath{j = j_1, \ldots, j_1-1+{\bf ncols}(y)}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{setTex!}}\opLeftPren{}{\it text}, \allowbreak{}{\it listOfStrings}\opRightPren{}% +\opdata{{\mbox{\axiomFun{setTex!}}\opLeftPren{} +{\it text}, \allowbreak{}{\it listOfStrings}\opRightPren{}% }% }% {2}{(\$, List(String))->List(String)}{TexFormat} -{\smath{\mbox{\bf setTex!}\opLeftPren{}t, \allowbreak{} strings\opRightPren{}} sets the TeX section of a TeX form +{\smath{\mbox{\bf setTex!}\opLeftPren{}t, +\allowbreak{} strings\opRightPren{}} sets the TeX section of a TeX form \smath{t} to \smath{strings}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{setUnion}}\opLeftPren{}{\it list}, \allowbreak{}{\it list}\opRightPren{}% +\opdata{{\mbox{\axiomFun{setUnion}}\opLeftPren{} +{\it list}, \allowbreak{}{\it list}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{List} -{\smath{\mbox{\bf setUnion}\opLeftPren{}l_1, \allowbreak{} l_2\opRightPren{}} appends the two lists \smath{l_1} and +{\smath{\mbox{\bf setUnion}\opLeftPren{}l_1, +\allowbreak{} l_2\opRightPren{}} appends the two lists \smath{l_1} and \smath{l_2}, then removes all duplicates. The order of elements in the resulting list is unspecified. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{setvalue!}}\opLeftPren{}{\it aggregate}, \allowbreak{}{\it value}\opRightPren{}% +\opdata{{\mbox{\axiomFun{setvalue!}}\opLeftPren{}{\it aggregate}, +\allowbreak{}{\it value}\opRightPren{}% }% }% {2}{(\$, S)->S}{RecursiveAggregate} -{\smath{\mbox{\bf setvalue!}\opLeftPren{}u, \allowbreak{} x\opRightPren{}} destructively changes the value of node \smath{u} to \smath{x}. +{\smath{\mbox{\bf setvalue!}\opLeftPren{}u, +\allowbreak{} x\opRightPren{}} destructively changes the value of +node \smath{u} to \smath{x}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{setVariableOrder}}\opLeftPren{}{\it listOfSymbols\opt{, listOfSymbols}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{setVariableOrder}}\opLeftPren{} +{\it listOfSymbols\opt{, listOfSymbols}}\opRightPren{}% }% }% {1}{(List(Symbol))->Void}{UserDefinedVariableOrdering} -{\smath{\mbox{\bf setVariableOrder}\opLeftPren{}[a_1, \allowbreak{} \ldots, a_m], [b_1, \ldots, b_n]\opRightPren{}} defines an ordering +{\smath{\mbox{\bf setVariableOrder}\opLeftPren{} +[a_1, \allowbreak{} \ldots, a_m], [b_1, \ldots, b_n]\opRightPren{}} +defines an ordering on the variables given by \smath{a_1 > a_2 > \ldots > a_m >} other variables \smath{b_1 > b_2 > \ldots > b_n}. \newitem -\smath{\mbox{\bf setVariableOrder}\opLeftPren{}[a1, \allowbreak{} \ldots, an]\opRightPren{}} defines an ordering given by +\smath{\mbox{\bf setVariableOrder}\opLeftPren{} +[a1, \allowbreak{} \ldots, an]\opRightPren{}} defines an ordering given by \smath{a_1 > a_2 > \ldots > a_n >} all other variables. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{sFunction}}\opLeftPren{}{\it listOfIntegers}\opRightPren{}% +\opdata{{\mbox{\axiomFun{sFunction}}\opLeftPren{} +{\it listOfIntegers}\opRightPren{}% }% }% {L I -> SPOL RN}{}{} -{\smath{\mbox{\bf sFunction}\opLeftPren{}li\opRightPren{}} is the S-function of the partition given by list of +{\smath{\mbox{\bf sFunction}\opLeftPren{}li\opRightPren{}} +is the S-function of the partition given by list of linteger \smath{li}, expressed in terms of power sum symmetric functions. See \spadtype{CycleIndicators} for details. @@ -79257,15 +83075,18 @@ See \spadtype{CycleIndicators} for details. }% }% {1}{(\$)->Integer}{Palette} -{\smath{\mbox{\bf shade}\opLeftPren{}p\opRightPren{}} returns the shade index of the indicated palette \smath{p}. +{\smath{\mbox{\bf shade}\opLeftPren{}p\opRightPren{}} +returns the shade index of the indicated palette \smath{p}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{shellSort}}\opLeftPren{}{\it sortingFunction}, \allowbreak{}{\it aggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{shellSort}}\opLeftPren{}{\it sortingFunction}, +\allowbreak{}{\it aggregate}\opRightPren{}% }% }% {2}{((S, S)->Boolean, V)->V}{FiniteLinearAggregateSort} -{\smath{\mbox{\bf shellSort}\opLeftPren{}f, \allowbreak{} a\opRightPren{}} sorts the aggregate \smath{a} +{\smath{\mbox{\bf shellSort}\opLeftPren{}f, \allowbreak{} a\opRightPren{}} +sorts the aggregate \smath{a} using the shellSort algorithm with sorting function \smath{f}. Aggregate \smath{a} can be any finite linear aggregate which is mutable (for example, @@ -79275,11 +83096,13 @@ The sorting function \smath{f} has type \spadsig{(R, R)}{Boolean} where } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{shift}}\opLeftPren{}{\it integerNumber}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{shift}}\opLeftPren{}{\it integerNumber}, +\allowbreak{}{\it integer}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{IntegerNumberSystem} -{\smath{\mbox{\bf shift}\opLeftPren{}a, \allowbreak{} i\opRightPren{}} shifts integer number or float \smath{a} by \smath{i} digits. +{\smath{\mbox{\bf shift}\opLeftPren{}a, \allowbreak{} i\opRightPren{}} +shifts integer number or float \smath{a} by \smath{i} digits. } @@ -79288,29 +83111,36 @@ The sorting function \smath{f} has type \spadsig{(R, R)}{Boolean} where }% }% {0}{()->Boolean}{Stream} -{\smath{\mbox{\bf showAll?}\opLeftPren{}\opRightPren{}} tests if all computed entries of streams will be displayed +{\smath{\mbox{\bf showAll?}\opLeftPren{}\opRightPren{}} +tests if all computed entries of streams will be displayed according to system command \spadsyscom{)set streams showall}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{showAllElements}}\opLeftPren{}{\it stream}\opRightPren{}% +\opdata{{\mbox{\axiomFun{showAllElements}}\opLeftPren{} +{\it stream}\opRightPren{}% }% }% {1}{(\$)->OutputForm}{Stream} -{\smath{\mbox{\bf showAllElements}\opLeftPren{}s\opRightPren{}} creates an output form displaying all the already +{\smath{\mbox{\bf showAllElements}\opLeftPren{}s\opRightPren{}} +creates an output form displaying all the already computed elements of stream \smath{s}. This command will not result in any further computation of elements of \smath{s}. Also, the command has no effect if the user has previously entered \spadsyscom{)set streams showall true}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{showTypeInOutput}}\opLeftPren{}{\it boolean}\opRightPren{}% +\opdata{{\mbox{\axiomFun{showTypeInOutput}}\opLeftPren{} +{\it boolean}\opRightPren{}% }% }% {1}{(Boolean)->String}{Any} -{\smath{\mbox{\bf showTypeInOutput}\opLeftPren{}bool\opRightPren{}} affects the way objects of \spadtype{Any} -are displayed. If \smath{bool} is \smath{true}, the type of the original object -that was converted to \spadtype{Any} will be printed. If \smath{bool} is \smath{false}, +{\smath{\mbox{\bf showTypeInOutput}\opLeftPren{}bool\opRightPren{}} +affects the way objects of \spadtype{Any} +are displayed. If \smath{bool} is \smath{true}, the type of the original +object +that was converted to \spadtype{Any} will be printed. +If \smath{bool} is \smath{false}, it will not be printed. } @@ -79319,44 +83149,63 @@ it will not be printed. }% }% {1}{(Boolean)->String}{Any} -{\smath{\mbox{\bf shrinkable}\opLeftPren{}b\opRightPren{}\$R} tells \Language{} that flexible arrays of domain \smath{R} +{\smath{\mbox{\bf shrinkable}\opLeftPren{}b\opRightPren{}\$R} +tells Axiom that flexible arrays of domain \smath{R} are or are not allowed to shrink (reduce their \spadfun{physicalLength}) according to whether \smath{b} is \smath{true} or \smath{false}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{shufflein}}\opLeftPren{}{\it listOfIntegers}, \allowbreak{}{\it streamOfListsOfIntegers}\opRightPren{}% +\opdata{{\mbox{\axiomFun{shufflein}}\opLeftPren{} +{\it listOfIntegers}, \allowbreak{}{\it streamOfListsOfIntegers} +\opRightPren{}% }% }% -{2}{(List(Integer), Stream(List(Integer)))->Stream(List(Integer))}{PartitionsAndPermutations} -{\smath{\mbox{\bf shufflein}\opLeftPren{}li, \allowbreak{} sli\opRightPren{}} maps \smath{\mbox{\bf shuffle}\opLeftPren{}li, \allowbreak{} u\opRightPren{}} onto all members \smath{u} +{2}{(List(Integer), Stream(List(Integer)))->Stream(List(Integer))} +{PartitionsAndPermutations} +{\smath{\mbox{\bf shufflein}\opLeftPren{}li, +\allowbreak{} sli\opRightPren{}} +maps \smath{\mbox{\bf shuffle}\opLeftPren{}li, +\allowbreak{} u\opRightPren{}} onto all members \smath{u} of \smath{sli}, concatenating the results. See \spadtype{PartitionsAndPermutations}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{shuffle}}\opLeftPren{}{\it listOfIntegers}, \allowbreak{}{\it listOfIntegers}\opRightPren{}% +\opdata{{\mbox{\axiomFun{shuffle}}\opLeftPren{} +{\it listOfIntegers}, \allowbreak{}{\it listOfIntegers}\opRightPren{}% }% }% -{2}{(List(Integer), List(Integer))->Stream(List(Integer))}{PartitionsAndPermutations} -{\smath{\mbox{\bf shuffle}\opLeftPren{}l1, \allowbreak{} l2\opRightPren{}} forms the stream -of all shuffles of \smath{l1} and \smath{l2}, that is, all sequences that can +{2}{(List(Integer), List(Integer))->Stream(List(Integer))} +{PartitionsAndPermutations} +{\smath{\mbox{\bf shuffle}\opLeftPren{}l1, +\allowbreak{} l2\opRightPren{}} forms the stream +of all shuffles of \smath{l1} and \smath{l2}, that is, +all sequences that can be formed from merging \smath{l1} and \smath{l2}. See \spadtype{PartitionsAndPermutations}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{sign}}\opLeftPren{}{\it various\opt{, \ldots}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{sign}}\opLeftPren{} +{\it various\opt{, \ldots}}\opRightPren{}% }% }% -{4}{(Fraction(Polynomial(R)), Symbol, Fraction(Polynomial(R)), String)->Union(Integer, "failed")}{RationalFunctionSign} -{\smath{\mbox{\bf sign}\opLeftPren{}x\opRightPren{}}, where \smath{x} is an element of an ordered ring, -returns 1 if \smath{x} is positive, \smath{-1} if \smath{x} is negative, 0 if \smath{x} equals 0. +{4}{(Fraction(Polynomial(R)), Symbol, +Fraction(Polynomial(R)), String)->Union(Integer, "failed")} +{RationalFunctionSign} +{\smath{\mbox{\bf sign}\opLeftPren{}x\opRightPren{}}, +where \smath{x} is an element of an ordered ring, +returns 1 if \smath{x} is positive, \smath{-1} +if \smath{x} is negative, 0 if \smath{x} equals 0. \newitem -\smath{\mbox{\bf sign}\opLeftPren{}p\opRightPren{}}, where \smath{p} is a permutation, returns +\smath{\mbox{\bf sign}\opLeftPren{}p\opRightPren{}}, +where \smath{p} is a permutation, returns \smath{1}, if \smath{p} is an even permutation, or \smath{-1}, if it is odd. \newitem -\smath{\mbox{\bf sign}\opLeftPren{}f, \allowbreak{} x, \allowbreak{} a, \allowbreak{} s\opRightPren{}} returns the sign of rational function \smath{f} as +\smath{\mbox{\bf sign}\opLeftPren{}f, \allowbreak{} x, +\allowbreak{} a, \allowbreak{} s\opRightPren{}} returns +the sign of rational function \smath{f} as symbol \smath{x} nears \smath{a}, a real value represented by either a rational function or one of the values {\tt \%plusInfinity} @@ -79370,36 +83219,48 @@ If \smath{s} is: } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{simplify}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{simplify}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(F)->F}{TranscendentalManipulations} -{\smath{\mbox{\bf simplify}\opLeftPren{}f\opRightPren{}} performs the following simplifications on \smath{f:} +{\smath{\mbox{\bf simplify}\opLeftPren{}f\opRightPren{}} +performs the following simplifications on \smath{f:} \begin{simpleList} \item rewrites trigs and hyperbolic trigs in terms of \smath{sin}, \smath{cos}, \smath{sinh}, \smath{cosh}. -\item rewrites \smath{sin^2} and \smath{sinh^2} in terms of \smath{cos} and \smath{cosh}. +\item rewrites \smath{sin^2} and \smath{sinh^2} in terms of +\smath{cos} and \smath{cosh}. \item rewrites \smath{e^a e^b} as \smath{e^{a+b}}. \end{simpleList} } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{simplifyExp}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{simplifyExp}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(F)->F}{TranscendentalManipulations} -{\smath{\mbox{\bf simplifyExp}\opLeftPren{}f\opRightPren{}} converts every product \smath{e^a +{\smath{\mbox{\bf simplifyExp}\opLeftPren{}f\opRightPren{}} +converts every product \smath{e^a e^b} appearing in \smath{f} into \smath{e^{a+b}}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{simpson}}\opLeftPren{}{\it floatFunction}, \allowbreak{}{\it fourFloats}, \allowbreak{}{\it threeIntegers}\opRightPren{}% -\optand \mbox{\axiomFun{simpsonClosed}}\opLeftPren{}{\it floatFunction}, \allowbreak{}{\it fourFloats}, \allowbreak{}{\it twoIntegers}\opRightPren{}% -\opand \mbox{\axiomFun{simpsonOpen}}\opLeftPren{}{\it floatFunction}, \allowbreak{}{\it fourFloats}, \allowbreak{}{\it twoIntegers}\opRightPren{}% +\opdata{{\mbox{\axiomFun{simpson}}\opLeftPren{}{\it floatFunction}, +\allowbreak{}{\it fourFloats}, \allowbreak{}{\it threeIntegers} +\opRightPren{}% +\optand \mbox{\axiomFun{simpsonClosed}}\opLeftPren{}{\it floatFunction}, +\allowbreak{}{\it fourFloats}, \allowbreak{}{\it twoIntegers}\opRightPren{}% +\opand \mbox{\axiomFun{simpsonOpen}}\opLeftPren{}{\it floatFunction}, +\allowbreak{}{\it fourFloats}, \allowbreak{}{\it twoIntegers}\opRightPren{}% }% }% {}{}{} -{\smath{\mbox{\bf simpson}\opLeftPren{}fn, \allowbreak{} a, \allowbreak{} b, \allowbreak{} epsrel, \allowbreak{} epsabs, \allowbreak{} nmin, \allowbreak{} nmax, \allowbreak{} nint\opRightPren{}} uses the +{\smath{\mbox{\bf simpson}\opLeftPren{}fn, \allowbreak{} a, +\allowbreak{} b, \allowbreak{} epsrel, \allowbreak{} epsabs, +\allowbreak{} nmin, +\allowbreak{} nmax, \allowbreak{} nint\opRightPren{}} uses the adaptive simpson method to numerically integrate function \smath{fn} over the closed interval from \smath{a} to \smath{b}, with relative accuracy \smath{epsrel} and absolute accuracy \smath{epsabs}; @@ -79422,12 +83283,16 @@ function evaluations, and {\tt success}, a boolean value which is \smath{true} if the integral was computed within the user specified error criterion. See \spadtype{NumericalQuadrature} for details. -\bigitem\smath{\mbox{\bf simpsonClosed}\opLeftPren{}fn, \allowbreak{} a, \allowbreak{} b, \allowbreak{} epsrel, \allowbreak{} epsabs, \allowbreak{} nmin, \allowbreak{} nmax\opRightPren{}} similarly uses +\bigitem\smath{\mbox{\bf simpsonClosed}\opLeftPren{}fn, +\allowbreak{} a, \allowbreak{} b, \allowbreak{} epsrel, \allowbreak{} epsabs, +\allowbreak{} nmin, \allowbreak{} nmax\opRightPren{}} similarly uses the Simpson method to numerically integrate function \smath{fn} \index{Simpson's method} over the closed interval \smath{a} to \smath{b}, but is not adaptive. -\bigitem\smath{\mbox{\bf simpsonOpen}\opLeftPren{}fn, \allowbreak{} a, \allowbreak{} b, \allowbreak{} epsrel, \allowbreak{} epsabs, \allowbreak{} nmin, \allowbreak{} nmax\opRightPren{}} is similar +\bigitem\smath{\mbox{\bf simpsonOpen}\opLeftPren{}fn, +\allowbreak{} a, \allowbreak{} b, \allowbreak{} epsrel, \allowbreak{} epsabs, +\allowbreak{} nmin, \allowbreak{} nmax\opRightPren{}} is similar to \spadfun{simpsonClosed}, except that it integrates function \smath{fn} over the open interval from \smath{a} to \smath{b}. @@ -79438,13 +83303,17 @@ the open interval from \smath{a} to \smath{b}. }% }% {1}{(K)->Union(K, "failed")}{PartialTranscendentalFunctions} -{\opkey{Argument x can be a \spadtype{Complex}, \spadtype{Float}, \spadtype{DoubleFloat}, or +{\opkey{Argument x can be a \spadtype{Complex}, \spadtype{Float}, +\spadtype{DoubleFloat}, or \spadtype{Expression} value or a series. } \newitem -\smath{\mbox{\bf sin}\opLeftPren{}x\opRightPren{}} returns the sine of \smath{x} if possible, and +\smath{\mbox{\bf sin}\opLeftPren{}x\opRightPren{}} returns +the sine of \smath{x} if possible, and calls \spadfun{error} otherwise. \newitem -\smath{\mbox{\bf sinIfCan}\opLeftPren{}x\opRightPren{}} returns \smath{\mbox{\bf sin}\opLeftPren{}x\opRightPren{}} if possible, and \mbox{\tt "failed"} otherwise. +\smath{\mbox{\bf sinIfCan}\opLeftPren{}x\opRightPren{}} +returns \smath{\mbox{\bf sin}\opLeftPren{}x\opRightPren{}} if possible, +and \mbox{\tt "failed"} otherwise. } % ---------------------------------------------------------------------- @@ -79452,45 +83321,60 @@ calls \spadfun{error} otherwise. }% }% {1}{(F)->F}{TranscendentalManipulations} -{\smath{\mbox{\bf sin2csc}\opLeftPren{}f\opRightPren{}} converts every \smath{\mbox{\bf sin}\opLeftPren{}u\opRightPren{}} appearing in \smath{f} into \smath{1/{\rm csc}(u)}. +{\smath{\mbox{\bf sin2csc}\opLeftPren{}f\opRightPren{}} +converts every \smath{\mbox{\bf sin}\opLeftPren{}u\opRightPren{}} +appearing in \smath{f} into \smath{1/{\rm csc}(u)}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{singular?}}\opLeftPren{}{\it polynomialOrFunctionField}\opRightPren{}% +\opdata{{\mbox{\axiomFun{singular?}}\opLeftPren{} +{\it polynomialOrFunctionField}\opRightPren{}% \opand \mbox{\axiomFun{singularAtInfinity?}}\opLeftPren{}\opRightPren{}% }% }% {1}{(F)->Boolean}{FunctionFieldCategory} -{\smath{\mbox{\bf singular?}\opLeftPren{}p\opRightPren{}} tests whether \smath{p(x) = 0} is singular. +{\smath{\mbox{\bf singular?}\opLeftPren{}p\opRightPren{}} +tests whether \smath{p(x) = 0} is singular. \newitem -\smath{\mbox{\bf singular?}\opLeftPren{}a\opRightPren{}\$F} tests if \smath{x = a} is a singularity of the -algebraic function field \smath{F} (a domain of \spadtype{FunctionFieldCategory}). +\smath{\mbox{\bf singular?}\opLeftPren{}a\opRightPren{}\$F} +tests if \smath{x = a} is a singularity of the +algebraic function field \smath{F} (a domain of +\spadtype{FunctionFieldCategory}). \newitem -\smath{\mbox{\bf singularAtInfinity?}\opLeftPren{}\opRightPren{}\$F} tests if the +\smath{\mbox{\bf singularAtInfinity?}\opLeftPren{}\opRightPren{}\$F} +tests if the algebraic function field \smath{F} has a singularity at infinity. } % ---------------------------------------------------------------------- \opdata{{\mbox{\axiomFun{sinh}}\opLeftPren{}{\it expression}\opRightPren{}% - \opand \mbox{\axiomFun{sinhIfCan}}\opLeftPren{}{\it expression}\opRightPren{}% + \opand \mbox{\axiomFun{sinhIfCan}}\opLeftPren{}{\it expression} +\opRightPren{}% }% }% {1}{(K)->Union(K, "failed")}{PartialTranscendentalFunctions} -{\opkey{Argument x can be a \spadtype{Complex}, \spadtype{Float}, \spadtype{DoubleFloat}, or +{\opkey{Argument x can be a \spadtype{Complex}, \spadtype{Float}, +\spadtype{DoubleFloat}, or \spadtype{Expression} value or a series. } \newitem -\smath{\mbox{\bf sinh}\opLeftPren{}x\opRightPren{}} returns the hyperbolic sine of \smath{x} if possible, +\smath{\mbox{\bf sinh}\opLeftPren{}x\opRightPren{}} returns the +hyperbolic sine of \smath{x} if possible, and calls \spadfun{error} otherwise. \newitem -\smath{\mbox{\bf sinhIfCan}\opLeftPren{}x\opRightPren{}} returns \smath{\mbox{\bf sinh}\opLeftPren{}x\opRightPren{}} if possible, and \mbox{\tt "failed"} otherwise. +\smath{\mbox{\bf sinhIfCan}\opLeftPren{}x\opRightPren{}} returns +\smath{\mbox{\bf sinh}\opLeftPren{}x\opRightPren{}} if possible, and +\mbox{\tt "failed"} otherwise. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{sinh2csch}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{sinh2csch}}\opLeftPren{}{\it expression} +\opRightPren{}% }% }% {1}{(F)->F}{TranscendentalManipulations} -{\smath{\mbox{\bf sinh2csch}\opLeftPren{}f\opRightPren{}} converts every \smath{\mbox{\bf sinh}\opLeftPren{}u\opRightPren{}} appearing in \smath{f} into \smath{1/{\rm csch}(u)}. +{\smath{\mbox{\bf sinh2csch}\opLeftPren{}f\opRightPren{}} converts +every \smath{\mbox{\bf sinh}\opLeftPren{}u\opRightPren{}} appearing in +\smath{f} into \smath{1/{\rm csch}(u)}. } % ---------------------------------------------------------------------- @@ -79498,26 +83382,32 @@ and calls \spadfun{error} otherwise. }% }% {0}{()->NonNegativeInteger}{Finite} -{\smath{\mbox{\bf size}\opLeftPren{}\opRightPren{}\$F} returns the number of elements in the domain of +{\smath{\mbox{\bf size}\opLeftPren{}\opRightPren{}\$F} returns the +number of elements in the domain of category \spadtype{Finite}. By definition, each such domain must have a finite number of elements. \seeAlso{\spadtype{FreeAbelianMonoidCategory}} } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{size?}}\opLeftPren{}{\it aggregate}, \allowbreak{}{\it nonNegativeInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{size?}}\opLeftPren{}{\it aggregate}, +\allowbreak{}{\it nonNegativeInteger}\opRightPren{}% }% }% {2}{(\$, NonNegativeInteger)->Boolean}{Aggregate} -{\smath{\mbox{\bf size?}\opLeftPren{}a, \allowbreak{} n\opRightPren{}} tests if aggregate \smath{a} has exactly \smath{n} elements. +{\smath{\mbox{\bf size?}\opLeftPren{}a, \allowbreak{} n\opRightPren{}} +tests if aggregate \smath{a} has exactly \smath{n} elements. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{sizeLess?}}\opLeftPren{}{\it element}, \allowbreak{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{sizeLess?}}\opLeftPren{}{\it element}, +\allowbreak{}{\it element}\opRightPren{}% }% }% {2}{(\$, \$)->Boolean}{EuclideanDomain} -{\smath{\mbox{\bf sizeLess?}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} tests whether \smath{x} is strictly smaller than \smath{y} with respect to the \spadfunFrom{euclideanSize}{EuclideanDomain}. +{\smath{\mbox{\bf sizeLess?}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} +tests whether \smath{x} is strictly smaller than \smath{y} with respect +to the \spadfunFrom{euclideanSize}{EuclideanDomain}. } % ---------------------------------------------------------------------- @@ -79525,95 +83415,115 @@ a finite number of elements. }% }% {0}{()->NonNegativeInteger}{FiniteFieldNormalBasis} -{\smath{\mbox{\bf sizeMultiplication}\opLeftPren{}\opRightPren{}\$F} returns the number of entries in the +{\smath{\mbox{\bf sizeMultiplication}\opLeftPren{}\opRightPren{}\$F} +returns the number of entries in the multiplication table of the field. Note: The time of multiplication of field elements depends on this size. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{skewSFunction}}\opLeftPren{}{\it listOfIntegers}, \allowbreak{}{\it listOfIntegers}\opRightPren{}% +\opdata{{\mbox{\axiomFun{skewSFunction}}\opLeftPren{}{\it listOfIntegers}, +\allowbreak{}{\it listOfIntegers}\opRightPren{}% }% }% {(L I, L I) -> SPOL RN}{}{} -{\smath{\mbox{\bf skewSFunction}\opLeftPren{}li_1, \allowbreak{} li_2\opRightPren{}} is the S-function +{\smath{\mbox{\bf skewSFunction}\opLeftPren{}li_1, \allowbreak{} li_2 +\opRightPren{}} is the S-function of the partition difference \smath{li_1 - li_2}, expressed in terms of power sum symmetric functions. See \spadtype{CycleIndicators} for details. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{solve}}\opLeftPren{}{\it u}, \allowbreak{}{\it v}\allowbreak $\,[$ , \allowbreak{}{\it w}$]$\opRightPren{}% +\opdata{{\mbox{\axiomFun{solve}}\opLeftPren{}{\it u}, \allowbreak{} +{\it v}\allowbreak $\,[$ , \allowbreak{}{\it w}$]$\opRightPren{}% }% }% -{1}{(Equation(Expression(R)))->List(Equation(Expression(R)))}{TransSolvePackage} +{1}{(Equation(Expression(R)))->List(Equation(Expression(R)))} +{TransSolvePackage} {\bigopkey{\smath{eq} denotes an equation to be solved; alternatively, -an expression \smath{u} may be given for \smath{eq} in which case the equation -\smath{eq} is defined as \smath{u=0}. -\largerbreak\smath{leq} denotes a list \smath{[ eq_1\ldots eq_n]} of equations; alternatively, +an expression \smath{u} may be given for \smath{eq} in which case the +equation \smath{eq} is defined as \smath{u=0}. +\largerbreak\smath{leq} denotes a list \smath{[ eq_1\ldots eq_n]} of +equations; alternatively, a list of expressions \smath{[ u_1\ldots u_n]} may be given for \smath{leq} in which case the equations \smath{eq_i} are defined by \smath{u_i=0}. \largerbreak\smath{epsilon} is either a rational number or a float. } -\bigitem\smath{\mbox{\bf complexSolve}\opLeftPren{}eq, \allowbreak{} epsilon\opRightPren{}} finds all the real solutions +\bigitem\smath{\mbox{\bf complexSolve}\opLeftPren{}eq, \allowbreak{} +epsilon\opRightPren{}} finds all the real solutions to precision \smath{epsilon} of the univariate equation \smath{eq} of rational functions with respect to the unique variable appearing in \smath{eq}. The complex solutions are either expressed as rational numbers or floats depending on the type of \smath{epsilon}. -\bigitem\smath{\mbox{\bf complexSolve}\opLeftPren{}[ eq_1\ldots eq_n], epsilon\opRightPren{}} +\bigitem\smath{\mbox{\bf complexSolve}\opLeftPren{}[ eq_1\ldots eq_n], +epsilon\opRightPren{}} computes the real solutions to precision \smath{epsilon} of a system of equations \smath{eq_i} involving rational functions. The complex solutions are either expressed as rational numbers or floats depending on the type of \smath{epsilon}. -\bigitem\smath{\mbox{\bf radicalSolve}\opLeftPren{}eq\optinner{, x}\opRightPren{}} finds solutions expressed in terms of +\bigitem\smath{\mbox{\bf radicalSolve}\opLeftPren{}eq\optinner{, x} +\opRightPren{}} finds solutions expressed in terms of radicals of the equation \smath{eq} involving rational functions. Solutions will be found with respect to a \spadtype{Symbol} given as a second argument to the operation. This second argument may be omitted when \smath{eq} contains a unique symbol. -\bigitem\smath{\mbox{\bf radicalSolve}\opLeftPren{}leq{, lv}\opRightPren{}} finds solutions +\bigitem\smath{\mbox{\bf radicalSolve}\opLeftPren{}leq{, lv}\opRightPren{}} +finds solutions expressed in terms of radicals of the system of equations \smath{leq} involving rational functions. Solutions are found with respect to a list \smath{lv} of \spadtype{Symbol}s, or with respect to all variables appearing in the equations, if no second argument is given. -\bigitem\smath{\mbox{\bf solve}\opLeftPren{}eq\optinner{, x}\opRightPren{}} finds exact symbolic solutions to equation +\bigitem\smath{\mbox{\bf solve}\opLeftPren{}eq\optinner{, x}\opRightPren{}} +finds exact symbolic solutions to equation \smath{eq} involving either rational functions or expressions of type \spadtype{Expression(R)}. Solutions will be found with respect to a \spadtype{Symbol} given as a second argument to the operation. The second argument may be omitted when \smath{eq} contains a unique symbol. -\bigitem\smath{\mbox{\bf solve}\opLeftPren{}leq{, lv}\opRightPren{}} finds exact solutions -to a system of equations \smath{leq} involving rational functions or expressions +\bigitem\smath{\mbox{\bf solve}\opLeftPren{}leq{, lv}\opRightPren{}} +finds exact solutions +to a system of equations \smath{leq} involving rational functions +or expressions of type \smath{\mbox{\bf Expression}\opLeftPren{}R\opRightPren{}}. -Solutions are found with respect to a list of \smath{lv} of \spadtype{Symbol}s, +Solutions are found with respect to a list of \smath{lv} of +\spadtype{Symbol}s, or with respect to all variables appearing in the equations if no second argument is given. -\bigitem\smath{\mbox{\bf solve}\opLeftPren{}eq, \allowbreak{} epsilon\opRightPren{}} finds all the real solutions +\bigitem\smath{\mbox{\bf solve}\opLeftPren{}eq, \allowbreak{} +epsilon\opRightPren{}} finds all the real solutions to precision \smath{epsilon} of the univariate equation \smath{eq} of rational functions with respect to the unique variable appearing in \smath{eq}. The real solutions are either expressed as rational numbers or floats depending on the type of \smath{epsilon}. -\bigitem\smath{\mbox{\bf solve}\opLeftPren{}[ eq_1\ldots eq_n], epsilon\opRightPren{}} +\bigitem\smath{\mbox{\bf solve}\opLeftPren{}[ eq_1\ldots eq_n], +epsilon\opRightPren{}} computes the real solutions to precision \smath{epsilon} of a system of equations \smath{eq_i} involving rational functions. The real solutions are either expressed as rational numbers or floats depending on the type of \smath{epsilon}. -\bigitem\smath{\mbox{\bf solve}\opLeftPren{}M, \allowbreak{} v\opRightPren{}}, where \smath{M} is a matrix and +\bigitem\smath{\mbox{\bf solve}\opLeftPren{}M, +\allowbreak{} v\opRightPren{}}, where \smath{M} is a matrix and \smath{v} is a \spadtype{Vector} of coefficients, finds a particular -solution of the system \smath{Mx=v} and a basis of the associated homogeneous system +solution of the system \smath{Mx=v} and a basis of the associated +homogeneous system \smath{MX=0}. -\bigitem\smath{\mbox{\bf solve}\opLeftPren{}eq, \allowbreak{} y, \allowbreak{} x=a, \allowbreak{} [ y_0\ldots y_m]\opRightPren{}} returns either +\bigitem\smath{\mbox{\bf solve}\opLeftPren{}eq, \allowbreak{} y, +\allowbreak{} x=a, \allowbreak{} [ y_0\ldots y_m]\opRightPren{}} returns either the solution of the initial value problem \smath{eq}, \smath{y(a) = y_0}, \smath{y'(a)=a_1}, \smath{\ldots} or \mbox{\tt "failed"} if no solution can be found. Note: an error occurs if the equation \smath{eq} is not a linear ordinary equation or of the form \smath{dy/dx = f(x, y)}. -\bigitem\smath{\mbox{\bf solve}\opLeftPren{}eq, \allowbreak{} y, \allowbreak{} x\opRightPren{}} returns either a solution of the +\bigitem\smath{\mbox{\bf solve}\opLeftPren{}eq, \allowbreak{} y, +\allowbreak{} x\opRightPren{}} returns either a solution of the ordinary diffential equation \smath{eq} or \mbox{\tt "failed"} if no non-trivial solution can be found. If \smath{eq} is a linear ordinary differential equation, a solution is of the form @@ -79632,11 +83542,15 @@ always a full basis). } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{solveLinearlyOverQ}}\opLeftPren{}{\it vector}\opRightPren{}% +\opdata{{\mbox{\axiomFun{solveLinearlyOverQ}}\opLeftPren{} +{\it vector}\opRightPren{}% }% }% -{2}{(Vector(R), R)->Union(Vector(Fraction(Integer)), "failed")}{IntegerLinearDependence} -{\smath{\mbox{\bf solveLinearlyOverQ}\opLeftPren{}[v_1, \allowbreak{} \ldots, v_n], u\opRightPren{}} returns \smath{[c_1, \ldots, c_n]} such that +{2}{(Vector(R), R)->Union(Vector(Fraction(Integer)), "failed")} +{IntegerLinearDependence} +{\smath{\mbox{\bf solveLinearlyOverQ}\opLeftPren{}[v_1, +\allowbreak{} \ldots, v_n], u\opRightPren{}} +returns \smath{[c_1, \ldots, c_n]} such that \smath{c_1v_1 + \cdots + c_n v_n = u}, or \mbox{\tt "failed"} if no such rational numbers \smath{c_i} exist. The elements of the \smath{v_i} and \smath{u} can @@ -79647,38 +83561,52 @@ See \spadtype{LinearExplicitRingOver}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{solveLinearPolynomialEquation}}\opLeftPren{}{\it listOfPolys}, \allowbreak{}{\it poly}\opRightPren{}% +\opdata{{\mbox{\axiomFun{solveLinearPolynomialEquation}}\opLeftPren{} +{\it listOfPolys}, \allowbreak{}{\it poly}\opRightPren{}% }% }% -{2}{(List(SparseUnivariatePolynomial(\$)), SparseUnivariatePolynomial(\$))->Union(List(SparseUnivariatePolynomial(\$)), "failed")}{PolynomialFactorizationExplicit} -{\smath{\mbox{\bf solveLinearPolynomialEquation}\opLeftPren{}[f_1, \allowbreak{} \ldots, f_n], g\opRightPren{}}, -where \smath{g} is a polynomial and the \smath{f_i} are polynomials relatively prime to +{2}{(List(SparseUnivariatePolynomial(\$)), +SparseUnivariatePolynomial(\$))->Union(List(SparseUnivariatePolynomial(\$)), + "failed")} +{PolynomialFactorizationExplicit} +{\smath{\mbox{\bf solveLinearPolynomialEquation}\opLeftPren{} +[f_1, \allowbreak{} \ldots, f_n], g\opRightPren{}}, +where \smath{g} is a polynomial and the \smath{f_i} +are polynomials relatively prime to one another, -returns a list of polynomials \smath{a_i} such that \smath{g/{\prod_i{f_i}} = \sum_i{ai/fi}}, +returns a list of polynomials \smath{a_i} such that +\smath{g/{\prod_i{f_i}} = \sum_i{ai/fi}}, or \mbox{\tt "failed"} if no such list of \smath{a_i}'s exists. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{sort}}\opLeftPren{}{\it \optinit{predicate, }aggregate}\opRightPren{}% - \opand \mbox{\axiomFun{sort!}}\opLeftPren{}{\it \optinit{predicate, }aggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{sort}}\opLeftPren{}{\it +\optinit{predicate, }aggregate}\opRightPren{}% + \opand \mbox{\axiomFun{sort!}}\opLeftPren{}{\it +\optinit{predicate, }aggregate}\opRightPren{}% }% }% {2}{((S, S)->Boolean, \$)->\$}{FiniteLinearAggregate} -{\smath{\mbox{\bf sort}\opLeftPren{}\optfirst{p, }a\opRightPren{}} returns a copy of +{\smath{\mbox{\bf sort}\opLeftPren{}\optfirst{p, }a\opRightPren{}} +returns a copy of \smath{a} sorted using total ordering predicate \smath{p}. \newitem -\smath{\mbox{\bf sort!}\opLeftPren{}\optfirst{p, }u\opRightPren{}} returns \smath{u} destructively changed with its +\smath{\mbox{\bf sort!}\opLeftPren{}\optfirst{p, }u\opRightPren{}} +returns \smath{u} destructively changed with its elements ordered by comparison function \smath{p}. \newitem By default, \smath{p} is the operation \smath{\leq}. -Thus both \smath{\mbox{\bf sort}\opLeftPren{}u\opRightPren{}} and \smath{\mbox{\bf sort!}\opLeftPren{}u\opRightPren{}} returns \smath{u} with +Thus both \smath{\mbox{\bf sort}\opLeftPren{}u\opRightPren{}} and +\smath{\mbox{\bf sort!}\opLeftPren{}u\opRightPren{}} returns \smath{u} with its elements in ascending order. \newitem -Also: \smath{\mbox{\bf sort}\opLeftPren{}lp\opRightPren{}} sorts a list of permutations {\it lp} +Also: \smath{\mbox{\bf sort}\opLeftPren{}lp\opRightPren{}} +sorts a list of permutations {\it lp} according to cycle structure, first according to the length of cycles, -second, if \smath{S} has \spadtype{Finite} or \smath{S} has \spadtype{OrderedSet}, +second, if \smath{S} has \spadtype{Finite} or \smath{S} has +\spadtype{OrderedSet}, according to lexicographical order of entries in cycles of equal length. } @@ -79688,70 +83616,86 @@ according to lexicographical order of entries in cycles of equal length. }% }% {1}{(Point(R))->Point(R)}{CoordinateSystems} -{\smath{\mbox{\bf spherical}\opLeftPren{}pt\opRightPren{}} transforms point \smath{pt} from spherical coordinates to +{\smath{\mbox{\bf spherical}\opLeftPren{}pt\opRightPren{}} +transforms point \smath{pt} from spherical coordinates to Cartesian coordinates, mapping \smath{(r, \theta, \phi)} to \smath{x = r \sin(\phi) \cos(\theta)}, \smath{y = r \sin(\phi) \sin(\theta)}, \smath{z = r \cos(\phi)}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{split}}\opLeftPren{}{\it element}, \allowbreak{}{\it binarySearchTree}\opRightPren{}% +\opdata{{\mbox{\axiomFun{split}}\opLeftPren{}{\it element}, \allowbreak{} +{\it binarySearchTree}\opRightPren{}% }% }% {2}{(\$, Integer)->\$}{UnaryRecursiveAggregate} -{\smath{\mbox{\bf split}\opLeftPren{}x, \allowbreak{} t\opRightPren{}} splits binary search tree \smath{t} into two components, returning a +{\smath{\mbox{\bf split}\opLeftPren{}x, \allowbreak{} t\opRightPren{}} +splits binary search tree \smath{t} into two components, returning a record of two components: \smath{less}, a binary search tree whose components are all less than x; and, -\smath{greater}, a binary search tree with all the rest of the components of \spad{t}. +\smath{greater}, a binary search tree with all the rest of the +components of \spad{t}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{split!}}\opLeftPren{}{\it aggregate}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{split!}}\opLeftPren{}{\it aggregate}, +\allowbreak{}{\it integer}\opRightPren{}% }% }% {2}{(\$, Integer)->\$}{UnaryRecursiveAggregate} -{\smath{\mbox{\bf split!}\opLeftPren{}u, \allowbreak{} n\opRightPren{}} splits \smath{u} into two aggregates: +{\smath{\mbox{\bf split!}\opLeftPren{}u, +\allowbreak{} n\opRightPren{}} splits \smath{u} into two aggregates: the first consisting of \smath{v}, the first \smath{n} elements of \smath{u}, and \smath{w} consisting of all the rest. The value of \smath{w} is returned. Thus \smath{v = {\bf first}(u, n)} and \smath{w := {\bf rest}(u, n)}. -Note: afterwards \smath{\mbox{\bf rest}\opLeftPren{}u, \allowbreak{} n\opRightPren{}} returns \smath{\mbox{\bf empty}\opLeftPren{}\opRightPren{}}. +Note: afterwards \smath{\mbox{\bf rest}\opLeftPren{}u, +\allowbreak{} n\opRightPren{}} returns +\smath{\mbox{\bf empty}\opLeftPren{}\opRightPren{}}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{splitDenominator}}\opLeftPren{}{\it listOfFractions}\opRightPren{}% +\opdata{{\mbox{\axiomFun{splitDenominator}}\opLeftPren{} +{\it listOfFractions}\opRightPren{}% }% }% {1}{(A)->Record(num:A, den:R)}{CommonDenominator} {\smath{\mbox{\bf splitDenominator}\opLeftPren{}u\opRightPren{}}, where \smath{u} is a list of fractions \smath{[q_1, \ldots, q_n]}, returns \smath{[[p_1, \ldots, p_n], d]} such that -\smath{q_i = p_i/d} and \smath{d} is a common denominator for the \smath{q_i}'s. +\smath{q_i = p_i/d} and \smath{d} is a common denominator +for the \smath{q_i}'s. Similarly, the function is defined for a matrix (respectively, a polynomial) -\smath{u} in which case the \smath{q_i} are the elements of (respectively, the coefficients of) +\smath{u} in which case the \smath{q_i} are the elements of +(respectively, the coefficients of) \smath{u}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{sqfrFactor}}\opLeftPren{}{\it element}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{sqfrFactor}}\opLeftPren{} +{\it element}, \allowbreak{}{\it integer}\opRightPren{}% }% }% {2}{(R, Integer)->\$}{Factored} -{\smath{\mbox{\bf sqfrFactor}\opLeftPren{}base, \allowbreak{} exponent\opRightPren{}} creates a factored object with +{\smath{\mbox{\bf sqfrFactor}\opLeftPren{}base, +\allowbreak{} exponent\opRightPren{}} creates a factored object with a single factor whose \smath{base} is asserted to be square-free (flag = {\tt "sqfr"}). } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{sqrt}}\opLeftPren{}{\it expression\opt{, option}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{sqrt}}\opLeftPren{} +{\it expression\opt{, option}}\opRightPren{}% }% }% {1}{(\$)->\$}{RadicalCategory} -{\smath{\mbox{\bf sqrt}\opLeftPren{}x\opRightPren{}} returns the square root of \smath{x}. +{\smath{\mbox{\bf sqrt}\opLeftPren{}x\opRightPren{}} +returns the square root of \smath{x}. \newitem -\smath{\mbox{\bf sqrt}\opLeftPren{}x, \allowbreak{} y\opRightPren{}}, where \smath{x} and +\smath{\mbox{\bf sqrt}\opLeftPren{}x, \allowbreak{} y\opRightPren{}}, +where \smath{x} and \smath{y} are \smath{p}-adic integers, returns a square root of \smath{x} where argument \smath{y} is a square root of \smath{x \mod p}. See also \spadtype{PAdicIntegerCategory}. @@ -79762,37 +83706,46 @@ See also \spadtype{PAdicIntegerCategory}. }% }% {1}{(\$)->Boolean}{MatrixCategory} -{\smath{\mbox{\bf square?}\opLeftPren{}m\opRightPren{}} tests if \smath{m} is a square matrix. +{\smath{\mbox{\bf square?}\opLeftPren{}m\opRightPren{}} +tests if \smath{m} is a square matrix. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{squareFree}}\opLeftPren{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{squareFree}}\opLeftPren{} +{\it element}\opRightPren{}% }% }% {1}{(\$)->Factored(\$)}{UniqueFactorizationDomain} -{\smath{\mbox{\bf squareFree}\opLeftPren{}x\opRightPren{}} returns the square-free factorization of \smath{x}, -that is, such that the factors are pairwise relatively prime and each has multiple prime factors. +{\smath{\mbox{\bf squareFree}\opLeftPren{}x\opRightPren{}} +returns the square-free factorization of \smath{x}, +that is, such that the factors are pairwise relatively +prime and each has multiple prime factors. Argument \smath{x} can be a member of any domain of category \spadtype{UniqueFactorizationDomain} such as a polynomial or integer. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{squareFreePart}}\opLeftPren{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{squareFreePart}}\opLeftPren{} +{\it element}\opRightPren{}% }% }% {1}{(\$)->\$}{PolynomialCategory} -{\smath{\mbox{\bf squareFreePart}\opLeftPren{}p\opRightPren{}} returns product of all the prime factors of +{\smath{\mbox{\bf squareFreePart}\opLeftPren{}p\opRightPren{}} +returns product of all the prime factors of \smath{p} each taken with multiplicity one. Argument \smath{p} can be a member of any domain of category \spadtype{UniqueFactorizationDomain} such as a polynomial or integer. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{squareFreePolynomial}}\opLeftPren{}{\it polynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{squareFreePolynomial}}\opLeftPren{} +{\it polynomial}\opRightPren{}% }% }% -{1}{(SparseUnivariatePolynomial(\$))->Factored(SparseUnivariatePolynomial(\$))}{PolynomialFactorizationExplicit} -{\smath{\mbox{\bf squareFreePolynomial}\opLeftPren{}p\opRightPren{}} returns the square-free factorization of the univariate polynomial \smath{p}. +{1}{(SparseUnivariatePolynomial(\$))-> +Factored(SparseUnivariatePolynomial(\$))}{PolynomialFactorizationExplicit} +{\smath{\mbox{\bf squareFreePolynomial}\opLeftPren{}p\opRightPren{}} +returns the square-free factorization of the univariate polynomial \smath{p}. } % ---------------------------------------------------------------------- @@ -79800,7 +83753,8 @@ category \spadtype{UniqueFactorizationDomain} such as a polynomial or integer. }% }% {1}{(\$)->\$}{MatrixCategory} -{\smath{\mbox{\bf squareTop}\opLeftPren{}A\opRightPren{}} returns an \smath{n}-by-\smath{n} matrix +{\smath{\mbox{\bf squareTop}\opLeftPren{}A\opRightPren{}} +returns an \smath{n}-by-\smath{n} matrix consisting of the first \smath{n} rows of the \smath{m}-by-\smath{n} matrix \smath{A}. The operation calls \spadfun{error} if \smath{m < n}. @@ -79811,17 +83765,20 @@ The operation calls \spadfun{error} if \smath{m < n}. }% }% {1}{(List(S))->\$}{StackAggregate} -{\smath{\mbox{\bf stack}\opLeftPren{}[x, \allowbreak{} y, \allowbreak{} \ldots, z]\opRightPren{}} creates a stack with first (top) +{\smath{\mbox{\bf stack}\opLeftPren{}[x, \allowbreak{} y, +\allowbreak{} \ldots, z]\opRightPren{}} creates a stack with first (top) element \smath{x}, second element \smath{y}, \ldots, and last element \smath{z}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{standardBasisOfCyclicSubmodule}}\opLeftPren{}{\it listOfMatrices}, \allowbreak{}{\it vector}\opRightPren{}% +\opdata{{\mbox{\axiomFun{standardBasisOfCyclicSubmodule}}\opLeftPren{} +{\it listOfMatrices}, \allowbreak{}{\it vector}\opRightPren{}% }% }% {2}{(List(Matrix(R)), Vector(R))->Matrix(R)}{RepresentationPackage2} -{\smath{\mbox{\bf standardBasisOfCyclicSubmodule}\opLeftPren{}lm, \allowbreak{} v\opRightPren{}} returns a matrix +{\smath{\mbox{\bf standardBasisOfCyclicSubmodule} +\opLeftPren{}lm, \allowbreak{} v\opRightPren{}} returns a matrix representation of cyclic submodule over a ring \smath{R}, where \smath{lm} is a list of matrices and \smath{v} is a vector, such that the non-zero column vectors are an \smath{R}-basis @@ -79830,14 +83787,18 @@ for \smath{A v}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{stirling1}}\opLeftPren{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% - \opand \mbox{\axiomFun{stirling2}}\opLeftPren{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{stirling1}}\opLeftPren{} +{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% + \opand \mbox{\axiomFun{stirling2}}\opLeftPren{} +{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% }% }% {2}{(I, I)->I}{IntegerCombinatoricFunctions} -{\smath{\mbox{\bf stirling1}\opLeftPren{}n, \allowbreak{} m\opRightPren{}} returns the Stirling number of the first kind. +{\smath{\mbox{\bf stirling1}\opLeftPren{}n, \allowbreak{} m\opRightPren{}} +returns the Stirling number of the first kind. \newitem -\smath{\mbox{\bf stirling2}\opLeftPren{}n, \allowbreak{} m\opRightPren{}} returns the Stirling number of the second kind. +\smath{\mbox{\bf stirling2}\opLeftPren{}n, \allowbreak{} m\opRightPren{}} +returns the Stirling number of the second kind. } % ---------------------------------------------------------------------- @@ -79846,33 +83807,41 @@ for \smath{A v}. }% }% {1}{(\$)->Boolean}{SExpressionCategory} -{\smath{\mbox{\bf string?}\opLeftPren{}s\opRightPren{}} tests if \spadtype{SExpression} object \smath{s} is a string. +{\smath{\mbox{\bf string?}\opLeftPren{}s\opRightPren{}} +tests if \spadtype{SExpression} object \smath{s} is a string. \newitem -\smath{\mbox{\bf string}\opLeftPren{}s\opRightPren{}} converts the symbol \smath{s} to a string. +\smath{\mbox{\bf string}\opLeftPren{}s\opRightPren{}} +converts the symbol \smath{s} to a string. An \spadfun{error} is called if the symbol is subscripted. \newitem -\smath{\mbox{\bf string}\opLeftPren{}s\opRightPren{}} returns \spadtype{SExpression} object \smath{s} as +\smath{\mbox{\bf string}\opLeftPren{}s\opRightPren{}} +returns \spadtype{SExpression} object \smath{s} as an element of \spadtype{String} if possible, and otherwise calls \spadfun{error}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{strongGenerators}}\opLeftPren{}{\it listOfPermutations}\opRightPren{}% +\opdata{{\mbox{\axiomFun{strongGenerators}}\opLeftPren{} +{\it listOfPermutations}\opRightPren{}% }% }% {1}{(\$)->List(Permutation(S))}{PermutationGroup} -{\smath{\mbox{\bf strongGenerators}\opLeftPren{}gp\opRightPren{}} returns strong generators for the permutation +{\smath{\mbox{\bf strongGenerators}\opLeftPren{}gp\opRightPren{}} +returns strong generators for the permutation group {\it gp}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{structuralConstants}}\opLeftPren{}{\it basis}\opRightPren{}% +\opdata{{\mbox{\axiomFun{structuralConstants}}\opLeftPren{} +{\it basis}\opRightPren{}% }% }% {0}{()->Vector(Matrix(R))}{FramedNonAssociativeAlgebra} -{\smath{\mbox{\bf structuralConstants}\opLeftPren{}basis\opRightPren{}} calculates the structural constants +{\smath{\mbox{\bf structuralConstants}\opLeftPren{}basis\opRightPren{}} +calculates the structural constants \smath{[(\gamma_{i, j, k}) {\ \tt for\ } k {\ \tt in\ } 1..rank()\$R]} -of a domain \smath{R} of category \spadtype{FramedNonAssociativeAlgebra} over a ring \smath{R}, +of a domain \smath{R} of category +\spadtype{FramedNonAssociativeAlgebra} over a ring \smath{R}, defined by: \smath{v_i v_j = \gamma_{i, j, 1} v_1 + \cdots + \gamma_{i, j, n} v_n}, where \smath{v_1}, \ldots, \smath{v_n} is the fixed \smath{R}-module basis. @@ -79883,13 +83852,15 @@ where \smath{v_1}, \ldots, \smath{v_n} is the fixed \smath{R}-module basis. }% }% {1}{(String)->\$}{DrawOption} -{\smath{\mbox{\bf style}\opLeftPren{}s\opRightPren{}} specifies the drawing style in which the graph +{\smath{\mbox{\bf style}\opLeftPren{}s\opRightPren{}} +specifies the drawing style in which the graph will be plotted by the indicated string \smath{s}. This option is expressed in the form \code{style == s}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{sub}}\opLeftPren{}{\it outputForm}, \allowbreak{}{\it outputForm}\opRightPren{}% +\opdata{{\mbox{\axiomFun{sub}}\opLeftPren{}{\it outputForm}, \allowbreak{} +{\it outputForm}\opRightPren{}% }% }% {}{}{} @@ -79900,157 +83871,212 @@ creates an output form for \smath{o_1} subscripted by \smath{o_2}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{subMatrix}}\opLeftPren{}{\it matrix}, \allowbreak{}{\it integer}, \allowbreak{}{\it integer}, \allowbreak{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{subMatrix}}\opLeftPren{}{\it matrix}, \allowbreak{} +{\it integer}, \allowbreak{}{\it integer}, \allowbreak{}{\it integer}, +\allowbreak{}{\it integer}\opRightPren{}% }% }% {5}{(\$, Integer, Integer, Integer, Integer)->\$}{MatrixCategory} -{\smath{\mbox{\bf subMatrix}\opLeftPren{}m, \allowbreak{} i_1, \allowbreak{} i_2, \allowbreak{} j_1, \allowbreak{} j_2\opRightPren{}} extracts the submatrix \smath{[m(i, j)]} where the index +{\smath{\mbox{\bf subMatrix}\opLeftPren{}m, \allowbreak{} i_1, +\allowbreak{} i_2, \allowbreak{} j_1, \allowbreak{} j_2\opRightPren{}} +extracts the submatrix \smath{[m(i, j)]} where the index \smath{i} ranges from \smath{i_1} to \smath{i_2} and the index \smath{j} ranges from \smath{j_1} to \smath{j_2}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{submod}}\opLeftPren{}{\it integerNumber}, \allowbreak{}{\it integerNumber}, \allowbreak{}{\it integerNumber}\opRightPren{}% +\opdata{{\mbox{\axiomFun{submod}}\opLeftPren{}{\it integerNumber}, +\allowbreak{}{\it integerNumber}, \allowbreak{} +{\it integerNumber}\opRightPren{}% }% }% {3}{(\$, \$, \$)->\$}{IntegerNumberSystem} -{\smath{\mbox{\bf submod}\opLeftPren{}a, \allowbreak{} b, \allowbreak{} p\opRightPren{}}, where \smath{0 \leq a < b < p > 1}, returns \smath{a-b\mod p}, +{\smath{\mbox{\bf submod}\opLeftPren{}a, \allowbreak{} b, +\allowbreak{} p\opRightPren{}}, where \smath{0 \leq a < b < p > 1}, returns +\smath{a-b\mod p}, for integer numbers \smath{a}, \smath{b} and \smath{p}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{subResultantGcd}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it polynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{subResultantGcd}}\opLeftPren{} +{\it polynomial}, \allowbreak{}{\it polynomial}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{UnivariatePolynomialCategory} -{\smath{\mbox{\bf subResultantGcd}\opLeftPren{}p, \allowbreak{} q\opRightPren{}} computes the \smath{gcd} of the polynomials \smath{p} and \smath{q} using the SubResultant \smath{GCD} algorithm. +{\smath{\mbox{\bf subResultantGcd}\opLeftPren{}p, +\allowbreak{} q\opRightPren{}} computes the \smath{gcd} of the polynomials +\smath{p} and \smath{q} using the SubResultant \smath{GCD} algorithm. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{subscript}}\opLeftPren{}{\it symbol}, \allowbreak{}{\it listOfOutputForms}\opRightPren{}% +\opdata{{\mbox{\axiomFun{subscript}}\opLeftPren{}{\it symbol}, +\allowbreak{}{\it listOfOutputForms}\opRightPren{}% }% }% {2}{(\$, List(OutputForm))->\$}{Symbol} -{\smath{\mbox{\bf subscript}\opLeftPren{}s, \allowbreak{} [a1, \allowbreak{} \ldots, an]\opRightPren{}} returns symbol \smath{s} subscripted by output forms +{\smath{\mbox{\bf subscript}\opLeftPren{}s, \allowbreak{} +[a1, \allowbreak{} \ldots, an]\opRightPren{}} returns symbol \smath{s} +subscripted by output forms \smath{a_1, \ldots, a_n} as a symbol. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{subset}}\opLeftPren{}{\it integer}, \allowbreak{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{subset}}\opLeftPren{}{\it integer}, +\allowbreak{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% }% }% -{3}{(Integer, Integer, Integer)->List(Integer)}{SymmetricGroupCombinatoricFunctions} -{\smath{\mbox{\bf subSet}\opLeftPren{}n, \allowbreak{} m, \allowbreak{} k\opRightPren{}} calculates the \eth{\smath{k}} \smath{m}-subset of the set -\smath{0, 1, \ldots, (n-1)} in the lexicographic order considered as a decreasing map from +{3}{(Integer, Integer, Integer)->List(Integer)} +{SymmetricGroupCombinatoricFunctions} +{\smath{\mbox{\bf subSet}\opLeftPren{}n, \allowbreak{} m, +\allowbreak{} k\opRightPren{}} calculates the \eth{\smath{k}} \smath{m}-subset +of the set +\smath{0, 1, \ldots, (n-1)} in the lexicographic order +considered as a decreasing map from \smath{0, \ldots, (m-1)} into \smath{0, \ldots, (n-1)}. See \spadtype{SymmetricGroupCombinatoricFunctions}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{subset?}}\opLeftPren{}{\it set}, \allowbreak{}{\it set}\opRightPren{}% +\opdata{{\mbox{\axiomFun{subset?}}\opLeftPren{}{\it set}, +\allowbreak{}{\it set}\opRightPren{}% }% }% {2}{(\$, \$)->Boolean}{SetAggregate} -{\smath{\mbox{\bf subset?}\opLeftPren{}u, \allowbreak{} v\opRightPren{}} tests if set \smath{u} is a subset of set \smath{v}. +{\smath{\mbox{\bf subset?}\opLeftPren{}u, +\allowbreak{} v\opRightPren{}} tests if set \smath{u} +is a subset of set \smath{v}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{subspace}}\opLeftPren{}{\it threeSpace}\opRightPren{}% +\opdata{{\mbox{\axiomFun{subspace}}\opLeftPren{} +{\it threeSpace}\opRightPren{}% }% }% {1}{(\$)->SubSpace(3, R)}{ThreeSpace} -{\smath{\mbox{\bf subspace}\opLeftPren{}s\opRightPren{}} returns the space component which holds all the point +{\smath{\mbox{\bf subspace}\opLeftPren{}s\opRightPren{}} +returns the space component which holds all the point information in the \spadtype{ThreeSpace} object \smath{s}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{substring?}}\opLeftPren{}{\it string}, \allowbreak{}{\it string}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{substring?}}\opLeftPren{}{\it string}, +\allowbreak{}{\it string}, \allowbreak{}{\it integer}\opRightPren{}% }% }% {3}{(\$, \$, Integer)->Boolean}{StringAggregate} -{\smath{\mbox{\bf substring?}\opLeftPren{}s, \allowbreak{} t, \allowbreak{} i\opRightPren{}} tests if \smath{s} is a substring of \smath{t} +{\smath{\mbox{\bf substring?}\opLeftPren{}s, \allowbreak{} t, +\allowbreak{} i\opRightPren{}} tests if \smath{s} is a substring of \smath{t} beginning at index \smath{i}. Note: \code{substring?(s, t, 0) = prefix?(s, t)}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{subst}}\opLeftPren{}{\it expression}, \allowbreak{}{\it equations}\opRightPren{}% +\opdata{{\mbox{\axiomFun{subst}}\opLeftPren{}{\it expression}, +\allowbreak{}{\it equations}\opRightPren{}% }% }% {2}{(\$, Equation(\$))->\$}{ExpressionSpace} -{\smath{\mbox{\bf subst}\opLeftPren{}f, \allowbreak{} k = g\opRightPren{}} formally replaces the kernel \smath{k} by \smath{g} in \smath{f}. +{\smath{\mbox{\bf subst}\opLeftPren{}f, \allowbreak{} k = g\opRightPren{}} +formally replaces the kernel \smath{k} by \smath{g} in \smath{f}. \newitem -\smath{\mbox{\bf subst}\opLeftPren{}f, \allowbreak{} [k_1 = g_1, \allowbreak{} \ldots, k_n = g_n]\opRightPren{}} formally replaces the kernels -\smath{k_1}, \ldots, \smath{k_n} by \smath{g_1}, \ldots, \smath{g_n} in \smath{f}. +\smath{\mbox{\bf subst}\opLeftPren{}f, \allowbreak{} +[k_1 = g_1, \allowbreak{} \ldots, k_n = g_n]\opRightPren{}} +formally replaces the kernels +\smath{k_1}, \ldots, \smath{k_n} by \smath{g_1}, \ldots, +\smath{g_n} in \smath{f}. \newitem -\smath{\mbox{\bf subst}\opLeftPren{}f, \allowbreak{} [k_1, \allowbreak{} \ldots, k_n], [g_1, \ldots, g_n]\opRightPren{}} formally replaces kernels +\smath{\mbox{\bf subst}\opLeftPren{}f, \allowbreak{} [k_1, +\allowbreak{} \ldots, k_n], [g_1, \ldots, g_n]\opRightPren{}} +formally replaces kernels \smath{k_i} by \smath{g_i} in \smath{f}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{suchThat}}\opLeftPren{}{\it symbol}, \allowbreak{}{\it predicates}\opRightPren{}% +\opdata{{\mbox{\axiomFun{suchThat}}\opLeftPren{}{\it symbol}, +\allowbreak{}{\it predicates}\opRightPren{}% }% }% {2}{(Symbol, List((D)->Boolean))->Expression(Integer)}{AttachPredicates} -{\smath{\mbox{\bf suchThat}\opLeftPren{}sy, \allowbreak{} pred\opRightPren{}} attaches the predicate \smath{pred} to symbol \smath{sy}. +{\smath{\mbox{\bf suchThat}\opLeftPren{}sy, +\allowbreak{} pred\opRightPren{}} attaches the +predicate \smath{pred} to symbol \smath{sy}. Argument \smath{pred} may also be a list \smath{[p_1, \ldots, p_n]} of predicates \smath{p_i}. In this case, the predicate \smath{pred} attached to \smath{sy} is \smath{p_1 \and \ldots \and p_n}. \newitem -\smath{\mbox{\bf suchThat}\opLeftPren{}r, \allowbreak{} [a_1, \allowbreak{} \ldots, a_n], f\opRightPren{}} returns the rewrite rule \smath{r} with the +\smath{\mbox{\bf suchThat}\opLeftPren{}r, \allowbreak{} [a_1, +\allowbreak{} \ldots, a_n], f\opRightPren{}} returns the rewrite rule +\smath{r} with the predicate \smath{f(a1, \ldots, an)} attached to it. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{suffix?}}\opLeftPren{}{\it string}, \allowbreak{}{\it string}\opRightPren{}% +\opdata{{\mbox{\axiomFun{suffix?}}\opLeftPren{}{\it string}, +\allowbreak{}{\it string}\opRightPren{}% }% }% {2}{(\$, \$)->Boolean}{StringAggregate} -{\smath{\mbox{\bf suffix?}\opLeftPren{}s, \allowbreak{} t\opRightPren{}} tests if the string \smath{s} is the final substring of \smath{t}. +{\smath{\mbox{\bf suffix?}\opLeftPren{}s, +\allowbreak{} t\opRightPren{}} tests if the string \smath{s} +is the final substring of \smath{t}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{sum}}\opLeftPren{}{\it rationalFunction}, \allowbreak{}{\it symbolOrSegmentBinding}\opRightPren{}% +\opdata{{\mbox{\axiomFun{sum}}\opLeftPren{} +{\it rationalFunction}, \allowbreak{} +{\it symbolOrSegmentBinding}\opRightPren{}% }% }% -{2}{(Fraction(Polynomial(R)), Symbol)->Union(Fraction(Polynomial(R)), Expression(R))}{RationalFunctionSum} +{2}{(Fraction(Polynomial(R)), +Symbol)->Union(Fraction(Polynomial(R)), Expression(R))}{RationalFunctionSum} {\smath{\mbox{\bf sum}\opLeftPren{}a(n), \allowbreak{} n\opRightPren{}}, where \smath{a(n)} is an rational function or expression involving the symbol \smath{n}, returns the indefinite sum \smath{A} of \smath{a} with respect -to upward difference on \smath{n}, that is, \smath{A(n+1) - A(n) = a(n)}. +to upward difference on \smath{n}, that is, +\smath{A(n+1) - A(n) = a(n)}. \newitem -\smath{\mbox{\bf sum}\opLeftPren{}f(n), \allowbreak{} n = a..b\opRightPren{}}, where +\smath{\mbox{\bf sum}\opLeftPren{}f(n), +\allowbreak{} n = a..b\opRightPren{}}, where \smath{f(n)}, \smath{a}, and \smath{b} are rational functions (or polynomials), -computes and returns the sum \smath{f(a) + f(a+1) + \cdots + f(b)} as a rational function +computes and returns the sum \smath{f(a) + f(a+1) + \cdots + f(b)} +as a rational function (or polynomial). } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{summation}}\opLeftPren{}{\it expression}, \allowbreak{}{\it segmentBinding}\opRightPren{}% +\opdata{{\mbox{\axiomFun{summation}}\opLeftPren{} +{\it expression}, \allowbreak{}{\it segmentBinding}\opRightPren{}% }% }% {2}{(\$, SegmentBinding(\$))->\$}{CombinatorialOpsCategory} -{\smath{\mbox{\bf summation}\opLeftPren{}f, \allowbreak{} n = a..b\opRightPren{}} returns the formal sum \smath{\sum_{n=a}^b f(n)}. +{\smath{\mbox{\bf summation}\opLeftPren{}f, +\allowbreak{} n = a..b\opRightPren{}} returns the formal sum +\smath{\sum_{n=a}^b f(n)}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{sumOfDivisors}}\opLeftPren{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{sumOfDivisors}}\opLeftPren{} +{\it integer}\opRightPren{}% }% }% {1}{(Integer)->Integer}{IntegerNumberTheoryFunctions} -{\smath{\mbox{\bf sumOfDivisors}\opLeftPren{}n\opRightPren{}} returns the sum of the integers between 1 and +{\smath{\mbox{\bf sumOfDivisors}\opLeftPren{}n\opRightPren{}} +returns the sum of the integers between 1 and integer \smath{n} (inclusive) which divide \smath{n}. This sum is often denoted in the literature by \smath{\sigma(n)}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{sumOfKthPowerDivisors}}\opLeftPren{}{\it integer}, \allowbreak{}{\it nonNegativeInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{sumOfKthPowerDivisors}}\opLeftPren{} +{\it integer}, \allowbreak{}{\it nonNegativeInteger}\opRightPren{}% }% }% {2}{(Integer, NonNegativeInteger)->Integer}{IntegerNumberTheoryFunctions} -{\smath{\mbox{\bf sumOfKthPowerDivisors}\opLeftPren{}n, \allowbreak{} k\opRightPren{}} returns the sum of the -\eth{\smath{k}} powers of the integers between 1 and \smath{n} (inclusive) which divide \smath{n}. +{\smath{\mbox{\bf sumOfKthPowerDivisors}\opLeftPren{}n, +\allowbreak{} k\opRightPren{}} returns the sum of the +\eth{\smath{k}} powers of the integers between 1 and \smath{n} (inclusive) +which divide \smath{n}. This sum is often denoted in the literature by \smath{\sigma_k(n)}. } @@ -80059,7 +84085,8 @@ This sum is often denoted in the literature by \smath{\sigma_k(n)}. }% }% {1}{(Integer)->List(Integer)}{GaussianFactorizationPackage} -{\smath{\mbox{\bf sumSquares}\opLeftPren{}p\opRightPren{}} returns the list \smath{[a, b]} such that +{\smath{\mbox{\bf sumSquares}\opLeftPren{}p\opRightPren{}} returns the +list \smath{[a, b]} such that \smath{a^2+b^2} is equal to the integer prime \smath{p}, and calls \spadfun{error} if this is not possible. It will succeed if \smath{p} is 2 or congruent to \smath{1 \mod 4}. @@ -80068,37 +84095,46 @@ It will succeed if \smath{p} is 2 or congruent to \smath{1 \mod 4}. % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{sup}}\opLeftPren{}{\it element}, \allowbreak{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{sup}}\opLeftPren{}{\it element}, \allowbreak{} +{\it element}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{OrderedAbelianMonoidSup} -{\smath{\mbox{\bf sup}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} returns the least element from which both \smath{x} and \smath{y} can be subtracted. +{\smath{\mbox{\bf sup}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} +returns the least element from which both \smath{x} and \smath{y} can +be subtracted. The purpose of \spadfun{sup} is to act as a supremum with respect to the partial order imposed by the \smath{-} operation on the domain. See \spadtype{OrderedAbelianMonoidSup} for details. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{super}}\opLeftPren{}{\it outputForm}, \allowbreak{}{\it outputForm}\opRightPren{}% +\opdata{{\mbox{\axiomFun{super}}\opLeftPren{}{\it outputForm}, +\allowbreak{}{\it outputForm}\opRightPren{}% }% }% {}{}{} {\smath{\mbox{\bf super}\opLeftPren{}o_1, \allowbreak{} o_2\opRightPren{}}, -where \smath{o_1} and \smath{o_2} are objects of type \spadtype{OutputForm} (normally unexposed), +where \smath{o_1} and \smath{o_2} are objects of type +\spadtype{OutputForm} (normally unexposed), creates an output form for \smath{o_1} superscripted by \smath{o_2}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{superscript}}\opLeftPren{}{\it symbol}, \allowbreak{}{\it listOfOutputForms}\opRightPren{}% +\opdata{{\mbox{\axiomFun{superscript}}\opLeftPren{}{\it symbol}, +\allowbreak{}{\it listOfOutputForms}\opRightPren{}% }% }% {2}{(\$, List(OutputForm))->\$}{Symbol} -{\smath{\mbox{\bf superscript}\opLeftPren{}s, \allowbreak{} [a_1, \allowbreak{} \ldots, a_n]\opRightPren{}} returns symbol \smath{s} superscripted by +{\smath{\mbox{\bf superscript}\opLeftPren{}s, \allowbreak{} [a_1, +\allowbreak{} \ldots, a_n]\opRightPren{}} returns symbol \smath{s} +superscripted by output forms \smath{[a_1, \ldots, a_n]}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{supersub}}\opLeftPren{}{\it outputForm}, \allowbreak{}{\it listOfOutputForms}\opRightPren{}% +\opdata{{\mbox{\axiomFun{supersub}}\opLeftPren{}{\it outputForm}, +\allowbreak{}{\it listOfOutputForms}\opRightPren{}% }% }% {}{}{} @@ -80111,37 +84147,50 @@ creates an output form with each subscript aligned under each superscript. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{surface}}\opLeftPren{}{\it function}, \allowbreak{}{\it function}, \allowbreak{}{\it function}\opRightPren{}% +\opdata{{\mbox{\axiomFun{surface}}\opLeftPren{}{\it function}, +\allowbreak{}{\it function}, \allowbreak{}{\it function}\opRightPren{}% }% }% -{3}{(ComponentFunction, ComponentFunction, ComponentFunction)->\$}{ParametricSurface} -{\smath{\mbox{\bf surface}\opLeftPren{}c_1, \allowbreak{} c_2, \allowbreak{} c_3\opRightPren{}} creates a surface from three parametric component functions +{3}{(ComponentFunction, ComponentFunction, ComponentFunction)->\$} +{ParametricSurface} +{\smath{\mbox{\bf surface}\opLeftPren{}c_1, \allowbreak{} c_2, +\allowbreak{} c_3\opRightPren{}} creates a surface from three +parametric component functions \smath{c_1}, \smath{c_2}, and \smath{c_3}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{swap!}}\opLeftPren{}{\it aggregate}, \allowbreak{}{\it index}, \allowbreak{}{\it index}\opRightPren{}% +\opdata{{\mbox{\axiomFun{swap!}}\opLeftPren{}{\it aggregate}, +\allowbreak{}{\it index}, \allowbreak{}{\it index}\opRightPren{}% }% }% {3}{(\$, Index, Index)->Void}{IndexedAggregate} -{\smath{\mbox{\bf swap!}\opLeftPren{}u, \allowbreak{} i, \allowbreak{} j\opRightPren{}} interchanges elements \smath{i} and \smath{j} of aggregate \smath{u}. No meaningful value is returned. +{\smath{\mbox{\bf swap!}\opLeftPren{}u, \allowbreak{} i, +\allowbreak{} j\opRightPren{}} interchanges elements \smath{i} and \smath{j} +of aggregate \smath{u}. No meaningful value is returned. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{swapColumns!}}\opLeftPren{}{\it matrix}, \allowbreak{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{swapColumns!}}\opLeftPren{}{\it matrix}, +\allowbreak{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% }% }% {3}{(\$, Integer, Integer)->\$}{MatrixCategory} -{\smath{\mbox{\bf swapColumns!}\opLeftPren{}m, \allowbreak{} i, \allowbreak{} j\opRightPren{}} interchanges the \eth{\smath{i}} and \eth{\smath{j}} columns of \smath{m} +{\smath{\mbox{\bf swapColumns!}\opLeftPren{}m, \allowbreak{} i, +\allowbreak{} j\opRightPren{}} interchanges the \eth{\smath{i}} and +\eth{\smath{j}} columns of \smath{m} returning \smath{m} which is destructively altered. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{swapRows!}}\opLeftPren{}{\it matrix}, \allowbreak{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{swapRows!}}\opLeftPren{}{\it matrix}, +\allowbreak{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% }% }% {3}{(\$, Integer, Integer)->\$}{MatrixCategory} -{\smath{\mbox{\bf swapRows!}\opLeftPren{}m, \allowbreak{} i, \allowbreak{} j\opRightPren{}} interchanges the \eth{\smath{i}} and \eth{\smath{j}} rows of \smath{m}, +{\smath{\mbox{\bf swapRows!}\opLeftPren{}m, \allowbreak{} i, +\allowbreak{} j\opRightPren{}} interchanges the \eth{\smath{i}} and +\eth{\smath{j}} rows of \smath{m}, returning \smath{m} which is destructively altered. } @@ -80150,7 +84199,8 @@ returning \smath{m} which is destructively altered. }% }% {1}{(\$)->Boolean}{SExpressionCategory} -{\smath{\mbox{\bf symbol?}\opLeftPren{}s\opRightPren{}} tests if \spadtype{SExpression} object \smath{s} +{\smath{\mbox{\bf symbol?}\opLeftPren{}s\opRightPren{}} +tests if \spadtype{SExpression} object \smath{s} is a symbol. } @@ -80159,7 +84209,8 @@ is a symbol. }% }% {1}{(\$)->Sym}{SExpressionCategory} -{\smath{\mbox{\bf symbol}\opLeftPren{}s\opRightPren{}} returns \smath{s} as an element of type \spadtype{Symbol}, +{\smath{\mbox{\bf symbol}\opLeftPren{}s\opRightPren{}} +returns \smath{s} as an element of type \spadtype{Symbol}, or calls \spadfun{error} if this is not possible. } @@ -80168,35 +84219,43 @@ or calls \spadfun{error} if this is not possible. }% }% {1}{(\$)->Boolean}{MatrixCategory} -{\smath{\mbox{\bf symmetric?}\opLeftPren{}m\opRightPren{}} tests if the matrix \smath{m} is square and symmetric, +{\smath{\mbox{\bf symmetric?}\opLeftPren{}m\opRightPren{}} tests +if the matrix \smath{m} is square and symmetric, that is, if each \smath{m(i, j) = m(j, i)}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{symmetricDifference}}\opLeftPren{}{\it set}, \allowbreak{}{\it set}\opRightPren{}% +\opdata{{\mbox{\axiomFun{symmetricDifference}}\opLeftPren{}{\it set}, +\allowbreak{}{\it set}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{SetAggregate} -{\smath{\mbox{\bf symmetricDifference}\opLeftPren{}u, \allowbreak{} v\opRightPren{}} returns the set aggregate of +{\smath{\mbox{\bf symmetricDifference}\opLeftPren{}u, +\allowbreak{} v\opRightPren{}} returns the set aggregate of elements \smath{x} which are members of set aggregate \smath{u} or set aggregate \smath{v} but not both. If \smath{u} and \smath{v} have no elements in common, -\smath{\mbox{\bf symmetricDifference}\opLeftPren{}u, \allowbreak{} v\opRightPren{}} returns a copy of \smath{u}. +\smath{\mbox{\bf symmetricDifference}\opLeftPren{}u, +\allowbreak{} v\opRightPren{}} returns a copy of \smath{u}. Note: \smath{symmetricDifference(u, v) = {\bf union}({\bf difference}(u, v), {\bf difference}(v, u))} } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{symmetricGroup}}\opLeftPren{}{\it integers}\opRightPren{}% +\opdata{{\mbox{\axiomFun{symmetricGroup}}\opLeftPren{} +{\it integers}\opRightPren{}% }% }% {1}{(List(Integer))->PermutationGroup(Integer)}{PermutationGroupExamples} -{\smath{\mbox{\bf symmetricGroup}\opLeftPren{}n\opRightPren{}} constructs the symmetric group \smath{S_n} acting on the +{\smath{\mbox{\bf symmetricGroup}\opLeftPren{}n\opRightPren{}} +constructs the symmetric group \smath{S_n} acting on the integers 1, \ldots, \smath{n}. -The generators are the \smath{n}-cycle \smath{(1, \ldots, n)} and the 2-cycle \smath{(1, 2)}. +The generators are the \smath{n}-cycle \smath{(1, \ldots, n)} +and the 2-cycle \smath{(1, 2)}. \newitem -\smath{\mbox{\bf symmetricGroup}\opLeftPren{}li\opRightPren{}}, where \smath{li} is a list of integers, +\smath{\mbox{\bf symmetricGroup}\opLeftPren{}li\opRightPren{}}, +where \smath{li} is a list of integers, constructs the symmetric group acting on the integers in the list \smath{li}. The generators are the cycle given by \smath{li} and @@ -80205,20 +84264,25 @@ Duplicates in the list will be removed. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{symmetricRemainder}}\opLeftPren{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{symmetricRemainder}}\opLeftPren{} +{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{IntegerNumberSystem} -{\smath{\mbox{\bf symmetricRemainder}\opLeftPren{}a, \allowbreak{} b\opRightPren{}}, where \smath{b > 1}, yields +{\smath{\mbox{\bf symmetricRemainder}\opLeftPren{}a, +\allowbreak{} b\opRightPren{}}, where \smath{b > 1}, yields \smath{r} where \smath{ -b/2 \leq r < b/2}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{symmetricTensors}}\opLeftPren{}{\it matrices}, \allowbreak{}{\it positiveInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{symmetricTensors}}\opLeftPren{} +{\it matrices}, \allowbreak{}{\it positiveInteger}\opRightPren{}% }% }% -{2}{(List(Matrix(R)), PositiveInteger)->List(Matrix(R))}{RepresentationPackage1} -{\smath{\mbox{\bf symmetricTensors}\opLeftPren{}la, \allowbreak{} n\opRightPren{}}, where \smath{la} is a list +{2}{(List(Matrix(R)), PositiveInteger)->List(Matrix(R))} +{RepresentationPackage1} +{\smath{\mbox{\bf symmetricTensors}\opLeftPren{}la, +\allowbreak{} n\opRightPren{}}, where \smath{la} is a list \smath{[a_1, \ldots, a_k]} of \smath{m}-by-\smath{m} square matrices, applies to each matrix \smath{a_i}, the irreducible, polynomial representation of the general linear group \smath{GL_m} @@ -80227,49 +84291,59 @@ corresponding to the partition \smath{(n, 0, \ldots, 0)} of } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{systemCommand}}\opLeftPren{}{\it string}\opRightPren{}% +\opdata{{\mbox{\axiomFun{systemCommand}}\opLeftPren{} +{\it string}\opRightPren{}% }% }% {1}{(String)->Void}{MoreSystemCommands} -{\smath{\mbox{\bf systemCommand}\opLeftPren{}cmd\opRightPren{}} takes the string \smath{cmd} and +{\smath{\mbox{\bf systemCommand}\opLeftPren{}cmd\opRightPren{}} +takes the string \smath{cmd} and passes it to the runtime environment for execution as a system command. Although various things may be printed, no usable value is returned. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{tableau}}\opLeftPren{}{\it listOfListOfElements}\opRightPren{}% +\opdata{{\mbox{\axiomFun{tableau}}\opLeftPren{} +{\it listOfListOfElements}\opRightPren{}% }% }% {1}{(List(List(S)))->\$}{Tableau} -{\smath{\mbox{\bf tableau}\opLeftPren{}ll\opRightPren{}} converts a list of lists \smath{ll} to an object +{\smath{\mbox{\bf tableau}\opLeftPren{}ll\opRightPren{}} converts a +list of lists \smath{ll} to an object of type \spadtype{Tableau}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{tableForDiscreteLogarithm}}\opLeftPren{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{tableForDiscreteLogarithm}}\opLeftPren{} +{\it integer}\opRightPren{}% }% }% {1}{(Integer)->Table(PositiveInteger, NonNegativeInteger)}{FiniteFieldCategory} -{\smath{\mbox{\bf tableForDiscreteLogarithm}\opLeftPren{}n\opRightPren{}} returns a table of the +{\smath{\mbox{\bf tableForDiscreteLogarithm}\opLeftPren{}n\opRightPren{}} +returns a table of the discrete logarithms of \smath{a^0} up to \smath{a^{n-1}} which, -when called with the key \smath{\mbox{\bf lookup}\opLeftPren{}a^i\opRightPren{}}, returns \smath{i} for +when called with the key +\smath{\mbox{\bf lookup}\opLeftPren{}a^i\opRightPren{}}, returns \smath{i} for \smath{i} in \smath{0..n-1} for a finite field. This operation calls \spadfun{error} if not called for prime divisors of order of multiplicative group.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{table}}\opLeftPren{}{\it \opt{listOfRecords}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{table}}\opLeftPren{} +{\it \opt{listOfRecords}}\opRightPren{}% }% }% {1}{(List(Record(key:Key, entry:Entry)))->\$}{TableAggregate} -{\smath{\mbox{\bf table}\opLeftPren{}[p_1, \allowbreak{} p_2, \allowbreak{} \ldots, p_n]\opRightPren{}} creates a table with keys of +{\smath{\mbox{\bf table}\opLeftPren{}[p_1, \allowbreak{} p_2, +\allowbreak{} \ldots, p_n]\opRightPren{}} creates a table with keys of type \smath{Key} and entries of type \smath{Entry}. Each pair \smath{p_i} is a record with selectors \smath{key} and \smath{entry} with values from the corresponding domains \smath{Key} and \smath{Entry}. \newitem -\smath{\mbox{\bf table}\opLeftPren{}\opRightPren{}\$T} creates a empty table of domain \smath{T} +\smath{\mbox{\bf table}\opLeftPren{}\opRightPren{}\$T} +creates a empty table of domain \smath{T} of category \spadtype{TableAggregate}. } @@ -80278,7 +84352,8 @@ of category \spadtype{TableAggregate}. }% }% {1}{(\$)->\$}{UnaryRecursiveAggregate} -{\smath{\mbox{\bf tail}\opLeftPren{}a\opRightPren{}} returns the last node of recursive aggregate \smath{a}. +{\smath{\mbox{\bf tail}\opLeftPren{}a\opRightPren{}} +returns the last node of recursive aggregate \smath{a}. } % ---------------------------------------------------------------------- @@ -80291,25 +84366,34 @@ of category \spadtype{TableAggregate}. \spadtype{DoubleFloat}, or \spadtype{Expression} value or a series. } \newitem -\smath{\mbox{\bf tan}\opLeftPren{}x\opRightPren{}} returns the tangent of \smath{x}. +\smath{\mbox{\bf tan}\opLeftPren{}x\opRightPren{}} +returns the tangent of \smath{x}. \newitem -\smath{\mbox{\bf tanIfCan}\opLeftPren{}x\opRightPren{}} returns \smath{\mbox{\bf tan}\opLeftPren{}x\opRightPren{}} if possible, and \mbox{\tt "failed"} otherwise. +\smath{\mbox{\bf tanIfCan}\opLeftPren{}x\opRightPren{}} +returns \smath{\mbox{\bf tan}\opLeftPren{}x\opRightPren{}} if possible, +and \mbox{\tt "failed"} otherwise. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{tan2cot}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{tan2cot}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(F)->F}{TranscendentalManipulations} -{\smath{\mbox{\bf tan2cot}\opLeftPren{}f\opRightPren{}} converts every \smath{\mbox{\bf tan}\opLeftPren{}u\opRightPren{}} appearing in \smath{f} into \smath{1/{\rm cot}(u)}. +{\smath{\mbox{\bf tan2cot}\opLeftPren{}f\opRightPren{}} converts +every \smath{\mbox{\bf tan}\opLeftPren{}u\opRightPren{}} appearing in +\smath{f} into \smath{1/{\rm cot}(u)}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{tan2trig}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{tan2trig}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(F)->F}{TranscendentalManipulations} -{\smath{\mbox{\bf tan2trig}\opLeftPren{}f\opRightPren{}} converts every \smath{\mbox{\bf tan}\opLeftPren{}u\opRightPren{}} appearing in \smath{f} into \smath{\mbox{\bf sin}\opLeftPren{}u)/{\rm cos}(u)}. +{\smath{\mbox{\bf tan2trig}\opLeftPren{}f\opRightPren{}} converts +every \smath{\mbox{\bf tan}\opLeftPren{}u\opRightPren{}} appearing in +\smath{f} into \smath{\mbox{\bf sin}\opLeftPren{}u)/{\rm cos}(u)}. } % ---------------------------------------------------------------------- @@ -80318,93 +84402,123 @@ of category \spadtype{TableAggregate}. }% }% {1}{(K)->Union(K, "failed")}{PartialTranscendentalFunctions} -{\opkey{Argument x can be a \spadtype{Complex}, \spadtype{Float}, \spadtype{DoubleFloat}, or +{\opkey{Argument x can be a \spadtype{Complex}, \spadtype{Float}, +\spadtype{DoubleFloat}, or \spadtype{Expression} value or a series. } \newitem -\smath{\mbox{\bf tanh}\opLeftPren{}x\opRightPren{}} returns the hyperbolic tangent of \smath{x}. +\smath{\mbox{\bf tanh}\opLeftPren{}x\opRightPren{}} +returns the hyperbolic tangent of \smath{x}. \newitem -\smath{\mbox{\bf tanhIfCan}\opLeftPren{}x\opRightPren{}} returns \smath{\mbox{\bf tanh}\opLeftPren{}x\opRightPren{}} if possible, and \mbox{\tt "failed"} otherwise. +\smath{\mbox{\bf tanhIfCan}\opLeftPren{}x\opRightPren{}} +returns \smath{\mbox{\bf tanh}\opLeftPren{}x\opRightPren{}} if possible, +and \mbox{\tt "failed"} otherwise. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{tanh2coth}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{tanh2coth}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(F)->F}{TranscendentalManipulations} -{\smath{\mbox{\bf tanh2coth}\opLeftPren{}f\opRightPren{}} converts every \smath{\mbox{\bf tanh}\opLeftPren{}u\opRightPren{}} appearing in \smath{f} into \smath{1/{\rm coth}(u)}. +{\smath{\mbox{\bf tanh2coth}\opLeftPren{}f\opRightPren{}} +converts every \smath{\mbox{\bf tanh}\opLeftPren{}u\opRightPren{}} +appearing in \smath{f} into \smath{1/{\rm coth}(u)}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{tanh2trigh}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{tanh2trigh}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(F)->F}{TranscendentalManipulations} -{\smath{\mbox{\bf tanh2trigh}\opLeftPren{}f\opRightPren{}} converts every \smath{\mbox{\bf tanh}\opLeftPren{}u\opRightPren{}} appearing in \smath{f} into \smath{\mbox{\bf sinh}\opLeftPren{}u)/{\rm cosh}(u)}. +{\smath{\mbox{\bf tanh2trigh}\opLeftPren{}f\opRightPren{}} converts +every \smath{\mbox{\bf tanh}\opLeftPren{}u\opRightPren{}} appearing in +\smath{f} into \smath{\mbox{\bf sinh}\opLeftPren{}u)/{\rm cosh}(u)}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{taylor}}\opLeftPren{}{\it various}, \allowbreak{}{\it ..}\opRightPren{}% +\opdata{{\mbox{\axiomFun{taylor}}\opLeftPren{}{\it various}, +\allowbreak{}{\it ..}\opRightPren{}% }% }% {1}{(\$)->UTS}{UnivariateLaurentSeriesConstructorCategory} -{\smath{\mbox{\bf taylor}\opLeftPren{}u\opRightPren{}} converts the Laurent series \smath{u(x)} to a Taylor series if possible, +{\smath{\mbox{\bf taylor}\opLeftPren{}u\opRightPren{}} +converts the Laurent series \smath{u(x)} to a Taylor series if possible, and if not, calls \spadfun{error}. \newitem -\smath{\mbox{\bf taylor}\opLeftPren{}f\opRightPren{}} converts the expression \smath{f} into a +\smath{\mbox{\bf taylor}\opLeftPren{}f\opRightPren{}} +converts the expression \smath{f} into a Taylor expansion of the expression \smath{f}. Note: \smath{f} must have only one variable. \newitem -\smath{\mbox{\bf taylor}\opLeftPren{}sy\opRightPren{}}, where \smath{sy} is a symbol, returns \smath{sy} as a Taylor series. +\smath{\mbox{\bf taylor}\opLeftPren{}sy\opRightPren{}}, +where \smath{sy} is a symbol, returns \smath{sy} as a Taylor series. \newitem -\smath{\mbox{\bf taylor}\opLeftPren{}n +-> a(n), \allowbreak{} x = a\opRightPren{}} returns \smath{\sum_{n = 0 \ldots} +\smath{\mbox{\bf taylor}\opLeftPren{}n +-> a(n), +\allowbreak{} x = a\opRightPren{}} returns \smath{\sum_{n = 0 \ldots} a(n)(x-a)^n)}. \newitem -\smath{\mbox{\bf taylor}\opLeftPren{}f, \allowbreak{} x = a\optinner{, n}\opRightPren{}} expands the expression \smath{f} as a +\smath{\mbox{\bf taylor}\opLeftPren{}f, +\allowbreak{} x = a\optinner{, n}\opRightPren{}} +expands the expression \smath{f} as a series in powers of \smath{(x - a)} with \smath{n} terms. If \smath{n} is missing, the number of terms is governed by the value set by the system command \spadsyscom{)set streams calculate}. \newitem -\smath{\mbox{\bf taylor}\opLeftPren{}i +-> a(i), \allowbreak{} x = a, \allowbreak{} m..\optinner{n, k}\opRightPren{}} creates the +\smath{\mbox{\bf taylor}\opLeftPren{}i +-> a(i), +\allowbreak{} x = a, \allowbreak{} m..\optinner{n, k}\opRightPren{}} creates the Taylor series \smath{\sum\nolimits_{i = m..n {\ \tt by\ } k}{a(i) (x-a)^i}}. Here \smath{m}, \smath{n} and \smath{k} are integers. -Upper-limit \smath{n} and stepsize \smath{k} are optional and have default values +Upper-limit \smath{n} and stepsize \smath{k} are optional +and have default values \smath{n = \infty} and \smath{k = 1}. \newitem -\smath{\mbox{\bf taylor}\opLeftPren{}a(i), \allowbreak{} i, \allowbreak{} x=a, \allowbreak{} m..\optinner{n, k}\opRightPren{}} returns +\smath{\mbox{\bf taylor}\opLeftPren{}a(i), \allowbreak{} i, +\allowbreak{} x=a, \allowbreak{} m..\optinner{n, k}\opRightPren{}} returns \smath{\sum\nolimits_{i = m..n {\bf by} k}{a(n) (x - a)^n}}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{taylorIfCan}}\opLeftPren{}{\it laurentSeries}\opRightPren{}% +\opdata{{\mbox{\axiomFun{taylorIfCan}}\opLeftPren{} +{\it laurentSeries}\opRightPren{}% }% }% {1}{(\$)->Union(UTS, "failed")}{UnivariateLaurentSeriesConstructorCategory} -{\smath{\mbox{\bf taylorIfCan}\opLeftPren{}f(x)\opRightPren{}} converts the Laurent series +{\smath{\mbox{\bf taylorIfCan}\opLeftPren{}f(x)\opRightPren{}} +converts the Laurent series \smath{f(x)} to a Taylor series if possible, and returns \mbox{\tt "failed"} if this is not possible. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{taylorRep}}\opLeftPren{}{\it laurentSeries}\opRightPren{}% +\opdata{{\mbox{\axiomFun{taylorRep}}\opLeftPren{} +{\it laurentSeries}\opRightPren{}% }% }% {1}{(\$)->UTS}{UnivariateLaurentSeriesConstructorCategory} -{\smath{\mbox{\bf taylorRep}\opLeftPren{}f(x)\opRightPren{}} returns \smath{g(x)}, where \smath{f = +{\smath{\mbox{\bf taylorRep}\opLeftPren{}f(x)\opRightPren{}} +returns \smath{g(x)}, where \smath{f = x^n g(x)} is represented by \smath{[n, g(x)]}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{tensorProduct}}\opLeftPren{}{\it listOfMatrices\opt{, listOfMatrices}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{tensorProduct}}\opLeftPren{} +{\it listOfMatrices\opt{, listOfMatrices}}\opRightPren{}% }% }% -{2}{(List(Matrix(R)), List(Matrix(R)))->List(Matrix(R))}{RepresentationPackage1} -{\smath{\mbox{\bf tensorProduct}\opLeftPren{}[a_1, \allowbreak{} \ldots, a_k]\optinner{, [b_1, \ldots, b_k]}\opRightPren{}} +{2}{(List(Matrix(R)), List(Matrix(R)))->List(Matrix(R))} +{RepresentationPackage1} +{\smath{\mbox{\bf tensorProduct}\opLeftPren{}[a_1, +\allowbreak{} \ldots, a_k]\optinner{, [b_1, \ldots, b_k]}\opRightPren{}} calculates the list of Kronecker products of the matrices \smath{a_i} and \smath{b_i} for \smath{1 \leq i \leq k}. -If a second argument is missing, the \smath{b_i} is defined as the corresponding \smath{a_i}. -Also, \smath{\mbox{\bf tensorProduct}\opLeftPren{}m\opRightPren{}}, where \smath{m} is a matrix, -is defined as \smath{\mbox{\bf tensorProduct}\opLeftPren{}[m], \allowbreak{} [m]\opRightPren{}}. +If a second argument is missing, the \smath{b_i} is defined as the +corresponding \smath{a_i}. +Also, \smath{\mbox{\bf tensorProduct}\opLeftPren{}m\opRightPren{}}, +where \smath{m} is a matrix, +is defined as \smath{\mbox{\bf tensorProduct}\opLeftPren{}[m], +\allowbreak{} [m]\opRightPren{}}. Note: If each list of matrices corresponds to a group representation (representation of generators) of one group, then these matrices correspond to the tensor product of the two representations. @@ -80415,7 +84529,8 @@ these matrices correspond to the tensor product of the two representations. }% }% {1}{(\$)->List(Record(gen:S, exp:E))}{FreeAbelianMonoidCategory} -{\smath{\mbox{\bf terms}\opLeftPren{}s\opRightPren{}} returns a stream of the non-zero terms +{\smath{\mbox{\bf terms}\opLeftPren{}s\opRightPren{}} +returns a stream of the non-zero terms of series \smath{s}. Each term is returned as a record with selectors \smath{k} and \smath{c}, which correspond to the @@ -80430,11 +84545,13 @@ See \spadtype{FreeAbelianMonoidCategory}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{tex}}\opLeftPren{}{\it formattedObject}\opRightPren{}% +\opdata{{\mbox{\axiomFun{tex}}\opLeftPren{} +{\it formattedObject}\opRightPren{}% }% }% {1}{(\$)->List(String)}{TexFormat} -{\smath{\mbox{\bf tex}\opLeftPren{}t\opRightPren{}} extracts the TeX section of a TeX formatted object \smath{t}. +{\smath{\mbox{\bf tex}\opLeftPren{}t\opRightPren{}} +extracts the TeX section of a TeX formatted object \smath{t}. } % ---------------------------------------------------------------------- @@ -80442,7 +84559,8 @@ See \spadtype{FreeAbelianMonoidCategory}. }% }% {1}{(\$)->S}{UnaryRecursiveAggregate} -{\smath{\mbox{\bf third}\opLeftPren{}u\opRightPren{}} returns the third element of a recursive aggregate \smath{u}. +{\smath{\mbox{\bf third}\opLeftPren{}u\opRightPren{}} +returns the third element of a recursive aggregate \smath{u}. Note: \smath{\mbox{\bf third}\opLeftPren{}u) = first(rest(rest(u)))}. } @@ -80451,7 +84569,8 @@ Note: \smath{\mbox{\bf third}\opLeftPren{}u) = first(rest(rest(u)))}. }% }% {1}{(String)->\$}{DrawOption} -{\smath{\mbox{\bf title}\opLeftPren{}s\opRightPren{}} specifies string \smath{s} as the title for a plot. +{\smath{\mbox{\bf title}\opLeftPren{}s\opRightPren{}} +specifies string \smath{s} as the title for a plot. This option is expressed as a option to the \spadfun{draw} command in the form \code{title == s}. } @@ -80462,9 +84581,11 @@ form \code{title == s}. }% }% {1}{(\$)->S}{StackAggregate} -{\smath{\mbox{\bf top}\opLeftPren{}s\opRightPren{}} returns the top element \smath{x} from \smath{s}. +{\smath{\mbox{\bf top}\opLeftPren{}s\opRightPren{}} +returns the top element \smath{x} from \smath{s}. \newitem -\smath{\mbox{\bf top!}\opLeftPren{}d\opRightPren{}} returns the element at the top (front) of the dequeue. +\smath{\mbox{\bf top!}\opLeftPren{}d\opRightPren{}} +returns the element at the top (front) of the dequeue. } % ---------------------------------------------------------------------- @@ -80472,8 +84593,10 @@ form \code{title == s}. }% }% {1}{(R)->(Point(R))->Point(R)}{CoordinateSystems} -{\smath{\mbox{\bf toroidal}\opLeftPren{}element\opRightPren{}} transforms from toroidal coordinates to Cartesian coordinates: -\smath{\mbox{\bf toroidal}\opLeftPren{}a\opRightPren{}} is a function that maps the point \smath{(u, v, \phi)} to +{\smath{\mbox{\bf toroidal}\opLeftPren{}element\opRightPren{}} +transforms from toroidal coordinates to Cartesian coordinates: +\smath{\mbox{\bf toroidal}\opLeftPren{}a\opRightPren{}} +is a function that maps the point \smath{(u, v, \phi)} to \smath{x = a{\sinh}(v){\cos}(\phi)/({\cosh}(v)-{\cos}(u))}, \smath{y = a{\sinh}(v){\sin}(\phi)/({\cosh}(v)-{\cos}(u))}, \smath{z = a{\sin}(u)/({\cosh}(v)-{\cos}(u))}. @@ -80484,18 +84607,21 @@ form \code{title == s}. }% }% {1}{(Boolean)->\$}{DrawOption} -{\smath{\mbox{\bf toScale}\opLeftPren{}b\opRightPren{}} specifies whether or not a plot is to be drawn +{\smath{\mbox{\bf toScale}\opLeftPren{}b\opRightPren{}} +specifies whether or not a plot is to be drawn to scale. This command may be expressed as an option to the \spadfun{draw} command in the form \smath{toScale == b}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{totalDegree}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it listOfVariables}\opRightPren{}% +\opdata{{\mbox{\axiomFun{totalDegree}}\opLeftPren{} +{\it polynomial}, \allowbreak{}{\it listOfVariables}\opRightPren{}% }% }% {2}{(\$, List(VarSet))->NonNegativeInteger}{PolynomialCategory} -{\smath{\mbox{\bf totalDegree}\opLeftPren{}p\optinner{, lv}\opRightPren{}} returns the maximum sum +{\smath{\mbox{\bf totalDegree}\opLeftPren{}p\optinner{, lv}\opRightPren{}} +returns the maximum sum (over all monomials of polynomial \smath{p}) of the variables in the list \smath{lv}. If a second argument is missing, \smath{lv} is defined @@ -80503,22 +84629,27 @@ to be all the variables appearing in \smath{p}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{totalfract}}\opLeftPren{}{\it polynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{totalfract}}\opLeftPren{} +{\it polynomial}\opRightPren{}% }% }% -{1}{(PRF)->Record(sup:Polynomial(R), inf:Polynomial(R))}{MPolyCatRationalFunctionFactorizer} -{\smath{\mbox{\bf totalfract}\opLeftPren{}prf\opRightPren{}} takes a polynomial whose coefficients are +{1}{(PRF)->Record(sup:Polynomial(R), inf:Polynomial(R))} +{MPolyCatRationalFunctionFactorizer} +{\smath{\mbox{\bf totalfract}\opLeftPren{}prf\opRightPren{}} +takes a polynomial whose coefficients are themselves fractions of polynomials and returns a record containing the numerator and denominator resulting from putting \smath{prf} over a common denominator. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{totalGroebner}}\opLeftPren{}{\it listOfPolynomials}, \allowbreak{}{\it listOfVariables}\opRightPren{}% +\opdata{{\mbox{\axiomFun{totalGroebner}}\opLeftPren{} +{\it listOfPolynomials}, \allowbreak{}{\it listOfVariables}\opRightPren{}% }% }% {2}{(List(Polynomial(F)), List(Symbol))->List(Polynomial(F))}{PolyGroebner} -{\smath{\mbox{\bf totalGroebner}\opLeftPren{}lp, \allowbreak{} lv\opRightPren{}} computes the Gr\"obner basis for the +{\smath{\mbox{\bf totalGroebner}\opLeftPren{}lp, +\allowbreak{} lv\opRightPren{}} computes the Gr\"obner basis for the \index{Groebner basis@{Gr\protect\"{o}bner basis}} list of polynomials \smath{lp} with the terms ordered first by \index{basis!Groebner@{Gr\protect\"{o}bner}} @@ -80532,16 +84663,20 @@ The variables are ordered by their position in the list }% }% {1}{(\$)->List(Kernel(\$))}{ExpressionSpace} -{\smath{\mbox{\bf tower}\opLeftPren{}f\opRightPren{}} returns all the kernels appearing in \smath{f}, regardless of level.} +{\smath{\mbox{\bf tower}\opLeftPren{}f\opRightPren{}} +returns all the kernels appearing in \smath{f}, regardless of level.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{trace}}\opLeftPren{}{\it various}, \allowbreak{}{\it ..}\opRightPren{}% +\opdata{{\mbox{\axiomFun{trace}}\opLeftPren{} +{\it various}, \allowbreak{}{\it ..}\opRightPren{}% }% }% {1}{(\$)->R}{SquareMatrixCategory} -{\smath{\mbox{\bf trace}\opLeftPren{}m\opRightPren{}} returns the trace of the matrix \smath{m}, that is, the +{\smath{\mbox{\bf trace}\opLeftPren{}m\opRightPren{}} +returns the trace of the matrix \smath{m}, that is, the sum of its diagonal elements. -\newitem\smath{\mbox{\bf trace}\opLeftPren{}a\opRightPren{}} returns the trace of the regular +\newitem\smath{\mbox{\bf trace}\opLeftPren{}a\opRightPren{}} +returns the trace of the regular representation of \smath{a}, an element of an algebra of finite rank. See \spadtype{FiniteRankAlgebra}. @@ -80553,15 +84688,18 @@ over the ground field of size \smath{q}. This operation calls \spadfun{error} if \smath{d} does not divide the extension degree of \smath{a}. The default value of \smath{d} is 1. -Note: \smath{\mbox{\bf trace}\opLeftPren{}a, d) = \sum_{i=0}^{n/d} a^{q^{d i}}}. +Note: +\smath{\mbox{\bf trace}\opLeftPren{}a, d) = \sum_{i=0}^{n/d} a^{q^{d i}}}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{traceMatrix}}\opLeftPren{}{\it \opt{basis}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{traceMatrix}}\opLeftPren{} +{\it \opt{basis}}\opRightPren{}% }% }% {1}{(Vector(\$))->Matrix(R)}{FiniteRankAlgebra} -{\smath{\mbox{\bf traceMatrix}\opLeftPren{}[v1, \allowbreak{} .., \allowbreak{} vn]\opRightPren{}} is the \smath{n}-by-\smath{n} +{\smath{\mbox{\bf traceMatrix}\opLeftPren{}[v1, \allowbreak{} .., +\allowbreak{} vn]\opRightPren{}} is the \smath{n}-by-\smath{n} matrix whose \smath{i}, \smath{j} element is \smath{Tr(v_i v_j)}. If no argument is given, the \smath{v_i} are assumed to be elements @@ -80569,11 +84707,14 @@ of the fixed basis. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{tracePowMod}}\opLeftPren{}{\it poly}, \allowbreak{}{\it nonNegativeInteger}, \allowbreak{}{\it poly}\opRightPren{}% +\opdata{{\mbox{\axiomFun{tracePowMod}}\opLeftPren{}{\it poly}, +\allowbreak{}{\it nonNegativeInteger}, \allowbreak{}{\it poly} +\opRightPren{}% }% }% {3}{(FP, NonNegativeInteger, FP)->FP}{DistinctDegreeFactorize} -{\smath{\mbox{\bf tracePowMod}\opLeftPren{}u, \allowbreak{} k, \allowbreak{} v\opRightPren{}} returns \smath{\sum\nolimits_{i=0}^k +{\smath{\mbox{\bf tracePowMod}\opLeftPren{}u, \allowbreak{} k, +\allowbreak{} v\opRightPren{}} returns \smath{\sum\nolimits_{i=0}^k {u^{2^i}}}, all computed modulo the polynomial \smath{v}. } @@ -80582,30 +84723,36 @@ of the fixed basis. }% }% {0}{()->NonNegativeInteger}{ExtensionField} -{\smath{\mbox{\bf transcendenceDegree}\opLeftPren{}\opRightPren{}\$F} returns the transcendence degree +{\smath{\mbox{\bf transcendenceDegree}\opLeftPren{}\opRightPren{}\$F} +returns the transcendence degree of the field extension \smath{F}, or 0 if the extension is algebraic. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{transcendent?}}\opLeftPren{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{transcendent?}}\opLeftPren{} +{\it element}\opRightPren{}% }% }% {1}{(\$)->Boolean}{ExtensionField} -{\smath{\mbox{\bf transcendent?}\opLeftPren{}a\opRightPren{}} tests whether an element \smath{a} of +{\smath{\mbox{\bf transcendent?}\opLeftPren{}a\opRightPren{}} +tests whether an element \smath{a} of a domain that is an extension field over a ground field \smath{F} is transcendent with respect to \smath{F}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{transpose}}\opLeftPren{}{\it matrix\opt{, options}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{transpose}}\opLeftPren{} +{\it matrix\opt{, options}}\opRightPren{}% }% }% {1}{(\$)->\$}{MatrixCategory} -{\smath{\mbox{\bf transpose}\opLeftPren{}m\opRightPren{}} returns the transpose of the matrix \smath{m}. +{\smath{\mbox{\bf transpose}\opLeftPren{}m\opRightPren{}} +returns the transpose of the matrix \smath{m}. \newitem -\smath{\mbox{\bf transpose}\opLeftPren{}t\optinner{, i, j}\opRightPren{}} exchanges the \eth{\smath{i}} +\smath{\mbox{\bf transpose}\opLeftPren{}t\optinner{, i, j}\opRightPren{}} +exchanges the \eth{\smath{i}} and \eth{\smath{j}} indices of \smath{t}. For example, if \smath{r = {\bf transpose}(t, 2, 3)} for a rank four tensor \smath{t}, then \smath{r} is the rank four tensor given by @@ -80615,26 +84762,37 @@ first and last index of \smath{t}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{tree}}\opLeftPren{}{\it value\opt{, listOfChildren}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{tree}}\opLeftPren{} +{\it value\opt{, listOfChildren}}\opRightPren{}% }% }% {1}{(\$)->\$}{MatrixCategory} -{\smath{\mbox{\bf tree}\opLeftPren{}x, \allowbreak{} ls\opRightPren{}} creates an element of \spadtype{Tree} with +{\smath{\mbox{\bf tree}\opLeftPren{}x, \allowbreak{} ls\opRightPren{}} +creates an element of \spadtype{Tree} with value \smath{x} at the root node, and immediate children \spad{ls} in left-to-right order. \newitem -\smath{\mbox{\bf tree}\opLeftPren{}x\opRightPren{}} is equivalent to \smath{\mbox{\bf tree}\opLeftPren{}x, \allowbreak{} []\$List(S)\opRightPren{}} where +\smath{\mbox{\bf tree}\opLeftPren{}x\opRightPren{}} is equivalent to +\smath{\mbox{\bf tree}\opLeftPren{}x, \allowbreak{} []\$List(S)\opRightPren{}} +where \spad{x} has type \spad{S}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{trapezoidal}}\opLeftPren{}{\it floatFunction}, \allowbreak{}{\it fourFloats}, \allowbreak{}{\it threeIntegers}\opRightPren{}% -\optand \mbox{\axiomFun{trapezoidalClosed}}\opLeftPren{}{\it floatFunction}, \allowbreak{}{\it fourFloats}, \allowbreak{}{\it twoIntegers}\opRightPren{}% -\opand \mbox{\axiomFun{trapezoidalOpen}}\opLeftPren{}{\it floatFunction}, \allowbreak{}{\it fourFloats}, \allowbreak{}{\it twoIntegers}\opRightPren{}% +\opdata{{\mbox{\axiomFun{trapezoidal}}\opLeftPren{}{\it floatFunction}, +\allowbreak{}{\it fourFloats}, \allowbreak{}{\it threeIntegers} +\opRightPren{}% +\optand \mbox{\axiomFun{trapezoidalClosed}}\opLeftPren{}{\it floatFunction}, +\allowbreak{}{\it fourFloats}, \allowbreak{}{\it twoIntegers}\opRightPren{}% +\opand \mbox{\axiomFun{trapezoidalOpen}}\opLeftPren{}{\it floatFunction}, +\allowbreak{}{\it fourFloats}, \allowbreak{}{\it twoIntegers}\opRightPren{}% }% }% {}{}{} -{\smath{\mbox{\bf trapezoidal}\opLeftPren{}fn, \allowbreak{} a, \allowbreak{} b, \allowbreak{} epsrel, \allowbreak{} epsabs, \allowbreak{} nmin, \allowbreak{} nmax, \allowbreak{} nint\opRightPren{}} +{\smath{\mbox{\bf trapezoidal}\opLeftPren{}fn, \allowbreak{} a, +\allowbreak{} b, \allowbreak{} epsrel, \allowbreak{} epsabs, +\allowbreak{} nmin, +\allowbreak{} nmax, \allowbreak{} nint\opRightPren{}} uses the adaptive trapezoidal method to numerically integrate function \smath{fn} over the closed interval from \smath{a} to \smath{b}, with relative accuracy \smath{epsrel} and absolute @@ -80668,11 +84826,14 @@ it integrates function \smath{fn} over the open interval from } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{triangularSystems}}\opLeftPren{}{\it listOfFractions}, \allowbreak{}{\it listOfSymbols}\opRightPren{}% +\opdata{{\mbox{\axiomFun{triangularSystems}}\opLeftPren{} +{\it listOfFractions}, \allowbreak{}{\it listOfSymbols}\opRightPren{}% }% }% -{2}{(List(Fraction(Polynomial(R))), List(Symbol))->List(List(Polynomial(R)))}{SystemSolvePackage} -{\smath{\mbox{\bf triangularSystems}\opLeftPren{}lf, \allowbreak{} lv\opRightPren{}} solves the system of equations +{2}{(List(Fraction(Polynomial(R))), +List(Symbol))->List(List(Polynomial(R)))}{SystemSolvePackage} +{\smath{\mbox{\bf triangularSystems}\opLeftPren{}lf, +\allowbreak{} lv\opRightPren{}} solves the system of equations defined by \smath{lf} with respect to the list of symbols \smath{lv}; the system of equations is obtaining by equating to zero the list of @@ -80686,16 +84847,19 @@ as a ``reduced'' triangular system of polynomials. }% }% {1}{(F)->F}{TrigonometricManipulations} -{\smath{\mbox{\bf trigs}\opLeftPren{}f\opRightPren{}} rewrites all the complex logs and exponentials +{\smath{\mbox{\bf trigs}\opLeftPren{}f\opRightPren{}} +rewrites all the complex logs and exponentials appearing in \smath{f} in terms of trigonometric functions. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{trim}}\opLeftPren{}{\it string}, \allowbreak{}{\it characterOrCharacterClass}\opRightPren{}% +\opdata{{\mbox{\axiomFun{trim}}\opLeftPren{}{\it string}, \allowbreak{} +{\it characterOrCharacterClass}\opRightPren{}% }% }% {2}{(\$, Character)->\$}{StringAggregate} -{\smath{\mbox{\bf trim}\opLeftPren{}s, \allowbreak{} c\opRightPren{}} returns \smath{s} with all characters \smath{c} +{\smath{\mbox{\bf trim}\opLeftPren{}s, \allowbreak{} c\opRightPren{}} +returns \smath{s} with all characters \smath{c} deleted from right and left ends. For example, \code{trim(" abc ", char " ")} returns \code{"abc"}. @@ -80707,25 +84871,30 @@ For example, \code{trim("(abc)", charClass "()")} returns } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{truncate}}\opLeftPren{}{\it various\opt{, options}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{truncate}}\opLeftPren{} +{\it various\opt{, options}}\opRightPren{}% }% }% {1}{(\$)->\$}{RealNumberSystem} -{\smath{\mbox{\bf truncate}\opLeftPren{}x\opRightPren{}} returns the integer between \smath{x} and 0 +{\smath{\mbox{\bf truncate}\opLeftPren{}x\opRightPren{}} +returns the integer between \smath{x} and 0 closest to \smath{x}. \newitem -\smath{\mbox{\bf truncate}\opLeftPren{}f, \allowbreak{} m\optinner{, n}\opRightPren{}} returns a (finite) power series +\smath{\mbox{\bf truncate}\opLeftPren{}f, +\allowbreak{} m\optinner{, n}\opRightPren{}} returns a (finite) power series consisting of the sum of all terms of \smath{f} of degree \smath{d} with \smath{n \leq d \leq m}. Upper bound \smath{m} is \smath{\infty} by default. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{tubePoints}}\opLeftPren{}{\it positiveInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{tubePoints}}\opLeftPren{} +{\it positiveInteger}\opRightPren{}% }% }% {1}{(PositiveInteger)->\$}{DrawOption} -{\smath{\mbox{\bf tubePoints}\opLeftPren{}n\opRightPren{}} specifies the number of points, \smath{n}, +{\smath{\mbox{\bf tubePoints}\opLeftPren{}n\opRightPren{}} +specifies the number of points, \smath{n}, defining the circle that creates the tube around a \threedim{} curve. The default is 6. @@ -80733,15 +84902,18 @@ This option is expressed in the form \code{tubePoints == n}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{tubePointsDefault}}\opLeftPren{}{\it \opt{positiveInteger}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{tubePointsDefault}}\opLeftPren{} +{\it \opt{positiveInteger}}\opRightPren{}% }% }% {1}{(PositiveInteger)->PositiveInteger}{ViewDefaultsPackage} -{\smath{\mbox{\bf tubePointsDefault}\opLeftPren{}i\opRightPren{}} sets the number of points to use +{\smath{\mbox{\bf tubePointsDefault}\opLeftPren{}i\opRightPren{}} +sets the number of points to use when creating the circle to be used in creating a \threedim{} tube plot to \smath{i}. \newitem -\smath{\mbox{\bf tubePointsDefault}\opLeftPren{}\opRightPren{}} returns the number of points to be +\smath{\mbox{\bf tubePointsDefault}\opLeftPren{}\opRightPren{}} +returns the number of points to be used when creating the circle to be used in creating a \threedim{} tube plot. } @@ -80751,21 +84923,25 @@ tube plot. }% }% {1}{(Float)->\$}{DrawOption} -{\smath{\mbox{\bf tubeRadius}\opLeftPren{}r\opRightPren{}} specifies a radius \smath{r} for a tube +{\smath{\mbox{\bf tubeRadius}\opLeftPren{}r\opRightPren{}} +specifies a radius \smath{r} for a tube plot around a \threedim{} curve. This operation may be expressed as an option to the \spadfun{draw} command in the form \code{tubeRadius == r}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{tubeRadiusDefault}}\opLeftPren{}{\it \opt{float}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{tubeRadiusDefault}}\opLeftPren{} +{\it \opt{float}}\opRightPren{}% }% }% {0}{()->DoubleFloat}{ViewDefaultsPackage} -{\smath{\mbox{\bf tubeRadiusDefault}\opLeftPren{}r\opRightPren{}} sets the default radius for a +{\smath{\mbox{\bf tubeRadiusDefault}\opLeftPren{}r\opRightPren{}} +sets the default radius for a \threedim{} tube plot to \smath{r}. \newitem -\smath{\mbox{\bf tubeRadiusDefault}\opLeftPren{}\opRightPren{}} returns the radius used for a +\smath{\mbox{\bf tubeRadiusDefault}\opLeftPren{}\opRightPren{}} +returns the radius used for a \threedim{} tube plot. } @@ -80781,25 +84957,31 @@ See \spadtype{MappingPackage} for related functions. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{unary?}}\opLeftPren{}{\it basicOperator}\opRightPren{}% +\opdata{{\mbox{\axiomFun{unary?}}\opLeftPren{} +{\it basicOperator}\opRightPren{}% }% }% {1}{(\$)->Boolean}{BasicOperator} -{\smath{\mbox{\bf unary?}\opLeftPren{}op\opRightPren{}} tests if basic operator \smath{op} is unary, +{\smath{\mbox{\bf unary?}\opLeftPren{}op\opRightPren{}} tests +if basic operator \smath{op} is unary, that is, takes exactly one argument. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{union}}\opLeftPren{}{\it set}, \allowbreak{}{\it elementOrSet}\opRightPren{}% +\opdata{{\mbox{\axiomFun{union}}\opLeftPren{}{\it set}, \allowbreak{} +{\it elementOrSet}\opRightPren{}% }% }% {2}{(\$, S)->\$}{SetAggregate} -{\smath{\mbox{\bf union}\opLeftPren{}u, \allowbreak{} x\opRightPren{}} returns the set aggregate \smath{u} with the +{\smath{\mbox{\bf union}\opLeftPren{}u, +\allowbreak{} x\opRightPren{}} returns the set aggregate \smath{u} with the element \smath{x} added. -If \smath{u} already contains \smath{x}, \smath{\mbox{\bf union}\opLeftPren{}u, \allowbreak{} x\opRightPren{}} +If \smath{u} already contains \smath{x}, +\smath{\mbox{\bf union}\opLeftPren{}u, \allowbreak{} x\opRightPren{}} returns a copy of \smath{x}. \newitem -\smath{\mbox{\bf union}\opLeftPren{}u, \allowbreak{} v\opRightPren{}} returns the set aggregate of elements that are +\smath{\mbox{\bf union}\opLeftPren{}u, \allowbreak{} v\opRightPren{}} +returns the set aggregate of elements that are members of either set aggregate \smath{u} or \smath{v}. See also \axiomType{Multiset}. } @@ -80809,13 +84991,16 @@ See also \axiomType{Multiset}. }% }% {1}{(\$)->R}{Factored} -{\smath{\mbox{\bf unit}\opLeftPren{}\opRightPren{}} returns a unit of the algebra (necessarily +{\smath{\mbox{\bf unit}\opLeftPren{}\opRightPren{}} +returns a unit of the algebra (necessarily unique), or \mbox{\tt "failed"} if there is none. \newitem -\smath{\mbox{\bf unit}\opLeftPren{}u\opRightPren{}} extracts the unit part of the factored object +\smath{\mbox{\bf unit}\opLeftPren{}u\opRightPren{}} +extracts the unit part of the factored object \smath{u}. \newitem -\smath{\mbox{\bf unit}\opLeftPren{}l\opRightPren{}} marks off the units on a viewport according to +\smath{\mbox{\bf unit}\opLeftPren{}l\opRightPren{}} +marks off the units on a viewport according to the indicated list \smath{l}. This option is expressed in the draw command in the form \smath{{\tt unit ==} [f_1, f_2]}. @@ -80826,24 +85011,29 @@ This option is expressed in the draw command in the form }% }% {1}{(\$)->Boolean}{IntegralDomain} -{\smath{\mbox{\bf unit?}\opLeftPren{}x\opRightPren{}} tests whether \smath{x} is a unit, that is, if +{\smath{\mbox{\bf unit?}\opLeftPren{}x\opRightPren{}} +tests whether \smath{x} is a unit, that is, if \smath{x} is invertible. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{unitCanonical}}\opLeftPren{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{unitCanonical}}\opLeftPren{} +{\it element}\opRightPren{}% }% }% {1}{(\$)->\$}{IntegralDomain} -{\smath{\mbox{\bf unitCanonical}\opLeftPren{}x\opRightPren{}} returns \smath{\mbox{\bf unitNormal}\opLeftPren{}x).{canonical}}. +{\smath{\mbox{\bf unitCanonical}\opLeftPren{}x\opRightPren{}} +returns \smath{\mbox{\bf unitNormal}\opLeftPren{}x).{canonical}}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{unitNormalize}}\opLeftPren{}{\it factored}\opRightPren{}% +\opdata{{\mbox{\axiomFun{unitNormalize}}\opLeftPren{} +{\it factored}\opRightPren{}% }% }% {1}{(\$)->\$}{Factored} -{\smath{\mbox{\bf unitNormalize}\opLeftPren{}u\opRightPren{}} normalizes the unit part of the +{\smath{\mbox{\bf unitNormalize}\opLeftPren{}u\opRightPren{}} +normalizes the unit part of the factorization. For example, when working with factored integers, this operation ensures that the bases are all positive integers. @@ -80854,44 +85044,53 @@ ensures that the bases are all positive integers. }% }% {1}{(\$)->Record(unit:\$, canonical:\$, associate:\$)}{IntegralDomain} -{\smath{\mbox{\bf unitNormal}\opLeftPren{}x\opRightPren{}} tries to choose a canonical element from +{\smath{\mbox{\bf unitNormal}\opLeftPren{}x\opRightPren{}} +tries to choose a canonical element from the associate class of \smath{x}. If successful, it returns a record with three components ``unit'', ``canonical'' and ``associate''. The attribute \spadatt{canonicalUnitNormal}, if asserted, means that the ``canonical'' element is the same across all associates of \smath{x}. -If \smath{\mbox{\bf unitNormal}\opLeftPren{}x) = [u, c, a]} then \smath{ux = c}, +If \smath{\mbox{\bf unitNormal}\opLeftPren{}x) = [u, c, a]} +then \smath{ux = c}, \smath{au = 1}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{unitsColorDefault}}\opLeftPren{}{\it \opt{palette}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{unitsColorDefault}}\opLeftPren{} +{\it \opt{palette}}\opRightPren{}% }% }% {0}{()->Palette}{ViewDefaultsPackage} -{\smath{\mbox{\bf unitsColorDefault}\opLeftPren{}p\opRightPren{}} sets the default color of the unit +{\smath{\mbox{\bf unitsColorDefault}\opLeftPren{}p\opRightPren{}} +sets the default color of the unit ticks in a \twodim{} viewport to the palette \smath{p}. \newitem -\smath{\mbox{\bf unitsColorDefault}\opLeftPren{}\opRightPren{}} returns the default color of the unit +\smath{\mbox{\bf unitsColorDefault}\opLeftPren{}\opRightPren{}} +returns the default color of the unit ticks in a \twodim{} viewport. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{unitVector}}\opLeftPren{}{\it positiveInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{unitVector}}\opLeftPren{} +{\it positiveInteger}\opRightPren{}% }% }% {1}{(PositiveInteger)->\$}{DirectProductCategory} -{\smath{\mbox{\bf unitVector}\opLeftPren{}n\opRightPren{}} produces a vector with 1 in position +{\smath{\mbox{\bf unitVector}\opLeftPren{}n\opRightPren{}} +produces a vector with 1 in position \smath{n} and zero elsewhere. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{univariate}}\opLeftPren{}{\it polynomial\opt{, variable}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{univariate}}\opLeftPren{} +{\it polynomial\opt{, variable}}\opRightPren{}% }% }% {1}{(\$)->SparseUnivariatePolynomial(R)}{PolynomialCategory} -{\smath{\mbox{\bf univariate}\opLeftPren{}p\optinner{, v}\opRightPren{}} converts the multivariate +{\smath{\mbox{\bf univariate}\opLeftPren{}p\optinner{, v}\opRightPren{}} +converts the multivariate polynomial \smath{p} into a univariate polynomial in \smath{v} whose coefficients are multivariate polynomials in all the other variables. @@ -80903,7 +85102,8 @@ If \smath{v} is omitted, then \smath{p} must involve exactly one variable. }% }% {0}{()->\$}{FiniteSetAggregate} -{\smath{\mbox{\bf universe}\opLeftPren{}\opRightPren{}}\$\smath{R} returns the universal set for +{\smath{\mbox{\bf universe}\opLeftPren{}\opRightPren{}}\$\smath{R} +returns the universal set for finite set aggregate \smath{R}. } @@ -80913,18 +85113,23 @@ finite set aggregate \smath{R}. }% }% { $ -> String}{}{} -{\smath{\mbox{\bf unparse}\opLeftPren{}f\opRightPren{}} returns a string \smath{s} such that the parser +{\smath{\mbox{\bf unparse}\opLeftPren{}f\opRightPren{}} +returns a string \smath{s} such that the parser would transform \smath{s} to \smath{f}, or calls \spadfun{error} if \smath{f} is not the parsed form of a string. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{unrankImproperPartitions0}}\opLeftPren{}{\it integer}, \allowbreak{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{unrankImproperPartitions0}}\opLeftPren{} +{\it integer}, \allowbreak{}{\it integer}, \allowbreak{} +{\it integer}\opRightPren{}% }% }% -{3}{(Integer, Integer, Integer)->List(Integer)}{SymmetricGroupCombinatoricFunctions} -{\smath{\mbox{\bf unrankImproperPartitions0}\opLeftPren{}n, \allowbreak{} m, \allowbreak{} k\opRightPren{}} computes the +{3}{(Integer, Integer, Integer)->List(Integer)} +{SymmetricGroupCombinatoricFunctions} +{\smath{\mbox{\bf unrankImproperPartitions0}\opLeftPren{}n, \allowbreak{} m, +\allowbreak{} k\opRightPren{}} computes the \eth{\smath{k}} improper partition of nonnegative \smath{n} in \smath{m} nonnegative parts in reverse lexicographical order. Example: \smath{ [0, 0, 3] < [0, 1, 2] < [0, 2, 1] < [0, 3, 0] < [1, 0, 2] < @@ -80936,11 +85141,15 @@ Note: counting of subtrees is done by } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{unrankImproperPartitions1}}\opLeftPren{}{\it integer}, \allowbreak{}{\it integer}, \allowbreak{}{\it integer}\opRightPren{}% +\opdata{{\mbox{\axiomFun{unrankImproperPartitions1}}\opLeftPren{} +{\it integer}, \allowbreak{}{\it integer}, \allowbreak{} +{\it integer}\opRightPren{}% }% }% -{3}{(Integer, Integer, Integer)->List(Integer)}{SymmetricGroupCombinatoricFunctions} -{\smath{\mbox{\bf unrankImproperPartitions1}\opLeftPren{}n, \allowbreak{} m, \allowbreak{} k\opRightPren{}} computes the +{3}{(Integer, Integer, Integer)->List(Integer)} +{SymmetricGroupCombinatoricFunctions} +{\smath{\mbox{\bf unrankImproperPartitions1}\opLeftPren{}n, \allowbreak{} m, +\allowbreak{} k\opRightPren{}} computes the \eth{\smath{k}} improper partition of nonnegative \smath{n} in at most \smath{m} nonnegative parts ordered as follows: first, in reverse lexicographical order according to their non-zero parts, then @@ -80953,11 +85162,13 @@ Note: counting of subtrees is done by } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{unravel}}\opLeftPren{}{\it listOfElement}\opRightPren{}% +\opdata{{\mbox{\axiomFun{unravel}}\opLeftPren{} +{\it listOfElement}\opRightPren{}% }% }% {1}{(List(R))->\$}{CartesianTensor} -{\smath{\mbox{\bf unravel}\opLeftPren{}t\opRightPren{}} produces a tensor from a list of components such that +{\smath{\mbox{\bf unravel}\opLeftPren{}t\opRightPren{}} +produces a tensor from a list of components such that \smath{\mbox{\bf unravel}\opLeftPren{}{\bf ravel}(t)) = t}. } @@ -80968,153 +85179,188 @@ Note: counting of subtrees is done by }% }% {1}{(\$)->\$}{StringAggregate} -{\smath{\mbox{\bf upperCase!}\opLeftPren{}s\opRightPren{}} destructively replaces the alphabetic +{\smath{\mbox{\bf upperCase!}\opLeftPren{}s\opRightPren{}} +destructively replaces the alphabetic characters in \smath{s} by upper case characters. \newitem -\smath{\mbox{\bf upperCase}\opLeftPren{}\opRightPren{}} returns the class of all characters for which +\smath{\mbox{\bf upperCase}\opLeftPren{}\opRightPren{}} +returns the class of all characters for which \spadfunFrom{upperCase?}{Character} is \smath{true}. \newitem -\smath{\mbox{\bf upperCase}\opLeftPren{}c\opRightPren{}} converts a lower case letter +\smath{\mbox{\bf upperCase}\opLeftPren{}c\opRightPren{}} +converts a lower case letter \smath{c} to the corresponding upper case letter. If \smath{c} is not a lower case letter, then it is returned unchanged. \newitem -\smath{\mbox{\bf upperCase}\opLeftPren{}s\opRightPren{}} returns the string with all characters in +\smath{\mbox{\bf upperCase}\opLeftPren{}s\opRightPren{}} +returns the string with all characters in upper case. \newitem -\smath{\mbox{\bf upperCase?}\opLeftPren{}c\opRightPren{}} tests if \smath{c} is an upper case letter, +\smath{\mbox{\bf upperCase?}\opLeftPren{}c\opRightPren{}} tests +if \smath{c} is an upper case letter, that is, one of A..\smath{Z}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{validExponential}}\opLeftPren{}{\it listOfKernels}, \allowbreak{}{\it expression}, \allowbreak{}{\it symbol}\opRightPren{}% +\opdata{{\mbox{\axiomFun{validExponential}}\opLeftPren{} +{\it listOfKernels}, \allowbreak{}{\it expression}, \allowbreak{} +{\it symbol}\opRightPren{}% }% }% -{3}{(List(Kernel(F)), F, Symbol)->Union(F, "failed")}{ElementaryFunctionStructurePackage} -{\smath{\mbox{\bf validExponential}\opLeftPren{}[k_1, \allowbreak{} \ldots, k_n], f, x\opRightPren{}} returns \smath{g} +{3}{(List(Kernel(F)), F, Symbol)->Union(F, "failed")} +{ElementaryFunctionStructurePackage} +{\smath{\mbox{\bf validExponential}\opLeftPren{}[k_1, +\allowbreak{} \ldots, k_n], f, x\opRightPren{}} returns \smath{g} if \smath{\mbox{\bf exp}\opLeftPren{}f)=g} and \smath{g} involves only \smath{k_1\ldots{}k_n}, and \mbox{\tt "failed"} otherwise. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{value}}\opLeftPren{}{\it recursiveAggregate}\opRightPren{}% +\opdata{{\mbox{\axiomFun{value}}\opLeftPren{} +{\it recursiveAggregate}\opRightPren{}% }% }% {1}{(\$)->S}{RecursiveAggregate} -{\smath{\mbox{\bf value}\opLeftPren{}a\opRightPren{}} returns the ``value'' part of a recursive +{\smath{\mbox{\bf value}\opLeftPren{}a\opRightPren{}} +returns the ``value'' part of a recursive aggregate \spad{a}, typically the root of tree. See, for example, \spadtype{BinaryTree}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{var1Steps}}\opLeftPren{}{\it positiveInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{var1Steps}}\opLeftPren{} +{\it positiveInteger}\opRightPren{}% }% }% {1}{(PositiveInteger)->\$}{DrawOption} -{\smath{\mbox{\bf var1Steps}\opLeftPren{}n\opRightPren{}} indicates the number of subdivisions +{\smath{\mbox{\bf var1Steps}\opLeftPren{}n\opRightPren{}} +indicates the number of subdivisions \smath{n} of the first range variable. This command may be expressed as an option to the \spadfun{draw} command in the form \smath{{\bf var1Steps}== n}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{var1StepsDefault}}\opLeftPren{}{\it \opt{positiveInteger}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{var1StepsDefault}}\opLeftPren{} +{\it \opt{positiveInteger}}\opRightPren{}% }% }% {0}{()->PositiveInteger}{ViewDefaultsPackage} -{\smath{\mbox{\bf var1StepsDefault}\opLeftPren{}\opRightPren{}} returns the current setting for the +{\smath{\mbox{\bf var1StepsDefault}\opLeftPren{}\opRightPren{}} +returns the current setting for the number of steps to take when creating a \threedim{} mesh in the direction of the first defined free variable (a free variable is considered defined when its range is specified (that is, \smath{x=0}..10)). \newitem -\smath{\mbox{\bf var1StepsDefault}\opLeftPren{}i\opRightPren{}} sets the number of steps to take when +\smath{\mbox{\bf var1StepsDefault}\opLeftPren{}i\opRightPren{}} +sets the number of steps to take when creating a \threedim{} mesh in the direction of the first defined free variable to \smath{i} (a free variable is considered defined when its range is specified (that is, \smath{x=0}..10)). } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{var2Steps}}\opLeftPren{}{\it positiveInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{var2Steps}}\opLeftPren{} +{\it positiveInteger}\opRightPren{}% }% }% {1}{(PositiveInteger)->\$}{DrawOption} -{\smath{\mbox{\bf var2Steps}\opLeftPren{}n\opRightPren{}} indicates the number of subdivisions, +{\smath{\mbox{\bf var2Steps}\opLeftPren{}n\opRightPren{}} +indicates the number of subdivisions, \smath{n}, of the second range variable. This option is expressed in the form \smath{{\bf var2Steps} == n}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{var2StepsDefault}}\opLeftPren{}{\it \opt{positiveInteger}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{var2StepsDefault}}\opLeftPren{} +{\it \opt{positiveInteger}}\opRightPren{}% }% }% {()->PositiveInteger}{ViewDefaultsPackage} -{\smath{\mbox{\bf var2StepsDefault}\opLeftPren{}\opRightPren{}} is the current setting for the number +{\smath{\mbox{\bf var2StepsDefault}\opLeftPren{}\opRightPren{}} +is the current setting for the number of steps to take when creating a \threedim{} mesh in the direction of the first defined free variable (a free variable is considered defined when its range is specified (that is, \smath{x=0}..10)). \newitem -\smath{\mbox{\bf var2StepsDefault}\opLeftPren{}i\opRightPren{}} sets the number of steps to take when +\smath{\mbox{\bf var2StepsDefault}\opLeftPren{}i\opRightPren{}} +sets the number of steps to take when creating a \threedim{} mesh in the direction of the first defined free variable to \smath{i} (a free variable is considered defined when its range is specified (that is, \smath{x=0}..10)). } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{variable}}\opLeftPren{}{\it various}\opRightPren{}% +\opdata{{\mbox{\axiomFun{variable}}\opLeftPren{} +{\it various}\opRightPren{}% }% }% {1}{(\$)->Symbol}{UnivariatePowerSeriesCategory} -{\smath{\mbox{\bf variable}\opLeftPren{}f\opRightPren{}} returns the (unique) power series variable of +{\smath{\mbox{\bf variable}\opLeftPren{}f\opRightPren{}} +returns the (unique) power series variable of the power series \smath{f}. \newitem -\smath{\mbox{\bf variable}\opLeftPren{}segb\opRightPren{}} returns the variable from the left hand +\smath{\mbox{\bf variable}\opLeftPren{}segb\opRightPren{}} +returns the variable from the left hand side of the \spadtype{SegmentBinding} \smath{segb}. For example, if \smath{segb} is \smath{v=a..b}, then -\smath{\mbox{\bf variable}\opLeftPren{}segb\opRightPren{}} returns \smath{v}. +\smath{\mbox{\bf variable}\opLeftPren{}segb\opRightPren{}} +returns \smath{v}. \newitem -\smath{\mbox{\bf variable}\opLeftPren{}v\opRightPren{}} returns \smath{s} if \smath{v} is any +\smath{\mbox{\bf variable}\opLeftPren{}v\opRightPren{}} +returns \smath{s} if \smath{v} is any derivative of the differential indeterminate \smath{s}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{variables}}\opLeftPren{}{\it expression}\opRightPren{}% +\opdata{{\mbox{\axiomFun{variables}}\opLeftPren{} +{\it expression}\opRightPren{}% }% }% {1}{(\$)->List(Symbol)}{FunctionSpace} -{\smath{\mbox{\bf variables}\opLeftPren{}f\opRightPren{}} returns the list of all the variables of +{\smath{\mbox{\bf variables}\opLeftPren{}f\opRightPren{}} +returns the list of all the variables of expression, polynomial, rational function, or power series \smath{f}.} % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{vconcat}}\opLeftPren{}{\it outputForms\opt{, OutputForm} (normally unexposed)}\opRightPren{}% +\opdata{{\mbox{\axiomFun{vconcat}}\opLeftPren{} +{\it outputForms\opt{, OutputForm} (normally unexposed)}\opRightPren{}% }% }% {}{}{} -{\smath{\mbox{\bf vconcat}\opLeftPren{}o_1, \allowbreak{} o_2\opRightPren{}}, where \smath{o_1} and \smath{o_2} are +{\smath{\mbox{\bf vconcat}\opLeftPren{}o_1, +\allowbreak{} o_2\opRightPren{}}, where \smath{o_1} and \smath{o_2} are objects of type \spadtype{OutputForm} (normally unexposed), returns an output form for the vertical concatenation of forms \smath{o_1} and \smath{o_2}. \newitem -\smath{\mbox{\bf vconcat}\opLeftPren{}lo\opRightPren{}}, where \smath{lo} is a list of objects of type +\smath{\mbox{\bf vconcat}\opLeftPren{}lo\opRightPren{}}, +where \smath{lo} is a list of objects of type \spadtype{OutputForm} (normally unexposed), returns an output form for the vertical concatenation of the elements of \smath{lo}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{vector}}\opLeftPren{}{\it listOfElements}\opRightPren{}% +\opdata{{\mbox{\axiomFun{vector}}\opLeftPren{} +{\it listOfElements}\opRightPren{}% }% }% {1}{(List(R))->\$}{Vector} -{\smath{\mbox{\bf vector}\opLeftPren{}l\opRightPren{}} converts the list \smath{l} to a vector. +{\smath{\mbox{\bf vector}\opLeftPren{}l\opRightPren{}} converts the +list \smath{l} to a vector. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{vectorise}}\opLeftPren{}{\it polynomial}, \allowbreak{}{\it nonNegativeInteger}\opRightPren{}% +\opdata{{\mbox{\axiomFun{vectorise}}\opLeftPren{}{\it polynomial}, +\allowbreak{}{\it nonNegativeInteger}\opRightPren{}% }% }% {2}{(\$, NonNegativeInteger)->Vector(R)}{UnivariatePolynomialCategory} -{\smath{\mbox{\bf vectorise}\opLeftPren{}p, \allowbreak{} n\opRightPren{}} returns \smath{[a_0, \ldots, a_{n-1}]} +{\smath{\mbox{\bf vectorise}\opLeftPren{}p, \allowbreak{} n\opRightPren{}} +returns \smath{[a_0, \ldots, a_{n-1}]} where \smath{p = a_0 + a_1 x + \cdots + a_{n-1} x^{n-1}} + higher order terms. The degree of polynomial \smath{p} can be different from @@ -81122,11 +85368,13 @@ The degree of polynomial \smath{p} can be different from } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{vertConcat}}\opLeftPren{}{\it matrix}, \allowbreak{}{\it matrix}\opRightPren{}% +\opdata{{\mbox{\axiomFun{vertConcat}}\opLeftPren{}{\it matrix}, +\allowbreak{}{\it matrix}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{MatrixCategory} -{\smath{\mbox{\bf vertConcat}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} vertically concatenates two matrices with an +{\smath{\mbox{\bf vertConcat}\opLeftPren{}x, \allowbreak{} y\opRightPren{}} +vertically concatenates two matrices with an equal number of columns. The entries of \smath{y} appear below the entries of \smath{x}. } @@ -81136,31 +85384,38 @@ The entries of \smath{y} appear below the entries of \smath{x}. }% }% {0}{()->Void}{ViewDefaultsPackage} -{\smath{\mbox{\bf viewDefaults}\opLeftPren{}\opRightPren{}} resets all the default graphics settings. +{\smath{\mbox{\bf viewDefaults}\opLeftPren{}\opRightPren{}} +resets all the default graphics settings. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{viewPosDefault}}\opLeftPren{}{\it \opt{listOfNonNegativeIntegers}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{viewPosDefault}}\opLeftPren{} +{\it \opt{listOfNonNegativeIntegers}}\opRightPren{}% }% }% {1}{(List(NonNegativeInteger))->List(NonNegativeInteger)}{ViewDefaultsPackage} -{\smath{\mbox{\bf viewPosDefault}\opLeftPren{}[x, \allowbreak{} y]\opRightPren{}} sets the default \smath{X} and +{\smath{\mbox{\bf viewPosDefault}\opLeftPren{}[x, \allowbreak{} y] +\opRightPren{}} sets the default \smath{X} and \smath{Y} position of a viewport window. Unless overridden explicitly, newly created viewports will have the \smath{X} and \smath{Y} coordinates \smath{x}, \smath{y}. \newitem -\smath{\mbox{\bf viewPosDefault}\opLeftPren{}\opRightPren{}} returns the default \smath{X} and +\smath{\mbox{\bf viewPosDefault}\opLeftPren{}\opRightPren{}} +returns the default \smath{X} and \smath{Y} position of a viewport window unless overridden explicitly, newly created viewports will have these \smath{X} and \smath{Y} coordinate. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{viewSizeDefault}}\opLeftPren{}{\it \opt{listOfPositiveIntegers}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{viewSizeDefault}}\opLeftPren{} +{\it \opt{listOfPositiveIntegers}}\opRightPren{}% }% }% {1}{(List(PositiveInteger))->List(PositiveInteger)}{ViewDefaultsPackage} -{\smath{\mbox{\bf viewSizeDefault}\opLeftPren{}[w, \allowbreak{} h]\opRightPren{}} sets the default viewport width to \smath{w} and height to \smath{h}. +{\smath{\mbox{\bf viewSizeDefault}\opLeftPren{}[w, \allowbreak{} h] +\opRightPren{}} sets the default viewport width to \smath{w} and +height to \smath{h}. } % ---------------------------------------------------------------------- @@ -81168,18 +85423,22 @@ explicitly, newly created viewports will have these \smath{X} and }% }% {0}{()->List(String)}{ViewDefaultsPackage} -{\smath{\mbox{\bf viewWriteAvailable}\opLeftPren{}\opRightPren{}} returns a list of available methods for writing, such as BITMAP, POSTSCRIPT, etc. +{\smath{\mbox{\bf viewWriteAvailable}\opLeftPren{}\opRightPren{}} returns +a list of available methods for writing, such as BITMAP, POSTSCRIPT, etc. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{viewWriteDefault}}\opLeftPren{}{\it listOfStrings}\opRightPren{}% +\opdata{{\mbox{\axiomFun{viewWriteDefault}}\opLeftPren{} +{\it listOfStrings}\opRightPren{}% }% }% {0}{()->List(String)}{ViewDefaultsPackage} -{\smath{\mbox{\bf viewWriteDefault}\opLeftPren{}\opRightPren{}} returns the list of things to write in +{\smath{\mbox{\bf viewWriteDefault}\opLeftPren{}\opRightPren{}} +returns the list of things to write in a viewport data file; a viewAlone file is always generated. \newitem -\smath{\mbox{\bf viewWriteDefault}\opLeftPren{}l\opRightPren{}} sets the default list of things to +\smath{\mbox{\bf viewWriteDefault}\opLeftPren{}l\opRightPren{}} +sets the default list of things to write in a viewport data file to the strings in \smath{l}; a viewAlone file is always generated. } @@ -81193,11 +85452,13 @@ viewAlone file is always generated. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{weakBiRank}}\opLeftPren{}{\it element}\opRightPren{}% +\opdata{{\mbox{\axiomFun{weakBiRank}}\opLeftPren{} +{\it element}\opRightPren{}% }% }% {1}{(A)->NonNegativeInteger}{AlgebraPackage} -{\smath{\mbox{\bf weakBiRank}\opLeftPren{}x\opRightPren{}} determines the number of linearly +{\smath{\mbox{\bf weakBiRank}\opLeftPren{}x\opRightPren{}} +determines the number of linearly independent elements in the \smath{b_i x b_j}, \smath{i, j=1, \ldots, n}, where \smath{b=[b_1, \ldots, b_n]} is the fixed basis of a domain of category \spadtype{FramedNonAssociativeAlgebra}.} @@ -81216,17 +85477,24 @@ differential monomials appearing in the differential polynomial the weight of the derivative \smath{u}. \item if u is a basic operator: the weight attached to \smath{u}. \end{simpleList} -\smath{\mbox{\bf weight}\opLeftPren{}p, \allowbreak{} s\opRightPren{}} returns the maximum weight of all differential monomials appearing in the differential polynomial \smath{p} when \smath{p} is viewed as a differential polynomial in the differential indeterminate \smath{s} alone. +\smath{\mbox{\bf weight}\opLeftPren{}p, \allowbreak{} s\opRightPren{}} +returns the maximum weight of all differential monomials appearing in +the differential polynomial \smath{p} when \smath{p} is viewed as a +differential polynomial in the differential indeterminate \smath{s} alone. \newitem -\smath{\mbox{\bf weight}\opLeftPren{}op, \allowbreak{} n\opRightPren{}} attaches the weight \smath{n} to \smath{op}. +\smath{\mbox{\bf weight}\opLeftPren{}op, +\allowbreak{} n\opRightPren{}} attaches the weight \smath{n} to \smath{op}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{weights}}\opLeftPren{}{\it differentialPolynomial}, \allowbreak{}{\it differentialIndeterminated}\opRightPren{}% +\opdata{{\mbox{\axiomFun{weights}}\opLeftPren{} +{\it differentialPolynomial}, \allowbreak{} +{\it differentialIndeterminated}\opRightPren{}% }% }% {2}{(\$, S)->List(NonNegativeInteger)}{DifferentialPolynomialCategory} -{\smath{\mbox{\bf weights}\opLeftPren{}p, \allowbreak{} s\opRightPren{}} returns a list of weights of differential +{\smath{\mbox{\bf weights}\opLeftPren{}p, +\allowbreak{} s\opRightPren{}} returns a list of weights of differential monomials appearing in the differential polynomial \smath{p} when \smath{p} is viewed as a differential polynomial in the differential indeterminate \smath{s} alone. @@ -81235,81 +85503,99 @@ monomials appearing in differential polynomial \smath{p}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{whatInfinity}}\opLeftPren{}{\it orderedCompletion}\opRightPren{}% +\opdata{{\mbox{\axiomFun{whatInfinity}}\opLeftPren{} +{\it orderedCompletion}\opRightPren{}% }% }% {1}{(\$)->SingleInteger}{OrderedCompletion} -{\smath{\mbox{\bf whatInfinity}\opLeftPren{}x\opRightPren{}} returns 0 if \smath{x} is finite, 1 if +{\smath{\mbox{\bf whatInfinity}\opLeftPren{}x\opRightPren{}} +returns 0 if \smath{x} is finite, 1 if \smath{x} is \smath{\infty}, and \smath{-1} if \smath{x} is \smath{-\infty}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{wholePart}}\opLeftPren{}{\it various}\opRightPren{}% +\opdata{{\mbox{\axiomFun{wholePart}}\opLeftPren{} +{\it various}\opRightPren{}% }% }% {1}{(\$)->R}{ContinuedFraction} -{\smath{\mbox{\bf wholePart}\opLeftPren{}x\opRightPren{}} returns the whole part of the fraction +{\smath{\mbox{\bf wholePart}\opLeftPren{}x\opRightPren{}} +returns the whole part of the fraction \smath{x}, that is, the truncated quotient of the numerator by the denominator. \newitem -\smath{\mbox{\bf wholePart}\opLeftPren{}x\opRightPren{}} extracts the whole part of \smath{x}. +\smath{\mbox{\bf wholePart}\opLeftPren{}x\opRightPren{}} +extracts the whole part of \smath{x}. That is, -if \smath{x = {\bf continuedFraction}(b_0, [a_1, a_2, \ldots], [b_1, b_2, \ldots])}, +if \smath{x = {\bf continuedFraction} +(b_0, [a_1, a_2, \ldots], [b_1, b_2, \ldots])}, then \smath{\mbox{\bf wholePart}\opLeftPren{}x) = b_0}. \newitem -\smath{\mbox{\bf wholePart}\opLeftPren{}p\opRightPren{}} extracts the whole part of the partial +\smath{\mbox{\bf wholePart}\opLeftPren{}p\opRightPren{}} +extracts the whole part of the partial fraction \smath{p}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{wholeRadix}}\opLeftPren{}{\it listOfIntegers}\opRightPren{}% +\opdata{{\mbox{\axiomFun{wholeRadix}}\opLeftPren{} +{\it listOfIntegers}\opRightPren{}% }% }% {1}{(List(Integer))->\$}{RadixExpansion} -{\smath{\mbox{\bf wholeRadix}\opLeftPren{}l\opRightPren{}} creates an integral radix expansion from a +{\smath{\mbox{\bf wholeRadix}\opLeftPren{}l\opRightPren{}} +creates an integral radix expansion from a list of ragits. -For example, \smath{\mbox{\bf wholeRadix}\opLeftPren{}[1, \allowbreak{} 3, \allowbreak{} 4]\opRightPren{}} returns \smath{134}. +For example, \smath{\mbox{\bf wholeRadix}\opLeftPren{}[1, \allowbreak{} 3, +\allowbreak{} 4]\opRightPren{}} returns \smath{134}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{wholeRagits}}\opLeftPren{}{\it listOfIntegers}\opRightPren{}% +\opdata{{\mbox{\axiomFun{wholeRagits}}\opLeftPren{} +{\it listOfIntegers}\opRightPren{}% }% }% {1}{(\$)->List(Integer)}{RadixExpansion} -{\smath{\mbox{\bf wholeRagits}\opLeftPren{}rx\opRightPren{}} returns the ragits of the integer part of +{\smath{\mbox{\bf wholeRagits}\opLeftPren{}rx\opRightPren{}} +returns the ragits of the integer part of a radix expansion. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{wordInGenerators}}\opLeftPren{}{\it permutation}, \allowbreak{}{\it permutationGroup}\opRightPren{}% +\opdata{{\mbox{\axiomFun{wordInGenerators}}\opLeftPren{}{\it permutation}, +\allowbreak{}{\it permutationGroup}\opRightPren{}% }% }% {2}{(Permutation(S), \$)->List(NonNegativeInteger)}{PermutationGroup} -{\smath{\mbox{\bf wordInGenerators}\opLeftPren{}p, \allowbreak{} gp\opRightPren{}} returns the word for the +{\smath{\mbox{\bf wordInGenerators}\opLeftPren{}p, +\allowbreak{} gp\opRightPren{}} returns the word for the permutation \smath{p} in the original generators of the permutation group {\it gp}, represented by the indices of the list, given by \spadfun{generators}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{wordInStrongGenerators}}\opLeftPren{}{\it permutation}, \allowbreak{}{\it permutationGroup}\opRightPren{}% +\opdata{{\mbox{\axiomFun{wordInStrongGenerators}}\opLeftPren{} +{\it permutation}, \allowbreak{}{\it permutationGroup}\opRightPren{}% }% }% {2}{(Permutation(S), \$)->List(NonNegativeInteger)}{PermutationGroup} -{\smath{\mbox{\bf wordInStrongGenerators}\opLeftPren{}p, \allowbreak{} gp\opRightPren{}} returns the word for the +{\smath{\mbox{\bf wordInStrongGenerators}\opLeftPren{}p, +\allowbreak{} gp\opRightPren{}} returns the word for the permutation \smath{p} in the strong generators of the permutation group {\it gp}, represented by the indices of the list, given by \spadfun{strongGenerators}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{wordsForStrongGenerators}}\opLeftPren{}{\it listOfListsOfIntegers}\opRightPren{}% +\opdata{{\mbox{\axiomFun{wordsForStrongGenerators}}\opLeftPren{} +{\it listOfListsOfIntegers}\opRightPren{}% }% }% {1}{(\$)->List(List(NonNegativeInteger))}{PermutationGroup} -{\smath{\mbox{\bf wordsForStrongGenerators}\opLeftPren{}gp\opRightPren{}} returns the words for the +{\smath{\mbox{\bf wordsForStrongGenerators}\opLeftPren{}gp\opRightPren{}} +returns the words for the strong generators of the permutation group {\it gp} in the original generators of {\it gp}, represented by their indices in the list of nonnegative integers, @@ -81317,11 +85603,13 @@ given by \spadfun{generators}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{wreath}}\opLeftPren{}{\it symmetricPolynomial}, \allowbreak{}{\it symmetricPolynomial}\opRightPren{}% +\opdata{{\mbox{\axiomFun{wreath}}\opLeftPren{}{\it symmetricPolynomial}, +\allowbreak{}{\it symmetricPolynomial}\opRightPren{}% }% }% { (SPOL RN, SPOL RN) -> SPOL RN}{}{} -{\smath{\mbox{\bf wreath}\opLeftPren{}s_1, \allowbreak{} s_2\opRightPren{}} is the cycle index of the wreath product +{\smath{\mbox{\bf wreath}\opLeftPren{}s_1, \allowbreak{} s_2\opRightPren{}} +is the cycle index of the wreath product of the two groups whose cycle indices are \smath{s_1} and \smath{s_2}, symmetric polynomials with rational number coefficients. @@ -81332,47 +85620,58 @@ coefficients. }% }% {1}{(\$)->Boolean}{FileNameCategory} -{\smath{\mbox{\bf writable?}\opLeftPren{}f\opRightPren{}} tests if the named file can be opened for +{\smath{\mbox{\bf writable?}\opLeftPren{}f\opRightPren{}} +tests if the named file can be opened for writing. The named file need not already exist. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{write!}}\opLeftPren{}{\it file}, \allowbreak{}{\it value}\opRightPren{}% +\opdata{{\mbox{\axiomFun{write!}}\opLeftPren{}{\it file}, \allowbreak{} +{\it value}\opRightPren{}% }% }% {2}{(\$, S)->S}{FileCategory} -{\smath{\mbox{\bf write!}\opLeftPren{}f, \allowbreak{} s\opRightPren{}} puts the value \smath{s} into the file \smath{f}. +{\smath{\mbox{\bf write!}\opLeftPren{}f, \allowbreak{} s\opRightPren{}} +puts the value \smath{s} into the file \smath{f}. The state of \smath{f} is modified so that subsequent calls to {\bf write!} will append values to the end of the file. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{writeLine!}}\opLeftPren{}{\it textfile\opt{, string}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{writeLine!}}\opLeftPren{} +{\it textfile\opt{, string}}\opRightPren{}% }% }% {1}{(\$)->String}{TextFile} -{\smath{\mbox{\bf writeLine!}\opLeftPren{}f\opRightPren{}} finishes the current line in the file +{\smath{\mbox{\bf writeLine!}\opLeftPren{}f\opRightPren{}} +finishes the current line in the file \smath{f}. An empty string is returned. -The call \smath{\mbox{\bf writeLine!}\opLeftPren{}f\opRightPren{}} is equivalent to -\smath{\mbox{\bf writeLine!}\opLeftPren{}f, \allowbreak{} {\tt ""}\opRightPren{}}. +The call \smath{\mbox{\bf writeLine!}\opLeftPren{}f\opRightPren{}} +is equivalent to +\smath{\mbox{\bf writeLine!}\opLeftPren{}f, \allowbreak{} +{\tt ""}\opRightPren{}}. \newitem -\smath{\mbox{\bf writeLine!}\opLeftPren{}f, \allowbreak{} s\opRightPren{}} writes the contents of the string +\smath{\mbox{\bf writeLine!}\opLeftPren{}f, \allowbreak{} s\opRightPren{}} +writes the contents of the string \smath{s} and finishes the current line in the file \smath{f}. The value of \smath{s} is returned. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{xor}}\opLeftPren{}{\it boolean}, \allowbreak{}{\it boolean}\opRightPren{}% +\opdata{{\mbox{\axiomFun{xor}}\opLeftPren{}{\it boolean}, \allowbreak{} +{\it boolean}\opRightPren{}% }% }% {2}{(\$, \$)->\$}{BitAggregate} -{\smath{\mbox{\bf xor}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} returns the logical {\it exclusive-or} of +{\smath{\mbox{\bf xor}\opLeftPren{}a, \allowbreak{} b\opRightPren{}} +returns the logical {\it exclusive-or} of booleans or bit aggregates \smath{a} and \smath{b}. \newitem -\smath{\mbox{\bf xor}\opLeftPren{}n, \allowbreak{} m\opRightPren{}} returns the bit-by-bit logical {\it xor} of the +\smath{\mbox{\bf xor}\opLeftPren{}n, \allowbreak{} m\opRightPren{}} +returns the bit-by-bit logical {\it xor} of the small integers \smath{n} and \smath{m}. } @@ -81381,12 +85680,14 @@ small integers \smath{n} and \smath{m}. }% }% {1}{(\$)->Segment(DoubleFloat)}{PlottablePlaneCurveCategory} -{\smath{\mbox{\bf xRange}\opLeftPren{}c\opRightPren{}} returns the range of the \smath{x}-coordinates +{\smath{\mbox{\bf xRange}\opLeftPren{}c\opRightPren{}} +returns the range of the \smath{x}-coordinates of the points on the curve \smath{c}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{yCoordinates}}\opLeftPren{}{\it function}\opRightPren{}% +\opdata{{\mbox{\axiomFun{yCoordinates}}\opLeftPren{} +{\it function}\opRightPren{}% }% }% {1}{(\$)->Record(num:Vector(UP), den:UP)}{FunctionFieldCategory} @@ -81395,7 +85696,8 @@ where \smath{f} is a function defined over a curve, returns the coordinates of \smath{f} with respect to the natural basis for the curve. Specifically, the operation returns -\smath{[ [a_1, \ldots, a_n], d]} such that \smath{f = (a_1 +\ldots+ a_n y^{n-1}) / d}. +\smath{[ [a_1, \ldots, a_n], d]} +such that \smath{f = (a_1 +\ldots+ a_n y^{n-1}) / d}. } % ---------------------------------------------------------------------- @@ -81403,7 +85705,8 @@ Specifically, the operation returns }% }% {0}{()->\$}{Color} -{\smath{\mbox{\bf yellow}\opLeftPren{}\opRightPren{}} returns the position of the yellow hue from +{\smath{\mbox{\bf yellow}\opLeftPren{}\opRightPren{}} +returns the position of the yellow hue from total hues. } @@ -81412,11 +85715,13 @@ total hues. }% }% {1}{(List(Integer))->PermutationGroup(Integer)}{PermutationGroupExamples} -{\smath{\mbox{\bf youngGroup}\opLeftPren{}[n_1, \allowbreak{} \ldots, n_k]\opRightPren{}} constructs the direct +{\smath{\mbox{\bf youngGroup}\opLeftPren{} +[n_1, \allowbreak{} \ldots, n_k]\opRightPren{}} constructs the direct product of the symmetric groups \smath{Sn_1}, \ldots, \smath{Sn_k}. \newitem -\smath{\mbox{\bf youngGroup}\opLeftPren{}lambda\opRightPren{}} constructs the direct product of the +\smath{\mbox{\bf youngGroup}\opLeftPren{}lambda\opRightPren{}} +constructs the direct product of the symmetric groups given by the parts of the partition {\it lambda}. } @@ -81425,29 +85730,35 @@ symmetric groups given by the parts of the partition {\it lambda}. }% }% {1}{(\$)->Segment(DoubleFloat)}{PlottablePlaneCurveCategory} -{\smath{\mbox{\bf yRange}\opLeftPren{}c\opRightPren{}} returns the range of the \smath{y}-coordinates +{\smath{\mbox{\bf yRange}\opLeftPren{}c\opRightPren{}} +returns the range of the \smath{y}-coordinates of the points on the curve \smath{c}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{zag}}\opLeftPren{}{\it outputForm}, \allowbreak{}{\it outputForm}\opRightPren{}% +\opdata{{\mbox{\axiomFun{zag}}\opLeftPren{} +{\it outputForm}, \allowbreak{}{\it outputForm}\opRightPren{}% }% }% {}{}{} {\smath{\mbox{\bf zag}\opLeftPren{}o_1, \allowbreak{} o_2\opRightPren{}}, -where \smath{o_1} and \smath{o_2} are objects of type \spadtype{OutputForm} (normally unexposed), +where \smath{o_1} and \smath{o_2} are objects of +type \spadtype{OutputForm} (normally unexposed), return an output form displaying the continued fraction form for \smath{o_2} over \smath{o_1}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{zero}}\opLeftPren{}{\it nonNegativeInteger\opt{, nonNegativeInteger}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{zero}}\opLeftPren{} +{\it nonNegativeInteger\opt{, nonNegativeInteger}}\opRightPren{}% }% }% {1}{(NonNegativeInteger)->\$}{VectorCategory} -{\smath{\mbox{\bf zero}\opLeftPren{}n\opRightPren{}} creates a zero vector of length \smath{n}. +{\smath{\mbox{\bf zero}\opLeftPren{}n\opRightPren{}} +creates a zero vector of length \smath{n}. \newitem -\smath{\mbox{\bf zero}\opLeftPren{}m, \allowbreak{} n\opRightPren{}} returns an \smath{m}-by-\smath{n} zero matrix. +\smath{\mbox{\bf zero}\opLeftPren{}m, \allowbreak{} n\opRightPren{}} +returns an \smath{m}-by-\smath{n} zero matrix. } % ---------------------------------------------------------------------- @@ -81455,7 +85766,8 @@ the continued fraction form for \smath{o_2} over \smath{o_1}. }% }% {1}{(\$)->Boolean}{AbelianMonoid} -{\smath{\mbox{\bf zero?}\opLeftPren{}x\opRightPren{}} tests if \smath{x} is equal to 0. +{\smath{\mbox{\bf zero?}\opLeftPren{}x\opRightPren{}} +tests if \smath{x} is equal to 0. } % ---------------------------------------------------------------------- @@ -81463,34 +85775,47 @@ the continued fraction form for \smath{o_2} over \smath{o_1}. }% }% {1}{(\$)->Boolean}{PolynomialIdeals} -{\smath{\mbox{\bf zeroDim?}\opLeftPren{}I\opRightPren{}} tests if the ideal \smath{I} is zero +{\smath{\mbox{\bf zeroDim?}\opLeftPren{}I\opRightPren{}} +tests if the ideal \smath{I} is zero dimensional, that is, all its associated primes are maximal. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{zeroDimPrimary?}}\opLeftPren{}{\it ideal}\opRightPren{}% +\opdata{{\mbox{\axiomFun{zeroDimPrimary?}}\opLeftPren{} +{\it ideal}\opRightPren{}% }% }% -{1}{(PolynomialIdeals(Fraction(Integer), DirectProduct(nv, NonNegativeInteger), vl, DistributedMultivariatePolynomial(vl, Fraction(Integer))))->Boolean}{IdealDecompositionPackage} -{\smath{\mbox{\bf zeroDimPrimary?}\opLeftPren{}I\opRightPren{}} tests if the ideal \smath{I} is +{1}{(PolynomialIdeals(Fraction(Integer), +DirectProduct(nv, NonNegativeInteger), vl, +DistributedMultivariatePolynomial(vl, Fraction(Integer))))->Boolean} +{IdealDecompositionPackage} +{\smath{\mbox{\bf zeroDimPrimary?}\opLeftPren{}I\opRightPren{}} +tests if the ideal \smath{I} is 0-dimensional primary. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{zeroDimPrime?}}\opLeftPren{}{\it ideal}\opRightPren{}% +\opdata{{\mbox{\axiomFun{zeroDimPrime?}}\opLeftPren{} +{\it ideal}\opRightPren{}% }% }% -{1}{(PolynomialIdeals(Fraction(Integer), DirectProduct(nv, NonNegativeInteger), vl, DistributedMultivariatePolynomial(vl, Fraction(Integer))))->Boolean}{IdealDecompositionPackage} -{\smath{\mbox{\bf zeroDimPrime?}\opLeftPren{}I\opRightPren{}} tests if the ideal \smath{I} is a +{1}{(PolynomialIdeals(Fraction(Integer), +DirectProduct(nv, NonNegativeInteger), vl, +DistributedMultivariatePolynomial(vl, Fraction(Integer))))->Boolean} +{IdealDecompositionPackage} +{\smath{\mbox{\bf zeroDimPrime?}\opLeftPren{}I\opRightPren{}} +tests if the ideal \smath{I} is a 0-dimensional prime. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{zeroOf}}\opLeftPren{}{\it polynomial\opt{, symbol}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{zeroOf}}\opLeftPren{} +{\it polynomial\opt{, symbol}}\opRightPren{}% }% }% {2}{(SparseUnivariatePolynomial(\$), Symbol)->\$}{AlgebraicallyClosedField} -{\smath{\mbox{\bf zeroOf}\opLeftPren{}p\optinner{, y}\opRightPren{}} returns \smath{y} such that +{\smath{\mbox{\bf zeroOf}\opLeftPren{}p\optinner{, y}\opRightPren{}} +returns \smath{y} such that \smath{p(y) = 0}. If possible, \smath{y} is expressed in terms of radicals. Otherwise it is an implicit algebraic quantity that displays as \smath{'y}. @@ -81499,11 +85824,13 @@ variable \smath{y}. } % ---------------------------------------------------------------------- -\opdata{{\mbox{\axiomFun{zerosOf}}\opLeftPren{}{\it polynomial\opt{, symbol}}\opRightPren{}% +\opdata{{\mbox{\axiomFun{zerosOf}}\opLeftPren{} +{\it polynomial\opt{, symbol}}\opRightPren{}% }% }% {1}{(Polynomial(\$))->List(\$)}{AlgebraicallyClosedField} -{\smath{\mbox{\bf zerosOf}\opLeftPren{}p, \allowbreak{} y\opRightPren{}} returns \smath{[y_1, \ldots, y_n]} such +{\smath{\mbox{\bf zerosOf}\opLeftPren{}p, \allowbreak{} y\opRightPren{}} +returns \smath{[y_1, \ldots, y_n]} such that \smath{p(y_i) = 0}. The \smath{y_i}'s are expressed in radicals if possible. Otherwise they are implicit algebraic quantities that display as @@ -81519,7 +85846,8 @@ variable \smath{y}. }% }% {1}{(\$)->Segment(DoubleFloat)}{PlottableSpaceCurveCategory} -{\smath{\mbox{\bf zRange}\opLeftPren{}c\opRightPren{}} returns the range of the \smath{z}-coordinates +{\smath{\mbox{\bf zRange}\opLeftPren{}c\opRightPren{}} +returns the range of the \smath{z}-coordinates of the points on the curve \smath{c}. } }\onecolumn @@ -81527,7 +85855,7 @@ of the points on the curve \smath{c}. %Original Page 691 -\chapter{Programs for AXIOM Images} +\chapter{Programs for Axiom Images} \label{ugAppGraphics} % @@ -81573,10 +85901,10 @@ method. The poles in these images represent bad starting values. The flat areas are the regions of convergence to the three roots. \begin{verbatim} -)read newton Read the programs from -)read vectors Chapter 10 -f := newtonStep(x**3 - 2) Create a Newton's iteration - function for $x^3 = 2$ +)read newton Read the programs from +)read vectors Chapter 10 +f := newtonStep(x**3 - 2) Create a Newton's iteration + function for $x^3 = 2$ \end{verbatim} The function $f^n$ computes $n$ steps of Newton's method. @@ -81670,9 +85998,9 @@ twist2(u, t) == Create a twisting circle p := point [sin u, cos(u)] rotateBy(p, theta) -cf(u,v) == sin(21*u) Color function with $21$ stripes +cf(u,v) == sin(21*u) Color function with $21$ stripes -ntubeDrawOpt(bcircle, twist2, 0..2*\%pi, 0..2*\%pi, Striped Torus +ntubeDrawOpt(bcircle, twist2, 0..2*\%pi, 0..2*\%pi, Striped Torus colorFunction == cf, var1Steps == 168, var2Steps == 126) \end{verbatim} @@ -81681,10 +86009,12 @@ ntubeDrawOpt(bcircle, twist2, 0..2*\%pi, 0..2*\%pi, Striped Torus \label{ugFimagesSix} \begin{verbatim} -gam(x,y) == The height and color are the - g := Gamma complex(x,y) real and argument parts - point [x,y,max(min(real g, 4), -4), argument g] of the Gamma function, - respectively. +-- The height and coloar are the real and argument parts +-- of the Gamma function, respectively. +gam(x,y) == + g := Gamma complex(x,y) + point [x,y,max(min(real g, 4), -4), argument g] + draw(gam, -\%pi..\%pi, -\%pi..\%pi, The Gamma Function title == "Gamma(x + \%i*y)", _ @@ -81712,16 +86042,21 @@ First we look at the conformal \index{conformal map} map $z \mapsto z + 1/z$. \begin{verbatim} -)read conformal Read program for drawing - conformal maps +)read conformal +-- Read program for drawing conformal maps + +-- The coordinate grid for the complex plane +f z == z -f z == z The coordinate grid for the - complex plane -conformalDraw(f, -2..2, -2..2, 9, 9, "cartesian") Mapping 1: Source +-- Mapping 1: Source +conformalDraw(f, -2..2, -2..2, 9, 9, "cartesian") -f z == z + 1/z The map $z \mapsto z + 1/z$ +-- The map z mapsto z + 1/z +f z == z + 1/z + +-- Mapping 1: Target +conformalDraw(f, -2..2, -2..2, 9, 9, "cartesian") -conformalDraw(f, -2..2, -2..2, 9, 9, "cartesian") Mapping 1: Target \end{verbatim} The map $z \mapsto -(z+1)/(z-1)$ maps @@ -81730,15 +86065,20 @@ the unit disk to the right half-plane, as shown on the Riemann sphere. \begin{verbatim} -f z == z The unit disk +-- The unit disk +f z == z -riemannConformalDraw(f,0.1..0.99,0..2*\%pi,7,11,"polar") Mapping 2: Source +-- Mapping 2: Source +riemannConformalDraw(f,0.1..0.99,0..2*\%pi,7,11,"polar") -f z == -(z+1)/(z-1) The map $x \mapsto -(z+1)/(z-1)$ +-- The map x mapsto -(z+1)/(z-1) +f z == -(z+1)/(z-1) -riemannConformalDraw(f,0.1..0.99,0..2*\%pi,7,11,"polar") Mapping 2: Target +-- Mapping 2: Target +riemannConformalDraw(f,0.1..0.99,0..2*\%pi,7,11,"polar") -riemannSphereDraw(-4..4, -4..4, 7, 7, "cartesian") Riemann Sphere Mapping +-- Riemann Sphere Mapping +riemannSphereDraw(-4..4, -4..4, 7, 7, "cartesian") \end{verbatim} \section{images8.input} @@ -81747,18 +86087,18 @@ riemannSphereDraw(-4..4, -4..4, 7, 7, "cartesian") Riemann Sphere Mapping \begin{verbatim} )read dhtri )read tetra -drawPyramid 4 Sierpinsky's Tetrahedron +drawPyramid 4 Sierpinsky's Tetrahedron Sierpinsky's Tetrahedron )read antoine -drawRings 2 Antoine's Necklace +drawRings 2 Antoine's Necklace Aintoine's Necklace )read scherk -drawScherk(3,3) Scherk's Minimal Surface +drawScherk(3,3) Scherk's Minimal Surface )read ribbonsnew -drawRibbons([x**i for i in 1..5], x=-1..1, y=0..2) Ribbon Plot +drawRibbons([x**i for i in 1..5], x=-1..1, y=0..2) Ribbon Plot \end{verbatim} \index{Scherk's minimal surface} @@ -81775,9 +86115,9 @@ plane and on the Riemann sphere. %-- Compile, don't interpret functions. %\xmpLine{)set fun comp on}{} \begin{verbatim} -C := Complex DoubleFloat Complex Numbers -S := Segment DoubleFloat Draw ranges -R3 := Point DFLOAT Points in 3-space +C := Complex DoubleFloat Complex Numbers +S := Segment DoubleFloat Draw ranges +R3 := Point DFLOAT Points in 3-space \end{verbatim} {\bf conformalDraw}{\it (f, rRange, tRange, rSteps, tSteps, coord)} @@ -81794,13 +86134,18 @@ $\theta$ directions; and \begin{verbatim} conformalDraw: (C -> C, S, S, PI, PI, String) -> VIEW3D conformalDraw(f,rRange,tRange,rSteps,tSteps,coord) == - transformC := Function for changing an $(x,y)$ - coord = "polar" => polar2Complex pair into a complex number + -- Function for changing an (x,y) + transformC := + -- pair into a complex number + coord = "polar" => polar2Complex cartesian2Complex cm := makeConformalMap(f, transformC) - sp := createThreeSpace() Create a fresh space - adaptGrid(sp, cm, rRange, tRange, rSteps, tSteps) Plot the coordinate lines - makeViewport3D(sp, "Conformal Map") Draw the image + -- Create a fresh space + sp := createThreeSpace() + -- Plot the coordinate lines + adaptGrid(sp, cm, rRange, tRange, rSteps, tSteps) + -- Draw the image + makeViewport3D(sp, "Conformal Map") \end{verbatim} {\bf riemannConformalDraw}{\it (f, rRange, tRange, rSteps, tSteps, coord)} @@ -81812,40 +86157,52 @@ Its arguments are the same as those for {\bf conformalDraw}. riemannConformalDraw:(C->C,S,S,PI,PI,String)->VIEW3D riemannConformalDraw(f, rRange, tRange, rSteps, tSteps, coord) == - transformC := Function for changing an $(x,y)$ - coord = "polar" => polar2Complex pair into a complex number + -- Function for changing an $(x,y)$ + transformC := + -- pair into a complex number + coord = "polar" => polar2Complex cartesian2Complex - sp := createThreeSpace() Create a fresh space + -- Create a fresh space + sp := createThreeSpace() cm := makeRiemannConformalMap(f, transformC) - adaptGrid(sp, cm, rRange, tRange, rSteps, tSteps) Plot the coordinate lines + -- Plot the coordinate lines + adaptGrid(sp, cm, rRange, tRange, rSteps, tSteps) curve(sp,[point [0,0,2.0@DFLOAT,0],point [0,0,2.0@DFLOAT,0] ]) - Add an invisible point at - makeViewport3D(sp,"Map on the Riemann Sphere") the north pole for scaling - -adaptGrid(sp, f, uRange, vRange, uSteps, vSteps) == Plot the coordinate grid - delU := (hi(uRange) - lo(uRange))/uSteps using adaptive plotting for - delV := (hi(vRange) - lo(vRange))/vSteps coordinate lines, and draw - uSteps := uSteps + 1; vSteps := vSteps + 1 tubes around the lines + -- Add an invisible point at the north pole for scaling + makeViewport3D(sp,"Map on the Riemann Sphere") + +-- Plot the coordinate grid +adaptGrid(sp, f, uRange, vRange, uSteps, vSteps) == + -- using adaptive plotting for coordinate lines, and draw + -- tubes around the lines + delU := (hi(uRange) - lo(uRange))/uSteps + delV := (hi(vRange) - lo(vRange))/vSteps + uSteps := uSteps + 1; vSteps := vSteps + 1 u := lo uRange - for i in 1..uSteps repeat Draw coordinate lines in the $v$ - c := curryLeft(f,u) direction; curve $c$ fixes the - cf := (t:DFLOAT):DFLOAT +-> 0 current value of $u$ + -- Draw coordinate lines in the v direction; curve c fixes the + -- current value of u + for i in 1..uSteps repeat + c := curryLeft(f,u) + cf := (t:DFLOAT):DFLOAT +-> 0 makeObject(c,vRange::SEG Float,colorFunction==cf, - Draw the $v$ coordinate line + -- Draw the v coordinate line space == sp, tubeRadius == .02, tubePoints == 6) u := u + delU v := lo vRange - for i in 1..vSteps repeat Draw coodinate lines in the $u$ - c := curryRight(f,v) direction; curve $c$ fixes the - cf := (t:DFLOAT):DFLOAT +-> 1 current value of $v$ + -- Draw coodinate lines in the u direction; curve c fixes the + -- current value of v + for i in 1..vSteps repeat + c := curryRight(f,v) + cf := (t:DFLOAT):DFLOAT +-> 1 makeObject(c,uRange::SEG Float,colorFunction==cf, - Draw the $u$ coordinate line + -- Draw the u coordinate line space == sp, tubeRadius == .02, tubePoints == 6) v := v + delV void() -riemannTransform(z) == Map a point in the complex - r := sqrt norm z plane to the Riemann sphere +-- Map a point in the complex plane to the Riemann sphere +riemannTransform(z) == + r := sqrt norm z cosTheta := (real z)/r sinTheta := (imag z)/r cp := 4*r/(4+r**2) @@ -81853,69 +86210,83 @@ riemannTransform(z) == Map a point in the complex if r>2 then sp := -sp point [cosTheta*cp, sinTheta*cp, -sp + 1] -cartesian2Complex(r:DFLOAT, i:DFLOAT):C == Convert Cartesian coordinates to - complex(r, i) complex Cartesian form +-- Convert Cartesian coordinates to complex Cartesian form +cartesian2Complex(r:DFLOAT, i:DFLOAT):C == + complex(r, i) -polar2Complex(r:DFLOAT, th:DFLOAT):C == Convert polar coordinates to - complex(r*cos(th), r*sin(th)) complex Cartesian form +-- Convert polar coordinates to complex Cartesian form +polar2Complex(r:DFLOAT, th:DFLOAT):C == + complex(r*cos(th), r*sin(th)) -makeConformalMap(f, transformC) == Convert complex function $f$ - (u:DFLOAT,v:DFLOAT):R3 +-> to a mapping: - (DFLOAT,DFLOAT) $mapsto$ R3 - z := f transformC(u, v) in the complex plane +-- Convert complex function f to a mapping: (DFLOAT,DFLOAT) maps to R3 +-- in the complex plane +makeConformalMap(f, transformC) == + (u:DFLOAT,v:DFLOAT):R3 +-> + z := f transformC(u, v) point [real z, imag z, 0.0@DFLOAT] -makeRiemannConformalMap(f, transformC) == Convert a complex function $f$ - (u:DFLOAT, v:DFLOAT):R3 +-> to a mapping: - (DFLOAT,DFLOAT) $\mapsto$ R3 - riemannTransform f transformC(u, v) on the Riemann sphere +-- Convert a complex function f to a mapping: (DFLOAT,DFLOAT) maps to R3 +-- on the Riemann sphere +makeRiemannConformalMap(f, transformC) == + (u:DFLOAT, v:DFLOAT):R3 +-> + riemannTransform f transformC(u, v) +-- Draw a picture of the mapping of the complex plane to +-- the Riemann sphere riemannSphereDraw: (S, S, PI, PI, String) -> VIEW3D - Draw a picture of the mapping - of the complex plane to - the Riemann sphere riemannSphereDraw(rRange,tRange,rSteps,tSteps,coord) == transformC := coord = "polar" => polar2Complex cartesian2Complex - grid := (u:DFLOAT, v:DFLOAT): R3 +-> Coordinate grid function + -- Coordinate grid function + grid := (u:DFLOAT, v:DFLOAT): R3 +-> z1 := transformC(u, v) point [real z1, imag z1, 0] - sp := createThreeSpace() Create a fresh space - adaptGrid(sp, grid, rRange, tRange, rSteps, tSteps) Draw the flat grid + -- Create a fresh space + sp := createThreeSpace() + -- Draw the flat grid + adaptGrid(sp, grid, rRange, tRange, rSteps, tSteps) connectingLines(sp,grid,rRange,tRange,rSteps,tSteps) - makeObject(riemannSphere,0..2*\%pi,0..\%pi,space==sp) Draw the sphere + -- Draw the sphere + makeObject(riemannSphere,0..2*\%pi,0..\%pi,space==sp) f := (z:C):C +-> z cm := makeRiemannConformalMap(f, transformC) - adaptGrid(sp, cm, rRange, tRange, rSteps, tSteps) Draw the sphere grid + -- Draw the sphere grid + adaptGrid(sp, cm, rRange, tRange, rSteps, tSteps) makeViewport3D(sp, "Riemann Sphere") +-- Draw the lines that connect the points in the complex +-- plane to the north pole of the Riemann sphere connectingLines(sp,f,uRange,vRange,uSteps,vSteps) == - Draw the lines that connect - delU := (hi(uRange) - lo(uRange))/uSteps the points in the complex - delV := (hi(vRange) - lo(vRange))/vSteps plane to the north pole - uSteps := uSteps + 1; vSteps := vSteps + 1 of the Riemann sphere + delU := (hi(uRange) - lo(uRange))/uSteps + delV := (hi(vRange) - lo(vRange))/vSteps + uSteps := uSteps + 1; vSteps := vSteps + 1 u := lo uRange - for i in 1..uSteps repeat For each u + for i in 1..uSteps repeat v := lo vRange - for j in 1..vSteps repeat For each v + for j in 1..vSteps repeat p1 := f(u,v) - p2 := riemannTransform complex(p1.1, p1.2) Project p1 onto the sphere - fun := lineFromTo(p1,p2) Create a line function + -- Project p1 onto the sphere + p2 := riemannTransform complex(p1.1, p1.2) + -- Create a line function + fun := lineFromTo(p1,p2) cf := (t:DFLOAT):DFLOAT +-> 3 - makeObject(fun, 0..1,space==sp,tubePoints==4, Draw the connecting line + -- Draw the connecting line + makeObject(fun, 0..1,space==sp,tubePoints==4, tubeRadius==0.01,colorFunction==cf) v := v + delV u := u + delU void() -riemannSphere(u,v) == A sphere sitting on the - sv := sin(v) complex plane, with radius 1 +-- A sphere sitting on the complex plane, with radius 1 +riemannSphere(u,v) == + sv := sin(v) 0.99@DFLOAT*(point [cos(u)*sv,sin(u)*sv,cos(v),0.0@DFLOAT])+ point [0.0@DFLOAT, 0.0@DFLOAT, 1.0@DFLOAT, 4.0@DFLOAT] -lineFromTo(p1, p2) == Create a line function - d := p2 - p1 that goes from p1 to p2 +-- Create a line function that goes from p1 to p2 +lineFromTo(p1, p2) == + d := p2 - p1 (t:DFLOAT):Point DFLOAT +-> p1 + t*d \end{verbatim} @@ -81931,13 +86302,15 @@ The formula was derived by Larry Lambe. )read ntube torusKnot: (DFLOAT, DFLOAT, DFLOAT, PI, PI) -> VIEW3D torusKnot(p, q ,r, uSteps, tSteps) == - knot := (t:DFLOAT):Point DFLOAT +-> Function for the torus knot + -- Function for the torus knot + knot := (t:DFLOAT):Point DFLOAT +-> fac := 4/(2.2@DFLOAT-sin(q*t)) fac * point [cos(p*t), sin(p*t), cos(q*t)] - circle := (u:DFLOAT, t:DFLOAT): Point DFLOAT +-> The cross section + -- The cross section + circle := (u:DFLOAT, t:DFLOAT): Point DFLOAT +-> r * point [cos u, sin u] - ntubeDrawOpt(knot, circle, 0..2*\%pi, 0..2*\%pi, - Draw the circle around the knot + -- Draw the circle around the knot + ntubeDrawOpt(knot, circle, 0..2*\%pi, 0..2*\%pi, var1Steps == uSteps, var2Steps == tSteps) \end{verbatim} @@ -81952,19 +86325,19 @@ These functions draw a 2-d curve in the normal planes around a 3-d curve. \begin{verbatim} -R3 := Point DFLOAT Points in 3-Space -R2 := Point DFLOAT Points in 2-Space -S := Segment Float Draw ranges - Introduce types for functions for: -ThreeCurve := DFLOAT -> R3 --the space curve function -TwoCurve := (DFLOAT, DFLOAT) -> R2 --the plane curve function -Surface := (DFLOAT, DFLOAT) -> R3 --the surface function - Frenet frames define a -FrenetFrame := coordinate system around a +R3 := Point DFLOAT Points in 3-Space +R2 := Point DFLOAT Points in 2-Space +S := Segment Float Draw ranges + Introduce types for functions: +ThreeCurve := DFLOAT -> R3 --the space curve function +TwoCurve := (DFLOAT, DFLOAT) -> R2 --the plane curve function +Surface := (DFLOAT, DFLOAT) -> R3 --the surface function + Frenet frames define a +FrenetFrame := coordinate system around a Record(value:R3,tangent:R3,normal:R3,binormal:R3) - point on a space curve -frame: FrenetFrame The current Frenet frame - for a point on a curve + point on a space curve +frame: FrenetFrame The current Frenet frame + for a point on a curve \end{verbatim} {\bf ntubeDraw}{\it (spaceCurve, planeCurve,} @@ -81985,13 +86358,12 @@ ntubeDraw(spaceCurve,planeCurve,uRange,tRange) == ntubeDrawOpt(spaceCurve, planeCurve, uRange, _ tRange, []$List DROPT) -ntubeDrawOpt: (ThreeCurve,TwoCurve,S,S,List DROPT) - -> VIEW3D +ntubeDrawOpt: (ThreeCurve,TwoCurve,S,S,List DROPT) -> VIEW3D +-- This function is similar to ntubeDraw, but takes +-- optional parameters that it passes to the draw command ntubeDrawOpt(spaceCurve,planeCurve,uRange,tRange,l) == - This function is similar - to ntubeDraw, but takes - delT:DFLOAT := (hi(tRange) - lo(tRange))/10000 optional parameters that it - oldT:DFLOAT := lo(tRange) - 1 passes to the draw command + delT:DFLOAT := (hi(tRange) - lo(tRange))/10000 + oldT:DFLOAT := lo(tRange) - 1 fun := ngeneralTube(spaceCurve,planeCurve,delT,oldT) draw(fun, uRange, tRange, l) @@ -82029,14 +86401,17 @@ to ensure that frames are only computed once for each value of {\it t}. \begin{verbatim} ngeneralTube: (ThreeCurve, TwoCurve, DFLOAT, DFLOAT) -> Surface ngeneralTube(spaceCurve, planeCurve, delT, oldT) == - free frame Indicate that $frame$ is global + -- Indicate that frame is global + free frame (v:DFLOAT, t: DFLOAT): R3 +-> - if (t $\sim$= oldT) then If not already computed - frame := nfrenetFrame(spaceCurve, t, delT) compute new frame + -- If not already computed compute new frame + if (t $\sim$= oldT) then + frame := nfrenetFrame(spaceCurve, t, delT) oldT := t p := planeCurve(v, t) + -- Project $p$ into the normal plane frame.value + p.1*frame.normal + p.2*frame.binormal - Project $p$ into the normal plane + \end{verbatim} %\input{gallery/dhtri.htex} @@ -82048,40 +86423,46 @@ a given triangle into another. \begin{verbatim} tri2tri: (List Point DFLOAT, List Point DFLOAT) -> DHMATRIX(DFLOAT) - Compute a DHMATRIX that -tri2tri(t1, t2) == transforms $t1$ to $t2,$ where - n1 := triangleNormal(t1) $t1$ and $t2$ are the vertices - n2 := triangleNormal(t2) of two triangles in 3-space +-- Compute a DHMATRIX that transforms t1 to t2, where +-- t1 and t2 are the vertices of two triangles in 3-space +tri2tri(t1, t2) == + n1 := triangleNormal(t1) + n2 := triangleNormal(t2) tet2tet(concat(t1, n1), concat(t2, n2)) tet2tet: (List Point DFLOAT, List Point DFLOAT) -> DHMATRIX(DFLOAT) - Compute a DHMATRIX that -tet2tet(t1, t2) == transforms $t1$ to $t2,$ - m1 := makeColumnMatrix t1 where $t1$ and $t2$ are the - m2 := makeColumnMatrix t2 vertices of two tetrahedrons - m2 * inverse(m1) in 3-space - -makeColumnMatrix(t) == Put the vertices of a tetra- - m := new(4,4,0)$DHMATRIX(DFLOAT) hedron into matrix form +-- Compute a DHMATRIX that transforms t1 to t2, where t1 and t2 +-- are the vertices of two tetrahedrons in 3-space +tet2tet(t1, t2) == + m1 := makeColumnMatrix t1 + m2 := makeColumnMatrix t2 + m2 * inverse(m1) + +-- Put the vertices of a tetrahedron into matrix form +makeColumnMatrix(t) == + m := new(4,4,0)$DHMATRIX(DFLOAT) for x in t for i in 1..repeat for j in 1..3 repeat m(j,i) := x.j m(4,i) := 1 m -triangleNormal(t) == Compute a vector normal to - a := triangleArea t the given triangle, whose - p1 := t.2 - t.1 length is the square root - p2 := t.3 - t.2 of the area of the triangle +-- Compute a vector normal to the given triangle, whose +-- length is the square root of the area of the triangle +triangleNormal(t) == + a := triangleArea t + p1 := t.2 - t.1 + p2 := t.3 - t.2 c := cross(p1, p2) len := length(c) len = 0 => error "degenerate triangle!" c := (1/len)*c t.1 + sqrt(a) * c -triangleArea t == Compute the area of a - a := length(t.2 - t.1) triangle using Heron's - b := length(t.3 - t.2) formula +-- Compute the area of a triangle using Heron's formula +triangleArea t == + a := length(t.2 - t.1) + b := length(t.3 - t.2) c := length(t.1 - t.3) s := (a+b+c)/2 sqrt(s*(s-a)*(s-b)*(s-c)) @@ -82094,48 +86475,60 @@ triangleArea t == Compute the area of a %\outdent{Sierpinsky's Tetrahedron} \begin{verbatim} -)set expose add con DenavitHartenbergMatrix Bring DH matrices into the - environment -x1:DFLOAT := sqrt(2.0@DFLOAT/3.0@DFLOAT) Set up the coordinates of the -x2:DFLOAT := sqrt(3.0@DFLOAT)/6 corners of the tetrahedron. +-- Bring DH matrices into the environment +)set expose add con DenavitHartenbergMatrix + +-- Set up the coordinates of the corners of the tetrahedron. +x1:DFLOAT := sqrt(2.0@DFLOAT/3.0@DFLOAT) +x2:DFLOAT := sqrt(3.0@DFLOAT)/6 -p1 := point [-0.5@DFLOAT, -x2, 0.0@DFLOAT] Some needed points +p1 := point [-0.5@DFLOAT, -x2, 0.0@DFLOAT] p2 := point [0.5@DFLOAT, -x2, 0.0@DFLOAT] p3 := point [0.0@DFLOAT, 2*x2, 0.0@DFLOAT] p4 := point [0.0@DFLOAT, 0.0@DFLOAT, x1] -baseTriangle := [p2, p1, p3] The base of the tetrahedron +-- The base of the tetrahedron +baseTriangle := [p2, p1, p3] +-- The middle triangle inscribed in the base of the tetrahedron +-- The bases of the triangles of the subdivided tetrahedron mt := [0.5@DFLOAT*(p2+p1), 0.5@DFLOAT*(p1+p3), 0.5@DFLOAT*(p3+p2)] - The middle triangle inscribed - in the base of the tetrahedron -bt1 := [mt.1, p1, mt.2] The bases of the triangles of -bt2 := [p2, mt.1, mt.3] the subdivided tetrahedron + +bt1 := [mt.1, p1, mt.2] +bt2 := [p2, mt.1, mt.3] bt3 := [mt.2, p3, mt.3] bt4 := [0.5@DFLOAT*(p2+p4), 0.5@DFLOAT*(p1+p4), 0.5@DFLOAT*(p3+p4)] -tt1 := tri2tri(baseTriangle, bt1) Create the transformations -tt2 := tri2tri(baseTriangle, bt2) that bring the base of the -tt3 := tri2tri(baseTriangle, bt3) tetrahedron to the bases of -tt4 := tri2tri(baseTriangle, bt4) the subdivided tetrahedron - -drawPyramid(n) == Draw a Sierpinsky tetrahedron - s := createThreeSpace() with $n$ levels of recursive - dh := rotatex(0.0@DFLOAT) subdivision +-- Create the transformations that bring the base of the +-- tetrahedron to the bases of the subdivided tetrahedron +tt1 := tri2tri(baseTriangle, bt1) +tt2 := tri2tri(baseTriangle, bt2) +tt3 := tri2tri(baseTriangle, bt3) +tt4 := tri2tri(baseTriangle, bt4) + +-- Draw a Sierpinsky tetrahedron with n levels of recursive +-- subdivision +drawPyramid(n) == + s := createThreeSpace() + dh := rotatex(0.0@DFLOAT) drawPyramidInner(s, n, dh) makeViewport3D(s, "Sierpinsky Tetrahedron") -drawPyramidInner(s, n, dh) == Recursively draw a Sierpinsky - n = 0 => makeTetrahedron(s, dh, n) tetrahedron - drawPyramidInner(s, n-1, dh * tt1) Draw the 4 recursive pyramids +-- Recursively draw a Sierpinsky tetrahedron +-- Draw the 4 recursive pyramids +drawPyramidInner(s, n, dh) == + n = 0 => makeTetrahedron(s, dh, n) + drawPyramidInner(s, n-1, dh * tt1) drawPyramidInner(s, n-1, dh * tt2) drawPyramidInner(s, n-1, dh * tt3) drawPyramidInner(s, n-1, dh * tt4) -makeTetrahedron(sp, dh, color) == Draw a tetrahedron into the - w1 := dh*p1 given space with the given - w2 := dh*p2 color, transforming it by - w3 := dh*p3 the given DH matrix +-- Draw a tetrahedron into the given space with the given +-- color, transforming it by the given DH matrix +makeTetrahedron(sp, dh, color) == + w1 := dh*p1 + w2 := dh*p2 + w3 := dh*p3 w4 := dh*p4 polygon(sp, [w1, w2, w4]) polygon(sp, [w1, w3, w4]) @@ -82154,15 +86547,18 @@ Draw Antoine's Necklace. Thank you to Matthew Grayson at IBM's T.J Watson Research Center for the idea. \begin{verbatim} -)set expose add con DenavitHartenbergMatrix Bring DH matrices into - the environment -torusRot: DHMATRIX(DFLOAT) The transformation for - drawing a sub ring - -drawRings(n) == Draw Antoine's Necklace with $n$ - s := createThreeSpace() levels of recursive subdivision - dh:DHMATRIX(DFLOAT) := identity() The number of subrings is $10^n$ - drawRingsInner(s, n, dh) Do the real work +-- Bring DH matrices into the environment +)set expose add con DenavitHartenbergMatrix + +-- The transformation for drawing a sub ring +torusRot: DHMATRIX(DFLOAT) + +-- Draw Antoine's Necklace with n levels of recursive subdivision +-- The number of subrings is 10^n. Do the real work +drawRings(n) == + s := createThreeSpace() + dh:DHMATRIX(DFLOAT) := identity() + drawRingsInner(s, n, dh) makeViewport3D(s, "Antoine's Necklace") \end{verbatim} @@ -82177,36 +86573,39 @@ rings. Notice how the {\bf DHMATRIX} operations are used to build up the proper matrix composing all these transformations. \begin{verbatim} -drawRingsInner(s, n, dh) == Recursively draw Antoine's - n = 0 => Necklace +-- Recursively draw Antoine's Necklace +drawRingsInner(s, n, dh) == + n = 0 => drawRing(s, dh) void() - t := 0.0@DFLOAT Angle around ring - p := 0.0@DFLOAT Angle of subring from plane - tr := 1.0@DFLOAT Amount to translate subring - inc := 0.1@DFLOAT The translation increment - for i in 1..10 repeat Subdivide into 10 linked rings + t := 0.0@DFLOAT Angle around ring + p := 0.0@DFLOAT Angle of subring from plane + tr := 1.0@DFLOAT Amount to translate subring + inc := 0.1@DFLOAT The translation increment + for i in 1..10 repeat Subdivide into 10 linked rings tr := tr + inc inc := -inc + -- Transform ring in center to a link dh' := dh*rotatez(t)*translate(tr,0.0@DFLOAT,0.0@DFLOAT)* - Transform ring in center - to a link rotatey(p)*scale(0.35@DFLOAT, 0.48@DFLOAT, 0.4@DFLOAT) drawRingsInner(s, n-1, dh') t := t + 36.0@DFLOAT p := p + 90.0@DFLOAT void() -drawRing(s, dh) == Draw a single ring into - free torusRot the given subspace, - torusRot := dh transformed by the given - DHMATRIX +-- Draw a single ring into the given subspace, +-- transformed by the given DHMATRIX +drawRing(s, dh) == + free torusRot + torusRot := dh makeObject(torus, 0..2*\%pi, 0..2*\%pi, var1Steps == 6, space == s, var2Steps == 15) -torus(u ,v) == Parameterization of a torus, - cu := cos(u)/6 transformed by the - DHMATRIX in $torusRot.$ +-- Parameterization of a torus, transformed by the +-- DHMATRIX in torusRot. +torus(u ,v) == + cu := cos(u)/6 + torusRot*point [(1+cu)*cos(v),(1+cu)*sin(v),(sin u)/6] \end{verbatim} @@ -82222,40 +86621,47 @@ See: {\it A Comprehensive Introduction to Differential Geometry,} Vol. 3, by Michael Spivak, Publish Or Perish, Berkeley, 1979, pp. 249-252. \begin{verbatim} -(xOffset, yOffset):DFLOAT Offsets for a single piece - of Scherk's minimal surface +-- Offsets for a single piece of Scherk's minimal surface +(xOffset, yOffset):DFLOAT -drawScherk(m,n) == Draw Scherk's minimal surface - free xOffset, yOffset on an $m$ by $n$ patch +-- Draw Scherk's minimal surface on an m by n patch +drawScherk(m,n) == + free xOffset, yOffset space := createThreeSpace() for i in 0..m-1 repeat xOffset := i*\%pi for j in 0 .. n-1 repeat - rem(i+j, 2) = 0 => 'iter Draw only odd patches + -- Draw only odd patches + rem(i+j, 2) = 0 => 'iter yOffset := j*\%pi - drawOneScherk(space) Draw a patch + -- Draw a patch + drawOneScherk(space) makeViewport3D(space, "Scherk's Minimal Surface") -scherk1(u,v) == The first patch that makes - x := cos(u)/exp(v) up a single piece of - point [xOffset + acos(x), yOffset + u, v, abs(v)] Scherk's minimal surface +-- The first patch that makes up a single piece of +-- Scherk's minimal surface +scherk1(u,v) == + x := cos(u)/exp(v) + point [xOffset + acos(x), yOffset + u, v, abs(v)] -scherk2(u,v) == The second patch +-- The second patch +scherk2(u,v) == x := cos(u)/exp(v) point [xOffset - acos(x), yOffset + u, v, abs(v)] -scherk3(u,v) == The third patch +-- The third patch +scherk3(u,v) == x := exp(v) * cos(u) point [xOffset + u, yOffset + acos(x), v, abs(v)] -scherk4(u,v) == The fourth patch +-- The fourth patch +scherk4(u,v) == x := exp(v) * cos(u) point [xOffset + u, yOffset - acos(x), v, abs(v)] -drawOneScherk(s) == Draw the surface by - breaking it into four - patches and then drawing - the patches +-- Draw the surface by breaking it into four +-- patches and then drawing the patches +drawOneScherk(s) == makeObject(scherk1,-\%pi/2..\%pi/2,0..\%pi/2,space==s, var1Steps == 28, var2Steps == 28) makeObject(scherk2,-\%pi/2..\%pi/2,0..\%pi/2,space==s, @@ -82267,11 +86673,10 @@ drawOneScherk(s) == Draw the surface by void() \end{verbatim} +%Original Page 703 { -%Original Page 703 - \setcounter{chapter}{6} % Appendix G \chapter{Glossary} \label{ugGlossary} @@ -82429,7 +86834,8 @@ $11.0$ in order to assign a floating-point value to $x$. \ourGloss{\glossaryTerm{attribute}}{% -a name or functional form denoting {\it any} useful computational or mathematical +a name or functional form denoting {\it any} +useful computational or mathematical property. For example, {\bf commutative($"*"$)} asserts that $*$ is commutative. Also, {\bf finiteAggregate} is used to assert that an aggregate has @@ -83524,8 +87930,8 @@ an argument of an {\it operator} (regarding an operator as a \ourGloss{\glossaryTerm{operation}}{% an abstraction of a {\it function}, described by a -{\it signature}. For example, $fact: -NonNegativeInteger -> NonNegativeInteger$ describes an operation for +{\it signature}. For example,\\ +$fact: NonNegativeInteger -> NonNegativeInteger$ describes an operation for ``the factorial of a (non-negative) integer.'' } @@ -83589,7 +87995,8 @@ function. } \ourGloss{\glossaryTerm{parent}}{% -(of a domain or category) a category which is explicitly declared in the source code +(of a domain or category) a category which is +explicitly declared in the source code definition for the domain either to the left of the {\tt with} or as an {\it export} of the domain. See {\it category extension}. @@ -83684,8 +88091,6 @@ Thus the change to $V$ made by the third statement does not affect $y$. } -\newpage - \ourGloss{\glossaryTerm{polymorphic}}{% a {\it function} (for example, one implementing an {\it algorithm}) defined with categorical types so as to be @@ -84259,7 +88664,7 @@ Addison-Wesley Publishing Company, Inc., \bibitem{3} Jenks, Richard D. and Sutor, Robert S.,\\ {\it Axiom, The Scientific Computation System} \\ Springer-Verlag, New York, NY 1992 ISBN 0-387-97855-0 -\bibitem{4} Daly, Timothy, "The Axiom Literate Documentation"\\ +\bibitem{4} Daly, Timothy, ``The Axiom Literate Documentation''\\ {\bf http://axiom.axiom-developer.org/axiom-website/documentation.html} \end{thebibliography} \printindex diff --git a/changelog b/changelog index 8ecb2a0..95c21fc 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,5 @@ +20130418 jzc src/axiom-website/patches.html 20130418.01.jzc.patch +20130418 jzc books/bookvol0 fix Jenks book format issues 20130414 tpd src/axiom-website/patches.html 20130414.01.tpd.patch 20130414 tpd src/axiom-website/documentation.html add quote 20130411 tpd src/axiom-website/patches.html 20130411.01.tpd.patch diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 50fb8d5..e91ed76 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -4137,5 +4137,7 @@ books/bookvol10.4 fix OUT.spad warning (bug 329) src/interp/Makefile, books/bookvol5 remove bc-matrix.lisp 20130414.01.tpd.patch src/axiom-website/documentation.html add quote +20130418.01.jzc.patch +books/bookvol0 fix Jenks book format issues