Quantum Software FAQs
Quantum computing is an entirely new paradigm. It requires significant new skills and knowledge to even begin to understand. Consequently, the time-to-expertise will be significant, unless organizations can locate and hire these scarce resources. Even then, these scarce experts demand significant investments.
Expect to spend 6-12 months before you have your first quantum program. And, every time your quantum processing units (QPUs) are updated or you expand the number, expect to rewrite the low-level code that's proprietary to the specific quantum computer you've selected. Then there's Qatalyst.
No. Quantum computers do not process in the same way as classical computers. Quantum uses multi-dimensional qubits that represent real-world situations and probabilities, whereas classical uses binary bits (1s and 0s) to process serial streams of data. You can’t view them as the same paradigm, for programming or for the results they return.
Quantum hardware vendors have made software development kits available to work with their systems. However, these kits are designed to build new quantum programs from the lowest hardware level coding. This requires extensive expertise in quantum architecture, math, and physics to get right. (Refer to the FAQ below for more information on programming with SDKs)
If you use Qatalyst, we’ve included the transformation of your current discrete constrained optimization programs into quantum programs, without you having to create new programs.
Simply add the appropriate Qatalyst API calls (there are a total of six) and your program and data will be transformed into a quantum-ready form and seamlessly executed on either classical computers and/or a variety of quantum processors.
There are so many differences! Quantum computers and software are a completely new paradigm. Even more different than the move from vacuum tubes to silicon that has happened in some of our lifetimes.
The simplest way to think about it is this. Classical computers are binary - meaning they process a single stream of 1s and 0s. All programs are run serially, meaning the stream of data is processed by an application as it is selected from data storage (a database, cache, etc.). Data is either a 1 or a 0, on or off. All the time. Even in massively parallel machines, we are still programming single threads of data processing, then joining them together (oversimplifying here for comparison purposes).
Quantum computers are multi-dimensional. Data resides in 1s and 0s in a multi-dimensional space. And get this: a piece of data can be a 1 and a 0 at the same time – depending on what’s happening in the other dimensions that impact that piece of data. (again, this is a very oversimplified explanation of the concept of “superposition.”) This multi-dimensional space can be “energized” to create probabilistic models of potential outcomes to business optimization problems. To do all of this, quantum programs have to include a variety of new and different coding to manage the processing and data in the way quantum computers need.
Read on for more details, or click here for a post on binary vs multi-dimensional programming.
For a subset of problems, quantum mechanics and quantum computers make a dramatic difference. Primarily due to the qubit's ability to be in superposition (many states at once) and the computer’s ability to measure diverse probabilities.
Examples include, but are not limited to:
- Supply chain and logistics. We all know the classic traveling salesman problem. In today's world, that problem is geometrically larger and more complex due to the volume of data and increased constraints. Whether you’re optimizing truck deliveries to and from your business, managing stock levels, optimizing oil and gas supplies, or seeking more effective airport scheduling, quantum computing promises to accelerate and improve computational insights so you make better and more informed business decisions.
- Life Science and Pharma. Quantum computing is expected to play a prominent role in life science applications. Today, Qatalyst's community detection capabilities can assist in a wide range of application areas where understanding the interrelatedness of common attributes is key to discovery.
- Cybersecurity. Cybersecurity is an ideal candidate for quantum computing because of the complexity of unstructured data that must be repetitively and efficiently analyzed to prevent threats and respond quickly to intrusions.
- Government and research. Quantum technologies are already being deployed and evaluated in government and applied research. Opportunities include: stimulating molecular phase transitions, speeding military transport of equipment and personnel across changing terrain and weather conditions, and devising evacuation strategies to reduce the loss of life following a natural disaster.
A qubit is a quantum bit.
In classical computing, a bit (or binary digit) is used to represent information. A bit can be set to 0 or 1. It is a single state representation of a piece of information.
A qubit represents information for a quantum computer. There are two possible outcomes when you measure a qubit, the values 0 and 1. It’s similar to a bit in that way. However, while a bit’s state can only be 0 or 1, the state of a qubit can be a superposition of both values, simultaneously. You can fully encode one bit in one qubit. However, a qubit can hold more information, e.g. up to two bits using superdense coding techniques.
A classical logic gate is any physical system that takes binary inputs (0s and 1s) and delivers a single binary result. In quantum logic gates, you have a system that takes multi-dimensional inputs, and you have a diversity of probabilistic results, including superposition (a variable in multiple states at once).
Quantum gates are the building blocks of quantum circuits, just as classical logic gates are the building blocks of conventional digital circuits. Since quantum computers are multi-dimensional, quantum gates are represented as arrays of vectors.
In a quantum circuit model, a quantum logic gate (or simply quantum gate) is a basic quantum circuit operating on a small number of qubits. The most common quantum gates operate on spaces of one or two qubits, just like the common classical logic gates operate on one or two bits.
Quantum gates are combined in quantum circuits to create a function or program flow, just as in classical computing.
Classical gates work on bits. Similarly, quantum gates work on qubits. Quantum gates leverage two key aspects of quantum mechanics that are critical to the powerful processing and excellent results delivered by quantum computers: superposition and entanglement. Unlike classical computing, quantum gates can be reversible. That means these gates include our favorite undo button, meaning in principle, quantum gates never lose information. Qubits that are entangled as they enter the quantum gate stay entangled, keeping information safely protected throughout processing. Unfortunately, many classical computing gates do lose information. This is yet another valuable side of quantum processing.
Quantum algorithms are called quantum circuits.
Quantum circuits are composed of elementary quantum gates, much like classical circuits and composed of classical gates.
An algorithm is a step-by-step procedure to perform a calculation, or a sequence of instructions to solve a problem, where each step can be performed on a computer.
Quantum algorithms function by applying instructions, or quantum gates, to qubits that contain subsets of data. A quantum algorithm using quantum gates is called a quantum circuit.
Quantum circuits are groups of quantum gates interconnected by quantum wires that flow the qubits. Wires allow users to compose more complex quantum circuits from simpler circuits that are composed of elemental quantum gates. The quantum wires do not perform any transformations in a computational sense, they simply move the qubits based on the circuit flows.
We use circuits to compose components by connecting the output of one to the input of another; we also compose operations when the results of an operation are used as input to another.
Quantum superposition is a fundamental principle of quantum mechanics. It states that two (or more) quantum states can be added together ("superposed") and the result will be another valid quantum state. Conversely, it also notes that every quantum state can be represented as a sum of two or more other distinct states.
In quantum computing, superposition means that a value can exist in several states simultaneously, having a value of 0, 1, and 0,1 at the same time.
What does that mean to non-quantum experts? Let’s use a simple example, a coin toss. When you flip a coin, the result has a single value - its heads, or its tails. Whether you look at it or not (aka, measure it) – it has to be one of those two values.
In the quantum world, results or states do not exist until you measure them. Until you look down to see the coin (measure the value) it has no result or state. It could have any or all of its potential states at the same time.
Now think about complex optimizations, say the famous traveling salesman problem. In the quantum world, the salesman could be in superposition, meaning at many places simultaneously. Why? Because quantum mirrors nature, where the interaction of multi-dimensional factors results in more than one probabilistic state. Instead of focusing on one and only result, as classical systems do, quantum empowers a diversity of results, any of which can and will solve your traveling salesman problem, simply because you have the power to experience and model multiple probable states and their values.
That means you get better insights into all probabilistic outcomes, any of which can help your business. Instead of one result that may or may not be that effective.
One of the other not-so-intuitive aspects of quantum computing is the concept of entanglement. Particles are entangled when the quantum state of each particle cannot be described independently from the state of the other particle(s). The quantum state of the entire system can be measured or described; the parts of the system cannot.
When qubits are entangled, a connection forms between them. As a result, the measurement of one qubit will always correlate or reflect the measurement of the other qubit.
For example, let’s say that two qubits are defined so that the spin of the quantum computer is measured as zero. Entanglement results in the following behavior.
When the spin of one particle is measured to be counterclockwise, then it is guaranteed that a measurement of the spin of the other particle will be clockwise.
This entanglement happens with no information being shared between the entangled qubits.
Entanglement makes a quantum computer more powerful than a classical computer since information can be stored in superposition and entangled. This accelerates the solution to certain problems exponentially.
No. Quantum computers place all data into qubits which are then resident in the system while it is processing. There is no database interaction as we understand it with transactional systems. Information is prepared to create the qubits that are submitted to the Quantum Processing Units (QPUs) for solutions.
That’s one reason quantum processors aren’t quite ready for real-world problems. The data is so vast, and we haven’t combined enough QPUs or qubits yet to be able to actually run large-scale problems.
We can leverage the QPUs of today to run smaller problems, test and evaluate different QPU types about different problem types, and aid classical systems in their processing of complex computations. Which is exactly what we help users do with our Qatalyst solution.
Not with QCI and Qatalyst.
QCI, enabled by AWS, is delivering the first complete SAAS solution for quantum computing that doesn’t require quantum experts to program new software. Nor does it require low-level hardware programming to access quantum processors. You get fast, straightforward access to the software and hardware you need to use quantum power to drive computational results. No quantum expertise or on-premise investment is needed.
QCI is leveraging AWS’ powerful infrastructure for both CPU and QPU compute resources, as well as AWS Braket for simple seamless access to popular QPUs including Rigetti, IonQ, and D-Wave.
AWS and QCI have worked diligently to assure that Braket and Qatalyst deliver the best experience possible for classical SMEs and programmers who want to experience quantum but don’t have the years and money to invest to learn quantum programming to realize its benefits.
Organizations can submit the programs they use today on classical systems to Qatalyst, with no need for new programming. Simply insert the Qatalyst API (Q API) call into the program or workflow - and Qatalyst does the rest.
Quantum computers simulate the real-world. In the real world, you’ll never see the same exact scenario repeat itself. There are too many moving variables. Quantum computers are the same. As qubits are “excited” they simulate real-world models in the dimensional space. Once they are measured, they return to their ground state. When they are excited again, the qubits reflect the real-world model at that moment, which most likely has changed from the previous measurable moment.
This is one of the reasons quantum computers are designed to iterate results many, many times. By iterating the processing of the problem, and examining the results at each step, quantum computers simulate probabilistic models of reality - aka probable solutions. They hone in on the best results across this multitude of iterations, selecting the most optimum solutions to deliver to the user or application.
By delivering a diversity of quality results, quantum optimization offers organizations deeper insights into the options available to them. This drives better business decisions.
By iterating probable real-world outcomes, quantum computers review a diversity of potential results, compare them and eventually select the most excellent options.
Quantum computing is an entirely new paradigm. It requires significant new skills and knowledge to even begin to understand. Consequently, the time-to-expertise will be significant, unless you can locate and hire these scarce resources. Even then, these scarce experts demand significant investments.
As with other hardware technology evolutions, many vendors are offering a Software Development Kit (SDK) approach to write new applications and workflows for quantum computers. That may have worked in the past for classic evolutions, but not for quantum.
Here's what you need to expect when beginning to write quantum software using a raw SDK.
- Learn the basics of quantum. A highly skilled Ph.D. or programmer can learn enough to create basic quantum problems and simple workflows in a 3-month training period, then learn more over time as they tune and optimize their first workflows and problems to obtain better solutions.
- Quantum-optimize the problem, create quantum circuits and gate, low-level coding for specific hardware. After the 3 months of training, the Ph.D. or programmer should be able to create a problem and workflow in approximately one month. That workflow is then processed across a single quantum computer. To process across multiple quantum machines will require the programmer/Ph.D. to write different workflows (circuits) for the different quantum machines. Also, programmers must work with mathematicians and physicists to create a quantum optimization engine to solve the problem. The month to create a workflow as suggested above is not enough time to create that engine, so it assumes that the toolkits will eventually offer optimization engines, or third-party software will be used.
- Tune and continue to optimize to get quality results. After the first program or workflow is submitted and delivers results, the Ph.D./programmer usually spends 3-6 months tuning and learning about how to best optimize the problem and the workflow to deliver the best results. For example, the iteration required for quantum processing is a highly technical mathematical process that will need to be tuned and optimized across multiple shots.
Altogether, you should expect to spend 6-12 months before you have your first quantum program. Although many experts say it will take longer.
Every time your quantum processing units (QPUs) are updated or you expand the number, expect to rewrite the low-level code that's proprietary to the specific quantum computer you've selected.
Given the complexity of learning quantum computing skills, the time-to-expertise can be significant, as described above. That’s why Qatalyst offers significant cost advantages, as well as time-to-results acceleration.
Using an SDK, these effort estimates assume one Ph.D. level expert to train on the fundamentals of quantum computing, then define the problem and workflow, execute it on a specific quantum machine, get results and then optimize over a 3–6-month time period. This represents a significant fast-track to quality results since quantum experts say the reality is years of training and study to become effective at creating quantum problems/workflows/optimization and quality results.
When you read the quantum coverage in media, you might think that quantum computers in production environments are right around the corner. That’s not the case. Why? Quantum computing hardware can’t yet scale to hold the voluminous data required for complex computations. While the range of dates for when “production scale” quantum computers vary by vendor or source, don’t expect to see them running large volume problems in standalone environments in the near term. If ever.
Quantum computers have a very specific role in the world today, and tomorrow.
- They will not replace classic computers. Classical is designed for transactional processing that quantum computers cannot accomplish. Classical can also run the workflows and applications needed for business operations, while quantum computers process the complex computations and modeling that these classical applications need as part of their overall processing.
- Quantum computers will add tremendous value to both standalone classical processing and “hybrid” classical and quantum solutions. Quantum computers can analyze probabilistic real-world scenarios in ways classical systems can never hope to accomplish. By joining the two systems together, quantum systems can assist classical systems to find more and better answers, process problems more quickly, and deliver lower costs for the organization.
QCI offers SaaS access to Qatalyst, our quantum-ready optimization software. We deliver everything you need to get started using quantum - software, and hardware. Working with AWS, we offer the best in enterprise processing infrastructure (CPUs and QPUs), with seamless access via AWS Braket.
Users don’t have to be quantum experts. Simply sign up for the Qatalyst cloud-service and you’ll have access to run your current optimization problems. All you have to do is add the appropriate Qatalyst API (Q API) call to your current program, and Qatalyst does the rest. You can run programs on our quantum-directed classical optimization solution, or choose to access any of the QPUs available through AWS Braket, including Rigetti, IonQ, and D-Wave.
We believe the hybrid model of QPU/CPU processing will be the dominant architecture for the near term. When we deliver a hybrid approach commercially, SaaS users will access it transparently. No programming, no low-level coding. Simply seamless access to more and more powerful processing and increasingly excellent answers.
Qatalyst is a highly sophisticated, quantum application accelerator for complex computations. It is ready-to-run, in the cloud. Its sophisticated optimization applications solve complex mathematical computations fast while delivering a diversity of high-quality results. You no longer have to bet your business decisions on a single computational result.
By eliminating the need for quantum expertise and complex programming, Qatalyst accelerates your time to business results. It uses familiar SME constructs. Simply add a Q API call to current workflows and applications, and they, too, access Qatalyst power. Faster time-to-results, faster time-to-quantum, no quantum programming required.
Qatalyst is ready-to-run quantum software that delivers constrained optimization computations using quantum-ready techniques.
It masks the complexity of quantum programming thanks to its powerful, six-call API. Organizations can submit their current optimization programs to Qatalyst by simply adding the appropriate API calls(s) to their current problem. Qatalyst manages the problem compression, quantum transformation, and iterative optimization until it delivers a variety of high-quality results that meet the constraints of said problem.
Results are faster, and you get a diversity of results. This means you get better insights to make better business decisions.
Today, Qatalyst processes optimization computations as a quantum-ready classical computing software, or as quantum software accessing a variety of quantum processing units (QPUs.)
QCI offers Qatalyst as a SaaS service, complete with CPU and QPU hardware via the AWS cloud. There’s no need for expensive quantum infrastructure on-premise. Simply sign up for Qatalyst, and you can seamlessly access the software and the hardware required to solve your computation.
Qatalyst leverages AWS Braket to seamlessly access QPUs from Rigetti, IonQ, and D-Wave. You can select one or all of them, with no low-level coding in your programs. Qatalyst controls the qubits so you don’t get locked into specific QPU vendor hardware. Any program will run on any QPU (or CPU) with Qatalyst. No reprogramming, no new coding required.
Qatalyst integrates seamlessly and easily with your current processes.
All you have to do to leverage Qatalyst as part of any current workflow, program, or application is to add the required Q API call to it. With six API calls total, Qatalyst gives you access to all of its capabilities.
Most problems require fewer than 3 Q API calls, and many require only 1 call to be added for Qatalyst to process their complex constrained optimization problems.
Forget SDKs. Get Ready-to-Run Quantum
Quantum hardware seems to be getting all the attention these days. Yet in many ways, quantum software programming is the bigger challenge. It requires a significant new level of expertise that classical programmers and business subject matter experts don’t have.
That's why we created Qatalyst as ready-to-run optimization software for quantum and classical computers. Run your problem today on quantum-inspired classical while you explore the power of quantum, using the same problem. No programming, no expensive long programming cycles. Just better more accurate results.