The post Updated Quantum Development Kit offers new chemistry library and improved developer tools appeared first on Microsoft Azure Quantum Blog.

]]>**New quantum chemistry library.**The new quantum chemistry library can be used to develop quantum simulation solutions in the chemistry domain.**Improved Q# developer experience.**The Quantum Development Kit now delivers deeper integration with Visual Studio and Visual Studio Code. This update includes live feedback as you type, with errors indicated by underlined errors and warnings.**New Q# language capabilities.**The Q# programming language has been extended in ways that unify how developers code common operations, such as iteration over arrays, making coding in Q# easier and faster.

Quantum computers have the potential to solve the world's hardest computational problems and forever alter our economic, industrial, academic, and societal landscape. One significant area is computational chemistry, where quantum computers will drive advancements in areas such as drug discovery, development of pigments and dyes, and the development of catalysts for industrial processes. These processes could break down pollutants in exhaust streams, extract atmospheric nitrogen to make fertilizer, and enable new methods for carbon capture. For example, a quantum computer may help identify a way to remove carbon from our environment more efficiently, to combat global warming.

To unlock these potential applications, this release of the Quantum Development Kit now includes a state-of-the-art chemistry library that allows users to explore quantum algorithms for real-world applications in the computational chemistry domain. New features include:

- State-of-the-art Q# implementations of methods for Hamiltonian simulation.
- Various samples to help the user get started quickly.
- Integrations with NWChem, an open source high-performance computational chemistry software package.

The chemistry library was developed in collaboration with Pacific Northwest National Laboratory (PNNL), a leader in both chemistry and data analytics. Together, the chemistry library and NWChem enable quantum solutions and allow researchers and developers a higher-level of study and discovery as they tackle today's computationally complex chemistry problems.

Learn more about the new chemistry library here.

The updated Quantum Development Kit offers enhanced integration with both Visual Studio and Visual Studio Code. This includes IntelliSense features such as real-time feedback on errors. Additionally, the Q# language continues to improve and now provides more powerful language expressions that simplify the task of quantum programming. For instance, to simplify common code patterns, we added a conditional operator (condition? true | false) and iteration over arrays as well as ranges.

Learn more about the new Q# language changes.

With the updated kit you'll find a suite of detailed documentation, tutorials, libraries, and sample algorithms and Q# code. You can dive right in with the included quantum codes and find easy-to-follow samples crafted in Q# for highly optimized and intuitively written code. The Quantum Development Kit supports a broad and inclusive range of development platforms, including Windows, Linux, and macOS. It also supports programming languages such as Python on Windows.

The kit also includes simulation tools that can mimic execution on a quantum computer and allows users to optimize their code and estimate the resource cost of running a solution on a real quantum computer with the help of the included Trace Simulator.

To start learning how to program for quantum, try our self-paced tutorials called the Microsoft Quantum Katas. These coding katas are great tools for learning a new programming language and rely on several simple learning principles: active learning, incremental complexity growth, and feedback.

Today, developers around the world are exploring the Microsoft Quantum Development Kit and experiencing the world of quantum computing, from startups to the enterprise and across academia, research, and design. The scalable Microsoft quantum computing solution is already enabling problem-solvers from various disciplines and skill levels to explore the world of quantum development and begin solving some of the planet's most complex challenges. With our updated Quantum Development Kit, we're excited to help our growing community take another step toward the new world of quantum computing.

The post Updated Quantum Development Kit offers new chemistry library and improved developer tools appeared first on Microsoft Azure Quantum Blog.

]]>The post Presenting the potential of quantum computing at Microsoft Ignite 2018 appeared first on Microsoft Azure Quantum Blog.

]]>Microsoft researcher Michael Beverland dangled that possibility during a presentation at Microsoft Ignite 2018 called "Explore how to develop quantum computing applications without a Ph.D.," which he co-hosted with Microsoft Quantum software design engineer Bettina Heim. The session was part of our effort to acquaint new and aspiring quantum developers with tools they can use today to learn and explore quantum computing.

The quantum computer Beverland discussed would run 250 qubits (quantum bits). Because qubits amplify their power by interweaving with one another, that will lead to a computer exponentially more powerful than anything available today. Such a computer, or even one with far fewer qubits, will crack the code of incredibly complex chemical molecules, solve medical challenges, and lead to the manufacture of "lossless" power lines.

