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

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>