Portland Quantum Logic Group Benchmarks
On this page you can find a collection of benchmarks for Quantum circuits (QC) synthesis originally designed within the framework of the PQLG (Portland Quantum Logic Group). This collection is open source and can be used for comparison and evaluation goals.
Bellow multiple file-tables can be found. Each represents a category of problems so as details of the found solution. Each file is a set of gates represented by unitary matrices that can be easilyread into a qunatum register and manipulated.
Table with links to simple benchmark files:
|Input Rotation Set ->||An example of input data format (old version) Complete set CS-1; New version Complete set CS-1;|
Full set of NMR Pulses for (+/-[Pi, Pi/2, Pi/3, Pi/4, Pi/5]) and Phase
values for the same value of rotations (only 2-I/O gates so as only
Full input set (new format) of synthesis based only on single qubit
rotations, and on two qubit (single controlled gates) such as CNOT, CV
and CVt here
|The set of ternary gates as well as Boolean gates embedded in the ternary logic: New version Complete set;|
|Output matrices||Fredkin: ;Toffoli: ;Margolus: ;Miller: ;FullAdder: ;rb53: ;|
|Octave Matrix File - required for calculating matrices generated by the circuitdecoder.pl||here|
Each benchmark file contains matrices for gates:
- First line in the file is the total number of gates
- First line before the matrix is the number of inputs/outputs I/O
- Second line (optional) is the cost of each gate
- 1 - I/O gate costs 1
- 2 - I/O gate costs 2
EpiG - Genetic Quantum-Logic Synthesizer
Genetic sythesizer used at Portland State University for quantum
circuit synthesis can be downloaded below. In the package basic example
files are provided. Send feedback to firstname.lastname@example.org.
Multiple versions are so far provided, however the path of
the software development is going to be to provide only a single
modular-like algorithm for all variations of constraints.
The available software categories:
- The CUDA accelerated Evolutionary synthesizer for both Quantum Logic Circuits Synthesis and for the synthesis of Quantum 1 - way Finite State Machines right now acceleration is only partial but soon a completely accelerated search will be available. Works up to 9 qubits.
February 16 2012
An update version of the EPIG software is now available here
May 13 2011
New version is here. More code cleaning, accelerating. The compilation is now self explanatory, ternary embedding is specified during install. The config script is improved and new parameters for runtime are added in the input/paramters.par. It is cleaned and tested on CUDA 3.2 and the latest GSL.
This is the 2.7 version and can be downloaded from here HERE - source code
April 7 2010
New version is here. More code cleaning, accelerating. All matrix operations can be forced to be executed on CUDA. The pure happiness!!!!.
Error messages have been added to prevent running if not enough memory is on the CUDA device
this is the 2.6 version. Get it HERE - source code
January 26 2010
The new 2.5 version is out!!. Many changes and optimizations available. Get it HERE - source code
October 26 2009
This version (v.2.4) has improved compilation and more bugs are removed. Download it HERE - source code
(Updated - edit the scripts to read the usage) A perl script allowing
to run the GA for many generations and another one that allows to
extract and shows statisctics from a given output directory
Upcomming is the publication of the latest of Portland Quantum Logic
Group software for quantum synthesis; the Exhaustive Quantum
Synthesizer. It is a highly controllable exhaustive synthesizer
allowing a easy and fast synthesis of quantum circuits, their
classification and visualization for analysis.
Reversible Logic Circuit Synthesizer based on Cube Reordering
May 13 2011
To run the synthesizer you must have installed the GSL, CUDA and the SDK - this is not yet required but this version is only a prerelease and needs to be cleaned. run sh compile_lif.sh and provide a parameter a .pla circuit file. You can grab one from revlib.org.
This is the 0.9 version and can be downloaded from here HERE - source code