Macaulay2 » Documentation
Packages » Macaulay2Doc » matrices » Matrix
next | previous | forward | backward | up | index | toc

# Matrix -- the class of all matrices

## Description

A matrix is a homomorphism between two modules, together with an integer (or vector of integers) called its degree, which is used when determining whether the map is homogeneous. The matrix is stored in the usual way as a rectangular array of ring elements. When the source or target modules are not free, the matrix is interpreted as a linear transformation in terms of the generators of the modules.

A matrix f is an immutable object, so if you want to cache information about it, put it in the hash table f.cache.

Common ways to make a matrix:

- map -- make a map
- matrix -- make a matrix

Common ways to get information about matrices:

- degree(Matrix) (missing documentation)
- isHomogeneous(Matrix) -- whether something is homogeneous (graded)
- matrix(Matrix) -- the matrix between generators

Common operations on matrices:

- Matrix + Matrix -- a unary or binary operator, usually used for addition
- Matrix - Matrix -- a unary or binary operator, usually used for negation or subtraction
- RingElement * Matrix -- a binary operator, usually used for multiplication
- Matrix * Matrix -- matrix multiplication
- Matrix == Matrix
- Matrix ++ Matrix -- direct sum of maps
- Matrix ** Matrix -- tensor product
- Matrix % Matrix -- normal form of ring elements and matrices
- Matrix // Matrix -- factor a map through another with the same target
- Matrix | Matrix -- join matrices horizontally
- Matrix || Matrix -- join matrices vertically
- Matrix ^ List -- select rows
- Matrix _ List -- select columns

Common ways to use a matrix:

- cokernel(Matrix) -- cokernel of a map of modules
- image(Matrix) -- image of a map
- kernel(Matrix) -- kernel of a matrix
- homology(Matrix,Matrix) -- homology of a pair of maps

## See also

- matrices

### Menu

- isWellDefined -- whether a map is well defined
- `entries(Matrix)` -- see entries -- get the entries of a matrix
- eigenvalues -- find eigenvalues of a matrix
- eigenvectors -- find eigenvectors of a matrix over real or complex numbers
- transpose -- transpose a matrix or table
- dual -- dual module or map
- support -- list of variables occurring in a polynomial or matrix
- leadTerm(Matrix) -- get the greatest term of each column
- leadTerm(ZZ,Matrix) -- get the matrix of lead polynomials of each column
- leadComponent -- the leading component(s) of a vector or matrix
- borel(Matrix) -- make a Borel fixed submodule
- dual(Matrix) -- dual of a map
- `modulo(Matrix,Matrix)` -- see modulo -- find the pre-image (pullback) of image of a map (low level version)
- `complement(Matrix)` -- see complement -- find the minimal generators for cokernel of a matrix (low level form)
- `extend(Complex,Complex,Matrix)` -- see extend(Complex,Complex,Matrix,Sequence) -- extend a map of modules to a map of chain complexes
- Matrix ** RingElement
- ambient(Matrix) -- get the map between the ambient free modules
- contract(Matrix,Matrix) -- contract a matrix by a matrix
- cover(Matrix) -- get the map between the covering free modules
- degrees(Matrix) -- degrees of target and source
- diagonalMatrix -- make a diagonal matrix
- Matrix ++ Matrix -- direct sum of maps
- markedGB(Matrix,Matrix) -- make a marked Gröbner basis
- homology(Matrix,Matrix) -- homology of a pair of maps
- inverse(Matrix) -- compute the inverse
- jacobian(Matrix) -- the matrix of partial derivatives of polynomials in a matrix
- koszul(Matrix) -- the Koszul complex
- koszul(ZZ,Matrix) -- a differential in a Koszul complex
- map(Ring,Matrix) -- make a ring map
- minimalPresentation(Matrix) -- minimally present source and target of a matrix
- pivots(Matrix) -- list of pivot locations of a matrix
- smithNormalForm(Matrix) -- smith normal form for a matrix over a PID
- source(Matrix) -- find the source module of matrix
- syz(Matrix) -- compute the syzygy matrix
- target(Matrix) -- find the target module of matrix
- `compress(Matrix)` -- see compress -- extract nonzero columns from a matrix
- tensor(RingMap,Matrix) -- tensor product via a ring map
- tensor(Matrix,Matrix) -- tensor product
- Matrix ** Ring -- tensor product
- Matrix ^ ZZ -- power
- Matrix | Matrix -- join matrices horizontally
- Matrix || Matrix -- join matrices vertically
- Matrix / Number -- scalar division
- `Matrix // Matrix` -- see quotient(Matrix,Matrix) -- factor a map through another with the same target
- Matrix % GroebnerBasis -- compute the normal form of a ring element or matrix using a Gröbner basis
- Matrix * Matrix -- matrix multiplication
- Matrix _ Sequence -- get entry of matrix
- selectInSubring -- select columns in a subring
- solve -- solve linear equation(s)
- divideByVariable -- divide all columns by a (power of a) variable

