Methods and systems for quantum simulation

WO2026201921A1PCT designated stage Publication Date: 2026-10-01KVANTIFY APS
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2026/058177
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-03-24
Filing Date
2026-03-23
Publication Date
2026-10-01

Smart Images

  • Figure IMGF000014_0001
    Figure IMGF000014_0001
  • Figure IMGF000014_0002
    Figure IMGF000014_0002
  • Figure IMGF000014_0003
    Figure IMGF000014_0003
Patent Text Reader

Abstract

The present disclosure relates to computer-implemented methods and computer program code for performing a quantum simulation on at least one classical computing unit. According to the disclosure, the at least one classical computing unit is configured to perform the step of storing the data structure representing the state of the simulated quantum circuit, the data structure comprising at least one bit string, the at least one bit string being of length n and Hamming weight k, wherein the size of the data structure is determined at least on the basis of the number of possible bit strings of length n and Hamming weight k. It is further configured to update the data structure comprising the step of performing a first set of predetermined logic gate operations on the state, which comprises the further steps while preserving the bit string length n and the Hamming weight k. Finally, determining output data representing at least one property of the simulation object on the basis of at least part of the data structure may be performed.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] P7569PC00

[0002] METHODS AND SYSTEMS FOR QUANTUM SIMULATION

[0003] Introduction

[0004] The present disclosure relates to the fields of quantum simulation on classical computers and operation of quantum computers.

[0005] Background of the disclosure

[0006] Within the field of computer simulation and particularly within the field of computer simulation of quantum systems or simply quantum simulations it is often the object to perform a simulation of a quantum system. The simulation may be performed on a classical computing unit with both the advantage of large amounts of computing power being available and the inherent difficulties of emulating quantum systems, classically. There exists a number of such simulators, such as the Amazon Braket simulator, the Google Cirq simulator, the PennyLane simulator, the IBM Qiskit simulator, and the Qulacs simulator. While all of the simulators may each provide certain advantages, they still lack capabilities in terms of, e.g., speed of simulations, and, in some instances, with respect to precision.

[0007] Summary of the disclosure

[0008] The following presents a simplified summary of one or more aspects in order to provide a basic understanding of such aspects. This summary is not an extensive overview of all contemplated aspects, and is not intended to identify key or critical elements of all aspects. Its purpose is to present some concepts of one or more aspects in a simplified form as a prelude to the more detailed description that is presented later.

[0009] In an aspect of the disclosure, a computer-implemented method of performing a quantum simulation on at least one classical computing unit is provided. According to the method, the at least one classical computing unit is configured to perform the steps of:

[0010] - receiving object data representing at least one property of a simulation object, - performing the quantum simulation, comprising the steps of:

[0011] - determining initial state data representing an initial state of a simulated quantum circuit on the basis of at least part of the object data, wherein the initial state data represents at least one bit string, the at least one bit string being of length n and Hamming weight k,P7569PC00

[0012] - storing the data structure representing the initial state of the simulated quantum circuit, the data structure comprising at least one bit string, the at least one bit string being of length n and Hamming weight k, wherein the size of the data structure is determined at least on the basis of the number of possible bit strings of length n and Hamming weight k,

[0013] - updating the data structure comprising the step of performing a first set of predetermined logic gate operations on the state of the simulated quantum circuit, comprising the further steps of:

[0014] - operating at least one first predetermined operator on the at least one bit string of the state of the simulated quantum circuit, wherein each first predetermined operator is predetermined to preserve the bit string length n and the Hamming weight k,

[0015] - storing the data structure representing the state of the simulated quantum circuit after operation of the first set of predetermined logic gate operations,

[0016] - determining output data representing at least one property of the simulation object on the basis of at least part of the data structure.

[0017] In an aspect of the disclosure, a method of operating a physical quantum computing unit is provided. The method comprises the steps of:

[0018] - performing the computer-implemented method of performing the quantum simulation according to any of the other aspects and embodiments,

[0019] - determining initial physical state data at least in part on the basis of the determined output data of the quantum simulation, and

[0020] - initialising the physical quantum computing unit at least in part on the basis of at least part of the initial physical state data.

[0021] In an aspect of the disclosure, a computer program product that facilitates a quantum simulation of at least one property of a simulation object on at least one classical computing unit is provided. The computer program product comprises a computer readable storage medium having program instructions embodied therewith, the program instructions being executable by a processor to cause the processor to: - receive, by the processor, object data representing at least one property of a simulation object,

[0022] - perform the quantum simulation, comprising the steps of:

[0023] - determine, by the processor, initial state data representing an initial state of a simulated quantum circuit on the basis of at least part of the object data, wherein theP7569PC00

[0024] initial state data represents at least one bit string, the at least one bit string being of length n and Hamming weight k,

[0025] - determine, by the processor, a data structure representing the state of the simulated quantum circuit, the data structure comprising at least one bit string, the at least one bit string being of length n and Hamming weight k, wherein the size of the data structure is determined at least on the basis of the number of possible bit strings of length n and Hamming weight k,

[0026] - update, by the processor, the data structure by at least performing a first set of predetermined logic gate operations on the state of the simulated quantum circuit, and by at least:

[0027] - performing, by the processor, each logic gate operation by operating at least one first predetermined operator on the at least one bit string of the state of the simulated quantum circuit, wherein each first predetermined operator is predetermined to preserve the bit string length n and the Hamming weight k, and

[0028] - determine, by the processor, output data representing at least one property of the simulation object on the basis of at least part of the data structure.

[0029] The program instructions of the presently disclosed computer program product may furthermore be executable by the processor to cause the processor to perform the presently disclosed computer-implemented method of performing the quantum simulation according to any of the other aspects and embodiments.

[0030] Accordingly, aspects and embodiments of the disclosure provide quantum simulation on at least one classical computing unit. By virtue of at least the initial state data representing at least one bit string of length n and Hamming weight k, and each predetermined first operator preserving the bit string length n and Hamming weight k, and the data structure with a size determined at least on the basis of the number of possible bit strings of length n and Hamming weight k, the output data is generated relatively quickly for relatively large n without necessarily introducing any approximations in the simulation. Moreover or additionally, by having the number of occupied states constant throughout the quantum simulation - represented by bit strings of Hamming weight k - the state of the simulated quantum circuit is able to be represented by a data structure, while the data structure may be stored as an array, e.g., in a fixed size and, e.g., contiguous piece of physical memory for relatively large n as compared to, e.g., a quantum simulation with no restrictions on the Hamming weightP7569PC00

[0031] k. Especially when the data structure is array data, said data may be significantly faster to retrieve and may allow, e.g., improved cache locality and branch prediction as compared to, e.g., data representing a state stored in a hash table. In some embodiments, the Hamming weight k of the at least one bit string corresponds to a cardinality.

[0032] Additionally or alternatively, by defining the at least one bit string of the state with a given Hamming weight k and preserving the Hamming weight k with each first predetermined operator, the state is able to be represented by a data structure, even for relatively large n. The bit string length n may, e.g., be defined in the quantum simulation as also being the number of simulated qubits in the simulated quantum circuit. With the computational advantages of a data structure presented above, present disclosure may provide relatively fast quantum simulations with relatively large numbers of simulated qubits with relatively small physical memory footprint.

[0033] The step of determining output data representing at least one property of the simulation object on the basis of at least part of the data structure in some embodiments comprise calculation of an expectation value for the at least one property of the state of the simulation object. The expectation value may, e.g., be the energy of the state, in which case the expectation value may be determined on the basis of at least part of the data structure and a Hamiltonian defined for the simulation object. As such, in some embodiments, the expectation value for the energy of the simulation object is calculated as <i| / | H| I|J> where H is the Hamiltonian, and |i| / ) denotes the state vector represented by the at least one bit string. In some implementations of the method, the output data is based on a sample drawn from a probability distribution encoded by the coefficients of the state vector.

[0034] The expectation value may also be calculated for other properties of the simulation object of interest, such as, e.g., spin, binding affinity.

[0035] Brief description of the drawings

[0036] The appended drawings illustrate only some implementation and are therefore not to be considered limiting of the scope.

