- Install make
- Download and install boost c++ library in home directory
Export BOOST_PATH variable as
wget https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/boost_1_81_0.tar.gz . tar -xvf boost_1_81_0.tar.gz
export BOOST_PATH="$HOME/boost_1_81_0"
- Install mpfr
sudo apt-get update sudo apt-get install libmpfr-dev
- Install conda (if you want virtual environment, recommended)
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh . chmod a+x Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh source ~/.basrc conda create -n <env_name> python=3.9 conda activate <env_name>
- Set Python include path to PYTHON_INCLUDE variable
- Install pip
- Install invoke
pip install invoke
- Install Pybind11
pip install pybind11
- Install gcc, g++
- Install autoconf
sudo apt-get update sudo apt-get install autoconf
- Clone the repository and run a few init commands
git clone https://github.com/trishullab/Quasimodo.git
cd Quasimodo/
git submodule update --init
- Build CUDD Library used for BDDs
cd cflobdd/cudd-complex-big/
autoupdate
autoreconf
Edit configure to add -fPIC flag to CFLAGS and CXXFlAGS and then run the following after saving the file
./configure
make
cd ../..
- Let's build Quasimodo. (Edit file tasks.py in python_pkg to include -undefined dynamic_lookup on line 25 if running on MACOS)
cd python_pkg/
invoke build-quasimodo
invoke build-pybind11
Quasimodo is installed and can be used by importing to any python program.
- We have provided 6 benchmarks that can be used as a starting guide on how to write programs using Quasimodo library.
- File quantum_circuit.h provides an abstract class that shows all the supported list of gates and queries that can be performed using Quasimodo.