<?xml version="1.0" encoding="utf-8" ?> <!-- for emacs: -*- coding: utf-8 -*- --> <!-- Apache may like this line in the file .htaccess: AddCharset utf-8 .html --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg-flat.dtd" > <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head><title>map(Module,Module,RingMap,Matrix) -- homomorphism of modules over different rings</title> <link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/> </head> <body> <table class="buttons"> <tr> <td><div><a href="_map_lp__Ring_cm__Ring_rp.html">next</a> | <a href="_map_lp__Matrix_rp.html">previous</a> | <a href="_map_lp__Ring_cm__Ring_rp.html">forward</a> | <a href="_map_lp__Matrix_rp.html">backward</a> | <a href="_map.html">up</a> | <a href="index.html">top</a> | <a href="master.html">index</a> | <a href="toc.html">toc</a> | <a href="http://www.math.uiuc.edu/Macaulay2/">Macaulay2 web site</a></div> </td> </tr> </table> <div><a href="_map.html" title="make a map">map</a> > <a href="_map_lp__Module_cm__Module_cm__Ring__Map_cm__Matrix_rp.html" title="homomorphism of modules over different rings">map(Module,Module,RingMap,Matrix)</a></div> <hr/> <div><h1>map(Module,Module,RingMap,Matrix) -- homomorphism of modules over different rings</h1> <div class="single"><h2>Synopsis</h2> <ul><li><div class="list"><dl class="element"><dt class="heading">Usage: </dt><dd class="value"><div><tt>g = map(M,N,p,f)</tt><br/><tt>g = map(M,,p,f)</tt><br/><tt>g = map(M,p)</tt></div> </dd></dl> </div> </li> <li><span>Function: <a href="_map.html" title="make a map">map</a></span></li> <li><div class="single">Inputs:<ul><li><span><tt>M</tt>, <span>a <a href="___Module.html">module</a></span></span></li> <li><span><tt>N</tt>, <span>a <a href="___Module.html">module</a></span>, or <a href="_null.html" title="the unique member of the empty class">null</a></span></li> <li><span><tt>p</tt>, <span>a <a href="___Ring__Map.html">ring map</a></span>, from the ring of <tt>N</tt> to the ring of <tt>M</tt></span></li> <li><span><tt>f</tt>, <span>a <a href="___Matrix.html">matrix</a></span>, to the ring of <tt>M</tt>, from the cover of <tt>N</tt> tensored with the ring of <tt>M</tt> along <tt>p</tt>. Alternatively, <tt>f</tt> can be represented by its doubly nested list of entries.</span></li> </ul> </div> </li> <li><div class="single">Outputs:<ul><li><span><tt>g</tt>, <span>a <a href="___Matrix.html">matrix</a></span>, the homomorphism to M from N defined by f</span></li> </ul> </div> </li> <li><div class="single"><a href="_using_spfunctions_spwith_spoptional_spinputs.html">Optional inputs</a>:<ul><li><span><tt>Degree => </tt><span><span>a <a href="___List.html">list</a></span>, <span>default value null</span>, a list of integers of length equal to the degree length of the ring of <tt>M</tt>, providing the degree of <tt>g</tt>. By default, the degree of <tt>g</tt> is zero.</span></span></li> <li><span><a href="_map_lp__Ring_cm__Ring_cm__Matrix_rp.html">DegreeLift => ...</a>, -- make a ring map</span></li> <li><span><a href="_map_lp__Ring_cm__Ring_cm__Matrix_rp.html">DegreeMap => ...</a>, -- make a ring map</span></li> </ul> </div> </li> </ul> </div> <div class="single"><h2>Description</h2> <div><table class="examples"><tr><td><pre>i1 : R = QQ[x,y] o1 = R o1 : PolynomialRing</pre> </td></tr> <tr><td><pre>i2 : p = map(R,QQ) o2 = map(R,QQ,{}) o2 : RingMap R <--- QQ</pre> </td></tr> <tr><td><pre>i3 : f = matrix {{x-y, x+2*y, 3*x-y}}; 1 3 o3 : Matrix R <--- R</pre> </td></tr> <tr><td><pre>i4 : kernel f o4 = image {1} | -7 -x-2y | {1} | -2 x-y | {1} | 3 0 | 3 o4 : R-module, submodule of R</pre> </td></tr> <tr><td><pre>i5 : g = map(R^1,QQ^3,p,f) o5 = | x-y x+2y 3x-y | 1 3 o5 : Matrix R <--- QQ</pre> </td></tr> <tr><td><pre>i6 : g === map(R^1,QQ^3,p,{{x-y, x+2*y, 3*x-y}}) o6 = true</pre> </td></tr> <tr><td><pre>i7 : isHomogeneous g o7 = false</pre> </td></tr> <tr><td><pre>i8 : kernel g o8 = image | -7 | | -2 | | 3 | 3 o8 : QQ-module, submodule of QQ</pre> </td></tr> <tr><td><pre>i9 : coimage g o9 = cokernel | -7 | | -2 | | 3 | 3 o9 : QQ-module, quotient of QQ</pre> </td></tr> <tr><td><pre>i10 : rank oo o10 = 2</pre> </td></tr> </table> <p>If the module <tt>N</tt> is replaced by <a href="_null.html" title="the unique member of the empty class">null</a>, which is entered automatically between consecutive commas, then a free module will be used for <tt>N</tt>, whose degrees are obtained by lifting the degrees of the cover of the source of <tt>g</tt>, minus the degree of <tt>g</tt>, along the degree map of <tt>p</tt></p> <table class="examples"><tr><td><pre>i11 : g2 = map(R^1,,p,f,Degree => {1}) o11 = | x-y x+2y 3x-y | 1 3 o11 : Matrix R <--- QQ</pre> </td></tr> <tr><td><pre>i12 : g === g2 o12 = true</pre> </td></tr> </table> <p>If N and f are both omitted, along with their commas, then for <tt>f</tt> the matrix of generators of M is used.</p> <table class="examples"><tr><td><pre>i13 : M' = image f o13 = image | x-y x+2y 3x-y | 1 o13 : R-module, submodule of R</pre> </td></tr> <tr><td><pre>i14 : g3 = map(M',p,Degree => {1}) o14 = {1} | 1 0 7/3 | {1} | 0 1 2/3 | {1} | 0 0 0 | o14 : Matrix</pre> </td></tr> <tr><td><pre>i15 : isHomogeneous g3 o15 = true</pre> </td></tr> <tr><td><pre>i16 : kernel g3 o16 = image | -7 | | -2 | | 3 | 3 o16 : QQ-module, submodule of QQ</pre> </td></tr> <tr><td><pre>i17 : oo == kernel g o17 = true</pre> </td></tr> </table> <p>The degree of the homomorphism enters into the determination of its homogeneity.</p> <table class="examples"><tr><td><pre>i18 : R = QQ[x, Degrees => {{2:1}}];</pre> </td></tr> <tr><td><pre>i19 : M = R^1 1 o19 = R o19 : R-module, free</pre> </td></tr> <tr><td><pre>i20 : S = QQ[z];</pre> </td></tr> <tr><td><pre>i21 : N = S^1 1 o21 = S o21 : S-module, free</pre> </td></tr> <tr><td><pre>i22 : p = map(R,S,{x},DegreeMap => x -> join(x,x)) o22 = map(R,S,{x}) o22 : RingMap R <--- S</pre> </td></tr> <tr><td><pre>i23 : isHomogeneous p o23 = true</pre> </td></tr> <tr><td><pre>i24 : f = matrix {{x^3}} o24 = | x3 | 1 1 o24 : Matrix R <--- R</pre> </td></tr> <tr><td><pre>i25 : g = map(M,N,p,f,Degree => {3,3}) o25 = | x3 | 1 1 o25 : Matrix R <--- S</pre> </td></tr> <tr><td><pre>i26 : isHomogeneous g o26 = true</pre> </td></tr> <tr><td><pre>i27 : kernel g o27 = image 0 1 o27 : S-module, submodule of S</pre> </td></tr> <tr><td><pre>i28 : coimage g 1 o28 = S o28 : S-module, free</pre> </td></tr> </table> </div> </div> <div class="single"><h2>See also</h2> <ul><li><span><a href="_map_lp__Ring_cm__Ring_cm__List_rp.html" title="make a ring map">map(Ring,Ring,List)</a> -- make a ring map</span></li> <li><span><a href="_is__Homogeneous.html" title="whether something is homogeneous (graded)">isHomogeneous</a> -- whether something is homogeneous (graded)</span></li> <li><span><a href="_kernel_lp__Matrix_rp.html" title="kernel of a matrix">kernel(Matrix)</a> -- kernel of a matrix</span></li> <li><span><a href="_coimage.html" title="coimage of a map">coimage(Matrix)</a> -- coimage of a map</span></li> </ul> </div> </div> </body> </html>