Skip to content

Latest commit

 

History

History
35 lines (22 loc) · 3.95 KB

README.md

File metadata and controls

35 lines (22 loc) · 3.95 KB

Marco Túlio Quintino, Qingxiuxiong Dong, Atsushi Shimbo, Akihito Soeda, and Mio Murao

This repository provides the codes used to obtain Table I and Table II in the article Reversing unknown quantum transformations: A universal protocol for inverting general unitary operations, Phys. Rev. Lett. 123, 210502 (2019), arXiv:1810.06944

Marco Túlio Quintino, Qingxiuxiong Dong, Atsushi Shimbo, Akihito Soeda, and Mio Murao

All codes are written in MATLAB and require:

  • CVX - a Matlab-based convex modeling framework

We have also used functions of QETLAB (QETLAB - A MATLAB Toolbox for Quantum Entanglement), but all used functions can be found in the subfolder QETLAB_used_functions.

It has been tested on Matlab R2018A, and CVX 2.1

The main scripts of this repository are:

  • run_unitary_inverse: Obtain the maximal success probability for parallel, sequential, and general (potentially with indefinite causal order) protocols to transform 'k' uses of a 'd'-dimensional unitary into its inverse.
  • run_unitary_transpose: Obtain the maximal success probability for parallel, sequential, and general (potentially with indefinite causal order) protocols to transform 'k' uses of a 'd'-dimensional unitary into its transpose.

The scripts run_unitary_inverse and run_unitary_transpose make use of the following subfunctions:

  • find_dimension: Determine the dimension of the linear space spanned by 'k' copies of 'd' dimension unitary channels

  • is_general_protocol: Determine if a supermap represents a general superchannel

  • is_sequential_protocol.m: Determine if a supermap represents a sequential superchannel

  • is_superchannel1use.m: Determine if a supermap represents a superchannel with a single use of the input-operation

  • maxp_general.m: Find the maximal success probability of transforming k uses of a list of unitary operations into another list of unitaries in a general protocol

  • maxp_parallel.m: Find the maximal success probability of transforming k uses of a list of unitary operations into another list of unitaries in a parallel protocol

  • maxp_sequential.m: Find the maximal success probability of transforming k uses of a list of unitary operations into another list of unitaries in a sequential protocol

  • unitary_linear_independent.m: Find the number of linearly independent unitary channels contained in a list of unitaries