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>