Singular

7.5.23.0. rightOre
Procedure from library `olga.lib` (see olga_lib).

Usage:
rightOre(s, r, locType, locData), poly s, r, int locType, list/vector/intvec locData

Purpose:
compute right Ore data for a given tuple (s,r)

Assume:
s is in the denominator set determined via locType and locData

Return:
list

Note:
- the first entry of the list is a vector [ts,tr] such that r*ts=s*tr - the second entry of the list is a description of all choices for ts

Example:
 ```LIB "olga.lib"; ring R = 0,(x,y,Dx,Dy),dp; def S = Weyl(); setring S; S; ==> // coefficients: QQ ==> // number of vars : 4 ==> // block 1 : ordering dp ==> // : names x y Dx Dy ==> // block 2 : ordering C ==> // noncommutative relations: ==> // Dxx=x*Dx+1 ==> // Dyy=y*Dy+1 // monoidal localization poly g1 = x+3; poly g2 = x*y; list L = g1,g2; poly g = g1^2*g2; poly f = Dx; list rm = rightOre(g, f, 0, L); print(rm[1]); ==> [x^8*y^4+12*x^7*y^4+54*x^6*y^4+108*x^5*y^4+81*x^4*y^4,x^5*y^3*Dx+6*x^4*y^\ 3*Dx+8*x^4*y^3+9*x^3*y^3*Dx+36*x^3*y^3+36*x^2*y^3] rm[2]; ==> _[1]=x^8*y^4+12*x^7*y^4+54*x^6*y^4+108*x^5*y^4+81*x^4*y^4 g*rm[1][2]-f*rm[1][1]; ==> 0 // geometric localization ideal p = x-1, y-3; f = Dx; g = x^2+y; list rg = rightOre(g, f, 1, p); print(rg[1]); ==> [x^4+2*x^2*y+y^2,x^2*Dx+y*Dx+4*x] rg[2]; ==> _[1]=x^4+2*x^2*y+y^2 g*rg[1][2]-f*rg[1][1]; ==> 0 // rational localization intvec rat = 1; f = Dx+Dy; g = x; list rr = rightOre(g, f, 2, rat); print(rr[1]); ==> [x^2,x*Dx+x*Dy+2] rr[2]; ==> _[1]=x^2 g*rr[1][2]-f*rr[1][1]; ==> 0 ```