Changeset 4caa6c in git
- Timestamp:
- May 18, 2005, 10:51:16 PM (19 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- cc5e38df80c917c52275aa45b1835bb4f86a0f7f
- Parents:
- 46f327b10496ff7eead18a5eb83a82f2d90e6904
- Location:
- Singular/LIB
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/ncalg.lib
r46f327b r4caa6c 1 1 /////////////////////////////////////////////////////////////////////////////// 2 version="$Id: ncalg.lib,v 1.1 3 2005-05-18 18:09:11levandov Exp $";2 version="$Id: ncalg.lib,v 1.14 2005-05-18 20:51:15 levandov Exp $"; 3 3 category="Noncommutative"; 4 4 info=" 5 5 LIBRARY: ncalg.lib Definitions of important GR-algebras 6 6 AUTHORS: Viktor Levandovskyy, levandov@mathematik.uni-kl.de, 7 Oleksandr Motsak, motsak@mathematik.uni-kl.de. 7 @* Oleksandr Motsak, motsak@mathematik.uni-kl.de. 8 9 CONVENTIONS: This library provides pre-defined important noncommutative algebras. 10 @* For universal enveloping algebras of finite dimensional Lie algebras sl_n, gl_n and g_2 there are functions @code{makeUsl}, @code{makeUgl} and @code{makeUg2}. 11 @* There are quantized enveloping algebras U_q(sl_2) and U_q(sl_3) (via functions @code{makeQsl2}, @code{makeQsl3}) 12 @* and non-standard quantum deformation of so_3, accessible via @code{makeQso3} function. 8 13 9 14 PROCEDURES: 10 sl(n[,p]); returns U(sl_n) in char p, if an integer p is given, 11 sl2([p]); returns U(sl_2) in the (e,f,h) presentation; in char p, if an integer p is given, 12 g2([p]); returns U(g_2) in the (x(i),y(i),Ha,Hb) presentation; in char p, if an integer p is given, 13 gl(n,[p]); returns U(gl_n) in the (e_ij (1<i,j<n)) presentation; in char p, if an integer p is given, 14 Qso3([n]); returns U_q(so_3) in the presentation of Klimyk, if integer n is given, the quantum parameter will be specialized at the (2n)-th root of unity, 15 Qso3Casimir(n [,m]); returns a list with the (optionally normalized) Casimir elements of U_q(so_3) for the quantum parameter specialized at the n-th root of unity, 16 Qsl2([n]); returns ring, corresponding to the V_q(sl_2) and the ideal Qideal in it, such that U_q(sl_2) = V_q(sl_2) / Qideal; if n is specified, the quantum parameter q will be specialized at the n-th root of unity 17 Qsl3([n]); returns ring, corresponding to the V_q(sl_3) and the ideal Qideal in it, such that U_q(sl_3) = V_q(sl_3) / Qideal; if n is specified, the quantum parameter q will be specialized at the n-th root of unity 18 GKZsystem(A, sord, alg [,v]); returns a ring and an ideal, describing 19 Gelfand-Kapranov-Zelevinsky system of differential equations 15 makeUsl(n[,p]); create U(sl_n) in char p>=0 16 makeUsl2([p]); create U(sl_2) in the variables (e,f,h) in char p>=0 17 makeUg2([p]); create U(g_2) in the variables (x(i),y(i),Ha,Hb) in char p>=0 18 makeUgl(n,[p]); create U(gl_n) in the variables (e_ij (1<i,j<n)) in char p>=0 19 makeQso3([n]); create U_q(so_3) in the presentation of Klimyk (if int n is given, the quantum parameter will be specialized at the 2n-th root of unity) 20 Qso3Casimir(n [,m]); returns a list with the (optionally normalized) Casimir elements of U_q(so_3) for the quantum parameter specialized at the 2n-th root of unity 21 makeQsl2([n]); preparation for U_q(sl_2) as factor-algebra; if n is specified, the quantum parameter q will be specialized at the n-th root of unity 22 makeQsl3([n]); preparation for U_q(sl_3) as factor-algebra; if n is specified, the quantum parameter q will be specialized at the n-th root of unity 23 GKZsystem(A, sord, alg [,v]); define a ring and a Gelfand-Kapranov-Zelevinsky system of differential equations 20 24 "; 21 25 … … 40 44 41 45 /////////////////////////////////////////////////////////////////////////////// 42 proc sl2(list #) 43 "USAGE: sl2([p]), p an optional integer (field characteristic) 44 PURPOSE: set up the U(sl_2) in the (e,f,h) presentation over the field of char p 46 proc makeUsl2(list #) 47 "USAGE: makeUsl2([p]), p an optional integer (field characteristic) 45 48 RETURN: ring 46 NOTE: you have to activate this ring with the 'setring' command 47 SEE ALSO: sl, g2, gl 48 EXAMPLE: example sl2; shows examples 49 PURPOSE: set up the U(sl_2) in the variables e,f,h over the field of char p 50 NOTE: activate this ring with the @code{setring} command 51 SEE ALSO: makeUsl, makeUg2, makeUgl 52 EXAMPLE: example makeUsl2; shows examples 49 53 "{ 50 54 int @p = defInt(#); … … 59 63 example 60 64 { "EXAMPLE:"; echo = 2; 61 def a= sl2();65 def a=makeUsl2(); 62 66 setring a; 63 67 a; … … 65 69 66 70 /////////////////////////////////////////////////////////////////////////////// 67 proc sl(int n, list #) 68 "USAGE: sl(n,[p]); n an integer, n>1; p an optional integer (field characteristic) 69 PURPOSE: set up the U(sl_n) in x(i),y(i),h(i) presentation over the field of char p 70 RETURN: ring, describing 71 NOTE: You have to activate this ring with the 'setring' command. 72 @* The presentation of U(sl_n) is derived from the standard presentation of sl_n, 73 @* where positive resp. negative roots are denoted by x(i) resp. y(i) and 74 @* Cartan elements are denoted by h(i). 75 SEE ALSO: sl2, g2, gl, Qsl3, Qso3 76 EXAMPLE: example sl; shows examples 71 proc makeUsl(int n, list #) 72 "USAGE: makeUsl(n,[p]); n an integer, n>1; p an optional integer (field characteristic) 73 RETURN: ring 74 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 75 NOTE: activate this ring with the @code{setring} command 76 @* This 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). 77 @* The variables are ordered as x(1),...x(n),y(1),...,y(n),h(1),...h(n). 78 SEE ALSO: makeUsl2, makeUg2, makeUgl, makeQsl3, makeQso3 79 EXAMPLE: example makeUsl; shows examples 77 80 "{ 78 81 if (n<2) … … 83 86 if (n==2) 84 87 { 85 def @@@a= sl2(#);88 def @@@a=makeUsl2(#); 86 89 setring @@@a; 87 90 return(@@@a); … … 159 162 example 160 163 { "EXAMPLE:"; echo = 2; 161 def a= sl(3);164 def a=makeUsl(3); 162 165 setring a; 163 166 a; … … 165 168 166 169 /////////////////////////////////////////////////////////////////////////////// 167 proc g2(list #) 168 "USAGE: g2([p]), p an optional integer (field characteristic) 169 PURPOSE: set up the U(g_2) in (x(i),y(i),Ha,Hb) presentation over the field of char p 170 proc makeUg2(list #) 171 "USAGE: makeUg2([p]), p an optional int (field characteristic) 170 172 RETURN: ring 171 NOTE: you have to activate this ring with the 'setring' command 172 SEE ALSO: sl, gl 173 EXAMPLE: example g2; shows examples 173 PURPOSE: set up the U(g_2) in variables (x(i),y(i),Ha,Hb) for i=1..6 over the field of char p 174 NOTE: activate this ring with the @code{setring} command 175 @* the variables are ordered as x(1),...x(6),y(1),...,y(6),Ha,Hb. 176 SEE ALSO: makeUsl, makeUgl 177 EXAMPLE: example makeUg2; shows examples 174 178 "{ 175 179 int @p = defInt(#); … … 238 242 example 239 243 { "EXAMPLE:"; echo = 2; 240 def a = g2();244 def a = makeUg2(); 241 245 setring a; a; 242 246 } 243 247 244 248 /////////////////////////////////////////////////////////////////////////////// 245 proc gl(int n, list #) 246 " 247 USAGE: gl(n,[p]); n an integer, n>1; p an optional integer (field characteristic) 248 PURPOSE: set up the U(gl_n) in the (e_ij (1<i,j<n)) presentation over the field of char p 249 proc makeUgl(int n, list #) 250 "USAGE: makeUgl(n,[p]); n an int, n>1; p an optional int (field characteristic) 249 251 RETURN: ring 250 NOTE: You have to activate this ring with the 'setring' command. 251 SEE ALSO: sl, g2 252 EXAMPLE: example gl; shows examples 252 PURPOSE: set up the U(gl_n) in the (e_ij (1<i,j<n)) presentation (where e_ij corresponds to a matrix with 1 at i,j only) over the field of char p 253 NOTE: activate this ring with the @code{setring} command 254 @* the variables are ordered as e_12,e_13,...,e_1n,e_21,...,e_nn. 255 SEE ALSO: makeUsl, makeUg2 256 EXAMPLE: example makeUgl; shows examples 253 257 "{ 254 258 if (n<2) … … 271 275 }; 272 276 }; 273 string strRING = "ring RING_ GL=(" + string (@p) + "), (" + vs + "),dp;";277 string strRING = "ring RING_MAKEUGL=(" + string (@p) + "), (" + vs + "),dp;"; 274 278 execute( strRING ); 275 int N = nvars( RING_ GL ); // n*n279 int N = nvars( RING_MAKEUGL ); // n*n 276 280 matrix D[N][N]=0; 277 281 int k, l; … … 300 304 }; 301 305 ncalgebra(1,D); 302 return(RING_ GL);303 } 304 example 305 { "EXAMPLE:"; echo = 2; 306 def a= gl(3);306 return(RING_MAKEUGL); 307 } 308 example 309 { "EXAMPLE:"; echo = 2; 310 def a=makeUgl(3); 307 311 setring a; a; 308 312 }; 309 313 310 314 /////////////////////////////////////////////////////////////////////////////// 311 proc Qso3(list #)312 "USAGE: Qso3([n]), n an optional integers313 PURPOSE: set up the U_q(so_3) in the presentation of Klimyk; if n is specified, the quantum parameter Q will be specialized at the (2 *n)-th root of unity315 proc makeQso3(list #) 316 "USAGE: makeQso3([n]), n an optional int 317 PURPOSE: set up the U_q(so_3) in the presentation of Klimyk; if n is specified, the quantum parameter Q will be specialized at the (2n)-th root of unity 314 318 RETURN: ring 315 NOTE: you have to activate this ring with the 'setring'command316 SEE ALSO: sl, g2, gl, Qsl2,Qsl3, Qso3Casimir317 EXAMPLE: example Qso3; shows examples319 NOTE: activate this ring with the @code{setring} command 320 SEE ALSO: makeUsl, makeUg2, makeUgl, makeQsl2, makeQsl3, Qso3Casimir 321 EXAMPLE: example makeQso3; shows examples 318 322 "{ 319 323 int @p = 2*defInt(#); … … 333 337 example 334 338 { "EXAMPLE:"; echo = 2; 335 def K = Qso3(3);339 def K = makeQso3(3); 336 340 setring K; 337 341 K; … … 341 345 proc Qso3Casimir(int n, list #) 342 346 "USAGE: Qso3Casimir(n [,m]), n an integer, m an optional integer 343 PURPOSE: compute the Casimir elements of U_q(so_3) for the quantum parameter specialized at the n-th root of unity; if m!=0 is given, polynomials will be normalized344 347 RETURN: list (of polynomials) 345 NOTE: the result of the procedure makes sense only when the basering is U_q(so_3) 346 SEE ALSO: Qso3 348 PURPOSE: compute the Casimir (central) elements of U_q(so_3) for the quantum parameter specialized at the n-th root of unity; if m!=0 is given, polynomials will be normalized 349 ASSUME: the basering must be U_q(so_3) 350 SEE ALSO: makeQso3 347 351 EXAMPLE: example Qso3Casimir; shows examples 348 352 "{ … … 389 393 example 390 394 { "EXAMPLE:"; echo = 2; 391 def R = Qso3(5);395 def R = makeQso3(5); 392 396 setring R; 393 397 list C = Qso3Casimir(5); … … 398 402 399 403 /////////////////////////////////////////////////////////////////////////////// 400 proc Qsl2(list #)401 "USAGE: Qsl2([n]), n an optional integer402 PURPOSE: set up the U_q(sl_2) = V_q(sl_2) / Qideal via the ring V_q(sl_2) and the ideal 'Qideal' in it; 403 @* if n is specified, the quantum parameter q will be specialized at the n-th root of unity 404 RETURN: ring (V_q(sl_2)) 405 NOTE: you have to activate this ring with the 'setring' command. 406 @* In order to create the U_q(sl_2) from the output, you have to call the command like 'qring Usl2q = Qideal;'407 SEE ALSO: sl, Qsl3, Qso3 408 EXAMPLE: example Qsl2; shows examples 409 " 410 {404 proc makeQsl2(list #) 405 "USAGE: makeQsl2([n]), n an optional int 406 RETURN: ring 407 PURPOSE: define the U_q(sl_2) as a factor-ring of a ring V_q(sl_2) modulo the ideal @code{Qideal} 408 NOTE: the output consists of a ring, presenting V_q(sl_2) together with the ideal called @code{Qideal} in this ring 409 @* activate this ring with the @code{setring} command 410 @* in order to create the U_q(sl_2) from the output, execute the command like @code{qring Usl2q = Qideal;} 411 @* If n is specified, the quantum parameter q will be specialized at the n-th root of unity 412 SEE ALSO: makeUsl, makeQsl3, makeQso3 413 EXAMPLE: example makeQsl2; shows examples 414 "{ 411 415 ring r=(0,q),(E,F,Ke,Kf),dp; 412 416 int @p = defInt(#); … … 430 434 example 431 435 { "EXAMPLE:"; echo = 2; 432 def A = Qsl2(3);436 def A = makeQsl2(3); 433 437 setring A; 434 438 Qideal; … … 438 442 439 443 /////////////////////////////////////////////////////////////////////////////// 440 proc Qsl3(list #) 441 "USAGE: Qsl3([n]), n an optional integer 442 PURPOSE: set up the U_q(sl_3) = V_q(sl_3) / Qideal via the ring V_q(sl_3) and the ideal 'Qideal' in it; 443 @* if n is specified, the quantum parameter q will be specialized at the n-th root of unity 444 RETURN: ring (V_q(sl_3)) 445 NOTE: you have to activate this ring with the 'setring' command. 446 @* In order to create the U_q(sl_3) from the output, you have to call the command like 'qring Usl3q = Qideal;' 447 SEE ALSO: sl, Qsl2, Qso3 448 EXAMPLE: example Qsl3; shows examples 444 proc makeQsl3(list #) 445 "USAGE: makeQsl3([n]), n an optional int 446 RETURN: ring 447 PURPOSE: define the U_q(sl_3) as a factor-ring of a ring V_q(sl_3) modulo the ideal @code{Qideal} 448 NOTE: the output consists of a ring, presenting V_q(sl_3) together with the ideal called @code{Qideal} in this ring 449 @* activate this ring with the @code{setring} command 450 @* in order to create the U_q(sl_3) from the output, execute the command like @code{qring Usl3q = Qideal;} 451 @* If n is specified, the quantum parameter q will be specialized at the n-th root of unity 452 SEE ALSO: makeUsl, makeQsl2, makeQso3 453 EXAMPLE: example makeQsl3; shows examples 449 454 "{ 450 455 int @p = defInt(#); … … 513 518 C[ 2, 7 ]= q; 514 519 C[ 3, 7 ]= Q; 515 ncalgebra(C,D); // the V_q( sl3) is done520 ncalgebra(C,D); // the V_q(makeUsl3) is done 516 521 ideal Qideal = k1*l1-1, k2*l2-1; 517 522 Qideal = twostd(Qideal); … … 521 526 example 522 527 { "EXAMPLE:"; echo = 2; 523 def B = Qsl3(5);528 def B = makeQsl3(5); 524 529 setring B; 525 530 qring Usl3q = Qideal; … … 536 541 @* @code{v} is an optional intvec. 537 542 @* In addition, the ideal called @code{GKZid} containing actual equations is calculated and exported to the ring. 538 NOTE: activate the ring with the \"setring\"command. This procedure is elaborated by Oleksandr Yena543 NOTE: activate the ring with the @code{setring} command. This procedure is elaborated by Oleksandr Yena 539 544 ASSUME: This procedure uses toric_lib and therefore inherits its input requirements: 540 545 @* possible values for input variable @code{alg} are: \"ect\",\"pt\",\"blr\", \"hs\", \"du\". -
Singular/LIB/ncdecomp.lib
r46f327b r4caa6c 1 1 /////////////////////////////////////////////////////////////////////////////// 2 version="$Id: ncdecomp.lib,v 1.1 0 2005-05-18 18:09:12levandov Exp $";2 version="$Id: ncdecomp.lib,v 1.11 2005-05-18 20:51:15 levandov Exp $"; 3 3 category="Noncommutative"; 4 4 info=" … … 128 128 { "EXAMPLE:"; echo = 2; 129 129 option(returnSB); 130 def a = sl2();130 def a = makeUsl2(); 131 131 setring a; 132 132 ideal I = e3,f3,h3-4*h; … … 167 167 { "EXAMPLE:"; echo = 2; 168 168 option(returnSB); 169 def a = sl2();169 def a = makeUsl2(); 170 170 setring a; 171 171 ideal I = e3,f3,h3-4*h; … … 318 318 { "EXAMPLE:"; echo = 2; 319 319 option(returnSB); 320 def a = sl2(); // U(sl_2) in characteristic 0320 def a = makeUsl2(); // U(sl_2) in characteristic 0 321 321 setring a; 322 322 ideal I = e3,f3,h3-4*h; -
Singular/LIB/nctools.lib
r46f327b r4caa6c 1 1 /////////////////////////////////////////////////////////////////////////////// 2 version="$Id: nctools.lib,v 1.1 4 2005-05-18 18:09:12levandov Exp $";2 version="$Id: nctools.lib,v 1.15 2005-05-18 20:51:16 levandov Exp $"; 3 3 category="Noncommutative"; 4 4 info=" … … 665 665 "USAGE: makeHeisenberg(n, [p,d]); int n (setting 2n+1 variables), optional int p (field characteristic), optional int d (power of h in the commutator) 666 666 RETURN: nothing 667 PURPOSE: create an n-th Heisenberg algebra in the variables 668 x(1),y(1),...,x(n),y(n),h 667 PURPOSE: create an n-th Heisenberg algebra in the variables x(1),y(1),...,x(n),y(n),h 669 668 SEE ALSO: makeWeyl 670 669 NOTE: activate this ring with the \"setring\" command … … 714 713 PURPOSE: create the exterior algebra of a basering 715 714 NOTE: activate this qring with the \"setring\" command 716 THEORY: given a basering, this procedure introduces the anticommutative relations x(j)x(i)=-x(i)x(j) for all j>i and, moreover, creates a factor algebra modulo the two-sided ideal, generated by x(i)^2 for all i 715 THEORY: given a basering, this procedure introduces the anticommutative relations x(j)x(i)=-x(i)x(j) for all j>i, 716 @* moreover, creates a factor algebra modulo the two-sided ideal, generated by x(i)^2 for all i 717 717 EXAMPLE: example Exterior; shows examples 718 718 "
Note: See TracChangeset
for help on using the changeset viewer.