Changeset 8f57c0 in git
- Timestamp:
- May 7, 2012, 3:56:23 PM (11 years ago)
- Branches:
- (u'spielwiese', '0d6b7fcd9813a1ca1ed4220cfa2b104b97a0a003')
- Children:
- 4b2e47d69832168747120de4721b9900101c96c7
- Parents:
- 6b6c822fcfbbabb80e5ab1e0487f5de527e8785a
- git-author:
- Oleksandr Motsak <motsak@mathematik.uni-kl.de>2012-05-07 15:56:23+02:00
- git-committer:
- Oleksandr Motsak <motsak@mathematik.uni-kl.de>2012-05-10 18:23:39+02:00
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/schreyer.lib
r6b6c82 r8f57c0 614 614 } 615 615 616 617 LIB "poly.lib"; // for lcm 618 619 620 proc SSComputeLeadingSyzygyTerms(def L, int iCompShift) 621 { 622 int @DEBUG = !system("with", "ndebug"); 623 624 if( @DEBUG ) 625 { 626 "SSComputeLeadingSyzygyTerms::Input: "; 627 L; 628 "iCompShift: ", iCompShift; 629 630 } 631 632 int i, j, r; intvec iv_ds; 633 int N = ncols(L); 634 def a, b; 635 poly aa, bb; 636 637 bigint c; 638 639 ideal M; 640 641 module S = 0; 642 643 for(i = 1; i <= N; i++) 644 { 645 a = L[i]; 646 "a: ", a; 647 c = leadcomp(a); 648 r = int(c); 649 aa = a[r]; 650 651 M = 0; 652 653 for(j = i-1; j > 0; j--) 654 { 655 b = L[j]; 656 "b: ", b; 657 658 if( leadcomp(b) == c ) 659 { 660 bb = b[r]; 661 662 M[j] = (lcm(aa, bb) / aa); 663 } 664 } 665 666 M = simplify(M, 1 + 2 + 32); 667 668 iv_ds = sort(M, "ds", 1)[2]; // ,1 => reversed! 669 670 M = M[iv_ds]; 671 672 S = S, M * gen(i + iCompShift); 673 } 674 675 S = simplify(S, 2); 676 677 678 if( @DEBUG ) 679 { 680 "SSComputeLeadingSyzygyTerms::Output: "; 681 S; 682 } 683 684 return (S); 685 686 } 687 688 proc Traverse(mult, index, Leads, Tails, LSyz) 689 { 690 691 692 } 693 694 695 616 696 // module (N, LL, TT) = SSComputeSyzygy(L, T, @RANK); // shift syz.comp by @RANK! 617 697 proc SSComputeSyzygy(def M, def L, def T, int iCompShift) … … 639 719 // !!!!!!!!!!!!!!!!!!!!!!!!!!!! TODO !!!!!!!!!!!!!!!!!!!!!!!!!!!! // 640 720 // !!!!!!!!!!!!!!!!!!!!!!!!!!!! TODO !!!!!!!!!!!!!!!!!!!!!!!!!!!! // 641 // !!!!!!!!!!!!!!!!!!!!!!!!!!!! TODO !!!!!!!!!!!!!!!!!!!!!!!!!!!! // 721 // !!!!!!!!!!!!!!!!!!!!!!!!!!!! TODO !!!!!!!!!!!!!!!!!!!!!!!!!!!! // 722 723 def a; bigint c; int r, k; poly aa; 724 725 def LS = SSComputeLeadingSyzygyTerms(L, 0); // iCompShift // 0? 726 for(k = ncols(LS); k >= 0; k-- ) 727 { 728 a = LS[k]; 729 "A: ", a; 730 c = leadcomp(a); 731 r = int(c); 732 aa = a[r]; 733 734 Traverse(aa, r, L, T, LS); 735 } 642 736 643 737
Note: See TracChangeset
for help on using the changeset viewer.