# Top Frameworks To Explore Quantum Computing

**Quantum computing** is the field of computing that can leverage the power of a quantum particle. It differs from traditional computing in its most fundamental way. The classical computers have bits, while quantum computers have **qubits**. Qubits possess the characteristics of a quantum particle, hence it does play with superimposition and entanglement. Superimposition gives the qubit the ability to have two values simultaneously and hence giving a huge space to work with and quickly. And with entanglement, it leverages the ability of co-dependence of values over other qubits. Hence we can calculate the state of one qubit based on the other.

Quantum computing shows promise to solve problems of higher complexity and problems which require a huge amount of space to work within classical computing. It was developed to solve the problems which seemed impossible with traditional computing, by bringing the properties of quantum mechanics into computing.

Well, so in which domains can we use it?

Quantum computing will affect almost every field which needs higher computational requirements. It shows the potential to solve any problem which is close to the natural earth.

**Cybersecurity**. With quantum computing algorithms in place, an encryption schema can be improved so well. With its ability to do millions of computations, fast, quantum computing does show promise to advance the security infrastructure.**Healthcare.**One of the most interesting applications of Quantum algorithms is in choosing the right treatment path for the patient. Quantum computers can be used to run all possible scenarios to help select the best one for the patient.**Drug research**. With quantum computing, we can have a better and faster way to build molecular structures and test out chemical compositions on simulation. That leads to faster and more efficient drug research.**Artificial Intelligence**. Well, it is a fact that Quantum Computing can boost AI’s potential more than it is now. By more space and time at the disposal, we may be able to efficiently train huge models.**Traffic Optimization**. As discussed, quantum computing can be used for real-world problems easily because the world works on quantum laws. And hence a similar problem like analysis and optimizing traffic can be easily achieved with functional quantum computers.

These are awesome, tell me how can I get started with Quantum Computing, quickly?

There are some great frameworks made by some awesome organizations.

**Strawberry Fields**

Let’s start with something fun and a very interesting library. Yes, that is the name of a full-stack Python library made for designing, optimizing, and utilizing photonic quantum computers. It was made by **Xanadu**, a company based in Toronto, Canada.

With Strawberry Fields, you can easily implement its high-level functions available, to develop some amazing practical solutions. Moreover, the library also includes the quantum simulators which were built on NumPy and Tensorflow.

So where can you use the library?

Well, ideally it can be used anywhere you want. But Strawberry Fields is specifically useful in developing solutions that are based on graphs or networks. It also provides specific functions for Machine Learning solutions. The library provides ample tools for problem-solving in the field of Chemistry.

Interested to build something with this fully loaded library? If you already are familiar with Python, head down over **here** to get started with this library.

Xanadu has also developed another library for quantum machine learning, called **PennyLane**. You can explore more about it in the link below.

# Cirq

Let us now take a tech giant’s efforts into the Quantum development. **Cirq**.

Cirq was developed by **Google’s Quantum AI team**. It is used for developing and optimizing quantum circuits, which then can be run against the quantum computers and simulators.

One great thing about Cirq is that it gives the developmental simulators, as it is in real life. What we mean by this is that the library works its way to expose the details about the hardware around** NISQ **(Noisy Intermediate-Scale Quantum), so that we can be sure after developing, that the algorithm or the circuit can be run on a physical quantum computer.

So, Cirq can be used to develop adaptable and deployable quantum circuits. Cirq also provides functions for interoperability. For example, a function for import/export of the quantum circuits and simulations.

You can develop circuits for textbook algorithms like **Variational algorithms or ****QAOA**. But you can also get started by working on simpler and fun applications like the **Quantum walk**.

Get started quickly **here**.

# Tensorflow Quantum

We did talk about how quantum computing can be used for Artificial Intelligence. It is now time to introduce a library dedicated to AI with quantum computing.

Tensorflow Quantum (TFQ) is a framework developed for quantum machine learning. It provides an amazing way to leverage Google’s quantum computing frameworks inside Tensorflow itself!

With **TFQ**, you can develop applications based on quantum data as well as hybrid quantum-classical models. The framework also provides functionality to interleave the models and logic developed in **Cirq** with Tensorflow.

You can use the TFQ framework for running the classical models as well as hybrid models like **Quantum CNN (QCNN)**. Hence TFQ can be used to solve any problem which previously felt difficult with the classical models. Start with TFQ to develop quantum or quantum-classical hybrid models to solve some real-life problems.

If you are familiar with the basics of quantum computing and Tensorflow then you can easily get started with TFQ by starting with the official guide provided **here**.

# Quantum Development Kit & Q#

Unlike others, Microsoft went one step forward, by not introducing just a framework but a whole new language named **Q#**.

Q# is the first of its kind. A high-level programming language focused on quantum computing. Q# however does provide interoperability with Python. So you can develop applications with the comfort of your home language, while Q# takes care of the quantum part.

Q# as being a programming language provides easy functionality to simulate quantum solutions requiring up to 30 qubits, locally! It totally takes away the dependence of cloud services to run your quantum simulations.

With its amazing community of Q# developers, it also provides open-source libraries to faster develop your quantum applications.

With Q# you can develop anything around quantum computing. Moreover, Microsoft also provides Azure services for quantum computing, named **Azure quantum**. It provides the functionality of operating the quantum circuits on actual quantum hardware.

Head down to the official getting started guide **here**, to start developing with Q#.

More resources:

# QisKit

If we are talking about next-generation technology, we know that IBM must have something for it. Indeed, it does. **QisKit**, an open-source quantum software development framework.

The thing unique about **IBM** is that they know how to take an audience of all ages. With the quantum framework, they bring fun experiments in quantum computing which even kids can try out. They also have **IBM Quantum Experience**** **which can be used to learn more by viewing. You can modify and develop pipelines and circuits without knowing much about how to code the quantum circuits.

IBM also has its own YouTube channel to teach about Quantum computing using QisKit. With QisKit you can build your quantum circuits, and easily execute them on both the systems as well as simulators. One add-on is the visualizing functionality. You can easily view the results and analyze your experiments.

To get started with QisKit, you may start using any of the sources, the official YouTube channel, the IBM quantum experience, or even the official documentation.

We will be exploring all these frameworks in the coming days to build some interesting applications, compare them, and gain more insights.

**References:**

- Quantumlib. (2020, May 28). quantumlib/Cirq. Retrieved from https://github.com/quantumlib/cirq
- Strawberry Fields Documentation¶. (n.d.). Retrieved from https://strawberryfields.readthedocs.io/en/stable/#
- Welcome to Quantum. (n.d.). Retrieved from https://qiskit.org/
- TensorFlow Quantum. (n.d.). Retrieved from https://www.tensorflow.org/quantum/overview
- Cjgronlund. (n.d.). Microsoft Quantum Documentation and Q# API Reference — Microsoft Quantum. Retrieved from https://docs.microsoft.com/en-us/quantum/

*Editorial note-*

*This article was conceptualized by **Aditya Vivek Thota** and written by **Dishant Parikh** of **The Research Nest.*

*Stay tuned for more such insightful content with a prime focus on artificial intelligence!*