[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

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>