Changeset 2ce040e in git


Ignore:
Timestamp:
Oct 27, 2009, 10:53:18 AM (14 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', '4a9821a93ffdc22a6696668bd4f6b8c9de3e6c5f')
Children:
612c04013d7e4eb721b78e64ea223aa8fa826aaa
Parents:
8af95a22062b8688a1e5b9af457edfb51de44fd9
Message:
*pfister: canomMap


git-svn-id: file:///usr/local/Singular/svn/trunk@12206 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/LIB/homolog.lib

    r8af95a r2ce040e  
    11///////////////////////////////////////////////////////////////////////////////
    2 version="$Id: homolog.lib,v 1.28 2009-04-07 16:18:05 seelisch Exp $";
     2version="$Id: homolog.lib,v 1.29 2009-10-27 09:53:18 Singular Exp $";
    33category="Commutative Algebra";
    44info="
     
    99
    1010PROCEDURES:
     11 canonMap(id);          the kernel and the cokernel of the canonical map
    1112 cup(M);                cup: Ext^1(M',M') x Ext^1() --> Ext^2()
    1213 cupproduct(M,N,P,p,q); cup: Ext^p(M',N') x Ext^q(N',P') --> Ext^p+q(M',P')
     
    18671868}
    18681869
     1870proc canonMap(list #)
     1871"USAGE:  canonMap(id); id= ideal/module,
     1872RETURN:  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
     1881EXAMPLE: 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}
     1910example
     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.