Pnorm-class: The Pnorm class.

Pnorm-classR Documentation

The Pnorm class.

Description

This class represents the vector p-norm.

Usage

Pnorm(x, p = 2, axis = NA_real_, keepdims = FALSE, max_denom = 1024)

## S4 method for signature 'Pnorm'
allow_complex(object)

## S4 method for signature 'Pnorm'
to_numeric(object, values)

## S4 method for signature 'Pnorm'
validate_args(object)

## S4 method for signature 'Pnorm'
sign_from_args(object)

## S4 method for signature 'Pnorm'
is_atom_convex(object)

## S4 method for signature 'Pnorm'
is_atom_concave(object)

## S4 method for signature 'Pnorm'
is_atom_log_log_convex(object)

## S4 method for signature 'Pnorm'
is_atom_log_log_concave(object)

## S4 method for signature 'Pnorm'
is_incr(object, idx)

## S4 method for signature 'Pnorm'
is_decr(object, idx)

## S4 method for signature 'Pnorm'
is_pwl(object)

## S4 method for signature 'Pnorm'
get_data(object)

## S4 method for signature 'Pnorm'
name(x)

## S4 method for signature 'Pnorm'
.domain(object)

## S4 method for signature 'Pnorm'
.grad(object, values)

## S4 method for signature 'Pnorm'
.column_grad(object, value)

Arguments

x

An Expression representing a vector or matrix.

p

A number greater than or equal to 1, or equal to positive infinity.

axis

(Optional) The dimension across which to apply the function: 1 indicates rows, 2 indicates columns, and NA indicates rows and columns. The default is NA.

keepdims

(Optional) Should dimensions be maintained when applying the atom along an axis? If FALSE, result will be collapsed into an n x 1 column vector. The default is FALSE.

max_denom

(Optional) The maximum denominator considered in forming a rational approximation for p. The default is 1024.

object

A Pnorm object.

values

A list of numeric values for the arguments

idx

An index into the atom.

value

A numeric value

Details

If given a matrix variable, Pnorm will treat it as a vector and compute the p-norm of the concatenated columns.

For p \geq 1, the p-norm is given by

\|x\|_p = \left(\sum_{i=1}^n |x_i|^p\right)^{1/p}

with domain x \in \mathbf{R}^n. For p < 1, p\neq 0, the p-norm is given by

\|x\|_p = \left(\sum_{i=1}^n x_i^p\right)^{1/p}

with domain x \in \mathbf{R}^n_+.

  • Note that the "p-norm" is actually a norm only when p \geq 1 or p = +\infty. For these cases, it is convex.

  • The expression is undefined when p = 0.

  • Otherwise, when p < 1, the expression is concave, but not a true norm.

Methods (by generic)

  • allow_complex(Pnorm): Does the atom handle complex numbers?

  • to_numeric(Pnorm): The p-norm of x.

  • validate_args(Pnorm): Check that the arguments are valid.

  • sign_from_args(Pnorm): The atom is positive.

  • is_atom_convex(Pnorm): The atom is convex if p \geq 1.

  • is_atom_concave(Pnorm): The atom is concave if p < 1.

  • is_atom_log_log_convex(Pnorm): Is the atom log-log convex?

  • is_atom_log_log_concave(Pnorm): Is the atom log-log concave?

  • is_incr(Pnorm): The atom is weakly increasing if p < 1 or p > 1 and x is positive.

  • is_decr(Pnorm): The atom is weakly decreasing if p > 1 and x is negative.

  • is_pwl(Pnorm): The atom is not piecewise linear unless p = 1 or p = \infty.

  • get_data(Pnorm): Returns list(p, axis).

  • name(Pnorm): The name and arguments of the atom.

  • .domain(Pnorm): Returns constraints describing the domain of the node

  • .grad(Pnorm): Gives the (sub/super)gradient of the atom w.r.t. each variable

  • .column_grad(Pnorm): Gives the (sub/super)gradient of the atom w.r.t. each column variable

Slots

x

An Expression representing a vector or matrix.

p

A number greater than or equal to 1, or equal to positive infinity.

max_denom

The maximum denominator considered in forming a rational approximation for p.

axis

(Optional) The dimension across which to apply the function: 1 indicates rows, 2 indicates columns, and NA indicates rows and columns. The default is NA.

keepdims

(Optional) Should dimensions be maintained when applying the atom along an axis? If FALSE, result will be collapsed into an n x 1 column vector. The default is FALSE.

.approx_error

(Internal) The absolute difference between p and its rational approximation.

.original_p

(Internal) The original input p.


CVXR documentation built on June 27, 2024, 5:11 p.m.