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.
class
## S4 method for signature 'Dgp2Dcp,Problem'accepts(object, problem)## S4 method for signature 'Dgp2Dcp,Problem'perform(object, problem)## S4 method for signature 'Dgp2Dcp'canonicalize_expr(object, expr, args)## S4 method for signature '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.