# Singular

##### 7.5.23.0. 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 ```