Search for a tool
Tensor Product

Tool to perform a tensor product calculation, a kind of multiplication applicable on tensors, vectors or matrices.

Results

Tensor Product -

Tag(s) : Matrix

Share dCode and more

dCode is free and its tools are a valuable help in games, maths, geocaching, puzzles and problems to solve every day!
A suggestion ? a feedback ? a bug ? an idea ? Write to dCode!

Please, check our dCode Discord community for help requests!
NB: for encrypted messages, test our automatic cipher identifier!

Feedback and suggestions are welcome so that dCode offers the best 'Tensor Product' tool for free! Thank you!

# Tensor Product

## Matrix Tensor Product ⊗

### What is a tensor product? (Definition)

The tensor product is a method for multiplying linear maps that computes the outer product of every pair of tensors.

With matrices/vectors/tensors, the tensor product is also called the Kronecker product.

### How to calculate a tensor product of matrices?

From 2 matrices $A=\begin{bmatrix}a_{11}&a_{12}\\a_{21}&a_{22}\end{bmatrix}$ and $B=\begin{bmatrix}b_{11}&b_{12}\\b_{21}&b_{22}\end{bmatrix}$ the tensor product noted $\otimes$ is calculated $$A \otimes B = \begin{bmatrix}a_{11}\begin{bmatrix}b_{11}&b_{12}\\b_{21}&b_{22}\end{bmatrix}&a_{12}\begin{bmatrix}b_{11}&b_{12}\\b_{21}&b_{22}\end{bmatrix} \\ a_{21}\begin{bmatrix}b_{11}&b_{12}\\b_{21}&b_{22}\end{bmatrix} & a_{22}\begin{bmatrix}b_{11}&b_{12}\\b_{21}&b_{22}\end{bmatrix}\end{bmatrix} = \begin{bmatrix}a_{11}b_{11}&a_{11}b_{12}&a_{12}b_{11}&a_{12}b_{12}\\a_{11}b_{21}&a_{11}b_{22}&a_{12}b_{21}&a_{12}b_{22}\\a_{21}b_{11}&a_{21}b_{12}&a_{22}b_{11}&a_{22}b_{12}\\a_{21}b_{21}&a_{21}b_{22}&a_{22}b_{21}&a_{22}b_{22}\end{bmatrix}$$

### How to calculate a tensor product of vectors?

From 2 vectors $\vec{a} = \begin{bmatrix}a_1 \\ a_2 \\ \vdots \\ a_n \end{bmatrix}$ and $\vec{b} = \begin{bmatrix}b_1 \\ b_2 \\ \vdots \\ b_m \end{bmatrix}$ the tensor product noted $\otimes$ is calculated $[ a_{i} ] \otimes [ b_{j} ] ^ T$ by converting vectors to matrices by transposing the second vector so as to have a row vector and a column vector.

The resulting tensor will have dimensions of the multiplication of the number of elements in the original vectors.

$$\vec{a} \otimes \vec{b} = \begin{bmatrix}a_1 b_1 & a_1 b_2 & \cdots &a_1 b_m \\ a_2 b_1 & a_2 b_2&\cdots &a_2 b_m \\ \vdots & \vdots & \ddots & \vdots \\ a_n b_1 & a_n b_2 & \cdots & a_n b_m \end{bmatrix}$$

Example: $$\begin{bmatrix} 1 \\ 2 \end{bmatrix} \otimes \begin{bmatrix} 3 & 4 \end{bmatrix} = \begin{bmatrix} 3 & 4 \\ 6 & 8 \end{bmatrix}$$

## Source code

dCode retains ownership of the "Tensor Product" source code. Except explicit open source licence (indicated Creative Commons / free), the "Tensor Product" algorithm, the applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, translator), or the "Tensor Product" functions (calculate, convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (Python, Java, PHP, C#, Javascript, Matlab, etc.) and all data download, script, or API access for "Tensor Product" are not public, same for offline use on PC, mobile, tablet, iPhone or Android app!
Reminder : dCode is free to use.

## Cite dCode

The copy-paste of the page "Tensor Product" or any of its results, is allowed as long as you cite dCode!
Cite as source (bibliography):
Tensor Product on dCode.fr [online website], retrieved on 2023-01-29, https://www.dcode.fr/tensor-product

## Need Help ?

Please, check our dCode Discord community for help requests!
NB: for encrypted messages, test our automatic cipher identifier!