We are entering a fascinating age where it is possible to experiment with programming quantum computers across a series of development platforms and simulators, with the hardware charge being led by D-Wave. Finding problems that can exploit the properties of quantum computation is a challenging but rewarding endeavour that could yield material competitive advantages for groups undertaking this work. By thinking about old problems through a new lens it is possible to create new solutions with superior results; this is the overarching goal of quantumforquants.org
The links below showcase the types of platforms that are currently available. If anyone is aware of other available platforms please post them to the site.
1QBit quantum-ready software development kit
Excerpt from 1QBit:
1QBit’s SDK allows traditional software developers to effortlessly harness quantum computation by building quantum-ready applications without having to learn new languages or become experts in quantum processor design.
New heuristics and solvers are continually integrated into the SDK. This enables applications built on top of it to benefit from the latest advances in quantum software development methods without necessitating the arduous process of application refactoring.
The high-level tools included within the SDK are abstracted from the specifics of quantum hardware. This allows applications written using the SDK to automatically evolve with advances in quantum processors and improvements in quantum algorithm implementation.
While the SDK provides access to high-level functions spanning a wide range of problems, it also allows developers to dive into quantum machine code and construct new functions from the ground up by interfacing with quantum hardware at the lowest levels.
Excerpt from D-Wave:
The D-Wave 2X system implements a quantum annealing algorithm, which solves problems by searching for the global minimum of a function. This is fundamentally different from the familiar framework of classical computing built on logical operations, but it is relevant in many high value problems such as minimizing error in a voice recognition system, controlling risk in a financial portfolio, or reducing energy loss in an electrical grid.
While there are different ways in which users can submit problems to the system, at the level of the machine instruction of the quantum processor the system solves a Quadratic Unconstrained Binary Optimization Problem (QUBO), where binary variables are mapped to qubits and correlations between variables are mapped to couplings between qubits. The system of interacting qubits is evolved quantum mechanically via the annealing algorithm to find optimal or near-optimal solutions.
Excerpt from Microsoft:
LIQUi|> is a software architecture and toolsuite for quantum computing. It is includes a programming language, optimization and scheduling algorithms, and quantum simulators. LIQUi|> can be used to translate a quantum algorithm written in the form of a high-level program into the low-level machine instructions for a quantum device. LIQUi|> is developed by the Quantum Architectures and Computation Group (QuArC) at Microsoft Research.
IBM Quantum Experience
Excerpt from IBM:
IBM believes quantum computing is the future of computing and has the potential to solve certain problems that are impossible to solve on today’s supercomputers.
The cloud-enabled quantum computing platform, called IBM Quantum Experience, will allow users to run algorithms and experiments on IBM’s quantum processor, work with the individual quantum bits (qubits), and explore tutorials and simulations around what might be possible with quantum computing.