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

Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Symmetry/symmetric_lifting_functions.ads, Revision 1.1.1.1

1.1       maekawa     1: with Standard_Floating_Numbers;          use Standard_Floating_Numbers;
                      2: with Standard_Integer_Vectors;
                      3: with Standard_Floating_Vectors;
                      4: with Arrays_of_Integer_Vector_Lists;
                      5: with Arrays_of_Floating_Vector_Lists;
                      6: with Symmetry_Group;                     use Symmetry_Group;
                      7:
                      8: package Symmetric_Lifting_Functions is
                      9:
                     10: -- DESCRIPTION :
                     11: --   This package provides symmetric lifting functions.
                     12:
                     13:   procedure Classify_Orbits
                     14:                ( supports : in Arrays_of_Integer_Vector_Lists.Array_of_Lists;
                     15:                  mix : in Standard_Integer_Vectors.Vector;
                     16:                  v,w : in List_of_Permutations; norb : out natural;
                     17:                  orbits : out Arrays_of_Integer_Vector_Lists.Array_of_Lists );
                     18:
                     19:   -- DESCRIPTION :
                     20:   --   This procedure provides a symmetric lifting for the given supports,
                     21:   --   w.r.t. the symmetry group, represented by the lists of permutations
                     22:   --   v and w.
                     23:
                     24:   -- ON ENTRY :
                     25:   --   supports  supports of a polynomial system;
                     26:   --   mix       type of mixture;
                     27:   --   v,w       linear representations of the group actions:
                     28:   --               wk P(x) = P(vk x).
                     29:
                     30:   -- ON RETURN :
                     31:   --   norb      the number of different orbits;
                     32:   --   orbits    the lifted supports, w.r.t. the symmetry group,
                     33:   --             as lifting value the orbit number has been used.
                     34:
                     35:   procedure Float_Lift_Orbits
                     36:                ( orbits : in out Arrays_of_Floating_Vector_Lists.Array_of_Lists;
                     37:                  lifting : in Standard_Floating_Vectors.Vector );
                     38:
                     39:   -- DESCRIPTION :
                     40:   --   Given supports with classified orbits, each orbit will receive
                     41:   --   the corresponding lifting value in the vector lifting.
                     42:
                     43:   -- REQUIRED :
                     44:   --   lifting has range 1..#orbits
                     45:
                     46:   procedure Integer_Lift_Orbits
                     47:                ( orbits : in out Arrays_of_Integer_Vector_Lists.Array_of_Lists;
                     48:                  lifting : in Standard_Integer_Vectors.Vector );
                     49:
                     50:   -- DESCRIPTION :
                     51:   --   Given supports with classified orbits, each orbit will receive
                     52:   --   the corresponding lifting value in the vector lifting.
                     53:
                     54:   -- REQUIRED :
                     55:   --   lifting has range 1..#orbits
                     56:
                     57:   procedure Float_Random_Lift_Orbits
                     58:                ( orbits : in out Arrays_of_Floating_Vector_Lists.Array_of_Lists;
                     59:                  norb : in natural; lower,upper : in double_float );
                     60:
                     61:   -- DESCRIPTION :
                     62:   --   Orbits are given random floating-point lifting values in [lower,upper].
                     63:   --   Every point in the same orbit receives the same lifting.
                     64:
                     65:   -- ON ENTRY :
                     66:   --   orbits    classified orbits, last entry of vectors is orbit number;
                     67:   --   norb      the number of orbits;
                     68:   --   lower     lower bound for random number generator;
                     69:   --   upper     upper bound for random number generator.
                     70:
                     71:   -- ON RETURN :
                     72:   --   orbits    each point in the same orbit has the same random number.
                     73:
                     74:   procedure Integer_Random_Lift_Orbits
                     75:                ( orbits : in out Arrays_of_Integer_Vector_Lists.Array_of_Lists;
                     76:                  norb : in natural; lower,upper : in integer );
                     77:
                     78:   -- DESCRIPTION :
                     79:   --   Orbits are given random integer lifting values in [lower,upper].
                     80:   --   Every point in the same orbit receives the same lifting.
                     81:
                     82:   -- ON ENTRY :
                     83:   --   orbits    classified orbits, last entry of vectors is orbit number;
                     84:   --   norb      the number of orbits;
                     85:   --   lower     lower bound for random number generator;
                     86:   --   upper     upper bound for random number generator.
                     87:
                     88:   -- ON RETURN :
                     89:   --   orbits    each point in the same orbit has the same random number.
                     90:
                     91: end Symmetric_Lifting_Functions;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>