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.