Tensor Dot Product of two tensors of arbitrary order












0












$begingroup$


I am currently working on implementing the inner(scalar or dot) product of two tensors of arbitrary order. As far as i understand, you need to make sure, that the last dimension of the first tensor $pmb A$ matches in size with the first dimension of the second tensor $pmb B$. The resulting tensor $pmb C$ then has order r + q - 2, if the first has order r and the second one has order q.



Is the product then just



$V_{ij...km} = T_{ij....l}, U_{l.....km} ,$ ?










share|cite|improve this question











$endgroup$












  • $begingroup$
    I forgot to mention the sum over l, sorry.
    $endgroup$
    – Clebo Sevic
    Jan 9 at 12:06
















0












$begingroup$


I am currently working on implementing the inner(scalar or dot) product of two tensors of arbitrary order. As far as i understand, you need to make sure, that the last dimension of the first tensor $pmb A$ matches in size with the first dimension of the second tensor $pmb B$. The resulting tensor $pmb C$ then has order r + q - 2, if the first has order r and the second one has order q.



Is the product then just



$V_{ij...km} = T_{ij....l}, U_{l.....km} ,$ ?










share|cite|improve this question











$endgroup$












  • $begingroup$
    I forgot to mention the sum over l, sorry.
    $endgroup$
    – Clebo Sevic
    Jan 9 at 12:06














0












0








0


1



$begingroup$


I am currently working on implementing the inner(scalar or dot) product of two tensors of arbitrary order. As far as i understand, you need to make sure, that the last dimension of the first tensor $pmb A$ matches in size with the first dimension of the second tensor $pmb B$. The resulting tensor $pmb C$ then has order r + q - 2, if the first has order r and the second one has order q.



Is the product then just



$V_{ij...km} = T_{ij....l}, U_{l.....km} ,$ ?










share|cite|improve this question











$endgroup$




I am currently working on implementing the inner(scalar or dot) product of two tensors of arbitrary order. As far as i understand, you need to make sure, that the last dimension of the first tensor $pmb A$ matches in size with the first dimension of the second tensor $pmb B$. The resulting tensor $pmb C$ then has order r + q - 2, if the first has order r and the second one has order q.



Is the product then just



$V_{ij...km} = T_{ij....l}, U_{l.....km} ,$ ?







inner-product-space tensor-products tensors tensor-rank






share|cite|improve this question















share|cite|improve this question













share|cite|improve this question




share|cite|improve this question








edited Jan 9 at 12:43







Clebo Sevic

















asked Jan 9 at 12:04









Clebo SevicClebo Sevic

52




52












  • $begingroup$
    I forgot to mention the sum over l, sorry.
    $endgroup$
    – Clebo Sevic
    Jan 9 at 12:06


















  • $begingroup$
    I forgot to mention the sum over l, sorry.
    $endgroup$
    – Clebo Sevic
    Jan 9 at 12:06
















$begingroup$
I forgot to mention the sum over l, sorry.
$endgroup$
– Clebo Sevic
Jan 9 at 12:06




$begingroup$
I forgot to mention the sum over l, sorry.
$endgroup$
– Clebo Sevic
Jan 9 at 12:06










2 Answers
2






active

oldest

votes


















0












$begingroup$

I think you need to review some of the basic properties of tensors.



Firstly, all of the indices on a tensor have the same "dimension", which is the dimension of the underlying vector space on which the tensor acts - if the first index can take values in ${1,2,dots,n}$ then so can each of the other indices. An order 2 tensor can be represented (relative to a given basis) by a matrix but this will always be a square matrix.



Secondly, summing or "contracting" over a pair of indices only produces another tensor if one index is a contravariant index and the other is a covariant index. Contravariant indices are traditionally written as "upper" or superscript indices; covariant indices are traditionally written as "lower" or subscript indices. Thus



$T^{ijdots l}U_{l dots km}$



which is shorthand for



$displaystyle sum_{l=1}^n T^{ijdots l}U_{l dots km}$



is a tensor but



$T_{ijdots l}U_{l dots km}$



