The following is a true (and well-known) theorem: \(\newcommand{\Tr}{\mathop{\rm Tr}}\)
Suppose \(A\) and \(B\) are bounded operators on a Hilbert space, and \(AB\) and \(BA\) are trace class. Then \( \Tr(AB)=\Tr(BA) \).
This is easy to prove if one of the operators \(A,B\) is itself of trace class, or if they both are Hilbert-Schmidt (the obvious calculation works). In the general case it is a bit harder. The “usual” argument proceeds via Lidskii’s trace theorem – the trace of any trace-class operator is the sum of the eigenvalues – together with the purely algebraic fact that the nonzero eigenvalues of \(AB\) and \(BA\) are the same (including multiplicities).
Lidskii’s theorem is a surprisingly delicate result though. In class, I claimed that one can prove the theorem \(\Tr(AB)=\Tr(BA) \) in general without using Lidskii. This is true; however, the “obvious” argument does not work any more. (You want to rearrange a double series and a priori it is only conditionally convergent, rather than absolutely convergent.) Rather, one needs something like the following reasoning (adapted from Lemma 2.1 of On triangularization of algebras of operators, by Nordgren and Rosenthal, Crelle 327 (1981), 143–155).
Consider first the case where \(A\) is self-adjoint. Let \(P_n\) be the spectral projection of \(A\) corresponding to \({\mathbb R}\setminus (-1/n,1/n)\). We have
\[ \Tr(AB) = \lim_n \Tr(P_nAB) = \lim_n \Tr (P_nAP_n \cdot P_nBP_n). \]
(We moved the extra \(P_n\)’s into the middle because they commute with \(A\), and round to the far end using the trace property.) Now consider \(P_nAP_n\) and \(P_nBP_n\) as operators on the Hilbert space \(H_n\) which is the range of \(P_n\). Their composite equals \(P_nABP_n\) so is of trace class. But \(P_nAP_n\) is invertible on \(H_n\) by construction. Thus \(P_nBP_n\) is trace class on \(H_n\). Consequently
\[ \Tr (P_nAP_n \cdot P_nBP_n) = \Tr (P_nBP_n \cdot P_nAP_n) \]
by the easy case of the result. Unwinding the limits as before completes the proof for self-adjoint \(A\).
Now for the general case, we use polar decomposition to write \(A = VP\) with \(P\) positive and \(V\) a partial isometry. Then \(PB=V^*AB\) is of trace class. Consequently
\[ \Tr(AB) = \Tr(VPB) = \Tr(PBV) = \Tr(BVP) = \Tr(BA) \]
where the first step (commuting V) uses the “easy case” and the second step (commuting P) uses the self-adjoint case proved above.
I was pointed to this argument by Math Overflow.