Reduce
Usage
• Reduce[expr, vars] reduces the statement expr by solving equations or inequalities for vars and eliminating quantifiers. • Reduce[expr, vars, dom] does the reduction over the domain dom. Common choices of dom are Reals, Integers and Complexes.
Notes
• The statement expr can be any logical combination of:
lhs rhs | equations | lhs rhs | inequations | lhs > rhs or lhs rhs | inequalities | expr dom | domain specifications | | ForAll[x, cond, expr] | universal quantifiers | | Exists[x, cond, expr] | existential quantifiers |
• The result of Reduce[expr, vars] always describes exactly the same mathematical set as expr. • Reduce[{ , , ... }, vars] is equivalent to Reduce[ && && ... , vars]. • Reduce[expr, vars] assumes by default that quantities appearing algebraically in inequalities are real, while all other quantities are complex. • Reduce[expr, vars, dom] restricts all variables and parameters to belong to the domain dom. • If dom is Reals, or a subset such as Integers or Rationals, then all constants and function values are also restricted to be real. • Reduce[expr && vars Reals, vars, Complexes] performs reductions with variables assumed real, but function values allowed to be complex. • Reduce[expr, vars, Integers] reduces Diophantine equations over the integers. • Reduce[expr, { , , ... }, ... ] effectively writes expr as a combination of conditions on  ,  , ... , where each condition involves only the earlier  . • Algebraic variables in expr free of the  are treated as independent parameters. • Applying LogicalExpand to the results of Reduce[expr, ... ] yields an expression of the form || || ... , where each of the  can be thought of as representing a separate component in the set defined by expr. • The  may not be disjoint, and may have different dimensions. After LogicalExpand, each of the  have the form e && e && ... . • Without LogicalExpand, Reduce by default returns a nested collection of conditions on the  , combined alternately by Or and And on successive levels. • When expr involves only polynomial equations and inequalities over real or complex domains then Reduce can always in principle solve directly for all the  . • When expr involves transcendental conditions or integer domains Reduce will often introduce additional parameters in its results. • When expr involves only polynomial conditions, Reduce[expr, vars, Reals] gives a cylindrical algebraic decomposition of expr. • Reduce can give explicit representations for solutions to all linear equations and inequalities over the integers, and can solve a large fraction of Diophantine equations described in the literature. • When expr involves only polynomial conditions over real or complex domains, Reduce[expr, vars] will always eliminate quantifiers, so that quantified variables do not appear in the result. • The following options can be given:
| Backsubstitution | False | whether to give results unwound by backsubstitution | | Cubics | False | whether to use explicit radicals to solve all cubics | | GeneratedParameters | C | how to name parameters that are generated | | Modulus | 0 | modulus to assume for integers | | Quartics | False | whether to use explicit radicals to solve all quartics |
• Reduce[expr, { , , ... }, Backsubstitution->True] yields a form in which values from equations generated for earlier  are backsubstituted so that the conditions for a particular  have only minimal dependence on earlier  . • New in Version 1; modified in 5.
|