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

File: [local] / OpenXM_contrib / PHC / Ada / Root_Counts / Stalift / mixed_coherent_subdivisions.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_Integer_Vectors;           use Standard_Integer_Vectors;
with Standard_Floating_Vectors;
with Standard_Integer_VecVecs;           use Standard_Integer_VecVecs;
with Arrays_of_Integer_Vector_Lists;     use Arrays_of_Integer_Vector_Lists;
with Integer_Mixed_Subdivisions;         use Integer_Mixed_Subdivisions;
with Standard_Complex_Poly_Systems;      use Standard_Complex_Poly_Systems;

package Mixed_Coherent_Subdivisions is

-- DESCRIPTION :
--   A number of routines for constructing a mixed coherent subdivision
--   are offered, each with a different type of lifting function.

-- a polynomial system as lifting function :

  function Mixed_Coherent_Subdivision
               ( n : natural; mix : Vector; points : Array_of_Lists;
                 lift : Poly_Sys ) return Mixed_Subdivision;

  procedure Mixed_Coherent_Subdivision
               ( n : in natural; mix : in Vector; points : in Array_of_Lists;
                 lift : in Poly_Sys; lifted : in out Array_of_Lists;
                 nbsucc,nbfail : in out Standard_Floating_Vectors.Vector;
                 mixsub : out Mixed_Subdivision );

-- a user-defined lifting function :

  function Mixed_Coherent_Subdivision
               ( n : natural; mix : Vector; points : Array_of_Lists; 
                 linear : boolean; lift : VecVec ) return Mixed_Subdivision;

  procedure Mixed_Coherent_Subdivision
               ( n : in natural; mix : in Vector; points : in Array_of_Lists;
                 linear : in boolean; lift : in VecVec;
                 lifted : in out Array_of_Lists;
                 nbsucc,nbfail : in out Standard_Floating_Vectors.Vector;
                 mixsub : out Mixed_Subdivision );

-- a randomly generated lifting function :

  function Mixed_Coherent_Subdivision
               ( n : natural; mix : Vector; points : Array_of_Lists;
                 linear : boolean; low,upp : Vector )
               return Mixed_Subdivision;

  procedure Mixed_Coherent_Subdivision
	       ( n : in natural; mix : in Vector; points : in Array_of_Lists;
                 linear : in boolean; low,upp : in Vector;
                 lifted : in out Array_of_Lists;
                 nbsucc,nbfail : in out Standard_Floating_Vectors.Vector;
                 mixsub : out Mixed_Subdivision );

  -- DESCRIPTION :
  --   Given a set of points and a lifting function,
  --   a subdivision of the polytope will be computed.

  -- ON ENTRY :
  --   n         the dimension of the vector space;
  --   mix       mix(k) indicates how many times the kth point set occurs;
  --   points    an array of all different point sets;
  --   linear    indicates wether a linear lifting should be used;
  --   lift      an array of lifting polynomials or an m dimensional
  --             array of vectors, where the length of the kth vector
  --             must equal the length of the kth support,
  --             when nonlinear, otherwise the length equals n.
  --   low,upp   lower and upper bounds for random lifting.

  -- ON RETURN :
  --   lifted    the lifted points which can later be used for lifting
  --             the polynomial system;
  --   nbsucc    the number of successful face-face combinations that
  --             have been computed;
  --   nbfail    the number of unsuccessful face-face combinations;
  --   mixsub    the mixed subdivision of the polytope, defined as
  --             lower hull of the lifted points.

end Mixed_Coherent_Subdivisions;