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>