Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Symmetry/templates.ads, Revision 1.1.1.1
1.1 maekawa 1: with Standard_Natural_Vectors; use Standard_Natural_Vectors;
2: with Lists_of_Integer_Vectors; use Lists_of_Integer_Vectors;
3:
4: package Templates is
5:
6: -- DESCRIPTION :
7: -- This package provides the basic data abstraction to be used for the
8: -- construction of a symmetric linear-product start system.
9:
10: -- DATA STRUCTURES :
11:
12: -- A template for an n-dimensional system is made of a table
13: -- of natural vectors h(*).
14: -- If h(i) = 0, then this coefficient h(i) will be zero,
15: -- elsif h(i) = j /= 0,
16: -- then this coefficient h(i) will be the j-th random number.
17:
18: -- CONSTRUCTORS :
19:
20: procedure Create ( n : in natural );
21:
22: -- DESCRIPTION :
23: -- Allocates memory space to contain a template for
24: -- an n-dimensional polynomial system.
25:
26: procedure Add_Hyperplane ( i : in natural; h : in Vector );
27:
28: -- DESCRIPTION :
29: -- The hyperplane h is added to the i-the equation of the
30: -- random product system.
31:
32: -- REQUIRED : __n_
33: -- i <= n \
34: -- h : Vector(0..n) representing h(0) + > h(j) x
35: -- /___ j
36: -- j=1
37:
38: procedure Change_Hyperplane ( i,j : in natural; h : in Vector );
39:
40: -- DESCRIPTION :
41: -- The (i,j)-th hyperplane will be changed into h.
42:
43: -- SELECTORS :
44:
45: function Number_of_Hyperplanes ( i : natural ) return natural;
46:
47: -- DESCRIPTION :
48: -- returns the number of added hyperplanes for the i-th equation
49:
50: procedure Get_Hyperplane ( i,j : in natural; h : out Vector );
51:
52: -- DESCRIPTION :
53: -- returns the j-th hyperplane h for the i-th equation
54:
55: procedure Polynomial_System ( n,nbfree : in natural );
56:
57: -- DESCRIPTION :
58: -- Based on the template, an n-dimensional random product
59: -- polynomial system will be generated.
60: -- The parameter nbfree indicates the number of free coefficients.
61: -- After calling this routine, the package Random_Product_System
62: -- will contain the data for a polynomial system.
63:
64: function Verify ( n : natural; lp : List ) return natural;
65:
66: -- DESCRIPTION :
67: -- Computes the number of finite nonsingular solutions
68: -- of the final symmetric polynomial system.
69: -- The list of positions lp indicates where the acceptable
70: -- classes in the structure can be found.
71: -- The structure is degenerate if this number does not
72: -- correspond with the generalized Bezout number.
73:
74: -- DESTRUCTOR :
75:
76: procedure Clear;
77:
78: -- DESCRIPTION :
79: -- This procedure frees all memory space used by the template.
80:
81: end Templates;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>