---
name: "xref"
section: "1"
platform: "linux"
package: "lrslib"
version: "0.73-2+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/xref"
---

# xref(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

  https://inf.ethz.ch/personal/fukudak/polyfaq/polyfaq.html

- 2\.

  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

[**mplrs**(1)](/mplrs/1.md), **lrslib**(5), [**lrsnash**(1)](/lrsnash/1.md)
