|
D.15.30.9 convertLeftToRightFraction
Procedure from library olga.lib (see olga_lib).
- Usage:
- convertLeftToRightFraction(frac, locType, locData), vector frac,
int locType, list/vector/intvec locData
- Purpose:
- determine a right fraction representation of a given fraction
- Assume:
- Return:
- vector
- Note:
- - the returned vector contains a repr. of frac as a right fraction,
- if the right 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 g = x;
poly f = Dx;
vector fracm = [g,f,0,0];
list L = g;
vector rm = convertLeftToRightFraction(fracm, 0, L);
print(rm);
==> [x,Dx,x*Dx+2,x^2]
f*rm[4]-g*rm[3];
==> 0
// geometric localization
g = x+y;
f = Dx+Dy;
vector fracg = [g,f,0,0];
ideal p = x-1, y-3;
vector rg = convertLeftToRightFraction(fracg, 1, p);
print(rg);
==> [x+y,Dx+Dy,x*Dx+y*Dx+x*Dy+y*Dy+4,x^2+2*x*y+y^2]
f*rg[4]-g*rg[3];
==> 0
// rational localization
intvec rat = 1;
f = Dx+Dy;
g = x;
vector fracr = [g,f,0,0];
vector rr = convertLeftToRightFraction(fracr, 2, rat);
print(rr);
==> [x,Dx+Dy,x*Dx+x*Dy+2,x^2]
f*rr[4]-g*rr[3];
==> 0
|
|