Alexander Fufaev
My name is Alexander FufaeV and here I write about:

Kronecker Delta: 4 Important Rules and Scalar Product in Index Notation

Table of contents
  1. Definition and Examples Mathematical definition of the Kronecker delta with some examples.
  2. Einstein's Summation Convention Here you will learn about the Einstein summation convention, where you can omit the sum signs and get formal commutativity and compactness.
  3. 4 Rules for Kronecker delta Here you will learn four important calculation rules when using the Kronecker delta.
  4. The 3 most common mistakes you should avoid making Here you will learn the common mistakes that are made when calculating with the Kronecker delta.
  5. Scalar product with Kronecker delta Here you will learn how to write the scalar product in index notation using the Kronecker delta.
  6. Exercises with Solutions

It is impossible to imagine theoretical physics without the Kronecker delta. You will encounter this relatively simple, yet powerful tensor practically in all fields of theoretical physics. For example, it is used to...

  • write long expressions more compactly.
  • simplify complicated expressions.

In combination with the Levi-Civita tensor, the two tensors are very powerful! That's why it's worth understanding how the Kronecker delta works.

Definition and Examples

Kronecker delta \(\delta_{ \class{blue}{i} \class{red}{j} }\) - is a small greek letter delta, which yields either 1 or 0, depending on which values its two indices \(\class{blue}{i} \) and \(\class{red}{j}\) take on. The maximal value of an index corresponds to the considered dimension, so in three-dimensional space \(\class{blue}{i} \) and \(\class{red}{j}\) run from 1 to 3.

Kronecker delta is equal to 1 if \( \class{blue}{i} \) and \(\class{red}{j}\) are equal. And Kronecker delta is equal to 0 if \(\class{blue}{i} \) and \(\class{red}{j}\) are unequal.


  • \( \delta_{11} ~=~ 1 \) - because both indices are the same.
  • \( \delta_{23} ~=~ 0 \) - because both indices are different.
  • \( a \,\delta_{33} ~=~ a \cdot 1 ~=~ a \)
  • \( \delta_{23} \, \delta_{22} ~=~ 1 \cdot 0 ~=~ 0 \)

Einstein's Summation Convention

In order to represent an expression like

or an expression like

compactly, we agree on the following rule:

Summation convention

We omit the sum sign, but keep in mind that if two equal indices appear in an expression, then we sum over that index.


In the following scalar product we sum over \(i\):

We omit the sum sign and keep in mind that we sum over \(i\). Thus, using Einstein's summation convention, the scalar product is:

Another advantage of the sum convention (in addition to compactness) is formal commutativity. For example, you may write down the expression \( \varepsilon_{ijk} \, \boldsymbol{\hat{e}}_{i} \, s_j \, \delta_{km} \) in a different order as you wish, for example like this: \( \varepsilon_{ijk} \, \delta_{km} \, \, s_j \, \boldsymbol{\hat{e}}_{i} \). This might help you see what can be shortened or simplified further.

But be careful! There are exceptions, for example with the differential operator \( \partial_j \), which acts on a successor.

You can' t move something before the derivative that is supposed to be differentiated. So you should be careful with operators in index notation.

4 Rules for Kronecker delta

Let's look at four useful calculation rules with Kronecker delta that you can use whenever summing over double indices.

Rule #1

Indices \( ij \) may be interchanged:

Why is that?: According to the definition, if the indices \(i\) and \(j\) are equal, then \( \delta_{ij} \) is equal to 1. But then, also \(\delta_{ji} \) is equal to 1. And if the indices are unequal, you have: \( \delta_{ij} \) is equal to zero. And \(\delta_{ji} \) is equal to zero. So as you can see: Kronecker delta is symmetric!

Rule #2

If the product of two or more Kronecker deltas contains a summation index \( j \), then the product can be shortened, such that the summation index \( j \) disappears:

Why is that?: Let's consider for example the case where the indices \( i \) and \( j \) are equal: \( i = j \) and the indices \( j \) and \( k \) are not equal: \( j \neq k \). Then it follows that \( i \) and \( k \) must also be unequal: \( i \neq k \). So \(\delta_{jk}\) is zero and therefore the whole term on the left hand side is zero: \( \delta_{ij} \, \delta_{jk} ~=~ 0 \). \(\delta_{ik}\) on the left-hand side is also zero, because \(i\) and \(k\) are different. The equation is fulfilled. You can proof all other possible cases in the same way. So instead of writing two deltas you can just write \( \delta_{ik} \). We say: The summation index \(j\) is contracted.

Example: Apply rule #2

The summation index here is \(m\), so you can eliminate it by contracting it.

Example: Contraction order

Here you have two summation indices \(i\) and \(j\). So in principle you can eliminate both of them.

First possible way of contraction: From the first rule you know, that Kronecker delta is symmetric, so you can swap \(k\) and \(j\) in \(\delta_{kj}\) and then contract the index \(j\) first. You get: \(\delta_{ik} \, \delta_{in}\). And then you contract the index \(i\). The simplified result is \( \delta_{kn} \).

