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

Annotation of OpenXM_contrib/PHC/Ada/Main/phcpack.ads, Revision 1.1.1.1

1.1       maekawa     1: with text_io;                            use text_io;
                      2: with Standard_Complex_Numbers;           use Standard_Complex_Numbers;
                      3: with Standard_Complex_Poly_Systems;      use Standard_Complex_Poly_Systems;
                      4: with Standard_Complex_Solutions;         use Standard_Complex_Solutions;
                      5:
                      6: package PHCPACK is
                      7:
                      8: -- DESCRIPTION :
                      9: --   PHC is a numerical general-purpose solver for polynomial systems by
                     10: --   homotopy continuation.  This package collects all major features of
                     11: --   the package as organized according to the four stages of the solver.
                     12:
                     13: -- 1. PRE-PROCESSING : SCALING AND REDUCTION
                     14:
                     15:   procedure Equation_Scaling
                     16:                  ( file : in file_type; p : in Poly_Sys; s : out Poly_Sys );
                     17:
                     18:   -- DESCRIPTION : equation scaling by dividing average coefficient.
                     19:
                     20:   -- ON ENTRY :
                     21:   --   file        to write results on, must be opened for output;
                     22:   --   p           a polynomial system.
                     23:
                     24:   -- ON RETURN :
                     25:   --   s           a scaled polynomial system.
                     26:
                     27:   procedure Linear_Reduction
                     28:                  ( file : in file_type; p : in Poly_Sys; r : out Poly_Sys );
                     29:
                     30:   -- DESCRIPTION : linear reduction of the coefficient matrix of p.
                     31:
                     32:   -- ON ENTRY :
                     33:   --   file        to write results on, must be opened for output;
                     34:   --   p           a polynomial system.
                     35:
                     36:   -- ON RETURN :
                     37:   --   r           a polynomial system with reduced coefficient matrix.
                     38:
                     39: -- 2. ROOT COUNTING AND CONSTRUCTION OF START SYSTEM
                     40:
                     41:   procedure Total_Degree
                     42:                  ( file : in file_type; p : in Poly_Sys; d : out natural );
                     43:
                     44:   -- DESCRIPTION : computation of the total degree.
                     45:
                     46:   -- ON ENTRY :
                     47:   --   file        to write results on, must be opened for output;
                     48:   --   p           a polynomial system.
                     49:
                     50:   -- ON RETURN :
                     51:   --   d           total degree of the system p.
                     52:
                     53:   procedure Total_Degree
                     54:                  ( file : in file_type; p : in Poly_Sys; d : out natural;
                     55:                    q : out Poly_Sys; qsols : out Solution_List );
                     56:
                     57:   -- DESCRIPTION : construction of start system based on total degree.
                     58:
                     59:   -- ON ENTRY :
                     60:   --   file        to write results on, must be opened for output;
                     61:   --   p           a polynomial system.
                     62:
                     63:   -- ON RETURN :
                     64:   --   d           total degree of the system p.
                     65:   --   q           start system with same total degree as p;
                     66:   --   qsols       solutions of q.
                     67:
                     68:   procedure Implicit_Lifting
                     69:                  ( file : in file_type; p : in Poly_Sys; mv : out natural );
                     70:
                     71:   -- DESCRIPTION : computation of mixed volume by implicit lifting.
                     72:
                     73:   procedure Implicit_Lifting
                     74:                  ( file : in file_type; p : in Poly_Sys; mv : out natural;
                     75:                    q : out Poly_Sys; qsols : out Solution_List );
                     76:
                     77:   -- DESCRIPTION : construction of start system by implicit polyhedral homotopy.
                     78:
                     79:   procedure Static_Lifting
                     80:                  ( file : in file_type; p : in Poly_Sys; mv : out natural );
                     81:
                     82:   -- DESCRIPTION : computation of mixed volume by static lifting.
                     83:
                     84:   procedure Static_Lifting
                     85:                  ( file : in file_type; p : in Poly_Sys; mv : out natural;
                     86:                    q : out Poly_Sys; qsols : out Solution_List );
                     87:
                     88:   -- DESCRIPTION : construction of start system by static polyhedral homotopy.
                     89:
                     90: -- 3. POLYNOMIAL CONTINUATION
                     91:
                     92:   procedure Artificial_Parameter_Continuation
                     93:                  ( file : in file_type; p,q : in Poly_Sys;
                     94:                    sols : in out Solution_List;
                     95:                    k : in natural := 2;
                     96:                    a : in Complex_Number := Create(1.0);
                     97:                    target : in Complex_Number := Create(1.0) );
                     98:
                     99:   -- DESCRIPTION : continuation with the artificial-parameter homotopy
                    100:   --   h(x,t) = a*(1-t)^k*q(x) + t^k*p(x) = 0, for t going to the target.
                    101:
                    102:   -- ON ENTRY :
                    103:   --   file        to write results on, must be opened for output;
                    104:   --   p           target system;
                    105:   --   q           start system;
                    106:   --   sols        start solutions;
                    107:   --   k           smoothing parameter to simulate small steps;
                    108:   --   a           random complex number to ensure regularity;
                    109:   --   target      target value for continuation parameter.
                    110:
                    111:   -- ON RETURN :
                    112:   --   sols        solutions for t = target.
                    113:
                    114:   procedure Natural_Parameter_Continuation
                    115:                  ( file : in file_type; h : in Poly_Sys; k : in natural;
                    116:                    t0,t1 : in Complex_Number; sols : in out Solution_List );
                    117:
                    118:   -- DESCRIPTION : continuation with a natural-parameter homotopy.
                    119:
                    120: -- 4. POST-PROCESSING : VALIDATION
                    121:
                    122:   procedure Refine_Roots
                    123:                  ( file : in file_type; p : in Poly_Sys;
                    124:                    sols : in out Solution_List );
                    125:
                    126:   -- DESCRIPTION : refines the roots and puts a report on file.
                    127:
                    128:   -- ON ENTRY :
                    129:   --   file        to write results on, must be opened for output;
                    130:   --   p           a polynomial system system;
                    131:   --   sols        approximate solutions.
                    132:
                    133:   -- ON RETURN :
                    134:   --   sols        refined solutions.
                    135:
                    136: end PHCPACK;

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