# Revision history [back]

### Substitute piecewise function variable

I have the following piecewise function:

phi   = piecewise([([-1,1], (1-abs(x))*(1-abs(x))*(1+2*abs(x)))]);
phi   = phi.extension(0);


It appears to be a valid function since I can obtain/plot its values for any 'x'. But whenever I try to substitute the variable, it does not work. For example,

phi(2)
0


but if I declare another variable 'h' and try to input that variable into the piecewise function, it does not appear to work:

h=pi/2
phi(h)
TypeError: self must be a numeric expression


At first I thought that 'h' was not a 'numeric' or 'real' value, but when I test it, it is a real value:

h.is_real()
True


How can I overcome this? How can I successfully operate a variable substitution in my piecewise function?