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