traf-method {rPorta}R Documentation

Method "traf"

Description

Transformation of polyhedron representations.

Usage

## S4 method for signature 'portaFile': 
traf(object, opt_elim = FALSE, chernikov_rule_off = FALSE, 
        validity_table_out = FALSE,long_arithmetic=FALSE)

Arguments

object Object of class portaFile
opt_elim Use a heuristic to eliminate that variable next, for which the number of new inequalities is minimal (local criterion).
chernikov_rule_off Fourier-Motzkin elimination without using the rule of Chernikov
validity_table_out Include a table in the output which indicates strong validity.
long_arithmetic Use long integers for intermediate results.

Details

traf transforms polyhedra between the representations poiFile (convex hull of points + convex cone of vectors) and ieqFile (system of linear equations and inequalities). The direction of transformation is determined by the class of object. All computations are carried out in rational arithmetic to have guaranteed correct numerical results. Rational arithmetic uses only integer operations.

The computation of the ieq-representation is performed using Gaussian and Fourier-Motzkin elimination. In the output inequalities the right hand sides are 0, or determined by the smallest integer value for which the coefficients of the inequality are integral. If this is not possible with system integer arithmetic , the right hand sides are 0 or 1 or -1 and the values are reduced as far as possible. The resulting inequalities are all facet-defining for your polyhedron and give together with equations a minimal linear description of your polyhedron.

If an 'ieq'-representation is given as input and if 0 is not valid for the linear system, traf needs a valid point. Such a valid point may be specified in the slot valid of objects of class ieqFile. traf transforms the ieq representation to the poi-representation, after elimination of equations and 0-centering, by applying the 'poi'-to-'ieq' direction to the polar polyhedron.

Hint: If you give a valid point or if 0 is valid, then this vector may appear again in the resulting system, even if this vector might be redundant in a minimal description. (All other vectors are non-redundant.)

Value

Returns an object of class poiFile or ieqFile depending on the direction of transformation.

Author(s)

Robin Nunkesser Robin.Nunkesser@tu-dortmund.de

References

K. Fukuda and A. Prodon (1996). Double Description Method Revisited. In: Combinatorics and Computer Science. Vol. 1120 of Lecture Notes in Computer Science. Springer, London, 91–111.

See Also

"portaFile", "poiFile", "ieqFile"

Examples

# Convert a poiFile object to an ieqFile object
traf(example.poi())

# Convert an ieqFile object to a poiFile object
traf(example.ieq())

[Package rPorta version 0.1-9 Index]