def sign(f=Ellipsis):
f = to_potential(f)<EOL>if is_const_potential(f): return const_potential(np.sign(f.c))<EOL>elif is_identity_potential(f): return SignPotential()<EOL>else: return compose(SignPotential(), f)<EOL>
sign() yields a potential function equivalent to the sign of the input.
sign(f) yields the sign of the potential function f.

Note that sign has a derivative of 0 at all points; this is not mathematically correct, but it is
useful for the purposes of numerical methods. If you want traditional behavior, it is suggested
that one instead employ f/sqrt(f**2).