Given a singly graded ring and an integer $n$, this function tries to find an element of degree $n$. If successful, it returns a list with two elements {$a,b$} such that $a/b$ has degree $n$. If it is impossible, it gives an error. If instead of an integer, you pass it a basic list corresponding to a multi-degree, it still tries to find $a, b$ in R such that $a/b$ has the provided multidegree. It only works on rings with flattened variables (ie, no Rees algebras). First we do an example without multidegrees.
i1 : R = ZZ/7[x,y,Degrees=>{3, 5}];
|
i2 : output = findElementOfDegree(1, R)
2
o2 = {x , y}
o2 : List
|
i3 : output#0/output#1
2
x
o3 = --
y
o3 : frac R
|
i4 : findElementOfDegree(-2, R)
2 4
o4 = {y , x }
o4 : List
|
We also do an example with multidegrees
i5 : R = QQ[x,y,Degrees=>{{1,2}, {3, 5}}];
|
i6 : output = findElementOfDegree({1, 3}, R)
4
o6 = {x , y}
o6 : List
|
i7 : output#0/output#1
4
x
o7 = --
y
o7 : frac R
|
The object findElementOfDegree is a method function.