Changeset 2ce040e in git
- Timestamp:
- Oct 27, 2009, 10:53:18 AM (14 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a657104b677b4c461d018cbf3204d72d34ad66a9')
- Children:
- 612c04013d7e4eb721b78e64ea223aa8fa826aaa
- Parents:
- 8af95a22062b8688a1e5b9af457edfb51de44fd9
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/homolog.lib
r8af95a r2ce040e 1 1 /////////////////////////////////////////////////////////////////////////////// 2 version="$Id: homolog.lib,v 1.2 8 2009-04-07 16:18:05 seelischExp $";2 version="$Id: homolog.lib,v 1.29 2009-10-27 09:53:18 Singular Exp $"; 3 3 category="Commutative Algebra"; 4 4 info=" … … 9 9 10 10 PROCEDURES: 11 canonMap(id); the kernel and the cokernel of the canonical map 11 12 cup(M); cup: Ext^1(M',M') x Ext^1() --> Ext^2() 12 13 cupproduct(M,N,P,p,q); cup: Ext^p(M',N') x Ext^q(N',P') --> Ext^p+q(M',P') … … 1867 1868 } 1868 1869 1870 proc canonMap(list #) 1871 "USAGE: canonMap(id); id= ideal/module, 1872 RETURN: a list L, the kernel in two different representations and 1873 @* the cokernel of the canonical map 1874 @* M ---> Ext^c_R(Ext^c_R(M,R),R) given by presentations 1875 @* Here M is the R-module (R=basering) given by the presentation 1876 @* defined by id, i.e. M=R/id resp. M=R^n/id 1877 @* c is the codimension of M 1878 @* L[1] is the preimage of the kernel in R resp. R^n 1879 @* L[2] is a presentation of the kernel 1880 @* L[3] is a presentation of the cokernel 1881 EXAMPLE: example canonMap; shows an example 1882 " 1883 { 1884 module M=#[1]; 1885 int c=nvars(basering)-dim(std(M)); 1886 if(c==0) 1887 { 1888 module K=syz(transpose(M)); 1889 module Ke=syz(transpose(K)); 1890 module Co=modulo(syz(transpose(syz(K))),transpose(K)); 1891 } 1892 else 1893 { 1894 int i; 1895 resolution F=mres(M,c+1); 1896 module K=syz(transpose(F[c+1])); 1897 K=simplify(reduce(K,std(transpose(F[c]))),2); 1898 module A=modulo(K,transpose(F[c])); 1899 resolution G=nres(A,c+1); 1900 for(i=1;i<=c;i++) 1901 { 1902 K=lift(transpose(F[c-i+1]),K*G[i]); 1903 } 1904 module Ke=modulo(transpose(K),transpose(G[c])); 1905 module Co=modulo(syz(transpose(G[c+1])),transpose(K)+transpose(G[c])); 1906 } 1907 return(list(prune(Ke),prune(modulo(Ke,M)),prune(Co))); 1908 1909 } 1910 example 1911 { "EXAMPLE:"; echo = 2; 1912 ring s=0,(x,y),dp; 1913 ideal i = x,y; 1914 canonMap(i); 1915 ring R = 0,(x,y,z,w),dp; 1916 ideal I1 = x,y; 1917 ideal I2 = z,w; 1918 ideal I = intersect(I1,I2); 1919 canonMap(I); 1920 module M = syz(I); 1921 canonMap(M); 1922 ring S = 0,(x,y,z,t),Wp(3,4,5,1); 1923 ideal I = x-t3,y-t4,z-t5; 1924 ideal J = eliminate(I,t); 1925 ring T = 0,(x,y,z),Wp(3,4,5); 1926 ideal p = imap(S,J); 1927 ideal p2 = p^2; 1928 canonMap(p2); 1929 } 1930
Note: See TracChangeset
for help on using the changeset viewer.