Beverland also discussed the Microsoft approach to creating a quantum computer. Our plan is to build a full-stack quantum system, scalable to meet real-world needs. Microsoft teams today are working on all the tools needed for quantum computing:

- Quantum Development Kit.
- Algorithms and applications.
- Cryogenic controls to create the incredibly cold temperatures a quantum computer will need.
- Topological qubits scalable and stable quantum bits.

So what can we learn from the history of classical computing as we build a quantum computer? Beverland showed participants a photograph of ENIAC, one of the earliest electronic general-purposed computers. Built in 1945 at a cost of nearly $500,000, ENIAC could perform in 30 seconds certain tasks a human would require 20 hours to complete. Pointing at the people in the black-and-white photo programmers Glen Beck and Betty Snyder Beverland said: "I like to think that they could already sense that these machines, and others like them, would change the world. "In quantum computing we have a similar feeling. We think we're on the precipice of a huge change that quantum computing will bring about."

Watch a video of the presentation here:

This embed requires accepting cookies from the embed’s site to view the embed. Activate the link to accept cookies and view the embedded content.

This site uses cookies for analytics, personalized content and ads. By continuing to browse this site, you agree to this use.In a second session, "An Introduction Quantum programming through the Quantum Development Kit and Q# Katas," Bettina Heim showed developers how to use the Microsoft Quantum Katas, an open-source project containing a series of programming exercises that provide immediate feedback as one learns how to code in Q#. "Quantum computing is going to be much the same as classical computing, and will be expressed in similar terms," Heim told her audience. "So you don't need all the details and physics formulas you can use the building blocks that we provide, and you just write algorithms."

Heim then walked participants through a half-dozen programming tests, each time running the algorithm to show that it was "solved' using quantum tools. Watch the session here:

This embed requires accepting cookies from the embed’s site to view the embed. Activate the link to accept cookies and view the embedded content.

This site uses cookies for analytics, personalized content and ads. By continuing to browse this site, you agree to this use.As we noted in an earlier blog, it has been a year since Microsoft unveiled its vision for building a scalable quantum computer. The company is advancing toward that goal, with seven Microsoft quantum labs around the world actively engaged in engineering a topological quantum computer that scales to meet real-world computing challenges. We're forming partnerships with institutions such as the Pacific Northwest National Laboratory (PNNL), and Case Western Reserve University (CWRU) to apply quantum principles that advance science and help people. And we're offering industry-leading developer support in the form of the Microsoft Quantum Development Kit. We're making real progress on creating a quantum computer and were delighted to have the chance to share our work at Ignite 2018.

*Audience questions, and answers offered by Beverland and Heim, have been edited to add context.*

**Question: What is the status of quantum computing? How close are we to using quantum computing to solve for RSA encryption?**

**Answer:** There are various sizes of problems we might take on with quantum computers, and RSA is one of the largest. You will need a very powerful quantum computer to crack RSA for 2,000 characters. How close are we to that point? Across the world there are lots of approaches to building qubits, with all the teams working on them trying to scale up. Our approach is to build a system that scales from the outset and has much lower noise. But we are not at the stage where we have a large number of qubits. Some teams have qubits in the tens and hundreds, but they're very noisy.

**Question: My understanding is that once you read the value of qubits, they're destroyed. So how do you know when a quantum computer has solved a problem?**

**Answer:** The way that a quantum algorithm typically works is that you start the entire set of qubits in some very specific quantum state. That will be close to what we see in the classical state, with zeroes and ones. Quantum algorithms will start with all qubits being in, say, a zero state. It's an art to develop a quantum algorithm that ensures that just before you measure the state of the qubits, you're in or close to one of these classical states, so you don't get highly random answers.

**Question: Are there some kinds of problems that could be solved with a classical computer but not with a quantum computer?**

**Answer:** Theoretically, no: A quantum computer can do everything a classical computer of the same size can do. However, we have very large classical computers (petabytes) and it will be a long time before we have quantum computers with "peta-qubits." So there will be some problems for which quantum computers are theoretically as good as classical computers, but not much better, and we will presumably use classical computers to solve them simply because large classical computers will be cheaper. There are of course some high-value problems which we simply cannot solve on any classical computer in existence but which we can solve on small quantum computers. Those are the application areas we are most interested in.

