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, 9 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;