Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Stalift/integer_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_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>