Do gradient and curl only differ by a Levi-Cavita tensor?

  • #1
FQVBSina_Jesse
54
9
TL;DR Summary
Looking at the definition of gradient and curl in indicial notations, it seems the two are identical besides curl involves a Levi-Civita tensor.
Are the following two equations expressing the gradient and curl of a second-rank tensor correct?

$$
\nabla R_{ij} = \frac{\partial R_{ij}}{\partial x_k}
$$
$$
\nabla \times R_{ij} = \epsilon_{ijk} \frac{\partial R_{ij}}{\partial x_k}
$$

If so, then the two expressions only differ by the Levi-Cavita tensor and I can construct the gradient the same way as the curl right?
 
Physics news on Phys.org
  • #2
FQVBSina_Jesse said:
$$\nabla R_{ij} = \frac{\partial R_{ij}}{\partial x_k}$$$$\nabla \times R_{ij} = \epsilon_{ijk} \frac{\partial R_{ij}}{\partial x_k}$$
Your second equation is wrong: the left-side is a rank-2 tensor but the right is a rank-0 scalar. If we use a double-arrow to denote the rank-2 tensor ##\overleftrightarrow{R}##, then your 1rst equation can be rewritten as:$$\vec{\nabla}\overleftrightarrow{R}=\frac{\partial R_{ij}}{\partial x_{k}}$$However, the left (tensor) side of your 2nd equation is ambiguous and has two possible interpretations depending on which index of ##\overleftrightarrow{R}## the curl operation applies to:$$\vec{\nabla}\times\overleftrightarrow{R}=\epsilon_{ikl}\frac{\partial R_{lj}}{\partial x_{k}}\quad\text{or}\quad\epsilon_{jkl}\frac{\partial R_{il}}{\partial x_{k}}$$Note that in either interpretation we properly have rank-2 tensors on both sides of the equation. The right (scalar) side of your 2nd equation is actually the divergence of the vector ##\overrightarrow{R}^{*}## dual to the tensor ##\overleftrightarrow{R}##:$$\overrightarrow{\nabla}\cdot\overrightarrow{R}^{*}=\epsilon_{ijk}\frac{\partial R_{ij}}{\partial x_{k}}\quad\text{where}\quad\overrightarrow{R}^{*}\equiv\epsilon_{ijk}R_{ij}$$
 
  • #3
renormalize said:
Your second equation is wrong: the left-side is a rank-2 tensor but the right is a rank-0 scalar. If we use a double-arrow to denote the rank-2 tensor ##\overleftrightarrow{R}##, then your 1rst equation can be rewritten as:$$\vec{\nabla}\overleftrightarrow{R}=\frac{\partial R_{ij}}{\partial x_{k}}$$However, the left (tensor) side of your 2nd equation is ambiguous and has two possible interpretations depending on which index of ##\overleftrightarrow{R}## the curl operation applies to:$$\vec{\nabla}\times\overleftrightarrow{R}=\epsilon_{ikl}\frac{\partial R_{lj}}{\partial x_{k}}\quad\text{or}\quad\epsilon_{jkl}\frac{\partial R_{il}}{\partial x_{k}}$$Note that in either interpretation we properly have rank-2 tensors on both sides of the equation. The right (scalar) side of your 2nd equation is actually the divergence of the vector ##\overrightarrow{R}^{*}## dual to the tensor ##\overleftrightarrow{R}##:$$\overrightarrow{\nabla}\cdot\overrightarrow{R}^{*}=\epsilon_{ijk}\frac{\partial R_{ij}}{\partial x_{k}}\quad\text{where}\quad\overrightarrow{R}^{*}\equiv\epsilon_{ijk}R_{ij}$$
I am sorry but I don't follow what is the problem. The Levi-Cavita symbol gives a +1 if ijk indices follow forward ordering such as 123, 231, 312, gives -1 if ijk indices are reverse such as 321, 213, 132, and zero otherwise. So it does not contract the RHS. Therefore my second equation's RHS is still a second rank tensor. When I expand my second equation, it should give:

