# SchmidtDecomposition

Jump to navigation
Jump to search

SchmidtDecomposition | |

Computes the Schmidt decomposition of a bipartite vector | |

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

Related functions | IsProductVector OperatorSchmidtDecomposition SchmidtRank |

Function category | Entanglement and separability |

` SchmidtDecomposition` is a function that computes the Schmidt decomposition of a bipartite vector. The user may specify how many terms in the Schmidt decomposition they wish to be returned.

## Syntax

`S = SchmidtDecomposition(VEC)``S = SchmidtDecomposition(VEC,DIM)``S = SchmidtDecomposition(VEC,DIM,K)``[S,U,V] = SchmidtDecomposition(VEC,DIM,K)`

## Argument descriptions

### Input arguments

`VEC`: A bipartite vector (e.g., a pure quantum state) to have its Schmidt decomposition computed.`DIM`(optional, by default has both subsystems of equal dimension): A 1-by-2 vector containing the dimensions of the subsystems that`VEC`lives on.`K`(optional, default 0): A flag that determines how many terms in the Schmidt decomposition should be computed. If`K`= 0 then all terms with non-zero Schmidt coefficients are computed. If`K`= -1 then all terms (including zero Schmidt coefficients) are computed. If`K`> 0 then the`K`terms with largest Schmidt coefficients are computed.

### Output arguments

`S`: A vector containing the Schmidt coefficients of`VEC`.`U`(optional): A matrix whose columns are the left Schmidt vectors of`VEC`.`V`(optional): A matrix whose columns are the right Schmidt vectors of`VEC`.

## Examples

The following code returns the Schmidt decomposition of the standard maximally-entangled pure state $\frac{1}{\sqrt{d}}\sum_j|j\rangle\otimes|j\rangle \in \mathbb{C}^d \otimes \mathbb{C}^d$ in the $d = 3$ case:

```
>> [s,u,v] = SchmidtDecomposition(MaxEntangled(3))
s =
0.5774
0.5774
0.5774
u =
1 0 0
0 1 0
0 0 1
v =
1 0 0
0 1 0
0 0 1
```

## Source code

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