# Does $\mathrm{tr}(A \otimes B) = \mathrm{tr} (A) \otimes \mathrm{tr}(B)$ hold for partial trace?

I was reading this question from this site answered by DaftWullie. I would like to request you to read the question there. The answer says

However, in this particular case, the calculation is much simply. Let $$|\phi\rangle$$ be the Bell pair such that $$|\psi\rangle=|\phi_{12}\rangle|\phi_{34}\rangle.$$ Because there's a separable partition between (1,2) and (3,4), this is not changed by the partial trace. Thus $$\text{Tr}_B|\psi\rangle\langle\psi|=\left(\text{Tr}_2|\phi\rangle\langle\phi|\right)\otimes \left(\text{Tr}_3|\phi\rangle\langle\phi|\right).$$

I don't understand where this expression comes from. There shouldn't be any $$\otimes$$ in there, right? Can anybody derive it step by step?

Because trace is applied over $$|\psi\rangle\langle\psi|$$ or $$|\phi_{12}\rangle|\phi_{34}\rangle\langle\phi_{34}|\langle\phi_{12}|$$ or $$(|\phi_{12}\rangle \otimes |\phi_{34}\rangle)( \langle\phi_{34}|\otimes \langle\phi_{12}|)$$. This is matrix multiplication of $$(|\phi_{12}\rangle \otimes |\phi_{34}\rangle)$$ and $$( \langle\phi_{34}|\otimes \langle\phi_{12}|)$$.

• The fact that you probably missing is that for any matrix $M$ and any subsystems $a,b$ we have $\text{Tr}_{ab}(M) = \text{Tr}_a(\text{Tr}_b(M)) = \text{Tr}_b(\text{Tr}_a(M))$. Feb 21, 2021 at 8:09

DaftWullie's answer is correct. The key identity they are using is

$$\mathrm{tr}_B(\rho_A\otimes\sigma_{BC}) = \rho_A \otimes (\mathrm{tr}_B\sigma_{BC})\tag1$$

which says that we can pull out tensor factors that do not act on the system being traced over. Using $$(1)$$ and the symbols defined in the linked question and answer, we have

\begin{align} \mathrm{tr}_B |\psi\rangle\langle\psi| &= \mathrm{tr}_2 \mathrm{tr}_3 |\psi\rangle\langle\psi| \\ &= \mathrm{tr}_2 \mathrm{tr}_3\left(|\phi_{12}\rangle\langle\phi_{12}| \otimes |\phi_{34}\rangle\langle\phi_{34}|\right) \\ &= \mathrm{tr}_2 \left(|\phi_{12}\rangle\langle\phi_{12}| \otimes \mathrm{tr}_3|\phi_{34}\rangle\langle\phi_{34}|\right) \\ &= (\mathrm{tr}_2 |\phi_{12}\rangle\langle\phi_{12}|) \otimes (\mathrm{tr}_3|\phi_{34}\rangle\langle\phi_{34}|) \end{align}

where in the first equality we use $$\mathrm{tr}_B = \mathrm{tr}_2 \circ \mathrm{tr}_3$$ since Bob has qubits $$2$$ and $$3$$, in the second equality we use the definition $$|\psi\rangle = |\phi_{12}\rangle|\phi_{34}\rangle$$, in the third we use $$(1)$$ with $$A=12$$, $$B=3$$ and $$C=4$$ and in the fourth we use $$(1)$$ once again with $$A=4$$, $$B=2$$ and $$C=1$$.

Remark on operator domains

Note that $$\mathrm{tr}_2 |\phi_{12}\rangle\langle\phi_{12}|$$ is an operator acting on the Hilbert space $$\mathcal{H}_1$$ of subsystem $$1$$ and $$\mathrm{tr}_3|\phi_{34}\rangle\langle\phi_{34}|$$ is an operator acting on the Hilbert space $$\mathcal{H}_4$$ of subsystem $$4$$. Moreover, $$\mathrm{tr}_B |\psi\rangle\langle\psi|$$ is supposed to be an operator acting on the Hilbert space $$\mathcal{H}_1 \otimes \mathcal{H}_4$$ of the two qubits owned by Alice. This confirms that there should be $$\otimes$$ between the factors in the formula from DaftWullie's answer.

Proof of $$(1)$$

Recall that $$\mathrm{tr}_B\rho = \sum_i\langle i_B|\rho|i_B\rangle$$ where $$|i_B\rangle$$ is an orthonormal basis of the Hilbert space of the subsystem $$B$$. Calculate

\begin{align} \mathrm{tr}_B(\rho_A\otimes\sigma_{BC}) &= \sum_i \langle i_B|\rho_A\otimes\sigma_{BC}|i_B\rangle \\ &= \sum_i \rho_A\otimes \langle i_B|\sigma_{BC}|i_B\rangle \\ &= \rho_A\otimes \sum_i \langle i_B|\sigma_{BC}|i_B\rangle \\ &= \rho_A \otimes (\mathrm{tr}_B\sigma_{BC}). \end{align}

• I will just thank you and will ask, how do you people know so well?...(Maybe years of study or some gift of connecting things)..All of the members here are pretty good, Thanks. Feb 20, 2021 at 22:38
• You're welcome! From what I have seen there are two (not mutually exclusive) routes to fluency in the calculations used in quantum mechanics. One is solid background in linear algebra. The other is practice in Dirac notation. The classification of objects into kets and bras together with subsystem subscripts (which imply operator domains) help in a way similar to how type checking helps in programming languages by narrowing down the identity of all objects. This provides a means of double-checking that every step yields an object of the appropriate type. Feb 20, 2021 at 22:53