Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Implift/volumes.ads, Revision 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>