| GeoMean-class {CVXR} | R Documentation |
The GeoMean class.
Description
This class represents the (weighted) geometric mean of vector x with optional powers given by p.
Usage
GeoMean(x, p = NA_real_, max_denom = 1024)
## S4 method for signature 'GeoMean'
to_numeric(object, values)
## S4 method for signature 'GeoMean'
.domain(object)
## S4 method for signature 'GeoMean'
.grad(object, values)
## S4 method for signature 'GeoMean'
name(x)
## S4 method for signature 'GeoMean'
dim_from_args(object)
## S4 method for signature 'GeoMean'
sign_from_args(object)
## S4 method for signature 'GeoMean'
is_atom_convex(object)
## S4 method for signature 'GeoMean'
is_atom_concave(object)
## S4 method for signature 'GeoMean'
is_atom_log_log_convex(object)
## S4 method for signature 'GeoMean'
is_atom_log_log_concave(object)
## S4 method for signature 'GeoMean'
is_incr(object, idx)
## S4 method for signature 'GeoMean'
is_decr(object, idx)
## S4 method for signature 'GeoMean'
get_data(object)
## S4 method for signature 'GeoMean'
copy(object, args = NULL, id_objects = list())
Arguments
x |
An Expression or numeric vector. |
p |
(Optional) A vector of weights for the weighted geometric mean. The default is a vector of ones, giving the unweighted geometric mean |
max_denom |
(Optional) The maximum denominator to use in approximating |
object |
A GeoMean object. |
values |
A list of numeric values for the arguments |
idx |
An index into the atom. |
args |
An optional list that contains the arguments to reconstruct the atom. Default is to use current arguments of the atom. |
id_objects |
Currently unused. |
Details
\left(x_1^{p_1} \cdots x_n^{p_n} \right)^{\frac{1}{\mathbf{1}^Tp}}
The geometric mean includes an implicit constraint that x_i \geq 0 whenever p_i > 0. If p_i = 0, x_i will be unconstrained.
The only exception to this rule occurs when p has exactly one nonzero element, say p_i, in which case GeoMean(x,p) is equivalent to x_i (without the nonnegativity constraint).
A specific case of this is when x \in \mathbf{R}^1.
Methods (by generic)
-
to_numeric(GeoMean): The (weighted) geometric mean of the elements ofx. -
.domain(GeoMean): Returns constraints describing the domain of the node -
.grad(GeoMean): Gives the (sub/super)gradient of the atom w.r.t. each variable -
name(GeoMean): The name and arguments of the atom. -
dim_from_args(GeoMean): The atom is a scalar. -
sign_from_args(GeoMean): The atom is non-negative. -
is_atom_convex(GeoMean): The atom is not convex. -
is_atom_concave(GeoMean): The atom is concave. -
is_atom_log_log_convex(GeoMean): Is the atom log-log convex? -
is_atom_log_log_concave(GeoMean): Is the atom log-log concave? -
is_incr(GeoMean): The atom is weakly increasing in every argument. -
is_decr(GeoMean): The atom is not weakly decreasing in any argument. -
get_data(GeoMean): Returnslist(w, dyadic completion, tree of dyads). -
copy(GeoMean): Returns a shallow copy of the GeoMean atom
Slots
xAn Expression or numeric vector.
p(Optional) A vector of weights for the weighted geometric mean. The default is a vector of ones, giving the unweighted geometric mean
x_1^{1/n} \cdots x_n^{1/n}.max_denom(Optional) The maximum denominator to use in approximating
p/sum(p)withw. Ifwis not an exact representation, increasingmax_denommay offer a more accurate representation, at the cost of requiring more convex inequalities to represent the geometric mean. Defaults to 1024.w(Internal) A list of
bigqobjects that represent a rational approximation ofp/sum(p).approx_error(Internal) The error in approximating
p/sum(p)withw, given by\|p/\mathbf{1}^Tp - w\|_{\infty}.