The Pnorm class.
This class represents the vector p-norm.
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)
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 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 |
If given a matrix variable, Pnorm
will treat it as a vector and compute the p-norm of the concatenated columns.
For p ≥q 1, the p-norm is given by
\|x\|_p = ≤ft(∑_{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 = ≤ft(∑_{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 ≥q 1 or p = +∞. 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.
allow_complex
: Does the atom handle complex numbers?
to_numeric
: The p-norm of x
.
validate_args
: Check that the arguments are valid.
sign_from_args
: The atom is positive.
is_atom_convex
: The atom is convex if p ≥q 1.
is_atom_concave
: The atom is concave if p < 1.
is_atom_log_log_convex
: Is the atom log-log convex?
is_atom_log_log_concave
: Is the atom log-log concave?
is_incr
: The atom is weakly increasing if p < 1 or p > 1 and x
is positive.
is_decr
: The atom is weakly decreasing if p > 1 and x
is negative.
is_pwl
: The atom is not piecewise linear unless p = 1 or p = ∞.
get_data
: Returns list(p, axis)
.
name
: The name and arguments of the atom.
.domain
: Returns constraints describing the domain of the node
.grad
: Gives the (sub/super)gradient of the atom w.r.t. each variable
.column_grad
: Gives the (sub/super)gradient of the atom w.r.t. each column variable
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.
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.