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