next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
SlackIdeals :: slackMatrix

slackMatrix -- computes the slack matrix of a given realization

Synopsis

Description

A slack matrix depends on the given representation. Its rows are indexed by vertices/ground set elements and its columns are indexed by facets/hyperplanes. The (i, j)-entry is the j-th inequality evaluated on element i.

i1 : V = {{0, 0}, {0, 1}, {1, 1}, {1, 0}};
i2 : SP = slackMatrix V

Order of vertices is 
{{0, 0}, {1, 0}, {0, 1}, {1, 1}}

o2 = | 0 1 0 1 |
     | 1 0 0 1 |
     | 0 1 1 0 |
     | 1 0 1 0 |

              4        4
o2 : Matrix QQ  <--- QQ
i3 : SM = slackMatrix(V, Object => "matroid")

o3 = | -1 -1 0 -1 0  0  |
     | -1 0  1 0  1  0  |
     | 0  1  1 0  0  -1 |
     | 0  0  0 -1 -1 -1 |

              4        6
o3 : Matrix ZZ  <--- ZZ
i4 : C = posHull(matrix{{1, 0, 0}, {0, 1, 0}, {0, 0, 1}});
i5 : S = slackMatrix C

Order of rays is 
{{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}

o5 = | 1 0 0 |
     | 0 1 0 |
     | 0 0 1 |

              3        3
o5 : Matrix ZZ  <--- ZZ

Caveat

When giving a Matroid as input, the ground set must be a set of vectors giving a representation of the matroid.

See also

Ways to use slackMatrix :