Welcome to QuOp_MPI’s documentation!
QuOp_MPI is a Python framework for parallel simulation of quantum variational algorithms using MPI.
Quick Start
Here’s a minimal example using QAOA to solve a MaxCut problem:
from mpi4py import MPI
import numpy as np
import networkx as nx
from quop_mpi.algorithm.combinatorial import qaoa
from quop_mpi.toolkit import I, Z
# Create a graph
G = nx.complete_graph(4)
# Define the MaxCut cost function
n_qubits = G.number_of_nodes()
def maxcut_qualities(system_size, local_i, local_i_offset):
C = sum(0.5 * (I(n_qubits) - Z(i, n_qubits) @ Z(j, n_qubits))
for i, j in G.edges())
return -C.diagonal()[local_i_offset:local_i_offset + local_i].real
# Set up and run QAOA
alg = qaoa(system_size=2**n_qubits, MPI_COMM=MPI.COMM_WORLD)
alg.set_qualities(maxcut_qualities)
alg.execute()
alg.print_result()
Run with MPI:
mpiexec -n 4 python maxcut_example.py
For more examples, see the Examples page.
Getting Started
User Guide
API Reference
Development