Hey Guys,
This is Datascience Learning Center Premium.
Kindly download the iOS app if you prefer getting a notification on mobile instead of an Email somewhere.
Qiskit is an open-source software development kit for working with quantum computers at the level of circuits, pulses, and algorithms.
It provides tools for creating and manipulating quantum programs and running them on prototype quantum devices on IBM Quantum Experience or on simulators on a local computer.
A good place to start to explore it though Python is actually a Newsletter on Substack here. Called Hands-On Quantum Machine Learning With Python.
I remain skeptical of IBM’s approach to Quantum computing, as much of the PR they put out about it remains a bit biased and claims IBM is the world leader and so forth. However in machine learning and software languages more Quantum languages of interest are emerging.
Given the talent pool it’s expected countries like India will be able to provide some of the skilled workers eventually in this sector. IBM could help create a national quantum plan in India. In this case, learning more about Qiskit is of special interest if you happen to be in South Asia.
First let’s give a brief overview of what other “Quantum programming” languages are often cited:
Top Quantum Programming Languages
QCL
Quantum computing language is one of the first implemented quantum programming languages that resembles C language in regards to syntax and data types. It is usually used for writing programs for quantum computers. As every quantum machine has to be controlled by classical devices, the pre-existing quantum programming languages incorporate classical control structures like loops and conditional execution and allow them to operate on classical and quantum data.
QMASM
Quantum macro assembler was published in 2016. It is a kind of low-level language that is specially used for quantum annealing. The significance of QMASM relieves the programmer from having to know system-specific hardware details while still allowing programs to be expressed at a low level of abstraction.
Silq
Silq was originally published in 2020. It is a high-level programming language when compared to the QCL and AMASM. It is written in D language which has 482 stars and 10 contributions on github and is regularly updated too.
Top Functional Programming Languages for Quantum Computers
QML
QML was published in 2007, it is a Haskell-like quantum programming language that is based on strict linear logic. It has the capability to integrate reversible and irreversible quantum computations. It is a user interface specification and programming languages that allows developers and designers alike to create highly performant, fluidly animated, and visually appealing applications.
Quantum Lambda Calculus
Quantum lambda calculus is based on classical lambda calculus introduced in 1930 and was defined for calculations in 1996. It is one of the stronger programming languages than the standard quantum computational models such as the quantum Turing machine or the quantum circuit model.
QFC and QPL
Semantically QFC and QPL are equivalent. However, in QFC, quantum programs are represented using flowchart syntax, but in the QPL syntactic structure of quantum, programs are represented using textual representations.
There are a few challenges with regard to quantum programming languages. Let’s see what they are:
Difficult in formulating universal QC languages
Incompleteness and hidden variables in quantum mechanics
Quantum computers are still in their infancy level and so they are that strong to run complex quantum algorithms.
IBM and Qiskit - the brief history
As the Cloud matures so is programming in quantum computing in the hopes that some hybrid utility can be found. I believe in the 2020s it can scale into something worthwhile.
Think about it, we’ll also need cloud infrastructure, software, and all kinds of interfaces between classical and quantum systems.
IBM developed Qiskit Runtime to make it easier for people who don’t have a degree in physics to operate quantum computers.
Qisket is open-source, try it here.
If you believe Quantum computing has a bright future and enjoy programming looking more into it and doing courses online could be a good option.
What is it?
As the company put it in a recent blog post:
Qiskit Runtime lets users deploy programs instead of circuits. Containers allow them to package up code and all its dependencies so the quantum program runs quickly and reliably from one computing environment to another.
And the new primitives take that a step further by making Qiskit even more accessible to algorithm developers.
Dubbed “Sampler” and “Estimator,” the two new primitives essentially containerize many of the necessary steps in order to streamline the quantum computing stack for devs.
IBM’s Quantum Platform Lead, Blake Johnson, and Tushar Mittal, Senior Quantum Product Manager at IBM, told Neural:
Quantum computers are inherently probabilistic. One of the things that make them particularly unique is that they produce non-classical probability distributions as their outputs. Consequently, pretty much all of algorithm development requires working with these non-classical probability distributions.
The two most common things one can do with a probability distribution is to sample from it or to estimate a quantity on it, which are precisely what the Sampler and Estimator primitives do.
Weirdly IBM has added a new Pay-As-You-Go pricing model to their quantum cloud service. Previously, a user was either in the Free tier that would allow them to access the simulators and smaller machines at no charge or they were in the Premium tier and a member of the IBM Q Network to allow access to all of IBM’s available quantum processors at a hefty contract price. I’m not exactly sure what this change indicates.
India Likely to be a QC Player
As India’s youth is timed well with the advent of quantum computing, they have a unique opportunity. India could become a powerhouse in the world of quantum skills and quantum technologies, especially quantum programming. In this context, access to the technology is crucial. That's why the open-source environment approach is likely--the most-widely one used around the world is Qiskit.
There are free textbooks and intro courses by the Qiskit team.
As you know since quantum computers are capable of accelerating machine learning processes, reducing thousands of years of learning to mere seconds the intersection of machine learning and quantum computing could be bright.
Having a familiarity with Qiskit could enable better job prospects of this industry really takes off.
In 2022 there is still this huge disconnect between the quantum physicists operating the machines in the laboratories and the average computer specialists building algorithms for businesses makes it incredibly difficult for laypersons to access quantum solutions.
Qiskit Runtime and these new primitives are a potentially a monumental step in the right direction. You can build the best spaceship in the world, but if nobody can pilot it or understand its navigation systems: it’s useless. Qiskit Runtime primitives are, essentially, the pilot’s manual.
Anyways that’s the short brief on why learning Qiskit might be a valuable approach to the future of programming if you are interested in a job in machine learning at the intersection of Quantum computing one day.
If you want to support me so I can keep writing, please don’t hesitate to give me tips, a paid subscription or some donation. With a conversion rate of less than two percent, this Newsletter exists mostly by the grace of my goodwill (passion for A.I. and datascience) & my own experience of material poverty as I try to pivot into the Creator Economy.
Anyways I hope you enjoyed the topic, that’s all for today.