$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 ?


2 Answers 2


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$).)

  • 13
    $\begingroup$ 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) $$ $\endgroup$ Commented May 4, 2015 at 2:01
  • 12
    $\begingroup$ 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) $$ $\endgroup$ Commented May 4, 2015 at 2:10

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$.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.