Variational algorithms
หน้านี้ยังไม่ได้รับการแปล คุณกำลังดูเวอร์ชันต้นฉบับภาษาอังกฤษ
Before beginning, please complete this short pre-course survey, which is important to help improve our content offerings and user experience.
This course covers the specifics of variational algorithms and near-term hybrid quantum-classical algorithms based on the variational theorem of quantum mechanics. These algorithms can leverage the utility provided by today's non-fault-tolerant quantum computers, making them ideal candidates to achieve quantum advantage.
Throughout this course, we will explore:
- Each step in the variational algorithm design workflow
- Trade-offs associated with each step
- How to use Qiskit Runtime primitives to optimize for speed and accuracy
While this course is meant to be a starting place for researchers and developers to explore the utility of quantum computers, feel free to explore the theoretical and foundational knowledge around quantum computing in general in the Basics of Quantum Information and Computation (also available as a series of YouTube videos).
Simplified hybrid workflow
Variational algorithms include several modular components that can be combined and optimized based on algorithm, software, and hardware advancements. This includes a cost function that describes a specific problem with a set of parameters, an ansatz to express the search space with these parameters, and an optimizer to iteratively explore the search space. During each iteration, the optimizer evaluates the cost function with the current parameters and selects the next iteration's parameters until it converges on an optimal solution. The hybrid nature of this family of algorithms comes from the fact that the cost functions are evaluated using quantum resources and optimized through classical ones.
-
Initialize problem: Variational algorithms start by initializing the quantum computer in a default state , then transforming it to some desired (non-parametrized) state , which we will call reference state.
This transformation is represented by the application of a unitary reference operator on the default state, such that .
-
Prepare ansatz: To begin iteratively optimizing from the default state to the target state , we must define a variational form to represent a collection of parametrized states for our variational algorithm to explore.
We refer to any particular combination of reference state and variational form as an ansatz, such that: . Ansatze will ultimately take the form of parametrized quantum circuits capable of taking the default state to the target state .
All in all we will have:
-
Evaluate cost function: We can encode our problem into a cost function as a linear combination of Pauli operators, run on a quantum system. While this can be information about a physical system, such as energy or spin, we can also encode non-physical problems as well. We can leverage Qiskit Runtime primitives to address noise with error suppression and mitigation while evaluating our cost function.
-
Optimize parameters: Evaluations are taken to a classical computer, where a classical optimizer analyzes them and chooses the next set of values for the variational parameters. If we have a pre-existing optimal solution, we can set it as an initial point to bootstrap our optimization. Using this initial state could help our optimizer find a valid solution faster.
-
Adjust ansatz parameters with results, and re-run: The entire process is repeated until the classical optimizer's finalization criteria are met, and an optimal set of parameter values is returned. The proposed solution state for our problem will then be