Singular
https://www.singular.uni-kl.de/forum/

Module Projection
https://www.singular.uni-kl.de/forum/viewtopic.php?f=10&t=1929
Page 1 of 1

Author:  Guillermo [ Fri May 27, 2011 12:43 pm ]
Post subject:  Module Projection

Hi,
I have a very naive question. Let's say that I have a module defined like this:
ring r=0,(x,y,z),ds;
ideal i=x2,xy,z4;
module M=syz(i);
M;
M[1]=x*gen(2)-y*gen(1)
M[2]=x2*gen(3)-z4*gen(1)
M[3]=xy*gen(3)-z4*gen(2)

how can I, not by hand, project this to the module given by gen(1) and gen(2)?, it is, how can I substitute every gen(3) by 0?

Thanks

Author:  gorzel [ Tue May 31, 2011 6:00 pm ]
Post subject:  Re: Module Projection

This is a matter of linear algebra. The projection is simply done
by multiplication with a suitable projection matrix.
(Recall a projection matrix P is defined by resp. satisfies P^2 = P.)
Code:
// your example:
> ring r=0,(x,y,z),ds;
> ideal i=x2,xy,z4;
> module M=syz(i);
> print(M);
-y,-z4,0, 
x, 0,  -z4,
0, x2, xy 

// Now define the projection matrix
> matrix P = freemodule(3);  // 3 x 3 unit matrix
> P[3,3] = 0;         // kernel is e_3, and identity on e_1,e_2
> print(P);
1,0,0,
0,1,0,
0,0,0
> module PM = P*M;   // the projected module
> print(PM);   // this is what you wish to get
-y,-z4,0, 
x, 0,  -z4,
0, 0,  0   

Page 1 of 1 All times are UTC + 1 hour [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/