Getting started with Quantum Computing using PennyLane and Xanadu Codebook
I'm a boy who's fascinated by both computer technology and the physics that underpins it. Quantum Computing hit me first when I was about to be admitted to my college. It appeared to be pretty intriguing as to how it may affect the world we live in and propel humanity forward. However, I had no idea how to get into this field or where to look for the right tools I needed to study Quantum Computing as a fresher. In this article, I'm not going to explain what quantum computing is or what it can do. Instead, I'll show you how to get started on this topic by using Xanadu's Codebook for Quantum Computing and the Python module it provides for the same.
Know the author: This is Ashmit JaiSarita Gupta, an Engineering Physics Undergraduate Sophomore at the National Institute Of Technology Hamirpur. I have been a scholar at Womanium Quantum 2022: Global Quantum Computing & Entrepreneurship Program and Y-Combinator’s Start-up School 2022. I am a Microsoft Learn Student Ambassador and an executive volunteer at the Society for Promotion of Electronics Culture. Currently, I am exploring Quantum computing and web development. Follow me on LinkedIn to know more about my professional career and on Twitter for getting my daily updates.
PennyLane is a dedicated cross-platform Python library for differentiable programming of quantum computers that connects various quantum devices. It is a bridge between classical and quantum computations, making it easy to build and optimize hybrid computations. But how to start with it? Seeing the documentation of PennyLane, as a beginner in Quantum Computing and Mechanics, you'll likely decide to stop studying it on your own. I was in the same boat till I discovered Xanadu's Quantum Codebook, which is designed for the total beginner in this field provided you start learning some Linear Algebra and Quantum Mechanics parallelly.
The Xanadu Quantum Codebook is a learning-by-doing tool that explores Quantum Computing by using PennyLane. It is an experimental, exercise-based introduction to quantum computing. To give you a quick introduction, the codebook is divided up into graph of modules which is further divided into various nodes. Each node has two parts - Textbook and Challenges. The textbook is the standalone resource that will help you to solve the codercises given in the Challenges part. You don't need any prior knowledge of PennyLane, which is taught in the codebook. But you should know some linear algebra and basic python programming.
But is that enough to visualize the beauty of Quantum Computing and its language of linear algebra? The textbook is an excellent resource for learning, but as you progress through the nodes, you will realize that linear algebra is the language of quantum computing and should be well understood. What are the essence of applying any operation on any matrix, visualization of rank, and eigenvalues? It's important to understand and imagine linear algebra from the perspectives of physics, mathematics, and computer science students, as well as their inter-conversion. There are many resources from which you can learn linear algebra and maybe you already know some. I am not going to cover that. What you might not have is the visualization of linear algebra from the perspective of a computer science student, a physics student, and a mathematics student, all of which are required to understand and feel the operations performed on a qubit.
I recommend that everyone, whether they know Linear Algebra or not, watch the free series by 3Blue1Brown called Essence of Linear Algebra on YouTube which covers everything you need to know to get the essence of the topic. You may have read elsewhere that you do not need prior knowledge of quantum mechanics to begin learning Quantum Computing. This is only true when learning the basics of quantum computing. As you read through each chapter of Quantum Computing, you may notice that having a basic understanding of quantum mechanics will help you understand the concept better. However, quantum mechanics itself is a vast field of study, and while there are numerous books and resources for studying quantum mechanics, the majority of them are too advanced for beginners to comprehend. For getting started easily, the book that I followed is Introduction to Quantum Mechanics by David J. Griffiths. This book first teaches learners how to do quantum mechanics, and then provides them with a more insightful discussion of what it means. Fundamental principles are covered, the quantum theory presented, and special techniques developed for dealing with real problems.
Learning theory alone will not suffice; especially in Quantum Computing, you will need to practice many questions to solidly grasp what you have learned. This is the reason why Xanadu Codebook follows the learning-by-doing model and provides many Theoretical, Mathematical, and Coding Problems in each of its nodes while covering any topic. But what if you got stuck in any of these questions? The best answer to this will be to stop for some time and try again the problem later. However, if you feel that you need some help then you don't have to worry at all. I am preparing a GitHub repository that will contain all the solutions to codercises of the Xanadu Quantum Codebook. Perhaps by the time you read this article, it will have all the solutions, but for the time being, it contains enough solutions to keep you going on your journey. And if you want to contribute some solutions then feel free to ping me through Gmail or LinkedIn or GitHub.
Finally, I'll just say that there may come a time when you feel you're not made for Quantum Computing or that it's not the right time to study. But don't give up; quantum computing will be one of the most exciting fields to work in the future. All the Best and Happy Learning 😊.
You can do it 😉.
Subscribe to my newsletter
Read articles from Ashmit JaiSarita Gupta directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Ashmit JaiSarita Gupta
Ashmit JaiSarita Gupta
I am an engineering physics undergraduate passionate about Quantum Computing, Machine Learning, UI/UX, and Web Development. About two years ago, when I first discovered the field of Web Development and Quantum Computing, it totally amazed me and I have been dedicating my education to them ever since. Over the past two years, I have dedicated a considerable amount of time and effort to learning and developing skills in these fields by taking various online courses, reading different articles, making several projects, and being involved in various research internships and mentorship programs. Fast forward to today, I am currently working on a modern streaming platform and researching QUBO Relaxation Parameter Optimisation using Learning Surrogate Solver (QROSS).