with Standard_Integer_Vectors; use Standard_Integer_Vectors; with Standard_Complex_Laur_Polys; use Standard_Complex_Laur_Polys; with Standard_Complex_Laur_Systems; use Standard_Complex_Laur_Systems; with Transformations; use Transformations; package Transforming_Laurent_Systems is -- DESCRIPTION : -- This package offers some routines for transforming Laurent polynomials. procedure Shift ( p : in out Poly ); function Shift ( p : Poly ) return Poly; procedure Shift ( l : in out Laur_Sys ); function Shift ( l : Laur_Sys ) return Laur_Sys; -- DESCRIPTION : -- Shifts the support of the polynomial so that the constant term -- belongs to p. -- This Shift does not change the term order in p! procedure Transform ( t : in Transfo; p : in out Poly ); function Transform ( t : Transfo; p : Poly ) return Poly; procedure Transform ( t : in Transfo; l : in out Laur_Sys ); function Transform ( t : Transfo; l : Laur_Sys ) return Laur_Sys; -- DESCRIPTION : Application of the transformation t. function Maximal_Support ( p : Poly; v : Vector ) return integer; function Maximal_Support ( p : Poly; v : Link_to_Vector ) return integer; -- DESCRIPTION : -- Computes the value of the supporting function of the polynomial p, -- for the direction v. procedure Face ( i,m : in integer; p : in out Poly ); function Face ( i,m : integer; p : Poly ) return Poly; procedure Face ( i,m : in integer; l : in out Laur_Sys ); function Face ( i,m : integer; l : Laur_Sys ) return Laur_Sys; -- DESCRIPTION : -- returns only the terms t for which deg(t,xi) = m. procedure Face ( v : in Vector; m : in integer; p : in out Poly ); function Face ( v : Vector; m : integer; p : Poly ) return Poly; procedure Face ( v,m : in Vector; l : in out Laur_Sys ); function Face ( v,m : Vector; l : Laur_Sys ) return Laur_Sys; -- DESCRIPTION : -- Only the terms for which for the degrees d the following holds -- < d , v > = m, are left. procedure Reduce ( i : in integer; p : in out Poly ); function Reduce ( i : integer; p : Poly ) return Poly; procedure Reduce ( i : in integer; l : in out Laur_Sys ); function Reduce ( i : integer; l : Laur_Sys ) return Laur_Sys; -- DESCRIPTION : -- The i-th component out of every monomial will be removed, -- so that the polynomials will have an unknown less. procedure Insert ( i,d : in integer; p : in out Poly ); function Insert ( i,d : integer; p : Poly ) return Poly; procedure Insert ( i,d : in integer; l : in out Laur_Sys ); function Insert ( i,d : integer; l : Laur_Sys ) return Laur_Sys; -- DESCRIPTION : -- The i-th component of each monomial will be inserted, -- using the value d. end Transforming_Laurent_Systems;