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

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>