Martin Lukac Website (Undergoing Repairs)


Main topics:___PQLG ___QLS ___RLS ___CRL ___CRIDE


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

closest neighbor gates) here; New version here;

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 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

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

    Excutioner and Analyzer

    run GA programm


  • 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

    The synthesizer algorithm works on very simple principles and is efficient when dealing with functions that have many don't cares - incompletely defined functions. For details about the algorithm check the Reed-Muller 2011 paper on the publication page.

    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 and provide a parameter a .pla circuit file. You can grab one from

    This is the 0.9 version and can be downloaded from here HERE - source code


    CRL Scripts templates and examples:

    Large Test

    Smaller test

    Running and Benchmarking example

    Robot Constructor example


    Warning: file(downloads/CRIDE.ct) [function.file]: failed to open stream: No such file or directory in /data/home/nabhoth/public_html/index.php on line 65