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

File: [local] / OpenXM_contrib / PHC / Ada / Root_Counts / Symmetry / permute_operations.ads (download)

Revision 1.1.1.1 (vendor branch), Sun Oct 29 17:45:31 2000 UTC (23 years, 8 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_Floating_Numbers;          use Standard_Floating_Numbers;
with Standard_Natural_Vectors;
with Standard_Integer_Vectors;
with Standard_Floating_Vectors;
with Standard_Complex_Vectors;
with Standard_Complex_Polynomials;
with Standard_Complex_Laur_Polys;
with Standard_Complex_Poly_Systems;      use Standard_Complex_Poly_Systems;
with Standard_Complex_Laur_Systems;      use Standard_Complex_Laur_Systems;
with Permutations;                       use Permutations;

package Permute_Operations is

-- DESCRIPTION :
--   This package provides permute operations on vectors,
--   on polynomials and on systems of polynomials.

  function "*" ( p : Permutation; v : Standard_Natural_Vectors.Vector )
	       return Standard_Natural_Vectors.Vector;

  function "*" ( p : Permutation; v : Standard_Integer_Vectors.Vector )
	       return Standard_Integer_Vectors.Vector;

  function "*" ( p : Permutation; v : Standard_Floating_Vectors.Vector )
	       return Standard_Floating_Vectors.Vector;

  function "*" ( p : Permutation; v : Standard_Complex_Vectors.Vector )
	       return Standard_Complex_Vectors.Vector;

  -- DESCRIPTION :
  --   returns the result of the permutation of p on the vector v.
  -- REQUIRED :
  --   p'range = v'range

  function Permutable ( v1,v2 : Standard_Natural_Vectors.Vector )
                      return boolean;
  function Permutable ( v1,v2 : Standard_Integer_Vectors.Vector )
                      return boolean;
  function Permutable ( v1,v2 : Standard_Floating_Vectors.Vector )
                      return boolean;
  function Permutable ( v1,v2 : Standard_Complex_Vectors.Vector )
                      return boolean;
  function Permutable ( v1,v2 : Standard_Floating_Vectors.Vector;
                        tol : double_float ) return boolean;
  function Permutable ( v1,v2 : Standard_Complex_Vectors.Vector;
                        tol : double_float ) return boolean;

  -- DESCRIPTION :
  --   Returns true if there exists a permutation between the two vectors.
  --   If provided, tol is the tolerance for comparing two numeric values.

  function Sign_Permutable ( v1,v2 : Standard_Natural_Vectors.Vector )
                           return boolean;
  function Sign_Permutable ( v1,v2 : Standard_Integer_Vectors.Vector )
                           return boolean;
  function Sign_Permutable ( v1,v2 : Standard_Floating_Vectors.Vector )
                           return boolean;
  function Sign_Permutable ( v1,v2 : Standard_Complex_Vectors.Vector )
                           return boolean;
  function Sign_Permutable ( v1,v2 : Standard_Floating_Vectors.Vector;
                             tol : double_float ) return boolean;
  function Sign_Permutable ( v1,v2 : Standard_Complex_Vectors.Vector; 
                             tol : double_float ) return boolean;

  -- DESCRIPTION :
  --   Also permutations where the sign of one of the components can
  --   be changed, are checked.

  function "*" ( p : Permutation; t : Standard_Complex_Polynomials.Term )
	       return Standard_Complex_Polynomials.Term;

  function "*" ( p : Permutation; s : Standard_Complex_Polynomials.Poly )
	       return Standard_Complex_Polynomials.Poly;

  function "*" ( p : Permutation; t : Standard_Complex_Laur_Polys.Term )
	       return Standard_Complex_Laur_Polys.Term;

  function "*" ( p : Permutation; s : Standard_Complex_Laur_Polys.Poly )
               return Standard_Complex_Laur_Polys.Poly;

  -- DESCRIPTION :
  --   permutes the unknowns in the term t or the polynonomial s,
  --   according to the permuation p.

  function "*" ( s : Poly_Sys; p : Permutation ) return Poly_Sys;
  function "*" ( s : Laur_Sys; p : Permutation ) return Laur_Sys;

  function "*" ( p : Permutation; s : Poly_Sys ) return Poly_Sys;
  function "*" ( p : Permutation; s : Laur_Sys ) return Laur_Sys;

  -- DESCRIPTION :
  --   s*p permutes the unknowns in the individual polynomials.
  --   p*s permutes the equations in the system.
  --   Watch out for sharing by this second type of operation!

end Permute_Operations;