[top][index]
search for:

selectInSubring -- select columns in a subring

selectInSubring(i,m) -- Form the submatrix of the matrix 'm' consisting of those columns which lie in the subring generated by all but the first 'i' parts of the monomial order.

We say that a monomial ordering has n 'parts' if the variables are partitioned into n subsets in such a way that for each j, any monomial smaller than a monomial that involves variables only from the last j parts, also involves variables only from the last j parts. Such monomial orderings include product orderings, lexicographic orderings, and elimination orderings.

For example, consider the lexicographic ordering of four variables, where the parts are the singletons {a}, {b}, {c}, {d}.

i1 : R = ZZ/101[a..d,MonomialOrder=>Lex]

o1 = R

o1 : PolynomialRing
i2 : m = matrix{{b^2-c^2, a^2 - b^2, c*d}}

o2 = | b2-c2 a2-b2 cd |

             1       3
o2 : Matrix R  <--- R
i3 : selectInSubring(1,m)

o3 = | b2-c2 cd |

             1       2
o3 : Matrix R  <--- R
i4 : selectInSubring(2,m)

o4 = | cd |

             1       1
o4 : Matrix R  <--- R
i5 : selectInSubring(3,m)

o5 = 0

             1
o5 : Matrix R  <--- 0

Caveat:

  • This routine doesn't do what one would expect for graded orders such as GLex. There, the first part of the monomial order is the degree, which is usually not zero. This routine should detect and correct this.
  • See also:

  • polynomial rings with other monomial orderings
  • Ways to use selectInSubring :

  • selectInSubring(ZZ,Matrix)

  • [top][index]
    search for: