Annotation of OpenXM_contrib/PHC/Ada/Continuation/increment_and_fix_continuation.ads, Revision 1.1
1.1 ! maekawa 1: with text_io; use text_io;
! 2: with Standard_Floating_Numbers; use Standard_Floating_Numbers;
! 3: with Standard_Complex_Numbers; use Standard_Complex_Numbers;
! 4: with Standard_Floating_Vectors;
! 5: with Standard_Floating_VecVecs; use Standard_Floating_VecVecs;
! 6: with Standard_Complex_Vectors; use Standard_Complex_Vectors;
! 7: with Standard_Complex_Matrices; use Standard_Complex_Matrices;
! 8: with Standard_Complex_Solutions; use Standard_Complex_Solutions;
! 9:
! 10: package Increment_and_Fix_Continuation is
! 11:
! 12: -- DESCRIPTION :
! 13: -- This package provides a general implementation of an increment-and-fix
! 14: -- continuation method. The generic parameters are a norm, an evaluator and
! 15: -- a differentiator of the homotopy.
! 16: -- There are two basic versions: a silent and a reporting one.
! 17: -- The silent continuation simply performs its calculations without output
! 18: -- of intermediate results. The reporting continuation routine allows to
! 19: -- put various kinds of intermediate results on a file.
! 20: -- It is assumed that the continuation parameters are already determined
! 21: -- before calling these routines (see Continuation_Parameters).
! 22: -- For both the silent and the reporting version, the facility is added
! 23: -- to estimate the directions of the solution paths, useful in a polyhedral
! 24: -- end game.
! 25:
! 26: generic
! 27:
! 28: with function Norm ( x : Vector ) return double_float;
! 29: with function H ( x : Vector; t : Complex_Number ) return Vector;
! 30: with function dH ( x : Vector; t : Complex_Number ) return Vector;
! 31: with function dH ( x : Vector; t : Complex_Number ) return Matrix;
! 32:
! 33: procedure Silent_Continue
! 34: ( sols : in out Solution_List; proj : in boolean;
! 35: target : in Complex_Number := Create(1.0) );
! 36:
! 37: generic
! 38:
! 39: with function Norm ( x : Vector ) return double_float;
! 40: with function H ( x : Vector; t : Complex_Number ) return Vector;
! 41: with function dH ( x : Vector; t : Complex_Number ) return Vector;
! 42: with function dH ( x : Vector; t : Complex_Number ) return Matrix;
! 43:
! 44: procedure Reporting_Continue
! 45: ( file : in file_type; sols : in out Solution_List;
! 46: proj : in boolean;
! 47: target : in Complex_Number := Create(1.0) );
! 48:
! 49: -- DESCRIPTION :
! 50: -- This routine implements the continuation strategy.
! 51:
! 52: -- ON ENTRY :
! 53: -- file to write intermediate results on (if Reporting_);
! 54: -- sols the start solutions;
! 55: -- proj for projective-perpendicular path following;
! 56: -- target value for the continuation parameter at the end.
! 57:
! 58: -- ON RETURN :
! 59: -- sols the computed solutions.
! 60:
! 61: -- WITH THE ESTIMATION OF THE PATH DIRECTIONS :
! 62:
! 63: generic
! 64:
! 65: with function Norm ( x : Vector ) return double_float;
! 66: with function H ( x : Vector; t : Complex_Number ) return Vector;
! 67: with function dH ( x : Vector; t : Complex_Number ) return Vector;
! 68: with function dH ( x : Vector; t : Complex_Number ) return Matrix;
! 69:
! 70: procedure Silent_Toric_Continue
! 71: ( sols : in out Solution_List; proj : in boolean;
! 72: v : in out VecVec;
! 73: errv : in out Standard_Floating_Vectors.Vector;
! 74: target : in Complex_Number := Create(1.0) );
! 75:
! 76: generic
! 77:
! 78: with function Norm ( x : Vector ) return double_float;
! 79: with function H ( x : Vector; t : Complex_Number ) return Vector;
! 80: with function dH ( x : Vector; t : Complex_Number ) return Vector;
! 81: with function dH ( x : Vector; t : Complex_Number ) return Matrix;
! 82:
! 83: procedure Reporting_Toric_Continue
! 84: ( file : in file_type; sols : in out Solution_List;
! 85: proj : in boolean; v : in out VecVec;
! 86: errv : in out Standard_Floating_Vectors.Vector;
! 87: target : in Complex_Number := Create(1.0) );
! 88:
! 89: -- DESCRIPTION :
! 90: -- This routine implements the continuation strategy with the estimation
! 91: -- of the directions of the solution paths at the end.
! 92:
! 93: -- ON ENTRY :
! 94: -- file to write intermediate results on (if Reporting_);
! 95: -- sols the start solutions;
! 96: -- proj for projective-perpendicular path following;
! 97: -- v v must be initialized with zero vectors
! 98: -- and v'range is 1..Length_Of(sols);
! 99: -- errv errors on the computed directions;
! 100: -- target value for the continuation parameter at the end.
! 101:
! 102: -- ON RETURN :
! 103: -- sols the computed solutions;
! 104: -- v directions of the solution paths;
! 105: -- errv errors on the computed directions.
! 106:
! 107: end Increment_and_Fix_Continuation;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>