**Physical Address**

304 North Cardinal St.

Dorchester Center, MA 02124

Welcome to the world of quantum computing!

Whether you’re a developer or simply someone who wants to get a feel for what quantum computing is all about, this learning path is a great place to start exploring quantum computing and optimization.

Imagine you’re the new member of a space crew. The spaceship is equipped with a computer that has access to the Azure Quantum servers on Earth and you can use the power of quantum to complete different tasks. During your training as a new crew member, you’ll learn about quantum computing and optimization and how to use the Microsoft Azure Quantum service.

Welcome aboard!

After completing this learning path, you’ll be able to:

- Explain the fundamental concepts of quantum computing.
- Identify the kinds of problems quantum algorithms can solve more efficiently than classical algorithms.
- Build basic quantum programs by using the Quantum Development Kit and Q#.
- Interact with the Azure Quantum cloud service.
- Adapt and create Q# applications to run them on actual hardware.
- Estimate physical resources for quantum algorithms using Azure Quantum
- Apply quantum-inspired optimization to a combinatorial optimization problem.
- Solve a job shop scheduling optimization problem.

**Prerequisites:**

None

Learn how to get started with Azure Quantum, what it has to offer, and how to create an Azure Quantum workspace to run jobs in the cloud.

**Learning objectives:**

In this module, you will:

- Discover what the Azure Quantum service has to offer: quantum computing and optimization.
- Prepare your Azure account to use Azure Quantum.
- Create an Azure Quantum workspace.
- Run a sample notebook that executes a Q# program on Azure Quantum.
- Learn about application domains for Azure Quantum.

**Prerequisites:**

To use the Azure Quantum service, you need an active Azure subscription. For more information about creating an Azure account and subscription, see the Microsoft Learn module Create an Azure account.

**This module is part of these learning paths:**

Q1. Azure Quantum offers quantum computing solutions and optimization solutions. What is the difference between them?

- Quantum computing is only for simulating quantum systems like molecules. Optimization uses quantum computers to solve optimization problems.
**You can use quantum computing to run quantum algorithms in quantum hardware, and you can use optimization to solve optimization problems by using classical hardware.**- You use quantum computing to run quantum algorithms in quantum hardware, and then you use optimization to run those algorithms more efficiently.

Q2. Which of the following statements about Azure Quantum is *false*?

- Simulators, quantum computers, and optimization solvers are examples of targets of Azure Quantum.
- Each job has an ID that must be unique within the workspace.
**You can submit jobs without an Azure storage account, but having one is recommended for keeping your results.**

Q3. Which of the following statements about quantum-inspired optimization in Azure Quantum is *true*?

**Emulating quantum effects on classical computers has led to the development of new types of quantum solutions that run on classical hardware, also called quantum-inspired algorithms.**- Azure Quantum offers only quantum-inspired optimization solutions. For classical optimization, you should look into other Azure products.
- Quantum-inspired optimization solutions in Azure Quantum are useful for machine learning.

Get started with Q# programming by building a quantum random number generator.

**Learning objectives:**

In this module you will:

- Prepare your development environment for writing quantum programs in Q#.
- Work with qubits and superposition to build a quantum random number generator.
- Understand how Q# programs are structured.

**Prerequisites:**

**This module is part of these learning paths:**

Q1. Which of these statements is true about the random number generator that you built in this module?

- You always get truly random numbers, both in the simulator and on quantum hardware.
- You never get truly random numbers. You get only pseudorandom numbers.
**In the simulator, you get pseudorandom numbers. On a quantum computer, you get truly random numbers.**

Q2. You need to run a quantum computation multiple times and then compute the average of all results. The easiest way to do that is to:

- Run the quantum program multiple times and then route the results to a second program, which computes the average.
**Combine classical and quantum operations in the same program.**- Write the quantum computation and the averaging computation all as quantum operations.

Q3. You’re ready to run your algorithm on Azure Quantum. What’s the best way to choose which hardware runs your code most efficiently?

- Run a more limited version of your program on each hardware type and then choose the one that completes most quickly.
**Combine the simulator with the resource estimator to understand the resources that your code would require.**- There isn’t a need to choose. All quantum hardware uses resources in the exact same way.

Learn the fundamental concepts of quantum computing by using tools in Q# and the Quantum Development Kit.

