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