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

Annotation of OpenXM_contrib/PHC/Ada/Continuation/increment_and_fix_continuation.ads, Revision 1.1.1.1

1.1       maekawa     1: with text_io;                            use text_io;
                      2: with Standard_Floating_Numbers;          use Standard_Floating_Numbers;
                      3: with Standard_Complex_Numbers;           use Standard_Complex_Numbers;
                      4: with Standard_Floating_Vectors;
                      5: with Standard_Floating_VecVecs;          use Standard_Floating_VecVecs;
                      6: with Standard_Complex_Vectors;           use Standard_Complex_Vectors;
                      7: with Standard_Complex_Matrices;          use Standard_Complex_Matrices;
                      8: with Standard_Complex_Solutions;         use Standard_Complex_Solutions;
                      9:
                     10: package Increment_and_Fix_Continuation is
                     11:
                     12: -- DESCRIPTION :
                     13: --   This package provides a general implementation of an increment-and-fix
                     14: --   continuation method.  The generic parameters are a norm, an evaluator and
                     15: --   a differentiator of the homotopy.
                     16: --   There are two basic versions: a silent and a reporting one.
                     17: --   The silent continuation simply performs its calculations without output
                     18: --   of intermediate results.  The reporting continuation routine allows to
                     19: --   put various kinds of intermediate results on a file.
                     20: --   It is assumed that the continuation parameters are already determined
                     21: --   before calling these routines (see Continuation_Parameters).
                     22: --   For both the silent and the reporting version, the facility is added
                     23: --   to estimate the directions of the solution paths, useful in a polyhedral
                     24: --   end game.
                     25:
                     26:   generic
                     27:
                     28:     with function Norm ( x : Vector ) return double_float;
                     29:     with function H  ( x : Vector; t : Complex_Number ) return Vector;
                     30:     with function dH ( x : Vector; t : Complex_Number ) return Vector;
                     31:     with function dH ( x : Vector; t : Complex_Number ) return Matrix;
                     32:
                     33:   procedure Silent_Continue
                     34:                ( sols : in out Solution_List; proj : in boolean;
                     35:                  target : in Complex_Number := Create(1.0) );
                     36:
                     37:   generic
                     38:
                     39:     with function Norm ( x : Vector ) return double_float;
                     40:     with function H  ( x : Vector; t : Complex_Number ) return Vector;
                     41:     with function dH ( x : Vector; t : Complex_Number ) return Vector;
                     42:     with function dH ( x : Vector; t : Complex_Number ) return Matrix;
                     43:
                     44:   procedure Reporting_Continue
                     45:                ( file : in file_type; sols : in out Solution_List;
                     46:                  proj : in boolean;
                     47:                  target : in Complex_Number := Create(1.0) );
                     48:
                     49:   -- DESCRIPTION :
                     50:   --   This routine implements the continuation strategy.
                     51:
                     52:   -- ON ENTRY :
                     53:   --   file      to write intermediate results on (if Reporting_);
                     54:   --   sols      the start solutions;
                     55:   --   proj      for projective-perpendicular path following;
                     56:   --   target    value for the continuation parameter at the end.
                     57:
                     58:   -- ON RETURN :
                     59:   --   sols      the computed solutions.
                     60:
                     61: -- WITH THE ESTIMATION OF THE PATH DIRECTIONS :
                     62:
                     63:   generic
                     64:
                     65:     with function Norm ( x : Vector ) return double_float;
                     66:     with function H  ( x : Vector; t : Complex_Number ) return Vector;
                     67:     with function dH ( x : Vector; t : Complex_Number ) return Vector;
                     68:     with function dH ( x : Vector; t : Complex_Number ) return Matrix;
                     69:
                     70:   procedure Silent_Toric_Continue
                     71:                ( sols : in out Solution_List; proj : in boolean;
                     72:                  v : in out VecVec;
                     73:                  errv : in out Standard_Floating_Vectors.Vector;
                     74:                  target : in Complex_Number := Create(1.0) );
                     75:
                     76:   generic
                     77:
                     78:     with function Norm ( x : Vector ) return double_float;
                     79:     with function H  ( x : Vector; t : Complex_Number ) return Vector;
                     80:     with function dH ( x : Vector; t : Complex_Number ) return Vector;
                     81:     with function dH ( x : Vector; t : Complex_Number ) return Matrix;
                     82:
                     83:   procedure Reporting_Toric_Continue
                     84:                ( file : in file_type; sols : in out Solution_List;
                     85:                  proj : in boolean; v : in out VecVec;
                     86:                  errv : in out Standard_Floating_Vectors.Vector;
                     87:                  target : in Complex_Number := Create(1.0) );
                     88:
                     89:   -- DESCRIPTION :
                     90:   --   This routine implements the continuation strategy with the estimation
                     91:   --   of the directions of the solution paths at the end.
                     92:
                     93:   -- ON ENTRY :
                     94:   --   file      to write intermediate results on (if Reporting_);
                     95:   --   sols      the start solutions;
                     96:   --   proj      for projective-perpendicular path following;
                     97:   --   v         v must be initialized with zero vectors
                     98:   --             and v'range is 1..Length_Of(sols);
                     99:   --   errv      errors on the computed directions;
                    100:   --   target    value for the continuation parameter at the end.
                    101:
                    102:   -- ON RETURN :
                    103:   --   sols      the computed solutions;
                    104:   --   v         directions of the solution paths;
                    105:   --   errv      errors on the computed directions.
                    106:
                    107: end Increment_and_Fix_Continuation;

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