Skip to main contentIBM Quantum Documentation
You are viewing the API reference for an old version of Qiskit SDK. Switch to latest version


diamond_norm(choi, **kwargs)

GitHub(opens in a new tab)

Return the diamond norm of the input quantum channel object.

This function computes the completely-bounded trace-norm (often referred to as the diamond-norm) of the input quantum channel object using the semidefinite-program from reference [1].


  • choi (Choi or QuantumChannel) – a quantum channel object or Choi-matrix array.
  • kwargs – optional arguments to pass to CVXPY solver.


The completely-bounded trace norm


Return type



QiskitError – if CVXPY package cannot be found.

Additional Information:

The input to this function is typically not a CPTP quantum channel, but rather the difference between two quantum channels ΔE\|\Delta\mathcal{E}\|_\diamond where ΔE=E1E2\Delta\mathcal{E} = \mathcal{E}_1 - \mathcal{E}_2.


J. Watrous. “Simpler semidefinite programs for completely bounded norms”, arXiv:1207.5726 [quant-ph] (2012).


This function requires the optional CVXPY package to be installed. Any additional kwargs will be passed to the cvxpy.solve function. See the CVXPY documentation for information on available SDP solvers.

Was this page helpful?
Report a bug or request content on GitHub.