# How to take partial trace?

$L$ is a linear operator acting on hilbert space $V$ of dimension $n$, $L: V \to V$. The trace of a linear operator is defined as sum of diagonal entries of any matrix representation in same input and output basis of $V$. But if $L$ is a linear operator acting on $V \otimes V$ and I want to take partial trace over the first/second system, it makes sense to me when the operator is expressed in dirac notation, eg a linear operator acting $H \otimes H$ where $H$ is a 2-dimensional hilbert space in dirac notation is $$L_{AB} = |01\rangle \langle 00 | +|00\rangle \langle 10 |$$ $$tr_A(L_{AB})=|1\rangle \langle 0 |$$ $$tr_B(L_{AB})=|0\rangle \langle 1 |$$ here $\{|0\rangle , |1\rangle \}$ is an orthonormal basis for $H$. But how is the partial trace found and defined in terms of the matrix representation of the linear operator. Does the input and output basis have to be the same to define partial trace similar to definition of trace ?

• More on partial trace. – Qmechanic May 2 '15 at 18:43
• Should I flag this for migration to math exchange or should I improve my question ? – sashas May 2 '15 at 19:17

## 2 Answers

Let $H_A \otimes H_B$ be your Hilbert space, and $O$ be an operator acting on this composite space. Then $O$ can be written has $$O = \sum_{i,j} c_{ij} M_i \otimes N_j$$ where the $M_i$'s and $N_j$'s act on $H_A$ and $H_B$ respectively. Then the partial trace over $H_A$ defined as $$tr_{H_A}(O) = \sum_{i,j} c_{ij} tr(M_i) N_j ,$$ and similarly for $H_B$.

To take the partial trace you need to build the sum over the matrix elements w.r.t. the same input and output basis, as you probably already used to calculate the partial traces you gave. In Dirac notation this is often written as: $$tr_A(L_{AB}) =\sum_i \langle i|_A L_{AB} |i\rangle_A=\langle0|0\rangle\langle 0|0\rangle (|1\rangle\langle0|)_B+\langle1|0\rangle\langle 1|1\rangle \left(|0\rangle\langle0|\right)_B\\ =(|1\rangle\langle0|)_B$$

What is implicit to this notation, is that you leave the part of the operator which acts on the space B untouched. In principle what you do is to multiply the square matrix by rectangular matrices to obtain a smaller matrix: $$tr_A(L_{AB})=\sum_i [(\langle i|\otimes id)L_{AB}(|i\rangle\otimes id)]$$ If you want to think of matrices, just represent the tensor products via Kronecker products: $$tr_A(L_{AB})= \left(\array{1&0&0&0\\0&1&0&0}\right)\cdot \left(\array{0&0&1&0\\1&0&0&0\\0&0&0&0\\0&0&0&0} \right)\cdot \left( \array{1&0\\0&1\\0&0\\0&0}\right)=\left(\array{0&0\\1&0} \right)$$ (I just wrote the surviving term (where $i=0$).)

• Generally, $$tr_A(L_{AB})= \left(\array{1&0&0&0\\0&1&0&0}\right)\cdot L_{AB}\cdot \left( \array{1&0\\0&1\\0&0\\0&0}\right) + \left(\array{0&0&1&0\\0&0&0&1}\right)\cdot L_{AB} \cdot \left( \array{0&0\\0&0\\1&0\\0&1}\right) =\left(\array{0&0\\1&0} \right)$$ – Eden Harder May 4 '15 at 2:01
• And $$tr_B(L_{AB})= \left(\array{1&0&0&0\\0&0&1&0}\right)\cdot L_{AB}\cdot \left( \array{1&0\\0&0\\0&1\\0&0}\right) + \left(\array{0&1&0&0\\0&0&0&1}\right)\cdot L_{AB} \cdot \left( \array{0&0\\1&0\\0&0\\0&1}\right) =\left(\array{0&1\\0&0} \right)$$ – Eden Harder May 4 '15 at 2:10