Switch Summary
These are switches available within REDUCE via the commands
ON
and OFF
, not switches in the sense of
command-line start-up options. The switches are sorted
alphabetically by name. A summary
of some undocumented switches follows the summary of
documented switches.
Documented switch summary
This is a summary of the switches documented in the REDUCE User's Manual [ HTML | PDF ]; more information and context can be found by searching the PDF version of the manual.
Switch | Default | Controls | Effect |
---|---|---|---|
ADJPREC | OFF | Input | When on, REDUCE increases PRECISION to keep the full accuracy of all numbers input. |
ALGINT | OFF | INT | When on, INT uses the ALGINT package. |
ALLBRANCH | ON | SOLVE | When off, SOLVE only selects the principal branches of functions. |
ALLFAC | ON | Output | When on, REDUCE searches a whole expression, or any sub-expression enclosed in parentheses, for simple multiplicative factors and displays them outside the parentheses. |
ALLOWDFINT | OFF | DF | When on, DF applies “differentiation under the integral sign”, i.e. DF(INT(Y, X), V) → INT(DF(Y, V), X) if this results in a simplification. |
ANTICOM | OFF | * | When on, REDUCE uses only anti-commutators to commute non-commuting variables. |
ARBVARS | ON | SOLVE | When off, SOLVE does not introduce new indeterminate kernels (i.e. ARBCOMPLEX(j) ) into the solution of an under-determined multivariate system. |
ASSERT | OFF | ASSERT | When on, REDUCE checks assertions at translation time. |
ASSERTBREAK | OFF | ASSERT | When on, not only are warnings issued for assertion violations but the computation is interrupted with a corresponding error. |
ASSERTSTATISTICS | ON | ASSERT | When on, enables the statistical counting of procedure calls and assertion violations. |
BALANCED_MOD | OFF | Arithmetic | When on with ON MODULAR, REDUCE uses the symmetric modular representation in the interval [-floor((p-1)/2), ceiling((p-1)/2)], where p is the current modulus. |
BEZOUT | OFF | RESULTANT | When on, RESULTANT uses the Bezout Matrix. |
BFSPACE | ON | Output | When on, REDUCE outputs numbers that are stored internally as bigfloats with a space between every five digits to improve readability. |
CHECKORD | ON | CDE | When on, the function check_letop checks an expression for the presence of letop . |
COMBINEEXPT | OFF | Algebra | When on, REDUCE combines exponentiated terms such as x^(1/3)*x^(1/6) (which are always output as if combined). |
COMBINELOGS | OFF | Algebra | When on, REDUCE combines a sum of logarithms into a logarithm of a product (but see also the PRECISE switch). |
COMMUTEDF | OFF | DF | When on, DF commutes the order of differentiation in df(u,x,...,u,y,...) – assuming u depends on x,...,y,... in some way – and hence simplifies it to 0. |
COMP | OFF | Input | When on, REDUCE compiles procedures when they are input and replaces their definitions with compiled versions. |
COMPLEX | OFF | Arithmetic | When on, REDUCE uses complex arithmetic; it rationalizes denominators of complex rational numbers, and computes polynomial GCDs and factorizations over the complex rational numbers. |
CONTRACT | OFF | PHYSOP | When on, REDUCE contracts over dummy indices, reinserting the DOT operator and reassembling the expanded powers. |
CRAMER | OFF | SOLVE | When on, SOLVE uses Cramer’s method to solve linear equations instead of the multi-step elimination method due to Bareiss. |
CREF | OFF | Input | When on, REDUCE runs the Standard Lisp Cross Reference Program on the input (but does not otherwise process it). |
DEFN | OFF | Input | When on, REDUCE outputs the Standard Lisp equivalent of the input (but does not otherwise process it). |
DEMO | OFF | Input | When on, REDUCE pauses after each command input from a file (with the exception of comments) until a Return is typed on the terminal. |
DFINT | OFF | DF | When on with ON ALLOWDFINT, DF applies “differentiation under the integral sign”, i.e. DF(INT(Y, X), V) → INT(DF(Y, V), X) whether or not this results in a simplification. |
DISPJACOBIAN | OFF | CHANGEVAR | When on, CHANGEVAR displays the entries of the inverse Jacobian. |
DISTRIBUTE | OFF | ASSIST | When on, ASSIST puts polynomials in distributed form. |
DIV | OFF | Output | When on, REDUCE searches the denominator of an expression for simple factors that it divides into the numerator, so that rational fractions and negative powers appear in the output. |
ECHO | ON | Input | Echoing of all or part of an input file can be prevented, even if a semicolon was used, by placing an OFF ECHO command in the input file. |
ERRCONT | OFF | Input | When on, REDUCE will continue evaluating input from a file after an error occurs; otherwise, it stops. |
EVALLHSEQP | OFF | Equations | When on, REDUCE evaluates the LHS of equations (as well as the RHS). |
EXP | ON | Algebra | When on, REDUCE expands powers and products of expressions. |
EXPANDDF | OFF | DF | When on, REDUCE uses the chain rule to expand symbolic derivatives of indirectly dependent variables (provided the result is unambiguous). |
EXPANDLOGS | OFF | Algebra | When on, REDUCE expands a logarithm of a product into a sum of logarithms (but see also the PRECISE switch). |
EZGCD | OFF | Algebra | When on, REDUCE computes GCDs using an alternative algorithm, called the EZGCD Algorithm, which uses modular arithmetic. ON is recommended! |
FACTOR | OFF | Algebra | When on, REDUCE represents expressions in factored form. |
FAILHARD | OFF | INT | When on, INT will terminate with an error if an integral cannot be evaluated in closed terms, rather than returning unevaluated. |
FASTSIMPLEX | ON | LINALG | When on, SIMPLEX uses the bounds argument; otherwise, the algorithm assumes that all the variables have non-negative values. |
FAST_LA | OFF | LINALG, SPARSE | When on, LINALG and SPARSE use faster but less safe versions of some functions with less error checking. |
FORT | OFF | Output | When on, REDUCE outputs expressions using FORTRAN syntax. |
FORTUPPER | OFF | Output | When on, REDUCE outputs FORTRAN in upper case; otherwise, it is in lower case. |
FULLROOTS | OFF | SOLVE | When on, SOLVE outputs roots of cubics and quartics in closed form (which can often be very messy). |
GCD | OFF | Algebra | When on, REDUCE cancels common algebraic factors in the numerators and denominators of expressions. |
GLTBASIS | OFF | GROEBNER | When on, GROEBNER collects the leading terms of the result basis, which is available as the value of the global variable gltb . |
GROEBFULLREDUCTION | ON | GROEBNER | When off, GROEBNER limits its reduction steps to pure head-term reduction; otherwise, subsequent terms are also reduced. |
GROEBOPT | OFF | GROEBNER | When on, GROEBNER selects the variable ordering to optimize execution speed; the optimized variable list is available in gvarslast . |
GROEBPROT | OFF | GROEBNER | When on, GROEBNER, GREDUCE and PREDUCE produce as a side effect a trace of their work as a REDUCE list of equations in the shared variable groebprotfile . |
GROEBSTAT | OFF | GROEBNER | When on, GROEBNER outputs a summary of the computation including the computing time, the number of intermediate h–polynomials and the counters for the hits of the criteria. |
HEUGCD | OFF | Algebra | When on with ON GCD, REDUCE uses a heuristic GCD algorithm, available experimentally. EZGCD takes precedence over HEUGCD. |
HORNER | OFF | Output | When on, REDUCE outputs polynomials according to Horner’s rule. |
IFACTOR | OFF | FACTORIZE | When on, FACTORIZE finds the prime factors of the overall integer factor (content) of a polynomial, using a probabilistic algorithm. |
IMAGINARY | OFF | LINALG | When on, RANDOM_MATRIX generates matrix entries that are complex numbers. |
INT | → | Input | When on, REDUCE treats input as interactive; the default is ON for terminal input and OFF for file input. |
INTSTR | OFF | Output | When on, REDUCE outputs operator arguments in the same form they would have as top-level expressions; otherwise, they are normally fully expanded. |
LCM | ON | Algebra | When on, REDUCE uses the true least common multiple of the denominators as the common denominator of a rational expression at each computational step. |
LHYP | OFF | LAPLACE | When on, INVLAP converts exponentials into the hyperbolic functions sinh and cosh. |
LIST | OFF | Output | When on, REDUCE outputs each term in any sum on a separate line. [This may not be reliable for typeset-style output.] |
LISTARGS | OFF | Algebra | When on, REDUCE does not distribute unary operators over list arguments. |
LMON | OFF | LAPLACE | When on, LAPLACE converts trigonometric and hyperbolic functions into exponentials. |
LOOKING_GOOD | OFF | NORMFORM | When on and using xr, the X interface for REDUCE, NORMFORM improves the appearance of output by converting all lambda to ξ and improves the indexing, e.g., lambda12 → ξ12. |
LOWER_MATRIX | OFF | LINALG | When on, RANDOM_MATRIX creates lower-triangular matrices. |
LTRIG | OFF | LAPLACE | When on, INVLAP converts exponentials into the trigonometric functions sin and cos. |
MCD | ON | Algebra | When on, REDUCE produces an expression over a common denominator when rational functions are added. (ON MCD is necessary for reliable simplification!) |
MODULAR | OFF | Arithmetic | When on, REDUCE uses modular arithmetic with modulus p (which must be set using the SETMOD command). |
MSG | ON | Output | When off, REDUCE suppresses warning messages. |
MULTIPLICITIES | OFF | SOLVE | When on, SOLVE outputs multiple solutions explicitly as repeated solutions. |
MULTIROOT | ON | ROOTS | When on, ROOTS indicates the multiplicity of a root by outputting it repeatedly, according to its multiplicity. |
NAT | ON | Output | When off, REDUCE outputs expressions in linear input-compatible form with each expression terminated by a dollar sign. |
NERO | OFF | Output | When on, REDUCE does not output the results of zero assignments (i.e. assignments of the form <expression> := 0 ). |
NOCOMMUTEDF | OFF | DF | When on, DF does not commute the order of differentiation. |
NOCONVERT | OFF | Arithmetic | When on with ON ROUNDED, REDUCE does not convert the floating-point number 1.0 to the integer 1. |
NOINTSUBST | OFF | INT | When on, INT does not use heuristic attempts to solve an integral by substitution. |
NOLNR | OFF | INT | When on, INT does not use the linear properties of integration in cases where the integral cannot be found in closed form. |
NOSPLIT | ON | Output | When on, REDUCE does not attempt to break output expressions across lines at natural points. |
NOSUM | OFF | EXCALC | When on, EXCALC does not perform any summation. |
NOT_NEGATIVE | OFF | LINALG | When on, RANDOM_MATRIX generates matrix entries that are strictly positive numbers. |
ONESPACE | ON | CANTENS | When on, CANTENS works in a single space environment, which is Euclidean and has a symbolic dimension equal to dim . |
ONLY_INTEGER | OFF | LINALG | When on, RANDOM_MATRIX generates matrix entries that are integers (complex integers with ON IMAGINARY). |
OUTPUT | ON | Output | When off, REDUCE suppresses the output entirely from any top-level evaluation. |
PERIOD | ON | Output | When on with ON FORT, REDUCE automatically inserts a decimal point after each isolated integer coefficient (so that, for example, 4 becomes 4. ). |
PGWD | OFF | Compiling | When on, the REDUCE compiler displays the actual code generated. |
PLAP | OFF | Compiling | When on, the REDUCE compiler displays the portable intermediate code generated. |
PLOTKEEP | OFF | PLOT | When on, REDUCE does not erase GNUPLOT data files. |
PRECISE | ON | Algebra | When on, REDUCE preserves the positive property of the square root and higher even roots by using the absolute value of any non-numerical factors taken out of surds. |
PRECISE_COMPLEX | OFF | Algebra | When on, REDUCE does not simplify √x2 to |x|. |
PRET | OFF | Output | When on, REDUCE "prettyprints" its input in a standard format. |
PRI | ON | Output | When on, REDUCE respects the switches that control output; otherwise, it uses a fixed format, which basically reflects the internal form of expressions. |
PSPRINTORDER | ON | TPS | When on, TPS outputs the remainder of the power series in big-O notation; otherwise, three dots are used. |
PWRDS | ON | Compiling | When on, the REDUCE compiler displays statistics for functions as they are compiled. |
QGOSPER_DOWN | ON | QSUM | When on, QGOSPER returns a downward anti-difference; otherwise, it returns an upward anti-difference. |
QGOSPER_SPECIALSOL | ON | QSUM | When on, QGOSPER returns just one special solution; otherwise, it returns all solutions. |
QSUMRECURSION_CERTIFICATE | OFF | QSUM | When on, QSUMRECURSION provides all necessary information for proving the recurrence equation. |
QSUMRECURSION_DOWN | ON | QSUM | When on, QSUMRECURSION returns a downward recurrence equation; otherwise it returns an upward recurrence equation. |
QSUMRECURSION_EXP | OFF | QSUM | When on, QSUMRECURSION factors the coefficients of the recurrence equation. |
QSUM_NULLSPACE | OFF | QSUM | When on, QSUM uses a modified nullspace-algorithm for solving the set of linear equations, which is generally slower. |
QSUM_TRACE | OFF | QSUM | When on, QSUM outputs some intermediate results. |
RAT | OFF | Output | When on with a FACTOR declaration in effect, REDUCE output has the overall denominator of an expression divided into each factored sub-expression. |
RATARG | OFF | COEFF(N) | When on, COEFF and COEFFN do not check denominators for dependence and always treat them as part of the coefficients. |
RATIONAL | OFF | Algebra | When on, REDUCE treats a rational number as a polynomial coefficient rather than as the numerator and denominator of a rational expression. |
RATIONALIZE | OFF | Algebra | When on, REDUCE uses complex conjugation to remove complex numbers from denominators (much as with ON COMPLEX). |
RATPRI | ON | Output | When on, REDUCE attempts to output rational expressions in two-dimensional form. |
RATROOT | OFF | ROOTS | When on, ROOTS outputs all root equations in rational form. |
REVPRI | OFF | Output | When on, REDUCE outputs polynomial terms ordered from lowest to highest power (as is normal for a power series). |
RLISP88 | OFF | Input | When on, REDUCE is in symbolic mode with RLISP ’88 syntax and extensions. |
ROOTMSG | OFF | ROOTS | When on with ON TRROOT, ROOTS outputs additional messages to aid in following the progress of Laguerre and Newton complex iteration. |
ROUNDALL | ON | Arithmetic | When on with ON ROUNDED, REDUCE converts rational numbers to rounded representation; otherwise, they are kept in rational form until used in an operation that returns a real number. |
ROUNDBF | OFF | Arithmetic | When on, REDUCE uses bigfloat representation for floating-point numbers at all precisions; otherwise, it uses bigfloat only when necessary. |
ROUNDED | OFF | Arithmetic | When on, REDUCE uses numerical approximation to compute non-integer numerical values (to the accuracy is specified using the operator PRECISION). |
RTRACE | ON | RTRACE | When on, traced values are output in algebraic style whenever possible; otherwise, they are output in conventional Lisp style. |
SAVESTRUCTR | OFF | Algebra | When on, STRUCTR returns a list representing the expression structure; otherwise, it only displays the structure. |
SIMPNONCOMDF | OFF | DF | When on with OFF COMMUTEDF, DF(U,X,U) simplifies to DF(U,X,2)/DF(U,X) etc., provided U depends only on the one variable X . |
SOLVESINGULAR | ON | SOLVE | When on, SOLVE introduces arbitrary constants as appropriate to solve consistent singular equations. |
SYMMETRIC | OFF | LINALG | When on, RANDOM_MATRIX generates symmetric matrices. |
TAYLORAUTOCOMBINE | ON | TAYLOR | When on, Taylor expressions automatically combine during the simplification process (equivalent to applying TAYLORCOMBINE to every expression that contains Taylor kernels). |
TAYLORAUTOEXPAND | OFF | TAYLOR | When on, Taylor expressions are “contagious” in the sense that TAYLORCOMBINE tries to Taylor expand all non-Taylor sub-expressions and to combine the result with the rest. |
TAYLORKEEPORIGINAL | OFF | TAYLOR | When on, TAYLOR keeps the original expression, i.e. the expression that was Taylor expanded. All operations performed on the Taylor kernels are also applied to this expression which can be recovered using the operator TAYLORORIGINAL. |
TAYLORPRINTORDER | ON | TAYLOR | When on, TAYLOR outputs remainders using big-O notation; otherwise, three dots are used. |
TIME | OFF | Output | When on, REDUCE outputs a message after each command giving the elapsed CPU time since the last command, since TIME was last turned off, or since the session began. |
TRA | OFF | ALGINT | When on, ALGINT outputs tracing information about the specific functioning of the algebraic integrator. |
TRCOMPACT | OFF | COMPACT | When on, COMPACT outputs tracing information. |
TRDEFINT | OFF | DEFINT | When on, DEFINT outputs information about intermediate steps of the calculation. |
TRFAC | OFF | Algebra | When on, all calls to the factorizer will generate informative messages reporting on such things as the reduction of multivariate to univariate cases, the choice of a prime and the reconstruction of full factors from their images. |
TRGROEB | OFF | GROEBNER | When on, GROEBNER tracing includes GROEBSTAT and intermediate h-polynomials. |
TRGROEB1 | OFF | GROEBNER | When on, GROEBNER tracing includes the internal pairlist when modified. |
TRGROEBR | OFF | GROEBNER | When on, GROEBNER tracing includes all intermediate partial bases when detected. |
TRGROEBS | OFF | GROEBNER | When on, GROEBNER tracing includes TRGROEB and the printing of intermediate s–polynomials. |
TRIGFORM | ON | SOLVE | When on, SOLVE uses trigonometrical forms for the solutions of cubics and quartics where appropriate. |
TRINT | OFF | INT | When on, INT traces the operation of the algorithm. It produces a great deal of output in a somewhat illegible form, and is not of much interest to the general user. |
TRINTSUBST | OFF | INT | When on, INT traces heuristic attempts to evaluate an integral by substitution. |
TRNUMERIC | OFF | NUMERIC | When on, NUMERIC outputs tracing information. |
TRPLOT | OFF | PLOT | When on, all GNUPLOT commands are written additionally to the actual REDUCE output. |
TRROOT | OFF | ROOTS | When on, ROOTS outputs tracing messages during the course of root determination, to show the progress of solution. |
TRSOLVE | OFF | RSOLVE | When on, RSOLVE outputs tracing information. |
TRSUM | OFF | SUM | When on, SUM outputs tracing information. |
TRWU | OFF | WU | When on, WU outputs tracing information. |
TR_LIE | OFF | LIE | When on, LIENDIMCOM1 outputs tracing information. |
UPPER_MATRIX | OFF | LINALG | When on, RANDOM_MATRIX generates upper-triangular matrices. |
VAROPT | ON | SOLVE | When on, SOLVE rearranges the variable sequence to reduce the (expected) computing time; otherwise, the supplied variable sequence is used or the system kernel ordering is used if the variable list is omitted. |
VERBOSELOAD | OFF | TAYLOR | When on, REDUCE prints some information when the Taylor package is loaded. |
ZB_FACTOR | ON | ZEILBERG | When on, ZEILBERG factorizes its output usually producing nicer results. |
ZB_PROOF | OFF | ZEILBERG | When on, ZEILBERG stores several intermediate results in global variables. |
ZB_TRACE | OFF | ZEILBERG | When on, ZEILBERG outputs tracing information. |
Undocumented switch summary
This is an attempt to summarize some of the switches that are not documented in the REDUCE User's Manual, either because they are not intended for direct user access or because they are specific to the underlying Lisp system (PSL or CSL). Beware that details are more likely to be wrong than for the documented switches!
Switch | Default | Controls | Effect |
---|---|---|---|
BACKTRACE | OFF | Errors | When on, REDUCE outputs an unwind backtrace when errors occur in the top-level read-eval-print loop outside the scope of any user-specified error handler. |
BREAK | OFF | PSL | When on, PSL REDUCE suppresses all break loops and just displays an error message when it detects an error. |
FANCY | → | Output | When on, REDUCE uses typeset-style output; the default is ON for CSL REDUCE in GUI mode and OFF otherwise (but probably ON when using TeXmacs). |
GC | ON | Output | When on, REDUCE outputs information about garbage collection. |
PCMAC | OFF | PSL | When on, the PSL REDUCE compiler displays both the portable intermediate code generated and the assembly language mnemonics. |
RAISE | ON | PSL | When on, PSL REDUCE converts upper-case alphabetic characters to lower case. |
USERMODE | OFF | PSL | When on, PSL REDUCE queries an attempt to redefine a system function unless it is flagged LOSE. |
VERBOSELOAD | OFF | PSL | When on, PSL REDUCE outputs information when a package is loaded. |