Macaulay2 » Documentation
Packages » Normaliz :: RationalCone
next | previous | forward | backward | up | index | toc

RationalCone -- class of rational cones

Description

The method normaliz returns an object of type RationalCone. By default, that cone contains only the content of the output file .gen, under the key "gen" (i.e. the generators that have been computed) and the content of the output file .inv, which contains some additional data. Note that Normaliz writes the generators as rows, in contrast to the convention used in M2.
i1 : setNmzOption("allf",true);
i2 : eq=matrix {{1, 1, 1, -1, -1, -1,  0,  0,  0}, {1, 1, 1,  0,  0,  0, -1, -1, -1}, {0, 1, 1, -1,  0,  0, -1,  0,  0}, {1, 0, 1,  0, -1,  0,  0, -1,  0}, {1, 1, 0,  0,  0, -1,  0,  0, -1}, {0, 1, 1,  0, -1,  0,  0,  0, -1}, {1, 1, 0,  0, -1,  0, -1,  0,  0}};

              7       9
o2 : Matrix ZZ  <-- ZZ
i3 : rc=normaliz(eq,"equations");
i4 : rc#"gen"

o4 = | 0 2 1 2 1 0 1 0 2 |
     | 1 0 2 2 1 0 0 2 1 |
     | 1 1 1 1 1 1 1 1 1 |
     | 1 2 0 0 1 2 2 0 1 |
     | 2 0 1 0 1 2 1 2 0 |

              5       9
o4 : Matrix ZZ  <-- ZZ
i5 : rc#"inv"

o5 = HashTable{"" => (1, 1, 1)                         }
               "class group" => (1, 2, 2)
               "degree 1 elements" => 5
               "dim max subspace" => 0
               "embedding dim" => 9
               "external index" => 1
               "graded" => true
               "grading denom" => 1
               "grading" => (0, 0, 0, 0, 1, 0, 0, 0, 0)
               "hilbert basis elements" => 5
               "hilbert quasipolynomial denom" => 1
               "hilbert series denom" => (1, 1, 1)
               "hilbert series num" => (1, 2, 1)
               "inhomogeneous" => false
               "multiplicity denom" => 1
               "multiplicity" => 4
               "number extreme rays" => 4
               "number support hyperplanes" => 4
               "rank" => 3
               "size triangulation" => 2
               "sum dets" => 4

o5 : HashTable

To obtain all the information written by Normaliz set the option allComputations to true. Then the method returns an object of type RationalCone whose keys are the suffixes of all the output files written, with value the content of the corresponding output file (also to be read line by line).
i6 : arc=normaliz(allComputations=>true,eq,"equations");
i7 : arc#"gen"

o7 = | 0 2 1 2 1 0 1 0 2 |
     | 1 0 2 2 1 0 0 2 1 |
     | 1 1 1 1 1 1 1 1 1 |
     | 1 2 0 0 1 2 2 0 1 |
     | 2 0 1 0 1 2 1 2 0 |

              5       9
o7 : Matrix ZZ  <-- ZZ
i8 : arc#"ext"

o8 = | 0 2 1 2 1 0 1 0 2 |
     | 1 0 2 2 1 0 0 2 1 |
     | 1 2 0 0 1 2 2 0 1 |
     | 2 0 1 0 1 2 1 2 0 |

              4       9
o8 : Matrix ZZ  <-- ZZ

See output files written by Normaliz for an explanation of the different output files.

See also

For the programmer

The object RationalCone is a type, with ancestor classes HashTable < Thing.