Changeset 5b5230 in git
- Timestamp:
- Jun 15, 2023, 1:50:54 PM (11 months ago)
- Branches:
- (u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', '38dfc5131670d387a89455159ed1e071997eec94')
- Children:
- 5d764b3232c665055934cce11826c8e1df028996
- Parents:
- bcd0b0fbb1dce891d856e205334af7b30e1e3896
- git-author:
- Hans Schoenemann <hannes@mathematik.uni-kl.de>2023-06-15 13:50:54+02:00
- git-committer:
- Hans Schoenemann <hannes@mathematik.uni-kl.de>2023-06-15 13:51:33+02:00
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/sheafcoh.lib
rbcd0b0 r5b5230 1 1 /////////////////////////////////////////////////////////////////////////// 2 version="version sheafcoh.lib 4. 1.2.0 Feb_2019"; // $Id$2 version="version sheafcoh.lib 4.3.2.3 Jun_2023 "; // $Id$ 3 3 category="Commutative Algebra"; 4 4 info=" … … 14 14 CM_regularity(M); Castelnuovo-Mumford regularity of coker(M) 15 15 sheafCohBGG(M,l,h); cohomology of sheaf associated to coker(M) 16 sheafCohBGGregul(M,l,h,r); cohomology of sheaf associated to coker(M) 17 with given regularity 16 18 sheafCohBGG2(M,l,h); cohomology of sheaf associated to coker(M), experimental version 17 19 sheafCoh(M,l,h); cohomology of sheaf associated to coker(M) … … 606 608 attrib(M,"isHomog",v); 607 609 def B=sheafCohBGG(M,-8,4); 610 } 611 612 proc sheafCohBGGregul(module M,int l,int h, int reg) 613 "USAGE: sheafCohBGGregul(M,l,h); M module, l,h int, reg int 614 ASSUME: @code{M} is graded, and it comes assigned with an admissible degree 615 vector as an attribute, @code{h>=l}, and the basering has @code{n+1} 616 variables. 617 RETURN: intmat, cohomology of twists of the coherent sheaf F on P^n 618 associated to coker(M). The range of twists is determined by @code{l}, 619 @code{h}. 620 NOTE: This procedure is based on the Bernstein-Gel'fand-Gel'fand 621 correspondence and on Tate resolution ( see [Eisenbud, Floystad, 622 Schreyer: Sheaf cohomology and free resolutions over exterior 623 algebras, Trans AMS 355 (2003)] ).@* 624 @code{sheafCohBGG(M,l,h)} does not compute all values in the above 625 table. To determine all values of @code{h^i(F(d))}, @code{d=l..h}, 626 use @code{sheafCohBGG(M,l-n,h+n)}. 627 SEE ALSO: sheafCoh, dimH 628 EXAMPLE: example sheafCohBGGregul; shows an example 629 " 630 { 631 int i,j,k,row,col; 632 if( typeof(attrib(M,"isHomog"))!="intvec" ) 633 { 634 if (size(M)==0) { attrib(M,"isHomog",0); } 635 else { ERROR("No admissible degree vector assigned"); } 636 } 637 int n=nvars(basering)-1; 638 int ell=l+n; 639 def R=basering; 640 int bound=max(reg+1,h-1); 641 module MT=truncate(M,bound); 642 int m=nrows(MT); 643 MT=transpose(jacobM(MT)); 644 MT=syz(MT); 645 matrix ML[n+1][1]=maxideal(1); 646 matrix S=transpose(outer(ML,unitmat(m))); 647 matrix SS=transpose(S*MT); 648 //--- to the exterior algebra 649 def AR = Exterior(); 650 setring AR; 651 intvec saveopt=option(get); 652 option(redSB); 653 option(redTail); 654 module EM=imap(R,SS); 655 intvec w; 656 //--- here we are with our matrix 657 int bound1=max(1,bound-ell+1); 658 for (i=1; i<=nrows(EM); i++) 659 { 660 w[i]=-bound-1; 661 } 662 attrib(EM,"isHomog",w); 663 resolution RE=mres(EM,bound1); 664 intmat Betti=betti(RE); 665 k=ncols(Betti); 666 row=nrows(Betti); 667 int shift=attrib(Betti,"rowShift")+(k+ell-1); 668 intmat newBetti[n+1][h-l+1]; 669 for (j=1; j<=row; j++) 670 { 671 for (i=l; i<=h; i++) 672 { 673 if ((k+1-j-i+ell-shift>0) and (j+i-ell+shift>=1)) 674 { 675 newBetti[n+2-shift-j,i-l+1]=Betti[j,k+1-j-i+ell-shift]; 676 } 677 else { newBetti[n+2-shift-j,i-l+1]=-1; } 678 } 679 } 680 for (j=2; j<=n+1; j++) 681 { 682 for (i=1; i<j; i++) 683 { 684 newBetti[j,i]=-1; 685 } 686 } 687 int d=k-h+ell-1; 688 for (j=1; j<=n; j++) 689 { 690 for (i=h-l+1; i>=k+j; i--) 691 { 692 newBetti[j,i]=-1; 693 } 694 } 695 //displayCohom(newBetti,l,h,n); 696 option(set,saveopt); 697 setring R; 698 return(newBetti); 699 } 700 example 701 {"EXAMPLE:"; 702 echo = 2; 703 // cohomology of structure sheaf on P^4: 704 //------------------------------------------- 705 ring r=0,x(1..5),dp; 706 module M=0; 707 def A=sheafCohBGGregul(M,-9,4,CM_regularity(M)); 708 A; 709 // cohomology of cotangential bundle on P^3: 710 //------------------------------------------- 711 ring R=0,(x,y,z,u),dp; 712 resolution T1=mres(maxideal(1),0); 713 module M=T1[3]; 714 intvec v=2,2,2,2,2,2; 715 attrib(M,"isHomog",v); 716 def B=sheafCohBGGregul(M,-8,4,CM_regularity(M)); 717 B; 608 718 } 609 719
Note: See TracChangeset
for help on using the changeset viewer.