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

Annotation of OpenXM_contrib/PHC/Ada/Continuation/continuation_parameters.ads, Revision 1.1

1.1     ! maekawa     1: with Standard_Floating_Numbers;          use Standard_Floating_Numbers;
        !             2: with Continuation_Data;                  use Continuation_Data;
        !             3:
        !             4: package Continuation_Parameters is
        !             5:
        !             6: -- DESCRIPTION :
        !             7: --   This package contains all important parameters and the default values.
        !             8:
        !             9: -- GLOBAL MONITOR :
        !            10:
        !            11:   condition : natural := 0;                                             --  1
        !            12:             -- low = smooth paths, high = difficult path
        !            13:
        !            14:   block_size : natural := 1;                                            --  2
        !            15:             -- number of paths tracked simultaneously:
        !            16:             -- sequential, parallel or a combination of both.
        !            17:
        !            18:   max_steps : natural := 500*(condition+1);                             --  3
        !            19:             -- maximum number of steps along a path
        !            20:
        !            21:   start_end_game : double_float := 0.1;                                 --  4
        !            22:             -- distance from target to start the end game
        !            23:
        !            24:   endext_order : natural := 0;                                          --  5
        !            25:             -- order of extrapolator in polyhedral end game
        !            26:
        !            27:   max_reruns : natural := condition + 1;                                --  6
        !            28:             -- maximum number of re-runs allowed
        !            29:
        !            30: -- STEP CONTROL (PREDICTOR) :
        !            31:
        !            32:   predictor_path_type : natural := 0;                                   --  7
        !            33:   predictor_endg_type : natural := 0;                                   --  8
        !            34:             -- predictor types:
        !            35:             --   0 : secant for x, real for t;
        !            36:             --   1 : secant for x, complex for t;
        !            37:             --   2 : secant for x, geometric for t;
        !            38:             --   3 : tangens for x, real for t;
        !            39:             --   4 : tangens for x, complex for t;
        !            40:             --   5 : tangens for x, geometric for t;
        !            41:             --   6 : Hermite for x, real for t;
        !            42:
        !            43:   min_path_step_size : double_float := 10.0**(-6 - condition/4);        --  9
        !            44:   min_endg_step_size : double_float := 10.0**(-8 - condition/4);        -- 10
        !            45:             -- minimum step size along a path and at end of path
        !            46:
        !            47:   max_path_step_size : double_float := 0.1/(double_float(condition+1)); -- 11
        !            48:   max_endg_step_size : double_float := 0.1/(double_float(condition+2)); -- 12
        !            49:             -- maximum step size along a path and at end of path
        !            50:
        !            51:   reduction_path_factor : double_float := 0.70;                         -- 13
        !            52:   reduction_endg_factor : double_float := 0.50;                         -- 14
        !            53:             -- reduction factor for step size along a path and at end
        !            54:
        !            55:   expansion_path_factor : double_float := 1.25;                         -- 15
        !            56:   expansion_endg_factor : double_float := 1.10;                         -- 16
        !            57:             -- expansion factor for step size
        !            58:
        !            59:   success_path_steps : natural := 1 + 2*condition;                      -- 17
        !            60:   success_endg_steps : natural := 1 + 4*condition;                      -- 18
        !            61:             -- threshold on number of successful steps
        !            62:             -- before expanding step size
        !            63:
        !            64:   power_of_t : positive := 1;   -- power of t in the (polyhedral) homotopy
        !            65:
        !            66: -- PATH CLOSENESS (CORRECTOR) :
        !            67:
        !            68:   max_path_iter : natural := 4;                                         -- 19
        !            69:   max_endg_iter : natural := 4;                                         -- 20
        !            70:             -- maximum number of iterations for one corrector step
        !            71:             -- along the path and at the end of the path
        !            72:
        !            73:   relative_path_residual : double_float := 10.0**(-9 - condition);      -- 21
        !            74:   relative_endg_residual : double_float := 10.0**(-11 - condition);     -- 22
        !            75:   absolute_path_residual : double_float := 10.0**(-9 - condition);      -- 23
        !            76:   absolute_endg_residual : double_float := 10.0**(-11 - condition);     -- 24
        !            77:             -- desired precision for residuals along the path and at end
        !            78:             --  |F(x)| < *_residual, once relative and once absolute
        !            79:
        !            80:   relative_path_correction : double_float := 10.0**(-9 - condition);    -- 25
        !            81:   relative_endg_correction : double_float := 10.0**(-11 - condition);   -- 26
        !            82:   absolute_path_correction : double_float := 10.0**(-9 - condition);    -- 27
        !            83:   absolute_endg_correction : double_float := 10.0**(-11 - condition);   -- 28
        !            84:             -- desired precision for corrections along the path and at end
        !            85:             --  |delta(x)| < *_correction, once relative and once absolute
        !            86:
        !            87: -- SOLUTIONS (TOLERANCES) :
        !            88:
        !            89:   tol_path_inverse_condition : double_float := 10.0**(-4);              -- 29
        !            90:   tol_endg_inverse_condition : double_float := 10.0**(-12);             -- 30
        !            91:             -- tolerance for inverse condition of jacobian to
        !            92:             -- decide whether solution is singular or not
        !            93:
        !            94:   tol_path_distance : double_float := 10.0**(-4);                       -- 31
        !            95:   tol_endg_distance : double_float := 10.0**(-12);                      -- 32
        !            96:             -- tolerance for two solutions x1, x2 to be clustered,
        !            97:             -- when |x1(k) - x2(k)| < tol_*_distance, for all k
        !            98:
        !            99:   tol_path_at_infinity : double_float := 10.0**4;                       -- 33
        !           100:   tol_endg_at_infinity : double_float := 10.0**12;                      -- 34
        !           101:             -- tolerance for a solution x to lie a infinity,
        !           102:             -- when |x(k)| > tol_at_infinity, for a certain k
        !           103:
        !           104: -- TUNING OF THE PARAMETERS :
        !           105:
        !           106:   procedure Tune ( estimate_for_condition : in natural );
        !           107:
        !           108:   -- DESCRIPTION :
        !           109:   --   Given an estimate for the condition of the homotopy, parameters
        !           110:   --   will be set, according to the formulas in the defaults.
        !           111:
        !           112:   procedure Tune_Endgm_Pred ( extrapolation_order : in natural );
        !           113:
        !           114:   -- DESCRIPTION :
        !           115:   --   Determines the settings for the predictor in the end game,
        !           116:   --   depending on the extrapolation order.
        !           117:
        !           118: -- CREATING PARAMETER SETS :
        !           119:
        !           120:   function Create_for_Path return Pred_Pars;
        !           121:   function Create_End_Game return Pred_Pars;
        !           122:   function Create_for_Path return Corr_Pars;
        !           123:   function Create_End_Game return Corr_Pars;
        !           124:
        !           125:   -- DESCRIPTION :
        !           126:   --   Given the values for the parameters, sets of predictor and
        !           127:   --   corrector parameters will be created.
        !           128:
        !           129: end Continuation_Parameters;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>