All Projects → OpenJij → OpenJij

OpenJij / OpenJij

Licence: Apache-2.0 License
OpenJij : Framework for the Ising model and QUBO.

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
Cuda
1817 projects
CMake
9771 projects

Projects that are alternatives of or similar to OpenJij

Optaplanner
AI constraint solver in Java to optimize the vehicle routing problem, employee rostering, task assignment, maintenance scheduling, conference scheduling and other planning problems.
Stars: ✭ 2,454 (+4205.26%)
Mutual labels:  optimization, simulated-annealing
sqaod
Solvers/annealers for simulated quantum annealing on CPU and CUDA(NVIDIA GPU).
Stars: ✭ 66 (+15.79%)
Mutual labels:  quantum-computing, quantum-annealing
Quantum Neural Networks
This repository contains the source code used to produce the results presented in the paper "Continuous-variable quantum neural networks". Due to subsequent interface upgrades, these scripts will work only with Strawberry Fields version <= 0.10.0.
Stars: ✭ 207 (+263.16%)
Mutual labels:  optimization, quantum-computing
miniqubit
Quantum emulator of the IBM Quantum experience
Stars: ✭ 24 (-57.89%)
Mutual labels:  quantum-mechanics, quantum-computing
Quantum-Computing-Collection-Of-Resources
A Well Maintained Repository On Quantum Computing Resources [Code+Theory] Updated Regularly During My Time At IBM, Qubit x Qubit And The Coding School's Introduction To Quantum Computing Course '21
Stars: ✭ 183 (+221.05%)
Mutual labels:  quantum-mechanics, quantum-computing
Qmlt
The Quantum Machine Learning Toolbox (QMLT) is a Strawberry Fields application that simplifies the optimization of variational quantum circuits (also known as parametrized quantum circuits).
Stars: ✭ 106 (+85.96%)
Mutual labels:  optimization, quantum-computing
Spirit
Atomistic Spin Simulation Framework
Stars: ✭ 67 (+17.54%)
Mutual labels:  cmake, optimization
Ifopt
An Eigen-based, light-weight C++ Interface to Nonlinear Programming Solvers (Ipopt, Snopt)
Stars: ✭ 372 (+552.63%)
Mutual labels:  cmake, optimization
VariationalNeuralAnnealing
A variational implementation of classical and quantum annealing using recurrent neural networks for the purpose of solving optimization problems.
Stars: ✭ 21 (-63.16%)
Mutual labels:  simulated-annealing, quantum-annealing
forest-benchmarking
A library for quantum characterization, verification, validation (QCVV), and benchmarking using pyQuil.
Stars: ✭ 41 (-28.07%)
Mutual labels:  benchmarking, quantum-computing
Quantum Learning
This repository contains the source code used to produce the results presented in the paper "Machine learning method for state preparation and gate synthesis on photonic quantum computers".
Stars: ✭ 89 (+56.14%)
Mutual labels:  optimization, quantum-computing
krotov
Python implementation of Krotov's method for quantum optimal control
Stars: ✭ 46 (-19.3%)
Mutual labels:  quantum-mechanics, quantum-computing
Pennylane
PennyLane is a cross-platform Python library for differentiable programming of quantum computers. Train a quantum computer the same way as a neural network.
Stars: ✭ 800 (+1303.51%)
Mutual labels:  optimization, quantum-computing
Scikit Opt
Genetic Algorithm, Particle Swarm Optimization, Simulated Annealing, Ant Colony Optimization Algorithm,Immune Algorithm, Artificial Fish Swarm Algorithm, Differential Evolution and TSP(Traveling salesman)
Stars: ✭ 2,791 (+4796.49%)
Mutual labels:  optimization, simulated-annealing
Qu.js
Quantum Computing for Humans!
Stars: ✭ 15 (-73.68%)
Mutual labels:  quantum-mechanics, quantum-computing
FastExpm.jl
Implementation of a fast exponential matrix for large matrices (full and sparse)
Stars: ✭ 22 (-61.4%)
Mutual labels:  quantum-mechanics, quantum-computing
qibo
A framework for quantum computing with hardware acceleration.
Stars: ✭ 120 (+110.53%)
Mutual labels:  quantum-computing, quantum-annealing
pytorch
Improved LBFGS optimizer in PyTorch.
Stars: ✭ 16 (-71.93%)
Mutual labels:  optimization
GNN-FakeNews
A collection of GNN-based fake news detection models.
Stars: ✭ 127 (+122.81%)
Mutual labels:  benchmarking
yarrow
[yarrow] JVMCI based optimizing compiler for HotSpot VM
Stars: ✭ 21 (-63.16%)
Mutual labels:  optimization

OpenJij : Framework for the Ising model and QUBO.

build-test

  • python >= 3.7
  • (optional) gcc >= 7.0.0
  • (optional) cmake >= 3.17
  • (optional) Ninja

install

install via pip

Note: To use GPGPU algorithms, please follow the section install via pip from source codes below. GPGPU algorithms are automatically enabled once CMake finds CUDA frameworks during installation.

$ pip install openjij

install via pip from source codes

To install OpenJij from source codes, please install CMake first then install OpenJij.

cmake setup

If you want to use setup.py instead of PIP, You will need to install CMake>=3.17.
We are Highly recommended install CMake via PYPI.

$ pip install -U cmake
  • macOS
$ brew install cmake
  • Linux
# if you installed old version by apt-get
$ apt-get purge cmake

# install cmake 
$ wget https://cmake.org/files/v3.17/cmake-3.17.5.tar.gz
$ tar xvf cmake-3.17.5.tar.gz
$ cd cmake-3.17.5
$ ./bootstrap && make && sudo make install 
  • Windows

Please install cmake from here.

Make sure the enviroment path for CMake is set correctly.

install OpenJij

$ pip install openjij --no-binary :all:

install from github repository

$ git clone [email protected]:OpenJij/OpenJij.git
$ cd openjij
$ python -m pip install .

Test

Test only Python code

$ python setup.py test

Test Python and C++ code

$ export USE_TEST=1
$ python setup.py test

How to use

Python example

import openjij as oj
sampler = oj.SASampler()
response = sampler.sample_ising(h={0: -1}, J={(0,1): -1})
response.states
# [[1,1]]

# with indices
response = sampler.sample_ising(h={'a': -1}, J={('a','b'): 1})
[{index: s for index, s in zip(response.indices, state)} for state in response.states]
# [{'b': -1, 'a': 1}]

C++ example

$ source ./build_gcc.sh
$ cd ./project_template
$ make
$ ./tutorial
The result spins are [1 1 1 1 1 ]

Community

About us

This product is maintained by Jij Inc.

Please visit our website for more information! https://j-ij.com/

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].