What is this tensor operation called?

234 Views Asked by At

I'm wondering if the following operation has a name:

$$ \begin{pmatrix} a & b & c \\ d & e & f \\ g & h & i \\ \end{pmatrix} ? M = \begin{pmatrix} aM & bM & cM \\ dM & eM & fM \\ gM & hM & iM \\ \end{pmatrix} $$

In other words the operation multiplies each element of $n$ rank tensor $N$ as scalars by the whole second $m$ rank tensor $M$, creating a $n+m$ rank tensor.

(I need to perform it in a program I am writing. Before I implement it myself, I would like to check if it already exists in the libraries I am using. The problem is I don't have a clue what to search for. And the operation seems rather elementary, so it likely exists.)

Edit: I edited the question to make it less confusing and use proper nomenclature.

2

There are 2 best solutions below

2
On BEST ANSWER
4
On

As indicated by @Nitin Tomar, it is a Kronecker product, and your $?$ point has to be replaced by the classical symbol $\otimes$ :

$$\begin{pmatrix} a & b & c \\ d & e & f \\ g & h & i \\ \end{pmatrix} \otimes M = \begin{pmatrix} aM & bM & cM \\ dM & eM & fM \\ gM & hM & iM \\ \end{pmatrix}$$

Kronecker product has many nice properties, for example regarding eigenvalues and eigenvectors, but not in general commutativity.

As you address programming languages, Matlab for example has a special function called "kron" for this operation :

 L=[a,b,c
    d,e,f
    g,h,i];
 M=[j,k
    l,m];
 kron(L,M)

Related : you can also define a Kronecker $\oplus$ operation.