## Functions and methods returning a matrix:

- `Matrix + Matrix` -- see + -- a unary or binary operator, usually used for addition
- `- Matrix` -- see - -- a unary or binary operator, usually used for negation or subtraction
- `Matrix - Matrix` -- see - -- a unary or binary operator, usually used for negation or subtraction
- `adjoint'(Matrix,Module,Module)` -- see adjoint -- the tensor-Hom adjunction maps
- `adjoint(Matrix,Module,Module)` -- see adjoint -- the tensor-Hom adjunction maps
- ambient(Matrix) -- get the map between the ambient free modules
- basis -- basis or generating set of all or part of a ring, ideal or module
- `basis(List,RingMap)` -- see basis -- basis or generating set of all or part of a ring, ideal or module
- `basis(RingMap)` -- see basis -- basis or generating set of all or part of a ring, ideal or module
- `basis(Sequence,RingMap)` -- see basis -- basis or generating set of all or part of a ring, ideal or module
- `basis(ZZ,RingMap)` -- see basis -- basis or generating set of all or part of a ring, ideal or module
- borel(Matrix) -- make a Borel fixed submodule
- `complement(Matrix)` -- see complement -- find the minimal generators for cokernel of a matrix (low level form)
- `compose(Module,Module,Module)` -- see compose -- composition as a pairing on Hom-modules
- `compress(Matrix)` -- see compress -- extract nonzero columns from a matrix
- contract'(Matrix,Matrix) -- contract a matrix by a matrix, the dual notion
- contract(Matrix,Matrix) -- contract a matrix by a matrix
- cover(Matrix) -- get the map between the covering free modules
- coverMap(Module) -- the surjective map from a free module to a module corresponding to the generators
- diagonalMatrix -- make a diagonal matrix
- diff'(Matrix,Matrix) -- differentiate a matrix by a matrix, the dual notion
- diff(Matrix,Matrix) -- differentiate a matrix by a matrix
- `divideByVariable(Matrix,RingElement)` -- see divideByVariable -- divide all columns by a (power of a) variable
- `divideByVariable(Matrix,RingElement,ZZ)` -- see divideByVariable -- divide all columns by a (power of a) variable
- dual(Matrix) -- dual of a map
- `Ext^ZZ(Matrix,Ideal)` -- see Ext^ZZ(Matrix,Module) -- map between Ext modules
- Ext^ZZ(Matrix,Module) -- map between Ext modules
- `Ext^ZZ(Matrix,Ring)` -- see Ext^ZZ(Matrix,Module) -- map between Ext modules
- `Ext^ZZ(Ideal,Matrix)` -- see Ext^ZZ(Module,Matrix) -- map between Ext modules
- Ext^ZZ(Module,Matrix) -- map between Ext modules
- `Ext^ZZ(Ring,Matrix)` -- see Ext^ZZ(Module,Matrix) -- map between Ext modules
- exteriorPower(ZZ,Matrix) -- exterior power of a matrix
- `flatten(Matrix)` -- see flatten -- flatten a nested list or a matrix
- `flip(Module,Module)` -- see flip -- isomorphism map of commutativity of tensor product
- generators(GroebnerBasis) -- the generator matrix of a Gröbner basis
- generators(Ideal) -- the generator matrix of an ideal
- generators(Module) -- the generator matrix of a module
- genericMatrix -- make a generic matrix of variables
- genericSkewMatrix -- make a generic skew symmetric matrix of variables
- genericSymmetricMatrix -- make a generic symmetric matrix
- `getChangeMatrix(GroebnerBasis)` -- see getChangeMatrix -- get the change of basis matrix
- groebnerBasis -- Gröbner basis, as a matrix
- `Hom(Matrix,Matrix)` -- see Hom(Module,Matrix) -- induced map on Hom
- `Hom(Matrix,Module)` -- see Hom(Module,Matrix) -- induced map on Hom
- Hom(Module,Matrix) -- induced map on Hom
- `homogenize(Matrix,RingElement)` -- see homogenize -- homogenize with respect to a variable
- `homogenize(Matrix,RingElement,List)` -- see homogenize -- homogenize with respect to a variable
- `homogenize(RingElement,RingElement)` -- see homogenize -- homogenize with respect to a variable
- `homomorphism'(Matrix)` -- see homomorphism' -- get the element of Hom from a homomorphism
- inducedMap(Module,Module) -- compute the map induced by the identity
- inducedMap(Module,Module,Matrix) -- compute the induced map
- `inducedMap(Module,Nothing,Matrix)` -- see inducedMap(Module,Module,Matrix) -- compute the induced map
- jacobian(Ideal) -- the Jacobian matrix of the generators of an ideal
- jacobian(Matrix) -- the matrix of partial derivatives of polynomials in a matrix
- `jacobian(RingElement)` -- see jacobian(Matrix) -- the matrix of partial derivatives of polynomials in a matrix
- jacobian(Ring) -- the Jacobian matrix of the polynomials defining a quotient ring
- koszul(ZZ,Matrix) -- a differential in a Koszul complex
- `leadTerm(GroebnerBasis)` -- see leadTerm(Matrix) -- get the greatest term of each column
- leadTerm(Matrix) -- get the greatest term of each column
- leadTerm(ZZ,Ideal) -- get the ideal of lead polynomials
- `leadTerm(ZZ,GroebnerBasis)` -- see leadTerm(ZZ,Matrix) -- get the matrix of lead polynomials of each column
- leadTerm(ZZ,Matrix) -- get the matrix of lead polynomials of each column
- `lift(Matrix,type of Number)` -- see lift -- lift to another ring
- `lift(Matrix,type of RingElement)` -- see lift -- lift to another ring
- `lift(MutableMatrix,type of RingElement)` -- see lift -- lift to another ring
- map(Matrix) -- make a matrix with a different degree
- map(Module) -- identity map
- map(Module,Module,Function) -- create a matrix by specifying a function that gives each entry
- map(Module,Module,List) -- create a matrix by giving a sparse or dense list of entries
- map(Module,Module,Matrix) -- create the matrix induced on generators by a given matrix
- `map(Module,Module,Number)` -- see map(Module,Module,RingElement) -- construct the map induced by multiplication by a ring element on the generators
- map(Module,Module,RingElement) -- construct the map induced by multiplication by a ring element on the generators
- `map(Module,Module,ZZ)` -- see map(Module,Module,RingElement) -- construct the map induced by multiplication by a ring element on the generators
- `map(Module,ZZ,ZZ)` -- see map(Module,Module,RingElement) -- construct the map induced by multiplication by a ring element on the generators
- `map(Module,Module,RingMap,List)` -- see map(Module,Module,RingMap,Matrix) -- homomorphism of modules over different rings
- map(Module,Module,RingMap,Matrix) -- homomorphism of modules over different rings
- `map(Module,Nothing,RingMap,List)` -- see map(Module,Module,RingMap,Matrix) -- homomorphism of modules over different rings
- `map(Module,Nothing,RingMap,Matrix)` -- see map(Module,Module,RingMap,Matrix) -- homomorphism of modules over different rings
- `map(Module,RingMap)` -- see map(Module,Module,RingMap,Matrix) -- homomorphism of modules over different rings
- map(Module,Nothing,List) -- create a matrix by giving a doubly nested list of ring elements
- map(Module,Nothing,Matrix) -- recast a matrix to have a new target, and a free module as source
- map(Module,ZZ,Function) -- create a matrix from a free module by specifying a function that gives each entry
- map(Module,ZZ,List) -- create a matrix by giving a sparse or dense list of entries
- Matrix % GroebnerBasis -- compute the normal form of a ring element or matrix using a Gröbner basis
- Matrix * Matrix -- matrix multiplication
- Matrix ** Ring -- tensor product
- `Ring ** Matrix` -- see Matrix ** Ring -- tensor product
- Matrix ++ Matrix -- direct sum of maps
- `Matrix ++ RingElement` -- see Matrix ++ Matrix -- direct sum of maps
- `RingElement ++ Matrix` -- see Matrix ++ Matrix -- direct sum of maps
- `RingElement ++ RingElement` -- see Matrix ++ Matrix -- direct sum of maps
- Matrix ^ Array -- component of map corresponding to summand of target
- Matrix ^ List -- select rows
- `MutableMatrix ^ List` -- see Matrix ^ List -- select rows
- Matrix ^ ZZ -- power
- Matrix ^** ZZ (missing documentation)
- Matrix _ Array -- component of map corresponding to summand of source
- Matrix _ List -- select columns
- `MutableMatrix _ List` -- see Matrix _ List -- select columns
- Matrix | Matrix -- join matrices horizontally
- `RingElement | RingElement` -- see Matrix | Matrix -- join matrices horizontally
- Matrix || Matrix -- join matrices vertically
- `RingElement || RingElement` -- see Matrix || Matrix -- join matrices vertically
- matrix(List) -- create a matrix from a doubly-nested list of ring elements or matrices
- matrix(Matrix) -- the matrix between generators
- matrix(Ring,List) -- create a matrix from a doubly nested list of ring elements or matrices
- `matrix(RingFamily,List)` -- see matrix(Ring,List) -- create a matrix from a doubly nested list of ring elements or matrices
- matrix(String) (missing documentation)
- `Matrix % Ideal` -- see methods for normal forms and remainder -- normal form of ring elements and matrices
- `Matrix % Matrix` -- see methods for normal forms and remainder -- normal form of ring elements and matrices
- `Matrix % Module` -- see methods for normal forms and remainder -- normal form of ring elements and matrices
- `Matrix % MonomialIdeal` -- see methods for normal forms and remainder -- normal form of ring elements and matrices
- mingens(GroebnerBasis) -- (partially constructed) minimal generator matrix
- `mingens(Ideal)` -- see mingens(Module) -- minimal generator matrix
- mingens(Module) -- minimal generator matrix
- minimalPresentation(Matrix) -- minimally present source and target of a matrix
- `prune(Matrix)` -- see minimalPresentation(Matrix) -- minimally present source and target of a matrix
- Module ^ Array -- projection onto summand
- Module ^ List -- projection onto summand
- Module _ Array -- inclusion from summand
- Module _ List -- map from free module to some generators
- `modulo(Matrix,Matrix)` -- see modulo -- find the pre-image (pullback) of image of a map (low level version)
- `modulo(Matrix,Nothing)` -- see modulo -- find the pre-image (pullback) of image of a map (low level version)
- `modulo(Nothing,Matrix)` -- see modulo -- find the pre-image (pullback) of image of a map (low level version)
- part(List,Matrix) (missing documentation)
- part(Sequence,RingMap) (missing documentation)
- part(ZZ,Matrix) (missing documentation)
- presentation(Module) -- presentation of a module
- `presentation(QuotientRing)` -- see presentation(PolynomialRing,QuotientRing) -- presentation of a quotient ring
- `Matrix \\ Matrix` -- see quotient' -- factor a map through another with the same source
- `quotient'(Matrix,Matrix)` -- see quotient' -- factor a map through another with the same source
- `Matrix // GroebnerBasis` -- see quotient(Matrix,Matrix) -- factor a map through another with the same target
- `Matrix // Matrix` -- see quotient(Matrix,Matrix) -- factor a map through another with the same target
- `Matrix // MonomialIdeal` -- see quotient(Matrix,Matrix) -- factor a map through another with the same target
- `Matrix // Number` -- see quotient(Matrix,Matrix) -- factor a map through another with the same target
- `Matrix // RingElement` -- see quotient(Matrix,Matrix) -- factor a map through another with the same target
- `Number // Matrix` -- see quotient(Matrix,Matrix) -- factor a map through another with the same target
- `quotient(Matrix,GroebnerBasis)` -- see quotient(Matrix,Matrix) -- factor a map through another with the same target
- quotient(Matrix,Matrix) -- factor a map through another with the same target
- `RingElement // GroebnerBasis` -- see quotient(Matrix,Matrix) -- factor a map through another with the same target
- `RingElement // Matrix` -- see quotient(Matrix,Matrix) -- factor a map through another with the same target
- `quotientRemainder(Matrix,GroebnerBasis)` -- see quotientRemainder -- matrix quotient and remainder
- `quotientRemainder(Matrix,Matrix)` -- see quotientRemainder -- matrix quotient and remainder
- `quotientRemainder'(Matrix,Matrix)` -- see quotientRemainder' -- matrix quotient and remainder (opposite)
- random(Module,Module) -- get a random map of module
- rays(Matrix)
- `relations(Module)` -- see relations -- the defining relations
- `remainder(Matrix,GroebnerBasis)` -- see remainder -- matrix remainder
- `remainder(Matrix,Matrix)` -- see remainder -- matrix remainder
- `remainder'(Matrix,Matrix)` -- see remainder' -- matrix remainder (opposite)
- `reshape(Module,Module,Matrix)` -- see reshape -- reshape a matrix
- `RingMap Matrix` -- see RingMap RingElement -- apply a ring map
- schreyerOrder(Matrix) -- create a matrix with the same entries whose source free module has a Schreyer monomial order
- schreyerOrder(Module) -- obtain Schreyer order information
- `selectInSubring(ZZ,Matrix)` -- see selectInSubring -- select columns in a subring
- submatrix -- select part of a matrix
- submatrix' -- exclude rows and/or columns of a matrix
- `substitute(Matrix,List)` -- see substitute -- substituting values for variables
- `substitute(Matrix,Matrix)` -- see substitute -- substituting values for variables
- `substitute(Matrix,Ring)` -- see substitute -- substituting values for variables
- `substitute(Matrix,RingFamily)` -- see substitute -- substituting values for variables
- `substitute(Matrix,ZZ)` -- see substitute -- substituting values for variables
- `super(Matrix)` -- see super -- get the ambient module
- `symmetricPower(ZZ,Matrix)` -- see symmetricPower -- symmetric power
- syz -- the syzygy matrix
- syz(GroebnerBasis) -- retrieve the syzygy matrix
- syz(Matrix) -- compute the syzygy matrix
- `Matrix ** Matrix` -- see tensor(Matrix,Matrix) -- tensor product
- tensor(Matrix,Matrix) -- tensor product
- `Matrix ** Module` -- see tensor(Matrix,Module) -- tensor product
- `Module ** Matrix` -- see tensor(Matrix,Module) -- tensor product
- tensor(Matrix,Module) -- tensor product
- `tensor(Module,Matrix)` -- see tensor(Matrix,Module) -- tensor product
- `RingMap ** Matrix` -- see tensor(RingMap,Matrix) -- tensor product via a ring map
- tensor(RingMap,Matrix) -- tensor product via a ring map
- `tensorAssociativity(Module,Module,Module)` -- see tensorAssociativity -- associativity isomorphisms for tensor products
- `transpose(Matrix)` -- see transpose -- transpose a matrix or table
- truncate(List,List,Matrix) (missing documentation)
- truncate(List,Matrix)
- truncate(Nothing,List,Matrix) (missing documentation)
- truncate(Nothing,ZZ,Matrix) (missing documentation)
- truncate(ZZ,ZZ,Matrix) (missing documentation)
- vars(Ring) -- row matrix of the variables
- wedgeProduct(ZZ,ZZ,Module) -- the exterior multiplication map

