| ##### 7.5.21.0. leftOre Procedure from library `olga.lib` (see olga_lib). Usage: leftOre(s, r, locType, locData), poly s, r, int locType, list/vector/intvec locData Purpose: compute left 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 ts*r=tr*s - 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
    // left Ore
    // monoidal localization
    poly g1 = x+3;
    poly g2 = x*y;
    list L = g1,g2;
    poly g = g1^2*g2;
    poly f = Dx;
    list rm = leftOre(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-3*x^4*y^3+9*x^3*y^3*Dx-12*x^3*y^3-9*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
    rm[1][2]*g-rm[1][1]*f;
    ==> 0
    // geometric localization
    ideal p = x-1, y-3;
    f = Dx;
    g = x^2+y;
    list rg = leftOre(g, f, 1, p);
    print(rg[1]);
    ==> [x^4+2*x^2*y+y^2,x^2*Dx+y*Dx-2*x]
    rg[2];
    ==> _[1]=x^4+2*x^2*y+y^2
    rg[1][2]*g-rg[1][1]*f;
    ==> 0
    // rational localization
    intvec rat = 1;
    f = Dx+Dy;
    g = x;
    list rr = leftOre(g, f, 2, rat);
    print(rr[1]);
    ==> [x^2,x*Dx+x*Dy-1]
    rr[2];
    ==> _[1]=x^2
    rr[1][2]*g-rr[1][1]*f;
    ==> 0

User manual for Singular version 4.4.0, 2024, generated by texi2html.