with Standard_Complex_Numbers; use Standard_Complex_Numbers; with Standard_Complex_Vectors; use Standard_Complex_Vectors; with Standard_Complex_Polynomials; use Standard_Complex_Polynomials; with Standard_Complex_Poly_Systems; use Standard_Complex_Poly_Systems; package Standard_Complex_Substitutors is -- DESCRIPTION : -- This package contains routines for substituting -- equations into polynomials and polynomial systems. function Substitute ( k : integer; c : Complex_Number; t : Term ) return Term; procedure Substitute ( k : in integer; c : in Complex_Number; t : in out Term ); function Substitute ( k : integer; c : Complex_Number; p : Poly ) return Poly; procedure Substitute ( k : in integer; c : in Complex_Number; p : in out Poly ); function Substitute ( k : integer; c : Complex_Number; p : Poly_Sys ) return Poly_Sys; procedure Substitute ( k : in integer; c : in Complex_Number; p : in out Poly_Sys ); -- DESCRIPTION : -- These routines substitute the kth unknown of the term t or -- polynomial (system) p by a complex constant c. -- ON ENTRY : -- k an unknown in the polynomial p; -- c a complex constant; -- t a term; -- p a polynomial (system). -- ON RETURN : -- t a term where the kth unknonw has been replaced by the -- complex constant c; -- p a polynomial (system) where the kth unknown has been -- replaced by the complex constant c. function Substitute ( k : integer; h : Vector; p : Poly ) return Poly; procedure Substitute ( k : in integer; h : in Vector; p : in out Poly ); -- DESCRIPTION : -- These routines substitute the kth unknown of the polynomial p -- by a linear equation defined by h. -- ON ENTRY : -- k an unknown in the polynomial p; -- h a vector h(0..n), n = Number_of_Unknowns(p), -- defines h(0) + h(1)*x1 + ... + h(n)*xn; -- p a polynomial. -- REQUIRED : h(k) /= 0. -- ON RETURN : -- p a polynomial where the kth unknown has been replaced -- by a linear equation defined by h. function Substitute ( k : integer; s,p : Poly ) return Poly; procedure Substitute ( k : in integer; s : in Poly; p : in out Poly ); -- DESCRIPTION : -- These routines substitute the kth unknown of the polynomial p -- by a polynomial s. -- ON ENTRY : -- k an unknown in the polynomial p; -- s a polynomial so that xk = s; -- p a polynomial. -- ON RETURN : -- p a polynomial where the kth unknown has been replaced -- by the polynomial s. function Substitute ( k : integer; h : Vector; p : Poly_Sys ) return Poly_Sys; procedure Substitute ( k : in integer; h : in Vector; p : in out Poly_Sys ); -- DESCRIPTION : -- These routines substitute the kth unknown of the polynomials in the -- system p by a linear equation defined by h. -- ON ENTRY : -- k an unknown in the polynomials in the system p; -- h a vector h(0..n), n = Number_of_Unknowns(p(i)), -- defines h(0) + h(1)*x1 + ... + h(n)*xn; -- p a polynomial system. -- REQUIRED : h(k) /= 0 -- ON RETURN : -- p a polynomial system where the kth unknown has been replaced -- by a linear equation defined by h. function Substitute ( k : integer; s : Poly; p : Poly_Sys ) return Poly_Sys; procedure Substitute ( k : in integer; s : in Poly; p : in out Poly_Sys ); -- DESCRIPTION : -- These routines substitute the kth unknown of the polynomials in p -- by a polynomial s. -- ON ENTRY : -- k an unknown in the polynomial p; -- s a polynomial so that xk = s; -- p a polynomial. -- ON RETURN : -- p a polynomial system where the kth unknown has been replaced -- by the polynomial s. end Standard_Complex_Substitutors;