**Question: Does the Microsoft Quantum Development Kit come with error detection and resolution?**

**Answer:** By design, if you're running on something like a quantum simulator, it runs perfectly. Quantum algorithms are probabilistic so there is a certain amount of error because your algorithm is not designed to be fully deterministic. And there are potential hardware errors, which depends on the hardware. Even our knowledge of how these errors are supposed to behave is a tricky thing.

**Question: There are a lot of sessions on AI (here at Ignite). Will quantum computing be more apt at building real artificial intelligence?**

**Answer:** At the minute that's unknown. It's an active area of research. A quantum computer is fundamentally a different tool, so it could open new opportunities in AI.

**Question: A qubit is a unit of storage. That also means we're going to have problems with storing that and some way to process it. Are those the next steps?**

**Answer:** We are thinking about what it takes to make a quantum application work end to end. There are practical considerations, like where does my memory go? If I want to load something then do something with it and then put it back, where does it go? Quantum computing is a little different in a lot of ways. You can have scratch space that simultaneously holds part of the memory for a computation that can be used for another computation without destroying the information it holds for the first part. Until we have the hardware to see if it works in reality, we won't know.

Want to learn more?

- Download the Microsoft Quantum Development Kit
- Follow along on the path to scalable quantum computing with the Microsoft Quantum newsletter

The post Presenting the potential of quantum computing at Microsoft Ignite 2018 appeared first on Microsoft Azure Quantum Blog.

]]>The post Challenge your skills in the Microsoft Q# Coding Contest – Summer 2018 appeared first on Microsoft Azure Quantum Blog.

]]>Held **July 6 through July 9, 2018,** developers will tackle quantum development challenges of varying difficulty in Q#. Even if you’re new to Q#, the contest is a great way to test your abilities.

The contest will feature progressively challenging tasks on key topics in quantum computing such as superposition, measurement, oracles, and simple algorithms. For each task, you’ll write Q# code to implement the described transformation on a set of qubits or to analyze the state of a set of qubits. Top coders will win a Microsoft Quantum T-shirt.

To get a head-start, join the warmup round offered between **June 29 and July 2, 2018**, where you’ll start with a set of simpler tasks to prepare you for the topics covered in the main contest. This is a great introduction, especially if you’re new to Q#. The warmup round can provide an advantage by introducing the contest’s development environment and submission system before the contest begins. It’s also a great opportunity to refresh your skills or get up to speed on the basics of quantum development and the Q# programming language.

Q# features rich integration with Visual Studio and Visual Studio Code, providing the fastest path to quantum programming on Windows, macOS, or Linux. You can choose any of these platforms as your development environment for the competition. You'll want to make sure you have the latest Microsoft Quantum Development Kit released June 22, which includes enhanced debugging, faster simulation, and new code samples to improve the onboarding experience.

- Learn more and register for the Microsoft Q# Coding Contest – Summer 2018
- Download the latest Microsoft Quantum Development Kit

We look forward to helping you improve your quantum development skills and hope to see you at the first global Microsoft Q# Coding Contest!

The post Challenge your skills in the Microsoft Q# Coding Contest – Summer 2018 appeared first on Microsoft Azure Quantum Blog.

]]>The post Enhanced debugging and faster simulation with the latest Quantum Development Kit update appeared first on Microsoft Azure Quantum Blog.

]]>Just over six months ago, we released a preview of Q#, our new programming language for quantum development featuring rich integration with Visual Studio. The February 26 release added integration with Visual Studio Code to support Q# development on macOS and Linux as well as Python interoperability for Windows. Since then, tens of thousands of developers have begun to explore Q# and the world of quantum development.

Today's update includes significant performance improvements for simulations, regardless of the number of qubits required, as shown in the H2 simulation below. This is a standard sample included in the Microsoft Quantum Development Kit.

This update includes new debugging functionality within Visual Studio. The probability of measuring a "1" on a qubit is now automatically shown in the Visual Studio debugging window, making it easier to check the accuracy of your code. The release also improves the display of variable properties, enhancing the readability of the quantum state.