[0037] Fig. 1 illustrates a flow chart of a quantum simulation,P7569PC00

[0038] Fig. 2 illustrates a graphical overview of an implementation of a quantum simulation,

[0039] Fig. 3 presents a graphical comparison of cost optimization and precision,

[0040] Fig. 4 illustrates a diagram of simulations of security portfolio management,

[0041] Figs. 5 and 6 illustrate results of quantum simulation applied to a chemical problem, and

[0042] Fig. 7 illustrates results of quantum simulation applied to a problem of telecommunication tower coverage maximization.

[0043] Detailed description

[0044] The detailed description set forth below in connection with the appended drawings is intended as a description of various configurations and is not intended to represent the only configurations in which the concepts described herein can be practiced. The detailed description includes specific details for the purpose of providing a thorough understanding of various concepts. However, it will be apparent to those skilled in the art that these concepts can be practiced without these specific details.

[0045] A few definitions are provided by way of illustration of the scope of some terms used in the disclosure. For example, a quantum simulation may refer to simulation of quantum computer gate operations on a quantum state, such as, e.g., simulating quantum logic gate operations on a quantum state, the simulations being performed on a classical computer.

[0046] A classical computing unit is in present context to be understood as any system comprising one or more classical computers or computing units. The classical computing unit may further have different components arranged at different locations, such as, e.g., physical memory in one location and CPU and / or GPU type physical components at one or more other locations, the different physical components being arranged in data communication.P7569PC00

[0047] The bit string length n is in some embodiments understood as being equal to the number of virtual qubits in the quantum simulation.

[0048] The Hamming weight k is in some embodiments where the simulation object represents, e.g., a molecule with orbitals, understood as also being equal to the number of occupied orbitals and / or simulated electrons. In such embodiments, the bit string length n may be understood as the number of orbitals of the simulation object.

[0049] The simulation object may be understood broadly as any object or collection of objects that may have some aspect of it or them represented by a bit string of length n and Hamming weight k. As such, the simulation object may, e.g., be of logistic nature, such as, e.g., a number n of potential wind mill sites and, e.g., a number k of wind mills to distribute among the wind mill sites. Similarly, the simulation object may be a number n of potential reforestation sites with a number of k sites to be reforested. In some embodiments, the simulation object is of molecular nature, such as, e.g., a molecule with n orbitals and k electrons to occupy the orbitals.

[0050] A bit string is to be understood as a string of bits, such as, e.g., [000101] a bit string of length n = 6 and Hamming weight k = 2. Another bit string of length n = 6 and Hamming weight k = 2 is [000011]. A Hamming weight preserving operator U may accordingly be one that operates as U[000011] = [000101]. Bit string lengths n and Hamming weights k other than the above are also envisioned.

[0051] A trivial operator operation may be understood as an operator that does not change the bits of a given bit string when operating thereon. Moreover, it may be understood as an operation that does not change the sequence of bits in the given bit string, such as, not changing the sequence of 1 ’s and 0’s in the given bit string.

[0052] A predetermined operator may be understood as a set of predetermined mathematical operations. The predetermined mathematical operations may be applied to the at least one bit string of the state. As such, they may be applied to each bit string of the state. They may also be applied to a subset of the at least one bit string of the state.

[0053] In some embodiments the first predetermined operators comprise the, e.g., single and double fermionic operators given, e.g., by:P7569PC00

[0054] O(a^a.; — aJa,-) i 0(a\ ata.;a.j — a^a^ai. a?

[0055]

[0056] €- J1i J ' 3,1'IQ gvfc €1J 'i jK c

[0057] Here at and aj denote fermionic creation and annihilation operators, respectively. These operators preserve the Hamming weight k of the at least one bit string. In embodiments where the simulation object is of molecular nature, such as, e.g., a molecule with n orbitals and k electrons, the operators may be said to preserve the number of electrons k in the orbitals n.

[0058] In some embodiments the first predetermined operators comprise operators such as, e.g.,:

[0059] e(XiXi+YiY.j+Z.lZi}

[0060]

[0061] e

[0062] Where X Y^and Z;denote the Pauli Matrices given by:

[0063] crz—

[0064]

[0065] Other sets of operators preserving the Hamming weight k are known to the skilled person and may, as such, form part of the common general knowledge of the skilled person.

[0066] The data structure used to represent the at least one bit string may be any suitable type of data structure. For example, the data structure may be in the form of array data, such as a one-dimensional or multi-dimensional array, or in the form of a hash table, for example, mapping bit strings to corresponding amplitudes.

[0067] In some embodiments, the at least one classical computing unit is further configured to perform the steps of:

[0068] - storing operator data representing for each first operator if it acts non-trivially on each of the bit strings of the at least one bit string of the state,P7569PC00

[0069] - performing a second set of predetermined logic gate operations comprising operating at least one second predetermined operator on the at least one bit string of the state, wherein:

[0070] - each predetermined second operator is predetermined to preserve the bit string length n and the Hamming weight k, and wherein

[0071] - each predetermined second operator is operated on the data structure at least in part on the basis of the operator data, and the step of:

[0072] - storing the data structure representing the state of the simulated quantum circuit after operation of the second set of predetermined logic gate operations.

[0073] In some embodiments, the operator data accordingly comprises data on how each first operator acts on each of the bit strings of the at least one bit string of the state. More specifically, in some embodiments it comprises data representing what bit strings of the state each first operator acts non-trivially on. Alternatively or additionally, data on what bit strings that are changed non-trivially as a consequence of operating each first operator on them. Storing and / or caching such operator data may further increase the speed of the quantum simulation as it may be relatively simple to predict what predetermined third operators that act non-trivially on what bit strings of the at least one bit string of the state from the operator data. One way of achieving such speed up may be by skipping operator operations on bit strings that would lead to trivial operations and no change in bit string.

[0074] In some embodiments, the predetermined second operators comprise a linear combination of predetermined first operators. In some embodiments, the predetermined second operators comprise a variation of predetermined first operators, wherein corresponding predetermined first and second operators differ by at least one scalar. Moreover, in some embodiments, the bit flipping properties of corresponding predetermined first and second operators are the same. In other words, in some embodiments, corresponding predetermined first and second operators may impose different coefficient changes on a given bit string but impose the same bit changes on a given bit string. In the case of bit strings with 1 ’s and 0’s corresponding predetermined first and second operators may change the 1 ’s and 0’s in a similar Hamming weight preserving manner, while the coefficient or scalar weighing each 1 and 0 may be changed different amounts by the corresponding predetermined first and secondP7569PC00

[0075] operators.

[0076] In some embodiments, at least one classical computing unit is further configured to perform the steps of:

[0077] - storing operator data representing for each second operator if it acts non-trivially on each of the bit strings of the at least one bit string of the state,

[0078] - performing a third set of predetermined logic gate operations comprising operating at least one third predetermined operator on the at least one bit string of the state, wherein:

[0079] - each predetermined third operator is predetermined to preserve the bit string length n and the Hamming weight k, and wherein

[0080] - each predetermined third operator is operated on the data structure at least in part on the basis of the operator data, and the step of:

[0081] - storing the data structure representing the state of the simulated quantum circuit after operation of the third set of predetermined logic gate operations.

[0082] In some embodiments, the operator data accordingly comprises data on how each second operator acts on each of the bit strings of the at least one bit string of the state. More specifically, in some embodiments it comprises data representing what bit strings of the state each second operator acts non-trivially on. Alternatively or additionally, data on what bit strings that are changed non-trivially as a consequence of operating each second operator on them. Storing and / or caching such operator data may further increase the speed of the quantum simulation as it may be relatively simple to predict what predetermined third operators that act non-trivially on what bit strings of the at least one bit string of the state from the operator data. One way of achieving such speed up may be by skipping operator operations on bit strings that would lead to trivial operations and no change in bit string.

[0083] In some embodiments, the predetermined third operators comprise a linear combination of predetermined second operators. In some embodiments, the predetermined third operators comprise a variation of predetermined second operators, wherein corresponding predetermined second and third operators differ by at least one scalar. Moreover, in some embodiments, the bit flipping properties of corresponding predetermined second and third operators are the same. In other words, in some embodiments, corresponding predetermined second and third operators may imposeP7569PC00

[0084] different coefficient changes on a given bit string but impose the same bit changes on a given bit string. In the case of bit strings with 1 ’s and 0’s corresponding predetermined second and third operators may change the 1 ’s and 0’s in a similar Hamming weight preserving manner, while the coefficient or scalar weighing each 1 and 0 may be changed different amounts by the corresponding predetermined second and third operators.

[0085] In some embodiments, the operator data comprises data representing for each operator an index of what bit strings of the at least one bit string of the state it acts non-trivially on. Storing such index as part of the operator data may further speed up the quantum simulation, as it may be a relatively simple way of storing data representing what predetermined first, second, and / or third operators act non-trivially on what bit strings of the at least one bit string of the state, while also providing a relatively simple and quick way to retrieve the operator data and to perform operations on the basis thereof.

[0086] In some embodiments, the at least one classical computing unit is further configured to perform the steps of:

[0087] - receiving Hamiltonian data representing a Hamiltonian associated with the simulation object, wherein the Hamiltonian of the Hamiltonian data comprises a plurality of Pauli strings, each Pauli string comprising a plurality of X, Y, I and / or Z Pauli matrices, - determining for each Pauli string if it comprises at least one X and / or Y Pauli matrix, - storing Pauli data representing at least one Pauli string comprising at least one X and / or Y Pauli matrix,

[0088] - determining output data representing at least one expectation value for at least one property of the simulation object, the output data being determined on the basis of at least part of the operator data, at least part of the data structure, at least part of the Hamiltonian data, and at least part of the Pauli data.

[0089] Accordingly, in some embodiments, the quantum simulation comprises receiving Hamiltonian data representing a Hamiltonian comprising a plurality of Pauli strings of Pauli matrices. Having the Hamiltonian comprise such plurality of Pauli strings offers a relatively fast way of determining the expectation value. The Hamiltonian may, however, be relatively large for, e.g., chemistry related simulation objects offering a potential bottle neck for the quantum simulation. Determining output data also on theP7569PC00

[0090] basis of the stored Pauli data as above, may allow for relatively quick determination of the at least one expectation value. An X Pauli matrix or a Y Pauli matrix acting on a bit of a bit string will change that bit from 1 to 0 or 0 to 1 so that Pauli strings containing X and / or Y will map |b) — P |b> = c |b'> for a single bit string and constant c, where b =# b'. So if no predetermined operators have operated non-trivially on a given bit string |b>, the expectation value for that bit string |b) with the Pauli string containing X and / or Y will be <b| P |b> = <b|c|b'> = c(b|b') = 0. Accordingly, such terms do not contribute to the expectation value of the output data and may be set to zero in the determination of the output data without necessarily having to calculate the expectation value for such terms. Accordingly, present embodiments may provide a relatively fast way of determining output data representing at least one expectation value.

