Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

Reduction-class

The Reduction class.


Description

This virtual class represents a reduction, an actor that transforms a problem into an equivalent problem. By equivalent, we mean that there exists a mapping between solutions of either problem: if we reduce a problem A to another problem B and then proceed to find a solution to B, we can convert it to a solution of A with at most a moderate amount of effort.

Usage

## S4 method for signature 'Reduction,Problem'
accepts(object, problem)

## S4 method for signature 'Reduction'
reduce(object)

## S4 method for signature 'Reduction,Solution'
retrieve(object, solution)

## S4 method for signature 'Reduction,Problem'
perform(object, problem)

## S4 method for signature 'Reduction,Solution,list'
invert(object, solution, inverse_data)

Arguments

object

A Reduction object.

problem

A Problem object.

solution

A Solution to a problem that generated the inverse data.

inverse_data

The data encoding the original problem.

Details

Every reduction supports three methods: accepts, perform, and invert. The accepts method of a particular reduction codifies the types of problems that it is applicable to, the perform method takes a problem and reduces it to a (new) equivalent form, and the invert method maps solutions from reduced-to problems to their problems of provenance.

Methods (by generic)

  • accepts: States whether the reduction accepts a problem.

  • reduce: Reduces the owned problem to an equivalent problem.

  • retrieve: Retrieves a solution to the owned problem.

  • perform: Performs the reduction on a problem and returns an equivalent problem.

  • invert: Returns a solution to the original problem given the inverse data.


CVXR

Disciplined Convex Optimization

v1.0-10
Apache License 2.0 | file LICENSE
Authors
Anqi Fu [aut, cre], Balasubramanian Narasimhan [aut], David W Kang [aut], Steven Diamond [aut], John Miller [aut], Stephen Boyd [ctb], Paul Kunsberg Rosenfield [ctb]
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.