logo back up home forward   further reading more topics »

Maths - Kronecker Sum


Notation

The symbol⊕seems to be used to a number of related concepts:

The direct sum

A construction which combines several modules into a new, larger module. The result of the direct summation of modules is the "smallest general" module which contains the given modules as subspaces.

As far as I can tell, this does not presicely define the Cayley table, for example we could say:

H =ℜ⊕ℜ³

Which says that quaternions are made up of a one dimensional scalar combined with a 3 dimensional vector like (actually bivector) quantity. Or:

H =C⊕Cj

Which says that quaternions are made up of two complex number algebras, or:

G3+ = ℜ⊕ℜ³

Which says that the even geometric algebra based on 3 dimensions which square to +ve is made up of a one dimensional scalar combined with a 3 dimensional bivector quantity.

Group direct product

For abelian groups (groups which commute) we can represent the group operation as ⊕ instead of the usual multipication, in this case the identity element will be '0' and the inverse operation will be -x.

We can also use this to combine algebras, for instance if we have the algebras G and H with sample elements g and h. Combining these algebras can be defined elementwise:

(g, h) × (g' , h' ) = (g * g' , h o h' )

where:

Direct product of modules

The direct product for modules (not to be confused with the tensor product) is very similar to the one defined for groups above, using the cartesian product with the operation of addition being componentwise, and the scalar multiplication just distributing over all the components. Starting from R we get Euclidean space Rn, the prototypical example of a real n-dimensional vector space. The direct product of Rm and Rn is Rm + n.

If we are multiplying two integers n and m then we could say,

  n
n*m = ∑ m
  1=1

In the same way if we are raising n to the mth power then we could say,

  n
nm = ∏ m
  1=1

A direct product for a finite index is identical to the direct sum:

n   n
⊕ =
i=1   1=1

The direct sum and direct product differ only for infinite indices, where the elements of a direct sum are zero for all but for a finite number of entries. They are dual: the direct sum is the coproduct, while the direct product is the product.

Other meanings of ⊕

The symbol⊕is also used for the binary 'exclusive or' operation although

Kronecker Sum of matrix with real terms

The Kronecker sum (or tensor sum) of A and B, denoted A⊕B, is the mn×mn matrix:

A⊕B = (Im⊗A) + (B⊗In).

where:

Example

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

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

calculate A⊕B

So in this case A is 3×3 so In=
1 0 0
0 1 0
0 0 1
and B is 2 ×2 so Im=
1 0
0 1

So A⊕B = (Im⊗A) + (B⊗In) gives:

A⊕B=
3 4 9 0 0 0
-4 3 6 0 0 0
3 -7 8 0 0 0
0 0 0 3 4 9
0 0 0 -4 3 6
0 0 0 3 -7 8
+
5 0 0 -3 0 0
0 5 0 0 -3 0
0 0 5 0 0 -3
2 0 0 4 0 0
0 2 0 0 4 0
0 0 2 0 0 4

which gives

A⊕B=
8 4 9 -3 0 0
-4 8 6 0 -3 0
3 -7 13 0 0 -3
2 0 0 7 4 9
0 2 0 -4 7 6
0 0 2 3 -7 12

General Case

Given K square matrices: AK,…,A1, where Al is of size nl×nl,

their Kronecker sum is

⊕
K≥l≥1
Al=
K≥l≥1

InK…nl+1⊗Al⊗Inl−1…n1

∈ RnK…n1×nK…n1

where:


using the mixed-base numbering scheme (indices start at 0)
i = (...((iK) · nK−1+ iK−1) · nK−2…) · n1+ i1= ∑K≥l≥1il· ∏l>h≥1nh

nonzeros:

η ( ⊕K≥l≥1Al) ≤∑K≥l≥1η(Al)nl· ∏K≥h≥1

Properties

The Kronecker sum commutes:

A⊕B = B⊕A.


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).

Commercial Software Shop

Where I can, I have put links to Amazon for commercial software, not directly related to the software project, but related to the subject being discussed, click on the appropriate country flag to get more details of the software or to buy it from them.

 

Can you help?

Please send me any improvements to here. I would appreciate ideas to make the pages more useful including error correction, ideas for new pages, improvements to wording. It helps if you quote the full URL of the page.

 

Terminology and Notation

Specific to this page here:

 

program

I am working on a project which uses these principles, if you would like to help me with this you are welcome to join in, here:

http://sourceforge.net/projects/mjbworld/

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

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