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