[0091] In some embodiments, the at least one classical computing unit is further configured to perform the steps of:

[0092] - for each Pauli string comprising at least one X and / or Y Pauli matrix determining what bit positions each X and / or Y Pauli matrix acts on,

[0093] - storing data comprised in the Pauli data representing the coordinates of each X and / or Y Pauli matrix in the at least one Pauli string, and

[0094] - determining on the basis of at least part of the operator data and at least part of the Pauli data if for at least one Pauli string comprising at least one X and / or Y Pauli matrix, the first, second, and / or third set of predetermined logic gate operations has acted non-trivially on the at least one bit position of the at least one bit string of the state corresponding to the coordinate of the at least one X and / or Y Pauli matrix of the at least one Pauli string.

[0095] By virtue of the Pauli data comprising data representing the coordinates of each X and / or Y Pauli matrix in the at least one Pauli string, it may be possible to determine on the basis of the Pauli data and the operator data if corresponding bits of the bit string of the state have been changed by a predetermined operator. The expectation value for such terms may be calculated trivially as <b| P|b> = <b|c|b'> = c(b|b') = 0 without necessarily having to calculate any terms explicitly. Moreover, in one embodiment, until a predetermined gate has acted on all bit positions of a bit string affected by X’s and Y’s of a given Pauli string, the expectation value of the bit string with that Pauli string is 0. Accordingly, present embodiments may provide a relatively fast way of determiningP7569PC00

[0096] output data representing at least one expectation value.

[0097] In some embodiments, the at least one classical computing unit is further configured to perform the step of:

[0098] - determining state index data representing at least an index of each bit string of the at least one bit string of the data structure.

[0099] The index data may be stored in quickly accessible memory such as the RAM or CACHE of the classical computer unit. Storing the index data allows for relatively quick retrieval of each bit string of the at least one bit string of the data structure. This may, e.g., speed up the process of storing operator data and may, e.g., speed up the process of operating predetermined operators on the data structure at least in part on the basis of the operator data.

[0100] In some embodiments, the at least one classical computing unit is further configured to perform the step of storing the data structure representing the state at least in part as an array of fixed size contiguous physical memory. By storing the data structure in a fixed size contiguous physical memory, loading the data structure, particularly loading a specific bit string and potentially the one before or after, caching certain properties of the data structure, such as the index of bit strings of the at least one bit string of the state may each and all be done relatively quickly.

[0101] Having the data structure stored in a fixed size contiguous physical memory is enabled at least in part by having data structure representing the state of the simulated quantum circuit comprise at least one bit string, the at least one bit string being of length n and Hamming weight k, wherein the size of the data structure is determined at least on the basis of the number of possible bit strings of length n and Hamming weight k.

[0102] In some embodiments, the at least one classical computing unit is further configured to perform the step of storing operator act data comprising data representing what changes are imposed on at least one set of bits of the at least one bit string of the state by having at least some elements of a first, second, and / or third operator act on the at least one set of bits. This may be particularly advantageous when, e.g., a given first, second, and / or third operator acts non-trivially in a similar way on repeating bits or bitP7569PC00

[0103] combinations in bit strings of the at least one bit string of the state. For instance, some gates such as the single and double fermionic operators add an angle, 0 dependent terms to the coefficients of certain bit combinations and such terms may advantageously be precomputed and stored in the operator act data. It could, e.g., be done by precomputing one or more non-trivial changes on one or more potential bit string sequences and store it in the operator act data, or could, e.g., be done by storing the results of the gate operations after the first, second and / or third set of predetermined logic gate operations.

[0104] In some embodiments, the at least one classical computing unit is further configured to perform the step of determining operator act data on the basis of acting at least some elements of the first, second, and / or third operator on at least one set of bits prior to operating the first, second, and / or third operator on the at least one bit string of the state. This may be a particularly advantageous way of determining operator act data as it requires no previous knowledge of the exact operations caused by the predetermined operators.

[0105] In some embodiments, the at least one bit string of the state comprises at least one coefficient, and wherein each coefficient is a real number. This further limits the size of the data structure per simulated qubit, i.e., per bit n in the at least one bit string of the state. The size of the data structure may accordingly be, e.g., halved by limiting coefficients to real numbers. Similarly, certain computations may also be significantly simplified by limiting the coefficients to real numbers, such as, e.g., a product, which for complex numbers is:

[0106] (a + bi) X (c + di) = (a X c — b X d) + (a X d + b X c)i .

[0107] In some embodiments, at least one first, second, and / or third operator acts non-trivially on bit strings in groups of at least two, and wherein the method comprises the further steps of:

[0108] - identifying a first bit string of the group by acting the at least one first, second and / or third operator on the at least one bit string of the state, and

[0109] - identifying at least a second bit string of the group by running an XOR function with input comprising the first bit string of the group and input comprising a bit string comprising an even number, such as zero, at bit indices other than the bit indices the atP7569PC00

[0110] least one first, second, and / or third operator acts non-trivially on, and comprising an uneven number, such as one, at bit indices the at least one first, second, and / or third operator acts non-trivially on. This may be a particularly quick way to identify pairs of bit strings that the first, second, and / or third predetermined operator acts non-trivially on. It may further be advantageous to store the pairs of bit strings and / or the indices of the pairs of bit strings represented as string pair data, and to further operate the next set of first, second, and / or third operators on the at least one bit string of the state also on the basis of at least part of the string pair data.

