##### 7.5.21.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 considered as a field
    ==> // 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

User manual for Singular version 4.4.1, 2025, generated by texi2html.