Changeset cc055e0 in git
 Timestamp:
 Apr 10, 2018, 5:18:26 PM (5 years ago)
 Branches:
 (u'spielwiese', '8e0ad00ce244dfd0756200662572aef8402f13d5')
 Children:
 ad3f9d3251be478eb821609173621d0466a50772c1af7fb9ab8e720d1a1fed0afc5d8e134af9d107
 Parents:
 b8ee1dfa9dba7b7a899c793b3be8f9d27110344b
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

Singular/LIB/fpalgebras.lib
rb8ee1df rcc055e0 1 1 //////////////////////////////////////////////////////////////// 2 version="version fpalgebras.lib 4.1.1.0 Mar_2018 "; 2 version="version fpalgebras.lib 4.1.1.0 Mar_2018 "; // $Id$ 3 3 category="Noncommutative"; 4 4 info=" 5 5 LIBRARY: fpalgebras.lib 6 6 AUTHORS: Karim Abou Zeid, karim.abou.zeid at rwthaachen.de 7 @*Grischa Studzinski, grischa.studzinski at rwthaachen.de7 Grischa Studzinski, grischa.studzinski at rwthaachen.de 8 8 9 9 Support: Project II.6 in the transregional collaborative research centre … … 16 16 operatorAlgebra(string a, int d); 17 17 baumslagSolitar(int n, int m, int d, list #); 18 baumslag (int m, int n, int d);18 baumslagGroup(int m, int n, int d); 19 19 crystallographicGroupP1(int d); 20 20 crystallographicGroupPM(int d); … … 53 53 RETURN: ring 54 54 NOTE:  the ring contains the ideal I, which contains the required relations 55 @* a gives the name of the algebra56 @* d gives the degreebound for the Letterplace ring57 @* 58 @*a must be one of the following:59 @*integrodiff360 @*toeplitz61 @*weyl162 @*usl263 @*usl2h64 @*shift1inverse65 @*exterior266 @*quadrowmm67 @*shift168 @*weyl1inverse69 @* 70 @*This is a collection of common algebras71 @* 55  a gives the name of the algebra 56  d gives the degreebound for the Letterplace ring 57 58 a must be one of the following: 59 integrodiff3 60 toeplitz 61 weyl1 62 usl2 63 usl2h 64 shift1inverse 65 exterior2 66 quadrowmm 67 shift1 68 weyl1inverse 69 70 This is a collection of common algebras 71 72 72 " 73 73 { … … 178 178 RETURN: ring 179 179 NOTE:  the ring contains the ideal I, which contains the required relations 180 @*  in the group case: A = a^(1), B = b^(1) 181 @*  negativ input is only allowed in the group case! 182 @*  d gives a degreebound and must be >m,n 183 @* 184 @* This is a family 185 @* 180  in the group case: A = a^(1), B = b^(1) 181  negativ input is only allowed in the group case! 182  d gives a degreebound and must be >m,n 183 184 This is a family 186 185 " 187 186 { … … 219 218 export(I); 220 219 if (baseringdef == 1) {setring save;} 221 return(Mr); 220 return(Mr); 222 221 } 223 222 else … … 237 236 if (n==0) {p = b(1);} 238 237 else 239 {if (n > 0) 238 {if (n > 0) 240 239 { 241 240 p = a(1)*b(2); … … 250 249 if (m==0) {q = b(1);} 251 250 else 252 {if (m > 0) 251 {if (m > 0) 253 252 { 254 253 q = b(1)*a(2); … … 264 263 export(I); 265 264 if (baseringdef == 1) {setring save;} 266 return(Gr); 267 } 268 } 269 example { 265 return(Gr); 266 } 267 } 268 example 269 { 270 270 "EXAMPLE:"; echo = 2; 271 271 def R = baumslagSolitar(2,3,4); setring R; … … 277 277 RETURN: ring 278 278 NOTE:  the ring contains the ideal I, which contains the required relations 279 @*  Baumslag group with the following presentation 280 @* < a, b  a^m = b^n = 1 > 281 @* d gives the degreebound for the Letterplace ring 282 @* 283 @* This is a family 284 @* 279  Baumslag group with the following presentation 280 < a, b  a^m = b^n = 1 > 281 d gives the degreebound for the Letterplace ring 282 283 This is a family 285 284 " 286 285 { … … 299 298 return(R); 300 299 } 301 example { 302 "EXAMPLE:"; echo = 2; 303 def R = baumslag(2,3,4); setring R; 300 example 301 { 302 "EXAMPLE:"; echo = 2; 303 def R = baumslagGroup(2,3,4); setring R; 304 304 I; 305 305 } … … 314 314 RETURN: ring 315 315 NOTE:  the ring contains the ideal I, which contains the required relations 316 @* p1 group with the following presentation317 @*< x, y  [x, y] = 1 >318 @*d gives the degreebound for the Letterplace ring316  p1 group with the following presentation 317 < x, y  [x, y] = 1 > 318 d gives the degreebound for the Letterplace ring 319 319 " 320 320 { 321 321 if (d < 2){ERROR("Degreebound is to small for choosen example!");} 322 322 323 323 int baseringdef; 324 324 if (defined(basering)) // if a basering is defined, it should be saved for later use … … 330 330 def R = makeLetterplaceRing(d); 331 331 setring R; 332 ideal I = x(1)*y(2)y(1)*x(2)1, X(1)*x(2)1, x(1)*X(2)1, y(1)*Y(2)1, Y(1)*y(2)1; 333 I = simplify(I,2); 334 export(I); 335 if (baseringdef == 1) {setring save;} 336 return(R); 337 } 338 example { 332 ideal I = x(1)*y(2)y(1)*x(2)1, X(1)*x(2)1, x(1)*X(2)1, y(1)*Y(2)1, Y(1)*y(2)1; 333 I = simplify(I,2); 334 export(I); 335 if (baseringdef == 1) {setring save;} 336 return(R); 337 } 338 example 339 { 339 340 "EXAMPLE:"; echo = 2; 340 341 def R = crystallographicGroupP1(5); setring R; … … 351 352 /* { */ 352 353 /* if (d < 3){ERROR("Degreebound is to small for choosen example!");} */ 353 354 354 355 /* int baseringdef; */ 355 356 /* if (defined(basering)) // if a basering is defined, it should be saved for later use */ … … 361 362 /* def R = makeLetterplaceRing(d); */ 362 363 /* setring R; */ 363 /* ideal I = x(1)*y(2)y(1)*x(2)1, x(1)*y(2)y(1)*x(2)r(1)*r(2), r(1)*r(2)1, r(1)*x(2)*r(3)X(1), r(1)*y(2)*r(3)Y(1),x(1)*X(2)1, */ 364 /* ideal I = x(1)*y(2)y(1)*x(2)1, x(1)*y(2)y(1)*x(2)r(1)*r(2), r(1)*r(2)1, r(1)*x(2)*r(3)X(1), r(1)*y(2)*r(3)Y(1),x(1)*X(2)1, */ 364 365 /* X(1)*x(2)1, Y(1)*y(2)1, y(1)*Y(2)1; */ 365 366 /* I = simplify(I,2); */ … … 373 374 RETURN: ring 374 375 NOTE:  the ring contains the ideal I, which contains the required relations 375 @* pm group with the following presentation376 @*< x, y, m  [x, y] = m^2 = 1, m^1*x*m = x, m^1*y*m = y^1 >377 @* d gives the degreebound for the Letterplace ring376  pm group with the following presentation 377 < x, y, m  [x, y] = m^2 = 1, m^1*x*m = x, m^1*y*m = y^1 > 378  d gives the degreebound for the Letterplace ring 378 379 " 379 380 { 380 381 if (d < 3){ERROR("Degreebound is to small for choosen example!");} 381 382 382 383 int baseringdef; 383 384 if (defined(basering)) // if a basering is defined, it should be saved for later use … … 389 390 def R = makeLetterplaceRing(d); 390 391 setring R; 391 ideal I = x(1)*y(2)y(1)*x(2)1, x(1)*y(2)y(1)*x(2)m(1)*m(2), m(1)*m(2)1, m(1)*x(2)*m(3)x(1), m(1)*y(2)*m(3)Y(1),x(1)*X(2)1, 392 ideal I = x(1)*y(2)y(1)*x(2)1, x(1)*y(2)y(1)*x(2)m(1)*m(2), m(1)*m(2)1, m(1)*x(2)*m(3)x(1), m(1)*y(2)*m(3)Y(1),x(1)*X(2)1, 392 393 X(1)*x(2)1, Y(1)*y(2)1, y(1)*Y(2)1; 393 394 I = simplify(I,2); … … 396 397 return(R); 397 398 } 398 example { 399 example 400 { 399 401 "EXAMPLE:"; echo = 2; 400 402 def R = crystallographicGroupPM(5); setring R; … … 406 408 RETURN: ring 407 409 NOTE:  the ring contains the ideal I, which contains the required relations 408 @* pg group with the following presentation409 @*< x, y, t  [x, y] = 1, t^2 = x, t^1*y*t = y^1 >410 @* d gives the degreebound for the Letterplace ring410  pg group with the following presentation 411 < x, y, t  [x, y] = 1, t^2 = x, t^1*y*t = y^1 > 412  d gives the degreebound for the Letterplace ring 411 413 " 412 414 { 413 415 if (d < 3){ERROR("Degreebound is to small for choosen example!");} 414 416 415 417 int baseringdef; 416 418 if (defined(basering)) // if a basering is defined, it should be saved for later use … … 422 424 def R = makeLetterplaceRing(d); 423 425 setring R; 424 ideal I = x(1)*y(2)y(1)*x(2)1, t(1)*t(2)  x(1), T(1)*y(2)*t(3)Y(1), X(1)*x(2)1, x(1)*X(2)1, 426 ideal I = x(1)*y(2)y(1)*x(2)1, t(1)*t(2)  x(1), T(1)*y(2)*t(3)Y(1), X(1)*x(2)1, x(1)*X(2)1, 425 427 Y(1)*y(2)1, y(1)*Y(2)1, t(1)*T(2)1, T(1)*t(2)1; 426 428 I = simplify(I,2); … … 429 431 return(R); 430 432 } 431 example { 433 example 434 { 432 435 "EXAMPLE:"; echo = 2; 433 436 def R = crystallographicGroupPG(5); setring R; … … 440 443 RETURN: ring 441 444 NOTE:  the ring contains the ideal I, which contains the required relations 442 @* p2mm group with the following presentation443 @*< x, y, p, q  [x, y] = [p, q] = p^2 = q^2 = 1, p^1*x*p = x, q^1*x*q = x^1, p^1*y*p = y^1, q^1*y*q = y >444 @* d gives the degreebound for the Letterplace ring445  p2mm group with the following presentation 446 < x, y, p, q  [x, y] = [p, q] = p^2 = q^2 = 1, p^1*x*p = x, q^1*x*q = x^1, p^1*y*p = y^1, q^1*y*q = y > 447  d gives the degreebound for the Letterplace ring 445 448 " 446 449 { 447 450 if (d < 3){ERROR("Degreebound is to small for choosen example!");} 448 451 449 452 int baseringdef; 450 453 if (defined(basering)) // if a basering is defined, it should be saved for later use … … 456 459 def R = makeLetterplaceRing(d); 457 460 setring R; 458 ideal I = x(1)*y(2)y(1)*x(2)1, p(1)*q(2)q(1)*p(2)1, p(1)*p(2)  1, q(1)*q(2)  1, p(1)*y(2)*p(3)Y(1), p(1)*x(2)*p(3)x(1), 461 ideal I = x(1)*y(2)y(1)*x(2)1, p(1)*q(2)q(1)*p(2)1, p(1)*p(2)  1, q(1)*q(2)  1, p(1)*y(2)*p(3)Y(1), p(1)*x(2)*p(3)x(1), 459 462 q(1)*y(2)*q(3)y(1), q(1)*x(2)*q(3)X(1), X(1)*x(2)1, x(1)*X(2)1, Y(1)*y(2)1, y(1)*Y(2)1, x(1)*y(2)y(1)*x(2) p(1)*p(2), 460 463 x(1)*y(2)y(1)*x(2) q(1)*q(2), p(1)*p(2)q(1)*q(2); … … 464 467 return(R); 465 468 } 466 example { 469 example 470 { 467 471 "EXAMPLE:"; echo = 2; 468 472 def R = crystallographicGroupP2MM(5); setring R; … … 474 478 RETURN: ring 475 479 NOTE:  the ring contains the ideal I, which contains the required relations 476 @* p2 group with the following presentation477 @*< x, y, m, t  [x, y] = t^2 = 1, m^2 = y, t^1*x*t = x, m^1*x*m = x^1, t^1*y*t = y^1, t^1*m*t = m^1 >478 @* d gives the degreebound for the Letterplace ring480  p2 group with the following presentation 481 < x, y, m, t  [x, y] = t^2 = 1, m^2 = y, t^1*x*t = x, m^1*x*m = x^1, t^1*y*t = y^1, t^1*m*t = m^1 > 482  d gives the degreebound for the Letterplace ring 479 483 " 480 484 { 481 485 if (d < 3){ERROR("Degreebound is to small for choosen example!");} 482 486 483 487 int baseringdef; 484 488 if (defined(basering)) // if a basering is defined, it should be saved for later use … … 490 494 def R = makeLetterplaceRing(d); 491 495 setring R; 492 ideal I = x(1)*y(2)y(1)*x(2)1, x(1)*y(2)y(1)*x(2)t(1)*t(2), m(1)*m(2)y(1), t(1)*t(2)  1, t(1)*x(2)*t(3)x(1), 493 M(1)*x(2)*m(3)X(1), t(1)*y(2)*t(3)Y(1), t(1)*m(2)*t(3)M(1), X(1)*x(2)1, x(1)*X(2)1, Y(1)*y(2)1, y(1)*Y(2)1, 496 ideal I = x(1)*y(2)y(1)*x(2)1, x(1)*y(2)y(1)*x(2)t(1)*t(2), m(1)*m(2)y(1), t(1)*t(2)  1, t(1)*x(2)*t(3)x(1), 497 M(1)*x(2)*m(3)X(1), t(1)*y(2)*t(3)Y(1), t(1)*m(2)*t(3)M(1), X(1)*x(2)1, x(1)*X(2)1, Y(1)*y(2)1, y(1)*Y(2)1, 494 498 m(1)*M(2)1, M(1)*m(2)1; 495 499 I = simplify(I,2); … … 498 502 return(R); 499 503 } 500 example { 504 example 505 { 501 506 "EXAMPLE:"; echo = 2; 502 507 def R = crystallographicGroupP2(5); setring R; … … 508 513 RETURN: ring 509 514 NOTE:  the ring contains the ideal I, which contains the required relations 510 @* p2gg group with the following presentation511 @*< x, y, u, v  [x, y] = (u*v)^2 = 1, u^2 = x, v^2 = y, v^1*x*v = x^1, u^1*y*u = y^1 >512 @* d gives the degreebound for the Letterplace ring515  p2gg group with the following presentation 516 < x, y, u, v  [x, y] = (u*v)^2 = 1, u^2 = x, v^2 = y, v^1*x*v = x^1, u^1*y*u = y^1 > 517  d gives the degreebound for the Letterplace ring 513 518 " 514 519 { 515 520 if (d < 4){ERROR("Degreebound is to small for choosen example!");} 516 521 517 522 int baseringdef; 518 523 if (defined(basering)) // if a basering is defined, it should be saved for later use … … 524 529 def R = makeLetterplaceRing(d); 525 530 setring R; 526 ideal I = x(1)*y(2)y(1)*x(2)1, x(1)*y(2)y(1)*x(2)u(1)*v(2)*u(3)*v(4), u(1)*v(2)*u(3)*v(4)1, u(1)*u(2)x(1), v(1)*v(2)  y(1), 527 V(1)*x(2)*v(3)X(1), U(1)*y(2)*u(3)Y(1), 531 ideal I = x(1)*y(2)y(1)*x(2)1, x(1)*y(2)y(1)*x(2)u(1)*v(2)*u(3)*v(4), u(1)*v(2)*u(3)*v(4)1, u(1)*u(2)x(1), v(1)*v(2)  y(1), 532 V(1)*x(2)*v(3)X(1), U(1)*y(2)*u(3)Y(1), 528 533 X(1)*x(2)1, x(1)*X(2)1, Y(1)*y(2)1, y(1)*Y(2)1, u(1)*U(2)1, U(1)*u(2)1, v(1)*V(2)1, V(1)*v(2)1; 529 534 I = simplify(I,2); … … 532 537 return(R); 533 538 } 534 example { 539 example 540 { 535 541 "EXAMPLE:"; echo = 2; 536 542 def R = crystallographicGroupP2GG(5); setring R; … … 542 548 RETURN: ring 543 549 NOTE:  the ring contains the ideal I, which contains the required relations 544 @* cm group with the following presentation545 @* < x, y, t  [x, y] = t^2 = 1, t^1*x*t = x*y, t^1*y*t = y^1 > 546 @* d gives the degreebound for the Letterplace ring550  cm group with the following presentation 551 < x, y, t  [x, y] = t^2 = 1, t^1*x*t = x*y, t^1*y*t = y^1 > 552  d gives the degreebound for the Letterplace ring 547 553 " 548 554 { 549 555 if (d < 3){ERROR("Degreebound is to small for choosen example!");} 550 556 551 557 int baseringdef; 552 558 if (defined(basering)) // if a basering is defined, it should be saved for later use … … 558 564 def R = makeLetterplaceRing(d); 559 565 setring R; 560 ideal I = x(1)*y(2)y(1)*x(2)1, x(1)*y(2)y(1)*x(2)t(1)*t(2), t(1)*t(2)1, 561 t(1)*x(2)*t(3)x(1)*y(2), t(1)*y(2)*t(3)Y(1), 566 ideal I = x(1)*y(2)y(1)*x(2)1, x(1)*y(2)y(1)*x(2)t(1)*t(2), t(1)*t(2)1, 567 t(1)*x(2)*t(3)x(1)*y(2), t(1)*y(2)*t(3)Y(1), 562 568 X(1)*x(2)1, x(1)*X(2)1, Y(1)*y(2)1, y(1)*Y(2)1; 563 569 I = simplify(I,2); … … 566 572 return(R); 567 573 } 568 example { 574 example 575 { 569 576 "EXAMPLE:"; echo = 2; 570 577 def R = crystallographicGroupCM(5); setring R; … … 576 583 RETURN: ring 577 584 NOTE:  the ring contains the ideal I, which contains the required relations 578 @* c2mm group with the following presentation579 @*< x, y, m, r  [x, y] = m^2 = r^2 = 1, m^1*y*m = y^1, m^1*x*m = x*y, r^1*y*r = y^1, r^1*x*r = x^1, m^1*r*m = r^1 >580 @* d gives the degreebound for the Letterplace ring585  c2mm group with the following presentation 586 < x, y, m, r  [x, y] = m^2 = r^2 = 1, m^1*y*m = y^1, m^1*x*m = x*y, r^1*y*r = y^1, r^1*x*r = x^1, m^1*r*m = r^1 > 587  d gives the degreebound for the Letterplace ring 581 588 " 582 589 { 583 590 if (d < 3){ERROR("Degreebound is to small for choosen example!");} 584 591 585 592 int baseringdef; 586 593 if (defined(basering)) // if a basering is defined, it should be saved for later use … … 592 599 def R = makeLetterplaceRing(d); 593 600 setring R; 594 ideal I = x(1)*y(2)y(1)*x(2)1, x(1)*y(2)y(1)*x(2)m(1)*m(2), x(1)*y(2)y(1)*x(2)r(1)*r(2), m(1)*m(2)1, r(1)*r(2)1, 595 m(1)*m(2)r(1)*r(2), m(1)*y(2)*m(3)Y(1), m(1)*x(2)*m(3)x(1)*y(2), (1)*y(2)*r(3)Y(1), r(1)*x(2)*r(3)X(1), m(1)*r(2)*m(3)r(1), 601 ideal I = x(1)*y(2)y(1)*x(2)1, x(1)*y(2)y(1)*x(2)m(1)*m(2), x(1)*y(2)y(1)*x(2)r(1)*r(2), m(1)*m(2)1, r(1)*r(2)1, 602 m(1)*m(2)r(1)*r(2), m(1)*y(2)*m(3)Y(1), m(1)*x(2)*m(3)x(1)*y(2), (1)*y(2)*r(3)Y(1), r(1)*x(2)*r(3)X(1), m(1)*r(2)*m(3)r(1), 596 603 X(1)*x(2)1, x(1)*X(2)1, Y(1)*y(2)1, y(1)*Y(2)1; 597 604 I = simplify(I,2); … … 600 607 return(R); 601 608 } 602 example { 609 example 610 { 603 611 "EXAMPLE:"; echo = 2; 604 612 def R = crystallographicGroupC2MM(5); setring R; … … 610 618 RETURN: ring 611 619 NOTE:  the ring contains the ideal I, which contains the required relations 612 @* p4 group with the following presentation613 @* < x, y, r  [x, y] = r^4 = 1, r^1*x*r = x^1, r^1*x*r = y > 614 @* d gives the degreebound for the Letterplace ring620  p4 group with the following presentation 621 < x, y, r  [x, y] = r^4 = 1, r^1*x*r = x^1, r^1*x*r = y > 622  d gives the degreebound for the Letterplace ring 615 623 " 616 624 { 617 625 if (d < 5){ERROR("Degreebound is to small for choosen example!");} 618 626 619 627 int baseringdef; 620 628 if (defined(basering)) // if a basering is defined, it should be saved for later use … … 626 634 def R = makeLetterplaceRing(d); 627 635 setring R; 628 ideal I = x(1)*y(2)y(1)*x(2)1, x(1)*y(2)y(1)*x(2)r(1)*r(2)*r(3)*r(4), r(1)*r(2)*r(3)*r(4)1, 629 r(1)*r(2)*r(3)*x(4)*r(5)X(1), r(1)*r(2)*r(3)*x(4)*r(5)y(1), 636 ideal I = x(1)*y(2)y(1)*x(2)1, x(1)*y(2)y(1)*x(2)r(1)*r(2)*r(3)*r(4), r(1)*r(2)*r(3)*r(4)1, 637 r(1)*r(2)*r(3)*x(4)*r(5)X(1), r(1)*r(2)*r(3)*x(4)*r(5)y(1), 630 638 X(1)*x(2)1, x(1)*X(2)1, Y(1)*y(2)1, y(1)*Y(2)1; 631 639 I = simplify(I,2); … … 634 642 return(R); 635 643 } 636 example { 644 example 645 { 637 646 "EXAMPLE:"; echo = 2; 638 647 def R = crystallographicGroupP4(5); setring R; … … 644 653 RETURN: ring 645 654 NOTE:  the ring contains the ideal I, which contains the required relations 646 @* p4mm group with the following presentation647 @*< x, y, r, m  [x, y] = r^4 = m^2 = 1, r^1*y*r = x^1, r^1*x*r = y, m^1*x*m = y, m^1*r*m = r^1 >648 @* d gives the degreebound for the Letterplace ring655  p4mm group with the following presentation 656 < x, y, r, m  [x, y] = r^4 = m^2 = 1, r^1*y*r = x^1, r^1*x*r = y, m^1*x*m = y, m^1*r*m = r^1 > 657  d gives the degreebound for the Letterplace ring 649 658 " 650 659 { 651 660 if (d < 5){ERROR("Degreebound is to small for choosen example!");} 652 661 653 662 int baseringdef; 654 663 if (defined(basering)) // if a basering is defined, it should be saved for later use … … 660 669 def R = makeLetterplaceRing(d); 661 670 setring R; 662 ideal I = x(1)*y(2)y(1)*x(2)1, x(1)*y(2)y(1)*x(2)r(1)*r(2)*r(3)*r(4), r(1)*r(2)*r(3)*r(4)1, 663 r(1)*r(2)*r(3)*x(4)*r(5)X(1), r(1)*r(2)*r(3)*x(4)*r(5)y(1), 671 ideal I = x(1)*y(2)y(1)*x(2)1, x(1)*y(2)y(1)*x(2)r(1)*r(2)*r(3)*r(4), r(1)*r(2)*r(3)*r(4)1, 672 r(1)*r(2)*r(3)*x(4)*r(5)X(1), r(1)*r(2)*r(3)*x(4)*r(5)y(1), 664 673 X(1)*x(2)1, x(1)*X(2)1, Y(1)*y(2)1, y(1)*Y(2)1; 665 674 I = simplify(I,2); … … 668 677 return(R); 669 678 } 670 example { 679 example 680 { 671 681 "EXAMPLE:"; echo = 2; 672 682 def R = crystallographicGroupP4MM(5); setring R; … … 678 688 RETURN: ring 679 689 NOTE:  the ring contains the ideal I, which contains the required relations 680 @* p4gm group with the following presentation681 @*< x, y, r, t  [x, y] = r^4 = t^2 = 1, r^1*y*r = x^1, r^1*x*r = y, t^1*x*t = y, t^1*r*t = x^1*r^1>682 @* d gives the degreebound for the Letterplace ring690  p4gm group with the following presentation 691 < x, y, r, t  [x, y] = r^4 = t^2 = 1, r^1*y*r = x^1, r^1*x*r = y, t^1*x*t = y, t^1*r*t = x^1*r^1> 692  d gives the degreebound for the Letterplace ring 683 693 " 684 694 { 685 695 if (d < 5){ERROR("Degreebound is to small for choosen example!");} 686 696 687 697 int baseringdef; 688 698 if (defined(basering)) // if a basering is defined, it should be saved for later use … … 695 705 setring R; 696 706 ideal I = x(1)*y(2)y(1)*x(2)1, x(1)*y(2)y(1)*x(2)r(1)*r(2)*r(3)*r(4), r(1)*r(2)*r(3)*r(4)1, x(1)*y(2)y(1)*x(2)t(1)*t(2), 697 t(1)*t(2)1, r(1)*r(2)*r(3)*r(4)t(1)*t(2), r(1)*r(2)*r(3)*y(4)*r(5)X(1), r(1)*r(2)*r(3)*x(4)*r(5)y(1), 707 t(1)*t(2)1, r(1)*r(2)*r(3)*r(4)t(1)*t(2), r(1)*r(2)*r(3)*y(4)*r(5)X(1), r(1)*r(2)*r(3)*x(4)*r(5)y(1), 698 708 t(1)*r(2)*t(3)X(1)*r(2)*r(3)*r(4), X(1)*x(2)1, x(1)*X(2)1, Y(1)*y(2)1, y(1)*Y(2)1; 699 709 I = simplify(I,2); … … 702 712 return(R); 703 713 } 704 example { 714 example 715 { 705 716 "EXAMPLE:"; echo = 2; 706 717 def R = crystallographicGroupP4GM(5); setring R; … … 712 723 RETURN: ring 713 724 NOTE:  the ring contains the ideal I, which contains the required relations 714 @* p3 group with the following presentation715 @*< x, y, r  [x, y] = r^3 = 1, r^1*x*r = x^1*y, r^1*y*r = x^1>716 @* d gives the degreebound for the Letterplace ring725  p3 group with the following presentation 726 < x, y, r  [x, y] = r^3 = 1, r^1*x*r = x^1*y, r^1*y*r = x^1> 727  d gives the degreebound for the Letterplace ring 717 728 " 718 729 { 719 730 if (d < 4){ERROR("Degreebound is to small for choosen example!");} 720 731 721 732 int baseringdef; 722 733 if (defined(basering)) // if a basering is defined, it should be saved for later use … … 728 739 def R = makeLetterplaceRing(d); 729 740 setring R; 730 ideal I = x(1)*y(2)y(1)*x(2)1, x(1)*y(2)y(1)*x(2)r(1)*r(2)*r(3), r(1)*r(2)*r(3)1, 741 ideal I = x(1)*y(2)y(1)*x(2)1, x(1)*y(2)y(1)*x(2)r(1)*r(2)*r(3), r(1)*r(2)*r(3)1, 731 742 r(1)*r(2)*x(3)*r(4)X(1)*y(2), r(1)*r(2)*y(3)*r(4)X(1), X(1)*x(2)1, x(1)*X(2)1, Y(1)*y(2)1, y(1)*Y(2)1; 732 743 I = simplify(I,2); … … 735 746 return(R); 736 747 } 737 example { 748 example 749 { 738 750 "EXAMPLE:"; echo = 2; 739 751 def R = crystallographicGroupP3(5); setring R; … … 745 757 RETURN: ring 746 758 NOTE:  the ring contains the ideal I, which contains the required relations 747 @* p31m group with the following presentation748 @*< x, y, r, t  [x, y] = r^2 = t^2 = (t*r)^3 = 1, r^1*x*r = x, t^1*y*t = y, t^1*x*t = x^1*y, r^1*y*r = x*y^1 >749 @* d gives the degreebound for the Letterplace ring759  p31m group with the following presentation 760 < x, y, r, t  [x, y] = r^2 = t^2 = (t*r)^3 = 1, r^1*x*r = x, t^1*y*t = y, t^1*x*t = x^1*y, r^1*y*r = x*y^1 > 761  d gives the degreebound for the Letterplace ring 750 762 " 751 763 { 752 764 if (d < 6){ERROR("Degreebound is to small for choosen example!");} 753 765 754 766 int baseringdef; 755 767 if (defined(basering)) // if a basering is defined, it should be saved for later use … … 762 774 setring R; 763 775 ideal I = x(1)*y(2)y(1)*x(2)1, x(1)*y(2)y(1)*x(2)r(1)*r(2), x(1)*y(2)y(1)*x(2)t(1)*t(2), r(1)*r(2)1, t(1)*t(2)1, 764 t(1)*r(2)*t(3)*r(4)*t(5)*r(6)1, r(1)*r(2)t(1)*t(2), x(1)*y(2)y(1)*x(2)t(1)*r(2)*t(3)*r(4)*t(5)*r(6), 776 t(1)*r(2)*t(3)*r(4)*t(5)*r(6)1, r(1)*r(2)t(1)*t(2), x(1)*y(2)y(1)*x(2)t(1)*r(2)*t(3)*r(4)*t(5)*r(6), 765 777 t(1)*r(2)*t(3)*r(4)*t(5)*r(6)r(1)*r(2), t(1)*r(2)*t(3)*r(4)*t(5)*r(6)t(1)*t(2), 766 r(1)*x(2)*r(3)x(1), t(1)*y(2)*t(3)y(1), t(1)*x(2)*t(3)X(1)*y(2), r(1)*y(2)*r(3)x(1)*Y(2), 778 r(1)*x(2)*r(3)x(1), t(1)*y(2)*t(3)y(1), t(1)*x(2)*t(3)X(1)*y(2), r(1)*y(2)*r(3)x(1)*Y(2), 767 779 X(1)*x(2)1, x(1)*X(2)1, Y(1)*y(2)1, y(1)*Y(2)1; 768 780 I = simplify(I,2); … … 771 783 return(R); 772 784 } 773 example { 785 example 786 { 774 787 "EXAMPLE:"; echo = 2; 775 788 def R = crystallographicGroupP31M(6); setring R; … … 781 794 RETURN: ring 782 795 NOTE:  the ring contains the ideal I, which contains the required relations 783 @* p3m1 group with the following presentation784 @*< x, y, r, m  [x, y] = r^3 = m^2 = 1, m^1*r*m = r^2, r^1*x*r = x^1*y, r^1*y*r = x^1, m^1*x*m = x^1, m^1*y*m = x^1*y >785 @* d gives the degreebound for the Letterplace ring796  p3m1 group with the following presentation 797 < x, y, r, m  [x, y] = r^3 = m^2 = 1, m^1*r*m = r^2, r^1*x*r = x^1*y, r^1*y*r = x^1, m^1*x*m = x^1, m^1*y*m = x^1*y > 798  d gives the degreebound for the Letterplace ring 786 799 " 787 800 { 788 801 if (d < 4){ERROR("Degreebound is to small for choosen example!");} 789 802 790 803 int baseringdef; 791 804 if (defined(basering)) // if a basering is defined, it should be saved for later use … … 805 818 return(R); 806 819 } 807 example { 820 example 821 { 808 822 "EXAMPLE:"; echo = 2; 809 823 def R = crystallographicGroupP3M1(5); setring R; … … 815 829 RETURN: ring 816 830 NOTE:  the ring contains the ideal I, which contains the required relations 817 @* p6 group with the following presentation818 @*< x, y, r  [x, y] = r^6 = 1, r^1*x*r = y, r^1*y*r = x^1*y>819 @* d gives the degreebound for the Letterplace ring831  p6 group with the following presentation 832 < x, y, r  [x, y] = r^6 = 1, r^1*x*r = y, r^1*y*r = x^1*y> 833  d gives the degreebound for the Letterplace ring 820 834 " 821 835 { 822 836 if (d < 7){ERROR("Degreebound is to small for choosen example!");} 823 837 824 838 int baseringdef; 825 839 if (defined(basering)) // if a basering is defined, it should be saved for later use … … 839 853 return(R); 840 854 } 841 example { 855 example 856 { 842 857 "EXAMPLE:"; echo = 2; 843 858 def R = crystallographicGroupP6(7); setring R; … … 849 864 RETURN: ring 850 865 NOTE:  the ring contains the ideal I, which contains the required relations 851 @* p6mm group with the following presentation852 @*< x, y, r, m  [x, y] = r^6 = m^2 = 1, r^1*y*r = x^1*y, r^1*x*r = y, m^1*x*m = x^1, m^1*y*m = x^1*y, m^1*r*m = r^1*y>853 @* d gives the degreebound for the Letterplace ring866  p6mm group with the following presentation 867 < x, y, r, m  [x, y] = r^6 = m^2 = 1, r^1*y*r = x^1*y, r^1*x*r = y, m^1*x*m = x^1, m^1*y*m = x^1*y, m^1*r*m = r^1*y> 868  d gives the degreebound for the Letterplace ring 854 869 " 855 870 { 856 871 if (d < 7){ERROR("Degreebound is to small for choosen example!");} 857 872 858 873 int baseringdef; 859 874 if (defined(basering)) // if a basering is defined, it should be saved for later use … … 865 880 def R = makeLetterplaceRing(d); 866 881 setring R; 867 ideal I = x(1)*y(2)y(1)*x(2)1, x(1)*y(2)y(1)*x(2)r(1)*r(2)*r(3)*r(4)*r(5)*r(6), r(1)*r(2)*r(3)*r(4)*r(5)*r(6)1, 868 x(1)*y(2)y(1)*x(2)m(1)*m(2), r(1)*r(2)*r(3)*r(4)*r(5)*r(6)m(1)*m(2), m(1)*m(2)1, m(1)*x(2)*m(3)X(1), m(1)*y(2)*m(3)X(1)*y(2), 882 ideal I = x(1)*y(2)y(1)*x(2)1, x(1)*y(2)y(1)*x(2)r(1)*r(2)*r(3)*r(4)*r(5)*r(6), r(1)*r(2)*r(3)*r(4)*r(5)*r(6)1, 883 x(1)*y(2)y(1)*x(2)m(1)*m(2), r(1)*r(2)*r(3)*r(4)*r(5)*r(6)m(1)*m(2), m(1)*m(2)1, m(1)*x(2)*m(3)X(1), m(1)*y(2)*m(3)X(1)*y(2), 869 884 r(1)*r(2)*r(3)*r(4)*r(5)*x(6)*r(7)y(1), r(1)*r(2)*r(3)*r(4)*r(5)*y(6)*r(7)X(1)*y(2), m(1)*r(2)*m(3) r(1)*r(2)*r(3)*r(4)*r(5)*y(6), 870 885 X(1)*x(2)1, x(1)*X(2)1, Y(1)*y(2)1, y(1)*Y(2)1; … … 874 889 return(R); 875 890 } 876 example { 891 example 892 { 877 893 "EXAMPLE:"; echo = 2; 878 894 def R = crystallographicGroupP6MM(7); setring R; … … 889 905 RETURN: ring 890 906 NOTE:  the ring contains the ideal I, which contains the required relations 891 @*  The Dyck group with the following presentation 892 @* < x_1, x_2, ... , x_n  (x_1)^p1 = (x_2)^p2 = ... = (x_n)^pn = x_1 * x_2 * ... * x_n = 1 > 893 @*  negative exponents are allowed 894 @*  representation in the form x_i^p_i  x_(i+1)^p_(i+1) 895 @*  d gives the degreebound for the Letterplace ring 896 @* 897 @* This is a family 898 @* 907  The Dyck group with the following presentation 908 < x_1, x_2, ... , x_n  (x_1)^p1 = (x_2)^p2 = ... = (x_n)^pn = x_1 * x_2 * ... * x_n = 1 > 909  negative exponents are allowed 910  representation in the form x_i^p_i  x_(i+1)^p_(i+1) 911  d gives the degreebound for the Letterplace ring 912 913 This is a family 899 914 " 900 915 { … … 918 933 for (i = n; i > 0; i) 919 934 { 920 if (P[i] >= 0) {for (j = 1; j <= P[i]; j++){q = lpMult(q,var(i));}} 935 if (P[i] >= 0) {for (j = 1; j <= P[i]; j++){q = lpMult(q,var(i));}} 921 936 else {for (j = 1; j <= P[i]; j++){q = lpMult(q,var(i+n));}} 922 937 I = p  q,I; 923 938 p = q; q = 1; 924 939 } 925 926 I = simplify(I,2); 927 export(I); 928 if (baseringdef == 1) {setring save;} 929 return(R); 930 } 931 example { 940 941 I = simplify(I,2); 942 export(I); 943 if (baseringdef == 1) {setring save;} 944 return(R); 945 } 946 example 947 { 932 948 "EXAMPLE:"; echo = 2; 933 949 intvec P = 1,2,3; … … 941 957 RETURN: ring 942 958 NOTE:  the ring contains the ideal I, which contains the required relations 943 @*  The Dyck group with the following presentation 944 @* < x_1, x_2, ... , x_n  (x_1)^p1 = (x_2)^p2 = ... = (x_n)^pn = x_1 * x_2 * ... * x_n = 1 > 945 @*  negative exponents are allowed 946 @*  representation in the form x_i^p_i  1 947 @*  d gives the degreebound for the Letterplace ring 948 @* 949 @* This is a family 950 @* 959  The Dyck group with the following presentation 960 < x_1, x_2, ... , x_n  (x_1)^p1 = (x_2)^p2 = ... = (x_n)^pn = x_1 * x_2 * ... * x_n = 1 > 961  negative exponents are allowed 962  representation in the form x_i^p_i  1 963  d gives the degreebound for the Letterplace ring 964 965 This is a family 951 966 " 952 967 { … … 971 986 { 972 987 p = 1; 973 if (P[i] >= 0) {for (j = 1; j <= P[i]; j++){p = lpMult(p,var(i));}} 988 if (P[i] >= 0) {for (j = 1; j <= P[i]; j++){p = lpMult(p,var(i));}} 974 989 else {for (j = 1; j <= P[i]; j++){p = lpMult(p,var(i+n));}} 975 990 I = p  1,I; 976 991 } 977 978 I = simplify(I,2); 979 export(I); 980 if (baseringdef == 1) {setring save;} 981 return(R); 982 } 983 example { 992 993 I = simplify(I,2); 994 export(I); 995 if (baseringdef == 1) {setring save;} 996 return(R); 997 } 998 example 999 { 984 1000 "EXAMPLE:"; echo = 2; 985 1001 intvec P = 1,2,3; … … 994 1010 RETURN: ring 995 1011 NOTE:  the ring contains the ideal I, which contains the required relations 996 @*  The Dyck group with the following presentation 997 @* < x_1, x_2, ... , x_n  (x_1)^p1 = (x_2)^p2 = ... = (x_n)^pn = x_1 * x_2 * ... * x_n = 1 > 998 @*  only positive exponents are allowed 999 @*  no inverse generators needed 1000 @*  d gives the degreebound for the Letterplace ring 1001 @* 1002 @* This is a family 1003 @* 1012  The Dyck group with the following presentation 1013 < x_1, x_2, ... , x_n  (x_1)^p1 = (x_2)^p2 = ... = (x_n)^pn = x_1 * x_2 * ... * x_n = 1 > 1014  only positive exponents are allowed 1015  no inverse generators needed 1016  d gives the degreebound for the Letterplace ring 1017 1018 This is a family 1004 1019 " 1005 1020 { … … 1009 1024 for (i = 1; i <= size(P); i++) {if (P[i] < 0){ERROR("Exponents must be positive!");}} 1010 1025 for (i = 1; i <= size(P); i++) {if (d < P[i]){ERROR("Degreebound is to small!");}} 1011 1026 1012 1027 1013 1028 if (defined(basering)) // if a basering is defined, it should be saved for later use … … 1026 1041 { 1027 1042 p = 1; 1028 for (j = 1; j <= P[i]; j++){p = lpMult(p,var(i));} 1043 for (j = 1; j <= P[i]; j++){p = lpMult(p,var(i));} 1029 1044 I = p  1,I; 1030 1045 } 1031 1032 I = simplify(I,2); 1033 export(I); 1034 if (baseringdef == 1) {setring save;} 1035 return(R); 1036 } 1037 example { 1046 1047 I = simplify(I,2); 1048 export(I); 1049 if (baseringdef == 1) {setring save;} 1050 return(R); 1051 } 1052 example 1053 { 1038 1054 "EXAMPLE:"; echo = 2; 1039 1055 intvec P = 1,2,3; … … 1051 1067 RETURN: ring 1052 1068 NOTE:  the ring contains the ideal I, which contains the required relations 1053 @* The Fibonacci group F(2, m) with the following presentation1054 @*< x_1, x_2, ... , x_m  x_i * x_(i + 1) = x_(i + 2) >1055 @* d gives the degreebound for the Letterplace ring1056 @* 1057 @*This is a family1058 @* 1059 " 1069  The Fibonacci group F(2, m) with the following presentation 1070 < x_1, x_2, ... , x_m  x_i * x_(i + 1) = x_(i + 2) > 1071  d gives the degreebound for the Letterplace ring 1072 1073 This is a family 1074 " 1075 { 1060 1076 // TODO: basefield Q oder F2? 1061 1077 // TODO: inverse Elemente! 1062 {1063 1078 if (m < 3) {ERROR("At least three generators are required!");} 1064 1079 if (d < 2) {ERROR("Degree bound must be at least 2!");} … … 1084 1099 p = lpMult(var(i+m),var(i))1; 1085 1100 I = I,p; 1086 } 1087 I = simplify(I,2); 1088 export(I); 1089 if (baseringdef == 1) {setring save;} 1090 return(R); 1091 } 1092 example { 1101 } 1102 I = simplify(I,2); 1103 export(I); 1104 if (baseringdef == 1) {setring save;} 1105 return(R); 1106 } 1107 example 1108 { 1093 1109 "EXAMPLE:"; echo = 2; 1094 1110 def R = fibonacciGroup(3,5); setring R; … … 1106 1122 RETURN: ring 1107 1123 NOTE:  the ring contains the ideal I, which contains the required relations 1108 @* g gives the number of the example (1  5)1109 @* d gives the degreebound for the Letterplace ring1110 @* 1111 @*This is a family1112 @* 1124  g gives the number of the example (1  5) 1125  d gives the degreebound for the Letterplace ring 1126 1127 This is a family 1128 1113 1129 The examples are found in 1114 1130 Classification of the finite generalized tetrahedron groups … … 1117 1133 finite generalized tetrahedron group in the Tsarnarovcase, which are 1118 1134 not equivalent to a presentation for an ordinary tetrahedron group. 1119 @*1120 1135 " 1121 1136 { … … 1123 1138 if ((g == 1 && d < 6)(g == 2 && d < 6)(g == 3 && d < 5)(g == 4 && d < 4)(g == 5 && d < 5)) 1124 1139 {ERROR("Degreebound is to small for choosen example!");} 1125 1140 1126 1141 int baseringdef,i,j; 1127 1142 if (defined(basering)) // if a basering is defined, it should be saved for later use … … 1134 1149 setring R; 1135 1150 ideal I; 1136 if (g == 1) 1151 if (g == 1) 1137 1152 {I = x(1)*x(2)*x(3)*x(4)*x(5)1, y(1)*y(2)1, z(1)*z(2)*z(3)1, x(1)*y(2)*x(3)*y(4)*x(5)*y(6)1, x(1)*x(2)*z(3)*x(4)*x(5)*z(6)1, 1138 1153 y(1)*z(2)*y(3)*z(4)1; 1139 1154 } 1140 1155 if (g == 2) 1141 {I = x(1)*x(2)*x(3)1, y(1)*y(2)*y(3)1, z(1)*z(2)*z(3)*z(4)*z(5)1,x(1)*y(2)*x(3)*y(4)1,x(1)*z(2)*x(3)*z(4)1, 1156 {I = x(1)*x(2)*x(3)1, y(1)*y(2)*y(3)1, z(1)*z(2)*z(3)*z(4)*z(5)1,x(1)*y(2)*x(3)*y(4)1,x(1)*z(2)*x(3)*z(4)1, 1142 1157 y(1)*z(2)*z(3)*y(4)*z(5)*z(6)1; 1143 1158 } … … 1151 1166 {I = x(1)*x(2)*x(3)1, y(1)*y(2)*y(3)1, z(1)*z(2)*z(3)*z(4)*z(5)1,x(1)*y(2)*x(3)*y(4)1, x(1)*z(2)*x(3)*z(4)1, y(1)*z(2)*y(3)*z(4)1; 1152 1167 } 1153 1154 I = simplify(I,2); 1155 export(I); 1156 if (baseringdef == 1) {setring save;} 1157 return(R); 1158 } 1159 example { 1168 1169 I = simplify(I,2); 1170 export(I); 1171 if (baseringdef == 1) {setring save;} 1172 return(R); 1173 } 1174 example 1175 { 1160 1176 "EXAMPLE:"; echo = 2; 1161 1177 def R = tetrahedronGroup(3,5); setring R; … … 1173 1189 RETURN: ring 1174 1190 NOTE:  the ring contains the ideal I, which contains the required relations 1175 @* g gives the number of the example (1  14)1176 @* d gives the degreebound for the Letterplace ring1177 @* 1178 @*This is a family1179 @* 1191  g gives the number of the example (1  14) 1192  d gives the degreebound for the Letterplace ring 1193 1194 This is a family 1195 1180 1196 The examples are found in 1181 1197 Classification of the finite generalized tetrahedron groups 1182 1198 by Gerhard Rosenberger and Martin Scheer. 1183 1199 The 14 examples are denoted in theorem 2.12 1184 @*1185 1200 " 1186 1201 { … … 1188 1203 if ((g == 1 && d < 20)(g == 2 && d < 21)(g == 3 && d < 10)(g == 4 && d < 12)(g == 5 && d < 10)(g == 6 && d < 18)(g == 7 && d < 20)(g == 8 && d < 16)(g == 9 && d < 10)(g == 10 && d < 14)(g == 11 && d < 16)(g == 12 && d < 24)(g == 13 && d < 28)(g == 14 && d < 37)) 1189 1204 {ERROR("Degreebound is to small for choosen example!");} 1190 1205 1191 1206 int baseringdef; 1192 1207 if (defined(basering)) // if a basering is defined, it should be saved for later use … … 1199 1214 setring R; 1200 1215 ideal I; 1201 1202 if (g == 1) 1216 1217 if (g == 1) 1203 1218 {I = a(1)*a(2)1, b(1)*b(2)*b(3)1, 1204 1219 a(1)*b(2)*a(3)*b(4)*a(5)*b(6)*b(7)*a(8)*b(9)*b(10)*a(11)*b(12)*a(13)*b(14)*a(15)*b(16)*b(17)*a(18)*b(19)*b(20)1; … … 1262 1277 return(R); 1263 1278 } 1264 example { 1279 example 1280 { 1265 1281 "EXAMPLE:"; echo = 2; 1266 1282 def R = triangularGroup(3,10); setring R;
Note: See TracChangeset
for help on using the changeset viewer.