Macaulay2 » Documentation
Packages » QuillenSuslin :: QuillenSuslin
next | previous | forward | backward | up | index | toc

QuillenSuslin -- computes a free basis of a projective module over a polynomial ring

Description

Using the algorithms in Logar-Sturmfels and Fabianska-Quadrat, this package computes a free basis of a projective module over a polynomial ring with coefficients in the rationals, integers, or a finite field. It also provides methods to solve related problems involving completing a unimodular matrix to a square invertible matrix over a polynomial ring with coefficients in the rationals, integers, or a finite field, or a Laurent polynomial ring with coefficients in the rationals or a finite field.

For mathematical background and applications, see

Authors

Certification a gold star

Version 1.7 of this package was accepted for publication in volume 5 of The Journal of Software for Algebra and Geometry on 2013-09-18, in the article Computing free bases for projective modules (DOI: 10.2140/jsag.2013.5.26). That version can be obtained from the journal or from the Macaulay2 source code repository.

Version

This documentation describes version 1.7 of QuillenSuslin.

Source code

The source code from which this documentation is derived is in the file QuillenSuslin.m2.

Exports

  • Functions and commands
    • changeVar -- computes a change of variables which make the first entry of a unimodular row monic in a specified variable
    • completeMatrix -- completes a unimodular matrix over a polynomial ring or Laurent polynomial ring to a square invertible matrix
    • computeFreeBasis -- computes a free basis of a projective module
    • getMaxIdeal -- computes a maximal ideal containing a given ideal in a polynomial ring
    • horrocks -- computes a local solution to the unimodular row problem over a localization at a maximal ideal
    • isProjective -- determines if a given module is projective with constant rank over a Noetherian ring
    • isUnimodular -- determines if a given matrix is unimodular
    • maxMinors -- computes the ideal generated by the maximal non-vanishing minors of a given matrix
    • patch -- patch together local solutions to eliminate a variable
    • qsAlgorithm -- computes a solution to the unimodular matrix problem
    • qsIsomorphism -- computes an isomorphism between a free module and a given projective module
  • Methods
    • changeVar(Matrix,List) -- see changeVar -- computes a change of variables which make the first entry of a unimodular row monic in a specified variable
    • completeMatrix(Matrix) -- see completeMatrix -- completes a unimodular matrix over a polynomial ring or Laurent polynomial ring to a square invertible matrix
    • computeFreeBasis(Ideal) -- see computeFreeBasis -- computes a free basis of a projective module
    • computeFreeBasis(Module) -- see computeFreeBasis -- computes a free basis of a projective module
    • getMaxIdeal(Ideal) -- see getMaxIdeal -- computes a maximal ideal containing a given ideal in a polynomial ring
    • getMaxIdeal(Ideal,List) -- see getMaxIdeal -- computes a maximal ideal containing a given ideal in a polynomial ring
    • horrocks(Matrix,RingElement,Ideal) -- see horrocks -- computes a local solution to the unimodular row problem over a localization at a maximal ideal
    • isUnimodular(Matrix) -- see isUnimodular -- determines if a given matrix is unimodular
    • maxMinors(Matrix) -- see maxMinors -- computes the ideal generated by the maximal non-vanishing minors of a given matrix
    • patch(List,RingElement) -- see patch -- patch together local solutions to eliminate a variable
    • qsAlgorithm(Matrix) -- see qsAlgorithm -- computes a solution to the unimodular matrix problem
    • qsIsomorphism(Module) -- see qsIsomorphism -- computes an isomorphism between a free module and a given projective module
  • Symbols
    • CheckProjective -- optional input which gives the user the option to check whether the given module is projective
    • CheckUnimodular -- optional input which gives the user the option to check whether the given matrix is unimodular

For the programmer

The object QuillenSuslin is a package.