<?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(Matrix) -- make a matrix with a different degree</title> <link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/> </head> <body> <table class="buttons"> <tr> <td><div><a href="_map_lp__Module_cm__Module_cm__Ring__Map_cm__Matrix_rp.html">next</a> | <a href="_map_lp__Module_cm__Nothing_cm__Matrix_rp.html">previous</a> | <a href="_map_lp__Module_cm__Module_cm__Ring__Map_cm__Matrix_rp.html">forward</a> | <a href="_map_lp__Module_cm__Nothing_cm__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__Matrix_rp.html" title="make a matrix with a different degree">map(Matrix)</a></div> <hr/> <div><h1>map(Matrix) -- make a matrix with a different degree</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>map(f, Degree => d)</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>f</tt>, <span>a <a href="___Matrix.html">matrix</a></span></span></li> </ul> </div> </li> <li><div class="single">Outputs:<ul><li><span><span>a <a href="___Matrix.html">matrix</a></span>, a map identical to <tt>f</tt>, except that it has degree <tt>d</tt>, and the source module has been tensored by a graded free module of rank 1 of the appropriate degree.</span></li> </ul> </div> </li> <li><div class="single"><a href="_using_spfunctions_spwith_spoptional_spinputs.html">Optional inputs</a>:<ul><li><span><a href="_map_lp..._cm_sp__Degree_sp_eq_gt_sp..._rp.html">Degree => ...</a>, -- set the degree of a map</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>The input <tt>d</tt> should be <span>an <a href="___Z__Z.html">integer</a></span>, or a list of integers.<p/> This routine is often used to take a matrix that has a non-zero degree, and make the degree zero.<p/> For example, multiplication of a matrix by a scalar increases the degree, leaving the source and target fixed:<table class="examples"><tr><td><pre>i1 : R = QQ[a,b];</pre> </td></tr> <tr><td><pre>i2 : f1 = matrix{{a,b}} o2 = | a b | 1 2 o2 : Matrix R <--- R</pre> </td></tr> <tr><td><pre>i3 : f = a * f1 o3 = | a2 ab | 1 2 o3 : Matrix R <--- R</pre> </td></tr> <tr><td><pre>i4 : degree f o4 = {1} o4 : List</pre> </td></tr> <tr><td><pre>i5 : source f == source f1 o5 = true</pre> </td></tr> </table> One solution is to change the degree:<table class="examples"><tr><td><pre>i6 : g = map(f, Degree => 0) o6 = | a2 ab | 1 2 o6 : Matrix R <--- R</pre> </td></tr> <tr><td><pre>i7 : degree g o7 = {0} o7 : List</pre> </td></tr> <tr><td><pre>i8 : source g == (source f) ** R^{-1} o8 = true</pre> </td></tr> </table> An alternate solution would be to use tensor product with the scalar.<table class="examples"><tr><td><pre>i9 : g2 = a ** matrix{{a,b}} o9 = | a2 ab | 1 2 o9 : Matrix R <--- R</pre> </td></tr> <tr><td><pre>i10 : degree g2 o10 = {0} o10 : List</pre> </td></tr> <tr><td><pre>i11 : isHomogeneous g2 o11 = true</pre> </td></tr> </table> </div> </div> </div> </body> </html>