
The variational quantum eigensolver (VQE) is one of the most promising algorithms to find eigenstates of a given Hamiltonian on noisy intermediate-scale quantum devices (NISQ). The practical realization is limited by the complexity of quantum circuits. Here we present an approach to reduce quantum circuit complexity in VQE for electronic structure calculations.

Our ClusterVQE algorithm splits the initial qubit space into clusters which are further distributed on individual (shallower) quantum circuits. The clusters are obtained based on mutual information reflecting maximal entanglement between qubits, whereas inter-cluster correlation is taken into account via a new “dressed” Hamiltonian. ClusterVQE therefore allows exact simulation of the problem by using fewer qubits and shallower circuit depth at the cost of additional classical resources, making it a potential leader for quantum chemistry simulations on NISQ devices. Proof-of-principle demonstrations are presented for several molecular systems based on quantum simulators as well as IBM quantum devices.Īccurate molecular force fields are of paramount importance for the efficient implementation of molecular dynamics techniques at large scales. declare ( 'ro', 'BIT', 3 ) alice = Alice ( p, qubits =, name = 'alice' ) bob = Bob ( p, qubits =, name = 'bob' ) QConnect ( alice, bob ) CConnect ( alice, bob ) Simulation ( alice, bob ). pi / 2, 2 ) # Create Classical Memory ro = p. name ) p = Program () # Prepare psi p += H ( 2 ) p += RZ ( math. teleportation ( psi, a, b ) class Bob ( Agent ): ''' Bob waits for teleportation to complete ''' def run ( self ): # Receive Measurement from Cat-entangler self. Non-local controlled gates, and teleportation.įrom netQuil import * from pyquil import Program from pyquil.api import WavefunctionSimulator, QVMConnection from pyquil.gates import * class Alice ( Agent ): ''' Alice uses cat-entangler and cat-disentangler to teleport psi to Bob ''' def teleportation ( self, psi, a, b ): cat_entangler ( control = ( self, psi, a, ro ), targets =, entangled = False, notify = False ) cat_disentangler ( control = ( bob, b, ro ), targets =, ) def run ( self ): # Define Qubits a, psi = self. Primitive cat-entangler and cat-disentangler as introduced by Yimsiriwattana and Lomonaco Specifically, this library will introduce the Non-local operations commonly used in DQC. In this demo we introduce netQuil’s distributed protocol library that implements a set of Modify or interact with qubits that they do not manage without physically receiving the qubitsįrom a different node, performing teleportation, or via non-local operations. Node on a quantum network is connected via a classical and quantum channel and managers its ownĬlassical register for storing bits of information such as qubit measurements. In order to solve a problem too large for any single quantum computer.

As a result, current quantum computers are limited to solving smallĭistributed quantum computing (DQC) is a means of leveraging the computational power of a quantum network Due to a variety of constraints state-of-the-art quantum computersĪre limited to working with a small system of qubits.
