Annotation of OpenXM_contrib/PHC/Ada/Schubert/straightening_syzygies.ads, Revision 1.1.1.1
1.1 maekawa 1: with Brackets,Bracket_Monomials; use Brackets,Bracket_Monomials;
2: with Bracket_Polynomials; use Bracket_Polynomials;
3:
4: package Straightening_Syzygies is
5:
6: -- DESCRIPTION :
7: -- This package generates and uses the so-called van der Waerden syzygies
8: -- to straighten bracket polynomials w.r.t. the tableau order.
9:
10: function Laplace_Expansion ( n,d : natural ) return Bracket_Polynomial;
11:
12: -- DESCRIPTION :
13: -- Returns the Laplace expansion of the determinant of an (n*n)-matrix,
14: -- in terms of two blocks of size d and n-d respectively.
15: -- The output is in terms of a quadratic bracket polynomial.
16: -- The first entry of every bracket for the first block equals 0,
17: -- to avoid messing up the structure of the Laplace expansion.
18:
19: function Straightening_Syzygy ( b1,b2 : Bracket ) return Bracket_Polynomial;
20:
21: -- DESCRIPTION :
22: -- Returns the van der Waerden syzygy that can be used to straighten
23: -- the nonstandard monomial b1*b2. If b1*b2 is already standard, then
24: -- the polynomial with only the monomial b1*b2 is returned.
25:
26: -- REQUIRED : b1 < b2.
27:
28: function Straightening_Syzygy ( b : Bracket_Monomial )
29: return Bracket_Polynomial;
30:
31: -- DESCRIPTION :
32: -- Returns Straightening_Syzygy(b1,b2), with b = b1*b2.
33:
34: -- REQUIRED : b = b1*b2.
35:
36: function nonStandard_Monomials ( n,d : natural ) return Bracket_Polynomial;
37:
38: -- DESCRIPTION :
39: -- Returns the polynomial of all quadratic nonStandard monomials,
40: -- where d is the dimension of the brackets and n the number of
41: -- elements to choose from.
42:
43: generic
44: with procedure Process ( s : in Bracket_Polynomial;
45: continue : out boolean );
46: procedure Enumerate_Syzygies ( p : in Bracket_Polynomial );
47:
48: -- DESCRIPTION :
49: -- Constructs the straightening syzygy s for every monomial in p
50: -- and invokes the procedure Process with s as its argument.
51: -- Enumeration stops when continue is set to false.
52:
53: function Straighten ( b1,b2 : Bracket ) return Bracket_Polynomial;
54:
55: -- DESCRIPTION :
56: -- Returns a bracket polynomial, equivalent to b1*b2, that contains
57: -- only standard monomials. This is done by repeatively replacing the
58: -- nonstandard monomials b1*b2 by the generated van der Waerden syzygies.
59:
60: function Straighten ( b : Bracket_Monomial ) return Bracket_Polynomial;
61: function Straighten ( b : Bracket_Term ) return Bracket_Polynomial;
62: function Straighten ( b : Bracket_Polynomial ) return Bracket_Polynomial;
63:
64: -- DESCRIPTION :
65: -- Returns an equivalent bracket polynomial that contains only
66: -- standard monomials.
67:
68: end Straightening_Syzygies;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>