$$
\nabla \times R_{ij} = \epsilon_{ijk} R_{mj,i} e_k \otimes e_m
$$
$$ \begin{multline}
\nabla \times R_{ij} = \epsilon_{231} R_{m3,2} e_1 \otimes e_m + \epsilon_{321} R_{m2,3} e_1 \otimes e_m + \\
\epsilon_{132} R_{m3,1} e_2 \otimes e_m + \epsilon_{312} R_{m1,3} e_2 \otimes e_m + \\
\epsilon_{123} R_{m2,1} e_3 \otimes e_m + \epsilon_{213} R_{m1,2} e_3 \otimes e_m
\end{multline}
$$
$$
\nabla \times R_{ij} = \begin{pmatrix}
R_{13,2} - R_{12,3} & R_{23,2} - R_{22,3} & R_{33,2} - R_{32,3} \\
R_{13,1} - R_{11,3} & R_{23,1} - R_{21,3} & R_{33,1} - R_{31,3} \\
R_{12,1} - R_{11,2} & R_{22,1} - R_{21,2} & R_{32,1} - R_{31,2}
\end{pmatrix}
$$

Where:

$$
R_{13,2} = dR_{13}/dx_2
$$
 
Last edited:
  • #4
Both expressions are wrong. The free indices on the LHS do not match those on the RHS in either expression.
 
  • #5
Orodruin said:
Both expressions are wrong. The free indices on the LHS do not match those on the RHS in either expression.
Can we look at them one at a time so I can understand why? For the gradient, I write the nabla symbol as:

$$
\nabla = \frac{\partial}{\partial x_k}
$$

As it is the spatial derivative. That makes the right side as I wrote them, no?
 
  • #6
FQVBSina_Jesse said:
Therefore my second equation's RHS is still a second rank tensor.
By the Einstein summation convention over repeated indices, the ordinary curl of the vector ##\overrightarrow{V}## is:$$\overrightarrow{\nabla}\times\overrightarrow{V}=\epsilon_{ijk}\frac{\partial V_{j}}{\partial x_{k}}\equiv\sum_{j,k=1}^{3}\epsilon_{ijk}\frac{\partial V_{j}}{\partial x_{k}}$$ and is itself a vector because it has one free (i.e., un-summed) index ##i##. But the right side of your second equation is:$$\epsilon_{ijk}\frac{\partial R_{ij}}{\partial x_{k}}\equiv\sum_{i,j,k=1}^{3}\epsilon_{ijk}\frac{\partial R_{ij}}{\partial x_{k}}$$and so has no free indices. It is therefore a scalar, not a tensor.
 
  • #7
FQVBSina_Jesse said:
Can we look at them one at a time so I can understand why? For the gradient, I write the nabla symbol as:

$$
\nabla = \frac{\partial}{\partial x_k}
$$

As it is the spatial derivative. That makes the right side as I wrote them, no?
It most certainly does not make sense to write that. You have a free index on one side and no free index on the other. It is a big no no when you use index notation.

See commandment #3: https://www.physicsforums.com/insights/the-10-commandments-of-index-expressions-and-tensor-calculus/
 
  • #8
renormalize said:
By the Einstein summation convention over repeated indices, the ordinary curl of the vector ##\overrightarrow{V}## is:$$\overrightarrow{\nabla}\times\overrightarrow{V}=\epsilon_{ijk}\frac{\partial V_{j}}{\partial x_{k}}\equiv\sum_{j,k=1}^{3}\epsilon_{ijk}\frac{\partial V_{j}}{\partial x_{k}}$$ and is itself a vector because it has one free (i.e., un-summed) index ##i##

It is not a vector though! It is the i-component of a vector. For the expression to make any kind of sense you need to multiply in a basis vector ##\vec e_i## on the RHS or project out the i-component on the LHS.

This may not be that relevant for an expression with one free index where it is more or less clear where the free index belongs, but it quickly deteriorates as soon as you start dealing with more free indices. It is therefore good form to always make sure your indices match on both sides of any equality.
 
  • Like
