[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

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>