[BACK]Return to continuation_data.ads CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / PHC / Ada / Continuation

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>