Second possible way of contraction: Firs reorder the product to \( \delta_{kj} \, \delta_{ij} \, \delta_{in} \). Contract the summation index \(i\) first. You get: \( \delta_{kj} \, \delta_{jn} \). Contract the second summation index \(j\). You get: \( \delta_{kn} \).

Remember that the contraction order is not important here. In both cases you get the same result. So which way of simplification you take doesn't matter!

Rule #3

If the index in \( a_j \) also occurs in Kronecker delta \( \delta_{jk} \), then the Kronecker delta disappears and the factor \( a_j \) gets the other index \(k\):

Why is that? This rule is basically another case of index contraction. This rules tells you that you can also contract summation indices that don't have to be carried by a Kronecker delta.

Example: Apply rule #3
Rule #4

If \( j \) runs from 1 to \(n\), then:

Why is that?: According to the summation convention 5, the summation is carried out over \(j\) here. So \(\delta_{jj}\) is equal to \(\delta_{11}\) plus \(\delta_{22}\) plus \(\delta_{33}\) and so on up to \(n\). And each Kronecker delta yields 1, because the index values are equal. So 1 + 1 + 1 and so on, results in \(n\):

3d example

If \( \class{red}{j} \) takes the values from 1 to \(3\). So 1 + 1 + 1 and so on, results in \(3\):

The 3 most common mistakes you should avoid making

If you use summation convention and the above rules, you must also pay attention to the correct notation: Summation is done if an index occurs exactly twice on one side of the equation.

  1. Why? Because on the right hand side you have double index \(i\), so you sum over \( i \). But on the left hand side there is also the summation index \(i\) - and this of course makes no sense... To correct this expression, you can rename the summation index to \( j \).

  2. This expression is not formally wrong but very prone to errors:

    Because the summation index \( k \) appears on both sides of the equation. To correct this, rename one of the summation indices, for example to \(j\).

  3. Why? Because here you try to sum over an ordinary number, as if this number would be a summation index. Number "1" occurs twice, but it is not a variable index over which you can sum. Therefore you can not use the contraction rule on ordinary numbers.

Scalar product with Kronecker delta

Consider a three-dimensional vector with the components \(x\), \(y\) and \(z\):

You can represent this vector \( \boldsymbol{v} \) in an orthonormal basis as follows:

Orthonormal basis vectors - Cartesian coordinate system
Three basis vectors span an orthogonal coordinate system.

Here \(\boldsymbol{\hat{e}}_x\), \(\boldsymbol{\hat{e}}_y\) and \(\boldsymbol{\hat{e}}_z\) are three basis vectors which are orthogonal to each other and normalized. In this case they span an orthogonal three-dimensional coordinate system.

The Kronecker delta needs vectors written in index notation. Here we do not denote the vector components with different letters \(x,y,z\), but we choose one letter (here the letter \( v \)) and then number the vector components consecutively. The vector components are then called \(v_1\), \(v_2\) and \(v_3\) and the basis expansion looks like this:

One of the advantages of index notation is that this way you will never run out of letters for the vector components. Just imagine a fifty-dimensional vector. There aren't even that many letters to give each component \(v_1\), \(v_2\) ... \(v_{50}\) of the vector a unique letter! It gets worse when you want to write out this fifty-dimensional vector as in 21....

Another advantage of the index notation is that by numbering the vector components in this way, you can use the sum sign to represent 21 more compactly. It becomes even more compact if we omit the big sum sign according to the summation convention. Look how compact the vector \(\boldsymbol{v}\) can be represented in a basis:

Here, as you know, we sum over index \(j\). Whether you call the index \(j\), \(i\) or \(k\) or any other letter is of course up to you.

Now that you know how a vector is represented in index notation, we can analogously write the scalar product \( \boldsymbol{a} ~\cdot~ \boldsymbol{b} \) of two vectors \( \boldsymbol{a} = (a_1, a_2, a_3) \) and \( \boldsymbol{b} = (b_1, b_2, b_3)\) in index notation. For this we use the index representation of a vector 22:

In index notation, you may sort the factors in 23 as you like. This is the advantage of index notation, where the commutative law applies. Let's take advantage of that and put parentheses around the basis vectors to emphasize their importance in introducing the Kronecker delta:

The basis vectors \(\boldsymbol{\hat{e}}_i\) and \(\boldsymbol{\hat{e}}_j\) are orthonormal (i.e. orthogonal and normalized). Recall what the property of being orthonormal means for two vectors. Their scalar product \( \boldsymbol{\hat{e}}_{i} ~\cdot~ \boldsymbol{\hat{e}}_{j} \) yields:

Doesn't this property look familiar to you? The scalar product of two orthonormal vectors behaves exactly like Kronecker delta!

Therefore replace the scalar product of two basis vectors with a Kronecker delta:

Thus we can write the scalar product 27 using Kronecker delta:

