traf-method {rPorta} | R Documentation |
Transformation of polyhedron representations.
## S4 method for signature 'portaFile': traf(object, opt_elim = FALSE, chernikov_rule_off = FALSE, validity_table_out = FALSE,long_arithmetic=FALSE)
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. |
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.)
Returns an object of class poiFile
or ieqFile
depending on the direction of transformation.
Robin Nunkesser Robin.Nunkesser@tu-dortmund.de
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.
"portaFile"
, "poiFile"
, "ieqFile"
# Convert a poiFile object to an ieqFile object traf(example.poi()) # Convert an ieqFile object to a poiFile object traf(example.ieq())