with Standard_Integer_Matrices; use Standard_Integer_Matrices; with Standard_Complex_Poly_Systems; use Standard_Complex_Poly_Systems; with Standard_Complex_Solutions; use Standard_Complex_Solutions; with Partitions_of_Sets_of_Unknowns; use Partitions_of_Sets_of_Unknowns; package Interpolating_Homotopies is -- DESCRIPTION : -- This package contains facilities for constructing interpolating -- homotopies, based on a given m-homogeneous structure. -- The routines are given in the order in which they should be applied. -- Null polynomials are ignored, making scaled interpolation possible, -- the scaling equation, used for generating the interpolating vectors, -- can be added afterwards. For linear scalers, the last unknown of the -- scaling equation should be ignored in those monomials that have degree -- one in that unknown, to avoid singular interpolation matrices. function Dense_Representation ( p : Poly_Sys; z : partition ) return Poly_Sys; function Dense_Representation ( p : Poly_Sys; z : partition; d : Matrix ) return Poly_Sys; -- DESCRIPTION : -- A dense representation of an m-homogeneous structure is returned. -- The coefficients of the polynomials in the returned system are all one. function Independent_Representation ( p : Poly_Sys ) return Poly_Sys; -- DESCRIPTION : -- An independent representation of a polynomial system is returned. -- This means that the initial term of each polynomial does not occur -- in every other polynomial. function Independent_Roots ( p : Poly_Sys ) return natural; function Independent_Roots ( p : Poly_Sys; i : natural ) return natural; -- DESCRIPTION : -- Returns the number of independent roots the system p can have. -- When the ith unknown is given as parameter, the monomials that -- have degree one in x_i are not counted. -- IMPORTANT NOTE : p must be an independent representation of a polynomial -- system, otherwise the result might not be reliable. function Interpolate ( p : Poly_Sys; b : natural; sols : Solution_List ) return Poly_Sys; function Interpolate ( p : Poly_Sys; i,b : natural; sols : Solution_List ) return Poly_Sys; -- DESCRIPTION : -- This routine constructs a start system q with the same monomial -- structure as the system p. -- ON ENTRY : -- p a polynomial system; -- i monomials with degree one in x_i will be ignored; -- b must equal Independent_Roots(p); -- sols interpolation vectors, Length_Of(sols) = b. -- ON RETURN : -- q system that has the given list sols as solutions. end Interpolating_Homotopies;