phcpack_2.4.88_e448e94a/src/Ada/Main/black_box_square_solvers.ads

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
with Ada.Calendar;
with Standard_Natural_Numbers;           use Standard_Natural_Numbers;
with Standard_Integer_Numbers;           use Standard_Integer_Numbers;
with Standard_Complex_Poly_Systems;
with Standard_Complex_Laur_Systems;
with DoblDobl_Complex_Poly_Systems;
with DoblDobl_Complex_Laur_Systems;
with QuadDobl_Complex_Poly_Systems;
with QuadDobl_Complex_Laur_Systems;

package Black_Box_Square_Solvers is

-- DESCRIPTION :
--   A square system has as many equations as unknowns
--   and are the input to the solve procedures below.

  procedure Solve ( nt : in natural32; infilename,outfilename : in string;
                    start_moment : in Ada.Calendar.Time;
                    p : in Standard_Complex_Poly_Systems.Link_to_Poly_Sys;
                    deflate,append_sols : in boolean;
                    verbose : in integer32 := 0 );
  procedure Solve ( nt : in natural32; infilename,outfilename : in string;
                    start_moment : in Ada.Calendar.Time;
                    p : in DoblDobl_Complex_Poly_Systems.Link_to_Poly_Sys;
                    append_sols : in boolean; verbose : in integer32 := 0 );
  procedure Solve ( nt : in natural32; infilename,outfilename : in string;
                    start_moment : in Ada.Calendar.Time;
                    p : in QuadDobl_Complex_Poly_Systems.Link_to_Poly_Sys;
                    append_sols : in boolean; verbose : in integer32 := 0 );

  -- DESCRIPTION :
  --   A polynomial system with as many equations as unknowns is square.
  --   This procedure solves a square polynomial system p,
  --   using double, double double, or quad double arithmetic.
  --
  -- REQUIRED :
  --   Must be called after the special cases (one single equation
  --   and a linear system) have been dealt with.

  -- ON ENTRY :
  --   nt             the number of tasks, if 0 then no multitasking,
  --                  otherwise nt tasks will be used to track the paths;
  --   infilename     the name of the input file;
  --   outfilename    the name of the output file;
  --   start_moment   clock time when phc was started;
  --   p              polynomial system to be solved.
  --   deflate        if not deflate, then not deflation will be applied;
  --   append_sols    true if solutions need to be appended to input file;
  --   verbose        the verbose level.

  -- ON RETURN :
  --   p              system may be scaled or reduced.

  procedure Solve ( nt : in natural32; infilename,outfilename : in string;
                    start_moment : in Ada.Calendar.Time;
                    p : in Standard_Complex_Laur_Systems.Link_to_Laur_Sys;
                    append_sols : in boolean; verbose : in integer32 := 0 );
  procedure Solve ( nt : in natural32; infilename,outfilename : in string;
                    start_moment : in Ada.Calendar.Time;
                    p : in DoblDobl_Complex_Laur_Systems.Link_to_Laur_Sys;
                    append_sols : in boolean; verbose : in integer32 := 0 );
  procedure Solve ( nt : in natural32; infilename,outfilename : in string;
                    start_moment : in Ada.Calendar.Time;
                    p : in QuadDobl_Complex_Laur_Systems.Link_to_Laur_Sys;
                    append_sols : in boolean; verbose : in integer32 := 0 );

  -- DESCRIPTION :
  --   A polynomial system with as many equations as unknowns is square.
  --   This procedure solves a square Laurent polynomial system p,
  --   with double, double double, or quad double arithmetic.
  --
  -- REQUIRED :
  --   Must be called after the special cases (one single equation
  --   and a linear system) have been dealt with.

  -- ON ENTRY :
  --   nt             the number of tasks, if 0 then no multitasking,
  --                  otherwise nt tasks will be used to track the paths;
  --   infilename     the name of the input file;
  --   outfilename    the name of the output file;
  --   start_moment   clock time when phc was started;
  --   p              polynomial system to be solved.
  --   append_sols    true if solutions need to be appended to input file;
  --   verbose        the verbose level.

  -- ON RETURN :
  --   p              system may be scaled or reduced.

end Black_Box_Square_Solvers;