[Home]

Table of contents


$ \newcommand{\tp}{\otimes} \newcommand{\v}{\vec} $

Tensor algebra

Multilinear maps

The definition is simple: First, it is a function that takes as its input some vectors (may belong to different vector spaces), and produces a vector as its output. Also, if you fix all but one of the input vectors, then the function is linear in the remaining input vector. A simple example is: $f:{\mathbb R}^2\times{\mathbb R}^3\rightarrow {\mathbb R}^2$ given by $f(\v u, \v v) = (u_1(v_2+3v_3), u_2v_1).$

A multilinear map that takes only one input is called a linear map, and those that take two inputs are called bilinear maps.

What is the most general form of a multilinear map?

We shall work with the bilinear case (the general case is similar).

The answer is: The most general form of a bilinear map from ${\mathbb R}^m\times{\mathbb R}^n$ to ${\mathbb R}^k$ is $$ f(\v u,\v v) = \sum_{i=1}^m \sum_{j=1}^n \v a_{ij} u_i v_j, $$ where $\v a_{ij}$'s are any arbitrary vectors in ${\mathbb R}^k.$

Let's see why.

Clearly, it is a bilinear map. To see that this is the most general form, start with any bilinear map $g:{\mathbb R}^m\times {\mathbb R}^n\rightarrow {\mathbb R}^k.$

Let $\{\v e_1,...,\v e_m\}$ be the Euclidean basis for ${\mathbb R}^m$ and let $\{\v E_1,...,\v E_n\}$ be the Euclidean basis for ${\mathbb R}^n.$

Define $\v a_{ij} = g(\v e_i,\v E_j)\in{\mathbb R}^k.$

Then, by bilinearity of $g,$ we have for any $\v u\in{\mathbb R}^m$ and any $\v v\in{\mathbb R}^n$ $$ g(\v u,\v v) = g\left(\sum_i u_i \v e_i, \sum_j v_j \v E_j\right) = \sum_i\sum_j u_i v_j g(\v e_i,\v E_j) = \sum_i\sum_j \v a_{ij}u_i v_j, $$ as required.

A snag

But there is a little unexpected snag here. We are used to thinking ${\mathbb R}\times{\mathbb R}$ as "essentially same" as ${\mathbb R}^2.$ For multilinear maps, however, they are quite different.

Consider, for example, the map $f:{\mathbb R}\times{\mathbb R}\times {\mathbb R}\rightarrow{\mathbb R}$ defined by $f(x,y,z) = xyz.$ Is this multilinear? The answer is is yes: hold $y,z$ fixed, then $x\mapsto xyz$ is linear in $x.$ Again, if you hold $x,z$ fixed, then $y\mapsto xyz$ is linear in $y.$ Similarly, for fixed $x,y$ the map $z\mapsto xyz$ if linear in $z.$

Now consider $g:{\mathbb R}^2\times{\mathbb R}\rightarrow{\mathbb R}$ as $g(\v x,y) = x_1x_2y.$

Is this map multilinear? Unfortunately, no! Fix $y.$ Then the map $\v x\mapsto x_1x_2y$ is not linear.

Tensor product

We shall define a thing called a tensor product of a vector in $\v u\in {\mathbb R}^m$ and a vector $\v v\in{\mathbb R}^n.$ The definition is simple $$ \v u\tp \v v = \left[\begin{array}{ccccccccccc}u_1\\\vdots\\u_m \end{array}\right]\left[\begin{array}{ccccccccccc}v_1 & \cdots & v_n \end{array}\right] = \left[\begin{array}{ccccccccccc} u_1v_1 & u_1v_2 &\cdots & u_1 v_n\\ u_2v_1 & u_2v_2 &\cdots & u_2 v_n\\ \vdots\\ u_mv_1 & u_mv_2 &\cdots & u_m v_n \end{array}\right]. $$ The result is an $m\times n$ matrix with real entries. If we denote the space of of all $m\times n$ real matrices by ${\mathbb R}^{m\times n},$ then you can think of tensor product as a function $$ \tp:{\mathbb R}^m\times{\mathbb R}^n\rightarrow {\mathbb R}^{m\times n}. $$ Notice that this map is neither one-one nor onto. (Show this quickly!) Also observe that this map is bilinear.

We shall also use the notation ${\mathbb R}^m\tp {\mathbb R}^n$ for ${\mathbb R}^{m\times n}.$ Thus, the notation $\tp$ is now doing double duty: as a product between vectors, and also as product between vector spaces.

We can play the same game with more than 2 vectors. For example, suppose we take $\v u\in{\mathbb R}^2$, $\v v\in{\mathbb R}^3$ and $\v w\in{\mathbb R}^2.$ Then $\v u\tp\v v\tp\v w$ is going to be a "3D matrix" of shape $2\times3\times2:$
A "3D matrix"
It has $2\times3\times2 = 12$ entries of the form form $a_{ijk},$ where $$ a_{ijk} = u_iv_j w_k $$ for $i\in\{1,2\},~j\in\{1,2,3\},~k\in\{1,2\}.$

As you can guess, the space of all "3D matrices" of this shape will be denoted by ${\mathbb R}^2\tp{\mathbb R}^3\tp{\mathbb R}^2.$ So in this example $$ \tp:{\mathbb R}^2\times{\mathbb R}^3\times{\mathbb R}^2\rightarrow{\mathbb R}^2\tp{\mathbb R}^3\tp{\mathbb R}^2. $$ Again, it is not one-one or onto, but it is multilinear.

The generalisation to tensor product of any finite number of vectors is straightforward now.

