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

Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Dynlift/dynamic_polyhedral_continuation.ads, Revision 1.1

1.1     ! maekawa     1: with text_io;                            use text_io;
        !             2: with Standard_Integer_Vectors;           use Standard_Integer_Vectors;
        !             3: with Standard_Floating_Vectors;
        !             4: with Standard_Complex_Poly_Systems;      use Standard_Complex_Poly_Systems;
        !             5: with Lists_of_Integer_Vectors;           use Lists_of_Integer_Vectors;
        !             6: with Arrays_of_Integer_Vector_Lists;     use Arrays_of_Integer_Vector_Lists;
        !             7: with Standard_Complex_Solutions;         use Standard_Complex_Solutions;
        !             8: with Triangulations;                     use Triangulations;
        !             9: with Integer_Mixed_Subdivisions;         use Integer_Mixed_Subdivisions;
        !            10: with Dynamic_Mixed_Subdivisions;         use Dynamic_Mixed_Subdivisions;
        !            11:
        !            12: package Dynamic_Polyhedral_Continuation is
        !            13:
        !            14: -- DESCRIPTION :
        !            15: --   This package contains the utilities for polyhedral continuation,
        !            16: --   to apply in combination with the dynamic lifting algorithm.
        !            17:
        !            18:   procedure Dynamic_Unmixed_Solve
        !            19:                 ( file : in file_type; n : in natural;
        !            20:                   l : in List; order,inter : in boolean; maxli : in natural;
        !            21:                   lifted,lifted_last : in out List; t : in out Triangulation;
        !            22:                   q : in Poly_Sys; qsols : in out Solution_List );
        !            23:
        !            24:   -- DESCRIPTION :
        !            25:   --   Application of the dynamic lifting algorithm to the unmixed
        !            26:   --   polynomial system q.
        !            27:
        !            28:   -- ON ENTRY :
        !            29:   --   file       a file to write intermediate results on;
        !            30:   --   n          dimension before lifting;
        !            31:   --   l          list of integer vectors of length n;
        !            32:   --   order      if true, then the points are already ordered and will
        !            33:   --              be processed like they occur in the list,
        !            34:   --              if false, then a random order will be chosen;
        !            35:   --   inter      if true, then the list may contain interior points,
        !            36:   --              i.e. points x in conv(l\{x}),
        !            37:   --              if false, no interior points occur in the list;
        !            38:   --   maxli      maximum value of the lifting function,
        !            39:   --              if = 0, then no flattening will be applied,
        !            40:   --              if > 0, then no points will be given a lifting value
        !            41:   --              larger than maxli, eventually flattening will be applied;
        !            42:   --   lifted     points that already have been lifted;
        !            43:   --   lifted_last is pointer to the last element of the list lifted;
        !            44:   --   t          contains a triangulation of the lifted points;
        !            45:   --   q          a polynomial system with randomly chosen coefficients,
        !            46:   --              the lists of exponent vectors of q equals the list l.
        !            47:
        !            48:   -- ON RETURN :
        !            49:   --   lifted     the lifted points;
        !            50:   --   t          a regular triangulation of the points in l;
        !            51:   --   qsols      the solutions of q.
        !            52:
        !            53:   procedure Dynamic_Cayley_Solve
        !            54:                 ( file : in file_type; n : in natural; mix : in Vector;
        !            55:                   supports : in Array_of_Lists; order,inter : in boolean;
        !            56:                   maxli : in natural; lifted : in out Array_of_Lists;
        !            57:                   mixsub : in out Mixed_Subdivision; numtri : out natural;
        !            58:                   q : in Poly_Sys; qsols : in out Solution_List );
        !            59:
        !            60:   -- DESCRIPTION :
        !            61:   --   Application of the dynamic lifting algorithm to the Cayley trick.
        !            62:
        !            63:   -- ON ENTRY :
        !            64:   --   file       a file to write intermediate results on;
        !            65:   --   n          length of the vectors in the supports;
        !            66:   --   mix        type of mixture;
        !            67:   --   supports   lists of integer vector of length n;
        !            68:   --   order      if true, then the points are already ordered and will
        !            69:   --              be processed like they occur in the list,
        !            70:   --              if false, then a random order will be chosen;
        !            71:   --   inter      if true, then the list may contain interior points,
        !            72:   --              i.e. points x in conv(l\{x}),
        !            73:   --              if false, no interior points occur in the list;
        !            74:   --   maxli      maximum value of the lifting function,
        !            75:   --              if = 0, then no flattening will be applied,
        !            76:   --              i.e. there is no maximum lifting value,
        !            77:   --              if > 0, then no points will be given a lifting value
        !            78:   --              greater than maxli;
        !            79:   --   q          a polynomial system with randomly chosen coefficients,
        !            80:   --              the lists of exponent vectors of q equals the given supports.
        !            81:
        !            82:   -- ON RETURN :
        !            83:   --   lifted     the lifted supports;
        !            84:   --   mixsub     the mixed subdivision;
        !            85:   --   numtri     number of simplices in the triangulation of the
        !            86:   --              auxiliary polytope,
        !            87:   --   qsols      the solutions of q.
        !            88:
        !            89:   procedure Dynamic_Mixed_Solve
        !            90:                 ( file : in file_type; n : in natural; mix : in Vector;
        !            91:                   supports : in Array_of_Lists; order,inter,conmv : in boolean;
        !            92:                   maxli : in natural; mixsub : in out Mixed_Subdivision;
        !            93:                   fs : in out Face_Structures;
        !            94:                   nbsucc,nbfail : in out Standard_Floating_Vectors.Vector;
        !            95:                   q : in Poly_Sys; qsols : in out Solution_List );
        !            96:
        !            97:   -- DESCRIPTION :
        !            98:   --   Application of the dynamic lifting algorithm to a tuple of supports,
        !            99:   --   by the lift-and-prune algorithm.
        !           100:
        !           101:   -- ON ENTRY :
        !           102:   --   file       a file to write intermediate results on;
        !           103:   --   n          length of the vectors in the supports;
        !           104:   --   mix        type of mixture;
        !           105:   --   supports   lists of integer vector of length n;
        !           106:   --   order      if true, then the points are already ordered and will
        !           107:   --              be processed like they occur in the list,
        !           108:   --              if false, then a random order will be chosen;
        !           109:   --   inter      if true, then the list may contain interior points,
        !           110:   --              i.e. points x in conv(l\{x}),
        !           111:   --              if false, no interior points occur in the list;
        !           112:   --   conmv      if true, then online checks on zero contributions will
        !           113:   --              be made, otherwise this will not happen;
        !           114:   --   maxli      maximum value of the lifting function,
        !           115:   --              if = 0, then no flattening will be applied,
        !           116:   --              if > 0, then no points will be given a lifting value
        !           117:   --              larger than maxli, eventually flattening will be applied;
        !           118:   --   mixsub     regular mixed subdivision of the lifted points;
        !           119:   --   fs         the face structures of the lower hulls of the lifted
        !           120:   --              points, necessary to re-start the algorithm efficiently;
        !           121:   --   nbsucc     number of successful face-face combinations;
        !           122:   --   nbfail     number of unsuccessful face-face combinations.
        !           123:   --   q          a polynomial system with randomly chosen coefficients,
        !           124:   --              the lists of exponent vectors of q equals the given supports.
        !           125:
        !           126:   -- ON RETURN :
        !           127:   --   mixsub     regular mixed subdivision of the lifted points;
        !           128:   --   fs         face structures of the updated lower hulls;
        !           129:   --   nbsucc     updated number of successful face-face combinations;
        !           130:   --   nbfail     updated number of unsuccessful face-face combinations;
        !           131:   --   qsols      the solutions of q.
        !           132:
        !           133: end Dynamic_Polyhedral_Continuation;

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