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

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>