Here you will find demonstrations showcasing quantum optimization. Explore various topics and ideas, such as the shots-frugal Rosalin optimizer, the variational quantum thermalizer, or barren plateaus in quantum neural networks.
.. gallery-item:: :tooltip: Construct and optimize circuits with SU(N) gates :figure: demonstrations/here_comes_the_sun/thumbnail_tutorial_here_comes_the_sun.png :description: :doc:`demos/tutorial_here_comes_the_sun` :tags: quantumcomputing circuitdesign
.. gallery-item:: :tooltip: Learn how to implement QAOA workflows with PennyLane :figure: demonstrations/qaoa_module/qaoa_layer.png :description: :doc:`demos/tutorial_qaoa_intro` :tags: autograd beginner
.. gallery-item:: :tooltip: Faster optimization convergence using quantum natural gradient. :figure: demonstrations/quantum_natural_gradient/qng_optimization.png :description: :doc:`demos/tutorial_quantum_natural_gradient` :tags: autograd
.. gallery-item:: :tooltip: VQE optimization using quantum natural gradient. :figure: demonstrations/vqe_qng/vqe_qng_thumbnail.png :description: :doc:`demos/tutorial_vqe_qng` :tags: chemistry
.. gallery-item:: :tooltip: Barren plateaus in quantum neural networks. :figure: demonstrations/barren_plateaus/surface.png :description: :doc:`demos/tutorial_barren_plateaus` :tags: autograd
.. gallery-item:: :tooltip: Understand the difference between local and global cost functions. :figure: demonstrations/local_cost_functions/Local_Thumbnail.png :description: :doc:`demos/tutorial_local_cost_functions` :tags: autograd
.. gallery-item:: :tooltip: Reduce the number of device executions by using a stochastic approximation optimization. :figure: demonstrations/spsa/spsa_mntn.png :description: :doc:`demos/tutorial_spsa` :tags: gradients qiskit
.. gallery-item:: :tooltip: Reconstruct and differentiate univariate quantum functions. :figure: demonstrations/general_parshift/thumbnail_genpar.png :description: :doc:`demos/tutorial_general_parshift` :tags: gradients reconstruction
.. gallery-item:: :tooltip: Doubly stochastic gradient descent. :figure: demonstrations/doubly_stochastic/single_shot.png :description: :doc:`Doubly stochastic gradient descent <demos/tutorial_doubly_stochastic>` :tags: autograd
.. gallery-item:: :tooltip: Differentiate any qubit gate with the stochastic parameter-shift rule. :figure: demonstrations/stochastic_parameter_shift/stochastic_parameter_shift_thumbnail.png :description: :doc:`demos/tutorial_stochastic_parameter_shift` :tags: autograd
.. gallery-item:: :tooltip: Rotoselect algorithm. :figure: demonstrations/rotoselect/rotoselect_structure.png :description: :doc:`demos/tutorial_rotoselect` :tags: autograd
.. gallery-item:: :tooltip: Frugal shot optimization with the Rosalin optimizer. :figure: demonstrations/rosalin/rosalin_thumb.png :description: :doc:`demos/tutorial_rosalin` :tags: autograd
.. gallery-item:: :tooltip: Solve combinatorial problems without a classical optimizer. :figure: demonstrations/falqon/falqon_thumbnail.png :description: :doc:`demos/tutorial_falqon` :tags: autograd
.. gallery-item:: :tooltip: Build trigonometric local models of your cost function. :figure: demonstrations/quantum_analytic_descent/xkcd.png :description: :doc:`demos/tutorial_quantum_analytic_descent` :tags: optimization model vqe
.. gallery-item:: :tooltip: Optimizing measurement protocols with variational methods. :figure: demonstrations/quantum_metrology/illustration.png :description: :doc:`demos/tutorial_quantum_metrology` :tags: cirq metrology autograd
.. gallery-item:: :tooltip: Learn about the variational quantum thermalizer algorithm, an extension of VQE. :figure: demonstrations/vqt/thumbnail_vqt.png :description: :doc:`demos/tutorial_vqt` :tags: chemistry
.. gallery-item:: :tooltip: Variational Quantum Linear Solver. :figure: demonstrations/vqls/vqls_zoom.png :description: :doc:`demos/tutorial_vqls` :tags: autograd
.. gallery-item:: :tooltip: Coherent implementation of a variational quantum linear solver. :figure: demonstrations/coherent_vqls/cvqls_zoom.png :description: :doc:`demos/tutorial_coherent_vqls` :tags: autograd
.. gallery-item:: :tooltip: Optimize a Quantum Optical Neural Network using NLopt. :figure: demonstrations/qonn/qonn_thumbnail.png :description: :doc:`demos/qonn` :tags: autograd photonics
.. gallery-item:: :tooltip: Ising model example with PennyLane PyTorch interface. :figure: demonstrations/Ising_model/isingspins.png :description: :doc:`demos/tutorial_isingmodel_PyTorch` :tags: pytorch autograd
.. gallery-item:: :tooltip: Perform QAOA for MaxCut. :figure: demonstrations/qaoa_maxcut/qaoa_maxcut_partition.png :description: :doc:`demos/tutorial_qaoa_maxcut` :tags: autograd
.. gallery-item:: :tooltip: Quantum natural SPSA optimizer that reduces the number of quantum measurements in the optimization. :figure: demonstrations/qnspsa/qnspsa_cover.png :description: :doc:`demos/qnspsa` :tags: braket
.. gallery-item:: :tooltip: Learn how to use zne error mitigation and maintain differentiability. :figure: demonstrations/diffable-mitigation/diffable_mitigation_thumb.png :description: :doc:`demos/tutorial_diffable-mitigation` :tags: mitigation zero noise extrapolation differentiability autograd pytorch tensorflow jax
.. gallery-item:: :tooltip: Compute gradients of the solution of a variational algorithm using implicit differentiation. :figure: demonstrations/implicit_diff/descartes.png :description: :doc:`demos/tutorial_implicit_diff_susceptibility` :tags: implicit differentiation jax jaxopt ground state energy susceptibility VQA
.. gallery-item:: :tooltip: Use perturbative gadgets to avoid cost-function-dependent barren plateaus :figure: demonstrations/barren_gadgets/thumbnail_tutorial_barren_gadgets.png :description: :doc:`demos/tutorial_barren_gadgets` :tags: optimization barren plateaus
.. gallery-item:: :tooltip: Optimize pulse sequences to obtain digital gates :figure: demonstrations/optimal_control/thumbnail_tutorial_optimal_control.png :description: :doc:`demos/tutorial_optimal_control` :tags: optimal control pulse programming optimization
.. toctree:: :maxdepth: 2 :hidden: demos/tutorial_qaoa_intro demos/tutorial_quantum_natural_gradient demos/tutorial_vqe_qng demos/tutorial_barren_plateaus demos/tutorial_local_cost_functions demos/tutorial_spsa demos/tutorial_general_parshift demos/tutorial_doubly_stochastic demos/tutorial_stochastic_parameter_shift demos/tutorial_rotoselect demos/tutorial_rosalin demos/tutorial_falqon demos/tutorial_quantum_analytic_descent demos/tutorial_quantum_metrology demos/tutorial_vqt demos/tutorial_vqls demos/tutorial_coherent_vqls demos/qonn demos/tutorial_isingmodel_PyTorch demos/tutorial_qaoa_maxcut demos/qnspsa demos/tutorial_diffable-mitigation demos/tutorial_implicit_diff_susceptibility demos/tutorial_barren_gadgets demos/tutorial_here_comes_the_sun demos/tutorial_optimal_control