
Standard R Functions for CVXR Expressions
Source:R/258_zzz_R_specific_math_atoms.R, R/259_zzz_R_specific_masking.R
math_atoms.RdCVXR registers methods so that standard R functions create the
appropriate atoms when applied to Expression objects.
For CVXR expressions, computes the matrix/vector norm atom.
For other inputs, falls through to norm.
For CVXR expressions, computes the standard deviation atom (ddof=0 by default,
matching CVXPY/numpy convention). For numeric inputs, falls through to
sd.
For CVXR expressions, computes the variance atom (ddof=0 by default).
For numeric inputs, falls through to var.
For CVXR expressions, computes the outer product of two vectors.
For other inputs, falls through to outer.
Arguments
- x
An Expression or numeric.
- type
Norm type:
"1","2"(default),"I"/"i"(infinity),"F"/"f"(Frobenius).- ...
For non-Expression inputs: passed to
outer.- X
An Expression or numeric.
- Y
An Expression or numeric.
Value
An Expression or numeric value.
An Expression or numeric value.
An Expression or numeric value.
An Expression or matrix.
Math group (elementwise, via S3 group generic)
abs(x)Absolute value (convex, nonneg)
exp(x)Exponential (convex, positive)
log(x)Natural logarithm (concave, domain x >= 0)
sqrt(x)Square root via
power(x, 0.5)(concave)log1p(x)log(1+x) compound expression (concave)
log2(x),log10(x)Base-2/10 logarithm
cumsum(x)Cumulative sum (affine)
cummax(x)Cumulative max (convex)
cumprod(x)Cumulative product
ceiling(x),floor(x)Round up/down (MIP)
Summary group (via S3 group generic)
sum(x)Sum all entries (affine)
max(x)Maximum entry (convex)
min(x)Minimum entry (concave)
S3 generic methods
mean(x)Arithmetic mean; pass
axis/keepdimsvia...diff(x)First-order differences; also
cvxr_diff
Masking wrappers
These mask the base/stats versions and dispatch on argument type:
norm(x)2-norm; use
typefor "1", "I" (infinity), "F" (Frobenius)sd(x)Standard deviation (ddof=0 for expressions)
var(x)Variance (ddof=0 for expressions)
outer(X, Y)Outer product of two vector expressions
Advanced usage
For axis-aware reductions, keepdims, or other options not available
through the standard interface, use the explicit functions:
cvxr_norm, cvxr_mean, cvxr_diff,
cvxr_std, cvxr_var, cvxr_outer.
See also
power, sum_entries,
max_entries, min_entries
cvxr_norm for the full-featured version with
axis and keepdims arguments
cvxr_std for the full-featured version
cvxr_var for the full-featured version
cvxr_outer for the CVXR-specific version