GeoMean-class: The GeoMean class.

GeoMean-classR 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 x_1^{1/n} \cdots x_n^{1/n}.

max_denom

(Optional) The maximum denominator to use in approximating p/sum(p) with w. If w is not an exact representation, increasing max_denom may offer a more accurate representation, at the cost of requiring more convex inequalities to represent the geometric mean. Defaults to 1024.

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 of x.

  • .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): Returns list(w, dyadic completion, tree of dyads).

  • copy(GeoMean): Returns a shallow copy of the GeoMean atom

Slots

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 x_1^{1/n} \cdots x_n^{1/n}.

max_denom

(Optional) The maximum denominator to use in approximating p/sum(p) with w. If w is not an exact representation, increasing max_denom may 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 bigq objects that represent a rational approximation of p/sum(p).

approx_error

(Internal) The error in approximating p/sum(p) with w, given by \|p/\mathbf{1}^Tp - w\|_{\infty}.


CVXR documentation built on June 27, 2024, 5:11 p.m.