Annotation of OpenXM_contrib/PHC/Ada/Continuation/increment_and_fix_continuation.ads, Revision 1.1.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>