Jump to content

Kronecker product: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Khatri-Rao and Tracy-Singh stuff: clarifying, adding references, and cleaning up a bit
Line 150: Line 150:
The Kronecker product is named after [[Leopold Kronecker]], even though there is little evidence that he was the first to define and use it. Indeed, in the past the Kronecker product was sometimes called the ''Zehfuss matrix,'' after [[Johann Georg Zehfuss]].
The Kronecker product is named after [[Leopold Kronecker]], even though there is little evidence that he was the first to define and use it. Indeed, in the past the Kronecker product was sometimes called the ''Zehfuss matrix,'' after [[Johann Georg Zehfuss]].


== Related matrix operators {{Anchor|Tracy-Singh and Khatri-Rao products}} ==
== Related matrix operations {{Anchor|Tracy-Singh and Khatri-Rao products}} ==


Two related matrix operators are the '''Tracy-Singh''' and '''Khatri-Rao products''' which operate on [[Block matrix|partitioned matrices]]. Let the <math>m</math>-by-<math>n</math> matrix <math>A</math> be partitioned into the <math>m_i</math>-by-<math>n_j</math> blocks <math>A_{ij}</math> and <math>p</math>-by-<math>q</math> matrix <math>B</math> into the <math>p_k</math>-by-<math>q_l</math> blocks ''B''<sub>''kl''</sub> with of course <math> \Sigma_i m_i = m</math>, <math>\Sigma_j n_j = n</math>, <math>\Sigma_k p_k = p</math> and <math> \Sigma_l q_l = q .</math> We then define the Tracy-Singh product to be
Two related matrix operations are the '''Tracy-Singh''' and '''Khatri-Rao products''' which operate on [[Block matrix|partitioned matrices]]. Let the <math>m</math>-by-<math>n</math> matrix <math>A</math> be partitioned into the <math>m_i</math>-by-<math>n_j</math> blocks <math>A_{ij}</math> and <math>p</math>-by-<math>q</math> matrix <math>B</math> into the <math>p_k</math>-by-<math>q_l</math> blocks ''B''<sub>''kl''</sub> with of course <math> \Sigma_i m_i = m</math>, <math>\Sigma_j n_j = n</math>, <math>\Sigma_k p_k = p</math> and <math> \Sigma_l q_l = q .</math>

