This is documentation for Mathematica 5, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)

Documentation / Mathematica / Built-in Functions / Algebraic Computation / Equation Solving /

Reduce

FilledSmallSquare Reduce[expr, vars] reduces the statement expr by solving equations or inequalities for vars and eliminating quantifiers.

FilledSmallSquare Reduce[expr, vars, dom] does the reduction over the domain dom. Common choices of dom are Reals, Integers and Complexes.

FilledSmallSquare The statement expr can be any logical combination of:

FilledSmallSquare The result of Reduce[expr, vars] always describes exactly the same mathematical set as expr.

FilledSmallSquare Reduce[, , ... , vars] is equivalent to Reduce[ && && ... , vars].

FilledSmallSquare Reduce[expr, vars] assumes by default that quantities appearing algebraically in inequalities are real, while all other quantities are complex.

FilledSmallSquare Reduce[expr, vars, dom] restricts all variables and parameters to belong to the domain dom.

FilledSmallSquare If dom is Reals, or a subset such as Integers or Rationals, then all constants and function values are also restricted to be real.

FilledSmallSquare Reduce[expr && vars Reals, vars, Complexes] performs reductions with variables assumed real, but function values allowed to be complex.

FilledSmallSquare Reduce[expr, vars, Integers] reduces Diophantine equations over the integers.

FilledSmallSquare Reduce[expr, , , ... , ... ] effectively writes expr as a combination of conditions on , , ... , where each condition involves only the earlier .

FilledSmallSquare Algebraic variables in expr free of the are treated as independent parameters.

FilledSmallSquare 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.

FilledSmallSquare The may not be disjoint, and may have different dimensions. After LogicalExpand, each of the have the form e && e && ... .

FilledSmallSquare Without LogicalExpand, Reduce by default returns a nested collection of conditions on the , combined alternately by Or and And on successive levels.

FilledSmallSquare When expr involves only polynomial equations and inequalities over real or complex domains then Reduce can always in principle solve directly for all the .

FilledSmallSquare When expr involves transcendental conditions or integer domains Reduce will often introduce additional parameters in its results.

FilledSmallSquare When expr involves only polynomial conditions, Reduce[expr, vars, Reals] gives a cylindrical algebraic decomposition of expr.

FilledSmallSquare 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.

FilledSmallSquare 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.

FilledSmallSquare The following options can be given:

FilledSmallSquare 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 .

FilledSmallSquare See Section 1.5.7, Section 1.5.8, Section 3.4.5 and Section 3.4.9.

FilledSmallSquare Implementation Notes: see Section A.9.5.

FilledSmallSquare See also: Solve, FindInstance, Roots, Eliminate, Resolve, LogicalExpand, ToRules, GroebnerBasis, Simplify.

FilledSmallSquare New in Version 1; modified in 5.0.

Further Examples