[BACK]Return to transforming_laurent_systems.ads CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / PHC / Ada / Root_Counts / Implift

File: [local] / OpenXM_contrib / PHC / Ada / Root_Counts / Implift / transforming_laurent_systems.ads (download)

Revision 1.1.1.1 (vendor branch), Sun Oct 29 17:45:29 2000 UTC (23 years, 7 months ago) by maekawa
Branch: PHC, MAIN
CVS Tags: v2, maekawa-ipv6, RELEASE_1_2_3, RELEASE_1_2_2_KNOPPIX_b, RELEASE_1_2_2_KNOPPIX, RELEASE_1_2_2, RELEASE_1_2_1, HEAD
Changes since 1.1: +0 -0 lines

Import the second public release of PHCpack.

OKed by Jan Verschelde.

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;