-
AWS Commits $230M To AI Startups To Drive GenAI Innovation: Here’s Why
“Amazon Web Services, the world’s largest cloud provider, is investing $230 million into AI startups that are seeking to take generative AI applications to the next level.”
-
How Classical AI is ‘Saving’ Quantum Computing: A Talk with IBM’s Ismael Faro
“As VP of Quantum Services and Data, Faro is now responsible for utilizing classical AI to streamline and optimize the entire quantum software stack. In a recent Quantum Crosstalk interview, his brained was picked on this burgeoning field.”
-
microsoft/generative-ai-for-beginners: 18 Lessons, Get Started Building with Generative AI
“Generative AI for Beginners (Version 2) – A Course”
-
“Fans of Ready Player One have reason to be excited after the latest reveal trailer for the Readyverse on social media, bringing the universe of the book and movie to life in what looks to be a groundbreaking piece of software that will allow players to create their own world.”
-
Planet to Use Nvidia AI Processor Onboard Pelican Satellite – Via Satellite
“An upcoming Planet imaging satellite will be equipped with an artificial intelligence chip from Nvidia, Planet announced Monday. Planet will leverage the Nvidia Jetson edge AI platform for its Pelican-2 satellite set to launch later this year.”
-
Apple Intelligence is the company’s new generative AI offering | TechCrunch
“On Monday at WWDC 2024, Apple unveiled Apple Intelligence, its long-awaited, ecosystem-wide push into generative AI. As earlier rumors suggested, the new feature is called Apple Intelligence (AI, get it?). The company promised the feature will be built with safety at its core, along with highly personalized experiences.”
IBM
This Week’s Interesting AI Articles
-
Strategic alliances for gen AI: How to build them and make them work | McKinsey
“Strategic alliances are a must for companies looking to build value from generative AI. But approaching them like traditional vendor arrangements won’t work.”
-
What can we expect of next-generation generative AI models? | World Economic Forum
“The coming together of AI methodologies, high-performance data processing and the “cloud” converged to make what had long been anticipated, by both science and science fiction, a reality. Needless to say it has been fundamentally transforming how we work and live – with no end in sight.”
-
Everyone Except Nvidia Forms Ultra Accelerator Link (UALink) Consortium
“AMD, Broadcom, Cisco, Google, Hewlett Packard Enterprise (HPE), Intel, Meta, and Microsoft announced they have aligned to develop a new industry standard dedicated to advancing high-speed and low-latency communication for scale-up AI Accelerators.”
Quick update
Since I last posted, I left IBM after 39 years and joined ColdQuanta, a quantum sensing, computing, and manufacturing company based in Boulder, CO USA.
My initial role was Vice President of Corporate Development, but with the influx of extraordinary leaders on the business side, I shifted to Vice President and Chief Quantum Advocate in October 2022.
I’m fairly active on LinkedIn but less so on Twitter. Now that travel has resumed, I’ve been speaking at quantum conferences and doing media interviews.
I leave IBM after 39 years
Because one is allowed to …
From classical FLOPS to quantum CLOPS
This week IBM Quantum introduced a new quantum computing architecture-neutral performance speed metric called CLOPS. CLOPS is short for “Circuit Layer Operations per Second.” For those of you familiar with measuring the speed of high performance classical computers, the acronym is a nod to the metric FLOPS, or “Floating point Operations per Second.”
CLOPS joins Quantum Volume (a measurement of quantum circuit execution quality) and Number of Qubits (an indication of the size of the problem your system can handle) as one of the three essential ways that we can measure progress toward practical Quantum Advantage. Quantum Advantage signifies the point where quantum computers together with classical computing systems can do better than the classical systems alone.
Resources and articles to learn more about CLOPS and quantum computing metrics
The IBM Research Blog: Driving quantum performance: more qubits, higher Quantum Volume, and now a proper measure of speed
The technical white paper on arxiv: Scale, Quality, and Speed: three key attributes to measure the performance of near-term quantum computers
IBM Quantum head Jay Gambetta’s YouTube video: Three Metrics for Quantum Computing Performance: Scale, Quality and Speed
My Inside Quantum Technology conference keynote on November 1, 2021:
- IQT Fall: Sutor, Gasman say quantum needs to focus on what’s practical to achieve what’s possible – Inside Quantum Technology
- Fierce Electronics: IBM proposes new quantum computing speed metric: CLOPS
ZDNet article: Quantum computing: IBM just created this new way to measure the speed of quantum processors
DevClass article: Horses for courses: IBM trots out CLOPS as measure of quantum performance
Quantum computing in my book Dancing with Python
My new book, Dancing with Python: Learn Python software development from scratch and get started with quantum computing, is now available from Amazon and other sources, and I recently posted the full table of contents. Though it is an introduction to Python, albeit with discussions of several advanced modules, it provides a unified approach with quantum computing.
My approach is described in the Preface:
How do you learn to code in this new world that involves both classical and quantum hardware?
One way to do it is to learn classical computing by itself. This is the traditional way of doing it, using a language such as C, C++, JavaScript, Java, Go, or Python. Along the way, you would learn how to use extra functionality in libraries of code along with the programming tools or from a third-party provider. Examples of these are the C++ Standard Library; the Java Platform, Enterprise Edition; the Python Standard Library; or the thousands of Python packages listed in the Python Package Index.
Once you have the philosophy, syntax, structure, and idioms of the classical programming language understood, you then learn quantum computing on top of that. For example, you could use the Qiskit open source quantum computing software development kit (SDK) along with Python. These mesh together and operate exceptionally well. Thousands of people are already Qiskit coders. If you know Python, this is a great approach.
But what if you are learning to code or have only a small amount of experience? What if I could offer you the chance to learn classical and quantum computing in a unified manner? Would it be useful if I could help you understand the concepts of both so that you don’t see them as different disciplines? That’s what I do in this book.
I talk about aspects of quantum computing throughout the book and in many places I provide pointers to sections in my quantum computing book Dancing with Qubits. That book is not a prerequisite for Dancing with Python, but the referenced sections will help you learn more about the topics if you wish to go deeper.
I first talk about qubits, “quantum bits”, in section 1.11. The main chapters that discuss quantum computing are 9 and 11:
9 Understanding Gates and Circuits
Classical computers use logical gates to manipulate bits. Using them, we assemble circuits to implement more complicated processes like addition and multiplication. Eventually, we get all the software that runs on computers everywhere.
Quantum computers use qubits to significantly extend the power of bits, as we saw in section 1.11. We assemble these into quantum circuits to implement algorithms.
There is a strong connection between classical and quantum computing, and a quantum computing system is a classical computing system extended with one or more quantum devices. These devices are the physical implementations of qubits and the software and hardware that control them.
This chapter examines bits and qubits, gates that operate upon them, and how we assemble them into circuits.
9.1 The software stack
9.2 Boolean operations and bit logic gates
9.3 Logic circuits
9.4 Simplifying bit expressions
9.5 Universality for bit gates
9.6 Quantum gates and operations
9.7 Quantum circuits
9.8 Universality for quantum gates
9.9 Summary
11 Searching for the Quantum Improvement
By considering new approaches and getting clever, we can develop classical algorithms that are faster than you might have expected. Using quantum techniques, we can go a step further: perform some operations faster than seems possible.
This chapter compares classical and quantum search techniques to see how extending our basic information unit from the bit to the qubit can show remarkable improvements. Note that I only discuss mainstream “universal” quantum computing and not limited-purpose systems that perform operations like simulated annealing.
11.1 Classical searching
11.2 Quantum searching via Grover
11.3 Oracles
11.4 Inversion about the mean
11.5 Amplitude amplification
11.6 Searching over two qubits
11.7 Summary
If you wish to learn more about quantum computing after reading this book, I suggest you look at
Availability of my book Dancing with Python and its table of contents
My new book Dancing with Python: Learn Python software development from scratch and get started with quantum computing is now available for purchase from Amazon and Packt Publishing.
Develop skills in Python by implementing exciting algorithms, including mathematical functions, classical searching, data analysis, plotting data, machine learning techniques, and quantum circuits.
Key Features
Learn Python basics to write elegant and efficient code
Create quantum circuits and algorithms using Qiskit and run them on quantum computing hardware and simulators
Delve into Python’s advanced features, including machine learning, analyzing data, and searching
Contributors
About the author
About the reviewer
Contents
List of Figures
Preface
Why did I write this book?
For whom did I write this book?
What does this book cover?
What conventions do I use in this book?
Get in touch
1 Doing the Things That Coders Do
1.1 Data
1.2 Expressions
1.3 Functions
1.4 Libraries
1.5 Collections
1.6 Conditional processing
1.7 Loops
1.8 Exceptions
1.9 Records
10 Contents
1.10 Objects and classes
1.11 Qubits
1.12 Circuits
1.13 Summary
I Getting to Know Python
2 Working with Expressions
2.1 Numbers
2.2 Strings
2.3 Lists
2.4 Variables and assignment
2.5 True and False
2.6 Arithmetic
2.7 String operations
2.8 List operations
2.9 Printing
2.10 Conditionals
2.11 Loops
2.12 Functions
2.13 Summary
3 Collecting Things Together
3.1 The big three
3.2 Lists
3.3 The joy of O(1)
3.4 Tuples
3.5 Comprehensions
3.6 What does “Pythonic” mean?
3.7 Nested comprehensions
3.8 Parallel traverse
3.9 Dictionaries
3.10 Sets
3.11 Summary
4 Stringing You Along
4.1 Single, double, and triple quotes
4.2 Testing for substrings
4.3 Accessing characters
4.4 Creating strings
4.5 Strings and iterations
4.6 Strings and slicing
4.7 String tests
4.8 Splitting and stripping
4.9 Summary
5 Computing and Calculating
5.1 Using Python modules
5.2 Integers
5.3 Floating-point numbers
5.4 Rational numbers
5.5 Complex numbers
5.6 Symbolic computation
5.7 Random numbers
5.8 Quantum randomness
5.9 Summary
6 Defining and Using Functions
6.1 The basic form
6.2 Parameters and arguments
6.3 Naming conventions
6.4 Return values
6.5 Keyword arguments
6.6 Default argument values
6.7 Formatting conventions
6.8 Nested functions
6.9 Variable scope
6.10 Functions are objects
6.11 Anonymous functions
6.12 Recursion
6.13 Summary
7 Organizing Objects into Classes
7.1 Objects
7.2 Classes, methods, and variables
7.3 Object representation
7.4 Magic methods
7.5 Attributes and properties
7.6 Naming conventions and encapsulation
7.7 Commenting Python code
7.8 Documenting Python code
7.9 Enumerations
7.10 More polynomial magic
7.11 Class variables
7.12 Class and static methods
7.13 Inheritance
7.14 Iterators
7.15 Generators
7.16 Objects in collections
7.17 Creating modules
7.18 Summary
8 Working with Files
8.1 Paths and the file system
8.2 Moving around the file system
8.3 Creating and removing directories
8.4 Lists of files and folders
8.5 Names and locations
8.6 Types of files
8.7 Reading and writing files
8.8 Saving and restoring data
8.9 Summary
II Algorithms and Circuits
9 Understanding Gates and Circuits
9.1 The software stack
9.2 Boolean operations and bit logic gates
9.3 Logic circuits
9.4 Simplifying bit expressions
9.5 Universality for bit gates
9.6 Quantum gates and operations
9.7 Quantum circuits
9.8 Universality for quantum gates
9.9 Summary
10 Optimizing and Testing Your Code
10.1 Testing your code
10.2 Timing how long your code takes to run
10.3 Optimizing your code
10.4 Looking for orphan code
10.5 Defining and using decorators
10.6 Summary
11 Searching for the Quantum Improvement
11.1 Classical searching
11.2 Quantum searching via Grover
11.3 Oracles
11.4 Inversion about the mean
11.5 Amplitude amplification
11.6 Searching over two qubits
11.7 Summary
III Advanced Features and Libraries
12 Searching and Changing Text
12.1 Core string search and replace methods
12.2 Regular expressions
12.3 Introduction to Natural Language Processing
12.4 Summary
13 Creating Plots and Charts
13.1 Function plots
13.2 Bar charts
13.3 Histograms
13.4 Pie charts
13.5 Scatter plots
13.6 Moving to three dimensions
13.7 Summary
14 Analyzing Data
14.1 Statistics
14.2 Cats and commas
14.3 pandas DataFrames
14.4 Data cleaning
14.5 Statistics with pandas
14.6 Converting categorical data
14.7 Cats by gender in each locality
14.8 Are all tortoiseshell cats female?
14.9 Cats in trees and circles
14.10 Summary
15 Learning, Briefly
15.1 What is machine learning?
15.2 Cats again
15.3 Feature scaling
15.4 Feature selection and reduction
15.5 Clustering
15.6 Classification
15.7 Linear regression
15.8 Concepts of neural networks
15.9 Quantum machine learning
15.10 Summary
Appendices
A Tools
A.1 The operating system command line
A.2 Installing Python
A.3 Installing Python modules and packages
A.4 Installing a virtual environment
A.5 Installing the Python packages used in this book
A.6 The Python interpreter
A.7 IDLE
A.8 Visual Studio Code
A.9 Jupyter notebooks
A.10 Installing and setting up Qiskit
A.11 The IBM Quantum Composer and Lab
A.12 Linting
B Staying Current
B.1 python.org
B.2 qiskit.org
B.3 Python expert sites
B.4 Asking questions and getting answers
C The Complete UniPoly Class
D The Complete Guitar Class Hierarchy
E Notices
E.1 Photos, images, and diagrams
E.2 Data
E.3 Trademarks
E.4 Python 3 license
F Production Notes
References
Other Books You May Enjoy
Index
Index Formatting Examples
Python function, method, and property index
Python class index
Python module and package index
General index
A #QuantumComputing mini-quiz for 2021-04-11
What Quantum Computing circuit is this in the IBM Quantum Composer?
What is it doing? Name the parts.
I think the Composer is extraordinarily elegant.
IBM Quantum Composer and Lab – New tools to use now
The IBM Quantum Experience is now two tools: the IBM Quantum Composer and the IBM Quantum Lab. In the first, you can create circuits by drag and drop, run them on a range of hardware and simulators backends, and visualize the results in several ways.
The IBM Quantum Lab is Jupyter-based and gives you the full power of that environment, plus the Qiskit open-source quantum software development kit.
You can use both at no charge with several real quantum computers, or access the advanced quantum systems if you have license to them within the IBM Quantum Network. Several new simulators are available in addition to qasm_simulator.
Video of my Q-munity Tech Workshop talk: Quantum Computing – The Next Five Years
My Q-munity Tech Workshop talk from February 25th is now on YouTube. The abstract for the talk was:
There’s a lot of work to be done before quantum computing can reach the scale and performance it must reach to be part of production workloads. In this talk, I’ll describe the IBM Quantum roadmap for the next five years and argue that it is really an industry execution plan for all of us.
Call for papers: Education, Research, and Application of Quantum Computing – HICSS 2022
My IBM Quantum colleague Dr. Andrew Wack and I are hosting a minitrack at the Hawaii International Conference on System Sciences (HICSS) 2022.
The description of the minitrack is:
There is no question that quantum computing will be a technology that will spur breakthroughs in natural science, AI, and computational algorithms such as those used in finance. IBM, Google, Honeywell, and several startups are working hard to create the next generation of “supercomputers” based on universal quantum technology.
What exactly is quantum computing, how does it work, how do we teach it, how do we leverage it in education and research, and what will it take to achieve these quantum breakthroughs?
The purpose of this minitrack is to bring together educators and researchers who are working to bring quantum computing into the mainstream.
We are looking for reports that
- improve our understanding of how to integrate quantum computing into business, machine learning, computer science, and applied mathematics university curriculums,
- describe hands-on student experiences with the open-source Qiskit quantum software development kit, and
- extend computational techniques for business, finance, and economics from classical to quantum systems.
It is part of the Decision Analytics and Service Science track at HICSS.
Please consider submitting a report and sharing this Call for Papers with your colleagues.
“How to use interference to your advantage – a quantum computing catch up”
My IBM Quantum colleague Blake Johnson and I had a great conversation with Ben Popper of StackOverflow about software and quantum computing.
Introduction to Quantum Computing and Quantum Hardware
This online course is a great way to go deeply into what makes quantum computing work. Join thousands of your global colleagues and get hands-on knowledge about IBM Quantum and Qiskit.
Dancing with Qubits: Quantum Computing and Finance update
In section 1.5 of my quantum computing book Dancing with Qubits, I discuss potential applications of the technology to financial services. An excellent survey article by my IBM Quantum colleagues is now on arXiv that updates and goes into much greater detail than what I covered.
“Quantum computing for Finance: state of the art and future prospects” by Daniel J. Egger, Claudio Gambella, Jakub Marecek, Scott McFaddin, Martin Mevissen, Rudy Raymond, Andrea Simonetto, Stefan Woerner, and Elena Yndurain has this abstract:
This paper outlines our point of view regarding the applicability, state of the art, and potential of quantum computing for problems in finance. We provide an introduction to quantum computing as well as a survey on problem classes in finance that are computationally challenging classically and for which quantum computing algorithms are promising. In the main part, we describe in detail quantum algorithms for specific applications arising in financial services, such as those involving simulation, optimization, and machine learning problems. In addition, we include demonstrations of quantum algorithms on IBM Quantum back-ends and discuss the potential benefits of quantum algorithms for problems in financial services. We conclude with a summary of technical challenges and future prospects.
I highly recommend it.
IEEE Quantum Week and IBM Quantum
This year’s IEEE Quantum Week is planned for October 12-16, 2020, in Denver, Colorado.
IEEE Quantum Week is a multidisciplinary quantum computing venue where attendees will have the unique opportunity to discuss challenges and opportunities with quantum researchers, scientists, engineers, entrepreneurs, developers, students, practitioners, educators, programmers, and newcomers.
The IBM Quantum team is well represented at the conference with a keynote from Jerry Chow. We also have 7 tutorials and 2 workshops.
Our tutorials are on the following topics:
- Quantum programming, an introduction
- Quantum machine learning for data scientists
- Quantum hardware control: a hands-on introduction
- Quantum algorithms for optimization
- Quantum algorithms for chemistry simulation
- Assessing the quality of qubits and quantum computers
- Serious Games for Quantum Computing
Our workshops are:
- Control and design of superconducting qubits
- Software for quantum applications, algorithms, and workflows
Registration is now open.
Quantum computing article today in USA Today
USA Today published an article today called “Could quantum computing help beat the next coronavirus?” where they interviewed several of us in the IBM Quantum program. While the title is far-reaching, it refers to basic research today in how quantum computing might be used for calculations in the physical sciences and chemistry, in particular. It also mentions nascent financial services work via this quote from me:
For a consumer with a retirement fund, “quantum computers over the next 10 to 15 years … may help you make better personal financial decisions through the calculations that your broker is doing,” says Bob Sutor, an IBM Research vice president tasked with driving the quantum computing ecosystem.
Some practical things you can do to learn about quantum computing
People often ask me “Where should I get started in order to learn about quantum computing?”. Here are several steps you can take. I work for IBM, so things I link to will often be to the IBM Quantum program. Also, I acknowledge that several of the links and videos toward the beginning involve me, but we’ll get through those quickly.
Watch some introductory videos
If you only watch one video, watch this one from WIRED with Talia Gershon:
This one with me is from early 2019 and discussed the IBM Q System One:
Finally, this video from CNBC with Professor Scott Aaronson of the University of Texas Austin, Martin Reynolds of Gartner, and me brings things up to date in January, 2020. Note that I personally do not support many of the statements about “Quantum Supremacy” (horrible label, supercomputers do have massive amounts of storage, off-by-15-million-percent math error):
Get a book
If you are really just getting started and want to systematically work through the required math at an easy and conversational pace, my book Dancing with Qubits should prepare you for more advanced material and give you a start to reading research papers. (Shameless self-plug.)
If you are a hard core physics and/or computer science person, you want to have Quantum Computation and Quantum Information: 10th Anniversary Edition 10th Anniversary ed. Edition by Michael A. Nielsen and Issac L. Chuang in your library. It’s a little old by now, but if you want to end up doing quantum computing research, you will likely have to become very familiar and comfortable with the contents. Other books to consider are Quantum Computing: A Gentle Introduction (good on algorithms, “gentle” is subjective!) and Quantum Computing for Computer Scientists (a bit dated and make sure you get a copy of the errata).
Play a game
Hello Quantum is available for Apple iOS and Android and will teach you the basics of how quantum gates and circuits work.
Build and run circuits with a real quantum computer
Quantum simulators have their place for basic education, experimentation, and debugging. Note, though, that a quantum simulator is to real quantum computer hardware as a TV console flight simulator is to a real plane. If you want a job as a pilot, I would prefer you knew how to fly an actual airplane.
The easiest way to get started without writing code is with the IBM Quantum Composer within the IBM Quantum Experience.
The IBM Quantum Experience has over 200,000 registered users, so you’ll be joining a very large community of beginner, intermediate, and advanced users.
Learn Python
If you are going to write quantum computing code, learn Python. As I write this, the latest version is 3.8. You want Python 3, not Python 2.
Learn Jupyter Notebooks
This is the modern way of developing full documents with interactive code, executions, graphics, videos, and visualizations. It’s used within the IBM Quantum Experience but also many other computational and AI applications. You are mainly interested in how to use it through a browser, not how to run and maintain the console.
Website (introductory): Introduction to Jupyter Notebooks
Write quantum computing code in Qiskit
Qiskit is the leading open source platform for developing quantum computing code and applications. It’s available on Github and available under the Apache 2,0 license. It’s had over 300,000 downloads but I’m recommending you use it through your browser on the IBM Cloud. As with the Composer, it is available through the IBM Quantum Experience.
Whether you want to download Qiskit or use it online, the easiest way to get get started is to watch the series of videos by Abe Asfaw.
From there, you can watch the other videos and also learn about the Qiskit Community.
At this point you are ready to work your way through the online open source Learn Quantum Computing through Qiskit.