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

Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Stalift/integer_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_Complex_VecVecs;
                      4: with Standard_Complex_Laur_Systems;      use Standard_Complex_Laur_Systems;
                      5: with Standard_Complex_Laur_SysFun;       use Standard_Complex_Laur_SysFun;
                      6: with Standard_Complex_Laur_Jacomats;     use Standard_Complex_Laur_Jacomats;
                      7: with Exponent_Vectors;                   use Exponent_Vectors;
                      8: with Arrays_of_Integer_Vector_Lists;     use Arrays_of_Integer_Vector_Lists;
                      9: with Standard_Complex_Solutions;         use Standard_Complex_Solutions;
                     10: with Integer_Mixed_Subdivisions;         use Integer_Mixed_Subdivisions;
                     11:
                     12: package Integer_Polyhedral_Continuation is
                     13:
                     14: -- DESCRIPTION :
                     15: --   This package implements polyhedral homotopy continuation methods,
                     16: --   based on mixed subdivision induced by integer-valued lifting.
                     17: --   The continuation is organized in three layers:
                     18: --     1. inner normal, tracking of paths for one poly
                     19: --     2. mixed cell, recursion is needed when the cell is not fine;
                     20: --     3. mixed subdivision, for all cells in the subdivision.
                     21: --   Each layer has four versions: all combinations of
                     22: --     1. homotopy as polynomial system or coefficient homotopy;
                     23: --     2. silent and reporting version.
                     24:
                     25: -- FIRST LAYER : polyhedral continuation for one transformation.
                     26:
                     27:   procedure Mixed_Continuation
                     28:                 ( p : in Laur_Sys; normal : in Vector;
                     29:                   sols : in out Solution_List );
                     30:
                     31:   procedure Mixed_Continuation
                     32:                 ( file : in file_type; p : in Laur_Sys;
                     33:                   normal : in Vector; sols : in out Solution_List );
                     34:
                     35:   -- DESCRIPTION :
                     36:   --   Polyhedral continuation for transformed polyhedral homotopy.
                     37:
                     38:   -- ON ENTRY :
                     39:   --   file       file to write intermediate results on;
                     40:   --   p          a transformed lifted Laurent polynomial system;
                     41:   --   normal     normal to a mixed cell;
                     42:   --   sols       start solutions of the subsystem which corresponds
                     43:   --              with the mixed cell with given inner normal.
                     44:
                     45:   -- ON RETURN :
                     46:   --   sols       the solutions of p, which correspond to one mixed cell.
                     47:
                     48:   procedure Mixed_Continuation
                     49:                 ( mix : in Standard_Integer_Vectors.Vector;
                     50:                   lifted : in Array_of_Lists; h : in Eval_Coeff_Laur_Sys;
                     51:                   c : in Standard_Complex_VecVecs.VecVec;
                     52:                   e : in Exponent_Vectors_Array;
                     53:                   j : in Eval_Coeff_Jaco_Mat; m : in Mult_Factors;
                     54:                   normal : in Vector; sols : in out Solution_List );
                     55:
                     56:   procedure Mixed_Continuation
                     57:                 ( file : in file_type; mix : in Standard_Integer_Vectors.Vector;
                     58:                   lifted : in Array_of_Lists; h : in Eval_Coeff_Laur_Sys;
                     59:                   c : in Standard_Complex_VecVecs.VecVec;
                     60:                   e : in Exponent_Vectors_Array;
                     61:                   j : in Eval_Coeff_Jaco_Mat; m : in Mult_Factors;
                     62:                   normal : in Vector; sols : in out Solution_List );
                     63:
                     64:   -- DESCRIPTION : polyhedral continuation with coefficient homotopy.
                     65:
                     66:   -- ON ENTRY :
                     67:   --   file       file to write intermediate results on;
                     68:   --   mix        type of mixture;
                     69:   --   lifted     lifted supports of polynomial system, in original order;
                     70:   --   h          coefficient homotopy;
                     71:   --   c          coefficients of homotopy;
                     72:   --   e          the exponent vectors of the unlifted system;
                     73:   --   j          coefficient Jacobian matrix;
                     74:   --   m          multiplication factors in coefficient Jacobian matrix;
                     75:   --   normal     normal to a mixed cell;
                     76:   --   sols       start solutions of the subsystem which corresponds
                     77:   --              with the mixed cell with given inner normal.
                     78:
                     79:   -- ON RETURN :
                     80:   --   sols       the solutions of p, which correspond to one mixed cell.
                     81:
                     82: -- SECOND LAYER : polyhedral continuaton for one mixed cell.
                     83:
                     84:   procedure Mixed_Solve
                     85:                 ( p : in Laur_Sys; mix : in Vector;
                     86:                   mic : in Mixed_Cell; sols,sols_last : in out Solution_List );
                     87:
                     88:   procedure Mixed_Solve
                     89:                 ( file : in file_type; p : in Laur_Sys; mix : in Vector;
                     90:                   mic : in Mixed_Cell; sols,sols_last : in out Solution_List );
                     91:
                     92:   -- DESCRIPTION :
                     93:   --   Polyhedral continuation for one mixed cell.
                     94:
                     95:   -- REQUIRED : polynomials in p must be ordered according to mix.
                     96:
                     97:   -- ON ENTRY :
                     98:   --   file       a file to write intermediate results on;
                     99:   --   p          a lifted Laurent polynomial system;
                    100:   --   mix        type of mixture;
                    101:   --   mic        a mixed cell;
                    102:
                    103:   -- ON RETURN :
                    104:   --   sols       the solution list of p;
                    105:   --   sols_last  pointer to last element of the list sols.
                    106:
                    107:   procedure Mixed_Solve
                    108:                 ( p : in Laur_Sys; lifted : in Array_of_Lists;
                    109:                   h : in Eval_Coeff_Laur_Sys;
                    110:                   c : in Standard_Complex_VecVecs.VecVec;
                    111:                   e : in Exponent_Vectors_Array;
                    112:                   j : in Eval_Coeff_Jaco_Mat; m : in Mult_Factors;
                    113:                   mix : in Vector; mic : in Mixed_Cell;
                    114:                   sols,sols_last : in out Solution_List );
                    115:
                    116:   procedure Mixed_Solve
                    117:                 ( file : in file_type;
                    118:                   p : in Laur_Sys; lifted : in Array_of_Lists;
                    119:                   h : in Eval_Coeff_Laur_Sys;
                    120:                   c : in Standard_Complex_VecVecs.VecVec;
                    121:                   e : in Exponent_Vectors_Array;
                    122:                   j : in Eval_Coeff_Jaco_Mat; m : in Mult_Factors;
                    123:                   mix : in Vector; mic : in Mixed_Cell;
                    124:                   sols,sols_last : in out Solution_List );
                    125:
                    126:   -- DESCRIPTION :
                    127:   --   Polyhedral coefficient-homotopy continuation for one mixed cell.
                    128:
                    129:   -- REQUIRED : polynomials in p must be ordered according to mix.
                    130:
                    131:   -- ON ENTRY :
                    132:   --   file       a file to write intermediate results on;
                    133:   --   p          a lifted Laurent polynomial system;
                    134:   --   lifted     lifted supports, with original order of points;
                    135:   --   h          coefficient homotopy;
                    136:   --   c          coefficients of homotopy;
                    137:   --   e          the exponent vectors of the unlifted system;
                    138:   --   j          coefficient Jacobian matrix;
                    139:   --   m          multiplication factors in coefficient Jacobian matrix;
                    140:   --   mix        type of mixture;
                    141:   --   mic        a mixed cell.
                    142:
                    143:   -- ON RETURN :
                    144:   --   sols       the solution list of p;
                    145:   --   sols_last  pointer to last element of the list sols.
                    146:
                    147: -- THIRD LAYER : polyhedral continuation for a mixed subdivision.
                    148:
                    149:   procedure Mixed_Solve
                    150:                 ( p : in Laur_Sys;
                    151:                   mix : in Vector; mixsub : in Mixed_Subdivision;
                    152:                   sols : in out Solution_List );
                    153:
                    154:   procedure Mixed_Solve
                    155:                 ( file : in file_type; p : in Laur_Sys;
                    156:                   mix : in Vector; mixsub : in Mixed_Subdivision;
                    157:                   sols : in out Solution_List );
                    158:
                    159:   -- DESCRIPTION :
                    160:   --   Polyhedral coefficient-homotopy continuation for a mixed subdivision.
                    161:
                    162:   -- REQUIRED : polynomials in p must be ordered according to mix.
                    163:
                    164:   -- ON ENTRY :
                    165:   --   file       a file to write intermediate results on;
                    166:   --   p          a lifted Laurent polynomial system;
                    167:   --   mix        type of mixture;
                    168:   --   mixsub     a collection of mixed cells.
                    169:
                    170:   -- ON RETURN :
                    171:   --   sols       the solution list of p.
                    172:
                    173:   procedure Mixed_Solve
                    174:                 ( p : in Laur_Sys; lifted : in Array_of_Lists;
                    175:                   h : in Eval_Coeff_Laur_Sys;
                    176:                   c : in Standard_Complex_VecVecs.VecVec;
                    177:                   e : in Exponent_Vectors_Array;
                    178:                   j : in Eval_Coeff_Jaco_Mat; m : in Mult_Factors;
                    179:                   mix : in Vector; mixsub : in Mixed_Subdivision;
                    180:                   sols : in out Solution_List );
                    181:
                    182:   procedure Mixed_Solve
                    183:                 ( file : in file_type;
                    184:                   p : in Laur_Sys; lifted : in Array_of_Lists;
                    185:                   h : in Eval_Coeff_Laur_Sys;
                    186:                   c : in Standard_Complex_VecVecs.VecVec;
                    187:                   e : in Exponent_Vectors_Array;
                    188:                   j : in Eval_Coeff_Jaco_Mat; m : in Mult_Factors;
                    189:                   mix : in Vector; mixsub : in Mixed_Subdivision;
                    190:                   sols : in out Solution_List );
                    191:
                    192:   -- DESCRIPTION :
                    193:   --   Polyhedral coefficient-homotopy continuation for a mixed subdivision.
                    194:
                    195:   -- REQUIRED : polynomials in p must be ordered according to mix.
                    196:
                    197:   -- ON ENTRY :
                    198:   --   file       a file to write intermediate results on;
                    199:   --   p          a lifted Laurent polynomial system;
                    200:   --   lifted     lifted supports, in original order;
                    201:   --   h          coefficient homotopy;
                    202:   --   c          coefficients of homotopy;
                    203:   --   e          the exponent vectors of the unlifted system;
                    204:   --   j          coefficient Jacobian matrix;
                    205:   --   m          multiplication factors in coefficient Jacobian matrix;
                    206:   --   mix        type of mixture;
                    207:   --   mixsub     a collection of mixed cells.
                    208:
                    209:   -- ON RETURN :
                    210:   --   sols       the solution list of p.
                    211:
                    212: end Integer_Polyhedral_Continuation;

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