[BACK]Return to reduction_of_polynomial_systems.ads CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / PHC / Ada / Homotopy

File: [local] / OpenXM_contrib / PHC / Ada / Homotopy / reduction_of_polynomial_systems.ads (download)

Revision 1.1.1.1 (vendor branch), Sun Oct 29 17:45:23 2000 UTC (23 years, 6 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_Complex_Vectors;           use Standard_Complex_Vectors;
with Standard_Complex_Poly_Systems;      use Standard_Complex_Poly_Systems;

package Reduction_of_Polynomial_Systems is

-- DESCRIPTION :
--   Linear and nonlinear reduction to reduce the total degree.

  function Total_Degree ( p : Poly_Sys ) return natural;

  -- DESCRIPTION :
  --   Returns the total degree of the polynomial system,
  --   i.e. the product of the degrees of the polynomials.
 
  procedure Reduce ( p : in out Poly_Sys;
                     diagonal,inconsistent,infinite : in out boolean );

  -- DESCRIPTION :
  --   This procedure tries to lower the total degree of p by means
  --   of linear reduction.

  -- ON ENTRY : 
  --   p             a polynomial system.

  -- ON RETURN :
  --   p             a polynomial system with a possible lower total degree;
  --   diagonal      true if all leading terms in p are different;
  --   inconsistent  is true if the reduced system has equations `4=0';
  --   infinite      is true if some equations of the original system
  --                 disappeared during the reduction process.

  procedure Sparse_Reduce ( p : in out Poly_Sys;
                            inconsistent,infinite : in out boolean );

  -- DESCRIPTION :
  --   This procedure makes the coefficient matrix of p as sparse as
  --   possible.

  procedure Reduce ( p : in Poly_Sys; res : in out Poly_Sys;
                     cnt_eq : in out natural; max_eq : in natural;
                     cnt_sp : in out natural; max_sp : in natural;
                     cnt_rp : in out natural; max_rp : in natural );

  -- DESCRIPTION : 
  --   This procedure tries to lower the total degree of the system p
  --   by means of nonlinear reduction. 

  -- REQUIRED : the counters must equal 0, on entry.

  -- ON ENTRY :
  --   p              a polynomial system;
  --   cnt_eq         counts the number of equal degree substitutions;
  --   max_eq         limit on the number of equal degree substitutions;
  --   cnt_sp         counts the number of S-polynomial computations;
  --   max_sp         limit on the number of S-polynomial computations.
  --   cnt_rp         counts the number of R-polynomial computations;
  --   max_rp         limit on the number of R-polynomial computations.

  -- ON RETURN :
  --   res            the reduced system;
  --   cnt_eq         the number of equal degree substitutions;
  --   cnt_sp         the number of computed S-polynomials;
  --   cnt_rp         the number of computed R-polynomials.

  procedure Sparse_Reduce ( p : in Poly_Sys; res : in out Poly_Sys;
                            cnt_eq : in out natural; max_eq : in natural );

  -- DESCRIPTION :
  --   the polynomial system is reduced by computing S-polynomials.
  --   After each replacement, the coefficient matrix is made as sparse
  --   as possible.

end Reduction_of_Polynomial_Systems;