$\newcommand\tr{\operatorname{tr}} \newcommand\ket[1]{\lvert#1\rangle} \newcommand\bra[1]{\langle#1\rvert} $[Skip to the conjecture for a self-contained mathematical formulation of the question.]

Given a POVM, there are always many possible way to implement that POVM as a nondestructive measurement. (In other words: There are different measurement processes that are described by the same POVM but that have different post-measurement states.) However, I need to know whether the following process leads to a unique post-measurement-state:

Given a POVM, due to Naimark's dilation theorem, we can always express the POVM as a projective measurement on a larger space. (Formally: if $E$ is a POVM element, then there exists a projector $P$ such that $\tr E\rho=\tr P(\ket 0\bra 0\otimes\rho)$ for all $\rho$.) However, that projection is not unique either. There is a large degree of freedom about what the projection does on the auxiliary register.

Yet, what I am asking is whether this representation of the POVM leads to a unique post-measurement state. That is, given two projectors on larger spaces that realize the same POVM, do we get the same state after applying them, if we trace out the auxiliary register.

Formulated mathematically: Is the following conjecture true?

Conjecture: Fix a Hermitean $E$ (the POVM element) operating on Hilbert space $B$, and two projectors $P_1,P_2$ on $A\otimes B$ such that $\tr P_i(\ket0\bra0\otimes\rho)=\tr E\rho$ for $i=1,2$ and any $\rho$. Then $\tr_A P_1\rho P_1=\tr_A P_2\rho P_2$. (The state after tracing out register $A$ is the same after applying $P_1$ or $P_2$.)

Note: Useful answers would be a proof or counterexample for the conjecture, or a pointer to a paper/theorem from which this follows.

Background: I need this information because in a quantum cryptographic definition (for commitment schemes) I have to model a measurement whether a certain verification algorithm (which can be represented as a POVM) succeeds. However, the measurement should only measure the minimum amount of information, i.e., whether the verification succeeds, not any other information the algorithm might measure in the process. (This is important for allowing for "quantum rewinding" like in Unruh, "Quantum Proofs of Knowledge", Eurocrypt 2012.) The natural way to model such a minimal measurement is in this context to replace the verification algorithm by a projection on a larger space. But then it becomes relevant whether the definition changes depending on which of different possible projectors we chose.

  • $\begingroup$ I feel that the answer should be "no" as per the dictum (see e.g. Nielsen Chuang) that a general POVM doesn't lead to a meaningful "post measurement state". If for every dilation, you'd have the same post measurement state, at first glance, this would be a good way to define such a state. Obviously that's not a proof, I'll have to think some more... $\endgroup$
    – Martin
    Commented Oct 17, 2014 at 20:52

1 Answer 1


The conjecture is false.

A counterexample for a single-qubit state and a single-qubit ancilla is:

$$P_1:=\left(\begin{array}{rrrr} \frac{1}{2} & 0 & 0 & \frac{1}{2} \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ \frac{1}{2} & 0 & 0 & \frac{1}{2} \end{array}\right), \qquad P_2:=\left(\begin{array}{rrrr} \frac{1}{2} & 0 & \frac{1}{2} & 0 \\ 0 & 0 & 0 & 0 \\ \frac{1}{2} & 0 & \frac{1}{2} & 0 \\ 0 & 0 & 0 & 0 \end{array}\right).$$

It is easy to verify that $P_1$ and $P_2$ are projectors (by checking $P_i=P_i^\dagger$ and $P_i=P_i^2$).

I have performed this and all further calculations in Sage, see the code below (or http://sagecell.sagemath.org/?q=dibwgc for evaluating it online).

For any $\rho\in\mathbb C^{2\times 2}$, we get

$$\operatorname{tr}\Bigl(P_1\bigl(\lvert0\rangle\langle0\rvert\otimes\rho\bigr)\Bigr) = \tfrac{1}{2} \rho_{00},\\ \operatorname{tr}\Bigl(P_2\bigl(\lvert0\rangle\langle0\rvert\otimes\rho\bigr)\Bigr) = \tfrac{1}{2} \rho_{00}.$$

Thus $P_1,P_2$ satisfy the condition that they implement the same POVM element $E$.

Let $\rho:=\left(\begin{array}{rr} 1 & 0 \\ 0 & 0 \end{array}\right)$. We compute the post-measurement states after applying $P_1$ or $P_2$ to it (with an ancilla system that is initialized with $|0\rangle$ and erased afterwards):

Post-measurement state after $P_1$ is $\operatorname{tr}_A \Bigl(P_1\bigl(\lvert0\rangle\langle0\rvert\otimes\rho\bigr)P_1\Bigr)=\left(\begin{array}{rr} \frac{1}{4} & 0 \\ 0 & \frac{1}{4} \end{array}\right)$.

Post-measurement state after $P_2$ is $\operatorname{tr}_A \Bigl(P_2\bigl(\lvert0\rangle\langle0\rvert\otimes\rho\bigr)P_2\Bigr)=\left(\begin{array}{rr} \frac{1}{2} & 0 \\ 0 & 0 \end{array}\right)$.

Thus the post-measurement state is different with $P_1$ and $P_2$.

Sage source code:

P1 = matrix(QQ,[[1,0,0,1],[0,0,0,0],[0,0,0,0],[1,0,0,1]])/2
P2 = matrix(QQ,[[1,0,1,0],[0,0,0,0],[1,0,1,0],[0,0,0,0]])/2
var('rho00 rho01 rho10 rho11')
rho_gen = matrix(SR,[[rho00,rho01],[rho10,rho11]])
ket0bra0 = matrix(QQ,[[1,0],[0,0]])
rho = ket0bra0

print html('Definitions: $P_1={}$, $P_2={}$, $\\rho_\\mathit{{generic}}={}$, $\\lvert0\\rangle\\langle0\\rvert={}$, $\\rho={}$'.format(latex(P1),latex(P2),latex(rho_gen),latex(ket0bra0),latex(rho)))

P1_is_proj = (P1==P1.conjugate_transpose()) and (P1==P1*P1)
print html("$P_1$ is a projector: {}".format(P1_is_proj))
P2_is_proj = (P2==P2.conjugate_transpose()) and (P2==P2*P2)
print html("$P_2$ is a projector: {}".format(P2_is_proj))

pr_P1 = (P1*ket0bra0.tensor_product(rho_gen)).trace()
pr_P2 = (P2*ket0bra0.tensor_product(rho_gen)).trace()
print html('$\\operatorname{{tr}}\\Bigl(P_1\\bigl(\\lvert0\\rangle\\langle0\\rvert\\otimes\\rho_\\mathit{{generic}}\\bigr)\Bigr) = {}$'.format(latex(pr_P1)))
print html('$\\operatorname{{tr}}\\Bigl(P_2\\bigl(\\lvert0\\rangle\\langle0\\rvert\\otimes\\rho_\\mathit{{generic}}\\bigr)\Bigr) = {}$'.format(latex(pr_P2)))
print html("Measurement success is independent of whether we use $P_1$ or $P_2$: {}".format(bool(pr_P1==pr_P2)))

def traceout_A(M):
    s = 0
    for i in (0,1):
        ket_i = matrix(QQ,2,1); ket_i[i,0] = 1
        id2 = matrix.identity(2)
        s += ket_i.conjugate_transpose().tensor_product(id2) * M * ket_i.tensor_product(id2)
    return s

pms1 = traceout_A(P1*ket0bra0.tensor_product(rho)*P1)
pms2 = traceout_A(P2*ket0bra0.tensor_product(rho)*P2)

print html("Post-measurement state $\\operatorname{{tr}}_A \\Bigl(P_1\\bigl(\\lvert0\\rangle\\langle0\\rvert\\otimes\\rho\\bigr)P_1\Bigr)$ is ${}$".format(latex(pms1)))
print html("Post-measurement state $\\operatorname{{tr}}_A \\Bigl(P_2\\bigl(\\lvert0\\rangle\\langle0\\rvert\\otimes\\rho\\bigr)P_2\Bigr)$ is ${}$".format(latex(pms2)))

print html("The post measurement states are different: {}".format(pms1 <> pms2))
  • $\begingroup$ By the way: Thanks to Gelo Noel Tabia for valuable discussions on this one. $\endgroup$ Commented Nov 1, 2014 at 12:50

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.