[BACK]Return to minkowski_polynomials.ads CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / PHC / Ada / Root_Counts / Dynlift

Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Dynlift/minkowski_polynomials.ads, Revision 1.1.1.1

1.1       maekawa     1: with Standard_Integer_Vectors;           use Standard_Integer_Vectors;
                      2: with Standard_Complex_Polynomials;       use Standard_Complex_Polynomials;
                      3: with Triangulations;                     use Triangulations;
                      4: with Integer_Mixed_Subdivisions;         use Integer_Mixed_Subdivisions;
                      5:
                      6: package Minkowski_Polynomials is
                      7:
                      8: -- DESCRIPTION :
                      9: --   This package allows the computation of the Minkowski-polynomial
                     10: --   of a tuple of polytopes (P1,P2,..,Pr).  This polynomial is the
                     11: --   expansion of the volume of a positive linear combination of the
                     12: --   polytopes in the tuple: vol_n(l1*P1 + l2*P2 + .. + lr*Pr), which
                     13: --   is a homogeneous polynomial of degree n in the coefficients l1,l2,..,lr,
                     14: --   according to Minkowski's theorem.
                     15:
                     16:   function Minkowski_Polynomial ( n,r : natural ) return Poly;
                     17:
                     18:   -- DESCRIPTION :
                     19:   --   Returns the structure of the Minkowski-polynomial, given the
                     20:   --   dimension and the number of different polytopes in the tuple.
                     21:
                     22:   -- ON ENTRY :
                     23:   --   n           dimension of the polytopes before lifting;
                     24:   --   r           number of different polytopes in the tuple.
                     25:
                     26:   -- ON RETURN :
                     27:   --   The structure of the Minkowski-polynomial, with all coefficients
                     28:   --   equal to one.
                     29:
                     30:   procedure Minkowski_Polynomial
                     31:                  ( p : in out Poly; t : in Triangulation; n : in natural;
                     32:                    mix : in Vector; mixsub : out Mixed_Subdivision );
                     33:
                     34:   -- DESCRIPTION :
                     35:   --   Computes the coefficients of the Minkowski-polynomial, given its
                     36:   --   structure and based on the triangulation of the Cayley-polytope.
                     37:   --   On return, one also obtains the mixed subdivision, corresponding
                     38:   --   the given type of mixture.
                     39:
                     40:   generic
                     41:     with procedure Process ( submix : in Vector; sub : in Mixed_Subdivision;
                     42:                              vol : out natural );
                     43:   procedure Minkowski_Polynomial_Subdivisions
                     44:                  ( p : in out Poly; t : in Triangulation; n : in natural;
                     45:                    mix : in Vector; mixsub : out Mixed_Subdivision );
                     46:
                     47:   -- DESCRIPTION :
                     48:   --   Computes the coefficients of the Minkowski-polynomial, given its
                     49:   --   structure and the triangulation of the Cayley polytope.
                     50:   --   The generic procedure returns the subdivision for a given type of
                     51:   --   mixture and asks to compute its volume.
                     52:   --   On return, one also obtains the mixed subdivision, corresponding
                     53:   --   the given type of mixture.
                     54:
                     55: end Minkowski_Polynomials;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>