Determinant of e^A e^B e^-A e^-B: Trivial for Matrices, Substantive for Operators
For square matrices both sides are always 1. The identity only says something on Hilbert spaces, where determinants and traces can no longer be split factor by factor.

The identity is short: for operators A and B whose commutator [A,B] = AB − BA is trace class, det(e^A e^B e^−A e^−B) = exp(tr[A,B]). The Wikipedia article on Fredholm determinants attributes it to Pincus, Helton and Howe. It gives no detailed reference.
A Mathematics Stack Exchange question asked two things. Where is this actually proved? Is it even true for ordinary finite matrices? The asker could not find the formula in the Pincus, Helton and Howe papers.
The answers settle the matrix case in one line. They also show that all the content of the identity sits in infinite dimensions, where the obvious proof is not available.
Why every finite matrix gives 1
For n×n matrices, the determinant is multiplicative and det(e^X) = e^(tr X). One answer uses these two facts to write the product as det e^A · det e^B · det e^−A · det e^−B. The factors cancel in pairs, so the left side is 1.
The right side is also 1, because tr(AB) = tr(BA) for square matrices. That makes tr[A,B] = 0 and exp(0) = 1. The identity holds, but both sides are identically 1 whatever A and B are.
The question also notes the special case where [A,B] is a multiple of the identity. In finite dimensions that case is degenerate. A commutator has trace zero and tr(cI) = cn, so c must be 0. Scalar commutators such as the Heisenberg relation exist only in infinite dimensions.
If you check this in code, for example with np.linalg.det(expm(A) @ expm(B) @ expm(-A) @ expm(-B)) using scipy.linalg.expm, you will get 1 up to rounding for any square inputs. A numerical test on matrices cannot tell you anything about the operator statement.
Where the identity has content
On an infinite-dimensional Hilbert space, the splitting argument breaks down. A Fredholm determinant is defined for operators of the form identity plus trace class. A general bounded A gives an e^A that is not of that form, so det e^A on its own is undefined and you cannot factor the product.
The trace of a commutator also stops being automatically zero. Take the unilateral shift S on ℓ². Then S*S = I and SS* = I − P, where P projects onto the first basis vector. So [S*,S] = P is trace class and has trace 1. Neither S nor S* is trace class, so tr(S*S) and tr(SS*) cannot be split and cancelled.
In this setting exp(tr[A,B]) can differ from 1. The identity then says something non-trivial: a group commutator of exponentials has its determinant fixed entirely by the trace of the additive commutator.
A proof by differentiation
A second answer argues through Jacobi's formula, d(det X) = tr(X^−1 dX) · det X. Define X(s) = e^(sA) e^(sB) e^(−sA) e^(−sB) and F(s) = det X(s). The inverse is X^−1 = e^(sB) e^(sA) e^(−sB) e^(−sA).
Differentiating by the product rule gives four terms. These are e^(sA) A e^(sB) e^(−sA) e^(−sB), plus e^(sA) e^(sB) B e^(−sA) e^(−sB), minus e^(sA) e^(sB) e^(−sA) A e^(−sB), minus X B. Multiply by X^−1 and use the cyclic property of the trace, and you get a linear ODE for F with F(0) = 1. Its value at s = 1 gives the identity.
Two details need care. In finite dimensions each of the four terms has trace ±tr A or ±tr B, and they cancel to zero. In infinite dimensions those individual traces do not exist. The terms must be grouped into differences that are trace class before cyclicity is used, and that grouping is where tr[A,B] appears.
The s-dependence is also off as written. The answer gives F′ = F · tr[A,B] and F(s) = exp(s tr[A,B]). Applying the identity itself to sA and sB gives tr[sA,sB] = s² tr[A,B]. So the ODE should read F′(s) = 2s · tr[A,B] · F(s), with F(s) = exp(s² tr[A,B]). At s = 1 the two versions agree, so the final result survives. Anyone reproducing the derivation should expect the s².
Reduction from Ehrhardt's generalisation
The first answer also cites a paper by T. Ehrhardt with a related statement. Let H be a Hilbert space and A, B bounded operators on H with AB − BA trace class. Then det(e^A e^B e^−(A+B)) = exp(½ tr(AB − BA)). The factor ½ matches the Baker–Campbell–Hausdorff heuristic: when [A,B] commutes with A and B, e^A e^B = e^(A+B) e^(½[A,B]).
The original identity follows in three steps:
- Insert e^(−A−B) e^(A+B) to split det(e^A e^B e^−A e^−B) into det(e^A e^B e^−(A+B)) · det(e^(A+B) e^−A e^−B).
- Cycle the second factor to det(e^−A e^−B e^(A+B)). This is the Ehrhardt form applied to −A and −B.
- Since [−A,−B] = [A,B], each factor contributes exp(½ tr[A,B]). Their product is exp(tr[A,B]).
The cycling step relies on det(XY) = det(YX). In the Fredholm setting that rule has hypotheses. Each regrouped product has to stay in determinant class, so check this before reusing the reduction elsewhere.
What to watch for
Do not use the identity as a computational tool on matrices. It always returns 1, and it says nothing about e^A e^B e^−A e^−B beyond its determinant. Its value is structural, in operator theory, where traces of commutators carry index-type information.
In infinite dimensions the trace-class hypothesis on [A,B] carries the whole argument. It is what makes the product a determinant-class operator in the first place. Without it, the left side may not be defined at all.
Every factor-by-factor shortcut is unavailable for operators. That includes splitting the determinant, cancelling tr A against tr A, and cycling products freely. A proof that uses one of them without comment is a finite-dimensional proof in disguise.
Finally, the attribution is shaky. Wikipedia names Pincus, Helton and Howe without a precise citation, and a direct search of their papers did not turn up the formula. If you need to cite it, the Ehrhardt result plus the reduction above is the more traceable route. Read Ehrhardt's paper for its exact hypotheses first.
This article draws on Determinant of $e^Ae^Be^{-A}e^{-B}$ and answers to it (1, 2), on the Stack Exchange network, licensed under CC BY-SA 4.0.
- #Fredholm determinant
- #determinant
- #linear-algebra
- #matrices
- #matrix exponential
- #trace-class operators



Comments