Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Dynlift/cayley_embedding.ads, Revision 1.1
1.1 ! maekawa 1: with Standard_Integer_Vectors; use Standard_Integer_Vectors;
! 2: with Lists_of_Integer_Vectors; use Lists_of_Integer_Vectors;
! 3: with Arrays_of_Integer_Vector_Lists; use Arrays_of_Integer_Vector_Lists;
! 4: with Simplices,Triangulations; use Simplices,Triangulations;
! 5: with Integer_Mixed_Subdivisions; use Integer_Mixed_Subdivisions;
! 6:
! 7: package Cayley_Embedding is
! 8:
! 9: -- DESCRIPTION :
! 10: -- This procedure provides utilities to implement the embedding
! 11: -- of a tuple of supports to use the Cayley trick.
! 12: -- The novelty with this implementation is that the additional
! 13: -- coordinates to the points are added in front.
! 14:
! 15: -- UTILITIES TO APPLY BEFORE THE CONSTRUCTION OF THE TRIANGULATION :
! 16:
! 17: function Embedding_Before_Lifting
! 18: ( supports : Array_of_Lists ) return List;
! 19:
! 20: -- DESCRIPTION :
! 21: -- The supports will be embedded in higher dimensional space
! 22: -- by adding (r-1) extra coordinates.
! 23: -- The supports will be placed on the vertices of a simplex.
! 24: -- This is done before the lifting is defined on the supports.
! 25:
! 26: -- UTILITIES TO APPLY AFTER THE CONSTRUCTION OF THE TRIANGULATION :
! 27:
! 28: function Extract ( vtp,n : natural; pts : List ) return List;
! 29:
! 30: -- DESCRIPTION :
! 31: -- Extracts the points out of the list that are of the type
! 32: -- indicated by vtp, i.e.: all points that belong to the list of
! 33: -- points placed on the vertex with number vtp.
! 34:
! 35: function Extract_Mixed_Cell
! 36: ( n : natural; mix : Vector; s : Simplex ) return Mixed_Cell;
! 37:
! 38: -- DESCRIPTION :
! 39: -- If the simplex determines a mixed cell, then this mixed cell
! 40: -- will be returned. Otherwise, the returned mixed cell will have
! 41: -- an empty inner normal.
! 42:
! 43: function Extract_Mixed_Cells
! 44: ( n : natural; mix : Vector; t : Triangulation )
! 45: return Mixed_Subdivision;
! 46:
! 47: -- DESCRIPTION :
! 48: -- Given a triangulation of the large extended polytope,
! 49: -- the mixed cells will be extracted. The parameter
! 50: -- n equals the dimension before the embedding and lifting.
! 51:
! 52: function Extract_non_Flat_Mixed_Cells
! 53: ( n : natural; mix : Vector; t : Triangulation )
! 54: return Mixed_Subdivision;
! 55:
! 56: -- DESCRIPTION :
! 57: -- Does the same as the routine just above, but stops when
! 58: -- a simplex with normal (0,..,0,1) is encountered.
! 59:
! 60: procedure Deflate ( n : natural; l : in out List );
! 61:
! 62: -- DESCRIPTION :
! 63: -- Removes the extra coordinates which have been introduced for
! 64: -- the embedding. The parameter n equals the dimension before
! 65: -- the embedding and the lifting.
! 66:
! 67: procedure Deflate ( n : natural; mic : in out Mixed_Cell );
! 68:
! 69: -- DESCRIPTION :
! 70: -- Removes the extra coordinates which have been introduced for
! 71: -- the embedding. The parameter n equals the dimension before
! 72: -- the embedding and the lifting.
! 73:
! 74: procedure Deflate ( n : natural; mixsub : in out Mixed_Subdivision );
! 75:
! 76: -- DESCRIPTION :
! 77: -- Removes the extra coordinates which have been introduced for
! 78: -- the embedding. The parameter n equals the dimension before
! 79: -- the embedding and the lifting.
! 80:
! 81: end Cayley_Embedding;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>