[0111] In some embodiments, the method comprises the further step of measuring at least one property of a physical object to be simulated as the simulation object, and wherein the object data represents at least the measured at least one property. By virtue of such embodiments, it is possible to directly link the quantum simulation to a physical object. This may be particularly advantageous for, e.g., chemical and / or pharmaceutical applications, where it may be desired to predict one or more further properties of a molecule on the basis of at least one measured property.

[0112] In some embodiments, the method comprises the further step of manipulating a physical object at least in part on the basis of at least part of the output data. This may be particularly advantageous for, e.g., chemical and / or pharmaceutical applications, where it may be desired to utilize the quantum simulation to simulate, e.g., one or more manipulations of, e.g., one or more molecules and then manipulate the physical object, such as one or more molecules, on the basis of the simulated one or more manipulations, i.e., one or more sets of output data.

[0113] In some embodiments, the method further comprises the step of removing at least one bit string of length n and Hamming weight k after at least one predetermined operator has acted on at least one bit string of Hamming weight k, based on an amplitude associated with the at least one bit string. By removing bit strings with relatively small amplitudes, the data structure may be kept at a manageable size, which may in turn improve the speed and memory efficiency of the quantum simulation. In some embodiments, after each removal of a bit string, the amplitudes of the remaining bit strings may be renormalised.

[0114] In some embodiments, the step of removing the at least one bit string is based on the amplitude magnitude being below a predefined threshold and / or to reduce a totalP7569PC00

[0115] number of stored bit strings below a maximum allowable number of bit strings. Setting a predefined threshold may, for example, allow for a balance between precision and computational efficiency, while limiting the total number of stored bit strings may, for example, provide an upper bound on memory consumption.

[0116] Additionally, or alternatively, the present disclosure further extends to the use of the output data for modifying a physical object, such as a molecule. In chemical or pharmaceutical applications, the simulation object may be a virtual representation of a candidate molecule, for example a candidate drug molecule, and the output data may be used to select and perform one or more structural modifications of the corresponding physical molecule. Such structural modifications may comprise, for instance, introducing, replacing, or removing afunctional group, or performing any other structural change intended to influence a physical or chemical property of the physical molecule, for example binding affinity or residence time. In this manner, the output data determined according to any method of the present disclosure may be used to guide the modification of a physical molecule, for example by selecting structural modifications that replicate or correspond to properties indicated by the simulated object. Accordingly, the methods disclosed herein may be employed to determine output data for a plurality of candidate molecules, for example candidate molecules differing by one or more functional groups, and the output data may be used to perform corresponding structural modifications of a physical molecule as part of a molecular design or drug-optimisation process.

[0117] In some embodiments, the computer-implemented method is a noisy simulation, the method further comprising the step of: selecting at least one operator at random and operating the at least one operator on an intermediate result of the at least one first, second, or third predetermined operator acting on the at least one bit string of length n and Hamming weight k. The at least one operator selected at random may be selected from a predetermined pool of operators. The operators in the predetermined pool may be based on the Pauli operators, for example, a combination of one or more of the Pauli operators. In some embodiments, the predetermined pool of operators comprises the Pauli operators I, X, Y, and Z, wherein I denotes the identity operator, X denotes the Pauli-X operator, Y denotes the Pauli-Y operator, and Z denotes the Pauli-Z operator. The identity operator I, when selected, does not change the bit string on which it acts. The Pauli-X and Pauli-Y operators, when acting on a bit of a bit string,P7569PC00

[0118] may cause a bit flip, i.e., a change of a bit value from 0 to 1 or from 1 to 0. The Pauli-Y and Pauli-Z operators, when acting on a bit of a bit string, may cause a phase error, i.e., a change of sign of a coefficient associated with a bit string of the state. The probability of selecting each operator from the predetermined pool is preferably connected to a probability of an error occurring on a quantum computer which is being simulated. In this manner, the at least one operator selected at random may model noise or errors that would occur on a physical quantum computer, thus providing the noisy simulation. In some embodiments, the at least one operator selected at random is applied during each of the first, second, and / or third sets of predetermined logic gate operations, such that the at least one operator selected at random operates on an intermediate result between successive applications of the predetermined operators. The application of operators other than the identity operator I from the predetermined pool may break the constraint of fixed Hamming weight of the at least one bit string of the state.

[0119] In some embodiments, the output of the at least one operator selected at random acting on at least one bit string with length n and Hamming weight k comprises at least one bit string with length n and Hamming weight k. As noted above, operators such as the Pauli-X and Pauli-Y operators may cause bit flips that change the Hamming weight of the at least one bit string. Accordingly, the output of the method after application of the at least one operator selected at random may comprise bit strings having a Hamming weight different from k. However, in some embodiments, the output comprises at least one bit string having the same Hamming weight k as the input bit string, even when other bit strings in the output may have a different Hamming weight.

[0120] In some embodiments, the computer-implemented method is repeated at least two times and the output of the at least two repetitions is combined into one output. Since the noisy simulation involves at least one operator selected at random, each repetition of the method may yield a different output due to the stochastic nature of the random operator selection. Combining the outputs of multiple repetitions may comprise, e.g., averaging the output data, such as averaging at least one output property, e.g., an expectation value, over the at least two repetitions. Such averaging may improve the statistical reliability and precision of the determined output data, and may converge towards the expected output of the noisy quantum computer being simulated as the number of repetitions increases.P7569PC00

[0121] In some embodiments, the input of the computer-implemented method contains at least one property of a quantum computer. For example, the at least one operator selected at random may be drawn from a probability distribution that is determined at least in part on the basis of the at least one property of the quantum computer. In other words, the probability distribution from which the at least one operator selected at random is selected is configured to mimic the error characteristics of a specific physical quantum computer. Incorporating such properties of a quantum computer into the simulation input may allow the classical noisy simulation to more accurately predict the behaviour of a real-world physical quantum computer, which may be advantageous, e.g., for benchmarking, for validating quantum algorithms under realistic noise conditions.

[0122] In some embodiments, the method is applied in the context of molecular screening. For example, the method may be used for screening drug candidates, ligand candidates, or protein targets such as enzyme candidates. In such embodiments, the output data determined by the method may be used to evaluate one or more properties of the candidate molecules, such as binding affinity, stability, reactivity, or other physical or chemical characteristics relevant to the screening process. The molecular screening may be performed in silico, for instance by simulating a plurality of candidate molecules and comparing the resulting output data to identify promising candidates for further investigation.

[0123] In some embodiments, the molecular screening further comprises ranking or selecting candidate molecules on the basis of the output data. For instance, a plurality of candidate molecules may be simulated according to the method, and the resulting output data may be used to rank the candidates according to one or more criteria, such as predicted binding affinity, free energy, interaction energy, or any other property derivable from the output data. In this manner, the method may facilitate the identification of promising molecular candidates for subsequent experimental validation or further computational analysis.

[0124] In some embodiments, the simulation object represents a protein, a ligand, or a protein-ligand complex. In such embodiments, the bit string of length n and Hamming weight k may represent one or more structural, electronic, or spin properties of a configuration of the protein, ligand, or protein-ligand complex, such as a molecule. For example, the bit string may encode an electronic configuration corresponding to one orP7569PC00

[0125] more active orbitals of the protein, ligand, or protein-ligand complex, or may represent a spin configuration relevant to the molecular properties of interest. The simulation object may thus serve as a virtual representation of the protein, ligand, or proteinligand complex within the quantum simulation framework described herein, and the output data may characterise one or more properties of the corresponding physical molecule.

[0126] Fig. 1 illustrates a flow chart 100 of embodiments of the quantum simulation on at least one classical computing unit. In step 101 , the classical computing unit receives object data. The object data may, e.g., be obtained from manual user input in the Ul or it may be obtained, e.g., from a provided data file. The object data represents at least one property of the simulation object to be simulated. In some embodiments, the at least one property has been, e.g., physically or chemically measured, in which case the simulation object may as such be said to represent a, e.g., physical object.

