Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Symmetry/permute_operations.ads, Revision 1.1
1.1 ! maekawa 1: with Standard_Floating_Numbers; use Standard_Floating_Numbers;
! 2: with Standard_Natural_Vectors;
! 3: with Standard_Integer_Vectors;
! 4: with Standard_Floating_Vectors;
! 5: with Standard_Complex_Vectors;
! 6: with Standard_Complex_Polynomials;
! 7: with Standard_Complex_Laur_Polys;
! 8: with Standard_Complex_Poly_Systems; use Standard_Complex_Poly_Systems;
! 9: with Standard_Complex_Laur_Systems; use Standard_Complex_Laur_Systems;
! 10: with Permutations; use Permutations;
! 11:
! 12: package Permute_Operations is
! 13:
! 14: -- DESCRIPTION :
! 15: -- This package provides permute operations on vectors,
! 16: -- on polynomials and on systems of polynomials.
! 17:
! 18: function "*" ( p : Permutation; v : Standard_Natural_Vectors.Vector )
! 19: return Standard_Natural_Vectors.Vector;
! 20:
! 21: function "*" ( p : Permutation; v : Standard_Integer_Vectors.Vector )
! 22: return Standard_Integer_Vectors.Vector;
! 23:
! 24: function "*" ( p : Permutation; v : Standard_Floating_Vectors.Vector )
! 25: return Standard_Floating_Vectors.Vector;
! 26:
! 27: function "*" ( p : Permutation; v : Standard_Complex_Vectors.Vector )
! 28: return Standard_Complex_Vectors.Vector;
! 29:
! 30: -- DESCRIPTION :
! 31: -- returns the result of the permutation of p on the vector v.
! 32: -- REQUIRED :
! 33: -- p'range = v'range
! 34:
! 35: function Permutable ( v1,v2 : Standard_Natural_Vectors.Vector )
! 36: return boolean;
! 37: function Permutable ( v1,v2 : Standard_Integer_Vectors.Vector )
! 38: return boolean;
! 39: function Permutable ( v1,v2 : Standard_Floating_Vectors.Vector )
! 40: return boolean;
! 41: function Permutable ( v1,v2 : Standard_Complex_Vectors.Vector )
! 42: return boolean;
! 43: function Permutable ( v1,v2 : Standard_Floating_Vectors.Vector;
! 44: tol : double_float ) return boolean;
! 45: function Permutable ( v1,v2 : Standard_Complex_Vectors.Vector;
! 46: tol : double_float ) return boolean;
! 47:
! 48: -- DESCRIPTION :
! 49: -- Returns true if there exists a permutation between the two vectors.
! 50: -- If provided, tol is the tolerance for comparing two numeric values.
! 51:
! 52: function Sign_Permutable ( v1,v2 : Standard_Natural_Vectors.Vector )
! 53: return boolean;
! 54: function Sign_Permutable ( v1,v2 : Standard_Integer_Vectors.Vector )
! 55: return boolean;
! 56: function Sign_Permutable ( v1,v2 : Standard_Floating_Vectors.Vector )
! 57: return boolean;
! 58: function Sign_Permutable ( v1,v2 : Standard_Complex_Vectors.Vector )
! 59: return boolean;
! 60: function Sign_Permutable ( v1,v2 : Standard_Floating_Vectors.Vector;
! 61: tol : double_float ) return boolean;
! 62: function Sign_Permutable ( v1,v2 : Standard_Complex_Vectors.Vector;
! 63: tol : double_float ) return boolean;
! 64:
! 65: -- DESCRIPTION :
! 66: -- Also permutations where the sign of one of the components can
! 67: -- be changed, are checked.
! 68:
! 69: function "*" ( p : Permutation; t : Standard_Complex_Polynomials.Term )
! 70: return Standard_Complex_Polynomials.Term;
! 71:
! 72: function "*" ( p : Permutation; s : Standard_Complex_Polynomials.Poly )
! 73: return Standard_Complex_Polynomials.Poly;
! 74:
! 75: function "*" ( p : Permutation; t : Standard_Complex_Laur_Polys.Term )
! 76: return Standard_Complex_Laur_Polys.Term;
! 77:
! 78: function "*" ( p : Permutation; s : Standard_Complex_Laur_Polys.Poly )
! 79: return Standard_Complex_Laur_Polys.Poly;
! 80:
! 81: -- DESCRIPTION :
! 82: -- permutes the unknowns in the term t or the polynonomial s,
! 83: -- according to the permuation p.
! 84:
! 85: function "*" ( s : Poly_Sys; p : Permutation ) return Poly_Sys;
! 86: function "*" ( s : Laur_Sys; p : Permutation ) return Laur_Sys;
! 87:
! 88: function "*" ( p : Permutation; s : Poly_Sys ) return Poly_Sys;
! 89: function "*" ( p : Permutation; s : Laur_Sys ) return Laur_Sys;
! 90:
! 91: -- DESCRIPTION :
! 92: -- s*p permutes the unknowns in the individual polynomials.
! 93: -- p*s permutes the equations in the system.
! 94: -- Watch out for sharing by this second type of operation!
! 95:
! 96: end Permute_Operations;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>