## Methods that use a matrix:

- `Matrix * Number` -- see * -- a binary operator, usually used for multiplication
- `Matrix * RingElement` -- see * -- a binary operator, usually used for multiplication
- `Matrix * Vector` -- see * -- a binary operator, usually used for multiplication
- `Number * Matrix` -- see * -- a binary operator, usually used for multiplication
- `RingElement * Matrix` -- see * -- a binary operator, usually used for multiplication
- `Matrix + Number` -- see + -- a unary or binary operator, usually used for addition
- `Matrix + RingElement` -- see + -- a unary or binary operator, usually used for addition
- `Number + Matrix` -- see + -- a unary or binary operator, usually used for addition
- `RingElement + Matrix` -- see + -- a unary or binary operator, usually used for addition
- `Matrix - Number` -- see - -- a unary or binary operator, usually used for negation or subtraction
- `Matrix - RingElement` -- see - -- a unary or binary operator, usually used for negation or subtraction
- `Number - Matrix` -- see - -- a unary or binary operator, usually used for negation or subtraction
- `RingElement - Matrix` -- see - -- a unary or binary operator, usually used for negation or subtraction
- `Matrix == Matrix` -- see basic arithmetic of matrices
- `basis(InfiniteNumber,InfiniteNumber,Matrix)` -- see basis -- basis or generating set of all or part of a ring, ideal or module
- `basis(InfiniteNumber,List,Matrix)` -- see basis -- basis or generating set of all or part of a ring, ideal or module
- `basis(InfiniteNumber,ZZ,Matrix)` -- see basis -- basis or generating set of all or part of a ring, ideal or module
- `basis(List,InfiniteNumber,Matrix)` -- see basis -- basis or generating set of all or part of a ring, ideal or module
- `basis(List,List,Matrix)` -- see basis -- basis or generating set of all or part of a ring, ideal or module
- `basis(List,Matrix)` -- see basis -- basis or generating set of all or part of a ring, ideal or module
- `basis(List,ZZ,Matrix)` -- see basis -- basis or generating set of all or part of a ring, ideal or module
- `basis(Matrix)` -- see basis -- basis or generating set of all or part of a ring, ideal or module
- `basis(ZZ,InfiniteNumber,Matrix)` -- see basis -- basis or generating set of all or part of a ring, ideal or module
- `basis(ZZ,List,Matrix)` -- see basis -- basis or generating set of all or part of a ring, ideal or module
- `basis(ZZ,Matrix)` -- see basis -- basis or generating set of all or part of a ring, ideal or module
- `basis(ZZ,ZZ,Matrix)` -- see basis -- basis or generating set of all or part of a ring, ideal or module
- `betti(Matrix)` -- see betti -- display or modify a Betti diagram
- `clean(RR,Matrix)` -- see clean -- set to zero elements that are approximately zero
- `coefficients(Matrix)` -- see coefficients -- get the monomials and coefficients of a polynomial or matrix
- `coimage(Matrix)` -- see coimage -- coimage of a map
- cokernel(Matrix) -- cokernel of a map of modules
- `components(Matrix)` -- see components -- list the components of a direct sum
- `contract(Matrix,Number)` -- see contract(Matrix,Matrix) -- contract a matrix by a matrix
- `contract(Matrix,RingElement)` -- see contract(Matrix,Matrix) -- contract a matrix by a matrix
- `contract(Matrix,Vector)` -- see contract(Matrix,Matrix) -- contract a matrix by a matrix
- `contract(Number,Matrix)` -- see contract(Matrix,Matrix) -- contract a matrix by a matrix
- `contract(RingElement,Matrix)` -- see contract(Matrix,Matrix) -- contract a matrix by a matrix
- `contract(Vector,Matrix)` -- see contract(Matrix,Matrix) -- contract a matrix by a matrix
- degree(Matrix) (missing documentation)
- degrees(Matrix) -- degrees of target and source
- `describe(Matrix)` -- see describe -- real description
- `determinant(Matrix)` -- see determinant -- determinant of a matrix
- diagonalMatrix(Matrix) -- make a diagonal matrix from entries of a matrix
- `diff(Matrix,Vector)` -- see diff(Matrix,Matrix) -- differentiate a matrix by a matrix
- `diff(Vector,Matrix)` -- see diff(Matrix,Matrix) -- differentiate a matrix by a matrix
- diff(Matrix,RingElement) -- differentiation
- diff(RingElement,Matrix) -- differentiate each entry of a matrix
- `directSum(Matrix)` -- see directSum -- direct sum of modules or maps
- `eagonNorthcott(Matrix)` -- see eagonNorthcott -- Eagon-Northcott complex of a matrix of linear forms
- `eigenvalues(Matrix)` -- see eigenvalues -- find eigenvalues of a matrix
- `eigenvectors(Matrix)` -- see eigenvectors -- find eigenvectors of a matrix over real or complex numbers
- `entries(Matrix)` -- see entries -- get the entries of a matrix
- `fittingIdeal(ZZ,Matrix)` -- see fittingIdeal -- Fitting ideal of a module
- `forceGB(Matrix)` -- see forceGB -- declare that the columns of a matrix are a Gröbner basis
- `gb(Matrix)` -- see gb -- compute a Gröbner basis
- `gbRemove(Matrix)` -- see gbRemove -- remove Gröbner basis
- `gbSnapshot(Matrix)` -- see gbSnapshot -- the Gröbner basis matrix as so far computed
- `Matrix _ ZZ` -- see generators of rings, ideals, and modules
- `groebnerBasis(Matrix)` -- see groebnerBasis -- Gröbner basis, as a matrix
- homology(Matrix,Matrix) -- homology of a pair of maps
- `homomorphism(Matrix)` -- see homomorphism -- get the homomorphism from element of Hom
- ideal(Matrix) -- make an ideal
- image(Matrix) -- image of a map
- `indices(Matrix)` -- see indices(RingElement) -- indices of variables occurring in a polynomial
- `inducedMap(Nothing,Module,Matrix)` -- see inducedMap(Module,Module,Matrix) -- compute the induced map
- `inducedMap(Nothing,Nothing,Matrix)` -- see inducedMap(Module,Module,Matrix) -- compute the induced map
- `inducesWellDefinedMap(Module,Module,Matrix)` -- see inducesWellDefinedMap -- whether a map is well defined
- `inducesWellDefinedMap(Module,Nothing,Matrix)` -- see inducesWellDefinedMap -- whether a map is well defined
- `inducesWellDefinedMap(Nothing,Module,Matrix)` -- see inducesWellDefinedMap -- whether a map is well defined
- `inducesWellDefinedMap(Nothing,Nothing,Matrix)` -- see inducesWellDefinedMap -- whether a map is well defined
- installHilbertFunction(Matrix,RingElement) (missing documentation)
- intersect(Matrix)
- intersect(Matrix,Matrix)
- intersect(Matrix,Matrix,Matrix,Matrix)
- inverse(Matrix) -- compute the inverse
- `isHomogeneous(Matrix)` -- see isHomogeneous -- whether something is homogeneous (graded)
- `isInjective(Matrix)` -- see isInjective -- whether a map is injective
- `isIsomorphism(Matrix)` -- see isIsomorphism -- whether a map is an isomorphism
- `isSurjective(Matrix)` -- see isSurjective -- whether a map is surjective
- `isWellDefined(Matrix)` -- see isWellDefined -- whether a map is well defined
- kernel(Matrix) -- kernel of a matrix
- koszul(Matrix) -- the Koszul complex
- `leadComponent(Matrix)` -- see leadComponent -- the leading component(s) of a vector or matrix
- `lift(Matrix,type of CC_*,type of QQ)` -- see lift -- lift to another ring
- `lift(Matrix,type of CC_*,type of RR_*)` -- see lift -- lift to another ring
- `lift(Matrix,type of CC_*,type of ZZ)` -- see lift -- lift to another ring
- `lift(Matrix,type of QQ,type of QQ)` -- see lift -- lift to another ring
- `lift(Matrix,type of QQ,type of ZZ)` -- see lift -- lift to another ring
- `lift(Matrix,type of RR_*,type of QQ)` -- see lift -- lift to another ring
- `lift(Matrix,type of RR_*,type of ZZ)` -- see lift -- lift to another ring
- `lift(Matrix,type of RRi_*,type of QQ)` -- see lift -- lift to another ring
- `lift(Matrix,type of RRi_*,type of RR_*)` -- see lift -- lift to another ring
- `lift(Matrix,type of RRi_*,type of ZZ)` -- see lift -- lift to another ring
- `lift(Matrix,type of ZZ,type of ZZ)` -- see lift -- lift to another ring
- `LUdecomposition(Matrix)` -- see LUdecomposition -- compute the LU decomposition of a matrix
- map(Ring,Matrix) -- make a ring map
- map(Ring,Ring,Matrix) -- make a ring map
- markedGB(Matrix,Matrix) -- make a marked Gröbner basis
- Matrix ** RingElement
- Matrix / Number -- scalar division
- `Matrix / RingElement` -- see Matrix / Number -- scalar division
- Matrix ^~ (missing documentation)
- Matrix _ Sequence -- get entry of matrix
- `Matrix | Number` -- see Matrix | Matrix -- join matrices horizontally
- `Matrix | RingElement` -- see Matrix | Matrix -- join matrices horizontally
- `Number | Matrix` -- see Matrix | Matrix -- join matrices horizontally
- `RingElement | Matrix` -- see Matrix | Matrix -- join matrices horizontally
- `Matrix || Number` -- see Matrix || Matrix -- join matrices vertically
- `Matrix || RingElement` -- see Matrix || Matrix -- join matrices vertically
- `Number || Matrix` -- see Matrix || Matrix -- join matrices vertically
- `RingElement || Matrix` -- see Matrix || Matrix -- join matrices vertically
- Matrix Vector (missing documentation)
- `Matrix % RingElement` -- see methods for normal forms and remainder -- normal form of ring elements and matrices
- `RingElement % Matrix` -- see methods for normal forms and remainder -- normal form of ring elements and matrices
- minors(ZZ,Matrix) -- ideal generated by minors
- monomialIdeal(Matrix) -- monomial ideal of lead monomials
- `monomials(Matrix)` -- see monomials -- matrix of monomials in a ring element or matrix
- `mutableMatrix(Matrix)` -- see mutableMatrix -- make a mutable matrix
- `newCoordinateSystem(PolynomialRing,Matrix)` -- see newCoordinateSystem -- change variables
- `norm(InfiniteNumber,Matrix)` -- see norm
- `norm(Matrix)` -- see norm
- `norm(RR,Matrix)` -- see norm
- numColumns(Matrix) -- number of columns in a matrix or mutable matrix
- `numeric(Matrix)` -- see numeric -- convert to floating point
- `numeric(ZZ,Matrix)` -- see numeric -- convert to floating point
- numRows(Matrix) -- number of rows in a matrix or mutable matrix
- `permanents(ZZ,Matrix)` -- see permanents -- ideal generated by square permanents of a matrix
- `pfaffian(Matrix)` -- see pfaffian -- Pfaffian of a skew-symmetric matrix
- `pfaffians(ZZ,Matrix)` -- see pfaffians -- ideal generated by Pfaffians
- pivots(Matrix) -- list of pivot locations of a matrix
- `precision(Matrix)` -- see precision
- `preimage(Matrix,Module)` -- see preimage -- preimage of a map
- pullback(Matrix,Matrix) (missing documentation)
- pushout(Matrix,Matrix) (missing documentation)
- `QRDecomposition(Matrix)` -- see QRDecomposition -- compute a QR decomposition of a real matrix
- `rank(Matrix)` -- see rank -- compute the rank
- `reducedRowEchelonForm(Matrix)` -- see reducedRowEchelonForm -- compute the reduced row echelon form of a matrix or mutable matrix over a field
- `ring(Matrix)` -- see ring -- get the associated ring of an object
- `rsort(Matrix)` -- see rsort -- sort a list or matrix in reverse order
- smithNormalForm(Matrix) -- smith normal form for a matrix over a PID
- `solve(Matrix,Matrix)` -- see solve -- solve linear equation(s)
- solve(Matrix,Vector) (missing documentation)
- sort(Matrix) -- sort the columns of a matrix
- `sortColumns(Matrix)` -- see sortColumns -- permutation giving sort order
- source(Matrix) -- find the source module of matrix
- `submatrix(Matrix,VisibleList,VisibleList)` -- see submatrix -- select part of a matrix
- `submatrix'(Matrix,Nothing,Nothing)` -- see submatrix' -- exclude rows and/or columns of a matrix
- `submatrix'(Matrix,Nothing,VisibleList)` -- see submatrix' -- exclude rows and/or columns of a matrix
- `submatrix'(Matrix,VisibleList)` -- see submatrix' -- exclude rows and/or columns of a matrix
- `submatrix'(Matrix,VisibleList,Nothing)` -- see submatrix' -- exclude rows and/or columns of a matrix
- `submatrix'(Matrix,VisibleList,VisibleList)` -- see submatrix' -- exclude rows and/or columns of a matrix
- submatrix(Matrix,VisibleList) -- select columns
- `submatrixByDegrees(Matrix,List,List)` -- see submatrixByDegrees -- submatrix consisting of rows and columns in an interval or box of degrees
- `submatrixByDegrees(Matrix,Sequence,Sequence)` -- see submatrixByDegrees -- submatrix consisting of rows and columns in an interval or box of degrees
- `submatrixByDegrees(Matrix,ZZ,ZZ)` -- see submatrixByDegrees -- submatrix consisting of rows and columns in an interval or box of degrees
- `subquotient(Matrix,Matrix)` -- see subquotient -- make a subquotient module
- `subquotient(Matrix,Nothing)` -- see subquotient -- make a subquotient module
- `subquotient(Module,Matrix,Matrix)` -- see subquotient -- make a subquotient module
- `subquotient(Module,Matrix,Nothing)` -- see subquotient -- make a subquotient module
- `subquotient(Module,Nothing,Matrix)` -- see subquotient -- make a subquotient module
- `subquotient(Nothing,Matrix)` -- see subquotient -- make a subquotient module
- `substitute(Ideal,Matrix)` -- see substitute -- substituting values for variables
- `substitute(Matrix,Option)` -- see substitute -- substituting values for variables
- `substitute(Module,Matrix)` -- see substitute -- substituting values for variables
- `substitute(RingElement,Matrix)` -- see substitute -- substituting values for variables
- `substitute(Vector,Matrix)` -- see substitute -- substituting values for variables
- `support(Matrix)` -- see support -- list of variables occurring in a polynomial or matrix
- `SVD(Matrix)` -- see SVD -- singular value decomposition of a matrix
- `symmetricAlgebra(Matrix)` -- see symmetricAlgebra -- the symmetric algebra of a module
- `symmetricAlgebra(Nothing,Nothing,Matrix)` -- see symmetricAlgebra -- the symmetric algebra of a module
- `symmetricAlgebra(Nothing,Ring,Matrix)` -- see symmetricAlgebra -- the symmetric algebra of a module
- `symmetricAlgebra(Ring,Nothing,Matrix)` -- see symmetricAlgebra -- the symmetric algebra of a module
- `symmetricAlgebra(Ring,Ring,Matrix)` -- see symmetricAlgebra -- the symmetric algebra of a module
- target(Matrix) -- find the target module of matrix
- `topCoefficients(Matrix)` -- see topCoefficients -- first variable and its coefficient of a polynomial or matrix
- trace(Matrix) -- trace of a matrix
- truncate(InfiniteNumber,InfiniteNumber,Matrix) (missing documentation)
- truncate(Nothing,InfiniteNumber,Matrix) (missing documentation)
- truncate(ZZ,Matrix)
- `vector(Matrix)` -- see vector -- make a vector
- `vector(Module,Matrix)` -- see vector -- make a vector
- `vector(Ring,Matrix)` -- see vector -- make a vector
- `vector(RingFamily,Matrix)` -- see vector -- make a vector

## For the programmer

The object Matrix is a type, with ancestor classes HashTable < Thing.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/Macaulay2Doc/doc_matrices.m2:104:0.