xref - Man Page
Name
xref|hvref - produce a cross reference list between H- and V-representations.
Synopsis
xref [input-file]
hvref [input-file]
Description
These programs are part of and must be compiled with lrslib which is a C library. All computations are done in exact arithmetic.
xref and hvref produce a cross reference list between H- and V-representations.
xref/hvref Cross reference listing between V- and H-representations
In the example below we start from an H-representation of cube.ine but the same steps apply to the V-representation cube.ext. It is recommended to first remove any redundancies from the input file using redund.
1. Add printcobasis and incidence options to cube.ine and run lrs.
% cat cube.ine
cube
H-representation
begin
6 4 rational
0 1 0 0
0 0 1 0
0 0 0 1
1 -1 0 0
1 0 -1 0
1 0 0 -1
end
printcobasis
incidence
% lrs cube.ine cube.ext
2. Run xref on the output file cube.ext getting cube.ext.ex
% xref cube.ext
% cat cube.ext.ex lg% cat cube.ext.x
V-representation
1 4 5 6 #
2 1 5 6 #
3 2 4 6 #
4 1 2 6 #
5 3 4 5 #
6 1 3 5 #
7 2 3 4 #
8 1 2 3 #
3. Edit the file cube.ext.x to insert a second line that contains two integers
rows maxindex
where rows >= # output lines in cube.ext.x
maxindex >= # input lines in cube.ine
or just use 0 0 and run hvref, the output will tell you which values to use.
% hvref cube.ext.x % hvref cube.ext.x
V-representation
8 8
1: 4 5 6
2: 1 5 6
3: 2 4 6
4: 1 2 6
5: 3 4 5
6: 1 3 5
7: 2 3 4
8: 1 2 3
H-representation
6 8
1: 2 4 6 8
2: 3 4 7 8
3: 5 6 7 8
4: 1 3 5 7
5: 1 2 5 6
6: 1 2 3 4
input rows=8 maxindex=6
Notes
- FAQ page
https://inf.ethz.ch/personal/fukudak/polyfaq/polyfaq.html - User's guide for lrslib
http://cgm.cs.mcgill.ca/~avis/C/lrslib/USERGUIDE.html
Author
David Avis <avis at cs dot mcgill dot ca >
See also
Referenced By
The man page hvref(1) is an alias of xref(1).