Skip to main content
  1. Home
  2. Lessons
  3. 📖
Level 3
Level 3 requires the basics of vector calculus, differential and integral calculus. Suitable for undergraduates and high school students.

Kronecker delta: How to write scalar product in index notation

Kronecker delta δij (better: Kronecker tensor) - is a small Greek letter delta, which yields either 1 or 0, depending on which values its two indices take. Maximum value of an index corresponds to the considered dimension, so in three-dimensional space: i,j ∈ {1,2,3}.

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

Definition: Kronecker delta

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.1\[ \delta_{ \class{blue}{i} \class{red}{j} } ~=~ \begin{cases} 1 &\mbox{if } \class{blue}{i}=\class{red}{j} \\ 0 &\mbox{if } \class{blue}{i} \neq \class{red}{j} \end{cases} \]

Examples
  • \( \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 like2 \[ \underset{j=1}{\overset{3}{\boxed{+}}} ~ \delta_{ij} \, \delta_{jk} ~=~ \delta_{i1} \, \delta_{1k} ~+~ \delta_{i2} \, \delta_{2k} ~+~ \delta_{i3} \, \delta_{3k} \]or an expression like2.1 \[ \underset{i=1}{\overset{3}{\boxed{+}}} ~ a_i \, b_i ~=~ a_1\,b_1 ~+~ a_2\,b_2 ~+~ a_3\,b_3 \]compactly, we agree on the following rule:

Summation conventionWe omit the sum sign, but keep in mind that if two equal indices appear in an expression, then we sum over that index.
ExampleIn the following scalar product we sum over \(i\):2.2 \[ \underset{i=1}{\overset{3}{\boxed{+}}} \, a_i \, b_i ~=~ a_1\,b_1 ~+~ a_2\,b_2 ~+~ a_3\,b_3 \]

We omit the sum sign and keep in mind that we sum over \(i\):2.3 \[ \underset{i=1}{\overset{3}{\boxed{+}}} \, a_i \, b_i ~\rightarrow~ a_i \, b_i \]

Thus, using Einstein's summation convention, the scalar product is:2.4 \[ a_i \, b_i ~=~ a_1\,b_1 ~+~ a_2\,b_2 ~+~ a_3\,b_3 \]

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

Rule #1Indices \( ij \) may be interchanged:3\[ \delta_{ij} ~=~ \delta_{ji} \]

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 \textit{symmetric}!

Rule #2If 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:4\[ \delta_{ij} \, \delta_{jk} ~=~ \delta_{ik} \]

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.

Example4.1\[ \delta_{km} \, \delta_{mn} ~=~ \delta_{kn} \] The summation index here is \(m\), so you can eliminate it by contracting it.
Example: Contraction order4.2\[ \delta_{ij} \, \delta_{kj} \, \delta_{in} ~=~ \delta_{kn} \] 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 #3If 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\):5\[ a_j \, \delta_{jk} ~=~ a_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.

ExampleConsider \(\Gamma_{jmk} \, \delta_{nk}\). The summation index is \(k\), so you can eliminate it. The result is \(\Gamma_{jmn} \).
Rule #4If \( j \) runs from 1 to \(n\), then:6\[ \delta_{jj} ~=~ n \]

Why is that?: According to the summation convention 2, 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\): 6.1\begin{align} \delta_{jj} &~=~ \delta_{11} ~+~ \delta_{22} ~+~...~+~ \delta_{nn} \\\\ &~=~ 1 ~+~ 1 ~+~...~+~ 1 \\\\ & ~=~ n \end{align}

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. Mistake #1 7\[ v_i ~=~ b_i \, c_i \]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. Mistake #2 8\[ \delta_{jk} \, v_k ~=~ \delta_{mk} \, r_k \]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. Mistake #39\[ \delta_{i1} \, \delta_{1k} ~=~ \delta_{ik} \]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\): 10 \[ \boldsymbol{v} ~=~ \begin{bmatrix}x \\ y \\ z \end{bmatrix} \]

Three basis vectors span an orthogonal coordinate system.

You can represent this vector \( \boldsymbol{v} \) in an orthonormal basis as follows: 11 \[ \boldsymbol{v} ~=~ x \, \boldsymbol{\hat{e}}_x ~+~ y \, \boldsymbol{\hat{e}}_y ~+~ z \, \boldsymbol{\hat{e}}_z \] 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:12 \[ \begin{align} \boldsymbol{v} &~=~ \left( v_1,v_2,v_3\right) \\\\ &~=~ v_1 \, \boldsymbol{\hat{e}}_1 ~+~ v_2 \, \boldsymbol{\hat{e}}_2 ~+~ v_3 \, \boldsymbol{\hat{e}}_3 \end{align} \]

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