Likes renormalize
  • #9
Orodruin said:
It most certainly does not make sense to write that. You have a free index on one side and no free index on the other. It is a big no no when you use index notation.

See commandment #3: https://www.physicsforums.com/insights/the-10-commandments-of-index-expressions-and-tensor-calculus/
I should also add that, even if you do include the vector basis and write
$$
\nabla = \vec e_k \partial_k,
$$
such an expression only holds true as long as you stick to a Cartesian coordinate system. As soon as you go to curvilinear coordinates, things get more complicated.
 
  • #10
renormalize said:
By the Einstein summation convention over repeated indices, the ordinary curl of the vector ##\overrightarrow{V}## is:$$\overrightarrow{\nabla}\times\overrightarrow{V}=\epsilon_{ijk}\frac{\partial V_{j}}{\partial x_{k}}\equiv\sum_{j,k=1}^{3}\epsilon_{ijk}\frac{\partial V_{j}}{\partial x_{k}}$$ and is itself a vector because it has one free (i.e., un-summed) index ##i##. But the right side of your second equation is:$$\epsilon_{ijk}\frac{\partial R_{ij}}{\partial x_{k}}\equiv\sum_{i,j,k=1}^{3}\epsilon_{ijk}\frac{\partial R_{ij}}{\partial x_{k}}$$and so has no free indices. It is therefore a scalar, not a tensor.
Ok so from what you and @Orodruin have said so far, it seems that I have dropped an index, and need to clarify which part of R that I am taking the curl of. If we go by what I wrote above, it seems the curl is applied on the second index of R, since I wrote:

$$
\nabla \times R_{ij} = \epsilon_{ijk} R_{mj,i} e_k \otimes e_m
$$

From that, I revised my equations as follows. I spent a while staring at the second adjusted equation below, it doesn't look right but I don't know what is wrong with it:

$$
\nabla_k R_{ij} = \frac{\partial R_{ij}}{\partial x_k}
$$
$$
\nabla_i \times R_{mj} = \epsilon_{ijk} \frac{\partial R_{mj}}{\partial x_i}
$$

But nevertheless, I feel like this discussion has not been addressing the core question in my post, and that is when taking the spatial derivatives, the difference between gradient and a curl seems to just be the inclusion of the Levi-Cavita symbol, changing the structure of the final tensor? The impact of this question is on a numerical implementation. If my statement is correct, then I can calculate the spatial derivative, ##R_{ij,k}##,and then use all of it for the gradient, and use specific combinations following the Levi-Cavita symbol for the curl.
 
  • #11
The core question is not addressed because it is still unclear what you want to mean by the curl of a rank 2 tensor. This expression:
FQVBSina_Jesse said:
$$
\nabla_i \times R_{mj} = \epsilon_{ijk} \frac{\partial R_{mj}}{\partial x_i}
$$
still doesn’t really cut it as typically you want to include a ##\times## only in index free notation and - more to the point - you want the index notation to be free of such symbols.

Unless of course you use the RHS to define what you mean by ”curl of a rank 2 tensor” in which case it becomes a tautology. The equation still has problems of index mismatch though. For example, i appears as a free index on the left but a summation index in the right. These are basics that you need to get right before attempting anything more advanced.
 
  • #12
Orodruin said:
The core question is not addressed because it is still unclear what you want to mean by the curl of a rank 2 tensor. This expression:

still doesn’t really cut it as typically you want to include a ##\times## only in index free notation and - more to the point - you want the index notation to be free of such symbols.

Unless of course you use the RHS to define what you mean by ”curl of a rank 2 tensor” in which case it becomes a tautology. The equation still has problems of index mismatch though. For example, i appears as a free index on the left but a summation index in the right. These are basics that you need to get right before attempting anything more advanced.
Ok, please allow me to try asking this: could you give me a correct example of a curl of a second-rank tensor in indicial notation?

