Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Stalift/mixed_coherent_subdivisions.ads, Revision 1.1
1.1 ! maekawa 1: with Standard_Integer_Vectors; use Standard_Integer_Vectors;
! 2: with Standard_Floating_Vectors;
! 3: with Standard_Integer_VecVecs; use Standard_Integer_VecVecs;
! 4: with Arrays_of_Integer_Vector_Lists; use Arrays_of_Integer_Vector_Lists;
! 5: with Integer_Mixed_Subdivisions; use Integer_Mixed_Subdivisions;
! 6: with Standard_Complex_Poly_Systems; use Standard_Complex_Poly_Systems;
! 7:
! 8: package Mixed_Coherent_Subdivisions is
! 9:
! 10: -- DESCRIPTION :
! 11: -- A number of routines for constructing a mixed coherent subdivision
! 12: -- are offered, each with a different type of lifting function.
! 13:
! 14: -- a polynomial system as lifting function :
! 15:
! 16: function Mixed_Coherent_Subdivision
! 17: ( n : natural; mix : Vector; points : Array_of_Lists;
! 18: lift : Poly_Sys ) return Mixed_Subdivision;
! 19:
! 20: procedure Mixed_Coherent_Subdivision
! 21: ( n : in natural; mix : in Vector; points : in Array_of_Lists;
! 22: lift : in Poly_Sys; lifted : in out Array_of_Lists;
! 23: nbsucc,nbfail : in out Standard_Floating_Vectors.Vector;
! 24: mixsub : out Mixed_Subdivision );
! 25:
! 26: -- a user-defined lifting function :
! 27:
! 28: function Mixed_Coherent_Subdivision
! 29: ( n : natural; mix : Vector; points : Array_of_Lists;
! 30: linear : boolean; lift : VecVec ) return Mixed_Subdivision;
! 31:
! 32: procedure Mixed_Coherent_Subdivision
! 33: ( n : in natural; mix : in Vector; points : in Array_of_Lists;
! 34: linear : in boolean; lift : in VecVec;
! 35: lifted : in out Array_of_Lists;
! 36: nbsucc,nbfail : in out Standard_Floating_Vectors.Vector;
! 37: mixsub : out Mixed_Subdivision );
! 38:
! 39: -- a randomly generated lifting function :
! 40:
! 41: function Mixed_Coherent_Subdivision
! 42: ( n : natural; mix : Vector; points : Array_of_Lists;
! 43: linear : boolean; low,upp : Vector )
! 44: return Mixed_Subdivision;
! 45:
! 46: procedure Mixed_Coherent_Subdivision
! 47: ( n : in natural; mix : in Vector; points : in Array_of_Lists;
! 48: linear : in boolean; low,upp : in Vector;
! 49: lifted : in out Array_of_Lists;
! 50: nbsucc,nbfail : in out Standard_Floating_Vectors.Vector;
! 51: mixsub : out Mixed_Subdivision );
! 52:
! 53: -- DESCRIPTION :
! 54: -- Given a set of points and a lifting function,
! 55: -- a subdivision of the polytope will be computed.
! 56:
! 57: -- ON ENTRY :
! 58: -- n the dimension of the vector space;
! 59: -- mix mix(k) indicates how many times the kth point set occurs;
! 60: -- points an array of all different point sets;
! 61: -- linear indicates wether a linear lifting should be used;
! 62: -- lift an array of lifting polynomials or an m dimensional
! 63: -- array of vectors, where the length of the kth vector
! 64: -- must equal the length of the kth support,
! 65: -- when nonlinear, otherwise the length equals n.
! 66: -- low,upp lower and upper bounds for random lifting.
! 67:
! 68: -- ON RETURN :
! 69: -- lifted the lifted points which can later be used for lifting
! 70: -- the polynomial system;
! 71: -- nbsucc the number of successful face-face combinations that
! 72: -- have been computed;
! 73: -- nbfail the number of unsuccessful face-face combinations;
! 74: -- mixsub the mixed subdivision of the polytope, defined as
! 75: -- lower hull of the lifted points.
! 76:
! 77: end Mixed_Coherent_Subdivisions;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>