expands nested piecewise functions in expr to give a single piecewise function.


expands piecewise functions using assumptions.


does the expansion over the domain dom.

Details and Options


open allclose all

Basic Examples  (1)

Expand a nested piecewise expression to a single piecewise function:

Convert a composition of special piecewise functions to a single Piecewise object:

Scope  (5)

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:

Options  (11)

Assumptions  (3)

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:

Method  (6)

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 "BooleanResult"->False, the expression is represented using Piecewise:

With "BooleanResult"->True, all values are assumed to be Boolean:

TimeConstraint  (2)

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:

Properties & Relations  (11)

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:

Possible Issues  (1)

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:

Wolfram Research (2004), PiecewiseExpand, Wolfram Language function, https://reference.wolfram.com/language/ref/PiecewiseExpand.html.


Wolfram Research (2004), PiecewiseExpand, Wolfram Language function, https://reference.wolfram.com/language/ref/PiecewiseExpand.html.


@misc{reference.wolfram_2020_piecewiseexpand, author="Wolfram Research", title="{PiecewiseExpand}", year="2004", howpublished="\url{https://reference.wolfram.com/language/ref/PiecewiseExpand.html}", note=[Accessed: 28-February-2021 ]}


@online{reference.wolfram_2020_piecewiseexpand, organization={Wolfram Research}, title={PiecewiseExpand}, year={2004}, url={https://reference.wolfram.com/language/ref/PiecewiseExpand.html}, note=[Accessed: 28-February-2021 ]}


Wolfram Language. 2004. "PiecewiseExpand." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/PiecewiseExpand.html.


Wolfram Language. (2004). PiecewiseExpand. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/PiecewiseExpand.html