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

Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Implift/set_structures_and_volumes.ads, Revision 1.1.1.1

1.1       maekawa     1: with text_io;                            use text_io;
                      2: with Standard_Complex_Poly_Systems;      use Standard_Complex_Poly_Systems;
                      3: with Standard_Complex_Solutions;         use Standard_Complex_Solutions;
                      4: with Trees_of_Vectors;                   use Trees_of_Vectors;
                      5:
                      6: package Set_Structures_and_Volumes is
                      7:
                      8: -- DESCRIPTION :
                      9: --   This package contains routines for implementing the
                     10: --   hybrid approach of working with set structures and
                     11: --   computing mixed volumes.
                     12:
                     13:   procedure Build_RPS ( k,n : in natural; p : in Poly_Sys );
                     14:
                     15:   -- DESCRIPTION :
                     16:   --   If the set structure is empty, then a set structure will
                     17:   --   be constructed for the first k polynomials of p.
                     18:   --   This allows the construction of random product polynomials.
                     19:
                     20:   -- ON ENTRY :
                     21:   --   k        number of polynomials for which a random product structure
                     22:   --            needs to be constructed, 0 < k <= n;
                     23:   --   n        total number of polynomials in the system;
                     24:   --   p        polynomial system.
                     25:
                     26:   -- ON RETURN :
                     27:   --   The result of this operation can be found in
                     28:   --   the data of the package Random_Product_System.
                     29:
                     30:   function Bezout_BKK ( k,n : natural; p : Poly_Sys ) return natural;
                     31:
                     32:   function Bezout_BKK ( k,n : natural; p : Poly_Sys; tv : Tree_of_Vectors )
                     33:                      return natural;
                     34:
                     35:   procedure Bezout_BKK ( k,n : in natural; p : in Poly_Sys;
                     36:                         tv : in out Tree_of_Vectors; bb : out natural );
                     37:
                     38:   -- DESCRIPTION :
                     39:   --   If the set structure is empty, then a set structure will be
                     40:   --   constructed for the first k equations.
                     41:   --   This set structure will be used to eliminate k unknowns,
                     42:   --   for the last equations of p, the BKK bound will be computed.
                     43:
                     44:   -- ON ENTRY :
                     45:   --   k        number of polynomials for which a random product
                     46:   --            structure needs to be constructed, 0 <= k <= n;
                     47:
                     48:   -- ON RETURN :
                     49:   --   tv       tree of useful directions used to compute mixed volume,
                     50:   --            once tv has been constructed, the mixed volume
                     51:   --            can be computed more efficiently;
                     52:   --   bb       if k = 0, then the BKK bound is returned,
                     53:   --            if 0 < k < n, then for the first k polynomials a product
                     54:   --            structure has been used to eliminate k unknowns,
                     55:   --            if k = n, then the Bezout number based on the set structure
                     56:   --            will be returned;
                     57:
                     58:   procedure Mixed_Solve
                     59:                ( file : in file_type; k,n : in natural; p : in Poly_Sys;
                     60:                  bb : out natural;
                     61:                  g : in out Poly_Sys; sols : in out Solution_List );
                     62:
                     63:   procedure Mixed_Solve
                     64:                ( file : in file_type; k,n : in natural; p : in Poly_Sys;
                     65:                  tv : in Tree_of_Vectors;
                     66:                  bb : out natural; g : in out Poly_Sys;
                     67:                  sols : in out Solution_List );
                     68:
                     69:   -- DESCRIPTION :
                     70:   --   Constructs a random product coefficient start system for p.
                     71:
                     72:   -- ON ENTRY :
                     73:   --   file      needed to write intermediate results on;
                     74:   --   k         a number between 0 and n;
                     75:   --   n         the number of variables and equations;
                     76:   --   p         a polynomial system;
                     77:   --   tv        the tree of useful directions.
                     78:
                     79:   -- ON RETURN :
                     80:   --   g         a random product coefficient start system;
                     81:   --             if k = 0, then a random coefficient start system,
                     82:   --             if k = n, then a random product start system;
                     83:   --   bb        the Bezout BKK bound for the system p;
                     84:   --             if k = 0, then bb = BKK bound,
                     85:   --             if k = n, then bb = Bezout number based on set structure;
                     86:   --   sols      the solutions of g.
                     87:
                     88: end Set_Structures_and_Volumes;

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