Macaulay2 » Documentation
Packages » SRdeformations :: hull
next | previous | forward | backward | up | index | toc

# hull -- The positive hull complex.

- Usage:
    `hull(L)`
    `hull(fn)`
- Inputs:
  - L, a list, of Vectors lying all in the same space.
  - fn, a string,
- Optional inputs:
  - file => ..., default value null, Store result of a computation in a file.
- Outputs:
  - C, an embedded complex,

## Description

Returns the cone which is the hull of lattice vectors in L. The output has C.isPolytope==true.

If applied to the string fn the result of a previous computation stored via the option file is read from the file fn.

The hull of L has to be strictly convex.

    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 : C=hull L

    o3 = 4: y y y y y y
             0 1 2 3 4 5

    o3 : complex of dim 4 embedded in dim 4 (printing facets)
         equidimensional, non-simplicial, F-vector {1, 6, 14, 16, 8, 1}, Euler = 0

    i4 : C.grading

    o4 = | 1 0 0  0  0  |
         | 0 1 0  0  0  |
         | 0 1 1  0  0  |
         | 0 1 0  1  0  |
         | 1 0 -1 -1 -1 |
         | 1 0 0  0  1  |

                  6       5
    o4 : Matrix ZZ  <-- ZZ

    i5 : dC=dualize C

    o5 = 4: v v v v v v v v
             0 1 2 3 4 5 6 7

    o5 : complex of dim 4 embedded in dim 4 (printing facets)
         equidimensional, non-simplicial, F-vector {1, 8, 16, 14, 6, 1}, Euler = 0

    i6 : dC.grading

    o6 = | 0 1 -1 1  0  |
         | 0 1 1  -1 0  |
         | 0 1 -1 -1 0  |
         | 0 1 -1 -1 2  |
         | 1 0 0  0  1  |
         | 1 0 0  0  -1 |
         | 1 0 2  0  -1 |
         | 1 0 0  2  -1 |

                  8       5
    o6 : Matrix ZZ  <-- ZZ

## Caveat

The cone is represented as a complex on its rays, hence if dim(Face) is applied to a Face it will return the dimension of the corresponding cone minus one.

This uses the package Polyhedra to compute the facets. Too slow compared to Maple/convex.

If the package ConvexInterface is loaded, then this command calls Maple/Convex. See the corresponding option explained at SRdeformations.

## See also

- Complex -- The class of all embedded complexes.

## Ways to use hull:

- `hull(List)`
- `hull(String)`

## For the programmer

The object hull is a method function with options.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/SRdeformations.m2:7897:0.