vprusso/toqito

Feature: Common quantum overlap

vprusso opened this issue · 0 comments

The common quantum overlap is defined in terms of a set of quantum states antidistinguishability.

It is not originally defined in this work (arXiv:2401.17980), but it is reproduced as a precursory definition:

Screenshot 2024-02-03 at 11 14 30 AM

Here, $A_Q^{[n]}$ is the antidistinguishability probability which can be computed in toqito as such:

 states = [...]
 probs = [1] * len(states)
 opt_val, _ = state_exclusion(vectors=states, probs=probs, primal_dual="dual")

where states is a list of np.array objects provided as row vectors that define individual quantum states. The opt_val term in this case would be $A_Q^{[n]}$.

Therefore, we would want some function like the following:

def common_quantum_overlap(states: list[np.ndarray]) -> float:
    n = len(states)
    probs = [1] * n
    opt_val, _ = state_exclusion(vectors=states, probs=probs, primal_dual="dual")
    return n * (1 - opt_val)

We would need to write an appropriate docstring with relevant references as well as tests. In the same paper (arXiv:2401.17980) there are examples that can be used as specific test cases.