**Learning objectives:**

After completing this module, you’ll be able to:

- Explain the basic theory behind the power of quantum computing, including concepts like superposition, interference, and entanglement.
- Inspect quantum states when you run code in simulated quantum computers.
- Estimate the quantum resources that you need to run your programs.
- Explore algorithms that use quantum properties to outperform classical algorithms.

**Prerequisites:**

- The latest version of .NET
- Visual Studio Code
- The Quantum Development Kit
- An Azure Quantum workspace

If you haven’t installed these tools, we recommend that you go through the Get started with Azure Quantum and Create your first Q# program by using the Quantum Development Kit modules to get set up and learn the basics.

You also need basic knowledge of linear algebra and complex numbers. If you want more background, check out the following Python tutorials in the form of Jupyter notebooks. You can run them locally or online.

**This module is part of these learning paths:**

Q1. Which one of these statements about quantum computing is true?

- A quantum computer uses superposition to calculate all outputs of an algorithm at once.
- A quantum computer is faster than classical computers for all tasks.
**A quantum computer exploits superposition, interference, and entanglement to do calculations faster than classical computers.**

Q2. The probability amplitude of a qubit state is:

- The probability of obtaining the qubit state when you measure the qubit.
**A complex number that encodes the phase, and the probability of obtaining the qubit state when you measure the qubit.**- A complex number whose absolute value squared tells you the probability that the algorithm will succeed.

Q3. Qubit states behave like waves. Which one of these statements is true about quantum interference?

- Constructive interference occurs when two states of opposite phase superpose.
- Quantum interference is a phenomenon in which electromagnetic waves produce noise in our quantum computations.
**We can exploit quantum interference to do calculations faster than classical computers can do them.**

Q4. If two qubits are entangled:

- Changing the state of one of the qubits directly changes the state of the other.
**The measurement outcomes of those qubits are strongly correlated.**- Both qubits always produce the same results when you measure their individual states, no matter how you manipulate them.

Learn how Grover’s algorithm can help you solve search problems such as graph coloring problems.

**Learning objectives:**

After completing this module, you’ll be able to:

- Build
*quantum oracles*that implement classical functions on a quantum computer. - Explain the roles
*superposition*,*interference*, and*entanglement*play in building quantum algorithms. - Write a Q# program that uses Grover’s search algorithm to solve a graph coloring problem.
- Recognize the kinds of problems for which Grover’s search algorithm can offer speedup compared to classical algorithms.

**Prerequisites:**

- The latest version of .NET Core
- Visual Studio Code
- The Quantum Development Kit

You’ll need basic knowledge of the principles of quantum computing: superposition, interference, entanglement, and measurement.

You’ll also need some familiarity with Q# and the Quantum Development Kit.

**This module is part of these learning paths:**

Q1. You apply a marking oracle that implements the check “Are two bits of the input different?” to a state 1/2 (|00⟩+|01⟩+|10⟩+|11⟩)⊗|1⟩, where the first two qubits are the input register and the last qubit is the output qubit. What will the state be after the oracle application?

**1/2 (|00⟩⊗|1⟩+|01⟩⊗|0⟩+|10⟩⊗|0⟩+|11⟩⊗|1⟩)**- 1/2 (|00⟩−|01⟩−|10⟩+|11⟩)⊗|1⟩12(|00⟩−|01⟩−|10⟩+|11⟩)⊗|1⟩
- 1/2 (|00⟩⊗|0⟩+|01⟩⊗|1⟩+|10⟩⊗|1⟩+|11⟩⊗|0⟩)

Q2. You’re trying to solve a problem, and it turns out that exactly half of the possible inputs are solutions to the problem. How will the number of iterations affect the success probability of Grover’s algorithm?

- The success probability first increases to nearly 100%, then decreases to nearly 0%, then increases again, and so on.
**The success probability remains the same regardless of the number of iterations.**- The success probability first decreases to nearly 0%, then increases to nearly 100%, then decreases again, and so on.

Q3. Which of these problems would benefit the most from a quantum speedup offered by Grover’s search algorithm?

- A database search, such as checking whether a table contains the given element
- A 2-SAT problem: Boolean satisfiability problem with at most two literals per clause
**A cryptographic problem, such as decrypting symmetric cryptography keys**

