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

Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Symmetry/permute_operations.ads, Revision 1.1.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>