# Dyadic operations, fourth order tensors and Tensor algebra

I am trying to understand the dyadic operation for a while since I am interested in Elasticity problems. I believe an intuitive understanding (rather than assuming) will give me good problem solving abilities.

1. The following equation is shown in almost all lecture notes on elasticity. However, I don't understand how this result is arrived. Can you actually derive this result? Or is this result rather intuitive? $$\bf{A}-\rm{\dfrac{1}{3}}\bf(I:A)I=(\mathbb I-\rm\dfrac{1}{3}\bf(I \otimes I)):A$$
2. Also how does a fourth order Identity tensor look like? I see the following notation everywhere. $$\bf \mathbb I= \rm \delta_{ij}\delta_{kl}\bf e_i \otimes e_j \otimes e_k \otimes e_l$$ Not being able to understand this could be attributed to my lack of understanding of the dyadic operator. Every lecture note elaborates on scalars. But not on tensors. Please show the actual matrix. It could help in understanding the operation better.
3. Also how does the dyad works between vectors and tensors? How do you numerically compute $$\bf I \otimes I$$ in the following $$\bf \mathbb{E}=\rm \lambda \bf I \otimes I + \rm 2 \mu \bf\mathbb{I}^{\rm sym}$$ Ive taken the above equations from Stanford Notes

I believe I have detailed my issue. Also let me know if there are any notes or books that could detail on these trivia.

• I think the first equality is wrong. On the l.h.s you have a tensor, on the r.h.s a scalar, as you're taking $I:A = \operatorname{tr}(A)$ Jun 12, 2021 at 14:03
• $\otimes$ is called the outer product, Wikipedia partially has the answer for your 3rd question ( en.wikipedia.org/wiki/… ), you just need to think a bit about it. The double-dot product $:$ is defined as $A:B =\sum_i\sum_j A_{ijk\dots}B_{ijk\dots}$ (hence, a contraction over the first two indices). Jun 12, 2021 at 16:05
• @AbdullahAliSivas I think the first equation is wrong. Do you agree ? Jun 12, 2021 at 16:15
• @bobinthebox, I do. But for a different reason. If $I$ is a second degree tensor, $I\otimes I$ is a fourth degree tensor, isn't it? Then I don't know how the difference of a second and a fourth degree tensor would be defined. Jun 12, 2021 at 16:31
• @AbdullahAliSivas What you said is right. But I made a mistake there. I edited it. It was $\mathbb I$ in the first equation. Not $I$ Jun 13, 2021 at 11:04

A dyadic product takes as input two vectors and outputs a second order tensor. This is what I know as a dyadic product, and a dyad is the term $$\mathbf{a}\mathbf{b}$$. A general second order tensor can be written as a linear combination of dyads.

Commonly the symbol $$\otimes$$ is referred as the tensor product and it outputs higher-order tensors. I think that this is easier to understand in index notation

$$A = B \otimes C\, ,$$

with $$B$$ and $$C$$ second order tensors, is a fourth order one. In index notation this is

$$A_{ijkl} = B_{ij} C_{kl}\, .$$

If you want to compute this computationally you need a 4th dimensional array. The following snippet does this

for i in range(3):
for j in range(3):
for k in range(3):
for l in range(3):
A[i, j, k, l] = B[i, j] * C[k, l]



That depends on the programming language that you are using. There might be capabilities for tensor products already built-in.

Regarding, how to visualize a fourth order tensor. This is more difficult, because it could be thought as a 4th dimensional array (for some coordinate system), and for that you need 4 dimensions. One thing that is commonly done is to represent it as 9 by 9 matrix, or as a matrix of matrices.

For example, the following is $$\mathbf{I}\otimes\mathbf{I}$$.

⎡⎡1  0  0⎤  ⎡0  0  0⎤  ⎡0  0  0⎤⎤
⎢⎢       ⎥  ⎢       ⎥  ⎢       ⎥⎥
⎢⎢0  1  0⎥  ⎢0  0  0⎥  ⎢0  0  0⎥⎥
⎢⎢       ⎥  ⎢       ⎥  ⎢       ⎥⎥
⎢⎣0  0  1⎦  ⎣0  0  0⎦  ⎣0  0  0⎦⎥
⎢                               ⎥
⎢⎡0  0  0⎤  ⎡1  0  0⎤  ⎡0  0  0⎤⎥
⎢⎢       ⎥  ⎢       ⎥  ⎢       ⎥⎥
⎢⎢0  0  0⎥  ⎢0  1  0⎥  ⎢0  0  0⎥⎥
⎢⎢       ⎥  ⎢       ⎥  ⎢       ⎥⎥
⎢⎣0  0  0⎦  ⎣0  0  1⎦  ⎣0  0  0⎦⎥
⎢                               ⎥
⎢⎡0  0  0⎤  ⎡0  0  0⎤  ⎡1  0  0⎤⎥
⎢⎢       ⎥  ⎢       ⎥  ⎢       ⎥⎥
⎢⎢0  0  0⎥  ⎢0  0  0⎥  ⎢0  1  0⎥⎥
⎢⎢       ⎥  ⎢       ⎥  ⎢       ⎥⎥
⎣⎣0  0  0⎦  ⎣0  0  0⎦  ⎣0  0  1⎦⎦

