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 |
The object reconstructSlackMatrix is a method function with options.