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.