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 U_{in}. The applications output a quantum circuit for U_{in}, where U_{in} is specified either directly, or by giving a Hamiltonian H such that U_{in}=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
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.