This class represents the elementwise Huber function, \(Huber(x, M) = \)
\(2M|x|-M^2\)for \(|x| \geq |M|\)
\(|x|^2\)for \(|x| \leq |M|.\)
Huber(x, M = 1)# S4 method for Huber
to_numeric(object, values)
# S4 method for Huber
sign_from_args(object)
# S4 method for Huber
is_atom_convex(object)
# S4 method for Huber
is_atom_concave(object)
# S4 method for Huber
is_incr(object, idx)
# S4 method for Huber
is_decr(object, idx)
# S4 method for Huber
is_quadratic(object)
# S4 method for Huber
get_data(object)
# S4 method for Huber
validate_args(object)
# S4 method for Huber
.grad(object, values)
A positive scalar value representing the threshold. Defaults to 1.
A list of numeric values for the arguments
An index into the atom.
to_numeric
: The Huber function evaluted elementwise on the input value.
sign_from_args
: The atom is positive.
is_atom_convex
: The atom is convex.
is_atom_concave
: The atom is not concave.
is_incr
: A logical value indicating whether the atom is weakly increasing.
is_decr
: A logical value indicating whether the atom is weakly decreasing.
is_quadratic
: The atom is quadratic if x
is affine.
get_data
: A list containing the parameter M
.
validate_args
: Check that M
is a non-negative constant.
.grad
: Gives the (sub/super)gradient of the atom w.r.t. each variable