The Unapologetic Mathematician

Matrices III

Given two finite-dimensional vector spaces $U$ and $V$, with bases $\left\{e_i\right\}$ and $\left\{f_j\right\}$ respectively, we know how to build a tensor product: use the basis $\left\{e_i\otimes f_j\right\}$.

But an important thing about the tensor product is that it’s a functor. That is, if we have linear transformations $S:U\rightarrow U'$ and $T:V\rightarrow V'$, then we get a linear transformation $S\otimes T:U\otimes V\rightarrow U'\otimes V'$. So what does this operation look like in terms of matrices?

First we have to remember exactly how we get the tensor product $S\otimes T$. Clearly we can consider the function $S\times T:U\times V\rightarrow U'\times V'$. Then we can compose with the bilinear function $U'\times V'\rightarrow U'\otimes V'$ to get a bilinear function from $U\times V$ to $U'\otimes V'$. By the universal property, this must factor uniquely through a linear function $U\otimes V\rightarrow U'\otimes V'$. It is this map we call $S\otimes T$.

We have to pick bases $\left\{e_k'\right\}$ of $U'$ and $\left\{f_l'\right\}$ of $V'$. This gives us a matrix coefficients $s_i^k$ for $S$ and $t_j^l$ for $T$. To calculate the matrix for $S\otimes T$ we have to evaluate it on the basis elements $e_i\otimes f_j$ of $U\otimes V$. By definition we find:

$\left[S\otimes T\right](e_i\otimes f_j)=S(e_i)\otimes T(f_j)=\left(s_i^ke_k'\right)\otimes\left(t_j^lf_l'\right)=s_i^kt_j^le_k'\otimes f_l'$

that is, the matrix coefficient between the index pair $(i,j)$ and the index pair $(k,l)$ is $s_i^kt_j^l$.

It’s not often taught anymore, but there is a name for this operation: the Kronecker product. If we write the matrices (as opposed to just their coefficients) $\left(s_i^k\right)$ and $\left(t_j^l\right)$, then we write the Kronecker product $\left(s_i^k\right)\boxtimes\left(t_j^l\right)=\left(s_i^kt_j^l\right)$.

Like this:

Posted by John Armstrong | Algebra, Linear Algebra

6 Comments	»

1. [...] Like we saw with the tensor product of vector spaces, the dual space construction turns out to be a functor. In [...]

Pingback by | May 28, 2008 | Reply

2. [...] is one slightly touchy thing we need to be careful about: Kronecker products. When the upper index is a pair with and we have to pick an order on the set of such pairs. [...]

Pingback by | May 30, 2008 | Reply

3. [...] the monoidal product on objects by multiplication — — and on morphisms by using the Kronecker product. That is, if we have an matrix and an matrix , then we get the Kronecker [...]

Pingback by | June 3, 2008 | Reply

4. [...] wait, there’s more! The functor is linear over , so it’s a functor enriched over . The Kronecker product of matrices corresponds to the monoidal product of linear transformations, so the functor is [...]

Pingback by | June 23, 2008 | Reply

5. [...] can recognize this as a Kronecker product of two [...]

Pingback by | October 5, 2010 | Reply

6. [...] want. And we know that when expressed in matrix form, the tensor product of linear maps becomes the Kronecker product of matrices. We write the character of as , that of as , and that of their tensor product as , [...]

Pingback by | November 4, 2010 | Reply

« Previous | Next »

About this weblog

This is mainly an expository blath, with occasional high-level excursions, humorous observations, rants, and musings. The main-line exposition should be accessible to the “Generally Interested Lay Audience”, as long as you trace the links back towards the basics. Check the sidebar for specific topics (under “Categories”).

I’m in the process of tweaking some aspects of the site to make it easier to refer back to older topics, so try to make the best of it for now.
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 0, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 33, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": false, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "plain"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.9233265519142151, "perplexity_flag": "head"}