Macaulay2 » Documentation
Packages » ConvexInterface :: mPosHullFacesAndDuals
next | previous | forward | backward | up | index | toc

mPosHullFacesAndDuals -- Faces and their duals of positive hull.

Synopsis

Description

Returns a list of

- a Matrix A with the rays of the positive hull of L in its rows

- a Matrix Adual with the rays of the dual in its rows

- a list of lists with the faces of the positive hull sorted by increasing dimension.

Each face is a list with two elements. The first is a list of the vertices of the face, the second a list of the vertices of the dual face.

The rays of the faces are represented by the indices of the rows of A.

This uses the Convex functions posHull and faces.

The positive hull of L is required to be strictly convex and of full dimension.

i1 : L= {{0,1,1,0,0},{0,1,0,1,0},{0,1,0,0,0},{1,0,0,0,1},{1,0,-1,-1,-1},{1,0,0,0,0}};
i2 : L=apply(L,vector)

o2 = {| 0 |, | 0 |, | 0 |, | 1 |, | 1  |, | 1 |}
      | 1 |  | 1 |  | 1 |  | 0 |  | 0  |  | 0 |
      | 1 |  | 0 |  | 0 |  | 0 |  | -1 |  | 0 |
      | 0 |  | 1 |  | 0 |  | 0 |  | -1 |  | 0 |
      | 0 |  | 0 |  | 0 |  | 1 |  | -1 |  | 0 |

o2 : List
i3 : P=mPosHullFacesAndDuals(L)

o3 = {| 0 1 1  0  0  |, | 1 0 2  0  -1 |, {{{{}, {1, 2, 3, 4, 5, 6, 7, 8}}},
      | 0 1 0  1  0  |  | 1 0 0  2  -1 |
      | 0 1 0  0  0  |  | 1 0 0  0  1  |
      | 1 0 0  0  1  |  | 1 0 0  0  -1 |
      | 1 0 -1 -1 -1 |  | 0 1 1  -1 0  |
      | 1 0 0  0  0  |  | 0 1 -1 1  0  |
                        | 0 1 -1 -1 2  |
                        | 0 1 -1 -1 0  |
     ------------------------------------------------------------------------
     {{{1}, {2, 3, 4, 6, 7, 8}}, {{2}, {1, 3, 4, 5, 7, 8}}, {{3}, {1, 2, 3,
     ------------------------------------------------------------------------
     4}}, {{4}, {1, 2, 4, 5, 6, 8}}, {{5}, {1, 2, 3, 5, 6, 7}}, {{6}, {5, 6,
     ------------------------------------------------------------------------
     7, 8}}}, {{{3, 5}, {1, 2, 3}}, {{3, 4}, {1, 2, 4}}, {{2, 3}, {1, 3, 4}},
     ------------------------------------------------------------------------
     {{1, 3}, {2, 3, 4}}, {{5, 6}, {5, 6, 7}}, {{4, 6}, {5, 6, 8}}, {{2, 6},
     ------------------------------------------------------------------------
     {5, 7, 8}}, {{1, 6}, {6, 7, 8}}, {{4, 5}, {1, 2, 5, 6}}, {{2, 5}, {1, 3,
     ------------------------------------------------------------------------
     5, 7}}, {{2, 4}, {1, 4, 5, 8}}, {{1, 5}, {2, 3, 6, 7}}, {{1, 4}, {2, 4,
     ------------------------------------------------------------------------
     6, 8}}, {{1, 2}, {3, 4, 7, 8}}}, {{{3, 4, 5}, {1, 2}}, {{2, 3, 5}, {1,
     ------------------------------------------------------------------------
     3}}, {{2, 3, 4}, {1, 4}}, {{2, 4, 5}, {1, 5}}, {{1, 3, 5}, {2, 3}}, {{1,
     ------------------------------------------------------------------------
     3, 4}, {2, 4}}, {{1, 4, 5}, {2, 6}}, {{1, 2, 3}, {3, 4}}, {{1, 2, 5},
     ------------------------------------------------------------------------
     {3, 7}}, {{1, 2, 4}, {4, 8}}, {{4, 5, 6}, {5, 6}}, {{2, 5, 6}, {5, 7}},
     ------------------------------------------------------------------------
     {{2, 4, 6}, {5, 8}}, {{1, 5, 6}, {6, 7}}, {{1, 4, 6}, {6, 8}}, {{1, 2,
     ------------------------------------------------------------------------
     6}, {7, 8}}}, {{{2, 3, 4, 5}, {1}}, {{1, 3, 4, 5}, {2}}, {{1, 2, 3, 5},
     ------------------------------------------------------------------------
     {3}}, {{1, 2, 3, 4}, {4}}, {{2, 4, 5, 6}, {5}}, {{1, 4, 5, 6}, {6}},
     ------------------------------------------------------------------------
     {{1, 2, 5, 6}, {7}}, {{1, 2, 4, 6}, {8}}}, {{{1, 2, 3, 4, 5, 6}, {}}}}}

o3 : List

Ways to use mPosHullFacesAndDuals :

For the programmer

The object mPosHullFacesAndDuals is a method function with options.