The diamond norm between two completely positive trace-preserving (CPTP) superoperators
Project description
QuantumFlow Diamond Norm
Gavin E. Crooks (2020)
Calculation of the diamond norm between two completely positive trace-preserving (CPTP) superoperators, using the QuantumFlow package
The calculation uses the simplified semidefinite program of Watrous arXiv:0901.4709 [J. Watrous, Theory of Computing 5, 11, pp. 217-238 (2009)]
Kudos: Based on MatLab code written by Marcus P. da Silva
Installation
Note: Diamond norm requires that the "cvxpy" package (and dependencies) be fully installed. Installing cvxpy via pip does not correctly install all the necessary packages.
$ conda install -c conda-forge cvxpy
$ git clone https://github.com/gecrooks/qf_diamond_norm.git
$ cd qf_diamond_norm
$ pip install -e .
Example
> import quantumflow as qf
> from qf_diamond_norm import diamond_norm
> chan0 = qf.random_channel([0, 1, 2]) # 3-qubit channel
> chan1 = qf.random_channel([0, 1, 2])
> dn = diamond_norm(chan0, chan1)
> print(dn)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
qf_diamond_norm-1.1.1.tar.gz
(14.7 kB
view hashes)
Built Distribution
Close
Hashes for qf_diamond_norm-1.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 026387ccb407d9b36ae52c4261349095a2a7795c68d3d04391b5a4c26952a463 |
|
MD5 | 1e075c8d04ca5f25ce18d6e0415d608c |
|
BLAKE2b-256 | e2a34a00f308991d04812f16c9b4d280626bbea2031d4d283717bacfd83998c5 |