So far your replies have not given me an example of a correct equation, only asking me for clarifications and corrections which have been made clear to me that I don't know how to provide. There are also remarkably few online sources that discuss a second-order tensor's curl. Everywhere mentioning curl only provides vector as an example. The only place I found information is on Wikipedia, where I got my original expressions from: https://en.wikipedia.org/wiki/Tenso...echanics)#Curl_of_a_second-order_tensor_field could you take a look and let me know if it is correct as written on there?
 
  • #13
FQVBSina_Jesse said:
Ok, please allow me to try asking this: could you give me a correct example of a curl of a second-rank tensor in indicial notation?
I already gave you the correct forms in my first reply:$$\left(\overrightarrow{\nabla}\times\overleftrightarrow{R}\right)_{ij}=\epsilon_{ikl}\frac{\partial R_{lj}}{\partial x_{k}}\quad\text{or}\quad\left(\overrightarrow{\nabla}\times\overleftrightarrow{R}\right)_{ji}=\epsilon_{jkl}\frac{\partial R_{il}}{\partial x_{k}}$$
 
  • #14
renormalize said:
I already gave you the correct forms in my first reply:$$\left(\overrightarrow{\nabla}\times\overleftrightarrow{R}\right)_{ij}=\epsilon_{ikl}\frac{\partial R_{lj}}{\partial x_{k}}\quad\text{or}\quad\left(\overrightarrow{\nabla}\times\overleftrightarrow{R}\right)_{ji}=\epsilon_{jkl}\frac{\partial R_{il}}{\partial x_{k}}$$
The differences between your equation and the one in Wikipedia are:

- You added the arrows on the LHS, is it to indicate rank?
- Using the left expression as an example, the free index, ##i##, is the first index in the ##\epsilon## symbol, while the Wikipedia expression's free index, ##k##, is the third. Is there a reason why it is the first?

But otherwise it seems the Wikipedia description is correct?
 
  • #15
FQVBSina_Jesse said:
The differences between your equation and the one in Wikipedia are:

- You added the arrows on the LHS, is it to indicate rank?
- Using the left expression as an example, the free index, ##i##, is the first index in the ##\epsilon## symbol, while the Wikipedia expression's free index, ##k##, is the third. Is there a reason why it is the first?