Adding to the new debugging improvements, you'll find two new functions that output probability information related to the target quantum machine at a specified point in time, called DumpMachine and DumpRegister. To learn more, you can review this additional information on debugging quantum programs.

Thanks to your community contributions, the Microsoft Quantum Development Kit now includes new helper functions and operations, plus new samples to improve the onboarding and debugging experience. Check out the release notes for a full list of contributions.

Download the latest Microsoft Quantum Development Kit

We've been thrilled with the participation, contributions, and inspiring work of the Q# community. We can't wait to see what you do next.

The post Enhanced debugging and faster simulation with the latest Quantum Development Kit update appeared first on Microsoft Azure Quantum Blog.

]]>The post The Microsoft approach to quantum computing appeared first on Microsoft Azure Quantum Blog.

]]>

Quantum computers have the power to provide solutions to some of the world’s toughest problems. While many people assume that quantum computers will replace classical computers, in reality, both technologies will work together to solve these problems. It can be helpful to think of a quantum computer like a GPUa specialized processor used for applicable scenarios. Similarly, as classical computers run computations, the workloads or problems best suited for quantum could be processed by the quantum computer. From development to deployment, Microsoft is empowering the quantum revolution with a complete approach to quantum systems. This approach uses topological qubits, a type of qubit that allows the system to scale. The result is an integrated, scalable solution that combines both quantum and classical computing.

The process of building a quantum computer includes creating the raw materials needed to make topological quantum devices, fabricating the cold electronics and refrigeration systems, and developing the overall infrastructure needed to bring the solution to life. In addition, our system includes everything you need to program the quantum computer, including a control system, software, development tools, and Azure servicesa combination we refer to as our full quantum stack.

Because quantum and classical work together, Microsoft Azure is a perfect environment for quantum processing and deployment. With data stored in Azure, developers will be able to access quantum processing alongside classical processing, creating a streamlined experience.

Using the complete Microsoft quantum system, what would the start-to-finish experience look like?

Beginning with a problem you may be able to solve with a quantum algorithm

- You would start by building your solution in Visual Studio, using the tools found in the Microsoft Quantum Development Kit.
- Using Q#, a language created specifically for quantum development, you would write the code for your solution with the help of the extensive Microsoft quantum libraries.
- When your code is complete, you would run a quantum simulation to check for bugs and validate that your solution is ready for deployment.
- Once validated, you would be ready to run your solution on the quantum computer.
- Your quantum solution would be deployed from within Microsoft Azure, using the quantum computer as a co-processor. As many scenarios will use both quantum and classical processing, Azure will streamline workflows as real-time or batch applications, later connecting results directly into your business processes.

Together, this full quantum stack pairs with familiar tools to create an integrated, streamlined environment for quantum processing.

Quantum computers can help address some of the world's toughest problems, provided the quantum computer has enough high-quality qubits to find the solution. While the quantum systems of today may be able to add a high number of qubits, the *quality* of the qubits is the key factor in creating useful scale. From the cooling system to qubits to algorithms, scalability is a fundamental part of the Microsoft vision for quantum computing.

The topological qubit is a key ingredient in our scalable quantum system. Different from traditional qubits, a topological qubit is built in a way that automatically protects the information it holds and processes. Due to the fragile nature of conventional qubits, this protection offers a landmark improvement in performance, providing added stability and requiring fewer qubits overall. This critical benefit makes the ability to scale possible.

Microsoft has been working on scalable quantum computing for nearly two decades, creating its first quantum computing groupknown as Station Qin 2006. Investing in scalable quantum computing for over a decade, we have connected some of the brightest minds in the industry and academia to make this dream a reality. Blending physics, mathematics, engineering, and computer science, teams around the globe work daily to advance the development of the topological qubit and the Microsoft vision for quantum computing.

At Microsoft, we envision a future where quantum computing is available to a broad audience, scaling as needed to solve some of the world's toughest challenges. Our quantum approach begins within familiar tools you know and use such as Visual Studio. It provides development resources to build and simulate your quantum solutions. And it continues with deployment through Azure for a streamlined combination of both quantum and classical processing.

We invite you to:

- Follow the journey to scalable quantum computing by signing up for the Microsoft Quantum newsletter
- Download the Microsoft Quantum Development Kit
- For a deep dive in our approach, watch this video on Achieving practical quantum computing