Learn why resource estimation is crucial in the development of quantum computing, and how to use the Azure Quantum Resource Estimator.

**Learning objectives:**

In this module, you will:

- Learn what resource estimation is and why it is important.
- Explore the Azure Quantum Resource Estimator.
- Estimate the resources of an algorithm with practical quantum advantage.

**Prerequisites:**

To use the Azure Quantum service, you need an active Azure subscription. For more information about creating an Azure account and subscription, see the Microsoft Learn module Create an Azure account.

**This module is part of these learning paths:**

Q1. Why is it important to estimate the resources required to run a quantum algorithm?

- Quantum computers can only run a limited number of algorithms at a time, so we need to discard those algorithms that require many resources.
- Quantum computers are an expensive technology, we need to estimate how much a certain algorithm cost in order to make the best economic decision.
**Resource estimation allows us to refine quantum solutions to run on future quantum computers, by making choices about architectural design and quantum error correction schemes.**

Q2. The Azure Quantum Resource Estimator takes a physical qubit model, `"qubitParams"`

, as target parameter. Which of the following statements is true?

**You can pick from six predefined qubit models, and each of their values can be updated, meaning that you can modify the existing models and create new ones.**- You can pick from two predefined qubit models, which are the Surface code and the Floquet code.
- You can pick from six predefined qubit models, but they don’t allow customization of their parameters.

Q3. The Resource Estimator evaluates the resource estimates of a requested QIR quantum algorithm. What is the output of the resource estimation job?

- The Resource Estimator outputs the estimated economic cost of running the algorithm and its runtime.
- The Resource Estimator outputs the number of physical qubits and the runtime of a quantum algorithm for each of the quantum hardware providers available in Azure Quantum.
**The Resource Estimator outputs physical and logical estimates, such as number of rotation gates, quantum error correction estimates, T factory parameters, and total physical qubits and runtime.**

Learn about libraries in Q# and how to add them to your projects, discover the Q# API documentation, implement another application of Grover’s algorithm by using the standard library, and write documentation for your own code.

**Learning objectives:**

In this module, you will:

- Learn about libraries in Q#, specifically how they’re distributed and how to add them to your projects.
- Use the Q# standard library to express quantum algorithms at a high level.
- Get to know the API documentation and integrated help capabilities to more efficiently find and use Q# functionality.
- Write API documentation comments to help document and explain your Q# programs.

**Prerequisites:**

- A basic understanding of how Grover’s algorithm works. If you completed the prior module, Solving graph coloring problems using Grover’s search, you’re all set. Otherwise, you can find the overview in the Grover’s search algorithm unit of that module.
- A functioning QDK environment in Visual Studio Code for command-line applications.

**This module is part of these learning paths:**

Q1. What are the domain-specific Q# libraries provided with the QDK?

- Standard, chemistry, numerics, and machine learning
- Arithmetic, preparation, and diagnostics
**Chemistry, numerics, and machine learning**

Q2. How can you use additional Q# libraries besides the standard library?

- Simply create a Q# project and start programming.
**Add the corresponding NuGet package to a Q# project.**

Q3. The Q# API documentation is…

- something only experts should use as a reference.
- neither worth exploring nor using as a reference when writing programs.
**automatically generated from documentation comments in the source code, and is published on the Microsoft Quantum Documentation website.**

Q4. Documentation comments are denoted with _____ slashes, and should go immediately _____ the callable or type declaration to be interpreted as such by the compiler.

- two; before
- two; after
**three; before**- three; after

Get started with quantum computing on Azure Quantum and learn how to create and run Q# quantum programs on quantum computers in the cloud.

**Learning objectives:**

After completing this module, you’ll be able to:

- Differentiate and comprehend the main hardware solutions for quantum computers.
- Understand how Azure Quantum provides you with access to quantum devices to run quantum algorithms.
- Adapt and create Q# applications to run them in Azure Quantum.
- Submit and manage jobs in Azure Quantum in a Jupyter notebook in the Azure Quantum portal.

**Prerequisites:**

- Get started with Azure Quantum
- Solve graph coloring problems by using Grover’s search
- An Azure Quantum workspace

**This module is part of these learning paths:**

Q1. Which one of the following statements is false?

