What is QuanSuite?

QuanSuite is a suite of Java applications, available for free. (Source code included in distribution.) Each QuanSuite application compiles a different kind of input evolution operator Uin. The applications output a quantum circuit for Uin, where Uin is specified either directly, or by giving a Hamiltonian H such that Uin=exp(iH).

Some papers that will help you understand QuanSuite are:

QuanSuite is brought to you courtesy of the Artiste company. If you want to contribute to this endeavour, please contact us at

List of Applications and Their Function

Application Logo Application Name  What does it do?
QuanFou Outputs q-circuit for Discrete Fourier Transform
QuanFruit Outputs q-circuit for NAND formula evaluator proposed by Farhi-Goldstone-Gutmann in quant-ph/0702144. So far, this is the most complicated application of QuanSuite. It uses classes from QuanGlue, QuanLin, QuanOracle, QuanShi, and  QuanTree. These may be considered building blocks for QuanFruit.
QuanGlue Outputs q-circuit for exp(iH), where H = g(|j><k| + h.c.) (I call this H, "glue" of j and k states)
QuanLin Outputs q-circuit for exp(iH), where H is incidence matrix of line (finite open string) of states
QuanOracle Outputs q-circuit for exp(iH), where H is a "banded oracle", as described in arXiv:0706.0479
QuanShi Outputs q-circuit for unitary matrix that takes |j> to |(j+k)mod N> (I call this a "state-shift")
QuanTree Outputs q-circuit for exp(iH), where H is incidence matrix of balanced binary tree


Why are some applications platform dependent? Clapack is a C library of Linear Algebra subroutines available for free at www.netlib.org. Java is wonderful for all its canned libraries, but the language lacks certain basic constructs that make it inefficient for performing heavy duty Linear Algebra. Therefore, whenever a QuanSuite application needs to perform non-trivial Linear Algebra, it calls Clapack, through a Java mechanism called JNI (Java Native Interface). Those applications (.jar files) that call Clapack require that there be in the same folder a platform dependent file (JavaNativeLibrary) called libNativeLinAlg.jnilib.

Java Source Code (For any platform. I like to use Eclipse project development environment): ArQ-Src1-6.zip (604 Kb)

ByteCode (executable):
Mac Windows Linux
QuanSuite 1.1 (7 applications) here Not Yet Not Yet

Meaning of "Not Yet":  It's simple to compile QuanSuite for this platform, but I can't do it, due to lack of the necessary hardware. I'm hoping someone will volunteer to do this compilation.

[Home Page]