# free open source quantum computer solutions

### James

Guys, does anyone know the answer?

get free open source quantum computer solutions from EN Bilgi.

## List of Open Quantum Projects

Mirror of the curated list of open source developed quantum software projects hosted on [QOSF's GitHub page](https://github.com/qosf/os_quantum_software).

## List of Open Quantum Projects

Mirror of the curated list of open source developed quantum software projects hosted on QOSF’s GitHub page.

Sign up for the newsletter Join our Slack Donate to QOSF

#

Quantum full-stack libraries

# Braket

Amazon’s fully managed quantum computing service for building quantum algorithms.

# Cirq

Framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.

# Forest

Rigetti’s software library for writing, simulating, compiling and executing quantum programs.

# Ocean

D-Wave System’s suite of tools for solving hard problems with quantum computers.

# OpenQL

Compiler framework with algorithm libraries, optimizer, scheduler, QEC, mapping, micro-code generator.

# ProjectQ

Hardware-agnostic framework with compiler and simulator with emulation capabilities.

# Q#

Microsoft’s quantum programming language with Visual Studio integration.

# Qiskit

Framework for noisy quantum computers at the level of pulses, circuits, and algorithms (supported by IBM).

# Silq

Silq is a high-level quantum programming language with safe uncomputation and intuitive semantics.

# Strawberry Fields

Xanadu’s software library for photonic quantum computing.

# Tequila

An Extensible Quantum Information and Learning Architecture developed by Alan Aspuru-Guzik’s group (UofT).

# XACC

Extreme-scale programming model for quantum acceleration within high-performance computing.

# staq

Full stack quantum processing toolkit.

# Quantum simulators # BLACK-STONE

Specification and implementation of quantum common lisp, for gate-model quantum computers.

# Cliffords.jl

Efficient calculation of Clifford circuits in Julia.

#

Intel Quantum Simulator

Distributed qubit register quantum simulator using OpenMP and MPI.

# JKQ-DDSIM

Error-free quantum simulator using decision diagrams as underlying data structure. (arXiv / IEEE)

# Liqui|>

Toolsuite for quantum simulation developed by Microsoft QuArC.

# PIQS

Efficient simulation of open quantum dynamics of identical qubits.

# QCGPU

High-performance GPU-accelerated quantum computer simulation outlined in this arXiv paper.

# QCL

High level, hardware-agnostic programming language for quantum computers (syntax like C or Pascal).

# QCircuits

User-friendly quantum circuit simulator designed for students and newcomers to quantum computing.

# QOCS

Quantum OCaml Circuit Simulator is a functional approach to simulating quantum gates.

# QSimulator.jl

Unitary and Lindbladian evolution in Julia.

# QTop

Simulation and visualization of topological quantum computers.

# QVM

Rigetti’s high-performance quantum virtual machine.

# QWIRE

A quantum circuit language and formal verification tool described in this paper.

# Qibo

Framework for quantum simulation with hardware acceleration, including multi-GPU support.

# Qiskit Aer

High performance simulator for quantum circuits that includes noise models (supported by IBM).

# Qlmp

Interpreter for the functional quantum programming language Qumin.

# Qrack

Comprehensive qubit and gate implementation for developing universal virtual quantum processors.

# QuEST

Quantum Exact Simulation Toolkit is a high performance multicore simulator of universal quantum circuits.

# QuNetSim

A quantum network simulation framework.

# QuPy

Quantum circuit simulator for both CPU and GPU.

# QuSim

Ideal noise-free multi-qubit simulator written in 150 lines of code.

# QuSpin

Exact diagonalization and dynamics of arbitrary boson, fermion and spin many-body systems.

# QuTiP

User-friendly and efficient numerical simulations of a wide variety of open quantum systems.

# QuaC

Parallel time-dependent open quantum systems solver.

#

Quantum Circuit Simulator

Smoothly runs 20+ qubit simulations in browser or on node.js server.

#

Quantum JavaScript (Q.js)

Drag-and-drop circuit editor, simulator, documented API, text-as-circuit DSL, concept primers.

#

Quantum Virtual Machine

Reference implementation of Rigetti’s Quantum Virtual Machine.

# Quantum++

High-performance general purpose quantum simulator (can simulate d-dimensional qudits).

# QuantumInfo.jl

Julia library for quantum information related calculations.

## Try quantum computing with this open source software development kit

Explore how the principles behind open source--collaboration, transparency, and rapid prototyping--are proven catalysts for innovation.

## Try quantum computing with this open source software development kit

Qiskit is an open source software development kit for accessing quantum simulators and hardware for free.

Up

61 readers like this

Image by: opensource.com

Classical computing is based on bits. Zeros and ones. This isn't because there's some inherent advantage to a binary logic system over logic systems with more states—or even over analog computers. But on-off switches are easy to make and, with modern semiconductor technology, we can make them very small and very cheap.

But they're not without limits. Some problems just can't be efficiently solved by a classical computer. These tend to be problems where the cost, in time or memory, increases exponentially with the scale (n) of the problem. We say such problems are O(2n) in Big O notation.

Much of modern cryptography even depends on this characteristic. Multiplying two, even large, prime numbers together is fairly cheap computationally (O(n2)). But reversing the operation takes exponential time. Use large enough numbers, and decryption that depends on such a factoring attack is infeasible.

## Enter quantum

A detailed primer on the mathematical and quantum mechanical underpinnings of quantum computing is beyond the scope of this article. However, here are some basics.

More Great Content

Free online course: RHEL technical overview

Learn Advanced Linux Commands

Download Cheat Sheets

Find an Open Source Alternative

Read Top Linux Content

Check out open source resources

A quantum computer replaces bits with qubits—controllable units of computing that display quantum properties. Qubits are typically made out of either an engineered superconducting component or a naturally occurring quantum object such as an electron. Qubits can be placed into a "superposition" state that is a complex combination of the 0 and 1 states. You sometimes hear that qubits are both 0 and 1, but that's not really accurate. What is true is that, when a measurement is made, the qubit state will collapse into a 0 or 1. Mathematically, the (unmeasured) quantum state of the qubit is a point on a geometric representation called the Bloch sphere.

While superposition is a novel property for anyone used to classical computing, one qubit by itself isn't very interesting. The next unique quantum computational property is "interference." Real quantum computers are essentially statistical in nature. Quantum algorithms encode an interference pattern that increases the probability of measuring a state encoding the solution.

While novel, superposition and interference do have some analogs in the physical world. The quantum mechanical property "entanglement" doesn't, and it's the real key to exponential quantum speedups. With entanglement, measurements on one particle can affect the outcome of subsequent measurements on any entangled particles—even ones not physically connected.

## What can quantum do?

Today's quantum computers are quite small in terms of the number of qubits they contain—tens to hundreds. Thus, while algorithms are actively being developed, the hardware needed to run them faster than their classical equivalents doesn't exist.

But there's considerable interest in quantum computing in many fields. For example, quantum computers may offer a good way to simulate natural quantum systems, like molecules, whose complexity rapidly exceeds the ability of classical computers to model them accurately. Quantum computing is also tied mathematically to linear algebra, which underpins machine learning and many other modern optimization problems. Therefore, it's reasonable to think quantum computing could be a good fit there as well.

One commonly cited example of an existing quantum algorithm likely to outperform classical algorithms is Shor's algorithm, which can do the factoring mentioned earlier. Invented by MIT mathematician Peter Shor in 1994, quantum computers can't yet run the algorithm on larger than trivially sized problems. But it's been demonstrated to work in polynomial O(n3) time rather than the exponential time required by classical algorithms.

## Getting started with Qiskit

At this point, you may be thinking: "But I don't have a quantum computer, and I really like to get hands-on. Is there any hope?"

Enter an open source (Apache 2.0 licensed) project called Qiskit. It's a software development kit (SDK) for accessing both the quantum computing simulators and the actual quantum hardware (for free) in the IBM Quantum Experience. You just need to sign up for an API key.

Certainly, a deep dive into Qiskit, to say nothing of the related linear algebra, is far beyond what I can get into here. If you seek such a dive, there are many free resources online, including a complete textbook. However, dipping a toe in the water is straightforward, requiring only some surface-level knowledge of Python and Jupyter Notebooks.

To give you a taste, let's do a "Hello, World!" program entirely within the Qiskit textbook.

Begin by installing some tools and widgets specific to the textbook:

pip install git+https://github.com/qiskit-community/qiskit-textbook.git#subdirectory=qiskit-textbook-src

## Open source software in quantum computing

Open source software is becoming crucial in the design and testing of quantum algorithms. Many of the tools are backed by major commercial vendors with the goal to make it easier to develop quantum software: this mirrors how well-funded open machine learning frameworks enabled the development of complex models and their execution on equally complex hardware. We review a wide range of open source software for quantum computing, covering all stages of the quantum toolchain from quantum hardware interfaces through quantum compilers to implementations of quantum algorithms, as well as all quantum computing paradigms, including quantum annealing, and discrete and continuous-variable gate-model quantum computing. The evaluation of each project covers characteristics such as documentation, licence, the choice of programming language, compliance with norms of software engineering, and the culture of the project. We find that while the diversity of projects is mesmerizing, only a few attract external developers and even many commercially backed frameworks have shortcomings in software engineering. Based on these observations, we highlight the best practices that could foster a more active community around quantum computing software that welcomes newcomers to the field, but also ensures high-quality, well-documented code.

236 Save 36 Citation 25,146 View 170 Share OPEN ACCESS COLLECTION REVIEW

## Open source software in quantum computing

Mark Fingerhuth , Tomáš Babej, Peter Wittek

Published: December 20, 2018

https://doi.org/10.1371/journal.pone.0208561

Article Authors Metrics Comments Media Coverage Abstract Introduction

Software projects in quantum computing

Projects considered Evaluation Discussion Conclusions

Supporting information

Acknowledgments References Reader Comments Figures

## Abstract

Open source software is becoming crucial in the design and testing of quantum algorithms. Many of the tools are backed by major commercial vendors with the goal to make it easier to develop quantum software: this mirrors how well-funded open machine learning frameworks enabled the development of complex models and their execution on equally complex hardware. We review a wide range of open source software for quantum computing, covering all stages of the quantum toolchain from quantum hardware interfaces through quantum compilers to implementations of quantum algorithms, as well as all quantum computing paradigms, including quantum annealing, and discrete and continuous-variable gate-model quantum computing. The evaluation of each project covers characteristics such as documentation, licence, the choice of programming language, compliance with norms of software engineering, and the culture of the project. We find that while the diversity of projects is mesmerizing, only a few attract external developers and even many commercially backed frameworks have shortcomings in software engineering. Based on these observations, we highlight the best practices that could foster a more active community around quantum computing software that welcomes newcomers to the field, but also ensures high-quality, well-documented code.

## Figures

**Citation:**Fingerhuth M, Babej T, Wittek P (2018) Open source software in quantum computing. PLoS ONE 13(12): e0208561. https://doi.org/10.1371/journal.pone.0208561

**Editor:**Leonie Anna Mueck, PLOS, UNITED KINGDOM

**Published:**December 20, 2018

**Copyright:**© 2018 Fingerhuth et al. This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.

**Data Availability:**This paper is accompanied by a live website (qosf.org). The code for this website may be located in the following repository: (https://github.com/qosf/qosf.org). Additionally, the code used in the paper may be located here: (https://gitlab.com/qosf/quantum-bench).

**Funding:**This research was supported by Perimeter Institute for Theoretical Physics. Research at Perimeter Institute is supported by the Government of Canada through Industry Canada and by the Province of Ontario through the Ministry of Economic Development and Innovation.

**Competing interests:**Mark Fingerhuth and Tomáš Babej are CEO and CTO of ProteinQure Inc. This does not change our adherence to PLOS ONE’s data and source code sharing policy.

## Introduction

Source code has been developed and shared among enthusiasts since the early 1950s. It took a more formal shape with the rise of proprietary software that intentionally hid the code. To counter this development, Richard Stallman announced the GNU Project in 1983, and started the Free Software Foundation. Among other objectives, the aim of the project has been to allow users to study and modify the source code of the software they use. This in turn formalized the concept of collaborative development of software products. The term “free” as in freedom of speech has had philosophical and political connotations, but the model of massively distributed code development was interesting on its own right. Collaborative communities around open source projects started emerging in the 1980s, with the notable examples of the GNU Compiler Collection (GCC) or the Linux kernel. Soon thereafter, the widespread access to internet enabled many developer communities to successfully thrive and coordinate their efforts.

In the late 1990s, the term “open source” was coined to reflect the development model alone, and it was soon made mainstream by comparing the difficulties of monolithic software engineering to this new model. This latter model is referred to as the “the cathedral”, with a rigid development structure that may or may not meet user expectations. This contrasts to the “the bazaar” model of open source, where the user needs drive the development, often in a haphazard fashion [1]). The majority of open source contributors were volunteers, whose motivation varied from intrinsic reasons (e.g., altruism or community identification) or extrinsic (e.g., career prospects) [2]. Many paid programmers contribute to open source projects as part of their job, which is another clear indication that open source is a software engineering paradigm as well as a business model [3].

Guys, does anyone know the answer?