• Dear Nico, I understand that a fourth order tensor is a $3 \times 3$ matrix with each entry being a $3 \times 3$ second order tensor (or matrix)? So its a $9 \times 9$ in 2-D. Then I understand that a dyad operation between two matrices $\mathbb C = \bf A \otimes B$, does something like taking the entire matrix $\bf A$ and multiplies with each element in $\bf B$ (which are scalars, $\rm B_{k,l})$ and places the resulting output matrix ($\rm B_{k,l} \bf A$) in the position $\mathbb C_{m,n}$. Each position $\mathbb C_{m,n}$ is a matrix making $\mathbb C$ a $9 \otimes 9$ in 2D. Thanks. Correct? Jun 13, 2021 at 12:31
• @CrimeFighterCE, yes. That's intuitively correct. Jun 13, 2021 at 13:59
• Thanks a lot. I also understand that the dyadic operator is kind of complementary to the contraction operator. Atleast philosophically? Also how do I contract a fourth order tensor with a second order tensor as in RHS of Equation. 1 $$(\mathbb C-\rm\dfrac{1}{3}\bf(I \otimes I)):A$$? Can you show that? Jun 13, 2021 at 15:32
• @CrimeFighterCE, you just apply the definition of the double dot product: Given $\mathbb{K}$ a fourth order tensor and $\mathbf{A}$ a second order tensor, $[\mathbb{K}:\mathbf{A}]_{kl} = \sum_i\sum_j \mathbb{K}_{ijkl}:\mathbf{A}_{ij}$. See the wikipedia link, this is discussed there. Jun 13, 2021 at 16:26
• @AbdullahAliSivas Are you using contraction in the definition of contraction? or is it multiplication? In such a case $\mathbb K_{ijkl}$ would be a sub-matrix block indexed at position [k,l] and size same a $\bf A$ and hence, $\sum_i \sum_j \mathbb K_{ijkl} : \bf A_{ij}$ would be matrix to matrix contraction and hence a scalar? So each entry of $[\mathbb K : \bf A]_{kl}$ is a scalar making it a matrix of reduced size [k,l]. Right? Thanks. Jun 14, 2021 at 10:34

The first equality you wrote is not correct, as noted by other users. However, what I think you want to know is why $$(I:A)I = (I \otimes I)A$$. You can show this just by using dyads properties.

$$(B \otimes B) : A =(B_{ij}B_{kl} e_i \otimes e_j \otimes e_k \otimes e_l):(A_{mn} e_m \otimes e_n) = B_{ij}B_{kl} A_{mn} \delta_{km} \delta_{ln} e_i \otimes e_j = B_{ml} A_{ml} B_{ij}e_i \otimes e_j = (B:A) B$$

• Honestly I didn't get it. But my gut feeling says you took all the scalars to the left. Ttried to isolate the following operation ->$e_k \otimes e_l : e_m \otimes e_n$ and wrote it as $\delta_{km} \delta_{ln}$. So the operation $e_i \otimes e_j$ is left on the right. I am not understanding how the indices got swapped in the last part in B and A. If I were to ask an unprofessional question, does this seem obvious to you like $4 \times 2 = 8$ or are you able to do this based on rules and practice? I'd like to know and implement the same. Thanks in advance. Jun 13, 2021 at 11:50
• I used definitions, and I've seen they're given also in the notes you linked in the question. In the last step I recognised the $:$ product of two tensors, and in the step before I just used the $\delta$ definition and set $k=m$ and $n=l$. Those things are presented in any introductory book of Continuum Mechanics @CrimeFighterCE
– VoB
Jun 14, 2021 at 8:34
• Any introductory book of continuum mechanics only writes about Einstein summation and dot product so elaborate which is actually not required. All the complicated stuff will be carefully left unattended. Please share any book in CM that in your opinion elaborates on tensors as much as scalars and vectors. I'm happy to read. Jun 14, 2021 at 11:22