But otherwise it seems the Wikipedia description is correct?
A single-arrow signifies a vector or vector-operator (like ##\overrightarrow{V}## and ##\overrightarrow{\nabla}##) and a double-arrow a rank-2 tensor (like ##\overleftrightarrow{R}##). And yes, the Wikipedia description is correct: ##\epsilon_{ijk}S_{mj,i}=\epsilon_{kij}S_{mi,j}## since the difference in the two sides involves an even-number of exchanges (i.e., 2) in the positions of the indices of the epsilon tensor.
 
  • #16
FQVBSina_Jesse said:
Ok, please allow me to try asking this: could you give me a correct example of a curl of a second-rank tensor in indicial notation?
No, because it is unclear what you would mean by this. You are the one asking the question so you must specify.
FQVBSina_Jesse said:
There are also remarkably few online sources that discuss a second-order tensor's curl.
Because there typically is not a single unique curl. This is because of the points already made - it is unclear with respect to which index to take the “curl”. I find it better not to talk about “curl” at all in this case but instead specify what you actually mean.
renormalize said:
And yes, the Wikipedia description is correct: ##\epsilon_{ijk}S_{mj,i}=\epsilon_{kij}S_{mi,j}## since the difference in the two sides involves an even-number of exchanges (i.e., 2) in the positions of the indices of the epsilon tensor.
What you wrote here is not correct. The exchange of indices on the Levi-Civita symbol are two, but you also changed position of i and j on the S, which is equivalent to making another exchange in the Levi-Civita symbol.
 
  • #17
Orodruin said:
No, because it is unclear what you would mean by this. You are the one asking the question so you must specify.

Because there typically is not a single unique curl. This is because of the points already made - it is unclear with respect to which index to take the “curl”. I find it better not to talk about “curl” at all in this case but instead specify what you actually mean.

What you wrote here is not correct. The exchange of indices on the Levi-Civita symbol are two, but you also changed position of i and j on the S, which is equivalent to making another exchange in the Levi-Civita symbol.
Firstly, thank you for sticking with me and helping me with these concepts. We are not super well trained in these mathematic topics in the mechanical engineering field so we have to try to learn it on our own and there are so many different notations especially when used in a different discipline, such as our field of continuum computational mechanics.

I think I am slowly appreciating what you are saying here. In a journal paper I found before, I read the following:

1717720884038.png

The precurl and postcurl defined here seems to me very similar to the concept that you have been reiterating about which index to which apply the curl. As also stated in this paper, for our purposes, all of the types of curls lead to the same result, I believe this is because the tensors are symmetric, i.e. ##R_{ij} = R_{ji}##, so the index choice doesn't matter computationally speaking. Nevertheless, I should be consistent and clear in which definition I use.

So, if I have learned anything from our discussion so far, hopefully, the following equations are now correct:

Gradient:
$$
(\overrightarrow\nabla \overleftrightarrow R)_{ij,k} = \frac{\partial R_{ij}}{\partial x_k}
$$

Left/Pre-Curl:
$$
(\overrightarrow\nabla \times \overleftrightarrow R)_{km} = \epsilon_{ijk}\frac{\partial R_{jm}}{\partial x_i}
$$

Right/Post-Curl:
$$
(\overleftrightarrow R \times \overrightarrow\nabla)_{km} = -\epsilon_{ijm}\frac{\partial R_{kj}}{\partial x_i}
$$

Besides looking at the indices, is there a specific notation to differentiate the left from the right curl? Or is it just the order of the LHS as shown in the paper I attached above? If you want to check the appendices referenced in my screenshot text, the paper can be found here: https://doi.org/10.1016/j.ijplas.2018.05.001
 
Last edited:
  • #18
Orodruin said:
What you wrote here is not correct. The exchange of indices on the Levi-Civita symbol are two, but you also changed position of i and j on the S, which is equivalent to making another exchange in the Levi-Civita symbol.
You're right, I should have checked more closely: the two sides do indeed differ by a sign. The Wikipedia article defines the curl by ##\overrightarrow{\nabla}\times\overrightarrow{v}=\epsilon_{ijk}v_{j,i}\,\hat{e}_{k}## , whereas I'm used to the Landau & Lifshitz convention (The Classical Theory of Fields, pg. 18): ##\overrightarrow{\nabla}\times\overrightarrow{v}=\epsilon_{kij}v_{i,j}\,\hat{e}_{k}##. Mea culpa!
 
  • #19
renormalize said:
You're right
To be fair I have almost two decades of experience in spotting index mistakes of students… 😉
(At least this one was typeset in LaTeX. Not all students have … legible … handwriting 😂)
 
Last edited:
  • Like
Likes PhDeezNutz and renormalize
  • #20
FQVBSina_Jesse said:
Firstly, thank you for sticking with me and helping me with these concepts. We are not super well trained in these mathematic topics in the mechanical engineering field so we have to try to learn it on our own and there are so many different notations especially when used in a different discipline, such as our field of continuum computational mechanics.

I think I am slowly appreciating what you are saying here. In a journal paper I found before, I read the following:

View attachment 346576
The precurl and postcurl defined here seems to me very similar to the concept that you have been reiterating about which index to which apply the curl. As also stated in this paper, for our purposes, all of the types of curls lead to the same result, I believe this is because the tensors are symmetric, i.e. ##R_{ij} = R_{ji}##, so the index choice doesn't matter computationally speaking. Nevertheless, I should be consistent and clear in which definition I use.

So, if I have learned anything from our discussion so far, hopefully, the following equations are now correct:

Gradient:
$$
(\overrightarrow\nabla \overleftrightarrow R)_{ij,k} = \frac{\partial R_{ij}}{\partial x_k}
$$

Left/Pre-Curl:
$$
(\overrightarrow\nabla \times \overleftrightarrow R)_{km} = \epsilon_{ijk}\frac{\partial R_{jm}}{\partial x_i}
$$

Right/Post-Curl:
$$
(\overleftrightarrow R \times \overrightarrow\nabla)_{km} = -\epsilon_{ijm}\frac{\partial R_{kj}}{\partial x_i}
$$

Besides looking at the indices, is there a specific notation to differentiate the left from the right curl? Or is it just the order of the LHS as shown in the paper I attached above? If you want to check the appendices referenced in my screenshot text, the paper can be found here: https://doi.org/10.1016/j.ijplas.2018.05.001
Yes, these expressions are much better in terms of indices. My only beef with their notation is that in most standard notation, a differential operator acts on what is to its right so the ”postcurl” notation is rather eye popping. I guess if one can live woth that … Regardless, I would generally try to avoid calling this curl and using index notation will not risk any such issues. As always, the notation risks going haywire for higher rank tensors.

That said, with these definitions, the curl is indeed a contraction of the gradient with the Levi-Civita symbol.
 
  • #21
Orodruin said:
Regardless, I would generally try to avoid calling this curl and using index notation will not risk any such issues.
Could you please elaborate a bit more on "avoid calling this curl"?
 
  • #22
Orodruin said:
I would generally try to avoid calling this curl
Sorry, let me be clearer with my question: You said above "I find it better not to talk about “curl” at all in this case but instead specify what you actually mean." So if I don't mean to calculate a curl with these expressions, then what does it mean? I guess it is a spatial derivative, but other than that, isn't the acknowledged term for adding the Levi-Cavita symbol is "curl"?
 
  • #23
FQVBSina_Jesse said:
I guess it is a spatial derivative, but other than that, isn't the acknowledged term for adding the Levi-Cavita symbol is "curl"?
No, I don't agree that "##\epsilon\text{ times }\partial =\text{curl}##" is generally true. Start with the derivative ##\partial R_{ik}/\partial x_{j}## and add the Levi-Civita (note the spelling) symbol ##\epsilon_{ijk}## to get:
$$\epsilon_{ijk}\frac{\partial R_{ik}}{\partial x_{j}}=\overrightarrow{\nabla}\cdot\overrightarrow{R}^{*}\quad\text{where}\quad\left(\overrightarrow{R}^{*}\right)_{j}\equiv\epsilon_{ijk}R_{ik}$$
I'd call the left expression the divergence of a vector, not the curl of a tensor. So as proposed by @Orodruin, it's more precise to let the detailed structure of a tensor expression speak for itself rather than trying to label it using potentially ambiguous terms like "curl". The curl of a vector may be unambiguous, but the curl of a rank-2 tensor, not so much.
 
  • #24
renormalize said:
No, I don't agree that "##\epsilon\text{ times }\partial =\text{curl}##" is generally true. Start with the derivative ##\partial R_{ik}/\partial x_{j}## and add the Levi-Civita (note the spelling) symbol ##\epsilon_{ijk}## to get:
$$\epsilon_{ijk}\frac{\partial R_{ik}}{\partial x_{j}}=\overrightarrow{\nabla}\cdot\overrightarrow{R}^{*}\quad\text{where}\quad\left(\overrightarrow{R}^{*}\right)_{j}\equiv\epsilon_{ijk}R_{ik}$$
I'd call the left expression the divergence of a vector, not the curl of a tensor. So as proposed by @Orodruin, it's more precise to let the detailed structure of a tensor expression speak for itself rather than trying to label it using potentially ambiguous terms like "curl". The curl of a vector may be unambiguous, but the curl of a rank-2 tensor, not so much.
That makes sense. Thanks!
 
  • Like
Likes renormalize

Similar threads

Replies
30
Views
2K
Replies
2
Views
2K
Replies
3
Views
3K
Replies
1
Views
1K
Replies
1
Views
2K
Replies
1
Views
385
Back
Top