liveBook · Manning

Nonorthogonal state

As explained in Quantum Programming in Depth

A nonorthogonal state is a quantum state having a nonzero inner product with another state, so the two states cannot be perfectly distinguished by measurement.

A nonorthogonal state has a nonzero inner product with another quantum state. Measurement cannot distinguish the two states perfectly, so state identification must account for unavoidable uncertainty. section 4.2 section 4.4

Nonorthogonal states change the design of a quantum measurement:

  • Replace perfect identification with minimum-error discrimination when the possible states occur with known probabilities. section 4.4
  • Choose a measurement basis that maximizes the probability of identifying the input correctly across repeated trials. section 4.4 section 4.9
  • Use multiple copies for quantum state tomography when estimating amplitudes and relative signs requires more information than one measurement provides. section 4.5.1 section 4.9

Distinguishing |0⟩ from α|0⟩ + β|1⟩

For real positive α and β, rotate the input by −2(θ − π/4), where θ = atan2(β, α)/2, then measure. Repeated trials estimate whether the input was |0⟩ or the superposition while minimizing error. section 4.4 section 4.4.2

Listing 4.9 Qiskit code to distinguish nonorthogonal states
from math import atan2, pi
from qiskit import QuantumCircuit

def distinguish_zero_and_sup(alpha, beta):
  circ = QuantumCircuit(1, 1)
  theta = atan2(beta, alpha) / 2
  circ.ry(- 2 * (theta - pi / 4), 0)
  circ.measure(0, 0)
  return circ

Inspect the Qiskit circuit that computes the distinguishing rotation, measures the qubit, and supports statistical testing across trials. section 4.4.2

Listing 4.10 Q# code to distinguish nonorthogonal states
import Std.Math.*;

operation DistinguishZeroAndSup(
  q : Qubit, alpha : Double, beta : Double
) : Int {
  let theta = ArcTan2(beta, alpha) / 2.;
  Ry(- 2. * (theta - PI() / 4.), q);
  return MResetZ(q) == Zero ? 0 | 1;
}

Compare the equivalent Q# operation, which applies the rotation and returns a classical state-identification result after measurement. section 4.4.3

How Quantum Programming in Depth covers it

How deep it goes
Derives a minimum-error measurement for two single-qubit states and implements it, while deferring unequal priors and unambiguous discrimination.
Examples
Uses |0⟩ versus α|0⟩ + β|1⟩, with Qiskit and Q# circuits tested through repeated measurement trials.
What it assumes
Assumes quantum-state and measurement basics while refreshing orthogonal-state discrimination and introducing nonorthogonal-state uncertainty.
What you can do after
Apply it via Qiskit or Q# to build a minimum-error measurement and evaluate its success probability experimentally.
How it connects
Connects quantum state discrimination with measurement, orthogonal states, superposition states, and quantum state tomography.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Quantum Programming in Depth. The section links point to the parts of the book it draws on.