| Pnorm-class {CVXR} | R 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: |
keepdims |
(Optional) Should dimensions be maintained when applying the atom along an axis? If |
max_denom |
(Optional) The maximum denominator considered in forming a rational approximation for |
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 1orp = +\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 ofx. -
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 ifp \geq 1. -
is_atom_concave(Pnorm): The atom is concave ifp < 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 ifp < 1orp > 1andxis positive. -
is_decr(Pnorm): The atom is weakly decreasing ifp > 1andxis negative. -
is_pwl(Pnorm): The atom is not piecewise linear unlessp = 1orp = \infty. -
get_data(Pnorm): Returnslist(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
xAn Expression representing a vector or matrix.
pA number greater than or equal to 1, or equal to positive infinity.
max_denomThe maximum denominator considered in forming a rational approximation for
p.axis(Optional) The dimension across which to apply the function:
1indicates rows,2indicates columns, andNAindicates rows and columns. The default isNA.keepdims(Optional) Should dimensions be maintained when applying the atom along an axis? If
FALSE, result will be collapsed into ann x 1column vector. The default isFALSE..approx_error(Internal) The absolute difference between
pand its rational approximation..original_p(Internal) The original input
p.