Macaulay2 » Documentation
Packages » Macaulay2Doc » rings » polynomial rings » monomial orderings » monomial orders for free modules » Schreyer orders » schreyerOrder(Matrix)
next | previous | forward | backward | up | index | toc

# schreyerOrder(Matrix) -- create a matrix with the same entries whose source free module has a Schreyer monomial order

- Function: schreyerOrder
- Usage:
    `schreyerOrder m`
- Inputs:
  - m, a matrix, G <-- F between free modules
- Outputs:
  - a matrix, the same matrix as m, except that its source free module is endowed with a Schreyer, or induced, monomial order

## Description

Given a matrix $m : F --> G$, the Schreyer order on the monomials of F is given by: If $a e_i$ and $b e_j$ are monomials of $F$, i.e. $a$ and $b$ are monomials in the ring, and $e_i$ and $e_j$ are unit column vectors of $F$, then $a e_i > b e_j$ if and only if either $leadterm(m)(a e_i) > leadterm(m)(b e_j)$ or they are scalar multiples of the same monomial in $G$, and $i > j$.

If the base ring is a quotient ring, we think of leadterm(m) as a matrix over the ambient polynomial ring for the purpose of this definition.

In the example below, the source of f is endowed with a Schreyer order.

    i1 : R = ZZ/101[a..d];

    i2 : m = matrix{{a,b,c,d}};

                 1      4
    o2 : Matrix R  <-- R

    i3 : f = schreyerOrder m

    o3 = | a b c d |

                 1      4
    o3 : Matrix R  <-- R

    i4 : g = syz f

    o4 = {1} | -b 0  -c 0  0  -d |
         {1} | a  -c 0  0  -d 0  |
         {1} | 0  b  a  -d 0  0  |
         {1} | 0  0  0  c  b  a  |

                 4      6
    o4 : Matrix R  <-- R

    i5 : leadTerm g

    o5 = {1} | 0 0 0 0 0 0 |
         {1} | a 0 0 0 0 0 |
         {1} | 0 b a 0 0 0 |
         {1} | 0 0 0 c b a |

                 4      6
    o5 : Matrix R  <-- R

    i6 : hf = map(source f, 1, {{d},{c},{b},{a}})

    o6 = {1} | d |
         {1} | c |
         {1} | b |
         {1} | a |

                 4      1
    o6 : Matrix R  <-- R

    i7 : hm = map(source m, 1, {{d},{c},{b},{a}})

    o7 = {1} | d |
         {1} | c |
         {1} | b |
         {1} | a |

                 4      1
    o7 : Matrix R  <-- R

    i8 : leadTerm hf

    o8 = {1} | 0 |
         {1} | 0 |
         {1} | b |
         {1} | 0 |

                 4      1
    o8 : Matrix R  <-- R

    i9 : leadTerm hm

    o9 = {1} | 0 |
         {1} | 0 |
         {1} | 0 |
         {1} | a |

                 4      1
    o9 : Matrix R  <-- R

Use schreyerOrder(Module) to see if a free module is endowed with a Schreyer order.

    i10 : schreyerOrder source m

    o10 = 0

                        4
    o10 : Matrix 0 <-- R

    i11 : schreyerOrder source f

    o11 = | a 0 0 0 |
          | 0 b 0 0 |
          | 0 0 c 0 |
          | 0 0 0 d |

                  4      4
    o11 : Matrix R  <-- R

## See also

- Schreyer orders -- induced monomial order on a free module
- monomial orders for free modules
- leadTerm -- get the greatest term
- schreyerOrder(Module) -- obtain Schreyer order information

## Ways to use this method:

- schreyerOrder(Matrix) -- create a matrix with the same entries whose source free module has a Schreyer monomial order

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