2
$\begingroup$

I was wondering whether there is a name for the following operation, which is a kind of multiplication between a rank-$3$ tensor and a matrix.

One is given a matrix $A\in\mathbb{R}^{q\times m}$, a matrix $B\in\mathbb{R}^{n\times q}$ and a rank-3 tensor $D\in \mathbb{R}^{m\times n\times p}$, which is represented as a matrix $(D_{ij})\in \mathbb{R}^{m\times n}$ where each element is a vector $\mathbb{R}^{p}$.

I would like to to describe a multiplication between $A$ or $B$ with $D$ as the usual matrix multiplication, by only considering the first two dimensions of $D$. That is,

$AD\in \mathbb{R}^{q\times n\times p}$, where each element (a vector) is obtained by the usual matrix multiplication; and similarly $DB\in \mathbb{R}^{m\times q\times p}$.

Is there a name for this operation? Or how do you recommend me to describe this operation in a professional way (acceptable for peer reviewing)?


Besides denoting the operation using tensor contraction, as suggestion by Travis's answer, I find the $n$-mode product is quite suitable for this setting. However, the $n$-mode product are only defined between a tensor and a matrix (or vector). For example, I cannot denote $D_1D_2B$ where $D_i$ are both rank-3 tensors using $n$-mode product. But tensor contraction can be defined between two tensors.

Anyway, using the $n$-mode product, we can denote the desired operations as: $D\times_1A$ and $D\times_2B^T$.

$\endgroup$

1 Answer 1

1
$\begingroup$

One might call the operations $(A, D) \mapsto AD$ and $(D, B) \mapsto DB$ contractions. They are each given by forming a tensor product, e.g., $A \otimes D$ and taking a particular trace.

$\endgroup$
5
  • $\begingroup$ Thanks for your answer. I am quite new to tensor so I am not sure whether my understanding is correct. I have browsed the Internet and found that the contraction has to be defined with at least one controvariant and one covariant index. However, I am not sure how to properly choose controvariant or covariant indices here. Do you think $D^{ik}_jB^j_{l}$ ($i, j, k$ denotes the the first, second, and third dimension, respectively) is proper to define the desired operation $DB$ ? $\endgroup$
    – John
    Commented May 26, 2017 at 14:15
  • $\begingroup$ This usually isn't something you choose, it's a built-in feature of the problem. I would avoid index notation here, because using the same sort of characters for indices, e.g., lowercase Roman $i, j, k, \ldots$ in my experience usually indicates that they all correspond to objects in the same vector space (or its dual), so that, e.g., $B^j{}_l$ denotes an object in $V \otimes V^*$ for some vector space here, but your $B$ is an element of $\Bbb R^n \otimes (\Bbb R^q)^*$, where we may or may not have $n = q$. $\endgroup$ Commented May 26, 2017 at 14:50
  • $\begingroup$ Still, if you're set on index notation despite this reservation, probably it would be best to write what you say, perhaps with some spacing to indicate their order, e.g., $(DB)^i{}_j{}^k := D^i{}_l{}^k B^l{}_j$. $\endgroup$ Commented May 26, 2017 at 14:52
  • $\begingroup$ Alternatively, one could think of $D$ as an array $(D^k)$ of matrices indexed by $k$, in from this point of view $BD$ is the just array $((BD)^k) = (BD^k)$. Absent any more information, I'd suggest you just mimic the presentation/notation choices of the articles you cite. $\endgroup$ Commented May 26, 2017 at 14:55
  • 1
    $\begingroup$ Thanks for your answers. I found another notation $n$-mode product is quite helpful in this case, but your suggestion is more suitable for a general setting. $\endgroup$
    – John
    Commented May 26, 2017 at 15:27

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .