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.

Version

This documentation describes version 1.7 of QuillenSuslin.

Citation

If you have used this package in your research, please cite it as follows:

@misc{QuillenSuslinSource,
  title = {{QuillenSuslin: the Quillen-Suslin algorithm for bases of projective modules. Version~1.7}},
  author = {Brett Barwick and Branden Stone},
  howpublished = {A \emph{Macaulay2} package available at
    \url{https://github.com/Macaulay2/M2/tree/master/M2/Macaulay2/packages}}
}

@article{QuillenSuslinArticle,
  title = {{Computing free bases for projective modules}},
  author = {Brett Barwick and Branden Stone},
  journal = {The Journal of Software for Algebra and Geometry},
  volume = {5},
  year = {2013},
}

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
    • isProjective(Module) -- see isProjective -- determines if a given module is projective with constant rank over a Noetherian ring
    • 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, defined in QuillenSuslin.m2.


The source of this document is in QuillenSuslin.m2:1972:0.