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)



A Dgp2Dcp object.


A Problem object.


An Expression object corresponding to the DGP problem.


A list of values corresponding to the DGP expression


A Solution object to invert.


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.