<?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>tensor(Ring,RingMap,Matrix) -- tensor product via a ring map</title> <link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/> </head> <body> <table class="buttons"> <tr> <td><div><a href="_tensor__Associativity.html">next</a> | <a href="_tensor_lp__Ring_cm__Ring_rp.html">previous</a> | <a href="_tensor__Associativity.html">forward</a> | <a href="_tensor_lp__Ring_cm__Ring_rp.html">backward</a> | up | <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> <hr/> <div><h1>tensor(Ring,RingMap,Matrix) -- tensor product via a ring map</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>tensor(R,f,M)</tt><br/><tt>tensor(f,M)</tt></div> </dd></dl> </div> </li> <li><span>Function: <a href="_tensor.html" title="tensor product">tensor</a></span></li> <li><div class="single">Inputs:<ul><li><span><tt>S</tt>, <span>a <a href="___Ring.html">ring</a></span></span></li> <li><span><tt>f</tt>, <span>a <a href="___Ring__Map.html">ring map</a></span>, from R --> S</span></li> <li><span><tt>M</tt>, <span>a <a href="___Matrix.html">matrix</a></span>, or <span>a <a href="___Module.html">module</a></span> over the source ring <tt>R</tt> of <tt>f</tt></span></li> </ul> </div> </li> <li><div class="single">Outputs:<ul><li><span><span>a <a href="___Matrix.html">matrix</a></span> or <span>a <a href="___Module.html">module</a></span> the same type as <tt>M</tt></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="_tensor_lp__Ring_cm__Ring_rp.html">DegreeLift => ...</a>, -- tensor product</span></li> <li><span><a href="_tensor_lp__Ring_cm__Ring_rp.html">DegreeMap => ...</a>, -- tensor product</span></li> <li><span><a href="_tensor_lp__Ring_cm__Ring_rp.html">DegreeRank => ...</a>, -- tensor product</span></li> <li><span><a href="_tensor_lp__Ring_cm__Ring_rp.html">Degrees => ...</a>, -- tensor product</span></li> <li><span><a href="_tensor_lp__Ring_cm__Ring_rp.html">Global => ...</a>, -- tensor product</span></li> <li><span><a href="_tensor_lp__Ring_cm__Ring_rp.html">Heft => ...</a>, -- tensor product</span></li> <li><span><a href="_tensor_lp__Ring_cm__Ring_rp.html">Inverses => ...</a>, -- tensor product</span></li> <li><span><a href="_tensor_lp__Ring_cm__Ring_rp.html">Join => ...</a>, -- tensor product</span></li> <li><span><a href="_tensor_lp__Ring_cm__Ring_rp.html">Local => ...</a>, -- tensor product</span></li> <li><span><a href="_tensor_lp__Ring_cm__Ring_rp.html">MonomialOrder => ...</a>, -- tensor product</span></li> <li><span><a href="_tensor_lp__Ring_cm__Ring_rp.html">MonomialSize => ...</a>, -- tensor product</span></li> <li><span><a href="_tensor_lp__Ring_cm__Ring_rp.html">SkewCommutative => ...</a>, -- tensor product</span></li> <li><span><a href="_tensor_lp__Ring_cm__Ring_rp.html">VariableBaseName => ...</a>, -- tensor product</span></li> <li><span><a href="_tensor_lp__Ring_cm__Ring_rp.html">Variables => ...</a>, -- tensor product</span></li> <li><span><a href="_tensor_lp__Ring_cm__Ring_rp.html">Weights => ...</a>, -- tensor product</span></li> <li><span><a href="_tensor_lp__Ring_cm__Ring_rp.html">WeylAlgebra => ...</a>, -- tensor product</span></li> </ul> </div> </li> </ul> </div> <div class="single"><h2>Description</h2> <div><p/> None of the options are relevant for these uses of tensor.<p/> <table class="examples"><tr><td><pre>i1 : R = QQ[a..d] o1 = R o1 : PolynomialRing</pre> </td></tr> <tr><td><pre>i2 : S = QQ[s,t] o2 = S o2 : PolynomialRing</pre> </td></tr> <tr><td><pre>i3 : F = map(S,R,{s^4,s^3*t,s*t^3,t^4}) 4 3 3 4 o3 = map(S,R,{s , s t, s*t , t }) o3 : RingMap S <--- R</pre> </td></tr> <tr><td><pre>i4 : f = matrix{{a,b,c,d}} o4 = | a b c d | 1 4 o4 : Matrix R <--- R</pre> </td></tr> <tr><td><pre>i5 : tensor(F,f) o5 = | s4 s3t st3 t4 | 1 4 o5 : Matrix S <--- S</pre> </td></tr> <tr><td><pre>i6 : tensor(F,image f) o6 = cokernel {1} | -s3t 0 -st3 0 0 -t4 | {1} | s4 -st3 0 0 -t4 0 | {1} | 0 s3t s4 -t4 0 0 | {1} | 0 0 0 st3 s3t s4 | 4 o6 : S-module, quotient of S</pre> </td></tr> </table> <p>If the ring S is given as an argument, then it must match the target of F, and the result is identical to the version without S given. The reason it is here is to mimic natural mathematical notation: S **_R M.</p> <table class="examples"><tr><td><pre>i7 : tensor(S,F,f) o7 = | s4 s3t st3 t4 | 1 4 o7 : Matrix S <--- S</pre> </td></tr> <tr><td><pre>i8 : tensor(S,F,image f) o8 = cokernel {1} | -s3t 0 -st3 0 0 -t4 | {1} | s4 -st3 0 0 -t4 0 | {1} | 0 s3t s4 -t4 0 0 | {1} | 0 0 0 st3 s3t s4 | 4 o8 : S-module, quotient of S</pre> </td></tr> </table> </div> </div> </div> </body> </html>