with Lists_of_Integer_Vectors; use Lists_of_Integer_Vectors; with Arrays_of_Integer_Vector_Lists; use Arrays_of_Integer_Vector_Lists; with Standard_Complex_Polynomials; use Standard_Complex_Polynomials; with Standard_Complex_Laur_Polys; use Standard_Complex_Laur_Polys; with Standard_Complex_Poly_Systems; use Standard_Complex_Poly_Systems; with Standard_Complex_Laur_Systems; use Standard_Complex_Laur_Systems; package Power_Lists is -- DESCRIPTION : -- This package provides routines to manipulate the supports of polynomials. function Create ( p : Standard_Complex_Polynomials.Poly ) return List; function Create ( p : Standard_Complex_Laur_Polys.Poly ) return List; -- DESCRIPTION : Returns the support of p. function Select_Terms ( p : Standard_Complex_Polynomials.Poly; l : List ) return Standard_Complex_Polynomials.Poly; function Select_Terms ( p : Standard_Complex_Laur_Polys.Poly; l : List ) return Standard_Complex_Laur_Polys.Poly; -- DESCRIPTION : -- Returns those terms in p whose vector of powers occurs in the list l. function Create ( p : Poly_Sys ) return Array_of_Lists; function Create ( p : Laur_Sys ) return Array_of_Lists; -- DESCRIPTION : -- Returns the supports of the polynomial system. function Select_Terms ( p : Poly_Sys; al : Array_of_Lists ) return Poly_Sys; function Select_Terms ( p : Laur_Sys; al : Array_of_Lists ) return Laur_Sys; -- DESCRIPTION : -- Returns those terms in each polynomial p(i) whose vector of powers -- occurs in the list al(i), for i in p'range = al'range. end Power_Lists;