Home > mpt > @polytope > extreme.m

# extreme

## PURPOSE

EXTREME Calculates extreme points of a given polytope

## DESCRIPTION

```EXTREME Calculates extreme points of a given polytope

---------------------------------------------------------------------------
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

---------------------------------------------------------------------------
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
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

## CROSS-REFERENCE INFORMATION

This function calls:
• length LENGTH Returns number of regions over which the explicit control law is defined
• chebyball CHEBYBALL Computes center and radius of the largest ball inscribed in a polytope
• end END Returns the last element in a given polytope array
• hull HULL Convex hull of n polytopes
• intersect INTERSECT Intersection of 2 polytopes or polytope arrays
• isbounded ISBOUNDED Checks if a polytope is bounded
• isfulldim ISFULLDIM Checks if a polytope is full dimensional
• length LENGTH Returns number of elements in a polytope array
• polytope POLYTOPE Default constructor for the POLYTOPE object
• chebyball_f CHEBYBALL_F Computes center and radius of the largest ball inscribed in a polytope
• reduce REDUCE Reduces the polytope by removing redundant inequalities
• size SIZE Returns size of the given polytope object
• mpt_error MPT_ERROR Function called if MPT toolbox is not initialized
• mpt_lrs MPT_LRS Matlab implementation of the LRS algorithm
• mpt_solverInfo MPT_SOLVERINFO returns information about a given solver
• hull HULL Converts vertices/polytope array into an H-representation polytope
This function is called by:
• getOutterEllipsoid GETOUTTERELLIPSOID Computes the smallest ellipsoid which covers the polytope P
• hull HULL Convex hull of n polytopes
• plot PLOT Plots polytopes in 2D or 3D
• plus PLUS Minkowski sum of two polytopes
• projection PROJECTION Projection of a polytope or a polytope array
• triangulate TRIANGULATE Calculates triangulation of arbitrary polytopes
• volume VOLUME Calculates volume of a polytope
• mpt_getCommonSOSLyapFct MPT_GETCOMMONSOSLYAPFCT Calculates Common SOS Lyapunov function for system with additive disturbance
• mpt_getPWALyapFct MPT_GETPWALYAPFCT Calculates PWA Lyapunov function
• mpt_isPWAbigger MPT_ISPWABIGGER Test if one PWA function is bigger than a second PWA function
• mpt_reachSets MPT_REACHSETS Computes sets of reachable states for a given system / controller
• mpt_reachXU MPT_REACHXU One-step reachability computation for an affine system
• mpt_removeOverlaps MPT_REMOVEOVERLAPS Removes overlaps from (a set of) polyhedral partitions with associated linear cost
• mpt_transmap MPT_TRANSMAP Computes transition map
• mpt_mplp_ver1 MPT_MPLP Explicitly solves the given linear program (LP)
• sub_computeTrajectory sub_COMPUTETRAJECTORY Calculates time evolution of state trajectories subject to control
• mpt_optControlPWA MPT_OPTCONTROLPWA Solves the CFTOC problem for a given PWA system
• mpt_optMergeDivCon ===============================================================================
• hull HULL Converts vertices/polytope array into an H-representation polytope
• mpt_delaunay MPT_DELAUNAY Computes the delaunay triangulation of a polytope
• mpt_voronoi MPT_VORONOI Computes the voronoi diagram via mpLP
• mpt_getOutterEllipsoid MPT_GETOUTTERELLIPSOID Computes the smallest ellipsoid which covers the polytope P
• mpt_plotPWA MPT_PLOTPWA Plots a PWA function defined over a given polyhedral partition
• mpt_plotPWQ MPT_PLOTPWQ Plots a PWQ function defined over polyhedral partition
• mpt_plotSysStruct MPT_PLOTSYSSTRUCT Plots the system partitions of a PWA system
• mpt_plotU MPT_PLOTU For a given explicit controller, plots value of the control action
• mpt_control MPT_CONTROL Main control routine. Computes explicit controller for a given problem

Generated on Thu 30-Mar-2006 10:26:47 by m2html © 2003