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

MatrixSchubert -- matrix Schubert varieties and ASM varieties

Description

This package provides functions for constructing and investigating matrix Schubert varieties. Many of the functions in this package can take as input either a permutation in 1-line notation, or an alternating sign matrix.

Contributors

The following people have generously contributed code, improved existing code, or enhanced the documentation: Shiliang Gao, Pooja Joshi, Mahrud Sayrafi, and Antsa Tantely Fandresena Rakotondrafara.

See also

Authors

Version

This documentation describes version 1.0 of MatrixSchubert.

Source code

The source code from which this documentation is derived is in the file MatrixSchubert.m2. The auxiliary files accompanying it are in the directory MatrixSchubert/.

Exports

  • Types
    • PipeDream -- the class representing a pipe dream
  • Functions and commands
    • antiDiagInit -- compute the (unique) antidiagonal initial ideal of an ASM ideal
    • ASMFullList -- lists all ASMs of a fixed size
    • ASMRandomList -- lists random ASMs of a fixed size
    • ASMToMonotoneTriangle -- converts an ASM to a monotone triangle
    • augmentedEssentialSet -- find the essential set of a partial alternating sign matrix or a permutation together with the rank conditions determining the alternating sign matrix variety
    • augmentedRotheDiagram -- find the Rothe diagram of a partial alternating sign matrix together with the rank table determining the alternating sign matrix variety
    • avoidsAllPatterns -- whether a permutation avoids all of the given patterns
    • cohenMacaulayASMsList -- lists all Cohen-Macaulay ASMs of a fixed size which are not permutation matrices
    • composePerms -- computes the composition of two permutations
    • descentSet -- the descent set of a permutation
    • diagLexInitNW -- Diagonal initial ideal of an ASM ideal with respect to lex, starting from NW corner
    • diagLexInitSE -- Diagonal initial ideal of an ASM ideal with respect to lex, starting from SE corner
    • diagRevLexInit -- Diagonal initial ideal of an ASM ideal with respect to revlex, ordering variables from NW corner
    • doubleSchubertPolynomial -- computes the double Schubert polynomial of a permutation
    • entrywiseMaxRankTable -- compute the entrywise maximum rank table of a list of ASMs
    • entrywiseMinRankTable -- compute the entrywise minimum rank table of a list of ASMs
    • essentialSet -- compute the essential set in the Rothe Diagram for a partial alternating sign matrix or a permutation.
    • firstDescent -- finds the location of the first descent of a permutation
    • fultonGens -- compute the Fulton generators of an ASM ideal (for example, a Schubert determinantal ideal)
    • getASM -- get the ASM of an ideal (if it exists)
    • grothendieckPolynomial -- computes the Grothendieck polynomial of a permutation
    • initialIdealsList -- lists all antidiagonal initial ideals of ASMs of a fixed size
    • inverseOf -- to return the inverse of a permutation in 1-line notation.
    • isASM -- whether a matrix is an ASM
    • isASMIdeal -- whether an ideal is an ASM ideal
    • isASMUnion -- whether the union of matrix Schubert varieties is an ASM variety
    • isCartwrightSturmfels -- whether a permutation is Cartwright-Sturmfels
    • isCDG -- whether a permutation is CDG
    • isIntersectionOfSchubertDeterminantalIdeals -- whether an ideal is the intersection of Schubert determinantal ideals
    • isMinRankTable -- whether a matrix is the canonical rank table of some partial ASM
    • isPartialASM -- whether a matrix is a partial alternating sign matrix
    • isPatternAvoiding -- whether a permutation avoids certain patterns, e.g. $2143$-avoiding or $312$- and $231$-avoiding
    • isPerm -- whether a list is a permutation in 1-line notation
    • isSchubertCM -- whether an ASM variety is Cohen-Macaulay
    • isVexillary -- whether a permutation is vexillary, i.e. 2143-avoiding
    • KPolynomialASM -- compute the K Polynomial of an ASM variety
    • lastDescent -- finds the location of the last descent of a permutation
    • longestPerm -- to return the longest permutation of length n
    • monotoneTriangleToASM -- converts a monotone triangle to an ASM
    • nonCohenMacaulayASMsList -- lists all non-Cohen-Macaulay ASMs of a fixed size
    • padASM -- pad an ASM with an identity matrix
    • partialASMToASM -- extend a partial alternating sign matrix to an alternating sign matrix
    • permLength -- to find the length of a permutation in 1-line notation.
    • permSetOfASM -- finds the permutation set of an alternating sign matrix
    • permToMatrix -- converts a permutation in 1-line notation into a permutation matrix
    • pipeDreams -- computes the set of reduced pipe dreams corresponding to a permutation
    • pipeDreamsNonReduced -- computes the set of all pipe dreams corresponding to a permutation
    • rajcode -- finds the Rajchgot code of a permutation
    • rajIndex -- finds the Rajchgot index of a permutation
    • rankTable -- compute a table of rank conditions that determines a Schubert determinantal ideal or, more generally, an alternating sign matrix ideal.
    • rankTableFromMatrix -- returns the minimal rank table from an arbitrary integer matrix
    • rankTableToASM -- to find the a partial ASM associated to a given rank table
    • rotheDiagram -- find the Rothe diagram of a partial alternating sign matrix
    • schubertAdd -- compute the sum of ASM ideals
    • schubertCodim -- compute the codimension (i.e., height) of a Schubert determinantal ideal or ASM ideal
    • schubertDecompose -- finds the decomposition of an ASM ideal into Schubert determinantal ideals
    • schubertDeterminantalIdeal -- compute an alternating sign matrix ideal (for example, a Schubert determinantal ideal)
    • schubertIntersect -- compute the intersection of ASM ideals
    • schubertPolynomial -- computes the Schubert polynomial of a permutation
    • schubertRegularity -- compute the Castelnuovo-Mumford regularity of the quotient by a Schubert determinantal ideal or ASM ideal
    • subwordComplex -- to find the subword complex associated to w
    • toOneLineNotation -- rewrites a transposition in 1-line notation
  • Methods
    • antiDiagInit(List) -- see antiDiagInit -- compute the (unique) antidiagonal initial ideal of an ASM ideal
    • antiDiagInit(Matrix) -- see antiDiagInit -- compute the (unique) antidiagonal initial ideal of an ASM ideal
    • ASMFullList(ZZ) -- see ASMFullList -- lists all ASMs of a fixed size
    • ASMRandomList(ZZ,ZZ) -- see ASMRandomList -- lists random ASMs of a fixed size
    • ASMToMonotoneTriangle(Matrix) -- see ASMToMonotoneTriangle -- converts an ASM to a monotone triangle
    • augmentedEssentialSet(List) -- see augmentedEssentialSet -- find the essential set of a partial alternating sign matrix or a permutation together with the rank conditions determining the alternating sign matrix variety
    • augmentedEssentialSet(Matrix) -- see augmentedEssentialSet -- find the essential set of a partial alternating sign matrix or a permutation together with the rank conditions determining the alternating sign matrix variety
    • augmentedRotheDiagram(List) -- see augmentedRotheDiagram -- find the Rothe diagram of a partial alternating sign matrix together with the rank table determining the alternating sign matrix variety
    • augmentedRotheDiagram(Matrix) -- see augmentedRotheDiagram -- find the Rothe diagram of a partial alternating sign matrix together with the rank table determining the alternating sign matrix variety
    • avoidsAllPatterns(List,List) -- see avoidsAllPatterns -- whether a permutation avoids all of the given patterns
    • cohenMacaulayASMsList(ZZ) -- see cohenMacaulayASMsList -- lists all Cohen-Macaulay ASMs of a fixed size which are not permutation matrices
    • composePerms(List,List) -- see composePerms -- computes the composition of two permutations
    • descentSet(List) -- see descentSet -- the descent set of a permutation
    • diagLexInitNW(List) -- see diagLexInitNW -- Diagonal initial ideal of an ASM ideal with respect to lex, starting from NW corner
    • diagLexInitNW(Matrix) -- see diagLexInitNW -- Diagonal initial ideal of an ASM ideal with respect to lex, starting from NW corner
    • diagLexInitSE(List) -- see diagLexInitSE -- Diagonal initial ideal of an ASM ideal with respect to lex, starting from SE corner
    • diagLexInitSE(Matrix) -- see diagLexInitSE -- Diagonal initial ideal of an ASM ideal with respect to lex, starting from SE corner
    • diagRevLexInit(List) -- see diagRevLexInit -- Diagonal initial ideal of an ASM ideal with respect to revlex, ordering variables from NW corner
    • diagRevLexInit(Matrix) -- see diagRevLexInit -- Diagonal initial ideal of an ASM ideal with respect to revlex, ordering variables from NW corner
    • doubleSchubertPolynomial(List) -- see doubleSchubertPolynomial -- computes the double Schubert polynomial of a permutation
    • entrywiseMaxRankTable(List) -- see entrywiseMaxRankTable -- compute the entrywise maximum rank table of a list of ASMs
    • entrywiseMinRankTable(List) -- see entrywiseMinRankTable -- compute the entrywise minimum rank table of a list of ASMs
    • essentialSet(List) -- see essentialSet -- compute the essential set in the Rothe Diagram for a partial alternating sign matrix or a permutation.
    • essentialSet(Matrix) -- see essentialSet -- compute the essential set in the Rothe Diagram for a partial alternating sign matrix or a permutation.
    • firstDescent(List) -- see firstDescent -- finds the location of the first descent of a permutation
    • fultonGens(List) -- see fultonGens -- compute the Fulton generators of an ASM ideal (for example, a Schubert determinantal ideal)
    • fultonGens(Matrix) -- see fultonGens -- compute the Fulton generators of an ASM ideal (for example, a Schubert determinantal ideal)
    • getASM(Ideal) -- see getASM -- get the ASM of an ideal (if it exists)
    • grothendieckPolynomial(List) -- see grothendieckPolynomial -- computes the Grothendieck polynomial of a permutation
    • initialIdealsList(ZZ) -- see initialIdealsList -- lists all antidiagonal initial ideals of ASMs of a fixed size
    • inverseOf(List) -- see inverseOf -- to return the inverse of a permutation in 1-line notation.
    • isASM(Matrix) -- see isASM -- whether a matrix is an ASM
    • isASMIdeal(Ideal) -- see isASMIdeal -- whether an ideal is an ASM ideal
    • isASMUnion(List) -- see isASMUnion -- whether the union of matrix Schubert varieties is an ASM variety
    • isCartwrightSturmfels(List) -- see isCartwrightSturmfels -- whether a permutation is Cartwright-Sturmfels
    • isCDG(List) -- see isCDG -- whether a permutation is CDG
    • isIntersectionOfSchubertDeterminantalIdeals(Ideal) -- see isIntersectionOfSchubertDeterminantalIdeals -- whether an ideal is the intersection of Schubert determinantal ideals
    • isMinRankTable(Matrix) -- see isMinRankTable -- whether a matrix is the canonical rank table of some partial ASM
    • isPartialASM(Matrix) -- see isPartialASM -- whether a matrix is a partial alternating sign matrix
    • isPatternAvoiding(List,List) -- see isPatternAvoiding -- whether a permutation avoids certain patterns, e.g. $2143$-avoiding or $312$- and $231$-avoiding
    • isPerm(List) -- see isPerm -- whether a list is a permutation in 1-line notation
    • isSchubertCM(List) -- see isSchubertCM -- whether an ASM variety is Cohen-Macaulay
    • isSchubertCM(Matrix) -- see isSchubertCM -- whether an ASM variety is Cohen-Macaulay
    • isVexillary(List) -- see isVexillary -- whether a permutation is vexillary, i.e. 2143-avoiding
    • KPolynomialASM(Matrix) -- see KPolynomialASM -- compute the K Polynomial of an ASM variety
    • lastDescent(List) -- see lastDescent -- finds the location of the last descent of a permutation
    • longestPerm(ZZ) -- see longestPerm -- to return the longest permutation of length n
    • monotoneTriangleToASM(List) -- see monotoneTriangleToASM -- converts a monotone triangle to an ASM
    • nonCohenMacaulayASMsList(ZZ) -- see nonCohenMacaulayASMsList -- lists all non-Cohen-Macaulay ASMs of a fixed size
    • padASM(Matrix,ZZ) -- see padASM -- pad an ASM with an identity matrix
    • partialASMToASM(Matrix) -- see partialASMToASM -- extend a partial alternating sign matrix to an alternating sign matrix
    • permLength(List) -- see permLength -- to find the length of a permutation in 1-line notation.
    • permSetOfASM(Matrix) -- see permSetOfASM -- finds the permutation set of an alternating sign matrix
    • permToMatrix(List) -- see permToMatrix -- converts a permutation in 1-line notation into a permutation matrix
    • pipeDreams(List) -- see pipeDreams -- computes the set of reduced pipe dreams corresponding to a permutation
    • pipeDreamsNonReduced(List) -- see pipeDreamsNonReduced -- computes the set of all pipe dreams corresponding to a permutation
    • rajcode(List) -- see rajcode -- finds the Rajchgot code of a permutation
    • rajIndex(List) -- see rajIndex -- finds the Rajchgot index of a permutation
    • rankTable(List) -- see rankTable -- compute a table of rank conditions that determines a Schubert determinantal ideal or, more generally, an alternating sign matrix ideal.
    • rankTable(Matrix) -- see rankTable -- compute a table of rank conditions that determines a Schubert determinantal ideal or, more generally, an alternating sign matrix ideal.
    • rankTableFromMatrix(Matrix) -- see rankTableFromMatrix -- returns the minimal rank table from an arbitrary integer matrix
    • rankTableToASM(Matrix) -- see rankTableToASM -- to find the a partial ASM associated to a given rank table
    • rotheDiagram(List) -- see rotheDiagram -- find the Rothe diagram of a partial alternating sign matrix
    • rotheDiagram(Matrix) -- see rotheDiagram -- find the Rothe diagram of a partial alternating sign matrix
    • schubertAdd(List) -- see schubertAdd -- compute the sum of ASM ideals
    • schubertCodim(List) -- see schubertCodim -- compute the codimension (i.e., height) of a Schubert determinantal ideal or ASM ideal
    • schubertCodim(Matrix) -- see schubertCodim -- compute the codimension (i.e., height) of a Schubert determinantal ideal or ASM ideal
    • schubertDecompose(Ideal) -- see schubertDecompose -- finds the decomposition of an ASM ideal into Schubert determinantal ideals
    • schubertDecompose(Matrix) -- see schubertDecompose -- finds the decomposition of an ASM ideal into Schubert determinantal ideals
    • schubertDeterminantalIdeal(List) -- see schubertDeterminantalIdeal -- compute an alternating sign matrix ideal (for example, a Schubert determinantal ideal)
    • schubertDeterminantalIdeal(Matrix) -- see schubertDeterminantalIdeal -- compute an alternating sign matrix ideal (for example, a Schubert determinantal ideal)
    • schubertIntersect(List) -- see schubertIntersect -- compute the intersection of ASM ideals
    • schubertPolynomial(List) -- see schubertPolynomial -- computes the Schubert polynomial of a permutation
    • schubertRegularity(List) -- see schubertRegularity -- compute the Castelnuovo-Mumford regularity of the quotient by a Schubert determinantal ideal or ASM ideal
    • schubertRegularity(Matrix) -- see schubertRegularity -- compute the Castelnuovo-Mumford regularity of the quotient by a Schubert determinantal ideal or ASM ideal
    • subwordComplex(List) -- see subwordComplex -- to find the subword complex associated to w
    • toOneLineNotation(List,ZZ) -- see toOneLineNotation -- rewrites a transposition in 1-line notation
    • toOneLineNotation(Matrix) -- converts a permutation to one line notation

For the programmer

The object MatrixSchubert is a package.