sign overloads sign operator
y = sign(X)
The operator is implemented using a mixed-integer model based on a big-M approach, hence it is crucial that all involved variables have explicit bound constraints.
Since the operator is discontinuous at 0, behaviour at that point is not numerically stable.