Chain rule for the curl of a vector-valued functionIndex/Einstein notation to derive Gibbs/Tensor relationsProving vector calculus identity $nabla times (mathbf atimes mathbf b) =cdots$ using Levi-Civita symbolIntegral/Vector calculus $oint_partial S u vec nabla v cdot d vec lambda=int_S (vec nabla u)times (vec nabla v)cdot dvec S.$prove $frac12mathbfnabla (u cdot u) = u times (nabla times u ) + (u cdot nabla)u$ using index notationProof for the curl of a curl of a vector fieldExpand $(vecAtimes nabla)times vecB$ using tensorial notationOrthogonal curvilinear coordinates (derivatives of unit vectors)Curl of a vector multiplied by a matrixCurl of a linear operator applied to a vector fieldHow to simplify a geometric calculus equation?
Finding the error in an argument
OP Amp not amplifying audio signal
How seriously should I take size and weight limits of hand luggage?
Do Iron Man suits sport waste management systems?
Why do I get negative height?
How can I prove that a state of equilibrium is unstable?
Different meanings of こわい
files created then deleted at every second in tmp directory
What exactly is ineptocracy?
How to find if SQL server backup is encrypted with TDE without restoring the backup
What historical events would have to change in order to make 19th century "steampunk" technology possible?
How to remove border from elements in the last row?
Mathematica command that allows it to read my intentions
Is there an expression that means doing something right before you will need it rather than doing it in case you might need it?
Why is it a bad idea to hire a hitman to eliminate most corrupt politicians?
How to stretch the corners of this image so that it looks like a perfect rectangle?
Should I tell management that I intend to leave due to bad software development practices?
How do I exit BASH while loop using modulus operator?
Where would I need my direct neural interface to be implanted?
how do we prove that a sum of two periods is still a period?
In the UK, is it possible to get a referendum by a court decision?
Rotate ASCII Art by 45 Degrees
Why didn't Boeing produce its own regional jet?
Processor speed limited at 0.4 Ghz
Chain rule for the curl of a vector-valued function
Index/Einstein notation to derive Gibbs/Tensor relationsProving vector calculus identity $nabla times (mathbf atimes mathbf b) =cdots$ using Levi-Civita symbolIntegral/Vector calculus $oint_partial S u vec nabla v cdot d vec lambda=int_S (vec nabla u)times (vec nabla v)cdot dvec S.$prove $frac12mathbfnabla (u cdot u) = u times (nabla times u ) + (u cdot nabla)u$ using index notationProof for the curl of a curl of a vector fieldExpand $(vecAtimes nabla)times vecB$ using tensorial notationOrthogonal curvilinear coordinates (derivatives of unit vectors)Curl of a vector multiplied by a matrixCurl of a linear operator applied to a vector fieldHow to simplify a geometric calculus equation?
$begingroup$
I am looking for a vector expression for the curl of a composite vector-valued function. In other words
$$
nablatimesmathbfA(mathbfB) = ?
$$
In indicial notation, this can be written as
$$
left(nablatimesmathbfA(mathbfB)right)_i = -epsilon_ijkleft(fracpartial A_kpartial B_nright)fracpartial B_npartial x_j
$$
where $epsilon_ijk$ is the Levi-Civita symbol and Einstein summation is used. so far, the simplest expression we could write was
$$
left(nablatimesmathbfA(mathbfB)right)_i = epsilon_ijkleft[left(fracpartialmathbfApartialmathbfBright)cdotleft(nablaotimesmathbfBright)^Tright]_jk
$$
where $cdot$ is used to denote the usual matrix product and $otimes$ the Kronecker outer product. Could this be written all in vector notation?
calculus vector-analysis
$endgroup$
add a comment |
$begingroup$
I am looking for a vector expression for the curl of a composite vector-valued function. In other words
$$
nablatimesmathbfA(mathbfB) = ?
$$
In indicial notation, this can be written as
$$
left(nablatimesmathbfA(mathbfB)right)_i = -epsilon_ijkleft(fracpartial A_kpartial B_nright)fracpartial B_npartial x_j
$$
where $epsilon_ijk$ is the Levi-Civita symbol and Einstein summation is used. so far, the simplest expression we could write was
$$
left(nablatimesmathbfA(mathbfB)right)_i = epsilon_ijkleft[left(fracpartialmathbfApartialmathbfBright)cdotleft(nablaotimesmathbfBright)^Tright]_jk
$$
where $cdot$ is used to denote the usual matrix product and $otimes$ the Kronecker outer product. Could this be written all in vector notation?
calculus vector-analysis
$endgroup$
$begingroup$
That is to say, you want $nabla times (A circ B)$? The curl of the composition?
$endgroup$
– Muphrid
Mar 28 '15 at 4:51
$begingroup$
Yes @Muphrid. For $A$ and $B$ both vector-valued functions.
$endgroup$
– Joey Dumont
Mar 28 '15 at 21:28
1
$begingroup$
I can't get anything nicer than what you have.
$endgroup$
– Dan Robertson
May 27 '15 at 13:43
add a comment |
$begingroup$
I am looking for a vector expression for the curl of a composite vector-valued function. In other words
$$
nablatimesmathbfA(mathbfB) = ?
$$
In indicial notation, this can be written as
$$
left(nablatimesmathbfA(mathbfB)right)_i = -epsilon_ijkleft(fracpartial A_kpartial B_nright)fracpartial B_npartial x_j
$$
where $epsilon_ijk$ is the Levi-Civita symbol and Einstein summation is used. so far, the simplest expression we could write was
$$
left(nablatimesmathbfA(mathbfB)right)_i = epsilon_ijkleft[left(fracpartialmathbfApartialmathbfBright)cdotleft(nablaotimesmathbfBright)^Tright]_jk
$$
where $cdot$ is used to denote the usual matrix product and $otimes$ the Kronecker outer product. Could this be written all in vector notation?
calculus vector-analysis
$endgroup$
I am looking for a vector expression for the curl of a composite vector-valued function. In other words
$$
nablatimesmathbfA(mathbfB) = ?
$$
In indicial notation, this can be written as
$$
left(nablatimesmathbfA(mathbfB)right)_i = -epsilon_ijkleft(fracpartial A_kpartial B_nright)fracpartial B_npartial x_j
$$
where $epsilon_ijk$ is the Levi-Civita symbol and Einstein summation is used. so far, the simplest expression we could write was
$$
left(nablatimesmathbfA(mathbfB)right)_i = epsilon_ijkleft[left(fracpartialmathbfApartialmathbfBright)cdotleft(nablaotimesmathbfBright)^Tright]_jk
$$
where $cdot$ is used to denote the usual matrix product and $otimes$ the Kronecker outer product. Could this be written all in vector notation?
calculus vector-analysis
calculus vector-analysis
asked Mar 26 '15 at 21:42
Joey DumontJoey Dumont
251110
251110
$begingroup$
That is to say, you want $nabla times (A circ B)$? The curl of the composition?
$endgroup$
– Muphrid
Mar 28 '15 at 4:51
$begingroup$
Yes @Muphrid. For $A$ and $B$ both vector-valued functions.
$endgroup$
– Joey Dumont
Mar 28 '15 at 21:28
1
$begingroup$
I can't get anything nicer than what you have.
$endgroup$
– Dan Robertson
May 27 '15 at 13:43
add a comment |
$begingroup$
That is to say, you want $nabla times (A circ B)$? The curl of the composition?
$endgroup$
– Muphrid
Mar 28 '15 at 4:51
$begingroup$
Yes @Muphrid. For $A$ and $B$ both vector-valued functions.
$endgroup$
– Joey Dumont
Mar 28 '15 at 21:28
1
$begingroup$
I can't get anything nicer than what you have.
$endgroup$
– Dan Robertson
May 27 '15 at 13:43
$begingroup$
That is to say, you want $nabla times (A circ B)$? The curl of the composition?
$endgroup$
– Muphrid
Mar 28 '15 at 4:51
$begingroup$
That is to say, you want $nabla times (A circ B)$? The curl of the composition?
$endgroup$
– Muphrid
Mar 28 '15 at 4:51
$begingroup$
Yes @Muphrid. For $A$ and $B$ both vector-valued functions.
$endgroup$
– Joey Dumont
Mar 28 '15 at 21:28
$begingroup$
Yes @Muphrid. For $A$ and $B$ both vector-valued functions.
$endgroup$
– Joey Dumont
Mar 28 '15 at 21:28
1
1
$begingroup$
I can't get anything nicer than what you have.
$endgroup$
– Dan Robertson
May 27 '15 at 13:43
$begingroup$
I can't get anything nicer than what you have.
$endgroup$
– Dan Robertson
May 27 '15 at 13:43
add a comment |
2 Answers
2
active
oldest
votes
$begingroup$
I am not sure if this helps, but I just found that you can actually use the contracted epsilon identity to get a pretty good vector/dyadic representation of the chain rule. The nice thing about this particular identity (at least to me) is that it does what any good chain rule should do, and applies the operator in question to the argument.
Please allow me to preempt this by saying that I am not that familiar with the conventions of dyadic notation, but I will present what I have figured out in index notation form, so that if anyone wants to go in, and fix my notation, they will know how to. Anyway, here is what I found:
beginequation
nabla times left(mathbfA circ mathbfBright) = -left(nabla_mathbfBcdot mathbfAright)left(nablatimes mathbfBright) + left(fracpartial mathbfApartial mathbfBright)^Tleft(nabla times mathbfBright) + left(fracpartial mathbfApartial mathbfBright)^T !!!beginarrayc
_cdot \
^timesendarray!!!left(nabla mathbfB^Tright)
endequation
The vertical operator notation means that I am crossing the second index of the left tensor with the 1st index of the right tensor, and then contracting the 1st index of the left tensor with the 2nd index of the right tensor.
Working it out in index notation, we start with
beginequation
epsilon_ijkfracpartial A_jpartial B_lfracpartial B_lpartial X_k
endequation
What we want is to have the levi-civita symbol apply to B. The first step for this is to "free" the l and k indices. We can do this, using the kronecker delta
beginequation
epsilon_ijkfracpartial A_jpartial B_lfracpartial B_lpartial X_k = delta_k_0k_1delta_l_0l_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1
endequation
Now, we can get to the contracted epsilon identity by adding appropriate cancelling terms to the RHS:
beginequation
left(delta_k_0k_1delta_l_0l_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1 - delta_k_0l_1delta_l_0k_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1right) + delta_k_0l_1delta_l_0k_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1
endequation
We can then use the contracted epsilon identity to rewrite this as
beginequation
epsilon_rk_0l_0epsilon_rk_1l_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1 + delta_k_0l_1delta_l_0k_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1
endequation
Now, we are halfway there, for $epsilon_rk_1l_1$ applies to $fracpartial B_l_1partial X_k_1$
Notice also, that when we juxtapose $epsilon_rk_0l_0$ and $epsilon_ijk_0$ we can apply the contracted epsilon identity once again. Combining these two facts gives us
beginequation
left(-delta_ridelta_l_0j + delta_rjdelta_l_0iright)fracpartial A_jpartial B_l_0epsilon_rk_1l_1fracpartial B_l_1partial X_k_1 + delta_k_0l_1delta_l_0k_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1
endequation
The expression in vector/dyadic notation above follows directly from this.
$endgroup$
add a comment |
$begingroup$
If you really want it to have $nablatimes$ and $nabla_mathbfB$ on it you can rewrite it as:
$$
left(nablatimesmathbfA(mathbfB)right)_i=epsilon_ijkleft(fracpartial A_kpartial B_nright)fracpartial B_npartial x_j=fracpartialpartial x_jleft(epsilon_ijkleft(fracpartial A_kpartial B_nright)B_nright)-epsilon_ijkleft(fracpartial^2A_kpartial x_jpartial B_nright)B_n
$$
$$
=epsilon_ijkfracpartialpartial x_jleft(left(fracpartial A_kpartial B_nright)B_nright)-epsilon_ijkleft(fracpartialpartial x_jleft(fracpartial A_kpartial B_nright)right)B_n=nablatimesleft(left(nabla_mathbfBmathbfAright)mathbfBright)-left(nablatimesleft(nabla_mathbfBmathbfAright)right)mathbfB
$$
where I've used the "curl" of a matrix, $nablatimesleft(nabla_mathbfBmathbfAright)$ (defined as a matrix whose columns are the curl of the columns of the original matrix).
By the way, where I put $left(nabla_mathbfBmathbfAright)mathbfB$ I mean the matrix product of the matrix $nabla_mathbfBmathbfA$ ($mathbfA$ changes between rows and $fracpartialpartial x_j$ between columns) with the column vector $mathbfB$.
$endgroup$
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
return StackExchange.using("mathjaxEditing", function ()
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
);
);
, "mathjax-editing");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "69"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f1208101%2fchain-rule-for-the-curl-of-a-vector-valued-function%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
I am not sure if this helps, but I just found that you can actually use the contracted epsilon identity to get a pretty good vector/dyadic representation of the chain rule. The nice thing about this particular identity (at least to me) is that it does what any good chain rule should do, and applies the operator in question to the argument.
Please allow me to preempt this by saying that I am not that familiar with the conventions of dyadic notation, but I will present what I have figured out in index notation form, so that if anyone wants to go in, and fix my notation, they will know how to. Anyway, here is what I found:
beginequation
nabla times left(mathbfA circ mathbfBright) = -left(nabla_mathbfBcdot mathbfAright)left(nablatimes mathbfBright) + left(fracpartial mathbfApartial mathbfBright)^Tleft(nabla times mathbfBright) + left(fracpartial mathbfApartial mathbfBright)^T !!!beginarrayc
_cdot \
^timesendarray!!!left(nabla mathbfB^Tright)
endequation
The vertical operator notation means that I am crossing the second index of the left tensor with the 1st index of the right tensor, and then contracting the 1st index of the left tensor with the 2nd index of the right tensor.
Working it out in index notation, we start with
beginequation
epsilon_ijkfracpartial A_jpartial B_lfracpartial B_lpartial X_k
endequation
What we want is to have the levi-civita symbol apply to B. The first step for this is to "free" the l and k indices. We can do this, using the kronecker delta
beginequation
epsilon_ijkfracpartial A_jpartial B_lfracpartial B_lpartial X_k = delta_k_0k_1delta_l_0l_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1
endequation
Now, we can get to the contracted epsilon identity by adding appropriate cancelling terms to the RHS:
beginequation
left(delta_k_0k_1delta_l_0l_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1 - delta_k_0l_1delta_l_0k_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1right) + delta_k_0l_1delta_l_0k_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1
endequation
We can then use the contracted epsilon identity to rewrite this as
beginequation
epsilon_rk_0l_0epsilon_rk_1l_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1 + delta_k_0l_1delta_l_0k_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1
endequation
Now, we are halfway there, for $epsilon_rk_1l_1$ applies to $fracpartial B_l_1partial X_k_1$
Notice also, that when we juxtapose $epsilon_rk_0l_0$ and $epsilon_ijk_0$ we can apply the contracted epsilon identity once again. Combining these two facts gives us
beginequation
left(-delta_ridelta_l_0j + delta_rjdelta_l_0iright)fracpartial A_jpartial B_l_0epsilon_rk_1l_1fracpartial B_l_1partial X_k_1 + delta_k_0l_1delta_l_0k_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1
endequation
The expression in vector/dyadic notation above follows directly from this.
$endgroup$
add a comment |
$begingroup$
I am not sure if this helps, but I just found that you can actually use the contracted epsilon identity to get a pretty good vector/dyadic representation of the chain rule. The nice thing about this particular identity (at least to me) is that it does what any good chain rule should do, and applies the operator in question to the argument.
Please allow me to preempt this by saying that I am not that familiar with the conventions of dyadic notation, but I will present what I have figured out in index notation form, so that if anyone wants to go in, and fix my notation, they will know how to. Anyway, here is what I found:
beginequation
nabla times left(mathbfA circ mathbfBright) = -left(nabla_mathbfBcdot mathbfAright)left(nablatimes mathbfBright) + left(fracpartial mathbfApartial mathbfBright)^Tleft(nabla times mathbfBright) + left(fracpartial mathbfApartial mathbfBright)^T !!!beginarrayc
_cdot \
^timesendarray!!!left(nabla mathbfB^Tright)
endequation
The vertical operator notation means that I am crossing the second index of the left tensor with the 1st index of the right tensor, and then contracting the 1st index of the left tensor with the 2nd index of the right tensor.
Working it out in index notation, we start with
beginequation
epsilon_ijkfracpartial A_jpartial B_lfracpartial B_lpartial X_k
endequation
What we want is to have the levi-civita symbol apply to B. The first step for this is to "free" the l and k indices. We can do this, using the kronecker delta
beginequation
epsilon_ijkfracpartial A_jpartial B_lfracpartial B_lpartial X_k = delta_k_0k_1delta_l_0l_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1
endequation
Now, we can get to the contracted epsilon identity by adding appropriate cancelling terms to the RHS:
beginequation
left(delta_k_0k_1delta_l_0l_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1 - delta_k_0l_1delta_l_0k_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1right) + delta_k_0l_1delta_l_0k_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1
endequation
We can then use the contracted epsilon identity to rewrite this as
beginequation
epsilon_rk_0l_0epsilon_rk_1l_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1 + delta_k_0l_1delta_l_0k_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1
endequation
Now, we are halfway there, for $epsilon_rk_1l_1$ applies to $fracpartial B_l_1partial X_k_1$
Notice also, that when we juxtapose $epsilon_rk_0l_0$ and $epsilon_ijk_0$ we can apply the contracted epsilon identity once again. Combining these two facts gives us
beginequation
left(-delta_ridelta_l_0j + delta_rjdelta_l_0iright)fracpartial A_jpartial B_l_0epsilon_rk_1l_1fracpartial B_l_1partial X_k_1 + delta_k_0l_1delta_l_0k_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1
endequation
The expression in vector/dyadic notation above follows directly from this.
$endgroup$
add a comment |
$begingroup$
I am not sure if this helps, but I just found that you can actually use the contracted epsilon identity to get a pretty good vector/dyadic representation of the chain rule. The nice thing about this particular identity (at least to me) is that it does what any good chain rule should do, and applies the operator in question to the argument.
Please allow me to preempt this by saying that I am not that familiar with the conventions of dyadic notation, but I will present what I have figured out in index notation form, so that if anyone wants to go in, and fix my notation, they will know how to. Anyway, here is what I found:
beginequation
nabla times left(mathbfA circ mathbfBright) = -left(nabla_mathbfBcdot mathbfAright)left(nablatimes mathbfBright) + left(fracpartial mathbfApartial mathbfBright)^Tleft(nabla times mathbfBright) + left(fracpartial mathbfApartial mathbfBright)^T !!!beginarrayc
_cdot \
^timesendarray!!!left(nabla mathbfB^Tright)
endequation
The vertical operator notation means that I am crossing the second index of the left tensor with the 1st index of the right tensor, and then contracting the 1st index of the left tensor with the 2nd index of the right tensor.
Working it out in index notation, we start with
beginequation
epsilon_ijkfracpartial A_jpartial B_lfracpartial B_lpartial X_k
endequation
What we want is to have the levi-civita symbol apply to B. The first step for this is to "free" the l and k indices. We can do this, using the kronecker delta
beginequation
epsilon_ijkfracpartial A_jpartial B_lfracpartial B_lpartial X_k = delta_k_0k_1delta_l_0l_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1
endequation
Now, we can get to the contracted epsilon identity by adding appropriate cancelling terms to the RHS:
beginequation
left(delta_k_0k_1delta_l_0l_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1 - delta_k_0l_1delta_l_0k_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1right) + delta_k_0l_1delta_l_0k_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1
endequation
We can then use the contracted epsilon identity to rewrite this as
beginequation
epsilon_rk_0l_0epsilon_rk_1l_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1 + delta_k_0l_1delta_l_0k_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1
endequation
Now, we are halfway there, for $epsilon_rk_1l_1$ applies to $fracpartial B_l_1partial X_k_1$
Notice also, that when we juxtapose $epsilon_rk_0l_0$ and $epsilon_ijk_0$ we can apply the contracted epsilon identity once again. Combining these two facts gives us
beginequation
left(-delta_ridelta_l_0j + delta_rjdelta_l_0iright)fracpartial A_jpartial B_l_0epsilon_rk_1l_1fracpartial B_l_1partial X_k_1 + delta_k_0l_1delta_l_0k_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1
endequation
The expression in vector/dyadic notation above follows directly from this.
$endgroup$
I am not sure if this helps, but I just found that you can actually use the contracted epsilon identity to get a pretty good vector/dyadic representation of the chain rule. The nice thing about this particular identity (at least to me) is that it does what any good chain rule should do, and applies the operator in question to the argument.
Please allow me to preempt this by saying that I am not that familiar with the conventions of dyadic notation, but I will present what I have figured out in index notation form, so that if anyone wants to go in, and fix my notation, they will know how to. Anyway, here is what I found:
beginequation
nabla times left(mathbfA circ mathbfBright) = -left(nabla_mathbfBcdot mathbfAright)left(nablatimes mathbfBright) + left(fracpartial mathbfApartial mathbfBright)^Tleft(nabla times mathbfBright) + left(fracpartial mathbfApartial mathbfBright)^T !!!beginarrayc
_cdot \
^timesendarray!!!left(nabla mathbfB^Tright)
endequation
The vertical operator notation means that I am crossing the second index of the left tensor with the 1st index of the right tensor, and then contracting the 1st index of the left tensor with the 2nd index of the right tensor.
Working it out in index notation, we start with
beginequation
epsilon_ijkfracpartial A_jpartial B_lfracpartial B_lpartial X_k
endequation
What we want is to have the levi-civita symbol apply to B. The first step for this is to "free" the l and k indices. We can do this, using the kronecker delta
beginequation
epsilon_ijkfracpartial A_jpartial B_lfracpartial B_lpartial X_k = delta_k_0k_1delta_l_0l_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1
endequation
Now, we can get to the contracted epsilon identity by adding appropriate cancelling terms to the RHS:
beginequation
left(delta_k_0k_1delta_l_0l_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1 - delta_k_0l_1delta_l_0k_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1right) + delta_k_0l_1delta_l_0k_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1
endequation
We can then use the contracted epsilon identity to rewrite this as
beginequation
epsilon_rk_0l_0epsilon_rk_1l_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1 + delta_k_0l_1delta_l_0k_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1
endequation
Now, we are halfway there, for $epsilon_rk_1l_1$ applies to $fracpartial B_l_1partial X_k_1$
Notice also, that when we juxtapose $epsilon_rk_0l_0$ and $epsilon_ijk_0$ we can apply the contracted epsilon identity once again. Combining these two facts gives us
beginequation
left(-delta_ridelta_l_0j + delta_rjdelta_l_0iright)fracpartial A_jpartial B_l_0epsilon_rk_1l_1fracpartial B_l_1partial X_k_1 + delta_k_0l_1delta_l_0k_1epsilon_ijk_0fracpartial A_jpartial B_l_0fracpartial B_l_1partial X_k_1
endequation
The expression in vector/dyadic notation above follows directly from this.
edited Feb 10 '17 at 16:28
answered Feb 10 '17 at 16:20
prokaryoticeukaryoteprokaryoticeukaryote
1457
1457
add a comment |
add a comment |
$begingroup$
If you really want it to have $nablatimes$ and $nabla_mathbfB$ on it you can rewrite it as:
$$
left(nablatimesmathbfA(mathbfB)right)_i=epsilon_ijkleft(fracpartial A_kpartial B_nright)fracpartial B_npartial x_j=fracpartialpartial x_jleft(epsilon_ijkleft(fracpartial A_kpartial B_nright)B_nright)-epsilon_ijkleft(fracpartial^2A_kpartial x_jpartial B_nright)B_n
$$
$$
=epsilon_ijkfracpartialpartial x_jleft(left(fracpartial A_kpartial B_nright)B_nright)-epsilon_ijkleft(fracpartialpartial x_jleft(fracpartial A_kpartial B_nright)right)B_n=nablatimesleft(left(nabla_mathbfBmathbfAright)mathbfBright)-left(nablatimesleft(nabla_mathbfBmathbfAright)right)mathbfB
$$
where I've used the "curl" of a matrix, $nablatimesleft(nabla_mathbfBmathbfAright)$ (defined as a matrix whose columns are the curl of the columns of the original matrix).
By the way, where I put $left(nabla_mathbfBmathbfAright)mathbfB$ I mean the matrix product of the matrix $nabla_mathbfBmathbfA$ ($mathbfA$ changes between rows and $fracpartialpartial x_j$ between columns) with the column vector $mathbfB$.
$endgroup$
add a comment |
$begingroup$
If you really want it to have $nablatimes$ and $nabla_mathbfB$ on it you can rewrite it as:
$$
left(nablatimesmathbfA(mathbfB)right)_i=epsilon_ijkleft(fracpartial A_kpartial B_nright)fracpartial B_npartial x_j=fracpartialpartial x_jleft(epsilon_ijkleft(fracpartial A_kpartial B_nright)B_nright)-epsilon_ijkleft(fracpartial^2A_kpartial x_jpartial B_nright)B_n
$$
$$
=epsilon_ijkfracpartialpartial x_jleft(left(fracpartial A_kpartial B_nright)B_nright)-epsilon_ijkleft(fracpartialpartial x_jleft(fracpartial A_kpartial B_nright)right)B_n=nablatimesleft(left(nabla_mathbfBmathbfAright)mathbfBright)-left(nablatimesleft(nabla_mathbfBmathbfAright)right)mathbfB
$$
where I've used the "curl" of a matrix, $nablatimesleft(nabla_mathbfBmathbfAright)$ (defined as a matrix whose columns are the curl of the columns of the original matrix).
By the way, where I put $left(nabla_mathbfBmathbfAright)mathbfB$ I mean the matrix product of the matrix $nabla_mathbfBmathbfA$ ($mathbfA$ changes between rows and $fracpartialpartial x_j$ between columns) with the column vector $mathbfB$.
$endgroup$
add a comment |
$begingroup$
If you really want it to have $nablatimes$ and $nabla_mathbfB$ on it you can rewrite it as:
$$
left(nablatimesmathbfA(mathbfB)right)_i=epsilon_ijkleft(fracpartial A_kpartial B_nright)fracpartial B_npartial x_j=fracpartialpartial x_jleft(epsilon_ijkleft(fracpartial A_kpartial B_nright)B_nright)-epsilon_ijkleft(fracpartial^2A_kpartial x_jpartial B_nright)B_n
$$
$$
=epsilon_ijkfracpartialpartial x_jleft(left(fracpartial A_kpartial B_nright)B_nright)-epsilon_ijkleft(fracpartialpartial x_jleft(fracpartial A_kpartial B_nright)right)B_n=nablatimesleft(left(nabla_mathbfBmathbfAright)mathbfBright)-left(nablatimesleft(nabla_mathbfBmathbfAright)right)mathbfB
$$
where I've used the "curl" of a matrix, $nablatimesleft(nabla_mathbfBmathbfAright)$ (defined as a matrix whose columns are the curl of the columns of the original matrix).
By the way, where I put $left(nabla_mathbfBmathbfAright)mathbfB$ I mean the matrix product of the matrix $nabla_mathbfBmathbfA$ ($mathbfA$ changes between rows and $fracpartialpartial x_j$ between columns) with the column vector $mathbfB$.
$endgroup$
If you really want it to have $nablatimes$ and $nabla_mathbfB$ on it you can rewrite it as:
$$
left(nablatimesmathbfA(mathbfB)right)_i=epsilon_ijkleft(fracpartial A_kpartial B_nright)fracpartial B_npartial x_j=fracpartialpartial x_jleft(epsilon_ijkleft(fracpartial A_kpartial B_nright)B_nright)-epsilon_ijkleft(fracpartial^2A_kpartial x_jpartial B_nright)B_n
$$
$$
=epsilon_ijkfracpartialpartial x_jleft(left(fracpartial A_kpartial B_nright)B_nright)-epsilon_ijkleft(fracpartialpartial x_jleft(fracpartial A_kpartial B_nright)right)B_n=nablatimesleft(left(nabla_mathbfBmathbfAright)mathbfBright)-left(nablatimesleft(nabla_mathbfBmathbfAright)right)mathbfB
$$
where I've used the "curl" of a matrix, $nablatimesleft(nabla_mathbfBmathbfAright)$ (defined as a matrix whose columns are the curl of the columns of the original matrix).
By the way, where I put $left(nabla_mathbfBmathbfAright)mathbfB$ I mean the matrix product of the matrix $nabla_mathbfBmathbfA$ ($mathbfA$ changes between rows and $fracpartialpartial x_j$ between columns) with the column vector $mathbfB$.
answered Mar 20 at 19:06
Manuel PenaManuel Pena
323110
323110
add a comment |
add a comment |
Thanks for contributing an answer to Mathematics Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f1208101%2fchain-rule-for-the-curl-of-a-vector-valued-function%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
$begingroup$
That is to say, you want $nabla times (A circ B)$? The curl of the composition?
$endgroup$
– Muphrid
Mar 28 '15 at 4:51
$begingroup$
Yes @Muphrid. For $A$ and $B$ both vector-valued functions.
$endgroup$
– Joey Dumont
Mar 28 '15 at 21:28
1
$begingroup$
I can't get anything nicer than what you have.
$endgroup$
– Dan Robertson
May 27 '15 at 13:43