# enumerate.vertices: Enumerate the vertices of a polytope. In vertexenum: Vertex Enumeration of Polytopes

## Description

Returns a `d` by `n + 1` dimensional matrix representing the `d` vertices of the polytope represented by `Ax <= b`.

## Usage

 `1` ```enumerate.vertices(A, b, warn_if_open=FALSE) ```

## Arguments

 `A` An `m` by `n` matrix. `b` A `m` by `1` vector. `warn_if_open` Boolean.

## Value

A `d` by `n + 1` dimensional matrix. The rows of this matrix represent the `d` vertices of the polytope represented by the system `Ax <= b`. If the optional argument warn_if_open is set to TRUE, then a warning will be printed if the system of inequalities is not closed, i.e. if it contains an extreme ray.

## Note

This is a port of the lrs library for vertex enumeration (http://cgm.cs.mcgill.ca/~avis/C/lrs.html). The source was written by David Avis.

## Author(s)

Robert Robere robere@cs.toronto.edu

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20``` ```library(vertexenum) ## example vertex enumeration ## the system Ax <= b represents a unit square, with ## the lower left corner at the origin A <- rbind(c(-1, 0), c(0, 1), c(1, 0), c(0, -1)) b <- c(0, 1, 1, 0) ## outputs a 4 x 2 matrix, each row corresponds to a vertex enumerate.vertices(A, b) ## second example ## this is a unit square, with lower left corner at the origin, missing ## a facet on the right side A <- rbind(c(-1, 0), c(0, 1), c(0, -1)) b <- c(0, 1, 0) ## outputs a 2 x 2 matrix, each row corresponds to a vertex ## will print a warning, since the input set described by Ax <= b ## is not closed enumerate.vertices(A, b, warn_if_open=TRUE) ```

### Example output

```     [,1] [,2]
[1,]    1    0
[2,]    0    0
[3,]    1    1
[4,]    0    1
 "Input system contains an extreme ray."
[,1] [,2]
[1,]    0    0
[2,]    0    1
```

vertexenum documentation built on May 2, 2019, 9:24 a.m.