The post The Microsoft approach to quantum computing appeared first on Microsoft Azure Quantum Blog.

]]>The post Achieving scalability in quantum computing appeared first on Microsoft Azure Quantum Blog.

]]>As the path to build a quantum computer continues, challenges from across industries await solutions from this new computational power. One of the many examples of high-impact problems that can be solved on a quantum computer is developing a new alternative to fertilizer production. Making fertilizer requires a notable percentage of the world’s annual production of natural gas. This implies high cost, high energy waste, and substantial greenhouse emissions. Quantum computers can help identify a new alternative by analyzing nitrogenase, an enzyme in plants that converts nitrogen to ammonia naturally. To address this problem, a quantum computer would require at least 200 fault-free qubitsfar beyond the small quantum systems of today. In order to find a solution, quantum computers must scale up. The challenge, however, is that scaling a quantum computer isn’t merely as simple as adding more qubits.

Building a quantum computer differs greatly from building a classical computer. The underlying physics, the operating environment, and the engineering each pose their own obstacles. With so many unique challenges, how can a quantum computer scale in a way that makes it possible to solve some of the world’s most challenging problems?

Most quantum computers require temperatures colder than those found in deep space. To reach these temperatures, all the components and hardware are contained within a dilution refrigeratorhighly specialized equipment that cools the qubits to just above absolute zero. Because standard electronics don't work at these temperatures, a majority of quantum computers today use room-temperature control. With this method, controls on the outside of the refrigerator send signals through cables, communicating with the qubits inside. The challenge is that this method ultimately reaches a roadblock: the heat created by the sheer number of cables limits the output of signals, restraining the number of qubits that can be added.

As more control electronics are added, more effort is needed to maintain the very low temperature the system requires. Increasing both the size of the refrigerator and the cooling capacity is a potential option, however, this would require additional logistics to interface with the room temperature electronics, which may not be a feasible approach.

Another alternative would be to break the system into separate refrigerators. Unfortunately, this isn’t ideal either because the transfer of quantum data between the refrigerators is likely to be slow and inefficient.

At this stage in the development of quantum computers, size is therefore limited by the cooling capacity of the specialized refrigerator. Given these parameters, the electronics controlling the qubits must be as efficient as possible.

By nature, qubits are fragile. They require a precise environment and state to operate correctly, and they're highly prone to outside interference. This interference is referred to as 'noise', which is a consistent challenge and a well-known reality of quantum computing. As a result, error correction plays a significant role.

As a computation begins, the initial set of qubits in the quantum computer are referred to as 'physical qubits'. Error correction works by grouping many of these fragile physical qubits, which creates a smaller number of usable qubits that can remain immune to noise long enough to complete the computation. These stronger, more stable qubits used in the computation are referred to as 'logical qubits'.

In classical computing, noisy bits are fixed through duplication (parity and Hamming codes), which is a way to correct errors as they occur. A similar process occurs in quantum computing, but is more difficult to achieve. This results in significantly more physical qubits than the number of logical qubits required for the computation. The ratio of physical to logical qubits is influenced by two factors: 1) the type of qubits used in the quantum computer, and 2) the overall size of the quantum computation performed. And due to the known difficulty of scaling the system size, reducing the ratio of physical to logical qubits is critical. This means that instead of just aiming for more qubits, it is crucial to aim for better qubits.

The topological qubit is a type of qubit that offers more immunity to noise than many traditional types of qubits. Topological qubits are more robust against outside interference, meaning fewer total physical qubits are needed when compared to other quantum systems. With this improved performance, the ratio of physical to logical qubits is reduced, which in turn, creates the ability to scale.

As we know from Schrdinger’s cat, outside interactions can destroy quantum information. Any interaction from a stray particle, such as an electron, a photon, a cosmic ray, etc., can cause the quantum computer to decohere.

There is a way to prevent this: parts of the electron can be separated, creating an increased level of protection for the information stored. This is a form of topological protection known as a Majorana quasi-particle. The Majorana quasi-particle was predicted in 1937 and was detected for the first time in the Microsoft Quantum lab in the Netherlands in 2012. This separation of the quantum information creates a stable, robust building block for a qubit. The topological qubit provides a better foundation with lower error rates, reducing the ratio of physical to logical qubits. With this reduced ratio, more logical qubits are able to fit inside the refrigerator, creating the ability to scale.