is not a tensor. You can certainly calculate the values or "components" of $T_{ijdots l}U_{l dots km}$ relative to a given basis, but these values will not transform in a consistent way when you change basis, so $T_{ijdots l}U_{l dots km}$ does not represent a physically or geometrically meaningful object. This would be similar to adding up the components of a vector relative to a given basis - you can do the arithmetic, but the resulting quantity is not geometrically meaningful.



You can, however, "raise" and "lower" indices using the metric tensor $g_{ij}$. So if you wanted to contract the final index of $T_{ijdots l}$ with the first index of $U_{l dots km}$ to create a tensor, you could use the metric tensor as follows:



$g^{lp}T_{ijdots p}U_{l dots km} = T_{ijdots}^{quad l} U_{l dots km} $



which is a tensor because you are contracting a contravariant index with a covariant index.






share|cite|improve this answer









$endgroup$





















    0












    $begingroup$

    If $T_i$ and $U_p$ are two rank-one-tensors then $$g^{ij}T_iU_j,$$ is their inner product.



    For rank-two tensors if $T$ has components $T_{ij}$ and $U$ has components $U_{pq}$ then the rank-four tensor $Totimes U$ has components $(Totimes U)_{ijpq}:=T_{ij}U_{pq}$.
    But for the inner product $Tcdot U$ between them, which should be a scalar, this is defined as $$g^{is}g^{jt}T_{ij}U_{st},$$
    note the pattern of contractions!
    One can easily generalize to arbitrary rank if both of $T$ and $U$ have equal rank.



    For the case of unequal ranks it is took $Tcdot U:=0$.






    share|cite|improve this answer











    $endgroup$














      Your Answer








      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%2f3067374%2ftensor-dot-product-of-two-tensors-of-arbitrary-order%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









      0












      $begingroup$

      I think you need to review some of the basic properties of tensors.



      Firstly, all of the indices on a tensor have the same "dimension", which is the dimension of the underlying vector space on which the tensor acts - if the first index can take values in ${1,2,dots,n}$ then so can each of the other indices. An order 2 tensor can be represented (relative to a given basis) by a matrix but this will always be a square matrix.



      Secondly, summing or "contracting" over a pair of indices only produces another tensor if one index is a contravariant index and the other is a covariant index. Contravariant indices are traditionally written as "upper" or superscript indices; covariant indices are traditionally written as "lower" or subscript indices. Thus



      $T^{ijdots l}U_{l dots km}$



      which is shorthand for



      $displaystyle sum_{l=1}^n T^{ijdots l}U_{l dots km}$



      is a tensor but



      $T_{ijdots l}U_{l dots km}$



      is not a tensor. You can certainly calculate the values or "components" of $T_{ijdots l}U_{l dots km}$ relative to a given basis, but these values will not transform in a consistent way when you change basis, so $T_{ijdots l}U_{l dots km}$ does not represent a physically or geometrically meaningful object. This would be similar to adding up the components of a vector relative to a given basis - you can do the arithmetic, but the resulting quantity is not geometrically meaningful.



      You can, however, "raise" and "lower" indices using the metric tensor $g_{ij}$. So if you wanted to contract the final index of $T_{ijdots l}$ with the first index of $U_{l dots km}$ to create a tensor, you could use the metric tensor as follows:



      $g^{lp}T_{ijdots p}U_{l dots km} = T_{ijdots}^{quad l} U_{l dots km} $



      which is a tensor because you are contracting a contravariant index with a covariant index.






      share|cite|improve this answer









      $endgroup$


















        0












        $begingroup$

        I think you need to review some of the basic properties of tensors.



        Firstly, all of the indices on a tensor have the same "dimension", which is the dimension of the underlying vector space on which the tensor acts - if the first index can take values in ${1,2,dots,n}$ then so can each of the other indices. An order 2 tensor can be represented (relative to a given basis) by a matrix but this will always be a square matrix.



        Secondly, summing or "contracting" over a pair of indices only produces another tensor if one index is a contravariant index and the other is a covariant index. Contravariant indices are traditionally written as "upper" or superscript indices; covariant indices are traditionally written as "lower" or subscript indices. Thus



        $T^{ijdots l}U_{l dots km}$



        which is shorthand for



        $displaystyle sum_{l=1}^n T^{ijdots l}U_{l dots km}$



        is a tensor but



        $T_{ijdots l}U_{l dots km}$



        is not a tensor. You can certainly calculate the values or "components" of $T_{ijdots l}U_{l dots km}$ relative to a given basis, but these values will not transform in a consistent way when you change basis, so $T_{ijdots l}U_{l dots km}$ does not represent a physically or geometrically meaningful object. This would be similar to adding up the components of a vector relative to a given basis - you can do the arithmetic, but the resulting quantity is not geometrically meaningful.



        You can, however, "raise" and "lower" indices using the metric tensor $g_{ij}$. So if you wanted to contract the final index of $T_{ijdots l}$ with the first index of $U_{l dots km}$ to create a tensor, you could use the metric tensor as follows:



        $g^{lp}T_{ijdots p}U_{l dots km} = T_{ijdots}^{quad l} U_{l dots km} $



        which is a tensor because you are contracting a contravariant index with a covariant index.






        share|cite|improve this answer









        $endgroup$
















          0












          0








          0





          $begingroup$

          I think you need to review some of the basic properties of tensors.



          Firstly, all of the indices on a tensor have the same "dimension", which is the dimension of the underlying vector space on which the tensor acts - if the first index can take values in ${1,2,dots,n}$ then so can each of the other indices. An order 2 tensor can be represented (relative to a given basis) by a matrix but this will always be a square matrix.



          Secondly, summing or "contracting" over a pair of indices only produces another tensor if one index is a contravariant index and the other is a covariant index. Contravariant indices are traditionally written as "upper" or superscript indices; covariant indices are traditionally written as "lower" or subscript indices. Thus



          $T^{ijdots l}U_{l dots km}$



          which is shorthand for



          $displaystyle sum_{l=1}^n T^{ijdots l}U_{l dots km}$



          is a tensor but



          $T_{ijdots l}U_{l dots km}$



          is not a tensor. You can certainly calculate the values or "components" of $T_{ijdots l}U_{l dots km}$ relative to a given basis, but these values will not transform in a consistent way when you change basis, so $T_{ijdots l}U_{l dots km}$ does not represent a physically or geometrically meaningful object. This would be similar to adding up the components of a vector relative to a given basis - you can do the arithmetic, but the resulting quantity is not geometrically meaningful.



          You can, however, "raise" and "lower" indices using the metric tensor $g_{ij}$. So if you wanted to contract the final index of $T_{ijdots l}$ with the first index of $U_{l dots km}$ to create a tensor, you could use the metric tensor as follows:



          $g^{lp}T_{ijdots p}U_{l dots km} = T_{ijdots}^{quad l} U_{l dots km} $



          which is a tensor because you are contracting a contravariant index with a covariant index.






          share|cite|improve this answer









          $endgroup$



          I think you need to review some of the basic properties of tensors.



          Firstly, all of the indices on a tensor have the same "dimension", which is the dimension of the underlying vector space on which the tensor acts - if the first index can take values in ${1,2,dots,n}$ then so can each of the other indices. An order 2 tensor can be represented (relative to a given basis) by a matrix but this will always be a square matrix.



          Secondly, summing or "contracting" over a pair of indices only produces another tensor if one index is a contravariant index and the other is a covariant index. Contravariant indices are traditionally written as "upper" or superscript indices; covariant indices are traditionally written as "lower" or subscript indices. Thus



          $T^{ijdots l}U_{l dots km}$



          which is shorthand for



          $displaystyle sum_{l=1}^n T^{ijdots l}U_{l dots km}$



          is a tensor but



          $T_{ijdots l}U_{l dots km}$



          is not a tensor. You can certainly calculate the values or "components" of $T_{ijdots l}U_{l dots km}$ relative to a given basis, but these values will not transform in a consistent way when you change basis, so $T_{ijdots l}U_{l dots km}$ does not represent a physically or geometrically meaningful object. This would be similar to adding up the components of a vector relative to a given basis - you can do the arithmetic, but the resulting quantity is not geometrically meaningful.



          You can, however, "raise" and "lower" indices using the metric tensor $g_{ij}$. So if you wanted to contract the final index of $T_{ijdots l}$ with the first index of $U_{l dots km}$ to create a tensor, you could use the metric tensor as follows:



          $g^{lp}T_{ijdots p}U_{l dots km} = T_{ijdots}^{quad l} U_{l dots km} $



          which is a tensor because you are contracting a contravariant index with a covariant index.







          share|cite|improve this answer












          share|cite|improve this answer



          share|cite|improve this answer










          answered Jan 9 at 16:28









          gandalf61gandalf61

          9,338825




          9,338825























              0












              $begingroup$

              If $T_i$ and $U_p$ are two rank-one-tensors then $$g^{ij}T_iU_j,$$ is their inner product.



              For rank-two tensors if $T$ has components $T_{ij}$ and $U$ has components $U_{pq}$ then the rank-four tensor $Totimes U$ has components $(Totimes U)_{ijpq}:=T_{ij}U_{pq}$.
              But for the inner product $Tcdot U$ between them, which should be a scalar, this is defined as $$g^{is}g^{jt}T_{ij}U_{st},$$
              note the pattern of contractions!
              One can easily generalize to arbitrary rank if both of $T$ and $U$ have equal rank.



              For the case of unequal ranks it is took $Tcdot U:=0$.






              share|cite|improve this answer











              $endgroup$


















                0












                $begingroup$

                If $T_i$ and $U_p$ are two rank-one-tensors then $$g^{ij}T_iU_j,$$ is their inner product.



                For rank-two tensors if $T$ has components $T_{ij}$ and $U$ has components $U_{pq}$ then the rank-four tensor $Totimes U$ has components $(Totimes U)_{ijpq}:=T_{ij}U_{pq}$.
                But for the inner product $Tcdot U$ between them, which should be a scalar, this is defined as $$g^{is}g^{jt}T_{ij}U_{st},$$
                note the pattern of contractions!
                One can easily generalize to arbitrary rank if both of $T$ and $U$ have equal rank.



                For the case of unequal ranks it is took $Tcdot U:=0$.






                share|cite|improve this answer











                $endgroup$
















                  0












                  0








                  0





                  $begingroup$

                  If $T_i$ and $U_p$ are two rank-one-tensors then $$g^{ij}T_iU_j,$$ is their inner product.



                  For rank-two tensors if $T$ has components $T_{ij}$ and $U$ has components $U_{pq}$ then the rank-four tensor $Totimes U$ has components $(Totimes U)_{ijpq}:=T_{ij}U_{pq}$.
                  But for the inner product $Tcdot U$ between them, which should be a scalar, this is defined as $$g^{is}g^{jt}T_{ij}U_{st},$$
                  note the pattern of contractions!
                  One can easily generalize to arbitrary rank if both of $T$ and $U$ have equal rank.



                  For the case of unequal ranks it is took $Tcdot U:=0$.






                  share|cite|improve this answer











                  $endgroup$



                  If $T_i$ and $U_p$ are two rank-one-tensors then $$g^{ij}T_iU_j,$$ is their inner product.



                  For rank-two tensors if $T$ has components $T_{ij}$ and $U$ has components $U_{pq}$ then the rank-four tensor $Totimes U$ has components $(Totimes U)_{ijpq}:=T_{ij}U_{pq}$.
                  But for the inner product $Tcdot U$ between them, which should be a scalar, this is defined as $$g^{is}g^{jt}T_{ij}U_{st},$$
                  note the pattern of contractions!
                  One can easily generalize to arbitrary rank if both of $T$ and $U$ have equal rank.



                  For the case of unequal ranks it is took $Tcdot U:=0$.







                  share|cite|improve this answer














                  share|cite|improve this answer



                  share|cite|improve this answer








                  edited Jan 9 at 21:50

























                  answered Jan 9 at 21:41









                  janmarqzjanmarqz

                  6,29241630




                  6,29241630






























                      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%2f3067374%2ftensor-dot-product-of-two-tensors-of-arbitrary-order%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

                      Aardman Animations

                      Are they similar matrix

                      Ficheiro:Flag of Oman.svg