next | previous | forward | backward | up | top | index | toc | home

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

Synopsis

Description

Given a matrix m : F --> G, the Schreyer order on the monomials of F is given by: If a ei and b ej are monomials of F, i.e. a and b are monomials in the ring, and ei and ej are unit column vectors of F, then a ei > b ej iff either leadterm(m)(a ei) > leadterm(m)(b ej) 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} | 0  0  0  -b -c -d |
     {1} | 0  -c -d a  0  0  |
     {1} | -d b  0  0  a  0  |
     {1} | c  0  b  0  0  a  |

             4       6
o4 : Matrix R  <--- R
i5 : leadTerm g

o5 = {1} | 0 0 0 0 0 0 |
     {1} | 0 0 0 a 0 0 |
     {1} | 0 b 0 0 a 0 |
     {1} | c 0 b 0 0 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