The Tracy-Singh product<ref>Tracy, DS, Singh RP. 1972. A new matrix product and its applications in matrix differentiation. Statistica Neerlandica 26: 143-157.</ref><ref>Liu S. 1999. Matrix results on the Khatri-Rao and Tracy-Singh products. Linear Algebra and its Applications 289: 267-277. ([http://www.sciencedirect.com/science?_ob=MImg&_imagekey=B6V0R-3YVMNR9-R-1&_cdi=5653&_user=877992&_orig=na&_coverDate=03%2F01%2F1999&_sk=997109998&view=c&wchp=dGLbVlb-zSkWb&md5=21c8c66f17da8d1bab45304a29cc96ac&ie=/sdarticle.pdf pdf])</ref>
is defined as
:<math> A \circ B = (A_{ij}\circ B)_{ij} = ((A_{ij} \otimes B_{kl})_{kl})_{ij}</math>
:<math> A \circ B = (A_{ij}\circ B)_{ij} = ((A_{ij} \otimes B_{kl})_{kl})_{ij}</math>
which means that the <math>(ij)</math>th subblock of the <math>mp</math>-by-<math>nq</math> product <math> A\circ B</math> is the <math>m_i p</math>-by-<math>n_j q</math> matrix <math>A_{ij} \circ B</math>, of which the <math>(kl)</math>th subblock equals the <math>m_i p_k</math>-by-<math>n_j q_l</math> matrix <math>A_{ij} \otimes B_{kl}</math>.
which means that the <math>(ij)</math>th subblock of the <math>mp</math>-by-<math>nq</math> product <math> A\circ B</math> is the <math>m_i p</math>-by-<math>n_j q</math> matrix <math>A_{ij} \circ B</math>, of which the <math>(kl)</math>th subblock equals the <math>m_i p_k</math>-by-<math>n_j q_l</math> matrix <math>A_{ij} \otimes B_{kl}</math>. Essentially the Tracy-Singh product is the pairwise Kronecker product for each pair of partitions in the two matrices.


For example, if <math>A</math> and <math>B</math> both are <math>2</math>-by-<math>2</math> partitioned matrices e.g.:
For example, if <math>A</math> and <math>B</math> both are <math>2</math>-by-<math>2</math> partitioned matrices e.g.:
:<math> A =
:<math> A =
Line 236: Line 241:
</math>
</math>


The Khatri-Rao product<ref>Khatry CG, Rao CR. 1968. Solutions to some functional equations and their applications to characterization of probability distributions. Sankhya 30: 167-180.</ref><ref>Zhang X, Yang Z, Cao C. 2002. Inequalities involving Khatri-Rao products of positive semi-definie matrices. Applied Mathematics E-notes 2: 117-124.</ref>
The Khatri-Rao product is defined as
is defined as
:<math> A \ast B = (A_{ij}\otimes B_{ij})_{ij}</math>
:<math> A \ast B = (A_{ij}\otimes B_{ij})_{ij}</math>
in which the <math>(ij)</math>th block is the <math>m_ip_i</math>-by-<math>n_jq_j</math>-sized Kronecker product of the corresponding blocks of <math>A</math> and <math>B</math>, assuming that the 'horizontal' and 'vertical' number of subblocks of both matrices is equal. The size of the product is then <math>\Sigma_i m_ip_i</math>-by-<math>\Sigma_j n_jq_j</math>. Proceeding with the same matrices as the previous example we obtain:
in which the <math>(ij)</math>th block is the <math>m_ip_i</math>-by-<math>n_jq_j</math> sized Kronecker product of the corresponding blocks of <math>A</math> and <math>B</math>, assuming the number of row and column partitions of both matrices is equal. The size of the product is then <math>\Sigma_i m_ip_i</math>-by-<math>\Sigma_j n_jq_j</math>. Proceeding with the same matrices as the previous example we obtain:
:<math>
:<math>
A \ast B =
A \ast B =
Line 260: Line 266:
</math>
</math>


This is a submatrix of the Tracy-Singh product of the two matrices (each partition in this example is a partition in a corner of the Tracy-Singh product).
A column-wise Kronecker product,also called the Khatri-Rao product of two matrices assumes the partitions of the matrices as their columns. In this case <math>m_1=m</math>, <math>p_1=p</math>, <math>n=q</math> and <math>\forall j: n_j=p_j=1</math>. The resulting product is a <math>mp</math>-by-<math>n</math> matrix of which each column is the Kronecker product of the corresponding columns of <math>A</math> and <math>B</math>. We can only use the matrices from the previous examples if we change the partitions:

<!-- comment: the following definition is the same as the above except that it uses implicit partitions instead of explicit partitions... is there really need for this second example? -->

A column-wise Kronecker product of two matrices may also be called the Khatri-Rao product. This product assumes the partitions of the matrices are their columns. In this case <math>m_1=m</math>, <math>p_1=p</math>, <math>n=q</math> and <math>\forall j: n_j=p_j=1</math>. The resulting product is a <math>mp</math>-by-<math>n</math> matrix of which each column is the Kronecker product of the corresponding columns of <math>A</math> and <math>B</math>. Using the matrices from the previous examples with the columns partitioned:
:<math>
:<math>
C =
C =
Line 317: Line 327:
\right].
\right].
</math>
</math>



