This reduction takes as input a DGP problem and returns an equivalent DCP problem. Because every (generalized) geometric program is a DGP problem, this reduction can be used to convert geometric programs into convex form.

# S4 method for Dgp2Dcp,Problem
accepts(object, problem)

# S4 method for Dgp2Dcp,Problem
perform(object, problem)

# S4 method for Dgp2Dcp
canonicalize_expr(object, expr, args)

# S4 method for Dgp2Dcp,Solution,InverseData
invert(object, solution, inverse_data)

Arguments

object

A Dgp2Dcp object.

problem

A Problem object.

expr

An Expression object corresponding to the DGP problem.

args

A list of values corresponding to the DGP expression

solution

A Solution object to invert.

inverse_data

A InverseData object containing data necessary for the inversion.

Methods (by generic)

  • accepts(object = Dgp2Dcp, problem = Problem): Is the problem DGP?

  • perform(object = Dgp2Dcp, problem = Problem): Converts the DGP problem to a DCP problem.

  • canonicalize_expr(Dgp2Dcp): Canonicalizes each atom within an Dgp2Dcp expression.

  • invert(object = Dgp2Dcp, solution = Solution, inverse_data = InverseData): Returns the solution to the original problem given the inverse_data.