p_norm | R Documentation |
The vector p-norm. If given a matrix variable, p_norm
will treat it as a vector and compute the p-norm of the concatenated columns.
p_norm(x, p = 2, axis = NA_real_, keepdims = FALSE, max_denom = 1024)
x |
An Expression, 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 |
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.
An Expression representing the p-norm of the input.
x <- Variable(3)
prob <- Problem(Minimize(p_norm(x,2)))
result <- solve(prob)
result$value
result$getValue(x)
prob <- Problem(Minimize(p_norm(x,Inf)))
result <- solve(prob)
result$value
result$getValue(x)
## Not run:
a <- c(1.0, 2, 3)
prob <- Problem(Minimize(p_norm(x,1.6)), list(t(x) %*% a >= 1))
result <- solve(prob)
result$value
result$getValue(x)
prob <- Problem(Minimize(sum(abs(x - a))), list(p_norm(x,-1) >= 0))
result <- solve(prob)
result$value
result$getValue(x)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.