Scroll to navigation

xref|hvref(1) lrslib 7.3 xref|hvref(1)

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

1.
FAQ page
2.
User's guide for lrslib

Author

David Avis <avis at cs dot mcgill dot ca >

See also

mplrs(1), lrslib(5), lrsnash(1)

2023.1.4 January 2024