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