[0127] In step 102 of the flow chart 100, the quantum simulation is initiated, and the classical computing unit determines initial state data representing an initial state of the simulation object. The initial state data represents at least one bit string of length n and Hamming weight k, e.g., at least one bit string of length n with k ones and n - k zeros. In some embodiments, a unique coefficient is associated with each bit of each of the at least one bit string of the state. As such, each coefficient may be regarded as an amplitude of respective bits of the bit string.

[0128] In step 103 of the flow chart 100, the classical computing unit stores a data structure in, e.g., a fixed size and contiguous piece of physical memory as part of, or in data communication with, the classical computing unit. The data structure represents the state of the simulated quantum circuit and comprises at least one bit string of length n and Hamming weight k. The size of the data structure is determined at least on the basis of the number of possible bit strings of length n and Hamming weight k. Because of the restrictions on the at least one bit string of the data structure, it may be stored as an array, such as a fixed size, contiguous piece of memory for relatively large n.

[0129] In step 104 of the flow chart 100, the classical computing unit updates the data structure comprising performing a set of predetermined logic gate operations on the state. This comprises the further steps of 105, operating at least one firstP7569PC00

[0130] predetermined operator on the at least one bit string of the state. Each first predetermined operator is predetermined to preserve the bit string length n and Hamming weight k. Operator act data and operator data are stored for each first predetermined operator. The operator data comprises data representing what one or more bit strings of the state each first predetermined operator acts non-trivially on, and the operator act data comprises data representing what changes each first predetermined operator act on bit combinations of the at least one bit string of the state. As such, the operator act data enables precomputing certain gate operations for later sets of logic gate operations, and the operator data allows the classical computing unit to skip trivial gate operations. Accordingly, both of the operator data and the operator act data may help to significantly speed up computing the logic gate operations.

[0131] In step 106 of the flow chart 100, the data structure representing the state of the simulated quantum circuit after operation of the first set of predetermined logic gate operations is stored. The data structure may be updated and stored after, e.g., each of operation of each first predetermined operator, or imposed changes may, e.g., be cached and stored at certain intervals during the first set of predetermined logic gate operations, or, e.g., after all first predetermined logic gate operations. Again, this may be done relatively quickly, as the at least one bit string of the state is stored as data structure, stored, e.g., in a fixed size, contiguous piece of memory.

[0132] In step 107 of the flow chart 100, the classical computing unit determines output data representing at least one property of the simulation object on the basis of at least part of the data structure. In some embodiments, this is done by calculating an expectation value on the basis of received Hamiltonian data and the data structure. The Hamiltonian may comprise a plurality of Pauli strings of Pauli matrices, and the classical computing unit may determine and store Pauli data representing at least one Pauli string comprising at least one X and / or Y Pauli matrix, and the coordinates of each X and / or Y Pauli matrix in the at least one Pauli string, see above for more details. By virtue of the Pauli data comprising data representing the coordinates of each X and / or Y Pauli matrix in the at least one Pauli string, it may be possible to determine on the basis of the Pauli data and the operator data, if corresponding bits of the bit string of the state have been changed by a predetermined operator, which may allow relatively quick determination of the output data.P7569PC00

[0133] Steps 104-106 in flow chart 100 may be repeated with a set of second predetermined gate operations, and further with a set of third predetermined gate operations as described in more detail above. Steps 104-106 may generally be repeated in a cyclic manner. As such, an evaluation after step 106 may be performed. This may be determining at least one property, such as, e.g., the expectation value for the energy of the state of the simulation object as in step 107, or it may be determining a value of, e.g., a cost function. The cycles of steps 104-106 may then be repeated until the energy and / or cost is sufficiently low and / or converges towards some value described in more detail with reference to Fig. 2 below.

[0134] Fig. 2 illustrates a graphical overview 200 of an implementation of embodiments. In box 202, steps 103-106 are performed. Firstly, step 103 of determining initial state data is performed by operation of a set of Pauli X gates 204 and a Hadamard H gate 206 on the state represented by at least one bit string. The number of Pauli X gates 204 and Hadamard H gates 206 is chosen to provide a set of bit strings with Hamming weight k. Next, a first set of logic gate operations corresponding to steps 104-106 are performed. A set of first predetermined operators 208 are performed on the state represented by a bit string. Here the first predetermined operators 208 are predetermined to preserve the bit string length n and Hamming weight k and all operate depending on an angle 0, which for the first predetermined operators is set to 0initiai- The first predetermined operators 208 are given by:

[0135] = ^X^ + Y. Y,)

[0136]

[0137] where X and Y denotes Pauli matrices and the first predetermined operator Rz209 is the Pauli Z operator.

[0138] Next, a measurement is performed in box 210, which in the terminology of the present disclosure corresponds to step 106, storing the data structure representing the state of the simulated circuit. Next in box 212 a cost calculation is performed. If this cost calculation shows convergence, the state represented by the at least one bit string is provided as input to a classical optimization 214, and if the cost calculation does not show convergence, the first set of predetermined operators 208 are operated againP7569PC00

[0139] using the same ©initial- The classical optimization 214 may be tailored to a number of challenges, such as, e.g., molecular calculations, telecommunications mast placement optimization, or portfolio management. More details are provided on some of these below. If the cost function converged, the classical optimization is run and based on the outcome of the classical optimization , a ®i+iis provided and fed back as input to the second predetermined operators 208.

[0140] In the context of financial trading, a portfolio refers to a collection of securities, and in the most general sense, the objective of portfolio optimization, is to construct a portfolio by choosing a subset of available securities, with the intent of optimizing some predefined notion of value, given any number of contextually relevant constraints. It is generally a task of managing expected returns and risk. Specifically, given N securities to choose is a matter of determining:

[0141] argmin — w +| awTlw

[0142] W6BW

[0143] subject to i|w||o = k,

[0144] where |i G RNdenotes a vector containing the expected returns of the available securities, fl G RNXNdenotes the matrix covariances, ||w||0 the zero-norm, constraining feasible solution vectors to ones with k non-zero entries, that is, solutions representable by at least one bit string with length N and Hamming weight k. Finally, a G R>0denotes a risk tolerance parameter, with a high a indicating a high risk tolerance and vice versa. Accordingly, finding the minimum arguments as in the equation above may be regarded as the classical optimization 214 in the context of Fig.

[0145] 2.

[0146] Based on object data representing the number of securities to choose from, N and k securities to be chosen, the initial state data is determined. In this case, the initial state data may be determined as one bit string with k ones distributed evenly along the N bits according to embodiments of the disclosure. To generate the initial state data, we define:

[0147]

[0148] P7569PC00

[0149] where I i| ) denotes the initial state represented by the initial state data. The unitary operator UN:kplaces k ones in the bit string of zeros|0). The inventors have noted that it may be beneficial to evenly distribute the k ones over the N bits in the initial state. The predetermined operators are defined as:

[0150] U(0t) = H=

[0151]

