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

File: [local] / OpenXM_contrib / PHC / Ada / Continuation / increment_and_fix_continuation.ads (download)

Revision 1.1.1.1 (vendor branch), Sun Oct 29 17:45:22 2000 UTC (23 years, 6 months ago) by maekawa
Branch: PHC, MAIN
CVS Tags: v2, maekawa-ipv6, RELEASE_1_2_3, RELEASE_1_2_2_KNOPPIX_b, RELEASE_1_2_2_KNOPPIX, RELEASE_1_2_2, RELEASE_1_2_1, HEAD
Changes since 1.1: +0 -0 lines

Import the second public release of PHCpack.

OKed by Jan Verschelde.

with text_io;                            use text_io;
with Standard_Floating_Numbers;          use Standard_Floating_Numbers;
with Standard_Complex_Numbers;           use Standard_Complex_Numbers;
with Standard_Floating_Vectors;
with Standard_Floating_VecVecs;          use Standard_Floating_VecVecs;
with Standard_Complex_Vectors;           use Standard_Complex_Vectors;
with Standard_Complex_Matrices;          use Standard_Complex_Matrices;
with Standard_Complex_Solutions;         use Standard_Complex_Solutions;

package Increment_and_Fix_Continuation is

-- DESCRIPTION :
--   This package provides a general implementation of an increment-and-fix
--   continuation method.  The generic parameters are a norm, an evaluator and
--   a differentiator of the homotopy.
--   There are two basic versions: a silent and a reporting one.
--   The silent continuation simply performs its calculations without output
--   of intermediate results.  The reporting continuation routine allows to
--   put various kinds of intermediate results on a file.
--   It is assumed that the continuation parameters are already determined
--   before calling these routines (see Continuation_Parameters).
--   For both the silent and the reporting version, the facility is added
--   to estimate the directions of the solution paths, useful in a polyhedral
--   end game.

  generic

    with function Norm ( x : Vector ) return double_float;
    with function H  ( x : Vector; t : Complex_Number ) return Vector;
    with function dH ( x : Vector; t : Complex_Number ) return Vector;
    with function dH ( x : Vector; t : Complex_Number ) return Matrix;

  procedure Silent_Continue
               ( sols : in out Solution_List; proj : in boolean;
                 target : in Complex_Number := Create(1.0) );

  generic

    with function Norm ( x : Vector ) return double_float;
    with function H  ( x : Vector; t : Complex_Number ) return Vector;
    with function dH ( x : Vector; t : Complex_Number ) return Vector;
    with function dH ( x : Vector; t : Complex_Number ) return Matrix;

  procedure Reporting_Continue
               ( file : in file_type; sols : in out Solution_List;
                 proj : in boolean;
                 target : in Complex_Number := Create(1.0) );

  -- DESCRIPTION :
  --   This routine implements the continuation strategy.

  -- ON ENTRY :
  --   file      to write intermediate results on (if Reporting_);
  --   sols      the start solutions;
  --   proj      for projective-perpendicular path following;
  --   target    value for the continuation parameter at the end.
 
  -- ON RETURN :
  --   sols      the computed solutions.

-- WITH THE ESTIMATION OF THE PATH DIRECTIONS :

  generic

    with function Norm ( x : Vector ) return double_float;
    with function H  ( x : Vector; t : Complex_Number ) return Vector;
    with function dH ( x : Vector; t : Complex_Number ) return Vector;
    with function dH ( x : Vector; t : Complex_Number ) return Matrix;

  procedure Silent_Toric_Continue
               ( sols : in out Solution_List; proj : in boolean;
                 v : in out VecVec;
                 errv : in out Standard_Floating_Vectors.Vector;
                 target : in Complex_Number := Create(1.0) );

  generic

    with function Norm ( x : Vector ) return double_float;
    with function H  ( x : Vector; t : Complex_Number ) return Vector;
    with function dH ( x : Vector; t : Complex_Number ) return Vector;
    with function dH ( x : Vector; t : Complex_Number ) return Matrix;

  procedure Reporting_Toric_Continue
               ( file : in file_type; sols : in out Solution_List;
                 proj : in boolean; v : in out VecVec;
                 errv : in out Standard_Floating_Vectors.Vector;
                 target : in Complex_Number := Create(1.0) );

  -- DESCRIPTION :
  --   This routine implements the continuation strategy with the estimation
  --   of the directions of the solution paths at the end.

  -- ON ENTRY :
  --   file      to write intermediate results on (if Reporting_);
  --   sols      the start solutions;
  --   proj      for projective-perpendicular path following;
  --   v         v must be initialized with zero vectors
  --             and v'range is 1..Length_Of(sols);
  --   errv      errors on the computed directions;
  --   target    value for the continuation parameter at the end.

  -- ON RETURN :
  --   sols      the computed solutions;
  --   v         directions of the solution paths;
  --   errv      errors on the computed directions.

end Increment_and_Fix_Continuation;