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
| 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 |
To run these applications, your computer must have installed in it a recent version of the Java Virtual Machine. You may download this at sun.com
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.
Source Code (any platform): here
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.