# Quantum Computing Applications

** - Overview**

A quantum machine could one day drive big advances in areas like artificial intelligence and make even the most powerful supercomputers look like toys. Quantum technology is an emerging field of physics and engineering, which relies on the principles of quantum physics. Quantum computing, quantum sensors, quantum cryptography, quantum simulation, quantum metrology and quantum imaging are all examples of quantum technologies, where properties of quantum mechanics, especially quantum entanglement, quantum superposition and quantum tunnelling, are important.

According to John von Neumann, quantum technology is different from the deterministic classical mechanics, which holds that the state is determined by values of two variables. He stated that quantum technology is determined by probabilities and this explanation has been used to justify the technology's superiority.

Quantum computers are making all the headlines these days, but quantum communication technology may actually be closer to practical implementation. The building blocks for these emerging technologies are more or less the same. They both use qubits to encode information - the quantum equivalent to computer bits that can simultaneously be both 1 and 0 thanks to the phenomena of superposition. And they both rely on entanglement to inextricably link the quantum states of these qubits so that acting on one affects the other. But while building quantum computers capable of outperforming conventional ones on useful problems will require very large networks of qubits, you only need a handful to build useful communication networks.

**- A New Kind of Computing **

We experience the benefits of classical computing every day. However, there are challenges that today’s systems will never be able to solve. For problems above a certain size and complexity, we don’t have enough computational power on Earth to tackle them.

To stand a chance at solving some of these problems, we need a new kind of computing. Universal quantum computers leverage the quantum mechanical phenomena of superposition and entanglement to create states that scale exponentially with number of qubits, or quantum bits.

Quantum computing began with finding its essential elements. In 1981, Paul Benioff at Argonne National Labs came up with the idea of a computer that operated with quantum mechanical principles. It is generally accepted that David Deutsch of Oxford University provided the critical idea behind quantum computing research. In 1984, he began to wonder about the possibility of designing a computer that was based exclusively on quantum rules, publishing a breakthrough paper a few months later.

**- How Do Quantum Computers Work?**

Quantum computers perform calculations based on the probability of an object's state before it is measured - instead of just 1s or 0s - which means they have the potential to process exponentially more data compared to classical computers. Classical computers carry out logical operations using the definite position of a physical state. These are usually binary, meaning its operations are based on one of two positions. A single state - such as on or off, up or down, 1 or 0 - is called a bit.

In quantum computing, operations instead use the quantum state of an object to produce what's known as a qubit. These states are the undefined properties of an object before they've been detected, such as the spin of an electron or the polarisation of a photon. Rather than having a clear position, unmeasured quantum states occur in a mixed 'superposition', not unlike a coin spinning through the air before it lands in your hand. These superpositions can be entangled with those of other objects, meaning their final outcomes will be mathematically related even if we don't know yet what they are.

The complex mathematics behind these unsettled states of entangled 'spinning coins' can be plugged into special algorithms to make short work of problems that would take a classical computer a long time to work out... if they could ever calculate them at all. Such algorithms would be useful in solving complex mathematical problems, producing hard-to-break security codes, or predicting multiple particle interactions in chemical reactions.

**- Potential Strengths**

Quantum computers certainly have potential. In theory, they can solve problems that classical computers cannot handle at all, at least in any realistic time frame. Take factorization. Finding prime factors for a given integer can be very time consuming, and the bigger the integer gets, the longer it takes. Indeed, the sheer effort required is part of what keeps encrypted data secure, since decoding the encrypted information requires one to know a “key” based on the prime factors of a very large integer. In 2009, a dozen researchers and several hundred classical computers took two years to factorize a 768-bit (232-digit) number used as a key for data encryption. The next number on the list of keys consists of 1024 bits (309 digits), and it still has not been factorized, despite a decade of improvements in computing power. A quantum computer, in contrast, could factorize that number in a fraction of a second – at least in principle.

Other scientific problems also defy classical approaches. A chemist, for example, might know the reactants and products of a certain chemical reaction, but not the states in between, when molecules are joining or splitting up and their electrons are in the process of entangling with each other. Identifying these transition states might reveal useful information about how much energy is needed to trigger the reaction, or how much a catalyst might be able to lower that threshold – something that is particularly important for reactions with industrial applications. The trouble is that there can be a lot of electronic combinations. To fully model a reaction involving 10 electrons, each of which has (according to quantum mechanics) two possible spin states, a computer would need to keep track of 210 = 1024 possible states. A mere 50 electrons would generate more than a quadrillion possible states. Get up to 300 electrons, and you have more possible states than there are atoms in the visible universe.

Classical computers struggle with tasks like these because the bits of information they process can only take definite values of zero or one (1 or 0), and therefore can only represent individual states. In the worst case, therefore, states have to be worked through one by one. By contrast, quantum bits, or qubits, do not take a definite value until they are measured; before then, they exist in a strange state between zero and one, and their values are influenced by whatever their neighbours are doing. In this way, even a small number of qubits can collectively represent a huge “superposition” of possible states for a system of particles, making even the most onerous calculations possible.

### -** Computational Platforms for Quantum Computing**

Computing platforms provide users with access to quantum computers to perform quantum computations through the cloud. Building a new quantum computer is a very expensive investment for many companies, which is why the computing platform makes sense for companies to experiment with quantum computing. The solution is provided by quantum computer companies for developers to test their code on a real quantum computer.

The following companies and their products are leading computing platforms for quantum computing.

- Riverlane: DeltaFlow
- Qutech: Quantum Inspired
- IBM: IQ Experience
- Strangeworks: Quantum Computing Platform
- Google: the quantum playground
- QC Ware: Forge
- Microsoft

**- Quantum Software and Networking Stack**

Numerous software stacks have been proposed for quantum computing, including virtualizing the underlying physical quantum computing hardware and building virtual layers for logical qubits. In addition, the software stack provides compilers that translate high-level programming language constructs into low-level assembly commands that operate on logical qubits. Software stack providers are also developing domain-specific application-level templates (such as optimization problems or specific machine learning problems) and mapping to quantum computing programming models. The goal of the software stack is to hide complexity without affecting the overall performance or operability of the underlying quantum computing hardware.

As far as the native quantum computing network stack is concerned, its development is still in the early stages. Currently, quantum computing data and results need to be converted into a form understandable by classical network devices, and then back into a format understandable by quantum computing. There is currently a lot of research going on in the field of local quantum computing networks that could enable long-distance qubit entanglement, but these are not yet ready for commercial deployment.

**- Quantum Computing and Cryptography**

Cryptography will be one of the key application. Right now, a lot of encryption systems rely on the difficulty of breaking down large numbers into prime numbers. This is called factoring, and for classical computers, it’s slow, expensive and impractical. But quantum computers can do it easily. And that could put our data at risk.

There are rumours that intelligence agencies across the world are already stockpiling vast amounts of encrypted data in the hope that they’ll soon have access to a quantum computer that can crack it. The only way to fight back is with quantum encryption. This relies on the uncertainty principle – the idea that you can’t measure something without influencing the result. Quantum encryption keys could not be copied or hacked. They would be completely unbreakable.

**<More to come ..>**