If you remember rule #3, you can contract the index \(j\) if you want:

And you get exactly the definition of the scalar product, where the vector components are summed component-wise:

Check: Write out the sum

We can write out the double summation over \(i\) and \(j\) in 28 for practice. In other words, we have to go through all possible combinations of the indices \(i\) and \(j\):

As you can see - because of the definition of Kronecker delta - only 3 components of 9 in total are not zero, where \( i = j \). So you may omit all summands with unequal indices:

Using the definition of Kronecker delta, \( \delta_{11} ~=~ \delta_{22} ~=~ \delta_{33} ~=~ 1 \), you get the scalar product you are familiar with:

Example: Kronecker delta in quantum mechanics

To take an example from quantum mechanics, where you will encounter the Kronecker delta. The spin states \(|1\rangle\) (spin up) and \(|2\rangle\) (spin down) are orthonormal to each other, which means they satisfy the following conditions:

These four equations can be combined into a single equation using the Kronecker delta \(\delta_{ij}\):

Exercises with Solutions

Use this formula eBook if you have problems with physics problems.

Exercise: Simplify Terms Using Kronecker Delta

Simplify the following expressions using the rules for calculating with Kronecker delta:

  1. \(\delta_{31}\,\delta_{33}\)
  2. \(\delta_{ji}\,T_{ink}\)
  3. \(\delta_{j1}\,\delta_{ji}\,\delta_{2i}\)
  4. \(\delta_{ik}\,\delta_{i3}\,\delta_{3k}\)
  5. \(\delta_{jj}\) mit \(j ~\in~ \{ 1,2,3,4 \} \)
  6. \(\delta_{k\mu} \, \varepsilon_{kmn} \, \delta_{ss} \) mit \(s ~\in~ \{ 1,2 \} \)

Solution to the exercise #1

Here we simplify the following expression: \begin{align} \delta_{31}\,\delta_{33} ~&=~ 0 \cdot 1 ~=~ 0 \end{align}

We exploited that \( \delta_{31} = 0 \) is because the indices have two different values and \( \delta_{33} = 1 \) has two equal indices.

Solution to the exercise #2

We want to simplify the following expression: \begin{align} \delta_{ji} \, T_{ink} ~&=~ T_{jnk} \end{align}

We exploited the rule that the Kronecker delta \( \delta_{ji} \) eliminates everything except \( T_{jnk} \), where \( i = j \).

Solution to the exercise #3

Here we simplify the following expression: \begin{align} \delta_{j1} \, \delta_{ji} \, \delta_{2i} \end{align}

For example, first combine the index \(j\) in \(\delta_{j1} \, \delta_{ji}\) and then combine the index \(i\): \begin{align} \delta_{j1} \, \delta_{ji} \, \delta_{2i} &~=~ \delta_{i1} \, \delta_{2i} \\\\ &~=~ \delta_{12} \\\\ &~=~ 0 \end{align}

Of course, you could just as well first combine the index \(i\) in \(\delta_{ji} \, \delta_{2i}\): \begin{align} \delta_{j1} \, \delta_{ji} \, \delta_{2i} &~=~ \delta_{j1} \, \delta_{2j} \\\\ &~=~ \delta_{21} \\\\ &~=~ 0 \end{align}

You get the same result.

Solution to the exercise #4

Proceed analogously to (c), except that at the end you get not 0 but 1 according to the Kronecker delta definition: \begin{align} \delta_{ik} \, \delta_{i3} \, \delta_{3k} &~=~ \delta_{k3} \, \delta_{3k} \\\\ &~=~ \delta_{33} \\\\ &~=~ 1 \end{align}

Again, the order of simplification does not matter.

Solution to the exercise #5

Here we simplify the following expression, summing over the index \( j \) up to 4: \begin{align} \delta_{jj} \end{align} We get a sum with four summands: \begin{align} \delta_{jj} &~=~ \delta_{11} ~+~ \delta_{22} ~+~ \delta_{33} ~+~ \delta_{44} \\\\ &~=~ 1~+~1~+~1~+~1 \\\\ &~=~ 4 \end{align}

Solution to the exercise #6

Here we simplify the following expression, summing over the index \( s \) up to 2: \begin{align} \delta_{k\mu} \, \varepsilon_{kmn} \, \delta_{ss} \end{align}

Let us first combine \( \delta_{k\mu} \, \varepsilon_{kmn} \) and then write out the sum \(\delta_{ss}\): \begin{align} \delta_{k\mu} \, \varepsilon_{kmn} \, \delta_{ss} &~=~ \varepsilon_{\mu mn} \, \delta_{ss} \\\\ &~=~ \varepsilon_{\mu mn} \, \left( \delta_{11} ~+~ \delta_{22} \right) \\\\ &~=~ \varepsilon_{\mu mn} \, \left( 1~+~ 1 \right) \\\\ &~=~ 2\, \varepsilon_{\mu mn} \end{align}