0
$\begingroup$

If we have a representation of a tensor $\mathcal{A} \in \mathbb{R}^{I_1, \ldots, I_N}$, we define the $n$-mode multiplication of $\mathcal{A}$ by a matrix $U$ where $U$ must be a $(J_n \times I_n)$ array as the $(I_1, \ldots, J_n, \ldots, I_N)$ array such that

$$(\mathcal{A} \times_n U)_{i_1, \ldots, j_n, \ldots, i_N} = \sum_{i_n}a_{i_1,\ldots, i_n, \ldots, i_N}u_{j_n, i_n}.$$

That is, we sum on the outer index of $U$. Whereas for matrices we use

$$(AU)_{ij} = \sum_{k}a_{ik}u_{kj},$$

which is a sum on the inner index of $U$. In the way the $n$-mode multiplication is defined, it doesn't correspond to matrix multiplication when the tensor is in fact just a matrix. Why?

I realize the usual interest in "tensor products" in many areas of mathematics is not in the conventions for multiplying arrays of numbers, is there a better place to post this?

$\endgroup$
0
$\begingroup$

There are different conventions around for tensor (or polyadic) products. For example, the original Gibbs convention for the double-dot product of two dyads is $$(\vec{a} \vec{b}) : (\vec{c} \vec{d}) = (\vec{a} \cdot \vec{c}) (\vec{b} \cdot \vec{d}),$$ whereas the Chapman-Cowling definition for this product is $$(\vec{a} \vec{b}) : (\vec{c} \vec{d}) = (\vec{a} \cdot \vec{d}) (\vec{b} \cdot \vec{c}).$$ When writing these as double summations, the order of indices gets reversed in one of the dyads. This could explain the convention taken in your notation. When the dyadic are symmetric, the two conventions produce the same results, but otherwise they are not.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.