Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Implift/volumes.ads, Revision 1.1.1.1
1.1 maekawa 1: with Lists_of_Integer_Vectors; use Lists_of_Integer_Vectors;
2: with Arrays_of_Integer_Vector_Lists; use Arrays_of_Integer_Vector_Lists;
3: with Trees_of_Vectors; use Trees_of_Vectors;
4:
5: package Volumes is
6:
7: -- DESCRIPTION :
8: -- This package contains a routine to compute the volume
9: -- of a polytope and two routines for computing the mixed volume.
10:
11: function Volume ( n : natural; l : List ) return natural;
12:
13: function Volume ( n : natural; l : List;
14: tv : Tree_of_Vectors ) return natural;
15:
16: procedure Volume ( n : in natural; l : in List;
17: tv : in out Tree_of_Vectors; vlm : out natural );
18:
19: -- DESCRIPTION :
20: -- Computes n! times the volume of the polytope generated
21: -- by the points in l; n equals the dimension of the space.
22: -- The tree of degrees tv maintains the directions used to
23: -- compute the volume. Once tv has been constructed, the volume
24: -- can be computed more efficiently.
25:
26: -- REMARK :
27: -- The tree of vectors contains directions normal to the polytope
28: -- generated by a list wl where the first element of the list
29: -- consists of all zeroes; so eventually l has been shifted.
30:
31: function Mixed_Volume ( n : natural; al : Array_of_Lists ) return natural;
32:
33: function Mixed_Volume ( n : natural; al : Array_of_Lists;
34: tv : Tree_of_Vectors ) return natural;
35:
36: procedure Mixed_Volume ( n : in natural; al : in Array_of_Lists;
37: tv : in out Tree_of_Vectors; mv : out natural );
38:
39: -- DESCRIPTION :
40: -- Computes the mixed volume of the polytopes generated
41: -- by the points in al; n equals the dimension of the space.
42: -- The tree of vectors tv maintains the directions used to
43: -- compute the mixed volume. Once tv has been constructed,
44: -- the mixed volume can be computed more efficiently.
45:
46: end Volumes;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>