Maths - Kronecker Product

On this page we first define the Kronecker product in terms of matricies, we then try to interpret this in more general terms.

We multiply each term in matrix [A] by the whole of matrix [B] as follows:

[A]⊗[B]
a11
b11 b1m
⊗ ⊗ ⊗
bk1 bkm
a1j
b11 b1m
⊗ ⊗ ⊗
bk1 bkm
⊗ ⊗ ⊗
ai1
b11 b1m
⊗ ⊗ ⊗
bk1 bkm
aij
b11 b1m
⊗ ⊗ ⊗
bk1 bkm

This can be combined into a single matrix as follows:

[A]⊗[B]
a11*b11   a11*b1m       a1j*b11   a1j*b1m
                 
a11*bk1   a11*bkm       a1j*bk1   a1j*bkm
                 
                 
                 
ai1*b11   ai1*b1m       aij*b11   aij*b1m
                 
ai1*bk1   ai1*bkm       aij*bk1   aij*bkm

We can represent this in tensor notation:

(Pij) km = δijδkm

Possible Interpretation

The Kronecker product C=A⊗B can be thought of as creating an algebra C from two smaller algebras A and B.

If A and B represent linear operators on different vector spaces then A⊗B represents the combination of these linear operators. The important point is that they are acting in different vector spaces, when we combine linear operators within the same vector space be use conventional multipication operations as described elesewhere on this site.

Example

In order to illustrate now to calculate the Kronecker product here is an example:

If A =
3 4 9
-4 3 6
3 -7 8
and B =
5 -3
2 4

calculate A⊗B

is worked out as follows:

[A]⊗[B]=
3*
5 -3
2 4
4*
5 -3
2 4
9*
5 -3
2 4
-4*
5 -3
2 4
3*
5 -3
2 4
6*
5 -3
2 4
3*
5 -3
2 4
-7*
5 -3
2 4
8*
5 -3
2 4

multiplying out the terms gives:

[A]⊗[B]
15 -9 20 -12 45 -27
6 12 8 16 18 36
-20 12 15 -9 30 -18
-8 -16 6 12 12 24
15 -9 -35 21 40 -24
6 12 -14 -28 16 32

Properties

[I]⊗[I] = [I]

([A1]+[A2])⊗[B] = [A1]⊗[B]+[A2]⊗[B]

[A]⊗([B1]+[B2]) = [A]⊗[B1]+[A]⊗[B2]

([A]⊗[B1])-1= [A]-1⊗[B]-1

Cartesian and Tensor Products in other Algebras

  Graphs Matrix
Cartesian Cartesian product Kronecker sum
Tensor tensor product Kronecker product

Cartesian and tensor products not only occur in matrix algebra but also occur in other algebras. It may help intuative understanding to look at these products in graph theory on the page here.

Cayley Table and Checkerboard Pattern

Let the components of the matrix be operators, in this case:

We can then represent the multipication of these types in a psudo-matrix.

One of the simplest operator matrix is: A=
1 x
x 1

We can use a Kronecker product to combine this with a similar operator matrix:

B =
1 y
y 1

So useing a Kronecker product gives:

[A]⊗[B]=
1*
1 x
x 1
y*
1 x
x 1
y*
1 x
x 1
1*
1 x
x 1
=
1 x y yx
x 1 yx y
y yx 1 x
yx y x 1

There is an easy way to calculate this result for any dimension, provided that the terms are encoded in bit order, that is the low order bit is one of the term contains an 'x', the next bit is a one if the term contains a 'y', and so on.

So the two individual tables are:

If A =
00 01
01 00
and B =
00 10
10 00

The Kronecker product is then given by the exclusive or of each of the bits taken separately:

[A]⊗[B]=
00 01 10 11
01 00 11 10
10 11 00 01
11 10 01 00

The exclusive or function (sometimes confusingly given the symbol:⊕) is 1 when either of the inputs is 1, but 0 if both of the inputs are 1.

A⊕B 0 1
0 0 1
1 1 0

So if we apply this to each of the terms in the table we get:

bitwise exclusive or

Example

What is the product of e4 and e5?

Since the operators are in bit order then:

e4 = 100 and
e5 = 101

taking the exclusive or of each bit in turn we get:

001

which is e1


metadata block
see also:

 

Correspondence about this page

Book Shop - Further reading.

Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them.

cover Mathematics for 3D game Programming - Includes introduction to Vectors, Matrices, Transforms and Trigonometry. (But no euler angles or quaternions). Also includes ray tracing and some linear & rotational physics also collision detection (but not collision response).

Terminology and Notation

Specific to this page here:

 

This site may have errors. Don't use for critical systems.

Copyright (c) 1998-2017 Martin John Baker - All rights reserved - privacy policy.