== References ==
== References ==
Line 328: Line 339:
* {{planetmath reference|id=4163|title=Kronecker product}}
* {{planetmath reference|id=4163|title=Kronecker product}}
* [http://mathworld.wolfram.com/MatrixDirectProduct.html MathWorld Matrix Direct Product]
* [http://mathworld.wolfram.com/MatrixDirectProduct.html MathWorld Matrix Direct Product]
* {{PDFlink|1=[http://www.sciencedirect.com/science?_ob=MImg&_imagekey=B6V0R-3YVMNR9-R-1&_cdi=5653&_user=877992&_orig=na&_coverDate=03%2F01%2F1999&_sk=997109998&view=c&wchp=dGLbVlb-zSkWb&md5=21c8c66f17da8d1bab45304a29cc96ac&ie=/sdarticle.pdf Matrix results on the Khatri-Rao and Tracy-Singh products]}}


[[Category:Matrix theory]]
[[Category:Matrix theory]]

Revision as of 17:58, 15 April 2008

In mathematics, the Kronecker product, denoted by , is an operation on two matrices of arbitrary size resulting in a block matrix. It is a special case of a tensor product. The Kronecker product should not be confused with the usual matrix multiplication, which is an entirely different operation. It is named after German mathematician Leopold Kronecker.

Definition

If A is an m-by-n matrix and B is a p-by-q matrix, then the Kronecker product is the mp-by-nq block matrix

More explicitly, we have

Examples

.
.

Properties

Bilinearity and associativity

The Kronecker product is a special case of the tensor product, so it is bilinear and associative:

where A, B and C are matrices and k is a scalar.

The Kronecker product is not commutative: in general, A B and B A are different matrices. However, A B and B A are permutation equivalent, meaning that there exist permutation matrices P and Q such that

If A and B are square matrices, then A B and B A are even permutation similar, meaning that we can take P = QT.

The mixed-product property

If A, B, C and D are matrices of such size that one can form the matrix products AC and BD, then

This is called the mixed-product property, because it mixes the ordinary matrix product and the Kronecker product. It follows that A B is invertible if and only if A and B are invertible, in which case the inverse is given by

Kronecker sum and exponentiation

If A is n-by-n, B is m-by-m and denotes the k-by-k identity matrix then we can define the Kronecker sum, , by

We have the following formula for the matrix exponential which is useful in the numerical evaluation of certain continuous-time Markov processes [citation needed],

Spectrum

Suppose that A and B are square matrices of size n and q respectively. Let λ1, ..., λn be the eigenvalues of A and μ1, ..., μq be those of B (listed according to multiplicity). Then the eigenvalues of A B are

It follows that the trace and determinant of a Kronecker product are given by

Singular values

If A and B are rectangular matrices, then one can consider their singular values. Suppose that A has rA nonzero singular values, namely

Similarly, denote the nonzero singular values of B by

Then the Kronecker product A B has rArB nonzero singular values, namely

Since the rank of a matrix equals the number of nonzero singular values, we find that

Relation to the abstract tensor product

The Kronecker product of matrices corresponds to the abstract tensor product of linear maps. Specifically, if the matrices A and B represent linear transformations V1W1 and V2W2, respectively, then the matrix A B represents the tensor product of the two maps, V1 V2W1 W2.

Relation to products of graphs

The Kronecker product of the adjacency matrices of two graphs is the adjacency matrix of the tensor product graph. The Kronecker sum of the adjacency matrices of two graphs is the adjacency matrix of the Cartesian product graph. See [1], answer to Exercise 96.

Transpose

The operation of transposition is distributive over the Kronecker product:

Matrix equations

The Kronecker product can be used to get a convenient representation for some matrix equations. Consider for instance the equation AXB = C, where A, B and C are given matrices and the matrix X is the unknown. We can rewrite this equation as

It now follows from the properties of the Kronecker product that the equation AXB = C has a unique solution if and only if A and B are nonsingular (Horn & Johnson 1991, Lemma 4.3.1).

Here, vec(X) denotes the vectorization of the matrix X formed by stacking the columns of X into a single column vector.

If X is row-ordered into the column vector x then can be also be written as (Jain 1989, 2.8 Block Matrices and Kronecker Products)

History

The Kronecker product is named after Leopold Kronecker, even though there is little evidence that he was the first to define and use it. Indeed, in the past the Kronecker product was sometimes called the Zehfuss matrix, after Johann Georg Zehfuss.

Two related matrix operations are the Tracy-Singh and Khatri-Rao products which operate on partitioned matrices. Let the -by- matrix be partitioned into the -by- blocks and -by- matrix into the -by- blocks Bkl with of course , , and

The Tracy-Singh product[2][3] is defined as

which means that the th subblock of the -by- product is the -by- matrix , of which the th subblock equals the -by- matrix . Essentially the Tracy-Singh product is the pairwise Kronecker product for each pair of partitions in the two matrices.


For example, if and both are -by- partitioned matrices e.g.:

we get:

The Khatri-Rao product[4][5] is defined as

in which the th block is the -by- sized Kronecker product of the corresponding blocks of and , assuming the number of row and column partitions of both matrices is equal. The size of the product is then -by-. Proceeding with the same matrices as the previous example we obtain:

This is a submatrix of the Tracy-Singh product of the two matrices (each partition in this example is a partition in a corner of the Tracy-Singh product).


A column-wise Kronecker product of two matrices may also be called the Khatri-Rao product. This product assumes the partitions of the matrices are their columns. In this case , , and . The resulting product is a -by- matrix of which each column is the Kronecker product of the corresponding columns of and . Using the matrices from the previous examples with the columns partitioned:

so that:


References

  1. ^ D. E. Knuth: "Pre-Fascicle 0a: Introduction to Combinatorial Algorithms", zeroth printing (revision 2), to appear as part of D.E. Knuth: The Art of Computer Programming Vol. 4A
  2. ^ Tracy, DS, Singh RP. 1972. A new matrix product and its applications in matrix differentiation. Statistica Neerlandica 26: 143-157.
  3. ^ Liu S. 1999. Matrix results on the Khatri-Rao and Tracy-Singh products. Linear Algebra and its Applications 289: 267-277. (pdf)
  4. ^ Khatry CG, Rao CR. 1968. Solutions to some functional equations and their applications to characterization of probability distributions. Sankhya 30: 167-180.
  5. ^ Zhang X, Yang Z, Cao C. 2002. Inequalities involving Khatri-Rao products of positive semi-definie matrices. Applied Mathematics E-notes 2: 117-124.
  • Horn, Roger A.; Johnson, Charles R. (1991), Topics in Matrix Analysis, Cambridge University Press, ISBN 0-521-46713-6.
  • Jain, Anil K. (1989), Fundamentals of Digital Image Processing, Prentice Hall, ISBN 0-13-336165-9.