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

File: [local] / OpenXM_contrib / PHC / Ada / Root_Counts / Symmetry / templates.ads (download)

Revision 1.1.1.1 (vendor branch), Sun Oct 29 17:45:31 2000 UTC (23 years, 7 months ago) by maekawa
Branch: PHC, MAIN
CVS Tags: v2, maekawa-ipv6, RELEASE_1_2_3, RELEASE_1_2_2_KNOPPIX_b, RELEASE_1_2_2_KNOPPIX, RELEASE_1_2_2, RELEASE_1_2_1, HEAD
Changes since 1.1: +0 -0 lines

Import the second public release of PHCpack.

OKed by Jan Verschelde.

with Standard_Natural_Vectors;           use Standard_Natural_Vectors;
with Lists_of_Integer_Vectors;           use Lists_of_Integer_Vectors;

package Templates is

-- DESCRIPTION :
--   This package provides the basic data abstraction to be used for the
--   construction of a symmetric linear-product start system.

-- DATA STRUCTURES :

  -- A template for an n-dimensional system is made of a table
  -- of natural vectors h(*).
  -- If h(i) = 0, then this coefficient h(i) will be zero,
  -- elsif h(i) = j /= 0,
  --     then this coefficient h(i) will be the j-th random number.

-- CONSTRUCTORS :

  procedure Create ( n : in natural );

  -- DESCRIPTION :
  --   Allocates memory space to contain a template for
  --   an n-dimensional polynomial system.

  procedure Add_Hyperplane ( i : in natural; h : in Vector );

  -- DESCRIPTION :
  --   The hyperplane h is added to the i-the equation of the
  --   random product system.

  -- REQUIRED :                               __n_
  --   i <= n                                 \
  --   h : Vector(0..n) representing  h(0) +   >    h(j) x
  --                                          /___        j
  --                                           j=1

  procedure Change_Hyperplane ( i,j : in natural; h : in Vector );

  -- DESCRIPTION :
  --   The (i,j)-th hyperplane will be changed into h.

-- SELECTORS :

  function Number_of_Hyperplanes ( i : natural ) return natural;

  -- DESCRIPTION :
  --   returns the number of added hyperplanes for the i-th equation

  procedure Get_Hyperplane ( i,j : in natural; h : out Vector );

  -- DESCRIPTION :
  --   returns the j-th hyperplane h for the i-th equation

  procedure Polynomial_System ( n,nbfree : in natural );

  -- DESCRIPTION :
  --   Based on the template, an n-dimensional random product
  --   polynomial system will be generated.
  --   The parameter nbfree indicates the number of free coefficients.
  --   After calling this routine, the package Random_Product_System
  --   will contain the data for a polynomial system.

  function Verify ( n : natural; lp : List ) return natural;

  -- DESCRIPTION :
  --   Computes the number of finite nonsingular solutions 
  --   of the final symmetric polynomial system.
  --   The list of positions lp indicates where the acceptable
  --   classes in the structure can be found.
  --   The structure is degenerate if this number does not
  --   correspond with the generalized Bezout number.

-- DESTRUCTOR :

  procedure Clear;

  -- DESCRIPTION :
  --   This procedure frees all memory space used by the template.

end Templates;