Previous Up Next

10.1.9  Rewriting with absolute values

The linabs command attempts rewriting piecewise defined expressions, as well as expressions involving step functions (signum and Heaviside) and/or absolute values, as a linear combination of absolute values of linear arguments (see Section 8.3.2).

Examples

linabs(sin(x)*Heaviside(x)-sin(x)*Heaviside(-x))
     
sin⎪
⎪
x⎪
⎪
          
f:=piecewise(x<-1,x+5/2,x<2,2-x^2/2,x-2):; linabs(f,x)
     
⎛
⎝
x+4⎞
⎠
⎪
⎪
x−2⎪
⎪
4
+
⎛
⎝
−x−1⎞
⎠
⎪
⎪
x+1⎪
⎪
4
+x+
1
4
          

linabs is useful for expanding expressions which contain nested absolute values. For example:

linabs(abs(abs(x-2)+x*abs(x+1)+1))
     
x2+x ⎪
⎪
x+1⎪
⎪
+⎛
⎝
−x+1⎞
⎠
⎪
⎪
x+3⎪
⎪
+⎪
⎪
x−2⎪
⎪
+2 x−2
          
linabs(abs(1-2*abs(2-3*abs(x-3))))
     
−6 ⎪
⎪
x−3⎪
⎪
+3 ⎪
⎪
2 x−5⎪
⎪
+3 ⎪
⎪
2 x−7⎪
⎪
−2 ⎪
⎪
3 x−7⎪
⎪
−2 ⎪
⎪
3 x−11⎪
⎪
+⎪
⎪
6 x−13⎪
⎪
+⎪
⎪
6 x−23⎪
⎪
−5
          

Previous Up Next