Home > mpt > @polytope > extreme.m

extreme

PURPOSE ^

EXTREME Calculates extreme points of a given polytope

SYNOPSIS ^

function [V,R,P,adjV,adjf] = extreme(P,Options)

DESCRIPTION ^

EXTREME Calculates extreme points of a given polytope

 [V,R,P,adjV] = extreme(P,Options)

 ---------------------------------------------------------------------------
 DESCRIPTION
 ---------------------------------------------------------------------------
 Computes extreme points (vertices) of the given polytope

 NOTE:
   Since computing extreme points is very expensive, there is a possibility to
   store the extreme points in the internal POLYTOPE structure. If the vertices
   are already stored in the polytope object, no computation will be performed!

   That's why it is always recommended to use the function as follows:
    [V,R,P]=extreme(P)

 USAGE:
   V=extreme(P)             - returns extreme points
   [V,R]=extreme(P)         - returns extreme points and rays
   [V,R,P]=extreme(P)       - returns extreme points, rays, and the update
                                    POLYTOPE structure
   [V,R,P,adjV]=extreme(P)  - returns list of adjacent vertices


 ---------------------------------------------------------------------------
 INPUT
 ---------------------------------------------------------------------------
 P                       - Polytope
 Options.extreme_solver  - Which method to use for vertex enumeration
                           (0 - analytical enumeration, 3 - CDD)
                           (see help mpt_init)
 Options.debug_level     - Sets the level of error checking 
                           0: no additional checks performed
                           1: check if the computed points are really extreme
                           2: checks if hull of the computed vertices is
                              identical to the initial polytope P
 Options.abs_tol         - absolute tolerance
 Options.roundat         - if CDD is used, it usually helps to round the
                           H-representation of a polytope to certain number of
                           decimal places. This option defines at which decimal
                           point the representation should be rounded.
                           (Default is Options.roundat=15, which means that the
                           representation will be rounded to 15 decimal points)
                           NOTE! rounding is only used if extreme_solver=3
                           NOTE! set Options.roundat=Inf to disable rounding

 Note: If Options is missing or some of the fields are not defined, the default
       values from mptOptions will be used

 ---------------------------------------------------------------------------
 OUTPUT                                                                                                    
 ---------------------------------------------------------------------------
 V    - extreme points of the polytope
 R    - rays (if R is non-empty, the polytope is unbounded)
 P    - updated polytope object in which the vertices are now stored for faster
          future computation
 adjV - indeces of adjacent vertices

 see also HULL

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:
Generated on Thu 30-Mar-2006 10:26:47 by m2html © 2003