[0152] (ij)eR (ijjeT?.

[0153] These predetermined operators preserve the length N and Hamming weight k of the at least one bit string of the state, or in other words preserve the circuit size N and cardinality k. As evident from the equation just above defining the operators, they are ©-dependent. As such, first predetermined operators may be obtained by choosing a ©t, the second predetermined operators obtained by choosing a 02different from 01, and the third predetermined operators by choosing a 03different from 0, and 02.

[0154] Generally, the next set of predetermined operators is obtained by choosing some 01+1on the basis of a cost function optimization followed by a classical optimization of:

[0155] argniin

[0156]

[0157] + awTClw

[0158] W&N

[0159] subject, to ||w||0= k.

[0160] In some embodiments, the method according to the present disclosure, as exemplified by the workflow illustrated in Fig. 2, is applied to obtain reaction pathways, such as the unbinding pathway of a ligand from a protein or an enzyme reaction pathway. In such embodiments, the object data provided in step 101 may represent a physical or chemical system, for example one or more geometrical configurations of the system, such as different positions of the system along a reaction pathway (for example, the positions of the constituent particles of the system at various points along the reaction pathway or dynamical process), including, for example, a reactant configuration, a bound ligand-protein complex, one or more intermediate system configurations, an unbound ligand-protein configuration, and / or a product configuration. Each geometrical configuration may be treated as a separate instance of object data for which initial state data is determined in accordance with step 102. For each configuration, a bit string of length n and Hamming weight k is generated to represent at least one property of thatP7569PC00

[0161] configuration (such as an electronic structure associated with the configuration), which may include, for example, orbital and / or spin structure configurations depending on the degrees of freedom of the system. One or more state preparation operations may then be applied to prepare the initial state, which in some embodiments may comprise, as an example, one or more Pauli and Hadamard gates as illustrated in Fig. 2. One or more first predetermined operators, such as exemplified by operators 208 and 209 in Fig. 2, are then applied as in step 104 to update the data structure, which may, for example, comprise array data, while preserving the bit string length n and the Hamming weight k. The remaining method steps then follow as illustrated above with reference to Fig. 2, and any of the presently disclosed method steps may further be applied for determining a reaction pathway, a transition state, an activation barrier, an energy profile, or any other associated structural and / or energy-related property of the simulated system. By restricting the state representation to bit strings of length n and Hamming weight k, the simulation is confined to a reduced active subspace, making the method more computationally efficient than conventional approaches for quantum simulation with usage, for instance, in determining reaction pathways and reaction dynamics.

[0162] The output of the method according to the present disclosure may be provided as input to any suitable reaction pathway or dynamical process method (i.e. a method for simulating the dynamics of a system, such as any method comprising a determination of the energy of a system) that requires calculation of an expectation value of the energy of a physical or chemical system or of a structural configuration thereof.

[0163] Accordingly, the present disclosure further relates to a method for determining a reaction pathway or for simulating the dynamics of a physical or chemical system, the method comprising any combination of the steps of the presently disclosed methods.

[0164] Fig. 3 represents a graphical comparison 300 of cost optimization and precision of the quantum simulator of present disclosure for the portfolio management problem as described above and a Quantum Approximate Optimization Algorithm (QAOA) method. The QAOA method generally operates by mixing the state into the entire state space, while trying to minimize the expectation value of some problem specific cost Hamiltonian, in this case specific to the portfolio optimization problem, see, e.g., E. Farhi, J. Goldstone, and S. Gutmann, A quantum approximate optimization algorithm, 2014. arXiv: 1411.4028 [quant-ph] for more details on the QAOA method. In the left or lower half 302 of Fig. 3, the normalized cost is plotted on the y-axes 304 against the bitP7569PC00

[0165] string length or portfolio size N on the x-axes 306. CPVQA denotes the quantum simulation of present disclosure, while QAOA denotes the prior art QAOA method. As evident from the plots in 302, the normalized cost is significantly lower for the simulation of present disclosure than the prior art QAOA method for present portfolio optimization problem. The cost function calculation corresponds to box 212 in Fig. 2. The right or upper half 308 of Fig. 3 is a plot of the precision of the algorithms. The y-axes 310 marks the probability of the algorithm identifying an optimum solution and the x-axes 312 marks the bit string length or portfolio size N. It is evident that the quantum simulation of present disclosure is superior also to the prior art QAOA method with respect to precision. As a comparison between the solid line labelled “Random state” and the dotted QAOA line show, the QAOA method struggles with achieving higher precision than a randomly chosen state with a portfolio size N and k securities (bit string length N and Hamming weight k).

[0166] Fig. 4 illustrates a diagram 400 of graphs representing simulations of security portfolio management on the quantum simulator of present disclosure and other prior art simulators. On the vertical y-axes 402 time is counted in seconds on a logarithmic scale and the x-axes 404 counts bit string length n also corresponding to the simulated quantum circuit size N. The hollow circles on the solid graph labelled Novel subspace simulator represents simulation results obtained from using the portfolio optimization method of present disclosure described just above. The other results are obtained by performing corresponding simulations on prior art quantum simulators. The other quantum simulators are Amazon Braket v. 1.83.0; Google Cirq v. 1.4.1 ; PennyLane-Q v. 0.35.1 ; IBM Qiskit v. 1.0.2; and the Qulacs Simulator v. 0.6.3. As evident from the graphs, the quantum simulator of present disclosure is significantly faster than all the prior art simulators, while it is even orders of magnitude faster than all prior art simulators as N approaches 15.

[0167] Figs. 5 and 6 illustrate diagrams 500 and 600 of comparisons between the quantum simulation of present disclosure and prior art quantum simulators applied to a chemical problem. In the presented case, it is calculating the expectation value for the ground state energy for molecules of different sizes, i.e., different sizes of molecules, each with a given number of spin orbitals N and given number of occupied spin orbitals k. The number of spin orbitals N is equal to the number of simulated qubits, and the initialP7569PC00

[0168] state represented by the initial state data comprises at least one bit string of length n = N and Hamming weight k.

[0169] The first, second, and third predetermined gates are all of the form:

[0170]

[0171] U =

[0172] where T is either a single excitation gate or a double excitation gate. Using second quantization formalism, the single excitation gate is given by T = ajaj , where i is an occupied orbital and a is an unoccupied orbital and the second excitation gate is given by T = ajajajaj, where i,j are occupied orbitals and a,b are unoccupied orbitals. The final wave function Ansatz is then:

[0173] 20

[0174]

[0175] i

[0176] As evident from the equation, the final state represented by the data structure when the output data is determined has been through 20 sets of predetermined logic gate operations corresponding to twenty cycles of 104-106 as defined with reference to Fig.

[0177] 1. The HF denotes the Hartree Fock ground state represented by at least one bit string of length n = N and Hamming weight k in the simulation of present disclosure, wherein N is the total number of spin orbitals and k is equal to the number of occupied spin orbitals. Each set of first, second, third, ..., twentieth predetermined operators of the corresponding predetermined logic gate operations given by U = e-0^-1^) and then using Qubit-Excitation-Based (QEB) encoding, they may be expressed as sets of Pauli strings. The results of Figs. 5 and 6 are obtained with such encoding. Each predetermined gate preserves the length n = N and Hamming weight k of the at least one bit string representing the state as given by the wave function Ansatz above.

[0178] In the embodiments of Figs. 5 and 6, each of the twenty sets of predetermined operators are chosen on the basis of a method termed Fermionic Adaptive Sampling Theory for Variational Quantum Eigensolvers, see Phys. Rev. A 108, 052422 -Published 21 November, 2023 for more details.P7569PC00

[0179] According to this method, the set of predetermined operators are predetermined by evaluating an importance metric given by:

[0180]

[0181] Di&SW

[0182] Here S(k)denotes the multi-set of Slater determinants given by:

[0183]

[0184] where Dj denotes the Slater determinant, T*kdenotes the adaptive Anzatz,

[0185]

[0186] and denotes the skew-Hermitian operators acting on the Hamiltonian H given by:

[0187]

[0188] Where:

[0189] a G {x, y, z}.

[0190]

[0191] b

[0192] denotes a product of Pauli matrices, so that determining and using Pauli data in accordance with present disclosure is beneficial in present embodiments.

[0193] In Fig. 5, the y-axes 502 indicates time on a logarithmic scale and the x-axes 504 indicates the number of qubits, which is the same as the number of orbitals on the simulated molecule and the bit string length N of the at least one bit string representing the state. Each data set is obtained by measuring the time from initiation of operating 20 (sets of) excitation gates on the initial state to output of the expectation value of the energy of the resulting state, corresponding to steps 104-107 in Fig. 1. The output data being the expectation value is determined on the basis of the final state after 20 sets of gate operations with no deliberate errors introduced, corresponding to shots=None. The simulations on each simulator have been performed with two different chemical basis sets: STO-3G and PC-0 as indicated by the ending of each of the six labels. The two data sets represented by tilted squares and labelled “Excitation Gate Estimator 64”P7569PC00

[0194] represents results obtained by running a quantum simulation of present disclosure as described above. All the simulations have been performed on the same laptop. As observed in the diagram 500 of Fig. 5, significantly less time is spent on obtaining the expectation value for the energy of the molecules for all the measured values of N, and as N grows, the simulation of present disclosure becomes orders of magnitude faster than the prior art simulators. The other simulators are the Qiskit Aer v. 0.15.1 , labelled AER in Fig. 5; the Qiskit v. 1.3.1, labelled Qiskit in Fig. 5; and Amazon Braketv. 1.26.0, labelled Braket in Fig. 5.