- Azure Quantum is a cloud hub that provides access to quantum computers in the cloud.
- With Azure Quantum, you can run your Q# programs in trapped ion quantum computers.
**With Azure Quantum, you can only run algorithms in quantum computers, but for simulations you need them to run locally in your computer.**

Q2. A trapped ion quantum computer is:

**A quantum computer that uses ions suspended in an electromagnetic field in the vacuum as the basic element to represent qubits.**- The only existing type of quantum computers to date.
- A quantum computer that only allows a certain set of transformations that is not universal.

Q3. Which of the following statements is true?

- This code
*can*run in a target with the No Control Flow profile:`if (M(qubit) == One) { ... }`

- This code
*can’t*run in a target with the Basic Measurement Feedback profile:`if (M(qubit) == One) { X(qubit); }`

**This code***can’t*run in a target with the Basic Measurement Feedback profile:**if (M(qubit) == One) { return M(qubit); }**

Learn how quantum-inspired algorithms mimic quantum physics to solve difficult optimization problems.

**Learning objectives:**

In this module, you’ll:

- Learn about the origins of quantum-inspired algorithms.
- See which kinds of problems are best suited to this method.
- Understand how algorithms inspired by physical processes are used to solve difficult problems.
- Solve a combinatorial optimization problem by using the Azure Quantum optimization service.

**Prerequisites:**

- An Azure account with an active subscription.
- An Azure Quantum workspace with the
**Microsoft QIO**provider enabled.

If you don’t have these tools yet, we recommend that you begin with the Get started with Azure Quantum module.

**This module is part of these learning paths:**

Q1. Which of these is a good candidate for applying quantum-inspired optimization (QIO)?

- You need to find a solution faster than with other optimization techniques for a fixed use case and fixed quality of solution.
- You need to find a higher quality solution than with other optimization techniques for a fixed problem and fixed amount of time.
- You need to consider many variables to form a more realistic model.
**All of the above.**

Q2. Which optimization landscape is most ideal for applying QIO?

- Landscape is structured, but smooth.
**Landscape is structured, but rugged.**- Landscape is completely random.

Q3. What’s the difference between simulated annealing and quantum annealing?

**Simulated annealing uses thermal jumps to overcome energy barriers. Quantum annealing uses quantum tunneling to travel through energy barriers.**- Simulated annealing can discover only the local minimum of a cost function. Quantum annealing can discover the global minimum.
- They’re different names used to describe the same physical process.

Learn how to use the Azure Quantum optimization service to solve a job shop scheduling problem.

**Learning objectives:**

After completing this module, you’ll be able to:

- Identify and build problem constraints for the job shop scheduling problem
- Convert problem constraints to a penalty model
- Learn how to represent the penalty model using Azure Quantum
- Solve optimization problems using Azure Quantum

**Prerequisites:**

- The latest version of the Python SDK for Azure Quantum
- Jupyter Notebook
- An Azure Quantum workspace

If you don’t have these tools yet, we recommend that you follow the Get started with Azure Quantum module first.

**This module is part of these learning paths:**

Q1. Which is the correct definition for the precedence constraint?

- Each operation is started once and only once.
- Jobs must take place in order.
**Operations in a job must take place in order.**- Machines can only do one thing at a time.

Q2. Which of these scenarios violates the no-overlap constraint? The scenario: operations 1 and 2 require the same machine. Operation 1 takes two time steps and operation 2 takes 1 time step.

**Operation 1 starts at time t = 0, operation 2 starts at time t = 1.**- Operation 1 starts at time t = 0, operation 2 starts at time t = 2.
- Operation 1 starts at time t = 1, operation 2 starts at time t = 4.
- Operation 1 starts at time t = 2, operation 2 starts at time t = 4.

Q3. Which of these scenarios is a valid solution? The bit strings shown indicate the xi,t values for one operation, from t=0 to t=3. For simplicity, we will refer to xi,t as x in the answer explanations.

- 1 0 1 0
- 0 0 0 0
- 1 0 1 1
**0 1 0 0**

I hope this Quantum computing foundations Microsoft Quiz Answers would be useful for you to learn something new from this problem. If it helped you then don’t forget to bookmark our site for more Coding Solutions.

This Problem is intended for audiences of all experiences who are interested in learning about Data Science in a business context; there are no prerequisites.

Keep Learning!