[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     ! 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>