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

Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Product/degree_structure.ads, Revision 1.1

1.1     ! maekawa     1: with Standard_Natural_Vectors;
        !             2: with Sets_of_Unknowns;                   use Sets_of_Unknowns;
        !             3: with Partitions_of_Sets_of_Unknowns;     use Partitions_of_Sets_of_Unknowns;
        !             4: with Standard_Complex_Poly_Systems;      use Standard_Complex_Poly_Systems;
        !             5:
        !             6: package Degree_Structure is
        !             7:
        !             8: -- DESCRIPTION :
        !             9: --   This package analyzes the structure of a given
        !            10: --   polynomial system, with respect to its degrees.
        !            11:
        !            12: -- CREATORS :
        !            13:
        !            14:   procedure Create ( p : in Poly_Sys );
        !            15:
        !            16:   -- DESCRIPTION :
        !            17:   --   For each equation of the polynomial system p, a heuristic is applied
        !            18:   --   for constructing a good tuple of partitions.
        !            19:   --   This degree structure will be contained by the package itself.
        !            20:
        !            21:   procedure Put ( p : in Poly_Sys;
        !            22:                   i,m : in natural; z : in Partition );
        !            23:
        !            24:   -- DESCRIPTION :
        !            25:   --   A partition for the set of unknowns of the ith polynomial
        !            26:   --   of the system p is added.
        !            27:
        !            28: -- SELECTORS :
        !            29:
        !            30:   function Empty return boolean;
        !            31:
        !            32:   -- DESCRIPTION :
        !            33:   --   is true initially and after the Clear procedure.
        !            34:
        !            35:   function Get ( i : natural ) return natural;
        !            36:
        !            37:   -- DESCRIPTION :
        !            38:   --   returns the number of sets for the partition of
        !            39:   --   the i-th equation of a polynomial system p for
        !            40:   --   which the Create operation must be performed.
        !            41:
        !            42:   procedure Get ( i : in natural; z : in out Partition;
        !            43:                   d : out Standard_Natural_Vectors.Vector );
        !            44:
        !            45:   -- DESCRIPTION :
        !            46:   --   The partition for the i-the equation of the polynomial
        !            47:   --   system p is returned together with its degrees;
        !            48:   --   for j in d'range :  d(j) = Degree(p(i),z(j)).
        !            49:
        !            50:   -- REQUIRED :
        !            51:   --   The Create operation or Put operations have been performed on a
        !            52:   --   polynomial system p having at least i equations.
        !            53:
        !            54: -- COMPUTING THE GENERALIZED BEZOUT NUMBER :
        !            55:
        !            56:   function Admissible ( z : Partition; n : natural ) return boolean;
        !            57:
        !            58:   -- DESCRIPTION :
        !            59:   --   return true if the following holds:
        !            60:   --    `Any union of k sets of z contains at least k unknowns',
        !            61:   --   for k in 2..n.
        !            62:
        !            63:   -- NOTE :
        !            64:   --   z is not necessary a partition, it is rather a set of n sets
        !            65:   --   of unknowns.
        !            66:
        !            67:   function Admissible ( z : Partition; n : natural; s : Set )
        !            68:                       return boolean;
        !            69:
        !            70:   -- DESCRIPTION :
        !            71:   --   given admissible(z,n) = true, this function returns
        !            72:   --   admissible(union(z,s),n+1).
        !            73:
        !            74:   function Admissible ( z : Partition; k,n : natural; s : Set )
        !            75:                       return boolean;
        !            76:
        !            77:   -- DESCRIPTION :
        !            78:   --   returns true if admissible(union(z,s),n+1), with respect to k.
        !            79:
        !            80:   function Generalized_Bezout_Number return natural;
        !            81:
        !            82:   -- DESCRIPTION :
        !            83:   --   This function returns a Bezout number based on the
        !            84:   --   degree structure of the system.
        !            85:
        !            86:   function Generalized_Bezout_Number ( p : in Poly_Sys ) return natural;
        !            87:
        !            88:   -- DESCRIPTION :
        !            89:   --   Calling this function is equivalent to :
        !            90:   --      Degree_Structure.Create(p);
        !            91:   --      return Degree_Structure.Generalized_Bezout_Number;
        !            92:
        !            93: -- DESTRUCTOR :
        !            94:
        !            95:   procedure Clear;
        !            96:
        !            97:   -- DESCRIPTION :
        !            98:   --   All allocated memory space is freed.
        !            99:
        !           100: end Degree_Structure;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>