Annotation of OpenXM_contrib/PHC/Ada/Continuation/continuation_data.ads, Revision 1.1.1.1
1.1 maekawa 1: with Standard_Floating_Numbers; use Standard_Floating_Numbers;
2: with Standard_Complex_Solutions; use Standard_Complex_Solutions;
3:
4: package Continuation_Data is
5:
6: -- DESCRIPTION :
7: -- In order to keep the parameters and variables manageble,
8: -- they have been grouped into records.
9:
10: -- DATA STRUCTURES FOR PARAMETERS :
11:
12: type Pred_Pars is record -- contains the parameters for the predictor
13:
14: minstep,maxstep : double_float; -- minimum and maximum step size
15: expfac,redfac : double_float; -- expansion and reduction factor
16: -- for step length control
17: success_steps : natural; -- number of successful steps before expansion
18: predictor_type : natural; -- type of predictor used
19: dist_target : double_float; -- distance to target
20: power : positive; -- power of t in (polyhedral) homotopy
21:
22: end record;
23:
24: type Corr_Pars is record -- contains the parameters for the corrector
25:
26: epsrx,epsax,epsrf,epsaf : double_float;
27: -- desired precisions for x and its residual f(x)
28: -- once relative (r) and once absolute (a)
29:
30: maxit,maxtot : natural; -- maximum number of corrector iterations
31: -- for one step and for the whole path
32: end record;
33:
34: -- DATASTRUCTURES FOR VARIABLES :
35:
36: type Solu_Info is record -- contains information about the solution
37:
38: sol : Link_to_Solution; -- the solution: vector, t and multiplicity
39:
40: corr,cora,resr,resa,rcond : double_float;
41: -- last correction (cor) and residual (res),
42: -- once relative (r) and once absolute (a)
43: -- and estimate for inverse condition of jacobian
44:
45: length_path : double_float; -- length of the path
46:
47: nstep,nfail,niter,nsyst : natural; -- various counters :
48: -- number of steps, failures, corrector
49: -- iterations and number of linear systems solved
50: end record;
51:
52: type Solu_Info_Array is array ( integer range <> ) of Solu_Info;
53:
54: -- CREATERS :
55:
56: function Shallow_Create ( s : Link_to_Solution ) return Solu_Info;
57: function Deep_Create ( s : Solution ) return Solu_Info;
58: function Shallow_Create ( s : Solution_Array ) return Solu_Info_Array;
59: function Deep_Create ( s : Solution_Array ) return Solu_Info_Array;
60: function Shallow_Create ( s : Solution_List ) return Solu_Info_Array;
61: function Deep_Create ( s : Solution_List ) return Solu_Info_Array;
62:
63: function Shallow_Create ( s : Solu_Info ) return Link_to_Solution;
64: function Deep_Create ( s : Solu_Info ) return Solution;
65: function Shallow_Create ( s : Solu_Info_Array ) return Solution_Array;
66: function Deep_Create ( s : Solu_Info_Array ) return Solution_Array;
67: function Shallow_Create ( s : Solu_Info_Array ) return Solution_List;
68: function Deep_Create ( s : Solu_Info_Array ) return Solution_List;
69:
70: -- DESCRIPTION :
71: -- A shallow create copies the pointer to the solution, while
72: -- a deep create allocates memory for a copy of the solution.
73:
74: -- OPERATIONS ON Solu_Info :
75:
76: procedure Copy_Info ( s1 : in Solu_Info; s2 : in out Solu_Info );
77: procedure Copy_Solu ( s1 : in Solu_Info; s2 : in out Solu_Info );
78: procedure Copy ( s1 : in Solu_Info; s2 : in out Solu_Info );
79:
80: -- DESCRIPTION :
81: -- Copies the information, the solution or everything from s1 to s2.
82:
83: procedure Init_Info ( s : in out Solu_Info );
84:
85: -- DESCRIPTION :
86: -- Initializes the information of the solution.
87:
88: procedure Add_Info ( s1 : in out Solu_Info; s2 : in Solu_Info );
89:
90: -- DESCRIPTION :
91: -- Adds the information in the counters of s2 to s1.
92:
93: procedure Update_Info ( s1 : in out Solu_Info; s2 : in Solu_Info );
94:
95: -- DESCRIPTION :
96: -- Adds the information in the counters of s2 to s1 and copies the
97: -- other information from s2 to s1.
98:
99: -- OPERATIONS ON Solu_Info_Array :
100:
101: procedure Copy ( s : in Solu_Info_Array; sa : in out Solution_Array );
102: procedure Copy ( sa : in Solution_Array; s : in out Solu_Info_Array );
103:
104: -- DESCRIPTION : Copies s into sa or vice versa.
105:
106: -- DESTRUCTORS :
107:
108: procedure Clear ( s : in out Solu_Info );
109: procedure Clear ( s : in out Solu_Info_Array );
110:
111: -- DESCRIPTION :
112: -- This is clear is only needed after a deep create.
113:
114: end Continuation_Data;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>