Huber-class function

The Huber class.

The Huber class.

This class represents the elementwise Huber function, Huber(x,M=1)Huber(x, M = 1)

  • 2MxM22M|x|-M^2: for xM|x| \geq |M|
  • x2|x|^2: for xM.|x| \leq |M|. class
Huber(x, M = 1) ## S4 method for signature 'Huber' to_numeric(object, values) ## S4 method for signature 'Huber' sign_from_args(object) ## S4 method for signature 'Huber' is_atom_convex(object) ## S4 method for signature 'Huber' is_atom_concave(object) ## S4 method for signature 'Huber' is_incr(object, idx) ## S4 method for signature 'Huber' is_decr(object, idx) ## S4 method for signature 'Huber' is_quadratic(object) ## S4 method for signature 'Huber' get_data(object) ## S4 method for signature 'Huber' validate_args(object) ## S4 method for signature 'Huber' .grad(object, values)

Arguments

  • x: An Expression object.
  • M: A positive scalar value representing the threshold. Defaults to 1.
  • object: A Huber object.
  • values: A list of numeric values for the arguments
  • idx: An index into the atom.

Methods (by generic)

  • to_numeric(Huber): The Huber function evaluted elementwise on the input value.
  • sign_from_args(Huber): The atom is positive.
  • is_atom_convex(Huber): The atom is convex.
  • is_atom_concave(Huber): The atom is not concave.
  • is_incr(Huber): A logical value indicating whether the atom is weakly increasing.
  • is_decr(Huber): A logical value indicating whether the atom is weakly decreasing.
  • is_quadratic(Huber): The atom is quadratic if x is affine.
  • get_data(Huber): A list containing the parameter M.
  • validate_args(Huber): Check that M is a non-negative constant.
  • .grad(Huber): Gives the (sub/super)gradient of the atom w.r.t. each variable

Slots

  • x: An Expression or numeric constant.
  • M: A positive scalar value representing the threshold. Defaults to 1.
  • Maintainer: Anqi Fu
  • License: Apache License 2.0 | file LICENSE
  • Last published: 2024-11-07