This class represents a reformulated exponential cone constraint operating elementwise on $$a, b, c$$.

ExpCone(x, y, z, id = NA_integer_)

# S4 method for ExpCone
as.character(x)

# S4 method for ExpCone
residual(object)

# S4 method for ExpCone
size(object)

# S4 method for ExpCone
num_cones(object)

# S4 method for ExpCone
cone_sizes(object)

# S4 method for ExpCone
is_dcp(object)

# S4 method for ExpCone
is_dgp(object)

# S4 method for ExpCone
canonicalize(object)

## Arguments

x

The variable $$x$$ in the exponential cone.

y

The variable $$y$$ in the exponential cone.

z

The variable $$z$$ in the exponential cone.

id

(Optional) A numeric value representing the constraint ID.

object

A ExpCone object.

## Details

Original cone: $$K = \{(x,y,z) | y > 0, ye^{x/y} \leq z\} \cup \{(x,y,z) | x \leq 0, y = 0, z \geq 0\}$$ Reformulated cone: $$K = \{(x,y,z) | y, z > 0, y\log(y) + x \leq y\log(z)\} \cup \{(x,y,z) | x \leq 0, y = 0, z \geq 0\}$$

## Methods (by generic)

• residual(ExpCone): The size of the x argument.

• size(ExpCone): The number of entries in the combined cones.

• num_cones(ExpCone): The number of elementwise cones.

• cone_sizes(ExpCone): The dimensions of the exponential cones.

• is_dcp(ExpCone): An exponential constraint is DCP if each argument is affine.

• is_dgp(ExpCone): Is the constraint DGP?

• canonicalize(ExpCone): Canonicalizes by converting expressions to LinOps.

## Slots

x

The variable $$x$$ in the exponential cone.

y

The variable $$y$$ in the exponential cone.

z

The variable $$z$$ in the exponential cone.