[BACK]Return to generic_laur_poly_systems.ads CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / PHC / Ada / Math_Lib / Polynomials

File: [local] / OpenXM_contrib / PHC / Ada / Math_Lib / Polynomials / generic_laur_poly_systems.ads (download)

Revision 1.1.1.1 (vendor branch), Sun Oct 29 17:45:26 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 Abstract_Ring;
with Generic_Laurent_Polynomials;

generic

  with package Ring is new Abstract_Ring(<>);
  with package Polynomials is new Generic_Laurent_Polynomials(Ring);

package Generic_Laur_Poly_Systems is 

-- DESCRIPTION :
--   This package provides polynomial systems as an array of polynomials
--   with some arithmetic operations.

  use Ring,Polynomials;

-- DATA STRUCTURES :

  type Laur_Sys is array ( integer range <> ) of Poly;
  type Link_to_Laur_Sys is access Laur_Sys;

-- COPYING :

  procedure Copy ( p : in Laur_Sys; q : in out Laur_Sys );

-- ARITHMETIC OPERATIONS :

  function "+" ( p,q : Laur_Sys ) return Laur_Sys;            -- return p+q
  function "-" ( p,q : Laur_Sys ) return Laur_Sys;            -- return p-q
  function "-" ( p : Laur_Sys ) return Laur_Sys;              -- return -p
  function "*" ( a : number; p : Laur_Sys ) return Laur_Sys;  -- return a*p
  function "*" ( p : Laur_Sys; a : number) return Laur_Sys;   -- return p*a

  procedure Add ( p : in out Laur_Sys; q : in Laur_Sys );     -- p := p+q
  procedure Sub ( p : in out Laur_Sys; q : in Laur_Sys );     -- p := p-q
  procedure Min ( p : in out Laur_Sys );                      -- p := -p
  procedure Mul ( p : in out Laur_Sys; a : in number );       -- p := a*p

-- DIFFERENTIATORS :

  function  Diff ( p : Laur_Sys; i : natural ) return Laur_Sys;
  procedure Diff ( p : in out Laur_Sys; i : in natural );

-- DESTRUCTORS :

  procedure Clear ( p : in out Laur_Sys );
  procedure Clear ( p : in out Link_to_Laur_Sys );

end Generic_Laur_Poly_Systems;