[BACK]Return to bracket_expansions.ads CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / PHC / Ada / Schubert

Annotation of OpenXM_contrib/PHC/Ada/Schubert/bracket_expansions.ads, Revision 1.1.1.1

1.1       maekawa     1: with Brackets;                           use Brackets;
                      2: with Bracket_Monomials;                  use Bracket_Monomials;
                      3: with Standard_Natural_Matrices;          use Standard_Natural_Matrices;
                      4: with Standard_Complex_Polynomials;       use Standard_Complex_Polynomials;
                      5: with Bracket_Polynomials;                use Bracket_Polynomials;
                      6:
                      7: package Bracket_Expansions is
                      8:
                      9: -- DESCRIPTION :
                     10: --   This package provides operations to expand bracket polynomials as
                     11: --   complex multivariate polynomials in the matrix indeterminates xij.
                     12:
                     13:   function Expand ( n,d : natural; b : Bracket ) return Poly;
                     14:   function Expand ( n,d : natural; b : Bracket_Monomial ) return Poly;
                     15:   function Expand ( n,d : natural; b : Bracket_Term ) return Poly;
                     16:   function Expand ( n,d : natural; b : Bracket_Polynomial ) return Poly;
                     17:
                     18:   -- DESCRIPTION :
                     19:   --   On return is the expanded bracket polynomial in the xij's,
                     20:   --   where i runs over 1..n and j over 1..d.
                     21:
                     22:   function Localized_Expand ( n,d : natural; b : Bracket ) return Poly;
                     23:
                     24:   -- DESCRIPTION :
                     25:   --   For i >= n-d+1, the variable xij is either 1 or 0, depending on
                     26:   --   whether i=j+n-d or not, for i in 1..n and j in 1..d.
                     27:   --   This is the standard map to localize a d-plane, a better one
                     28:   --   is generated below.
                     29:
                     30:   function Localization_Map ( n,d : natural ) return Matrix;
                     31:
                     32:   -- DESCRIPTION :
                     33:   --   Returns a localization map for a matrix representing a d-plane
                     34:   --   in affine n-space.  The elements of the identity matrix are as
                     35:   --   usual represented by zeros and ones.  Every row will have at least
                     36:   --   one free element whose entry is marked by two.
                     37:
                     38:   -- REQUIRED : n > d+1.
                     39:
                     40:   function Expand ( locmap : Matrix; b : Bracket ) return Poly;
                     41:
                     42:   -- DESCRIPTION :
                     43:   --   Expands a d-by-d minor of the matrix, selecting the rows with
                     44:   --   entries in b, respecting the localization map in locmap.
                     45:   --   The format of locmap must be as the output of Localization_Map.
                     46:   --   The polynomial on return has as many variables as the number of
                     47:   --   entries in the matrix locmap.
                     48:   --   The number of variables can be reduced by the procedure below.
                     49:
                     50:   procedure Reduce_Variables ( locmap : in Matrix; p : in out Poly );
                     51:
                     52:   -- DESCRIPTION :
                     53:   --   Reduces the #variables in the polynomial, removing all variables that
                     54:   --   correspond to zeros in the localization map.
                     55:
                     56: end Bracket_Expansions;

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