PiecewiseExpand

PiecewiseExpand[expr]

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

PiecewiseExpand[expr,assum]

expands piecewise functions using assumptions.

PiecewiseExpand[expr,assum,dom]

does the expansion over the domain dom.

Details and Options

• The result from PiecewiseExpand[expr] is normally Piecewise[{e1,e2,}] where none of the ei contain Piecewise.
• PiecewiseExpand converts such functions as If, Which, Abs, Max, UnitStep, and Floor to Piecewise.
• PiecewiseExpand[expr,assum,dom] assumes that both the input and output of every function appearing in expr are in the domain dom.
• Common choices for dom are Reals and Complexes.
• PiecewiseExpand attempts to simplify combinations of conditions that appear in Piecewise.
• The following options can be given:
•  Assumptions \$Assumptions default assumptions to append to assum Method Automatic method to use TimeConstraint 30 for how many seconds to try simplifying each set of conditions

Examples

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 element of sums is a sum of piecewise functions with two cases each:

The number of cases in the expanded form of the 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.

Text

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

@online{reference.wolfram_2024_piecewiseexpand, organization={Wolfram Research}, title={PiecewiseExpand}, year={2004}, url={https://reference.wolfram.com/language/ref/PiecewiseExpand.html}, note=[Accessed: 15-August-2024 ]}