Another advantage of the index notation is that by numbering the vector components in this way, you can use the sum sign to represent 12 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:

Vector in index notation 13 \[ \boldsymbol{v} ~=~ v_j \, \boldsymbol{\hat{e}}_j \] 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 13:14\[ \boldsymbol{a} ~\cdot~ \boldsymbol{b} ~=~ a_i \, \boldsymbol{\hat{e}}_i ~\cdot~ b_j \, \boldsymbol{\hat{e}}_j \]

In index notation, you may sort the factors in 14 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: 15 \[ \boldsymbol{a} ~\cdot~ \boldsymbol{b} ~=~ a_i \, b_j \, \left( \boldsymbol{\hat{e}}_i ~\cdot~ \boldsymbol{\hat{e}}_j \right) \]

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:

  • \( \boldsymbol{\hat{e}}_{i} ~\cdot~ \boldsymbol{\hat{e}}_{j} ~=~ 1 \), if \( i ~=~ j \).
  • \( \boldsymbol{\hat{e}}_{i} ~\cdot~ \boldsymbol{\hat{e}}_{j} ~=~ 0 \), if \( i ~\ne~ j \).

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:

Scalar product of two orthonormal vectors16\[ \boldsymbol{\hat{e}}_{i} ~\cdot~ \boldsymbol{\hat{e}}_{j} ~=~ \delta_{ij} \]

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

Scalar product with Kronecker delta 17 \[ \boldsymbol{a} ~\cdot~ \boldsymbol{b} ~=~ a_i \, b_j \, \delta_{ij} \]

If you remember rule #3, you can contract the index \(j\) if you want:18\[ \boldsymbol{a} ~\cdot~ \boldsymbol{b} ~=~ a_i \, b_i \]

And you get exactly the definition of the scalar product, where the vector components are summed component-wise:19\[ \boldsymbol{a} ~\cdot~ \boldsymbol{b} ~=~ a_1 \, b_1 ~+~ a_2 \, b_2 ~+~ a_3 \, b_3 \]

Check: Write out the sum

We can write out the double summation over \(i\) and \(j\) in 17 for practice. In other words, we have to go through all possible combinations of the indices \(i\) and \(j\):20\begin{align} a_i \, b_j \, \delta_{ij} &~=~ a_1 \, b_1 \, \delta_{11} ~+~ a_1 \, b_2 \, \delta_{12} ~+~ a_1 \, b_3 \, \delta_{13} \\\\ &~+~ a_2 \, b_1 \, \delta_{21} ~+~ a_2 \, b_2 \, \delta_{22} ~+~ a_2 \, b_3 \, \delta_{23} \\\\ & ~+~ a_3 \, b_1 \, \delta_{31} ~+~ a_3 \, b_2 \, \delta_{32} ~+~ a_3 \, b_3 \, \delta_{33} \end{align}

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: 20.1 \[ a_i \, b_i ~=~ a_1 \, b_1 \, \delta_{11} ~+~ a_2 \, b_2 \, \delta_{22} ~+~ a_3 \, b_3 \, \delta_{33} \]

Using the definition of Kronecker delta, \( \delta_{11} ~=~ \delta_{22} ~=~ \delta_{33} ~=~ 1 \), you get the scalar product you are familiar with: 20.2 \[ a_i \, b_i ~=~ a_1 \, b_1 ~+~ a_2 \, b_2 ~+~ a_3 \, b_3 \]

Example: Kronecker delta in quantum mechanicsTo 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:\[ \langle 1 | 2\rangle ~=~ 0, ~~~ \langle 2 | 1 \rangle ~=~ 0 \]\[ \langle 1 | 1 \rangle ~=~ 1, ~~~ \langle 2 | 2 \rangle ~=~ 1 \]

These four equations can be combined into a single equation using the Kronecker delta \(\delta_{ij}\):\[ \langle i | j \rangle ~=~ \delta_{ij} \]

Details about the content
  • Copyright: ©2021
  • License: CC BY 4.0This lesson may be used with indication of the copyright!
  • This content was added by FufaeV on .
  • This content was updated by FufaeV on .