A neat way to write

The way we defined tensor product suffers from two problems. It is difficult to express/visualise "higher dimensional matrices". Also we would like to have a result like associativity: $$ (\v u\tp \v v) \tp \v w = \v u\tp (\v v \tp \v w). $$ Unfortunately, in our present formulation neither the LHS nor the RHS makes any sense, because we have defined $\tp$ as a function that takes vectors as inputs and produces "higher order matrices" as outputs. So $(\v u\tp \v v)$ is a matrix, and hence cannot be fed into the input of the next $\tp.$ So we want to express the same definition is a somewhat neater way so that $\tp$ takes two vectors as input and produces a vector as output. This is easy to visualise: just unwrap a $2\times 3$ matrix as a list of $6$ numbers. This unwrapping, unfortunately, can be done in lots of different ways (row-by-row, column-by-column, zigzag fashion etc). All the methods are essentially equivalent, but mixing them up would lead to absurd results. The problem would become even more serious for "higher order matrices".

So we shall express the same idea in a different way.

Let's take a look at $\v u\tp \v v$ where $\v u\in{\mathbb R}^2$ and $\v v\in{\mathbb R}^3.$ It was a bilinear map. But something more is true. In order to appreciate this think as follows.
What are the most basic bilinear maps that you can think in terms of $(u_1, u_2)$ and $(v_1, v_2, v_3)?$ The answer is: there are 6 of them: $u_1v_1$, $u_1v_2$,...,$u_2v_3.$ All other bilinear maps can be made by combining them, for example $2u_1v_1-5u_2v_3.$ Now notice that these basic bilinear maps were precisely the entries of the matrix $\v u\tp\v v.$
This observation leads to a neat way to express tensor products: it is the most basic bilinear map, in the sense that any other bilinear map may be constructed out of it.

Let's write out this idea step by step. Our aim is to express $\tp$ as a function that takes two vectors and produces some vector. We shall avoid explicit representation of the vectors (as any representation would involve some arbitrary choice of arrangement, row-by-row, column-by-column etc, that we want to avoid).
What we want

Step 0: Start with any two vector spaces $V_1$ and $V_2$ (over the same field, of course). Our plan is to define tensor product in both the senses: tensor product of two vector spaces as well as tensor product of two vectors.

Step 1: We define a tensor product of $V_1$ and $V_2$ as a vector space $V_1\tp V_2$ and the tensor product of vectors as a bilinear map from $V_1\times V_2$ to $ V_1\tp V_2:$
Step 2: This must be the most basic bilinear map possible, i.e., if you give me any bilinear map $\phi$ from $V_1\times V_2$ to any $W,$
then I can construct your bilinear map using my bilinear map (the tensor product): $$ \phi(\v v_1,\v v_2) = \tilde\phi(\v v_1\tp \v v_2) $$ for some $\tilde\phi:V\rightarrow W.$
Step 3: I want tensor product to be just this and nothing else. So we want the $\tilde\phi$ to be unique.

An example

What is the tensor product of ${\mathbb R}$ with itself? The answer is ${\mathbb R}$ itself! Also for $a,b\in{\mathbb R}$ we have $a\tp b = ab.$

Let's prove this from the neat definition. First, this map $(a,b)\rightarrow ab$ is bilinear. Next, take any bilinear map from ${\mathbb R}\times{\mathbb R}$ to any ${\mathbb R}^n.$ It must look like $$ (a,b)\mapsto ab\v v $$ for some $\v v\in{\mathbb R}^n.$ So taking $\tilde\phi(x) = x\v v$ will work.

Wedge product

This is a product between two vectors from the same vector space. If $\v u,\v v\in{\mathbb R}^n$ then $\v u\wedge \v v = \v u\v v' - \v v\v u'.$

For example, $$ \left[\begin{array}{ccccccccccc}1\\2 \end{array}\right]\wedge\left[\begin{array}{ccccccccccc}3\\4 \end{array}\right] = \left[\begin{array}{ccccccccccc}1\\2 \end{array}\right]\left[\begin{array}{ccccccccccc}3 & 4 \end{array}\right]- \left[\begin{array}{ccccccccccc}3\\4 \end{array}\right]\left[\begin{array}{ccccccccccc}1 & 2 \end{array}\right]= \left[\begin{array}{ccccccccccc}0 & -2\\2 & 0 \end{array}\right]. $$ Notice that this is a skew-symmetric matrix. A skew-symmetric matrix of order $n$ has $\frac{n(n-1)}{2}$ "free" entries (any triangular half). This motivates us to define ${\mathbb R}^n\wedge{\mathbb R}^n$ as ${\mathbb R}^{\frac{n(n-1)}{2}}.$

It is easy to see that the wedge product is bilinear and alternating (i.e., $\v u\wedge\v v = -\v v\wedge\v u$).

A neat way to write

Just as for tensor product, here also we notice that the entries in the wedge product matrix are the most basic bilinear alternating functions. We utilise this is to give a neat definition of wedge product.

Step 0: Start with some vector space $V.$ We shall define $\wedge:V\times V\rightarrow W$ for some suitable vector space $W.$

Step 1: It must be a bilinear, alternating map.

Step 2: Given any bilinear, alternating map $\phi$ from $V\times V$ to any vector space $U,$ we can express $\phi$ in terms of the wedge product: $$ \phi(\v u, \v v) = \tilde\phi(\v u\wedge\v v). $$ Step 3:This $\tilde\phi$ should be unique for each $\phi.$

Comments

To post an anonymous comment, click on the "Name" field. This will bring up an option saying "I'd rather post as a guest."