Annotation of OpenXM_contrib/PHC/Ada/Schubert/straightening_syzygies.ads, Revision 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>