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>