with Standard_Complex_Polynomials; use Standard_Complex_Polynomials;
with Standard_Complex_Poly_Systems; use Standard_Complex_Poly_Systems;
with Standard_Complex_Solutions; use Standard_Complex_Solutions;
package Projective_Transformations is
-- DESCRIPTION :
-- This package provides routines for performing a projective
-- transformation on polynomials and polynomial systems, on
-- solutions and on lists of solutions.
function Projective_Transformation ( p : Poly ) return Poly;
function Projective_Transformation ( p : Poly_Sys ) return Poly_Sys;
procedure Projective_Transformation ( p : in out Poly );
procedure Projective_Transformation ( p : in out Poly_Sys );
-- DESCRIPTION :
-- An additional unknown is added so that each term has the same degree.
function Projective_Transformation ( s : Solution ) return Solution;
-- DESCRIPTION :
-- Adds 1 as last component to the solution.
function Projective_Transformation
( sols : Solution_List ) return Solution_List;
procedure Projective_Transformation ( sols : in out Solution_List );
-- DESCRIPTION :
-- An additional component, equal to 1, is added to the solution vector.
function Affine_Transformation ( s : Solution ) return Solution;
procedure Affine_Transformation ( sols : in out Solution_List );
-- DESCRIPTION :
-- All components of the solution vector will be divided by the last
-- component, which is afterwards cut off.
end Projective_Transformations;