8/30/18

This week's Wednesday Evening Training: Quantum Computers are coming!

Could you imagine? You solve problems with a speed of light. What a classical computer takes 1000 years to complete, you can achieve in just 100 milliseconds. You can find a needle in a haystack in 1 nanosecond. You can simulate molecule structures as if they are real. You can send data with the speed of light. That is now possible with Quantum computing.



So what are Quantum computers?

A very very very short introduction on Quantum computers As progress on processing speed and miniaturization continues, we stuble on the phycical limits of modern binary digital electronic computers based on transistors. Using quantum physics, however, we can increase processing speed drastically. In digital computing data is encoded into binary digits (bits), each of which is always in one of two definite states (0 or 1). A quantum computer works with particles that can be in superposition. Quantum computers use Quantum Bits or Qubits, which can take on the value 0, or 1, or both simultaneously. This drastically speeds up processing. This, however, also poses other challenges.

For quantum computers to work, you'll need them to work in a supercooled condition. Also, calculation results may not be accurate. You'll need software to determine whether the result is correct.

Are there any Quantum Computers available yet? 

Yes... there are... but they are experimental and you can't yet buy them in the store nor can you online. IBM, Microsoft, Google, Apple and other companies are already building devices (see the resources below). At this moment, you can use online simulators to experiment with. Also see the resources below for a few examples.

What can we use Quantum computers for? 

In short: Quantum computers are not suitable for running all programs. But for very intensive applications such as simulations, processing huge amounts of data and artificial intelligence they can be very useful. Future will tell! Well, that's all in a nutshell. You'll find some excellent and comprehensible explanations in the resources mentioned below as well.


Back to this evening's training...

This Wednesday Evening Training, we got a nice introduction on Quantum Computers and Microsoft's Quantum Software Development Kit. One of our Quantum Computer experts, Ilyas Sener, explained us the physics, gave us a nice demo of a Quantum computer simulation and did a code walkthrough of a Q# software solution (using Microsoft's Quantum Software Development Kit and Visual Studio 2017). The Q# Programming Language Q# (Q-sharp) is a domain-specific programming language used for expressing quantum algorithms. It is to be used for writing sub-programs that execute on an adjunct quantum processor, under the control of a classical host program and computer.

Interesting stuff, but obviously we need more Wednesday Evening Trainings to understand the concepts and devise practical applications. And that's what the Wednesday Evening Trainings are all about: playing, learning & sharing knowledge!

We also welcomed our colleague from UWV, Robert Mast, one of their top .NET software engineers. Surely we'll be seeing you next session on Quantum Computers Robert!


Further reading

Do you want to read more on the topics in this post? Here are some links…

On the basics of quantum physics:
Quantum Computing Expert Explains One Concept in 5 Levels of Difficulty (an excellent way to start!): https://www.youtube.com/watch?v=OWJCfOvochA
Qubit (the basic unit of quantum information): https://en.wikipedia.org/wiki/Qubit
Quantum information (information that is held in the state of a quantum system): https://en.wikipedia.org/wiki/Quantum_information
Quantum system: https://en.wikipedia.org/wiki/Quantum_system
Quantum mechanics: https://en.wikipedia.org/wiki/Quantum_mechanics
Quantum Computing Primer: https://www.dwavesys.com/tutorials/background-reading-series/quantum-computing-primer
Quantum Computing basics: What is Quantum Computing?: https://www.microsoft.com/en-us/quantum/what-is-quantum-computing
Quantum Computing Technology: https://www.microsoft.com/en-us/quantum/technology

On quantum computer hardware:
IBM Q initiative to build commercially available universal quantum computers: https://www.research.ibm.com/ibm-q
Introduction to the D-Wave Quantum Hardware: https://www.dwavesys.com/tutorials/background-reading-series/introduction-d-wave-quantum-hardware
Software Architecture & environment: https://www.dwavesys.com/software

On quantum computer simulators:
IBM: https://quantumexperience.ng.bluemix.net/qx/editor
The QX Simulator: http://quantum-studio.net
Ready-to-use Linux Ubuntu Virtual Machine with QX installed: http://quantum-studio.net/#download_vm
Quantum Computing Playground: http://www.quantumplayground.net
QCEngine - active QC simulator: http://machinelevel.com/qc/
List of Quantum computer simulators: https://quantiki.org/wiki/list-qc-simulators
Another list of Quantum computer simulators: http://www.vcpc.univie.ac.at/~ian/hotlist/qc/simulation.shtml
Quantum computer simulator: https://qcsimulator.github.io/

On quantum computer software:
Microsoft Quantum Development Kit: https://www.microsoft.com/en-us/quantum/development-kit and https://docs.microsoft.com/en-us/quantum/?view=qsharp-preview
The Q# Programming Language: https://docs.microsoft.com/en-us/quantum/quantum-qr-intro?view=qsharp-preview
Download Quantum Studio: http://quantum-studio.net/#download_qs

Other resources:
Microsoft's Quantum Computing portal: https://www.microsoft.com/en-us/quantum
Microsoft's Quantum Computing, technologies (Physics, Materials, Devices, Control, Runtime): https://www.microsoft.com/en-us/quantum/technology
IBM Q Experience! Guides, demo's etc.: https://quantumexperience.ng.bluemix.net/qx/experience
Microsoft Quantum: https://www.microsoft.com/en-us/quantum
Microsoft Research on Quantum Computing: https://www.microsoft.com/en-us/research/lab/quantum/
Hello Quantum - Explore the building blocks of quantum mechanics through puzzles: http://helloquantum.mybluemix.net

Past Wednesday Evening Trainings

You 'll find post of previous sessions here: https://www.linkedin.com/search/results/content/?keywords=%23wednesdayeveningtraining

Next week 's Wednesday Evening Training

In next week's Wednesday Evening Training, we’ll give a 100-level introduction to Specflow, the Cucumber counterpart on the .NET plaform. We’ll show how you can use natural language to make unambiguous functional specification and at the same time generate unit tests to test your code against it.

#wednesdayeveningtraining #capgemini #lifeatcapgemini #quantumcomputing #qsharp

No comments:

Post a Comment