[0195] Fig. 6 is similar to Fig. 5 with the same labels on the x-axes 604 and y-axes 602 and the results are obtained in a similar way. However, the results in the diagram 600 of Fig. 6 have been obtained with shots!=0 meaning that an error term similar to that encountered in physical quantum computers is introduced in the wave function as:

[0196]

[0197] The brighter of the small and big dots in Fig. 6 labelled “Excitation Gate Estimator ...”, respectively indicates the time results obtained with the quantum simulation of present disclosure. The “Qiskit StatevectorEstimator ...” labelled results are obtained using the Qiskit v. 1.3.1 simulator and all data sets are obtained on the same laptop. The quantum simulation of present disclosure obtains the expectation value for the energy of the molecules for all the measured values of N the fastest, and as N grows, the simulation of present disclosure becomes orders of magnitude faster than the prior art simulator.

[0198] Fig. 7 represents results of a further application of the quantum simulation of present disclosure. The problem represented at least in part by the received object data is one of placing umax(or k) cellular telecommunication towers on T (or N) potential sites in a manner that maximizes the number of addresses, A covered by the towers.

[0199] The classical optimization of achieving maximum coverage is in this case stated as:P7569PC00

[0200] maximize

[0201] ae4

[0202] subject to W > ca, Va € A,

[0203] t€Ta

[0204] «t < «max,

[0205] t€T

[0206] caG {0) 1} > ¥a € A,

[0207]

[0208] u.te {0, 1}, Vt e T:

[0209] where cais a binary variable for each address a e A, representing whether that address is covered or not, and utis a binary variable for each tower te T, representing whether the t tower is placed or not. Accordingly, the first sum refers to the total number of covered addresses, the second sum is the first constraint that at least one tower must be present for an address to be covered, and the third sum is the second constraint that the number of placed towers does not exceed a predetermined number. In this respect, umaxmay be said to correspond to the bit string Hamming weight k.

[0210] For the quantum simulation of this problem, we define initial state data representing a bit string of length N corresponding to the total number of potential tower sites T and a Hamming weight k corresponding to umax. Then we define the predetermined operators as:

[0211] cr j

[0212] U

[0213]

[0214] XYW j; '

[0215] which is a two-qubit gate (or two-bit operator) where (i, j) denotes the indices of a pair of qubits (or bits of the at least one bit string of the state), and oxand oyare the Pauli X and Y matrices, respectively. This gate can be rewritten as

[0216] 0 0\

[0217] — sin(0) 0

[0218] cos( ) 0

[0219]

[0220] 0 1 /

[0221] where operator act data may be determined and stored with precomputed values of sin(0) and cos(0) for each 0. The predetermined gates as above preserve the length nP7569PC00

[0222] and Hamming weight k of bit strings, which in this case corresponds to the total number of available tower sites T and the number of placed towers umax, respectively. The first predetermined operators are obtained by choosing a first random 0, and random sites (i, j) , the second predetermined operators with a new random 02and new random sites (i, j) , and the third with a new 03and new (i,j), and so forth. After each predetermined logic gate operation and storing of data structure - after the operation corresponding to steps 104-106 in Fig. 1 - the state represented by the at least one bit string is kept as the new state or rejected in accordance with an evaluation of the classical optimization strategy.

[0223] In this case, a newly generated state U(0) I ip is accepted according to:

[0224] 1, if AP > 0,

[0225] Paccept ■*

[0226]

[0227] exp (^-) , if AP < 0,

[0228] where paccept is a probability:

[0229] A

[0230]

[0231] P | — P»ew P current

[0232] and pnewand pcurrent are the new and current values of the objective function, respectively. P in present use case is the population of covered addresses. The temperature is here denoted as T and is not to be confused with the total number of potential tower sites T. The temperature is advantageously relatively high in the beginning of the optimization simulation and gradually decreased until the simulation stops.

[0233] Moreover, the second predetermined logic gate operations are performed on the data structure as stored before the first predetermined logic gate operations if the state is rejected by the classical optimization, while the second predetermined logic gate operations are performed on the data structure as stored after the first predetermined logic gate operations if the state is rejected by the classical optimization.

[0234] Fig. 7 illustrates a diagram 700 with results obtained from the quantum simulation of present disclosure for the coverage optimization as described above and the classical HiGHS solver. The quantum simulation is done for 18 qubits, which means that the bitP7569PC00

[0235] string length of the at least one bit string of the state n is also 18, and again the total number of potential tower sites T is also 18. The simulation is done with umax= 9, so 9 towers are placed among the 18 sites. Accordingly, the state is represented by at least one bit string of length n = 18 and Hamming weight k = 9 stored in the data structure as a fixed size contiguous memory slot. In Fig. 7, the vertical y-axis 702 counts time in seconds and the horizontal x-axis 704 counts the total number of addresses A to be covered by the 9 placed towers. The solid lines represent linear extrapolations of the results, while the shaded areas indicate the standard deviation of results. The dark gray line labelled HiGHS represents the results of the classical solver HiGHS and the light gray line labelled VQE represents the results of the quantum simulation of present disclosure as described above. For numbers of addresses covered less than around 10,000 the two simulations reach optimum solutions in similar amounts of time but for numbers of addresses around 11 ,000 and above, the quantum simulation of present disclosure is clearly faster.

Claims

P7569PC00Claims1. A computer-implemented method of performing a quantum simulation on at least one classical computing unit, wherein the at least one classical computing unit is configured to perform the steps of:- receiving object data representing at least one property of a simulation object, - performing the quantum simulation, comprising the steps of:- determining initial state data representing an initial state of a simulated quantum circuit on the basis of at least part of the object data, wherein the initial state data represents at least one bit string, the at least one bit string being of length n and Hamming weight k,- storing the data structure representing the initial state of the simulated quantum circuit, the data structure comprising at least one bit string, the at least one bit string being of length n and Hamming weight k, wherein the size of the data structure is determined at least in part on the basis of the number of possible bit strings of length n and Hamming weight k,- updating the data structure comprising the step of performing a first set of predetermined logic gate operations on the state of the simulated quantum circuit, comprising the further steps of:- operating at least one first predetermined operator on the at least one bit string of the state of the simulated quantum circuit, wherein each first predetermined operator is predetermined to preserve the bit string length n and the Hamming weight k,- storing the data structure representing the state of the simulated quantum circuit after operation of the first set of predetermined logic gate operations, - determining output data representing at least one property of the simulation object on the basis of at least part of the data structure.

2. The computer-implemented method of claim 1 , wherein the at least one classical computing unit is further configured to perform the steps of:- storing operator data representing for each first operator if it acts non-trivially on each of the bit strings of the at least one bit string of the state,- performing a second set of predetermined logic gate operations comprising operating at least one second predetermined operator on the at least one bit string of the state, wherein:P7569PC00- each predetermined second operator is predetermined to preserve the bit string length n and the Hamming weight k, and wherein- each predetermined second operator is operated on the data structure at least in part on the basis of the operator data, and the step of:- storing the data structure representing the state of the simulated quantum circuit after operation of the second set of predetermined logic gate operations.

3. The computer-implemented method of claim 1 or 2, wherein the at least one classical computing unit is further configured to perform the steps of:- storing operator data representing for each second operator if it acts non- trivially on each of the bit strings of the at least one bit string of the state, - performing a third set of predetermined logic gate operations comprising operating at least one third predetermined operator on the at least one bit string of the state, wherein:- each predetermined third operator is predetermined to preserve the bit string length n and the Hamming weight k, and wherein- each predetermined third operator is operated on the data structure at least in part on the basis of the operator data, and the step of:- storing the data structure representing the state of the simulated quantum circuit after operation of the third set of predetermined logic gate operations.

4. The computer-implemented method according to claim 2 or 3, wherein the operator data comprises data representing for each operator an index of what bit strings of the at least one bit string of the state it acts non-trivially on.

