|  |  7.5.10.0. makeUsl Procedure from libraryncalg.lib(see  ncalg_lib).
 
Example:Usage:
makeUsl(n,[p]); n an integer, n>1; p an optional integer (field characteristic)
Return:
ring
Purpose:
set up the U(sl_n) in the variables ( x(i),y(i),h(i) | i=1..n+1) over the field of char p
Note:
activate this ring with the setringcommandThis presentation of U(sl_n) is the standard one, i.e. positive resp. negative roots are denoted by x(i) resp. y(i) and the Cartan elements are denoted by h(i).
 The variables are ordered as x(1),...x(n),y(1),...,y(n),h(1),...h(n).
 
 See also:
 makeQsl3;
 makeQso3;
 makeUg2;
 makeUgl;
 makeUsl2.|  | LIB "ncalg.lib";
def a=makeUsl(3);
setring a;
a;
==> // coefficients: QQ
==> // number of vars : 8
==> //        block   1 : ordering dp
==> //                  : names    x(1) x(2) x(3) y(1) y(2) y(3) h(1) h(2)
==> //        block   2 : ordering C
==> // noncommutative relations:
==> //    x(2)x(1)=x(1)*x(2)+x(3)
==> //    y(1)x(1)=x(1)*y(1)-h(1)
==> //    y(3)x(1)=x(1)*y(3)-y(2)
==> //    h(1)x(1)=x(1)*h(1)+2*x(1)
==> //    h(2)x(1)=x(1)*h(2)-x(1)
==> //    y(2)x(2)=x(2)*y(2)-h(2)
==> //    y(3)x(2)=x(2)*y(3)+y(1)
==> //    h(1)x(2)=x(2)*h(1)-x(2)
==> //    h(2)x(2)=x(2)*h(2)+2*x(2)
==> //    y(1)x(3)=x(3)*y(1)-x(2)
==> //    y(2)x(3)=x(3)*y(2)+x(1)
==> //    y(3)x(3)=x(3)*y(3)-h(1)-h(2)
==> //    h(1)x(3)=x(3)*h(1)+x(3)
==> //    h(2)x(3)=x(3)*h(2)+x(3)
==> //    y(2)y(1)=y(1)*y(2)-y(3)
==> //    h(1)y(1)=y(1)*h(1)-2*y(1)
==> //    h(2)y(1)=y(1)*h(2)+y(1)
==> //    h(1)y(2)=y(2)*h(1)+y(2)
==> //    h(2)y(2)=y(2)*h(2)-2*y(2)
==> //    h(1)y(3)=y(3)*h(1)-y(3)
==> //    h(2)y(3)=y(3)*h(2)-y(3)
 | 
 
 |