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?













3












$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?










share|cite|improve this question









$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















3












$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?










share|cite|improve this question









$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













3












3








3


3



$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?










share|cite|improve this question









$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






share|cite|improve this question













share|cite|improve this question











share|cite|improve this question




share|cite|improve this question










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
















  • $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










2 Answers
2






active

oldest

votes


















1












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






share|cite|improve this answer











$endgroup$




















    1












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






    share|cite|improve this answer









    $endgroup$













      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
      );



      );













      draft saved

      draft discarded


















      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









      1












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






      share|cite|improve this answer











      $endgroup$

















        1












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






        share|cite|improve this answer











        $endgroup$















          1












          1








          1





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






          share|cite|improve this answer











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







          share|cite|improve this answer














          share|cite|improve this answer



          share|cite|improve this answer








          edited Feb 10 '17 at 16:28

























          answered Feb 10 '17 at 16:20









          prokaryoticeukaryoteprokaryoticeukaryote

          1457




          1457





















              1












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






              share|cite|improve this answer









              $endgroup$

















                1












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






                share|cite|improve this answer









                $endgroup$















                  1












                  1








                  1





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






                  share|cite|improve this answer









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







                  share|cite|improve this answer












                  share|cite|improve this answer



                  share|cite|improve this answer










                  answered Mar 20 at 19:06









                  Manuel PenaManuel Pena

                  323110




                  323110



























                      draft saved

                      draft discarded
















































                      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.




                      draft saved


                      draft discarded














                      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





















































                      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







                      Popular posts from this blog

                      Lowndes Grove History Architecture References Navigation menu32°48′6″N 79°57′58″W / 32.80167°N 79.96611°W / 32.80167; -79.9661132°48′6″N 79°57′58″W / 32.80167°N 79.96611°W / 32.80167; -79.9661178002500"National Register Information System"Historic houses of South Carolina"Lowndes Grove""+32° 48' 6.00", −79° 57' 58.00""Lowndes Grove, Charleston County (260 St. Margaret St., Charleston)""Lowndes Grove"The Charleston ExpositionIt Happened in South Carolina"Lowndes Grove (House), Saint Margaret Street & Sixth Avenue, Charleston, Charleston County, SC(Photographs)"Plantations of the Carolina Low Countrye

                      random experiment with two different functions on unit interval Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 00:00UTC (8:00pm US/Eastern)Random variable and probability space notionsRandom Walk with EdgesFinding functions where the increase over a random interval is Poisson distributedNumber of days until dayCan an observed event in fact be of zero probability?Unit random processmodels of coins and uniform distributionHow to get the number of successes given $n$ trials , probability $P$ and a random variable $X$Absorbing Markov chain in a computer. Is “almost every” turned into always convergence in computer executions?Stopped random walk is not uniformly integrable

                      How should I support this large drywall patch? Planned maintenance scheduled April 23, 2019 at 00:00UTC (8:00pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?How do I cover large gaps in drywall?How do I keep drywall around a patch from crumbling?Can I glue a second layer of drywall?How to patch long strip on drywall?Large drywall patch: how to avoid bulging seams?Drywall Mesh Patch vs. Bulge? To remove or not to remove?How to fix this drywall job?Prep drywall before backsplashWhat's the best way to fix this horrible drywall patch job?Drywall patching using 3M Patch Plus Primer