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


expands nested piecewise functions in expr to give a single piecewise function.
expands piecewise functions using assumptions.
does the expansion over the domain dom.
  • PiecewiseExpand assumes that both the input and output of every function appearing in expr are in the domain dom.
  • The following options can be given:
Assumptions$Assumptionsdefault assumptions to append to assum
TimeConstraint30for how many seconds to try simplifying each set of conditions
Expand a nested piecewise expression to a single piecewise function:
Convert a composition of special piecewise functions to a single Piecewise object:
Expand a nested piecewise expression to a single piecewise function:
Click for copyable input
Click for copyable input
Convert a composition of special piecewise functions to a single Piecewise object:
Click for copyable input
Click for copyable input
Expand a piecewise function with piecewise values and piecewise conditions:
Convert Max to Piecewise:
Expand functions with infinite numbers of pieces over a finite region:
Expand a Boolean expression that implies a finite number of possible cases:
Expand assuming real parameters:
Assumptions can be given both as an argument and as an option value:
The default value of Assumptions option is $Assumptions:
When assumptions are given as an argument, $Assumptions is used as well:
Specifying assumptions as an option value prevents using $Assumptions:
The Method option allows local setting of system options related to piecewise functions:
With the default condition simplifier, some conditions may not be simplified:
This uses Reduce to simplify conditions:
By default, PiecewiseExpand uses Together to simplify values:
Trigonometric identities are not recognized:
This uses Simplify to simplify values:
By default, conditions produced by PiecewiseExpand are not disjoint and cannot be reordered:
This makes the conditions disjoint:
By default, all special piecewise functions are converted to Piecewise:
This converts If and UnitStep, but not Max:
By default, explicitly Boolean valued piecewise functions are given as Boolean expressions:
With False, the expression is represented using Piecewise:
With True, all values are assumed to be Boolean:
Simplification of a piecewise function can take a long time:
If neither of the cases can be eliminated, checking this may still take a long time:
This restricts the time used for a single condition check; the result may be less simplified:
PiecewiseExpand returns a single Piecewise object:
Min, Max, UnitStep, and Clip are piecewise functions of real arguments:
Abs, Sign, and Arg are piecewise functions when their arguments are assumed to be real:
KroneckerDelta and DiscreteDelta are piecewise functions of complex arguments:
Boole is a piecewise function of a Boolean argument:
If, Which, and Switch can be interpreted as piecewise functions:
Convert Floor, Ceiling, Round, IntegerPart, and FractionalPart for finite ranges:
Convert Mod and Quotient when the number of cases is finite:
UnitBox and UnitTriangle are piecewise functions of real arguments:
Convert SquareWave, TriangleWave, and SawtoothWave for finite ranges:
BernsteinBasis and BSplineBasis are piecewise functions of real arguments:
The number of cases in the expanded form may grow exponentially:
The ^(th) element of sums is a sum of piecewise functions with two cases each:
The number of cases in the expanded form of the ^(th) element of sums is :
This shows graphs of summands in the fourth element of sums; their sum is shown in red:
New in 5.1