# Tensor

Jump to navigation
Jump to search

Tensor | |

Kronecker tensor product of two or more matrices | |

Other toolboxes required | none |
---|---|

Related functions | TensorSum |

Function category | Basic operation |

` Tensor` is a function that produces the Kronecker (tensor) product of two or more matrices, and thus extends MATLAB's built-in kron function.

## Syntax

`KRN = Tensor(A)``KRN = Tensor(A,M)``KRN = Tensor(A,B,C,...)`

## Argument descriptions

`A`: If`A`is a cell, then`KRN`is the Kronecker product of all matrices within`A`.`M`(optional): A scalar indicating how many times`A`should be tensored with itself (if`M`is provided,`A`must be a matrix).`B,C,...`(optional): Matrices. If these are provided, then`A`must be a matrix, and the output is $A \otimes B \otimes C \otimes \cdots$.

## Examples

### Several different input formats

The `Tensor` function accepts input in many different formats, so that you may use whichever is most convenient at a particular time. For example, the following three code snippets all result in the same operator: `Tensor(A,3)`, `Tensor(A,A,A)`, and `Tensor({A,A,A})`.

### Multiple copies of Werner states

When investigating the NPPT bound entanglement conjecture, you may want to tensor Werner states with themselves multiple times. The following code tensors a particular Werner state with itself 6 times:

```
>> rho = WernerState(3,1/2);
>> rho6 = Tensor(rho,6);
```

Note that `rho6` is a 531441-by-531441 matrix, so we don't display it here.

## Source code

Click here to view this function's source code on github.