Home Online Manual
Top
Back: rightOre
Forward: convertLeftToRightFraction
FastBack:
FastForward:
Up: olga_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.15.30.8 convertRightToLeftFraction

Procedure from library olga.lib (see olga_lib).

Usage:
convertRightToLeftFraction(frac, locType, locData),
vector frac, int locType, list/vector/intvec locData

Purpose:
determine a left fraction representation of a given fraction

Assume:

Return:
vector

Note:
- the returned vector contains a repr. of frac as a left fraction - if the left representation of frac is already specified, frac will be returned.

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;
vector fracm = [0,0,f,g];
vector rm = convertRightToLeftFraction(fracm, 0, L);
print(rm);
==> [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,Dx,x^3*y+6*x^2*y+9*x*y]
rm[2]*g-rm[1]*f;
==> 0
// geometric localization
ideal p = x-1, y-3;
f = Dx;
g = x^2+y;
vector fracg = [0,0,f,g];
vector rg = convertRightToLeftFraction(fracg, 1, p);
print(rg);
==> [x^4+2*x^2*y+y^2,x^2*Dx+y*Dx-2*x,Dx,x^2+y]
rg[2]*g-rg[1]*f;
==> 0
// rational localization
intvec rat = 1;
f = Dx+Dy;
g = x;
vector fracr = [0,0,f,g];
vector rr = convertRightToLeftFraction(fracr, 2, rat);
print(rr);
==> [x^2,x*Dx+x*Dy-1,Dx+Dy,x]
rr[2]*g-rr[1]*f;
==> 0