Skip to main content

No project description provided

Project description

Qamomile

PyPI version License

Qamomile is a powerful SDK designed for quantum optimization algorithms, specializing in the conversion of mathematical models into quantum circuits. It serves as a bridge between classical optimization problems and quantum computing solutions.

Documentation: https://jij-inc.github.io/Qamomile/

Features

  • Versatile Compatibility: Supports leading quantum circuit SDKs including Qiskit and QuriParts.
  • Advanced Algorithm Support: Implements sophisticated encoding and algorithms like QAOA and QRAO.
  • Flexible Model Conversion: Utilizes JijModeling for describing mathematical models and converting them to various quantum circuit SDKs.
  • Intermediate Representation: Capable of representing both Hamiltonians and quantum circuits as intermediate forms.
  • Standalone Functionality: Can implement quantum circuits independently, similar to other quantum circuit SDKs.

Installation

To install Qamomile, use pip:

pip install qamomile

For optional dependencies:

pip install qamomile[qiskit]  # For Qiskit integration
pip install qamomile[quri-parts]  # For QuriParts integration

Quick Start

Here's a simple example of how to use Qamomile with QAOA:

import jijmodeling as jm
import jijmodeling_transpiler as jmt
from qamomile.core.qaoa import QAOAConverter
from qamomile.qiskit.transpiler import QiskitTranspiler

# Define QUBO problem
Q = jm.Placeholder("Q", ndim=2)
n = Q.len_at(0, latex="n")
x = jm.BinaryVar("x", shape=(n,))
problem = jm.Problem("qubo")
i, j = jm.Element("i", n), jm.Element("j", n)
problem += jm.sum([i, j], Q[i, j] * x[i] * x[j])

# Prepare instance data
instance_data = {"Q": [[0.1, 0.2, -0.1], [0.2, 0.3, 0.4], [-0.1, 0.4, 0.0]]}

# Compile the problem
compiled_instance = jmt.compile_model(problem, instance_data)

# Create QAOA converter
qaoa_converter = QAOAConverter(compiled_instance)

# Create Qiskit transpiler
qiskit_transpiler = QiskitTranspiler()

# Get QAOA circuit
p = 2  # Number of QAOA layers
qaoa_circuit = qaoa_converter.get_qaoa_ansatz(p)

# Convert to Qiskit circuit
qiskit_circuit = qiskit_transpiler.transpile_circuit(qaoa_circuit)

# ... (continue with quantum execution and result processing)

Documentation

For more detailed information, please refer to our documentation.

Contributing

We welcome contributions! Please see our Contributing Guide for more details.

License

Qamomile is released under the Apache 2.0 License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qamomile-0.3.0.tar.gz (29.5 kB view details)

Uploaded Source

Built Distribution

qamomile-0.3.0-py3-none-any.whl (40.7 kB view details)

Uploaded Python 3

File details

Details for the file qamomile-0.3.0.tar.gz.

File metadata

  • Download URL: qamomile-0.3.0.tar.gz
  • Upload date:
  • Size: 29.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for qamomile-0.3.0.tar.gz
Algorithm Hash digest
SHA256 edd2153764dde4a2c412d11b01ff8f00739c612f461f0300fe16a55c5c3a3855
MD5 b466735cef55294c11b2cb2bec5ff5d4
BLAKE2b-256 339eae165000a053613b1e750554be362f264fc3500b03742f76b16c55c24a01

See more details on using hashes here.

File details

Details for the file qamomile-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: qamomile-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 40.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for qamomile-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7d2f22a6e5bbad74866fdd9135b4af31e0e0ca4743934c7958f5471a94ed7b6a
MD5 e2dff6c738291c1508a51d55a73a9fd7
BLAKE2b-256 80f4325f8f5aefe004fea6c0610e528038858b0d510a4ef25b7b7e8e07e2424e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page