Changeset 04b3ef in git
 Timestamp:
 Apr 22, 2015, 7:36:03 PM (8 years ago)
 Branches:
 (u'spielwiese', '8e0ad00ce244dfd0756200662572aef8402f13d5')
 Children:
 5ae475019ef08f2c881ab47459777123fc5ee74a
 Parents:
 7b4fc83ac3b56ec34dfb40d2265468850bfcd0c7
 gitauthor:
 Oleksandr Motsak <motsak@mathematik.unikl.de>20150422 19:36:03+02:00
 gitcommitter:
 Oleksandr Motsak <motsak@mathematik.unikl.de>20150429 18:04:56+02:00
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

Singular/LIB/gradedModules.lib
r7b4fc8 r04b3ef 53 53 mappingcone2(M,N) mapping cone2? 54 54 grlifting3(A,B) RND! chain lifting? probably wrong one 55 mappingcone3(A,B) mapping cone3? (using grlifting4 at the moment)55 mappingcone3(A,B) mapping cone3? 56 56 grrange(M) get the rowweightings 57 57 grneg(A) graded object given by A 58 matrixpres( intvec a) matrix presentation of direct sum of Omega^a[i](i)58 matrixpres(a) matrix presentation of direct sum of Omega^{a[i]}(i) 59 59 "; 60 60 … … 1460 1460 proc KeneshlouMatrixPresentation(intvec a) 1461 1461 "USAGE: intvec a. 1462 RETURN: matrix1463 PURPOSE: matrix presentation for direct sum of omega^a[i](i)1462 RETURN: graded object 1463 PURPOSE: matrix presentation for direct sum of omega^a[i](i) in form of a graded object 1464 1464 EXAMPLE: example KeneshlouMatrixPresentation; shows an example 1465 1465 { … … 1688 1688 "USAGE: graded objects M and N 1689 1689 RETURN: map of chain complexes (as a list) 1690 PURPOSE: construct a map of chain complexes between free resolution of 1691 M=Img(M) and N=Img(N). 1692 EXAMPLE: example grlift; shows an example 1690 PURPOSE: construct a map of chain complexes between free resolutions of Img(M) and Img(N). 1691 EXAMPLE: example grlifting; shows an example 1693 1692 " 1694 1693 { ASSUME(1, grtest(M)); … … 1779 1778 "USAGE:M,N graded objects 1780 1779 RETURN: chain complex (as a list) 1781 PURPOSE: construct a free resolution of the cokernel of a random map between 1782 M=Img(M), and N=Img(N). 1780 PURPOSE: construct a free resolution of the cokernel of a random map between Img(M), and Img(N). 1783 1781 EXAMPLE: example mappingcone; shows an example 1784 1782 " 1785 1783 { 1786 1784 ASSUME(1, grtest(M)); … … 1815 1813 example 1816 1814 { "EXAMPLE:"; echo = 2; 1817 //Veronese surface1818 1815 1819 1816 ring r=32003, (x(0..4)),dp; … … 1904 1901 } 1905 1902 1903 1904 // A f2 f3 1905 // 0<M<F0<F1<F2<F3< 1906 // p1 p2 1907 // 1908 // 0<N<G0<G1<G2<G3< 1909 // B(g1) g2 g3 1910 // 1906 1911 proc grlifting2(A,B) 1907 1912 "USAGE: (A,B), graded objects A and B (matrices defining maps) … … 1909 1914 PURPOSE: construct a map of chain complexes between free resolution of 1910 1915 M=coker(A) and N=coker(B). 1911 NOTE:1912 A f2 f31913 0<M<F0<F1<F2<F3<1914 p1 p21915 1916 0<N<G0<G1<G2<G3<1917 B(g1) g2 g31918 1919 1916 EXAMPLE: example grlifting2; shows an example 1920 1917 " … … 1983 1980 1984 1981 /* 1982 // f1 0 f2 0 1983 // (p1 g1) p2 g2 p3 g3 1984 // G0<F0+G1<F1+G2<F2+G3< 1985 1985 proc mappingcone2(A,B) 1986 1986 "USAGE: (A,B), graded objects A and B (matrices defining maps) 1987 1987 RETURN: chain complex (as a list) 1988 PURPOSE: construct the free resolution of a cokernel of a random map between 1989 M=coker(A), and N=coker(B) 1990 NOTE: 1991 f1 0 f2 0 1992 (p1 g1) p2 g2 p3 g3 1993 G0<F0+G1<F1+G2<F2+G3< 1994 1988 PURPOSE: construct the free resolution of a cokernel of a random map between M=coker(A), and N=coker(B) 1995 1989 EXAMPLE: example mappingcone2; 1996 1990 " … … 2019 2013 module A=grconcat(P[i],rN[i]); 2020 2014 module B=grobj(zero,v,w); 2021 ASSUME( 0, grtest( grneg( rM[i1]) ) ); 2022 module C=grconcat( grneg( rM[i1] ) ,B); // FIXME: '' is wrong! need a gradedenabled minus (e.g. grneg?)2015 2016 module C=grconcat( grneg( rM[i1] ) ,B); 2023 2017 module D=grconcat(grtranspose(C), grtranspose(A)); 2024 2018 … … 2056 2050 def G=mappingcone2(SS,BB);G; 2057 2051 } 2058 2059 2060 2061 2062 2063 2064 proc grlifting3(A,B) 2052 */ 2053 2054 2055 2056 2057 2058 2059 proc grlifting3(A,B) 2060 "TODO: grlifting4 was newer and had more documentation than this proc, but was removed... Please verify and update! 2061 " 2065 2062 { 2066 2063 ASSUME(1, grtest(A)); … … 2136 2133 def H=grlifting3(R, S); 2137 2134 // grview(H); 2138 def H=grlifting3(S, R); 2139 2140 /* 2141 // ??? 2142 def I=KeneshlouMatrixPresentation(intvec(2,3,0,6,2)); 2143 def J=KeneshlouMatrixPresentation(intvec(4,0,1,2,1)); 2144 def N=grlifting3(I,J); grview(N); // ??? 2145 */ 2146 } 2147 2135 2136 // 2nd module does not lie in the first: 2137 // def H=grlifting3(S, R); 2138 2139 2140 //def I=KeneshlouMatrixPresentation(intvec(2,3,0,6,2)); 2141 //def J=KeneshlouMatrixPresentation(intvec(4,0,1,2,1)); 2142 //def N=grlifting3(I,J); grview(N); 2143 } 2148 2144 2149 2145 proc grneg(A) 2150 "USAGE: A graded object2151 RETURN: A asgraded object2152 PURPOSE: graded map defined by A .2146 "USAGE: grneg(A), graded object A 2147 RETURN: graded object 2148 PURPOSE: graded map defined by A 2153 2149 EXAMPLE: example grneg; shows an example 2154 2150 " 2155 2151 { 2156 ASSUME(0, grtest(A)); 2157 return(grobj(A,grrange(A), grdeg(A) )); 2158 } 2159 2160 example 2161 { "EXAMPLE:"; echo = 2; 2162 ring r=0,(x,y,z),dp; 2163 def A=grobj([x2,yz,xyz],intvec(1,1,0)); 2164 grview(A); 2165 def F=grneg(A); 2166 grview(A); 2167 } 2168 2169 2170 2171 2172 /* 2173 f1 0 f2 0 2174 (p1 g1) p2 g2 p3 g3 2175 G0<F0+G1<F1+G2<F2+G3< 2176 2177 */ 2178 2179 2152 ASSUME(1, grtest(A)); 2153 return( grobj(A, grrange(A), grdeg(A)) ); 2154 } 2155 2156 example 2157 { "EXAMPLE:"; echo = 2; 2158 2159 ring r=0,(x,y,z),dp; 2160 def A=grobj([x2,yz,xyz],intvec(1,1,0)); 2161 grview(A); 2162 2163 def F=grneg(A); 2164 grview(F); 2165 } 2166 2167 // f1 0 f2 0 2168 // (p1 g1) p2 g2 p3 g3 2169 //G0<F0+G1<F1+G2<F2+G3< 2180 2170 proc mappingcone3(A,B) 2181 2171 "USAGE: (A,B), graded objects A and B (matrices defining maps) 2182 2172 RETURN: chain complex (as a list) 2183 PURPOSE: construct a free resolution of the cokernel of a random map between 2184 M=coker(A), and N=coker(B) 2173 PURPOSE: construct a free resolution of the cokernel of a random map between M=coker(A), and N=coker(B) 2185 2174 EXAMPLE: example mappingcone3; shows an example 2186 2175 " 2187 2176 { 2188 2177 ASSUME(1, grtest(A)); 2189 2178 ASSUME(1, grtest(B)); 2190 2179 2191 list P=grlifting 4(A,B);2180 list P=grlifting3(A,B); 2192 2181 list rM=grres(A,0,1); 2193 2182 list rN=grres(B,0,1); … … 2212 2201 module B=grobj(zero,v,w); 2213 2202 2214 // ASSUME( 0, grtest(B) ); 2215 // ASSUME( 0, grtest(rM[i1]) ); 2216 ASSUME( 0, grtest( grneg( rM[i1]) ) ); 2217 module C=grconcat( grneg( rM[i1] ) ,B); // FIXME: '' is wrong! need a gradedenabled minus (e.g. grneg?) 2203 module C=grconcat( grneg( rM[i1] ) ,B); 2218 2204 module D=grconcat(grtranspose(C), grtranspose(A)); 2219 2205 … … 2240 2226 def F=grlifting3(A,T); grview(F); 2241 2227 2242 / * BUG in the proc */2228 // BUG in the proc 2243 2229 def G=mappingcone3(A,T); grview(G); 2244 2230 … … 2261 2247 def H=grlifting3(R,S); grview(H); 2262 2248 2263 / * BUG in the proc */2249 // BUG in the proc 2264 2250 def G=mappingcone3(R,S); 2265 2251 … … 2268 2254 def J=KeneshlouMatrixPresentation(intvec(4,0,1,2,1)); 2269 2255 // def N=grlifting3(I,J); 2270 /* 2nd module does not lie in the first: */ // def NN=mappingcone3(I,J); // ???????? 2271 2272 } 2273 2274 2275 2276 2277 2278 2256 // 2nd module does not lie in the first: 2257 // def NN=mappingcone3(I,J); // ???????? 2258 2259 } 2260 2261 2262 2263 2264 2265 2266 // TODO: Please decide between KeneshlouMatrixPresentation and matrixpres, and replace one with the other! 2279 2267 proc matrixpres(intvec a) 2280 "USAGE: intvec a .2281 RETURN: matrix.2282 PURPOSE: matrix presentation for direct sum of omega^a[i](i)2268 "USAGE: intvec a 2269 RETURN: graded object 2270 PURPOSE: matrix presentation for direct sum of omega^a[i](i) in form of a graded object 2283 2271 EXAMPLE: example matrixpres; shows an example 2284 { 2272 " 2273 { 2285 2274 int n = size(a)1; 2286 2275 // ring r = 32003,(x(0..n)),dp; … … 2356 2345 example 2357 2346 {"EXAMPLE:"; echo = 2; 2347 ring r = 32003,(x(0..4)),dp; 2358 2348 2359 2349 def R=matrixpres(intvec(1,4,0,0,0)); 2350 grview(R); 2360 2351 def S=matrixpres(intvec(0,0,3,0,0)); 2361 } 2352 grview(S); 2353 2354 def N1 = matrixpres(intvec(2,0,0,0,0)); 2355 grview(N1); 2356 2357 def N2 = matrixpres(intvec(0,0,0,0,3)); 2358 grview(N2); 2359 2360 def N = matrixpres(intvec(2,0,0,0,3)); 2361 grview(N); 2362 2363 2364 def M1 = matrixpres(intvec(0,1,0,0,0)); 2365 grview(M1); 2366 2367 def M2 = matrixpres(intvec(0,1,1,0,0)); 2368 grview(M2); 2369 2370 def M3 = matrixpres(intvec(0,0,0,1,0)); 2371 grview(M3); 2372 2373 def M = matrixpres(intvec(1,1,1,0,0)); 2374 grview(M); 2375 } 2376
Note: See TracChangeset
for help on using the changeset viewer.