Given a (column) reduced slack matrix S, a flag of columns and a list of facet columns F to refill, it extends S by the columns of F.
i1 : V = {{0,0,0},{0,0,1},{1,0,0},{1,0,1},{0,1,0},{0,1,1}};
|
i2 : S = slackMatrix V;
Order of vertices is
{{0, 0, 0}, {1, 0, 0}, {0, 1, 0}, {0, 0, 1}, {1, 0, 1}, {0, 1, 1}}
6 5
o2 : Matrix QQ <-- QQ
|
i3 : redS = reducedSlackMatrix(3, S);
6 4
o3 : Matrix QQ <-- QQ
|
i4 : reconstructSlackMatrix(reducedSlackMatrix(S, Vars => {a,b,c,d,e,f,g,h,j,k,m,p}), {{0,1,2}})
o4 = | 0 0 a b 0 |
| c 0 0 d 0 |
| 0 e 0 f 0 |
| 0 0 g 0 -bceg |
| h 0 0 0 -adeh |
| 0 j 0 0 -acfj |
6 5
o4 : Matrix (QQ[a..h, j..k, m, p]) <-- (QQ[a..h, j..k, m, p])
|
i5 : reconstructSlackMatrix(redS, {{0,1,2}})
o5 = | 0 0 1 1 0 |
| 1 0 0 1 0 |
| 0 1 0 1 0 |
| 0 0 1 0 -1 |
| 1 0 0 0 -1 |
| 0 1 0 0 -1 |
6 5
o5 : Matrix QQ <-- QQ
|
i6 : reconstructSlackMatrix(redS, {{0,1,2}}, Vars => {x})
warning: clearing value of symbol x to allow access to subscripted variables based on it
: debug with expression debug 9868 or with command line option --debug 9868
Not enough variables given. Making new ring for reconstructed matrix
o6 = | 0 0 x_0 x_1 0 |
| x_2 0 0 x_3 0 |
| 0 x_4 0 x_5 0 |
| 0 0 x_6 0 -x_1x_2x_4x_6 |
| x_7 0 0 0 -x_0x_3x_4x_7 |
| 0 x_8 0 0 -x_0x_2x_5x_8 |
6 5
o6 : Matrix (QQ[x ..x ]) <-- (QQ[x ..x ])
0 8 0 8
|