Tensor Dot Product of two tensors of arbitrary order
$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} ,$ ?
inner-product-space tensor-products tensors tensor-rank
$endgroup$
add a comment |
$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} ,$ ?
inner-product-space tensor-products tensors tensor-rank
$endgroup$
$begingroup$
I forgot to mention the sum over l, sorry.
$endgroup$
– Clebo Sevic
Jan 9 at 12:06
add a comment |
$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} ,$ ?
inner-product-space tensor-products tensors tensor-rank
$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
inner-product-space tensor-products tensors tensor-rank
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
add a comment |
$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
add a comment |
2 Answers
2
active
oldest
votes
$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.
$endgroup$
add a comment |
$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$.
$endgroup$
add a comment |
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
});
}
});
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%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
$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.
$endgroup$
add a comment |
$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.
$endgroup$
add a comment |
$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.
$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.
answered Jan 9 at 16:28
gandalf61gandalf61
9,338825
9,338825
add a comment |
add a comment |
$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$.
$endgroup$
add a comment |
$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$.
$endgroup$
add a comment |
$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$.
$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$.
edited Jan 9 at 21:50
answered Jan 9 at 21:41
janmarqzjanmarqz
6,29241630
6,29241630
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%2f3067374%2ftensor-dot-product-of-two-tensors-of-arbitrary-order%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$
I forgot to mention the sum over l, sorry.
$endgroup$
– Clebo Sevic
Jan 9 at 12:06