Annotation of OpenXM_contrib/PHC/Ada/Math_Lib/Polynomials/standard_complex_substitutors.ads, Revision 1.1.1.1
1.1 maekawa 1: with Standard_Complex_Numbers; use Standard_Complex_Numbers;
2: with Standard_Complex_Vectors; use Standard_Complex_Vectors;
3: with Standard_Complex_Polynomials; use Standard_Complex_Polynomials;
4: with Standard_Complex_Poly_Systems; use Standard_Complex_Poly_Systems;
5:
6: package Standard_Complex_Substitutors is
7:
8: -- DESCRIPTION :
9: -- This package contains routines for substituting
10: -- equations into polynomials and polynomial systems.
11:
12: function Substitute ( k : integer; c : Complex_Number; t : Term )
13: return Term;
14: procedure Substitute ( k : in integer; c : in Complex_Number;
15: t : in out Term );
16:
17: function Substitute ( k : integer; c : Complex_Number; p : Poly )
18: return Poly;
19: procedure Substitute ( k : in integer; c : in Complex_Number;
20: p : in out Poly );
21:
22: function Substitute ( k : integer; c : Complex_Number; p : Poly_Sys )
23: return Poly_Sys;
24: procedure Substitute ( k : in integer; c : in Complex_Number;
25: p : in out Poly_Sys );
26:
27: -- DESCRIPTION :
28: -- These routines substitute the kth unknown of the term t or
29: -- polynomial (system) p by a complex constant c.
30:
31: -- ON ENTRY :
32: -- k an unknown in the polynomial p;
33: -- c a complex constant;
34: -- t a term;
35: -- p a polynomial (system).
36:
37: -- ON RETURN :
38: -- t a term where the kth unknonw has been replaced by the
39: -- complex constant c;
40: -- p a polynomial (system) where the kth unknown has been
41: -- replaced by the complex constant c.
42:
43: function Substitute ( k : integer; h : Vector; p : Poly ) return Poly;
44: procedure Substitute ( k : in integer; h : in Vector; p : in out Poly );
45:
46: -- DESCRIPTION :
47: -- These routines substitute the kth unknown of the polynomial p
48: -- by a linear equation defined by h.
49:
50: -- ON ENTRY :
51: -- k an unknown in the polynomial p;
52: -- h a vector h(0..n), n = Number_of_Unknowns(p),
53: -- defines h(0) + h(1)*x1 + ... + h(n)*xn;
54: -- p a polynomial.
55:
56: -- REQUIRED : h(k) /= 0.
57:
58: -- ON RETURN :
59: -- p a polynomial where the kth unknown has been replaced
60: -- by a linear equation defined by h.
61:
62: function Substitute ( k : integer; s,p : Poly ) return Poly;
63: procedure Substitute ( k : in integer; s : in Poly; p : in out Poly );
64:
65: -- DESCRIPTION :
66: -- These routines substitute the kth unknown of the polynomial p
67: -- by a polynomial s.
68:
69: -- ON ENTRY :
70: -- k an unknown in the polynomial p;
71: -- s a polynomial so that xk = s;
72: -- p a polynomial.
73:
74: -- ON RETURN :
75: -- p a polynomial where the kth unknown has been replaced
76: -- by the polynomial s.
77:
78: function Substitute ( k : integer; h : Vector; p : Poly_Sys )
79: return Poly_Sys;
80: procedure Substitute ( k : in integer; h : in Vector; p : in out Poly_Sys );
81:
82: -- DESCRIPTION :
83: -- These routines substitute the kth unknown of the polynomials in the
84: -- system p by a linear equation defined by h.
85:
86: -- ON ENTRY :
87: -- k an unknown in the polynomials in the system p;
88: -- h a vector h(0..n), n = Number_of_Unknowns(p(i)),
89: -- defines h(0) + h(1)*x1 + ... + h(n)*xn;
90: -- p a polynomial system.
91:
92: -- REQUIRED : h(k) /= 0
93:
94: -- ON RETURN :
95: -- p a polynomial system where the kth unknown has been replaced
96: -- by a linear equation defined by h.
97:
98: function Substitute ( k : integer; s : Poly; p : Poly_Sys ) return Poly_Sys;
99: procedure Substitute ( k : in integer; s : in Poly; p : in out Poly_Sys );
100:
101: -- DESCRIPTION :
102: -- These routines substitute the kth unknown of the polynomials in p
103: -- by a polynomial s.
104:
105: -- ON ENTRY :
106: -- k an unknown in the polynomial p;
107: -- s a polynomial so that xk = s;
108: -- p a polynomial.
109:
110: -- ON RETURN :
111: -- p a polynomial system where the kth unknown has been replaced
112: -- by the polynomial s.
113:
114: end Standard_Complex_Substitutors;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>