5. The computer-implemented method of any one of claims 2-4, wherein the at least one classical computing unit is further configured to perform the steps of: - receiving Hamiltonian data representing a Hamiltonian associated with the simulation object, wherein the Hamiltonian of the Hamiltonian data comprises a plurality of Pauli strings, each Pauli string comprising a plurality of X, Y, I and / or Z Pauli matrices,- determining for each Pauli string if it comprises at least one X and / or Y Pauli matrix,- storing Pauli data representing at least one Pauli string comprising at least one X and / or Y Pauli matrix,P7569PC00- determining output data representing at least one expectation value for at least one property of the simulation object, the output data being determined on the basis of at least part of the operator data, at least part of the data structure, at least part of the Hamiltonian data, and at least part of the Pauli data.

6. The computer-implemented method of claim 5, wherein the at least one classical computing unit is further configured to perform the steps of:- for each Pauli string comprising at least one X and / or Y Pauli matrix determining what bit positions each X and / or Y Pauli matrix acts on,- storing data comprised in the Pauli data representing the coordinates of each X and / or Y Pauli matrix in the at least one Pauli string, and- determining on the basis of at least part of the operator data and at least part of the Pauli data if for at least one Pauli string comprising at least one X and / or Y Pauli matrix, the first, second, and / or third set of predetermined logic gate operations has acted non-trivially on the at least one bit position of the at least one bit string of the state corresponding to the coordinate of the at least one X and / or Y Pauli matrix of the at least one Pauli string.

7. The computer-implemented method of any one of the preceding claims, wherein the at least one classical computing unit is further configured to perform the step of:- determining state index data representing at least an index of each bit string of the at least one bit string of the data structure.

8. The computer-implemented method of any one of the preceding claims, wherein the at least one classical computing unit is further configured to perform the step of storing the data structure representing the state at least in part as an array of fixed size contiguous physical memory.

9. The computer-implemented method of any one of the preceding claims, wherein the at least one classical computing unit is further configured to perform the step of storing operator act data comprising data representing what changes are imposed on at least one set of bits of the at least one bit string of the state by having at least some elements of a first, second, and / or third operator act on the at least one set of bits.P7569PC0010. The computer-implemented method of claim 9, wherein the at least one classical computing unit is further configured to perform the step of determining operator act data on the basis of acting at least some elements of the first, second, and / or third operator on at least one set of bits prior to operating the first, second, and / or third operator of the at least one bit string of the state.

11. The computer-implemented method of any one of the preceding claims, wherein the at least one bit string of the state comprises at least one coefficient, and wherein each coefficient is a real number.

12. The computer-implemented method of any one of the preceding claims, wherein at least one first, second, and / or third operator acts non-trivially on bit strings in groups of at least two, and wherein the method comprises the further steps of:- identifying a first bit string of the group by acting the at least one first, second and / or third operator on the at least one bit string of the state, and- identifying at least a second bit string of the group by running an XOR function with input comprising the first bit string of the group and input comprising a bit string comprising an even number, such as zero, at bit indices other than the bit indices the at least one first, second, and / or third operator acts non-trivially on, and comprising an uneven number, such as one, at bit indicies the at least one first, second, and / or third operator acts non-trivially on.

13. The computer-implemented method of any one of the preceding claims, comprising the further step of measuring at least one property of a physical object to be simulated as the simulation object, and wherein the object data represents at least the measured at least one property.

14. The computer-implemented method of any of the preceding claims, wherein the bit string of length n and Hamming weight k represents one or more structural, electronic, or spin properties of a configuration of a physical system, such as a molecule.P7569PC0015. The computer-implemented method of any of the preceding claims, wherein the method is for molecular screening, such as screening of drug candidates, ligand candidates, or protein targets, such as enzyme candidates.

16. The computer-implemented method of any of claims 15, wherein the molecular screening comprises ranking or selecting candidate molecules on the basis of the output data.

17. The computer-implemented method of any of the preceding claims, wherein the simulation object represents a protein, a ligand, or a protein-ligand complex.

18. The computer-implemented method of any of the preceding claims, further comprising the step of removing at least one bitstring of length n and Hamming weight k after at least one predetermined operator has acted on at least on bitstring of length n and Hamming weight k based on an amplitude associated with the at least one bit string.

19. The computer-implemented method of claim 18, wherein the step of removing the at least one bit string is based on the amplitude magnitude being below a predefined threshold and / or to reduce a total number of stored bit strings below a maximum allowable number of bit strings.

20. The computer-implemented method of any one of the preceding claims, wherein the computer-implemented method is a noisy simulation, the method further comprising the step of: selecting at least one operator at random and operating the at least one operator on an intermediate result of the at least one first, second, or third predetermined operator acting on the at least one bit string of length n and Hamming weight k.

21. The computer-implemented method of claim 20, wherein the output of the at least one operator selected at random acting on at least one bit string with length n and Hamming weight k comprises at least one bit string with length n and Hamming weight k.P7569PC0022. The computer-implemented method of claims 20-21 , wherein the computer- implemented method is repeated at least two times and the output of the at least two repetitions is combined into one output.

23. The computer-implemented method of any of claims 20-22, wherein the input of the computer-implemented method contains at least one property of a quantum computer.

24. The computer-implemented method of any of the preceding claims, wherein the method is for determining a reaction pathway or dynamical evolution of a physical or chemical system, each point along the reaction pathway being represented by object data corresponding to a configuration of the system.

25. The computer-implemented method of claim 24, wherein the configurations comprise one or more of the following: a reactant configuration, a bound ligandprotein configuration, one or more intermediate configurations, an unbound ligand-protein configuration, a transition state configuration, and a product configuration.

26. The computer-implemented method of any of claims 24-25, wherein the reaction pathway or the dynamical evolution corresponds to a ligand-protein unbinding process.

27. The computer-implemented method of any of claims 24-26, wherein for each configuration a bit string of length n and Hamming weight k is generated representing at least one or more of structural, electronic, or spin properties of the configuration.

28. The computer-implemented method of any of claims 24-27, wherein the output data determined for each configuration is provided as input to a reaction pathway method or to a method for simulating the dynamics of a system.

29. The computer-implemented method of any of the preceding claims, wherein the simulation object represents a protein, a ligand, or a protein-ligand complex.P7569PC0030. A method of modifying a physical object, such as a candidate molecule, based on output data determined according to any one of claims 1-29, the method comprising selecting and performing a structural modification of the physical object on the basis of the output data.

31. The method of claim 30, wherein the method is part of a molecular design or drug optimisation process.

32. A method of operating a physical quantum computing unit comprising the steps of:- performing the computer-implemented method of performing the quantum simulation according to any of the preceding claims,- determining initial physical state data at least in part on the basis of the determined output data of the quantum simulation, and- initialising the physical quantum computing unit at least in part on the basis of at least part of the initial physical state data.

33. A computer program product that facilitates a quantum simulation of at least one property of a simulation object on at least one classical computing unit, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions are executable by a processor to cause the processor to:- receive, by the processor, object data representing at least one property of a simulation object,- perform the quantum simulation, comprising the steps of:- determine, by the processor, initial state data representing an initial state of a simulated quantum circuit on the basis of at least part of the object data, wherein the initial state data represents at least one bit string, the at least one bit string being of length n and Hamming weight k,- determine, by the processor, a data structure representing the state of the simulated quantum circuit, the data structure comprising at least one bit string, the at least one bit string being of length n and Hamming weight k, wherein the size of the data structure is determined at least in part on the basis of the number of possible bit strings of length n and Hamming weight k,- update, by the processor, the data structure by at least performing a first setP7569PC00of predetermined logic gate operations on the state of the simulated quantum circuit, and by at least:- performing, by the processor, each logic gate operation by operating at least one first predetermined operator on the at least one bit string of the state of the simulated quantum circuit, wherein each first predetermined operator is predetermined to preserve the bit string length n and the Hamming weight k, and- determine, by the processor, output data representing at least one property of the simulation object on the basis of at least part of the data structure.

34. The computer program product of claim 33, wherein the program instructions further cause the processor to perform the steps of the method according to any one of claims 1-29.