If topological qubits were used in the example of nitrogenase simulation, the required 200 logical qubits would be built out of thousands of physical qubits. However, if more traditional types of qubits were used, tens or even hundreds of thousands of physical qubits would be needed to achieve 200 logical qubits. The topological qubit’s improved performance causes this dramatic difference; fewer physical qubits are needed to achieve the logical qubits required.

Developing a topological qubit is extremely challenging and is still underway, but these benefits make the pursuit well worth the effort.

A significant number of logical qubits are required to address some of the important problems currently unsolvable by today’s computers. Yet common approaches to quantum computing require massive numbers of physical qubits in order to reach these quantities of logical qubitscreating a huge roadblock to scalability. Instead, a topological approach to quantum computing requires far fewer physical qubits than other quantum systems, making scalability much more achievable.

Providing a more solid foundation, the topological approach offers robust, stable qubits, and helps to bring the solutions to some of our most challenging problems within reach.

- Follow along on our path to scalable quantum computing with the Microsoft Quantum newsletter
- Learn how we’re empowering the quantum revolution on the Microsoft Quantum website
- Get started with quantum development by downloading the Microsoft Quantum Development Kit

The post Achieving scalability in quantum computing appeared first on Microsoft Azure Quantum Blog.

]]>The post Design automation and design space exploration for quantum computers appeared first on Microsoft Azure Quantum Blog.

]]>A major hurdle for quantum algorithms for linear systems of equations, and for quantum simulation algorithms, is the difficulty to find simple circuits for arithmetic. Prior approaches typically led to a large overhead in terms of quantum memory, required operations, or implementation error.

By leveraging recent advances in reversible logic synthesis, Martin Roetteler and Nathan Wiebe (both QuArC), together with Mathias Soeken and Giovanni De Micheli (both EPFL), synthesized highly optimized arithmetic circuits using classical design automation flows and tools. The combination of classical and reversible logic synthesis enables the automatic design of large components in reversible logic, starting from well-known hardware description languages such as Verilog. The tools developed by the authors enable quantum algorithm designers to incorporate a large body of existing conventional logic synthesis software into the quantum realm.

Details of the study are presented in the paper, Design Automation and Design Space Exploration for Quantum Computers, which has been accepted for publication in the proceedings of DATE 2017 (Design, Automation and Test in Europe conference), in March 2017.

As a prototype example, the authors automatically generated high-quality networks for the reciprocal 1/x, which is necessary for quantum linear systems algorithms. You can download all synthesized networks at https://msoeken.github.io/reciprocal.html.

Read the full paper.

The post Design automation and design space exploration for quantum computers appeared first on Microsoft Azure Quantum Blog.

]]>The post LIQUi| for quantum computing appeared first on Microsoft Azure Quantum Blog.

]]>

LIQUi|> is a software architecture and tool suite for quantum computing.

It includes a programming language, optimization and scheduling algorithms, and quantum simulators. LIQUi|> can be used to translate a quantum algorithm written in the form of a high-level program into the low-level machine instructions for a quantum device. LIQUi|> is developed by the Quantum Architectures and Computation Group (QuArC) at Microsoft Research.

The post LIQUi| for quantum computing appeared first on Microsoft Azure Quantum Blog.

]]>The post Hybrid quantum-classical approach to correlated materials appeared first on Microsoft Azure Quantum Blog.

]]>

Recent improvements in the control of quantum systems make it seem feasible to finally build a quantum computer within a decade. While it has been shown that such a quantum computer can in principle solve certain small electronic structure problems and idealized model Hamiltonians, the highly relevant problem of directly solving a complex correlated material appears to require a prohibitive amount of resources. Researchers at Station Q Santa Barbara, QuArC and Station Q Zurich have shown that by using a hybrid quantum-classical algorithm that incorporates the power of a small quantum computer into a framework of classical embedding algorithms, the electronic structure of complex correlated materials can be efficiently tackled using a quantum computer.

The post Hybrid quantum-classical approach to correlated materials appeared first on Microsoft Azure Quantum Blog.

]]>