Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Stalift/floating_polyhedral_continuation.ads, Revision 1.1
1.1 ! maekawa 1: with text_io; use text_io;
! 2: with Standard_Integer_Vectors;
! 3: with Standard_Floating_Vectors;
! 4: with Standard_Complex_VecVecs;
! 5: with Standard_Complex_Laur_Systems; use Standard_Complex_Laur_Systems;
! 6: with Standard_Complex_Laur_SysFun; use Standard_Complex_Laur_SysFun;
! 7: with Standard_Complex_Laur_Jacomats; use Standard_Complex_Laur_Jacomats;
! 8: with Exponent_Vectors; use Exponent_Vectors;
! 9: with Arrays_of_Floating_Vector_Lists; use Arrays_of_Floating_Vector_Lists;
! 10: with Standard_Complex_Solutions; use Standard_Complex_Solutions;
! 11: with Floating_Mixed_Subdivisions; use Floating_Mixed_Subdivisions;
! 12:
! 13: package Floating_Polyhedral_Continuation is
! 14:
! 15: -- DESCRIPTION :
! 16: -- This package implements polyhedral homotopy continuation methods,
! 17: -- based on mixed subdivision induced by floating-point lifting.
! 18: -- The continuation is organized in three layers:
! 19: -- 1. inner normal, tracking of paths for one poly
! 20: -- 2. mixed cell, recursion is needed when the cell is not fine;
! 21: -- 3. mixed subdivision, for all cells in the subdivision.
! 22: -- Each layer has two versions: a silent and a reporting version.
! 23:
! 24: -- FIRST LAYER : polyhedral continuation for one transformation.
! 25:
! 26: procedure Mixed_Continuation
! 27: ( mix : in Standard_Integer_Vectors.Vector;
! 28: lifted : in Array_of_Lists; h : in Eval_Coeff_Laur_Sys;
! 29: c : in Standard_Complex_VecVecs.VecVec;
! 30: e : in Exponent_Vectors_Array;
! 31: j : in Eval_Coeff_Jaco_Mat; m : in Mult_Factors;
! 32: normal : in Standard_Floating_Vectors.Vector;
! 33: sols : in out Solution_List );
! 34:
! 35: procedure Mixed_Continuation
! 36: ( file : in file_type;
! 37: mix : in Standard_Integer_Vectors.Vector;
! 38: lifted : in Array_of_Lists; h : in Eval_Coeff_Laur_Sys;
! 39: c : in Standard_Complex_VecVecs.VecVec;
! 40: e : in Exponent_Vectors_Array;
! 41: j : in Eval_Coeff_Jaco_Mat; m : in Mult_Factors;
! 42: normal : in Standard_Floating_Vectors.Vector;
! 43: sols : in out Solution_List );
! 44:
! 45: -- DESCRIPTION : polyhedral continuation with coefficient homotopy.
! 46:
! 47: -- ON ENTRY :
! 48: -- file file to write intermediate results on;
! 49: -- mix type of mixture;
! 50: -- lifted lifted supports of polynomial system, in original order;
! 51: -- h coefficient homotopy;
! 52: -- c coefficients of homotopy;
! 53: -- e the exponent vectors of the unlifted system;
! 54: -- j coefficient Jacobian matrix;
! 55: -- m multiplication factors in coefficient Jacobian matrix;
! 56: -- normal normal to a mixed cell;
! 57: -- sols start solutions of the subsystem which corresponds
! 58: -- with the mixed cell with given inner normal.
! 59:
! 60: -- ON RETURN :
! 61: -- sols the solutions of p, which correspond to one mixed cell.
! 62:
! 63: -- SECOND LAYER : polyhedral continuaton for one mixed cell.
! 64:
! 65: procedure Mixed_Solve
! 66: ( p : in Laur_Sys; lifted : in Array_of_Lists;
! 67: h : in Eval_Coeff_Laur_Sys;
! 68: c : in Standard_Complex_VecVecs.VecVec;
! 69: e : in Exponent_Vectors_Array;
! 70: j : in Eval_Coeff_Jaco_Mat; m : in Mult_Factors;
! 71: mix : in Standard_Integer_Vectors.Vector;
! 72: mic : in Mixed_Cell;
! 73: sols,sols_last : in out Solution_List );
! 74:
! 75: procedure Mixed_Solve
! 76: ( file : in file_type;
! 77: p : in Laur_Sys; lifted : in Array_of_Lists;
! 78: h : in Eval_Coeff_Laur_Sys;
! 79: c : in Standard_Complex_VecVecs.VecVec;
! 80: e : in Exponent_Vectors_Array;
! 81: j : in Eval_Coeff_Jaco_Mat; m : in Mult_Factors;
! 82: mix : in Standard_Integer_Vectors.Vector;
! 83: mic : in Mixed_Cell;
! 84: sols,sols_last : in out Solution_List );
! 85:
! 86: -- DESCRIPTION :
! 87: -- Polyhedral coefficient-homotopy continuation for one mixed cell.
! 88:
! 89: -- REQUIRED : polynomials in p must be ordered according to mix.
! 90:
! 91: -- ON ENTRY :
! 92: -- file a file to write intermediate results on;
! 93: -- p non-lifted Laurent polynomial system;
! 94: -- lifted lifted supports, with original order of points;
! 95: -- h coefficient homotopy;
! 96: -- c coefficients of homotopy;
! 97: -- e the exponent vectors of the unlifted system;
! 98: -- j coefficient Jacobian matrix;
! 99: -- m multiplication factors in coefficient Jacobian matrix;
! 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: -- THIRD LAYER : polyhedral continuation for a mixed subdivision.
! 108:
! 109: procedure Mixed_Solve
! 110: ( p : in Laur_Sys; lifted : in Array_of_Lists;
! 111: h : in Eval_Coeff_Laur_Sys;
! 112: c : in Standard_Complex_VecVecs.VecVec;
! 113: e : in Exponent_Vectors_Array;
! 114: j : in Eval_Coeff_Jaco_Mat; m : in Mult_Factors;
! 115: mix : in Standard_Integer_Vectors.Vector;
! 116: mixsub : in Mixed_Subdivision;
! 117: sols : in out Solution_List );
! 118:
! 119: procedure Mixed_Solve
! 120: ( file : in file_type;
! 121: p : in Laur_Sys; lifted : in Array_of_Lists;
! 122: h : in Eval_Coeff_Laur_Sys;
! 123: c : in Standard_Complex_VecVecs.VecVec;
! 124: e : in Exponent_Vectors_Array;
! 125: j : in Eval_Coeff_Jaco_Mat; m : in Mult_Factors;
! 126: mix : in Standard_Integer_Vectors.Vector;
! 127: mixsub : in Mixed_Subdivision;
! 128: sols : in out Solution_List );
! 129:
! 130: -- DESCRIPTION :
! 131: -- Polyhedral coefficient-homotopy continuation for a mixed subdivision.
! 132:
! 133: -- REQUIRED : polynomials in p must be ordered according to mix.
! 134:
! 135: -- ON ENTRY :
! 136: -- file a file to write intermediate results on;
! 137: -- p non-lifted Laurent polynomial system;
! 138: -- lifted lifted supports, in original order;
! 139: -- h coefficient homotopy;
! 140: -- c coefficients of homotopy;
! 141: -- e the exponent vectors of the unlifted system;
! 142: -- j coefficient Jacobian matrix;
! 143: -- m multiplication factors in coefficient Jacobian matrix;
! 144: -- mix type of mixture;
! 145: -- mixsub a collection of mixed cells.
! 146:
! 147: -- ON RETURN :
! 148: -- sols the solution list of p.
! 149:
! 150: end Floating_Polyhedral_Continuation;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>